Merge remote-tracking branch 'toybox/master' into HEAD

Change-Id: Id8974b50d3d8640a544b81f7cc99e569371fd214
diff --git a/.config-device b/.config-device
new file mode 100644
index 0000000..57fe20c
--- /dev/null
+++ b/.config-device
@@ -0,0 +1,357 @@
+#
+# Hand-maintained .config file.
+#
+
+#
+# General settings.
+#
+
+CONFIG_TOYBOX=y
+CONFIG_TOYBOX_CONTAINER=y
+# CONFIG_TOYBOX_DEBUG is not set
+CONFIG_TOYBOX_FALLOCATE=y
+CONFIG_TOYBOX_FIFREEZE=y
+CONFIG_TOYBOX_FLOAT=y
+CONFIG_TOYBOX_FORK=y
+# CONFIG_TOYBOX_FREE is not set
+# CONFIG_TOYBOX_GETRANDOM is not set
+CONFIG_TOYBOX_HELP_DASHDASH=y
+CONFIG_TOYBOX_HELP=y
+CONFIG_TOYBOX_I18N=y
+CONFIG_TOYBOX_ICONV=y
+CONFIG_TOYBOX_LIBCRYPTO=y
+CONFIG_TOYBOX_LIBZ=y
+# CONFIG_TOYBOX_LSM_NONE is not set
+# CONFIG_TOYBOX_MUSL_NOMMU_IS_BROKEN is not set
+CONFIG_TOYBOX_NORECURSE=y
+CONFIG_TOYBOX_ON_ANDROID=y
+CONFIG_TOYBOX_ANDROID_SCHEDPOLICY=y
+# CONFIG_TOYBOX_PEDANTIC_ARGS is not set
+CONFIG_TOYBOX_SELINUX=y
+# CONFIG_TOYBOX_SHADOW is not set
+# CONFIG_TOYBOX_SMACK is not set
+# CONFIG_TOYBOX_SUID is not set
+CONFIG_TOYBOX_UID_SYS=100
+CONFIG_TOYBOX_UID_USR=500
+# CONFIG_TOYBOX_UTMPX is not set
+
+#
+# Selected toys.
+#
+
+CONFIG_ACPI=y
+# CONFIG_ARCH is not set
+# CONFIG_ARPING is not set
+# CONFIG_ARP is not set
+# CONFIG_ASCII is not set
+# CONFIG_BASE32 is not set
+CONFIG_BASE64=y
+CONFIG_BASENAME=y
+# CONFIG_BC is not set
+CONFIG_BLKDISCARD=y
+CONFIG_BLKID=y
+CONFIG_BLOCKDEV=y
+# CONFIG_BOOTCHARTD is not set
+# CONFIG_BRCTL is not set
+# CONFIG_BUNZIP2 is not set
+# CONFIG_BZCAT is not set
+CONFIG_CAL=y
+# CONFIG_CATV is not set
+CONFIG_CAT_V=y
+CONFIG_CAT=y
+# CONFIG_CD is not set
+CONFIG_CHATTR=y
+CONFIG_CHCON=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+CONFIG_CHRT=y
+# CONFIG_CHVT is not set
+CONFIG_CKSUM=y
+CONFIG_CLEAR=y
+CONFIG_CMP=y
+CONFIG_COMM=y
+# CONFIG_COMPRESS is not set
+# CONFIG_COUNT is not set
+CONFIG_CPIO=y
+CONFIG_CP_MORE=y
+CONFIG_CP_PRESERVE=y
+CONFIG_CP=y
+# CONFIG_CRC32 is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_DD=y
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DEBUG_DHCP is not set
+# CONFIG_DECOMPRESS is not set
+# CONFIG_DEMO_MANY_OPTIONS is not set
+# CONFIG_DEMO_NUMBER is not set
+# CONFIG_DEMO_SCANKEY is not set
+# CONFIG_DEMO_UTF8TOWC is not set
+CONFIG_DEVMEM=y
+CONFIG_DF=y
+# CONFIG_DHCP6 is not set
+# CONFIG_DHCPD is not set
+# CONFIG_DHCP is not set
+CONFIG_DIFF=y
+CONFIG_DIRNAME=y
+CONFIG_DMESG=y
+# CONFIG_DNSDOMAINNAME is not set
+CONFIG_DOS2UNIX=y
+# CONFIG_DUMPLEASES is not set
+CONFIG_DU=y
+CONFIG_ECHO=y
+CONFIG_EGREP=y
+# CONFIG_EJECT is not set
+CONFIG_ENV=y
+# CONFIG_EXIT is not set
+CONFIG_EXPAND=y
+CONFIG_EXPR=y
+# CONFIG_FACTOR is not set
+CONFIG_FALLOCATE=y
+CONFIG_FALSE=y
+# CONFIG_FDISK is not set
+CONFIG_FGREP=y
+CONFIG_FILE=y
+CONFIG_FIND=y
+CONFIG_FLOCK=y
+CONFIG_FMT=y
+# CONFIG_FOLD is not set
+CONFIG_FREERAMDISK=y
+CONFIG_FREE=y
+# CONFIG_FSCK is not set
+CONFIG_FSFREEZE=y
+# CONFIG_FSTYPE is not set
+CONFIG_FSYNC=y
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_GETCONF=y
+CONFIG_GETENFORCE=y
+CONFIG_GETFATTR=y
+CONFIG_GETOPT=y
+# CONFIG_GETTY is not set
+CONFIG_GREP=y
+# CONFIG_GROUPADD is not set
+# CONFIG_GROUPDEL is not set
+CONFIG_GROUPS=y
+CONFIG_GUNZIP=y
+CONFIG_GZIP=y
+CONFIG_HEAD=y
+# CONFIG_HELLO is not set
+CONFIG_HELP_EXTRAS=y
+CONFIG_HELP=y
+# CONFIG_HEXEDIT is not set
+# CONFIG_HOSTID is not set
+# CONFIG_HOST is not set
+CONFIG_HOSTNAME=y
+CONFIG_HWCLOCK=y
+CONFIG_I2CDETECT=y
+CONFIG_I2CDUMP=y
+CONFIG_I2CGET=y
+CONFIG_I2CSET=y
+CONFIG_ICONV=y
+CONFIG_ID=y
+CONFIG_ID_Z=y
+CONFIG_IFCONFIG=y
+# CONFIG_INIT is not set
+CONFIG_INOTIFYD=y
+CONFIG_INSMOD=y
+CONFIG_INSTALL=y
+CONFIG_IONICE=y
+CONFIG_IORENICE=y
+CONFIG_IOTOP=y
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+# CONFIG_IP is not set
+# CONFIG_KILLALL5 is not set
+CONFIG_KILLALL=y
+CONFIG_KILL=y
+# CONFIG_KLOGD is not set
+# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
+# CONFIG_LAST is not set
+# CONFIG_LINK is not set
+CONFIG_LN=y
+CONFIG_LOAD_POLICY=y
+# CONFIG_LOGGER is not set
+# CONFIG_LOGIN is not set
+CONFIG_LOGNAME=y
+CONFIG_LOG=y
+# CONFIG_LOGWRAPPER is not set
+CONFIG_LOSETUP=y
+CONFIG_LSATTR=y
+CONFIG_LS_COLOR=y
+CONFIG_LSMOD=y
+CONFIG_LSOF=y
+CONFIG_LSPCI=y
+# CONFIG_LSPCI_TEXT is not set
+CONFIG_LSUSB=y
+CONFIG_LS=y
+CONFIG_LS_Z=y
+CONFIG_MAKEDEVS=y
+# CONFIG_MAN is not set
+# CONFIG_MCOOKIE is not set
+CONFIG_MD5SUM=y
+# CONFIG_MDEV_CONF is not set
+# CONFIG_MDEV is not set
+CONFIG_MICROCOM=y
+# CONFIG_MIX is not set
+CONFIG_MKDIR=y
+CONFIG_MKDIR_Z=y
+# CONFIG_MKE2FS_EXTENDED is not set
+# CONFIG_MKE2FS_GEN is not set
+# CONFIG_MKE2FS is not set
+# CONFIG_MKE2FS_JOURNAL is not set
+# CONFIG_MKE2FS_LABEL is not set
+CONFIG_MKFIFO=y
+CONFIG_MKFIFO_Z=y
+CONFIG_MKNOD=y
+CONFIG_MKNOD=y
+CONFIG_MKNOD_Z=y
+# CONFIG_MKPASSWD is not set
+CONFIG_MKSWAP=y
+CONFIG_MKTEMP=y
+CONFIG_MODINFO=y
+CONFIG_MODPROBE=y
+CONFIG_MORE=y
+CONFIG_MOUNTPOINT=y
+CONFIG_MOUNT=y
+CONFIG_MV_MORE=y
+CONFIG_MV=y
+CONFIG_NBD_CLIENT=y
+CONFIG_NETCAT_LISTEN=y
+CONFIG_NETCAT=y
+CONFIG_NETSTAT=y
+CONFIG_NICE=y
+CONFIG_NL=y
+CONFIG_NOHUP=y
+CONFIG_NPROC=y
+CONFIG_NSENTER=y
+CONFIG_OD=y
+# CONFIG_ONEIT is not set
+# CONFIG_OPENVT is not set
+CONFIG_PARTPROBE=y
+# CONFIG_PASSWD is not set
+CONFIG_PASTE=y
+CONFIG_PATCH=y
+CONFIG_PGREP=y
+CONFIG_PIDOF=y
+CONFIG_PING=y
+CONFIG_PING6=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_PKILL=y
+CONFIG_PMAP=y
+CONFIG_PRINTENV=y
+CONFIG_PRINTF=y
+CONFIG_PS=y
+CONFIG_PWDX=y
+CONFIG_PWD=y
+# CONFIG_PWGEN is not set
+# CONFIG_READAHEAD is not set
+CONFIG_READELF=y
+CONFIG_READLINK=y
+CONFIG_REALPATH=y
+# CONFIG_REBOOT is not set
+CONFIG_RENICE=y
+# CONFIG_RESET is not set
+CONFIG_RESTORECON=y
+CONFIG_REV=y
+CONFIG_RFKILL=y
+CONFIG_RMDIR=y
+CONFIG_RMMOD=y
+CONFIG_RM=y
+# CONFIG_ROUTE is not set
+CONFIG_RTCWAKE=y
+CONFIG_RUNCON=y
+CONFIG_SED=y
+CONFIG_SENDEVENT=y
+CONFIG_SEQ=y
+CONFIG_SETENFORCE=y
+CONFIG_SETFATTR=y
+CONFIG_SETSID=y
+CONFIG_SHA1SUM=y
+CONFIG_SHA224SUM=y
+CONFIG_SHA256SUM=y
+# CONFIG_SHA3SUM is not set
+CONFIG_SHA384SUM=y
+CONFIG_SHA512SUM=y
+# CONFIG_SH is not set
+# CONFIG_SHRED is not set
+# CONFIG_SKELETON_ALIAS is not set
+# CONFIG_SKELETON is not set
+CONFIG_SLEEP_FLOAT=y
+CONFIG_SLEEP=y
+# CONFIG_SNTP is not set
+CONFIG_SORT_BIG=y
+CONFIG_SORT_FLOAT=y
+CONFIG_SORT=y
+CONFIG_SPLIT=y
+CONFIG_STAT=y
+CONFIG_STRINGS=y
+CONFIG_STTY=y
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+CONFIG_SWAPOFF=y
+CONFIG_SWAPON=y
+# CONFIG_SWITCH_ROOT is not set
+CONFIG_SYNC=y
+CONFIG_SYSCTL=y
+# CONFIG_SYSLOGD is not set
+CONFIG_TAC=y
+CONFIG_TAIL_SEEK=y
+CONFIG_TAIL=y
+CONFIG_TAR=y
+CONFIG_TASKSET=y
+CONFIG_TASKSET=y
+# CONFIG_TCPSVD is not set
+CONFIG_TEE=y
+# CONFIG_TELNETD is not set
+# CONFIG_TELNET is not set
+CONFIG_TEST=y
+# CONFIG_TFTPD is not set
+# CONFIG_TFTP is not set
+CONFIG_TIMEOUT=y
+CONFIG_TIME=y
+CONFIG_TOP=y
+CONFIG_TOUCH=y
+CONFIG_TRACEROUTE=y
+CONFIG_TRUE=y
+CONFIG_TRUNCATE=y
+CONFIG_TR=y
+# CONFIG_TTOP is not set
+CONFIG_TTY=y
+CONFIG_TUNCTL=y
+CONFIG_ULIMIT=y
+CONFIG_UMOUNT=y
+CONFIG_UNAME=y
+# CONFIG_UNICODE is not set
+CONFIG_UNIQ=y
+CONFIG_UNIX2DOS=y
+CONFIG_UNLINK=y
+CONFIG_UNSHARE=y
+CONFIG_UPTIME=y
+# CONFIG_USERADD is not set
+# CONFIG_USERDEL is not set
+CONFIG_USLEEP=y
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_UUIDGEN=y
+CONFIG_VCONFIG=y
+CONFIG_VI=y
+CONFIG_VMSTAT=y
+CONFIG_WATCH=y
+# CONFIG_WATCHDOG is not set
+CONFIG_WC=y
+# CONFIG_WGET is not set
+CONFIG_WHICH=y
+CONFIG_WHOAMI=y
+# CONFIG_WHO is not set
+# CONFIG_W is not set
+# CONFIG_XARGS_PEDANTIC is not set
+CONFIG_XARGS=y
+CONFIG_XXD=y
+# CONFIG_XZCAT is not set
+CONFIG_YES=y
+CONFIG_ZCAT=y
diff --git a/.config-linux b/.config-linux
new file mode 100644
index 0000000..f8ec411
--- /dev/null
+++ b/.config-linux
@@ -0,0 +1,346 @@
+#
+# Hand-maintained .config file.
+#
+
+#
+# General settings.
+#
+
+# CONFIG_TOYBOX_ANDROID_SCHEDPOLICY is not set
+# CONFIG_TOYBOX_CONTAINER is not set
+# CONFIG_TOYBOX_DEBUG is not set
+# CONFIG_TOYBOX_FALLOCATE is not set
+# CONFIG_TOYBOX_FIFREEZE is not set
+CONFIG_TOYBOX_FLOAT=y
+CONFIG_TOYBOX_FORK=y
+# CONFIG_TOYBOX_FREE is not set
+# CONFIG_TOYBOX_GETRANDOM is not set
+CONFIG_TOYBOX_HELP_DASHDASH=y
+CONFIG_TOYBOX_HELP=y
+CONFIG_TOYBOX_I18N=y
+CONFIG_TOYBOX_ICONV=y
+CONFIG_TOYBOX_LIBCRYPTO=y
+CONFIG_TOYBOX_LIBZ=y
+CONFIG_TOYBOX_LSM_NONE=y
+# CONFIG_TOYBOX_MUSL_NOMMU_IS_BROKEN is not set
+# CONFIG_TOYBOX_NORECURSE is not set
+# CONFIG_TOYBOX_ON_ANDROID is not set
+# CONFIG_TOYBOX_PEDANTIC_ARGS is not set
+# CONFIG_TOYBOX_PRLIMIT is not set
+# CONFIG_TOYBOX_SELINUX is not set
+# CONFIG_TOYBOX_SHADOW is not set
+# CONFIG_TOYBOX_SMACK is not set
+CONFIG_TOYBOX_SUID=y
+CONFIG_TOYBOX_UID_SYS=100
+CONFIG_TOYBOX_UID_USR=500
+# CONFIG_TOYBOX_UTMPX is not set
+CONFIG_TOYBOX=y
+
+#
+# Selected toys.
+#
+
+# CONFIG_ACPI is not set
+# CONFIG_ARCH is not set
+# CONFIG_ARPING is not set
+# CONFIG_ARP is not set
+# CONFIG_ASCII is not set
+# CONFIG_BASE32 is not set
+# CONFIG_BASE64 is not set
+CONFIG_BASENAME=y
+# CONFIG_BC is not set
+# CONFIG_BLKDISCARD is not set
+# CONFIG_BLKID is not set
+# CONFIG_BLOCKDEV is not set
+# CONFIG_BOOTCHARTD is not set
+# CONFIG_BRCTL is not set
+# CONFIG_BUNZIP2 is not set
+# CONFIG_BZCAT is not set
+# CONFIG_CAL is not set
+# CONFIG_CATV is not set
+CONFIG_CAT_V=y
+CONFIG_CAT=y
+# CONFIG_CD is not set
+# CONFIG_CHATTR is not set
+# CONFIG_CHCON is not set
+# CONFIG_CHGRP is not set
+CONFIG_CHMOD=y
+# CONFIG_CHOWN is not set
+# CONFIG_CHROOT is not set
+# CONFIG_CHRT is not set
+# CONFIG_CHVT is not set
+# CONFIG_CKSUM is not set
+# CONFIG_CLEAR is not set
+CONFIG_CMP=y
+CONFIG_COMM=y
+# CONFIG_COUNT is not set
+CONFIG_CPIO=y
+CONFIG_CP_PRESERVE=y
+CONFIG_CP=y
+# CONFIG_CRC32 is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_DD=y
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DEBUG_DHCP is not set
+# CONFIG_DEMO_MANY_OPTIONS is not set
+# CONFIG_DEMO_NUMBER is not set
+# CONFIG_DEMO_SCANKEY is not set
+# CONFIG_DEMO_UTF8TOWC is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_DF is not set
+# CONFIG_DHCP6 is not set
+# CONFIG_DHCPD is not set
+# CONFIG_DHCP is not set
+CONFIG_DIFF=y
+CONFIG_DIRNAME=y
+# CONFIG_DMESG is not set
+# CONFIG_DNSDOMAINNAME is not set
+CONFIG_DOS2UNIX=y
+# CONFIG_DUMPLEASES is not set
+CONFIG_DU=y
+CONFIG_ECHO=y
+CONFIG_EGREP=y
+# CONFIG_EJECT is not set
+CONFIG_ENV=y
+# CONFIG_EXIT is not set
+# CONFIG_EXPAND is not set
+CONFIG_EXPR=y
+# CONFIG_FACTOR is not set
+# CONFIG_FALLOCATE is not set
+# CONFIG_FALSE is not set
+# CONFIG_FDISK is not set
+CONFIG_FGREP=y
+# CONFIG_FILE is not set
+CONFIG_FIND=y
+# CONFIG_FLOCK is not set
+# CONFIG_FMT is not set
+# CONFIG_FOLD is not set
+# CONFIG_FREE is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK is not set
+# CONFIG_FSFREEZE is not set
+# CONFIG_FSTYPE is not set
+# CONFIG_FSYNC is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_GETCONF=y
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETFATTR is not set
+CONFIG_GETOPT=y
+# CONFIG_GETTY is not set
+CONFIG_GREP=y
+# CONFIG_GROUPADD is not set
+# CONFIG_GROUPDEL is not set
+# CONFIG_GROUPS is not set
+# CONFIG_GUNZIP is not set
+CONFIG_GZIP=y
+CONFIG_HEAD=y
+# CONFIG_HELLO is not set
+# CONFIG_HELP_EXTRAS is not set
+# CONFIG_HELP is not set
+# CONFIG_HEXEDIT is not set
+# CONFIG_HOSTID is not set
+# CONFIG_HOST is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HWCLOCK is not set
+# CONFIG_I2CDETECT is not set
+# CONFIG_I2CDUMP is not set
+# CONFIG_I2CGET is not set
+# CONFIG_I2CSET is not set
+# CONFIG_ICONV is not set
+CONFIG_ID=y
+# CONFIG_ID_Z is not set
+# CONFIG_IFCONFIG is not set
+# CONFIG_INIT is not set
+# CONFIG_INOTIFYD is not set
+# CONFIG_INSMOD is not set
+# CONFIG_INSTALL is not set
+# CONFIG_IONICE is not set
+# CONFIG_IORENICE is not set
+# CONFIG_IOTOP is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+# CONFIG_IP is not set
+# CONFIG_KILLALL5 is not set
+# CONFIG_KILLALL is not set
+# CONFIG_KILL is not set
+# CONFIG_KLOGD is not set
+# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
+# CONFIG_LAST is not set
+# CONFIG_LINK is not set
+CONFIG_LN=y
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_LOGGER is not set
+# CONFIG_LOGIN is not set
+# CONFIG_LOG is not set
+# CONFIG_LOGNAME is not set
+# CONFIG_LOGWRAPPER is not set
+# CONFIG_LOSETUP is not set
+# CONFIG_LSATTR is not set
+# CONFIG_LSMOD is not set
+# CONFIG_LSOF is not set
+# CONFIG_LSPCI is not set
+# CONFIG_LSPCI_TEXT is not set
+# CONFIG_LSUSB is not set
+CONFIG_LS=y
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MAN is not set
+# CONFIG_MCOOKIE is not set
+CONFIG_MD5SUM=y
+# CONFIG_MDEV_CONF is not set
+# CONFIG_MDEV is not set
+CONFIG_MICROCOM=y
+# CONFIG_MIX is not set
+CONFIG_MKDIR=y
+# CONFIG_MKDIR_Z is not set
+# CONFIG_MKE2FS_EXTENDED is not set
+# CONFIG_MKE2FS_GEN is not set
+# CONFIG_MKE2FS is not set
+# CONFIG_MKE2FS_JOURNAL is not set
+# CONFIG_MKE2FS_LABEL is not set
+# CONFIG_MKFIFO is not set
+# CONFIG_MKFIFO_Z is not set
+# CONFIG_MKNOD is not set
+# CONFIG_MKNOD_Z is not set
+# CONFIG_MKPASSWD is not set
+# CONFIG_MKSWAP is not set
+CONFIG_MKTEMP=y
+# CONFIG_MODINFO is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_MORE is not set
+# CONFIG_MOUNT is not set
+# CONFIG_MOUNTPOINT is not set
+CONFIG_MV=y
+# CONFIG_NBD_CLIENT is not set
+# CONFIG_NETCAT is not set
+# CONFIG_NETCAT_LISTEN is not set
+# CONFIG_NETSTAT is not set
+# CONFIG_NICE is not set
+CONFIG_NL=y
+# CONFIG_NOHUP is not set
+CONFIG_NPROC=y
+# CONFIG_NSENTER is not set
+CONFIG_OD=y
+# CONFIG_ONEIT is not set
+# CONFIG_OPENVT is not set
+# CONFIG_PARTPROBE is not set
+# CONFIG_PASSWD is not set
+# CONFIG_PASSWD_SAD is not set
+CONFIG_PASTE=y
+CONFIG_PATCH=y
+CONFIG_PGREP=y
+# CONFIG_PIDOF is not set
+# CONFIG_PING is not set
+# CONFIG_PIVOT_ROOT is not set
+CONFIG_PKILL=y
+# CONFIG_PMAP is not set
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PS=y
+# CONFIG_PWDX is not set
+CONFIG_PWD=y
+# CONFIG_PWGEN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_READELF is not set
+CONFIG_READLINK=y
+CONFIG_REALPATH=y
+# CONFIG_REBOOT is not set
+# CONFIG_RENICE is not set
+# CONFIG_RESET is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_REV is not set
+# CONFIG_RFKILL is not set
+CONFIG_RMDIR=y
+# CONFIG_RMMOD is not set
+CONFIG_RM=y
+# CONFIG_ROUTE is not set
+# CONFIG_RTCWAKE is not set
+# CONFIG_RUNCON is not set
+CONFIG_SED=y
+# CONFIG_SENDEVENT is not set
+CONFIG_SEQ=y
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFATTR is not set
+CONFIG_SETSID=y
+CONFIG_SHA1SUM=y
+# CONFIG_SHA224SUM is not set
+CONFIG_SHA256SUM=y
+# CONFIG_SHA3SUM is not set
+# CONFIG_SHA384SUM is not set
+CONFIG_SHA512SUM=y
+# CONFIG_SH is not set
+# CONFIG_SHRED is not set
+# CONFIG_SKELETON_ALIAS is not set
+# CONFIG_SKELETON is not set
+CONFIG_SLEEP=y
+# CONFIG_SNTP is not set
+CONFIG_SORT_FLOAT=y
+CONFIG_SORT=y
+# CONFIG_SPLIT is not set
+CONFIG_STAT=y
+# CONFIG_STRINGS is not set
+# CONFIG_STTY is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_SWAPOFF is not set
+# CONFIG_SWAPON is not set
+# CONFIG_SWITCH_ROOT is not set
+# CONFIG_SYNC is not set
+# CONFIG_SYSCTL is not set
+# CONFIG_SYSLOGD is not set
+# CONFIG_TAC is not set
+CONFIG_TAIL=y
+CONFIG_TAR=y
+# CONFIG_TASKSET is not set
+# CONFIG_TCPSVD is not set
+CONFIG_TEE=y
+# CONFIG_TELNETD is not set
+# CONFIG_TELNET is not set
+CONFIG_TEST=y
+# CONFIG_TFTPD is not set
+# CONFIG_TFTP is not set
+# CONFIG_TIME is not set
+CONFIG_TIMEOUT=y
+# CONFIG_TOP is not set
+CONFIG_TOUCH=y
+# CONFIG_TRACEROUTE is not set
+CONFIG_TRUE=y
+CONFIG_TRUNCATE=y
+CONFIG_TR=y
+# CONFIG_TTY is not set
+# CONFIG_TUNCTL is not set
+# CONFIG_ULIMIT is not set
+# CONFIG_UMOUNT is not set
+CONFIG_UNAME=y
+# CONFIG_UNICODE is not set
+CONFIG_UNIQ=y
+CONFIG_UNIX2DOS=y
+# CONFIG_UNLINK is not set
+# CONFIG_UNSHARE is not set
+# CONFIG_UPTIME is not set
+# CONFIG_USERADD is not set
+# CONFIG_USERDEL is not set
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+# CONFIG_UUIDGEN is not set
+# CONFIG_VCONFIG is not set
+# CONFIG_VI is not set
+# CONFIG_VMSTAT is not set
+# CONFIG_WATCH is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_WC=y
+# CONFIG_WGET is not set
+CONFIG_WHICH=y
+CONFIG_WHOAMI=y
+# CONFIG_WHO is not set
+# CONFIG_W is not set
+# CONFIG_XARGS_PEDANTIC is not set
+CONFIG_XARGS=y
+CONFIG_XXD=y
+# CONFIG_XZCAT is not set
+# CONFIG_YES is not set
+CONFIG_ZCAT=y
diff --git a/.config-mac b/.config-mac
new file mode 100644
index 0000000..a419353
--- /dev/null
+++ b/.config-mac
@@ -0,0 +1,346 @@
+#
+# Hand-maintained .config file.
+#
+
+#
+# General settings.
+#
+
+# CONFIG_TOYBOX_ANDROID_SCHEDPOLICY is not set
+# CONFIG_TOYBOX_CONTAINER is not set
+# CONFIG_TOYBOX_DEBUG is not set
+# CONFIG_TOYBOX_FALLOCATE is not set
+# CONFIG_TOYBOX_FIFREEZE is not set
+CONFIG_TOYBOX_FLOAT=y
+CONFIG_TOYBOX_FORK=y
+# CONFIG_TOYBOX_FREE is not set
+# CONFIG_TOYBOX_GETRANDOM is not set
+CONFIG_TOYBOX_HELP_DASHDASH=y
+CONFIG_TOYBOX_HELP=y
+CONFIG_TOYBOX_I18N=y
+CONFIG_TOYBOX_ICONV=y
+CONFIG_TOYBOX_LIBCRYPTO=y
+CONFIG_TOYBOX_LIBZ=y
+CONFIG_TOYBOX_LSM_NONE=y
+# CONFIG_TOYBOX_MUSL_NOMMU_IS_BROKEN is not set
+# CONFIG_TOYBOX_NORECURSE is not set
+# CONFIG_TOYBOX_ON_ANDROID is not set
+# CONFIG_TOYBOX_PEDANTIC_ARGS is not set
+# CONFIG_TOYBOX_PRLIMIT is not set
+# CONFIG_TOYBOX_SELINUX is not set
+# CONFIG_TOYBOX_SHADOW is not set
+# CONFIG_TOYBOX_SMACK is not set
+CONFIG_TOYBOX_SUID=y
+CONFIG_TOYBOX_UID_SYS=100
+CONFIG_TOYBOX_UID_USR=500
+# CONFIG_TOYBOX_UTMPX is not set
+CONFIG_TOYBOX=y
+
+#
+# Selected toys.
+#
+
+# CONFIG_ACPI is not set
+# CONFIG_ARCH is not set
+# CONFIG_ARPING is not set
+# CONFIG_ARP is not set
+# CONFIG_ASCII is not set
+# CONFIG_BASE32 is not set
+# CONFIG_BASE64 is not set
+CONFIG_BASENAME=y
+# CONFIG_BC is not set
+# CONFIG_BLKDISCARD is not set
+# CONFIG_BLKID is not set
+# CONFIG_BLOCKDEV is not set
+# CONFIG_BOOTCHARTD is not set
+# CONFIG_BRCTL is not set
+# CONFIG_BUNZIP2 is not set
+# CONFIG_BZCAT is not set
+# CONFIG_CAL is not set
+# CONFIG_CATV is not set
+CONFIG_CAT_V=y
+CONFIG_CAT=y
+# CONFIG_CD is not set
+# CONFIG_CHATTR is not set
+# CONFIG_CHCON is not set
+# CONFIG_CHGRP is not set
+CONFIG_CHMOD=y
+# CONFIG_CHOWN is not set
+# CONFIG_CHROOT is not set
+# CONFIG_CHRT is not set
+# CONFIG_CHVT is not set
+# CONFIG_CKSUM is not set
+# CONFIG_CLEAR is not set
+CONFIG_CMP=y
+CONFIG_COMM=y
+# CONFIG_COUNT is not set
+CONFIG_CPIO=y
+CONFIG_CP_PRESERVE=y
+CONFIG_CP=y
+# CONFIG_CRC32 is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_DD=y
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DEBUG_DHCP is not set
+# CONFIG_DEMO_MANY_OPTIONS is not set
+# CONFIG_DEMO_NUMBER is not set
+# CONFIG_DEMO_SCANKEY is not set
+# CONFIG_DEMO_UTF8TOWC is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_DF is not set
+# CONFIG_DHCP6 is not set
+# CONFIG_DHCPD is not set
+# CONFIG_DHCP is not set
+CONFIG_DIFF=y
+CONFIG_DIRNAME=y
+# CONFIG_DMESG is not set
+# CONFIG_DNSDOMAINNAME is not set
+CONFIG_DOS2UNIX=y
+# CONFIG_DUMPLEASES is not set
+CONFIG_DU=y
+CONFIG_ECHO=y
+CONFIG_EGREP=y
+# CONFIG_EJECT is not set
+CONFIG_ENV=y
+# CONFIG_EXIT is not set
+# CONFIG_EXPAND is not set
+CONFIG_EXPR=y
+# CONFIG_FACTOR is not set
+# CONFIG_FALLOCATE is not set
+# CONFIG_FALSE is not set
+# CONFIG_FDISK is not set
+CONFIG_FGREP=y
+# CONFIG_FILE is not set
+CONFIG_FIND=y
+# CONFIG_FLOCK is not set
+# CONFIG_FMT is not set
+# CONFIG_FOLD is not set
+# CONFIG_FREE is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK is not set
+# CONFIG_FSFREEZE is not set
+# CONFIG_FSTYPE is not set
+# CONFIG_FSYNC is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_GETCONF=y
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETFATTR is not set
+CONFIG_GETOPT=y
+# CONFIG_GETTY is not set
+CONFIG_GREP=y
+# CONFIG_GROUPADD is not set
+# CONFIG_GROUPDEL is not set
+# CONFIG_GROUPS is not set
+# CONFIG_GUNZIP is not set
+CONFIG_GZIP=y
+CONFIG_HEAD=y
+# CONFIG_HELLO is not set
+# CONFIG_HELP_EXTRAS is not set
+# CONFIG_HELP is not set
+# CONFIG_HEXEDIT is not set
+# CONFIG_HOSTID is not set
+# CONFIG_HOST is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HWCLOCK is not set
+# CONFIG_I2CDETECT is not set
+# CONFIG_I2CDUMP is not set
+# CONFIG_I2CGET is not set
+# CONFIG_I2CSET is not set
+# CONFIG_ICONV is not set
+CONFIG_ID=y
+# CONFIG_ID_Z is not set
+# CONFIG_IFCONFIG is not set
+# CONFIG_INIT is not set
+# CONFIG_INOTIFYD is not set
+# CONFIG_INSMOD is not set
+# CONFIG_INSTALL is not set
+# CONFIG_IONICE is not set
+# CONFIG_IORENICE is not set
+# CONFIG_IOTOP is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+# CONFIG_IP is not set
+# CONFIG_KILLALL5 is not set
+# CONFIG_KILLALL is not set
+# CONFIG_KILL is not set
+# CONFIG_KLOGD is not set
+# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
+# CONFIG_LAST is not set
+# CONFIG_LINK is not set
+CONFIG_LN=y
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_LOGGER is not set
+# CONFIG_LOGIN is not set
+# CONFIG_LOG is not set
+# CONFIG_LOGNAME is not set
+# CONFIG_LOGWRAPPER is not set
+# CONFIG_LOSETUP is not set
+# CONFIG_LSATTR is not set
+# CONFIG_LSMOD is not set
+# CONFIG_LSOF is not set
+# CONFIG_LSPCI is not set
+# CONFIG_LSPCI_TEXT is not set
+# CONFIG_LSUSB is not set
+CONFIG_LS=y
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MAN is not set
+# CONFIG_MCOOKIE is not set
+CONFIG_MD5SUM=y
+# CONFIG_MDEV_CONF is not set
+# CONFIG_MDEV is not set
+CONFIG_MICROCOM=y
+# CONFIG_MIX is not set
+CONFIG_MKDIR=y
+# CONFIG_MKDIR_Z is not set
+# CONFIG_MKE2FS_EXTENDED is not set
+# CONFIG_MKE2FS_GEN is not set
+# CONFIG_MKE2FS is not set
+# CONFIG_MKE2FS_JOURNAL is not set
+# CONFIG_MKE2FS_LABEL is not set
+# CONFIG_MKFIFO is not set
+# CONFIG_MKFIFO_Z is not set
+# CONFIG_MKNOD is not set
+# CONFIG_MKNOD_Z is not set
+# CONFIG_MKPASSWD is not set
+# CONFIG_MKSWAP is not set
+CONFIG_MKTEMP=y
+# CONFIG_MODINFO is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_MORE is not set
+# CONFIG_MOUNT is not set
+# CONFIG_MOUNTPOINT is not set
+CONFIG_MV=y
+# CONFIG_NBD_CLIENT is not set
+# CONFIG_NETCAT is not set
+# CONFIG_NETCAT_LISTEN is not set
+# CONFIG_NETSTAT is not set
+# CONFIG_NICE is not set
+CONFIG_NL=y
+# CONFIG_NOHUP is not set
+# CONFIG_NPROC is not set
+# CONFIG_NSENTER is not set
+CONFIG_OD=y
+# CONFIG_ONEIT is not set
+# CONFIG_OPENVT is not set
+# CONFIG_PARTPROBE is not set
+# CONFIG_PASSWD is not set
+# CONFIG_PASSWD_SAD is not set
+CONFIG_PASTE=y
+CONFIG_PATCH=y
+# CONFIG_PGREP is not set
+# CONFIG_PIDOF is not set
+# CONFIG_PING is not set
+# CONFIG_PIVOT_ROOT is not set
+# CONFIG_PKILL is not set
+# CONFIG_PMAP is not set
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+# CONFIG_PS is not set
+# CONFIG_PWDX is not set
+CONFIG_PWD=y
+# CONFIG_PWGEN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_READELF is not set
+CONFIG_READLINK=y
+CONFIG_REALPATH=y
+# CONFIG_REBOOT is not set
+# CONFIG_RENICE is not set
+# CONFIG_RESET is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_REV is not set
+# CONFIG_RFKILL is not set
+CONFIG_RMDIR=y
+# CONFIG_RMMOD is not set
+CONFIG_RM=y
+# CONFIG_ROUTE is not set
+# CONFIG_RTCWAKE is not set
+# CONFIG_RUNCON is not set
+CONFIG_SED=y
+# CONFIG_SENDEVENT is not set
+CONFIG_SEQ=y
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFATTR is not set
+CONFIG_SETSID=y
+CONFIG_SHA1SUM=y
+# CONFIG_SHA224SUM is not set
+CONFIG_SHA256SUM=y
+# CONFIG_SHA3SUM is not set
+# CONFIG_SHA384SUM is not set
+CONFIG_SHA512SUM=y
+# CONFIG_SH is not set
+# CONFIG_SHRED is not set
+# CONFIG_SKELETON_ALIAS is not set
+# CONFIG_SKELETON is not set
+CONFIG_SLEEP=y
+# CONFIG_SNTP is not set
+CONFIG_SORT_FLOAT=y
+CONFIG_SORT=y
+# CONFIG_SPLIT is not set
+CONFIG_STAT=y
+# CONFIG_STRINGS is not set
+# CONFIG_STTY is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_SWAPOFF is not set
+# CONFIG_SWAPON is not set
+# CONFIG_SWITCH_ROOT is not set
+# CONFIG_SYNC is not set
+# CONFIG_SYSCTL is not set
+# CONFIG_SYSLOGD is not set
+# CONFIG_TAC is not set
+CONFIG_TAIL=y
+CONFIG_TAR=y
+# CONFIG_TASKSET is not set
+# CONFIG_TCPSVD is not set
+CONFIG_TEE=y
+# CONFIG_TELNETD is not set
+# CONFIG_TELNET is not set
+CONFIG_TEST=y
+# CONFIG_TFTPD is not set
+# CONFIG_TFTP is not set
+# CONFIG_TIME is not set
+CONFIG_TIMEOUT=y
+# CONFIG_TOP is not set
+CONFIG_TOUCH=y
+# CONFIG_TRACEROUTE is not set
+CONFIG_TRUE=y
+CONFIG_TRUNCATE=y
+CONFIG_TR=y
+# CONFIG_TTY is not set
+# CONFIG_TUNCTL is not set
+# CONFIG_ULIMIT is not set
+# CONFIG_UMOUNT is not set
+CONFIG_UNAME=y
+# CONFIG_UNICODE is not set
+CONFIG_UNIQ=y
+CONFIG_UNIX2DOS=y
+# CONFIG_UNLINK is not set
+# CONFIG_UNSHARE is not set
+# CONFIG_UPTIME is not set
+# CONFIG_USERADD is not set
+# CONFIG_USERDEL is not set
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+# CONFIG_UUIDGEN is not set
+# CONFIG_VCONFIG is not set
+# CONFIG_VI is not set
+# CONFIG_VMSTAT is not set
+# CONFIG_WATCH is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_WC=y
+# CONFIG_WGET is not set
+CONFIG_WHICH=y
+CONFIG_WHOAMI=y
+# CONFIG_WHO is not set
+# CONFIG_W is not set
+# CONFIG_XARGS_PEDANTIC is not set
+CONFIG_XARGS=y
+CONFIG_XXD=y
+# CONFIG_XZCAT is not set
+# CONFIG_YES is not set
+CONFIG_ZCAT=y
diff --git a/.gitignore b/.gitignore
index 43a7934..625c162 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,17 @@
 syntax: glob
-.config*
+/.config.old
 .single*
 change/
-generated/
-kconfig/mconf
-kconfig/conf
-kconfig/*.c
+/generated/build.sh
+/generated/cflags
+/generated/config2help
+/generated/Config.in
+/generated/Config.probed
+/generated/flags.raw
+/generated/mkflags
+/generated/mktags
+/generated/obj
+/generated/optlibs.dat
+/kconfig
 toybox
 toybox_unstripped
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..945612c
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,548 @@
+/*
+   --- To sync with upstream:
+
+    # Update source and regenerate generated files.
+    git remote add toybox https://github.com/landley/toybox.git
+    git fetch toybox && git merge toybox/master && ./regenerate.sh
+
+    # Make any necessary Android.bp changes and rebuild.
+    mm -j32
+
+    # Run all the tests.
+    ./run-tests-on-android.sh
+    # Run a single test.
+    ./run-tests-on-android.sh wc
+
+    # Upload changes.
+    git commit -a --amend
+    git push aosp HEAD:refs/for/master  # Push to gerrit for review.
+    git push aosp HEAD:master           # Push directly, avoiding gerrit.
+
+
+   --- To add a toy:
+
+    # Edit the three .config-* files to enable the toy you want for the targets
+    # you want it on, and regenerate the generated files:
+    ./regenerate.sh
+
+    # Edit the relevant `srcs` below, depending on where the toy should be
+    # available.
+
+    # If you just want to use the toy via "toybox x" rather than "x", you can
+    # stop now. If you want this toy to have a symbolic link in /system/bin,
+    # add the toy to symlinks.
+
+*/
+
+all_srcs = [
+    "lib/args.c",
+    "lib/commas.c",
+    "lib/dirtree.c",
+    "lib/env.c",
+    "lib/help.c",
+    "lib/lib.c",
+    "lib/linestack.c",
+    "lib/llist.c",
+    "lib/net.c",
+    "lib/portability.c",
+    "lib/tty.c",
+    "lib/xwrap.c",
+    "main.c",
+    "toys/lsb/gzip.c",
+    "toys/lsb/hostname.c",
+    "toys/lsb/md5sum.c",
+    "toys/lsb/mktemp.c",
+    "toys/lsb/seq.c",
+    "toys/net/microcom.c",
+    "toys/other/dos2unix.c",
+    "toys/other/readlink.c",
+    "toys/other/setsid.c",
+    "toys/other/stat.c",
+    "toys/other/timeout.c",
+    "toys/other/truncate.c",
+    "toys/other/which.c",
+    "toys/other/xxd.c",
+    "toys/other/yes.c",
+    "toys/pending/dd.c",
+    "toys/pending/diff.c",
+    "toys/pending/expr.c",
+    "toys/pending/getopt.c",
+    "toys/pending/tr.c",
+    "toys/posix/basename.c",
+    "toys/posix/cat.c",
+    "toys/posix/chmod.c",
+    "toys/posix/cmp.c",
+    "toys/posix/comm.c",
+    "toys/posix/cp.c",
+    "toys/posix/cpio.c",
+    "toys/posix/cut.c",
+    "toys/posix/date.c",
+    "toys/posix/dirname.c",
+    "toys/posix/du.c",
+    "toys/posix/echo.c",
+    "toys/posix/env.c",
+    "toys/posix/find.c",
+    "toys/posix/getconf.c",
+    "toys/posix/grep.c",
+    "toys/posix/head.c",
+    "toys/posix/id.c",
+    "toys/posix/ln.c",
+    "toys/posix/ls.c",
+    "toys/posix/mkdir.c",
+    "toys/posix/nl.c",
+    "toys/posix/od.c",
+    "toys/posix/paste.c",
+    "toys/posix/patch.c",
+    "toys/posix/printf.c",
+    "toys/posix/pwd.c",
+    "toys/posix/rm.c",
+    "toys/posix/rmdir.c",
+    "toys/posix/sed.c",
+    "toys/posix/sleep.c",
+    "toys/posix/sort.c",
+    "toys/posix/tail.c",
+    "toys/posix/tar.c",
+    "toys/posix/tee.c",
+    "toys/posix/test.c",
+    "toys/posix/touch.c",
+    "toys/posix/true.c",
+    "toys/posix/uname.c",
+    "toys/posix/uniq.c",
+    "toys/posix/wc.c",
+    "toys/posix/xargs.c",
+]
+
+linux_srcs = [
+    "toys/posix/ps.c",
+    "toys/other/taskset.c",
+]
+
+device_srcs = [
+    "toys/android/getenforce.c",
+    "toys/android/load_policy.c",
+    "toys/android/log.c",
+    "toys/android/restorecon.c",
+    "toys/android/runcon.c",
+    "toys/android/sendevent.c",
+    "toys/android/setenforce.c",
+    "toys/lsb/dmesg.c",
+    "toys/lsb/killall.c",
+    "toys/lsb/mknod.c",
+    "toys/lsb/mount.c",
+    "toys/lsb/pidof.c",
+    "toys/lsb/sync.c",
+    "toys/lsb/umount.c",
+    "toys/net/ifconfig.c",
+    "toys/net/netcat.c",
+    "toys/net/netstat.c",
+    "toys/net/ping.c",
+    "toys/net/rfkill.c",
+    "toys/net/tunctl.c",
+    "toys/other/acpi.c",
+    "toys/other/base64.c",
+    "toys/other/blkdiscard.c",
+    "toys/other/blkid.c",
+    "toys/other/blockdev.c",
+    "toys/other/chcon.c",
+    "toys/other/chroot.c",
+    "toys/other/chrt.c",
+    "toys/other/clear.c",
+    "toys/other/devmem.c",
+    "toys/other/fallocate.c",
+    "toys/other/flock.c",
+    "toys/other/fmt.c",
+    "toys/other/free.c",
+    "toys/other/freeramdisk.c",
+    "toys/other/fsfreeze.c",
+    "toys/other/fsync.c",
+    "toys/other/help.c",
+    "toys/other/hwclock.c",
+    "toys/other/i2ctools.c",
+    "toys/other/inotifyd.c",
+    "toys/other/insmod.c",
+    "toys/other/ionice.c",
+    "toys/other/losetup.c",
+    "toys/other/lsattr.c",
+    "toys/other/lsmod.c",
+    "toys/other/lspci.c",
+    "toys/other/lsusb.c",
+    "toys/other/makedevs.c",
+    "toys/other/mkswap.c",
+    "toys/other/modinfo.c",
+    "toys/other/mountpoint.c",
+    "toys/other/nbd_client.c",
+    "toys/other/nsenter.c",
+    "toys/other/partprobe.c",
+    "toys/other/pivot_root.c",
+    "toys/other/pmap.c",
+    "toys/other/printenv.c",
+    "toys/other/pwdx.c",
+    "toys/other/rev.c",
+    "toys/other/rmmod.c",
+    "toys/other/rtcwake.c",
+    "toys/other/setfattr.c",
+    "toys/other/swapoff.c",
+    "toys/other/swapon.c",
+    "toys/other/sysctl.c",
+    "toys/other/tac.c",
+    "toys/other/uptime.c",
+    "toys/other/usleep.c",
+    "toys/other/uuidgen.c",
+    "toys/other/vconfig.c",
+    "toys/other/vmstat.c",
+    "toys/other/watch.c",
+    "toys/pending/getfattr.c",
+    "toys/pending/lsof.c",
+    "toys/pending/modprobe.c",
+    "toys/pending/more.c",
+    "toys/pending/readelf.c",
+    "toys/pending/stty.c",
+    "toys/pending/traceroute.c",
+    "toys/pending/vi.c",
+    "toys/posix/cal.c",
+    "toys/posix/chgrp.c",
+    "toys/posix/cksum.c",
+    "toys/posix/df.c",
+    "toys/posix/expand.c",
+    "toys/posix/false.c",
+    "toys/posix/file.c",
+    "toys/posix/iconv.c",
+    "toys/posix/kill.c",
+    "toys/posix/mkfifo.c",
+    "toys/posix/nice.c",
+    "toys/posix/nohup.c",
+    "toys/posix/renice.c",
+    "toys/posix/split.c",
+    "toys/posix/strings.c",
+    "toys/posix/time.c",
+    "toys/posix/tty.c",
+    "toys/posix/ulimit.c",
+    "toys/posix/unlink.c",
+    "toys/posix/uudecode.c",
+    "toys/posix/uuencode.c",
+]
+
+toybox_symlinks = [
+    "acpi",
+    "base64",
+    "basename",
+    "blockdev",
+    "cal",
+    "cat",
+    "chattr",
+    "chcon",
+    "chgrp",
+    "chmod",
+    "chown",
+    "chroot",
+    "chrt",
+    "cksum",
+    "clear",
+    "comm",
+    "cmp",
+    "cp",
+    "cpio",
+    "cut",
+    "date",
+    "dd",
+    "devmem",
+    "df",
+    "diff",
+    "dirname",
+    "dmesg",
+    "dos2unix",
+    "du",
+    "echo",
+    "egrep",
+    "env",
+    "expand",
+    "expr",
+    "fallocate",
+    "false",
+    "fgrep",
+    "file",
+    "find",
+    "flock",
+    "fmt",
+    "free",
+    "fsync",
+    "getconf",
+    "getenforce",
+    "grep",
+    "groups",
+    "gunzip",
+    "gzip",
+    "head",
+    "hostname",
+    "hwclock",
+    "i2cdetect",
+    "i2cdump",
+    "i2cget",
+    "i2cset",
+    "iconv",
+    "id",
+    "ifconfig",
+    "inotifyd",
+    "insmod",
+    "install",
+    "ionice",
+    "iorenice",
+    "kill",
+    "killall",
+    "load_policy",
+    "ln",
+    "log",
+    "logname",
+    "losetup",
+    "ls",
+    "lsattr",
+    "lsmod",
+    "lsof",
+    "lspci",
+    "lsusb",
+    "md5sum",
+    "mkdir",
+    "mkfifo",
+    "mknod",
+    "mkswap",
+    "mktemp",
+    "microcom",
+    "modinfo",
+    "more",
+    "mount",
+    "mountpoint",
+    "mv",
+    "nc",
+    "netcat",
+    "netstat",
+    "nice",
+    "nl",
+    "nohup",
+    "nproc",
+    "nsenter",
+    "od",
+    "paste",
+    "patch",
+    "pgrep",
+    "pidof",
+    "pkill",
+    "pmap",
+    "printenv",
+    "printf",
+    "ps",
+    "pwd",
+    "readelf",
+    "readlink",
+    "realpath",
+    "renice",
+    "restorecon",
+    "rm",
+    "rmdir",
+    "rmmod",
+    "rtcwake",
+    "runcon",
+    "sed",
+    "sendevent",
+    "seq",
+    "setenforce",
+    "setsid",
+    "sha1sum",
+    "sha224sum",
+    "sha256sum",
+    "sha384sum",
+    "sha512sum",
+    "sleep",
+    "sort",
+    "split",
+    "stat",
+    "strings",
+    "stty",
+    "swapoff",
+    "swapon",
+    "sync",
+    "sysctl",
+    "tac",
+    "tail",
+    "tar",
+    "taskset",
+    "tee",
+    "test",
+    "time",
+    "timeout",
+    "top",
+    "touch",
+    "tr",
+    "true",
+    "truncate",
+    "tty",
+    "ulimit",
+    "umount",
+    "uname",
+    "uniq",
+    "unix2dos",
+    "unlink",
+    "unshare",
+    "uptime",
+    "usleep",
+    "uudecode",
+    "uuencode",
+    "uuidgen",
+    "vmstat",
+    "watch",
+    "wc",
+    "which",
+    "whoami",
+    "xargs",
+    "xxd",
+    "yes",
+    "zcat",
+]
+
+cc_defaults {
+    name: "toybox-defaults",
+    srcs: all_srcs,
+
+    cflags: [
+        "-Os",
+        "-Wall",
+        "-Werror",
+        "-Wno-char-subscripts",
+        "-Wno-deprecated-declarations",
+        "-Wno-missing-field-initializers",
+        "-Wno-pointer-arith",
+        "-Wno-sign-compare",
+        "-Wno-string-plus-int",
+        "-Wno-unused-parameter",
+        "-Wno-unused-variable",
+        "-funsigned-char",
+        "-ffunction-sections",
+        "-fdata-sections",
+        "-fno-asynchronous-unwind-tables",
+        "-DTOYBOX_VENDOR=\"-android\"",
+    ],
+
+    target: {
+        linux_glibc: {
+            local_include_dirs: ["android/linux"],
+        },
+
+        darwin: {
+            local_include_dirs: ["android/mac"],
+            cflags: [
+                // You can't have toybox cp(1) on macOS before 10.13.
+                "-mmacosx-version-min=10.13",
+                "-UMACOSX_DEPLOYMENT_TARGET",
+                "-DMACOSX_DEPLOYMENT_TARGET=10.13",
+                // macOS' getgroups(3) signature differs.
+                "-Wno-pointer-sign",
+                // diff.c defines MIN and MAX which (only on macOS) we're
+                // also getting from <sys/param.h>.
+                "-Wno-macro-redefined",
+            ],
+        },
+
+        linux: {
+            srcs: linux_srcs,
+        },
+
+        android: {
+            local_include_dirs: ["android/device"],
+            srcs: device_srcs,
+        },
+    },
+}
+
+//###########################################
+// toybox for /system, /vendor, and /recovery
+//###########################################
+
+cc_defaults {
+    name: "toybox-shared-defaults",
+    defaults: ["toybox-defaults"],
+
+    // This doesn't actually prevent us from dragging in libc++ at runtime
+    // on the device because libnetd_client.so is C++, but it improves host
+    // startup time.
+    stl: "none",
+
+    shared_libs: [
+        "libcrypto",
+        "libz",
+    ],
+
+    target: {
+        android: {
+            shared_libs: [
+                "liblog",
+                "libprocessgroup",
+                "libselinux",
+            ],
+            symlinks: toybox_symlinks,
+        },
+    },
+}
+
+cc_binary {
+    name: "toybox",
+    defaults: ["toybox-shared-defaults"],
+    host_supported: true,
+    recovery_available: true,
+    vendor_ramdisk_available: true,
+}
+
+cc_binary {
+    name: "toybox_vendor",
+    defaults: ["toybox-shared-defaults"],
+    vendor: true,
+}
+
+//###########################################
+// Static toybox binaries for legacy devices
+//###########################################
+
+cc_binary {
+    name: "toybox-static",
+    defaults: ["toybox-defaults"],
+    static_executable: true,
+    compile_multilib: "both",
+    multilib: {
+        lib32: { suffix: "32", },
+        lib64: { suffix: "64", },
+    },
+    stl: "libc++_static",
+    static_libs: [
+        "libc",
+        "libm",
+        "libz",
+        "libbase",
+        "libcgrouprc",
+        "libcgrouprc_format",
+        "libcrypto_static",
+        "liblog",
+        "libprocessgroup",
+        "libselinux",
+    ],
+    dist: {
+        targets: [
+            "sdk",
+        ],
+    },
+}
+
+//###########################################
+// Running the toybox tests
+//###########################################
+
+sh_test {
+    name: "toybox-tests",
+    src: "run-tests-on-android.sh",
+    filename: "run-tests-on-android.sh",
+    test_suites: ["general-tests"],
+    host_supported: true,
+    device_supported: false,
+    require_root:true,
+    data: [
+        "tests/**/*",
+        "scripts/runtest.sh",
+    ],
+}
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..313792c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+  license_type: UNENCUMBERED
+}
diff --git a/MODULE_LICENSE_BSD b/MODULE_LICENSE_BSD
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_BSD
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..7529cb9
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+include platform/system/core:/janitors/OWNERS
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 0000000..7353838
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name": "toybox-tests"
+    }
+  ]
+}
diff --git a/android/device/generated/config.h b/android/device/generated/config.h
new file mode 100644
index 0000000..8aacc15
--- /dev/null
+++ b/android/device/generated/config.h
@@ -0,0 +1,686 @@
+#define CFG_TOYBOX 1
+#define USE_TOYBOX(...) __VA_ARGS__
+#define CFG_TOYBOX_CONTAINER 1
+#define USE_TOYBOX_CONTAINER(...) __VA_ARGS__
+#define CFG_TOYBOX_DEBUG 0
+#define USE_TOYBOX_DEBUG(...)
+#define CFG_TOYBOX_FALLOCATE 1
+#define USE_TOYBOX_FALLOCATE(...) __VA_ARGS__
+#define CFG_TOYBOX_FIFREEZE 1
+#define USE_TOYBOX_FIFREEZE(...) __VA_ARGS__
+#define CFG_TOYBOX_FLOAT 1
+#define USE_TOYBOX_FLOAT(...) __VA_ARGS__
+#define CFG_TOYBOX_FORK 1
+#define USE_TOYBOX_FORK(...) __VA_ARGS__
+#define CFG_TOYBOX_FREE 0
+#define USE_TOYBOX_FREE(...)
+#define CFG_TOYBOX_GETRANDOM 0
+#define USE_TOYBOX_GETRANDOM(...)
+#define CFG_TOYBOX_HELP_DASHDASH 1
+#define USE_TOYBOX_HELP_DASHDASH(...) __VA_ARGS__
+#define CFG_TOYBOX_HELP 1
+#define USE_TOYBOX_HELP(...) __VA_ARGS__
+#define CFG_TOYBOX_I18N 1
+#define USE_TOYBOX_I18N(...) __VA_ARGS__
+#define CFG_TOYBOX_ICONV 1
+#define USE_TOYBOX_ICONV(...) __VA_ARGS__
+#define CFG_TOYBOX_LIBCRYPTO 1
+#define USE_TOYBOX_LIBCRYPTO(...) __VA_ARGS__
+#define CFG_TOYBOX_LIBZ 1
+#define USE_TOYBOX_LIBZ(...) __VA_ARGS__
+#define CFG_TOYBOX_LSM_NONE 0
+#define USE_TOYBOX_LSM_NONE(...)
+#define CFG_TOYBOX_MUSL_NOMMU_IS_BROKEN 0
+#define USE_TOYBOX_MUSL_NOMMU_IS_BROKEN(...)
+#define CFG_TOYBOX_NORECURSE 1
+#define USE_TOYBOX_NORECURSE(...) __VA_ARGS__
+#define CFG_TOYBOX_ON_ANDROID 1
+#define USE_TOYBOX_ON_ANDROID(...) __VA_ARGS__
+#define CFG_TOYBOX_ANDROID_SCHEDPOLICY 1
+#define USE_TOYBOX_ANDROID_SCHEDPOLICY(...) __VA_ARGS__
+#define CFG_TOYBOX_PEDANTIC_ARGS 0
+#define USE_TOYBOX_PEDANTIC_ARGS(...)
+#define CFG_TOYBOX_SELINUX 1
+#define USE_TOYBOX_SELINUX(...) __VA_ARGS__
+#define CFG_TOYBOX_SHADOW 0
+#define USE_TOYBOX_SHADOW(...)
+#define CFG_TOYBOX_SMACK 0
+#define USE_TOYBOX_SMACK(...)
+#define CFG_TOYBOX_SUID 0
+#define USE_TOYBOX_SUID(...)
+#define CFG_TOYBOX_UID_SYS 100
+#define CFG_TOYBOX_UID_USR 500
+#define CFG_TOYBOX_UTMPX 0
+#define USE_TOYBOX_UTMPX(...)
+#define CFG_ACPI 1
+#define USE_ACPI(...) __VA_ARGS__
+#define CFG_ARCH 0
+#define USE_ARCH(...)
+#define CFG_ARPING 0
+#define USE_ARPING(...)
+#define CFG_ARP 0
+#define USE_ARP(...)
+#define CFG_ASCII 0
+#define USE_ASCII(...)
+#define CFG_BASE32 0
+#define USE_BASE32(...)
+#define CFG_BASE64 1
+#define USE_BASE64(...) __VA_ARGS__
+#define CFG_BASENAME 1
+#define USE_BASENAME(...) __VA_ARGS__
+#define CFG_BC 0
+#define USE_BC(...)
+#define CFG_BLKDISCARD 1
+#define USE_BLKDISCARD(...) __VA_ARGS__
+#define CFG_BLKID 1
+#define USE_BLKID(...) __VA_ARGS__
+#define CFG_BLOCKDEV 1
+#define USE_BLOCKDEV(...) __VA_ARGS__
+#define CFG_BOOTCHARTD 0
+#define USE_BOOTCHARTD(...)
+#define CFG_BRCTL 0
+#define USE_BRCTL(...)
+#define CFG_BUNZIP2 0
+#define USE_BUNZIP2(...)
+#define CFG_BZCAT 0
+#define USE_BZCAT(...)
+#define CFG_CAL 1
+#define USE_CAL(...) __VA_ARGS__
+#define CFG_CATV 0
+#define USE_CATV(...)
+#define CFG_CAT_V 1
+#define USE_CAT_V(...) __VA_ARGS__
+#define CFG_CAT 1
+#define USE_CAT(...) __VA_ARGS__
+#define CFG_CD 0
+#define USE_CD(...)
+#define CFG_CHATTR 1
+#define USE_CHATTR(...) __VA_ARGS__
+#define CFG_CHCON 1
+#define USE_CHCON(...) __VA_ARGS__
+#define CFG_CHGRP 1
+#define USE_CHGRP(...) __VA_ARGS__
+#define CFG_CHMOD 1
+#define USE_CHMOD(...) __VA_ARGS__
+#define CFG_CHOWN 1
+#define USE_CHOWN(...) __VA_ARGS__
+#define CFG_CHROOT 1
+#define USE_CHROOT(...) __VA_ARGS__
+#define CFG_CHRT 1
+#define USE_CHRT(...) __VA_ARGS__
+#define CFG_CHVT 0
+#define USE_CHVT(...)
+#define CFG_CKSUM 1
+#define USE_CKSUM(...) __VA_ARGS__
+#define CFG_CLEAR 1
+#define USE_CLEAR(...) __VA_ARGS__
+#define CFG_CMP 1
+#define USE_CMP(...) __VA_ARGS__
+#define CFG_COMM 1
+#define USE_COMM(...) __VA_ARGS__
+#define CFG_COMPRESS 0
+#define USE_COMPRESS(...)
+#define CFG_COUNT 0
+#define USE_COUNT(...)
+#define CFG_CPIO 1
+#define USE_CPIO(...) __VA_ARGS__
+#define CFG_CP_MORE 1
+#define USE_CP_MORE(...) __VA_ARGS__
+#define CFG_CP_PRESERVE 1
+#define USE_CP_PRESERVE(...) __VA_ARGS__
+#define CFG_CP 1
+#define USE_CP(...) __VA_ARGS__
+#define CFG_CRC32 0
+#define USE_CRC32(...)
+#define CFG_CROND 0
+#define USE_CROND(...)
+#define CFG_CRONTAB 0
+#define USE_CRONTAB(...)
+#define CFG_CUT 1
+#define USE_CUT(...) __VA_ARGS__
+#define CFG_DATE 1
+#define USE_DATE(...) __VA_ARGS__
+#define CFG_DD 1
+#define USE_DD(...) __VA_ARGS__
+#define CFG_DEALLOCVT 0
+#define USE_DEALLOCVT(...)
+#define CFG_DEBUG_DHCP 0
+#define USE_DEBUG_DHCP(...)
+#define CFG_DECOMPRESS 0
+#define USE_DECOMPRESS(...)
+#define CFG_DEMO_MANY_OPTIONS 0
+#define USE_DEMO_MANY_OPTIONS(...)
+#define CFG_DEMO_NUMBER 0
+#define USE_DEMO_NUMBER(...)
+#define CFG_DEMO_SCANKEY 0
+#define USE_DEMO_SCANKEY(...)
+#define CFG_DEMO_UTF8TOWC 0
+#define USE_DEMO_UTF8TOWC(...)
+#define CFG_DEVMEM 1
+#define USE_DEVMEM(...) __VA_ARGS__
+#define CFG_DF 1
+#define USE_DF(...) __VA_ARGS__
+#define CFG_DHCP6 0
+#define USE_DHCP6(...)
+#define CFG_DHCPD 0
+#define USE_DHCPD(...)
+#define CFG_DHCP 0
+#define USE_DHCP(...)
+#define CFG_DIFF 1
+#define USE_DIFF(...) __VA_ARGS__
+#define CFG_DIRNAME 1
+#define USE_DIRNAME(...) __VA_ARGS__
+#define CFG_DMESG 1
+#define USE_DMESG(...) __VA_ARGS__
+#define CFG_DNSDOMAINNAME 0
+#define USE_DNSDOMAINNAME(...)
+#define CFG_DOS2UNIX 1
+#define USE_DOS2UNIX(...) __VA_ARGS__
+#define CFG_DUMPLEASES 0
+#define USE_DUMPLEASES(...)
+#define CFG_DU 1
+#define USE_DU(...) __VA_ARGS__
+#define CFG_ECHO 1
+#define USE_ECHO(...) __VA_ARGS__
+#define CFG_EGREP 1
+#define USE_EGREP(...) __VA_ARGS__
+#define CFG_EJECT 0
+#define USE_EJECT(...)
+#define CFG_ENV 1
+#define USE_ENV(...) __VA_ARGS__
+#define CFG_EXIT 0
+#define USE_EXIT(...)
+#define CFG_EXPAND 1
+#define USE_EXPAND(...) __VA_ARGS__
+#define CFG_EXPR 1
+#define USE_EXPR(...) __VA_ARGS__
+#define CFG_FACTOR 0
+#define USE_FACTOR(...)
+#define CFG_FALLOCATE 1
+#define USE_FALLOCATE(...) __VA_ARGS__
+#define CFG_FALSE 1
+#define USE_FALSE(...) __VA_ARGS__
+#define CFG_FDISK 0
+#define USE_FDISK(...)
+#define CFG_FGREP 1
+#define USE_FGREP(...) __VA_ARGS__
+#define CFG_FILE 1
+#define USE_FILE(...) __VA_ARGS__
+#define CFG_FIND 1
+#define USE_FIND(...) __VA_ARGS__
+#define CFG_FLOCK 1
+#define USE_FLOCK(...) __VA_ARGS__
+#define CFG_FMT 1
+#define USE_FMT(...) __VA_ARGS__
+#define CFG_FOLD 0
+#define USE_FOLD(...)
+#define CFG_FREERAMDISK 1
+#define USE_FREERAMDISK(...) __VA_ARGS__
+#define CFG_FREE 1
+#define USE_FREE(...) __VA_ARGS__
+#define CFG_FSCK 0
+#define USE_FSCK(...)
+#define CFG_FSFREEZE 1
+#define USE_FSFREEZE(...) __VA_ARGS__
+#define CFG_FSTYPE 0
+#define USE_FSTYPE(...)
+#define CFG_FSYNC 1
+#define USE_FSYNC(...) __VA_ARGS__
+#define CFG_FTPGET 0
+#define USE_FTPGET(...)
+#define CFG_FTPPUT 0
+#define USE_FTPPUT(...)
+#define CFG_GETCONF 1
+#define USE_GETCONF(...) __VA_ARGS__
+#define CFG_GETENFORCE 1
+#define USE_GETENFORCE(...) __VA_ARGS__
+#define CFG_GETFATTR 1
+#define USE_GETFATTR(...) __VA_ARGS__
+#define CFG_GETOPT 1
+#define USE_GETOPT(...) __VA_ARGS__
+#define CFG_GETTY 0
+#define USE_GETTY(...)
+#define CFG_GREP 1
+#define USE_GREP(...) __VA_ARGS__
+#define CFG_GROUPADD 0
+#define USE_GROUPADD(...)
+#define CFG_GROUPDEL 0
+#define USE_GROUPDEL(...)
+#define CFG_GROUPS 1
+#define USE_GROUPS(...) __VA_ARGS__
+#define CFG_GUNZIP 1
+#define USE_GUNZIP(...) __VA_ARGS__
+#define CFG_GZIP 1
+#define USE_GZIP(...) __VA_ARGS__
+#define CFG_HEAD 1
+#define USE_HEAD(...) __VA_ARGS__
+#define CFG_HELLO 0
+#define USE_HELLO(...)
+#define CFG_HELP_EXTRAS 1
+#define USE_HELP_EXTRAS(...) __VA_ARGS__
+#define CFG_HELP 1
+#define USE_HELP(...) __VA_ARGS__
+#define CFG_HEXEDIT 0
+#define USE_HEXEDIT(...)
+#define CFG_HOSTID 0
+#define USE_HOSTID(...)
+#define CFG_HOST 0
+#define USE_HOST(...)
+#define CFG_HOSTNAME 1
+#define USE_HOSTNAME(...) __VA_ARGS__
+#define CFG_HWCLOCK 1
+#define USE_HWCLOCK(...) __VA_ARGS__
+#define CFG_I2CDETECT 1
+#define USE_I2CDETECT(...) __VA_ARGS__
+#define CFG_I2CDUMP 1
+#define USE_I2CDUMP(...) __VA_ARGS__
+#define CFG_I2CGET 1
+#define USE_I2CGET(...) __VA_ARGS__
+#define CFG_I2CSET 1
+#define USE_I2CSET(...) __VA_ARGS__
+#define CFG_ICONV 1
+#define USE_ICONV(...) __VA_ARGS__
+#define CFG_ID 1
+#define USE_ID(...) __VA_ARGS__
+#define CFG_ID_Z 1
+#define USE_ID_Z(...) __VA_ARGS__
+#define CFG_IFCONFIG 1
+#define USE_IFCONFIG(...) __VA_ARGS__
+#define CFG_INIT 0
+#define USE_INIT(...)
+#define CFG_INOTIFYD 1
+#define USE_INOTIFYD(...) __VA_ARGS__
+#define CFG_INSMOD 1
+#define USE_INSMOD(...) __VA_ARGS__
+#define CFG_INSTALL 1
+#define USE_INSTALL(...) __VA_ARGS__
+#define CFG_IONICE 1
+#define USE_IONICE(...) __VA_ARGS__
+#define CFG_IORENICE 1
+#define USE_IORENICE(...) __VA_ARGS__
+#define CFG_IOTOP 1
+#define USE_IOTOP(...) __VA_ARGS__
+#define CFG_IPCRM 0
+#define USE_IPCRM(...)
+#define CFG_IPCS 0
+#define USE_IPCS(...)
+#define CFG_IP 0
+#define USE_IP(...)
+#define CFG_KILLALL5 0
+#define USE_KILLALL5(...)
+#define CFG_KILLALL 1
+#define USE_KILLALL(...) __VA_ARGS__
+#define CFG_KILL 1
+#define USE_KILL(...) __VA_ARGS__
+#define CFG_KLOGD 0
+#define USE_KLOGD(...)
+#define CFG_KLOGD_SOURCE_RING_BUFFER 0
+#define USE_KLOGD_SOURCE_RING_BUFFER(...)
+#define CFG_LAST 0
+#define USE_LAST(...)
+#define CFG_LINK 0
+#define USE_LINK(...)
+#define CFG_LN 1
+#define USE_LN(...) __VA_ARGS__
+#define CFG_LOAD_POLICY 1
+#define USE_LOAD_POLICY(...) __VA_ARGS__
+#define CFG_LOGGER 0
+#define USE_LOGGER(...)
+#define CFG_LOGIN 0
+#define USE_LOGIN(...)
+#define CFG_LOGNAME 1
+#define USE_LOGNAME(...) __VA_ARGS__
+#define CFG_LOG 1
+#define USE_LOG(...) __VA_ARGS__
+#define CFG_LOGWRAPPER 0
+#define USE_LOGWRAPPER(...)
+#define CFG_LOSETUP 1
+#define USE_LOSETUP(...) __VA_ARGS__
+#define CFG_LSATTR 1
+#define USE_LSATTR(...) __VA_ARGS__
+#define CFG_LS_COLOR 1
+#define USE_LS_COLOR(...) __VA_ARGS__
+#define CFG_LSMOD 1
+#define USE_LSMOD(...) __VA_ARGS__
+#define CFG_LSOF 1
+#define USE_LSOF(...) __VA_ARGS__
+#define CFG_LSPCI 1
+#define USE_LSPCI(...) __VA_ARGS__
+#define CFG_LSPCI_TEXT 0
+#define USE_LSPCI_TEXT(...)
+#define CFG_LSUSB 1
+#define USE_LSUSB(...) __VA_ARGS__
+#define CFG_LS 1
+#define USE_LS(...) __VA_ARGS__
+#define CFG_LS_Z 1
+#define USE_LS_Z(...) __VA_ARGS__
+#define CFG_MAKEDEVS 1
+#define USE_MAKEDEVS(...) __VA_ARGS__
+#define CFG_MAN 0
+#define USE_MAN(...)
+#define CFG_MCOOKIE 0
+#define USE_MCOOKIE(...)
+#define CFG_MD5SUM 1
+#define USE_MD5SUM(...) __VA_ARGS__
+#define CFG_MDEV_CONF 0
+#define USE_MDEV_CONF(...)
+#define CFG_MDEV 0
+#define USE_MDEV(...)
+#define CFG_MICROCOM 1
+#define USE_MICROCOM(...) __VA_ARGS__
+#define CFG_MIX 0
+#define USE_MIX(...)
+#define CFG_MKDIR 1
+#define USE_MKDIR(...) __VA_ARGS__
+#define CFG_MKDIR_Z 1
+#define USE_MKDIR_Z(...) __VA_ARGS__
+#define CFG_MKE2FS_EXTENDED 0
+#define USE_MKE2FS_EXTENDED(...)
+#define CFG_MKE2FS_GEN 0
+#define USE_MKE2FS_GEN(...)
+#define CFG_MKE2FS 0
+#define USE_MKE2FS(...)
+#define CFG_MKE2FS_JOURNAL 0
+#define USE_MKE2FS_JOURNAL(...)
+#define CFG_MKE2FS_LABEL 0
+#define USE_MKE2FS_LABEL(...)
+#define CFG_MKFIFO 1
+#define USE_MKFIFO(...) __VA_ARGS__
+#define CFG_MKFIFO_Z 1
+#define USE_MKFIFO_Z(...) __VA_ARGS__
+#define CFG_MKNOD 1
+#define USE_MKNOD(...) __VA_ARGS__
+#define CFG_MKNOD 1
+#define USE_MKNOD(...) __VA_ARGS__
+#define CFG_MKNOD_Z 1
+#define USE_MKNOD_Z(...) __VA_ARGS__
+#define CFG_MKPASSWD 0
+#define USE_MKPASSWD(...)
+#define CFG_MKSWAP 1
+#define USE_MKSWAP(...) __VA_ARGS__
+#define CFG_MKTEMP 1
+#define USE_MKTEMP(...) __VA_ARGS__
+#define CFG_MODINFO 1
+#define USE_MODINFO(...) __VA_ARGS__
+#define CFG_MODPROBE 1
+#define USE_MODPROBE(...) __VA_ARGS__
+#define CFG_MORE 1
+#define USE_MORE(...) __VA_ARGS__
+#define CFG_MOUNTPOINT 1
+#define USE_MOUNTPOINT(...) __VA_ARGS__
+#define CFG_MOUNT 1
+#define USE_MOUNT(...) __VA_ARGS__
+#define CFG_MV_MORE 1
+#define USE_MV_MORE(...) __VA_ARGS__
+#define CFG_MV 1
+#define USE_MV(...) __VA_ARGS__
+#define CFG_NBD_CLIENT 1
+#define USE_NBD_CLIENT(...) __VA_ARGS__
+#define CFG_NETCAT_LISTEN 1
+#define USE_NETCAT_LISTEN(...) __VA_ARGS__
+#define CFG_NETCAT 1
+#define USE_NETCAT(...) __VA_ARGS__
+#define CFG_NETSTAT 1
+#define USE_NETSTAT(...) __VA_ARGS__
+#define CFG_NICE 1
+#define USE_NICE(...) __VA_ARGS__
+#define CFG_NL 1
+#define USE_NL(...) __VA_ARGS__
+#define CFG_NOHUP 1
+#define USE_NOHUP(...) __VA_ARGS__
+#define CFG_NPROC 1
+#define USE_NPROC(...) __VA_ARGS__
+#define CFG_NSENTER 1
+#define USE_NSENTER(...) __VA_ARGS__
+#define CFG_OD 1
+#define USE_OD(...) __VA_ARGS__
+#define CFG_ONEIT 0
+#define USE_ONEIT(...)
+#define CFG_OPENVT 0
+#define USE_OPENVT(...)
+#define CFG_PARTPROBE 1
+#define USE_PARTPROBE(...) __VA_ARGS__
+#define CFG_PASSWD 0
+#define USE_PASSWD(...)
+#define CFG_PASTE 1
+#define USE_PASTE(...) __VA_ARGS__
+#define CFG_PATCH 1
+#define USE_PATCH(...) __VA_ARGS__
+#define CFG_PGREP 1
+#define USE_PGREP(...) __VA_ARGS__
+#define CFG_PIDOF 1
+#define USE_PIDOF(...) __VA_ARGS__
+#define CFG_PING 1
+#define USE_PING(...) __VA_ARGS__
+#define CFG_PING6 1
+#define USE_PING6(...) __VA_ARGS__
+#define CFG_PIVOT_ROOT 1
+#define USE_PIVOT_ROOT(...) __VA_ARGS__
+#define CFG_PKILL 1
+#define USE_PKILL(...) __VA_ARGS__
+#define CFG_PMAP 1
+#define USE_PMAP(...) __VA_ARGS__
+#define CFG_PRINTENV 1
+#define USE_PRINTENV(...) __VA_ARGS__
+#define CFG_PRINTF 1
+#define USE_PRINTF(...) __VA_ARGS__
+#define CFG_PS 1
+#define USE_PS(...) __VA_ARGS__
+#define CFG_PWDX 1
+#define USE_PWDX(...) __VA_ARGS__
+#define CFG_PWD 1
+#define USE_PWD(...) __VA_ARGS__
+#define CFG_PWGEN 0
+#define USE_PWGEN(...)
+#define CFG_READAHEAD 0
+#define USE_READAHEAD(...)
+#define CFG_READELF 1
+#define USE_READELF(...) __VA_ARGS__
+#define CFG_READLINK 1
+#define USE_READLINK(...) __VA_ARGS__
+#define CFG_REALPATH 1
+#define USE_REALPATH(...) __VA_ARGS__
+#define CFG_REBOOT 0
+#define USE_REBOOT(...)
+#define CFG_RENICE 1
+#define USE_RENICE(...) __VA_ARGS__
+#define CFG_RESET 0
+#define USE_RESET(...)
+#define CFG_RESTORECON 1
+#define USE_RESTORECON(...) __VA_ARGS__
+#define CFG_REV 1
+#define USE_REV(...) __VA_ARGS__
+#define CFG_RFKILL 1
+#define USE_RFKILL(...) __VA_ARGS__
+#define CFG_RMDIR 1
+#define USE_RMDIR(...) __VA_ARGS__
+#define CFG_RMMOD 1
+#define USE_RMMOD(...) __VA_ARGS__
+#define CFG_RM 1
+#define USE_RM(...) __VA_ARGS__
+#define CFG_ROUTE 0
+#define USE_ROUTE(...)
+#define CFG_RTCWAKE 1
+#define USE_RTCWAKE(...) __VA_ARGS__
+#define CFG_RUNCON 1
+#define USE_RUNCON(...) __VA_ARGS__
+#define CFG_SED 1
+#define USE_SED(...) __VA_ARGS__
+#define CFG_SENDEVENT 1
+#define USE_SENDEVENT(...) __VA_ARGS__
+#define CFG_SEQ 1
+#define USE_SEQ(...) __VA_ARGS__
+#define CFG_SETENFORCE 1
+#define USE_SETENFORCE(...) __VA_ARGS__
+#define CFG_SETFATTR 1
+#define USE_SETFATTR(...) __VA_ARGS__
+#define CFG_SETSID 1
+#define USE_SETSID(...) __VA_ARGS__
+#define CFG_SHA1SUM 1
+#define USE_SHA1SUM(...) __VA_ARGS__
+#define CFG_SHA224SUM 1
+#define USE_SHA224SUM(...) __VA_ARGS__
+#define CFG_SHA256SUM 1
+#define USE_SHA256SUM(...) __VA_ARGS__
+#define CFG_SHA3SUM 0
+#define USE_SHA3SUM(...)
+#define CFG_SHA384SUM 1
+#define USE_SHA384SUM(...) __VA_ARGS__
+#define CFG_SHA512SUM 1
+#define USE_SHA512SUM(...) __VA_ARGS__
+#define CFG_SH 0
+#define USE_SH(...)
+#define CFG_SHRED 0
+#define USE_SHRED(...)
+#define CFG_SKELETON_ALIAS 0
+#define USE_SKELETON_ALIAS(...)
+#define CFG_SKELETON 0
+#define USE_SKELETON(...)
+#define CFG_SLEEP_FLOAT 1
+#define USE_SLEEP_FLOAT(...) __VA_ARGS__
+#define CFG_SLEEP 1
+#define USE_SLEEP(...) __VA_ARGS__
+#define CFG_SNTP 0
+#define USE_SNTP(...)
+#define CFG_SORT_BIG 1
+#define USE_SORT_BIG(...) __VA_ARGS__
+#define CFG_SORT_FLOAT 1
+#define USE_SORT_FLOAT(...) __VA_ARGS__
+#define CFG_SORT 1
+#define USE_SORT(...) __VA_ARGS__
+#define CFG_SPLIT 1
+#define USE_SPLIT(...) __VA_ARGS__
+#define CFG_STAT 1
+#define USE_STAT(...) __VA_ARGS__
+#define CFG_STRINGS 1
+#define USE_STRINGS(...) __VA_ARGS__
+#define CFG_STTY 1
+#define USE_STTY(...) __VA_ARGS__
+#define CFG_SU 0
+#define USE_SU(...)
+#define CFG_SULOGIN 0
+#define USE_SULOGIN(...)
+#define CFG_SWAPOFF 1
+#define USE_SWAPOFF(...) __VA_ARGS__
+#define CFG_SWAPON 1
+#define USE_SWAPON(...) __VA_ARGS__
+#define CFG_SWITCH_ROOT 0
+#define USE_SWITCH_ROOT(...)
+#define CFG_SYNC 1
+#define USE_SYNC(...) __VA_ARGS__
+#define CFG_SYSCTL 1
+#define USE_SYSCTL(...) __VA_ARGS__
+#define CFG_SYSLOGD 0
+#define USE_SYSLOGD(...)
+#define CFG_TAC 1
+#define USE_TAC(...) __VA_ARGS__
+#define CFG_TAIL_SEEK 1
+#define USE_TAIL_SEEK(...) __VA_ARGS__
+#define CFG_TAIL 1
+#define USE_TAIL(...) __VA_ARGS__
+#define CFG_TAR 1
+#define USE_TAR(...) __VA_ARGS__
+#define CFG_TASKSET 1
+#define USE_TASKSET(...) __VA_ARGS__
+#define CFG_TASKSET 1
+#define USE_TASKSET(...) __VA_ARGS__
+#define CFG_TCPSVD 0
+#define USE_TCPSVD(...)
+#define CFG_TEE 1
+#define USE_TEE(...) __VA_ARGS__
+#define CFG_TELNETD 0
+#define USE_TELNETD(...)
+#define CFG_TELNET 0
+#define USE_TELNET(...)
+#define CFG_TEST 1
+#define USE_TEST(...) __VA_ARGS__
+#define CFG_TFTPD 0
+#define USE_TFTPD(...)
+#define CFG_TFTP 0
+#define USE_TFTP(...)
+#define CFG_TIMEOUT 1
+#define USE_TIMEOUT(...) __VA_ARGS__
+#define CFG_TIME 1
+#define USE_TIME(...) __VA_ARGS__
+#define CFG_TOP 1
+#define USE_TOP(...) __VA_ARGS__
+#define CFG_TOUCH 1
+#define USE_TOUCH(...) __VA_ARGS__
+#define CFG_TRACEROUTE 1
+#define USE_TRACEROUTE(...) __VA_ARGS__
+#define CFG_TRUE 1
+#define USE_TRUE(...) __VA_ARGS__
+#define CFG_TRUNCATE 1
+#define USE_TRUNCATE(...) __VA_ARGS__
+#define CFG_TR 1
+#define USE_TR(...) __VA_ARGS__
+#define CFG_TTOP 0
+#define USE_TTOP(...)
+#define CFG_TTY 1
+#define USE_TTY(...) __VA_ARGS__
+#define CFG_TUNCTL 1
+#define USE_TUNCTL(...) __VA_ARGS__
+#define CFG_ULIMIT 1
+#define USE_ULIMIT(...) __VA_ARGS__
+#define CFG_UMOUNT 1
+#define USE_UMOUNT(...) __VA_ARGS__
+#define CFG_UNAME 1
+#define USE_UNAME(...) __VA_ARGS__
+#define CFG_UNICODE 0
+#define USE_UNICODE(...)
+#define CFG_UNIQ 1
+#define USE_UNIQ(...) __VA_ARGS__
+#define CFG_UNIX2DOS 1
+#define USE_UNIX2DOS(...) __VA_ARGS__
+#define CFG_UNLINK 1
+#define USE_UNLINK(...) __VA_ARGS__
+#define CFG_UNSHARE 1
+#define USE_UNSHARE(...) __VA_ARGS__
+#define CFG_UPTIME 1
+#define USE_UPTIME(...) __VA_ARGS__
+#define CFG_USERADD 0
+#define USE_USERADD(...)
+#define CFG_USERDEL 0
+#define USE_USERDEL(...)
+#define CFG_USLEEP 1
+#define USE_USLEEP(...) __VA_ARGS__
+#define CFG_UUDECODE 1
+#define USE_UUDECODE(...) __VA_ARGS__
+#define CFG_UUENCODE 1
+#define USE_UUENCODE(...) __VA_ARGS__
+#define CFG_UUIDGEN 1
+#define USE_UUIDGEN(...) __VA_ARGS__
+#define CFG_VCONFIG 1
+#define USE_VCONFIG(...) __VA_ARGS__
+#define CFG_VI 1
+#define USE_VI(...) __VA_ARGS__
+#define CFG_VMSTAT 1
+#define USE_VMSTAT(...) __VA_ARGS__
+#define CFG_WATCH 1
+#define USE_WATCH(...) __VA_ARGS__
+#define CFG_WATCHDOG 0
+#define USE_WATCHDOG(...)
+#define CFG_WC 1
+#define USE_WC(...) __VA_ARGS__
+#define CFG_WGET 0
+#define USE_WGET(...)
+#define CFG_WHICH 1
+#define USE_WHICH(...) __VA_ARGS__
+#define CFG_WHOAMI 1
+#define USE_WHOAMI(...) __VA_ARGS__
+#define CFG_WHO 0
+#define USE_WHO(...)
+#define CFG_W 0
+#define USE_W(...)
+#define CFG_XARGS_PEDANTIC 0
+#define USE_XARGS_PEDANTIC(...)
+#define CFG_XARGS 1
+#define USE_XARGS(...) __VA_ARGS__
+#define CFG_XXD 1
+#define USE_XXD(...) __VA_ARGS__
+#define CFG_XZCAT 0
+#define USE_XZCAT(...)
+#define CFG_YES 1
+#define USE_YES(...) __VA_ARGS__
+#define CFG_ZCAT 1
+#define USE_ZCAT(...) __VA_ARGS__
diff --git a/android/device/generated/flags.h b/android/device/generated/flags.h
new file mode 100644
index 0000000..ed8aa2e
--- /dev/null
+++ b/android/device/generated/flags.h
@@ -0,0 +1,6606 @@
+#undef FORCED_FLAG
+#undef FORCED_FLAGLL
+#ifdef FORCE_FLAGS
+#define FORCED_FLAG 1
+#define FORCED_FLAGLL 1ULL
+#else
+#define FORCED_FLAG 0
+#define FORCED_FLAGLL 0
+#endif
+
+// acpi abctV abctV
+#undef OPTSTR_acpi
+#define OPTSTR_acpi "abctV"
+#ifdef CLEANUP_acpi
+#undef CLEANUP_acpi
+#undef FOR_acpi
+#undef FLAG_V
+#undef FLAG_t
+#undef FLAG_c
+#undef FLAG_b
+#undef FLAG_a
+#endif
+
+// arch    
+#undef OPTSTR_arch
+#define OPTSTR_arch 0
+#ifdef CLEANUP_arch
+#undef CLEANUP_arch
+#undef FOR_arch
+#endif
+
+// arp   vi:nDsdap:A:H:[+Ap][!sd]
+#undef OPTSTR_arp
+#define OPTSTR_arp "vi:nDsdap:A:H:[+Ap][!sd]"
+#ifdef CLEANUP_arp
+#undef CLEANUP_arp
+#undef FOR_arp
+#undef FLAG_H
+#undef FLAG_A
+#undef FLAG_p
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_D
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_v
+#endif
+
+// arping   <1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]
+#undef OPTSTR_arping
+#define OPTSTR_arping "<1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]"
+#ifdef CLEANUP_arping
+#undef CLEANUP_arping
+#undef FOR_arping
+#undef FLAG_f
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_D
+#undef FLAG_U
+#undef FLAG_A
+#undef FLAG_c
+#undef FLAG_w
+#undef FLAG_I
+#undef FLAG_s
+#endif
+
+// ascii    
+#undef OPTSTR_ascii
+#define OPTSTR_ascii 0
+#ifdef CLEANUP_ascii
+#undef CLEANUP_ascii
+#undef FOR_ascii
+#endif
+
+// base32   diw#<0=76[!dw]
+#undef OPTSTR_base32
+#define OPTSTR_base32 "diw#<0=76[!dw]"
+#ifdef CLEANUP_base32
+#undef CLEANUP_base32
+#undef FOR_base32
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_d
+#endif
+
+// base64 diw#<0=76[!dw] diw#<0=76[!dw]
+#undef OPTSTR_base64
+#define OPTSTR_base64 "diw#<0=76[!dw]"
+#ifdef CLEANUP_base64
+#undef CLEANUP_base64
+#undef FOR_base64
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_d
+#endif
+
+// basename ^<1as: ^<1as:
+#undef OPTSTR_basename
+#define OPTSTR_basename "^<1as:"
+#ifdef CLEANUP_basename
+#undef CLEANUP_basename
+#undef FOR_basename
+#undef FLAG_s
+#undef FLAG_a
+#endif
+
+// bc   i(interactive)l(mathlib)q(quiet)s(standard)w(warn)
+#undef OPTSTR_bc
+#define OPTSTR_bc "i(interactive)l(mathlib)q(quiet)s(standard)w(warn)"
+#ifdef CLEANUP_bc
+#undef CLEANUP_bc
+#undef FOR_bc
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_i
+#endif
+
+// blkdiscard <1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz] <1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]
+#undef OPTSTR_blkdiscard
+#define OPTSTR_blkdiscard "<1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]"
+#ifdef CLEANUP_blkdiscard
+#undef CLEANUP_blkdiscard
+#undef FOR_blkdiscard
+#undef FLAG_z
+#undef FLAG_s
+#undef FLAG_o
+#undef FLAG_l
+#undef FLAG_f
+#endif
+
+// blkid ULs*[!LU] ULs*[!LU]
+#undef OPTSTR_blkid
+#define OPTSTR_blkid "ULs*[!LU]"
+#ifdef CLEANUP_blkid
+#undef CLEANUP_blkid
+#undef FOR_blkid
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_U
+#endif
+
+// blockdev <1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt) <1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)
+#undef OPTSTR_blockdev
+#define OPTSTR_blockdev "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)"
+#ifdef CLEANUP_blockdev
+#undef CLEANUP_blockdev
+#undef FOR_blockdev
+#undef FLAG_rereadpt
+#undef FLAG_flushbufs
+#undef FLAG_setra
+#undef FLAG_getra
+#undef FLAG_getsize64
+#undef FLAG_getsize
+#undef FLAG_getsz
+#undef FLAG_setbsz
+#undef FLAG_getbsz
+#undef FLAG_getss
+#undef FLAG_getro
+#undef FLAG_setrw
+#undef FLAG_setro
+#endif
+
+// bootchartd    
+#undef OPTSTR_bootchartd
+#define OPTSTR_bootchartd 0
+#ifdef CLEANUP_bootchartd
+#undef CLEANUP_bootchartd
+#undef FOR_bootchartd
+#endif
+
+// brctl   <1
+#undef OPTSTR_brctl
+#define OPTSTR_brctl "<1"
+#ifdef CLEANUP_brctl
+#undef CLEANUP_brctl
+#undef FOR_brctl
+#endif
+
+// bunzip2   cftkv
+#undef OPTSTR_bunzip2
+#define OPTSTR_bunzip2 "cftkv"
+#ifdef CLEANUP_bunzip2
+#undef CLEANUP_bunzip2
+#undef FOR_bunzip2
+#undef FLAG_v
+#undef FLAG_k
+#undef FLAG_t
+#undef FLAG_f
+#undef FLAG_c
+#endif
+
+// bzcat    
+#undef OPTSTR_bzcat
+#define OPTSTR_bzcat 0
+#ifdef CLEANUP_bzcat
+#undef CLEANUP_bzcat
+#undef FOR_bzcat
+#endif
+
+// cal >2h >2h
+#undef OPTSTR_cal
+#define OPTSTR_cal ">2h"
+#ifdef CLEANUP_cal
+#undef CLEANUP_cal
+#undef FOR_cal
+#undef FLAG_h
+#endif
+
+// cat uvte uvte
+#undef OPTSTR_cat
+#define OPTSTR_cat "uvte"
+#ifdef CLEANUP_cat
+#undef CLEANUP_cat
+#undef FOR_cat
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_v
+#undef FLAG_u
+#endif
+
+// catv   vte
+#undef OPTSTR_catv
+#define OPTSTR_catv "vte"
+#ifdef CLEANUP_catv
+#undef CLEANUP_catv
+#undef FOR_catv
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_v
+#endif
+
+// cd   >1LP[-LP]
+#undef OPTSTR_cd
+#define OPTSTR_cd ">1LP[-LP]"
+#ifdef CLEANUP_cd
+#undef CLEANUP_cd
+#undef FOR_cd
+#undef FLAG_P
+#undef FLAG_L
+#endif
+
+// chattr ?p#v#R ?p#v#R
+#undef OPTSTR_chattr
+#define OPTSTR_chattr "?p#v#R"
+#ifdef CLEANUP_chattr
+#undef CLEANUP_chattr
+#undef FOR_chattr
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_p
+#endif
+
+// chcon <2hvR <2hvR
+#undef OPTSTR_chcon
+#define OPTSTR_chcon "<2hvR"
+#ifdef CLEANUP_chcon
+#undef CLEANUP_chcon
+#undef FOR_chcon
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_h
+#endif
+
+// chgrp <2h(no-dereference)PLHRfv[-HLP] <2h(no-dereference)PLHRfv[-HLP]
+#undef OPTSTR_chgrp
+#define OPTSTR_chgrp "<2h(no-dereference)PLHRfv[-HLP]"
+#ifdef CLEANUP_chgrp
+#undef CLEANUP_chgrp
+#undef FOR_chgrp
+#undef FLAG_v
+#undef FLAG_f
+#undef FLAG_R
+#undef FLAG_H
+#undef FLAG_L
+#undef FLAG_P
+#undef FLAG_h
+#endif
+
+// chmod <2?vfR[-vf] <2?vfR[-vf]
+#undef OPTSTR_chmod
+#define OPTSTR_chmod "<2?vfR[-vf]"
+#ifdef CLEANUP_chmod
+#undef CLEANUP_chmod
+#undef FOR_chmod
+#undef FLAG_R
+#undef FLAG_f
+#undef FLAG_v
+#endif
+
+// chroot ^<1 ^<1
+#undef OPTSTR_chroot
+#define OPTSTR_chroot "^<1"
+#ifdef CLEANUP_chroot
+#undef CLEANUP_chroot
+#undef FOR_chroot
+#endif
+
+// chrt ^mp#<0iRbrfo[!ibrfo] ^mp#<0iRbrfo[!ibrfo]
+#undef OPTSTR_chrt
+#define OPTSTR_chrt "^mp#<0iRbrfo[!ibrfo]"
+#ifdef CLEANUP_chrt
+#undef CLEANUP_chrt
+#undef FOR_chrt
+#undef FLAG_o
+#undef FLAG_f
+#undef FLAG_r
+#undef FLAG_b
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_m
+#endif
+
+// chvt   <1
+#undef OPTSTR_chvt
+#define OPTSTR_chvt "<1"
+#ifdef CLEANUP_chvt
+#undef CLEANUP_chvt
+#undef FOR_chvt
+#endif
+
+// cksum HIPLN HIPLN
+#undef OPTSTR_cksum
+#define OPTSTR_cksum "HIPLN"
+#ifdef CLEANUP_cksum
+#undef CLEANUP_cksum
+#undef FOR_cksum
+#undef FLAG_N
+#undef FLAG_L
+#undef FLAG_P
+#undef FLAG_I
+#undef FLAG_H
+#endif
+
+// clear    
+#undef OPTSTR_clear
+#define OPTSTR_clear 0
+#ifdef CLEANUP_clear
+#undef CLEANUP_clear
+#undef FOR_clear
+#endif
+
+// cmp <1>2ls(silent)(quiet)[!ls] <1>2ls(silent)(quiet)[!ls]
+#undef OPTSTR_cmp
+#define OPTSTR_cmp "<1>2ls(silent)(quiet)[!ls]"
+#ifdef CLEANUP_cmp
+#undef CLEANUP_cmp
+#undef FOR_cmp
+#undef FLAG_s
+#undef FLAG_l
+#endif
+
+// comm <2>2321 <2>2321
+#undef OPTSTR_comm
+#define OPTSTR_comm "<2>2321"
+#ifdef CLEANUP_comm
+#undef CLEANUP_comm
+#undef FOR_comm
+#undef FLAG_1
+#undef FLAG_2
+#undef FLAG_3
+#endif
+
+// count    
+#undef OPTSTR_count
+#define OPTSTR_count 0
+#ifdef CLEANUP_count
+#undef CLEANUP_count
+#undef FOR_count
+#endif
+
+// cp <2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni] <2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]
+#undef OPTSTR_cp
+#define OPTSTR_cp "<2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]"
+#ifdef CLEANUP_cp
+#undef CLEANUP_cp
+#undef FOR_cp
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_F
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_l
+#undef FLAG_s
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_r
+#undef FLAG_p
+#undef FLAG_P
+#undef FLAG_L
+#undef FLAG_H
+#undef FLAG_R
+#undef FLAG_D
+#undef FLAG_preserve
+#endif
+
+// cpio (quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF] (quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]
+#undef OPTSTR_cpio
+#define OPTSTR_cpio "(quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
+#ifdef CLEANUP_cpio
+#undef CLEANUP_cpio
+#undef FOR_cpio
+#undef FLAG_o
+#undef FLAG_v
+#undef FLAG_F
+#undef FLAG_t
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_H
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_m
+#undef FLAG_no_preserve_owner
+#undef FLAG_quiet
+#endif
+
+// crc32    
+#undef OPTSTR_crc32
+#define OPTSTR_crc32 0
+#ifdef CLEANUP_crc32
+#undef CLEANUP_crc32
+#undef FOR_crc32
+#endif
+
+// crond   fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]
+#undef OPTSTR_crond
+#define OPTSTR_crond "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]"
+#ifdef CLEANUP_crond
+#undef CLEANUP_crond
+#undef FOR_crond
+#undef FLAG_c
+#undef FLAG_L
+#undef FLAG_d
+#undef FLAG_l
+#undef FLAG_S
+#undef FLAG_b
+#undef FLAG_f
+#endif
+
+// crontab   c:u:elr[!elr]
+#undef OPTSTR_crontab
+#define OPTSTR_crontab "c:u:elr[!elr]"
+#ifdef CLEANUP_crontab
+#undef CLEANUP_crontab
+#undef FOR_crontab
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_e
+#undef FLAG_u
+#undef FLAG_c
+#endif
+
+// cut b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf] b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]
+#undef OPTSTR_cut
+#define OPTSTR_cut "b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]"
+#ifdef CLEANUP_cut
+#undef CLEANUP_cut
+#undef FOR_cut
+#undef FLAG_n
+#undef FLAG_D
+#undef FLAG_s
+#undef FLAG_d
+#undef FLAG_O
+#undef FLAG_C
+#undef FLAG_F
+#undef FLAG_f
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// date d:D:I(iso)(iso-8601):;r:u(utc)[!dr] d:D:I(iso)(iso-8601):;r:u(utc)[!dr]
+#undef OPTSTR_date
+#define OPTSTR_date "d:D:I(iso)(iso-8601):;r:u(utc)[!dr]"
+#ifdef CLEANUP_date
+#undef CLEANUP_date
+#undef FOR_date
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_I
+#undef FLAG_D
+#undef FLAG_d
+#endif
+
+// dd    
+#undef OPTSTR_dd
+#define OPTSTR_dd 0
+#ifdef CLEANUP_dd
+#undef CLEANUP_dd
+#undef FOR_dd
+#endif
+
+// deallocvt   >1
+#undef OPTSTR_deallocvt
+#define OPTSTR_deallocvt ">1"
+#ifdef CLEANUP_deallocvt
+#undef CLEANUP_deallocvt
+#undef FOR_deallocvt
+#endif
+
+// demo_many_options   ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba
+#undef OPTSTR_demo_many_options
+#define OPTSTR_demo_many_options "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba"
+#ifdef CLEANUP_demo_many_options
+#undef CLEANUP_demo_many_options
+#undef FOR_demo_many_options
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_h
+#undef FLAG_i
+#undef FLAG_j
+#undef FLAG_k
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_o
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_y
+#undef FLAG_z
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_D
+#undef FLAG_E
+#undef FLAG_F
+#undef FLAG_G
+#undef FLAG_H
+#undef FLAG_I
+#undef FLAG_J
+#undef FLAG_K
+#undef FLAG_L
+#undef FLAG_M
+#undef FLAG_N
+#undef FLAG_O
+#undef FLAG_P
+#undef FLAG_Q
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_T
+#undef FLAG_U
+#undef FLAG_V
+#undef FLAG_W
+#undef FLAG_X
+#undef FLAG_Y
+#undef FLAG_Z
+#endif
+
+// demo_number   D#=3<3M#<0hcdbs
+#undef OPTSTR_demo_number
+#define OPTSTR_demo_number "D#=3<3M#<0hcdbs"
+#ifdef CLEANUP_demo_number
+#undef CLEANUP_demo_number
+#undef FOR_demo_number
+#undef FLAG_s
+#undef FLAG_b
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_h
+#undef FLAG_M
+#undef FLAG_D
+#endif
+
+// demo_scankey    
+#undef OPTSTR_demo_scankey
+#define OPTSTR_demo_scankey 0
+#ifdef CLEANUP_demo_scankey
+#undef CLEANUP_demo_scankey
+#undef FOR_demo_scankey
+#endif
+
+// demo_utf8towc    
+#undef OPTSTR_demo_utf8towc
+#define OPTSTR_demo_utf8towc 0
+#ifdef CLEANUP_demo_utf8towc
+#undef CLEANUP_demo_utf8towc
+#undef FOR_demo_utf8towc
+#endif
+
+// devmem <1>3 <1>3
+#undef OPTSTR_devmem
+#define OPTSTR_devmem "<1>3"
+#ifdef CLEANUP_devmem
+#undef CLEANUP_devmem
+#undef FOR_devmem
+#endif
+
+// df HPkhit*a[-HPkh] HPkhit*a[-HPkh]
+#undef OPTSTR_df
+#define OPTSTR_df "HPkhit*a[-HPkh]"
+#ifdef CLEANUP_df
+#undef CLEANUP_df
+#undef FOR_df
+#undef FLAG_a
+#undef FLAG_t
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_k
+#undef FLAG_P
+#undef FLAG_H
+#endif
+
+// dhcp   V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf
+#undef OPTSTR_dhcp
+#define OPTSTR_dhcp "V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf"
+#ifdef CLEANUP_dhcp
+#undef CLEANUP_dhcp
+#undef FOR_dhcp
+#undef FLAG_f
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_q
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_a
+#undef FLAG_C
+#undef FLAG_R
+#undef FLAG_B
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_A
+#undef FLAG_O
+#undef FLAG_r
+#undef FLAG_x
+#undef FLAG_F
+#undef FLAG_H
+#undef FLAG_V
+#endif
+
+// dhcp6   r:A#<0T#<0t#<0s:p:i:SRvqnbf
+#undef OPTSTR_dhcp6
+#define OPTSTR_dhcp6 "r:A#<0T#<0t#<0s:p:i:SRvqnbf"
+#ifdef CLEANUP_dhcp6
+#undef CLEANUP_dhcp6
+#undef FOR_dhcp6
+#undef FLAG_f
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_q
+#undef FLAG_v
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_A
+#undef FLAG_r
+#endif
+
+// dhcpd   >1P#<0>65535fi:S46[!46]
+#undef OPTSTR_dhcpd
+#define OPTSTR_dhcpd ">1P#<0>65535fi:S46[!46]"
+#ifdef CLEANUP_dhcpd
+#undef CLEANUP_dhcpd
+#undef FOR_dhcpd
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_P
+#endif
+
+// diff <2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3 <2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3
+#undef OPTSTR_diff
+#define OPTSTR_diff "<2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3"
+#ifdef CLEANUP_diff
+#undef CLEANUP_diff
+#undef FOR_diff
+#undef FLAG_U
+#undef FLAG_r
+#undef FLAG_N
+#undef FLAG_S
+#undef FLAG_L
+#undef FLAG_a
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_w
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_d
+#undef FLAG_B
+#undef FLAG_strip_trailing_cr
+#undef FLAG_color
+#endif
+
+// dirname <1 <1
+#undef OPTSTR_dirname
+#define OPTSTR_dirname "<1"
+#ifdef CLEANUP_dirname
+#undef CLEANUP_dirname
+#undef FOR_dirname
+#endif
+
+// dmesg w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw] w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]
+#undef OPTSTR_dmesg
+#define OPTSTR_dmesg "w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]"
+#ifdef CLEANUP_dmesg
+#undef CLEANUP_dmesg
+#undef FOR_dmesg
+#undef FLAG_c
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_S
+#undef FLAG_C
+#undef FLAG_w
+#endif
+
+// dnsdomainname   >0
+#undef OPTSTR_dnsdomainname
+#define OPTSTR_dnsdomainname ">0"
+#ifdef CLEANUP_dnsdomainname
+#undef CLEANUP_dnsdomainname
+#undef FOR_dnsdomainname
+#endif
+
+// dos2unix    
+#undef OPTSTR_dos2unix
+#define OPTSTR_dos2unix 0
+#ifdef CLEANUP_dos2unix
+#undef CLEANUP_dos2unix
+#undef FOR_dos2unix
+#endif
+
+// du d#<0=-1hmlcaHkKLsxb[-HL][-kKmh] d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]
+#undef OPTSTR_du
+#define OPTSTR_du "d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]"
+#ifdef CLEANUP_du
+#undef CLEANUP_du
+#undef FOR_du
+#undef FLAG_b
+#undef FLAG_x
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_K
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_a
+#undef FLAG_c
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_h
+#undef FLAG_d
+#endif
+
+// dumpleases   >0arf:[!ar]
+#undef OPTSTR_dumpleases
+#define OPTSTR_dumpleases ">0arf:[!ar]"
+#ifdef CLEANUP_dumpleases
+#undef CLEANUP_dumpleases
+#undef FOR_dumpleases
+#undef FLAG_f
+#undef FLAG_r
+#undef FLAG_a
+#endif
+
+// echo ^?Een[-eE] ^?Een[-eE]
+#undef OPTSTR_echo
+#define OPTSTR_echo "^?Een[-eE]"
+#ifdef CLEANUP_echo
+#undef CLEANUP_echo
+#undef FOR_echo
+#undef FLAG_n
+#undef FLAG_e
+#undef FLAG_E
+#endif
+
+// eject   >1stT[!tT]
+#undef OPTSTR_eject
+#define OPTSTR_eject ">1stT[!tT]"
+#ifdef CLEANUP_eject
+#undef CLEANUP_eject
+#undef FOR_eject
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_s
+#endif
+
+// env ^i0u* ^i0u*
+#undef OPTSTR_env
+#define OPTSTR_env "^i0u*"
+#ifdef CLEANUP_env
+#undef CLEANUP_env
+#undef FOR_env
+#undef FLAG_u
+#undef FLAG_0
+#undef FLAG_i
+#endif
+
+// eval    
+#undef OPTSTR_eval
+#define OPTSTR_eval 0
+#ifdef CLEANUP_eval
+#undef CLEANUP_eval
+#undef FOR_eval
+#endif
+
+// exec   ^cla:
+#undef OPTSTR_exec
+#define OPTSTR_exec "^cla:"
+#ifdef CLEANUP_exec
+#undef CLEANUP_exec
+#undef FOR_exec
+#undef FLAG_a
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// exit    
+#undef OPTSTR_exit
+#define OPTSTR_exit 0
+#ifdef CLEANUP_exit
+#undef CLEANUP_exit
+#undef FOR_exit
+#endif
+
+// expand t* t*
+#undef OPTSTR_expand
+#define OPTSTR_expand "t*"
+#ifdef CLEANUP_expand
+#undef CLEANUP_expand
+#undef FOR_expand
+#undef FLAG_t
+#endif
+
+// export   np
+#undef OPTSTR_export
+#define OPTSTR_export "np"
+#ifdef CLEANUP_export
+#undef CLEANUP_export
+#undef FOR_export
+#undef FLAG_p
+#undef FLAG_n
+#endif
+
+// expr    
+#undef OPTSTR_expr
+#define OPTSTR_expr 0
+#ifdef CLEANUP_expr
+#undef CLEANUP_expr
+#undef FOR_expr
+#endif
+
+// factor    
+#undef OPTSTR_factor
+#define OPTSTR_factor 0
+#ifdef CLEANUP_factor
+#undef CLEANUP_factor
+#undef FOR_factor
+#endif
+
+// fallocate >1l#|o# >1l#|o#
+#undef OPTSTR_fallocate
+#define OPTSTR_fallocate ">1l#|o#"
+#ifdef CLEANUP_fallocate
+#undef CLEANUP_fallocate
+#undef FOR_fallocate
+#undef FLAG_o
+#undef FLAG_l
+#endif
+
+// false    
+#undef OPTSTR_false
+#define OPTSTR_false 0
+#ifdef CLEANUP_false
+#undef CLEANUP_false
+#undef FOR_false
+#endif
+
+// fdisk   C#<0H#<0S#<0b#<512ul
+#undef OPTSTR_fdisk
+#define OPTSTR_fdisk "C#<0H#<0S#<0b#<512ul"
+#ifdef CLEANUP_fdisk
+#undef CLEANUP_fdisk
+#undef FOR_fdisk
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_S
+#undef FLAG_H
+#undef FLAG_C
+#endif
+
+// file <1bhLs[!hL] <1bhLs[!hL]
+#undef OPTSTR_file
+#define OPTSTR_file "<1bhLs[!hL]"
+#ifdef CLEANUP_file
+#undef CLEANUP_file
+#undef FOR_file
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_h
+#undef FLAG_b
+#endif
+
+// find ?^HL[-HL] ?^HL[-HL]
+#undef OPTSTR_find
+#define OPTSTR_find "?^HL[-HL]"
+#ifdef CLEANUP_find
+#undef CLEANUP_find
+#undef FOR_find
+#undef FLAG_L
+#undef FLAG_H
+#endif
+
+// flock <1>1nsux[-sux] <1>1nsux[-sux]
+#undef OPTSTR_flock
+#define OPTSTR_flock "<1>1nsux[-sux]"
+#ifdef CLEANUP_flock
+#undef CLEANUP_flock
+#undef FOR_flock
+#undef FLAG_x
+#undef FLAG_u
+#undef FLAG_s
+#undef FLAG_n
+#endif
+
+// fmt w#<0=75 w#<0=75
+#undef OPTSTR_fmt
+#define OPTSTR_fmt "w#<0=75"
+#ifdef CLEANUP_fmt
+#undef CLEANUP_fmt
+#undef FOR_fmt
+#undef FLAG_w
+#endif
+
+// fold   bsuw#<1
+#undef OPTSTR_fold
+#define OPTSTR_fold "bsuw#<1"
+#ifdef CLEANUP_fold
+#undef CLEANUP_fold
+#undef FOR_fold
+#undef FLAG_w
+#undef FLAG_u
+#undef FLAG_s
+#undef FLAG_b
+#endif
+
+// free htgmkb[!htgmkb] htgmkb[!htgmkb]
+#undef OPTSTR_free
+#define OPTSTR_free "htgmkb[!htgmkb]"
+#ifdef CLEANUP_free
+#undef CLEANUP_free
+#undef FOR_free
+#undef FLAG_b
+#undef FLAG_k
+#undef FLAG_m
+#undef FLAG_g
+#undef FLAG_t
+#undef FLAG_h
+#endif
+
+// freeramdisk <1>1 <1>1
+#undef OPTSTR_freeramdisk
+#define OPTSTR_freeramdisk "<1>1"
+#ifdef CLEANUP_freeramdisk
+#undef CLEANUP_freeramdisk
+#undef FOR_freeramdisk
+#endif
+
+// fsck   ?t:ANPRTVsC#
+#undef OPTSTR_fsck
+#define OPTSTR_fsck "?t:ANPRTVsC#"
+#ifdef CLEANUP_fsck
+#undef CLEANUP_fsck
+#undef FOR_fsck
+#undef FLAG_C
+#undef FLAG_s
+#undef FLAG_V
+#undef FLAG_T
+#undef FLAG_R
+#undef FLAG_P
+#undef FLAG_N
+#undef FLAG_A
+#undef FLAG_t
+#endif
+
+// fsfreeze <1>1f|u|[!fu] <1>1f|u|[!fu]
+#undef OPTSTR_fsfreeze
+#define OPTSTR_fsfreeze "<1>1f|u|[!fu]"
+#ifdef CLEANUP_fsfreeze
+#undef CLEANUP_fsfreeze
+#undef FOR_fsfreeze
+#undef FLAG_u
+#undef FLAG_f
+#endif
+
+// fstype   <1
+#undef OPTSTR_fstype
+#define OPTSTR_fstype "<1"
+#ifdef CLEANUP_fstype
+#undef CLEANUP_fstype
+#undef FOR_fstype
+#endif
+
+// fsync <1d <1d
+#undef OPTSTR_fsync
+#define OPTSTR_fsync "<1d"
+#ifdef CLEANUP_fsync
+#undef CLEANUP_fsync
+#undef FOR_fsync
+#undef FLAG_d
+#endif
+
+// ftpget   <2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]
+#undef OPTSTR_ftpget
+#define OPTSTR_ftpget "<2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]"
+#ifdef CLEANUP_ftpget
+#undef CLEANUP_ftpget
+#undef FOR_ftpget
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_M
+#undef FLAG_m
+#undef FLAG_L
+#undef FLAG_l
+#undef FLAG_s
+#undef FLAG_g
+#undef FLAG_v
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_P
+#endif
+
+// getconf >2al >2al
+#undef OPTSTR_getconf
+#define OPTSTR_getconf ">2al"
+#ifdef CLEANUP_getconf
+#undef CLEANUP_getconf
+#undef FOR_getconf
+#undef FLAG_l
+#undef FLAG_a
+#endif
+
+// getenforce >0 >0
+#undef OPTSTR_getenforce
+#define OPTSTR_getenforce ">0"
+#ifdef CLEANUP_getenforce
+#undef CLEANUP_getenforce
+#undef FOR_getenforce
+#endif
+
+// getfattr (only-values)dhn: (only-values)dhn:
+#undef OPTSTR_getfattr
+#define OPTSTR_getfattr "(only-values)dhn:"
+#ifdef CLEANUP_getfattr
+#undef CLEANUP_getfattr
+#undef FOR_getfattr
+#undef FLAG_n
+#undef FLAG_h
+#undef FLAG_d
+#undef FLAG_only_values
+#endif
+
+// getopt ^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu ^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu
+#undef OPTSTR_getopt
+#define OPTSTR_getopt "^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu"
+#ifdef CLEANUP_getopt
+#undef CLEANUP_getopt
+#undef FOR_getopt
+#undef FLAG_u
+#undef FLAG_T
+#undef FLAG_l
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_a
+#endif
+
+// getty   <2t#<0H:I:l:f:iwnmLh
+#undef OPTSTR_getty
+#define OPTSTR_getty "<2t#<0H:I:l:f:iwnmLh"
+#ifdef CLEANUP_getty
+#undef CLEANUP_getty
+#undef FOR_getty
+#undef FLAG_h
+#undef FLAG_L
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_l
+#undef FLAG_I
+#undef FLAG_H
+#undef FLAG_t
+#endif
+
+// grep (line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw] (line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]
+#undef OPTSTR_grep
+#define OPTSTR_grep "(line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]"
+#ifdef CLEANUP_grep
+#undef CLEANUP_grep
+#undef FOR_grep
+#undef FLAG_x
+#undef FLAG_m
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_c
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_s
+#undef FLAG_R
+#undef FLAG_r
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_b
+#undef FLAG_a
+#undef FLAG_I
+#undef FLAG_H
+#undef FLAG_F
+#undef FLAG_E
+#undef FLAG_z
+#undef FLAG_Z
+#undef FLAG_M
+#undef FLAG_S
+#undef FLAG_exclude_dir
+#undef FLAG_color
+#undef FLAG_line_buffered
+#endif
+
+// groupadd   <1>2g#<0S
+#undef OPTSTR_groupadd
+#define OPTSTR_groupadd "<1>2g#<0S"
+#ifdef CLEANUP_groupadd
+#undef CLEANUP_groupadd
+#undef FOR_groupadd
+#undef FLAG_S
+#undef FLAG_g
+#endif
+
+// groupdel   <1>2
+#undef OPTSTR_groupdel
+#define OPTSTR_groupdel "<1>2"
+#ifdef CLEANUP_groupdel
+#undef CLEANUP_groupdel
+#undef FOR_groupdel
+#endif
+
+// groups    
+#undef OPTSTR_groups
+#define OPTSTR_groups 0
+#ifdef CLEANUP_groups
+#undef CLEANUP_groups
+#undef FOR_groups
+#endif
+
+// gunzip cdfk123456789[-123456789] cdfk123456789[-123456789]
+#undef OPTSTR_gunzip
+#define OPTSTR_gunzip "cdfk123456789[-123456789]"
+#ifdef CLEANUP_gunzip
+#undef CLEANUP_gunzip
+#undef FOR_gunzip
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// gzip ncdfk123456789[-123456789] ncdfk123456789[-123456789]
+#undef OPTSTR_gzip
+#define OPTSTR_gzip "ncdfk123456789[-123456789]"
+#ifdef CLEANUP_gzip
+#undef CLEANUP_gzip
+#undef FOR_gzip
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// head ?n(lines)#<0=10c(bytes)#<0qv[-nc] ?n(lines)#<0=10c(bytes)#<0qv[-nc]
+#undef OPTSTR_head
+#define OPTSTR_head "?n(lines)#<0=10c(bytes)#<0qv[-nc]"
+#ifdef CLEANUP_head
+#undef CLEANUP_head
+#undef FOR_head
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// hello    
+#undef OPTSTR_hello
+#define OPTSTR_hello 0
+#ifdef CLEANUP_hello
+#undef CLEANUP_hello
+#undef FOR_hello
+#endif
+
+// help ahu ahu
+#undef OPTSTR_help
+#define OPTSTR_help "ahu"
+#ifdef CLEANUP_help
+#undef CLEANUP_help
+#undef FOR_help
+#undef FLAG_u
+#undef FLAG_h
+#undef FLAG_a
+#endif
+
+// hexedit   <1>1r
+#undef OPTSTR_hexedit
+#define OPTSTR_hexedit "<1>1r"
+#ifdef CLEANUP_hexedit
+#undef CLEANUP_hexedit
+#undef FOR_hexedit
+#undef FLAG_r
+#endif
+
+// host   <1>2avt:
+#undef OPTSTR_host
+#define OPTSTR_host "<1>2avt:"
+#ifdef CLEANUP_host
+#undef CLEANUP_host
+#undef FOR_host
+#undef FLAG_t
+#undef FLAG_v
+#undef FLAG_a
+#endif
+
+// hostid   >0
+#undef OPTSTR_hostid
+#define OPTSTR_hostid ">0"
+#ifdef CLEANUP_hostid
+#undef CLEANUP_hostid
+#undef FOR_hostid
+#endif
+
+// hostname >1bdsfF:[!bdsf] >1bdsfF:[!bdsf]
+#undef OPTSTR_hostname
+#define OPTSTR_hostname ">1bdsfF:[!bdsf]"
+#ifdef CLEANUP_hostname
+#undef CLEANUP_hostname
+#undef FOR_hostname
+#undef FLAG_F
+#undef FLAG_f
+#undef FLAG_s
+#undef FLAG_d
+#undef FLAG_b
+#endif
+
+// hwclock >0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw] >0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]
+#undef OPTSTR_hwclock
+#define OPTSTR_hwclock ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]"
+#ifdef CLEANUP_hwclock
+#undef CLEANUP_hwclock
+#undef FOR_hwclock
+#undef FLAG_w
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_f
+#undef FLAG_fast
+#endif
+
+// i2cdetect >3aFly >3aFly
+#undef OPTSTR_i2cdetect
+#define OPTSTR_i2cdetect ">3aFly"
+#ifdef CLEANUP_i2cdetect
+#undef CLEANUP_i2cdetect
+#undef FOR_i2cdetect
+#undef FLAG_y
+#undef FLAG_l
+#undef FLAG_F
+#undef FLAG_a
+#endif
+
+// i2cdump <2>2fy <2>2fy
+#undef OPTSTR_i2cdump
+#define OPTSTR_i2cdump "<2>2fy"
+#ifdef CLEANUP_i2cdump
+#undef CLEANUP_i2cdump
+#undef FOR_i2cdump
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// i2cget <3>3fy <3>3fy
+#undef OPTSTR_i2cget
+#define OPTSTR_i2cget "<3>3fy"
+#ifdef CLEANUP_i2cget
+#undef CLEANUP_i2cget
+#undef FOR_i2cget
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// i2cset <4fy <4fy
+#undef OPTSTR_i2cset
+#define OPTSTR_i2cset "<4fy"
+#ifdef CLEANUP_i2cset
+#undef CLEANUP_i2cset
+#undef FOR_i2cset
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// iconv cst:f: cst:f:
+#undef OPTSTR_iconv
+#define OPTSTR_iconv "cst:f:"
+#ifdef CLEANUP_iconv
+#undef CLEANUP_iconv
+#undef FOR_iconv
+#undef FLAG_f
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_c
+#endif
+
+// id >1ZnGgru[!ZGgu] >1ZnGgru[!ZGgu]
+#undef OPTSTR_id
+#define OPTSTR_id ">1ZnGgru[!ZGgu]"
+#ifdef CLEANUP_id
+#undef CLEANUP_id
+#undef FOR_id
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_g
+#undef FLAG_G
+#undef FLAG_n
+#undef FLAG_Z
+#endif
+
+// ifconfig ^?aS ^?aS
+#undef OPTSTR_ifconfig
+#define OPTSTR_ifconfig "^?aS"
+#ifdef CLEANUP_ifconfig
+#undef CLEANUP_ifconfig
+#undef FOR_ifconfig
+#undef FLAG_S
+#undef FLAG_a
+#endif
+
+// init    
+#undef OPTSTR_init
+#define OPTSTR_init 0
+#ifdef CLEANUP_init
+#undef CLEANUP_init
+#undef FOR_init
+#endif
+
+// inotifyd <2 <2
+#undef OPTSTR_inotifyd
+#define OPTSTR_inotifyd "<2"
+#ifdef CLEANUP_inotifyd
+#undef CLEANUP_inotifyd
+#undef FOR_inotifyd
+#endif
+
+// insmod <1 <1
+#undef OPTSTR_insmod
+#define OPTSTR_insmod "<1"
+#ifdef CLEANUP_insmod
+#undef CLEANUP_insmod
+#undef FOR_insmod
+#endif
+
+// install <1cdDpsvm:o:g: <1cdDpsvm:o:g:
+#undef OPTSTR_install
+#define OPTSTR_install "<1cdDpsvm:o:g:"
+#ifdef CLEANUP_install
+#undef CLEANUP_install
+#undef FOR_install
+#undef FLAG_g
+#undef FLAG_o
+#undef FLAG_m
+#undef FLAG_v
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// ionice ^tc#<0>3=2n#<0>7=5p# ^tc#<0>3=2n#<0>7=5p#
+#undef OPTSTR_ionice
+#define OPTSTR_ionice "^tc#<0>3=2n#<0>7=5p#"
+#ifdef CLEANUP_ionice
+#undef CLEANUP_ionice
+#undef FOR_ionice
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_t
+#endif
+
+// iorenice ?<1>3 ?<1>3
+#undef OPTSTR_iorenice
+#define OPTSTR_iorenice "?<1>3"
+#ifdef CLEANUP_iorenice
+#undef CLEANUP_iorenice
+#undef FOR_iorenice
+#endif
+
+// iotop >0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq >0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq
+#undef OPTSTR_iotop
+#define OPTSTR_iotop ">0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq"
+#ifdef CLEANUP_iotop
+#undef CLEANUP_iotop
+#undef FOR_iotop
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_O
+#undef FLAG_K
+#undef FLAG_a
+#undef FLAG_A
+#endif
+
+// ip    
+#undef OPTSTR_ip
+#define OPTSTR_ip 0
+#ifdef CLEANUP_ip
+#undef CLEANUP_ip
+#undef FOR_ip
+#endif
+
+// ipcrm   m*M*s*S*q*Q*
+#undef OPTSTR_ipcrm
+#define OPTSTR_ipcrm "m*M*s*S*q*Q*"
+#ifdef CLEANUP_ipcrm
+#undef CLEANUP_ipcrm
+#undef FOR_ipcrm
+#undef FLAG_Q
+#undef FLAG_q
+#undef FLAG_S
+#undef FLAG_s
+#undef FLAG_M
+#undef FLAG_m
+#endif
+
+// ipcs   acptulsqmi#
+#undef OPTSTR_ipcs
+#define OPTSTR_ipcs "acptulsqmi#"
+#ifdef CLEANUP_ipcs
+#undef CLEANUP_ipcs
+#undef FOR_ipcs
+#undef FLAG_i
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_a
+#endif
+
+// kill ?ls:  ?ls: 
+#undef OPTSTR_kill
+#define OPTSTR_kill "?ls: "
+#ifdef CLEANUP_kill
+#undef CLEANUP_kill
+#undef FOR_kill
+#undef FLAG_s
+#undef FLAG_l
+#endif
+
+// killall ?s:ilqvw ?s:ilqvw
+#undef OPTSTR_killall
+#define OPTSTR_killall "?s:ilqvw"
+#ifdef CLEANUP_killall
+#undef CLEANUP_killall
+#undef FOR_killall
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_i
+#undef FLAG_s
+#endif
+
+// killall5   ?o*ls: [!lo][!ls]
+#undef OPTSTR_killall5
+#define OPTSTR_killall5 "?o*ls: [!lo][!ls]"
+#ifdef CLEANUP_killall5
+#undef CLEANUP_killall5
+#undef FOR_killall5
+#undef FLAG_s
+#undef FLAG_l
+#undef FLAG_o
+#endif
+
+// klogd   c#<1>8n
+#undef OPTSTR_klogd
+#define OPTSTR_klogd "c#<1>8n"
+#ifdef CLEANUP_klogd
+#undef CLEANUP_klogd
+#undef FOR_klogd
+#undef FLAG_n
+#undef FLAG_c
+#endif
+
+// last   f:W
+#undef OPTSTR_last
+#define OPTSTR_last "f:W"
+#ifdef CLEANUP_last
+#undef CLEANUP_last
+#undef FOR_last
+#undef FLAG_W
+#undef FLAG_f
+#endif
+
+// link   <2>2
+#undef OPTSTR_link
+#define OPTSTR_link "<2>2"
+#ifdef CLEANUP_link
+#undef CLEANUP_link
+#undef FOR_link
+#endif
+
+// ln <1rt:Tvnfs <1rt:Tvnfs
+#undef OPTSTR_ln
+#define OPTSTR_ln "<1rt:Tvnfs"
+#ifdef CLEANUP_ln
+#undef CLEANUP_ln
+#undef FOR_ln
+#undef FLAG_s
+#undef FLAG_f
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_r
+#endif
+
+// load_policy <1>1 <1>1
+#undef OPTSTR_load_policy
+#define OPTSTR_load_policy "<1>1"
+#ifdef CLEANUP_load_policy
+#undef CLEANUP_load_policy
+#undef FOR_load_policy
+#endif
+
+// log <1p:t: <1p:t:
+#undef OPTSTR_log
+#define OPTSTR_log "<1p:t:"
+#ifdef CLEANUP_log
+#undef CLEANUP_log
+#undef FOR_log
+#undef FLAG_t
+#undef FLAG_p
+#endif
+
+// logger   t:p:s
+#undef OPTSTR_logger
+#define OPTSTR_logger "t:p:s"
+#ifdef CLEANUP_logger
+#undef CLEANUP_logger
+#undef FOR_logger
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_t
+#endif
+
+// login   >1f:ph:
+#undef OPTSTR_login
+#define OPTSTR_login ">1f:ph:"
+#ifdef CLEANUP_login
+#undef CLEANUP_login
+#undef FOR_login
+#undef FLAG_h
+#undef FLAG_p
+#undef FLAG_f
+#endif
+
+// logname >0 >0
+#undef OPTSTR_logname
+#define OPTSTR_logname ">0"
+#ifdef CLEANUP_logname
+#undef CLEANUP_logname
+#undef FOR_logname
+#endif
+
+// logwrapper    
+#undef OPTSTR_logwrapper
+#define OPTSTR_logwrapper 0
+#ifdef CLEANUP_logwrapper
+#undef CLEANUP_logwrapper
+#undef FOR_logwrapper
+#endif
+
+// losetup >2S(sizelimit)#s(show)ro#j:fdcaD[!afj] >2S(sizelimit)#s(show)ro#j:fdcaD[!afj]
+#undef OPTSTR_losetup
+#define OPTSTR_losetup ">2S(sizelimit)#s(show)ro#j:fdcaD[!afj]"
+#ifdef CLEANUP_losetup
+#undef CLEANUP_losetup
+#undef FOR_losetup
+#undef FLAG_D
+#undef FLAG_a
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_f
+#undef FLAG_j
+#undef FLAG_o
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_S
+#endif
+
+// ls (color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb] (color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]
+#undef OPTSTR_ls
+#define OPTSTR_ls "(color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]"
+#ifdef CLEANUP_ls
+#undef CLEANUP_ls
+#undef FOR_ls
+#undef FLAG_1
+#undef FLAG_x
+#undef FLAG_w
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_q
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_l
+#undef FLAG_k
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_b
+#undef FLAG_a
+#undef FLAG_S
+#undef FLAG_R
+#undef FLAG_L
+#undef FLAG_H
+#undef FLAG_F
+#undef FLAG_C
+#undef FLAG_A
+#undef FLAG_o
+#undef FLAG_g
+#undef FLAG_Z
+#undef FLAG_show_control_chars
+#undef FLAG_full_time
+#undef FLAG_color
+#endif
+
+// lsattr ldapvR ldapvR
+#undef OPTSTR_lsattr
+#define OPTSTR_lsattr "ldapvR"
+#ifdef CLEANUP_lsattr
+#undef CLEANUP_lsattr
+#undef FOR_lsattr
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_p
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_l
+#endif
+
+// lsmod    
+#undef OPTSTR_lsmod
+#define OPTSTR_lsmod 0
+#ifdef CLEANUP_lsmod
+#undef CLEANUP_lsmod
+#undef FOR_lsmod
+#endif
+
+// lsof lp*t lp*t
+#undef OPTSTR_lsof
+#define OPTSTR_lsof "lp*t"
+#ifdef CLEANUP_lsof
+#undef CLEANUP_lsof
+#undef FOR_lsof
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_l
+#endif
+
+// lspci emkn emkn@i:
+#undef OPTSTR_lspci
+#define OPTSTR_lspci "emkn"
+#ifdef CLEANUP_lspci
+#undef CLEANUP_lspci
+#undef FOR_lspci
+#undef FLAG_i
+#undef FLAG_n
+#undef FLAG_k
+#undef FLAG_m
+#undef FLAG_e
+#endif
+
+// lsusb    
+#undef OPTSTR_lsusb
+#define OPTSTR_lsusb 0
+#ifdef CLEANUP_lsusb
+#undef CLEANUP_lsusb
+#undef FOR_lsusb
+#endif
+
+// makedevs <1>1d: <1>1d:
+#undef OPTSTR_makedevs
+#define OPTSTR_makedevs "<1>1d:"
+#ifdef CLEANUP_makedevs
+#undef CLEANUP_makedevs
+#undef FOR_makedevs
+#undef FLAG_d
+#endif
+
+// man   k:M:
+#undef OPTSTR_man
+#define OPTSTR_man "k:M:"
+#ifdef CLEANUP_man
+#undef CLEANUP_man
+#undef FOR_man
+#undef FLAG_M
+#undef FLAG_k
+#endif
+
+// mcookie   v(verbose)V(version)
+#undef OPTSTR_mcookie
+#define OPTSTR_mcookie "v(verbose)V(version)"
+#ifdef CLEANUP_mcookie
+#undef CLEANUP_mcookie
+#undef FOR_mcookie
+#undef FLAG_V
+#undef FLAG_v
+#endif
+
+// md5sum bc(check)s(status)[!bc] bc(check)s(status)[!bc]
+#undef OPTSTR_md5sum
+#define OPTSTR_md5sum "bc(check)s(status)[!bc]"
+#ifdef CLEANUP_md5sum
+#undef CLEANUP_md5sum
+#undef FOR_md5sum
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// mdev   s
+#undef OPTSTR_mdev
+#define OPTSTR_mdev "s"
+#ifdef CLEANUP_mdev
+#undef CLEANUP_mdev
+#undef FOR_mdev
+#undef FLAG_s
+#endif
+
+// microcom <1>1s#=115200X <1>1s#=115200X
+#undef OPTSTR_microcom
+#define OPTSTR_microcom "<1>1s#=115200X"
+#ifdef CLEANUP_microcom
+#undef CLEANUP_microcom
+#undef FOR_microcom
+#undef FLAG_X
+#undef FLAG_s
+#endif
+
+// mix   c:d:l#r#
+#undef OPTSTR_mix
+#define OPTSTR_mix "c:d:l#r#"
+#ifdef CLEANUP_mix
+#undef CLEANUP_mix
+#undef FOR_mix
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// mkdir <1Z:vp(parent)(parents)m: <1Z:vp(parent)(parents)m:
+#undef OPTSTR_mkdir
+#define OPTSTR_mkdir "<1Z:vp(parent)(parents)m:"
+#ifdef CLEANUP_mkdir
+#undef CLEANUP_mkdir
+#undef FOR_mkdir
+#undef FLAG_m
+#undef FLAG_p
+#undef FLAG_v
+#undef FLAG_Z
+#endif
+
+// mke2fs   <1>2g:Fnqm#N#i#b#
+#undef OPTSTR_mke2fs
+#define OPTSTR_mke2fs "<1>2g:Fnqm#N#i#b#"
+#ifdef CLEANUP_mke2fs
+#undef CLEANUP_mke2fs
+#undef FOR_mke2fs
+#undef FLAG_b
+#undef FLAG_i
+#undef FLAG_N
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_n
+#undef FLAG_F
+#undef FLAG_g
+#endif
+
+// mkfifo <1Z:m: <1Z:m:
+#undef OPTSTR_mkfifo
+#define OPTSTR_mkfifo "<1Z:m:"
+#ifdef CLEANUP_mkfifo
+#undef CLEANUP_mkfifo
+#undef FOR_mkfifo
+#undef FLAG_m
+#undef FLAG_Z
+#endif
+
+// mknod <2>4m(mode):Z: <2>4m(mode):Z:
+#undef OPTSTR_mknod
+#define OPTSTR_mknod "<2>4m(mode):Z:"
+#ifdef CLEANUP_mknod
+#undef CLEANUP_mknod
+#undef FOR_mknod
+#undef FLAG_Z
+#undef FLAG_m
+#endif
+
+// mkpasswd   >2S:m:P#=0<0
+#undef OPTSTR_mkpasswd
+#define OPTSTR_mkpasswd ">2S:m:P#=0<0"
+#ifdef CLEANUP_mkpasswd
+#undef CLEANUP_mkpasswd
+#undef FOR_mkpasswd
+#undef FLAG_P
+#undef FLAG_m
+#undef FLAG_S
+#endif
+
+// mkswap <1>1L: <1>1L:
+#undef OPTSTR_mkswap
+#define OPTSTR_mkswap "<1>1L:"
+#ifdef CLEANUP_mkswap
+#undef CLEANUP_mkswap
+#undef FOR_mkswap
+#undef FLAG_L
+#endif
+
+// mktemp >1(tmpdir);:uqd(directory)p:t >1(tmpdir);:uqd(directory)p:t
+#undef OPTSTR_mktemp
+#define OPTSTR_mktemp ">1(tmpdir);:uqd(directory)p:t"
+#ifdef CLEANUP_mktemp
+#undef CLEANUP_mktemp
+#undef FOR_mktemp
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_d
+#undef FLAG_q
+#undef FLAG_u
+#undef FLAG_tmpdir
+#endif
+
+// modinfo <1b:k:F:0 <1b:k:F:0
+#undef OPTSTR_modinfo
+#define OPTSTR_modinfo "<1b:k:F:0"
+#ifdef CLEANUP_modinfo
+#undef CLEANUP_modinfo
+#undef FOR_modinfo
+#undef FLAG_0
+#undef FLAG_F
+#undef FLAG_k
+#undef FLAG_b
+#endif
+
+// modprobe alrqvsDbd* alrqvsDbd*
+#undef OPTSTR_modprobe
+#define OPTSTR_modprobe "alrqvsDbd*"
+#ifdef CLEANUP_modprobe
+#undef CLEANUP_modprobe
+#undef FOR_modprobe
+#undef FLAG_d
+#undef FLAG_b
+#undef FLAG_D
+#undef FLAG_s
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_a
+#endif
+
+// more    
+#undef OPTSTR_more
+#define OPTSTR_more 0
+#ifdef CLEANUP_more
+#undef CLEANUP_more
+#undef FOR_more
+#endif
+
+// mount ?O:afnrvwt:o*[-rw] ?O:afnrvwt:o*[-rw]
+#undef OPTSTR_mount
+#define OPTSTR_mount "?O:afnrvwt:o*[-rw]"
+#ifdef CLEANUP_mount
+#undef CLEANUP_mount
+#undef FOR_mount
+#undef FLAG_o
+#undef FLAG_t
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_a
+#undef FLAG_O
+#endif
+
+// mountpoint <1qdx[-dx] <1qdx[-dx]
+#undef OPTSTR_mountpoint
+#define OPTSTR_mountpoint "<1qdx[-dx]"
+#ifdef CLEANUP_mountpoint
+#undef CLEANUP_mountpoint
+#undef FOR_mountpoint
+#undef FLAG_x
+#undef FLAG_d
+#undef FLAG_q
+#endif
+
+// mv <2vnF(remove-destination)fiT[-ni] <2vnF(remove-destination)fiT[-ni]
+#undef OPTSTR_mv
+#define OPTSTR_mv "<2vnF(remove-destination)fiT[-ni]"
+#ifdef CLEANUP_mv
+#undef CLEANUP_mv
+#undef FOR_mv
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_F
+#undef FLAG_n
+#undef FLAG_v
+#endif
+
+// nbd_client <3>3ns <3>3ns
+#undef OPTSTR_nbd_client
+#define OPTSTR_nbd_client "<3>3ns"
+#ifdef CLEANUP_nbd_client
+#undef CLEANUP_nbd_client
+#undef FOR_nbd_client
+#undef FLAG_s
+#undef FLAG_n
+#endif
+
+// netcat ^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U] ^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U]
+#undef OPTSTR_netcat
+#define OPTSTR_netcat "^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U]"
+#ifdef CLEANUP_netcat
+#undef CLEANUP_netcat
+#undef FOR_netcat
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_f
+#undef FLAG_s
+#undef FLAG_q
+#undef FLAG_p
+#undef FLAG_W
+#undef FLAG_w
+#undef FLAG_L
+#undef FLAG_l
+#undef FLAG_E
+#undef FLAG_t
+#endif
+
+// netstat pWrxwutneal pWrxwutneal
+#undef OPTSTR_netstat
+#define OPTSTR_netstat "pWrxwutneal"
+#ifdef CLEANUP_netstat
+#undef CLEANUP_netstat
+#undef FOR_netstat
+#undef FLAG_l
+#undef FLAG_a
+#undef FLAG_e
+#undef FLAG_n
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_r
+#undef FLAG_W
+#undef FLAG_p
+#endif
+
+// nice ^<1n# ^<1n#
+#undef OPTSTR_nice
+#define OPTSTR_nice "^<1n#"
+#ifdef CLEANUP_nice
+#undef CLEANUP_nice
+#undef FOR_nice
+#undef FLAG_n
+#endif
+
+// nl v#=1l#w#<0=6Eb:n:s: v#=1l#w#<0=6Eb:n:s:
+#undef OPTSTR_nl
+#define OPTSTR_nl "v#=1l#w#<0=6Eb:n:s:"
+#ifdef CLEANUP_nl
+#undef CLEANUP_nl
+#undef FOR_nl
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_b
+#undef FLAG_E
+#undef FLAG_w
+#undef FLAG_l
+#undef FLAG_v
+#endif
+
+// nohup <1^ <1^
+#undef OPTSTR_nohup
+#define OPTSTR_nohup "<1^"
+#ifdef CLEANUP_nohup
+#undef CLEANUP_nohup
+#undef FOR_nohup
+#endif
+
+// nproc (all) (all)
+#undef OPTSTR_nproc
+#define OPTSTR_nproc "(all)"
+#ifdef CLEANUP_nproc
+#undef CLEANUP_nproc
+#undef FOR_nproc
+#undef FLAG_all
+#endif
+
+// nsenter <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);
+#undef OPTSTR_nsenter
+#define OPTSTR_nsenter "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);"
+#ifdef CLEANUP_nsenter
+#undef CLEANUP_nsenter
+#undef FOR_nsenter
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_i
+#undef FLAG_t
+#undef FLAG_F
+#endif
+
+// od j#vw#<1=16N#xsodcbA:t* j#vw#<1=16N#xsodcbA:t*
+#undef OPTSTR_od
+#define OPTSTR_od "j#vw#<1=16N#xsodcbA:t*"
+#ifdef CLEANUP_od
+#undef CLEANUP_od
+#undef FOR_od
+#undef FLAG_t
+#undef FLAG_A
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_o
+#undef FLAG_s
+#undef FLAG_x
+#undef FLAG_N
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_j
+#endif
+
+// oneit   ^<1nc:p3[!pn]
+#undef OPTSTR_oneit
+#define OPTSTR_oneit "^<1nc:p3[!pn]"
+#ifdef CLEANUP_oneit
+#undef CLEANUP_oneit
+#undef FOR_oneit
+#undef FLAG_3
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// openvt   c#<1>63sw
+#undef OPTSTR_openvt
+#define OPTSTR_openvt "c#<1>63sw"
+#ifdef CLEANUP_openvt
+#undef CLEANUP_openvt
+#undef FOR_openvt
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_c
+#endif
+
+// partprobe <1 <1
+#undef OPTSTR_partprobe
+#define OPTSTR_partprobe "<1"
+#ifdef CLEANUP_partprobe
+#undef CLEANUP_partprobe
+#undef FOR_partprobe
+#endif
+
+// passwd   >1a:dlu
+#undef OPTSTR_passwd
+#define OPTSTR_passwd ">1a:dlu"
+#ifdef CLEANUP_passwd
+#undef CLEANUP_passwd
+#undef FOR_passwd
+#undef FLAG_u
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_a
+#endif
+
+// paste d:s d:s
+#undef OPTSTR_paste
+#define OPTSTR_paste "d:s"
+#ifdef CLEANUP_paste
+#undef CLEANUP_paste
+#undef FOR_paste
+#undef FLAG_s
+#undef FLAG_d
+#endif
+
+// patch >2(no-backup-if-mismatch)(dry-run)F#g#fulp#d:i:Rs(quiet) >2(no-backup-if-mismatch)(dry-run)xF#g#fulp#d:i:Rs(quiet)
+#undef OPTSTR_patch
+#define OPTSTR_patch ">2(no-backup-if-mismatch)(dry-run)F#g#fulp#d:i:Rs(quiet)"
+#ifdef CLEANUP_patch
+#undef CLEANUP_patch
+#undef FOR_patch
+#undef FLAG_s
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_d
+#undef FLAG_p
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_F
+#undef FLAG_x
+#undef FLAG_dry_run
+#undef FLAG_no_backup_if_mismatch
+#endif
+
+// pgrep ?cld:u*U*t*s*P*g*G*fnovxL:[-no] ?cld:u*U*t*s*P*g*G*fnovxL:[-no]
+#undef OPTSTR_pgrep
+#define OPTSTR_pgrep "?cld:u*U*t*s*P*g*G*fnovxL:[-no]"
+#ifdef CLEANUP_pgrep
+#undef CLEANUP_pgrep
+#undef FOR_pgrep
+#undef FLAG_L
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_P
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// pidof <1so:x <1so:x
+#undef OPTSTR_pidof
+#define OPTSTR_pidof "<1so:x"
+#ifdef CLEANUP_pidof
+#undef CLEANUP_pidof
+#undef FOR_pidof
+#undef FLAG_x
+#undef FLAG_o
+#undef FLAG_s
+#endif
+
+// ping <1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46] <1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]
+#undef OPTSTR_ping
+#define OPTSTR_ping "<1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]"
+#ifdef CLEANUP_ping
+#undef CLEANUP_ping
+#undef FOR_ping
+#undef FLAG_I
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_f
+#undef FLAG_q
+#undef FLAG_w
+#undef FLAG_W
+#undef FLAG_i
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_t
+#undef FLAG_m
+#endif
+
+// pivot_root <2>2 <2>2
+#undef OPTSTR_pivot_root
+#define OPTSTR_pivot_root "<2>2"
+#ifdef CLEANUP_pivot_root
+#undef CLEANUP_pivot_root
+#undef FOR_pivot_root
+#endif
+
+// pkill ?Vu*U*t*s*P*g*G*fnovxl:[-no] ?Vu*U*t*s*P*g*G*fnovxl:[-no]
+#undef OPTSTR_pkill
+#define OPTSTR_pkill "?Vu*U*t*s*P*g*G*fnovxl:[-no]"
+#ifdef CLEANUP_pkill
+#undef CLEANUP_pkill
+#undef FOR_pkill
+#undef FLAG_l
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_P
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_V
+#endif
+
+// pmap <1xq <1xq
+#undef OPTSTR_pmap
+#define OPTSTR_pmap "<1xq"
+#ifdef CLEANUP_pmap
+#undef CLEANUP_pmap
+#undef FOR_pmap
+#undef FLAG_q
+#undef FLAG_x
+#endif
+
+// printenv (null)0 (null)0
+#undef OPTSTR_printenv
+#define OPTSTR_printenv "(null)0"
+#ifdef CLEANUP_printenv
+#undef CLEANUP_printenv
+#undef FOR_printenv
+#undef FLAG_0
+#undef FLAG_null
+#endif
+
+// printf <1?^ <1?^
+#undef OPTSTR_printf
+#define OPTSTR_printf "<1?^"
+#ifdef CLEANUP_printf
+#undef CLEANUP_printf
+#undef FOR_printf
+#endif
+
+// ps k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO] k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]
+#undef OPTSTR_ps
+#define OPTSTR_ps "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]"
+#ifdef CLEANUP_ps
+#undef CLEANUP_ps
+#undef FOR_ps
+#undef FLAG_Z
+#undef FLAG_w
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_O
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_M
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_d
+#undef FLAG_A
+#undef FLAG_a
+#undef FLAG_P
+#undef FLAG_k
+#endif
+
+// pwd >0LP[-LP] >0LP[-LP]
+#undef OPTSTR_pwd
+#define OPTSTR_pwd ">0LP[-LP]"
+#ifdef CLEANUP_pwd
+#undef CLEANUP_pwd
+#undef FOR_pwd
+#undef FLAG_P
+#undef FLAG_L
+#endif
+
+// pwdx <1a <1a
+#undef OPTSTR_pwdx
+#define OPTSTR_pwdx "<1a"
+#ifdef CLEANUP_pwdx
+#undef CLEANUP_pwdx
+#undef FOR_pwdx
+#undef FLAG_a
+#endif
+
+// pwgen   >2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]
+#undef OPTSTR_pwgen
+#define OPTSTR_pwgen ">2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]"
+#ifdef CLEANUP_pwgen
+#undef CLEANUP_pwgen
+#undef FOR_pwgen
+#undef FLAG_0
+#undef FLAG_A
+#undef FLAG_v
+#undef FLAG_1
+#undef FLAG_C
+#undef FLAG_h
+#undef FLAG_B
+#undef FLAG_s
+#undef FLAG_y
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_r
+#endif
+
+// readahead    
+#undef OPTSTR_readahead
+#define OPTSTR_readahead 0
+#ifdef CLEANUP_readahead
+#undef CLEANUP_readahead
+#undef FOR_readahead
+#endif
+
+// readelf <1(dyn-syms)adehlnp:SsWx: <1(dyn-syms)adehlnp:SsWx:
+#undef OPTSTR_readelf
+#define OPTSTR_readelf "<1(dyn-syms)adehlnp:SsWx:"
+#ifdef CLEANUP_readelf
+#undef CLEANUP_readelf
+#undef FOR_readelf
+#undef FLAG_x
+#undef FLAG_W
+#undef FLAG_s
+#undef FLAG_S
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_l
+#undef FLAG_h
+#undef FLAG_e
+#undef FLAG_d
+#undef FLAG_a
+#undef FLAG_dyn_syms
+#endif
+
+// readlink <1nqmef(canonicalize)[-mef] <1nqmef(canonicalize)[-mef]
+#undef OPTSTR_readlink
+#define OPTSTR_readlink "<1nqmef(canonicalize)[-mef]"
+#ifdef CLEANUP_readlink
+#undef CLEANUP_readlink
+#undef FOR_readlink
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_n
+#endif
+
+// realpath <1 <1
+#undef OPTSTR_realpath
+#define OPTSTR_realpath "<1"
+#ifdef CLEANUP_realpath
+#undef CLEANUP_realpath
+#undef FOR_realpath
+#endif
+
+// reboot   fn
+#undef OPTSTR_reboot
+#define OPTSTR_reboot "fn"
+#ifdef CLEANUP_reboot
+#undef CLEANUP_reboot
+#undef FOR_reboot
+#undef FLAG_n
+#undef FLAG_f
+#endif
+
+// renice <1gpun#| <1gpun#|
+#undef OPTSTR_renice
+#define OPTSTR_renice "<1gpun#|"
+#ifdef CLEANUP_renice
+#undef CLEANUP_renice
+#undef FOR_renice
+#undef FLAG_n
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_g
+#endif
+
+// reset    
+#undef OPTSTR_reset
+#define OPTSTR_reset 0
+#ifdef CLEANUP_reset
+#undef CLEANUP_reset
+#undef FOR_reset
+#endif
+
+// restorecon <1DFnRrv <1DFnRrv
+#undef OPTSTR_restorecon
+#define OPTSTR_restorecon "<1DFnRrv"
+#ifdef CLEANUP_restorecon
+#undef CLEANUP_restorecon
+#undef FOR_restorecon
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_R
+#undef FLAG_n
+#undef FLAG_F
+#undef FLAG_D
+#endif
+
+// rev    
+#undef OPTSTR_rev
+#define OPTSTR_rev 0
+#ifdef CLEANUP_rev
+#undef CLEANUP_rev
+#undef FOR_rev
+#endif
+
+// rfkill <1>2 <1>2
+#undef OPTSTR_rfkill
+#define OPTSTR_rfkill "<1>2"
+#ifdef CLEANUP_rfkill
+#undef CLEANUP_rfkill
+#undef FOR_rfkill
+#endif
+
+// rm fiRrv[-fi] fiRrv[-fi]
+#undef OPTSTR_rm
+#define OPTSTR_rm "fiRrv[-fi]"
+#ifdef CLEANUP_rm
+#undef CLEANUP_rm
+#undef FOR_rm
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_f
+#endif
+
+// rmdir <1(ignore-fail-on-non-empty)p(parents) <1(ignore-fail-on-non-empty)p(parents)
+#undef OPTSTR_rmdir
+#define OPTSTR_rmdir "<1(ignore-fail-on-non-empty)p(parents)"
+#ifdef CLEANUP_rmdir
+#undef CLEANUP_rmdir
+#undef FOR_rmdir
+#undef FLAG_p
+#undef FLAG_ignore_fail_on_non_empty
+#endif
+
+// rmmod <1wf <1wf
+#undef OPTSTR_rmmod
+#define OPTSTR_rmmod "<1wf"
+#ifdef CLEANUP_rmmod
+#undef CLEANUP_rmmod
+#undef FOR_rmmod
+#undef FLAG_f
+#undef FLAG_w
+#endif
+
+// route   ?neA:
+#undef OPTSTR_route
+#define OPTSTR_route "?neA:"
+#ifdef CLEANUP_route
+#undef CLEANUP_route
+#undef FOR_route
+#undef FLAG_A
+#undef FLAG_e
+#undef FLAG_n
+#endif
+
+// rtcwake (list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu] (list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]
+#undef OPTSTR_rtcwake
+#define OPTSTR_rtcwake "(list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]"
+#ifdef CLEANUP_rtcwake
+#undef CLEANUP_rtcwake
+#undef FOR_rtcwake
+#undef FLAG_v
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_m
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_a
+#undef FLAG_auto
+#undef FLAG_list_modes
+#endif
+
+// runcon <2 <2
+#undef OPTSTR_runcon
+#define OPTSTR_runcon "<2"
+#ifdef CLEANUP_runcon
+#undef CLEANUP_runcon
+#undef FOR_runcon
+#endif
+
+// sed (help)(version)e*f*i:;nErz(null-data)s[+Er] (help)(version)e*f*i:;nErz(null-data)s[+Er]
+#undef OPTSTR_sed
+#define OPTSTR_sed "(help)(version)e*f*i:;nErz(null-data)s[+Er]"
+#ifdef CLEANUP_sed
+#undef CLEANUP_sed
+#undef FOR_sed
+#undef FLAG_s
+#undef FLAG_z
+#undef FLAG_r
+#undef FLAG_E
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_version
+#undef FLAG_help
+#endif
+
+// sendevent <4>4 <4>4
+#undef OPTSTR_sendevent
+#define OPTSTR_sendevent "<4>4"
+#ifdef CLEANUP_sendevent
+#undef CLEANUP_sendevent
+#undef FOR_sendevent
+#endif
+
+// seq <1>3?f:s:w[!fw] <1>3?f:s:w[!fw]
+#undef OPTSTR_seq
+#define OPTSTR_seq "<1>3?f:s:w[!fw]"
+#ifdef CLEANUP_seq
+#undef CLEANUP_seq
+#undef FOR_seq
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_f
+#endif
+
+// set    
+#undef OPTSTR_set
+#define OPTSTR_set 0
+#ifdef CLEANUP_set
+#undef CLEANUP_set
+#undef FOR_set
+#endif
+
+// setenforce <1>1 <1>1
+#undef OPTSTR_setenforce
+#define OPTSTR_setenforce "<1>1"
+#ifdef CLEANUP_setenforce
+#undef CLEANUP_setenforce
+#undef FOR_setenforce
+#endif
+
+// setfattr hn:|v:x:|[!xv] hn:|v:x:|[!xv]
+#undef OPTSTR_setfattr
+#define OPTSTR_setfattr "hn:|v:x:|[!xv]"
+#ifdef CLEANUP_setfattr
+#undef CLEANUP_setfattr
+#undef FOR_setfattr
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_n
+#undef FLAG_h
+#endif
+
+// setsid ^<1wcd[!dc] ^<1wcd[!dc]
+#undef OPTSTR_setsid
+#define OPTSTR_setsid "^<1wcd[!dc]"
+#ifdef CLEANUP_setsid
+#undef CLEANUP_setsid
+#undef FOR_setsid
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_w
+#endif
+
+// sh   0(noediting)(noprofile)(norc)sc:i
+#undef OPTSTR_sh
+#define OPTSTR_sh "0(noediting)(noprofile)(norc)sc:i"
+#ifdef CLEANUP_sh
+#undef CLEANUP_sh
+#undef FOR_sh
+#undef FLAG_i
+#undef FLAG_c
+#undef FLAG_s
+#undef FLAG_norc
+#undef FLAG_noprofile
+#undef FLAG_noediting
+#endif
+
+// sha1sum bc(check)s(status)[!bc] bc(check)s(status)[!bc]
+#undef OPTSTR_sha1sum
+#define OPTSTR_sha1sum "bc(check)s(status)[!bc]"
+#ifdef CLEANUP_sha1sum
+#undef CLEANUP_sha1sum
+#undef FOR_sha1sum
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// sha3sum   bSa#<128>512=224
+#undef OPTSTR_sha3sum
+#define OPTSTR_sha3sum "bSa#<128>512=224"
+#ifdef CLEANUP_sha3sum
+#undef CLEANUP_sha3sum
+#undef FOR_sha3sum
+#undef FLAG_a
+#undef FLAG_S
+#undef FLAG_b
+#endif
+
+// shift   >1
+#undef OPTSTR_shift
+#define OPTSTR_shift ">1"
+#ifdef CLEANUP_shift
+#undef CLEANUP_shift
+#undef FOR_shift
+#endif
+
+// shred   <1zxus#<1n#<1o#<0f
+#undef OPTSTR_shred
+#define OPTSTR_shred "<1zxus#<1n#<1o#<0f"
+#ifdef CLEANUP_shred
+#undef CLEANUP_shred
+#undef FOR_shred
+#undef FLAG_f
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_x
+#undef FLAG_z
+#endif
+
+// skeleton   (walrus)(blubber):;(also):e@d*c#b:a
+#undef OPTSTR_skeleton
+#define OPTSTR_skeleton "(walrus)(blubber):;(also):e@d*c#b:a"
+#ifdef CLEANUP_skeleton
+#undef CLEANUP_skeleton
+#undef FOR_skeleton
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_also
+#undef FLAG_blubber
+#undef FLAG_walrus
+#endif
+
+// skeleton_alias   b#dq
+#undef OPTSTR_skeleton_alias
+#define OPTSTR_skeleton_alias "b#dq"
+#ifdef CLEANUP_skeleton_alias
+#undef CLEANUP_skeleton_alias
+#undef FOR_skeleton_alias
+#undef FLAG_q
+#undef FLAG_d
+#undef FLAG_b
+#endif
+
+// sleep <1 <1
+#undef OPTSTR_sleep
+#define OPTSTR_sleep "<1"
+#ifdef CLEANUP_sleep
+#undef CLEANUP_sleep
+#undef FOR_sleep
+#endif
+
+// sntp   >1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]
+#undef OPTSTR_sntp
+#define OPTSTR_sntp ">1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]"
+#ifdef CLEANUP_sntp
+#undef CLEANUP_sntp
+#undef FOR_sntp
+#undef FLAG_r
+#undef FLAG_q
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_a
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_S
+#undef FLAG_m
+#undef FLAG_M
+#endif
+
+// sort gS:T:mo:k*t:xVbMcszdfirun gS:T:mo:k*t:xVbMcszdfirun
+#undef OPTSTR_sort
+#define OPTSTR_sort "gS:T:mo:k*t:xVbMcszdfirun"
+#ifdef CLEANUP_sort
+#undef CLEANUP_sort
+#undef FOR_sort
+#undef FLAG_n
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_z
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_M
+#undef FLAG_b
+#undef FLAG_V
+#undef FLAG_x
+#undef FLAG_t
+#undef FLAG_k
+#undef FLAG_o
+#undef FLAG_m
+#undef FLAG_T
+#undef FLAG_S
+#undef FLAG_g
+#endif
+
+// source   0<1
+#undef OPTSTR_source
+#define OPTSTR_source "0<1"
+#ifdef CLEANUP_source
+#undef CLEANUP_source
+#undef FOR_source
+#endif
+
+// split >2a#<1=2>9b#<1l#<1[!bl] >2a#<1=2>9b#<1l#<1[!bl]
+#undef OPTSTR_split
+#define OPTSTR_split ">2a#<1=2>9b#<1l#<1[!bl]"
+#ifdef CLEANUP_split
+#undef CLEANUP_split
+#undef FOR_split
+#undef FLAG_l
+#undef FLAG_b
+#undef FLAG_a
+#endif
+
+// stat <1c:(format)fLt <1c:(format)fLt
+#undef OPTSTR_stat
+#define OPTSTR_stat "<1c:(format)fLt"
+#ifdef CLEANUP_stat
+#undef CLEANUP_stat
+#undef FOR_stat
+#undef FLAG_t
+#undef FLAG_L
+#undef FLAG_f
+#undef FLAG_c
+#endif
+
+// strings t:an#=4<1fo t:an#=4<1fo
+#undef OPTSTR_strings
+#define OPTSTR_strings "t:an#=4<1fo"
+#ifdef CLEANUP_strings
+#undef CLEANUP_strings
+#undef FOR_strings
+#undef FLAG_o
+#undef FLAG_f
+#undef FLAG_n
+#undef FLAG_a
+#undef FLAG_t
+#endif
+
+// stty ?aF:g[!ag] ?aF:g[!ag]
+#undef OPTSTR_stty
+#define OPTSTR_stty "?aF:g[!ag]"
+#ifdef CLEANUP_stty
+#undef CLEANUP_stty
+#undef FOR_stty
+#undef FLAG_g
+#undef FLAG_F
+#undef FLAG_a
+#endif
+
+// su   ^lmpu:g:c:s:[!lmp]
+#undef OPTSTR_su
+#define OPTSTR_su "^lmpu:g:c:s:[!lmp]"
+#ifdef CLEANUP_su
+#undef CLEANUP_su
+#undef FOR_su
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_g
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_m
+#undef FLAG_l
+#endif
+
+// sulogin   t#<0=0
+#undef OPTSTR_sulogin
+#define OPTSTR_sulogin "t#<0=0"
+#ifdef CLEANUP_sulogin
+#undef CLEANUP_sulogin
+#undef FOR_sulogin
+#undef FLAG_t
+#endif
+
+// swapoff <1>1 <1>1
+#undef OPTSTR_swapoff
+#define OPTSTR_swapoff "<1>1"
+#ifdef CLEANUP_swapoff
+#undef CLEANUP_swapoff
+#undef FOR_swapoff
+#endif
+
+// swapon <1>1p#<0>32767d <1>1p#<0>32767d
+#undef OPTSTR_swapon
+#define OPTSTR_swapon "<1>1p#<0>32767d"
+#ifdef CLEANUP_swapon
+#undef CLEANUP_swapon
+#undef FOR_swapon
+#undef FLAG_d
+#undef FLAG_p
+#endif
+
+// switch_root   <2c:h
+#undef OPTSTR_switch_root
+#define OPTSTR_switch_root "<2c:h"
+#ifdef CLEANUP_switch_root
+#undef CLEANUP_switch_root
+#undef FOR_switch_root
+#undef FLAG_h
+#undef FLAG_c
+#endif
+
+// sync    
+#undef OPTSTR_sync
+#define OPTSTR_sync 0
+#ifdef CLEANUP_sync
+#undef CLEANUP_sync
+#undef FOR_sync
+#endif
+
+// sysctl ^neNqwpaA[!ap][!aq][!aw][+aA] ^neNqwpaA[!ap][!aq][!aw][+aA]
+#undef OPTSTR_sysctl
+#define OPTSTR_sysctl "^neNqwpaA[!ap][!aq][!aw][+aA]"
+#ifdef CLEANUP_sysctl
+#undef CLEANUP_sysctl
+#undef FOR_sysctl
+#undef FLAG_A
+#undef FLAG_a
+#undef FLAG_p
+#undef FLAG_w
+#undef FLAG_q
+#undef FLAG_N
+#undef FLAG_e
+#undef FLAG_n
+#endif
+
+// syslogd   >0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD
+#undef OPTSTR_syslogd
+#define OPTSTR_syslogd ">0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD"
+#ifdef CLEANUP_syslogd
+#undef CLEANUP_syslogd
+#undef FOR_syslogd
+#undef FLAG_D
+#undef FLAG_L
+#undef FLAG_K
+#undef FLAG_S
+#undef FLAG_n
+#undef FLAG_a
+#undef FLAG_f
+#undef FLAG_p
+#undef FLAG_O
+#undef FLAG_m
+#undef FLAG_s
+#undef FLAG_b
+#undef FLAG_R
+#undef FLAG_l
+#endif
+
+// tac    
+#undef OPTSTR_tac
+#define OPTSTR_tac 0
+#ifdef CLEANUP_tac
+#undef CLEANUP_tac
+#undef FOR_tac
+#endif
+
+// tail ?fc-n-[-cn] ?fc-n-[-cn]
+#undef OPTSTR_tail
+#define OPTSTR_tail "?fc-n-[-cn]"
+#ifdef CLEANUP_tail
+#undef CLEANUP_tail
+#undef FOR_tail
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_f
+#endif
+
+// tar &(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa] &(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]
+#undef OPTSTR_tar
+#define OPTSTR_tar "&(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]"
+#ifdef CLEANUP_tar
+#undef CLEANUP_tar
+#undef FOR_tar
+#undef FLAG_a
+#undef FLAG_f
+#undef FLAG_C
+#undef FLAG_T
+#undef FLAG_X
+#undef FLAG_m
+#undef FLAG_P
+#undef FLAG_O
+#undef FLAG_S
+#undef FLAG_z
+#undef FLAG_j
+#undef FLAG_J
+#undef FLAG_I
+#undef FLAG_v
+#undef FLAG_t
+#undef FLAG_x
+#undef FLAG_h
+#undef FLAG_c
+#undef FLAG_k
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_to_command
+#undef FLAG_owner
+#undef FLAG_group
+#undef FLAG_mtime
+#undef FLAG_mode
+#undef FLAG_exclude
+#undef FLAG_overwrite
+#undef FLAG_no_same_permissions
+#undef FLAG_numeric_owner
+#undef FLAG_no_recursion
+#undef FLAG_full_time
+#undef FLAG_restrict
+#endif
+
+// taskset <1^pa <1^pa
+#undef OPTSTR_taskset
+#define OPTSTR_taskset "<1^pa"
+#ifdef CLEANUP_taskset
+#undef CLEANUP_taskset
+#undef FOR_taskset
+#undef FLAG_a
+#undef FLAG_p
+#endif
+
+// tcpsvd   ^<3c#=30<1C:b#=20<0u:l:hEv
+#undef OPTSTR_tcpsvd
+#define OPTSTR_tcpsvd "^<3c#=30<1C:b#=20<0u:l:hEv"
+#ifdef CLEANUP_tcpsvd
+#undef CLEANUP_tcpsvd
+#undef FOR_tcpsvd
+#undef FLAG_v
+#undef FLAG_E
+#undef FLAG_h
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_C
+#undef FLAG_c
+#endif
+
+// tee ia ia
+#undef OPTSTR_tee
+#define OPTSTR_tee "ia"
+#ifdef CLEANUP_tee
+#undef CLEANUP_tee
+#undef FOR_tee
+#undef FLAG_a
+#undef FLAG_i
+#endif
+
+// telnet   <1>2
+#undef OPTSTR_telnet
+#define OPTSTR_telnet "<1>2"
+#ifdef CLEANUP_telnet
+#undef CLEANUP_telnet
+#undef FOR_telnet
+#endif
+
+// telnetd   w#<0b:p#<0>65535=23f:l:FSKi[!wi]
+#undef OPTSTR_telnetd
+#define OPTSTR_telnetd "w#<0b:p#<0>65535=23f:l:FSKi[!wi]"
+#ifdef CLEANUP_telnetd
+#undef CLEANUP_telnetd
+#undef FOR_telnetd
+#undef FLAG_i
+#undef FLAG_K
+#undef FLAG_S
+#undef FLAG_F
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_p
+#undef FLAG_b
+#undef FLAG_w
+#endif
+
+// test    
+#undef OPTSTR_test
+#define OPTSTR_test 0
+#ifdef CLEANUP_test
+#undef CLEANUP_test
+#undef FOR_test
+#endif
+
+// tftp   <1b#<8>65464r:l:g|p|[!gp]
+#undef OPTSTR_tftp
+#define OPTSTR_tftp "<1b#<8>65464r:l:g|p|[!gp]"
+#ifdef CLEANUP_tftp
+#undef CLEANUP_tftp
+#undef FOR_tftp
+#undef FLAG_p
+#undef FLAG_g
+#undef FLAG_l
+#undef FLAG_r
+#undef FLAG_b
+#endif
+
+// tftpd   rcu:l
+#undef OPTSTR_tftpd
+#define OPTSTR_tftpd "rcu:l"
+#ifdef CLEANUP_tftpd
+#undef CLEANUP_tftpd
+#undef FOR_tftpd
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_c
+#undef FLAG_r
+#endif
+
+// time <1^pv <1^pv
+#undef OPTSTR_time
+#define OPTSTR_time "<1^pv"
+#ifdef CLEANUP_time
+#undef CLEANUP_time
+#undef FOR_time
+#undef FLAG_v
+#undef FLAG_p
+#endif
+
+// timeout <2^(foreground)(preserve-status)vk:s(signal): <2^(foreground)(preserve-status)vk:s(signal):
+#undef OPTSTR_timeout
+#define OPTSTR_timeout "<2^(foreground)(preserve-status)vk:s(signal):"
+#ifdef CLEANUP_timeout
+#undef CLEANUP_timeout
+#undef FOR_timeout
+#undef FLAG_s
+#undef FLAG_k
+#undef FLAG_v
+#undef FLAG_preserve_status
+#undef FLAG_foreground
+#endif
+
+// top >0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO] >0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]
+#undef OPTSTR_top
+#define OPTSTR_top ">0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]"
+#ifdef CLEANUP_top
+#undef CLEANUP_top
+#undef FOR_top
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_O
+#endif
+
+// touch <1acd:fmr:t:h[!dtr] <1acd:fmr:t:h[!dtr]
+#undef OPTSTR_touch
+#define OPTSTR_touch "<1acd:fmr:t:h[!dtr]"
+#ifdef CLEANUP_touch
+#undef CLEANUP_touch
+#undef FOR_touch
+#undef FLAG_h
+#undef FLAG_t
+#undef FLAG_r
+#undef FLAG_m
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_a
+#endif
+
+// toybox    
+#undef OPTSTR_toybox
+#define OPTSTR_toybox 0
+#ifdef CLEANUP_toybox
+#undef CLEANUP_toybox
+#undef FOR_toybox
+#endif
+
+// tr ^>2<1Ccsd[+cC] ^>2<1Ccsd[+cC]
+#undef OPTSTR_tr
+#define OPTSTR_tr "^>2<1Ccsd[+cC]"
+#ifdef CLEANUP_tr
+#undef CLEANUP_tr
+#undef FOR_tr
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_C
+#endif
+
+// traceroute <1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64 <1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64
+#undef OPTSTR_traceroute
+#define OPTSTR_traceroute "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64"
+#ifdef CLEANUP_traceroute
+#undef CLEANUP_traceroute
+#undef FOR_traceroute
+#undef FLAG_4
+#undef FLAG_6
+#undef FLAG_F
+#undef FLAG_U
+#undef FLAG_I
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_m
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_w
+#undef FLAG_g
+#undef FLAG_z
+#undef FLAG_f
+#undef FLAG_i
+#endif
+
+// true    
+#undef OPTSTR_true
+#define OPTSTR_true 0
+#ifdef CLEANUP_true
+#undef CLEANUP_true
+#undef FOR_true
+#endif
+
+// truncate <1s:|c <1s:|c
+#undef OPTSTR_truncate
+#define OPTSTR_truncate "<1s:|c"
+#ifdef CLEANUP_truncate
+#undef CLEANUP_truncate
+#undef FOR_truncate
+#undef FLAG_c
+#undef FLAG_s
+#endif
+
+// tty s s
+#undef OPTSTR_tty
+#define OPTSTR_tty "s"
+#ifdef CLEANUP_tty
+#undef CLEANUP_tty
+#undef FOR_tty
+#undef FLAG_s
+#endif
+
+// tunctl <1>1t|d|u:T[!td] <1>1t|d|u:T[!td]
+#undef OPTSTR_tunctl
+#define OPTSTR_tunctl "<1>1t|d|u:T[!td]"
+#ifdef CLEANUP_tunctl
+#undef CLEANUP_tunctl
+#undef FOR_tunctl
+#undef FLAG_T
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_t
+#endif
+
+// ulimit >1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc] >1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]
+#undef OPTSTR_ulimit
+#define OPTSTR_ulimit ">1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]"
+#ifdef CLEANUP_ulimit
+#undef CLEANUP_ulimit
+#undef FOR_ulimit
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_i
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_R
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_a
+#undef FLAG_H
+#undef FLAG_S
+#undef FLAG_P
+#endif
+
+// umount cndDflrat*v[!na] cndDflrat*v[!na]
+#undef OPTSTR_umount
+#define OPTSTR_umount "cndDflrat*v[!na]"
+#ifdef CLEANUP_umount
+#undef CLEANUP_umount
+#undef FOR_umount
+#undef FLAG_v
+#undef FLAG_t
+#undef FLAG_a
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_n
+#undef FLAG_c
+#endif
+
+// uname oamvrns[+os] oamvrns[+os]
+#undef OPTSTR_uname
+#define OPTSTR_uname "oamvrns[+os]"
+#ifdef CLEANUP_uname
+#undef CLEANUP_uname
+#undef FOR_uname
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_r
+#undef FLAG_v
+#undef FLAG_m
+#undef FLAG_a
+#undef FLAG_o
+#endif
+
+// unicode   <1
+#undef OPTSTR_unicode
+#define OPTSTR_unicode "<1"
+#ifdef CLEANUP_unicode
+#undef CLEANUP_unicode
+#undef FOR_unicode
+#endif
+
+// uniq f#s#w#zicdu f#s#w#zicdu
+#undef OPTSTR_uniq
+#define OPTSTR_uniq "f#s#w#zicdu"
+#ifdef CLEANUP_uniq
+#undef CLEANUP_uniq
+#undef FOR_uniq
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_i
+#undef FLAG_z
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_f
+#endif
+
+// unix2dos    
+#undef OPTSTR_unix2dos
+#define OPTSTR_unix2dos 0
+#ifdef CLEANUP_unix2dos
+#undef CLEANUP_unix2dos
+#undef FOR_unix2dos
+#endif
+
+// unlink <1>1 <1>1
+#undef OPTSTR_unlink
+#define OPTSTR_unlink "<1>1"
+#ifdef CLEANUP_unlink
+#undef CLEANUP_unlink
+#undef FOR_unlink
+#endif
+
+// unset   fvn
+#undef OPTSTR_unset
+#define OPTSTR_unset "fvn"
+#ifdef CLEANUP_unset
+#undef CLEANUP_unset
+#undef FOR_unset
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_f
+#endif
+
+// unshare <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user); <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);
+#undef OPTSTR_unshare
+#define OPTSTR_unshare "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);"
+#ifdef CLEANUP_unshare
+#undef CLEANUP_unshare
+#undef FOR_unshare
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_i
+#undef FLAG_r
+#undef FLAG_f
+#endif
+
+// uptime >0ps >0ps
+#undef OPTSTR_uptime
+#define OPTSTR_uptime ">0ps"
+#ifdef CLEANUP_uptime
+#undef CLEANUP_uptime
+#undef FOR_uptime
+#undef FLAG_s
+#undef FLAG_p
+#endif
+
+// useradd   <1>2u#<0G:s:g:h:SDH
+#undef OPTSTR_useradd
+#define OPTSTR_useradd "<1>2u#<0G:s:g:h:SDH"
+#ifdef CLEANUP_useradd
+#undef CLEANUP_useradd
+#undef FOR_useradd
+#undef FLAG_H
+#undef FLAG_D
+#undef FLAG_S
+#undef FLAG_h
+#undef FLAG_g
+#undef FLAG_s
+#undef FLAG_G
+#undef FLAG_u
+#endif
+
+// userdel   <1>1r
+#undef OPTSTR_userdel
+#define OPTSTR_userdel "<1>1r"
+#ifdef CLEANUP_userdel
+#undef CLEANUP_userdel
+#undef FOR_userdel
+#undef FLAG_r
+#endif
+
+// usleep <1 <1
+#undef OPTSTR_usleep
+#define OPTSTR_usleep "<1"
+#ifdef CLEANUP_usleep
+#undef CLEANUP_usleep
+#undef FOR_usleep
+#endif
+
+// uudecode >1o: >1o:
+#undef OPTSTR_uudecode
+#define OPTSTR_uudecode ">1o:"
+#ifdef CLEANUP_uudecode
+#undef CLEANUP_uudecode
+#undef FOR_uudecode
+#undef FLAG_o
+#endif
+
+// uuencode <1>2m <1>2m
+#undef OPTSTR_uuencode
+#define OPTSTR_uuencode "<1>2m"
+#ifdef CLEANUP_uuencode
+#undef CLEANUP_uuencode
+#undef FOR_uuencode
+#undef FLAG_m
+#endif
+
+// uuidgen >0r(random) >0r(random)
+#undef OPTSTR_uuidgen
+#define OPTSTR_uuidgen ">0r(random)"
+#ifdef CLEANUP_uuidgen
+#undef CLEANUP_uuidgen
+#undef FOR_uuidgen
+#undef FLAG_r
+#endif
+
+// vconfig <2>4 <2>4
+#undef OPTSTR_vconfig
+#define OPTSTR_vconfig "<2>4"
+#ifdef CLEANUP_vconfig
+#undef CLEANUP_vconfig
+#undef FOR_vconfig
+#endif
+
+// vi >1s: >1s:
+#undef OPTSTR_vi
+#define OPTSTR_vi ">1s:"
+#ifdef CLEANUP_vi
+#undef CLEANUP_vi
+#undef FOR_vi
+#undef FLAG_s
+#endif
+
+// vmstat >2n >2n
+#undef OPTSTR_vmstat
+#define OPTSTR_vmstat ">2n"
+#ifdef CLEANUP_vmstat
+#undef CLEANUP_vmstat
+#undef FOR_vmstat
+#undef FLAG_n
+#endif
+
+// w    
+#undef OPTSTR_w
+#define OPTSTR_w 0
+#ifdef CLEANUP_w
+#undef CLEANUP_w
+#undef FOR_w
+#endif
+
+// watch ^<1n%<100=2000tebx ^<1n%<100=2000tebx
+#undef OPTSTR_watch
+#define OPTSTR_watch "^<1n%<100=2000tebx"
+#ifdef CLEANUP_watch
+#undef CLEANUP_watch
+#undef FOR_watch
+#undef FLAG_x
+#undef FLAG_b
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_n
+#endif
+
+// watchdog   <1>1Ft#=4<1T#=60<1
+#undef OPTSTR_watchdog
+#define OPTSTR_watchdog "<1>1Ft#=4<1T#=60<1"
+#ifdef CLEANUP_watchdog
+#undef CLEANUP_watchdog
+#undef FOR_watchdog
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_F
+#endif
+
+// wc mcwl mcwl
+#undef OPTSTR_wc
+#define OPTSTR_wc "mcwl"
+#ifdef CLEANUP_wc
+#undef CLEANUP_wc
+#undef FOR_wc
+#undef FLAG_l
+#undef FLAG_w
+#undef FLAG_c
+#undef FLAG_m
+#endif
+
+// wget   (no-check-certificate)O:
+#undef OPTSTR_wget
+#define OPTSTR_wget "(no-check-certificate)O:"
+#ifdef CLEANUP_wget
+#undef CLEANUP_wget
+#undef FOR_wget
+#undef FLAG_O
+#undef FLAG_no_check_certificate
+#endif
+
+// which <1a <1a
+#undef OPTSTR_which
+#define OPTSTR_which "<1a"
+#ifdef CLEANUP_which
+#undef CLEANUP_which
+#undef FOR_which
+#undef FLAG_a
+#endif
+
+// who   a
+#undef OPTSTR_who
+#define OPTSTR_who "a"
+#ifdef CLEANUP_who
+#undef CLEANUP_who
+#undef FOR_who
+#undef FLAG_a
+#endif
+
+// xargs ^E:P#<0=1optrn#<1(max-args)s#0[!0E] ^E:P#<0=1optrn#<1(max-args)s#0[!0E]
+#undef OPTSTR_xargs
+#define OPTSTR_xargs "^E:P#<0=1optrn#<1(max-args)s#0[!0E]"
+#ifdef CLEANUP_xargs
+#undef CLEANUP_xargs
+#undef FOR_xargs
+#undef FLAG_0
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_r
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_P
+#undef FLAG_E
+#endif
+
+// xxd >1c#l#o#g#<1=2iprs#[!rs] >1c#l#o#g#<1=2iprs#[!rs]
+#undef OPTSTR_xxd
+#define OPTSTR_xxd ">1c#l#o#g#<1=2iprs#[!rs]"
+#ifdef CLEANUP_xxd
+#undef CLEANUP_xxd
+#undef FOR_xxd
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_p
+#undef FLAG_i
+#undef FLAG_g
+#undef FLAG_o
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// xzcat    
+#undef OPTSTR_xzcat
+#define OPTSTR_xzcat 0
+#ifdef CLEANUP_xzcat
+#undef CLEANUP_xzcat
+#undef FOR_xzcat
+#endif
+
+// yes    
+#undef OPTSTR_yes
+#define OPTSTR_yes 0
+#ifdef CLEANUP_yes
+#undef CLEANUP_yes
+#undef FOR_yes
+#endif
+
+// zcat cdfk123456789[-123456789] cdfk123456789[-123456789]
+#undef OPTSTR_zcat
+#define OPTSTR_zcat "cdfk123456789[-123456789]"
+#ifdef CLEANUP_zcat
+#undef CLEANUP_zcat
+#undef FOR_zcat
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+#ifdef FOR_acpi
+#ifndef TT
+#define TT this.acpi
+#endif
+#define FLAG_V (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_b (1<<3)
+#define FLAG_a (1<<4)
+#endif
+
+#ifdef FOR_arch
+#ifndef TT
+#define TT this.arch
+#endif
+#endif
+
+#ifdef FOR_arp
+#ifndef TT
+#define TT this.arp
+#endif
+#define FLAG_H (FORCED_FLAG<<0)
+#define FLAG_A (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_v (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_arping
+#ifndef TT
+#define TT this.arping
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#define FLAG_D (FORCED_FLAG<<3)
+#define FLAG_U (FORCED_FLAG<<4)
+#define FLAG_A (FORCED_FLAG<<5)
+#define FLAG_c (FORCED_FLAG<<6)
+#define FLAG_w (FORCED_FLAG<<7)
+#define FLAG_I (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_ascii
+#ifndef TT
+#define TT this.ascii
+#endif
+#endif
+
+#ifdef FOR_base32
+#ifndef TT
+#define TT this.base32
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_base64
+#ifndef TT
+#define TT this.base64
+#endif
+#define FLAG_w (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_d (1<<2)
+#endif
+
+#ifdef FOR_basename
+#ifndef TT
+#define TT this.basename
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_bc
+#ifndef TT
+#define TT this.bc
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_blkdiscard
+#ifndef TT
+#define TT this.blkdiscard
+#endif
+#define FLAG_z (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_o (1<<2)
+#define FLAG_l (1<<3)
+#define FLAG_f (1<<4)
+#endif
+
+#ifdef FOR_blkid
+#ifndef TT
+#define TT this.blkid
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_L (1<<1)
+#define FLAG_U (1<<2)
+#endif
+
+#ifdef FOR_blockdev
+#ifndef TT
+#define TT this.blockdev
+#endif
+#define FLAG_rereadpt (1<<0)
+#define FLAG_flushbufs (1<<1)
+#define FLAG_setra (1<<2)
+#define FLAG_getra (1<<3)
+#define FLAG_getsize64 (1<<4)
+#define FLAG_getsize (1<<5)
+#define FLAG_getsz (1<<6)
+#define FLAG_setbsz (1<<7)
+#define FLAG_getbsz (1<<8)
+#define FLAG_getss (1<<9)
+#define FLAG_getro (1<<10)
+#define FLAG_setrw (1<<11)
+#define FLAG_setro (1<<12)
+#endif
+
+#ifdef FOR_bootchartd
+#ifndef TT
+#define TT this.bootchartd
+#endif
+#endif
+
+#ifdef FOR_brctl
+#ifndef TT
+#define TT this.brctl
+#endif
+#endif
+
+#ifdef FOR_bunzip2
+#ifndef TT
+#define TT this.bunzip2
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_c (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_bzcat
+#ifndef TT
+#define TT this.bzcat
+#endif
+#endif
+
+#ifdef FOR_cal
+#ifndef TT
+#define TT this.cal
+#endif
+#define FLAG_h (1<<0)
+#endif
+
+#ifdef FOR_cat
+#ifndef TT
+#define TT this.cat
+#endif
+#define FLAG_e (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_u (1<<3)
+#endif
+
+#ifdef FOR_catv
+#ifndef TT
+#define TT this.catv
+#endif
+#define FLAG_e (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_cd
+#ifndef TT
+#define TT this.cd
+#endif
+#define FLAG_P (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_chattr
+#ifndef TT
+#define TT this.chattr
+#endif
+#define FLAG_R (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_p (1<<2)
+#endif
+
+#ifdef FOR_chcon
+#ifndef TT
+#define TT this.chcon
+#endif
+#define FLAG_R (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_h (1<<2)
+#endif
+
+#ifdef FOR_chgrp
+#ifndef TT
+#define TT this.chgrp
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_R (1<<2)
+#define FLAG_H (1<<3)
+#define FLAG_L (1<<4)
+#define FLAG_P (1<<5)
+#define FLAG_h (1<<6)
+#endif
+
+#ifdef FOR_chmod
+#ifndef TT
+#define TT this.chmod
+#endif
+#define FLAG_R (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_v (1<<2)
+#endif
+
+#ifdef FOR_chroot
+#ifndef TT
+#define TT this.chroot
+#endif
+#endif
+
+#ifdef FOR_chrt
+#ifndef TT
+#define TT this.chrt
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_b (1<<3)
+#define FLAG_R (1<<4)
+#define FLAG_i (1<<5)
+#define FLAG_p (1<<6)
+#define FLAG_m (1<<7)
+#endif
+
+#ifdef FOR_chvt
+#ifndef TT
+#define TT this.chvt
+#endif
+#endif
+
+#ifdef FOR_cksum
+#ifndef TT
+#define TT this.cksum
+#endif
+#define FLAG_N (1<<0)
+#define FLAG_L (1<<1)
+#define FLAG_P (1<<2)
+#define FLAG_I (1<<3)
+#define FLAG_H (1<<4)
+#endif
+
+#ifdef FOR_clear
+#ifndef TT
+#define TT this.clear
+#endif
+#endif
+
+#ifdef FOR_cmp
+#ifndef TT
+#define TT this.cmp
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_l (1<<1)
+#endif
+
+#ifdef FOR_comm
+#ifndef TT
+#define TT this.comm
+#endif
+#define FLAG_1 (1<<0)
+#define FLAG_2 (1<<1)
+#define FLAG_3 (1<<2)
+#endif
+
+#ifdef FOR_count
+#ifndef TT
+#define TT this.count
+#endif
+#endif
+
+#ifdef FOR_cp
+#ifndef TT
+#define TT this.cp
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_F (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_v (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_a (1<<8)
+#define FLAG_d (1<<9)
+#define FLAG_r (1<<10)
+#define FLAG_p (1<<11)
+#define FLAG_P (1<<12)
+#define FLAG_L (1<<13)
+#define FLAG_H (1<<14)
+#define FLAG_R (1<<15)
+#define FLAG_D (1<<16)
+#define FLAG_preserve (1<<17)
+#endif
+
+#ifdef FOR_cpio
+#ifndef TT
+#define TT this.cpio
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_F (1<<2)
+#define FLAG_t (1<<3)
+#define FLAG_i (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_H (1<<6)
+#define FLAG_u (1<<7)
+#define FLAG_d (1<<8)
+#define FLAG_m (1<<9)
+#define FLAG_no_preserve_owner (1<<10)
+#define FLAG_quiet (1<<11)
+#endif
+
+#ifdef FOR_crc32
+#ifndef TT
+#define TT this.crc32
+#endif
+#endif
+
+#ifdef FOR_crond
+#ifndef TT
+#define TT this.crond
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_S (FORCED_FLAG<<4)
+#define FLAG_b (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_crontab
+#ifndef TT
+#define TT this.crontab
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_u (FORCED_FLAG<<3)
+#define FLAG_c (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_cut
+#ifndef TT
+#define TT this.cut
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_D (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_O (1<<4)
+#define FLAG_C (1<<5)
+#define FLAG_F (1<<6)
+#define FLAG_f (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_b (1<<9)
+#endif
+
+#ifdef FOR_date
+#ifndef TT
+#define TT this.date
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_I (1<<2)
+#define FLAG_D (1<<3)
+#define FLAG_d (1<<4)
+#endif
+
+#ifdef FOR_dd
+#ifndef TT
+#define TT this.dd
+#endif
+#endif
+
+#ifdef FOR_deallocvt
+#ifndef TT
+#define TT this.deallocvt
+#endif
+#endif
+
+#ifdef FOR_demo_many_options
+#ifndef TT
+#define TT this.demo_many_options
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_g (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_j (FORCED_FLAG<<9)
+#define FLAG_k (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_m (FORCED_FLAG<<12)
+#define FLAG_n (FORCED_FLAG<<13)
+#define FLAG_o (FORCED_FLAG<<14)
+#define FLAG_p (FORCED_FLAG<<15)
+#define FLAG_q (FORCED_FLAG<<16)
+#define FLAG_r (FORCED_FLAG<<17)
+#define FLAG_s (FORCED_FLAG<<18)
+#define FLAG_t (FORCED_FLAG<<19)
+#define FLAG_u (FORCED_FLAG<<20)
+#define FLAG_v (FORCED_FLAG<<21)
+#define FLAG_w (FORCED_FLAG<<22)
+#define FLAG_x (FORCED_FLAG<<23)
+#define FLAG_y (FORCED_FLAG<<24)
+#define FLAG_z (FORCED_FLAG<<25)
+#define FLAG_A (FORCED_FLAG<<26)
+#define FLAG_B (FORCED_FLAG<<27)
+#define FLAG_C (FORCED_FLAG<<28)
+#define FLAG_D (FORCED_FLAG<<29)
+#define FLAG_E (FORCED_FLAG<<30)
+#define FLAG_F (FORCED_FLAGLL<<31)
+#define FLAG_G (FORCED_FLAGLL<<32)
+#define FLAG_H (FORCED_FLAGLL<<33)
+#define FLAG_I (FORCED_FLAGLL<<34)
+#define FLAG_J (FORCED_FLAGLL<<35)
+#define FLAG_K (FORCED_FLAGLL<<36)
+#define FLAG_L (FORCED_FLAGLL<<37)
+#define FLAG_M (FORCED_FLAGLL<<38)
+#define FLAG_N (FORCED_FLAGLL<<39)
+#define FLAG_O (FORCED_FLAGLL<<40)
+#define FLAG_P (FORCED_FLAGLL<<41)
+#define FLAG_Q (FORCED_FLAGLL<<42)
+#define FLAG_R (FORCED_FLAGLL<<43)
+#define FLAG_S (FORCED_FLAGLL<<44)
+#define FLAG_T (FORCED_FLAGLL<<45)
+#define FLAG_U (FORCED_FLAGLL<<46)
+#define FLAG_V (FORCED_FLAGLL<<47)
+#define FLAG_W (FORCED_FLAGLL<<48)
+#define FLAG_X (FORCED_FLAGLL<<49)
+#define FLAG_Y (FORCED_FLAGLL<<50)
+#define FLAG_Z (FORCED_FLAGLL<<51)
+#endif
+
+#ifdef FOR_demo_number
+#ifndef TT
+#define TT this.demo_number
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#define FLAG_h (FORCED_FLAG<<4)
+#define FLAG_M (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_demo_scankey
+#ifndef TT
+#define TT this.demo_scankey
+#endif
+#endif
+
+#ifdef FOR_demo_utf8towc
+#ifndef TT
+#define TT this.demo_utf8towc
+#endif
+#endif
+
+#ifdef FOR_devmem
+#ifndef TT
+#define TT this.devmem
+#endif
+#endif
+
+#ifdef FOR_df
+#ifndef TT
+#define TT this.df
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_i (1<<2)
+#define FLAG_h (1<<3)
+#define FLAG_k (1<<4)
+#define FLAG_P (1<<5)
+#define FLAG_H (1<<6)
+#endif
+
+#ifdef FOR_dhcp
+#ifndef TT
+#define TT this.dhcp
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_q (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_o (FORCED_FLAG<<5)
+#define FLAG_a (FORCED_FLAG<<6)
+#define FLAG_C (FORCED_FLAG<<7)
+#define FLAG_R (FORCED_FLAG<<8)
+#define FLAG_B (FORCED_FLAG<<9)
+#define FLAG_S (FORCED_FLAG<<10)
+#define FLAG_i (FORCED_FLAG<<11)
+#define FLAG_p (FORCED_FLAG<<12)
+#define FLAG_s (FORCED_FLAG<<13)
+#define FLAG_t (FORCED_FLAG<<14)
+#define FLAG_T (FORCED_FLAG<<15)
+#define FLAG_A (FORCED_FLAG<<16)
+#define FLAG_O (FORCED_FLAG<<17)
+#define FLAG_r (FORCED_FLAG<<18)
+#define FLAG_x (FORCED_FLAG<<19)
+#define FLAG_F (FORCED_FLAG<<20)
+#define FLAG_H (FORCED_FLAG<<21)
+#define FLAG_V (FORCED_FLAG<<22)
+#endif
+
+#ifdef FOR_dhcp6
+#ifndef TT
+#define TT this.dhcp6
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_q (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_R (FORCED_FLAG<<5)
+#define FLAG_S (FORCED_FLAG<<6)
+#define FLAG_i (FORCED_FLAG<<7)
+#define FLAG_p (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_T (FORCED_FLAG<<11)
+#define FLAG_A (FORCED_FLAG<<12)
+#define FLAG_r (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_dhcpd
+#ifndef TT
+#define TT this.dhcpd
+#endif
+#define FLAG_6 (FORCED_FLAG<<0)
+#define FLAG_4 (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_i (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_diff
+#ifndef TT
+#define TT this.diff
+#endif
+#define FLAG_U (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_N (1<<2)
+#define FLAG_S (1<<3)
+#define FLAG_L (1<<4)
+#define FLAG_a (1<<5)
+#define FLAG_q (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_T (1<<8)
+#define FLAG_i (1<<9)
+#define FLAG_w (1<<10)
+#define FLAG_t (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_b (1<<13)
+#define FLAG_d (1<<14)
+#define FLAG_B (1<<15)
+#define FLAG_strip_trailing_cr (1<<16)
+#define FLAG_color (1<<17)
+#endif
+
+#ifdef FOR_dirname
+#ifndef TT
+#define TT this.dirname
+#endif
+#endif
+
+#ifdef FOR_dmesg
+#ifndef TT
+#define TT this.dmesg
+#endif
+#define FLAG_c (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_r (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_T (1<<5)
+#define FLAG_S (1<<6)
+#define FLAG_C (1<<7)
+#define FLAG_w (1<<8)
+#endif
+
+#ifdef FOR_dnsdomainname
+#ifndef TT
+#define TT this.dnsdomainname
+#endif
+#endif
+
+#ifdef FOR_dos2unix
+#ifndef TT
+#define TT this.dos2unix
+#endif
+#endif
+
+#ifdef FOR_du
+#ifndef TT
+#define TT this.du
+#endif
+#define FLAG_b (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_L (1<<3)
+#define FLAG_K (1<<4)
+#define FLAG_k (1<<5)
+#define FLAG_H (1<<6)
+#define FLAG_a (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_l (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_h (1<<11)
+#define FLAG_d (1<<12)
+#endif
+
+#ifdef FOR_dumpleases
+#ifndef TT
+#define TT this.dumpleases
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_echo
+#ifndef TT
+#define TT this.echo
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_e (1<<1)
+#define FLAG_E (1<<2)
+#endif
+
+#ifdef FOR_eject
+#ifndef TT
+#define TT this.eject
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_env
+#ifndef TT
+#define TT this.env
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_0 (1<<1)
+#define FLAG_i (1<<2)
+#endif
+
+#ifdef FOR_eval
+#ifndef TT
+#define TT this.eval
+#endif
+#endif
+
+#ifdef FOR_exec
+#ifndef TT
+#define TT this.exec
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_exit
+#ifndef TT
+#define TT this.exit
+#endif
+#endif
+
+#ifdef FOR_expand
+#ifndef TT
+#define TT this.expand
+#endif
+#define FLAG_t (1<<0)
+#endif
+
+#ifdef FOR_export
+#ifndef TT
+#define TT this.export
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_expr
+#ifndef TT
+#define TT this.expr
+#endif
+#endif
+
+#ifdef FOR_factor
+#ifndef TT
+#define TT this.factor
+#endif
+#endif
+
+#ifdef FOR_fallocate
+#ifndef TT
+#define TT this.fallocate
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_l (1<<1)
+#endif
+
+#ifdef FOR_false
+#ifndef TT
+#define TT this.false
+#endif
+#endif
+
+#ifdef FOR_fdisk
+#ifndef TT
+#define TT this.fdisk
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_H (FORCED_FLAG<<4)
+#define FLAG_C (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_file
+#ifndef TT
+#define TT this.file
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_L (1<<1)
+#define FLAG_h (1<<2)
+#define FLAG_b (1<<3)
+#endif
+
+#ifdef FOR_find
+#ifndef TT
+#define TT this.find
+#endif
+#define FLAG_L (1<<0)
+#define FLAG_H (1<<1)
+#endif
+
+#ifdef FOR_flock
+#ifndef TT
+#define TT this.flock
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_n (1<<3)
+#endif
+
+#ifdef FOR_fmt
+#ifndef TT
+#define TT this.fmt
+#endif
+#define FLAG_w (1<<0)
+#endif
+
+#ifdef FOR_fold
+#ifndef TT
+#define TT this.fold
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_free
+#ifndef TT
+#define TT this.free
+#endif
+#define FLAG_b (1<<0)
+#define FLAG_k (1<<1)
+#define FLAG_m (1<<2)
+#define FLAG_g (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_h (1<<5)
+#endif
+
+#ifdef FOR_freeramdisk
+#ifndef TT
+#define TT this.freeramdisk
+#endif
+#endif
+
+#ifdef FOR_fsck
+#ifndef TT
+#define TT this.fsck
+#endif
+#define FLAG_C (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_V (FORCED_FLAG<<2)
+#define FLAG_T (FORCED_FLAG<<3)
+#define FLAG_R (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_N (FORCED_FLAG<<6)
+#define FLAG_A (FORCED_FLAG<<7)
+#define FLAG_t (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_fsfreeze
+#ifndef TT
+#define TT this.fsfreeze
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_f (1<<1)
+#endif
+
+#ifdef FOR_fstype
+#ifndef TT
+#define TT this.fstype
+#endif
+#endif
+
+#ifdef FOR_fsync
+#ifndef TT
+#define TT this.fsync
+#endif
+#define FLAG_d (1<<0)
+#endif
+
+#ifdef FOR_ftpget
+#ifndef TT
+#define TT this.ftpget
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_M (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_L (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_s (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#define FLAG_v (FORCED_FLAG<<8)
+#define FLAG_u (FORCED_FLAG<<9)
+#define FLAG_p (FORCED_FLAG<<10)
+#define FLAG_c (FORCED_FLAG<<11)
+#define FLAG_P (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_getconf
+#ifndef TT
+#define TT this.getconf
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_getenforce
+#ifndef TT
+#define TT this.getenforce
+#endif
+#endif
+
+#ifdef FOR_getfattr
+#ifndef TT
+#define TT this.getfattr
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_h (1<<1)
+#define FLAG_d (1<<2)
+#define FLAG_only_values (1<<3)
+#endif
+
+#ifdef FOR_getopt
+#ifndef TT
+#define TT this.getopt
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_T (1<<1)
+#define FLAG_l (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_a (1<<5)
+#endif
+
+#ifdef FOR_getty
+#ifndef TT
+#define TT this.getty
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_w (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_l (FORCED_FLAG<<7)
+#define FLAG_I (FORCED_FLAG<<8)
+#define FLAG_H (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_grep
+#ifndef TT
+#define TT this.grep
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_m (1<<1)
+#define FLAG_A (1<<2)
+#define FLAG_B (1<<3)
+#define FLAG_C (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_e (1<<6)
+#define FLAG_q (1<<7)
+#define FLAG_l (1<<8)
+#define FLAG_c (1<<9)
+#define FLAG_w (1<<10)
+#define FLAG_v (1<<11)
+#define FLAG_s (1<<12)
+#define FLAG_R (1<<13)
+#define FLAG_r (1<<14)
+#define FLAG_o (1<<15)
+#define FLAG_n (1<<16)
+#define FLAG_i (1<<17)
+#define FLAG_h (1<<18)
+#define FLAG_b (1<<19)
+#define FLAG_a (1<<20)
+#define FLAG_I (1<<21)
+#define FLAG_H (1<<22)
+#define FLAG_F (1<<23)
+#define FLAG_E (1<<24)
+#define FLAG_z (1<<25)
+#define FLAG_Z (1<<26)
+#define FLAG_M (1<<27)
+#define FLAG_S (1<<28)
+#define FLAG_exclude_dir (1<<29)
+#define FLAG_color (1<<30)
+#define FLAG_line_buffered (1LL<<31)
+#endif
+
+#ifdef FOR_groupadd
+#ifndef TT
+#define TT this.groupadd
+#endif
+#define FLAG_S (FORCED_FLAG<<0)
+#define FLAG_g (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_groupdel
+#ifndef TT
+#define TT this.groupdel
+#endif
+#endif
+
+#ifdef FOR_groups
+#ifndef TT
+#define TT this.groups
+#endif
+#endif
+
+#ifdef FOR_gunzip
+#ifndef TT
+#define TT this.gunzip
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#endif
+
+#ifdef FOR_gzip
+#ifndef TT
+#define TT this.gzip
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#define FLAG_n (1<<13)
+#endif
+
+#ifdef FOR_head
+#ifndef TT
+#define TT this.head
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_q (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_n (1<<3)
+#endif
+
+#ifdef FOR_hello
+#ifndef TT
+#define TT this.hello
+#endif
+#endif
+
+#ifdef FOR_help
+#ifndef TT
+#define TT this.help
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_h (1<<1)
+#define FLAG_a (1<<2)
+#endif
+
+#ifdef FOR_hexedit
+#ifndef TT
+#define TT this.hexedit
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_host
+#ifndef TT
+#define TT this.host
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_hostid
+#ifndef TT
+#define TT this.hostid
+#endif
+#endif
+
+#ifdef FOR_hostname
+#ifndef TT
+#define TT this.hostname
+#endif
+#define FLAG_F (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_b (1<<4)
+#endif
+
+#ifdef FOR_hwclock
+#ifndef TT
+#define TT this.hwclock
+#endif
+#define FLAG_w (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_t (1<<3)
+#define FLAG_l (1<<4)
+#define FLAG_u (1<<5)
+#define FLAG_f (1<<6)
+#define FLAG_fast (1<<7)
+#endif
+
+#ifdef FOR_i2cdetect
+#ifndef TT
+#define TT this.i2cdetect
+#endif
+#define FLAG_y (1<<0)
+#define FLAG_l (1<<1)
+#define FLAG_F (1<<2)
+#define FLAG_a (1<<3)
+#endif
+
+#ifdef FOR_i2cdump
+#ifndef TT
+#define TT this.i2cdump
+#endif
+#define FLAG_y (1<<0)
+#define FLAG_f (1<<1)
+#endif
+
+#ifdef FOR_i2cget
+#ifndef TT
+#define TT this.i2cget
+#endif
+#define FLAG_y (1<<0)
+#define FLAG_f (1<<1)
+#endif
+
+#ifdef FOR_i2cset
+#ifndef TT
+#define TT this.i2cset
+#endif
+#define FLAG_y (1<<0)
+#define FLAG_f (1<<1)
+#endif
+
+#ifdef FOR_iconv
+#ifndef TT
+#define TT this.iconv
+#endif
+#define FLAG_f (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_c (1<<3)
+#endif
+
+#ifdef FOR_id
+#ifndef TT
+#define TT this.id
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_g (1<<2)
+#define FLAG_G (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_Z (1<<5)
+#endif
+
+#ifdef FOR_ifconfig
+#ifndef TT
+#define TT this.ifconfig
+#endif
+#define FLAG_S (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_init
+#ifndef TT
+#define TT this.init
+#endif
+#endif
+
+#ifdef FOR_inotifyd
+#ifndef TT
+#define TT this.inotifyd
+#endif
+#endif
+
+#ifdef FOR_insmod
+#ifndef TT
+#define TT this.insmod
+#endif
+#endif
+
+#ifdef FOR_install
+#ifndef TT
+#define TT this.install
+#endif
+#define FLAG_g (1<<0)
+#define FLAG_o (1<<1)
+#define FLAG_m (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_s (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_D (1<<6)
+#define FLAG_d (1<<7)
+#define FLAG_c (1<<8)
+#endif
+
+#ifdef FOR_ionice
+#ifndef TT
+#define TT this.ionice
+#endif
+#define FLAG_p (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_t (1<<3)
+#endif
+
+#ifdef FOR_iorenice
+#ifndef TT
+#define TT this.iorenice
+#endif
+#endif
+
+#ifdef FOR_iotop
+#ifndef TT
+#define TT this.iotop
+#endif
+#define FLAG_q (1<<0)
+#define FLAG_b (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_m (1<<3)
+#define FLAG_d (1<<4)
+#define FLAG_s (1<<5)
+#define FLAG_u (1<<6)
+#define FLAG_p (1<<7)
+#define FLAG_o (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_H (1<<10)
+#define FLAG_O (1<<11)
+#define FLAG_K (1<<12)
+#define FLAG_a (1<<13)
+#define FLAG_A (1<<14)
+#endif
+
+#ifdef FOR_ip
+#ifndef TT
+#define TT this.ip
+#endif
+#endif
+
+#ifdef FOR_ipcrm
+#ifndef TT
+#define TT this.ipcrm
+#endif
+#define FLAG_Q (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_M (FORCED_FLAG<<4)
+#define FLAG_m (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_ipcs
+#ifndef TT
+#define TT this.ipcs
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_c (FORCED_FLAG<<8)
+#define FLAG_a (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_kill
+#ifndef TT
+#define TT this.kill
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_l (1<<1)
+#endif
+
+#ifdef FOR_killall
+#ifndef TT
+#define TT this.killall
+#endif
+#define FLAG_w (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_q (1<<2)
+#define FLAG_l (1<<3)
+#define FLAG_i (1<<4)
+#define FLAG_s (1<<5)
+#endif
+
+#ifdef FOR_killall5
+#ifndef TT
+#define TT this.killall5
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_o (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_klogd
+#ifndef TT
+#define TT this.klogd
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_last
+#ifndef TT
+#define TT this.last
+#endif
+#define FLAG_W (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_link
+#ifndef TT
+#define TT this.link
+#endif
+#endif
+
+#ifdef FOR_ln
+#ifndef TT
+#define TT this.ln
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_T (1<<4)
+#define FLAG_t (1<<5)
+#define FLAG_r (1<<6)
+#endif
+
+#ifdef FOR_load_policy
+#ifndef TT
+#define TT this.load_policy
+#endif
+#endif
+
+#ifdef FOR_log
+#ifndef TT
+#define TT this.log
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_p (1<<1)
+#endif
+
+#ifdef FOR_logger
+#ifndef TT
+#define TT this.logger
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_login
+#ifndef TT
+#define TT this.login
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_f (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_logname
+#ifndef TT
+#define TT this.logname
+#endif
+#endif
+
+#ifdef FOR_logwrapper
+#ifndef TT
+#define TT this.logwrapper
+#endif
+#endif
+
+#ifdef FOR_losetup
+#ifndef TT
+#define TT this.losetup
+#endif
+#define FLAG_D (1<<0)
+#define FLAG_a (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_j (1<<5)
+#define FLAG_o (1<<6)
+#define FLAG_r (1<<7)
+#define FLAG_s (1<<8)
+#define FLAG_S (1<<9)
+#endif
+
+#ifdef FOR_ls
+#ifndef TT
+#define TT this.ls
+#endif
+#define FLAG_1 (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_w (1<<2)
+#define FLAG_u (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_s (1<<5)
+#define FLAG_r (1<<6)
+#define FLAG_q (1<<7)
+#define FLAG_p (1<<8)
+#define FLAG_n (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_l (1<<11)
+#define FLAG_k (1<<12)
+#define FLAG_i (1<<13)
+#define FLAG_h (1<<14)
+#define FLAG_f (1<<15)
+#define FLAG_d (1<<16)
+#define FLAG_c (1<<17)
+#define FLAG_b (1<<18)
+#define FLAG_a (1<<19)
+#define FLAG_S (1<<20)
+#define FLAG_R (1<<21)
+#define FLAG_L (1<<22)
+#define FLAG_H (1<<23)
+#define FLAG_F (1<<24)
+#define FLAG_C (1<<25)
+#define FLAG_A (1<<26)
+#define FLAG_o (1<<27)
+#define FLAG_g (1<<28)
+#define FLAG_Z (1<<29)
+#define FLAG_show_control_chars (1<<30)
+#define FLAG_full_time (1LL<<31)
+#define FLAG_color (1LL<<32)
+#endif
+
+#ifdef FOR_lsattr
+#ifndef TT
+#define TT this.lsattr
+#endif
+#define FLAG_R (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_a (1<<3)
+#define FLAG_d (1<<4)
+#define FLAG_l (1<<5)
+#endif
+
+#ifdef FOR_lsmod
+#ifndef TT
+#define TT this.lsmod
+#endif
+#endif
+
+#ifdef FOR_lsof
+#ifndef TT
+#define TT this.lsof
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_l (1<<2)
+#endif
+
+#ifdef FOR_lspci
+#ifndef TT
+#define TT this.lspci
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_n (1<<1)
+#define FLAG_k (1<<2)
+#define FLAG_m (1<<3)
+#define FLAG_e (1<<4)
+#endif
+
+#ifdef FOR_lsusb
+#ifndef TT
+#define TT this.lsusb
+#endif
+#endif
+
+#ifdef FOR_makedevs
+#ifndef TT
+#define TT this.makedevs
+#endif
+#define FLAG_d (1<<0)
+#endif
+
+#ifdef FOR_man
+#ifndef TT
+#define TT this.man
+#endif
+#define FLAG_M (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mcookie
+#ifndef TT
+#define TT this.mcookie
+#endif
+#define FLAG_V (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_md5sum
+#ifndef TT
+#define TT this.md5sum
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_b (1<<2)
+#endif
+
+#ifdef FOR_mdev
+#ifndef TT
+#define TT this.mdev
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_microcom
+#ifndef TT
+#define TT this.microcom
+#endif
+#define FLAG_X (1<<0)
+#define FLAG_s (1<<1)
+#endif
+
+#ifdef FOR_mix
+#ifndef TT
+#define TT this.mix
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_mkdir
+#ifndef TT
+#define TT this.mkdir
+#endif
+#define FLAG_m (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_Z (1<<3)
+#endif
+
+#ifdef FOR_mke2fs
+#ifndef TT
+#define TT this.mke2fs
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_N (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_F (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_mkfifo
+#ifndef TT
+#define TT this.mkfifo
+#endif
+#define FLAG_m (1<<0)
+#define FLAG_Z (1<<1)
+#endif
+
+#ifdef FOR_mknod
+#ifndef TT
+#define TT this.mknod
+#endif
+#define FLAG_Z (1<<0)
+#define FLAG_m (1<<1)
+#endif
+
+#ifdef FOR_mkpasswd
+#ifndef TT
+#define TT this.mkpasswd
+#endif
+#define FLAG_P (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_mkswap
+#ifndef TT
+#define TT this.mkswap
+#endif
+#define FLAG_L (1<<0)
+#endif
+
+#ifdef FOR_mktemp
+#ifndef TT
+#define TT this.mktemp
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_d (1<<2)
+#define FLAG_q (1<<3)
+#define FLAG_u (1<<4)
+#define FLAG_tmpdir (1<<5)
+#endif
+
+#ifdef FOR_modinfo
+#ifndef TT
+#define TT this.modinfo
+#endif
+#define FLAG_0 (1<<0)
+#define FLAG_F (1<<1)
+#define FLAG_k (1<<2)
+#define FLAG_b (1<<3)
+#endif
+
+#ifdef FOR_modprobe
+#ifndef TT
+#define TT this.modprobe
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_b (1<<1)
+#define FLAG_D (1<<2)
+#define FLAG_s (1<<3)
+#define FLAG_v (1<<4)
+#define FLAG_q (1<<5)
+#define FLAG_r (1<<6)
+#define FLAG_l (1<<7)
+#define FLAG_a (1<<8)
+#endif
+
+#ifdef FOR_more
+#ifndef TT
+#define TT this.more
+#endif
+#endif
+
+#ifdef FOR_mount
+#ifndef TT
+#define TT this.mount
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_w (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_r (1<<4)
+#define FLAG_n (1<<5)
+#define FLAG_f (1<<6)
+#define FLAG_a (1<<7)
+#define FLAG_O (1<<8)
+#endif
+
+#ifdef FOR_mountpoint
+#ifndef TT
+#define TT this.mountpoint
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_d (1<<1)
+#define FLAG_q (1<<2)
+#endif
+
+#ifdef FOR_mv
+#ifndef TT
+#define TT this.mv
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_F (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_v (1<<5)
+#endif
+
+#ifdef FOR_nbd_client
+#ifndef TT
+#define TT this.nbd_client
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#endif
+
+#ifdef FOR_netcat
+#ifndef TT
+#define TT this.netcat
+#endif
+#define FLAG_U (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_6 (1<<2)
+#define FLAG_4 (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_s (1<<5)
+#define FLAG_q (1<<6)
+#define FLAG_p (1<<7)
+#define FLAG_W (1<<8)
+#define FLAG_w (1<<9)
+#define FLAG_L (1<<10)
+#define FLAG_l (1<<11)
+#define FLAG_E (1<<12)
+#define FLAG_t (1<<13)
+#endif
+
+#ifdef FOR_netstat
+#ifndef TT
+#define TT this.netstat
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_a (1<<1)
+#define FLAG_e (1<<2)
+#define FLAG_n (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_u (1<<5)
+#define FLAG_w (1<<6)
+#define FLAG_x (1<<7)
+#define FLAG_r (1<<8)
+#define FLAG_W (1<<9)
+#define FLAG_p (1<<10)
+#endif
+
+#ifdef FOR_nice
+#ifndef TT
+#define TT this.nice
+#endif
+#define FLAG_n (1<<0)
+#endif
+
+#ifdef FOR_nl
+#ifndef TT
+#define TT this.nl
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_b (1<<2)
+#define FLAG_E (1<<3)
+#define FLAG_w (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_v (1<<6)
+#endif
+
+#ifdef FOR_nohup
+#ifndef TT
+#define TT this.nohup
+#endif
+#endif
+
+#ifdef FOR_nproc
+#ifndef TT
+#define TT this.nproc
+#endif
+#define FLAG_all (1<<0)
+#endif
+
+#ifdef FOR_nsenter
+#ifndef TT
+#define TT this.nsenter
+#endif
+#define FLAG_U (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_n (1<<3)
+#define FLAG_m (1<<4)
+#define FLAG_i (1<<5)
+#define FLAG_t (1<<6)
+#define FLAG_F (1<<7)
+#endif
+
+#ifdef FOR_od
+#ifndef TT
+#define TT this.od
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_A (1<<1)
+#define FLAG_b (1<<2)
+#define FLAG_c (1<<3)
+#define FLAG_d (1<<4)
+#define FLAG_o (1<<5)
+#define FLAG_s (1<<6)
+#define FLAG_x (1<<7)
+#define FLAG_N (1<<8)
+#define FLAG_w (1<<9)
+#define FLAG_v (1<<10)
+#define FLAG_j (1<<11)
+#endif
+
+#ifdef FOR_oneit
+#ifndef TT
+#define TT this.oneit
+#endif
+#define FLAG_3 (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_openvt
+#ifndef TT
+#define TT this.openvt
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_partprobe
+#ifndef TT
+#define TT this.partprobe
+#endif
+#endif
+
+#ifdef FOR_passwd
+#ifndef TT
+#define TT this.passwd
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_paste
+#ifndef TT
+#define TT this.paste
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_d (1<<1)
+#endif
+
+#ifdef FOR_patch
+#ifndef TT
+#define TT this.patch
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_R (1<<1)
+#define FLAG_i (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_p (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_u (1<<6)
+#define FLAG_f (1<<7)
+#define FLAG_g (1<<8)
+#define FLAG_F (1<<9)
+#define FLAG_x (FORCED_FLAG<<10)
+#define FLAG_dry_run (1<<11)
+#define FLAG_no_backup_if_mismatch (1<<12)
+#endif
+
+#ifdef FOR_pgrep
+#ifndef TT
+#define TT this.pgrep
+#endif
+#define FLAG_L (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_G (1<<6)
+#define FLAG_g (1<<7)
+#define FLAG_P (1<<8)
+#define FLAG_s (1<<9)
+#define FLAG_t (1<<10)
+#define FLAG_U (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_d (1<<13)
+#define FLAG_l (1<<14)
+#define FLAG_c (1<<15)
+#endif
+
+#ifdef FOR_pidof
+#ifndef TT
+#define TT this.pidof
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_o (1<<1)
+#define FLAG_s (1<<2)
+#endif
+
+#ifdef FOR_ping
+#ifndef TT
+#define TT this.ping
+#endif
+#define FLAG_I (1<<0)
+#define FLAG_6 (1<<1)
+#define FLAG_4 (1<<2)
+#define FLAG_f (1<<3)
+#define FLAG_q (1<<4)
+#define FLAG_w (1<<5)
+#define FLAG_W (1<<6)
+#define FLAG_i (1<<7)
+#define FLAG_s (1<<8)
+#define FLAG_c (1<<9)
+#define FLAG_t (1<<10)
+#define FLAG_m (1<<11)
+#endif
+
+#ifdef FOR_pivot_root
+#ifndef TT
+#define TT this.pivot_root
+#endif
+#endif
+
+#ifdef FOR_pkill
+#ifndef TT
+#define TT this.pkill
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_G (1<<6)
+#define FLAG_g (1<<7)
+#define FLAG_P (1<<8)
+#define FLAG_s (1<<9)
+#define FLAG_t (1<<10)
+#define FLAG_U (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_V (1<<13)
+#endif
+
+#ifdef FOR_pmap
+#ifndef TT
+#define TT this.pmap
+#endif
+#define FLAG_q (1<<0)
+#define FLAG_x (1<<1)
+#endif
+
+#ifdef FOR_printenv
+#ifndef TT
+#define TT this.printenv
+#endif
+#define FLAG_0 (1<<0)
+#define FLAG_null (1<<1)
+#endif
+
+#ifdef FOR_printf
+#ifndef TT
+#define TT this.printf
+#endif
+#endif
+
+#ifdef FOR_ps
+#ifndef TT
+#define TT this.ps
+#endif
+#define FLAG_Z (1<<0)
+#define FLAG_w (1<<1)
+#define FLAG_G (1<<2)
+#define FLAG_g (1<<3)
+#define FLAG_U (1<<4)
+#define FLAG_u (1<<5)
+#define FLAG_T (1<<6)
+#define FLAG_t (1<<7)
+#define FLAG_s (1<<8)
+#define FLAG_p (1<<9)
+#define FLAG_O (1<<10)
+#define FLAG_o (1<<11)
+#define FLAG_n (1<<12)
+#define FLAG_M (1<<13)
+#define FLAG_l (1<<14)
+#define FLAG_f (1<<15)
+#define FLAG_e (1<<16)
+#define FLAG_d (1<<17)
+#define FLAG_A (1<<18)
+#define FLAG_a (1<<19)
+#define FLAG_P (1<<20)
+#define FLAG_k (1<<21)
+#endif
+
+#ifdef FOR_pwd
+#ifndef TT
+#define TT this.pwd
+#endif
+#define FLAG_P (1<<0)
+#define FLAG_L (1<<1)
+#endif
+
+#ifdef FOR_pwdx
+#ifndef TT
+#define TT this.pwdx
+#endif
+#define FLAG_a (1<<0)
+#endif
+
+#ifdef FOR_pwgen
+#ifndef TT
+#define TT this.pwgen
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_A (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#define FLAG_1 (FORCED_FLAG<<3)
+#define FLAG_C (FORCED_FLAG<<4)
+#define FLAG_h (FORCED_FLAG<<5)
+#define FLAG_B (FORCED_FLAG<<6)
+#define FLAG_s (FORCED_FLAG<<7)
+#define FLAG_y (FORCED_FLAG<<8)
+#define FLAG_n (FORCED_FLAG<<9)
+#define FLAG_c (FORCED_FLAG<<10)
+#define FLAG_r (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_readahead
+#ifndef TT
+#define TT this.readahead
+#endif
+#endif
+
+#ifdef FOR_readelf
+#ifndef TT
+#define TT this.readelf
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_W (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_S (1<<3)
+#define FLAG_p (1<<4)
+#define FLAG_n (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_h (1<<7)
+#define FLAG_e (1<<8)
+#define FLAG_d (1<<9)
+#define FLAG_a (1<<10)
+#define FLAG_dyn_syms (1<<11)
+#endif
+
+#ifdef FOR_readlink
+#ifndef TT
+#define TT this.readlink
+#endif
+#define FLAG_f (1<<0)
+#define FLAG_e (1<<1)
+#define FLAG_m (1<<2)
+#define FLAG_q (1<<3)
+#define FLAG_n (1<<4)
+#endif
+
+#ifdef FOR_realpath
+#ifndef TT
+#define TT this.realpath
+#endif
+#endif
+
+#ifdef FOR_reboot
+#ifndef TT
+#define TT this.reboot
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_renice
+#ifndef TT
+#define TT this.renice
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_g (1<<3)
+#endif
+
+#ifdef FOR_reset
+#ifndef TT
+#define TT this.reset
+#endif
+#endif
+
+#ifdef FOR_restorecon
+#ifndef TT
+#define TT this.restorecon
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_R (1<<2)
+#define FLAG_n (1<<3)
+#define FLAG_F (1<<4)
+#define FLAG_D (1<<5)
+#endif
+
+#ifdef FOR_rev
+#ifndef TT
+#define TT this.rev
+#endif
+#endif
+
+#ifdef FOR_rfkill
+#ifndef TT
+#define TT this.rfkill
+#endif
+#endif
+
+#ifdef FOR_rm
+#ifndef TT
+#define TT this.rm
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_R (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_f (1<<4)
+#endif
+
+#ifdef FOR_rmdir
+#ifndef TT
+#define TT this.rmdir
+#endif
+#define FLAG_p (1<<0)
+#define FLAG_ignore_fail_on_non_empty (1<<1)
+#endif
+
+#ifdef FOR_rmmod
+#ifndef TT
+#define TT this.rmmod
+#endif
+#define FLAG_f (1<<0)
+#define FLAG_w (1<<1)
+#endif
+
+#ifdef FOR_route
+#ifndef TT
+#define TT this.route
+#endif
+#define FLAG_A (FORCED_FLAG<<0)
+#define FLAG_e (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_rtcwake
+#ifndef TT
+#define TT this.rtcwake
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_t (1<<2)
+#define FLAG_s (1<<3)
+#define FLAG_m (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_d (1<<6)
+#define FLAG_a (1<<7)
+#define FLAG_auto (1<<8)
+#define FLAG_list_modes (1<<9)
+#endif
+
+#ifdef FOR_runcon
+#ifndef TT
+#define TT this.runcon
+#endif
+#endif
+
+#ifdef FOR_sed
+#ifndef TT
+#define TT this.sed
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_z (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_E (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_i (1<<5)
+#define FLAG_f (1<<6)
+#define FLAG_e (1<<7)
+#define FLAG_version (1<<8)
+#define FLAG_help (1<<9)
+#endif
+
+#ifdef FOR_sendevent
+#ifndef TT
+#define TT this.sendevent
+#endif
+#endif
+
+#ifdef FOR_seq
+#ifndef TT
+#define TT this.seq
+#endif
+#define FLAG_w (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_f (1<<2)
+#endif
+
+#ifdef FOR_set
+#ifndef TT
+#define TT this.set
+#endif
+#endif
+
+#ifdef FOR_setenforce
+#ifndef TT
+#define TT this.setenforce
+#endif
+#endif
+
+#ifdef FOR_setfattr
+#ifndef TT
+#define TT this.setfattr
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_h (1<<3)
+#endif
+
+#ifdef FOR_setsid
+#ifndef TT
+#define TT this.setsid
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_w (1<<2)
+#endif
+
+#ifdef FOR_sh
+#ifndef TT
+#define TT this.sh
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_norc (FORCED_FLAG<<3)
+#define FLAG_noprofile (FORCED_FLAG<<4)
+#define FLAG_noediting (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_sha1sum
+#ifndef TT
+#define TT this.sha1sum
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_b (1<<2)
+#endif
+
+#ifdef FOR_sha3sum
+#ifndef TT
+#define TT this.sha3sum
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_S (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_shift
+#ifndef TT
+#define TT this.shift
+#endif
+#endif
+
+#ifdef FOR_shred
+#ifndef TT
+#define TT this.shred
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_u (FORCED_FLAG<<4)
+#define FLAG_x (FORCED_FLAG<<5)
+#define FLAG_z (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_skeleton
+#ifndef TT
+#define TT this.skeleton
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_also (FORCED_FLAG<<5)
+#define FLAG_blubber (FORCED_FLAG<<6)
+#define FLAG_walrus (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_skeleton_alias
+#ifndef TT
+#define TT this.skeleton_alias
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_sleep
+#ifndef TT
+#define TT this.sleep
+#endif
+#endif
+
+#ifdef FOR_sntp
+#ifndef TT
+#define TT this.sntp
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_D (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_s (FORCED_FLAG<<4)
+#define FLAG_a (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_S (FORCED_FLAG<<8)
+#define FLAG_m (FORCED_FLAG<<9)
+#define FLAG_M (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_sort
+#ifndef TT
+#define TT this.sort
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_d (1<<5)
+#define FLAG_z (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_M (1<<9)
+#define FLAG_b (1<<10)
+#define FLAG_V (1<<11)
+#define FLAG_x (1<<12)
+#define FLAG_t (1<<13)
+#define FLAG_k (1<<14)
+#define FLAG_o (1<<15)
+#define FLAG_m (1<<16)
+#define FLAG_T (1<<17)
+#define FLAG_S (1<<18)
+#define FLAG_g (1<<19)
+#endif
+
+#ifdef FOR_source
+#ifndef TT
+#define TT this.source
+#endif
+#endif
+
+#ifdef FOR_split
+#ifndef TT
+#define TT this.split
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_b (1<<1)
+#define FLAG_a (1<<2)
+#endif
+
+#ifdef FOR_stat
+#ifndef TT
+#define TT this.stat
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_L (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_c (1<<3)
+#endif
+
+#ifdef FOR_strings
+#ifndef TT
+#define TT this.strings
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_a (1<<3)
+#define FLAG_t (1<<4)
+#endif
+
+#ifdef FOR_stty
+#ifndef TT
+#define TT this.stty
+#endif
+#define FLAG_g (1<<0)
+#define FLAG_F (1<<1)
+#define FLAG_a (1<<2)
+#endif
+
+#ifdef FOR_su
+#ifndef TT
+#define TT this.su
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#define FLAG_g (FORCED_FLAG<<2)
+#define FLAG_u (FORCED_FLAG<<3)
+#define FLAG_p (FORCED_FLAG<<4)
+#define FLAG_m (FORCED_FLAG<<5)
+#define FLAG_l (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_sulogin
+#ifndef TT
+#define TT this.sulogin
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_swapoff
+#ifndef TT
+#define TT this.swapoff
+#endif
+#endif
+
+#ifdef FOR_swapon
+#ifndef TT
+#define TT this.swapon
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_p (1<<1)
+#endif
+
+#ifdef FOR_switch_root
+#ifndef TT
+#define TT this.switch_root
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_sync
+#ifndef TT
+#define TT this.sync
+#endif
+#endif
+
+#ifdef FOR_sysctl
+#ifndef TT
+#define TT this.sysctl
+#endif
+#define FLAG_A (1<<0)
+#define FLAG_a (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_w (1<<3)
+#define FLAG_q (1<<4)
+#define FLAG_N (1<<5)
+#define FLAG_e (1<<6)
+#define FLAG_n (1<<7)
+#endif
+
+#ifdef FOR_syslogd
+#ifndef TT
+#define TT this.syslogd
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_K (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#define FLAG_a (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_O (FORCED_FLAG<<8)
+#define FLAG_m (FORCED_FLAG<<9)
+#define FLAG_s (FORCED_FLAG<<10)
+#define FLAG_b (FORCED_FLAG<<11)
+#define FLAG_R (FORCED_FLAG<<12)
+#define FLAG_l (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_tac
+#ifndef TT
+#define TT this.tac
+#endif
+#endif
+
+#ifdef FOR_tail
+#ifndef TT
+#define TT this.tail
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_f (1<<2)
+#endif
+
+#ifdef FOR_tar
+#ifndef TT
+#define TT this.tar
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_C (1<<2)
+#define FLAG_T (1<<3)
+#define FLAG_X (1<<4)
+#define FLAG_m (1<<5)
+#define FLAG_P (1<<6)
+#define FLAG_O (1<<7)
+#define FLAG_S (1<<8)
+#define FLAG_z (1<<9)
+#define FLAG_j (1<<10)
+#define FLAG_J (1<<11)
+#define FLAG_I (1<<12)
+#define FLAG_v (1<<13)
+#define FLAG_t (1<<14)
+#define FLAG_x (1<<15)
+#define FLAG_h (1<<16)
+#define FLAG_c (1<<17)
+#define FLAG_k (1<<18)
+#define FLAG_p (1<<19)
+#define FLAG_o (1<<20)
+#define FLAG_to_command (1<<21)
+#define FLAG_owner (1<<22)
+#define FLAG_group (1<<23)
+#define FLAG_mtime (1<<24)
+#define FLAG_mode (1<<25)
+#define FLAG_exclude (1<<26)
+#define FLAG_overwrite (1<<27)
+#define FLAG_no_same_permissions (1<<28)
+#define FLAG_numeric_owner (1<<29)
+#define FLAG_no_recursion (1<<30)
+#define FLAG_full_time (1LL<<31)
+#define FLAG_restrict (1LL<<32)
+#endif
+
+#ifdef FOR_taskset
+#ifndef TT
+#define TT this.taskset
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_p (1<<1)
+#endif
+
+#ifdef FOR_tcpsvd
+#ifndef TT
+#define TT this.tcpsvd
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_E (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_u (FORCED_FLAG<<4)
+#define FLAG_b (FORCED_FLAG<<5)
+#define FLAG_C (FORCED_FLAG<<6)
+#define FLAG_c (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_tee
+#ifndef TT
+#define TT this.tee
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_i (1<<1)
+#endif
+
+#ifdef FOR_telnet
+#ifndef TT
+#define TT this.telnet
+#endif
+#endif
+
+#ifdef FOR_telnetd
+#ifndef TT
+#define TT this.telnetd
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_K (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_F (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_p (FORCED_FLAG<<6)
+#define FLAG_b (FORCED_FLAG<<7)
+#define FLAG_w (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_test
+#ifndef TT
+#define TT this.test
+#endif
+#endif
+
+#ifdef FOR_tftp
+#ifndef TT
+#define TT this.tftp
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_g (FORCED_FLAG<<1)
+#define FLAG_l (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_b (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_tftpd
+#ifndef TT
+#define TT this.tftpd
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_time
+#ifndef TT
+#define TT this.time
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_p (1<<1)
+#endif
+
+#ifdef FOR_timeout
+#ifndef TT
+#define TT this.timeout
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_k (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_preserve_status (1<<3)
+#define FLAG_foreground (1<<4)
+#endif
+
+#ifdef FOR_top
+#ifndef TT
+#define TT this.top
+#endif
+#define FLAG_q (1<<0)
+#define FLAG_b (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_m (1<<3)
+#define FLAG_d (1<<4)
+#define FLAG_s (1<<5)
+#define FLAG_u (1<<6)
+#define FLAG_p (1<<7)
+#define FLAG_o (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_H (1<<10)
+#define FLAG_O (1<<11)
+#endif
+
+#ifdef FOR_touch
+#ifndef TT
+#define TT this.touch
+#endif
+#define FLAG_h (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_m (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_d (1<<5)
+#define FLAG_c (1<<6)
+#define FLAG_a (1<<7)
+#endif
+
+#ifdef FOR_toybox
+#ifndef TT
+#define TT this.toybox
+#endif
+#endif
+
+#ifdef FOR_tr
+#ifndef TT
+#define TT this.tr
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_C (1<<3)
+#endif
+
+#ifdef FOR_traceroute
+#ifndef TT
+#define TT this.traceroute
+#endif
+#define FLAG_4 (1<<0)
+#define FLAG_6 (1<<1)
+#define FLAG_F (1<<2)
+#define FLAG_U (1<<3)
+#define FLAG_I (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_d (1<<6)
+#define FLAG_n (1<<7)
+#define FLAG_v (1<<8)
+#define FLAG_r (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_p (1<<11)
+#define FLAG_q (1<<12)
+#define FLAG_s (1<<13)
+#define FLAG_t (1<<14)
+#define FLAG_w (1<<15)
+#define FLAG_g (1<<16)
+#define FLAG_z (1<<17)
+#define FLAG_f (1<<18)
+#define FLAG_i (1<<19)
+#endif
+
+#ifdef FOR_true
+#ifndef TT
+#define TT this.true
+#endif
+#endif
+
+#ifdef FOR_truncate
+#ifndef TT
+#define TT this.truncate
+#endif
+#define FLAG_c (1<<0)
+#define FLAG_s (1<<1)
+#endif
+
+#ifdef FOR_tty
+#ifndef TT
+#define TT this.tty
+#endif
+#define FLAG_s (1<<0)
+#endif
+
+#ifdef FOR_tunctl
+#ifndef TT
+#define TT this.tunctl
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_d (1<<2)
+#define FLAG_t (1<<3)
+#endif
+
+#ifdef FOR_ulimit
+#ifndef TT
+#define TT this.ulimit
+#endif
+#define FLAG_c (1<<0)
+#define FLAG_d (1<<1)
+#define FLAG_e (1<<2)
+#define FLAG_f (1<<3)
+#define FLAG_i (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_m (1<<6)
+#define FLAG_n (1<<7)
+#define FLAG_p (1<<8)
+#define FLAG_q (1<<9)
+#define FLAG_R (1<<10)
+#define FLAG_r (1<<11)
+#define FLAG_s (1<<12)
+#define FLAG_t (1<<13)
+#define FLAG_u (1<<14)
+#define FLAG_v (1<<15)
+#define FLAG_a (1<<16)
+#define FLAG_H (1<<17)
+#define FLAG_S (1<<18)
+#define FLAG_P (1<<19)
+#endif
+
+#ifdef FOR_umount
+#ifndef TT
+#define TT this.umount
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_a (1<<2)
+#define FLAG_r (1<<3)
+#define FLAG_l (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_D (1<<6)
+#define FLAG_d (1<<7)
+#define FLAG_n (1<<8)
+#define FLAG_c (1<<9)
+#endif
+
+#ifdef FOR_uname
+#ifndef TT
+#define TT this.uname
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_m (1<<4)
+#define FLAG_a (1<<5)
+#define FLAG_o (1<<6)
+#endif
+
+#ifdef FOR_unicode
+#ifndef TT
+#define TT this.unicode
+#endif
+#endif
+
+#ifdef FOR_uniq
+#ifndef TT
+#define TT this.uniq
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_d (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_z (1<<4)
+#define FLAG_w (1<<5)
+#define FLAG_s (1<<6)
+#define FLAG_f (1<<7)
+#endif
+
+#ifdef FOR_unix2dos
+#ifndef TT
+#define TT this.unix2dos
+#endif
+#endif
+
+#ifdef FOR_unlink
+#ifndef TT
+#define TT this.unlink
+#endif
+#endif
+
+#ifdef FOR_unset
+#ifndef TT
+#define TT this.unset
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_f (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_unshare
+#ifndef TT
+#define TT this.unshare
+#endif
+#define FLAG_U (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_n (1<<3)
+#define FLAG_m (1<<4)
+#define FLAG_i (1<<5)
+#define FLAG_r (1<<6)
+#define FLAG_f (1<<7)
+#endif
+
+#ifdef FOR_uptime
+#ifndef TT
+#define TT this.uptime
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_p (1<<1)
+#endif
+
+#ifdef FOR_useradd
+#ifndef TT
+#define TT this.useradd
+#endif
+#define FLAG_H (FORCED_FLAG<<0)
+#define FLAG_D (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#define FLAG_g (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_G (FORCED_FLAG<<6)
+#define FLAG_u (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_userdel
+#ifndef TT
+#define TT this.userdel
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_usleep
+#ifndef TT
+#define TT this.usleep
+#endif
+#endif
+
+#ifdef FOR_uudecode
+#ifndef TT
+#define TT this.uudecode
+#endif
+#define FLAG_o (1<<0)
+#endif
+
+#ifdef FOR_uuencode
+#ifndef TT
+#define TT this.uuencode
+#endif
+#define FLAG_m (1<<0)
+#endif
+
+#ifdef FOR_uuidgen
+#ifndef TT
+#define TT this.uuidgen
+#endif
+#define FLAG_r (1<<0)
+#endif
+
+#ifdef FOR_vconfig
+#ifndef TT
+#define TT this.vconfig
+#endif
+#endif
+
+#ifdef FOR_vi
+#ifndef TT
+#define TT this.vi
+#endif
+#define FLAG_s (1<<0)
+#endif
+
+#ifdef FOR_vmstat
+#ifndef TT
+#define TT this.vmstat
+#endif
+#define FLAG_n (1<<0)
+#endif
+
+#ifdef FOR_w
+#ifndef TT
+#define TT this.w
+#endif
+#endif
+
+#ifdef FOR_watch
+#ifndef TT
+#define TT this.watch
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_b (1<<1)
+#define FLAG_e (1<<2)
+#define FLAG_t (1<<3)
+#define FLAG_n (1<<4)
+#endif
+
+#ifdef FOR_watchdog
+#ifndef TT
+#define TT this.watchdog
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_wc
+#ifndef TT
+#define TT this.wc
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_w (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_m (1<<3)
+#endif
+
+#ifdef FOR_wget
+#ifndef TT
+#define TT this.wget
+#endif
+#define FLAG_O (FORCED_FLAG<<0)
+#define FLAG_no_check_certificate (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_which
+#ifndef TT
+#define TT this.which
+#endif
+#define FLAG_a (1<<0)
+#endif
+
+#ifdef FOR_who
+#ifndef TT
+#define TT this.who
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_xargs
+#ifndef TT
+#define TT this.xargs
+#endif
+#define FLAG_0 (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_r (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_o (1<<6)
+#define FLAG_P (1<<7)
+#define FLAG_E (1<<8)
+#endif
+
+#ifdef FOR_xxd
+#ifndef TT
+#define TT this.xxd
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_g (1<<4)
+#define FLAG_o (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_c (1<<7)
+#endif
+
+#ifdef FOR_xzcat
+#ifndef TT
+#define TT this.xzcat
+#endif
+#endif
+
+#ifdef FOR_yes
+#ifndef TT
+#define TT this.yes
+#endif
+#endif
+
+#ifdef FOR_zcat
+#ifndef TT
+#define TT this.zcat
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#endif
+
diff --git a/android/device/generated/globals.h b/android/device/generated/globals.h
new file mode 100644
index 0000000..876e468
--- /dev/null
+++ b/android/device/generated/globals.h
@@ -0,0 +1,1716 @@
+// toys/android/log.c
+
+struct log_data {
+  char *t, *p;
+};
+
+// toys/example/demo_number.c
+
+struct demo_number_data {
+  long M, D;
+};
+
+// toys/example/hello.c
+
+struct hello_data {
+  int unused;
+};
+
+// toys/example/skeleton.c
+
+struct skeleton_data {
+  union {
+    struct {
+      char *b;
+      long c;
+      struct arg_list *d;
+      long e;
+      char *also, *blubber;
+    } s;
+    struct {
+      long b;
+    } a;
+  };
+
+  int more_globals;
+};
+
+// toys/lsb/dmesg.c
+
+struct dmesg_data {
+  long n, s;
+
+  int use_color;
+  time_t tea;
+};
+
+// toys/lsb/gzip.c
+
+struct gzip_data {
+  int level;
+};
+
+// toys/lsb/hostname.c
+
+struct hostname_data {
+  char *F;
+};
+
+// toys/lsb/killall.c
+
+struct killall_data {
+  char *s;
+
+  int signum;
+  pid_t cur_pid;
+  char **names;
+  short *err;
+  struct int_list { struct int_list *next; int val; } *pids;
+};
+
+// toys/lsb/md5sum.c
+
+struct md5sum_data {
+  int sawline;
+
+  unsigned *md5table;
+  // Crypto variables blanked after summing
+  unsigned state[5], oldstate[5];
+  unsigned long long count;
+  union {
+    char c[64];
+    unsigned i[16];
+  } buffer;
+};
+
+// toys/lsb/mknod.c
+
+struct mknod_data {
+  char *Z, *m;
+};
+
+// toys/lsb/mktemp.c
+
+struct mktemp_data {
+  char *p, *tmpdir;
+};
+
+// toys/lsb/mount.c
+
+struct mount_data {
+  struct arg_list *optlist;
+  char *type;
+  char *bigO;
+
+  unsigned long flags;
+  char *opts;
+  int okuser;
+};
+
+// toys/lsb/passwd.c
+
+struct passwd_data {
+  char *a;
+};
+
+// toys/lsb/pidof.c
+
+struct pidof_data {
+  char *omit;
+};
+
+// toys/lsb/seq.c
+
+struct seq_data {
+  char *s, *f;
+
+  int precision, buflen;
+};
+
+// toys/lsb/su.c
+
+struct su_data {
+  char *s;
+  char *c;
+};
+
+// toys/lsb/umount.c
+
+struct umount_data {
+  struct arg_list *t;
+
+  char *types;
+};
+
+// toys/net/ftpget.c
+
+struct ftpget_data {
+  char *u, *p, *P;
+
+  int fd;
+};
+
+// toys/net/ifconfig.c
+
+struct ifconfig_data {
+  int sockfd;
+};
+
+// toys/net/microcom.c
+
+struct microcom_data {
+  long s;
+
+  int fd, stok;
+  struct termios old_stdin, old_fd;
+};
+
+// toys/net/netcat.c
+
+struct netcat_data {
+  char *f, *s;
+  long q, p, W, w;
+};
+
+// toys/net/netstat.c
+
+struct netstat_data {
+  struct num_cache *inodes;
+  int wpad;
+};
+
+// toys/net/ping.c
+
+struct ping_data {
+  char *I;
+  long w, W, i, s, c, t, m;
+
+  struct sockaddr *sa;
+  int sock;
+  unsigned long sent, recv, fugit, min, max;
+};
+
+// toys/net/sntp.c
+
+struct sntp_data {
+  long r, t;
+  char *p, *m, *M;
+};
+
+// toys/net/tunctl.c
+
+struct tunctl_data {
+  char *u;
+};
+
+// toys/other/acpi.c
+
+struct acpi_data {
+  int ac, bat, therm, cool;
+  char *cpath;
+};
+
+// toys/other/base64.c
+
+struct base64_data {
+  long w;
+  unsigned total;
+  unsigned n;  // number of bits used in encoding. 5 for base32, 6 for base64
+  unsigned align;  // number of bits to align to
+};
+
+// toys/other/blkdiscard.c
+
+struct blkdiscard_data {
+  long o, l;
+};
+
+// toys/other/blkid.c
+
+struct blkid_data {
+  struct arg_list *s;
+};
+
+// toys/other/blockdev.c
+
+struct blockdev_data {
+  long setbsz, setra;
+};
+
+// toys/other/chrt.c
+
+struct chrt_data {
+  long p;
+};
+
+// toys/other/dos2unix.c
+
+struct dos2unix_data {
+  char *tempfile;
+};
+
+// toys/other/fallocate.c
+
+struct fallocate_data {
+  long o, l;
+};
+
+// toys/other/fmt.c
+
+struct fmt_data {
+  int width;
+
+  int level, pos;
+};
+
+// toys/other/free.c
+
+struct free_data {
+  unsigned bits;
+  unsigned long long units;
+  char *buf;
+};
+
+// toys/other/hexedit.c
+
+struct hexedit_data {
+  char *data;
+  long long len, base;
+  int numlen, undo, undolen;
+  unsigned height;
+};
+
+// toys/other/hwclock.c
+
+struct hwclock_data {
+  char *f;
+};
+
+// toys/other/ionice.c
+
+struct ionice_data {
+  long p, n, c;
+};
+
+// toys/other/login.c
+
+struct login_data {
+  char *h, *f;
+
+  int login_timeout, login_fail_timeout;
+};
+
+// toys/other/losetup.c
+
+struct losetup_data {
+  char *j;
+  long o, S;
+
+  int openflags;
+  dev_t jdev;
+  ino_t jino;
+  char *dir;
+};
+
+// toys/other/lsattr.c
+
+struct lsattr_data {
+  long v;
+  long p;
+
+  long add, rm, set;
+  // !add and !rm tell us whether they were used, but `chattr =` is meaningful.
+  int have_set;
+};
+
+// toys/other/lspci.c
+
+struct lspci_data {
+  char *i;
+  long n;
+
+  FILE *db;
+};
+
+// toys/other/makedevs.c
+
+struct makedevs_data {
+  char *d;
+};
+
+// toys/other/mix.c
+
+struct mix_data {
+   long r, l;
+   char *d, *c;
+};
+
+// toys/other/mkpasswd.c
+
+struct mkpasswd_data {
+  long P;
+  char *m, *S;
+};
+
+// toys/other/mkswap.c
+
+struct mkswap_data {
+  char *L;
+};
+
+// toys/other/modinfo.c
+
+struct modinfo_data {
+  char *F, *k, *b;
+
+  long mod;
+  int count;
+};
+
+// toys/other/nsenter.c
+
+struct nsenter_data {
+  char *Uupnmi[6];
+  long t;
+};
+
+// toys/other/oneit.c
+
+struct oneit_data {
+  char *c;
+};
+
+// toys/other/pwgen.c
+
+struct pwgen_data {
+  char *r;
+};
+
+// toys/other/rtcwake.c
+
+struct rtcwake_data {
+  long t, s;
+  char *m, *d;
+};
+
+// toys/other/setfattr.c
+
+struct setfattr_data {
+  char *x, *v, *n;
+};
+
+// toys/other/sha3sum.c
+
+struct sha3sum_data {
+  long a;
+  unsigned long long rc[24];
+};
+
+// toys/other/shred.c
+
+struct shred_data {
+  long o, n, s;
+};
+
+// toys/other/stat.c
+
+struct stat_data {
+  char *c;
+
+  union {
+    struct stat st;
+    struct statfs sf;
+  } stat;
+  char *file, *pattern;
+  int patlen;
+};
+
+// toys/other/swapon.c
+
+struct swapon_data {
+  long p;
+};
+
+// toys/other/switch_root.c
+
+struct switch_root_data {
+  char *c;
+
+  dev_t rootdev;
+};
+
+// toys/other/tac.c
+
+struct tac_data {
+  struct double_list *dl;
+};
+
+// toys/other/timeout.c
+
+struct timeout_data {
+  char *s, *k;
+
+  int nextsig;
+  pid_t pid;
+  struct timeval ktv;
+  struct itimerval itv;
+};
+
+// toys/other/truncate.c
+
+struct truncate_data {
+  char *s;
+
+  long size;
+  int type;
+};
+
+// toys/other/watch.c
+
+struct watch_data {
+  int n;
+
+  pid_t pid, oldpid;
+};
+
+// toys/other/watchdog.c
+
+struct watchdog_data {
+  long T, t;
+
+  int fd;
+};
+
+// toys/other/xxd.c
+
+struct xxd_data {
+  long s, g, o, l, c;
+};
+
+// toys/pending/arp.c
+
+struct arp_data {
+    char *hw_type;
+    char *af_type_A;
+    char *af_type_p;
+    char *interface;
+    
+    int sockfd;
+    char *device;
+};
+
+// toys/pending/arping.c
+
+struct arping_data {
+    long count;
+    unsigned long time_out;
+    char *iface;
+    char *src_ip;
+
+    int sockfd;
+    unsigned long start, end;
+    unsigned sent_at, sent_nr, rcvd_nr, brd_sent, rcvd_req, brd_rcv,
+             unicast_flag;
+};
+
+// toys/pending/bc.c
+
+struct bc_data {
+  // This actually needs to be a BcVm*, but the toybox build
+  // system complains if I make it so. Instead, we'll just cast.
+  char *vm;
+
+  size_t nchars;
+  char *file, sig, max_ibase;
+  uint16_t line_len;
+};
+
+// toys/pending/bootchartd.c
+
+struct bootchartd_data {
+  char buf[32];
+  long msec;
+  int proc_accounting;
+
+  pid_t pid;
+};
+
+// toys/pending/brctl.c
+
+struct brctl_data {
+    int sockfd;
+};
+
+// toys/pending/crond.c
+
+struct crond_data {
+  char *crontabs_dir;
+  char *logfile;
+  int loglevel_d;
+  int loglevel;
+
+  time_t crontabs_dir_mtime;
+  uint8_t flagd;
+};
+
+// toys/pending/crontab.c
+
+struct crontab_data {
+  char *user;
+  char *cdir;
+};
+
+// toys/pending/dd.c
+
+struct dd_data {
+  int show_xfer, show_records;
+  unsigned long long bytes, c_count, in_full, in_part, out_full, out_part;
+  struct timeval start;
+  struct {
+    char *name;
+    int fd;
+    unsigned char *buff, *bp;
+    long sz, count;
+    unsigned long long offset;
+  } in, out;
+  unsigned conv, iflag, oflag;
+};
+
+// toys/pending/dhcp.c
+
+struct dhcp_data {
+    char *iface;
+    char *pidfile;
+    char *script;
+    long retries;
+    long timeout;
+    long tryagain;
+    struct arg_list *req_opt;
+    char *req_ip;
+    struct arg_list *pkt_opt;
+    char *fdn_name;
+    char *hostname;
+    char *vendor_cls;
+};
+
+// toys/pending/dhcp6.c
+
+struct dhcp6_data {
+  char *interface_name, *pidfile, *script;
+  long retry, timeout, errortimeout;
+  char *req_ip;
+  int length, state, request_length, sock, sock1, status, retval, retries;
+  struct timeval tv;
+  uint8_t transction_id[3];
+  struct sockaddr_in6 input_socket6;
+};
+
+// toys/pending/dhcpd.c
+
+struct dhcpd_data {
+    char *iface;
+    long port;
+};
+
+// toys/pending/diff.c
+
+struct diff_data {
+  long ct;
+  char *start;
+  struct arg_list *L_list;
+
+  int dir_num, size, is_binary, status, change, len[2];
+  int *offset[2];
+  struct stat st[2];
+};
+
+// toys/pending/dumpleases.c
+
+struct dumpleases_data {
+    char *file;
+};
+
+// toys/pending/expr.c
+
+struct expr_data {
+  char **tok; // current token, not on the stack since recursive calls mutate it
+
+  char *refree;
+};
+
+// toys/pending/fdisk.c
+
+struct fdisk_data {
+  long sect_sz;
+  long sectors;
+  long heads;
+  long cylinders;
+};
+
+// toys/pending/fold.c
+
+struct fold_data {
+  int width;
+};
+
+// toys/pending/fsck.c
+
+struct fsck_data {
+  int fd_num;
+  char *t_list;
+
+  struct double_list *devices;
+  char *arr_flag;
+  char **arr_type;
+  int negate;
+  int sum_status;
+  int nr_run;
+  int sig_num;
+  long max_nr_run;
+};
+
+// toys/pending/getfattr.c
+
+struct getfattr_data {
+  char *n;
+};
+
+// toys/pending/getopt.c
+
+struct getopt_data {
+  struct arg_list *l;
+  char *o, *n;
+};
+
+// toys/pending/getty.c
+
+struct getty_data {
+  char *issue_str;
+  char *login_str;
+  char *init_str;
+  char *host_str; 
+  long timeout;
+  
+  char *tty_name, buff[128];
+  int speeds[20], sc;
+  struct termios termios;
+};
+
+// toys/pending/groupadd.c
+
+struct groupadd_data {
+  long gid;
+};
+
+// toys/pending/host.c
+
+struct host_data {
+  char *type_str;
+};
+
+// toys/pending/ip.c
+
+struct ip_data {
+  char stats, singleline, flush, *filter_dev, gbuf[8192];
+  int sockfd, connected, from_ok, route_cmd;
+  int8_t addressfamily, is_addr;
+};
+
+// toys/pending/ipcrm.c
+
+struct ipcrm_data {
+  struct arg_list *qkey;
+  struct arg_list *qid;
+  struct arg_list *skey;
+  struct arg_list *sid;
+  struct arg_list *mkey;
+  struct arg_list *mid;
+};
+
+// toys/pending/ipcs.c
+
+struct ipcs_data {
+  int id;
+};
+
+// toys/pending/klogd.c
+
+struct klogd_data {
+  long level;
+
+  int fd;
+};
+
+// toys/pending/last.c
+
+struct last_data {
+  char *file;
+
+  struct arg_list *list;
+};
+
+// toys/pending/lsof.c
+
+struct lsof_data {
+  struct arg_list *p;
+
+  struct stat *sought_files;
+  struct double_list *all_sockets, *files;
+  int last_shown_pid, shown_header;
+};
+
+// toys/pending/man.c
+
+struct man_data {
+  char *M, *k;
+
+  char any, cell, ex, *f, k_done, *line, *m, **sct, **scts, **sufs;
+  regex_t reg;
+};
+
+// toys/pending/mke2fs.c
+
+struct mke2fs_data {
+  // Command line arguments.
+  long blocksize;
+  long bytes_per_inode;
+  long inodes;           // Total inodes in filesystem.
+  long reserved_percent; // Integer precent of space to reserve for root.
+  char *gendir;          // Where to read dirtree from.
+
+  // Internal data.
+  struct dirtree *dt;    // Tree of files to copy into the new filesystem.
+  unsigned treeblocks;   // Blocks used by dt
+  unsigned treeinodes;   // Inodes used by dt
+
+  unsigned blocks;       // Total blocks in the filesystem.
+  unsigned freeblocks;   // Free blocks in the filesystem.
+  unsigned inodespg;     // Inodes per group
+  unsigned groups;       // Total number of block groups.
+  unsigned blockbits;    // Bits per block.  (Also blocks per group.)
+
+  // For gene2fs
+  unsigned nextblock;    // Next data block to allocate
+  unsigned nextgroup;    // Next group we'll be allocating from
+  int fsfd;              // File descriptor of filesystem (to output to).
+};
+
+// toys/pending/modprobe.c
+
+struct modprobe_data {
+  struct arg_list *dirs;
+
+  struct arg_list *probes;
+  struct arg_list *dbase[256];
+  char *cmdopts;
+  int nudeps;
+  uint8_t symreq;
+};
+
+// toys/pending/more.c
+
+struct more_data {
+  struct termios inf;
+  int cin_fd;
+};
+
+// toys/pending/openvt.c
+
+struct openvt_data {
+  long c;
+};
+
+// toys/pending/readelf.c
+
+struct readelf_data {
+  char *x, *p;
+
+  char *elf, *shstrtab, *f;
+  unsigned long long shoff, phoff, size, shstrtabsz;
+  int bits, endian, shnum, shentsize, phentsize;
+};
+
+// toys/pending/route.c
+
+struct route_data {
+  char *A;
+};
+
+// toys/pending/sh.c
+
+struct sh_data {
+  union {
+    struct {
+      char *c;
+    } sh;
+    struct {
+      char *a;
+    } exec;
+  };
+
+  // keep ifs here: used to work around compiler limitation in run_command()
+  char *ifs, *isexec, *wcpat;
+  unsigned options, jobcnt, LINENO;
+  int hfd, pid, bangpid, varslen, cdcount;
+  long long SECONDS;
+
+  // global and local variables
+  struct sh_vars {
+    long flags;
+    char *str;
+  } *vars;
+
+  // Parsed functions
+  struct sh_function {
+    char *name;
+    struct sh_pipeline {  // pipeline segments: linked list of arg w/metadata
+      struct sh_pipeline *next, *prev, *end;
+      unsigned lineno;
+      int count, here, type; // TODO abuse type to replace count during parsing
+      struct sh_arg {
+        char **v;
+        int c;
+      } arg[1];
+    } *pipeline;
+    struct double_list *expect; // should be zero at end of parsing
+  } *functions;
+
+// TODO ctrl-Z suspend should stop script
+  struct sh_process {
+    struct sh_process *next, *prev; // | && ||
+    struct arg_list *delete;   // expanded strings
+    // undo redirects, a=b at start, child PID, exit status, has !, job #
+    int *urd, envlen, pid, exit, not, job;
+    long long when; // when job backgrounded/suspended
+    struct sh_arg *raw, arg;
+  } *pp; // currently running process
+
+  struct sh_callstack {
+    struct sh_callstack *next;
+    struct sh_function scratch;
+    struct sh_arg arg;
+    struct arg_list *delete;
+    unsigned lineno;
+    long shift;
+  } *cc;
+
+  // job list, command line for $*, scratch space for do_wildcard_files()
+  struct sh_arg jobs, *wcdeck;
+};
+
+// toys/pending/stty.c
+
+struct stty_data {
+  char *F;
+
+  int fd, col;
+  unsigned output_cols;
+};
+
+// toys/pending/sulogin.c
+
+struct sulogin_data {
+  long timeout;
+  struct termios crntio;
+};
+
+// toys/pending/syslogd.c
+
+struct syslogd_data {
+  char *socket;
+  char *config_file;
+  char *unix_socket;
+  char *logfile;
+  long interval;
+  long rot_size;
+  long rot_count;
+  char *remote_log;
+  long log_prio;
+
+  struct unsocks *lsocks;  // list of listen sockets
+  struct logfile *lfiles;  // list of write logfiles
+  int sigfd[2];
+};
+
+// toys/pending/tcpsvd.c
+
+struct tcpsvd_data {
+  char *name;
+  char *user;
+  long bn;
+  char *nmsg;
+  long cn;
+
+  int maxc;
+  int count_all;
+  int udp;
+};
+
+// toys/pending/telnet.c
+
+struct telnet_data {
+  int port;
+  int sfd;
+  char buff[128];
+  int pbuff;
+  char iac[256];
+  int piac;
+  char *ttype;
+  struct termios def_term;
+  struct termios raw_term;
+  uint8_t term_ok;
+  uint8_t term_mode;
+  uint8_t flags;
+  unsigned win_width;
+  unsigned win_height;
+};
+
+// toys/pending/telnetd.c
+
+struct telnetd_data {
+    char *login_path;
+    char *issue_path;
+    int port;
+    char *host_addr;
+    long w_sec;
+
+    int gmax_fd;
+    pid_t fork_pid;
+};
+
+// toys/pending/tftp.c
+
+struct tftp_data {
+  char *local_file;
+  char *remote_file;
+  long block_size;
+
+  struct sockaddr_storage inaddr;
+  int af;
+};
+
+// toys/pending/tftpd.c
+
+struct tftpd_data {
+  char *user;
+
+  long sfd;
+  struct passwd *pw;
+};
+
+// toys/pending/tr.c
+
+struct tr_data {
+  short map[256]; //map of chars
+  int len1, len2;
+};
+
+// toys/pending/traceroute.c
+
+struct traceroute_data {
+  long max_ttl;
+  long port;
+  long ttl_probes;
+  char *src_ip;
+  long tos;
+  long wait_time;
+  struct arg_list *loose_source;
+  long pause_time;
+  long first_ttl;
+  char *iface;
+
+  uint32_t gw_list[9];
+  int recv_sock;
+  int snd_sock;
+  unsigned msg_len;
+  char *packet;
+  uint32_t ident;
+  int istraceroute6;
+};
+
+// toys/pending/useradd.c
+
+struct useradd_data {
+  char *dir;
+  char *gecos;
+  char *shell;
+  char *u_grp;
+  long uid;
+
+  long gid;
+};
+
+// toys/pending/vi.c
+
+struct vi_data {
+  char *s;
+  int vi_mode, tabstop, list;
+  int cur_col, cur_row, scr_row;
+  int drawn_row, drawn_col;
+  int count0, count1, vi_mov_flag;
+  unsigned screen_height, screen_width;
+  char vi_reg, *last_search;
+  struct str_line {
+    int alloc;
+    int len;
+    char *data;
+  } *il;
+  size_t screen, cursor; //offsets
+  //yank buffer
+  struct yank_buf {
+    char reg;
+    int alloc;
+    char* data;
+  } yank;
+
+  int modified;
+  size_t filesize;
+// mem_block contains RO data that is either original file as mmap
+// or heap allocated inserted data
+//
+//
+//
+  struct block_list {
+    struct block_list *next, *prev;
+    struct mem_block {
+      size_t size;
+      size_t len;
+      enum alloc_flag {
+        MMAP,  //can be munmap() before exit()
+        HEAP,  //can be free() before exit()
+        STACK, //global or stack perhaps toybuf
+      } alloc;
+      const char *data;
+    } *node;
+  } *text;
+
+// slices do not contain actual allocated data but slices of data in mem_block
+// when file is first opened it has only one slice.
+// after inserting data into middle new mem_block is allocated for insert data
+// and 3 slices are created, where first and last slice are pointing to original
+// mem_block with offsets, and middle slice is pointing to newly allocated block
+// When deleting, data is not freed but mem_blocks are sliced more such way that
+// deleted data left between 2 slices
+  struct slice_list {
+    struct slice_list *next, *prev;
+    struct slice {
+      size_t len;
+      const char *data;
+    } *node;
+  } *slices;
+};
+
+// toys/pending/wget.c
+
+struct wget_data {
+  char *filename;
+};
+
+// toys/posix/basename.c
+
+struct basename_data {
+  char *s;
+};
+
+// toys/posix/cal.c
+
+struct cal_data {
+  struct tm *now;
+};
+
+// toys/posix/chgrp.c
+
+struct chgrp_data {
+  uid_t owner;
+  gid_t group;
+  char *owner_name, *group_name;
+  int symfollow;
+};
+
+// toys/posix/chmod.c
+
+struct chmod_data {
+  char *mode;
+};
+
+// toys/posix/cksum.c
+
+struct cksum_data {
+  unsigned crc_table[256];
+};
+
+// toys/posix/cmp.c
+
+struct cmp_data {
+  int fd;
+  char *name;
+};
+
+// toys/posix/cp.c
+
+struct cp_data {
+  union {
+    // install's options
+    struct {
+      char *g, *o, *m;
+    } i;
+    // cp's options
+    struct {
+      char *preserve;
+    } c;
+  };
+
+  char *destname;
+  struct stat top;
+  int (*callback)(struct dirtree *try);
+  uid_t uid;
+  gid_t gid;
+  int pflags;
+};
+
+// toys/posix/cpio.c
+
+struct cpio_data {
+  char *F, *H;
+};
+
+// toys/posix/cut.c
+
+struct cut_data {
+  char *d, *O;
+  struct arg_list *select[5]; // we treat them the same, so loop through
+
+  int pairs;
+  regex_t reg;
+};
+
+// toys/posix/date.c
+
+struct date_data {
+  char *r, *I, *D, *d;
+
+  unsigned nano;
+};
+
+// toys/posix/df.c
+
+struct df_data {
+  struct arg_list *t;
+
+  long units;
+  int column_widths[5];
+  int header_shown;
+};
+
+// toys/posix/du.c
+
+struct du_data {
+  long d;
+
+  unsigned long depth, total;
+  dev_t st_dev;
+  void *inodes;
+};
+
+// toys/posix/env.c
+
+struct env_data {
+  struct arg_list *u;
+};
+
+// toys/posix/expand.c
+
+struct expand_data {
+  struct arg_list *t;
+
+  unsigned tabcount, *tab;
+};
+
+// toys/posix/file.c
+
+struct file_data {
+  int max_name_len;
+
+  off_t len;
+};
+
+// toys/posix/find.c
+
+struct find_data {
+  char **filter;
+  struct double_list *argdata;
+  int topdir, xdev, depth;
+  time_t now;
+  long max_bytes;
+  char *start;
+};
+
+// toys/posix/grep.c
+
+struct grep_data {
+  long m, A, B, C;
+  struct arg_list *f, *e, *M, *S, *exclude_dir;
+  char *color;
+
+  char *purple, *cyan, *red, *green, *grey;
+  struct double_list *reg;
+  char indelim, outdelim;
+  int found, tried;
+};
+
+// toys/posix/head.c
+
+struct head_data {
+  long c, n;
+
+  int file_no;
+};
+
+// toys/posix/iconv.c
+
+struct iconv_data {
+  char *f, *t;
+
+  void *ic;
+};
+
+// toys/posix/id.c
+
+struct id_data {
+  int is_groups;
+};
+
+// toys/posix/kill.c
+
+struct kill_data {
+  char *s;
+  struct arg_list *o;
+};
+
+// toys/posix/ln.c
+
+struct ln_data {
+  char *t;
+};
+
+// toys/posix/logger.c
+
+struct logger_data {
+  char *p, *t;
+};
+
+// toys/posix/ls.c
+
+struct ls_data {
+  long w;
+  long l;
+  char *color;
+
+  struct dirtree *files, *singledir;
+  unsigned screen_width;
+  int nl_title;
+  char *escmore;
+};
+
+// toys/posix/mkdir.c
+
+struct mkdir_data {
+  char *m, *Z;
+};
+
+// toys/posix/mkfifo.c
+
+struct mkfifo_data {
+  char *m;
+  char *Z;
+
+  mode_t mode;
+};
+
+// toys/posix/nice.c
+
+struct nice_data {
+  long n;
+};
+
+// toys/posix/nl.c
+
+struct nl_data {
+  char *s, *n, *b;
+  long w, l, v;
+
+  // Count of consecutive blank lines for -l has to persist between files
+  long lcount;
+  long slen;
+};
+
+// toys/posix/od.c
+
+struct od_data {
+  struct arg_list *t;
+  char *A;
+  long N, w, j;
+
+  int address_idx;
+  unsigned types, leftover, star;
+  char *buf; // Points to buffers[0] or buffers[1].
+  char *bufs[2]; // Used to detect duplicate lines.
+  off_t pos;
+};
+
+// toys/posix/paste.c
+
+struct paste_data {
+  char *d;
+
+  int files;
+};
+
+// toys/posix/patch.c
+
+struct patch_data {
+  char *i, *d;
+  long p, g, F;
+
+  void *current_hunk;
+  long oldline, oldlen, newline, newlen, linenum, outnum;
+  int context, state, filein, fileout, filepatch, hunknum;
+  char *tempname;
+};
+
+// toys/posix/ps.c
+
+struct ps_data {
+  union {
+    struct {
+      struct arg_list *G, *g, *U, *u, *t, *s, *p, *O, *o, *P, *k;
+    } ps;
+    struct {
+      long n, m, d, s;
+      struct arg_list *u, *p, *o, *k, *O;
+    } top;
+    struct {
+      char *L;
+      struct arg_list *G, *g, *P, *s, *t, *U, *u;
+      char *d;
+
+      void *regexes, *snapshot;
+      int signal;
+      pid_t self, match;
+    } pgrep;
+  };
+
+  struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
+  struct dirtree *threadparent;
+  unsigned width, height;
+  dev_t tty;
+  void *fields, *kfields;
+  long long ticks, bits, time;
+  int kcount, forcek, sortpos, pidlen;
+  int (*match_process)(long long *slot);
+  void (*show_process)(void *tb);
+};
+
+// toys/posix/renice.c
+
+struct renice_data {
+  long n;
+};
+
+// toys/posix/sed.c
+
+struct sed_data {
+  char *i;
+  struct arg_list *f, *e;
+
+  // processed pattern list
+  struct double_list *pattern;
+
+  char *nextline, *remember;
+  void *restart, *lastregex;
+  long nextlen, rememberlen, count;
+  int fdout, noeol;
+  unsigned xx;
+  char delim;
+};
+
+// toys/posix/sort.c
+
+struct sort_data {
+  char *t;
+  struct arg_list *k;
+  char *o, *T, S;
+
+  void *key_list;
+  int linecount;
+  char **lines, *name;
+};
+
+// toys/posix/split.c
+
+struct split_data {
+  long l, b, a;
+
+  char *outfile;
+};
+
+// toys/posix/strings.c
+
+struct strings_data {
+  long n;
+  char *t;
+};
+
+// toys/posix/tail.c
+
+struct tail_data {
+  long n, c;
+
+  int file_no, last_fd;
+  struct xnotify *not;
+};
+
+// toys/posix/tar.c
+
+struct tar_data {
+  char *f, *C;
+  struct arg_list *T, *X;
+  char *I, *to_command, *owner, *group, *mtime, *mode;
+  struct arg_list *exclude;
+
+  struct double_list *incl, *excl, *seen;
+  struct string_list *dirs;
+  char *cwd;
+  int fd, ouid, ggid, hlc, warn, adev, aino, sparselen;
+  long long *sparse;
+  time_t mtt;
+
+  // hardlinks seen so far (hlc many)
+  struct {
+    char *arg;
+    ino_t ino;
+    dev_t dev;
+  } *hlx;
+
+  // Parsed information about a tar header.
+  struct tar_header {
+    char *name, *link_target, *uname, *gname;
+    long long size, ssize;
+    uid_t uid;
+    gid_t gid;
+    mode_t mode;
+    time_t mtime;
+    dev_t device;
+  } hdr;
+};
+
+// toys/posix/tee.c
+
+struct tee_data {
+  void *outputs;
+  int out;
+};
+
+// toys/posix/touch.c
+
+struct touch_data {
+  char *t, *r, *d;
+};
+
+// toys/posix/ulimit.c
+
+struct ulimit_data {
+  long P;
+};
+
+// toys/posix/uniq.c
+
+struct uniq_data {
+  long w, s, f;
+
+  long repeats;
+};
+
+// toys/posix/uudecode.c
+
+struct uudecode_data {
+  char *o;
+};
+
+// toys/posix/wc.c
+
+struct wc_data {
+  unsigned long totals[4];
+};
+
+// toys/posix/xargs.c
+
+struct xargs_data {
+  long s, n, P;
+  char *E;
+
+  long entries, bytes, np;
+  char delim;
+  FILE *tty;
+};
+
+extern union global_union {
+	struct log_data log;
+	struct demo_number_data demo_number;
+	struct hello_data hello;
+	struct skeleton_data skeleton;
+	struct dmesg_data dmesg;
+	struct gzip_data gzip;
+	struct hostname_data hostname;
+	struct killall_data killall;
+	struct md5sum_data md5sum;
+	struct mknod_data mknod;
+	struct mktemp_data mktemp;
+	struct mount_data mount;
+	struct passwd_data passwd;
+	struct pidof_data pidof;
+	struct seq_data seq;
+	struct su_data su;
+	struct umount_data umount;
+	struct ftpget_data ftpget;
+	struct ifconfig_data ifconfig;
+	struct microcom_data microcom;
+	struct netcat_data netcat;
+	struct netstat_data netstat;
+	struct ping_data ping;
+	struct sntp_data sntp;
+	struct tunctl_data tunctl;
+	struct acpi_data acpi;
+	struct base64_data base64;
+	struct blkdiscard_data blkdiscard;
+	struct blkid_data blkid;
+	struct blockdev_data blockdev;
+	struct chrt_data chrt;
+	struct dos2unix_data dos2unix;
+	struct fallocate_data fallocate;
+	struct fmt_data fmt;
+	struct free_data free;
+	struct hexedit_data hexedit;
+	struct hwclock_data hwclock;
+	struct ionice_data ionice;
+	struct login_data login;
+	struct losetup_data losetup;
+	struct lsattr_data lsattr;
+	struct lspci_data lspci;
+	struct makedevs_data makedevs;
+	struct mix_data mix;
+	struct mkpasswd_data mkpasswd;
+	struct mkswap_data mkswap;
+	struct modinfo_data modinfo;
+	struct nsenter_data nsenter;
+	struct oneit_data oneit;
+	struct pwgen_data pwgen;
+	struct rtcwake_data rtcwake;
+	struct setfattr_data setfattr;
+	struct sha3sum_data sha3sum;
+	struct shred_data shred;
+	struct stat_data stat;
+	struct swapon_data swapon;
+	struct switch_root_data switch_root;
+	struct tac_data tac;
+	struct timeout_data timeout;
+	struct truncate_data truncate;
+	struct watch_data watch;
+	struct watchdog_data watchdog;
+	struct xxd_data xxd;
+	struct arp_data arp;
+	struct arping_data arping;
+	struct bc_data bc;
+	struct bootchartd_data bootchartd;
+	struct brctl_data brctl;
+	struct crond_data crond;
+	struct crontab_data crontab;
+	struct dd_data dd;
+	struct dhcp_data dhcp;
+	struct dhcp6_data dhcp6;
+	struct dhcpd_data dhcpd;
+	struct diff_data diff;
+	struct dumpleases_data dumpleases;
+	struct expr_data expr;
+	struct fdisk_data fdisk;
+	struct fold_data fold;
+	struct fsck_data fsck;
+	struct getfattr_data getfattr;
+	struct getopt_data getopt;
+	struct getty_data getty;
+	struct groupadd_data groupadd;
+	struct host_data host;
+	struct ip_data ip;
+	struct ipcrm_data ipcrm;
+	struct ipcs_data ipcs;
+	struct klogd_data klogd;
+	struct last_data last;
+	struct lsof_data lsof;
+	struct man_data man;
+	struct mke2fs_data mke2fs;
+	struct modprobe_data modprobe;
+	struct more_data more;
+	struct openvt_data openvt;
+	struct readelf_data readelf;
+	struct route_data route;
+	struct sh_data sh;
+	struct stty_data stty;
+	struct sulogin_data sulogin;
+	struct syslogd_data syslogd;
+	struct tcpsvd_data tcpsvd;
+	struct telnet_data telnet;
+	struct telnetd_data telnetd;
+	struct tftp_data tftp;
+	struct tftpd_data tftpd;
+	struct tr_data tr;
+	struct traceroute_data traceroute;
+	struct useradd_data useradd;
+	struct vi_data vi;
+	struct wget_data wget;
+	struct basename_data basename;
+	struct cal_data cal;
+	struct chgrp_data chgrp;
+	struct chmod_data chmod;
+	struct cksum_data cksum;
+	struct cmp_data cmp;
+	struct cp_data cp;
+	struct cpio_data cpio;
+	struct cut_data cut;
+	struct date_data date;
+	struct df_data df;
+	struct du_data du;
+	struct env_data env;
+	struct expand_data expand;
+	struct file_data file;
+	struct find_data find;
+	struct grep_data grep;
+	struct head_data head;
+	struct iconv_data iconv;
+	struct id_data id;
+	struct kill_data kill;
+	struct ln_data ln;
+	struct logger_data logger;
+	struct ls_data ls;
+	struct mkdir_data mkdir;
+	struct mkfifo_data mkfifo;
+	struct nice_data nice;
+	struct nl_data nl;
+	struct od_data od;
+	struct paste_data paste;
+	struct patch_data patch;
+	struct ps_data ps;
+	struct renice_data renice;
+	struct sed_data sed;
+	struct sort_data sort;
+	struct split_data split;
+	struct strings_data strings;
+	struct tail_data tail;
+	struct tar_data tar;
+	struct tee_data tee;
+	struct touch_data touch;
+	struct ulimit_data ulimit;
+	struct uniq_data uniq;
+	struct uudecode_data uudecode;
+	struct wc_data wc;
+	struct xargs_data xargs;
+} this;
diff --git a/android/device/generated/help.h b/android/device/generated/help.h
new file mode 100644
index 0000000..754e9a1
--- /dev/null
+++ b/android/device/generated/help.h
@@ -0,0 +1,634 @@
+#define HELP_toybox_force_nommu "When using musl-libc on a nommu system, you'll need to say \"y\" here\nunless you used the patch in the mcm-buildall.sh script. You can also\nsay \"y\" here to test the nommu codepaths on an mmu system.\n\nA nommu system can't use fork(), it can only vfork() which suspends\nthe parent until the child calls exec() or exits. When a program\nneeds a second instance of itself to run specific code at the same\ntime as the parent, it must use a more complicated approach (such as\nexec(\"/proc/self/exe\") then pass data to the new child through a pipe)\nwhich is larger and slower, especially for things like toysh subshells\nthat need to duplicate a lot of internal state in the child process\nfork() gives you for free.\n\nLibraries like uclibc omit fork() on nommu systems, allowing\ncompile-time probes to select which codepath to use. But musl\nintentionally includes a broken version of fork() that always returns\n-ENOSYS on nommu systems, and goes out of its way to prevent any\ncross-compile compatible compile-time probes for a nommu system.\n(It doesn't even #define __MUSL__ in features.h.) Musl does this\ndespite the fact that a nommu system can't even run standard ELF\nbinaries (requiring specially packaged executables) because it wants\nto force every program to either include all nommu code in every\ninstance ever built, or drop nommu support altogether.\n\nBuilding a toolchain scripts/mcm-buildall.sh patches musl to fix this."
+
+#define HELP_toybox_uid_usr "When commands like useradd/groupadd allocate user IDs, start here."
+
+#define HELP_toybox_uid_sys "When commands like useradd/groupadd allocate system IDs, start here."
+
+#define HELP_toybox_pedantic_args "Check arguments for commands that have no arguments."
+
+#define HELP_toybox_debug "Enable extra checks for debugging purposes. All of them catch\nthings that can only go wrong at development time, not runtime."
+
+#define HELP_toybox_norecurse "When one toybox command calls another, usually it just calls the new\ncommand's main() function rather than searching the $PATH and calling\nexec on another file (which is much slower).\n\nThis disables that optimization, so toybox will run external commands\n       even when it has a built-in version of that command. This requires\n       toybox symlinks to be installed in the $PATH, or re-invoking the\n       \"toybox\" multiplexer command by name."
+
+#define HELP_toybox_free "When a program exits, the operating system will clean up after it\n(free memory, close files, etc). To save size, toybox usually relies\non this behavior. If you're running toybox under a debugger or\nwithout a real OS (ala newlib+libgloss), enable this to make toybox\nclean up after itself."
+
+#define HELP_toybox_help_dashdash "Support --help argument in all commands, even ones with a NULL\noptstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output\nas \"help command\". --version shows toybox version."
+
+#define HELP_toybox_help "Include help text for each command."
+
+#define HELP_toybox_float "Include floating point support infrastructure and commands that\nrequire it."
+
+#define HELP_toybox_libz "Use libz for gz support."
+
+#define HELP_toybox_libcrypto "Use faster hash functions out of external -lcrypto library."
+
+#define HELP_toybox_smack "Include SMACK options in commands like ls for systems like Tizen."
+
+#define HELP_toybox_selinux "Include SELinux options in commands such as ls, and add\nSELinux-specific commands such as chcon to the Android menu."
+
+#define HELP_toybox_lsm_none "Don't try to achieve \"watertight\" by plugging the holes in a\ncollander, instead use conventional unix security (and possibly\nLinux Containers) for a simple straightforward system."
+
+#define HELP_toybox_suid "Support for the Set User ID bit, to install toybox suid root and drop\npermissions for commands which do not require root access. To use\nthis change ownership of the file to the root user and set the suid\nbit in the file permissions:\n\nchown root:root toybox; chmod +s toybox\n\nprompt \"Security Blanket\"\ndefault TOYBOX_LSM_NONE\nhelp\nSelect a Linux Security Module to complicate your system\nuntil you can't find holes in it."
+
+#define HELP_toybox "usage: toybox [--long | --help | --version | [COMMAND] [ARGUMENTS...]]\n\nWith no arguments, \"toybox\" shows available COMMAND names. Add --long\nto include suggested install path for each command, see\nhttps://landley.net/toybox/faq.html#install for details.\n\nFirst argument is name of a COMMAND to run, followed by any ARGUMENTS\nto that command. Most toybox commands also understand:\n\n--help		Show command help (only)\n--version	Show toybox version (only)\n\nThe filename \"-\" means stdin/stdout, and \"--\" stops argument parsing.\n\nNumerical arguments accept a single letter suffix for\nkilo, mega, giga, tera, peta, and exabytes, plus an additional\n\"d\" to indicate decimal 1000's instead of 1024.\n\nDurations can be decimal fractions and accept minute (\"m\"), hour (\"h\"),\nor day (\"d\") suffixes (so 0.1m = 6s)."
+
+#define HELP_setenforce "usage: setenforce [enforcing|permissive|1|0]\n\nSets whether SELinux is enforcing (1) or permissive (0)."
+
+#define HELP_sendevent "usage: sendevent DEVICE TYPE CODE VALUE\n\nSends a Linux input event."
+
+#define HELP_runcon "usage: runcon CONTEXT COMMAND [ARGS...]\n\nRun a command in a specified security context."
+
+#define HELP_restorecon "usage: restorecon [-D] [-F] [-R] [-n] [-v] FILE...\n\nRestores the default security contexts for the given files.\n\n-D	Apply to /data/data too\n-F	Force reset\n-R	Recurse into directories\n-n	Don't make any changes; useful with -v to see what would change\n-v	Verbose"
+
+#define HELP_log "usage: log [-p PRI] [-t TAG] MESSAGE...\n\nLogs message to logcat.\n\n-p	Use the given priority instead of INFO:\n	d: DEBUG  e: ERROR  f: FATAL  i: INFO  v: VERBOSE  w: WARN  s: SILENT\n-t	Use the given tag instead of \"log\""
+
+#define HELP_load_policy "usage: load_policy FILE\n\nLoad the specified SELinux policy file."
+
+#define HELP_getenforce "usage: getenforce\n\nShows whether SELinux is disabled, enforcing, or permissive."
+
+#define HELP_skeleton_alias "usage: skeleton_alias [-dq] [-b NUMBER]\n\nExample of a second command with different arguments in the same source\nfile as the first. This allows shared infrastructure not added to lib/."
+
+#define HELP_skeleton "usage: skeleton [-a] [-b STRING] [-c NUMBER] [-d LIST] [-e COUNT] [...]\n\nTemplate for new commands. You don't need this.\n\nWhen creating a new command, copy this file and delete the parts you\ndon't need. Be sure to replace all instances of \"skeleton\" (upper and lower\ncase) with your new command name.\n\nFor simple commands, \"hello.c\" is probably a better starting point."
+
+#define HELP_logwrapper "usage: logwrapper ...\n\nAppend command line to $WRAPLOG, then call second instance\nof command in $PATH."
+
+#define HELP_hostid "usage: hostid\n\nPrint the numeric identifier for the current host."
+
+#define HELP_hello "usage: hello\n\nA hello world program.\n\nMostly used as a simple template for adding new commands.\nOccasionally nice to smoketest kernel booting via \"init=/usr/bin/hello\"."
+
+#define HELP_demo_utf8towc "usage: demo_utf8towc\n\nPrint differences between toybox's utf8 conversion routines vs libc du jour."
+
+#define HELP_demo_scankey "usage: demo_scankey\n\nMove a letter around the screen. Hit ESC to exit."
+
+#define HELP_demo_number "usage: demo_number [-hsbi] [-D LEN] NUMBER...\n\n-D	output field is LEN chars\n-M	input units (index into bkmgtpe)\n-c	Comma comma down do be do down down\n-b	Use \"B\" for single byte units (HR_B)\n-d	Decimal units\n-h	Human readable\n-s	Space between number and units (HR_SPACE)"
+
+#define HELP_demo_many_options "usage: demo_many_options -[a-zA-Z]\n\nPrint the optflags value of the command arguments, in hex."
+
+#define HELP_umount "usage: umount [-a [-t TYPE[,TYPE...]]] [-vrfD] [DIR...]\n\nUnmount the listed filesystems.\n\n-a	Unmount all mounts in /proc/mounts instead of command line list\n-D	Don't free loopback device(s)\n-f	Force unmount\n-l	Lazy unmount (detach from filesystem now, close when last user does)\n-n	Don't use /proc/mounts\n-r	Remount read only if unmounting fails\n-t	Restrict \"all\" to mounts of TYPE (or use \"noTYPE\" to skip)\n-v	Verbose"
+
+#define HELP_sync "usage: sync\n\nWrite pending cached data to disk (synchronize), blocking until done."
+
+#define HELP_su "usage: su [-lp] [-u UID] [-g GID,...] [-s SHELL] [-c CMD] [USER [COMMAND...]]\n\nSwitch user, prompting for password of new user when not run as root.\n\nWith one argument, switch to USER and run user's shell from /etc/passwd.\nWith no arguments, USER is root. If COMMAND line provided after USER,\nexec() it as new USER (bypassing shell). If -u or -g specified, first\nargument (if any) isn't USER (it's COMMAND).\n\nfirst argument is USER name to switch to (which must exist).\nNon-root users are prompted for new user's password.\n\n-s	Shell to use (default is user's shell from /etc/passwd)\n-c	Command line to pass to -s shell (ala sh -c \"CMD\")\n-l	Reset environment as if new login.\n-u	Switch to UID instead of USER\n-g	Switch to GID (only root allowed, can be comma separated list)\n-p	Preserve environment (except for $PATH and $IFS)"
+
+#define HELP_seq "usage: seq [-w|-f fmt_str] [-s sep_str] [first] [increment] last\n\nCount from first to last, by increment. Omitted arguments default\nto 1. Two arguments are used as first and last. Arguments can be\nnegative or floating point.\n\n-f	Use fmt_str as a printf-style floating point format string\n-s	Use sep_str as separator, default is a newline character\n-w	Pad to equal width with leading zeroes"
+
+#define HELP_pidof "usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME]...\n\nPrint the PIDs of all processes with the given names.\n\n-s	Single shot, only return one pid\n-o	Omit PID(s)\n-x	Match shell scripts too"
+
+#define HELP_passwd_sad "Password changes are checked to make sure they're at least 6 chars long,\ndon't include the entire username (but not a subset of it), or the entire\nprevious password (but changing password1, password2, password3 is fine).\nThis heuristic accepts \"aaaaaa\" and \"123456\"."
+
+#define HELP_passwd "usage: passwd [-a ALGO] [-dlu] [USER]\n\nUpdate user's authentication tokens. Defaults to current user.\n\n-a ALGO	Encryption method (des, md5, sha256, sha512) default: des\n-d		Set password to ''\n-l		Lock (disable) account\n-u		Unlock (enable) account"
+
+#define HELP_mount "usage: mount [-afFrsvw] [-t TYPE] [-o OPTION,] [[DEVICE] DIR]\n\nMount new filesystem(s) on directories. With no arguments, display existing\nmounts.\n\n-a	Mount all entries in /etc/fstab (with -t, only entries of that TYPE)\n-O	Only mount -a entries that have this option\n-f	Fake it (don't actually mount)\n-r	Read only (same as -o ro)\n-w	Read/write (default, same as -o rw)\n-t	Specify filesystem type\n-v	Verbose\n\nOPTIONS is a comma separated list of options, which can also be supplied\nas --longopts.\n\nAutodetects loopback mounts (a file on a directory) and bind mounts (file\non file, directory on directory), so you don't need to say --bind or --loop.\nYou can also \"mount -a /path\" to mount everything in /etc/fstab under /path,\neven if it's noauto. DEVICE starting with UUID= is identified by blkid -U."
+
+#define HELP_mktemp "usage: mktemp [-dqu] [-p DIR] [TEMPLATE]\n\nSafely create a new file \"DIR/TEMPLATE\" and print its name.\n\n-d	Create directory instead of file (--directory)\n-p	Put new file in DIR (--tmpdir)\n-q	Quiet, no error messages\n-t	Prefer $TMPDIR > DIR > /tmp (default DIR > $TMPDIR > /tmp)\n-u	Don't create anything, just print what would be created\n\nEach X in TEMPLATE is replaced with a random printable character. The\ndefault TEMPLATE is tmp.XXXXXXXXXX."
+
+#define HELP_mknod_z "usage: mknod [-Z CONTEXT] ...\n\n-Z	Set security context to created file"
+
+#define HELP_mknod "usage: mknod [-m MODE] NAME TYPE [MAJOR MINOR]\n\nCreate a special file NAME with a given type. TYPE is b for block device,\nc or u for character device, p for named pipe (which ignores MAJOR/MINOR).\n\n-m	Mode (file permissions) of new device, in octal or u+x format"
+
+#define HELP_sha512sum "See sha1sum"
+
+#define HELP_sha384sum "See sha1sum"
+
+#define HELP_sha256sum "See sha1sum"
+
+#define HELP_sha224sum "See sha1sum"
+
+#define HELP_sha1sum "usage: sha?sum [-bcs] [FILE]...\n\nCalculate sha hash for each input file, reading from stdin if none. Output\none hash (40 hex digits for sha1, 56 for sha224, 64 for sha256, 96 for sha384,\nand 128 for sha512) for each input file, followed by filename.\n\n-b	Brief (hash only, no filename)\n-c	Check each line of each FILE is the same hash+filename we'd output\n-s	No output, exit status 0 if all hashes match, 1 otherwise"
+
+#define HELP_md5sum "usage: md5sum [-bcs] [FILE]...\n\nCalculate md5 hash for each input file, reading from stdin if none.\nOutput one hash (32 hex digits) for each input file, followed by filename.\n\n-b	Brief (hash only, no filename)\n-c	Check each line of each FILE is the same hash+filename we'd output\n-s	No output, exit status 0 if all hashes match, 1 otherwise"
+
+#define HELP_killall "usage: killall [-l] [-iqv] [-SIGNAL|-s SIGNAL] PROCESS_NAME...\n\nSend a signal (default: TERM) to all processes with the given names.\n\n-i	Ask for confirmation before killing\n-l	Print list of all available signals\n-q	Don't print any warnings or error messages\n-s	Send SIGNAL instead of SIGTERM\n-v	Report if the signal was successfully sent\n-w	Wait until all signaled processes are dead"
+
+#define HELP_dnsdomainname "usage: dnsdomainname\n\nShow domain this system belongs to (same as hostname -d)."
+
+#define HELP_hostname "usage: hostname [-bdsf] [-F FILENAME] [newname]\n\nGet/set the current hostname.\n\n-b	Set hostname to 'localhost' if otherwise unset\n-d	Show DNS domain name (no host)\n-f	Show fully-qualified name (host+domain, FQDN)\n-F	Set hostname to contents of FILENAME\n-s	Show short host name (no domain)"
+
+#define HELP_zcat "usage: zcat [FILE...]\n\nDecompress files to stdout. Like `gzip -dc`.\n\n-f	Force: allow read from tty"
+
+#define HELP_gunzip "usage: gunzip [-cfk] [FILE...]\n\nDecompress files. With no files, decompresses stdin to stdout.\nOn success, the input files are removed and replaced by new\nfiles without the .gz suffix.\n\n-c	Output to stdout (act as zcat)\n-f	Force: allow read from tty\n-k	Keep input files (default is to remove)"
+
+#define HELP_gzip "usage: gzip [-19cdfk] [FILE...]\n\nCompress files. With no files, compresses stdin to stdout.\nOn success, the input files are removed and replaced by new\nfiles with the .gz suffix.\n\n-c	Output to stdout\n-d	Decompress (act as gunzip)\n-f	Force: allow overwrite of output file\n-k	Keep input files (default is to remove)\n-#	Compression level 1-9 (1:fastest, 6:default, 9:best)"
+
+#define HELP_dmesg "usage: dmesg [-Cc] [-r|-t|-T] [-n LEVEL] [-s SIZE] [-w]\n\nPrint or control the kernel ring buffer.\n\n-C	Clear ring buffer without printing\n-c	Clear ring buffer after printing\n-n	Set kernel logging LEVEL (1-9)\n-r	Raw output (with <level markers>)\n-S	Use syslog(2) rather than /dev/kmsg\n-s	Show the last SIZE many bytes\n-T	Human readable timestamps\n-t	Don't print timestamps\n-w	Keep waiting for more output (aka --follow)"
+
+#define HELP_tunctl "usage: tunctl [-dtT] [-u USER] NAME\n\nCreate and delete tun/tap virtual ethernet devices.\n\n-T	Use tap (ethernet frames) instead of tun (ip packets)\n-d	Delete tun/tap device\n-t	Create tun/tap device\n-u	Set owner (user who can read/write device without root access)"
+
+#define HELP_sntp "usage: sntp [-saSdDq] [-r SHIFT] [-mM[ADDRESS]] [-p PORT] [SERVER]\n\nSimple Network Time Protocol client. Query SERVER and display time.\n\n-p	Use PORT (default 123)\n-s	Set system clock suddenly\n-a	Adjust system clock gradually\n-S	Serve time instead of querying (bind to SERVER address if specified)\n-m	Wait for updates from multicast ADDRESS (RFC 4330 default 224.0.1.1)\n-M	Multicast server on ADDRESS (default 224.0.0.1)\n-t	TTL (multicast only, default 1)\n-d	Daemonize (run in background re-querying )\n-D	Daemonize but stay in foreground: re-query time every 1000 seconds\n-r	Retry shift (every 1<<SHIFT seconds)\n-q	Quiet (don't display time)"
+
+#define HELP_rfkill "usage: rfkill COMMAND [DEVICE]\n\nEnable/disable wireless devices.\n\nCommands:\nlist [DEVICE]   List current state\nblock DEVICE    Disable device\nunblock DEVICE  Enable device\n\nDEVICE is an index number, or one of:\nall, wlan(wifi), bluetooth, uwb(ultrawideband), wimax, wwan, gps, fm."
+
+#define HELP_ping "usage: ping [OPTIONS] HOST\n\nCheck network connectivity by sending packets to a host and reporting\nits response.\n\nSend ICMP ECHO_REQUEST packets to ipv4 or ipv6 addresses and prints each\necho it receives back, with round trip time. Returns true if host alive.\n\nOptions:\n-4, -6		Force IPv4 or IPv6\n-c CNT		Send CNT many packets (default 3, 0 = infinite)\n-f		Flood (print . and \\b to show drops, default -c 15 -i 0.2)\n-i TIME		Interval between packets (default 1, need root for < .2)\n-I IFACE/IP	Source interface or address\n-m MARK		Tag outgoing packets using SO_MARK\n-q		Quiet (stops after one returns true if host is alive)\n-s SIZE		Data SIZE in bytes (default 56)\n-t TTL		Set Time To Live (number of hops)\n-W SEC		Seconds to wait for response after last -c packet (default 3)\n-w SEC		Exit after this many seconds"
+
+#define HELP_netstat "usage: netstat [-pWrxwutneal]\n\nDisplay networking information. Default is netstat -tuwx\n\n-r	Routing table\n-a	All sockets (not just connected)\n-l	Listening server sockets\n-t	TCP sockets\n-u	UDP sockets\n-w	Raw sockets\n-x	Unix sockets\n-e	Extended info\n-n	Don't resolve names\n-W	Wide display\n-p	Show PID/program name of sockets"
+
+#define HELP_netcat "usage: netcat [-46ELUlt] [-u] [-wpq #] [-s addr] {IPADDR PORTNUM|-f FILENAME|COMMAND...}\n\nForward stdin/stdout to a file or network connection.\n\n-4	Force IPv4\n-6	Force IPv6\n-E	Forward stderr\n-L	Listen and background each incoming connection (server mode)\n-U	Use a UNIX domain socket\n-W	SECONDS timeout for more data on an idle connection\n-f	Use FILENAME (ala /dev/ttyS0) instead of network\n-l	Listen for one incoming connection, then exit\n-p	Local port number\n-q	Quit SECONDS after EOF on stdin, even if stdout hasn't closed yet\n-s	Local source address\n-t	Allocate tty\n-u	Use UDP\n-w	SECONDS timeout to establish connection\n\nUse \"stty 115200 -F /dev/ttyS0 && stty raw -echo -ctlecho\" with\nnetcat -f to connect to a serial port.\n\nWhen listening the COMMAND line is executed as a child process to handle\nan incoming connection. With no COMMAND -l forwards the connection\nto stdin/stdout. If no -p specified, -l prints the port it bound to and\nbackgrounds itself (returning immediately).\n\nFor a quick-and-dirty server, try something like:\nnetcat -s 127.0.0.1 -p 1234 -tL sh -l"
+
+#define HELP_microcom "usage: microcom [-s SPEED] [-X] DEVICE\n\nSimple serial console.\n\n-s	Set baud rate to SPEED (default 115200)\n-X	Ignore ^@ (send break) and ^] (exit)"
+
+#define HELP_ifconfig "usage: ifconfig [-aS] [INTERFACE [ACTION...]]\n\nDisplay or configure network interface.\n\nWith no arguments, display active interfaces. First argument is interface\nto operate on, one argument by itself displays that interface.\n\n-a	All interfaces displayed, not just active ones\n-S	Short view, one line per interface\n\nStandard ACTIONs to perform on an INTERFACE:\n\nADDR[/MASK]        - set IPv4 address (1.2.3.4/5) and activate interface\nadd|del ADDR[/LEN] - add/remove IPv6 address (1111::8888/128)\nup|down            - activate or deactivate interface\n\nAdvanced ACTIONs (default values usually suffice):\n\ndefault          - remove IPv4 address\nnetmask ADDR     - set IPv4 netmask via 255.255.255.0 instead of /24\ntxqueuelen LEN   - number of buffered packets before output blocks\nmtu LEN          - size of outgoing packets (Maximum Transmission Unit)\nbroadcast ADDR   - Set broadcast address\npointopoint ADDR - PPP and PPPOE use this instead of \"route add default gw\"\nhw TYPE ADDR     - set hardware (mac) address (type = ether|infiniband)\n\nFlags you can set on an interface (or -remove by prefixing with -):\n\narp       - don't use Address Resolution Protocol to map LAN routes\npromisc   - don't discard packets that aren't to this LAN hardware address\nmulticast - force interface into multicast mode if the driver doesn't\nallmulti  - promisc for multicast packets"
+
+#define HELP_ftpput "An ftpget that defaults to -s instead of -g"
+
+#define HELP_ftpget "usage: ftpget [-cvgslLmMdD] [-P PORT] [-p PASSWORD] [-u USER] HOST [LOCAL] REMOTE\n\nTalk to ftp server. By default get REMOTE file via passive anonymous\ntransfer, optionally saving under a LOCAL name. Can also send, list, etc.\n\n-c	Continue partial transfer\n-p	Use PORT instead of \"21\"\n-P	Use PASSWORD instead of \"ftpget@\"\n-u	Use USER instead of \"anonymous\"\n-v	Verbose\n\nWays to interact with FTP server:\n-d	Delete file\n-D	Remove directory\n-g	Get file (default)\n-l	List directory\n-L	List (filenames only)\n-m	Move file on server from LOCAL to REMOTE\n-M	mkdir\n-s	Send file"
+
+#define HELP_yes "usage: yes [args...]\n\nRepeatedly output line until killed. If no args, output 'y'."
+
+#define HELP_xxd "usage: xxd [-c n] [-g n] [-i] [-l n] [-o n] [-p] [-r] [-s n] [file]\n\nHexdump a file to stdout.  If no file is listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-c n	Show n bytes per line (default 16)\n-g n	Group bytes by adding a ' ' every n bytes (default 2)\n-i	Include file output format (comma-separated hex byte literals)\n-l n	Limit of n bytes before stopping (default is no limit)\n-o n	Add n to display offset\n-p	Plain hexdump (30 bytes/line, no grouping)\n-r	Reverse operation: turn a hexdump into a binary file\n-s n	Skip to offset n"
+
+#define HELP_which "usage: which [-a] filename ...\n\nSearch $PATH for executable files matching filename(s).\n\n-a	Show all matches"
+
+#define HELP_watchdog "usage: watchdog [-F] [-t UPDATE] [-T DEADLINE] DEV\n\nStart the watchdog timer at DEV with optional timeout parameters.\n\n-F	run in the foreground (do not daemonize)\n-t	poke watchdog every UPDATE seconds (default 4)\n-T	reboot if not poked for DEADLINE seconds (default 60)"
+
+#define HELP_watch "usage: watch [-teb] [-n SEC] PROG ARGS\n\nRun PROG every -n seconds, showing output. Hit q to quit.\n\n-n	Loop period in seconds (default 2)\n-t	Don't print header\n-e	Exit on error\n-b	Beep on command error\n-x	Exec command directly (vs \"sh -c\")"
+
+#define HELP_w "usage: w\n\nShow who is logged on and since how long they logged in."
+
+#define HELP_vmstat "usage: vmstat [-n] [DELAY [COUNT]]\n\nPrint virtual memory statistics, repeating each DELAY seconds, COUNT times.\n(With no DELAY, prints one line. With no COUNT, repeats until killed.)\n\nShow processes running and blocked, kilobytes swapped, free, buffered, and\ncached, kilobytes swapped in and out per second, file disk blocks input and\noutput per second, interrupts and context switches per second, percent\nof CPU time spent running user code, system code, idle, and awaiting I/O.\nFirst line is since system started, later lines are since last line.\n\n-n	Display the header only once"
+
+#define HELP_vconfig "usage: vconfig COMMAND [OPTIONS]\n\nCreate and remove virtual ethernet devices\n\nadd             [interface-name] [vlan_id]\nrem             [vlan-name]\nset_flag        [interface-name] [flag-num]       [0 | 1]\nset_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]\nset_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]\nset_name_type   [name-type]"
+
+#define HELP_uuidgen "usage: uuidgen\n\nCreate and print a new RFC4122 random UUID."
+
+#define HELP_usleep "usage: usleep MICROSECONDS\n\nPause for MICROSECONDS microseconds."
+
+#define HELP_uptime "usage: uptime [-ps]\n\nTell the current time, how long the system has been running, the number\nof users, and the system load averages for the past 1, 5 and 15 minutes.\n\n-p	Pretty (human readable) uptime\n-s	Since when has the system been up?"
+
+#define HELP_truncate "usage: truncate [-c] -s SIZE file...\n\nSet length of file(s), extending sparsely if necessary.\n\n-c	Don't create file if it doesn't exist\n-s	New size (with optional prefix and suffix)\n\nSIZE prefix: + add, - subtract, < shrink to, > expand to,\n             / multiple rounding down, % multiple rounding up\nSIZE suffix: k=1024, m=1024^2, g=1024^3, t=1024^4, p=1024^5, e=1024^6"
+
+#define HELP_timeout "usage: timeout [-k DURATION] [-s SIGNAL] DURATION COMMAND...\n\nRun command line as a child process, sending child a signal if the\ncommand doesn't exit soon enough.\n\nDURATION can be a decimal fraction. An optional suffix can be \"m\"\n(minutes), \"h\" (hours), \"d\" (days), or \"s\" (seconds, the default).\n\n-s	Send specified signal (default TERM)\n-k	Send KILL signal if child still running this long after first signal\n-v	Verbose\n--foreground       Don't create new process group\n--preserve-status  Exit with the child's exit status"
+
+#define HELP_taskset "usage: taskset [-ap] [mask] [PID | cmd [args...]]\n\nLaunch a new task which may only run on certain processors, or change\nthe processor affinity of an existing PID.\n\nMask is a hex string where each bit represents a processor the process\nis allowed to run on. PID without a mask displays existing affinity.\n\n-p	Set/get the affinity of given PID instead of a new command\n-a	Set/get the affinity of all threads of the PID"
+
+#define HELP_nproc "usage: nproc [--all]\n\nPrint number of processors.\n\n--all	Show all processors, not just ones this task can run on"
+
+#define HELP_tac "usage: tac [FILE...]\n\nOutput lines in reverse order."
+
+#define HELP_sysctl "usage: sysctl [-aAeNnqw] [-p [FILE] | KEY[=VALUE]...]\n\nRead/write system control data (under /proc/sys).\n\n-a,A	Show all values\n-e	Don't warn about unknown keys\n-N	Don't print key values\n-n	Don't print key names\n-p	Read values from FILE (default /etc/sysctl.conf)\n-q	Don't show value after write\n-w	Only write values (object to reading)"
+
+#define HELP_switch_root "usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT...\n\nUse from PID 1 under initramfs to free initramfs, chroot to NEW_ROOT,\nand exec NEW_INIT.\n\n-c	Redirect console to device in NEW_ROOT\n-h	Hang instead of exiting on failure (avoids kernel panic)"
+
+#define HELP_swapon "usage: swapon [-d] [-p priority] filename\n\nEnable swapping on a given device/file.\n\n-d	Discard freed SSD pages\n-p	Priority (highest priority areas allocated first)"
+
+#define HELP_swapoff "usage: swapoff swapregion\n\nDisable swapping on a given swapregion."
+
+#define HELP_stat "usage: stat [-tfL] [-c FORMAT] FILE...\n\nDisplay status of files or filesystems.\n\n-c	Output specified FORMAT string instead of default\n-f	Display filesystem status instead of file status\n-L	Follow symlinks\n-t	terse (-c \"%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\")\n	      (with -f = -c \"%n %i %l %t %s %S %b %f %a %c %d\")\n\nThe valid format escape sequences for files:\n%a  Access bits (octal) |%A  Access bits (flags)|%b  Size/512\n%B  Bytes per %b (512)  |%C  Security context   |%d  Device ID (dec)\n%D  Device ID (hex)     |%f  All mode bits (hex)|%F  File type\n%g  Group ID            |%G  Group name         |%h  Hard links\n%i  Inode               |%m  Mount point        |%n  Filename\n%N  Long filename       |%o  I/O block size     |%s  Size (bytes)\n%t  Devtype major (hex) |%T  Devtype minor (hex)|%u  User ID\n%U  User name           |%x  Access time        |%X  Access unix time\n%y  Modification time   |%Y  Mod unix time      |%z  Creation time\n%Z  Creation unix time\n\nThe valid format escape sequences for filesystems:\n%a  Available blocks    |%b  Total blocks       |%c  Total inodes\n%d  Free inodes         |%f  Free blocks        |%i  File system ID\n%l  Max filename length |%n  File name          |%s  Fragment size\n%S  Best transfer size  |%t  FS type (hex)      |%T  FS type (driver name)"
+
+#define HELP_shred "usage: shred [-fuz] [-n COUNT] [-s SIZE] FILE...\n\nSecurely delete a file by overwriting its contents with random data.\n\n-f		Force (chmod if necessary)\n-n COUNT	Random overwrite iterations (default 1)\n-o OFFSET	Start at OFFSET\n-s SIZE		Use SIZE instead of detecting file size\n-u		Unlink (actually delete file when done)\n-x		Use exact size (default without -s rounds up to next 4k)\n-z		Zero at end\n\nNote: data journaling filesystems render this command useless, you must\noverwrite all free space (fill up disk) to erase old data on those."
+
+#define HELP_sha3sum "usage: sha3sum [-S] [-a BITS] [FILE...]\n\nHash function du jour.\n\n-a	Produce a hash BITS long (default 224)\n-S	Use SHAKE termination byte instead of SHA3 (ask FIPS why)"
+
+#define HELP_setsid "usage: setsid [-cdw] command [args...]\n\nRun process in a new session.\n\n-d	Detach from tty\n-c	Control tty (become foreground process & receive keyboard signals)\n-w	Wait for child (and exit with its status)"
+
+#define HELP_setfattr "usage: setfattr [-h] [-x|-n NAME] [-v VALUE] FILE...\n\nWrite POSIX extended attributes.\n\n-h	Do not dereference symlink\n-n	Set given attribute\n-x	Remove given attribute\n-v	Set value for attribute -n (default is empty)"
+
+#define HELP_rtcwake "usage: rtcwake [-aluv] [-d FILE] [-m MODE] [-s SECS] [-t UNIX]\n\nEnter the given sleep state until the given time.\n\n-a	RTC uses time specified in /etc/adjtime\n-d FILE	Device to use (default /dev/rtc)\n-l	RTC uses local time\n-m	Mode (--list-modes to see those supported by your kernel):\n	  standby  S1: default              mem     S3: suspend to RAM\n	  disk     S4: suspend to disk      off     S5: power off\n	  disable  Cancel current alarm     freeze  stop processes/processors\n	  no       just set wakeup time     on      just poll RTC for alarm\n	  show     just show current alarm\n-s SECS	Wake SECS seconds from now\n-t UNIX	Wake UNIX seconds from epoch\n-u	RTC uses UTC\n-v	Verbose"
+
+#define HELP_rmmod "usage: rmmod [-wf] [MODULE]\n\nUnload the module named MODULE from the Linux kernel.\n-f	Force unload of a module\n-w	Wait until the module is no longer used"
+
+#define HELP_rev "usage: rev [FILE...]\n\nOutput each line reversed, when no files are given stdin is used."
+
+#define HELP_reset "usage: reset\n\nReset the terminal."
+
+#define HELP_reboot "usage: reboot/halt/poweroff [-fn]\n\nRestart, halt or powerdown the system.\n\n-f	Don't signal init\n-n	Don't sync before stopping the system"
+
+#define HELP_realpath "usage: realpath FILE...\n\nDisplay the canonical absolute pathname"
+
+#define HELP_readlink "usage: readlink FILE...\n\nWith no options, show what symlink points to, return error if not symlink.\n\nOptions for producing canonical paths (all symlinks/./.. resolved):\n\n-e	Canonical path to existing entry (fail if missing)\n-f	Full path (fail if directory missing)\n-m	Ignore missing entries, show where it would be\n-n	No trailing newline\n-q	Quiet (no output, just error code)"
+
+#define HELP_readahead "usage: readahead FILE...\n\nPreload files into disk cache."
+
+#define HELP_pwgen "usage: pwgen [-cAn0yrsBhC1v] [LENGTH] [COUNT]\n\nGenerate human-readable random passwords. When output is to tty produces\na screenfull to defeat shoulder surfing (pick one and clear the screen).\n\n-c  --capitalize                  Permit capital letters.\n-A  --no-capitalize               Don't include capital letters.\n-n  --numerals                    Permit numbers.\n-0  --no-numerals                 Don't include numbers.\n-y  --symbols                     Permit special characters ($#%...).\n-r <chars>  --remove=<chars>      Don't include the given characters.\n-s  --secure                      Generate more random passwords.\n-B  --ambiguous                   Avoid ambiguous characters (e.g. 0, O).\n-h  --help                        Print this help message.\n-C                                Print the output in columns.\n-1                                Print the output one line each.\n-v                                Don't include vowels."
+
+#define HELP_pwdx "usage: pwdx PID...\n\nPrint working directory of processes listed on command line."
+
+#define HELP_printenv "usage: printenv [-0] [env_var...]\n\nPrint environment variables.\n\n-0	Use \\0 as delimiter instead of \\n"
+
+#define HELP_pmap "usage: pmap [-xq] [pids...]\n\nReport the memory map of a process or processes.\n\n-x	Show the extended format\n-q	Do not display some header/footer lines"
+
+#define HELP_pivot_root "usage: pivot_root OLD NEW\n\nSwap OLD and NEW filesystems (as if by simultaneous mount --move), and\nmove all processes with chdir or chroot under OLD into NEW (including\nkernel threads) so OLD may be unmounted.\n\nThe directory NEW must exist under OLD. This doesn't work on initramfs,\nwhich can't be moved (about the same way PID 1 can't be killed; see\nswitch_root instead)."
+
+#define HELP_partprobe "usage: partprobe DEVICE...\n\nTell the kernel about partition table changes\n\nAsk the kernel to re-read the partition table on the specified devices."
+
+#define HELP_oneit "usage: oneit [-prn3] [-c CONSOLE] [COMMAND...]\n\nSimple init program that runs a single supplied command line with a\ncontrolling tty (so CTRL-C can kill it).\n\n-c	Which console device to use (/dev/console doesn't do CTRL-C, etc)\n-p	Power off instead of rebooting when command exits\n-r	Restart child when it exits\n-n	No reboot, just relaunch command line\n-3	Write 32 bit PID of each exiting reparented process to fd 3 of child\n	(Blocking writes, child must read to avoid eventual deadlock.)\n\nSpawns a single child process (because PID 1 has signals blocked)\nin its own session, reaps zombies until the child exits, then\nreboots the system (or powers off with -p, or restarts the child with -r).\n\nResponds to SIGUSR1 by halting the system, SIGUSR2 by powering off,\nand SIGTERM or SIGINT reboot."
+
+#define HELP_nsenter "usage: nsenter [-t pid] [-F] [-i] [-m] [-n] [-p] [-u] [-U] COMMAND...\n\nRun COMMAND in an existing (set of) namespace(s).\n\n-t	PID to take namespaces from    (--target)\n-F	don't fork, even if -p is used (--no-fork)\n\nThe namespaces to switch are:\n\n-i	SysV IPC: message queues, semaphores, shared memory (--ipc)\n-m	Mount/unmount tree (--mount)\n-n	Network address, sockets, routing, iptables (--net)\n-p	Process IDs and init, will fork unless -F is used (--pid)\n-u	Host and domain names (--uts)\n-U	UIDs, GIDs, capabilities (--user)\n\nIf -t isn't specified, each namespace argument must provide a path\nto a namespace file, ala \"-i=/proc/$PID/ns/ipc\""
+
+#define HELP_unshare "usage: unshare [-imnpuUr] COMMAND...\n\nCreate new container namespace(s) for this process and its children, so\nsome attribute is not shared with the parent process.\n\n-f	Fork command in the background (--fork)\n-i	SysV IPC (message queues, semaphores, shared memory) (--ipc)\n-m	Mount/unmount tree (--mount)\n-n	Network address, sockets, routing, iptables (--net)\n-p	Process IDs and init (--pid)\n-r	Become root (map current euid/egid to 0/0, implies -U) (--map-root-user)\n-u	Host and domain names (--uts)\n-U	UIDs, GIDs, capabilities (--user)\n\nA namespace allows a set of processes to have a different view of the\nsystem than other sets of processes."
+
+#define HELP_nbd_client "usage: nbd-client [-ns] HOST PORT DEVICE\n\n-n	Do not fork into background\n-s	nbd swap support (lock server into memory)"
+
+#define HELP_mountpoint "usage: mountpoint [-qd] DIR\n       mountpoint [-qx] DEVICE\n\nCheck whether the directory or device is a mountpoint.\n\n-q	Be quiet, return zero if directory is a mountpoint\n-d	Print major/minor device number of the directory\n-x	Print major/minor device number of the block device"
+
+#define HELP_modinfo "usage: modinfo [-0] [-b basedir] [-k kernel] [-F field] [module|file...]\n\nDisplay module fields for modules specified by name or .ko path.\n\n-F  Only show the given field\n-0  Separate fields with NUL rather than newline\n-b  Use <basedir> as root for /lib/modules/\n-k  Look in given directory under /lib/modules/"
+
+#define HELP_mkswap "usage: mkswap [-L LABEL] DEVICE\n\nSet up a Linux swap area on a device or file."
+
+#define HELP_mkpasswd "usage: mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT]\n\nCrypt PASSWORD using crypt(3)\n\n-P FD	Read password from file descriptor FD\n-m TYPE	Encryption method (des, md5, sha256, or sha512; default is des)\n-S SALT"
+
+#define HELP_mix "usage: mix [-d DEV] [-c CHANNEL] [-l VOL] [-r RIGHT]\n\nList OSS sound channels (module snd-mixer-oss), or set volume(s).\n\n-c CHANNEL	Set/show volume of CHANNEL (default first channel found)\n-d DEV		Device node (default /dev/mixer)\n-l VOL		Volume level\n-r RIGHT	Volume of right stereo channel (with -r, -l sets left volume)"
+
+#define HELP_mcookie "usage: mcookie [-vV]\n\nGenerate a 128-bit strong random number.\n\n-v  show entropy source (verbose)\n-V  show version"
+
+#define HELP_makedevs "usage: makedevs [-d device_table] rootdir\n\nCreate a range of special files as specified in a device table.\n\n-d	File containing device table (default reads from stdin)\n\nEach line of the device table has the fields:\n<name> <type> <mode> <uid> <gid> <major> <minor> <start> <increment> <count>\nWhere name is the file name, and type is one of the following:\n\nb	Block device\nc	Character device\nd	Directory\nf	Regular file\np	Named pipe (fifo)\n\nOther fields specify permissions, user and group id owning the file,\nand additional fields for device special files. Use '-' for blank entries,\nunspecified fields are treated as '-'."
+
+#define HELP_lsusb "usage: lsusb\n\nList USB hosts/devices."
+
+#define HELP_lspci_text "usage: lspci [-n] [-i FILE ]\n\n-n	Numeric output (repeat for readable and numeric)\n-i	PCI ID database (default /usr/share/misc/pci.ids)"
+
+#define HELP_lspci "usage: lspci [-ekm]\n\nList PCI devices.\n\n-e	Print all 6 digits in class\n-k	Print kernel driver\n-m	Machine readable format"
+
+#define HELP_lsmod "usage: lsmod\n\nDisplay the currently loaded modules, their sizes and their dependencies."
+
+#define HELP_chattr "usage: chattr [-R] [-+=AacDdijsStTu] [-p PROJID] [-v VERSION] [FILE...]\n\nChange file attributes on a Linux file system.\n\n-R	Recurse\n-p	Set the file's project number\n-v	Set the file's version/generation number\n\nOperators:\n  '-' Remove attributes\n  '+' Add attributes\n  '=' Set attributes\n\nAttributes:\n  A  No atime                     a  Append only\n  C  No COW                       c  Compression\n  D  Synchronous dir updates      d  No dump\n  E  Encrypted                    e  Extents\n  F  Case-insensitive (casefold)\n  I  Indexed directory            i  Immutable\n  j  Journal data\n  N  Inline data in inode\n  P  Project hierarchy\n  S  Synchronous file updates     s  Secure delete\n  T  Top of dir hierarchy         t  No tail-merging\n  u  Allow undelete\n  V  Verity"
+
+#define HELP_lsattr "usage: lsattr [-Radlpv] [FILE...]\n\nList file attributes on a Linux file system.\nFlag letters are defined in chattr help.\n\n-R	Recursively list attributes of directories and their contents\n-a	List all files in directories, including files that start with '.'\n-d	List directories like other files, rather than listing their contents\n-l	List long flag names\n-p	List the file's project number\n-v	List the file's version/generation number"
+
+#define HELP_losetup "usage: losetup [-cdrs] [-o OFFSET] [-S SIZE] {-d DEVICE...|-j FILE|-af|{DEVICE FILE}}\n\nAssociate a loopback device with a file, or show current file (if any)\nassociated with a loop device.\n\nInstead of a device:\n-a	Iterate through all loopback devices\n-f	Find first unused loop device (may create one)\n-j FILE	Iterate through all loopback devices associated with FILE\n\nexisting:\n-c	Check capacity (file size changed)\n-d DEV	Detach loopback device\n-D	Detach all loopback devices\n\nnew:\n-s	Show device name (alias --show)\n-o OFF	Start association at offset OFF into FILE\n-r	Read only\n-S SIZE	Limit SIZE of loopback association (alias --sizelimit)"
+
+#define HELP_login "usage: login [-p] [-h host] [-f USERNAME] [USERNAME]\n\nLog in as a user, prompting for username and password if necessary.\n\n-p	Preserve environment\n-h	The name of the remote host for this login\n-f	login as USERNAME without authentication"
+
+#define HELP_iorenice "usage: iorenice PID [CLASS] [PRIORITY]\n\nDisplay or change I/O priority of existing process. CLASS can be\n\"rt\" for realtime, \"be\" for best effort, \"idle\" for only when idle, or\n\"none\" to leave it alone. PRIORITY can be 0-7 (0 is highest, default 4)."
+
+#define HELP_ionice "usage: ionice [-t] [-c CLASS] [-n LEVEL] [COMMAND...|-p PID]\n\nChange the I/O scheduling priority of a process. With no arguments\n(or just -p), display process' existing I/O class/priority.\n\n-c	CLASS = 1-3: 1(realtime), 2(best-effort, default), 3(when-idle)\n-n	LEVEL = 0-7: (0 is highest priority, default = 5)\n-p	Affect existing PID instead of spawning new child\n-t	Ignore failure to set I/O priority\n\nSystem default iopriority is generally -c 2 -n 4."
+
+#define HELP_insmod "usage: insmod MODULE [MODULE_OPTIONS]\n\nLoad the module named MODULE passing options if given."
+
+#define HELP_inotifyd "usage: inotifyd PROG FILE[:MASK] ...\n\nWhen a filesystem event matching MASK occurs to a FILE, run PROG as:\n\n  PROG EVENTS FILE [DIRFILE]\n\nIf PROG is \"-\" events are sent to stdout.\n\nThis file is:\n  a  accessed    c  modified    e  metadata change  w  closed (writable)\n  r  opened      D  deleted     M  moved            0  closed (unwritable)\n  u  unmounted   o  overflow    x  unwatchable\n\nA file in this directory is:\n  m  moved in    y  moved out   n  created          d  deleted\n\nWhen x event happens for all FILEs, inotifyd exits (after waiting for PROG)."
+
+#define HELP_i2cset "usage: i2cset [-fy] BUS CHIP ADDR VALUE... MODE\n\nWrite an i2c register. MODE is b for byte, w for 16-bit word, i for I2C block.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cget "usage: i2cget [-fy] BUS CHIP ADDR\n\nRead an i2c register.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cdump "usage: i2cdump [-fy] BUS CHIP\n\nDump i2c registers.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cdetect "usage: i2cdetect [-ary] BUS [FIRST LAST]\nusage: i2cdetect -F BUS\nusage: i2cdetect -l\n\nDetect i2c devices.\n\n-a	All addresses (0x00-0x7f rather than 0x03-0x77)\n-F	Show functionality\n-l	List all buses\n-r	Probe with SMBus Read Byte\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_hwclock "usage: hwclock [-rswtluf]\n\nGet/set the hardware clock.\n\n-f FILE	Use specified device file instead of /dev/rtc0 (--rtc)\n-l	Hardware clock uses localtime (--localtime)\n-r	Show hardware clock time (--show)\n-s	Set system time from hardware clock (--hctosys)\n-t	Set the system time based on the current timezone (--systz)\n-u	Hardware clock uses UTC (--utc)\n-w	Set hardware clock from system time (--systohc)"
+
+#define HELP_hexedit "usage: hexedit FILENAME\n\nHexadecimal file editor. All changes are written to disk immediately.\n\n-r	Read only (display but don't edit)\n\nKeys:\nArrows        Move left/right/up/down by one line/column\nPg Up/Pg Dn   Move up/down by one page\n0-9, a-f      Change current half-byte to hexadecimal value\nu             Undo\nq/^c/^d/<esc> Quit"
+
+#define HELP_help "usage: help [-ahu] [COMMAND]\n\n-a	All commands\n-u	Usage only\n-h	HTML output\n\nShow usage information for toybox commands.\nRun \"toybox\" with no arguments for a list of available commands."
+
+#define HELP_fsync "usage: fsync [-d] [FILE...]\n\nSynchronize a file's in-core state with storage device.\n\n-d	Avoid syncing metadata"
+
+#define HELP_fsfreeze "usage: fsfreeze {-f | -u} MOUNTPOINT\n\nFreeze or unfreeze a filesystem.\n\n-f	Freeze\n-u	Unfreeze"
+
+#define HELP_freeramdisk "usage: freeramdisk [RAM device]\n\nFree all memory allocated to specified ramdisk"
+
+#define HELP_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt	Output units (default is bytes)\n-h	Human readable (K=1024)"
+
+#define HELP_fmt "usage: fmt [-w WIDTH] [FILE...]\n\nReformat input to wordwrap at a given line length, preserving existing\nindentation level, writing to stdout.\n\n-w WIDTH	Maximum characters per line (default 75)"
+
+#define HELP_flock "usage: flock [-sxun] fd\n\nManage advisory file locks.\n\n-s	Shared lock\n-x	Exclusive lock (default)\n-u	Unlock\n-n	Non-blocking: fail rather than wait for the lock"
+
+#define HELP_fallocate "usage: fallocate [-l size] [-o offset] file\n\nTell the filesystem to allocate space for a file."
+
+#define HELP_factor "usage: factor NUMBER...\n\nFactor integers."
+
+#define HELP_eject "usage: eject [-stT] [DEVICE]\n\nEject DEVICE or default /dev/cdrom\n\n-s	SCSI device\n-t	Close tray\n-T	Open/close tray (toggle)"
+
+#define HELP_unix2dos "usage: unix2dos [FILE...]\n\nConvert newline format from unix \"\\n\" to dos \"\\r\\n\".\nIf no files listed copy from stdin, \"-\" is a synonym for stdin."
+
+#define HELP_dos2unix "usage: dos2unix [FILE...]\n\nConvert newline format from dos \"\\r\\n\" to unix \"\\n\".\nIf no files listed copy from stdin, \"-\" is a synonym for stdin."
+
+#define HELP_devmem "usage: devmem ADDR [WIDTH [DATA]]\n\nRead/write physical address. WIDTH is 1, 2, 4, or 8 bytes (default 4).\nPrefix ADDR with 0x for hexadecimal, output is in same base as address."
+
+#define HELP_count "usage: count\n\nCopy stdin to stdout, displaying simple progress indicator to stderr."
+
+#define HELP_clear "Clear the screen."
+
+#define HELP_chvt "usage: chvt N\n\nChange to virtual terminal number N. (This only works in text mode.)\n\nVirtual terminals are the Linux VGA text mode displays, ordinarily\nswitched between via alt-F1, alt-F2, etc. Use ctrl-alt-F1 to switch\nfrom X to a virtual terminal, and alt-F6 (or F7, or F8) to get back."
+
+#define HELP_chrt "usage: chrt [-Rmofrbi] {-p PID [PRIORITY] | [PRIORITY COMMAND...]}\n\nGet/set a process' real-time scheduling policy and priority.\n\n-p	Set/query given pid (instead of running COMMAND)\n-R	Set SCHED_RESET_ON_FORK\n-m	Show min/max priorities available\n\nSet policy (default -r):\n\n  -o  SCHED_OTHER    -f  SCHED_FIFO    -r  SCHED_RR\n  -b  SCHED_BATCH    -i  SCHED_IDLE"
+
+#define HELP_chroot "usage: chroot NEWROOT [COMMAND [ARG...]]\n\nRun command within a new root directory. If no command, run /bin/sh."
+
+#define HELP_chcon "usage: chcon [-hRv] CONTEXT FILE...\n\nChange the SELinux security context of listed file[s].\n\n-h	Change symlinks instead of what they point to\n-R	Recurse into subdirectories\n-v	Verbose"
+
+#define HELP_bzcat "usage: bzcat [FILE...]\n\nDecompress listed files to stdout. Use stdin if no files listed."
+
+#define HELP_bunzip2 "usage: bunzip2 [-cftkv] [FILE...]\n\nDecompress listed files (file.bz becomes file) deleting archive file(s).\nRead from stdin if no files listed.\n\n-c	Force output to stdout\n-f	Force decompression (if FILE doesn't end in .bz, replace original)\n-k	Keep input files (-c and -t imply this)\n-t	Test integrity\n-v	Verbose"
+
+#define HELP_blockdev "usage: blockdev --OPTION... BLOCKDEV...\n\nCall ioctl(s) on each listed block device\n\n--setro		Set read only\n--setrw		Set read write\n--getro		Get read only\n--getss		Get sector size\n--getbsz	Get block size\n--setbsz BYTES	Set block size\n--getsz		Get device size in 512-byte sectors\n--getsize	Get device size in sectors (deprecated)\n--getsize64	Get device size in bytes\n--getra		Get readahead in 512-byte sectors\n--setra SECTORS	Set readahead\n--flushbufs	Flush buffers\n--rereadpt	Reread partition table"
+
+#define HELP_fstype "usage: fstype DEV...\n\nPrint type of filesystem on a block device or image."
+
+#define HELP_blkid "usage: blkid [-s TAG] [-UL] DEV...\n\nPrint type, label and UUID of filesystem on a block device or image.\n\n-U	Show UUID only (or device with that UUID)\n-L	Show LABEL only (or device with that LABEL)\n-s TAG	Only show matching tags (default all)"
+
+#define HELP_blkdiscard "usage: blkdiscard [-olszf] DEVICE\n\nDiscard device sectors.\n\n-o, --offset OFF	Byte offset to start discarding at (default 0)\n-l, --length LEN	Bytes to discard (default all)\n-s, --secure		Perform secure discard\n-z, --zeroout		Zero-fill rather than discard\n-f, --force		Disable check for mounted filesystem\n\nOFF and LEN must be aligned to the device sector size.\nBy default entire device is discarded.\nWARNING: All discarded data is permanently lost!"
+
+#define HELP_base32 "usage: base32 [-di] [-w COLUMNS] [FILE...]\n\nEncode or decode in base32.\n\n-d	Decode\n-i	Ignore non-alphabetic characters\n-w	Wrap output at COLUMNS (default 76 or 0 for no wrap)"
+
+#define HELP_base64 "usage: base64 [-di] [-w COLUMNS] [FILE...]\n\nEncode or decode in base64.\n\n-d	Decode\n-i	Ignore non-alphabetic characters\n-w	Wrap output at COLUMNS (default 76 or 0 for no wrap)"
+
+#define HELP_ascii "usage: ascii\n\nDisplay ascii character set."
+
+#define HELP_acpi "usage: acpi [-abctV]\n\nShow status of power sources and thermal devices.\n\n-a	Show power adapters\n-b	Show batteries\n-c	Show cooling device state\n-t	Show temperatures\n-V	Show everything"
+
+#define HELP_xzcat "usage: xzcat [filename...]\n\nDecompress listed files to stdout. Use stdin if no files listed."
+
+#define HELP_wget "usage: wget -O filename URL\n-O filename: specify output filename\nURL: uniform resource location, FTP/HTTP only, not HTTPS\n\nexamples:\n  wget -O index.html http://www.example.com\n  wget -O sample.jpg ftp://ftp.example.com:21/sample.jpg"
+
+#define HELP_vi "usage: vi [-s script] FILE\n-s script: run script file\nVisual text editor. Predates the existence of standardized cursor keys,\nso the controls are weird and historical."
+
+#define HELP_userdel "usage: userdel [-r] USER\nusage: deluser [-r] USER\n\nDelete USER from the SYSTEM\n\n-r	remove home directory"
+
+#define HELP_useradd "usage: useradd [-SDH] [-h DIR] [-s SHELL] [-G GRP] [-g NAME] [-u UID] USER [GROUP]\n\nCreate new user, or add USER to GROUP\n\n-D       Don't assign a password\n-g NAME  Real name\n-G GRP   Add user to existing group\n-h DIR   Home directory\n-H       Don't create home directory\n-s SHELL Login shell\n-S       Create a system user\n-u UID   User id"
+
+#define HELP_unicode "usage: unicode [[min]-max]\n\nConvert between Unicode code points and UTF-8, in both directions."
+
+#define HELP_traceroute "usage: traceroute [-46FUIldnvr] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n[-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES]\n\ntraceroute6 [-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES][-s SRC_IP] [-t TOS] [-w WAIT_SEC]\n  [-i IFACE] HOST [BYTES]\n\nTrace the route to HOST\n\n-4,-6 Force IP or IPv6 name resolution\n-F    Set the don't fragment bit (supports IPV4 only)\n-U    Use UDP datagrams instead of ICMP ECHO (supports IPV4 only)\n-I    Use ICMP ECHO instead of UDP datagrams (supports IPV4 only)\n-l    Display the TTL value of the returned packet (supports IPV4 only)\n-d    Set SO_DEBUG options to socket\n-n    Print numeric addresses\n-v    verbose\n-r    Bypass routing tables, send directly to HOST\n-m    Max time-to-live (max number of hops)(RANGE 1 to 255)\n-p    Base UDP port number used in probes(default 33434)(RANGE 1 to 65535)\n-q    Number of probes per TTL (default 3)(RANGE 1 to 255)\n-s    IP address to use as the source address\n-t    Type-of-service in probe packets (default 0)(RANGE 0 to 255)\n-w    Time in seconds to wait for a response (default 3)(RANGE 0 to 86400)\n-g    Loose source route gateway (8 max) (supports IPV4 only)\n-z    Pause Time in ms (default 0)(RANGE 0 to 86400) (supports IPV4 only)\n-f    Start from the 1ST_TTL hop (instead from 1)(RANGE 1 to 255) (supports IPV4 only)\n-i    Specify a network interface to operate with"
+
+#define HELP_tr "usage: tr [-cds] SET1 [SET2]\n\nTranslate, squeeze, or delete characters from stdin, writing to stdout\n\n-c/-C  Take complement of SET1\n-d     Delete input characters coded SET1\n-s     Squeeze multiple output characters of SET2 into one character"
+
+#define HELP_tftpd "usage: tftpd [-cr] [-u USER] [DIR]\n\nTransfer file from/to tftp server.\n\n-r	read only\n-c	Allow file creation via upload\n-u	run as USER\n-l	Log to syslog (inetd mode requires this)"
+
+#define HELP_tftp "usage: tftp [OPTIONS] HOST [PORT]\n\nTransfer file from/to tftp server.\n\n-l FILE Local FILE\n-r FILE Remote FILE\n-g    Get file\n-p    Put file\n-b SIZE Transfer blocks of SIZE octets(8 <= SIZE <= 65464)"
+
+#define HELP_telnetd "Handle incoming telnet connections\n\n-l LOGIN  Exec LOGIN on connect\n-f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue\n-K Close connection as soon as login exits\n-p PORT   Port to listen on\n-b ADDR[:PORT]  Address to bind to\n-F Run in foreground\n-i Inetd mode\n-w SEC    Inetd 'wait' mode, linger time SEC\n-S Log to syslog (implied by -i or without -F and -w)"
+
+#define HELP_telnet "usage: telnet HOST [PORT]\n\nConnect to telnet server"
+
+#define HELP_tcpsvd "usage: tcpsvd [-hEv] [-c N] [-C N[:MSG]] [-b N] [-u User] [-l Name] IP Port Prog\nusage: udpsvd [-hEv] [-c N] [-u User] [-l Name] IP Port Prog\n\nCreate TCP/UDP socket, bind to IP:PORT and listen for incoming connection.\nRun PROG for each connection.\n\nIP            IP to listen on, 0 = all\nPORT          Port to listen on\nPROG ARGS     Program to run\n-l NAME       Local hostname (else looks up local hostname in DNS)\n-u USER[:GRP] Change to user/group after bind\n-c N          Handle up to N (> 0) connections simultaneously\n-b N          (TCP Only) Allow a backlog of approximately N TCP SYNs\n-C N[:MSG]    (TCP Only) Allow only up to N (> 0) connections from the same IP\n              New connections from this IP address are closed\n              immediately. MSG is written to the peer before close\n-h            Look up peer's hostname\n-E            Don't set up environment variables\n-v            Verbose"
+
+#define HELP_syslogd "usage: syslogd  [-a socket] [-O logfile] [-f config file] [-m interval]\n                [-p socket] [-s SIZE] [-b N] [-R HOST] [-l N] [-nSLKD]\n\nSystem logging utility\n\n-a      Extra unix socket for listen\n-O FILE Default log file <DEFAULT: /var/log/messages>\n-f FILE Config file <DEFAULT: /etc/syslog.conf>\n-p      Alternative unix domain socket <DEFAULT : /dev/log>\n-n      Avoid auto-backgrounding\n-S      Smaller output\n-m MARK interval <DEFAULT: 20 minutes> (RANGE: 0 to 71582787)\n-R HOST Log to IP or hostname on PORT (default PORT=514/UDP)\"\n-L      Log locally and via network (default is network only if -R)\"\n-s SIZE Max size (KB) before rotation (default:200KB, 0=off)\n-b N    rotated logs to keep (default:1, max=99, 0=purge)\n-K      Log to kernel printk buffer (use dmesg to read it)\n-l N    Log only messages more urgent than prio(default:8 max:8 min:1)\n-D      Drop duplicates"
+
+#define HELP_sulogin "usage: sulogin [-t time] [tty]\n\nSingle User Login.\n-t	Default Time for Single User Login"
+
+#define HELP_stty "usage: stty [-ag] [-F device] SETTING...\n\nGet/set terminal configuration.\n\n-F	Open device instead of stdin\n-a	Show all current settings (default differences from \"sane\")\n-g	Show all current settings usable as input to stty\n\nSpecial characters (syntax ^c or undef): intr quit erase kill eof eol eol2\nswtch start stop susp rprnt werase lnext discard\n\nControl/input/output/local settings as shown by -a, '-' prefix to disable\n\nCombo settings: cooked/raw, evenp/oddp/parity, nl, ek, sane\n\nN	set input and output speed (ispeed N or ospeed N for just one)\ncols N	set number of columns\nrows N	set number of rows\nline N	set line discipline\nmin N	set minimum chars per read\ntime N	set read timeout\nspeed	show speed only\nsize	show size only"
+
+#define HELP_source "usage: source FILE [ARGS...]\n\nRead FILE and execute commands. Any ARGS become positional parameters."
+
+#define HELP_shift "usage: shift [N]\n\nSkip N (default 1) positional parameters, moving $1 and friends along the list.\nDoes not affect $0."
+
+#define HELP_jobs "usage: jobs [-lnprs] [%JOB | -x COMMAND...]\n\nList running/stopped background jobs.\n\n-l Include process ID in list\n-n Show only new/changed processes\n-p Show process IDs only\n-r Show running processes\n-s Show stopped processes"
+
+#define HELP_export "usage: export [-n] [NAME[=VALUE]...]\n\nMake variables available to child processes. NAME exports existing local\nvariable(s), NAME=VALUE sets and exports.\n\n-n	Unexport. Turn listed variable(s) into local variables.\n\nWith no arguments list exported variables/attributes as \"declare\" statements."
+
+#define HELP_exec "usage: exec [-cl] [-a NAME] COMMAND...\n\n-a	set argv[0] to NAME\n-c	clear environment\n-l	prepend - to argv[0]"
+
+#define HELP_eval "usage: eval COMMAND...\n\nExecute (combined) arguments as a shell command."
+
+#define HELP_unset "usage: unset [-fvn] NAME...\n\n-f	NAME is a function\n-v	NAME is a variable\n-n	dereference NAME and unset that"
+
+#define HELP_set "usage: set [+a] [+o OPTION] [VAR...]\n\nSet variables and shell attributes. Use + to disable and - to enable.\nNAME=VALUE arguments assign to the variable, any leftovers set $1, $2...\nWith no arguments, prints current variables.\n\n-f	NAME is a function\n-v	NAME is a variable\n-n	dereference NAME and unset that\n\nOPTIONs:\n  history - enable command history"
+
+#define HELP_exit "usage: exit [status]\n\nExit shell.  If no return value supplied on command line, use value\nof most recent command, or 0 if none."
+
+#define HELP_cd "usage: cd [-PL] [path]\n\nChange current directory.  With no arguments, go $HOME.\n\n-P	Physical path: resolve symlinks in path\n-L	Local path: .. trims directories off $PWD (default)"
+
+#define HELP_sh "usage: sh [-c command] [script]\n\nCommand shell.  Runs a shell script, or reads input interactively\nand responds to it.\n\n-c	command line to execute\n-i	interactive mode (default when STDIN is a tty)"
+
+#define HELP_route "usage: route [-ne] [-A [inet|inet6]] [add|del TARGET [OPTIONS]]\n\nDisplay, add or delete network routes in the \"Forwarding Information Base\",\nwhich send packets out a network interface to an address.\n\n-n	Show numerical addresses (no DNS lookups)\n-e	display netstat fields\n\nAssigning an address to an interface automatically creates an appropriate\nnetwork route (\"ifconfig eth0 10.0.2.15/8\" does \"route add 10.0.0.0/8 eth0\"\nfor you), although some devices (such as loopback) won't show it in the\ntable. For machines more than one hop away, you need to specify a gateway\n(ala \"route add default gw 10.0.2.2\").\n\nThe address \"default\" is a wildcard address (0.0.0.0/0) matching all\npackets without a more specific route.\n\nAvailable OPTIONS include:\nreject   - blocking route (force match failure)\ndev NAME - force matching packets out this interface (ala \"eth0\")\nnetmask  - old way of saying things like ADDR/24\ngw ADDR  - forward packets to gateway ADDR"
+
+#define HELP_readelf "usage: readelf [-adehlnSs] [-p SECTION] [-x SECTION] [file...]\n\nDisplays information about ELF files.\n\n-a	Equivalent to -dhlnSs\n-d	Show dynamic section\n-e	Headers (equivalent to -hlS)\n-h	Show ELF header\n-l	Show program headers\n-n	Show notes\n-p S	Dump strings found in named/numbered section\n-S	Show section headers\n-s	Show symbol tables (.dynsym and .symtab)\n-x S	Hex dump of named/numbered section\n\n--dyn-syms	Show just .dynsym symbol table"
+
+#define HELP_deallocvt "usage: deallocvt [NUM]\n\nDeallocate unused virtual terminals, either a specific /dev/ttyNUM, or all."
+
+#define HELP_openvt "usage: openvt [-c NUM] [-sw] [COMMAND...]\n\nStart a program on a new virtual terminal.\n\n-c NUM  Use VT NUM\n-s    Switch to new VT\n-w    Wait for command to exit\n\nTogether -sw switch back to originating VT when command completes."
+
+#define HELP_more "usage: more [FILE...]\n\nView FILE(s) (or stdin) one screenfull at a time."
+
+#define HELP_modprobe "usage: modprobe [-alrqvsDb] [-d DIR] MODULE [symbol=value][...]\n\nmodprobe utility - inserts modules and dependencies.\n\n-a  Load multiple MODULEs\n-d  Load modules from DIR, option may be used multiple times\n-l  List (MODULE is a pattern)\n-r  Remove MODULE (stacks) or do autoclean\n-q  Quiet\n-v  Verbose\n-s  Log to syslog\n-D  Show dependencies\n-b  Apply blacklist to module names too"
+
+#define HELP_mke2fs_extended "usage: mke2fs [-E stride=###] [-O option[,option]]\n\n-E stride= Set RAID stripe size (in blocks)\n-O [opts]  Specify fewer ext2 option flags (for old kernels)\n           All of these are on by default (as appropriate)\n   none         Clear default options (all but journaling)\n   dir_index    Use htree indexes for large directories\n   filetype     Store file type info in directory entry\n   has_journal  Set by -j\n   journal_dev  Set by -J device=XXX\n   sparse_super Don't allocate huge numbers of redundant superblocks"
+
+#define HELP_mke2fs_label "usage: mke2fs [-L label] [-M path] [-o string]\n\n-L         Volume label\n-M         Path to mount point\n-o         Created by"
+
+#define HELP_mke2fs_gen "usage: gene2fs [options] device filename\n\nThe [options] are the same as mke2fs."
+
+#define HELP_mke2fs_journal "usage: mke2fs [-j] [-J size=###,device=XXX]\n\n-j         Create journal (ext3)\n-J         Journal options\n           size: Number of blocks (1024-102400)\n           device: Specify an external journal"
+
+#define HELP_mke2fs "usage: mke2fs [-Fnq] [-b ###] [-N|i ###] [-m ###] device\n\nCreate an ext2 filesystem on a block device or filesystem image.\n\n-F         Force to run on a mounted device\n-n         Don't write to device\n-q         Quiet (no output)\n-b size    Block size (1024, 2048, or 4096)\n-N inodes  Allocate this many inodes\n-i bytes   Allocate one inode for every XXX bytes of device\n-m percent Reserve this percent of filesystem space for root user"
+
+#define HELP_mdev_conf "The mdev config file (/etc/mdev.conf) contains lines that look like:\nhd[a-z][0-9]* 0:3 660\n(sd[a-z]) root:disk 660 =usb_storage\n\nEach line must contain three whitespace separated fields. The first\nfield is a regular expression matching one or more device names,\nthe second and third fields are uid:gid and file permissions for\nmatching devices. Fourth field is optional. It could be used to change\ndevice name (prefix '='), path (prefix '=' and postfix '/') or create a\nsymlink (prefix '>')."
+
+#define HELP_mdev "usage: mdev [-s]\n\nCreate devices in /dev using information from /sys.\n\n-s	Scan all entries in /sys to populate /dev"
+
+#define HELP_man "usage: man [-M PATH] [-k STRING] | [SECTION] COMMAND\n\nRead manual page for system command.\n\n-k	List pages with STRING in their short description\n-M	Override $MANPATH\n\nMan pages are divided into 8 sections:\n1 commands      2 system calls  3 library functions  4 /dev files\n5 file formats  6 games         7 miscellaneous      8 system management\n\nSections are searched in the order 1 8 3 2 5 4 6 7 unless you specify a\nsection. Each section has a page called \"intro\", and there's a global\nintroduction under \"man-pages\"."
+
+#define HELP_lsof "usage: lsof [-lt] [-p PID1,PID2,...] [FILE...]\n\nList all open files belonging to all active processes, or processes using\nlisted FILE(s).\n\n-l	list uids numerically\n-p	for given comma-separated pids only (default all pids)\n-t	terse (pid only) output"
+
+#define HELP_last "usage: last [-W] [-f FILE]\n\nShow listing of last logged in users.\n\n-W      Display the information without host-column truncation\n-f FILE Read from file FILE instead of /var/log/wtmp"
+
+#define HELP_klogd "usage: klogd [-n] [-c N]\n\n-c  N   Print to console messages more urgent than prio N (1-8)\"\n-n    Run in foreground"
+
+#define HELP_ipcs "usage: ipcs [[-smq] -i shmid] | [[-asmq] [-tcplu]]\n\n-i Show specific resource\nResource specification:\n-a All (default)\n-m Shared memory segments\n-q Message queues\n-s Semaphore arrays\nOutput format:\n-c Creator\n-l Limits\n-p Pid\n-t Time\n-u Summary"
+
+#define HELP_ipcrm "usage: ipcrm [ [-q msqid] [-m shmid] [-s semid]\n          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n\n-mM Remove memory segment after last detach\n-qQ Remove message queue\n-sS Remove semaphore"
+
+#define HELP_ip "usage: ip [ OPTIONS ] OBJECT { COMMAND }\n\nShow / manipulate routing, devices, policy routing and tunnels.\n\nwhere OBJECT := {address | link | route | rule | tunnel}\nOPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }"
+
+#define HELP_init "usage: init\n\nSystem V style init.\n\nFirst program to run (as PID 1) when the system comes up, reading\n/etc/inittab to determine actions."
+
+#define HELP_host "usage: host [-av] [-t TYPE] NAME [SERVER]\n\nPerform DNS lookup on NAME, which can be a domain name to lookup,\nor an IPv4 dotted or IPv6 colon-separated address to reverse lookup.\nSERVER (if present) is the DNS server to use.\n\n-a	-v -t ANY\n-t TYPE	query records of type TYPE\n-v	verbose"
+
+#define HELP_groupdel "usage: groupdel [USER] GROUP\n\nDelete a group or remove a user from a group"
+
+#define HELP_groupadd "usage: groupadd [-S] [-g GID] [USER] GROUP\n\nAdd a group or add a user to a group\n\n  -g GID Group id\n  -S     Create a system group"
+
+#define HELP_getty "usage: getty [OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]\n\nWait for a modem to dial into serial port, adjust baud rate, call login.\n\n-h    Enable hardware RTS/CTS flow control\n-L    Set CLOCAL (ignore Carrier Detect state)\n-m    Get baud rate from modem's CONNECT status message\n-n    Don't prompt for login name\n-w    Wait for CR or LF before sending /etc/issue\n-i    Don't display /etc/issue\n-f ISSUE_FILE  Display ISSUE_FILE instead of /etc/issue\n-l LOGIN  Invoke LOGIN instead of /bin/login\n-t SEC    Terminate after SEC if no login name is read\n-I INITSTR  Send INITSTR before anything else\n-H HOST    Log HOST into the utmp file as the hostname"
+
+#define HELP_getopt "usage: getopt [OPTIONS] [--] ARG...\n\nParse command-line options for use in shell scripts.\n\n-a	Allow long options starting with a single -.\n-l OPTS	Specify long options.\n-n NAME	Command name for error messages.\n-o OPTS	Specify short options.\n-T	Test whether this is a modern getopt.\n-u	Output options unquoted."
+
+#define HELP_getfattr "usage: getfattr [-d] [-h] [-n NAME] FILE...\n\nRead POSIX extended attributes.\n\n-d	Show values as well as names\n-h	Do not dereference symbolic links\n-n	Show only attributes with the given name\n--only-values	Don't show names"
+
+#define HELP_fsck "usage: fsck [-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]...\n\nCheck and repair filesystems\n\n-A      Walk /etc/fstab and check all filesystems\n-N      Don't execute, just show what would be done\n-P      With -A, check filesystems in parallel\n-R      With -A, skip the root filesystem\n-T      Don't show title on startup\n-V      Verbose\n-C n    Write status information to specified file descriptor\n-t TYPE List of filesystem types to check"
+
+#define HELP_fold "usage: fold [-bsu] [-w WIDTH] [FILE...]\n\nFolds (wraps) or unfolds ascii text by adding or removing newlines.\nDefault line width is 80 columns for folding and infinite for unfolding.\n\n-b	Fold based on bytes instead of columns\n-s	Fold/unfold at whitespace boundaries if possible\n-u	Unfold text (and refold if -w is given)\n-w	Set lines to WIDTH columns or bytes"
+
+#define HELP_fdisk "usage: fdisk [-lu] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SECTSZ] DISK\n\nChange partition table\n\n-u            Start and End are in sectors (instead of cylinders)\n-l            Show partition table for each DISK, then exit\n-b size       sector size (512, 1024, 2048 or 4096)\n-C CYLINDERS  Set number of cylinders/heads/sectors\n-H HEADS\n-S SECTORS"
+
+#define HELP_expr "usage: expr ARG1 OPERATOR ARG2...\n\nEvaluate expression and print result. For example, \"expr 1 + 2\".\n\nThe supported operators are (grouped from highest to lowest priority):\n\n  ( )    :    * / %    + -    != <= < >= > =    &    |\n\nEach constant and operator must be a separate command line argument.\nAll operators are infix, meaning they expect a constant (or expression\nthat resolves to a constant) on each side of the operator. Operators of\nthe same priority (within each group above) are evaluated left to right.\nParentheses may be used (as separate arguments) to elevate the priority\nof expressions.\n\nCalling expr from a command shell requires a lot of \\( or '*' escaping\nto avoid interpreting shell control characters.\n\nThe & and | operators are logical (not bitwise) and may operate on\nstrings (a blank string is \"false\"). Comparison operators may also\noperate on strings (alphabetical sort).\n\nConstants may be strings or integers. Comparison, logical, and regex\noperators may operate on strings (a blank string is \"false\"), other\noperators require integers."
+
+#define HELP_dumpleases "usage: dumpleases [-r|-a] [-f LEASEFILE]\n\nDisplay DHCP leases granted by udhcpd\n-f FILE,  Lease file\n-r        Show remaining time\n-a        Show expiration time"
+
+#define HELP_diff "usage: diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2\n\n-a	Treat all files as text\n-b	Ignore changes in the amount of whitespace\n-B	Ignore changes whose lines are all blank\n-d	Try hard to find a smaller set of changes\n-i	Ignore case differences\n-L	Use LABEL instead of the filename in the unified header\n-N	Treat absent files as empty\n-q	Output only whether files differ\n-r	Recurse\n-S	Start with FILE when comparing directories\n-T	Make tabs line up by prefixing a tab when necessary\n-s	Report when two files are the same\n-t	Expand tabs to spaces in output\n-u	Unified diff\n-U	Output LINES lines of context\n-w	Ignore all whitespace\n\n--color              Colored output\n--strip-trailing-cr  Strip trailing '\\r's from input lines"
+
+#define HELP_dhcpd "usage: dhcpd [-46fS] [-i IFACE] [-P N] [CONFFILE]\n\n -f    Run in foreground\n -i Interface to use\n -S    Log to syslog too\n -P N  Use port N (default ipv4 67, ipv6 547)\n -4, -6    Run as a DHCPv4 or DHCPv6 server"
+
+#define HELP_dhcp6 "usage: dhcp6 [-fbnqvR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n\n      Configure network dynamically using DHCP.\n\n    -i Interface to use (default eth0)\n    -p Create pidfile\n    -s Run PROG at DHCP events\n    -t Send up to N Solicit packets\n    -T Pause between packets (default 3 seconds)\n    -A Wait N seconds after failure (default 20)\n    -f Run in foreground\n    -b Background if lease is not obtained\n    -n Exit if lease is not obtained\n    -q Exit after obtaining lease\n    -R Release IP on exit\n    -S Log to syslog too\n    -r Request this IP address\n    -v Verbose\n\n    Signals:\n    USR1  Renew current lease\n    USR2  Release current lease"
+
+#define HELP_dhcp "usage: dhcp [-fbnqvoCRB] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n            [-H HOSTNAME] [-V VENDOR] [-x OPT:VAL] [-O OPT]\n\n     Configure network dynamically using DHCP.\n\n   -i Interface to use (default eth0)\n   -p Create pidfile\n   -s Run PROG at DHCP events (default /usr/share/dhcp/default.script)\n   -B Request broadcast replies\n   -t Send up to N discover packets\n   -T Pause between packets (default 3 seconds)\n   -A Wait N seconds after failure (default 20)\n   -f Run in foreground\n   -b Background if lease is not obtained\n   -n Exit if lease is not obtained\n   -q Exit after obtaining lease\n   -R Release IP on exit\n   -S Log to syslog too\n   -a Use arping to validate offered address\n   -O Request option OPT from server (cumulative)\n   -o Don't request any options (unless -O is given)\n   -r Request this IP address\n   -x OPT:VAL  Include option OPT in sent packets (cumulative)\n   -F Ask server to update DNS mapping for NAME\n   -H Send NAME as client hostname (default none)\n   -V VENDOR Vendor identifier (default 'toybox VERSION')\n   -C Don't send MAC as client identifier\n   -v Verbose\n\n   Signals:\n   USR1  Renew current lease\n   USR2  Release current lease"
+
+#define HELP_dd "usage: dd [if=FILE] [of=FILE] [ibs=N] [obs=N] [iflag=FLAGS] [oflag=FLAGS]\n        [bs=N] [count=N] [seek=N] [skip=N]\n        [conv=notrunc|noerror|sync|fsync] [status=noxfer|none]\n\nCopy/convert files.\n\nif=FILE		Read from FILE instead of stdin\nof=FILE		Write to FILE instead of stdout\nbs=N		Read and write N bytes at a time\nibs=N		Input block size\nobs=N		Output block size\ncount=N		Copy only N input blocks\nskip=N		Skip N input blocks\nseek=N		Skip N output blocks\niflag=FLAGS	Set input flags\noflag=FLAGS	Set output flags\nconv=notrunc	Don't truncate output file\nconv=noerror	Continue after read errors\nconv=sync	Pad blocks with zeros\nconv=fsync	Physically write data out before finishing\nstatus=noxfer	Don't show transfer rate\nstatus=none	Don't show transfer rate or records in/out\n\nFLAGS is a comma-separated list of:\n\ncount_bytes	(iflag) interpret count=N in bytes, not blocks\nseek_bytes	(oflag) interpret seek=N in bytes, not blocks\nskip_bytes	(iflag) interpret skip=N in bytes, not blocks\n\nNumbers may be suffixed by c (*1), w (*2), b (*512), kD (*1000), k (*1024),\nMD (*1000*1000), M (*1024*1024), GD (*1000*1000*1000) or G (*1024*1024*1024)."
+
+#define HELP_crontab "usage: crontab [-u user] FILE\n               [-u user] [-e | -l | -r]\n               [-c dir]\n\nFiles used to schedule the execution of programs.\n\n-c crontab dir\n-e edit user's crontab\n-l list user's crontab\n-r delete user's crontab\n-u user\nFILE Replace crontab by FILE ('-': stdin)"
+
+#define HELP_crond "usage: crond [-fbS] [-l N] [-d N] [-L LOGFILE] [-c DIR]\n\nA daemon to execute scheduled commands.\n\n-b Background (default)\n-c crontab dir\n-d Set log level, log to stderr\n-f Foreground\n-l Set log level. 0 is the most verbose, default 8\n-S Log to syslog (default)\n-L Log to file"
+
+#define HELP_brctl "usage: brctl COMMAND [BRIDGE [INTERFACE]]\n\nManage ethernet bridges\n\nCommands:\nshow                  Show a list of bridges\naddbr BRIDGE          Create BRIDGE\ndelbr BRIDGE          Delete BRIDGE\naddif BRIDGE IFACE    Add IFACE to BRIDGE\ndelif BRIDGE IFACE    Delete IFACE from BRIDGE\nsetageing BRIDGE TIME Set ageing time\nsetfd BRIDGE TIME     Set bridge forward delay\nsethello BRIDGE TIME  Set hello time\nsetmaxage BRIDGE TIME Set max message age\nsetpathcost BRIDGE PORT COST   Set path cost\nsetportprio BRIDGE PORT PRIO   Set port priority\nsetbridgeprio BRIDGE PRIO      Set bridge priority\nstp BRIDGE [1/yes/on|0/no/off] STP on/off"
+
+#define HELP_bootchartd "usage: bootchartd {start [PROG ARGS]}|stop|init\n\nCreate /var/log/bootlog.tgz with boot chart data\n\nstart: start background logging; with PROG, run PROG,\n       then kill logging with USR1\nstop:  send USR1 to all bootchartd processes\ninit:  start background logging; stop when getty/xdm is seen\n      (for init scripts)\n\nUnder PID 1: as init, then exec $bootchart_init, /init, /sbin/init"
+
+#define HELP_bc "usage: bc [-ilqsw] [file ...]\n\nbc is a command-line calculator with a Turing-complete language.\n\noptions:\n\n  -i  --interactive  force interactive mode\n  -l  --mathlib      use predefined math routines:\n\n                     s(expr)  =  sine of expr in radians\n                     c(expr)  =  cosine of expr in radians\n                     a(expr)  =  arctangent of expr, returning radians\n                     l(expr)  =  natural log of expr\n                     e(expr)  =  raises e to the power of expr\n                     j(n, x)  =  Bessel function of integer order n of x\n\n  -q  --quiet        don't print version and copyright\n  -s  --standard     error if any non-POSIX extensions are used\n  -w  --warn         warn if any non-POSIX extensions are used"
+
+#define HELP_arping "usage: arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP\n\nSend ARP requests/replies\n\n-f         Quit on first ARP reply\n-q         Quiet\n-b         Keep broadcasting, don't go unicast\n-D         Duplicated address detection mode\n-U         Unsolicited ARP mode, update your neighbors\n-A         ARP answer mode, update your neighbors\n-c N       Stop after sending N ARP requests\n-w TIMEOUT Time to wait for ARP reply, seconds\n-I IFACE   Interface to use (default eth0)\n-s SRC_IP  Sender IP address\nDST_IP     Target IP address"
+
+#define HELP_arp "usage: arp\n[-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME]\n[-v]              [-i IF] -d HOSTNAME [pub]\n[-v]  [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp]\n[-v]  [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub\n[-v]  [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub\n\nManipulate ARP cache\n\n-a    Display (all) hosts\n-s    Set new ARP entry\n-d    Delete a specified entry\n-v    Verbose\n-n    Don't resolve names\n-i IF Network interface\n-D    Read <hwaddr> from given device\n-A,-p AF  Protocol family\n-H    HWTYPE Hardware address type"
+
+#define HELP_xargs "usage: xargs [-0prt] [-snE STR] COMMAND...\n\nRun command line one or more times, appending arguments from stdin.\n\nIf COMMAND exits with 255, don't launch another even if arguments remain.\n\n-0	Each argument is NULL terminated, no whitespace or quote processing\n-E	Stop at line matching string\n-n	Max number of arguments per command\n-o	Open tty for COMMAND's stdin (default /dev/null)\n-p	Prompt for y/n from tty before running each command\n-P	Parallel processes (default 1)\n-r	Don't run with empty input (otherwise always run command once)\n-s	Size in bytes per command line\n-t	Trace, print command line to stderr"
+
+#define HELP_who "usage: who\n\nPrint information about logged in users."
+
+#define HELP_wc "usage: wc -lwcm [FILE...]\n\nCount lines, words, and characters in input.\n\n-l	Show lines\n-w	Show words\n-c	Show bytes\n-m	Show characters\n\nBy default outputs lines, words, bytes, and filename for each\nargument (or from stdin if none). Displays only either bytes\nor characters."
+
+#define HELP_uuencode "usage: uuencode [-m] [INFILE] ENCODE_FILENAME\n\nUuencode stdin (or INFILE) to stdout, with ENCODE_FILENAME in the output.\n\n-m	Base64"
+
+#define HELP_uudecode "usage: uudecode [-o OUTFILE] [INFILE]\n\nDecode file from stdin (or INFILE).\n\n-o	Write to OUTFILE instead of filename in header"
+
+#define HELP_unlink "usage: unlink FILE\n\nDelete one file."
+
+#define HELP_uniq "usage: uniq [-cduiz] [-w MAXCHARS] [-f FIELDS] [-s CHAR] [INFILE [OUTFILE]]\n\nReport or filter out repeated lines in a file\n\n-c	Show counts before each line\n-d	Show only lines that are repeated\n-u	Show only lines that are unique\n-i	Ignore case when comparing lines\n-z	Lines end with \\0 not \\n\n-w	Compare maximum X chars per line\n-f	Ignore first X fields\n-s	Ignore first X chars"
+
+#define HELP_uname "usage: uname [-asnrvm]\n\nPrint system information.\n\n-s	System name\n-n	Network (domain) name\n-r	Kernel Release number\n-v	Kernel Version\n-m	Machine (hardware) name\n-a	All of the above"
+
+#define HELP_arch "usage: arch\n\nPrint machine (hardware) name, same as uname -m."
+
+#define HELP_ulimit "usage: ulimit [-P PID] [-SHRacdefilmnpqrstuv] [LIMIT]\n\nPrint or set resource limits for process number PID. If no LIMIT specified\n(or read-only -ap selected) display current value (sizes in bytes).\nDefault is ulimit -P $PPID -Sf\" (show soft filesize of your shell).\n\n-S  Set/show soft limit          -H  Set/show hard (maximum) limit\n-a  Show all limits              -c  Core file size\n-d  Process data segment         -e  Max scheduling priority\n-f  Output file size             -i  Pending signal count\n-l  Locked memory                -m  Resident Set Size\n-n  Number of open files         -p  Pipe buffer\n-q  Posix message queue          -r  Max Real-time priority\n-R  Realtime latency (usec)      -s  Stack size\n-t  Total CPU time (in seconds)  -u  Maximum processes (under this UID)\n-v  Virtual memory size          -P  PID to affect (default $PPID)"
+
+#define HELP_tty "usage: tty [-s]\n\nShow filename of terminal connected to stdin.\n\nPrints \"not a tty\" and exits with nonzero status if no terminal\nis connected to stdin.\n\n-s	Silent, exit code only"
+
+#define HELP_true "usage: true\n\nReturn zero."
+
+#define HELP_touch "usage: touch [-amch] [-d DATE] [-t TIME] [-r FILE] FILE...\n\nUpdate the access and modification times of each FILE to the current time.\n\n-a	Change access time\n-m	Change modification time\n-c	Don't create file\n-h	Change symlink\n-d	Set time to DATE (in YYYY-MM-DDThh:mm:SS[.frac][tz] format)\n-t	Set time to TIME (in [[CC]YY]MMDDhhmm[.ss][frac] format)\n-r	Set time same as reference FILE"
+
+#define HELP_time "usage: time [-pv] COMMAND...\n\nRun command line and report real, user, and system time elapsed in seconds.\n(real = clock on the wall, user = cpu used by command's code,\nsystem = cpu used by OS on behalf of command.)\n\n-p	POSIX format output (default)\n-v	Verbose"
+
+#define HELP_test "usage: test [-bcdefghLPrSsuwx PATH] [-nz STRING] [-t FD] [X ?? Y]\n\nReturn true or false by performing tests. (With no arguments return false.)\n\n--- Tests with a single argument (after the option):\nPATH is/has:\n  -b  block device   -f  regular file   -p  fifo           -u  setuid bit\n  -c  char device    -g  setgid         -r  read bit       -w  write bit\n  -d  directory      -h  symlink        -S  socket         -x  execute bit\n  -e  exists         -L  symlink        -s  nonzero size   -k  sticky bit\nSTRING is:\n  -n  nonzero size   -z  zero size      (STRING by itself implies -n)\nFD (integer file descriptor) is:\n  -t  a TTY\n\n--- Tests with one argument on each side of an operator:\nTwo strings:\n  =  are identical   !=  differ\nTwo integers:\n  -eq  equal         -gt  first > second    -lt  first < second\n  -ne  not equal     -ge  first >= second   -le  first <= second\n\n--- Modify or combine tests:\n  ! EXPR     not (swap true/false)   EXPR -a EXPR    and (are both true)\n  ( EXPR )   evaluate this first     EXPR -o EXPR    or (is either true)"
+
+#define HELP_tee "usage: tee [-ai] [FILE...]\n\nCopy stdin to each listed file, and also to stdout.\nFilename \"-\" is a synonym for stdout.\n\n-a	Append to files\n-i	Ignore SIGINT"
+
+#define HELP_tar "usage: tar [-cxt] [-fvohmjkOS] [-XTCf NAME] [FILE...]\n\nCreate, extract, or list files in a .tar (or compressed t?z) file.\n\nOptions:\nc  Create                x  Extract               t  Test (list)\nf  tar FILE (default -)  C  Change to DIR first   v  Verbose display\no  Ignore owner          h  Follow symlinks       m  Ignore mtime\nJ  xz compression        j  bzip2 compression     z  gzip compression\nO  Extract to stdout     X  exclude names in FILE T  include names in FILE\n\n--exclude        FILENAME to exclude    --full-time   Show seconds with -tv\n--mode MODE      Adjust modes           --mtime TIME  Override timestamps\n--owner NAME     Set file owner to NAME --group NAME  Set file group to NAME\n--sparse         Record sparse files\n--restrict       All archive contents must extract under one subdirectory\n--numeric-owner  Save/use/display uid and gid, not user/group name\n--no-recursion   Don't store directory contents\n-I PROG          Filter through PROG to compress or PROG -d to decompress"
+
+#define HELP_tail "usage: tail [-n|c NUMBER] [-f] [FILE...]\n\nCopy last lines from files to stdout. If no files listed, copy from\nstdin. Filename \"-\" is a synonym for stdin.\n\n-n	Output the last NUMBER lines (default 10), +X counts from start\n-c	Output the last NUMBER bytes, +NUMBER counts from start\n-f	Follow FILE(s), waiting for more data to be appended"
+
+#define HELP_strings "usage: strings [-fo] [-t oxd] [-n LEN] [FILE...]\n\nDisplay printable strings in a binary file\n\n-f	Show filename\n-n	At least LEN characters form a string (default 4)\n-o	Show offset (ala -t d)\n-t	Show offset type (o=octal, d=decimal, x=hexadecimal)"
+
+#define HELP_split "usage: split [-a SUFFIX_LEN] [-b BYTES] [-l LINES] [INPUT [OUTPUT]]\n\nCopy INPUT (or stdin) data to a series of OUTPUT (or \"x\") files with\nalphabetically increasing suffix (aa, ab, ac... az, ba, bb...).\n\n-a	Suffix length (default 2)\n-b	BYTES/file (10, 10k, 10m, 10g...)\n-l	LINES/file (default 1000)"
+
+#define HELP_sort "usage: sort [-Mbcdfginrsuz] [FILE...] [-k#[,#[x]] [-t X]] [-o FILE]\n\nSort all lines of text from input files (or stdin) to stdout.\n-M	Month sort (jan, feb, etc)\n-V	Version numbers (name-1.234-rc6.5b.tgz)\n-b	Ignore leading blanks (or trailing blanks in second part of key)\n-c	Check whether input is sorted\n-d	Dictionary order (use alphanumeric and whitespace chars only)\n-f	Force uppercase (case insensitive sort)\n-g	General numeric sort (double precision with nan and inf)\n-i	Ignore nonprinting characters\n-k	Sort by \"key\" (see below)\n-n	Numeric order (instead of alphabetical)\n-o	Output to FILE instead of stdout\n-r	Reverse\n-s	Skip fallback sort (only sort with keys)\n-t	Use a key separator other than whitespace\n-u	Unique lines only\n-x	Hexadecimal numerical sort\n-z	Zero (null) terminated lines\n\nSorting by key looks at a subset of the words on each line. -k2 uses the\nsecond word to the end of the line, -k2,2 looks at only the second word,\n-k2,4 looks from the start of the second to the end of the fourth word.\n-k2.4,5 starts from the fourth character of the second word, to the end\nof the fifth word. Specifying multiple keys uses the later keys as tie\nbreakers, in order. A type specifier appended to a sort key (such as -2,2n)\napplies only to sorting that key."
+
+#define HELP_sleep "usage: sleep DURATION\n\nWait before exiting.\n\nDURATION can be a decimal fraction. An optional suffix can be \"m\"\n(minutes), \"h\" (hours), \"d\" (days), or \"s\" (seconds, the default)."
+
+#define HELP_sed "usage: sed [-inrszE] [-e SCRIPT]...|SCRIPT [-f SCRIPT_FILE]... [FILE...]\n\nStream editor. Apply editing SCRIPTs to lines of input.\n\n-e	Add SCRIPT to list\n-f	Add contents of SCRIPT_FILE to list\n-i	Edit each file in place (-iEXT keeps backup file with extension EXT)\n-n	No default output (use the p command to output matched lines)\n-r	Use extended regular expression syntax\n-E	POSIX alias for -r\n-s	Treat input files separately (implied by -i)\n-z	Use \\0 rather than \\n as input line separator\n\nA SCRIPT is one or more COMMANDs separated by newlines or semicolons.\nAll -e SCRIPTs are combined as if separated by newlines, followed by all -f\nSCRIPT_FILEs. If no -e or -f then first argument is the SCRIPT.\n\nCOMMANDs apply to every line unless prefixed with an ADDRESS of the form:\n\n  [ADDRESS[,ADDRESS]][!]COMMAND\n\nADDRESS is a line number (starting at 1), a /REGULAR EXPRESSION/, or $ for\nlast line (-s or -i makes it last line of each file). One address matches one\nline, ADDRESS,ADDRESS matches from first to second inclusive. Two regexes can\nmatch multiple ranges. ADDRESS,+N ends N lines later. ! inverts the match.\n\nREGULAR EXPRESSIONS start and end with the same character (anything but\nbackslash or newline). To use the delimiter in the regex escape it with a\nbackslash, and printf escapes (\\abcefnrtv and octal, hex, and unicode) work.\nAn empty regex repeats the previous one. ADDRESS regexes require any\nfirst delimiter except / to be \\escaped to distinguish it from COMMANDs.\n\nSed reads each line of input, processes it, and writes it out or discards it\nbefore reading the next. Sed can remember one additional line in a separate\nbuffer (the h, H, g, G, and x commands), and can read the next line of input\nearly (the n and N commands), but otherwise operates on individual lines.\n\nEach COMMAND starts with a single character. Commands with no arguments are:\n\n  !  Run this command when the ADDRESS _didn't_ match.\n  {  Start new command block, continuing until a corresponding \"}\".\n     Command blocks nest and can have ADDRESSes applying to the whole block.\n  }  End command block (this COMMAND cannot have an address)\n  d  Delete this line and move on to the next one\n     (ignores remaining COMMANDs)\n  D  Delete one line of input and restart command SCRIPT (same as \"d\"\n     unless you've glued lines together with \"N\" or similar)\n  g  Get remembered line (overwriting current line)\n  G  Get remembered line (appending to current line)\n  h  Remember this line (overwriting remembered line)\n  H  Remember this line (appending to remembered line, if any)\n  l  Print line escaping \\abfrtv (but not \\n), octal escape other nonprintng\n     chars, wrap lines to terminal width with \\, append $ to end of line.\n  n  Print default output and read next line over current line (quit at EOF)\n  N  Append \\n and next line of input to this line. Quit at EOF without\n     default output. Advances line counter for ADDRESS and \"=\".\n  p  Print this line\n  P  Print this line up to first newline (from \"N\")\n  q  Quit (print default output, no more commands processed or lines read)\n  x  Exchange this line with remembered line (overwrite in both directions)\n  =  Print the current line number (plus newline)\n  #  Comment, ignores rest of this line of SCRIPT (until newline)\n\nCommands that take an argument:\n\n  : LABEL    Target for jump commands\n  a TEXT     Append text to output before reading next line\n  b LABEL    Branch, jumps to :LABEL (with no LABEL to end of SCRIPT)\n  c TEXT     Delete matching ADDRESS range and output TEXT instead\n  i TEXT     Insert text (output immediately)\n  r FILE     Append contents of FILE to output before reading next line.\n  s/S/R/F    Search for regex S replace match with R using flags F. Delimiter\n             is anything but \\n or \\, escape with \\ to use in S or R. Printf\n             escapes work. Unescaped & in R becomes full matched text, \\1\n             through \\9 = parenthetical subexpression from S. \\ at end of\n             line appends next line of SCRIPT. The flags in F are:\n             [0-9]    A number N, substitute only Nth match\n             g        Global, substitute all matches\n             i/I      Ignore case when matching\n             p        Print resulting line when match found and replaced\n             w [file] Write (append) line to file when match replaced\n  t LABEL    Test, jump if s/// command matched this line since last test\n  T LABEL    Test false, jump to :LABEL only if no s/// found a match\n  w FILE     Write (append) line to file\n  y/old/new/ Change each character in 'old' to corresponding character\n             in 'new' (with standard backslash escapes, delimiter can be\n             any repeated character except \\ or \\n)\n\nThe TEXT arguments (to a c i) may end with an unescaped \"\\\" to append\nthe next line (leading whitespace is not skipped), and treat \";\" as a\nliteral character (use \"\\;\" instead)."
+
+#define HELP_rmdir "usage: rmdir [-p] [DIR...]\n\nRemove one or more directories.\n\n-p	Remove path\n--ignore-fail-on-non-empty	Ignore failures caused by non-empty directories"
+
+#define HELP_rm "usage: rm [-fiRrv] FILE...\n\nRemove each argument from the filesystem.\n\n-f	Force: remove without confirmation, no error if it doesn't exist\n-i	Interactive: prompt for confirmation\n-rR	Recursive: remove directory contents\n-v	Verbose"
+
+#define HELP_renice "usage: renice [-gpu] -n INCREMENT ID..."
+
+#define HELP_pwd "usage: pwd [-L|-P]\n\nPrint working (current) directory.\n\n-L	Use shell's path from $PWD (when applicable)\n-P	Print canonical absolute path"
+
+#define HELP_pkill "usage: pkill [-fnovx] [-SIGNAL|-l SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]\n\n-l	Send SIGNAL (default SIGTERM)\n-V	Verbose\n-f	Check full command line for PATTERN\n-G	Match real Group ID(s)\n-g	Match Process Group(s) (0 is current user)\n-n	Newest match only\n-o	Oldest match only\n-P	Match Parent Process ID(s)\n-s	Match Session ID(s) (0 for current)\n-t	Match Terminal(s)\n-U	Match real User ID(s)\n-u	Match effective User ID(s)\n-v	Negate the match\n-x	Match whole command (not substring)"
+
+#define HELP_pgrep "usage: pgrep [-clfnovx] [-d DELIM] [-L SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]\n\nSearch for process(es). PATTERN is an extended regular expression checked\nagainst command names.\n\n-c	Show only count of matches\n-d	Use DELIM instead of newline\n-L	Send SIGNAL instead of printing name\n-l	Show command name\n-f	Check full command line for PATTERN\n-G	Match real Group ID(s)\n-g	Match Process Group(s) (0 is current user)\n-n	Newest match only\n-o	Oldest match only\n-P	Match Parent Process ID(s)\n-s	Match Session ID(s) (0 for current)\n-t	Match Terminal(s)\n-U	Match real User ID(s)\n-u	Match effective User ID(s)\n-v	Negate the match\n-x	Match whole command (not substring)"
+
+#define HELP_iotop "usage: iotop [-AaKObq] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,]\n\nRank processes by I/O.\n\n-A	All I/O, not just disk\n-a	Accumulated I/O (not percentage)\n-H	Show threads\n-K	Kilobytes\n-k	Fallback sort FIELDS (default -[D]IO,-ETIME,-PID)\n-m	Maximum number of tasks to show\n-O	Only show processes doing I/O\n-o	Show FIELDS (default PID,PR,USER,[D]READ,[D]WRITE,SWAP,[D]IO,COMM)\n-s	Sort by field number (0-X, default 6)\n-b	Batch mode (no tty)\n-d	Delay SECONDS between each cycle (default 3)\n-n	Exit after NUMBER iterations\n-p	Show these PIDs\n-u	Show these USERs\n-q	Quiet (no header lines)\n\nCursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force\nupdate, R to reverse sort, Q to exit."
+
+#define HELP_top "usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,]\n\nShow process activity in real time.\n\n-H	Show threads\n-k	Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)\n-o	Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)\n-O	Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)\n-s	Sort by field number (1-X, default 9)\n-b	Batch mode (no tty)\n-d	Delay SECONDS between each cycle (default 3)\n-m	Maximum number of tasks to show\n-n	Exit after NUMBER iterations\n-p	Show these PIDs\n-u	Show these USERs\n-q	Quiet (no header lines)\n\nCursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force\nupdate, R to reverse sort, Q to exit."
+
+#define HELP_ps "usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]\n\nList processes.\n\nWhich processes to show (-gGuUpPt selections may be comma separated lists):\n\n-A  All					-a  Has terminal not session leader\n-d  All but session leaders		-e  Synonym for -A\n-g  In GROUPs				-G  In real GROUPs (before sgid)\n-p  PIDs (--pid)			-P  Parent PIDs (--ppid)\n-s  In session IDs			-t  Attached to selected TTYs\n-T  Show threads also			-u  Owned by selected USERs\n-U  Real USERs (before suid)\n\nOutput modifiers:\n\n-k  Sort FIELDs (-FIELD to reverse)	-M  Measure/pad future field widths\n-n  Show numeric USER and GROUP		-w  Wide output (don't truncate fields)\n\nWhich FIELDs to show. (-o HELP for list, default = -o PID,TTY,TIME,CMD)\n\n-f  Full listing (-o USER:12=UID,PID,PPID,C,STIME,TTY,TIME,ARGS=CMD)\n-l  Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o  Output FIELDs instead of defaults, each with optional :size and =title\n-O  Add FIELDS to defaults\n-Z  Include LABEL"
+
+#define HELP_printf "usage: printf FORMAT [ARGUMENT...]\n\nFormat and print ARGUMENT(s) according to FORMAT, using C printf syntax\n(% escapes for cdeEfgGiosuxX, \\ escapes for abefnrtv0 or \\OCTAL or \\xHEX)."
+
+#define HELP_patch "usage: patch [-d DIR] [-i PATCH] [-p DEPTH] [-F FUZZ] [-Rlsu] [--dry-run] [FILE [PATCH]]\n\nApply a unified diff to one or more files.\n\n-d	Modify files in DIR\n-i	Input patch file (default=stdin)\n-l	Loose match (ignore whitespace)\n-p	Number of '/' to strip from start of file paths (default=all)\n-R	Reverse patch\n-s	Silent except for errors\n-u	Ignored (only handles \"unified\" diffs)\n--dry-run Don't change files, just confirm patch applies\n\nThis version of patch only handles unified diffs, and only modifies\na file when all hunks to that file apply. Patch prints failed hunks\nto stderr, and exits with nonzero status if any hunks fail.\n\nA file compared against /dev/null (or with a date <= the epoch) is\ncreated/deleted as appropriate."
+
+#define HELP_paste "usage: paste [-s] [-d DELIMITERS] [FILE...]\n\nMerge corresponding lines from each input file.\n\n-d	List of delimiter characters to separate fields with (default is \\t)\n-s	Sequential mode: turn each input file into one line of output"
+
+#define HELP_od "usage: od [-bcdosxv] [-j #] [-N #] [-w #] [-A doxn] [-t acdfoux[#]]\n\nDump data in octal/hex.\n\n-A	Address base (decimal, octal, hexadecimal, none)\n-j	Skip this many bytes of input\n-N	Stop dumping after this many bytes\n-t	Output type a(scii) c(har) d(ecimal) f(loat) o(ctal) u(nsigned) (he)x\n	plus optional size in bytes\n	aliases: -b=-t o1, -c=-t c, -d=-t u2, -o=-t o2, -s=-t d2, -x=-t x2\n-v	Don't collapse repeated lines together\n-w	Total line width in bytes (default 16)"
+
+#define HELP_nohup "usage: nohup COMMAND...\n\nRun a command that survives the end of its terminal.\n\nRedirect tty on stdin to /dev/null, tty on stdout to \"nohup.out\"."
+
+#define HELP_nl "usage: nl [-E] [-l #] [-b MODE] [-n STYLE] [-s SEPARATOR] [-v #] [-w WIDTH] [FILE...]\n\nNumber lines of input.\n\n-E	Use extended regex syntax (when doing -b pREGEX)\n-b	Which lines to number: a (all) t (non-empty, default) pREGEX (pattern)\n-l	Only count last of this many consecutive blank lines\n-n	Number STYLE: ln (left justified) rn (right justified) rz (zero pad)\n-s	Separator to use between number and line (instead of TAB)\n-v	Starting line number for each section (default 1)\n-w	Width of line numbers (default 6)"
+
+#define HELP_nice "usage: nice [-n PRIORITY] COMMAND...\n\nRun a command line at an increased or decreased scheduling priority.\n\nHigher numbers make a program yield more CPU time, from -20 (highest\npriority) to 19 (lowest).  By default processes inherit their parent's\nniceness (usually 0).  By default this command adds 10 to the parent's\npriority.  Only root can set a negative niceness level."
+
+#define HELP_mkfifo "usage: mkfifo [-Z CONTEXT] [NAME...]\n\nCreate FIFOs (named pipes).\n\n-Z	Security context"
+
+#define HELP_mkdir_z "usage: [-Z context]\n\n-Z	Set security context"
+
+#define HELP_mkdir "usage: mkdir [-vp] [-m MODE] [DIR...]\n\nCreate one or more directories.\n\n-m	Set permissions of directory to mode\n-p	Make parent directories as needed\n-v	Verbose"
+
+#define HELP_ls "usage: ls [-ACFHLRSZacdfhiklmnpqrstuwx1] [--color[=auto]] [FILE...]\n\nList files.\n\nwhat to show:\n-a  all files including .hidden    -b  escape nongraphic chars\n-c  use ctime for timestamps       -d  directory, not contents\n-i  inode number                   -p  put a '/' after dir names\n-q  unprintable chars as '?'       -s  storage used (1024 byte units)\n-u  use access time for timestamps -A  list all files but . and ..\n-H  follow command line symlinks   -L  follow symlinks\n-R  recursively list in subdirs    -F  append /dir *exe @sym |FIFO\n-Z  security context\n\noutput formats:\n-1  list one file per line         -C  columns (sorted vertically)\n-g  like -l but no owner           -h  human readable sizes\n-l  long (show full details)       -m  comma separated\n-n  like -l but numeric uid/gid    -o  like -l but no group\n-w  set column width               -x  columns (horizontal sort)\n-ll long with nanoseconds (--full-time)\n--color  device=yellow  symlink=turquoise/red  dir=blue  socket=purple\n         files: exe=green  suid=red  suidfile=redback  stickydir=greenback\n         =auto means detect if output is a tty.\n\nsorting (default is alphabetical):\n-f  unsorted    -r  reverse    -t  timestamp    -S  size"
+
+#define HELP_logger "usage: logger [-s] [-t TAG] [-p [FACILITY.]PRIORITY] [MESSAGE...]\n\nLog message (or stdin) to syslog.\n\n-s	Also write message to stderr\n-t	Use TAG instead of username to identify message source\n-p	Specify PRIORITY with optional FACILITY. Default is \"user.notice\""
+
+#define HELP_ln "usage: ln [-sfnv] [-t DIR] [FROM...] TO\n\nCreate a link between FROM and TO.\nOne/two/many arguments work like \"mv\" or \"cp\".\n\n-s	Create a symbolic link\n-f	Force the creation of the link, even if TO already exists\n-n	Symlink at TO treated as file\n-r	Create relative symlink from -> to\n-t	Create links in DIR\n-T	TO always treated as file, max 2 arguments\n-v	Verbose"
+
+#define HELP_link "usage: link FILE NEWLINK\n\nCreate hardlink to a file."
+
+#define HELP_killall5 "usage: killall5 [-l [SIGNAL]] [-SIGNAL|-s SIGNAL] [-o PID]...\n\nSend a signal to all processes outside current session.\n\n-l	List signal name(s) and number(s)\n-o PID	Omit PID\n-s	Send SIGNAL (default SIGTERM)"
+
+#define HELP_kill "usage: kill [-l [SIGNAL] | -s SIGNAL | -SIGNAL] PID...\n\nSend signal to process(es).\n\n-l	List signal name(s) and number(s)\n-s	Send SIGNAL (default SIGTERM)"
+
+#define HELP_whoami "usage: whoami\n\nPrint the current user name."
+
+#define HELP_logname "usage: logname\n\nPrint the current user name."
+
+#define HELP_groups "usage: groups [user]\n\nPrint the groups a user is in."
+
+#define HELP_id "usage: id [-GZgnru] [USER...]\n\nPrint user and group ID.\n-G	Show all group IDs\n-Z	Show only security context\n-g	Show only the effective group ID\n-n	Print names instead of numeric IDs (to be used with -Ggu)\n-r	Show real ID instead of effective ID\n-u	Show only the effective user ID"
+
+#define HELP_iconv "usage: iconv [-f FROM] [-t TO] [FILE...]\n\nConvert character encoding of files.\n\n-c	Omit invalid chars\n-f	Convert from (default UTF-8)\n-t	Convert to   (default UTF-8)"
+
+#define HELP_head "usage: head [-n NUM] [FILE...]\n\nCopy first lines from files to stdout. If no files listed, copy from\nstdin. Filename \"-\" is a synonym for stdin.\n\n-n	Number of lines to copy\n-c	Number of bytes to copy\n-q	Never print headers\n-v	Always print headers"
+
+#define HELP_grep "usage: grep [-EFrivwcloqsHbhn] [-ABC NUM] [-m MAX] [-e REGEX]... [-MS PATTERN]... [-f REGFILE] [FILE]...\n\nShow lines matching regular expressions. If no -e, first argument is\nregular expression to match. With no files (or \"-\" filename) read stdin.\nReturns 0 if matched, 1 if no match found, 2 for command errors.\n\n-e  Regex to match. (May be repeated.)\n-f  File listing regular expressions to match.\n\nfile search:\n-r  Recurse into subdirectories (defaults FILE to \".\")\n-R  Recurse into subdirectories and symlinks to directories\n-M  Match filename pattern (--include)\n-S  Skip filename pattern (--exclude)\n--exclude-dir=PATTERN  Skip directory pattern\n-I  Ignore binary files\n\nmatch type:\n-A  Show NUM lines after     -B  Show NUM lines before match\n-C  NUM lines context (A+B)  -E  extended regex syntax\n-F  fixed (literal match)    -a  always text (not binary)\n-i  case insensitive         -m  match MAX many lines\n-v  invert match             -w  whole word (implies -E)\n-x  whole line               -z  input NUL terminated\n\ndisplay modes: (default: matched line)\n-c  count of matching lines  -l  show only matching filenames\n-o  only matching part       -q  quiet (errors only)\n-s  silent (no error msg)    -Z  output NUL terminated\n\noutput prefix (default: filename if checking more than 1 file)\n-H  force filename           -b  byte offset of match\n-h  hide filename            -n  line number of match"
+
+#define HELP_getconf "usage: getconf -a [PATH] | -l | NAME [PATH]\n\nGet system configuration values. Values from pathconf(3) require a path.\n\n-a	Show all (defaults to \"/\" if no path given)\n-l	List available value names (grouped by source)"
+
+#define HELP_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\", match all, -print matches.\n\n-H  Follow command line symlinks         -L  Follow all symlinks\n\nMatch filters:\n-name  PATTERN   filename with wildcards  (-iname case insensitive)\n-path  PATTERN   path name with wildcards (-ipath case insensitive)\n-user  UNAME     belongs to user UNAME     -nouser     user ID not known\n-group GROUP     belongs to group GROUP    -nogroup    group ID not known\n-perm  [-/]MODE  permissions (-=min /=any) -prune      ignore dir contents\n-size  N[c]      512 byte blocks (c=bytes) -xdev       only this filesystem\n-links N         hardlink count            -atime N[u] accessed N units ago\n-ctime N[u]      created N units ago       -mtime N[u] modified N units ago\n-newer FILE      newer mtime than FILE     -mindepth N at least N dirs down\n-depth           ignore contents of dir    -maxdepth N at most N dirs down\n-inum N          inode number N            -empty      empty files and dirs\n-type [bcdflps]  type is (block, char, dir, file, symlink, pipe, socket)\n-true            always true               -false      always false\n-context PATTERN security context\n-newerXY FILE    X=acm time > FILE's Y=acm time (Y=t: FILE is literal time)\n\nNumbers N may be prefixed by a - (less than) or + (greater than). Units for\n-Xtime are d (days, default), h (hours), m (minutes), or s (seconds).\n\nCombine matches with:\n!, -a, -o, ( )    not, and, or, group expressions\n\nActions:\n-print  Print match with newline  -print0        Print match with null\n-exec   Run command with path     -execdir       Run command in file's dir\n-ok     Ask before exec           -okdir         Ask before execdir\n-delete Remove matching file/dir  -printf FORMAT Print using format string\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n-printf FORMAT characters are \\ escapes and:\n%b  512 byte blocks used\n%f  basename            %g  textual gid          %G  numeric gid\n%i  decimal inode       %l  target of symlink    %m  octal mode\n%M  ls format type/mode %p  path to file         %P  path to file minus DIR\n%s  size in bytes       %T@ mod time as unixtime\n%u  username            %U  numeric uid          %Z  security context"
+
+#define HELP_file "usage: file [-bhLs] [FILE...]\n\nExamine the given files and describe their content types.\n\n-b	Brief (no filename)\n-h	Don't follow symlinks (default)\n-L	Follow symlinks\n-s	Show block/char device contents"
+
+#define HELP_false "usage: false\n\nReturn nonzero."
+
+#define HELP_expand "usage: expand [-t TABLIST] [FILE...]\n\nExpand tabs to spaces according to tabstops.\n\n-t	TABLIST\n\nSpecify tab stops, either a single number instead of the default 8,\nor a comma separated list of increasing numbers representing tabstop\npositions (absolute, not increments) with each additional tab beyond\nthat becoming one space."
+
+#define HELP_env "usage: env [-i] [-u NAME] [NAME=VALUE...] [COMMAND...]\n\nSet the environment for command invocation, or list environment variables.\n\n-i	Clear existing environment\n-u NAME	Remove NAME from the environment\n-0	Use null instead of newline in output"
+
+#define HELP_echo "usage: echo [-neE] [ARG...]\n\nWrite each argument to stdout, with one space between each, followed\nby a newline.\n\n-n	No trailing newline\n-E	Print escape sequences literally (default)\n-e	Process the following escape sequences:\n	\\\\	Backslash\n	\\0NNN	Octal values (1 to 3 digits)\n	\\a	Alert (beep/flash)\n	\\b	Backspace\n	\\c	Stop output here (avoids trailing newline)\n	\\f	Form feed\n	\\n	Newline\n	\\r	Carriage return\n	\\t	Horizontal tab\n	\\v	Vertical tab\n	\\xHH	Hexadecimal values (1 to 2 digits)"
+
+#define HELP_du "usage: du [-d N] [-askxHLlmc] [FILE...]\n\nShow disk usage, space consumed by files and directories.\n\nSize in:\n-b	Apparent bytes (directory listing size, not space used)\n-k	1024 byte blocks (default)\n-K	512 byte blocks (posix)\n-m	Megabytes\n-h	Human readable (e.g., 1K 243M 2G)\n\nWhat to show:\n-a	All files, not just directories\n-H	Follow symlinks on cmdline\n-L	Follow all symlinks\n-s	Only total size of each argument\n-x	Don't leave this filesystem\n-c	Cumulative total\n-d N	Only depth < N\n-l	Disable hardlink filter"
+
+#define HELP_dirname "usage: dirname PATH...\n\nShow directory portion of path."
+
+#define HELP_df "usage: df [-HPkhi] [-t type] [FILE...]\n\nThe \"disk free\" command shows total/used/available disk space for\neach filesystem listed on the command line, or all currently mounted\nfilesystems.\n\n-a	Show all (including /proc and friends)\n-P	The SUSv3 \"Pedantic\" option\n-k	Sets units back to 1024 bytes (the default without -P)\n-h	Human readable (K=1024)\n-H	Human readable (k=1000)\n-i	Show inodes instead of blocks\n-t type	Display only filesystems of this type\n\nPedantic provides a slightly less useful output format dictated by Posix,\nand sets the units to 512 bytes instead of the default 1024 bytes."
+
+#define HELP_date "usage: date [-u] [-I RES] [-r FILE] [-d DATE] [+DISPLAY_FORMAT] [-D SET_FORMAT] [SET]\n\nSet/get the current date/time. With no SET shows the current date.\n\n-d	Show DATE instead of current time (convert date format)\n-D	+FORMAT for SET or -d (instead of MMDDhhmm[[CC]YY][.ss])\n-I RES	ISO 8601 with RESolution d=date/h=hours/m=minutes/s=seconds/n=ns\n-r	Use modification time of FILE instead of current date\n-u	Use UTC instead of current timezone\n\nSupported input formats:\n\nMMDDhhmm[[CC]YY][.ss]     POSIX\n@UNIXTIME[.FRACTION]      seconds since midnight 1970-01-01\nYYYY-MM-DD [hh:mm[:ss]]   ISO 8601\nhh:mm[:ss]                24-hour time today\n\nAll input formats can be followed by fractional seconds, and/or a UTC\noffset such as -0800.\n\nAll input formats can be preceded by TZ=\"id\" to set the input time zone\nseparately from the output time zone. Otherwise $TZ sets both.\n\n+FORMAT specifies display format string using strftime(3) syntax:\n\n%% literal %             %n newline              %t tab\n%S seconds (00-60)       %M minute (00-59)       %m month (01-12)\n%H hour (0-23)           %I hour (01-12)         %p AM/PM\n%y short year (00-99)    %Y year                 %C century\n%a short weekday name    %A weekday name         %u day of week (1-7, 1=mon)\n%b short month name      %B month name           %Z timezone name\n%j day of year (001-366) %d day of month (01-31) %e day of month ( 1-31)\n%N nanosec (output only)\n\n%U Week of year (0-53 start Sunday)   %W Week of year (0-53 start Monday)\n%V Week of year (1-53 start Monday, week < 4 days not part of this year)\n\n%F \"%Y-%m-%d\"   %R \"%H:%M\"        %T \"%H:%M:%S\"        %z  timezone (-0800)\n%D \"%m/%d/%y\"   %r \"%I:%M:%S %p\"  %h \"%b\"              %:z timezone (-08:00)\n%x locale date  %X locale time    %c locale date/time  %s  unix epoch time"
+
+#define HELP_cut "usage: cut [-Ds] [-bcfF LIST] [-dO DELIM] [FILE...]\n\nPrint selected parts of lines from each FILE to standard output.\n\nEach selection LIST is comma separated, either numbers (counting from 1)\nor dash separated ranges (inclusive, with X- meaning to end of line and -X\nfrom start). By default selection ranges are sorted and collated, use -D\nto prevent that.\n\n-b	Select bytes\n-c	Select UTF-8 characters\n-C	Select unicode columns\n-d	Use DELIM (default is TAB for -f, run of whitespace for -F)\n-D	Don't sort/collate selections or match -fF lines without delimiter\n-f	Select fields (words) separated by single DELIM character\n-F	Select fields separated by DELIM regex\n-O	Output delimiter (default one space for -F, input delim for -f)\n-s	Skip lines without delimiters"
+
+#define HELP_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [--no-preserve-owner]\n       [ignored: -mdu -H newc]\n\nCopy files into and out of a \"newc\" format cpio archive.\n\n-F FILE	Use archive FILE instead of stdin/stdout\n-p DEST	Copy-pass mode, copy stdin file list to directory DEST\n-i	Extract from archive into file system (stdin=archive)\n-o	Create archive (stdin=list of files, stdout=archive)\n-t	Test files (list only, stdin=archive, stdout=list of files)\n-d	Create directories if needed\n-v	Verbose\n--no-preserve-owner (don't set ownership during extract)"
+
+#define HELP_install "usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [SOURCE...] DEST\n\nCopy files and set attributes.\n\n-d	Act like mkdir -p\n-D	Create leading directories for DEST\n-g	Make copy belong to GROUP\n-m	Set permissions to MODE\n-o	Make copy belong to USER\n-p	Preserve timestamps\n-s	Call \"strip -p\"\n-v	Verbose"
+
+#define HELP_mv "usage: mv [-finTv] SOURCE... DEST\n\n-f	Force copy by deleting destination file\n-i	Interactive, prompt before overwriting existing DEST\n-n	No clobber (don't overwrite DEST)\n-T	DEST always treated as file, max 2 arguments\n-v	Verbose"
+
+#define HELP_cp "usage: cp [-adfHiLlnPpRrsTv] [--preserve=motcxa] SOURCE... DEST\n\nCopy files from SOURCE to DEST.  If more than one SOURCE, DEST must\nbe a directory.\n\n-a	Same as -dpr\n-D	Create leading dirs under DEST (--parents)\n-d	Don't dereference symlinks\n-F	Delete any existing destination file first (--remove-destination)\n-f	Delete destination files we can't write to\n-H	Follow symlinks listed on command line\n-i	Interactive, prompt before overwriting existing DEST\n-L	Follow all symlinks\n-l	Hard link instead of copy\n-n	No clobber (don't overwrite DEST)\n-P	Do not follow symlinks\n-p	Preserve timestamps, ownership, and mode\n-R	Recurse into subdirectories (DEST must be a directory)\n-r	Synonym for -R\n-s	Symlink instead of copy\n-T	DEST always treated as file, max 2 arguments\n-v	Verbose\n\nArguments to --preserve are the first letter(s) of:\n\n        mode - permissions (ignore umask for rwx, copy suid and sticky bit)\n   ownership - user and group\n  timestamps - file creation, modification, and access times.\n     context - security context\n       xattr - extended attributes\n         all - all of the above"
+
+#define HELP_comm "usage: comm [-123] FILE1 FILE2\n\nRead FILE1 and FILE2, which should be ordered, and produce three text\ncolumns as output: lines only in FILE1; lines only in FILE2; and lines\nin both files. Filename \"-\" is a synonym for stdin.\n\n-1	Suppress the output column of lines unique to FILE1\n-2	Suppress the output column of lines unique to FILE2\n-3	Suppress the output column of lines duplicated in FILE1 and FILE2"
+
+#define HELP_cmp "usage: cmp [-l] [-s] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n\nCompare the contents of two files. (Or stdin and file if only one given.)\n\n-l	Show all differing bytes\n-s	Silent"
+
+#define HELP_crc32 "usage: crc32 [file...]\n\nOutput crc32 checksum for each file."
+
+#define HELP_cksum "usage: cksum [-IPLN] [FILE...]\n\nFor each file, output crc32 checksum value, length and name of file.\nIf no files listed, copy from stdin.  Filename \"-\" is a synonym for stdin.\n\n-H	Hexadecimal checksum (defaults to decimal)\n-L	Little endian (defaults to big endian)\n-P	Pre-inversion\n-I	Skip post-inversion\n-N	Do not include length in CRC calculation (or output)"
+
+#define HELP_chmod "usage: chmod [-R] MODE FILE...\n\nChange mode of listed file[s] (recursively with -R).\n\nMODE can be (comma-separated) stanzas: [ugoa][+-=][rwxstXugo]\n\nStanzas are applied in order: For each category (u = user,\ng = group, o = other, a = all three, if none specified default is a),\nset (+), clear (-), or copy (=), r = read, w = write, x = execute.\ns = u+s = suid, g+s = sgid, +t = sticky. (o+s ignored so a+s doesn't set +t)\nsuid/sgid: execute as the user/group who owns the file.\nsticky: can't delete files you don't own out of this directory\nX = x for directories or if any category already has x set.\n\nOr MODE can be an octal value up to 7777	ug uuugggooo	top +\nbit 1 = o+x, bit 1<<8 = u+w, 1<<11 = g+1	sstrwxrwxrwx	bottom\n\nExamples:\nchmod u+w file - allow owner of \"file\" to write to it.\nchmod 744 file - user can read/write/execute, everyone else read only"
+
+#define HELP_chown "see: chgrp"
+
+#define HELP_chgrp "usage: chgrp/chown [-RHLP] [-fvh] GROUP FILE...\n\nChange group of one or more files.\n\n-f	Suppress most error messages\n-h	Change symlinks instead of what they point to\n-R	Recurse into subdirectories (implies -h)\n-H	With -R change target of symlink, follow command line symlinks\n-L	With -R change target of symlink, follow all symlinks\n-P	With -R change symlink, do not follow symlinks (default)\n-v	Verbose"
+
+#define HELP_catv "usage: catv [-evt] [FILE...]\n\nDisplay nonprinting characters as escape sequences. Use M-x for\nhigh ascii characters (>127), and ^x for other nonprinting chars.\n\n-e	Mark each newline with $\n-t	Show tabs as ^I\n-v	Don't use ^x or M-x escapes"
+
+#define HELP_cat "usage: cat [-etuv] [FILE...]\n\nCopy (concatenate) files to stdout.  If no files listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-e	Mark each newline with $\n-t	Show tabs as ^I\n-u	Copy one byte at a time (slow)\n-v	Display nonprinting characters as escape sequences with M-x for\n	high ascii characters (>127), and ^x for other nonprinting chars"
+
+#define HELP_cal "usage: cal [[MONTH] YEAR]\n\nPrint a calendar.\n\nWith one argument, prints all months of the specified year.\nWith two arguments, prints calendar for month and year.\n\n-h	Don't highlight today"
+
+#define HELP_basename "usage: basename [-a] [-s SUFFIX] NAME... | NAME [SUFFIX]\n\nReturn non-directory portion of a pathname removing suffix.\n\n-a		All arguments are names\n-s SUFFIX	Remove suffix (implies -a)"
+
diff --git a/android/device/generated/newtoys.h b/android/device/generated/newtoys.h
new file mode 100644
index 0000000..3e86e65
--- /dev/null
+++ b/android/device/generated/newtoys.h
@@ -0,0 +1,318 @@
+USE_TOYBOX(NEWTOY(toybox, NULL, TOYFLAG_STAYROOT))
+USE_SH(OLDTOY(-bash, sh, 0))
+USE_SH(OLDTOY(-sh, sh, 0))
+USE_SH(OLDTOY(-toysh, sh, 0))
+USE_SH(OLDTOY(., source, TOYFLAG_NOFORK))
+USE_TRUE(OLDTOY(:, true, TOYFLAG_NOFORK|TOYFLAG_NOHELP))
+USE_SH(OLDTOY([, test, TOYFLAG_NOFORK|TOYFLAG_NOHELP))
+USE_ACPI(NEWTOY(acpi, "abctV", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GROUPADD(OLDTOY(addgroup, groupadd, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USERADD(OLDTOY(adduser, useradd, TOYFLAG_NEEDROOT|TOYFLAG_UMASK|TOYFLAG_SBIN))
+USE_ARCH(NEWTOY(arch, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ARP(NEWTOY(arp, "vi:nDsdap:A:H:[+Ap][!sd]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ARPING(NEWTOY(arping, "<1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_ASCII(NEWTOY(ascii, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASE32(NEWTOY(base32, "diw#<0=76[!dw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASE64(NEWTOY(base64, "diw#<0=76[!dw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASENAME(NEWTOY(basename, "^<1as:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(OLDTOY(bash, sh, TOYFLAG_BIN))
+USE_BC(NEWTOY(bc, "i(interactive)l(mathlib)q(quiet)s(standard)w(warn)", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_BLKDISCARD(NEWTOY(blkdiscard, "<1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]", TOYFLAG_BIN))
+USE_BLKID(NEWTOY(blkid, "ULs*[!LU]", TOYFLAG_BIN))
+USE_BLOCKDEV(NEWTOY(blockdev, "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)",TOYFLAG_SBIN))
+USE_BOOTCHARTD(NEWTOY(bootchartd, 0, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_BRCTL(NEWTOY(brctl, "<1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_BUNZIP2(NEWTOY(bunzip2, "cftkv", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BZCAT(NEWTOY(bzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CAL(NEWTOY(cal, ">2h", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CAT(NEWTOY(cat, "u"USE_CAT_V("vte"), TOYFLAG_BIN))
+USE_CATV(NEWTOY(catv, USE_CATV("vte"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(cd, ">1LP[-LP]", TOYFLAG_NOFORK))
+USE_CHATTR(NEWTOY(chattr, "?p#v#R", TOYFLAG_BIN))
+USE_CHCON(NEWTOY(chcon, "<2hvR", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CHGRP(NEWTOY(chgrp, "<2h(no-dereference)PLHRfv[-HLP]", TOYFLAG_BIN))
+USE_CHMOD(NEWTOY(chmod, "<2?vfR[-vf]", TOYFLAG_BIN))
+USE_CHOWN(OLDTOY(chown, chgrp, TOYFLAG_BIN))
+USE_CHROOT(NEWTOY(chroot, "^<1", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_ARGFAIL(125)))
+USE_CHRT(NEWTOY(chrt, "^mp#<0iRbrfo[!ibrfo]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CKSUM(NEWTOY(cksum, "HIPLN", TOYFLAG_BIN))
+USE_CLEAR(NEWTOY(clear, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CMP(NEWTOY(cmp, "<1>2ls(silent)(quiet)[!ls]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_COMM(NEWTOY(comm, "<2>2321", TOYFLAG_USR|TOYFLAG_BIN))
+USE_COUNT(NEWTOY(count, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CP(NEWTOY(cp, "<2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]", TOYFLAG_BIN))
+USE_CPIO(NEWTOY(cpio, "(quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
+USE_CRC32(NEWTOY(crc32, 0, TOYFLAG_BIN))
+USE_CROND(NEWTOY(crond, "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_CRONTAB(NEWTOY(crontab, "c:u:elr[!elr]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_CUT(NEWTOY(cut, "b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DATE(NEWTOY(date, "d:D:I(iso)(iso-8601):;r:u(utc)[!dr]", TOYFLAG_BIN))
+USE_DD(NEWTOY(dd, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_DEALLOCVT(NEWTOY(deallocvt, ">1", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_GROUPDEL(OLDTOY(delgroup, groupdel, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USERDEL(OLDTOY(deluser, userdel, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_DEMO_MANY_OPTIONS(NEWTOY(demo_many_options, "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba", TOYFLAG_BIN))
+USE_DEMO_NUMBER(NEWTOY(demo_number, "D#=3<3M#<0hcdbs", TOYFLAG_BIN))
+USE_DEMO_SCANKEY(NEWTOY(demo_scankey, 0, TOYFLAG_BIN))
+USE_DEMO_UTF8TOWC(NEWTOY(demo_utf8towc, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_DEVMEM(NEWTOY(devmem, "<1>3", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DF(NEWTOY(df, "HPkhit*a[-HPkh]", TOYFLAG_SBIN))
+USE_DHCP(NEWTOY(dhcp, "V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DHCP6(NEWTOY(dhcp6, "r:A#<0T#<0t#<0s:p:i:SRvqnbf", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DHCPD(NEWTOY(dhcpd, ">1P#<0>65535fi:S46[!46]", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DIFF(NEWTOY(diff, "<2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_DIRNAME(NEWTOY(dirname, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DMESG(NEWTOY(dmesg, "w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]", TOYFLAG_BIN))
+USE_DNSDOMAINNAME(NEWTOY(dnsdomainname, ">0", TOYFLAG_BIN))
+USE_DOS2UNIX(NEWTOY(dos2unix, 0, TOYFLAG_BIN))
+USE_DU(NEWTOY(du, "d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DUMPLEASES(NEWTOY(dumpleases, ">0arf:[!ar]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ECHO(NEWTOY(echo, "^?Een[-eE]", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_EGREP(OLDTOY(egrep, grep, TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_EJECT(NEWTOY(eject, ">1stT[!tT]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ENV(NEWTOY(env, "^i0u*", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_SH(NEWTOY(eval, 0, TOYFLAG_NOFORK))
+USE_SH(NEWTOY(exec, "^cla:", TOYFLAG_NOFORK))
+USE_SH(NEWTOY(exit, 0, TOYFLAG_NOFORK))
+USE_EXPAND(NEWTOY(expand, "t*", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_SH(NEWTOY(export, "np", TOYFLAG_NOFORK))
+USE_EXPR(NEWTOY(expr, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_FACTOR(NEWTOY(factor, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_FALLOCATE(NEWTOY(fallocate, ">1l#|o#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FALSE(NEWTOY(false, NULL, TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_FDISK(NEWTOY(fdisk, "C#<0H#<0S#<0b#<512ul", TOYFLAG_SBIN))
+USE_FGREP(OLDTOY(fgrep, grep, TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_FILE(NEWTOY(file, "<1bhLs[!hL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FIND(NEWTOY(find, "?^HL[-HL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FLOCK(NEWTOY(flock, "<1>1nsux[-sux]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FMT(NEWTOY(fmt, "w#<0=75", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_FOLD(NEWTOY(fold, "bsuw#<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREE(NEWTOY(free, "htgmkb[!htgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREERAMDISK(NEWTOY(freeramdisk, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_FSCK(NEWTOY(fsck, "?t:ANPRTVsC#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FSFREEZE(NEWTOY(fsfreeze, "<1>1f|u|[!fu]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_FSTYPE(NEWTOY(fstype, "<1", TOYFLAG_BIN))
+USE_FSYNC(NEWTOY(fsync, "<1d", TOYFLAG_BIN))
+USE_FTPGET(NEWTOY(ftpget, "<2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FTPPUT(OLDTOY(ftpput, ftpget, TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETCONF(NEWTOY(getconf, ">2al", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETENFORCE(NEWTOY(getenforce, ">0", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_GETFATTR(NEWTOY(getfattr, "(only-values)dhn:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETOPT(NEWTOY(getopt, "^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETTY(NEWTOY(getty, "<2t#<0H:I:l:f:iwnmLh", TOYFLAG_SBIN))
+USE_GREP(NEWTOY(grep, "(line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]", TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_GROUPADD(NEWTOY(groupadd, "<1>2g#<0S", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_GROUPDEL(NEWTOY(groupdel, "<1>2", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_GROUPS(NEWTOY(groups, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_GUNZIP(NEWTOY(gunzip, "cdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GZIP(NEWTOY(gzip,    "ncdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(OLDTOY(halt, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_HEAD(NEWTOY(head, "?n(lines)#<0=10c(bytes)#<0qv[-nc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HELLO(NEWTOY(hello, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_HELP(NEWTOY(help, "ahu", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_HEXEDIT(NEWTOY(hexedit, "<1>1r", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_HOST(NEWTOY(host, "<1>2avt:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HOSTID(NEWTOY(hostid, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HOSTNAME(NEWTOY(hostname, ">1bdsfF:[!bdsf]", TOYFLAG_BIN))
+USE_HWCLOCK(NEWTOY(hwclock, ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]", TOYFLAG_SBIN))
+USE_I2CDETECT(NEWTOY(i2cdetect, ">3aFly", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CDUMP(NEWTOY(i2cdump, "<2>2fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CGET(NEWTOY(i2cget, "<3>3fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CSET(NEWTOY(i2cset, "<4fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ICONV(NEWTOY(iconv, "cst:f:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ID(NEWTOY(id, ">1"USE_ID_Z("Z")"nGgru[!"USE_ID_Z("Z")"Ggu]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IFCONFIG(NEWTOY(ifconfig, "^?aS", TOYFLAG_SBIN))
+USE_INIT(NEWTOY(init, "", TOYFLAG_SBIN))
+USE_INOTIFYD(NEWTOY(inotifyd, "<2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_INSTALL(NEWTOY(install, "<1cdDpsvm:o:g:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IONICE(NEWTOY(ionice, "^tc#<0>3=2n#<0>7=5p#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IORENICE(NEWTOY(iorenice, "?<1>3", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IOTOP(NEWTOY(iotop, ">0AaKO" "Hk*o*p*u*s#<1=7d%<100=3000m#n#<1bq", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT|TOYFLAG_LOCALE))
+USE_IP(NEWTOY(ip, NULL, TOYFLAG_SBIN))
+USE_IP(OLDTOY(ipaddr, ip, TOYFLAG_SBIN))
+USE_IPCRM(NEWTOY(ipcrm, "m*M*s*S*q*Q*", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IPCS(NEWTOY(ipcs, "acptulsqmi#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IP(OLDTOY(iplink, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iproute, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iprule, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iptunnel, ip, TOYFLAG_SBIN))
+USE_KILL(NEWTOY(kill, "?ls: ", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_KILLALL(NEWTOY(killall, "?s:ilqvw", TOYFLAG_USR|TOYFLAG_BIN))
+USE_KILLALL5(NEWTOY(killall5, "?o*ls: [!lo][!ls]", TOYFLAG_SBIN))
+USE_KLOGD(NEWTOY(klogd, "c#<1>8n", TOYFLAG_SBIN))
+USE_LAST(NEWTOY(last, "f:W", TOYFLAG_BIN))
+USE_LINK(NEWTOY(link, "<2>2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LN(NEWTOY(ln, "<1rt:Tvnfs", TOYFLAG_BIN))
+USE_LOAD_POLICY(NEWTOY(load_policy, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_LOG(NEWTOY(log, "<1p:t:", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_LOGGER(NEWTOY(logger, "t:p:s", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOGIN(NEWTOY(login, ">1f:ph:", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_LOGNAME(NEWTOY(logname, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOGWRAPPER(NEWTOY(logwrapper, 0, TOYFLAG_NOHELP|TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOSETUP(NEWTOY(losetup, ">2S(sizelimit)#s(show)ro#j:fdcaD[!afj]", TOYFLAG_SBIN))
+USE_LS(NEWTOY(ls, "(color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_LSATTR(NEWTOY(lsattr, "ldapvR", TOYFLAG_BIN))
+USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN))
+USE_LSOF(NEWTOY(lsof, "lp*t", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSPCI(NEWTOY(lspci, "emkn"USE_LSPCI_TEXT("@i:"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSUSB(NEWTOY(lsusb, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_MAKEDEVS(NEWTOY(makedevs, "<1>1d:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MAN(NEWTOY(man, "k:M:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MCOOKIE(NEWTOY(mcookie, "v(verbose)V(version)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MD5SUM(NEWTOY(md5sum, "bc(check)s(status)[!bc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MDEV(NEWTOY(mdev, "s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MICROCOM(NEWTOY(microcom, "<1>1s#=115200X", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MIX(NEWTOY(mix, "c:d:l#r#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKDIR(NEWTOY(mkdir, "<1"USE_MKDIR_Z("Z:")"vp(parent)(parents)m:", TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MKE2FS(NEWTOY(mke2fs, "<1>2g:Fnqm#N#i#b#", TOYFLAG_SBIN))
+USE_MKFIFO(NEWTOY(mkfifo, "<1"USE_MKFIFO_Z("Z:")"m:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKNOD(NEWTOY(mknod, "<2>4m(mode):"USE_MKNOD_Z("Z:"), TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MKPASSWD(NEWTOY(mkpasswd, ">2S:m:P#=0<0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKSWAP(NEWTOY(mkswap, "<1>1L:", TOYFLAG_SBIN))
+USE_MKTEMP(NEWTOY(mktemp, ">1(tmpdir);:uqd(directory)p:t", TOYFLAG_BIN))
+USE_MODINFO(NEWTOY(modinfo, "<1b:k:F:0", TOYFLAG_SBIN))
+USE_MODPROBE(NEWTOY(modprobe, "alrqvsDbd*", TOYFLAG_SBIN))
+USE_MORE(NEWTOY(more, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_MOUNTPOINT(NEWTOY(mountpoint, "<1qdx[-dx]", TOYFLAG_BIN))
+USE_MV(NEWTOY(mv, "<2vnF(remove-destination)fiT[-ni]", TOYFLAG_BIN))
+USE_NBD_CLIENT(OLDTOY(nbd-client, nbd_client, TOYFLAG_USR|TOYFLAG_BIN))
+USE_NBD_CLIENT(NEWTOY(nbd_client, "<3>3ns", 0))
+USE_NETCAT(OLDTOY(nc, netcat, TOYFLAG_USR|TOYFLAG_BIN))
+USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("^tElL")"w#<1W#<1p#<1>65535q#<1s:f:46uU"USE_NETCAT_LISTEN("[!tlL][!Lw]")"[!46U]", TOYFLAG_BIN))
+USE_NETSTAT(NEWTOY(netstat, "pWrxwutneal", TOYFLAG_BIN))
+USE_NICE(NEWTOY(nice, "^<1n#", TOYFLAG_BIN))
+USE_NL(NEWTOY(nl, "v#=1l#w#<0=6Eb:n:s:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NOHUP(NEWTOY(nohup, "<1^", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_NPROC(NEWTOY(nproc, "(all)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NSENTER(NEWTOY(nsenter, "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);", TOYFLAG_USR|TOYFLAG_BIN))
+USE_OD(NEWTOY(od, "j#vw#<1=16N#xsodcbA:t*", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ONEIT(NEWTOY(oneit, "^<1nc:p3[!pn]", TOYFLAG_SBIN))
+USE_OPENVT(NEWTOY(openvt, "c#<1>63sw", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_PARTPROBE(NEWTOY(partprobe, "<1", TOYFLAG_SBIN))
+USE_PASSWD(NEWTOY(passwd, ">1a:dlu", TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_PASTE(NEWTOY(paste, "d:s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PATCH(NEWTOY(patch, ">2(no-backup-if-mismatch)(dry-run)"USE_TOYBOX_DEBUG("x")"F#g#fulp#d:i:Rs(quiet)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PGREP(NEWTOY(pgrep, "?cld:u*U*t*s*P*g*G*fnovxL:[-no]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PIDOF(NEWTOY(pidof, "<1so:x", TOYFLAG_BIN))
+USE_PING(NEWTOY(ping, "<1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PING(OLDTOY(ping6, ping, TOYFLAG_USR|TOYFLAG_BIN))
+USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN))
+USE_PKILL(NEWTOY(pkill,    "?Vu*U*t*s*P*g*G*fnovxl:[-no]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(OLDTOY(poweroff, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_PRINTENV(NEWTOY(printenv, "(null)0", TOYFLAG_BIN))
+USE_PRINTF(NEWTOY(printf, "<1?^", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_ULIMIT(OLDTOY(prlimit, ulimit, TOYFLAG_USR|TOYFLAG_BIN))
+USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PWD(NEWTOY(pwd, ">0LP[-LP]", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PWGEN(NEWTOY(pwgen, ">2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_READAHEAD(NEWTOY(readahead, NULL, TOYFLAG_BIN))
+USE_READELF(NEWTOY(readelf, "<1(dyn-syms)adehlnp:SsWx:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_READLINK(NEWTOY(readlink, "<1nqmef(canonicalize)[-mef]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REALPATH(NEWTOY(realpath, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(NEWTOY(reboot, "fn", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN))
+USE_RESET(NEWTOY(reset, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_RESTORECON(NEWTOY(restorecon, "<1DFnRrv", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_REV(NEWTOY(rev, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_RM(NEWTOY(rm, "fiRrv[-fi]", TOYFLAG_BIN))
+USE_RMDIR(NEWTOY(rmdir, "<1(ignore-fail-on-non-empty)p(parents)", TOYFLAG_BIN))
+USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_ROUTE(NEWTOY(route, "?neA:", TOYFLAG_SBIN))
+USE_RTCWAKE(NEWTOY(rtcwake, "(list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_RUNCON(NEWTOY(runcon, "<2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SED(NEWTOY(sed, "(help)(version)e*f*i:;nErz(null-data)s[+Er]", TOYFLAG_BIN|TOYFLAG_LOCALE|TOYFLAG_NOHELP))
+USE_SENDEVENT(NEWTOY(sendevent, "<4>4", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SEQ(NEWTOY(seq, "<1>3?f:s:w[!fw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(set, 0, TOYFLAG_NOFORK))
+USE_SETENFORCE(NEWTOY(setenforce, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SETFATTR(NEWTOY(setfattr, "hn:|v:x:|[!xv]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SETSID(NEWTOY(setsid, "^<1wcd[!dc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(sh, "0(noediting)(noprofile)(norc)sc:i", TOYFLAG_BIN))
+USE_SHA1SUM(NEWTOY(sha1sum, "bc(check)s(status)[!bc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TOYBOX_LIBCRYPTO(USE_SHA224SUM(OLDTOY(sha224sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_TOYBOX_LIBCRYPTO(USE_SHA256SUM(OLDTOY(sha256sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_TOYBOX_LIBCRYPTO(USE_SHA384SUM(OLDTOY(sha384sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_SHA3SUM(NEWTOY(sha3sum, "bSa#<128>512=224", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TOYBOX_LIBCRYPTO(USE_SHA512SUM(OLDTOY(sha512sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_SH(NEWTOY(shift, ">1", TOYFLAG_NOFORK))
+USE_SHRED(NEWTOY(shred, "<1zxus#<1n#<1o#<0f", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SKELETON(NEWTOY(skeleton, "(walrus)(blubber):;(also):e@d*c#b:a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SKELETON_ALIAS(NEWTOY(skeleton_alias, "b#dq", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SLEEP(NEWTOY(sleep, "<1", TOYFLAG_BIN))
+USE_SNTP(NEWTOY(sntp, ">1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SORT(NEWTOY(sort, USE_SORT_FLOAT("g")"S:T:m" "o:k*t:" "xVbMcszdfirun", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_SH(NEWTOY(source, "0<1", TOYFLAG_NOFORK))
+USE_SPLIT(NEWTOY(split, ">2a#<1=2>9b#<1l#<1[!bl]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_STAT(NEWTOY(stat, "<1c:(format)fLt", TOYFLAG_BIN))
+USE_STRINGS(NEWTOY(strings, "t:an#=4<1fo", TOYFLAG_USR|TOYFLAG_BIN))
+USE_STTY(NEWTOY(stty, "?aF:g[!ag]", TOYFLAG_BIN))
+USE_SU(NEWTOY(su, "^lmpu:g:c:s:[!lmp]", TOYFLAG_BIN|TOYFLAG_ROOTONLY))
+USE_SULOGIN(NEWTOY(sulogin, "t#<0=0", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767d", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWITCH_ROOT(NEWTOY(switch_root, "<2c:h", TOYFLAG_SBIN))
+USE_SYNC(NEWTOY(sync, NULL, TOYFLAG_BIN))
+USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN))
+USE_SYSLOGD(NEWTOY(syslogd,">0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD", TOYFLAG_SBIN|TOYFLAG_STAYROOT))
+USE_TAC(NEWTOY(tac, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_TAIL(NEWTOY(tail, "?fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TAR(NEWTOY(tar, "&(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TASKSET(NEWTOY(taskset, "<1^pa", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_TCPSVD(NEWTOY(tcpsvd, "^<3c#=30<1C:b#=20<0u:l:hEv", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TELNET(NEWTOY(telnet, "<1>2", TOYFLAG_BIN))
+USE_TELNETD(NEWTOY(telnetd, "w#<0b:p#<0>65535=23f:l:FSKi[!wi]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEST(NEWTOY(test, 0, TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_TFTP(NEWTOY(tftp, "<1b#<8>65464r:l:g|p|[!gp]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TFTPD(NEWTOY(tftpd, "rcu:l", TOYFLAG_BIN))
+USE_TIME(NEWTOY(time, "<1^pv", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_TIMEOUT(NEWTOY(timeout, "<2^(foreground)(preserve-status)vk:s(signal):", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_TOP(NEWTOY(top, ">0O*" "Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_TOUCH(NEWTOY(touch, "<1acd:fmr:t:h[!dtr]", TOYFLAG_BIN))
+USE_SH(OLDTOY(toysh, sh, TOYFLAG_BIN))
+USE_TR(NEWTOY(tr, "^>2<1Ccsd[+cC]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRACEROUTE(NEWTOY(traceroute, "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64", TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRACEROUTE(OLDTOY(traceroute6,traceroute, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRUE(NEWTOY(true, NULL, TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TTY(NEWTOY(tty, "s", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TUNCTL(NEWTOY(tunctl, "<1>1t|d|u:T[!td]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TCPSVD(OLDTOY(udpsvd, tcpsvd, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ULIMIT(NEWTOY(ulimit, ">1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UMOUNT(NEWTOY(umount, "cndDflrat*v[!na]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_UNAME(NEWTOY(uname, "oamvrns[+os]", TOYFLAG_BIN))
+USE_UNICODE(NEWTOY(unicode, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UNIX2DOS(NEWTOY(unix2dos, 0, TOYFLAG_BIN))
+USE_UNLINK(NEWTOY(unlink, "<1>1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(unset, "fvn", TOYFLAG_NOFORK))
+USE_UNSHARE(NEWTOY(unshare, "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UPTIME(NEWTOY(uptime, ">0ps", TOYFLAG_USR|TOYFLAG_BIN))
+USE_USERADD(NEWTOY(useradd, "<1>2u#<0G:s:g:h:SDH", TOYFLAG_NEEDROOT|TOYFLAG_UMASK|TOYFLAG_SBIN))
+USE_USERDEL(NEWTOY(userdel, "<1>1r", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USLEEP(NEWTOY(usleep, "<1", TOYFLAG_BIN))
+USE_UUDECODE(NEWTOY(uudecode, ">1o:", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_UUENCODE(NEWTOY(uuencode, "<1>2m", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UUIDGEN(NEWTOY(uuidgen, ">0r(random)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_VCONFIG(NEWTOY(vconfig, "<2>4", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_VI(NEWTOY(vi, ">1s:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_VMSTAT(NEWTOY(vmstat, ">2n", TOYFLAG_BIN))
+USE_W(NEWTOY(w, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_WATCH(NEWTOY(watch, "^<1n%<100=2000tebx", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_WATCHDOG(NEWTOY(watchdog, "<1>1Ft#=4<1T#=60<1", TOYFLAG_NEEDROOT|TOYFLAG_BIN))
+USE_WC(NEWTOY(wc, "mcwl", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_WGET(NEWTOY(wget, "(no-check-certificate)O:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHICH(NEWTOY(which, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHOAMI(OLDTOY(whoami, logname, TOYFLAG_USR|TOYFLAG_BIN))
+USE_XARGS(NEWTOY(xargs, "^E:P#<0=1optrn#<1(max-args)s#0[!0E]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XXD(NEWTOY(xxd, ">1c#l#o#g#<1=2iprs#[!rs]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XZCAT(NEWTOY(xzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_YES(NEWTOY(yes, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ZCAT(NEWTOY(zcat,     "cdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
diff --git a/android/device/generated/tags.h b/android/device/generated/tags.h
new file mode 100644
index 0000000..e1e4d31
--- /dev/null
+++ b/android/device/generated/tags.h
@@ -0,0 +1,140 @@
+#define DD_conv_fsync                                    0
+#define _DD_conv_fsync                                   (1<<0)
+#define DD_conv_noerror                                  1
+#define _DD_conv_noerror                                 (1<<1)
+#define DD_conv_notrunc                                  2
+#define _DD_conv_notrunc                                 (1<<2)
+#define DD_conv_sync                                     3
+#define _DD_conv_sync                                    (1<<3)
+#define DD_iflag_count_bytes                              0
+#define _DD_iflag_count_bytes                             (1<<0)
+#define DD_iflag_skip_bytes                               1
+#define _DD_iflag_skip_bytes                              (1<<1)
+#define DD_oflag_seek_bytes                               0
+#define _DD_oflag_seek_bytes                              (1<<0)
+#define CP_mode                                     0
+#define _CP_mode                                    (1<<0)
+#define CP_ownership                                1
+#define _CP_ownership                               (1<<1)
+#define CP_timestamps                               2
+#define _CP_timestamps                              (1<<2)
+#define CP_context                                  3
+#define _CP_context                                 (1<<3)
+#define CP_xattr                                    4
+#define _CP_xattr                                   (1<<4)
+#define PS_PID                                      0
+#define _PS_PID                                     (1<<0)
+#define PS_PPID                                     1
+#define _PS_PPID                                    (1<<1)
+#define PS_PRI                                      2
+#define _PS_PRI                                     (1<<2)
+#define PS_NI                                       3
+#define _PS_NI                                      (1<<3)
+#define PS_ADDR                                     4
+#define _PS_ADDR                                    (1<<4)
+#define PS_SZ                                       5
+#define _PS_SZ                                      (1<<5)
+#define PS_RSS                                      6
+#define _PS_RSS                                     (1<<6)
+#define PS_PGID                                     7
+#define _PS_PGID                                    (1<<7)
+#define PS_VSZ                                      8
+#define _PS_VSZ                                     (1<<8)
+#define PS_MAJFL                                    9
+#define _PS_MAJFL                                   (1<<9)
+#define PS_MINFL                                    10
+#define _PS_MINFL                                   (1<<10)
+#define PS_PR                                       11
+#define _PS_PR                                      (1<<11)
+#define PS_PSR                                      12
+#define _PS_PSR                                     (1<<12)
+#define PS_RTPRIO                                   13
+#define _PS_RTPRIO                                  (1<<13)
+#define PS_SCH                                      14
+#define _PS_SCH                                     (1<<14)
+#define PS_CPU                                      15
+#define _PS_CPU                                     (1<<15)
+#define PS_TID                                      16
+#define _PS_TID                                     (1<<16)
+#define PS_TCNT                                     17
+#define _PS_TCNT                                    (1<<17)
+#define PS_BIT                                      18
+#define _PS_BIT                                     (1<<18)
+#define PS_TTY                                      19
+#define _PS_TTY                                     (1<<19)
+#define PS_WCHAN                                    20
+#define _PS_WCHAN                                   (1<<20)
+#define PS_LABEL                                    21
+#define _PS_LABEL                                   (1<<21)
+#define PS_COMM                                     22
+#define _PS_COMM                                    (1<<22)
+#define PS_NAME                                     23
+#define _PS_NAME                                    (1<<23)
+#define PS_COMMAND                                  24
+#define _PS_COMMAND                                 (1<<24)
+#define PS_CMDLINE                                  25
+#define _PS_CMDLINE                                 (1<<25)
+#define PS_ARGS                                     26
+#define _PS_ARGS                                    (1<<26)
+#define PS_CMD                                      27
+#define _PS_CMD                                     (1<<27)
+#define PS_UID                                      28
+#define _PS_UID                                     (1<<28)
+#define PS_USER                                     29
+#define _PS_USER                                    (1<<29)
+#define PS_RUID                                     30
+#define _PS_RUID                                    (1<<30)
+#define PS_RUSER                                    31
+#define _PS_RUSER                                   (1<<31)
+#define PS_GID                                      32
+#define _PS_GID                                     (1LL<<32)
+#define PS_GROUP                                    33
+#define _PS_GROUP                                   (1LL<<33)
+#define PS_RGID                                     34
+#define _PS_RGID                                    (1LL<<34)
+#define PS_RGROUP                                   35
+#define _PS_RGROUP                                  (1LL<<35)
+#define PS_TIME                                     36
+#define _PS_TIME                                    (1LL<<36)
+#define PS_ELAPSED                                  37
+#define _PS_ELAPSED                                 (1LL<<37)
+#define PS_TIME_                                    38
+#define _PS_TIME_                                   (1LL<<38)
+#define PS_C                                        39
+#define _PS_C                                       (1LL<<39)
+#define PS__VSZ                                     40
+#define _PS__VSZ                                    (1LL<<40)
+#define PS__MEM                                     41
+#define _PS__MEM                                    (1LL<<41)
+#define PS__CPU                                     42
+#define _PS__CPU                                    (1LL<<42)
+#define PS_VIRT                                     43
+#define _PS_VIRT                                    (1LL<<43)
+#define PS_RES                                      44
+#define _PS_RES                                     (1LL<<44)
+#define PS_SHR                                      45
+#define _PS_SHR                                     (1LL<<45)
+#define PS_READ                                     46
+#define _PS_READ                                    (1LL<<46)
+#define PS_WRITE                                    47
+#define _PS_WRITE                                   (1LL<<47)
+#define PS_IO                                       48
+#define _PS_IO                                      (1LL<<48)
+#define PS_DREAD                                    49
+#define _PS_DREAD                                   (1LL<<49)
+#define PS_DWRITE                                   50
+#define _PS_DWRITE                                  (1LL<<50)
+#define PS_SWAP                                     51
+#define _PS_SWAP                                    (1LL<<51)
+#define PS_DIO                                      52
+#define _PS_DIO                                     (1LL<<52)
+#define PS_STIME                                    53
+#define _PS_STIME                                   (1LL<<53)
+#define PS_F                                        54
+#define _PS_F                                       (1LL<<54)
+#define PS_S                                        55
+#define _PS_S                                       (1LL<<55)
+#define PS_STAT                                     56
+#define _PS_STAT                                    (1LL<<56)
+#define PS_PCY                                      57
+#define _PS_PCY                                     (1LL<<57)
diff --git a/android/linux/generated/config.h b/android/linux/generated/config.h
new file mode 100644
index 0000000..342dda3
--- /dev/null
+++ b/android/linux/generated/config.h
@@ -0,0 +1,664 @@
+#define CFG_TOYBOX_ANDROID_SCHEDPOLICY 0
+#define USE_TOYBOX_ANDROID_SCHEDPOLICY(...)
+#define CFG_TOYBOX_CONTAINER 0
+#define USE_TOYBOX_CONTAINER(...)
+#define CFG_TOYBOX_DEBUG 0
+#define USE_TOYBOX_DEBUG(...)
+#define CFG_TOYBOX_FALLOCATE 0
+#define USE_TOYBOX_FALLOCATE(...)
+#define CFG_TOYBOX_FIFREEZE 0
+#define USE_TOYBOX_FIFREEZE(...)
+#define CFG_TOYBOX_FLOAT 1
+#define USE_TOYBOX_FLOAT(...) __VA_ARGS__
+#define CFG_TOYBOX_FORK 1
+#define USE_TOYBOX_FORK(...) __VA_ARGS__
+#define CFG_TOYBOX_FREE 0
+#define USE_TOYBOX_FREE(...)
+#define CFG_TOYBOX_GETRANDOM 0
+#define USE_TOYBOX_GETRANDOM(...)
+#define CFG_TOYBOX_HELP_DASHDASH 1
+#define USE_TOYBOX_HELP_DASHDASH(...) __VA_ARGS__
+#define CFG_TOYBOX_HELP 1
+#define USE_TOYBOX_HELP(...) __VA_ARGS__
+#define CFG_TOYBOX_I18N 1
+#define USE_TOYBOX_I18N(...) __VA_ARGS__
+#define CFG_TOYBOX_ICONV 1
+#define USE_TOYBOX_ICONV(...) __VA_ARGS__
+#define CFG_TOYBOX_LIBCRYPTO 1
+#define USE_TOYBOX_LIBCRYPTO(...) __VA_ARGS__
+#define CFG_TOYBOX_LIBZ 1
+#define USE_TOYBOX_LIBZ(...) __VA_ARGS__
+#define CFG_TOYBOX_LSM_NONE 1
+#define USE_TOYBOX_LSM_NONE(...) __VA_ARGS__
+#define CFG_TOYBOX_MUSL_NOMMU_IS_BROKEN 0
+#define USE_TOYBOX_MUSL_NOMMU_IS_BROKEN(...)
+#define CFG_TOYBOX_NORECURSE 0
+#define USE_TOYBOX_NORECURSE(...)
+#define CFG_TOYBOX_ON_ANDROID 0
+#define USE_TOYBOX_ON_ANDROID(...)
+#define CFG_TOYBOX_PEDANTIC_ARGS 0
+#define USE_TOYBOX_PEDANTIC_ARGS(...)
+#define CFG_TOYBOX_PRLIMIT 0
+#define USE_TOYBOX_PRLIMIT(...)
+#define CFG_TOYBOX_SELINUX 0
+#define USE_TOYBOX_SELINUX(...)
+#define CFG_TOYBOX_SHADOW 0
+#define USE_TOYBOX_SHADOW(...)
+#define CFG_TOYBOX_SMACK 0
+#define USE_TOYBOX_SMACK(...)
+#define CFG_TOYBOX_SUID 1
+#define USE_TOYBOX_SUID(...) __VA_ARGS__
+#define CFG_TOYBOX_UID_SYS 100
+#define CFG_TOYBOX_UID_USR 500
+#define CFG_TOYBOX_UTMPX 0
+#define USE_TOYBOX_UTMPX(...)
+#define CFG_TOYBOX 1
+#define USE_TOYBOX(...) __VA_ARGS__
+#define CFG_ACPI 0
+#define USE_ACPI(...)
+#define CFG_ARCH 0
+#define USE_ARCH(...)
+#define CFG_ARPING 0
+#define USE_ARPING(...)
+#define CFG_ARP 0
+#define USE_ARP(...)
+#define CFG_ASCII 0
+#define USE_ASCII(...)
+#define CFG_BASE32 0
+#define USE_BASE32(...)
+#define CFG_BASE64 0
+#define USE_BASE64(...)
+#define CFG_BASENAME 1
+#define USE_BASENAME(...) __VA_ARGS__
+#define CFG_BC 0
+#define USE_BC(...)
+#define CFG_BLKDISCARD 0
+#define USE_BLKDISCARD(...)
+#define CFG_BLKID 0
+#define USE_BLKID(...)
+#define CFG_BLOCKDEV 0
+#define USE_BLOCKDEV(...)
+#define CFG_BOOTCHARTD 0
+#define USE_BOOTCHARTD(...)
+#define CFG_BRCTL 0
+#define USE_BRCTL(...)
+#define CFG_BUNZIP2 0
+#define USE_BUNZIP2(...)
+#define CFG_BZCAT 0
+#define USE_BZCAT(...)
+#define CFG_CAL 0
+#define USE_CAL(...)
+#define CFG_CATV 0
+#define USE_CATV(...)
+#define CFG_CAT_V 1
+#define USE_CAT_V(...) __VA_ARGS__
+#define CFG_CAT 1
+#define USE_CAT(...) __VA_ARGS__
+#define CFG_CD 0
+#define USE_CD(...)
+#define CFG_CHATTR 0
+#define USE_CHATTR(...)
+#define CFG_CHCON 0
+#define USE_CHCON(...)
+#define CFG_CHGRP 0
+#define USE_CHGRP(...)
+#define CFG_CHMOD 1
+#define USE_CHMOD(...) __VA_ARGS__
+#define CFG_CHOWN 0
+#define USE_CHOWN(...)
+#define CFG_CHROOT 0
+#define USE_CHROOT(...)
+#define CFG_CHRT 0
+#define USE_CHRT(...)
+#define CFG_CHVT 0
+#define USE_CHVT(...)
+#define CFG_CKSUM 0
+#define USE_CKSUM(...)
+#define CFG_CLEAR 0
+#define USE_CLEAR(...)
+#define CFG_CMP 1
+#define USE_CMP(...) __VA_ARGS__
+#define CFG_COMM 1
+#define USE_COMM(...) __VA_ARGS__
+#define CFG_COUNT 0
+#define USE_COUNT(...)
+#define CFG_CPIO 1
+#define USE_CPIO(...) __VA_ARGS__
+#define CFG_CP_PRESERVE 1
+#define USE_CP_PRESERVE(...) __VA_ARGS__
+#define CFG_CP 1
+#define USE_CP(...) __VA_ARGS__
+#define CFG_CRC32 0
+#define USE_CRC32(...)
+#define CFG_CROND 0
+#define USE_CROND(...)
+#define CFG_CRONTAB 0
+#define USE_CRONTAB(...)
+#define CFG_CUT 1
+#define USE_CUT(...) __VA_ARGS__
+#define CFG_DATE 1
+#define USE_DATE(...) __VA_ARGS__
+#define CFG_DD 1
+#define USE_DD(...) __VA_ARGS__
+#define CFG_DEALLOCVT 0
+#define USE_DEALLOCVT(...)
+#define CFG_DEBUG_DHCP 0
+#define USE_DEBUG_DHCP(...)
+#define CFG_DEMO_MANY_OPTIONS 0
+#define USE_DEMO_MANY_OPTIONS(...)
+#define CFG_DEMO_NUMBER 0
+#define USE_DEMO_NUMBER(...)
+#define CFG_DEMO_SCANKEY 0
+#define USE_DEMO_SCANKEY(...)
+#define CFG_DEMO_UTF8TOWC 0
+#define USE_DEMO_UTF8TOWC(...)
+#define CFG_DEVMEM 0
+#define USE_DEVMEM(...)
+#define CFG_DF 0
+#define USE_DF(...)
+#define CFG_DHCP6 0
+#define USE_DHCP6(...)
+#define CFG_DHCPD 0
+#define USE_DHCPD(...)
+#define CFG_DHCP 0
+#define USE_DHCP(...)
+#define CFG_DIFF 1
+#define USE_DIFF(...) __VA_ARGS__
+#define CFG_DIRNAME 1
+#define USE_DIRNAME(...) __VA_ARGS__
+#define CFG_DMESG 0
+#define USE_DMESG(...)
+#define CFG_DNSDOMAINNAME 0
+#define USE_DNSDOMAINNAME(...)
+#define CFG_DOS2UNIX 1
+#define USE_DOS2UNIX(...) __VA_ARGS__
+#define CFG_DUMPLEASES 0
+#define USE_DUMPLEASES(...)
+#define CFG_DU 1
+#define USE_DU(...) __VA_ARGS__
+#define CFG_ECHO 1
+#define USE_ECHO(...) __VA_ARGS__
+#define CFG_EGREP 1
+#define USE_EGREP(...) __VA_ARGS__
+#define CFG_EJECT 0
+#define USE_EJECT(...)
+#define CFG_ENV 1
+#define USE_ENV(...) __VA_ARGS__
+#define CFG_EXIT 0
+#define USE_EXIT(...)
+#define CFG_EXPAND 0
+#define USE_EXPAND(...)
+#define CFG_EXPR 1
+#define USE_EXPR(...) __VA_ARGS__
+#define CFG_FACTOR 0
+#define USE_FACTOR(...)
+#define CFG_FALLOCATE 0
+#define USE_FALLOCATE(...)
+#define CFG_FALSE 0
+#define USE_FALSE(...)
+#define CFG_FDISK 0
+#define USE_FDISK(...)
+#define CFG_FGREP 1
+#define USE_FGREP(...) __VA_ARGS__
+#define CFG_FILE 0
+#define USE_FILE(...)
+#define CFG_FIND 1
+#define USE_FIND(...) __VA_ARGS__
+#define CFG_FLOCK 0
+#define USE_FLOCK(...)
+#define CFG_FMT 0
+#define USE_FMT(...)
+#define CFG_FOLD 0
+#define USE_FOLD(...)
+#define CFG_FREE 0
+#define USE_FREE(...)
+#define CFG_FREERAMDISK 0
+#define USE_FREERAMDISK(...)
+#define CFG_FSCK 0
+#define USE_FSCK(...)
+#define CFG_FSFREEZE 0
+#define USE_FSFREEZE(...)
+#define CFG_FSTYPE 0
+#define USE_FSTYPE(...)
+#define CFG_FSYNC 0
+#define USE_FSYNC(...)
+#define CFG_FTPGET 0
+#define USE_FTPGET(...)
+#define CFG_FTPPUT 0
+#define USE_FTPPUT(...)
+#define CFG_GETCONF 1
+#define USE_GETCONF(...) __VA_ARGS__
+#define CFG_GETENFORCE 0
+#define USE_GETENFORCE(...)
+#define CFG_GETFATTR 0
+#define USE_GETFATTR(...)
+#define CFG_GETOPT 1
+#define USE_GETOPT(...) __VA_ARGS__
+#define CFG_GETTY 0
+#define USE_GETTY(...)
+#define CFG_GREP 1
+#define USE_GREP(...) __VA_ARGS__
+#define CFG_GROUPADD 0
+#define USE_GROUPADD(...)
+#define CFG_GROUPDEL 0
+#define USE_GROUPDEL(...)
+#define CFG_GROUPS 0
+#define USE_GROUPS(...)
+#define CFG_GUNZIP 0
+#define USE_GUNZIP(...)
+#define CFG_GZIP 1
+#define USE_GZIP(...) __VA_ARGS__
+#define CFG_HEAD 1
+#define USE_HEAD(...) __VA_ARGS__
+#define CFG_HELLO 0
+#define USE_HELLO(...)
+#define CFG_HELP_EXTRAS 0
+#define USE_HELP_EXTRAS(...)
+#define CFG_HELP 0
+#define USE_HELP(...)
+#define CFG_HEXEDIT 0
+#define USE_HEXEDIT(...)
+#define CFG_HOSTID 0
+#define USE_HOSTID(...)
+#define CFG_HOST 0
+#define USE_HOST(...)
+#define CFG_HOSTNAME 1
+#define USE_HOSTNAME(...) __VA_ARGS__
+#define CFG_HWCLOCK 0
+#define USE_HWCLOCK(...)
+#define CFG_I2CDETECT 0
+#define USE_I2CDETECT(...)
+#define CFG_I2CDUMP 0
+#define USE_I2CDUMP(...)
+#define CFG_I2CGET 0
+#define USE_I2CGET(...)
+#define CFG_I2CSET 0
+#define USE_I2CSET(...)
+#define CFG_ICONV 0
+#define USE_ICONV(...)
+#define CFG_ID 1
+#define USE_ID(...) __VA_ARGS__
+#define CFG_ID_Z 0
+#define USE_ID_Z(...)
+#define CFG_IFCONFIG 0
+#define USE_IFCONFIG(...)
+#define CFG_INIT 0
+#define USE_INIT(...)
+#define CFG_INOTIFYD 0
+#define USE_INOTIFYD(...)
+#define CFG_INSMOD 0
+#define USE_INSMOD(...)
+#define CFG_INSTALL 0
+#define USE_INSTALL(...)
+#define CFG_IONICE 0
+#define USE_IONICE(...)
+#define CFG_IORENICE 0
+#define USE_IORENICE(...)
+#define CFG_IOTOP 0
+#define USE_IOTOP(...)
+#define CFG_IPCRM 0
+#define USE_IPCRM(...)
+#define CFG_IPCS 0
+#define USE_IPCS(...)
+#define CFG_IP 0
+#define USE_IP(...)
+#define CFG_KILLALL5 0
+#define USE_KILLALL5(...)
+#define CFG_KILLALL 0
+#define USE_KILLALL(...)
+#define CFG_KILL 0
+#define USE_KILL(...)
+#define CFG_KLOGD 0
+#define USE_KLOGD(...)
+#define CFG_KLOGD_SOURCE_RING_BUFFER 0
+#define USE_KLOGD_SOURCE_RING_BUFFER(...)
+#define CFG_LAST 0
+#define USE_LAST(...)
+#define CFG_LINK 0
+#define USE_LINK(...)
+#define CFG_LN 1
+#define USE_LN(...) __VA_ARGS__
+#define CFG_LOAD_POLICY 0
+#define USE_LOAD_POLICY(...)
+#define CFG_LOGGER 0
+#define USE_LOGGER(...)
+#define CFG_LOGIN 0
+#define USE_LOGIN(...)
+#define CFG_LOG 0
+#define USE_LOG(...)
+#define CFG_LOGNAME 0
+#define USE_LOGNAME(...)
+#define CFG_LOGWRAPPER 0
+#define USE_LOGWRAPPER(...)
+#define CFG_LOSETUP 0
+#define USE_LOSETUP(...)
+#define CFG_LSATTR 0
+#define USE_LSATTR(...)
+#define CFG_LSMOD 0
+#define USE_LSMOD(...)
+#define CFG_LSOF 0
+#define USE_LSOF(...)
+#define CFG_LSPCI 0
+#define USE_LSPCI(...)
+#define CFG_LSPCI_TEXT 0
+#define USE_LSPCI_TEXT(...)
+#define CFG_LSUSB 0
+#define USE_LSUSB(...)
+#define CFG_LS 1
+#define USE_LS(...) __VA_ARGS__
+#define CFG_MAKEDEVS 0
+#define USE_MAKEDEVS(...)
+#define CFG_MAN 0
+#define USE_MAN(...)
+#define CFG_MCOOKIE 0
+#define USE_MCOOKIE(...)
+#define CFG_MD5SUM 1
+#define USE_MD5SUM(...) __VA_ARGS__
+#define CFG_MDEV_CONF 0
+#define USE_MDEV_CONF(...)
+#define CFG_MDEV 0
+#define USE_MDEV(...)
+#define CFG_MICROCOM 1
+#define USE_MICROCOM(...) __VA_ARGS__
+#define CFG_MIX 0
+#define USE_MIX(...)
+#define CFG_MKDIR 1
+#define USE_MKDIR(...) __VA_ARGS__
+#define CFG_MKDIR_Z 0
+#define USE_MKDIR_Z(...)
+#define CFG_MKE2FS_EXTENDED 0
+#define USE_MKE2FS_EXTENDED(...)
+#define CFG_MKE2FS_GEN 0
+#define USE_MKE2FS_GEN(...)
+#define CFG_MKE2FS 0
+#define USE_MKE2FS(...)
+#define CFG_MKE2FS_JOURNAL 0
+#define USE_MKE2FS_JOURNAL(...)
+#define CFG_MKE2FS_LABEL 0
+#define USE_MKE2FS_LABEL(...)
+#define CFG_MKFIFO 0
+#define USE_MKFIFO(...)
+#define CFG_MKFIFO_Z 0
+#define USE_MKFIFO_Z(...)
+#define CFG_MKNOD 0
+#define USE_MKNOD(...)
+#define CFG_MKNOD_Z 0
+#define USE_MKNOD_Z(...)
+#define CFG_MKPASSWD 0
+#define USE_MKPASSWD(...)
+#define CFG_MKSWAP 0
+#define USE_MKSWAP(...)
+#define CFG_MKTEMP 1
+#define USE_MKTEMP(...) __VA_ARGS__
+#define CFG_MODINFO 0
+#define USE_MODINFO(...)
+#define CFG_MODPROBE 0
+#define USE_MODPROBE(...)
+#define CFG_MORE 0
+#define USE_MORE(...)
+#define CFG_MOUNT 0
+#define USE_MOUNT(...)
+#define CFG_MOUNTPOINT 0
+#define USE_MOUNTPOINT(...)
+#define CFG_MV 1
+#define USE_MV(...) __VA_ARGS__
+#define CFG_NBD_CLIENT 0
+#define USE_NBD_CLIENT(...)
+#define CFG_NETCAT 0
+#define USE_NETCAT(...)
+#define CFG_NETCAT_LISTEN 0
+#define USE_NETCAT_LISTEN(...)
+#define CFG_NETSTAT 0
+#define USE_NETSTAT(...)
+#define CFG_NICE 0
+#define USE_NICE(...)
+#define CFG_NL 1
+#define USE_NL(...) __VA_ARGS__
+#define CFG_NOHUP 0
+#define USE_NOHUP(...)
+#define CFG_NPROC 1
+#define USE_NPROC(...) __VA_ARGS__
+#define CFG_NSENTER 0
+#define USE_NSENTER(...)
+#define CFG_OD 1
+#define USE_OD(...) __VA_ARGS__
+#define CFG_ONEIT 0
+#define USE_ONEIT(...)
+#define CFG_OPENVT 0
+#define USE_OPENVT(...)
+#define CFG_PARTPROBE 0
+#define USE_PARTPROBE(...)
+#define CFG_PASSWD 0
+#define USE_PASSWD(...)
+#define CFG_PASSWD_SAD 0
+#define USE_PASSWD_SAD(...)
+#define CFG_PASTE 1
+#define USE_PASTE(...) __VA_ARGS__
+#define CFG_PATCH 1
+#define USE_PATCH(...) __VA_ARGS__
+#define CFG_PGREP 1
+#define USE_PGREP(...) __VA_ARGS__
+#define CFG_PIDOF 0
+#define USE_PIDOF(...)
+#define CFG_PING 0
+#define USE_PING(...)
+#define CFG_PIVOT_ROOT 0
+#define USE_PIVOT_ROOT(...)
+#define CFG_PKILL 1
+#define USE_PKILL(...) __VA_ARGS__
+#define CFG_PMAP 0
+#define USE_PMAP(...)
+#define CFG_PRINTENV 0
+#define USE_PRINTENV(...)
+#define CFG_PRINTF 1
+#define USE_PRINTF(...) __VA_ARGS__
+#define CFG_PS 1
+#define USE_PS(...) __VA_ARGS__
+#define CFG_PWDX 0
+#define USE_PWDX(...)
+#define CFG_PWD 1
+#define USE_PWD(...) __VA_ARGS__
+#define CFG_PWGEN 0
+#define USE_PWGEN(...)
+#define CFG_READAHEAD 0
+#define USE_READAHEAD(...)
+#define CFG_READELF 0
+#define USE_READELF(...)
+#define CFG_READLINK 1
+#define USE_READLINK(...) __VA_ARGS__
+#define CFG_REALPATH 1
+#define USE_REALPATH(...) __VA_ARGS__
+#define CFG_REBOOT 0
+#define USE_REBOOT(...)
+#define CFG_RENICE 0
+#define USE_RENICE(...)
+#define CFG_RESET 0
+#define USE_RESET(...)
+#define CFG_RESTORECON 0
+#define USE_RESTORECON(...)
+#define CFG_REV 0
+#define USE_REV(...)
+#define CFG_RFKILL 0
+#define USE_RFKILL(...)
+#define CFG_RMDIR 1
+#define USE_RMDIR(...) __VA_ARGS__
+#define CFG_RMMOD 0
+#define USE_RMMOD(...)
+#define CFG_RM 1
+#define USE_RM(...) __VA_ARGS__
+#define CFG_ROUTE 0
+#define USE_ROUTE(...)
+#define CFG_RTCWAKE 0
+#define USE_RTCWAKE(...)
+#define CFG_RUNCON 0
+#define USE_RUNCON(...)
+#define CFG_SED 1
+#define USE_SED(...) __VA_ARGS__
+#define CFG_SENDEVENT 0
+#define USE_SENDEVENT(...)
+#define CFG_SEQ 1
+#define USE_SEQ(...) __VA_ARGS__
+#define CFG_SETENFORCE 0
+#define USE_SETENFORCE(...)
+#define CFG_SETFATTR 0
+#define USE_SETFATTR(...)
+#define CFG_SETSID 1
+#define USE_SETSID(...) __VA_ARGS__
+#define CFG_SHA1SUM 1
+#define USE_SHA1SUM(...) __VA_ARGS__
+#define CFG_SHA224SUM 0
+#define USE_SHA224SUM(...)
+#define CFG_SHA256SUM 1
+#define USE_SHA256SUM(...) __VA_ARGS__
+#define CFG_SHA3SUM 0
+#define USE_SHA3SUM(...)
+#define CFG_SHA384SUM 0
+#define USE_SHA384SUM(...)
+#define CFG_SHA512SUM 1
+#define USE_SHA512SUM(...) __VA_ARGS__
+#define CFG_SH 0
+#define USE_SH(...)
+#define CFG_SHRED 0
+#define USE_SHRED(...)
+#define CFG_SKELETON_ALIAS 0
+#define USE_SKELETON_ALIAS(...)
+#define CFG_SKELETON 0
+#define USE_SKELETON(...)
+#define CFG_SLEEP 1
+#define USE_SLEEP(...) __VA_ARGS__
+#define CFG_SNTP 0
+#define USE_SNTP(...)
+#define CFG_SORT_FLOAT 1
+#define USE_SORT_FLOAT(...) __VA_ARGS__
+#define CFG_SORT 1
+#define USE_SORT(...) __VA_ARGS__
+#define CFG_SPLIT 0
+#define USE_SPLIT(...)
+#define CFG_STAT 1
+#define USE_STAT(...) __VA_ARGS__
+#define CFG_STRINGS 0
+#define USE_STRINGS(...)
+#define CFG_STTY 0
+#define USE_STTY(...)
+#define CFG_SU 0
+#define USE_SU(...)
+#define CFG_SULOGIN 0
+#define USE_SULOGIN(...)
+#define CFG_SWAPOFF 0
+#define USE_SWAPOFF(...)
+#define CFG_SWAPON 0
+#define USE_SWAPON(...)
+#define CFG_SWITCH_ROOT 0
+#define USE_SWITCH_ROOT(...)
+#define CFG_SYNC 0
+#define USE_SYNC(...)
+#define CFG_SYSCTL 0
+#define USE_SYSCTL(...)
+#define CFG_SYSLOGD 0
+#define USE_SYSLOGD(...)
+#define CFG_TAC 0
+#define USE_TAC(...)
+#define CFG_TAIL 1
+#define USE_TAIL(...) __VA_ARGS__
+#define CFG_TAR 1
+#define USE_TAR(...) __VA_ARGS__
+#define CFG_TASKSET 0
+#define USE_TASKSET(...)
+#define CFG_TCPSVD 0
+#define USE_TCPSVD(...)
+#define CFG_TEE 1
+#define USE_TEE(...) __VA_ARGS__
+#define CFG_TELNETD 0
+#define USE_TELNETD(...)
+#define CFG_TELNET 0
+#define USE_TELNET(...)
+#define CFG_TEST 1
+#define USE_TEST(...) __VA_ARGS__
+#define CFG_TFTPD 0
+#define USE_TFTPD(...)
+#define CFG_TFTP 0
+#define USE_TFTP(...)
+#define CFG_TIME 0
+#define USE_TIME(...)
+#define CFG_TIMEOUT 1
+#define USE_TIMEOUT(...) __VA_ARGS__
+#define CFG_TOP 0
+#define USE_TOP(...)
+#define CFG_TOUCH 1
+#define USE_TOUCH(...) __VA_ARGS__
+#define CFG_TRACEROUTE 0
+#define USE_TRACEROUTE(...)
+#define CFG_TRUE 1
+#define USE_TRUE(...) __VA_ARGS__
+#define CFG_TRUNCATE 1
+#define USE_TRUNCATE(...) __VA_ARGS__
+#define CFG_TR 1
+#define USE_TR(...) __VA_ARGS__
+#define CFG_TTY 0
+#define USE_TTY(...)
+#define CFG_TUNCTL 0
+#define USE_TUNCTL(...)
+#define CFG_ULIMIT 0
+#define USE_ULIMIT(...)
+#define CFG_UMOUNT 0
+#define USE_UMOUNT(...)
+#define CFG_UNAME 1
+#define USE_UNAME(...) __VA_ARGS__
+#define CFG_UNICODE 0
+#define USE_UNICODE(...)
+#define CFG_UNIQ 1
+#define USE_UNIQ(...) __VA_ARGS__
+#define CFG_UNIX2DOS 1
+#define USE_UNIX2DOS(...) __VA_ARGS__
+#define CFG_UNLINK 0
+#define USE_UNLINK(...)
+#define CFG_UNSHARE 0
+#define USE_UNSHARE(...)
+#define CFG_UPTIME 0
+#define USE_UPTIME(...)
+#define CFG_USERADD 0
+#define USE_USERADD(...)
+#define CFG_USERDEL 0
+#define USE_USERDEL(...)
+#define CFG_USLEEP 0
+#define USE_USLEEP(...)
+#define CFG_UUDECODE 0
+#define USE_UUDECODE(...)
+#define CFG_UUENCODE 0
+#define USE_UUENCODE(...)
+#define CFG_UUIDGEN 0
+#define USE_UUIDGEN(...)
+#define CFG_VCONFIG 0
+#define USE_VCONFIG(...)
+#define CFG_VI 0
+#define USE_VI(...)
+#define CFG_VMSTAT 0
+#define USE_VMSTAT(...)
+#define CFG_WATCH 0
+#define USE_WATCH(...)
+#define CFG_WATCHDOG 0
+#define USE_WATCHDOG(...)
+#define CFG_WC 1
+#define USE_WC(...) __VA_ARGS__
+#define CFG_WGET 0
+#define USE_WGET(...)
+#define CFG_WHICH 1
+#define USE_WHICH(...) __VA_ARGS__
+#define CFG_WHOAMI 1
+#define USE_WHOAMI(...) __VA_ARGS__
+#define CFG_WHO 0
+#define USE_WHO(...)
+#define CFG_W 0
+#define USE_W(...)
+#define CFG_XARGS_PEDANTIC 0
+#define USE_XARGS_PEDANTIC(...)
+#define CFG_XARGS 1
+#define USE_XARGS(...) __VA_ARGS__
+#define CFG_XXD 1
+#define USE_XXD(...) __VA_ARGS__
+#define CFG_XZCAT 0
+#define USE_XZCAT(...)
+#define CFG_YES 0
+#define USE_YES(...)
+#define CFG_ZCAT 1
+#define USE_ZCAT(...) __VA_ARGS__
diff --git a/android/linux/generated/flags.h b/android/linux/generated/flags.h
new file mode 100644
index 0000000..e6bbb33
--- /dev/null
+++ b/android/linux/generated/flags.h
@@ -0,0 +1,6606 @@
+#undef FORCED_FLAG
+#undef FORCED_FLAGLL
+#ifdef FORCE_FLAGS
+#define FORCED_FLAG 1
+#define FORCED_FLAGLL 1ULL
+#else
+#define FORCED_FLAG 0
+#define FORCED_FLAGLL 0
+#endif
+
+// acpi   abctV
+#undef OPTSTR_acpi
+#define OPTSTR_acpi "abctV"
+#ifdef CLEANUP_acpi
+#undef CLEANUP_acpi
+#undef FOR_acpi
+#undef FLAG_V
+#undef FLAG_t
+#undef FLAG_c
+#undef FLAG_b
+#undef FLAG_a
+#endif
+
+// arch    
+#undef OPTSTR_arch
+#define OPTSTR_arch 0
+#ifdef CLEANUP_arch
+#undef CLEANUP_arch
+#undef FOR_arch
+#endif
+
+// arp   vi:nDsdap:A:H:[+Ap][!sd]
+#undef OPTSTR_arp
+#define OPTSTR_arp "vi:nDsdap:A:H:[+Ap][!sd]"
+#ifdef CLEANUP_arp
+#undef CLEANUP_arp
+#undef FOR_arp
+#undef FLAG_H
+#undef FLAG_A
+#undef FLAG_p
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_D
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_v
+#endif
+
+// arping   <1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]
+#undef OPTSTR_arping
+#define OPTSTR_arping "<1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]"
+#ifdef CLEANUP_arping
+#undef CLEANUP_arping
+#undef FOR_arping
+#undef FLAG_f
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_D
+#undef FLAG_U
+#undef FLAG_A
+#undef FLAG_c
+#undef FLAG_w
+#undef FLAG_I
+#undef FLAG_s
+#endif
+
+// ascii    
+#undef OPTSTR_ascii
+#define OPTSTR_ascii 0
+#ifdef CLEANUP_ascii
+#undef CLEANUP_ascii
+#undef FOR_ascii
+#endif
+
+// base32   diw#<0=76[!dw]
+#undef OPTSTR_base32
+#define OPTSTR_base32 "diw#<0=76[!dw]"
+#ifdef CLEANUP_base32
+#undef CLEANUP_base32
+#undef FOR_base32
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_d
+#endif
+
+// base64   diw#<0=76[!dw]
+#undef OPTSTR_base64
+#define OPTSTR_base64 "diw#<0=76[!dw]"
+#ifdef CLEANUP_base64
+#undef CLEANUP_base64
+#undef FOR_base64
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_d
+#endif
+
+// basename ^<1as: ^<1as:
+#undef OPTSTR_basename
+#define OPTSTR_basename "^<1as:"
+#ifdef CLEANUP_basename
+#undef CLEANUP_basename
+#undef FOR_basename
+#undef FLAG_s
+#undef FLAG_a
+#endif
+
+// bc   i(interactive)l(mathlib)q(quiet)s(standard)w(warn)
+#undef OPTSTR_bc
+#define OPTSTR_bc "i(interactive)l(mathlib)q(quiet)s(standard)w(warn)"
+#ifdef CLEANUP_bc
+#undef CLEANUP_bc
+#undef FOR_bc
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_i
+#endif
+
+// blkdiscard   <1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]
+#undef OPTSTR_blkdiscard
+#define OPTSTR_blkdiscard "<1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]"
+#ifdef CLEANUP_blkdiscard
+#undef CLEANUP_blkdiscard
+#undef FOR_blkdiscard
+#undef FLAG_z
+#undef FLAG_s
+#undef FLAG_o
+#undef FLAG_l
+#undef FLAG_f
+#endif
+
+// blkid   ULs*[!LU]
+#undef OPTSTR_blkid
+#define OPTSTR_blkid "ULs*[!LU]"
+#ifdef CLEANUP_blkid
+#undef CLEANUP_blkid
+#undef FOR_blkid
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_U
+#endif
+
+// blockdev   <1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)
+#undef OPTSTR_blockdev
+#define OPTSTR_blockdev "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)"
+#ifdef CLEANUP_blockdev
+#undef CLEANUP_blockdev
+#undef FOR_blockdev
+#undef FLAG_rereadpt
+#undef FLAG_flushbufs
+#undef FLAG_setra
+#undef FLAG_getra
+#undef FLAG_getsize64
+#undef FLAG_getsize
+#undef FLAG_getsz
+#undef FLAG_setbsz
+#undef FLAG_getbsz
+#undef FLAG_getss
+#undef FLAG_getro
+#undef FLAG_setrw
+#undef FLAG_setro
+#endif
+
+// bootchartd    
+#undef OPTSTR_bootchartd
+#define OPTSTR_bootchartd 0
+#ifdef CLEANUP_bootchartd
+#undef CLEANUP_bootchartd
+#undef FOR_bootchartd
+#endif
+
+// brctl   <1
+#undef OPTSTR_brctl
+#define OPTSTR_brctl "<1"
+#ifdef CLEANUP_brctl
+#undef CLEANUP_brctl
+#undef FOR_brctl
+#endif
+
+// bunzip2   cftkv
+#undef OPTSTR_bunzip2
+#define OPTSTR_bunzip2 "cftkv"
+#ifdef CLEANUP_bunzip2
+#undef CLEANUP_bunzip2
+#undef FOR_bunzip2
+#undef FLAG_v
+#undef FLAG_k
+#undef FLAG_t
+#undef FLAG_f
+#undef FLAG_c
+#endif
+
+// bzcat    
+#undef OPTSTR_bzcat
+#define OPTSTR_bzcat 0
+#ifdef CLEANUP_bzcat
+#undef CLEANUP_bzcat
+#undef FOR_bzcat
+#endif
+
+// cal   >2h
+#undef OPTSTR_cal
+#define OPTSTR_cal ">2h"
+#ifdef CLEANUP_cal
+#undef CLEANUP_cal
+#undef FOR_cal
+#undef FLAG_h
+#endif
+
+// cat uvte uvte
+#undef OPTSTR_cat
+#define OPTSTR_cat "uvte"
+#ifdef CLEANUP_cat
+#undef CLEANUP_cat
+#undef FOR_cat
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_v
+#undef FLAG_u
+#endif
+
+// catv   vte
+#undef OPTSTR_catv
+#define OPTSTR_catv "vte"
+#ifdef CLEANUP_catv
+#undef CLEANUP_catv
+#undef FOR_catv
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_v
+#endif
+
+// cd   >1LP[-LP]
+#undef OPTSTR_cd
+#define OPTSTR_cd ">1LP[-LP]"
+#ifdef CLEANUP_cd
+#undef CLEANUP_cd
+#undef FOR_cd
+#undef FLAG_P
+#undef FLAG_L
+#endif
+
+// chattr   ?p#v#R
+#undef OPTSTR_chattr
+#define OPTSTR_chattr "?p#v#R"
+#ifdef CLEANUP_chattr
+#undef CLEANUP_chattr
+#undef FOR_chattr
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_p
+#endif
+
+// chcon   <2hvR
+#undef OPTSTR_chcon
+#define OPTSTR_chcon "<2hvR"
+#ifdef CLEANUP_chcon
+#undef CLEANUP_chcon
+#undef FOR_chcon
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_h
+#endif
+
+// chgrp   <2h(no-dereference)PLHRfv[-HLP]
+#undef OPTSTR_chgrp
+#define OPTSTR_chgrp "<2h(no-dereference)PLHRfv[-HLP]"
+#ifdef CLEANUP_chgrp
+#undef CLEANUP_chgrp
+#undef FOR_chgrp
+#undef FLAG_v
+#undef FLAG_f
+#undef FLAG_R
+#undef FLAG_H
+#undef FLAG_L
+#undef FLAG_P
+#undef FLAG_h
+#endif
+
+// chmod <2?vfR[-vf] <2?vfR[-vf]
+#undef OPTSTR_chmod
+#define OPTSTR_chmod "<2?vfR[-vf]"
+#ifdef CLEANUP_chmod
+#undef CLEANUP_chmod
+#undef FOR_chmod
+#undef FLAG_R
+#undef FLAG_f
+#undef FLAG_v
+#endif
+
+// chroot   ^<1
+#undef OPTSTR_chroot
+#define OPTSTR_chroot "^<1"
+#ifdef CLEANUP_chroot
+#undef CLEANUP_chroot
+#undef FOR_chroot
+#endif
+
+// chrt   ^mp#<0iRbrfo[!ibrfo]
+#undef OPTSTR_chrt
+#define OPTSTR_chrt "^mp#<0iRbrfo[!ibrfo]"
+#ifdef CLEANUP_chrt
+#undef CLEANUP_chrt
+#undef FOR_chrt
+#undef FLAG_o
+#undef FLAG_f
+#undef FLAG_r
+#undef FLAG_b
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_m
+#endif
+
+// chvt   <1
+#undef OPTSTR_chvt
+#define OPTSTR_chvt "<1"
+#ifdef CLEANUP_chvt
+#undef CLEANUP_chvt
+#undef FOR_chvt
+#endif
+
+// cksum   HIPLN
+#undef OPTSTR_cksum
+#define OPTSTR_cksum "HIPLN"
+#ifdef CLEANUP_cksum
+#undef CLEANUP_cksum
+#undef FOR_cksum
+#undef FLAG_N
+#undef FLAG_L
+#undef FLAG_P
+#undef FLAG_I
+#undef FLAG_H
+#endif
+
+// clear    
+#undef OPTSTR_clear
+#define OPTSTR_clear 0
+#ifdef CLEANUP_clear
+#undef CLEANUP_clear
+#undef FOR_clear
+#endif
+
+// cmp <1>2ls(silent)(quiet)[!ls] <1>2ls(silent)(quiet)[!ls]
+#undef OPTSTR_cmp
+#define OPTSTR_cmp "<1>2ls(silent)(quiet)[!ls]"
+#ifdef CLEANUP_cmp
+#undef CLEANUP_cmp
+#undef FOR_cmp
+#undef FLAG_s
+#undef FLAG_l
+#endif
+
+// comm <2>2321 <2>2321
+#undef OPTSTR_comm
+#define OPTSTR_comm "<2>2321"
+#ifdef CLEANUP_comm
+#undef CLEANUP_comm
+#undef FOR_comm
+#undef FLAG_1
+#undef FLAG_2
+#undef FLAG_3
+#endif
+
+// count    
+#undef OPTSTR_count
+#define OPTSTR_count 0
+#ifdef CLEANUP_count
+#undef CLEANUP_count
+#undef FOR_count
+#endif
+
+// cp <2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni] <2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]
+#undef OPTSTR_cp
+#define OPTSTR_cp "<2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]"
+#ifdef CLEANUP_cp
+#undef CLEANUP_cp
+#undef FOR_cp
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_F
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_l
+#undef FLAG_s
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_r
+#undef FLAG_p
+#undef FLAG_P
+#undef FLAG_L
+#undef FLAG_H
+#undef FLAG_R
+#undef FLAG_D
+#undef FLAG_preserve
+#endif
+
+// cpio (quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF] (quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]
+#undef OPTSTR_cpio
+#define OPTSTR_cpio "(quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
+#ifdef CLEANUP_cpio
+#undef CLEANUP_cpio
+#undef FOR_cpio
+#undef FLAG_o
+#undef FLAG_v
+#undef FLAG_F
+#undef FLAG_t
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_H
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_m
+#undef FLAG_no_preserve_owner
+#undef FLAG_quiet
+#endif
+
+// crc32    
+#undef OPTSTR_crc32
+#define OPTSTR_crc32 0
+#ifdef CLEANUP_crc32
+#undef CLEANUP_crc32
+#undef FOR_crc32
+#endif
+
+// crond   fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]
+#undef OPTSTR_crond
+#define OPTSTR_crond "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]"
+#ifdef CLEANUP_crond
+#undef CLEANUP_crond
+#undef FOR_crond
+#undef FLAG_c
+#undef FLAG_L
+#undef FLAG_d
+#undef FLAG_l
+#undef FLAG_S
+#undef FLAG_b
+#undef FLAG_f
+#endif
+
+// crontab   c:u:elr[!elr]
+#undef OPTSTR_crontab
+#define OPTSTR_crontab "c:u:elr[!elr]"
+#ifdef CLEANUP_crontab
+#undef CLEANUP_crontab
+#undef FOR_crontab
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_e
+#undef FLAG_u
+#undef FLAG_c
+#endif
+
+// cut b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf] b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]
+#undef OPTSTR_cut
+#define OPTSTR_cut "b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]"
+#ifdef CLEANUP_cut
+#undef CLEANUP_cut
+#undef FOR_cut
+#undef FLAG_n
+#undef FLAG_D
+#undef FLAG_s
+#undef FLAG_d
+#undef FLAG_O
+#undef FLAG_C
+#undef FLAG_F
+#undef FLAG_f
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// date d:D:I(iso)(iso-8601):;r:u(utc)[!dr] d:D:I(iso)(iso-8601):;r:u(utc)[!dr]
+#undef OPTSTR_date
+#define OPTSTR_date "d:D:I(iso)(iso-8601):;r:u(utc)[!dr]"
+#ifdef CLEANUP_date
+#undef CLEANUP_date
+#undef FOR_date
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_I
+#undef FLAG_D
+#undef FLAG_d
+#endif
+
+// dd    
+#undef OPTSTR_dd
+#define OPTSTR_dd 0
+#ifdef CLEANUP_dd
+#undef CLEANUP_dd
+#undef FOR_dd
+#endif
+
+// deallocvt   >1
+#undef OPTSTR_deallocvt
+#define OPTSTR_deallocvt ">1"
+#ifdef CLEANUP_deallocvt
+#undef CLEANUP_deallocvt
+#undef FOR_deallocvt
+#endif
+
+// demo_many_options   ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba
+#undef OPTSTR_demo_many_options
+#define OPTSTR_demo_many_options "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba"
+#ifdef CLEANUP_demo_many_options
+#undef CLEANUP_demo_many_options
+#undef FOR_demo_many_options
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_h
+#undef FLAG_i
+#undef FLAG_j
+#undef FLAG_k
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_o
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_y
+#undef FLAG_z
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_D
+#undef FLAG_E
+#undef FLAG_F
+#undef FLAG_G
+#undef FLAG_H
+#undef FLAG_I
+#undef FLAG_J
+#undef FLAG_K
+#undef FLAG_L
+#undef FLAG_M
+#undef FLAG_N
+#undef FLAG_O
+#undef FLAG_P
+#undef FLAG_Q
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_T
+#undef FLAG_U
+#undef FLAG_V
+#undef FLAG_W
+#undef FLAG_X
+#undef FLAG_Y
+#undef FLAG_Z
+#endif
+
+// demo_number   D#=3<3M#<0hcdbs
+#undef OPTSTR_demo_number
+#define OPTSTR_demo_number "D#=3<3M#<0hcdbs"
+#ifdef CLEANUP_demo_number
+#undef CLEANUP_demo_number
+#undef FOR_demo_number
+#undef FLAG_s
+#undef FLAG_b
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_h
+#undef FLAG_M
+#undef FLAG_D
+#endif
+
+// demo_scankey    
+#undef OPTSTR_demo_scankey
+#define OPTSTR_demo_scankey 0
+#ifdef CLEANUP_demo_scankey
+#undef CLEANUP_demo_scankey
+#undef FOR_demo_scankey
+#endif
+
+// demo_utf8towc    
+#undef OPTSTR_demo_utf8towc
+#define OPTSTR_demo_utf8towc 0
+#ifdef CLEANUP_demo_utf8towc
+#undef CLEANUP_demo_utf8towc
+#undef FOR_demo_utf8towc
+#endif
+
+// devmem   <1>3
+#undef OPTSTR_devmem
+#define OPTSTR_devmem "<1>3"
+#ifdef CLEANUP_devmem
+#undef CLEANUP_devmem
+#undef FOR_devmem
+#endif
+
+// df   HPkhit*a[-HPkh]
+#undef OPTSTR_df
+#define OPTSTR_df "HPkhit*a[-HPkh]"
+#ifdef CLEANUP_df
+#undef CLEANUP_df
+#undef FOR_df
+#undef FLAG_a
+#undef FLAG_t
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_k
+#undef FLAG_P
+#undef FLAG_H
+#endif
+
+// dhcp   V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf
+#undef OPTSTR_dhcp
+#define OPTSTR_dhcp "V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf"
+#ifdef CLEANUP_dhcp
+#undef CLEANUP_dhcp
+#undef FOR_dhcp
+#undef FLAG_f
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_q
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_a
+#undef FLAG_C
+#undef FLAG_R
+#undef FLAG_B
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_A
+#undef FLAG_O
+#undef FLAG_r
+#undef FLAG_x
+#undef FLAG_F
+#undef FLAG_H
+#undef FLAG_V
+#endif
+
+// dhcp6   r:A#<0T#<0t#<0s:p:i:SRvqnbf
+#undef OPTSTR_dhcp6
+#define OPTSTR_dhcp6 "r:A#<0T#<0t#<0s:p:i:SRvqnbf"
+#ifdef CLEANUP_dhcp6
+#undef CLEANUP_dhcp6
+#undef FOR_dhcp6
+#undef FLAG_f
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_q
+#undef FLAG_v
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_A
+#undef FLAG_r
+#endif
+
+// dhcpd   >1P#<0>65535fi:S46[!46]
+#undef OPTSTR_dhcpd
+#define OPTSTR_dhcpd ">1P#<0>65535fi:S46[!46]"
+#ifdef CLEANUP_dhcpd
+#undef CLEANUP_dhcpd
+#undef FOR_dhcpd
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_P
+#endif
+
+// diff <2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3 <2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3
+#undef OPTSTR_diff
+#define OPTSTR_diff "<2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3"
+#ifdef CLEANUP_diff
+#undef CLEANUP_diff
+#undef FOR_diff
+#undef FLAG_U
+#undef FLAG_r
+#undef FLAG_N
+#undef FLAG_S
+#undef FLAG_L
+#undef FLAG_a
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_w
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_d
+#undef FLAG_B
+#undef FLAG_strip_trailing_cr
+#undef FLAG_color
+#endif
+
+// dirname <1 <1
+#undef OPTSTR_dirname
+#define OPTSTR_dirname "<1"
+#ifdef CLEANUP_dirname
+#undef CLEANUP_dirname
+#undef FOR_dirname
+#endif
+
+// dmesg   w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]
+#undef OPTSTR_dmesg
+#define OPTSTR_dmesg "w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]"
+#ifdef CLEANUP_dmesg
+#undef CLEANUP_dmesg
+#undef FOR_dmesg
+#undef FLAG_c
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_S
+#undef FLAG_C
+#undef FLAG_w
+#endif
+
+// dnsdomainname   >0
+#undef OPTSTR_dnsdomainname
+#define OPTSTR_dnsdomainname ">0"
+#ifdef CLEANUP_dnsdomainname
+#undef CLEANUP_dnsdomainname
+#undef FOR_dnsdomainname
+#endif
+
+// dos2unix    
+#undef OPTSTR_dos2unix
+#define OPTSTR_dos2unix 0
+#ifdef CLEANUP_dos2unix
+#undef CLEANUP_dos2unix
+#undef FOR_dos2unix
+#endif
+
+// du d#<0=-1hmlcaHkKLsxb[-HL][-kKmh] d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]
+#undef OPTSTR_du
+#define OPTSTR_du "d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]"
+#ifdef CLEANUP_du
+#undef CLEANUP_du
+#undef FOR_du
+#undef FLAG_b
+#undef FLAG_x
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_K
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_a
+#undef FLAG_c
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_h
+#undef FLAG_d
+#endif
+
+// dumpleases   >0arf:[!ar]
+#undef OPTSTR_dumpleases
+#define OPTSTR_dumpleases ">0arf:[!ar]"
+#ifdef CLEANUP_dumpleases
+#undef CLEANUP_dumpleases
+#undef FOR_dumpleases
+#undef FLAG_f
+#undef FLAG_r
+#undef FLAG_a
+#endif
+
+// echo ^?Een[-eE] ^?Een[-eE]
+#undef OPTSTR_echo
+#define OPTSTR_echo "^?Een[-eE]"
+#ifdef CLEANUP_echo
+#undef CLEANUP_echo
+#undef FOR_echo
+#undef FLAG_n
+#undef FLAG_e
+#undef FLAG_E
+#endif
+
+// eject   >1stT[!tT]
+#undef OPTSTR_eject
+#define OPTSTR_eject ">1stT[!tT]"
+#ifdef CLEANUP_eject
+#undef CLEANUP_eject
+#undef FOR_eject
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_s
+#endif
+
+// env ^i0u* ^i0u*
+#undef OPTSTR_env
+#define OPTSTR_env "^i0u*"
+#ifdef CLEANUP_env
+#undef CLEANUP_env
+#undef FOR_env
+#undef FLAG_u
+#undef FLAG_0
+#undef FLAG_i
+#endif
+
+// eval    
+#undef OPTSTR_eval
+#define OPTSTR_eval 0
+#ifdef CLEANUP_eval
+#undef CLEANUP_eval
+#undef FOR_eval
+#endif
+
+// exec   ^cla:
+#undef OPTSTR_exec
+#define OPTSTR_exec "^cla:"
+#ifdef CLEANUP_exec
+#undef CLEANUP_exec
+#undef FOR_exec
+#undef FLAG_a
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// exit    
+#undef OPTSTR_exit
+#define OPTSTR_exit 0
+#ifdef CLEANUP_exit
+#undef CLEANUP_exit
+#undef FOR_exit
+#endif
+
+// expand   t*
+#undef OPTSTR_expand
+#define OPTSTR_expand "t*"
+#ifdef CLEANUP_expand
+#undef CLEANUP_expand
+#undef FOR_expand
+#undef FLAG_t
+#endif
+
+// export   np
+#undef OPTSTR_export
+#define OPTSTR_export "np"
+#ifdef CLEANUP_export
+#undef CLEANUP_export
+#undef FOR_export
+#undef FLAG_p
+#undef FLAG_n
+#endif
+
+// expr    
+#undef OPTSTR_expr
+#define OPTSTR_expr 0
+#ifdef CLEANUP_expr
+#undef CLEANUP_expr
+#undef FOR_expr
+#endif
+
+// factor    
+#undef OPTSTR_factor
+#define OPTSTR_factor 0
+#ifdef CLEANUP_factor
+#undef CLEANUP_factor
+#undef FOR_factor
+#endif
+
+// fallocate   >1l#|o#
+#undef OPTSTR_fallocate
+#define OPTSTR_fallocate ">1l#|o#"
+#ifdef CLEANUP_fallocate
+#undef CLEANUP_fallocate
+#undef FOR_fallocate
+#undef FLAG_o
+#undef FLAG_l
+#endif
+
+// false    
+#undef OPTSTR_false
+#define OPTSTR_false 0
+#ifdef CLEANUP_false
+#undef CLEANUP_false
+#undef FOR_false
+#endif
+
+// fdisk   C#<0H#<0S#<0b#<512ul
+#undef OPTSTR_fdisk
+#define OPTSTR_fdisk "C#<0H#<0S#<0b#<512ul"
+#ifdef CLEANUP_fdisk
+#undef CLEANUP_fdisk
+#undef FOR_fdisk
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_S
+#undef FLAG_H
+#undef FLAG_C
+#endif
+
+// file   <1bhLs[!hL]
+#undef OPTSTR_file
+#define OPTSTR_file "<1bhLs[!hL]"
+#ifdef CLEANUP_file
+#undef CLEANUP_file
+#undef FOR_file
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_h
+#undef FLAG_b
+#endif
+
+// find ?^HL[-HL] ?^HL[-HL]
+#undef OPTSTR_find
+#define OPTSTR_find "?^HL[-HL]"
+#ifdef CLEANUP_find
+#undef CLEANUP_find
+#undef FOR_find
+#undef FLAG_L
+#undef FLAG_H
+#endif
+
+// flock   <1>1nsux[-sux]
+#undef OPTSTR_flock
+#define OPTSTR_flock "<1>1nsux[-sux]"
+#ifdef CLEANUP_flock
+#undef CLEANUP_flock
+#undef FOR_flock
+#undef FLAG_x
+#undef FLAG_u
+#undef FLAG_s
+#undef FLAG_n
+#endif
+
+// fmt   w#<0=75
+#undef OPTSTR_fmt
+#define OPTSTR_fmt "w#<0=75"
+#ifdef CLEANUP_fmt
+#undef CLEANUP_fmt
+#undef FOR_fmt
+#undef FLAG_w
+#endif
+
+// fold   bsuw#<1
+#undef OPTSTR_fold
+#define OPTSTR_fold "bsuw#<1"
+#ifdef CLEANUP_fold
+#undef CLEANUP_fold
+#undef FOR_fold
+#undef FLAG_w
+#undef FLAG_u
+#undef FLAG_s
+#undef FLAG_b
+#endif
+
+// free   htgmkb[!htgmkb]
+#undef OPTSTR_free
+#define OPTSTR_free "htgmkb[!htgmkb]"
+#ifdef CLEANUP_free
+#undef CLEANUP_free
+#undef FOR_free
+#undef FLAG_b
+#undef FLAG_k
+#undef FLAG_m
+#undef FLAG_g
+#undef FLAG_t
+#undef FLAG_h
+#endif
+
+// freeramdisk   <1>1
+#undef OPTSTR_freeramdisk
+#define OPTSTR_freeramdisk "<1>1"
+#ifdef CLEANUP_freeramdisk
+#undef CLEANUP_freeramdisk
+#undef FOR_freeramdisk
+#endif
+
+// fsck   ?t:ANPRTVsC#
+#undef OPTSTR_fsck
+#define OPTSTR_fsck "?t:ANPRTVsC#"
+#ifdef CLEANUP_fsck
+#undef CLEANUP_fsck
+#undef FOR_fsck
+#undef FLAG_C
+#undef FLAG_s
+#undef FLAG_V
+#undef FLAG_T
+#undef FLAG_R
+#undef FLAG_P
+#undef FLAG_N
+#undef FLAG_A
+#undef FLAG_t
+#endif
+
+// fsfreeze   <1>1f|u|[!fu]
+#undef OPTSTR_fsfreeze
+#define OPTSTR_fsfreeze "<1>1f|u|[!fu]"
+#ifdef CLEANUP_fsfreeze
+#undef CLEANUP_fsfreeze
+#undef FOR_fsfreeze
+#undef FLAG_u
+#undef FLAG_f
+#endif
+
+// fstype   <1
+#undef OPTSTR_fstype
+#define OPTSTR_fstype "<1"
+#ifdef CLEANUP_fstype
+#undef CLEANUP_fstype
+#undef FOR_fstype
+#endif
+
+// fsync   <1d
+#undef OPTSTR_fsync
+#define OPTSTR_fsync "<1d"
+#ifdef CLEANUP_fsync
+#undef CLEANUP_fsync
+#undef FOR_fsync
+#undef FLAG_d
+#endif
+
+// ftpget   <2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]
+#undef OPTSTR_ftpget
+#define OPTSTR_ftpget "<2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]"
+#ifdef CLEANUP_ftpget
+#undef CLEANUP_ftpget
+#undef FOR_ftpget
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_M
+#undef FLAG_m
+#undef FLAG_L
+#undef FLAG_l
+#undef FLAG_s
+#undef FLAG_g
+#undef FLAG_v
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_P
+#endif
+
+// getconf >2al >2al
+#undef OPTSTR_getconf
+#define OPTSTR_getconf ">2al"
+#ifdef CLEANUP_getconf
+#undef CLEANUP_getconf
+#undef FOR_getconf
+#undef FLAG_l
+#undef FLAG_a
+#endif
+
+// getenforce   >0
+#undef OPTSTR_getenforce
+#define OPTSTR_getenforce ">0"
+#ifdef CLEANUP_getenforce
+#undef CLEANUP_getenforce
+#undef FOR_getenforce
+#endif
+
+// getfattr   (only-values)dhn:
+#undef OPTSTR_getfattr
+#define OPTSTR_getfattr "(only-values)dhn:"
+#ifdef CLEANUP_getfattr
+#undef CLEANUP_getfattr
+#undef FOR_getfattr
+#undef FLAG_n
+#undef FLAG_h
+#undef FLAG_d
+#undef FLAG_only_values
+#endif
+
+// getopt ^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu ^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu
+#undef OPTSTR_getopt
+#define OPTSTR_getopt "^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu"
+#ifdef CLEANUP_getopt
+#undef CLEANUP_getopt
+#undef FOR_getopt
+#undef FLAG_u
+#undef FLAG_T
+#undef FLAG_l
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_a
+#endif
+
+// getty   <2t#<0H:I:l:f:iwnmLh
+#undef OPTSTR_getty
+#define OPTSTR_getty "<2t#<0H:I:l:f:iwnmLh"
+#ifdef CLEANUP_getty
+#undef CLEANUP_getty
+#undef FOR_getty
+#undef FLAG_h
+#undef FLAG_L
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_l
+#undef FLAG_I
+#undef FLAG_H
+#undef FLAG_t
+#endif
+
+// grep (line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw] (line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]
+#undef OPTSTR_grep
+#define OPTSTR_grep "(line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]"
+#ifdef CLEANUP_grep
+#undef CLEANUP_grep
+#undef FOR_grep
+#undef FLAG_x
+#undef FLAG_m
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_c
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_s
+#undef FLAG_R
+#undef FLAG_r
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_b
+#undef FLAG_a
+#undef FLAG_I
+#undef FLAG_H
+#undef FLAG_F
+#undef FLAG_E
+#undef FLAG_z
+#undef FLAG_Z
+#undef FLAG_M
+#undef FLAG_S
+#undef FLAG_exclude_dir
+#undef FLAG_color
+#undef FLAG_line_buffered
+#endif
+
+// groupadd   <1>2g#<0S
+#undef OPTSTR_groupadd
+#define OPTSTR_groupadd "<1>2g#<0S"
+#ifdef CLEANUP_groupadd
+#undef CLEANUP_groupadd
+#undef FOR_groupadd
+#undef FLAG_S
+#undef FLAG_g
+#endif
+
+// groupdel   <1>2
+#undef OPTSTR_groupdel
+#define OPTSTR_groupdel "<1>2"
+#ifdef CLEANUP_groupdel
+#undef CLEANUP_groupdel
+#undef FOR_groupdel
+#endif
+
+// groups    
+#undef OPTSTR_groups
+#define OPTSTR_groups 0
+#ifdef CLEANUP_groups
+#undef CLEANUP_groups
+#undef FOR_groups
+#endif
+
+// gunzip   cdfk123456789[-123456789]
+#undef OPTSTR_gunzip
+#define OPTSTR_gunzip "cdfk123456789[-123456789]"
+#ifdef CLEANUP_gunzip
+#undef CLEANUP_gunzip
+#undef FOR_gunzip
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// gzip ncdfk123456789[-123456789] ncdfk123456789[-123456789]
+#undef OPTSTR_gzip
+#define OPTSTR_gzip "ncdfk123456789[-123456789]"
+#ifdef CLEANUP_gzip
+#undef CLEANUP_gzip
+#undef FOR_gzip
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// head ?n(lines)#<0=10c(bytes)#<0qv[-nc] ?n(lines)#<0=10c(bytes)#<0qv[-nc]
+#undef OPTSTR_head
+#define OPTSTR_head "?n(lines)#<0=10c(bytes)#<0qv[-nc]"
+#ifdef CLEANUP_head
+#undef CLEANUP_head
+#undef FOR_head
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// hello    
+#undef OPTSTR_hello
+#define OPTSTR_hello 0
+#ifdef CLEANUP_hello
+#undef CLEANUP_hello
+#undef FOR_hello
+#endif
+
+// help   ahu
+#undef OPTSTR_help
+#define OPTSTR_help "ahu"
+#ifdef CLEANUP_help
+#undef CLEANUP_help
+#undef FOR_help
+#undef FLAG_u
+#undef FLAG_h
+#undef FLAG_a
+#endif
+
+// hexedit   <1>1r
+#undef OPTSTR_hexedit
+#define OPTSTR_hexedit "<1>1r"
+#ifdef CLEANUP_hexedit
+#undef CLEANUP_hexedit
+#undef FOR_hexedit
+#undef FLAG_r
+#endif
+
+// host   <1>2avt:
+#undef OPTSTR_host
+#define OPTSTR_host "<1>2avt:"
+#ifdef CLEANUP_host
+#undef CLEANUP_host
+#undef FOR_host
+#undef FLAG_t
+#undef FLAG_v
+#undef FLAG_a
+#endif
+
+// hostid   >0
+#undef OPTSTR_hostid
+#define OPTSTR_hostid ">0"
+#ifdef CLEANUP_hostid
+#undef CLEANUP_hostid
+#undef FOR_hostid
+#endif
+
+// hostname >1bdsfF:[!bdsf] >1bdsfF:[!bdsf]
+#undef OPTSTR_hostname
+#define OPTSTR_hostname ">1bdsfF:[!bdsf]"
+#ifdef CLEANUP_hostname
+#undef CLEANUP_hostname
+#undef FOR_hostname
+#undef FLAG_F
+#undef FLAG_f
+#undef FLAG_s
+#undef FLAG_d
+#undef FLAG_b
+#endif
+
+// hwclock   >0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]
+#undef OPTSTR_hwclock
+#define OPTSTR_hwclock ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]"
+#ifdef CLEANUP_hwclock
+#undef CLEANUP_hwclock
+#undef FOR_hwclock
+#undef FLAG_w
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_f
+#undef FLAG_fast
+#endif
+
+// i2cdetect   >3aFly
+#undef OPTSTR_i2cdetect
+#define OPTSTR_i2cdetect ">3aFly"
+#ifdef CLEANUP_i2cdetect
+#undef CLEANUP_i2cdetect
+#undef FOR_i2cdetect
+#undef FLAG_y
+#undef FLAG_l
+#undef FLAG_F
+#undef FLAG_a
+#endif
+
+// i2cdump   <2>2fy
+#undef OPTSTR_i2cdump
+#define OPTSTR_i2cdump "<2>2fy"
+#ifdef CLEANUP_i2cdump
+#undef CLEANUP_i2cdump
+#undef FOR_i2cdump
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// i2cget   <3>3fy
+#undef OPTSTR_i2cget
+#define OPTSTR_i2cget "<3>3fy"
+#ifdef CLEANUP_i2cget
+#undef CLEANUP_i2cget
+#undef FOR_i2cget
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// i2cset   <4fy
+#undef OPTSTR_i2cset
+#define OPTSTR_i2cset "<4fy"
+#ifdef CLEANUP_i2cset
+#undef CLEANUP_i2cset
+#undef FOR_i2cset
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// iconv   cst:f:
+#undef OPTSTR_iconv
+#define OPTSTR_iconv "cst:f:"
+#ifdef CLEANUP_iconv
+#undef CLEANUP_iconv
+#undef FOR_iconv
+#undef FLAG_f
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_c
+#endif
+
+// id >1nGgru[!Ggu] >1ZnGgru[!ZGgu]
+#undef OPTSTR_id
+#define OPTSTR_id ">1nGgru[!Ggu]"
+#ifdef CLEANUP_id
+#undef CLEANUP_id
+#undef FOR_id
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_g
+#undef FLAG_G
+#undef FLAG_n
+#undef FLAG_Z
+#endif
+
+// ifconfig   ^?aS
+#undef OPTSTR_ifconfig
+#define OPTSTR_ifconfig "^?aS"
+#ifdef CLEANUP_ifconfig
+#undef CLEANUP_ifconfig
+#undef FOR_ifconfig
+#undef FLAG_S
+#undef FLAG_a
+#endif
+
+// init    
+#undef OPTSTR_init
+#define OPTSTR_init 0
+#ifdef CLEANUP_init
+#undef CLEANUP_init
+#undef FOR_init
+#endif
+
+// inotifyd   <2
+#undef OPTSTR_inotifyd
+#define OPTSTR_inotifyd "<2"
+#ifdef CLEANUP_inotifyd
+#undef CLEANUP_inotifyd
+#undef FOR_inotifyd
+#endif
+
+// insmod   <1
+#undef OPTSTR_insmod
+#define OPTSTR_insmod "<1"
+#ifdef CLEANUP_insmod
+#undef CLEANUP_insmod
+#undef FOR_insmod
+#endif
+
+// install   <1cdDpsvm:o:g:
+#undef OPTSTR_install
+#define OPTSTR_install "<1cdDpsvm:o:g:"
+#ifdef CLEANUP_install
+#undef CLEANUP_install
+#undef FOR_install
+#undef FLAG_g
+#undef FLAG_o
+#undef FLAG_m
+#undef FLAG_v
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// ionice   ^tc#<0>3=2n#<0>7=5p#
+#undef OPTSTR_ionice
+#define OPTSTR_ionice "^tc#<0>3=2n#<0>7=5p#"
+#ifdef CLEANUP_ionice
+#undef CLEANUP_ionice
+#undef FOR_ionice
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_t
+#endif
+
+// iorenice   ?<1>3
+#undef OPTSTR_iorenice
+#define OPTSTR_iorenice "?<1>3"
+#ifdef CLEANUP_iorenice
+#undef CLEANUP_iorenice
+#undef FOR_iorenice
+#endif
+
+// iotop   >0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq
+#undef OPTSTR_iotop
+#define OPTSTR_iotop ">0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq"
+#ifdef CLEANUP_iotop
+#undef CLEANUP_iotop
+#undef FOR_iotop
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_O
+#undef FLAG_K
+#undef FLAG_a
+#undef FLAG_A
+#endif
+
+// ip    
+#undef OPTSTR_ip
+#define OPTSTR_ip 0
+#ifdef CLEANUP_ip
+#undef CLEANUP_ip
+#undef FOR_ip
+#endif
+
+// ipcrm   m*M*s*S*q*Q*
+#undef OPTSTR_ipcrm
+#define OPTSTR_ipcrm "m*M*s*S*q*Q*"
+#ifdef CLEANUP_ipcrm
+#undef CLEANUP_ipcrm
+#undef FOR_ipcrm
+#undef FLAG_Q
+#undef FLAG_q
+#undef FLAG_S
+#undef FLAG_s
+#undef FLAG_M
+#undef FLAG_m
+#endif
+
+// ipcs   acptulsqmi#
+#undef OPTSTR_ipcs
+#define OPTSTR_ipcs "acptulsqmi#"
+#ifdef CLEANUP_ipcs
+#undef CLEANUP_ipcs
+#undef FOR_ipcs
+#undef FLAG_i
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_a
+#endif
+
+// kill   ?ls: 
+#undef OPTSTR_kill
+#define OPTSTR_kill "?ls: "
+#ifdef CLEANUP_kill
+#undef CLEANUP_kill
+#undef FOR_kill
+#undef FLAG_s
+#undef FLAG_l
+#endif
+
+// killall   ?s:ilqvw
+#undef OPTSTR_killall
+#define OPTSTR_killall "?s:ilqvw"
+#ifdef CLEANUP_killall
+#undef CLEANUP_killall
+#undef FOR_killall
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_i
+#undef FLAG_s
+#endif
+
+// killall5   ?o*ls: [!lo][!ls]
+#undef OPTSTR_killall5
+#define OPTSTR_killall5 "?o*ls: [!lo][!ls]"
+#ifdef CLEANUP_killall5
+#undef CLEANUP_killall5
+#undef FOR_killall5
+#undef FLAG_s
+#undef FLAG_l
+#undef FLAG_o
+#endif
+
+// klogd   c#<1>8n
+#undef OPTSTR_klogd
+#define OPTSTR_klogd "c#<1>8n"
+#ifdef CLEANUP_klogd
+#undef CLEANUP_klogd
+#undef FOR_klogd
+#undef FLAG_n
+#undef FLAG_c
+#endif
+
+// last   f:W
+#undef OPTSTR_last
+#define OPTSTR_last "f:W"
+#ifdef CLEANUP_last
+#undef CLEANUP_last
+#undef FOR_last
+#undef FLAG_W
+#undef FLAG_f
+#endif
+
+// link   <2>2
+#undef OPTSTR_link
+#define OPTSTR_link "<2>2"
+#ifdef CLEANUP_link
+#undef CLEANUP_link
+#undef FOR_link
+#endif
+
+// ln <1rt:Tvnfs <1rt:Tvnfs
+#undef OPTSTR_ln
+#define OPTSTR_ln "<1rt:Tvnfs"
+#ifdef CLEANUP_ln
+#undef CLEANUP_ln
+#undef FOR_ln
+#undef FLAG_s
+#undef FLAG_f
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_r
+#endif
+
+// load_policy   <1>1
+#undef OPTSTR_load_policy
+#define OPTSTR_load_policy "<1>1"
+#ifdef CLEANUP_load_policy
+#undef CLEANUP_load_policy
+#undef FOR_load_policy
+#endif
+
+// log   <1p:t:
+#undef OPTSTR_log
+#define OPTSTR_log "<1p:t:"
+#ifdef CLEANUP_log
+#undef CLEANUP_log
+#undef FOR_log
+#undef FLAG_t
+#undef FLAG_p
+#endif
+
+// logger   t:p:s
+#undef OPTSTR_logger
+#define OPTSTR_logger "t:p:s"
+#ifdef CLEANUP_logger
+#undef CLEANUP_logger
+#undef FOR_logger
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_t
+#endif
+
+// login   >1f:ph:
+#undef OPTSTR_login
+#define OPTSTR_login ">1f:ph:"
+#ifdef CLEANUP_login
+#undef CLEANUP_login
+#undef FOR_login
+#undef FLAG_h
+#undef FLAG_p
+#undef FLAG_f
+#endif
+
+// logname   >0
+#undef OPTSTR_logname
+#define OPTSTR_logname ">0"
+#ifdef CLEANUP_logname
+#undef CLEANUP_logname
+#undef FOR_logname
+#endif
+
+// logwrapper    
+#undef OPTSTR_logwrapper
+#define OPTSTR_logwrapper 0
+#ifdef CLEANUP_logwrapper
+#undef CLEANUP_logwrapper
+#undef FOR_logwrapper
+#endif
+
+// losetup   >2S(sizelimit)#s(show)ro#j:fdcaD[!afj]
+#undef OPTSTR_losetup
+#define OPTSTR_losetup ">2S(sizelimit)#s(show)ro#j:fdcaD[!afj]"
+#ifdef CLEANUP_losetup
+#undef CLEANUP_losetup
+#undef FOR_losetup
+#undef FLAG_D
+#undef FLAG_a
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_f
+#undef FLAG_j
+#undef FLAG_o
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_S
+#endif
+
+// ls (color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb] (color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]
+#undef OPTSTR_ls
+#define OPTSTR_ls "(color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]"
+#ifdef CLEANUP_ls
+#undef CLEANUP_ls
+#undef FOR_ls
+#undef FLAG_1
+#undef FLAG_x
+#undef FLAG_w
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_q
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_l
+#undef FLAG_k
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_b
+#undef FLAG_a
+#undef FLAG_S
+#undef FLAG_R
+#undef FLAG_L
+#undef FLAG_H
+#undef FLAG_F
+#undef FLAG_C
+#undef FLAG_A
+#undef FLAG_o
+#undef FLAG_g
+#undef FLAG_Z
+#undef FLAG_show_control_chars
+#undef FLAG_full_time
+#undef FLAG_color
+#endif
+
+// lsattr   ldapvR
+#undef OPTSTR_lsattr
+#define OPTSTR_lsattr "ldapvR"
+#ifdef CLEANUP_lsattr
+#undef CLEANUP_lsattr
+#undef FOR_lsattr
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_p
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_l
+#endif
+
+// lsmod    
+#undef OPTSTR_lsmod
+#define OPTSTR_lsmod 0
+#ifdef CLEANUP_lsmod
+#undef CLEANUP_lsmod
+#undef FOR_lsmod
+#endif
+
+// lsof   lp*t
+#undef OPTSTR_lsof
+#define OPTSTR_lsof "lp*t"
+#ifdef CLEANUP_lsof
+#undef CLEANUP_lsof
+#undef FOR_lsof
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_l
+#endif
+
+// lspci   emkn@i:
+#undef OPTSTR_lspci
+#define OPTSTR_lspci "emkn@i:"
+#ifdef CLEANUP_lspci
+#undef CLEANUP_lspci
+#undef FOR_lspci
+#undef FLAG_i
+#undef FLAG_n
+#undef FLAG_k
+#undef FLAG_m
+#undef FLAG_e
+#endif
+
+// lsusb    
+#undef OPTSTR_lsusb
+#define OPTSTR_lsusb 0
+#ifdef CLEANUP_lsusb
+#undef CLEANUP_lsusb
+#undef FOR_lsusb
+#endif
+
+// makedevs   <1>1d:
+#undef OPTSTR_makedevs
+#define OPTSTR_makedevs "<1>1d:"
+#ifdef CLEANUP_makedevs
+#undef CLEANUP_makedevs
+#undef FOR_makedevs
+#undef FLAG_d
+#endif
+
+// man   k:M:
+#undef OPTSTR_man
+#define OPTSTR_man "k:M:"
+#ifdef CLEANUP_man
+#undef CLEANUP_man
+#undef FOR_man
+#undef FLAG_M
+#undef FLAG_k
+#endif
+
+// mcookie   v(verbose)V(version)
+#undef OPTSTR_mcookie
+#define OPTSTR_mcookie "v(verbose)V(version)"
+#ifdef CLEANUP_mcookie
+#undef CLEANUP_mcookie
+#undef FOR_mcookie
+#undef FLAG_V
+#undef FLAG_v
+#endif
+
+// md5sum bc(check)s(status)[!bc] bc(check)s(status)[!bc]
+#undef OPTSTR_md5sum
+#define OPTSTR_md5sum "bc(check)s(status)[!bc]"
+#ifdef CLEANUP_md5sum
+#undef CLEANUP_md5sum
+#undef FOR_md5sum
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// mdev   s
+#undef OPTSTR_mdev
+#define OPTSTR_mdev "s"
+#ifdef CLEANUP_mdev
+#undef CLEANUP_mdev
+#undef FOR_mdev
+#undef FLAG_s
+#endif
+
+// microcom <1>1s#=115200X <1>1s#=115200X
+#undef OPTSTR_microcom
+#define OPTSTR_microcom "<1>1s#=115200X"
+#ifdef CLEANUP_microcom
+#undef CLEANUP_microcom
+#undef FOR_microcom
+#undef FLAG_X
+#undef FLAG_s
+#endif
+
+// mix   c:d:l#r#
+#undef OPTSTR_mix
+#define OPTSTR_mix "c:d:l#r#"
+#ifdef CLEANUP_mix
+#undef CLEANUP_mix
+#undef FOR_mix
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// mkdir <1vp(parent)(parents)m: <1Z:vp(parent)(parents)m:
+#undef OPTSTR_mkdir
+#define OPTSTR_mkdir "<1vp(parent)(parents)m:"
+#ifdef CLEANUP_mkdir
+#undef CLEANUP_mkdir
+#undef FOR_mkdir
+#undef FLAG_m
+#undef FLAG_p
+#undef FLAG_v
+#undef FLAG_Z
+#endif
+
+// mke2fs   <1>2g:Fnqm#N#i#b#
+#undef OPTSTR_mke2fs
+#define OPTSTR_mke2fs "<1>2g:Fnqm#N#i#b#"
+#ifdef CLEANUP_mke2fs
+#undef CLEANUP_mke2fs
+#undef FOR_mke2fs
+#undef FLAG_b
+#undef FLAG_i
+#undef FLAG_N
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_n
+#undef FLAG_F
+#undef FLAG_g
+#endif
+
+// mkfifo   <1Z:m:
+#undef OPTSTR_mkfifo
+#define OPTSTR_mkfifo "<1Z:m:"
+#ifdef CLEANUP_mkfifo
+#undef CLEANUP_mkfifo
+#undef FOR_mkfifo
+#undef FLAG_m
+#undef FLAG_Z
+#endif
+
+// mknod   <2>4m(mode):Z:
+#undef OPTSTR_mknod
+#define OPTSTR_mknod "<2>4m(mode):Z:"
+#ifdef CLEANUP_mknod
+#undef CLEANUP_mknod
+#undef FOR_mknod
+#undef FLAG_Z
+#undef FLAG_m
+#endif
+
+// mkpasswd   >2S:m:P#=0<0
+#undef OPTSTR_mkpasswd
+#define OPTSTR_mkpasswd ">2S:m:P#=0<0"
+#ifdef CLEANUP_mkpasswd
+#undef CLEANUP_mkpasswd
+#undef FOR_mkpasswd
+#undef FLAG_P
+#undef FLAG_m
+#undef FLAG_S
+#endif
+
+// mkswap   <1>1L:
+#undef OPTSTR_mkswap
+#define OPTSTR_mkswap "<1>1L:"
+#ifdef CLEANUP_mkswap
+#undef CLEANUP_mkswap
+#undef FOR_mkswap
+#undef FLAG_L
+#endif
+
+// mktemp >1(tmpdir);:uqd(directory)p:t >1(tmpdir);:uqd(directory)p:t
+#undef OPTSTR_mktemp
+#define OPTSTR_mktemp ">1(tmpdir);:uqd(directory)p:t"
+#ifdef CLEANUP_mktemp
+#undef CLEANUP_mktemp
+#undef FOR_mktemp
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_d
+#undef FLAG_q
+#undef FLAG_u
+#undef FLAG_tmpdir
+#endif
+
+// modinfo   <1b:k:F:0
+#undef OPTSTR_modinfo
+#define OPTSTR_modinfo "<1b:k:F:0"
+#ifdef CLEANUP_modinfo
+#undef CLEANUP_modinfo
+#undef FOR_modinfo
+#undef FLAG_0
+#undef FLAG_F
+#undef FLAG_k
+#undef FLAG_b
+#endif
+
+// modprobe   alrqvsDbd*
+#undef OPTSTR_modprobe
+#define OPTSTR_modprobe "alrqvsDbd*"
+#ifdef CLEANUP_modprobe
+#undef CLEANUP_modprobe
+#undef FOR_modprobe
+#undef FLAG_d
+#undef FLAG_b
+#undef FLAG_D
+#undef FLAG_s
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_a
+#endif
+
+// more    
+#undef OPTSTR_more
+#define OPTSTR_more 0
+#ifdef CLEANUP_more
+#undef CLEANUP_more
+#undef FOR_more
+#endif
+
+// mount   ?O:afnrvwt:o*[-rw]
+#undef OPTSTR_mount
+#define OPTSTR_mount "?O:afnrvwt:o*[-rw]"
+#ifdef CLEANUP_mount
+#undef CLEANUP_mount
+#undef FOR_mount
+#undef FLAG_o
+#undef FLAG_t
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_a
+#undef FLAG_O
+#endif
+
+// mountpoint   <1qdx[-dx]
+#undef OPTSTR_mountpoint
+#define OPTSTR_mountpoint "<1qdx[-dx]"
+#ifdef CLEANUP_mountpoint
+#undef CLEANUP_mountpoint
+#undef FOR_mountpoint
+#undef FLAG_x
+#undef FLAG_d
+#undef FLAG_q
+#endif
+
+// mv <2vnF(remove-destination)fiT[-ni] <2vnF(remove-destination)fiT[-ni]
+#undef OPTSTR_mv
+#define OPTSTR_mv "<2vnF(remove-destination)fiT[-ni]"
+#ifdef CLEANUP_mv
+#undef CLEANUP_mv
+#undef FOR_mv
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_F
+#undef FLAG_n
+#undef FLAG_v
+#endif
+
+// nbd_client   <3>3ns
+#undef OPTSTR_nbd_client
+#define OPTSTR_nbd_client "<3>3ns"
+#ifdef CLEANUP_nbd_client
+#undef CLEANUP_nbd_client
+#undef FOR_nbd_client
+#undef FLAG_s
+#undef FLAG_n
+#endif
+
+// netcat   ^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U]
+#undef OPTSTR_netcat
+#define OPTSTR_netcat "^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U]"
+#ifdef CLEANUP_netcat
+#undef CLEANUP_netcat
+#undef FOR_netcat
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_f
+#undef FLAG_s
+#undef FLAG_q
+#undef FLAG_p
+#undef FLAG_W
+#undef FLAG_w
+#undef FLAG_L
+#undef FLAG_l
+#undef FLAG_E
+#undef FLAG_t
+#endif
+
+// netstat   pWrxwutneal
+#undef OPTSTR_netstat
+#define OPTSTR_netstat "pWrxwutneal"
+#ifdef CLEANUP_netstat
+#undef CLEANUP_netstat
+#undef FOR_netstat
+#undef FLAG_l
+#undef FLAG_a
+#undef FLAG_e
+#undef FLAG_n
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_r
+#undef FLAG_W
+#undef FLAG_p
+#endif
+
+// nice   ^<1n#
+#undef OPTSTR_nice
+#define OPTSTR_nice "^<1n#"
+#ifdef CLEANUP_nice
+#undef CLEANUP_nice
+#undef FOR_nice
+#undef FLAG_n
+#endif
+
+// nl v#=1l#w#<0=6Eb:n:s: v#=1l#w#<0=6Eb:n:s:
+#undef OPTSTR_nl
+#define OPTSTR_nl "v#=1l#w#<0=6Eb:n:s:"
+#ifdef CLEANUP_nl
+#undef CLEANUP_nl
+#undef FOR_nl
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_b
+#undef FLAG_E
+#undef FLAG_w
+#undef FLAG_l
+#undef FLAG_v
+#endif
+
+// nohup   <1^
+#undef OPTSTR_nohup
+#define OPTSTR_nohup "<1^"
+#ifdef CLEANUP_nohup
+#undef CLEANUP_nohup
+#undef FOR_nohup
+#endif
+
+// nproc (all) (all)
+#undef OPTSTR_nproc
+#define OPTSTR_nproc "(all)"
+#ifdef CLEANUP_nproc
+#undef CLEANUP_nproc
+#undef FOR_nproc
+#undef FLAG_all
+#endif
+
+// nsenter   <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);
+#undef OPTSTR_nsenter
+#define OPTSTR_nsenter "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);"
+#ifdef CLEANUP_nsenter
+#undef CLEANUP_nsenter
+#undef FOR_nsenter
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_i
+#undef FLAG_t
+#undef FLAG_F
+#endif
+
+// od j#vw#<1=16N#xsodcbA:t* j#vw#<1=16N#xsodcbA:t*
+#undef OPTSTR_od
+#define OPTSTR_od "j#vw#<1=16N#xsodcbA:t*"
+#ifdef CLEANUP_od
+#undef CLEANUP_od
+#undef FOR_od
+#undef FLAG_t
+#undef FLAG_A
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_o
+#undef FLAG_s
+#undef FLAG_x
+#undef FLAG_N
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_j
+#endif
+
+// oneit   ^<1nc:p3[!pn]
+#undef OPTSTR_oneit
+#define OPTSTR_oneit "^<1nc:p3[!pn]"
+#ifdef CLEANUP_oneit
+#undef CLEANUP_oneit
+#undef FOR_oneit
+#undef FLAG_3
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// openvt   c#<1>63sw
+#undef OPTSTR_openvt
+#define OPTSTR_openvt "c#<1>63sw"
+#ifdef CLEANUP_openvt
+#undef CLEANUP_openvt
+#undef FOR_openvt
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_c
+#endif
+
+// partprobe   <1
+#undef OPTSTR_partprobe
+#define OPTSTR_partprobe "<1"
+#ifdef CLEANUP_partprobe
+#undef CLEANUP_partprobe
+#undef FOR_partprobe
+#endif
+
+// passwd   >1a:dlu
+#undef OPTSTR_passwd
+#define OPTSTR_passwd ">1a:dlu"
+#ifdef CLEANUP_passwd
+#undef CLEANUP_passwd
+#undef FOR_passwd
+#undef FLAG_u
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_a
+#endif
+
+// paste d:s d:s
+#undef OPTSTR_paste
+#define OPTSTR_paste "d:s"
+#ifdef CLEANUP_paste
+#undef CLEANUP_paste
+#undef FOR_paste
+#undef FLAG_s
+#undef FLAG_d
+#endif
+
+// patch >2(no-backup-if-mismatch)(dry-run)F#g#fulp#d:i:Rs(quiet) >2(no-backup-if-mismatch)(dry-run)xF#g#fulp#d:i:Rs(quiet)
+#undef OPTSTR_patch
+#define OPTSTR_patch ">2(no-backup-if-mismatch)(dry-run)F#g#fulp#d:i:Rs(quiet)"
+#ifdef CLEANUP_patch
+#undef CLEANUP_patch
+#undef FOR_patch
+#undef FLAG_s
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_d
+#undef FLAG_p
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_F
+#undef FLAG_x
+#undef FLAG_dry_run
+#undef FLAG_no_backup_if_mismatch
+#endif
+
+// pgrep ?cld:u*U*t*s*P*g*G*fnovxL:[-no] ?cld:u*U*t*s*P*g*G*fnovxL:[-no]
+#undef OPTSTR_pgrep
+#define OPTSTR_pgrep "?cld:u*U*t*s*P*g*G*fnovxL:[-no]"
+#ifdef CLEANUP_pgrep
+#undef CLEANUP_pgrep
+#undef FOR_pgrep
+#undef FLAG_L
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_P
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// pidof   <1so:x
+#undef OPTSTR_pidof
+#define OPTSTR_pidof "<1so:x"
+#ifdef CLEANUP_pidof
+#undef CLEANUP_pidof
+#undef FOR_pidof
+#undef FLAG_x
+#undef FLAG_o
+#undef FLAG_s
+#endif
+
+// ping   <1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]
+#undef OPTSTR_ping
+#define OPTSTR_ping "<1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]"
+#ifdef CLEANUP_ping
+#undef CLEANUP_ping
+#undef FOR_ping
+#undef FLAG_I
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_f
+#undef FLAG_q
+#undef FLAG_w
+#undef FLAG_W
+#undef FLAG_i
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_t
+#undef FLAG_m
+#endif
+
+// pivot_root   <2>2
+#undef OPTSTR_pivot_root
+#define OPTSTR_pivot_root "<2>2"
+#ifdef CLEANUP_pivot_root
+#undef CLEANUP_pivot_root
+#undef FOR_pivot_root
+#endif
+
+// pkill ?Vu*U*t*s*P*g*G*fnovxl:[-no] ?Vu*U*t*s*P*g*G*fnovxl:[-no]
+#undef OPTSTR_pkill
+#define OPTSTR_pkill "?Vu*U*t*s*P*g*G*fnovxl:[-no]"
+#ifdef CLEANUP_pkill
+#undef CLEANUP_pkill
+#undef FOR_pkill
+#undef FLAG_l
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_P
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_V
+#endif
+
+// pmap   <1xq
+#undef OPTSTR_pmap
+#define OPTSTR_pmap "<1xq"
+#ifdef CLEANUP_pmap
+#undef CLEANUP_pmap
+#undef FOR_pmap
+#undef FLAG_q
+#undef FLAG_x
+#endif
+
+// printenv   (null)0
+#undef OPTSTR_printenv
+#define OPTSTR_printenv "(null)0"
+#ifdef CLEANUP_printenv
+#undef CLEANUP_printenv
+#undef FOR_printenv
+#undef FLAG_0
+#undef FLAG_null
+#endif
+
+// printf <1?^ <1?^
+#undef OPTSTR_printf
+#define OPTSTR_printf "<1?^"
+#ifdef CLEANUP_printf
+#undef CLEANUP_printf
+#undef FOR_printf
+#endif
+
+// ps k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO] k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]
+#undef OPTSTR_ps
+#define OPTSTR_ps "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]"
+#ifdef CLEANUP_ps
+#undef CLEANUP_ps
+#undef FOR_ps
+#undef FLAG_Z
+#undef FLAG_w
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_O
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_M
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_d
+#undef FLAG_A
+#undef FLAG_a
+#undef FLAG_P
+#undef FLAG_k
+#endif
+
+// pwd >0LP[-LP] >0LP[-LP]
+#undef OPTSTR_pwd
+#define OPTSTR_pwd ">0LP[-LP]"
+#ifdef CLEANUP_pwd
+#undef CLEANUP_pwd
+#undef FOR_pwd
+#undef FLAG_P
+#undef FLAG_L
+#endif
+
+// pwdx   <1a
+#undef OPTSTR_pwdx
+#define OPTSTR_pwdx "<1a"
+#ifdef CLEANUP_pwdx
+#undef CLEANUP_pwdx
+#undef FOR_pwdx
+#undef FLAG_a
+#endif
+
+// pwgen   >2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]
+#undef OPTSTR_pwgen
+#define OPTSTR_pwgen ">2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]"
+#ifdef CLEANUP_pwgen
+#undef CLEANUP_pwgen
+#undef FOR_pwgen
+#undef FLAG_0
+#undef FLAG_A
+#undef FLAG_v
+#undef FLAG_1
+#undef FLAG_C
+#undef FLAG_h
+#undef FLAG_B
+#undef FLAG_s
+#undef FLAG_y
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_r
+#endif
+
+// readahead    
+#undef OPTSTR_readahead
+#define OPTSTR_readahead 0
+#ifdef CLEANUP_readahead
+#undef CLEANUP_readahead
+#undef FOR_readahead
+#endif
+
+// readelf   <1(dyn-syms)adehlnp:SsWx:
+#undef OPTSTR_readelf
+#define OPTSTR_readelf "<1(dyn-syms)adehlnp:SsWx:"
+#ifdef CLEANUP_readelf
+#undef CLEANUP_readelf
+#undef FOR_readelf
+#undef FLAG_x
+#undef FLAG_W
+#undef FLAG_s
+#undef FLAG_S
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_l
+#undef FLAG_h
+#undef FLAG_e
+#undef FLAG_d
+#undef FLAG_a
+#undef FLAG_dyn_syms
+#endif
+
+// readlink <1nqmef(canonicalize)[-mef] <1nqmef(canonicalize)[-mef]
+#undef OPTSTR_readlink
+#define OPTSTR_readlink "<1nqmef(canonicalize)[-mef]"
+#ifdef CLEANUP_readlink
+#undef CLEANUP_readlink
+#undef FOR_readlink
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_n
+#endif
+
+// realpath <1 <1
+#undef OPTSTR_realpath
+#define OPTSTR_realpath "<1"
+#ifdef CLEANUP_realpath
+#undef CLEANUP_realpath
+#undef FOR_realpath
+#endif
+
+// reboot   fn
+#undef OPTSTR_reboot
+#define OPTSTR_reboot "fn"
+#ifdef CLEANUP_reboot
+#undef CLEANUP_reboot
+#undef FOR_reboot
+#undef FLAG_n
+#undef FLAG_f
+#endif
+
+// renice   <1gpun#|
+#undef OPTSTR_renice
+#define OPTSTR_renice "<1gpun#|"
+#ifdef CLEANUP_renice
+#undef CLEANUP_renice
+#undef FOR_renice
+#undef FLAG_n
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_g
+#endif
+
+// reset    
+#undef OPTSTR_reset
+#define OPTSTR_reset 0
+#ifdef CLEANUP_reset
+#undef CLEANUP_reset
+#undef FOR_reset
+#endif
+
+// restorecon   <1DFnRrv
+#undef OPTSTR_restorecon
+#define OPTSTR_restorecon "<1DFnRrv"
+#ifdef CLEANUP_restorecon
+#undef CLEANUP_restorecon
+#undef FOR_restorecon
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_R
+#undef FLAG_n
+#undef FLAG_F
+#undef FLAG_D
+#endif
+
+// rev    
+#undef OPTSTR_rev
+#define OPTSTR_rev 0
+#ifdef CLEANUP_rev
+#undef CLEANUP_rev
+#undef FOR_rev
+#endif
+
+// rfkill   <1>2
+#undef OPTSTR_rfkill
+#define OPTSTR_rfkill "<1>2"
+#ifdef CLEANUP_rfkill
+#undef CLEANUP_rfkill
+#undef FOR_rfkill
+#endif
+
+// rm fiRrv[-fi] fiRrv[-fi]
+#undef OPTSTR_rm
+#define OPTSTR_rm "fiRrv[-fi]"
+#ifdef CLEANUP_rm
+#undef CLEANUP_rm
+#undef FOR_rm
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_f
+#endif
+
+// rmdir <1(ignore-fail-on-non-empty)p(parents) <1(ignore-fail-on-non-empty)p(parents)
+#undef OPTSTR_rmdir
+#define OPTSTR_rmdir "<1(ignore-fail-on-non-empty)p(parents)"
+#ifdef CLEANUP_rmdir
+#undef CLEANUP_rmdir
+#undef FOR_rmdir
+#undef FLAG_p
+#undef FLAG_ignore_fail_on_non_empty
+#endif
+
+// rmmod   <1wf
+#undef OPTSTR_rmmod
+#define OPTSTR_rmmod "<1wf"
+#ifdef CLEANUP_rmmod
+#undef CLEANUP_rmmod
+#undef FOR_rmmod
+#undef FLAG_f
+#undef FLAG_w
+#endif
+
+// route   ?neA:
+#undef OPTSTR_route
+#define OPTSTR_route "?neA:"
+#ifdef CLEANUP_route
+#undef CLEANUP_route
+#undef FOR_route
+#undef FLAG_A
+#undef FLAG_e
+#undef FLAG_n
+#endif
+
+// rtcwake   (list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]
+#undef OPTSTR_rtcwake
+#define OPTSTR_rtcwake "(list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]"
+#ifdef CLEANUP_rtcwake
+#undef CLEANUP_rtcwake
+#undef FOR_rtcwake
+#undef FLAG_v
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_m
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_a
+#undef FLAG_auto
+#undef FLAG_list_modes
+#endif
+
+// runcon   <2
+#undef OPTSTR_runcon
+#define OPTSTR_runcon "<2"
+#ifdef CLEANUP_runcon
+#undef CLEANUP_runcon
+#undef FOR_runcon
+#endif
+
+// sed (help)(version)e*f*i:;nErz(null-data)s[+Er] (help)(version)e*f*i:;nErz(null-data)s[+Er]
+#undef OPTSTR_sed
+#define OPTSTR_sed "(help)(version)e*f*i:;nErz(null-data)s[+Er]"
+#ifdef CLEANUP_sed
+#undef CLEANUP_sed
+#undef FOR_sed
+#undef FLAG_s
+#undef FLAG_z
+#undef FLAG_r
+#undef FLAG_E
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_version
+#undef FLAG_help
+#endif
+
+// sendevent   <4>4
+#undef OPTSTR_sendevent
+#define OPTSTR_sendevent "<4>4"
+#ifdef CLEANUP_sendevent
+#undef CLEANUP_sendevent
+#undef FOR_sendevent
+#endif
+
+// seq <1>3?f:s:w[!fw] <1>3?f:s:w[!fw]
+#undef OPTSTR_seq
+#define OPTSTR_seq "<1>3?f:s:w[!fw]"
+#ifdef CLEANUP_seq
+#undef CLEANUP_seq
+#undef FOR_seq
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_f
+#endif
+
+// set    
+#undef OPTSTR_set
+#define OPTSTR_set 0
+#ifdef CLEANUP_set
+#undef CLEANUP_set
+#undef FOR_set
+#endif
+
+// setenforce   <1>1
+#undef OPTSTR_setenforce
+#define OPTSTR_setenforce "<1>1"
+#ifdef CLEANUP_setenforce
+#undef CLEANUP_setenforce
+#undef FOR_setenforce
+#endif
+
+// setfattr   hn:|v:x:|[!xv]
+#undef OPTSTR_setfattr
+#define OPTSTR_setfattr "hn:|v:x:|[!xv]"
+#ifdef CLEANUP_setfattr
+#undef CLEANUP_setfattr
+#undef FOR_setfattr
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_n
+#undef FLAG_h
+#endif
+
+// setsid ^<1wcd[!dc] ^<1wcd[!dc]
+#undef OPTSTR_setsid
+#define OPTSTR_setsid "^<1wcd[!dc]"
+#ifdef CLEANUP_setsid
+#undef CLEANUP_setsid
+#undef FOR_setsid
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_w
+#endif
+
+// sh   0(noediting)(noprofile)(norc)sc:i
+#undef OPTSTR_sh
+#define OPTSTR_sh "0(noediting)(noprofile)(norc)sc:i"
+#ifdef CLEANUP_sh
+#undef CLEANUP_sh
+#undef FOR_sh
+#undef FLAG_i
+#undef FLAG_c
+#undef FLAG_s
+#undef FLAG_norc
+#undef FLAG_noprofile
+#undef FLAG_noediting
+#endif
+
+// sha1sum bc(check)s(status)[!bc] bc(check)s(status)[!bc]
+#undef OPTSTR_sha1sum
+#define OPTSTR_sha1sum "bc(check)s(status)[!bc]"
+#ifdef CLEANUP_sha1sum
+#undef CLEANUP_sha1sum
+#undef FOR_sha1sum
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// sha3sum   bSa#<128>512=224
+#undef OPTSTR_sha3sum
+#define OPTSTR_sha3sum "bSa#<128>512=224"
+#ifdef CLEANUP_sha3sum
+#undef CLEANUP_sha3sum
+#undef FOR_sha3sum
+#undef FLAG_a
+#undef FLAG_S
+#undef FLAG_b
+#endif
+
+// shift   >1
+#undef OPTSTR_shift
+#define OPTSTR_shift ">1"
+#ifdef CLEANUP_shift
+#undef CLEANUP_shift
+#undef FOR_shift
+#endif
+
+// shred   <1zxus#<1n#<1o#<0f
+#undef OPTSTR_shred
+#define OPTSTR_shred "<1zxus#<1n#<1o#<0f"
+#ifdef CLEANUP_shred
+#undef CLEANUP_shred
+#undef FOR_shred
+#undef FLAG_f
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_x
+#undef FLAG_z
+#endif
+
+// skeleton   (walrus)(blubber):;(also):e@d*c#b:a
+#undef OPTSTR_skeleton
+#define OPTSTR_skeleton "(walrus)(blubber):;(also):e@d*c#b:a"
+#ifdef CLEANUP_skeleton
+#undef CLEANUP_skeleton
+#undef FOR_skeleton
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_also
+#undef FLAG_blubber
+#undef FLAG_walrus
+#endif
+
+// skeleton_alias   b#dq
+#undef OPTSTR_skeleton_alias
+#define OPTSTR_skeleton_alias "b#dq"
+#ifdef CLEANUP_skeleton_alias
+#undef CLEANUP_skeleton_alias
+#undef FOR_skeleton_alias
+#undef FLAG_q
+#undef FLAG_d
+#undef FLAG_b
+#endif
+
+// sleep <1 <1
+#undef OPTSTR_sleep
+#define OPTSTR_sleep "<1"
+#ifdef CLEANUP_sleep
+#undef CLEANUP_sleep
+#undef FOR_sleep
+#endif
+
+// sntp   >1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]
+#undef OPTSTR_sntp
+#define OPTSTR_sntp ">1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]"
+#ifdef CLEANUP_sntp
+#undef CLEANUP_sntp
+#undef FOR_sntp
+#undef FLAG_r
+#undef FLAG_q
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_a
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_S
+#undef FLAG_m
+#undef FLAG_M
+#endif
+
+// sort gS:T:mo:k*t:xVbMcszdfirun gS:T:mo:k*t:xVbMcszdfirun
+#undef OPTSTR_sort
+#define OPTSTR_sort "gS:T:mo:k*t:xVbMcszdfirun"
+#ifdef CLEANUP_sort
+#undef CLEANUP_sort
+#undef FOR_sort
+#undef FLAG_n
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_z
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_M
+#undef FLAG_b
+#undef FLAG_V
+#undef FLAG_x
+#undef FLAG_t
+#undef FLAG_k
+#undef FLAG_o
+#undef FLAG_m
+#undef FLAG_T
+#undef FLAG_S
+#undef FLAG_g
+#endif
+
+// source   0<1
+#undef OPTSTR_source
+#define OPTSTR_source "0<1"
+#ifdef CLEANUP_source
+#undef CLEANUP_source
+#undef FOR_source
+#endif
+
+// split   >2a#<1=2>9b#<1l#<1[!bl]
+#undef OPTSTR_split
+#define OPTSTR_split ">2a#<1=2>9b#<1l#<1[!bl]"
+#ifdef CLEANUP_split
+#undef CLEANUP_split
+#undef FOR_split
+#undef FLAG_l
+#undef FLAG_b
+#undef FLAG_a
+#endif
+
+// stat <1c:(format)fLt <1c:(format)fLt
+#undef OPTSTR_stat
+#define OPTSTR_stat "<1c:(format)fLt"
+#ifdef CLEANUP_stat
+#undef CLEANUP_stat
+#undef FOR_stat
+#undef FLAG_t
+#undef FLAG_L
+#undef FLAG_f
+#undef FLAG_c
+#endif
+
+// strings   t:an#=4<1fo
+#undef OPTSTR_strings
+#define OPTSTR_strings "t:an#=4<1fo"
+#ifdef CLEANUP_strings
+#undef CLEANUP_strings
+#undef FOR_strings
+#undef FLAG_o
+#undef FLAG_f
+#undef FLAG_n
+#undef FLAG_a
+#undef FLAG_t
+#endif
+
+// stty   ?aF:g[!ag]
+#undef OPTSTR_stty
+#define OPTSTR_stty "?aF:g[!ag]"
+#ifdef CLEANUP_stty
+#undef CLEANUP_stty
+#undef FOR_stty
+#undef FLAG_g
+#undef FLAG_F
+#undef FLAG_a
+#endif
+
+// su   ^lmpu:g:c:s:[!lmp]
+#undef OPTSTR_su
+#define OPTSTR_su "^lmpu:g:c:s:[!lmp]"
+#ifdef CLEANUP_su
+#undef CLEANUP_su
+#undef FOR_su
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_g
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_m
+#undef FLAG_l
+#endif
+
+// sulogin   t#<0=0
+#undef OPTSTR_sulogin
+#define OPTSTR_sulogin "t#<0=0"
+#ifdef CLEANUP_sulogin
+#undef CLEANUP_sulogin
+#undef FOR_sulogin
+#undef FLAG_t
+#endif
+
+// swapoff   <1>1
+#undef OPTSTR_swapoff
+#define OPTSTR_swapoff "<1>1"
+#ifdef CLEANUP_swapoff
+#undef CLEANUP_swapoff
+#undef FOR_swapoff
+#endif
+
+// swapon   <1>1p#<0>32767d
+#undef OPTSTR_swapon
+#define OPTSTR_swapon "<1>1p#<0>32767d"
+#ifdef CLEANUP_swapon
+#undef CLEANUP_swapon
+#undef FOR_swapon
+#undef FLAG_d
+#undef FLAG_p
+#endif
+
+// switch_root   <2c:h
+#undef OPTSTR_switch_root
+#define OPTSTR_switch_root "<2c:h"
+#ifdef CLEANUP_switch_root
+#undef CLEANUP_switch_root
+#undef FOR_switch_root
+#undef FLAG_h
+#undef FLAG_c
+#endif
+
+// sync    
+#undef OPTSTR_sync
+#define OPTSTR_sync 0
+#ifdef CLEANUP_sync
+#undef CLEANUP_sync
+#undef FOR_sync
+#endif
+
+// sysctl   ^neNqwpaA[!ap][!aq][!aw][+aA]
+#undef OPTSTR_sysctl
+#define OPTSTR_sysctl "^neNqwpaA[!ap][!aq][!aw][+aA]"
+#ifdef CLEANUP_sysctl
+#undef CLEANUP_sysctl
+#undef FOR_sysctl
+#undef FLAG_A
+#undef FLAG_a
+#undef FLAG_p
+#undef FLAG_w
+#undef FLAG_q
+#undef FLAG_N
+#undef FLAG_e
+#undef FLAG_n
+#endif
+
+// syslogd   >0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD
+#undef OPTSTR_syslogd
+#define OPTSTR_syslogd ">0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD"
+#ifdef CLEANUP_syslogd
+#undef CLEANUP_syslogd
+#undef FOR_syslogd
+#undef FLAG_D
+#undef FLAG_L
+#undef FLAG_K
+#undef FLAG_S
+#undef FLAG_n
+#undef FLAG_a
+#undef FLAG_f
+#undef FLAG_p
+#undef FLAG_O
+#undef FLAG_m
+#undef FLAG_s
+#undef FLAG_b
+#undef FLAG_R
+#undef FLAG_l
+#endif
+
+// tac    
+#undef OPTSTR_tac
+#define OPTSTR_tac 0
+#ifdef CLEANUP_tac
+#undef CLEANUP_tac
+#undef FOR_tac
+#endif
+
+// tail ?fc-n-[-cn] ?fc-n-[-cn]
+#undef OPTSTR_tail
+#define OPTSTR_tail "?fc-n-[-cn]"
+#ifdef CLEANUP_tail
+#undef CLEANUP_tail
+#undef FOR_tail
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_f
+#endif
+
+// tar &(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa] &(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]
+#undef OPTSTR_tar
+#define OPTSTR_tar "&(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]"
+#ifdef CLEANUP_tar
+#undef CLEANUP_tar
+#undef FOR_tar
+#undef FLAG_a
+#undef FLAG_f
+#undef FLAG_C
+#undef FLAG_T
+#undef FLAG_X
+#undef FLAG_m
+#undef FLAG_P
+#undef FLAG_O
+#undef FLAG_S
+#undef FLAG_z
+#undef FLAG_j
+#undef FLAG_J
+#undef FLAG_I
+#undef FLAG_v
+#undef FLAG_t
+#undef FLAG_x
+#undef FLAG_h
+#undef FLAG_c
+#undef FLAG_k
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_to_command
+#undef FLAG_owner
+#undef FLAG_group
+#undef FLAG_mtime
+#undef FLAG_mode
+#undef FLAG_exclude
+#undef FLAG_overwrite
+#undef FLAG_no_same_permissions
+#undef FLAG_numeric_owner
+#undef FLAG_no_recursion
+#undef FLAG_full_time
+#undef FLAG_restrict
+#endif
+
+// taskset   <1^pa
+#undef OPTSTR_taskset
+#define OPTSTR_taskset "<1^pa"
+#ifdef CLEANUP_taskset
+#undef CLEANUP_taskset
+#undef FOR_taskset
+#undef FLAG_a
+#undef FLAG_p
+#endif
+
+// tcpsvd   ^<3c#=30<1C:b#=20<0u:l:hEv
+#undef OPTSTR_tcpsvd
+#define OPTSTR_tcpsvd "^<3c#=30<1C:b#=20<0u:l:hEv"
+#ifdef CLEANUP_tcpsvd
+#undef CLEANUP_tcpsvd
+#undef FOR_tcpsvd
+#undef FLAG_v
+#undef FLAG_E
+#undef FLAG_h
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_C
+#undef FLAG_c
+#endif
+
+// tee ia ia
+#undef OPTSTR_tee
+#define OPTSTR_tee "ia"
+#ifdef CLEANUP_tee
+#undef CLEANUP_tee
+#undef FOR_tee
+#undef FLAG_a
+#undef FLAG_i
+#endif
+
+// telnet   <1>2
+#undef OPTSTR_telnet
+#define OPTSTR_telnet "<1>2"
+#ifdef CLEANUP_telnet
+#undef CLEANUP_telnet
+#undef FOR_telnet
+#endif
+
+// telnetd   w#<0b:p#<0>65535=23f:l:FSKi[!wi]
+#undef OPTSTR_telnetd
+#define OPTSTR_telnetd "w#<0b:p#<0>65535=23f:l:FSKi[!wi]"
+#ifdef CLEANUP_telnetd
+#undef CLEANUP_telnetd
+#undef FOR_telnetd
+#undef FLAG_i
+#undef FLAG_K
+#undef FLAG_S
+#undef FLAG_F
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_p
+#undef FLAG_b
+#undef FLAG_w
+#endif
+
+// test    
+#undef OPTSTR_test
+#define OPTSTR_test 0
+#ifdef CLEANUP_test
+#undef CLEANUP_test
+#undef FOR_test
+#endif
+
+// tftp   <1b#<8>65464r:l:g|p|[!gp]
+#undef OPTSTR_tftp
+#define OPTSTR_tftp "<1b#<8>65464r:l:g|p|[!gp]"
+#ifdef CLEANUP_tftp
+#undef CLEANUP_tftp
+#undef FOR_tftp
+#undef FLAG_p
+#undef FLAG_g
+#undef FLAG_l
+#undef FLAG_r
+#undef FLAG_b
+#endif
+
+// tftpd   rcu:l
+#undef OPTSTR_tftpd
+#define OPTSTR_tftpd "rcu:l"
+#ifdef CLEANUP_tftpd
+#undef CLEANUP_tftpd
+#undef FOR_tftpd
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_c
+#undef FLAG_r
+#endif
+
+// time   <1^pv
+#undef OPTSTR_time
+#define OPTSTR_time "<1^pv"
+#ifdef CLEANUP_time
+#undef CLEANUP_time
+#undef FOR_time
+#undef FLAG_v
+#undef FLAG_p
+#endif
+
+// timeout <2^(foreground)(preserve-status)vk:s(signal): <2^(foreground)(preserve-status)vk:s(signal):
+#undef OPTSTR_timeout
+#define OPTSTR_timeout "<2^(foreground)(preserve-status)vk:s(signal):"
+#ifdef CLEANUP_timeout
+#undef CLEANUP_timeout
+#undef FOR_timeout
+#undef FLAG_s
+#undef FLAG_k
+#undef FLAG_v
+#undef FLAG_preserve_status
+#undef FLAG_foreground
+#endif
+
+// top   >0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]
+#undef OPTSTR_top
+#define OPTSTR_top ">0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]"
+#ifdef CLEANUP_top
+#undef CLEANUP_top
+#undef FOR_top
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_O
+#endif
+
+// touch <1acd:fmr:t:h[!dtr] <1acd:fmr:t:h[!dtr]
+#undef OPTSTR_touch
+#define OPTSTR_touch "<1acd:fmr:t:h[!dtr]"
+#ifdef CLEANUP_touch
+#undef CLEANUP_touch
+#undef FOR_touch
+#undef FLAG_h
+#undef FLAG_t
+#undef FLAG_r
+#undef FLAG_m
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_a
+#endif
+
+// toybox    
+#undef OPTSTR_toybox
+#define OPTSTR_toybox 0
+#ifdef CLEANUP_toybox
+#undef CLEANUP_toybox
+#undef FOR_toybox
+#endif
+
+// tr ^>2<1Ccsd[+cC] ^>2<1Ccsd[+cC]
+#undef OPTSTR_tr
+#define OPTSTR_tr "^>2<1Ccsd[+cC]"
+#ifdef CLEANUP_tr
+#undef CLEANUP_tr
+#undef FOR_tr
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_C
+#endif
+
+// traceroute   <1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64
+#undef OPTSTR_traceroute
+#define OPTSTR_traceroute "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64"
+#ifdef CLEANUP_traceroute
+#undef CLEANUP_traceroute
+#undef FOR_traceroute
+#undef FLAG_4
+#undef FLAG_6
+#undef FLAG_F
+#undef FLAG_U
+#undef FLAG_I
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_m
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_w
+#undef FLAG_g
+#undef FLAG_z
+#undef FLAG_f
+#undef FLAG_i
+#endif
+
+// true    
+#undef OPTSTR_true
+#define OPTSTR_true 0
+#ifdef CLEANUP_true
+#undef CLEANUP_true
+#undef FOR_true
+#endif
+
+// truncate <1s:|c <1s:|c
+#undef OPTSTR_truncate
+#define OPTSTR_truncate "<1s:|c"
+#ifdef CLEANUP_truncate
+#undef CLEANUP_truncate
+#undef FOR_truncate
+#undef FLAG_c
+#undef FLAG_s
+#endif
+
+// tty   s
+#undef OPTSTR_tty
+#define OPTSTR_tty "s"
+#ifdef CLEANUP_tty
+#undef CLEANUP_tty
+#undef FOR_tty
+#undef FLAG_s
+#endif
+
+// tunctl   <1>1t|d|u:T[!td]
+#undef OPTSTR_tunctl
+#define OPTSTR_tunctl "<1>1t|d|u:T[!td]"
+#ifdef CLEANUP_tunctl
+#undef CLEANUP_tunctl
+#undef FOR_tunctl
+#undef FLAG_T
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_t
+#endif
+
+// ulimit   >1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]
+#undef OPTSTR_ulimit
+#define OPTSTR_ulimit ">1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]"
+#ifdef CLEANUP_ulimit
+#undef CLEANUP_ulimit
+#undef FOR_ulimit
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_i
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_R
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_a
+#undef FLAG_H
+#undef FLAG_S
+#undef FLAG_P
+#endif
+
+// umount   cndDflrat*v[!na]
+#undef OPTSTR_umount
+#define OPTSTR_umount "cndDflrat*v[!na]"
+#ifdef CLEANUP_umount
+#undef CLEANUP_umount
+#undef FOR_umount
+#undef FLAG_v
+#undef FLAG_t
+#undef FLAG_a
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_n
+#undef FLAG_c
+#endif
+
+// uname oamvrns[+os] oamvrns[+os]
+#undef OPTSTR_uname
+#define OPTSTR_uname "oamvrns[+os]"
+#ifdef CLEANUP_uname
+#undef CLEANUP_uname
+#undef FOR_uname
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_r
+#undef FLAG_v
+#undef FLAG_m
+#undef FLAG_a
+#undef FLAG_o
+#endif
+
+// unicode   <1
+#undef OPTSTR_unicode
+#define OPTSTR_unicode "<1"
+#ifdef CLEANUP_unicode
+#undef CLEANUP_unicode
+#undef FOR_unicode
+#endif
+
+// uniq f#s#w#zicdu f#s#w#zicdu
+#undef OPTSTR_uniq
+#define OPTSTR_uniq "f#s#w#zicdu"
+#ifdef CLEANUP_uniq
+#undef CLEANUP_uniq
+#undef FOR_uniq
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_i
+#undef FLAG_z
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_f
+#endif
+
+// unix2dos    
+#undef OPTSTR_unix2dos
+#define OPTSTR_unix2dos 0
+#ifdef CLEANUP_unix2dos
+#undef CLEANUP_unix2dos
+#undef FOR_unix2dos
+#endif
+
+// unlink   <1>1
+#undef OPTSTR_unlink
+#define OPTSTR_unlink "<1>1"
+#ifdef CLEANUP_unlink
+#undef CLEANUP_unlink
+#undef FOR_unlink
+#endif
+
+// unset   fvn
+#undef OPTSTR_unset
+#define OPTSTR_unset "fvn"
+#ifdef CLEANUP_unset
+#undef CLEANUP_unset
+#undef FOR_unset
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_f
+#endif
+
+// unshare   <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);
+#undef OPTSTR_unshare
+#define OPTSTR_unshare "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);"
+#ifdef CLEANUP_unshare
+#undef CLEANUP_unshare
+#undef FOR_unshare
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_i
+#undef FLAG_r
+#undef FLAG_f
+#endif
+
+// uptime   >0ps
+#undef OPTSTR_uptime
+#define OPTSTR_uptime ">0ps"
+#ifdef CLEANUP_uptime
+#undef CLEANUP_uptime
+#undef FOR_uptime
+#undef FLAG_s
+#undef FLAG_p
+#endif
+
+// useradd   <1>2u#<0G:s:g:h:SDH
+#undef OPTSTR_useradd
+#define OPTSTR_useradd "<1>2u#<0G:s:g:h:SDH"
+#ifdef CLEANUP_useradd
+#undef CLEANUP_useradd
+#undef FOR_useradd
+#undef FLAG_H
+#undef FLAG_D
+#undef FLAG_S
+#undef FLAG_h
+#undef FLAG_g
+#undef FLAG_s
+#undef FLAG_G
+#undef FLAG_u
+#endif
+
+// userdel   <1>1r
+#undef OPTSTR_userdel
+#define OPTSTR_userdel "<1>1r"
+#ifdef CLEANUP_userdel
+#undef CLEANUP_userdel
+#undef FOR_userdel
+#undef FLAG_r
+#endif
+
+// usleep   <1
+#undef OPTSTR_usleep
+#define OPTSTR_usleep "<1"
+#ifdef CLEANUP_usleep
+#undef CLEANUP_usleep
+#undef FOR_usleep
+#endif
+
+// uudecode   >1o:
+#undef OPTSTR_uudecode
+#define OPTSTR_uudecode ">1o:"
+#ifdef CLEANUP_uudecode
+#undef CLEANUP_uudecode
+#undef FOR_uudecode
+#undef FLAG_o
+#endif
+
+// uuencode   <1>2m
+#undef OPTSTR_uuencode
+#define OPTSTR_uuencode "<1>2m"
+#ifdef CLEANUP_uuencode
+#undef CLEANUP_uuencode
+#undef FOR_uuencode
+#undef FLAG_m
+#endif
+
+// uuidgen   >0r(random)
+#undef OPTSTR_uuidgen
+#define OPTSTR_uuidgen ">0r(random)"
+#ifdef CLEANUP_uuidgen
+#undef CLEANUP_uuidgen
+#undef FOR_uuidgen
+#undef FLAG_r
+#endif
+
+// vconfig   <2>4
+#undef OPTSTR_vconfig
+#define OPTSTR_vconfig "<2>4"
+#ifdef CLEANUP_vconfig
+#undef CLEANUP_vconfig
+#undef FOR_vconfig
+#endif
+
+// vi   >1s:
+#undef OPTSTR_vi
+#define OPTSTR_vi ">1s:"
+#ifdef CLEANUP_vi
+#undef CLEANUP_vi
+#undef FOR_vi
+#undef FLAG_s
+#endif
+
+// vmstat   >2n
+#undef OPTSTR_vmstat
+#define OPTSTR_vmstat ">2n"
+#ifdef CLEANUP_vmstat
+#undef CLEANUP_vmstat
+#undef FOR_vmstat
+#undef FLAG_n
+#endif
+
+// w    
+#undef OPTSTR_w
+#define OPTSTR_w 0
+#ifdef CLEANUP_w
+#undef CLEANUP_w
+#undef FOR_w
+#endif
+
+// watch   ^<1n%<100=2000tebx
+#undef OPTSTR_watch
+#define OPTSTR_watch "^<1n%<100=2000tebx"
+#ifdef CLEANUP_watch
+#undef CLEANUP_watch
+#undef FOR_watch
+#undef FLAG_x
+#undef FLAG_b
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_n
+#endif
+
+// watchdog   <1>1Ft#=4<1T#=60<1
+#undef OPTSTR_watchdog
+#define OPTSTR_watchdog "<1>1Ft#=4<1T#=60<1"
+#ifdef CLEANUP_watchdog
+#undef CLEANUP_watchdog
+#undef FOR_watchdog
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_F
+#endif
+
+// wc mcwl mcwl
+#undef OPTSTR_wc
+#define OPTSTR_wc "mcwl"
+#ifdef CLEANUP_wc
+#undef CLEANUP_wc
+#undef FOR_wc
+#undef FLAG_l
+#undef FLAG_w
+#undef FLAG_c
+#undef FLAG_m
+#endif
+
+// wget   (no-check-certificate)O:
+#undef OPTSTR_wget
+#define OPTSTR_wget "(no-check-certificate)O:"
+#ifdef CLEANUP_wget
+#undef CLEANUP_wget
+#undef FOR_wget
+#undef FLAG_O
+#undef FLAG_no_check_certificate
+#endif
+
+// which <1a <1a
+#undef OPTSTR_which
+#define OPTSTR_which "<1a"
+#ifdef CLEANUP_which
+#undef CLEANUP_which
+#undef FOR_which
+#undef FLAG_a
+#endif
+
+// who   a
+#undef OPTSTR_who
+#define OPTSTR_who "a"
+#ifdef CLEANUP_who
+#undef CLEANUP_who
+#undef FOR_who
+#undef FLAG_a
+#endif
+
+// xargs ^E:P#<0=1optrn#<1(max-args)s#0[!0E] ^E:P#<0=1optrn#<1(max-args)s#0[!0E]
+#undef OPTSTR_xargs
+#define OPTSTR_xargs "^E:P#<0=1optrn#<1(max-args)s#0[!0E]"
+#ifdef CLEANUP_xargs
+#undef CLEANUP_xargs
+#undef FOR_xargs
+#undef FLAG_0
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_r
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_P
+#undef FLAG_E
+#endif
+
+// xxd >1c#l#o#g#<1=2iprs#[!rs] >1c#l#o#g#<1=2iprs#[!rs]
+#undef OPTSTR_xxd
+#define OPTSTR_xxd ">1c#l#o#g#<1=2iprs#[!rs]"
+#ifdef CLEANUP_xxd
+#undef CLEANUP_xxd
+#undef FOR_xxd
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_p
+#undef FLAG_i
+#undef FLAG_g
+#undef FLAG_o
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// xzcat    
+#undef OPTSTR_xzcat
+#define OPTSTR_xzcat 0
+#ifdef CLEANUP_xzcat
+#undef CLEANUP_xzcat
+#undef FOR_xzcat
+#endif
+
+// yes    
+#undef OPTSTR_yes
+#define OPTSTR_yes 0
+#ifdef CLEANUP_yes
+#undef CLEANUP_yes
+#undef FOR_yes
+#endif
+
+// zcat cdfk123456789[-123456789] cdfk123456789[-123456789]
+#undef OPTSTR_zcat
+#define OPTSTR_zcat "cdfk123456789[-123456789]"
+#ifdef CLEANUP_zcat
+#undef CLEANUP_zcat
+#undef FOR_zcat
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+#ifdef FOR_acpi
+#ifndef TT
+#define TT this.acpi
+#endif
+#define FLAG_V (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#define FLAG_a (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_arch
+#ifndef TT
+#define TT this.arch
+#endif
+#endif
+
+#ifdef FOR_arp
+#ifndef TT
+#define TT this.arp
+#endif
+#define FLAG_H (FORCED_FLAG<<0)
+#define FLAG_A (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_v (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_arping
+#ifndef TT
+#define TT this.arping
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#define FLAG_D (FORCED_FLAG<<3)
+#define FLAG_U (FORCED_FLAG<<4)
+#define FLAG_A (FORCED_FLAG<<5)
+#define FLAG_c (FORCED_FLAG<<6)
+#define FLAG_w (FORCED_FLAG<<7)
+#define FLAG_I (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_ascii
+#ifndef TT
+#define TT this.ascii
+#endif
+#endif
+
+#ifdef FOR_base32
+#ifndef TT
+#define TT this.base32
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_base64
+#ifndef TT
+#define TT this.base64
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_basename
+#ifndef TT
+#define TT this.basename
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_bc
+#ifndef TT
+#define TT this.bc
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_blkdiscard
+#ifndef TT
+#define TT this.blkdiscard
+#endif
+#define FLAG_z (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_o (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_blkid
+#ifndef TT
+#define TT this.blkid
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_U (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_blockdev
+#ifndef TT
+#define TT this.blockdev
+#endif
+#define FLAG_rereadpt (FORCED_FLAG<<0)
+#define FLAG_flushbufs (FORCED_FLAG<<1)
+#define FLAG_setra (FORCED_FLAG<<2)
+#define FLAG_getra (FORCED_FLAG<<3)
+#define FLAG_getsize64 (FORCED_FLAG<<4)
+#define FLAG_getsize (FORCED_FLAG<<5)
+#define FLAG_getsz (FORCED_FLAG<<6)
+#define FLAG_setbsz (FORCED_FLAG<<7)
+#define FLAG_getbsz (FORCED_FLAG<<8)
+#define FLAG_getss (FORCED_FLAG<<9)
+#define FLAG_getro (FORCED_FLAG<<10)
+#define FLAG_setrw (FORCED_FLAG<<11)
+#define FLAG_setro (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_bootchartd
+#ifndef TT
+#define TT this.bootchartd
+#endif
+#endif
+
+#ifdef FOR_brctl
+#ifndef TT
+#define TT this.brctl
+#endif
+#endif
+
+#ifdef FOR_bunzip2
+#ifndef TT
+#define TT this.bunzip2
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_c (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_bzcat
+#ifndef TT
+#define TT this.bzcat
+#endif
+#endif
+
+#ifdef FOR_cal
+#ifndef TT
+#define TT this.cal
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_cat
+#ifndef TT
+#define TT this.cat
+#endif
+#define FLAG_e (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_u (1<<3)
+#endif
+
+#ifdef FOR_catv
+#ifndef TT
+#define TT this.catv
+#endif
+#define FLAG_e (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_cd
+#ifndef TT
+#define TT this.cd
+#endif
+#define FLAG_P (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_chattr
+#ifndef TT
+#define TT this.chattr
+#endif
+#define FLAG_R (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_chcon
+#ifndef TT
+#define TT this.chcon
+#endif
+#define FLAG_R (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_chgrp
+#ifndef TT
+#define TT this.chgrp
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#define FLAG_R (FORCED_FLAG<<2)
+#define FLAG_H (FORCED_FLAG<<3)
+#define FLAG_L (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_h (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_chmod
+#ifndef TT
+#define TT this.chmod
+#endif
+#define FLAG_R (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_v (1<<2)
+#endif
+
+#ifdef FOR_chroot
+#ifndef TT
+#define TT this.chroot
+#endif
+#endif
+
+#ifdef FOR_chrt
+#ifndef TT
+#define TT this.chrt
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#define FLAG_r (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#define FLAG_R (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_p (FORCED_FLAG<<6)
+#define FLAG_m (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_chvt
+#ifndef TT
+#define TT this.chvt
+#endif
+#endif
+
+#ifdef FOR_cksum
+#ifndef TT
+#define TT this.cksum
+#endif
+#define FLAG_N (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_P (FORCED_FLAG<<2)
+#define FLAG_I (FORCED_FLAG<<3)
+#define FLAG_H (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_clear
+#ifndef TT
+#define TT this.clear
+#endif
+#endif
+
+#ifdef FOR_cmp
+#ifndef TT
+#define TT this.cmp
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_l (1<<1)
+#endif
+
+#ifdef FOR_comm
+#ifndef TT
+#define TT this.comm
+#endif
+#define FLAG_1 (1<<0)
+#define FLAG_2 (1<<1)
+#define FLAG_3 (1<<2)
+#endif
+
+#ifdef FOR_count
+#ifndef TT
+#define TT this.count
+#endif
+#endif
+
+#ifdef FOR_cp
+#ifndef TT
+#define TT this.cp
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_F (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_v (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_a (1<<8)
+#define FLAG_d (1<<9)
+#define FLAG_r (1<<10)
+#define FLAG_p (1<<11)
+#define FLAG_P (1<<12)
+#define FLAG_L (1<<13)
+#define FLAG_H (1<<14)
+#define FLAG_R (1<<15)
+#define FLAG_D (1<<16)
+#define FLAG_preserve (1<<17)
+#endif
+
+#ifdef FOR_cpio
+#ifndef TT
+#define TT this.cpio
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_F (1<<2)
+#define FLAG_t (1<<3)
+#define FLAG_i (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_H (1<<6)
+#define FLAG_u (1<<7)
+#define FLAG_d (1<<8)
+#define FLAG_m (1<<9)
+#define FLAG_no_preserve_owner (1<<10)
+#define FLAG_quiet (1<<11)
+#endif
+
+#ifdef FOR_crc32
+#ifndef TT
+#define TT this.crc32
+#endif
+#endif
+
+#ifdef FOR_crond
+#ifndef TT
+#define TT this.crond
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_S (FORCED_FLAG<<4)
+#define FLAG_b (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_crontab
+#ifndef TT
+#define TT this.crontab
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_u (FORCED_FLAG<<3)
+#define FLAG_c (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_cut
+#ifndef TT
+#define TT this.cut
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_D (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_O (1<<4)
+#define FLAG_C (1<<5)
+#define FLAG_F (1<<6)
+#define FLAG_f (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_b (1<<9)
+#endif
+
+#ifdef FOR_date
+#ifndef TT
+#define TT this.date
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_I (1<<2)
+#define FLAG_D (1<<3)
+#define FLAG_d (1<<4)
+#endif
+
+#ifdef FOR_dd
+#ifndef TT
+#define TT this.dd
+#endif
+#endif
+
+#ifdef FOR_deallocvt
+#ifndef TT
+#define TT this.deallocvt
+#endif
+#endif
+
+#ifdef FOR_demo_many_options
+#ifndef TT
+#define TT this.demo_many_options
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_g (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_j (FORCED_FLAG<<9)
+#define FLAG_k (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_m (FORCED_FLAG<<12)
+#define FLAG_n (FORCED_FLAG<<13)
+#define FLAG_o (FORCED_FLAG<<14)
+#define FLAG_p (FORCED_FLAG<<15)
+#define FLAG_q (FORCED_FLAG<<16)
+#define FLAG_r (FORCED_FLAG<<17)
+#define FLAG_s (FORCED_FLAG<<18)
+#define FLAG_t (FORCED_FLAG<<19)
+#define FLAG_u (FORCED_FLAG<<20)
+#define FLAG_v (FORCED_FLAG<<21)
+#define FLAG_w (FORCED_FLAG<<22)
+#define FLAG_x (FORCED_FLAG<<23)
+#define FLAG_y (FORCED_FLAG<<24)
+#define FLAG_z (FORCED_FLAG<<25)
+#define FLAG_A (FORCED_FLAG<<26)
+#define FLAG_B (FORCED_FLAG<<27)
+#define FLAG_C (FORCED_FLAG<<28)
+#define FLAG_D (FORCED_FLAG<<29)
+#define FLAG_E (FORCED_FLAG<<30)
+#define FLAG_F (FORCED_FLAGLL<<31)
+#define FLAG_G (FORCED_FLAGLL<<32)
+#define FLAG_H (FORCED_FLAGLL<<33)
+#define FLAG_I (FORCED_FLAGLL<<34)
+#define FLAG_J (FORCED_FLAGLL<<35)
+#define FLAG_K (FORCED_FLAGLL<<36)
+#define FLAG_L (FORCED_FLAGLL<<37)
+#define FLAG_M (FORCED_FLAGLL<<38)
+#define FLAG_N (FORCED_FLAGLL<<39)
+#define FLAG_O (FORCED_FLAGLL<<40)
+#define FLAG_P (FORCED_FLAGLL<<41)
+#define FLAG_Q (FORCED_FLAGLL<<42)
+#define FLAG_R (FORCED_FLAGLL<<43)
+#define FLAG_S (FORCED_FLAGLL<<44)
+#define FLAG_T (FORCED_FLAGLL<<45)
+#define FLAG_U (FORCED_FLAGLL<<46)
+#define FLAG_V (FORCED_FLAGLL<<47)
+#define FLAG_W (FORCED_FLAGLL<<48)
+#define FLAG_X (FORCED_FLAGLL<<49)
+#define FLAG_Y (FORCED_FLAGLL<<50)
+#define FLAG_Z (FORCED_FLAGLL<<51)
+#endif
+
+#ifdef FOR_demo_number
+#ifndef TT
+#define TT this.demo_number
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#define FLAG_h (FORCED_FLAG<<4)
+#define FLAG_M (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_demo_scankey
+#ifndef TT
+#define TT this.demo_scankey
+#endif
+#endif
+
+#ifdef FOR_demo_utf8towc
+#ifndef TT
+#define TT this.demo_utf8towc
+#endif
+#endif
+
+#ifdef FOR_devmem
+#ifndef TT
+#define TT this.devmem
+#endif
+#endif
+
+#ifdef FOR_df
+#ifndef TT
+#define TT this.df
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_i (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#define FLAG_k (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_H (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_dhcp
+#ifndef TT
+#define TT this.dhcp
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_q (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_o (FORCED_FLAG<<5)
+#define FLAG_a (FORCED_FLAG<<6)
+#define FLAG_C (FORCED_FLAG<<7)
+#define FLAG_R (FORCED_FLAG<<8)
+#define FLAG_B (FORCED_FLAG<<9)
+#define FLAG_S (FORCED_FLAG<<10)
+#define FLAG_i (FORCED_FLAG<<11)
+#define FLAG_p (FORCED_FLAG<<12)
+#define FLAG_s (FORCED_FLAG<<13)
+#define FLAG_t (FORCED_FLAG<<14)
+#define FLAG_T (FORCED_FLAG<<15)
+#define FLAG_A (FORCED_FLAG<<16)
+#define FLAG_O (FORCED_FLAG<<17)
+#define FLAG_r (FORCED_FLAG<<18)
+#define FLAG_x (FORCED_FLAG<<19)
+#define FLAG_F (FORCED_FLAG<<20)
+#define FLAG_H (FORCED_FLAG<<21)
+#define FLAG_V (FORCED_FLAG<<22)
+#endif
+
+#ifdef FOR_dhcp6
+#ifndef TT
+#define TT this.dhcp6
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_q (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_R (FORCED_FLAG<<5)
+#define FLAG_S (FORCED_FLAG<<6)
+#define FLAG_i (FORCED_FLAG<<7)
+#define FLAG_p (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_T (FORCED_FLAG<<11)
+#define FLAG_A (FORCED_FLAG<<12)
+#define FLAG_r (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_dhcpd
+#ifndef TT
+#define TT this.dhcpd
+#endif
+#define FLAG_6 (FORCED_FLAG<<0)
+#define FLAG_4 (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_i (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_diff
+#ifndef TT
+#define TT this.diff
+#endif
+#define FLAG_U (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_N (1<<2)
+#define FLAG_S (1<<3)
+#define FLAG_L (1<<4)
+#define FLAG_a (1<<5)
+#define FLAG_q (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_T (1<<8)
+#define FLAG_i (1<<9)
+#define FLAG_w (1<<10)
+#define FLAG_t (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_b (1<<13)
+#define FLAG_d (1<<14)
+#define FLAG_B (1<<15)
+#define FLAG_strip_trailing_cr (1<<16)
+#define FLAG_color (1<<17)
+#endif
+
+#ifdef FOR_dirname
+#ifndef TT
+#define TT this.dirname
+#endif
+#endif
+
+#ifdef FOR_dmesg
+#ifndef TT
+#define TT this.dmesg
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#define FLAG_T (FORCED_FLAG<<5)
+#define FLAG_S (FORCED_FLAG<<6)
+#define FLAG_C (FORCED_FLAG<<7)
+#define FLAG_w (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_dnsdomainname
+#ifndef TT
+#define TT this.dnsdomainname
+#endif
+#endif
+
+#ifdef FOR_dos2unix
+#ifndef TT
+#define TT this.dos2unix
+#endif
+#endif
+
+#ifdef FOR_du
+#ifndef TT
+#define TT this.du
+#endif
+#define FLAG_b (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_L (1<<3)
+#define FLAG_K (1<<4)
+#define FLAG_k (1<<5)
+#define FLAG_H (1<<6)
+#define FLAG_a (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_l (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_h (1<<11)
+#define FLAG_d (1<<12)
+#endif
+
+#ifdef FOR_dumpleases
+#ifndef TT
+#define TT this.dumpleases
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_echo
+#ifndef TT
+#define TT this.echo
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_e (1<<1)
+#define FLAG_E (1<<2)
+#endif
+
+#ifdef FOR_eject
+#ifndef TT
+#define TT this.eject
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_env
+#ifndef TT
+#define TT this.env
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_0 (1<<1)
+#define FLAG_i (1<<2)
+#endif
+
+#ifdef FOR_eval
+#ifndef TT
+#define TT this.eval
+#endif
+#endif
+
+#ifdef FOR_exec
+#ifndef TT
+#define TT this.exec
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_exit
+#ifndef TT
+#define TT this.exit
+#endif
+#endif
+
+#ifdef FOR_expand
+#ifndef TT
+#define TT this.expand
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_export
+#ifndef TT
+#define TT this.export
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_expr
+#ifndef TT
+#define TT this.expr
+#endif
+#endif
+
+#ifdef FOR_factor
+#ifndef TT
+#define TT this.factor
+#endif
+#endif
+
+#ifdef FOR_fallocate
+#ifndef TT
+#define TT this.fallocate
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_false
+#ifndef TT
+#define TT this.false
+#endif
+#endif
+
+#ifdef FOR_fdisk
+#ifndef TT
+#define TT this.fdisk
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_H (FORCED_FLAG<<4)
+#define FLAG_C (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_file
+#ifndef TT
+#define TT this.file
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_find
+#ifndef TT
+#define TT this.find
+#endif
+#define FLAG_L (1<<0)
+#define FLAG_H (1<<1)
+#endif
+
+#ifdef FOR_flock
+#ifndef TT
+#define TT this.flock
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_fmt
+#ifndef TT
+#define TT this.fmt
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_fold
+#ifndef TT
+#define TT this.fold
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_free
+#ifndef TT
+#define TT this.free
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_g (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#define FLAG_h (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_freeramdisk
+#ifndef TT
+#define TT this.freeramdisk
+#endif
+#endif
+
+#ifdef FOR_fsck
+#ifndef TT
+#define TT this.fsck
+#endif
+#define FLAG_C (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_V (FORCED_FLAG<<2)
+#define FLAG_T (FORCED_FLAG<<3)
+#define FLAG_R (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_N (FORCED_FLAG<<6)
+#define FLAG_A (FORCED_FLAG<<7)
+#define FLAG_t (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_fsfreeze
+#ifndef TT
+#define TT this.fsfreeze
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_fstype
+#ifndef TT
+#define TT this.fstype
+#endif
+#endif
+
+#ifdef FOR_fsync
+#ifndef TT
+#define TT this.fsync
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_ftpget
+#ifndef TT
+#define TT this.ftpget
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_M (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_L (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_s (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#define FLAG_v (FORCED_FLAG<<8)
+#define FLAG_u (FORCED_FLAG<<9)
+#define FLAG_p (FORCED_FLAG<<10)
+#define FLAG_c (FORCED_FLAG<<11)
+#define FLAG_P (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_getconf
+#ifndef TT
+#define TT this.getconf
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_getenforce
+#ifndef TT
+#define TT this.getenforce
+#endif
+#endif
+
+#ifdef FOR_getfattr
+#ifndef TT
+#define TT this.getfattr
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_h (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_only_values (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_getopt
+#ifndef TT
+#define TT this.getopt
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_T (1<<1)
+#define FLAG_l (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_a (1<<5)
+#endif
+
+#ifdef FOR_getty
+#ifndef TT
+#define TT this.getty
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_w (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_l (FORCED_FLAG<<7)
+#define FLAG_I (FORCED_FLAG<<8)
+#define FLAG_H (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_grep
+#ifndef TT
+#define TT this.grep
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_m (1<<1)
+#define FLAG_A (1<<2)
+#define FLAG_B (1<<3)
+#define FLAG_C (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_e (1<<6)
+#define FLAG_q (1<<7)
+#define FLAG_l (1<<8)
+#define FLAG_c (1<<9)
+#define FLAG_w (1<<10)
+#define FLAG_v (1<<11)
+#define FLAG_s (1<<12)
+#define FLAG_R (1<<13)
+#define FLAG_r (1<<14)
+#define FLAG_o (1<<15)
+#define FLAG_n (1<<16)
+#define FLAG_i (1<<17)
+#define FLAG_h (1<<18)
+#define FLAG_b (1<<19)
+#define FLAG_a (1<<20)
+#define FLAG_I (1<<21)
+#define FLAG_H (1<<22)
+#define FLAG_F (1<<23)
+#define FLAG_E (1<<24)
+#define FLAG_z (1<<25)
+#define FLAG_Z (1<<26)
+#define FLAG_M (1<<27)
+#define FLAG_S (1<<28)
+#define FLAG_exclude_dir (1<<29)
+#define FLAG_color (1<<30)
+#define FLAG_line_buffered (1LL<<31)
+#endif
+
+#ifdef FOR_groupadd
+#ifndef TT
+#define TT this.groupadd
+#endif
+#define FLAG_S (FORCED_FLAG<<0)
+#define FLAG_g (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_groupdel
+#ifndef TT
+#define TT this.groupdel
+#endif
+#endif
+
+#ifdef FOR_groups
+#ifndef TT
+#define TT this.groups
+#endif
+#endif
+
+#ifdef FOR_gunzip
+#ifndef TT
+#define TT this.gunzip
+#endif
+#define FLAG_9 (FORCED_FLAG<<0)
+#define FLAG_8 (FORCED_FLAG<<1)
+#define FLAG_7 (FORCED_FLAG<<2)
+#define FLAG_6 (FORCED_FLAG<<3)
+#define FLAG_5 (FORCED_FLAG<<4)
+#define FLAG_4 (FORCED_FLAG<<5)
+#define FLAG_3 (FORCED_FLAG<<6)
+#define FLAG_2 (FORCED_FLAG<<7)
+#define FLAG_1 (FORCED_FLAG<<8)
+#define FLAG_k (FORCED_FLAG<<9)
+#define FLAG_f (FORCED_FLAG<<10)
+#define FLAG_d (FORCED_FLAG<<11)
+#define FLAG_c (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_gzip
+#ifndef TT
+#define TT this.gzip
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#define FLAG_n (1<<13)
+#endif
+
+#ifdef FOR_head
+#ifndef TT
+#define TT this.head
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_q (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_n (1<<3)
+#endif
+
+#ifdef FOR_hello
+#ifndef TT
+#define TT this.hello
+#endif
+#endif
+
+#ifdef FOR_help
+#ifndef TT
+#define TT this.help
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_h (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_hexedit
+#ifndef TT
+#define TT this.hexedit
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_host
+#ifndef TT
+#define TT this.host
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_hostid
+#ifndef TT
+#define TT this.hostid
+#endif
+#endif
+
+#ifdef FOR_hostname
+#ifndef TT
+#define TT this.hostname
+#endif
+#define FLAG_F (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_b (1<<4)
+#endif
+
+#ifdef FOR_hwclock
+#ifndef TT
+#define TT this.hwclock
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_fast (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_i2cdetect
+#ifndef TT
+#define TT this.i2cdetect
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_i2cdump
+#ifndef TT
+#define TT this.i2cdump
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_i2cget
+#ifndef TT
+#define TT this.i2cget
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_i2cset
+#ifndef TT
+#define TT this.i2cset
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_iconv
+#ifndef TT
+#define TT this.iconv
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_id
+#ifndef TT
+#define TT this.id
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_g (1<<2)
+#define FLAG_G (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_Z (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_ifconfig
+#ifndef TT
+#define TT this.ifconfig
+#endif
+#define FLAG_S (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_init
+#ifndef TT
+#define TT this.init
+#endif
+#endif
+
+#ifdef FOR_inotifyd
+#ifndef TT
+#define TT this.inotifyd
+#endif
+#endif
+
+#ifdef FOR_insmod
+#ifndef TT
+#define TT this.insmod
+#endif
+#endif
+
+#ifdef FOR_install
+#ifndef TT
+#define TT this.install
+#endif
+#define FLAG_g (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_v (FORCED_FLAG<<3)
+#define FLAG_s (FORCED_FLAG<<4)
+#define FLAG_p (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_d (FORCED_FLAG<<7)
+#define FLAG_c (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_ionice
+#ifndef TT
+#define TT this.ionice
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_iorenice
+#ifndef TT
+#define TT this.iorenice
+#endif
+#endif
+
+#ifdef FOR_iotop
+#ifndef TT
+#define TT this.iotop
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_u (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_o (FORCED_FLAG<<8)
+#define FLAG_k (FORCED_FLAG<<9)
+#define FLAG_H (FORCED_FLAG<<10)
+#define FLAG_O (FORCED_FLAG<<11)
+#define FLAG_K (FORCED_FLAG<<12)
+#define FLAG_a (FORCED_FLAG<<13)
+#define FLAG_A (FORCED_FLAG<<14)
+#endif
+
+#ifdef FOR_ip
+#ifndef TT
+#define TT this.ip
+#endif
+#endif
+
+#ifdef FOR_ipcrm
+#ifndef TT
+#define TT this.ipcrm
+#endif
+#define FLAG_Q (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_M (FORCED_FLAG<<4)
+#define FLAG_m (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_ipcs
+#ifndef TT
+#define TT this.ipcs
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_c (FORCED_FLAG<<8)
+#define FLAG_a (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_kill
+#ifndef TT
+#define TT this.kill
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_killall
+#ifndef TT
+#define TT this.killall
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_killall5
+#ifndef TT
+#define TT this.killall5
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_o (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_klogd
+#ifndef TT
+#define TT this.klogd
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_last
+#ifndef TT
+#define TT this.last
+#endif
+#define FLAG_W (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_link
+#ifndef TT
+#define TT this.link
+#endif
+#endif
+
+#ifdef FOR_ln
+#ifndef TT
+#define TT this.ln
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_T (1<<4)
+#define FLAG_t (1<<5)
+#define FLAG_r (1<<6)
+#endif
+
+#ifdef FOR_load_policy
+#ifndef TT
+#define TT this.load_policy
+#endif
+#endif
+
+#ifdef FOR_log
+#ifndef TT
+#define TT this.log
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_logger
+#ifndef TT
+#define TT this.logger
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_login
+#ifndef TT
+#define TT this.login
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_f (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_logname
+#ifndef TT
+#define TT this.logname
+#endif
+#endif
+
+#ifdef FOR_logwrapper
+#ifndef TT
+#define TT this.logwrapper
+#endif
+#endif
+
+#ifdef FOR_losetup
+#ifndef TT
+#define TT this.losetup
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_j (FORCED_FLAG<<5)
+#define FLAG_o (FORCED_FLAG<<6)
+#define FLAG_r (FORCED_FLAG<<7)
+#define FLAG_s (FORCED_FLAG<<8)
+#define FLAG_S (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_ls
+#ifndef TT
+#define TT this.ls
+#endif
+#define FLAG_1 (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_w (1<<2)
+#define FLAG_u (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_s (1<<5)
+#define FLAG_r (1<<6)
+#define FLAG_q (1<<7)
+#define FLAG_p (1<<8)
+#define FLAG_n (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_l (1<<11)
+#define FLAG_k (1<<12)
+#define FLAG_i (1<<13)
+#define FLAG_h (1<<14)
+#define FLAG_f (1<<15)
+#define FLAG_d (1<<16)
+#define FLAG_c (1<<17)
+#define FLAG_b (1<<18)
+#define FLAG_a (1<<19)
+#define FLAG_S (1<<20)
+#define FLAG_R (1<<21)
+#define FLAG_L (1<<22)
+#define FLAG_H (1<<23)
+#define FLAG_F (1<<24)
+#define FLAG_C (1<<25)
+#define FLAG_A (1<<26)
+#define FLAG_o (1<<27)
+#define FLAG_g (1<<28)
+#define FLAG_Z (1<<29)
+#define FLAG_show_control_chars (1<<30)
+#define FLAG_full_time (1LL<<31)
+#define FLAG_color (1LL<<32)
+#endif
+
+#ifdef FOR_lsattr
+#ifndef TT
+#define TT this.lsattr
+#endif
+#define FLAG_R (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_lsmod
+#ifndef TT
+#define TT this.lsmod
+#endif
+#endif
+
+#ifdef FOR_lsof
+#ifndef TT
+#define TT this.lsof
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_l (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_lspci
+#ifndef TT
+#define TT this.lspci
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#define FLAG_k (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_lsusb
+#ifndef TT
+#define TT this.lsusb
+#endif
+#endif
+
+#ifdef FOR_makedevs
+#ifndef TT
+#define TT this.makedevs
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_man
+#ifndef TT
+#define TT this.man
+#endif
+#define FLAG_M (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mcookie
+#ifndef TT
+#define TT this.mcookie
+#endif
+#define FLAG_V (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_md5sum
+#ifndef TT
+#define TT this.md5sum
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_b (1<<2)
+#endif
+
+#ifdef FOR_mdev
+#ifndef TT
+#define TT this.mdev
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_microcom
+#ifndef TT
+#define TT this.microcom
+#endif
+#define FLAG_X (1<<0)
+#define FLAG_s (1<<1)
+#endif
+
+#ifdef FOR_mix
+#ifndef TT
+#define TT this.mix
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_mkdir
+#ifndef TT
+#define TT this.mkdir
+#endif
+#define FLAG_m (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_Z (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_mke2fs
+#ifndef TT
+#define TT this.mke2fs
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_N (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_F (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_mkfifo
+#ifndef TT
+#define TT this.mkfifo
+#endif
+#define FLAG_m (FORCED_FLAG<<0)
+#define FLAG_Z (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mknod
+#ifndef TT
+#define TT this.mknod
+#endif
+#define FLAG_Z (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mkpasswd
+#ifndef TT
+#define TT this.mkpasswd
+#endif
+#define FLAG_P (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_mkswap
+#ifndef TT
+#define TT this.mkswap
+#endif
+#define FLAG_L (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_mktemp
+#ifndef TT
+#define TT this.mktemp
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_d (1<<2)
+#define FLAG_q (1<<3)
+#define FLAG_u (1<<4)
+#define FLAG_tmpdir (1<<5)
+#endif
+
+#ifdef FOR_modinfo
+#ifndef TT
+#define TT this.modinfo
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_F (FORCED_FLAG<<1)
+#define FLAG_k (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_modprobe
+#ifndef TT
+#define TT this.modprobe
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_D (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_q (FORCED_FLAG<<5)
+#define FLAG_r (FORCED_FLAG<<6)
+#define FLAG_l (FORCED_FLAG<<7)
+#define FLAG_a (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_more
+#ifndef TT
+#define TT this.more
+#endif
+#endif
+
+#ifdef FOR_mount
+#ifndef TT
+#define TT this.mount
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_w (FORCED_FLAG<<2)
+#define FLAG_v (FORCED_FLAG<<3)
+#define FLAG_r (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_a (FORCED_FLAG<<7)
+#define FLAG_O (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_mountpoint
+#ifndef TT
+#define TT this.mountpoint
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_mv
+#ifndef TT
+#define TT this.mv
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_F (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_v (1<<5)
+#endif
+
+#ifdef FOR_nbd_client
+#ifndef TT
+#define TT this.nbd_client
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_netcat
+#ifndef TT
+#define TT this.netcat
+#endif
+#define FLAG_U (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_6 (FORCED_FLAG<<2)
+#define FLAG_4 (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_q (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_W (FORCED_FLAG<<8)
+#define FLAG_w (FORCED_FLAG<<9)
+#define FLAG_L (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_E (FORCED_FLAG<<12)
+#define FLAG_t (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_netstat
+#ifndef TT
+#define TT this.netstat
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_w (FORCED_FLAG<<6)
+#define FLAG_x (FORCED_FLAG<<7)
+#define FLAG_r (FORCED_FLAG<<8)
+#define FLAG_W (FORCED_FLAG<<9)
+#define FLAG_p (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_nice
+#ifndef TT
+#define TT this.nice
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_nl
+#ifndef TT
+#define TT this.nl
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_b (1<<2)
+#define FLAG_E (1<<3)
+#define FLAG_w (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_v (1<<6)
+#endif
+
+#ifdef FOR_nohup
+#ifndef TT
+#define TT this.nohup
+#endif
+#endif
+
+#ifdef FOR_nproc
+#ifndef TT
+#define TT this.nproc
+#endif
+#define FLAG_all (1<<0)
+#endif
+
+#ifdef FOR_nsenter
+#ifndef TT
+#define TT this.nsenter
+#endif
+#define FLAG_U (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_m (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_F (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_od
+#ifndef TT
+#define TT this.od
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_A (1<<1)
+#define FLAG_b (1<<2)
+#define FLAG_c (1<<3)
+#define FLAG_d (1<<4)
+#define FLAG_o (1<<5)
+#define FLAG_s (1<<6)
+#define FLAG_x (1<<7)
+#define FLAG_N (1<<8)
+#define FLAG_w (1<<9)
+#define FLAG_v (1<<10)
+#define FLAG_j (1<<11)
+#endif
+
+#ifdef FOR_oneit
+#ifndef TT
+#define TT this.oneit
+#endif
+#define FLAG_3 (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_openvt
+#ifndef TT
+#define TT this.openvt
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_partprobe
+#ifndef TT
+#define TT this.partprobe
+#endif
+#endif
+
+#ifdef FOR_passwd
+#ifndef TT
+#define TT this.passwd
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_paste
+#ifndef TT
+#define TT this.paste
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_d (1<<1)
+#endif
+
+#ifdef FOR_patch
+#ifndef TT
+#define TT this.patch
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_R (1<<1)
+#define FLAG_i (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_p (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_u (1<<6)
+#define FLAG_f (1<<7)
+#define FLAG_g (1<<8)
+#define FLAG_F (1<<9)
+#define FLAG_x (FORCED_FLAG<<10)
+#define FLAG_dry_run (1<<11)
+#define FLAG_no_backup_if_mismatch (1<<12)
+#endif
+
+#ifdef FOR_pgrep
+#ifndef TT
+#define TT this.pgrep
+#endif
+#define FLAG_L (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_G (1<<6)
+#define FLAG_g (1<<7)
+#define FLAG_P (1<<8)
+#define FLAG_s (1<<9)
+#define FLAG_t (1<<10)
+#define FLAG_U (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_d (1<<13)
+#define FLAG_l (1<<14)
+#define FLAG_c (1<<15)
+#endif
+
+#ifdef FOR_pidof
+#ifndef TT
+#define TT this.pidof
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_ping
+#ifndef TT
+#define TT this.ping
+#endif
+#define FLAG_I (FORCED_FLAG<<0)
+#define FLAG_6 (FORCED_FLAG<<1)
+#define FLAG_4 (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_w (FORCED_FLAG<<5)
+#define FLAG_W (FORCED_FLAG<<6)
+#define FLAG_i (FORCED_FLAG<<7)
+#define FLAG_s (FORCED_FLAG<<8)
+#define FLAG_c (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_m (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_pivot_root
+#ifndef TT
+#define TT this.pivot_root
+#endif
+#endif
+
+#ifdef FOR_pkill
+#ifndef TT
+#define TT this.pkill
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_G (1<<6)
+#define FLAG_g (1<<7)
+#define FLAG_P (1<<8)
+#define FLAG_s (1<<9)
+#define FLAG_t (1<<10)
+#define FLAG_U (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_V (1<<13)
+#endif
+
+#ifdef FOR_pmap
+#ifndef TT
+#define TT this.pmap
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_x (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_printenv
+#ifndef TT
+#define TT this.printenv
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_null (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_printf
+#ifndef TT
+#define TT this.printf
+#endif
+#endif
+
+#ifdef FOR_ps
+#ifndef TT
+#define TT this.ps
+#endif
+#define FLAG_Z (1<<0)
+#define FLAG_w (1<<1)
+#define FLAG_G (1<<2)
+#define FLAG_g (1<<3)
+#define FLAG_U (1<<4)
+#define FLAG_u (1<<5)
+#define FLAG_T (1<<6)
+#define FLAG_t (1<<7)
+#define FLAG_s (1<<8)
+#define FLAG_p (1<<9)
+#define FLAG_O (1<<10)
+#define FLAG_o (1<<11)
+#define FLAG_n (1<<12)
+#define FLAG_M (1<<13)
+#define FLAG_l (1<<14)
+#define FLAG_f (1<<15)
+#define FLAG_e (1<<16)
+#define FLAG_d (1<<17)
+#define FLAG_A (1<<18)
+#define FLAG_a (1<<19)
+#define FLAG_P (1<<20)
+#define FLAG_k (1<<21)
+#endif
+
+#ifdef FOR_pwd
+#ifndef TT
+#define TT this.pwd
+#endif
+#define FLAG_P (1<<0)
+#define FLAG_L (1<<1)
+#endif
+
+#ifdef FOR_pwdx
+#ifndef TT
+#define TT this.pwdx
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_pwgen
+#ifndef TT
+#define TT this.pwgen
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_A (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#define FLAG_1 (FORCED_FLAG<<3)
+#define FLAG_C (FORCED_FLAG<<4)
+#define FLAG_h (FORCED_FLAG<<5)
+#define FLAG_B (FORCED_FLAG<<6)
+#define FLAG_s (FORCED_FLAG<<7)
+#define FLAG_y (FORCED_FLAG<<8)
+#define FLAG_n (FORCED_FLAG<<9)
+#define FLAG_c (FORCED_FLAG<<10)
+#define FLAG_r (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_readahead
+#ifndef TT
+#define TT this.readahead
+#endif
+#endif
+
+#ifdef FOR_readelf
+#ifndef TT
+#define TT this.readelf
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_W (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_p (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_l (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_e (FORCED_FLAG<<8)
+#define FLAG_d (FORCED_FLAG<<9)
+#define FLAG_a (FORCED_FLAG<<10)
+#define FLAG_dyn_syms (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_readlink
+#ifndef TT
+#define TT this.readlink
+#endif
+#define FLAG_f (1<<0)
+#define FLAG_e (1<<1)
+#define FLAG_m (1<<2)
+#define FLAG_q (1<<3)
+#define FLAG_n (1<<4)
+#endif
+
+#ifdef FOR_realpath
+#ifndef TT
+#define TT this.realpath
+#endif
+#endif
+
+#ifdef FOR_reboot
+#ifndef TT
+#define TT this.reboot
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_renice
+#ifndef TT
+#define TT this.renice
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_g (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_reset
+#ifndef TT
+#define TT this.reset
+#endif
+#endif
+
+#ifdef FOR_restorecon
+#ifndef TT
+#define TT this.restorecon
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_R (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_F (FORCED_FLAG<<4)
+#define FLAG_D (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_rev
+#ifndef TT
+#define TT this.rev
+#endif
+#endif
+
+#ifdef FOR_rfkill
+#ifndef TT
+#define TT this.rfkill
+#endif
+#endif
+
+#ifdef FOR_rm
+#ifndef TT
+#define TT this.rm
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_R (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_f (1<<4)
+#endif
+
+#ifdef FOR_rmdir
+#ifndef TT
+#define TT this.rmdir
+#endif
+#define FLAG_p (1<<0)
+#define FLAG_ignore_fail_on_non_empty (1<<1)
+#endif
+
+#ifdef FOR_rmmod
+#ifndef TT
+#define TT this.rmmod
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_w (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_route
+#ifndef TT
+#define TT this.route
+#endif
+#define FLAG_A (FORCED_FLAG<<0)
+#define FLAG_e (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_rtcwake
+#ifndef TT
+#define TT this.rtcwake
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_m (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_d (FORCED_FLAG<<6)
+#define FLAG_a (FORCED_FLAG<<7)
+#define FLAG_auto (FORCED_FLAG<<8)
+#define FLAG_list_modes (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_runcon
+#ifndef TT
+#define TT this.runcon
+#endif
+#endif
+
+#ifdef FOR_sed
+#ifndef TT
+#define TT this.sed
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_z (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_E (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_i (1<<5)
+#define FLAG_f (1<<6)
+#define FLAG_e (1<<7)
+#define FLAG_version (1<<8)
+#define FLAG_help (1<<9)
+#endif
+
+#ifdef FOR_sendevent
+#ifndef TT
+#define TT this.sendevent
+#endif
+#endif
+
+#ifdef FOR_seq
+#ifndef TT
+#define TT this.seq
+#endif
+#define FLAG_w (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_f (1<<2)
+#endif
+
+#ifdef FOR_set
+#ifndef TT
+#define TT this.set
+#endif
+#endif
+
+#ifdef FOR_setenforce
+#ifndef TT
+#define TT this.setenforce
+#endif
+#endif
+
+#ifdef FOR_setfattr
+#ifndef TT
+#define TT this.setfattr
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_setsid
+#ifndef TT
+#define TT this.setsid
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_w (1<<2)
+#endif
+
+#ifdef FOR_sh
+#ifndef TT
+#define TT this.sh
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_norc (FORCED_FLAG<<3)
+#define FLAG_noprofile (FORCED_FLAG<<4)
+#define FLAG_noediting (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_sha1sum
+#ifndef TT
+#define TT this.sha1sum
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_b (1<<2)
+#endif
+
+#ifdef FOR_sha3sum
+#ifndef TT
+#define TT this.sha3sum
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_S (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_shift
+#ifndef TT
+#define TT this.shift
+#endif
+#endif
+
+#ifdef FOR_shred
+#ifndef TT
+#define TT this.shred
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_u (FORCED_FLAG<<4)
+#define FLAG_x (FORCED_FLAG<<5)
+#define FLAG_z (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_skeleton
+#ifndef TT
+#define TT this.skeleton
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_also (FORCED_FLAG<<5)
+#define FLAG_blubber (FORCED_FLAG<<6)
+#define FLAG_walrus (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_skeleton_alias
+#ifndef TT
+#define TT this.skeleton_alias
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_sleep
+#ifndef TT
+#define TT this.sleep
+#endif
+#endif
+
+#ifdef FOR_sntp
+#ifndef TT
+#define TT this.sntp
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_D (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_s (FORCED_FLAG<<4)
+#define FLAG_a (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_S (FORCED_FLAG<<8)
+#define FLAG_m (FORCED_FLAG<<9)
+#define FLAG_M (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_sort
+#ifndef TT
+#define TT this.sort
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_d (1<<5)
+#define FLAG_z (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_M (1<<9)
+#define FLAG_b (1<<10)
+#define FLAG_V (1<<11)
+#define FLAG_x (1<<12)
+#define FLAG_t (1<<13)
+#define FLAG_k (1<<14)
+#define FLAG_o (1<<15)
+#define FLAG_m (1<<16)
+#define FLAG_T (1<<17)
+#define FLAG_S (1<<18)
+#define FLAG_g (1<<19)
+#endif
+
+#ifdef FOR_source
+#ifndef TT
+#define TT this.source
+#endif
+#endif
+
+#ifdef FOR_split
+#ifndef TT
+#define TT this.split
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_stat
+#ifndef TT
+#define TT this.stat
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_L (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_c (1<<3)
+#endif
+
+#ifdef FOR_strings
+#ifndef TT
+#define TT this.strings
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_stty
+#ifndef TT
+#define TT this.stty
+#endif
+#define FLAG_g (FORCED_FLAG<<0)
+#define FLAG_F (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_su
+#ifndef TT
+#define TT this.su
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#define FLAG_g (FORCED_FLAG<<2)
+#define FLAG_u (FORCED_FLAG<<3)
+#define FLAG_p (FORCED_FLAG<<4)
+#define FLAG_m (FORCED_FLAG<<5)
+#define FLAG_l (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_sulogin
+#ifndef TT
+#define TT this.sulogin
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_swapoff
+#ifndef TT
+#define TT this.swapoff
+#endif
+#endif
+
+#ifdef FOR_swapon
+#ifndef TT
+#define TT this.swapon
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_switch_root
+#ifndef TT
+#define TT this.switch_root
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_sync
+#ifndef TT
+#define TT this.sync
+#endif
+#endif
+
+#ifdef FOR_sysctl
+#ifndef TT
+#define TT this.sysctl
+#endif
+#define FLAG_A (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_w (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_N (FORCED_FLAG<<5)
+#define FLAG_e (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_syslogd
+#ifndef TT
+#define TT this.syslogd
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_K (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#define FLAG_a (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_O (FORCED_FLAG<<8)
+#define FLAG_m (FORCED_FLAG<<9)
+#define FLAG_s (FORCED_FLAG<<10)
+#define FLAG_b (FORCED_FLAG<<11)
+#define FLAG_R (FORCED_FLAG<<12)
+#define FLAG_l (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_tac
+#ifndef TT
+#define TT this.tac
+#endif
+#endif
+
+#ifdef FOR_tail
+#ifndef TT
+#define TT this.tail
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_f (1<<2)
+#endif
+
+#ifdef FOR_tar
+#ifndef TT
+#define TT this.tar
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_C (1<<2)
+#define FLAG_T (1<<3)
+#define FLAG_X (1<<4)
+#define FLAG_m (1<<5)
+#define FLAG_P (1<<6)
+#define FLAG_O (1<<7)
+#define FLAG_S (1<<8)
+#define FLAG_z (1<<9)
+#define FLAG_j (1<<10)
+#define FLAG_J (1<<11)
+#define FLAG_I (1<<12)
+#define FLAG_v (1<<13)
+#define FLAG_t (1<<14)
+#define FLAG_x (1<<15)
+#define FLAG_h (1<<16)
+#define FLAG_c (1<<17)
+#define FLAG_k (1<<18)
+#define FLAG_p (1<<19)
+#define FLAG_o (1<<20)
+#define FLAG_to_command (1<<21)
+#define FLAG_owner (1<<22)
+#define FLAG_group (1<<23)
+#define FLAG_mtime (1<<24)
+#define FLAG_mode (1<<25)
+#define FLAG_exclude (1<<26)
+#define FLAG_overwrite (1<<27)
+#define FLAG_no_same_permissions (1<<28)
+#define FLAG_numeric_owner (1<<29)
+#define FLAG_no_recursion (1<<30)
+#define FLAG_full_time (1LL<<31)
+#define FLAG_restrict (1LL<<32)
+#endif
+
+#ifdef FOR_taskset
+#ifndef TT
+#define TT this.taskset
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_tcpsvd
+#ifndef TT
+#define TT this.tcpsvd
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_E (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_u (FORCED_FLAG<<4)
+#define FLAG_b (FORCED_FLAG<<5)
+#define FLAG_C (FORCED_FLAG<<6)
+#define FLAG_c (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_tee
+#ifndef TT
+#define TT this.tee
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_i (1<<1)
+#endif
+
+#ifdef FOR_telnet
+#ifndef TT
+#define TT this.telnet
+#endif
+#endif
+
+#ifdef FOR_telnetd
+#ifndef TT
+#define TT this.telnetd
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_K (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_F (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_p (FORCED_FLAG<<6)
+#define FLAG_b (FORCED_FLAG<<7)
+#define FLAG_w (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_test
+#ifndef TT
+#define TT this.test
+#endif
+#endif
+
+#ifdef FOR_tftp
+#ifndef TT
+#define TT this.tftp
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_g (FORCED_FLAG<<1)
+#define FLAG_l (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_b (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_tftpd
+#ifndef TT
+#define TT this.tftpd
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_time
+#ifndef TT
+#define TT this.time
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_timeout
+#ifndef TT
+#define TT this.timeout
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_k (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_preserve_status (1<<3)
+#define FLAG_foreground (1<<4)
+#endif
+
+#ifdef FOR_top
+#ifndef TT
+#define TT this.top
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_u (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_o (FORCED_FLAG<<8)
+#define FLAG_k (FORCED_FLAG<<9)
+#define FLAG_H (FORCED_FLAG<<10)
+#define FLAG_O (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_touch
+#ifndef TT
+#define TT this.touch
+#endif
+#define FLAG_h (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_m (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_d (1<<5)
+#define FLAG_c (1<<6)
+#define FLAG_a (1<<7)
+#endif
+
+#ifdef FOR_toybox
+#ifndef TT
+#define TT this.toybox
+#endif
+#endif
+
+#ifdef FOR_tr
+#ifndef TT
+#define TT this.tr
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_C (1<<3)
+#endif
+
+#ifdef FOR_traceroute
+#ifndef TT
+#define TT this.traceroute
+#endif
+#define FLAG_4 (FORCED_FLAG<<0)
+#define FLAG_6 (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#define FLAG_U (FORCED_FLAG<<3)
+#define FLAG_I (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_d (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_v (FORCED_FLAG<<8)
+#define FLAG_r (FORCED_FLAG<<9)
+#define FLAG_m (FORCED_FLAG<<10)
+#define FLAG_p (FORCED_FLAG<<11)
+#define FLAG_q (FORCED_FLAG<<12)
+#define FLAG_s (FORCED_FLAG<<13)
+#define FLAG_t (FORCED_FLAG<<14)
+#define FLAG_w (FORCED_FLAG<<15)
+#define FLAG_g (FORCED_FLAG<<16)
+#define FLAG_z (FORCED_FLAG<<17)
+#define FLAG_f (FORCED_FLAG<<18)
+#define FLAG_i (FORCED_FLAG<<19)
+#endif
+
+#ifdef FOR_true
+#ifndef TT
+#define TT this.true
+#endif
+#endif
+
+#ifdef FOR_truncate
+#ifndef TT
+#define TT this.truncate
+#endif
+#define FLAG_c (1<<0)
+#define FLAG_s (1<<1)
+#endif
+
+#ifdef FOR_tty
+#ifndef TT
+#define TT this.tty
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_tunctl
+#ifndef TT
+#define TT this.tunctl
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_ulimit
+#ifndef TT
+#define TT this.ulimit
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_m (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_p (FORCED_FLAG<<8)
+#define FLAG_q (FORCED_FLAG<<9)
+#define FLAG_R (FORCED_FLAG<<10)
+#define FLAG_r (FORCED_FLAG<<11)
+#define FLAG_s (FORCED_FLAG<<12)
+#define FLAG_t (FORCED_FLAG<<13)
+#define FLAG_u (FORCED_FLAG<<14)
+#define FLAG_v (FORCED_FLAG<<15)
+#define FLAG_a (FORCED_FLAG<<16)
+#define FLAG_H (FORCED_FLAG<<17)
+#define FLAG_S (FORCED_FLAG<<18)
+#define FLAG_P (FORCED_FLAG<<19)
+#endif
+
+#ifdef FOR_umount
+#ifndef TT
+#define TT this.umount
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_d (FORCED_FLAG<<7)
+#define FLAG_n (FORCED_FLAG<<8)
+#define FLAG_c (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_uname
+#ifndef TT
+#define TT this.uname
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_m (1<<4)
+#define FLAG_a (1<<5)
+#define FLAG_o (1<<6)
+#endif
+
+#ifdef FOR_unicode
+#ifndef TT
+#define TT this.unicode
+#endif
+#endif
+
+#ifdef FOR_uniq
+#ifndef TT
+#define TT this.uniq
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_d (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_z (1<<4)
+#define FLAG_w (1<<5)
+#define FLAG_s (1<<6)
+#define FLAG_f (1<<7)
+#endif
+
+#ifdef FOR_unix2dos
+#ifndef TT
+#define TT this.unix2dos
+#endif
+#endif
+
+#ifdef FOR_unlink
+#ifndef TT
+#define TT this.unlink
+#endif
+#endif
+
+#ifdef FOR_unset
+#ifndef TT
+#define TT this.unset
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_f (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_unshare
+#ifndef TT
+#define TT this.unshare
+#endif
+#define FLAG_U (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_m (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_r (FORCED_FLAG<<6)
+#define FLAG_f (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_uptime
+#ifndef TT
+#define TT this.uptime
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_useradd
+#ifndef TT
+#define TT this.useradd
+#endif
+#define FLAG_H (FORCED_FLAG<<0)
+#define FLAG_D (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#define FLAG_g (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_G (FORCED_FLAG<<6)
+#define FLAG_u (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_userdel
+#ifndef TT
+#define TT this.userdel
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_usleep
+#ifndef TT
+#define TT this.usleep
+#endif
+#endif
+
+#ifdef FOR_uudecode
+#ifndef TT
+#define TT this.uudecode
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_uuencode
+#ifndef TT
+#define TT this.uuencode
+#endif
+#define FLAG_m (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_uuidgen
+#ifndef TT
+#define TT this.uuidgen
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_vconfig
+#ifndef TT
+#define TT this.vconfig
+#endif
+#endif
+
+#ifdef FOR_vi
+#ifndef TT
+#define TT this.vi
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_vmstat
+#ifndef TT
+#define TT this.vmstat
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_w
+#ifndef TT
+#define TT this.w
+#endif
+#endif
+
+#ifdef FOR_watch
+#ifndef TT
+#define TT this.watch
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_watchdog
+#ifndef TT
+#define TT this.watchdog
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_wc
+#ifndef TT
+#define TT this.wc
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_w (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_m (1<<3)
+#endif
+
+#ifdef FOR_wget
+#ifndef TT
+#define TT this.wget
+#endif
+#define FLAG_O (FORCED_FLAG<<0)
+#define FLAG_no_check_certificate (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_which
+#ifndef TT
+#define TT this.which
+#endif
+#define FLAG_a (1<<0)
+#endif
+
+#ifdef FOR_who
+#ifndef TT
+#define TT this.who
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_xargs
+#ifndef TT
+#define TT this.xargs
+#endif
+#define FLAG_0 (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_r (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_o (1<<6)
+#define FLAG_P (1<<7)
+#define FLAG_E (1<<8)
+#endif
+
+#ifdef FOR_xxd
+#ifndef TT
+#define TT this.xxd
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_g (1<<4)
+#define FLAG_o (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_c (1<<7)
+#endif
+
+#ifdef FOR_xzcat
+#ifndef TT
+#define TT this.xzcat
+#endif
+#endif
+
+#ifdef FOR_yes
+#ifndef TT
+#define TT this.yes
+#endif
+#endif
+
+#ifdef FOR_zcat
+#ifndef TT
+#define TT this.zcat
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#endif
+
diff --git a/android/linux/generated/globals.h b/android/linux/generated/globals.h
new file mode 100644
index 0000000..876e468
--- /dev/null
+++ b/android/linux/generated/globals.h
@@ -0,0 +1,1716 @@
+// toys/android/log.c
+
+struct log_data {
+  char *t, *p;
+};
+
+// toys/example/demo_number.c
+
+struct demo_number_data {
+  long M, D;
+};
+
+// toys/example/hello.c
+
+struct hello_data {
+  int unused;
+};
+
+// toys/example/skeleton.c
+
+struct skeleton_data {
+  union {
+    struct {
+      char *b;
+      long c;
+      struct arg_list *d;
+      long e;
+      char *also, *blubber;
+    } s;
+    struct {
+      long b;
+    } a;
+  };
+
+  int more_globals;
+};
+
+// toys/lsb/dmesg.c
+
+struct dmesg_data {
+  long n, s;
+
+  int use_color;
+  time_t tea;
+};
+
+// toys/lsb/gzip.c
+
+struct gzip_data {
+  int level;
+};
+
+// toys/lsb/hostname.c
+
+struct hostname_data {
+  char *F;
+};
+
+// toys/lsb/killall.c
+
+struct killall_data {
+  char *s;
+
+  int signum;
+  pid_t cur_pid;
+  char **names;
+  short *err;
+  struct int_list { struct int_list *next; int val; } *pids;
+};
+
+// toys/lsb/md5sum.c
+
+struct md5sum_data {
+  int sawline;
+
+  unsigned *md5table;
+  // Crypto variables blanked after summing
+  unsigned state[5], oldstate[5];
+  unsigned long long count;
+  union {
+    char c[64];
+    unsigned i[16];
+  } buffer;
+};
+
+// toys/lsb/mknod.c
+
+struct mknod_data {
+  char *Z, *m;
+};
+
+// toys/lsb/mktemp.c
+
+struct mktemp_data {
+  char *p, *tmpdir;
+};
+
+// toys/lsb/mount.c
+
+struct mount_data {
+  struct arg_list *optlist;
+  char *type;
+  char *bigO;
+
+  unsigned long flags;
+  char *opts;
+  int okuser;
+};
+
+// toys/lsb/passwd.c
+
+struct passwd_data {
+  char *a;
+};
+
+// toys/lsb/pidof.c
+
+struct pidof_data {
+  char *omit;
+};
+
+// toys/lsb/seq.c
+
+struct seq_data {
+  char *s, *f;
+
+  int precision, buflen;
+};
+
+// toys/lsb/su.c
+
+struct su_data {
+  char *s;
+  char *c;
+};
+
+// toys/lsb/umount.c
+
+struct umount_data {
+  struct arg_list *t;
+
+  char *types;
+};
+
+// toys/net/ftpget.c
+
+struct ftpget_data {
+  char *u, *p, *P;
+
+  int fd;
+};
+
+// toys/net/ifconfig.c
+
+struct ifconfig_data {
+  int sockfd;
+};
+
+// toys/net/microcom.c
+
+struct microcom_data {
+  long s;
+
+  int fd, stok;
+  struct termios old_stdin, old_fd;
+};
+
+// toys/net/netcat.c
+
+struct netcat_data {
+  char *f, *s;
+  long q, p, W, w;
+};
+
+// toys/net/netstat.c
+
+struct netstat_data {
+  struct num_cache *inodes;
+  int wpad;
+};
+
+// toys/net/ping.c
+
+struct ping_data {
+  char *I;
+  long w, W, i, s, c, t, m;
+
+  struct sockaddr *sa;
+  int sock;
+  unsigned long sent, recv, fugit, min, max;
+};
+
+// toys/net/sntp.c
+
+struct sntp_data {
+  long r, t;
+  char *p, *m, *M;
+};
+
+// toys/net/tunctl.c
+
+struct tunctl_data {
+  char *u;
+};
+
+// toys/other/acpi.c
+
+struct acpi_data {
+  int ac, bat, therm, cool;
+  char *cpath;
+};
+
+// toys/other/base64.c
+
+struct base64_data {
+  long w;
+  unsigned total;
+  unsigned n;  // number of bits used in encoding. 5 for base32, 6 for base64
+  unsigned align;  // number of bits to align to
+};
+
+// toys/other/blkdiscard.c
+
+struct blkdiscard_data {
+  long o, l;
+};
+
+// toys/other/blkid.c
+
+struct blkid_data {
+  struct arg_list *s;
+};
+
+// toys/other/blockdev.c
+
+struct blockdev_data {
+  long setbsz, setra;
+};
+
+// toys/other/chrt.c
+
+struct chrt_data {
+  long p;
+};
+
+// toys/other/dos2unix.c
+
+struct dos2unix_data {
+  char *tempfile;
+};
+
+// toys/other/fallocate.c
+
+struct fallocate_data {
+  long o, l;
+};
+
+// toys/other/fmt.c
+
+struct fmt_data {
+  int width;
+
+  int level, pos;
+};
+
+// toys/other/free.c
+
+struct free_data {
+  unsigned bits;
+  unsigned long long units;
+  char *buf;
+};
+
+// toys/other/hexedit.c
+
+struct hexedit_data {
+  char *data;
+  long long len, base;
+  int numlen, undo, undolen;
+  unsigned height;
+};
+
+// toys/other/hwclock.c
+
+struct hwclock_data {
+  char *f;
+};
+
+// toys/other/ionice.c
+
+struct ionice_data {
+  long p, n, c;
+};
+
+// toys/other/login.c
+
+struct login_data {
+  char *h, *f;
+
+  int login_timeout, login_fail_timeout;
+};
+
+// toys/other/losetup.c
+
+struct losetup_data {
+  char *j;
+  long o, S;
+
+  int openflags;
+  dev_t jdev;
+  ino_t jino;
+  char *dir;
+};
+
+// toys/other/lsattr.c
+
+struct lsattr_data {
+  long v;
+  long p;
+
+  long add, rm, set;
+  // !add and !rm tell us whether they were used, but `chattr =` is meaningful.
+  int have_set;
+};
+
+// toys/other/lspci.c
+
+struct lspci_data {
+  char *i;
+  long n;
+
+  FILE *db;
+};
+
+// toys/other/makedevs.c
+
+struct makedevs_data {
+  char *d;
+};
+
+// toys/other/mix.c
+
+struct mix_data {
+   long r, l;
+   char *d, *c;
+};
+
+// toys/other/mkpasswd.c
+
+struct mkpasswd_data {
+  long P;
+  char *m, *S;
+};
+
+// toys/other/mkswap.c
+
+struct mkswap_data {
+  char *L;
+};
+
+// toys/other/modinfo.c
+
+struct modinfo_data {
+  char *F, *k, *b;
+
+  long mod;
+  int count;
+};
+
+// toys/other/nsenter.c
+
+struct nsenter_data {
+  char *Uupnmi[6];
+  long t;
+};
+
+// toys/other/oneit.c
+
+struct oneit_data {
+  char *c;
+};
+
+// toys/other/pwgen.c
+
+struct pwgen_data {
+  char *r;
+};
+
+// toys/other/rtcwake.c
+
+struct rtcwake_data {
+  long t, s;
+  char *m, *d;
+};
+
+// toys/other/setfattr.c
+
+struct setfattr_data {
+  char *x, *v, *n;
+};
+
+// toys/other/sha3sum.c
+
+struct sha3sum_data {
+  long a;
+  unsigned long long rc[24];
+};
+
+// toys/other/shred.c
+
+struct shred_data {
+  long o, n, s;
+};
+
+// toys/other/stat.c
+
+struct stat_data {
+  char *c;
+
+  union {
+    struct stat st;
+    struct statfs sf;
+  } stat;
+  char *file, *pattern;
+  int patlen;
+};
+
+// toys/other/swapon.c
+
+struct swapon_data {
+  long p;
+};
+
+// toys/other/switch_root.c
+
+struct switch_root_data {
+  char *c;
+
+  dev_t rootdev;
+};
+
+// toys/other/tac.c
+
+struct tac_data {
+  struct double_list *dl;
+};
+
+// toys/other/timeout.c
+
+struct timeout_data {
+  char *s, *k;
+
+  int nextsig;
+  pid_t pid;
+  struct timeval ktv;
+  struct itimerval itv;
+};
+
+// toys/other/truncate.c
+
+struct truncate_data {
+  char *s;
+
+  long size;
+  int type;
+};
+
+// toys/other/watch.c
+
+struct watch_data {
+  int n;
+
+  pid_t pid, oldpid;
+};
+
+// toys/other/watchdog.c
+
+struct watchdog_data {
+  long T, t;
+
+  int fd;
+};
+
+// toys/other/xxd.c
+
+struct xxd_data {
+  long s, g, o, l, c;
+};
+
+// toys/pending/arp.c
+
+struct arp_data {
+    char *hw_type;
+    char *af_type_A;
+    char *af_type_p;
+    char *interface;
+    
+    int sockfd;
+    char *device;
+};
+
+// toys/pending/arping.c
+
+struct arping_data {
+    long count;
+    unsigned long time_out;
+    char *iface;
+    char *src_ip;
+
+    int sockfd;
+    unsigned long start, end;
+    unsigned sent_at, sent_nr, rcvd_nr, brd_sent, rcvd_req, brd_rcv,
+             unicast_flag;
+};
+
+// toys/pending/bc.c
+
+struct bc_data {
+  // This actually needs to be a BcVm*, but the toybox build
+  // system complains if I make it so. Instead, we'll just cast.
+  char *vm;
+
+  size_t nchars;
+  char *file, sig, max_ibase;
+  uint16_t line_len;
+};
+
+// toys/pending/bootchartd.c
+
+struct bootchartd_data {
+  char buf[32];
+  long msec;
+  int proc_accounting;
+
+  pid_t pid;
+};
+
+// toys/pending/brctl.c
+
+struct brctl_data {
+    int sockfd;
+};
+
+// toys/pending/crond.c
+
+struct crond_data {
+  char *crontabs_dir;
+  char *logfile;
+  int loglevel_d;
+  int loglevel;
+
+  time_t crontabs_dir_mtime;
+  uint8_t flagd;
+};
+
+// toys/pending/crontab.c
+
+struct crontab_data {
+  char *user;
+  char *cdir;
+};
+
+// toys/pending/dd.c
+
+struct dd_data {
+  int show_xfer, show_records;
+  unsigned long long bytes, c_count, in_full, in_part, out_full, out_part;
+  struct timeval start;
+  struct {
+    char *name;
+    int fd;
+    unsigned char *buff, *bp;
+    long sz, count;
+    unsigned long long offset;
+  } in, out;
+  unsigned conv, iflag, oflag;
+};
+
+// toys/pending/dhcp.c
+
+struct dhcp_data {
+    char *iface;
+    char *pidfile;
+    char *script;
+    long retries;
+    long timeout;
+    long tryagain;
+    struct arg_list *req_opt;
+    char *req_ip;
+    struct arg_list *pkt_opt;
+    char *fdn_name;
+    char *hostname;
+    char *vendor_cls;
+};
+
+// toys/pending/dhcp6.c
+
+struct dhcp6_data {
+  char *interface_name, *pidfile, *script;
+  long retry, timeout, errortimeout;
+  char *req_ip;
+  int length, state, request_length, sock, sock1, status, retval, retries;
+  struct timeval tv;
+  uint8_t transction_id[3];
+  struct sockaddr_in6 input_socket6;
+};
+
+// toys/pending/dhcpd.c
+
+struct dhcpd_data {
+    char *iface;
+    long port;
+};
+
+// toys/pending/diff.c
+
+struct diff_data {
+  long ct;
+  char *start;
+  struct arg_list *L_list;
+
+  int dir_num, size, is_binary, status, change, len[2];
+  int *offset[2];
+  struct stat st[2];
+};
+
+// toys/pending/dumpleases.c
+
+struct dumpleases_data {
+    char *file;
+};
+
+// toys/pending/expr.c
+
+struct expr_data {
+  char **tok; // current token, not on the stack since recursive calls mutate it
+
+  char *refree;
+};
+
+// toys/pending/fdisk.c
+
+struct fdisk_data {
+  long sect_sz;
+  long sectors;
+  long heads;
+  long cylinders;
+};
+
+// toys/pending/fold.c
+
+struct fold_data {
+  int width;
+};
+
+// toys/pending/fsck.c
+
+struct fsck_data {
+  int fd_num;
+  char *t_list;
+
+  struct double_list *devices;
+  char *arr_flag;
+  char **arr_type;
+  int negate;
+  int sum_status;
+  int nr_run;
+  int sig_num;
+  long max_nr_run;
+};
+
+// toys/pending/getfattr.c
+
+struct getfattr_data {
+  char *n;
+};
+
+// toys/pending/getopt.c
+
+struct getopt_data {
+  struct arg_list *l;
+  char *o, *n;
+};
+
+// toys/pending/getty.c
+
+struct getty_data {
+  char *issue_str;
+  char *login_str;
+  char *init_str;
+  char *host_str; 
+  long timeout;
+  
+  char *tty_name, buff[128];
+  int speeds[20], sc;
+  struct termios termios;
+};
+
+// toys/pending/groupadd.c
+
+struct groupadd_data {
+  long gid;
+};
+
+// toys/pending/host.c
+
+struct host_data {
+  char *type_str;
+};
+
+// toys/pending/ip.c
+
+struct ip_data {
+  char stats, singleline, flush, *filter_dev, gbuf[8192];
+  int sockfd, connected, from_ok, route_cmd;
+  int8_t addressfamily, is_addr;
+};
+
+// toys/pending/ipcrm.c
+
+struct ipcrm_data {
+  struct arg_list *qkey;
+  struct arg_list *qid;
+  struct arg_list *skey;
+  struct arg_list *sid;
+  struct arg_list *mkey;
+  struct arg_list *mid;
+};
+
+// toys/pending/ipcs.c
+
+struct ipcs_data {
+  int id;
+};
+
+// toys/pending/klogd.c
+
+struct klogd_data {
+  long level;
+
+  int fd;
+};
+
+// toys/pending/last.c
+
+struct last_data {
+  char *file;
+
+  struct arg_list *list;
+};
+
+// toys/pending/lsof.c
+
+struct lsof_data {
+  struct arg_list *p;
+
+  struct stat *sought_files;
+  struct double_list *all_sockets, *files;
+  int last_shown_pid, shown_header;
+};
+
+// toys/pending/man.c
+
+struct man_data {
+  char *M, *k;
+
+  char any, cell, ex, *f, k_done, *line, *m, **sct, **scts, **sufs;
+  regex_t reg;
+};
+
+// toys/pending/mke2fs.c
+
+struct mke2fs_data {
+  // Command line arguments.
+  long blocksize;
+  long bytes_per_inode;
+  long inodes;           // Total inodes in filesystem.
+  long reserved_percent; // Integer precent of space to reserve for root.
+  char *gendir;          // Where to read dirtree from.
+
+  // Internal data.
+  struct dirtree *dt;    // Tree of files to copy into the new filesystem.
+  unsigned treeblocks;   // Blocks used by dt
+  unsigned treeinodes;   // Inodes used by dt
+
+  unsigned blocks;       // Total blocks in the filesystem.
+  unsigned freeblocks;   // Free blocks in the filesystem.
+  unsigned inodespg;     // Inodes per group
+  unsigned groups;       // Total number of block groups.
+  unsigned blockbits;    // Bits per block.  (Also blocks per group.)
+
+  // For gene2fs
+  unsigned nextblock;    // Next data block to allocate
+  unsigned nextgroup;    // Next group we'll be allocating from
+  int fsfd;              // File descriptor of filesystem (to output to).
+};
+
+// toys/pending/modprobe.c
+
+struct modprobe_data {
+  struct arg_list *dirs;
+
+  struct arg_list *probes;
+  struct arg_list *dbase[256];
+  char *cmdopts;
+  int nudeps;
+  uint8_t symreq;
+};
+
+// toys/pending/more.c
+
+struct more_data {
+  struct termios inf;
+  int cin_fd;
+};
+
+// toys/pending/openvt.c
+
+struct openvt_data {
+  long c;
+};
+
+// toys/pending/readelf.c
+
+struct readelf_data {
+  char *x, *p;
+
+  char *elf, *shstrtab, *f;
+  unsigned long long shoff, phoff, size, shstrtabsz;
+  int bits, endian, shnum, shentsize, phentsize;
+};
+
+// toys/pending/route.c
+
+struct route_data {
+  char *A;
+};
+
+// toys/pending/sh.c
+
+struct sh_data {
+  union {
+    struct {
+      char *c;
+    } sh;
+    struct {
+      char *a;
+    } exec;
+  };
+
+  // keep ifs here: used to work around compiler limitation in run_command()
+  char *ifs, *isexec, *wcpat;
+  unsigned options, jobcnt, LINENO;
+  int hfd, pid, bangpid, varslen, cdcount;
+  long long SECONDS;
+
+  // global and local variables
+  struct sh_vars {
+    long flags;
+    char *str;
+  } *vars;
+
+  // Parsed functions
+  struct sh_function {
+    char *name;
+    struct sh_pipeline {  // pipeline segments: linked list of arg w/metadata
+      struct sh_pipeline *next, *prev, *end;
+      unsigned lineno;
+      int count, here, type; // TODO abuse type to replace count during parsing
+      struct sh_arg {
+        char **v;
+        int c;
+      } arg[1];
+    } *pipeline;
+    struct double_list *expect; // should be zero at end of parsing
+  } *functions;
+
+// TODO ctrl-Z suspend should stop script
+  struct sh_process {
+    struct sh_process *next, *prev; // | && ||
+    struct arg_list *delete;   // expanded strings
+    // undo redirects, a=b at start, child PID, exit status, has !, job #
+    int *urd, envlen, pid, exit, not, job;
+    long long when; // when job backgrounded/suspended
+    struct sh_arg *raw, arg;
+  } *pp; // currently running process
+
+  struct sh_callstack {
+    struct sh_callstack *next;
+    struct sh_function scratch;
+    struct sh_arg arg;
+    struct arg_list *delete;
+    unsigned lineno;
+    long shift;
+  } *cc;
+
+  // job list, command line for $*, scratch space for do_wildcard_files()
+  struct sh_arg jobs, *wcdeck;
+};
+
+// toys/pending/stty.c
+
+struct stty_data {
+  char *F;
+
+  int fd, col;
+  unsigned output_cols;
+};
+
+// toys/pending/sulogin.c
+
+struct sulogin_data {
+  long timeout;
+  struct termios crntio;
+};
+
+// toys/pending/syslogd.c
+
+struct syslogd_data {
+  char *socket;
+  char *config_file;
+  char *unix_socket;
+  char *logfile;
+  long interval;
+  long rot_size;
+  long rot_count;
+  char *remote_log;
+  long log_prio;
+
+  struct unsocks *lsocks;  // list of listen sockets
+  struct logfile *lfiles;  // list of write logfiles
+  int sigfd[2];
+};
+
+// toys/pending/tcpsvd.c
+
+struct tcpsvd_data {
+  char *name;
+  char *user;
+  long bn;
+  char *nmsg;
+  long cn;
+
+  int maxc;
+  int count_all;
+  int udp;
+};
+
+// toys/pending/telnet.c
+
+struct telnet_data {
+  int port;
+  int sfd;
+  char buff[128];
+  int pbuff;
+  char iac[256];
+  int piac;
+  char *ttype;
+  struct termios def_term;
+  struct termios raw_term;
+  uint8_t term_ok;
+  uint8_t term_mode;
+  uint8_t flags;
+  unsigned win_width;
+  unsigned win_height;
+};
+
+// toys/pending/telnetd.c
+
+struct telnetd_data {
+    char *login_path;
+    char *issue_path;
+    int port;
+    char *host_addr;
+    long w_sec;
+
+    int gmax_fd;
+    pid_t fork_pid;
+};
+
+// toys/pending/tftp.c
+
+struct tftp_data {
+  char *local_file;
+  char *remote_file;
+  long block_size;
+
+  struct sockaddr_storage inaddr;
+  int af;
+};
+
+// toys/pending/tftpd.c
+
+struct tftpd_data {
+  char *user;
+
+  long sfd;
+  struct passwd *pw;
+};
+
+// toys/pending/tr.c
+
+struct tr_data {
+  short map[256]; //map of chars
+  int len1, len2;
+};
+
+// toys/pending/traceroute.c
+
+struct traceroute_data {
+  long max_ttl;
+  long port;
+  long ttl_probes;
+  char *src_ip;
+  long tos;
+  long wait_time;
+  struct arg_list *loose_source;
+  long pause_time;
+  long first_ttl;
+  char *iface;
+
+  uint32_t gw_list[9];
+  int recv_sock;
+  int snd_sock;
+  unsigned msg_len;
+  char *packet;
+  uint32_t ident;
+  int istraceroute6;
+};
+
+// toys/pending/useradd.c
+
+struct useradd_data {
+  char *dir;
+  char *gecos;
+  char *shell;
+  char *u_grp;
+  long uid;
+
+  long gid;
+};
+
+// toys/pending/vi.c
+
+struct vi_data {
+  char *s;
+  int vi_mode, tabstop, list;
+  int cur_col, cur_row, scr_row;
+  int drawn_row, drawn_col;
+  int count0, count1, vi_mov_flag;
+  unsigned screen_height, screen_width;
+  char vi_reg, *last_search;
+  struct str_line {
+    int alloc;
+    int len;
+    char *data;
+  } *il;
+  size_t screen, cursor; //offsets
+  //yank buffer
+  struct yank_buf {
+    char reg;
+    int alloc;
+    char* data;
+  } yank;
+
+  int modified;
+  size_t filesize;
+// mem_block contains RO data that is either original file as mmap
+// or heap allocated inserted data
+//
+//
+//
+  struct block_list {
+    struct block_list *next, *prev;
+    struct mem_block {
+      size_t size;
+      size_t len;
+      enum alloc_flag {
+        MMAP,  //can be munmap() before exit()
+        HEAP,  //can be free() before exit()
+        STACK, //global or stack perhaps toybuf
+      } alloc;
+      const char *data;
+    } *node;
+  } *text;
+
+// slices do not contain actual allocated data but slices of data in mem_block
+// when file is first opened it has only one slice.
+// after inserting data into middle new mem_block is allocated for insert data
+// and 3 slices are created, where first and last slice are pointing to original
+// mem_block with offsets, and middle slice is pointing to newly allocated block
+// When deleting, data is not freed but mem_blocks are sliced more such way that
+// deleted data left between 2 slices
+  struct slice_list {
+    struct slice_list *next, *prev;
+    struct slice {
+      size_t len;
+      const char *data;
+    } *node;
+  } *slices;
+};
+
+// toys/pending/wget.c
+
+struct wget_data {
+  char *filename;
+};
+
+// toys/posix/basename.c
+
+struct basename_data {
+  char *s;
+};
+
+// toys/posix/cal.c
+
+struct cal_data {
+  struct tm *now;
+};
+
+// toys/posix/chgrp.c
+
+struct chgrp_data {
+  uid_t owner;
+  gid_t group;
+  char *owner_name, *group_name;
+  int symfollow;
+};
+
+// toys/posix/chmod.c
+
+struct chmod_data {
+  char *mode;
+};
+
+// toys/posix/cksum.c
+
+struct cksum_data {
+  unsigned crc_table[256];
+};
+
+// toys/posix/cmp.c
+
+struct cmp_data {
+  int fd;
+  char *name;
+};
+
+// toys/posix/cp.c
+
+struct cp_data {
+  union {
+    // install's options
+    struct {
+      char *g, *o, *m;
+    } i;
+    // cp's options
+    struct {
+      char *preserve;
+    } c;
+  };
+
+  char *destname;
+  struct stat top;
+  int (*callback)(struct dirtree *try);
+  uid_t uid;
+  gid_t gid;
+  int pflags;
+};
+
+// toys/posix/cpio.c
+
+struct cpio_data {
+  char *F, *H;
+};
+
+// toys/posix/cut.c
+
+struct cut_data {
+  char *d, *O;
+  struct arg_list *select[5]; // we treat them the same, so loop through
+
+  int pairs;
+  regex_t reg;
+};
+
+// toys/posix/date.c
+
+struct date_data {
+  char *r, *I, *D, *d;
+
+  unsigned nano;
+};
+
+// toys/posix/df.c
+
+struct df_data {
+  struct arg_list *t;
+
+  long units;
+  int column_widths[5];
+  int header_shown;
+};
+
+// toys/posix/du.c
+
+struct du_data {
+  long d;
+
+  unsigned long depth, total;
+  dev_t st_dev;
+  void *inodes;
+};
+
+// toys/posix/env.c
+
+struct env_data {
+  struct arg_list *u;
+};
+
+// toys/posix/expand.c
+
+struct expand_data {
+  struct arg_list *t;
+
+  unsigned tabcount, *tab;
+};
+
+// toys/posix/file.c
+
+struct file_data {
+  int max_name_len;
+
+  off_t len;
+};
+
+// toys/posix/find.c
+
+struct find_data {
+  char **filter;
+  struct double_list *argdata;
+  int topdir, xdev, depth;
+  time_t now;
+  long max_bytes;
+  char *start;
+};
+
+// toys/posix/grep.c
+
+struct grep_data {
+  long m, A, B, C;
+  struct arg_list *f, *e, *M, *S, *exclude_dir;
+  char *color;
+
+  char *purple, *cyan, *red, *green, *grey;
+  struct double_list *reg;
+  char indelim, outdelim;
+  int found, tried;
+};
+
+// toys/posix/head.c
+
+struct head_data {
+  long c, n;
+
+  int file_no;
+};
+
+// toys/posix/iconv.c
+
+struct iconv_data {
+  char *f, *t;
+
+  void *ic;
+};
+
+// toys/posix/id.c
+
+struct id_data {
+  int is_groups;
+};
+
+// toys/posix/kill.c
+
+struct kill_data {
+  char *s;
+  struct arg_list *o;
+};
+
+// toys/posix/ln.c
+
+struct ln_data {
+  char *t;
+};
+
+// toys/posix/logger.c
+
+struct logger_data {
+  char *p, *t;
+};
+
+// toys/posix/ls.c
+
+struct ls_data {
+  long w;
+  long l;
+  char *color;
+
+  struct dirtree *files, *singledir;
+  unsigned screen_width;
+  int nl_title;
+  char *escmore;
+};
+
+// toys/posix/mkdir.c
+
+struct mkdir_data {
+  char *m, *Z;
+};
+
+// toys/posix/mkfifo.c
+
+struct mkfifo_data {
+  char *m;
+  char *Z;
+
+  mode_t mode;
+};
+
+// toys/posix/nice.c
+
+struct nice_data {
+  long n;
+};
+
+// toys/posix/nl.c
+
+struct nl_data {
+  char *s, *n, *b;
+  long w, l, v;
+
+  // Count of consecutive blank lines for -l has to persist between files
+  long lcount;
+  long slen;
+};
+
+// toys/posix/od.c
+
+struct od_data {
+  struct arg_list *t;
+  char *A;
+  long N, w, j;
+
+  int address_idx;
+  unsigned types, leftover, star;
+  char *buf; // Points to buffers[0] or buffers[1].
+  char *bufs[2]; // Used to detect duplicate lines.
+  off_t pos;
+};
+
+// toys/posix/paste.c
+
+struct paste_data {
+  char *d;
+
+  int files;
+};
+
+// toys/posix/patch.c
+
+struct patch_data {
+  char *i, *d;
+  long p, g, F;
+
+  void *current_hunk;
+  long oldline, oldlen, newline, newlen, linenum, outnum;
+  int context, state, filein, fileout, filepatch, hunknum;
+  char *tempname;
+};
+
+// toys/posix/ps.c
+
+struct ps_data {
+  union {
+    struct {
+      struct arg_list *G, *g, *U, *u, *t, *s, *p, *O, *o, *P, *k;
+    } ps;
+    struct {
+      long n, m, d, s;
+      struct arg_list *u, *p, *o, *k, *O;
+    } top;
+    struct {
+      char *L;
+      struct arg_list *G, *g, *P, *s, *t, *U, *u;
+      char *d;
+
+      void *regexes, *snapshot;
+      int signal;
+      pid_t self, match;
+    } pgrep;
+  };
+
+  struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
+  struct dirtree *threadparent;
+  unsigned width, height;
+  dev_t tty;
+  void *fields, *kfields;
+  long long ticks, bits, time;
+  int kcount, forcek, sortpos, pidlen;
+  int (*match_process)(long long *slot);
+  void (*show_process)(void *tb);
+};
+
+// toys/posix/renice.c
+
+struct renice_data {
+  long n;
+};
+
+// toys/posix/sed.c
+
+struct sed_data {
+  char *i;
+  struct arg_list *f, *e;
+
+  // processed pattern list
+  struct double_list *pattern;
+
+  char *nextline, *remember;
+  void *restart, *lastregex;
+  long nextlen, rememberlen, count;
+  int fdout, noeol;
+  unsigned xx;
+  char delim;
+};
+
+// toys/posix/sort.c
+
+struct sort_data {
+  char *t;
+  struct arg_list *k;
+  char *o, *T, S;
+
+  void *key_list;
+  int linecount;
+  char **lines, *name;
+};
+
+// toys/posix/split.c
+
+struct split_data {
+  long l, b, a;
+
+  char *outfile;
+};
+
+// toys/posix/strings.c
+
+struct strings_data {
+  long n;
+  char *t;
+};
+
+// toys/posix/tail.c
+
+struct tail_data {
+  long n, c;
+
+  int file_no, last_fd;
+  struct xnotify *not;
+};
+
+// toys/posix/tar.c
+
+struct tar_data {
+  char *f, *C;
+  struct arg_list *T, *X;
+  char *I, *to_command, *owner, *group, *mtime, *mode;
+  struct arg_list *exclude;
+
+  struct double_list *incl, *excl, *seen;
+  struct string_list *dirs;
+  char *cwd;
+  int fd, ouid, ggid, hlc, warn, adev, aino, sparselen;
+  long long *sparse;
+  time_t mtt;
+
+  // hardlinks seen so far (hlc many)
+  struct {
+    char *arg;
+    ino_t ino;
+    dev_t dev;
+  } *hlx;
+
+  // Parsed information about a tar header.
+  struct tar_header {
+    char *name, *link_target, *uname, *gname;
+    long long size, ssize;
+    uid_t uid;
+    gid_t gid;
+    mode_t mode;
+    time_t mtime;
+    dev_t device;
+  } hdr;
+};
+
+// toys/posix/tee.c
+
+struct tee_data {
+  void *outputs;
+  int out;
+};
+
+// toys/posix/touch.c
+
+struct touch_data {
+  char *t, *r, *d;
+};
+
+// toys/posix/ulimit.c
+
+struct ulimit_data {
+  long P;
+};
+
+// toys/posix/uniq.c
+
+struct uniq_data {
+  long w, s, f;
+
+  long repeats;
+};
+
+// toys/posix/uudecode.c
+
+struct uudecode_data {
+  char *o;
+};
+
+// toys/posix/wc.c
+
+struct wc_data {
+  unsigned long totals[4];
+};
+
+// toys/posix/xargs.c
+
+struct xargs_data {
+  long s, n, P;
+  char *E;
+
+  long entries, bytes, np;
+  char delim;
+  FILE *tty;
+};
+
+extern union global_union {
+	struct log_data log;
+	struct demo_number_data demo_number;
+	struct hello_data hello;
+	struct skeleton_data skeleton;
+	struct dmesg_data dmesg;
+	struct gzip_data gzip;
+	struct hostname_data hostname;
+	struct killall_data killall;
+	struct md5sum_data md5sum;
+	struct mknod_data mknod;
+	struct mktemp_data mktemp;
+	struct mount_data mount;
+	struct passwd_data passwd;
+	struct pidof_data pidof;
+	struct seq_data seq;
+	struct su_data su;
+	struct umount_data umount;
+	struct ftpget_data ftpget;
+	struct ifconfig_data ifconfig;
+	struct microcom_data microcom;
+	struct netcat_data netcat;
+	struct netstat_data netstat;
+	struct ping_data ping;
+	struct sntp_data sntp;
+	struct tunctl_data tunctl;
+	struct acpi_data acpi;
+	struct base64_data base64;
+	struct blkdiscard_data blkdiscard;
+	struct blkid_data blkid;
+	struct blockdev_data blockdev;
+	struct chrt_data chrt;
+	struct dos2unix_data dos2unix;
+	struct fallocate_data fallocate;
+	struct fmt_data fmt;
+	struct free_data free;
+	struct hexedit_data hexedit;
+	struct hwclock_data hwclock;
+	struct ionice_data ionice;
+	struct login_data login;
+	struct losetup_data losetup;
+	struct lsattr_data lsattr;
+	struct lspci_data lspci;
+	struct makedevs_data makedevs;
+	struct mix_data mix;
+	struct mkpasswd_data mkpasswd;
+	struct mkswap_data mkswap;
+	struct modinfo_data modinfo;
+	struct nsenter_data nsenter;
+	struct oneit_data oneit;
+	struct pwgen_data pwgen;
+	struct rtcwake_data rtcwake;
+	struct setfattr_data setfattr;
+	struct sha3sum_data sha3sum;
+	struct shred_data shred;
+	struct stat_data stat;
+	struct swapon_data swapon;
+	struct switch_root_data switch_root;
+	struct tac_data tac;
+	struct timeout_data timeout;
+	struct truncate_data truncate;
+	struct watch_data watch;
+	struct watchdog_data watchdog;
+	struct xxd_data xxd;
+	struct arp_data arp;
+	struct arping_data arping;
+	struct bc_data bc;
+	struct bootchartd_data bootchartd;
+	struct brctl_data brctl;
+	struct crond_data crond;
+	struct crontab_data crontab;
+	struct dd_data dd;
+	struct dhcp_data dhcp;
+	struct dhcp6_data dhcp6;
+	struct dhcpd_data dhcpd;
+	struct diff_data diff;
+	struct dumpleases_data dumpleases;
+	struct expr_data expr;
+	struct fdisk_data fdisk;
+	struct fold_data fold;
+	struct fsck_data fsck;
+	struct getfattr_data getfattr;
+	struct getopt_data getopt;
+	struct getty_data getty;
+	struct groupadd_data groupadd;
+	struct host_data host;
+	struct ip_data ip;
+	struct ipcrm_data ipcrm;
+	struct ipcs_data ipcs;
+	struct klogd_data klogd;
+	struct last_data last;
+	struct lsof_data lsof;
+	struct man_data man;
+	struct mke2fs_data mke2fs;
+	struct modprobe_data modprobe;
+	struct more_data more;
+	struct openvt_data openvt;
+	struct readelf_data readelf;
+	struct route_data route;
+	struct sh_data sh;
+	struct stty_data stty;
+	struct sulogin_data sulogin;
+	struct syslogd_data syslogd;
+	struct tcpsvd_data tcpsvd;
+	struct telnet_data telnet;
+	struct telnetd_data telnetd;
+	struct tftp_data tftp;
+	struct tftpd_data tftpd;
+	struct tr_data tr;
+	struct traceroute_data traceroute;
+	struct useradd_data useradd;
+	struct vi_data vi;
+	struct wget_data wget;
+	struct basename_data basename;
+	struct cal_data cal;
+	struct chgrp_data chgrp;
+	struct chmod_data chmod;
+	struct cksum_data cksum;
+	struct cmp_data cmp;
+	struct cp_data cp;
+	struct cpio_data cpio;
+	struct cut_data cut;
+	struct date_data date;
+	struct df_data df;
+	struct du_data du;
+	struct env_data env;
+	struct expand_data expand;
+	struct file_data file;
+	struct find_data find;
+	struct grep_data grep;
+	struct head_data head;
+	struct iconv_data iconv;
+	struct id_data id;
+	struct kill_data kill;
+	struct ln_data ln;
+	struct logger_data logger;
+	struct ls_data ls;
+	struct mkdir_data mkdir;
+	struct mkfifo_data mkfifo;
+	struct nice_data nice;
+	struct nl_data nl;
+	struct od_data od;
+	struct paste_data paste;
+	struct patch_data patch;
+	struct ps_data ps;
+	struct renice_data renice;
+	struct sed_data sed;
+	struct sort_data sort;
+	struct split_data split;
+	struct strings_data strings;
+	struct tail_data tail;
+	struct tar_data tar;
+	struct tee_data tee;
+	struct touch_data touch;
+	struct ulimit_data ulimit;
+	struct uniq_data uniq;
+	struct uudecode_data uudecode;
+	struct wc_data wc;
+	struct xargs_data xargs;
+} this;
diff --git a/android/linux/generated/help.h b/android/linux/generated/help.h
new file mode 100644
index 0000000..dfe4a40
--- /dev/null
+++ b/android/linux/generated/help.h
@@ -0,0 +1,640 @@
+#define HELP_toybox_force_nommu "When using musl-libc on a nommu system, you'll need to say \"y\" here\nunless you used the patch in the mcm-buildall.sh script. You can also\nsay \"y\" here to test the nommu codepaths on an mmu system.\n\nA nommu system can't use fork(), it can only vfork() which suspends\nthe parent until the child calls exec() or exits. When a program\nneeds a second instance of itself to run specific code at the same\ntime as the parent, it must use a more complicated approach (such as\nexec(\"/proc/self/exe\") then pass data to the new child through a pipe)\nwhich is larger and slower, especially for things like toysh subshells\nthat need to duplicate a lot of internal state in the child process\nfork() gives you for free.\n\nLibraries like uclibc omit fork() on nommu systems, allowing\ncompile-time probes to select which codepath to use. But musl\nintentionally includes a broken version of fork() that always returns\n-ENOSYS on nommu systems, and goes out of its way to prevent any\ncross-compile compatible compile-time probes for a nommu system.\n(It doesn't even #define __MUSL__ in features.h.) Musl does this\ndespite the fact that a nommu system can't even run standard ELF\nbinaries (requiring specially packaged executables) because it wants\nto force every program to either include all nommu code in every\ninstance ever built, or drop nommu support altogether.\n\nBuilding a toolchain scripts/mcm-buildall.sh patches musl to fix this."
+
+#define HELP_toybox_uid_usr "When commands like useradd/groupadd allocate user IDs, start here."
+
+#define HELP_toybox_uid_sys "When commands like useradd/groupadd allocate system IDs, start here."
+
+#define HELP_toybox_pedantic_args "Check arguments for commands that have no arguments."
+
+#define HELP_toybox_debug "Enable extra checks for debugging purposes. All of them catch\nthings that can only go wrong at development time, not runtime."
+
+#define HELP_toybox_norecurse "When one toybox command calls another, usually it just calls the new\ncommand's main() function rather than searching the $PATH and calling\nexec on another file (which is much slower).\n\nThis disables that optimization, so toybox will run external commands\n       even when it has a built-in version of that command. This requires\n       toybox symlinks to be installed in the $PATH, or re-invoking the\n       \"toybox\" multiplexer command by name."
+
+#define HELP_toybox_free "When a program exits, the operating system will clean up after it\n(free memory, close files, etc). To save size, toybox usually relies\non this behavior. If you're running toybox under a debugger or\nwithout a real OS (ala newlib+libgloss), enable this to make toybox\nclean up after itself."
+
+#define HELP_toybox_help_dashdash "Support --help argument in all commands, even ones with a NULL\noptstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output\nas \"help command\". --version shows toybox version."
+
+#define HELP_toybox_help "Include help text for each command."
+
+#define HELP_toybox_float "Include floating point support infrastructure and commands that\nrequire it."
+
+#define HELP_toybox_libz "Use libz for gz support."
+
+#define HELP_toybox_libcrypto "Use faster hash functions out of external -lcrypto library."
+
+#define HELP_toybox_smack "Include SMACK options in commands like ls for systems like Tizen."
+
+#define HELP_toybox_selinux "Include SELinux options in commands such as ls, and add\nSELinux-specific commands such as chcon to the Android menu."
+
+#define HELP_toybox_lsm_none "Don't try to achieve \"watertight\" by plugging the holes in a\ncollander, instead use conventional unix security (and possibly\nLinux Containers) for a simple straightforward system."
+
+#define HELP_toybox_suid "Support for the Set User ID bit, to install toybox suid root and drop\npermissions for commands which do not require root access. To use\nthis change ownership of the file to the root user and set the suid\nbit in the file permissions:\n\nchown root:root toybox; chmod +s toybox\n\nprompt \"Security Blanket\"\ndefault TOYBOX_LSM_NONE\nhelp\nSelect a Linux Security Module to complicate your system\nuntil you can't find holes in it."
+
+#define HELP_toybox "usage: toybox [--long | --help | --version | [COMMAND] [ARGUMENTS...]]\n\nWith no arguments, \"toybox\" shows available COMMAND names. Add --long\nto include suggested install path for each command, see\nhttps://landley.net/toybox/faq.html#install for details.\n\nFirst argument is name of a COMMAND to run, followed by any ARGUMENTS\nto that command. Most toybox commands also understand:\n\n--help		Show command help (only)\n--version	Show toybox version (only)\n\nThe filename \"-\" means stdin/stdout, and \"--\" stops argument parsing.\n\nNumerical arguments accept a single letter suffix for\nkilo, mega, giga, tera, peta, and exabytes, plus an additional\n\"d\" to indicate decimal 1000's instead of 1024.\n\nDurations can be decimal fractions and accept minute (\"m\"), hour (\"h\"),\nor day (\"d\") suffixes (so 0.1m = 6s)."
+
+#define HELP_setenforce "usage: setenforce [enforcing|permissive|1|0]\n\nSets whether SELinux is enforcing (1) or permissive (0)."
+
+#define HELP_sendevent "usage: sendevent DEVICE TYPE CODE VALUE\n\nSends a Linux input event."
+
+#define HELP_runcon "usage: runcon CONTEXT COMMAND [ARGS...]\n\nRun a command in a specified security context."
+
+#define HELP_restorecon "usage: restorecon [-D] [-F] [-R] [-n] [-v] FILE...\n\nRestores the default security contexts for the given files.\n\n-D	Apply to /data/data too\n-F	Force reset\n-R	Recurse into directories\n-n	Don't make any changes; useful with -v to see what would change\n-v	Verbose"
+
+#define HELP_log "usage: log [-p PRI] [-t TAG] MESSAGE...\n\nLogs message to logcat.\n\n-p	Use the given priority instead of INFO:\n	d: DEBUG  e: ERROR  f: FATAL  i: INFO  v: VERBOSE  w: WARN  s: SILENT\n-t	Use the given tag instead of \"log\""
+
+#define HELP_load_policy "usage: load_policy FILE\n\nLoad the specified SELinux policy file."
+
+#define HELP_getenforce "usage: getenforce\n\nShows whether SELinux is disabled, enforcing, or permissive."
+
+#define HELP_skeleton_alias "usage: skeleton_alias [-dq] [-b NUMBER]\n\nExample of a second command with different arguments in the same source\nfile as the first. This allows shared infrastructure not added to lib/."
+
+#define HELP_skeleton "usage: skeleton [-a] [-b STRING] [-c NUMBER] [-d LIST] [-e COUNT] [...]\n\nTemplate for new commands. You don't need this.\n\nWhen creating a new command, copy this file and delete the parts you\ndon't need. Be sure to replace all instances of \"skeleton\" (upper and lower\ncase) with your new command name.\n\nFor simple commands, \"hello.c\" is probably a better starting point."
+
+#define HELP_logwrapper "usage: logwrapper ...\n\nAppend command line to $WRAPLOG, then call second instance\nof command in $PATH."
+
+#define HELP_hostid "usage: hostid\n\nPrint the numeric identifier for the current host."
+
+#define HELP_hello "usage: hello\n\nA hello world program.\n\nMostly used as a simple template for adding new commands.\nOccasionally nice to smoketest kernel booting via \"init=/usr/bin/hello\"."
+
+#define HELP_demo_utf8towc "usage: demo_utf8towc\n\nPrint differences between toybox's utf8 conversion routines vs libc du jour."
+
+#define HELP_demo_scankey "usage: demo_scankey\n\nMove a letter around the screen. Hit ESC to exit."
+
+#define HELP_demo_number "usage: demo_number [-hsbi] [-D LEN] NUMBER...\n\n-D	output field is LEN chars\n-M	input units (index into bkmgtpe)\n-c	Comma comma down do be do down down\n-b	Use \"B\" for single byte units (HR_B)\n-d	Decimal units\n-h	Human readable\n-s	Space between number and units (HR_SPACE)"
+
+#define HELP_demo_many_options "usage: demo_many_options -[a-zA-Z]\n\nPrint the optflags value of the command arguments, in hex."
+
+#define HELP_umount "usage: umount [-a [-t TYPE[,TYPE...]]] [-vrfD] [DIR...]\n\nUnmount the listed filesystems.\n\n-a	Unmount all mounts in /proc/mounts instead of command line list\n-D	Don't free loopback device(s)\n-f	Force unmount\n-l	Lazy unmount (detach from filesystem now, close when last user does)\n-n	Don't use /proc/mounts\n-r	Remount read only if unmounting fails\n-t	Restrict \"all\" to mounts of TYPE (or use \"noTYPE\" to skip)\n-v	Verbose"
+
+#define HELP_sync "usage: sync\n\nWrite pending cached data to disk (synchronize), blocking until done."
+
+#define HELP_su "usage: su [-lp] [-u UID] [-g GID,...] [-s SHELL] [-c CMD] [USER [COMMAND...]]\n\nSwitch user, prompting for password of new user when not run as root.\n\nWith one argument, switch to USER and run user's shell from /etc/passwd.\nWith no arguments, USER is root. If COMMAND line provided after USER,\nexec() it as new USER (bypassing shell). If -u or -g specified, first\nargument (if any) isn't USER (it's COMMAND).\n\nfirst argument is USER name to switch to (which must exist).\nNon-root users are prompted for new user's password.\n\n-s	Shell to use (default is user's shell from /etc/passwd)\n-c	Command line to pass to -s shell (ala sh -c \"CMD\")\n-l	Reset environment as if new login.\n-u	Switch to UID instead of USER\n-g	Switch to GID (only root allowed, can be comma separated list)\n-p	Preserve environment (except for $PATH and $IFS)"
+
+#define HELP_seq "usage: seq [-w|-f fmt_str] [-s sep_str] [first] [increment] last\n\nCount from first to last, by increment. Omitted arguments default\nto 1. Two arguments are used as first and last. Arguments can be\nnegative or floating point.\n\n-f	Use fmt_str as a printf-style floating point format string\n-s	Use sep_str as separator, default is a newline character\n-w	Pad to equal width with leading zeroes"
+
+#define HELP_pidof "usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME]...\n\nPrint the PIDs of all processes with the given names.\n\n-s	Single shot, only return one pid\n-o	Omit PID(s)\n-x	Match shell scripts too"
+
+#define HELP_passwd_sad "Password changes are checked to make sure they're at least 6 chars long,\ndon't include the entire username (but not a subset of it), or the entire\nprevious password (but changing password1, password2, password3 is fine).\nThis heuristic accepts \"aaaaaa\" and \"123456\"."
+
+#define HELP_passwd "usage: passwd [-a ALGO] [-dlu] [USER]\n\nUpdate user's authentication tokens. Defaults to current user.\n\n-a ALGO	Encryption method (des, md5, sha256, sha512) default: des\n-d		Set password to ''\n-l		Lock (disable) account\n-u		Unlock (enable) account"
+
+#define HELP_mount "usage: mount [-afFrsvw] [-t TYPE] [-o OPTION,] [[DEVICE] DIR]\n\nMount new filesystem(s) on directories. With no arguments, display existing\nmounts.\n\n-a	Mount all entries in /etc/fstab (with -t, only entries of that TYPE)\n-O	Only mount -a entries that have this option\n-f	Fake it (don't actually mount)\n-r	Read only (same as -o ro)\n-w	Read/write (default, same as -o rw)\n-t	Specify filesystem type\n-v	Verbose\n\nOPTIONS is a comma separated list of options, which can also be supplied\nas --longopts.\n\nAutodetects loopback mounts (a file on a directory) and bind mounts (file\non file, directory on directory), so you don't need to say --bind or --loop.\nYou can also \"mount -a /path\" to mount everything in /etc/fstab under /path,\neven if it's noauto. DEVICE starting with UUID= is identified by blkid -U."
+
+#define HELP_mktemp "usage: mktemp [-dqu] [-p DIR] [TEMPLATE]\n\nSafely create a new file \"DIR/TEMPLATE\" and print its name.\n\n-d	Create directory instead of file (--directory)\n-p	Put new file in DIR (--tmpdir)\n-q	Quiet, no error messages\n-t	Prefer $TMPDIR > DIR > /tmp (default DIR > $TMPDIR > /tmp)\n-u	Don't create anything, just print what would be created\n\nEach X in TEMPLATE is replaced with a random printable character. The\ndefault TEMPLATE is tmp.XXXXXXXXXX."
+
+#define HELP_mknod_z "usage: mknod [-Z CONTEXT] ...\n\n-Z	Set security context to created file"
+
+#define HELP_mknod "usage: mknod [-m MODE] NAME TYPE [MAJOR MINOR]\n\nCreate a special file NAME with a given type. TYPE is b for block device,\nc or u for character device, p for named pipe (which ignores MAJOR/MINOR).\n\n-m	Mode (file permissions) of new device, in octal or u+x format"
+
+#define HELP_sha512sum "See sha1sum"
+
+#define HELP_sha384sum "See sha1sum"
+
+#define HELP_sha256sum "See sha1sum"
+
+#define HELP_sha224sum "See sha1sum"
+
+#define HELP_sha1sum "usage: sha?sum [-bcs] [FILE]...\n\nCalculate sha hash for each input file, reading from stdin if none. Output\none hash (40 hex digits for sha1, 56 for sha224, 64 for sha256, 96 for sha384,\nand 128 for sha512) for each input file, followed by filename.\n\n-b	Brief (hash only, no filename)\n-c	Check each line of each FILE is the same hash+filename we'd output\n-s	No output, exit status 0 if all hashes match, 1 otherwise"
+
+#define HELP_md5sum "usage: md5sum [-bcs] [FILE]...\n\nCalculate md5 hash for each input file, reading from stdin if none.\nOutput one hash (32 hex digits) for each input file, followed by filename.\n\n-b	Brief (hash only, no filename)\n-c	Check each line of each FILE is the same hash+filename we'd output\n-s	No output, exit status 0 if all hashes match, 1 otherwise"
+
+#define HELP_killall "usage: killall [-l] [-iqv] [-SIGNAL|-s SIGNAL] PROCESS_NAME...\n\nSend a signal (default: TERM) to all processes with the given names.\n\n-i	Ask for confirmation before killing\n-l	Print list of all available signals\n-q	Don't print any warnings or error messages\n-s	Send SIGNAL instead of SIGTERM\n-v	Report if the signal was successfully sent\n-w	Wait until all signaled processes are dead"
+
+#define HELP_dnsdomainname "usage: dnsdomainname\n\nShow domain this system belongs to (same as hostname -d)."
+
+#define HELP_hostname "usage: hostname [-bdsf] [-F FILENAME] [newname]\n\nGet/set the current hostname.\n\n-b	Set hostname to 'localhost' if otherwise unset\n-d	Show DNS domain name (no host)\n-f	Show fully-qualified name (host+domain, FQDN)\n-F	Set hostname to contents of FILENAME\n-s	Show short host name (no domain)"
+
+#define HELP_zcat "usage: zcat [FILE...]\n\nDecompress files to stdout. Like `gzip -dc`.\n\n-f	Force: allow read from tty"
+
+#define HELP_gunzip "usage: gunzip [-cfk] [FILE...]\n\nDecompress files. With no files, decompresses stdin to stdout.\nOn success, the input files are removed and replaced by new\nfiles without the .gz suffix.\n\n-c	Output to stdout (act as zcat)\n-f	Force: allow read from tty\n-k	Keep input files (default is to remove)"
+
+#define HELP_gzip "usage: gzip [-19cdfk] [FILE...]\n\nCompress files. With no files, compresses stdin to stdout.\nOn success, the input files are removed and replaced by new\nfiles with the .gz suffix.\n\n-c	Output to stdout\n-d	Decompress (act as gunzip)\n-f	Force: allow overwrite of output file\n-k	Keep input files (default is to remove)\n-#	Compression level 1-9 (1:fastest, 6:default, 9:best)"
+
+#define HELP_dmesg "usage: dmesg [-Cc] [-r|-t|-T] [-n LEVEL] [-s SIZE] [-w]\n\nPrint or control the kernel ring buffer.\n\n-C	Clear ring buffer without printing\n-c	Clear ring buffer after printing\n-n	Set kernel logging LEVEL (1-9)\n-r	Raw output (with <level markers>)\n-S	Use syslog(2) rather than /dev/kmsg\n-s	Show the last SIZE many bytes\n-T	Human readable timestamps\n-t	Don't print timestamps\n-w	Keep waiting for more output (aka --follow)"
+
+#define HELP_tunctl "usage: tunctl [-dtT] [-u USER] NAME\n\nCreate and delete tun/tap virtual ethernet devices.\n\n-T	Use tap (ethernet frames) instead of tun (ip packets)\n-d	Delete tun/tap device\n-t	Create tun/tap device\n-u	Set owner (user who can read/write device without root access)"
+
+#define HELP_sntp "usage: sntp [-saSdDq] [-r SHIFT] [-mM[ADDRESS]] [-p PORT] [SERVER]\n\nSimple Network Time Protocol client. Query SERVER and display time.\n\n-p	Use PORT (default 123)\n-s	Set system clock suddenly\n-a	Adjust system clock gradually\n-S	Serve time instead of querying (bind to SERVER address if specified)\n-m	Wait for updates from multicast ADDRESS (RFC 4330 default 224.0.1.1)\n-M	Multicast server on ADDRESS (default 224.0.0.1)\n-t	TTL (multicast only, default 1)\n-d	Daemonize (run in background re-querying )\n-D	Daemonize but stay in foreground: re-query time every 1000 seconds\n-r	Retry shift (every 1<<SHIFT seconds)\n-q	Quiet (don't display time)"
+
+#define HELP_rfkill "usage: rfkill COMMAND [DEVICE]\n\nEnable/disable wireless devices.\n\nCommands:\nlist [DEVICE]   List current state\nblock DEVICE    Disable device\nunblock DEVICE  Enable device\n\nDEVICE is an index number, or one of:\nall, wlan(wifi), bluetooth, uwb(ultrawideband), wimax, wwan, gps, fm."
+
+#define HELP_ping "usage: ping [OPTIONS] HOST\n\nCheck network connectivity by sending packets to a host and reporting\nits response.\n\nSend ICMP ECHO_REQUEST packets to ipv4 or ipv6 addresses and prints each\necho it receives back, with round trip time. Returns true if host alive.\n\nOptions:\n-4, -6		Force IPv4 or IPv6\n-c CNT		Send CNT many packets (default 3, 0 = infinite)\n-f		Flood (print . and \\b to show drops, default -c 15 -i 0.2)\n-i TIME		Interval between packets (default 1, need root for < .2)\n-I IFACE/IP	Source interface or address\n-m MARK		Tag outgoing packets using SO_MARK\n-q		Quiet (stops after one returns true if host is alive)\n-s SIZE		Data SIZE in bytes (default 56)\n-t TTL		Set Time To Live (number of hops)\n-W SEC		Seconds to wait for response after last -c packet (default 3)\n-w SEC		Exit after this many seconds"
+
+#define HELP_netstat "usage: netstat [-pWrxwutneal]\n\nDisplay networking information. Default is netstat -tuwx\n\n-r	Routing table\n-a	All sockets (not just connected)\n-l	Listening server sockets\n-t	TCP sockets\n-u	UDP sockets\n-w	Raw sockets\n-x	Unix sockets\n-e	Extended info\n-n	Don't resolve names\n-W	Wide display\n-p	Show PID/program name of sockets"
+
+#define HELP_netcat_listen "usage: netcat [-tElL]\n\n-l	Listen for one incoming connection, then exit\n-L	Listen and background each incoming connection (server mode)\n-t	Allocate tty\n-E	Forward stderr\n\nWhen listening the COMMAND line is executed as a child process to handle\nan incoming connection. With no COMMAND -l forwards the connection\nto stdin/stdout. If no -p specified, -l prints the port it bound to and\nbackgrounds itself (returning immediately).\n\nFor a quick-and-dirty server, try something like:\nnetcat -s 127.0.0.1 -p 1234 -tL sh -l"
+
+#define HELP_netcat "usage: netcat [-46U] [-u] [-wpq #] [-s addr] {IPADDR PORTNUM|-f FILENAME|COMMAND...}\n\nForward stdin/stdout to a file or network connection.\n\n-4	Force IPv4\n-6	Force IPv6\n-f	Use FILENAME (ala /dev/ttyS0) instead of network\n-p	Local port number\n-q	Quit SECONDS after EOF on stdin, even if stdout hasn't closed yet\n-s	Local source address\n-u	Use UDP\n-U	Use a UNIX domain socket\n-w	SECONDS timeout to establish connection\n-W	SECONDS timeout for more data on an idle connection\n\nUse \"stty 115200 -F /dev/ttyS0 && stty raw -echo -ctlecho\" with\nnetcat -f to connect to a serial port."
+
+#define HELP_microcom "usage: microcom [-s SPEED] [-X] DEVICE\n\nSimple serial console.\n\n-s	Set baud rate to SPEED (default 115200)\n-X	Ignore ^@ (send break) and ^] (exit)"
+
+#define HELP_ifconfig "usage: ifconfig [-aS] [INTERFACE [ACTION...]]\n\nDisplay or configure network interface.\n\nWith no arguments, display active interfaces. First argument is interface\nto operate on, one argument by itself displays that interface.\n\n-a	All interfaces displayed, not just active ones\n-S	Short view, one line per interface\n\nStandard ACTIONs to perform on an INTERFACE:\n\nADDR[/MASK]        - set IPv4 address (1.2.3.4/5) and activate interface\nadd|del ADDR[/LEN] - add/remove IPv6 address (1111::8888/128)\nup|down            - activate or deactivate interface\n\nAdvanced ACTIONs (default values usually suffice):\n\ndefault          - remove IPv4 address\nnetmask ADDR     - set IPv4 netmask via 255.255.255.0 instead of /24\ntxqueuelen LEN   - number of buffered packets before output blocks\nmtu LEN          - size of outgoing packets (Maximum Transmission Unit)\nbroadcast ADDR   - Set broadcast address\npointopoint ADDR - PPP and PPPOE use this instead of \"route add default gw\"\nhw TYPE ADDR     - set hardware (mac) address (type = ether|infiniband)\n\nFlags you can set on an interface (or -remove by prefixing with -):\n\narp       - don't use Address Resolution Protocol to map LAN routes\npromisc   - don't discard packets that aren't to this LAN hardware address\nmulticast - force interface into multicast mode if the driver doesn't\nallmulti  - promisc for multicast packets"
+
+#define HELP_ftpput "An ftpget that defaults to -s instead of -g"
+
+#define HELP_ftpget "usage: ftpget [-cvgslLmMdD] [-P PORT] [-p PASSWORD] [-u USER] HOST [LOCAL] REMOTE\n\nTalk to ftp server. By default get REMOTE file via passive anonymous\ntransfer, optionally saving under a LOCAL name. Can also send, list, etc.\n\n-c	Continue partial transfer\n-p	Use PORT instead of \"21\"\n-P	Use PASSWORD instead of \"ftpget@\"\n-u	Use USER instead of \"anonymous\"\n-v	Verbose\n\nWays to interact with FTP server:\n-d	Delete file\n-D	Remove directory\n-g	Get file (default)\n-l	List directory\n-L	List (filenames only)\n-m	Move file on server from LOCAL to REMOTE\n-M	mkdir\n-s	Send file"
+
+#define HELP_yes "usage: yes [args...]\n\nRepeatedly output line until killed. If no args, output 'y'."
+
+#define HELP_xxd "usage: xxd [-c n] [-g n] [-i] [-l n] [-o n] [-p] [-r] [-s n] [file]\n\nHexdump a file to stdout.  If no file is listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-c n	Show n bytes per line (default 16)\n-g n	Group bytes by adding a ' ' every n bytes (default 2)\n-i	Include file output format (comma-separated hex byte literals)\n-l n	Limit of n bytes before stopping (default is no limit)\n-o n	Add n to display offset\n-p	Plain hexdump (30 bytes/line, no grouping)\n-r	Reverse operation: turn a hexdump into a binary file\n-s n	Skip to offset n"
+
+#define HELP_which "usage: which [-a] filename ...\n\nSearch $PATH for executable files matching filename(s).\n\n-a	Show all matches"
+
+#define HELP_watchdog "usage: watchdog [-F] [-t UPDATE] [-T DEADLINE] DEV\n\nStart the watchdog timer at DEV with optional timeout parameters.\n\n-F	run in the foreground (do not daemonize)\n-t	poke watchdog every UPDATE seconds (default 4)\n-T	reboot if not poked for DEADLINE seconds (default 60)"
+
+#define HELP_watch "usage: watch [-teb] [-n SEC] PROG ARGS\n\nRun PROG every -n seconds, showing output. Hit q to quit.\n\n-n	Loop period in seconds (default 2)\n-t	Don't print header\n-e	Exit on error\n-b	Beep on command error\n-x	Exec command directly (vs \"sh -c\")"
+
+#define HELP_w "usage: w\n\nShow who is logged on and since how long they logged in."
+
+#define HELP_vmstat "usage: vmstat [-n] [DELAY [COUNT]]\n\nPrint virtual memory statistics, repeating each DELAY seconds, COUNT times.\n(With no DELAY, prints one line. With no COUNT, repeats until killed.)\n\nShow processes running and blocked, kilobytes swapped, free, buffered, and\ncached, kilobytes swapped in and out per second, file disk blocks input and\noutput per second, interrupts and context switches per second, percent\nof CPU time spent running user code, system code, idle, and awaiting I/O.\nFirst line is since system started, later lines are since last line.\n\n-n	Display the header only once"
+
+#define HELP_vconfig "usage: vconfig COMMAND [OPTIONS]\n\nCreate and remove virtual ethernet devices\n\nadd             [interface-name] [vlan_id]\nrem             [vlan-name]\nset_flag        [interface-name] [flag-num]       [0 | 1]\nset_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]\nset_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]\nset_name_type   [name-type]"
+
+#define HELP_uuidgen "usage: uuidgen\n\nCreate and print a new RFC4122 random UUID."
+
+#define HELP_usleep "usage: usleep MICROSECONDS\n\nPause for MICROSECONDS microseconds."
+
+#define HELP_uptime "usage: uptime [-ps]\n\nTell the current time, how long the system has been running, the number\nof users, and the system load averages for the past 1, 5 and 15 minutes.\n\n-p	Pretty (human readable) uptime\n-s	Since when has the system been up?"
+
+#define HELP_truncate "usage: truncate [-c] -s SIZE file...\n\nSet length of file(s), extending sparsely if necessary.\n\n-c	Don't create file if it doesn't exist\n-s	New size (with optional prefix and suffix)\n\nSIZE prefix: + add, - subtract, < shrink to, > expand to,\n             / multiple rounding down, % multiple rounding up\nSIZE suffix: k=1024, m=1024^2, g=1024^3, t=1024^4, p=1024^5, e=1024^6"
+
+#define HELP_timeout "usage: timeout [-k DURATION] [-s SIGNAL] DURATION COMMAND...\n\nRun command line as a child process, sending child a signal if the\ncommand doesn't exit soon enough.\n\nDURATION can be a decimal fraction. An optional suffix can be \"m\"\n(minutes), \"h\" (hours), \"d\" (days), or \"s\" (seconds, the default).\n\n-s	Send specified signal (default TERM)\n-k	Send KILL signal if child still running this long after first signal\n-v	Verbose\n--foreground       Don't create new process group\n--preserve-status  Exit with the child's exit status"
+
+#define HELP_taskset "usage: taskset [-ap] [mask] [PID | cmd [args...]]\n\nLaunch a new task which may only run on certain processors, or change\nthe processor affinity of an existing PID.\n\nMask is a hex string where each bit represents a processor the process\nis allowed to run on. PID without a mask displays existing affinity.\n\n-p	Set/get the affinity of given PID instead of a new command\n-a	Set/get the affinity of all threads of the PID"
+
+#define HELP_nproc "usage: nproc [--all]\n\nPrint number of processors.\n\n--all	Show all processors, not just ones this task can run on"
+
+#define HELP_tac "usage: tac [FILE...]\n\nOutput lines in reverse order."
+
+#define HELP_sysctl "usage: sysctl [-aAeNnqw] [-p [FILE] | KEY[=VALUE]...]\n\nRead/write system control data (under /proc/sys).\n\n-a,A	Show all values\n-e	Don't warn about unknown keys\n-N	Don't print key values\n-n	Don't print key names\n-p	Read values from FILE (default /etc/sysctl.conf)\n-q	Don't show value after write\n-w	Only write values (object to reading)"
+
+#define HELP_switch_root "usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT...\n\nUse from PID 1 under initramfs to free initramfs, chroot to NEW_ROOT,\nand exec NEW_INIT.\n\n-c	Redirect console to device in NEW_ROOT\n-h	Hang instead of exiting on failure (avoids kernel panic)"
+
+#define HELP_swapon "usage: swapon [-d] [-p priority] filename\n\nEnable swapping on a given device/file.\n\n-d	Discard freed SSD pages\n-p	Priority (highest priority areas allocated first)"
+
+#define HELP_swapoff "usage: swapoff swapregion\n\nDisable swapping on a given swapregion."
+
+#define HELP_stat "usage: stat [-tfL] [-c FORMAT] FILE...\n\nDisplay status of files or filesystems.\n\n-c	Output specified FORMAT string instead of default\n-f	Display filesystem status instead of file status\n-L	Follow symlinks\n-t	terse (-c \"%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\")\n	      (with -f = -c \"%n %i %l %t %s %S %b %f %a %c %d\")\n\nThe valid format escape sequences for files:\n%a  Access bits (octal) |%A  Access bits (flags)|%b  Size/512\n%B  Bytes per %b (512)  |%C  Security context   |%d  Device ID (dec)\n%D  Device ID (hex)     |%f  All mode bits (hex)|%F  File type\n%g  Group ID            |%G  Group name         |%h  Hard links\n%i  Inode               |%m  Mount point        |%n  Filename\n%N  Long filename       |%o  I/O block size     |%s  Size (bytes)\n%t  Devtype major (hex) |%T  Devtype minor (hex)|%u  User ID\n%U  User name           |%x  Access time        |%X  Access unix time\n%y  Modification time   |%Y  Mod unix time      |%z  Creation time\n%Z  Creation unix time\n\nThe valid format escape sequences for filesystems:\n%a  Available blocks    |%b  Total blocks       |%c  Total inodes\n%d  Free inodes         |%f  Free blocks        |%i  File system ID\n%l  Max filename length |%n  File name          |%s  Fragment size\n%S  Best transfer size  |%t  FS type (hex)      |%T  FS type (driver name)"
+
+#define HELP_shred "usage: shred [-fuz] [-n COUNT] [-s SIZE] FILE...\n\nSecurely delete a file by overwriting its contents with random data.\n\n-f		Force (chmod if necessary)\n-n COUNT	Random overwrite iterations (default 1)\n-o OFFSET	Start at OFFSET\n-s SIZE		Use SIZE instead of detecting file size\n-u		Unlink (actually delete file when done)\n-x		Use exact size (default without -s rounds up to next 4k)\n-z		Zero at end\n\nNote: data journaling filesystems render this command useless, you must\noverwrite all free space (fill up disk) to erase old data on those."
+
+#define HELP_sha3sum "usage: sha3sum [-S] [-a BITS] [FILE...]\n\nHash function du jour.\n\n-a	Produce a hash BITS long (default 224)\n-S	Use SHAKE termination byte instead of SHA3 (ask FIPS why)"
+
+#define HELP_setsid "usage: setsid [-cdw] command [args...]\n\nRun process in a new session.\n\n-d	Detach from tty\n-c	Control tty (become foreground process & receive keyboard signals)\n-w	Wait for child (and exit with its status)"
+
+#define HELP_setfattr "usage: setfattr [-h] [-x|-n NAME] [-v VALUE] FILE...\n\nWrite POSIX extended attributes.\n\n-h	Do not dereference symlink\n-n	Set given attribute\n-x	Remove given attribute\n-v	Set value for attribute -n (default is empty)"
+
+#define HELP_rtcwake "usage: rtcwake [-aluv] [-d FILE] [-m MODE] [-s SECS] [-t UNIX]\n\nEnter the given sleep state until the given time.\n\n-a	RTC uses time specified in /etc/adjtime\n-d FILE	Device to use (default /dev/rtc)\n-l	RTC uses local time\n-m	Mode (--list-modes to see those supported by your kernel):\n	  standby  S1: default              mem     S3: suspend to RAM\n	  disk     S4: suspend to disk      off     S5: power off\n	  disable  Cancel current alarm     freeze  stop processes/processors\n	  no       just set wakeup time     on      just poll RTC for alarm\n	  show     just show current alarm\n-s SECS	Wake SECS seconds from now\n-t UNIX	Wake UNIX seconds from epoch\n-u	RTC uses UTC\n-v	Verbose"
+
+#define HELP_rmmod "usage: rmmod [-wf] [MODULE]\n\nUnload the module named MODULE from the Linux kernel.\n-f	Force unload of a module\n-w	Wait until the module is no longer used"
+
+#define HELP_rev "usage: rev [FILE...]\n\nOutput each line reversed, when no files are given stdin is used."
+
+#define HELP_reset "usage: reset\n\nReset the terminal."
+
+#define HELP_reboot "usage: reboot/halt/poweroff [-fn]\n\nRestart, halt or powerdown the system.\n\n-f	Don't signal init\n-n	Don't sync before stopping the system"
+
+#define HELP_realpath "usage: realpath FILE...\n\nDisplay the canonical absolute pathname"
+
+#define HELP_readlink "usage: readlink FILE...\n\nWith no options, show what symlink points to, return error if not symlink.\n\nOptions for producing canonical paths (all symlinks/./.. resolved):\n\n-e	Canonical path to existing entry (fail if missing)\n-f	Full path (fail if directory missing)\n-m	Ignore missing entries, show where it would be\n-n	No trailing newline\n-q	Quiet (no output, just error code)"
+
+#define HELP_readahead "usage: readahead FILE...\n\nPreload files into disk cache."
+
+#define HELP_pwgen "usage: pwgen [-cAn0yrsBhC1v] [LENGTH] [COUNT]\n\nGenerate human-readable random passwords. When output is to tty produces\na screenfull to defeat shoulder surfing (pick one and clear the screen).\n\n-c  --capitalize                  Permit capital letters.\n-A  --no-capitalize               Don't include capital letters.\n-n  --numerals                    Permit numbers.\n-0  --no-numerals                 Don't include numbers.\n-y  --symbols                     Permit special characters ($#%...).\n-r <chars>  --remove=<chars>      Don't include the given characters.\n-s  --secure                      Generate more random passwords.\n-B  --ambiguous                   Avoid ambiguous characters (e.g. 0, O).\n-h  --help                        Print this help message.\n-C                                Print the output in columns.\n-1                                Print the output one line each.\n-v                                Don't include vowels."
+
+#define HELP_pwdx "usage: pwdx PID...\n\nPrint working directory of processes listed on command line."
+
+#define HELP_printenv "usage: printenv [-0] [env_var...]\n\nPrint environment variables.\n\n-0	Use \\0 as delimiter instead of \\n"
+
+#define HELP_pmap "usage: pmap [-xq] [pids...]\n\nReport the memory map of a process or processes.\n\n-x	Show the extended format\n-q	Do not display some header/footer lines"
+
+#define HELP_pivot_root "usage: pivot_root OLD NEW\n\nSwap OLD and NEW filesystems (as if by simultaneous mount --move), and\nmove all processes with chdir or chroot under OLD into NEW (including\nkernel threads) so OLD may be unmounted.\n\nThe directory NEW must exist under OLD. This doesn't work on initramfs,\nwhich can't be moved (about the same way PID 1 can't be killed; see\nswitch_root instead)."
+
+#define HELP_partprobe "usage: partprobe DEVICE...\n\nTell the kernel about partition table changes\n\nAsk the kernel to re-read the partition table on the specified devices."
+
+#define HELP_oneit "usage: oneit [-prn3] [-c CONSOLE] [COMMAND...]\n\nSimple init program that runs a single supplied command line with a\ncontrolling tty (so CTRL-C can kill it).\n\n-c	Which console device to use (/dev/console doesn't do CTRL-C, etc)\n-p	Power off instead of rebooting when command exits\n-r	Restart child when it exits\n-n	No reboot, just relaunch command line\n-3	Write 32 bit PID of each exiting reparented process to fd 3 of child\n	(Blocking writes, child must read to avoid eventual deadlock.)\n\nSpawns a single child process (because PID 1 has signals blocked)\nin its own session, reaps zombies until the child exits, then\nreboots the system (or powers off with -p, or restarts the child with -r).\n\nResponds to SIGUSR1 by halting the system, SIGUSR2 by powering off,\nand SIGTERM or SIGINT reboot."
+
+#define HELP_nsenter "usage: nsenter [-t pid] [-F] [-i] [-m] [-n] [-p] [-u] [-U] COMMAND...\n\nRun COMMAND in an existing (set of) namespace(s).\n\n-t	PID to take namespaces from    (--target)\n-F	don't fork, even if -p is used (--no-fork)\n\nThe namespaces to switch are:\n\n-i	SysV IPC: message queues, semaphores, shared memory (--ipc)\n-m	Mount/unmount tree (--mount)\n-n	Network address, sockets, routing, iptables (--net)\n-p	Process IDs and init, will fork unless -F is used (--pid)\n-u	Host and domain names (--uts)\n-U	UIDs, GIDs, capabilities (--user)\n\nIf -t isn't specified, each namespace argument must provide a path\nto a namespace file, ala \"-i=/proc/$PID/ns/ipc\""
+
+#define HELP_unshare "usage: unshare [-imnpuUr] COMMAND...\n\nCreate new container namespace(s) for this process and its children, so\nsome attribute is not shared with the parent process.\n\n-f	Fork command in the background (--fork)\n-i	SysV IPC (message queues, semaphores, shared memory) (--ipc)\n-m	Mount/unmount tree (--mount)\n-n	Network address, sockets, routing, iptables (--net)\n-p	Process IDs and init (--pid)\n-r	Become root (map current euid/egid to 0/0, implies -U) (--map-root-user)\n-u	Host and domain names (--uts)\n-U	UIDs, GIDs, capabilities (--user)\n\nA namespace allows a set of processes to have a different view of the\nsystem than other sets of processes."
+
+#define HELP_nbd_client "usage: nbd-client [-ns] HOST PORT DEVICE\n\n-n	Do not fork into background\n-s	nbd swap support (lock server into memory)"
+
+#define HELP_mountpoint "usage: mountpoint [-qd] DIR\n       mountpoint [-qx] DEVICE\n\nCheck whether the directory or device is a mountpoint.\n\n-q	Be quiet, return zero if directory is a mountpoint\n-d	Print major/minor device number of the directory\n-x	Print major/minor device number of the block device"
+
+#define HELP_modinfo "usage: modinfo [-0] [-b basedir] [-k kernel] [-F field] [module|file...]\n\nDisplay module fields for modules specified by name or .ko path.\n\n-F  Only show the given field\n-0  Separate fields with NUL rather than newline\n-b  Use <basedir> as root for /lib/modules/\n-k  Look in given directory under /lib/modules/"
+
+#define HELP_mkswap "usage: mkswap [-L LABEL] DEVICE\n\nSet up a Linux swap area on a device or file."
+
+#define HELP_mkpasswd "usage: mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT]\n\nCrypt PASSWORD using crypt(3)\n\n-P FD	Read password from file descriptor FD\n-m TYPE	Encryption method (des, md5, sha256, or sha512; default is des)\n-S SALT"
+
+#define HELP_mix "usage: mix [-d DEV] [-c CHANNEL] [-l VOL] [-r RIGHT]\n\nList OSS sound channels (module snd-mixer-oss), or set volume(s).\n\n-c CHANNEL	Set/show volume of CHANNEL (default first channel found)\n-d DEV		Device node (default /dev/mixer)\n-l VOL		Volume level\n-r RIGHT	Volume of right stereo channel (with -r, -l sets left volume)"
+
+#define HELP_mcookie "usage: mcookie [-vV]\n\nGenerate a 128-bit strong random number.\n\n-v  show entropy source (verbose)\n-V  show version"
+
+#define HELP_makedevs "usage: makedevs [-d device_table] rootdir\n\nCreate a range of special files as specified in a device table.\n\n-d	File containing device table (default reads from stdin)\n\nEach line of the device table has the fields:\n<name> <type> <mode> <uid> <gid> <major> <minor> <start> <increment> <count>\nWhere name is the file name, and type is one of the following:\n\nb	Block device\nc	Character device\nd	Directory\nf	Regular file\np	Named pipe (fifo)\n\nOther fields specify permissions, user and group id owning the file,\nand additional fields for device special files. Use '-' for blank entries,\nunspecified fields are treated as '-'."
+
+#define HELP_lsusb "usage: lsusb\n\nList USB hosts/devices."
+
+#define HELP_lspci_text "usage: lspci [-n] [-i FILE ]\n\n-n	Numeric output (repeat for readable and numeric)\n-i	PCI ID database (default /usr/share/misc/pci.ids)"
+
+#define HELP_lspci "usage: lspci [-ekm]\n\nList PCI devices.\n\n-e	Print all 6 digits in class\n-k	Print kernel driver\n-m	Machine readable format"
+
+#define HELP_lsmod "usage: lsmod\n\nDisplay the currently loaded modules, their sizes and their dependencies."
+
+#define HELP_chattr "usage: chattr [-R] [-+=AacDdijsStTu] [-p PROJID] [-v VERSION] [FILE...]\n\nChange file attributes on a Linux file system.\n\n-R	Recurse\n-p	Set the file's project number\n-v	Set the file's version/generation number\n\nOperators:\n  '-' Remove attributes\n  '+' Add attributes\n  '=' Set attributes\n\nAttributes:\n  A  No atime                     a  Append only\n  C  No COW                       c  Compression\n  D  Synchronous dir updates      d  No dump\n  E  Encrypted                    e  Extents\n  F  Case-insensitive (casefold)\n  I  Indexed directory            i  Immutable\n  j  Journal data\n  N  Inline data in inode\n  P  Project hierarchy\n  S  Synchronous file updates     s  Secure delete\n  T  Top of dir hierarchy         t  No tail-merging\n  u  Allow undelete\n  V  Verity"
+
+#define HELP_lsattr "usage: lsattr [-Radlpv] [FILE...]\n\nList file attributes on a Linux file system.\nFlag letters are defined in chattr help.\n\n-R	Recursively list attributes of directories and their contents\n-a	List all files in directories, including files that start with '.'\n-d	List directories like other files, rather than listing their contents\n-l	List long flag names\n-p	List the file's project number\n-v	List the file's version/generation number"
+
+#define HELP_losetup "usage: losetup [-cdrs] [-o OFFSET] [-S SIZE] {-d DEVICE...|-j FILE|-af|{DEVICE FILE}}\n\nAssociate a loopback device with a file, or show current file (if any)\nassociated with a loop device.\n\nInstead of a device:\n-a	Iterate through all loopback devices\n-f	Find first unused loop device (may create one)\n-j FILE	Iterate through all loopback devices associated with FILE\n\nexisting:\n-c	Check capacity (file size changed)\n-d DEV	Detach loopback device\n-D	Detach all loopback devices\n\nnew:\n-s	Show device name (alias --show)\n-o OFF	Start association at offset OFF into FILE\n-r	Read only\n-S SIZE	Limit SIZE of loopback association (alias --sizelimit)"
+
+#define HELP_login "usage: login [-p] [-h host] [-f USERNAME] [USERNAME]\n\nLog in as a user, prompting for username and password if necessary.\n\n-p	Preserve environment\n-h	The name of the remote host for this login\n-f	login as USERNAME without authentication"
+
+#define HELP_iorenice "usage: iorenice PID [CLASS] [PRIORITY]\n\nDisplay or change I/O priority of existing process. CLASS can be\n\"rt\" for realtime, \"be\" for best effort, \"idle\" for only when idle, or\n\"none\" to leave it alone. PRIORITY can be 0-7 (0 is highest, default 4)."
+
+#define HELP_ionice "usage: ionice [-t] [-c CLASS] [-n LEVEL] [COMMAND...|-p PID]\n\nChange the I/O scheduling priority of a process. With no arguments\n(or just -p), display process' existing I/O class/priority.\n\n-c	CLASS = 1-3: 1(realtime), 2(best-effort, default), 3(when-idle)\n-n	LEVEL = 0-7: (0 is highest priority, default = 5)\n-p	Affect existing PID instead of spawning new child\n-t	Ignore failure to set I/O priority\n\nSystem default iopriority is generally -c 2 -n 4."
+
+#define HELP_insmod "usage: insmod MODULE [MODULE_OPTIONS]\n\nLoad the module named MODULE passing options if given."
+
+#define HELP_inotifyd "usage: inotifyd PROG FILE[:MASK] ...\n\nWhen a filesystem event matching MASK occurs to a FILE, run PROG as:\n\n  PROG EVENTS FILE [DIRFILE]\n\nIf PROG is \"-\" events are sent to stdout.\n\nThis file is:\n  a  accessed    c  modified    e  metadata change  w  closed (writable)\n  r  opened      D  deleted     M  moved            0  closed (unwritable)\n  u  unmounted   o  overflow    x  unwatchable\n\nA file in this directory is:\n  m  moved in    y  moved out   n  created          d  deleted\n\nWhen x event happens for all FILEs, inotifyd exits (after waiting for PROG)."
+
+#define HELP_i2cset "usage: i2cset [-fy] BUS CHIP ADDR VALUE... MODE\n\nWrite an i2c register. MODE is b for byte, w for 16-bit word, i for I2C block.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cget "usage: i2cget [-fy] BUS CHIP ADDR\n\nRead an i2c register.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cdump "usage: i2cdump [-fy] BUS CHIP\n\nDump i2c registers.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cdetect "usage: i2cdetect [-ary] BUS [FIRST LAST]\nusage: i2cdetect -F BUS\nusage: i2cdetect -l\n\nDetect i2c devices.\n\n-a	All addresses (0x00-0x7f rather than 0x03-0x77)\n-F	Show functionality\n-l	List all buses\n-r	Probe with SMBus Read Byte\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_hwclock "usage: hwclock [-rswtluf]\n\nGet/set the hardware clock.\n\n-f FILE	Use specified device file instead of /dev/rtc0 (--rtc)\n-l	Hardware clock uses localtime (--localtime)\n-r	Show hardware clock time (--show)\n-s	Set system time from hardware clock (--hctosys)\n-t	Set the system time based on the current timezone (--systz)\n-u	Hardware clock uses UTC (--utc)\n-w	Set hardware clock from system time (--systohc)"
+
+#define HELP_hexedit "usage: hexedit FILENAME\n\nHexadecimal file editor. All changes are written to disk immediately.\n\n-r	Read only (display but don't edit)\n\nKeys:\nArrows        Move left/right/up/down by one line/column\nPg Up/Pg Dn   Move up/down by one page\n0-9, a-f      Change current half-byte to hexadecimal value\nu             Undo\nq/^c/^d/<esc> Quit"
+
+#define HELP_help "usage: help [-ahu] [COMMAND]\n\n-a	All commands\n-u	Usage only\n-h	HTML output\n\nShow usage information for toybox commands.\nRun \"toybox\" with no arguments for a list of available commands."
+
+#define HELP_fsync "usage: fsync [-d] [FILE...]\n\nSynchronize a file's in-core state with storage device.\n\n-d	Avoid syncing metadata"
+
+#define HELP_fsfreeze "usage: fsfreeze {-f | -u} MOUNTPOINT\n\nFreeze or unfreeze a filesystem.\n\n-f	Freeze\n-u	Unfreeze"
+
+#define HELP_freeramdisk "usage: freeramdisk [RAM device]\n\nFree all memory allocated to specified ramdisk"
+
+#define HELP_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt	Output units (default is bytes)\n-h	Human readable (K=1024)"
+
+#define HELP_fmt "usage: fmt [-w WIDTH] [FILE...]\n\nReformat input to wordwrap at a given line length, preserving existing\nindentation level, writing to stdout.\n\n-w WIDTH	Maximum characters per line (default 75)"
+
+#define HELP_flock "usage: flock [-sxun] fd\n\nManage advisory file locks.\n\n-s	Shared lock\n-x	Exclusive lock (default)\n-u	Unlock\n-n	Non-blocking: fail rather than wait for the lock"
+
+#define HELP_fallocate "usage: fallocate [-l size] [-o offset] file\n\nTell the filesystem to allocate space for a file."
+
+#define HELP_factor "usage: factor NUMBER...\n\nFactor integers."
+
+#define HELP_eject "usage: eject [-stT] [DEVICE]\n\nEject DEVICE or default /dev/cdrom\n\n-s	SCSI device\n-t	Close tray\n-T	Open/close tray (toggle)"
+
+#define HELP_unix2dos "usage: unix2dos [FILE...]\n\nConvert newline format from unix \"\\n\" to dos \"\\r\\n\".\nIf no files listed copy from stdin, \"-\" is a synonym for stdin."
+
+#define HELP_dos2unix "usage: dos2unix [FILE...]\n\nConvert newline format from dos \"\\r\\n\" to unix \"\\n\".\nIf no files listed copy from stdin, \"-\" is a synonym for stdin."
+
+#define HELP_devmem "usage: devmem ADDR [WIDTH [DATA]]\n\nRead/write physical address. WIDTH is 1, 2, 4, or 8 bytes (default 4).\nPrefix ADDR with 0x for hexadecimal, output is in same base as address."
+
+#define HELP_count "usage: count\n\nCopy stdin to stdout, displaying simple progress indicator to stderr."
+
+#define HELP_clear "Clear the screen."
+
+#define HELP_chvt "usage: chvt N\n\nChange to virtual terminal number N. (This only works in text mode.)\n\nVirtual terminals are the Linux VGA text mode displays, ordinarily\nswitched between via alt-F1, alt-F2, etc. Use ctrl-alt-F1 to switch\nfrom X to a virtual terminal, and alt-F6 (or F7, or F8) to get back."
+
+#define HELP_chrt "usage: chrt [-Rmofrbi] {-p PID [PRIORITY] | [PRIORITY COMMAND...]}\n\nGet/set a process' real-time scheduling policy and priority.\n\n-p	Set/query given pid (instead of running COMMAND)\n-R	Set SCHED_RESET_ON_FORK\n-m	Show min/max priorities available\n\nSet policy (default -r):\n\n  -o  SCHED_OTHER    -f  SCHED_FIFO    -r  SCHED_RR\n  -b  SCHED_BATCH    -i  SCHED_IDLE"
+
+#define HELP_chroot "usage: chroot NEWROOT [COMMAND [ARG...]]\n\nRun command within a new root directory. If no command, run /bin/sh."
+
+#define HELP_chcon "usage: chcon [-hRv] CONTEXT FILE...\n\nChange the SELinux security context of listed file[s].\n\n-h	Change symlinks instead of what they point to\n-R	Recurse into subdirectories\n-v	Verbose"
+
+#define HELP_bzcat "usage: bzcat [FILE...]\n\nDecompress listed files to stdout. Use stdin if no files listed."
+
+#define HELP_bunzip2 "usage: bunzip2 [-cftkv] [FILE...]\n\nDecompress listed files (file.bz becomes file) deleting archive file(s).\nRead from stdin if no files listed.\n\n-c	Force output to stdout\n-f	Force decompression (if FILE doesn't end in .bz, replace original)\n-k	Keep input files (-c and -t imply this)\n-t	Test integrity\n-v	Verbose"
+
+#define HELP_blockdev "usage: blockdev --OPTION... BLOCKDEV...\n\nCall ioctl(s) on each listed block device\n\n--setro		Set read only\n--setrw		Set read write\n--getro		Get read only\n--getss		Get sector size\n--getbsz	Get block size\n--setbsz BYTES	Set block size\n--getsz		Get device size in 512-byte sectors\n--getsize	Get device size in sectors (deprecated)\n--getsize64	Get device size in bytes\n--getra		Get readahead in 512-byte sectors\n--setra SECTORS	Set readahead\n--flushbufs	Flush buffers\n--rereadpt	Reread partition table"
+
+#define HELP_fstype "usage: fstype DEV...\n\nPrint type of filesystem on a block device or image."
+
+#define HELP_blkid "usage: blkid [-s TAG] [-UL] DEV...\n\nPrint type, label and UUID of filesystem on a block device or image.\n\n-U	Show UUID only (or device with that UUID)\n-L	Show LABEL only (or device with that LABEL)\n-s TAG	Only show matching tags (default all)"
+
+#define HELP_blkdiscard "usage: blkdiscard [-olszf] DEVICE\n\nDiscard device sectors.\n\n-o, --offset OFF	Byte offset to start discarding at (default 0)\n-l, --length LEN	Bytes to discard (default all)\n-s, --secure		Perform secure discard\n-z, --zeroout		Zero-fill rather than discard\n-f, --force		Disable check for mounted filesystem\n\nOFF and LEN must be aligned to the device sector size.\nBy default entire device is discarded.\nWARNING: All discarded data is permanently lost!"
+
+#define HELP_base32 "usage: base32 [-di] [-w COLUMNS] [FILE...]\n\nEncode or decode in base32.\n\n-d	Decode\n-i	Ignore non-alphabetic characters\n-w	Wrap output at COLUMNS (default 76 or 0 for no wrap)"
+
+#define HELP_base64 "usage: base64 [-di] [-w COLUMNS] [FILE...]\n\nEncode or decode in base64.\n\n-d	Decode\n-i	Ignore non-alphabetic characters\n-w	Wrap output at COLUMNS (default 76 or 0 for no wrap)"
+
+#define HELP_ascii "usage: ascii\n\nDisplay ascii character set."
+
+#define HELP_acpi "usage: acpi [-abctV]\n\nShow status of power sources and thermal devices.\n\n-a	Show power adapters\n-b	Show batteries\n-c	Show cooling device state\n-t	Show temperatures\n-V	Show everything"
+
+#define HELP_xzcat "usage: xzcat [filename...]\n\nDecompress listed files to stdout. Use stdin if no files listed."
+
+#define HELP_wget "usage: wget -O filename URL\n-O filename: specify output filename\nURL: uniform resource location, FTP/HTTP only, not HTTPS\n\nexamples:\n  wget -O index.html http://www.example.com\n  wget -O sample.jpg ftp://ftp.example.com:21/sample.jpg"
+
+#define HELP_vi "usage: vi [-s script] FILE\n-s script: run script file\nVisual text editor. Predates the existence of standardized cursor keys,\nso the controls are weird and historical."
+
+#define HELP_userdel "usage: userdel [-r] USER\nusage: deluser [-r] USER\n\nDelete USER from the SYSTEM\n\n-r	remove home directory"
+
+#define HELP_useradd "usage: useradd [-SDH] [-h DIR] [-s SHELL] [-G GRP] [-g NAME] [-u UID] USER [GROUP]\n\nCreate new user, or add USER to GROUP\n\n-D       Don't assign a password\n-g NAME  Real name\n-G GRP   Add user to existing group\n-h DIR   Home directory\n-H       Don't create home directory\n-s SHELL Login shell\n-S       Create a system user\n-u UID   User id"
+
+#define HELP_unicode "usage: unicode [[min]-max]\n\nConvert between Unicode code points and UTF-8, in both directions."
+
+#define HELP_traceroute "usage: traceroute [-46FUIldnvr] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n[-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES]\n\ntraceroute6 [-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES][-s SRC_IP] [-t TOS] [-w WAIT_SEC]\n  [-i IFACE] HOST [BYTES]\n\nTrace the route to HOST\n\n-4,-6 Force IP or IPv6 name resolution\n-F    Set the don't fragment bit (supports IPV4 only)\n-U    Use UDP datagrams instead of ICMP ECHO (supports IPV4 only)\n-I    Use ICMP ECHO instead of UDP datagrams (supports IPV4 only)\n-l    Display the TTL value of the returned packet (supports IPV4 only)\n-d    Set SO_DEBUG options to socket\n-n    Print numeric addresses\n-v    verbose\n-r    Bypass routing tables, send directly to HOST\n-m    Max time-to-live (max number of hops)(RANGE 1 to 255)\n-p    Base UDP port number used in probes(default 33434)(RANGE 1 to 65535)\n-q    Number of probes per TTL (default 3)(RANGE 1 to 255)\n-s    IP address to use as the source address\n-t    Type-of-service in probe packets (default 0)(RANGE 0 to 255)\n-w    Time in seconds to wait for a response (default 3)(RANGE 0 to 86400)\n-g    Loose source route gateway (8 max) (supports IPV4 only)\n-z    Pause Time in ms (default 0)(RANGE 0 to 86400) (supports IPV4 only)\n-f    Start from the 1ST_TTL hop (instead from 1)(RANGE 1 to 255) (supports IPV4 only)\n-i    Specify a network interface to operate with"
+
+#define HELP_tr "usage: tr [-cds] SET1 [SET2]\n\nTranslate, squeeze, or delete characters from stdin, writing to stdout\n\n-c/-C  Take complement of SET1\n-d     Delete input characters coded SET1\n-s     Squeeze multiple output characters of SET2 into one character"
+
+#define HELP_tftpd "usage: tftpd [-cr] [-u USER] [DIR]\n\nTransfer file from/to tftp server.\n\n-r	read only\n-c	Allow file creation via upload\n-u	run as USER\n-l	Log to syslog (inetd mode requires this)"
+
+#define HELP_tftp "usage: tftp [OPTIONS] HOST [PORT]\n\nTransfer file from/to tftp server.\n\n-l FILE Local FILE\n-r FILE Remote FILE\n-g    Get file\n-p    Put file\n-b SIZE Transfer blocks of SIZE octets(8 <= SIZE <= 65464)"
+
+#define HELP_telnetd "Handle incoming telnet connections\n\n-l LOGIN  Exec LOGIN on connect\n-f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue\n-K Close connection as soon as login exits\n-p PORT   Port to listen on\n-b ADDR[:PORT]  Address to bind to\n-F Run in foreground\n-i Inetd mode\n-w SEC    Inetd 'wait' mode, linger time SEC\n-S Log to syslog (implied by -i or without -F and -w)"
+
+#define HELP_telnet "usage: telnet HOST [PORT]\n\nConnect to telnet server"
+
+#define HELP_tcpsvd "usage: tcpsvd [-hEv] [-c N] [-C N[:MSG]] [-b N] [-u User] [-l Name] IP Port Prog\nusage: udpsvd [-hEv] [-c N] [-u User] [-l Name] IP Port Prog\n\nCreate TCP/UDP socket, bind to IP:PORT and listen for incoming connection.\nRun PROG for each connection.\n\nIP            IP to listen on, 0 = all\nPORT          Port to listen on\nPROG ARGS     Program to run\n-l NAME       Local hostname (else looks up local hostname in DNS)\n-u USER[:GRP] Change to user/group after bind\n-c N          Handle up to N (> 0) connections simultaneously\n-b N          (TCP Only) Allow a backlog of approximately N TCP SYNs\n-C N[:MSG]    (TCP Only) Allow only up to N (> 0) connections from the same IP\n              New connections from this IP address are closed\n              immediately. MSG is written to the peer before close\n-h            Look up peer's hostname\n-E            Don't set up environment variables\n-v            Verbose"
+
+#define HELP_syslogd "usage: syslogd  [-a socket] [-O logfile] [-f config file] [-m interval]\n                [-p socket] [-s SIZE] [-b N] [-R HOST] [-l N] [-nSLKD]\n\nSystem logging utility\n\n-a      Extra unix socket for listen\n-O FILE Default log file <DEFAULT: /var/log/messages>\n-f FILE Config file <DEFAULT: /etc/syslog.conf>\n-p      Alternative unix domain socket <DEFAULT : /dev/log>\n-n      Avoid auto-backgrounding\n-S      Smaller output\n-m MARK interval <DEFAULT: 20 minutes> (RANGE: 0 to 71582787)\n-R HOST Log to IP or hostname on PORT (default PORT=514/UDP)\"\n-L      Log locally and via network (default is network only if -R)\"\n-s SIZE Max size (KB) before rotation (default:200KB, 0=off)\n-b N    rotated logs to keep (default:1, max=99, 0=purge)\n-K      Log to kernel printk buffer (use dmesg to read it)\n-l N    Log only messages more urgent than prio(default:8 max:8 min:1)\n-D      Drop duplicates"
+
+#define HELP_sulogin "usage: sulogin [-t time] [tty]\n\nSingle User Login.\n-t	Default Time for Single User Login"
+
+#define HELP_stty "usage: stty [-ag] [-F device] SETTING...\n\nGet/set terminal configuration.\n\n-F	Open device instead of stdin\n-a	Show all current settings (default differences from \"sane\")\n-g	Show all current settings usable as input to stty\n\nSpecial characters (syntax ^c or undef): intr quit erase kill eof eol eol2\nswtch start stop susp rprnt werase lnext discard\n\nControl/input/output/local settings as shown by -a, '-' prefix to disable\n\nCombo settings: cooked/raw, evenp/oddp/parity, nl, ek, sane\n\nN	set input and output speed (ispeed N or ospeed N for just one)\ncols N	set number of columns\nrows N	set number of rows\nline N	set line discipline\nmin N	set minimum chars per read\ntime N	set read timeout\nspeed	show speed only\nsize	show size only"
+
+#define HELP_source "usage: source FILE [ARGS...]\n\nRead FILE and execute commands. Any ARGS become positional parameters."
+
+#define HELP_shift "usage: shift [N]\n\nSkip N (default 1) positional parameters, moving $1 and friends along the list.\nDoes not affect $0."
+
+#define HELP_jobs "usage: jobs [-lnprs] [%JOB | -x COMMAND...]\n\nList running/stopped background jobs.\n\n-l Include process ID in list\n-n Show only new/changed processes\n-p Show process IDs only\n-r Show running processes\n-s Show stopped processes"
+
+#define HELP_export "usage: export [-n] [NAME[=VALUE]...]\n\nMake variables available to child processes. NAME exports existing local\nvariable(s), NAME=VALUE sets and exports.\n\n-n	Unexport. Turn listed variable(s) into local variables.\n\nWith no arguments list exported variables/attributes as \"declare\" statements."
+
+#define HELP_exec "usage: exec [-cl] [-a NAME] COMMAND...\n\n-a	set argv[0] to NAME\n-c	clear environment\n-l	prepend - to argv[0]"
+
+#define HELP_eval "usage: eval COMMAND...\n\nExecute (combined) arguments as a shell command."
+
+#define HELP_unset "usage: unset [-fvn] NAME...\n\n-f	NAME is a function\n-v	NAME is a variable\n-n	dereference NAME and unset that"
+
+#define HELP_set "usage: set [+a] [+o OPTION] [VAR...]\n\nSet variables and shell attributes. Use + to disable and - to enable.\nNAME=VALUE arguments assign to the variable, any leftovers set $1, $2...\nWith no arguments, prints current variables.\n\n-f	NAME is a function\n-v	NAME is a variable\n-n	dereference NAME and unset that\n\nOPTIONs:\n  history - enable command history"
+
+#define HELP_exit "usage: exit [status]\n\nExit shell.  If no return value supplied on command line, use value\nof most recent command, or 0 if none."
+
+#define HELP_cd "usage: cd [-PL] [path]\n\nChange current directory.  With no arguments, go $HOME.\n\n-P	Physical path: resolve symlinks in path\n-L	Local path: .. trims directories off $PWD (default)"
+
+#define HELP_sh "usage: sh [-c command] [script]\n\nCommand shell.  Runs a shell script, or reads input interactively\nand responds to it.\n\n-c	command line to execute\n-i	interactive mode (default when STDIN is a tty)"
+
+#define HELP_route "usage: route [-ne] [-A [inet|inet6]] [add|del TARGET [OPTIONS]]\n\nDisplay, add or delete network routes in the \"Forwarding Information Base\",\nwhich send packets out a network interface to an address.\n\n-n	Show numerical addresses (no DNS lookups)\n-e	display netstat fields\n\nAssigning an address to an interface automatically creates an appropriate\nnetwork route (\"ifconfig eth0 10.0.2.15/8\" does \"route add 10.0.0.0/8 eth0\"\nfor you), although some devices (such as loopback) won't show it in the\ntable. For machines more than one hop away, you need to specify a gateway\n(ala \"route add default gw 10.0.2.2\").\n\nThe address \"default\" is a wildcard address (0.0.0.0/0) matching all\npackets without a more specific route.\n\nAvailable OPTIONS include:\nreject   - blocking route (force match failure)\ndev NAME - force matching packets out this interface (ala \"eth0\")\nnetmask  - old way of saying things like ADDR/24\ngw ADDR  - forward packets to gateway ADDR"
+
+#define HELP_readelf "usage: readelf [-adehlnSs] [-p SECTION] [-x SECTION] [file...]\n\nDisplays information about ELF files.\n\n-a	Equivalent to -dhlnSs\n-d	Show dynamic section\n-e	Headers (equivalent to -hlS)\n-h	Show ELF header\n-l	Show program headers\n-n	Show notes\n-p S	Dump strings found in named/numbered section\n-S	Show section headers\n-s	Show symbol tables (.dynsym and .symtab)\n-x S	Hex dump of named/numbered section\n\n--dyn-syms	Show just .dynsym symbol table"
+
+#define HELP_deallocvt "usage: deallocvt [NUM]\n\nDeallocate unused virtual terminals, either a specific /dev/ttyNUM, or all."
+
+#define HELP_openvt "usage: openvt [-c NUM] [-sw] [COMMAND...]\n\nStart a program on a new virtual terminal.\n\n-c NUM  Use VT NUM\n-s    Switch to new VT\n-w    Wait for command to exit\n\nTogether -sw switch back to originating VT when command completes."
+
+#define HELP_more "usage: more [FILE...]\n\nView FILE(s) (or stdin) one screenfull at a time."
+
+#define HELP_modprobe "usage: modprobe [-alrqvsDb] [-d DIR] MODULE [symbol=value][...]\n\nmodprobe utility - inserts modules and dependencies.\n\n-a  Load multiple MODULEs\n-d  Load modules from DIR, option may be used multiple times\n-l  List (MODULE is a pattern)\n-r  Remove MODULE (stacks) or do autoclean\n-q  Quiet\n-v  Verbose\n-s  Log to syslog\n-D  Show dependencies\n-b  Apply blacklist to module names too"
+
+#define HELP_mke2fs_extended "usage: mke2fs [-E stride=###] [-O option[,option]]\n\n-E stride= Set RAID stripe size (in blocks)\n-O [opts]  Specify fewer ext2 option flags (for old kernels)\n           All of these are on by default (as appropriate)\n   none         Clear default options (all but journaling)\n   dir_index    Use htree indexes for large directories\n   filetype     Store file type info in directory entry\n   has_journal  Set by -j\n   journal_dev  Set by -J device=XXX\n   sparse_super Don't allocate huge numbers of redundant superblocks"
+
+#define HELP_mke2fs_label "usage: mke2fs [-L label] [-M path] [-o string]\n\n-L         Volume label\n-M         Path to mount point\n-o         Created by"
+
+#define HELP_mke2fs_gen "usage: gene2fs [options] device filename\n\nThe [options] are the same as mke2fs."
+
+#define HELP_mke2fs_journal "usage: mke2fs [-j] [-J size=###,device=XXX]\n\n-j         Create journal (ext3)\n-J         Journal options\n           size: Number of blocks (1024-102400)\n           device: Specify an external journal"
+
+#define HELP_mke2fs "usage: mke2fs [-Fnq] [-b ###] [-N|i ###] [-m ###] device\n\nCreate an ext2 filesystem on a block device or filesystem image.\n\n-F         Force to run on a mounted device\n-n         Don't write to device\n-q         Quiet (no output)\n-b size    Block size (1024, 2048, or 4096)\n-N inodes  Allocate this many inodes\n-i bytes   Allocate one inode for every XXX bytes of device\n-m percent Reserve this percent of filesystem space for root user"
+
+#define HELP_mdev_conf "The mdev config file (/etc/mdev.conf) contains lines that look like:\nhd[a-z][0-9]* 0:3 660\n(sd[a-z]) root:disk 660 =usb_storage\n\nEach line must contain three whitespace separated fields. The first\nfield is a regular expression matching one or more device names,\nthe second and third fields are uid:gid and file permissions for\nmatching devices. Fourth field is optional. It could be used to change\ndevice name (prefix '='), path (prefix '=' and postfix '/') or create a\nsymlink (prefix '>')."
+
+#define HELP_mdev "usage: mdev [-s]\n\nCreate devices in /dev using information from /sys.\n\n-s	Scan all entries in /sys to populate /dev"
+
+#define HELP_man "usage: man [-M PATH] [-k STRING] | [SECTION] COMMAND\n\nRead manual page for system command.\n\n-k	List pages with STRING in their short description\n-M	Override $MANPATH\n\nMan pages are divided into 8 sections:\n1 commands      2 system calls  3 library functions  4 /dev files\n5 file formats  6 games         7 miscellaneous      8 system management\n\nSections are searched in the order 1 8 3 2 5 4 6 7 unless you specify a\nsection. Each section has a page called \"intro\", and there's a global\nintroduction under \"man-pages\"."
+
+#define HELP_lsof "usage: lsof [-lt] [-p PID1,PID2,...] [FILE...]\n\nList all open files belonging to all active processes, or processes using\nlisted FILE(s).\n\n-l	list uids numerically\n-p	for given comma-separated pids only (default all pids)\n-t	terse (pid only) output"
+
+#define HELP_last "usage: last [-W] [-f FILE]\n\nShow listing of last logged in users.\n\n-W      Display the information without host-column truncation\n-f FILE Read from file FILE instead of /var/log/wtmp"
+
+#define HELP_klogd "usage: klogd [-n] [-c N]\n\n-c  N   Print to console messages more urgent than prio N (1-8)\"\n-n    Run in foreground"
+
+#define HELP_ipcs "usage: ipcs [[-smq] -i shmid] | [[-asmq] [-tcplu]]\n\n-i Show specific resource\nResource specification:\n-a All (default)\n-m Shared memory segments\n-q Message queues\n-s Semaphore arrays\nOutput format:\n-c Creator\n-l Limits\n-p Pid\n-t Time\n-u Summary"
+
+#define HELP_ipcrm "usage: ipcrm [ [-q msqid] [-m shmid] [-s semid]\n          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n\n-mM Remove memory segment after last detach\n-qQ Remove message queue\n-sS Remove semaphore"
+
+#define HELP_ip "usage: ip [ OPTIONS ] OBJECT { COMMAND }\n\nShow / manipulate routing, devices, policy routing and tunnels.\n\nwhere OBJECT := {address | link | route | rule | tunnel}\nOPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }"
+
+#define HELP_init "usage: init\n\nSystem V style init.\n\nFirst program to run (as PID 1) when the system comes up, reading\n/etc/inittab to determine actions."
+
+#define HELP_host "usage: host [-av] [-t TYPE] NAME [SERVER]\n\nPerform DNS lookup on NAME, which can be a domain name to lookup,\nor an IPv4 dotted or IPv6 colon-separated address to reverse lookup.\nSERVER (if present) is the DNS server to use.\n\n-a	-v -t ANY\n-t TYPE	query records of type TYPE\n-v	verbose"
+
+#define HELP_groupdel "usage: groupdel [USER] GROUP\n\nDelete a group or remove a user from a group"
+
+#define HELP_groupadd "usage: groupadd [-S] [-g GID] [USER] GROUP\n\nAdd a group or add a user to a group\n\n  -g GID Group id\n  -S     Create a system group"
+
+#define HELP_getty "usage: getty [OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]\n\nWait for a modem to dial into serial port, adjust baud rate, call login.\n\n-h    Enable hardware RTS/CTS flow control\n-L    Set CLOCAL (ignore Carrier Detect state)\n-m    Get baud rate from modem's CONNECT status message\n-n    Don't prompt for login name\n-w    Wait for CR or LF before sending /etc/issue\n-i    Don't display /etc/issue\n-f ISSUE_FILE  Display ISSUE_FILE instead of /etc/issue\n-l LOGIN  Invoke LOGIN instead of /bin/login\n-t SEC    Terminate after SEC if no login name is read\n-I INITSTR  Send INITSTR before anything else\n-H HOST    Log HOST into the utmp file as the hostname"
+
+#define HELP_getopt "usage: getopt [OPTIONS] [--] ARG...\n\nParse command-line options for use in shell scripts.\n\n-a	Allow long options starting with a single -.\n-l OPTS	Specify long options.\n-n NAME	Command name for error messages.\n-o OPTS	Specify short options.\n-T	Test whether this is a modern getopt.\n-u	Output options unquoted."
+
+#define HELP_getfattr "usage: getfattr [-d] [-h] [-n NAME] FILE...\n\nRead POSIX extended attributes.\n\n-d	Show values as well as names\n-h	Do not dereference symbolic links\n-n	Show only attributes with the given name\n--only-values	Don't show names"
+
+#define HELP_fsck "usage: fsck [-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]...\n\nCheck and repair filesystems\n\n-A      Walk /etc/fstab and check all filesystems\n-N      Don't execute, just show what would be done\n-P      With -A, check filesystems in parallel\n-R      With -A, skip the root filesystem\n-T      Don't show title on startup\n-V      Verbose\n-C n    Write status information to specified file descriptor\n-t TYPE List of filesystem types to check"
+
+#define HELP_fold "usage: fold [-bsu] [-w WIDTH] [FILE...]\n\nFolds (wraps) or unfolds ascii text by adding or removing newlines.\nDefault line width is 80 columns for folding and infinite for unfolding.\n\n-b	Fold based on bytes instead of columns\n-s	Fold/unfold at whitespace boundaries if possible\n-u	Unfold text (and refold if -w is given)\n-w	Set lines to WIDTH columns or bytes"
+
+#define HELP_fdisk "usage: fdisk [-lu] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SECTSZ] DISK\n\nChange partition table\n\n-u            Start and End are in sectors (instead of cylinders)\n-l            Show partition table for each DISK, then exit\n-b size       sector size (512, 1024, 2048 or 4096)\n-C CYLINDERS  Set number of cylinders/heads/sectors\n-H HEADS\n-S SECTORS"
+
+#define HELP_expr "usage: expr ARG1 OPERATOR ARG2...\n\nEvaluate expression and print result. For example, \"expr 1 + 2\".\n\nThe supported operators are (grouped from highest to lowest priority):\n\n  ( )    :    * / %    + -    != <= < >= > =    &    |\n\nEach constant and operator must be a separate command line argument.\nAll operators are infix, meaning they expect a constant (or expression\nthat resolves to a constant) on each side of the operator. Operators of\nthe same priority (within each group above) are evaluated left to right.\nParentheses may be used (as separate arguments) to elevate the priority\nof expressions.\n\nCalling expr from a command shell requires a lot of \\( or '*' escaping\nto avoid interpreting shell control characters.\n\nThe & and | operators are logical (not bitwise) and may operate on\nstrings (a blank string is \"false\"). Comparison operators may also\noperate on strings (alphabetical sort).\n\nConstants may be strings or integers. Comparison, logical, and regex\noperators may operate on strings (a blank string is \"false\"), other\noperators require integers."
+
+#define HELP_dumpleases "usage: dumpleases [-r|-a] [-f LEASEFILE]\n\nDisplay DHCP leases granted by udhcpd\n-f FILE,  Lease file\n-r        Show remaining time\n-a        Show expiration time"
+
+#define HELP_diff "usage: diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2\n\n-a	Treat all files as text\n-b	Ignore changes in the amount of whitespace\n-B	Ignore changes whose lines are all blank\n-d	Try hard to find a smaller set of changes\n-i	Ignore case differences\n-L	Use LABEL instead of the filename in the unified header\n-N	Treat absent files as empty\n-q	Output only whether files differ\n-r	Recurse\n-S	Start with FILE when comparing directories\n-T	Make tabs line up by prefixing a tab when necessary\n-s	Report when two files are the same\n-t	Expand tabs to spaces in output\n-u	Unified diff\n-U	Output LINES lines of context\n-w	Ignore all whitespace\n\n--color              Colored output\n--strip-trailing-cr  Strip trailing '\\r's from input lines"
+
+#define HELP_dhcpd "usage: dhcpd [-46fS] [-i IFACE] [-P N] [CONFFILE]\n\n -f    Run in foreground\n -i Interface to use\n -S    Log to syslog too\n -P N  Use port N (default ipv4 67, ipv6 547)\n -4, -6    Run as a DHCPv4 or DHCPv6 server"
+
+#define HELP_dhcp6 "usage: dhcp6 [-fbnqvR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n\n      Configure network dynamically using DHCP.\n\n    -i Interface to use (default eth0)\n    -p Create pidfile\n    -s Run PROG at DHCP events\n    -t Send up to N Solicit packets\n    -T Pause between packets (default 3 seconds)\n    -A Wait N seconds after failure (default 20)\n    -f Run in foreground\n    -b Background if lease is not obtained\n    -n Exit if lease is not obtained\n    -q Exit after obtaining lease\n    -R Release IP on exit\n    -S Log to syslog too\n    -r Request this IP address\n    -v Verbose\n\n    Signals:\n    USR1  Renew current lease\n    USR2  Release current lease"
+
+#define HELP_dhcp "usage: dhcp [-fbnqvoCRB] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n            [-H HOSTNAME] [-V VENDOR] [-x OPT:VAL] [-O OPT]\n\n     Configure network dynamically using DHCP.\n\n   -i Interface to use (default eth0)\n   -p Create pidfile\n   -s Run PROG at DHCP events (default /usr/share/dhcp/default.script)\n   -B Request broadcast replies\n   -t Send up to N discover packets\n   -T Pause between packets (default 3 seconds)\n   -A Wait N seconds after failure (default 20)\n   -f Run in foreground\n   -b Background if lease is not obtained\n   -n Exit if lease is not obtained\n   -q Exit after obtaining lease\n   -R Release IP on exit\n   -S Log to syslog too\n   -a Use arping to validate offered address\n   -O Request option OPT from server (cumulative)\n   -o Don't request any options (unless -O is given)\n   -r Request this IP address\n   -x OPT:VAL  Include option OPT in sent packets (cumulative)\n   -F Ask server to update DNS mapping for NAME\n   -H Send NAME as client hostname (default none)\n   -V VENDOR Vendor identifier (default 'toybox VERSION')\n   -C Don't send MAC as client identifier\n   -v Verbose\n\n   Signals:\n   USR1  Renew current lease\n   USR2  Release current lease"
+
+#define HELP_dd "usage: dd [if=FILE] [of=FILE] [ibs=N] [obs=N] [iflag=FLAGS] [oflag=FLAGS]\n        [bs=N] [count=N] [seek=N] [skip=N]\n        [conv=notrunc|noerror|sync|fsync] [status=noxfer|none]\n\nCopy/convert files.\n\nif=FILE		Read from FILE instead of stdin\nof=FILE		Write to FILE instead of stdout\nbs=N		Read and write N bytes at a time\nibs=N		Input block size\nobs=N		Output block size\ncount=N		Copy only N input blocks\nskip=N		Skip N input blocks\nseek=N		Skip N output blocks\niflag=FLAGS	Set input flags\noflag=FLAGS	Set output flags\nconv=notrunc	Don't truncate output file\nconv=noerror	Continue after read errors\nconv=sync	Pad blocks with zeros\nconv=fsync	Physically write data out before finishing\nstatus=noxfer	Don't show transfer rate\nstatus=none	Don't show transfer rate or records in/out\n\nFLAGS is a comma-separated list of:\n\ncount_bytes	(iflag) interpret count=N in bytes, not blocks\nseek_bytes	(oflag) interpret seek=N in bytes, not blocks\nskip_bytes	(iflag) interpret skip=N in bytes, not blocks\n\nNumbers may be suffixed by c (*1), w (*2), b (*512), kD (*1000), k (*1024),\nMD (*1000*1000), M (*1024*1024), GD (*1000*1000*1000) or G (*1024*1024*1024)."
+
+#define HELP_crontab "usage: crontab [-u user] FILE\n               [-u user] [-e | -l | -r]\n               [-c dir]\n\nFiles used to schedule the execution of programs.\n\n-c crontab dir\n-e edit user's crontab\n-l list user's crontab\n-r delete user's crontab\n-u user\nFILE Replace crontab by FILE ('-': stdin)"
+
+#define HELP_crond "usage: crond [-fbS] [-l N] [-d N] [-L LOGFILE] [-c DIR]\n\nA daemon to execute scheduled commands.\n\n-b Background (default)\n-c crontab dir\n-d Set log level, log to stderr\n-f Foreground\n-l Set log level. 0 is the most verbose, default 8\n-S Log to syslog (default)\n-L Log to file"
+
+#define HELP_brctl "usage: brctl COMMAND [BRIDGE [INTERFACE]]\n\nManage ethernet bridges\n\nCommands:\nshow                  Show a list of bridges\naddbr BRIDGE          Create BRIDGE\ndelbr BRIDGE          Delete BRIDGE\naddif BRIDGE IFACE    Add IFACE to BRIDGE\ndelif BRIDGE IFACE    Delete IFACE from BRIDGE\nsetageing BRIDGE TIME Set ageing time\nsetfd BRIDGE TIME     Set bridge forward delay\nsethello BRIDGE TIME  Set hello time\nsetmaxage BRIDGE TIME Set max message age\nsetpathcost BRIDGE PORT COST   Set path cost\nsetportprio BRIDGE PORT PRIO   Set port priority\nsetbridgeprio BRIDGE PRIO      Set bridge priority\nstp BRIDGE [1/yes/on|0/no/off] STP on/off"
+
+#define HELP_bootchartd "usage: bootchartd {start [PROG ARGS]}|stop|init\n\nCreate /var/log/bootlog.tgz with boot chart data\n\nstart: start background logging; with PROG, run PROG,\n       then kill logging with USR1\nstop:  send USR1 to all bootchartd processes\ninit:  start background logging; stop when getty/xdm is seen\n      (for init scripts)\n\nUnder PID 1: as init, then exec $bootchart_init, /init, /sbin/init"
+
+#define HELP_bc "usage: bc [-ilqsw] [file ...]\n\nbc is a command-line calculator with a Turing-complete language.\n\noptions:\n\n  -i  --interactive  force interactive mode\n  -l  --mathlib      use predefined math routines:\n\n                     s(expr)  =  sine of expr in radians\n                     c(expr)  =  cosine of expr in radians\n                     a(expr)  =  arctangent of expr, returning radians\n                     l(expr)  =  natural log of expr\n                     e(expr)  =  raises e to the power of expr\n                     j(n, x)  =  Bessel function of integer order n of x\n\n  -q  --quiet        don't print version and copyright\n  -s  --standard     error if any non-POSIX extensions are used\n  -w  --warn         warn if any non-POSIX extensions are used"
+
+#define HELP_arping "usage: arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP\n\nSend ARP requests/replies\n\n-f         Quit on first ARP reply\n-q         Quiet\n-b         Keep broadcasting, don't go unicast\n-D         Duplicated address detection mode\n-U         Unsolicited ARP mode, update your neighbors\n-A         ARP answer mode, update your neighbors\n-c N       Stop after sending N ARP requests\n-w TIMEOUT Time to wait for ARP reply, seconds\n-I IFACE   Interface to use (default eth0)\n-s SRC_IP  Sender IP address\nDST_IP     Target IP address"
+
+#define HELP_arp "usage: arp\n[-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME]\n[-v]              [-i IF] -d HOSTNAME [pub]\n[-v]  [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp]\n[-v]  [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub\n[-v]  [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub\n\nManipulate ARP cache\n\n-a    Display (all) hosts\n-s    Set new ARP entry\n-d    Delete a specified entry\n-v    Verbose\n-n    Don't resolve names\n-i IF Network interface\n-D    Read <hwaddr> from given device\n-A,-p AF  Protocol family\n-H    HWTYPE Hardware address type"
+
+#define HELP_xargs "usage: xargs [-0prt] [-snE STR] COMMAND...\n\nRun command line one or more times, appending arguments from stdin.\n\nIf COMMAND exits with 255, don't launch another even if arguments remain.\n\n-0	Each argument is NULL terminated, no whitespace or quote processing\n-E	Stop at line matching string\n-n	Max number of arguments per command\n-o	Open tty for COMMAND's stdin (default /dev/null)\n-p	Prompt for y/n from tty before running each command\n-P	Parallel processes (default 1)\n-r	Don't run with empty input (otherwise always run command once)\n-s	Size in bytes per command line\n-t	Trace, print command line to stderr"
+
+#define HELP_who "usage: who\n\nPrint information about logged in users."
+
+#define HELP_wc "usage: wc -lwcm [FILE...]\n\nCount lines, words, and characters in input.\n\n-l	Show lines\n-w	Show words\n-c	Show bytes\n-m	Show characters\n\nBy default outputs lines, words, bytes, and filename for each\nargument (or from stdin if none). Displays only either bytes\nor characters."
+
+#define HELP_uuencode "usage: uuencode [-m] [INFILE] ENCODE_FILENAME\n\nUuencode stdin (or INFILE) to stdout, with ENCODE_FILENAME in the output.\n\n-m	Base64"
+
+#define HELP_uudecode "usage: uudecode [-o OUTFILE] [INFILE]\n\nDecode file from stdin (or INFILE).\n\n-o	Write to OUTFILE instead of filename in header"
+
+#define HELP_unlink "usage: unlink FILE\n\nDelete one file."
+
+#define HELP_uniq "usage: uniq [-cduiz] [-w MAXCHARS] [-f FIELDS] [-s CHAR] [INFILE [OUTFILE]]\n\nReport or filter out repeated lines in a file\n\n-c	Show counts before each line\n-d	Show only lines that are repeated\n-u	Show only lines that are unique\n-i	Ignore case when comparing lines\n-z	Lines end with \\0 not \\n\n-w	Compare maximum X chars per line\n-f	Ignore first X fields\n-s	Ignore first X chars"
+
+#define HELP_uname "usage: uname [-asnrvm]\n\nPrint system information.\n\n-s	System name\n-n	Network (domain) name\n-r	Kernel Release number\n-v	Kernel Version\n-m	Machine (hardware) name\n-a	All of the above"
+
+#define HELP_arch "usage: arch\n\nPrint machine (hardware) name, same as uname -m."
+
+#define HELP_ulimit "usage: ulimit [-P PID] [-SHRacdefilmnpqrstuv] [LIMIT]\n\nPrint or set resource limits for process number PID. If no LIMIT specified\n(or read-only -ap selected) display current value (sizes in bytes).\nDefault is ulimit -P $PPID -Sf\" (show soft filesize of your shell).\n\n-S  Set/show soft limit          -H  Set/show hard (maximum) limit\n-a  Show all limits              -c  Core file size\n-d  Process data segment         -e  Max scheduling priority\n-f  Output file size             -i  Pending signal count\n-l  Locked memory                -m  Resident Set Size\n-n  Number of open files         -p  Pipe buffer\n-q  Posix message queue          -r  Max Real-time priority\n-R  Realtime latency (usec)      -s  Stack size\n-t  Total CPU time (in seconds)  -u  Maximum processes (under this UID)\n-v  Virtual memory size          -P  PID to affect (default $PPID)"
+
+#define HELP_tty "usage: tty [-s]\n\nShow filename of terminal connected to stdin.\n\nPrints \"not a tty\" and exits with nonzero status if no terminal\nis connected to stdin.\n\n-s	Silent, exit code only"
+
+#define HELP_true "usage: true\n\nReturn zero."
+
+#define HELP_touch "usage: touch [-amch] [-d DATE] [-t TIME] [-r FILE] FILE...\n\nUpdate the access and modification times of each FILE to the current time.\n\n-a	Change access time\n-m	Change modification time\n-c	Don't create file\n-h	Change symlink\n-d	Set time to DATE (in YYYY-MM-DDThh:mm:SS[.frac][tz] format)\n-t	Set time to TIME (in [[CC]YY]MMDDhhmm[.ss][frac] format)\n-r	Set time same as reference FILE"
+
+#define HELP_time "usage: time [-pv] COMMAND...\n\nRun command line and report real, user, and system time elapsed in seconds.\n(real = clock on the wall, user = cpu used by command's code,\nsystem = cpu used by OS on behalf of command.)\n\n-p	POSIX format output (default)\n-v	Verbose"
+
+#define HELP_test "usage: test [-bcdefghLPrSsuwx PATH] [-nz STRING] [-t FD] [X ?? Y]\n\nReturn true or false by performing tests. (With no arguments return false.)\n\n--- Tests with a single argument (after the option):\nPATH is/has:\n  -b  block device   -f  regular file   -p  fifo           -u  setuid bit\n  -c  char device    -g  setgid         -r  read bit       -w  write bit\n  -d  directory      -h  symlink        -S  socket         -x  execute bit\n  -e  exists         -L  symlink        -s  nonzero size   -k  sticky bit\nSTRING is:\n  -n  nonzero size   -z  zero size      (STRING by itself implies -n)\nFD (integer file descriptor) is:\n  -t  a TTY\n\n--- Tests with one argument on each side of an operator:\nTwo strings:\n  =  are identical   !=  differ\nTwo integers:\n  -eq  equal         -gt  first > second    -lt  first < second\n  -ne  not equal     -ge  first >= second   -le  first <= second\n\n--- Modify or combine tests:\n  ! EXPR     not (swap true/false)   EXPR -a EXPR    and (are both true)\n  ( EXPR )   evaluate this first     EXPR -o EXPR    or (is either true)"
+
+#define HELP_tee "usage: tee [-ai] [FILE...]\n\nCopy stdin to each listed file, and also to stdout.\nFilename \"-\" is a synonym for stdout.\n\n-a	Append to files\n-i	Ignore SIGINT"
+
+#define HELP_tar "usage: tar [-cxt] [-fvohmjkOS] [-XTCf NAME] [FILE...]\n\nCreate, extract, or list files in a .tar (or compressed t?z) file.\n\nOptions:\nc  Create                x  Extract               t  Test (list)\nf  tar FILE (default -)  C  Change to DIR first   v  Verbose display\no  Ignore owner          h  Follow symlinks       m  Ignore mtime\nJ  xz compression        j  bzip2 compression     z  gzip compression\nO  Extract to stdout     X  exclude names in FILE T  include names in FILE\n\n--exclude        FILENAME to exclude    --full-time   Show seconds with -tv\n--mode MODE      Adjust modes           --mtime TIME  Override timestamps\n--owner NAME     Set file owner to NAME --group NAME  Set file group to NAME\n--sparse         Record sparse files\n--restrict       All archive contents must extract under one subdirectory\n--numeric-owner  Save/use/display uid and gid, not user/group name\n--no-recursion   Don't store directory contents\n-I PROG          Filter through PROG to compress or PROG -d to decompress"
+
+#define HELP_tail "usage: tail [-n|c NUMBER] [-f] [FILE...]\n\nCopy last lines from files to stdout. If no files listed, copy from\nstdin. Filename \"-\" is a synonym for stdin.\n\n-n	Output the last NUMBER lines (default 10), +X counts from start\n-c	Output the last NUMBER bytes, +NUMBER counts from start\n-f	Follow FILE(s), waiting for more data to be appended"
+
+#define HELP_strings "usage: strings [-fo] [-t oxd] [-n LEN] [FILE...]\n\nDisplay printable strings in a binary file\n\n-f	Show filename\n-n	At least LEN characters form a string (default 4)\n-o	Show offset (ala -t d)\n-t	Show offset type (o=octal, d=decimal, x=hexadecimal)"
+
+#define HELP_split "usage: split [-a SUFFIX_LEN] [-b BYTES] [-l LINES] [INPUT [OUTPUT]]\n\nCopy INPUT (or stdin) data to a series of OUTPUT (or \"x\") files with\nalphabetically increasing suffix (aa, ab, ac... az, ba, bb...).\n\n-a	Suffix length (default 2)\n-b	BYTES/file (10, 10k, 10m, 10g...)\n-l	LINES/file (default 1000)"
+
+#define HELP_sort "usage: sort [-Mbcdfginrsuz] [FILE...] [-k#[,#[x]] [-t X]] [-o FILE]\n\nSort all lines of text from input files (or stdin) to stdout.\n-M	Month sort (jan, feb, etc)\n-V	Version numbers (name-1.234-rc6.5b.tgz)\n-b	Ignore leading blanks (or trailing blanks in second part of key)\n-c	Check whether input is sorted\n-d	Dictionary order (use alphanumeric and whitespace chars only)\n-f	Force uppercase (case insensitive sort)\n-g	General numeric sort (double precision with nan and inf)\n-i	Ignore nonprinting characters\n-k	Sort by \"key\" (see below)\n-n	Numeric order (instead of alphabetical)\n-o	Output to FILE instead of stdout\n-r	Reverse\n-s	Skip fallback sort (only sort with keys)\n-t	Use a key separator other than whitespace\n-u	Unique lines only\n-x	Hexadecimal numerical sort\n-z	Zero (null) terminated lines\n\nSorting by key looks at a subset of the words on each line. -k2 uses the\nsecond word to the end of the line, -k2,2 looks at only the second word,\n-k2,4 looks from the start of the second to the end of the fourth word.\n-k2.4,5 starts from the fourth character of the second word, to the end\nof the fifth word. Specifying multiple keys uses the later keys as tie\nbreakers, in order. A type specifier appended to a sort key (such as -2,2n)\napplies only to sorting that key."
+
+#define HELP_sleep "usage: sleep DURATION\n\nWait before exiting.\n\nDURATION can be a decimal fraction. An optional suffix can be \"m\"\n(minutes), \"h\" (hours), \"d\" (days), or \"s\" (seconds, the default)."
+
+#define HELP_sed "usage: sed [-inrszE] [-e SCRIPT]...|SCRIPT [-f SCRIPT_FILE]... [FILE...]\n\nStream editor. Apply editing SCRIPTs to lines of input.\n\n-e	Add SCRIPT to list\n-f	Add contents of SCRIPT_FILE to list\n-i	Edit each file in place (-iEXT keeps backup file with extension EXT)\n-n	No default output (use the p command to output matched lines)\n-r	Use extended regular expression syntax\n-E	POSIX alias for -r\n-s	Treat input files separately (implied by -i)\n-z	Use \\0 rather than \\n as input line separator\n\nA SCRIPT is one or more COMMANDs separated by newlines or semicolons.\nAll -e SCRIPTs are combined as if separated by newlines, followed by all -f\nSCRIPT_FILEs. If no -e or -f then first argument is the SCRIPT.\n\nCOMMANDs apply to every line unless prefixed with an ADDRESS of the form:\n\n  [ADDRESS[,ADDRESS]][!]COMMAND\n\nADDRESS is a line number (starting at 1), a /REGULAR EXPRESSION/, or $ for\nlast line (-s or -i makes it last line of each file). One address matches one\nline, ADDRESS,ADDRESS matches from first to second inclusive. Two regexes can\nmatch multiple ranges. ADDRESS,+N ends N lines later. ! inverts the match.\n\nREGULAR EXPRESSIONS start and end with the same character (anything but\nbackslash or newline). To use the delimiter in the regex escape it with a\nbackslash, and printf escapes (\\abcefnrtv and octal, hex, and unicode) work.\nAn empty regex repeats the previous one. ADDRESS regexes require any\nfirst delimiter except / to be \\escaped to distinguish it from COMMANDs.\n\nSed reads each line of input, processes it, and writes it out or discards it\nbefore reading the next. Sed can remember one additional line in a separate\nbuffer (the h, H, g, G, and x commands), and can read the next line of input\nearly (the n and N commands), but otherwise operates on individual lines.\n\nEach COMMAND starts with a single character. Commands with no arguments are:\n\n  !  Run this command when the ADDRESS _didn't_ match.\n  {  Start new command block, continuing until a corresponding \"}\".\n     Command blocks nest and can have ADDRESSes applying to the whole block.\n  }  End command block (this COMMAND cannot have an address)\n  d  Delete this line and move on to the next one\n     (ignores remaining COMMANDs)\n  D  Delete one line of input and restart command SCRIPT (same as \"d\"\n     unless you've glued lines together with \"N\" or similar)\n  g  Get remembered line (overwriting current line)\n  G  Get remembered line (appending to current line)\n  h  Remember this line (overwriting remembered line)\n  H  Remember this line (appending to remembered line, if any)\n  l  Print line escaping \\abfrtv (but not \\n), octal escape other nonprintng\n     chars, wrap lines to terminal width with \\, append $ to end of line.\n  n  Print default output and read next line over current line (quit at EOF)\n  N  Append \\n and next line of input to this line. Quit at EOF without\n     default output. Advances line counter for ADDRESS and \"=\".\n  p  Print this line\n  P  Print this line up to first newline (from \"N\")\n  q  Quit (print default output, no more commands processed or lines read)\n  x  Exchange this line with remembered line (overwrite in both directions)\n  =  Print the current line number (plus newline)\n  #  Comment, ignores rest of this line of SCRIPT (until newline)\n\nCommands that take an argument:\n\n  : LABEL    Target for jump commands\n  a TEXT     Append text to output before reading next line\n  b LABEL    Branch, jumps to :LABEL (with no LABEL to end of SCRIPT)\n  c TEXT     Delete matching ADDRESS range and output TEXT instead\n  i TEXT     Insert text (output immediately)\n  r FILE     Append contents of FILE to output before reading next line.\n  s/S/R/F    Search for regex S replace match with R using flags F. Delimiter\n             is anything but \\n or \\, escape with \\ to use in S or R. Printf\n             escapes work. Unescaped & in R becomes full matched text, \\1\n             through \\9 = parenthetical subexpression from S. \\ at end of\n             line appends next line of SCRIPT. The flags in F are:\n             [0-9]    A number N, substitute only Nth match\n             g        Global, substitute all matches\n             i/I      Ignore case when matching\n             p        Print resulting line when match found and replaced\n             w [file] Write (append) line to file when match replaced\n  t LABEL    Test, jump if s/// command matched this line since last test\n  T LABEL    Test false, jump to :LABEL only if no s/// found a match\n  w FILE     Write (append) line to file\n  y/old/new/ Change each character in 'old' to corresponding character\n             in 'new' (with standard backslash escapes, delimiter can be\n             any repeated character except \\ or \\n)\n\nThe TEXT arguments (to a c i) may end with an unescaped \"\\\" to append\nthe next line (leading whitespace is not skipped), and treat \";\" as a\nliteral character (use \"\\;\" instead)."
+
+#define HELP_rmdir "usage: rmdir [-p] [DIR...]\n\nRemove one or more directories.\n\n-p	Remove path\n--ignore-fail-on-non-empty	Ignore failures caused by non-empty directories"
+
+#define HELP_rm "usage: rm [-fiRrv] FILE...\n\nRemove each argument from the filesystem.\n\n-f	Force: remove without confirmation, no error if it doesn't exist\n-i	Interactive: prompt for confirmation\n-rR	Recursive: remove directory contents\n-v	Verbose"
+
+#define HELP_renice "usage: renice [-gpu] -n INCREMENT ID..."
+
+#define HELP_pwd "usage: pwd [-L|-P]\n\nPrint working (current) directory.\n\n-L	Use shell's path from $PWD (when applicable)\n-P	Print canonical absolute path"
+
+#define HELP_pkill "usage: pkill [-fnovx] [-SIGNAL|-l SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]\n\n-l	Send SIGNAL (default SIGTERM)\n-V	Verbose\n-f	Check full command line for PATTERN\n-G	Match real Group ID(s)\n-g	Match Process Group(s) (0 is current user)\n-n	Newest match only\n-o	Oldest match only\n-P	Match Parent Process ID(s)\n-s	Match Session ID(s) (0 for current)\n-t	Match Terminal(s)\n-U	Match real User ID(s)\n-u	Match effective User ID(s)\n-v	Negate the match\n-x	Match whole command (not substring)"
+
+#define HELP_pgrep "usage: pgrep [-clfnovx] [-d DELIM] [-L SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]\n\nSearch for process(es). PATTERN is an extended regular expression checked\nagainst command names.\n\n-c	Show only count of matches\n-d	Use DELIM instead of newline\n-L	Send SIGNAL instead of printing name\n-l	Show command name\n-f	Check full command line for PATTERN\n-G	Match real Group ID(s)\n-g	Match Process Group(s) (0 is current user)\n-n	Newest match only\n-o	Oldest match only\n-P	Match Parent Process ID(s)\n-s	Match Session ID(s) (0 for current)\n-t	Match Terminal(s)\n-U	Match real User ID(s)\n-u	Match effective User ID(s)\n-v	Negate the match\n-x	Match whole command (not substring)"
+
+#define HELP_iotop "usage: iotop [-AaKObq] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,]\n\nRank processes by I/O.\n\n-A	All I/O, not just disk\n-a	Accumulated I/O (not percentage)\n-H	Show threads\n-K	Kilobytes\n-k	Fallback sort FIELDS (default -[D]IO,-ETIME,-PID)\n-m	Maximum number of tasks to show\n-O	Only show processes doing I/O\n-o	Show FIELDS (default PID,PR,USER,[D]READ,[D]WRITE,SWAP,[D]IO,COMM)\n-s	Sort by field number (0-X, default 6)\n-b	Batch mode (no tty)\n-d	Delay SECONDS between each cycle (default 3)\n-n	Exit after NUMBER iterations\n-p	Show these PIDs\n-u	Show these USERs\n-q	Quiet (no header lines)\n\nCursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force\nupdate, R to reverse sort, Q to exit."
+
+#define HELP_top "usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,]\n\nShow process activity in real time.\n\n-H	Show threads\n-k	Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)\n-o	Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)\n-O	Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)\n-s	Sort by field number (1-X, default 9)\n-b	Batch mode (no tty)\n-d	Delay SECONDS between each cycle (default 3)\n-m	Maximum number of tasks to show\n-n	Exit after NUMBER iterations\n-p	Show these PIDs\n-u	Show these USERs\n-q	Quiet (no header lines)\n\nCursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force\nupdate, R to reverse sort, Q to exit."
+
+#define HELP_ps "usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]\n\nList processes.\n\nWhich processes to show (-gGuUpPt selections may be comma separated lists):\n\n-A  All					-a  Has terminal not session leader\n-d  All but session leaders		-e  Synonym for -A\n-g  In GROUPs				-G  In real GROUPs (before sgid)\n-p  PIDs (--pid)			-P  Parent PIDs (--ppid)\n-s  In session IDs			-t  Attached to selected TTYs\n-T  Show threads also			-u  Owned by selected USERs\n-U  Real USERs (before suid)\n\nOutput modifiers:\n\n-k  Sort FIELDs (-FIELD to reverse)	-M  Measure/pad future field widths\n-n  Show numeric USER and GROUP		-w  Wide output (don't truncate fields)\n\nWhich FIELDs to show. (-o HELP for list, default = -o PID,TTY,TIME,CMD)\n\n-f  Full listing (-o USER:12=UID,PID,PPID,C,STIME,TTY,TIME,ARGS=CMD)\n-l  Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o  Output FIELDs instead of defaults, each with optional :size and =title\n-O  Add FIELDS to defaults\n-Z  Include LABEL"
+
+#define HELP_printf "usage: printf FORMAT [ARGUMENT...]\n\nFormat and print ARGUMENT(s) according to FORMAT, using C printf syntax\n(% escapes for cdeEfgGiosuxX, \\ escapes for abefnrtv0 or \\OCTAL or \\xHEX)."
+
+#define HELP_patch "usage: patch [-d DIR] [-i PATCH] [-p DEPTH] [-F FUZZ] [-Rlsu] [--dry-run] [FILE [PATCH]]\n\nApply a unified diff to one or more files.\n\n-d	Modify files in DIR\n-i	Input patch file (default=stdin)\n-l	Loose match (ignore whitespace)\n-p	Number of '/' to strip from start of file paths (default=all)\n-R	Reverse patch\n-s	Silent except for errors\n-u	Ignored (only handles \"unified\" diffs)\n--dry-run Don't change files, just confirm patch applies\n\nThis version of patch only handles unified diffs, and only modifies\na file when all hunks to that file apply. Patch prints failed hunks\nto stderr, and exits with nonzero status if any hunks fail.\n\nA file compared against /dev/null (or with a date <= the epoch) is\ncreated/deleted as appropriate."
+
+#define HELP_paste "usage: paste [-s] [-d DELIMITERS] [FILE...]\n\nMerge corresponding lines from each input file.\n\n-d	List of delimiter characters to separate fields with (default is \\t)\n-s	Sequential mode: turn each input file into one line of output"
+
+#define HELP_od "usage: od [-bcdosxv] [-j #] [-N #] [-w #] [-A doxn] [-t acdfoux[#]]\n\nDump data in octal/hex.\n\n-A	Address base (decimal, octal, hexadecimal, none)\n-j	Skip this many bytes of input\n-N	Stop dumping after this many bytes\n-t	Output type a(scii) c(har) d(ecimal) f(loat) o(ctal) u(nsigned) (he)x\n	plus optional size in bytes\n	aliases: -b=-t o1, -c=-t c, -d=-t u2, -o=-t o2, -s=-t d2, -x=-t x2\n-v	Don't collapse repeated lines together\n-w	Total line width in bytes (default 16)"
+
+#define HELP_nohup "usage: nohup COMMAND...\n\nRun a command that survives the end of its terminal.\n\nRedirect tty on stdin to /dev/null, tty on stdout to \"nohup.out\"."
+
+#define HELP_nl "usage: nl [-E] [-l #] [-b MODE] [-n STYLE] [-s SEPARATOR] [-v #] [-w WIDTH] [FILE...]\n\nNumber lines of input.\n\n-E	Use extended regex syntax (when doing -b pREGEX)\n-b	Which lines to number: a (all) t (non-empty, default) pREGEX (pattern)\n-l	Only count last of this many consecutive blank lines\n-n	Number STYLE: ln (left justified) rn (right justified) rz (zero pad)\n-s	Separator to use between number and line (instead of TAB)\n-v	Starting line number for each section (default 1)\n-w	Width of line numbers (default 6)"
+
+#define HELP_nice "usage: nice [-n PRIORITY] COMMAND...\n\nRun a command line at an increased or decreased scheduling priority.\n\nHigher numbers make a program yield more CPU time, from -20 (highest\npriority) to 19 (lowest).  By default processes inherit their parent's\nniceness (usually 0).  By default this command adds 10 to the parent's\npriority.  Only root can set a negative niceness level."
+
+#define HELP_mkfifo_z "usage: mkfifo [-Z CONTEXT]\n\n-Z	Security context"
+
+#define HELP_mkfifo "usage: mkfifo [NAME...]\n\nCreate FIFOs (named pipes)."
+
+#define HELP_mkdir_z "usage: [-Z context]\n\n-Z	Set security context"
+
+#define HELP_mkdir "usage: mkdir [-vp] [-m MODE] [DIR...]\n\nCreate one or more directories.\n\n-m	Set permissions of directory to mode\n-p	Make parent directories as needed\n-v	Verbose"
+
+#define HELP_ls "usage: ls [-ACFHLRSZacdfhiklmnpqrstuwx1] [--color[=auto]] [FILE...]\n\nList files.\n\nwhat to show:\n-a  all files including .hidden    -b  escape nongraphic chars\n-c  use ctime for timestamps       -d  directory, not contents\n-i  inode number                   -p  put a '/' after dir names\n-q  unprintable chars as '?'       -s  storage used (1024 byte units)\n-u  use access time for timestamps -A  list all files but . and ..\n-H  follow command line symlinks   -L  follow symlinks\n-R  recursively list in subdirs    -F  append /dir *exe @sym |FIFO\n-Z  security context\n\noutput formats:\n-1  list one file per line         -C  columns (sorted vertically)\n-g  like -l but no owner           -h  human readable sizes\n-l  long (show full details)       -m  comma separated\n-n  like -l but numeric uid/gid    -o  like -l but no group\n-w  set column width               -x  columns (horizontal sort)\n-ll long with nanoseconds (--full-time)\n--color  device=yellow  symlink=turquoise/red  dir=blue  socket=purple\n         files: exe=green  suid=red  suidfile=redback  stickydir=greenback\n         =auto means detect if output is a tty.\n\nsorting (default is alphabetical):\n-f  unsorted    -r  reverse    -t  timestamp    -S  size"
+
+#define HELP_logger "usage: logger [-s] [-t TAG] [-p [FACILITY.]PRIORITY] [MESSAGE...]\n\nLog message (or stdin) to syslog.\n\n-s	Also write message to stderr\n-t	Use TAG instead of username to identify message source\n-p	Specify PRIORITY with optional FACILITY. Default is \"user.notice\""
+
+#define HELP_ln "usage: ln [-sfnv] [-t DIR] [FROM...] TO\n\nCreate a link between FROM and TO.\nOne/two/many arguments work like \"mv\" or \"cp\".\n\n-s	Create a symbolic link\n-f	Force the creation of the link, even if TO already exists\n-n	Symlink at TO treated as file\n-r	Create relative symlink from -> to\n-t	Create links in DIR\n-T	TO always treated as file, max 2 arguments\n-v	Verbose"
+
+#define HELP_link "usage: link FILE NEWLINK\n\nCreate hardlink to a file."
+
+#define HELP_killall5 "usage: killall5 [-l [SIGNAL]] [-SIGNAL|-s SIGNAL] [-o PID]...\n\nSend a signal to all processes outside current session.\n\n-l	List signal name(s) and number(s)\n-o PID	Omit PID\n-s	Send SIGNAL (default SIGTERM)"
+
+#define HELP_kill "usage: kill [-l [SIGNAL] | -s SIGNAL | -SIGNAL] PID...\n\nSend signal to process(es).\n\n-l	List signal name(s) and number(s)\n-s	Send SIGNAL (default SIGTERM)"
+
+#define HELP_whoami "usage: whoami\n\nPrint the current user name."
+
+#define HELP_logname "usage: logname\n\nPrint the current user name."
+
+#define HELP_groups "usage: groups [user]\n\nPrint the groups a user is in."
+
+#define HELP_id_z "usage: id [-Z]\n\n-Z	Show only security context"
+
+#define HELP_id "usage: id [-nGgru] [USER...]\n\nPrint user and group ID.\n\n-G	Show all group IDs\n-g	Show only the effective group ID\n-n	Print names instead of numeric IDs (to be used with -Ggu)\n-r	Show real ID instead of effective ID\n-u	Show only the effective user ID"
+
+#define HELP_iconv "usage: iconv [-f FROM] [-t TO] [FILE...]\n\nConvert character encoding of files.\n\n-c	Omit invalid chars\n-f	Convert from (default UTF-8)\n-t	Convert to   (default UTF-8)"
+
+#define HELP_head "usage: head [-n NUM] [FILE...]\n\nCopy first lines from files to stdout. If no files listed, copy from\nstdin. Filename \"-\" is a synonym for stdin.\n\n-n	Number of lines to copy\n-c	Number of bytes to copy\n-q	Never print headers\n-v	Always print headers"
+
+#define HELP_grep "usage: grep [-EFrivwcloqsHbhn] [-ABC NUM] [-m MAX] [-e REGEX]... [-MS PATTERN]... [-f REGFILE] [FILE]...\n\nShow lines matching regular expressions. If no -e, first argument is\nregular expression to match. With no files (or \"-\" filename) read stdin.\nReturns 0 if matched, 1 if no match found, 2 for command errors.\n\n-e  Regex to match. (May be repeated.)\n-f  File listing regular expressions to match.\n\nfile search:\n-r  Recurse into subdirectories (defaults FILE to \".\")\n-R  Recurse into subdirectories and symlinks to directories\n-M  Match filename pattern (--include)\n-S  Skip filename pattern (--exclude)\n--exclude-dir=PATTERN  Skip directory pattern\n-I  Ignore binary files\n\nmatch type:\n-A  Show NUM lines after     -B  Show NUM lines before match\n-C  NUM lines context (A+B)  -E  extended regex syntax\n-F  fixed (literal match)    -a  always text (not binary)\n-i  case insensitive         -m  match MAX many lines\n-v  invert match             -w  whole word (implies -E)\n-x  whole line               -z  input NUL terminated\n\ndisplay modes: (default: matched line)\n-c  count of matching lines  -l  show only matching filenames\n-o  only matching part       -q  quiet (errors only)\n-s  silent (no error msg)    -Z  output NUL terminated\n\noutput prefix (default: filename if checking more than 1 file)\n-H  force filename           -b  byte offset of match\n-h  hide filename            -n  line number of match"
+
+#define HELP_getconf "usage: getconf -a [PATH] | -l | NAME [PATH]\n\nGet system configuration values. Values from pathconf(3) require a path.\n\n-a	Show all (defaults to \"/\" if no path given)\n-l	List available value names (grouped by source)"
+
+#define HELP_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\", match all, -print matches.\n\n-H  Follow command line symlinks         -L  Follow all symlinks\n\nMatch filters:\n-name  PATTERN   filename with wildcards  (-iname case insensitive)\n-path  PATTERN   path name with wildcards (-ipath case insensitive)\n-user  UNAME     belongs to user UNAME     -nouser     user ID not known\n-group GROUP     belongs to group GROUP    -nogroup    group ID not known\n-perm  [-/]MODE  permissions (-=min /=any) -prune      ignore dir contents\n-size  N[c]      512 byte blocks (c=bytes) -xdev       only this filesystem\n-links N         hardlink count            -atime N[u] accessed N units ago\n-ctime N[u]      created N units ago       -mtime N[u] modified N units ago\n-newer FILE      newer mtime than FILE     -mindepth N at least N dirs down\n-depth           ignore contents of dir    -maxdepth N at most N dirs down\n-inum N          inode number N            -empty      empty files and dirs\n-type [bcdflps]  type is (block, char, dir, file, symlink, pipe, socket)\n-true            always true               -false      always false\n-context PATTERN security context\n-newerXY FILE    X=acm time > FILE's Y=acm time (Y=t: FILE is literal time)\n\nNumbers N may be prefixed by a - (less than) or + (greater than). Units for\n-Xtime are d (days, default), h (hours), m (minutes), or s (seconds).\n\nCombine matches with:\n!, -a, -o, ( )    not, and, or, group expressions\n\nActions:\n-print  Print match with newline  -print0        Print match with null\n-exec   Run command with path     -execdir       Run command in file's dir\n-ok     Ask before exec           -okdir         Ask before execdir\n-delete Remove matching file/dir  -printf FORMAT Print using format string\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n-printf FORMAT characters are \\ escapes and:\n%b  512 byte blocks used\n%f  basename            %g  textual gid          %G  numeric gid\n%i  decimal inode       %l  target of symlink    %m  octal mode\n%M  ls format type/mode %p  path to file         %P  path to file minus DIR\n%s  size in bytes       %T@ mod time as unixtime\n%u  username            %U  numeric uid          %Z  security context"
+
+#define HELP_file "usage: file [-bhLs] [FILE...]\n\nExamine the given files and describe their content types.\n\n-b	Brief (no filename)\n-h	Don't follow symlinks (default)\n-L	Follow symlinks\n-s	Show block/char device contents"
+
+#define HELP_false "usage: false\n\nReturn nonzero."
+
+#define HELP_expand "usage: expand [-t TABLIST] [FILE...]\n\nExpand tabs to spaces according to tabstops.\n\n-t	TABLIST\n\nSpecify tab stops, either a single number instead of the default 8,\nor a comma separated list of increasing numbers representing tabstop\npositions (absolute, not increments) with each additional tab beyond\nthat becoming one space."
+
+#define HELP_env "usage: env [-i] [-u NAME] [NAME=VALUE...] [COMMAND...]\n\nSet the environment for command invocation, or list environment variables.\n\n-i	Clear existing environment\n-u NAME	Remove NAME from the environment\n-0	Use null instead of newline in output"
+
+#define HELP_echo "usage: echo [-neE] [ARG...]\n\nWrite each argument to stdout, with one space between each, followed\nby a newline.\n\n-n	No trailing newline\n-E	Print escape sequences literally (default)\n-e	Process the following escape sequences:\n	\\\\	Backslash\n	\\0NNN	Octal values (1 to 3 digits)\n	\\a	Alert (beep/flash)\n	\\b	Backspace\n	\\c	Stop output here (avoids trailing newline)\n	\\f	Form feed\n	\\n	Newline\n	\\r	Carriage return\n	\\t	Horizontal tab\n	\\v	Vertical tab\n	\\xHH	Hexadecimal values (1 to 2 digits)"
+
+#define HELP_du "usage: du [-d N] [-askxHLlmc] [FILE...]\n\nShow disk usage, space consumed by files and directories.\n\nSize in:\n-b	Apparent bytes (directory listing size, not space used)\n-k	1024 byte blocks (default)\n-K	512 byte blocks (posix)\n-m	Megabytes\n-h	Human readable (e.g., 1K 243M 2G)\n\nWhat to show:\n-a	All files, not just directories\n-H	Follow symlinks on cmdline\n-L	Follow all symlinks\n-s	Only total size of each argument\n-x	Don't leave this filesystem\n-c	Cumulative total\n-d N	Only depth < N\n-l	Disable hardlink filter"
+
+#define HELP_dirname "usage: dirname PATH...\n\nShow directory portion of path."
+
+#define HELP_df "usage: df [-HPkhi] [-t type] [FILE...]\n\nThe \"disk free\" command shows total/used/available disk space for\neach filesystem listed on the command line, or all currently mounted\nfilesystems.\n\n-a	Show all (including /proc and friends)\n-P	The SUSv3 \"Pedantic\" option\n-k	Sets units back to 1024 bytes (the default without -P)\n-h	Human readable (K=1024)\n-H	Human readable (k=1000)\n-i	Show inodes instead of blocks\n-t type	Display only filesystems of this type\n\nPedantic provides a slightly less useful output format dictated by Posix,\nand sets the units to 512 bytes instead of the default 1024 bytes."
+
+#define HELP_date "usage: date [-u] [-I RES] [-r FILE] [-d DATE] [+DISPLAY_FORMAT] [-D SET_FORMAT] [SET]\n\nSet/get the current date/time. With no SET shows the current date.\n\n-d	Show DATE instead of current time (convert date format)\n-D	+FORMAT for SET or -d (instead of MMDDhhmm[[CC]YY][.ss])\n-I RES	ISO 8601 with RESolution d=date/h=hours/m=minutes/s=seconds/n=ns\n-r	Use modification time of FILE instead of current date\n-u	Use UTC instead of current timezone\n\nSupported input formats:\n\nMMDDhhmm[[CC]YY][.ss]     POSIX\n@UNIXTIME[.FRACTION]      seconds since midnight 1970-01-01\nYYYY-MM-DD [hh:mm[:ss]]   ISO 8601\nhh:mm[:ss]                24-hour time today\n\nAll input formats can be followed by fractional seconds, and/or a UTC\noffset such as -0800.\n\nAll input formats can be preceded by TZ=\"id\" to set the input time zone\nseparately from the output time zone. Otherwise $TZ sets both.\n\n+FORMAT specifies display format string using strftime(3) syntax:\n\n%% literal %             %n newline              %t tab\n%S seconds (00-60)       %M minute (00-59)       %m month (01-12)\n%H hour (0-23)           %I hour (01-12)         %p AM/PM\n%y short year (00-99)    %Y year                 %C century\n%a short weekday name    %A weekday name         %u day of week (1-7, 1=mon)\n%b short month name      %B month name           %Z timezone name\n%j day of year (001-366) %d day of month (01-31) %e day of month ( 1-31)\n%N nanosec (output only)\n\n%U Week of year (0-53 start Sunday)   %W Week of year (0-53 start Monday)\n%V Week of year (1-53 start Monday, week < 4 days not part of this year)\n\n%F \"%Y-%m-%d\"   %R \"%H:%M\"        %T \"%H:%M:%S\"        %z  timezone (-0800)\n%D \"%m/%d/%y\"   %r \"%I:%M:%S %p\"  %h \"%b\"              %:z timezone (-08:00)\n%x locale date  %X locale time    %c locale date/time  %s  unix epoch time"
+
+#define HELP_cut "usage: cut [-Ds] [-bcfF LIST] [-dO DELIM] [FILE...]\n\nPrint selected parts of lines from each FILE to standard output.\n\nEach selection LIST is comma separated, either numbers (counting from 1)\nor dash separated ranges (inclusive, with X- meaning to end of line and -X\nfrom start). By default selection ranges are sorted and collated, use -D\nto prevent that.\n\n-b	Select bytes\n-c	Select UTF-8 characters\n-C	Select unicode columns\n-d	Use DELIM (default is TAB for -f, run of whitespace for -F)\n-D	Don't sort/collate selections or match -fF lines without delimiter\n-f	Select fields (words) separated by single DELIM character\n-F	Select fields separated by DELIM regex\n-O	Output delimiter (default one space for -F, input delim for -f)\n-s	Skip lines without delimiters"
+
+#define HELP_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [--no-preserve-owner]\n       [ignored: -mdu -H newc]\n\nCopy files into and out of a \"newc\" format cpio archive.\n\n-F FILE	Use archive FILE instead of stdin/stdout\n-p DEST	Copy-pass mode, copy stdin file list to directory DEST\n-i	Extract from archive into file system (stdin=archive)\n-o	Create archive (stdin=list of files, stdout=archive)\n-t	Test files (list only, stdin=archive, stdout=list of files)\n-d	Create directories if needed\n-v	Verbose\n--no-preserve-owner (don't set ownership during extract)"
+
+#define HELP_install "usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [SOURCE...] DEST\n\nCopy files and set attributes.\n\n-d	Act like mkdir -p\n-D	Create leading directories for DEST\n-g	Make copy belong to GROUP\n-m	Set permissions to MODE\n-o	Make copy belong to USER\n-p	Preserve timestamps\n-s	Call \"strip -p\"\n-v	Verbose"
+
+#define HELP_mv "usage: mv [-finTv] SOURCE... DEST\n\n-f	Force copy by deleting destination file\n-i	Interactive, prompt before overwriting existing DEST\n-n	No clobber (don't overwrite DEST)\n-T	DEST always treated as file, max 2 arguments\n-v	Verbose"
+
+#define HELP_cp "usage: cp [-adfHiLlnPpRrsTv] [--preserve=motcxa] SOURCE... DEST\n\nCopy files from SOURCE to DEST.  If more than one SOURCE, DEST must\nbe a directory.\n\n-a	Same as -dpr\n-D	Create leading dirs under DEST (--parents)\n-d	Don't dereference symlinks\n-F	Delete any existing destination file first (--remove-destination)\n-f	Delete destination files we can't write to\n-H	Follow symlinks listed on command line\n-i	Interactive, prompt before overwriting existing DEST\n-L	Follow all symlinks\n-l	Hard link instead of copy\n-n	No clobber (don't overwrite DEST)\n-P	Do not follow symlinks\n-p	Preserve timestamps, ownership, and mode\n-R	Recurse into subdirectories (DEST must be a directory)\n-r	Synonym for -R\n-s	Symlink instead of copy\n-T	DEST always treated as file, max 2 arguments\n-v	Verbose\n\nArguments to --preserve are the first letter(s) of:\n\n        mode - permissions (ignore umask for rwx, copy suid and sticky bit)\n   ownership - user and group\n  timestamps - file creation, modification, and access times.\n     context - security context\n       xattr - extended attributes\n         all - all of the above"
+
+#define HELP_comm "usage: comm [-123] FILE1 FILE2\n\nRead FILE1 and FILE2, which should be ordered, and produce three text\ncolumns as output: lines only in FILE1; lines only in FILE2; and lines\nin both files. Filename \"-\" is a synonym for stdin.\n\n-1	Suppress the output column of lines unique to FILE1\n-2	Suppress the output column of lines unique to FILE2\n-3	Suppress the output column of lines duplicated in FILE1 and FILE2"
+
+#define HELP_cmp "usage: cmp [-l] [-s] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n\nCompare the contents of two files. (Or stdin and file if only one given.)\n\n-l	Show all differing bytes\n-s	Silent"
+
+#define HELP_crc32 "usage: crc32 [file...]\n\nOutput crc32 checksum for each file."
+
+#define HELP_cksum "usage: cksum [-IPLN] [FILE...]\n\nFor each file, output crc32 checksum value, length and name of file.\nIf no files listed, copy from stdin.  Filename \"-\" is a synonym for stdin.\n\n-H	Hexadecimal checksum (defaults to decimal)\n-L	Little endian (defaults to big endian)\n-P	Pre-inversion\n-I	Skip post-inversion\n-N	Do not include length in CRC calculation (or output)"
+
+#define HELP_chmod "usage: chmod [-R] MODE FILE...\n\nChange mode of listed file[s] (recursively with -R).\n\nMODE can be (comma-separated) stanzas: [ugoa][+-=][rwxstXugo]\n\nStanzas are applied in order: For each category (u = user,\ng = group, o = other, a = all three, if none specified default is a),\nset (+), clear (-), or copy (=), r = read, w = write, x = execute.\ns = u+s = suid, g+s = sgid, +t = sticky. (o+s ignored so a+s doesn't set +t)\nsuid/sgid: execute as the user/group who owns the file.\nsticky: can't delete files you don't own out of this directory\nX = x for directories or if any category already has x set.\n\nOr MODE can be an octal value up to 7777	ug uuugggooo	top +\nbit 1 = o+x, bit 1<<8 = u+w, 1<<11 = g+1	sstrwxrwxrwx	bottom\n\nExamples:\nchmod u+w file - allow owner of \"file\" to write to it.\nchmod 744 file - user can read/write/execute, everyone else read only"
+
+#define HELP_chown "see: chgrp"
+
+#define HELP_chgrp "usage: chgrp/chown [-RHLP] [-fvh] GROUP FILE...\n\nChange group of one or more files.\n\n-f	Suppress most error messages\n-h	Change symlinks instead of what they point to\n-R	Recurse into subdirectories (implies -h)\n-H	With -R change target of symlink, follow command line symlinks\n-L	With -R change target of symlink, follow all symlinks\n-P	With -R change symlink, do not follow symlinks (default)\n-v	Verbose"
+
+#define HELP_catv "usage: catv [-evt] [FILE...]\n\nDisplay nonprinting characters as escape sequences. Use M-x for\nhigh ascii characters (>127), and ^x for other nonprinting chars.\n\n-e	Mark each newline with $\n-t	Show tabs as ^I\n-v	Don't use ^x or M-x escapes"
+
+#define HELP_cat "usage: cat [-etuv] [FILE...]\n\nCopy (concatenate) files to stdout.  If no files listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-e	Mark each newline with $\n-t	Show tabs as ^I\n-u	Copy one byte at a time (slow)\n-v	Display nonprinting characters as escape sequences with M-x for\n	high ascii characters (>127), and ^x for other nonprinting chars"
+
+#define HELP_cal "usage: cal [[MONTH] YEAR]\n\nPrint a calendar.\n\nWith one argument, prints all months of the specified year.\nWith two arguments, prints calendar for month and year.\n\n-h	Don't highlight today"
+
+#define HELP_basename "usage: basename [-a] [-s SUFFIX] NAME... | NAME [SUFFIX]\n\nReturn non-directory portion of a pathname removing suffix.\n\n-a		All arguments are names\n-s SUFFIX	Remove suffix (implies -a)"
+
diff --git a/android/linux/generated/newtoys.h b/android/linux/generated/newtoys.h
new file mode 100644
index 0000000..3e86e65
--- /dev/null
+++ b/android/linux/generated/newtoys.h
@@ -0,0 +1,318 @@
+USE_TOYBOX(NEWTOY(toybox, NULL, TOYFLAG_STAYROOT))
+USE_SH(OLDTOY(-bash, sh, 0))
+USE_SH(OLDTOY(-sh, sh, 0))
+USE_SH(OLDTOY(-toysh, sh, 0))
+USE_SH(OLDTOY(., source, TOYFLAG_NOFORK))
+USE_TRUE(OLDTOY(:, true, TOYFLAG_NOFORK|TOYFLAG_NOHELP))
+USE_SH(OLDTOY([, test, TOYFLAG_NOFORK|TOYFLAG_NOHELP))
+USE_ACPI(NEWTOY(acpi, "abctV", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GROUPADD(OLDTOY(addgroup, groupadd, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USERADD(OLDTOY(adduser, useradd, TOYFLAG_NEEDROOT|TOYFLAG_UMASK|TOYFLAG_SBIN))
+USE_ARCH(NEWTOY(arch, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ARP(NEWTOY(arp, "vi:nDsdap:A:H:[+Ap][!sd]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ARPING(NEWTOY(arping, "<1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_ASCII(NEWTOY(ascii, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASE32(NEWTOY(base32, "diw#<0=76[!dw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASE64(NEWTOY(base64, "diw#<0=76[!dw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASENAME(NEWTOY(basename, "^<1as:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(OLDTOY(bash, sh, TOYFLAG_BIN))
+USE_BC(NEWTOY(bc, "i(interactive)l(mathlib)q(quiet)s(standard)w(warn)", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_BLKDISCARD(NEWTOY(blkdiscard, "<1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]", TOYFLAG_BIN))
+USE_BLKID(NEWTOY(blkid, "ULs*[!LU]", TOYFLAG_BIN))
+USE_BLOCKDEV(NEWTOY(blockdev, "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)",TOYFLAG_SBIN))
+USE_BOOTCHARTD(NEWTOY(bootchartd, 0, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_BRCTL(NEWTOY(brctl, "<1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_BUNZIP2(NEWTOY(bunzip2, "cftkv", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BZCAT(NEWTOY(bzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CAL(NEWTOY(cal, ">2h", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CAT(NEWTOY(cat, "u"USE_CAT_V("vte"), TOYFLAG_BIN))
+USE_CATV(NEWTOY(catv, USE_CATV("vte"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(cd, ">1LP[-LP]", TOYFLAG_NOFORK))
+USE_CHATTR(NEWTOY(chattr, "?p#v#R", TOYFLAG_BIN))
+USE_CHCON(NEWTOY(chcon, "<2hvR", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CHGRP(NEWTOY(chgrp, "<2h(no-dereference)PLHRfv[-HLP]", TOYFLAG_BIN))
+USE_CHMOD(NEWTOY(chmod, "<2?vfR[-vf]", TOYFLAG_BIN))
+USE_CHOWN(OLDTOY(chown, chgrp, TOYFLAG_BIN))
+USE_CHROOT(NEWTOY(chroot, "^<1", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_ARGFAIL(125)))
+USE_CHRT(NEWTOY(chrt, "^mp#<0iRbrfo[!ibrfo]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CKSUM(NEWTOY(cksum, "HIPLN", TOYFLAG_BIN))
+USE_CLEAR(NEWTOY(clear, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CMP(NEWTOY(cmp, "<1>2ls(silent)(quiet)[!ls]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_COMM(NEWTOY(comm, "<2>2321", TOYFLAG_USR|TOYFLAG_BIN))
+USE_COUNT(NEWTOY(count, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CP(NEWTOY(cp, "<2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]", TOYFLAG_BIN))
+USE_CPIO(NEWTOY(cpio, "(quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
+USE_CRC32(NEWTOY(crc32, 0, TOYFLAG_BIN))
+USE_CROND(NEWTOY(crond, "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_CRONTAB(NEWTOY(crontab, "c:u:elr[!elr]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_CUT(NEWTOY(cut, "b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DATE(NEWTOY(date, "d:D:I(iso)(iso-8601):;r:u(utc)[!dr]", TOYFLAG_BIN))
+USE_DD(NEWTOY(dd, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_DEALLOCVT(NEWTOY(deallocvt, ">1", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_GROUPDEL(OLDTOY(delgroup, groupdel, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USERDEL(OLDTOY(deluser, userdel, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_DEMO_MANY_OPTIONS(NEWTOY(demo_many_options, "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba", TOYFLAG_BIN))
+USE_DEMO_NUMBER(NEWTOY(demo_number, "D#=3<3M#<0hcdbs", TOYFLAG_BIN))
+USE_DEMO_SCANKEY(NEWTOY(demo_scankey, 0, TOYFLAG_BIN))
+USE_DEMO_UTF8TOWC(NEWTOY(demo_utf8towc, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_DEVMEM(NEWTOY(devmem, "<1>3", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DF(NEWTOY(df, "HPkhit*a[-HPkh]", TOYFLAG_SBIN))
+USE_DHCP(NEWTOY(dhcp, "V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DHCP6(NEWTOY(dhcp6, "r:A#<0T#<0t#<0s:p:i:SRvqnbf", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DHCPD(NEWTOY(dhcpd, ">1P#<0>65535fi:S46[!46]", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DIFF(NEWTOY(diff, "<2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_DIRNAME(NEWTOY(dirname, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DMESG(NEWTOY(dmesg, "w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]", TOYFLAG_BIN))
+USE_DNSDOMAINNAME(NEWTOY(dnsdomainname, ">0", TOYFLAG_BIN))
+USE_DOS2UNIX(NEWTOY(dos2unix, 0, TOYFLAG_BIN))
+USE_DU(NEWTOY(du, "d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DUMPLEASES(NEWTOY(dumpleases, ">0arf:[!ar]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ECHO(NEWTOY(echo, "^?Een[-eE]", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_EGREP(OLDTOY(egrep, grep, TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_EJECT(NEWTOY(eject, ">1stT[!tT]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ENV(NEWTOY(env, "^i0u*", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_SH(NEWTOY(eval, 0, TOYFLAG_NOFORK))
+USE_SH(NEWTOY(exec, "^cla:", TOYFLAG_NOFORK))
+USE_SH(NEWTOY(exit, 0, TOYFLAG_NOFORK))
+USE_EXPAND(NEWTOY(expand, "t*", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_SH(NEWTOY(export, "np", TOYFLAG_NOFORK))
+USE_EXPR(NEWTOY(expr, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_FACTOR(NEWTOY(factor, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_FALLOCATE(NEWTOY(fallocate, ">1l#|o#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FALSE(NEWTOY(false, NULL, TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_FDISK(NEWTOY(fdisk, "C#<0H#<0S#<0b#<512ul", TOYFLAG_SBIN))
+USE_FGREP(OLDTOY(fgrep, grep, TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_FILE(NEWTOY(file, "<1bhLs[!hL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FIND(NEWTOY(find, "?^HL[-HL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FLOCK(NEWTOY(flock, "<1>1nsux[-sux]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FMT(NEWTOY(fmt, "w#<0=75", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_FOLD(NEWTOY(fold, "bsuw#<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREE(NEWTOY(free, "htgmkb[!htgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREERAMDISK(NEWTOY(freeramdisk, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_FSCK(NEWTOY(fsck, "?t:ANPRTVsC#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FSFREEZE(NEWTOY(fsfreeze, "<1>1f|u|[!fu]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_FSTYPE(NEWTOY(fstype, "<1", TOYFLAG_BIN))
+USE_FSYNC(NEWTOY(fsync, "<1d", TOYFLAG_BIN))
+USE_FTPGET(NEWTOY(ftpget, "<2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FTPPUT(OLDTOY(ftpput, ftpget, TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETCONF(NEWTOY(getconf, ">2al", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETENFORCE(NEWTOY(getenforce, ">0", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_GETFATTR(NEWTOY(getfattr, "(only-values)dhn:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETOPT(NEWTOY(getopt, "^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETTY(NEWTOY(getty, "<2t#<0H:I:l:f:iwnmLh", TOYFLAG_SBIN))
+USE_GREP(NEWTOY(grep, "(line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]", TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_GROUPADD(NEWTOY(groupadd, "<1>2g#<0S", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_GROUPDEL(NEWTOY(groupdel, "<1>2", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_GROUPS(NEWTOY(groups, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_GUNZIP(NEWTOY(gunzip, "cdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GZIP(NEWTOY(gzip,    "ncdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(OLDTOY(halt, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_HEAD(NEWTOY(head, "?n(lines)#<0=10c(bytes)#<0qv[-nc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HELLO(NEWTOY(hello, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_HELP(NEWTOY(help, "ahu", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_HEXEDIT(NEWTOY(hexedit, "<1>1r", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_HOST(NEWTOY(host, "<1>2avt:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HOSTID(NEWTOY(hostid, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HOSTNAME(NEWTOY(hostname, ">1bdsfF:[!bdsf]", TOYFLAG_BIN))
+USE_HWCLOCK(NEWTOY(hwclock, ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]", TOYFLAG_SBIN))
+USE_I2CDETECT(NEWTOY(i2cdetect, ">3aFly", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CDUMP(NEWTOY(i2cdump, "<2>2fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CGET(NEWTOY(i2cget, "<3>3fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CSET(NEWTOY(i2cset, "<4fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ICONV(NEWTOY(iconv, "cst:f:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ID(NEWTOY(id, ">1"USE_ID_Z("Z")"nGgru[!"USE_ID_Z("Z")"Ggu]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IFCONFIG(NEWTOY(ifconfig, "^?aS", TOYFLAG_SBIN))
+USE_INIT(NEWTOY(init, "", TOYFLAG_SBIN))
+USE_INOTIFYD(NEWTOY(inotifyd, "<2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_INSTALL(NEWTOY(install, "<1cdDpsvm:o:g:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IONICE(NEWTOY(ionice, "^tc#<0>3=2n#<0>7=5p#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IORENICE(NEWTOY(iorenice, "?<1>3", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IOTOP(NEWTOY(iotop, ">0AaKO" "Hk*o*p*u*s#<1=7d%<100=3000m#n#<1bq", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT|TOYFLAG_LOCALE))
+USE_IP(NEWTOY(ip, NULL, TOYFLAG_SBIN))
+USE_IP(OLDTOY(ipaddr, ip, TOYFLAG_SBIN))
+USE_IPCRM(NEWTOY(ipcrm, "m*M*s*S*q*Q*", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IPCS(NEWTOY(ipcs, "acptulsqmi#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IP(OLDTOY(iplink, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iproute, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iprule, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iptunnel, ip, TOYFLAG_SBIN))
+USE_KILL(NEWTOY(kill, "?ls: ", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_KILLALL(NEWTOY(killall, "?s:ilqvw", TOYFLAG_USR|TOYFLAG_BIN))
+USE_KILLALL5(NEWTOY(killall5, "?o*ls: [!lo][!ls]", TOYFLAG_SBIN))
+USE_KLOGD(NEWTOY(klogd, "c#<1>8n", TOYFLAG_SBIN))
+USE_LAST(NEWTOY(last, "f:W", TOYFLAG_BIN))
+USE_LINK(NEWTOY(link, "<2>2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LN(NEWTOY(ln, "<1rt:Tvnfs", TOYFLAG_BIN))
+USE_LOAD_POLICY(NEWTOY(load_policy, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_LOG(NEWTOY(log, "<1p:t:", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_LOGGER(NEWTOY(logger, "t:p:s", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOGIN(NEWTOY(login, ">1f:ph:", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_LOGNAME(NEWTOY(logname, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOGWRAPPER(NEWTOY(logwrapper, 0, TOYFLAG_NOHELP|TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOSETUP(NEWTOY(losetup, ">2S(sizelimit)#s(show)ro#j:fdcaD[!afj]", TOYFLAG_SBIN))
+USE_LS(NEWTOY(ls, "(color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_LSATTR(NEWTOY(lsattr, "ldapvR", TOYFLAG_BIN))
+USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN))
+USE_LSOF(NEWTOY(lsof, "lp*t", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSPCI(NEWTOY(lspci, "emkn"USE_LSPCI_TEXT("@i:"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSUSB(NEWTOY(lsusb, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_MAKEDEVS(NEWTOY(makedevs, "<1>1d:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MAN(NEWTOY(man, "k:M:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MCOOKIE(NEWTOY(mcookie, "v(verbose)V(version)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MD5SUM(NEWTOY(md5sum, "bc(check)s(status)[!bc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MDEV(NEWTOY(mdev, "s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MICROCOM(NEWTOY(microcom, "<1>1s#=115200X", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MIX(NEWTOY(mix, "c:d:l#r#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKDIR(NEWTOY(mkdir, "<1"USE_MKDIR_Z("Z:")"vp(parent)(parents)m:", TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MKE2FS(NEWTOY(mke2fs, "<1>2g:Fnqm#N#i#b#", TOYFLAG_SBIN))
+USE_MKFIFO(NEWTOY(mkfifo, "<1"USE_MKFIFO_Z("Z:")"m:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKNOD(NEWTOY(mknod, "<2>4m(mode):"USE_MKNOD_Z("Z:"), TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MKPASSWD(NEWTOY(mkpasswd, ">2S:m:P#=0<0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKSWAP(NEWTOY(mkswap, "<1>1L:", TOYFLAG_SBIN))
+USE_MKTEMP(NEWTOY(mktemp, ">1(tmpdir);:uqd(directory)p:t", TOYFLAG_BIN))
+USE_MODINFO(NEWTOY(modinfo, "<1b:k:F:0", TOYFLAG_SBIN))
+USE_MODPROBE(NEWTOY(modprobe, "alrqvsDbd*", TOYFLAG_SBIN))
+USE_MORE(NEWTOY(more, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_MOUNTPOINT(NEWTOY(mountpoint, "<1qdx[-dx]", TOYFLAG_BIN))
+USE_MV(NEWTOY(mv, "<2vnF(remove-destination)fiT[-ni]", TOYFLAG_BIN))
+USE_NBD_CLIENT(OLDTOY(nbd-client, nbd_client, TOYFLAG_USR|TOYFLAG_BIN))
+USE_NBD_CLIENT(NEWTOY(nbd_client, "<3>3ns", 0))
+USE_NETCAT(OLDTOY(nc, netcat, TOYFLAG_USR|TOYFLAG_BIN))
+USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("^tElL")"w#<1W#<1p#<1>65535q#<1s:f:46uU"USE_NETCAT_LISTEN("[!tlL][!Lw]")"[!46U]", TOYFLAG_BIN))
+USE_NETSTAT(NEWTOY(netstat, "pWrxwutneal", TOYFLAG_BIN))
+USE_NICE(NEWTOY(nice, "^<1n#", TOYFLAG_BIN))
+USE_NL(NEWTOY(nl, "v#=1l#w#<0=6Eb:n:s:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NOHUP(NEWTOY(nohup, "<1^", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_NPROC(NEWTOY(nproc, "(all)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NSENTER(NEWTOY(nsenter, "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);", TOYFLAG_USR|TOYFLAG_BIN))
+USE_OD(NEWTOY(od, "j#vw#<1=16N#xsodcbA:t*", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ONEIT(NEWTOY(oneit, "^<1nc:p3[!pn]", TOYFLAG_SBIN))
+USE_OPENVT(NEWTOY(openvt, "c#<1>63sw", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_PARTPROBE(NEWTOY(partprobe, "<1", TOYFLAG_SBIN))
+USE_PASSWD(NEWTOY(passwd, ">1a:dlu", TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_PASTE(NEWTOY(paste, "d:s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PATCH(NEWTOY(patch, ">2(no-backup-if-mismatch)(dry-run)"USE_TOYBOX_DEBUG("x")"F#g#fulp#d:i:Rs(quiet)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PGREP(NEWTOY(pgrep, "?cld:u*U*t*s*P*g*G*fnovxL:[-no]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PIDOF(NEWTOY(pidof, "<1so:x", TOYFLAG_BIN))
+USE_PING(NEWTOY(ping, "<1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PING(OLDTOY(ping6, ping, TOYFLAG_USR|TOYFLAG_BIN))
+USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN))
+USE_PKILL(NEWTOY(pkill,    "?Vu*U*t*s*P*g*G*fnovxl:[-no]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(OLDTOY(poweroff, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_PRINTENV(NEWTOY(printenv, "(null)0", TOYFLAG_BIN))
+USE_PRINTF(NEWTOY(printf, "<1?^", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_ULIMIT(OLDTOY(prlimit, ulimit, TOYFLAG_USR|TOYFLAG_BIN))
+USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PWD(NEWTOY(pwd, ">0LP[-LP]", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PWGEN(NEWTOY(pwgen, ">2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_READAHEAD(NEWTOY(readahead, NULL, TOYFLAG_BIN))
+USE_READELF(NEWTOY(readelf, "<1(dyn-syms)adehlnp:SsWx:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_READLINK(NEWTOY(readlink, "<1nqmef(canonicalize)[-mef]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REALPATH(NEWTOY(realpath, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(NEWTOY(reboot, "fn", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN))
+USE_RESET(NEWTOY(reset, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_RESTORECON(NEWTOY(restorecon, "<1DFnRrv", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_REV(NEWTOY(rev, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_RM(NEWTOY(rm, "fiRrv[-fi]", TOYFLAG_BIN))
+USE_RMDIR(NEWTOY(rmdir, "<1(ignore-fail-on-non-empty)p(parents)", TOYFLAG_BIN))
+USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_ROUTE(NEWTOY(route, "?neA:", TOYFLAG_SBIN))
+USE_RTCWAKE(NEWTOY(rtcwake, "(list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_RUNCON(NEWTOY(runcon, "<2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SED(NEWTOY(sed, "(help)(version)e*f*i:;nErz(null-data)s[+Er]", TOYFLAG_BIN|TOYFLAG_LOCALE|TOYFLAG_NOHELP))
+USE_SENDEVENT(NEWTOY(sendevent, "<4>4", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SEQ(NEWTOY(seq, "<1>3?f:s:w[!fw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(set, 0, TOYFLAG_NOFORK))
+USE_SETENFORCE(NEWTOY(setenforce, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SETFATTR(NEWTOY(setfattr, "hn:|v:x:|[!xv]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SETSID(NEWTOY(setsid, "^<1wcd[!dc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(sh, "0(noediting)(noprofile)(norc)sc:i", TOYFLAG_BIN))
+USE_SHA1SUM(NEWTOY(sha1sum, "bc(check)s(status)[!bc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TOYBOX_LIBCRYPTO(USE_SHA224SUM(OLDTOY(sha224sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_TOYBOX_LIBCRYPTO(USE_SHA256SUM(OLDTOY(sha256sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_TOYBOX_LIBCRYPTO(USE_SHA384SUM(OLDTOY(sha384sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_SHA3SUM(NEWTOY(sha3sum, "bSa#<128>512=224", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TOYBOX_LIBCRYPTO(USE_SHA512SUM(OLDTOY(sha512sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_SH(NEWTOY(shift, ">1", TOYFLAG_NOFORK))
+USE_SHRED(NEWTOY(shred, "<1zxus#<1n#<1o#<0f", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SKELETON(NEWTOY(skeleton, "(walrus)(blubber):;(also):e@d*c#b:a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SKELETON_ALIAS(NEWTOY(skeleton_alias, "b#dq", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SLEEP(NEWTOY(sleep, "<1", TOYFLAG_BIN))
+USE_SNTP(NEWTOY(sntp, ">1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SORT(NEWTOY(sort, USE_SORT_FLOAT("g")"S:T:m" "o:k*t:" "xVbMcszdfirun", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_SH(NEWTOY(source, "0<1", TOYFLAG_NOFORK))
+USE_SPLIT(NEWTOY(split, ">2a#<1=2>9b#<1l#<1[!bl]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_STAT(NEWTOY(stat, "<1c:(format)fLt", TOYFLAG_BIN))
+USE_STRINGS(NEWTOY(strings, "t:an#=4<1fo", TOYFLAG_USR|TOYFLAG_BIN))
+USE_STTY(NEWTOY(stty, "?aF:g[!ag]", TOYFLAG_BIN))
+USE_SU(NEWTOY(su, "^lmpu:g:c:s:[!lmp]", TOYFLAG_BIN|TOYFLAG_ROOTONLY))
+USE_SULOGIN(NEWTOY(sulogin, "t#<0=0", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767d", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWITCH_ROOT(NEWTOY(switch_root, "<2c:h", TOYFLAG_SBIN))
+USE_SYNC(NEWTOY(sync, NULL, TOYFLAG_BIN))
+USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN))
+USE_SYSLOGD(NEWTOY(syslogd,">0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD", TOYFLAG_SBIN|TOYFLAG_STAYROOT))
+USE_TAC(NEWTOY(tac, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_TAIL(NEWTOY(tail, "?fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TAR(NEWTOY(tar, "&(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TASKSET(NEWTOY(taskset, "<1^pa", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_TCPSVD(NEWTOY(tcpsvd, "^<3c#=30<1C:b#=20<0u:l:hEv", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TELNET(NEWTOY(telnet, "<1>2", TOYFLAG_BIN))
+USE_TELNETD(NEWTOY(telnetd, "w#<0b:p#<0>65535=23f:l:FSKi[!wi]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEST(NEWTOY(test, 0, TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_TFTP(NEWTOY(tftp, "<1b#<8>65464r:l:g|p|[!gp]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TFTPD(NEWTOY(tftpd, "rcu:l", TOYFLAG_BIN))
+USE_TIME(NEWTOY(time, "<1^pv", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_TIMEOUT(NEWTOY(timeout, "<2^(foreground)(preserve-status)vk:s(signal):", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_TOP(NEWTOY(top, ">0O*" "Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_TOUCH(NEWTOY(touch, "<1acd:fmr:t:h[!dtr]", TOYFLAG_BIN))
+USE_SH(OLDTOY(toysh, sh, TOYFLAG_BIN))
+USE_TR(NEWTOY(tr, "^>2<1Ccsd[+cC]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRACEROUTE(NEWTOY(traceroute, "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64", TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRACEROUTE(OLDTOY(traceroute6,traceroute, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRUE(NEWTOY(true, NULL, TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TTY(NEWTOY(tty, "s", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TUNCTL(NEWTOY(tunctl, "<1>1t|d|u:T[!td]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TCPSVD(OLDTOY(udpsvd, tcpsvd, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ULIMIT(NEWTOY(ulimit, ">1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UMOUNT(NEWTOY(umount, "cndDflrat*v[!na]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_UNAME(NEWTOY(uname, "oamvrns[+os]", TOYFLAG_BIN))
+USE_UNICODE(NEWTOY(unicode, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UNIX2DOS(NEWTOY(unix2dos, 0, TOYFLAG_BIN))
+USE_UNLINK(NEWTOY(unlink, "<1>1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(unset, "fvn", TOYFLAG_NOFORK))
+USE_UNSHARE(NEWTOY(unshare, "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UPTIME(NEWTOY(uptime, ">0ps", TOYFLAG_USR|TOYFLAG_BIN))
+USE_USERADD(NEWTOY(useradd, "<1>2u#<0G:s:g:h:SDH", TOYFLAG_NEEDROOT|TOYFLAG_UMASK|TOYFLAG_SBIN))
+USE_USERDEL(NEWTOY(userdel, "<1>1r", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USLEEP(NEWTOY(usleep, "<1", TOYFLAG_BIN))
+USE_UUDECODE(NEWTOY(uudecode, ">1o:", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_UUENCODE(NEWTOY(uuencode, "<1>2m", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UUIDGEN(NEWTOY(uuidgen, ">0r(random)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_VCONFIG(NEWTOY(vconfig, "<2>4", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_VI(NEWTOY(vi, ">1s:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_VMSTAT(NEWTOY(vmstat, ">2n", TOYFLAG_BIN))
+USE_W(NEWTOY(w, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_WATCH(NEWTOY(watch, "^<1n%<100=2000tebx", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_WATCHDOG(NEWTOY(watchdog, "<1>1Ft#=4<1T#=60<1", TOYFLAG_NEEDROOT|TOYFLAG_BIN))
+USE_WC(NEWTOY(wc, "mcwl", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_WGET(NEWTOY(wget, "(no-check-certificate)O:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHICH(NEWTOY(which, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHOAMI(OLDTOY(whoami, logname, TOYFLAG_USR|TOYFLAG_BIN))
+USE_XARGS(NEWTOY(xargs, "^E:P#<0=1optrn#<1(max-args)s#0[!0E]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XXD(NEWTOY(xxd, ">1c#l#o#g#<1=2iprs#[!rs]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XZCAT(NEWTOY(xzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_YES(NEWTOY(yes, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ZCAT(NEWTOY(zcat,     "cdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
diff --git a/android/linux/generated/tags.h b/android/linux/generated/tags.h
new file mode 100644
index 0000000..e1e4d31
--- /dev/null
+++ b/android/linux/generated/tags.h
@@ -0,0 +1,140 @@
+#define DD_conv_fsync                                    0
+#define _DD_conv_fsync                                   (1<<0)
+#define DD_conv_noerror                                  1
+#define _DD_conv_noerror                                 (1<<1)
+#define DD_conv_notrunc                                  2
+#define _DD_conv_notrunc                                 (1<<2)
+#define DD_conv_sync                                     3
+#define _DD_conv_sync                                    (1<<3)
+#define DD_iflag_count_bytes                              0
+#define _DD_iflag_count_bytes                             (1<<0)
+#define DD_iflag_skip_bytes                               1
+#define _DD_iflag_skip_bytes                              (1<<1)
+#define DD_oflag_seek_bytes                               0
+#define _DD_oflag_seek_bytes                              (1<<0)
+#define CP_mode                                     0
+#define _CP_mode                                    (1<<0)
+#define CP_ownership                                1
+#define _CP_ownership                               (1<<1)
+#define CP_timestamps                               2
+#define _CP_timestamps                              (1<<2)
+#define CP_context                                  3
+#define _CP_context                                 (1<<3)
+#define CP_xattr                                    4
+#define _CP_xattr                                   (1<<4)
+#define PS_PID                                      0
+#define _PS_PID                                     (1<<0)
+#define PS_PPID                                     1
+#define _PS_PPID                                    (1<<1)
+#define PS_PRI                                      2
+#define _PS_PRI                                     (1<<2)
+#define PS_NI                                       3
+#define _PS_NI                                      (1<<3)
+#define PS_ADDR                                     4
+#define _PS_ADDR                                    (1<<4)
+#define PS_SZ                                       5
+#define _PS_SZ                                      (1<<5)
+#define PS_RSS                                      6
+#define _PS_RSS                                     (1<<6)
+#define PS_PGID                                     7
+#define _PS_PGID                                    (1<<7)
+#define PS_VSZ                                      8
+#define _PS_VSZ                                     (1<<8)
+#define PS_MAJFL                                    9
+#define _PS_MAJFL                                   (1<<9)
+#define PS_MINFL                                    10
+#define _PS_MINFL                                   (1<<10)
+#define PS_PR                                       11
+#define _PS_PR                                      (1<<11)
+#define PS_PSR                                      12
+#define _PS_PSR                                     (1<<12)
+#define PS_RTPRIO                                   13
+#define _PS_RTPRIO                                  (1<<13)
+#define PS_SCH                                      14
+#define _PS_SCH                                     (1<<14)
+#define PS_CPU                                      15
+#define _PS_CPU                                     (1<<15)
+#define PS_TID                                      16
+#define _PS_TID                                     (1<<16)
+#define PS_TCNT                                     17
+#define _PS_TCNT                                    (1<<17)
+#define PS_BIT                                      18
+#define _PS_BIT                                     (1<<18)
+#define PS_TTY                                      19
+#define _PS_TTY                                     (1<<19)
+#define PS_WCHAN                                    20
+#define _PS_WCHAN                                   (1<<20)
+#define PS_LABEL                                    21
+#define _PS_LABEL                                   (1<<21)
+#define PS_COMM                                     22
+#define _PS_COMM                                    (1<<22)
+#define PS_NAME                                     23
+#define _PS_NAME                                    (1<<23)
+#define PS_COMMAND                                  24
+#define _PS_COMMAND                                 (1<<24)
+#define PS_CMDLINE                                  25
+#define _PS_CMDLINE                                 (1<<25)
+#define PS_ARGS                                     26
+#define _PS_ARGS                                    (1<<26)
+#define PS_CMD                                      27
+#define _PS_CMD                                     (1<<27)
+#define PS_UID                                      28
+#define _PS_UID                                     (1<<28)
+#define PS_USER                                     29
+#define _PS_USER                                    (1<<29)
+#define PS_RUID                                     30
+#define _PS_RUID                                    (1<<30)
+#define PS_RUSER                                    31
+#define _PS_RUSER                                   (1<<31)
+#define PS_GID                                      32
+#define _PS_GID                                     (1LL<<32)
+#define PS_GROUP                                    33
+#define _PS_GROUP                                   (1LL<<33)
+#define PS_RGID                                     34
+#define _PS_RGID                                    (1LL<<34)
+#define PS_RGROUP                                   35
+#define _PS_RGROUP                                  (1LL<<35)
+#define PS_TIME                                     36
+#define _PS_TIME                                    (1LL<<36)
+#define PS_ELAPSED                                  37
+#define _PS_ELAPSED                                 (1LL<<37)
+#define PS_TIME_                                    38
+#define _PS_TIME_                                   (1LL<<38)
+#define PS_C                                        39
+#define _PS_C                                       (1LL<<39)
+#define PS__VSZ                                     40
+#define _PS__VSZ                                    (1LL<<40)
+#define PS__MEM                                     41
+#define _PS__MEM                                    (1LL<<41)
+#define PS__CPU                                     42
+#define _PS__CPU                                    (1LL<<42)
+#define PS_VIRT                                     43
+#define _PS_VIRT                                    (1LL<<43)
+#define PS_RES                                      44
+#define _PS_RES                                     (1LL<<44)
+#define PS_SHR                                      45
+#define _PS_SHR                                     (1LL<<45)
+#define PS_READ                                     46
+#define _PS_READ                                    (1LL<<46)
+#define PS_WRITE                                    47
+#define _PS_WRITE                                   (1LL<<47)
+#define PS_IO                                       48
+#define _PS_IO                                      (1LL<<48)
+#define PS_DREAD                                    49
+#define _PS_DREAD                                   (1LL<<49)
+#define PS_DWRITE                                   50
+#define _PS_DWRITE                                  (1LL<<50)
+#define PS_SWAP                                     51
+#define _PS_SWAP                                    (1LL<<51)
+#define PS_DIO                                      52
+#define _PS_DIO                                     (1LL<<52)
+#define PS_STIME                                    53
+#define _PS_STIME                                   (1LL<<53)
+#define PS_F                                        54
+#define _PS_F                                       (1LL<<54)
+#define PS_S                                        55
+#define _PS_S                                       (1LL<<55)
+#define PS_STAT                                     56
+#define _PS_STAT                                    (1LL<<56)
+#define PS_PCY                                      57
+#define _PS_PCY                                     (1LL<<57)
diff --git a/android/mac/generated/config.h b/android/mac/generated/config.h
new file mode 100644
index 0000000..d03b74a
--- /dev/null
+++ b/android/mac/generated/config.h
@@ -0,0 +1,664 @@
+#define CFG_TOYBOX_ANDROID_SCHEDPOLICY 0
+#define USE_TOYBOX_ANDROID_SCHEDPOLICY(...)
+#define CFG_TOYBOX_CONTAINER 0
+#define USE_TOYBOX_CONTAINER(...)
+#define CFG_TOYBOX_DEBUG 0
+#define USE_TOYBOX_DEBUG(...)
+#define CFG_TOYBOX_FALLOCATE 0
+#define USE_TOYBOX_FALLOCATE(...)
+#define CFG_TOYBOX_FIFREEZE 0
+#define USE_TOYBOX_FIFREEZE(...)
+#define CFG_TOYBOX_FLOAT 1
+#define USE_TOYBOX_FLOAT(...) __VA_ARGS__
+#define CFG_TOYBOX_FORK 1
+#define USE_TOYBOX_FORK(...) __VA_ARGS__
+#define CFG_TOYBOX_FREE 0
+#define USE_TOYBOX_FREE(...)
+#define CFG_TOYBOX_GETRANDOM 0
+#define USE_TOYBOX_GETRANDOM(...)
+#define CFG_TOYBOX_HELP_DASHDASH 1
+#define USE_TOYBOX_HELP_DASHDASH(...) __VA_ARGS__
+#define CFG_TOYBOX_HELP 1
+#define USE_TOYBOX_HELP(...) __VA_ARGS__
+#define CFG_TOYBOX_I18N 1
+#define USE_TOYBOX_I18N(...) __VA_ARGS__
+#define CFG_TOYBOX_ICONV 1
+#define USE_TOYBOX_ICONV(...) __VA_ARGS__
+#define CFG_TOYBOX_LIBCRYPTO 1
+#define USE_TOYBOX_LIBCRYPTO(...) __VA_ARGS__
+#define CFG_TOYBOX_LIBZ 1
+#define USE_TOYBOX_LIBZ(...) __VA_ARGS__
+#define CFG_TOYBOX_LSM_NONE 1
+#define USE_TOYBOX_LSM_NONE(...) __VA_ARGS__
+#define CFG_TOYBOX_MUSL_NOMMU_IS_BROKEN 0
+#define USE_TOYBOX_MUSL_NOMMU_IS_BROKEN(...)
+#define CFG_TOYBOX_NORECURSE 0
+#define USE_TOYBOX_NORECURSE(...)
+#define CFG_TOYBOX_ON_ANDROID 0
+#define USE_TOYBOX_ON_ANDROID(...)
+#define CFG_TOYBOX_PEDANTIC_ARGS 0
+#define USE_TOYBOX_PEDANTIC_ARGS(...)
+#define CFG_TOYBOX_PRLIMIT 0
+#define USE_TOYBOX_PRLIMIT(...)
+#define CFG_TOYBOX_SELINUX 0
+#define USE_TOYBOX_SELINUX(...)
+#define CFG_TOYBOX_SHADOW 0
+#define USE_TOYBOX_SHADOW(...)
+#define CFG_TOYBOX_SMACK 0
+#define USE_TOYBOX_SMACK(...)
+#define CFG_TOYBOX_SUID 1
+#define USE_TOYBOX_SUID(...) __VA_ARGS__
+#define CFG_TOYBOX_UID_SYS 100
+#define CFG_TOYBOX_UID_USR 500
+#define CFG_TOYBOX_UTMPX 0
+#define USE_TOYBOX_UTMPX(...)
+#define CFG_TOYBOX 1
+#define USE_TOYBOX(...) __VA_ARGS__
+#define CFG_ACPI 0
+#define USE_ACPI(...)
+#define CFG_ARCH 0
+#define USE_ARCH(...)
+#define CFG_ARPING 0
+#define USE_ARPING(...)
+#define CFG_ARP 0
+#define USE_ARP(...)
+#define CFG_ASCII 0
+#define USE_ASCII(...)
+#define CFG_BASE32 0
+#define USE_BASE32(...)
+#define CFG_BASE64 0
+#define USE_BASE64(...)
+#define CFG_BASENAME 1
+#define USE_BASENAME(...) __VA_ARGS__
+#define CFG_BC 0
+#define USE_BC(...)
+#define CFG_BLKDISCARD 0
+#define USE_BLKDISCARD(...)
+#define CFG_BLKID 0
+#define USE_BLKID(...)
+#define CFG_BLOCKDEV 0
+#define USE_BLOCKDEV(...)
+#define CFG_BOOTCHARTD 0
+#define USE_BOOTCHARTD(...)
+#define CFG_BRCTL 0
+#define USE_BRCTL(...)
+#define CFG_BUNZIP2 0
+#define USE_BUNZIP2(...)
+#define CFG_BZCAT 0
+#define USE_BZCAT(...)
+#define CFG_CAL 0
+#define USE_CAL(...)
+#define CFG_CATV 0
+#define USE_CATV(...)
+#define CFG_CAT_V 1
+#define USE_CAT_V(...) __VA_ARGS__
+#define CFG_CAT 1
+#define USE_CAT(...) __VA_ARGS__
+#define CFG_CD 0
+#define USE_CD(...)
+#define CFG_CHATTR 0
+#define USE_CHATTR(...)
+#define CFG_CHCON 0
+#define USE_CHCON(...)
+#define CFG_CHGRP 0
+#define USE_CHGRP(...)
+#define CFG_CHMOD 1
+#define USE_CHMOD(...) __VA_ARGS__
+#define CFG_CHOWN 0
+#define USE_CHOWN(...)
+#define CFG_CHROOT 0
+#define USE_CHROOT(...)
+#define CFG_CHRT 0
+#define USE_CHRT(...)
+#define CFG_CHVT 0
+#define USE_CHVT(...)
+#define CFG_CKSUM 0
+#define USE_CKSUM(...)
+#define CFG_CLEAR 0
+#define USE_CLEAR(...)
+#define CFG_CMP 1
+#define USE_CMP(...) __VA_ARGS__
+#define CFG_COMM 1
+#define USE_COMM(...) __VA_ARGS__
+#define CFG_COUNT 0
+#define USE_COUNT(...)
+#define CFG_CPIO 1
+#define USE_CPIO(...) __VA_ARGS__
+#define CFG_CP_PRESERVE 1
+#define USE_CP_PRESERVE(...) __VA_ARGS__
+#define CFG_CP 1
+#define USE_CP(...) __VA_ARGS__
+#define CFG_CRC32 0
+#define USE_CRC32(...)
+#define CFG_CROND 0
+#define USE_CROND(...)
+#define CFG_CRONTAB 0
+#define USE_CRONTAB(...)
+#define CFG_CUT 1
+#define USE_CUT(...) __VA_ARGS__
+#define CFG_DATE 1
+#define USE_DATE(...) __VA_ARGS__
+#define CFG_DD 1
+#define USE_DD(...) __VA_ARGS__
+#define CFG_DEALLOCVT 0
+#define USE_DEALLOCVT(...)
+#define CFG_DEBUG_DHCP 0
+#define USE_DEBUG_DHCP(...)
+#define CFG_DEMO_MANY_OPTIONS 0
+#define USE_DEMO_MANY_OPTIONS(...)
+#define CFG_DEMO_NUMBER 0
+#define USE_DEMO_NUMBER(...)
+#define CFG_DEMO_SCANKEY 0
+#define USE_DEMO_SCANKEY(...)
+#define CFG_DEMO_UTF8TOWC 0
+#define USE_DEMO_UTF8TOWC(...)
+#define CFG_DEVMEM 0
+#define USE_DEVMEM(...)
+#define CFG_DF 0
+#define USE_DF(...)
+#define CFG_DHCP6 0
+#define USE_DHCP6(...)
+#define CFG_DHCPD 0
+#define USE_DHCPD(...)
+#define CFG_DHCP 0
+#define USE_DHCP(...)
+#define CFG_DIFF 1
+#define USE_DIFF(...) __VA_ARGS__
+#define CFG_DIRNAME 1
+#define USE_DIRNAME(...) __VA_ARGS__
+#define CFG_DMESG 0
+#define USE_DMESG(...)
+#define CFG_DNSDOMAINNAME 0
+#define USE_DNSDOMAINNAME(...)
+#define CFG_DOS2UNIX 1
+#define USE_DOS2UNIX(...) __VA_ARGS__
+#define CFG_DUMPLEASES 0
+#define USE_DUMPLEASES(...)
+#define CFG_DU 1
+#define USE_DU(...) __VA_ARGS__
+#define CFG_ECHO 1
+#define USE_ECHO(...) __VA_ARGS__
+#define CFG_EGREP 1
+#define USE_EGREP(...) __VA_ARGS__
+#define CFG_EJECT 0
+#define USE_EJECT(...)
+#define CFG_ENV 1
+#define USE_ENV(...) __VA_ARGS__
+#define CFG_EXIT 0
+#define USE_EXIT(...)
+#define CFG_EXPAND 0
+#define USE_EXPAND(...)
+#define CFG_EXPR 1
+#define USE_EXPR(...) __VA_ARGS__
+#define CFG_FACTOR 0
+#define USE_FACTOR(...)
+#define CFG_FALLOCATE 0
+#define USE_FALLOCATE(...)
+#define CFG_FALSE 0
+#define USE_FALSE(...)
+#define CFG_FDISK 0
+#define USE_FDISK(...)
+#define CFG_FGREP 1
+#define USE_FGREP(...) __VA_ARGS__
+#define CFG_FILE 0
+#define USE_FILE(...)
+#define CFG_FIND 1
+#define USE_FIND(...) __VA_ARGS__
+#define CFG_FLOCK 0
+#define USE_FLOCK(...)
+#define CFG_FMT 0
+#define USE_FMT(...)
+#define CFG_FOLD 0
+#define USE_FOLD(...)
+#define CFG_FREE 0
+#define USE_FREE(...)
+#define CFG_FREERAMDISK 0
+#define USE_FREERAMDISK(...)
+#define CFG_FSCK 0
+#define USE_FSCK(...)
+#define CFG_FSFREEZE 0
+#define USE_FSFREEZE(...)
+#define CFG_FSTYPE 0
+#define USE_FSTYPE(...)
+#define CFG_FSYNC 0
+#define USE_FSYNC(...)
+#define CFG_FTPGET 0
+#define USE_FTPGET(...)
+#define CFG_FTPPUT 0
+#define USE_FTPPUT(...)
+#define CFG_GETCONF 1
+#define USE_GETCONF(...) __VA_ARGS__
+#define CFG_GETENFORCE 0
+#define USE_GETENFORCE(...)
+#define CFG_GETFATTR 0
+#define USE_GETFATTR(...)
+#define CFG_GETOPT 1
+#define USE_GETOPT(...) __VA_ARGS__
+#define CFG_GETTY 0
+#define USE_GETTY(...)
+#define CFG_GREP 1
+#define USE_GREP(...) __VA_ARGS__
+#define CFG_GROUPADD 0
+#define USE_GROUPADD(...)
+#define CFG_GROUPDEL 0
+#define USE_GROUPDEL(...)
+#define CFG_GROUPS 0
+#define USE_GROUPS(...)
+#define CFG_GUNZIP 0
+#define USE_GUNZIP(...)
+#define CFG_GZIP 1
+#define USE_GZIP(...) __VA_ARGS__
+#define CFG_HEAD 1
+#define USE_HEAD(...) __VA_ARGS__
+#define CFG_HELLO 0
+#define USE_HELLO(...)
+#define CFG_HELP_EXTRAS 0
+#define USE_HELP_EXTRAS(...)
+#define CFG_HELP 0
+#define USE_HELP(...)
+#define CFG_HEXEDIT 0
+#define USE_HEXEDIT(...)
+#define CFG_HOSTID 0
+#define USE_HOSTID(...)
+#define CFG_HOST 0
+#define USE_HOST(...)
+#define CFG_HOSTNAME 1
+#define USE_HOSTNAME(...) __VA_ARGS__
+#define CFG_HWCLOCK 0
+#define USE_HWCLOCK(...)
+#define CFG_I2CDETECT 0
+#define USE_I2CDETECT(...)
+#define CFG_I2CDUMP 0
+#define USE_I2CDUMP(...)
+#define CFG_I2CGET 0
+#define USE_I2CGET(...)
+#define CFG_I2CSET 0
+#define USE_I2CSET(...)
+#define CFG_ICONV 0
+#define USE_ICONV(...)
+#define CFG_ID 1
+#define USE_ID(...) __VA_ARGS__
+#define CFG_ID_Z 0
+#define USE_ID_Z(...)
+#define CFG_IFCONFIG 0
+#define USE_IFCONFIG(...)
+#define CFG_INIT 0
+#define USE_INIT(...)
+#define CFG_INOTIFYD 0
+#define USE_INOTIFYD(...)
+#define CFG_INSMOD 0
+#define USE_INSMOD(...)
+#define CFG_INSTALL 0
+#define USE_INSTALL(...)
+#define CFG_IONICE 0
+#define USE_IONICE(...)
+#define CFG_IORENICE 0
+#define USE_IORENICE(...)
+#define CFG_IOTOP 0
+#define USE_IOTOP(...)
+#define CFG_IPCRM 0
+#define USE_IPCRM(...)
+#define CFG_IPCS 0
+#define USE_IPCS(...)
+#define CFG_IP 0
+#define USE_IP(...)
+#define CFG_KILLALL5 0
+#define USE_KILLALL5(...)
+#define CFG_KILLALL 0
+#define USE_KILLALL(...)
+#define CFG_KILL 0
+#define USE_KILL(...)
+#define CFG_KLOGD 0
+#define USE_KLOGD(...)
+#define CFG_KLOGD_SOURCE_RING_BUFFER 0
+#define USE_KLOGD_SOURCE_RING_BUFFER(...)
+#define CFG_LAST 0
+#define USE_LAST(...)
+#define CFG_LINK 0
+#define USE_LINK(...)
+#define CFG_LN 1
+#define USE_LN(...) __VA_ARGS__
+#define CFG_LOAD_POLICY 0
+#define USE_LOAD_POLICY(...)
+#define CFG_LOGGER 0
+#define USE_LOGGER(...)
+#define CFG_LOGIN 0
+#define USE_LOGIN(...)
+#define CFG_LOG 0
+#define USE_LOG(...)
+#define CFG_LOGNAME 0
+#define USE_LOGNAME(...)
+#define CFG_LOGWRAPPER 0
+#define USE_LOGWRAPPER(...)
+#define CFG_LOSETUP 0
+#define USE_LOSETUP(...)
+#define CFG_LSATTR 0
+#define USE_LSATTR(...)
+#define CFG_LSMOD 0
+#define USE_LSMOD(...)
+#define CFG_LSOF 0
+#define USE_LSOF(...)
+#define CFG_LSPCI 0
+#define USE_LSPCI(...)
+#define CFG_LSPCI_TEXT 0
+#define USE_LSPCI_TEXT(...)
+#define CFG_LSUSB 0
+#define USE_LSUSB(...)
+#define CFG_LS 1
+#define USE_LS(...) __VA_ARGS__
+#define CFG_MAKEDEVS 0
+#define USE_MAKEDEVS(...)
+#define CFG_MAN 0
+#define USE_MAN(...)
+#define CFG_MCOOKIE 0
+#define USE_MCOOKIE(...)
+#define CFG_MD5SUM 1
+#define USE_MD5SUM(...) __VA_ARGS__
+#define CFG_MDEV_CONF 0
+#define USE_MDEV_CONF(...)
+#define CFG_MDEV 0
+#define USE_MDEV(...)
+#define CFG_MICROCOM 1
+#define USE_MICROCOM(...) __VA_ARGS__
+#define CFG_MIX 0
+#define USE_MIX(...)
+#define CFG_MKDIR 1
+#define USE_MKDIR(...) __VA_ARGS__
+#define CFG_MKDIR_Z 0
+#define USE_MKDIR_Z(...)
+#define CFG_MKE2FS_EXTENDED 0
+#define USE_MKE2FS_EXTENDED(...)
+#define CFG_MKE2FS_GEN 0
+#define USE_MKE2FS_GEN(...)
+#define CFG_MKE2FS 0
+#define USE_MKE2FS(...)
+#define CFG_MKE2FS_JOURNAL 0
+#define USE_MKE2FS_JOURNAL(...)
+#define CFG_MKE2FS_LABEL 0
+#define USE_MKE2FS_LABEL(...)
+#define CFG_MKFIFO 0
+#define USE_MKFIFO(...)
+#define CFG_MKFIFO_Z 0
+#define USE_MKFIFO_Z(...)
+#define CFG_MKNOD 0
+#define USE_MKNOD(...)
+#define CFG_MKNOD_Z 0
+#define USE_MKNOD_Z(...)
+#define CFG_MKPASSWD 0
+#define USE_MKPASSWD(...)
+#define CFG_MKSWAP 0
+#define USE_MKSWAP(...)
+#define CFG_MKTEMP 1
+#define USE_MKTEMP(...) __VA_ARGS__
+#define CFG_MODINFO 0
+#define USE_MODINFO(...)
+#define CFG_MODPROBE 0
+#define USE_MODPROBE(...)
+#define CFG_MORE 0
+#define USE_MORE(...)
+#define CFG_MOUNT 0
+#define USE_MOUNT(...)
+#define CFG_MOUNTPOINT 0
+#define USE_MOUNTPOINT(...)
+#define CFG_MV 1
+#define USE_MV(...) __VA_ARGS__
+#define CFG_NBD_CLIENT 0
+#define USE_NBD_CLIENT(...)
+#define CFG_NETCAT 0
+#define USE_NETCAT(...)
+#define CFG_NETCAT_LISTEN 0
+#define USE_NETCAT_LISTEN(...)
+#define CFG_NETSTAT 0
+#define USE_NETSTAT(...)
+#define CFG_NICE 0
+#define USE_NICE(...)
+#define CFG_NL 1
+#define USE_NL(...) __VA_ARGS__
+#define CFG_NOHUP 0
+#define USE_NOHUP(...)
+#define CFG_NPROC 0
+#define USE_NPROC(...)
+#define CFG_NSENTER 0
+#define USE_NSENTER(...)
+#define CFG_OD 1
+#define USE_OD(...) __VA_ARGS__
+#define CFG_ONEIT 0
+#define USE_ONEIT(...)
+#define CFG_OPENVT 0
+#define USE_OPENVT(...)
+#define CFG_PARTPROBE 0
+#define USE_PARTPROBE(...)
+#define CFG_PASSWD 0
+#define USE_PASSWD(...)
+#define CFG_PASSWD_SAD 0
+#define USE_PASSWD_SAD(...)
+#define CFG_PASTE 1
+#define USE_PASTE(...) __VA_ARGS__
+#define CFG_PATCH 1
+#define USE_PATCH(...) __VA_ARGS__
+#define CFG_PGREP 0
+#define USE_PGREP(...)
+#define CFG_PIDOF 0
+#define USE_PIDOF(...)
+#define CFG_PING 0
+#define USE_PING(...)
+#define CFG_PIVOT_ROOT 0
+#define USE_PIVOT_ROOT(...)
+#define CFG_PKILL 0
+#define USE_PKILL(...)
+#define CFG_PMAP 0
+#define USE_PMAP(...)
+#define CFG_PRINTENV 0
+#define USE_PRINTENV(...)
+#define CFG_PRINTF 1
+#define USE_PRINTF(...) __VA_ARGS__
+#define CFG_PS 0
+#define USE_PS(...)
+#define CFG_PWDX 0
+#define USE_PWDX(...)
+#define CFG_PWD 1
+#define USE_PWD(...) __VA_ARGS__
+#define CFG_PWGEN 0
+#define USE_PWGEN(...)
+#define CFG_READAHEAD 0
+#define USE_READAHEAD(...)
+#define CFG_READELF 0
+#define USE_READELF(...)
+#define CFG_READLINK 1
+#define USE_READLINK(...) __VA_ARGS__
+#define CFG_REALPATH 1
+#define USE_REALPATH(...) __VA_ARGS__
+#define CFG_REBOOT 0
+#define USE_REBOOT(...)
+#define CFG_RENICE 0
+#define USE_RENICE(...)
+#define CFG_RESET 0
+#define USE_RESET(...)
+#define CFG_RESTORECON 0
+#define USE_RESTORECON(...)
+#define CFG_REV 0
+#define USE_REV(...)
+#define CFG_RFKILL 0
+#define USE_RFKILL(...)
+#define CFG_RMDIR 1
+#define USE_RMDIR(...) __VA_ARGS__
+#define CFG_RMMOD 0
+#define USE_RMMOD(...)
+#define CFG_RM 1
+#define USE_RM(...) __VA_ARGS__
+#define CFG_ROUTE 0
+#define USE_ROUTE(...)
+#define CFG_RTCWAKE 0
+#define USE_RTCWAKE(...)
+#define CFG_RUNCON 0
+#define USE_RUNCON(...)
+#define CFG_SED 1
+#define USE_SED(...) __VA_ARGS__
+#define CFG_SENDEVENT 0
+#define USE_SENDEVENT(...)
+#define CFG_SEQ 1
+#define USE_SEQ(...) __VA_ARGS__
+#define CFG_SETENFORCE 0
+#define USE_SETENFORCE(...)
+#define CFG_SETFATTR 0
+#define USE_SETFATTR(...)
+#define CFG_SETSID 1
+#define USE_SETSID(...) __VA_ARGS__
+#define CFG_SHA1SUM 1
+#define USE_SHA1SUM(...) __VA_ARGS__
+#define CFG_SHA224SUM 0
+#define USE_SHA224SUM(...)
+#define CFG_SHA256SUM 1
+#define USE_SHA256SUM(...) __VA_ARGS__
+#define CFG_SHA3SUM 0
+#define USE_SHA3SUM(...)
+#define CFG_SHA384SUM 0
+#define USE_SHA384SUM(...)
+#define CFG_SHA512SUM 1
+#define USE_SHA512SUM(...) __VA_ARGS__
+#define CFG_SH 0
+#define USE_SH(...)
+#define CFG_SHRED 0
+#define USE_SHRED(...)
+#define CFG_SKELETON_ALIAS 0
+#define USE_SKELETON_ALIAS(...)
+#define CFG_SKELETON 0
+#define USE_SKELETON(...)
+#define CFG_SLEEP 1
+#define USE_SLEEP(...) __VA_ARGS__
+#define CFG_SNTP 0
+#define USE_SNTP(...)
+#define CFG_SORT_FLOAT 1
+#define USE_SORT_FLOAT(...) __VA_ARGS__
+#define CFG_SORT 1
+#define USE_SORT(...) __VA_ARGS__
+#define CFG_SPLIT 0
+#define USE_SPLIT(...)
+#define CFG_STAT 1
+#define USE_STAT(...) __VA_ARGS__
+#define CFG_STRINGS 0
+#define USE_STRINGS(...)
+#define CFG_STTY 0
+#define USE_STTY(...)
+#define CFG_SU 0
+#define USE_SU(...)
+#define CFG_SULOGIN 0
+#define USE_SULOGIN(...)
+#define CFG_SWAPOFF 0
+#define USE_SWAPOFF(...)
+#define CFG_SWAPON 0
+#define USE_SWAPON(...)
+#define CFG_SWITCH_ROOT 0
+#define USE_SWITCH_ROOT(...)
+#define CFG_SYNC 0
+#define USE_SYNC(...)
+#define CFG_SYSCTL 0
+#define USE_SYSCTL(...)
+#define CFG_SYSLOGD 0
+#define USE_SYSLOGD(...)
+#define CFG_TAC 0
+#define USE_TAC(...)
+#define CFG_TAIL 1
+#define USE_TAIL(...) __VA_ARGS__
+#define CFG_TAR 1
+#define USE_TAR(...) __VA_ARGS__
+#define CFG_TASKSET 0
+#define USE_TASKSET(...)
+#define CFG_TCPSVD 0
+#define USE_TCPSVD(...)
+#define CFG_TEE 1
+#define USE_TEE(...) __VA_ARGS__
+#define CFG_TELNETD 0
+#define USE_TELNETD(...)
+#define CFG_TELNET 0
+#define USE_TELNET(...)
+#define CFG_TEST 1
+#define USE_TEST(...) __VA_ARGS__
+#define CFG_TFTPD 0
+#define USE_TFTPD(...)
+#define CFG_TFTP 0
+#define USE_TFTP(...)
+#define CFG_TIME 0
+#define USE_TIME(...)
+#define CFG_TIMEOUT 1
+#define USE_TIMEOUT(...) __VA_ARGS__
+#define CFG_TOP 0
+#define USE_TOP(...)
+#define CFG_TOUCH 1
+#define USE_TOUCH(...) __VA_ARGS__
+#define CFG_TRACEROUTE 0
+#define USE_TRACEROUTE(...)
+#define CFG_TRUE 1
+#define USE_TRUE(...) __VA_ARGS__
+#define CFG_TRUNCATE 1
+#define USE_TRUNCATE(...) __VA_ARGS__
+#define CFG_TR 1
+#define USE_TR(...) __VA_ARGS__
+#define CFG_TTY 0
+#define USE_TTY(...)
+#define CFG_TUNCTL 0
+#define USE_TUNCTL(...)
+#define CFG_ULIMIT 0
+#define USE_ULIMIT(...)
+#define CFG_UMOUNT 0
+#define USE_UMOUNT(...)
+#define CFG_UNAME 1
+#define USE_UNAME(...) __VA_ARGS__
+#define CFG_UNICODE 0
+#define USE_UNICODE(...)
+#define CFG_UNIQ 1
+#define USE_UNIQ(...) __VA_ARGS__
+#define CFG_UNIX2DOS 1
+#define USE_UNIX2DOS(...) __VA_ARGS__
+#define CFG_UNLINK 0
+#define USE_UNLINK(...)
+#define CFG_UNSHARE 0
+#define USE_UNSHARE(...)
+#define CFG_UPTIME 0
+#define USE_UPTIME(...)
+#define CFG_USERADD 0
+#define USE_USERADD(...)
+#define CFG_USERDEL 0
+#define USE_USERDEL(...)
+#define CFG_USLEEP 0
+#define USE_USLEEP(...)
+#define CFG_UUDECODE 0
+#define USE_UUDECODE(...)
+#define CFG_UUENCODE 0
+#define USE_UUENCODE(...)
+#define CFG_UUIDGEN 0
+#define USE_UUIDGEN(...)
+#define CFG_VCONFIG 0
+#define USE_VCONFIG(...)
+#define CFG_VI 0
+#define USE_VI(...)
+#define CFG_VMSTAT 0
+#define USE_VMSTAT(...)
+#define CFG_WATCH 0
+#define USE_WATCH(...)
+#define CFG_WATCHDOG 0
+#define USE_WATCHDOG(...)
+#define CFG_WC 1
+#define USE_WC(...) __VA_ARGS__
+#define CFG_WGET 0
+#define USE_WGET(...)
+#define CFG_WHICH 1
+#define USE_WHICH(...) __VA_ARGS__
+#define CFG_WHOAMI 1
+#define USE_WHOAMI(...) __VA_ARGS__
+#define CFG_WHO 0
+#define USE_WHO(...)
+#define CFG_W 0
+#define USE_W(...)
+#define CFG_XARGS_PEDANTIC 0
+#define USE_XARGS_PEDANTIC(...)
+#define CFG_XARGS 1
+#define USE_XARGS(...) __VA_ARGS__
+#define CFG_XXD 1
+#define USE_XXD(...) __VA_ARGS__
+#define CFG_XZCAT 0
+#define USE_XZCAT(...)
+#define CFG_YES 0
+#define USE_YES(...)
+#define CFG_ZCAT 1
+#define USE_ZCAT(...) __VA_ARGS__
diff --git a/android/mac/generated/flags.h b/android/mac/generated/flags.h
new file mode 100644
index 0000000..ae5d58a
--- /dev/null
+++ b/android/mac/generated/flags.h
@@ -0,0 +1,6606 @@
+#undef FORCED_FLAG
+#undef FORCED_FLAGLL
+#ifdef FORCE_FLAGS
+#define FORCED_FLAG 1
+#define FORCED_FLAGLL 1ULL
+#else
+#define FORCED_FLAG 0
+#define FORCED_FLAGLL 0
+#endif
+
+// acpi   abctV
+#undef OPTSTR_acpi
+#define OPTSTR_acpi "abctV"
+#ifdef CLEANUP_acpi
+#undef CLEANUP_acpi
+#undef FOR_acpi
+#undef FLAG_V
+#undef FLAG_t
+#undef FLAG_c
+#undef FLAG_b
+#undef FLAG_a
+#endif
+
+// arch    
+#undef OPTSTR_arch
+#define OPTSTR_arch 0
+#ifdef CLEANUP_arch
+#undef CLEANUP_arch
+#undef FOR_arch
+#endif
+
+// arp   vi:nDsdap:A:H:[+Ap][!sd]
+#undef OPTSTR_arp
+#define OPTSTR_arp "vi:nDsdap:A:H:[+Ap][!sd]"
+#ifdef CLEANUP_arp
+#undef CLEANUP_arp
+#undef FOR_arp
+#undef FLAG_H
+#undef FLAG_A
+#undef FLAG_p
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_D
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_v
+#endif
+
+// arping   <1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]
+#undef OPTSTR_arping
+#define OPTSTR_arping "<1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]"
+#ifdef CLEANUP_arping
+#undef CLEANUP_arping
+#undef FOR_arping
+#undef FLAG_f
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_D
+#undef FLAG_U
+#undef FLAG_A
+#undef FLAG_c
+#undef FLAG_w
+#undef FLAG_I
+#undef FLAG_s
+#endif
+
+// ascii    
+#undef OPTSTR_ascii
+#define OPTSTR_ascii 0
+#ifdef CLEANUP_ascii
+#undef CLEANUP_ascii
+#undef FOR_ascii
+#endif
+
+// base32   diw#<0=76[!dw]
+#undef OPTSTR_base32
+#define OPTSTR_base32 "diw#<0=76[!dw]"
+#ifdef CLEANUP_base32
+#undef CLEANUP_base32
+#undef FOR_base32
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_d
+#endif
+
+// base64   diw#<0=76[!dw]
+#undef OPTSTR_base64
+#define OPTSTR_base64 "diw#<0=76[!dw]"
+#ifdef CLEANUP_base64
+#undef CLEANUP_base64
+#undef FOR_base64
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_d
+#endif
+
+// basename ^<1as: ^<1as:
+#undef OPTSTR_basename
+#define OPTSTR_basename "^<1as:"
+#ifdef CLEANUP_basename
+#undef CLEANUP_basename
+#undef FOR_basename
+#undef FLAG_s
+#undef FLAG_a
+#endif
+
+// bc   i(interactive)l(mathlib)q(quiet)s(standard)w(warn)
+#undef OPTSTR_bc
+#define OPTSTR_bc "i(interactive)l(mathlib)q(quiet)s(standard)w(warn)"
+#ifdef CLEANUP_bc
+#undef CLEANUP_bc
+#undef FOR_bc
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_i
+#endif
+
+// blkdiscard   <1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]
+#undef OPTSTR_blkdiscard
+#define OPTSTR_blkdiscard "<1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]"
+#ifdef CLEANUP_blkdiscard
+#undef CLEANUP_blkdiscard
+#undef FOR_blkdiscard
+#undef FLAG_z
+#undef FLAG_s
+#undef FLAG_o
+#undef FLAG_l
+#undef FLAG_f
+#endif
+
+// blkid   ULs*[!LU]
+#undef OPTSTR_blkid
+#define OPTSTR_blkid "ULs*[!LU]"
+#ifdef CLEANUP_blkid
+#undef CLEANUP_blkid
+#undef FOR_blkid
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_U
+#endif
+
+// blockdev   <1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)
+#undef OPTSTR_blockdev
+#define OPTSTR_blockdev "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)"
+#ifdef CLEANUP_blockdev
+#undef CLEANUP_blockdev
+#undef FOR_blockdev
+#undef FLAG_rereadpt
+#undef FLAG_flushbufs
+#undef FLAG_setra
+#undef FLAG_getra
+#undef FLAG_getsize64
+#undef FLAG_getsize
+#undef FLAG_getsz
+#undef FLAG_setbsz
+#undef FLAG_getbsz
+#undef FLAG_getss
+#undef FLAG_getro
+#undef FLAG_setrw
+#undef FLAG_setro
+#endif
+
+// bootchartd    
+#undef OPTSTR_bootchartd
+#define OPTSTR_bootchartd 0
+#ifdef CLEANUP_bootchartd
+#undef CLEANUP_bootchartd
+#undef FOR_bootchartd
+#endif
+
+// brctl   <1
+#undef OPTSTR_brctl
+#define OPTSTR_brctl "<1"
+#ifdef CLEANUP_brctl
+#undef CLEANUP_brctl
+#undef FOR_brctl
+#endif
+
+// bunzip2   cftkv
+#undef OPTSTR_bunzip2
+#define OPTSTR_bunzip2 "cftkv"
+#ifdef CLEANUP_bunzip2
+#undef CLEANUP_bunzip2
+#undef FOR_bunzip2
+#undef FLAG_v
+#undef FLAG_k
+#undef FLAG_t
+#undef FLAG_f
+#undef FLAG_c
+#endif
+
+// bzcat    
+#undef OPTSTR_bzcat
+#define OPTSTR_bzcat 0
+#ifdef CLEANUP_bzcat
+#undef CLEANUP_bzcat
+#undef FOR_bzcat
+#endif
+
+// cal   >2h
+#undef OPTSTR_cal
+#define OPTSTR_cal ">2h"
+#ifdef CLEANUP_cal
+#undef CLEANUP_cal
+#undef FOR_cal
+#undef FLAG_h
+#endif
+
+// cat uvte uvte
+#undef OPTSTR_cat
+#define OPTSTR_cat "uvte"
+#ifdef CLEANUP_cat
+#undef CLEANUP_cat
+#undef FOR_cat
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_v
+#undef FLAG_u
+#endif
+
+// catv   vte
+#undef OPTSTR_catv
+#define OPTSTR_catv "vte"
+#ifdef CLEANUP_catv
+#undef CLEANUP_catv
+#undef FOR_catv
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_v
+#endif
+
+// cd   >1LP[-LP]
+#undef OPTSTR_cd
+#define OPTSTR_cd ">1LP[-LP]"
+#ifdef CLEANUP_cd
+#undef CLEANUP_cd
+#undef FOR_cd
+#undef FLAG_P
+#undef FLAG_L
+#endif
+
+// chattr   ?p#v#R
+#undef OPTSTR_chattr
+#define OPTSTR_chattr "?p#v#R"
+#ifdef CLEANUP_chattr
+#undef CLEANUP_chattr
+#undef FOR_chattr
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_p
+#endif
+
+// chcon   <2hvR
+#undef OPTSTR_chcon
+#define OPTSTR_chcon "<2hvR"
+#ifdef CLEANUP_chcon
+#undef CLEANUP_chcon
+#undef FOR_chcon
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_h
+#endif
+
+// chgrp   <2h(no-dereference)PLHRfv[-HLP]
+#undef OPTSTR_chgrp
+#define OPTSTR_chgrp "<2h(no-dereference)PLHRfv[-HLP]"
+#ifdef CLEANUP_chgrp
+#undef CLEANUP_chgrp
+#undef FOR_chgrp
+#undef FLAG_v
+#undef FLAG_f
+#undef FLAG_R
+#undef FLAG_H
+#undef FLAG_L
+#undef FLAG_P
+#undef FLAG_h
+#endif
+
+// chmod <2?vfR[-vf] <2?vfR[-vf]
+#undef OPTSTR_chmod
+#define OPTSTR_chmod "<2?vfR[-vf]"
+#ifdef CLEANUP_chmod
+#undef CLEANUP_chmod
+#undef FOR_chmod
+#undef FLAG_R
+#undef FLAG_f
+#undef FLAG_v
+#endif
+
+// chroot   ^<1
+#undef OPTSTR_chroot
+#define OPTSTR_chroot "^<1"
+#ifdef CLEANUP_chroot
+#undef CLEANUP_chroot
+#undef FOR_chroot
+#endif
+
+// chrt   ^mp#<0iRbrfo[!ibrfo]
+#undef OPTSTR_chrt
+#define OPTSTR_chrt "^mp#<0iRbrfo[!ibrfo]"
+#ifdef CLEANUP_chrt
+#undef CLEANUP_chrt
+#undef FOR_chrt
+#undef FLAG_o
+#undef FLAG_f
+#undef FLAG_r
+#undef FLAG_b
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_m
+#endif
+
+// chvt   <1
+#undef OPTSTR_chvt
+#define OPTSTR_chvt "<1"
+#ifdef CLEANUP_chvt
+#undef CLEANUP_chvt
+#undef FOR_chvt
+#endif
+
+// cksum   HIPLN
+#undef OPTSTR_cksum
+#define OPTSTR_cksum "HIPLN"
+#ifdef CLEANUP_cksum
+#undef CLEANUP_cksum
+#undef FOR_cksum
+#undef FLAG_N
+#undef FLAG_L
+#undef FLAG_P
+#undef FLAG_I
+#undef FLAG_H
+#endif
+
+// clear    
+#undef OPTSTR_clear
+#define OPTSTR_clear 0
+#ifdef CLEANUP_clear
+#undef CLEANUP_clear
+#undef FOR_clear
+#endif
+
+// cmp <1>2ls(silent)(quiet)[!ls] <1>2ls(silent)(quiet)[!ls]
+#undef OPTSTR_cmp
+#define OPTSTR_cmp "<1>2ls(silent)(quiet)[!ls]"
+#ifdef CLEANUP_cmp
+#undef CLEANUP_cmp
+#undef FOR_cmp
+#undef FLAG_s
+#undef FLAG_l
+#endif
+
+// comm <2>2321 <2>2321
+#undef OPTSTR_comm
+#define OPTSTR_comm "<2>2321"
+#ifdef CLEANUP_comm
+#undef CLEANUP_comm
+#undef FOR_comm
+#undef FLAG_1
+#undef FLAG_2
+#undef FLAG_3
+#endif
+
+// count    
+#undef OPTSTR_count
+#define OPTSTR_count 0
+#ifdef CLEANUP_count
+#undef CLEANUP_count
+#undef FOR_count
+#endif
+
+// cp <2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni] <2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]
+#undef OPTSTR_cp
+#define OPTSTR_cp "<2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]"
+#ifdef CLEANUP_cp
+#undef CLEANUP_cp
+#undef FOR_cp
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_F
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_l
+#undef FLAG_s
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_r
+#undef FLAG_p
+#undef FLAG_P
+#undef FLAG_L
+#undef FLAG_H
+#undef FLAG_R
+#undef FLAG_D
+#undef FLAG_preserve
+#endif
+
+// cpio (quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF] (quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]
+#undef OPTSTR_cpio
+#define OPTSTR_cpio "(quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
+#ifdef CLEANUP_cpio
+#undef CLEANUP_cpio
+#undef FOR_cpio
+#undef FLAG_o
+#undef FLAG_v
+#undef FLAG_F
+#undef FLAG_t
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_H
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_m
+#undef FLAG_no_preserve_owner
+#undef FLAG_quiet
+#endif
+
+// crc32    
+#undef OPTSTR_crc32
+#define OPTSTR_crc32 0
+#ifdef CLEANUP_crc32
+#undef CLEANUP_crc32
+#undef FOR_crc32
+#endif
+
+// crond   fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]
+#undef OPTSTR_crond
+#define OPTSTR_crond "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]"
+#ifdef CLEANUP_crond
+#undef CLEANUP_crond
+#undef FOR_crond
+#undef FLAG_c
+#undef FLAG_L
+#undef FLAG_d
+#undef FLAG_l
+#undef FLAG_S
+#undef FLAG_b
+#undef FLAG_f
+#endif
+
+// crontab   c:u:elr[!elr]
+#undef OPTSTR_crontab
+#define OPTSTR_crontab "c:u:elr[!elr]"
+#ifdef CLEANUP_crontab
+#undef CLEANUP_crontab
+#undef FOR_crontab
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_e
+#undef FLAG_u
+#undef FLAG_c
+#endif
+
+// cut b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf] b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]
+#undef OPTSTR_cut
+#define OPTSTR_cut "b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]"
+#ifdef CLEANUP_cut
+#undef CLEANUP_cut
+#undef FOR_cut
+#undef FLAG_n
+#undef FLAG_D
+#undef FLAG_s
+#undef FLAG_d
+#undef FLAG_O
+#undef FLAG_C
+#undef FLAG_F
+#undef FLAG_f
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// date d:D:I(iso)(iso-8601):;r:u(utc)[!dr] d:D:I(iso)(iso-8601):;r:u(utc)[!dr]
+#undef OPTSTR_date
+#define OPTSTR_date "d:D:I(iso)(iso-8601):;r:u(utc)[!dr]"
+#ifdef CLEANUP_date
+#undef CLEANUP_date
+#undef FOR_date
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_I
+#undef FLAG_D
+#undef FLAG_d
+#endif
+
+// dd    
+#undef OPTSTR_dd
+#define OPTSTR_dd 0
+#ifdef CLEANUP_dd
+#undef CLEANUP_dd
+#undef FOR_dd
+#endif
+
+// deallocvt   >1
+#undef OPTSTR_deallocvt
+#define OPTSTR_deallocvt ">1"
+#ifdef CLEANUP_deallocvt
+#undef CLEANUP_deallocvt
+#undef FOR_deallocvt
+#endif
+
+// demo_many_options   ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba
+#undef OPTSTR_demo_many_options
+#define OPTSTR_demo_many_options "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba"
+#ifdef CLEANUP_demo_many_options
+#undef CLEANUP_demo_many_options
+#undef FOR_demo_many_options
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_h
+#undef FLAG_i
+#undef FLAG_j
+#undef FLAG_k
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_o
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_y
+#undef FLAG_z
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_D
+#undef FLAG_E
+#undef FLAG_F
+#undef FLAG_G
+#undef FLAG_H
+#undef FLAG_I
+#undef FLAG_J
+#undef FLAG_K
+#undef FLAG_L
+#undef FLAG_M
+#undef FLAG_N
+#undef FLAG_O
+#undef FLAG_P
+#undef FLAG_Q
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_T
+#undef FLAG_U
+#undef FLAG_V
+#undef FLAG_W
+#undef FLAG_X
+#undef FLAG_Y
+#undef FLAG_Z
+#endif
+
+// demo_number   D#=3<3M#<0hcdbs
+#undef OPTSTR_demo_number
+#define OPTSTR_demo_number "D#=3<3M#<0hcdbs"
+#ifdef CLEANUP_demo_number
+#undef CLEANUP_demo_number
+#undef FOR_demo_number
+#undef FLAG_s
+#undef FLAG_b
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_h
+#undef FLAG_M
+#undef FLAG_D
+#endif
+
+// demo_scankey    
+#undef OPTSTR_demo_scankey
+#define OPTSTR_demo_scankey 0
+#ifdef CLEANUP_demo_scankey
+#undef CLEANUP_demo_scankey
+#undef FOR_demo_scankey
+#endif
+
+// demo_utf8towc    
+#undef OPTSTR_demo_utf8towc
+#define OPTSTR_demo_utf8towc 0
+#ifdef CLEANUP_demo_utf8towc
+#undef CLEANUP_demo_utf8towc
+#undef FOR_demo_utf8towc
+#endif
+
+// devmem   <1>3
+#undef OPTSTR_devmem
+#define OPTSTR_devmem "<1>3"
+#ifdef CLEANUP_devmem
+#undef CLEANUP_devmem
+#undef FOR_devmem
+#endif
+
+// df   HPkhit*a[-HPkh]
+#undef OPTSTR_df
+#define OPTSTR_df "HPkhit*a[-HPkh]"
+#ifdef CLEANUP_df
+#undef CLEANUP_df
+#undef FOR_df
+#undef FLAG_a
+#undef FLAG_t
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_k
+#undef FLAG_P
+#undef FLAG_H
+#endif
+
+// dhcp   V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf
+#undef OPTSTR_dhcp
+#define OPTSTR_dhcp "V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf"
+#ifdef CLEANUP_dhcp
+#undef CLEANUP_dhcp
+#undef FOR_dhcp
+#undef FLAG_f
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_q
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_a
+#undef FLAG_C
+#undef FLAG_R
+#undef FLAG_B
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_A
+#undef FLAG_O
+#undef FLAG_r
+#undef FLAG_x
+#undef FLAG_F
+#undef FLAG_H
+#undef FLAG_V
+#endif
+
+// dhcp6   r:A#<0T#<0t#<0s:p:i:SRvqnbf
+#undef OPTSTR_dhcp6
+#define OPTSTR_dhcp6 "r:A#<0T#<0t#<0s:p:i:SRvqnbf"
+#ifdef CLEANUP_dhcp6
+#undef CLEANUP_dhcp6
+#undef FOR_dhcp6
+#undef FLAG_f
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_q
+#undef FLAG_v
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_p
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_A
+#undef FLAG_r
+#endif
+
+// dhcpd   >1P#<0>65535fi:S46[!46]
+#undef OPTSTR_dhcpd
+#define OPTSTR_dhcpd ">1P#<0>65535fi:S46[!46]"
+#ifdef CLEANUP_dhcpd
+#undef CLEANUP_dhcpd
+#undef FOR_dhcpd
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_S
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_P
+#endif
+
+// diff <2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3 <2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3
+#undef OPTSTR_diff
+#define OPTSTR_diff "<2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3"
+#ifdef CLEANUP_diff
+#undef CLEANUP_diff
+#undef FOR_diff
+#undef FLAG_U
+#undef FLAG_r
+#undef FLAG_N
+#undef FLAG_S
+#undef FLAG_L
+#undef FLAG_a
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_w
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_d
+#undef FLAG_B
+#undef FLAG_strip_trailing_cr
+#undef FLAG_color
+#endif
+
+// dirname <1 <1
+#undef OPTSTR_dirname
+#define OPTSTR_dirname "<1"
+#ifdef CLEANUP_dirname
+#undef CLEANUP_dirname
+#undef FOR_dirname
+#endif
+
+// dmesg   w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]
+#undef OPTSTR_dmesg
+#define OPTSTR_dmesg "w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]"
+#ifdef CLEANUP_dmesg
+#undef CLEANUP_dmesg
+#undef FOR_dmesg
+#undef FLAG_c
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_t
+#undef FLAG_T
+#undef FLAG_S
+#undef FLAG_C
+#undef FLAG_w
+#endif
+
+// dnsdomainname   >0
+#undef OPTSTR_dnsdomainname
+#define OPTSTR_dnsdomainname ">0"
+#ifdef CLEANUP_dnsdomainname
+#undef CLEANUP_dnsdomainname
+#undef FOR_dnsdomainname
+#endif
+
+// dos2unix    
+#undef OPTSTR_dos2unix
+#define OPTSTR_dos2unix 0
+#ifdef CLEANUP_dos2unix
+#undef CLEANUP_dos2unix
+#undef FOR_dos2unix
+#endif
+
+// du d#<0=-1hmlcaHkKLsxb[-HL][-kKmh] d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]
+#undef OPTSTR_du
+#define OPTSTR_du "d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]"
+#ifdef CLEANUP_du
+#undef CLEANUP_du
+#undef FOR_du
+#undef FLAG_b
+#undef FLAG_x
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_K
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_a
+#undef FLAG_c
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_h
+#undef FLAG_d
+#endif
+
+// dumpleases   >0arf:[!ar]
+#undef OPTSTR_dumpleases
+#define OPTSTR_dumpleases ">0arf:[!ar]"
+#ifdef CLEANUP_dumpleases
+#undef CLEANUP_dumpleases
+#undef FOR_dumpleases
+#undef FLAG_f
+#undef FLAG_r
+#undef FLAG_a
+#endif
+
+// echo ^?Een[-eE] ^?Een[-eE]
+#undef OPTSTR_echo
+#define OPTSTR_echo "^?Een[-eE]"
+#ifdef CLEANUP_echo
+#undef CLEANUP_echo
+#undef FOR_echo
+#undef FLAG_n
+#undef FLAG_e
+#undef FLAG_E
+#endif
+
+// eject   >1stT[!tT]
+#undef OPTSTR_eject
+#define OPTSTR_eject ">1stT[!tT]"
+#ifdef CLEANUP_eject
+#undef CLEANUP_eject
+#undef FOR_eject
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_s
+#endif
+
+// env ^i0u* ^i0u*
+#undef OPTSTR_env
+#define OPTSTR_env "^i0u*"
+#ifdef CLEANUP_env
+#undef CLEANUP_env
+#undef FOR_env
+#undef FLAG_u
+#undef FLAG_0
+#undef FLAG_i
+#endif
+
+// eval    
+#undef OPTSTR_eval
+#define OPTSTR_eval 0
+#ifdef CLEANUP_eval
+#undef CLEANUP_eval
+#undef FOR_eval
+#endif
+
+// exec   ^cla:
+#undef OPTSTR_exec
+#define OPTSTR_exec "^cla:"
+#ifdef CLEANUP_exec
+#undef CLEANUP_exec
+#undef FOR_exec
+#undef FLAG_a
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// exit    
+#undef OPTSTR_exit
+#define OPTSTR_exit 0
+#ifdef CLEANUP_exit
+#undef CLEANUP_exit
+#undef FOR_exit
+#endif
+
+// expand   t*
+#undef OPTSTR_expand
+#define OPTSTR_expand "t*"
+#ifdef CLEANUP_expand
+#undef CLEANUP_expand
+#undef FOR_expand
+#undef FLAG_t
+#endif
+
+// export   np
+#undef OPTSTR_export
+#define OPTSTR_export "np"
+#ifdef CLEANUP_export
+#undef CLEANUP_export
+#undef FOR_export
+#undef FLAG_p
+#undef FLAG_n
+#endif
+
+// expr    
+#undef OPTSTR_expr
+#define OPTSTR_expr 0
+#ifdef CLEANUP_expr
+#undef CLEANUP_expr
+#undef FOR_expr
+#endif
+
+// factor    
+#undef OPTSTR_factor
+#define OPTSTR_factor 0
+#ifdef CLEANUP_factor
+#undef CLEANUP_factor
+#undef FOR_factor
+#endif
+
+// fallocate   >1l#|o#
+#undef OPTSTR_fallocate
+#define OPTSTR_fallocate ">1l#|o#"
+#ifdef CLEANUP_fallocate
+#undef CLEANUP_fallocate
+#undef FOR_fallocate
+#undef FLAG_o
+#undef FLAG_l
+#endif
+
+// false    
+#undef OPTSTR_false
+#define OPTSTR_false 0
+#ifdef CLEANUP_false
+#undef CLEANUP_false
+#undef FOR_false
+#endif
+
+// fdisk   C#<0H#<0S#<0b#<512ul
+#undef OPTSTR_fdisk
+#define OPTSTR_fdisk "C#<0H#<0S#<0b#<512ul"
+#ifdef CLEANUP_fdisk
+#undef CLEANUP_fdisk
+#undef FOR_fdisk
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_S
+#undef FLAG_H
+#undef FLAG_C
+#endif
+
+// file   <1bhLs[!hL]
+#undef OPTSTR_file
+#define OPTSTR_file "<1bhLs[!hL]"
+#ifdef CLEANUP_file
+#undef CLEANUP_file
+#undef FOR_file
+#undef FLAG_s
+#undef FLAG_L
+#undef FLAG_h
+#undef FLAG_b
+#endif
+
+// find ?^HL[-HL] ?^HL[-HL]
+#undef OPTSTR_find
+#define OPTSTR_find "?^HL[-HL]"
+#ifdef CLEANUP_find
+#undef CLEANUP_find
+#undef FOR_find
+#undef FLAG_L
+#undef FLAG_H
+#endif
+
+// flock   <1>1nsux[-sux]
+#undef OPTSTR_flock
+#define OPTSTR_flock "<1>1nsux[-sux]"
+#ifdef CLEANUP_flock
+#undef CLEANUP_flock
+#undef FOR_flock
+#undef FLAG_x
+#undef FLAG_u
+#undef FLAG_s
+#undef FLAG_n
+#endif
+
+// fmt   w#<0=75
+#undef OPTSTR_fmt
+#define OPTSTR_fmt "w#<0=75"
+#ifdef CLEANUP_fmt
+#undef CLEANUP_fmt
+#undef FOR_fmt
+#undef FLAG_w
+#endif
+
+// fold   bsuw#<1
+#undef OPTSTR_fold
+#define OPTSTR_fold "bsuw#<1"
+#ifdef CLEANUP_fold
+#undef CLEANUP_fold
+#undef FOR_fold
+#undef FLAG_w
+#undef FLAG_u
+#undef FLAG_s
+#undef FLAG_b
+#endif
+
+// free   htgmkb[!htgmkb]
+#undef OPTSTR_free
+#define OPTSTR_free "htgmkb[!htgmkb]"
+#ifdef CLEANUP_free
+#undef CLEANUP_free
+#undef FOR_free
+#undef FLAG_b
+#undef FLAG_k
+#undef FLAG_m
+#undef FLAG_g
+#undef FLAG_t
+#undef FLAG_h
+#endif
+
+// freeramdisk   <1>1
+#undef OPTSTR_freeramdisk
+#define OPTSTR_freeramdisk "<1>1"
+#ifdef CLEANUP_freeramdisk
+#undef CLEANUP_freeramdisk
+#undef FOR_freeramdisk
+#endif
+
+// fsck   ?t:ANPRTVsC#
+#undef OPTSTR_fsck
+#define OPTSTR_fsck "?t:ANPRTVsC#"
+#ifdef CLEANUP_fsck
+#undef CLEANUP_fsck
+#undef FOR_fsck
+#undef FLAG_C
+#undef FLAG_s
+#undef FLAG_V
+#undef FLAG_T
+#undef FLAG_R
+#undef FLAG_P
+#undef FLAG_N
+#undef FLAG_A
+#undef FLAG_t
+#endif
+
+// fsfreeze   <1>1f|u|[!fu]
+#undef OPTSTR_fsfreeze
+#define OPTSTR_fsfreeze "<1>1f|u|[!fu]"
+#ifdef CLEANUP_fsfreeze
+#undef CLEANUP_fsfreeze
+#undef FOR_fsfreeze
+#undef FLAG_u
+#undef FLAG_f
+#endif
+
+// fstype   <1
+#undef OPTSTR_fstype
+#define OPTSTR_fstype "<1"
+#ifdef CLEANUP_fstype
+#undef CLEANUP_fstype
+#undef FOR_fstype
+#endif
+
+// fsync   <1d
+#undef OPTSTR_fsync
+#define OPTSTR_fsync "<1d"
+#ifdef CLEANUP_fsync
+#undef CLEANUP_fsync
+#undef FOR_fsync
+#undef FLAG_d
+#endif
+
+// ftpget   <2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]
+#undef OPTSTR_ftpget
+#define OPTSTR_ftpget "<2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]"
+#ifdef CLEANUP_ftpget
+#undef CLEANUP_ftpget
+#undef FOR_ftpget
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_M
+#undef FLAG_m
+#undef FLAG_L
+#undef FLAG_l
+#undef FLAG_s
+#undef FLAG_g
+#undef FLAG_v
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_P
+#endif
+
+// getconf >2al >2al
+#undef OPTSTR_getconf
+#define OPTSTR_getconf ">2al"
+#ifdef CLEANUP_getconf
+#undef CLEANUP_getconf
+#undef FOR_getconf
+#undef FLAG_l
+#undef FLAG_a
+#endif
+
+// getenforce   >0
+#undef OPTSTR_getenforce
+#define OPTSTR_getenforce ">0"
+#ifdef CLEANUP_getenforce
+#undef CLEANUP_getenforce
+#undef FOR_getenforce
+#endif
+
+// getfattr   (only-values)dhn:
+#undef OPTSTR_getfattr
+#define OPTSTR_getfattr "(only-values)dhn:"
+#ifdef CLEANUP_getfattr
+#undef CLEANUP_getfattr
+#undef FOR_getfattr
+#undef FLAG_n
+#undef FLAG_h
+#undef FLAG_d
+#undef FLAG_only_values
+#endif
+
+// getopt ^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu ^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu
+#undef OPTSTR_getopt
+#define OPTSTR_getopt "^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu"
+#ifdef CLEANUP_getopt
+#undef CLEANUP_getopt
+#undef FOR_getopt
+#undef FLAG_u
+#undef FLAG_T
+#undef FLAG_l
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_a
+#endif
+
+// getty   <2t#<0H:I:l:f:iwnmLh
+#undef OPTSTR_getty
+#define OPTSTR_getty "<2t#<0H:I:l:f:iwnmLh"
+#ifdef CLEANUP_getty
+#undef CLEANUP_getty
+#undef FOR_getty
+#undef FLAG_h
+#undef FLAG_L
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_w
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_l
+#undef FLAG_I
+#undef FLAG_H
+#undef FLAG_t
+#endif
+
+// grep (line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw] (line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]
+#undef OPTSTR_grep
+#define OPTSTR_grep "(line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]"
+#ifdef CLEANUP_grep
+#undef CLEANUP_grep
+#undef FOR_grep
+#undef FLAG_x
+#undef FLAG_m
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_c
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_s
+#undef FLAG_R
+#undef FLAG_r
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_b
+#undef FLAG_a
+#undef FLAG_I
+#undef FLAG_H
+#undef FLAG_F
+#undef FLAG_E
+#undef FLAG_z
+#undef FLAG_Z
+#undef FLAG_M
+#undef FLAG_S
+#undef FLAG_exclude_dir
+#undef FLAG_color
+#undef FLAG_line_buffered
+#endif
+
+// groupadd   <1>2g#<0S
+#undef OPTSTR_groupadd
+#define OPTSTR_groupadd "<1>2g#<0S"
+#ifdef CLEANUP_groupadd
+#undef CLEANUP_groupadd
+#undef FOR_groupadd
+#undef FLAG_S
+#undef FLAG_g
+#endif
+
+// groupdel   <1>2
+#undef OPTSTR_groupdel
+#define OPTSTR_groupdel "<1>2"
+#ifdef CLEANUP_groupdel
+#undef CLEANUP_groupdel
+#undef FOR_groupdel
+#endif
+
+// groups    
+#undef OPTSTR_groups
+#define OPTSTR_groups 0
+#ifdef CLEANUP_groups
+#undef CLEANUP_groups
+#undef FOR_groups
+#endif
+
+// gunzip   cdfk123456789[-123456789]
+#undef OPTSTR_gunzip
+#define OPTSTR_gunzip "cdfk123456789[-123456789]"
+#ifdef CLEANUP_gunzip
+#undef CLEANUP_gunzip
+#undef FOR_gunzip
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// gzip ncdfk123456789[-123456789] ncdfk123456789[-123456789]
+#undef OPTSTR_gzip
+#define OPTSTR_gzip "ncdfk123456789[-123456789]"
+#ifdef CLEANUP_gzip
+#undef CLEANUP_gzip
+#undef FOR_gzip
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// head ?n(lines)#<0=10c(bytes)#<0qv[-nc] ?n(lines)#<0=10c(bytes)#<0qv[-nc]
+#undef OPTSTR_head
+#define OPTSTR_head "?n(lines)#<0=10c(bytes)#<0qv[-nc]"
+#ifdef CLEANUP_head
+#undef CLEANUP_head
+#undef FOR_head
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// hello    
+#undef OPTSTR_hello
+#define OPTSTR_hello 0
+#ifdef CLEANUP_hello
+#undef CLEANUP_hello
+#undef FOR_hello
+#endif
+
+// help   ahu
+#undef OPTSTR_help
+#define OPTSTR_help "ahu"
+#ifdef CLEANUP_help
+#undef CLEANUP_help
+#undef FOR_help
+#undef FLAG_u
+#undef FLAG_h
+#undef FLAG_a
+#endif
+
+// hexedit   <1>1r
+#undef OPTSTR_hexedit
+#define OPTSTR_hexedit "<1>1r"
+#ifdef CLEANUP_hexedit
+#undef CLEANUP_hexedit
+#undef FOR_hexedit
+#undef FLAG_r
+#endif
+
+// host   <1>2avt:
+#undef OPTSTR_host
+#define OPTSTR_host "<1>2avt:"
+#ifdef CLEANUP_host
+#undef CLEANUP_host
+#undef FOR_host
+#undef FLAG_t
+#undef FLAG_v
+#undef FLAG_a
+#endif
+
+// hostid   >0
+#undef OPTSTR_hostid
+#define OPTSTR_hostid ">0"
+#ifdef CLEANUP_hostid
+#undef CLEANUP_hostid
+#undef FOR_hostid
+#endif
+
+// hostname >1bdsfF:[!bdsf] >1bdsfF:[!bdsf]
+#undef OPTSTR_hostname
+#define OPTSTR_hostname ">1bdsfF:[!bdsf]"
+#ifdef CLEANUP_hostname
+#undef CLEANUP_hostname
+#undef FOR_hostname
+#undef FLAG_F
+#undef FLAG_f
+#undef FLAG_s
+#undef FLAG_d
+#undef FLAG_b
+#endif
+
+// hwclock   >0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]
+#undef OPTSTR_hwclock
+#define OPTSTR_hwclock ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]"
+#ifdef CLEANUP_hwclock
+#undef CLEANUP_hwclock
+#undef FOR_hwclock
+#undef FLAG_w
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_f
+#undef FLAG_fast
+#endif
+
+// i2cdetect   >3aFly
+#undef OPTSTR_i2cdetect
+#define OPTSTR_i2cdetect ">3aFly"
+#ifdef CLEANUP_i2cdetect
+#undef CLEANUP_i2cdetect
+#undef FOR_i2cdetect
+#undef FLAG_y
+#undef FLAG_l
+#undef FLAG_F
+#undef FLAG_a
+#endif
+
+// i2cdump   <2>2fy
+#undef OPTSTR_i2cdump
+#define OPTSTR_i2cdump "<2>2fy"
+#ifdef CLEANUP_i2cdump
+#undef CLEANUP_i2cdump
+#undef FOR_i2cdump
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// i2cget   <3>3fy
+#undef OPTSTR_i2cget
+#define OPTSTR_i2cget "<3>3fy"
+#ifdef CLEANUP_i2cget
+#undef CLEANUP_i2cget
+#undef FOR_i2cget
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// i2cset   <4fy
+#undef OPTSTR_i2cset
+#define OPTSTR_i2cset "<4fy"
+#ifdef CLEANUP_i2cset
+#undef CLEANUP_i2cset
+#undef FOR_i2cset
+#undef FLAG_y
+#undef FLAG_f
+#endif
+
+// iconv   cst:f:
+#undef OPTSTR_iconv
+#define OPTSTR_iconv "cst:f:"
+#ifdef CLEANUP_iconv
+#undef CLEANUP_iconv
+#undef FOR_iconv
+#undef FLAG_f
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_c
+#endif
+
+// id >1nGgru[!Ggu] >1ZnGgru[!ZGgu]
+#undef OPTSTR_id
+#define OPTSTR_id ">1nGgru[!Ggu]"
+#ifdef CLEANUP_id
+#undef CLEANUP_id
+#undef FOR_id
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_g
+#undef FLAG_G
+#undef FLAG_n
+#undef FLAG_Z
+#endif
+
+// ifconfig   ^?aS
+#undef OPTSTR_ifconfig
+#define OPTSTR_ifconfig "^?aS"
+#ifdef CLEANUP_ifconfig
+#undef CLEANUP_ifconfig
+#undef FOR_ifconfig
+#undef FLAG_S
+#undef FLAG_a
+#endif
+
+// init    
+#undef OPTSTR_init
+#define OPTSTR_init 0
+#ifdef CLEANUP_init
+#undef CLEANUP_init
+#undef FOR_init
+#endif
+
+// inotifyd   <2
+#undef OPTSTR_inotifyd
+#define OPTSTR_inotifyd "<2"
+#ifdef CLEANUP_inotifyd
+#undef CLEANUP_inotifyd
+#undef FOR_inotifyd
+#endif
+
+// insmod   <1
+#undef OPTSTR_insmod
+#define OPTSTR_insmod "<1"
+#ifdef CLEANUP_insmod
+#undef CLEANUP_insmod
+#undef FOR_insmod
+#endif
+
+// install   <1cdDpsvm:o:g:
+#undef OPTSTR_install
+#define OPTSTR_install "<1cdDpsvm:o:g:"
+#ifdef CLEANUP_install
+#undef CLEANUP_install
+#undef FOR_install
+#undef FLAG_g
+#undef FLAG_o
+#undef FLAG_m
+#undef FLAG_v
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// ionice   ^tc#<0>3=2n#<0>7=5p#
+#undef OPTSTR_ionice
+#define OPTSTR_ionice "^tc#<0>3=2n#<0>7=5p#"
+#ifdef CLEANUP_ionice
+#undef CLEANUP_ionice
+#undef FOR_ionice
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_t
+#endif
+
+// iorenice   ?<1>3
+#undef OPTSTR_iorenice
+#define OPTSTR_iorenice "?<1>3"
+#ifdef CLEANUP_iorenice
+#undef CLEANUP_iorenice
+#undef FOR_iorenice
+#endif
+
+// iotop   >0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq
+#undef OPTSTR_iotop
+#define OPTSTR_iotop ">0AaKOHk*o*p*u*s#<1=7d%<100=3000m#n#<1bq"
+#ifdef CLEANUP_iotop
+#undef CLEANUP_iotop
+#undef FOR_iotop
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_O
+#undef FLAG_K
+#undef FLAG_a
+#undef FLAG_A
+#endif
+
+// ip    
+#undef OPTSTR_ip
+#define OPTSTR_ip 0
+#ifdef CLEANUP_ip
+#undef CLEANUP_ip
+#undef FOR_ip
+#endif
+
+// ipcrm   m*M*s*S*q*Q*
+#undef OPTSTR_ipcrm
+#define OPTSTR_ipcrm "m*M*s*S*q*Q*"
+#ifdef CLEANUP_ipcrm
+#undef CLEANUP_ipcrm
+#undef FOR_ipcrm
+#undef FLAG_Q
+#undef FLAG_q
+#undef FLAG_S
+#undef FLAG_s
+#undef FLAG_M
+#undef FLAG_m
+#endif
+
+// ipcs   acptulsqmi#
+#undef OPTSTR_ipcs
+#define OPTSTR_ipcs "acptulsqmi#"
+#ifdef CLEANUP_ipcs
+#undef CLEANUP_ipcs
+#undef FOR_ipcs
+#undef FLAG_i
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_a
+#endif
+
+// kill   ?ls: 
+#undef OPTSTR_kill
+#define OPTSTR_kill "?ls: "
+#ifdef CLEANUP_kill
+#undef CLEANUP_kill
+#undef FOR_kill
+#undef FLAG_s
+#undef FLAG_l
+#endif
+
+// killall   ?s:ilqvw
+#undef OPTSTR_killall
+#define OPTSTR_killall "?s:ilqvw"
+#ifdef CLEANUP_killall
+#undef CLEANUP_killall
+#undef FOR_killall
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_l
+#undef FLAG_i
+#undef FLAG_s
+#endif
+
+// killall5   ?o*ls: [!lo][!ls]
+#undef OPTSTR_killall5
+#define OPTSTR_killall5 "?o*ls: [!lo][!ls]"
+#ifdef CLEANUP_killall5
+#undef CLEANUP_killall5
+#undef FOR_killall5
+#undef FLAG_s
+#undef FLAG_l
+#undef FLAG_o
+#endif
+
+// klogd   c#<1>8n
+#undef OPTSTR_klogd
+#define OPTSTR_klogd "c#<1>8n"
+#ifdef CLEANUP_klogd
+#undef CLEANUP_klogd
+#undef FOR_klogd
+#undef FLAG_n
+#undef FLAG_c
+#endif
+
+// last   f:W
+#undef OPTSTR_last
+#define OPTSTR_last "f:W"
+#ifdef CLEANUP_last
+#undef CLEANUP_last
+#undef FOR_last
+#undef FLAG_W
+#undef FLAG_f
+#endif
+
+// link   <2>2
+#undef OPTSTR_link
+#define OPTSTR_link "<2>2"
+#ifdef CLEANUP_link
+#undef CLEANUP_link
+#undef FOR_link
+#endif
+
+// ln <1rt:Tvnfs <1rt:Tvnfs
+#undef OPTSTR_ln
+#define OPTSTR_ln "<1rt:Tvnfs"
+#ifdef CLEANUP_ln
+#undef CLEANUP_ln
+#undef FOR_ln
+#undef FLAG_s
+#undef FLAG_f
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_r
+#endif
+
+// load_policy   <1>1
+#undef OPTSTR_load_policy
+#define OPTSTR_load_policy "<1>1"
+#ifdef CLEANUP_load_policy
+#undef CLEANUP_load_policy
+#undef FOR_load_policy
+#endif
+
+// log   <1p:t:
+#undef OPTSTR_log
+#define OPTSTR_log "<1p:t:"
+#ifdef CLEANUP_log
+#undef CLEANUP_log
+#undef FOR_log
+#undef FLAG_t
+#undef FLAG_p
+#endif
+
+// logger   t:p:s
+#undef OPTSTR_logger
+#define OPTSTR_logger "t:p:s"
+#ifdef CLEANUP_logger
+#undef CLEANUP_logger
+#undef FOR_logger
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_t
+#endif
+
+// login   >1f:ph:
+#undef OPTSTR_login
+#define OPTSTR_login ">1f:ph:"
+#ifdef CLEANUP_login
+#undef CLEANUP_login
+#undef FOR_login
+#undef FLAG_h
+#undef FLAG_p
+#undef FLAG_f
+#endif
+
+// logname   >0
+#undef OPTSTR_logname
+#define OPTSTR_logname ">0"
+#ifdef CLEANUP_logname
+#undef CLEANUP_logname
+#undef FOR_logname
+#endif
+
+// logwrapper    
+#undef OPTSTR_logwrapper
+#define OPTSTR_logwrapper 0
+#ifdef CLEANUP_logwrapper
+#undef CLEANUP_logwrapper
+#undef FOR_logwrapper
+#endif
+
+// losetup   >2S(sizelimit)#s(show)ro#j:fdcaD[!afj]
+#undef OPTSTR_losetup
+#define OPTSTR_losetup ">2S(sizelimit)#s(show)ro#j:fdcaD[!afj]"
+#ifdef CLEANUP_losetup
+#undef CLEANUP_losetup
+#undef FOR_losetup
+#undef FLAG_D
+#undef FLAG_a
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_f
+#undef FLAG_j
+#undef FLAG_o
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_S
+#endif
+
+// ls (color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb] (color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]
+#undef OPTSTR_ls
+#define OPTSTR_ls "(color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]"
+#ifdef CLEANUP_ls
+#undef CLEANUP_ls
+#undef FOR_ls
+#undef FLAG_1
+#undef FLAG_x
+#undef FLAG_w
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_q
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_l
+#undef FLAG_k
+#undef FLAG_i
+#undef FLAG_h
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_b
+#undef FLAG_a
+#undef FLAG_S
+#undef FLAG_R
+#undef FLAG_L
+#undef FLAG_H
+#undef FLAG_F
+#undef FLAG_C
+#undef FLAG_A
+#undef FLAG_o
+#undef FLAG_g
+#undef FLAG_Z
+#undef FLAG_show_control_chars
+#undef FLAG_full_time
+#undef FLAG_color
+#endif
+
+// lsattr   ldapvR
+#undef OPTSTR_lsattr
+#define OPTSTR_lsattr "ldapvR"
+#ifdef CLEANUP_lsattr
+#undef CLEANUP_lsattr
+#undef FOR_lsattr
+#undef FLAG_R
+#undef FLAG_v
+#undef FLAG_p
+#undef FLAG_a
+#undef FLAG_d
+#undef FLAG_l
+#endif
+
+// lsmod    
+#undef OPTSTR_lsmod
+#define OPTSTR_lsmod 0
+#ifdef CLEANUP_lsmod
+#undef CLEANUP_lsmod
+#undef FOR_lsmod
+#endif
+
+// lsof   lp*t
+#undef OPTSTR_lsof
+#define OPTSTR_lsof "lp*t"
+#ifdef CLEANUP_lsof
+#undef CLEANUP_lsof
+#undef FOR_lsof
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_l
+#endif
+
+// lspci   emkn@i:
+#undef OPTSTR_lspci
+#define OPTSTR_lspci "emkn@i:"
+#ifdef CLEANUP_lspci
+#undef CLEANUP_lspci
+#undef FOR_lspci
+#undef FLAG_i
+#undef FLAG_n
+#undef FLAG_k
+#undef FLAG_m
+#undef FLAG_e
+#endif
+
+// lsusb    
+#undef OPTSTR_lsusb
+#define OPTSTR_lsusb 0
+#ifdef CLEANUP_lsusb
+#undef CLEANUP_lsusb
+#undef FOR_lsusb
+#endif
+
+// makedevs   <1>1d:
+#undef OPTSTR_makedevs
+#define OPTSTR_makedevs "<1>1d:"
+#ifdef CLEANUP_makedevs
+#undef CLEANUP_makedevs
+#undef FOR_makedevs
+#undef FLAG_d
+#endif
+
+// man   k:M:
+#undef OPTSTR_man
+#define OPTSTR_man "k:M:"
+#ifdef CLEANUP_man
+#undef CLEANUP_man
+#undef FOR_man
+#undef FLAG_M
+#undef FLAG_k
+#endif
+
+// mcookie   v(verbose)V(version)
+#undef OPTSTR_mcookie
+#define OPTSTR_mcookie "v(verbose)V(version)"
+#ifdef CLEANUP_mcookie
+#undef CLEANUP_mcookie
+#undef FOR_mcookie
+#undef FLAG_V
+#undef FLAG_v
+#endif
+
+// md5sum bc(check)s(status)[!bc] bc(check)s(status)[!bc]
+#undef OPTSTR_md5sum
+#define OPTSTR_md5sum "bc(check)s(status)[!bc]"
+#ifdef CLEANUP_md5sum
+#undef CLEANUP_md5sum
+#undef FOR_md5sum
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// mdev   s
+#undef OPTSTR_mdev
+#define OPTSTR_mdev "s"
+#ifdef CLEANUP_mdev
+#undef CLEANUP_mdev
+#undef FOR_mdev
+#undef FLAG_s
+#endif
+
+// microcom <1>1s#=115200X <1>1s#=115200X
+#undef OPTSTR_microcom
+#define OPTSTR_microcom "<1>1s#=115200X"
+#ifdef CLEANUP_microcom
+#undef CLEANUP_microcom
+#undef FOR_microcom
+#undef FLAG_X
+#undef FLAG_s
+#endif
+
+// mix   c:d:l#r#
+#undef OPTSTR_mix
+#define OPTSTR_mix "c:d:l#r#"
+#ifdef CLEANUP_mix
+#undef CLEANUP_mix
+#undef FOR_mix
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+// mkdir <1vp(parent)(parents)m: <1Z:vp(parent)(parents)m:
+#undef OPTSTR_mkdir
+#define OPTSTR_mkdir "<1vp(parent)(parents)m:"
+#ifdef CLEANUP_mkdir
+#undef CLEANUP_mkdir
+#undef FOR_mkdir
+#undef FLAG_m
+#undef FLAG_p
+#undef FLAG_v
+#undef FLAG_Z
+#endif
+
+// mke2fs   <1>2g:Fnqm#N#i#b#
+#undef OPTSTR_mke2fs
+#define OPTSTR_mke2fs "<1>2g:Fnqm#N#i#b#"
+#ifdef CLEANUP_mke2fs
+#undef CLEANUP_mke2fs
+#undef FOR_mke2fs
+#undef FLAG_b
+#undef FLAG_i
+#undef FLAG_N
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_n
+#undef FLAG_F
+#undef FLAG_g
+#endif
+
+// mkfifo   <1Z:m:
+#undef OPTSTR_mkfifo
+#define OPTSTR_mkfifo "<1Z:m:"
+#ifdef CLEANUP_mkfifo
+#undef CLEANUP_mkfifo
+#undef FOR_mkfifo
+#undef FLAG_m
+#undef FLAG_Z
+#endif
+
+// mknod   <2>4m(mode):Z:
+#undef OPTSTR_mknod
+#define OPTSTR_mknod "<2>4m(mode):Z:"
+#ifdef CLEANUP_mknod
+#undef CLEANUP_mknod
+#undef FOR_mknod
+#undef FLAG_Z
+#undef FLAG_m
+#endif
+
+// mkpasswd   >2S:m:P#=0<0
+#undef OPTSTR_mkpasswd
+#define OPTSTR_mkpasswd ">2S:m:P#=0<0"
+#ifdef CLEANUP_mkpasswd
+#undef CLEANUP_mkpasswd
+#undef FOR_mkpasswd
+#undef FLAG_P
+#undef FLAG_m
+#undef FLAG_S
+#endif
+
+// mkswap   <1>1L:
+#undef OPTSTR_mkswap
+#define OPTSTR_mkswap "<1>1L:"
+#ifdef CLEANUP_mkswap
+#undef CLEANUP_mkswap
+#undef FOR_mkswap
+#undef FLAG_L
+#endif
+
+// mktemp >1(tmpdir);:uqd(directory)p:t >1(tmpdir);:uqd(directory)p:t
+#undef OPTSTR_mktemp
+#define OPTSTR_mktemp ">1(tmpdir);:uqd(directory)p:t"
+#ifdef CLEANUP_mktemp
+#undef CLEANUP_mktemp
+#undef FOR_mktemp
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_d
+#undef FLAG_q
+#undef FLAG_u
+#undef FLAG_tmpdir
+#endif
+
+// modinfo   <1b:k:F:0
+#undef OPTSTR_modinfo
+#define OPTSTR_modinfo "<1b:k:F:0"
+#ifdef CLEANUP_modinfo
+#undef CLEANUP_modinfo
+#undef FOR_modinfo
+#undef FLAG_0
+#undef FLAG_F
+#undef FLAG_k
+#undef FLAG_b
+#endif
+
+// modprobe   alrqvsDbd*
+#undef OPTSTR_modprobe
+#define OPTSTR_modprobe "alrqvsDbd*"
+#ifdef CLEANUP_modprobe
+#undef CLEANUP_modprobe
+#undef FOR_modprobe
+#undef FLAG_d
+#undef FLAG_b
+#undef FLAG_D
+#undef FLAG_s
+#undef FLAG_v
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_a
+#endif
+
+// more    
+#undef OPTSTR_more
+#define OPTSTR_more 0
+#ifdef CLEANUP_more
+#undef CLEANUP_more
+#undef FOR_more
+#endif
+
+// mount   ?O:afnrvwt:o*[-rw]
+#undef OPTSTR_mount
+#define OPTSTR_mount "?O:afnrvwt:o*[-rw]"
+#ifdef CLEANUP_mount
+#undef CLEANUP_mount
+#undef FOR_mount
+#undef FLAG_o
+#undef FLAG_t
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_a
+#undef FLAG_O
+#endif
+
+// mountpoint   <1qdx[-dx]
+#undef OPTSTR_mountpoint
+#define OPTSTR_mountpoint "<1qdx[-dx]"
+#ifdef CLEANUP_mountpoint
+#undef CLEANUP_mountpoint
+#undef FOR_mountpoint
+#undef FLAG_x
+#undef FLAG_d
+#undef FLAG_q
+#endif
+
+// mv <2vnF(remove-destination)fiT[-ni] <2vnF(remove-destination)fiT[-ni]
+#undef OPTSTR_mv
+#define OPTSTR_mv "<2vnF(remove-destination)fiT[-ni]"
+#ifdef CLEANUP_mv
+#undef CLEANUP_mv
+#undef FOR_mv
+#undef FLAG_T
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_F
+#undef FLAG_n
+#undef FLAG_v
+#endif
+
+// nbd_client   <3>3ns
+#undef OPTSTR_nbd_client
+#define OPTSTR_nbd_client "<3>3ns"
+#ifdef CLEANUP_nbd_client
+#undef CLEANUP_nbd_client
+#undef FOR_nbd_client
+#undef FLAG_s
+#undef FLAG_n
+#endif
+
+// netcat   ^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U]
+#undef OPTSTR_netcat
+#define OPTSTR_netcat "^tElLw#<1W#<1p#<1>65535q#<1s:f:46uU[!tlL][!Lw][!46U]"
+#ifdef CLEANUP_netcat
+#undef CLEANUP_netcat
+#undef FOR_netcat
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_f
+#undef FLAG_s
+#undef FLAG_q
+#undef FLAG_p
+#undef FLAG_W
+#undef FLAG_w
+#undef FLAG_L
+#undef FLAG_l
+#undef FLAG_E
+#undef FLAG_t
+#endif
+
+// netstat   pWrxwutneal
+#undef OPTSTR_netstat
+#define OPTSTR_netstat "pWrxwutneal"
+#ifdef CLEANUP_netstat
+#undef CLEANUP_netstat
+#undef FOR_netstat
+#undef FLAG_l
+#undef FLAG_a
+#undef FLAG_e
+#undef FLAG_n
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_r
+#undef FLAG_W
+#undef FLAG_p
+#endif
+
+// nice   ^<1n#
+#undef OPTSTR_nice
+#define OPTSTR_nice "^<1n#"
+#ifdef CLEANUP_nice
+#undef CLEANUP_nice
+#undef FOR_nice
+#undef FLAG_n
+#endif
+
+// nl v#=1l#w#<0=6Eb:n:s: v#=1l#w#<0=6Eb:n:s:
+#undef OPTSTR_nl
+#define OPTSTR_nl "v#=1l#w#<0=6Eb:n:s:"
+#ifdef CLEANUP_nl
+#undef CLEANUP_nl
+#undef FOR_nl
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_b
+#undef FLAG_E
+#undef FLAG_w
+#undef FLAG_l
+#undef FLAG_v
+#endif
+
+// nohup   <1^
+#undef OPTSTR_nohup
+#define OPTSTR_nohup "<1^"
+#ifdef CLEANUP_nohup
+#undef CLEANUP_nohup
+#undef FOR_nohup
+#endif
+
+// nproc   (all)
+#undef OPTSTR_nproc
+#define OPTSTR_nproc "(all)"
+#ifdef CLEANUP_nproc
+#undef CLEANUP_nproc
+#undef FOR_nproc
+#undef FLAG_all
+#endif
+
+// nsenter   <1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);
+#undef OPTSTR_nsenter
+#define OPTSTR_nsenter "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);"
+#ifdef CLEANUP_nsenter
+#undef CLEANUP_nsenter
+#undef FOR_nsenter
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_i
+#undef FLAG_t
+#undef FLAG_F
+#endif
+
+// od j#vw#<1=16N#xsodcbA:t* j#vw#<1=16N#xsodcbA:t*
+#undef OPTSTR_od
+#define OPTSTR_od "j#vw#<1=16N#xsodcbA:t*"
+#ifdef CLEANUP_od
+#undef CLEANUP_od
+#undef FOR_od
+#undef FLAG_t
+#undef FLAG_A
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_o
+#undef FLAG_s
+#undef FLAG_x
+#undef FLAG_N
+#undef FLAG_w
+#undef FLAG_v
+#undef FLAG_j
+#endif
+
+// oneit   ^<1nc:p3[!pn]
+#undef OPTSTR_oneit
+#define OPTSTR_oneit "^<1nc:p3[!pn]"
+#ifdef CLEANUP_oneit
+#undef CLEANUP_oneit
+#undef FOR_oneit
+#undef FLAG_3
+#undef FLAG_p
+#undef FLAG_c
+#undef FLAG_n
+#endif
+
+// openvt   c#<1>63sw
+#undef OPTSTR_openvt
+#define OPTSTR_openvt "c#<1>63sw"
+#ifdef CLEANUP_openvt
+#undef CLEANUP_openvt
+#undef FOR_openvt
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_c
+#endif
+
+// partprobe   <1
+#undef OPTSTR_partprobe
+#define OPTSTR_partprobe "<1"
+#ifdef CLEANUP_partprobe
+#undef CLEANUP_partprobe
+#undef FOR_partprobe
+#endif
+
+// passwd   >1a:dlu
+#undef OPTSTR_passwd
+#define OPTSTR_passwd ">1a:dlu"
+#ifdef CLEANUP_passwd
+#undef CLEANUP_passwd
+#undef FOR_passwd
+#undef FLAG_u
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_a
+#endif
+
+// paste d:s d:s
+#undef OPTSTR_paste
+#define OPTSTR_paste "d:s"
+#ifdef CLEANUP_paste
+#undef CLEANUP_paste
+#undef FOR_paste
+#undef FLAG_s
+#undef FLAG_d
+#endif
+
+// patch >2(no-backup-if-mismatch)(dry-run)F#g#fulp#d:i:Rs(quiet) >2(no-backup-if-mismatch)(dry-run)xF#g#fulp#d:i:Rs(quiet)
+#undef OPTSTR_patch
+#define OPTSTR_patch ">2(no-backup-if-mismatch)(dry-run)F#g#fulp#d:i:Rs(quiet)"
+#ifdef CLEANUP_patch
+#undef CLEANUP_patch
+#undef FOR_patch
+#undef FLAG_s
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_d
+#undef FLAG_p
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_F
+#undef FLAG_x
+#undef FLAG_dry_run
+#undef FLAG_no_backup_if_mismatch
+#endif
+
+// pgrep   ?cld:u*U*t*s*P*g*G*fnovxL:[-no]
+#undef OPTSTR_pgrep
+#define OPTSTR_pgrep "?cld:u*U*t*s*P*g*G*fnovxL:[-no]"
+#ifdef CLEANUP_pgrep
+#undef CLEANUP_pgrep
+#undef FOR_pgrep
+#undef FLAG_L
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_P
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// pidof   <1so:x
+#undef OPTSTR_pidof
+#define OPTSTR_pidof "<1so:x"
+#ifdef CLEANUP_pidof
+#undef CLEANUP_pidof
+#undef FOR_pidof
+#undef FLAG_x
+#undef FLAG_o
+#undef FLAG_s
+#endif
+
+// ping   <1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]
+#undef OPTSTR_ping
+#define OPTSTR_ping "<1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]"
+#ifdef CLEANUP_ping
+#undef CLEANUP_ping
+#undef FOR_ping
+#undef FLAG_I
+#undef FLAG_6
+#undef FLAG_4
+#undef FLAG_f
+#undef FLAG_q
+#undef FLAG_w
+#undef FLAG_W
+#undef FLAG_i
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_t
+#undef FLAG_m
+#endif
+
+// pivot_root   <2>2
+#undef OPTSTR_pivot_root
+#define OPTSTR_pivot_root "<2>2"
+#ifdef CLEANUP_pivot_root
+#undef CLEANUP_pivot_root
+#undef FOR_pivot_root
+#endif
+
+// pkill   ?Vu*U*t*s*P*g*G*fnovxl:[-no]
+#undef OPTSTR_pkill
+#define OPTSTR_pkill "?Vu*U*t*s*P*g*G*fnovxl:[-no]"
+#ifdef CLEANUP_pkill
+#undef CLEANUP_pkill
+#undef FOR_pkill
+#undef FLAG_l
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_f
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_P
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_V
+#endif
+
+// pmap   <1xq
+#undef OPTSTR_pmap
+#define OPTSTR_pmap "<1xq"
+#ifdef CLEANUP_pmap
+#undef CLEANUP_pmap
+#undef FOR_pmap
+#undef FLAG_q
+#undef FLAG_x
+#endif
+
+// printenv   (null)0
+#undef OPTSTR_printenv
+#define OPTSTR_printenv "(null)0"
+#ifdef CLEANUP_printenv
+#undef CLEANUP_printenv
+#undef FOR_printenv
+#undef FLAG_0
+#undef FLAG_null
+#endif
+
+// printf <1?^ <1?^
+#undef OPTSTR_printf
+#define OPTSTR_printf "<1?^"
+#ifdef CLEANUP_printf
+#undef CLEANUP_printf
+#undef FOR_printf
+#endif
+
+// ps   k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]
+#undef OPTSTR_ps
+#define OPTSTR_ps "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]"
+#ifdef CLEANUP_ps
+#undef CLEANUP_ps
+#undef FOR_ps
+#undef FLAG_Z
+#undef FLAG_w
+#undef FLAG_G
+#undef FLAG_g
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_p
+#undef FLAG_O
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_M
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_d
+#undef FLAG_A
+#undef FLAG_a
+#undef FLAG_P
+#undef FLAG_k
+#endif
+
+// pwd >0LP[-LP] >0LP[-LP]
+#undef OPTSTR_pwd
+#define OPTSTR_pwd ">0LP[-LP]"
+#ifdef CLEANUP_pwd
+#undef CLEANUP_pwd
+#undef FOR_pwd
+#undef FLAG_P
+#undef FLAG_L
+#endif
+
+// pwdx   <1a
+#undef OPTSTR_pwdx
+#define OPTSTR_pwdx "<1a"
+#ifdef CLEANUP_pwdx
+#undef CLEANUP_pwdx
+#undef FOR_pwdx
+#undef FLAG_a
+#endif
+
+// pwgen   >2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]
+#undef OPTSTR_pwgen
+#define OPTSTR_pwgen ">2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]"
+#ifdef CLEANUP_pwgen
+#undef CLEANUP_pwgen
+#undef FOR_pwgen
+#undef FLAG_0
+#undef FLAG_A
+#undef FLAG_v
+#undef FLAG_1
+#undef FLAG_C
+#undef FLAG_h
+#undef FLAG_B
+#undef FLAG_s
+#undef FLAG_y
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_r
+#endif
+
+// readahead    
+#undef OPTSTR_readahead
+#define OPTSTR_readahead 0
+#ifdef CLEANUP_readahead
+#undef CLEANUP_readahead
+#undef FOR_readahead
+#endif
+
+// readelf   <1(dyn-syms)adehlnp:SsWx:
+#undef OPTSTR_readelf
+#define OPTSTR_readelf "<1(dyn-syms)adehlnp:SsWx:"
+#ifdef CLEANUP_readelf
+#undef CLEANUP_readelf
+#undef FOR_readelf
+#undef FLAG_x
+#undef FLAG_W
+#undef FLAG_s
+#undef FLAG_S
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_l
+#undef FLAG_h
+#undef FLAG_e
+#undef FLAG_d
+#undef FLAG_a
+#undef FLAG_dyn_syms
+#endif
+
+// readlink <1nqmef(canonicalize)[-mef] <1nqmef(canonicalize)[-mef]
+#undef OPTSTR_readlink
+#define OPTSTR_readlink "<1nqmef(canonicalize)[-mef]"
+#ifdef CLEANUP_readlink
+#undef CLEANUP_readlink
+#undef FOR_readlink
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_m
+#undef FLAG_q
+#undef FLAG_n
+#endif
+
+// realpath <1 <1
+#undef OPTSTR_realpath
+#define OPTSTR_realpath "<1"
+#ifdef CLEANUP_realpath
+#undef CLEANUP_realpath
+#undef FOR_realpath
+#endif
+
+// reboot   fn
+#undef OPTSTR_reboot
+#define OPTSTR_reboot "fn"
+#ifdef CLEANUP_reboot
+#undef CLEANUP_reboot
+#undef FOR_reboot
+#undef FLAG_n
+#undef FLAG_f
+#endif
+
+// renice   <1gpun#|
+#undef OPTSTR_renice
+#define OPTSTR_renice "<1gpun#|"
+#ifdef CLEANUP_renice
+#undef CLEANUP_renice
+#undef FOR_renice
+#undef FLAG_n
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_g
+#endif
+
+// reset    
+#undef OPTSTR_reset
+#define OPTSTR_reset 0
+#ifdef CLEANUP_reset
+#undef CLEANUP_reset
+#undef FOR_reset
+#endif
+
+// restorecon   <1DFnRrv
+#undef OPTSTR_restorecon
+#define OPTSTR_restorecon "<1DFnRrv"
+#ifdef CLEANUP_restorecon
+#undef CLEANUP_restorecon
+#undef FOR_restorecon
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_R
+#undef FLAG_n
+#undef FLAG_F
+#undef FLAG_D
+#endif
+
+// rev    
+#undef OPTSTR_rev
+#define OPTSTR_rev 0
+#ifdef CLEANUP_rev
+#undef CLEANUP_rev
+#undef FOR_rev
+#endif
+
+// rfkill   <1>2
+#undef OPTSTR_rfkill
+#define OPTSTR_rfkill "<1>2"
+#ifdef CLEANUP_rfkill
+#undef CLEANUP_rfkill
+#undef FOR_rfkill
+#endif
+
+// rm fiRrv[-fi] fiRrv[-fi]
+#undef OPTSTR_rm
+#define OPTSTR_rm "fiRrv[-fi]"
+#ifdef CLEANUP_rm
+#undef CLEANUP_rm
+#undef FOR_rm
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_R
+#undef FLAG_i
+#undef FLAG_f
+#endif
+
+// rmdir <1(ignore-fail-on-non-empty)p(parents) <1(ignore-fail-on-non-empty)p(parents)
+#undef OPTSTR_rmdir
+#define OPTSTR_rmdir "<1(ignore-fail-on-non-empty)p(parents)"
+#ifdef CLEANUP_rmdir
+#undef CLEANUP_rmdir
+#undef FOR_rmdir
+#undef FLAG_p
+#undef FLAG_ignore_fail_on_non_empty
+#endif
+
+// rmmod   <1wf
+#undef OPTSTR_rmmod
+#define OPTSTR_rmmod "<1wf"
+#ifdef CLEANUP_rmmod
+#undef CLEANUP_rmmod
+#undef FOR_rmmod
+#undef FLAG_f
+#undef FLAG_w
+#endif
+
+// route   ?neA:
+#undef OPTSTR_route
+#define OPTSTR_route "?neA:"
+#ifdef CLEANUP_route
+#undef CLEANUP_route
+#undef FOR_route
+#undef FLAG_A
+#undef FLAG_e
+#undef FLAG_n
+#endif
+
+// rtcwake   (list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]
+#undef OPTSTR_rtcwake
+#define OPTSTR_rtcwake "(list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]"
+#ifdef CLEANUP_rtcwake
+#undef CLEANUP_rtcwake
+#undef FOR_rtcwake
+#undef FLAG_v
+#undef FLAG_u
+#undef FLAG_t
+#undef FLAG_s
+#undef FLAG_m
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_a
+#undef FLAG_auto
+#undef FLAG_list_modes
+#endif
+
+// runcon   <2
+#undef OPTSTR_runcon
+#define OPTSTR_runcon "<2"
+#ifdef CLEANUP_runcon
+#undef CLEANUP_runcon
+#undef FOR_runcon
+#endif
+
+// sed (help)(version)e*f*i:;nErz(null-data)s[+Er] (help)(version)e*f*i:;nErz(null-data)s[+Er]
+#undef OPTSTR_sed
+#define OPTSTR_sed "(help)(version)e*f*i:;nErz(null-data)s[+Er]"
+#ifdef CLEANUP_sed
+#undef CLEANUP_sed
+#undef FOR_sed
+#undef FLAG_s
+#undef FLAG_z
+#undef FLAG_r
+#undef FLAG_E
+#undef FLAG_n
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_e
+#undef FLAG_version
+#undef FLAG_help
+#endif
+
+// sendevent   <4>4
+#undef OPTSTR_sendevent
+#define OPTSTR_sendevent "<4>4"
+#ifdef CLEANUP_sendevent
+#undef CLEANUP_sendevent
+#undef FOR_sendevent
+#endif
+
+// seq <1>3?f:s:w[!fw] <1>3?f:s:w[!fw]
+#undef OPTSTR_seq
+#define OPTSTR_seq "<1>3?f:s:w[!fw]"
+#ifdef CLEANUP_seq
+#undef CLEANUP_seq
+#undef FOR_seq
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_f
+#endif
+
+// set    
+#undef OPTSTR_set
+#define OPTSTR_set 0
+#ifdef CLEANUP_set
+#undef CLEANUP_set
+#undef FOR_set
+#endif
+
+// setenforce   <1>1
+#undef OPTSTR_setenforce
+#define OPTSTR_setenforce "<1>1"
+#ifdef CLEANUP_setenforce
+#undef CLEANUP_setenforce
+#undef FOR_setenforce
+#endif
+
+// setfattr   hn:|v:x:|[!xv]
+#undef OPTSTR_setfattr
+#define OPTSTR_setfattr "hn:|v:x:|[!xv]"
+#ifdef CLEANUP_setfattr
+#undef CLEANUP_setfattr
+#undef FOR_setfattr
+#undef FLAG_x
+#undef FLAG_v
+#undef FLAG_n
+#undef FLAG_h
+#endif
+
+// setsid ^<1wcd[!dc] ^<1wcd[!dc]
+#undef OPTSTR_setsid
+#define OPTSTR_setsid "^<1wcd[!dc]"
+#ifdef CLEANUP_setsid
+#undef CLEANUP_setsid
+#undef FOR_setsid
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_w
+#endif
+
+// sh   0(noediting)(noprofile)(norc)sc:i
+#undef OPTSTR_sh
+#define OPTSTR_sh "0(noediting)(noprofile)(norc)sc:i"
+#ifdef CLEANUP_sh
+#undef CLEANUP_sh
+#undef FOR_sh
+#undef FLAG_i
+#undef FLAG_c
+#undef FLAG_s
+#undef FLAG_norc
+#undef FLAG_noprofile
+#undef FLAG_noediting
+#endif
+
+// sha1sum bc(check)s(status)[!bc] bc(check)s(status)[!bc]
+#undef OPTSTR_sha1sum
+#define OPTSTR_sha1sum "bc(check)s(status)[!bc]"
+#ifdef CLEANUP_sha1sum
+#undef CLEANUP_sha1sum
+#undef FOR_sha1sum
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_b
+#endif
+
+// sha3sum   bSa#<128>512=224
+#undef OPTSTR_sha3sum
+#define OPTSTR_sha3sum "bSa#<128>512=224"
+#ifdef CLEANUP_sha3sum
+#undef CLEANUP_sha3sum
+#undef FOR_sha3sum
+#undef FLAG_a
+#undef FLAG_S
+#undef FLAG_b
+#endif
+
+// shift   >1
+#undef OPTSTR_shift
+#define OPTSTR_shift ">1"
+#ifdef CLEANUP_shift
+#undef CLEANUP_shift
+#undef FOR_shift
+#endif
+
+// shred   <1zxus#<1n#<1o#<0f
+#undef OPTSTR_shred
+#define OPTSTR_shred "<1zxus#<1n#<1o#<0f"
+#ifdef CLEANUP_shred
+#undef CLEANUP_shred
+#undef FOR_shred
+#undef FLAG_f
+#undef FLAG_o
+#undef FLAG_n
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_x
+#undef FLAG_z
+#endif
+
+// skeleton   (walrus)(blubber):;(also):e@d*c#b:a
+#undef OPTSTR_skeleton
+#define OPTSTR_skeleton "(walrus)(blubber):;(also):e@d*c#b:a"
+#ifdef CLEANUP_skeleton
+#undef CLEANUP_skeleton
+#undef FOR_skeleton
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_also
+#undef FLAG_blubber
+#undef FLAG_walrus
+#endif
+
+// skeleton_alias   b#dq
+#undef OPTSTR_skeleton_alias
+#define OPTSTR_skeleton_alias "b#dq"
+#ifdef CLEANUP_skeleton_alias
+#undef CLEANUP_skeleton_alias
+#undef FOR_skeleton_alias
+#undef FLAG_q
+#undef FLAG_d
+#undef FLAG_b
+#endif
+
+// sleep <1 <1
+#undef OPTSTR_sleep
+#define OPTSTR_sleep "<1"
+#ifdef CLEANUP_sleep
+#undef CLEANUP_sleep
+#undef FOR_sleep
+#endif
+
+// sntp   >1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]
+#undef OPTSTR_sntp
+#define OPTSTR_sntp ">1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]"
+#ifdef CLEANUP_sntp
+#undef CLEANUP_sntp
+#undef FOR_sntp
+#undef FLAG_r
+#undef FLAG_q
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_a
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_S
+#undef FLAG_m
+#undef FLAG_M
+#endif
+
+// sort gS:T:mo:k*t:xVbMcszdfirun gS:T:mo:k*t:xVbMcszdfirun
+#undef OPTSTR_sort
+#define OPTSTR_sort "gS:T:mo:k*t:xVbMcszdfirun"
+#ifdef CLEANUP_sort
+#undef CLEANUP_sort
+#undef FOR_sort
+#undef FLAG_n
+#undef FLAG_u
+#undef FLAG_r
+#undef FLAG_i
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_z
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_M
+#undef FLAG_b
+#undef FLAG_V
+#undef FLAG_x
+#undef FLAG_t
+#undef FLAG_k
+#undef FLAG_o
+#undef FLAG_m
+#undef FLAG_T
+#undef FLAG_S
+#undef FLAG_g
+#endif
+
+// source   0<1
+#undef OPTSTR_source
+#define OPTSTR_source "0<1"
+#ifdef CLEANUP_source
+#undef CLEANUP_source
+#undef FOR_source
+#endif
+
+// split   >2a#<1=2>9b#<1l#<1[!bl]
+#undef OPTSTR_split
+#define OPTSTR_split ">2a#<1=2>9b#<1l#<1[!bl]"
+#ifdef CLEANUP_split
+#undef CLEANUP_split
+#undef FOR_split
+#undef FLAG_l
+#undef FLAG_b
+#undef FLAG_a
+#endif
+
+// stat <1c:(format)fLt <1c:(format)fLt
+#undef OPTSTR_stat
+#define OPTSTR_stat "<1c:(format)fLt"
+#ifdef CLEANUP_stat
+#undef CLEANUP_stat
+#undef FOR_stat
+#undef FLAG_t
+#undef FLAG_L
+#undef FLAG_f
+#undef FLAG_c
+#endif
+
+// strings   t:an#=4<1fo
+#undef OPTSTR_strings
+#define OPTSTR_strings "t:an#=4<1fo"
+#ifdef CLEANUP_strings
+#undef CLEANUP_strings
+#undef FOR_strings
+#undef FLAG_o
+#undef FLAG_f
+#undef FLAG_n
+#undef FLAG_a
+#undef FLAG_t
+#endif
+
+// stty   ?aF:g[!ag]
+#undef OPTSTR_stty
+#define OPTSTR_stty "?aF:g[!ag]"
+#ifdef CLEANUP_stty
+#undef CLEANUP_stty
+#undef FOR_stty
+#undef FLAG_g
+#undef FLAG_F
+#undef FLAG_a
+#endif
+
+// su   ^lmpu:g:c:s:[!lmp]
+#undef OPTSTR_su
+#define OPTSTR_su "^lmpu:g:c:s:[!lmp]"
+#ifdef CLEANUP_su
+#undef CLEANUP_su
+#undef FOR_su
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_g
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_m
+#undef FLAG_l
+#endif
+
+// sulogin   t#<0=0
+#undef OPTSTR_sulogin
+#define OPTSTR_sulogin "t#<0=0"
+#ifdef CLEANUP_sulogin
+#undef CLEANUP_sulogin
+#undef FOR_sulogin
+#undef FLAG_t
+#endif
+
+// swapoff   <1>1
+#undef OPTSTR_swapoff
+#define OPTSTR_swapoff "<1>1"
+#ifdef CLEANUP_swapoff
+#undef CLEANUP_swapoff
+#undef FOR_swapoff
+#endif
+
+// swapon   <1>1p#<0>32767d
+#undef OPTSTR_swapon
+#define OPTSTR_swapon "<1>1p#<0>32767d"
+#ifdef CLEANUP_swapon
+#undef CLEANUP_swapon
+#undef FOR_swapon
+#undef FLAG_d
+#undef FLAG_p
+#endif
+
+// switch_root   <2c:h
+#undef OPTSTR_switch_root
+#define OPTSTR_switch_root "<2c:h"
+#ifdef CLEANUP_switch_root
+#undef CLEANUP_switch_root
+#undef FOR_switch_root
+#undef FLAG_h
+#undef FLAG_c
+#endif
+
+// sync    
+#undef OPTSTR_sync
+#define OPTSTR_sync 0
+#ifdef CLEANUP_sync
+#undef CLEANUP_sync
+#undef FOR_sync
+#endif
+
+// sysctl   ^neNqwpaA[!ap][!aq][!aw][+aA]
+#undef OPTSTR_sysctl
+#define OPTSTR_sysctl "^neNqwpaA[!ap][!aq][!aw][+aA]"
+#ifdef CLEANUP_sysctl
+#undef CLEANUP_sysctl
+#undef FOR_sysctl
+#undef FLAG_A
+#undef FLAG_a
+#undef FLAG_p
+#undef FLAG_w
+#undef FLAG_q
+#undef FLAG_N
+#undef FLAG_e
+#undef FLAG_n
+#endif
+
+// syslogd   >0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD
+#undef OPTSTR_syslogd
+#define OPTSTR_syslogd ">0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD"
+#ifdef CLEANUP_syslogd
+#undef CLEANUP_syslogd
+#undef FOR_syslogd
+#undef FLAG_D
+#undef FLAG_L
+#undef FLAG_K
+#undef FLAG_S
+#undef FLAG_n
+#undef FLAG_a
+#undef FLAG_f
+#undef FLAG_p
+#undef FLAG_O
+#undef FLAG_m
+#undef FLAG_s
+#undef FLAG_b
+#undef FLAG_R
+#undef FLAG_l
+#endif
+
+// tac    
+#undef OPTSTR_tac
+#define OPTSTR_tac 0
+#ifdef CLEANUP_tac
+#undef CLEANUP_tac
+#undef FOR_tac
+#endif
+
+// tail ?fc-n-[-cn] ?fc-n-[-cn]
+#undef OPTSTR_tail
+#define OPTSTR_tail "?fc-n-[-cn]"
+#ifdef CLEANUP_tail
+#undef CLEANUP_tail
+#undef FOR_tail
+#undef FLAG_n
+#undef FLAG_c
+#undef FLAG_f
+#endif
+
+// tar &(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa] &(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]
+#undef OPTSTR_tar
+#define OPTSTR_tar "&(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]"
+#ifdef CLEANUP_tar
+#undef CLEANUP_tar
+#undef FOR_tar
+#undef FLAG_a
+#undef FLAG_f
+#undef FLAG_C
+#undef FLAG_T
+#undef FLAG_X
+#undef FLAG_m
+#undef FLAG_P
+#undef FLAG_O
+#undef FLAG_S
+#undef FLAG_z
+#undef FLAG_j
+#undef FLAG_J
+#undef FLAG_I
+#undef FLAG_v
+#undef FLAG_t
+#undef FLAG_x
+#undef FLAG_h
+#undef FLAG_c
+#undef FLAG_k
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_to_command
+#undef FLAG_owner
+#undef FLAG_group
+#undef FLAG_mtime
+#undef FLAG_mode
+#undef FLAG_exclude
+#undef FLAG_overwrite
+#undef FLAG_no_same_permissions
+#undef FLAG_numeric_owner
+#undef FLAG_no_recursion
+#undef FLAG_full_time
+#undef FLAG_restrict
+#endif
+
+// taskset   <1^pa
+#undef OPTSTR_taskset
+#define OPTSTR_taskset "<1^pa"
+#ifdef CLEANUP_taskset
+#undef CLEANUP_taskset
+#undef FOR_taskset
+#undef FLAG_a
+#undef FLAG_p
+#endif
+
+// tcpsvd   ^<3c#=30<1C:b#=20<0u:l:hEv
+#undef OPTSTR_tcpsvd
+#define OPTSTR_tcpsvd "^<3c#=30<1C:b#=20<0u:l:hEv"
+#ifdef CLEANUP_tcpsvd
+#undef CLEANUP_tcpsvd
+#undef FOR_tcpsvd
+#undef FLAG_v
+#undef FLAG_E
+#undef FLAG_h
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_b
+#undef FLAG_C
+#undef FLAG_c
+#endif
+
+// tee ia ia
+#undef OPTSTR_tee
+#define OPTSTR_tee "ia"
+#ifdef CLEANUP_tee
+#undef CLEANUP_tee
+#undef FOR_tee
+#undef FLAG_a
+#undef FLAG_i
+#endif
+
+// telnet   <1>2
+#undef OPTSTR_telnet
+#define OPTSTR_telnet "<1>2"
+#ifdef CLEANUP_telnet
+#undef CLEANUP_telnet
+#undef FOR_telnet
+#endif
+
+// telnetd   w#<0b:p#<0>65535=23f:l:FSKi[!wi]
+#undef OPTSTR_telnetd
+#define OPTSTR_telnetd "w#<0b:p#<0>65535=23f:l:FSKi[!wi]"
+#ifdef CLEANUP_telnetd
+#undef CLEANUP_telnetd
+#undef FOR_telnetd
+#undef FLAG_i
+#undef FLAG_K
+#undef FLAG_S
+#undef FLAG_F
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_p
+#undef FLAG_b
+#undef FLAG_w
+#endif
+
+// test    
+#undef OPTSTR_test
+#define OPTSTR_test 0
+#ifdef CLEANUP_test
+#undef CLEANUP_test
+#undef FOR_test
+#endif
+
+// tftp   <1b#<8>65464r:l:g|p|[!gp]
+#undef OPTSTR_tftp
+#define OPTSTR_tftp "<1b#<8>65464r:l:g|p|[!gp]"
+#ifdef CLEANUP_tftp
+#undef CLEANUP_tftp
+#undef FOR_tftp
+#undef FLAG_p
+#undef FLAG_g
+#undef FLAG_l
+#undef FLAG_r
+#undef FLAG_b
+#endif
+
+// tftpd   rcu:l
+#undef OPTSTR_tftpd
+#define OPTSTR_tftpd "rcu:l"
+#ifdef CLEANUP_tftpd
+#undef CLEANUP_tftpd
+#undef FOR_tftpd
+#undef FLAG_l
+#undef FLAG_u
+#undef FLAG_c
+#undef FLAG_r
+#endif
+
+// time   <1^pv
+#undef OPTSTR_time
+#define OPTSTR_time "<1^pv"
+#ifdef CLEANUP_time
+#undef CLEANUP_time
+#undef FOR_time
+#undef FLAG_v
+#undef FLAG_p
+#endif
+
+// timeout <2^(foreground)(preserve-status)vk:s(signal): <2^(foreground)(preserve-status)vk:s(signal):
+#undef OPTSTR_timeout
+#define OPTSTR_timeout "<2^(foreground)(preserve-status)vk:s(signal):"
+#ifdef CLEANUP_timeout
+#undef CLEANUP_timeout
+#undef FOR_timeout
+#undef FLAG_s
+#undef FLAG_k
+#undef FLAG_v
+#undef FLAG_preserve_status
+#undef FLAG_foreground
+#endif
+
+// top   >0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]
+#undef OPTSTR_top
+#define OPTSTR_top ">0O*Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]"
+#ifdef CLEANUP_top
+#undef CLEANUP_top
+#undef FOR_top
+#undef FLAG_q
+#undef FLAG_b
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_k
+#undef FLAG_H
+#undef FLAG_O
+#endif
+
+// touch <1acd:fmr:t:h[!dtr] <1acd:fmr:t:h[!dtr]
+#undef OPTSTR_touch
+#define OPTSTR_touch "<1acd:fmr:t:h[!dtr]"
+#ifdef CLEANUP_touch
+#undef CLEANUP_touch
+#undef FOR_touch
+#undef FLAG_h
+#undef FLAG_t
+#undef FLAG_r
+#undef FLAG_m
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_a
+#endif
+
+// toybox    
+#undef OPTSTR_toybox
+#define OPTSTR_toybox 0
+#ifdef CLEANUP_toybox
+#undef CLEANUP_toybox
+#undef FOR_toybox
+#endif
+
+// tr ^>2<1Ccsd[+cC] ^>2<1Ccsd[+cC]
+#undef OPTSTR_tr
+#define OPTSTR_tr "^>2<1Ccsd[+cC]"
+#ifdef CLEANUP_tr
+#undef CLEANUP_tr
+#undef FOR_tr
+#undef FLAG_d
+#undef FLAG_s
+#undef FLAG_c
+#undef FLAG_C
+#endif
+
+// traceroute   <1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64
+#undef OPTSTR_traceroute
+#define OPTSTR_traceroute "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64"
+#ifdef CLEANUP_traceroute
+#undef CLEANUP_traceroute
+#undef FOR_traceroute
+#undef FLAG_4
+#undef FLAG_6
+#undef FLAG_F
+#undef FLAG_U
+#undef FLAG_I
+#undef FLAG_l
+#undef FLAG_d
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_r
+#undef FLAG_m
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_w
+#undef FLAG_g
+#undef FLAG_z
+#undef FLAG_f
+#undef FLAG_i
+#endif
+
+// true    
+#undef OPTSTR_true
+#define OPTSTR_true 0
+#ifdef CLEANUP_true
+#undef CLEANUP_true
+#undef FOR_true
+#endif
+
+// truncate <1s:|c <1s:|c
+#undef OPTSTR_truncate
+#define OPTSTR_truncate "<1s:|c"
+#ifdef CLEANUP_truncate
+#undef CLEANUP_truncate
+#undef FOR_truncate
+#undef FLAG_c
+#undef FLAG_s
+#endif
+
+// tty   s
+#undef OPTSTR_tty
+#define OPTSTR_tty "s"
+#ifdef CLEANUP_tty
+#undef CLEANUP_tty
+#undef FOR_tty
+#undef FLAG_s
+#endif
+
+// tunctl   <1>1t|d|u:T[!td]
+#undef OPTSTR_tunctl
+#define OPTSTR_tunctl "<1>1t|d|u:T[!td]"
+#ifdef CLEANUP_tunctl
+#undef CLEANUP_tunctl
+#undef FOR_tunctl
+#undef FLAG_T
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_t
+#endif
+
+// ulimit   >1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]
+#undef OPTSTR_ulimit
+#define OPTSTR_ulimit ">1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]"
+#ifdef CLEANUP_ulimit
+#undef CLEANUP_ulimit
+#undef FOR_ulimit
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_i
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_R
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_a
+#undef FLAG_H
+#undef FLAG_S
+#undef FLAG_P
+#endif
+
+// umount   cndDflrat*v[!na]
+#undef OPTSTR_umount
+#define OPTSTR_umount "cndDflrat*v[!na]"
+#ifdef CLEANUP_umount
+#undef CLEANUP_umount
+#undef FOR_umount
+#undef FLAG_v
+#undef FLAG_t
+#undef FLAG_a
+#undef FLAG_r
+#undef FLAG_l
+#undef FLAG_f
+#undef FLAG_D
+#undef FLAG_d
+#undef FLAG_n
+#undef FLAG_c
+#endif
+
+// uname oamvrns[+os] oamvrns[+os]
+#undef OPTSTR_uname
+#define OPTSTR_uname "oamvrns[+os]"
+#ifdef CLEANUP_uname
+#undef CLEANUP_uname
+#undef FOR_uname
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_r
+#undef FLAG_v
+#undef FLAG_m
+#undef FLAG_a
+#undef FLAG_o
+#endif
+
+// unicode   <1
+#undef OPTSTR_unicode
+#define OPTSTR_unicode "<1"
+#ifdef CLEANUP_unicode
+#undef CLEANUP_unicode
+#undef FOR_unicode
+#endif
+
+// uniq f#s#w#zicdu f#s#w#zicdu
+#undef OPTSTR_uniq
+#define OPTSTR_uniq "f#s#w#zicdu"
+#ifdef CLEANUP_uniq
+#undef CLEANUP_uniq
+#undef FOR_uniq
+#undef FLAG_u
+#undef FLAG_d
+#undef FLAG_c
+#undef FLAG_i
+#undef FLAG_z
+#undef FLAG_w
+#undef FLAG_s
+#undef FLAG_f
+#endif
+
+// unix2dos    
+#undef OPTSTR_unix2dos
+#define OPTSTR_unix2dos 0
+#ifdef CLEANUP_unix2dos
+#undef CLEANUP_unix2dos
+#undef FOR_unix2dos
+#endif
+
+// unlink   <1>1
+#undef OPTSTR_unlink
+#define OPTSTR_unlink "<1>1"
+#ifdef CLEANUP_unlink
+#undef CLEANUP_unlink
+#undef FOR_unlink
+#endif
+
+// unset   fvn
+#undef OPTSTR_unset
+#define OPTSTR_unset "fvn"
+#ifdef CLEANUP_unset
+#undef CLEANUP_unset
+#undef FOR_unset
+#undef FLAG_n
+#undef FLAG_v
+#undef FLAG_f
+#endif
+
+// unshare   <1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);
+#undef OPTSTR_unshare
+#define OPTSTR_unshare "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);"
+#ifdef CLEANUP_unshare
+#undef CLEANUP_unshare
+#undef FOR_unshare
+#undef FLAG_U
+#undef FLAG_u
+#undef FLAG_p
+#undef FLAG_n
+#undef FLAG_m
+#undef FLAG_i
+#undef FLAG_r
+#undef FLAG_f
+#endif
+
+// uptime   >0ps
+#undef OPTSTR_uptime
+#define OPTSTR_uptime ">0ps"
+#ifdef CLEANUP_uptime
+#undef CLEANUP_uptime
+#undef FOR_uptime
+#undef FLAG_s
+#undef FLAG_p
+#endif
+
+// useradd   <1>2u#<0G:s:g:h:SDH
+#undef OPTSTR_useradd
+#define OPTSTR_useradd "<1>2u#<0G:s:g:h:SDH"
+#ifdef CLEANUP_useradd
+#undef CLEANUP_useradd
+#undef FOR_useradd
+#undef FLAG_H
+#undef FLAG_D
+#undef FLAG_S
+#undef FLAG_h
+#undef FLAG_g
+#undef FLAG_s
+#undef FLAG_G
+#undef FLAG_u
+#endif
+
+// userdel   <1>1r
+#undef OPTSTR_userdel
+#define OPTSTR_userdel "<1>1r"
+#ifdef CLEANUP_userdel
+#undef CLEANUP_userdel
+#undef FOR_userdel
+#undef FLAG_r
+#endif
+
+// usleep   <1
+#undef OPTSTR_usleep
+#define OPTSTR_usleep "<1"
+#ifdef CLEANUP_usleep
+#undef CLEANUP_usleep
+#undef FOR_usleep
+#endif
+
+// uudecode   >1o:
+#undef OPTSTR_uudecode
+#define OPTSTR_uudecode ">1o:"
+#ifdef CLEANUP_uudecode
+#undef CLEANUP_uudecode
+#undef FOR_uudecode
+#undef FLAG_o
+#endif
+
+// uuencode   <1>2m
+#undef OPTSTR_uuencode
+#define OPTSTR_uuencode "<1>2m"
+#ifdef CLEANUP_uuencode
+#undef CLEANUP_uuencode
+#undef FOR_uuencode
+#undef FLAG_m
+#endif
+
+// uuidgen   >0r(random)
+#undef OPTSTR_uuidgen
+#define OPTSTR_uuidgen ">0r(random)"
+#ifdef CLEANUP_uuidgen
+#undef CLEANUP_uuidgen
+#undef FOR_uuidgen
+#undef FLAG_r
+#endif
+
+// vconfig   <2>4
+#undef OPTSTR_vconfig
+#define OPTSTR_vconfig "<2>4"
+#ifdef CLEANUP_vconfig
+#undef CLEANUP_vconfig
+#undef FOR_vconfig
+#endif
+
+// vi   >1s:
+#undef OPTSTR_vi
+#define OPTSTR_vi ">1s:"
+#ifdef CLEANUP_vi
+#undef CLEANUP_vi
+#undef FOR_vi
+#undef FLAG_s
+#endif
+
+// vmstat   >2n
+#undef OPTSTR_vmstat
+#define OPTSTR_vmstat ">2n"
+#ifdef CLEANUP_vmstat
+#undef CLEANUP_vmstat
+#undef FOR_vmstat
+#undef FLAG_n
+#endif
+
+// w    
+#undef OPTSTR_w
+#define OPTSTR_w 0
+#ifdef CLEANUP_w
+#undef CLEANUP_w
+#undef FOR_w
+#endif
+
+// watch   ^<1n%<100=2000tebx
+#undef OPTSTR_watch
+#define OPTSTR_watch "^<1n%<100=2000tebx"
+#ifdef CLEANUP_watch
+#undef CLEANUP_watch
+#undef FOR_watch
+#undef FLAG_x
+#undef FLAG_b
+#undef FLAG_e
+#undef FLAG_t
+#undef FLAG_n
+#endif
+
+// watchdog   <1>1Ft#=4<1T#=60<1
+#undef OPTSTR_watchdog
+#define OPTSTR_watchdog "<1>1Ft#=4<1T#=60<1"
+#ifdef CLEANUP_watchdog
+#undef CLEANUP_watchdog
+#undef FOR_watchdog
+#undef FLAG_T
+#undef FLAG_t
+#undef FLAG_F
+#endif
+
+// wc mcwl mcwl
+#undef OPTSTR_wc
+#define OPTSTR_wc "mcwl"
+#ifdef CLEANUP_wc
+#undef CLEANUP_wc
+#undef FOR_wc
+#undef FLAG_l
+#undef FLAG_w
+#undef FLAG_c
+#undef FLAG_m
+#endif
+
+// wget   (no-check-certificate)O:
+#undef OPTSTR_wget
+#define OPTSTR_wget "(no-check-certificate)O:"
+#ifdef CLEANUP_wget
+#undef CLEANUP_wget
+#undef FOR_wget
+#undef FLAG_O
+#undef FLAG_no_check_certificate
+#endif
+
+// which <1a <1a
+#undef OPTSTR_which
+#define OPTSTR_which "<1a"
+#ifdef CLEANUP_which
+#undef CLEANUP_which
+#undef FOR_which
+#undef FLAG_a
+#endif
+
+// who   a
+#undef OPTSTR_who
+#define OPTSTR_who "a"
+#ifdef CLEANUP_who
+#undef CLEANUP_who
+#undef FOR_who
+#undef FLAG_a
+#endif
+
+// xargs ^E:P#<0=1optrn#<1(max-args)s#0[!0E] ^E:P#<0=1optrn#<1(max-args)s#0[!0E]
+#undef OPTSTR_xargs
+#define OPTSTR_xargs "^E:P#<0=1optrn#<1(max-args)s#0[!0E]"
+#ifdef CLEANUP_xargs
+#undef CLEANUP_xargs
+#undef FOR_xargs
+#undef FLAG_0
+#undef FLAG_s
+#undef FLAG_n
+#undef FLAG_r
+#undef FLAG_t
+#undef FLAG_p
+#undef FLAG_o
+#undef FLAG_P
+#undef FLAG_E
+#endif
+
+// xxd >1c#l#o#g#<1=2iprs#[!rs] >1c#l#o#g#<1=2iprs#[!rs]
+#undef OPTSTR_xxd
+#define OPTSTR_xxd ">1c#l#o#g#<1=2iprs#[!rs]"
+#ifdef CLEANUP_xxd
+#undef CLEANUP_xxd
+#undef FOR_xxd
+#undef FLAG_s
+#undef FLAG_r
+#undef FLAG_p
+#undef FLAG_i
+#undef FLAG_g
+#undef FLAG_o
+#undef FLAG_l
+#undef FLAG_c
+#endif
+
+// xzcat    
+#undef OPTSTR_xzcat
+#define OPTSTR_xzcat 0
+#ifdef CLEANUP_xzcat
+#undef CLEANUP_xzcat
+#undef FOR_xzcat
+#endif
+
+// yes    
+#undef OPTSTR_yes
+#define OPTSTR_yes 0
+#ifdef CLEANUP_yes
+#undef CLEANUP_yes
+#undef FOR_yes
+#endif
+
+// zcat cdfk123456789[-123456789] cdfk123456789[-123456789]
+#undef OPTSTR_zcat
+#define OPTSTR_zcat "cdfk123456789[-123456789]"
+#ifdef CLEANUP_zcat
+#undef CLEANUP_zcat
+#undef FOR_zcat
+#undef FLAG_9
+#undef FLAG_8
+#undef FLAG_7
+#undef FLAG_6
+#undef FLAG_5
+#undef FLAG_4
+#undef FLAG_3
+#undef FLAG_2
+#undef FLAG_1
+#undef FLAG_k
+#undef FLAG_f
+#undef FLAG_d
+#undef FLAG_c
+#endif
+
+#ifdef FOR_acpi
+#ifndef TT
+#define TT this.acpi
+#endif
+#define FLAG_V (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#define FLAG_a (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_arch
+#ifndef TT
+#define TT this.arch
+#endif
+#endif
+
+#ifdef FOR_arp
+#ifndef TT
+#define TT this.arp
+#endif
+#define FLAG_H (FORCED_FLAG<<0)
+#define FLAG_A (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_v (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_arping
+#ifndef TT
+#define TT this.arping
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#define FLAG_D (FORCED_FLAG<<3)
+#define FLAG_U (FORCED_FLAG<<4)
+#define FLAG_A (FORCED_FLAG<<5)
+#define FLAG_c (FORCED_FLAG<<6)
+#define FLAG_w (FORCED_FLAG<<7)
+#define FLAG_I (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_ascii
+#ifndef TT
+#define TT this.ascii
+#endif
+#endif
+
+#ifdef FOR_base32
+#ifndef TT
+#define TT this.base32
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_base64
+#ifndef TT
+#define TT this.base64
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_basename
+#ifndef TT
+#define TT this.basename
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_bc
+#ifndef TT
+#define TT this.bc
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_blkdiscard
+#ifndef TT
+#define TT this.blkdiscard
+#endif
+#define FLAG_z (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_o (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_blkid
+#ifndef TT
+#define TT this.blkid
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_U (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_blockdev
+#ifndef TT
+#define TT this.blockdev
+#endif
+#define FLAG_rereadpt (FORCED_FLAG<<0)
+#define FLAG_flushbufs (FORCED_FLAG<<1)
+#define FLAG_setra (FORCED_FLAG<<2)
+#define FLAG_getra (FORCED_FLAG<<3)
+#define FLAG_getsize64 (FORCED_FLAG<<4)
+#define FLAG_getsize (FORCED_FLAG<<5)
+#define FLAG_getsz (FORCED_FLAG<<6)
+#define FLAG_setbsz (FORCED_FLAG<<7)
+#define FLAG_getbsz (FORCED_FLAG<<8)
+#define FLAG_getss (FORCED_FLAG<<9)
+#define FLAG_getro (FORCED_FLAG<<10)
+#define FLAG_setrw (FORCED_FLAG<<11)
+#define FLAG_setro (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_bootchartd
+#ifndef TT
+#define TT this.bootchartd
+#endif
+#endif
+
+#ifdef FOR_brctl
+#ifndef TT
+#define TT this.brctl
+#endif
+#endif
+
+#ifdef FOR_bunzip2
+#ifndef TT
+#define TT this.bunzip2
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_c (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_bzcat
+#ifndef TT
+#define TT this.bzcat
+#endif
+#endif
+
+#ifdef FOR_cal
+#ifndef TT
+#define TT this.cal
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_cat
+#ifndef TT
+#define TT this.cat
+#endif
+#define FLAG_e (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_u (1<<3)
+#endif
+
+#ifdef FOR_catv
+#ifndef TT
+#define TT this.catv
+#endif
+#define FLAG_e (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_cd
+#ifndef TT
+#define TT this.cd
+#endif
+#define FLAG_P (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_chattr
+#ifndef TT
+#define TT this.chattr
+#endif
+#define FLAG_R (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_chcon
+#ifndef TT
+#define TT this.chcon
+#endif
+#define FLAG_R (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_chgrp
+#ifndef TT
+#define TT this.chgrp
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#define FLAG_R (FORCED_FLAG<<2)
+#define FLAG_H (FORCED_FLAG<<3)
+#define FLAG_L (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_h (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_chmod
+#ifndef TT
+#define TT this.chmod
+#endif
+#define FLAG_R (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_v (1<<2)
+#endif
+
+#ifdef FOR_chroot
+#ifndef TT
+#define TT this.chroot
+#endif
+#endif
+
+#ifdef FOR_chrt
+#ifndef TT
+#define TT this.chrt
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#define FLAG_r (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#define FLAG_R (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_p (FORCED_FLAG<<6)
+#define FLAG_m (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_chvt
+#ifndef TT
+#define TT this.chvt
+#endif
+#endif
+
+#ifdef FOR_cksum
+#ifndef TT
+#define TT this.cksum
+#endif
+#define FLAG_N (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_P (FORCED_FLAG<<2)
+#define FLAG_I (FORCED_FLAG<<3)
+#define FLAG_H (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_clear
+#ifndef TT
+#define TT this.clear
+#endif
+#endif
+
+#ifdef FOR_cmp
+#ifndef TT
+#define TT this.cmp
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_l (1<<1)
+#endif
+
+#ifdef FOR_comm
+#ifndef TT
+#define TT this.comm
+#endif
+#define FLAG_1 (1<<0)
+#define FLAG_2 (1<<1)
+#define FLAG_3 (1<<2)
+#endif
+
+#ifdef FOR_count
+#ifndef TT
+#define TT this.count
+#endif
+#endif
+
+#ifdef FOR_cp
+#ifndef TT
+#define TT this.cp
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_F (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_v (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_a (1<<8)
+#define FLAG_d (1<<9)
+#define FLAG_r (1<<10)
+#define FLAG_p (1<<11)
+#define FLAG_P (1<<12)
+#define FLAG_L (1<<13)
+#define FLAG_H (1<<14)
+#define FLAG_R (1<<15)
+#define FLAG_D (1<<16)
+#define FLAG_preserve (1<<17)
+#endif
+
+#ifdef FOR_cpio
+#ifndef TT
+#define TT this.cpio
+#endif
+#define FLAG_o (1<<0)
+#define FLAG_v (1<<1)
+#define FLAG_F (1<<2)
+#define FLAG_t (1<<3)
+#define FLAG_i (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_H (1<<6)
+#define FLAG_u (1<<7)
+#define FLAG_d (1<<8)
+#define FLAG_m (1<<9)
+#define FLAG_no_preserve_owner (1<<10)
+#define FLAG_quiet (1<<11)
+#endif
+
+#ifdef FOR_crc32
+#ifndef TT
+#define TT this.crc32
+#endif
+#endif
+
+#ifdef FOR_crond
+#ifndef TT
+#define TT this.crond
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_S (FORCED_FLAG<<4)
+#define FLAG_b (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_crontab
+#ifndef TT
+#define TT this.crontab
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_u (FORCED_FLAG<<3)
+#define FLAG_c (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_cut
+#ifndef TT
+#define TT this.cut
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_D (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_O (1<<4)
+#define FLAG_C (1<<5)
+#define FLAG_F (1<<6)
+#define FLAG_f (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_b (1<<9)
+#endif
+
+#ifdef FOR_date
+#ifndef TT
+#define TT this.date
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_I (1<<2)
+#define FLAG_D (1<<3)
+#define FLAG_d (1<<4)
+#endif
+
+#ifdef FOR_dd
+#ifndef TT
+#define TT this.dd
+#endif
+#endif
+
+#ifdef FOR_deallocvt
+#ifndef TT
+#define TT this.deallocvt
+#endif
+#endif
+
+#ifdef FOR_demo_many_options
+#ifndef TT
+#define TT this.demo_many_options
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_g (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_j (FORCED_FLAG<<9)
+#define FLAG_k (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_m (FORCED_FLAG<<12)
+#define FLAG_n (FORCED_FLAG<<13)
+#define FLAG_o (FORCED_FLAG<<14)
+#define FLAG_p (FORCED_FLAG<<15)
+#define FLAG_q (FORCED_FLAG<<16)
+#define FLAG_r (FORCED_FLAG<<17)
+#define FLAG_s (FORCED_FLAG<<18)
+#define FLAG_t (FORCED_FLAG<<19)
+#define FLAG_u (FORCED_FLAG<<20)
+#define FLAG_v (FORCED_FLAG<<21)
+#define FLAG_w (FORCED_FLAG<<22)
+#define FLAG_x (FORCED_FLAG<<23)
+#define FLAG_y (FORCED_FLAG<<24)
+#define FLAG_z (FORCED_FLAG<<25)
+#define FLAG_A (FORCED_FLAG<<26)
+#define FLAG_B (FORCED_FLAG<<27)
+#define FLAG_C (FORCED_FLAG<<28)
+#define FLAG_D (FORCED_FLAG<<29)
+#define FLAG_E (FORCED_FLAG<<30)
+#define FLAG_F (FORCED_FLAGLL<<31)
+#define FLAG_G (FORCED_FLAGLL<<32)
+#define FLAG_H (FORCED_FLAGLL<<33)
+#define FLAG_I (FORCED_FLAGLL<<34)
+#define FLAG_J (FORCED_FLAGLL<<35)
+#define FLAG_K (FORCED_FLAGLL<<36)
+#define FLAG_L (FORCED_FLAGLL<<37)
+#define FLAG_M (FORCED_FLAGLL<<38)
+#define FLAG_N (FORCED_FLAGLL<<39)
+#define FLAG_O (FORCED_FLAGLL<<40)
+#define FLAG_P (FORCED_FLAGLL<<41)
+#define FLAG_Q (FORCED_FLAGLL<<42)
+#define FLAG_R (FORCED_FLAGLL<<43)
+#define FLAG_S (FORCED_FLAGLL<<44)
+#define FLAG_T (FORCED_FLAGLL<<45)
+#define FLAG_U (FORCED_FLAGLL<<46)
+#define FLAG_V (FORCED_FLAGLL<<47)
+#define FLAG_W (FORCED_FLAGLL<<48)
+#define FLAG_X (FORCED_FLAGLL<<49)
+#define FLAG_Y (FORCED_FLAGLL<<50)
+#define FLAG_Z (FORCED_FLAGLL<<51)
+#endif
+
+#ifdef FOR_demo_number
+#ifndef TT
+#define TT this.demo_number
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#define FLAG_h (FORCED_FLAG<<4)
+#define FLAG_M (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_demo_scankey
+#ifndef TT
+#define TT this.demo_scankey
+#endif
+#endif
+
+#ifdef FOR_demo_utf8towc
+#ifndef TT
+#define TT this.demo_utf8towc
+#endif
+#endif
+
+#ifdef FOR_devmem
+#ifndef TT
+#define TT this.devmem
+#endif
+#endif
+
+#ifdef FOR_df
+#ifndef TT
+#define TT this.df
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_i (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#define FLAG_k (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_H (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_dhcp
+#ifndef TT
+#define TT this.dhcp
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_q (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_o (FORCED_FLAG<<5)
+#define FLAG_a (FORCED_FLAG<<6)
+#define FLAG_C (FORCED_FLAG<<7)
+#define FLAG_R (FORCED_FLAG<<8)
+#define FLAG_B (FORCED_FLAG<<9)
+#define FLAG_S (FORCED_FLAG<<10)
+#define FLAG_i (FORCED_FLAG<<11)
+#define FLAG_p (FORCED_FLAG<<12)
+#define FLAG_s (FORCED_FLAG<<13)
+#define FLAG_t (FORCED_FLAG<<14)
+#define FLAG_T (FORCED_FLAG<<15)
+#define FLAG_A (FORCED_FLAG<<16)
+#define FLAG_O (FORCED_FLAG<<17)
+#define FLAG_r (FORCED_FLAG<<18)
+#define FLAG_x (FORCED_FLAG<<19)
+#define FLAG_F (FORCED_FLAG<<20)
+#define FLAG_H (FORCED_FLAG<<21)
+#define FLAG_V (FORCED_FLAG<<22)
+#endif
+
+#ifdef FOR_dhcp6
+#ifndef TT
+#define TT this.dhcp6
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_q (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_R (FORCED_FLAG<<5)
+#define FLAG_S (FORCED_FLAG<<6)
+#define FLAG_i (FORCED_FLAG<<7)
+#define FLAG_p (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_T (FORCED_FLAG<<11)
+#define FLAG_A (FORCED_FLAG<<12)
+#define FLAG_r (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_dhcpd
+#ifndef TT
+#define TT this.dhcpd
+#endif
+#define FLAG_6 (FORCED_FLAG<<0)
+#define FLAG_4 (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_i (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_diff
+#ifndef TT
+#define TT this.diff
+#endif
+#define FLAG_U (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_N (1<<2)
+#define FLAG_S (1<<3)
+#define FLAG_L (1<<4)
+#define FLAG_a (1<<5)
+#define FLAG_q (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_T (1<<8)
+#define FLAG_i (1<<9)
+#define FLAG_w (1<<10)
+#define FLAG_t (1<<11)
+#define FLAG_u (1<<12)
+#define FLAG_b (1<<13)
+#define FLAG_d (1<<14)
+#define FLAG_B (1<<15)
+#define FLAG_strip_trailing_cr (1<<16)
+#define FLAG_color (1<<17)
+#endif
+
+#ifdef FOR_dirname
+#ifndef TT
+#define TT this.dirname
+#endif
+#endif
+
+#ifdef FOR_dmesg
+#ifndef TT
+#define TT this.dmesg
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#define FLAG_T (FORCED_FLAG<<5)
+#define FLAG_S (FORCED_FLAG<<6)
+#define FLAG_C (FORCED_FLAG<<7)
+#define FLAG_w (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_dnsdomainname
+#ifndef TT
+#define TT this.dnsdomainname
+#endif
+#endif
+
+#ifdef FOR_dos2unix
+#ifndef TT
+#define TT this.dos2unix
+#endif
+#endif
+
+#ifdef FOR_du
+#ifndef TT
+#define TT this.du
+#endif
+#define FLAG_b (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_L (1<<3)
+#define FLAG_K (1<<4)
+#define FLAG_k (1<<5)
+#define FLAG_H (1<<6)
+#define FLAG_a (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_l (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_h (1<<11)
+#define FLAG_d (1<<12)
+#endif
+
+#ifdef FOR_dumpleases
+#ifndef TT
+#define TT this.dumpleases
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_echo
+#ifndef TT
+#define TT this.echo
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_e (1<<1)
+#define FLAG_E (1<<2)
+#endif
+
+#ifdef FOR_eject
+#ifndef TT
+#define TT this.eject
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_env
+#ifndef TT
+#define TT this.env
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_0 (1<<1)
+#define FLAG_i (1<<2)
+#endif
+
+#ifdef FOR_eval
+#ifndef TT
+#define TT this.eval
+#endif
+#endif
+
+#ifdef FOR_exec
+#ifndef TT
+#define TT this.exec
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_exit
+#ifndef TT
+#define TT this.exit
+#endif
+#endif
+
+#ifdef FOR_expand
+#ifndef TT
+#define TT this.expand
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_export
+#ifndef TT
+#define TT this.export
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_expr
+#ifndef TT
+#define TT this.expr
+#endif
+#endif
+
+#ifdef FOR_factor
+#ifndef TT
+#define TT this.factor
+#endif
+#endif
+
+#ifdef FOR_fallocate
+#ifndef TT
+#define TT this.fallocate
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_false
+#ifndef TT
+#define TT this.false
+#endif
+#endif
+
+#ifdef FOR_fdisk
+#ifndef TT
+#define TT this.fdisk
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_H (FORCED_FLAG<<4)
+#define FLAG_C (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_file
+#ifndef TT
+#define TT this.file
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_find
+#ifndef TT
+#define TT this.find
+#endif
+#define FLAG_L (1<<0)
+#define FLAG_H (1<<1)
+#endif
+
+#ifdef FOR_flock
+#ifndef TT
+#define TT this.flock
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_fmt
+#ifndef TT
+#define TT this.fmt
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_fold
+#ifndef TT
+#define TT this.fold
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_free
+#ifndef TT
+#define TT this.free
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_g (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#define FLAG_h (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_freeramdisk
+#ifndef TT
+#define TT this.freeramdisk
+#endif
+#endif
+
+#ifdef FOR_fsck
+#ifndef TT
+#define TT this.fsck
+#endif
+#define FLAG_C (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_V (FORCED_FLAG<<2)
+#define FLAG_T (FORCED_FLAG<<3)
+#define FLAG_R (FORCED_FLAG<<4)
+#define FLAG_P (FORCED_FLAG<<5)
+#define FLAG_N (FORCED_FLAG<<6)
+#define FLAG_A (FORCED_FLAG<<7)
+#define FLAG_t (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_fsfreeze
+#ifndef TT
+#define TT this.fsfreeze
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_fstype
+#ifndef TT
+#define TT this.fstype
+#endif
+#endif
+
+#ifdef FOR_fsync
+#ifndef TT
+#define TT this.fsync
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_ftpget
+#ifndef TT
+#define TT this.ftpget
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_M (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_L (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_s (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#define FLAG_v (FORCED_FLAG<<8)
+#define FLAG_u (FORCED_FLAG<<9)
+#define FLAG_p (FORCED_FLAG<<10)
+#define FLAG_c (FORCED_FLAG<<11)
+#define FLAG_P (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_getconf
+#ifndef TT
+#define TT this.getconf
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_a (1<<1)
+#endif
+
+#ifdef FOR_getenforce
+#ifndef TT
+#define TT this.getenforce
+#endif
+#endif
+
+#ifdef FOR_getfattr
+#ifndef TT
+#define TT this.getfattr
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_h (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_only_values (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_getopt
+#ifndef TT
+#define TT this.getopt
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_T (1<<1)
+#define FLAG_l (1<<2)
+#define FLAG_o (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_a (1<<5)
+#endif
+
+#ifdef FOR_getty
+#ifndef TT
+#define TT this.getty
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_w (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_l (FORCED_FLAG<<7)
+#define FLAG_I (FORCED_FLAG<<8)
+#define FLAG_H (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_grep
+#ifndef TT
+#define TT this.grep
+#endif
+#define FLAG_x (1<<0)
+#define FLAG_m (1<<1)
+#define FLAG_A (1<<2)
+#define FLAG_B (1<<3)
+#define FLAG_C (1<<4)
+#define FLAG_f (1<<5)
+#define FLAG_e (1<<6)
+#define FLAG_q (1<<7)
+#define FLAG_l (1<<8)
+#define FLAG_c (1<<9)
+#define FLAG_w (1<<10)
+#define FLAG_v (1<<11)
+#define FLAG_s (1<<12)
+#define FLAG_R (1<<13)
+#define FLAG_r (1<<14)
+#define FLAG_o (1<<15)
+#define FLAG_n (1<<16)
+#define FLAG_i (1<<17)
+#define FLAG_h (1<<18)
+#define FLAG_b (1<<19)
+#define FLAG_a (1<<20)
+#define FLAG_I (1<<21)
+#define FLAG_H (1<<22)
+#define FLAG_F (1<<23)
+#define FLAG_E (1<<24)
+#define FLAG_z (1<<25)
+#define FLAG_Z (1<<26)
+#define FLAG_M (1<<27)
+#define FLAG_S (1<<28)
+#define FLAG_exclude_dir (1<<29)
+#define FLAG_color (1<<30)
+#define FLAG_line_buffered (1LL<<31)
+#endif
+
+#ifdef FOR_groupadd
+#ifndef TT
+#define TT this.groupadd
+#endif
+#define FLAG_S (FORCED_FLAG<<0)
+#define FLAG_g (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_groupdel
+#ifndef TT
+#define TT this.groupdel
+#endif
+#endif
+
+#ifdef FOR_groups
+#ifndef TT
+#define TT this.groups
+#endif
+#endif
+
+#ifdef FOR_gunzip
+#ifndef TT
+#define TT this.gunzip
+#endif
+#define FLAG_9 (FORCED_FLAG<<0)
+#define FLAG_8 (FORCED_FLAG<<1)
+#define FLAG_7 (FORCED_FLAG<<2)
+#define FLAG_6 (FORCED_FLAG<<3)
+#define FLAG_5 (FORCED_FLAG<<4)
+#define FLAG_4 (FORCED_FLAG<<5)
+#define FLAG_3 (FORCED_FLAG<<6)
+#define FLAG_2 (FORCED_FLAG<<7)
+#define FLAG_1 (FORCED_FLAG<<8)
+#define FLAG_k (FORCED_FLAG<<9)
+#define FLAG_f (FORCED_FLAG<<10)
+#define FLAG_d (FORCED_FLAG<<11)
+#define FLAG_c (FORCED_FLAG<<12)
+#endif
+
+#ifdef FOR_gzip
+#ifndef TT
+#define TT this.gzip
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#define FLAG_n (1<<13)
+#endif
+
+#ifdef FOR_head
+#ifndef TT
+#define TT this.head
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_q (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_n (1<<3)
+#endif
+
+#ifdef FOR_hello
+#ifndef TT
+#define TT this.hello
+#endif
+#endif
+
+#ifdef FOR_help
+#ifndef TT
+#define TT this.help
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_h (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_hexedit
+#ifndef TT
+#define TT this.hexedit
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_host
+#ifndef TT
+#define TT this.host
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_hostid
+#ifndef TT
+#define TT this.hostid
+#endif
+#endif
+
+#ifdef FOR_hostname
+#ifndef TT
+#define TT this.hostname
+#endif
+#define FLAG_F (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_s (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_b (1<<4)
+#endif
+
+#ifdef FOR_hwclock
+#ifndef TT
+#define TT this.hwclock
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_fast (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_i2cdetect
+#ifndef TT
+#define TT this.i2cdetect
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_i2cdump
+#ifndef TT
+#define TT this.i2cdump
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_i2cget
+#ifndef TT
+#define TT this.i2cget
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_i2cset
+#ifndef TT
+#define TT this.i2cset
+#endif
+#define FLAG_y (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_iconv
+#ifndef TT
+#define TT this.iconv
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_id
+#ifndef TT
+#define TT this.id
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_g (1<<2)
+#define FLAG_G (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_Z (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_ifconfig
+#ifndef TT
+#define TT this.ifconfig
+#endif
+#define FLAG_S (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_init
+#ifndef TT
+#define TT this.init
+#endif
+#endif
+
+#ifdef FOR_inotifyd
+#ifndef TT
+#define TT this.inotifyd
+#endif
+#endif
+
+#ifdef FOR_insmod
+#ifndef TT
+#define TT this.insmod
+#endif
+#endif
+
+#ifdef FOR_install
+#ifndef TT
+#define TT this.install
+#endif
+#define FLAG_g (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_m (FORCED_FLAG<<2)
+#define FLAG_v (FORCED_FLAG<<3)
+#define FLAG_s (FORCED_FLAG<<4)
+#define FLAG_p (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_d (FORCED_FLAG<<7)
+#define FLAG_c (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_ionice
+#ifndef TT
+#define TT this.ionice
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_iorenice
+#ifndef TT
+#define TT this.iorenice
+#endif
+#endif
+
+#ifdef FOR_iotop
+#ifndef TT
+#define TT this.iotop
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_u (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_o (FORCED_FLAG<<8)
+#define FLAG_k (FORCED_FLAG<<9)
+#define FLAG_H (FORCED_FLAG<<10)
+#define FLAG_O (FORCED_FLAG<<11)
+#define FLAG_K (FORCED_FLAG<<12)
+#define FLAG_a (FORCED_FLAG<<13)
+#define FLAG_A (FORCED_FLAG<<14)
+#endif
+
+#ifdef FOR_ip
+#ifndef TT
+#define TT this.ip
+#endif
+#endif
+
+#ifdef FOR_ipcrm
+#ifndef TT
+#define TT this.ipcrm
+#endif
+#define FLAG_Q (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_M (FORCED_FLAG<<4)
+#define FLAG_m (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_ipcs
+#ifndef TT
+#define TT this.ipcs
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_c (FORCED_FLAG<<8)
+#define FLAG_a (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_kill
+#ifndef TT
+#define TT this.kill
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_killall
+#ifndef TT
+#define TT this.killall
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_killall5
+#ifndef TT
+#define TT this.killall5
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_o (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_klogd
+#ifndef TT
+#define TT this.klogd
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_last
+#ifndef TT
+#define TT this.last
+#endif
+#define FLAG_W (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_link
+#ifndef TT
+#define TT this.link
+#endif
+#endif
+
+#ifdef FOR_ln
+#ifndef TT
+#define TT this.ln
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_T (1<<4)
+#define FLAG_t (1<<5)
+#define FLAG_r (1<<6)
+#endif
+
+#ifdef FOR_load_policy
+#ifndef TT
+#define TT this.load_policy
+#endif
+#endif
+
+#ifdef FOR_log
+#ifndef TT
+#define TT this.log
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_logger
+#ifndef TT
+#define TT this.logger
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_login
+#ifndef TT
+#define TT this.login
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_f (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_logname
+#ifndef TT
+#define TT this.logname
+#endif
+#endif
+
+#ifdef FOR_logwrapper
+#ifndef TT
+#define TT this.logwrapper
+#endif
+#endif
+
+#ifdef FOR_losetup
+#ifndef TT
+#define TT this.losetup
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_j (FORCED_FLAG<<5)
+#define FLAG_o (FORCED_FLAG<<6)
+#define FLAG_r (FORCED_FLAG<<7)
+#define FLAG_s (FORCED_FLAG<<8)
+#define FLAG_S (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_ls
+#ifndef TT
+#define TT this.ls
+#endif
+#define FLAG_1 (1<<0)
+#define FLAG_x (1<<1)
+#define FLAG_w (1<<2)
+#define FLAG_u (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_s (1<<5)
+#define FLAG_r (1<<6)
+#define FLAG_q (1<<7)
+#define FLAG_p (1<<8)
+#define FLAG_n (1<<9)
+#define FLAG_m (1<<10)
+#define FLAG_l (1<<11)
+#define FLAG_k (1<<12)
+#define FLAG_i (1<<13)
+#define FLAG_h (1<<14)
+#define FLAG_f (1<<15)
+#define FLAG_d (1<<16)
+#define FLAG_c (1<<17)
+#define FLAG_b (1<<18)
+#define FLAG_a (1<<19)
+#define FLAG_S (1<<20)
+#define FLAG_R (1<<21)
+#define FLAG_L (1<<22)
+#define FLAG_H (1<<23)
+#define FLAG_F (1<<24)
+#define FLAG_C (1<<25)
+#define FLAG_A (1<<26)
+#define FLAG_o (1<<27)
+#define FLAG_g (1<<28)
+#define FLAG_Z (1<<29)
+#define FLAG_show_control_chars (1<<30)
+#define FLAG_full_time (1LL<<31)
+#define FLAG_color (1LL<<32)
+#endif
+
+#ifdef FOR_lsattr
+#ifndef TT
+#define TT this.lsattr
+#endif
+#define FLAG_R (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_lsmod
+#ifndef TT
+#define TT this.lsmod
+#endif
+#endif
+
+#ifdef FOR_lsof
+#ifndef TT
+#define TT this.lsof
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_l (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_lspci
+#ifndef TT
+#define TT this.lspci
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#define FLAG_k (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_lsusb
+#ifndef TT
+#define TT this.lsusb
+#endif
+#endif
+
+#ifdef FOR_makedevs
+#ifndef TT
+#define TT this.makedevs
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_man
+#ifndef TT
+#define TT this.man
+#endif
+#define FLAG_M (FORCED_FLAG<<0)
+#define FLAG_k (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mcookie
+#ifndef TT
+#define TT this.mcookie
+#endif
+#define FLAG_V (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_md5sum
+#ifndef TT
+#define TT this.md5sum
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_b (1<<2)
+#endif
+
+#ifdef FOR_mdev
+#ifndef TT
+#define TT this.mdev
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_microcom
+#ifndef TT
+#define TT this.microcom
+#endif
+#define FLAG_X (1<<0)
+#define FLAG_s (1<<1)
+#endif
+
+#ifdef FOR_mix
+#ifndef TT
+#define TT this.mix
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_c (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_mkdir
+#ifndef TT
+#define TT this.mkdir
+#endif
+#define FLAG_m (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_Z (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_mke2fs
+#ifndef TT
+#define TT this.mke2fs
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_i (FORCED_FLAG<<1)
+#define FLAG_N (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_F (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_mkfifo
+#ifndef TT
+#define TT this.mkfifo
+#endif
+#define FLAG_m (FORCED_FLAG<<0)
+#define FLAG_Z (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mknod
+#ifndef TT
+#define TT this.mknod
+#endif
+#define FLAG_Z (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_mkpasswd
+#ifndef TT
+#define TT this.mkpasswd
+#endif
+#define FLAG_P (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_mkswap
+#ifndef TT
+#define TT this.mkswap
+#endif
+#define FLAG_L (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_mktemp
+#ifndef TT
+#define TT this.mktemp
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_p (1<<1)
+#define FLAG_d (1<<2)
+#define FLAG_q (1<<3)
+#define FLAG_u (1<<4)
+#define FLAG_tmpdir (1<<5)
+#endif
+
+#ifdef FOR_modinfo
+#ifndef TT
+#define TT this.modinfo
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_F (FORCED_FLAG<<1)
+#define FLAG_k (FORCED_FLAG<<2)
+#define FLAG_b (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_modprobe
+#ifndef TT
+#define TT this.modprobe
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_D (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_v (FORCED_FLAG<<4)
+#define FLAG_q (FORCED_FLAG<<5)
+#define FLAG_r (FORCED_FLAG<<6)
+#define FLAG_l (FORCED_FLAG<<7)
+#define FLAG_a (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_more
+#ifndef TT
+#define TT this.more
+#endif
+#endif
+
+#ifdef FOR_mount
+#ifndef TT
+#define TT this.mount
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_w (FORCED_FLAG<<2)
+#define FLAG_v (FORCED_FLAG<<3)
+#define FLAG_r (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_a (FORCED_FLAG<<7)
+#define FLAG_O (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_mountpoint
+#ifndef TT
+#define TT this.mountpoint
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_q (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_mv
+#ifndef TT
+#define TT this.mv
+#endif
+#define FLAG_T (1<<0)
+#define FLAG_i (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_F (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_v (1<<5)
+#endif
+
+#ifdef FOR_nbd_client
+#ifndef TT
+#define TT this.nbd_client
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_n (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_netcat
+#ifndef TT
+#define TT this.netcat
+#endif
+#define FLAG_U (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_6 (FORCED_FLAG<<2)
+#define FLAG_4 (FORCED_FLAG<<3)
+#define FLAG_f (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_q (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_W (FORCED_FLAG<<8)
+#define FLAG_w (FORCED_FLAG<<9)
+#define FLAG_L (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_E (FORCED_FLAG<<12)
+#define FLAG_t (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_netstat
+#ifndef TT
+#define TT this.netstat
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_w (FORCED_FLAG<<6)
+#define FLAG_x (FORCED_FLAG<<7)
+#define FLAG_r (FORCED_FLAG<<8)
+#define FLAG_W (FORCED_FLAG<<9)
+#define FLAG_p (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_nice
+#ifndef TT
+#define TT this.nice
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_nl
+#ifndef TT
+#define TT this.nl
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_b (1<<2)
+#define FLAG_E (1<<3)
+#define FLAG_w (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_v (1<<6)
+#endif
+
+#ifdef FOR_nohup
+#ifndef TT
+#define TT this.nohup
+#endif
+#endif
+
+#ifdef FOR_nproc
+#ifndef TT
+#define TT this.nproc
+#endif
+#define FLAG_all (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_nsenter
+#ifndef TT
+#define TT this.nsenter
+#endif
+#define FLAG_U (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_m (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_F (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_od
+#ifndef TT
+#define TT this.od
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_A (1<<1)
+#define FLAG_b (1<<2)
+#define FLAG_c (1<<3)
+#define FLAG_d (1<<4)
+#define FLAG_o (1<<5)
+#define FLAG_s (1<<6)
+#define FLAG_x (1<<7)
+#define FLAG_N (1<<8)
+#define FLAG_w (1<<9)
+#define FLAG_v (1<<10)
+#define FLAG_j (1<<11)
+#endif
+
+#ifdef FOR_oneit
+#ifndef TT
+#define TT this.oneit
+#endif
+#define FLAG_3 (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_openvt
+#ifndef TT
+#define TT this.openvt
+#endif
+#define FLAG_w (FORCED_FLAG<<0)
+#define FLAG_s (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_partprobe
+#ifndef TT
+#define TT this.partprobe
+#endif
+#endif
+
+#ifdef FOR_passwd
+#ifndef TT
+#define TT this.passwd
+#endif
+#define FLAG_u (FORCED_FLAG<<0)
+#define FLAG_l (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_paste
+#ifndef TT
+#define TT this.paste
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_d (1<<1)
+#endif
+
+#ifdef FOR_patch
+#ifndef TT
+#define TT this.patch
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_R (1<<1)
+#define FLAG_i (1<<2)
+#define FLAG_d (1<<3)
+#define FLAG_p (1<<4)
+#define FLAG_l (1<<5)
+#define FLAG_u (1<<6)
+#define FLAG_f (1<<7)
+#define FLAG_g (1<<8)
+#define FLAG_F (1<<9)
+#define FLAG_x (FORCED_FLAG<<10)
+#define FLAG_dry_run (1<<11)
+#define FLAG_no_backup_if_mismatch (1<<12)
+#endif
+
+#ifdef FOR_pgrep
+#ifndef TT
+#define TT this.pgrep
+#endif
+#define FLAG_L (FORCED_FLAG<<0)
+#define FLAG_x (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#define FLAG_o (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_G (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#define FLAG_P (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_U (FORCED_FLAG<<11)
+#define FLAG_u (FORCED_FLAG<<12)
+#define FLAG_d (FORCED_FLAG<<13)
+#define FLAG_l (FORCED_FLAG<<14)
+#define FLAG_c (FORCED_FLAG<<15)
+#endif
+
+#ifdef FOR_pidof
+#ifndef TT
+#define TT this.pidof
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_ping
+#ifndef TT
+#define TT this.ping
+#endif
+#define FLAG_I (FORCED_FLAG<<0)
+#define FLAG_6 (FORCED_FLAG<<1)
+#define FLAG_4 (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_w (FORCED_FLAG<<5)
+#define FLAG_W (FORCED_FLAG<<6)
+#define FLAG_i (FORCED_FLAG<<7)
+#define FLAG_s (FORCED_FLAG<<8)
+#define FLAG_c (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_m (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_pivot_root
+#ifndef TT
+#define TT this.pivot_root
+#endif
+#endif
+
+#ifdef FOR_pkill
+#ifndef TT
+#define TT this.pkill
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_x (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#define FLAG_o (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_G (FORCED_FLAG<<6)
+#define FLAG_g (FORCED_FLAG<<7)
+#define FLAG_P (FORCED_FLAG<<8)
+#define FLAG_s (FORCED_FLAG<<9)
+#define FLAG_t (FORCED_FLAG<<10)
+#define FLAG_U (FORCED_FLAG<<11)
+#define FLAG_u (FORCED_FLAG<<12)
+#define FLAG_V (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_pmap
+#ifndef TT
+#define TT this.pmap
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_x (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_printenv
+#ifndef TT
+#define TT this.printenv
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_null (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_printf
+#ifndef TT
+#define TT this.printf
+#endif
+#endif
+
+#ifdef FOR_ps
+#ifndef TT
+#define TT this.ps
+#endif
+#define FLAG_Z (FORCED_FLAG<<0)
+#define FLAG_w (FORCED_FLAG<<1)
+#define FLAG_G (FORCED_FLAG<<2)
+#define FLAG_g (FORCED_FLAG<<3)
+#define FLAG_U (FORCED_FLAG<<4)
+#define FLAG_u (FORCED_FLAG<<5)
+#define FLAG_T (FORCED_FLAG<<6)
+#define FLAG_t (FORCED_FLAG<<7)
+#define FLAG_s (FORCED_FLAG<<8)
+#define FLAG_p (FORCED_FLAG<<9)
+#define FLAG_O (FORCED_FLAG<<10)
+#define FLAG_o (FORCED_FLAG<<11)
+#define FLAG_n (FORCED_FLAG<<12)
+#define FLAG_M (FORCED_FLAG<<13)
+#define FLAG_l (FORCED_FLAG<<14)
+#define FLAG_f (FORCED_FLAG<<15)
+#define FLAG_e (FORCED_FLAG<<16)
+#define FLAG_d (FORCED_FLAG<<17)
+#define FLAG_A (FORCED_FLAG<<18)
+#define FLAG_a (FORCED_FLAG<<19)
+#define FLAG_P (FORCED_FLAG<<20)
+#define FLAG_k (FORCED_FLAG<<21)
+#endif
+
+#ifdef FOR_pwd
+#ifndef TT
+#define TT this.pwd
+#endif
+#define FLAG_P (1<<0)
+#define FLAG_L (1<<1)
+#endif
+
+#ifdef FOR_pwdx
+#ifndef TT
+#define TT this.pwdx
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_pwgen
+#ifndef TT
+#define TT this.pwgen
+#endif
+#define FLAG_0 (FORCED_FLAG<<0)
+#define FLAG_A (FORCED_FLAG<<1)
+#define FLAG_v (FORCED_FLAG<<2)
+#define FLAG_1 (FORCED_FLAG<<3)
+#define FLAG_C (FORCED_FLAG<<4)
+#define FLAG_h (FORCED_FLAG<<5)
+#define FLAG_B (FORCED_FLAG<<6)
+#define FLAG_s (FORCED_FLAG<<7)
+#define FLAG_y (FORCED_FLAG<<8)
+#define FLAG_n (FORCED_FLAG<<9)
+#define FLAG_c (FORCED_FLAG<<10)
+#define FLAG_r (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_readahead
+#ifndef TT
+#define TT this.readahead
+#endif
+#endif
+
+#ifdef FOR_readelf
+#ifndef TT
+#define TT this.readelf
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_W (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_p (FORCED_FLAG<<4)
+#define FLAG_n (FORCED_FLAG<<5)
+#define FLAG_l (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_e (FORCED_FLAG<<8)
+#define FLAG_d (FORCED_FLAG<<9)
+#define FLAG_a (FORCED_FLAG<<10)
+#define FLAG_dyn_syms (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_readlink
+#ifndef TT
+#define TT this.readlink
+#endif
+#define FLAG_f (1<<0)
+#define FLAG_e (1<<1)
+#define FLAG_m (1<<2)
+#define FLAG_q (1<<3)
+#define FLAG_n (1<<4)
+#endif
+
+#ifdef FOR_realpath
+#ifndef TT
+#define TT this.realpath
+#endif
+#endif
+
+#ifdef FOR_reboot
+#ifndef TT
+#define TT this.reboot
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_renice
+#ifndef TT
+#define TT this.renice
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_g (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_reset
+#ifndef TT
+#define TT this.reset
+#endif
+#endif
+
+#ifdef FOR_restorecon
+#ifndef TT
+#define TT this.restorecon
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_r (FORCED_FLAG<<1)
+#define FLAG_R (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_F (FORCED_FLAG<<4)
+#define FLAG_D (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_rev
+#ifndef TT
+#define TT this.rev
+#endif
+#endif
+
+#ifdef FOR_rfkill
+#ifndef TT
+#define TT this.rfkill
+#endif
+#endif
+
+#ifdef FOR_rm
+#ifndef TT
+#define TT this.rm
+#endif
+#define FLAG_v (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_R (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_f (1<<4)
+#endif
+
+#ifdef FOR_rmdir
+#ifndef TT
+#define TT this.rmdir
+#endif
+#define FLAG_p (1<<0)
+#define FLAG_ignore_fail_on_non_empty (1<<1)
+#endif
+
+#ifdef FOR_rmmod
+#ifndef TT
+#define TT this.rmmod
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_w (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_route
+#ifndef TT
+#define TT this.route
+#endif
+#define FLAG_A (FORCED_FLAG<<0)
+#define FLAG_e (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_rtcwake
+#ifndef TT
+#define TT this.rtcwake
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_t (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_m (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_d (FORCED_FLAG<<6)
+#define FLAG_a (FORCED_FLAG<<7)
+#define FLAG_auto (FORCED_FLAG<<8)
+#define FLAG_list_modes (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_runcon
+#ifndef TT
+#define TT this.runcon
+#endif
+#endif
+
+#ifdef FOR_sed
+#ifndef TT
+#define TT this.sed
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_z (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_E (1<<3)
+#define FLAG_n (1<<4)
+#define FLAG_i (1<<5)
+#define FLAG_f (1<<6)
+#define FLAG_e (1<<7)
+#define FLAG_version (1<<8)
+#define FLAG_help (1<<9)
+#endif
+
+#ifdef FOR_sendevent
+#ifndef TT
+#define TT this.sendevent
+#endif
+#endif
+
+#ifdef FOR_seq
+#ifndef TT
+#define TT this.seq
+#endif
+#define FLAG_w (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_f (1<<2)
+#endif
+
+#ifdef FOR_set
+#ifndef TT
+#define TT this.set
+#endif
+#endif
+
+#ifdef FOR_setenforce
+#ifndef TT
+#define TT this.setenforce
+#endif
+#endif
+
+#ifdef FOR_setfattr
+#ifndef TT
+#define TT this.setfattr
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_setsid
+#ifndef TT
+#define TT this.setsid
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_w (1<<2)
+#endif
+
+#ifdef FOR_sh
+#ifndef TT
+#define TT this.sh
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#define FLAG_s (FORCED_FLAG<<2)
+#define FLAG_norc (FORCED_FLAG<<3)
+#define FLAG_noprofile (FORCED_FLAG<<4)
+#define FLAG_noediting (FORCED_FLAG<<5)
+#endif
+
+#ifdef FOR_sha1sum
+#ifndef TT
+#define TT this.sha1sum
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_b (1<<2)
+#endif
+
+#ifdef FOR_sha3sum
+#ifndef TT
+#define TT this.sha3sum
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_S (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_shift
+#ifndef TT
+#define TT this.shift
+#endif
+#endif
+
+#ifdef FOR_shred
+#ifndef TT
+#define TT this.shred
+#endif
+#define FLAG_f (FORCED_FLAG<<0)
+#define FLAG_o (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_s (FORCED_FLAG<<3)
+#define FLAG_u (FORCED_FLAG<<4)
+#define FLAG_x (FORCED_FLAG<<5)
+#define FLAG_z (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_skeleton
+#ifndef TT
+#define TT this.skeleton
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_also (FORCED_FLAG<<5)
+#define FLAG_blubber (FORCED_FLAG<<6)
+#define FLAG_walrus (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_skeleton_alias
+#ifndef TT
+#define TT this.skeleton_alias
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_b (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_sleep
+#ifndef TT
+#define TT this.sleep
+#endif
+#endif
+
+#ifdef FOR_sntp
+#ifndef TT
+#define TT this.sntp
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#define FLAG_q (FORCED_FLAG<<1)
+#define FLAG_D (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_s (FORCED_FLAG<<4)
+#define FLAG_a (FORCED_FLAG<<5)
+#define FLAG_t (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_S (FORCED_FLAG<<8)
+#define FLAG_m (FORCED_FLAG<<9)
+#define FLAG_M (FORCED_FLAG<<10)
+#endif
+
+#ifdef FOR_sort
+#ifndef TT
+#define TT this.sort
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_u (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_d (1<<5)
+#define FLAG_z (1<<6)
+#define FLAG_s (1<<7)
+#define FLAG_c (1<<8)
+#define FLAG_M (1<<9)
+#define FLAG_b (1<<10)
+#define FLAG_V (1<<11)
+#define FLAG_x (1<<12)
+#define FLAG_t (1<<13)
+#define FLAG_k (1<<14)
+#define FLAG_o (1<<15)
+#define FLAG_m (1<<16)
+#define FLAG_T (1<<17)
+#define FLAG_S (1<<18)
+#define FLAG_g (1<<19)
+#endif
+
+#ifdef FOR_source
+#ifndef TT
+#define TT this.source
+#endif
+#endif
+
+#ifdef FOR_split
+#ifndef TT
+#define TT this.split
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_stat
+#ifndef TT
+#define TT this.stat
+#endif
+#define FLAG_t (1<<0)
+#define FLAG_L (1<<1)
+#define FLAG_f (1<<2)
+#define FLAG_c (1<<3)
+#endif
+
+#ifdef FOR_strings
+#ifndef TT
+#define TT this.strings
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#define FLAG_f (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_a (FORCED_FLAG<<3)
+#define FLAG_t (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_stty
+#ifndef TT
+#define TT this.stty
+#endif
+#define FLAG_g (FORCED_FLAG<<0)
+#define FLAG_F (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_su
+#ifndef TT
+#define TT this.su
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#define FLAG_g (FORCED_FLAG<<2)
+#define FLAG_u (FORCED_FLAG<<3)
+#define FLAG_p (FORCED_FLAG<<4)
+#define FLAG_m (FORCED_FLAG<<5)
+#define FLAG_l (FORCED_FLAG<<6)
+#endif
+
+#ifdef FOR_sulogin
+#ifndef TT
+#define TT this.sulogin
+#endif
+#define FLAG_t (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_swapoff
+#ifndef TT
+#define TT this.swapoff
+#endif
+#endif
+
+#ifdef FOR_swapon
+#ifndef TT
+#define TT this.swapon
+#endif
+#define FLAG_d (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_switch_root
+#ifndef TT
+#define TT this.switch_root
+#endif
+#define FLAG_h (FORCED_FLAG<<0)
+#define FLAG_c (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_sync
+#ifndef TT
+#define TT this.sync
+#endif
+#endif
+
+#ifdef FOR_sysctl
+#ifndef TT
+#define TT this.sysctl
+#endif
+#define FLAG_A (FORCED_FLAG<<0)
+#define FLAG_a (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_w (FORCED_FLAG<<3)
+#define FLAG_q (FORCED_FLAG<<4)
+#define FLAG_N (FORCED_FLAG<<5)
+#define FLAG_e (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_syslogd
+#ifndef TT
+#define TT this.syslogd
+#endif
+#define FLAG_D (FORCED_FLAG<<0)
+#define FLAG_L (FORCED_FLAG<<1)
+#define FLAG_K (FORCED_FLAG<<2)
+#define FLAG_S (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#define FLAG_a (FORCED_FLAG<<5)
+#define FLAG_f (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_O (FORCED_FLAG<<8)
+#define FLAG_m (FORCED_FLAG<<9)
+#define FLAG_s (FORCED_FLAG<<10)
+#define FLAG_b (FORCED_FLAG<<11)
+#define FLAG_R (FORCED_FLAG<<12)
+#define FLAG_l (FORCED_FLAG<<13)
+#endif
+
+#ifdef FOR_tac
+#ifndef TT
+#define TT this.tac
+#endif
+#endif
+
+#ifdef FOR_tail
+#ifndef TT
+#define TT this.tail
+#endif
+#define FLAG_n (1<<0)
+#define FLAG_c (1<<1)
+#define FLAG_f (1<<2)
+#endif
+
+#ifdef FOR_tar
+#ifndef TT
+#define TT this.tar
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_f (1<<1)
+#define FLAG_C (1<<2)
+#define FLAG_T (1<<3)
+#define FLAG_X (1<<4)
+#define FLAG_m (1<<5)
+#define FLAG_P (1<<6)
+#define FLAG_O (1<<7)
+#define FLAG_S (1<<8)
+#define FLAG_z (1<<9)
+#define FLAG_j (1<<10)
+#define FLAG_J (1<<11)
+#define FLAG_I (1<<12)
+#define FLAG_v (1<<13)
+#define FLAG_t (1<<14)
+#define FLAG_x (1<<15)
+#define FLAG_h (1<<16)
+#define FLAG_c (1<<17)
+#define FLAG_k (1<<18)
+#define FLAG_p (1<<19)
+#define FLAG_o (1<<20)
+#define FLAG_to_command (1<<21)
+#define FLAG_owner (1<<22)
+#define FLAG_group (1<<23)
+#define FLAG_mtime (1<<24)
+#define FLAG_mode (1<<25)
+#define FLAG_exclude (1<<26)
+#define FLAG_overwrite (1<<27)
+#define FLAG_no_same_permissions (1<<28)
+#define FLAG_numeric_owner (1<<29)
+#define FLAG_no_recursion (1<<30)
+#define FLAG_full_time (1LL<<31)
+#define FLAG_restrict (1LL<<32)
+#endif
+
+#ifdef FOR_taskset
+#ifndef TT
+#define TT this.taskset
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_tcpsvd
+#ifndef TT
+#define TT this.tcpsvd
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_E (FORCED_FLAG<<1)
+#define FLAG_h (FORCED_FLAG<<2)
+#define FLAG_l (FORCED_FLAG<<3)
+#define FLAG_u (FORCED_FLAG<<4)
+#define FLAG_b (FORCED_FLAG<<5)
+#define FLAG_C (FORCED_FLAG<<6)
+#define FLAG_c (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_tee
+#ifndef TT
+#define TT this.tee
+#endif
+#define FLAG_a (1<<0)
+#define FLAG_i (1<<1)
+#endif
+
+#ifdef FOR_telnet
+#ifndef TT
+#define TT this.telnet
+#endif
+#endif
+
+#ifdef FOR_telnetd
+#ifndef TT
+#define TT this.telnetd
+#endif
+#define FLAG_i (FORCED_FLAG<<0)
+#define FLAG_K (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_F (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_p (FORCED_FLAG<<6)
+#define FLAG_b (FORCED_FLAG<<7)
+#define FLAG_w (FORCED_FLAG<<8)
+#endif
+
+#ifdef FOR_test
+#ifndef TT
+#define TT this.test
+#endif
+#endif
+
+#ifdef FOR_tftp
+#ifndef TT
+#define TT this.tftp
+#endif
+#define FLAG_p (FORCED_FLAG<<0)
+#define FLAG_g (FORCED_FLAG<<1)
+#define FLAG_l (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_b (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_tftpd
+#ifndef TT
+#define TT this.tftpd
+#endif
+#define FLAG_l (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_time
+#ifndef TT
+#define TT this.time
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_timeout
+#ifndef TT
+#define TT this.timeout
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_k (1<<1)
+#define FLAG_v (1<<2)
+#define FLAG_preserve_status (1<<3)
+#define FLAG_foreground (1<<4)
+#endif
+
+#ifdef FOR_top
+#ifndef TT
+#define TT this.top
+#endif
+#define FLAG_q (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_m (FORCED_FLAG<<3)
+#define FLAG_d (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_u (FORCED_FLAG<<6)
+#define FLAG_p (FORCED_FLAG<<7)
+#define FLAG_o (FORCED_FLAG<<8)
+#define FLAG_k (FORCED_FLAG<<9)
+#define FLAG_H (FORCED_FLAG<<10)
+#define FLAG_O (FORCED_FLAG<<11)
+#endif
+
+#ifdef FOR_touch
+#ifndef TT
+#define TT this.touch
+#endif
+#define FLAG_h (1<<0)
+#define FLAG_t (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_m (1<<3)
+#define FLAG_f (1<<4)
+#define FLAG_d (1<<5)
+#define FLAG_c (1<<6)
+#define FLAG_a (1<<7)
+#endif
+
+#ifdef FOR_toybox
+#ifndef TT
+#define TT this.toybox
+#endif
+#endif
+
+#ifdef FOR_tr
+#ifndef TT
+#define TT this.tr
+#endif
+#define FLAG_d (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_C (1<<3)
+#endif
+
+#ifdef FOR_traceroute
+#ifndef TT
+#define TT this.traceroute
+#endif
+#define FLAG_4 (FORCED_FLAG<<0)
+#define FLAG_6 (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#define FLAG_U (FORCED_FLAG<<3)
+#define FLAG_I (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_d (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_v (FORCED_FLAG<<8)
+#define FLAG_r (FORCED_FLAG<<9)
+#define FLAG_m (FORCED_FLAG<<10)
+#define FLAG_p (FORCED_FLAG<<11)
+#define FLAG_q (FORCED_FLAG<<12)
+#define FLAG_s (FORCED_FLAG<<13)
+#define FLAG_t (FORCED_FLAG<<14)
+#define FLAG_w (FORCED_FLAG<<15)
+#define FLAG_g (FORCED_FLAG<<16)
+#define FLAG_z (FORCED_FLAG<<17)
+#define FLAG_f (FORCED_FLAG<<18)
+#define FLAG_i (FORCED_FLAG<<19)
+#endif
+
+#ifdef FOR_true
+#ifndef TT
+#define TT this.true
+#endif
+#endif
+
+#ifdef FOR_truncate
+#ifndef TT
+#define TT this.truncate
+#endif
+#define FLAG_c (1<<0)
+#define FLAG_s (1<<1)
+#endif
+
+#ifdef FOR_tty
+#ifndef TT
+#define TT this.tty
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_tunctl
+#ifndef TT
+#define TT this.tunctl
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_d (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#endif
+
+#ifdef FOR_ulimit
+#ifndef TT
+#define TT this.ulimit
+#endif
+#define FLAG_c (FORCED_FLAG<<0)
+#define FLAG_d (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_f (FORCED_FLAG<<3)
+#define FLAG_i (FORCED_FLAG<<4)
+#define FLAG_l (FORCED_FLAG<<5)
+#define FLAG_m (FORCED_FLAG<<6)
+#define FLAG_n (FORCED_FLAG<<7)
+#define FLAG_p (FORCED_FLAG<<8)
+#define FLAG_q (FORCED_FLAG<<9)
+#define FLAG_R (FORCED_FLAG<<10)
+#define FLAG_r (FORCED_FLAG<<11)
+#define FLAG_s (FORCED_FLAG<<12)
+#define FLAG_t (FORCED_FLAG<<13)
+#define FLAG_u (FORCED_FLAG<<14)
+#define FLAG_v (FORCED_FLAG<<15)
+#define FLAG_a (FORCED_FLAG<<16)
+#define FLAG_H (FORCED_FLAG<<17)
+#define FLAG_S (FORCED_FLAG<<18)
+#define FLAG_P (FORCED_FLAG<<19)
+#endif
+
+#ifdef FOR_umount
+#ifndef TT
+#define TT this.umount
+#endif
+#define FLAG_v (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_a (FORCED_FLAG<<2)
+#define FLAG_r (FORCED_FLAG<<3)
+#define FLAG_l (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_D (FORCED_FLAG<<6)
+#define FLAG_d (FORCED_FLAG<<7)
+#define FLAG_n (FORCED_FLAG<<8)
+#define FLAG_c (FORCED_FLAG<<9)
+#endif
+
+#ifdef FOR_uname
+#ifndef TT
+#define TT this.uname
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_n (1<<1)
+#define FLAG_r (1<<2)
+#define FLAG_v (1<<3)
+#define FLAG_m (1<<4)
+#define FLAG_a (1<<5)
+#define FLAG_o (1<<6)
+#endif
+
+#ifdef FOR_unicode
+#ifndef TT
+#define TT this.unicode
+#endif
+#endif
+
+#ifdef FOR_uniq
+#ifndef TT
+#define TT this.uniq
+#endif
+#define FLAG_u (1<<0)
+#define FLAG_d (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_z (1<<4)
+#define FLAG_w (1<<5)
+#define FLAG_s (1<<6)
+#define FLAG_f (1<<7)
+#endif
+
+#ifdef FOR_unix2dos
+#ifndef TT
+#define TT this.unix2dos
+#endif
+#endif
+
+#ifdef FOR_unlink
+#ifndef TT
+#define TT this.unlink
+#endif
+#endif
+
+#ifdef FOR_unset
+#ifndef TT
+#define TT this.unset
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#define FLAG_v (FORCED_FLAG<<1)
+#define FLAG_f (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_unshare
+#ifndef TT
+#define TT this.unshare
+#endif
+#define FLAG_U (FORCED_FLAG<<0)
+#define FLAG_u (FORCED_FLAG<<1)
+#define FLAG_p (FORCED_FLAG<<2)
+#define FLAG_n (FORCED_FLAG<<3)
+#define FLAG_m (FORCED_FLAG<<4)
+#define FLAG_i (FORCED_FLAG<<5)
+#define FLAG_r (FORCED_FLAG<<6)
+#define FLAG_f (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_uptime
+#ifndef TT
+#define TT this.uptime
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#define FLAG_p (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_useradd
+#ifndef TT
+#define TT this.useradd
+#endif
+#define FLAG_H (FORCED_FLAG<<0)
+#define FLAG_D (FORCED_FLAG<<1)
+#define FLAG_S (FORCED_FLAG<<2)
+#define FLAG_h (FORCED_FLAG<<3)
+#define FLAG_g (FORCED_FLAG<<4)
+#define FLAG_s (FORCED_FLAG<<5)
+#define FLAG_G (FORCED_FLAG<<6)
+#define FLAG_u (FORCED_FLAG<<7)
+#endif
+
+#ifdef FOR_userdel
+#ifndef TT
+#define TT this.userdel
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_usleep
+#ifndef TT
+#define TT this.usleep
+#endif
+#endif
+
+#ifdef FOR_uudecode
+#ifndef TT
+#define TT this.uudecode
+#endif
+#define FLAG_o (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_uuencode
+#ifndef TT
+#define TT this.uuencode
+#endif
+#define FLAG_m (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_uuidgen
+#ifndef TT
+#define TT this.uuidgen
+#endif
+#define FLAG_r (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_vconfig
+#ifndef TT
+#define TT this.vconfig
+#endif
+#endif
+
+#ifdef FOR_vi
+#ifndef TT
+#define TT this.vi
+#endif
+#define FLAG_s (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_vmstat
+#ifndef TT
+#define TT this.vmstat
+#endif
+#define FLAG_n (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_w
+#ifndef TT
+#define TT this.w
+#endif
+#endif
+
+#ifdef FOR_watch
+#ifndef TT
+#define TT this.watch
+#endif
+#define FLAG_x (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_e (FORCED_FLAG<<2)
+#define FLAG_t (FORCED_FLAG<<3)
+#define FLAG_n (FORCED_FLAG<<4)
+#endif
+
+#ifdef FOR_watchdog
+#ifndef TT
+#define TT this.watchdog
+#endif
+#define FLAG_T (FORCED_FLAG<<0)
+#define FLAG_t (FORCED_FLAG<<1)
+#define FLAG_F (FORCED_FLAG<<2)
+#endif
+
+#ifdef FOR_wc
+#ifndef TT
+#define TT this.wc
+#endif
+#define FLAG_l (1<<0)
+#define FLAG_w (1<<1)
+#define FLAG_c (1<<2)
+#define FLAG_m (1<<3)
+#endif
+
+#ifdef FOR_wget
+#ifndef TT
+#define TT this.wget
+#endif
+#define FLAG_O (FORCED_FLAG<<0)
+#define FLAG_no_check_certificate (FORCED_FLAG<<1)
+#endif
+
+#ifdef FOR_which
+#ifndef TT
+#define TT this.which
+#endif
+#define FLAG_a (1<<0)
+#endif
+
+#ifdef FOR_who
+#ifndef TT
+#define TT this.who
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#endif
+
+#ifdef FOR_xargs
+#ifndef TT
+#define TT this.xargs
+#endif
+#define FLAG_0 (1<<0)
+#define FLAG_s (1<<1)
+#define FLAG_n (1<<2)
+#define FLAG_r (1<<3)
+#define FLAG_t (1<<4)
+#define FLAG_p (1<<5)
+#define FLAG_o (1<<6)
+#define FLAG_P (1<<7)
+#define FLAG_E (1<<8)
+#endif
+
+#ifdef FOR_xxd
+#ifndef TT
+#define TT this.xxd
+#endif
+#define FLAG_s (1<<0)
+#define FLAG_r (1<<1)
+#define FLAG_p (1<<2)
+#define FLAG_i (1<<3)
+#define FLAG_g (1<<4)
+#define FLAG_o (1<<5)
+#define FLAG_l (1<<6)
+#define FLAG_c (1<<7)
+#endif
+
+#ifdef FOR_xzcat
+#ifndef TT
+#define TT this.xzcat
+#endif
+#endif
+
+#ifdef FOR_yes
+#ifndef TT
+#define TT this.yes
+#endif
+#endif
+
+#ifdef FOR_zcat
+#ifndef TT
+#define TT this.zcat
+#endif
+#define FLAG_9 (1<<0)
+#define FLAG_8 (1<<1)
+#define FLAG_7 (1<<2)
+#define FLAG_6 (1<<3)
+#define FLAG_5 (1<<4)
+#define FLAG_4 (1<<5)
+#define FLAG_3 (1<<6)
+#define FLAG_2 (1<<7)
+#define FLAG_1 (1<<8)
+#define FLAG_k (1<<9)
+#define FLAG_f (1<<10)
+#define FLAG_d (1<<11)
+#define FLAG_c (1<<12)
+#endif
+
diff --git a/android/mac/generated/globals.h b/android/mac/generated/globals.h
new file mode 100644
index 0000000..876e468
--- /dev/null
+++ b/android/mac/generated/globals.h
@@ -0,0 +1,1716 @@
+// toys/android/log.c
+
+struct log_data {
+  char *t, *p;
+};
+
+// toys/example/demo_number.c
+
+struct demo_number_data {
+  long M, D;
+};
+
+// toys/example/hello.c
+
+struct hello_data {
+  int unused;
+};
+
+// toys/example/skeleton.c
+
+struct skeleton_data {
+  union {
+    struct {
+      char *b;
+      long c;
+      struct arg_list *d;
+      long e;
+      char *also, *blubber;
+    } s;
+    struct {
+      long b;
+    } a;
+  };
+
+  int more_globals;
+};
+
+// toys/lsb/dmesg.c
+
+struct dmesg_data {
+  long n, s;
+
+  int use_color;
+  time_t tea;
+};
+
+// toys/lsb/gzip.c
+
+struct gzip_data {
+  int level;
+};
+
+// toys/lsb/hostname.c
+
+struct hostname_data {
+  char *F;
+};
+
+// toys/lsb/killall.c
+
+struct killall_data {
+  char *s;
+
+  int signum;
+  pid_t cur_pid;
+  char **names;
+  short *err;
+  struct int_list { struct int_list *next; int val; } *pids;
+};
+
+// toys/lsb/md5sum.c
+
+struct md5sum_data {
+  int sawline;
+
+  unsigned *md5table;
+  // Crypto variables blanked after summing
+  unsigned state[5], oldstate[5];
+  unsigned long long count;
+  union {
+    char c[64];
+    unsigned i[16];
+  } buffer;
+};
+
+// toys/lsb/mknod.c
+
+struct mknod_data {
+  char *Z, *m;
+};
+
+// toys/lsb/mktemp.c
+
+struct mktemp_data {
+  char *p, *tmpdir;
+};
+
+// toys/lsb/mount.c
+
+struct mount_data {
+  struct arg_list *optlist;
+  char *type;
+  char *bigO;
+
+  unsigned long flags;
+  char *opts;
+  int okuser;
+};
+
+// toys/lsb/passwd.c
+
+struct passwd_data {
+  char *a;
+};
+
+// toys/lsb/pidof.c
+
+struct pidof_data {
+  char *omit;
+};
+
+// toys/lsb/seq.c
+
+struct seq_data {
+  char *s, *f;
+
+  int precision, buflen;
+};
+
+// toys/lsb/su.c
+
+struct su_data {
+  char *s;
+  char *c;
+};
+
+// toys/lsb/umount.c
+
+struct umount_data {
+  struct arg_list *t;
+
+  char *types;
+};
+
+// toys/net/ftpget.c
+
+struct ftpget_data {
+  char *u, *p, *P;
+
+  int fd;
+};
+
+// toys/net/ifconfig.c
+
+struct ifconfig_data {
+  int sockfd;
+};
+
+// toys/net/microcom.c
+
+struct microcom_data {
+  long s;
+
+  int fd, stok;
+  struct termios old_stdin, old_fd;
+};
+
+// toys/net/netcat.c
+
+struct netcat_data {
+  char *f, *s;
+  long q, p, W, w;
+};
+
+// toys/net/netstat.c
+
+struct netstat_data {
+  struct num_cache *inodes;
+  int wpad;
+};
+
+// toys/net/ping.c
+
+struct ping_data {
+  char *I;
+  long w, W, i, s, c, t, m;
+
+  struct sockaddr *sa;
+  int sock;
+  unsigned long sent, recv, fugit, min, max;
+};
+
+// toys/net/sntp.c
+
+struct sntp_data {
+  long r, t;
+  char *p, *m, *M;
+};
+
+// toys/net/tunctl.c
+
+struct tunctl_data {
+  char *u;
+};
+
+// toys/other/acpi.c
+
+struct acpi_data {
+  int ac, bat, therm, cool;
+  char *cpath;
+};
+
+// toys/other/base64.c
+
+struct base64_data {
+  long w;
+  unsigned total;
+  unsigned n;  // number of bits used in encoding. 5 for base32, 6 for base64
+  unsigned align;  // number of bits to align to
+};
+
+// toys/other/blkdiscard.c
+
+struct blkdiscard_data {
+  long o, l;
+};
+
+// toys/other/blkid.c
+
+struct blkid_data {
+  struct arg_list *s;
+};
+
+// toys/other/blockdev.c
+
+struct blockdev_data {
+  long setbsz, setra;
+};
+
+// toys/other/chrt.c
+
+struct chrt_data {
+  long p;
+};
+
+// toys/other/dos2unix.c
+
+struct dos2unix_data {
+  char *tempfile;
+};
+
+// toys/other/fallocate.c
+
+struct fallocate_data {
+  long o, l;
+};
+
+// toys/other/fmt.c
+
+struct fmt_data {
+  int width;
+
+  int level, pos;
+};
+
+// toys/other/free.c
+
+struct free_data {
+  unsigned bits;
+  unsigned long long units;
+  char *buf;
+};
+
+// toys/other/hexedit.c
+
+struct hexedit_data {
+  char *data;
+  long long len, base;
+  int numlen, undo, undolen;
+  unsigned height;
+};
+
+// toys/other/hwclock.c
+
+struct hwclock_data {
+  char *f;
+};
+
+// toys/other/ionice.c
+
+struct ionice_data {
+  long p, n, c;
+};
+
+// toys/other/login.c
+
+struct login_data {
+  char *h, *f;
+
+  int login_timeout, login_fail_timeout;
+};
+
+// toys/other/losetup.c
+
+struct losetup_data {
+  char *j;
+  long o, S;
+
+  int openflags;
+  dev_t jdev;
+  ino_t jino;
+  char *dir;
+};
+
+// toys/other/lsattr.c
+
+struct lsattr_data {
+  long v;
+  long p;
+
+  long add, rm, set;
+  // !add and !rm tell us whether they were used, but `chattr =` is meaningful.
+  int have_set;
+};
+
+// toys/other/lspci.c
+
+struct lspci_data {
+  char *i;
+  long n;
+
+  FILE *db;
+};
+
+// toys/other/makedevs.c
+
+struct makedevs_data {
+  char *d;
+};
+
+// toys/other/mix.c
+
+struct mix_data {
+   long r, l;
+   char *d, *c;
+};
+
+// toys/other/mkpasswd.c
+
+struct mkpasswd_data {
+  long P;
+  char *m, *S;
+};
+
+// toys/other/mkswap.c
+
+struct mkswap_data {
+  char *L;
+};
+
+// toys/other/modinfo.c
+
+struct modinfo_data {
+  char *F, *k, *b;
+
+  long mod;
+  int count;
+};
+
+// toys/other/nsenter.c
+
+struct nsenter_data {
+  char *Uupnmi[6];
+  long t;
+};
+
+// toys/other/oneit.c
+
+struct oneit_data {
+  char *c;
+};
+
+// toys/other/pwgen.c
+
+struct pwgen_data {
+  char *r;
+};
+
+// toys/other/rtcwake.c
+
+struct rtcwake_data {
+  long t, s;
+  char *m, *d;
+};
+
+// toys/other/setfattr.c
+
+struct setfattr_data {
+  char *x, *v, *n;
+};
+
+// toys/other/sha3sum.c
+
+struct sha3sum_data {
+  long a;
+  unsigned long long rc[24];
+};
+
+// toys/other/shred.c
+
+struct shred_data {
+  long o, n, s;
+};
+
+// toys/other/stat.c
+
+struct stat_data {
+  char *c;
+
+  union {
+    struct stat st;
+    struct statfs sf;
+  } stat;
+  char *file, *pattern;
+  int patlen;
+};
+
+// toys/other/swapon.c
+
+struct swapon_data {
+  long p;
+};
+
+// toys/other/switch_root.c
+
+struct switch_root_data {
+  char *c;
+
+  dev_t rootdev;
+};
+
+// toys/other/tac.c
+
+struct tac_data {
+  struct double_list *dl;
+};
+
+// toys/other/timeout.c
+
+struct timeout_data {
+  char *s, *k;
+
+  int nextsig;
+  pid_t pid;
+  struct timeval ktv;
+  struct itimerval itv;
+};
+
+// toys/other/truncate.c
+
+struct truncate_data {
+  char *s;
+
+  long size;
+  int type;
+};
+
+// toys/other/watch.c
+
+struct watch_data {
+  int n;
+
+  pid_t pid, oldpid;
+};
+
+// toys/other/watchdog.c
+
+struct watchdog_data {
+  long T, t;
+
+  int fd;
+};
+
+// toys/other/xxd.c
+
+struct xxd_data {
+  long s, g, o, l, c;
+};
+
+// toys/pending/arp.c
+
+struct arp_data {
+    char *hw_type;
+    char *af_type_A;
+    char *af_type_p;
+    char *interface;
+    
+    int sockfd;
+    char *device;
+};
+
+// toys/pending/arping.c
+
+struct arping_data {
+    long count;
+    unsigned long time_out;
+    char *iface;
+    char *src_ip;
+
+    int sockfd;
+    unsigned long start, end;
+    unsigned sent_at, sent_nr, rcvd_nr, brd_sent, rcvd_req, brd_rcv,
+             unicast_flag;
+};
+
+// toys/pending/bc.c
+
+struct bc_data {
+  // This actually needs to be a BcVm*, but the toybox build
+  // system complains if I make it so. Instead, we'll just cast.
+  char *vm;
+
+  size_t nchars;
+  char *file, sig, max_ibase;
+  uint16_t line_len;
+};
+
+// toys/pending/bootchartd.c
+
+struct bootchartd_data {
+  char buf[32];
+  long msec;
+  int proc_accounting;
+
+  pid_t pid;
+};
+
+// toys/pending/brctl.c
+
+struct brctl_data {
+    int sockfd;
+};
+
+// toys/pending/crond.c
+
+struct crond_data {
+  char *crontabs_dir;
+  char *logfile;
+  int loglevel_d;
+  int loglevel;
+
+  time_t crontabs_dir_mtime;
+  uint8_t flagd;
+};
+
+// toys/pending/crontab.c
+
+struct crontab_data {
+  char *user;
+  char *cdir;
+};
+
+// toys/pending/dd.c
+
+struct dd_data {
+  int show_xfer, show_records;
+  unsigned long long bytes, c_count, in_full, in_part, out_full, out_part;
+  struct timeval start;
+  struct {
+    char *name;
+    int fd;
+    unsigned char *buff, *bp;
+    long sz, count;
+    unsigned long long offset;
+  } in, out;
+  unsigned conv, iflag, oflag;
+};
+
+// toys/pending/dhcp.c
+
+struct dhcp_data {
+    char *iface;
+    char *pidfile;
+    char *script;
+    long retries;
+    long timeout;
+    long tryagain;
+    struct arg_list *req_opt;
+    char *req_ip;
+    struct arg_list *pkt_opt;
+    char *fdn_name;
+    char *hostname;
+    char *vendor_cls;
+};
+
+// toys/pending/dhcp6.c
+
+struct dhcp6_data {
+  char *interface_name, *pidfile, *script;
+  long retry, timeout, errortimeout;
+  char *req_ip;
+  int length, state, request_length, sock, sock1, status, retval, retries;
+  struct timeval tv;
+  uint8_t transction_id[3];
+  struct sockaddr_in6 input_socket6;
+};
+
+// toys/pending/dhcpd.c
+
+struct dhcpd_data {
+    char *iface;
+    long port;
+};
+
+// toys/pending/diff.c
+
+struct diff_data {
+  long ct;
+  char *start;
+  struct arg_list *L_list;
+
+  int dir_num, size, is_binary, status, change, len[2];
+  int *offset[2];
+  struct stat st[2];
+};
+
+// toys/pending/dumpleases.c
+
+struct dumpleases_data {
+    char *file;
+};
+
+// toys/pending/expr.c
+
+struct expr_data {
+  char **tok; // current token, not on the stack since recursive calls mutate it
+
+  char *refree;
+};
+
+// toys/pending/fdisk.c
+
+struct fdisk_data {
+  long sect_sz;
+  long sectors;
+  long heads;
+  long cylinders;
+};
+
+// toys/pending/fold.c
+
+struct fold_data {
+  int width;
+};
+
+// toys/pending/fsck.c
+
+struct fsck_data {
+  int fd_num;
+  char *t_list;
+
+  struct double_list *devices;
+  char *arr_flag;
+  char **arr_type;
+  int negate;
+  int sum_status;
+  int nr_run;
+  int sig_num;
+  long max_nr_run;
+};
+
+// toys/pending/getfattr.c
+
+struct getfattr_data {
+  char *n;
+};
+
+// toys/pending/getopt.c
+
+struct getopt_data {
+  struct arg_list *l;
+  char *o, *n;
+};
+
+// toys/pending/getty.c
+
+struct getty_data {
+  char *issue_str;
+  char *login_str;
+  char *init_str;
+  char *host_str; 
+  long timeout;
+  
+  char *tty_name, buff[128];
+  int speeds[20], sc;
+  struct termios termios;
+};
+
+// toys/pending/groupadd.c
+
+struct groupadd_data {
+  long gid;
+};
+
+// toys/pending/host.c
+
+struct host_data {
+  char *type_str;
+};
+
+// toys/pending/ip.c
+
+struct ip_data {
+  char stats, singleline, flush, *filter_dev, gbuf[8192];
+  int sockfd, connected, from_ok, route_cmd;
+  int8_t addressfamily, is_addr;
+};
+
+// toys/pending/ipcrm.c
+
+struct ipcrm_data {
+  struct arg_list *qkey;
+  struct arg_list *qid;
+  struct arg_list *skey;
+  struct arg_list *sid;
+  struct arg_list *mkey;
+  struct arg_list *mid;
+};
+
+// toys/pending/ipcs.c
+
+struct ipcs_data {
+  int id;
+};
+
+// toys/pending/klogd.c
+
+struct klogd_data {
+  long level;
+
+  int fd;
+};
+
+// toys/pending/last.c
+
+struct last_data {
+  char *file;
+
+  struct arg_list *list;
+};
+
+// toys/pending/lsof.c
+
+struct lsof_data {
+  struct arg_list *p;
+
+  struct stat *sought_files;
+  struct double_list *all_sockets, *files;
+  int last_shown_pid, shown_header;
+};
+
+// toys/pending/man.c
+
+struct man_data {
+  char *M, *k;
+
+  char any, cell, ex, *f, k_done, *line, *m, **sct, **scts, **sufs;
+  regex_t reg;
+};
+
+// toys/pending/mke2fs.c
+
+struct mke2fs_data {
+  // Command line arguments.
+  long blocksize;
+  long bytes_per_inode;
+  long inodes;           // Total inodes in filesystem.
+  long reserved_percent; // Integer precent of space to reserve for root.
+  char *gendir;          // Where to read dirtree from.
+
+  // Internal data.
+  struct dirtree *dt;    // Tree of files to copy into the new filesystem.
+  unsigned treeblocks;   // Blocks used by dt
+  unsigned treeinodes;   // Inodes used by dt
+
+  unsigned blocks;       // Total blocks in the filesystem.
+  unsigned freeblocks;   // Free blocks in the filesystem.
+  unsigned inodespg;     // Inodes per group
+  unsigned groups;       // Total number of block groups.
+  unsigned blockbits;    // Bits per block.  (Also blocks per group.)
+
+  // For gene2fs
+  unsigned nextblock;    // Next data block to allocate
+  unsigned nextgroup;    // Next group we'll be allocating from
+  int fsfd;              // File descriptor of filesystem (to output to).
+};
+
+// toys/pending/modprobe.c
+
+struct modprobe_data {
+  struct arg_list *dirs;
+
+  struct arg_list *probes;
+  struct arg_list *dbase[256];
+  char *cmdopts;
+  int nudeps;
+  uint8_t symreq;
+};
+
+// toys/pending/more.c
+
+struct more_data {
+  struct termios inf;
+  int cin_fd;
+};
+
+// toys/pending/openvt.c
+
+struct openvt_data {
+  long c;
+};
+
+// toys/pending/readelf.c
+
+struct readelf_data {
+  char *x, *p;
+
+  char *elf, *shstrtab, *f;
+  unsigned long long shoff, phoff, size, shstrtabsz;
+  int bits, endian, shnum, shentsize, phentsize;
+};
+
+// toys/pending/route.c
+
+struct route_data {
+  char *A;
+};
+
+// toys/pending/sh.c
+
+struct sh_data {
+  union {
+    struct {
+      char *c;
+    } sh;
+    struct {
+      char *a;
+    } exec;
+  };
+
+  // keep ifs here: used to work around compiler limitation in run_command()
+  char *ifs, *isexec, *wcpat;
+  unsigned options, jobcnt, LINENO;
+  int hfd, pid, bangpid, varslen, cdcount;
+  long long SECONDS;
+
+  // global and local variables
+  struct sh_vars {
+    long flags;
+    char *str;
+  } *vars;
+
+  // Parsed functions
+  struct sh_function {
+    char *name;
+    struct sh_pipeline {  // pipeline segments: linked list of arg w/metadata
+      struct sh_pipeline *next, *prev, *end;
+      unsigned lineno;
+      int count, here, type; // TODO abuse type to replace count during parsing
+      struct sh_arg {
+        char **v;
+        int c;
+      } arg[1];
+    } *pipeline;
+    struct double_list *expect; // should be zero at end of parsing
+  } *functions;
+
+// TODO ctrl-Z suspend should stop script
+  struct sh_process {
+    struct sh_process *next, *prev; // | && ||
+    struct arg_list *delete;   // expanded strings
+    // undo redirects, a=b at start, child PID, exit status, has !, job #
+    int *urd, envlen, pid, exit, not, job;
+    long long when; // when job backgrounded/suspended
+    struct sh_arg *raw, arg;
+  } *pp; // currently running process
+
+  struct sh_callstack {
+    struct sh_callstack *next;
+    struct sh_function scratch;
+    struct sh_arg arg;
+    struct arg_list *delete;
+    unsigned lineno;
+    long shift;
+  } *cc;
+
+  // job list, command line for $*, scratch space for do_wildcard_files()
+  struct sh_arg jobs, *wcdeck;
+};
+
+// toys/pending/stty.c
+
+struct stty_data {
+  char *F;
+
+  int fd, col;
+  unsigned output_cols;
+};
+
+// toys/pending/sulogin.c
+
+struct sulogin_data {
+  long timeout;
+  struct termios crntio;
+};
+
+// toys/pending/syslogd.c
+
+struct syslogd_data {
+  char *socket;
+  char *config_file;
+  char *unix_socket;
+  char *logfile;
+  long interval;
+  long rot_size;
+  long rot_count;
+  char *remote_log;
+  long log_prio;
+
+  struct unsocks *lsocks;  // list of listen sockets
+  struct logfile *lfiles;  // list of write logfiles
+  int sigfd[2];
+};
+
+// toys/pending/tcpsvd.c
+
+struct tcpsvd_data {
+  char *name;
+  char *user;
+  long bn;
+  char *nmsg;
+  long cn;
+
+  int maxc;
+  int count_all;
+  int udp;
+};
+
+// toys/pending/telnet.c
+
+struct telnet_data {
+  int port;
+  int sfd;
+  char buff[128];
+  int pbuff;
+  char iac[256];
+  int piac;
+  char *ttype;
+  struct termios def_term;
+  struct termios raw_term;
+  uint8_t term_ok;
+  uint8_t term_mode;
+  uint8_t flags;
+  unsigned win_width;
+  unsigned win_height;
+};
+
+// toys/pending/telnetd.c
+
+struct telnetd_data {
+    char *login_path;
+    char *issue_path;
+    int port;
+    char *host_addr;
+    long w_sec;
+
+    int gmax_fd;
+    pid_t fork_pid;
+};
+
+// toys/pending/tftp.c
+
+struct tftp_data {
+  char *local_file;
+  char *remote_file;
+  long block_size;
+
+  struct sockaddr_storage inaddr;
+  int af;
+};
+
+// toys/pending/tftpd.c
+
+struct tftpd_data {
+  char *user;
+
+  long sfd;
+  struct passwd *pw;
+};
+
+// toys/pending/tr.c
+
+struct tr_data {
+  short map[256]; //map of chars
+  int len1, len2;
+};
+
+// toys/pending/traceroute.c
+
+struct traceroute_data {
+  long max_ttl;
+  long port;
+  long ttl_probes;
+  char *src_ip;
+  long tos;
+  long wait_time;
+  struct arg_list *loose_source;
+  long pause_time;
+  long first_ttl;
+  char *iface;
+
+  uint32_t gw_list[9];
+  int recv_sock;
+  int snd_sock;
+  unsigned msg_len;
+  char *packet;
+  uint32_t ident;
+  int istraceroute6;
+};
+
+// toys/pending/useradd.c
+
+struct useradd_data {
+  char *dir;
+  char *gecos;
+  char *shell;
+  char *u_grp;
+  long uid;
+
+  long gid;
+};
+
+// toys/pending/vi.c
+
+struct vi_data {
+  char *s;
+  int vi_mode, tabstop, list;
+  int cur_col, cur_row, scr_row;
+  int drawn_row, drawn_col;
+  int count0, count1, vi_mov_flag;
+  unsigned screen_height, screen_width;
+  char vi_reg, *last_search;
+  struct str_line {
+    int alloc;
+    int len;
+    char *data;
+  } *il;
+  size_t screen, cursor; //offsets
+  //yank buffer
+  struct yank_buf {
+    char reg;
+    int alloc;
+    char* data;
+  } yank;
+
+  int modified;
+  size_t filesize;
+// mem_block contains RO data that is either original file as mmap
+// or heap allocated inserted data
+//
+//
+//
+  struct block_list {
+    struct block_list *next, *prev;
+    struct mem_block {
+      size_t size;
+      size_t len;
+      enum alloc_flag {
+        MMAP,  //can be munmap() before exit()
+        HEAP,  //can be free() before exit()
+        STACK, //global or stack perhaps toybuf
+      } alloc;
+      const char *data;
+    } *node;
+  } *text;
+
+// slices do not contain actual allocated data but slices of data in mem_block
+// when file is first opened it has only one slice.
+// after inserting data into middle new mem_block is allocated for insert data
+// and 3 slices are created, where first and last slice are pointing to original
+// mem_block with offsets, and middle slice is pointing to newly allocated block
+// When deleting, data is not freed but mem_blocks are sliced more such way that
+// deleted data left between 2 slices
+  struct slice_list {
+    struct slice_list *next, *prev;
+    struct slice {
+      size_t len;
+      const char *data;
+    } *node;
+  } *slices;
+};
+
+// toys/pending/wget.c
+
+struct wget_data {
+  char *filename;
+};
+
+// toys/posix/basename.c
+
+struct basename_data {
+  char *s;
+};
+
+// toys/posix/cal.c
+
+struct cal_data {
+  struct tm *now;
+};
+
+// toys/posix/chgrp.c
+
+struct chgrp_data {
+  uid_t owner;
+  gid_t group;
+  char *owner_name, *group_name;
+  int symfollow;
+};
+
+// toys/posix/chmod.c
+
+struct chmod_data {
+  char *mode;
+};
+
+// toys/posix/cksum.c
+
+struct cksum_data {
+  unsigned crc_table[256];
+};
+
+// toys/posix/cmp.c
+
+struct cmp_data {
+  int fd;
+  char *name;
+};
+
+// toys/posix/cp.c
+
+struct cp_data {
+  union {
+    // install's options
+    struct {
+      char *g, *o, *m;
+    } i;
+    // cp's options
+    struct {
+      char *preserve;
+    } c;
+  };
+
+  char *destname;
+  struct stat top;
+  int (*callback)(struct dirtree *try);
+  uid_t uid;
+  gid_t gid;
+  int pflags;
+};
+
+// toys/posix/cpio.c
+
+struct cpio_data {
+  char *F, *H;
+};
+
+// toys/posix/cut.c
+
+struct cut_data {
+  char *d, *O;
+  struct arg_list *select[5]; // we treat them the same, so loop through
+
+  int pairs;
+  regex_t reg;
+};
+
+// toys/posix/date.c
+
+struct date_data {
+  char *r, *I, *D, *d;
+
+  unsigned nano;
+};
+
+// toys/posix/df.c
+
+struct df_data {
+  struct arg_list *t;
+
+  long units;
+  int column_widths[5];
+  int header_shown;
+};
+
+// toys/posix/du.c
+
+struct du_data {
+  long d;
+
+  unsigned long depth, total;
+  dev_t st_dev;
+  void *inodes;
+};
+
+// toys/posix/env.c
+
+struct env_data {
+  struct arg_list *u;
+};
+
+// toys/posix/expand.c
+
+struct expand_data {
+  struct arg_list *t;
+
+  unsigned tabcount, *tab;
+};
+
+// toys/posix/file.c
+
+struct file_data {
+  int max_name_len;
+
+  off_t len;
+};
+
+// toys/posix/find.c
+
+struct find_data {
+  char **filter;
+  struct double_list *argdata;
+  int topdir, xdev, depth;
+  time_t now;
+  long max_bytes;
+  char *start;
+};
+
+// toys/posix/grep.c
+
+struct grep_data {
+  long m, A, B, C;
+  struct arg_list *f, *e, *M, *S, *exclude_dir;
+  char *color;
+
+  char *purple, *cyan, *red, *green, *grey;
+  struct double_list *reg;
+  char indelim, outdelim;
+  int found, tried;
+};
+
+// toys/posix/head.c
+
+struct head_data {
+  long c, n;
+
+  int file_no;
+};
+
+// toys/posix/iconv.c
+
+struct iconv_data {
+  char *f, *t;
+
+  void *ic;
+};
+
+// toys/posix/id.c
+
+struct id_data {
+  int is_groups;
+};
+
+// toys/posix/kill.c
+
+struct kill_data {
+  char *s;
+  struct arg_list *o;
+};
+
+// toys/posix/ln.c
+
+struct ln_data {
+  char *t;
+};
+
+// toys/posix/logger.c
+
+struct logger_data {
+  char *p, *t;
+};
+
+// toys/posix/ls.c
+
+struct ls_data {
+  long w;
+  long l;
+  char *color;
+
+  struct dirtree *files, *singledir;
+  unsigned screen_width;
+  int nl_title;
+  char *escmore;
+};
+
+// toys/posix/mkdir.c
+
+struct mkdir_data {
+  char *m, *Z;
+};
+
+// toys/posix/mkfifo.c
+
+struct mkfifo_data {
+  char *m;
+  char *Z;
+
+  mode_t mode;
+};
+
+// toys/posix/nice.c
+
+struct nice_data {
+  long n;
+};
+
+// toys/posix/nl.c
+
+struct nl_data {
+  char *s, *n, *b;
+  long w, l, v;
+
+  // Count of consecutive blank lines for -l has to persist between files
+  long lcount;
+  long slen;
+};
+
+// toys/posix/od.c
+
+struct od_data {
+  struct arg_list *t;
+  char *A;
+  long N, w, j;
+
+  int address_idx;
+  unsigned types, leftover, star;
+  char *buf; // Points to buffers[0] or buffers[1].
+  char *bufs[2]; // Used to detect duplicate lines.
+  off_t pos;
+};
+
+// toys/posix/paste.c
+
+struct paste_data {
+  char *d;
+
+  int files;
+};
+
+// toys/posix/patch.c
+
+struct patch_data {
+  char *i, *d;
+  long p, g, F;
+
+  void *current_hunk;
+  long oldline, oldlen, newline, newlen, linenum, outnum;
+  int context, state, filein, fileout, filepatch, hunknum;
+  char *tempname;
+};
+
+// toys/posix/ps.c
+
+struct ps_data {
+  union {
+    struct {
+      struct arg_list *G, *g, *U, *u, *t, *s, *p, *O, *o, *P, *k;
+    } ps;
+    struct {
+      long n, m, d, s;
+      struct arg_list *u, *p, *o, *k, *O;
+    } top;
+    struct {
+      char *L;
+      struct arg_list *G, *g, *P, *s, *t, *U, *u;
+      char *d;
+
+      void *regexes, *snapshot;
+      int signal;
+      pid_t self, match;
+    } pgrep;
+  };
+
+  struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
+  struct dirtree *threadparent;
+  unsigned width, height;
+  dev_t tty;
+  void *fields, *kfields;
+  long long ticks, bits, time;
+  int kcount, forcek, sortpos, pidlen;
+  int (*match_process)(long long *slot);
+  void (*show_process)(void *tb);
+};
+
+// toys/posix/renice.c
+
+struct renice_data {
+  long n;
+};
+
+// toys/posix/sed.c
+
+struct sed_data {
+  char *i;
+  struct arg_list *f, *e;
+
+  // processed pattern list
+  struct double_list *pattern;
+
+  char *nextline, *remember;
+  void *restart, *lastregex;
+  long nextlen, rememberlen, count;
+  int fdout, noeol;
+  unsigned xx;
+  char delim;
+};
+
+// toys/posix/sort.c
+
+struct sort_data {
+  char *t;
+  struct arg_list *k;
+  char *o, *T, S;
+
+  void *key_list;
+  int linecount;
+  char **lines, *name;
+};
+
+// toys/posix/split.c
+
+struct split_data {
+  long l, b, a;
+
+  char *outfile;
+};
+
+// toys/posix/strings.c
+
+struct strings_data {
+  long n;
+  char *t;
+};
+
+// toys/posix/tail.c
+
+struct tail_data {
+  long n, c;
+
+  int file_no, last_fd;
+  struct xnotify *not;
+};
+
+// toys/posix/tar.c
+
+struct tar_data {
+  char *f, *C;
+  struct arg_list *T, *X;
+  char *I, *to_command, *owner, *group, *mtime, *mode;
+  struct arg_list *exclude;
+
+  struct double_list *incl, *excl, *seen;
+  struct string_list *dirs;
+  char *cwd;
+  int fd, ouid, ggid, hlc, warn, adev, aino, sparselen;
+  long long *sparse;
+  time_t mtt;
+
+  // hardlinks seen so far (hlc many)
+  struct {
+    char *arg;
+    ino_t ino;
+    dev_t dev;
+  } *hlx;
+
+  // Parsed information about a tar header.
+  struct tar_header {
+    char *name, *link_target, *uname, *gname;
+    long long size, ssize;
+    uid_t uid;
+    gid_t gid;
+    mode_t mode;
+    time_t mtime;
+    dev_t device;
+  } hdr;
+};
+
+// toys/posix/tee.c
+
+struct tee_data {
+  void *outputs;
+  int out;
+};
+
+// toys/posix/touch.c
+
+struct touch_data {
+  char *t, *r, *d;
+};
+
+// toys/posix/ulimit.c
+
+struct ulimit_data {
+  long P;
+};
+
+// toys/posix/uniq.c
+
+struct uniq_data {
+  long w, s, f;
+
+  long repeats;
+};
+
+// toys/posix/uudecode.c
+
+struct uudecode_data {
+  char *o;
+};
+
+// toys/posix/wc.c
+
+struct wc_data {
+  unsigned long totals[4];
+};
+
+// toys/posix/xargs.c
+
+struct xargs_data {
+  long s, n, P;
+  char *E;
+
+  long entries, bytes, np;
+  char delim;
+  FILE *tty;
+};
+
+extern union global_union {
+	struct log_data log;
+	struct demo_number_data demo_number;
+	struct hello_data hello;
+	struct skeleton_data skeleton;
+	struct dmesg_data dmesg;
+	struct gzip_data gzip;
+	struct hostname_data hostname;
+	struct killall_data killall;
+	struct md5sum_data md5sum;
+	struct mknod_data mknod;
+	struct mktemp_data mktemp;
+	struct mount_data mount;
+	struct passwd_data passwd;
+	struct pidof_data pidof;
+	struct seq_data seq;
+	struct su_data su;
+	struct umount_data umount;
+	struct ftpget_data ftpget;
+	struct ifconfig_data ifconfig;
+	struct microcom_data microcom;
+	struct netcat_data netcat;
+	struct netstat_data netstat;
+	struct ping_data ping;
+	struct sntp_data sntp;
+	struct tunctl_data tunctl;
+	struct acpi_data acpi;
+	struct base64_data base64;
+	struct blkdiscard_data blkdiscard;
+	struct blkid_data blkid;
+	struct blockdev_data blockdev;
+	struct chrt_data chrt;
+	struct dos2unix_data dos2unix;
+	struct fallocate_data fallocate;
+	struct fmt_data fmt;
+	struct free_data free;
+	struct hexedit_data hexedit;
+	struct hwclock_data hwclock;
+	struct ionice_data ionice;
+	struct login_data login;
+	struct losetup_data losetup;
+	struct lsattr_data lsattr;
+	struct lspci_data lspci;
+	struct makedevs_data makedevs;
+	struct mix_data mix;
+	struct mkpasswd_data mkpasswd;
+	struct mkswap_data mkswap;
+	struct modinfo_data modinfo;
+	struct nsenter_data nsenter;
+	struct oneit_data oneit;
+	struct pwgen_data pwgen;
+	struct rtcwake_data rtcwake;
+	struct setfattr_data setfattr;
+	struct sha3sum_data sha3sum;
+	struct shred_data shred;
+	struct stat_data stat;
+	struct swapon_data swapon;
+	struct switch_root_data switch_root;
+	struct tac_data tac;
+	struct timeout_data timeout;
+	struct truncate_data truncate;
+	struct watch_data watch;
+	struct watchdog_data watchdog;
+	struct xxd_data xxd;
+	struct arp_data arp;
+	struct arping_data arping;
+	struct bc_data bc;
+	struct bootchartd_data bootchartd;
+	struct brctl_data brctl;
+	struct crond_data crond;
+	struct crontab_data crontab;
+	struct dd_data dd;
+	struct dhcp_data dhcp;
+	struct dhcp6_data dhcp6;
+	struct dhcpd_data dhcpd;
+	struct diff_data diff;
+	struct dumpleases_data dumpleases;
+	struct expr_data expr;
+	struct fdisk_data fdisk;
+	struct fold_data fold;
+	struct fsck_data fsck;
+	struct getfattr_data getfattr;
+	struct getopt_data getopt;
+	struct getty_data getty;
+	struct groupadd_data groupadd;
+	struct host_data host;
+	struct ip_data ip;
+	struct ipcrm_data ipcrm;
+	struct ipcs_data ipcs;
+	struct klogd_data klogd;
+	struct last_data last;
+	struct lsof_data lsof;
+	struct man_data man;
+	struct mke2fs_data mke2fs;
+	struct modprobe_data modprobe;
+	struct more_data more;
+	struct openvt_data openvt;
+	struct readelf_data readelf;
+	struct route_data route;
+	struct sh_data sh;
+	struct stty_data stty;
+	struct sulogin_data sulogin;
+	struct syslogd_data syslogd;
+	struct tcpsvd_data tcpsvd;
+	struct telnet_data telnet;
+	struct telnetd_data telnetd;
+	struct tftp_data tftp;
+	struct tftpd_data tftpd;
+	struct tr_data tr;
+	struct traceroute_data traceroute;
+	struct useradd_data useradd;
+	struct vi_data vi;
+	struct wget_data wget;
+	struct basename_data basename;
+	struct cal_data cal;
+	struct chgrp_data chgrp;
+	struct chmod_data chmod;
+	struct cksum_data cksum;
+	struct cmp_data cmp;
+	struct cp_data cp;
+	struct cpio_data cpio;
+	struct cut_data cut;
+	struct date_data date;
+	struct df_data df;
+	struct du_data du;
+	struct env_data env;
+	struct expand_data expand;
+	struct file_data file;
+	struct find_data find;
+	struct grep_data grep;
+	struct head_data head;
+	struct iconv_data iconv;
+	struct id_data id;
+	struct kill_data kill;
+	struct ln_data ln;
+	struct logger_data logger;
+	struct ls_data ls;
+	struct mkdir_data mkdir;
+	struct mkfifo_data mkfifo;
+	struct nice_data nice;
+	struct nl_data nl;
+	struct od_data od;
+	struct paste_data paste;
+	struct patch_data patch;
+	struct ps_data ps;
+	struct renice_data renice;
+	struct sed_data sed;
+	struct sort_data sort;
+	struct split_data split;
+	struct strings_data strings;
+	struct tail_data tail;
+	struct tar_data tar;
+	struct tee_data tee;
+	struct touch_data touch;
+	struct ulimit_data ulimit;
+	struct uniq_data uniq;
+	struct uudecode_data uudecode;
+	struct wc_data wc;
+	struct xargs_data xargs;
+} this;
diff --git a/android/mac/generated/help.h b/android/mac/generated/help.h
new file mode 100644
index 0000000..dfe4a40
--- /dev/null
+++ b/android/mac/generated/help.h
@@ -0,0 +1,640 @@
+#define HELP_toybox_force_nommu "When using musl-libc on a nommu system, you'll need to say \"y\" here\nunless you used the patch in the mcm-buildall.sh script. You can also\nsay \"y\" here to test the nommu codepaths on an mmu system.\n\nA nommu system can't use fork(), it can only vfork() which suspends\nthe parent until the child calls exec() or exits. When a program\nneeds a second instance of itself to run specific code at the same\ntime as the parent, it must use a more complicated approach (such as\nexec(\"/proc/self/exe\") then pass data to the new child through a pipe)\nwhich is larger and slower, especially for things like toysh subshells\nthat need to duplicate a lot of internal state in the child process\nfork() gives you for free.\n\nLibraries like uclibc omit fork() on nommu systems, allowing\ncompile-time probes to select which codepath to use. But musl\nintentionally includes a broken version of fork() that always returns\n-ENOSYS on nommu systems, and goes out of its way to prevent any\ncross-compile compatible compile-time probes for a nommu system.\n(It doesn't even #define __MUSL__ in features.h.) Musl does this\ndespite the fact that a nommu system can't even run standard ELF\nbinaries (requiring specially packaged executables) because it wants\nto force every program to either include all nommu code in every\ninstance ever built, or drop nommu support altogether.\n\nBuilding a toolchain scripts/mcm-buildall.sh patches musl to fix this."
+
+#define HELP_toybox_uid_usr "When commands like useradd/groupadd allocate user IDs, start here."
+
+#define HELP_toybox_uid_sys "When commands like useradd/groupadd allocate system IDs, start here."
+
+#define HELP_toybox_pedantic_args "Check arguments for commands that have no arguments."
+
+#define HELP_toybox_debug "Enable extra checks for debugging purposes. All of them catch\nthings that can only go wrong at development time, not runtime."
+
+#define HELP_toybox_norecurse "When one toybox command calls another, usually it just calls the new\ncommand's main() function rather than searching the $PATH and calling\nexec on another file (which is much slower).\n\nThis disables that optimization, so toybox will run external commands\n       even when it has a built-in version of that command. This requires\n       toybox symlinks to be installed in the $PATH, or re-invoking the\n       \"toybox\" multiplexer command by name."
+
+#define HELP_toybox_free "When a program exits, the operating system will clean up after it\n(free memory, close files, etc). To save size, toybox usually relies\non this behavior. If you're running toybox under a debugger or\nwithout a real OS (ala newlib+libgloss), enable this to make toybox\nclean up after itself."
+
+#define HELP_toybox_help_dashdash "Support --help argument in all commands, even ones with a NULL\noptstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output\nas \"help command\". --version shows toybox version."
+
+#define HELP_toybox_help "Include help text for each command."
+
+#define HELP_toybox_float "Include floating point support infrastructure and commands that\nrequire it."
+
+#define HELP_toybox_libz "Use libz for gz support."
+
+#define HELP_toybox_libcrypto "Use faster hash functions out of external -lcrypto library."
+
+#define HELP_toybox_smack "Include SMACK options in commands like ls for systems like Tizen."
+
+#define HELP_toybox_selinux "Include SELinux options in commands such as ls, and add\nSELinux-specific commands such as chcon to the Android menu."
+
+#define HELP_toybox_lsm_none "Don't try to achieve \"watertight\" by plugging the holes in a\ncollander, instead use conventional unix security (and possibly\nLinux Containers) for a simple straightforward system."
+
+#define HELP_toybox_suid "Support for the Set User ID bit, to install toybox suid root and drop\npermissions for commands which do not require root access. To use\nthis change ownership of the file to the root user and set the suid\nbit in the file permissions:\n\nchown root:root toybox; chmod +s toybox\n\nprompt \"Security Blanket\"\ndefault TOYBOX_LSM_NONE\nhelp\nSelect a Linux Security Module to complicate your system\nuntil you can't find holes in it."
+
+#define HELP_toybox "usage: toybox [--long | --help | --version | [COMMAND] [ARGUMENTS...]]\n\nWith no arguments, \"toybox\" shows available COMMAND names. Add --long\nto include suggested install path for each command, see\nhttps://landley.net/toybox/faq.html#install for details.\n\nFirst argument is name of a COMMAND to run, followed by any ARGUMENTS\nto that command. Most toybox commands also understand:\n\n--help		Show command help (only)\n--version	Show toybox version (only)\n\nThe filename \"-\" means stdin/stdout, and \"--\" stops argument parsing.\n\nNumerical arguments accept a single letter suffix for\nkilo, mega, giga, tera, peta, and exabytes, plus an additional\n\"d\" to indicate decimal 1000's instead of 1024.\n\nDurations can be decimal fractions and accept minute (\"m\"), hour (\"h\"),\nor day (\"d\") suffixes (so 0.1m = 6s)."
+
+#define HELP_setenforce "usage: setenforce [enforcing|permissive|1|0]\n\nSets whether SELinux is enforcing (1) or permissive (0)."
+
+#define HELP_sendevent "usage: sendevent DEVICE TYPE CODE VALUE\n\nSends a Linux input event."
+
+#define HELP_runcon "usage: runcon CONTEXT COMMAND [ARGS...]\n\nRun a command in a specified security context."
+
+#define HELP_restorecon "usage: restorecon [-D] [-F] [-R] [-n] [-v] FILE...\n\nRestores the default security contexts for the given files.\n\n-D	Apply to /data/data too\n-F	Force reset\n-R	Recurse into directories\n-n	Don't make any changes; useful with -v to see what would change\n-v	Verbose"
+
+#define HELP_log "usage: log [-p PRI] [-t TAG] MESSAGE...\n\nLogs message to logcat.\n\n-p	Use the given priority instead of INFO:\n	d: DEBUG  e: ERROR  f: FATAL  i: INFO  v: VERBOSE  w: WARN  s: SILENT\n-t	Use the given tag instead of \"log\""
+
+#define HELP_load_policy "usage: load_policy FILE\n\nLoad the specified SELinux policy file."
+
+#define HELP_getenforce "usage: getenforce\n\nShows whether SELinux is disabled, enforcing, or permissive."
+
+#define HELP_skeleton_alias "usage: skeleton_alias [-dq] [-b NUMBER]\n\nExample of a second command with different arguments in the same source\nfile as the first. This allows shared infrastructure not added to lib/."
+
+#define HELP_skeleton "usage: skeleton [-a] [-b STRING] [-c NUMBER] [-d LIST] [-e COUNT] [...]\n\nTemplate for new commands. You don't need this.\n\nWhen creating a new command, copy this file and delete the parts you\ndon't need. Be sure to replace all instances of \"skeleton\" (upper and lower\ncase) with your new command name.\n\nFor simple commands, \"hello.c\" is probably a better starting point."
+
+#define HELP_logwrapper "usage: logwrapper ...\n\nAppend command line to $WRAPLOG, then call second instance\nof command in $PATH."
+
+#define HELP_hostid "usage: hostid\n\nPrint the numeric identifier for the current host."
+
+#define HELP_hello "usage: hello\n\nA hello world program.\n\nMostly used as a simple template for adding new commands.\nOccasionally nice to smoketest kernel booting via \"init=/usr/bin/hello\"."
+
+#define HELP_demo_utf8towc "usage: demo_utf8towc\n\nPrint differences between toybox's utf8 conversion routines vs libc du jour."
+
+#define HELP_demo_scankey "usage: demo_scankey\n\nMove a letter around the screen. Hit ESC to exit."
+
+#define HELP_demo_number "usage: demo_number [-hsbi] [-D LEN] NUMBER...\n\n-D	output field is LEN chars\n-M	input units (index into bkmgtpe)\n-c	Comma comma down do be do down down\n-b	Use \"B\" for single byte units (HR_B)\n-d	Decimal units\n-h	Human readable\n-s	Space between number and units (HR_SPACE)"
+
+#define HELP_demo_many_options "usage: demo_many_options -[a-zA-Z]\n\nPrint the optflags value of the command arguments, in hex."
+
+#define HELP_umount "usage: umount [-a [-t TYPE[,TYPE...]]] [-vrfD] [DIR...]\n\nUnmount the listed filesystems.\n\n-a	Unmount all mounts in /proc/mounts instead of command line list\n-D	Don't free loopback device(s)\n-f	Force unmount\n-l	Lazy unmount (detach from filesystem now, close when last user does)\n-n	Don't use /proc/mounts\n-r	Remount read only if unmounting fails\n-t	Restrict \"all\" to mounts of TYPE (or use \"noTYPE\" to skip)\n-v	Verbose"
+
+#define HELP_sync "usage: sync\n\nWrite pending cached data to disk (synchronize), blocking until done."
+
+#define HELP_su "usage: su [-lp] [-u UID] [-g GID,...] [-s SHELL] [-c CMD] [USER [COMMAND...]]\n\nSwitch user, prompting for password of new user when not run as root.\n\nWith one argument, switch to USER and run user's shell from /etc/passwd.\nWith no arguments, USER is root. If COMMAND line provided after USER,\nexec() it as new USER (bypassing shell). If -u or -g specified, first\nargument (if any) isn't USER (it's COMMAND).\n\nfirst argument is USER name to switch to (which must exist).\nNon-root users are prompted for new user's password.\n\n-s	Shell to use (default is user's shell from /etc/passwd)\n-c	Command line to pass to -s shell (ala sh -c \"CMD\")\n-l	Reset environment as if new login.\n-u	Switch to UID instead of USER\n-g	Switch to GID (only root allowed, can be comma separated list)\n-p	Preserve environment (except for $PATH and $IFS)"
+
+#define HELP_seq "usage: seq [-w|-f fmt_str] [-s sep_str] [first] [increment] last\n\nCount from first to last, by increment. Omitted arguments default\nto 1. Two arguments are used as first and last. Arguments can be\nnegative or floating point.\n\n-f	Use fmt_str as a printf-style floating point format string\n-s	Use sep_str as separator, default is a newline character\n-w	Pad to equal width with leading zeroes"
+
+#define HELP_pidof "usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME]...\n\nPrint the PIDs of all processes with the given names.\n\n-s	Single shot, only return one pid\n-o	Omit PID(s)\n-x	Match shell scripts too"
+
+#define HELP_passwd_sad "Password changes are checked to make sure they're at least 6 chars long,\ndon't include the entire username (but not a subset of it), or the entire\nprevious password (but changing password1, password2, password3 is fine).\nThis heuristic accepts \"aaaaaa\" and \"123456\"."
+
+#define HELP_passwd "usage: passwd [-a ALGO] [-dlu] [USER]\n\nUpdate user's authentication tokens. Defaults to current user.\n\n-a ALGO	Encryption method (des, md5, sha256, sha512) default: des\n-d		Set password to ''\n-l		Lock (disable) account\n-u		Unlock (enable) account"
+
+#define HELP_mount "usage: mount [-afFrsvw] [-t TYPE] [-o OPTION,] [[DEVICE] DIR]\n\nMount new filesystem(s) on directories. With no arguments, display existing\nmounts.\n\n-a	Mount all entries in /etc/fstab (with -t, only entries of that TYPE)\n-O	Only mount -a entries that have this option\n-f	Fake it (don't actually mount)\n-r	Read only (same as -o ro)\n-w	Read/write (default, same as -o rw)\n-t	Specify filesystem type\n-v	Verbose\n\nOPTIONS is a comma separated list of options, which can also be supplied\nas --longopts.\n\nAutodetects loopback mounts (a file on a directory) and bind mounts (file\non file, directory on directory), so you don't need to say --bind or --loop.\nYou can also \"mount -a /path\" to mount everything in /etc/fstab under /path,\neven if it's noauto. DEVICE starting with UUID= is identified by blkid -U."
+
+#define HELP_mktemp "usage: mktemp [-dqu] [-p DIR] [TEMPLATE]\n\nSafely create a new file \"DIR/TEMPLATE\" and print its name.\n\n-d	Create directory instead of file (--directory)\n-p	Put new file in DIR (--tmpdir)\n-q	Quiet, no error messages\n-t	Prefer $TMPDIR > DIR > /tmp (default DIR > $TMPDIR > /tmp)\n-u	Don't create anything, just print what would be created\n\nEach X in TEMPLATE is replaced with a random printable character. The\ndefault TEMPLATE is tmp.XXXXXXXXXX."
+
+#define HELP_mknod_z "usage: mknod [-Z CONTEXT] ...\n\n-Z	Set security context to created file"
+
+#define HELP_mknod "usage: mknod [-m MODE] NAME TYPE [MAJOR MINOR]\n\nCreate a special file NAME with a given type. TYPE is b for block device,\nc or u for character device, p for named pipe (which ignores MAJOR/MINOR).\n\n-m	Mode (file permissions) of new device, in octal or u+x format"
+
+#define HELP_sha512sum "See sha1sum"
+
+#define HELP_sha384sum "See sha1sum"
+
+#define HELP_sha256sum "See sha1sum"
+
+#define HELP_sha224sum "See sha1sum"
+
+#define HELP_sha1sum "usage: sha?sum [-bcs] [FILE]...\n\nCalculate sha hash for each input file, reading from stdin if none. Output\none hash (40 hex digits for sha1, 56 for sha224, 64 for sha256, 96 for sha384,\nand 128 for sha512) for each input file, followed by filename.\n\n-b	Brief (hash only, no filename)\n-c	Check each line of each FILE is the same hash+filename we'd output\n-s	No output, exit status 0 if all hashes match, 1 otherwise"
+
+#define HELP_md5sum "usage: md5sum [-bcs] [FILE]...\n\nCalculate md5 hash for each input file, reading from stdin if none.\nOutput one hash (32 hex digits) for each input file, followed by filename.\n\n-b	Brief (hash only, no filename)\n-c	Check each line of each FILE is the same hash+filename we'd output\n-s	No output, exit status 0 if all hashes match, 1 otherwise"
+
+#define HELP_killall "usage: killall [-l] [-iqv] [-SIGNAL|-s SIGNAL] PROCESS_NAME...\n\nSend a signal (default: TERM) to all processes with the given names.\n\n-i	Ask for confirmation before killing\n-l	Print list of all available signals\n-q	Don't print any warnings or error messages\n-s	Send SIGNAL instead of SIGTERM\n-v	Report if the signal was successfully sent\n-w	Wait until all signaled processes are dead"
+
+#define HELP_dnsdomainname "usage: dnsdomainname\n\nShow domain this system belongs to (same as hostname -d)."
+
+#define HELP_hostname "usage: hostname [-bdsf] [-F FILENAME] [newname]\n\nGet/set the current hostname.\n\n-b	Set hostname to 'localhost' if otherwise unset\n-d	Show DNS domain name (no host)\n-f	Show fully-qualified name (host+domain, FQDN)\n-F	Set hostname to contents of FILENAME\n-s	Show short host name (no domain)"
+
+#define HELP_zcat "usage: zcat [FILE...]\n\nDecompress files to stdout. Like `gzip -dc`.\n\n-f	Force: allow read from tty"
+
+#define HELP_gunzip "usage: gunzip [-cfk] [FILE...]\n\nDecompress files. With no files, decompresses stdin to stdout.\nOn success, the input files are removed and replaced by new\nfiles without the .gz suffix.\n\n-c	Output to stdout (act as zcat)\n-f	Force: allow read from tty\n-k	Keep input files (default is to remove)"
+
+#define HELP_gzip "usage: gzip [-19cdfk] [FILE...]\n\nCompress files. With no files, compresses stdin to stdout.\nOn success, the input files are removed and replaced by new\nfiles with the .gz suffix.\n\n-c	Output to stdout\n-d	Decompress (act as gunzip)\n-f	Force: allow overwrite of output file\n-k	Keep input files (default is to remove)\n-#	Compression level 1-9 (1:fastest, 6:default, 9:best)"
+
+#define HELP_dmesg "usage: dmesg [-Cc] [-r|-t|-T] [-n LEVEL] [-s SIZE] [-w]\n\nPrint or control the kernel ring buffer.\n\n-C	Clear ring buffer without printing\n-c	Clear ring buffer after printing\n-n	Set kernel logging LEVEL (1-9)\n-r	Raw output (with <level markers>)\n-S	Use syslog(2) rather than /dev/kmsg\n-s	Show the last SIZE many bytes\n-T	Human readable timestamps\n-t	Don't print timestamps\n-w	Keep waiting for more output (aka --follow)"
+
+#define HELP_tunctl "usage: tunctl [-dtT] [-u USER] NAME\n\nCreate and delete tun/tap virtual ethernet devices.\n\n-T	Use tap (ethernet frames) instead of tun (ip packets)\n-d	Delete tun/tap device\n-t	Create tun/tap device\n-u	Set owner (user who can read/write device without root access)"
+
+#define HELP_sntp "usage: sntp [-saSdDq] [-r SHIFT] [-mM[ADDRESS]] [-p PORT] [SERVER]\n\nSimple Network Time Protocol client. Query SERVER and display time.\n\n-p	Use PORT (default 123)\n-s	Set system clock suddenly\n-a	Adjust system clock gradually\n-S	Serve time instead of querying (bind to SERVER address if specified)\n-m	Wait for updates from multicast ADDRESS (RFC 4330 default 224.0.1.1)\n-M	Multicast server on ADDRESS (default 224.0.0.1)\n-t	TTL (multicast only, default 1)\n-d	Daemonize (run in background re-querying )\n-D	Daemonize but stay in foreground: re-query time every 1000 seconds\n-r	Retry shift (every 1<<SHIFT seconds)\n-q	Quiet (don't display time)"
+
+#define HELP_rfkill "usage: rfkill COMMAND [DEVICE]\n\nEnable/disable wireless devices.\n\nCommands:\nlist [DEVICE]   List current state\nblock DEVICE    Disable device\nunblock DEVICE  Enable device\n\nDEVICE is an index number, or one of:\nall, wlan(wifi), bluetooth, uwb(ultrawideband), wimax, wwan, gps, fm."
+
+#define HELP_ping "usage: ping [OPTIONS] HOST\n\nCheck network connectivity by sending packets to a host and reporting\nits response.\n\nSend ICMP ECHO_REQUEST packets to ipv4 or ipv6 addresses and prints each\necho it receives back, with round trip time. Returns true if host alive.\n\nOptions:\n-4, -6		Force IPv4 or IPv6\n-c CNT		Send CNT many packets (default 3, 0 = infinite)\n-f		Flood (print . and \\b to show drops, default -c 15 -i 0.2)\n-i TIME		Interval between packets (default 1, need root for < .2)\n-I IFACE/IP	Source interface or address\n-m MARK		Tag outgoing packets using SO_MARK\n-q		Quiet (stops after one returns true if host is alive)\n-s SIZE		Data SIZE in bytes (default 56)\n-t TTL		Set Time To Live (number of hops)\n-W SEC		Seconds to wait for response after last -c packet (default 3)\n-w SEC		Exit after this many seconds"
+
+#define HELP_netstat "usage: netstat [-pWrxwutneal]\n\nDisplay networking information. Default is netstat -tuwx\n\n-r	Routing table\n-a	All sockets (not just connected)\n-l	Listening server sockets\n-t	TCP sockets\n-u	UDP sockets\n-w	Raw sockets\n-x	Unix sockets\n-e	Extended info\n-n	Don't resolve names\n-W	Wide display\n-p	Show PID/program name of sockets"
+
+#define HELP_netcat_listen "usage: netcat [-tElL]\n\n-l	Listen for one incoming connection, then exit\n-L	Listen and background each incoming connection (server mode)\n-t	Allocate tty\n-E	Forward stderr\n\nWhen listening the COMMAND line is executed as a child process to handle\nan incoming connection. With no COMMAND -l forwards the connection\nto stdin/stdout. If no -p specified, -l prints the port it bound to and\nbackgrounds itself (returning immediately).\n\nFor a quick-and-dirty server, try something like:\nnetcat -s 127.0.0.1 -p 1234 -tL sh -l"
+
+#define HELP_netcat "usage: netcat [-46U] [-u] [-wpq #] [-s addr] {IPADDR PORTNUM|-f FILENAME|COMMAND...}\n\nForward stdin/stdout to a file or network connection.\n\n-4	Force IPv4\n-6	Force IPv6\n-f	Use FILENAME (ala /dev/ttyS0) instead of network\n-p	Local port number\n-q	Quit SECONDS after EOF on stdin, even if stdout hasn't closed yet\n-s	Local source address\n-u	Use UDP\n-U	Use a UNIX domain socket\n-w	SECONDS timeout to establish connection\n-W	SECONDS timeout for more data on an idle connection\n\nUse \"stty 115200 -F /dev/ttyS0 && stty raw -echo -ctlecho\" with\nnetcat -f to connect to a serial port."
+
+#define HELP_microcom "usage: microcom [-s SPEED] [-X] DEVICE\n\nSimple serial console.\n\n-s	Set baud rate to SPEED (default 115200)\n-X	Ignore ^@ (send break) and ^] (exit)"
+
+#define HELP_ifconfig "usage: ifconfig [-aS] [INTERFACE [ACTION...]]\n\nDisplay or configure network interface.\n\nWith no arguments, display active interfaces. First argument is interface\nto operate on, one argument by itself displays that interface.\n\n-a	All interfaces displayed, not just active ones\n-S	Short view, one line per interface\n\nStandard ACTIONs to perform on an INTERFACE:\n\nADDR[/MASK]        - set IPv4 address (1.2.3.4/5) and activate interface\nadd|del ADDR[/LEN] - add/remove IPv6 address (1111::8888/128)\nup|down            - activate or deactivate interface\n\nAdvanced ACTIONs (default values usually suffice):\n\ndefault          - remove IPv4 address\nnetmask ADDR     - set IPv4 netmask via 255.255.255.0 instead of /24\ntxqueuelen LEN   - number of buffered packets before output blocks\nmtu LEN          - size of outgoing packets (Maximum Transmission Unit)\nbroadcast ADDR   - Set broadcast address\npointopoint ADDR - PPP and PPPOE use this instead of \"route add default gw\"\nhw TYPE ADDR     - set hardware (mac) address (type = ether|infiniband)\n\nFlags you can set on an interface (or -remove by prefixing with -):\n\narp       - don't use Address Resolution Protocol to map LAN routes\npromisc   - don't discard packets that aren't to this LAN hardware address\nmulticast - force interface into multicast mode if the driver doesn't\nallmulti  - promisc for multicast packets"
+
+#define HELP_ftpput "An ftpget that defaults to -s instead of -g"
+
+#define HELP_ftpget "usage: ftpget [-cvgslLmMdD] [-P PORT] [-p PASSWORD] [-u USER] HOST [LOCAL] REMOTE\n\nTalk to ftp server. By default get REMOTE file via passive anonymous\ntransfer, optionally saving under a LOCAL name. Can also send, list, etc.\n\n-c	Continue partial transfer\n-p	Use PORT instead of \"21\"\n-P	Use PASSWORD instead of \"ftpget@\"\n-u	Use USER instead of \"anonymous\"\n-v	Verbose\n\nWays to interact with FTP server:\n-d	Delete file\n-D	Remove directory\n-g	Get file (default)\n-l	List directory\n-L	List (filenames only)\n-m	Move file on server from LOCAL to REMOTE\n-M	mkdir\n-s	Send file"
+
+#define HELP_yes "usage: yes [args...]\n\nRepeatedly output line until killed. If no args, output 'y'."
+
+#define HELP_xxd "usage: xxd [-c n] [-g n] [-i] [-l n] [-o n] [-p] [-r] [-s n] [file]\n\nHexdump a file to stdout.  If no file is listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-c n	Show n bytes per line (default 16)\n-g n	Group bytes by adding a ' ' every n bytes (default 2)\n-i	Include file output format (comma-separated hex byte literals)\n-l n	Limit of n bytes before stopping (default is no limit)\n-o n	Add n to display offset\n-p	Plain hexdump (30 bytes/line, no grouping)\n-r	Reverse operation: turn a hexdump into a binary file\n-s n	Skip to offset n"
+
+#define HELP_which "usage: which [-a] filename ...\n\nSearch $PATH for executable files matching filename(s).\n\n-a	Show all matches"
+
+#define HELP_watchdog "usage: watchdog [-F] [-t UPDATE] [-T DEADLINE] DEV\n\nStart the watchdog timer at DEV with optional timeout parameters.\n\n-F	run in the foreground (do not daemonize)\n-t	poke watchdog every UPDATE seconds (default 4)\n-T	reboot if not poked for DEADLINE seconds (default 60)"
+
+#define HELP_watch "usage: watch [-teb] [-n SEC] PROG ARGS\n\nRun PROG every -n seconds, showing output. Hit q to quit.\n\n-n	Loop period in seconds (default 2)\n-t	Don't print header\n-e	Exit on error\n-b	Beep on command error\n-x	Exec command directly (vs \"sh -c\")"
+
+#define HELP_w "usage: w\n\nShow who is logged on and since how long they logged in."
+
+#define HELP_vmstat "usage: vmstat [-n] [DELAY [COUNT]]\n\nPrint virtual memory statistics, repeating each DELAY seconds, COUNT times.\n(With no DELAY, prints one line. With no COUNT, repeats until killed.)\n\nShow processes running and blocked, kilobytes swapped, free, buffered, and\ncached, kilobytes swapped in and out per second, file disk blocks input and\noutput per second, interrupts and context switches per second, percent\nof CPU time spent running user code, system code, idle, and awaiting I/O.\nFirst line is since system started, later lines are since last line.\n\n-n	Display the header only once"
+
+#define HELP_vconfig "usage: vconfig COMMAND [OPTIONS]\n\nCreate and remove virtual ethernet devices\n\nadd             [interface-name] [vlan_id]\nrem             [vlan-name]\nset_flag        [interface-name] [flag-num]       [0 | 1]\nset_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]\nset_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]\nset_name_type   [name-type]"
+
+#define HELP_uuidgen "usage: uuidgen\n\nCreate and print a new RFC4122 random UUID."
+
+#define HELP_usleep "usage: usleep MICROSECONDS\n\nPause for MICROSECONDS microseconds."
+
+#define HELP_uptime "usage: uptime [-ps]\n\nTell the current time, how long the system has been running, the number\nof users, and the system load averages for the past 1, 5 and 15 minutes.\n\n-p	Pretty (human readable) uptime\n-s	Since when has the system been up?"
+
+#define HELP_truncate "usage: truncate [-c] -s SIZE file...\n\nSet length of file(s), extending sparsely if necessary.\n\n-c	Don't create file if it doesn't exist\n-s	New size (with optional prefix and suffix)\n\nSIZE prefix: + add, - subtract, < shrink to, > expand to,\n             / multiple rounding down, % multiple rounding up\nSIZE suffix: k=1024, m=1024^2, g=1024^3, t=1024^4, p=1024^5, e=1024^6"
+
+#define HELP_timeout "usage: timeout [-k DURATION] [-s SIGNAL] DURATION COMMAND...\n\nRun command line as a child process, sending child a signal if the\ncommand doesn't exit soon enough.\n\nDURATION can be a decimal fraction. An optional suffix can be \"m\"\n(minutes), \"h\" (hours), \"d\" (days), or \"s\" (seconds, the default).\n\n-s	Send specified signal (default TERM)\n-k	Send KILL signal if child still running this long after first signal\n-v	Verbose\n--foreground       Don't create new process group\n--preserve-status  Exit with the child's exit status"
+
+#define HELP_taskset "usage: taskset [-ap] [mask] [PID | cmd [args...]]\n\nLaunch a new task which may only run on certain processors, or change\nthe processor affinity of an existing PID.\n\nMask is a hex string where each bit represents a processor the process\nis allowed to run on. PID without a mask displays existing affinity.\n\n-p	Set/get the affinity of given PID instead of a new command\n-a	Set/get the affinity of all threads of the PID"
+
+#define HELP_nproc "usage: nproc [--all]\n\nPrint number of processors.\n\n--all	Show all processors, not just ones this task can run on"
+
+#define HELP_tac "usage: tac [FILE...]\n\nOutput lines in reverse order."
+
+#define HELP_sysctl "usage: sysctl [-aAeNnqw] [-p [FILE] | KEY[=VALUE]...]\n\nRead/write system control data (under /proc/sys).\n\n-a,A	Show all values\n-e	Don't warn about unknown keys\n-N	Don't print key values\n-n	Don't print key names\n-p	Read values from FILE (default /etc/sysctl.conf)\n-q	Don't show value after write\n-w	Only write values (object to reading)"
+
+#define HELP_switch_root "usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT...\n\nUse from PID 1 under initramfs to free initramfs, chroot to NEW_ROOT,\nand exec NEW_INIT.\n\n-c	Redirect console to device in NEW_ROOT\n-h	Hang instead of exiting on failure (avoids kernel panic)"
+
+#define HELP_swapon "usage: swapon [-d] [-p priority] filename\n\nEnable swapping on a given device/file.\n\n-d	Discard freed SSD pages\n-p	Priority (highest priority areas allocated first)"
+
+#define HELP_swapoff "usage: swapoff swapregion\n\nDisable swapping on a given swapregion."
+
+#define HELP_stat "usage: stat [-tfL] [-c FORMAT] FILE...\n\nDisplay status of files or filesystems.\n\n-c	Output specified FORMAT string instead of default\n-f	Display filesystem status instead of file status\n-L	Follow symlinks\n-t	terse (-c \"%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o\")\n	      (with -f = -c \"%n %i %l %t %s %S %b %f %a %c %d\")\n\nThe valid format escape sequences for files:\n%a  Access bits (octal) |%A  Access bits (flags)|%b  Size/512\n%B  Bytes per %b (512)  |%C  Security context   |%d  Device ID (dec)\n%D  Device ID (hex)     |%f  All mode bits (hex)|%F  File type\n%g  Group ID            |%G  Group name         |%h  Hard links\n%i  Inode               |%m  Mount point        |%n  Filename\n%N  Long filename       |%o  I/O block size     |%s  Size (bytes)\n%t  Devtype major (hex) |%T  Devtype minor (hex)|%u  User ID\n%U  User name           |%x  Access time        |%X  Access unix time\n%y  Modification time   |%Y  Mod unix time      |%z  Creation time\n%Z  Creation unix time\n\nThe valid format escape sequences for filesystems:\n%a  Available blocks    |%b  Total blocks       |%c  Total inodes\n%d  Free inodes         |%f  Free blocks        |%i  File system ID\n%l  Max filename length |%n  File name          |%s  Fragment size\n%S  Best transfer size  |%t  FS type (hex)      |%T  FS type (driver name)"
+
+#define HELP_shred "usage: shred [-fuz] [-n COUNT] [-s SIZE] FILE...\n\nSecurely delete a file by overwriting its contents with random data.\n\n-f		Force (chmod if necessary)\n-n COUNT	Random overwrite iterations (default 1)\n-o OFFSET	Start at OFFSET\n-s SIZE		Use SIZE instead of detecting file size\n-u		Unlink (actually delete file when done)\n-x		Use exact size (default without -s rounds up to next 4k)\n-z		Zero at end\n\nNote: data journaling filesystems render this command useless, you must\noverwrite all free space (fill up disk) to erase old data on those."
+
+#define HELP_sha3sum "usage: sha3sum [-S] [-a BITS] [FILE...]\n\nHash function du jour.\n\n-a	Produce a hash BITS long (default 224)\n-S	Use SHAKE termination byte instead of SHA3 (ask FIPS why)"
+
+#define HELP_setsid "usage: setsid [-cdw] command [args...]\n\nRun process in a new session.\n\n-d	Detach from tty\n-c	Control tty (become foreground process & receive keyboard signals)\n-w	Wait for child (and exit with its status)"
+
+#define HELP_setfattr "usage: setfattr [-h] [-x|-n NAME] [-v VALUE] FILE...\n\nWrite POSIX extended attributes.\n\n-h	Do not dereference symlink\n-n	Set given attribute\n-x	Remove given attribute\n-v	Set value for attribute -n (default is empty)"
+
+#define HELP_rtcwake "usage: rtcwake [-aluv] [-d FILE] [-m MODE] [-s SECS] [-t UNIX]\n\nEnter the given sleep state until the given time.\n\n-a	RTC uses time specified in /etc/adjtime\n-d FILE	Device to use (default /dev/rtc)\n-l	RTC uses local time\n-m	Mode (--list-modes to see those supported by your kernel):\n	  standby  S1: default              mem     S3: suspend to RAM\n	  disk     S4: suspend to disk      off     S5: power off\n	  disable  Cancel current alarm     freeze  stop processes/processors\n	  no       just set wakeup time     on      just poll RTC for alarm\n	  show     just show current alarm\n-s SECS	Wake SECS seconds from now\n-t UNIX	Wake UNIX seconds from epoch\n-u	RTC uses UTC\n-v	Verbose"
+
+#define HELP_rmmod "usage: rmmod [-wf] [MODULE]\n\nUnload the module named MODULE from the Linux kernel.\n-f	Force unload of a module\n-w	Wait until the module is no longer used"
+
+#define HELP_rev "usage: rev [FILE...]\n\nOutput each line reversed, when no files are given stdin is used."
+
+#define HELP_reset "usage: reset\n\nReset the terminal."
+
+#define HELP_reboot "usage: reboot/halt/poweroff [-fn]\n\nRestart, halt or powerdown the system.\n\n-f	Don't signal init\n-n	Don't sync before stopping the system"
+
+#define HELP_realpath "usage: realpath FILE...\n\nDisplay the canonical absolute pathname"
+
+#define HELP_readlink "usage: readlink FILE...\n\nWith no options, show what symlink points to, return error if not symlink.\n\nOptions for producing canonical paths (all symlinks/./.. resolved):\n\n-e	Canonical path to existing entry (fail if missing)\n-f	Full path (fail if directory missing)\n-m	Ignore missing entries, show where it would be\n-n	No trailing newline\n-q	Quiet (no output, just error code)"
+
+#define HELP_readahead "usage: readahead FILE...\n\nPreload files into disk cache."
+
+#define HELP_pwgen "usage: pwgen [-cAn0yrsBhC1v] [LENGTH] [COUNT]\n\nGenerate human-readable random passwords. When output is to tty produces\na screenfull to defeat shoulder surfing (pick one and clear the screen).\n\n-c  --capitalize                  Permit capital letters.\n-A  --no-capitalize               Don't include capital letters.\n-n  --numerals                    Permit numbers.\n-0  --no-numerals                 Don't include numbers.\n-y  --symbols                     Permit special characters ($#%...).\n-r <chars>  --remove=<chars>      Don't include the given characters.\n-s  --secure                      Generate more random passwords.\n-B  --ambiguous                   Avoid ambiguous characters (e.g. 0, O).\n-h  --help                        Print this help message.\n-C                                Print the output in columns.\n-1                                Print the output one line each.\n-v                                Don't include vowels."
+
+#define HELP_pwdx "usage: pwdx PID...\n\nPrint working directory of processes listed on command line."
+
+#define HELP_printenv "usage: printenv [-0] [env_var...]\n\nPrint environment variables.\n\n-0	Use \\0 as delimiter instead of \\n"
+
+#define HELP_pmap "usage: pmap [-xq] [pids...]\n\nReport the memory map of a process or processes.\n\n-x	Show the extended format\n-q	Do not display some header/footer lines"
+
+#define HELP_pivot_root "usage: pivot_root OLD NEW\n\nSwap OLD and NEW filesystems (as if by simultaneous mount --move), and\nmove all processes with chdir or chroot under OLD into NEW (including\nkernel threads) so OLD may be unmounted.\n\nThe directory NEW must exist under OLD. This doesn't work on initramfs,\nwhich can't be moved (about the same way PID 1 can't be killed; see\nswitch_root instead)."
+
+#define HELP_partprobe "usage: partprobe DEVICE...\n\nTell the kernel about partition table changes\n\nAsk the kernel to re-read the partition table on the specified devices."
+
+#define HELP_oneit "usage: oneit [-prn3] [-c CONSOLE] [COMMAND...]\n\nSimple init program that runs a single supplied command line with a\ncontrolling tty (so CTRL-C can kill it).\n\n-c	Which console device to use (/dev/console doesn't do CTRL-C, etc)\n-p	Power off instead of rebooting when command exits\n-r	Restart child when it exits\n-n	No reboot, just relaunch command line\n-3	Write 32 bit PID of each exiting reparented process to fd 3 of child\n	(Blocking writes, child must read to avoid eventual deadlock.)\n\nSpawns a single child process (because PID 1 has signals blocked)\nin its own session, reaps zombies until the child exits, then\nreboots the system (or powers off with -p, or restarts the child with -r).\n\nResponds to SIGUSR1 by halting the system, SIGUSR2 by powering off,\nand SIGTERM or SIGINT reboot."
+
+#define HELP_nsenter "usage: nsenter [-t pid] [-F] [-i] [-m] [-n] [-p] [-u] [-U] COMMAND...\n\nRun COMMAND in an existing (set of) namespace(s).\n\n-t	PID to take namespaces from    (--target)\n-F	don't fork, even if -p is used (--no-fork)\n\nThe namespaces to switch are:\n\n-i	SysV IPC: message queues, semaphores, shared memory (--ipc)\n-m	Mount/unmount tree (--mount)\n-n	Network address, sockets, routing, iptables (--net)\n-p	Process IDs and init, will fork unless -F is used (--pid)\n-u	Host and domain names (--uts)\n-U	UIDs, GIDs, capabilities (--user)\n\nIf -t isn't specified, each namespace argument must provide a path\nto a namespace file, ala \"-i=/proc/$PID/ns/ipc\""
+
+#define HELP_unshare "usage: unshare [-imnpuUr] COMMAND...\n\nCreate new container namespace(s) for this process and its children, so\nsome attribute is not shared with the parent process.\n\n-f	Fork command in the background (--fork)\n-i	SysV IPC (message queues, semaphores, shared memory) (--ipc)\n-m	Mount/unmount tree (--mount)\n-n	Network address, sockets, routing, iptables (--net)\n-p	Process IDs and init (--pid)\n-r	Become root (map current euid/egid to 0/0, implies -U) (--map-root-user)\n-u	Host and domain names (--uts)\n-U	UIDs, GIDs, capabilities (--user)\n\nA namespace allows a set of processes to have a different view of the\nsystem than other sets of processes."
+
+#define HELP_nbd_client "usage: nbd-client [-ns] HOST PORT DEVICE\n\n-n	Do not fork into background\n-s	nbd swap support (lock server into memory)"
+
+#define HELP_mountpoint "usage: mountpoint [-qd] DIR\n       mountpoint [-qx] DEVICE\n\nCheck whether the directory or device is a mountpoint.\n\n-q	Be quiet, return zero if directory is a mountpoint\n-d	Print major/minor device number of the directory\n-x	Print major/minor device number of the block device"
+
+#define HELP_modinfo "usage: modinfo [-0] [-b basedir] [-k kernel] [-F field] [module|file...]\n\nDisplay module fields for modules specified by name or .ko path.\n\n-F  Only show the given field\n-0  Separate fields with NUL rather than newline\n-b  Use <basedir> as root for /lib/modules/\n-k  Look in given directory under /lib/modules/"
+
+#define HELP_mkswap "usage: mkswap [-L LABEL] DEVICE\n\nSet up a Linux swap area on a device or file."
+
+#define HELP_mkpasswd "usage: mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT]\n\nCrypt PASSWORD using crypt(3)\n\n-P FD	Read password from file descriptor FD\n-m TYPE	Encryption method (des, md5, sha256, or sha512; default is des)\n-S SALT"
+
+#define HELP_mix "usage: mix [-d DEV] [-c CHANNEL] [-l VOL] [-r RIGHT]\n\nList OSS sound channels (module snd-mixer-oss), or set volume(s).\n\n-c CHANNEL	Set/show volume of CHANNEL (default first channel found)\n-d DEV		Device node (default /dev/mixer)\n-l VOL		Volume level\n-r RIGHT	Volume of right stereo channel (with -r, -l sets left volume)"
+
+#define HELP_mcookie "usage: mcookie [-vV]\n\nGenerate a 128-bit strong random number.\n\n-v  show entropy source (verbose)\n-V  show version"
+
+#define HELP_makedevs "usage: makedevs [-d device_table] rootdir\n\nCreate a range of special files as specified in a device table.\n\n-d	File containing device table (default reads from stdin)\n\nEach line of the device table has the fields:\n<name> <type> <mode> <uid> <gid> <major> <minor> <start> <increment> <count>\nWhere name is the file name, and type is one of the following:\n\nb	Block device\nc	Character device\nd	Directory\nf	Regular file\np	Named pipe (fifo)\n\nOther fields specify permissions, user and group id owning the file,\nand additional fields for device special files. Use '-' for blank entries,\nunspecified fields are treated as '-'."
+
+#define HELP_lsusb "usage: lsusb\n\nList USB hosts/devices."
+
+#define HELP_lspci_text "usage: lspci [-n] [-i FILE ]\n\n-n	Numeric output (repeat for readable and numeric)\n-i	PCI ID database (default /usr/share/misc/pci.ids)"
+
+#define HELP_lspci "usage: lspci [-ekm]\n\nList PCI devices.\n\n-e	Print all 6 digits in class\n-k	Print kernel driver\n-m	Machine readable format"
+
+#define HELP_lsmod "usage: lsmod\n\nDisplay the currently loaded modules, their sizes and their dependencies."
+
+#define HELP_chattr "usage: chattr [-R] [-+=AacDdijsStTu] [-p PROJID] [-v VERSION] [FILE...]\n\nChange file attributes on a Linux file system.\n\n-R	Recurse\n-p	Set the file's project number\n-v	Set the file's version/generation number\n\nOperators:\n  '-' Remove attributes\n  '+' Add attributes\n  '=' Set attributes\n\nAttributes:\n  A  No atime                     a  Append only\n  C  No COW                       c  Compression\n  D  Synchronous dir updates      d  No dump\n  E  Encrypted                    e  Extents\n  F  Case-insensitive (casefold)\n  I  Indexed directory            i  Immutable\n  j  Journal data\n  N  Inline data in inode\n  P  Project hierarchy\n  S  Synchronous file updates     s  Secure delete\n  T  Top of dir hierarchy         t  No tail-merging\n  u  Allow undelete\n  V  Verity"
+
+#define HELP_lsattr "usage: lsattr [-Radlpv] [FILE...]\n\nList file attributes on a Linux file system.\nFlag letters are defined in chattr help.\n\n-R	Recursively list attributes of directories and their contents\n-a	List all files in directories, including files that start with '.'\n-d	List directories like other files, rather than listing their contents\n-l	List long flag names\n-p	List the file's project number\n-v	List the file's version/generation number"
+
+#define HELP_losetup "usage: losetup [-cdrs] [-o OFFSET] [-S SIZE] {-d DEVICE...|-j FILE|-af|{DEVICE FILE}}\n\nAssociate a loopback device with a file, or show current file (if any)\nassociated with a loop device.\n\nInstead of a device:\n-a	Iterate through all loopback devices\n-f	Find first unused loop device (may create one)\n-j FILE	Iterate through all loopback devices associated with FILE\n\nexisting:\n-c	Check capacity (file size changed)\n-d DEV	Detach loopback device\n-D	Detach all loopback devices\n\nnew:\n-s	Show device name (alias --show)\n-o OFF	Start association at offset OFF into FILE\n-r	Read only\n-S SIZE	Limit SIZE of loopback association (alias --sizelimit)"
+
+#define HELP_login "usage: login [-p] [-h host] [-f USERNAME] [USERNAME]\n\nLog in as a user, prompting for username and password if necessary.\n\n-p	Preserve environment\n-h	The name of the remote host for this login\n-f	login as USERNAME without authentication"
+
+#define HELP_iorenice "usage: iorenice PID [CLASS] [PRIORITY]\n\nDisplay or change I/O priority of existing process. CLASS can be\n\"rt\" for realtime, \"be\" for best effort, \"idle\" for only when idle, or\n\"none\" to leave it alone. PRIORITY can be 0-7 (0 is highest, default 4)."
+
+#define HELP_ionice "usage: ionice [-t] [-c CLASS] [-n LEVEL] [COMMAND...|-p PID]\n\nChange the I/O scheduling priority of a process. With no arguments\n(or just -p), display process' existing I/O class/priority.\n\n-c	CLASS = 1-3: 1(realtime), 2(best-effort, default), 3(when-idle)\n-n	LEVEL = 0-7: (0 is highest priority, default = 5)\n-p	Affect existing PID instead of spawning new child\n-t	Ignore failure to set I/O priority\n\nSystem default iopriority is generally -c 2 -n 4."
+
+#define HELP_insmod "usage: insmod MODULE [MODULE_OPTIONS]\n\nLoad the module named MODULE passing options if given."
+
+#define HELP_inotifyd "usage: inotifyd PROG FILE[:MASK] ...\n\nWhen a filesystem event matching MASK occurs to a FILE, run PROG as:\n\n  PROG EVENTS FILE [DIRFILE]\n\nIf PROG is \"-\" events are sent to stdout.\n\nThis file is:\n  a  accessed    c  modified    e  metadata change  w  closed (writable)\n  r  opened      D  deleted     M  moved            0  closed (unwritable)\n  u  unmounted   o  overflow    x  unwatchable\n\nA file in this directory is:\n  m  moved in    y  moved out   n  created          d  deleted\n\nWhen x event happens for all FILEs, inotifyd exits (after waiting for PROG)."
+
+#define HELP_i2cset "usage: i2cset [-fy] BUS CHIP ADDR VALUE... MODE\n\nWrite an i2c register. MODE is b for byte, w for 16-bit word, i for I2C block.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cget "usage: i2cget [-fy] BUS CHIP ADDR\n\nRead an i2c register.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cdump "usage: i2cdump [-fy] BUS CHIP\n\nDump i2c registers.\n\n-f	Force access to busy devices\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_i2cdetect "usage: i2cdetect [-ary] BUS [FIRST LAST]\nusage: i2cdetect -F BUS\nusage: i2cdetect -l\n\nDetect i2c devices.\n\n-a	All addresses (0x00-0x7f rather than 0x03-0x77)\n-F	Show functionality\n-l	List all buses\n-r	Probe with SMBus Read Byte\n-y	Answer \"yes\" to confirmation prompts (for script use)"
+
+#define HELP_hwclock "usage: hwclock [-rswtluf]\n\nGet/set the hardware clock.\n\n-f FILE	Use specified device file instead of /dev/rtc0 (--rtc)\n-l	Hardware clock uses localtime (--localtime)\n-r	Show hardware clock time (--show)\n-s	Set system time from hardware clock (--hctosys)\n-t	Set the system time based on the current timezone (--systz)\n-u	Hardware clock uses UTC (--utc)\n-w	Set hardware clock from system time (--systohc)"
+
+#define HELP_hexedit "usage: hexedit FILENAME\n\nHexadecimal file editor. All changes are written to disk immediately.\n\n-r	Read only (display but don't edit)\n\nKeys:\nArrows        Move left/right/up/down by one line/column\nPg Up/Pg Dn   Move up/down by one page\n0-9, a-f      Change current half-byte to hexadecimal value\nu             Undo\nq/^c/^d/<esc> Quit"
+
+#define HELP_help "usage: help [-ahu] [COMMAND]\n\n-a	All commands\n-u	Usage only\n-h	HTML output\n\nShow usage information for toybox commands.\nRun \"toybox\" with no arguments for a list of available commands."
+
+#define HELP_fsync "usage: fsync [-d] [FILE...]\n\nSynchronize a file's in-core state with storage device.\n\n-d	Avoid syncing metadata"
+
+#define HELP_fsfreeze "usage: fsfreeze {-f | -u} MOUNTPOINT\n\nFreeze or unfreeze a filesystem.\n\n-f	Freeze\n-u	Unfreeze"
+
+#define HELP_freeramdisk "usage: freeramdisk [RAM device]\n\nFree all memory allocated to specified ramdisk"
+
+#define HELP_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt	Output units (default is bytes)\n-h	Human readable (K=1024)"
+
+#define HELP_fmt "usage: fmt [-w WIDTH] [FILE...]\n\nReformat input to wordwrap at a given line length, preserving existing\nindentation level, writing to stdout.\n\n-w WIDTH	Maximum characters per line (default 75)"
+
+#define HELP_flock "usage: flock [-sxun] fd\n\nManage advisory file locks.\n\n-s	Shared lock\n-x	Exclusive lock (default)\n-u	Unlock\n-n	Non-blocking: fail rather than wait for the lock"
+
+#define HELP_fallocate "usage: fallocate [-l size] [-o offset] file\n\nTell the filesystem to allocate space for a file."
+
+#define HELP_factor "usage: factor NUMBER...\n\nFactor integers."
+
+#define HELP_eject "usage: eject [-stT] [DEVICE]\n\nEject DEVICE or default /dev/cdrom\n\n-s	SCSI device\n-t	Close tray\n-T	Open/close tray (toggle)"
+
+#define HELP_unix2dos "usage: unix2dos [FILE...]\n\nConvert newline format from unix \"\\n\" to dos \"\\r\\n\".\nIf no files listed copy from stdin, \"-\" is a synonym for stdin."
+
+#define HELP_dos2unix "usage: dos2unix [FILE...]\n\nConvert newline format from dos \"\\r\\n\" to unix \"\\n\".\nIf no files listed copy from stdin, \"-\" is a synonym for stdin."
+
+#define HELP_devmem "usage: devmem ADDR [WIDTH [DATA]]\n\nRead/write physical address. WIDTH is 1, 2, 4, or 8 bytes (default 4).\nPrefix ADDR with 0x for hexadecimal, output is in same base as address."
+
+#define HELP_count "usage: count\n\nCopy stdin to stdout, displaying simple progress indicator to stderr."
+
+#define HELP_clear "Clear the screen."
+
+#define HELP_chvt "usage: chvt N\n\nChange to virtual terminal number N. (This only works in text mode.)\n\nVirtual terminals are the Linux VGA text mode displays, ordinarily\nswitched between via alt-F1, alt-F2, etc. Use ctrl-alt-F1 to switch\nfrom X to a virtual terminal, and alt-F6 (or F7, or F8) to get back."
+
+#define HELP_chrt "usage: chrt [-Rmofrbi] {-p PID [PRIORITY] | [PRIORITY COMMAND...]}\n\nGet/set a process' real-time scheduling policy and priority.\n\n-p	Set/query given pid (instead of running COMMAND)\n-R	Set SCHED_RESET_ON_FORK\n-m	Show min/max priorities available\n\nSet policy (default -r):\n\n  -o  SCHED_OTHER    -f  SCHED_FIFO    -r  SCHED_RR\n  -b  SCHED_BATCH    -i  SCHED_IDLE"
+
+#define HELP_chroot "usage: chroot NEWROOT [COMMAND [ARG...]]\n\nRun command within a new root directory. If no command, run /bin/sh."
+
+#define HELP_chcon "usage: chcon [-hRv] CONTEXT FILE...\n\nChange the SELinux security context of listed file[s].\n\n-h	Change symlinks instead of what they point to\n-R	Recurse into subdirectories\n-v	Verbose"
+
+#define HELP_bzcat "usage: bzcat [FILE...]\n\nDecompress listed files to stdout. Use stdin if no files listed."
+
+#define HELP_bunzip2 "usage: bunzip2 [-cftkv] [FILE...]\n\nDecompress listed files (file.bz becomes file) deleting archive file(s).\nRead from stdin if no files listed.\n\n-c	Force output to stdout\n-f	Force decompression (if FILE doesn't end in .bz, replace original)\n-k	Keep input files (-c and -t imply this)\n-t	Test integrity\n-v	Verbose"
+
+#define HELP_blockdev "usage: blockdev --OPTION... BLOCKDEV...\n\nCall ioctl(s) on each listed block device\n\n--setro		Set read only\n--setrw		Set read write\n--getro		Get read only\n--getss		Get sector size\n--getbsz	Get block size\n--setbsz BYTES	Set block size\n--getsz		Get device size in 512-byte sectors\n--getsize	Get device size in sectors (deprecated)\n--getsize64	Get device size in bytes\n--getra		Get readahead in 512-byte sectors\n--setra SECTORS	Set readahead\n--flushbufs	Flush buffers\n--rereadpt	Reread partition table"
+
+#define HELP_fstype "usage: fstype DEV...\n\nPrint type of filesystem on a block device or image."
+
+#define HELP_blkid "usage: blkid [-s TAG] [-UL] DEV...\n\nPrint type, label and UUID of filesystem on a block device or image.\n\n-U	Show UUID only (or device with that UUID)\n-L	Show LABEL only (or device with that LABEL)\n-s TAG	Only show matching tags (default all)"
+
+#define HELP_blkdiscard "usage: blkdiscard [-olszf] DEVICE\n\nDiscard device sectors.\n\n-o, --offset OFF	Byte offset to start discarding at (default 0)\n-l, --length LEN	Bytes to discard (default all)\n-s, --secure		Perform secure discard\n-z, --zeroout		Zero-fill rather than discard\n-f, --force		Disable check for mounted filesystem\n\nOFF and LEN must be aligned to the device sector size.\nBy default entire device is discarded.\nWARNING: All discarded data is permanently lost!"
+
+#define HELP_base32 "usage: base32 [-di] [-w COLUMNS] [FILE...]\n\nEncode or decode in base32.\n\n-d	Decode\n-i	Ignore non-alphabetic characters\n-w	Wrap output at COLUMNS (default 76 or 0 for no wrap)"
+
+#define HELP_base64 "usage: base64 [-di] [-w COLUMNS] [FILE...]\n\nEncode or decode in base64.\n\n-d	Decode\n-i	Ignore non-alphabetic characters\n-w	Wrap output at COLUMNS (default 76 or 0 for no wrap)"
+
+#define HELP_ascii "usage: ascii\n\nDisplay ascii character set."
+
+#define HELP_acpi "usage: acpi [-abctV]\n\nShow status of power sources and thermal devices.\n\n-a	Show power adapters\n-b	Show batteries\n-c	Show cooling device state\n-t	Show temperatures\n-V	Show everything"
+
+#define HELP_xzcat "usage: xzcat [filename...]\n\nDecompress listed files to stdout. Use stdin if no files listed."
+
+#define HELP_wget "usage: wget -O filename URL\n-O filename: specify output filename\nURL: uniform resource location, FTP/HTTP only, not HTTPS\n\nexamples:\n  wget -O index.html http://www.example.com\n  wget -O sample.jpg ftp://ftp.example.com:21/sample.jpg"
+
+#define HELP_vi "usage: vi [-s script] FILE\n-s script: run script file\nVisual text editor. Predates the existence of standardized cursor keys,\nso the controls are weird and historical."
+
+#define HELP_userdel "usage: userdel [-r] USER\nusage: deluser [-r] USER\n\nDelete USER from the SYSTEM\n\n-r	remove home directory"
+
+#define HELP_useradd "usage: useradd [-SDH] [-h DIR] [-s SHELL] [-G GRP] [-g NAME] [-u UID] USER [GROUP]\n\nCreate new user, or add USER to GROUP\n\n-D       Don't assign a password\n-g NAME  Real name\n-G GRP   Add user to existing group\n-h DIR   Home directory\n-H       Don't create home directory\n-s SHELL Login shell\n-S       Create a system user\n-u UID   User id"
+
+#define HELP_unicode "usage: unicode [[min]-max]\n\nConvert between Unicode code points and UTF-8, in both directions."
+
+#define HELP_traceroute "usage: traceroute [-46FUIldnvr] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES]\n[-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES]\n\ntraceroute6 [-dnrv] [-m MAXTTL] [-p PORT] [-q PROBES][-s SRC_IP] [-t TOS] [-w WAIT_SEC]\n  [-i IFACE] HOST [BYTES]\n\nTrace the route to HOST\n\n-4,-6 Force IP or IPv6 name resolution\n-F    Set the don't fragment bit (supports IPV4 only)\n-U    Use UDP datagrams instead of ICMP ECHO (supports IPV4 only)\n-I    Use ICMP ECHO instead of UDP datagrams (supports IPV4 only)\n-l    Display the TTL value of the returned packet (supports IPV4 only)\n-d    Set SO_DEBUG options to socket\n-n    Print numeric addresses\n-v    verbose\n-r    Bypass routing tables, send directly to HOST\n-m    Max time-to-live (max number of hops)(RANGE 1 to 255)\n-p    Base UDP port number used in probes(default 33434)(RANGE 1 to 65535)\n-q    Number of probes per TTL (default 3)(RANGE 1 to 255)\n-s    IP address to use as the source address\n-t    Type-of-service in probe packets (default 0)(RANGE 0 to 255)\n-w    Time in seconds to wait for a response (default 3)(RANGE 0 to 86400)\n-g    Loose source route gateway (8 max) (supports IPV4 only)\n-z    Pause Time in ms (default 0)(RANGE 0 to 86400) (supports IPV4 only)\n-f    Start from the 1ST_TTL hop (instead from 1)(RANGE 1 to 255) (supports IPV4 only)\n-i    Specify a network interface to operate with"
+
+#define HELP_tr "usage: tr [-cds] SET1 [SET2]\n\nTranslate, squeeze, or delete characters from stdin, writing to stdout\n\n-c/-C  Take complement of SET1\n-d     Delete input characters coded SET1\n-s     Squeeze multiple output characters of SET2 into one character"
+
+#define HELP_tftpd "usage: tftpd [-cr] [-u USER] [DIR]\n\nTransfer file from/to tftp server.\n\n-r	read only\n-c	Allow file creation via upload\n-u	run as USER\n-l	Log to syslog (inetd mode requires this)"
+
+#define HELP_tftp "usage: tftp [OPTIONS] HOST [PORT]\n\nTransfer file from/to tftp server.\n\n-l FILE Local FILE\n-r FILE Remote FILE\n-g    Get file\n-p    Put file\n-b SIZE Transfer blocks of SIZE octets(8 <= SIZE <= 65464)"
+
+#define HELP_telnetd "Handle incoming telnet connections\n\n-l LOGIN  Exec LOGIN on connect\n-f ISSUE_FILE Display ISSUE_FILE instead of /etc/issue\n-K Close connection as soon as login exits\n-p PORT   Port to listen on\n-b ADDR[:PORT]  Address to bind to\n-F Run in foreground\n-i Inetd mode\n-w SEC    Inetd 'wait' mode, linger time SEC\n-S Log to syslog (implied by -i or without -F and -w)"
+
+#define HELP_telnet "usage: telnet HOST [PORT]\n\nConnect to telnet server"
+
+#define HELP_tcpsvd "usage: tcpsvd [-hEv] [-c N] [-C N[:MSG]] [-b N] [-u User] [-l Name] IP Port Prog\nusage: udpsvd [-hEv] [-c N] [-u User] [-l Name] IP Port Prog\n\nCreate TCP/UDP socket, bind to IP:PORT and listen for incoming connection.\nRun PROG for each connection.\n\nIP            IP to listen on, 0 = all\nPORT          Port to listen on\nPROG ARGS     Program to run\n-l NAME       Local hostname (else looks up local hostname in DNS)\n-u USER[:GRP] Change to user/group after bind\n-c N          Handle up to N (> 0) connections simultaneously\n-b N          (TCP Only) Allow a backlog of approximately N TCP SYNs\n-C N[:MSG]    (TCP Only) Allow only up to N (> 0) connections from the same IP\n              New connections from this IP address are closed\n              immediately. MSG is written to the peer before close\n-h            Look up peer's hostname\n-E            Don't set up environment variables\n-v            Verbose"
+
+#define HELP_syslogd "usage: syslogd  [-a socket] [-O logfile] [-f config file] [-m interval]\n                [-p socket] [-s SIZE] [-b N] [-R HOST] [-l N] [-nSLKD]\n\nSystem logging utility\n\n-a      Extra unix socket for listen\n-O FILE Default log file <DEFAULT: /var/log/messages>\n-f FILE Config file <DEFAULT: /etc/syslog.conf>\n-p      Alternative unix domain socket <DEFAULT : /dev/log>\n-n      Avoid auto-backgrounding\n-S      Smaller output\n-m MARK interval <DEFAULT: 20 minutes> (RANGE: 0 to 71582787)\n-R HOST Log to IP or hostname on PORT (default PORT=514/UDP)\"\n-L      Log locally and via network (default is network only if -R)\"\n-s SIZE Max size (KB) before rotation (default:200KB, 0=off)\n-b N    rotated logs to keep (default:1, max=99, 0=purge)\n-K      Log to kernel printk buffer (use dmesg to read it)\n-l N    Log only messages more urgent than prio(default:8 max:8 min:1)\n-D      Drop duplicates"
+
+#define HELP_sulogin "usage: sulogin [-t time] [tty]\n\nSingle User Login.\n-t	Default Time for Single User Login"
+
+#define HELP_stty "usage: stty [-ag] [-F device] SETTING...\n\nGet/set terminal configuration.\n\n-F	Open device instead of stdin\n-a	Show all current settings (default differences from \"sane\")\n-g	Show all current settings usable as input to stty\n\nSpecial characters (syntax ^c or undef): intr quit erase kill eof eol eol2\nswtch start stop susp rprnt werase lnext discard\n\nControl/input/output/local settings as shown by -a, '-' prefix to disable\n\nCombo settings: cooked/raw, evenp/oddp/parity, nl, ek, sane\n\nN	set input and output speed (ispeed N or ospeed N for just one)\ncols N	set number of columns\nrows N	set number of rows\nline N	set line discipline\nmin N	set minimum chars per read\ntime N	set read timeout\nspeed	show speed only\nsize	show size only"
+
+#define HELP_source "usage: source FILE [ARGS...]\n\nRead FILE and execute commands. Any ARGS become positional parameters."
+
+#define HELP_shift "usage: shift [N]\n\nSkip N (default 1) positional parameters, moving $1 and friends along the list.\nDoes not affect $0."
+
+#define HELP_jobs "usage: jobs [-lnprs] [%JOB | -x COMMAND...]\n\nList running/stopped background jobs.\n\n-l Include process ID in list\n-n Show only new/changed processes\n-p Show process IDs only\n-r Show running processes\n-s Show stopped processes"
+
+#define HELP_export "usage: export [-n] [NAME[=VALUE]...]\n\nMake variables available to child processes. NAME exports existing local\nvariable(s), NAME=VALUE sets and exports.\n\n-n	Unexport. Turn listed variable(s) into local variables.\n\nWith no arguments list exported variables/attributes as \"declare\" statements."
+
+#define HELP_exec "usage: exec [-cl] [-a NAME] COMMAND...\n\n-a	set argv[0] to NAME\n-c	clear environment\n-l	prepend - to argv[0]"
+
+#define HELP_eval "usage: eval COMMAND...\n\nExecute (combined) arguments as a shell command."
+
+#define HELP_unset "usage: unset [-fvn] NAME...\n\n-f	NAME is a function\n-v	NAME is a variable\n-n	dereference NAME and unset that"
+
+#define HELP_set "usage: set [+a] [+o OPTION] [VAR...]\n\nSet variables and shell attributes. Use + to disable and - to enable.\nNAME=VALUE arguments assign to the variable, any leftovers set $1, $2...\nWith no arguments, prints current variables.\n\n-f	NAME is a function\n-v	NAME is a variable\n-n	dereference NAME and unset that\n\nOPTIONs:\n  history - enable command history"
+
+#define HELP_exit "usage: exit [status]\n\nExit shell.  If no return value supplied on command line, use value\nof most recent command, or 0 if none."
+
+#define HELP_cd "usage: cd [-PL] [path]\n\nChange current directory.  With no arguments, go $HOME.\n\n-P	Physical path: resolve symlinks in path\n-L	Local path: .. trims directories off $PWD (default)"
+
+#define HELP_sh "usage: sh [-c command] [script]\n\nCommand shell.  Runs a shell script, or reads input interactively\nand responds to it.\n\n-c	command line to execute\n-i	interactive mode (default when STDIN is a tty)"
+
+#define HELP_route "usage: route [-ne] [-A [inet|inet6]] [add|del TARGET [OPTIONS]]\n\nDisplay, add or delete network routes in the \"Forwarding Information Base\",\nwhich send packets out a network interface to an address.\n\n-n	Show numerical addresses (no DNS lookups)\n-e	display netstat fields\n\nAssigning an address to an interface automatically creates an appropriate\nnetwork route (\"ifconfig eth0 10.0.2.15/8\" does \"route add 10.0.0.0/8 eth0\"\nfor you), although some devices (such as loopback) won't show it in the\ntable. For machines more than one hop away, you need to specify a gateway\n(ala \"route add default gw 10.0.2.2\").\n\nThe address \"default\" is a wildcard address (0.0.0.0/0) matching all\npackets without a more specific route.\n\nAvailable OPTIONS include:\nreject   - blocking route (force match failure)\ndev NAME - force matching packets out this interface (ala \"eth0\")\nnetmask  - old way of saying things like ADDR/24\ngw ADDR  - forward packets to gateway ADDR"
+
+#define HELP_readelf "usage: readelf [-adehlnSs] [-p SECTION] [-x SECTION] [file...]\n\nDisplays information about ELF files.\n\n-a	Equivalent to -dhlnSs\n-d	Show dynamic section\n-e	Headers (equivalent to -hlS)\n-h	Show ELF header\n-l	Show program headers\n-n	Show notes\n-p S	Dump strings found in named/numbered section\n-S	Show section headers\n-s	Show symbol tables (.dynsym and .symtab)\n-x S	Hex dump of named/numbered section\n\n--dyn-syms	Show just .dynsym symbol table"
+
+#define HELP_deallocvt "usage: deallocvt [NUM]\n\nDeallocate unused virtual terminals, either a specific /dev/ttyNUM, or all."
+
+#define HELP_openvt "usage: openvt [-c NUM] [-sw] [COMMAND...]\n\nStart a program on a new virtual terminal.\n\n-c NUM  Use VT NUM\n-s    Switch to new VT\n-w    Wait for command to exit\n\nTogether -sw switch back to originating VT when command completes."
+
+#define HELP_more "usage: more [FILE...]\n\nView FILE(s) (or stdin) one screenfull at a time."
+
+#define HELP_modprobe "usage: modprobe [-alrqvsDb] [-d DIR] MODULE [symbol=value][...]\n\nmodprobe utility - inserts modules and dependencies.\n\n-a  Load multiple MODULEs\n-d  Load modules from DIR, option may be used multiple times\n-l  List (MODULE is a pattern)\n-r  Remove MODULE (stacks) or do autoclean\n-q  Quiet\n-v  Verbose\n-s  Log to syslog\n-D  Show dependencies\n-b  Apply blacklist to module names too"
+
+#define HELP_mke2fs_extended "usage: mke2fs [-E stride=###] [-O option[,option]]\n\n-E stride= Set RAID stripe size (in blocks)\n-O [opts]  Specify fewer ext2 option flags (for old kernels)\n           All of these are on by default (as appropriate)\n   none         Clear default options (all but journaling)\n   dir_index    Use htree indexes for large directories\n   filetype     Store file type info in directory entry\n   has_journal  Set by -j\n   journal_dev  Set by -J device=XXX\n   sparse_super Don't allocate huge numbers of redundant superblocks"
+
+#define HELP_mke2fs_label "usage: mke2fs [-L label] [-M path] [-o string]\n\n-L         Volume label\n-M         Path to mount point\n-o         Created by"
+
+#define HELP_mke2fs_gen "usage: gene2fs [options] device filename\n\nThe [options] are the same as mke2fs."
+
+#define HELP_mke2fs_journal "usage: mke2fs [-j] [-J size=###,device=XXX]\n\n-j         Create journal (ext3)\n-J         Journal options\n           size: Number of blocks (1024-102400)\n           device: Specify an external journal"
+
+#define HELP_mke2fs "usage: mke2fs [-Fnq] [-b ###] [-N|i ###] [-m ###] device\n\nCreate an ext2 filesystem on a block device or filesystem image.\n\n-F         Force to run on a mounted device\n-n         Don't write to device\n-q         Quiet (no output)\n-b size    Block size (1024, 2048, or 4096)\n-N inodes  Allocate this many inodes\n-i bytes   Allocate one inode for every XXX bytes of device\n-m percent Reserve this percent of filesystem space for root user"
+
+#define HELP_mdev_conf "The mdev config file (/etc/mdev.conf) contains lines that look like:\nhd[a-z][0-9]* 0:3 660\n(sd[a-z]) root:disk 660 =usb_storage\n\nEach line must contain three whitespace separated fields. The first\nfield is a regular expression matching one or more device names,\nthe second and third fields are uid:gid and file permissions for\nmatching devices. Fourth field is optional. It could be used to change\ndevice name (prefix '='), path (prefix '=' and postfix '/') or create a\nsymlink (prefix '>')."
+
+#define HELP_mdev "usage: mdev [-s]\n\nCreate devices in /dev using information from /sys.\n\n-s	Scan all entries in /sys to populate /dev"
+
+#define HELP_man "usage: man [-M PATH] [-k STRING] | [SECTION] COMMAND\n\nRead manual page for system command.\n\n-k	List pages with STRING in their short description\n-M	Override $MANPATH\n\nMan pages are divided into 8 sections:\n1 commands      2 system calls  3 library functions  4 /dev files\n5 file formats  6 games         7 miscellaneous      8 system management\n\nSections are searched in the order 1 8 3 2 5 4 6 7 unless you specify a\nsection. Each section has a page called \"intro\", and there's a global\nintroduction under \"man-pages\"."
+
+#define HELP_lsof "usage: lsof [-lt] [-p PID1,PID2,...] [FILE...]\n\nList all open files belonging to all active processes, or processes using\nlisted FILE(s).\n\n-l	list uids numerically\n-p	for given comma-separated pids only (default all pids)\n-t	terse (pid only) output"
+
+#define HELP_last "usage: last [-W] [-f FILE]\n\nShow listing of last logged in users.\n\n-W      Display the information without host-column truncation\n-f FILE Read from file FILE instead of /var/log/wtmp"
+
+#define HELP_klogd "usage: klogd [-n] [-c N]\n\n-c  N   Print to console messages more urgent than prio N (1-8)\"\n-n    Run in foreground"
+
+#define HELP_ipcs "usage: ipcs [[-smq] -i shmid] | [[-asmq] [-tcplu]]\n\n-i Show specific resource\nResource specification:\n-a All (default)\n-m Shared memory segments\n-q Message queues\n-s Semaphore arrays\nOutput format:\n-c Creator\n-l Limits\n-p Pid\n-t Time\n-u Summary"
+
+#define HELP_ipcrm "usage: ipcrm [ [-q msqid] [-m shmid] [-s semid]\n          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n\n-mM Remove memory segment after last detach\n-qQ Remove message queue\n-sS Remove semaphore"
+
+#define HELP_ip "usage: ip [ OPTIONS ] OBJECT { COMMAND }\n\nShow / manipulate routing, devices, policy routing and tunnels.\n\nwhere OBJECT := {address | link | route | rule | tunnel}\nOPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }"
+
+#define HELP_init "usage: init\n\nSystem V style init.\n\nFirst program to run (as PID 1) when the system comes up, reading\n/etc/inittab to determine actions."
+
+#define HELP_host "usage: host [-av] [-t TYPE] NAME [SERVER]\n\nPerform DNS lookup on NAME, which can be a domain name to lookup,\nor an IPv4 dotted or IPv6 colon-separated address to reverse lookup.\nSERVER (if present) is the DNS server to use.\n\n-a	-v -t ANY\n-t TYPE	query records of type TYPE\n-v	verbose"
+
+#define HELP_groupdel "usage: groupdel [USER] GROUP\n\nDelete a group or remove a user from a group"
+
+#define HELP_groupadd "usage: groupadd [-S] [-g GID] [USER] GROUP\n\nAdd a group or add a user to a group\n\n  -g GID Group id\n  -S     Create a system group"
+
+#define HELP_getty "usage: getty [OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]\n\nWait for a modem to dial into serial port, adjust baud rate, call login.\n\n-h    Enable hardware RTS/CTS flow control\n-L    Set CLOCAL (ignore Carrier Detect state)\n-m    Get baud rate from modem's CONNECT status message\n-n    Don't prompt for login name\n-w    Wait for CR or LF before sending /etc/issue\n-i    Don't display /etc/issue\n-f ISSUE_FILE  Display ISSUE_FILE instead of /etc/issue\n-l LOGIN  Invoke LOGIN instead of /bin/login\n-t SEC    Terminate after SEC if no login name is read\n-I INITSTR  Send INITSTR before anything else\n-H HOST    Log HOST into the utmp file as the hostname"
+
+#define HELP_getopt "usage: getopt [OPTIONS] [--] ARG...\n\nParse command-line options for use in shell scripts.\n\n-a	Allow long options starting with a single -.\n-l OPTS	Specify long options.\n-n NAME	Command name for error messages.\n-o OPTS	Specify short options.\n-T	Test whether this is a modern getopt.\n-u	Output options unquoted."
+
+#define HELP_getfattr "usage: getfattr [-d] [-h] [-n NAME] FILE...\n\nRead POSIX extended attributes.\n\n-d	Show values as well as names\n-h	Do not dereference symbolic links\n-n	Show only attributes with the given name\n--only-values	Don't show names"
+
+#define HELP_fsck "usage: fsck [-ANPRTV] [-C FD] [-t FSTYPE] [FS_OPTS] [BLOCKDEV]...\n\nCheck and repair filesystems\n\n-A      Walk /etc/fstab and check all filesystems\n-N      Don't execute, just show what would be done\n-P      With -A, check filesystems in parallel\n-R      With -A, skip the root filesystem\n-T      Don't show title on startup\n-V      Verbose\n-C n    Write status information to specified file descriptor\n-t TYPE List of filesystem types to check"
+
+#define HELP_fold "usage: fold [-bsu] [-w WIDTH] [FILE...]\n\nFolds (wraps) or unfolds ascii text by adding or removing newlines.\nDefault line width is 80 columns for folding and infinite for unfolding.\n\n-b	Fold based on bytes instead of columns\n-s	Fold/unfold at whitespace boundaries if possible\n-u	Unfold text (and refold if -w is given)\n-w	Set lines to WIDTH columns or bytes"
+
+#define HELP_fdisk "usage: fdisk [-lu] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SECTSZ] DISK\n\nChange partition table\n\n-u            Start and End are in sectors (instead of cylinders)\n-l            Show partition table for each DISK, then exit\n-b size       sector size (512, 1024, 2048 or 4096)\n-C CYLINDERS  Set number of cylinders/heads/sectors\n-H HEADS\n-S SECTORS"
+
+#define HELP_expr "usage: expr ARG1 OPERATOR ARG2...\n\nEvaluate expression and print result. For example, \"expr 1 + 2\".\n\nThe supported operators are (grouped from highest to lowest priority):\n\n  ( )    :    * / %    + -    != <= < >= > =    &    |\n\nEach constant and operator must be a separate command line argument.\nAll operators are infix, meaning they expect a constant (or expression\nthat resolves to a constant) on each side of the operator. Operators of\nthe same priority (within each group above) are evaluated left to right.\nParentheses may be used (as separate arguments) to elevate the priority\nof expressions.\n\nCalling expr from a command shell requires a lot of \\( or '*' escaping\nto avoid interpreting shell control characters.\n\nThe & and | operators are logical (not bitwise) and may operate on\nstrings (a blank string is \"false\"). Comparison operators may also\noperate on strings (alphabetical sort).\n\nConstants may be strings or integers. Comparison, logical, and regex\noperators may operate on strings (a blank string is \"false\"), other\noperators require integers."
+
+#define HELP_dumpleases "usage: dumpleases [-r|-a] [-f LEASEFILE]\n\nDisplay DHCP leases granted by udhcpd\n-f FILE,  Lease file\n-r        Show remaining time\n-a        Show expiration time"
+
+#define HELP_diff "usage: diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2\n\n-a	Treat all files as text\n-b	Ignore changes in the amount of whitespace\n-B	Ignore changes whose lines are all blank\n-d	Try hard to find a smaller set of changes\n-i	Ignore case differences\n-L	Use LABEL instead of the filename in the unified header\n-N	Treat absent files as empty\n-q	Output only whether files differ\n-r	Recurse\n-S	Start with FILE when comparing directories\n-T	Make tabs line up by prefixing a tab when necessary\n-s	Report when two files are the same\n-t	Expand tabs to spaces in output\n-u	Unified diff\n-U	Output LINES lines of context\n-w	Ignore all whitespace\n\n--color              Colored output\n--strip-trailing-cr  Strip trailing '\\r's from input lines"
+
+#define HELP_dhcpd "usage: dhcpd [-46fS] [-i IFACE] [-P N] [CONFFILE]\n\n -f    Run in foreground\n -i Interface to use\n -S    Log to syslog too\n -P N  Use port N (default ipv4 67, ipv6 547)\n -4, -6    Run as a DHCPv4 or DHCPv6 server"
+
+#define HELP_dhcp6 "usage: dhcp6 [-fbnqvR] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n\n      Configure network dynamically using DHCP.\n\n    -i Interface to use (default eth0)\n    -p Create pidfile\n    -s Run PROG at DHCP events\n    -t Send up to N Solicit packets\n    -T Pause between packets (default 3 seconds)\n    -A Wait N seconds after failure (default 20)\n    -f Run in foreground\n    -b Background if lease is not obtained\n    -n Exit if lease is not obtained\n    -q Exit after obtaining lease\n    -R Release IP on exit\n    -S Log to syslog too\n    -r Request this IP address\n    -v Verbose\n\n    Signals:\n    USR1  Renew current lease\n    USR2  Release current lease"
+
+#define HELP_dhcp "usage: dhcp [-fbnqvoCRB] [-i IFACE] [-r IP] [-s PROG] [-p PIDFILE]\n            [-H HOSTNAME] [-V VENDOR] [-x OPT:VAL] [-O OPT]\n\n     Configure network dynamically using DHCP.\n\n   -i Interface to use (default eth0)\n   -p Create pidfile\n   -s Run PROG at DHCP events (default /usr/share/dhcp/default.script)\n   -B Request broadcast replies\n   -t Send up to N discover packets\n   -T Pause between packets (default 3 seconds)\n   -A Wait N seconds after failure (default 20)\n   -f Run in foreground\n   -b Background if lease is not obtained\n   -n Exit if lease is not obtained\n   -q Exit after obtaining lease\n   -R Release IP on exit\n   -S Log to syslog too\n   -a Use arping to validate offered address\n   -O Request option OPT from server (cumulative)\n   -o Don't request any options (unless -O is given)\n   -r Request this IP address\n   -x OPT:VAL  Include option OPT in sent packets (cumulative)\n   -F Ask server to update DNS mapping for NAME\n   -H Send NAME as client hostname (default none)\n   -V VENDOR Vendor identifier (default 'toybox VERSION')\n   -C Don't send MAC as client identifier\n   -v Verbose\n\n   Signals:\n   USR1  Renew current lease\n   USR2  Release current lease"
+
+#define HELP_dd "usage: dd [if=FILE] [of=FILE] [ibs=N] [obs=N] [iflag=FLAGS] [oflag=FLAGS]\n        [bs=N] [count=N] [seek=N] [skip=N]\n        [conv=notrunc|noerror|sync|fsync] [status=noxfer|none]\n\nCopy/convert files.\n\nif=FILE		Read from FILE instead of stdin\nof=FILE		Write to FILE instead of stdout\nbs=N		Read and write N bytes at a time\nibs=N		Input block size\nobs=N		Output block size\ncount=N		Copy only N input blocks\nskip=N		Skip N input blocks\nseek=N		Skip N output blocks\niflag=FLAGS	Set input flags\noflag=FLAGS	Set output flags\nconv=notrunc	Don't truncate output file\nconv=noerror	Continue after read errors\nconv=sync	Pad blocks with zeros\nconv=fsync	Physically write data out before finishing\nstatus=noxfer	Don't show transfer rate\nstatus=none	Don't show transfer rate or records in/out\n\nFLAGS is a comma-separated list of:\n\ncount_bytes	(iflag) interpret count=N in bytes, not blocks\nseek_bytes	(oflag) interpret seek=N in bytes, not blocks\nskip_bytes	(iflag) interpret skip=N in bytes, not blocks\n\nNumbers may be suffixed by c (*1), w (*2), b (*512), kD (*1000), k (*1024),\nMD (*1000*1000), M (*1024*1024), GD (*1000*1000*1000) or G (*1024*1024*1024)."
+
+#define HELP_crontab "usage: crontab [-u user] FILE\n               [-u user] [-e | -l | -r]\n               [-c dir]\n\nFiles used to schedule the execution of programs.\n\n-c crontab dir\n-e edit user's crontab\n-l list user's crontab\n-r delete user's crontab\n-u user\nFILE Replace crontab by FILE ('-': stdin)"
+
+#define HELP_crond "usage: crond [-fbS] [-l N] [-d N] [-L LOGFILE] [-c DIR]\n\nA daemon to execute scheduled commands.\n\n-b Background (default)\n-c crontab dir\n-d Set log level, log to stderr\n-f Foreground\n-l Set log level. 0 is the most verbose, default 8\n-S Log to syslog (default)\n-L Log to file"
+
+#define HELP_brctl "usage: brctl COMMAND [BRIDGE [INTERFACE]]\n\nManage ethernet bridges\n\nCommands:\nshow                  Show a list of bridges\naddbr BRIDGE          Create BRIDGE\ndelbr BRIDGE          Delete BRIDGE\naddif BRIDGE IFACE    Add IFACE to BRIDGE\ndelif BRIDGE IFACE    Delete IFACE from BRIDGE\nsetageing BRIDGE TIME Set ageing time\nsetfd BRIDGE TIME     Set bridge forward delay\nsethello BRIDGE TIME  Set hello time\nsetmaxage BRIDGE TIME Set max message age\nsetpathcost BRIDGE PORT COST   Set path cost\nsetportprio BRIDGE PORT PRIO   Set port priority\nsetbridgeprio BRIDGE PRIO      Set bridge priority\nstp BRIDGE [1/yes/on|0/no/off] STP on/off"
+
+#define HELP_bootchartd "usage: bootchartd {start [PROG ARGS]}|stop|init\n\nCreate /var/log/bootlog.tgz with boot chart data\n\nstart: start background logging; with PROG, run PROG,\n       then kill logging with USR1\nstop:  send USR1 to all bootchartd processes\ninit:  start background logging; stop when getty/xdm is seen\n      (for init scripts)\n\nUnder PID 1: as init, then exec $bootchart_init, /init, /sbin/init"
+
+#define HELP_bc "usage: bc [-ilqsw] [file ...]\n\nbc is a command-line calculator with a Turing-complete language.\n\noptions:\n\n  -i  --interactive  force interactive mode\n  -l  --mathlib      use predefined math routines:\n\n                     s(expr)  =  sine of expr in radians\n                     c(expr)  =  cosine of expr in radians\n                     a(expr)  =  arctangent of expr, returning radians\n                     l(expr)  =  natural log of expr\n                     e(expr)  =  raises e to the power of expr\n                     j(n, x)  =  Bessel function of integer order n of x\n\n  -q  --quiet        don't print version and copyright\n  -s  --standard     error if any non-POSIX extensions are used\n  -w  --warn         warn if any non-POSIX extensions are used"
+
+#define HELP_arping "usage: arping [-fqbDUA] [-c CNT] [-w TIMEOUT] [-I IFACE] [-s SRC_IP] DST_IP\n\nSend ARP requests/replies\n\n-f         Quit on first ARP reply\n-q         Quiet\n-b         Keep broadcasting, don't go unicast\n-D         Duplicated address detection mode\n-U         Unsolicited ARP mode, update your neighbors\n-A         ARP answer mode, update your neighbors\n-c N       Stop after sending N ARP requests\n-w TIMEOUT Time to wait for ARP reply, seconds\n-I IFACE   Interface to use (default eth0)\n-s SRC_IP  Sender IP address\nDST_IP     Target IP address"
+
+#define HELP_arp "usage: arp\n[-vn] [-H HWTYPE] [-i IF] -a [HOSTNAME]\n[-v]              [-i IF] -d HOSTNAME [pub]\n[-v]  [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [temp]\n[-v]  [-H HWTYPE] [-i IF] -s HOSTNAME HWADDR [netmask MASK] pub\n[-v]  [-H HWTYPE] [-i IF] -Ds HOSTNAME IFACE [netmask MASK] pub\n\nManipulate ARP cache\n\n-a    Display (all) hosts\n-s    Set new ARP entry\n-d    Delete a specified entry\n-v    Verbose\n-n    Don't resolve names\n-i IF Network interface\n-D    Read <hwaddr> from given device\n-A,-p AF  Protocol family\n-H    HWTYPE Hardware address type"
+
+#define HELP_xargs "usage: xargs [-0prt] [-snE STR] COMMAND...\n\nRun command line one or more times, appending arguments from stdin.\n\nIf COMMAND exits with 255, don't launch another even if arguments remain.\n\n-0	Each argument is NULL terminated, no whitespace or quote processing\n-E	Stop at line matching string\n-n	Max number of arguments per command\n-o	Open tty for COMMAND's stdin (default /dev/null)\n-p	Prompt for y/n from tty before running each command\n-P	Parallel processes (default 1)\n-r	Don't run with empty input (otherwise always run command once)\n-s	Size in bytes per command line\n-t	Trace, print command line to stderr"
+
+#define HELP_who "usage: who\n\nPrint information about logged in users."
+
+#define HELP_wc "usage: wc -lwcm [FILE...]\n\nCount lines, words, and characters in input.\n\n-l	Show lines\n-w	Show words\n-c	Show bytes\n-m	Show characters\n\nBy default outputs lines, words, bytes, and filename for each\nargument (or from stdin if none). Displays only either bytes\nor characters."
+
+#define HELP_uuencode "usage: uuencode [-m] [INFILE] ENCODE_FILENAME\n\nUuencode stdin (or INFILE) to stdout, with ENCODE_FILENAME in the output.\n\n-m	Base64"
+
+#define HELP_uudecode "usage: uudecode [-o OUTFILE] [INFILE]\n\nDecode file from stdin (or INFILE).\n\n-o	Write to OUTFILE instead of filename in header"
+
+#define HELP_unlink "usage: unlink FILE\n\nDelete one file."
+
+#define HELP_uniq "usage: uniq [-cduiz] [-w MAXCHARS] [-f FIELDS] [-s CHAR] [INFILE [OUTFILE]]\n\nReport or filter out repeated lines in a file\n\n-c	Show counts before each line\n-d	Show only lines that are repeated\n-u	Show only lines that are unique\n-i	Ignore case when comparing lines\n-z	Lines end with \\0 not \\n\n-w	Compare maximum X chars per line\n-f	Ignore first X fields\n-s	Ignore first X chars"
+
+#define HELP_uname "usage: uname [-asnrvm]\n\nPrint system information.\n\n-s	System name\n-n	Network (domain) name\n-r	Kernel Release number\n-v	Kernel Version\n-m	Machine (hardware) name\n-a	All of the above"
+
+#define HELP_arch "usage: arch\n\nPrint machine (hardware) name, same as uname -m."
+
+#define HELP_ulimit "usage: ulimit [-P PID] [-SHRacdefilmnpqrstuv] [LIMIT]\n\nPrint or set resource limits for process number PID. If no LIMIT specified\n(or read-only -ap selected) display current value (sizes in bytes).\nDefault is ulimit -P $PPID -Sf\" (show soft filesize of your shell).\n\n-S  Set/show soft limit          -H  Set/show hard (maximum) limit\n-a  Show all limits              -c  Core file size\n-d  Process data segment         -e  Max scheduling priority\n-f  Output file size             -i  Pending signal count\n-l  Locked memory                -m  Resident Set Size\n-n  Number of open files         -p  Pipe buffer\n-q  Posix message queue          -r  Max Real-time priority\n-R  Realtime latency (usec)      -s  Stack size\n-t  Total CPU time (in seconds)  -u  Maximum processes (under this UID)\n-v  Virtual memory size          -P  PID to affect (default $PPID)"
+
+#define HELP_tty "usage: tty [-s]\n\nShow filename of terminal connected to stdin.\n\nPrints \"not a tty\" and exits with nonzero status if no terminal\nis connected to stdin.\n\n-s	Silent, exit code only"
+
+#define HELP_true "usage: true\n\nReturn zero."
+
+#define HELP_touch "usage: touch [-amch] [-d DATE] [-t TIME] [-r FILE] FILE...\n\nUpdate the access and modification times of each FILE to the current time.\n\n-a	Change access time\n-m	Change modification time\n-c	Don't create file\n-h	Change symlink\n-d	Set time to DATE (in YYYY-MM-DDThh:mm:SS[.frac][tz] format)\n-t	Set time to TIME (in [[CC]YY]MMDDhhmm[.ss][frac] format)\n-r	Set time same as reference FILE"
+
+#define HELP_time "usage: time [-pv] COMMAND...\n\nRun command line and report real, user, and system time elapsed in seconds.\n(real = clock on the wall, user = cpu used by command's code,\nsystem = cpu used by OS on behalf of command.)\n\n-p	POSIX format output (default)\n-v	Verbose"
+
+#define HELP_test "usage: test [-bcdefghLPrSsuwx PATH] [-nz STRING] [-t FD] [X ?? Y]\n\nReturn true or false by performing tests. (With no arguments return false.)\n\n--- Tests with a single argument (after the option):\nPATH is/has:\n  -b  block device   -f  regular file   -p  fifo           -u  setuid bit\n  -c  char device    -g  setgid         -r  read bit       -w  write bit\n  -d  directory      -h  symlink        -S  socket         -x  execute bit\n  -e  exists         -L  symlink        -s  nonzero size   -k  sticky bit\nSTRING is:\n  -n  nonzero size   -z  zero size      (STRING by itself implies -n)\nFD (integer file descriptor) is:\n  -t  a TTY\n\n--- Tests with one argument on each side of an operator:\nTwo strings:\n  =  are identical   !=  differ\nTwo integers:\n  -eq  equal         -gt  first > second    -lt  first < second\n  -ne  not equal     -ge  first >= second   -le  first <= second\n\n--- Modify or combine tests:\n  ! EXPR     not (swap true/false)   EXPR -a EXPR    and (are both true)\n  ( EXPR )   evaluate this first     EXPR -o EXPR    or (is either true)"
+
+#define HELP_tee "usage: tee [-ai] [FILE...]\n\nCopy stdin to each listed file, and also to stdout.\nFilename \"-\" is a synonym for stdout.\n\n-a	Append to files\n-i	Ignore SIGINT"
+
+#define HELP_tar "usage: tar [-cxt] [-fvohmjkOS] [-XTCf NAME] [FILE...]\n\nCreate, extract, or list files in a .tar (or compressed t?z) file.\n\nOptions:\nc  Create                x  Extract               t  Test (list)\nf  tar FILE (default -)  C  Change to DIR first   v  Verbose display\no  Ignore owner          h  Follow symlinks       m  Ignore mtime\nJ  xz compression        j  bzip2 compression     z  gzip compression\nO  Extract to stdout     X  exclude names in FILE T  include names in FILE\n\n--exclude        FILENAME to exclude    --full-time   Show seconds with -tv\n--mode MODE      Adjust modes           --mtime TIME  Override timestamps\n--owner NAME     Set file owner to NAME --group NAME  Set file group to NAME\n--sparse         Record sparse files\n--restrict       All archive contents must extract under one subdirectory\n--numeric-owner  Save/use/display uid and gid, not user/group name\n--no-recursion   Don't store directory contents\n-I PROG          Filter through PROG to compress or PROG -d to decompress"
+
+#define HELP_tail "usage: tail [-n|c NUMBER] [-f] [FILE...]\n\nCopy last lines from files to stdout. If no files listed, copy from\nstdin. Filename \"-\" is a synonym for stdin.\n\n-n	Output the last NUMBER lines (default 10), +X counts from start\n-c	Output the last NUMBER bytes, +NUMBER counts from start\n-f	Follow FILE(s), waiting for more data to be appended"
+
+#define HELP_strings "usage: strings [-fo] [-t oxd] [-n LEN] [FILE...]\n\nDisplay printable strings in a binary file\n\n-f	Show filename\n-n	At least LEN characters form a string (default 4)\n-o	Show offset (ala -t d)\n-t	Show offset type (o=octal, d=decimal, x=hexadecimal)"
+
+#define HELP_split "usage: split [-a SUFFIX_LEN] [-b BYTES] [-l LINES] [INPUT [OUTPUT]]\n\nCopy INPUT (or stdin) data to a series of OUTPUT (or \"x\") files with\nalphabetically increasing suffix (aa, ab, ac... az, ba, bb...).\n\n-a	Suffix length (default 2)\n-b	BYTES/file (10, 10k, 10m, 10g...)\n-l	LINES/file (default 1000)"
+
+#define HELP_sort "usage: sort [-Mbcdfginrsuz] [FILE...] [-k#[,#[x]] [-t X]] [-o FILE]\n\nSort all lines of text from input files (or stdin) to stdout.\n-M	Month sort (jan, feb, etc)\n-V	Version numbers (name-1.234-rc6.5b.tgz)\n-b	Ignore leading blanks (or trailing blanks in second part of key)\n-c	Check whether input is sorted\n-d	Dictionary order (use alphanumeric and whitespace chars only)\n-f	Force uppercase (case insensitive sort)\n-g	General numeric sort (double precision with nan and inf)\n-i	Ignore nonprinting characters\n-k	Sort by \"key\" (see below)\n-n	Numeric order (instead of alphabetical)\n-o	Output to FILE instead of stdout\n-r	Reverse\n-s	Skip fallback sort (only sort with keys)\n-t	Use a key separator other than whitespace\n-u	Unique lines only\n-x	Hexadecimal numerical sort\n-z	Zero (null) terminated lines\n\nSorting by key looks at a subset of the words on each line. -k2 uses the\nsecond word to the end of the line, -k2,2 looks at only the second word,\n-k2,4 looks from the start of the second to the end of the fourth word.\n-k2.4,5 starts from the fourth character of the second word, to the end\nof the fifth word. Specifying multiple keys uses the later keys as tie\nbreakers, in order. A type specifier appended to a sort key (such as -2,2n)\napplies only to sorting that key."
+
+#define HELP_sleep "usage: sleep DURATION\n\nWait before exiting.\n\nDURATION can be a decimal fraction. An optional suffix can be \"m\"\n(minutes), \"h\" (hours), \"d\" (days), or \"s\" (seconds, the default)."
+
+#define HELP_sed "usage: sed [-inrszE] [-e SCRIPT]...|SCRIPT [-f SCRIPT_FILE]... [FILE...]\n\nStream editor. Apply editing SCRIPTs to lines of input.\n\n-e	Add SCRIPT to list\n-f	Add contents of SCRIPT_FILE to list\n-i	Edit each file in place (-iEXT keeps backup file with extension EXT)\n-n	No default output (use the p command to output matched lines)\n-r	Use extended regular expression syntax\n-E	POSIX alias for -r\n-s	Treat input files separately (implied by -i)\n-z	Use \\0 rather than \\n as input line separator\n\nA SCRIPT is one or more COMMANDs separated by newlines or semicolons.\nAll -e SCRIPTs are combined as if separated by newlines, followed by all -f\nSCRIPT_FILEs. If no -e or -f then first argument is the SCRIPT.\n\nCOMMANDs apply to every line unless prefixed with an ADDRESS of the form:\n\n  [ADDRESS[,ADDRESS]][!]COMMAND\n\nADDRESS is a line number (starting at 1), a /REGULAR EXPRESSION/, or $ for\nlast line (-s or -i makes it last line of each file). One address matches one\nline, ADDRESS,ADDRESS matches from first to second inclusive. Two regexes can\nmatch multiple ranges. ADDRESS,+N ends N lines later. ! inverts the match.\n\nREGULAR EXPRESSIONS start and end with the same character (anything but\nbackslash or newline). To use the delimiter in the regex escape it with a\nbackslash, and printf escapes (\\abcefnrtv and octal, hex, and unicode) work.\nAn empty regex repeats the previous one. ADDRESS regexes require any\nfirst delimiter except / to be \\escaped to distinguish it from COMMANDs.\n\nSed reads each line of input, processes it, and writes it out or discards it\nbefore reading the next. Sed can remember one additional line in a separate\nbuffer (the h, H, g, G, and x commands), and can read the next line of input\nearly (the n and N commands), but otherwise operates on individual lines.\n\nEach COMMAND starts with a single character. Commands with no arguments are:\n\n  !  Run this command when the ADDRESS _didn't_ match.\n  {  Start new command block, continuing until a corresponding \"}\".\n     Command blocks nest and can have ADDRESSes applying to the whole block.\n  }  End command block (this COMMAND cannot have an address)\n  d  Delete this line and move on to the next one\n     (ignores remaining COMMANDs)\n  D  Delete one line of input and restart command SCRIPT (same as \"d\"\n     unless you've glued lines together with \"N\" or similar)\n  g  Get remembered line (overwriting current line)\n  G  Get remembered line (appending to current line)\n  h  Remember this line (overwriting remembered line)\n  H  Remember this line (appending to remembered line, if any)\n  l  Print line escaping \\abfrtv (but not \\n), octal escape other nonprintng\n     chars, wrap lines to terminal width with \\, append $ to end of line.\n  n  Print default output and read next line over current line (quit at EOF)\n  N  Append \\n and next line of input to this line. Quit at EOF without\n     default output. Advances line counter for ADDRESS and \"=\".\n  p  Print this line\n  P  Print this line up to first newline (from \"N\")\n  q  Quit (print default output, no more commands processed or lines read)\n  x  Exchange this line with remembered line (overwrite in both directions)\n  =  Print the current line number (plus newline)\n  #  Comment, ignores rest of this line of SCRIPT (until newline)\n\nCommands that take an argument:\n\n  : LABEL    Target for jump commands\n  a TEXT     Append text to output before reading next line\n  b LABEL    Branch, jumps to :LABEL (with no LABEL to end of SCRIPT)\n  c TEXT     Delete matching ADDRESS range and output TEXT instead\n  i TEXT     Insert text (output immediately)\n  r FILE     Append contents of FILE to output before reading next line.\n  s/S/R/F    Search for regex S replace match with R using flags F. Delimiter\n             is anything but \\n or \\, escape with \\ to use in S or R. Printf\n             escapes work. Unescaped & in R becomes full matched text, \\1\n             through \\9 = parenthetical subexpression from S. \\ at end of\n             line appends next line of SCRIPT. The flags in F are:\n             [0-9]    A number N, substitute only Nth match\n             g        Global, substitute all matches\n             i/I      Ignore case when matching\n             p        Print resulting line when match found and replaced\n             w [file] Write (append) line to file when match replaced\n  t LABEL    Test, jump if s/// command matched this line since last test\n  T LABEL    Test false, jump to :LABEL only if no s/// found a match\n  w FILE     Write (append) line to file\n  y/old/new/ Change each character in 'old' to corresponding character\n             in 'new' (with standard backslash escapes, delimiter can be\n             any repeated character except \\ or \\n)\n\nThe TEXT arguments (to a c i) may end with an unescaped \"\\\" to append\nthe next line (leading whitespace is not skipped), and treat \";\" as a\nliteral character (use \"\\;\" instead)."
+
+#define HELP_rmdir "usage: rmdir [-p] [DIR...]\n\nRemove one or more directories.\n\n-p	Remove path\n--ignore-fail-on-non-empty	Ignore failures caused by non-empty directories"
+
+#define HELP_rm "usage: rm [-fiRrv] FILE...\n\nRemove each argument from the filesystem.\n\n-f	Force: remove without confirmation, no error if it doesn't exist\n-i	Interactive: prompt for confirmation\n-rR	Recursive: remove directory contents\n-v	Verbose"
+
+#define HELP_renice "usage: renice [-gpu] -n INCREMENT ID..."
+
+#define HELP_pwd "usage: pwd [-L|-P]\n\nPrint working (current) directory.\n\n-L	Use shell's path from $PWD (when applicable)\n-P	Print canonical absolute path"
+
+#define HELP_pkill "usage: pkill [-fnovx] [-SIGNAL|-l SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]\n\n-l	Send SIGNAL (default SIGTERM)\n-V	Verbose\n-f	Check full command line for PATTERN\n-G	Match real Group ID(s)\n-g	Match Process Group(s) (0 is current user)\n-n	Newest match only\n-o	Oldest match only\n-P	Match Parent Process ID(s)\n-s	Match Session ID(s) (0 for current)\n-t	Match Terminal(s)\n-U	Match real User ID(s)\n-u	Match effective User ID(s)\n-v	Negate the match\n-x	Match whole command (not substring)"
+
+#define HELP_pgrep "usage: pgrep [-clfnovx] [-d DELIM] [-L SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,]\n\nSearch for process(es). PATTERN is an extended regular expression checked\nagainst command names.\n\n-c	Show only count of matches\n-d	Use DELIM instead of newline\n-L	Send SIGNAL instead of printing name\n-l	Show command name\n-f	Check full command line for PATTERN\n-G	Match real Group ID(s)\n-g	Match Process Group(s) (0 is current user)\n-n	Newest match only\n-o	Oldest match only\n-P	Match Parent Process ID(s)\n-s	Match Session ID(s) (0 for current)\n-t	Match Terminal(s)\n-U	Match real User ID(s)\n-u	Match effective User ID(s)\n-v	Negate the match\n-x	Match whole command (not substring)"
+
+#define HELP_iotop "usage: iotop [-AaKObq] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,]\n\nRank processes by I/O.\n\n-A	All I/O, not just disk\n-a	Accumulated I/O (not percentage)\n-H	Show threads\n-K	Kilobytes\n-k	Fallback sort FIELDS (default -[D]IO,-ETIME,-PID)\n-m	Maximum number of tasks to show\n-O	Only show processes doing I/O\n-o	Show FIELDS (default PID,PR,USER,[D]READ,[D]WRITE,SWAP,[D]IO,COMM)\n-s	Sort by field number (0-X, default 6)\n-b	Batch mode (no tty)\n-d	Delay SECONDS between each cycle (default 3)\n-n	Exit after NUMBER iterations\n-p	Show these PIDs\n-u	Show these USERs\n-q	Quiet (no header lines)\n\nCursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force\nupdate, R to reverse sort, Q to exit."
+
+#define HELP_top "usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,]\n\nShow process activity in real time.\n\n-H	Show threads\n-k	Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)\n-o	Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)\n-O	Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)\n-s	Sort by field number (1-X, default 9)\n-b	Batch mode (no tty)\n-d	Delay SECONDS between each cycle (default 3)\n-m	Maximum number of tasks to show\n-n	Exit after NUMBER iterations\n-p	Show these PIDs\n-u	Show these USERs\n-q	Quiet (no header lines)\n\nCursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force\nupdate, R to reverse sort, Q to exit."
+
+#define HELP_ps "usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]\n\nList processes.\n\nWhich processes to show (-gGuUpPt selections may be comma separated lists):\n\n-A  All					-a  Has terminal not session leader\n-d  All but session leaders		-e  Synonym for -A\n-g  In GROUPs				-G  In real GROUPs (before sgid)\n-p  PIDs (--pid)			-P  Parent PIDs (--ppid)\n-s  In session IDs			-t  Attached to selected TTYs\n-T  Show threads also			-u  Owned by selected USERs\n-U  Real USERs (before suid)\n\nOutput modifiers:\n\n-k  Sort FIELDs (-FIELD to reverse)	-M  Measure/pad future field widths\n-n  Show numeric USER and GROUP		-w  Wide output (don't truncate fields)\n\nWhich FIELDs to show. (-o HELP for list, default = -o PID,TTY,TIME,CMD)\n\n-f  Full listing (-o USER:12=UID,PID,PPID,C,STIME,TTY,TIME,ARGS=CMD)\n-l  Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o  Output FIELDs instead of defaults, each with optional :size and =title\n-O  Add FIELDS to defaults\n-Z  Include LABEL"
+
+#define HELP_printf "usage: printf FORMAT [ARGUMENT...]\n\nFormat and print ARGUMENT(s) according to FORMAT, using C printf syntax\n(% escapes for cdeEfgGiosuxX, \\ escapes for abefnrtv0 or \\OCTAL or \\xHEX)."
+
+#define HELP_patch "usage: patch [-d DIR] [-i PATCH] [-p DEPTH] [-F FUZZ] [-Rlsu] [--dry-run] [FILE [PATCH]]\n\nApply a unified diff to one or more files.\n\n-d	Modify files in DIR\n-i	Input patch file (default=stdin)\n-l	Loose match (ignore whitespace)\n-p	Number of '/' to strip from start of file paths (default=all)\n-R	Reverse patch\n-s	Silent except for errors\n-u	Ignored (only handles \"unified\" diffs)\n--dry-run Don't change files, just confirm patch applies\n\nThis version of patch only handles unified diffs, and only modifies\na file when all hunks to that file apply. Patch prints failed hunks\nto stderr, and exits with nonzero status if any hunks fail.\n\nA file compared against /dev/null (or with a date <= the epoch) is\ncreated/deleted as appropriate."
+
+#define HELP_paste "usage: paste [-s] [-d DELIMITERS] [FILE...]\n\nMerge corresponding lines from each input file.\n\n-d	List of delimiter characters to separate fields with (default is \\t)\n-s	Sequential mode: turn each input file into one line of output"
+
+#define HELP_od "usage: od [-bcdosxv] [-j #] [-N #] [-w #] [-A doxn] [-t acdfoux[#]]\n\nDump data in octal/hex.\n\n-A	Address base (decimal, octal, hexadecimal, none)\n-j	Skip this many bytes of input\n-N	Stop dumping after this many bytes\n-t	Output type a(scii) c(har) d(ecimal) f(loat) o(ctal) u(nsigned) (he)x\n	plus optional size in bytes\n	aliases: -b=-t o1, -c=-t c, -d=-t u2, -o=-t o2, -s=-t d2, -x=-t x2\n-v	Don't collapse repeated lines together\n-w	Total line width in bytes (default 16)"
+
+#define HELP_nohup "usage: nohup COMMAND...\n\nRun a command that survives the end of its terminal.\n\nRedirect tty on stdin to /dev/null, tty on stdout to \"nohup.out\"."
+
+#define HELP_nl "usage: nl [-E] [-l #] [-b MODE] [-n STYLE] [-s SEPARATOR] [-v #] [-w WIDTH] [FILE...]\n\nNumber lines of input.\n\n-E	Use extended regex syntax (when doing -b pREGEX)\n-b	Which lines to number: a (all) t (non-empty, default) pREGEX (pattern)\n-l	Only count last of this many consecutive blank lines\n-n	Number STYLE: ln (left justified) rn (right justified) rz (zero pad)\n-s	Separator to use between number and line (instead of TAB)\n-v	Starting line number for each section (default 1)\n-w	Width of line numbers (default 6)"
+
+#define HELP_nice "usage: nice [-n PRIORITY] COMMAND...\n\nRun a command line at an increased or decreased scheduling priority.\n\nHigher numbers make a program yield more CPU time, from -20 (highest\npriority) to 19 (lowest).  By default processes inherit their parent's\nniceness (usually 0).  By default this command adds 10 to the parent's\npriority.  Only root can set a negative niceness level."
+
+#define HELP_mkfifo_z "usage: mkfifo [-Z CONTEXT]\n\n-Z	Security context"
+
+#define HELP_mkfifo "usage: mkfifo [NAME...]\n\nCreate FIFOs (named pipes)."
+
+#define HELP_mkdir_z "usage: [-Z context]\n\n-Z	Set security context"
+
+#define HELP_mkdir "usage: mkdir [-vp] [-m MODE] [DIR...]\n\nCreate one or more directories.\n\n-m	Set permissions of directory to mode\n-p	Make parent directories as needed\n-v	Verbose"
+
+#define HELP_ls "usage: ls [-ACFHLRSZacdfhiklmnpqrstuwx1] [--color[=auto]] [FILE...]\n\nList files.\n\nwhat to show:\n-a  all files including .hidden    -b  escape nongraphic chars\n-c  use ctime for timestamps       -d  directory, not contents\n-i  inode number                   -p  put a '/' after dir names\n-q  unprintable chars as '?'       -s  storage used (1024 byte units)\n-u  use access time for timestamps -A  list all files but . and ..\n-H  follow command line symlinks   -L  follow symlinks\n-R  recursively list in subdirs    -F  append /dir *exe @sym |FIFO\n-Z  security context\n\noutput formats:\n-1  list one file per line         -C  columns (sorted vertically)\n-g  like -l but no owner           -h  human readable sizes\n-l  long (show full details)       -m  comma separated\n-n  like -l but numeric uid/gid    -o  like -l but no group\n-w  set column width               -x  columns (horizontal sort)\n-ll long with nanoseconds (--full-time)\n--color  device=yellow  symlink=turquoise/red  dir=blue  socket=purple\n         files: exe=green  suid=red  suidfile=redback  stickydir=greenback\n         =auto means detect if output is a tty.\n\nsorting (default is alphabetical):\n-f  unsorted    -r  reverse    -t  timestamp    -S  size"
+
+#define HELP_logger "usage: logger [-s] [-t TAG] [-p [FACILITY.]PRIORITY] [MESSAGE...]\n\nLog message (or stdin) to syslog.\n\n-s	Also write message to stderr\n-t	Use TAG instead of username to identify message source\n-p	Specify PRIORITY with optional FACILITY. Default is \"user.notice\""
+
+#define HELP_ln "usage: ln [-sfnv] [-t DIR] [FROM...] TO\n\nCreate a link between FROM and TO.\nOne/two/many arguments work like \"mv\" or \"cp\".\n\n-s	Create a symbolic link\n-f	Force the creation of the link, even if TO already exists\n-n	Symlink at TO treated as file\n-r	Create relative symlink from -> to\n-t	Create links in DIR\n-T	TO always treated as file, max 2 arguments\n-v	Verbose"
+
+#define HELP_link "usage: link FILE NEWLINK\n\nCreate hardlink to a file."
+
+#define HELP_killall5 "usage: killall5 [-l [SIGNAL]] [-SIGNAL|-s SIGNAL] [-o PID]...\n\nSend a signal to all processes outside current session.\n\n-l	List signal name(s) and number(s)\n-o PID	Omit PID\n-s	Send SIGNAL (default SIGTERM)"
+
+#define HELP_kill "usage: kill [-l [SIGNAL] | -s SIGNAL | -SIGNAL] PID...\n\nSend signal to process(es).\n\n-l	List signal name(s) and number(s)\n-s	Send SIGNAL (default SIGTERM)"
+
+#define HELP_whoami "usage: whoami\n\nPrint the current user name."
+
+#define HELP_logname "usage: logname\n\nPrint the current user name."
+
+#define HELP_groups "usage: groups [user]\n\nPrint the groups a user is in."
+
+#define HELP_id_z "usage: id [-Z]\n\n-Z	Show only security context"
+
+#define HELP_id "usage: id [-nGgru] [USER...]\n\nPrint user and group ID.\n\n-G	Show all group IDs\n-g	Show only the effective group ID\n-n	Print names instead of numeric IDs (to be used with -Ggu)\n-r	Show real ID instead of effective ID\n-u	Show only the effective user ID"
+
+#define HELP_iconv "usage: iconv [-f FROM] [-t TO] [FILE...]\n\nConvert character encoding of files.\n\n-c	Omit invalid chars\n-f	Convert from (default UTF-8)\n-t	Convert to   (default UTF-8)"
+
+#define HELP_head "usage: head [-n NUM] [FILE...]\n\nCopy first lines from files to stdout. If no files listed, copy from\nstdin. Filename \"-\" is a synonym for stdin.\n\n-n	Number of lines to copy\n-c	Number of bytes to copy\n-q	Never print headers\n-v	Always print headers"
+
+#define HELP_grep "usage: grep [-EFrivwcloqsHbhn] [-ABC NUM] [-m MAX] [-e REGEX]... [-MS PATTERN]... [-f REGFILE] [FILE]...\n\nShow lines matching regular expressions. If no -e, first argument is\nregular expression to match. With no files (or \"-\" filename) read stdin.\nReturns 0 if matched, 1 if no match found, 2 for command errors.\n\n-e  Regex to match. (May be repeated.)\n-f  File listing regular expressions to match.\n\nfile search:\n-r  Recurse into subdirectories (defaults FILE to \".\")\n-R  Recurse into subdirectories and symlinks to directories\n-M  Match filename pattern (--include)\n-S  Skip filename pattern (--exclude)\n--exclude-dir=PATTERN  Skip directory pattern\n-I  Ignore binary files\n\nmatch type:\n-A  Show NUM lines after     -B  Show NUM lines before match\n-C  NUM lines context (A+B)  -E  extended regex syntax\n-F  fixed (literal match)    -a  always text (not binary)\n-i  case insensitive         -m  match MAX many lines\n-v  invert match             -w  whole word (implies -E)\n-x  whole line               -z  input NUL terminated\n\ndisplay modes: (default: matched line)\n-c  count of matching lines  -l  show only matching filenames\n-o  only matching part       -q  quiet (errors only)\n-s  silent (no error msg)    -Z  output NUL terminated\n\noutput prefix (default: filename if checking more than 1 file)\n-H  force filename           -b  byte offset of match\n-h  hide filename            -n  line number of match"
+
+#define HELP_getconf "usage: getconf -a [PATH] | -l | NAME [PATH]\n\nGet system configuration values. Values from pathconf(3) require a path.\n\n-a	Show all (defaults to \"/\" if no path given)\n-l	List available value names (grouped by source)"
+
+#define HELP_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\", match all, -print matches.\n\n-H  Follow command line symlinks         -L  Follow all symlinks\n\nMatch filters:\n-name  PATTERN   filename with wildcards  (-iname case insensitive)\n-path  PATTERN   path name with wildcards (-ipath case insensitive)\n-user  UNAME     belongs to user UNAME     -nouser     user ID not known\n-group GROUP     belongs to group GROUP    -nogroup    group ID not known\n-perm  [-/]MODE  permissions (-=min /=any) -prune      ignore dir contents\n-size  N[c]      512 byte blocks (c=bytes) -xdev       only this filesystem\n-links N         hardlink count            -atime N[u] accessed N units ago\n-ctime N[u]      created N units ago       -mtime N[u] modified N units ago\n-newer FILE      newer mtime than FILE     -mindepth N at least N dirs down\n-depth           ignore contents of dir    -maxdepth N at most N dirs down\n-inum N          inode number N            -empty      empty files and dirs\n-type [bcdflps]  type is (block, char, dir, file, symlink, pipe, socket)\n-true            always true               -false      always false\n-context PATTERN security context\n-newerXY FILE    X=acm time > FILE's Y=acm time (Y=t: FILE is literal time)\n\nNumbers N may be prefixed by a - (less than) or + (greater than). Units for\n-Xtime are d (days, default), h (hours), m (minutes), or s (seconds).\n\nCombine matches with:\n!, -a, -o, ( )    not, and, or, group expressions\n\nActions:\n-print  Print match with newline  -print0        Print match with null\n-exec   Run command with path     -execdir       Run command in file's dir\n-ok     Ask before exec           -okdir         Ask before execdir\n-delete Remove matching file/dir  -printf FORMAT Print using format string\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n-printf FORMAT characters are \\ escapes and:\n%b  512 byte blocks used\n%f  basename            %g  textual gid          %G  numeric gid\n%i  decimal inode       %l  target of symlink    %m  octal mode\n%M  ls format type/mode %p  path to file         %P  path to file minus DIR\n%s  size in bytes       %T@ mod time as unixtime\n%u  username            %U  numeric uid          %Z  security context"
+
+#define HELP_file "usage: file [-bhLs] [FILE...]\n\nExamine the given files and describe their content types.\n\n-b	Brief (no filename)\n-h	Don't follow symlinks (default)\n-L	Follow symlinks\n-s	Show block/char device contents"
+
+#define HELP_false "usage: false\n\nReturn nonzero."
+
+#define HELP_expand "usage: expand [-t TABLIST] [FILE...]\n\nExpand tabs to spaces according to tabstops.\n\n-t	TABLIST\n\nSpecify tab stops, either a single number instead of the default 8,\nor a comma separated list of increasing numbers representing tabstop\npositions (absolute, not increments) with each additional tab beyond\nthat becoming one space."
+
+#define HELP_env "usage: env [-i] [-u NAME] [NAME=VALUE...] [COMMAND...]\n\nSet the environment for command invocation, or list environment variables.\n\n-i	Clear existing environment\n-u NAME	Remove NAME from the environment\n-0	Use null instead of newline in output"
+
+#define HELP_echo "usage: echo [-neE] [ARG...]\n\nWrite each argument to stdout, with one space between each, followed\nby a newline.\n\n-n	No trailing newline\n-E	Print escape sequences literally (default)\n-e	Process the following escape sequences:\n	\\\\	Backslash\n	\\0NNN	Octal values (1 to 3 digits)\n	\\a	Alert (beep/flash)\n	\\b	Backspace\n	\\c	Stop output here (avoids trailing newline)\n	\\f	Form feed\n	\\n	Newline\n	\\r	Carriage return\n	\\t	Horizontal tab\n	\\v	Vertical tab\n	\\xHH	Hexadecimal values (1 to 2 digits)"
+
+#define HELP_du "usage: du [-d N] [-askxHLlmc] [FILE...]\n\nShow disk usage, space consumed by files and directories.\n\nSize in:\n-b	Apparent bytes (directory listing size, not space used)\n-k	1024 byte blocks (default)\n-K	512 byte blocks (posix)\n-m	Megabytes\n-h	Human readable (e.g., 1K 243M 2G)\n\nWhat to show:\n-a	All files, not just directories\n-H	Follow symlinks on cmdline\n-L	Follow all symlinks\n-s	Only total size of each argument\n-x	Don't leave this filesystem\n-c	Cumulative total\n-d N	Only depth < N\n-l	Disable hardlink filter"
+
+#define HELP_dirname "usage: dirname PATH...\n\nShow directory portion of path."
+
+#define HELP_df "usage: df [-HPkhi] [-t type] [FILE...]\n\nThe \"disk free\" command shows total/used/available disk space for\neach filesystem listed on the command line, or all currently mounted\nfilesystems.\n\n-a	Show all (including /proc and friends)\n-P	The SUSv3 \"Pedantic\" option\n-k	Sets units back to 1024 bytes (the default without -P)\n-h	Human readable (K=1024)\n-H	Human readable (k=1000)\n-i	Show inodes instead of blocks\n-t type	Display only filesystems of this type\n\nPedantic provides a slightly less useful output format dictated by Posix,\nand sets the units to 512 bytes instead of the default 1024 bytes."
+
+#define HELP_date "usage: date [-u] [-I RES] [-r FILE] [-d DATE] [+DISPLAY_FORMAT] [-D SET_FORMAT] [SET]\n\nSet/get the current date/time. With no SET shows the current date.\n\n-d	Show DATE instead of current time (convert date format)\n-D	+FORMAT for SET or -d (instead of MMDDhhmm[[CC]YY][.ss])\n-I RES	ISO 8601 with RESolution d=date/h=hours/m=minutes/s=seconds/n=ns\n-r	Use modification time of FILE instead of current date\n-u	Use UTC instead of current timezone\n\nSupported input formats:\n\nMMDDhhmm[[CC]YY][.ss]     POSIX\n@UNIXTIME[.FRACTION]      seconds since midnight 1970-01-01\nYYYY-MM-DD [hh:mm[:ss]]   ISO 8601\nhh:mm[:ss]                24-hour time today\n\nAll input formats can be followed by fractional seconds, and/or a UTC\noffset such as -0800.\n\nAll input formats can be preceded by TZ=\"id\" to set the input time zone\nseparately from the output time zone. Otherwise $TZ sets both.\n\n+FORMAT specifies display format string using strftime(3) syntax:\n\n%% literal %             %n newline              %t tab\n%S seconds (00-60)       %M minute (00-59)       %m month (01-12)\n%H hour (0-23)           %I hour (01-12)         %p AM/PM\n%y short year (00-99)    %Y year                 %C century\n%a short weekday name    %A weekday name         %u day of week (1-7, 1=mon)\n%b short month name      %B month name           %Z timezone name\n%j day of year (001-366) %d day of month (01-31) %e day of month ( 1-31)\n%N nanosec (output only)\n\n%U Week of year (0-53 start Sunday)   %W Week of year (0-53 start Monday)\n%V Week of year (1-53 start Monday, week < 4 days not part of this year)\n\n%F \"%Y-%m-%d\"   %R \"%H:%M\"        %T \"%H:%M:%S\"        %z  timezone (-0800)\n%D \"%m/%d/%y\"   %r \"%I:%M:%S %p\"  %h \"%b\"              %:z timezone (-08:00)\n%x locale date  %X locale time    %c locale date/time  %s  unix epoch time"
+
+#define HELP_cut "usage: cut [-Ds] [-bcfF LIST] [-dO DELIM] [FILE...]\n\nPrint selected parts of lines from each FILE to standard output.\n\nEach selection LIST is comma separated, either numbers (counting from 1)\nor dash separated ranges (inclusive, with X- meaning to end of line and -X\nfrom start). By default selection ranges are sorted and collated, use -D\nto prevent that.\n\n-b	Select bytes\n-c	Select UTF-8 characters\n-C	Select unicode columns\n-d	Use DELIM (default is TAB for -f, run of whitespace for -F)\n-D	Don't sort/collate selections or match -fF lines without delimiter\n-f	Select fields (words) separated by single DELIM character\n-F	Select fields separated by DELIM regex\n-O	Output delimiter (default one space for -F, input delim for -f)\n-s	Skip lines without delimiters"
+
+#define HELP_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [--no-preserve-owner]\n       [ignored: -mdu -H newc]\n\nCopy files into and out of a \"newc\" format cpio archive.\n\n-F FILE	Use archive FILE instead of stdin/stdout\n-p DEST	Copy-pass mode, copy stdin file list to directory DEST\n-i	Extract from archive into file system (stdin=archive)\n-o	Create archive (stdin=list of files, stdout=archive)\n-t	Test files (list only, stdin=archive, stdout=list of files)\n-d	Create directories if needed\n-v	Verbose\n--no-preserve-owner (don't set ownership during extract)"
+
+#define HELP_install "usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [SOURCE...] DEST\n\nCopy files and set attributes.\n\n-d	Act like mkdir -p\n-D	Create leading directories for DEST\n-g	Make copy belong to GROUP\n-m	Set permissions to MODE\n-o	Make copy belong to USER\n-p	Preserve timestamps\n-s	Call \"strip -p\"\n-v	Verbose"
+
+#define HELP_mv "usage: mv [-finTv] SOURCE... DEST\n\n-f	Force copy by deleting destination file\n-i	Interactive, prompt before overwriting existing DEST\n-n	No clobber (don't overwrite DEST)\n-T	DEST always treated as file, max 2 arguments\n-v	Verbose"
+
+#define HELP_cp "usage: cp [-adfHiLlnPpRrsTv] [--preserve=motcxa] SOURCE... DEST\n\nCopy files from SOURCE to DEST.  If more than one SOURCE, DEST must\nbe a directory.\n\n-a	Same as -dpr\n-D	Create leading dirs under DEST (--parents)\n-d	Don't dereference symlinks\n-F	Delete any existing destination file first (--remove-destination)\n-f	Delete destination files we can't write to\n-H	Follow symlinks listed on command line\n-i	Interactive, prompt before overwriting existing DEST\n-L	Follow all symlinks\n-l	Hard link instead of copy\n-n	No clobber (don't overwrite DEST)\n-P	Do not follow symlinks\n-p	Preserve timestamps, ownership, and mode\n-R	Recurse into subdirectories (DEST must be a directory)\n-r	Synonym for -R\n-s	Symlink instead of copy\n-T	DEST always treated as file, max 2 arguments\n-v	Verbose\n\nArguments to --preserve are the first letter(s) of:\n\n        mode - permissions (ignore umask for rwx, copy suid and sticky bit)\n   ownership - user and group\n  timestamps - file creation, modification, and access times.\n     context - security context\n       xattr - extended attributes\n         all - all of the above"
+
+#define HELP_comm "usage: comm [-123] FILE1 FILE2\n\nRead FILE1 and FILE2, which should be ordered, and produce three text\ncolumns as output: lines only in FILE1; lines only in FILE2; and lines\nin both files. Filename \"-\" is a synonym for stdin.\n\n-1	Suppress the output column of lines unique to FILE1\n-2	Suppress the output column of lines unique to FILE2\n-3	Suppress the output column of lines duplicated in FILE1 and FILE2"
+
+#define HELP_cmp "usage: cmp [-l] [-s] FILE1 [FILE2 [SKIP1 [SKIP2]]]\n\nCompare the contents of two files. (Or stdin and file if only one given.)\n\n-l	Show all differing bytes\n-s	Silent"
+
+#define HELP_crc32 "usage: crc32 [file...]\n\nOutput crc32 checksum for each file."
+
+#define HELP_cksum "usage: cksum [-IPLN] [FILE...]\n\nFor each file, output crc32 checksum value, length and name of file.\nIf no files listed, copy from stdin.  Filename \"-\" is a synonym for stdin.\n\n-H	Hexadecimal checksum (defaults to decimal)\n-L	Little endian (defaults to big endian)\n-P	Pre-inversion\n-I	Skip post-inversion\n-N	Do not include length in CRC calculation (or output)"
+
+#define HELP_chmod "usage: chmod [-R] MODE FILE...\n\nChange mode of listed file[s] (recursively with -R).\n\nMODE can be (comma-separated) stanzas: [ugoa][+-=][rwxstXugo]\n\nStanzas are applied in order: For each category (u = user,\ng = group, o = other, a = all three, if none specified default is a),\nset (+), clear (-), or copy (=), r = read, w = write, x = execute.\ns = u+s = suid, g+s = sgid, +t = sticky. (o+s ignored so a+s doesn't set +t)\nsuid/sgid: execute as the user/group who owns the file.\nsticky: can't delete files you don't own out of this directory\nX = x for directories or if any category already has x set.\n\nOr MODE can be an octal value up to 7777	ug uuugggooo	top +\nbit 1 = o+x, bit 1<<8 = u+w, 1<<11 = g+1	sstrwxrwxrwx	bottom\n\nExamples:\nchmod u+w file - allow owner of \"file\" to write to it.\nchmod 744 file - user can read/write/execute, everyone else read only"
+
+#define HELP_chown "see: chgrp"
+
+#define HELP_chgrp "usage: chgrp/chown [-RHLP] [-fvh] GROUP FILE...\n\nChange group of one or more files.\n\n-f	Suppress most error messages\n-h	Change symlinks instead of what they point to\n-R	Recurse into subdirectories (implies -h)\n-H	With -R change target of symlink, follow command line symlinks\n-L	With -R change target of symlink, follow all symlinks\n-P	With -R change symlink, do not follow symlinks (default)\n-v	Verbose"
+
+#define HELP_catv "usage: catv [-evt] [FILE...]\n\nDisplay nonprinting characters as escape sequences. Use M-x for\nhigh ascii characters (>127), and ^x for other nonprinting chars.\n\n-e	Mark each newline with $\n-t	Show tabs as ^I\n-v	Don't use ^x or M-x escapes"
+
+#define HELP_cat "usage: cat [-etuv] [FILE...]\n\nCopy (concatenate) files to stdout.  If no files listed, copy from stdin.\nFilename \"-\" is a synonym for stdin.\n\n-e	Mark each newline with $\n-t	Show tabs as ^I\n-u	Copy one byte at a time (slow)\n-v	Display nonprinting characters as escape sequences with M-x for\n	high ascii characters (>127), and ^x for other nonprinting chars"
+
+#define HELP_cal "usage: cal [[MONTH] YEAR]\n\nPrint a calendar.\n\nWith one argument, prints all months of the specified year.\nWith two arguments, prints calendar for month and year.\n\n-h	Don't highlight today"
+
+#define HELP_basename "usage: basename [-a] [-s SUFFIX] NAME... | NAME [SUFFIX]\n\nReturn non-directory portion of a pathname removing suffix.\n\n-a		All arguments are names\n-s SUFFIX	Remove suffix (implies -a)"
+
diff --git a/android/mac/generated/newtoys.h b/android/mac/generated/newtoys.h
new file mode 100644
index 0000000..3e86e65
--- /dev/null
+++ b/android/mac/generated/newtoys.h
@@ -0,0 +1,318 @@
+USE_TOYBOX(NEWTOY(toybox, NULL, TOYFLAG_STAYROOT))
+USE_SH(OLDTOY(-bash, sh, 0))
+USE_SH(OLDTOY(-sh, sh, 0))
+USE_SH(OLDTOY(-toysh, sh, 0))
+USE_SH(OLDTOY(., source, TOYFLAG_NOFORK))
+USE_TRUE(OLDTOY(:, true, TOYFLAG_NOFORK|TOYFLAG_NOHELP))
+USE_SH(OLDTOY([, test, TOYFLAG_NOFORK|TOYFLAG_NOHELP))
+USE_ACPI(NEWTOY(acpi, "abctV", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GROUPADD(OLDTOY(addgroup, groupadd, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USERADD(OLDTOY(adduser, useradd, TOYFLAG_NEEDROOT|TOYFLAG_UMASK|TOYFLAG_SBIN))
+USE_ARCH(NEWTOY(arch, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ARP(NEWTOY(arp, "vi:nDsdap:A:H:[+Ap][!sd]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ARPING(NEWTOY(arping, "<1>1s:I:w#<0c#<0AUDbqf[+AU][+Df]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_ASCII(NEWTOY(ascii, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASE32(NEWTOY(base32, "diw#<0=76[!dw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASE64(NEWTOY(base64, "diw#<0=76[!dw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BASENAME(NEWTOY(basename, "^<1as:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(OLDTOY(bash, sh, TOYFLAG_BIN))
+USE_BC(NEWTOY(bc, "i(interactive)l(mathlib)q(quiet)s(standard)w(warn)", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_BLKDISCARD(NEWTOY(blkdiscard, "<1>1f(force)l(length)#<0o(offset)#<0s(secure)z(zeroout)[!sz]", TOYFLAG_BIN))
+USE_BLKID(NEWTOY(blkid, "ULs*[!LU]", TOYFLAG_BIN))
+USE_BLOCKDEV(NEWTOY(blockdev, "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(getra)(setra)#<0(flushbufs)(rereadpt)",TOYFLAG_SBIN))
+USE_BOOTCHARTD(NEWTOY(bootchartd, 0, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_BRCTL(NEWTOY(brctl, "<1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_BUNZIP2(NEWTOY(bunzip2, "cftkv", TOYFLAG_USR|TOYFLAG_BIN))
+USE_BZCAT(NEWTOY(bzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CAL(NEWTOY(cal, ">2h", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CAT(NEWTOY(cat, "u"USE_CAT_V("vte"), TOYFLAG_BIN))
+USE_CATV(NEWTOY(catv, USE_CATV("vte"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(cd, ">1LP[-LP]", TOYFLAG_NOFORK))
+USE_CHATTR(NEWTOY(chattr, "?p#v#R", TOYFLAG_BIN))
+USE_CHCON(NEWTOY(chcon, "<2hvR", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CHGRP(NEWTOY(chgrp, "<2h(no-dereference)PLHRfv[-HLP]", TOYFLAG_BIN))
+USE_CHMOD(NEWTOY(chmod, "<2?vfR[-vf]", TOYFLAG_BIN))
+USE_CHOWN(OLDTOY(chown, chgrp, TOYFLAG_BIN))
+USE_CHROOT(NEWTOY(chroot, "^<1", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_ARGFAIL(125)))
+USE_CHRT(NEWTOY(chrt, "^mp#<0iRbrfo[!ibrfo]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_CKSUM(NEWTOY(cksum, "HIPLN", TOYFLAG_BIN))
+USE_CLEAR(NEWTOY(clear, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CMP(NEWTOY(cmp, "<1>2ls(silent)(quiet)[!ls]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_COMM(NEWTOY(comm, "<2>2321", TOYFLAG_USR|TOYFLAG_BIN))
+USE_COUNT(NEWTOY(count, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_CP(NEWTOY(cp, "<2(preserve):;D(parents)RHLPprdaslvnF(remove-destination)fiT[-HLPd][-ni]", TOYFLAG_BIN))
+USE_CPIO(NEWTOY(cpio, "(quiet)(no-preserve-owner)md(make-directories)uH:p|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
+USE_CRC32(NEWTOY(crc32, 0, TOYFLAG_BIN))
+USE_CROND(NEWTOY(crond, "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_CRONTAB(NEWTOY(crontab, "c:u:elr[!elr]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_CUT(NEWTOY(cut, "b*|c*|f*|F*|C*|O(output-delimiter):d:sDn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DATE(NEWTOY(date, "d:D:I(iso)(iso-8601):;r:u(utc)[!dr]", TOYFLAG_BIN))
+USE_DD(NEWTOY(dd, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_DEALLOCVT(NEWTOY(deallocvt, ">1", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_GROUPDEL(OLDTOY(delgroup, groupdel, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USERDEL(OLDTOY(deluser, userdel, TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_DEMO_MANY_OPTIONS(NEWTOY(demo_many_options, "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba", TOYFLAG_BIN))
+USE_DEMO_NUMBER(NEWTOY(demo_number, "D#=3<3M#<0hcdbs", TOYFLAG_BIN))
+USE_DEMO_SCANKEY(NEWTOY(demo_scankey, 0, TOYFLAG_BIN))
+USE_DEMO_UTF8TOWC(NEWTOY(demo_utf8towc, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_DEVMEM(NEWTOY(devmem, "<1>3", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DF(NEWTOY(df, "HPkhit*a[-HPkh]", TOYFLAG_SBIN))
+USE_DHCP(NEWTOY(dhcp, "V:H:F:x*r:O*A#<0=20T#<0=3t#<0=3s:p:i:SBRCaovqnbf", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DHCP6(NEWTOY(dhcp6, "r:A#<0T#<0t#<0s:p:i:SRvqnbf", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DHCPD(NEWTOY(dhcpd, ">1P#<0>65535fi:S46[!46]", TOYFLAG_SBIN|TOYFLAG_ROOTONLY))
+USE_DIFF(NEWTOY(diff, "<2>2(color)(strip-trailing-cr)B(ignore-blank-lines)d(minimal)b(ignore-space-change)ut(expand-tabs)w(ignore-all-space)i(ignore-case)T(initial-tab)s(report-identical-files)q(brief)a(text)L(label)*S(starting-file):N(new-file)r(recursive)U(unified)#<0=3", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_DIRNAME(NEWTOY(dirname, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DMESG(NEWTOY(dmesg, "w(follow)CSTtrs#<1n#c[!Ttr][!Cc][!Sw]", TOYFLAG_BIN))
+USE_DNSDOMAINNAME(NEWTOY(dnsdomainname, ">0", TOYFLAG_BIN))
+USE_DOS2UNIX(NEWTOY(dos2unix, 0, TOYFLAG_BIN))
+USE_DU(NEWTOY(du, "d#<0=-1hmlcaHkKLsxb[-HL][-kKmh]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_DUMPLEASES(NEWTOY(dumpleases, ">0arf:[!ar]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ECHO(NEWTOY(echo, "^?Een[-eE]", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_EGREP(OLDTOY(egrep, grep, TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_EJECT(NEWTOY(eject, ">1stT[!tT]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ENV(NEWTOY(env, "^i0u*", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_SH(NEWTOY(eval, 0, TOYFLAG_NOFORK))
+USE_SH(NEWTOY(exec, "^cla:", TOYFLAG_NOFORK))
+USE_SH(NEWTOY(exit, 0, TOYFLAG_NOFORK))
+USE_EXPAND(NEWTOY(expand, "t*", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_SH(NEWTOY(export, "np", TOYFLAG_NOFORK))
+USE_EXPR(NEWTOY(expr, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_FACTOR(NEWTOY(factor, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_FALLOCATE(NEWTOY(fallocate, ">1l#|o#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FALSE(NEWTOY(false, NULL, TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_FDISK(NEWTOY(fdisk, "C#<0H#<0S#<0b#<512ul", TOYFLAG_SBIN))
+USE_FGREP(OLDTOY(fgrep, grep, TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_FILE(NEWTOY(file, "<1bhLs[!hL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FIND(NEWTOY(find, "?^HL[-HL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FLOCK(NEWTOY(flock, "<1>1nsux[-sux]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FMT(NEWTOY(fmt, "w#<0=75", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_FOLD(NEWTOY(fold, "bsuw#<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREE(NEWTOY(free, "htgmkb[!htgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREERAMDISK(NEWTOY(freeramdisk, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_FSCK(NEWTOY(fsck, "?t:ANPRTVsC#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FSFREEZE(NEWTOY(fsfreeze, "<1>1f|u|[!fu]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_FSTYPE(NEWTOY(fstype, "<1", TOYFLAG_BIN))
+USE_FSYNC(NEWTOY(fsync, "<1d", TOYFLAG_BIN))
+USE_FTPGET(NEWTOY(ftpget, "<2>3P:cp:u:vgslLmMdD[-gs][!gslLmMdD][!clL]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FTPPUT(OLDTOY(ftpput, ftpget, TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETCONF(NEWTOY(getconf, ">2al", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETENFORCE(NEWTOY(getenforce, ">0", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_GETFATTR(NEWTOY(getfattr, "(only-values)dhn:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETOPT(NEWTOY(getopt, "^a(alternative)n:(name)o:(options)l*(long)(longoptions)Tu", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GETTY(NEWTOY(getty, "<2t#<0H:I:l:f:iwnmLh", TOYFLAG_SBIN))
+USE_GREP(NEWTOY(grep, "(line-buffered)(color):;(exclude-dir)*S(exclude)*M(include)*ZzEFHIab(byte-offset)h(no-filename)ino(only-matching)rRsvwcl(files-with-matches)q(quiet)(silent)e*f*C#B#A#m#x[!wx][!EFw]", TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)|TOYFLAG_LINEBUF))
+USE_GROUPADD(NEWTOY(groupadd, "<1>2g#<0S", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_GROUPDEL(NEWTOY(groupdel, "<1>2", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_GROUPS(NEWTOY(groups, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_GUNZIP(NEWTOY(gunzip, "cdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_GZIP(NEWTOY(gzip,    "ncdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(OLDTOY(halt, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_HEAD(NEWTOY(head, "?n(lines)#<0=10c(bytes)#<0qv[-nc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HELLO(NEWTOY(hello, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_HELP(NEWTOY(help, "ahu", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_HEXEDIT(NEWTOY(hexedit, "<1>1r", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_HOST(NEWTOY(host, "<1>2avt:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HOSTID(NEWTOY(hostid, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HOSTNAME(NEWTOY(hostname, ">1bdsfF:[!bdsf]", TOYFLAG_BIN))
+USE_HWCLOCK(NEWTOY(hwclock, ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]", TOYFLAG_SBIN))
+USE_I2CDETECT(NEWTOY(i2cdetect, ">3aFly", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CDUMP(NEWTOY(i2cdump, "<2>2fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CGET(NEWTOY(i2cget, "<3>3fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_I2CSET(NEWTOY(i2cset, "<4fy", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ICONV(NEWTOY(iconv, "cst:f:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ID(NEWTOY(id, ">1"USE_ID_Z("Z")"nGgru[!"USE_ID_Z("Z")"Ggu]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IFCONFIG(NEWTOY(ifconfig, "^?aS", TOYFLAG_SBIN))
+USE_INIT(NEWTOY(init, "", TOYFLAG_SBIN))
+USE_INOTIFYD(NEWTOY(inotifyd, "<2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_INSTALL(NEWTOY(install, "<1cdDpsvm:o:g:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IONICE(NEWTOY(ionice, "^tc#<0>3=2n#<0>7=5p#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IORENICE(NEWTOY(iorenice, "?<1>3", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IOTOP(NEWTOY(iotop, ">0AaKO" "Hk*o*p*u*s#<1=7d%<100=3000m#n#<1bq", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT|TOYFLAG_LOCALE))
+USE_IP(NEWTOY(ip, NULL, TOYFLAG_SBIN))
+USE_IP(OLDTOY(ipaddr, ip, TOYFLAG_SBIN))
+USE_IPCRM(NEWTOY(ipcrm, "m*M*s*S*q*Q*", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IPCS(NEWTOY(ipcs, "acptulsqmi#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_IP(OLDTOY(iplink, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iproute, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iprule, ip, TOYFLAG_SBIN))
+USE_IP(OLDTOY(iptunnel, ip, TOYFLAG_SBIN))
+USE_KILL(NEWTOY(kill, "?ls: ", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_KILLALL(NEWTOY(killall, "?s:ilqvw", TOYFLAG_USR|TOYFLAG_BIN))
+USE_KILLALL5(NEWTOY(killall5, "?o*ls: [!lo][!ls]", TOYFLAG_SBIN))
+USE_KLOGD(NEWTOY(klogd, "c#<1>8n", TOYFLAG_SBIN))
+USE_LAST(NEWTOY(last, "f:W", TOYFLAG_BIN))
+USE_LINK(NEWTOY(link, "<2>2", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LN(NEWTOY(ln, "<1rt:Tvnfs", TOYFLAG_BIN))
+USE_LOAD_POLICY(NEWTOY(load_policy, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_LOG(NEWTOY(log, "<1p:t:", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_LOGGER(NEWTOY(logger, "t:p:s", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOGIN(NEWTOY(login, ">1f:ph:", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_LOGNAME(NEWTOY(logname, ">0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOGWRAPPER(NEWTOY(logwrapper, 0, TOYFLAG_NOHELP|TOYFLAG_USR|TOYFLAG_BIN))
+USE_LOSETUP(NEWTOY(losetup, ">2S(sizelimit)#s(show)ro#j:fdcaD[!afj]", TOYFLAG_SBIN))
+USE_LS(NEWTOY(ls, "(color):;(full-time)(show-control-chars)ZgoACFHLRSabcdfhikl@mnpqrstuw#=80<0x1[-Cxm1][-Cxml][-Cxmo][-Cxmg][-cu][-ftS][-HL][!qb]", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_LSATTR(NEWTOY(lsattr, "ldapvR", TOYFLAG_BIN))
+USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN))
+USE_LSOF(NEWTOY(lsof, "lp*t", TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSPCI(NEWTOY(lspci, "emkn"USE_LSPCI_TEXT("@i:"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSUSB(NEWTOY(lsusb, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_MAKEDEVS(NEWTOY(makedevs, "<1>1d:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MAN(NEWTOY(man, "k:M:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MCOOKIE(NEWTOY(mcookie, "v(verbose)V(version)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MD5SUM(NEWTOY(md5sum, "bc(check)s(status)[!bc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MDEV(NEWTOY(mdev, "s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MICROCOM(NEWTOY(microcom, "<1>1s#=115200X", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MIX(NEWTOY(mix, "c:d:l#r#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKDIR(NEWTOY(mkdir, "<1"USE_MKDIR_Z("Z:")"vp(parent)(parents)m:", TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MKE2FS(NEWTOY(mke2fs, "<1>2g:Fnqm#N#i#b#", TOYFLAG_SBIN))
+USE_MKFIFO(NEWTOY(mkfifo, "<1"USE_MKFIFO_Z("Z:")"m:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKNOD(NEWTOY(mknod, "<2>4m(mode):"USE_MKNOD_Z("Z:"), TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_MKPASSWD(NEWTOY(mkpasswd, ">2S:m:P#=0<0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_MKSWAP(NEWTOY(mkswap, "<1>1L:", TOYFLAG_SBIN))
+USE_MKTEMP(NEWTOY(mktemp, ">1(tmpdir);:uqd(directory)p:t", TOYFLAG_BIN))
+USE_MODINFO(NEWTOY(modinfo, "<1b:k:F:0", TOYFLAG_SBIN))
+USE_MODPROBE(NEWTOY(modprobe, "alrqvsDbd*", TOYFLAG_SBIN))
+USE_MORE(NEWTOY(more, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_MOUNTPOINT(NEWTOY(mountpoint, "<1qdx[-dx]", TOYFLAG_BIN))
+USE_MV(NEWTOY(mv, "<2vnF(remove-destination)fiT[-ni]", TOYFLAG_BIN))
+USE_NBD_CLIENT(OLDTOY(nbd-client, nbd_client, TOYFLAG_USR|TOYFLAG_BIN))
+USE_NBD_CLIENT(NEWTOY(nbd_client, "<3>3ns", 0))
+USE_NETCAT(OLDTOY(nc, netcat, TOYFLAG_USR|TOYFLAG_BIN))
+USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("^tElL")"w#<1W#<1p#<1>65535q#<1s:f:46uU"USE_NETCAT_LISTEN("[!tlL][!Lw]")"[!46U]", TOYFLAG_BIN))
+USE_NETSTAT(NEWTOY(netstat, "pWrxwutneal", TOYFLAG_BIN))
+USE_NICE(NEWTOY(nice, "^<1n#", TOYFLAG_BIN))
+USE_NL(NEWTOY(nl, "v#=1l#w#<0=6Eb:n:s:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NOHUP(NEWTOY(nohup, "<1^", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_NPROC(NEWTOY(nproc, "(all)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NSENTER(NEWTOY(nsenter, "<1F(no-fork)t#<1(target)i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);", TOYFLAG_USR|TOYFLAG_BIN))
+USE_OD(NEWTOY(od, "j#vw#<1=16N#xsodcbA:t*", TOYFLAG_USR|TOYFLAG_BIN))
+USE_ONEIT(NEWTOY(oneit, "^<1nc:p3[!pn]", TOYFLAG_SBIN))
+USE_OPENVT(NEWTOY(openvt, "c#<1>63sw", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
+USE_PARTPROBE(NEWTOY(partprobe, "<1", TOYFLAG_SBIN))
+USE_PASSWD(NEWTOY(passwd, ">1a:dlu", TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_PASTE(NEWTOY(paste, "d:s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PATCH(NEWTOY(patch, ">2(no-backup-if-mismatch)(dry-run)"USE_TOYBOX_DEBUG("x")"F#g#fulp#d:i:Rs(quiet)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PGREP(NEWTOY(pgrep, "?cld:u*U*t*s*P*g*G*fnovxL:[-no]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PIDOF(NEWTOY(pidof, "<1so:x", TOYFLAG_BIN))
+USE_PING(NEWTOY(ping, "<1>1m#t#<0>255=64c#<0=3s#<0>4064=56i%W#<0=3w#<0qf46I:[-46]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PING(OLDTOY(ping6, ping, TOYFLAG_USR|TOYFLAG_BIN))
+USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN))
+USE_PKILL(NEWTOY(pkill,    "?Vu*U*t*s*P*g*G*fnovxl:[-no]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(OLDTOY(poweroff, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_PRINTENV(NEWTOY(printenv, "(null)0", TOYFLAG_BIN))
+USE_PRINTF(NEWTOY(printf, "<1?^", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_ULIMIT(OLDTOY(prlimit, ulimit, TOYFLAG_USR|TOYFLAG_BIN))
+USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PWD(NEWTOY(pwd, ">0LP[-LP]", TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PWGEN(NEWTOY(pwgen, ">2r(remove):c(capitalize)n(numerals)y(symbols)s(secure)B(ambiguous)h(help)C1vA(no-capitalize)0(no-numerals)[-cA][-n0][-C1]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_READAHEAD(NEWTOY(readahead, NULL, TOYFLAG_BIN))
+USE_READELF(NEWTOY(readelf, "<1(dyn-syms)adehlnp:SsWx:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_READLINK(NEWTOY(readlink, "<1nqmef(canonicalize)[-mef]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REALPATH(NEWTOY(realpath, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_REBOOT(NEWTOY(reboot, "fn", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN))
+USE_RESET(NEWTOY(reset, 0, TOYFLAG_USR|TOYFLAG_BIN))
+USE_RESTORECON(NEWTOY(restorecon, "<1DFnRrv", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_REV(NEWTOY(rev, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_RM(NEWTOY(rm, "fiRrv[-fi]", TOYFLAG_BIN))
+USE_RMDIR(NEWTOY(rmdir, "<1(ignore-fail-on-non-empty)p(parents)", TOYFLAG_BIN))
+USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_ROUTE(NEWTOY(route, "?neA:", TOYFLAG_SBIN))
+USE_RTCWAKE(NEWTOY(rtcwake, "(list-modes);(auto)a(device)d:(local)l(mode)m:(seconds)s#(time)t#(utc)u(verbose)v[!alu]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_RUNCON(NEWTOY(runcon, "<2", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SED(NEWTOY(sed, "(help)(version)e*f*i:;nErz(null-data)s[+Er]", TOYFLAG_BIN|TOYFLAG_LOCALE|TOYFLAG_NOHELP))
+USE_SENDEVENT(NEWTOY(sendevent, "<4>4", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SEQ(NEWTOY(seq, "<1>3?f:s:w[!fw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(set, 0, TOYFLAG_NOFORK))
+USE_SETENFORCE(NEWTOY(setenforce, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_SETFATTR(NEWTOY(setfattr, "hn:|v:x:|[!xv]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SETSID(NEWTOY(setsid, "^<1wcd[!dc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(sh, "0(noediting)(noprofile)(norc)sc:i", TOYFLAG_BIN))
+USE_SHA1SUM(NEWTOY(sha1sum, "bc(check)s(status)[!bc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TOYBOX_LIBCRYPTO(USE_SHA224SUM(OLDTOY(sha224sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_TOYBOX_LIBCRYPTO(USE_SHA256SUM(OLDTOY(sha256sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_TOYBOX_LIBCRYPTO(USE_SHA384SUM(OLDTOY(sha384sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_SHA3SUM(NEWTOY(sha3sum, "bSa#<128>512=224", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TOYBOX_LIBCRYPTO(USE_SHA512SUM(OLDTOY(sha512sum, sha1sum, TOYFLAG_USR|TOYFLAG_BIN)))
+USE_SH(NEWTOY(shift, ">1", TOYFLAG_NOFORK))
+USE_SHRED(NEWTOY(shred, "<1zxus#<1n#<1o#<0f", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SKELETON(NEWTOY(skeleton, "(walrus)(blubber):;(also):e@d*c#b:a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SKELETON_ALIAS(NEWTOY(skeleton_alias, "b#dq", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SLEEP(NEWTOY(sleep, "<1", TOYFLAG_BIN))
+USE_SNTP(NEWTOY(sntp, ">1M :m :Sp:t#<0=1>16asdDqr#<4>17=10[!as]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SORT(NEWTOY(sort, USE_SORT_FLOAT("g")"S:T:m" "o:k*t:" "xVbMcszdfirun", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(2)))
+USE_SH(NEWTOY(source, "0<1", TOYFLAG_NOFORK))
+USE_SPLIT(NEWTOY(split, ">2a#<1=2>9b#<1l#<1[!bl]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_STAT(NEWTOY(stat, "<1c:(format)fLt", TOYFLAG_BIN))
+USE_STRINGS(NEWTOY(strings, "t:an#=4<1fo", TOYFLAG_USR|TOYFLAG_BIN))
+USE_STTY(NEWTOY(stty, "?aF:g[!ag]", TOYFLAG_BIN))
+USE_SU(NEWTOY(su, "^lmpu:g:c:s:[!lmp]", TOYFLAG_BIN|TOYFLAG_ROOTONLY))
+USE_SULOGIN(NEWTOY(sulogin, "t#<0=0", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767d", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
+USE_SWITCH_ROOT(NEWTOY(switch_root, "<2c:h", TOYFLAG_SBIN))
+USE_SYNC(NEWTOY(sync, NULL, TOYFLAG_BIN))
+USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN))
+USE_SYSLOGD(NEWTOY(syslogd,">0l#<1>8=8R:b#<0>99=1s#<0=200m#<0>71582787=20O:p:f:a:nSKLD", TOYFLAG_SBIN|TOYFLAG_STAYROOT))
+USE_TAC(NEWTOY(tac, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_TAIL(NEWTOY(tail, "?fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TAR(NEWTOY(tar, "&(restrict)(full-time)(no-recursion)(numeric-owner)(no-same-permissions)(overwrite)(exclude)*(mode):(mtime):(group):(owner):(to-command):o(no-same-owner)p(same-permissions)k(keep-old)c(create)|h(dereference)x(extract)|t(list)|v(verbose)I(use-compress-program):J(xz)j(bzip2)z(gzip)S(sparse)O(to-stdout)P(absolute-names)m(touch)X(exclude-from)*T(files-from)*C(directory):f(file):a[!txc][!jzJa]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TASKSET(NEWTOY(taskset, "<1^pa", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_TCPSVD(NEWTOY(tcpsvd, "^<3c#=30<1C:b#=20<0u:l:hEv", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TELNET(NEWTOY(telnet, "<1>2", TOYFLAG_BIN))
+USE_TELNETD(NEWTOY(telnetd, "w#<0b:p#<0>65535=23f:l:FSKi[!wi]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TEST(NEWTOY(test, 0, TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_TFTP(NEWTOY(tftp, "<1b#<8>65464r:l:g|p|[!gp]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TFTPD(NEWTOY(tftpd, "rcu:l", TOYFLAG_BIN))
+USE_TIME(NEWTOY(time, "<1^pv", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_MAYFORK))
+USE_TIMEOUT(NEWTOY(timeout, "<2^(foreground)(preserve-status)vk:s(signal):", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_ARGFAIL(125)))
+USE_TOP(NEWTOY(top, ">0O*" "Hk*o*p*u*s#<1d%<100=3000m#n#<1bq[!oO]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_TOUCH(NEWTOY(touch, "<1acd:fmr:t:h[!dtr]", TOYFLAG_BIN))
+USE_SH(OLDTOY(toysh, sh, TOYFLAG_BIN))
+USE_TR(NEWTOY(tr, "^>2<1Ccsd[+cC]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRACEROUTE(NEWTOY(traceroute, "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<0>255=0s:q#<1>255=3p#<1>65535=33434m#<1>255=30rvndlIUF64", TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRACEROUTE(OLDTOY(traceroute6,traceroute, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
+USE_TRUE(NEWTOY(true, NULL, TOYFLAG_BIN|TOYFLAG_NOHELP|TOYFLAG_MAYFORK))
+USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TTY(NEWTOY(tty, "s", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TUNCTL(NEWTOY(tunctl, "<1>1t|d|u:T[!td]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_TCPSVD(OLDTOY(udpsvd, tcpsvd, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ULIMIT(NEWTOY(ulimit, ">1P#<1SHavutsrRqpnmlifedc[-SH][!apvutsrRqnmlifedc]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UMOUNT(NEWTOY(umount, "cndDflrat*v[!na]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_UNAME(NEWTOY(uname, "oamvrns[+os]", TOYFLAG_BIN))
+USE_UNICODE(NEWTOY(unicode, "<1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UNIX2DOS(NEWTOY(unix2dos, 0, TOYFLAG_BIN))
+USE_UNLINK(NEWTOY(unlink, "<1>1", TOYFLAG_USR|TOYFLAG_BIN))
+USE_SH(NEWTOY(unset, "fvn", TOYFLAG_NOFORK))
+USE_UNSHARE(NEWTOY(unshare, "<1^f(fork);r(map-root-user);i:(ipc);m:(mount);n:(net);p:(pid);u:(uts);U:(user);", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UPTIME(NEWTOY(uptime, ">0ps", TOYFLAG_USR|TOYFLAG_BIN))
+USE_USERADD(NEWTOY(useradd, "<1>2u#<0G:s:g:h:SDH", TOYFLAG_NEEDROOT|TOYFLAG_UMASK|TOYFLAG_SBIN))
+USE_USERDEL(NEWTOY(userdel, "<1>1r", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_USLEEP(NEWTOY(usleep, "<1", TOYFLAG_BIN))
+USE_UUDECODE(NEWTOY(uudecode, ">1o:", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_UMASK))
+USE_UUENCODE(NEWTOY(uuencode, "<1>2m", TOYFLAG_USR|TOYFLAG_BIN))
+USE_UUIDGEN(NEWTOY(uuidgen, ">0r(random)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_VCONFIG(NEWTOY(vconfig, "<2>4", TOYFLAG_NEEDROOT|TOYFLAG_SBIN))
+USE_VI(NEWTOY(vi, ">1s:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_VMSTAT(NEWTOY(vmstat, ">2n", TOYFLAG_BIN))
+USE_W(NEWTOY(w, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_WATCH(NEWTOY(watch, "^<1n%<100=2000tebx", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_WATCHDOG(NEWTOY(watchdog, "<1>1Ft#=4<1T#=60<1", TOYFLAG_NEEDROOT|TOYFLAG_BIN))
+USE_WC(NEWTOY(wc, "mcwl", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_WGET(NEWTOY(wget, "(no-check-certificate)O:", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHICH(NEWTOY(which, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN))
+USE_WHOAMI(OLDTOY(whoami, logname, TOYFLAG_USR|TOYFLAG_BIN))
+USE_XARGS(NEWTOY(xargs, "^E:P#<0=1optrn#<1(max-args)s#0[!0E]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XXD(NEWTOY(xxd, ">1c#l#o#g#<1=2iprs#[!rs]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XZCAT(NEWTOY(xzcat, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_YES(NEWTOY(yes, NULL, TOYFLAG_USR|TOYFLAG_BIN))
+USE_ZCAT(NEWTOY(zcat,     "cdfk123456789[-123456789]", TOYFLAG_USR|TOYFLAG_BIN))
diff --git a/android/mac/generated/tags.h b/android/mac/generated/tags.h
new file mode 100644
index 0000000..e1e4d31
--- /dev/null
+++ b/android/mac/generated/tags.h
@@ -0,0 +1,140 @@
+#define DD_conv_fsync                                    0
+#define _DD_conv_fsync                                   (1<<0)
+#define DD_conv_noerror                                  1
+#define _DD_conv_noerror                                 (1<<1)
+#define DD_conv_notrunc                                  2
+#define _DD_conv_notrunc                                 (1<<2)
+#define DD_conv_sync                                     3
+#define _DD_conv_sync                                    (1<<3)
+#define DD_iflag_count_bytes                              0
+#define _DD_iflag_count_bytes                             (1<<0)
+#define DD_iflag_skip_bytes                               1
+#define _DD_iflag_skip_bytes                              (1<<1)
+#define DD_oflag_seek_bytes                               0
+#define _DD_oflag_seek_bytes                              (1<<0)
+#define CP_mode                                     0
+#define _CP_mode                                    (1<<0)
+#define CP_ownership                                1
+#define _CP_ownership                               (1<<1)
+#define CP_timestamps                               2
+#define _CP_timestamps                              (1<<2)
+#define CP_context                                  3
+#define _CP_context                                 (1<<3)
+#define CP_xattr                                    4
+#define _CP_xattr                                   (1<<4)
+#define PS_PID                                      0
+#define _PS_PID                                     (1<<0)
+#define PS_PPID                                     1
+#define _PS_PPID                                    (1<<1)
+#define PS_PRI                                      2
+#define _PS_PRI                                     (1<<2)
+#define PS_NI                                       3
+#define _PS_NI                                      (1<<3)
+#define PS_ADDR                                     4
+#define _PS_ADDR                                    (1<<4)
+#define PS_SZ                                       5
+#define _PS_SZ                                      (1<<5)
+#define PS_RSS                                      6
+#define _PS_RSS                                     (1<<6)
+#define PS_PGID                                     7
+#define _PS_PGID                                    (1<<7)
+#define PS_VSZ                                      8
+#define _PS_VSZ                                     (1<<8)
+#define PS_MAJFL                                    9
+#define _PS_MAJFL                                   (1<<9)
+#define PS_MINFL                                    10
+#define _PS_MINFL                                   (1<<10)
+#define PS_PR                                       11
+#define _PS_PR                                      (1<<11)
+#define PS_PSR                                      12
+#define _PS_PSR                                     (1<<12)
+#define PS_RTPRIO                                   13
+#define _PS_RTPRIO                                  (1<<13)
+#define PS_SCH                                      14
+#define _PS_SCH                                     (1<<14)
+#define PS_CPU                                      15
+#define _PS_CPU                                     (1<<15)
+#define PS_TID                                      16
+#define _PS_TID                                     (1<<16)
+#define PS_TCNT                                     17
+#define _PS_TCNT                                    (1<<17)
+#define PS_BIT                                      18
+#define _PS_BIT                                     (1<<18)
+#define PS_TTY                                      19
+#define _PS_TTY                                     (1<<19)
+#define PS_WCHAN                                    20
+#define _PS_WCHAN                                   (1<<20)
+#define PS_LABEL                                    21
+#define _PS_LABEL                                   (1<<21)
+#define PS_COMM                                     22
+#define _PS_COMM                                    (1<<22)
+#define PS_NAME                                     23
+#define _PS_NAME                                    (1<<23)
+#define PS_COMMAND                                  24
+#define _PS_COMMAND                                 (1<<24)
+#define PS_CMDLINE                                  25
+#define _PS_CMDLINE                                 (1<<25)
+#define PS_ARGS                                     26
+#define _PS_ARGS                                    (1<<26)
+#define PS_CMD                                      27
+#define _PS_CMD                                     (1<<27)
+#define PS_UID                                      28
+#define _PS_UID                                     (1<<28)
+#define PS_USER                                     29
+#define _PS_USER                                    (1<<29)
+#define PS_RUID                                     30
+#define _PS_RUID                                    (1<<30)
+#define PS_RUSER                                    31
+#define _PS_RUSER                                   (1<<31)
+#define PS_GID                                      32
+#define _PS_GID                                     (1LL<<32)
+#define PS_GROUP                                    33
+#define _PS_GROUP                                   (1LL<<33)
+#define PS_RGID                                     34
+#define _PS_RGID                                    (1LL<<34)
+#define PS_RGROUP                                   35
+#define _PS_RGROUP                                  (1LL<<35)
+#define PS_TIME                                     36
+#define _PS_TIME                                    (1LL<<36)
+#define PS_ELAPSED                                  37
+#define _PS_ELAPSED                                 (1LL<<37)
+#define PS_TIME_                                    38
+#define _PS_TIME_                                   (1LL<<38)
+#define PS_C                                        39
+#define _PS_C                                       (1LL<<39)
+#define PS__VSZ                                     40
+#define _PS__VSZ                                    (1LL<<40)
+#define PS__MEM                                     41
+#define _PS__MEM                                    (1LL<<41)
+#define PS__CPU                                     42
+#define _PS__CPU                                    (1LL<<42)
+#define PS_VIRT                                     43
+#define _PS_VIRT                                    (1LL<<43)
+#define PS_RES                                      44
+#define _PS_RES                                     (1LL<<44)
+#define PS_SHR                                      45
+#define _PS_SHR                                     (1LL<<45)
+#define PS_READ                                     46
+#define _PS_READ                                    (1LL<<46)
+#define PS_WRITE                                    47
+#define _PS_WRITE                                   (1LL<<47)
+#define PS_IO                                       48
+#define _PS_IO                                      (1LL<<48)
+#define PS_DREAD                                    49
+#define _PS_DREAD                                   (1LL<<49)
+#define PS_DWRITE                                   50
+#define _PS_DWRITE                                  (1LL<<50)
+#define PS_SWAP                                     51
+#define _PS_SWAP                                    (1LL<<51)
+#define PS_DIO                                      52
+#define _PS_DIO                                     (1LL<<52)
+#define PS_STIME                                    53
+#define _PS_STIME                                   (1LL<<53)
+#define PS_F                                        54
+#define _PS_F                                       (1LL<<54)
+#define PS_S                                        55
+#define _PS_S                                       (1LL<<55)
+#define PS_STAT                                     56
+#define _PS_STAT                                    (1LL<<56)
+#define PS_PCY                                      57
+#define _PS_PCY                                     (1LL<<57)
diff --git a/regenerate.sh b/regenerate.sh
new file mode 100755
index 0000000..689a482
--- /dev/null
+++ b/regenerate.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+rm -rf .config generated/ android/
+
+function generate() {
+  which=$1
+  echo -e "\n-------- $1\n"
+
+  # These are the only generated files we actually need.
+  files="config.h flags.h globals.h help.h newtoys.h tags.h"
+
+  cp .config-$which .config
+  NOBUILD=1 scripts/make.sh
+  out=android/$which/generated/
+  mkdir -p $out
+  for f in $files; do cp generated/$f $out/$f ; done
+  rm -rf .config generated/
+}
+
+generate "device"
+generate "linux"
+generate "mac"
diff --git a/run-tests-on-android.sh b/run-tests-on-android.sh
new file mode 100755
index 0000000..d85cca3
--- /dev/null
+++ b/run-tests-on-android.sh
@@ -0,0 +1,107 @@
+#!/bin/bash
+
+#
+# Setup.
+#
+
+# Copy the toybox tests across.
+adb shell rm -rf /data/local/tmp/toybox-tests/
+adb shell mkdir /data/local/tmp/toybox-tests/
+adb push tests/ /data/local/tmp/toybox-tests/
+adb push scripts/runtest.sh /data/local/tmp/toybox-tests/
+
+# Make a temporary directory on the device.
+tmp_dir=`adb shell mktemp --directory /data/local/tmp/toybox-tests-tmp.XXXXXXXXXX`
+
+if tty -s; then
+  green="\033[1;32m"
+  red="\033[1;31m"
+  plain="\033[0m"
+else
+  green=""
+  red=""
+  plain=""
+fi
+
+# Force pty allocation (http://b/142798587).
+dash_t="-tt"
+
+test_toy() {
+  toy=$1
+
+  echo
+
+  location=$(adb shell "which $toy")
+  if [ -z "$location" ]; then
+    echo "-- $toy not present"
+    return
+  fi
+
+  echo "-- $toy"
+
+  implementation=$(adb shell "realpath $location")
+  non_toy=false
+  if [ "$implementation" != "/system/bin/toybox" ]; then
+    echo "-- note: $toy is non-toybox implementation"
+    non_toy=true
+  fi
+
+  adb shell $dash_t "\
+      export C=\"\$(which $toy)\"; \
+      export CMDNAME=$toy; \
+      export FILES=/data/local/tmp/toybox-tests/tests/files/ ; \
+      export LANG=en_US.UTF-8; \
+      export VERBOSE=1 ; \
+      mkdir $tmp_dir/$toy && cd $tmp_dir/$toy ; \
+      source /data/local/tmp/toybox-tests/runtest.sh ; \
+      source /data/local/tmp/toybox-tests/tests/$toy.test ; \
+      if [ "\$FAILCOUNT" -ne 0 ]; then exit 1; fi; \
+      cd .. && rm -rf $toy"
+  if [ $? -eq 0 ]; then
+    pass_count=$(($pass_count+1))
+  elif [ "$non_toy" = "true" ]; then
+    non_toy_failures="$non_toy_failures $toy"
+  else
+    failures="$failures $toy"
+  fi
+}
+
+#
+# Run the selected test or all tests.
+#
+
+failures=""
+pass_count=0
+if [ "$#" -eq 0 ]; then
+  # Run all the tests.
+  for t in tests/*.test; do
+    toy=`echo $t | sed 's|tests/||' | sed 's|\.test||'`
+    test_toy $toy
+  done
+else
+  # Just run the tests for the given toys.
+  for toy in "$@"; do
+    test_toy $toy
+  done
+fi
+
+#
+# Show a summary and return a meaningful exit status.
+#
+
+echo
+echo "_________________________________________________________________________"
+echo
+echo -e "${green}PASSED${plain}: $pass_count"
+for failure in $failures; do
+  echo -e "${red}FAILED${plain}: $failure"
+done
+for failure in $non_toy_failures; do
+  echo -e "${red}FAILED${plain}: $failure (ignoring)"
+done
+
+# We should have run *something*...
+if [ $pass_count -eq 0 ]; then exit 1; fi
+# And all failures are bad...
+if [ -n "$failures" ]; then exit 1; fi
+exit 0