diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..20de6db
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,202 @@
+# $Id: Makefile.in,v 1.40 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey		1996-on
+#
+# Master Makefile for ncurses library.
+
+SHELL 		= /bin/sh
+
+
+DESTDIR=
+RPATH_LIST=${libdir}
+TOP_MFLAGS =  DESTDIR="$(DESTDIR)" RPATH_LIST="$(RPATH_LIST)"
+
+
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 0
+NCURSES_PATCH	= 20150808
+
+top_srcdir	= .
+srcdir		= .
+
+prefix		= /system
+exec_prefix	= ${prefix}
+datarootdir	= ${prefix}/share
+
+bindir		= ${exec_prefix}/bin
+ticdir		= /system/etc/terminfo
+includedir	= ${prefix}/include
+includesubdir	= /ncurses
+libdir		= ${exec_prefix}/lib
+mandir		= ${datarootdir}/man
+pkgdir		= /usr/lib/x86_64-linux-gnu/pkgconfig
+
+include_dir	= ${includedir}${includesubdir}
+
+INSTALL		= /usr/bin/install -c
+INSTALL_DATA	= ${INSTALL} -m 644
+
+DIRS_TO_MAKE	= lib objects obj_g
+
+all ::	$(DIRS_TO_MAKE)
+
+$(DIRS_TO_MAKE) :
+	mkdir $@
+
+preinstall :
+	@ echo ''
+	@ echo '** Configuration summary for NCURSES $(NCURSES_MAJOR).$(NCURSES_MINOR) $(NCURSES_PATCH):'
+	@ echo ''
+	@ echo '       extended funcs: '`test 1 != 0 && echo yes || echo no`
+	@ echo '       xterm terminfo: 'xterm-new
+	@ echo ''
+	@ echo '        bin directory: '$(bindir)
+	@ echo '        lib directory: '$(libdir)
+	@ echo '    include directory: '$(include_dir)
+	@ echo '        man directory: '$(mandir)
+	@ echo '   terminfo directory: '$(ticdir)
+#	@ echo ' pkg-config directory: '$(pkgdir)
+	@ echo ''
+	@ test "$(include_dir)" = "$(prefix)/include" || \
+		echo '** Include-directory is not in a standard location'
+	@ test ! -f $(include_dir)/termcap.h || \
+		fgrep NCURSES_VERSION $(include_dir)/termcap.h >/dev/null || \
+		echo '** Will overwrite non-ncurses termcap.h'
+	@ test ! -f $(include_dir)/curses.h || \
+		fgrep NCURSES_VERSION $(include_dir)/curses.h >/dev/null || \
+		echo '** Will overwrite non-ncurses curses.h'
+
+distclean \
+realclean ::
+
+
+# Put the common rules here so that we can easily construct the list of
+# directories to visit.
+all \
+clean \
+distclean \
+mostlyclean \
+realclean \
+depend \
+sources \
+tags \
+uninstall \
+install ::
+	cd man && ${MAKE} ${TOP_MFLAGS} $@
+	cd include && ${MAKE} ${TOP_MFLAGS} $@
+	cd ncurses && ${MAKE} ${TOP_MFLAGS} $@
+	cd progs && ${MAKE} ${TOP_MFLAGS} $@
+	cd panel && ${MAKE} ${TOP_MFLAGS} $@
+	cd menu && ${MAKE} ${TOP_MFLAGS} $@
+	cd form && ${MAKE} ${TOP_MFLAGS} $@
+	cd test && ${MAKE} ${TOP_MFLAGS} $@
+	cd misc && ${MAKE} ${TOP_MFLAGS} $@
+
+libs \
+install.libs \
+uninstall.libs \
+install.includes \
+uninstall.includes ::
+	cd include && ${MAKE} ${TOP_MFLAGS} $@
+
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.ncurses \
+uninstall.ncurses ::
+	cd ncurses && ${MAKE} ${TOP_MFLAGS} $@
+
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.progs \
+uninstall.progs ::
+	cd progs && ${MAKE} ${TOP_MFLAGS} $@
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.panel \
+uninstall.panel ::
+	cd panel && ${MAKE} ${TOP_MFLAGS} $@
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.menu \
+uninstall.menu ::
+	cd menu && ${MAKE} ${TOP_MFLAGS} $@
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.form \
+uninstall.form ::
+	cd form && ${MAKE} ${TOP_MFLAGS} $@
+
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.test \
+uninstall.test ::
+	cd test && ${MAKE} ${TOP_MFLAGS} $@
+
+install.libs uninstall.libs \
+install.data uninstall.data ::
+	cd misc && ${MAKE} ${TOP_MFLAGS} $@
+
+install.man \
+uninstall.man ::
+	cd man && ${MAKE} ${TOP_MFLAGS} $@
+
+distclean ::
+	rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
+	rm -f headers.sh headers.sed mk_shared_lib.sh
+	rm -f edit_man.* man_alias.*
+	rm -rf ${DIRS_TO_MAKE}
diff --git a/config.guess b/config.guess
deleted file mode 100755
index f7eb141..0000000
--- a/config.guess
+++ /dev/null
@@ -1,1438 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
-
-timestamp='2015-03-04'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-#
-# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-#
-# Please send patches to <config-patches@gnu.org>.
-
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-case "${UNAME_SYSTEM}" in
-Linux|GNU|GNU/*)
-	# If the system lacks a compiler, then just pick glibc.
-	# We could probably try harder.
-	LIBC=gnu
-
-	eval $set_cc_for_build
-	cat <<-EOF > $dummy.c
-	#include <features.h>
-	#if defined(__UCLIBC__)
-	LIBC=uclibc
-	#elif defined(__dietlibc__)
-	LIBC=dietlibc
-	#else
-	LIBC=gnu
-	#endif
-	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
-	;;
-esac
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	#
-	# Note: NetBSD doesn't particularly care about the vendor
-	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-	    /sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || \
-	    echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
-	    armeb) machine=armeb-unknown ;;
-	    arm*) machine=arm-unknown ;;
-	    sh3el) machine=shl-unknown ;;
-	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
-	    earmv*)
-		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
-		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
-		machine=${arch}${endian}-unknown
-		;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep -q __ELF__
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-		os=netbsd
-		;;
-	esac
-	# Determine ABI tags.
-	case "${UNAME_MACHINE_ARCH}" in
-	    earm*)
-		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
-		;;
-	esac
-	# The OS release
-	# Debian GNU/NetBSD machines have a different userland, and
-	# thus, need a distinct triplet. However, they do not need
-	# kernel version information, so it can be replaced with a
-	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
-	    Debian*)
-		release='-gnu'
-		;;
-	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-		;;
-	esac
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}${abi}"
-	exit ;;
-    *:Bitrig:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
-	exit ;;
-    *:OpenBSD:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-	exit ;;
-    *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-	exit ;;
-    *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-	exit ;;
-    macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    alpha:OSF1:*:*)
-	case $UNAME_RELEASE in
-	*4.0)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-		;;
-	*5.*)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-		;;
-	esac
-	# According to Compaq, /usr/sbin/psrinfo has been available on
-	# OSF/1 and Tru64 systems produced since 1995.  I hope that
-	# covers most systems running today.  This code pipes the CPU
-	# types through head -n 1, so we only detect the type of CPU 0.
-	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
-	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
-	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
-	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
-	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
-	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
-	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
-	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
-	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
-	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
-	esac
-	# A Pn.n version is a patched version.
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-	exitcode=$?
-	trap '' 0
-	exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
-	exit ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit ;;
-    *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
-    *:OS400:*:*)
-	echo powerpc-ibm-os400
-	exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit ;;
-    arm*:riscos:*:*|arm*:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit ;;
-    DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
-	esac ;;
-    s390x:SunOS:*:*)
-	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-	echo i386-pc-auroraux${UNAME_RELEASE}
-	exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	eval $set_cc_for_build
-	SUN_ARCH="i386"
-	# If there is a compiler, see if it is configured for 64-bit objects.
-	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		grep IS_64BIT_ARCH >/dev/null
-	    then
-		SUN_ARCH="x86_64"
-	    fi
-	fi
-	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-	echo m68k-milan-mint${UNAME_RELEASE}
-	exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-	echo m68k-hades-mint${UNAME_RELEASE}
-	exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-	echo m68k-unknown-mint${UNAME_RELEASE}
-	exit ;;
-    m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
-	exit ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
-	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit ;;
-    Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit ;;
-    AViiON:dgux:*:*)
-	# DG/UX returns AViiON for all architectures
-	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
-	exit ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-		then
-			echo "$SYSTEM_NAME"
-		else
-			echo rs6000-ibm-aix3.2.5
-		fi
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit ;;
-    *:AIX:*:[4567])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/lslpp ] ; then
-		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
-			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
-		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-		      532)                      # CPU_PA_RISC2_0
-			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-			esac ;;
-		    esac
-		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^		//' << EOF >$dummy.c
-
-		#define _HPUX_SOURCE
-		#include <stdlib.h>
-		#include <unistd.h>
-
-		int main ()
-		{
-		#if defined(_SC_KERNEL_BITS)
-		    long bits = sysconf(_SC_KERNEL_BITS);
-		#endif
-		    long cpu  = sysconf (_SC_CPU_VERSION);
-
-		    switch (cpu)
-			{
-			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-			case CPU_PA_RISC2_0:
-		#if defined(_SC_KERNEL_BITS)
-			    switch (bits)
-				{
-				case 64: puts ("hppa2.0w"); break;
-				case 32: puts ("hppa2.0n"); break;
-				default: puts ("hppa2.0"); break;
-				} break;
-		#else  /* !defined(_SC_KERNEL_BITS) */
-			    puts ("hppa2.0"); break;
-		#endif
-			default: puts ("hppa1.0"); break;
-			}
-		    exit (0);
-		}
-EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    test -z "$HP_ARCH" && HP_ARCH=hppa
-		fi ;;
-	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
-	then
-	    eval $set_cc_for_build
-
-	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-	    # generating 64-bit code.  GNU and HP use different nomenclature:
-	    #
-	    # $ CC_FOR_BUILD=cc ./config.guess
-	    # => hppa2.0w-hp-hpux11.23
-	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-	    # => hppa64-hp-hpux11.23
-
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep -q __LP64__
-	    then
-		HP_ARCH="hppa2.0w"
-	    else
-		HP_ARCH="hppa64"
-	    fi
-	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit ;;
-    3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-		{ echo "$SYSTEM_NAME"; exit; }
-	echo unknown-hitachi-hiuxwe2
-	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-	exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-	exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-	exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-	exit ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:FreeBSD:*:*)
-	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	case ${UNAME_PROCESSOR} in
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	esac
-	exit ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit ;;
-    *:MINGW64*:*)
-	echo ${UNAME_MACHINE}-pc-mingw64
-	exit ;;
-    *:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
-    *:MSYS*:*)
-	echo ${UNAME_MACHINE}-pc-msys
-	exit ;;
-    i*:windows32*:*)
-	# uname -m includes "-pc" on this system.
-	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    *:Interix*:*)
-	case ${UNAME_MACHINE} in
-	    x86)
-		echo i586-pc-interix${UNAME_RELEASE}
-		exit ;;
-	    authenticamd | genuineintel | EM64T)
-		echo x86_64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    8664:Windows_NT:*)
-	echo x86_64-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
-	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    *:GNU:*:*)
-	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit ;;
-    *:GNU/*:*:*)
-	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
-	exit ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit ;;
-    aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    aarch64_be:Linux:*:*)
-	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-	esac
-	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    arc:Linux:*:* | arceb:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    arm*:Linux:*:*)
-	eval $set_cc_for_build
-	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-	    | grep -q __ARM_EABI__
-	then
-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	else
-	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-		| grep -q __ARM_PCS_VFP
-	    then
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
-	    else
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
-	    fi
-	fi
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
-	exit ;;
-    crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
-	exit ;;
-    e2k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    i*86:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
-	exit ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    mips:Linux:*:* | mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef ${UNAME_MACHINE}
-	#undef ${UNAME_MACHINE}el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=${UNAME_MACHINE}el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=${UNAME_MACHINE}
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
-	;;
-    openrisc*:Linux:*:*)
-	echo or1k-unknown-linux-${LIBC}
-	exit ;;
-    or32:Linux:*:* | or1k*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    padre:Linux:*:*)
-	echo sparc-unknown-linux-${LIBC}
-	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-${LIBC}
-	exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-	  *)    echo hppa-unknown-linux-${LIBC} ;;
-	esac
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-${LIBC}
-	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-${LIBC}
-	exit ;;
-    ppc64le:Linux:*:*)
-	echo powerpc64le-unknown-linux-${LIBC}
-	exit ;;
-    ppcle:Linux:*:*)
-	echo powerpcle-unknown-linux-${LIBC}
-	exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
-	exit ;;
-    sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
-	exit ;;
-    x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-	# Unixware is an offshoot of SVR4, but it has its own version
-	# number series starting with 2...
-	# I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-	# Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit ;;
-    i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
-	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit ;;
-    i*86:*:5:[678]*)
-	# UnixWare 7.x, OpenUNIX and OpenServer 6.
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-	# uname -m prints for DJGPP always 'pc', but it prints nothing about
-	# the processor, so we play safe by assuming i586.
-	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
-	# this is a cross-build.
-	echo i586-pc-msdosdjgpp
-	exit ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit ;;
-    M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit ;;
-    M68*:*:R3V[5678]*:*)
-	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4; exit; } ;;
-    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-	OS_REL='.3'
-	test -r /etc/.relid \
-	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit ;;
-    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-			# says <Richard.M.Bartel@ccMail.Census.GOV>
-	echo i586-unisys-sysv4
-	exit ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes@openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit ;;
-    *:*:*:FTX*)
-	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit ;;
-    i*86:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
-	exit ;;
-    *:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo hppa1.1-stratus-vos
-	exit ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-		echo mips-nec-sysv${UNAME_RELEASE}
-	else
-		echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-	exit ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit ;;
-    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
-	echo i586-pc-haiku
-	exit ;;
-    x86_64:Haiku:*:*)
-	echo x86_64-unknown-haiku
-	exit ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux${UNAME_RELEASE}
-	exit ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Darwin:*:*)
-	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	eval $set_cc_for_build
-	if test "$UNAME_PROCESSOR" = unknown ; then
-	    UNAME_PROCESSOR=powerpc
-	fi
-	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		    grep IS_64BIT_ARCH >/dev/null
-		then
-		    case $UNAME_PROCESSOR in
-			i386) UNAME_PROCESSOR=x86_64 ;;
-			powerpc) UNAME_PROCESSOR=powerpc64 ;;
-		    esac
-		fi
-	    fi
-	elif test "$UNAME_PROCESSOR" = i386 ; then
-	    # Avoid executing cc on OS X 10.9, as it ships with a stub
-	    # that puts up a graphical alert prompting to install
-	    # developer tools.  Any system running Mac OS X 10.7 or
-	    # later (Darwin 11 and later) is required to have a 64-bit
-	    # processor. This is not true of the ARM version of Darwin
-	    # that Apple uses in portable devices.
-	    UNAME_PROCESSOR=x86_64
-	fi
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
-		UNAME_PROCESSOR=i386
-		UNAME_MACHINE=pc
-	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-	echo neo-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSE-*:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit ;;
-    SEI:*:*:SEIUX)
-	echo mips-sei-seiux${UNAME_RELEASE}
-	exit ;;
-    *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit ;;
-    *:*VMS:*:*)
-	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
-	esac ;;
-    *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
-    i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-	exit ;;
-    i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
-	exit ;;
-    i*86:AROS:*:*)
-	echo ${UNAME_MACHINE}-pc-aros
-	exit ;;
-    x86_64:VMkernel:*:*)
-	echo ${UNAME_MACHINE}-unknown-esx
-	exit ;;
-esac
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/edit_man.sed b/edit_man.sed
new file mode 100644
index 0000000..7e53ce3
--- /dev/null
+++ b/edit_man.sed
@@ -0,0 +1,474 @@
+# Do the TH lines
+s/TH \<captoinfo 1M ""/TH captoinfo 1 ""/
+s/TH \<clear 1 ""/TH clear 1 ""/
+s/TH \<curs_add_wch 3X ""/TH add_wch 3NCURSES ""/
+s/TH \<curs_add_wchstr 3X ""/TH add_wchstr 3NCURSES ""/
+s/TH \<curs_addch 3X ""/TH addch 3NCURSES ""/
+s/TH \<curs_addchstr 3X ""/TH addchstr 3NCURSES ""/
+s/TH \<curs_addstr 3X ""/TH addstr 3NCURSES ""/
+s/TH \<curs_addwstr 3X ""/TH addwstr 3NCURSES ""/
+s/TH \<curs_attr 3X ""/TH attr 3NCURSES ""/
+s/TH \<curs_beep 3X ""/TH beep 3NCURSES ""/
+s/TH \<curs_bkgd 3X ""/TH bkgd 3NCURSES ""/
+s/TH \<curs_bkgrnd 3X ""/TH bkgrnd 3NCURSES ""/
+s/TH \<curs_border 3X ""/TH border 3NCURSES ""/
+s/TH \<curs_border_set 3X ""/TH border_set 3NCURSES ""/
+s/TH \<curs_clear 3X ""/TH clear 3NCURSES ""/
+s/TH \<curs_color 3X ""/TH color 3NCURSES ""/
+s/TH \<curs_delch 3X ""/TH delch 3NCURSES ""/
+s/TH \<curs_deleteln 3X ""/TH deleteln 3NCURSES ""/
+s/TH \<curs_extend 3X ""/TH extensions 3NCURSES ""/
+s/TH \<curs_get_wch 3X ""/TH get_wch 3NCURSES ""/
+s/TH \<curs_get_wstr 3X ""/TH get_wstr 3NCURSES ""/
+s/TH \<curs_getcchar 3X ""/TH getcchar 3NCURSES ""/
+s/TH \<curs_getch 3X ""/TH getch 3NCURSES ""/
+s/TH \<curs_getstr 3X ""/TH getstr 3NCURSES ""/
+s/TH \<curs_getyx 3X ""/TH getyx 3NCURSES ""/
+s/TH \<curs_in_wch 3X ""/TH in_wch 3NCURSES ""/
+s/TH \<curs_in_wchstr 3X ""/TH in_wchstr 3NCURSES ""/
+s/TH \<curs_inch 3X ""/TH inch 3NCURSES ""/
+s/TH \<curs_inchstr 3X ""/TH inchstr 3NCURSES ""/
+s/TH \<curs_initscr 3X ""/TH initscr 3NCURSES ""/
+s/TH \<curs_inopts 3X ""/TH inopts 3NCURSES ""/
+s/TH \<curs_ins_wch 3X ""/TH ins_wch 3NCURSES ""/
+s/TH \<curs_ins_wstr 3X ""/TH ins_wstr 3NCURSES ""/
+s/TH \<curs_insch 3X ""/TH insch 3NCURSES ""/
+s/TH \<curs_insstr 3X ""/TH insstr 3NCURSES ""/
+s/TH \<curs_instr 3X ""/TH instr 3NCURSES ""/
+s/TH \<curs_inwstr 3X ""/TH inwstr 3NCURSES ""/
+s/TH \<curs_kernel 3X ""/TH kernel 3NCURSES ""/
+s/TH \<curs_legacy 3X ""/TH legacy 3NCURSES ""/
+s/TH \<curs_memleaks 3X ""/TH memleaks 3NCURSES ""/
+s/TH \<curs_mouse 3X ""/TH mouse 3NCURSES ""/
+s/TH \<curs_move 3X ""/TH move 3NCURSES ""/
+s/TH \<curs_opaque 3X ""/TH opaque 3NCURSES ""/
+s/TH \<curs_outopts 3X ""/TH outopts 3NCURSES ""/
+s/TH \<curs_overlay 3X ""/TH overlay 3NCURSES ""/
+s/TH \<curs_pad 3X ""/TH pad 3NCURSES ""/
+s/TH \<curs_print 3X ""/TH print 3NCURSES ""/
+s/TH \<curs_printw 3X ""/TH printw 3NCURSES ""/
+s/TH \<curs_refresh 3X ""/TH refresh 3NCURSES ""/
+s/TH \<curs_scanw 3X ""/TH scanw 3NCURSES ""/
+s/TH \<curs_scr_dump 3X ""/TH scr_dump 3NCURSES ""/
+s/TH \<curs_scroll 3X ""/TH scroll 3NCURSES ""/
+s/TH \<curs_slk 3X ""/TH slk 3NCURSES ""/
+s/TH \<curs_sp_funcs 3X ""/TH sp_funcs 3NCURSES ""/
+s/TH \<curs_termattrs 3X ""/TH termattrs 3NCURSES ""/
+s/TH \<curs_termcap 3X ""/TH termcap 3NCURSES ""/
+s/TH \<curs_terminfo 3X ""/TH terminfo 3NCURSES ""/
+s/TH \<curs_threads 3X ""/TH threads 3NCURSES ""/
+s/TH \<curs_touch 3X ""/TH touch 3NCURSES ""/
+s/TH \<curs_trace 3X ""/TH trace 3NCURSES ""/
+s/TH \<curs_util 3X ""/TH util 3NCURSES ""/
+s/TH \<curs_variables 3X ""/TH curses_variables 3NCURSES ""/
+s/TH \<curs_window 3X ""/TH window 3NCURSES ""/
+s/TH \<curses 3X ""/TH ncurses 3NCURSES ""/
+s/TH \<default_colors 3X ""/TH default_colors 3NCURSES ""/
+s/TH \<define_key 3X ""/TH define_key 3NCURSES ""/
+s/TH \<form 3X ""/TH form 3FORM ""/
+s/TH \<form_cursor 3X ""/TH cursor 3FORM ""/
+s/TH \<form_data 3X ""/TH data 3FORM ""/
+s/TH \<form_driver 3X ""/TH driver 3FORM ""/
+s/TH \<form_field 3X ""/TH field 3FORM ""/
+s/TH \<form_field_attributes 3X ""/TH field_attributes 3FORM ""/
+s/TH \<form_field_buffer 3X ""/TH field_buffer 3FORM ""/
+s/TH \<form_field_info 3X ""/TH field_info 3FORM ""/
+s/TH \<form_field_just 3X ""/TH field_just 3FORM ""/
+s/TH \<form_field_new 3X ""/TH field_new 3FORM ""/
+s/TH \<form_field_opts 3X ""/TH field_opts 3FORM ""/
+s/TH \<form_field_userptr 3X ""/TH field_userptr 3FORM ""/
+s/TH \<form_field_validation 3X ""/TH field_validation 3FORM ""/
+s/TH \<form_fieldtype 3X ""/TH fieldtype 3FORM ""/
+s/TH \<form_hook 3X ""/TH hook 3FORM ""/
+s/TH \<form_new 3X ""/TH new 3FORM ""/
+s/TH \<form_new_page 3X ""/TH new_page 3FORM ""/
+s/TH \<form_opts 3X ""/TH opts 3FORM ""/
+s/TH \<form_page 3X ""/TH page 3FORM ""/
+s/TH \<form_post 3X ""/TH post 3FORM ""/
+s/TH \<form_requestname 3X ""/TH requestname 3FORM ""/
+s/TH \<form_userptr 3X ""/TH userptr 3FORM ""/
+s/TH \<form_variables 3X ""/TH form_variables 3FORM ""/
+s/TH \<form_win 3X ""/TH win 3FORM ""/
+s/TH \<infocmp 1M ""/TH infocmp 1 ""/
+s/TH \<infotocap 1M ""/TH infotocap 1 ""/
+s/TH \<key_defined 3X ""/TH key_defined 3NCURSES ""/
+s/TH \<keybound 3X ""/TH keybound 3NCURSES ""/
+s/TH \<keyok 3X ""/TH keyok 3NCURSES ""/
+s/TH \<legacy_coding 3X ""/TH legacy_coding 3NCURSES ""/
+s/TH \<menu 3X ""/TH menu 3MENU ""/
+s/TH \<menu_attributes 3X ""/TH attributes 3MENU ""/
+s/TH \<menu_cursor 3X ""/TH cursor 3MENU ""/
+s/TH \<menu_driver 3X ""/TH driver 3MENU ""/
+s/TH \<menu_format 3X ""/TH format 3MENU ""/
+s/TH \<menu_hook 3X ""/TH hook 3MENU ""/
+s/TH \<menu_items 3X ""/TH items 3MENU ""/
+s/TH \<menu_mark 3X ""/TH mark 3MENU ""/
+s/TH \<menu_new 3X ""/TH new 3MENU ""/
+s/TH \<menu_opts 3X ""/TH opts 3MENU ""/
+s/TH \<menu_pattern 3X ""/TH pattern 3MENU ""/
+s/TH \<menu_post 3X ""/TH post 3MENU ""/
+s/TH \<menu_requestname 3X ""/TH requestname 3MENU ""/
+s/TH \<menu_spacing 3X ""/TH spacing 3MENU ""/
+s/TH \<menu_userptr 3X ""/TH userptr 3MENU ""/
+s/TH \<menu_win 3X ""/TH win 3MENU ""/
+s/TH \<mitem_current 3X ""/TH menu_current 3MENU ""/
+s/TH \<mitem_name 3X ""/TH menu_name 3MENU ""/
+s/TH \<mitem_new 3X ""/TH menu_new 3MENU ""/
+s/TH \<mitem_opts 3X ""/TH menu_opts 3MENU ""/
+s/TH \<mitem_userptr 3X ""/TH menu_userptr 3MENU ""/
+s/TH \<mitem_value 3X ""/TH menu_value 3MENU ""/
+s/TH \<mitem_visible 3X ""/TH menu_visible 3MENU ""/
+s/TH \<ncurses 3X ""/TH ncurses 3NCURSES ""/
+s/TH \<panel 3X ""/TH panel 3CURSES ""/
+s/TH \<printf 3S ""/TH printf 3 ""/
+s/TH \<putc 3S  ""/TH putc 3 ""/
+s/TH \<resizeterm 3X ""/TH resizeterm 3NCURSES ""/
+s/TH \<scanf 3S ""/TH scanf 3 ""/
+s/TH \<system 3S ""/TH system 3 ""/
+s/TH \<tabs 1 ""/TH tabs 1 ""/
+s/TH \<term 5 ""/TH term 5 ""/
+s/TH \<term 7 ""/TH term 7 ""/
+s/TH \<term_variables 3X ""/TH terminfo_variables 3NCURSES ""/
+s/TH \<terminfo 5 ""/TH terminfo 5 ""/
+s/TH \<terminfo \\\*N ""/TH terminfo 5 ""/
+s/TH \<tic 1M ""/TH tic 1 ""/
+s/TH \<toe 1M ""/TH toe 1 ""/
+s/TH \<tput 1 ""/TH tput 1 ""/
+s/TH \<tset 1 ""/TH tset 1 ""/
+s/TH \<vprintf 3S ""/TH vprintf 3 ""/
+s/TH \<wresize 3X ""/TH wresize 3NCURSES ""/
+s/TH \<tack 1M ""/TH tack 1 ""/
+s/TH \<getty 1 ""/TH getty 8 ""/
+s/TH \<scanf 3 ""/TH scanf 3 ""/
+s/TH \<ttys 5 ""/TH ttys 4 ""/
+s/TH \<termio 7 ""/TH termios 3 ""/
+s/TH \<system 3 ""/TH system 3 ""/
+s/TH \<regcomp 3X ""/TH regcomp 3 ""/
+s/TH \<regexec 3X ""/TH regexec 3 ""/
+s/TH \<adacurses-config 1 ""/TH adacurses-config 1 ""/
+s/TH \<adacurses5-config 1 ""/TH adacurses5-config 1 ""/
+s/TH \<adacurses6-config 1 ""/TH adacurses6-config 1 ""/
+s/TH \<ncurses5-config 1 ""/TH ncurses5-config 1 ""/
+s/TH \<ncursesw5-config 1 ""/TH ncursesw5-config 1 ""/
+s/TH \<ncursest5-config 1 ""/TH ncursest5-config 1 ""/
+s/TH \<ncursestw5-config 1 ""/TH ncursestw5-config 1 ""/
+s/TH \<ncurses6-config 1 ""/TH ncurses6-config 1 ""/
+s/TH \<ncursesw6-config 1 ""/TH ncursesw6-config 1 ""/
+s/TH \<ncursest6-config 1 ""/TH ncursest6-config 1 ""/
+s/TH \<ncursestw6-config 1 ""/TH ncursestw6-config 1 ""/
+# Do the embedded references
+s/\<fBcaptoinfo\\fR(1M)/fBcaptoinfo\\fR(1)/
+s/\<fBclear\\fR(1)/fBclear\\fR(1)/
+s/\<fBcurs_add_wch\\fR(3X)/fBadd_wch\\fR(3NCURSES)/
+s/\<fBcurs_add_wchstr\\fR(3X)/fBadd_wchstr\\fR(3NCURSES)/
+s/\<fBcurs_addch\\fR(3X)/fBaddch\\fR(3NCURSES)/
+s/\<fBcurs_addchstr\\fR(3X)/fBaddchstr\\fR(3NCURSES)/
+s/\<fBcurs_addstr\\fR(3X)/fBaddstr\\fR(3NCURSES)/
+s/\<fBcurs_addwstr\\fR(3X)/fBaddwstr\\fR(3NCURSES)/
+s/\<fBcurs_attr\\fR(3X)/fBattr\\fR(3NCURSES)/
+s/\<fBcurs_beep\\fR(3X)/fBbeep\\fR(3NCURSES)/
+s/\<fBcurs_bkgd\\fR(3X)/fBbkgd\\fR(3NCURSES)/
+s/\<fBcurs_bkgrnd\\fR(3X)/fBbkgrnd\\fR(3NCURSES)/
+s/\<fBcurs_border\\fR(3X)/fBborder\\fR(3NCURSES)/
+s/\<fBcurs_border_set\\fR(3X)/fBborder_set\\fR(3NCURSES)/
+s/\<fBcurs_clear\\fR(3X)/fBclear\\fR(3NCURSES)/
+s/\<fBcurs_color\\fR(3X)/fBcolor\\fR(3NCURSES)/
+s/\<fBcurs_delch\\fR(3X)/fBdelch\\fR(3NCURSES)/
+s/\<fBcurs_deleteln\\fR(3X)/fBdeleteln\\fR(3NCURSES)/
+s/\<fBcurs_extend\\fR(3X)/fBextensions\\fR(3NCURSES)/
+s/\<fBcurs_get_wch\\fR(3X)/fBget_wch\\fR(3NCURSES)/
+s/\<fBcurs_get_wstr\\fR(3X)/fBget_wstr\\fR(3NCURSES)/
+s/\<fBcurs_getcchar\\fR(3X)/fBgetcchar\\fR(3NCURSES)/
+s/\<fBcurs_getch\\fR(3X)/fBgetch\\fR(3NCURSES)/
+s/\<fBcurs_getstr\\fR(3X)/fBgetstr\\fR(3NCURSES)/
+s/\<fBcurs_getyx\\fR(3X)/fBgetyx\\fR(3NCURSES)/
+s/\<fBcurs_in_wch\\fR(3X)/fBin_wch\\fR(3NCURSES)/
+s/\<fBcurs_in_wchstr\\fR(3X)/fBin_wchstr\\fR(3NCURSES)/
+s/\<fBcurs_inch\\fR(3X)/fBinch\\fR(3NCURSES)/
+s/\<fBcurs_inchstr\\fR(3X)/fBinchstr\\fR(3NCURSES)/
+s/\<fBcurs_initscr\\fR(3X)/fBinitscr\\fR(3NCURSES)/
+s/\<fBcurs_inopts\\fR(3X)/fBinopts\\fR(3NCURSES)/
+s/\<fBcurs_ins_wch\\fR(3X)/fBins_wch\\fR(3NCURSES)/
+s/\<fBcurs_ins_wstr\\fR(3X)/fBins_wstr\\fR(3NCURSES)/
+s/\<fBcurs_insch\\fR(3X)/fBinsch\\fR(3NCURSES)/
+s/\<fBcurs_insstr\\fR(3X)/fBinsstr\\fR(3NCURSES)/
+s/\<fBcurs_instr\\fR(3X)/fBinstr\\fR(3NCURSES)/
+s/\<fBcurs_inwstr\\fR(3X)/fBinwstr\\fR(3NCURSES)/
+s/\<fBcurs_kernel\\fR(3X)/fBkernel\\fR(3NCURSES)/
+s/\<fBcurs_legacy\\fR(3X)/fBlegacy\\fR(3NCURSES)/
+s/\<fBcurs_memleaks\\fR(3X)/fBmemleaks\\fR(3NCURSES)/
+s/\<fBcurs_mouse\\fR(3X)/fBmouse\\fR(3NCURSES)/
+s/\<fBcurs_move\\fR(3X)/fBmove\\fR(3NCURSES)/
+s/\<fBcurs_opaque\\fR(3X)/fBopaque\\fR(3NCURSES)/
+s/\<fBcurs_outopts\\fR(3X)/fBoutopts\\fR(3NCURSES)/
+s/\<fBcurs_overlay\\fR(3X)/fBoverlay\\fR(3NCURSES)/
+s/\<fBcurs_pad\\fR(3X)/fBpad\\fR(3NCURSES)/
+s/\<fBcurs_print\\fR(3X)/fBprint\\fR(3NCURSES)/
+s/\<fBcurs_printw\\fR(3X)/fBprintw\\fR(3NCURSES)/
+s/\<fBcurs_refresh\\fR(3X)/fBrefresh\\fR(3NCURSES)/
+s/\<fBcurs_scanw\\fR(3X)/fBscanw\\fR(3NCURSES)/
+s/\<fBcurs_scr_dump\\fR(3X)/fBscr_dump\\fR(3NCURSES)/
+s/\<fBcurs_scroll\\fR(3X)/fBscroll\\fR(3NCURSES)/
+s/\<fBcurs_slk\\fR(3X)/fBslk\\fR(3NCURSES)/
+s/\<fBcurs_sp_funcs\\fR(3X)/fBsp_funcs\\fR(3NCURSES)/
+s/\<fBcurs_termattrs\\fR(3X)/fBtermattrs\\fR(3NCURSES)/
+s/\<fBcurs_termcap\\fR(3X)/fBtermcap\\fR(3NCURSES)/
+s/\<fBcurs_terminfo\\fR(3X)/fBterminfo\\fR(3NCURSES)/
+s/\<fBcurs_threads\\fR(3X)/fBthreads\\fR(3NCURSES)/
+s/\<fBcurs_touch\\fR(3X)/fBtouch\\fR(3NCURSES)/
+s/\<fBcurs_trace\\fR(3X)/fBtrace\\fR(3NCURSES)/
+s/\<fBcurs_util\\fR(3X)/fButil\\fR(3NCURSES)/
+s/\<fBcurs_variables\\fR(3X)/fBcurses_variables\\fR(3NCURSES)/
+s/\<fBcurs_window\\fR(3X)/fBwindow\\fR(3NCURSES)/
+s/\<fBcurses\\fR(3X)/fBncurses\\fR(3NCURSES)/
+s/\<fBdefault_colors\\fR(3X)/fBdefault_colors\\fR(3NCURSES)/
+s/\<fBdefine_key\\fR(3X)/fBdefine_key\\fR(3NCURSES)/
+s/\<fBform\\fR(3X)/fBform\\fR(3FORM)/
+s/\<fBform_cursor\\fR(3X)/fBcursor\\fR(3FORM)/
+s/\<fBform_data\\fR(3X)/fBdata\\fR(3FORM)/
+s/\<fBform_driver\\fR(3X)/fBdriver\\fR(3FORM)/
+s/\<fBform_field\\fR(3X)/fBfield\\fR(3FORM)/
+s/\<fBform_field_attributes\\fR(3X)/fBfield_attributes\\fR(3FORM)/
+s/\<fBform_field_buffer\\fR(3X)/fBfield_buffer\\fR(3FORM)/
+s/\<fBform_field_info\\fR(3X)/fBfield_info\\fR(3FORM)/
+s/\<fBform_field_just\\fR(3X)/fBfield_just\\fR(3FORM)/
+s/\<fBform_field_new\\fR(3X)/fBfield_new\\fR(3FORM)/
+s/\<fBform_field_opts\\fR(3X)/fBfield_opts\\fR(3FORM)/
+s/\<fBform_field_userptr\\fR(3X)/fBfield_userptr\\fR(3FORM)/
+s/\<fBform_field_validation\\fR(3X)/fBfield_validation\\fR(3FORM)/
+s/\<fBform_fieldtype\\fR(3X)/fBfieldtype\\fR(3FORM)/
+s/\<fBform_hook\\fR(3X)/fBhook\\fR(3FORM)/
+s/\<fBform_new\\fR(3X)/fBnew\\fR(3FORM)/
+s/\<fBform_new_page\\fR(3X)/fBnew_page\\fR(3FORM)/
+s/\<fBform_opts\\fR(3X)/fBopts\\fR(3FORM)/
+s/\<fBform_page\\fR(3X)/fBpage\\fR(3FORM)/
+s/\<fBform_post\\fR(3X)/fBpost\\fR(3FORM)/
+s/\<fBform_requestname\\fR(3X)/fBrequestname\\fR(3FORM)/
+s/\<fBform_userptr\\fR(3X)/fBuserptr\\fR(3FORM)/
+s/\<fBform_variables\\fR(3X)/fBform_variables\\fR(3FORM)/
+s/\<fBform_win\\fR(3X)/fBwin\\fR(3FORM)/
+s/\<fBinfocmp\\fR(1M)/fBinfocmp\\fR(1)/
+s/\<fBinfotocap\\fR(1M)/fBinfotocap\\fR(1)/
+s/\<fBkey_defined\\fR(3X)/fBkey_defined\\fR(3NCURSES)/
+s/\<fBkeybound\\fR(3X)/fBkeybound\\fR(3NCURSES)/
+s/\<fBkeyok\\fR(3X)/fBkeyok\\fR(3NCURSES)/
+s/\<fBlegacy_coding\\fR(3X)/fBlegacy_coding\\fR(3NCURSES)/
+s/\<fBmenu\\fR(3X)/fBmenu\\fR(3MENU)/
+s/\<fBmenu_attributes\\fR(3X)/fBattributes\\fR(3MENU)/
+s/\<fBmenu_cursor\\fR(3X)/fBcursor\\fR(3MENU)/
+s/\<fBmenu_driver\\fR(3X)/fBdriver\\fR(3MENU)/
+s/\<fBmenu_format\\fR(3X)/fBformat\\fR(3MENU)/
+s/\<fBmenu_hook\\fR(3X)/fBhook\\fR(3MENU)/
+s/\<fBmenu_items\\fR(3X)/fBitems\\fR(3MENU)/
+s/\<fBmenu_mark\\fR(3X)/fBmark\\fR(3MENU)/
+s/\<fBmenu_new\\fR(3X)/fBnew\\fR(3MENU)/
+s/\<fBmenu_opts\\fR(3X)/fBopts\\fR(3MENU)/
+s/\<fBmenu_pattern\\fR(3X)/fBpattern\\fR(3MENU)/
+s/\<fBmenu_post\\fR(3X)/fBpost\\fR(3MENU)/
+s/\<fBmenu_requestname\\fR(3X)/fBrequestname\\fR(3MENU)/
+s/\<fBmenu_spacing\\fR(3X)/fBspacing\\fR(3MENU)/
+s/\<fBmenu_userptr\\fR(3X)/fBuserptr\\fR(3MENU)/
+s/\<fBmenu_win\\fR(3X)/fBwin\\fR(3MENU)/
+s/\<fBmitem_current\\fR(3X)/fBmenu_current\\fR(3MENU)/
+s/\<fBmitem_name\\fR(3X)/fBmenu_name\\fR(3MENU)/
+s/\<fBmitem_new\\fR(3X)/fBmenu_new\\fR(3MENU)/
+s/\<fBmitem_opts\\fR(3X)/fBmenu_opts\\fR(3MENU)/
+s/\<fBmitem_userptr\\fR(3X)/fBmenu_userptr\\fR(3MENU)/
+s/\<fBmitem_value\\fR(3X)/fBmenu_value\\fR(3MENU)/
+s/\<fBmitem_visible\\fR(3X)/fBmenu_visible\\fR(3MENU)/
+s/\<fBncurses\\fR(3X)/fBncurses\\fR(3NCURSES)/
+s/\<fBpanel\\fR(3X)/fBpanel\\fR(3CURSES)/
+s/\<fBprintf\\fR(3S)/fBprintf\\fR(3)/
+s/\<fBputc\\fR(3S )/fBputc\\fR(3)/
+s/\<fBresizeterm\\fR(3X)/fBresizeterm\\fR(3NCURSES)/
+s/\<fBscanf\\fR(3S)/fBscanf\\fR(3)/
+s/\<fBsystem\\fR(3S)/fBsystem\\fR(3)/
+s/\<fBtabs\\fR(1)/fBtabs\\fR(1)/
+s/\<fBterm\\fR(5)/fBterm\\fR(5)/
+s/\<fBterm\\fR(7)/fBterm\\fR(7)/
+s/\<fBterm_variables\\fR(3X)/fBterminfo_variables\\fR(3NCURSES)/
+s/\<fBterminfo\\fR(5)/fBterminfo\\fR(5)/
+s/\<fBterminfo\\fR(\\\*N)/fBterminfo\\fR(5)/
+s/\<fBtic\\fR(1M)/fBtic\\fR(1)/
+s/\<fBtoe\\fR(1M)/fBtoe\\fR(1)/
+s/\<fBtput\\fR(1)/fBtput\\fR(1)/
+s/\<fBtset\\fR(1)/fBtset\\fR(1)/
+s/\<fBvprintf\\fR(3S)/fBvprintf\\fR(3)/
+s/\<fBwresize\\fR(3X)/fBwresize\\fR(3NCURSES)/
+s/\<fBtack\\fR(1M)/fBtack\\fR(1)/
+s/\<fBgetty\\fR(1)/fBgetty\\fR(8)/
+s/\<fBscanf\\fR(3)/fBscanf\\fR(3)/
+s/\<fBttys\\fR(5)/fBttys\\fR(4)/
+s/\<fBtermio\\fR(7)/fBtermios\\fR(3)/
+s/\<fBsystem\\fR(3)/fBsystem\\fR(3)/
+s/\<fBregcomp\\fR(3X)/fBregcomp\\fR(3)/
+s/\<fBregexec\\fR(3X)/fBregexec\\fR(3)/
+s/\<fBadacurses-config\\fR(1)/fBadacurses-config\\fR(1)/
+s/\<fBadacurses5-config\\fR(1)/fBadacurses5-config\\fR(1)/
+s/\<fBadacurses6-config\\fR(1)/fBadacurses6-config\\fR(1)/
+s/\<fBncurses5-config\\fR(1)/fBncurses5-config\\fR(1)/
+s/\<fBncursesw5-config\\fR(1)/fBncursesw5-config\\fR(1)/
+s/\<fBncursest5-config\\fR(1)/fBncursest5-config\\fR(1)/
+s/\<fBncursestw5-config\\fR(1)/fBncursestw5-config\\fR(1)/
+s/\<fBncurses6-config\\fR(1)/fBncurses6-config\\fR(1)/
+s/\<fBncursesw6-config\\fR(1)/fBncursesw6-config\\fR(1)/
+s/\<fBncursest6-config\\fR(1)/fBncursest6-config\\fR(1)/
+s/\<fBncursestw6-config\\fR(1)/fBncursestw6-config\\fR(1)/
+# Do the BxxxR references in the .NAME section
+s/^\\fBcaptoinfo\\f[RP] -/\\fBcaptoinfo\\fR -/
+s/^\\fBclear\\f[RP] -/\\fBclear\\fR -/
+s/^\\fBcurs_add_wch\\f[RP] -/\\fBadd_wch\\fR -/
+s/^\\fBcurs_add_wchstr\\f[RP] -/\\fBadd_wchstr\\fR -/
+s/^\\fBcurs_addch\\f[RP] -/\\fBaddch\\fR -/
+s/^\\fBcurs_addchstr\\f[RP] -/\\fBaddchstr\\fR -/
+s/^\\fBcurs_addstr\\f[RP] -/\\fBaddstr\\fR -/
+s/^\\fBcurs_addwstr\\f[RP] -/\\fBaddwstr\\fR -/
+s/^\\fBcurs_attr\\f[RP] -/\\fBattr\\fR -/
+s/^\\fBcurs_beep\\f[RP] -/\\fBbeep\\fR -/
+s/^\\fBcurs_bkgd\\f[RP] -/\\fBbkgd\\fR -/
+s/^\\fBcurs_bkgrnd\\f[RP] -/\\fBbkgrnd\\fR -/
+s/^\\fBcurs_border\\f[RP] -/\\fBborder\\fR -/
+s/^\\fBcurs_border_set\\f[RP] -/\\fBborder_set\\fR -/
+s/^\\fBcurs_clear\\f[RP] -/\\fBclear\\fR -/
+s/^\\fBcurs_color\\f[RP] -/\\fBcolor\\fR -/
+s/^\\fBcurs_delch\\f[RP] -/\\fBdelch\\fR -/
+s/^\\fBcurs_deleteln\\f[RP] -/\\fBdeleteln\\fR -/
+s/^\\fBcurs_extend\\f[RP] -/\\fBextensions\\fR -/
+s/^\\fBcurs_get_wch\\f[RP] -/\\fBget_wch\\fR -/
+s/^\\fBcurs_get_wstr\\f[RP] -/\\fBget_wstr\\fR -/
+s/^\\fBcurs_getcchar\\f[RP] -/\\fBgetcchar\\fR -/
+s/^\\fBcurs_getch\\f[RP] -/\\fBgetch\\fR -/
+s/^\\fBcurs_getstr\\f[RP] -/\\fBgetstr\\fR -/
+s/^\\fBcurs_getyx\\f[RP] -/\\fBgetyx\\fR -/
+s/^\\fBcurs_in_wch\\f[RP] -/\\fBin_wch\\fR -/
+s/^\\fBcurs_in_wchstr\\f[RP] -/\\fBin_wchstr\\fR -/
+s/^\\fBcurs_inch\\f[RP] -/\\fBinch\\fR -/
+s/^\\fBcurs_inchstr\\f[RP] -/\\fBinchstr\\fR -/
+s/^\\fBcurs_initscr\\f[RP] -/\\fBinitscr\\fR -/
+s/^\\fBcurs_inopts\\f[RP] -/\\fBinopts\\fR -/
+s/^\\fBcurs_ins_wch\\f[RP] -/\\fBins_wch\\fR -/
+s/^\\fBcurs_ins_wstr\\f[RP] -/\\fBins_wstr\\fR -/
+s/^\\fBcurs_insch\\f[RP] -/\\fBinsch\\fR -/
+s/^\\fBcurs_insstr\\f[RP] -/\\fBinsstr\\fR -/
+s/^\\fBcurs_instr\\f[RP] -/\\fBinstr\\fR -/
+s/^\\fBcurs_inwstr\\f[RP] -/\\fBinwstr\\fR -/
+s/^\\fBcurs_kernel\\f[RP] -/\\fBkernel\\fR -/
+s/^\\fBcurs_legacy\\f[RP] -/\\fBlegacy\\fR -/
+s/^\\fBcurs_memleaks\\f[RP] -/\\fBmemleaks\\fR -/
+s/^\\fBcurs_mouse\\f[RP] -/\\fBmouse\\fR -/
+s/^\\fBcurs_move\\f[RP] -/\\fBmove\\fR -/
+s/^\\fBcurs_opaque\\f[RP] -/\\fBopaque\\fR -/
+s/^\\fBcurs_outopts\\f[RP] -/\\fBoutopts\\fR -/
+s/^\\fBcurs_overlay\\f[RP] -/\\fBoverlay\\fR -/
+s/^\\fBcurs_pad\\f[RP] -/\\fBpad\\fR -/
+s/^\\fBcurs_print\\f[RP] -/\\fBprint\\fR -/
+s/^\\fBcurs_printw\\f[RP] -/\\fBprintw\\fR -/
+s/^\\fBcurs_refresh\\f[RP] -/\\fBrefresh\\fR -/
+s/^\\fBcurs_scanw\\f[RP] -/\\fBscanw\\fR -/
+s/^\\fBcurs_scr_dump\\f[RP] -/\\fBscr_dump\\fR -/
+s/^\\fBcurs_scroll\\f[RP] -/\\fBscroll\\fR -/
+s/^\\fBcurs_slk\\f[RP] -/\\fBslk\\fR -/
+s/^\\fBcurs_sp_funcs\\f[RP] -/\\fBsp_funcs\\fR -/
+s/^\\fBcurs_termattrs\\f[RP] -/\\fBtermattrs\\fR -/
+s/^\\fBcurs_termcap\\f[RP] -/\\fBtermcap\\fR -/
+s/^\\fBcurs_terminfo\\f[RP] -/\\fBterminfo\\fR -/
+s/^\\fBcurs_threads\\f[RP] -/\\fBthreads\\fR -/
+s/^\\fBcurs_touch\\f[RP] -/\\fBtouch\\fR -/
+s/^\\fBcurs_trace\\f[RP] -/\\fBtrace\\fR -/
+s/^\\fBcurs_util\\f[RP] -/\\fButil\\fR -/
+s/^\\fBcurs_variables\\f[RP] -/\\fBcurses_variables\\fR -/
+s/^\\fBcurs_window\\f[RP] -/\\fBwindow\\fR -/
+s/^\\fBcurses\\f[RP] -/\\fBncurses\\fR -/
+s/^\\fBdefault_colors\\f[RP] -/\\fBdefault_colors\\fR -/
+s/^\\fBdefine_key\\f[RP] -/\\fBdefine_key\\fR -/
+s/^\\fBform\\f[RP] -/\\fBform\\fR -/
+s/^\\fBform_cursor\\f[RP] -/\\fBcursor\\fR -/
+s/^\\fBform_data\\f[RP] -/\\fBdata\\fR -/
+s/^\\fBform_driver\\f[RP] -/\\fBdriver\\fR -/
+s/^\\fBform_field\\f[RP] -/\\fBfield\\fR -/
+s/^\\fBform_field_attributes\\f[RP] -/\\fBfield_attributes\\fR -/
+s/^\\fBform_field_buffer\\f[RP] -/\\fBfield_buffer\\fR -/
+s/^\\fBform_field_info\\f[RP] -/\\fBfield_info\\fR -/
+s/^\\fBform_field_just\\f[RP] -/\\fBfield_just\\fR -/
+s/^\\fBform_field_new\\f[RP] -/\\fBfield_new\\fR -/
+s/^\\fBform_field_opts\\f[RP] -/\\fBfield_opts\\fR -/
+s/^\\fBform_field_userptr\\f[RP] -/\\fBfield_userptr\\fR -/
+s/^\\fBform_field_validation\\f[RP] -/\\fBfield_validation\\fR -/
+s/^\\fBform_fieldtype\\f[RP] -/\\fBfieldtype\\fR -/
+s/^\\fBform_hook\\f[RP] -/\\fBhook\\fR -/
+s/^\\fBform_new\\f[RP] -/\\fBnew\\fR -/
+s/^\\fBform_new_page\\f[RP] -/\\fBnew_page\\fR -/
+s/^\\fBform_opts\\f[RP] -/\\fBopts\\fR -/
+s/^\\fBform_page\\f[RP] -/\\fBpage\\fR -/
+s/^\\fBform_post\\f[RP] -/\\fBpost\\fR -/
+s/^\\fBform_requestname\\f[RP] -/\\fBrequestname\\fR -/
+s/^\\fBform_userptr\\f[RP] -/\\fBuserptr\\fR -/
+s/^\\fBform_variables\\f[RP] -/\\fBform_variables\\fR -/
+s/^\\fBform_win\\f[RP] -/\\fBwin\\fR -/
+s/^\\fBinfocmp\\f[RP] -/\\fBinfocmp\\fR -/
+s/^\\fBinfotocap\\f[RP] -/\\fBinfotocap\\fR -/
+s/^\\fBkey_defined\\f[RP] -/\\fBkey_defined\\fR -/
+s/^\\fBkeybound\\f[RP] -/\\fBkeybound\\fR -/
+s/^\\fBkeyok\\f[RP] -/\\fBkeyok\\fR -/
+s/^\\fBlegacy_coding\\f[RP] -/\\fBlegacy_coding\\fR -/
+s/^\\fBmenu\\f[RP] -/\\fBmenu\\fR -/
+s/^\\fBmenu_attributes\\f[RP] -/\\fBattributes\\fR -/
+s/^\\fBmenu_cursor\\f[RP] -/\\fBcursor\\fR -/
+s/^\\fBmenu_driver\\f[RP] -/\\fBdriver\\fR -/
+s/^\\fBmenu_format\\f[RP] -/\\fBformat\\fR -/
+s/^\\fBmenu_hook\\f[RP] -/\\fBhook\\fR -/
+s/^\\fBmenu_items\\f[RP] -/\\fBitems\\fR -/
+s/^\\fBmenu_mark\\f[RP] -/\\fBmark\\fR -/
+s/^\\fBmenu_new\\f[RP] -/\\fBnew\\fR -/
+s/^\\fBmenu_opts\\f[RP] -/\\fBopts\\fR -/
+s/^\\fBmenu_pattern\\f[RP] -/\\fBpattern\\fR -/
+s/^\\fBmenu_post\\f[RP] -/\\fBpost\\fR -/
+s/^\\fBmenu_requestname\\f[RP] -/\\fBrequestname\\fR -/
+s/^\\fBmenu_spacing\\f[RP] -/\\fBspacing\\fR -/
+s/^\\fBmenu_userptr\\f[RP] -/\\fBuserptr\\fR -/
+s/^\\fBmenu_win\\f[RP] -/\\fBwin\\fR -/
+s/^\\fBmitem_current\\f[RP] -/\\fBmenu_current\\fR -/
+s/^\\fBmitem_name\\f[RP] -/\\fBmenu_name\\fR -/
+s/^\\fBmitem_new\\f[RP] -/\\fBmenu_new\\fR -/
+s/^\\fBmitem_opts\\f[RP] -/\\fBmenu_opts\\fR -/
+s/^\\fBmitem_userptr\\f[RP] -/\\fBmenu_userptr\\fR -/
+s/^\\fBmitem_value\\f[RP] -/\\fBmenu_value\\fR -/
+s/^\\fBmitem_visible\\f[RP] -/\\fBmenu_visible\\fR -/
+s/^\\fBncurses\\f[RP] -/\\fBncurses\\fR -/
+s/^\\fBpanel\\f[RP] -/\\fBpanel\\fR -/
+s/^\\fBprintf\\f[RP] -/\\fBprintf\\fR -/
+s/^\\fBputc\\f[RP] -/\\fBputc\\fR -/
+s/^\\fBresizeterm\\f[RP] -/\\fBresizeterm\\fR -/
+s/^\\fBscanf\\f[RP] -/\\fBscanf\\fR -/
+s/^\\fBsystem\\f[RP] -/\\fBsystem\\fR -/
+s/^\\fBtabs\\f[RP] -/\\fBtabs\\fR -/
+s/^\\fBterm\\f[RP] -/\\fBterm\\fR -/
+s/^\\fBterm\\f[RP] -/\\fBterm\\fR -/
+s/^\\fBterm_variables\\f[RP] -/\\fBterminfo_variables\\fR -/
+s/^\\fBterminfo\\f[RP] -/\\fBterminfo\\fR -/
+s/^\\fBterminfo\\f[RP] -/\\fBterminfo\\fR -/
+s/^\\fBtic\\f[RP] -/\\fBtic\\fR -/
+s/^\\fBtoe\\f[RP] -/\\fBtoe\\fR -/
+s/^\\fBtput\\f[RP] -/\\fBtput\\fR -/
+s/^\\fBtset\\f[RP] -/\\fBtset\\fR -/
+s/^\\fBvprintf\\f[RP] -/\\fBvprintf\\fR -/
+s/^\\fBwresize\\f[RP] -/\\fBwresize\\fR -/
+s/^\\fBtack\\f[RP] -/\\fBtack\\fR -/
+s/^\\fBgetty\\f[RP] -/\\fBgetty\\fR -/
+s/^\\fBscanf\\f[RP] -/\\fBscanf\\fR -/
+s/^\\fBttys\\f[RP] -/\\fBttys\\fR -/
+s/^\\fBtermio\\f[RP] -/\\fBtermios\\fR -/
+s/^\\fBsystem\\f[RP] -/\\fBsystem\\fR -/
+s/^\\fBregcomp\\f[RP] -/\\fBregcomp\\fR -/
+s/^\\fBregexec\\f[RP] -/\\fBregexec\\fR -/
+s/^\\fBadacurses-config\\f[RP] -/\\fBadacurses-config\\fR -/
+s/^\\fBadacurses5-config\\f[RP] -/\\fBadacurses5-config\\fR -/
+s/^\\fBadacurses6-config\\f[RP] -/\\fBadacurses6-config\\fR -/
+s/^\\fBncurses5-config\\f[RP] -/\\fBncurses5-config\\fR -/
+s/^\\fBncursesw5-config\\f[RP] -/\\fBncursesw5-config\\fR -/
+s/^\\fBncursest5-config\\f[RP] -/\\fBncursest5-config\\fR -/
+s/^\\fBncursestw5-config\\f[RP] -/\\fBncursestw5-config\\fR -/
+s/^\\fBncurses6-config\\f[RP] -/\\fBncurses6-config\\fR -/
+s/^\\fBncursesw6-config\\f[RP] -/\\fBncursesw6-config\\fR -/
+s/^\\fBncursest6-config\\f[RP] -/\\fBncursest6-config\\fR -/
+s/^\\fBncursestw6-config\\f[RP] -/\\fBncursestw6-config\\fR -/
diff --git a/edit_man.sh b/edit_man.sh
new file mode 100755
index 0000000..058beff
--- /dev/null
+++ b/edit_man.sh
@@ -0,0 +1,193 @@
+#! /bin/sh
+# this script is generated by the configure-script CF_MAN_PAGES macro.
+
+prefix="/system"
+datarootdir="${prefix}/share"
+datadir="${datarootdir}"
+
+NCURSES_MAJOR="6"
+NCURSES_MINOR="0"
+NCURSES_PATCH="20150808"
+
+NCURSES_OSPEED="short"
+TERMINFO="/system/etc/terminfo"
+
+INSTALL="/usr/bin/install -c"
+INSTALL_DATA="${INSTALL} -m 644"
+
+transform="s,x,x,"
+
+TMP=${TMPDIR:=/tmp}/man$$
+trap "rm -f $TMP" 0 1 2 5 15
+
+form=$1
+shift || exit 1
+
+verb=$1
+shift || exit 1
+
+mandir=$1
+shift || exit 1
+
+srcdir=$1
+top_srcdir=$srcdir/..
+shift || exit 1
+
+if test "$form" = normal ; then
+	if test "no" = yes ; then
+	if test "no" = no ; then
+		/bin/sh $0 format $verb $mandir $srcdir $*
+		exit 0
+	fi
+	fi
+	cf_subdir=$mandir/man
+	cf_tables=no
+else
+	cf_subdir=$mandir/cat
+	cf_tables=yes
+fi
+
+# process the list of source-files
+for i in $* ; do
+case $i in
+(*.orig|*.rej) ;;
+(*.[0-9]*)
+	section=`expr "$i" : '.*\.\([0-9]\)[xm]*'`;
+	if test $verb = installing ; then
+	if test ! -d $cf_subdir${section} ; then
+		mkdir -p $cf_subdir$section
+	fi
+	fi
+
+	# replace variables in man page
+	if test ! -f /home/shade/dev/cm/13/external/libncurses/man_alias.sed ; then
+cat >>/home/shade/dev/cm/13/external/libncurses/man_alias.sed <<-CF_EOF2
+		s,@DATADIR@,$datadir,g
+		s,@TERMINFO@,${TERMINFO:="no default value"},g
+		s,@TERMINFO_DIRS@,${TERMINFO_DIRS:="no default value"},g
+		s,@NCURSES_MAJOR@,${NCURSES_MAJOR:="no default value"},g
+		s,@NCURSES_MINOR@,${NCURSES_MINOR:="no default value"},g
+		s,@NCURSES_PATCH@,${NCURSES_PATCH:="no default value"},g
+		s,@NCURSES_OSPEED@,${NCURSES_OSPEED:="no default value"},g
+s,@CAPTOINFO@,captoinfo,g
+s,@CLEAR@,clear,g
+s,@INFOCMP@,infocmp,g
+s,@INFOTOCAP@,infotocap,g
+s,@TABS@,tabs,g
+s,@TIC@,tic,g
+s,@TOE@,toe,g
+s,@TPUT@,tput,g
+s,@TSET@,tset,g
+CF_EOF2
+		echo "...made /home/shade/dev/cm/13/external/libncurses/man_alias.sed"
+	fi
+
+	aliases=
+	cf_source=`basename $i`
+	inalias=$cf_source
+	test ! -f $inalias && inalias="$srcdir/$inalias"
+	if test ! -f $inalias ; then
+		echo .. skipped $cf_source
+		continue
+	fi
+	nCurses=ignore.3x
+	test yes = yes && nCurses=ncurses.3x
+	aliases=`sed -f $top_srcdir/man/manlinks.sed $inalias |sed -f /home/shade/dev/cm/13/external/libncurses/man_alias.sed | sort -u; test $inalias = $nCurses && echo curses`
+	cf_target=`grep "^$cf_source" /home/shade/dev/cm/13/external/libncurses/man/man_db.renames | mawk '{print $2}'`
+	if test -z "$cf_target" ; then
+		echo '? missing rename for '$cf_source
+		cf_target="$cf_source"
+	fi
+	cf_target="$cf_subdir${section}/${cf_target}"
+
+	sed	-f /home/shade/dev/cm/13/external/libncurses/man_alias.sed \
+		< $i | sed -f /home/shade/dev/cm/13/external/libncurses/edit_man.sed >$TMP
+if test $cf_tables = yes ; then
+	tbl $TMP >$TMP.out
+	mv $TMP.out $TMP
+fi
+	sed -e "/\#[    ]*include/s,<curses.h,<ncurses/curses.h," < $TMP >$TMP.out
+	mv $TMP.out $TMP
+	if test $form = format ; then
+		nroff -man $TMP >$TMP.out
+		mv $TMP.out $TMP
+	fi
+	if test $verb = installing ; then
+	if ( gzip -f $TMP )
+	then
+		mv $TMP.gz $TMP
+	fi
+	fi
+	cf_target="$cf_target.gz"
+	suffix=`basename $cf_target | sed -e 's%^[^.]*%%'`
+	if test $verb = installing ; then
+		echo $verb $cf_target
+		$INSTALL_DATA $TMP $cf_target
+		test -d $cf_subdir${section} &&
+		test -n "$aliases" && (
+			cd $cf_subdir${section} && (
+				cf_source=`echo $cf_target |sed -e 's%^.*/\([^/][^/]*/[^/][^/]*$\)%\1%'`
+				test -n "gz" && cf_source=`echo $cf_source |sed -e 's%\.gz$%%'`
+				cf_target=`basename $cf_target`
+				for cf_alias in $aliases
+				do
+					if test $section = 1 ; then
+						cf_alias=`echo $cf_alias|sed "${transform}"`
+					fi
+
+					if test "yes" = yes ; then
+						if test -f $cf_alias${suffix} ; then
+							if ( cmp -s $cf_target $cf_alias${suffix} )
+							then
+								continue
+							fi
+						fi
+						echo .. $verb alias $cf_alias${suffix}
+						ln -s -f $cf_target $cf_alias${suffix}
+					elif test "$cf_target" != "$cf_alias${suffix}" ; then
+						echo ".so $cf_source" >$TMP
+						if test -n "gz" ; then
+							gzip -f $TMP
+							mv $TMP.gz $TMP
+						fi
+						echo .. $verb alias $cf_alias${suffix}
+						rm -f $cf_alias${suffix}
+						$INSTALL_DATA $TMP $cf_alias${suffix}
+					fi
+				done
+			)
+		)
+	elif test $verb = removing ; then
+		test -f $cf_target && (
+			echo $verb $cf_target
+			rm -f $cf_target
+		)
+		test -d $cf_subdir${section} &&
+		test -n "$aliases" && (
+			cd $cf_subdir${section} && (
+				for cf_alias in $aliases
+				do
+					if test $section = 1 ; then
+						cf_alias=`echo $cf_alias|sed "${transform}"`
+					fi
+
+					echo .. $verb alias $cf_alias${suffix}
+					rm -f $cf_alias${suffix}
+				done
+			)
+		)
+	else
+#		echo ".hy 0"
+		cat $TMP
+	fi
+	;;
+esac
+done
+
+if test no = yes ; then
+if test $form != format ; then
+	/bin/sh $0 format $verb $mandir $srcdir $*
+fi
+fi
+
+exit 0
diff --git a/form/Makefile b/form/Makefile
new file mode 100644
index 0000000..9979745
--- /dev/null
+++ b/form/Makefile
@@ -0,0 +1,853 @@
+# $Id: Makefile.in,v 1.63 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for form source code.
+#
+# This makes the following:
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncurses
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644
+INSTALL_PROG	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= arm-linux-androideabi-ar
+ARFLAGS		= -curv
+AWK		= mawk
+LD		= arm-linux-androideabi-ld
+LN_S		= ln -s -f
+
+CTAGS		= 
+ETAGS		= 
+
+CC		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang
+CPP		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang -E
+CFLAGS		= -target arm-linux-androideabi -I/home/shade/dev/cm/13/bionic/libc/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi -I/home/shade/dev/cm/13/bionic/libc/arch-arm/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi/asm-arm --sysroot=/home/shade/dev/cm/13/prebuilts/ndk/current/platforms/android-21/arch-arm -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -I/home/shade/dev/cm/13/bionic/libm/include -I/home/shade/dev/cm/13/bionic/libm/include/arm -I/home/shade/dev/cm/13/external/libselinux/include -I/home/shade/dev/cm/13/system/core/include -I/home/shade/dev/cm/13/bionic/libc/dns/include -I.  --param max-inline-insns-single=1200
+
+CPPFLAGS	= -I${top_srcdir}/ncurses -DHAVE_CONFIG_H -I. -I../include   -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS)
+CFLAGS_DEBUG	= $(CCFLAGS) -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL_LINK)
+LDFLAGS		= -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils  
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) -lncurses 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 0
+REL_VERSION	= 6.0
+ABI_VERSION	= 6
+
+RANLIB		= arm-linux-androideabi-ranlib
+
+LIBRARIES	=  ../lib/libform.a ../lib/libform_g.a
+
+LINT		= lint
+LINT_OPTS	= 
+LINT_LIBS	= -lform -lncurses 
+
+AUTO_SRC	= \
+		../include/form.h
+
+################################################################################
+all \
+libs \
+install ::	$(AUTO_SRC) $(LIBRARIES)
+
+sources :	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+# make copies to simplify include-paths while still keeping form's include
+# file in this directory.
+../include/form.h : $(srcdir)/form.h
+	-rm -f $@
+	cp $(srcdir)/form.h $@
+
+HEADER_DEPS = \
+	$(srcdir)/form.priv.h \
+	$(srcdir)/form.h \
+	../include/mf_common.h \
+	../include/curses.h \
+	../include/eti.h
+
+tags:
+	$(CTAGS) *.[ch]
+
+#TAGS:
+#	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+
+distclean :: clean
+	-rm -f Makefile
+	-rm -rf .libs *.dSYM
+
+realclean :: distclean
+
+../include/mf_common.h \
+../include/eti.h :
+	cd ../menu && $(MAKE) $@
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	sed  -e "s/NCURSES\([WT]\+\)\?_/NCURSES\16_/g" -e "/deprecated in ABI6/d" <  >$@
+
+clean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    form
+#   subsets:    ticlib+termlib+ext_tinfo+base+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/f_trace.c \
+	$(srcdir)/fld_arg.c \
+	$(srcdir)/fld_attr.c \
+	$(srcdir)/fld_current.c \
+	$(srcdir)/fld_def.c \
+	$(srcdir)/fld_dup.c \
+	$(srcdir)/fld_ftchoice.c \
+	$(srcdir)/fld_ftlink.c \
+	$(srcdir)/fld_info.c \
+	$(srcdir)/fld_just.c \
+	$(srcdir)/fld_link.c \
+	$(srcdir)/fld_max.c \
+	$(srcdir)/fld_move.c \
+	$(srcdir)/fld_newftyp.c \
+	$(srcdir)/fld_opts.c \
+	$(srcdir)/fld_pad.c \
+	$(srcdir)/fld_page.c \
+	$(srcdir)/fld_stat.c \
+	$(srcdir)/fld_type.c \
+	$(srcdir)/fld_user.c \
+	$(srcdir)/frm_cursor.c \
+	$(srcdir)/frm_data.c \
+	$(srcdir)/frm_def.c \
+	$(srcdir)/frm_driver.c \
+	$(srcdir)/frm_hook.c \
+	$(srcdir)/frm_opts.c \
+	$(srcdir)/frm_page.c \
+	$(srcdir)/frm_post.c \
+	$(srcdir)/frm_req_name.c \
+	$(srcdir)/frm_scale.c \
+	$(srcdir)/frm_sub.c \
+	$(srcdir)/frm_user.c \
+	$(srcdir)/frm_win.c \
+	$(srcdir)/fty_alnum.c \
+	$(srcdir)/fty_alpha.c \
+	$(srcdir)/fty_enum.c \
+	$(srcdir)/fty_generic.c \
+	$(srcdir)/fty_int.c \
+	$(srcdir)/fty_ipv4.c \
+	$(srcdir)/fty_num.c \
+	$(srcdir)/fty_regex.c
+
+# Producing llib-lform is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+FORM_SRC = \
+	$(srcdir)/f_trace.c \
+	$(srcdir)/fld_arg.c \
+	$(srcdir)/fld_attr.c \
+	$(srcdir)/fld_current.c \
+	$(srcdir)/fld_def.c \
+	$(srcdir)/fld_dup.c \
+	$(srcdir)/fld_ftchoice.c \
+	$(srcdir)/fld_ftlink.c \
+	$(srcdir)/fld_info.c \
+	$(srcdir)/fld_just.c \
+	$(srcdir)/fld_link.c \
+	$(srcdir)/fld_max.c \
+	$(srcdir)/fld_move.c \
+	$(srcdir)/fld_newftyp.c \
+	$(srcdir)/fld_opts.c \
+	$(srcdir)/fld_pad.c \
+	$(srcdir)/fld_page.c \
+	$(srcdir)/fld_stat.c \
+	$(srcdir)/fld_type.c \
+	$(srcdir)/fld_user.c \
+	$(srcdir)/frm_cursor.c \
+	$(srcdir)/frm_data.c \
+	$(srcdir)/frm_def.c \
+	$(srcdir)/frm_driver.c \
+	$(srcdir)/frm_hook.c \
+	$(srcdir)/frm_opts.c \
+	$(srcdir)/frm_page.c \
+	$(srcdir)/frm_post.c \
+	$(srcdir)/frm_req_name.c \
+	$(srcdir)/frm_scale.c \
+	$(srcdir)/frm_sub.c \
+	$(srcdir)/frm_user.c \
+	$(srcdir)/frm_win.c \
+	$(srcdir)/fty_alnum.c \
+	$(srcdir)/fty_alpha.c \
+	$(srcdir)/fty_enum.c \
+	$(srcdir)/fty_generic.c \
+	$(srcdir)/fty_int.c \
+	$(srcdir)/fty_ipv4.c \
+	$(srcdir)/fty_num.c \
+	$(srcdir)/fty_regex.c
+
+clean ::
+	rm -f llib-lform.*
+
+realclean ::
+	rm -f llib-lform
+
+llib-lform : $(FORM_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(FORM_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib form $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(FORM_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          form
+#  traces:        DEBUG
+#  MODEL:         NORMAL
+#  CXX_MODEL:     NORMAL
+#  model:         objects
+#  prefix:        lib
+#  suffix:        .a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./form.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+NORMAL_OBJS = \
+	../objects/fld_arg$o \
+	../objects/fld_attr$o \
+	../objects/fld_current$o \
+	../objects/fld_def$o \
+	../objects/fld_dup$o \
+	../objects/fld_ftchoice$o \
+	../objects/fld_ftlink$o \
+	../objects/fld_info$o \
+	../objects/fld_just$o \
+	../objects/fld_link$o \
+	../objects/fld_max$o \
+	../objects/fld_move$o \
+	../objects/fld_newftyp$o \
+	../objects/fld_opts$o \
+	../objects/fld_pad$o \
+	../objects/fld_page$o \
+	../objects/fld_stat$o \
+	../objects/fld_type$o \
+	../objects/fld_user$o \
+	../objects/frm_cursor$o \
+	../objects/frm_data$o \
+	../objects/frm_def$o \
+	../objects/frm_driver$o \
+	../objects/frm_hook$o \
+	../objects/frm_opts$o \
+	../objects/frm_page$o \
+	../objects/frm_post$o \
+	../objects/frm_req_name$o \
+	../objects/frm_scale$o \
+	../objects/frm_sub$o \
+	../objects/frm_user$o \
+	../objects/frm_win$o \
+	../objects/fty_alnum$o \
+	../objects/fty_alpha$o \
+	../objects/fty_enum$o \
+	../objects/fty_generic$o \
+	../objects/fty_int$o \
+	../objects/fty_ipv4$o \
+	../objects/fty_num$o \
+	../objects/fty_regex$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./form.priv.h
+
+../lib/libform.a : $(NORMAL_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.form :: $(DESTDIR)$(libdir) ../lib/libform.a
+	@echo installing ../lib/libform.a as $(DESTDIR)$(libdir)/libform.a
+	$(INSTALL_DATA) ../lib/libform.a $(DESTDIR)$(libdir)/libform.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libform.a
+
+uninstall \
+uninstall.libs \
+uninstall.form ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libform.a
+	-@rm -f $(DESTDIR)$(libdir)/libform.a
+
+clean ::
+	-rm -f ../lib/libform.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/fld_arg$o :	$(srcdir)/fld_arg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_arg.c -o ../objects/fld_arg$o
+
+../objects/fld_attr$o :	$(srcdir)/fld_attr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_attr.c -o ../objects/fld_attr$o
+
+../objects/fld_current$o :	$(srcdir)/fld_current.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_current.c -o ../objects/fld_current$o
+
+../objects/fld_def$o :	$(srcdir)/fld_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_def.c -o ../objects/fld_def$o
+
+../objects/fld_dup$o :	$(srcdir)/fld_dup.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_dup.c -o ../objects/fld_dup$o
+
+../objects/fld_ftchoice$o :	$(srcdir)/fld_ftchoice.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_ftchoice.c -o ../objects/fld_ftchoice$o
+
+../objects/fld_ftlink$o :	$(srcdir)/fld_ftlink.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_ftlink.c -o ../objects/fld_ftlink$o
+
+../objects/fld_info$o :	$(srcdir)/fld_info.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_info.c -o ../objects/fld_info$o
+
+../objects/fld_just$o :	$(srcdir)/fld_just.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_just.c -o ../objects/fld_just$o
+
+../objects/fld_link$o :	$(srcdir)/fld_link.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_link.c -o ../objects/fld_link$o
+
+../objects/fld_max$o :	$(srcdir)/fld_max.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_max.c -o ../objects/fld_max$o
+
+../objects/fld_move$o :	$(srcdir)/fld_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_move.c -o ../objects/fld_move$o
+
+../objects/fld_newftyp$o :	$(srcdir)/fld_newftyp.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_newftyp.c -o ../objects/fld_newftyp$o
+
+../objects/fld_opts$o :	$(srcdir)/fld_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_opts.c -o ../objects/fld_opts$o
+
+../objects/fld_pad$o :	$(srcdir)/fld_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_pad.c -o ../objects/fld_pad$o
+
+../objects/fld_page$o :	$(srcdir)/fld_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_page.c -o ../objects/fld_page$o
+
+../objects/fld_stat$o :	$(srcdir)/fld_stat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_stat.c -o ../objects/fld_stat$o
+
+../objects/fld_type$o :	$(srcdir)/fld_type.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_type.c -o ../objects/fld_type$o
+
+../objects/fld_user$o :	$(srcdir)/fld_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_user.c -o ../objects/fld_user$o
+
+../objects/frm_cursor$o :	$(srcdir)/frm_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_cursor.c -o ../objects/frm_cursor$o
+
+../objects/frm_data$o :	$(srcdir)/frm_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_data.c -o ../objects/frm_data$o
+
+../objects/frm_def$o :	$(srcdir)/frm_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_def.c -o ../objects/frm_def$o
+
+../objects/frm_driver$o :	$(srcdir)/frm_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_driver.c -o ../objects/frm_driver$o
+
+../objects/frm_hook$o :	$(srcdir)/frm_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_hook.c -o ../objects/frm_hook$o
+
+../objects/frm_opts$o :	$(srcdir)/frm_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_opts.c -o ../objects/frm_opts$o
+
+../objects/frm_page$o :	$(srcdir)/frm_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_page.c -o ../objects/frm_page$o
+
+../objects/frm_post$o :	$(srcdir)/frm_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_post.c -o ../objects/frm_post$o
+
+../objects/frm_req_name$o :	$(srcdir)/frm_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_req_name.c -o ../objects/frm_req_name$o
+
+../objects/frm_scale$o :	$(srcdir)/frm_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_scale.c -o ../objects/frm_scale$o
+
+../objects/frm_sub$o :	$(srcdir)/frm_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_sub.c -o ../objects/frm_sub$o
+
+../objects/frm_user$o :	$(srcdir)/frm_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_user.c -o ../objects/frm_user$o
+
+../objects/frm_win$o :	$(srcdir)/frm_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_win.c -o ../objects/frm_win$o
+
+../objects/fty_alnum$o :	$(srcdir)/fty_alnum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_alnum.c -o ../objects/fty_alnum$o
+
+../objects/fty_alpha$o :	$(srcdir)/fty_alpha.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_alpha.c -o ../objects/fty_alpha$o
+
+../objects/fty_enum$o :	$(srcdir)/fty_enum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_enum.c -o ../objects/fty_enum$o
+
+../objects/fty_generic$o :	$(srcdir)/fty_generic.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_generic.c -o ../objects/fty_generic$o
+
+../objects/fty_int$o :	$(srcdir)/fty_int.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_int.c -o ../objects/fty_int$o
+
+../objects/fty_ipv4$o :	$(srcdir)/fty_ipv4.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_ipv4.c -o ../objects/fty_ipv4$o
+
+../objects/fty_num$o :	$(srcdir)/fty_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_num.c -o ../objects/fty_num$o
+
+../objects/fty_regex$o :	$(srcdir)/fty_regex.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_regex.c -o ../objects/fty_regex$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          form
+#  traces:        DEBUG
+#  MODEL:         DEBUG
+#  CXX_MODEL:     DEBUG
+#  model:         obj_g
+#  prefix:        lib
+#  suffix:        _g.a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./form.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+DEBUG_OBJS = \
+	../obj_g/f_trace$o \
+	../obj_g/fld_arg$o \
+	../obj_g/fld_attr$o \
+	../obj_g/fld_current$o \
+	../obj_g/fld_def$o \
+	../obj_g/fld_dup$o \
+	../obj_g/fld_ftchoice$o \
+	../obj_g/fld_ftlink$o \
+	../obj_g/fld_info$o \
+	../obj_g/fld_just$o \
+	../obj_g/fld_link$o \
+	../obj_g/fld_max$o \
+	../obj_g/fld_move$o \
+	../obj_g/fld_newftyp$o \
+	../obj_g/fld_opts$o \
+	../obj_g/fld_pad$o \
+	../obj_g/fld_page$o \
+	../obj_g/fld_stat$o \
+	../obj_g/fld_type$o \
+	../obj_g/fld_user$o \
+	../obj_g/frm_cursor$o \
+	../obj_g/frm_data$o \
+	../obj_g/frm_def$o \
+	../obj_g/frm_driver$o \
+	../obj_g/frm_hook$o \
+	../obj_g/frm_opts$o \
+	../obj_g/frm_page$o \
+	../obj_g/frm_post$o \
+	../obj_g/frm_req_name$o \
+	../obj_g/frm_scale$o \
+	../obj_g/frm_sub$o \
+	../obj_g/frm_user$o \
+	../obj_g/frm_win$o \
+	../obj_g/fty_alnum$o \
+	../obj_g/fty_alpha$o \
+	../obj_g/fty_enum$o \
+	../obj_g/fty_generic$o \
+	../obj_g/fty_int$o \
+	../obj_g/fty_ipv4$o \
+	../obj_g/fty_num$o \
+	../obj_g/fty_regex$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./form.priv.h
+
+../lib/libform_g.a : $(DEBUG_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.form :: $(DESTDIR)$(libdir) ../lib/libform_g.a
+	@echo installing ../lib/libform_g.a as $(DESTDIR)$(libdir)/libform_g.a
+	$(INSTALL_DATA) ../lib/libform_g.a $(DESTDIR)$(libdir)/libform_g.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libform_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.form ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libform_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libform_g.a
+
+clean ::
+	-rm -f ../lib/libform_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/f_trace$o :	$(srcdir)/f_trace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/f_trace.c -o ../obj_g/f_trace$o
+
+../obj_g/fld_arg$o :	$(srcdir)/fld_arg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_arg.c -o ../obj_g/fld_arg$o
+
+../obj_g/fld_attr$o :	$(srcdir)/fld_attr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_attr.c -o ../obj_g/fld_attr$o
+
+../obj_g/fld_current$o :	$(srcdir)/fld_current.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_current.c -o ../obj_g/fld_current$o
+
+../obj_g/fld_def$o :	$(srcdir)/fld_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_def.c -o ../obj_g/fld_def$o
+
+../obj_g/fld_dup$o :	$(srcdir)/fld_dup.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_dup.c -o ../obj_g/fld_dup$o
+
+../obj_g/fld_ftchoice$o :	$(srcdir)/fld_ftchoice.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_ftchoice.c -o ../obj_g/fld_ftchoice$o
+
+../obj_g/fld_ftlink$o :	$(srcdir)/fld_ftlink.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_ftlink.c -o ../obj_g/fld_ftlink$o
+
+../obj_g/fld_info$o :	$(srcdir)/fld_info.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_info.c -o ../obj_g/fld_info$o
+
+../obj_g/fld_just$o :	$(srcdir)/fld_just.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_just.c -o ../obj_g/fld_just$o
+
+../obj_g/fld_link$o :	$(srcdir)/fld_link.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_link.c -o ../obj_g/fld_link$o
+
+../obj_g/fld_max$o :	$(srcdir)/fld_max.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_max.c -o ../obj_g/fld_max$o
+
+../obj_g/fld_move$o :	$(srcdir)/fld_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_move.c -o ../obj_g/fld_move$o
+
+../obj_g/fld_newftyp$o :	$(srcdir)/fld_newftyp.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_newftyp.c -o ../obj_g/fld_newftyp$o
+
+../obj_g/fld_opts$o :	$(srcdir)/fld_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_opts.c -o ../obj_g/fld_opts$o
+
+../obj_g/fld_pad$o :	$(srcdir)/fld_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_pad.c -o ../obj_g/fld_pad$o
+
+../obj_g/fld_page$o :	$(srcdir)/fld_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_page.c -o ../obj_g/fld_page$o
+
+../obj_g/fld_stat$o :	$(srcdir)/fld_stat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_stat.c -o ../obj_g/fld_stat$o
+
+../obj_g/fld_type$o :	$(srcdir)/fld_type.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_type.c -o ../obj_g/fld_type$o
+
+../obj_g/fld_user$o :	$(srcdir)/fld_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_user.c -o ../obj_g/fld_user$o
+
+../obj_g/frm_cursor$o :	$(srcdir)/frm_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_cursor.c -o ../obj_g/frm_cursor$o
+
+../obj_g/frm_data$o :	$(srcdir)/frm_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_data.c -o ../obj_g/frm_data$o
+
+../obj_g/frm_def$o :	$(srcdir)/frm_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_def.c -o ../obj_g/frm_def$o
+
+../obj_g/frm_driver$o :	$(srcdir)/frm_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_driver.c -o ../obj_g/frm_driver$o
+
+../obj_g/frm_hook$o :	$(srcdir)/frm_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_hook.c -o ../obj_g/frm_hook$o
+
+../obj_g/frm_opts$o :	$(srcdir)/frm_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_opts.c -o ../obj_g/frm_opts$o
+
+../obj_g/frm_page$o :	$(srcdir)/frm_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_page.c -o ../obj_g/frm_page$o
+
+../obj_g/frm_post$o :	$(srcdir)/frm_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_post.c -o ../obj_g/frm_post$o
+
+../obj_g/frm_req_name$o :	$(srcdir)/frm_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_req_name.c -o ../obj_g/frm_req_name$o
+
+../obj_g/frm_scale$o :	$(srcdir)/frm_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_scale.c -o ../obj_g/frm_scale$o
+
+../obj_g/frm_sub$o :	$(srcdir)/frm_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_sub.c -o ../obj_g/frm_sub$o
+
+../obj_g/frm_user$o :	$(srcdir)/frm_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_user.c -o ../obj_g/frm_user$o
+
+../obj_g/frm_win$o :	$(srcdir)/frm_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_win.c -o ../obj_g/frm_win$o
+
+../obj_g/fty_alnum$o :	$(srcdir)/fty_alnum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_alnum.c -o ../obj_g/fty_alnum$o
+
+../obj_g/fty_alpha$o :	$(srcdir)/fty_alpha.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_alpha.c -o ../obj_g/fty_alpha$o
+
+../obj_g/fty_enum$o :	$(srcdir)/fty_enum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_enum.c -o ../obj_g/fty_enum$o
+
+../obj_g/fty_generic$o :	$(srcdir)/fty_generic.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_generic.c -o ../obj_g/fty_generic$o
+
+../obj_g/fty_int$o :	$(srcdir)/fty_int.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_int.c -o ../obj_g/fty_int$o
+
+../obj_g/fty_ipv4$o :	$(srcdir)/fty_ipv4.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_ipv4.c -o ../obj_g/fty_ipv4$o
+
+../obj_g/fty_num$o :	$(srcdir)/fty_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_num.c -o ../obj_g/fty_num$o
+
+../obj_g/fty_regex$o :	$(srcdir)/fty_regex.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_regex.c -o ../obj_g/fty_regex$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/form.h
+	@ (cd ${INCLUDEDIR} && rm -f form.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/form.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f form.h)
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/headers.sh b/headers.sh
new file mode 100755
index 0000000..0b0b572
--- /dev/null
+++ b/headers.sh
@@ -0,0 +1,37 @@
+#! /bin/sh
+# This shell script is generated by the 'configure' script.  It is invoked in a
+# subdirectory of the build tree.  It generates a sed-script in the parent
+# directory that is used to adjust includes for header files that reside in a
+# subdirectory of /usr/include, etc.
+PRG=""
+while test $# != 3
+do
+PRG="$PRG $1"; shift
+done
+DST=$1
+REF=$2
+SRC=$3
+TMPSRC=${TMPDIR:-/tmp}/`basename $SRC`$$
+TMPSED=${TMPDIR:-/tmp}/headers.sed$$
+echo installing $SRC in $DST
+case $DST in
+(/*/include/*)
+	END=`basename $DST`
+	for i in `cat $REF/../*/headers |fgrep -v "#"`
+	do
+		NAME=`basename $i`
+		echo "s/<$NAME>/<$END\/$NAME>/" >> $TMPSED
+	done
+	;;
+(*)
+	echo "" >> $TMPSED
+	;;
+esac
+rm -f $TMPSRC
+sed -f $TMPSED $SRC > $TMPSRC
+NAME=`basename $SRC`
+# Just in case someone gzip'd manpages, remove the conflicting copy.
+test -f $DST/$NAME.gz && rm -f $DST/$NAME.gz
+
+eval $PRG $TMPSRC $DST/$NAME
+rm -f $TMPSRC $TMPSED
diff --git a/include/MKterm.h.awk b/include/MKterm.h.awk
new file mode 100644
index 0000000..3ba0433
--- /dev/null
+++ b/include/MKterm.h.awk
@@ -0,0 +1,334 @@
+# vile:awkmode
+BEGIN		{
+		    print  "/****************************************************************************"
+		    print  " * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc.              *"
+		    print  " *                                                                          *"
+		    print  " * Permission is hereby granted, free of charge, to any person obtaining a  *"
+		    print  " * copy of this software and associated documentation files (the            *"
+		    print  " * \"Software\"), to deal in the Software without restriction, including      *"
+		    print  " * without limitation the rights to use, copy, modify, merge, publish,      *"
+		    print  " * distribute, distribute with modifications, sublicense, and/or sell       *"
+		    print  " * copies of the Software, and to permit persons to whom the Software is    *"
+		    print  " * furnished to do so, subject to the following conditions:                 *"
+		    print  " *                                                                          *"
+		    print  " * The above copyright notice and this permission notice shall be included  *"
+		    print  " * in all copies or substantial portions of the Software.                   *"
+		    print  " *                                                                          *"
+		    print  " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *"
+		    print  " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *"
+		    print  " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *"
+		    print  " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *"
+		    print  " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *"
+		    print  " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *"
+		    print  " * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *"
+		    print  " *                                                                          *"
+		    print  " * Except as contained in this notice, the name(s) of the above copyright   *"
+		    print  " * holders shall not be used in advertising or otherwise to promote the     *"
+		    print  " * sale, use or other dealings in this Software without prior written       *"
+		    print  " * authorization.                                                           *"
+		    print  " ****************************************************************************/"
+		    print  ""
+		    print  "/****************************************************************************/"
+		    print  "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995                */"
+		    print  "/*    and: Eric S. Raymond <esr@snark.thyrsus.com>                          */"
+		    print  "/*    and: Thomas E. Dickey                        1995-on                  */"
+		    print  "/****************************************************************************/"
+		    print  ""
+		    print  "/* $Id: MKterm.h.awk.in,v 1.62 2013/08/17 19:21:56 tom Exp $ */"
+		    print  ""
+		    print  "/*"
+		    print  "**	term.h -- Definition of struct term"
+		    print  "*/"
+		    print  ""
+		    print  "#ifndef NCURSES_TERM_H_incl"
+		    print  "#define NCURSES_TERM_H_incl 1"
+		    print  ""
+		    print  "#undef  NCURSES_VERSION"
+		    print  "#define NCURSES_VERSION \"6.0\""
+		    print  ""
+		    print  "#include <ncurses_dll.h>"
+		    print  ""
+		    print  "#ifdef __cplusplus"
+		    print  "extern \"C\" {"
+		    print  "#endif"
+		    print  ""
+		    print  "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
+		    print  " * definition (based on the system for which this was configured)."
+		    print  " */"
+		    print  ""
+		    print  "#undef  NCURSES_CONST"
+		    print  "#define NCURSES_CONST const"
+		    print  ""
+		    print  "#undef  NCURSES_SBOOL"
+		    print  "#define NCURSES_SBOOL char"
+		    print  ""
+		    print  "#undef  NCURSES_USE_DATABASE"
+		    print  "#define NCURSES_USE_DATABASE 1"
+		    print  ""
+		    print  "#undef  NCURSES_USE_TERMCAP"
+		    print  "#define NCURSES_USE_TERMCAP 0"
+		    print  ""
+		    print  "#undef  NCURSES_XNAMES"
+		    print  "#define NCURSES_XNAMES 1"
+		    print  ""
+		    print  "/* We will use these symbols to hide differences between"
+		    print  " * termios/termio/sgttyb interfaces."
+		    print  " */"
+		    print  "#undef  TTY"
+		    print  "#undef  SET_TTY"
+		    print  "#undef  GET_TTY"
+		    print  ""
+		    print  "/* Assume POSIX termio if we have the header and function */"
+		    print  "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
+		    print  "#if 1 && 1"
+		    print  ""
+		    print  "#undef  TERMIOS"
+		    print  "#define TERMIOS 1"
+		    print  ""
+		    print  "#include <termios.h>"
+		    print  "#define TTY struct termios"
+		    print  ""
+		    print  "#else /* !HAVE_TERMIOS_H */"
+		    print  ""
+		    print  "/* #if HAVE_TERMIO_H */"
+		    print  "#if 1"
+		    print  ""
+		    print  "#undef  TERMIOS"
+		    print  "#define TERMIOS 1"
+		    print  ""
+		    print  "#include <termio.h>"
+		    print  "#define TTY struct termio"
+		    print  ""
+		    print  "#else /* !HAVE_TERMIO_H */"
+		    print  ""
+		    print  "#if __MINGW32__"
+		    print  "#  include <ncurses_mingw.h>"
+		    print  "#  define TTY struct termios"
+		    print  "#else"
+		    print  "#undef TERMIOS"
+		    print  "#include <sgtty.h>"
+		    print  "#include <sys/ioctl.h>"
+		    print  "#define TTY struct sgttyb"
+		    print  "#endif /* MINGW32 */"
+		    print  "#endif /* HAVE_TERMIO_H */"
+		    print  ""
+		    print  "#endif /* HAVE_TERMIOS_H */"
+		    print  ""
+		    print  "#ifdef TERMIOS"
+		    print  "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
+		    print  "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
+		    print  "#else"
+		    print  "#define GET_TTY(fd, buf) gtty(fd, buf)"
+		    print  "#define SET_TTY(fd, buf) stty(fd, buf)"
+		    print  "#endif"
+		    print  ""
+		    print  "#define NAMESIZE 256"
+		    print  ""
+		    print  "#define CUR cur_term->type."
+		    print  ""
+		}
+
+$2 == "%%-STOP-HERE-%%"	{
+			print  ""
+			printf "#define BOOLWRITE %d\n", BoolCount
+			printf "#define NUMWRITE  %d\n", NumberCount
+			printf "#define STRWRITE  %d\n", StringCount
+			print  ""
+			print  "/* older synonyms for some capabilities */"
+			print  "#define beehive_glitch	no_esc_ctlc"
+			print  "#define teleray_glitch	dest_tabs_magic_smso"
+			print  "#define micro_char_size micro_col_size"
+			print  ""
+			print  "#ifdef __INTERNAL_CAPS_VISIBLE"
+		}
+
+/^#/		{next;}
+
+$1 == "acs_chars"	{acsindex = StringCount}
+
+$3 == "bool"	{
+		    printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
+		}
+
+$3 == "num"	{
+		    printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
+		}
+
+$3 == "str"	{
+		    printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
+		}
+
+END		{
+			print  "#endif /* __INTERNAL_CAPS_VISIBLE */"
+			print  ""
+			print  ""
+			print  "/*"
+			print  " * Predefined terminfo array sizes"
+			print  " */"
+			printf "#define BOOLCOUNT %d\n", BoolCount
+			printf "#define NUMCOUNT  %d\n", NumberCount
+			printf "#define STRCOUNT  %d\n", StringCount
+			print  ""
+			print  "/* used by code for comparing entries */"
+			print  "#define acs_chars_index	", acsindex
+			print  ""
+			print  "typedef struct termtype {	/* in-core form of terminfo data */"
+			print  "    char  *term_names;		/* str_table offset of term names */"
+			print  "    char  *str_table;		/* pointer to string table */"
+			print  "    NCURSES_SBOOL  *Booleans;	/* array of boolean values */"
+			print  "    short *Numbers;		/* array of integer values */"
+			print  "    char  **Strings;		/* array of string offsets */"
+			print  ""
+			print  "#if NCURSES_XNAMES"
+			print  "    char  *ext_str_table;	/* pointer to extended string table */"
+			print  "    char  **ext_Names;		/* corresponding names */"
+			print  ""
+			print  "    unsigned short num_Booleans;/* count total Booleans */"
+			print  "    unsigned short num_Numbers;	/* count total Numbers */"
+			print  "    unsigned short num_Strings;	/* count total Strings */"
+			print  ""
+			print  "    unsigned short ext_Booleans;/* count extensions to Booleans */"
+			print  "    unsigned short ext_Numbers;	/* count extensions to Numbers */"
+			print  "    unsigned short ext_Strings;	/* count extensions to Strings */"
+			print  "#endif /* NCURSES_XNAMES */"
+			print  ""
+			print  "} TERMTYPE;"
+			print  ""
+			print  "typedef struct term {		/* describe an actual terminal */"
+			print  "    TERMTYPE	type;		/* terminal type description */"
+			print  "    short	Filedes;	/* file description being written to */"
+			print  "    TTY		Ottyb,		/* original state of the terminal */"
+			print  "		Nttyb;		/* current state of the terminal */"
+			print  "    int		_baudrate;	/* used to compute padding */"
+			print  "    char *      _termname;      /* used for termname() */"
+			print  "} TERMINAL;"
+			print  ""
+			print  "#if 0 && !0"
+			print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+			print  "#elif 0"
+			print  "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
+			print  "#define cur_term   NCURSES_PUBLIC_VAR(cur_term())"
+			print  "#else"
+			print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+			print  "#endif"
+			print  ""
+			print  "#if 0 || 0"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
+			print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
+			print  ""
+			print  "#define boolnames  NCURSES_PUBLIC_VAR(boolnames())"
+			print  "#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())"
+			print  "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
+			print  "#define numnames   NCURSES_PUBLIC_VAR(numnames())"
+			print  "#define numcodes   NCURSES_PUBLIC_VAR(numcodes())"
+			print  "#define numfnames  NCURSES_PUBLIC_VAR(numfnames())"
+			print  "#define strnames   NCURSES_PUBLIC_VAR(strnames())"
+			print  "#define strcodes   NCURSES_PUBLIC_VAR(strcodes())"
+			print  "#define strfnames  NCURSES_PUBLIC_VAR(strfnames())"
+			print  ""
+			print  "#else"
+			print  ""
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
+			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
+			print  ""
+			print  "#endif"
+			print  ""
+			print  "/* internals */"
+			print  "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
+			print  "extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);"
+			print  "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
+			print  "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);"
+			print  "extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE *const);"
+			print  "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE *, char *, int);"
+			print  "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
+			print  "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
+			print  "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
+			print  ""
+			print  "/* entry points */"
+			print  "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
+			print  "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
+			print  ""
+			print  "/* miscellaneous entry points */"
+			print  "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
+			print  "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);"
+			print  ""
+			print  "/* terminfo entry points, also declared in curses.h */"
+			print  "#if !defined(__NCURSES_H)"
+			print  "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT_VAR(char) ttytype[];"
+			print  "extern NCURSES_EXPORT(int) putp (const char *);"
+			print  "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
+			print  ""
+			print  "#if 1 /* NCURSES_TPARM_VARARGS */"
+			print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);	/* special */"
+			print  "#else"
+			print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);	/* special */"
+			print  "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);	/* special */"
+			print  "#endif"
+			print  ""
+			print  "extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */"
+			print  ""
+			print  "#endif /* __NCURSES_H */"
+			print  ""
+			print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
+			print  "#if !defined(NCURSES_TERMCAP_H_incl)"
+			print  "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);"
+			print  "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
+			print  "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
+			print  "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
+			print  "#endif /* NCURSES_TERMCAP_H_incl */"
+			print  ""
+			print  "/*"
+			print  " * Include curses.h before term.h to enable these extensions."
+			print  " */"
+			print  "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
+			print  ""
+			print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);"
+			print  ""
+			print  "#if 1 /* NCURSES_TPARM_VARARGS */"
+			print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...);	/* special */"
+			print  "#else"
+			print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);	/* special */"
+			print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...);	/* special */"
+			print  "#endif"
+			print  ""
+			print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
+			print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_CONST char *, char **);"
+			print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_CONST char *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
+			print  ""
+			print  "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
+			print  ""
+			print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
+			print  "#endif /* NCURSES_SP_FUNCS */"
+			print  ""
+			print  "#ifdef __cplusplus"
+			print  "}"
+			print  "#endif"
+			print  ""
+			print  "#endif /* NCURSES_TERM_H_incl */"
+		}
diff --git a/include/Makefile b/include/Makefile
new file mode 100644
index 0000000..e8470fc
--- /dev/null
+++ b/include/Makefile
@@ -0,0 +1,181 @@
+# $Id: Makefile.in,v 1.43 2015/08/05 09:25:55 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-2001
+#
+# Makefile for ncurses source code.
+#
+# This makes/installs ncurses include-files
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+DESTDIR		= 
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+includedir	= ${prefix}/include
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+INSTALL		= /usr/bin/install -c
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AWK		= mawk
+LN_S		= ln -s -f
+
+CTAGS		= 
+ETAGS		= 
+
+VERSION		= 6.0
+
+# The "Caps" file specifies the terminfo database format, as well as the list
+# of function keys.
+TERMINFO_CAPS	= $(srcdir)/Caps
+
+# These files are generated by the configure script
+CONFIG_SRC = \
+	MKterm.h.awk \
+	curses.head \
+	ncurses_dll.h \
+	termcap.h \
+	unctrl.h
+
+# These files are generated by this makefile
+AUTO_SRC = \
+	curses.h \
+	hashsize.h \
+	ncurses_def.h \
+	parametrized.h \
+	config.h \
+	term.h
+
+################################################################################
+all \
+libs \
+depend \
+sources \
+install ::	$(AUTO_SRC)
+
+curses.h : $(TERMINFO_CAPS) \
+		curses.head \
+		$(srcdir)/curses.tail \
+		$(srcdir)/MKkey_defs.sh
+	cat curses.head >$@
+	AWK=$(AWK) $(SHELL) $(srcdir)/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
+	$(SHELL) -c 'if test "chtype" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi'
+	cat $(srcdir)/curses.tail >>$@
+
+term.h: $(TERMINFO_CAPS) MKterm.h.awk
+	$(AWK) -f MKterm.h.awk $(TERMINFO_CAPS) > $@
+	$(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+
+hashsize.h: $(TERMINFO_CAPS) $(srcdir)/MKhashsize.sh
+	$(SHELL) $(srcdir)/MKhashsize.sh $(TERMINFO_CAPS) >$@
+
+ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
+	AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
+
+parametrized.h: $(TERMINFO_CAPS) $(srcdir)/MKparametrized.sh
+	AWK=$(AWK) $(SHELL) $(srcdir)/MKparametrized.sh $(TERMINFO_CAPS) >$@
+
+# This is required by pthread.h on MinGW
+config.h:
+	touch $@
+
+tags:
+	$(CTAGS) *.[ch]
+
+#TAGS:
+#	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -rf *.dSYM
+
+distclean :: clean
+	-rm -f Makefile $(CONFIG_SRC) config.h
+
+realclean :: distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		curses.h \
+		unctrl.h \
+		ncurses_dll.h \
+		term.h \
+		termcap.h \
+		$(srcdir)/tic.h \
+		$(srcdir)/term_entry.h \
+		$(srcdir)/nc_tparm.h
+	@ (cd ${INCLUDEDIR} && rm -f curses.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} curses.h
+	@ (cd ${INCLUDEDIR} && rm -f ncurses.h && ${LN_S} curses.h ncurses.h)
+	@ (cd ${INCLUDEDIR} && rm -f unctrl.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} unctrl.h
+	@ (cd ${INCLUDEDIR} && rm -f ncurses_dll.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} ncurses_dll.h
+	@ (cd ${INCLUDEDIR} && rm -f term.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} term.h
+	@ (cd ${INCLUDEDIR} && rm -f termcap.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} termcap.h
+	@ (cd ${INCLUDEDIR} && rm -f tic.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/tic.h
+	@ (cd ${INCLUDEDIR} && rm -f term_entry.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/term_entry.h
+	@ (cd ${INCLUDEDIR} && rm -f nc_tparm.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/nc_tparm.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f curses.h)
+	-@ (cd ${INCLUDEDIR} && rm -f ncurses.h)
+	-@ (cd ${INCLUDEDIR} && rm -f unctrl.h)
+	-@ (cd ${INCLUDEDIR} && rm -f ncurses_dll.h)
+	-@ (cd ${INCLUDEDIR} && rm -f term.h)
+	-@ (cd ${INCLUDEDIR} && rm -f termcap.h)
+	-@ (cd ${INCLUDEDIR} && rm -f tic.h)
+	-@ (cd ${INCLUDEDIR} && rm -f term_entry.h)
+	-@ (cd ${INCLUDEDIR} && rm -f nc_tparm.h)
diff --git a/include/config.h b/include/config.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/config.h
diff --git a/include/curses.h b/include/curses.h
new file mode 100644
index 0000000..1ca213b
--- /dev/null
+++ b/include/curses.h
@@ -0,0 +1,1712 @@
+/****************************************************************************
+ * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Thomas E. Dickey                        1996-on                 *
+ ****************************************************************************/
+
+/* $Id: curses.h.in,v 1.241 2014/08/09 20:39:44 tom Exp $ */
+
+#ifndef __NCURSES_H
+#define __NCURSES_H
+
+#define CURSES 1
+#define CURSES_H 1
+
+/* These are defined only in curses.h, and are used for conditional compiles */
+#define NCURSES_VERSION_MAJOR 6
+#define NCURSES_VERSION_MINOR 0
+#define NCURSES_VERSION_PATCH 20150808
+
+/* This is defined in more than one ncurses header, for identification */
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.0"
+
+/*
+ * Identify the mouse encoding version.
+ */
+#define NCURSES_MOUSE_VERSION 2
+
+/*
+ * Definitions to facilitate DLL's.
+ */
+#include <ncurses_dll.h>
+
+#if 1
+#include <stdint.h>
+#endif
+
+/*
+ * User-definable tweak to disable the include of <stdbool.h>.
+ */
+#ifndef NCURSES_ENABLE_STDBOOL_H
+#define NCURSES_ENABLE_STDBOOL_H 1
+#endif
+
+/*
+ * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses
+ * configured using --disable-macros.
+ */
+#ifndef NCURSES_ATTR_T
+#define NCURSES_ATTR_T int
+#endif
+
+/*
+ * Expands to 'const' if ncurses is configured using --enable-const.  Note that
+ * doing so makes it incompatible with other implementations of X/Open Curses.
+ */
+#undef  NCURSES_CONST
+#define NCURSES_CONST const
+
+#undef NCURSES_INLINE
+#define NCURSES_INLINE inline
+
+/*
+ * The internal type used for color values, and for color-pairs.  The latter
+ * allows the curses library to enumerate the combinations of foreground and
+ * background colors used by an application, and is normally the product of the
+ * total foreground and background colors.
+ *
+ * X/Open uses "short" for both of these types, ultimately because they are
+ * numbers from the terminal database, which uses 16-bit signed values.
+ */
+#undef	NCURSES_COLOR_T
+#define	NCURSES_COLOR_T short
+
+#undef	NCURSES_PAIRS_T
+#define	NCURSES_PAIRS_T short
+
+/*
+ * Definition used to make WINDOW and similar structs opaque.
+ */
+#ifndef NCURSES_OPAQUE
+#define NCURSES_OPAQUE 0
+#endif
+
+/*
+ * The reentrant code relies on the opaque setting, but adds features.
+ */
+#ifndef NCURSES_REENTRANT
+#define NCURSES_REENTRANT 0
+#endif
+
+/*
+ * Control whether bindings for interop support are added.
+ */
+#undef	NCURSES_INTEROP_FUNCS
+#define	NCURSES_INTEROP_FUNCS 1
+
+/*
+ * The internal type used for window dimensions.
+ */
+#undef	NCURSES_SIZE_T
+#define	NCURSES_SIZE_T short
+
+/*
+ * Control whether tparm() supports varargs or fixed-parameter list.
+ */
+#undef NCURSES_TPARM_VARARGS
+#define NCURSES_TPARM_VARARGS 1
+
+/*
+ * Control type used for tparm's arguments.  While X/Open equates long and
+ * char* values, this is not always workable for 64-bit platforms.
+ */
+#undef NCURSES_TPARM_ARG
+#define NCURSES_TPARM_ARG intptr_t
+
+/*
+ * NCURSES_CH_T is used in building the library, but not used otherwise in
+ * this header file, since that would make the normal/wide-character versions
+ * of the header incompatible.
+ */
+#undef	NCURSES_CH_T
+#define NCURSES_CH_T chtype
+
+#if 1 && defined(_LP64)
+typedef unsigned chtype;
+typedef unsigned mmask_t;
+#else
+typedef uint32_t chtype;
+typedef uint32_t mmask_t;
+#endif
+
+/*
+ * We need FILE, etc.  Include this before checking any feature symbols.
+ */
+#include <stdio.h>
+
+/*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+ * conflicting) when _XOPEN_SOURCE is 500 or greater.  If NCURSES_WIDECHAR is
+ * not already defined, e.g., if the platform relies upon nonstandard feature
+ * test macros, define it at this point if the standard feature test macros
+ * indicate that it should be defined.
+ */
+#ifndef NCURSES_WIDECHAR
+#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
+#define NCURSES_WIDECHAR 1
+#else
+#define NCURSES_WIDECHAR 0
+#endif
+#endif /* NCURSES_WIDECHAR */
+
+#include <stdarg.h>	/* we need va_list */
+#if NCURSES_WIDECHAR
+#include <stddef.h>	/* we want wchar_t */
+#endif
+
+/* X/Open and SVr4 specify that curses implements 'bool'.  However, C++ may also
+ * implement it.  If so, we must use the C++ compiler's type to avoid conflict
+ * with other interfaces.
+ *
+ * A further complication is that <stdbool.h> may declare 'bool' to be a
+ * different type, such as an enum which is not necessarily compatible with
+ * C++.  If we have <stdbool.h>, make 'bool' a macro, so users may #undef it.
+ * Otherwise, let it remain a typedef to avoid conflicts with other #define's.
+ * In either case, make a typedef for NCURSES_BOOL which can be used if needed
+ * from either C or C++.
+ */
+
+#undef TRUE
+#define TRUE    1
+
+#undef FALSE
+#define FALSE   0
+
+typedef unsigned NCURSES_BOOL;
+
+#if defined(__cplusplus)	/* __cplusplus, etc. */
+
+/* use the C++ compiler's bool type */
+#define NCURSES_BOOL bool
+
+#else			/* c89, c99, etc. */
+
+#if NCURSES_ENABLE_STDBOOL_H
+#include <stdbool.h>
+/* use whatever the C compiler decides bool really is */
+#define NCURSES_BOOL bool
+#else
+/* there is no predefined bool - use our own */
+#undef bool
+#define bool NCURSES_BOOL
+#endif
+
+#endif /* !__cplusplus, etc. */
+
+#ifdef __cplusplus
+extern "C" {
+#define NCURSES_CAST(type,value) static_cast<type>(value)
+#else
+#define NCURSES_CAST(type,value) (type)(value)
+#endif
+
+/*
+ * X/Open attributes.  In the ncurses implementation, they are identical to the
+ * A_ attributes.
+ */
+#define WA_ATTRIBUTES	A_ATTRIBUTES
+#define WA_NORMAL	A_NORMAL
+#define WA_STANDOUT	A_STANDOUT
+#define WA_UNDERLINE	A_UNDERLINE
+#define WA_REVERSE	A_REVERSE
+#define WA_BLINK	A_BLINK
+#define WA_DIM		A_DIM
+#define WA_BOLD		A_BOLD
+#define WA_ALTCHARSET	A_ALTCHARSET
+#define WA_INVIS	A_INVIS
+#define WA_PROTECT	A_PROTECT
+#define WA_HORIZONTAL	A_HORIZONTAL
+#define WA_LEFT		A_LEFT
+#define WA_LOW		A_LOW
+#define WA_RIGHT	A_RIGHT
+#define WA_TOP		A_TOP
+#define WA_VERTICAL	A_VERTICAL
+
+#if 1
+#define WA_ITALIC	A_ITALIC	/* ncurses extension */
+#endif
+
+/* colors */
+#define COLOR_BLACK	0
+#define COLOR_RED	1
+#define COLOR_GREEN	2
+#define COLOR_YELLOW	3
+#define COLOR_BLUE	4
+#define COLOR_MAGENTA	5
+#define COLOR_CYAN	6
+#define COLOR_WHITE	7
+
+/* line graphics */
+
+#if 0 || NCURSES_REENTRANT
+NCURSES_WRAPPED_VAR(chtype*, acs_map);
+#define acs_map NCURSES_PUBLIC_VAR(acs_map())
+#else
+extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+#endif
+
+#define NCURSES_ACS(c)	(acs_map[NCURSES_CAST(unsigned char,(c))])
+
+/* VT100 symbols begin here */
+#define ACS_ULCORNER	NCURSES_ACS('l') /* upper left corner */
+#define ACS_LLCORNER	NCURSES_ACS('m') /* lower left corner */
+#define ACS_URCORNER	NCURSES_ACS('k') /* upper right corner */
+#define ACS_LRCORNER	NCURSES_ACS('j') /* lower right corner */
+#define ACS_LTEE	NCURSES_ACS('t') /* tee pointing right */
+#define ACS_RTEE	NCURSES_ACS('u') /* tee pointing left */
+#define ACS_BTEE	NCURSES_ACS('v') /* tee pointing up */
+#define ACS_TTEE	NCURSES_ACS('w') /* tee pointing down */
+#define ACS_HLINE	NCURSES_ACS('q') /* horizontal line */
+#define ACS_VLINE	NCURSES_ACS('x') /* vertical line */
+#define ACS_PLUS	NCURSES_ACS('n') /* large plus or crossover */
+#define ACS_S1		NCURSES_ACS('o') /* scan line 1 */
+#define ACS_S9		NCURSES_ACS('s') /* scan line 9 */
+#define ACS_DIAMOND	NCURSES_ACS('`') /* diamond */
+#define ACS_CKBOARD	NCURSES_ACS('a') /* checker board (stipple) */
+#define ACS_DEGREE	NCURSES_ACS('f') /* degree symbol */
+#define ACS_PLMINUS	NCURSES_ACS('g') /* plus/minus */
+#define ACS_BULLET	NCURSES_ACS('~') /* bullet */
+/* Teletype 5410v1 symbols begin here */
+#define ACS_LARROW	NCURSES_ACS(',') /* arrow pointing left */
+#define ACS_RARROW	NCURSES_ACS('+') /* arrow pointing right */
+#define ACS_DARROW	NCURSES_ACS('.') /* arrow pointing down */
+#define ACS_UARROW	NCURSES_ACS('-') /* arrow pointing up */
+#define ACS_BOARD	NCURSES_ACS('h') /* board of squares */
+#define ACS_LANTERN	NCURSES_ACS('i') /* lantern symbol */
+#define ACS_BLOCK	NCURSES_ACS('0') /* solid square block */
+/*
+ * These aren't documented, but a lot of System Vs have them anyway
+ * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
+ * The ACS_names may not match AT&T's, our source didn't know them.
+ */
+#define ACS_S3		NCURSES_ACS('p') /* scan line 3 */
+#define ACS_S7		NCURSES_ACS('r') /* scan line 7 */
+#define ACS_LEQUAL	NCURSES_ACS('y') /* less/equal */
+#define ACS_GEQUAL	NCURSES_ACS('z') /* greater/equal */
+#define ACS_PI		NCURSES_ACS('{') /* Pi */
+#define ACS_NEQUAL	NCURSES_ACS('|') /* not equal */
+#define ACS_STERLING	NCURSES_ACS('}') /* UK pound sign */
+
+/*
+ * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
+ * is the right, b is the bottom, and l is the left.  t, r, b, and l might
+ * be B (blank), S (single), D (double), or T (thick).  The subset defined
+ * here only uses B and S.
+ */
+#define ACS_BSSB	ACS_ULCORNER
+#define ACS_SSBB	ACS_LLCORNER
+#define ACS_BBSS	ACS_URCORNER
+#define ACS_SBBS	ACS_LRCORNER
+#define ACS_SBSS	ACS_RTEE
+#define ACS_SSSB	ACS_LTEE
+#define ACS_SSBS	ACS_BTEE
+#define ACS_BSSS	ACS_TTEE
+#define ACS_BSBS	ACS_HLINE
+#define ACS_SBSB	ACS_VLINE
+#define ACS_SSSS	ACS_PLUS
+
+#undef	ERR
+#define ERR     (-1)
+
+#undef	OK
+#define OK      (0)
+
+/* values for the _flags member */
+#define _SUBWIN         0x01	/* is this a sub-window? */
+#define _ENDLINE        0x02	/* is the window flush right? */
+#define _FULLWIN        0x04	/* is the window full-screen? */
+#define _SCROLLWIN      0x08	/* bottom edge is at screen bottom? */
+#define _ISPAD	        0x10	/* is this window a pad? */
+#define _HASMOVED       0x20	/* has cursor moved since last refresh? */
+#define _WRAPPED        0x40	/* cursor was just wrappped */
+
+/*
+ * this value is used in the firstchar and lastchar fields to mark
+ * unchanged lines
+ */
+#define _NOCHANGE       -1
+
+/*
+ * this value is used in the oldindex field to mark lines created by insertions
+ * and scrolls.
+ */
+#define _NEWINDEX	-1
+
+typedef struct screen  SCREEN;
+typedef struct _win_st WINDOW;
+
+typedef	chtype	attr_t;		/* ...must be at least as wide as chtype */
+
+#if NCURSES_WIDECHAR
+
+#if 0
+#ifdef mblen			/* libutf8.h defines it w/o undefining first */
+#undef mblen
+#endif
+#include <libutf8.h>
+#endif
+
+#if 0
+#include <wchar.h>		/* ...to get mbstate_t, etc. */
+#endif
+
+#if 0
+typedef unsigned short wchar_t;
+#endif
+
+#if 0
+typedef unsigned int wint_t;
+#endif
+
+/*
+ * cchar_t stores an array of CCHARW_MAX wide characters.  The first is
+ * normally a spacing character.  The others are non-spacing.  If those
+ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
+#define CCHARW_MAX	5
+typedef struct
+{
+    attr_t	attr;
+    wchar_t	chars[CCHARW_MAX];
+#if 0
+#undef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 20150808
+    int		ext_color;	/* color pair, must be more than 16-bits */
+#endif
+}
+cchar_t;
+
+#endif /* NCURSES_WIDECHAR */
+
+#if !NCURSES_OPAQUE
+struct ldat;
+
+struct _win_st
+{
+	NCURSES_SIZE_T _cury, _curx; /* current cursor position */
+
+	/* window location and size */
+	NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */
+	NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */
+
+	short   _flags;		/* window state flags */
+
+	/* attribute tracking */
+	attr_t  _attrs;		/* current attribute for non-space character */
+	chtype  _bkgd;		/* current background char/attribute pair */
+
+	/* option values set by user */
+	bool	_notimeout;	/* no time out on function-key entry? */
+	bool	_clear;		/* consider all data in the window invalid? */
+	bool	_leaveok;	/* OK to not reset cursor on exit? */
+	bool	_scroll;	/* OK to scroll this window? */
+	bool	_idlok;		/* OK to use insert/delete line? */
+	bool	_idcok;		/* OK to use insert/delete char? */
+	bool	_immed;		/* window in immed mode? (not yet used) */
+	bool	_sync;		/* window in sync mode? */
+	bool	_use_keypad;	/* process function keys into KEY_ symbols? */
+	int	_delay;		/* 0 = nodelay, <0 = blocking, >0 = delay */
+
+	struct ldat *_line;	/* the actual line data */
+
+	/* global screen state */
+	NCURSES_SIZE_T _regtop;	/* top line of scrolling region */
+	NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */
+
+	/* these are used only if this is a sub-window */
+	int	_parx;		/* x coordinate of this window in parent */
+	int	_pary;		/* y coordinate of this window in parent */
+	WINDOW	*_parent;	/* pointer to parent if a sub-window */
+
+	/* these are used only if this is a pad */
+	struct pdat
+	{
+	    NCURSES_SIZE_T _pad_y,      _pad_x;
+	    NCURSES_SIZE_T _pad_top,    _pad_left;
+	    NCURSES_SIZE_T _pad_bottom, _pad_right;
+	} _pad;
+
+	NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
+
+#if NCURSES_WIDECHAR
+	cchar_t  _bkgrnd;	/* current background char/attribute pair */
+#if 0
+	int	_color;		/* current color-pair for non-space character */
+#endif
+#endif
+};
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * This is an extension to support events...
+ */
+#if 1
+#ifdef NCURSES_WGETCH_EVENTS
+#if !defined(__BEOS__) || defined(__HAIKU__)
+   /* Fix _nc_timed_wait() on BEOS... */
+#  define NCURSES_EVENT_VERSION	1
+#endif	/* !defined(__BEOS__) */
+
+/*
+ * Bits to set in _nc_event.data.flags
+ */
+#  define _NC_EVENT_TIMEOUT_MSEC	1
+#  define _NC_EVENT_FILE		2
+#  define _NC_EVENT_FILE_READABLE	2
+#  if 0					/* Not supported yet... */
+#    define _NC_EVENT_FILE_WRITABLE	4
+#    define _NC_EVENT_FILE_EXCEPTION	8
+#  endif
+
+typedef struct
+{
+    int type;
+    union
+    {
+	long timeout_msec;	/* _NC_EVENT_TIMEOUT_MSEC */
+	struct
+	{
+	    unsigned int flags;
+	    int fd;
+	    unsigned int result;
+	} fev;				/* _NC_EVENT_FILE */
+    } data;
+} _nc_event;
+
+typedef struct
+{
+    int count;
+    int result_flags;	/* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */
+    _nc_event *events[1];
+} _nc_eventlist;
+
+extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *);	/* experimental */
+extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *);/* experimental */
+
+#endif /* NCURSES_WGETCH_EVENTS */
+#endif /* NCURSES_EXT_FUNCS */
+
+/*
+ * GCC (and some other compilers) define '__attribute__'; we're using this
+ * macro to alert the compiler to flag inconsistencies in printf/scanf-like
+ * function calls.  Just in case '__attribute__' isn't defined, make a dummy.
+ * Old versions of G++ do not accept it anyway, at least not consistently with
+ * GCC.
+ */
+#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
+#define __attribute__(p) /* nothing */
+#endif
+
+/*
+ * We cannot define these in ncurses_cfg.h, since they require parameters to be
+ * passed (that is non-portable).  If you happen to be using gcc with warnings
+ * enabled, define
+ *	GCC_PRINTF
+ *	GCC_SCANF
+ * to improve checking of calls to printw(), etc.
+ */
+#ifndef GCC_PRINTFLIKE
+#if defined(GCC_PRINTF) && !defined(printf)
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#else
+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+#endif
+#endif
+
+#ifndef GCC_SCANFLIKE
+#if defined(GCC_SCANF) && !defined(scanf)
+#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+#else
+#define GCC_SCANFLIKE(fmt,var)  /*nothing*/
+#endif
+#endif
+
+#ifndef	GCC_NORETURN
+#define	GCC_NORETURN /* nothing */
+#endif
+
+#ifndef	GCC_UNUSED
+#define	GCC_UNUSED /* nothing */
+#endif
+
+/*
+ * Curses uses a helper function.  Define our type for this to simplify
+ * extending it for the sp-funcs feature.
+ */
+typedef int (*NCURSES_OUTC)(int);
+
+/*
+ * Function prototypes.  This is the complete X/Open Curses list of required
+ * functions.  Those marked `generated' will have sources generated from the
+ * macro definitions later in this file, in order to satisfy XPG4.2
+ * requirements.
+ */
+
+extern NCURSES_EXPORT(int) addch (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) addchnstr (const chtype *, int);		/* generated */
+extern NCURSES_EXPORT(int) addchstr (const chtype *);			/* generated */
+extern NCURSES_EXPORT(int) addnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) addstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attr_get (attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) attr_off (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_on (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_set (attr_t, NCURSES_PAIRS_T, void *);		/* generated */
+extern NCURSES_EXPORT(int) baudrate (void);				/* implemented */
+extern NCURSES_EXPORT(int) beep  (void);				/* implemented */
+extern NCURSES_EXPORT(int) bkgd (chtype);				/* generated */
+extern NCURSES_EXPORT(void) bkgdset (chtype);				/* generated */
+extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* generated */
+extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype);		/* generated */
+extern NCURSES_EXPORT(bool) can_change_color (void);			/* implemented */
+extern NCURSES_EXPORT(int) cbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) chgat (int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) clear (void);				/* generated */
+extern NCURSES_EXPORT(int) clearok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) clrtobot (void);				/* generated */
+extern NCURSES_EXPORT(int) clrtoeol (void);				/* generated */
+extern NCURSES_EXPORT(int) color_content (NCURSES_COLOR_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*,NCURSES_COLOR_T*);	/* implemented */
+extern NCURSES_EXPORT(int) color_set (NCURSES_PAIRS_T,void*);			/* generated */
+extern NCURSES_EXPORT(int) COLOR_PAIR (int);				/* generated */
+extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) curs_set (int);				/* implemented */
+extern NCURSES_EXPORT(int) def_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) def_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) delay_output (int);				/* implemented */
+extern NCURSES_EXPORT(int) delch (void);				/* generated */
+extern NCURSES_EXPORT(void) delscreen (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) delwin (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) deleteln (void);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) doupdate (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) echo (void);					/* implemented */
+extern NCURSES_EXPORT(int) echochar (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) erase (void);				/* generated */
+extern NCURSES_EXPORT(int) endwin (void);				/* implemented */
+extern NCURSES_EXPORT(char) erasechar (void);				/* implemented */
+extern NCURSES_EXPORT(void) filter (void);				/* implemented */
+extern NCURSES_EXPORT(int) flash (void);				/* implemented */
+extern NCURSES_EXPORT(int) flushinp (void);				/* implemented */
+extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getch (void);				/* generated */
+extern NCURSES_EXPORT(int) getnstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) getstr (char *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) getwin (FILE *);			/* implemented */
+extern NCURSES_EXPORT(int) halfdelay (int);				/* implemented */
+extern NCURSES_EXPORT(bool) has_colors (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_ic (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_il (void);				/* implemented */
+extern NCURSES_EXPORT(int) hline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(void) idcok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(int) idlok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(void) immedok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) inch (void);				/* generated */
+extern NCURSES_EXPORT(int) inchnstr (chtype *, int);			/* generated */
+extern NCURSES_EXPORT(int) inchstr (chtype *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) initscr (void);				/* implemented */
+extern NCURSES_EXPORT(int) init_color (NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T);	/* implemented */
+extern NCURSES_EXPORT(int) init_pair (NCURSES_PAIRS_T,NCURSES_COLOR_T,NCURSES_COLOR_T);		/* implemented */
+extern NCURSES_EXPORT(int) innstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insch (chtype);				/* generated */
+extern NCURSES_EXPORT(int) insdelln (int);				/* generated */
+extern NCURSES_EXPORT(int) insertln (void);				/* generated */
+extern NCURSES_EXPORT(int) insnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) instr (char *);				/* generated */
+extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(bool) isendwin (void);				/* implemented */
+extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int);		/* implemented */
+extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);		/* implemented */
+extern NCURSES_EXPORT(int) keypad (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char) killchar (void);				/* implemented */
+extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char *) longname (void);				/* implemented */
+extern NCURSES_EXPORT(int) meta (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) move (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) mvcur (int,int,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) mvdelch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int);		/* implemented */
+extern NCURSES_EXPORT(int) mvgetch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvgetstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(chtype) mvinch (int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvinsch (int, int, chtype);			/* generated */
+extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvinstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...)	/* implemented */
+		GCC_SCANFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */
+extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, NCURSES_PAIRS_T, const void *);/* generated */
+extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *);		/* generated */
+extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...)	/* implemented */
+		GCC_PRINTFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...)	/* implemented */
+		GCC_SCANFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) napms (int);					/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newpad (int,int);		       	/* implemented */
+extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int);	       	/* implemented */
+extern NCURSES_EXPORT(int) nl (void);					/* implemented */
+extern NCURSES_EXPORT(int) nocbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) noecho (void);				/* implemented */
+extern NCURSES_EXPORT(int) nonl (void);					/* implemented */
+extern NCURSES_EXPORT(void) noqiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) noraw (void);				/* implemented */
+extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) pair_content (NCURSES_PAIRS_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*);		/* implemented */
+extern NCURSES_EXPORT(int) PAIR_NUMBER (int);				/* generated */
+extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
+extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) printw (const char *,...)			/* implemented */
+		GCC_PRINTFLIKE(1,2);
+extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);			/* implemented */
+extern NCURSES_EXPORT(void) qiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) raw (void);					/* implemented */
+extern NCURSES_EXPORT(int) redrawwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) refresh (void);				/* generated */
+extern NCURSES_EXPORT(int) resetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) reset_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) reset_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int));	/* implemented */
+extern NCURSES_EXPORT(int) savetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...)		/* implemented */
+		GCC_SCANFLIKE(1,2);
+extern NCURSES_EXPORT(int) scr_dump (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_init (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scrl (int);					/* generated */
+extern NCURSES_EXPORT(int) scroll (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) scr_restore (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_set (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) setscrreg (int,int);				/* generated */
+extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attroff (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attron (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attrset (const chtype);			/* implemented */
+extern NCURSES_EXPORT(attr_t) slk_attr (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,NCURSES_PAIRS_T,void*);	/* implemented */
+extern NCURSES_EXPORT(int) slk_clear (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_color (NCURSES_PAIRS_T);				/* implemented */
+extern NCURSES_EXPORT(int) slk_init (int);				/* implemented */
+extern NCURSES_EXPORT(char *) slk_label (int);				/* implemented */
+extern NCURSES_EXPORT(int) slk_noutrefresh (void);			/* implemented */
+extern NCURSES_EXPORT(int) slk_refresh (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_restore (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_set (int,const char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) slk_touch (void);	      	       		/* implemented */
+extern NCURSES_EXPORT(int) standout (void);				/* generated */
+extern NCURSES_EXPORT(int) standend (void);				/* generated */
+extern NCURSES_EXPORT(int) start_color (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(int) syncok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) termattrs (void);				/* implemented */
+extern NCURSES_EXPORT(char *) termname (void);				/* implemented */
+extern NCURSES_EXPORT(void) timeout (int);				/* generated */
+extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) touchwin (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) typeahead (int);				/* implemented */
+extern NCURSES_EXPORT(int) ungetch (int);				/* implemented */
+extern NCURSES_EXPORT(int) untouchwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) use_env (bool);				/* implemented */
+extern NCURSES_EXPORT(void) use_tioctl (bool);				/* implemented */
+extern NCURSES_EXPORT(int) vidattr (chtype);				/* implemented */
+extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC);		/* implemented */
+extern NCURSES_EXPORT(int) vline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list);	/* implemented */
+extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list);	/* generated */
+extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list);	/* implemented */
+extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list);	/* generated */
+extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *);		/* generated */
+extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *);		/* generated */
+extern NCURSES_EXPORT(int) wattron (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattroff (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattrset (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *);		/* implemented */
+extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *);	/* implemented */
+extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, NCURSES_PAIRS_T, void *);	/* generated */
+extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype);			/* implemented */
+extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* implemented */
+extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, NCURSES_PAIRS_T, const void *);/* implemented */
+extern NCURSES_EXPORT(int) wclear (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wclrtobot (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,NCURSES_PAIRS_T,void*);		/* implemented */
+extern NCURSES_EXPORT(void) wcursyncup (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wdelch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wdeleteln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) werase (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int);		/* implemented */
+extern NCURSES_EXPORT(chtype) winch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) winsertln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *);		/* generated */
+extern NCURSES_EXPORT(int) winstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(2,3);
+extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wrefresh (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...)	/* implemented */
+		GCC_SCANFLIKE(2,3);
+extern NCURSES_EXPORT(int) wscrl (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wstandout (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wstandend (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) wsyncdown (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(void) wsyncup (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);		/* implemented */
+
+/*
+ * These are also declared in <term.h>:
+ */
+extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);		/* implemented */
+extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);		/* implemented */
+extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);		/* implemented */
+extern NCURSES_EXPORT(int) putp (const char *);				/* implemented */
+
+#if NCURSES_TPARM_VARARGS
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);	/* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG);	/* special */
+extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);	/* special */
+#endif
+
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */
+
+/*
+ * These functions are not in X/Open, but we use them in macro definitions:
+ */
+extern NCURSES_EXPORT(int) getattrs (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcurx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcury (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getparx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getpary (const WINDOW *);			/* generated */
+
+/*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
+ */
+#if !NCURSES_WIDECHAR
+#define vid_attr(a,pair,opts) vidattr(a)
+#endif
+
+/*
+ * These functions are extensions - not in X/Open Curses.
+ */
+#if 1
+#undef  NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 20150808
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+extern NCURSES_EXPORT(bool) is_term_resized (int, int);
+extern NCURSES_EXPORT(char *) keybound (int, int);
+extern NCURSES_EXPORT(const char *) curses_version (void);
+extern NCURSES_EXPORT(int) assume_default_colors (int, int);
+extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) get_escdelay (void);
+extern NCURSES_EXPORT(int) key_defined (const char *);
+extern NCURSES_EXPORT(int) keyok (int, bool);
+extern NCURSES_EXPORT(int) resize_term (int, int);
+extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
+extern NCURSES_EXPORT(int) use_default_colors (void);
+extern NCURSES_EXPORT(int) use_extended_names (bool);
+extern NCURSES_EXPORT(int) use_legacy_coding (int);
+extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
+extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
+extern NCURSES_EXPORT(void) nofilter(void);
+
+/*
+ * These extensions provide access to information stored in the WINDOW even
+ * when NCURSES_OPAQUE is set:
+ */
+extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_pad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetdelay (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
+
+#else
+#define curses_version() NCURSES_VERSION
+#endif
+
+/*
+ * Extra extension-functions, which pass a SCREEN pointer rather than using
+ * a global variable SP.
+ */
+#if 1
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 20150808
+#define NCURSES_SP_NAME(name) name##_sp
+
+/* Define the sp-funcs helper function */
+#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
+typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
+
+extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC */
+
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *);			/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, NCURSES_CONST char *, FILE *, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int));	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, NCURSES_PAIRS_T, void*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, NCURSES_PAIRS_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const char *, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+#if 1
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+#endif
+#else
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 0
+#define NCURSES_SP_NAME(name) name
+#define NCURSES_SP_OUTC NCURSES_OUTC
+#endif
+
+/* attributes */
+
+#define NCURSES_ATTR_SHIFT       8
+#define NCURSES_BITS(mask,shift) (NCURSES_CAST(chtype,(mask)) << ((shift) + NCURSES_ATTR_SHIFT))
+
+#define A_NORMAL	(1U - 1U)
+#define A_ATTRIBUTES	NCURSES_BITS(~(1U - 1U),0)
+#define A_CHARTEXT	(NCURSES_BITS(1U,0) - 1U)
+#define A_COLOR		NCURSES_BITS(((1U) << 8) - 1U,0)
+#define A_STANDOUT	NCURSES_BITS(1U,8)
+#define A_UNDERLINE	NCURSES_BITS(1U,9)
+#define A_REVERSE	NCURSES_BITS(1U,10)
+#define A_BLINK		NCURSES_BITS(1U,11)
+#define A_DIM		NCURSES_BITS(1U,12)
+#define A_BOLD		NCURSES_BITS(1U,13)
+#define A_ALTCHARSET	NCURSES_BITS(1U,14)
+#define A_INVIS		NCURSES_BITS(1U,15)
+#define A_PROTECT	NCURSES_BITS(1U,16)
+#define A_HORIZONTAL	NCURSES_BITS(1U,17)
+#define A_LEFT		NCURSES_BITS(1U,18)
+#define A_LOW		NCURSES_BITS(1U,19)
+#define A_RIGHT		NCURSES_BITS(1U,20)
+#define A_TOP		NCURSES_BITS(1U,21)
+#define A_VERTICAL	NCURSES_BITS(1U,22)
+
+#if 1
+#define A_ITALIC	NCURSES_BITS(1U,23)	/* ncurses extension */
+#endif
+
+/*
+ * Most of the pseudo functions are macros that either provide compatibility
+ * with older versions of curses, or provide inline functionality to improve
+ * performance.
+ */
+
+/*
+ * These pseudo functions are always implemented as macros:
+ */
+
+#define getyx(win,y,x)   	(y = getcury(win), x = getcurx(win))
+#define getbegyx(win,y,x)	(y = getbegy(win), x = getbegx(win))
+#define getmaxyx(win,y,x)	(y = getmaxy(win), x = getmaxx(win))
+#define getparyx(win,y,x)	(y = getpary(win), x = getparx(win))
+
+#define getsyx(y,x) do { if (newscr) { \
+			     if (is_leaveok(newscr)) \
+				(y) = (x) = -1; \
+			     else \
+				 getyx(newscr,(y), (x)); \
+			} \
+		    } while(0)
+
+#define setsyx(y,x) do { if (newscr) { \
+			    if ((y) == -1 && (x) == -1) \
+				leaveok(newscr, TRUE); \
+			    else { \
+				leaveok(newscr, FALSE); \
+				wmove(newscr, (y), (x)); \
+			    } \
+			} \
+		    } while(0)
+
+#ifndef NCURSES_NOMACROS
+
+/*
+ * These miscellaneous pseudo functions are provided for compatibility:
+ */
+
+#define wgetstr(w, s)		wgetnstr(w, s, -1)
+#define getnstr(s, n)		wgetnstr(stdscr, s, (n))
+
+#define setterm(term)		setupterm(term, 1, (int *)0)
+
+#define fixterm()		reset_prog_mode()
+#define resetterm()		reset_shell_mode()
+#define saveterm()		def_prog_mode()
+#define crmode()		cbreak()
+#define nocrmode()		nocbreak()
+#define gettmode()
+
+/* It seems older SYSV curses versions define these */
+#if !NCURSES_OPAQUE
+#define getattrs(win)		NCURSES_CAST(int, (win) ? (win)->_attrs : A_NORMAL)
+#define getcurx(win)		((win) ? (win)->_curx : ERR)
+#define getcury(win)		((win) ? (win)->_cury : ERR)
+#define getbegx(win)		((win) ? (win)->_begx : ERR)
+#define getbegy(win)		((win) ? (win)->_begy : ERR)
+#define getmaxx(win)		((win) ? ((win)->_maxx + 1) : ERR)
+#define getmaxy(win)		((win) ? ((win)->_maxy + 1) : ERR)
+#define getparx(win)		((win) ? (win)->_parx : ERR)
+#define getpary(win)		((win) ? (win)->_pary : ERR)
+#endif /* NCURSES_OPAQUE */
+
+#define wstandout(win)      	(wattrset(win,A_STANDOUT))
+#define wstandend(win)      	(wattrset(win,A_NORMAL))
+
+#define wattron(win,at)		wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
+#define wattroff(win,at)	wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WIDECHAR && 0
+#define wattrset(win,at)	((win) \
+				  ? ((win)->_color = NCURSES_CAST(int, PAIR_NUMBER(at)), \
+                                     (win)->_attrs = NCURSES_CAST(attr_t, at), \
+                                     OK) \
+				  : ERR)
+#else
+#define wattrset(win,at)        ((win) \
+				  ? ((win)->_attrs = NCURSES_CAST(attr_t, at), \
+				     OK) \
+				  : ERR)
+#endif
+#endif /* NCURSES_OPAQUE */
+
+#define scroll(win)		wscrl(win,1)
+
+#define touchwin(win)		wtouchln((win), 0, getmaxy(win), 1)
+#define touchline(win, s, c)	wtouchln((win), s, c, 1)
+#define untouchwin(win)		wtouchln((win), 0, getmaxy(win), 0)
+
+#define box(win, v, h)		wborder(win, v, v, h, h, 0, 0, 0, 0)
+#define border(ls, rs, ts, bs, tl, tr, bl, br)	wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
+#define hline(ch, n)		whline(stdscr, ch, (n))
+#define vline(ch, n)		wvline(stdscr, ch, (n))
+
+#define winstr(w, s)		winnstr(w, s, -1)
+#define winchstr(w, s)		winchnstr(w, s, -1)
+#define winsstr(w, s)		winsnstr(w, s, -1)
+
+#if !NCURSES_OPAQUE
+#define redrawwin(win)		wredrawln(win, 0, ((win) ? (win)->_maxy+1 : -1))
+#endif /* NCURSES_OPAQUE */
+
+#define waddstr(win,str)	waddnstr(win,str,-1)
+#define waddchstr(win,str)	waddchnstr(win,str,-1)
+
+/*
+ * These apply to the first 256 color pairs.
+ */
+#define COLOR_PAIR(n)	NCURSES_BITS((n), 0)
+#define PAIR_NUMBER(a)	(NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
+/*
+ * pseudo functions for standard screen
+ */
+
+#define addch(ch)		waddch(stdscr,(ch))
+#define addchnstr(str,n)	waddchnstr(stdscr,(str),(n))
+#define addchstr(str)		waddchstr(stdscr,(str))
+#define addnstr(str,n)		waddnstr(stdscr,(str),(n))
+#define addstr(str)		waddnstr(stdscr,(str),-1)
+#define attroff(at)		wattroff(stdscr,(at))
+#define attron(at)		wattron(stdscr,(at))
+#define attrset(at)		wattrset(stdscr,(at))
+#define attr_get(ap,cp,o)	wattr_get(stdscr,(ap),(cp),(o))
+#define attr_off(a,o)		wattr_off(stdscr,(a),(o))
+#define attr_on(a,o)		wattr_on(stdscr,(a),(o))
+#define attr_set(a,c,o)		wattr_set(stdscr,(a),(c),(o))
+#define bkgd(ch)		wbkgd(stdscr,(ch))
+#define bkgdset(ch)		wbkgdset(stdscr,(ch))
+#define chgat(n,a,c,o)		wchgat(stdscr,(n),(a),(c),(o))
+#define clear()			wclear(stdscr)
+#define clrtobot()		wclrtobot(stdscr)
+#define clrtoeol()		wclrtoeol(stdscr)
+#define color_set(c,o)		wcolor_set(stdscr,(c),(o))
+#define delch()			wdelch(stdscr)
+#define deleteln()		winsdelln(stdscr,-1)
+#define echochar(c)		wechochar(stdscr,(c))
+#define erase()			werase(stdscr)
+#define getch()			wgetch(stdscr)
+#define getstr(str)		wgetstr(stdscr,(str))
+#define inch()			winch(stdscr)
+#define inchnstr(s,n)		winchnstr(stdscr,(s),(n))
+#define inchstr(s)		winchstr(stdscr,(s))
+#define innstr(s,n)		winnstr(stdscr,(s),(n))
+#define insch(c)		winsch(stdscr,(c))
+#define insdelln(n)		winsdelln(stdscr,(n))
+#define insertln()		winsdelln(stdscr,1)
+#define insnstr(s,n)		winsnstr(stdscr,(s),(n))
+#define insstr(s)		winsstr(stdscr,(s))
+#define instr(s)		winstr(stdscr,(s))
+#define move(y,x)		wmove(stdscr,(y),(x))
+#define refresh()		wrefresh(stdscr)
+#define scrl(n)			wscrl(stdscr,(n))
+#define setscrreg(t,b)		wsetscrreg(stdscr,(t),(b))
+#define standend()		wstandend(stdscr)
+#define standout()		wstandout(stdscr)
+#define timeout(delay)		wtimeout(stdscr,(delay))
+#define wdeleteln(win)		winsdelln(win,-1)
+#define winsertln(win)		winsdelln(win,1)
+
+/*
+ * mv functions
+ */
+
+#define mvwaddch(win,y,x,ch)		(wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
+#define mvwaddchnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
+#define mvwaddchstr(win,y,x,str)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
+#define mvwaddnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
+#define mvwaddstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
+#define mvwdelch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
+#define mvwchgat(win,y,x,n,a,c,o)	(wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
+#define mvwgetch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
+#define mvwgetnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : wgetnstr((win),(str),(n)))
+#define mvwgetstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : wgetstr((win),(str)))
+#define mvwhline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : whline((win),(c),(n)))
+#define mvwinch(win,y,x)		(wmove((win),(y),(x)) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
+#define mvwinchnstr(win,y,x,s,n)	(wmove((win),(y),(x)) == ERR ? ERR : winchnstr((win),(s),(n)))
+#define mvwinchstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winchstr((win),(s)))
+#define mvwinnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winnstr((win),(s),(n)))
+#define mvwinsch(win,y,x,c)		(wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
+#define mvwinsnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
+#define mvwinsstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
+#define mvwinstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
+#define mvwvline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
+
+#define mvaddch(y,x,ch)			mvwaddch(stdscr,(y),(x),(ch))
+#define mvaddchnstr(y,x,str,n)		mvwaddchnstr(stdscr,(y),(x),(str),(n))
+#define mvaddchstr(y,x,str)		mvwaddchstr(stdscr,(y),(x),(str))
+#define mvaddnstr(y,x,str,n)		mvwaddnstr(stdscr,(y),(x),(str),(n))
+#define mvaddstr(y,x,str)		mvwaddstr(stdscr,(y),(x),(str))
+#define mvchgat(y,x,n,a,c,o)		mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
+#define mvdelch(y,x)			mvwdelch(stdscr,(y),(x))
+#define mvgetch(y,x)			mvwgetch(stdscr,(y),(x))
+#define mvgetnstr(y,x,str,n)		mvwgetnstr(stdscr,(y),(x),(str),(n))
+#define mvgetstr(y,x,str)		mvwgetstr(stdscr,(y),(x),(str))
+#define mvhline(y,x,c,n)		mvwhline(stdscr,(y),(x),(c),(n))
+#define mvinch(y,x)			mvwinch(stdscr,(y),(x))
+#define mvinchnstr(y,x,s,n)		mvwinchnstr(stdscr,(y),(x),(s),(n))
+#define mvinchstr(y,x,s)		mvwinchstr(stdscr,(y),(x),(s))
+#define mvinnstr(y,x,s,n)		mvwinnstr(stdscr,(y),(x),(s),(n))
+#define mvinsch(y,x,c)			mvwinsch(stdscr,(y),(x),(c))
+#define mvinsnstr(y,x,s,n)		mvwinsnstr(stdscr,(y),(x),(s),(n))
+#define mvinsstr(y,x,s)			mvwinsstr(stdscr,(y),(x),(s))
+#define mvinstr(y,x,s)			mvwinstr(stdscr,(y),(x),(s))
+#define mvvline(y,x,c,n)		mvwvline(stdscr,(y),(x),(c),(n))
+
+/*
+ * Some wide-character functions can be implemented without the extensions.
+ */
+#if !NCURSES_OPAQUE
+#define getbkgd(win)                    ((win) ? ((win)->_bkgd) : 0)
+#endif /* NCURSES_OPAQUE */
+
+#define slk_attr_off(a,v)		((v) ? ERR : slk_attroff(a))
+#define slk_attr_on(a,v)		((v) ? ERR : slk_attron(a))
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WIDECHAR && 0
+#define wattr_set(win,a,p,opts)		(((win) \
+					  ? ((win)->_attrs = ((a) & ~A_COLOR), \
+					     (win)->_color = (p)) \
+					  : OK), \
+					 OK)
+#define wattr_get(win,a,p,opts)		((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+					 (void)(((p) != (void *)0) ? (*(p) = (NCURSES_PAIRS_T) ((win) ? (win)->_color : 0)) : OK), \
+					 OK)
+#else
+#define wattr_set(win,a,p,opts)		(((win) \
+					  ? ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p))) \
+					  : OK), \
+					 OK)
+#define wattr_get(win,a,p,opts)		((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+					 (void)(((p) != (void *)0) ? (*(p) = (NCURSES_PAIRS_T) ((win) ? PAIR_NUMBER((win)->_attrs) : 0)) : OK), \
+					 OK)
+#endif
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
+ * varargs.h.  It adds new calls vw_printw/vw_scanw, which are supposed to
+ * use POSIX stdarg.h.  The ncurses versions of vwprintw/vwscanw already
+ * use stdarg.h, so...
+ */
+#define vw_printw		vwprintw
+#define vw_scanw		vwscanw
+
+/*
+ * Export fallback function for use in C++ binding.
+ */
+#if !1
+#define vsscanf(a,b,c) _nc_vsscanf(a,b,c)
+NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
+#endif
+
+/*
+ * These macros are extensions - not in X/Open Curses.
+ */
+#if 1
+#if !NCURSES_OPAQUE
+#define is_cleared(win)		((win) ? (win)->_clear : FALSE)
+#define is_idcok(win)		((win) ? (win)->_idcok : FALSE)
+#define is_idlok(win)		((win) ? (win)->_idlok : FALSE)
+#define is_immedok(win)		((win) ? (win)->_immed : FALSE)
+#define is_keypad(win)		((win) ? (win)->_use_keypad : FALSE)
+#define is_leaveok(win)		((win) ? (win)->_leaveok : FALSE)
+#define is_nodelay(win)		((win) ? ((win)->_delay == 0) : FALSE)
+#define is_notimeout(win)	((win) ? (win)->_notimeout : FALSE)
+#define is_pad(win)		((win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
+#define is_scrollok(win)	((win) ? (win)->_scroll : FALSE)
+#define is_subwin(win)		((win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
+#define is_syncok(win)		((win) ? (win)->_sync : FALSE)
+#define wgetdelay(win)		((win) ? (win)->_delay : 0)
+#define wgetparent(win)		((win) ? (win)->_parent : 0)
+#define wgetscrreg(win,t,b)	((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
+#endif
+#endif
+
+#endif /* NCURSES_NOMACROS */
+
+/*
+ * Public variables.
+ *
+ * Notes:
+ *	a. ESCDELAY was an undocumented feature under AIX curses.
+ *	   It gives the ESC expire time in milliseconds.
+ *	b. ttytype is needed for backward compatibility
+ */
+#if NCURSES_REENTRANT
+
+NCURSES_WRAPPED_VAR(WINDOW *, curscr);
+NCURSES_WRAPPED_VAR(WINDOW *, newscr);
+NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
+NCURSES_WRAPPED_VAR(char *, ttytype);
+NCURSES_WRAPPED_VAR(int, COLORS);
+NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
+NCURSES_WRAPPED_VAR(int, COLS);
+NCURSES_WRAPPED_VAR(int, ESCDELAY);
+NCURSES_WRAPPED_VAR(int, LINES);
+NCURSES_WRAPPED_VAR(int, TABSIZE);
+
+#define curscr      NCURSES_PUBLIC_VAR(curscr())
+#define newscr      NCURSES_PUBLIC_VAR(newscr())
+#define stdscr      NCURSES_PUBLIC_VAR(stdscr())
+#define ttytype     NCURSES_PUBLIC_VAR(ttytype())
+#define COLORS      NCURSES_PUBLIC_VAR(COLORS())
+#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS())
+#define COLS        NCURSES_PUBLIC_VAR(COLS())
+#define ESCDELAY    NCURSES_PUBLIC_VAR(ESCDELAY())
+#define LINES       NCURSES_PUBLIC_VAR(LINES())
+#define TABSIZE     NCURSES_PUBLIC_VAR(TABSIZE())
+
+#else
+
+extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT_VAR(int) COLORS;
+extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
+extern NCURSES_EXPORT_VAR(int) COLS;
+extern NCURSES_EXPORT_VAR(int) ESCDELAY;
+extern NCURSES_EXPORT_VAR(int) LINES;
+extern NCURSES_EXPORT_VAR(int) TABSIZE;
+
+#endif
+
+/*
+ * Pseudo-character tokens outside ASCII range.  The curses wgetch() function
+ * will return any given one of these only if the corresponding k- capability
+ * is defined in your terminal's terminfo entry.
+ *
+ * Some keys (KEY_A1, etc) are arranged like this:
+ *	a1     up    a3
+ *	left   b2    right
+ *	c1     down  c3
+ *
+ * A few key codes do not depend upon the terminfo entry.
+ */
+#define KEY_CODE_YES	0400		/* A wchar_t contains a key code */
+#define KEY_MIN		0401		/* Minimum curses key */
+#define KEY_BREAK	0401		/* Break key (unreliable) */
+#define KEY_SRESET	0530		/* Soft (partial) reset (unreliable) */
+#define KEY_RESET	0531		/* Reset or hard reset (unreliable) */
+/*
+ * These definitions were generated by ./MKkey_defs.sh ./Caps
+ */
+#define KEY_DOWN	0402		/* down-arrow key */
+#define KEY_UP		0403		/* up-arrow key */
+#define KEY_LEFT	0404		/* left-arrow key */
+#define KEY_RIGHT	0405		/* right-arrow key */
+#define KEY_HOME	0406		/* home key */
+#define KEY_BACKSPACE	0407		/* backspace key */
+#define KEY_F0		0410		/* Function keys.  Space for 64 */
+#define KEY_F(n)	(KEY_F0+(n))	/* Value of function key n */
+#define KEY_DL		0510		/* delete-line key */
+#define KEY_IL		0511		/* insert-line key */
+#define KEY_DC		0512		/* delete-character key */
+#define KEY_IC		0513		/* insert-character key */
+#define KEY_EIC		0514		/* sent by rmir or smir in insert mode */
+#define KEY_CLEAR	0515		/* clear-screen or erase key */
+#define KEY_EOS		0516		/* clear-to-end-of-screen key */
+#define KEY_EOL		0517		/* clear-to-end-of-line key */
+#define KEY_SF		0520		/* scroll-forward key */
+#define KEY_SR		0521		/* scroll-backward key */
+#define KEY_NPAGE	0522		/* next-page key */
+#define KEY_PPAGE	0523		/* previous-page key */
+#define KEY_STAB	0524		/* set-tab key */
+#define KEY_CTAB	0525		/* clear-tab key */
+#define KEY_CATAB	0526		/* clear-all-tabs key */
+#define KEY_ENTER	0527		/* enter/send key */
+#define KEY_PRINT	0532		/* print key */
+#define KEY_LL		0533		/* lower-left key (home down) */
+#define KEY_A1		0534		/* upper left of keypad */
+#define KEY_A3		0535		/* upper right of keypad */
+#define KEY_B2		0536		/* center of keypad */
+#define KEY_C1		0537		/* lower left of keypad */
+#define KEY_C3		0540		/* lower right of keypad */
+#define KEY_BTAB	0541		/* back-tab key */
+#define KEY_BEG		0542		/* begin key */
+#define KEY_CANCEL	0543		/* cancel key */
+#define KEY_CLOSE	0544		/* close key */
+#define KEY_COMMAND	0545		/* command key */
+#define KEY_COPY	0546		/* copy key */
+#define KEY_CREATE	0547		/* create key */
+#define KEY_END		0550		/* end key */
+#define KEY_EXIT	0551		/* exit key */
+#define KEY_FIND	0552		/* find key */
+#define KEY_HELP	0553		/* help key */
+#define KEY_MARK	0554		/* mark key */
+#define KEY_MESSAGE	0555		/* message key */
+#define KEY_MOVE	0556		/* move key */
+#define KEY_NEXT	0557		/* next key */
+#define KEY_OPEN	0560		/* open key */
+#define KEY_OPTIONS	0561		/* options key */
+#define KEY_PREVIOUS	0562		/* previous key */
+#define KEY_REDO	0563		/* redo key */
+#define KEY_REFERENCE	0564		/* reference key */
+#define KEY_REFRESH	0565		/* refresh key */
+#define KEY_REPLACE	0566		/* replace key */
+#define KEY_RESTART	0567		/* restart key */
+#define KEY_RESUME	0570		/* resume key */
+#define KEY_SAVE	0571		/* save key */
+#define KEY_SBEG	0572		/* shifted begin key */
+#define KEY_SCANCEL	0573		/* shifted cancel key */
+#define KEY_SCOMMAND	0574		/* shifted command key */
+#define KEY_SCOPY	0575		/* shifted copy key */
+#define KEY_SCREATE	0576		/* shifted create key */
+#define KEY_SDC		0577		/* shifted delete-character key */
+#define KEY_SDL		0600		/* shifted delete-line key */
+#define KEY_SELECT	0601		/* select key */
+#define KEY_SEND	0602		/* shifted end key */
+#define KEY_SEOL	0603		/* shifted clear-to-end-of-line key */
+#define KEY_SEXIT	0604		/* shifted exit key */
+#define KEY_SFIND	0605		/* shifted find key */
+#define KEY_SHELP	0606		/* shifted help key */
+#define KEY_SHOME	0607		/* shifted home key */
+#define KEY_SIC		0610		/* shifted insert-character key */
+#define KEY_SLEFT	0611		/* shifted left-arrow key */
+#define KEY_SMESSAGE	0612		/* shifted message key */
+#define KEY_SMOVE	0613		/* shifted move key */
+#define KEY_SNEXT	0614		/* shifted next key */
+#define KEY_SOPTIONS	0615		/* shifted options key */
+#define KEY_SPREVIOUS	0616		/* shifted previous key */
+#define KEY_SPRINT	0617		/* shifted print key */
+#define KEY_SREDO	0620		/* shifted redo key */
+#define KEY_SREPLACE	0621		/* shifted replace key */
+#define KEY_SRIGHT	0622		/* shifted right-arrow key */
+#define KEY_SRSUME	0623		/* shifted resume key */
+#define KEY_SSAVE	0624		/* shifted save key */
+#define KEY_SSUSPEND	0625		/* shifted suspend key */
+#define KEY_SUNDO	0626		/* shifted undo key */
+#define KEY_SUSPEND	0627		/* suspend key */
+#define KEY_UNDO	0630		/* undo key */
+#define KEY_MOUSE	0631		/* Mouse event has occurred */
+#define KEY_RESIZE	0632		/* Terminal resize event */
+#define KEY_EVENT	0633		/* We were interrupted by an event */
+
+#define KEY_MAX		0777		/* Maximum key value is 0633 */
+/* $Id: curses.tail,v 1.21 2011/10/29 20:03:22 tom Exp $ */
+/*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+ * (see that file for the relevant copyright).
+ */
+
+/* mouse interface */
+
+#if NCURSES_MOUSE_VERSION > 1
+#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5))
+#else
+#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 6))
+#endif
+
+#define	NCURSES_BUTTON_RELEASED	001L
+#define	NCURSES_BUTTON_PRESSED	002L
+#define	NCURSES_BUTTON_CLICKED	004L
+#define	NCURSES_DOUBLE_CLICKED	010L
+#define	NCURSES_TRIPLE_CLICKED	020L
+#define	NCURSES_RESERVED_EVENT	040L
+
+/* event masks */
+#define	BUTTON1_RELEASED	NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED)
+#define	BUTTON1_PRESSED		NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED)
+#define	BUTTON1_CLICKED		NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_CLICKED)
+#define	BUTTON1_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON1_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON2_RELEASED	NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_RELEASED)
+#define	BUTTON2_PRESSED		NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_PRESSED)
+#define	BUTTON2_CLICKED		NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_CLICKED)
+#define	BUTTON2_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON2_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON3_RELEASED	NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_RELEASED)
+#define	BUTTON3_PRESSED		NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_PRESSED)
+#define	BUTTON3_CLICKED		NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_CLICKED)
+#define	BUTTON3_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON3_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON4_RELEASED	NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_RELEASED)
+#define	BUTTON4_PRESSED		NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_PRESSED)
+#define	BUTTON4_CLICKED		NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_CLICKED)
+#define	BUTTON4_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON4_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_TRIPLE_CLICKED)
+
+/*
+ * In 32 bits the version-1 scheme does not provide enough space for a 5th
+ * button, unless we choose to change the ABI by omitting the reserved-events.
+ */
+#if NCURSES_MOUSE_VERSION > 1
+
+#define	BUTTON5_RELEASED	NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_RELEASED)
+#define	BUTTON5_PRESSED		NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_PRESSED)
+#define	BUTTON5_CLICKED		NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_CLICKED)
+#define	BUTTON5_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON5_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON_CTRL		NCURSES_MOUSE_MASK(6, 0001L)
+#define	BUTTON_SHIFT		NCURSES_MOUSE_MASK(6, 0002L)
+#define	BUTTON_ALT		NCURSES_MOUSE_MASK(6, 0004L)
+#define	REPORT_MOUSE_POSITION	NCURSES_MOUSE_MASK(6, 0010L)
+
+#else
+
+#define	BUTTON1_RESERVED_EVENT	NCURSES_MOUSE_MASK(1, NCURSES_RESERVED_EVENT)
+#define	BUTTON2_RESERVED_EVENT	NCURSES_MOUSE_MASK(2, NCURSES_RESERVED_EVENT)
+#define	BUTTON3_RESERVED_EVENT	NCURSES_MOUSE_MASK(3, NCURSES_RESERVED_EVENT)
+#define	BUTTON4_RESERVED_EVENT	NCURSES_MOUSE_MASK(4, NCURSES_RESERVED_EVENT)
+
+#define	BUTTON_CTRL		NCURSES_MOUSE_MASK(5, 0001L)
+#define	BUTTON_SHIFT		NCURSES_MOUSE_MASK(5, 0002L)
+#define	BUTTON_ALT		NCURSES_MOUSE_MASK(5, 0004L)
+#define	REPORT_MOUSE_POSITION	NCURSES_MOUSE_MASK(5, 0010L)
+
+#endif
+
+#define	ALL_MOUSE_EVENTS	(REPORT_MOUSE_POSITION - 1)
+
+/* macros to extract single event-bits from masks */
+#define	BUTTON_RELEASE(e, x)		((e) & NCURSES_MOUSE_MASK(x, 001))
+#define	BUTTON_PRESS(e, x)		((e) & NCURSES_MOUSE_MASK(x, 002))
+#define	BUTTON_CLICK(e, x)		((e) & NCURSES_MOUSE_MASK(x, 004))
+#define	BUTTON_DOUBLE_CLICK(e, x)	((e) & NCURSES_MOUSE_MASK(x, 010))
+#define	BUTTON_TRIPLE_CLICK(e, x)	((e) & NCURSES_MOUSE_MASK(x, 020))
+#define	BUTTON_RESERVED_EVENT(e, x)	((e) & NCURSES_MOUSE_MASK(x, 040))
+
+typedef struct
+{
+    short id;		/* ID to distinguish multiple devices */
+    int x, y, z;	/* event coordinates (character-cell) */
+    mmask_t bstate;	/* button state bits */
+}
+MEVENT;
+
+extern NCURSES_EXPORT(bool)    has_mouse(void);
+extern NCURSES_EXPORT(int)     getmouse (MEVENT *);
+extern NCURSES_EXPORT(int)     ungetmouse (MEVENT *);
+extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *);
+extern NCURSES_EXPORT(bool)    wenclose (const WINDOW *, int, int);
+extern NCURSES_EXPORT(int)     mouseinterval (int);
+extern NCURSES_EXPORT(bool)    wmouse_trafo (const WINDOW*, int*, int*, bool);
+extern NCURSES_EXPORT(bool)    mouse_trafo (int*, int*, bool);              /* generated */
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(bool)    NCURSES_SP_NAME(has_mouse) (SCREEN*);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(getmouse) (SCREEN*, MEVENT *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(ungetmouse) (SCREEN*,MEVENT *);
+extern NCURSES_EXPORT(mmask_t) NCURSES_SP_NAME(mousemask) (SCREEN*, mmask_t, mmask_t *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(mouseinterval) (SCREEN*, int);
+#endif
+
+#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
+
+/* other non-XSI functions */
+
+extern NCURSES_EXPORT(int) mcprint (char *, int);	/* direct data to printer */
+extern NCURSES_EXPORT(int) has_key (int);		/* do we have given key? */
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(has_key) (SCREEN*, int);    /* do we have given key? */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mcprint) (SCREEN*, char *, int);	/* direct data to printer */
+#endif
+
+/* Debugging : use with libncurses_g.a */
+
+extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2);
+extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *);
+extern NCURSES_EXPORT(char *) _traceattr (attr_t);
+extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype);
+extern NCURSES_EXPORT(char *) _nc_tracebits (void);
+extern NCURSES_EXPORT(char *) _tracechar (int);
+extern NCURSES_EXPORT(char *) _tracechtype (chtype);
+extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
+#if NCURSES_WIDECHAR
+#define _tracech_t		_tracecchar_t
+extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
+#define _tracech_t2		_tracecchar_t2
+extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *);
+#else
+#define _tracech_t		_tracechtype
+#define _tracech_t2		_tracechtype2
+#endif
+extern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *);
+extern NCURSES_EXPORT(void) trace (const unsigned int);
+
+/* trace masks */
+#define TRACE_DISABLE	0x0000	/* turn off tracing */
+#define TRACE_TIMES	0x0001	/* trace user and system times of updates */
+#define TRACE_TPUTS	0x0002	/* trace tputs calls */
+#define TRACE_UPDATE	0x0004	/* trace update actions, old & new screens */
+#define TRACE_MOVE	0x0008	/* trace cursor moves and scrolls */
+#define TRACE_CHARPUT	0x0010	/* trace all character outputs */
+#define TRACE_ORDINARY	0x001F	/* trace all update actions */
+#define TRACE_CALLS	0x0020	/* trace all curses calls */
+#define TRACE_VIRTPUT	0x0040	/* trace virtual character puts */
+#define TRACE_IEVENT	0x0080	/* trace low-level input processing */
+#define TRACE_BITS	0x0100	/* trace state of TTY control bits */
+#define TRACE_ICALLS	0x0200	/* trace internal/nested calls */
+#define TRACE_CCALLS	0x0400	/* trace per-character calls */
+#define TRACE_DATABASE	0x0800	/* trace read/write of terminfo/termcap data */
+#define TRACE_ATTRS	0x1000	/* trace attribute updates */
+
+#define TRACE_SHIFT	13	/* number of bits in the trace masks */
+#define TRACE_MAXIMUM	((1 << TRACE_SHIFT) - 1) /* maximum trace level */
+
+#if defined(TRACE) || defined(NCURSES_TEST)
+extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable;		/* enable optimizations */
+extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
+#define OPTIMIZE_MVCUR		0x01	/* cursor movement optimization */
+#define OPTIMIZE_HASHMAP	0x02	/* diff hashing to detect scrolls */
+#define OPTIMIZE_SCROLL		0x04	/* scroll optimization */
+#define OPTIMIZE_ALL		0xff	/* enable all optimizations (dflt) */
+#endif
+
+#include <unctrl.h>
+
+#ifdef __cplusplus
+
+#ifndef NCURSES_NOMACROS
+
+/* these names conflict with STL */
+#undef box
+#undef clear
+#undef erase
+#undef move
+#undef refresh
+
+#endif /* NCURSES_NOMACROS */
+
+}
+#endif
+
+#endif /* __NCURSES_H */
diff --git a/include/curses.head b/include/curses.head
new file mode 100644
index 0000000..1b23e5f
--- /dev/null
+++ b/include/curses.head
@@ -0,0 +1,1422 @@
+/****************************************************************************
+ * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Thomas E. Dickey                        1996-on                 *
+ ****************************************************************************/
+
+/* $Id: curses.h.in,v 1.241 2014/08/09 20:39:44 tom Exp $ */
+
+#ifndef __NCURSES_H
+#define __NCURSES_H
+
+#define CURSES 1
+#define CURSES_H 1
+
+/* These are defined only in curses.h, and are used for conditional compiles */
+#define NCURSES_VERSION_MAJOR 6
+#define NCURSES_VERSION_MINOR 0
+#define NCURSES_VERSION_PATCH 20150808
+
+/* This is defined in more than one ncurses header, for identification */
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.0"
+
+/*
+ * Identify the mouse encoding version.
+ */
+#define NCURSES_MOUSE_VERSION 2
+
+/*
+ * Definitions to facilitate DLL's.
+ */
+#include <ncurses_dll.h>
+
+#if 1
+#include <stdint.h>
+#endif
+
+/*
+ * User-definable tweak to disable the include of <stdbool.h>.
+ */
+#ifndef NCURSES_ENABLE_STDBOOL_H
+#define NCURSES_ENABLE_STDBOOL_H 1
+#endif
+
+/*
+ * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses
+ * configured using --disable-macros.
+ */
+#ifndef NCURSES_ATTR_T
+#define NCURSES_ATTR_T int
+#endif
+
+/*
+ * Expands to 'const' if ncurses is configured using --enable-const.  Note that
+ * doing so makes it incompatible with other implementations of X/Open Curses.
+ */
+#undef  NCURSES_CONST
+#define NCURSES_CONST const
+
+#undef NCURSES_INLINE
+#define NCURSES_INLINE inline
+
+/*
+ * The internal type used for color values, and for color-pairs.  The latter
+ * allows the curses library to enumerate the combinations of foreground and
+ * background colors used by an application, and is normally the product of the
+ * total foreground and background colors.
+ *
+ * X/Open uses "short" for both of these types, ultimately because they are
+ * numbers from the terminal database, which uses 16-bit signed values.
+ */
+#undef	NCURSES_COLOR_T
+#define	NCURSES_COLOR_T short
+
+#undef	NCURSES_PAIRS_T
+#define	NCURSES_PAIRS_T short
+
+/*
+ * Definition used to make WINDOW and similar structs opaque.
+ */
+#ifndef NCURSES_OPAQUE
+#define NCURSES_OPAQUE 0
+#endif
+
+/*
+ * The reentrant code relies on the opaque setting, but adds features.
+ */
+#ifndef NCURSES_REENTRANT
+#define NCURSES_REENTRANT 0
+#endif
+
+/*
+ * Control whether bindings for interop support are added.
+ */
+#undef	NCURSES_INTEROP_FUNCS
+#define	NCURSES_INTEROP_FUNCS 1
+
+/*
+ * The internal type used for window dimensions.
+ */
+#undef	NCURSES_SIZE_T
+#define	NCURSES_SIZE_T short
+
+/*
+ * Control whether tparm() supports varargs or fixed-parameter list.
+ */
+#undef NCURSES_TPARM_VARARGS
+#define NCURSES_TPARM_VARARGS 1
+
+/*
+ * Control type used for tparm's arguments.  While X/Open equates long and
+ * char* values, this is not always workable for 64-bit platforms.
+ */
+#undef NCURSES_TPARM_ARG
+#define NCURSES_TPARM_ARG intptr_t
+
+/*
+ * NCURSES_CH_T is used in building the library, but not used otherwise in
+ * this header file, since that would make the normal/wide-character versions
+ * of the header incompatible.
+ */
+#undef	NCURSES_CH_T
+#define NCURSES_CH_T chtype
+
+#if 1 && defined(_LP64)
+typedef unsigned chtype;
+typedef unsigned mmask_t;
+#else
+typedef uint32_t chtype;
+typedef uint32_t mmask_t;
+#endif
+
+/*
+ * We need FILE, etc.  Include this before checking any feature symbols.
+ */
+#include <stdio.h>
+
+/*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+ * conflicting) when _XOPEN_SOURCE is 500 or greater.  If NCURSES_WIDECHAR is
+ * not already defined, e.g., if the platform relies upon nonstandard feature
+ * test macros, define it at this point if the standard feature test macros
+ * indicate that it should be defined.
+ */
+#ifndef NCURSES_WIDECHAR
+#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
+#define NCURSES_WIDECHAR 1
+#else
+#define NCURSES_WIDECHAR 0
+#endif
+#endif /* NCURSES_WIDECHAR */
+
+#include <stdarg.h>	/* we need va_list */
+#if NCURSES_WIDECHAR
+#include <stddef.h>	/* we want wchar_t */
+#endif
+
+/* X/Open and SVr4 specify that curses implements 'bool'.  However, C++ may also
+ * implement it.  If so, we must use the C++ compiler's type to avoid conflict
+ * with other interfaces.
+ *
+ * A further complication is that <stdbool.h> may declare 'bool' to be a
+ * different type, such as an enum which is not necessarily compatible with
+ * C++.  If we have <stdbool.h>, make 'bool' a macro, so users may #undef it.
+ * Otherwise, let it remain a typedef to avoid conflicts with other #define's.
+ * In either case, make a typedef for NCURSES_BOOL which can be used if needed
+ * from either C or C++.
+ */
+
+#undef TRUE
+#define TRUE    1
+
+#undef FALSE
+#define FALSE   0
+
+typedef unsigned NCURSES_BOOL;
+
+#if defined(__cplusplus)	/* __cplusplus, etc. */
+
+/* use the C++ compiler's bool type */
+#define NCURSES_BOOL bool
+
+#else			/* c89, c99, etc. */
+
+#if NCURSES_ENABLE_STDBOOL_H
+#include <stdbool.h>
+/* use whatever the C compiler decides bool really is */
+#define NCURSES_BOOL bool
+#else
+/* there is no predefined bool - use our own */
+#undef bool
+#define bool NCURSES_BOOL
+#endif
+
+#endif /* !__cplusplus, etc. */
+
+#ifdef __cplusplus
+extern "C" {
+#define NCURSES_CAST(type,value) static_cast<type>(value)
+#else
+#define NCURSES_CAST(type,value) (type)(value)
+#endif
+
+/*
+ * X/Open attributes.  In the ncurses implementation, they are identical to the
+ * A_ attributes.
+ */
+#define WA_ATTRIBUTES	A_ATTRIBUTES
+#define WA_NORMAL	A_NORMAL
+#define WA_STANDOUT	A_STANDOUT
+#define WA_UNDERLINE	A_UNDERLINE
+#define WA_REVERSE	A_REVERSE
+#define WA_BLINK	A_BLINK
+#define WA_DIM		A_DIM
+#define WA_BOLD		A_BOLD
+#define WA_ALTCHARSET	A_ALTCHARSET
+#define WA_INVIS	A_INVIS
+#define WA_PROTECT	A_PROTECT
+#define WA_HORIZONTAL	A_HORIZONTAL
+#define WA_LEFT		A_LEFT
+#define WA_LOW		A_LOW
+#define WA_RIGHT	A_RIGHT
+#define WA_TOP		A_TOP
+#define WA_VERTICAL	A_VERTICAL
+
+#if 1
+#define WA_ITALIC	A_ITALIC	/* ncurses extension */
+#endif
+
+/* colors */
+#define COLOR_BLACK	0
+#define COLOR_RED	1
+#define COLOR_GREEN	2
+#define COLOR_YELLOW	3
+#define COLOR_BLUE	4
+#define COLOR_MAGENTA	5
+#define COLOR_CYAN	6
+#define COLOR_WHITE	7
+
+/* line graphics */
+
+#if 0 || NCURSES_REENTRANT
+NCURSES_WRAPPED_VAR(chtype*, acs_map);
+#define acs_map NCURSES_PUBLIC_VAR(acs_map())
+#else
+extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+#endif
+
+#define NCURSES_ACS(c)	(acs_map[NCURSES_CAST(unsigned char,(c))])
+
+/* VT100 symbols begin here */
+#define ACS_ULCORNER	NCURSES_ACS('l') /* upper left corner */
+#define ACS_LLCORNER	NCURSES_ACS('m') /* lower left corner */
+#define ACS_URCORNER	NCURSES_ACS('k') /* upper right corner */
+#define ACS_LRCORNER	NCURSES_ACS('j') /* lower right corner */
+#define ACS_LTEE	NCURSES_ACS('t') /* tee pointing right */
+#define ACS_RTEE	NCURSES_ACS('u') /* tee pointing left */
+#define ACS_BTEE	NCURSES_ACS('v') /* tee pointing up */
+#define ACS_TTEE	NCURSES_ACS('w') /* tee pointing down */
+#define ACS_HLINE	NCURSES_ACS('q') /* horizontal line */
+#define ACS_VLINE	NCURSES_ACS('x') /* vertical line */
+#define ACS_PLUS	NCURSES_ACS('n') /* large plus or crossover */
+#define ACS_S1		NCURSES_ACS('o') /* scan line 1 */
+#define ACS_S9		NCURSES_ACS('s') /* scan line 9 */
+#define ACS_DIAMOND	NCURSES_ACS('`') /* diamond */
+#define ACS_CKBOARD	NCURSES_ACS('a') /* checker board (stipple) */
+#define ACS_DEGREE	NCURSES_ACS('f') /* degree symbol */
+#define ACS_PLMINUS	NCURSES_ACS('g') /* plus/minus */
+#define ACS_BULLET	NCURSES_ACS('~') /* bullet */
+/* Teletype 5410v1 symbols begin here */
+#define ACS_LARROW	NCURSES_ACS(',') /* arrow pointing left */
+#define ACS_RARROW	NCURSES_ACS('+') /* arrow pointing right */
+#define ACS_DARROW	NCURSES_ACS('.') /* arrow pointing down */
+#define ACS_UARROW	NCURSES_ACS('-') /* arrow pointing up */
+#define ACS_BOARD	NCURSES_ACS('h') /* board of squares */
+#define ACS_LANTERN	NCURSES_ACS('i') /* lantern symbol */
+#define ACS_BLOCK	NCURSES_ACS('0') /* solid square block */
+/*
+ * These aren't documented, but a lot of System Vs have them anyway
+ * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
+ * The ACS_names may not match AT&T's, our source didn't know them.
+ */
+#define ACS_S3		NCURSES_ACS('p') /* scan line 3 */
+#define ACS_S7		NCURSES_ACS('r') /* scan line 7 */
+#define ACS_LEQUAL	NCURSES_ACS('y') /* less/equal */
+#define ACS_GEQUAL	NCURSES_ACS('z') /* greater/equal */
+#define ACS_PI		NCURSES_ACS('{') /* Pi */
+#define ACS_NEQUAL	NCURSES_ACS('|') /* not equal */
+#define ACS_STERLING	NCURSES_ACS('}') /* UK pound sign */
+
+/*
+ * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
+ * is the right, b is the bottom, and l is the left.  t, r, b, and l might
+ * be B (blank), S (single), D (double), or T (thick).  The subset defined
+ * here only uses B and S.
+ */
+#define ACS_BSSB	ACS_ULCORNER
+#define ACS_SSBB	ACS_LLCORNER
+#define ACS_BBSS	ACS_URCORNER
+#define ACS_SBBS	ACS_LRCORNER
+#define ACS_SBSS	ACS_RTEE
+#define ACS_SSSB	ACS_LTEE
+#define ACS_SSBS	ACS_BTEE
+#define ACS_BSSS	ACS_TTEE
+#define ACS_BSBS	ACS_HLINE
+#define ACS_SBSB	ACS_VLINE
+#define ACS_SSSS	ACS_PLUS
+
+#undef	ERR
+#define ERR     (-1)
+
+#undef	OK
+#define OK      (0)
+
+/* values for the _flags member */
+#define _SUBWIN         0x01	/* is this a sub-window? */
+#define _ENDLINE        0x02	/* is the window flush right? */
+#define _FULLWIN        0x04	/* is the window full-screen? */
+#define _SCROLLWIN      0x08	/* bottom edge is at screen bottom? */
+#define _ISPAD	        0x10	/* is this window a pad? */
+#define _HASMOVED       0x20	/* has cursor moved since last refresh? */
+#define _WRAPPED        0x40	/* cursor was just wrappped */
+
+/*
+ * this value is used in the firstchar and lastchar fields to mark
+ * unchanged lines
+ */
+#define _NOCHANGE       -1
+
+/*
+ * this value is used in the oldindex field to mark lines created by insertions
+ * and scrolls.
+ */
+#define _NEWINDEX	-1
+
+typedef struct screen  SCREEN;
+typedef struct _win_st WINDOW;
+
+typedef	chtype	attr_t;		/* ...must be at least as wide as chtype */
+
+#if NCURSES_WIDECHAR
+
+#if 0
+#ifdef mblen			/* libutf8.h defines it w/o undefining first */
+#undef mblen
+#endif
+#include <libutf8.h>
+#endif
+
+#if 0
+#include <wchar.h>		/* ...to get mbstate_t, etc. */
+#endif
+
+#if 0
+typedef unsigned short wchar_t;
+#endif
+
+#if 0
+typedef unsigned int wint_t;
+#endif
+
+/*
+ * cchar_t stores an array of CCHARW_MAX wide characters.  The first is
+ * normally a spacing character.  The others are non-spacing.  If those
+ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
+#define CCHARW_MAX	5
+typedef struct
+{
+    attr_t	attr;
+    wchar_t	chars[CCHARW_MAX];
+#if 0
+#undef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 20150808
+    int		ext_color;	/* color pair, must be more than 16-bits */
+#endif
+}
+cchar_t;
+
+#endif /* NCURSES_WIDECHAR */
+
+#if !NCURSES_OPAQUE
+struct ldat;
+
+struct _win_st
+{
+	NCURSES_SIZE_T _cury, _curx; /* current cursor position */
+
+	/* window location and size */
+	NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */
+	NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */
+
+	short   _flags;		/* window state flags */
+
+	/* attribute tracking */
+	attr_t  _attrs;		/* current attribute for non-space character */
+	chtype  _bkgd;		/* current background char/attribute pair */
+
+	/* option values set by user */
+	bool	_notimeout;	/* no time out on function-key entry? */
+	bool	_clear;		/* consider all data in the window invalid? */
+	bool	_leaveok;	/* OK to not reset cursor on exit? */
+	bool	_scroll;	/* OK to scroll this window? */
+	bool	_idlok;		/* OK to use insert/delete line? */
+	bool	_idcok;		/* OK to use insert/delete char? */
+	bool	_immed;		/* window in immed mode? (not yet used) */
+	bool	_sync;		/* window in sync mode? */
+	bool	_use_keypad;	/* process function keys into KEY_ symbols? */
+	int	_delay;		/* 0 = nodelay, <0 = blocking, >0 = delay */
+
+	struct ldat *_line;	/* the actual line data */
+
+	/* global screen state */
+	NCURSES_SIZE_T _regtop;	/* top line of scrolling region */
+	NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */
+
+	/* these are used only if this is a sub-window */
+	int	_parx;		/* x coordinate of this window in parent */
+	int	_pary;		/* y coordinate of this window in parent */
+	WINDOW	*_parent;	/* pointer to parent if a sub-window */
+
+	/* these are used only if this is a pad */
+	struct pdat
+	{
+	    NCURSES_SIZE_T _pad_y,      _pad_x;
+	    NCURSES_SIZE_T _pad_top,    _pad_left;
+	    NCURSES_SIZE_T _pad_bottom, _pad_right;
+	} _pad;
+
+	NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
+
+#if NCURSES_WIDECHAR
+	cchar_t  _bkgrnd;	/* current background char/attribute pair */
+#if 0
+	int	_color;		/* current color-pair for non-space character */
+#endif
+#endif
+};
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * This is an extension to support events...
+ */
+#if 1
+#ifdef NCURSES_WGETCH_EVENTS
+#if !defined(__BEOS__) || defined(__HAIKU__)
+   /* Fix _nc_timed_wait() on BEOS... */
+#  define NCURSES_EVENT_VERSION	1
+#endif	/* !defined(__BEOS__) */
+
+/*
+ * Bits to set in _nc_event.data.flags
+ */
+#  define _NC_EVENT_TIMEOUT_MSEC	1
+#  define _NC_EVENT_FILE		2
+#  define _NC_EVENT_FILE_READABLE	2
+#  if 0					/* Not supported yet... */
+#    define _NC_EVENT_FILE_WRITABLE	4
+#    define _NC_EVENT_FILE_EXCEPTION	8
+#  endif
+
+typedef struct
+{
+    int type;
+    union
+    {
+	long timeout_msec;	/* _NC_EVENT_TIMEOUT_MSEC */
+	struct
+	{
+	    unsigned int flags;
+	    int fd;
+	    unsigned int result;
+	} fev;				/* _NC_EVENT_FILE */
+    } data;
+} _nc_event;
+
+typedef struct
+{
+    int count;
+    int result_flags;	/* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */
+    _nc_event *events[1];
+} _nc_eventlist;
+
+extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *);	/* experimental */
+extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *);/* experimental */
+
+#endif /* NCURSES_WGETCH_EVENTS */
+#endif /* NCURSES_EXT_FUNCS */
+
+/*
+ * GCC (and some other compilers) define '__attribute__'; we're using this
+ * macro to alert the compiler to flag inconsistencies in printf/scanf-like
+ * function calls.  Just in case '__attribute__' isn't defined, make a dummy.
+ * Old versions of G++ do not accept it anyway, at least not consistently with
+ * GCC.
+ */
+#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
+#define __attribute__(p) /* nothing */
+#endif
+
+/*
+ * We cannot define these in ncurses_cfg.h, since they require parameters to be
+ * passed (that is non-portable).  If you happen to be using gcc with warnings
+ * enabled, define
+ *	GCC_PRINTF
+ *	GCC_SCANF
+ * to improve checking of calls to printw(), etc.
+ */
+#ifndef GCC_PRINTFLIKE
+#if defined(GCC_PRINTF) && !defined(printf)
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#else
+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+#endif
+#endif
+
+#ifndef GCC_SCANFLIKE
+#if defined(GCC_SCANF) && !defined(scanf)
+#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+#else
+#define GCC_SCANFLIKE(fmt,var)  /*nothing*/
+#endif
+#endif
+
+#ifndef	GCC_NORETURN
+#define	GCC_NORETURN /* nothing */
+#endif
+
+#ifndef	GCC_UNUSED
+#define	GCC_UNUSED /* nothing */
+#endif
+
+/*
+ * Curses uses a helper function.  Define our type for this to simplify
+ * extending it for the sp-funcs feature.
+ */
+typedef int (*NCURSES_OUTC)(int);
+
+/*
+ * Function prototypes.  This is the complete X/Open Curses list of required
+ * functions.  Those marked `generated' will have sources generated from the
+ * macro definitions later in this file, in order to satisfy XPG4.2
+ * requirements.
+ */
+
+extern NCURSES_EXPORT(int) addch (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) addchnstr (const chtype *, int);		/* generated */
+extern NCURSES_EXPORT(int) addchstr (const chtype *);			/* generated */
+extern NCURSES_EXPORT(int) addnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) addstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attr_get (attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) attr_off (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_on (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_set (attr_t, NCURSES_PAIRS_T, void *);		/* generated */
+extern NCURSES_EXPORT(int) baudrate (void);				/* implemented */
+extern NCURSES_EXPORT(int) beep  (void);				/* implemented */
+extern NCURSES_EXPORT(int) bkgd (chtype);				/* generated */
+extern NCURSES_EXPORT(void) bkgdset (chtype);				/* generated */
+extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* generated */
+extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype);		/* generated */
+extern NCURSES_EXPORT(bool) can_change_color (void);			/* implemented */
+extern NCURSES_EXPORT(int) cbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) chgat (int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) clear (void);				/* generated */
+extern NCURSES_EXPORT(int) clearok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) clrtobot (void);				/* generated */
+extern NCURSES_EXPORT(int) clrtoeol (void);				/* generated */
+extern NCURSES_EXPORT(int) color_content (NCURSES_COLOR_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*,NCURSES_COLOR_T*);	/* implemented */
+extern NCURSES_EXPORT(int) color_set (NCURSES_PAIRS_T,void*);			/* generated */
+extern NCURSES_EXPORT(int) COLOR_PAIR (int);				/* generated */
+extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) curs_set (int);				/* implemented */
+extern NCURSES_EXPORT(int) def_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) def_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) delay_output (int);				/* implemented */
+extern NCURSES_EXPORT(int) delch (void);				/* generated */
+extern NCURSES_EXPORT(void) delscreen (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) delwin (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) deleteln (void);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) doupdate (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) echo (void);					/* implemented */
+extern NCURSES_EXPORT(int) echochar (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) erase (void);				/* generated */
+extern NCURSES_EXPORT(int) endwin (void);				/* implemented */
+extern NCURSES_EXPORT(char) erasechar (void);				/* implemented */
+extern NCURSES_EXPORT(void) filter (void);				/* implemented */
+extern NCURSES_EXPORT(int) flash (void);				/* implemented */
+extern NCURSES_EXPORT(int) flushinp (void);				/* implemented */
+extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getch (void);				/* generated */
+extern NCURSES_EXPORT(int) getnstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) getstr (char *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) getwin (FILE *);			/* implemented */
+extern NCURSES_EXPORT(int) halfdelay (int);				/* implemented */
+extern NCURSES_EXPORT(bool) has_colors (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_ic (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_il (void);				/* implemented */
+extern NCURSES_EXPORT(int) hline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(void) idcok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(int) idlok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(void) immedok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) inch (void);				/* generated */
+extern NCURSES_EXPORT(int) inchnstr (chtype *, int);			/* generated */
+extern NCURSES_EXPORT(int) inchstr (chtype *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) initscr (void);				/* implemented */
+extern NCURSES_EXPORT(int) init_color (NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T);	/* implemented */
+extern NCURSES_EXPORT(int) init_pair (NCURSES_PAIRS_T,NCURSES_COLOR_T,NCURSES_COLOR_T);		/* implemented */
+extern NCURSES_EXPORT(int) innstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insch (chtype);				/* generated */
+extern NCURSES_EXPORT(int) insdelln (int);				/* generated */
+extern NCURSES_EXPORT(int) insertln (void);				/* generated */
+extern NCURSES_EXPORT(int) insnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) instr (char *);				/* generated */
+extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(bool) isendwin (void);				/* implemented */
+extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int);		/* implemented */
+extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);		/* implemented */
+extern NCURSES_EXPORT(int) keypad (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char) killchar (void);				/* implemented */
+extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char *) longname (void);				/* implemented */
+extern NCURSES_EXPORT(int) meta (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) move (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) mvcur (int,int,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) mvdelch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int);		/* implemented */
+extern NCURSES_EXPORT(int) mvgetch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvgetstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(chtype) mvinch (int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvinsch (int, int, chtype);			/* generated */
+extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvinstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...)	/* implemented */
+		GCC_SCANFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */
+extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, NCURSES_PAIRS_T, const void *);/* generated */
+extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *);		/* generated */
+extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...)	/* implemented */
+		GCC_PRINTFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...)	/* implemented */
+		GCC_SCANFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) napms (int);					/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newpad (int,int);		       	/* implemented */
+extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int);	       	/* implemented */
+extern NCURSES_EXPORT(int) nl (void);					/* implemented */
+extern NCURSES_EXPORT(int) nocbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) noecho (void);				/* implemented */
+extern NCURSES_EXPORT(int) nonl (void);					/* implemented */
+extern NCURSES_EXPORT(void) noqiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) noraw (void);				/* implemented */
+extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) pair_content (NCURSES_PAIRS_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*);		/* implemented */
+extern NCURSES_EXPORT(int) PAIR_NUMBER (int);				/* generated */
+extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
+extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) printw (const char *,...)			/* implemented */
+		GCC_PRINTFLIKE(1,2);
+extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);			/* implemented */
+extern NCURSES_EXPORT(void) qiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) raw (void);					/* implemented */
+extern NCURSES_EXPORT(int) redrawwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) refresh (void);				/* generated */
+extern NCURSES_EXPORT(int) resetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) reset_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) reset_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int));	/* implemented */
+extern NCURSES_EXPORT(int) savetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...)		/* implemented */
+		GCC_SCANFLIKE(1,2);
+extern NCURSES_EXPORT(int) scr_dump (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_init (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scrl (int);					/* generated */
+extern NCURSES_EXPORT(int) scroll (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) scr_restore (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_set (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) setscrreg (int,int);				/* generated */
+extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attroff (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attron (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attrset (const chtype);			/* implemented */
+extern NCURSES_EXPORT(attr_t) slk_attr (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,NCURSES_PAIRS_T,void*);	/* implemented */
+extern NCURSES_EXPORT(int) slk_clear (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_color (NCURSES_PAIRS_T);				/* implemented */
+extern NCURSES_EXPORT(int) slk_init (int);				/* implemented */
+extern NCURSES_EXPORT(char *) slk_label (int);				/* implemented */
+extern NCURSES_EXPORT(int) slk_noutrefresh (void);			/* implemented */
+extern NCURSES_EXPORT(int) slk_refresh (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_restore (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_set (int,const char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) slk_touch (void);	      	       		/* implemented */
+extern NCURSES_EXPORT(int) standout (void);				/* generated */
+extern NCURSES_EXPORT(int) standend (void);				/* generated */
+extern NCURSES_EXPORT(int) start_color (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(int) syncok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) termattrs (void);				/* implemented */
+extern NCURSES_EXPORT(char *) termname (void);				/* implemented */
+extern NCURSES_EXPORT(void) timeout (int);				/* generated */
+extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) touchwin (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) typeahead (int);				/* implemented */
+extern NCURSES_EXPORT(int) ungetch (int);				/* implemented */
+extern NCURSES_EXPORT(int) untouchwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) use_env (bool);				/* implemented */
+extern NCURSES_EXPORT(void) use_tioctl (bool);				/* implemented */
+extern NCURSES_EXPORT(int) vidattr (chtype);				/* implemented */
+extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC);		/* implemented */
+extern NCURSES_EXPORT(int) vline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list);	/* implemented */
+extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list);	/* generated */
+extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list);	/* implemented */
+extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list);	/* generated */
+extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *);		/* generated */
+extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *);		/* generated */
+extern NCURSES_EXPORT(int) wattron (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattroff (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattrset (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *);		/* implemented */
+extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *);	/* implemented */
+extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, NCURSES_PAIRS_T, void *);	/* generated */
+extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype);			/* implemented */
+extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* implemented */
+extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, NCURSES_PAIRS_T, const void *);/* implemented */
+extern NCURSES_EXPORT(int) wclear (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wclrtobot (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,NCURSES_PAIRS_T,void*);		/* implemented */
+extern NCURSES_EXPORT(void) wcursyncup (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wdelch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wdeleteln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) werase (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int);		/* implemented */
+extern NCURSES_EXPORT(chtype) winch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) winsertln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *);		/* generated */
+extern NCURSES_EXPORT(int) winstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(2,3);
+extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wrefresh (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...)	/* implemented */
+		GCC_SCANFLIKE(2,3);
+extern NCURSES_EXPORT(int) wscrl (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wstandout (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wstandend (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) wsyncdown (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(void) wsyncup (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);		/* implemented */
+
+/*
+ * These are also declared in <term.h>:
+ */
+extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);		/* implemented */
+extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);		/* implemented */
+extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);		/* implemented */
+extern NCURSES_EXPORT(int) putp (const char *);				/* implemented */
+
+#if NCURSES_TPARM_VARARGS
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);	/* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG);	/* special */
+extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);	/* special */
+#endif
+
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */
+
+/*
+ * These functions are not in X/Open, but we use them in macro definitions:
+ */
+extern NCURSES_EXPORT(int) getattrs (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcurx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcury (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getparx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getpary (const WINDOW *);			/* generated */
+
+/*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
+ */
+#if !NCURSES_WIDECHAR
+#define vid_attr(a,pair,opts) vidattr(a)
+#endif
+
+/*
+ * These functions are extensions - not in X/Open Curses.
+ */
+#if 1
+#undef  NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 20150808
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+extern NCURSES_EXPORT(bool) is_term_resized (int, int);
+extern NCURSES_EXPORT(char *) keybound (int, int);
+extern NCURSES_EXPORT(const char *) curses_version (void);
+extern NCURSES_EXPORT(int) assume_default_colors (int, int);
+extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) get_escdelay (void);
+extern NCURSES_EXPORT(int) key_defined (const char *);
+extern NCURSES_EXPORT(int) keyok (int, bool);
+extern NCURSES_EXPORT(int) resize_term (int, int);
+extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
+extern NCURSES_EXPORT(int) use_default_colors (void);
+extern NCURSES_EXPORT(int) use_extended_names (bool);
+extern NCURSES_EXPORT(int) use_legacy_coding (int);
+extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
+extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
+extern NCURSES_EXPORT(void) nofilter(void);
+
+/*
+ * These extensions provide access to information stored in the WINDOW even
+ * when NCURSES_OPAQUE is set:
+ */
+extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_pad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetdelay (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
+
+#else
+#define curses_version() NCURSES_VERSION
+#endif
+
+/*
+ * Extra extension-functions, which pass a SCREEN pointer rather than using
+ * a global variable SP.
+ */
+#if 1
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 20150808
+#define NCURSES_SP_NAME(name) name##_sp
+
+/* Define the sp-funcs helper function */
+#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
+typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
+
+extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC */
+
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *);			/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, NCURSES_CONST char *, FILE *, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int));	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, NCURSES_PAIRS_T, void*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, NCURSES_PAIRS_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const char *, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+#if 1
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+#endif
+#else
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 0
+#define NCURSES_SP_NAME(name) name
+#define NCURSES_SP_OUTC NCURSES_OUTC
+#endif
+
+/* attributes */
+
+#define NCURSES_ATTR_SHIFT       8
+#define NCURSES_BITS(mask,shift) (NCURSES_CAST(chtype,(mask)) << ((shift) + NCURSES_ATTR_SHIFT))
+
+#define A_NORMAL	(1U - 1U)
+#define A_ATTRIBUTES	NCURSES_BITS(~(1U - 1U),0)
+#define A_CHARTEXT	(NCURSES_BITS(1U,0) - 1U)
+#define A_COLOR		NCURSES_BITS(((1U) << 8) - 1U,0)
+#define A_STANDOUT	NCURSES_BITS(1U,8)
+#define A_UNDERLINE	NCURSES_BITS(1U,9)
+#define A_REVERSE	NCURSES_BITS(1U,10)
+#define A_BLINK		NCURSES_BITS(1U,11)
+#define A_DIM		NCURSES_BITS(1U,12)
+#define A_BOLD		NCURSES_BITS(1U,13)
+#define A_ALTCHARSET	NCURSES_BITS(1U,14)
+#define A_INVIS		NCURSES_BITS(1U,15)
+#define A_PROTECT	NCURSES_BITS(1U,16)
+#define A_HORIZONTAL	NCURSES_BITS(1U,17)
+#define A_LEFT		NCURSES_BITS(1U,18)
+#define A_LOW		NCURSES_BITS(1U,19)
+#define A_RIGHT		NCURSES_BITS(1U,20)
+#define A_TOP		NCURSES_BITS(1U,21)
+#define A_VERTICAL	NCURSES_BITS(1U,22)
+
+#if 1
+#define A_ITALIC	NCURSES_BITS(1U,23)	/* ncurses extension */
+#endif
+
+/*
+ * Most of the pseudo functions are macros that either provide compatibility
+ * with older versions of curses, or provide inline functionality to improve
+ * performance.
+ */
+
+/*
+ * These pseudo functions are always implemented as macros:
+ */
+
+#define getyx(win,y,x)   	(y = getcury(win), x = getcurx(win))
+#define getbegyx(win,y,x)	(y = getbegy(win), x = getbegx(win))
+#define getmaxyx(win,y,x)	(y = getmaxy(win), x = getmaxx(win))
+#define getparyx(win,y,x)	(y = getpary(win), x = getparx(win))
+
+#define getsyx(y,x) do { if (newscr) { \
+			     if (is_leaveok(newscr)) \
+				(y) = (x) = -1; \
+			     else \
+				 getyx(newscr,(y), (x)); \
+			} \
+		    } while(0)
+
+#define setsyx(y,x) do { if (newscr) { \
+			    if ((y) == -1 && (x) == -1) \
+				leaveok(newscr, TRUE); \
+			    else { \
+				leaveok(newscr, FALSE); \
+				wmove(newscr, (y), (x)); \
+			    } \
+			} \
+		    } while(0)
+
+#ifndef NCURSES_NOMACROS
+
+/*
+ * These miscellaneous pseudo functions are provided for compatibility:
+ */
+
+#define wgetstr(w, s)		wgetnstr(w, s, -1)
+#define getnstr(s, n)		wgetnstr(stdscr, s, (n))
+
+#define setterm(term)		setupterm(term, 1, (int *)0)
+
+#define fixterm()		reset_prog_mode()
+#define resetterm()		reset_shell_mode()
+#define saveterm()		def_prog_mode()
+#define crmode()		cbreak()
+#define nocrmode()		nocbreak()
+#define gettmode()
+
+/* It seems older SYSV curses versions define these */
+#if !NCURSES_OPAQUE
+#define getattrs(win)		NCURSES_CAST(int, (win) ? (win)->_attrs : A_NORMAL)
+#define getcurx(win)		((win) ? (win)->_curx : ERR)
+#define getcury(win)		((win) ? (win)->_cury : ERR)
+#define getbegx(win)		((win) ? (win)->_begx : ERR)
+#define getbegy(win)		((win) ? (win)->_begy : ERR)
+#define getmaxx(win)		((win) ? ((win)->_maxx + 1) : ERR)
+#define getmaxy(win)		((win) ? ((win)->_maxy + 1) : ERR)
+#define getparx(win)		((win) ? (win)->_parx : ERR)
+#define getpary(win)		((win) ? (win)->_pary : ERR)
+#endif /* NCURSES_OPAQUE */
+
+#define wstandout(win)      	(wattrset(win,A_STANDOUT))
+#define wstandend(win)      	(wattrset(win,A_NORMAL))
+
+#define wattron(win,at)		wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
+#define wattroff(win,at)	wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WIDECHAR && 0
+#define wattrset(win,at)	((win) \
+				  ? ((win)->_color = NCURSES_CAST(int, PAIR_NUMBER(at)), \
+                                     (win)->_attrs = NCURSES_CAST(attr_t, at), \
+                                     OK) \
+				  : ERR)
+#else
+#define wattrset(win,at)        ((win) \
+				  ? ((win)->_attrs = NCURSES_CAST(attr_t, at), \
+				     OK) \
+				  : ERR)
+#endif
+#endif /* NCURSES_OPAQUE */
+
+#define scroll(win)		wscrl(win,1)
+
+#define touchwin(win)		wtouchln((win), 0, getmaxy(win), 1)
+#define touchline(win, s, c)	wtouchln((win), s, c, 1)
+#define untouchwin(win)		wtouchln((win), 0, getmaxy(win), 0)
+
+#define box(win, v, h)		wborder(win, v, v, h, h, 0, 0, 0, 0)
+#define border(ls, rs, ts, bs, tl, tr, bl, br)	wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
+#define hline(ch, n)		whline(stdscr, ch, (n))
+#define vline(ch, n)		wvline(stdscr, ch, (n))
+
+#define winstr(w, s)		winnstr(w, s, -1)
+#define winchstr(w, s)		winchnstr(w, s, -1)
+#define winsstr(w, s)		winsnstr(w, s, -1)
+
+#if !NCURSES_OPAQUE
+#define redrawwin(win)		wredrawln(win, 0, ((win) ? (win)->_maxy+1 : -1))
+#endif /* NCURSES_OPAQUE */
+
+#define waddstr(win,str)	waddnstr(win,str,-1)
+#define waddchstr(win,str)	waddchnstr(win,str,-1)
+
+/*
+ * These apply to the first 256 color pairs.
+ */
+#define COLOR_PAIR(n)	NCURSES_BITS((n), 0)
+#define PAIR_NUMBER(a)	(NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
+/*
+ * pseudo functions for standard screen
+ */
+
+#define addch(ch)		waddch(stdscr,(ch))
+#define addchnstr(str,n)	waddchnstr(stdscr,(str),(n))
+#define addchstr(str)		waddchstr(stdscr,(str))
+#define addnstr(str,n)		waddnstr(stdscr,(str),(n))
+#define addstr(str)		waddnstr(stdscr,(str),-1)
+#define attroff(at)		wattroff(stdscr,(at))
+#define attron(at)		wattron(stdscr,(at))
+#define attrset(at)		wattrset(stdscr,(at))
+#define attr_get(ap,cp,o)	wattr_get(stdscr,(ap),(cp),(o))
+#define attr_off(a,o)		wattr_off(stdscr,(a),(o))
+#define attr_on(a,o)		wattr_on(stdscr,(a),(o))
+#define attr_set(a,c,o)		wattr_set(stdscr,(a),(c),(o))
+#define bkgd(ch)		wbkgd(stdscr,(ch))
+#define bkgdset(ch)		wbkgdset(stdscr,(ch))
+#define chgat(n,a,c,o)		wchgat(stdscr,(n),(a),(c),(o))
+#define clear()			wclear(stdscr)
+#define clrtobot()		wclrtobot(stdscr)
+#define clrtoeol()		wclrtoeol(stdscr)
+#define color_set(c,o)		wcolor_set(stdscr,(c),(o))
+#define delch()			wdelch(stdscr)
+#define deleteln()		winsdelln(stdscr,-1)
+#define echochar(c)		wechochar(stdscr,(c))
+#define erase()			werase(stdscr)
+#define getch()			wgetch(stdscr)
+#define getstr(str)		wgetstr(stdscr,(str))
+#define inch()			winch(stdscr)
+#define inchnstr(s,n)		winchnstr(stdscr,(s),(n))
+#define inchstr(s)		winchstr(stdscr,(s))
+#define innstr(s,n)		winnstr(stdscr,(s),(n))
+#define insch(c)		winsch(stdscr,(c))
+#define insdelln(n)		winsdelln(stdscr,(n))
+#define insertln()		winsdelln(stdscr,1)
+#define insnstr(s,n)		winsnstr(stdscr,(s),(n))
+#define insstr(s)		winsstr(stdscr,(s))
+#define instr(s)		winstr(stdscr,(s))
+#define move(y,x)		wmove(stdscr,(y),(x))
+#define refresh()		wrefresh(stdscr)
+#define scrl(n)			wscrl(stdscr,(n))
+#define setscrreg(t,b)		wsetscrreg(stdscr,(t),(b))
+#define standend()		wstandend(stdscr)
+#define standout()		wstandout(stdscr)
+#define timeout(delay)		wtimeout(stdscr,(delay))
+#define wdeleteln(win)		winsdelln(win,-1)
+#define winsertln(win)		winsdelln(win,1)
+
+/*
+ * mv functions
+ */
+
+#define mvwaddch(win,y,x,ch)		(wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
+#define mvwaddchnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
+#define mvwaddchstr(win,y,x,str)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
+#define mvwaddnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
+#define mvwaddstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
+#define mvwdelch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
+#define mvwchgat(win,y,x,n,a,c,o)	(wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
+#define mvwgetch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
+#define mvwgetnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : wgetnstr((win),(str),(n)))
+#define mvwgetstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : wgetstr((win),(str)))
+#define mvwhline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : whline((win),(c),(n)))
+#define mvwinch(win,y,x)		(wmove((win),(y),(x)) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
+#define mvwinchnstr(win,y,x,s,n)	(wmove((win),(y),(x)) == ERR ? ERR : winchnstr((win),(s),(n)))
+#define mvwinchstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winchstr((win),(s)))
+#define mvwinnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winnstr((win),(s),(n)))
+#define mvwinsch(win,y,x,c)		(wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
+#define mvwinsnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
+#define mvwinsstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
+#define mvwinstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
+#define mvwvline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
+
+#define mvaddch(y,x,ch)			mvwaddch(stdscr,(y),(x),(ch))
+#define mvaddchnstr(y,x,str,n)		mvwaddchnstr(stdscr,(y),(x),(str),(n))
+#define mvaddchstr(y,x,str)		mvwaddchstr(stdscr,(y),(x),(str))
+#define mvaddnstr(y,x,str,n)		mvwaddnstr(stdscr,(y),(x),(str),(n))
+#define mvaddstr(y,x,str)		mvwaddstr(stdscr,(y),(x),(str))
+#define mvchgat(y,x,n,a,c,o)		mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
+#define mvdelch(y,x)			mvwdelch(stdscr,(y),(x))
+#define mvgetch(y,x)			mvwgetch(stdscr,(y),(x))
+#define mvgetnstr(y,x,str,n)		mvwgetnstr(stdscr,(y),(x),(str),(n))
+#define mvgetstr(y,x,str)		mvwgetstr(stdscr,(y),(x),(str))
+#define mvhline(y,x,c,n)		mvwhline(stdscr,(y),(x),(c),(n))
+#define mvinch(y,x)			mvwinch(stdscr,(y),(x))
+#define mvinchnstr(y,x,s,n)		mvwinchnstr(stdscr,(y),(x),(s),(n))
+#define mvinchstr(y,x,s)		mvwinchstr(stdscr,(y),(x),(s))
+#define mvinnstr(y,x,s,n)		mvwinnstr(stdscr,(y),(x),(s),(n))
+#define mvinsch(y,x,c)			mvwinsch(stdscr,(y),(x),(c))
+#define mvinsnstr(y,x,s,n)		mvwinsnstr(stdscr,(y),(x),(s),(n))
+#define mvinsstr(y,x,s)			mvwinsstr(stdscr,(y),(x),(s))
+#define mvinstr(y,x,s)			mvwinstr(stdscr,(y),(x),(s))
+#define mvvline(y,x,c,n)		mvwvline(stdscr,(y),(x),(c),(n))
+
+/*
+ * Some wide-character functions can be implemented without the extensions.
+ */
+#if !NCURSES_OPAQUE
+#define getbkgd(win)                    ((win) ? ((win)->_bkgd) : 0)
+#endif /* NCURSES_OPAQUE */
+
+#define slk_attr_off(a,v)		((v) ? ERR : slk_attroff(a))
+#define slk_attr_on(a,v)		((v) ? ERR : slk_attron(a))
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WIDECHAR && 0
+#define wattr_set(win,a,p,opts)		(((win) \
+					  ? ((win)->_attrs = ((a) & ~A_COLOR), \
+					     (win)->_color = (p)) \
+					  : OK), \
+					 OK)
+#define wattr_get(win,a,p,opts)		((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+					 (void)(((p) != (void *)0) ? (*(p) = (NCURSES_PAIRS_T) ((win) ? (win)->_color : 0)) : OK), \
+					 OK)
+#else
+#define wattr_set(win,a,p,opts)		(((win) \
+					  ? ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p))) \
+					  : OK), \
+					 OK)
+#define wattr_get(win,a,p,opts)		((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+					 (void)(((p) != (void *)0) ? (*(p) = (NCURSES_PAIRS_T) ((win) ? PAIR_NUMBER((win)->_attrs) : 0)) : OK), \
+					 OK)
+#endif
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
+ * varargs.h.  It adds new calls vw_printw/vw_scanw, which are supposed to
+ * use POSIX stdarg.h.  The ncurses versions of vwprintw/vwscanw already
+ * use stdarg.h, so...
+ */
+#define vw_printw		vwprintw
+#define vw_scanw		vwscanw
+
+/*
+ * Export fallback function for use in C++ binding.
+ */
+#if !1
+#define vsscanf(a,b,c) _nc_vsscanf(a,b,c)
+NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
+#endif
+
+/*
+ * These macros are extensions - not in X/Open Curses.
+ */
+#if 1
+#if !NCURSES_OPAQUE
+#define is_cleared(win)		((win) ? (win)->_clear : FALSE)
+#define is_idcok(win)		((win) ? (win)->_idcok : FALSE)
+#define is_idlok(win)		((win) ? (win)->_idlok : FALSE)
+#define is_immedok(win)		((win) ? (win)->_immed : FALSE)
+#define is_keypad(win)		((win) ? (win)->_use_keypad : FALSE)
+#define is_leaveok(win)		((win) ? (win)->_leaveok : FALSE)
+#define is_nodelay(win)		((win) ? ((win)->_delay == 0) : FALSE)
+#define is_notimeout(win)	((win) ? (win)->_notimeout : FALSE)
+#define is_pad(win)		((win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
+#define is_scrollok(win)	((win) ? (win)->_scroll : FALSE)
+#define is_subwin(win)		((win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
+#define is_syncok(win)		((win) ? (win)->_sync : FALSE)
+#define wgetdelay(win)		((win) ? (win)->_delay : 0)
+#define wgetparent(win)		((win) ? (win)->_parent : 0)
+#define wgetscrreg(win,t,b)	((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
+#endif
+#endif
+
+#endif /* NCURSES_NOMACROS */
+
+/*
+ * Public variables.
+ *
+ * Notes:
+ *	a. ESCDELAY was an undocumented feature under AIX curses.
+ *	   It gives the ESC expire time in milliseconds.
+ *	b. ttytype is needed for backward compatibility
+ */
+#if NCURSES_REENTRANT
+
+NCURSES_WRAPPED_VAR(WINDOW *, curscr);
+NCURSES_WRAPPED_VAR(WINDOW *, newscr);
+NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
+NCURSES_WRAPPED_VAR(char *, ttytype);
+NCURSES_WRAPPED_VAR(int, COLORS);
+NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
+NCURSES_WRAPPED_VAR(int, COLS);
+NCURSES_WRAPPED_VAR(int, ESCDELAY);
+NCURSES_WRAPPED_VAR(int, LINES);
+NCURSES_WRAPPED_VAR(int, TABSIZE);
+
+#define curscr      NCURSES_PUBLIC_VAR(curscr())
+#define newscr      NCURSES_PUBLIC_VAR(newscr())
+#define stdscr      NCURSES_PUBLIC_VAR(stdscr())
+#define ttytype     NCURSES_PUBLIC_VAR(ttytype())
+#define COLORS      NCURSES_PUBLIC_VAR(COLORS())
+#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS())
+#define COLS        NCURSES_PUBLIC_VAR(COLS())
+#define ESCDELAY    NCURSES_PUBLIC_VAR(ESCDELAY())
+#define LINES       NCURSES_PUBLIC_VAR(LINES())
+#define TABSIZE     NCURSES_PUBLIC_VAR(TABSIZE())
+
+#else
+
+extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT_VAR(int) COLORS;
+extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
+extern NCURSES_EXPORT_VAR(int) COLS;
+extern NCURSES_EXPORT_VAR(int) ESCDELAY;
+extern NCURSES_EXPORT_VAR(int) LINES;
+extern NCURSES_EXPORT_VAR(int) TABSIZE;
+
+#endif
+
+/*
+ * Pseudo-character tokens outside ASCII range.  The curses wgetch() function
+ * will return any given one of these only if the corresponding k- capability
+ * is defined in your terminal's terminfo entry.
+ *
+ * Some keys (KEY_A1, etc) are arranged like this:
+ *	a1     up    a3
+ *	left   b2    right
+ *	c1     down  c3
+ *
+ * A few key codes do not depend upon the terminfo entry.
+ */
+#define KEY_CODE_YES	0400		/* A wchar_t contains a key code */
+#define KEY_MIN		0401		/* Minimum curses key */
+#define KEY_BREAK	0401		/* Break key (unreliable) */
+#define KEY_SRESET	0530		/* Soft (partial) reset (unreliable) */
+#define KEY_RESET	0531		/* Reset or hard reset (unreliable) */
diff --git a/include/eti.h b/include/eti.h
new file mode 100644
index 0000000..baa6190
--- /dev/null
+++ b/include/eti.h
@@ -0,0 +1,54 @@
+/****************************************************************************
+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: eti.h,v 1.8 2003/10/25 15:24:29 tom Exp $ */
+
+#ifndef NCURSES_ETI_H_incl
+#define NCURSES_ETI_H_incl 1
+
+#define	E_OK			(0)
+#define	E_SYSTEM_ERROR	 	(-1)
+#define	E_BAD_ARGUMENT	 	(-2)
+#define	E_POSTED	 	(-3)
+#define	E_CONNECTED	 	(-4)
+#define	E_BAD_STATE	 	(-5)
+#define	E_NO_ROOM	 	(-6)
+#define	E_NOT_POSTED		(-7)
+#define	E_UNKNOWN_COMMAND	(-8)
+#define	E_NO_MATCH		(-9)
+#define	E_NOT_SELECTABLE	(-10)
+#define	E_NOT_CONNECTED	        (-11)
+#define	E_REQUEST_DENIED	(-12)
+#define	E_INVALID_FIELD	        (-13)
+#define	E_CURRENT		(-14)
+
+#endif
diff --git a/include/form.h b/include/form.h
new file mode 100644
index 0000000..09856dc
--- /dev/null
+++ b/include/form.h
@@ -0,0 +1,428 @@
+/****************************************************************************
+ * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: form.h,v 0.24 2014/07/26 20:52:28 tom Exp $ */
+
+#ifndef FORM_H
+#define FORM_H
+/* *INDENT-OFF*/
+
+#include <curses.h>
+#include <eti.h>
+
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+#ifndef FORM_PRIV_H
+typedef void *FIELD_CELL;
+#endif
+
+#ifndef NCURSES_FIELD_INTERNALS
+#define NCURSES_FIELD_INTERNALS /* nothing */
+#endif
+
+typedef int Form_Options;
+typedef int Field_Options;
+
+	/**********
+	*  _PAGE  *
+	**********/
+
+typedef struct {
+  short pmin;		/* index of first field on page			*/
+  short pmax;		/* index of last field on page			*/
+  short smin;		/* index of top leftmost field on page		*/
+  short smax;		/* index of bottom rightmost field on page	*/
+} _PAGE;
+
+	/**********
+	*  FIELD  *
+	**********/
+
+typedef struct fieldnode {
+  unsigned short	status;		/* flags			*/
+  short			rows;		/* size in rows			*/
+  short			cols;		/* size in cols			*/
+  short			frow;		/* first row			*/
+  short			fcol;		/* first col			*/
+  int			drows;		/* dynamic rows			*/
+  int			dcols;		/* dynamic cols			*/
+  int			maxgrow;	/* maximum field growth		*/
+  int			nrow;		/* off-screen rows		*/
+  short			nbuf;		/* additional buffers		*/
+  short			just;		/* justification		*/
+  short			page;		/* page on form			*/
+  short			index;		/* into form -> field		*/
+  int			pad;		/* pad character		*/
+  chtype		fore;		/* foreground attribute		*/
+  chtype		back;		/* background attribute		*/
+  Field_Options		opts;		/* options			*/
+  struct fieldnode *	snext;		/* sorted order pointer		*/
+  struct fieldnode *	sprev;		/* sorted order pointer		*/
+  struct fieldnode *	link;		/* linked field chain		*/
+  struct formnode *	form;		/* containing form		*/
+  struct typenode *	type;		/* field type			*/
+  void *		arg;		/* argument for type		*/
+  FIELD_CELL *		buf;		/* field buffers		*/
+  void *		usrptr;		/* user pointer			*/
+  /*
+   * The wide-character configuration requires extra information.  Because
+   * there are existing applications that manipulate the members of FIELD
+   * directly, we cannot make the struct opaque.  Offsets of members up to
+   * this point are the same in the narrow- and wide-character configuration.
+   * But note that the type of buf depends on the configuration, and is made
+   * opaque for that reason.
+   */
+  NCURSES_FIELD_INTERNALS
+} FIELD;
+
+
+	/*********
+	*  FORM  *
+	*********/
+
+typedef struct formnode {
+  unsigned short	status;	  	/* flags			*/
+  short			rows;		/* size in rows			*/
+  short			cols;		/* size in cols			*/
+  int			currow;		/* current row in field window	*/
+  int			curcol;		/* current col in field window	*/
+  int			toprow;		/* in scrollable field window	*/
+  int			begincol;	/* in horiz. scrollable field	*/
+  short			maxfield;	/* number of fields		*/
+  short			maxpage;	/* number of pages		*/
+  short			curpage;	/* index into page		*/
+  Form_Options		opts;		/* options			*/
+  WINDOW *		win;		/* window			*/
+  WINDOW *		sub;		/* subwindow			*/
+  WINDOW *		w;		/* window for current field	*/
+  FIELD **		field;		/* field [maxfield]		*/
+  FIELD *		current;	/* current field		*/
+  _PAGE *		page;		/* page [maxpage]		*/
+  void *		usrptr;		/* user pointer			*/
+
+  void			(*forminit)(struct formnode *);
+  void			(*formterm)(struct formnode *);
+  void			(*fieldinit)(struct formnode *);
+  void			(*fieldterm)(struct formnode *);
+
+} FORM;
+
+
+	/**************
+	*  FIELDTYPE  *
+	**************/
+
+typedef struct typenode {
+  unsigned short	status;			/* flags		    */
+  long			ref;			/* reference count	    */
+  struct typenode *	left;			/* ptr to operand for |     */
+  struct typenode *	right;			/* ptr to operand for |     */
+
+  void* (*makearg)(va_list *);			/* make fieldtype arg	    */
+  void* (*copyarg)(const void *);		/* copy fieldtype arg 	    */
+  void	(*freearg)(void *);			/* free fieldtype arg	    */
+
+#if NCURSES_INTEROP_FUNCS
+  union {
+    bool (*ofcheck)(FIELD *,const void *);	/* field validation	    */
+    bool (*gfcheck)(FORM*,FIELD *,const void*);	/* generic field validation */
+  } fieldcheck;
+  union {
+    bool (*occheck)(int,const void *);		/* character validation     */
+    bool (*gccheck)(int,FORM*,
+		    FIELD*,const void*);        /* generic char validation  */
+  } charcheck;
+  union {
+    bool (*onext)(FIELD *,const void *);        /* enumerate next value     */
+    bool (*gnext)(FORM*,FIELD*,const void*);    /* generic enumerate next   */
+  } enum_next;
+  union {
+    bool (*oprev)(FIELD *,const void *);	/* enumerate prev value     */
+    bool (*gprev)(FORM*,FIELD*,const void*);    /* generic enumerate prev   */
+  } enum_prev;
+  void* (*genericarg)(void*);                   /* Alternate Arg method     */
+#else
+  bool	(*fcheck)(FIELD *,const void *);	/* field validation	*/
+  bool	(*ccheck)(int,const void *);		/* character validation */
+
+  bool	(*next)(FIELD *,const void *);		/* enumerate next value */
+  bool	(*prev)(FIELD *,const void *);		/* enumerate prev value */
+#endif
+} FIELDTYPE;
+
+typedef void (*Form_Hook)(FORM *);
+
+	/***************************
+	*  miscellaneous #defines  *
+	***************************/
+
+/* field justification */
+#define NO_JUSTIFICATION	(0)
+#define JUSTIFY_LEFT		(1)
+#define JUSTIFY_CENTER		(2)
+#define JUSTIFY_RIGHT		(3)
+
+/* field options */
+#define O_VISIBLE		(0x0001U)
+#define O_ACTIVE		(0x0002U)
+#define O_PUBLIC		(0x0004U)
+#define O_EDIT			(0x0008U)
+#define O_WRAP			(0x0010U)
+#define O_BLANK			(0x0020U)
+#define O_AUTOSKIP		(0x0040U)
+#define O_NULLOK		(0x0080U)
+#define O_PASSOK		(0x0100U)
+#define O_STATIC		(0x0200U)
+#define O_DYNAMIC_JUSTIFY	(0x0400U)	/* ncurses extension	*/
+
+/* form options */
+#define O_NL_OVERLOAD		(0x0001U)
+#define O_BS_OVERLOAD		(0x0002U)
+
+/* form driver commands */
+#define REQ_NEXT_PAGE	 (KEY_MAX + 1)	/* move to next page		*/
+#define REQ_PREV_PAGE	 (KEY_MAX + 2)	/* move to previous page	*/
+#define REQ_FIRST_PAGE	 (KEY_MAX + 3)	/* move to first page		*/
+#define REQ_LAST_PAGE	 (KEY_MAX + 4)	/* move to last page		*/
+
+#define REQ_NEXT_FIELD	 (KEY_MAX + 5)	/* move to next field		*/
+#define REQ_PREV_FIELD	 (KEY_MAX + 6)	/* move to previous field	*/
+#define REQ_FIRST_FIELD	 (KEY_MAX + 7)	/* move to first field		*/
+#define REQ_LAST_FIELD	 (KEY_MAX + 8)	/* move to last field		*/
+#define REQ_SNEXT_FIELD	 (KEY_MAX + 9)	/* move to sorted next field	*/
+#define REQ_SPREV_FIELD	 (KEY_MAX + 10)	/* move to sorted prev field	*/
+#define REQ_SFIRST_FIELD (KEY_MAX + 11)	/* move to sorted first field	*/
+#define REQ_SLAST_FIELD	 (KEY_MAX + 12)	/* move to sorted last field	*/
+#define REQ_LEFT_FIELD	 (KEY_MAX + 13)	/* move to left to field	*/
+#define REQ_RIGHT_FIELD	 (KEY_MAX + 14)	/* move to right to field	*/
+#define REQ_UP_FIELD	 (KEY_MAX + 15)	/* move to up to field		*/
+#define REQ_DOWN_FIELD	 (KEY_MAX + 16)	/* move to down to field	*/
+
+#define REQ_NEXT_CHAR	 (KEY_MAX + 17)	/* move to next char in field	*/
+#define REQ_PREV_CHAR	 (KEY_MAX + 18)	/* move to prev char in field	*/
+#define REQ_NEXT_LINE	 (KEY_MAX + 19)	/* move to next line in field	*/
+#define REQ_PREV_LINE	 (KEY_MAX + 20)	/* move to prev line in field	*/
+#define REQ_NEXT_WORD	 (KEY_MAX + 21)	/* move to next word in field	*/
+#define REQ_PREV_WORD	 (KEY_MAX + 22)	/* move to prev word in field	*/
+#define REQ_BEG_FIELD	 (KEY_MAX + 23)	/* move to first char in field	*/
+#define REQ_END_FIELD	 (KEY_MAX + 24)	/* move after last char in fld	*/
+#define REQ_BEG_LINE	 (KEY_MAX + 25)	/* move to beginning of line	*/
+#define REQ_END_LINE	 (KEY_MAX + 26)	/* move after last char in line	*/
+#define REQ_LEFT_CHAR	 (KEY_MAX + 27)	/* move left in field		*/
+#define REQ_RIGHT_CHAR	 (KEY_MAX + 28)	/* move right in field		*/
+#define REQ_UP_CHAR	 (KEY_MAX + 29)	/* move up in field		*/
+#define REQ_DOWN_CHAR	 (KEY_MAX + 30)	/* move down in field		*/
+
+#define REQ_NEW_LINE	 (KEY_MAX + 31)	/* insert/overlay new line	*/
+#define REQ_INS_CHAR	 (KEY_MAX + 32)	/* insert blank char at cursor	*/
+#define REQ_INS_LINE	 (KEY_MAX + 33)	/* insert blank line at cursor	*/
+#define REQ_DEL_CHAR	 (KEY_MAX + 34)	/* delete char at cursor	*/
+#define REQ_DEL_PREV	 (KEY_MAX + 35)	/* delete char before cursor	*/
+#define REQ_DEL_LINE	 (KEY_MAX + 36)	/* delete line at cursor	*/
+#define REQ_DEL_WORD	 (KEY_MAX + 37)	/* delete word at cursor	*/
+#define REQ_CLR_EOL	 (KEY_MAX + 38)	/* clear to end of line		*/
+#define REQ_CLR_EOF	 (KEY_MAX + 39)	/* clear to end of field	*/
+#define REQ_CLR_FIELD	 (KEY_MAX + 40)	/* clear entire field		*/
+#define REQ_OVL_MODE	 (KEY_MAX + 41)	/* begin overlay mode		*/
+#define REQ_INS_MODE	 (KEY_MAX + 42)	/* begin insert mode		*/
+#define REQ_SCR_FLINE	 (KEY_MAX + 43)	/* scroll field forward a line	*/
+#define REQ_SCR_BLINE	 (KEY_MAX + 44)	/* scroll field backward a line	*/
+#define REQ_SCR_FPAGE	 (KEY_MAX + 45)	/* scroll field forward a page	*/
+#define REQ_SCR_BPAGE	 (KEY_MAX + 46)	/* scroll field backward a page	*/
+#define REQ_SCR_FHPAGE	 (KEY_MAX + 47) /* scroll field forward	 half page */
+#define REQ_SCR_BHPAGE	 (KEY_MAX + 48) /* scroll field backward half page */
+#define REQ_SCR_FCHAR	 (KEY_MAX + 49) /* horizontal scroll char	*/
+#define REQ_SCR_BCHAR	 (KEY_MAX + 50) /* horizontal scroll char	*/
+#define REQ_SCR_HFLINE	 (KEY_MAX + 51) /* horizontal scroll line	*/
+#define REQ_SCR_HBLINE	 (KEY_MAX + 52) /* horizontal scroll line	*/
+#define REQ_SCR_HFHALF	 (KEY_MAX + 53) /* horizontal scroll half line	*/
+#define REQ_SCR_HBHALF	 (KEY_MAX + 54) /* horizontal scroll half line	*/
+
+#define REQ_VALIDATION	 (KEY_MAX + 55)	/* validate field		*/
+#define REQ_NEXT_CHOICE	 (KEY_MAX + 56)	/* display next field choice	*/
+#define REQ_PREV_CHOICE	 (KEY_MAX + 57)	/* display prev field choice	*/
+
+#define MIN_FORM_COMMAND (KEY_MAX + 1)	/* used by form_driver		*/
+#define MAX_FORM_COMMAND (KEY_MAX + 57)	/* used by form_driver		*/
+
+#if defined(MAX_COMMAND)
+#  if (MAX_FORM_COMMAND > MAX_COMMAND)
+#    error Something is wrong -- MAX_FORM_COMMAND is greater than MAX_COMMAND
+#  elif (MAX_COMMAND != (KEY_MAX + 128))
+#    error Something is wrong -- MAX_COMMAND is already inconsistently defined.
+#  endif
+#else
+#  define MAX_COMMAND (KEY_MAX + 128)
+#endif
+
+	/*************************
+	*  standard field types  *
+	*************************/
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
+
+	/************************************
+	*  built-in additional field types  *
+	*  They are not defined in SVr4     *
+	************************************/
+extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4;      /* Internet IP Version 4 address */
+
+	/***********************
+	*  FIELDTYPE routines  *
+	***********************/
+extern NCURSES_EXPORT(FIELDTYPE *) new_fieldtype (
+		    bool (* const field_check)(FIELD *,const void *),
+		    bool (* const char_check)(int,const void *));
+extern NCURSES_EXPORT(FIELDTYPE *) link_fieldtype(
+		    FIELDTYPE *, FIELDTYPE *);
+
+extern NCURSES_EXPORT(int)	free_fieldtype (FIELDTYPE *);
+extern NCURSES_EXPORT(int)	set_fieldtype_arg (FIELDTYPE *,
+		    void * (* const make_arg)(va_list *),
+		    void * (* const copy_arg)(const void *),
+		    void (* const free_arg)(void *));
+extern NCURSES_EXPORT(int)	 set_fieldtype_choice (FIELDTYPE *,
+		    bool (* const next_choice)(FIELD *,const void *),
+	      	    bool (* const prev_choice)(FIELD *,const void *));
+
+	/*******************
+	*  FIELD routines  *
+	*******************/
+extern NCURSES_EXPORT(FIELD *)	new_field (int,int,int,int,int,int);
+extern NCURSES_EXPORT(FIELD *)	dup_field (FIELD *,int,int);
+extern NCURSES_EXPORT(FIELD *)	link_field (FIELD *,int,int);
+
+extern NCURSES_EXPORT(int)	free_field (FIELD *);
+extern NCURSES_EXPORT(int)	field_info (const FIELD *,int *,int *,int *,int *,int *,int *);
+extern NCURSES_EXPORT(int)	dynamic_field_info (const FIELD *,int *,int *,int *);
+extern NCURSES_EXPORT(int)	set_max_field ( FIELD *,int);
+extern NCURSES_EXPORT(int)	move_field (FIELD *,int,int);
+extern NCURSES_EXPORT(int)	set_field_type (FIELD *,FIELDTYPE *,...);
+extern NCURSES_EXPORT(int)	set_new_page (FIELD *,bool);
+extern NCURSES_EXPORT(int)	set_field_just (FIELD *,int);
+extern NCURSES_EXPORT(int)	field_just (const FIELD *);
+extern NCURSES_EXPORT(int)	set_field_fore (FIELD *,chtype);
+extern NCURSES_EXPORT(int)	set_field_back (FIELD *,chtype);
+extern NCURSES_EXPORT(int)	set_field_pad (FIELD *,int);
+extern NCURSES_EXPORT(int)	field_pad (const FIELD *);
+extern NCURSES_EXPORT(int)	set_field_buffer (FIELD *,int,const char *);
+extern NCURSES_EXPORT(int)	set_field_status (FIELD *,bool);
+extern NCURSES_EXPORT(int)	set_field_userptr (FIELD *, void *);
+extern NCURSES_EXPORT(int)	set_field_opts (FIELD *,Field_Options);
+extern NCURSES_EXPORT(int)	field_opts_on (FIELD *,Field_Options);
+extern NCURSES_EXPORT(int)	field_opts_off (FIELD *,Field_Options);
+
+extern NCURSES_EXPORT(chtype)	field_fore (const FIELD *);
+extern NCURSES_EXPORT(chtype)	field_back (const FIELD *);
+
+extern NCURSES_EXPORT(bool)	new_page (const FIELD *);
+extern NCURSES_EXPORT(bool)	field_status (const FIELD *);
+
+extern NCURSES_EXPORT(void *)	field_arg (const FIELD *);
+
+extern NCURSES_EXPORT(void *)	field_userptr (const FIELD *);
+
+extern NCURSES_EXPORT(FIELDTYPE *)	field_type (const FIELD *);
+
+extern NCURSES_EXPORT(char *)	field_buffer (const FIELD *,int);
+
+extern NCURSES_EXPORT(Field_Options)	field_opts (const FIELD *);
+
+	/******************
+	*  FORM routines  *
+	******************/
+
+extern NCURSES_EXPORT(FORM *)	new_form (FIELD **);
+
+extern NCURSES_EXPORT(FIELD **)	form_fields (const FORM *);
+extern NCURSES_EXPORT(FIELD *)	current_field (const FORM *);
+
+extern NCURSES_EXPORT(WINDOW *)	form_win (const FORM *);
+extern NCURSES_EXPORT(WINDOW *)	form_sub (const FORM *);
+
+extern NCURSES_EXPORT(Form_Hook)	form_init (const FORM *);
+extern NCURSES_EXPORT(Form_Hook)	form_term (const FORM *);
+extern NCURSES_EXPORT(Form_Hook)	field_init (const FORM *);
+extern NCURSES_EXPORT(Form_Hook)	field_term (const FORM *);
+
+extern NCURSES_EXPORT(int)	free_form (FORM *);
+extern NCURSES_EXPORT(int)	set_form_fields (FORM *,FIELD **);
+extern NCURSES_EXPORT(int)	field_count (const FORM *);
+extern NCURSES_EXPORT(int)	set_form_win (FORM *,WINDOW *);
+extern NCURSES_EXPORT(int)	set_form_sub (FORM *,WINDOW *);
+extern NCURSES_EXPORT(int)	set_current_field (FORM *,FIELD *);
+extern NCURSES_EXPORT(int)	field_index (const FIELD *);
+extern NCURSES_EXPORT(int)	set_form_page (FORM *,int);
+extern NCURSES_EXPORT(int)	form_page (const FORM *);
+extern NCURSES_EXPORT(int)	scale_form (const FORM *,int *,int *);
+extern NCURSES_EXPORT(int)	set_form_init (FORM *,Form_Hook);
+extern NCURSES_EXPORT(int)	set_form_term (FORM *,Form_Hook);
+extern NCURSES_EXPORT(int)	set_field_init (FORM *,Form_Hook);
+extern NCURSES_EXPORT(int)	set_field_term (FORM *,Form_Hook);
+extern NCURSES_EXPORT(int)	post_form (FORM *);
+extern NCURSES_EXPORT(int)	unpost_form (FORM *);
+extern NCURSES_EXPORT(int)	pos_form_cursor (FORM *);
+extern NCURSES_EXPORT(int)	form_driver (FORM *,int);
+# if NCURSES_WIDECHAR
+extern NCURSES_EXPORT(int)	form_driver_w (FORM *,int,wchar_t);
+# endif
+extern NCURSES_EXPORT(int)	set_form_userptr (FORM *,void *);
+extern NCURSES_EXPORT(int)	set_form_opts (FORM *,Form_Options);
+extern NCURSES_EXPORT(int)	form_opts_on (FORM *,Form_Options);
+extern NCURSES_EXPORT(int)	form_opts_off (FORM *,Form_Options);
+extern NCURSES_EXPORT(int)	form_request_by_name (const char *);
+
+extern NCURSES_EXPORT(const char *)	form_request_name (int);
+
+extern NCURSES_EXPORT(void *)	form_userptr (const FORM *);
+
+extern NCURSES_EXPORT(Form_Options)	form_opts (const FORM *);
+
+extern NCURSES_EXPORT(bool)	data_ahead (const FORM *);
+extern NCURSES_EXPORT(bool)	data_behind (const FORM *);
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(FORM *)	NCURSES_SP_NAME(new_form) (SCREEN*, FIELD **);
+#endif
+
+#ifdef __cplusplus
+  }
+#endif
+/* *INDENT-ON*/
+
+#endif /* FORM_H */
diff --git a/include/hashsize.h b/include/hashsize.h
new file mode 100644
index 0000000..478fd59
--- /dev/null
+++ b/include/hashsize.h
@@ -0,0 +1,6 @@
+/*
+ * hashsize.h -- hash and token table constants
+ */
+
+#define CAPTABSIZE	497
+#define HASHTABSIZE	(497 * 2)
diff --git a/include/menu.h b/include/menu.h
new file mode 100644
index 0000000..4eeac01
--- /dev/null
+++ b/include/menu.h
@@ -0,0 +1,260 @@
+/****************************************************************************
+ * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: menu.h,v 1.20 2009/04/05 00:28:07 tom Exp $ */
+
+#ifndef ETI_MENU
+#define ETI_MENU
+
+#ifdef AMIGA
+#define TEXT TEXT_ncurses
+#endif
+
+#include <curses.h>
+#include <eti.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef int Menu_Options;
+typedef int Item_Options;
+
+/* Menu options: */
+#define O_ONEVALUE      (0x01)
+#define O_SHOWDESC      (0x02)
+#define O_ROWMAJOR      (0x04)
+#define O_IGNORECASE    (0x08)
+#define O_SHOWMATCH     (0x10)
+#define O_NONCYCLIC     (0x20)
+
+/* Item options: */
+#define O_SELECTABLE    (0x01)
+
+typedef struct
+{
+  const char* str;
+  unsigned short length;
+} TEXT;
+
+typedef struct tagITEM 
+{
+  TEXT           name;        /* name of menu item                         */
+  TEXT           description; /* description of item, optional in display  */ 
+  struct tagMENU *imenu;      /* Pointer to parent menu                    */
+  void           *userptr;    /* Pointer to user defined per item data     */ 
+  Item_Options   opt;         /* Item options                              */ 
+  short          index;       /* Item number if connected to a menu        */
+  short          y;           /* y and x location of item in menu          */
+  short          x;
+  bool           value;       /* Selection value                           */
+                             
+  struct tagITEM *left;       /* neighbor items                            */
+  struct tagITEM *right;
+  struct tagITEM *up;
+  struct tagITEM *down;
+
+} ITEM;
+
+typedef void (*Menu_Hook)(struct tagMENU *);
+
+typedef struct tagMENU 
+{
+  short          height;                /* Nr. of chars high               */
+  short          width;                 /* Nr. of chars wide               */
+  short          rows;                  /* Nr. of items high               */
+  short          cols;                  /* Nr. of items wide               */
+  short          frows;                 /* Nr. of formatted items high     */
+  short          fcols;                 /* Nr. of formatted items wide     */
+  short          arows;                 /* Nr. of items high (actual)      */
+  short          namelen;               /* Max. name length                */
+  short          desclen;               /* Max. description length         */
+  short          marklen;               /* Length of mark, if any          */
+  short          itemlen;               /* Length of one item              */
+  short          spc_desc;              /* Spacing for descriptor          */
+  short          spc_cols;              /* Spacing for columns             */
+  short          spc_rows;              /* Spacing for rows                */ 
+  char          *pattern;               /* Buffer to store match chars     */
+  short          pindex;                /* Index into pattern buffer       */
+  WINDOW        *win;                   /* Window containing menu          */
+  WINDOW        *sub;                   /* Subwindow for menu display      */
+  WINDOW        *userwin;               /* User's window                   */
+  WINDOW        *usersub;               /* User's subwindow                */
+  ITEM          **items;                /* array of items                  */ 
+  short          nitems;                /* Nr. of items in menu            */
+  ITEM          *curitem;               /* Current item                    */
+  short          toprow;                /* Top row of menu                 */
+  chtype         fore;                  /* Selection attribute             */
+  chtype         back;                  /* Nonselection attribute          */
+  chtype         grey;                  /* Inactive attribute              */
+  unsigned char  pad;                   /* Pad character                   */
+
+  Menu_Hook      menuinit;              /* User hooks                      */
+  Menu_Hook      menuterm;
+  Menu_Hook      iteminit;
+  Menu_Hook      itemterm;
+
+  void          *userptr;               /* Pointer to menus user data      */
+  char          *mark;                  /* Pointer to marker string        */
+
+  Menu_Options   opt;                   /* Menu options                    */
+  unsigned short status;                /* Internal state of menu          */
+
+} MENU;
+
+
+/* Define keys */
+
+#define REQ_LEFT_ITEM           (KEY_MAX + 1)
+#define REQ_RIGHT_ITEM          (KEY_MAX + 2)
+#define REQ_UP_ITEM             (KEY_MAX + 3)
+#define REQ_DOWN_ITEM           (KEY_MAX + 4)
+#define REQ_SCR_ULINE           (KEY_MAX + 5)
+#define REQ_SCR_DLINE           (KEY_MAX + 6)
+#define REQ_SCR_DPAGE           (KEY_MAX + 7)
+#define REQ_SCR_UPAGE           (KEY_MAX + 8)
+#define REQ_FIRST_ITEM          (KEY_MAX + 9)
+#define REQ_LAST_ITEM           (KEY_MAX + 10)
+#define REQ_NEXT_ITEM           (KEY_MAX + 11)
+#define REQ_PREV_ITEM           (KEY_MAX + 12)
+#define REQ_TOGGLE_ITEM         (KEY_MAX + 13)
+#define REQ_CLEAR_PATTERN       (KEY_MAX + 14)
+#define REQ_BACK_PATTERN        (KEY_MAX + 15)
+#define REQ_NEXT_MATCH          (KEY_MAX + 16)
+#define REQ_PREV_MATCH          (KEY_MAX + 17)
+
+#define MIN_MENU_COMMAND        (KEY_MAX + 1)
+#define MAX_MENU_COMMAND        (KEY_MAX + 17)
+
+/*
+ * Some AT&T code expects MAX_COMMAND to be out-of-band not
+ * just for menu commands but for forms ones as well.
+ */
+#if defined(MAX_COMMAND)
+#  if (MAX_MENU_COMMAND > MAX_COMMAND)
+#    error Something is wrong -- MAX_MENU_COMMAND is greater than MAX_COMMAND
+#  elif (MAX_COMMAND != (KEY_MAX + 128))
+#    error Something is wrong -- MAX_COMMAND is already inconsistently defined.
+#  endif
+#else
+#  define MAX_COMMAND (KEY_MAX + 128)
+#endif
+
+
+/* --------- prototypes for libmenu functions ----------------------------- */
+
+extern NCURSES_EXPORT(ITEM **)	menu_items (const MENU *);
+extern NCURSES_EXPORT(ITEM *)	current_item (const MENU *);
+extern NCURSES_EXPORT(ITEM *)	new_item (const char *,const char *);
+
+extern NCURSES_EXPORT(MENU *)	new_menu (ITEM **);
+
+extern NCURSES_EXPORT(Item_Options)	item_opts (const ITEM *);
+extern NCURSES_EXPORT(Menu_Options)	menu_opts (const MENU *);
+
+extern NCURSES_EXPORT(Menu_Hook)	item_init (const MENU *);
+extern NCURSES_EXPORT(Menu_Hook)	item_term (const MENU *);
+extern NCURSES_EXPORT(Menu_Hook)	menu_init (const MENU *);
+extern NCURSES_EXPORT(Menu_Hook)	menu_term (const MENU *);
+
+extern NCURSES_EXPORT(WINDOW *)	menu_sub (const MENU *);
+extern NCURSES_EXPORT(WINDOW *)	menu_win (const MENU *);
+
+extern NCURSES_EXPORT(const char *)	item_description (const ITEM *);
+extern NCURSES_EXPORT(const char *)	item_name (const ITEM *);
+extern NCURSES_EXPORT(const char *)	menu_mark (const MENU *);
+extern NCURSES_EXPORT(const char *)	menu_request_name (int);
+
+extern NCURSES_EXPORT(char *)	menu_pattern (const MENU *);
+
+extern NCURSES_EXPORT(void *)	menu_userptr (const MENU *);
+extern NCURSES_EXPORT(void *)	item_userptr (const ITEM *);
+
+extern NCURSES_EXPORT(chtype)	menu_back (const MENU *);
+extern NCURSES_EXPORT(chtype)	menu_fore (const MENU *);
+extern NCURSES_EXPORT(chtype)	menu_grey (const MENU *);
+
+extern NCURSES_EXPORT(int)	free_item (ITEM *);
+extern NCURSES_EXPORT(int)	free_menu (MENU *);
+extern NCURSES_EXPORT(int)	item_count (const MENU *);
+extern NCURSES_EXPORT(int)	item_index (const ITEM *);
+extern NCURSES_EXPORT(int)	item_opts_off (ITEM *,Item_Options);
+extern NCURSES_EXPORT(int)	item_opts_on (ITEM *,Item_Options);
+extern NCURSES_EXPORT(int)	menu_driver (MENU *,int);
+extern NCURSES_EXPORT(int)	menu_opts_off (MENU *,Menu_Options);
+extern NCURSES_EXPORT(int)	menu_opts_on (MENU *,Menu_Options);
+extern NCURSES_EXPORT(int)	menu_pad (const MENU *);
+extern NCURSES_EXPORT(int)	pos_menu_cursor (const MENU *);
+extern NCURSES_EXPORT(int)	post_menu (MENU *);
+extern NCURSES_EXPORT(int)	scale_menu (const MENU *,int *,int *);
+extern NCURSES_EXPORT(int)	set_current_item (MENU *menu,ITEM *item);
+extern NCURSES_EXPORT(int)	set_item_init (MENU *, Menu_Hook);
+extern NCURSES_EXPORT(int)	set_item_opts (ITEM *,Item_Options);
+extern NCURSES_EXPORT(int)	set_item_term (MENU *, Menu_Hook);
+extern NCURSES_EXPORT(int)	set_item_userptr (ITEM *, void *);
+extern NCURSES_EXPORT(int)	set_item_value (ITEM *,bool);
+extern NCURSES_EXPORT(int)	set_menu_back (MENU *,chtype);
+extern NCURSES_EXPORT(int)	set_menu_fore (MENU *,chtype);
+extern NCURSES_EXPORT(int)	set_menu_format (MENU *,int,int);
+extern NCURSES_EXPORT(int)	set_menu_grey (MENU *,chtype);
+extern NCURSES_EXPORT(int)	set_menu_init (MENU *, Menu_Hook);
+extern NCURSES_EXPORT(int)	set_menu_items (MENU *,ITEM **);
+extern NCURSES_EXPORT(int)	set_menu_mark (MENU *, const char *);
+extern NCURSES_EXPORT(int)	set_menu_opts (MENU *,Menu_Options);
+extern NCURSES_EXPORT(int)	set_menu_pad (MENU *,int);
+extern NCURSES_EXPORT(int)	set_menu_pattern (MENU *,const char *);
+extern NCURSES_EXPORT(int)	set_menu_sub (MENU *,WINDOW *);
+extern NCURSES_EXPORT(int)	set_menu_term (MENU *, Menu_Hook);
+extern NCURSES_EXPORT(int)	set_menu_userptr (MENU *,void *);
+extern NCURSES_EXPORT(int)	set_menu_win (MENU *,WINDOW *);
+extern NCURSES_EXPORT(int)	set_top_row (MENU *,int);
+extern NCURSES_EXPORT(int)	top_row (const MENU *);
+extern NCURSES_EXPORT(int)	unpost_menu (MENU *);
+extern NCURSES_EXPORT(int)	menu_request_by_name (const char *);
+extern NCURSES_EXPORT(int)	set_menu_spacing (MENU *,int,int,int);
+extern NCURSES_EXPORT(int)	menu_spacing (const MENU *,int *,int *,int *);
+
+
+extern NCURSES_EXPORT(bool)	item_value (const ITEM *);
+extern NCURSES_EXPORT(bool)	item_visible (const ITEM *);
+
+extern NCURSES_EXPORT(void)	menu_format (const MENU *,int *,int *);
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(MENU *)	NCURSES_SP_NAME(new_menu) (SCREEN*, ITEM **);
+#endif
+
+#ifdef __cplusplus
+  }
+#endif
+
+#endif /* ETI_MENU */
diff --git a/include/mf_common.h b/include/mf_common.h
new file mode 100644
index 0000000..cff6563
--- /dev/null
+++ b/include/mf_common.h
@@ -0,0 +1,97 @@
+/****************************************************************************
+ * Copyright (c) 1998-2004,2012 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: mf_common.h,v 0.24 2012/06/10 00:06:54 tom Exp $ */
+
+/* Common internal header for menu and form library */
+
+#ifndef MF_COMMON_H_incl
+#define MF_COMMON_H_incl 1
+
+#include <ncurses_cfg.h>
+#include <curses.h>
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+
+#if DECL_ERRNO
+extern int errno;
+#endif
+
+/* in case of debug version we ignore the suppression of assertions */
+#ifdef TRACE
+#  ifdef NDEBUG
+#    undef NDEBUG
+#  endif
+#endif
+
+#include <nc_alloc.h>
+
+#if USE_RCS_IDS
+#define MODULE_ID(id) static const char Ident[] = id;
+#else
+#define MODULE_ID(id)		/*nothing */
+#endif
+
+/* Maximum regular 8-bit character code */
+#define MAX_REGULAR_CHARACTER (0xff)
+
+#define SET_ERROR(code) (errno=(code))
+#define GET_ERROR()     (errno)
+
+#ifdef TRACE
+#define RETURN(code)    returnCode( SET_ERROR(code) )
+#else
+#define RETURN(code)    return( SET_ERROR(code) )
+#endif
+
+/* The few common values in the status fields for menus and forms */
+#define _POSTED         (0x01U)	/* menu or form is posted                  */
+#define _IN_DRIVER      (0x02U)	/* menu or form is processing hook routine */
+
+#define SetStatus(target,mask) (target)->status |= (unsigned short) (mask)
+#define ClrStatus(target,mask) (target)->status = (unsigned short) (target->status & (~mask))
+
+/* Call object hook */
+#define Call_Hook( object, handler ) \
+   if ( (object) != 0 && ((object)->handler) != (void *) 0 )\
+   {\
+	SetStatus(object, _IN_DRIVER);\
+	(object)->handler(object);\
+	ClrStatus(object, _IN_DRIVER);\
+   }
+
+#endif /* MF_COMMON_H_incl */
diff --git a/include/ncurses.h b/include/ncurses.h
new file mode 120000
index 0000000..149de6c
--- /dev/null
+++ b/include/ncurses.h
@@ -0,0 +1 @@
+curses.h
\ No newline at end of file
diff --git a/include/ncurses_cfg.h b/include/ncurses_cfg.h
new file mode 100644
index 0000000..c13d399
--- /dev/null
+++ b/include/ncurses_cfg.h
@@ -0,0 +1,201 @@
+/* include/ncurses_cfg.h.  Generated automatically by configure.  */
+/****************************************************************************
+ * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Thomas E. Dickey <dickey@clark.net> 1997                        *
+ ****************************************************************************/
+/*
+ * $Id: ncurses_cfg.hin,v 1.7 2005/01/02 01:26:58 tom Exp $
+ *
+ * This is a template-file used to generate the "ncurses_cfg.h" file.
+ *
+ * Rather than list every definition, the configuration script substitutes the
+ * definitions that it finds using 'sed'.  You need a patch (original date
+ * 971222) to autoconf 2.12 or 2.13 to do this.
+ *
+ * See:
+ *	http://invisible-island.net/autoconf/
+ *	ftp://invisible-island.net/autoconf/
+ */
+#ifndef NC_CONFIG_H
+#define NC_CONFIG_H
+
+#define PACKAGE "ncurses"
+#define NCURSES_VERSION "6.0"
+#define NCURSES_PATCHDATE 20150808
+#define SYSTEM_NAME "linux-androideabi"
+#if 0
+void exit (int);
+#endif
+#define HAVE_LONG_FILE_NAMES 1
+#define MIXEDCASE_FILENAMES 1
+#define TERMINFO_DIRS "/system/etc/terminfo"
+#define TERMINFO "/system/etc/terminfo"
+#define PURE_TERMINFO 1
+#define USE_HOME_TERMINFO 1
+#define USE_ROOT_ENVIRON 1
+#define HAVE_REMOVE 1
+#define HAVE_UNLINK 1
+#define HAVE_LINK 1
+#define HAVE_SYMLINK 1
+#define USE_LINKS 1
+#define _FILE_OFFSET_BITS 64
+#define HAVE_FSEEKO 1
+#define HAVE_ASSUME_DEFAULT_COLORS 1
+#define HAVE_CURSES_VERSION 1
+#define HAVE_HAS_KEY 1
+#define HAVE_RESIZETERM 1
+#define HAVE_RESIZE_TERM 1
+#define HAVE_TERM_ENTRY_H 1
+#define HAVE_USE_DEFAULT_COLORS 1
+#define HAVE_USE_SCREEN 1
+#define HAVE_USE_WINDOW 1
+#define HAVE_WRESIZE 1
+#define NCURSES_EXT_FUNCS 1
+#define NCURSES_SP_FUNCS 1
+#define NCURSES_EXT_PUTWIN 1
+#define NCURSES_NO_PADDING 1
+#define STDC_HEADERS 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UNISTD_H 1
+#define SIZEOF_SIGNED_CHAR 1
+#define USE_SIGWINCH 1
+#define USE_ASSUMED_COLOR 1
+#define USE_HASHMAP 1
+#define NCURSES_WRAP_PREFIX "_nc_"
+#define GCC_SCANF 1
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+#define GCC_PRINTF 1
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#define GCC_UNUSED __attribute__((unused))
+#define GCC_NORETURN __attribute__((noreturn))
+#define HAVE_NC_ALLOC_H 1
+#define HAVE_GETTIMEOFDAY 1
+#define STDC_HEADERS 1
+#define HAVE_DIRENT_H 1
+#define TIME_WITH_SYS_TIME 1
+#define HAVE_REGEX_H_FUNCS 1
+#define HAVE_FCNTL_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALE_H 1
+#define HAVE_MATH_H 1
+#define HAVE_POLL_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TIMES_H 1
+#define HAVE_TTYENT_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_HEADER 1
+#define HAVE_SYS_TIME_SELECT 1
+#define SIG_ATOMIC_T volatile sig_atomic_t
+#define HAVE_GETCWD 1
+#define HAVE_GETEGID 1
+#define HAVE_GETEUID 1
+#define HAVE_GETOPT 1
+#define HAVE_ISSETUGID 1
+#define HAVE_POLL 1
+#define HAVE_PUTENV 1
+#define HAVE_REMOVE 1
+#define HAVE_SELECT 1
+#define HAVE_SETBUF 1
+#define HAVE_SETBUFFER 1
+#define HAVE_SETENV 1
+#define HAVE_SETVBUF 1
+#define HAVE_SIGACTION 1
+#define HAVE_STRDUP 1
+#define HAVE_STRSTR 1
+#define HAVE_TCGETPGRP 1
+#define HAVE_TIMES 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_ISASCII 1
+#define HAVE_TERMIO_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_TCGETATTR 1
+#define HAVE_VSSCANF 1
+#define HAVE_MKSTEMP 1
+#define HAVE_SIZECHANGE 1
+#define HAVE_VA_COPY 1
+#define HAVE___VA_COPY 1
+#define HAVE_UNISTD_H 1
+#define HAVE_FORK 1
+#define HAVE_VFORK 1
+#define HAVE_WORKING_VFORK 1
+#define HAVE_WORKING_FORK 1
+#define USE_OPENPTY_HEADER <pty.h>
+#define USE_XTERM_PTY 1
+#define HAVE_SLK_COLOR 1
+#define HAVE_PANEL_H 1
+#define HAVE_LIBPANEL 1
+#define HAVE_MENU_H 1
+#define HAVE_LIBMENU 1
+#define HAVE_FORM_H 1
+#define HAVE_LIBFORM 1
+#define NCURSES_PATHSEP ':'
+#define NCURSES_VERSION_STRING "6.0.20150808"
+#define NCURSES_OSPEED_COMPAT 1
+
+#include <ncurses_def.h>
+
+	/* The C compiler may not treat these properly but C++ has to */
+#ifdef __cplusplus
+#undef const
+#undef inline
+#else
+#if defined(lint) || defined(TRACE)
+#undef inline
+#define inline /* nothing */
+#endif
+#endif
+
+	/* On HP-UX, the C compiler doesn't grok mbstate_t without
+	   -D_XOPEN_SOURCE=500. However, this causes problems on
+	   IRIX. So, we #define mbstate_t to int in configure.in
+	   only for the C compiler if needed. */
+#ifndef __cplusplus
+#ifdef NEED_MBSTATE_T_DEF
+#define mbstate_t int
+#endif
+#endif
+
+#endif /* NC_CONFIG_H */
diff --git a/include/ncurses_def.h b/include/ncurses_def.h
new file mode 100644
index 0000000..e4ced67
--- /dev/null
+++ b/include/ncurses_def.h
@@ -0,0 +1,792 @@
+/*
+ * This file is generated by ./MKncurses_def.sh
+ */
+
+#ifndef NC_DEFINE_H
+#define NC_DEFINE_H 1
+
+#ifndef BROKEN_LINKER
+#define BROKEN_LINKER 0
+#endif
+
+#ifndef BSD_TPUTS
+#define BSD_TPUTS 0
+#endif
+
+#ifndef CGETENT_CONST
+#define CGETENT_CONST /* nothing */
+#endif
+
+#ifndef CPP_HAS_PARAM_INIT
+#define CPP_HAS_PARAM_INIT 0
+#endif
+
+#ifndef CURSES_ACS_ARRAY
+#define CURSES_ACS_ARRAY acs_map
+#endif
+
+#ifndef CURSES_WACS_ARRAY
+#define CURSES_WACS_ARRAY _nc_wacs
+#endif
+
+#ifndef DECL_ERRNO
+#define DECL_ERRNO 0
+#endif
+
+#ifndef ETIP_NEEDS_MATH_H
+#define ETIP_NEEDS_MATH_H 0
+#endif
+
+#ifndef GCC_NORETURN
+#define GCC_NORETURN /* nothing */
+#endif
+
+#ifndef GCC_UNUSED
+#define GCC_UNUSED /* nothing */
+#endif
+
+#ifndef HAVE_ASSUME_DEFAULT_COLORS
+#define HAVE_ASSUME_DEFAULT_COLORS 0
+#endif
+
+#ifndef HAVE_BIG_CORE
+#define HAVE_BIG_CORE 0
+#endif
+
+#ifndef HAVE_BSD_CGETENT
+#define HAVE_BSD_CGETENT 0
+#endif
+
+#ifndef HAVE_BSD_SIGNAL_H
+#define HAVE_BSD_SIGNAL_H 0
+#endif
+
+#ifndef HAVE_BTOWC
+#define HAVE_BTOWC 0
+#endif
+
+#ifndef HAVE_BUILTIN_H
+#define HAVE_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_CHGAT
+#define HAVE_CHGAT 1
+#endif
+
+#ifndef HAVE_COLOR_SET
+#define HAVE_COLOR_SET 1
+#endif
+
+#ifndef HAVE_DIRENT_H
+#define HAVE_DIRENT_H 0
+#endif
+
+#ifndef HAVE_ERRNO
+#define HAVE_ERRNO 0
+#endif
+
+#ifndef HAVE_FCNTL_H
+#define HAVE_FCNTL_H 0
+#endif
+
+#ifndef HAVE_FILTER
+#define HAVE_FILTER 1
+#endif
+
+#ifndef HAVE_FORM_H
+#define HAVE_FORM_H 0
+#endif
+
+#ifndef HAVE_GETBEGX
+#define HAVE_GETBEGX 1
+#endif
+
+#ifndef HAVE_GETCURX
+#define HAVE_GETCURX 1
+#endif
+
+#ifndef HAVE_GETCWD
+#define HAVE_GETCWD 0
+#endif
+
+#ifndef HAVE_GETEGID
+#define HAVE_GETEGID 0
+#endif
+
+#ifndef HAVE_GETEUID
+#define HAVE_GETEUID 0
+#endif
+
+#ifndef HAVE_GETMAXX
+#define HAVE_GETMAXX 1
+#endif
+
+#ifndef HAVE_GETNSTR
+#define HAVE_GETNSTR 0
+#endif
+
+#ifndef HAVE_GETOPT_H
+#define HAVE_GETOPT_H 0
+#endif
+
+#ifndef HAVE_GETPARX
+#define HAVE_GETPARX 1
+#endif
+
+#ifndef HAVE_GETTIMEOFDAY
+#define HAVE_GETTIMEOFDAY 0
+#endif
+
+#ifndef HAVE_GETTTYNAM
+#define HAVE_GETTTYNAM 0
+#endif
+
+#ifndef HAVE_GETWIN
+#define HAVE_GETWIN 1
+#endif
+
+#ifndef HAVE_GPM_H
+#define HAVE_GPM_H 0
+#endif
+
+#ifndef HAVE_GPP_BUILTIN_H
+#define HAVE_GPP_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_GXX_BUILTIN_H
+#define HAVE_GXX_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_HAS_KEY
+#define HAVE_HAS_KEY 0
+#endif
+
+#ifndef HAVE_INTTYPES_H
+#define HAVE_INTTYPES_H 0
+#endif
+
+#ifndef HAVE_IOSTREAM
+#define HAVE_IOSTREAM 0
+#endif
+
+#ifndef HAVE_ISASCII
+#define HAVE_ISASCII 0
+#endif
+
+#ifndef HAVE_ISSETUGID
+#define HAVE_ISSETUGID 0
+#endif
+
+#ifndef HAVE_LANGINFO_CODESET
+#define HAVE_LANGINFO_CODESET 0
+#endif
+
+#ifndef HAVE_LIBC_H
+#define HAVE_LIBC_H 0
+#endif
+
+#ifndef HAVE_LIBDBMALLOC
+#define HAVE_LIBDBMALLOC 0
+#endif
+
+#ifndef HAVE_LIBDMALLOC
+#define HAVE_LIBDMALLOC 0
+#endif
+
+#ifndef HAVE_LIBFORM
+#define HAVE_LIBFORM 0
+#endif
+
+#ifndef HAVE_LIBGPM
+#define HAVE_LIBGPM 0
+#endif
+
+#ifndef HAVE_LIBMENU
+#define HAVE_LIBMENU 0
+#endif
+
+#ifndef HAVE_LIBMPATROL
+#define HAVE_LIBMPATROL 0
+#endif
+
+#ifndef HAVE_LIBPANEL
+#define HAVE_LIBPANEL 0
+#endif
+
+#ifndef HAVE_LIMITS_H
+#define HAVE_LIMITS_H 0
+#endif
+
+#ifndef HAVE_LINK
+#define HAVE_LINK 0
+#endif
+
+#ifndef HAVE_LOCALE_H
+#define HAVE_LOCALE_H 0
+#endif
+
+#ifndef HAVE_LONG_FILE_NAMES
+#define HAVE_LONG_FILE_NAMES 0
+#endif
+
+#ifndef HAVE_MATH_H
+#define HAVE_MATH_H 0
+#endif
+
+#ifndef HAVE_MBLEN
+#define HAVE_MBLEN 0
+#endif
+
+#ifndef HAVE_MBRLEN
+#define HAVE_MBRLEN 0
+#endif
+
+#ifndef HAVE_MBRTOWC
+#define HAVE_MBRTOWC 0
+#endif
+
+#ifndef HAVE_MBSRTOWCS
+#define HAVE_MBSRTOWCS 0
+#endif
+
+#ifndef HAVE_MBSTOWCS
+#define HAVE_MBSTOWCS 0
+#endif
+
+#ifndef HAVE_MBTOWC
+#define HAVE_MBTOWC 0
+#endif
+
+#ifndef HAVE_MENU_H
+#define HAVE_MENU_H 0
+#endif
+
+#ifndef HAVE_MKSTEMP
+#define HAVE_MKSTEMP 0
+#endif
+
+#ifndef HAVE_MVVLINE
+#define HAVE_MVVLINE 1
+#endif
+
+#ifndef HAVE_MVWVLINE
+#define HAVE_MVWVLINE 1
+#endif
+
+#ifndef HAVE_NANOSLEEP
+#define HAVE_NANOSLEEP 0
+#endif
+
+#ifndef HAVE_NC_ALLOC_H
+#define HAVE_NC_ALLOC_H 0
+#endif
+
+#ifndef HAVE_PANEL_H
+#define HAVE_PANEL_H 0
+#endif
+
+#ifndef HAVE_POLL
+#define HAVE_POLL 0
+#endif
+
+#ifndef HAVE_POLL_H
+#define HAVE_POLL_H 0
+#endif
+
+#ifndef HAVE_PURIFY
+#define HAVE_PURIFY 0
+#endif
+
+#ifndef HAVE_PUTENV
+#define HAVE_PUTENV 0
+#endif
+
+#ifndef HAVE_PUTWC
+#define HAVE_PUTWC 0
+#endif
+
+#ifndef HAVE_PUTWIN
+#define HAVE_PUTWIN 1
+#endif
+
+#ifndef HAVE_REGEXPR_H_FUNCS
+#define HAVE_REGEXPR_H_FUNCS 0
+#endif
+
+#ifndef HAVE_REGEXP_H_FUNCS
+#define HAVE_REGEXP_H_FUNCS 0
+#endif
+
+#ifndef HAVE_REGEX_H_FUNCS
+#define HAVE_REGEX_H_FUNCS 0
+#endif
+
+#ifndef HAVE_REMOVE
+#define HAVE_REMOVE 0
+#endif
+
+#ifndef HAVE_RESIZETERM
+#define HAVE_RESIZETERM 0
+#endif
+
+#ifndef HAVE_RESIZE_TERM
+#define HAVE_RESIZE_TERM 0
+#endif
+
+#ifndef HAVE_RIPOFFLINE
+#define HAVE_RIPOFFLINE 1
+#endif
+
+#ifndef HAVE_SCR_DUMP
+#define HAVE_SCR_DUMP 1
+#endif
+
+#ifndef HAVE_SELECT
+#define HAVE_SELECT 0
+#endif
+
+#ifndef HAVE_SETBUF
+#define HAVE_SETBUF 0
+#endif
+
+#ifndef HAVE_SETBUFFER
+#define HAVE_SETBUFFER 0
+#endif
+
+#ifndef HAVE_SETENV
+#define HAVE_SETENV 0
+#endif
+
+#ifndef HAVE_SETUPTERM
+#define HAVE_SETUPTERM 1
+#endif
+
+#ifndef HAVE_SETVBUF
+#define HAVE_SETVBUF 0
+#endif
+
+#ifndef HAVE_SGTTY_H
+#define HAVE_SGTTY_H 0
+#endif
+
+#ifndef HAVE_SIGACTION
+#define HAVE_SIGACTION 0
+#endif
+
+#ifndef HAVE_SIGVEC
+#define HAVE_SIGVEC 0
+#endif
+
+#ifndef HAVE_SIZECHANGE
+#define HAVE_SIZECHANGE 0
+#endif
+
+#ifndef HAVE_SLK_COLOR
+#define HAVE_SLK_COLOR 0
+#endif
+
+#ifndef HAVE_SLK_INIT
+#define HAVE_SLK_INIT 1
+#endif
+
+#ifndef HAVE_SNPRINTF
+#define HAVE_SNPRINTF 0
+#endif
+
+#ifndef HAVE_STDINT_H
+#define HAVE_STDINT_H 0
+#endif
+
+#ifndef HAVE_STRDUP
+#define HAVE_STRDUP 0
+#endif
+
+#ifndef HAVE_STRLCAT
+#define HAVE_STRLCAT 0
+#endif
+
+#ifndef HAVE_STRLCPY
+#define HAVE_STRLCPY 0
+#endif
+
+#ifndef HAVE_STRSTR
+#define HAVE_STRSTR 0
+#endif
+
+#ifndef HAVE_SYMLINK
+#define HAVE_SYMLINK 0
+#endif
+
+#ifndef HAVE_SYS_BSDTYPES_H
+#define HAVE_SYS_BSDTYPES_H 0
+#endif
+
+#ifndef HAVE_SYS_IOCTL_H
+#define HAVE_SYS_IOCTL_H 0
+#endif
+
+#ifndef HAVE_SYS_PARAM_H
+#define HAVE_SYS_PARAM_H 0
+#endif
+
+#ifndef HAVE_SYS_POLL_H
+#define HAVE_SYS_POLL_H 0
+#endif
+
+#ifndef HAVE_SYS_SELECT_H
+#define HAVE_SYS_SELECT_H 0
+#endif
+
+#ifndef HAVE_SYS_TERMIO_H
+#define HAVE_SYS_TERMIO_H 0
+#endif
+
+#ifndef HAVE_SYS_TIMES_H
+#define HAVE_SYS_TIMES_H 0
+#endif
+
+#ifndef HAVE_SYS_TIME_H
+#define HAVE_SYS_TIME_H 0
+#endif
+
+#ifndef HAVE_SYS_TIME_SELECT
+#define HAVE_SYS_TIME_SELECT 0
+#endif
+
+#ifndef HAVE_TCGETATTR
+#define HAVE_TCGETATTR 0
+#endif
+
+#ifndef HAVE_TCGETPGRP
+#define HAVE_TCGETPGRP 0
+#endif
+
+#ifndef HAVE_TELL
+#define HAVE_TELL 0
+#endif
+
+#ifndef HAVE_TERMATTRS
+#define HAVE_TERMATTRS 1
+#endif
+
+#ifndef HAVE_TERMIOS_H
+#define HAVE_TERMIOS_H 0
+#endif
+
+#ifndef HAVE_TERMIO_H
+#define HAVE_TERMIO_H 0
+#endif
+
+#ifndef HAVE_TERMNAME
+#define HAVE_TERMNAME 1
+#endif
+
+#ifndef HAVE_TERM_ENTRY_H
+#define HAVE_TERM_ENTRY_H 1
+#endif
+
+#ifndef HAVE_TERM_H
+#define HAVE_TERM_H 1
+#endif
+
+#ifndef HAVE_TGETENT
+#define HAVE_TGETENT 1
+#endif
+
+#ifndef HAVE_TIGETNUM
+#define HAVE_TIGETNUM 1
+#endif
+
+#ifndef HAVE_TIGETSTR
+#define HAVE_TIGETSTR 1
+#endif
+
+#ifndef HAVE_TIMES
+#define HAVE_TIMES 0
+#endif
+
+#ifndef HAVE_TTYENT_H
+#define HAVE_TTYENT_H 0
+#endif
+
+#ifndef HAVE_TYPEAHEAD
+#define HAVE_TYPEAHEAD 1
+#endif
+
+#ifndef HAVE_TYPEINFO
+#define HAVE_TYPEINFO 0
+#endif
+
+#ifndef HAVE_TYPE_ATTR_T
+#define HAVE_TYPE_ATTR_T 0
+#endif
+
+#ifndef HAVE_TYPE_SIGACTION
+#define HAVE_TYPE_SIGACTION 0
+#endif
+
+#ifndef HAVE_UNCTRL_H
+#define HAVE_UNCTRL_H 1
+#endif
+
+#ifndef HAVE_UNISTD_H
+#define HAVE_UNISTD_H 0
+#endif
+
+#ifndef HAVE_UNLINK
+#define HAVE_UNLINK 0
+#endif
+
+#ifndef HAVE_USE_DEFAULT_COLORS
+#define HAVE_USE_DEFAULT_COLORS 0
+#endif
+
+#ifndef HAVE_USE_ENV
+#define HAVE_USE_ENV 1
+#endif
+
+#ifndef HAVE_USE_EXTENDED_NAMES
+#define HAVE_USE_EXTENDED_NAMES 0
+#endif
+
+#ifndef HAVE_USE_SCREEN
+#define HAVE_USE_SCREEN 0
+#endif
+
+#ifndef HAVE_USE_WINDOW
+#define HAVE_USE_WINDOW 0
+#endif
+
+#ifndef HAVE_VFSCANF
+#define HAVE_VFSCANF 0
+#endif
+
+#ifndef HAVE_VIDPUTS
+#define HAVE_VIDPUTS 1
+#endif
+
+#ifndef HAVE_VID_PUTS
+#define HAVE_VID_PUTS 1
+#endif
+
+#ifndef HAVE_VSNPRINTF
+#define HAVE_VSNPRINTF 0
+#endif
+
+#ifndef HAVE_VSSCANF
+#define HAVE_VSSCANF 0
+#endif
+
+#ifndef HAVE_WCSRTOMBS
+#define HAVE_WCSRTOMBS 0
+#endif
+
+#ifndef HAVE_WCSTOMBS
+#define HAVE_WCSTOMBS 0
+#endif
+
+#ifndef HAVE_WCTOB
+#define HAVE_WCTOB 0
+#endif
+
+#ifndef HAVE_WCTOMB
+#define HAVE_WCTOMB 0
+#endif
+
+#ifndef HAVE_WCTYPE_H
+#define HAVE_WCTYPE_H 0
+#endif
+
+#ifndef HAVE_WINSSTR
+#define HAVE_WINSSTR 1
+#endif
+
+#ifndef HAVE_WORKING_POLL
+#define HAVE_WORKING_POLL 0
+#endif
+
+#ifndef HAVE_WRESIZE
+#define HAVE_WRESIZE 0
+#endif
+
+#ifndef HAVE_WSYNCDOWN
+#define HAVE_WSYNCDOWN 1
+#endif
+
+#ifndef HAVE__DOSCAN
+#define HAVE__DOSCAN 0
+#endif
+
+#ifndef MIXEDCASE_FILENAMES
+#define MIXEDCASE_FILENAMES 0
+#endif
+
+#ifndef NCURSES_CHAR_EQ
+#define NCURSES_CHAR_EQ 0
+#endif
+
+#ifndef NCURSES_EXPANDED
+#define NCURSES_EXPANDED 0
+#endif
+
+#ifndef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 0
+#endif
+
+#ifndef NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 0
+#endif
+
+#ifndef NCURSES_EXT_PUTWIN
+#define NCURSES_EXT_PUTWIN 0
+#endif
+
+#ifndef NCURSES_NO_PADDING
+#define NCURSES_NO_PADDING 0
+#endif
+
+#ifndef NCURSES_OSPEED_COMPAT
+#define NCURSES_OSPEED_COMPAT 0
+#endif
+
+#ifndef NCURSES_PATHSEP
+#define NCURSES_PATHSEP ':'
+#endif
+
+#ifndef NCURSES_WIDECHAR
+#define NCURSES_WIDECHAR 0
+#endif
+
+#ifndef NEED_PTEM_H
+#define NEED_PTEM_H 0
+#endif
+
+#ifndef NO_LEAKS
+#define NO_LEAKS 0
+#endif
+
+#ifndef PURE_TERMINFO
+#define PURE_TERMINFO 0
+#endif
+
+#ifndef STDC_HEADERS
+#define STDC_HEADERS 0
+#endif
+
+#ifndef SVR4_ACTION
+#define SVR4_ACTION 0
+#endif
+
+#ifndef SVR4_TERMIO
+#define SVR4_TERMIO 0
+#endif
+
+#ifndef SYSTEM_NAME
+#define SYSTEM_NAME "unknown"
+#endif
+
+#ifndef TERMINFO
+#define TERMINFO "none"
+#endif
+
+#ifndef TERMPATH
+#define TERMPATH "none"
+#endif
+
+#ifndef TIME_WITH_SYS_TIME
+#define TIME_WITH_SYS_TIME 0
+#endif
+
+#ifndef TYPEOF_CHTYPE
+#define TYPEOF_CHTYPE 0
+#endif
+
+#ifndef USE_COLORFGBG
+#define USE_COLORFGBG 0
+#endif
+
+#ifndef USE_GETCAP
+#define USE_GETCAP 0
+#endif
+
+#ifndef USE_GETCAP_CACHE
+#define USE_GETCAP_CACHE 0
+#endif
+
+#ifndef USE_HARD_TABS
+#define USE_HARD_TABS 0
+#endif
+
+#ifndef USE_HASHED_DB
+#define USE_HASHED_DB 0
+#endif
+
+#ifndef USE_HASHMAP
+#define USE_HASHMAP 0
+#endif
+
+#ifndef USE_HOME_TERMINFO
+#define USE_HOME_TERMINFO 0
+#endif
+
+#ifndef USE_LINKS
+#define USE_LINKS 0
+#endif
+
+#ifndef USE_MY_MEMMOVE
+#define USE_MY_MEMMOVE 0
+#endif
+
+#ifndef USE_OK_BCOPY
+#define USE_OK_BCOPY 0
+#endif
+
+#ifndef USE_PTHREADS_EINTR
+#define USE_PTHREADS_EINTR 0
+#endif
+
+#ifndef USE_RCS_IDS
+#define USE_RCS_IDS 0
+#endif
+
+#ifndef USE_REENTRANT
+#define USE_REENTRANT 0
+#endif
+
+#ifndef USE_SAFE_SPRINTF
+#define USE_SAFE_SPRINTF 0
+#endif
+
+#ifndef USE_SCROLL_HINTS
+#define USE_SCROLL_HINTS 0
+#endif
+
+#ifndef USE_SIGWINCH
+#define USE_SIGWINCH 0
+#endif
+
+#ifndef USE_STRING_HACKS
+#define USE_STRING_HACKS 0
+#endif
+
+#ifndef USE_SYMLINKS
+#define USE_SYMLINKS 0
+#endif
+
+#ifndef USE_SYSMOUSE
+#define USE_SYSMOUSE 0
+#endif
+
+#ifndef USE_WEAK_SYMBOLS
+#define USE_WEAK_SYMBOLS 0
+#endif
+
+#ifndef USE_WIDEC_SUPPORT
+#define USE_WIDEC_SUPPORT 0
+#endif
+
+#ifndef USE_XMC_SUPPORT
+#define USE_XMC_SUPPORT 0
+#endif
+
+#endif /* NC_DEFINE_H */
diff --git a/include/ncurses_dll.h b/include/ncurses_dll.h
new file mode 100644
index 0000000..249493f
--- /dev/null
+++ b/include/ncurses_dll.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+ * Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+/* $Id: ncurses_dll.h.in,v 1.9 2014/08/02 21:30:20 tom Exp $ */
+
+#ifndef NCURSES_DLL_H_incl
+#define NCURSES_DLL_H_incl 1
+
+/* 2014-08-02 workaround for broken MinGW compiler.
+ * Oddly, only TRACE is mapped to trace - the other -D's are okay.
+ * suggest TDM as an alternative.
+ */
+#if defined(__MINGW64__)
+#elif defined(__MINGW32__)
+#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
+
+#ifdef trace
+#undef trace
+#define TRACE
+#endif
+
+#endif	/* broken compiler */
+#endif	/* MingW */
+
+/*
+ * For reentrant code, we map the various global variables into SCREEN by
+ * using functions to access them.
+ */
+#define NCURSES_PUBLIC_VAR(name) _nc_##name
+#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
+
+/* no longer needed on cygwin or mingw, thanks to auto-import       */
+/* but this structure may be useful at some point for an MSVC build */
+/* so, for now unconditionally define the important flags           */
+/* "the right way" for proper static and dll+auto-import behavior   */
+#undef NCURSES_DLL
+#define NCURSES_STATIC
+
+#if defined(__CYGWIN__) || defined(__MINGW32__)
+#  if defined(NCURSES_DLL)
+#    if defined(NCURSES_STATIC)
+#      undef NCURSES_STATIC
+#    endif
+#  endif
+#  undef NCURSES_IMPEXP
+#  undef NCURSES_API
+#  undef NCURSES_EXPORT
+#  undef NCURSES_EXPORT_VAR
+#  if defined(NCURSES_DLL)
+/* building a DLL */
+#    define NCURSES_IMPEXP __declspec(dllexport)
+#  elif defined(NCURSES_STATIC)
+/* building or linking to a static library */
+#    define NCURSES_IMPEXP /* nothing */
+#  else
+/* linking to the DLL */
+#    define NCURSES_IMPEXP __declspec(dllimport)
+#  endif
+#  define NCURSES_API __cdecl
+#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
+#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
+#endif
+
+/* Take care of non-cygwin platforms */
+#if !defined(NCURSES_IMPEXP)
+#  define NCURSES_IMPEXP /* nothing */
+#endif
+#if !defined(NCURSES_API)
+#  define NCURSES_API /* nothing */
+#endif
+#if !defined(NCURSES_EXPORT)
+#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
+#endif
+#if !defined(NCURSES_EXPORT_VAR)
+#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
+#endif
+
+#endif /* NCURSES_DLL_H_incl */
diff --git a/include/panel.h b/include/panel.h
new file mode 100644
index 0000000..6ed2061
--- /dev/null
+++ b/include/panel.h
@@ -0,0 +1,85 @@
+/****************************************************************************
+ * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995                    *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Juergen Pfeifer                         1996-1999,2008          *
+ ****************************************************************************/
+
+/* $Id: panel.h,v 1.11 2009/04/11 19:50:40 tom Exp $ */
+
+/* panel.h -- interface file for panels library */
+
+#ifndef NCURSES_PANEL_H_incl
+#define NCURSES_PANEL_H_incl 1
+
+#include <curses.h>
+
+typedef struct panel
+{
+  WINDOW *win;
+  struct panel *below;
+  struct panel *above;
+  NCURSES_CONST void *user;
+} PANEL;
+
+#if	defined(__cplusplus)
+extern "C" {
+#endif
+
+extern NCURSES_EXPORT(WINDOW*) panel_window (const PANEL *);
+extern NCURSES_EXPORT(void)    update_panels (void);
+extern NCURSES_EXPORT(int)     hide_panel (PANEL *);
+extern NCURSES_EXPORT(int)     show_panel (PANEL *);
+extern NCURSES_EXPORT(int)     del_panel (PANEL *);
+extern NCURSES_EXPORT(int)     top_panel (PANEL *);
+extern NCURSES_EXPORT(int)     bottom_panel (PANEL *);
+extern NCURSES_EXPORT(PANEL*)  new_panel (WINDOW *);
+extern NCURSES_EXPORT(PANEL*)  panel_above (const PANEL *);
+extern NCURSES_EXPORT(PANEL*)  panel_below (const PANEL *);
+extern NCURSES_EXPORT(int)     set_panel_userptr (PANEL *, NCURSES_CONST void *);
+extern NCURSES_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *);
+extern NCURSES_EXPORT(int)     move_panel (PANEL *, int, int);
+extern NCURSES_EXPORT(int)     replace_panel (PANEL *,WINDOW *);
+extern NCURSES_EXPORT(int)     panel_hidden (const PANEL *);
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(PANEL *) ground_panel(SCREEN *);
+extern NCURSES_EXPORT(PANEL *) ceiling_panel(SCREEN *);
+
+extern NCURSES_EXPORT(void)    NCURSES_SP_NAME(update_panels) (SCREEN*);
+#endif
+
+#if	defined(__cplusplus)
+}
+#endif
+
+#endif /* NCURSES_PANEL_H_incl */
+
+/* end of panel.h */
diff --git a/include/parametrized.h b/include/parametrized.h
new file mode 100644
index 0000000..273e051
--- /dev/null
+++ b/include/parametrized.h
@@ -0,0 +1,560 @@
+/*
+ * parametrized.h --- is a termcap capability parametrized?
+ *
+ * Note: this file is generated using MKparametrized.sh, do not edit by hand.
+ * A value of -1 in the table means suppress both pad and % translations.
+ * A value of 0 in the table means do pad but not % translations.
+ * A value of 1 in the table means do both pad and % translations.
+ */
+
+static short const parametrized[] = {
+0,	/*  cbt  */
+0,	/*  bel  */
+0,	/*  cr  */
+1,	/*  csr  */
+0,	/*  tbc  */
+0,	/*  clear  */
+0,	/*  el  */
+0,	/*  ed  */
+1,	/*  hpa  */
+0,	/*  cmdch  */
+1,	/*  cup  */
+0,	/*  cud1  */
+0,	/*  home  */
+0,	/*  civis  */
+0,	/*  cub1  */
+1,	/*  mrcup  */
+0,	/*  cnorm  */
+0,	/*  cuf1  */
+0,	/*  ll  */
+0,	/*  cuu1  */
+0,	/*  cvvis  */
+0,	/*  dch1  */
+0,	/*  dl1  */
+0,	/*  dsl  */
+0,	/*  hd  */
+0,	/*  smacs  */
+0,	/*  blink  */
+0,	/*  bold  */
+0,	/*  smcup  */
+0,	/*  smdc  */
+0,	/*  dim  */
+0,	/*  smir  */
+0,	/*  invis  */
+0,	/*  prot  */
+0,	/*  rev  */
+0,	/*  smso  */
+0,	/*  smul  */
+1,	/*  ech  */
+0,	/*  rmacs  */
+0,	/*  sgr0  */
+0,	/*  rmcup  */
+0,	/*  rmdc  */
+0,	/*  rmir  */
+0,	/*  rmso  */
+0,	/*  rmul  */
+0,	/*  flash  */
+0,	/*  ff  */
+0,	/*  fsl  */
+0,	/*  is1  */
+0,	/*  is2  */
+0,	/*  is3  */
+0,	/*  if  */
+0,	/*  ich1  */
+0,	/*  il1  */
+0,	/*  ip  */
+0,	/*  kbs  */
+0,	/*  ktbc  */
+0,	/*  kclr  */
+0,	/*  kctab  */
+0,	/*  kdch1  */
+0,	/*  kdl1  */
+0,	/*  kcud1  */
+0,	/*  krmir  */
+0,	/*  kel  */
+0,	/*  ked  */
+0,	/*  kf0  */
+0,	/*  kf1  */
+0,	/*  kf10  */
+0,	/*  kf2  */
+0,	/*  kf3  */
+0,	/*  kf4  */
+0,	/*  kf5  */
+0,	/*  kf6  */
+0,	/*  kf7  */
+0,	/*  kf8  */
+0,	/*  kf9  */
+0,	/*  khome  */
+0,	/*  kich1  */
+0,	/*  kil1  */
+0,	/*  kcub1  */
+0,	/*  kll  */
+0,	/*  knp  */
+0,	/*  kpp  */
+0,	/*  kcuf1  */
+0,	/*  kind  */
+0,	/*  kri  */
+0,	/*  khts  */
+0,	/*  kcuu1  */
+0,	/*  rmkx  */
+0,	/*  smkx  */
+0,	/*  lf0  */
+0,	/*  lf1  */
+0,	/*  lf10  */
+0,	/*  lf2  */
+0,	/*  lf3  */
+0,	/*  lf4  */
+0,	/*  lf5  */
+0,	/*  lf6  */
+0,	/*  lf7  */
+0,	/*  lf8  */
+0,	/*  lf9  */
+0,	/*  rmm  */
+0,	/*  smm  */
+0,	/*  nel  */
+0,	/*  pad  */
+1,	/*  dch  */
+1,	/*  dl  */
+1,	/*  cud  */
+1,	/*  ich  */
+1,	/*  indn  */
+1,	/*  il  */
+1,	/*  cub  */
+1,	/*  cuf  */
+1,	/*  rin  */
+1,	/*  cuu  */
+1,	/*  pfkey  */
+1,	/*  pfloc  */
+1,	/*  pfx  */
+0,	/*  mc0  */
+0,	/*  mc4  */
+0,	/*  mc5  */
+1,	/*  rep  */
+0,	/*  rs1  */
+0,	/*  rs2  */
+0,	/*  rs3  */
+0,	/*  rf  */
+0,	/*  rc  */
+1,	/*  vpa  */
+0,	/*  sc  */
+0,	/*  ind  */
+0,	/*  ri  */
+1,	/*  sgr  */
+0,	/*  hts  */
+1,	/*  wind  */
+0,	/*  ht  */
+1,	/*  tsl  */
+0,	/*  uc  */
+0,	/*  hu  */
+0,	/*  iprog  */
+0,	/*  ka1  */
+0,	/*  ka3  */
+0,	/*  kb2  */
+0,	/*  kc1  */
+0,	/*  kc3  */
+1,	/*  mc5p  */
+0,	/*  rmp  */
+-1,	/*  acsc  */
+1,	/*  pln  */
+0,	/*  kcbt  */
+0,	/*  smxon  */
+0,	/*  rmxon  */
+0,	/*  smam  */
+0,	/*  rmam  */
+0,	/*  xonc  */
+0,	/*  xoffc  */
+0,	/*  enacs  */
+0,	/*  smln  */
+0,	/*  rmln  */
+0,	/*  kbeg  */
+0,	/*  kcan  */
+0,	/*  kclo  */
+0,	/*  kcmd  */
+0,	/*  kcpy  */
+0,	/*  kcrt  */
+0,	/*  kend  */
+0,	/*  kent  */
+0,	/*  kext  */
+0,	/*  kfnd  */
+0,	/*  khlp  */
+0,	/*  kmrk  */
+0,	/*  kmsg  */
+0,	/*  kmov  */
+0,	/*  knxt  */
+0,	/*  kopn  */
+0,	/*  kopt  */
+0,	/*  kprv  */
+0,	/*  kprt  */
+0,	/*  krdo  */
+0,	/*  kref  */
+0,	/*  krfr  */
+0,	/*  krpl  */
+0,	/*  krst  */
+0,	/*  kres  */
+0,	/*  ksav  */
+0,	/*  kspd  */
+0,	/*  kund  */
+0,	/*  kBEG  */
+0,	/*  kCAN  */
+0,	/*  kCMD  */
+0,	/*  kCPY  */
+0,	/*  kCRT  */
+0,	/*  kDC  */
+0,	/*  kDL  */
+0,	/*  kslt  */
+0,	/*  kEND  */
+0,	/*  kEOL  */
+0,	/*  kEXT  */
+0,	/*  kFND  */
+1,	/*  kHLP  */
+1,	/*  kHOM  */
+1,	/*  kIC  */
+1,	/*  kLFT  */
+0,	/*  kMSG  */
+0,	/*  kMOV  */
+0,	/*  kNXT  */
+0,	/*  kOPT  */
+0,	/*  kPRV  */
+0,	/*  kPRT  */
+0,	/*  kRDO  */
+0,	/*  kRPL  */
+0,	/*  kRIT  */
+0,	/*  kRES  */
+0,	/*  kSAV  */
+0,	/*  kSPD  */
+0,	/*  kUND  */
+0,	/*  rfi  */
+0,	/*  kf11  */
+0,	/*  kf12  */
+0,	/*  kf13  */
+0,	/*  kf14  */
+0,	/*  kf15  */
+0,	/*  kf16  */
+0,	/*  kf17  */
+0,	/*  kf18  */
+0,	/*  kf19  */
+0,	/*  kf20  */
+0,	/*  kf21  */
+0,	/*  kf22  */
+0,	/*  kf23  */
+0,	/*  kf24  */
+0,	/*  kf25  */
+0,	/*  kf26  */
+0,	/*  kf27  */
+0,	/*  kf28  */
+0,	/*  kf29  */
+0,	/*  kf30  */
+0,	/*  kf31  */
+0,	/*  kf32  */
+0,	/*  kf33  */
+0,	/*  kf34  */
+0,	/*  kf35  */
+0,	/*  kf36  */
+0,	/*  kf37  */
+0,	/*  kf38  */
+0,	/*  kf39  */
+0,	/*  kf40  */
+0,	/*  kf41  */
+0,	/*  kf42  */
+0,	/*  kf43  */
+0,	/*  kf44  */
+0,	/*  kf45  */
+0,	/*  kf46  */
+0,	/*  kf47  */
+0,	/*  kf48  */
+0,	/*  kf49  */
+0,	/*  kf50  */
+0,	/*  kf51  */
+0,	/*  kf52  */
+0,	/*  kf53  */
+0,	/*  kf54  */
+0,	/*  kf55  */
+0,	/*  kf56  */
+0,	/*  kf57  */
+0,	/*  kf58  */
+0,	/*  kf59  */
+0,	/*  kf60  */
+0,	/*  kf61  */
+0,	/*  kf62  */
+0,	/*  kf63  */
+0,	/*  el1  */
+0,	/*  mgc  */
+0,	/*  smgl  */
+0,	/*  smgr  */
+-1,	/*  fln  */
+1,	/*  sclk  */
+0,	/*  dclk  */
+0,	/*  rmclk  */
+1,	/*  cwin  */
+1,	/*  wingo  */
+0,	/*  hup  */
+1,	/*  dial  */
+1,	/*  qdial  */
+0,	/*  tone  */
+0,	/*  pulse  */
+0,	/*  hook  */
+0,	/*  pause  */
+0,	/*  wait  */
+1,	/*  u0  */
+1,	/*  u1  */
+1,	/*  u2  */
+1,	/*  u3  */
+1,	/*  u4  */
+1,	/*  u5  */
+1,	/*  u6  */
+1,	/*  u7  */
+1,	/*  u8  */
+1,	/*  u9  */
+0,	/*  op  */
+0,	/*  oc  */
+1,	/*  initc  */
+1,	/*  initp  */
+1,	/*  scp  */
+1,	/*  setf  */
+1,	/*  setb  */
+1,	/*  cpi  */
+1,	/*  lpi  */
+1,	/*  chr  */
+1,	/*  cvr  */
+1,	/*  defc  */
+0,	/*  swidm  */
+0,	/*  sdrfq  */
+0,	/*  sitm  */
+0,	/*  slm  */
+0,	/*  smicm  */
+0,	/*  snlq  */
+0,	/*  snrmq  */
+0,	/*  sshm  */
+0,	/*  ssubm  */
+0,	/*  ssupm  */
+0,	/*  sum  */
+0,	/*  rwidm  */
+0,	/*  ritm  */
+0,	/*  rlm  */
+0,	/*  rmicm  */
+0,	/*  rshm  */
+0,	/*  rsubm  */
+0,	/*  rsupm  */
+0,	/*  rum  */
+0,	/*  mhpa  */
+0,	/*  mcud1  */
+0,	/*  mcub1  */
+0,	/*  mcuf1  */
+1,	/*  mvpa  */
+0,	/*  mcuu1  */
+0,	/*  porder  */
+0,	/*  mcud  */
+0,	/*  mcub  */
+0,	/*  mcuf  */
+0,	/*  mcuu  */
+1,	/*  scs  */
+0,	/*  smgb  */
+1,	/*  smgbp  */
+1,	/*  smglp  */
+1,	/*  smgrp  */
+0,	/*  smgt  */
+1,	/*  smgtp  */
+0,	/*  sbim  */
+1,	/*  scsd  */
+0,	/*  rbim  */
+1,	/*  rcsd  */
+0,	/*  subcs  */
+0,	/*  supcs  */
+0,	/*  docr  */
+0,	/*  zerom  */
+1,	/*  csnm  */
+0,	/*  kmous  */
+0,	/*  minfo  */
+0,	/*  reqmp  */
+1,	/*  getm  */
+1,	/*  setaf  */
+1,	/*  setab  */
+1,	/*  pfxl  */
+0,	/*  devt  */
+0,	/*  csin  */
+0,	/*  s0ds  */
+0,	/*  s1ds  */
+0,	/*  s2ds  */
+0,	/*  s3ds  */
+1,	/*  smglr  */
+1,	/*  smgtb  */
+1,	/*  birep  */
+0,	/*  binel  */
+0,	/*  bicr  */
+1,	/*  colornm  */
+0,	/*  defbi  */
+0,	/*  endbi  */
+1,	/*  setcolor  */
+1,	/*  slines  */
+1,	/*  dispc  */
+0,	/*  smpch  */
+0,	/*  rmpch  */
+0,	/*  smsc  */
+0,	/*  rmsc  */
+0,	/*  pctrm  */
+0,	/*  scesc  */
+0,	/*  scesa  */
+0,	/*  ehhlm  */
+0,	/*  elhlm  */
+0,	/*  elohlm  */
+0,	/*  erhlm  */
+0,	/*  ethlm  */
+0,	/*  evhlm  */
+1,	/*  sgr1  */
+1,	/*  slength  */
+0,	/*  OTi2  */
+0,	/*  OTrs  */
+0,	/*  OTnl  */
+0,	/*  OTbc  */
+0,	/*  OTko  */
+0,	/*  OTma  */
+-1,	/*  OTG2  */
+-1,	/*  OTG3  */
+-1,	/*  OTG1  */
+-1,	/*  OTG4  */
+-1,	/*  OTGR  */
+-1,	/*  OTGL  */
+-1,	/*  OTGU  */
+-1,	/*  OTGD  */
+-1,	/*  OTGH  */
+-1,	/*  OTGV  */
+-1,	/*  OTGC  */
+0,	/*  meml  */
+0,	/*  memu  */
+1,	/*  pln  */
+0,	/*  smln  */
+0,	/*  rmln  */
+0,	/*  kf11  */
+0,	/*  kf12  */
+0,	/*  kf13  */
+0,	/*  kf14  */
+0,	/*  kf15  */
+0,	/*  kf16  */
+0,	/*  kf17  */
+0,	/*  kf18  */
+0,	/*  kf19  */
+0,	/*  kf20  */
+0,	/*  kf21  */
+0,	/*  kf22  */
+0,	/*  kf23  */
+0,	/*  kf24  */
+0,	/*  kf25  */
+0,	/*  kf26  */
+0,	/*  kf27  */
+0,	/*  kf28  */
+0,	/*  kf29  */
+0,	/*  kf30  */
+0,	/*  kf31  */
+0,	/*  kf32  */
+0,	/*  kf33  */
+0,	/*  kf34  */
+0,	/*  kf35  */
+0,	/*  kf36  */
+0,	/*  kf37  */
+0,	/*  kf38  */
+0,	/*  kf39  */
+0,	/*  kf40  */
+0,	/*  kf41  */
+0,	/*  kf42  */
+0,	/*  kf43  */
+0,	/*  kf44  */
+0,	/*  kf45  */
+0,	/*  kf46  */
+0,	/*  kf47  */
+0,	/*  kf48  */
+0,	/*  kf49  */
+0,	/*  kf50  */
+0,	/*  kf51  */
+0,	/*  kf52  */
+0,	/*  kf53  */
+0,	/*  kf54  */
+0,	/*  kf55  */
+0,	/*  kf56  */
+0,	/*  kf57  */
+0,	/*  kf58  */
+0,	/*  kf59  */
+0,	/*  kf60  */
+0,	/*  kf61  */
+0,	/*  kf62  */
+0,	/*  kf63  */
+0,	/*  box1  */
+0,	/*  box2  */
+0,	/*  batt1  */
+0,	/*  batt2  */
+0,	/*  colb0  */
+0,	/*  colb1  */
+0,	/*  colb2  */
+0,	/*  colb3  */
+0,	/*  colb4  */
+0,	/*  colb5  */
+0,	/*  colb6  */
+0,	/*  colb7  */
+0,	/*  colf0  */
+0,	/*  colf1  */
+0,	/*  colf2  */
+0,	/*  colf3  */
+0,	/*  colf4  */
+0,	/*  colf5  */
+0,	/*  colf6  */
+0,	/*  colf7  */
+0,	/*  font0  */
+0,	/*  font1  */
+0,	/*  font2  */
+0,	/*  font3  */
+0,	/*  font4  */
+0,	/*  font5  */
+0,	/*  font6  */
+0,	/*  font7  */
+0,	/*  kbtab  */
+0,	/*  kdo  */
+0,	/*  kcmd  */
+0,	/*  kcpn  */
+0,	/*  kend  */
+0,	/*  khlp  */
+0,	/*  knl  */
+0,	/*  knpn  */
+0,	/*  kppn  */
+0,	/*  kppn  */
+0,	/*  kquit  */
+0,	/*  ksel  */
+0,	/*  kscl  */
+0,	/*  kscr  */
+0,	/*  ktab  */
+0,	/*  kmpf1  */
+0,	/*  kmpt1  */
+0,	/*  kmpf2  */
+0,	/*  kmpt2  */
+0,	/*  kmpf3  */
+0,	/*  kmpt3  */
+0,	/*  kmpf4  */
+0,	/*  kmpt4  */
+0,	/*  kmpf5  */
+0,	/*  kmpt5  */
+0,	/*  apstr  */
+0,	/*  kmpf6  */
+0,	/*  kmpt6  */
+0,	/*  kmpf7  */
+0,	/*  kmpt7  */
+0,	/*  kmpf8  */
+0,	/*  kmpt8  */
+0,	/*  kmpf9  */
+0,	/*  kmpt9  */
+0,	/*  ksf1  */
+0,	/*  ksf2  */
+0,	/*  ksf3  */
+0,	/*  ksf4  */
+0,	/*  ksf5  */
+0,	/*  ksf6  */
+0,	/*  ksf7  */
+0,	/*  ksf8  */
+0,	/*  ksf9  */
+0,	/*  ksf10  */
+0,	/*  kf11  */
+0,	/*  kf12  */
+0,	/*  kact  */
+0,	/*  topl  */
+0,	/*  btml  */
+0,	/*  rvert  */
+0,	/*  lvert  */
+} /* 548 entries */;
+
diff --git a/include/term.h b/include/term.h
new file mode 100644
index 0000000..f3d5783
--- /dev/null
+++ b/include/term.h
@@ -0,0 +1,806 @@
+/****************************************************************************
+ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************/
+/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995                */
+/*    and: Eric S. Raymond <esr@snark.thyrsus.com>                          */
+/*    and: Thomas E. Dickey                        1995-on                  */
+/****************************************************************************/
+
+/* $Id: MKterm.h.awk.in,v 1.62 2013/08/17 19:21:56 tom Exp $ */
+
+/*
+**	term.h -- Definition of struct term
+*/
+
+#ifndef NCURSES_TERM_H_incl
+#define NCURSES_TERM_H_incl 1
+
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.0"
+
+#include <ncurses_dll.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H
+ * definition (based on the system for which this was configured).
+ */
+
+#undef  NCURSES_CONST
+#define NCURSES_CONST const
+
+#undef  NCURSES_SBOOL
+#define NCURSES_SBOOL char
+
+#undef  NCURSES_USE_DATABASE
+#define NCURSES_USE_DATABASE 1
+
+#undef  NCURSES_USE_TERMCAP
+#define NCURSES_USE_TERMCAP 0
+
+#undef  NCURSES_XNAMES
+#define NCURSES_XNAMES 1
+
+/* We will use these symbols to hide differences between
+ * termios/termio/sgttyb interfaces.
+ */
+#undef  TTY
+#undef  SET_TTY
+#undef  GET_TTY
+
+/* Assume POSIX termio if we have the header and function */
+/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */
+#if 1 && 1
+
+#undef  TERMIOS
+#define TERMIOS 1
+
+#include <termios.h>
+#define TTY struct termios
+
+#else /* !HAVE_TERMIOS_H */
+
+/* #if HAVE_TERMIO_H */
+#if 1
+
+#undef  TERMIOS
+#define TERMIOS 1
+
+#include <termio.h>
+#define TTY struct termio
+
+#else /* !HAVE_TERMIO_H */
+
+#if __MINGW32__
+#  include <ncurses_mingw.h>
+#  define TTY struct termios
+#else
+#undef TERMIOS
+#include <sgtty.h>
+#include <sys/ioctl.h>
+#define TTY struct sgttyb
+#endif /* MINGW32 */
+#endif /* HAVE_TERMIO_H */
+
+#endif /* HAVE_TERMIOS_H */
+
+#ifdef TERMIOS
+#define GET_TTY(fd, buf) tcgetattr(fd, buf)
+#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)
+#else
+#define GET_TTY(fd, buf) gtty(fd, buf)
+#define SET_TTY(fd, buf) stty(fd, buf)
+#endif
+
+#define NAMESIZE 256
+
+#define CUR cur_term->type.
+
+#define auto_left_margin               CUR Booleans[0]
+#define auto_right_margin              CUR Booleans[1]
+#define no_esc_ctlc                    CUR Booleans[2]
+#define ceol_standout_glitch           CUR Booleans[3]
+#define eat_newline_glitch             CUR Booleans[4]
+#define erase_overstrike               CUR Booleans[5]
+#define generic_type                   CUR Booleans[6]
+#define hard_copy                      CUR Booleans[7]
+#define has_meta_key                   CUR Booleans[8]
+#define has_status_line                CUR Booleans[9]
+#define insert_null_glitch             CUR Booleans[10]
+#define memory_above                   CUR Booleans[11]
+#define memory_below                   CUR Booleans[12]
+#define move_insert_mode               CUR Booleans[13]
+#define move_standout_mode             CUR Booleans[14]
+#define over_strike                    CUR Booleans[15]
+#define status_line_esc_ok             CUR Booleans[16]
+#define dest_tabs_magic_smso           CUR Booleans[17]
+#define tilde_glitch                   CUR Booleans[18]
+#define transparent_underline          CUR Booleans[19]
+#define xon_xoff                       CUR Booleans[20]
+#define needs_xon_xoff                 CUR Booleans[21]
+#define prtr_silent                    CUR Booleans[22]
+#define hard_cursor                    CUR Booleans[23]
+#define non_rev_rmcup                  CUR Booleans[24]
+#define no_pad_char                    CUR Booleans[25]
+#define non_dest_scroll_region         CUR Booleans[26]
+#define can_change                     CUR Booleans[27]
+#define back_color_erase               CUR Booleans[28]
+#define hue_lightness_saturation       CUR Booleans[29]
+#define col_addr_glitch                CUR Booleans[30]
+#define cr_cancels_micro_mode          CUR Booleans[31]
+#define has_print_wheel                CUR Booleans[32]
+#define row_addr_glitch                CUR Booleans[33]
+#define semi_auto_right_margin         CUR Booleans[34]
+#define cpi_changes_res                CUR Booleans[35]
+#define lpi_changes_res                CUR Booleans[36]
+#define columns                        CUR Numbers[0]
+#define init_tabs                      CUR Numbers[1]
+#define lines                          CUR Numbers[2]
+#define lines_of_memory                CUR Numbers[3]
+#define magic_cookie_glitch            CUR Numbers[4]
+#define padding_baud_rate              CUR Numbers[5]
+#define virtual_terminal               CUR Numbers[6]
+#define width_status_line              CUR Numbers[7]
+#define num_labels                     CUR Numbers[8]
+#define label_height                   CUR Numbers[9]
+#define label_width                    CUR Numbers[10]
+#define max_attributes                 CUR Numbers[11]
+#define maximum_windows                CUR Numbers[12]
+#define max_colors                     CUR Numbers[13]
+#define max_pairs                      CUR Numbers[14]
+#define no_color_video                 CUR Numbers[15]
+#define buffer_capacity                CUR Numbers[16]
+#define dot_vert_spacing               CUR Numbers[17]
+#define dot_horz_spacing               CUR Numbers[18]
+#define max_micro_address              CUR Numbers[19]
+#define max_micro_jump                 CUR Numbers[20]
+#define micro_col_size                 CUR Numbers[21]
+#define micro_line_size                CUR Numbers[22]
+#define number_of_pins                 CUR Numbers[23]
+#define output_res_char                CUR Numbers[24]
+#define output_res_line                CUR Numbers[25]
+#define output_res_horz_inch           CUR Numbers[26]
+#define output_res_vert_inch           CUR Numbers[27]
+#define print_rate                     CUR Numbers[28]
+#define wide_char_size                 CUR Numbers[29]
+#define buttons                        CUR Numbers[30]
+#define bit_image_entwining            CUR Numbers[31]
+#define bit_image_type                 CUR Numbers[32]
+#define back_tab                       CUR Strings[0]
+#define bell                           CUR Strings[1]
+#define carriage_return                CUR Strings[2]
+#define change_scroll_region           CUR Strings[3]
+#define clear_all_tabs                 CUR Strings[4]
+#define clear_screen                   CUR Strings[5]
+#define clr_eol                        CUR Strings[6]
+#define clr_eos                        CUR Strings[7]
+#define column_address                 CUR Strings[8]
+#define command_character              CUR Strings[9]
+#define cursor_address                 CUR Strings[10]
+#define cursor_down                    CUR Strings[11]
+#define cursor_home                    CUR Strings[12]
+#define cursor_invisible               CUR Strings[13]
+#define cursor_left                    CUR Strings[14]
+#define cursor_mem_address             CUR Strings[15]
+#define cursor_normal                  CUR Strings[16]
+#define cursor_right                   CUR Strings[17]
+#define cursor_to_ll                   CUR Strings[18]
+#define cursor_up                      CUR Strings[19]
+#define cursor_visible                 CUR Strings[20]
+#define delete_character               CUR Strings[21]
+#define delete_line                    CUR Strings[22]
+#define dis_status_line                CUR Strings[23]
+#define down_half_line                 CUR Strings[24]
+#define enter_alt_charset_mode         CUR Strings[25]
+#define enter_blink_mode               CUR Strings[26]
+#define enter_bold_mode                CUR Strings[27]
+#define enter_ca_mode                  CUR Strings[28]
+#define enter_delete_mode              CUR Strings[29]
+#define enter_dim_mode                 CUR Strings[30]
+#define enter_insert_mode              CUR Strings[31]
+#define enter_secure_mode              CUR Strings[32]
+#define enter_protected_mode           CUR Strings[33]
+#define enter_reverse_mode             CUR Strings[34]
+#define enter_standout_mode            CUR Strings[35]
+#define enter_underline_mode           CUR Strings[36]
+#define erase_chars                    CUR Strings[37]
+#define exit_alt_charset_mode          CUR Strings[38]
+#define exit_attribute_mode            CUR Strings[39]
+#define exit_ca_mode                   CUR Strings[40]
+#define exit_delete_mode               CUR Strings[41]
+#define exit_insert_mode               CUR Strings[42]
+#define exit_standout_mode             CUR Strings[43]
+#define exit_underline_mode            CUR Strings[44]
+#define flash_screen                   CUR Strings[45]
+#define form_feed                      CUR Strings[46]
+#define from_status_line               CUR Strings[47]
+#define init_1string                   CUR Strings[48]
+#define init_2string                   CUR Strings[49]
+#define init_3string                   CUR Strings[50]
+#define init_file                      CUR Strings[51]
+#define insert_character               CUR Strings[52]
+#define insert_line                    CUR Strings[53]
+#define insert_padding                 CUR Strings[54]
+#define key_backspace                  CUR Strings[55]
+#define key_catab                      CUR Strings[56]
+#define key_clear                      CUR Strings[57]
+#define key_ctab                       CUR Strings[58]
+#define key_dc                         CUR Strings[59]
+#define key_dl                         CUR Strings[60]
+#define key_down                       CUR Strings[61]
+#define key_eic                        CUR Strings[62]
+#define key_eol                        CUR Strings[63]
+#define key_eos                        CUR Strings[64]
+#define key_f0                         CUR Strings[65]
+#define key_f1                         CUR Strings[66]
+#define key_f10                        CUR Strings[67]
+#define key_f2                         CUR Strings[68]
+#define key_f3                         CUR Strings[69]
+#define key_f4                         CUR Strings[70]
+#define key_f5                         CUR Strings[71]
+#define key_f6                         CUR Strings[72]
+#define key_f7                         CUR Strings[73]
+#define key_f8                         CUR Strings[74]
+#define key_f9                         CUR Strings[75]
+#define key_home                       CUR Strings[76]
+#define key_ic                         CUR Strings[77]
+#define key_il                         CUR Strings[78]
+#define key_left                       CUR Strings[79]
+#define key_ll                         CUR Strings[80]
+#define key_npage                      CUR Strings[81]
+#define key_ppage                      CUR Strings[82]
+#define key_right                      CUR Strings[83]
+#define key_sf                         CUR Strings[84]
+#define key_sr                         CUR Strings[85]
+#define key_stab                       CUR Strings[86]
+#define key_up                         CUR Strings[87]
+#define keypad_local                   CUR Strings[88]
+#define keypad_xmit                    CUR Strings[89]
+#define lab_f0                         CUR Strings[90]
+#define lab_f1                         CUR Strings[91]
+#define lab_f10                        CUR Strings[92]
+#define lab_f2                         CUR Strings[93]
+#define lab_f3                         CUR Strings[94]
+#define lab_f4                         CUR Strings[95]
+#define lab_f5                         CUR Strings[96]
+#define lab_f6                         CUR Strings[97]
+#define lab_f7                         CUR Strings[98]
+#define lab_f8                         CUR Strings[99]
+#define lab_f9                         CUR Strings[100]
+#define meta_off                       CUR Strings[101]
+#define meta_on                        CUR Strings[102]
+#define newline                        CUR Strings[103]
+#define pad_char                       CUR Strings[104]
+#define parm_dch                       CUR Strings[105]
+#define parm_delete_line               CUR Strings[106]
+#define parm_down_cursor               CUR Strings[107]
+#define parm_ich                       CUR Strings[108]
+#define parm_index                     CUR Strings[109]
+#define parm_insert_line               CUR Strings[110]
+#define parm_left_cursor               CUR Strings[111]
+#define parm_right_cursor              CUR Strings[112]
+#define parm_rindex                    CUR Strings[113]
+#define parm_up_cursor                 CUR Strings[114]
+#define pkey_key                       CUR Strings[115]
+#define pkey_local                     CUR Strings[116]
+#define pkey_xmit                      CUR Strings[117]
+#define print_screen                   CUR Strings[118]
+#define prtr_off                       CUR Strings[119]
+#define prtr_on                        CUR Strings[120]
+#define repeat_char                    CUR Strings[121]
+#define reset_1string                  CUR Strings[122]
+#define reset_2string                  CUR Strings[123]
+#define reset_3string                  CUR Strings[124]
+#define reset_file                     CUR Strings[125]
+#define restore_cursor                 CUR Strings[126]
+#define row_address                    CUR Strings[127]
+#define save_cursor                    CUR Strings[128]
+#define scroll_forward                 CUR Strings[129]
+#define scroll_reverse                 CUR Strings[130]
+#define set_attributes                 CUR Strings[131]
+#define set_tab                        CUR Strings[132]
+#define set_window                     CUR Strings[133]
+#define tab                            CUR Strings[134]
+#define to_status_line                 CUR Strings[135]
+#define underline_char                 CUR Strings[136]
+#define up_half_line                   CUR Strings[137]
+#define init_prog                      CUR Strings[138]
+#define key_a1                         CUR Strings[139]
+#define key_a3                         CUR Strings[140]
+#define key_b2                         CUR Strings[141]
+#define key_c1                         CUR Strings[142]
+#define key_c3                         CUR Strings[143]
+#define prtr_non                       CUR Strings[144]
+#define char_padding                   CUR Strings[145]
+#define acs_chars                      CUR Strings[146]
+#define plab_norm                      CUR Strings[147]
+#define key_btab                       CUR Strings[148]
+#define enter_xon_mode                 CUR Strings[149]
+#define exit_xon_mode                  CUR Strings[150]
+#define enter_am_mode                  CUR Strings[151]
+#define exit_am_mode                   CUR Strings[152]
+#define xon_character                  CUR Strings[153]
+#define xoff_character                 CUR Strings[154]
+#define ena_acs                        CUR Strings[155]
+#define label_on                       CUR Strings[156]
+#define label_off                      CUR Strings[157]
+#define key_beg                        CUR Strings[158]
+#define key_cancel                     CUR Strings[159]
+#define key_close                      CUR Strings[160]
+#define key_command                    CUR Strings[161]
+#define key_copy                       CUR Strings[162]
+#define key_create                     CUR Strings[163]
+#define key_end                        CUR Strings[164]
+#define key_enter                      CUR Strings[165]
+#define key_exit                       CUR Strings[166]
+#define key_find                       CUR Strings[167]
+#define key_help                       CUR Strings[168]
+#define key_mark                       CUR Strings[169]
+#define key_message                    CUR Strings[170]
+#define key_move                       CUR Strings[171]
+#define key_next                       CUR Strings[172]
+#define key_open                       CUR Strings[173]
+#define key_options                    CUR Strings[174]
+#define key_previous                   CUR Strings[175]
+#define key_print                      CUR Strings[176]
+#define key_redo                       CUR Strings[177]
+#define key_reference                  CUR Strings[178]
+#define key_refresh                    CUR Strings[179]
+#define key_replace                    CUR Strings[180]
+#define key_restart                    CUR Strings[181]
+#define key_resume                     CUR Strings[182]
+#define key_save                       CUR Strings[183]
+#define key_suspend                    CUR Strings[184]
+#define key_undo                       CUR Strings[185]
+#define key_sbeg                       CUR Strings[186]
+#define key_scancel                    CUR Strings[187]
+#define key_scommand                   CUR Strings[188]
+#define key_scopy                      CUR Strings[189]
+#define key_screate                    CUR Strings[190]
+#define key_sdc                        CUR Strings[191]
+#define key_sdl                        CUR Strings[192]
+#define key_select                     CUR Strings[193]
+#define key_send                       CUR Strings[194]
+#define key_seol                       CUR Strings[195]
+#define key_sexit                      CUR Strings[196]
+#define key_sfind                      CUR Strings[197]
+#define key_shelp                      CUR Strings[198]
+#define key_shome                      CUR Strings[199]
+#define key_sic                        CUR Strings[200]
+#define key_sleft                      CUR Strings[201]
+#define key_smessage                   CUR Strings[202]
+#define key_smove                      CUR Strings[203]
+#define key_snext                      CUR Strings[204]
+#define key_soptions                   CUR Strings[205]
+#define key_sprevious                  CUR Strings[206]
+#define key_sprint                     CUR Strings[207]
+#define key_sredo                      CUR Strings[208]
+#define key_sreplace                   CUR Strings[209]
+#define key_sright                     CUR Strings[210]
+#define key_srsume                     CUR Strings[211]
+#define key_ssave                      CUR Strings[212]
+#define key_ssuspend                   CUR Strings[213]
+#define key_sundo                      CUR Strings[214]
+#define req_for_input                  CUR Strings[215]
+#define key_f11                        CUR Strings[216]
+#define key_f12                        CUR Strings[217]
+#define key_f13                        CUR Strings[218]
+#define key_f14                        CUR Strings[219]
+#define key_f15                        CUR Strings[220]
+#define key_f16                        CUR Strings[221]
+#define key_f17                        CUR Strings[222]
+#define key_f18                        CUR Strings[223]
+#define key_f19                        CUR Strings[224]
+#define key_f20                        CUR Strings[225]
+#define key_f21                        CUR Strings[226]
+#define key_f22                        CUR Strings[227]
+#define key_f23                        CUR Strings[228]
+#define key_f24                        CUR Strings[229]
+#define key_f25                        CUR Strings[230]
+#define key_f26                        CUR Strings[231]
+#define key_f27                        CUR Strings[232]
+#define key_f28                        CUR Strings[233]
+#define key_f29                        CUR Strings[234]
+#define key_f30                        CUR Strings[235]
+#define key_f31                        CUR Strings[236]
+#define key_f32                        CUR Strings[237]
+#define key_f33                        CUR Strings[238]
+#define key_f34                        CUR Strings[239]
+#define key_f35                        CUR Strings[240]
+#define key_f36                        CUR Strings[241]
+#define key_f37                        CUR Strings[242]
+#define key_f38                        CUR Strings[243]
+#define key_f39                        CUR Strings[244]
+#define key_f40                        CUR Strings[245]
+#define key_f41                        CUR Strings[246]
+#define key_f42                        CUR Strings[247]
+#define key_f43                        CUR Strings[248]
+#define key_f44                        CUR Strings[249]
+#define key_f45                        CUR Strings[250]
+#define key_f46                        CUR Strings[251]
+#define key_f47                        CUR Strings[252]
+#define key_f48                        CUR Strings[253]
+#define key_f49                        CUR Strings[254]
+#define key_f50                        CUR Strings[255]
+#define key_f51                        CUR Strings[256]
+#define key_f52                        CUR Strings[257]
+#define key_f53                        CUR Strings[258]
+#define key_f54                        CUR Strings[259]
+#define key_f55                        CUR Strings[260]
+#define key_f56                        CUR Strings[261]
+#define key_f57                        CUR Strings[262]
+#define key_f58                        CUR Strings[263]
+#define key_f59                        CUR Strings[264]
+#define key_f60                        CUR Strings[265]
+#define key_f61                        CUR Strings[266]
+#define key_f62                        CUR Strings[267]
+#define key_f63                        CUR Strings[268]
+#define clr_bol                        CUR Strings[269]
+#define clear_margins                  CUR Strings[270]
+#define set_left_margin                CUR Strings[271]
+#define set_right_margin               CUR Strings[272]
+#define label_format                   CUR Strings[273]
+#define set_clock                      CUR Strings[274]
+#define display_clock                  CUR Strings[275]
+#define remove_clock                   CUR Strings[276]
+#define create_window                  CUR Strings[277]
+#define goto_window                    CUR Strings[278]
+#define hangup                         CUR Strings[279]
+#define dial_phone                     CUR Strings[280]
+#define quick_dial                     CUR Strings[281]
+#define tone                           CUR Strings[282]
+#define pulse                          CUR Strings[283]
+#define flash_hook                     CUR Strings[284]
+#define fixed_pause                    CUR Strings[285]
+#define wait_tone                      CUR Strings[286]
+#define user0                          CUR Strings[287]
+#define user1                          CUR Strings[288]
+#define user2                          CUR Strings[289]
+#define user3                          CUR Strings[290]
+#define user4                          CUR Strings[291]
+#define user5                          CUR Strings[292]
+#define user6                          CUR Strings[293]
+#define user7                          CUR Strings[294]
+#define user8                          CUR Strings[295]
+#define user9                          CUR Strings[296]
+#define orig_pair                      CUR Strings[297]
+#define orig_colors                    CUR Strings[298]
+#define initialize_color               CUR Strings[299]
+#define initialize_pair                CUR Strings[300]
+#define set_color_pair                 CUR Strings[301]
+#define set_foreground                 CUR Strings[302]
+#define set_background                 CUR Strings[303]
+#define change_char_pitch              CUR Strings[304]
+#define change_line_pitch              CUR Strings[305]
+#define change_res_horz                CUR Strings[306]
+#define change_res_vert                CUR Strings[307]
+#define define_char                    CUR Strings[308]
+#define enter_doublewide_mode          CUR Strings[309]
+#define enter_draft_quality            CUR Strings[310]
+#define enter_italics_mode             CUR Strings[311]
+#define enter_leftward_mode            CUR Strings[312]
+#define enter_micro_mode               CUR Strings[313]
+#define enter_near_letter_quality      CUR Strings[314]
+#define enter_normal_quality           CUR Strings[315]
+#define enter_shadow_mode              CUR Strings[316]
+#define enter_subscript_mode           CUR Strings[317]
+#define enter_superscript_mode         CUR Strings[318]
+#define enter_upward_mode              CUR Strings[319]
+#define exit_doublewide_mode           CUR Strings[320]
+#define exit_italics_mode              CUR Strings[321]
+#define exit_leftward_mode             CUR Strings[322]
+#define exit_micro_mode                CUR Strings[323]
+#define exit_shadow_mode               CUR Strings[324]
+#define exit_subscript_mode            CUR Strings[325]
+#define exit_superscript_mode          CUR Strings[326]
+#define exit_upward_mode               CUR Strings[327]
+#define micro_column_address           CUR Strings[328]
+#define micro_down                     CUR Strings[329]
+#define micro_left                     CUR Strings[330]
+#define micro_right                    CUR Strings[331]
+#define micro_row_address              CUR Strings[332]
+#define micro_up                       CUR Strings[333]
+#define order_of_pins                  CUR Strings[334]
+#define parm_down_micro                CUR Strings[335]
+#define parm_left_micro                CUR Strings[336]
+#define parm_right_micro               CUR Strings[337]
+#define parm_up_micro                  CUR Strings[338]
+#define select_char_set                CUR Strings[339]
+#define set_bottom_margin              CUR Strings[340]
+#define set_bottom_margin_parm         CUR Strings[341]
+#define set_left_margin_parm           CUR Strings[342]
+#define set_right_margin_parm          CUR Strings[343]
+#define set_top_margin                 CUR Strings[344]
+#define set_top_margin_parm            CUR Strings[345]
+#define start_bit_image                CUR Strings[346]
+#define start_char_set_def             CUR Strings[347]
+#define stop_bit_image                 CUR Strings[348]
+#define stop_char_set_def              CUR Strings[349]
+#define subscript_characters           CUR Strings[350]
+#define superscript_characters         CUR Strings[351]
+#define these_cause_cr                 CUR Strings[352]
+#define zero_motion                    CUR Strings[353]
+#define char_set_names                 CUR Strings[354]
+#define key_mouse                      CUR Strings[355]
+#define mouse_info                     CUR Strings[356]
+#define req_mouse_pos                  CUR Strings[357]
+#define get_mouse                      CUR Strings[358]
+#define set_a_foreground               CUR Strings[359]
+#define set_a_background               CUR Strings[360]
+#define pkey_plab                      CUR Strings[361]
+#define device_type                    CUR Strings[362]
+#define code_set_init                  CUR Strings[363]
+#define set0_des_seq                   CUR Strings[364]
+#define set1_des_seq                   CUR Strings[365]
+#define set2_des_seq                   CUR Strings[366]
+#define set3_des_seq                   CUR Strings[367]
+#define set_lr_margin                  CUR Strings[368]
+#define set_tb_margin                  CUR Strings[369]
+#define bit_image_repeat               CUR Strings[370]
+#define bit_image_newline              CUR Strings[371]
+#define bit_image_carriage_return      CUR Strings[372]
+#define color_names                    CUR Strings[373]
+#define define_bit_image_region        CUR Strings[374]
+#define end_bit_image_region           CUR Strings[375]
+#define set_color_band                 CUR Strings[376]
+#define set_page_length                CUR Strings[377]
+#define display_pc_char                CUR Strings[378]
+#define enter_pc_charset_mode          CUR Strings[379]
+#define exit_pc_charset_mode           CUR Strings[380]
+#define enter_scancode_mode            CUR Strings[381]
+#define exit_scancode_mode             CUR Strings[382]
+#define pc_term_options                CUR Strings[383]
+#define scancode_escape                CUR Strings[384]
+#define alt_scancode_esc               CUR Strings[385]
+#define enter_horizontal_hl_mode       CUR Strings[386]
+#define enter_left_hl_mode             CUR Strings[387]
+#define enter_low_hl_mode              CUR Strings[388]
+#define enter_right_hl_mode            CUR Strings[389]
+#define enter_top_hl_mode              CUR Strings[390]
+#define enter_vertical_hl_mode         CUR Strings[391]
+#define set_a_attributes               CUR Strings[392]
+#define set_pglen_inch                 CUR Strings[393]
+
+#define BOOLWRITE 37
+#define NUMWRITE  33
+#define STRWRITE  394
+
+/* older synonyms for some capabilities */
+#define beehive_glitch	no_esc_ctlc
+#define teleray_glitch	dest_tabs_magic_smso
+#define micro_char_size micro_col_size
+
+#ifdef __INTERNAL_CAPS_VISIBLE
+#define termcap_init2                  CUR Strings[394]
+#define termcap_reset                  CUR Strings[395]
+#define magic_cookie_glitch_ul         CUR Numbers[33]
+#define backspaces_with_bs             CUR Booleans[37]
+#define crt_no_scrolling               CUR Booleans[38]
+#define no_correctly_working_cr        CUR Booleans[39]
+#define carriage_return_delay          CUR Numbers[34]
+#define new_line_delay                 CUR Numbers[35]
+#define linefeed_if_not_lf             CUR Strings[396]
+#define backspace_if_not_bs            CUR Strings[397]
+#define gnu_has_meta_key               CUR Booleans[40]
+#define linefeed_is_newline            CUR Booleans[41]
+#define backspace_delay                CUR Numbers[36]
+#define horizontal_tab_delay           CUR Numbers[37]
+#define number_of_function_keys        CUR Numbers[38]
+#define other_non_function_keys        CUR Strings[398]
+#define arrow_key_map                  CUR Strings[399]
+#define has_hardware_tabs              CUR Booleans[42]
+#define return_does_clr_eol            CUR Booleans[43]
+#define acs_ulcorner                   CUR Strings[400]
+#define acs_llcorner                   CUR Strings[401]
+#define acs_urcorner                   CUR Strings[402]
+#define acs_lrcorner                   CUR Strings[403]
+#define acs_ltee                       CUR Strings[404]
+#define acs_rtee                       CUR Strings[405]
+#define acs_btee                       CUR Strings[406]
+#define acs_ttee                       CUR Strings[407]
+#define acs_hline                      CUR Strings[408]
+#define acs_vline                      CUR Strings[409]
+#define acs_plus                       CUR Strings[410]
+#define memory_lock                    CUR Strings[411]
+#define memory_unlock                  CUR Strings[412]
+#define box_chars_1                    CUR Strings[413]
+#endif /* __INTERNAL_CAPS_VISIBLE */
+
+
+/*
+ * Predefined terminfo array sizes
+ */
+#define BOOLCOUNT 44
+#define NUMCOUNT  39
+#define STRCOUNT  414
+
+/* used by code for comparing entries */
+#define acs_chars_index	 146
+
+typedef struct termtype {	/* in-core form of terminfo data */
+    char  *term_names;		/* str_table offset of term names */
+    char  *str_table;		/* pointer to string table */
+    NCURSES_SBOOL  *Booleans;	/* array of boolean values */
+    short *Numbers;		/* array of integer values */
+    char  **Strings;		/* array of string offsets */
+
+#if NCURSES_XNAMES
+    char  *ext_str_table;	/* pointer to extended string table */
+    char  **ext_Names;		/* corresponding names */
+
+    unsigned short num_Booleans;/* count total Booleans */
+    unsigned short num_Numbers;	/* count total Numbers */
+    unsigned short num_Strings;	/* count total Strings */
+
+    unsigned short ext_Booleans;/* count extensions to Booleans */
+    unsigned short ext_Numbers;	/* count extensions to Numbers */
+    unsigned short ext_Strings;	/* count extensions to Strings */
+#endif /* NCURSES_XNAMES */
+
+} TERMTYPE;
+
+typedef struct term {		/* describe an actual terminal */
+    TERMTYPE	type;		/* terminal type description */
+    short	Filedes;	/* file description being written to */
+    TTY		Ottyb,		/* original state of the terminal */
+		Nttyb;		/* current state of the terminal */
+    int		_baudrate;	/* used to compute padding */
+    char *      _termname;      /* used for termname() */
+} TERMINAL;
+
+#if 0 && !0
+extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
+#elif 0
+NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);
+#define cur_term   NCURSES_PUBLIC_VAR(cur_term())
+#else
+extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
+#endif
+
+#if 0 || 0
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);
+
+#define boolnames  NCURSES_PUBLIC_VAR(boolnames())
+#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())
+#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())
+#define numnames   NCURSES_PUBLIC_VAR(numnames())
+#define numcodes   NCURSES_PUBLIC_VAR(numcodes())
+#define numfnames  NCURSES_PUBLIC_VAR(numfnames())
+#define strnames   NCURSES_PUBLIC_VAR(strnames())
+#define strcodes   NCURSES_PUBLIC_VAR(strcodes())
+#define strfnames  NCURSES_PUBLIC_VAR(strfnames())
+
+#else
+
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];
+
+#endif
+
+/* internals */
+extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);
+extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);
+extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);
+extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);
+extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE *const);
+extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE *, char *, int);
+extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);
+extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);
+extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);
+
+/* entry points */
+extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);
+extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);
+
+/* miscellaneous entry points */
+extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);
+extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);
+
+/* terminfo entry points, also declared in curses.h */
+#if !defined(__NCURSES_H)
+extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT(int) putp (const char *);
+extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);
+extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);
+
+#if 1 /* NCURSES_TPARM_VARARGS */
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);	/* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);	/* special */
+extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);	/* special */
+#endif
+
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */
+
+#endif /* __NCURSES_H */
+
+/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */
+#if !defined(NCURSES_TERMCAP_H_incl)
+extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
+extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
+extern NCURSES_EXPORT(int) tgetent (char *, const char *);
+extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
+extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
+extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
+#endif /* NCURSES_TERMCAP_H_incl */
+
+/*
+ * Include curses.h before term.h to enable these extensions.
+ */
+#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)
+
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_CONST char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(putp) (SCREEN*, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);
+
+#if 1 /* NCURSES_TPARM_VARARGS */
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...);	/* special */
+#else
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);	/* special */
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...);	/* special */
+#endif
+
+/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_CONST char *, char **);
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_CONST char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_CONST char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);
+
+extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);
+
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);
+#endif /* NCURSES_SP_FUNCS */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NCURSES_TERM_H_incl */
diff --git a/include/termcap.h b/include/termcap.h
new file mode 100644
index 0000000..909c708
--- /dev/null
+++ b/include/termcap.h
@@ -0,0 +1,75 @@
+/****************************************************************************
+ * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ ****************************************************************************/
+
+/* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */
+
+#ifndef NCURSES_TERMCAP_H_incl
+#define NCURSES_TERMCAP_H_incl	1
+
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.0"
+
+#include <ncurses_dll.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+#include <sys/types.h>
+
+#undef  NCURSES_CONST 
+#define NCURSES_CONST const 
+
+#undef  NCURSES_OSPEED 
+#define NCURSES_OSPEED short 
+
+extern NCURSES_EXPORT_VAR(char) PC;
+extern NCURSES_EXPORT_VAR(char *) UP;
+extern NCURSES_EXPORT_VAR(char *) BC;
+extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed; 
+
+#if !defined(NCURSES_TERM_H_incl)
+extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
+extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
+extern NCURSES_EXPORT(int) tgetent (char *, const char *);
+extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
+extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
+extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NCURSES_TERMCAP_H_incl */
diff --git a/include/unctrl.h b/include/unctrl.h
new file mode 100644
index 0000000..e7767d4
--- /dev/null
+++ b/include/unctrl.h
@@ -0,0 +1,67 @@
+/****************************************************************************
+ * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ ****************************************************************************/
+
+/*
+ * unctrl.h
+ *
+ * Display a printable version of a control character.
+ * Control characters are displayed in caret notation (^x), DELETE is displayed
+ * as ^?. Printable characters are displayed as is.
+ */
+
+/* $Id: unctrl.h.in,v 1.11 2009/04/18 21:00:52 tom Exp $ */
+
+#ifndef NCURSES_UNCTRL_H_incl
+#define NCURSES_UNCTRL_H_incl	1
+
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.0"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <curses.h>
+
+#undef unctrl
+NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
+
+#if 1
+NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NCURSES_UNCTRL_H_incl */
diff --git a/lib/libform.a b/lib/libform.a
new file mode 100644
index 0000000..b14c870
--- /dev/null
+++ b/lib/libform.a
Binary files differ
diff --git a/lib/libform_g.a b/lib/libform_g.a
new file mode 100644
index 0000000..00a0c19
--- /dev/null
+++ b/lib/libform_g.a
Binary files differ
diff --git a/lib/libmenu.a b/lib/libmenu.a
new file mode 100644
index 0000000..3e0886f
--- /dev/null
+++ b/lib/libmenu.a
Binary files differ
diff --git a/lib/libmenu_g.a b/lib/libmenu_g.a
new file mode 100644
index 0000000..bd77f44
--- /dev/null
+++ b/lib/libmenu_g.a
Binary files differ
diff --git a/lib/libncurses.a b/lib/libncurses.a
new file mode 100644
index 0000000..ae8b4e1
--- /dev/null
+++ b/lib/libncurses.a
Binary files differ
diff --git a/lib/libncurses_g.a b/lib/libncurses_g.a
new file mode 100644
index 0000000..275119a
--- /dev/null
+++ b/lib/libncurses_g.a
Binary files differ
diff --git a/lib/libpanel.a b/lib/libpanel.a
new file mode 100644
index 0000000..a80efb9
--- /dev/null
+++ b/lib/libpanel.a
Binary files differ
diff --git a/lib/libpanel_g.a b/lib/libpanel_g.a
new file mode 100644
index 0000000..dafebcd
--- /dev/null
+++ b/lib/libpanel_g.a
Binary files differ
diff --git a/lib/terminfo/1/1178 b/lib/terminfo/1/1178
new file mode 120000
index 0000000..5fe829d
--- /dev/null
+++ b/lib/terminfo/1/1178
@@ -0,0 +1 @@
+../a/adm1178
\ No newline at end of file
diff --git a/lib/terminfo/1/1730-lm b/lib/terminfo/1/1730-lm
new file mode 120000
index 0000000..81ac7e1
--- /dev/null
+++ b/lib/terminfo/1/1730-lm
@@ -0,0 +1 @@
+../d/diablo1740-lm
\ No newline at end of file
diff --git a/lib/terminfo/2/2621 b/lib/terminfo/2/2621
new file mode 120000
index 0000000..8374686
--- /dev/null
+++ b/lib/terminfo/2/2621
@@ -0,0 +1 @@
+../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621-wl b/lib/terminfo/2/2621-wl
new file mode 120000
index 0000000..8374686
--- /dev/null
+++ b/lib/terminfo/2/2621-wl
@@ -0,0 +1 @@
+../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621A b/lib/terminfo/2/2621A
new file mode 120000
index 0000000..8374686
--- /dev/null
+++ b/lib/terminfo/2/2621A
@@ -0,0 +1 @@
+../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621a b/lib/terminfo/2/2621a
new file mode 120000
index 0000000..8374686
--- /dev/null
+++ b/lib/terminfo/2/2621a
@@ -0,0 +1 @@
+../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/3/386at b/lib/terminfo/3/386at
new file mode 120000
index 0000000..c67d9c7
--- /dev/null
+++ b/lib/terminfo/3/386at
@@ -0,0 +1 @@
+../a/att6386
\ No newline at end of file
diff --git a/lib/terminfo/3/3b1 b/lib/terminfo/3/3b1
new file mode 120000
index 0000000..baaa9ad
--- /dev/null
+++ b/lib/terminfo/3/3b1
@@ -0,0 +1 @@
+../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/4/4025ex b/lib/terminfo/4/4025ex
new file mode 120000
index 0000000..da8870c
--- /dev/null
+++ b/lib/terminfo/4/4025ex
@@ -0,0 +1 @@
+../t/tek4025ex
\ No newline at end of file
diff --git a/lib/terminfo/4/4027ex b/lib/terminfo/4/4027ex
new file mode 120000
index 0000000..da8870c
--- /dev/null
+++ b/lib/terminfo/4/4027ex
@@ -0,0 +1 @@
+../t/tek4025ex
\ No newline at end of file
diff --git a/lib/terminfo/4/4410-w b/lib/terminfo/4/4410-w
new file mode 120000
index 0000000..b30658d
--- /dev/null
+++ b/lib/terminfo/4/4410-w
@@ -0,0 +1 @@
+../a/att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/5/5051 b/lib/terminfo/5/5051
new file mode 120000
index 0000000..5c9fffe
--- /dev/null
+++ b/lib/terminfo/5/5051
@@ -0,0 +1 @@
+../i/ibm-pc
\ No newline at end of file
diff --git a/lib/terminfo/5/5410-w b/lib/terminfo/5/5410-w
new file mode 120000
index 0000000..b30658d
--- /dev/null
+++ b/lib/terminfo/5/5410-w
@@ -0,0 +1 @@
+../a/att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/5/5620 b/lib/terminfo/5/5620
new file mode 120000
index 0000000..f27fa37
--- /dev/null
+++ b/lib/terminfo/5/5620
@@ -0,0 +1 @@
+../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/5/5630-24 b/lib/terminfo/5/5630-24
new file mode 120000
index 0000000..682dd85
--- /dev/null
+++ b/lib/terminfo/5/5630-24
@@ -0,0 +1 @@
+../a/att630-24
\ No newline at end of file
diff --git a/lib/terminfo/5/5630DMD-24 b/lib/terminfo/5/5630DMD-24
new file mode 120000
index 0000000..682dd85
--- /dev/null
+++ b/lib/terminfo/5/5630DMD-24
@@ -0,0 +1 @@
+../a/att630-24
\ No newline at end of file
diff --git a/lib/terminfo/6/6053 b/lib/terminfo/6/6053
new file mode 120000
index 0000000..d1d2563
--- /dev/null
+++ b/lib/terminfo/6/6053
@@ -0,0 +1 @@
+../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/6053-dg b/lib/terminfo/6/6053-dg
new file mode 120000
index 0000000..d1d2563
--- /dev/null
+++ b/lib/terminfo/6/6053-dg
@@ -0,0 +1 @@
+../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/605x b/lib/terminfo/6/605x
new file mode 120000
index 0000000..d1d2563
--- /dev/null
+++ b/lib/terminfo/6/605x
@@ -0,0 +1 @@
+../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/605x-dg b/lib/terminfo/6/605x-dg
new file mode 120000
index 0000000..d1d2563
--- /dev/null
+++ b/lib/terminfo/6/605x-dg
@@ -0,0 +1 @@
+../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/630-lm b/lib/terminfo/6/630-lm
new file mode 120000
index 0000000..81ac7e1
--- /dev/null
+++ b/lib/terminfo/6/630-lm
@@ -0,0 +1 @@
+../d/diablo1740-lm
\ No newline at end of file
diff --git a/lib/terminfo/6/630MTG-24 b/lib/terminfo/6/630MTG-24
new file mode 120000
index 0000000..682dd85
--- /dev/null
+++ b/lib/terminfo/6/630MTG-24
@@ -0,0 +1 @@
+../a/att630-24
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTG-24 b/lib/terminfo/7/730MTG-24
new file mode 120000
index 0000000..e880576
--- /dev/null
+++ b/lib/terminfo/7/730MTG-24
@@ -0,0 +1 @@
+../a/att730-24
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTG-41 b/lib/terminfo/7/730MTG-41
new file mode 120000
index 0000000..60caf30
--- /dev/null
+++ b/lib/terminfo/7/730MTG-41
@@ -0,0 +1 @@
+../a/att730-41
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTG-41r b/lib/terminfo/7/730MTG-41r
new file mode 120000
index 0000000..466f54a
--- /dev/null
+++ b/lib/terminfo/7/730MTG-41r
@@ -0,0 +1 @@
+../a/att730r-41
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTGr b/lib/terminfo/7/730MTGr
new file mode 120000
index 0000000..f694291
--- /dev/null
+++ b/lib/terminfo/7/730MTGr
@@ -0,0 +1 @@
+../a/att730r
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTGr-24 b/lib/terminfo/7/730MTGr-24
new file mode 120000
index 0000000..9e2723a
--- /dev/null
+++ b/lib/terminfo/7/730MTGr-24
@@ -0,0 +1 @@
+../a/att730r-24
\ No newline at end of file
diff --git a/lib/terminfo/8/8510 b/lib/terminfo/8/8510
new file mode 120000
index 0000000..2277dd1
--- /dev/null
+++ b/lib/terminfo/8/8510
@@ -0,0 +1 @@
+../c/citoh
\ No newline at end of file
diff --git a/lib/terminfo/9/955-hb b/lib/terminfo/9/955-hb
new file mode 120000
index 0000000..446f851
--- /dev/null
+++ b/lib/terminfo/9/955-hb
@@ -0,0 +1 @@
+../t/tvi955-hb
\ No newline at end of file
diff --git a/lib/terminfo/9/955-w b/lib/terminfo/9/955-w
new file mode 120000
index 0000000..49897e0
--- /dev/null
+++ b/lib/terminfo/9/955-w
@@ -0,0 +1 @@
+../t/tvi955-w
\ No newline at end of file
diff --git a/lib/terminfo/9/9term b/lib/terminfo/9/9term
new file mode 100644
index 0000000..10f5595
--- /dev/null
+++ b/lib/terminfo/9/9term
Binary files differ
diff --git a/lib/terminfo/A/Apple_Terminal b/lib/terminfo/A/Apple_Terminal
new file mode 120000
index 0000000..e815c47
--- /dev/null
+++ b/lib/terminfo/A/Apple_Terminal
@@ -0,0 +1 @@
+../n/nsterm
\ No newline at end of file
diff --git a/lib/terminfo/E/Eterm b/lib/terminfo/E/Eterm
new file mode 100644
index 0000000..504d673
--- /dev/null
+++ b/lib/terminfo/E/Eterm
Binary files differ
diff --git a/lib/terminfo/E/Eterm-256color b/lib/terminfo/E/Eterm-256color
new file mode 100644
index 0000000..4d6d3bb
--- /dev/null
+++ b/lib/terminfo/E/Eterm-256color
Binary files differ
diff --git a/lib/terminfo/E/Eterm-88color b/lib/terminfo/E/Eterm-88color
new file mode 100644
index 0000000..6cdcc42
--- /dev/null
+++ b/lib/terminfo/E/Eterm-88color
Binary files differ
diff --git a/lib/terminfo/E/Eterm-color b/lib/terminfo/E/Eterm-color
new file mode 120000
index 0000000..74aebd7
--- /dev/null
+++ b/lib/terminfo/E/Eterm-color
@@ -0,0 +1 @@
+Eterm
\ No newline at end of file
diff --git a/lib/terminfo/L/LFT-PC850 b/lib/terminfo/L/LFT-PC850
new file mode 120000
index 0000000..95b87f8
--- /dev/null
+++ b/lib/terminfo/L/LFT-PC850
@@ -0,0 +1 @@
+../l/lft
\ No newline at end of file
diff --git a/lib/terminfo/M/MtxOrb b/lib/terminfo/M/MtxOrb
new file mode 100644
index 0000000..e7da241
--- /dev/null
+++ b/lib/terminfo/M/MtxOrb
Binary files differ
diff --git a/lib/terminfo/M/MtxOrb162 b/lib/terminfo/M/MtxOrb162
new file mode 100644
index 0000000..e009b47
--- /dev/null
+++ b/lib/terminfo/M/MtxOrb162
Binary files differ
diff --git a/lib/terminfo/M/MtxOrb204 b/lib/terminfo/M/MtxOrb204
new file mode 100644
index 0000000..62e49b6
--- /dev/null
+++ b/lib/terminfo/M/MtxOrb204
Binary files differ
diff --git a/lib/terminfo/N/NCR260VT300WPP b/lib/terminfo/N/NCR260VT300WPP
new file mode 100644
index 0000000..8e8510f
--- /dev/null
+++ b/lib/terminfo/N/NCR260VT300WPP
Binary files differ
diff --git a/lib/terminfo/N/NCRVT100WPP b/lib/terminfo/N/NCRVT100WPP
new file mode 120000
index 0000000..9c84c11
--- /dev/null
+++ b/lib/terminfo/N/NCRVT100WPP
@@ -0,0 +1 @@
+../n/ncrvt100wan
\ No newline at end of file
diff --git a/lib/terminfo/P/P12 b/lib/terminfo/P/P12
new file mode 120000
index 0000000..543c0ad
--- /dev/null
+++ b/lib/terminfo/P/P12
@@ -0,0 +1 @@
+../p/prism12
\ No newline at end of file
diff --git a/lib/terminfo/P/P12-M b/lib/terminfo/P/P12-M
new file mode 120000
index 0000000..fe9ccb6
--- /dev/null
+++ b/lib/terminfo/P/P12-M
@@ -0,0 +1 @@
+../p/prism12-m
\ No newline at end of file
diff --git a/lib/terminfo/P/P12-M-W b/lib/terminfo/P/P12-M-W
new file mode 120000
index 0000000..e37fcb0
--- /dev/null
+++ b/lib/terminfo/P/P12-M-W
@@ -0,0 +1 @@
+../p/prism12-m-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P12-W b/lib/terminfo/P/P12-W
new file mode 120000
index 0000000..1bf0254
--- /dev/null
+++ b/lib/terminfo/P/P12-W
@@ -0,0 +1 @@
+../p/prism12-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P14 b/lib/terminfo/P/P14
new file mode 120000
index 0000000..aa92ed0
--- /dev/null
+++ b/lib/terminfo/P/P14
@@ -0,0 +1 @@
+../p/prism14
\ No newline at end of file
diff --git a/lib/terminfo/P/P14-M b/lib/terminfo/P/P14-M
new file mode 120000
index 0000000..1f24cca
--- /dev/null
+++ b/lib/terminfo/P/P14-M
@@ -0,0 +1 @@
+../p/prism14-m
\ No newline at end of file
diff --git a/lib/terminfo/P/P14-M-W b/lib/terminfo/P/P14-M-W
new file mode 120000
index 0000000..c29232b
--- /dev/null
+++ b/lib/terminfo/P/P14-M-W
@@ -0,0 +1 @@
+../p/prism14-m-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P14-W b/lib/terminfo/P/P14-W
new file mode 120000
index 0000000..3a781e2
--- /dev/null
+++ b/lib/terminfo/P/P14-W
@@ -0,0 +1 @@
+../p/prism14-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P4 b/lib/terminfo/P/P4
new file mode 120000
index 0000000..faddb45
--- /dev/null
+++ b/lib/terminfo/P/P4
@@ -0,0 +1 @@
+../p/prism4
\ No newline at end of file
diff --git a/lib/terminfo/P/P5 b/lib/terminfo/P/P5
new file mode 120000
index 0000000..a65bc36
--- /dev/null
+++ b/lib/terminfo/P/P5
@@ -0,0 +1 @@
+../p/prism5
\ No newline at end of file
diff --git a/lib/terminfo/P/P7 b/lib/terminfo/P/P7
new file mode 120000
index 0000000..2fd7b58
--- /dev/null
+++ b/lib/terminfo/P/P7
@@ -0,0 +1 @@
+../p/prism7
\ No newline at end of file
diff --git a/lib/terminfo/P/P8 b/lib/terminfo/P/P8
new file mode 120000
index 0000000..2806f5c
--- /dev/null
+++ b/lib/terminfo/P/P8
@@ -0,0 +1 @@
+../p/prism8
\ No newline at end of file
diff --git a/lib/terminfo/P/P8-W b/lib/terminfo/P/P8-W
new file mode 120000
index 0000000..21c8a27
--- /dev/null
+++ b/lib/terminfo/P/P8-W
@@ -0,0 +1 @@
+../p/prism8-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P9 b/lib/terminfo/P/P9
new file mode 120000
index 0000000..46833f3
--- /dev/null
+++ b/lib/terminfo/P/P9
@@ -0,0 +1 @@
+../p/prism9
\ No newline at end of file
diff --git a/lib/terminfo/P/P9-8 b/lib/terminfo/P/P9-8
new file mode 120000
index 0000000..fc0bb84
--- /dev/null
+++ b/lib/terminfo/P/P9-8
@@ -0,0 +1 @@
+../p/prism9-8
\ No newline at end of file
diff --git a/lib/terminfo/P/P9-8-W b/lib/terminfo/P/P9-8-W
new file mode 120000
index 0000000..9fcd6db
--- /dev/null
+++ b/lib/terminfo/P/P9-8-W
@@ -0,0 +1 @@
+../p/prism9-8-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P9-W b/lib/terminfo/P/P9-W
new file mode 120000
index 0000000..ffa8da9
--- /dev/null
+++ b/lib/terminfo/P/P9-W
@@ -0,0 +1 @@
+../p/prism9-w
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q306-8-pc b/lib/terminfo/Q/Q306-8-pc
new file mode 120000
index 0000000..f18664b
--- /dev/null
+++ b/lib/terminfo/Q/Q306-8-pc
@@ -0,0 +1 @@
+../b/bq300-8-pc
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-H b/lib/terminfo/Q/Q310-vip-H
new file mode 120000
index 0000000..b6c9a6a
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-H
@@ -0,0 +1 @@
+../v/vip-H
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-H-am b/lib/terminfo/Q/Q310-vip-H-am
new file mode 120000
index 0000000..b6c9a6a
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-H-am
@@ -0,0 +1 @@
+../v/vip-H
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-Hw b/lib/terminfo/Q/Q310-vip-Hw
new file mode 120000
index 0000000..0b0a1bc
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-Hw
@@ -0,0 +1 @@
+../v/vip-Hw
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-w b/lib/terminfo/Q/Q310-vip-w
new file mode 120000
index 0000000..a9a148d
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-w
@@ -0,0 +1 @@
+../v/vip-w
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-w-am b/lib/terminfo/Q/Q310-vip-w-am
new file mode 120000
index 0000000..a9a148d
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-w-am
@@ -0,0 +1 @@
+../v/vip-w
\ No newline at end of file
diff --git a/lib/terminfo/X/X-hpterm b/lib/terminfo/X/X-hpterm
new file mode 120000
index 0000000..e60898e
--- /dev/null
+++ b/lib/terminfo/X/X-hpterm
@@ -0,0 +1 @@
+../h/hpterm
\ No newline at end of file
diff --git a/lib/terminfo/a/a210 b/lib/terminfo/a/a210
new file mode 120000
index 0000000..d851ef3
--- /dev/null
+++ b/lib/terminfo/a/a210
@@ -0,0 +1 @@
+ampex210
\ No newline at end of file
diff --git a/lib/terminfo/a/a80 b/lib/terminfo/a/a80
new file mode 120000
index 0000000..354910d
--- /dev/null
+++ b/lib/terminfo/a/a80
@@ -0,0 +1 @@
+ampex80
\ No newline at end of file
diff --git a/lib/terminfo/a/a980 b/lib/terminfo/a/a980
new file mode 120000
index 0000000..083bc88
--- /dev/null
+++ b/lib/terminfo/a/a980
@@ -0,0 +1 @@
+adds980
\ No newline at end of file
diff --git a/lib/terminfo/a/aa4080 b/lib/terminfo/a/aa4080
new file mode 120000
index 0000000..4b733d1
--- /dev/null
+++ b/lib/terminfo/a/aa4080
@@ -0,0 +1 @@
+annarbor4080
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa b/lib/terminfo/a/aaa
new file mode 100644
index 0000000..1d89524
--- /dev/null
+++ b/lib/terminfo/a/aaa
Binary files differ
diff --git a/lib/terminfo/a/aaa+dec b/lib/terminfo/a/aaa+dec
new file mode 100644
index 0000000..ab6877a
--- /dev/null
+++ b/lib/terminfo/a/aaa+dec
Binary files differ
diff --git a/lib/terminfo/a/aaa+rv b/lib/terminfo/a/aaa+rv
new file mode 100644
index 0000000..4b12e3e
--- /dev/null
+++ b/lib/terminfo/a/aaa+rv
Binary files differ
diff --git a/lib/terminfo/a/aaa+unk b/lib/terminfo/a/aaa+unk
new file mode 100644
index 0000000..25c9550
--- /dev/null
+++ b/lib/terminfo/a/aaa+unk
Binary files differ
diff --git a/lib/terminfo/a/aaa-18 b/lib/terminfo/a/aaa-18
new file mode 100644
index 0000000..92e296d
--- /dev/null
+++ b/lib/terminfo/a/aaa-18
Binary files differ
diff --git a/lib/terminfo/a/aaa-18-rv b/lib/terminfo/a/aaa-18-rv
new file mode 100644
index 0000000..43d618c
--- /dev/null
+++ b/lib/terminfo/a/aaa-18-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-20 b/lib/terminfo/a/aaa-20
new file mode 100644
index 0000000..3f4f2b2
--- /dev/null
+++ b/lib/terminfo/a/aaa-20
Binary files differ
diff --git a/lib/terminfo/a/aaa-22 b/lib/terminfo/a/aaa-22
new file mode 100644
index 0000000..6a547ab
--- /dev/null
+++ b/lib/terminfo/a/aaa-22
Binary files differ
diff --git a/lib/terminfo/a/aaa-24 b/lib/terminfo/a/aaa-24
new file mode 100644
index 0000000..7f608d8
--- /dev/null
+++ b/lib/terminfo/a/aaa-24
Binary files differ
diff --git a/lib/terminfo/a/aaa-24-rv b/lib/terminfo/a/aaa-24-rv
new file mode 100644
index 0000000..cf1ad33
--- /dev/null
+++ b/lib/terminfo/a/aaa-24-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-26 b/lib/terminfo/a/aaa-26
new file mode 100644
index 0000000..ce853d0
--- /dev/null
+++ b/lib/terminfo/a/aaa-26
Binary files differ
diff --git a/lib/terminfo/a/aaa-28 b/lib/terminfo/a/aaa-28
new file mode 100644
index 0000000..fba60d9
--- /dev/null
+++ b/lib/terminfo/a/aaa-28
Binary files differ
diff --git a/lib/terminfo/a/aaa-30 b/lib/terminfo/a/aaa-30
new file mode 120000
index 0000000..7c4a013
--- /dev/null
+++ b/lib/terminfo/a/aaa-30
@@ -0,0 +1 @@
+aaa
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-30-ctxt b/lib/terminfo/a/aaa-30-ctxt
new file mode 100644
index 0000000..f51dad6
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-rv b/lib/terminfo/a/aaa-30-rv
new file mode 100644
index 0000000..504d5e2
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-rv-ctxt b/lib/terminfo/a/aaa-30-rv-ctxt
new file mode 100644
index 0000000..8eea11e
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-rv-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s b/lib/terminfo/a/aaa-30-s
new file mode 100644
index 0000000..5697b69
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-s
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s-ctxt b/lib/terminfo/a/aaa-30-s-ctxt
new file mode 120000
index 0000000..1ce0c1d
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-s-ctxt
@@ -0,0 +1 @@
+aaa-s-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-30-s-rv b/lib/terminfo/a/aaa-30-s-rv
new file mode 100644
index 0000000..cff6b34
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-s-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s-rv-ct b/lib/terminfo/a/aaa-30-s-rv-ct
new file mode 120000
index 0000000..9c3113e
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-s-rv-ct
@@ -0,0 +1 @@
+aaa-s-rv-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-36 b/lib/terminfo/a/aaa-36
new file mode 100644
index 0000000..dab1e16
--- /dev/null
+++ b/lib/terminfo/a/aaa-36
Binary files differ
diff --git a/lib/terminfo/a/aaa-36-rv b/lib/terminfo/a/aaa-36-rv
new file mode 100644
index 0000000..8c31d7f
--- /dev/null
+++ b/lib/terminfo/a/aaa-36-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-40 b/lib/terminfo/a/aaa-40
new file mode 100644
index 0000000..5f4af44
--- /dev/null
+++ b/lib/terminfo/a/aaa-40
Binary files differ
diff --git a/lib/terminfo/a/aaa-40-rv b/lib/terminfo/a/aaa-40-rv
new file mode 100644
index 0000000..107bd9d
--- /dev/null
+++ b/lib/terminfo/a/aaa-40-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-48 b/lib/terminfo/a/aaa-48
new file mode 100644
index 0000000..28a1f19
--- /dev/null
+++ b/lib/terminfo/a/aaa-48
Binary files differ
diff --git a/lib/terminfo/a/aaa-48-rv b/lib/terminfo/a/aaa-48-rv
new file mode 100644
index 0000000..8c0caeb
--- /dev/null
+++ b/lib/terminfo/a/aaa-48-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-60 b/lib/terminfo/a/aaa-60
new file mode 100644
index 0000000..f09b57e
--- /dev/null
+++ b/lib/terminfo/a/aaa-60
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-dec-rv b/lib/terminfo/a/aaa-60-dec-rv
new file mode 100644
index 0000000..a148cd2
--- /dev/null
+++ b/lib/terminfo/a/aaa-60-dec-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-rv b/lib/terminfo/a/aaa-60-rv
new file mode 100644
index 0000000..59da6b9
--- /dev/null
+++ b/lib/terminfo/a/aaa-60-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-s b/lib/terminfo/a/aaa-60-s
new file mode 100644
index 0000000..0134f08
--- /dev/null
+++ b/lib/terminfo/a/aaa-60-s
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-s-rv b/lib/terminfo/a/aaa-60-s-rv
new file mode 100644
index 0000000..d5dd492
--- /dev/null
+++ b/lib/terminfo/a/aaa-60-s-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-ctxt b/lib/terminfo/a/aaa-ctxt
new file mode 120000
index 0000000..98af754
--- /dev/null
+++ b/lib/terminfo/a/aaa-ctxt
@@ -0,0 +1 @@
+aaa-30-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-db b/lib/terminfo/a/aaa-db
new file mode 100644
index 0000000..97349fb
--- /dev/null
+++ b/lib/terminfo/a/aaa-db
Binary files differ
diff --git a/lib/terminfo/a/aaa-rv b/lib/terminfo/a/aaa-rv
new file mode 120000
index 0000000..380070e
--- /dev/null
+++ b/lib/terminfo/a/aaa-rv
@@ -0,0 +1 @@
+aaa-30-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-rv-ctxt b/lib/terminfo/a/aaa-rv-ctxt
new file mode 120000
index 0000000..5039554
--- /dev/null
+++ b/lib/terminfo/a/aaa-rv-ctxt
@@ -0,0 +1 @@
+aaa-30-rv-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-rv-unk b/lib/terminfo/a/aaa-rv-unk
new file mode 100644
index 0000000..f3f5c85
--- /dev/null
+++ b/lib/terminfo/a/aaa-rv-unk
Binary files differ
diff --git a/lib/terminfo/a/aaa-s b/lib/terminfo/a/aaa-s
new file mode 120000
index 0000000..b4197b1
--- /dev/null
+++ b/lib/terminfo/a/aaa-s
@@ -0,0 +1 @@
+aaa-30-s
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-s-ctxt b/lib/terminfo/a/aaa-s-ctxt
new file mode 100644
index 0000000..5024446
--- /dev/null
+++ b/lib/terminfo/a/aaa-s-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-s-rv b/lib/terminfo/a/aaa-s-rv
new file mode 120000
index 0000000..2b7f8d4
--- /dev/null
+++ b/lib/terminfo/a/aaa-s-rv
@@ -0,0 +1 @@
+aaa-30-s-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-s-rv-ctxt b/lib/terminfo/a/aaa-s-rv-ctxt
new file mode 100644
index 0000000..e9a1a33
--- /dev/null
+++ b/lib/terminfo/a/aaa-s-rv-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-unk b/lib/terminfo/a/aaa-unk
new file mode 120000
index 0000000..2fce4be
--- /dev/null
+++ b/lib/terminfo/a/aaa-unk
@@ -0,0 +1 @@
+aaa+unk
\ No newline at end of file
diff --git a/lib/terminfo/a/aas1901 b/lib/terminfo/a/aas1901
new file mode 100644
index 0000000..6dcde9d
--- /dev/null
+++ b/lib/terminfo/a/aas1901
Binary files differ
diff --git a/lib/terminfo/a/abm80 b/lib/terminfo/a/abm80
new file mode 100644
index 0000000..8cbee81
--- /dev/null
+++ b/lib/terminfo/a/abm80
Binary files differ
diff --git a/lib/terminfo/a/abm85 b/lib/terminfo/a/abm85
new file mode 100644
index 0000000..6573309
--- /dev/null
+++ b/lib/terminfo/a/abm85
Binary files differ
diff --git a/lib/terminfo/a/abm85e b/lib/terminfo/a/abm85e
new file mode 100644
index 0000000..5400701
--- /dev/null
+++ b/lib/terminfo/a/abm85e
Binary files differ
diff --git a/lib/terminfo/a/abm85h b/lib/terminfo/a/abm85h
new file mode 100644
index 0000000..b860915
--- /dev/null
+++ b/lib/terminfo/a/abm85h
Binary files differ
diff --git a/lib/terminfo/a/abm85h-old b/lib/terminfo/a/abm85h-old
new file mode 100644
index 0000000..90f1ff0
--- /dev/null
+++ b/lib/terminfo/a/abm85h-old
Binary files differ
diff --git a/lib/terminfo/a/act4 b/lib/terminfo/a/act4
new file mode 100644
index 0000000..b24bd13
--- /dev/null
+++ b/lib/terminfo/a/act4
Binary files differ
diff --git a/lib/terminfo/a/act5 b/lib/terminfo/a/act5
new file mode 100644
index 0000000..66b296f
--- /dev/null
+++ b/lib/terminfo/a/act5
Binary files differ
diff --git a/lib/terminfo/a/addrinfo b/lib/terminfo/a/addrinfo
new file mode 100644
index 0000000..3b651ab
--- /dev/null
+++ b/lib/terminfo/a/addrinfo
Binary files differ
diff --git a/lib/terminfo/a/adds980 b/lib/terminfo/a/adds980
new file mode 100644
index 0000000..086c5a7
--- /dev/null
+++ b/lib/terminfo/a/adds980
Binary files differ
diff --git a/lib/terminfo/a/addsviewpoint b/lib/terminfo/a/addsviewpoint
new file mode 120000
index 0000000..4f77c4d
--- /dev/null
+++ b/lib/terminfo/a/addsviewpoint
@@ -0,0 +1 @@
+../v/viewpoint
\ No newline at end of file
diff --git a/lib/terminfo/a/addsvp60 b/lib/terminfo/a/addsvp60
new file mode 120000
index 0000000..2e3934f
--- /dev/null
+++ b/lib/terminfo/a/addsvp60
@@ -0,0 +1 @@
+../v/vp60
\ No newline at end of file
diff --git a/lib/terminfo/a/adm+sgr b/lib/terminfo/a/adm+sgr
new file mode 100644
index 0000000..afbc99e
--- /dev/null
+++ b/lib/terminfo/a/adm+sgr
Binary files differ
diff --git a/lib/terminfo/a/adm1 b/lib/terminfo/a/adm1
new file mode 120000
index 0000000..aee3d03
--- /dev/null
+++ b/lib/terminfo/a/adm1
@@ -0,0 +1 @@
+adm1a
\ No newline at end of file
diff --git a/lib/terminfo/a/adm11 b/lib/terminfo/a/adm11
new file mode 100644
index 0000000..d464b5b
--- /dev/null
+++ b/lib/terminfo/a/adm11
Binary files differ
diff --git a/lib/terminfo/a/adm1178 b/lib/terminfo/a/adm1178
new file mode 100644
index 0000000..9941d01
--- /dev/null
+++ b/lib/terminfo/a/adm1178
Binary files differ
diff --git a/lib/terminfo/a/adm12 b/lib/terminfo/a/adm12
new file mode 100644
index 0000000..741f128
--- /dev/null
+++ b/lib/terminfo/a/adm12
Binary files differ
diff --git a/lib/terminfo/a/adm1a b/lib/terminfo/a/adm1a
new file mode 100644
index 0000000..ffb8220
--- /dev/null
+++ b/lib/terminfo/a/adm1a
Binary files differ
diff --git a/lib/terminfo/a/adm2 b/lib/terminfo/a/adm2
new file mode 100644
index 0000000..2b9cd74
--- /dev/null
+++ b/lib/terminfo/a/adm2
Binary files differ
diff --git a/lib/terminfo/a/adm20 b/lib/terminfo/a/adm20
new file mode 100644
index 0000000..2957f84
--- /dev/null
+++ b/lib/terminfo/a/adm20
Binary files differ
diff --git a/lib/terminfo/a/adm21 b/lib/terminfo/a/adm21
new file mode 100644
index 0000000..1c6309b
--- /dev/null
+++ b/lib/terminfo/a/adm21
Binary files differ
diff --git a/lib/terminfo/a/adm22 b/lib/terminfo/a/adm22
new file mode 100644
index 0000000..7c13056
--- /dev/null
+++ b/lib/terminfo/a/adm22
Binary files differ
diff --git a/lib/terminfo/a/adm3 b/lib/terminfo/a/adm3
new file mode 100644
index 0000000..6a8e9ec
--- /dev/null
+++ b/lib/terminfo/a/adm3
Binary files differ
diff --git a/lib/terminfo/a/adm31 b/lib/terminfo/a/adm31
new file mode 100644
index 0000000..27f2a98
--- /dev/null
+++ b/lib/terminfo/a/adm31
Binary files differ
diff --git a/lib/terminfo/a/adm31-old b/lib/terminfo/a/adm31-old
new file mode 100644
index 0000000..fb6d9e6
--- /dev/null
+++ b/lib/terminfo/a/adm31-old
Binary files differ
diff --git a/lib/terminfo/a/adm36 b/lib/terminfo/a/adm36
new file mode 100644
index 0000000..1bfcbfa
--- /dev/null
+++ b/lib/terminfo/a/adm36
Binary files differ
diff --git a/lib/terminfo/a/adm3a b/lib/terminfo/a/adm3a
new file mode 100644
index 0000000..87048fb
--- /dev/null
+++ b/lib/terminfo/a/adm3a
Binary files differ
diff --git a/lib/terminfo/a/adm3a+ b/lib/terminfo/a/adm3a+
new file mode 100644
index 0000000..4a74c19
--- /dev/null
+++ b/lib/terminfo/a/adm3a+
Binary files differ
diff --git a/lib/terminfo/a/adm42 b/lib/terminfo/a/adm42
new file mode 100644
index 0000000..0225bf7
--- /dev/null
+++ b/lib/terminfo/a/adm42
Binary files differ
diff --git a/lib/terminfo/a/adm42-ns b/lib/terminfo/a/adm42-ns
new file mode 100644
index 0000000..f5b45fb
--- /dev/null
+++ b/lib/terminfo/a/adm42-ns
Binary files differ
diff --git a/lib/terminfo/a/adm5 b/lib/terminfo/a/adm5
new file mode 100644
index 0000000..f3efef5
--- /dev/null
+++ b/lib/terminfo/a/adm5
Binary files differ
diff --git a/lib/terminfo/a/aepro b/lib/terminfo/a/aepro
new file mode 100644
index 0000000..d8b036c
--- /dev/null
+++ b/lib/terminfo/a/aepro
Binary files differ
diff --git a/lib/terminfo/a/aixterm b/lib/terminfo/a/aixterm
new file mode 100644
index 0000000..9a29aa6
--- /dev/null
+++ b/lib/terminfo/a/aixterm
Binary files differ
diff --git a/lib/terminfo/a/aixterm-16color b/lib/terminfo/a/aixterm-16color
new file mode 100644
index 0000000..f2c61eb
--- /dev/null
+++ b/lib/terminfo/a/aixterm-16color
Binary files differ
diff --git a/lib/terminfo/a/aixterm-m b/lib/terminfo/a/aixterm-m
new file mode 100644
index 0000000..6584a80
--- /dev/null
+++ b/lib/terminfo/a/aixterm-m
Binary files differ
diff --git a/lib/terminfo/a/aixterm-m-old b/lib/terminfo/a/aixterm-m-old
new file mode 100644
index 0000000..96949c9
--- /dev/null
+++ b/lib/terminfo/a/aixterm-m-old
Binary files differ
diff --git a/lib/terminfo/a/aj b/lib/terminfo/a/aj
new file mode 120000
index 0000000..9134eec
--- /dev/null
+++ b/lib/terminfo/a/aj
@@ -0,0 +1 @@
+aj830
\ No newline at end of file
diff --git a/lib/terminfo/a/aj510 b/lib/terminfo/a/aj510
new file mode 100644
index 0000000..7185b92
--- /dev/null
+++ b/lib/terminfo/a/aj510
Binary files differ
diff --git a/lib/terminfo/a/aj830 b/lib/terminfo/a/aj830
new file mode 100644
index 0000000..4db61f6
--- /dev/null
+++ b/lib/terminfo/a/aj830
Binary files differ
diff --git a/lib/terminfo/a/aj832 b/lib/terminfo/a/aj832
new file mode 120000
index 0000000..9134eec
--- /dev/null
+++ b/lib/terminfo/a/aj832
@@ -0,0 +1 @@
+aj830
\ No newline at end of file
diff --git a/lib/terminfo/a/alt2 b/lib/terminfo/a/alt2
new file mode 120000
index 0000000..6d05514
--- /dev/null
+++ b/lib/terminfo/a/alt2
@@ -0,0 +1 @@
+altos2
\ No newline at end of file
diff --git a/lib/terminfo/a/alt3 b/lib/terminfo/a/alt3
new file mode 120000
index 0000000..efd4f11
--- /dev/null
+++ b/lib/terminfo/a/alt3
@@ -0,0 +1 @@
+altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/alt4 b/lib/terminfo/a/alt4
new file mode 120000
index 0000000..47c4add
--- /dev/null
+++ b/lib/terminfo/a/alt4
@@ -0,0 +1 @@
+altos4
\ No newline at end of file
diff --git a/lib/terminfo/a/alt5 b/lib/terminfo/a/alt5
new file mode 120000
index 0000000..efd4f11
--- /dev/null
+++ b/lib/terminfo/a/alt5
@@ -0,0 +1 @@
+altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/alt7 b/lib/terminfo/a/alt7
new file mode 120000
index 0000000..11d864d
--- /dev/null
+++ b/lib/terminfo/a/alt7
@@ -0,0 +1 @@
+altos7
\ No newline at end of file
diff --git a/lib/terminfo/a/alt7pc b/lib/terminfo/a/alt7pc
new file mode 120000
index 0000000..3da48a9
--- /dev/null
+++ b/lib/terminfo/a/alt7pc
@@ -0,0 +1 @@
+altos7pc
\ No newline at end of file
diff --git a/lib/terminfo/a/alto-h19 b/lib/terminfo/a/alto-h19
new file mode 100644
index 0000000..923fcac
--- /dev/null
+++ b/lib/terminfo/a/alto-h19
Binary files differ
diff --git a/lib/terminfo/a/alto-heath b/lib/terminfo/a/alto-heath
new file mode 120000
index 0000000..ef3f981
--- /dev/null
+++ b/lib/terminfo/a/alto-heath
@@ -0,0 +1 @@
+alto-h19
\ No newline at end of file
diff --git a/lib/terminfo/a/altoh19 b/lib/terminfo/a/altoh19
new file mode 120000
index 0000000..ef3f981
--- /dev/null
+++ b/lib/terminfo/a/altoh19
@@ -0,0 +1 @@
+alto-h19
\ No newline at end of file
diff --git a/lib/terminfo/a/altoheath b/lib/terminfo/a/altoheath
new file mode 120000
index 0000000..ef3f981
--- /dev/null
+++ b/lib/terminfo/a/altoheath
@@ -0,0 +1 @@
+alto-h19
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-2 b/lib/terminfo/a/altos-2
new file mode 120000
index 0000000..6d05514
--- /dev/null
+++ b/lib/terminfo/a/altos-2
@@ -0,0 +1 @@
+altos2
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-3 b/lib/terminfo/a/altos-3
new file mode 120000
index 0000000..efd4f11
--- /dev/null
+++ b/lib/terminfo/a/altos-3
@@ -0,0 +1 @@
+altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-4 b/lib/terminfo/a/altos-4
new file mode 120000
index 0000000..47c4add
--- /dev/null
+++ b/lib/terminfo/a/altos-4
@@ -0,0 +1 @@
+altos4
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-5 b/lib/terminfo/a/altos-5
new file mode 120000
index 0000000..efd4f11
--- /dev/null
+++ b/lib/terminfo/a/altos-5
@@ -0,0 +1 @@
+altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/altos2 b/lib/terminfo/a/altos2
new file mode 100644
index 0000000..80fa4bf
--- /dev/null
+++ b/lib/terminfo/a/altos2
Binary files differ
diff --git a/lib/terminfo/a/altos3 b/lib/terminfo/a/altos3
new file mode 100644
index 0000000..0ed6838
--- /dev/null
+++ b/lib/terminfo/a/altos3
Binary files differ
diff --git a/lib/terminfo/a/altos4 b/lib/terminfo/a/altos4
new file mode 100644
index 0000000..6ec5bb4
--- /dev/null
+++ b/lib/terminfo/a/altos4
Binary files differ
diff --git a/lib/terminfo/a/altos5 b/lib/terminfo/a/altos5
new file mode 120000
index 0000000..efd4f11
--- /dev/null
+++ b/lib/terminfo/a/altos5
@@ -0,0 +1 @@
+altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/altos7 b/lib/terminfo/a/altos7
new file mode 100644
index 0000000..0021ef3
--- /dev/null
+++ b/lib/terminfo/a/altos7
Binary files differ
diff --git a/lib/terminfo/a/altos7pc b/lib/terminfo/a/altos7pc
new file mode 100644
index 0000000..ec41171
--- /dev/null
+++ b/lib/terminfo/a/altos7pc
Binary files differ
diff --git a/lib/terminfo/a/ambas b/lib/terminfo/a/ambas
new file mode 120000
index 0000000..7c4a013
--- /dev/null
+++ b/lib/terminfo/a/ambas
@@ -0,0 +1 @@
+aaa
\ No newline at end of file
diff --git a/lib/terminfo/a/ambassador b/lib/terminfo/a/ambassador
new file mode 120000
index 0000000..7c4a013
--- /dev/null
+++ b/lib/terminfo/a/ambassador
@@ -0,0 +1 @@
+aaa
\ No newline at end of file
diff --git a/lib/terminfo/a/amiga b/lib/terminfo/a/amiga
new file mode 100644
index 0000000..6233d1c
--- /dev/null
+++ b/lib/terminfo/a/amiga
Binary files differ
diff --git a/lib/terminfo/a/amiga-8bit b/lib/terminfo/a/amiga-8bit
new file mode 100644
index 0000000..5faf757
--- /dev/null
+++ b/lib/terminfo/a/amiga-8bit
Binary files differ
diff --git a/lib/terminfo/a/amiga-h b/lib/terminfo/a/amiga-h
new file mode 100644
index 0000000..9668879
--- /dev/null
+++ b/lib/terminfo/a/amiga-h
Binary files differ
diff --git a/lib/terminfo/a/amiga-vnc b/lib/terminfo/a/amiga-vnc
new file mode 100644
index 0000000..e1ebe0c
--- /dev/null
+++ b/lib/terminfo/a/amiga-vnc
Binary files differ
diff --git a/lib/terminfo/a/amp219 b/lib/terminfo/a/amp219
new file mode 120000
index 0000000..e1ed07c
--- /dev/null
+++ b/lib/terminfo/a/amp219
@@ -0,0 +1 @@
+ampex219
\ No newline at end of file
diff --git a/lib/terminfo/a/amp219w b/lib/terminfo/a/amp219w
new file mode 120000
index 0000000..23c4c0f
--- /dev/null
+++ b/lib/terminfo/a/amp219w
@@ -0,0 +1 @@
+ampex219w
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex-219 b/lib/terminfo/a/ampex-219
new file mode 120000
index 0000000..e1ed07c
--- /dev/null
+++ b/lib/terminfo/a/ampex-219
@@ -0,0 +1 @@
+ampex219
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex-219w b/lib/terminfo/a/ampex-219w
new file mode 120000
index 0000000..23c4c0f
--- /dev/null
+++ b/lib/terminfo/a/ampex-219w
@@ -0,0 +1 @@
+ampex219w
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex-232 b/lib/terminfo/a/ampex-232
new file mode 120000
index 0000000..f0a9367
--- /dev/null
+++ b/lib/terminfo/a/ampex-232
@@ -0,0 +1 @@
+ampex232
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex175 b/lib/terminfo/a/ampex175
new file mode 100644
index 0000000..77e0311
--- /dev/null
+++ b/lib/terminfo/a/ampex175
Binary files differ
diff --git a/lib/terminfo/a/ampex175-b b/lib/terminfo/a/ampex175-b
new file mode 100644
index 0000000..c26466c
--- /dev/null
+++ b/lib/terminfo/a/ampex175-b
Binary files differ
diff --git a/lib/terminfo/a/ampex210 b/lib/terminfo/a/ampex210
new file mode 100644
index 0000000..f4584d6
--- /dev/null
+++ b/lib/terminfo/a/ampex210
Binary files differ
diff --git a/lib/terminfo/a/ampex219 b/lib/terminfo/a/ampex219
new file mode 100644
index 0000000..ec0490f
--- /dev/null
+++ b/lib/terminfo/a/ampex219
Binary files differ
diff --git a/lib/terminfo/a/ampex219w b/lib/terminfo/a/ampex219w
new file mode 100644
index 0000000..d45bd64
--- /dev/null
+++ b/lib/terminfo/a/ampex219w
Binary files differ
diff --git a/lib/terminfo/a/ampex232 b/lib/terminfo/a/ampex232
new file mode 100644
index 0000000..698c33d
--- /dev/null
+++ b/lib/terminfo/a/ampex232
Binary files differ
diff --git a/lib/terminfo/a/ampex232w b/lib/terminfo/a/ampex232w
new file mode 100644
index 0000000..2efbbde
--- /dev/null
+++ b/lib/terminfo/a/ampex232w
Binary files differ
diff --git a/lib/terminfo/a/ampex80 b/lib/terminfo/a/ampex80
new file mode 100644
index 0000000..2db99c5
--- /dev/null
+++ b/lib/terminfo/a/ampex80
Binary files differ
diff --git a/lib/terminfo/a/annarbor4080 b/lib/terminfo/a/annarbor4080
new file mode 100644
index 0000000..fba1e48
--- /dev/null
+++ b/lib/terminfo/a/annarbor4080
Binary files differ
diff --git a/lib/terminfo/a/ansi b/lib/terminfo/a/ansi
new file mode 100644
index 0000000..6de7978
--- /dev/null
+++ b/lib/terminfo/a/ansi
Binary files differ
diff --git a/lib/terminfo/a/ansi+arrows b/lib/terminfo/a/ansi+arrows
new file mode 100644
index 0000000..3482995
--- /dev/null
+++ b/lib/terminfo/a/ansi+arrows
Binary files differ
diff --git a/lib/terminfo/a/ansi+csr b/lib/terminfo/a/ansi+csr
new file mode 100644
index 0000000..4196f37
--- /dev/null
+++ b/lib/terminfo/a/ansi+csr
Binary files differ
diff --git a/lib/terminfo/a/ansi+cup b/lib/terminfo/a/ansi+cup
new file mode 100644
index 0000000..5d28d73
--- /dev/null
+++ b/lib/terminfo/a/ansi+cup
Binary files differ
diff --git a/lib/terminfo/a/ansi+enq b/lib/terminfo/a/ansi+enq
new file mode 100644
index 0000000..8103d30
--- /dev/null
+++ b/lib/terminfo/a/ansi+enq
Binary files differ
diff --git a/lib/terminfo/a/ansi+erase b/lib/terminfo/a/ansi+erase
new file mode 100644
index 0000000..8724be3
--- /dev/null
+++ b/lib/terminfo/a/ansi+erase
Binary files differ
diff --git a/lib/terminfo/a/ansi+idc b/lib/terminfo/a/ansi+idc
new file mode 100644
index 0000000..b4f8e22
--- /dev/null
+++ b/lib/terminfo/a/ansi+idc
Binary files differ
diff --git a/lib/terminfo/a/ansi+idl b/lib/terminfo/a/ansi+idl
new file mode 100644
index 0000000..fda884b
--- /dev/null
+++ b/lib/terminfo/a/ansi+idl
Binary files differ
diff --git a/lib/terminfo/a/ansi+idl1 b/lib/terminfo/a/ansi+idl1
new file mode 100644
index 0000000..b42537d
--- /dev/null
+++ b/lib/terminfo/a/ansi+idl1
Binary files differ
diff --git a/lib/terminfo/a/ansi+inittabs b/lib/terminfo/a/ansi+inittabs
new file mode 100644
index 0000000..b8a8786
--- /dev/null
+++ b/lib/terminfo/a/ansi+inittabs
Binary files differ
diff --git a/lib/terminfo/a/ansi+local b/lib/terminfo/a/ansi+local
new file mode 100644
index 0000000..91a2248
--- /dev/null
+++ b/lib/terminfo/a/ansi+local
Binary files differ
diff --git a/lib/terminfo/a/ansi+local1 b/lib/terminfo/a/ansi+local1
new file mode 100644
index 0000000..b802ddb
--- /dev/null
+++ b/lib/terminfo/a/ansi+local1
Binary files differ
diff --git a/lib/terminfo/a/ansi+pp b/lib/terminfo/a/ansi+pp
new file mode 100644
index 0000000..a17c84f
--- /dev/null
+++ b/lib/terminfo/a/ansi+pp
Binary files differ
diff --git a/lib/terminfo/a/ansi+rca b/lib/terminfo/a/ansi+rca
new file mode 100644
index 0000000..3ea5312
--- /dev/null
+++ b/lib/terminfo/a/ansi+rca
Binary files differ
diff --git a/lib/terminfo/a/ansi+rep b/lib/terminfo/a/ansi+rep
new file mode 100644
index 0000000..bc0dc7f
--- /dev/null
+++ b/lib/terminfo/a/ansi+rep
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgr b/lib/terminfo/a/ansi+sgr
new file mode 100644
index 0000000..4eccc02
--- /dev/null
+++ b/lib/terminfo/a/ansi+sgr
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrbold b/lib/terminfo/a/ansi+sgrbold
new file mode 100644
index 0000000..96773e3
--- /dev/null
+++ b/lib/terminfo/a/ansi+sgrbold
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrdim b/lib/terminfo/a/ansi+sgrdim
new file mode 100644
index 0000000..2aa9419
--- /dev/null
+++ b/lib/terminfo/a/ansi+sgrdim
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrso b/lib/terminfo/a/ansi+sgrso
new file mode 100644
index 0000000..8bd56a2
--- /dev/null
+++ b/lib/terminfo/a/ansi+sgrso
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrul b/lib/terminfo/a/ansi+sgrul
new file mode 100644
index 0000000..8e66853
--- /dev/null
+++ b/lib/terminfo/a/ansi+sgrul
Binary files differ
diff --git a/lib/terminfo/a/ansi+tabs b/lib/terminfo/a/ansi+tabs
new file mode 100644
index 0000000..06f32b3
--- /dev/null
+++ b/lib/terminfo/a/ansi+tabs
Binary files differ
diff --git a/lib/terminfo/a/ansi-color-2-emx b/lib/terminfo/a/ansi-color-2-emx
new file mode 100644
index 0000000..895ce6a
--- /dev/null
+++ b/lib/terminfo/a/ansi-color-2-emx
Binary files differ
diff --git a/lib/terminfo/a/ansi-color-3-emx b/lib/terminfo/a/ansi-color-3-emx
new file mode 100644
index 0000000..aff742b
--- /dev/null
+++ b/lib/terminfo/a/ansi-color-3-emx
Binary files differ
diff --git a/lib/terminfo/a/ansi-emx b/lib/terminfo/a/ansi-emx
new file mode 100644
index 0000000..f804c43
--- /dev/null
+++ b/lib/terminfo/a/ansi-emx
Binary files differ
diff --git a/lib/terminfo/a/ansi-generic b/lib/terminfo/a/ansi-generic
new file mode 100644
index 0000000..22e8145
--- /dev/null
+++ b/lib/terminfo/a/ansi-generic
Binary files differ
diff --git a/lib/terminfo/a/ansi-m b/lib/terminfo/a/ansi-m
new file mode 100644
index 0000000..df6fd79
--- /dev/null
+++ b/lib/terminfo/a/ansi-m
Binary files differ
diff --git a/lib/terminfo/a/ansi-mini b/lib/terminfo/a/ansi-mini
new file mode 100644
index 0000000..c61fb7a
--- /dev/null
+++ b/lib/terminfo/a/ansi-mini
Binary files differ
diff --git a/lib/terminfo/a/ansi-mono b/lib/terminfo/a/ansi-mono
new file mode 120000
index 0000000..2b5cdc2
--- /dev/null
+++ b/lib/terminfo/a/ansi-mono
@@ -0,0 +1 @@
+ansi-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi-mr b/lib/terminfo/a/ansi-mr
new file mode 100644
index 0000000..de221e8
--- /dev/null
+++ b/lib/terminfo/a/ansi-mr
Binary files differ
diff --git a/lib/terminfo/a/ansi-mtabs b/lib/terminfo/a/ansi-mtabs
new file mode 100644
index 0000000..8474a29
--- /dev/null
+++ b/lib/terminfo/a/ansi-mtabs
Binary files differ
diff --git a/lib/terminfo/a/ansi-nt b/lib/terminfo/a/ansi-nt
new file mode 100644
index 0000000..b6bc8b8
--- /dev/null
+++ b/lib/terminfo/a/ansi-nt
Binary files differ
diff --git a/lib/terminfo/a/ansi.sys b/lib/terminfo/a/ansi.sys
new file mode 100644
index 0000000..3a2e620
--- /dev/null
+++ b/lib/terminfo/a/ansi.sys
Binary files differ
diff --git a/lib/terminfo/a/ansi.sys-old b/lib/terminfo/a/ansi.sys-old
new file mode 100644
index 0000000..7bc6c7f
--- /dev/null
+++ b/lib/terminfo/a/ansi.sys-old
Binary files differ
diff --git a/lib/terminfo/a/ansi.sysk b/lib/terminfo/a/ansi.sysk
new file mode 100644
index 0000000..55c1aa7
--- /dev/null
+++ b/lib/terminfo/a/ansi.sysk
Binary files differ
diff --git a/lib/terminfo/a/ansi43m b/lib/terminfo/a/ansi43m
new file mode 120000
index 0000000..80f513b
--- /dev/null
+++ b/lib/terminfo/a/ansi43m
@@ -0,0 +1 @@
+../p/pcansi-43-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi77 b/lib/terminfo/a/ansi77
new file mode 100644
index 0000000..0970f33
--- /dev/null
+++ b/lib/terminfo/a/ansi77
Binary files differ
diff --git a/lib/terminfo/a/ansi80x25 b/lib/terminfo/a/ansi80x25
new file mode 120000
index 0000000..8994553
--- /dev/null
+++ b/lib/terminfo/a/ansi80x25
@@ -0,0 +1 @@
+../c/cons25
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x25-mono b/lib/terminfo/a/ansi80x25-mono
new file mode 120000
index 0000000..f12f1c3
--- /dev/null
+++ b/lib/terminfo/a/ansi80x25-mono
@@ -0,0 +1 @@
+../c/cons25-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x25-raw b/lib/terminfo/a/ansi80x25-raw
new file mode 120000
index 0000000..fd59900
--- /dev/null
+++ b/lib/terminfo/a/ansi80x25-raw
@@ -0,0 +1 @@
+../c/cons25w
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x30 b/lib/terminfo/a/ansi80x30
new file mode 120000
index 0000000..89292f1
--- /dev/null
+++ b/lib/terminfo/a/ansi80x30
@@ -0,0 +1 @@
+../c/cons30
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x30-mono b/lib/terminfo/a/ansi80x30-mono
new file mode 120000
index 0000000..90ed281
--- /dev/null
+++ b/lib/terminfo/a/ansi80x30-mono
@@ -0,0 +1 @@
+../c/cons30-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x43 b/lib/terminfo/a/ansi80x43
new file mode 120000
index 0000000..f364512
--- /dev/null
+++ b/lib/terminfo/a/ansi80x43
@@ -0,0 +1 @@
+../c/cons43
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x43-mono b/lib/terminfo/a/ansi80x43-mono
new file mode 120000
index 0000000..d941611
--- /dev/null
+++ b/lib/terminfo/a/ansi80x43-mono
@@ -0,0 +1 @@
+../c/cons43-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x50 b/lib/terminfo/a/ansi80x50
new file mode 120000
index 0000000..6025c8d
--- /dev/null
+++ b/lib/terminfo/a/ansi80x50
@@ -0,0 +1 @@
+../c/cons50
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x50-mono b/lib/terminfo/a/ansi80x50-mono
new file mode 120000
index 0000000..bd737af
--- /dev/null
+++ b/lib/terminfo/a/ansi80x50-mono
@@ -0,0 +1 @@
+../c/cons50-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x60 b/lib/terminfo/a/ansi80x60
new file mode 120000
index 0000000..9dee4f4
--- /dev/null
+++ b/lib/terminfo/a/ansi80x60
@@ -0,0 +1 @@
+../c/cons60
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x60-mono b/lib/terminfo/a/ansi80x60-mono
new file mode 120000
index 0000000..24842fa
--- /dev/null
+++ b/lib/terminfo/a/ansi80x60-mono
@@ -0,0 +1 @@
+../c/cons60-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansil b/lib/terminfo/a/ansil
new file mode 120000
index 0000000..6025c8d
--- /dev/null
+++ b/lib/terminfo/a/ansil
@@ -0,0 +1 @@
+../c/cons50
\ No newline at end of file
diff --git a/lib/terminfo/a/ansil-mono b/lib/terminfo/a/ansil-mono
new file mode 120000
index 0000000..bd737af
--- /dev/null
+++ b/lib/terminfo/a/ansil-mono
@@ -0,0 +1 @@
+../c/cons50-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansis b/lib/terminfo/a/ansis
new file mode 120000
index 0000000..8994553
--- /dev/null
+++ b/lib/terminfo/a/ansis
@@ -0,0 +1 @@
+../c/cons25
\ No newline at end of file
diff --git a/lib/terminfo/a/ansis-mono b/lib/terminfo/a/ansis-mono
new file mode 120000
index 0000000..f12f1c3
--- /dev/null
+++ b/lib/terminfo/a/ansis-mono
@@ -0,0 +1 @@
+../c/cons25-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansisysk b/lib/terminfo/a/ansisysk
new file mode 120000
index 0000000..986743c
--- /dev/null
+++ b/lib/terminfo/a/ansisysk
@@ -0,0 +1 @@
+ansi.sysk
\ No newline at end of file
diff --git a/lib/terminfo/a/ansiw b/lib/terminfo/a/ansiw
new file mode 120000
index 0000000..fd59900
--- /dev/null
+++ b/lib/terminfo/a/ansiw
@@ -0,0 +1 @@
+../c/cons25w
\ No newline at end of file
diff --git a/lib/terminfo/a/ap-vm80 b/lib/terminfo/a/ap-vm80
new file mode 120000
index 0000000..d9257cc
--- /dev/null
+++ b/lib/terminfo/a/ap-vm80
@@ -0,0 +1 @@
+apple-vm80
\ No newline at end of file
diff --git a/lib/terminfo/a/apl b/lib/terminfo/a/apl
new file mode 120000
index 0000000..289f1f8
--- /dev/null
+++ b/lib/terminfo/a/apl
@@ -0,0 +1 @@
+../i/ibm-apl
\ No newline at end of file
diff --git a/lib/terminfo/a/apollo b/lib/terminfo/a/apollo
new file mode 100644
index 0000000..88a3565
--- /dev/null
+++ b/lib/terminfo/a/apollo
Binary files differ
diff --git a/lib/terminfo/a/apollo_15P b/lib/terminfo/a/apollo_15P
new file mode 100644
index 0000000..9284739
--- /dev/null
+++ b/lib/terminfo/a/apollo_15P
Binary files differ
diff --git a/lib/terminfo/a/apollo_19L b/lib/terminfo/a/apollo_19L
new file mode 100644
index 0000000..092d358
--- /dev/null
+++ b/lib/terminfo/a/apollo_19L
Binary files differ
diff --git a/lib/terminfo/a/apollo_color b/lib/terminfo/a/apollo_color
new file mode 100644
index 0000000..e117f2d
--- /dev/null
+++ b/lib/terminfo/a/apollo_color
Binary files differ
diff --git a/lib/terminfo/a/apple-80 b/lib/terminfo/a/apple-80
new file mode 100644
index 0000000..f45c5c5
--- /dev/null
+++ b/lib/terminfo/a/apple-80
Binary files differ
diff --git a/lib/terminfo/a/apple-ae b/lib/terminfo/a/apple-ae
new file mode 100644
index 0000000..a5a2335
--- /dev/null
+++ b/lib/terminfo/a/apple-ae
Binary files differ
diff --git a/lib/terminfo/a/apple-soroc b/lib/terminfo/a/apple-soroc
new file mode 100644
index 0000000..ea5fcb8
--- /dev/null
+++ b/lib/terminfo/a/apple-soroc
Binary files differ
diff --git a/lib/terminfo/a/apple-uterm b/lib/terminfo/a/apple-uterm
new file mode 100644
index 0000000..eceebf4
--- /dev/null
+++ b/lib/terminfo/a/apple-uterm
Binary files differ
diff --git a/lib/terminfo/a/apple-uterm-vb b/lib/terminfo/a/apple-uterm-vb
new file mode 100644
index 0000000..047855e
--- /dev/null
+++ b/lib/terminfo/a/apple-uterm-vb
Binary files differ
diff --git a/lib/terminfo/a/apple-videx b/lib/terminfo/a/apple-videx
new file mode 100644
index 0000000..9ab2869
--- /dev/null
+++ b/lib/terminfo/a/apple-videx
Binary files differ
diff --git a/lib/terminfo/a/apple-videx2 b/lib/terminfo/a/apple-videx2
new file mode 100644
index 0000000..62d35b2
--- /dev/null
+++ b/lib/terminfo/a/apple-videx2
Binary files differ
diff --git a/lib/terminfo/a/apple-videx3 b/lib/terminfo/a/apple-videx3
new file mode 100644
index 0000000..4d99501
--- /dev/null
+++ b/lib/terminfo/a/apple-videx3
Binary files differ
diff --git a/lib/terminfo/a/apple-vm80 b/lib/terminfo/a/apple-vm80
new file mode 100644
index 0000000..def8dfd
--- /dev/null
+++ b/lib/terminfo/a/apple-vm80
Binary files differ
diff --git a/lib/terminfo/a/apple2e b/lib/terminfo/a/apple2e
new file mode 100644
index 0000000..34cca2b
--- /dev/null
+++ b/lib/terminfo/a/apple2e
Binary files differ
diff --git a/lib/terminfo/a/apple2e-p b/lib/terminfo/a/apple2e-p
new file mode 100644
index 0000000..d968266
--- /dev/null
+++ b/lib/terminfo/a/apple2e-p
Binary files differ
diff --git a/lib/terminfo/a/apple80p b/lib/terminfo/a/apple80p
new file mode 100644
index 0000000..60c92c6
--- /dev/null
+++ b/lib/terminfo/a/apple80p
Binary files differ
diff --git a/lib/terminfo/a/appleII b/lib/terminfo/a/appleII
new file mode 100644
index 0000000..987478b
--- /dev/null
+++ b/lib/terminfo/a/appleII
Binary files differ
diff --git a/lib/terminfo/a/appleIIc b/lib/terminfo/a/appleIIc
new file mode 120000
index 0000000..b4edc97
--- /dev/null
+++ b/lib/terminfo/a/appleIIc
@@ -0,0 +1 @@
+appleIIgs
\ No newline at end of file
diff --git a/lib/terminfo/a/appleIIe b/lib/terminfo/a/appleIIe
new file mode 120000
index 0000000..b4edc97
--- /dev/null
+++ b/lib/terminfo/a/appleIIe
@@ -0,0 +1 @@
+appleIIgs
\ No newline at end of file
diff --git a/lib/terminfo/a/appleIIgs b/lib/terminfo/a/appleIIgs
new file mode 100644
index 0000000..1311b90
--- /dev/null
+++ b/lib/terminfo/a/appleIIgs
Binary files differ
diff --git a/lib/terminfo/a/arm100 b/lib/terminfo/a/arm100
new file mode 100644
index 0000000..2729a3d
--- /dev/null
+++ b/lib/terminfo/a/arm100
Binary files differ
diff --git a/lib/terminfo/a/arm100-am b/lib/terminfo/a/arm100-am
new file mode 120000
index 0000000..80f19bc
--- /dev/null
+++ b/lib/terminfo/a/arm100-am
@@ -0,0 +1 @@
+arm100
\ No newline at end of file
diff --git a/lib/terminfo/a/arm100-w b/lib/terminfo/a/arm100-w
new file mode 100644
index 0000000..c19035a
--- /dev/null
+++ b/lib/terminfo/a/arm100-w
Binary files differ
diff --git a/lib/terminfo/a/arm100-wam b/lib/terminfo/a/arm100-wam
new file mode 120000
index 0000000..e9dcecf
--- /dev/null
+++ b/lib/terminfo/a/arm100-wam
@@ -0,0 +1 @@
+arm100-w
\ No newline at end of file
diff --git a/lib/terminfo/a/at b/lib/terminfo/a/at
new file mode 120000
index 0000000..ce86a1c
--- /dev/null
+++ b/lib/terminfo/a/at
@@ -0,0 +1 @@
+../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/at-color b/lib/terminfo/a/at-color
new file mode 120000
index 0000000..809728a
--- /dev/null
+++ b/lib/terminfo/a/at-color
@@ -0,0 +1 @@
+../s/st52-color
\ No newline at end of file
diff --git a/lib/terminfo/a/at-m b/lib/terminfo/a/at-m
new file mode 120000
index 0000000..ce86a1c
--- /dev/null
+++ b/lib/terminfo/a/at-m
@@ -0,0 +1 @@
+../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/at386 b/lib/terminfo/a/at386
new file mode 120000
index 0000000..14f5dcd
--- /dev/null
+++ b/lib/terminfo/a/at386
@@ -0,0 +1 @@
+att6386
\ No newline at end of file
diff --git a/lib/terminfo/a/atari b/lib/terminfo/a/atari
new file mode 120000
index 0000000..ce86a1c
--- /dev/null
+++ b/lib/terminfo/a/atari
@@ -0,0 +1 @@
+../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atari-color b/lib/terminfo/a/atari-color
new file mode 120000
index 0000000..809728a
--- /dev/null
+++ b/lib/terminfo/a/atari-color
@@ -0,0 +1 @@
+../s/st52-color
\ No newline at end of file
diff --git a/lib/terminfo/a/atari-m b/lib/terminfo/a/atari-m
new file mode 120000
index 0000000..ce86a1c
--- /dev/null
+++ b/lib/terminfo/a/atari-m
@@ -0,0 +1 @@
+../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atari-old b/lib/terminfo/a/atari-old
new file mode 100644
index 0000000..a3b3e39
--- /dev/null
+++ b/lib/terminfo/a/atari-old
Binary files differ
diff --git a/lib/terminfo/a/atari_st b/lib/terminfo/a/atari_st
new file mode 120000
index 0000000..ce86a1c
--- /dev/null
+++ b/lib/terminfo/a/atari_st
@@ -0,0 +1 @@
+../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atari_st-color b/lib/terminfo/a/atari_st-color
new file mode 120000
index 0000000..809728a
--- /dev/null
+++ b/lib/terminfo/a/atari_st-color
@@ -0,0 +1 @@
+../s/st52-color
\ No newline at end of file
diff --git a/lib/terminfo/a/atarist-m b/lib/terminfo/a/atarist-m
new file mode 120000
index 0000000..ce86a1c
--- /dev/null
+++ b/lib/terminfo/a/atarist-m
@@ -0,0 +1 @@
+../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/aterm b/lib/terminfo/a/aterm
new file mode 100644
index 0000000..33dbf92
--- /dev/null
+++ b/lib/terminfo/a/aterm
Binary files differ
diff --git a/lib/terminfo/a/att2300 b/lib/terminfo/a/att2300
new file mode 100644
index 0000000..7ff7d52
--- /dev/null
+++ b/lib/terminfo/a/att2300
Binary files differ
diff --git a/lib/terminfo/a/att2350 b/lib/terminfo/a/att2350
new file mode 100644
index 0000000..f06fa9b
--- /dev/null
+++ b/lib/terminfo/a/att2350
Binary files differ
diff --git a/lib/terminfo/a/att4410 b/lib/terminfo/a/att4410
new file mode 100644
index 0000000..41072d6
--- /dev/null
+++ b/lib/terminfo/a/att4410
Binary files differ
diff --git a/lib/terminfo/a/att4410-w b/lib/terminfo/a/att4410-w
new file mode 120000
index 0000000..995237d
--- /dev/null
+++ b/lib/terminfo/a/att4410-w
@@ -0,0 +1 @@
+att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att4410v1 b/lib/terminfo/a/att4410v1
new file mode 120000
index 0000000..8aba246
--- /dev/null
+++ b/lib/terminfo/a/att4410v1
@@ -0,0 +1 @@
+att5410v1
\ No newline at end of file
diff --git a/lib/terminfo/a/att4410v1-w b/lib/terminfo/a/att4410v1-w
new file mode 100644
index 0000000..96225b8
--- /dev/null
+++ b/lib/terminfo/a/att4410v1-w
Binary files differ
diff --git a/lib/terminfo/a/att4415 b/lib/terminfo/a/att4415
new file mode 100644
index 0000000..c1ff8e5
--- /dev/null
+++ b/lib/terminfo/a/att4415
Binary files differ
diff --git a/lib/terminfo/a/att4415+nl b/lib/terminfo/a/att4415+nl
new file mode 100644
index 0000000..b9a8de8
--- /dev/null
+++ b/lib/terminfo/a/att4415+nl
Binary files differ
diff --git a/lib/terminfo/a/att4415-nl b/lib/terminfo/a/att4415-nl
new file mode 100644
index 0000000..d2713da
--- /dev/null
+++ b/lib/terminfo/a/att4415-nl
Binary files differ
diff --git a/lib/terminfo/a/att4415-rv b/lib/terminfo/a/att4415-rv
new file mode 100644
index 0000000..e729264
--- /dev/null
+++ b/lib/terminfo/a/att4415-rv
Binary files differ
diff --git a/lib/terminfo/a/att4415-rv-nl b/lib/terminfo/a/att4415-rv-nl
new file mode 100644
index 0000000..e6dff51
--- /dev/null
+++ b/lib/terminfo/a/att4415-rv-nl
Binary files differ
diff --git a/lib/terminfo/a/att4415-w b/lib/terminfo/a/att4415-w
new file mode 100644
index 0000000..dbed57e
--- /dev/null
+++ b/lib/terminfo/a/att4415-w
Binary files differ
diff --git a/lib/terminfo/a/att4415-w-nl b/lib/terminfo/a/att4415-w-nl
new file mode 100644
index 0000000..e045eca
--- /dev/null
+++ b/lib/terminfo/a/att4415-w-nl
Binary files differ
diff --git a/lib/terminfo/a/att4415-w-rv b/lib/terminfo/a/att4415-w-rv
new file mode 100644
index 0000000..dde6ba9
--- /dev/null
+++ b/lib/terminfo/a/att4415-w-rv
Binary files differ
diff --git a/lib/terminfo/a/att4415-w-rv-n b/lib/terminfo/a/att4415-w-rv-n
new file mode 100644
index 0000000..3d13a44
--- /dev/null
+++ b/lib/terminfo/a/att4415-w-rv-n
Binary files differ
diff --git a/lib/terminfo/a/att4418 b/lib/terminfo/a/att4418
new file mode 100644
index 0000000..4901347
--- /dev/null
+++ b/lib/terminfo/a/att4418
Binary files differ
diff --git a/lib/terminfo/a/att4418-w b/lib/terminfo/a/att4418-w
new file mode 100644
index 0000000..aac2f03
--- /dev/null
+++ b/lib/terminfo/a/att4418-w
Binary files differ
diff --git a/lib/terminfo/a/att4420 b/lib/terminfo/a/att4420
new file mode 100644
index 0000000..bed9e68
--- /dev/null
+++ b/lib/terminfo/a/att4420
Binary files differ
diff --git a/lib/terminfo/a/att4424 b/lib/terminfo/a/att4424
new file mode 100644
index 0000000..879bc82
--- /dev/null
+++ b/lib/terminfo/a/att4424
Binary files differ
diff --git a/lib/terminfo/a/att4424-1 b/lib/terminfo/a/att4424-1
new file mode 100644
index 0000000..6ef2858
--- /dev/null
+++ b/lib/terminfo/a/att4424-1
Binary files differ
diff --git a/lib/terminfo/a/att4424m b/lib/terminfo/a/att4424m
new file mode 100644
index 0000000..54671e3
--- /dev/null
+++ b/lib/terminfo/a/att4424m
Binary files differ
diff --git a/lib/terminfo/a/att4425 b/lib/terminfo/a/att4425
new file mode 120000
index 0000000..97bd528
--- /dev/null
+++ b/lib/terminfo/a/att4425
@@ -0,0 +1 @@
+att5425
\ No newline at end of file
diff --git a/lib/terminfo/a/att4425-nl b/lib/terminfo/a/att4425-nl
new file mode 120000
index 0000000..d2e5c41
--- /dev/null
+++ b/lib/terminfo/a/att4425-nl
@@ -0,0 +1 @@
+att5425-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att4425-w b/lib/terminfo/a/att4425-w
new file mode 120000
index 0000000..a37e36b
--- /dev/null
+++ b/lib/terminfo/a/att4425-w
@@ -0,0 +1 @@
+att5425-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att4426 b/lib/terminfo/a/att4426
new file mode 100644
index 0000000..753c152
--- /dev/null
+++ b/lib/terminfo/a/att4426
Binary files differ
diff --git a/lib/terminfo/a/att500 b/lib/terminfo/a/att500
new file mode 100644
index 0000000..76def43
--- /dev/null
+++ b/lib/terminfo/a/att500
Binary files differ
diff --git a/lib/terminfo/a/att505 b/lib/terminfo/a/att505
new file mode 100644
index 0000000..92dffac
--- /dev/null
+++ b/lib/terminfo/a/att505
Binary files differ
diff --git a/lib/terminfo/a/att505-24 b/lib/terminfo/a/att505-24
new file mode 100644
index 0000000..bcccaaa
--- /dev/null
+++ b/lib/terminfo/a/att505-24
Binary files differ
diff --git a/lib/terminfo/a/att510a b/lib/terminfo/a/att510a
new file mode 100644
index 0000000..0814b44
--- /dev/null
+++ b/lib/terminfo/a/att510a
Binary files differ
diff --git a/lib/terminfo/a/att510d b/lib/terminfo/a/att510d
new file mode 100644
index 0000000..7e1fffe
--- /dev/null
+++ b/lib/terminfo/a/att510d
Binary files differ
diff --git a/lib/terminfo/a/att513 b/lib/terminfo/a/att513
new file mode 120000
index 0000000..14fcde0
--- /dev/null
+++ b/lib/terminfo/a/att513
@@ -0,0 +1 @@
+att500
\ No newline at end of file
diff --git a/lib/terminfo/a/att5310 b/lib/terminfo/a/att5310
new file mode 100644
index 0000000..fd5f22e
--- /dev/null
+++ b/lib/terminfo/a/att5310
Binary files differ
diff --git a/lib/terminfo/a/att5320 b/lib/terminfo/a/att5320
new file mode 120000
index 0000000..8b691ca
--- /dev/null
+++ b/lib/terminfo/a/att5320
@@ -0,0 +1 @@
+att5310
\ No newline at end of file
diff --git a/lib/terminfo/a/att5410 b/lib/terminfo/a/att5410
new file mode 120000
index 0000000..a6bf37e
--- /dev/null
+++ b/lib/terminfo/a/att5410
@@ -0,0 +1 @@
+att4410
\ No newline at end of file
diff --git a/lib/terminfo/a/att5410-w b/lib/terminfo/a/att5410-w
new file mode 100644
index 0000000..78d1777
--- /dev/null
+++ b/lib/terminfo/a/att5410-w
Binary files differ
diff --git a/lib/terminfo/a/att5410v1 b/lib/terminfo/a/att5410v1
new file mode 100644
index 0000000..d7d7336
--- /dev/null
+++ b/lib/terminfo/a/att5410v1
Binary files differ
diff --git a/lib/terminfo/a/att5410v1-w b/lib/terminfo/a/att5410v1-w
new file mode 120000
index 0000000..4d0175b
--- /dev/null
+++ b/lib/terminfo/a/att5410v1-w
@@ -0,0 +1 @@
+att4410v1-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att5418 b/lib/terminfo/a/att5418
new file mode 120000
index 0000000..826538c
--- /dev/null
+++ b/lib/terminfo/a/att5418
@@ -0,0 +1 @@
+att4418
\ No newline at end of file
diff --git a/lib/terminfo/a/att5418-w b/lib/terminfo/a/att5418-w
new file mode 120000
index 0000000..9c203fb
--- /dev/null
+++ b/lib/terminfo/a/att5418-w
@@ -0,0 +1 @@
+att4418-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420 b/lib/terminfo/a/att5420
new file mode 120000
index 0000000..ed18ec2
--- /dev/null
+++ b/lib/terminfo/a/att5420
@@ -0,0 +1 @@
+att4415
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420+nl b/lib/terminfo/a/att5420+nl
new file mode 120000
index 0000000..8227b3b
--- /dev/null
+++ b/lib/terminfo/a/att5420+nl
@@ -0,0 +1 @@
+att4415+nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-nl b/lib/terminfo/a/att5420-nl
new file mode 120000
index 0000000..d9f172c
--- /dev/null
+++ b/lib/terminfo/a/att5420-nl
@@ -0,0 +1 @@
+att4415-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-rv b/lib/terminfo/a/att5420-rv
new file mode 120000
index 0000000..796c53f
--- /dev/null
+++ b/lib/terminfo/a/att5420-rv
@@ -0,0 +1 @@
+att4415-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-rv-nl b/lib/terminfo/a/att5420-rv-nl
new file mode 120000
index 0000000..cb4da0e
--- /dev/null
+++ b/lib/terminfo/a/att5420-rv-nl
@@ -0,0 +1 @@
+att4415-rv-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w b/lib/terminfo/a/att5420-w
new file mode 120000
index 0000000..420a44d
--- /dev/null
+++ b/lib/terminfo/a/att5420-w
@@ -0,0 +1 @@
+att4415-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w-nl b/lib/terminfo/a/att5420-w-nl
new file mode 120000
index 0000000..9694793
--- /dev/null
+++ b/lib/terminfo/a/att5420-w-nl
@@ -0,0 +1 @@
+att4415-w-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w-rv b/lib/terminfo/a/att5420-w-rv
new file mode 120000
index 0000000..dca2153
--- /dev/null
+++ b/lib/terminfo/a/att5420-w-rv
@@ -0,0 +1 @@
+att4415-w-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w-rv-n b/lib/terminfo/a/att5420-w-rv-n
new file mode 120000
index 0000000..5d2385b
--- /dev/null
+++ b/lib/terminfo/a/att5420-w-rv-n
@@ -0,0 +1 @@
+att4415-w-rv-n
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420_2 b/lib/terminfo/a/att5420_2
new file mode 100644
index 0000000..328a95a
--- /dev/null
+++ b/lib/terminfo/a/att5420_2
Binary files differ
diff --git a/lib/terminfo/a/att5420_2-w b/lib/terminfo/a/att5420_2-w
new file mode 100644
index 0000000..e6118ee
--- /dev/null
+++ b/lib/terminfo/a/att5420_2-w
Binary files differ
diff --git a/lib/terminfo/a/att5425 b/lib/terminfo/a/att5425
new file mode 100644
index 0000000..e170c65
--- /dev/null
+++ b/lib/terminfo/a/att5425
Binary files differ
diff --git a/lib/terminfo/a/att5425-nl b/lib/terminfo/a/att5425-nl
new file mode 100644
index 0000000..c90e2a7
--- /dev/null
+++ b/lib/terminfo/a/att5425-nl
Binary files differ
diff --git a/lib/terminfo/a/att5425-w b/lib/terminfo/a/att5425-w
new file mode 100644
index 0000000..a841e8b
--- /dev/null
+++ b/lib/terminfo/a/att5425-w
Binary files differ
diff --git a/lib/terminfo/a/att5430 b/lib/terminfo/a/att5430
new file mode 120000
index 0000000..ac3398e
--- /dev/null
+++ b/lib/terminfo/a/att5430
@@ -0,0 +1 @@
+att505
\ No newline at end of file
diff --git a/lib/terminfo/a/att5620 b/lib/terminfo/a/att5620
new file mode 100644
index 0000000..d096883
--- /dev/null
+++ b/lib/terminfo/a/att5620
Binary files differ
diff --git a/lib/terminfo/a/att5620-1 b/lib/terminfo/a/att5620-1
new file mode 100644
index 0000000..7212c7a
--- /dev/null
+++ b/lib/terminfo/a/att5620-1
Binary files differ
diff --git a/lib/terminfo/a/att5620-24 b/lib/terminfo/a/att5620-24
new file mode 100644
index 0000000..c812b62
--- /dev/null
+++ b/lib/terminfo/a/att5620-24
Binary files differ
diff --git a/lib/terminfo/a/att5620-34 b/lib/terminfo/a/att5620-34
new file mode 100644
index 0000000..5e60f0b
--- /dev/null
+++ b/lib/terminfo/a/att5620-34
Binary files differ
diff --git a/lib/terminfo/a/att5620-s b/lib/terminfo/a/att5620-s
new file mode 100644
index 0000000..b313bcc
--- /dev/null
+++ b/lib/terminfo/a/att5620-s
Binary files differ
diff --git a/lib/terminfo/a/att605 b/lib/terminfo/a/att605
new file mode 100644
index 0000000..3436ffe
--- /dev/null
+++ b/lib/terminfo/a/att605
Binary files differ
diff --git a/lib/terminfo/a/att605-pc b/lib/terminfo/a/att605-pc
new file mode 100644
index 0000000..9d36cca
--- /dev/null
+++ b/lib/terminfo/a/att605-pc
Binary files differ
diff --git a/lib/terminfo/a/att605-w b/lib/terminfo/a/att605-w
new file mode 100644
index 0000000..6c6eb54
--- /dev/null
+++ b/lib/terminfo/a/att605-w
Binary files differ
diff --git a/lib/terminfo/a/att610 b/lib/terminfo/a/att610
new file mode 100644
index 0000000..07d4094
--- /dev/null
+++ b/lib/terminfo/a/att610
Binary files differ
diff --git a/lib/terminfo/a/att610-103k b/lib/terminfo/a/att610-103k
new file mode 100644
index 0000000..114b82a
--- /dev/null
+++ b/lib/terminfo/a/att610-103k
Binary files differ
diff --git a/lib/terminfo/a/att610-103k-w b/lib/terminfo/a/att610-103k-w
new file mode 100644
index 0000000..5058bb4
--- /dev/null
+++ b/lib/terminfo/a/att610-103k-w
Binary files differ
diff --git a/lib/terminfo/a/att610-w b/lib/terminfo/a/att610-w
new file mode 100644
index 0000000..747bf8b
--- /dev/null
+++ b/lib/terminfo/a/att610-w
Binary files differ
diff --git a/lib/terminfo/a/att615 b/lib/terminfo/a/att615
new file mode 100644
index 0000000..210e673
--- /dev/null
+++ b/lib/terminfo/a/att615
Binary files differ
diff --git a/lib/terminfo/a/att615-103k b/lib/terminfo/a/att615-103k
new file mode 100644
index 0000000..d15d062
--- /dev/null
+++ b/lib/terminfo/a/att615-103k
Binary files differ
diff --git a/lib/terminfo/a/att615-103k-w b/lib/terminfo/a/att615-103k-w
new file mode 100644
index 0000000..b7df78d
--- /dev/null
+++ b/lib/terminfo/a/att615-103k-w
Binary files differ
diff --git a/lib/terminfo/a/att615-w b/lib/terminfo/a/att615-w
new file mode 100644
index 0000000..9114794
--- /dev/null
+++ b/lib/terminfo/a/att615-w
Binary files differ
diff --git a/lib/terminfo/a/att620 b/lib/terminfo/a/att620
new file mode 100644
index 0000000..280c9e4
--- /dev/null
+++ b/lib/terminfo/a/att620
Binary files differ
diff --git a/lib/terminfo/a/att620-103k b/lib/terminfo/a/att620-103k
new file mode 100644
index 0000000..b2a7e67
--- /dev/null
+++ b/lib/terminfo/a/att620-103k
Binary files differ
diff --git a/lib/terminfo/a/att620-103k-w b/lib/terminfo/a/att620-103k-w
new file mode 100644
index 0000000..65c613a
--- /dev/null
+++ b/lib/terminfo/a/att620-103k-w
Binary files differ
diff --git a/lib/terminfo/a/att620-w b/lib/terminfo/a/att620-w
new file mode 100644
index 0000000..1cb7864
--- /dev/null
+++ b/lib/terminfo/a/att620-w
Binary files differ
diff --git a/lib/terminfo/a/att630 b/lib/terminfo/a/att630
new file mode 100644
index 0000000..b98ce39
--- /dev/null
+++ b/lib/terminfo/a/att630
Binary files differ
diff --git a/lib/terminfo/a/att630-24 b/lib/terminfo/a/att630-24
new file mode 100644
index 0000000..0e8cd0f
--- /dev/null
+++ b/lib/terminfo/a/att630-24
Binary files differ
diff --git a/lib/terminfo/a/att6386 b/lib/terminfo/a/att6386
new file mode 100644
index 0000000..3da9542
--- /dev/null
+++ b/lib/terminfo/a/att6386
Binary files differ
diff --git a/lib/terminfo/a/att700 b/lib/terminfo/a/att700
new file mode 100644
index 0000000..b7c1c84
--- /dev/null
+++ b/lib/terminfo/a/att700
Binary files differ
diff --git a/lib/terminfo/a/att730 b/lib/terminfo/a/att730
new file mode 100644
index 0000000..6d51ac9
--- /dev/null
+++ b/lib/terminfo/a/att730
Binary files differ
diff --git a/lib/terminfo/a/att730-24 b/lib/terminfo/a/att730-24
new file mode 100644
index 0000000..0e0e652
--- /dev/null
+++ b/lib/terminfo/a/att730-24
Binary files differ
diff --git a/lib/terminfo/a/att730-41 b/lib/terminfo/a/att730-41
new file mode 100644
index 0000000..084540e
--- /dev/null
+++ b/lib/terminfo/a/att730-41
Binary files differ
diff --git a/lib/terminfo/a/att7300 b/lib/terminfo/a/att7300
new file mode 100644
index 0000000..b41843d
--- /dev/null
+++ b/lib/terminfo/a/att7300
Binary files differ
diff --git a/lib/terminfo/a/att730r b/lib/terminfo/a/att730r
new file mode 100644
index 0000000..b13723d
--- /dev/null
+++ b/lib/terminfo/a/att730r
Binary files differ
diff --git a/lib/terminfo/a/att730r-24 b/lib/terminfo/a/att730r-24
new file mode 100644
index 0000000..71558c8
--- /dev/null
+++ b/lib/terminfo/a/att730r-24
Binary files differ
diff --git a/lib/terminfo/a/att730r-41 b/lib/terminfo/a/att730r-41
new file mode 100644
index 0000000..1a901e7
--- /dev/null
+++ b/lib/terminfo/a/att730r-41
Binary files differ
diff --git a/lib/terminfo/a/avatar b/lib/terminfo/a/avatar
new file mode 100644
index 0000000..15b4ae0
--- /dev/null
+++ b/lib/terminfo/a/avatar
Binary files differ
diff --git a/lib/terminfo/a/avatar0 b/lib/terminfo/a/avatar0
new file mode 100644
index 0000000..4a3f7f9
--- /dev/null
+++ b/lib/terminfo/a/avatar0
Binary files differ
diff --git a/lib/terminfo/a/avatar0+ b/lib/terminfo/a/avatar0+
new file mode 100644
index 0000000..664cd0d
--- /dev/null
+++ b/lib/terminfo/a/avatar0+
Binary files differ
diff --git a/lib/terminfo/a/avatar1 b/lib/terminfo/a/avatar1
new file mode 120000
index 0000000..f8182bb
--- /dev/null
+++ b/lib/terminfo/a/avatar1
@@ -0,0 +1 @@
+avatar
\ No newline at end of file
diff --git a/lib/terminfo/a/avt b/lib/terminfo/a/avt
new file mode 100644
index 0000000..b755d47
--- /dev/null
+++ b/lib/terminfo/a/avt
Binary files differ
diff --git a/lib/terminfo/a/avt+s b/lib/terminfo/a/avt+s
new file mode 100644
index 0000000..2c0c983
--- /dev/null
+++ b/lib/terminfo/a/avt+s
Binary files differ
diff --git a/lib/terminfo/a/avt-ns b/lib/terminfo/a/avt-ns
new file mode 100644
index 0000000..820e92c
--- /dev/null
+++ b/lib/terminfo/a/avt-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-rv b/lib/terminfo/a/avt-rv
new file mode 100644
index 0000000..bcf4b52
--- /dev/null
+++ b/lib/terminfo/a/avt-rv
Binary files differ
diff --git a/lib/terminfo/a/avt-rv-ns b/lib/terminfo/a/avt-rv-ns
new file mode 100644
index 0000000..c6355dd
--- /dev/null
+++ b/lib/terminfo/a/avt-rv-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-rv-s b/lib/terminfo/a/avt-rv-s
new file mode 120000
index 0000000..472533c
--- /dev/null
+++ b/lib/terminfo/a/avt-rv-s
@@ -0,0 +1 @@
+avt-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-s b/lib/terminfo/a/avt-s
new file mode 120000
index 0000000..628ec31
--- /dev/null
+++ b/lib/terminfo/a/avt-s
@@ -0,0 +1 @@
+avt
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-w b/lib/terminfo/a/avt-w
new file mode 100644
index 0000000..2fb1358
--- /dev/null
+++ b/lib/terminfo/a/avt-w
Binary files differ
diff --git a/lib/terminfo/a/avt-w-ns b/lib/terminfo/a/avt-w-ns
new file mode 100644
index 0000000..334c82c
--- /dev/null
+++ b/lib/terminfo/a/avt-w-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-w-rv b/lib/terminfo/a/avt-w-rv
new file mode 100644
index 0000000..085afdd
--- /dev/null
+++ b/lib/terminfo/a/avt-w-rv
Binary files differ
diff --git a/lib/terminfo/a/avt-w-rv-ns b/lib/terminfo/a/avt-w-rv-ns
new file mode 100644
index 0000000..037315d
--- /dev/null
+++ b/lib/terminfo/a/avt-w-rv-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-w-rv-s b/lib/terminfo/a/avt-w-rv-s
new file mode 120000
index 0000000..f3a8904
--- /dev/null
+++ b/lib/terminfo/a/avt-w-rv-s
@@ -0,0 +1 @@
+avt-w-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-w-s b/lib/terminfo/a/avt-w-s
new file mode 120000
index 0000000..e77ff08
--- /dev/null
+++ b/lib/terminfo/a/avt-w-s
@@ -0,0 +1 @@
+avt-w
\ No newline at end of file
diff --git a/lib/terminfo/a/aws b/lib/terminfo/a/aws
new file mode 100644
index 0000000..68946fa
--- /dev/null
+++ b/lib/terminfo/a/aws
Binary files differ
diff --git a/lib/terminfo/a/awsc b/lib/terminfo/a/awsc
new file mode 100644
index 0000000..14400e7
--- /dev/null
+++ b/lib/terminfo/a/awsc
Binary files differ
diff --git a/lib/terminfo/b/b-128 b/lib/terminfo/b/b-128
new file mode 120000
index 0000000..75f4805
--- /dev/null
+++ b/lib/terminfo/b/b-128
@@ -0,0 +1 @@
+../c/commodore
\ No newline at end of file
diff --git a/lib/terminfo/b/bantam b/lib/terminfo/b/bantam
new file mode 100644
index 0000000..30ec005
--- /dev/null
+++ b/lib/terminfo/b/bantam
Binary files differ
diff --git a/lib/terminfo/b/basic4 b/lib/terminfo/b/basic4
new file mode 120000
index 0000000..4f28800
--- /dev/null
+++ b/lib/terminfo/b/basic4
@@ -0,0 +1 @@
+../m/mai
\ No newline at end of file
diff --git a/lib/terminfo/b/basis b/lib/terminfo/b/basis
new file mode 100644
index 0000000..ff450f7
--- /dev/null
+++ b/lib/terminfo/b/basis
Binary files differ
diff --git a/lib/terminfo/b/bct510a b/lib/terminfo/b/bct510a
new file mode 120000
index 0000000..3e2276b
--- /dev/null
+++ b/lib/terminfo/b/bct510a
@@ -0,0 +1 @@
+../a/att510a
\ No newline at end of file
diff --git a/lib/terminfo/b/bct510d b/lib/terminfo/b/bct510d
new file mode 120000
index 0000000..5abd00d
--- /dev/null
+++ b/lib/terminfo/b/bct510d
@@ -0,0 +1 @@
+../a/att510d
\ No newline at end of file
diff --git a/lib/terminfo/b/beacon b/lib/terminfo/b/beacon
new file mode 100644
index 0000000..ff01303
--- /dev/null
+++ b/lib/terminfo/b/beacon
Binary files differ
diff --git a/lib/terminfo/b/bee b/lib/terminfo/b/bee
new file mode 120000
index 0000000..5401742
--- /dev/null
+++ b/lib/terminfo/b/bee
@@ -0,0 +1 @@
+beehive
\ No newline at end of file
diff --git a/lib/terminfo/b/beehive b/lib/terminfo/b/beehive
new file mode 100644
index 0000000..24de02b
--- /dev/null
+++ b/lib/terminfo/b/beehive
Binary files differ
diff --git a/lib/terminfo/b/beehive3 b/lib/terminfo/b/beehive3
new file mode 100644
index 0000000..462bc16
--- /dev/null
+++ b/lib/terminfo/b/beehive3
Binary files differ
diff --git a/lib/terminfo/b/beehive4 b/lib/terminfo/b/beehive4
new file mode 100644
index 0000000..e506654
--- /dev/null
+++ b/lib/terminfo/b/beehive4
Binary files differ
diff --git a/lib/terminfo/b/beehiveIIIm b/lib/terminfo/b/beehiveIIIm
new file mode 120000
index 0000000..239bebf
--- /dev/null
+++ b/lib/terminfo/b/beehiveIIIm
@@ -0,0 +1 @@
+beehive3
\ No newline at end of file
diff --git a/lib/terminfo/b/beterm b/lib/terminfo/b/beterm
new file mode 100644
index 0000000..7a897e1
--- /dev/null
+++ b/lib/terminfo/b/beterm
Binary files differ
diff --git a/lib/terminfo/b/bg1.25 b/lib/terminfo/b/bg1.25
new file mode 100644
index 0000000..fad06c2
--- /dev/null
+++ b/lib/terminfo/b/bg1.25
Binary files differ
diff --git a/lib/terminfo/b/bg1.25nv b/lib/terminfo/b/bg1.25nv
new file mode 100644
index 0000000..de218ae
--- /dev/null
+++ b/lib/terminfo/b/bg1.25nv
Binary files differ
diff --git a/lib/terminfo/b/bg1.25rv b/lib/terminfo/b/bg1.25rv
new file mode 100644
index 0000000..d2323ea
--- /dev/null
+++ b/lib/terminfo/b/bg1.25rv
Binary files differ
diff --git a/lib/terminfo/b/bg2.0 b/lib/terminfo/b/bg2.0
new file mode 100644
index 0000000..89d3ae0
--- /dev/null
+++ b/lib/terminfo/b/bg2.0
Binary files differ
diff --git a/lib/terminfo/b/bg2.0nv b/lib/terminfo/b/bg2.0nv
new file mode 120000
index 0000000..887bb27
--- /dev/null
+++ b/lib/terminfo/b/bg2.0nv
@@ -0,0 +1 @@
+bitgraph
\ No newline at end of file
diff --git a/lib/terminfo/b/bg2.0rv b/lib/terminfo/b/bg2.0rv
new file mode 100644
index 0000000..f365612
--- /dev/null
+++ b/lib/terminfo/b/bg2.0rv
Binary files differ
diff --git a/lib/terminfo/b/bg3.10 b/lib/terminfo/b/bg3.10
new file mode 120000
index 0000000..fe8c5bd
--- /dev/null
+++ b/lib/terminfo/b/bg3.10
@@ -0,0 +1 @@
+bg2.0
\ No newline at end of file
diff --git a/lib/terminfo/b/bg3.10nv b/lib/terminfo/b/bg3.10nv
new file mode 120000
index 0000000..887bb27
--- /dev/null
+++ b/lib/terminfo/b/bg3.10nv
@@ -0,0 +1 @@
+bitgraph
\ No newline at end of file
diff --git a/lib/terminfo/b/bg3.10rv b/lib/terminfo/b/bg3.10rv
new file mode 120000
index 0000000..3e9adf2
--- /dev/null
+++ b/lib/terminfo/b/bg3.10rv
@@ -0,0 +1 @@
+bg2.0rv
\ No newline at end of file
diff --git a/lib/terminfo/b/bh3m b/lib/terminfo/b/bh3m
new file mode 120000
index 0000000..239bebf
--- /dev/null
+++ b/lib/terminfo/b/bh3m
@@ -0,0 +1 @@
+beehive3
\ No newline at end of file
diff --git a/lib/terminfo/b/bh4 b/lib/terminfo/b/bh4
new file mode 120000
index 0000000..4a8bb4d
--- /dev/null
+++ b/lib/terminfo/b/bh4
@@ -0,0 +1 @@
+beehive4
\ No newline at end of file
diff --git a/lib/terminfo/b/bitgraph b/lib/terminfo/b/bitgraph
new file mode 100644
index 0000000..b145bf5
--- /dev/null
+++ b/lib/terminfo/b/bitgraph
Binary files differ
diff --git a/lib/terminfo/b/blit b/lib/terminfo/b/blit
new file mode 100644
index 0000000..36a565f
--- /dev/null
+++ b/lib/terminfo/b/blit
Binary files differ
diff --git a/lib/terminfo/b/bobcat b/lib/terminfo/b/bobcat
new file mode 100644
index 0000000..a0ed4ab
--- /dev/null
+++ b/lib/terminfo/b/bobcat
Binary files differ
diff --git a/lib/terminfo/b/bq300 b/lib/terminfo/b/bq300
new file mode 100644
index 0000000..8e05308
--- /dev/null
+++ b/lib/terminfo/b/bq300
Binary files differ
diff --git a/lib/terminfo/b/bq300-8 b/lib/terminfo/b/bq300-8
new file mode 100644
index 0000000..e7aa935
--- /dev/null
+++ b/lib/terminfo/b/bq300-8
Binary files differ
diff --git a/lib/terminfo/b/bq300-8-pc b/lib/terminfo/b/bq300-8-pc
new file mode 100644
index 0000000..8fd3b2e
--- /dev/null
+++ b/lib/terminfo/b/bq300-8-pc
Binary files differ
diff --git a/lib/terminfo/b/bq300-8-pc-rv b/lib/terminfo/b/bq300-8-pc-rv
new file mode 100644
index 0000000..385d727
--- /dev/null
+++ b/lib/terminfo/b/bq300-8-pc-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-8-pc-w b/lib/terminfo/b/bq300-8-pc-w
new file mode 100644
index 0000000..604e919
--- /dev/null
+++ b/lib/terminfo/b/bq300-8-pc-w
Binary files differ
diff --git a/lib/terminfo/b/bq300-8-pc-w-rv b/lib/terminfo/b/bq300-8-pc-w-rv
new file mode 100644
index 0000000..91c7026
--- /dev/null
+++ b/lib/terminfo/b/bq300-8-pc-w-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-8rv b/lib/terminfo/b/bq300-8rv
new file mode 100644
index 0000000..5325ea7
--- /dev/null
+++ b/lib/terminfo/b/bq300-8rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-8w b/lib/terminfo/b/bq300-8w
new file mode 100644
index 0000000..f303cb2
--- /dev/null
+++ b/lib/terminfo/b/bq300-8w
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc b/lib/terminfo/b/bq300-pc
new file mode 100644
index 0000000..8cb6820
--- /dev/null
+++ b/lib/terminfo/b/bq300-pc
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc-rv b/lib/terminfo/b/bq300-pc-rv
new file mode 100644
index 0000000..948a8bf
--- /dev/null
+++ b/lib/terminfo/b/bq300-pc-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc-w b/lib/terminfo/b/bq300-pc-w
new file mode 100644
index 0000000..b6983e4
--- /dev/null
+++ b/lib/terminfo/b/bq300-pc-w
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc-w-rv b/lib/terminfo/b/bq300-pc-w-rv
new file mode 100644
index 0000000..c02aeb2
--- /dev/null
+++ b/lib/terminfo/b/bq300-pc-w-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-rv b/lib/terminfo/b/bq300-rv
new file mode 100644
index 0000000..ee3c62d
--- /dev/null
+++ b/lib/terminfo/b/bq300-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-w b/lib/terminfo/b/bq300-w
new file mode 100644
index 0000000..afe5f9a
--- /dev/null
+++ b/lib/terminfo/b/bq300-w
Binary files differ
diff --git a/lib/terminfo/b/bq300-w-8rv b/lib/terminfo/b/bq300-w-8rv
new file mode 100644
index 0000000..a5906a1
--- /dev/null
+++ b/lib/terminfo/b/bq300-w-8rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-w-rv b/lib/terminfo/b/bq300-w-rv
new file mode 100644
index 0000000..4b5eaeb
--- /dev/null
+++ b/lib/terminfo/b/bq300-w-rv
Binary files differ
diff --git a/lib/terminfo/b/bsdos-pc b/lib/terminfo/b/bsdos-pc
new file mode 100644
index 0000000..e998a54
--- /dev/null
+++ b/lib/terminfo/b/bsdos-pc
Binary files differ
diff --git a/lib/terminfo/b/bsdos-pc-m b/lib/terminfo/b/bsdos-pc-m
new file mode 100644
index 0000000..5ea4c19
--- /dev/null
+++ b/lib/terminfo/b/bsdos-pc-m
Binary files differ
diff --git a/lib/terminfo/b/bsdos-pc-mono b/lib/terminfo/b/bsdos-pc-mono
new file mode 120000
index 0000000..9a762a9
--- /dev/null
+++ b/lib/terminfo/b/bsdos-pc-mono
@@ -0,0 +1 @@
+bsdos-pc-m
\ No newline at end of file
diff --git a/lib/terminfo/b/bsdos-pc-nobold b/lib/terminfo/b/bsdos-pc-nobold
new file mode 100644
index 0000000..3c56fae
--- /dev/null
+++ b/lib/terminfo/b/bsdos-pc-nobold
Binary files differ
diff --git a/lib/terminfo/b/bsdos-ppc b/lib/terminfo/b/bsdos-ppc
new file mode 100644
index 0000000..319db16
--- /dev/null
+++ b/lib/terminfo/b/bsdos-ppc
Binary files differ
diff --git a/lib/terminfo/b/bsdos-sparc b/lib/terminfo/b/bsdos-sparc
new file mode 100644
index 0000000..d52df3f
--- /dev/null
+++ b/lib/terminfo/b/bsdos-sparc
Binary files differ
diff --git a/lib/terminfo/b/bterm b/lib/terminfo/b/bterm
new file mode 100644
index 0000000..134f63e
--- /dev/null
+++ b/lib/terminfo/b/bterm
Binary files differ
diff --git a/lib/terminfo/c/c100 b/lib/terminfo/c/c100
new file mode 100644
index 0000000..dafa53c
--- /dev/null
+++ b/lib/terminfo/c/c100
Binary files differ
diff --git a/lib/terminfo/c/c100-1p b/lib/terminfo/c/c100-1p
new file mode 120000
index 0000000..0d5c670
--- /dev/null
+++ b/lib/terminfo/c/c100-1p
@@ -0,0 +1 @@
+../o/oc100
\ No newline at end of file
diff --git a/lib/terminfo/c/c100-4p b/lib/terminfo/c/c100-4p
new file mode 120000
index 0000000..72da3fd
--- /dev/null
+++ b/lib/terminfo/c/c100-4p
@@ -0,0 +1 @@
+c100
\ No newline at end of file
diff --git a/lib/terminfo/c/c100-rv b/lib/terminfo/c/c100-rv
new file mode 100644
index 0000000..4437a1a
--- /dev/null
+++ b/lib/terminfo/c/c100-rv
Binary files differ
diff --git a/lib/terminfo/c/c100-rv-4p b/lib/terminfo/c/c100-rv-4p
new file mode 120000
index 0000000..56724d7
--- /dev/null
+++ b/lib/terminfo/c/c100-rv-4p
@@ -0,0 +1 @@
+c100-rv
\ No newline at end of file
diff --git a/lib/terminfo/c/c104 b/lib/terminfo/c/c104
new file mode 120000
index 0000000..72da3fd
--- /dev/null
+++ b/lib/terminfo/c/c104
@@ -0,0 +1 @@
+c100
\ No newline at end of file
diff --git a/lib/terminfo/c/c108 b/lib/terminfo/c/c108
new file mode 100644
index 0000000..b232759
--- /dev/null
+++ b/lib/terminfo/c/c108
Binary files differ
diff --git a/lib/terminfo/c/c108-4p b/lib/terminfo/c/c108-4p
new file mode 100644
index 0000000..9193ee6
--- /dev/null
+++ b/lib/terminfo/c/c108-4p
Binary files differ
diff --git a/lib/terminfo/c/c108-8p b/lib/terminfo/c/c108-8p
new file mode 120000
index 0000000..516b825
--- /dev/null
+++ b/lib/terminfo/c/c108-8p
@@ -0,0 +1 @@
+c108
\ No newline at end of file
diff --git a/lib/terminfo/c/c108-rv b/lib/terminfo/c/c108-rv
new file mode 100644
index 0000000..bdacbb1
--- /dev/null
+++ b/lib/terminfo/c/c108-rv
Binary files differ
diff --git a/lib/terminfo/c/c108-rv-4p b/lib/terminfo/c/c108-rv-4p
new file mode 100644
index 0000000..ca2dcc6
--- /dev/null
+++ b/lib/terminfo/c/c108-rv-4p
Binary files differ
diff --git a/lib/terminfo/c/c108-rv-8p b/lib/terminfo/c/c108-rv-8p
new file mode 120000
index 0000000..0f8a10b
--- /dev/null
+++ b/lib/terminfo/c/c108-rv-8p
@@ -0,0 +1 @@
+c108-rv
\ No newline at end of file
diff --git a/lib/terminfo/c/c108-w b/lib/terminfo/c/c108-w
new file mode 100644
index 0000000..c9e0e31
--- /dev/null
+++ b/lib/terminfo/c/c108-w
Binary files differ
diff --git a/lib/terminfo/c/c108-w-8p b/lib/terminfo/c/c108-w-8p
new file mode 120000
index 0000000..1473dbf
--- /dev/null
+++ b/lib/terminfo/c/c108-w-8p
@@ -0,0 +1 @@
+c108-w
\ No newline at end of file
diff --git a/lib/terminfo/c/c300 b/lib/terminfo/c/c300
new file mode 120000
index 0000000..c1e191e
--- /dev/null
+++ b/lib/terminfo/c/c300
@@ -0,0 +1 @@
+contel300
\ No newline at end of file
diff --git a/lib/terminfo/c/c301 b/lib/terminfo/c/c301
new file mode 120000
index 0000000..cf924e8
--- /dev/null
+++ b/lib/terminfo/c/c301
@@ -0,0 +1 @@
+contel301
\ No newline at end of file
diff --git a/lib/terminfo/c/c321 b/lib/terminfo/c/c321
new file mode 120000
index 0000000..cf924e8
--- /dev/null
+++ b/lib/terminfo/c/c321
@@ -0,0 +1 @@
+contel301
\ No newline at end of file
diff --git a/lib/terminfo/c/ca22851 b/lib/terminfo/c/ca22851
new file mode 100644
index 0000000..40b5cf8
--- /dev/null
+++ b/lib/terminfo/c/ca22851
Binary files differ
diff --git a/lib/terminfo/c/cad68-2 b/lib/terminfo/c/cad68-2
new file mode 100644
index 0000000..d513db5
--- /dev/null
+++ b/lib/terminfo/c/cad68-2
Binary files differ
diff --git a/lib/terminfo/c/cad68-3 b/lib/terminfo/c/cad68-3
new file mode 100644
index 0000000..726319e
--- /dev/null
+++ b/lib/terminfo/c/cad68-3
Binary files differ
diff --git a/lib/terminfo/c/cbblit b/lib/terminfo/c/cbblit
new file mode 100644
index 0000000..1e1d2da
--- /dev/null
+++ b/lib/terminfo/c/cbblit
Binary files differ
diff --git a/lib/terminfo/c/cbunix b/lib/terminfo/c/cbunix
new file mode 100644
index 0000000..e5e9677
--- /dev/null
+++ b/lib/terminfo/c/cbunix
Binary files differ
diff --git a/lib/terminfo/c/cci b/lib/terminfo/c/cci
new file mode 100644
index 0000000..c99e7b0
--- /dev/null
+++ b/lib/terminfo/c/cci
Binary files differ
diff --git a/lib/terminfo/c/cci1 b/lib/terminfo/c/cci1
new file mode 120000
index 0000000..fcd059f
--- /dev/null
+++ b/lib/terminfo/c/cci1
@@ -0,0 +1 @@
+cci
\ No newline at end of file
diff --git a/lib/terminfo/c/cdc456 b/lib/terminfo/c/cdc456
new file mode 100644
index 0000000..e9c2503
--- /dev/null
+++ b/lib/terminfo/c/cdc456
Binary files differ
diff --git a/lib/terminfo/c/cdc721 b/lib/terminfo/c/cdc721
new file mode 100644
index 0000000..09aa5d9
--- /dev/null
+++ b/lib/terminfo/c/cdc721
Binary files differ
diff --git a/lib/terminfo/c/cdc721-esc b/lib/terminfo/c/cdc721-esc
new file mode 100644
index 0000000..a5f4b0c
--- /dev/null
+++ b/lib/terminfo/c/cdc721-esc
Binary files differ
diff --git a/lib/terminfo/c/cdc721ll b/lib/terminfo/c/cdc721ll
new file mode 100644
index 0000000..7c18609
--- /dev/null
+++ b/lib/terminfo/c/cdc721ll
Binary files differ
diff --git a/lib/terminfo/c/cdc752 b/lib/terminfo/c/cdc752
new file mode 100644
index 0000000..442a609
--- /dev/null
+++ b/lib/terminfo/c/cdc752
Binary files differ
diff --git a/lib/terminfo/c/cdc756 b/lib/terminfo/c/cdc756
new file mode 100644
index 0000000..9753985
--- /dev/null
+++ b/lib/terminfo/c/cdc756
Binary files differ
diff --git a/lib/terminfo/c/cg7900 b/lib/terminfo/c/cg7900
new file mode 100644
index 0000000..935a1cf
--- /dev/null
+++ b/lib/terminfo/c/cg7900
Binary files differ
diff --git a/lib/terminfo/c/cgc2 b/lib/terminfo/c/cgc2
new file mode 120000
index 0000000..b1eeb13
--- /dev/null
+++ b/lib/terminfo/c/cgc2
@@ -0,0 +1 @@
+cad68-2
\ No newline at end of file
diff --git a/lib/terminfo/c/cgc3 b/lib/terminfo/c/cgc3
new file mode 120000
index 0000000..8068989
--- /dev/null
+++ b/lib/terminfo/c/cgc3
@@ -0,0 +1 @@
+cad68-3
\ No newline at end of file
diff --git a/lib/terminfo/c/chromatics b/lib/terminfo/c/chromatics
new file mode 120000
index 0000000..6ae0e24
--- /dev/null
+++ b/lib/terminfo/c/chromatics
@@ -0,0 +1 @@
+cg7900
\ No newline at end of file
diff --git a/lib/terminfo/c/ci8510 b/lib/terminfo/c/ci8510
new file mode 120000
index 0000000..8baa85e
--- /dev/null
+++ b/lib/terminfo/c/ci8510
@@ -0,0 +1 @@
+citoh
\ No newline at end of file
diff --git a/lib/terminfo/c/cit-80 b/lib/terminfo/c/cit-80
new file mode 120000
index 0000000..4578e65
--- /dev/null
+++ b/lib/terminfo/c/cit-80
@@ -0,0 +1 @@
+cit80
\ No newline at end of file
diff --git a/lib/terminfo/c/cit101 b/lib/terminfo/c/cit101
new file mode 100644
index 0000000..de5aaaa
--- /dev/null
+++ b/lib/terminfo/c/cit101
Binary files differ
diff --git a/lib/terminfo/c/cit101e b/lib/terminfo/c/cit101e
new file mode 100644
index 0000000..1b6739e
--- /dev/null
+++ b/lib/terminfo/c/cit101e
Binary files differ
diff --git a/lib/terminfo/c/cit101e-132 b/lib/terminfo/c/cit101e-132
new file mode 100644
index 0000000..0a6cb40
--- /dev/null
+++ b/lib/terminfo/c/cit101e-132
Binary files differ
diff --git a/lib/terminfo/c/cit101e-n b/lib/terminfo/c/cit101e-n
new file mode 100644
index 0000000..1727a04
--- /dev/null
+++ b/lib/terminfo/c/cit101e-n
Binary files differ
diff --git a/lib/terminfo/c/cit101e-n132 b/lib/terminfo/c/cit101e-n132
new file mode 100644
index 0000000..6683d2b
--- /dev/null
+++ b/lib/terminfo/c/cit101e-n132
Binary files differ
diff --git a/lib/terminfo/c/cit101e-rv b/lib/terminfo/c/cit101e-rv
new file mode 100644
index 0000000..c25901d
--- /dev/null
+++ b/lib/terminfo/c/cit101e-rv
Binary files differ
diff --git a/lib/terminfo/c/cit500 b/lib/terminfo/c/cit500
new file mode 100644
index 0000000..69047cd
--- /dev/null
+++ b/lib/terminfo/c/cit500
Binary files differ
diff --git a/lib/terminfo/c/cit80 b/lib/terminfo/c/cit80
new file mode 100644
index 0000000..c8220a8
--- /dev/null
+++ b/lib/terminfo/c/cit80
Binary files differ
diff --git a/lib/terminfo/c/citc b/lib/terminfo/c/citc
new file mode 120000
index 0000000..b21c4d0
--- /dev/null
+++ b/lib/terminfo/c/citc
@@ -0,0 +1 @@
+cit101
\ No newline at end of file
diff --git a/lib/terminfo/c/citoh b/lib/terminfo/c/citoh
new file mode 100644
index 0000000..7dae7f0
--- /dev/null
+++ b/lib/terminfo/c/citoh
Binary files differ
diff --git a/lib/terminfo/c/citoh-6lpi b/lib/terminfo/c/citoh-6lpi
new file mode 100644
index 0000000..3f1f3c1
--- /dev/null
+++ b/lib/terminfo/c/citoh-6lpi
Binary files differ
diff --git a/lib/terminfo/c/citoh-8lpi b/lib/terminfo/c/citoh-8lpi
new file mode 100644
index 0000000..a8d2ed0
--- /dev/null
+++ b/lib/terminfo/c/citoh-8lpi
Binary files differ
diff --git a/lib/terminfo/c/citoh-comp b/lib/terminfo/c/citoh-comp
new file mode 100644
index 0000000..b1bb631
--- /dev/null
+++ b/lib/terminfo/c/citoh-comp
Binary files differ
diff --git a/lib/terminfo/c/citoh-elite b/lib/terminfo/c/citoh-elite
new file mode 100644
index 0000000..9f70d7a
--- /dev/null
+++ b/lib/terminfo/c/citoh-elite
Binary files differ
diff --git a/lib/terminfo/c/citoh-pica b/lib/terminfo/c/citoh-pica
new file mode 100644
index 0000000..83f0e01
--- /dev/null
+++ b/lib/terminfo/c/citoh-pica
Binary files differ
diff --git a/lib/terminfo/c/citoh-prop b/lib/terminfo/c/citoh-prop
new file mode 100644
index 0000000..2caacb2
--- /dev/null
+++ b/lib/terminfo/c/citoh-prop
Binary files differ
diff --git a/lib/terminfo/c/citoh-ps b/lib/terminfo/c/citoh-ps
new file mode 120000
index 0000000..6564734
--- /dev/null
+++ b/lib/terminfo/c/citoh-ps
@@ -0,0 +1 @@
+citoh-prop
\ No newline at end of file
diff --git a/lib/terminfo/c/coco3 b/lib/terminfo/c/coco3
new file mode 100644
index 0000000..9d523da
--- /dev/null
+++ b/lib/terminfo/c/coco3
Binary files differ
diff --git a/lib/terminfo/c/coherent b/lib/terminfo/c/coherent
new file mode 120000
index 0000000..9c2bc23
--- /dev/null
+++ b/lib/terminfo/c/coherent
@@ -0,0 +1 @@
+../p/pc-coherent
\ No newline at end of file
diff --git a/lib/terminfo/c/color_xterm b/lib/terminfo/c/color_xterm
new file mode 100644
index 0000000..39db8f8
--- /dev/null
+++ b/lib/terminfo/c/color_xterm
Binary files differ
diff --git a/lib/terminfo/c/colorscan b/lib/terminfo/c/colorscan
new file mode 120000
index 0000000..5c78ba4
--- /dev/null
+++ b/lib/terminfo/c/colorscan
@@ -0,0 +1 @@
+cs10
\ No newline at end of file
diff --git a/lib/terminfo/c/commodore b/lib/terminfo/c/commodore
new file mode 100644
index 0000000..775ba09
--- /dev/null
+++ b/lib/terminfo/c/commodore
Binary files differ
diff --git a/lib/terminfo/c/concept b/lib/terminfo/c/concept
new file mode 120000
index 0000000..72da3fd
--- /dev/null
+++ b/lib/terminfo/c/concept
@@ -0,0 +1 @@
+c100
\ No newline at end of file
diff --git a/lib/terminfo/c/concept-avt b/lib/terminfo/c/concept-avt
new file mode 120000
index 0000000..3e1c56c
--- /dev/null
+++ b/lib/terminfo/c/concept-avt
@@ -0,0 +1 @@
+../a/avt
\ No newline at end of file
diff --git a/lib/terminfo/c/concept100 b/lib/terminfo/c/concept100
new file mode 120000
index 0000000..72da3fd
--- /dev/null
+++ b/lib/terminfo/c/concept100
@@ -0,0 +1 @@
+c100
\ No newline at end of file
diff --git a/lib/terminfo/c/concept100-rv b/lib/terminfo/c/concept100-rv
new file mode 120000
index 0000000..56724d7
--- /dev/null
+++ b/lib/terminfo/c/concept100-rv
@@ -0,0 +1 @@
+c100-rv
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108 b/lib/terminfo/c/concept108
new file mode 120000
index 0000000..516b825
--- /dev/null
+++ b/lib/terminfo/c/concept108
@@ -0,0 +1 @@
+c108
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-4p b/lib/terminfo/c/concept108-4p
new file mode 120000
index 0000000..eed6908
--- /dev/null
+++ b/lib/terminfo/c/concept108-4p
@@ -0,0 +1 @@
+c108-4p
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-8p b/lib/terminfo/c/concept108-8p
new file mode 120000
index 0000000..516b825
--- /dev/null
+++ b/lib/terminfo/c/concept108-8p
@@ -0,0 +1 @@
+c108
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-w-8 b/lib/terminfo/c/concept108-w-8
new file mode 120000
index 0000000..1473dbf
--- /dev/null
+++ b/lib/terminfo/c/concept108-w-8
@@ -0,0 +1 @@
+c108-w
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-w8p b/lib/terminfo/c/concept108-w8p
new file mode 120000
index 0000000..1473dbf
--- /dev/null
+++ b/lib/terminfo/c/concept108-w8p
@@ -0,0 +1 @@
+c108-w
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108rv4p b/lib/terminfo/c/concept108rv4p
new file mode 120000
index 0000000..9eb4754
--- /dev/null
+++ b/lib/terminfo/c/concept108rv4p
@@ -0,0 +1 @@
+c108-rv-4p
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25 b/lib/terminfo/c/cons25
new file mode 100644
index 0000000..09d473c
--- /dev/null
+++ b/lib/terminfo/c/cons25
Binary files differ
diff --git a/lib/terminfo/c/cons25-debian b/lib/terminfo/c/cons25-debian
new file mode 100644
index 0000000..b379983
--- /dev/null
+++ b/lib/terminfo/c/cons25-debian
Binary files differ
diff --git a/lib/terminfo/c/cons25-iso-m b/lib/terminfo/c/cons25-iso-m
new file mode 120000
index 0000000..febfe3d
--- /dev/null
+++ b/lib/terminfo/c/cons25-iso-m
@@ -0,0 +1 @@
+cons25l1-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-iso8859 b/lib/terminfo/c/cons25-iso8859
new file mode 120000
index 0000000..a2bc86b
--- /dev/null
+++ b/lib/terminfo/c/cons25-iso8859
@@ -0,0 +1 @@
+cons25l1
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-koi8-r b/lib/terminfo/c/cons25-koi8-r
new file mode 120000
index 0000000..2717ed8
--- /dev/null
+++ b/lib/terminfo/c/cons25-koi8-r
@@ -0,0 +1 @@
+cons25r
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-koi8r-m b/lib/terminfo/c/cons25-koi8r-m
new file mode 120000
index 0000000..bca9e6b
--- /dev/null
+++ b/lib/terminfo/c/cons25-koi8r-m
@@ -0,0 +1 @@
+cons25r-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-m b/lib/terminfo/c/cons25-m
new file mode 100644
index 0000000..1fb9e09
--- /dev/null
+++ b/lib/terminfo/c/cons25-m
Binary files differ
diff --git a/lib/terminfo/c/cons25l1 b/lib/terminfo/c/cons25l1
new file mode 100644
index 0000000..a665c88
--- /dev/null
+++ b/lib/terminfo/c/cons25l1
Binary files differ
diff --git a/lib/terminfo/c/cons25l1-m b/lib/terminfo/c/cons25l1-m
new file mode 100644
index 0000000..e523d83
--- /dev/null
+++ b/lib/terminfo/c/cons25l1-m
Binary files differ
diff --git a/lib/terminfo/c/cons25r b/lib/terminfo/c/cons25r
new file mode 100644
index 0000000..97db1c8
--- /dev/null
+++ b/lib/terminfo/c/cons25r
Binary files differ
diff --git a/lib/terminfo/c/cons25r-m b/lib/terminfo/c/cons25r-m
new file mode 100644
index 0000000..fa8a54e
--- /dev/null
+++ b/lib/terminfo/c/cons25r-m
Binary files differ
diff --git a/lib/terminfo/c/cons25w b/lib/terminfo/c/cons25w
new file mode 100644
index 0000000..886114b
--- /dev/null
+++ b/lib/terminfo/c/cons25w
Binary files differ
diff --git a/lib/terminfo/c/cons30 b/lib/terminfo/c/cons30
new file mode 100644
index 0000000..492e466
--- /dev/null
+++ b/lib/terminfo/c/cons30
Binary files differ
diff --git a/lib/terminfo/c/cons30-m b/lib/terminfo/c/cons30-m
new file mode 100644
index 0000000..2d47a8d
--- /dev/null
+++ b/lib/terminfo/c/cons30-m
Binary files differ
diff --git a/lib/terminfo/c/cons43 b/lib/terminfo/c/cons43
new file mode 100644
index 0000000..a7c0ff6
--- /dev/null
+++ b/lib/terminfo/c/cons43
Binary files differ
diff --git a/lib/terminfo/c/cons43-m b/lib/terminfo/c/cons43-m
new file mode 100644
index 0000000..4c9883c
--- /dev/null
+++ b/lib/terminfo/c/cons43-m
Binary files differ
diff --git a/lib/terminfo/c/cons50 b/lib/terminfo/c/cons50
new file mode 100644
index 0000000..49b8cf3
--- /dev/null
+++ b/lib/terminfo/c/cons50
Binary files differ
diff --git a/lib/terminfo/c/cons50-iso-m b/lib/terminfo/c/cons50-iso-m
new file mode 120000
index 0000000..ea1dda5
--- /dev/null
+++ b/lib/terminfo/c/cons50-iso-m
@@ -0,0 +1 @@
+cons50l1-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-iso8859 b/lib/terminfo/c/cons50-iso8859
new file mode 120000
index 0000000..7643dd4
--- /dev/null
+++ b/lib/terminfo/c/cons50-iso8859
@@ -0,0 +1 @@
+cons50l1
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-koi8r b/lib/terminfo/c/cons50-koi8r
new file mode 120000
index 0000000..92a0867
--- /dev/null
+++ b/lib/terminfo/c/cons50-koi8r
@@ -0,0 +1 @@
+cons50r
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-koi8r-m b/lib/terminfo/c/cons50-koi8r-m
new file mode 120000
index 0000000..d7ede50
--- /dev/null
+++ b/lib/terminfo/c/cons50-koi8r-m
@@ -0,0 +1 @@
+cons50r-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-m b/lib/terminfo/c/cons50-m
new file mode 100644
index 0000000..fbea5f1
--- /dev/null
+++ b/lib/terminfo/c/cons50-m
Binary files differ
diff --git a/lib/terminfo/c/cons50l1 b/lib/terminfo/c/cons50l1
new file mode 100644
index 0000000..a521893
--- /dev/null
+++ b/lib/terminfo/c/cons50l1
Binary files differ
diff --git a/lib/terminfo/c/cons50l1-m b/lib/terminfo/c/cons50l1-m
new file mode 100644
index 0000000..62cd8c1
--- /dev/null
+++ b/lib/terminfo/c/cons50l1-m
Binary files differ
diff --git a/lib/terminfo/c/cons50r b/lib/terminfo/c/cons50r
new file mode 100644
index 0000000..35e36fa
--- /dev/null
+++ b/lib/terminfo/c/cons50r
Binary files differ
diff --git a/lib/terminfo/c/cons50r-m b/lib/terminfo/c/cons50r-m
new file mode 100644
index 0000000..b6d46a7
--- /dev/null
+++ b/lib/terminfo/c/cons50r-m
Binary files differ
diff --git a/lib/terminfo/c/cons60 b/lib/terminfo/c/cons60
new file mode 100644
index 0000000..07cedc6
--- /dev/null
+++ b/lib/terminfo/c/cons60
Binary files differ
diff --git a/lib/terminfo/c/cons60-iso b/lib/terminfo/c/cons60-iso
new file mode 120000
index 0000000..01b937a
--- /dev/null
+++ b/lib/terminfo/c/cons60-iso
@@ -0,0 +1 @@
+cons60l1
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-iso-m b/lib/terminfo/c/cons60-iso-m
new file mode 120000
index 0000000..24cb16f
--- /dev/null
+++ b/lib/terminfo/c/cons60-iso-m
@@ -0,0 +1 @@
+cons60l1-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-koi8r b/lib/terminfo/c/cons60-koi8r
new file mode 120000
index 0000000..32229ee
--- /dev/null
+++ b/lib/terminfo/c/cons60-koi8r
@@ -0,0 +1 @@
+cons60r
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-koi8r-m b/lib/terminfo/c/cons60-koi8r-m
new file mode 120000
index 0000000..742c657
--- /dev/null
+++ b/lib/terminfo/c/cons60-koi8r-m
@@ -0,0 +1 @@
+cons60r-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-m b/lib/terminfo/c/cons60-m
new file mode 100644
index 0000000..7db73de
--- /dev/null
+++ b/lib/terminfo/c/cons60-m
Binary files differ
diff --git a/lib/terminfo/c/cons60l1 b/lib/terminfo/c/cons60l1
new file mode 100644
index 0000000..4d47fdb
--- /dev/null
+++ b/lib/terminfo/c/cons60l1
Binary files differ
diff --git a/lib/terminfo/c/cons60l1-m b/lib/terminfo/c/cons60l1-m
new file mode 100644
index 0000000..f627d2b
--- /dev/null
+++ b/lib/terminfo/c/cons60l1-m
Binary files differ
diff --git a/lib/terminfo/c/cons60r b/lib/terminfo/c/cons60r
new file mode 100644
index 0000000..844c584
--- /dev/null
+++ b/lib/terminfo/c/cons60r
Binary files differ
diff --git a/lib/terminfo/c/cons60r-m b/lib/terminfo/c/cons60r-m
new file mode 100644
index 0000000..51bb96f
--- /dev/null
+++ b/lib/terminfo/c/cons60r-m
Binary files differ
diff --git a/lib/terminfo/c/contel300 b/lib/terminfo/c/contel300
new file mode 100644
index 0000000..8b4ec9c
--- /dev/null
+++ b/lib/terminfo/c/contel300
Binary files differ
diff --git a/lib/terminfo/c/contel301 b/lib/terminfo/c/contel301
new file mode 100644
index 0000000..d5228f9
--- /dev/null
+++ b/lib/terminfo/c/contel301
Binary files differ
diff --git a/lib/terminfo/c/contel320 b/lib/terminfo/c/contel320
new file mode 120000
index 0000000..c1e191e
--- /dev/null
+++ b/lib/terminfo/c/contel320
@@ -0,0 +1 @@
+contel300
\ No newline at end of file
diff --git a/lib/terminfo/c/contel321 b/lib/terminfo/c/contel321
new file mode 120000
index 0000000..cf924e8
--- /dev/null
+++ b/lib/terminfo/c/contel321
@@ -0,0 +1 @@
+contel301
\ No newline at end of file
diff --git a/lib/terminfo/c/cops b/lib/terminfo/c/cops
new file mode 120000
index 0000000..0a040f0
--- /dev/null
+++ b/lib/terminfo/c/cops
@@ -0,0 +1 @@
+cops10
\ No newline at end of file
diff --git a/lib/terminfo/c/cops-10 b/lib/terminfo/c/cops-10
new file mode 120000
index 0000000..0a040f0
--- /dev/null
+++ b/lib/terminfo/c/cops-10
@@ -0,0 +1 @@
+cops10
\ No newline at end of file
diff --git a/lib/terminfo/c/cops10 b/lib/terminfo/c/cops10
new file mode 100644
index 0000000..2370fc9
--- /dev/null
+++ b/lib/terminfo/c/cops10
Binary files differ
diff --git a/lib/terminfo/c/crt b/lib/terminfo/c/crt
new file mode 100644
index 0000000..1694855
--- /dev/null
+++ b/lib/terminfo/c/crt
Binary files differ
diff --git a/lib/terminfo/c/crt-vt220 b/lib/terminfo/c/crt-vt220
new file mode 120000
index 0000000..5829b58
--- /dev/null
+++ b/lib/terminfo/c/crt-vt220
@@ -0,0 +1 @@
+crt
\ No newline at end of file
diff --git a/lib/terminfo/c/cs10 b/lib/terminfo/c/cs10
new file mode 100644
index 0000000..ca8d9ed
--- /dev/null
+++ b/lib/terminfo/c/cs10
Binary files differ
diff --git a/lib/terminfo/c/cs10-w b/lib/terminfo/c/cs10-w
new file mode 100644
index 0000000..0b39156
--- /dev/null
+++ b/lib/terminfo/c/cs10-w
Binary files differ
diff --git a/lib/terminfo/c/ct82 b/lib/terminfo/c/ct82
new file mode 120000
index 0000000..a45d915
--- /dev/null
+++ b/lib/terminfo/c/ct82
@@ -0,0 +1 @@
+../s/swtp
\ No newline at end of file
diff --git a/lib/terminfo/c/ct8500 b/lib/terminfo/c/ct8500
new file mode 100644
index 0000000..9522a78
--- /dev/null
+++ b/lib/terminfo/c/ct8500
Binary files differ
diff --git a/lib/terminfo/c/ctrm b/lib/terminfo/c/ctrm
new file mode 100644
index 0000000..799ed14
--- /dev/null
+++ b/lib/terminfo/c/ctrm
Binary files differ
diff --git a/lib/terminfo/c/cx b/lib/terminfo/c/cx
new file mode 120000
index 0000000..f29d542
--- /dev/null
+++ b/lib/terminfo/c/cx
@@ -0,0 +1 @@
+color_xterm
\ No newline at end of file
diff --git a/lib/terminfo/c/cx100 b/lib/terminfo/c/cx100
new file mode 120000
index 0000000..f29d542
--- /dev/null
+++ b/lib/terminfo/c/cx100
@@ -0,0 +1 @@
+color_xterm
\ No newline at end of file
diff --git a/lib/terminfo/c/cyb110 b/lib/terminfo/c/cyb110
new file mode 100644
index 0000000..9f62ce5
--- /dev/null
+++ b/lib/terminfo/c/cyb110
Binary files differ
diff --git a/lib/terminfo/c/cyb83 b/lib/terminfo/c/cyb83
new file mode 100644
index 0000000..11e1f9f
--- /dev/null
+++ b/lib/terminfo/c/cyb83
Binary files differ
diff --git a/lib/terminfo/c/cygwin b/lib/terminfo/c/cygwin
new file mode 100644
index 0000000..56560d2
--- /dev/null
+++ b/lib/terminfo/c/cygwin
Binary files differ
diff --git a/lib/terminfo/c/cygwinB19 b/lib/terminfo/c/cygwinB19
new file mode 100644
index 0000000..94df684
--- /dev/null
+++ b/lib/terminfo/c/cygwinB19
Binary files differ
diff --git a/lib/terminfo/c/cygwinDBG b/lib/terminfo/c/cygwinDBG
new file mode 100644
index 0000000..55fab66
--- /dev/null
+++ b/lib/terminfo/c/cygwinDBG
Binary files differ
diff --git a/lib/terminfo/d/d132 b/lib/terminfo/d/d132
new file mode 100644
index 0000000..e566750
--- /dev/null
+++ b/lib/terminfo/d/d132
Binary files differ
diff --git a/lib/terminfo/d/d2 b/lib/terminfo/d/d2
new file mode 120000
index 0000000..286381a
--- /dev/null
+++ b/lib/terminfo/d/d2
@@ -0,0 +1 @@
+dg6053
\ No newline at end of file
diff --git a/lib/terminfo/d/d2-dg b/lib/terminfo/d/d2-dg
new file mode 120000
index 0000000..286381a
--- /dev/null
+++ b/lib/terminfo/d/d2-dg
@@ -0,0 +1 @@
+dg6053
\ No newline at end of file
diff --git a/lib/terminfo/d/d200 b/lib/terminfo/d/d200
new file mode 100644
index 0000000..5544606
--- /dev/null
+++ b/lib/terminfo/d/d200
Binary files differ
diff --git a/lib/terminfo/d/d200-dg b/lib/terminfo/d/d200-dg
new file mode 120000
index 0000000..4b342d9
--- /dev/null
+++ b/lib/terminfo/d/d200-dg
@@ -0,0 +1 @@
+d200
\ No newline at end of file
diff --git a/lib/terminfo/d/d210 b/lib/terminfo/d/d210
new file mode 100644
index 0000000..3e8242a
--- /dev/null
+++ b/lib/terminfo/d/d210
Binary files differ
diff --git a/lib/terminfo/d/d210-dg b/lib/terminfo/d/d210-dg
new file mode 100644
index 0000000..6d1e831
--- /dev/null
+++ b/lib/terminfo/d/d210-dg
Binary files differ
diff --git a/lib/terminfo/d/d211 b/lib/terminfo/d/d211
new file mode 100644
index 0000000..10fd184
--- /dev/null
+++ b/lib/terminfo/d/d211
Binary files differ
diff --git a/lib/terminfo/d/d211-7b b/lib/terminfo/d/d211-7b
new file mode 100644
index 0000000..0e61fe9
--- /dev/null
+++ b/lib/terminfo/d/d211-7b
Binary files differ
diff --git a/lib/terminfo/d/d211-dg b/lib/terminfo/d/d211-dg
new file mode 100644
index 0000000..a0ff6fc
--- /dev/null
+++ b/lib/terminfo/d/d211-dg
Binary files differ
diff --git a/lib/terminfo/d/d214 b/lib/terminfo/d/d214
new file mode 120000
index 0000000..3e23706
--- /dev/null
+++ b/lib/terminfo/d/d214
@@ -0,0 +1 @@
+d210
\ No newline at end of file
diff --git a/lib/terminfo/d/d214-dg b/lib/terminfo/d/d214-dg
new file mode 120000
index 0000000..eebcad1
--- /dev/null
+++ b/lib/terminfo/d/d214-dg
@@ -0,0 +1 @@
+d210-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d215 b/lib/terminfo/d/d215
new file mode 120000
index 0000000..486701b
--- /dev/null
+++ b/lib/terminfo/d/d215
@@ -0,0 +1 @@
+d211
\ No newline at end of file
diff --git a/lib/terminfo/d/d215-7b b/lib/terminfo/d/d215-7b
new file mode 120000
index 0000000..7dd8dc3
--- /dev/null
+++ b/lib/terminfo/d/d215-7b
@@ -0,0 +1 @@
+d211-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d215-dg b/lib/terminfo/d/d215-dg
new file mode 120000
index 0000000..0faccec
--- /dev/null
+++ b/lib/terminfo/d/d215-dg
@@ -0,0 +1 @@
+d211-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216+ b/lib/terminfo/d/d216+
new file mode 120000
index 0000000..c012fa9
--- /dev/null
+++ b/lib/terminfo/d/d216+
@@ -0,0 +1 @@
+d216-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d216+25 b/lib/terminfo/d/d216+25
new file mode 120000
index 0000000..0228554
--- /dev/null
+++ b/lib/terminfo/d/d216+25
@@ -0,0 +1 @@
+d216-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d216+dg b/lib/terminfo/d/d216+dg
new file mode 120000
index 0000000..b2695b4
--- /dev/null
+++ b/lib/terminfo/d/d216+dg
@@ -0,0 +1 @@
+d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216-dg b/lib/terminfo/d/d216-dg
new file mode 100644
index 0000000..5b3edb1
--- /dev/null
+++ b/lib/terminfo/d/d216-dg
Binary files differ
diff --git a/lib/terminfo/d/d216-unix b/lib/terminfo/d/d216-unix
new file mode 100644
index 0000000..c4c16b4
--- /dev/null
+++ b/lib/terminfo/d/d216-unix
Binary files differ
diff --git a/lib/terminfo/d/d216-unix-25 b/lib/terminfo/d/d216-unix-25
new file mode 100644
index 0000000..faf415a
--- /dev/null
+++ b/lib/terminfo/d/d216-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d216e+ b/lib/terminfo/d/d216e+
new file mode 120000
index 0000000..c012fa9
--- /dev/null
+++ b/lib/terminfo/d/d216e+
@@ -0,0 +1 @@
+d216-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e+dg b/lib/terminfo/d/d216e+dg
new file mode 120000
index 0000000..b2695b4
--- /dev/null
+++ b/lib/terminfo/d/d216e+dg
@@ -0,0 +1 @@
+d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e-dg b/lib/terminfo/d/d216e-dg
new file mode 120000
index 0000000..b2695b4
--- /dev/null
+++ b/lib/terminfo/d/d216e-dg
@@ -0,0 +1 @@
+d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e-unix b/lib/terminfo/d/d216e-unix
new file mode 120000
index 0000000..c012fa9
--- /dev/null
+++ b/lib/terminfo/d/d216e-unix
@@ -0,0 +1 @@
+d216-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d217-dg b/lib/terminfo/d/d217-dg
new file mode 120000
index 0000000..b2695b4
--- /dev/null
+++ b/lib/terminfo/d/d217-dg
@@ -0,0 +1 @@
+d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d217-unix b/lib/terminfo/d/d217-unix
new file mode 100644
index 0000000..9e55d79
--- /dev/null
+++ b/lib/terminfo/d/d217-unix
Binary files differ
diff --git a/lib/terminfo/d/d217-unix-25 b/lib/terminfo/d/d217-unix-25
new file mode 100644
index 0000000..ebbaabf
--- /dev/null
+++ b/lib/terminfo/d/d217-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d220 b/lib/terminfo/d/d220
new file mode 100644
index 0000000..471c084
--- /dev/null
+++ b/lib/terminfo/d/d220
Binary files differ
diff --git a/lib/terminfo/d/d220-7b b/lib/terminfo/d/d220-7b
new file mode 100644
index 0000000..70f6d09
--- /dev/null
+++ b/lib/terminfo/d/d220-7b
Binary files differ
diff --git a/lib/terminfo/d/d220-dg b/lib/terminfo/d/d220-dg
new file mode 100644
index 0000000..90763df
--- /dev/null
+++ b/lib/terminfo/d/d220-dg
Binary files differ
diff --git a/lib/terminfo/d/d230 b/lib/terminfo/d/d230
new file mode 120000
index 0000000..afb7c05
--- /dev/null
+++ b/lib/terminfo/d/d230
@@ -0,0 +1 @@
+d230c
\ No newline at end of file
diff --git a/lib/terminfo/d/d230-dg b/lib/terminfo/d/d230-dg
new file mode 120000
index 0000000..72f6328
--- /dev/null
+++ b/lib/terminfo/d/d230-dg
@@ -0,0 +1 @@
+d230c-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d230c b/lib/terminfo/d/d230c
new file mode 100644
index 0000000..e1de0d4
--- /dev/null
+++ b/lib/terminfo/d/d230c
Binary files differ
diff --git a/lib/terminfo/d/d230c-dg b/lib/terminfo/d/d230c-dg
new file mode 100644
index 0000000..48bc33a
--- /dev/null
+++ b/lib/terminfo/d/d230c-dg
Binary files differ
diff --git a/lib/terminfo/d/d400 b/lib/terminfo/d/d400
new file mode 100644
index 0000000..f604db9
--- /dev/null
+++ b/lib/terminfo/d/d400
Binary files differ
diff --git a/lib/terminfo/d/d400-dg b/lib/terminfo/d/d400-dg
new file mode 120000
index 0000000..37312c8
--- /dev/null
+++ b/lib/terminfo/d/d400-dg
@@ -0,0 +1 @@
+d400
\ No newline at end of file
diff --git a/lib/terminfo/d/d410 b/lib/terminfo/d/d410
new file mode 100644
index 0000000..d395550
--- /dev/null
+++ b/lib/terminfo/d/d410
Binary files differ
diff --git a/lib/terminfo/d/d410-7b b/lib/terminfo/d/d410-7b
new file mode 100644
index 0000000..2c18a43
--- /dev/null
+++ b/lib/terminfo/d/d410-7b
Binary files differ
diff --git a/lib/terminfo/d/d410-7b-w b/lib/terminfo/d/d410-7b-w
new file mode 100644
index 0000000..8059cf6
--- /dev/null
+++ b/lib/terminfo/d/d410-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d410-dg b/lib/terminfo/d/d410-dg
new file mode 100644
index 0000000..13727ca
--- /dev/null
+++ b/lib/terminfo/d/d410-dg
Binary files differ
diff --git a/lib/terminfo/d/d410-w b/lib/terminfo/d/d410-w
new file mode 100644
index 0000000..b7ffad0
--- /dev/null
+++ b/lib/terminfo/d/d410-w
Binary files differ
diff --git a/lib/terminfo/d/d411 b/lib/terminfo/d/d411
new file mode 120000
index 0000000..2d58217
--- /dev/null
+++ b/lib/terminfo/d/d411
@@ -0,0 +1 @@
+d410
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-7b b/lib/terminfo/d/d411-7b
new file mode 120000
index 0000000..ede81c4
--- /dev/null
+++ b/lib/terminfo/d/d411-7b
@@ -0,0 +1 @@
+d410-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-7b-w b/lib/terminfo/d/d411-7b-w
new file mode 120000
index 0000000..f8db00f
--- /dev/null
+++ b/lib/terminfo/d/d411-7b-w
@@ -0,0 +1 @@
+d410-7b-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-dg b/lib/terminfo/d/d411-dg
new file mode 120000
index 0000000..057bd9f
--- /dev/null
+++ b/lib/terminfo/d/d411-dg
@@ -0,0 +1 @@
+d410-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-w b/lib/terminfo/d/d411-w
new file mode 120000
index 0000000..a55cca5
--- /dev/null
+++ b/lib/terminfo/d/d411-w
@@ -0,0 +1 @@
+d410-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+ b/lib/terminfo/d/d412+
new file mode 120000
index 0000000..5bf52b2
--- /dev/null
+++ b/lib/terminfo/d/d412+
@@ -0,0 +1 @@
+d412-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+25 b/lib/terminfo/d/d412+25
new file mode 120000
index 0000000..e8b0109
--- /dev/null
+++ b/lib/terminfo/d/d412+25
@@ -0,0 +1 @@
+d412-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+dg b/lib/terminfo/d/d412+dg
new file mode 120000
index 0000000..552174d
--- /dev/null
+++ b/lib/terminfo/d/d412+dg
@@ -0,0 +1 @@
+d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+s b/lib/terminfo/d/d412+s
new file mode 120000
index 0000000..0cea892
--- /dev/null
+++ b/lib/terminfo/d/d412+s
@@ -0,0 +1 @@
+d412-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+sr b/lib/terminfo/d/d412+sr
new file mode 120000
index 0000000..b6ac052
--- /dev/null
+++ b/lib/terminfo/d/d412+sr
@@ -0,0 +1 @@
+d412-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+w b/lib/terminfo/d/d412+w
new file mode 120000
index 0000000..e524bb3
--- /dev/null
+++ b/lib/terminfo/d/d412+w
@@ -0,0 +1 @@
+d412-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d412-dg b/lib/terminfo/d/d412-dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d412-dg
Binary files differ
diff --git a/lib/terminfo/d/d412-unix b/lib/terminfo/d/d412-unix
new file mode 100644
index 0000000..2b44c59
--- /dev/null
+++ b/lib/terminfo/d/d412-unix
Binary files differ
diff --git a/lib/terminfo/d/d412-unix-25 b/lib/terminfo/d/d412-unix-25
new file mode 100644
index 0000000..35535f5
--- /dev/null
+++ b/lib/terminfo/d/d412-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d412-unix-s b/lib/terminfo/d/d412-unix-s
new file mode 100644
index 0000000..ba50cb6
--- /dev/null
+++ b/lib/terminfo/d/d412-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d412-unix-sr b/lib/terminfo/d/d412-unix-sr
new file mode 100644
index 0000000..206aa74
--- /dev/null
+++ b/lib/terminfo/d/d412-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d412-unix-w b/lib/terminfo/d/d412-unix-w
new file mode 100644
index 0000000..f2ffa2b
--- /dev/null
+++ b/lib/terminfo/d/d412-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d413-dg b/lib/terminfo/d/d413-dg
new file mode 120000
index 0000000..552174d
--- /dev/null
+++ b/lib/terminfo/d/d413-dg
@@ -0,0 +1 @@
+d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d413-unix b/lib/terminfo/d/d413-unix
new file mode 100644
index 0000000..307399a
--- /dev/null
+++ b/lib/terminfo/d/d413-unix
Binary files differ
diff --git a/lib/terminfo/d/d413-unix-25 b/lib/terminfo/d/d413-unix-25
new file mode 100644
index 0000000..7bc88ec
--- /dev/null
+++ b/lib/terminfo/d/d413-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d413-unix-s b/lib/terminfo/d/d413-unix-s
new file mode 100644
index 0000000..70868c4
--- /dev/null
+++ b/lib/terminfo/d/d413-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d413-unix-sr b/lib/terminfo/d/d413-unix-sr
new file mode 100644
index 0000000..b85e480
--- /dev/null
+++ b/lib/terminfo/d/d413-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d413-unix-w b/lib/terminfo/d/d413-unix-w
new file mode 100644
index 0000000..5f30d68
--- /dev/null
+++ b/lib/terminfo/d/d413-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d414-unix b/lib/terminfo/d/d414-unix
new file mode 100644
index 0000000..f16031a
--- /dev/null
+++ b/lib/terminfo/d/d414-unix
Binary files differ
diff --git a/lib/terminfo/d/d414-unix-25 b/lib/terminfo/d/d414-unix-25
new file mode 100644
index 0000000..db8d411
--- /dev/null
+++ b/lib/terminfo/d/d414-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d414-unix-s b/lib/terminfo/d/d414-unix-s
new file mode 100644
index 0000000..4147d9d
--- /dev/null
+++ b/lib/terminfo/d/d414-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d414-unix-sr b/lib/terminfo/d/d414-unix-sr
new file mode 100644
index 0000000..31a5a65
--- /dev/null
+++ b/lib/terminfo/d/d414-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d414-unix-w b/lib/terminfo/d/d414-unix-w
new file mode 100644
index 0000000..4ea96d2
--- /dev/null
+++ b/lib/terminfo/d/d414-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d430-dg b/lib/terminfo/d/d430-dg
new file mode 120000
index 0000000..24b5c1e
--- /dev/null
+++ b/lib/terminfo/d/d430-dg
@@ -0,0 +1 @@
+d430c-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-dg-ccc b/lib/terminfo/d/d430-dg-ccc
new file mode 120000
index 0000000..8683d87
--- /dev/null
+++ b/lib/terminfo/d/d430-dg-ccc
@@ -0,0 +1 @@
+d430c-dg-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix b/lib/terminfo/d/d430-unix
new file mode 120000
index 0000000..1f480c0
--- /dev/null
+++ b/lib/terminfo/d/d430-unix
@@ -0,0 +1 @@
+d430c-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-25 b/lib/terminfo/d/d430-unix-25
new file mode 120000
index 0000000..5f1ccb9
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-25
@@ -0,0 +1 @@
+d430c-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-25-ccc b/lib/terminfo/d/d430-unix-25-ccc
new file mode 120000
index 0000000..7c116f1
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-25-ccc
@@ -0,0 +1 @@
+d430c-unix-25-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-ccc b/lib/terminfo/d/d430-unix-ccc
new file mode 120000
index 0000000..9205ff2
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-ccc
@@ -0,0 +1 @@
+d430c-unix-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-s b/lib/terminfo/d/d430-unix-s
new file mode 120000
index 0000000..442d19e
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-s
@@ -0,0 +1 @@
+d430c-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-s-ccc b/lib/terminfo/d/d430-unix-s-ccc
new file mode 120000
index 0000000..438ca3a
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-s-ccc
@@ -0,0 +1 @@
+d430c-unix-s-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-sr b/lib/terminfo/d/d430-unix-sr
new file mode 120000
index 0000000..e4417fa
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-sr
@@ -0,0 +1 @@
+d430c-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-sr-ccc b/lib/terminfo/d/d430-unix-sr-ccc
new file mode 120000
index 0000000..38a4ee4
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-sr-ccc
@@ -0,0 +1 @@
+d430c-unix-sr-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-w b/lib/terminfo/d/d430-unix-w
new file mode 120000
index 0000000..732aef2
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-w
@@ -0,0 +1 @@
+d430c-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-w-ccc b/lib/terminfo/d/d430-unix-w-ccc
new file mode 120000
index 0000000..8e040fb
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-w-ccc
@@ -0,0 +1 @@
+d430c-unix-w-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430c-dg b/lib/terminfo/d/d430c-dg
new file mode 100644
index 0000000..5fa5997
--- /dev/null
+++ b/lib/terminfo/d/d430c-dg
Binary files differ
diff --git a/lib/terminfo/d/d430c-dg-ccc b/lib/terminfo/d/d430c-dg-ccc
new file mode 100644
index 0000000..9305fc1
--- /dev/null
+++ b/lib/terminfo/d/d430c-dg-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix b/lib/terminfo/d/d430c-unix
new file mode 100644
index 0000000..0035471
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-25 b/lib/terminfo/d/d430c-unix-25
new file mode 100644
index 0000000..3dc6bb8
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-25-ccc b/lib/terminfo/d/d430c-unix-25-ccc
new file mode 100644
index 0000000..ac3b8fe
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-25-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-ccc b/lib/terminfo/d/d430c-unix-ccc
new file mode 100644
index 0000000..23880b4
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-s b/lib/terminfo/d/d430c-unix-s
new file mode 100644
index 0000000..f2a7372
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-s-ccc b/lib/terminfo/d/d430c-unix-s-ccc
new file mode 100644
index 0000000..9846dc9
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-s-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-sr b/lib/terminfo/d/d430c-unix-sr
new file mode 100644
index 0000000..8741b2c
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-sr-ccc b/lib/terminfo/d/d430c-unix-sr-ccc
new file mode 100644
index 0000000..7628661
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-sr-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-w b/lib/terminfo/d/d430c-unix-w
new file mode 100644
index 0000000..b259b4c
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d430c-unix-w-ccc b/lib/terminfo/d/d430c-unix-w-ccc
new file mode 100644
index 0000000..49f6e34
--- /dev/null
+++ b/lib/terminfo/d/d430c-unix-w-ccc
Binary files differ
diff --git a/lib/terminfo/d/d450 b/lib/terminfo/d/d450
new file mode 120000
index 0000000..37312c8
--- /dev/null
+++ b/lib/terminfo/d/d450
@@ -0,0 +1 @@
+d400
\ No newline at end of file
diff --git a/lib/terminfo/d/d450-dg b/lib/terminfo/d/d450-dg
new file mode 120000
index 0000000..37312c8
--- /dev/null
+++ b/lib/terminfo/d/d450-dg
@@ -0,0 +1 @@
+d400
\ No newline at end of file
diff --git a/lib/terminfo/d/d460 b/lib/terminfo/d/d460
new file mode 120000
index 0000000..2d58217
--- /dev/null
+++ b/lib/terminfo/d/d460
@@ -0,0 +1 @@
+d410
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-7b b/lib/terminfo/d/d460-7b
new file mode 120000
index 0000000..ede81c4
--- /dev/null
+++ b/lib/terminfo/d/d460-7b
@@ -0,0 +1 @@
+d410-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-7b-w b/lib/terminfo/d/d460-7b-w
new file mode 120000
index 0000000..f8db00f
--- /dev/null
+++ b/lib/terminfo/d/d460-7b-w
@@ -0,0 +1 @@
+d410-7b-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-dg b/lib/terminfo/d/d460-dg
new file mode 120000
index 0000000..057bd9f
--- /dev/null
+++ b/lib/terminfo/d/d460-dg
@@ -0,0 +1 @@
+d410-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-w b/lib/terminfo/d/d460-w
new file mode 120000
index 0000000..a55cca5
--- /dev/null
+++ b/lib/terminfo/d/d460-w
@@ -0,0 +1 @@
+d410-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d461 b/lib/terminfo/d/d461
new file mode 120000
index 0000000..2d58217
--- /dev/null
+++ b/lib/terminfo/d/d461
@@ -0,0 +1 @@
+d410
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-7b b/lib/terminfo/d/d461-7b
new file mode 120000
index 0000000..ede81c4
--- /dev/null
+++ b/lib/terminfo/d/d461-7b
@@ -0,0 +1 @@
+d410-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-7b-w b/lib/terminfo/d/d461-7b-w
new file mode 120000
index 0000000..f8db00f
--- /dev/null
+++ b/lib/terminfo/d/d461-7b-w
@@ -0,0 +1 @@
+d410-7b-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-dg b/lib/terminfo/d/d461-dg
new file mode 120000
index 0000000..057bd9f
--- /dev/null
+++ b/lib/terminfo/d/d461-dg
@@ -0,0 +1 @@
+d410-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-w b/lib/terminfo/d/d461-w
new file mode 120000
index 0000000..a55cca5
--- /dev/null
+++ b/lib/terminfo/d/d461-w
@@ -0,0 +1 @@
+d410-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+ b/lib/terminfo/d/d462+
new file mode 120000
index 0000000..5bf52b2
--- /dev/null
+++ b/lib/terminfo/d/d462+
@@ -0,0 +1 @@
+d412-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+25 b/lib/terminfo/d/d462+25
new file mode 120000
index 0000000..e8b0109
--- /dev/null
+++ b/lib/terminfo/d/d462+25
@@ -0,0 +1 @@
+d412-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+dg b/lib/terminfo/d/d462+dg
new file mode 120000
index 0000000..552174d
--- /dev/null
+++ b/lib/terminfo/d/d462+dg
@@ -0,0 +1 @@
+d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+s b/lib/terminfo/d/d462+s
new file mode 120000
index 0000000..0cea892
--- /dev/null
+++ b/lib/terminfo/d/d462+s
@@ -0,0 +1 @@
+d412-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+sr b/lib/terminfo/d/d462+sr
new file mode 120000
index 0000000..b6ac052
--- /dev/null
+++ b/lib/terminfo/d/d462+sr
@@ -0,0 +1 @@
+d412-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+w b/lib/terminfo/d/d462+w
new file mode 120000
index 0000000..e524bb3
--- /dev/null
+++ b/lib/terminfo/d/d462+w
@@ -0,0 +1 @@
+d412-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-dg b/lib/terminfo/d/d462-dg
new file mode 120000
index 0000000..552174d
--- /dev/null
+++ b/lib/terminfo/d/d462-dg
@@ -0,0 +1 @@
+d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix b/lib/terminfo/d/d462-unix
new file mode 120000
index 0000000..5bf52b2
--- /dev/null
+++ b/lib/terminfo/d/d462-unix
@@ -0,0 +1 @@
+d412-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-25 b/lib/terminfo/d/d462-unix-25
new file mode 120000
index 0000000..e8b0109
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-25
@@ -0,0 +1 @@
+d412-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-s b/lib/terminfo/d/d462-unix-s
new file mode 120000
index 0000000..0cea892
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-s
@@ -0,0 +1 @@
+d412-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-sr b/lib/terminfo/d/d462-unix-sr
new file mode 120000
index 0000000..b6ac052
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-sr
@@ -0,0 +1 @@
+d412-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-w b/lib/terminfo/d/d462-unix-w
new file mode 120000
index 0000000..e524bb3
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-w
@@ -0,0 +1 @@
+d412-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d462e-dg b/lib/terminfo/d/d462e-dg
new file mode 120000
index 0000000..552174d
--- /dev/null
+++ b/lib/terminfo/d/d462e-dg
@@ -0,0 +1 @@
+d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-dg b/lib/terminfo/d/d463-dg
new file mode 120000
index 0000000..552174d
--- /dev/null
+++ b/lib/terminfo/d/d463-dg
@@ -0,0 +1 @@
+d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix b/lib/terminfo/d/d463-unix
new file mode 120000
index 0000000..9f76695
--- /dev/null
+++ b/lib/terminfo/d/d463-unix
@@ -0,0 +1 @@
+d413-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-25 b/lib/terminfo/d/d463-unix-25
new file mode 120000
index 0000000..d2a9c9c
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-25
@@ -0,0 +1 @@
+d413-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-s b/lib/terminfo/d/d463-unix-s
new file mode 120000
index 0000000..1db81ca
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-s
@@ -0,0 +1 @@
+d413-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-sr b/lib/terminfo/d/d463-unix-sr
new file mode 120000
index 0000000..df3d3a8
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-sr
@@ -0,0 +1 @@
+d413-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-w b/lib/terminfo/d/d463-unix-w
new file mode 120000
index 0000000..8b1dbb4
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-w
@@ -0,0 +1 @@
+d413-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix b/lib/terminfo/d/d464-unix
new file mode 120000
index 0000000..7a3c64c
--- /dev/null
+++ b/lib/terminfo/d/d464-unix
@@ -0,0 +1 @@
+d414-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-25 b/lib/terminfo/d/d464-unix-25
new file mode 120000
index 0000000..81700b7
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-25
@@ -0,0 +1 @@
+d414-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-s b/lib/terminfo/d/d464-unix-s
new file mode 120000
index 0000000..0e889e3
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-s
@@ -0,0 +1 @@
+d414-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-sr b/lib/terminfo/d/d464-unix-sr
new file mode 120000
index 0000000..16f3de0
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-sr
@@ -0,0 +1 @@
+d414-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-w b/lib/terminfo/d/d464-unix-w
new file mode 120000
index 0000000..3aa2be3
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-w
@@ -0,0 +1 @@
+d414-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d470 b/lib/terminfo/d/d470
new file mode 120000
index 0000000..47caab2
--- /dev/null
+++ b/lib/terminfo/d/d470
@@ -0,0 +1 @@
+d470c
\ No newline at end of file
diff --git a/lib/terminfo/d/d470-7b b/lib/terminfo/d/d470-7b
new file mode 120000
index 0000000..e2b93c6
--- /dev/null
+++ b/lib/terminfo/d/d470-7b
@@ -0,0 +1 @@
+d470c-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d470-dg b/lib/terminfo/d/d470-dg
new file mode 120000
index 0000000..f2898d2
--- /dev/null
+++ b/lib/terminfo/d/d470-dg
@@ -0,0 +1 @@
+d470c-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d470c b/lib/terminfo/d/d470c
new file mode 100644
index 0000000..ed3af2f
--- /dev/null
+++ b/lib/terminfo/d/d470c
Binary files differ
diff --git a/lib/terminfo/d/d470c-7b b/lib/terminfo/d/d470c-7b
new file mode 100644
index 0000000..128577d
--- /dev/null
+++ b/lib/terminfo/d/d470c-7b
Binary files differ
diff --git a/lib/terminfo/d/d470c-dg b/lib/terminfo/d/d470c-dg
new file mode 100644
index 0000000..7c8ae24
--- /dev/null
+++ b/lib/terminfo/d/d470c-dg
Binary files differ
diff --git a/lib/terminfo/d/d555 b/lib/terminfo/d/d555
new file mode 100644
index 0000000..9ec6842
--- /dev/null
+++ b/lib/terminfo/d/d555
Binary files differ
diff --git a/lib/terminfo/d/d555-7b b/lib/terminfo/d/d555-7b
new file mode 100644
index 0000000..f3638d9
--- /dev/null
+++ b/lib/terminfo/d/d555-7b
Binary files differ
diff --git a/lib/terminfo/d/d555-7b-w b/lib/terminfo/d/d555-7b-w
new file mode 100644
index 0000000..2cbd751
--- /dev/null
+++ b/lib/terminfo/d/d555-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d555-dg b/lib/terminfo/d/d555-dg
new file mode 100644
index 0000000..95c67cf
--- /dev/null
+++ b/lib/terminfo/d/d555-dg
Binary files differ
diff --git a/lib/terminfo/d/d555-w b/lib/terminfo/d/d555-w
new file mode 100644
index 0000000..13b08e7
--- /dev/null
+++ b/lib/terminfo/d/d555-w
Binary files differ
diff --git a/lib/terminfo/d/d577 b/lib/terminfo/d/d577
new file mode 100644
index 0000000..ea9c0ae
--- /dev/null
+++ b/lib/terminfo/d/d577
Binary files differ
diff --git a/lib/terminfo/d/d577-7b b/lib/terminfo/d/d577-7b
new file mode 100644
index 0000000..7201146
--- /dev/null
+++ b/lib/terminfo/d/d577-7b
Binary files differ
diff --git a/lib/terminfo/d/d577-7b-w b/lib/terminfo/d/d577-7b-w
new file mode 100644
index 0000000..3ec6ec9
--- /dev/null
+++ b/lib/terminfo/d/d577-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d577-dg b/lib/terminfo/d/d577-dg
new file mode 100644
index 0000000..ca069ee
--- /dev/null
+++ b/lib/terminfo/d/d577-dg
Binary files differ
diff --git a/lib/terminfo/d/d577-w b/lib/terminfo/d/d577-w
new file mode 100644
index 0000000..3ef6c7d
--- /dev/null
+++ b/lib/terminfo/d/d577-w
Binary files differ
diff --git a/lib/terminfo/d/d578 b/lib/terminfo/d/d578
new file mode 100644
index 0000000..93c1535
--- /dev/null
+++ b/lib/terminfo/d/d578
Binary files differ
diff --git a/lib/terminfo/d/d578-7b b/lib/terminfo/d/d578-7b
new file mode 100644
index 0000000..27ac610
--- /dev/null
+++ b/lib/terminfo/d/d578-7b
Binary files differ
diff --git a/lib/terminfo/d/d578-dg b/lib/terminfo/d/d578-dg
new file mode 120000
index 0000000..500b211
--- /dev/null
+++ b/lib/terminfo/d/d578-dg
@@ -0,0 +1 @@
+d577-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d80 b/lib/terminfo/d/d80
new file mode 120000
index 0000000..2bd1e1a
--- /dev/null
+++ b/lib/terminfo/d/d80
@@ -0,0 +1 @@
+../a/ampex80
\ No newline at end of file
diff --git a/lib/terminfo/d/d800 b/lib/terminfo/d/d800
new file mode 100644
index 0000000..7c605c8
--- /dev/null
+++ b/lib/terminfo/d/d800
Binary files differ
diff --git a/lib/terminfo/d/darwin b/lib/terminfo/d/darwin
new file mode 120000
index 0000000..78344e3
--- /dev/null
+++ b/lib/terminfo/d/darwin
@@ -0,0 +1 @@
+../x/xnuppc
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-100x37 b/lib/terminfo/d/darwin-100x37
new file mode 120000
index 0000000..f1a1727
--- /dev/null
+++ b/lib/terminfo/d/darwin-100x37
@@ -0,0 +1 @@
+../x/xnuppc-100x37
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-100x37-m b/lib/terminfo/d/darwin-100x37-m
new file mode 120000
index 0000000..a84f98f
--- /dev/null
+++ b/lib/terminfo/d/darwin-100x37-m
@@ -0,0 +1 @@
+../x/xnuppc-100x37-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-112x37 b/lib/terminfo/d/darwin-112x37
new file mode 120000
index 0000000..5fb83ec
--- /dev/null
+++ b/lib/terminfo/d/darwin-112x37
@@ -0,0 +1 @@
+../x/xnuppc-112x37
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-112x37-m b/lib/terminfo/d/darwin-112x37-m
new file mode 120000
index 0000000..2e5aabd
--- /dev/null
+++ b/lib/terminfo/d/darwin-112x37-m
@@ -0,0 +1 @@
+../x/xnuppc-112x37-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x40 b/lib/terminfo/d/darwin-128x40
new file mode 120000
index 0000000..03df811
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x40
@@ -0,0 +1 @@
+../x/xnuppc-128x40
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x40-m b/lib/terminfo/d/darwin-128x40-m
new file mode 120000
index 0000000..8e358d8
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x40-m
@@ -0,0 +1 @@
+../x/xnuppc-128x40-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x48 b/lib/terminfo/d/darwin-128x48
new file mode 120000
index 0000000..a55d0d7
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x48
@@ -0,0 +1 @@
+../x/xnuppc-128x48
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x48-m b/lib/terminfo/d/darwin-128x48-m
new file mode 120000
index 0000000..50c46cb
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x48-m
@@ -0,0 +1 @@
+../x/xnuppc-128x48-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-144x48 b/lib/terminfo/d/darwin-144x48
new file mode 120000
index 0000000..523aeb9
--- /dev/null
+++ b/lib/terminfo/d/darwin-144x48
@@ -0,0 +1 @@
+../x/xnuppc-144x48
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-144x48-m b/lib/terminfo/d/darwin-144x48-m
new file mode 120000
index 0000000..53ca625
--- /dev/null
+++ b/lib/terminfo/d/darwin-144x48-m
@@ -0,0 +1 @@
+../x/xnuppc-144x48-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-160x64 b/lib/terminfo/d/darwin-160x64
new file mode 120000
index 0000000..11564c4
--- /dev/null
+++ b/lib/terminfo/d/darwin-160x64
@@ -0,0 +1 @@
+../x/xnuppc-160x64
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-160x64-m b/lib/terminfo/d/darwin-160x64-m
new file mode 120000
index 0000000..62fc4ae
--- /dev/null
+++ b/lib/terminfo/d/darwin-160x64-m
@@ -0,0 +1 @@
+../x/xnuppc-160x64-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x64 b/lib/terminfo/d/darwin-200x64
new file mode 120000
index 0000000..2ab1551
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x64
@@ -0,0 +1 @@
+../x/xnuppc-200x64
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x64-m b/lib/terminfo/d/darwin-200x64-m
new file mode 120000
index 0000000..5b12d9d
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x64-m
@@ -0,0 +1 @@
+../x/xnuppc-200x64-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x75 b/lib/terminfo/d/darwin-200x75
new file mode 120000
index 0000000..f2c3608
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x75
@@ -0,0 +1 @@
+../x/xnuppc-200x75
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x75-m b/lib/terminfo/d/darwin-200x75-m
new file mode 120000
index 0000000..a457706
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x75-m
@@ -0,0 +1 @@
+../x/xnuppc-200x75-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-256x96 b/lib/terminfo/d/darwin-256x96
new file mode 120000
index 0000000..3850487
--- /dev/null
+++ b/lib/terminfo/d/darwin-256x96
@@ -0,0 +1 @@
+../x/xnuppc-256x96
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-256x96-m b/lib/terminfo/d/darwin-256x96-m
new file mode 120000
index 0000000..ddc7799
--- /dev/null
+++ b/lib/terminfo/d/darwin-256x96-m
@@ -0,0 +1 @@
+../x/xnuppc-256x96-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x25 b/lib/terminfo/d/darwin-80x25
new file mode 120000
index 0000000..e600f33
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x25
@@ -0,0 +1 @@
+../x/xnuppc-80x25
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x25-m b/lib/terminfo/d/darwin-80x25-m
new file mode 120000
index 0000000..bb6423b
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x25-m
@@ -0,0 +1 @@
+../x/xnuppc-80x25-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x30 b/lib/terminfo/d/darwin-80x30
new file mode 120000
index 0000000..e53e9ab
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x30
@@ -0,0 +1 @@
+../x/xnuppc-80x30
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x30-m b/lib/terminfo/d/darwin-80x30-m
new file mode 120000
index 0000000..47ba3ea
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x30-m
@@ -0,0 +1 @@
+../x/xnuppc-80x30-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-90x30 b/lib/terminfo/d/darwin-90x30
new file mode 120000
index 0000000..47d194f
--- /dev/null
+++ b/lib/terminfo/d/darwin-90x30
@@ -0,0 +1 @@
+../x/xnuppc-90x30
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-90x30-m b/lib/terminfo/d/darwin-90x30-m
new file mode 120000
index 0000000..c33f936
--- /dev/null
+++ b/lib/terminfo/d/darwin-90x30-m
@@ -0,0 +1 @@
+../x/xnuppc-90x30-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-b b/lib/terminfo/d/darwin-b
new file mode 120000
index 0000000..3ad03ce
--- /dev/null
+++ b/lib/terminfo/d/darwin-b
@@ -0,0 +1 @@
+../x/xnuppc-b
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-f b/lib/terminfo/d/darwin-f
new file mode 120000
index 0000000..6a607d3
--- /dev/null
+++ b/lib/terminfo/d/darwin-f
@@ -0,0 +1 @@
+../x/xnuppc-f
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-f2 b/lib/terminfo/d/darwin-f2
new file mode 120000
index 0000000..f6e6f10
--- /dev/null
+++ b/lib/terminfo/d/darwin-f2
@@ -0,0 +1 @@
+../x/xnuppc-f2
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m b/lib/terminfo/d/darwin-m
new file mode 120000
index 0000000..5111d35
--- /dev/null
+++ b/lib/terminfo/d/darwin-m
@@ -0,0 +1 @@
+../x/xnuppc-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m-b b/lib/terminfo/d/darwin-m-b
new file mode 120000
index 0000000..531a0da
--- /dev/null
+++ b/lib/terminfo/d/darwin-m-b
@@ -0,0 +1 @@
+../x/xnuppc-m-b
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m-f b/lib/terminfo/d/darwin-m-f
new file mode 120000
index 0000000..3d840da
--- /dev/null
+++ b/lib/terminfo/d/darwin-m-f
@@ -0,0 +1 @@
+../x/xnuppc-m-f
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m-f2 b/lib/terminfo/d/darwin-m-f2
new file mode 120000
index 0000000..2d2227e
--- /dev/null
+++ b/lib/terminfo/d/darwin-m-f2
@@ -0,0 +1 @@
+../x/xnuppc-m-f2
\ No newline at end of file
diff --git a/lib/terminfo/d/datagraphix b/lib/terminfo/d/datagraphix
new file mode 120000
index 0000000..1fd17b8
--- /dev/null
+++ b/lib/terminfo/d/datagraphix
@@ -0,0 +1 @@
+d132
\ No newline at end of file
diff --git a/lib/terminfo/d/datamedia2500 b/lib/terminfo/d/datamedia2500
new file mode 120000
index 0000000..79b3dc0
--- /dev/null
+++ b/lib/terminfo/d/datamedia2500
@@ -0,0 +1 @@
+dm2500
\ No newline at end of file
diff --git a/lib/terminfo/d/datapoint b/lib/terminfo/d/datapoint
new file mode 120000
index 0000000..38a7fc7
--- /dev/null
+++ b/lib/terminfo/d/datapoint
@@ -0,0 +1 @@
+dp3360
\ No newline at end of file
diff --git a/lib/terminfo/d/dataspeed40 b/lib/terminfo/d/dataspeed40
new file mode 120000
index 0000000..7f42dd0
--- /dev/null
+++ b/lib/terminfo/d/dataspeed40
@@ -0,0 +1 @@
+../t/tty40
\ No newline at end of file
diff --git a/lib/terminfo/d/dd5000 b/lib/terminfo/d/dd5000
new file mode 120000
index 0000000..3d2667b
--- /dev/null
+++ b/lib/terminfo/d/dd5000
@@ -0,0 +1 @@
+delta
\ No newline at end of file
diff --git a/lib/terminfo/d/ddr b/lib/terminfo/d/ddr
new file mode 100644
index 0000000..9f761fb
--- /dev/null
+++ b/lib/terminfo/d/ddr
Binary files differ
diff --git a/lib/terminfo/d/ddr3180 b/lib/terminfo/d/ddr3180
new file mode 120000
index 0000000..11951ef
--- /dev/null
+++ b/lib/terminfo/d/ddr3180
@@ -0,0 +1 @@
+ddr
\ No newline at end of file
diff --git a/lib/terminfo/d/dec+pp b/lib/terminfo/d/dec+pp
new file mode 100644
index 0000000..598bc12
--- /dev/null
+++ b/lib/terminfo/d/dec+pp
Binary files differ
diff --git a/lib/terminfo/d/dec+sl b/lib/terminfo/d/dec+sl
new file mode 100644
index 0000000..b8d5d11
--- /dev/null
+++ b/lib/terminfo/d/dec+sl
Binary files differ
diff --git a/lib/terminfo/d/dec-vt100 b/lib/terminfo/d/dec-vt100
new file mode 100644
index 0000000..b93848f
--- /dev/null
+++ b/lib/terminfo/d/dec-vt100
Binary files differ
diff --git a/lib/terminfo/d/dec-vt220 b/lib/terminfo/d/dec-vt220
new file mode 100644
index 0000000..a86fc33
--- /dev/null
+++ b/lib/terminfo/d/dec-vt220
Binary files differ
diff --git a/lib/terminfo/d/dec-vt330 b/lib/terminfo/d/dec-vt330
new file mode 120000
index 0000000..15136e9
--- /dev/null
+++ b/lib/terminfo/d/dec-vt330
@@ -0,0 +1 @@
+../v/vt340
\ No newline at end of file
diff --git a/lib/terminfo/d/dec-vt340 b/lib/terminfo/d/dec-vt340
new file mode 120000
index 0000000..15136e9
--- /dev/null
+++ b/lib/terminfo/d/dec-vt340
@@ -0,0 +1 @@
+../v/vt340
\ No newline at end of file
diff --git a/lib/terminfo/d/dec-vt400 b/lib/terminfo/d/dec-vt400
new file mode 120000
index 0000000..3dae34e
--- /dev/null
+++ b/lib/terminfo/d/dec-vt400
@@ -0,0 +1 @@
+../v/vt400
\ No newline at end of file
diff --git a/lib/terminfo/d/decansi b/lib/terminfo/d/decansi
new file mode 100644
index 0000000..000cd6d
--- /dev/null
+++ b/lib/terminfo/d/decansi
Binary files differ
diff --git a/lib/terminfo/d/decpro b/lib/terminfo/d/decpro
new file mode 120000
index 0000000..13ead82
--- /dev/null
+++ b/lib/terminfo/d/decpro
@@ -0,0 +1 @@
+../p/pro350
\ No newline at end of file
diff --git a/lib/terminfo/d/decwriter b/lib/terminfo/d/decwriter
new file mode 120000
index 0000000..588841b
--- /dev/null
+++ b/lib/terminfo/d/decwriter
@@ -0,0 +1 @@
+dw2
\ No newline at end of file
diff --git a/lib/terminfo/d/delta b/lib/terminfo/d/delta
new file mode 100644
index 0000000..97d8591
--- /dev/null
+++ b/lib/terminfo/d/delta
Binary files differ
diff --git a/lib/terminfo/d/dg+ccc b/lib/terminfo/d/dg+ccc
new file mode 100644
index 0000000..b9aeb86
--- /dev/null
+++ b/lib/terminfo/d/dg+ccc
Binary files differ
diff --git a/lib/terminfo/d/dg+color b/lib/terminfo/d/dg+color
new file mode 100644
index 0000000..13c20ca
--- /dev/null
+++ b/lib/terminfo/d/dg+color
Binary files differ
diff --git a/lib/terminfo/d/dg+color8 b/lib/terminfo/d/dg+color8
new file mode 100644
index 0000000..f347b40
--- /dev/null
+++ b/lib/terminfo/d/dg+color8
Binary files differ
diff --git a/lib/terminfo/d/dg+fixed b/lib/terminfo/d/dg+fixed
new file mode 100644
index 0000000..1cb3cd3
--- /dev/null
+++ b/lib/terminfo/d/dg+fixed
Binary files differ
diff --git a/lib/terminfo/d/dg-ansi b/lib/terminfo/d/dg-ansi
new file mode 120000
index 0000000..8c5f9aa
--- /dev/null
+++ b/lib/terminfo/d/dg-ansi
@@ -0,0 +1 @@
+dg210
\ No newline at end of file
diff --git a/lib/terminfo/d/dg-generic b/lib/terminfo/d/dg-generic
new file mode 100644
index 0000000..3723a01
--- /dev/null
+++ b/lib/terminfo/d/dg-generic
Binary files differ
diff --git a/lib/terminfo/d/dg100 b/lib/terminfo/d/dg100
new file mode 120000
index 0000000..2b6caa6
--- /dev/null
+++ b/lib/terminfo/d/dg100
@@ -0,0 +1 @@
+dg6053-old
\ No newline at end of file
diff --git a/lib/terminfo/d/dg200 b/lib/terminfo/d/dg200
new file mode 100644
index 0000000..806536a
--- /dev/null
+++ b/lib/terminfo/d/dg200
Binary files differ
diff --git a/lib/terminfo/d/dg210 b/lib/terminfo/d/dg210
new file mode 100644
index 0000000..fd5d287
--- /dev/null
+++ b/lib/terminfo/d/dg210
Binary files differ
diff --git a/lib/terminfo/d/dg211 b/lib/terminfo/d/dg211
new file mode 100644
index 0000000..394e4a7
--- /dev/null
+++ b/lib/terminfo/d/dg211
Binary files differ
diff --git a/lib/terminfo/d/dg450 b/lib/terminfo/d/dg450
new file mode 100644
index 0000000..6539891
--- /dev/null
+++ b/lib/terminfo/d/dg450
Binary files differ
diff --git a/lib/terminfo/d/dg460-ansi b/lib/terminfo/d/dg460-ansi
new file mode 100644
index 0000000..7c9c41c
--- /dev/null
+++ b/lib/terminfo/d/dg460-ansi
Binary files differ
diff --git a/lib/terminfo/d/dg6053 b/lib/terminfo/d/dg6053
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/d/dg6053
Binary files differ
diff --git a/lib/terminfo/d/dg6053-old b/lib/terminfo/d/dg6053-old
new file mode 100644
index 0000000..54dff37
--- /dev/null
+++ b/lib/terminfo/d/dg6053-old
Binary files differ
diff --git a/lib/terminfo/d/dg605x b/lib/terminfo/d/dg605x
new file mode 120000
index 0000000..286381a
--- /dev/null
+++ b/lib/terminfo/d/dg605x
@@ -0,0 +1 @@
+dg6053
\ No newline at end of file
diff --git a/lib/terminfo/d/dg6134 b/lib/terminfo/d/dg6134
new file mode 120000
index 0000000..393d360
--- /dev/null
+++ b/lib/terminfo/d/dg6134
@@ -0,0 +1 @@
+dg450
\ No newline at end of file
diff --git a/lib/terminfo/d/dgkeys+11 b/lib/terminfo/d/dgkeys+11
new file mode 100644
index 0000000..b3fa2a3
--- /dev/null
+++ b/lib/terminfo/d/dgkeys+11
Binary files differ
diff --git a/lib/terminfo/d/dgkeys+15 b/lib/terminfo/d/dgkeys+15
new file mode 100644
index 0000000..02c3b7e
--- /dev/null
+++ b/lib/terminfo/d/dgkeys+15
Binary files differ
diff --git a/lib/terminfo/d/dgkeys+7b b/lib/terminfo/d/dgkeys+7b
new file mode 100644
index 0000000..d18c507
--- /dev/null
+++ b/lib/terminfo/d/dgkeys+7b
Binary files differ
diff --git a/lib/terminfo/d/dgkeys+8b b/lib/terminfo/d/dgkeys+8b
new file mode 100644
index 0000000..d791dd6
--- /dev/null
+++ b/lib/terminfo/d/dgkeys+8b
Binary files differ
diff --git a/lib/terminfo/d/dgmode+color b/lib/terminfo/d/dgmode+color
new file mode 100644
index 0000000..2fc3d8c
--- /dev/null
+++ b/lib/terminfo/d/dgmode+color
Binary files differ
diff --git a/lib/terminfo/d/dgmode+color8 b/lib/terminfo/d/dgmode+color8
new file mode 100644
index 0000000..dc99303
--- /dev/null
+++ b/lib/terminfo/d/dgmode+color8
Binary files differ
diff --git a/lib/terminfo/d/dgunix+ccc b/lib/terminfo/d/dgunix+ccc
new file mode 100644
index 0000000..7ae82c0
--- /dev/null
+++ b/lib/terminfo/d/dgunix+ccc
Binary files differ
diff --git a/lib/terminfo/d/dgunix+fixed b/lib/terminfo/d/dgunix+fixed
new file mode 100644
index 0000000..2fc3ff5
--- /dev/null
+++ b/lib/terminfo/d/dgunix+fixed
Binary files differ
diff --git a/lib/terminfo/d/diablo b/lib/terminfo/d/diablo
new file mode 120000
index 0000000..4e4e2eb
--- /dev/null
+++ b/lib/terminfo/d/diablo
@@ -0,0 +1 @@
+diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo-lm b/lib/terminfo/d/diablo-lm
new file mode 120000
index 0000000..a7ba35e
--- /dev/null
+++ b/lib/terminfo/d/diablo-lm
@@ -0,0 +1 @@
+diablo1640-lm
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1620 b/lib/terminfo/d/diablo1620
new file mode 100644
index 0000000..460faaf
--- /dev/null
+++ b/lib/terminfo/d/diablo1620
Binary files differ
diff --git a/lib/terminfo/d/diablo1620-m8 b/lib/terminfo/d/diablo1620-m8
new file mode 100644
index 0000000..d2e3beb
--- /dev/null
+++ b/lib/terminfo/d/diablo1620-m8
Binary files differ
diff --git a/lib/terminfo/d/diablo1640 b/lib/terminfo/d/diablo1640
new file mode 100644
index 0000000..a7a12d1
--- /dev/null
+++ b/lib/terminfo/d/diablo1640
Binary files differ
diff --git a/lib/terminfo/d/diablo1640-lm b/lib/terminfo/d/diablo1640-lm
new file mode 100644
index 0000000..535f007
--- /dev/null
+++ b/lib/terminfo/d/diablo1640-lm
Binary files differ
diff --git a/lib/terminfo/d/diablo1640-m8 b/lib/terminfo/d/diablo1640-m8
new file mode 120000
index 0000000..ab525d9
--- /dev/null
+++ b/lib/terminfo/d/diablo1640-m8
@@ -0,0 +1 @@
+diablo1620-m8
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1720 b/lib/terminfo/d/diablo1720
new file mode 120000
index 0000000..98ac1f6
--- /dev/null
+++ b/lib/terminfo/d/diablo1720
@@ -0,0 +1 @@
+diablo1620
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1730 b/lib/terminfo/d/diablo1730
new file mode 120000
index 0000000..4e4e2eb
--- /dev/null
+++ b/lib/terminfo/d/diablo1730
@@ -0,0 +1 @@
+diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1740 b/lib/terminfo/d/diablo1740
new file mode 120000
index 0000000..4e4e2eb
--- /dev/null
+++ b/lib/terminfo/d/diablo1740
@@ -0,0 +1 @@
+diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1740-lm b/lib/terminfo/d/diablo1740-lm
new file mode 100644
index 0000000..5f36015
--- /dev/null
+++ b/lib/terminfo/d/diablo1740-lm
Binary files differ
diff --git a/lib/terminfo/d/diablo450 b/lib/terminfo/d/diablo450
new file mode 120000
index 0000000..98ac1f6
--- /dev/null
+++ b/lib/terminfo/d/diablo450
@@ -0,0 +1 @@
+diablo1620
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo630 b/lib/terminfo/d/diablo630
new file mode 120000
index 0000000..4e4e2eb
--- /dev/null
+++ b/lib/terminfo/d/diablo630
@@ -0,0 +1 @@
+diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/dialogue b/lib/terminfo/d/dialogue
new file mode 120000
index 0000000..2bd1e1a
--- /dev/null
+++ b/lib/terminfo/d/dialogue
@@ -0,0 +1 @@
+../a/ampex80
\ No newline at end of file
diff --git a/lib/terminfo/d/dialogue80 b/lib/terminfo/d/dialogue80
new file mode 120000
index 0000000..2bd1e1a
--- /dev/null
+++ b/lib/terminfo/d/dialogue80
@@ -0,0 +1 @@
+../a/ampex80
\ No newline at end of file
diff --git a/lib/terminfo/d/digilog b/lib/terminfo/d/digilog
new file mode 100644
index 0000000..7c3572b
--- /dev/null
+++ b/lib/terminfo/d/digilog
Binary files differ
diff --git a/lib/terminfo/d/djgpp b/lib/terminfo/d/djgpp
new file mode 100644
index 0000000..acadff7
--- /dev/null
+++ b/lib/terminfo/d/djgpp
Binary files differ
diff --git a/lib/terminfo/d/djgpp203 b/lib/terminfo/d/djgpp203
new file mode 100644
index 0000000..2ac17bc
--- /dev/null
+++ b/lib/terminfo/d/djgpp203
Binary files differ
diff --git a/lib/terminfo/d/djgpp204 b/lib/terminfo/d/djgpp204
new file mode 100644
index 0000000..f3c1c06
--- /dev/null
+++ b/lib/terminfo/d/djgpp204
Binary files differ
diff --git a/lib/terminfo/d/dku7003 b/lib/terminfo/d/dku7003
new file mode 100644
index 0000000..9ae57b4
--- /dev/null
+++ b/lib/terminfo/d/dku7003
Binary files differ
diff --git a/lib/terminfo/d/dku7003-dumb b/lib/terminfo/d/dku7003-dumb
new file mode 100644
index 0000000..e53ba32
--- /dev/null
+++ b/lib/terminfo/d/dku7003-dumb
Binary files differ
diff --git a/lib/terminfo/d/dku7102 b/lib/terminfo/d/dku7102
new file mode 120000
index 0000000..b0834c3
--- /dev/null
+++ b/lib/terminfo/d/dku7102
@@ -0,0 +1 @@
+../t/tws-generic
\ No newline at end of file
diff --git a/lib/terminfo/d/dku7102-old b/lib/terminfo/d/dku7102-old
new file mode 100644
index 0000000..98e8d7a
--- /dev/null
+++ b/lib/terminfo/d/dku7102-old
Binary files differ
diff --git a/lib/terminfo/d/dku7102-sna b/lib/terminfo/d/dku7102-sna
new file mode 120000
index 0000000..e7a5b89
--- /dev/null
+++ b/lib/terminfo/d/dku7102-sna
@@ -0,0 +1 @@
+../t/tws2102-sna
\ No newline at end of file
diff --git a/lib/terminfo/d/dku7103-sna b/lib/terminfo/d/dku7103-sna
new file mode 120000
index 0000000..5fb07d6
--- /dev/null
+++ b/lib/terminfo/d/dku7103-sna
@@ -0,0 +1 @@
+../t/tws2103-sna
\ No newline at end of file
diff --git a/lib/terminfo/d/dku7202 b/lib/terminfo/d/dku7202
new file mode 100644
index 0000000..0ba0302
--- /dev/null
+++ b/lib/terminfo/d/dku7202
Binary files differ
diff --git a/lib/terminfo/d/dm1520 b/lib/terminfo/d/dm1520
new file mode 100644
index 0000000..22c5d26
--- /dev/null
+++ b/lib/terminfo/d/dm1520
Binary files differ
diff --git a/lib/terminfo/d/dm1521 b/lib/terminfo/d/dm1521
new file mode 120000
index 0000000..5779249
--- /dev/null
+++ b/lib/terminfo/d/dm1521
@@ -0,0 +1 @@
+dm1520
\ No newline at end of file
diff --git a/lib/terminfo/d/dm2500 b/lib/terminfo/d/dm2500
new file mode 100644
index 0000000..202839f
--- /dev/null
+++ b/lib/terminfo/d/dm2500
Binary files differ
diff --git a/lib/terminfo/d/dm3025 b/lib/terminfo/d/dm3025
new file mode 100644
index 0000000..cce29eb
--- /dev/null
+++ b/lib/terminfo/d/dm3025
Binary files differ
diff --git a/lib/terminfo/d/dm3045 b/lib/terminfo/d/dm3045
new file mode 100644
index 0000000..e1f76f5
--- /dev/null
+++ b/lib/terminfo/d/dm3045
Binary files differ
diff --git a/lib/terminfo/d/dm80 b/lib/terminfo/d/dm80
new file mode 100644
index 0000000..07a8f5d
--- /dev/null
+++ b/lib/terminfo/d/dm80
Binary files differ
diff --git a/lib/terminfo/d/dm80w b/lib/terminfo/d/dm80w
new file mode 100644
index 0000000..50d88ba
--- /dev/null
+++ b/lib/terminfo/d/dm80w
Binary files differ
diff --git a/lib/terminfo/d/dmchat b/lib/terminfo/d/dmchat
new file mode 100644
index 0000000..9725b91
--- /dev/null
+++ b/lib/terminfo/d/dmchat
Binary files differ
diff --git a/lib/terminfo/d/dmd b/lib/terminfo/d/dmd
new file mode 120000
index 0000000..f27fa37
--- /dev/null
+++ b/lib/terminfo/d/dmd
@@ -0,0 +1 @@
+../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd-24 b/lib/terminfo/d/dmd-24
new file mode 120000
index 0000000..871ad7e
--- /dev/null
+++ b/lib/terminfo/d/dmd-24
@@ -0,0 +1 @@
+../a/att5620-24
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd-34 b/lib/terminfo/d/dmd-34
new file mode 120000
index 0000000..804c08a
--- /dev/null
+++ b/lib/terminfo/d/dmd-34
@@ -0,0 +1 @@
+../a/att5620-34
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd1 b/lib/terminfo/d/dmd1
new file mode 120000
index 0000000..bec551f
--- /dev/null
+++ b/lib/terminfo/d/dmd1
@@ -0,0 +1 @@
+../a/att5620-1
\ No newline at end of file
diff --git a/lib/terminfo/d/dmdt80 b/lib/terminfo/d/dmdt80
new file mode 120000
index 0000000..c071bf3
--- /dev/null
+++ b/lib/terminfo/d/dmdt80
@@ -0,0 +1 @@
+dm80
\ No newline at end of file
diff --git a/lib/terminfo/d/dmdt80w b/lib/terminfo/d/dmdt80w
new file mode 120000
index 0000000..fdb28ad
--- /dev/null
+++ b/lib/terminfo/d/dmdt80w
@@ -0,0 +1 @@
+dm80w
\ No newline at end of file
diff --git a/lib/terminfo/d/dmterm b/lib/terminfo/d/dmterm
new file mode 100644
index 0000000..17fc379
--- /dev/null
+++ b/lib/terminfo/d/dmterm
Binary files differ
diff --git a/lib/terminfo/d/dp3360 b/lib/terminfo/d/dp3360
new file mode 100644
index 0000000..002c6d2
--- /dev/null
+++ b/lib/terminfo/d/dp3360
Binary files differ
diff --git a/lib/terminfo/d/dp8242 b/lib/terminfo/d/dp8242
new file mode 100644
index 0000000..1f972c3
--- /dev/null
+++ b/lib/terminfo/d/dp8242
Binary files differ
diff --git a/lib/terminfo/d/ds40 b/lib/terminfo/d/ds40
new file mode 120000
index 0000000..7f42dd0
--- /dev/null
+++ b/lib/terminfo/d/ds40
@@ -0,0 +1 @@
+../t/tty40
\ No newline at end of file
diff --git a/lib/terminfo/d/ds40-2 b/lib/terminfo/d/ds40-2
new file mode 120000
index 0000000..7f42dd0
--- /dev/null
+++ b/lib/terminfo/d/ds40-2
@@ -0,0 +1 @@
+../t/tty40
\ No newline at end of file
diff --git a/lib/terminfo/d/dt-100 b/lib/terminfo/d/dt-100
new file mode 120000
index 0000000..293df19
--- /dev/null
+++ b/lib/terminfo/d/dt-100
@@ -0,0 +1 @@
+dt100
\ No newline at end of file
diff --git a/lib/terminfo/d/dt-100w b/lib/terminfo/d/dt-100w
new file mode 120000
index 0000000..43fb6ee
--- /dev/null
+++ b/lib/terminfo/d/dt-100w
@@ -0,0 +1 @@
+dt100w
\ No newline at end of file
diff --git a/lib/terminfo/d/dt100 b/lib/terminfo/d/dt100
new file mode 100644
index 0000000..5792c0a
--- /dev/null
+++ b/lib/terminfo/d/dt100
Binary files differ
diff --git a/lib/terminfo/d/dt100w b/lib/terminfo/d/dt100w
new file mode 100644
index 0000000..b0b0ec2
--- /dev/null
+++ b/lib/terminfo/d/dt100w
Binary files differ
diff --git a/lib/terminfo/d/dt110 b/lib/terminfo/d/dt110
new file mode 100644
index 0000000..c86b73c
--- /dev/null
+++ b/lib/terminfo/d/dt110
Binary files differ
diff --git a/lib/terminfo/d/dt80 b/lib/terminfo/d/dt80
new file mode 120000
index 0000000..c071bf3
--- /dev/null
+++ b/lib/terminfo/d/dt80
@@ -0,0 +1 @@
+dm80
\ No newline at end of file
diff --git a/lib/terminfo/d/dt80-sas b/lib/terminfo/d/dt80-sas
new file mode 100644
index 0000000..b1c406a
--- /dev/null
+++ b/lib/terminfo/d/dt80-sas
Binary files differ
diff --git a/lib/terminfo/d/dt80w b/lib/terminfo/d/dt80w
new file mode 120000
index 0000000..fdb28ad
--- /dev/null
+++ b/lib/terminfo/d/dt80w
@@ -0,0 +1 @@
+dm80w
\ No newline at end of file
diff --git a/lib/terminfo/d/dtc300s b/lib/terminfo/d/dtc300s
new file mode 100644
index 0000000..da2b83c
--- /dev/null
+++ b/lib/terminfo/d/dtc300s
Binary files differ
diff --git a/lib/terminfo/d/dtc382 b/lib/terminfo/d/dtc382
new file mode 100644
index 0000000..4afa383
--- /dev/null
+++ b/lib/terminfo/d/dtc382
Binary files differ
diff --git a/lib/terminfo/d/dtterm b/lib/terminfo/d/dtterm
new file mode 100644
index 0000000..6129794
--- /dev/null
+++ b/lib/terminfo/d/dtterm
Binary files differ
diff --git a/lib/terminfo/d/dumb b/lib/terminfo/d/dumb
new file mode 100644
index 0000000..fd4091a
--- /dev/null
+++ b/lib/terminfo/d/dumb
Binary files differ
diff --git a/lib/terminfo/d/dw b/lib/terminfo/d/dw
new file mode 120000
index 0000000..588841b
--- /dev/null
+++ b/lib/terminfo/d/dw
@@ -0,0 +1 @@
+dw2
\ No newline at end of file
diff --git a/lib/terminfo/d/dw1 b/lib/terminfo/d/dw1
new file mode 100644
index 0000000..a9f0e6c
--- /dev/null
+++ b/lib/terminfo/d/dw1
Binary files differ
diff --git a/lib/terminfo/d/dw2 b/lib/terminfo/d/dw2
new file mode 100644
index 0000000..5886d57
--- /dev/null
+++ b/lib/terminfo/d/dw2
Binary files differ
diff --git a/lib/terminfo/d/dw3 b/lib/terminfo/d/dw3
new file mode 100644
index 0000000..00f026b
--- /dev/null
+++ b/lib/terminfo/d/dw3
Binary files differ
diff --git a/lib/terminfo/d/dw4 b/lib/terminfo/d/dw4
new file mode 100644
index 0000000..4b0bdc0
--- /dev/null
+++ b/lib/terminfo/d/dw4
Binary files differ
diff --git a/lib/terminfo/d/dwk b/lib/terminfo/d/dwk
new file mode 100644
index 0000000..dbb96d2
--- /dev/null
+++ b/lib/terminfo/d/dwk
Binary files differ
diff --git a/lib/terminfo/d/dwk-vt b/lib/terminfo/d/dwk-vt
new file mode 120000
index 0000000..b5770cf
--- /dev/null
+++ b/lib/terminfo/d/dwk-vt
@@ -0,0 +1 @@
+dwk
\ No newline at end of file
diff --git a/lib/terminfo/e/ecma+color b/lib/terminfo/e/ecma+color
new file mode 100644
index 0000000..794a361
--- /dev/null
+++ b/lib/terminfo/e/ecma+color
Binary files differ
diff --git a/lib/terminfo/e/ecma+sgr b/lib/terminfo/e/ecma+sgr
new file mode 100644
index 0000000..d0bf048
--- /dev/null
+++ b/lib/terminfo/e/ecma+sgr
Binary files differ
diff --git a/lib/terminfo/e/elks b/lib/terminfo/e/elks
new file mode 100644
index 0000000..66676df
--- /dev/null
+++ b/lib/terminfo/e/elks
Binary files differ
diff --git a/lib/terminfo/e/elks-ansi b/lib/terminfo/e/elks-ansi
new file mode 100644
index 0000000..12e480a
--- /dev/null
+++ b/lib/terminfo/e/elks-ansi
Binary files differ
diff --git a/lib/terminfo/e/elks-glasstty b/lib/terminfo/e/elks-glasstty
new file mode 100644
index 0000000..3c87714
--- /dev/null
+++ b/lib/terminfo/e/elks-glasstty
Binary files differ
diff --git a/lib/terminfo/e/elks-vt52 b/lib/terminfo/e/elks-vt52
new file mode 100644
index 0000000..94ab385
--- /dev/null
+++ b/lib/terminfo/e/elks-vt52
Binary files differ
diff --git a/lib/terminfo/e/emots b/lib/terminfo/e/emots
new file mode 120000
index 0000000..01f222e
--- /dev/null
+++ b/lib/terminfo/e/emots
@@ -0,0 +1 @@
+../g/gs6300
\ No newline at end of file
diff --git a/lib/terminfo/e/emu b/lib/terminfo/e/emu
new file mode 100644
index 0000000..5f8ef24
--- /dev/null
+++ b/lib/terminfo/e/emu
Binary files differ
diff --git a/lib/terminfo/e/emu-220 b/lib/terminfo/e/emu-220
new file mode 100644
index 0000000..ecf7817
--- /dev/null
+++ b/lib/terminfo/e/emu-220
Binary files differ
diff --git a/lib/terminfo/e/emx-base b/lib/terminfo/e/emx-base
new file mode 100644
index 0000000..4be4725
--- /dev/null
+++ b/lib/terminfo/e/emx-base
Binary files differ
diff --git a/lib/terminfo/e/env230 b/lib/terminfo/e/env230
new file mode 100644
index 0000000..ab1ab59
--- /dev/null
+++ b/lib/terminfo/e/env230
Binary files differ
diff --git a/lib/terminfo/e/envision230 b/lib/terminfo/e/envision230
new file mode 120000
index 0000000..f0c8137
--- /dev/null
+++ b/lib/terminfo/e/envision230
@@ -0,0 +1 @@
+env230
\ No newline at end of file
diff --git a/lib/terminfo/e/ep40 b/lib/terminfo/e/ep40
new file mode 100644
index 0000000..6fb53c1
--- /dev/null
+++ b/lib/terminfo/e/ep40
Binary files differ
diff --git a/lib/terminfo/e/ep4000 b/lib/terminfo/e/ep4000
new file mode 120000
index 0000000..73cce7f
--- /dev/null
+++ b/lib/terminfo/e/ep4000
@@ -0,0 +1 @@
+ep40
\ No newline at end of file
diff --git a/lib/terminfo/e/ep4080 b/lib/terminfo/e/ep4080
new file mode 120000
index 0000000..3d91b49
--- /dev/null
+++ b/lib/terminfo/e/ep4080
@@ -0,0 +1 @@
+ep48
\ No newline at end of file
diff --git a/lib/terminfo/e/ep48 b/lib/terminfo/e/ep48
new file mode 100644
index 0000000..7f04a5a
--- /dev/null
+++ b/lib/terminfo/e/ep48
Binary files differ
diff --git a/lib/terminfo/e/ergo4000 b/lib/terminfo/e/ergo4000
new file mode 100644
index 0000000..1901344
--- /dev/null
+++ b/lib/terminfo/e/ergo4000
Binary files differ
diff --git a/lib/terminfo/e/esprit b/lib/terminfo/e/esprit
new file mode 100644
index 0000000..049558b
--- /dev/null
+++ b/lib/terminfo/e/esprit
Binary files differ
diff --git a/lib/terminfo/e/esprit-am b/lib/terminfo/e/esprit-am
new file mode 100644
index 0000000..5d14a63
--- /dev/null
+++ b/lib/terminfo/e/esprit-am
Binary files differ
diff --git a/lib/terminfo/e/eterm b/lib/terminfo/e/eterm
new file mode 100644
index 0000000..6289637
--- /dev/null
+++ b/lib/terminfo/e/eterm
Binary files differ
diff --git a/lib/terminfo/e/eterm-color b/lib/terminfo/e/eterm-color
new file mode 100644
index 0000000..8841dad
--- /dev/null
+++ b/lib/terminfo/e/eterm-color
Binary files differ
diff --git a/lib/terminfo/e/ex155 b/lib/terminfo/e/ex155
new file mode 100644
index 0000000..be3dbbe
--- /dev/null
+++ b/lib/terminfo/e/ex155
Binary files differ
diff --git a/lib/terminfo/e/excel62 b/lib/terminfo/e/excel62
new file mode 100644
index 0000000..4d9176f
--- /dev/null
+++ b/lib/terminfo/e/excel62
Binary files differ
diff --git a/lib/terminfo/e/excel62-rv b/lib/terminfo/e/excel62-rv
new file mode 100644
index 0000000..0893e5d
--- /dev/null
+++ b/lib/terminfo/e/excel62-rv
Binary files differ
diff --git a/lib/terminfo/e/excel62-w b/lib/terminfo/e/excel62-w
new file mode 100644
index 0000000..65d63f9
--- /dev/null
+++ b/lib/terminfo/e/excel62-w
Binary files differ
diff --git a/lib/terminfo/e/excel64 b/lib/terminfo/e/excel64
new file mode 120000
index 0000000..7fc9140
--- /dev/null
+++ b/lib/terminfo/e/excel64
@@ -0,0 +1 @@
+excel62
\ No newline at end of file
diff --git a/lib/terminfo/e/excel64-rv b/lib/terminfo/e/excel64-rv
new file mode 120000
index 0000000..539dbc7
--- /dev/null
+++ b/lib/terminfo/e/excel64-rv
@@ -0,0 +1 @@
+excel62-rv
\ No newline at end of file
diff --git a/lib/terminfo/e/excel64-w b/lib/terminfo/e/excel64-w
new file mode 120000
index 0000000..bf6538b
--- /dev/null
+++ b/lib/terminfo/e/excel64-w
@@ -0,0 +1 @@
+excel62-w
\ No newline at end of file
diff --git a/lib/terminfo/e/exec80 b/lib/terminfo/e/exec80
new file mode 120000
index 0000000..0829584
--- /dev/null
+++ b/lib/terminfo/e/exec80
@@ -0,0 +1 @@
+../h/hazel
\ No newline at end of file
diff --git a/lib/terminfo/f/f100 b/lib/terminfo/f/f100
new file mode 100644
index 0000000..1e95eca
--- /dev/null
+++ b/lib/terminfo/f/f100
Binary files differ
diff --git a/lib/terminfo/f/f100-rv b/lib/terminfo/f/f100-rv
new file mode 100644
index 0000000..9e5b92e
--- /dev/null
+++ b/lib/terminfo/f/f100-rv
Binary files differ
diff --git a/lib/terminfo/f/f110 b/lib/terminfo/f/f110
new file mode 100644
index 0000000..5348499
--- /dev/null
+++ b/lib/terminfo/f/f110
Binary files differ
diff --git a/lib/terminfo/f/f110-14 b/lib/terminfo/f/f110-14
new file mode 100644
index 0000000..ebec110
--- /dev/null
+++ b/lib/terminfo/f/f110-14
Binary files differ
diff --git a/lib/terminfo/f/f110-14w b/lib/terminfo/f/f110-14w
new file mode 100644
index 0000000..c55b403
--- /dev/null
+++ b/lib/terminfo/f/f110-14w
Binary files differ
diff --git a/lib/terminfo/f/f110-w b/lib/terminfo/f/f110-w
new file mode 100644
index 0000000..48bfe4f
--- /dev/null
+++ b/lib/terminfo/f/f110-w
Binary files differ
diff --git a/lib/terminfo/f/f1720 b/lib/terminfo/f/f1720
new file mode 100644
index 0000000..13837dc
--- /dev/null
+++ b/lib/terminfo/f/f1720
Binary files differ
diff --git a/lib/terminfo/f/f1720a b/lib/terminfo/f/f1720a
new file mode 120000
index 0000000..c13ea0a
--- /dev/null
+++ b/lib/terminfo/f/f1720a
@@ -0,0 +1 @@
+f1720
\ No newline at end of file
diff --git a/lib/terminfo/f/f200 b/lib/terminfo/f/f200
new file mode 100644
index 0000000..70f0882
--- /dev/null
+++ b/lib/terminfo/f/f200
Binary files differ
diff --git a/lib/terminfo/f/f200-w b/lib/terminfo/f/f200-w
new file mode 100644
index 0000000..4fc1360
--- /dev/null
+++ b/lib/terminfo/f/f200-w
Binary files differ
diff --git a/lib/terminfo/f/f200vi b/lib/terminfo/f/f200vi
new file mode 100644
index 0000000..c75c907
--- /dev/null
+++ b/lib/terminfo/f/f200vi
Binary files differ
diff --git a/lib/terminfo/f/f200vi-w b/lib/terminfo/f/f200vi-w
new file mode 100644
index 0000000..0f4fbe6
--- /dev/null
+++ b/lib/terminfo/f/f200vi-w
Binary files differ
diff --git a/lib/terminfo/f/falco b/lib/terminfo/f/falco
new file mode 100644
index 0000000..88dbf93
--- /dev/null
+++ b/lib/terminfo/f/falco
Binary files differ
diff --git a/lib/terminfo/f/falco-p b/lib/terminfo/f/falco-p
new file mode 100644
index 0000000..cb65118
--- /dev/null
+++ b/lib/terminfo/f/falco-p
Binary files differ
diff --git a/lib/terminfo/f/fenix b/lib/terminfo/f/fenix
new file mode 120000
index 0000000..88bd37a
--- /dev/null
+++ b/lib/terminfo/f/fenix
@@ -0,0 +1 @@
+../p/pt100
\ No newline at end of file
diff --git a/lib/terminfo/f/fenixw b/lib/terminfo/f/fenixw
new file mode 120000
index 0000000..98d0f71
--- /dev/null
+++ b/lib/terminfo/f/fenixw
@@ -0,0 +1 @@
+../p/pt100w
\ No newline at end of file
diff --git a/lib/terminfo/f/fixterm b/lib/terminfo/f/fixterm
new file mode 120000
index 0000000..3def21c
--- /dev/null
+++ b/lib/terminfo/f/fixterm
@@ -0,0 +1 @@
+../c/cbblit
\ No newline at end of file
diff --git a/lib/terminfo/f/fortune b/lib/terminfo/f/fortune
new file mode 120000
index 0000000..9f7ddb3
--- /dev/null
+++ b/lib/terminfo/f/fortune
@@ -0,0 +1 @@
+fos
\ No newline at end of file
diff --git a/lib/terminfo/f/fos b/lib/terminfo/f/fos
new file mode 100644
index 0000000..518ed94
--- /dev/null
+++ b/lib/terminfo/f/fos
Binary files differ
diff --git a/lib/terminfo/f/fox b/lib/terminfo/f/fox
new file mode 100644
index 0000000..dfed72c
--- /dev/null
+++ b/lib/terminfo/f/fox
Binary files differ
diff --git a/lib/terminfo/f/freedom b/lib/terminfo/f/freedom
new file mode 120000
index 0000000..53890b0
--- /dev/null
+++ b/lib/terminfo/f/freedom
@@ -0,0 +1 @@
+f100
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom-rv b/lib/terminfo/f/freedom-rv
new file mode 120000
index 0000000..29a0506
--- /dev/null
+++ b/lib/terminfo/f/freedom-rv
@@ -0,0 +1 @@
+f100-rv
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom100 b/lib/terminfo/f/freedom100
new file mode 120000
index 0000000..53890b0
--- /dev/null
+++ b/lib/terminfo/f/freedom100
@@ -0,0 +1 @@
+f100
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom110 b/lib/terminfo/f/freedom110
new file mode 120000
index 0000000..7bf15b9
--- /dev/null
+++ b/lib/terminfo/f/freedom110
@@ -0,0 +1 @@
+f110
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom200 b/lib/terminfo/f/freedom200
new file mode 120000
index 0000000..17020cd
--- /dev/null
+++ b/lib/terminfo/f/freedom200
@@ -0,0 +1 @@
+f200
\ No newline at end of file
diff --git a/lib/terminfo/g/gator b/lib/terminfo/g/gator
new file mode 100644
index 0000000..1a6fd6c
--- /dev/null
+++ b/lib/terminfo/g/gator
Binary files differ
diff --git a/lib/terminfo/g/gator-52 b/lib/terminfo/g/gator-52
new file mode 100644
index 0000000..f3818b8
--- /dev/null
+++ b/lib/terminfo/g/gator-52
Binary files differ
diff --git a/lib/terminfo/g/gator-52t b/lib/terminfo/g/gator-52t
new file mode 100644
index 0000000..bd759f5
--- /dev/null
+++ b/lib/terminfo/g/gator-52t
Binary files differ
diff --git a/lib/terminfo/g/gator-t b/lib/terminfo/g/gator-t
new file mode 100644
index 0000000..452bf16
--- /dev/null
+++ b/lib/terminfo/g/gator-t
Binary files differ
diff --git a/lib/terminfo/g/gigi b/lib/terminfo/g/gigi
new file mode 100644
index 0000000..7502f57
--- /dev/null
+++ b/lib/terminfo/g/gigi
Binary files differ
diff --git a/lib/terminfo/g/glasstty b/lib/terminfo/g/glasstty
new file mode 100644
index 0000000..53f72cf
--- /dev/null
+++ b/lib/terminfo/g/glasstty
Binary files differ
diff --git a/lib/terminfo/g/gnome b/lib/terminfo/g/gnome
new file mode 100644
index 0000000..76d39b1
--- /dev/null
+++ b/lib/terminfo/g/gnome
Binary files differ
diff --git a/lib/terminfo/g/gnome+pcfkeys b/lib/terminfo/g/gnome+pcfkeys
new file mode 100644
index 0000000..61d5884
--- /dev/null
+++ b/lib/terminfo/g/gnome+pcfkeys
Binary files differ
diff --git a/lib/terminfo/g/gnome-2007 b/lib/terminfo/g/gnome-2007
new file mode 100644
index 0000000..76ed077
--- /dev/null
+++ b/lib/terminfo/g/gnome-2007
Binary files differ
diff --git a/lib/terminfo/g/gnome-2008 b/lib/terminfo/g/gnome-2008
new file mode 100644
index 0000000..04edc57
--- /dev/null
+++ b/lib/terminfo/g/gnome-2008
Binary files differ
diff --git a/lib/terminfo/g/gnome-2012 b/lib/terminfo/g/gnome-2012
new file mode 100644
index 0000000..3f5fe95
--- /dev/null
+++ b/lib/terminfo/g/gnome-2012
Binary files differ
diff --git a/lib/terminfo/g/gnome-256color b/lib/terminfo/g/gnome-256color
new file mode 100644
index 0000000..a5ff9d5
--- /dev/null
+++ b/lib/terminfo/g/gnome-256color
Binary files differ
diff --git a/lib/terminfo/g/gnome-fc5 b/lib/terminfo/g/gnome-fc5
new file mode 100644
index 0000000..68de8cb
--- /dev/null
+++ b/lib/terminfo/g/gnome-fc5
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh62 b/lib/terminfo/g/gnome-rh62
new file mode 100644
index 0000000..ceae85e
--- /dev/null
+++ b/lib/terminfo/g/gnome-rh62
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh72 b/lib/terminfo/g/gnome-rh72
new file mode 100644
index 0000000..70f74f4
--- /dev/null
+++ b/lib/terminfo/g/gnome-rh72
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh80 b/lib/terminfo/g/gnome-rh80
new file mode 100644
index 0000000..3965f57
--- /dev/null
+++ b/lib/terminfo/g/gnome-rh80
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh90 b/lib/terminfo/g/gnome-rh90
new file mode 100644
index 0000000..6130a9e
--- /dev/null
+++ b/lib/terminfo/g/gnome-rh90
Binary files differ
diff --git a/lib/terminfo/g/go-225 b/lib/terminfo/g/go-225
new file mode 120000
index 0000000..1199892
--- /dev/null
+++ b/lib/terminfo/g/go-225
@@ -0,0 +1 @@
+go225
\ No newline at end of file
diff --git a/lib/terminfo/g/go140 b/lib/terminfo/g/go140
new file mode 100644
index 0000000..aaf243e
--- /dev/null
+++ b/lib/terminfo/g/go140
Binary files differ
diff --git a/lib/terminfo/g/go140w b/lib/terminfo/g/go140w
new file mode 100644
index 0000000..37e8ee5
--- /dev/null
+++ b/lib/terminfo/g/go140w
Binary files differ
diff --git a/lib/terminfo/g/go225 b/lib/terminfo/g/go225
new file mode 100644
index 0000000..cfb28ac
--- /dev/null
+++ b/lib/terminfo/g/go225
Binary files differ
diff --git a/lib/terminfo/g/graphos b/lib/terminfo/g/graphos
new file mode 100644
index 0000000..7a627b3
--- /dev/null
+++ b/lib/terminfo/g/graphos
Binary files differ
diff --git a/lib/terminfo/g/graphos-30 b/lib/terminfo/g/graphos-30
new file mode 100644
index 0000000..c789400
--- /dev/null
+++ b/lib/terminfo/g/graphos-30
Binary files differ
diff --git a/lib/terminfo/g/gs5430 b/lib/terminfo/g/gs5430
new file mode 120000
index 0000000..239356b
--- /dev/null
+++ b/lib/terminfo/g/gs5430
@@ -0,0 +1 @@
+../a/att505
\ No newline at end of file
diff --git a/lib/terminfo/g/gs5430-22 b/lib/terminfo/g/gs5430-22
new file mode 120000
index 0000000..0cf41b6
--- /dev/null
+++ b/lib/terminfo/g/gs5430-22
@@ -0,0 +1 @@
+../t/tt505-22
\ No newline at end of file
diff --git a/lib/terminfo/g/gs5430-24 b/lib/terminfo/g/gs5430-24
new file mode 120000
index 0000000..b91fd45
--- /dev/null
+++ b/lib/terminfo/g/gs5430-24
@@ -0,0 +1 @@
+../a/att505-24
\ No newline at end of file
diff --git a/lib/terminfo/g/gs6300 b/lib/terminfo/g/gs6300
new file mode 100644
index 0000000..37518ed
--- /dev/null
+++ b/lib/terminfo/g/gs6300
Binary files differ
diff --git a/lib/terminfo/g/gsi b/lib/terminfo/g/gsi
new file mode 100644
index 0000000..5e5d970
--- /dev/null
+++ b/lib/terminfo/g/gsi
Binary files differ
diff --git a/lib/terminfo/g/gt100 b/lib/terminfo/g/gt100
new file mode 120000
index 0000000..135e823
--- /dev/null
+++ b/lib/terminfo/g/gt100
@@ -0,0 +1 @@
+../i/i100
\ No newline at end of file
diff --git a/lib/terminfo/g/gt100a b/lib/terminfo/g/gt100a
new file mode 120000
index 0000000..135e823
--- /dev/null
+++ b/lib/terminfo/g/gt100a
@@ -0,0 +1 @@
+../i/i100
\ No newline at end of file
diff --git a/lib/terminfo/g/gt40 b/lib/terminfo/g/gt40
new file mode 100644
index 0000000..fe3314c
--- /dev/null
+++ b/lib/terminfo/g/gt40
Binary files differ
diff --git a/lib/terminfo/g/gt42 b/lib/terminfo/g/gt42
new file mode 100644
index 0000000..3c3e2cc
--- /dev/null
+++ b/lib/terminfo/g/gt42
Binary files differ
diff --git a/lib/terminfo/g/guru b/lib/terminfo/g/guru
new file mode 100644
index 0000000..b9f491c
--- /dev/null
+++ b/lib/terminfo/g/guru
Binary files differ
diff --git a/lib/terminfo/g/guru+rv b/lib/terminfo/g/guru+rv
new file mode 100644
index 0000000..f2c32c0
--- /dev/null
+++ b/lib/terminfo/g/guru+rv
Binary files differ
diff --git a/lib/terminfo/g/guru+s b/lib/terminfo/g/guru+s
new file mode 100644
index 0000000..768593e
--- /dev/null
+++ b/lib/terminfo/g/guru+s
Binary files differ
diff --git a/lib/terminfo/g/guru+unk b/lib/terminfo/g/guru+unk
new file mode 120000
index 0000000..41db9c2
--- /dev/null
+++ b/lib/terminfo/g/guru+unk
@@ -0,0 +1 @@
+guru
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-24 b/lib/terminfo/g/guru-24
new file mode 100644
index 0000000..49b06bf
--- /dev/null
+++ b/lib/terminfo/g/guru-24
Binary files differ
diff --git a/lib/terminfo/g/guru-33 b/lib/terminfo/g/guru-33
new file mode 120000
index 0000000..41db9c2
--- /dev/null
+++ b/lib/terminfo/g/guru-33
@@ -0,0 +1 @@
+guru
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-33-rv b/lib/terminfo/g/guru-33-rv
new file mode 120000
index 0000000..f644678
--- /dev/null
+++ b/lib/terminfo/g/guru-33-rv
@@ -0,0 +1 @@
+guru-rv
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-33-s b/lib/terminfo/g/guru-33-s
new file mode 120000
index 0000000..eaa74b8
--- /dev/null
+++ b/lib/terminfo/g/guru-33-s
@@ -0,0 +1 @@
+guru-s
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-44 b/lib/terminfo/g/guru-44
new file mode 100644
index 0000000..12622d4
--- /dev/null
+++ b/lib/terminfo/g/guru-44
Binary files differ
diff --git a/lib/terminfo/g/guru-44-s b/lib/terminfo/g/guru-44-s
new file mode 100644
index 0000000..71d9ac8
--- /dev/null
+++ b/lib/terminfo/g/guru-44-s
Binary files differ
diff --git a/lib/terminfo/g/guru-76 b/lib/terminfo/g/guru-76
new file mode 100644
index 0000000..0c2148d
--- /dev/null
+++ b/lib/terminfo/g/guru-76
Binary files differ
diff --git a/lib/terminfo/g/guru-76-lp b/lib/terminfo/g/guru-76-lp
new file mode 100644
index 0000000..8abbf8d
--- /dev/null
+++ b/lib/terminfo/g/guru-76-lp
Binary files differ
diff --git a/lib/terminfo/g/guru-76-s b/lib/terminfo/g/guru-76-s
new file mode 100644
index 0000000..7a8bf7f
--- /dev/null
+++ b/lib/terminfo/g/guru-76-s
Binary files differ
diff --git a/lib/terminfo/g/guru-76-w b/lib/terminfo/g/guru-76-w
new file mode 100644
index 0000000..2fa3606
--- /dev/null
+++ b/lib/terminfo/g/guru-76-w
Binary files differ
diff --git a/lib/terminfo/g/guru-76-w-s b/lib/terminfo/g/guru-76-w-s
new file mode 100644
index 0000000..fc739f6
--- /dev/null
+++ b/lib/terminfo/g/guru-76-w-s
Binary files differ
diff --git a/lib/terminfo/g/guru-76-wm b/lib/terminfo/g/guru-76-wm
new file mode 100644
index 0000000..88ea7a2
--- /dev/null
+++ b/lib/terminfo/g/guru-76-wm
Binary files differ
diff --git a/lib/terminfo/g/guru-lp b/lib/terminfo/g/guru-lp
new file mode 120000
index 0000000..32e3186
--- /dev/null
+++ b/lib/terminfo/g/guru-lp
@@ -0,0 +1 @@
+guru-76-lp
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-nctxt b/lib/terminfo/g/guru-nctxt
new file mode 100644
index 0000000..e0929ca
--- /dev/null
+++ b/lib/terminfo/g/guru-nctxt
Binary files differ
diff --git a/lib/terminfo/g/guru-rv b/lib/terminfo/g/guru-rv
new file mode 100644
index 0000000..7602b52
--- /dev/null
+++ b/lib/terminfo/g/guru-rv
Binary files differ
diff --git a/lib/terminfo/g/guru-s b/lib/terminfo/g/guru-s
new file mode 100644
index 0000000..965ec36
--- /dev/null
+++ b/lib/terminfo/g/guru-s
Binary files differ
diff --git a/lib/terminfo/h/h-100 b/lib/terminfo/h/h-100
new file mode 120000
index 0000000..7bba3a2
--- /dev/null
+++ b/lib/terminfo/h/h-100
@@ -0,0 +1 @@
+../z/z100
\ No newline at end of file
diff --git a/lib/terminfo/h/h-100bw b/lib/terminfo/h/h-100bw
new file mode 120000
index 0000000..165a9c0
--- /dev/null
+++ b/lib/terminfo/h/h-100bw
@@ -0,0 +1 @@
+../z/z100bw
\ No newline at end of file
diff --git a/lib/terminfo/h/h100 b/lib/terminfo/h/h100
new file mode 120000
index 0000000..7bba3a2
--- /dev/null
+++ b/lib/terminfo/h/h100
@@ -0,0 +1 @@
+../z/z100
\ No newline at end of file
diff --git a/lib/terminfo/h/h100bw b/lib/terminfo/h/h100bw
new file mode 120000
index 0000000..165a9c0
--- /dev/null
+++ b/lib/terminfo/h/h100bw
@@ -0,0 +1 @@
+../z/z100bw
\ No newline at end of file
diff --git a/lib/terminfo/h/h19 b/lib/terminfo/h/h19
new file mode 100644
index 0000000..408f503
--- /dev/null
+++ b/lib/terminfo/h/h19
Binary files differ
diff --git a/lib/terminfo/h/h19-a b/lib/terminfo/h/h19-a
new file mode 100644
index 0000000..afa4b5a
--- /dev/null
+++ b/lib/terminfo/h/h19-a
Binary files differ
diff --git a/lib/terminfo/h/h19-b b/lib/terminfo/h/h19-b
new file mode 120000
index 0000000..7810800
--- /dev/null
+++ b/lib/terminfo/h/h19-b
@@ -0,0 +1 @@
+h19
\ No newline at end of file
diff --git a/lib/terminfo/h/h19-bs b/lib/terminfo/h/h19-bs
new file mode 100644
index 0000000..d2d395d
--- /dev/null
+++ b/lib/terminfo/h/h19-bs
Binary files differ
diff --git a/lib/terminfo/h/h19-g b/lib/terminfo/h/h19-g
new file mode 100644
index 0000000..17d0b14
--- /dev/null
+++ b/lib/terminfo/h/h19-g
Binary files differ
diff --git a/lib/terminfo/h/h19-smul b/lib/terminfo/h/h19-smul
new file mode 120000
index 0000000..cabe159
--- /dev/null
+++ b/lib/terminfo/h/h19-smul
@@ -0,0 +1 @@
+h19-us
\ No newline at end of file
diff --git a/lib/terminfo/h/h19-u b/lib/terminfo/h/h19-u
new file mode 100644
index 0000000..fac4381
--- /dev/null
+++ b/lib/terminfo/h/h19-u
Binary files differ
diff --git a/lib/terminfo/h/h19-us b/lib/terminfo/h/h19-us
new file mode 100644
index 0000000..ff8626e
--- /dev/null
+++ b/lib/terminfo/h/h19-us
Binary files differ
diff --git a/lib/terminfo/h/h19a b/lib/terminfo/h/h19a
new file mode 120000
index 0000000..0ba2e6f
--- /dev/null
+++ b/lib/terminfo/h/h19a
@@ -0,0 +1 @@
+h19-a
\ No newline at end of file
diff --git a/lib/terminfo/h/h19g b/lib/terminfo/h/h19g
new file mode 120000
index 0000000..db9ef0f
--- /dev/null
+++ b/lib/terminfo/h/h19g
@@ -0,0 +1 @@
+h19-g
\ No newline at end of file
diff --git a/lib/terminfo/h/h19k b/lib/terminfo/h/h19k
new file mode 100644
index 0000000..b0c6d51
--- /dev/null
+++ b/lib/terminfo/h/h19k
Binary files differ
diff --git a/lib/terminfo/h/h19kermit b/lib/terminfo/h/h19kermit
new file mode 120000
index 0000000..1c73626
--- /dev/null
+++ b/lib/terminfo/h/h19kermit
@@ -0,0 +1 @@
+h19k
\ No newline at end of file
diff --git a/lib/terminfo/h/h19us b/lib/terminfo/h/h19us
new file mode 120000
index 0000000..cabe159
--- /dev/null
+++ b/lib/terminfo/h/h19us
@@ -0,0 +1 @@
+h19-us
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-kc-bc b/lib/terminfo/h/h29a-kc-bc
new file mode 120000
index 0000000..388669b
--- /dev/null
+++ b/lib/terminfo/h/h29a-kc-bc
@@ -0,0 +1 @@
+../z/z29a
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-kc-uc b/lib/terminfo/h/h29a-kc-uc
new file mode 120000
index 0000000..503685f
--- /dev/null
+++ b/lib/terminfo/h/h29a-kc-uc
@@ -0,0 +1 @@
+../z/z29a-kc-uc
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-nkc-bc b/lib/terminfo/h/h29a-nkc-bc
new file mode 120000
index 0000000..76c72e0
--- /dev/null
+++ b/lib/terminfo/h/h29a-nkc-bc
@@ -0,0 +1 @@
+../z/z29a-nkc-bc
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-nkc-uc b/lib/terminfo/h/h29a-nkc-uc
new file mode 120000
index 0000000..93d2203
--- /dev/null
+++ b/lib/terminfo/h/h29a-nkc-uc
@@ -0,0 +1 @@
+../z/z29a-nkc-uc
\ No newline at end of file
diff --git a/lib/terminfo/h/h80 b/lib/terminfo/h/h80
new file mode 120000
index 0000000..ba58b45
--- /dev/null
+++ b/lib/terminfo/h/h80
@@ -0,0 +1 @@
+hazel
\ No newline at end of file
diff --git a/lib/terminfo/h/ha8675 b/lib/terminfo/h/ha8675
new file mode 100644
index 0000000..57a995b
--- /dev/null
+++ b/lib/terminfo/h/ha8675
Binary files differ
diff --git a/lib/terminfo/h/ha8686 b/lib/terminfo/h/ha8686
new file mode 100644
index 0000000..0a73f16
--- /dev/null
+++ b/lib/terminfo/h/ha8686
Binary files differ
diff --git a/lib/terminfo/h/hazel b/lib/terminfo/h/hazel
new file mode 100644
index 0000000..11f4af3
--- /dev/null
+++ b/lib/terminfo/h/hazel
Binary files differ
diff --git a/lib/terminfo/h/hds200 b/lib/terminfo/h/hds200
new file mode 100644
index 0000000..95a2612
--- /dev/null
+++ b/lib/terminfo/h/hds200
Binary files differ
diff --git a/lib/terminfo/h/he80 b/lib/terminfo/h/he80
new file mode 120000
index 0000000..ba58b45
--- /dev/null
+++ b/lib/terminfo/h/he80
@@ -0,0 +1 @@
+hazel
\ No newline at end of file
diff --git a/lib/terminfo/h/heath b/lib/terminfo/h/heath
new file mode 120000
index 0000000..7810800
--- /dev/null
+++ b/lib/terminfo/h/heath
@@ -0,0 +1 @@
+h19
\ No newline at end of file
diff --git a/lib/terminfo/h/heath-19 b/lib/terminfo/h/heath-19
new file mode 120000
index 0000000..7810800
--- /dev/null
+++ b/lib/terminfo/h/heath-19
@@ -0,0 +1 @@
+h19
\ No newline at end of file
diff --git a/lib/terminfo/h/heath-ansi b/lib/terminfo/h/heath-ansi
new file mode 120000
index 0000000..0ba2e6f
--- /dev/null
+++ b/lib/terminfo/h/heath-ansi
@@ -0,0 +1 @@
+h19-a
\ No newline at end of file
diff --git a/lib/terminfo/h/heathkit b/lib/terminfo/h/heathkit
new file mode 120000
index 0000000..7810800
--- /dev/null
+++ b/lib/terminfo/h/heathkit
@@ -0,0 +1 @@
+h19
\ No newline at end of file
diff --git a/lib/terminfo/h/heathkit-a b/lib/terminfo/h/heathkit-a
new file mode 120000
index 0000000..0ba2e6f
--- /dev/null
+++ b/lib/terminfo/h/heathkit-a
@@ -0,0 +1 @@
+h19-a
\ No newline at end of file
diff --git a/lib/terminfo/h/hft b/lib/terminfo/h/hft
new file mode 120000
index 0000000..67aa545
--- /dev/null
+++ b/lib/terminfo/h/hft
@@ -0,0 +1 @@
+../i/ibm5081
\ No newline at end of file
diff --git a/lib/terminfo/h/hft-c b/lib/terminfo/h/hft-c
new file mode 100644
index 0000000..5778800
--- /dev/null
+++ b/lib/terminfo/h/hft-c
Binary files differ
diff --git a/lib/terminfo/h/hft-c-old b/lib/terminfo/h/hft-c-old
new file mode 100644
index 0000000..a5eb1c1
--- /dev/null
+++ b/lib/terminfo/h/hft-c-old
Binary files differ
diff --git a/lib/terminfo/h/hft-old b/lib/terminfo/h/hft-old
new file mode 100644
index 0000000..ccf948d
--- /dev/null
+++ b/lib/terminfo/h/hft-old
Binary files differ
diff --git a/lib/terminfo/h/hirez100 b/lib/terminfo/h/hirez100
new file mode 100644
index 0000000..4e156ad
--- /dev/null
+++ b/lib/terminfo/h/hirez100
Binary files differ
diff --git a/lib/terminfo/h/hirez100-w b/lib/terminfo/h/hirez100-w
new file mode 100644
index 0000000..a91af72
--- /dev/null
+++ b/lib/terminfo/h/hirez100-w
Binary files differ
diff --git a/lib/terminfo/h/hmod1 b/lib/terminfo/h/hmod1
new file mode 100644
index 0000000..b8f0d0f
--- /dev/null
+++ b/lib/terminfo/h/hmod1
Binary files differ
diff --git a/lib/terminfo/h/hp b/lib/terminfo/h/hp
new file mode 120000
index 0000000..93c3b99
--- /dev/null
+++ b/lib/terminfo/h/hp
@@ -0,0 +1 @@
+hpgeneric
\ No newline at end of file
diff --git a/lib/terminfo/h/hp+arrows b/lib/terminfo/h/hp+arrows
new file mode 100644
index 0000000..dd00a14
--- /dev/null
+++ b/lib/terminfo/h/hp+arrows
Binary files differ
diff --git a/lib/terminfo/h/hp+color b/lib/terminfo/h/hp+color
new file mode 100644
index 0000000..ec96452
--- /dev/null
+++ b/lib/terminfo/h/hp+color
Binary files differ
diff --git a/lib/terminfo/h/hp+labels b/lib/terminfo/h/hp+labels
new file mode 100644
index 0000000..39e9a6f
--- /dev/null
+++ b/lib/terminfo/h/hp+labels
Binary files differ
diff --git a/lib/terminfo/h/hp+pfk+arrows b/lib/terminfo/h/hp+pfk+arrows
new file mode 100644
index 0000000..a936419
--- /dev/null
+++ b/lib/terminfo/h/hp+pfk+arrows
Binary files differ
diff --git a/lib/terminfo/h/hp+pfk+cr b/lib/terminfo/h/hp+pfk+cr
new file mode 100644
index 0000000..db7c3b3
--- /dev/null
+++ b/lib/terminfo/h/hp+pfk+cr
Binary files differ
diff --git a/lib/terminfo/h/hp+pfk-cr b/lib/terminfo/h/hp+pfk-cr
new file mode 100644
index 0000000..b3414a4
--- /dev/null
+++ b/lib/terminfo/h/hp+pfk-cr
Binary files differ
diff --git a/lib/terminfo/h/hp+printer b/lib/terminfo/h/hp+printer
new file mode 100644
index 0000000..29ef6e6
--- /dev/null
+++ b/lib/terminfo/h/hp+printer
Binary files differ
diff --git a/lib/terminfo/h/hp110 b/lib/terminfo/h/hp110
new file mode 100644
index 0000000..daf8929
--- /dev/null
+++ b/lib/terminfo/h/hp110
Binary files differ
diff --git a/lib/terminfo/h/hp150 b/lib/terminfo/h/hp150
new file mode 100644
index 0000000..1c8cb67
--- /dev/null
+++ b/lib/terminfo/h/hp150
Binary files differ
diff --git a/lib/terminfo/h/hp2 b/lib/terminfo/h/hp2
new file mode 100644
index 0000000..66b03cf
--- /dev/null
+++ b/lib/terminfo/h/hp2
Binary files differ
diff --git a/lib/terminfo/h/hp236 b/lib/terminfo/h/hp236
new file mode 100644
index 0000000..713202d
--- /dev/null
+++ b/lib/terminfo/h/hp236
Binary files differ
diff --git a/lib/terminfo/h/hp2382 b/lib/terminfo/h/hp2382
new file mode 120000
index 0000000..5a44cc8
--- /dev/null
+++ b/lib/terminfo/h/hp2382
@@ -0,0 +1 @@
+hp2382a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2382a b/lib/terminfo/h/hp2382a
new file mode 100644
index 0000000..4cf0078
--- /dev/null
+++ b/lib/terminfo/h/hp2382a
Binary files differ
diff --git a/lib/terminfo/h/hp2392 b/lib/terminfo/h/hp2392
new file mode 100644
index 0000000..8e9ff3a
--- /dev/null
+++ b/lib/terminfo/h/hp2392
Binary files differ
diff --git a/lib/terminfo/h/hp2397 b/lib/terminfo/h/hp2397
new file mode 120000
index 0000000..66ba1c7
--- /dev/null
+++ b/lib/terminfo/h/hp2397
@@ -0,0 +1 @@
+hp2397a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2397a b/lib/terminfo/h/hp2397a
new file mode 100644
index 0000000..8efcaf3
--- /dev/null
+++ b/lib/terminfo/h/hp2397a
Binary files differ
diff --git a/lib/terminfo/h/hp2621 b/lib/terminfo/h/hp2621
new file mode 100644
index 0000000..f70d25f
--- /dev/null
+++ b/lib/terminfo/h/hp2621
Binary files differ
diff --git a/lib/terminfo/h/hp2621-48 b/lib/terminfo/h/hp2621-48
new file mode 100644
index 0000000..1f490ae
--- /dev/null
+++ b/lib/terminfo/h/hp2621-48
Binary files differ
diff --git a/lib/terminfo/h/hp2621-a b/lib/terminfo/h/hp2621-a
new file mode 100644
index 0000000..6baa75c
--- /dev/null
+++ b/lib/terminfo/h/hp2621-a
Binary files differ
diff --git a/lib/terminfo/h/hp2621-ba b/lib/terminfo/h/hp2621-ba
new file mode 100644
index 0000000..c4cc331
--- /dev/null
+++ b/lib/terminfo/h/hp2621-ba
Binary files differ
diff --git a/lib/terminfo/h/hp2621-fl b/lib/terminfo/h/hp2621-fl
new file mode 100644
index 0000000..80b911d
--- /dev/null
+++ b/lib/terminfo/h/hp2621-fl
Binary files differ
diff --git a/lib/terminfo/h/hp2621-k45 b/lib/terminfo/h/hp2621-k45
new file mode 100644
index 0000000..721c09e
--- /dev/null
+++ b/lib/terminfo/h/hp2621-k45
Binary files differ
diff --git a/lib/terminfo/h/hp2621-nl b/lib/terminfo/h/hp2621-nl
new file mode 100644
index 0000000..a8a3591
--- /dev/null
+++ b/lib/terminfo/h/hp2621-nl
Binary files differ
diff --git a/lib/terminfo/h/hp2621-nt b/lib/terminfo/h/hp2621-nt
new file mode 100644
index 0000000..b480946
--- /dev/null
+++ b/lib/terminfo/h/hp2621-nt
Binary files differ
diff --git a/lib/terminfo/h/hp2621-wl b/lib/terminfo/h/hp2621-wl
new file mode 120000
index 0000000..3b57375
--- /dev/null
+++ b/lib/terminfo/h/hp2621-wl
@@ -0,0 +1 @@
+hp2621
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621A b/lib/terminfo/h/hp2621A
new file mode 120000
index 0000000..3b57375
--- /dev/null
+++ b/lib/terminfo/h/hp2621A
@@ -0,0 +1 @@
+hp2621
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621a b/lib/terminfo/h/hp2621a
new file mode 120000
index 0000000..3b57375
--- /dev/null
+++ b/lib/terminfo/h/hp2621a
@@ -0,0 +1 @@
+hp2621
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621a-a b/lib/terminfo/h/hp2621a-a
new file mode 120000
index 0000000..c63a4ec
--- /dev/null
+++ b/lib/terminfo/h/hp2621a-a
@@ -0,0 +1 @@
+hp2621-a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621b b/lib/terminfo/h/hp2621b
new file mode 100644
index 0000000..fa4fec7
--- /dev/null
+++ b/lib/terminfo/h/hp2621b
Binary files differ
diff --git a/lib/terminfo/h/hp2621b-kx b/lib/terminfo/h/hp2621b-kx
new file mode 100644
index 0000000..af4cee6
--- /dev/null
+++ b/lib/terminfo/h/hp2621b-kx
Binary files differ
diff --git a/lib/terminfo/h/hp2621b-kx-p b/lib/terminfo/h/hp2621b-kx-p
new file mode 100644
index 0000000..cb8550a
--- /dev/null
+++ b/lib/terminfo/h/hp2621b-kx-p
Binary files differ
diff --git a/lib/terminfo/h/hp2621b-p b/lib/terminfo/h/hp2621b-p
new file mode 100644
index 0000000..6b95df7
--- /dev/null
+++ b/lib/terminfo/h/hp2621b-p
Binary files differ
diff --git a/lib/terminfo/h/hp2621k45 b/lib/terminfo/h/hp2621k45
new file mode 120000
index 0000000..e8be3c9
--- /dev/null
+++ b/lib/terminfo/h/hp2621k45
@@ -0,0 +1 @@
+hp2621-k45
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621p b/lib/terminfo/h/hp2621p
new file mode 100644
index 0000000..cb82fea
--- /dev/null
+++ b/lib/terminfo/h/hp2621p
Binary files differ
diff --git a/lib/terminfo/h/hp2621p-a b/lib/terminfo/h/hp2621p-a
new file mode 100644
index 0000000..94207bf
--- /dev/null
+++ b/lib/terminfo/h/hp2621p-a
Binary files differ
diff --git a/lib/terminfo/h/hp2622 b/lib/terminfo/h/hp2622
new file mode 100644
index 0000000..82ebf21
--- /dev/null
+++ b/lib/terminfo/h/hp2622
Binary files differ
diff --git a/lib/terminfo/h/hp2622a b/lib/terminfo/h/hp2622a
new file mode 120000
index 0000000..9b25d77
--- /dev/null
+++ b/lib/terminfo/h/hp2622a
@@ -0,0 +1 @@
+hp2622
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2623 b/lib/terminfo/h/hp2623
new file mode 100644
index 0000000..213d113
--- /dev/null
+++ b/lib/terminfo/h/hp2623
Binary files differ
diff --git a/lib/terminfo/h/hp2623a b/lib/terminfo/h/hp2623a
new file mode 120000
index 0000000..a3549a1
--- /dev/null
+++ b/lib/terminfo/h/hp2623a
@@ -0,0 +1 @@
+hp2623
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624 b/lib/terminfo/h/hp2624
new file mode 100644
index 0000000..b5a829a
--- /dev/null
+++ b/lib/terminfo/h/hp2624
Binary files differ
diff --git a/lib/terminfo/h/hp2624-10p b/lib/terminfo/h/hp2624-10p
new file mode 100644
index 0000000..9cb5766
--- /dev/null
+++ b/lib/terminfo/h/hp2624-10p
Binary files differ
diff --git a/lib/terminfo/h/hp2624a b/lib/terminfo/h/hp2624a
new file mode 120000
index 0000000..e35de52
--- /dev/null
+++ b/lib/terminfo/h/hp2624a
@@ -0,0 +1 @@
+hp2624
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624a-10p b/lib/terminfo/h/hp2624a-10p
new file mode 120000
index 0000000..6f1a03a
--- /dev/null
+++ b/lib/terminfo/h/hp2624a-10p
@@ -0,0 +1 @@
+hp2624-10p
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b b/lib/terminfo/h/hp2624b
new file mode 120000
index 0000000..e35de52
--- /dev/null
+++ b/lib/terminfo/h/hp2624b
@@ -0,0 +1 @@
+hp2624
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-10p b/lib/terminfo/h/hp2624b-10p
new file mode 120000
index 0000000..6f1a03a
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-10p
@@ -0,0 +1 @@
+hp2624-10p
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-10p-p b/lib/terminfo/h/hp2624b-10p-p
new file mode 100644
index 0000000..bc348ac
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-10p-p
Binary files differ
diff --git a/lib/terminfo/h/hp2624b-4p b/lib/terminfo/h/hp2624b-4p
new file mode 120000
index 0000000..e35de52
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-4p
@@ -0,0 +1 @@
+hp2624
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-4p-p b/lib/terminfo/h/hp2624b-4p-p
new file mode 120000
index 0000000..9d9b144
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-4p-p
@@ -0,0 +1 @@
+hp2624b-p
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-p b/lib/terminfo/h/hp2624b-p
new file mode 100644
index 0000000..44d6740
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-p
Binary files differ
diff --git a/lib/terminfo/h/hp2626 b/lib/terminfo/h/hp2626
new file mode 100644
index 0000000..ee400c7
--- /dev/null
+++ b/lib/terminfo/h/hp2626
Binary files differ
diff --git a/lib/terminfo/h/hp2626-12 b/lib/terminfo/h/hp2626-12
new file mode 100644
index 0000000..258c3d2
--- /dev/null
+++ b/lib/terminfo/h/hp2626-12
Binary files differ
diff --git a/lib/terminfo/h/hp2626-12-s b/lib/terminfo/h/hp2626-12-s
new file mode 100644
index 0000000..386bd85
--- /dev/null
+++ b/lib/terminfo/h/hp2626-12-s
Binary files differ
diff --git a/lib/terminfo/h/hp2626-12x40 b/lib/terminfo/h/hp2626-12x40
new file mode 100644
index 0000000..9a7b10c
--- /dev/null
+++ b/lib/terminfo/h/hp2626-12x40
Binary files differ
diff --git a/lib/terminfo/h/hp2626-ns b/lib/terminfo/h/hp2626-ns
new file mode 100644
index 0000000..7bbf81b
--- /dev/null
+++ b/lib/terminfo/h/hp2626-ns
Binary files differ
diff --git a/lib/terminfo/h/hp2626-s b/lib/terminfo/h/hp2626-s
new file mode 100644
index 0000000..ade9a47
--- /dev/null
+++ b/lib/terminfo/h/hp2626-s
Binary files differ
diff --git a/lib/terminfo/h/hp2626-x40 b/lib/terminfo/h/hp2626-x40
new file mode 100644
index 0000000..dc8f8d0
--- /dev/null
+++ b/lib/terminfo/h/hp2626-x40
Binary files differ
diff --git a/lib/terminfo/h/hp2626a b/lib/terminfo/h/hp2626a
new file mode 120000
index 0000000..07e3377
--- /dev/null
+++ b/lib/terminfo/h/hp2626a
@@ -0,0 +1 @@
+hp2626
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2626p b/lib/terminfo/h/hp2626p
new file mode 120000
index 0000000..07e3377
--- /dev/null
+++ b/lib/terminfo/h/hp2626p
@@ -0,0 +1 @@
+hp2626
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2627a b/lib/terminfo/h/hp2627a
new file mode 100644
index 0000000..eb00534
--- /dev/null
+++ b/lib/terminfo/h/hp2627a
Binary files differ
diff --git a/lib/terminfo/h/hp2627a-rev b/lib/terminfo/h/hp2627a-rev
new file mode 100644
index 0000000..f5ba87a
--- /dev/null
+++ b/lib/terminfo/h/hp2627a-rev
Binary files differ
diff --git a/lib/terminfo/h/hp2627c b/lib/terminfo/h/hp2627c
new file mode 100644
index 0000000..2cc5a9b
--- /dev/null
+++ b/lib/terminfo/h/hp2627c
Binary files differ
diff --git a/lib/terminfo/h/hp262x b/lib/terminfo/h/hp262x
new file mode 100644
index 0000000..069aa6a
--- /dev/null
+++ b/lib/terminfo/h/hp262x
Binary files differ
diff --git a/lib/terminfo/h/hp2640a b/lib/terminfo/h/hp2640a
new file mode 100644
index 0000000..4db450d
--- /dev/null
+++ b/lib/terminfo/h/hp2640a
Binary files differ
diff --git a/lib/terminfo/h/hp2640b b/lib/terminfo/h/hp2640b
new file mode 100644
index 0000000..116ede3
--- /dev/null
+++ b/lib/terminfo/h/hp2640b
Binary files differ
diff --git a/lib/terminfo/h/hp2641a b/lib/terminfo/h/hp2641a
new file mode 100644
index 0000000..a490564
--- /dev/null
+++ b/lib/terminfo/h/hp2641a
Binary files differ
diff --git a/lib/terminfo/h/hp2644a b/lib/terminfo/h/hp2644a
new file mode 120000
index 0000000..74b52d3
--- /dev/null
+++ b/lib/terminfo/h/hp2644a
@@ -0,0 +1 @@
+hp2640b
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2645 b/lib/terminfo/h/hp2645
new file mode 100644
index 0000000..9cff16b
--- /dev/null
+++ b/lib/terminfo/h/hp2645
Binary files differ
diff --git a/lib/terminfo/h/hp2645a b/lib/terminfo/h/hp2645a
new file mode 120000
index 0000000..d58b556
--- /dev/null
+++ b/lib/terminfo/h/hp2645a
@@ -0,0 +1 @@
+hp2641a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2647a b/lib/terminfo/h/hp2647a
new file mode 120000
index 0000000..d58b556
--- /dev/null
+++ b/lib/terminfo/h/hp2647a
@@ -0,0 +1 @@
+hp2641a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2648 b/lib/terminfo/h/hp2648
new file mode 100644
index 0000000..d6208cb
--- /dev/null
+++ b/lib/terminfo/h/hp2648
Binary files differ
diff --git a/lib/terminfo/h/hp2648a b/lib/terminfo/h/hp2648a
new file mode 120000
index 0000000..597e951
--- /dev/null
+++ b/lib/terminfo/h/hp2648a
@@ -0,0 +1 @@
+hp2648
\ No newline at end of file
diff --git a/lib/terminfo/h/hp300h b/lib/terminfo/h/hp300h
new file mode 100644
index 0000000..7913c4c
--- /dev/null
+++ b/lib/terminfo/h/hp300h
Binary files differ
diff --git a/lib/terminfo/h/hp45 b/lib/terminfo/h/hp45
new file mode 120000
index 0000000..bfb3cb2
--- /dev/null
+++ b/lib/terminfo/h/hp45
@@ -0,0 +1 @@
+hp2645
\ No newline at end of file
diff --git a/lib/terminfo/h/hp700 b/lib/terminfo/h/hp700
new file mode 120000
index 0000000..94a27a1
--- /dev/null
+++ b/lib/terminfo/h/hp700
@@ -0,0 +1 @@
+hpansi
\ No newline at end of file
diff --git a/lib/terminfo/h/hp700-wy b/lib/terminfo/h/hp700-wy
new file mode 100644
index 0000000..1144f6c
--- /dev/null
+++ b/lib/terminfo/h/hp700-wy
Binary files differ
diff --git a/lib/terminfo/h/hp70092 b/lib/terminfo/h/hp70092
new file mode 100644
index 0000000..45f91b2
--- /dev/null
+++ b/lib/terminfo/h/hp70092
Binary files differ
diff --git a/lib/terminfo/h/hp70092A b/lib/terminfo/h/hp70092A
new file mode 120000
index 0000000..c47d4d7
--- /dev/null
+++ b/lib/terminfo/h/hp70092A
@@ -0,0 +1 @@
+hp70092
\ No newline at end of file
diff --git a/lib/terminfo/h/hp70092a b/lib/terminfo/h/hp70092a
new file mode 120000
index 0000000..c47d4d7
--- /dev/null
+++ b/lib/terminfo/h/hp70092a
@@ -0,0 +1 @@
+hp70092
\ No newline at end of file
diff --git a/lib/terminfo/h/hp9837 b/lib/terminfo/h/hp9837
new file mode 100644
index 0000000..7e57ca7
--- /dev/null
+++ b/lib/terminfo/h/hp9837
Binary files differ
diff --git a/lib/terminfo/h/hp9845 b/lib/terminfo/h/hp9845
new file mode 100644
index 0000000..ded5e9f
--- /dev/null
+++ b/lib/terminfo/h/hp9845
Binary files differ
diff --git a/lib/terminfo/h/hp98550 b/lib/terminfo/h/hp98550
new file mode 100644
index 0000000..903bcce
--- /dev/null
+++ b/lib/terminfo/h/hp98550
Binary files differ
diff --git a/lib/terminfo/h/hp98550a b/lib/terminfo/h/hp98550a
new file mode 120000
index 0000000..d31bff8
--- /dev/null
+++ b/lib/terminfo/h/hp98550a
@@ -0,0 +1 @@
+hp98550
\ No newline at end of file
diff --git a/lib/terminfo/h/hp98720 b/lib/terminfo/h/hp98720
new file mode 120000
index 0000000..601079c
--- /dev/null
+++ b/lib/terminfo/h/hp98720
@@ -0,0 +1 @@
+hp9837
\ No newline at end of file
diff --git a/lib/terminfo/h/hp98721 b/lib/terminfo/h/hp98721
new file mode 120000
index 0000000..601079c
--- /dev/null
+++ b/lib/terminfo/h/hp98721
@@ -0,0 +1 @@
+hp9837
\ No newline at end of file
diff --git a/lib/terminfo/h/hpansi b/lib/terminfo/h/hpansi
new file mode 100644
index 0000000..d7e9766
--- /dev/null
+++ b/lib/terminfo/h/hpansi
Binary files differ
diff --git a/lib/terminfo/h/hpex b/lib/terminfo/h/hpex
new file mode 100644
index 0000000..8c251d7
--- /dev/null
+++ b/lib/terminfo/h/hpex
Binary files differ
diff --git a/lib/terminfo/h/hpex2 b/lib/terminfo/h/hpex2
new file mode 120000
index 0000000..bb6735d
--- /dev/null
+++ b/lib/terminfo/h/hpex2
@@ -0,0 +1 @@
+hp2
\ No newline at end of file
diff --git a/lib/terminfo/h/hpgeneric b/lib/terminfo/h/hpgeneric
new file mode 100644
index 0000000..6e6886d
--- /dev/null
+++ b/lib/terminfo/h/hpgeneric
Binary files differ
diff --git a/lib/terminfo/h/hpsub b/lib/terminfo/h/hpsub
new file mode 100644
index 0000000..8f1ab98
--- /dev/null
+++ b/lib/terminfo/h/hpsub
Binary files differ
diff --git a/lib/terminfo/h/hpterm b/lib/terminfo/h/hpterm
new file mode 100644
index 0000000..abccffb
--- /dev/null
+++ b/lib/terminfo/h/hpterm
Binary files differ
diff --git a/lib/terminfo/h/hpterm-color b/lib/terminfo/h/hpterm-color
new file mode 100644
index 0000000..db2acc9
--- /dev/null
+++ b/lib/terminfo/h/hpterm-color
Binary files differ
diff --git a/lib/terminfo/h/htx11 b/lib/terminfo/h/htx11
new file mode 120000
index 0000000..10e0aa8
--- /dev/null
+++ b/lib/terminfo/h/htx11
@@ -0,0 +1 @@
+../z/ztx
\ No newline at end of file
diff --git a/lib/terminfo/h/hurd b/lib/terminfo/h/hurd
new file mode 100644
index 0000000..0327b91
--- /dev/null
+++ b/lib/terminfo/h/hurd
Binary files differ
diff --git a/lib/terminfo/h/hz1000 b/lib/terminfo/h/hz1000
new file mode 100644
index 0000000..902cedd
--- /dev/null
+++ b/lib/terminfo/h/hz1000
Binary files differ
diff --git a/lib/terminfo/h/hz1420 b/lib/terminfo/h/hz1420
new file mode 100644
index 0000000..28caf2e
--- /dev/null
+++ b/lib/terminfo/h/hz1420
Binary files differ
diff --git a/lib/terminfo/h/hz1500 b/lib/terminfo/h/hz1500
new file mode 100644
index 0000000..193818c
--- /dev/null
+++ b/lib/terminfo/h/hz1500
Binary files differ
diff --git a/lib/terminfo/h/hz1510 b/lib/terminfo/h/hz1510
new file mode 100644
index 0000000..69d1bdf
--- /dev/null
+++ b/lib/terminfo/h/hz1510
Binary files differ
diff --git a/lib/terminfo/h/hz1520 b/lib/terminfo/h/hz1520
new file mode 100644
index 0000000..32533bc
--- /dev/null
+++ b/lib/terminfo/h/hz1520
Binary files differ
diff --git a/lib/terminfo/h/hz1520-noesc b/lib/terminfo/h/hz1520-noesc
new file mode 100644
index 0000000..5124b5a
--- /dev/null
+++ b/lib/terminfo/h/hz1520-noesc
Binary files differ
diff --git a/lib/terminfo/h/hz1552 b/lib/terminfo/h/hz1552
new file mode 100644
index 0000000..24a9b6d
--- /dev/null
+++ b/lib/terminfo/h/hz1552
Binary files differ
diff --git a/lib/terminfo/h/hz1552-rv b/lib/terminfo/h/hz1552-rv
new file mode 100644
index 0000000..8b3f84d
--- /dev/null
+++ b/lib/terminfo/h/hz1552-rv
Binary files differ
diff --git a/lib/terminfo/h/hz2000 b/lib/terminfo/h/hz2000
new file mode 100644
index 0000000..947795d
--- /dev/null
+++ b/lib/terminfo/h/hz2000
Binary files differ
diff --git a/lib/terminfo/i/i100 b/lib/terminfo/i/i100
new file mode 100644
index 0000000..cc9ff85
--- /dev/null
+++ b/lib/terminfo/i/i100
Binary files differ
diff --git a/lib/terminfo/i/i3101 b/lib/terminfo/i/i3101
new file mode 120000
index 0000000..e589701
--- /dev/null
+++ b/lib/terminfo/i/i3101
@@ -0,0 +1 @@
+ibm3101
\ No newline at end of file
diff --git a/lib/terminfo/i/i3164 b/lib/terminfo/i/i3164
new file mode 120000
index 0000000..510cd16
--- /dev/null
+++ b/lib/terminfo/i/i3164
@@ -0,0 +1 @@
+ibm3164
\ No newline at end of file
diff --git a/lib/terminfo/i/i400 b/lib/terminfo/i/i400
new file mode 100644
index 0000000..0ebe858
--- /dev/null
+++ b/lib/terminfo/i/i400
Binary files differ
diff --git a/lib/terminfo/i/iTerm.app b/lib/terminfo/i/iTerm.app
new file mode 100644
index 0000000..34834fd
--- /dev/null
+++ b/lib/terminfo/i/iTerm.app
Binary files differ
diff --git a/lib/terminfo/i/ibcs2 b/lib/terminfo/i/ibcs2
new file mode 100644
index 0000000..3037fa4
--- /dev/null
+++ b/lib/terminfo/i/ibcs2
Binary files differ
diff --git a/lib/terminfo/i/ibm+16color b/lib/terminfo/i/ibm+16color
new file mode 100644
index 0000000..5641595
--- /dev/null
+++ b/lib/terminfo/i/ibm+16color
Binary files differ
diff --git a/lib/terminfo/i/ibm+color b/lib/terminfo/i/ibm+color
new file mode 100644
index 0000000..bb16054
--- /dev/null
+++ b/lib/terminfo/i/ibm+color
Binary files differ
diff --git a/lib/terminfo/i/ibm-apl b/lib/terminfo/i/ibm-apl
new file mode 100644
index 0000000..679a574
--- /dev/null
+++ b/lib/terminfo/i/ibm-apl
Binary files differ
diff --git a/lib/terminfo/i/ibm-pc b/lib/terminfo/i/ibm-pc
new file mode 100644
index 0000000..ec3766c
--- /dev/null
+++ b/lib/terminfo/i/ibm-pc
Binary files differ
diff --git a/lib/terminfo/i/ibm-system1 b/lib/terminfo/i/ibm-system1
new file mode 100644
index 0000000..4bfce21
--- /dev/null
+++ b/lib/terminfo/i/ibm-system1
Binary files differ
diff --git a/lib/terminfo/i/ibm3101 b/lib/terminfo/i/ibm3101
new file mode 100644
index 0000000..5c1853e
--- /dev/null
+++ b/lib/terminfo/i/ibm3101
Binary files differ
diff --git a/lib/terminfo/i/ibm3151 b/lib/terminfo/i/ibm3151
new file mode 100644
index 0000000..b6c078e
--- /dev/null
+++ b/lib/terminfo/i/ibm3151
Binary files differ
diff --git a/lib/terminfo/i/ibm3161 b/lib/terminfo/i/ibm3161
new file mode 100644
index 0000000..dad679d
--- /dev/null
+++ b/lib/terminfo/i/ibm3161
Binary files differ
diff --git a/lib/terminfo/i/ibm3161-C b/lib/terminfo/i/ibm3161-C
new file mode 100644
index 0000000..432a590
--- /dev/null
+++ b/lib/terminfo/i/ibm3161-C
Binary files differ
diff --git a/lib/terminfo/i/ibm3162 b/lib/terminfo/i/ibm3162
new file mode 100644
index 0000000..1f5b5f3
--- /dev/null
+++ b/lib/terminfo/i/ibm3162
Binary files differ
diff --git a/lib/terminfo/i/ibm3163 b/lib/terminfo/i/ibm3163
new file mode 120000
index 0000000..0dfbdae
--- /dev/null
+++ b/lib/terminfo/i/ibm3163
@@ -0,0 +1 @@
+ibm3161
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm3164 b/lib/terminfo/i/ibm3164
new file mode 100644
index 0000000..0b862b5
--- /dev/null
+++ b/lib/terminfo/i/ibm3164
Binary files differ
diff --git a/lib/terminfo/i/ibm327x b/lib/terminfo/i/ibm327x
new file mode 100644
index 0000000..2ba32ca
--- /dev/null
+++ b/lib/terminfo/i/ibm327x
Binary files differ
diff --git a/lib/terminfo/i/ibm5051 b/lib/terminfo/i/ibm5051
new file mode 120000
index 0000000..aa0b02f
--- /dev/null
+++ b/lib/terminfo/i/ibm5051
@@ -0,0 +1 @@
+ibm-pc
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm5081 b/lib/terminfo/i/ibm5081
new file mode 100644
index 0000000..8229fba
--- /dev/null
+++ b/lib/terminfo/i/ibm5081
Binary files differ
diff --git a/lib/terminfo/i/ibm5081-c b/lib/terminfo/i/ibm5081-c
new file mode 100644
index 0000000..abbdc03
--- /dev/null
+++ b/lib/terminfo/i/ibm5081-c
Binary files differ
diff --git a/lib/terminfo/i/ibm5151 b/lib/terminfo/i/ibm5151
new file mode 100644
index 0000000..377b3a0
--- /dev/null
+++ b/lib/terminfo/i/ibm5151
Binary files differ
diff --git a/lib/terminfo/i/ibm5154 b/lib/terminfo/i/ibm5154
new file mode 100644
index 0000000..5d94307
--- /dev/null
+++ b/lib/terminfo/i/ibm5154
Binary files differ
diff --git a/lib/terminfo/i/ibm5154-c b/lib/terminfo/i/ibm5154-c
new file mode 120000
index 0000000..31ace86
--- /dev/null
+++ b/lib/terminfo/i/ibm5154-c
@@ -0,0 +1 @@
+ibmega-c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm6153 b/lib/terminfo/i/ibm6153
new file mode 100644
index 0000000..21615b8
--- /dev/null
+++ b/lib/terminfo/i/ibm6153
Binary files differ
diff --git a/lib/terminfo/i/ibm6153-40 b/lib/terminfo/i/ibm6153-40
new file mode 100644
index 0000000..bebd569
--- /dev/null
+++ b/lib/terminfo/i/ibm6153-40
Binary files differ
diff --git a/lib/terminfo/i/ibm6153-90 b/lib/terminfo/i/ibm6153-90
new file mode 100644
index 0000000..df9a691
--- /dev/null
+++ b/lib/terminfo/i/ibm6153-90
Binary files differ
diff --git a/lib/terminfo/i/ibm6154 b/lib/terminfo/i/ibm6154
new file mode 100644
index 0000000..a723b30
--- /dev/null
+++ b/lib/terminfo/i/ibm6154
Binary files differ
diff --git a/lib/terminfo/i/ibm6154-c b/lib/terminfo/i/ibm6154-c
new file mode 120000
index 0000000..be300b2
--- /dev/null
+++ b/lib/terminfo/i/ibm6154-c
@@ -0,0 +1 @@
+ibmapa8c-c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm6155 b/lib/terminfo/i/ibm6155
new file mode 100644
index 0000000..8a9fec7
--- /dev/null
+++ b/lib/terminfo/i/ibm6155
Binary files differ
diff --git a/lib/terminfo/i/ibm8503 b/lib/terminfo/i/ibm8503
new file mode 100644
index 0000000..4870e23
--- /dev/null
+++ b/lib/terminfo/i/ibm8503
Binary files differ
diff --git a/lib/terminfo/i/ibm8507 b/lib/terminfo/i/ibm8507
new file mode 120000
index 0000000..a06edd0
--- /dev/null
+++ b/lib/terminfo/i/ibm8507
@@ -0,0 +1 @@
+ibm8503
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm8512 b/lib/terminfo/i/ibm8512
new file mode 100644
index 0000000..fd97cbe
--- /dev/null
+++ b/lib/terminfo/i/ibm8512
Binary files differ
diff --git a/lib/terminfo/i/ibm8513 b/lib/terminfo/i/ibm8513
new file mode 120000
index 0000000..6203693
--- /dev/null
+++ b/lib/terminfo/i/ibm8513
@@ -0,0 +1 @@
+ibm8512
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm8514 b/lib/terminfo/i/ibm8514
new file mode 100644
index 0000000..63ddfe3
--- /dev/null
+++ b/lib/terminfo/i/ibm8514
Binary files differ
diff --git a/lib/terminfo/i/ibm8514-c b/lib/terminfo/i/ibm8514-c
new file mode 100644
index 0000000..5d2de43
--- /dev/null
+++ b/lib/terminfo/i/ibm8514-c
Binary files differ
diff --git a/lib/terminfo/i/ibm8604 b/lib/terminfo/i/ibm8604
new file mode 120000
index 0000000..a06edd0
--- /dev/null
+++ b/lib/terminfo/i/ibm8604
@@ -0,0 +1 @@
+ibm8503
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmaed b/lib/terminfo/i/ibmaed
new file mode 100644
index 0000000..227d0f1
--- /dev/null
+++ b/lib/terminfo/i/ibmaed
Binary files differ
diff --git a/lib/terminfo/i/ibmapa16 b/lib/terminfo/i/ibmapa16
new file mode 120000
index 0000000..e687433
--- /dev/null
+++ b/lib/terminfo/i/ibmapa16
@@ -0,0 +1 @@
+../r/rtpc
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmapa8 b/lib/terminfo/i/ibmapa8
new file mode 120000
index 0000000..7f5e24a
--- /dev/null
+++ b/lib/terminfo/i/ibmapa8
@@ -0,0 +1 @@
+ibmapa8c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmapa8c b/lib/terminfo/i/ibmapa8c
new file mode 100644
index 0000000..9be7016
--- /dev/null
+++ b/lib/terminfo/i/ibmapa8c
Binary files differ
diff --git a/lib/terminfo/i/ibmapa8c-c b/lib/terminfo/i/ibmapa8c-c
new file mode 100644
index 0000000..5f9b30a
--- /dev/null
+++ b/lib/terminfo/i/ibmapa8c-c
Binary files differ
diff --git a/lib/terminfo/i/ibmega b/lib/terminfo/i/ibmega
new file mode 100644
index 0000000..cf32159
--- /dev/null
+++ b/lib/terminfo/i/ibmega
Binary files differ
diff --git a/lib/terminfo/i/ibmega-c b/lib/terminfo/i/ibmega-c
new file mode 100644
index 0000000..f7fce9a
--- /dev/null
+++ b/lib/terminfo/i/ibmega-c
Binary files differ
diff --git a/lib/terminfo/i/ibmmono b/lib/terminfo/i/ibmmono
new file mode 100644
index 0000000..660bbc4
--- /dev/null
+++ b/lib/terminfo/i/ibmmono
Binary files differ
diff --git a/lib/terminfo/i/ibmmpel-c b/lib/terminfo/i/ibmmpel-c
new file mode 120000
index 0000000..5523c50
--- /dev/null
+++ b/lib/terminfo/i/ibmmpel-c
@@ -0,0 +1 @@
+ibm5081-c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmpc b/lib/terminfo/i/ibmpc
new file mode 100644
index 0000000..492a68a
--- /dev/null
+++ b/lib/terminfo/i/ibmpc
Binary files differ
diff --git a/lib/terminfo/i/ibmpc3 b/lib/terminfo/i/ibmpc3
new file mode 100644
index 0000000..79d992d
--- /dev/null
+++ b/lib/terminfo/i/ibmpc3
Binary files differ
diff --git a/lib/terminfo/i/ibmpc3r b/lib/terminfo/i/ibmpc3r
new file mode 120000
index 0000000..49171c0
--- /dev/null
+++ b/lib/terminfo/i/ibmpc3r
@@ -0,0 +1 @@
+../c/cons25r
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmpc3r-mono b/lib/terminfo/i/ibmpc3r-mono
new file mode 120000
index 0000000..bd709b5
--- /dev/null
+++ b/lib/terminfo/i/ibmpc3r-mono
@@ -0,0 +1 @@
+../c/cons25r-m
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmpcx b/lib/terminfo/i/ibmpcx
new file mode 100644
index 0000000..86e3056
--- /dev/null
+++ b/lib/terminfo/i/ibmpcx
Binary files differ
diff --git a/lib/terminfo/i/ibmvga b/lib/terminfo/i/ibmvga
new file mode 100644
index 0000000..4b94cf1
--- /dev/null
+++ b/lib/terminfo/i/ibmvga
Binary files differ
diff --git a/lib/terminfo/i/ibmvga-c b/lib/terminfo/i/ibmvga-c
new file mode 100644
index 0000000..2cc5b8e
--- /dev/null
+++ b/lib/terminfo/i/ibmvga-c
Binary files differ
diff --git a/lib/terminfo/i/ibmx b/lib/terminfo/i/ibmx
new file mode 120000
index 0000000..fbc0e05
--- /dev/null
+++ b/lib/terminfo/i/ibmx
@@ -0,0 +1 @@
+ibmpcx
\ No newline at end of file
diff --git a/lib/terminfo/i/icl6402 b/lib/terminfo/i/icl6402
new file mode 120000
index 0000000..c47616d
--- /dev/null
+++ b/lib/terminfo/i/icl6402
@@ -0,0 +1 @@
+icl6404
\ No newline at end of file
diff --git a/lib/terminfo/i/icl6404 b/lib/terminfo/i/icl6404
new file mode 100644
index 0000000..6a77452
--- /dev/null
+++ b/lib/terminfo/i/icl6404
Binary files differ
diff --git a/lib/terminfo/i/icl6404-w b/lib/terminfo/i/icl6404-w
new file mode 100644
index 0000000..f2abf0e
--- /dev/null
+++ b/lib/terminfo/i/icl6404-w
Binary files differ
diff --git a/lib/terminfo/i/ifmr b/lib/terminfo/i/ifmr
new file mode 100644
index 0000000..0682dcb
--- /dev/null
+++ b/lib/terminfo/i/ifmr
Binary files differ
diff --git a/lib/terminfo/i/ims-ansi b/lib/terminfo/i/ims-ansi
new file mode 100644
index 0000000..9799627
--- /dev/null
+++ b/lib/terminfo/i/ims-ansi
Binary files differ
diff --git a/lib/terminfo/i/ims950 b/lib/terminfo/i/ims950
new file mode 100644
index 0000000..87d978c
--- /dev/null
+++ b/lib/terminfo/i/ims950
Binary files differ
diff --git a/lib/terminfo/i/ims950-b b/lib/terminfo/i/ims950-b
new file mode 100644
index 0000000..66049a9
--- /dev/null
+++ b/lib/terminfo/i/ims950-b
Binary files differ
diff --git a/lib/terminfo/i/ims950-rv b/lib/terminfo/i/ims950-rv
new file mode 100644
index 0000000..2fb56d2
--- /dev/null
+++ b/lib/terminfo/i/ims950-rv
Binary files differ
diff --git a/lib/terminfo/i/infoton b/lib/terminfo/i/infoton
new file mode 100644
index 0000000..ddc509b
--- /dev/null
+++ b/lib/terminfo/i/infoton
Binary files differ
diff --git a/lib/terminfo/i/interix b/lib/terminfo/i/interix
new file mode 100644
index 0000000..753a86b
--- /dev/null
+++ b/lib/terminfo/i/interix
Binary files differ
diff --git a/lib/terminfo/i/interix-nti b/lib/terminfo/i/interix-nti
new file mode 100644
index 0000000..cd31fd8
--- /dev/null
+++ b/lib/terminfo/i/interix-nti
Binary files differ
diff --git a/lib/terminfo/i/intertec b/lib/terminfo/i/intertec
new file mode 120000
index 0000000..ec8d40b
--- /dev/null
+++ b/lib/terminfo/i/intertec
@@ -0,0 +1 @@
+intertube
\ No newline at end of file
diff --git a/lib/terminfo/i/intertube b/lib/terminfo/i/intertube
new file mode 100644
index 0000000..5ff0138
--- /dev/null
+++ b/lib/terminfo/i/intertube
Binary files differ
diff --git a/lib/terminfo/i/intertube2 b/lib/terminfo/i/intertube2
new file mode 100644
index 0000000..c1bb3b2
--- /dev/null
+++ b/lib/terminfo/i/intertube2
Binary files differ
diff --git a/lib/terminfo/i/intext b/lib/terminfo/i/intext
new file mode 100644
index 0000000..8f07ba6
--- /dev/null
+++ b/lib/terminfo/i/intext
Binary files differ
diff --git a/lib/terminfo/i/intext2 b/lib/terminfo/i/intext2
new file mode 100644
index 0000000..7641983
--- /dev/null
+++ b/lib/terminfo/i/intext2
Binary files differ
diff --git a/lib/terminfo/i/intextii b/lib/terminfo/i/intextii
new file mode 120000
index 0000000..749ed23
--- /dev/null
+++ b/lib/terminfo/i/intextii
@@ -0,0 +1 @@
+intext2
\ No newline at end of file
diff --git a/lib/terminfo/i/ips b/lib/terminfo/i/ips
new file mode 120000
index 0000000..a9b0f8e
--- /dev/null
+++ b/lib/terminfo/i/ips
@@ -0,0 +1 @@
+../c/citoh-prop
\ No newline at end of file
diff --git a/lib/terminfo/i/ipsi b/lib/terminfo/i/ipsi
new file mode 120000
index 0000000..9e8d8c3
--- /dev/null
+++ b/lib/terminfo/i/ipsi
@@ -0,0 +1 @@
+../d/diablo1620
\ No newline at end of file
diff --git a/lib/terminfo/i/iq120 b/lib/terminfo/i/iq120
new file mode 120000
index 0000000..7c28c58
--- /dev/null
+++ b/lib/terminfo/i/iq120
@@ -0,0 +1 @@
+../s/soroc120
\ No newline at end of file
diff --git a/lib/terminfo/i/iq140 b/lib/terminfo/i/iq140
new file mode 120000
index 0000000..223672b
--- /dev/null
+++ b/lib/terminfo/i/iq140
@@ -0,0 +1 @@
+../s/soroc140
\ No newline at end of file
diff --git a/lib/terminfo/i/iris-ansi b/lib/terminfo/i/iris-ansi
new file mode 100644
index 0000000..f011423
--- /dev/null
+++ b/lib/terminfo/i/iris-ansi
Binary files differ
diff --git a/lib/terminfo/i/iris-ansi-ap b/lib/terminfo/i/iris-ansi-ap
new file mode 100644
index 0000000..445fc95
--- /dev/null
+++ b/lib/terminfo/i/iris-ansi-ap
Binary files differ
diff --git a/lib/terminfo/i/iris-ansi-net b/lib/terminfo/i/iris-ansi-net
new file mode 120000
index 0000000..4bfebc5
--- /dev/null
+++ b/lib/terminfo/i/iris-ansi-net
@@ -0,0 +1 @@
+iris-ansi
\ No newline at end of file
diff --git a/lib/terminfo/i/iris-color b/lib/terminfo/i/iris-color
new file mode 100644
index 0000000..166c601
--- /dev/null
+++ b/lib/terminfo/i/iris-color
Binary files differ
diff --git a/lib/terminfo/i/iris40 b/lib/terminfo/i/iris40
new file mode 120000
index 0000000..6aa955d
--- /dev/null
+++ b/lib/terminfo/i/iris40
@@ -0,0 +1 @@
+../w/wsiris
\ No newline at end of file
diff --git a/lib/terminfo/i/iterm b/lib/terminfo/i/iterm
new file mode 120000
index 0000000..2597dc7
--- /dev/null
+++ b/lib/terminfo/i/iterm
@@ -0,0 +1 @@
+iTerm.app
\ No newline at end of file
diff --git a/lib/terminfo/j/jaixterm b/lib/terminfo/j/jaixterm
new file mode 100644
index 0000000..8a0c3ed
--- /dev/null
+++ b/lib/terminfo/j/jaixterm
Binary files differ
diff --git a/lib/terminfo/j/jaixterm-m b/lib/terminfo/j/jaixterm-m
new file mode 100644
index 0000000..98a0962
--- /dev/null
+++ b/lib/terminfo/j/jaixterm-m
Binary files differ
diff --git a/lib/terminfo/j/jerq b/lib/terminfo/j/jerq
new file mode 120000
index 0000000..9717119
--- /dev/null
+++ b/lib/terminfo/j/jerq
@@ -0,0 +1 @@
+../b/blit
\ No newline at end of file
diff --git a/lib/terminfo/j/jfbterm b/lib/terminfo/j/jfbterm
new file mode 120000
index 0000000..b66532e
--- /dev/null
+++ b/lib/terminfo/j/jfbterm
@@ -0,0 +1 @@
+../k/kon
\ No newline at end of file
diff --git a/lib/terminfo/k/k45 b/lib/terminfo/k/k45
new file mode 120000
index 0000000..b05e7f1
--- /dev/null
+++ b/lib/terminfo/k/k45
@@ -0,0 +1 @@
+../h/hp2621-k45
\ No newline at end of file
diff --git a/lib/terminfo/k/kaypro b/lib/terminfo/k/kaypro
new file mode 100644
index 0000000..b12807e
--- /dev/null
+++ b/lib/terminfo/k/kaypro
Binary files differ
diff --git a/lib/terminfo/k/kaypro2 b/lib/terminfo/k/kaypro2
new file mode 120000
index 0000000..5955a59
--- /dev/null
+++ b/lib/terminfo/k/kaypro2
@@ -0,0 +1 @@
+kaypro
\ No newline at end of file
diff --git a/lib/terminfo/k/kds6402 b/lib/terminfo/k/kds6402
new file mode 120000
index 0000000..c3c9e25
--- /dev/null
+++ b/lib/terminfo/k/kds6402
@@ -0,0 +1 @@
+../i/icl6404
\ No newline at end of file
diff --git a/lib/terminfo/k/kds7372 b/lib/terminfo/k/kds7372
new file mode 120000
index 0000000..c3c9e25
--- /dev/null
+++ b/lib/terminfo/k/kds7372
@@ -0,0 +1 @@
+../i/icl6404
\ No newline at end of file
diff --git a/lib/terminfo/k/kds7372-w b/lib/terminfo/k/kds7372-w
new file mode 120000
index 0000000..7636c59
--- /dev/null
+++ b/lib/terminfo/k/kds7372-w
@@ -0,0 +1 @@
+../i/icl6404-w
\ No newline at end of file
diff --git a/lib/terminfo/k/kermit b/lib/terminfo/k/kermit
new file mode 100644
index 0000000..6cad0d0
--- /dev/null
+++ b/lib/terminfo/k/kermit
Binary files differ
diff --git a/lib/terminfo/k/kermit-am b/lib/terminfo/k/kermit-am
new file mode 100644
index 0000000..4c10204
--- /dev/null
+++ b/lib/terminfo/k/kermit-am
Binary files differ
diff --git a/lib/terminfo/k/klone+acs b/lib/terminfo/k/klone+acs
new file mode 100644
index 0000000..666ca02
--- /dev/null
+++ b/lib/terminfo/k/klone+acs
Binary files differ
diff --git a/lib/terminfo/k/klone+color b/lib/terminfo/k/klone+color
new file mode 100644
index 0000000..ade6b7c
--- /dev/null
+++ b/lib/terminfo/k/klone+color
Binary files differ
diff --git a/lib/terminfo/k/klone+koi8acs b/lib/terminfo/k/klone+koi8acs
new file mode 100644
index 0000000..23edc40
--- /dev/null
+++ b/lib/terminfo/k/klone+koi8acs
Binary files differ
diff --git a/lib/terminfo/k/klone+sgr b/lib/terminfo/k/klone+sgr
new file mode 100644
index 0000000..c26151b
--- /dev/null
+++ b/lib/terminfo/k/klone+sgr
Binary files differ
diff --git a/lib/terminfo/k/klone+sgr-dumb b/lib/terminfo/k/klone+sgr-dumb
new file mode 100644
index 0000000..a4eed49
--- /dev/null
+++ b/lib/terminfo/k/klone+sgr-dumb
Binary files differ
diff --git a/lib/terminfo/k/klone+sgr8 b/lib/terminfo/k/klone+sgr8
new file mode 100644
index 0000000..15e63a3
--- /dev/null
+++ b/lib/terminfo/k/klone+sgr8
Binary files differ
diff --git a/lib/terminfo/k/kon b/lib/terminfo/k/kon
new file mode 100644
index 0000000..b7027dd
--- /dev/null
+++ b/lib/terminfo/k/kon
Binary files differ
diff --git a/lib/terminfo/k/kon2 b/lib/terminfo/k/kon2
new file mode 120000
index 0000000..4104f79
--- /dev/null
+++ b/lib/terminfo/k/kon2
@@ -0,0 +1 @@
+kon
\ No newline at end of file
diff --git a/lib/terminfo/k/konsole b/lib/terminfo/k/konsole
new file mode 100644
index 0000000..68723b0
--- /dev/null
+++ b/lib/terminfo/k/konsole
Binary files differ
diff --git a/lib/terminfo/k/konsole+pcfkeys b/lib/terminfo/k/konsole+pcfkeys
new file mode 100644
index 0000000..5a955e8
--- /dev/null
+++ b/lib/terminfo/k/konsole+pcfkeys
Binary files differ
diff --git a/lib/terminfo/k/konsole-16color b/lib/terminfo/k/konsole-16color
new file mode 100644
index 0000000..4898433
--- /dev/null
+++ b/lib/terminfo/k/konsole-16color
Binary files differ
diff --git a/lib/terminfo/k/konsole-256color b/lib/terminfo/k/konsole-256color
new file mode 100644
index 0000000..d104976
--- /dev/null
+++ b/lib/terminfo/k/konsole-256color
Binary files differ
diff --git a/lib/terminfo/k/konsole-base b/lib/terminfo/k/konsole-base
new file mode 100644
index 0000000..3c23f14
--- /dev/null
+++ b/lib/terminfo/k/konsole-base
Binary files differ
diff --git a/lib/terminfo/k/konsole-linux b/lib/terminfo/k/konsole-linux
new file mode 100644
index 0000000..247bbd2
--- /dev/null
+++ b/lib/terminfo/k/konsole-linux
Binary files differ
diff --git a/lib/terminfo/k/konsole-solaris b/lib/terminfo/k/konsole-solaris
new file mode 100644
index 0000000..1e9a0a1
--- /dev/null
+++ b/lib/terminfo/k/konsole-solaris
Binary files differ
diff --git a/lib/terminfo/k/konsole-vt100 b/lib/terminfo/k/konsole-vt100
new file mode 100644
index 0000000..a23b1e4
--- /dev/null
+++ b/lib/terminfo/k/konsole-vt100
Binary files differ
diff --git a/lib/terminfo/k/konsole-vt420pc b/lib/terminfo/k/konsole-vt420pc
new file mode 100644
index 0000000..5d552f0
--- /dev/null
+++ b/lib/terminfo/k/konsole-vt420pc
Binary files differ
diff --git a/lib/terminfo/k/konsole-xf3x b/lib/terminfo/k/konsole-xf3x
new file mode 100644
index 0000000..edc47fb
--- /dev/null
+++ b/lib/terminfo/k/konsole-xf3x
Binary files differ
diff --git a/lib/terminfo/k/konsole-xf4x b/lib/terminfo/k/konsole-xf4x
new file mode 100644
index 0000000..6f98bc7
--- /dev/null
+++ b/lib/terminfo/k/konsole-xf4x
Binary files differ
diff --git a/lib/terminfo/k/kt7 b/lib/terminfo/k/kt7
new file mode 100644
index 0000000..2f40d64
--- /dev/null
+++ b/lib/terminfo/k/kt7
Binary files differ
diff --git a/lib/terminfo/k/kt7ix b/lib/terminfo/k/kt7ix
new file mode 100644
index 0000000..de66a9b
--- /dev/null
+++ b/lib/terminfo/k/kt7ix
Binary files differ
diff --git a/lib/terminfo/k/kterm b/lib/terminfo/k/kterm
new file mode 100644
index 0000000..0cbc276
--- /dev/null
+++ b/lib/terminfo/k/kterm
Binary files differ
diff --git a/lib/terminfo/k/kterm-co b/lib/terminfo/k/kterm-co
new file mode 120000
index 0000000..6a9274e
--- /dev/null
+++ b/lib/terminfo/k/kterm-co
@@ -0,0 +1 @@
+kterm-color
\ No newline at end of file
diff --git a/lib/terminfo/k/kterm-color b/lib/terminfo/k/kterm-color
new file mode 100644
index 0000000..a926600
--- /dev/null
+++ b/lib/terminfo/k/kterm-color
Binary files differ
diff --git a/lib/terminfo/k/ktm b/lib/terminfo/k/ktm
new file mode 120000
index 0000000..453302c
--- /dev/null
+++ b/lib/terminfo/k/ktm
@@ -0,0 +1 @@
+../s/synertek
\ No newline at end of file
diff --git a/lib/terminfo/k/kvt b/lib/terminfo/k/kvt
new file mode 100644
index 0000000..417baea
--- /dev/null
+++ b/lib/terminfo/k/kvt
Binary files differ
diff --git a/lib/terminfo/l/la120 b/lib/terminfo/l/la120
new file mode 120000
index 0000000..a95181e
--- /dev/null
+++ b/lib/terminfo/l/la120
@@ -0,0 +1 @@
+../d/dw3
\ No newline at end of file
diff --git a/lib/terminfo/l/layer b/lib/terminfo/l/layer
new file mode 120000
index 0000000..8bca378
--- /dev/null
+++ b/lib/terminfo/l/layer
@@ -0,0 +1 @@
+../a/att5620-s
\ No newline at end of file
diff --git a/lib/terminfo/l/lft b/lib/terminfo/l/lft
new file mode 100644
index 0000000..20c5b42
--- /dev/null
+++ b/lib/terminfo/l/lft
Binary files differ
diff --git a/lib/terminfo/l/lft-pc850 b/lib/terminfo/l/lft-pc850
new file mode 120000
index 0000000..fa6aee3
--- /dev/null
+++ b/lib/terminfo/l/lft-pc850
@@ -0,0 +1 @@
+lft
\ No newline at end of file
diff --git a/lib/terminfo/l/linux b/lib/terminfo/l/linux
new file mode 100644
index 0000000..b458ffa
--- /dev/null
+++ b/lib/terminfo/l/linux
Binary files differ
diff --git a/lib/terminfo/l/linux-16color b/lib/terminfo/l/linux-16color
new file mode 100644
index 0000000..8c2e476
--- /dev/null
+++ b/lib/terminfo/l/linux-16color
Binary files differ
diff --git a/lib/terminfo/l/linux-basic b/lib/terminfo/l/linux-basic
new file mode 100644
index 0000000..4f23cb9
--- /dev/null
+++ b/lib/terminfo/l/linux-basic
Binary files differ
diff --git a/lib/terminfo/l/linux-c b/lib/terminfo/l/linux-c
new file mode 100644
index 0000000..aa66f83
--- /dev/null
+++ b/lib/terminfo/l/linux-c
Binary files differ
diff --git a/lib/terminfo/l/linux-c-nc b/lib/terminfo/l/linux-c-nc
new file mode 100644
index 0000000..da344e0
--- /dev/null
+++ b/lib/terminfo/l/linux-c-nc
Binary files differ
diff --git a/lib/terminfo/l/linux-koi8 b/lib/terminfo/l/linux-koi8
new file mode 100644
index 0000000..1333f2d
--- /dev/null
+++ b/lib/terminfo/l/linux-koi8
Binary files differ
diff --git a/lib/terminfo/l/linux-koi8r b/lib/terminfo/l/linux-koi8r
new file mode 100644
index 0000000..e3cb2a1
--- /dev/null
+++ b/lib/terminfo/l/linux-koi8r
Binary files differ
diff --git a/lib/terminfo/l/linux-lat b/lib/terminfo/l/linux-lat
new file mode 100644
index 0000000..9a428f9
--- /dev/null
+++ b/lib/terminfo/l/linux-lat
Binary files differ
diff --git a/lib/terminfo/l/linux-m b/lib/terminfo/l/linux-m
new file mode 100644
index 0000000..65d4180
--- /dev/null
+++ b/lib/terminfo/l/linux-m
Binary files differ
diff --git a/lib/terminfo/l/linux-nic b/lib/terminfo/l/linux-nic
new file mode 100644
index 0000000..84458a5
--- /dev/null
+++ b/lib/terminfo/l/linux-nic
Binary files differ
diff --git a/lib/terminfo/l/linux-vt b/lib/terminfo/l/linux-vt
new file mode 100644
index 0000000..42df50d
--- /dev/null
+++ b/lib/terminfo/l/linux-vt
Binary files differ
diff --git a/lib/terminfo/l/linux2.2 b/lib/terminfo/l/linux2.2
new file mode 100644
index 0000000..8656939
--- /dev/null
+++ b/lib/terminfo/l/linux2.2
Binary files differ
diff --git a/lib/terminfo/l/linux2.6 b/lib/terminfo/l/linux2.6
new file mode 100644
index 0000000..4560270
--- /dev/null
+++ b/lib/terminfo/l/linux2.6
Binary files differ
diff --git a/lib/terminfo/l/linux2.6.26 b/lib/terminfo/l/linux2.6.26
new file mode 100644
index 0000000..7b9db46
--- /dev/null
+++ b/lib/terminfo/l/linux2.6.26
Binary files differ
diff --git a/lib/terminfo/l/linux3.0 b/lib/terminfo/l/linux3.0
new file mode 100644
index 0000000..c61f696
--- /dev/null
+++ b/lib/terminfo/l/linux3.0
Binary files differ
diff --git a/lib/terminfo/l/lisa b/lib/terminfo/l/lisa
new file mode 100644
index 0000000..7faa0bb
--- /dev/null
+++ b/lib/terminfo/l/lisa
Binary files differ
diff --git a/lib/terminfo/l/lisaterm b/lib/terminfo/l/lisaterm
new file mode 100644
index 0000000..f812d62
--- /dev/null
+++ b/lib/terminfo/l/lisaterm
Binary files differ
diff --git a/lib/terminfo/l/lisaterm-w b/lib/terminfo/l/lisaterm-w
new file mode 100644
index 0000000..2914351
--- /dev/null
+++ b/lib/terminfo/l/lisaterm-w
Binary files differ
diff --git a/lib/terminfo/l/liswb b/lib/terminfo/l/liswb
new file mode 100644
index 0000000..139fa7c
--- /dev/null
+++ b/lib/terminfo/l/liswb
Binary files differ
diff --git a/lib/terminfo/l/ln03 b/lib/terminfo/l/ln03
new file mode 100644
index 0000000..fa1531c
--- /dev/null
+++ b/lib/terminfo/l/ln03
Binary files differ
diff --git a/lib/terminfo/l/ln03-w b/lib/terminfo/l/ln03-w
new file mode 100644
index 0000000..c18b3ad
--- /dev/null
+++ b/lib/terminfo/l/ln03-w
Binary files differ
diff --git a/lib/terminfo/l/lpr b/lib/terminfo/l/lpr
new file mode 100644
index 0000000..279e1e8
--- /dev/null
+++ b/lib/terminfo/l/lpr
Binary files differ
diff --git a/lib/terminfo/l/luna b/lib/terminfo/l/luna
new file mode 100644
index 0000000..c9a18a8
--- /dev/null
+++ b/lib/terminfo/l/luna
Binary files differ
diff --git a/lib/terminfo/l/luna68k b/lib/terminfo/l/luna68k
new file mode 120000
index 0000000..625f951
--- /dev/null
+++ b/lib/terminfo/l/luna68k
@@ -0,0 +1 @@
+luna
\ No newline at end of file
diff --git a/lib/terminfo/m/m2-nam b/lib/terminfo/m/m2-nam
new file mode 100644
index 0000000..1eedf8c
--- /dev/null
+++ b/lib/terminfo/m/m2-nam
Binary files differ
diff --git a/lib/terminfo/m/mac b/lib/terminfo/m/mac
new file mode 100644
index 0000000..c2d5d27
--- /dev/null
+++ b/lib/terminfo/m/mac
Binary files differ
diff --git a/lib/terminfo/m/mac-w b/lib/terminfo/m/mac-w
new file mode 100644
index 0000000..bd89053
--- /dev/null
+++ b/lib/terminfo/m/mac-w
Binary files differ
diff --git a/lib/terminfo/m/mach b/lib/terminfo/m/mach
new file mode 100644
index 0000000..94699c2
--- /dev/null
+++ b/lib/terminfo/m/mach
Binary files differ
diff --git a/lib/terminfo/m/mach-bold b/lib/terminfo/m/mach-bold
new file mode 100644
index 0000000..1b72fcc
--- /dev/null
+++ b/lib/terminfo/m/mach-bold
Binary files differ
diff --git a/lib/terminfo/m/mach-color b/lib/terminfo/m/mach-color
new file mode 100644
index 0000000..0e63d81
--- /dev/null
+++ b/lib/terminfo/m/mach-color
Binary files differ
diff --git a/lib/terminfo/m/mach-gnu b/lib/terminfo/m/mach-gnu
new file mode 100644
index 0000000..c7174da
--- /dev/null
+++ b/lib/terminfo/m/mach-gnu
Binary files differ
diff --git a/lib/terminfo/m/mach-gnu-color b/lib/terminfo/m/mach-gnu-color
new file mode 100644
index 0000000..ffa47e1
--- /dev/null
+++ b/lib/terminfo/m/mach-gnu-color
Binary files differ
diff --git a/lib/terminfo/m/macintosh b/lib/terminfo/m/macintosh
new file mode 120000
index 0000000..28757cf
--- /dev/null
+++ b/lib/terminfo/m/macintosh
@@ -0,0 +1 @@
+mac
\ No newline at end of file
diff --git a/lib/terminfo/m/macterminal-w b/lib/terminfo/m/macterminal-w
new file mode 120000
index 0000000..d78863e
--- /dev/null
+++ b/lib/terminfo/m/macterminal-w
@@ -0,0 +1 @@
+mac-w
\ No newline at end of file
diff --git a/lib/terminfo/m/mai b/lib/terminfo/m/mai
new file mode 100644
index 0000000..d5158fb
--- /dev/null
+++ b/lib/terminfo/m/mai
Binary files differ
diff --git a/lib/terminfo/m/masscomp b/lib/terminfo/m/masscomp
new file mode 100644
index 0000000..97ef381
--- /dev/null
+++ b/lib/terminfo/m/masscomp
Binary files differ
diff --git a/lib/terminfo/m/masscomp1 b/lib/terminfo/m/masscomp1
new file mode 100644
index 0000000..5e303b9
--- /dev/null
+++ b/lib/terminfo/m/masscomp1
Binary files differ
diff --git a/lib/terminfo/m/masscomp2 b/lib/terminfo/m/masscomp2
new file mode 100644
index 0000000..5e99cbb
--- /dev/null
+++ b/lib/terminfo/m/masscomp2
Binary files differ
diff --git a/lib/terminfo/m/mdl110 b/lib/terminfo/m/mdl110
new file mode 120000
index 0000000..d0bd380
--- /dev/null
+++ b/lib/terminfo/m/mdl110
@@ -0,0 +1 @@
+../c/cyb110
\ No newline at end of file
diff --git a/lib/terminfo/m/megatek b/lib/terminfo/m/megatek
new file mode 100644
index 0000000..9fc1564
--- /dev/null
+++ b/lib/terminfo/m/megatek
Binary files differ
diff --git a/lib/terminfo/m/memhp b/lib/terminfo/m/memhp
new file mode 100644
index 0000000..6492b22
--- /dev/null
+++ b/lib/terminfo/m/memhp
Binary files differ
diff --git a/lib/terminfo/m/mgr b/lib/terminfo/m/mgr
new file mode 100644
index 0000000..a773cfd
--- /dev/null
+++ b/lib/terminfo/m/mgr
Binary files differ
diff --git a/lib/terminfo/m/mgr-linux b/lib/terminfo/m/mgr-linux
new file mode 100644
index 0000000..1f065a2
--- /dev/null
+++ b/lib/terminfo/m/mgr-linux
Binary files differ
diff --git a/lib/terminfo/m/mgr-sun b/lib/terminfo/m/mgr-sun
new file mode 100644
index 0000000..a404120
--- /dev/null
+++ b/lib/terminfo/m/mgr-sun
Binary files differ
diff --git a/lib/terminfo/m/mgt b/lib/terminfo/m/mgt
new file mode 100644
index 0000000..5244b55
--- /dev/null
+++ b/lib/terminfo/m/mgt
Binary files differ
diff --git a/lib/terminfo/m/mgterm b/lib/terminfo/m/mgterm
new file mode 100644
index 0000000..c94d5f9
--- /dev/null
+++ b/lib/terminfo/m/mgterm
Binary files differ
diff --git a/lib/terminfo/m/microb b/lib/terminfo/m/microb
new file mode 100644
index 0000000..fb6f4de
--- /dev/null
+++ b/lib/terminfo/m/microb
Binary files differ
diff --git a/lib/terminfo/m/microbee b/lib/terminfo/m/microbee
new file mode 120000
index 0000000..7de2083
--- /dev/null
+++ b/lib/terminfo/m/microbee
@@ -0,0 +1 @@
+microb
\ No newline at end of file
diff --git a/lib/terminfo/m/microterm b/lib/terminfo/m/microterm
new file mode 120000
index 0000000..39e0d89
--- /dev/null
+++ b/lib/terminfo/m/microterm
@@ -0,0 +1 @@
+../a/act4
\ No newline at end of file
diff --git a/lib/terminfo/m/microterm5 b/lib/terminfo/m/microterm5
new file mode 120000
index 0000000..3575b38
--- /dev/null
+++ b/lib/terminfo/m/microterm5
@@ -0,0 +1 @@
+../a/act5
\ No newline at end of file
diff --git a/lib/terminfo/m/mime b/lib/terminfo/m/mime
new file mode 100644
index 0000000..53f5ccc
--- /dev/null
+++ b/lib/terminfo/m/mime
Binary files differ
diff --git a/lib/terminfo/m/mime-3ax b/lib/terminfo/m/mime-3ax
new file mode 120000
index 0000000..bed4cbf
--- /dev/null
+++ b/lib/terminfo/m/mime-3ax
@@ -0,0 +1 @@
+mime3ax
\ No newline at end of file
diff --git a/lib/terminfo/m/mime-fb b/lib/terminfo/m/mime-fb
new file mode 100644
index 0000000..d314078
--- /dev/null
+++ b/lib/terminfo/m/mime-fb
Binary files differ
diff --git a/lib/terminfo/m/mime-hb b/lib/terminfo/m/mime-hb
new file mode 100644
index 0000000..8f9c9f3
--- /dev/null
+++ b/lib/terminfo/m/mime-hb
Binary files differ
diff --git a/lib/terminfo/m/mime1 b/lib/terminfo/m/mime1
new file mode 120000
index 0000000..0b914f9
--- /dev/null
+++ b/lib/terminfo/m/mime1
@@ -0,0 +1 @@
+mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mime2 b/lib/terminfo/m/mime2
new file mode 120000
index 0000000..0b914f9
--- /dev/null
+++ b/lib/terminfo/m/mime2
@@ -0,0 +1 @@
+mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mime2a b/lib/terminfo/m/mime2a
new file mode 100644
index 0000000..b5a3e8e
--- /dev/null
+++ b/lib/terminfo/m/mime2a
Binary files differ
diff --git a/lib/terminfo/m/mime2a-s b/lib/terminfo/m/mime2a-s
new file mode 100644
index 0000000..8436c2f
--- /dev/null
+++ b/lib/terminfo/m/mime2a-s
Binary files differ
diff --git a/lib/terminfo/m/mime2a-v b/lib/terminfo/m/mime2a-v
new file mode 120000
index 0000000..7a44014
--- /dev/null
+++ b/lib/terminfo/m/mime2a-v
@@ -0,0 +1 @@
+mime2a
\ No newline at end of file
diff --git a/lib/terminfo/m/mime314 b/lib/terminfo/m/mime314
new file mode 100644
index 0000000..cc6914c
--- /dev/null
+++ b/lib/terminfo/m/mime314
Binary files differ
diff --git a/lib/terminfo/m/mime340 b/lib/terminfo/m/mime340
new file mode 120000
index 0000000..d45fb47
--- /dev/null
+++ b/lib/terminfo/m/mime340
@@ -0,0 +1 @@
+mm340
\ No newline at end of file
diff --git a/lib/terminfo/m/mime3a b/lib/terminfo/m/mime3a
new file mode 100644
index 0000000..83cea45
--- /dev/null
+++ b/lib/terminfo/m/mime3a
Binary files differ
diff --git a/lib/terminfo/m/mime3ax b/lib/terminfo/m/mime3ax
new file mode 100644
index 0000000..9421433
--- /dev/null
+++ b/lib/terminfo/m/mime3ax
Binary files differ
diff --git a/lib/terminfo/m/mimei b/lib/terminfo/m/mimei
new file mode 120000
index 0000000..0b914f9
--- /dev/null
+++ b/lib/terminfo/m/mimei
@@ -0,0 +1 @@
+mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mimeii b/lib/terminfo/m/mimeii
new file mode 120000
index 0000000..0b914f9
--- /dev/null
+++ b/lib/terminfo/m/mimeii
@@ -0,0 +1 @@
+mime
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel b/lib/terminfo/m/minitel
new file mode 120000
index 0000000..abfbde3
--- /dev/null
+++ b/lib/terminfo/m/minitel
@@ -0,0 +1 @@
+m2-nam
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel-2 b/lib/terminfo/m/minitel-2
new file mode 120000
index 0000000..abfbde3
--- /dev/null
+++ b/lib/terminfo/m/minitel-2
@@ -0,0 +1 @@
+m2-nam
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel-2-nam b/lib/terminfo/m/minitel-2-nam
new file mode 120000
index 0000000..abfbde3
--- /dev/null
+++ b/lib/terminfo/m/minitel-2-nam
@@ -0,0 +1 @@
+m2-nam
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel1 b/lib/terminfo/m/minitel1
new file mode 100644
index 0000000..6be3307
--- /dev/null
+++ b/lib/terminfo/m/minitel1
Binary files differ
diff --git a/lib/terminfo/m/minitel1b b/lib/terminfo/m/minitel1b
new file mode 100644
index 0000000..6c51e87
--- /dev/null
+++ b/lib/terminfo/m/minitel1b
Binary files differ
diff --git a/lib/terminfo/m/minitel1b-80 b/lib/terminfo/m/minitel1b-80
new file mode 100644
index 0000000..de4442a
--- /dev/null
+++ b/lib/terminfo/m/minitel1b-80
Binary files differ
diff --git a/lib/terminfo/m/minix b/lib/terminfo/m/minix
new file mode 100644
index 0000000..22678f5
--- /dev/null
+++ b/lib/terminfo/m/minix
Binary files differ
diff --git a/lib/terminfo/m/minix-1.5 b/lib/terminfo/m/minix-1.5
new file mode 120000
index 0000000..65048aa
--- /dev/null
+++ b/lib/terminfo/m/minix-1.5
@@ -0,0 +1 @@
+minix-old
\ No newline at end of file
diff --git a/lib/terminfo/m/minix-1.7 b/lib/terminfo/m/minix-1.7
new file mode 100644
index 0000000..ce53a7a
--- /dev/null
+++ b/lib/terminfo/m/minix-1.7
Binary files differ
diff --git a/lib/terminfo/m/minix-3.0 b/lib/terminfo/m/minix-3.0
new file mode 100644
index 0000000..0219beb
--- /dev/null
+++ b/lib/terminfo/m/minix-3.0
Binary files differ
diff --git a/lib/terminfo/m/minix-old b/lib/terminfo/m/minix-old
new file mode 100644
index 0000000..7e27a43
--- /dev/null
+++ b/lib/terminfo/m/minix-old
Binary files differ
diff --git a/lib/terminfo/m/minix-old-am b/lib/terminfo/m/minix-old-am
new file mode 100644
index 0000000..ebbbf29
--- /dev/null
+++ b/lib/terminfo/m/minix-old-am
Binary files differ
diff --git a/lib/terminfo/m/mlterm b/lib/terminfo/m/mlterm
new file mode 100644
index 0000000..250bcd0
--- /dev/null
+++ b/lib/terminfo/m/mlterm
Binary files differ
diff --git a/lib/terminfo/m/mlterm+pcfkeys b/lib/terminfo/m/mlterm+pcfkeys
new file mode 100644
index 0000000..5223c98
--- /dev/null
+++ b/lib/terminfo/m/mlterm+pcfkeys
Binary files differ
diff --git a/lib/terminfo/m/mlterm-256color b/lib/terminfo/m/mlterm-256color
new file mode 100644
index 0000000..4cba76e
--- /dev/null
+++ b/lib/terminfo/m/mlterm-256color
Binary files differ
diff --git a/lib/terminfo/m/mlterm2 b/lib/terminfo/m/mlterm2
new file mode 100644
index 0000000..94e660c
--- /dev/null
+++ b/lib/terminfo/m/mlterm2
Binary files differ
diff --git a/lib/terminfo/m/mlterm3 b/lib/terminfo/m/mlterm3
new file mode 100644
index 0000000..b6d0ffc
--- /dev/null
+++ b/lib/terminfo/m/mlterm3
Binary files differ
diff --git a/lib/terminfo/m/mm314 b/lib/terminfo/m/mm314
new file mode 120000
index 0000000..3d63cdf
--- /dev/null
+++ b/lib/terminfo/m/mm314
@@ -0,0 +1 @@
+mime314
\ No newline at end of file
diff --git a/lib/terminfo/m/mm340 b/lib/terminfo/m/mm340
new file mode 100644
index 0000000..3b7bcbb
--- /dev/null
+++ b/lib/terminfo/m/mm340
Binary files differ
diff --git a/lib/terminfo/m/mod b/lib/terminfo/m/mod
new file mode 120000
index 0000000..2e2c697
--- /dev/null
+++ b/lib/terminfo/m/mod
@@ -0,0 +1 @@
+modgraph48
\ No newline at end of file
diff --git a/lib/terminfo/m/mod24 b/lib/terminfo/m/mod24
new file mode 120000
index 0000000..ce4e643
--- /dev/null
+++ b/lib/terminfo/m/mod24
@@ -0,0 +1 @@
+modgraph
\ No newline at end of file
diff --git a/lib/terminfo/m/modgraph b/lib/terminfo/m/modgraph
new file mode 100644
index 0000000..de47d45
--- /dev/null
+++ b/lib/terminfo/m/modgraph
Binary files differ
diff --git a/lib/terminfo/m/modgraph2 b/lib/terminfo/m/modgraph2
new file mode 100644
index 0000000..a09df1e
--- /dev/null
+++ b/lib/terminfo/m/modgraph2
Binary files differ
diff --git a/lib/terminfo/m/modgraph48 b/lib/terminfo/m/modgraph48
new file mode 100644
index 0000000..63d4e8d
--- /dev/null
+++ b/lib/terminfo/m/modgraph48
Binary files differ
diff --git a/lib/terminfo/m/mono-emx b/lib/terminfo/m/mono-emx
new file mode 100644
index 0000000..1f940a9
--- /dev/null
+++ b/lib/terminfo/m/mono-emx
Binary files differ
diff --git a/lib/terminfo/m/morphos b/lib/terminfo/m/morphos
new file mode 100644
index 0000000..86b623a
--- /dev/null
+++ b/lib/terminfo/m/morphos
Binary files differ
diff --git a/lib/terminfo/m/mouse-sun b/lib/terminfo/m/mouse-sun
new file mode 120000
index 0000000..c55fc81
--- /dev/null
+++ b/lib/terminfo/m/mouse-sun
@@ -0,0 +1 @@
+mterm
\ No newline at end of file
diff --git a/lib/terminfo/m/mrxvt b/lib/terminfo/m/mrxvt
new file mode 100644
index 0000000..006f8c8
--- /dev/null
+++ b/lib/terminfo/m/mrxvt
Binary files differ
diff --git a/lib/terminfo/m/mrxvt-256color b/lib/terminfo/m/mrxvt-256color
new file mode 100644
index 0000000..af6e408
--- /dev/null
+++ b/lib/terminfo/m/mrxvt-256color
Binary files differ
diff --git a/lib/terminfo/m/ms-vt-utf8 b/lib/terminfo/m/ms-vt-utf8
new file mode 100644
index 0000000..1116d8f
--- /dev/null
+++ b/lib/terminfo/m/ms-vt-utf8
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100 b/lib/terminfo/m/ms-vt100
new file mode 100644
index 0000000..ae9b773
--- /dev/null
+++ b/lib/terminfo/m/ms-vt100
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100+ b/lib/terminfo/m/ms-vt100+
new file mode 100644
index 0000000..3a07b02
--- /dev/null
+++ b/lib/terminfo/m/ms-vt100+
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100-color b/lib/terminfo/m/ms-vt100-color
new file mode 100644
index 0000000..4f71d61
--- /dev/null
+++ b/lib/terminfo/m/ms-vt100-color
Binary files differ
diff --git a/lib/terminfo/m/msk227 b/lib/terminfo/m/msk227
new file mode 100644
index 0000000..c0d5706
--- /dev/null
+++ b/lib/terminfo/m/msk227
Binary files differ
diff --git a/lib/terminfo/m/msk22714 b/lib/terminfo/m/msk22714
new file mode 100644
index 0000000..487bb61
--- /dev/null
+++ b/lib/terminfo/m/msk22714
Binary files differ
diff --git a/lib/terminfo/m/msk227am b/lib/terminfo/m/msk227am
new file mode 100644
index 0000000..d7ade8c
--- /dev/null
+++ b/lib/terminfo/m/msk227am
Binary files differ
diff --git a/lib/terminfo/m/mskermit227 b/lib/terminfo/m/mskermit227
new file mode 120000
index 0000000..43a169b
--- /dev/null
+++ b/lib/terminfo/m/mskermit227
@@ -0,0 +1 @@
+msk227
\ No newline at end of file
diff --git a/lib/terminfo/m/mskermit22714 b/lib/terminfo/m/mskermit22714
new file mode 120000
index 0000000..1ce3524
--- /dev/null
+++ b/lib/terminfo/m/mskermit22714
@@ -0,0 +1 @@
+msk22714
\ No newline at end of file
diff --git a/lib/terminfo/m/mskermit227am b/lib/terminfo/m/mskermit227am
new file mode 120000
index 0000000..e047146
--- /dev/null
+++ b/lib/terminfo/m/mskermit227am
@@ -0,0 +1 @@
+msk227am
\ No newline at end of file
diff --git a/lib/terminfo/m/mt-70 b/lib/terminfo/m/mt-70
new file mode 120000
index 0000000..a74eed1
--- /dev/null
+++ b/lib/terminfo/m/mt-70
@@ -0,0 +1 @@
+mt70
\ No newline at end of file
diff --git a/lib/terminfo/m/mt4520-rv b/lib/terminfo/m/mt4520-rv
new file mode 100644
index 0000000..8aab2da
--- /dev/null
+++ b/lib/terminfo/m/mt4520-rv
Binary files differ
diff --git a/lib/terminfo/m/mt70 b/lib/terminfo/m/mt70
new file mode 100644
index 0000000..ffe744e
--- /dev/null
+++ b/lib/terminfo/m/mt70
Binary files differ
diff --git a/lib/terminfo/m/mterm b/lib/terminfo/m/mterm
new file mode 100644
index 0000000..016fced
--- /dev/null
+++ b/lib/terminfo/m/mterm
Binary files differ
diff --git a/lib/terminfo/m/mterm-ansi b/lib/terminfo/m/mterm-ansi
new file mode 100644
index 0000000..adb0a9a
--- /dev/null
+++ b/lib/terminfo/m/mterm-ansi
Binary files differ
diff --git a/lib/terminfo/m/mvterm b/lib/terminfo/m/mvterm
new file mode 100644
index 0000000..d912b72
--- /dev/null
+++ b/lib/terminfo/m/mvterm
Binary files differ
diff --git a/lib/terminfo/n/nansi.sys b/lib/terminfo/n/nansi.sys
new file mode 100644
index 0000000..88d3342
--- /dev/null
+++ b/lib/terminfo/n/nansi.sys
Binary files differ
diff --git a/lib/terminfo/n/nansi.sysk b/lib/terminfo/n/nansi.sysk
new file mode 100644
index 0000000..9c45d35
--- /dev/null
+++ b/lib/terminfo/n/nansi.sysk
Binary files differ
diff --git a/lib/terminfo/n/nansisys b/lib/terminfo/n/nansisys
new file mode 120000
index 0000000..521c1c6
--- /dev/null
+++ b/lib/terminfo/n/nansisys
@@ -0,0 +1 @@
+nansi.sys
\ No newline at end of file
diff --git a/lib/terminfo/n/nansisysk b/lib/terminfo/n/nansisysk
new file mode 120000
index 0000000..30f2577
--- /dev/null
+++ b/lib/terminfo/n/nansisysk
@@ -0,0 +1 @@
+nansi.sysk
\ No newline at end of file
diff --git a/lib/terminfo/n/ncr160vppp b/lib/terminfo/n/ncr160vppp
new file mode 100644
index 0000000..d0b05e3
--- /dev/null
+++ b/lib/terminfo/n/ncr160vppp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vpwpp b/lib/terminfo/n/ncr160vpwpp
new file mode 100644
index 0000000..6fe6d64
--- /dev/null
+++ b/lib/terminfo/n/ncr160vpwpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100an b/lib/terminfo/n/ncr160vt100an
new file mode 100644
index 0000000..d137a88
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt100an
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100pp b/lib/terminfo/n/ncr160vt100pp
new file mode 100644
index 0000000..c6dece0
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt100pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100wan b/lib/terminfo/n/ncr160vt100wan
new file mode 100644
index 0000000..5ba0401
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt100wan
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100wpp b/lib/terminfo/n/ncr160vt100wpp
new file mode 100644
index 0000000..1461bfa
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt100wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200an b/lib/terminfo/n/ncr160vt200an
new file mode 100644
index 0000000..b22239f
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt200an
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200pp b/lib/terminfo/n/ncr160vt200pp
new file mode 100644
index 0000000..bdd7110
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt200pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200wan b/lib/terminfo/n/ncr160vt200wan
new file mode 100644
index 0000000..385dd48
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt200wan
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200wpp b/lib/terminfo/n/ncr160vt200wpp
new file mode 100644
index 0000000..9a7848c
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt200wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300an b/lib/terminfo/n/ncr160vt300an
new file mode 100644
index 0000000..4c3a588
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt300an
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300pp b/lib/terminfo/n/ncr160vt300pp
new file mode 100644
index 0000000..a4a448b
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt300pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300wan b/lib/terminfo/n/ncr160vt300wan
new file mode 100644
index 0000000..89b4d9b
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt300wan
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300wpp b/lib/terminfo/n/ncr160vt300wpp
new file mode 100644
index 0000000..73118f2
--- /dev/null
+++ b/lib/terminfo/n/ncr160vt300wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy50+pp b/lib/terminfo/n/ncr160wy50+pp
new file mode 100644
index 0000000..08f21da
--- /dev/null
+++ b/lib/terminfo/n/ncr160wy50+pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy50+wpp b/lib/terminfo/n/ncr160wy50+wpp
new file mode 100644
index 0000000..f256177
--- /dev/null
+++ b/lib/terminfo/n/ncr160wy50+wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy60pp b/lib/terminfo/n/ncr160wy60pp
new file mode 100644
index 0000000..d45c619
--- /dev/null
+++ b/lib/terminfo/n/ncr160wy60pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy60wpp b/lib/terminfo/n/ncr160wy60wpp
new file mode 100644
index 0000000..fc5225c
--- /dev/null
+++ b/lib/terminfo/n/ncr160wy60wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260intan b/lib/terminfo/n/ncr260intan
new file mode 100644
index 0000000..2583e58
--- /dev/null
+++ b/lib/terminfo/n/ncr260intan
Binary files differ
diff --git a/lib/terminfo/n/ncr260intpp b/lib/terminfo/n/ncr260intpp
new file mode 100644
index 0000000..efb1232
--- /dev/null
+++ b/lib/terminfo/n/ncr260intpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260intwan b/lib/terminfo/n/ncr260intwan
new file mode 100644
index 0000000..ee309b9
--- /dev/null
+++ b/lib/terminfo/n/ncr260intwan
Binary files differ
diff --git a/lib/terminfo/n/ncr260intwpp b/lib/terminfo/n/ncr260intwpp
new file mode 100644
index 0000000..221cbd4
--- /dev/null
+++ b/lib/terminfo/n/ncr260intwpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vppp b/lib/terminfo/n/ncr260vppp
new file mode 100644
index 0000000..ab58eae
--- /dev/null
+++ b/lib/terminfo/n/ncr260vppp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vpwpp b/lib/terminfo/n/ncr260vpwpp
new file mode 100644
index 0000000..c59ecdb
--- /dev/null
+++ b/lib/terminfo/n/ncr260vpwpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100an b/lib/terminfo/n/ncr260vt100an
new file mode 100644
index 0000000..517908d
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt100an
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100pp b/lib/terminfo/n/ncr260vt100pp
new file mode 100644
index 0000000..6aa1b25
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt100pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100wan b/lib/terminfo/n/ncr260vt100wan
new file mode 100644
index 0000000..d8d94b6
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt100wan
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100wpp b/lib/terminfo/n/ncr260vt100wpp
new file mode 100644
index 0000000..63f3c44
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt100wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200an b/lib/terminfo/n/ncr260vt200an
new file mode 100644
index 0000000..54d986f
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt200an
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200pp b/lib/terminfo/n/ncr260vt200pp
new file mode 100644
index 0000000..d9b56bf
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt200pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200wan b/lib/terminfo/n/ncr260vt200wan
new file mode 100644
index 0000000..c09ebe9
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt200wan
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200wpp b/lib/terminfo/n/ncr260vt200wpp
new file mode 100644
index 0000000..bf7a7a0
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt200wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300an b/lib/terminfo/n/ncr260vt300an
new file mode 100644
index 0000000..3ef5a18
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt300an
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300pp b/lib/terminfo/n/ncr260vt300pp
new file mode 100644
index 0000000..0292a4d
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt300pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300wan b/lib/terminfo/n/ncr260vt300wan
new file mode 100644
index 0000000..8896776
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt300wan
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300wpp b/lib/terminfo/n/ncr260vt300wpp
new file mode 120000
index 0000000..da2a7e4
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt300wpp
@@ -0,0 +1 @@
+../N/NCR260VT300WPP
\ No newline at end of file
diff --git a/lib/terminfo/n/ncr260wy325pp b/lib/terminfo/n/ncr260wy325pp
new file mode 100644
index 0000000..fd7d48f
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy325pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy325wpp b/lib/terminfo/n/ncr260wy325wpp
new file mode 100644
index 0000000..03558c0
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy325wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy350pp b/lib/terminfo/n/ncr260wy350pp
new file mode 100644
index 0000000..101bce9
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy350pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy350wpp b/lib/terminfo/n/ncr260wy350wpp
new file mode 100644
index 0000000..e96ad41
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy350wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy50+pp b/lib/terminfo/n/ncr260wy50+pp
new file mode 100644
index 0000000..9f70e67
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy50+pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy50+wpp b/lib/terminfo/n/ncr260wy50+wpp
new file mode 100644
index 0000000..17f7c8c
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy50+wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy60pp b/lib/terminfo/n/ncr260wy60pp
new file mode 100644
index 0000000..db3e4dc
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy60pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy60wpp b/lib/terminfo/n/ncr260wy60wpp
new file mode 100644
index 0000000..b2b7fe9
--- /dev/null
+++ b/lib/terminfo/n/ncr260wy60wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr7900 b/lib/terminfo/n/ncr7900
new file mode 120000
index 0000000..c5dea2a
--- /dev/null
+++ b/lib/terminfo/n/ncr7900
@@ -0,0 +1 @@
+ncr7900i
\ No newline at end of file
diff --git a/lib/terminfo/n/ncr7900i b/lib/terminfo/n/ncr7900i
new file mode 100644
index 0000000..a627428
--- /dev/null
+++ b/lib/terminfo/n/ncr7900i
Binary files differ
diff --git a/lib/terminfo/n/ncr7900iv b/lib/terminfo/n/ncr7900iv
new file mode 100644
index 0000000..94a0803
--- /dev/null
+++ b/lib/terminfo/n/ncr7900iv
Binary files differ
diff --git a/lib/terminfo/n/ncr7901 b/lib/terminfo/n/ncr7901
new file mode 100644
index 0000000..29c9848
--- /dev/null
+++ b/lib/terminfo/n/ncr7901
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100an b/lib/terminfo/n/ncrvt100an
new file mode 100644
index 0000000..0afbb81
--- /dev/null
+++ b/lib/terminfo/n/ncrvt100an
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100pp b/lib/terminfo/n/ncrvt100pp
new file mode 120000
index 0000000..26bbc86
--- /dev/null
+++ b/lib/terminfo/n/ncrvt100pp
@@ -0,0 +1 @@
+ncrvt100an
\ No newline at end of file
diff --git a/lib/terminfo/n/ncrvt100wan b/lib/terminfo/n/ncrvt100wan
new file mode 100644
index 0000000..7e0ad59
--- /dev/null
+++ b/lib/terminfo/n/ncrvt100wan
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100wpp b/lib/terminfo/n/ncrvt100wpp
new file mode 120000
index 0000000..b372769
--- /dev/null
+++ b/lib/terminfo/n/ncrvt100wpp
@@ -0,0 +1 @@
+ncrvt100wan
\ No newline at end of file
diff --git a/lib/terminfo/n/ncsa b/lib/terminfo/n/ncsa
new file mode 100644
index 0000000..6e4a424
--- /dev/null
+++ b/lib/terminfo/n/ncsa
Binary files differ
diff --git a/lib/terminfo/n/ncsa-m b/lib/terminfo/n/ncsa-m
new file mode 100644
index 0000000..fd35e9c
--- /dev/null
+++ b/lib/terminfo/n/ncsa-m
Binary files differ
diff --git a/lib/terminfo/n/ncsa-m-ns b/lib/terminfo/n/ncsa-m-ns
new file mode 100644
index 0000000..c86608d
--- /dev/null
+++ b/lib/terminfo/n/ncsa-m-ns
Binary files differ
diff --git a/lib/terminfo/n/ncsa-ns b/lib/terminfo/n/ncsa-ns
new file mode 100644
index 0000000..7fd2a48
--- /dev/null
+++ b/lib/terminfo/n/ncsa-ns
Binary files differ
diff --git a/lib/terminfo/n/ncsa-vt220 b/lib/terminfo/n/ncsa-vt220
new file mode 100644
index 0000000..c87f220
--- /dev/null
+++ b/lib/terminfo/n/ncsa-vt220
Binary files differ
diff --git a/lib/terminfo/n/ncsa-vt220-8 b/lib/terminfo/n/ncsa-vt220-8
new file mode 120000
index 0000000..20f67b5
--- /dev/null
+++ b/lib/terminfo/n/ncsa-vt220-8
@@ -0,0 +1 @@
+ncsa-m
\ No newline at end of file
diff --git a/lib/terminfo/n/nd9500 b/lib/terminfo/n/nd9500
new file mode 120000
index 0000000..90ab11d
--- /dev/null
+++ b/lib/terminfo/n/nd9500
@@ -0,0 +1 @@
+ndr9500
\ No newline at end of file
diff --git a/lib/terminfo/n/ndr9500 b/lib/terminfo/n/ndr9500
new file mode 100644
index 0000000..ed4677c
--- /dev/null
+++ b/lib/terminfo/n/ndr9500
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25 b/lib/terminfo/n/ndr9500-25
new file mode 100644
index 0000000..02a1d8c
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-25
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25-mc b/lib/terminfo/n/ndr9500-25-mc
new file mode 100644
index 0000000..acf7807
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-25-mc
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25-mc-nl b/lib/terminfo/n/ndr9500-25-mc-nl
new file mode 100644
index 0000000..51f31bf
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-25-mc-nl
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25-nl b/lib/terminfo/n/ndr9500-25-nl
new file mode 100644
index 0000000..6a52655
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-25-nl
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-mc b/lib/terminfo/n/ndr9500-mc
new file mode 100644
index 0000000..007f0f7
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-mc
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-mc-nl b/lib/terminfo/n/ndr9500-mc-nl
new file mode 100644
index 0000000..10365a8
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-mc-nl
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-nl b/lib/terminfo/n/ndr9500-nl
new file mode 100644
index 0000000..b8dfec8
--- /dev/null
+++ b/lib/terminfo/n/ndr9500-nl
Binary files differ
diff --git a/lib/terminfo/n/nec b/lib/terminfo/n/nec
new file mode 120000
index 0000000..784b6fe
--- /dev/null
+++ b/lib/terminfo/n/nec
@@ -0,0 +1 @@
+nec5520
\ No newline at end of file
diff --git a/lib/terminfo/n/nec5520 b/lib/terminfo/n/nec5520
new file mode 100644
index 0000000..985b6da
--- /dev/null
+++ b/lib/terminfo/n/nec5520
Binary files differ
diff --git a/lib/terminfo/n/netbsd6 b/lib/terminfo/n/netbsd6
new file mode 100644
index 0000000..0e23a5c
--- /dev/null
+++ b/lib/terminfo/n/netbsd6
Binary files differ
diff --git a/lib/terminfo/n/newhp b/lib/terminfo/n/newhp
new file mode 100644
index 0000000..0a83a8e
--- /dev/null
+++ b/lib/terminfo/n/newhp
Binary files differ
diff --git a/lib/terminfo/n/newhpkeyboard b/lib/terminfo/n/newhpkeyboard
new file mode 100644
index 0000000..fc93010
--- /dev/null
+++ b/lib/terminfo/n/newhpkeyboard
Binary files differ
diff --git a/lib/terminfo/n/news b/lib/terminfo/n/news
new file mode 120000
index 0000000..341db58
--- /dev/null
+++ b/lib/terminfo/n/news
@@ -0,0 +1 @@
+nwp512
\ No newline at end of file
diff --git a/lib/terminfo/n/news-29 b/lib/terminfo/n/news-29
new file mode 100644
index 0000000..365fb72
--- /dev/null
+++ b/lib/terminfo/n/news-29
Binary files differ
diff --git a/lib/terminfo/n/news-29-euc b/lib/terminfo/n/news-29-euc
new file mode 100644
index 0000000..4c93fed
--- /dev/null
+++ b/lib/terminfo/n/news-29-euc
Binary files differ
diff --git a/lib/terminfo/n/news-29-sjis b/lib/terminfo/n/news-29-sjis
new file mode 100644
index 0000000..f73b0a0
--- /dev/null
+++ b/lib/terminfo/n/news-29-sjis
Binary files differ
diff --git a/lib/terminfo/n/news-33 b/lib/terminfo/n/news-33
new file mode 100644
index 0000000..ee735f5
--- /dev/null
+++ b/lib/terminfo/n/news-33
Binary files differ
diff --git a/lib/terminfo/n/news-33-euc b/lib/terminfo/n/news-33-euc
new file mode 100644
index 0000000..2067e52
--- /dev/null
+++ b/lib/terminfo/n/news-33-euc
Binary files differ
diff --git a/lib/terminfo/n/news-33-sjis b/lib/terminfo/n/news-33-sjis
new file mode 100644
index 0000000..f68aec4
--- /dev/null
+++ b/lib/terminfo/n/news-33-sjis
Binary files differ
diff --git a/lib/terminfo/n/news-42 b/lib/terminfo/n/news-42
new file mode 100644
index 0000000..93bbf01
--- /dev/null
+++ b/lib/terminfo/n/news-42
Binary files differ
diff --git a/lib/terminfo/n/news-42-euc b/lib/terminfo/n/news-42-euc
new file mode 100644
index 0000000..8576256
--- /dev/null
+++ b/lib/terminfo/n/news-42-euc
Binary files differ
diff --git a/lib/terminfo/n/news-42-sjis b/lib/terminfo/n/news-42-sjis
new file mode 100644
index 0000000..9d16d91
--- /dev/null
+++ b/lib/terminfo/n/news-42-sjis
Binary files differ
diff --git a/lib/terminfo/n/news-a b/lib/terminfo/n/news-a
new file mode 120000
index 0000000..ca3992e
--- /dev/null
+++ b/lib/terminfo/n/news-a
@@ -0,0 +1 @@
+nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news-o b/lib/terminfo/n/news-o
new file mode 120000
index 0000000..c4b19d4
--- /dev/null
+++ b/lib/terminfo/n/news-o
@@ -0,0 +1 @@
+nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/n/news-old-unk b/lib/terminfo/n/news-old-unk
new file mode 100644
index 0000000..b5ff32f
--- /dev/null
+++ b/lib/terminfo/n/news-old-unk
Binary files differ
diff --git a/lib/terminfo/n/news-unk b/lib/terminfo/n/news-unk
new file mode 100644
index 0000000..f1119a3
--- /dev/null
+++ b/lib/terminfo/n/news-unk
Binary files differ
diff --git a/lib/terminfo/n/news28 b/lib/terminfo/n/news28
new file mode 100644
index 0000000..93f0a3b
--- /dev/null
+++ b/lib/terminfo/n/news28
Binary files differ
diff --git a/lib/terminfo/n/news28-a b/lib/terminfo/n/news28-a
new file mode 120000
index 0000000..c4083f7
--- /dev/null
+++ b/lib/terminfo/n/news28-a
@@ -0,0 +1 @@
+news29
\ No newline at end of file
diff --git a/lib/terminfo/n/news29 b/lib/terminfo/n/news29
new file mode 100644
index 0000000..8f8436e
--- /dev/null
+++ b/lib/terminfo/n/news29
Binary files differ
diff --git a/lib/terminfo/n/news31 b/lib/terminfo/n/news31
new file mode 120000
index 0000000..22c0e76
--- /dev/null
+++ b/lib/terminfo/n/news31
@@ -0,0 +1 @@
+nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/news31-a b/lib/terminfo/n/news31-a
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/news31-a
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news31-o b/lib/terminfo/n/news31-o
new file mode 120000
index 0000000..500f8f4
--- /dev/null
+++ b/lib/terminfo/n/news31-o
@@ -0,0 +1 @@
+nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/news33 b/lib/terminfo/n/news33
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/news33
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news40 b/lib/terminfo/n/news40
new file mode 120000
index 0000000..341db58
--- /dev/null
+++ b/lib/terminfo/n/news40
@@ -0,0 +1 @@
+nwp512
\ No newline at end of file
diff --git a/lib/terminfo/n/news40-a b/lib/terminfo/n/news40-a
new file mode 120000
index 0000000..ca3992e
--- /dev/null
+++ b/lib/terminfo/n/news40-a
@@ -0,0 +1 @@
+nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news40-o b/lib/terminfo/n/news40-o
new file mode 120000
index 0000000..c4b19d4
--- /dev/null
+++ b/lib/terminfo/n/news40-o
@@ -0,0 +1 @@
+nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/n/news42 b/lib/terminfo/n/news42
new file mode 120000
index 0000000..ca3992e
--- /dev/null
+++ b/lib/terminfo/n/news42
@@ -0,0 +1 @@
+nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm b/lib/terminfo/n/newscbm
new file mode 120000
index 0000000..22c0e76
--- /dev/null
+++ b/lib/terminfo/n/newscbm
@@ -0,0 +1 @@
+nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm-a b/lib/terminfo/n/newscbm-a
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/newscbm-a
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm-o b/lib/terminfo/n/newscbm-o
new file mode 120000
index 0000000..500f8f4
--- /dev/null
+++ b/lib/terminfo/n/newscbm-o
@@ -0,0 +1 @@
+nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm33 b/lib/terminfo/n/newscbm33
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/newscbm33
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/next b/lib/terminfo/n/next
new file mode 100644
index 0000000..f48180e
--- /dev/null
+++ b/lib/terminfo/n/next
Binary files differ
diff --git a/lib/terminfo/n/nextshell b/lib/terminfo/n/nextshell
new file mode 100644
index 0000000..bcd16a5
--- /dev/null
+++ b/lib/terminfo/n/nextshell
Binary files differ
diff --git a/lib/terminfo/n/northstar b/lib/terminfo/n/northstar
new file mode 100644
index 0000000..8040e3c
--- /dev/null
+++ b/lib/terminfo/n/northstar
Binary files differ
diff --git a/lib/terminfo/n/nsterm b/lib/terminfo/n/nsterm
new file mode 100644
index 0000000..2f59f51
--- /dev/null
+++ b/lib/terminfo/n/nsterm
Binary files differ
diff --git a/lib/terminfo/n/nsterm+7 b/lib/terminfo/n/nsterm+7
new file mode 100644
index 0000000..d2fbeba
--- /dev/null
+++ b/lib/terminfo/n/nsterm+7
Binary files differ
diff --git a/lib/terminfo/n/nsterm+acs b/lib/terminfo/n/nsterm+acs
new file mode 100644
index 0000000..08234d5
--- /dev/null
+++ b/lib/terminfo/n/nsterm+acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm+c b/lib/terminfo/n/nsterm+c
new file mode 100644
index 0000000..6e07978
--- /dev/null
+++ b/lib/terminfo/n/nsterm+c
Binary files differ
diff --git a/lib/terminfo/n/nsterm+c41 b/lib/terminfo/n/nsterm+c41
new file mode 100644
index 0000000..2d6a629
--- /dev/null
+++ b/lib/terminfo/n/nsterm+c41
Binary files differ
diff --git a/lib/terminfo/n/nsterm+mac b/lib/terminfo/n/nsterm+mac
new file mode 100644
index 0000000..88e69bc
--- /dev/null
+++ b/lib/terminfo/n/nsterm+mac
Binary files differ
diff --git a/lib/terminfo/n/nsterm+s b/lib/terminfo/n/nsterm+s
new file mode 100644
index 0000000..7347fe9
--- /dev/null
+++ b/lib/terminfo/n/nsterm+s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-16color b/lib/terminfo/n/nsterm-16color
new file mode 100644
index 0000000..4c85f83
--- /dev/null
+++ b/lib/terminfo/n/nsterm-16color
Binary files differ
diff --git a/lib/terminfo/n/nsterm-256color b/lib/terminfo/n/nsterm-256color
new file mode 100644
index 0000000..9e27a0a
--- /dev/null
+++ b/lib/terminfo/n/nsterm-256color
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7 b/lib/terminfo/n/nsterm-7
new file mode 100644
index 0000000..1b68545
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7-c b/lib/terminfo/n/nsterm-7-c
new file mode 100644
index 0000000..b5247bb
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-c
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7-c-s b/lib/terminfo/n/nsterm-7-c-s
new file mode 120000
index 0000000..4702d27
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-c-s
@@ -0,0 +1 @@
+nsterm-c-s-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-m b/lib/terminfo/n/nsterm-7-m
new file mode 120000
index 0000000..70780d3
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-m
@@ -0,0 +1 @@
+nsterm-m-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-m-s b/lib/terminfo/n/nsterm-7-m-s
new file mode 120000
index 0000000..0a5ad3d
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-m-s
@@ -0,0 +1 @@
+nsterm-m-s-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-s b/lib/terminfo/n/nsterm-7-s
new file mode 120000
index 0000000..aeae365
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-s
@@ -0,0 +1 @@
+nsterm-s-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs b/lib/terminfo/n/nsterm-acs
new file mode 100644
index 0000000..444a0e0
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-acs-c b/lib/terminfo/n/nsterm-acs-c
new file mode 120000
index 0000000..7744925
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-c
@@ -0,0 +1 @@
+nsterm-c-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-c-s b/lib/terminfo/n/nsterm-acs-c-s
new file mode 120000
index 0000000..51cf75a
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-c-s
@@ -0,0 +1 @@
+nsterm-c-s-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-m b/lib/terminfo/n/nsterm-acs-m
new file mode 120000
index 0000000..cabdd15
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-m
@@ -0,0 +1 @@
+nsterm-m-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-m-s b/lib/terminfo/n/nsterm-acs-m-s
new file mode 120000
index 0000000..919216c
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-m-s
@@ -0,0 +1 @@
+nsterm-m-s-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-s b/lib/terminfo/n/nsterm-acs-s
new file mode 120000
index 0000000..c8ab2b0
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-s
@@ -0,0 +1 @@
+nsterm-s-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-bce b/lib/terminfo/n/nsterm-bce
new file mode 100644
index 0000000..3e4dbd8
--- /dev/null
+++ b/lib/terminfo/n/nsterm-bce
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build326 b/lib/terminfo/n/nsterm-build326
new file mode 100644
index 0000000..55a0373
--- /dev/null
+++ b/lib/terminfo/n/nsterm-build326
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build343 b/lib/terminfo/n/nsterm-build343
new file mode 100644
index 0000000..cca6fd1
--- /dev/null
+++ b/lib/terminfo/n/nsterm-build343
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c b/lib/terminfo/n/nsterm-c
new file mode 100644
index 0000000..22ced1d
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-7 b/lib/terminfo/n/nsterm-c-7
new file mode 120000
index 0000000..2c3d092
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c-7
@@ -0,0 +1 @@
+nsterm-7-c
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-c-acs b/lib/terminfo/n/nsterm-c-acs
new file mode 100644
index 0000000..a232413
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-s b/lib/terminfo/n/nsterm-c-s
new file mode 100644
index 0000000..2451d6f
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-s-7 b/lib/terminfo/n/nsterm-c-s-7
new file mode 100644
index 0000000..64198d8
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c-s-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-s-acs b/lib/terminfo/n/nsterm-c-s-acs
new file mode 100644
index 0000000..075c49b
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c-s-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m b/lib/terminfo/n/nsterm-m
new file mode 100644
index 0000000..37aaae7
--- /dev/null
+++ b/lib/terminfo/n/nsterm-m
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-7 b/lib/terminfo/n/nsterm-m-7
new file mode 100644
index 0000000..f64044e
--- /dev/null
+++ b/lib/terminfo/n/nsterm-m-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-acs b/lib/terminfo/n/nsterm-m-acs
new file mode 100644
index 0000000..2e8b3c8
--- /dev/null
+++ b/lib/terminfo/n/nsterm-m-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-s b/lib/terminfo/n/nsterm-m-s
new file mode 100644
index 0000000..c9c9894
--- /dev/null
+++ b/lib/terminfo/n/nsterm-m-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-s-7 b/lib/terminfo/n/nsterm-m-s-7
new file mode 100644
index 0000000..0987fe1
--- /dev/null
+++ b/lib/terminfo/n/nsterm-m-s-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-s-acs b/lib/terminfo/n/nsterm-m-s-acs
new file mode 100644
index 0000000..f633490
--- /dev/null
+++ b/lib/terminfo/n/nsterm-m-s-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-old b/lib/terminfo/n/nsterm-old
new file mode 100644
index 0000000..86a8d90
--- /dev/null
+++ b/lib/terminfo/n/nsterm-old
Binary files differ
diff --git a/lib/terminfo/n/nsterm-s b/lib/terminfo/n/nsterm-s
new file mode 100644
index 0000000..0f9aad1
--- /dev/null
+++ b/lib/terminfo/n/nsterm-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-s-7 b/lib/terminfo/n/nsterm-s-7
new file mode 100644
index 0000000..f0ce411
--- /dev/null
+++ b/lib/terminfo/n/nsterm-s-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-s-acs b/lib/terminfo/n/nsterm-s-acs
new file mode 100644
index 0000000..1dbabf2
--- /dev/null
+++ b/lib/terminfo/n/nsterm-s-acs
Binary files differ
diff --git a/lib/terminfo/n/ntconsole b/lib/terminfo/n/ntconsole
new file mode 120000
index 0000000..afbf7a7
--- /dev/null
+++ b/lib/terminfo/n/ntconsole
@@ -0,0 +1 @@
+../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-100 b/lib/terminfo/n/ntconsole-100
new file mode 120000
index 0000000..3694dfd
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-100
@@ -0,0 +1 @@
+../o/opennt-100
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-100-nti b/lib/terminfo/n/ntconsole-100-nti
new file mode 120000
index 0000000..e6ab991
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-100-nti
@@ -0,0 +1 @@
+../o/opennt-100-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25 b/lib/terminfo/n/ntconsole-25
new file mode 120000
index 0000000..afbf7a7
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25
@@ -0,0 +1 @@
+../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25-nti b/lib/terminfo/n/ntconsole-25-nti
new file mode 120000
index 0000000..64a0d50
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25-nti
@@ -0,0 +1 @@
+../i/interix-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25-w b/lib/terminfo/n/ntconsole-25-w
new file mode 120000
index 0000000..32e493f
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25-w
@@ -0,0 +1 @@
+../o/opennt-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25-w-vt b/lib/terminfo/n/ntconsole-25-w-vt
new file mode 120000
index 0000000..7e04d1c
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25-w-vt
@@ -0,0 +1 @@
+../o/opennt-w-vt
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-35 b/lib/terminfo/n/ntconsole-35
new file mode 120000
index 0000000..6258b93
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-35
@@ -0,0 +1 @@
+../o/opennt-35
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-35-nti b/lib/terminfo/n/ntconsole-35-nti
new file mode 120000
index 0000000..0e0f40e
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-35-nti
@@ -0,0 +1 @@
+../o/opennt-35-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-35-w b/lib/terminfo/n/ntconsole-35-w
new file mode 120000
index 0000000..f4e75b4
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-35-w
@@ -0,0 +1 @@
+../o/opennt-35-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-50 b/lib/terminfo/n/ntconsole-50
new file mode 120000
index 0000000..cd86a9a
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-50
@@ -0,0 +1 @@
+../o/opennt-50
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-50-nti b/lib/terminfo/n/ntconsole-50-nti
new file mode 120000
index 0000000..d6c14ad
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-50-nti
@@ -0,0 +1 @@
+../o/opennt-50-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-50-w b/lib/terminfo/n/ntconsole-50-w
new file mode 120000
index 0000000..847c753
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-50-w
@@ -0,0 +1 @@
+../o/opennt-50-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-60 b/lib/terminfo/n/ntconsole-60
new file mode 120000
index 0000000..28e09e8
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-60
@@ -0,0 +1 @@
+../o/opennt-60
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-60-nti b/lib/terminfo/n/ntconsole-60-nti
new file mode 120000
index 0000000..89c0390
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-60-nti
@@ -0,0 +1 @@
+../o/opennt-60-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-60-w b/lib/terminfo/n/ntconsole-60-w
new file mode 120000
index 0000000..c4b715f
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-60-w
@@ -0,0 +1 @@
+../o/opennt-60-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-w b/lib/terminfo/n/ntconsole-w
new file mode 120000
index 0000000..32e493f
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-w
@@ -0,0 +1 @@
+../o/opennt-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-w-vt b/lib/terminfo/n/ntconsole-w-vt
new file mode 120000
index 0000000..7e04d1c
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-w-vt
@@ -0,0 +1 @@
+../o/opennt-w-vt
\ No newline at end of file
diff --git a/lib/terminfo/n/nwe501 b/lib/terminfo/n/nwe501
new file mode 120000
index 0000000..22c0e76
--- /dev/null
+++ b/lib/terminfo/n/nwe501
@@ -0,0 +1 @@
+nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/nwe501-a b/lib/terminfo/n/nwe501-a
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/nwe501-a
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwe501-o b/lib/terminfo/n/nwe501-o
new file mode 120000
index 0000000..500f8f4
--- /dev/null
+++ b/lib/terminfo/n/nwe501-o
@@ -0,0 +1 @@
+nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp-511 b/lib/terminfo/n/nwp-511
new file mode 120000
index 0000000..05d17ab
--- /dev/null
+++ b/lib/terminfo/n/nwp-511
@@ -0,0 +1 @@
+nwp511
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp-517 b/lib/terminfo/n/nwp-517
new file mode 120000
index 0000000..15f252a
--- /dev/null
+++ b/lib/terminfo/n/nwp-517
@@ -0,0 +1 @@
+nwp517
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp-517-w b/lib/terminfo/n/nwp-517-w
new file mode 120000
index 0000000..c7fd81b
--- /dev/null
+++ b/lib/terminfo/n/nwp-517-w
@@ -0,0 +1 @@
+nwp517-w
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp251-a b/lib/terminfo/n/nwp251-a
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/nwp251-a
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp251-o b/lib/terminfo/n/nwp251-o
new file mode 120000
index 0000000..500f8f4
--- /dev/null
+++ b/lib/terminfo/n/nwp251-o
@@ -0,0 +1 @@
+nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp511 b/lib/terminfo/n/nwp511
new file mode 100644
index 0000000..0bf5e93
--- /dev/null
+++ b/lib/terminfo/n/nwp511
Binary files differ
diff --git a/lib/terminfo/n/nwp512 b/lib/terminfo/n/nwp512
new file mode 100644
index 0000000..56048d9
--- /dev/null
+++ b/lib/terminfo/n/nwp512
Binary files differ
diff --git a/lib/terminfo/n/nwp512-a b/lib/terminfo/n/nwp512-a
new file mode 100644
index 0000000..2c1b55e
--- /dev/null
+++ b/lib/terminfo/n/nwp512-a
Binary files differ
diff --git a/lib/terminfo/n/nwp512-o b/lib/terminfo/n/nwp512-o
new file mode 100644
index 0000000..7f1f4b9
--- /dev/null
+++ b/lib/terminfo/n/nwp512-o
Binary files differ
diff --git a/lib/terminfo/n/nwp513 b/lib/terminfo/n/nwp513
new file mode 100644
index 0000000..022ba72
--- /dev/null
+++ b/lib/terminfo/n/nwp513
Binary files differ
diff --git a/lib/terminfo/n/nwp513-a b/lib/terminfo/n/nwp513-a
new file mode 100644
index 0000000..cb91779
--- /dev/null
+++ b/lib/terminfo/n/nwp513-a
Binary files differ
diff --git a/lib/terminfo/n/nwp513-o b/lib/terminfo/n/nwp513-o
new file mode 100644
index 0000000..83a9eda
--- /dev/null
+++ b/lib/terminfo/n/nwp513-o
Binary files differ
diff --git a/lib/terminfo/n/nwp514 b/lib/terminfo/n/nwp514
new file mode 120000
index 0000000..341db58
--- /dev/null
+++ b/lib/terminfo/n/nwp514
@@ -0,0 +1 @@
+nwp512
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp514-a b/lib/terminfo/n/nwp514-a
new file mode 120000
index 0000000..ca3992e
--- /dev/null
+++ b/lib/terminfo/n/nwp514-a
@@ -0,0 +1 @@
+nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp514-o b/lib/terminfo/n/nwp514-o
new file mode 120000
index 0000000..c4b19d4
--- /dev/null
+++ b/lib/terminfo/n/nwp514-o
@@ -0,0 +1 @@
+nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp517 b/lib/terminfo/n/nwp517
new file mode 100644
index 0000000..8594da6
--- /dev/null
+++ b/lib/terminfo/n/nwp517
Binary files differ
diff --git a/lib/terminfo/n/nwp517-w b/lib/terminfo/n/nwp517-w
new file mode 100644
index 0000000..c177f6b
--- /dev/null
+++ b/lib/terminfo/n/nwp517-w
Binary files differ
diff --git a/lib/terminfo/n/nwp518 b/lib/terminfo/n/nwp518
new file mode 120000
index 0000000..22c0e76
--- /dev/null
+++ b/lib/terminfo/n/nwp518
@@ -0,0 +1 @@
+nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp518-a b/lib/terminfo/n/nwp518-a
new file mode 120000
index 0000000..e0eba73
--- /dev/null
+++ b/lib/terminfo/n/nwp518-a
@@ -0,0 +1 @@
+nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp518-o b/lib/terminfo/n/nwp518-o
new file mode 120000
index 0000000..500f8f4
--- /dev/null
+++ b/lib/terminfo/n/nwp518-o
@@ -0,0 +1 @@
+nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nxterm b/lib/terminfo/n/nxterm
new file mode 120000
index 0000000..964e3b4
--- /dev/null
+++ b/lib/terminfo/n/nxterm
@@ -0,0 +1 @@
+../x/xterm-color
\ No newline at end of file
diff --git a/lib/terminfo/o/o31 b/lib/terminfo/o/o31
new file mode 120000
index 0000000..3e59555
--- /dev/null
+++ b/lib/terminfo/o/o31
@@ -0,0 +1 @@
+../a/adm31-old
\ No newline at end of file
diff --git a/lib/terminfo/o/o4112-nd b/lib/terminfo/o/o4112-nd
new file mode 120000
index 0000000..5d382b1
--- /dev/null
+++ b/lib/terminfo/o/o4112-nd
@@ -0,0 +1 @@
+otek4112
\ No newline at end of file
diff --git a/lib/terminfo/o/o85h b/lib/terminfo/o/o85h
new file mode 120000
index 0000000..6a51cfc
--- /dev/null
+++ b/lib/terminfo/o/o85h
@@ -0,0 +1 @@
+../a/abm85h-old
\ No newline at end of file
diff --git a/lib/terminfo/o/oabm85h b/lib/terminfo/o/oabm85h
new file mode 120000
index 0000000..6a51cfc
--- /dev/null
+++ b/lib/terminfo/o/oabm85h
@@ -0,0 +1 @@
+../a/abm85h-old
\ No newline at end of file
diff --git a/lib/terminfo/o/oblit b/lib/terminfo/o/oblit
new file mode 100644
index 0000000..6695983
--- /dev/null
+++ b/lib/terminfo/o/oblit
Binary files differ
diff --git a/lib/terminfo/o/oc100 b/lib/terminfo/o/oc100
new file mode 100644
index 0000000..d388733
--- /dev/null
+++ b/lib/terminfo/o/oc100
Binary files differ
diff --git a/lib/terminfo/o/oconcept b/lib/terminfo/o/oconcept
new file mode 120000
index 0000000..7e3b504
--- /dev/null
+++ b/lib/terminfo/o/oconcept
@@ -0,0 +1 @@
+oc100
\ No newline at end of file
diff --git a/lib/terminfo/o/ofcons b/lib/terminfo/o/ofcons
new file mode 100644
index 0000000..bafc10f
--- /dev/null
+++ b/lib/terminfo/o/ofcons
Binary files differ
diff --git a/lib/terminfo/o/ojerq b/lib/terminfo/o/ojerq
new file mode 120000
index 0000000..4e16f6e
--- /dev/null
+++ b/lib/terminfo/o/ojerq
@@ -0,0 +1 @@
+oblit
\ No newline at end of file
diff --git a/lib/terminfo/o/old-st b/lib/terminfo/o/old-st
new file mode 120000
index 0000000..bc3828a
--- /dev/null
+++ b/lib/terminfo/o/old-st
@@ -0,0 +1 @@
+../s/simpleterm
\ No newline at end of file
diff --git a/lib/terminfo/o/oldibmpc3 b/lib/terminfo/o/oldibmpc3
new file mode 120000
index 0000000..2a5c67b
--- /dev/null
+++ b/lib/terminfo/o/oldibmpc3
@@ -0,0 +1 @@
+oldpc3
\ No newline at end of file
diff --git a/lib/terminfo/o/oldpc3 b/lib/terminfo/o/oldpc3
new file mode 100644
index 0000000..b3d2def
--- /dev/null
+++ b/lib/terminfo/o/oldpc3
Binary files differ
diff --git a/lib/terminfo/o/oldsun b/lib/terminfo/o/oldsun
new file mode 100644
index 0000000..c3ee0df
--- /dev/null
+++ b/lib/terminfo/o/oldsun
Binary files differ
diff --git a/lib/terminfo/o/omron b/lib/terminfo/o/omron
new file mode 100644
index 0000000..91508fe
--- /dev/null
+++ b/lib/terminfo/o/omron
Binary files differ
diff --git a/lib/terminfo/o/opennt b/lib/terminfo/o/opennt
new file mode 120000
index 0000000..afbf7a7
--- /dev/null
+++ b/lib/terminfo/o/opennt
@@ -0,0 +1 @@
+../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-100 b/lib/terminfo/o/opennt-100
new file mode 100644
index 0000000..cb41a17
--- /dev/null
+++ b/lib/terminfo/o/opennt-100
Binary files differ
diff --git a/lib/terminfo/o/opennt-100-nti b/lib/terminfo/o/opennt-100-nti
new file mode 100644
index 0000000..4aeae68
--- /dev/null
+++ b/lib/terminfo/o/opennt-100-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-25 b/lib/terminfo/o/opennt-25
new file mode 120000
index 0000000..afbf7a7
--- /dev/null
+++ b/lib/terminfo/o/opennt-25
@@ -0,0 +1 @@
+../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25-nti b/lib/terminfo/o/opennt-25-nti
new file mode 120000
index 0000000..64a0d50
--- /dev/null
+++ b/lib/terminfo/o/opennt-25-nti
@@ -0,0 +1 @@
+../i/interix-nti
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25-w b/lib/terminfo/o/opennt-25-w
new file mode 120000
index 0000000..da385c0
--- /dev/null
+++ b/lib/terminfo/o/opennt-25-w
@@ -0,0 +1 @@
+opennt-w
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25-w-vt b/lib/terminfo/o/opennt-25-w-vt
new file mode 120000
index 0000000..5753582
--- /dev/null
+++ b/lib/terminfo/o/opennt-25-w-vt
@@ -0,0 +1 @@
+opennt-w-vt
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-35 b/lib/terminfo/o/opennt-35
new file mode 100644
index 0000000..7c43dd1
--- /dev/null
+++ b/lib/terminfo/o/opennt-35
Binary files differ
diff --git a/lib/terminfo/o/opennt-35-nti b/lib/terminfo/o/opennt-35-nti
new file mode 100644
index 0000000..35adabf
--- /dev/null
+++ b/lib/terminfo/o/opennt-35-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-35-w b/lib/terminfo/o/opennt-35-w
new file mode 100644
index 0000000..ef34320
--- /dev/null
+++ b/lib/terminfo/o/opennt-35-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-50 b/lib/terminfo/o/opennt-50
new file mode 100644
index 0000000..7999b6a
--- /dev/null
+++ b/lib/terminfo/o/opennt-50
Binary files differ
diff --git a/lib/terminfo/o/opennt-50-nti b/lib/terminfo/o/opennt-50-nti
new file mode 100644
index 0000000..fb6d641
--- /dev/null
+++ b/lib/terminfo/o/opennt-50-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-50-w b/lib/terminfo/o/opennt-50-w
new file mode 100644
index 0000000..6a81c1b
--- /dev/null
+++ b/lib/terminfo/o/opennt-50-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-60 b/lib/terminfo/o/opennt-60
new file mode 100644
index 0000000..6864f28
--- /dev/null
+++ b/lib/terminfo/o/opennt-60
Binary files differ
diff --git a/lib/terminfo/o/opennt-60-nti b/lib/terminfo/o/opennt-60-nti
new file mode 100644
index 0000000..d43d4cf
--- /dev/null
+++ b/lib/terminfo/o/opennt-60-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-60-w b/lib/terminfo/o/opennt-60-w
new file mode 100644
index 0000000..f32b60d
--- /dev/null
+++ b/lib/terminfo/o/opennt-60-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-nti b/lib/terminfo/o/opennt-nti
new file mode 120000
index 0000000..64a0d50
--- /dev/null
+++ b/lib/terminfo/o/opennt-nti
@@ -0,0 +1 @@
+../i/interix-nti
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-w b/lib/terminfo/o/opennt-w
new file mode 100644
index 0000000..22044dd
--- /dev/null
+++ b/lib/terminfo/o/opennt-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-w-vt b/lib/terminfo/o/opennt-w-vt
new file mode 100644
index 0000000..1a8724d
--- /dev/null
+++ b/lib/terminfo/o/opennt-w-vt
Binary files differ
diff --git a/lib/terminfo/o/opus3n1+ b/lib/terminfo/o/opus3n1+
new file mode 100644
index 0000000..7286a81
--- /dev/null
+++ b/lib/terminfo/o/opus3n1+
Binary files differ
diff --git a/lib/terminfo/o/origibmpc3 b/lib/terminfo/o/origibmpc3
new file mode 120000
index 0000000..430ce4a
--- /dev/null
+++ b/lib/terminfo/o/origibmpc3
@@ -0,0 +1 @@
+origpc3
\ No newline at end of file
diff --git a/lib/terminfo/o/origpc3 b/lib/terminfo/o/origpc3
new file mode 100644
index 0000000..31c7a93
--- /dev/null
+++ b/lib/terminfo/o/origpc3
Binary files differ
diff --git a/lib/terminfo/o/os9LII b/lib/terminfo/o/os9LII
new file mode 120000
index 0000000..c006f2c
--- /dev/null
+++ b/lib/terminfo/o/os9LII
@@ -0,0 +1 @@
+../c/coco3
\ No newline at end of file
diff --git a/lib/terminfo/o/osborne b/lib/terminfo/o/osborne
new file mode 100644
index 0000000..d78d708
--- /dev/null
+++ b/lib/terminfo/o/osborne
Binary files differ
diff --git a/lib/terminfo/o/osborne-w b/lib/terminfo/o/osborne-w
new file mode 100644
index 0000000..cece487
--- /dev/null
+++ b/lib/terminfo/o/osborne-w
Binary files differ
diff --git a/lib/terminfo/o/osborne1 b/lib/terminfo/o/osborne1
new file mode 120000
index 0000000..125b6a6
--- /dev/null
+++ b/lib/terminfo/o/osborne1
@@ -0,0 +1 @@
+osborne
\ No newline at end of file
diff --git a/lib/terminfo/o/osborne1-w b/lib/terminfo/o/osborne1-w
new file mode 120000
index 0000000..cb2c9ea
--- /dev/null
+++ b/lib/terminfo/o/osborne1-w
@@ -0,0 +1 @@
+osborne-w
\ No newline at end of file
diff --git a/lib/terminfo/o/osexec b/lib/terminfo/o/osexec
new file mode 100644
index 0000000..222300c
--- /dev/null
+++ b/lib/terminfo/o/osexec
Binary files differ
diff --git a/lib/terminfo/o/otek4112 b/lib/terminfo/o/otek4112
new file mode 100644
index 0000000..c9b5133
--- /dev/null
+++ b/lib/terminfo/o/otek4112
Binary files differ
diff --git a/lib/terminfo/o/otek4113 b/lib/terminfo/o/otek4113
new file mode 120000
index 0000000..5d382b1
--- /dev/null
+++ b/lib/terminfo/o/otek4113
@@ -0,0 +1 @@
+otek4112
\ No newline at end of file
diff --git a/lib/terminfo/o/otek4114 b/lib/terminfo/o/otek4114
new file mode 120000
index 0000000..5d382b1
--- /dev/null
+++ b/lib/terminfo/o/otek4114
@@ -0,0 +1 @@
+otek4112
\ No newline at end of file
diff --git a/lib/terminfo/o/otek4115 b/lib/terminfo/o/otek4115
new file mode 100644
index 0000000..a9f771e
--- /dev/null
+++ b/lib/terminfo/o/otek4115
Binary files differ
diff --git a/lib/terminfo/o/owl b/lib/terminfo/o/owl
new file mode 100644
index 0000000..e61de48
--- /dev/null
+++ b/lib/terminfo/o/owl
Binary files differ
diff --git a/lib/terminfo/p/p12 b/lib/terminfo/p/p12
new file mode 120000
index 0000000..db742c5
--- /dev/null
+++ b/lib/terminfo/p/p12
@@ -0,0 +1 @@
+prism12
\ No newline at end of file
diff --git a/lib/terminfo/p/p12-m b/lib/terminfo/p/p12-m
new file mode 120000
index 0000000..41dc8d0
--- /dev/null
+++ b/lib/terminfo/p/p12-m
@@ -0,0 +1 @@
+prism12-m
\ No newline at end of file
diff --git a/lib/terminfo/p/p12-m-w b/lib/terminfo/p/p12-m-w
new file mode 120000
index 0000000..f913324
--- /dev/null
+++ b/lib/terminfo/p/p12-m-w
@@ -0,0 +1 @@
+prism12-m-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p12-w b/lib/terminfo/p/p12-w
new file mode 120000
index 0000000..f54b444
--- /dev/null
+++ b/lib/terminfo/p/p12-w
@@ -0,0 +1 @@
+prism12-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p14 b/lib/terminfo/p/p14
new file mode 120000
index 0000000..cb0840e
--- /dev/null
+++ b/lib/terminfo/p/p14
@@ -0,0 +1 @@
+prism14
\ No newline at end of file
diff --git a/lib/terminfo/p/p14-m b/lib/terminfo/p/p14-m
new file mode 120000
index 0000000..7b90b31
--- /dev/null
+++ b/lib/terminfo/p/p14-m
@@ -0,0 +1 @@
+prism14-m
\ No newline at end of file
diff --git a/lib/terminfo/p/p14-m-w b/lib/terminfo/p/p14-m-w
new file mode 120000
index 0000000..064d91e
--- /dev/null
+++ b/lib/terminfo/p/p14-m-w
@@ -0,0 +1 @@
+prism14-m-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p14-w b/lib/terminfo/p/p14-w
new file mode 120000
index 0000000..bde3ba7
--- /dev/null
+++ b/lib/terminfo/p/p14-w
@@ -0,0 +1 @@
+prism14-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p19 b/lib/terminfo/p/p19
new file mode 100644
index 0000000..4b1eda0
--- /dev/null
+++ b/lib/terminfo/p/p19
Binary files differ
diff --git a/lib/terminfo/p/p4 b/lib/terminfo/p/p4
new file mode 120000
index 0000000..becfc64
--- /dev/null
+++ b/lib/terminfo/p/p4
@@ -0,0 +1 @@
+prism4
\ No newline at end of file
diff --git a/lib/terminfo/p/p5 b/lib/terminfo/p/p5
new file mode 120000
index 0000000..e004cde
--- /dev/null
+++ b/lib/terminfo/p/p5
@@ -0,0 +1 @@
+prism5
\ No newline at end of file
diff --git a/lib/terminfo/p/p7 b/lib/terminfo/p/p7
new file mode 120000
index 0000000..a2573d3
--- /dev/null
+++ b/lib/terminfo/p/p7
@@ -0,0 +1 @@
+prism7
\ No newline at end of file
diff --git a/lib/terminfo/p/p8 b/lib/terminfo/p/p8
new file mode 120000
index 0000000..60bdb9c
--- /dev/null
+++ b/lib/terminfo/p/p8
@@ -0,0 +1 @@
+prism8
\ No newline at end of file
diff --git a/lib/terminfo/p/p8-w b/lib/terminfo/p/p8-w
new file mode 120000
index 0000000..193f368
--- /dev/null
+++ b/lib/terminfo/p/p8-w
@@ -0,0 +1 @@
+prism8-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p8gl b/lib/terminfo/p/p8gl
new file mode 100644
index 0000000..aabd613
--- /dev/null
+++ b/lib/terminfo/p/p8gl
Binary files differ
diff --git a/lib/terminfo/p/p9 b/lib/terminfo/p/p9
new file mode 120000
index 0000000..e56394f
--- /dev/null
+++ b/lib/terminfo/p/p9
@@ -0,0 +1 @@
+prism9
\ No newline at end of file
diff --git a/lib/terminfo/p/p9-8 b/lib/terminfo/p/p9-8
new file mode 120000
index 0000000..54ec5da
--- /dev/null
+++ b/lib/terminfo/p/p9-8
@@ -0,0 +1 @@
+prism9-8
\ No newline at end of file
diff --git a/lib/terminfo/p/p9-8-w b/lib/terminfo/p/p9-8-w
new file mode 120000
index 0000000..c6a8979
--- /dev/null
+++ b/lib/terminfo/p/p9-8-w
@@ -0,0 +1 @@
+prism9-8-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p9-w b/lib/terminfo/p/p9-w
new file mode 120000
index 0000000..f603e36
--- /dev/null
+++ b/lib/terminfo/p/p9-w
@@ -0,0 +1 @@
+prism9-w
\ No newline at end of file
diff --git a/lib/terminfo/p/pc-coherent b/lib/terminfo/p/pc-coherent
new file mode 100644
index 0000000..e6e3856
--- /dev/null
+++ b/lib/terminfo/p/pc-coherent
Binary files differ
diff --git a/lib/terminfo/p/pc-minix b/lib/terminfo/p/pc-minix
new file mode 100644
index 0000000..afc1229
--- /dev/null
+++ b/lib/terminfo/p/pc-minix
Binary files differ
diff --git a/lib/terminfo/p/pc-venix b/lib/terminfo/p/pc-venix
new file mode 100644
index 0000000..32a7ec0
--- /dev/null
+++ b/lib/terminfo/p/pc-venix
Binary files differ
diff --git a/lib/terminfo/p/pc3 b/lib/terminfo/p/pc3
new file mode 100644
index 0000000..b1f3c67
--- /dev/null
+++ b/lib/terminfo/p/pc3
Binary files differ
diff --git a/lib/terminfo/p/pc3-bold b/lib/terminfo/p/pc3-bold
new file mode 120000
index 0000000..b7bc851
--- /dev/null
+++ b/lib/terminfo/p/pc3-bold
@@ -0,0 +1 @@
+../i/ibmpc3
\ No newline at end of file
diff --git a/lib/terminfo/p/pc3r b/lib/terminfo/p/pc3r
new file mode 120000
index 0000000..49171c0
--- /dev/null
+++ b/lib/terminfo/p/pc3r
@@ -0,0 +1 @@
+../c/cons25r
\ No newline at end of file
diff --git a/lib/terminfo/p/pc3r-m b/lib/terminfo/p/pc3r-m
new file mode 120000
index 0000000..bd709b5
--- /dev/null
+++ b/lib/terminfo/p/pc3r-m
@@ -0,0 +1 @@
+../c/cons25r-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pc6300plus b/lib/terminfo/p/pc6300plus
new file mode 100644
index 0000000..8e95f22
--- /dev/null
+++ b/lib/terminfo/p/pc6300plus
Binary files differ
diff --git a/lib/terminfo/p/pc7300 b/lib/terminfo/p/pc7300
new file mode 120000
index 0000000..baaa9ad
--- /dev/null
+++ b/lib/terminfo/p/pc7300
@@ -0,0 +1 @@
+../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi b/lib/terminfo/p/pcansi
new file mode 100644
index 0000000..b24fba9
--- /dev/null
+++ b/lib/terminfo/p/pcansi
Binary files differ
diff --git a/lib/terminfo/p/pcansi-25 b/lib/terminfo/p/pcansi-25
new file mode 100644
index 0000000..50440ac
--- /dev/null
+++ b/lib/terminfo/p/pcansi-25
Binary files differ
diff --git a/lib/terminfo/p/pcansi-25-m b/lib/terminfo/p/pcansi-25-m
new file mode 100644
index 0000000..eea4646
--- /dev/null
+++ b/lib/terminfo/p/pcansi-25-m
Binary files differ
diff --git a/lib/terminfo/p/pcansi-33 b/lib/terminfo/p/pcansi-33
new file mode 100644
index 0000000..77ec07a
--- /dev/null
+++ b/lib/terminfo/p/pcansi-33
Binary files differ
diff --git a/lib/terminfo/p/pcansi-33-m b/lib/terminfo/p/pcansi-33-m
new file mode 100644
index 0000000..c9b0dcb
--- /dev/null
+++ b/lib/terminfo/p/pcansi-33-m
Binary files differ
diff --git a/lib/terminfo/p/pcansi-43 b/lib/terminfo/p/pcansi-43
new file mode 100644
index 0000000..4399ed8
--- /dev/null
+++ b/lib/terminfo/p/pcansi-43
Binary files differ
diff --git a/lib/terminfo/p/pcansi-43-m b/lib/terminfo/p/pcansi-43-m
new file mode 100644
index 0000000..be56918
--- /dev/null
+++ b/lib/terminfo/p/pcansi-43-m
Binary files differ
diff --git a/lib/terminfo/p/pcansi-m b/lib/terminfo/p/pcansi-m
new file mode 100644
index 0000000..290b8f7
--- /dev/null
+++ b/lib/terminfo/p/pcansi-m
Binary files differ
diff --git a/lib/terminfo/p/pcansi-mono b/lib/terminfo/p/pcansi-mono
new file mode 120000
index 0000000..a7807f8
--- /dev/null
+++ b/lib/terminfo/p/pcansi-mono
@@ -0,0 +1 @@
+pcansi-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi25 b/lib/terminfo/p/pcansi25
new file mode 120000
index 0000000..a75173d
--- /dev/null
+++ b/lib/terminfo/p/pcansi25
@@ -0,0 +1 @@
+pcansi-25
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi25m b/lib/terminfo/p/pcansi25m
new file mode 120000
index 0000000..403da5f
--- /dev/null
+++ b/lib/terminfo/p/pcansi25m
@@ -0,0 +1 @@
+pcansi-25-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi33 b/lib/terminfo/p/pcansi33
new file mode 120000
index 0000000..c816178
--- /dev/null
+++ b/lib/terminfo/p/pcansi33
@@ -0,0 +1 @@
+pcansi-33
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi33m b/lib/terminfo/p/pcansi33m
new file mode 120000
index 0000000..65c8c3e
--- /dev/null
+++ b/lib/terminfo/p/pcansi33m
@@ -0,0 +1 @@
+pcansi-33-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi43 b/lib/terminfo/p/pcansi43
new file mode 120000
index 0000000..ac45333
--- /dev/null
+++ b/lib/terminfo/p/pcansi43
@@ -0,0 +1 @@
+pcansi-43
\ No newline at end of file
diff --git a/lib/terminfo/p/pccon b/lib/terminfo/p/pccon
new file mode 100644
index 0000000..47d4e94
--- /dev/null
+++ b/lib/terminfo/p/pccon
Binary files differ
diff --git a/lib/terminfo/p/pccon+base b/lib/terminfo/p/pccon+base
new file mode 100644
index 0000000..83277fa
--- /dev/null
+++ b/lib/terminfo/p/pccon+base
Binary files differ
diff --git a/lib/terminfo/p/pccon+colors b/lib/terminfo/p/pccon+colors
new file mode 100644
index 0000000..f9abbdd
--- /dev/null
+++ b/lib/terminfo/p/pccon+colors
Binary files differ
diff --git a/lib/terminfo/p/pccon+keys b/lib/terminfo/p/pccon+keys
new file mode 100644
index 0000000..6a91f55
--- /dev/null
+++ b/lib/terminfo/p/pccon+keys
Binary files differ
diff --git a/lib/terminfo/p/pccon+sgr+acs b/lib/terminfo/p/pccon+sgr+acs
new file mode 100644
index 0000000..88c1158
--- /dev/null
+++ b/lib/terminfo/p/pccon+sgr+acs
Binary files differ
diff --git a/lib/terminfo/p/pccon+sgr+acs0 b/lib/terminfo/p/pccon+sgr+acs0
new file mode 100644
index 0000000..e46c007
--- /dev/null
+++ b/lib/terminfo/p/pccon+sgr+acs0
Binary files differ
diff --git a/lib/terminfo/p/pccon-m b/lib/terminfo/p/pccon-m
new file mode 100644
index 0000000..ed89f9b
--- /dev/null
+++ b/lib/terminfo/p/pccon-m
Binary files differ
diff --git a/lib/terminfo/p/pccon0 b/lib/terminfo/p/pccon0
new file mode 100644
index 0000000..1b056ce
--- /dev/null
+++ b/lib/terminfo/p/pccon0
Binary files differ
diff --git a/lib/terminfo/p/pccon0-m b/lib/terminfo/p/pccon0-m
new file mode 100644
index 0000000..c09fca1
--- /dev/null
+++ b/lib/terminfo/p/pccon0-m
Binary files differ
diff --git a/lib/terminfo/p/pccons b/lib/terminfo/p/pccons
new file mode 100644
index 0000000..5d7c945
--- /dev/null
+++ b/lib/terminfo/p/pccons
Binary files differ
diff --git a/lib/terminfo/p/pcconsole b/lib/terminfo/p/pcconsole
new file mode 120000
index 0000000..a775058
--- /dev/null
+++ b/lib/terminfo/p/pcconsole
@@ -0,0 +1 @@
+pccons
\ No newline at end of file
diff --git a/lib/terminfo/p/pcix b/lib/terminfo/p/pcix
new file mode 100644
index 0000000..fdfbe51
--- /dev/null
+++ b/lib/terminfo/p/pcix
Binary files differ
diff --git a/lib/terminfo/p/pckermit b/lib/terminfo/p/pckermit
new file mode 100644
index 0000000..55ac2cc
--- /dev/null
+++ b/lib/terminfo/p/pckermit
Binary files differ
diff --git a/lib/terminfo/p/pckermit12 b/lib/terminfo/p/pckermit12
new file mode 120000
index 0000000..a38f4d5
--- /dev/null
+++ b/lib/terminfo/p/pckermit12
@@ -0,0 +1 @@
+pckermit
\ No newline at end of file
diff --git a/lib/terminfo/p/pckermit120 b/lib/terminfo/p/pckermit120
new file mode 100644
index 0000000..b8682c8
--- /dev/null
+++ b/lib/terminfo/p/pckermit120
Binary files differ
diff --git a/lib/terminfo/p/pcmw b/lib/terminfo/p/pcmw
new file mode 100644
index 0000000..f9f106a
--- /dev/null
+++ b/lib/terminfo/p/pcmw
Binary files differ
diff --git a/lib/terminfo/p/pcplot b/lib/terminfo/p/pcplot
new file mode 100644
index 0000000..a2a38b6
--- /dev/null
+++ b/lib/terminfo/p/pcplot
Binary files differ
diff --git a/lib/terminfo/p/pcvt25 b/lib/terminfo/p/pcvt25
new file mode 100644
index 0000000..05b09de
--- /dev/null
+++ b/lib/terminfo/p/pcvt25
Binary files differ
diff --git a/lib/terminfo/p/pcvt25-color b/lib/terminfo/p/pcvt25-color
new file mode 100644
index 0000000..55a91ca
--- /dev/null
+++ b/lib/terminfo/p/pcvt25-color
Binary files differ
diff --git a/lib/terminfo/p/pcvt25w b/lib/terminfo/p/pcvt25w
new file mode 100644
index 0000000..7177622
--- /dev/null
+++ b/lib/terminfo/p/pcvt25w
Binary files differ
diff --git a/lib/terminfo/p/pcvt28 b/lib/terminfo/p/pcvt28
new file mode 100644
index 0000000..99707de
--- /dev/null
+++ b/lib/terminfo/p/pcvt28
Binary files differ
diff --git a/lib/terminfo/p/pcvt28w b/lib/terminfo/p/pcvt28w
new file mode 100644
index 0000000..d5d6aee
--- /dev/null
+++ b/lib/terminfo/p/pcvt28w
Binary files differ
diff --git a/lib/terminfo/p/pcvt35 b/lib/terminfo/p/pcvt35
new file mode 100644
index 0000000..4862916
--- /dev/null
+++ b/lib/terminfo/p/pcvt35
Binary files differ
diff --git a/lib/terminfo/p/pcvt35w b/lib/terminfo/p/pcvt35w
new file mode 100644
index 0000000..0bd5d96
--- /dev/null
+++ b/lib/terminfo/p/pcvt35w
Binary files differ
diff --git a/lib/terminfo/p/pcvt40 b/lib/terminfo/p/pcvt40
new file mode 100644
index 0000000..92f9a5a
--- /dev/null
+++ b/lib/terminfo/p/pcvt40
Binary files differ
diff --git a/lib/terminfo/p/pcvt40w b/lib/terminfo/p/pcvt40w
new file mode 100644
index 0000000..849e5d3
--- /dev/null
+++ b/lib/terminfo/p/pcvt40w
Binary files differ
diff --git a/lib/terminfo/p/pcvt43 b/lib/terminfo/p/pcvt43
new file mode 100644
index 0000000..47c86c7
--- /dev/null
+++ b/lib/terminfo/p/pcvt43
Binary files differ
diff --git a/lib/terminfo/p/pcvt43w b/lib/terminfo/p/pcvt43w
new file mode 100644
index 0000000..7ea89d1
--- /dev/null
+++ b/lib/terminfo/p/pcvt43w
Binary files differ
diff --git a/lib/terminfo/p/pcvt50 b/lib/terminfo/p/pcvt50
new file mode 100644
index 0000000..5dc79d6
--- /dev/null
+++ b/lib/terminfo/p/pcvt50
Binary files differ
diff --git a/lib/terminfo/p/pcvt50w b/lib/terminfo/p/pcvt50w
new file mode 100644
index 0000000..5aa4fdb
--- /dev/null
+++ b/lib/terminfo/p/pcvt50w
Binary files differ
diff --git a/lib/terminfo/p/pcvtXX b/lib/terminfo/p/pcvtXX
new file mode 100644
index 0000000..e1e0d38
--- /dev/null
+++ b/lib/terminfo/p/pcvtXX
Binary files differ
diff --git a/lib/terminfo/p/pcz19 b/lib/terminfo/p/pcz19
new file mode 120000
index 0000000..60bb679
--- /dev/null
+++ b/lib/terminfo/p/pcz19
@@ -0,0 +1 @@
+pc-coherent
\ No newline at end of file
diff --git a/lib/terminfo/p/pe1100 b/lib/terminfo/p/pe1100
new file mode 120000
index 0000000..3a05707
--- /dev/null
+++ b/lib/terminfo/p/pe1100
@@ -0,0 +1 @@
+../f/fox
\ No newline at end of file
diff --git a/lib/terminfo/p/pe1200 b/lib/terminfo/p/pe1200
new file mode 120000
index 0000000..1c6f1e4
--- /dev/null
+++ b/lib/terminfo/p/pe1200
@@ -0,0 +1 @@
+../o/owl
\ No newline at end of file
diff --git a/lib/terminfo/p/pe1251 b/lib/terminfo/p/pe1251
new file mode 100644
index 0000000..2210500
--- /dev/null
+++ b/lib/terminfo/p/pe1251
Binary files differ
diff --git a/lib/terminfo/p/pe550 b/lib/terminfo/p/pe550
new file mode 120000
index 0000000..2b0ff04
--- /dev/null
+++ b/lib/terminfo/p/pe550
@@ -0,0 +1 @@
+../b/bantam
\ No newline at end of file
diff --git a/lib/terminfo/p/pe6100 b/lib/terminfo/p/pe6100
new file mode 120000
index 0000000..2b0ff04
--- /dev/null
+++ b/lib/terminfo/p/pe6100
@@ -0,0 +1 @@
+../b/bantam
\ No newline at end of file
diff --git a/lib/terminfo/p/pe6300 b/lib/terminfo/p/pe6300
new file mode 120000
index 0000000..29ecae9
--- /dev/null
+++ b/lib/terminfo/p/pe6300
@@ -0,0 +1 @@
+pe1251
\ No newline at end of file
diff --git a/lib/terminfo/p/pe6312 b/lib/terminfo/p/pe6312
new file mode 120000
index 0000000..29ecae9
--- /dev/null
+++ b/lib/terminfo/p/pe6312
@@ -0,0 +1 @@
+pe1251
\ No newline at end of file
diff --git a/lib/terminfo/p/pe7000c b/lib/terminfo/p/pe7000c
new file mode 100644
index 0000000..db2fcde
--- /dev/null
+++ b/lib/terminfo/p/pe7000c
Binary files differ
diff --git a/lib/terminfo/p/pe7000m b/lib/terminfo/p/pe7000m
new file mode 100644
index 0000000..00c5837
--- /dev/null
+++ b/lib/terminfo/p/pe7000m
Binary files differ
diff --git a/lib/terminfo/p/pilot b/lib/terminfo/p/pilot
new file mode 100644
index 0000000..8614833
--- /dev/null
+++ b/lib/terminfo/p/pilot
Binary files differ
diff --git a/lib/terminfo/p/pmcons b/lib/terminfo/p/pmcons
new file mode 100644
index 0000000..5a5b783
--- /dev/null
+++ b/lib/terminfo/p/pmcons
Binary files differ
diff --git a/lib/terminfo/p/pmconsole b/lib/terminfo/p/pmconsole
new file mode 120000
index 0000000..7e4046b
--- /dev/null
+++ b/lib/terminfo/p/pmconsole
@@ -0,0 +1 @@
+pmcons
\ No newline at end of file
diff --git a/lib/terminfo/p/printer b/lib/terminfo/p/printer
new file mode 120000
index 0000000..762e6dc
--- /dev/null
+++ b/lib/terminfo/p/printer
@@ -0,0 +1 @@
+../l/lpr
\ No newline at end of file
diff --git a/lib/terminfo/p/prism12 b/lib/terminfo/p/prism12
new file mode 100644
index 0000000..12de256
--- /dev/null
+++ b/lib/terminfo/p/prism12
Binary files differ
diff --git a/lib/terminfo/p/prism12-m b/lib/terminfo/p/prism12-m
new file mode 100644
index 0000000..c4dd321
--- /dev/null
+++ b/lib/terminfo/p/prism12-m
Binary files differ
diff --git a/lib/terminfo/p/prism12-m-w b/lib/terminfo/p/prism12-m-w
new file mode 100644
index 0000000..7a52b60
--- /dev/null
+++ b/lib/terminfo/p/prism12-m-w
Binary files differ
diff --git a/lib/terminfo/p/prism12-w b/lib/terminfo/p/prism12-w
new file mode 100644
index 0000000..2fe870d
--- /dev/null
+++ b/lib/terminfo/p/prism12-w
Binary files differ
diff --git a/lib/terminfo/p/prism14 b/lib/terminfo/p/prism14
new file mode 100644
index 0000000..b029f0a
--- /dev/null
+++ b/lib/terminfo/p/prism14
Binary files differ
diff --git a/lib/terminfo/p/prism14-m b/lib/terminfo/p/prism14-m
new file mode 100644
index 0000000..39dd310
--- /dev/null
+++ b/lib/terminfo/p/prism14-m
Binary files differ
diff --git a/lib/terminfo/p/prism14-m-w b/lib/terminfo/p/prism14-m-w
new file mode 100644
index 0000000..5b6475d
--- /dev/null
+++ b/lib/terminfo/p/prism14-m-w
Binary files differ
diff --git a/lib/terminfo/p/prism14-w b/lib/terminfo/p/prism14-w
new file mode 100644
index 0000000..1d7df53
--- /dev/null
+++ b/lib/terminfo/p/prism14-w
Binary files differ
diff --git a/lib/terminfo/p/prism2 b/lib/terminfo/p/prism2
new file mode 100644
index 0000000..b06737a
--- /dev/null
+++ b/lib/terminfo/p/prism2
Binary files differ
diff --git a/lib/terminfo/p/prism4 b/lib/terminfo/p/prism4
new file mode 100644
index 0000000..1d53e48
--- /dev/null
+++ b/lib/terminfo/p/prism4
Binary files differ
diff --git a/lib/terminfo/p/prism5 b/lib/terminfo/p/prism5
new file mode 100644
index 0000000..f1848d0
--- /dev/null
+++ b/lib/terminfo/p/prism5
Binary files differ
diff --git a/lib/terminfo/p/prism7 b/lib/terminfo/p/prism7
new file mode 100644
index 0000000..539b4ff
--- /dev/null
+++ b/lib/terminfo/p/prism7
Binary files differ
diff --git a/lib/terminfo/p/prism8 b/lib/terminfo/p/prism8
new file mode 100644
index 0000000..12fd9e6
--- /dev/null
+++ b/lib/terminfo/p/prism8
Binary files differ
diff --git a/lib/terminfo/p/prism8-w b/lib/terminfo/p/prism8-w
new file mode 100644
index 0000000..8f254d3
--- /dev/null
+++ b/lib/terminfo/p/prism8-w
Binary files differ
diff --git a/lib/terminfo/p/prism8gl b/lib/terminfo/p/prism8gl
new file mode 120000
index 0000000..917cb43
--- /dev/null
+++ b/lib/terminfo/p/prism8gl
@@ -0,0 +1 @@
+p8gl
\ No newline at end of file
diff --git a/lib/terminfo/p/prism9 b/lib/terminfo/p/prism9
new file mode 100644
index 0000000..0907f61
--- /dev/null
+++ b/lib/terminfo/p/prism9
Binary files differ
diff --git a/lib/terminfo/p/prism9-8 b/lib/terminfo/p/prism9-8
new file mode 100644
index 0000000..8191a9b
--- /dev/null
+++ b/lib/terminfo/p/prism9-8
Binary files differ
diff --git a/lib/terminfo/p/prism9-8-w b/lib/terminfo/p/prism9-8-w
new file mode 100644
index 0000000..93e3da9
--- /dev/null
+++ b/lib/terminfo/p/prism9-8-w
Binary files differ
diff --git a/lib/terminfo/p/prism9-w b/lib/terminfo/p/prism9-w
new file mode 100644
index 0000000..44029ba
--- /dev/null
+++ b/lib/terminfo/p/prism9-w
Binary files differ
diff --git a/lib/terminfo/p/pro350 b/lib/terminfo/p/pro350
new file mode 100644
index 0000000..0e65713
--- /dev/null
+++ b/lib/terminfo/p/pro350
Binary files differ
diff --git a/lib/terminfo/p/ps300 b/lib/terminfo/p/ps300
new file mode 100644
index 0000000..c673ca2
--- /dev/null
+++ b/lib/terminfo/p/ps300
Binary files differ
diff --git a/lib/terminfo/p/psterm b/lib/terminfo/p/psterm
new file mode 100644
index 0000000..d7ec53e
--- /dev/null
+++ b/lib/terminfo/p/psterm
Binary files differ
diff --git a/lib/terminfo/p/psterm-80x24 b/lib/terminfo/p/psterm-80x24
new file mode 100644
index 0000000..786fe23
--- /dev/null
+++ b/lib/terminfo/p/psterm-80x24
Binary files differ
diff --git a/lib/terminfo/p/psterm-90x28 b/lib/terminfo/p/psterm-90x28
new file mode 100644
index 0000000..6557b37
--- /dev/null
+++ b/lib/terminfo/p/psterm-90x28
Binary files differ
diff --git a/lib/terminfo/p/psterm-96x48 b/lib/terminfo/p/psterm-96x48
new file mode 100644
index 0000000..a4ab888
--- /dev/null
+++ b/lib/terminfo/p/psterm-96x48
Binary files differ
diff --git a/lib/terminfo/p/psterm-basic b/lib/terminfo/p/psterm-basic
new file mode 120000
index 0000000..48930e0
--- /dev/null
+++ b/lib/terminfo/p/psterm-basic
@@ -0,0 +1 @@
+psterm
\ No newline at end of file
diff --git a/lib/terminfo/p/psterm-fast b/lib/terminfo/p/psterm-fast
new file mode 100644
index 0000000..48d3c87
--- /dev/null
+++ b/lib/terminfo/p/psterm-fast
Binary files differ
diff --git a/lib/terminfo/p/psx_ansi b/lib/terminfo/p/psx_ansi
new file mode 120000
index 0000000..e2515eb
--- /dev/null
+++ b/lib/terminfo/p/psx_ansi
@@ -0,0 +1 @@
+../a/ansi-nt
\ No newline at end of file
diff --git a/lib/terminfo/p/pt100 b/lib/terminfo/p/pt100
new file mode 100644
index 0000000..7965ed8
--- /dev/null
+++ b/lib/terminfo/p/pt100
Binary files differ
diff --git a/lib/terminfo/p/pt100w b/lib/terminfo/p/pt100w
new file mode 100644
index 0000000..531bc42
--- /dev/null
+++ b/lib/terminfo/p/pt100w
Binary files differ
diff --git a/lib/terminfo/p/pt200 b/lib/terminfo/p/pt200
new file mode 120000
index 0000000..07e013d
--- /dev/null
+++ b/lib/terminfo/p/pt200
@@ -0,0 +1 @@
+pt100
\ No newline at end of file
diff --git a/lib/terminfo/p/pt200w b/lib/terminfo/p/pt200w
new file mode 120000
index 0000000..dd79081
--- /dev/null
+++ b/lib/terminfo/p/pt200w
@@ -0,0 +1 @@
+pt100w
\ No newline at end of file
diff --git a/lib/terminfo/p/pt210 b/lib/terminfo/p/pt210
new file mode 100644
index 0000000..21417c3
--- /dev/null
+++ b/lib/terminfo/p/pt210
Binary files differ
diff --git a/lib/terminfo/p/pt250 b/lib/terminfo/p/pt250
new file mode 100644
index 0000000..01b1660
--- /dev/null
+++ b/lib/terminfo/p/pt250
Binary files differ
diff --git a/lib/terminfo/p/pt250w b/lib/terminfo/p/pt250w
new file mode 100644
index 0000000..46e5e17
--- /dev/null
+++ b/lib/terminfo/p/pt250w
Binary files differ
diff --git a/lib/terminfo/p/pt505 b/lib/terminfo/p/pt505
new file mode 120000
index 0000000..239356b
--- /dev/null
+++ b/lib/terminfo/p/pt505
@@ -0,0 +1 @@
+../a/att505
\ No newline at end of file
diff --git a/lib/terminfo/p/pt505-22 b/lib/terminfo/p/pt505-22
new file mode 120000
index 0000000..0cf41b6
--- /dev/null
+++ b/lib/terminfo/p/pt505-22
@@ -0,0 +1 @@
+../t/tt505-22
\ No newline at end of file
diff --git a/lib/terminfo/p/pt505-24 b/lib/terminfo/p/pt505-24
new file mode 120000
index 0000000..b91fd45
--- /dev/null
+++ b/lib/terminfo/p/pt505-24
@@ -0,0 +1 @@
+../a/att505-24
\ No newline at end of file
diff --git a/lib/terminfo/p/pty b/lib/terminfo/p/pty
new file mode 100644
index 0000000..deb1bf7
--- /dev/null
+++ b/lib/terminfo/p/pty
Binary files differ
diff --git a/lib/terminfo/p/putty b/lib/terminfo/p/putty
new file mode 100644
index 0000000..d81f703
--- /dev/null
+++ b/lib/terminfo/p/putty
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys b/lib/terminfo/p/putty+fnkeys
new file mode 100644
index 0000000..8d0c440
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys+esc b/lib/terminfo/p/putty+fnkeys+esc
new file mode 100644
index 0000000..5b30794
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys+esc
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys+linux b/lib/terminfo/p/putty+fnkeys+linux
new file mode 100644
index 0000000..d6a2dc7
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys+linux
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys+sco b/lib/terminfo/p/putty+fnkeys+sco
new file mode 100644
index 0000000..3ce9718
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys+sco
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys+vt100 b/lib/terminfo/p/putty+fnkeys+vt100
new file mode 100644
index 0000000..769e367
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys+vt100
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys+vt400 b/lib/terminfo/p/putty+fnkeys+vt400
new file mode 100644
index 0000000..1d329d3
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys+vt400
Binary files differ
diff --git a/lib/terminfo/p/putty+fnkeys+xterm b/lib/terminfo/p/putty+fnkeys+xterm
new file mode 100644
index 0000000..994007e
--- /dev/null
+++ b/lib/terminfo/p/putty+fnkeys+xterm
Binary files differ
diff --git a/lib/terminfo/p/putty-256color b/lib/terminfo/p/putty-256color
new file mode 100644
index 0000000..308368d
--- /dev/null
+++ b/lib/terminfo/p/putty-256color
Binary files differ
diff --git a/lib/terminfo/p/putty-sco b/lib/terminfo/p/putty-sco
new file mode 100644
index 0000000..bfe5850
--- /dev/null
+++ b/lib/terminfo/p/putty-sco
Binary files differ
diff --git a/lib/terminfo/p/putty-vt100 b/lib/terminfo/p/putty-vt100
new file mode 100644
index 0000000..a6ec951
--- /dev/null
+++ b/lib/terminfo/p/putty-vt100
Binary files differ
diff --git a/lib/terminfo/q/qansi b/lib/terminfo/q/qansi
new file mode 100644
index 0000000..bc75858
--- /dev/null
+++ b/lib/terminfo/q/qansi
Binary files differ
diff --git a/lib/terminfo/q/qansi-g b/lib/terminfo/q/qansi-g
new file mode 100644
index 0000000..35706e4
--- /dev/null
+++ b/lib/terminfo/q/qansi-g
Binary files differ
diff --git a/lib/terminfo/q/qansi-m b/lib/terminfo/q/qansi-m
new file mode 100644
index 0000000..e19a3d9
--- /dev/null
+++ b/lib/terminfo/q/qansi-m
Binary files differ
diff --git a/lib/terminfo/q/qansi-t b/lib/terminfo/q/qansi-t
new file mode 100644
index 0000000..4d23e48
--- /dev/null
+++ b/lib/terminfo/q/qansi-t
Binary files differ
diff --git a/lib/terminfo/q/qansi-w b/lib/terminfo/q/qansi-w
new file mode 100644
index 0000000..77e03fc
--- /dev/null
+++ b/lib/terminfo/q/qansi-w
Binary files differ
diff --git a/lib/terminfo/q/qdcons b/lib/terminfo/q/qdcons
new file mode 120000
index 0000000..74d877e
--- /dev/null
+++ b/lib/terminfo/q/qdcons
@@ -0,0 +1 @@
+qdss
\ No newline at end of file
diff --git a/lib/terminfo/q/qdss b/lib/terminfo/q/qdss
new file mode 100644
index 0000000..956ea30
--- /dev/null
+++ b/lib/terminfo/q/qdss
Binary files differ
diff --git a/lib/terminfo/q/qnx b/lib/terminfo/q/qnx
new file mode 100644
index 0000000..d14b395
--- /dev/null
+++ b/lib/terminfo/q/qnx
Binary files differ
diff --git a/lib/terminfo/q/qnx4 b/lib/terminfo/q/qnx4
new file mode 120000
index 0000000..d30fa37
--- /dev/null
+++ b/lib/terminfo/q/qnx4
@@ -0,0 +1 @@
+qnx
\ No newline at end of file
diff --git a/lib/terminfo/q/qnxm b/lib/terminfo/q/qnxm
new file mode 100644
index 0000000..9580f0d
--- /dev/null
+++ b/lib/terminfo/q/qnxm
Binary files differ
diff --git a/lib/terminfo/q/qnxt b/lib/terminfo/q/qnxt
new file mode 100644
index 0000000..b23d7a8
--- /dev/null
+++ b/lib/terminfo/q/qnxt
Binary files differ
diff --git a/lib/terminfo/q/qnxt2 b/lib/terminfo/q/qnxt2
new file mode 100644
index 0000000..dd7af8e
--- /dev/null
+++ b/lib/terminfo/q/qnxt2
Binary files differ
diff --git a/lib/terminfo/q/qnxt4 b/lib/terminfo/q/qnxt4
new file mode 120000
index 0000000..b0b9e93
--- /dev/null
+++ b/lib/terminfo/q/qnxt4
@@ -0,0 +1 @@
+qnxt
\ No newline at end of file
diff --git a/lib/terminfo/q/qnxtmono b/lib/terminfo/q/qnxtmono
new file mode 100644
index 0000000..5701461
--- /dev/null
+++ b/lib/terminfo/q/qnxtmono
Binary files differ
diff --git a/lib/terminfo/q/qnxw b/lib/terminfo/q/qnxw
new file mode 100644
index 0000000..8c9498a
--- /dev/null
+++ b/lib/terminfo/q/qnxw
Binary files differ
diff --git a/lib/terminfo/q/qume b/lib/terminfo/q/qume
new file mode 120000
index 0000000..c00446c
--- /dev/null
+++ b/lib/terminfo/q/qume
@@ -0,0 +1 @@
+qume5
\ No newline at end of file
diff --git a/lib/terminfo/q/qume5 b/lib/terminfo/q/qume5
new file mode 100644
index 0000000..16cbc56
--- /dev/null
+++ b/lib/terminfo/q/qume5
Binary files differ
diff --git a/lib/terminfo/q/qvt101 b/lib/terminfo/q/qvt101
new file mode 100644
index 0000000..a995fe6
--- /dev/null
+++ b/lib/terminfo/q/qvt101
Binary files differ
diff --git a/lib/terminfo/q/qvt101+ b/lib/terminfo/q/qvt101+
new file mode 100644
index 0000000..0f6ef94
--- /dev/null
+++ b/lib/terminfo/q/qvt101+
Binary files differ
diff --git a/lib/terminfo/q/qvt101p b/lib/terminfo/q/qvt101p
new file mode 120000
index 0000000..2e25d37
--- /dev/null
+++ b/lib/terminfo/q/qvt101p
@@ -0,0 +1 @@
+qvt101+
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt102 b/lib/terminfo/q/qvt102
new file mode 100644
index 0000000..7c5b1f7
--- /dev/null
+++ b/lib/terminfo/q/qvt102
Binary files differ
diff --git a/lib/terminfo/q/qvt103 b/lib/terminfo/q/qvt103
new file mode 100644
index 0000000..f4611f4
--- /dev/null
+++ b/lib/terminfo/q/qvt103
Binary files differ
diff --git a/lib/terminfo/q/qvt103-w b/lib/terminfo/q/qvt103-w
new file mode 100644
index 0000000..9b97e24
--- /dev/null
+++ b/lib/terminfo/q/qvt103-w
Binary files differ
diff --git a/lib/terminfo/q/qvt108 b/lib/terminfo/q/qvt108
new file mode 120000
index 0000000..d451ac7
--- /dev/null
+++ b/lib/terminfo/q/qvt108
@@ -0,0 +1 @@
+qvt101
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119 b/lib/terminfo/q/qvt119
new file mode 120000
index 0000000..96a4596
--- /dev/null
+++ b/lib/terminfo/q/qvt119
@@ -0,0 +1 @@
+qvt119+
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119+ b/lib/terminfo/q/qvt119+
new file mode 100644
index 0000000..cd62820
--- /dev/null
+++ b/lib/terminfo/q/qvt119+
Binary files differ
diff --git a/lib/terminfo/q/qvt119+-25 b/lib/terminfo/q/qvt119+-25
new file mode 100644
index 0000000..7635a5a
--- /dev/null
+++ b/lib/terminfo/q/qvt119+-25
Binary files differ
diff --git a/lib/terminfo/q/qvt119+-25-w b/lib/terminfo/q/qvt119+-25-w
new file mode 100644
index 0000000..0149dc3
--- /dev/null
+++ b/lib/terminfo/q/qvt119+-25-w
Binary files differ
diff --git a/lib/terminfo/q/qvt119+-w b/lib/terminfo/q/qvt119+-w
new file mode 100644
index 0000000..ad44936
--- /dev/null
+++ b/lib/terminfo/q/qvt119+-w
Binary files differ
diff --git a/lib/terminfo/q/qvt119-25-w b/lib/terminfo/q/qvt119-25-w
new file mode 120000
index 0000000..7f6b52e
--- /dev/null
+++ b/lib/terminfo/q/qvt119-25-w
@@ -0,0 +1 @@
+qvt119+-25-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119-w b/lib/terminfo/q/qvt119-w
new file mode 120000
index 0000000..ec87753
--- /dev/null
+++ b/lib/terminfo/q/qvt119-w
@@ -0,0 +1 @@
+qvt119+-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p b/lib/terminfo/q/qvt119p
new file mode 120000
index 0000000..96a4596
--- /dev/null
+++ b/lib/terminfo/q/qvt119p
@@ -0,0 +1 @@
+qvt119+
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p-25 b/lib/terminfo/q/qvt119p-25
new file mode 120000
index 0000000..44a3c3c
--- /dev/null
+++ b/lib/terminfo/q/qvt119p-25
@@ -0,0 +1 @@
+qvt119+-25
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p-25-w b/lib/terminfo/q/qvt119p-25-w
new file mode 120000
index 0000000..7f6b52e
--- /dev/null
+++ b/lib/terminfo/q/qvt119p-25-w
@@ -0,0 +1 @@
+qvt119+-25-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p-w b/lib/terminfo/q/qvt119p-w
new file mode 120000
index 0000000..ec87753
--- /dev/null
+++ b/lib/terminfo/q/qvt119p-w
@@ -0,0 +1 @@
+qvt119+-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt203 b/lib/terminfo/q/qvt203
new file mode 100644
index 0000000..3800b26
--- /dev/null
+++ b/lib/terminfo/q/qvt203
Binary files differ
diff --git a/lib/terminfo/q/qvt203+ b/lib/terminfo/q/qvt203+
new file mode 120000
index 0000000..442a6da
--- /dev/null
+++ b/lib/terminfo/q/qvt203+
@@ -0,0 +1 @@
+qvt203
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt203-25 b/lib/terminfo/q/qvt203-25
new file mode 100644
index 0000000..c41b9b4
--- /dev/null
+++ b/lib/terminfo/q/qvt203-25
Binary files differ
diff --git a/lib/terminfo/q/qvt203-25-w b/lib/terminfo/q/qvt203-25-w
new file mode 100644
index 0000000..6db30c0
--- /dev/null
+++ b/lib/terminfo/q/qvt203-25-w
Binary files differ
diff --git a/lib/terminfo/q/qvt203-w b/lib/terminfo/q/qvt203-w
new file mode 100644
index 0000000..e768ebf
--- /dev/null
+++ b/lib/terminfo/q/qvt203-w
Binary files differ
diff --git a/lib/terminfo/q/qvt203-w-am b/lib/terminfo/q/qvt203-w-am
new file mode 120000
index 0000000..c22a099
--- /dev/null
+++ b/lib/terminfo/q/qvt203-w-am
@@ -0,0 +1 @@
+qvt203-w
\ No newline at end of file
diff --git a/lib/terminfo/r/rbcomm b/lib/terminfo/r/rbcomm
new file mode 100644
index 0000000..2f5cd29
--- /dev/null
+++ b/lib/terminfo/r/rbcomm
Binary files differ
diff --git a/lib/terminfo/r/rbcomm-nam b/lib/terminfo/r/rbcomm-nam
new file mode 100644
index 0000000..8cc0f9b
--- /dev/null
+++ b/lib/terminfo/r/rbcomm-nam
Binary files differ
diff --git a/lib/terminfo/r/rbcomm-w b/lib/terminfo/r/rbcomm-w
new file mode 100644
index 0000000..16f94b0
--- /dev/null
+++ b/lib/terminfo/r/rbcomm-w
Binary files differ
diff --git a/lib/terminfo/r/rca b/lib/terminfo/r/rca
new file mode 100644
index 0000000..7920b68
--- /dev/null
+++ b/lib/terminfo/r/rca
Binary files differ
diff --git a/lib/terminfo/r/rcons b/lib/terminfo/r/rcons
new file mode 100644
index 0000000..c031009
--- /dev/null
+++ b/lib/terminfo/r/rcons
Binary files differ
diff --git a/lib/terminfo/r/rcons-color b/lib/terminfo/r/rcons-color
new file mode 100644
index 0000000..e7a7013
--- /dev/null
+++ b/lib/terminfo/r/rcons-color
Binary files differ
diff --git a/lib/terminfo/r/rebus3180 b/lib/terminfo/r/rebus3180
new file mode 120000
index 0000000..c31d60c
--- /dev/null
+++ b/lib/terminfo/r/rebus3180
@@ -0,0 +1 @@
+../d/ddr
\ No newline at end of file
diff --git a/lib/terminfo/r/regent b/lib/terminfo/r/regent
new file mode 100644
index 0000000..978ce6b
--- /dev/null
+++ b/lib/terminfo/r/regent
Binary files differ
diff --git a/lib/terminfo/r/regent100 b/lib/terminfo/r/regent100
new file mode 100644
index 0000000..2500f11
--- /dev/null
+++ b/lib/terminfo/r/regent100
Binary files differ
diff --git a/lib/terminfo/r/regent20 b/lib/terminfo/r/regent20
new file mode 100644
index 0000000..e8fadf4
--- /dev/null
+++ b/lib/terminfo/r/regent20
Binary files differ
diff --git a/lib/terminfo/r/regent200 b/lib/terminfo/r/regent200
new file mode 120000
index 0000000..570f840
--- /dev/null
+++ b/lib/terminfo/r/regent200
@@ -0,0 +1 @@
+regent60
\ No newline at end of file
diff --git a/lib/terminfo/r/regent25 b/lib/terminfo/r/regent25
new file mode 100644
index 0000000..2f351e4
--- /dev/null
+++ b/lib/terminfo/r/regent25
Binary files differ
diff --git a/lib/terminfo/r/regent40 b/lib/terminfo/r/regent40
new file mode 100644
index 0000000..76ec632
--- /dev/null
+++ b/lib/terminfo/r/regent40
Binary files differ
diff --git a/lib/terminfo/r/regent40+ b/lib/terminfo/r/regent40+
new file mode 100644
index 0000000..4be7ba4
--- /dev/null
+++ b/lib/terminfo/r/regent40+
Binary files differ
diff --git a/lib/terminfo/r/regent60 b/lib/terminfo/r/regent60
new file mode 100644
index 0000000..0d3cb47
--- /dev/null
+++ b/lib/terminfo/r/regent60
Binary files differ
diff --git a/lib/terminfo/r/rt6221 b/lib/terminfo/r/rt6221
new file mode 100644
index 0000000..878d549
--- /dev/null
+++ b/lib/terminfo/r/rt6221
Binary files differ
diff --git a/lib/terminfo/r/rt6221-w b/lib/terminfo/r/rt6221-w
new file mode 100644
index 0000000..8afc1c5
--- /dev/null
+++ b/lib/terminfo/r/rt6221-w
Binary files differ
diff --git a/lib/terminfo/r/rtpc b/lib/terminfo/r/rtpc
new file mode 100644
index 0000000..46bd1af
--- /dev/null
+++ b/lib/terminfo/r/rtpc
Binary files differ
diff --git a/lib/terminfo/r/rxvt b/lib/terminfo/r/rxvt
new file mode 100644
index 0000000..4d54c32
--- /dev/null
+++ b/lib/terminfo/r/rxvt
Binary files differ
diff --git a/lib/terminfo/r/rxvt+pcfkeys b/lib/terminfo/r/rxvt+pcfkeys
new file mode 100644
index 0000000..7612947
--- /dev/null
+++ b/lib/terminfo/r/rxvt+pcfkeys
Binary files differ
diff --git a/lib/terminfo/r/rxvt-16color b/lib/terminfo/r/rxvt-16color
new file mode 100644
index 0000000..349701a
--- /dev/null
+++ b/lib/terminfo/r/rxvt-16color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-256color b/lib/terminfo/r/rxvt-256color
new file mode 100644
index 0000000..355cb6e
--- /dev/null
+++ b/lib/terminfo/r/rxvt-256color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-88color b/lib/terminfo/r/rxvt-88color
new file mode 100644
index 0000000..91ae947
--- /dev/null
+++ b/lib/terminfo/r/rxvt-88color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-basic b/lib/terminfo/r/rxvt-basic
new file mode 100644
index 0000000..0547463
--- /dev/null
+++ b/lib/terminfo/r/rxvt-basic
Binary files differ
diff --git a/lib/terminfo/r/rxvt-color b/lib/terminfo/r/rxvt-color
new file mode 100644
index 0000000..8cf3cd9
--- /dev/null
+++ b/lib/terminfo/r/rxvt-color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-cygwin b/lib/terminfo/r/rxvt-cygwin
new file mode 100644
index 0000000..b122aa5
--- /dev/null
+++ b/lib/terminfo/r/rxvt-cygwin
Binary files differ
diff --git a/lib/terminfo/r/rxvt-cygwin-native b/lib/terminfo/r/rxvt-cygwin-native
new file mode 100644
index 0000000..2350014
--- /dev/null
+++ b/lib/terminfo/r/rxvt-cygwin-native
Binary files differ
diff --git a/lib/terminfo/r/rxvt-xpm b/lib/terminfo/r/rxvt-xpm
new file mode 100644
index 0000000..e0c77fd
--- /dev/null
+++ b/lib/terminfo/r/rxvt-xpm
Binary files differ
diff --git a/lib/terminfo/s/s4 b/lib/terminfo/s/s4
new file mode 120000
index 0000000..baaa9ad
--- /dev/null
+++ b/lib/terminfo/s/s4
@@ -0,0 +1 @@
+../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/s/sb1 b/lib/terminfo/s/sb1
new file mode 100644
index 0000000..b757da8
--- /dev/null
+++ b/lib/terminfo/s/sb1
Binary files differ
diff --git a/lib/terminfo/s/sb2 b/lib/terminfo/s/sb2
new file mode 100644
index 0000000..60c03c0
--- /dev/null
+++ b/lib/terminfo/s/sb2
Binary files differ
diff --git a/lib/terminfo/s/sb3 b/lib/terminfo/s/sb3
new file mode 120000
index 0000000..10b0c86
--- /dev/null
+++ b/lib/terminfo/s/sb3
@@ -0,0 +1 @@
+sb2
\ No newline at end of file
diff --git a/lib/terminfo/s/sbi b/lib/terminfo/s/sbi
new file mode 100644
index 0000000..7315f5d
--- /dev/null
+++ b/lib/terminfo/s/sbi
Binary files differ
diff --git a/lib/terminfo/s/sbobcat b/lib/terminfo/s/sbobcat
new file mode 120000
index 0000000..7b8edbb
--- /dev/null
+++ b/lib/terminfo/s/sbobcat
@@ -0,0 +1 @@
+../b/bobcat
\ No newline at end of file
diff --git a/lib/terminfo/s/sc410 b/lib/terminfo/s/sc410
new file mode 120000
index 0000000..5a00a75
--- /dev/null
+++ b/lib/terminfo/s/sc410
@@ -0,0 +1 @@
+scanset
\ No newline at end of file
diff --git a/lib/terminfo/s/sc415 b/lib/terminfo/s/sc415
new file mode 120000
index 0000000..5a00a75
--- /dev/null
+++ b/lib/terminfo/s/sc415
@@ -0,0 +1 @@
+scanset
\ No newline at end of file
diff --git a/lib/terminfo/s/scanset b/lib/terminfo/s/scanset
new file mode 100644
index 0000000..d30d42c
--- /dev/null
+++ b/lib/terminfo/s/scanset
Binary files differ
diff --git a/lib/terminfo/s/scoansi b/lib/terminfo/s/scoansi
new file mode 100644
index 0000000..f5e2e0c
--- /dev/null
+++ b/lib/terminfo/s/scoansi
Binary files differ
diff --git a/lib/terminfo/s/scoansi-new b/lib/terminfo/s/scoansi-new
new file mode 100644
index 0000000..7beab0f
--- /dev/null
+++ b/lib/terminfo/s/scoansi-new
Binary files differ
diff --git a/lib/terminfo/s/scoansi-old b/lib/terminfo/s/scoansi-old
new file mode 100644
index 0000000..e5b08c5
--- /dev/null
+++ b/lib/terminfo/s/scoansi-old
Binary files differ
diff --git a/lib/terminfo/s/screen b/lib/terminfo/s/screen
new file mode 100644
index 0000000..895f0f6
--- /dev/null
+++ b/lib/terminfo/s/screen
Binary files differ
diff --git a/lib/terminfo/s/screen+fkeys b/lib/terminfo/s/screen+fkeys
new file mode 100644
index 0000000..a3564ab
--- /dev/null
+++ b/lib/terminfo/s/screen+fkeys
Binary files differ
diff --git a/lib/terminfo/s/screen+italics b/lib/terminfo/s/screen+italics
new file mode 100644
index 0000000..efbdd64
--- /dev/null
+++ b/lib/terminfo/s/screen+italics
Binary files differ
diff --git a/lib/terminfo/s/screen-16color b/lib/terminfo/s/screen-16color
new file mode 100644
index 0000000..f1e623c
--- /dev/null
+++ b/lib/terminfo/s/screen-16color
Binary files differ
diff --git a/lib/terminfo/s/screen-16color-bce b/lib/terminfo/s/screen-16color-bce
new file mode 100644
index 0000000..655e21a
--- /dev/null
+++ b/lib/terminfo/s/screen-16color-bce
Binary files differ
diff --git a/lib/terminfo/s/screen-16color-bce-s b/lib/terminfo/s/screen-16color-bce-s
new file mode 100644
index 0000000..157431c
--- /dev/null
+++ b/lib/terminfo/s/screen-16color-bce-s
Binary files differ
diff --git a/lib/terminfo/s/screen-16color-s b/lib/terminfo/s/screen-16color-s
new file mode 100644
index 0000000..750fc54
--- /dev/null
+++ b/lib/terminfo/s/screen-16color-s
Binary files differ
diff --git a/lib/terminfo/s/screen-256color b/lib/terminfo/s/screen-256color
new file mode 100644
index 0000000..11fbb23
--- /dev/null
+++ b/lib/terminfo/s/screen-256color
Binary files differ
diff --git a/lib/terminfo/s/screen-256color-bce b/lib/terminfo/s/screen-256color-bce
new file mode 100644
index 0000000..ad6b316
--- /dev/null
+++ b/lib/terminfo/s/screen-256color-bce
Binary files differ
diff --git a/lib/terminfo/s/screen-256color-bce-s b/lib/terminfo/s/screen-256color-bce-s
new file mode 100644
index 0000000..21338a2
--- /dev/null
+++ b/lib/terminfo/s/screen-256color-bce-s
Binary files differ
diff --git a/lib/terminfo/s/screen-256color-s b/lib/terminfo/s/screen-256color-s
new file mode 100644
index 0000000..33a6ce4
--- /dev/null
+++ b/lib/terminfo/s/screen-256color-s
Binary files differ
diff --git a/lib/terminfo/s/screen-bce b/lib/terminfo/s/screen-bce
new file mode 100644
index 0000000..bf8eda0
--- /dev/null
+++ b/lib/terminfo/s/screen-bce
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.Eterm b/lib/terminfo/s/screen-bce.Eterm
new file mode 100644
index 0000000..b7ccb34
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.Eterm
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.gnome b/lib/terminfo/s/screen-bce.gnome
new file mode 100644
index 0000000..3cf909d
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.gnome
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.konsole b/lib/terminfo/s/screen-bce.konsole
new file mode 100644
index 0000000..281eb9c
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.konsole
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.linux b/lib/terminfo/s/screen-bce.linux
new file mode 100644
index 0000000..50a53e0
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.linux
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.mrxvt b/lib/terminfo/s/screen-bce.mrxvt
new file mode 100644
index 0000000..aae3959
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.mrxvt
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.rxvt b/lib/terminfo/s/screen-bce.rxvt
new file mode 100644
index 0000000..f187d09
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.rxvt
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.xterm-new b/lib/terminfo/s/screen-bce.xterm-new
new file mode 100644
index 0000000..076feca
--- /dev/null
+++ b/lib/terminfo/s/screen-bce.xterm-new
Binary files differ
diff --git a/lib/terminfo/s/screen-s b/lib/terminfo/s/screen-s
new file mode 100644
index 0000000..c9fffe2
--- /dev/null
+++ b/lib/terminfo/s/screen-s
Binary files differ
diff --git a/lib/terminfo/s/screen-w b/lib/terminfo/s/screen-w
new file mode 100644
index 0000000..e5a1386
--- /dev/null
+++ b/lib/terminfo/s/screen-w
Binary files differ
diff --git a/lib/terminfo/s/screen.Eterm b/lib/terminfo/s/screen.Eterm
new file mode 100644
index 0000000..7cea844
--- /dev/null
+++ b/lib/terminfo/s/screen.Eterm
Binary files differ
diff --git a/lib/terminfo/s/screen.gnome b/lib/terminfo/s/screen.gnome
new file mode 100644
index 0000000..e8dcd51
--- /dev/null
+++ b/lib/terminfo/s/screen.gnome
Binary files differ
diff --git a/lib/terminfo/s/screen.konsole b/lib/terminfo/s/screen.konsole
new file mode 100644
index 0000000..8368e23
--- /dev/null
+++ b/lib/terminfo/s/screen.konsole
Binary files differ
diff --git a/lib/terminfo/s/screen.konsole-256color b/lib/terminfo/s/screen.konsole-256color
new file mode 100644
index 0000000..6de2a57
--- /dev/null
+++ b/lib/terminfo/s/screen.konsole-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.linux b/lib/terminfo/s/screen.linux
new file mode 100644
index 0000000..5ff63ba
--- /dev/null
+++ b/lib/terminfo/s/screen.linux
Binary files differ
diff --git a/lib/terminfo/s/screen.mlterm b/lib/terminfo/s/screen.mlterm
new file mode 100644
index 0000000..bf0298b
--- /dev/null
+++ b/lib/terminfo/s/screen.mlterm
Binary files differ
diff --git a/lib/terminfo/s/screen.mlterm-256color b/lib/terminfo/s/screen.mlterm-256color
new file mode 100644
index 0000000..8249f81
--- /dev/null
+++ b/lib/terminfo/s/screen.mlterm-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.mrxvt b/lib/terminfo/s/screen.mrxvt
new file mode 100644
index 0000000..4bad239
--- /dev/null
+++ b/lib/terminfo/s/screen.mrxvt
Binary files differ
diff --git a/lib/terminfo/s/screen.putty b/lib/terminfo/s/screen.putty
new file mode 100644
index 0000000..abf4d52
--- /dev/null
+++ b/lib/terminfo/s/screen.putty
Binary files differ
diff --git a/lib/terminfo/s/screen.putty-256color b/lib/terminfo/s/screen.putty-256color
new file mode 100644
index 0000000..458af49
--- /dev/null
+++ b/lib/terminfo/s/screen.putty-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.rxvt b/lib/terminfo/s/screen.rxvt
new file mode 100644
index 0000000..78a4b22
--- /dev/null
+++ b/lib/terminfo/s/screen.rxvt
Binary files differ
diff --git a/lib/terminfo/s/screen.teraterm b/lib/terminfo/s/screen.teraterm
new file mode 100644
index 0000000..715195b
--- /dev/null
+++ b/lib/terminfo/s/screen.teraterm
Binary files differ
diff --git a/lib/terminfo/s/screen.vte b/lib/terminfo/s/screen.vte
new file mode 100644
index 0000000..fc8cfb9
--- /dev/null
+++ b/lib/terminfo/s/screen.vte
Binary files differ
diff --git a/lib/terminfo/s/screen.vte-256color b/lib/terminfo/s/screen.vte-256color
new file mode 100644
index 0000000..267fd5f
--- /dev/null
+++ b/lib/terminfo/s/screen.vte-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-256color b/lib/terminfo/s/screen.xterm-256color
new file mode 100644
index 0000000..4247a89
--- /dev/null
+++ b/lib/terminfo/s/screen.xterm-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-new b/lib/terminfo/s/screen.xterm-new
new file mode 120000
index 0000000..978e70d
--- /dev/null
+++ b/lib/terminfo/s/screen.xterm-new
@@ -0,0 +1 @@
+screen.xterm-xfree86
\ No newline at end of file
diff --git a/lib/terminfo/s/screen.xterm-r6 b/lib/terminfo/s/screen.xterm-r6
new file mode 100644
index 0000000..4d59619
--- /dev/null
+++ b/lib/terminfo/s/screen.xterm-r6
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-xfree86 b/lib/terminfo/s/screen.xterm-xfree86
new file mode 100644
index 0000000..d47d6da
--- /dev/null
+++ b/lib/terminfo/s/screen.xterm-xfree86
Binary files differ
diff --git a/lib/terminfo/s/screen2 b/lib/terminfo/s/screen2
new file mode 100644
index 0000000..717276b
--- /dev/null
+++ b/lib/terminfo/s/screen2
Binary files differ
diff --git a/lib/terminfo/s/screen3 b/lib/terminfo/s/screen3
new file mode 100644
index 0000000..768bcc8
--- /dev/null
+++ b/lib/terminfo/s/screen3
Binary files differ
diff --git a/lib/terminfo/s/screwpoint b/lib/terminfo/s/screwpoint
new file mode 100644
index 0000000..3996d64
--- /dev/null
+++ b/lib/terminfo/s/screwpoint
Binary files differ
diff --git a/lib/terminfo/s/scrhp b/lib/terminfo/s/scrhp
new file mode 100644
index 0000000..1698bf5
--- /dev/null
+++ b/lib/terminfo/s/scrhp
Binary files differ
diff --git a/lib/terminfo/s/sibo b/lib/terminfo/s/sibo
new file mode 100644
index 0000000..da1e607
--- /dev/null
+++ b/lib/terminfo/s/sibo
Binary files differ
diff --git a/lib/terminfo/s/simpleterm b/lib/terminfo/s/simpleterm
new file mode 100644
index 0000000..4fa948f
--- /dev/null
+++ b/lib/terminfo/s/simpleterm
Binary files differ
diff --git a/lib/terminfo/s/simterm b/lib/terminfo/s/simterm
new file mode 100644
index 0000000..faef0f7
--- /dev/null
+++ b/lib/terminfo/s/simterm
Binary files differ
diff --git a/lib/terminfo/s/soroc b/lib/terminfo/s/soroc
new file mode 120000
index 0000000..7276e72
--- /dev/null
+++ b/lib/terminfo/s/soroc
@@ -0,0 +1 @@
+soroc120
\ No newline at end of file
diff --git a/lib/terminfo/s/soroc120 b/lib/terminfo/s/soroc120
new file mode 100644
index 0000000..557a602
--- /dev/null
+++ b/lib/terminfo/s/soroc120
Binary files differ
diff --git a/lib/terminfo/s/soroc140 b/lib/terminfo/s/soroc140
new file mode 100644
index 0000000..0a641c4
--- /dev/null
+++ b/lib/terminfo/s/soroc140
Binary files differ
diff --git a/lib/terminfo/s/spinwriter b/lib/terminfo/s/spinwriter
new file mode 120000
index 0000000..f73ed95
--- /dev/null
+++ b/lib/terminfo/s/spinwriter
@@ -0,0 +1 @@
+../n/nec5520
\ No newline at end of file
diff --git a/lib/terminfo/s/st b/lib/terminfo/s/st
new file mode 100644
index 0000000..7d60217
--- /dev/null
+++ b/lib/terminfo/s/st
Binary files differ
diff --git a/lib/terminfo/s/st-16color b/lib/terminfo/s/st-16color
new file mode 100644
index 0000000..a8c9a2a
--- /dev/null
+++ b/lib/terminfo/s/st-16color
Binary files differ
diff --git a/lib/terminfo/s/st-256color b/lib/terminfo/s/st-256color
new file mode 100644
index 0000000..fab2a74
--- /dev/null
+++ b/lib/terminfo/s/st-256color
Binary files differ
diff --git a/lib/terminfo/s/st52 b/lib/terminfo/s/st52
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/s/st52
Binary files differ
diff --git a/lib/terminfo/s/st52-color b/lib/terminfo/s/st52-color
new file mode 100644
index 0000000..608e454
--- /dev/null
+++ b/lib/terminfo/s/st52-color
Binary files differ
diff --git a/lib/terminfo/s/st52-m b/lib/terminfo/s/st52-m
new file mode 120000
index 0000000..89b2167
--- /dev/null
+++ b/lib/terminfo/s/st52-m
@@ -0,0 +1 @@
+st52
\ No newline at end of file
diff --git a/lib/terminfo/s/st52-old b/lib/terminfo/s/st52-old
new file mode 100644
index 0000000..bc9acb6
--- /dev/null
+++ b/lib/terminfo/s/st52-old
Binary files differ
diff --git a/lib/terminfo/s/stterm b/lib/terminfo/s/stterm
new file mode 120000
index 0000000..8013b0a
--- /dev/null
+++ b/lib/terminfo/s/stterm
@@ -0,0 +1 @@
+st
\ No newline at end of file
diff --git a/lib/terminfo/s/stterm-16color b/lib/terminfo/s/stterm-16color
new file mode 120000
index 0000000..30185e3
--- /dev/null
+++ b/lib/terminfo/s/stterm-16color
@@ -0,0 +1 @@
+st-16color
\ No newline at end of file
diff --git a/lib/terminfo/s/stterm-256color b/lib/terminfo/s/stterm-256color
new file mode 120000
index 0000000..9b68ecd
--- /dev/null
+++ b/lib/terminfo/s/stterm-256color
@@ -0,0 +1 @@
+st-256color
\ No newline at end of file
diff --git a/lib/terminfo/s/stv52 b/lib/terminfo/s/stv52
new file mode 100644
index 0000000..384f8dd
--- /dev/null
+++ b/lib/terminfo/s/stv52
Binary files differ
diff --git a/lib/terminfo/s/stv52pc b/lib/terminfo/s/stv52pc
new file mode 100644
index 0000000..1847314
--- /dev/null
+++ b/lib/terminfo/s/stv52pc
Binary files differ
diff --git a/lib/terminfo/s/sun b/lib/terminfo/s/sun
new file mode 100644
index 0000000..52a2731
--- /dev/null
+++ b/lib/terminfo/s/sun
Binary files differ
diff --git a/lib/terminfo/s/sun+sl b/lib/terminfo/s/sun+sl
new file mode 100644
index 0000000..c5fd523
--- /dev/null
+++ b/lib/terminfo/s/sun+sl
Binary files differ
diff --git a/lib/terminfo/s/sun-1 b/lib/terminfo/s/sun-1
new file mode 100644
index 0000000..dbdd412
--- /dev/null
+++ b/lib/terminfo/s/sun-1
Binary files differ
diff --git a/lib/terminfo/s/sun-12 b/lib/terminfo/s/sun-12
new file mode 100644
index 0000000..8cadfd9
--- /dev/null
+++ b/lib/terminfo/s/sun-12
Binary files differ
diff --git a/lib/terminfo/s/sun-17 b/lib/terminfo/s/sun-17
new file mode 100644
index 0000000..78552ef
--- /dev/null
+++ b/lib/terminfo/s/sun-17
Binary files differ
diff --git a/lib/terminfo/s/sun-24 b/lib/terminfo/s/sun-24
new file mode 100644
index 0000000..0258c5a
--- /dev/null
+++ b/lib/terminfo/s/sun-24
Binary files differ
diff --git a/lib/terminfo/s/sun-34 b/lib/terminfo/s/sun-34
new file mode 100644
index 0000000..6665c42
--- /dev/null
+++ b/lib/terminfo/s/sun-34
Binary files differ
diff --git a/lib/terminfo/s/sun-48 b/lib/terminfo/s/sun-48
new file mode 100644
index 0000000..eb2f9a2
--- /dev/null
+++ b/lib/terminfo/s/sun-48
Binary files differ
diff --git a/lib/terminfo/s/sun-c b/lib/terminfo/s/sun-c
new file mode 100644
index 0000000..10e68e8
--- /dev/null
+++ b/lib/terminfo/s/sun-c
Binary files differ
diff --git a/lib/terminfo/s/sun-cgsix b/lib/terminfo/s/sun-cgsix
new file mode 100644
index 0000000..821fee8
--- /dev/null
+++ b/lib/terminfo/s/sun-cgsix
Binary files differ
diff --git a/lib/terminfo/s/sun-cmd b/lib/terminfo/s/sun-cmd
new file mode 120000
index 0000000..af25eb1
--- /dev/null
+++ b/lib/terminfo/s/sun-cmd
@@ -0,0 +1 @@
+sun-c
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-color b/lib/terminfo/s/sun-color
new file mode 100644
index 0000000..a4c02aa
--- /dev/null
+++ b/lib/terminfo/s/sun-color
Binary files differ
diff --git a/lib/terminfo/s/sun-e b/lib/terminfo/s/sun-e
new file mode 100644
index 0000000..33dbc23
--- /dev/null
+++ b/lib/terminfo/s/sun-e
Binary files differ
diff --git a/lib/terminfo/s/sun-e-s b/lib/terminfo/s/sun-e-s
new file mode 100644
index 0000000..d2d3902
--- /dev/null
+++ b/lib/terminfo/s/sun-e-s
Binary files differ
diff --git a/lib/terminfo/s/sun-il b/lib/terminfo/s/sun-il
new file mode 100644
index 0000000..c431b47
--- /dev/null
+++ b/lib/terminfo/s/sun-il
Binary files differ
diff --git a/lib/terminfo/s/sun-nic b/lib/terminfo/s/sun-nic
new file mode 120000
index 0000000..b5cc7e7
--- /dev/null
+++ b/lib/terminfo/s/sun-nic
@@ -0,0 +1 @@
+sun-e
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-s b/lib/terminfo/s/sun-s
new file mode 100644
index 0000000..5ce9922
--- /dev/null
+++ b/lib/terminfo/s/sun-s
Binary files differ
diff --git a/lib/terminfo/s/sun-s-e b/lib/terminfo/s/sun-s-e
new file mode 120000
index 0000000..4d05449
--- /dev/null
+++ b/lib/terminfo/s/sun-s-e
@@ -0,0 +1 @@
+sun-e-s
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-ss5 b/lib/terminfo/s/sun-ss5
new file mode 120000
index 0000000..fcd8d9d
--- /dev/null
+++ b/lib/terminfo/s/sun-ss5
@@ -0,0 +1 @@
+sun-cgsix
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-type4 b/lib/terminfo/s/sun-type4
new file mode 100644
index 0000000..cddaebc
--- /dev/null
+++ b/lib/terminfo/s/sun-type4
Binary files differ
diff --git a/lib/terminfo/s/sun1 b/lib/terminfo/s/sun1
new file mode 120000
index 0000000..4a5fe15
--- /dev/null
+++ b/lib/terminfo/s/sun1
@@ -0,0 +1 @@
+sun
\ No newline at end of file
diff --git a/lib/terminfo/s/sun2 b/lib/terminfo/s/sun2
new file mode 120000
index 0000000..4a5fe15
--- /dev/null
+++ b/lib/terminfo/s/sun2
@@ -0,0 +1 @@
+sun
\ No newline at end of file
diff --git a/lib/terminfo/s/sune b/lib/terminfo/s/sune
new file mode 120000
index 0000000..b5cc7e7
--- /dev/null
+++ b/lib/terminfo/s/sune
@@ -0,0 +1 @@
+sun-e
\ No newline at end of file
diff --git a/lib/terminfo/s/superbee b/lib/terminfo/s/superbee
new file mode 120000
index 0000000..3a51c1a
--- /dev/null
+++ b/lib/terminfo/s/superbee
@@ -0,0 +1 @@
+sbi
\ No newline at end of file
diff --git a/lib/terminfo/s/superbee-xsb b/lib/terminfo/s/superbee-xsb
new file mode 100644
index 0000000..cb021bc
--- /dev/null
+++ b/lib/terminfo/s/superbee-xsb
Binary files differ
diff --git a/lib/terminfo/s/superbeeic b/lib/terminfo/s/superbeeic
new file mode 100644
index 0000000..9e82c2f
--- /dev/null
+++ b/lib/terminfo/s/superbeeic
Binary files differ
diff --git a/lib/terminfo/s/superbrain b/lib/terminfo/s/superbrain
new file mode 100644
index 0000000..c27bd07
--- /dev/null
+++ b/lib/terminfo/s/superbrain
Binary files differ
diff --git a/lib/terminfo/s/sv80 b/lib/terminfo/s/sv80
new file mode 120000
index 0000000..62f110a
--- /dev/null
+++ b/lib/terminfo/s/sv80
@@ -0,0 +1 @@
+../a/att2300
\ No newline at end of file
diff --git a/lib/terminfo/s/swtp b/lib/terminfo/s/swtp
new file mode 100644
index 0000000..b594d3a
--- /dev/null
+++ b/lib/terminfo/s/swtp
Binary files differ
diff --git a/lib/terminfo/s/synertek b/lib/terminfo/s/synertek
new file mode 100644
index 0000000..fcdbf6c
--- /dev/null
+++ b/lib/terminfo/s/synertek
Binary files differ
diff --git a/lib/terminfo/s/synertek380 b/lib/terminfo/s/synertek380
new file mode 120000
index 0000000..43b36a2
--- /dev/null
+++ b/lib/terminfo/s/synertek380
@@ -0,0 +1 @@
+synertek
\ No newline at end of file
diff --git a/lib/terminfo/s/system1 b/lib/terminfo/s/system1
new file mode 120000
index 0000000..7afdeff
--- /dev/null
+++ b/lib/terminfo/s/system1
@@ -0,0 +1 @@
+../i/ibm-system1
\ No newline at end of file
diff --git a/lib/terminfo/t/t10 b/lib/terminfo/t/t10
new file mode 100644
index 0000000..cea28db
--- /dev/null
+++ b/lib/terminfo/t/t10
Binary files differ
diff --git a/lib/terminfo/t/t1061 b/lib/terminfo/t/t1061
new file mode 100644
index 0000000..29497d3
--- /dev/null
+++ b/lib/terminfo/t/t1061
Binary files differ
diff --git a/lib/terminfo/t/t1061f b/lib/terminfo/t/t1061f
new file mode 100644
index 0000000..7628b9a
--- /dev/null
+++ b/lib/terminfo/t/t1061f
Binary files differ
diff --git a/lib/terminfo/t/t16 b/lib/terminfo/t/t16
new file mode 100644
index 0000000..54073a2
--- /dev/null
+++ b/lib/terminfo/t/t16
Binary files differ
diff --git a/lib/terminfo/t/t3700 b/lib/terminfo/t/t3700
new file mode 100644
index 0000000..af5ad2f
--- /dev/null
+++ b/lib/terminfo/t/t3700
Binary files differ
diff --git a/lib/terminfo/t/t3800 b/lib/terminfo/t/t3800
new file mode 100644
index 0000000..0b94dc8
--- /dev/null
+++ b/lib/terminfo/t/t3800
Binary files differ
diff --git a/lib/terminfo/t/t653x b/lib/terminfo/t/t653x
new file mode 120000
index 0000000..4c9e495
--- /dev/null
+++ b/lib/terminfo/t/t653x
@@ -0,0 +1 @@
+tandem653
\ No newline at end of file
diff --git a/lib/terminfo/t/tab b/lib/terminfo/t/tab
new file mode 120000
index 0000000..2a626a7
--- /dev/null
+++ b/lib/terminfo/t/tab
@@ -0,0 +1 @@
+tab132
\ No newline at end of file
diff --git a/lib/terminfo/t/tab132 b/lib/terminfo/t/tab132
new file mode 100644
index 0000000..11b0981
--- /dev/null
+++ b/lib/terminfo/t/tab132
Binary files differ
diff --git a/lib/terminfo/t/tab132-15 b/lib/terminfo/t/tab132-15
new file mode 120000
index 0000000..2a626a7
--- /dev/null
+++ b/lib/terminfo/t/tab132-15
@@ -0,0 +1 @@
+tab132
\ No newline at end of file
diff --git a/lib/terminfo/t/tab132-rv b/lib/terminfo/t/tab132-rv
new file mode 100644
index 0000000..db12bef
--- /dev/null
+++ b/lib/terminfo/t/tab132-rv
Binary files differ
diff --git a/lib/terminfo/t/tab132-w b/lib/terminfo/t/tab132-w
new file mode 100644
index 0000000..f34108a
--- /dev/null
+++ b/lib/terminfo/t/tab132-w
Binary files differ
diff --git a/lib/terminfo/t/tab132-w-rv b/lib/terminfo/t/tab132-w-rv
new file mode 100644
index 0000000..1306f46
--- /dev/null
+++ b/lib/terminfo/t/tab132-w-rv
Binary files differ
diff --git a/lib/terminfo/t/tandem6510 b/lib/terminfo/t/tandem6510
new file mode 100644
index 0000000..85cd8df
--- /dev/null
+++ b/lib/terminfo/t/tandem6510
Binary files differ
diff --git a/lib/terminfo/t/tandem653 b/lib/terminfo/t/tandem653
new file mode 100644
index 0000000..5f869e4
--- /dev/null
+++ b/lib/terminfo/t/tandem653
Binary files differ
diff --git a/lib/terminfo/t/tek b/lib/terminfo/t/tek
new file mode 100644
index 0000000..416fd87
--- /dev/null
+++ b/lib/terminfo/t/tek
Binary files differ
diff --git a/lib/terminfo/t/tek4012 b/lib/terminfo/t/tek4012
new file mode 120000
index 0000000..8047656
--- /dev/null
+++ b/lib/terminfo/t/tek4012
@@ -0,0 +1 @@
+tek
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4013 b/lib/terminfo/t/tek4013
new file mode 100644
index 0000000..24172d8
--- /dev/null
+++ b/lib/terminfo/t/tek4013
Binary files differ
diff --git a/lib/terminfo/t/tek4014 b/lib/terminfo/t/tek4014
new file mode 100644
index 0000000..012e1e4
--- /dev/null
+++ b/lib/terminfo/t/tek4014
Binary files differ
diff --git a/lib/terminfo/t/tek4014-sm b/lib/terminfo/t/tek4014-sm
new file mode 100644
index 0000000..bd5e2d6
--- /dev/null
+++ b/lib/terminfo/t/tek4014-sm
Binary files differ
diff --git a/lib/terminfo/t/tek4015 b/lib/terminfo/t/tek4015
new file mode 100644
index 0000000..543ac4c
--- /dev/null
+++ b/lib/terminfo/t/tek4015
Binary files differ
diff --git a/lib/terminfo/t/tek4015-sm b/lib/terminfo/t/tek4015-sm
new file mode 100644
index 0000000..b613be3
--- /dev/null
+++ b/lib/terminfo/t/tek4015-sm
Binary files differ
diff --git a/lib/terminfo/t/tek4023 b/lib/terminfo/t/tek4023
new file mode 100644
index 0000000..ef116aa
--- /dev/null
+++ b/lib/terminfo/t/tek4023
Binary files differ
diff --git a/lib/terminfo/t/tek4024 b/lib/terminfo/t/tek4024
new file mode 100644
index 0000000..5bba19b
--- /dev/null
+++ b/lib/terminfo/t/tek4024
Binary files differ
diff --git a/lib/terminfo/t/tek4025 b/lib/terminfo/t/tek4025
new file mode 120000
index 0000000..f5a8e0e
--- /dev/null
+++ b/lib/terminfo/t/tek4025
@@ -0,0 +1 @@
+tek4024
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4025-17 b/lib/terminfo/t/tek4025-17
new file mode 100644
index 0000000..9c970f9
--- /dev/null
+++ b/lib/terminfo/t/tek4025-17
Binary files differ
diff --git a/lib/terminfo/t/tek4025-17-ws b/lib/terminfo/t/tek4025-17-ws
new file mode 100644
index 0000000..97fddf8
--- /dev/null
+++ b/lib/terminfo/t/tek4025-17-ws
Binary files differ
diff --git a/lib/terminfo/t/tek4025-cr b/lib/terminfo/t/tek4025-cr
new file mode 100644
index 0000000..b9fd5cf
--- /dev/null
+++ b/lib/terminfo/t/tek4025-cr
Binary files differ
diff --git a/lib/terminfo/t/tek4025-ex b/lib/terminfo/t/tek4025-ex
new file mode 100644
index 0000000..a9b00db
--- /dev/null
+++ b/lib/terminfo/t/tek4025-ex
Binary files differ
diff --git a/lib/terminfo/t/tek4025a b/lib/terminfo/t/tek4025a
new file mode 100644
index 0000000..2120813
--- /dev/null
+++ b/lib/terminfo/t/tek4025a
Binary files differ
diff --git a/lib/terminfo/t/tek4025ex b/lib/terminfo/t/tek4025ex
new file mode 100644
index 0000000..294c1f3
--- /dev/null
+++ b/lib/terminfo/t/tek4025ex
Binary files differ
diff --git a/lib/terminfo/t/tek4027 b/lib/terminfo/t/tek4027
new file mode 120000
index 0000000..f5a8e0e
--- /dev/null
+++ b/lib/terminfo/t/tek4027
@@ -0,0 +1 @@
+tek4024
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4027-ex b/lib/terminfo/t/tek4027-ex
new file mode 120000
index 0000000..00e7197
--- /dev/null
+++ b/lib/terminfo/t/tek4027-ex
@@ -0,0 +1 @@
+tek4025-ex
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4105 b/lib/terminfo/t/tek4105
new file mode 100644
index 0000000..8e978ed
--- /dev/null
+++ b/lib/terminfo/t/tek4105
Binary files differ
diff --git a/lib/terminfo/t/tek4105-30 b/lib/terminfo/t/tek4105-30
new file mode 100644
index 0000000..ce37081
--- /dev/null
+++ b/lib/terminfo/t/tek4105-30
Binary files differ
diff --git a/lib/terminfo/t/tek4105a b/lib/terminfo/t/tek4105a
new file mode 100644
index 0000000..98adaa3
--- /dev/null
+++ b/lib/terminfo/t/tek4105a
Binary files differ
diff --git a/lib/terminfo/t/tek4106brl b/lib/terminfo/t/tek4106brl
new file mode 100644
index 0000000..495593e
--- /dev/null
+++ b/lib/terminfo/t/tek4106brl
Binary files differ
diff --git a/lib/terminfo/t/tek4107 b/lib/terminfo/t/tek4107
new file mode 100644
index 0000000..e8af9a1
--- /dev/null
+++ b/lib/terminfo/t/tek4107
Binary files differ
diff --git a/lib/terminfo/t/tek4107brl b/lib/terminfo/t/tek4107brl
new file mode 120000
index 0000000..ff99e6f
--- /dev/null
+++ b/lib/terminfo/t/tek4107brl
@@ -0,0 +1 @@
+tek4106brl
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4109 b/lib/terminfo/t/tek4109
new file mode 120000
index 0000000..2ccc768
--- /dev/null
+++ b/lib/terminfo/t/tek4109
@@ -0,0 +1 @@
+tek4107
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4109brl b/lib/terminfo/t/tek4109brl
new file mode 120000
index 0000000..ff99e6f
--- /dev/null
+++ b/lib/terminfo/t/tek4109brl
@@ -0,0 +1 @@
+tek4106brl
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4112 b/lib/terminfo/t/tek4112
new file mode 100644
index 0000000..6b03a9f
--- /dev/null
+++ b/lib/terminfo/t/tek4112
Binary files differ
diff --git a/lib/terminfo/t/tek4112-5 b/lib/terminfo/t/tek4112-5
new file mode 100644
index 0000000..85c663f
--- /dev/null
+++ b/lib/terminfo/t/tek4112-5
Binary files differ
diff --git a/lib/terminfo/t/tek4112-nd b/lib/terminfo/t/tek4112-nd
new file mode 100644
index 0000000..e0c2522
--- /dev/null
+++ b/lib/terminfo/t/tek4112-nd
Binary files differ
diff --git a/lib/terminfo/t/tek4113 b/lib/terminfo/t/tek4113
new file mode 100644
index 0000000..c1207a4
--- /dev/null
+++ b/lib/terminfo/t/tek4113
Binary files differ
diff --git a/lib/terminfo/t/tek4113-34 b/lib/terminfo/t/tek4113-34
new file mode 100644
index 0000000..bd57c3a
--- /dev/null
+++ b/lib/terminfo/t/tek4113-34
Binary files differ
diff --git a/lib/terminfo/t/tek4113-nd b/lib/terminfo/t/tek4113-nd
new file mode 100644
index 0000000..893481e
--- /dev/null
+++ b/lib/terminfo/t/tek4113-nd
Binary files differ
diff --git a/lib/terminfo/t/tek4114 b/lib/terminfo/t/tek4114
new file mode 120000
index 0000000..83c88b3
--- /dev/null
+++ b/lib/terminfo/t/tek4114
@@ -0,0 +1 @@
+tek4112
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4115 b/lib/terminfo/t/tek4115
new file mode 100644
index 0000000..864631b
--- /dev/null
+++ b/lib/terminfo/t/tek4115
Binary files differ
diff --git a/lib/terminfo/t/tek4125 b/lib/terminfo/t/tek4125
new file mode 100644
index 0000000..724b7fd
--- /dev/null
+++ b/lib/terminfo/t/tek4125
Binary files differ
diff --git a/lib/terminfo/t/tek4205 b/lib/terminfo/t/tek4205
new file mode 100644
index 0000000..779d8ea
--- /dev/null
+++ b/lib/terminfo/t/tek4205
Binary files differ
diff --git a/lib/terminfo/t/tek4207 b/lib/terminfo/t/tek4207
new file mode 100644
index 0000000..8a7a810
--- /dev/null
+++ b/lib/terminfo/t/tek4207
Binary files differ
diff --git a/lib/terminfo/t/tek4207-s b/lib/terminfo/t/tek4207-s
new file mode 100644
index 0000000..8b20f11
--- /dev/null
+++ b/lib/terminfo/t/tek4207-s
Binary files differ
diff --git a/lib/terminfo/t/tek4404 b/lib/terminfo/t/tek4404
new file mode 100644
index 0000000..d522301
--- /dev/null
+++ b/lib/terminfo/t/tek4404
Binary files differ
diff --git a/lib/terminfo/t/teken b/lib/terminfo/t/teken
new file mode 100644
index 0000000..a0182d3
--- /dev/null
+++ b/lib/terminfo/t/teken
Binary files differ
diff --git a/lib/terminfo/t/teleray b/lib/terminfo/t/teleray
new file mode 120000
index 0000000..dd7f89e
--- /dev/null
+++ b/lib/terminfo/t/teleray
@@ -0,0 +1 @@
+t1061
\ No newline at end of file
diff --git a/lib/terminfo/t/teletec b/lib/terminfo/t/teletec
new file mode 100644
index 0000000..de078ea
--- /dev/null
+++ b/lib/terminfo/t/teletec
Binary files differ
diff --git a/lib/terminfo/t/teraterm b/lib/terminfo/t/teraterm
new file mode 100644
index 0000000..8f5da6c
--- /dev/null
+++ b/lib/terminfo/t/teraterm
Binary files differ
diff --git a/lib/terminfo/t/teraterm2.3 b/lib/terminfo/t/teraterm2.3
new file mode 100644
index 0000000..b00eb70
--- /dev/null
+++ b/lib/terminfo/t/teraterm2.3
Binary files differ
diff --git a/lib/terminfo/t/teraterm4.59 b/lib/terminfo/t/teraterm4.59
new file mode 100644
index 0000000..09158b1
--- /dev/null
+++ b/lib/terminfo/t/teraterm4.59
Binary files differ
diff --git a/lib/terminfo/t/terminator b/lib/terminfo/t/terminator
new file mode 100644
index 0000000..d55bccc
--- /dev/null
+++ b/lib/terminfo/t/terminator
Binary files differ
diff --git a/lib/terminfo/t/terminet b/lib/terminfo/t/terminet
new file mode 120000
index 0000000..1bc028b
--- /dev/null
+++ b/lib/terminfo/t/terminet
@@ -0,0 +1 @@
+terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/terminet1200 b/lib/terminfo/t/terminet1200
new file mode 100644
index 0000000..87c639c
--- /dev/null
+++ b/lib/terminfo/t/terminet1200
Binary files differ
diff --git a/lib/terminfo/t/terminet300 b/lib/terminfo/t/terminet300
new file mode 120000
index 0000000..1bc028b
--- /dev/null
+++ b/lib/terminfo/t/terminet300
@@ -0,0 +1 @@
+terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/terminology b/lib/terminfo/t/terminology
new file mode 100644
index 0000000..d7aec1a
--- /dev/null
+++ b/lib/terminfo/t/terminology
Binary files differ
diff --git a/lib/terminfo/t/tgtelnet b/lib/terminfo/t/tgtelnet
new file mode 120000
index 0000000..a4d2d7a
--- /dev/null
+++ b/lib/terminfo/t/tgtelnet
@@ -0,0 +1 @@
+../p/pilot
\ No newline at end of file
diff --git a/lib/terminfo/t/ti700 b/lib/terminfo/t/ti700
new file mode 100644
index 0000000..fe7eb88
--- /dev/null
+++ b/lib/terminfo/t/ti700
Binary files differ
diff --git a/lib/terminfo/t/ti733 b/lib/terminfo/t/ti733
new file mode 120000
index 0000000..e1630e4
--- /dev/null
+++ b/lib/terminfo/t/ti733
@@ -0,0 +1 @@
+ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti735 b/lib/terminfo/t/ti735
new file mode 120000
index 0000000..e1630e4
--- /dev/null
+++ b/lib/terminfo/t/ti735
@@ -0,0 +1 @@
+ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti745 b/lib/terminfo/t/ti745
new file mode 120000
index 0000000..e1630e4
--- /dev/null
+++ b/lib/terminfo/t/ti745
@@ -0,0 +1 @@
+ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti800 b/lib/terminfo/t/ti800
new file mode 120000
index 0000000..e1630e4
--- /dev/null
+++ b/lib/terminfo/t/ti800
@@ -0,0 +1 @@
+ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti916 b/lib/terminfo/t/ti916
new file mode 100644
index 0000000..10c2be3
--- /dev/null
+++ b/lib/terminfo/t/ti916
Binary files differ
diff --git a/lib/terminfo/t/ti916-132 b/lib/terminfo/t/ti916-132
new file mode 100644
index 0000000..e4b067d
--- /dev/null
+++ b/lib/terminfo/t/ti916-132
Binary files differ
diff --git a/lib/terminfo/t/ti916-220-7 b/lib/terminfo/t/ti916-220-7
new file mode 120000
index 0000000..52e7f0b
--- /dev/null
+++ b/lib/terminfo/t/ti916-220-7
@@ -0,0 +1 @@
+ti916
\ No newline at end of file
diff --git a/lib/terminfo/t/ti916-220-8 b/lib/terminfo/t/ti916-220-8
new file mode 120000
index 0000000..9f9628e
--- /dev/null
+++ b/lib/terminfo/t/ti916-220-8
@@ -0,0 +1 @@
+ti916-8
\ No newline at end of file
diff --git a/lib/terminfo/t/ti916-8 b/lib/terminfo/t/ti916-8
new file mode 100644
index 0000000..f1288bb
--- /dev/null
+++ b/lib/terminfo/t/ti916-8
Binary files differ
diff --git a/lib/terminfo/t/ti916-8-132 b/lib/terminfo/t/ti916-8-132
new file mode 100644
index 0000000..0d000c5
--- /dev/null
+++ b/lib/terminfo/t/ti916-8-132
Binary files differ
diff --git a/lib/terminfo/t/ti924 b/lib/terminfo/t/ti924
new file mode 100644
index 0000000..e4cb8b0
--- /dev/null
+++ b/lib/terminfo/t/ti924
Binary files differ
diff --git a/lib/terminfo/t/ti924-8 b/lib/terminfo/t/ti924-8
new file mode 100644
index 0000000..8803c90
--- /dev/null
+++ b/lib/terminfo/t/ti924-8
Binary files differ
diff --git a/lib/terminfo/t/ti924-8w b/lib/terminfo/t/ti924-8w
new file mode 100644
index 0000000..49ff947
--- /dev/null
+++ b/lib/terminfo/t/ti924-8w
Binary files differ
diff --git a/lib/terminfo/t/ti924w b/lib/terminfo/t/ti924w
new file mode 100644
index 0000000..1a6b117
--- /dev/null
+++ b/lib/terminfo/t/ti924w
Binary files differ
diff --git a/lib/terminfo/t/ti926 b/lib/terminfo/t/ti926
new file mode 100644
index 0000000..34e2fd8
--- /dev/null
+++ b/lib/terminfo/t/ti926
Binary files differ
diff --git a/lib/terminfo/t/ti926-8 b/lib/terminfo/t/ti926-8
new file mode 100644
index 0000000..216a148
--- /dev/null
+++ b/lib/terminfo/t/ti926-8
Binary files differ
diff --git a/lib/terminfo/t/ti928 b/lib/terminfo/t/ti928
new file mode 100644
index 0000000..d895332
--- /dev/null
+++ b/lib/terminfo/t/ti928
Binary files differ
diff --git a/lib/terminfo/t/ti928-8 b/lib/terminfo/t/ti928-8
new file mode 100644
index 0000000..b38f0fb
--- /dev/null
+++ b/lib/terminfo/t/ti928-8
Binary files differ
diff --git a/lib/terminfo/t/ti931 b/lib/terminfo/t/ti931
new file mode 100644
index 0000000..f9e48bf
--- /dev/null
+++ b/lib/terminfo/t/ti931
Binary files differ
diff --git a/lib/terminfo/t/ti_ansi b/lib/terminfo/t/ti_ansi
new file mode 100644
index 0000000..9d67668
--- /dev/null
+++ b/lib/terminfo/t/ti_ansi
Binary files differ
diff --git a/lib/terminfo/t/tkterm b/lib/terminfo/t/tkterm
new file mode 120000
index 0000000..d55f4d3
--- /dev/null
+++ b/lib/terminfo/t/tkterm
@@ -0,0 +1 @@
+tt
\ No newline at end of file
diff --git a/lib/terminfo/t/tmux b/lib/terminfo/t/tmux
new file mode 100644
index 0000000..69425dd
--- /dev/null
+++ b/lib/terminfo/t/tmux
Binary files differ
diff --git a/lib/terminfo/t/tmux-256color b/lib/terminfo/t/tmux-256color
new file mode 100644
index 0000000..3861316
--- /dev/null
+++ b/lib/terminfo/t/tmux-256color
Binary files differ
diff --git a/lib/terminfo/t/tn1200 b/lib/terminfo/t/tn1200
new file mode 120000
index 0000000..1bc028b
--- /dev/null
+++ b/lib/terminfo/t/tn1200
@@ -0,0 +1 @@
+terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/tn300 b/lib/terminfo/t/tn300
new file mode 120000
index 0000000..1bc028b
--- /dev/null
+++ b/lib/terminfo/t/tn300
@@ -0,0 +1 @@
+terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/trs16 b/lib/terminfo/t/trs16
new file mode 100644
index 0000000..6b707d3
--- /dev/null
+++ b/lib/terminfo/t/trs16
Binary files differ
diff --git a/lib/terminfo/t/trs2 b/lib/terminfo/t/trs2
new file mode 100644
index 0000000..5d34043
--- /dev/null
+++ b/lib/terminfo/t/trs2
Binary files differ
diff --git a/lib/terminfo/t/trs80II b/lib/terminfo/t/trs80II
new file mode 120000
index 0000000..ff09e43
--- /dev/null
+++ b/lib/terminfo/t/trs80II
@@ -0,0 +1 @@
+trs2
\ No newline at end of file
diff --git a/lib/terminfo/t/trsII b/lib/terminfo/t/trsII
new file mode 120000
index 0000000..ff09e43
--- /dev/null
+++ b/lib/terminfo/t/trsII
@@ -0,0 +1 @@
+trs2
\ No newline at end of file
diff --git a/lib/terminfo/t/ts-1 b/lib/terminfo/t/ts-1
new file mode 120000
index 0000000..45e5dee
--- /dev/null
+++ b/lib/terminfo/t/ts-1
@@ -0,0 +1 @@
+../f/falco
\ No newline at end of file
diff --git a/lib/terminfo/t/ts-1p b/lib/terminfo/t/ts-1p
new file mode 120000
index 0000000..09ca7ed
--- /dev/null
+++ b/lib/terminfo/t/ts-1p
@@ -0,0 +1 @@
+../f/falco-p
\ No newline at end of file
diff --git a/lib/terminfo/t/ts1 b/lib/terminfo/t/ts1
new file mode 120000
index 0000000..45e5dee
--- /dev/null
+++ b/lib/terminfo/t/ts1
@@ -0,0 +1 @@
+../f/falco
\ No newline at end of file
diff --git a/lib/terminfo/t/ts100 b/lib/terminfo/t/ts100
new file mode 100644
index 0000000..81f805f
--- /dev/null
+++ b/lib/terminfo/t/ts100
Binary files differ
diff --git a/lib/terminfo/t/ts100-ctxt b/lib/terminfo/t/ts100-ctxt
new file mode 100644
index 0000000..c9a1873
--- /dev/null
+++ b/lib/terminfo/t/ts100-ctxt
Binary files differ
diff --git a/lib/terminfo/t/ts100-sp b/lib/terminfo/t/ts100-sp
new file mode 120000
index 0000000..c5a3d8d
--- /dev/null
+++ b/lib/terminfo/t/ts100-sp
@@ -0,0 +1 @@
+ts100
\ No newline at end of file
diff --git a/lib/terminfo/t/ts1p b/lib/terminfo/t/ts1p
new file mode 120000
index 0000000..09ca7ed
--- /dev/null
+++ b/lib/terminfo/t/ts1p
@@ -0,0 +1 @@
+../f/falco-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tt b/lib/terminfo/t/tt
new file mode 100644
index 0000000..15ae411
--- /dev/null
+++ b/lib/terminfo/t/tt
Binary files differ
diff --git a/lib/terminfo/t/tt505-22 b/lib/terminfo/t/tt505-22
new file mode 100644
index 0000000..e452c35
--- /dev/null
+++ b/lib/terminfo/t/tt505-22
Binary files differ
diff --git a/lib/terminfo/t/tt52 b/lib/terminfo/t/tt52
new file mode 100644
index 0000000..c4b798b
--- /dev/null
+++ b/lib/terminfo/t/tt52
Binary files differ
diff --git a/lib/terminfo/t/tty33 b/lib/terminfo/t/tty33
new file mode 100644
index 0000000..8f719a1
--- /dev/null
+++ b/lib/terminfo/t/tty33
Binary files differ
diff --git a/lib/terminfo/t/tty35 b/lib/terminfo/t/tty35
new file mode 120000
index 0000000..c51fc5b
--- /dev/null
+++ b/lib/terminfo/t/tty35
@@ -0,0 +1 @@
+tty33
\ No newline at end of file
diff --git a/lib/terminfo/t/tty37 b/lib/terminfo/t/tty37
new file mode 100644
index 0000000..53a0f17
--- /dev/null
+++ b/lib/terminfo/t/tty37
Binary files differ
diff --git a/lib/terminfo/t/tty40 b/lib/terminfo/t/tty40
new file mode 100644
index 0000000..c75c35b
--- /dev/null
+++ b/lib/terminfo/t/tty40
Binary files differ
diff --git a/lib/terminfo/t/tty43 b/lib/terminfo/t/tty43
new file mode 100644
index 0000000..4424791
--- /dev/null
+++ b/lib/terminfo/t/tty43
Binary files differ
diff --git a/lib/terminfo/t/tty4420 b/lib/terminfo/t/tty4420
new file mode 120000
index 0000000..47c7982
--- /dev/null
+++ b/lib/terminfo/t/tty4420
@@ -0,0 +1 @@
+../a/att4420
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4424 b/lib/terminfo/t/tty4424
new file mode 120000
index 0000000..b0da515
--- /dev/null
+++ b/lib/terminfo/t/tty4424
@@ -0,0 +1 @@
+../a/att4424
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4424-1 b/lib/terminfo/t/tty4424-1
new file mode 120000
index 0000000..04e79dd
--- /dev/null
+++ b/lib/terminfo/t/tty4424-1
@@ -0,0 +1 @@
+../a/att4424-1
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4424m b/lib/terminfo/t/tty4424m
new file mode 120000
index 0000000..6e12598
--- /dev/null
+++ b/lib/terminfo/t/tty4424m
@@ -0,0 +1 @@
+../a/att4424m
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4426 b/lib/terminfo/t/tty4426
new file mode 120000
index 0000000..024151f
--- /dev/null
+++ b/lib/terminfo/t/tty4426
@@ -0,0 +1 @@
+../a/att4426
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410 b/lib/terminfo/t/tty5410
new file mode 120000
index 0000000..a3324f5
--- /dev/null
+++ b/lib/terminfo/t/tty5410
@@ -0,0 +1 @@
+../a/att4410
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410-w b/lib/terminfo/t/tty5410-w
new file mode 120000
index 0000000..b30658d
--- /dev/null
+++ b/lib/terminfo/t/tty5410-w
@@ -0,0 +1 @@
+../a/att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410v1 b/lib/terminfo/t/tty5410v1
new file mode 120000
index 0000000..7eca78c
--- /dev/null
+++ b/lib/terminfo/t/tty5410v1
@@ -0,0 +1 @@
+../a/att5410v1
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410v1-w b/lib/terminfo/t/tty5410v1-w
new file mode 120000
index 0000000..68f1630
--- /dev/null
+++ b/lib/terminfo/t/tty5410v1-w
@@ -0,0 +1 @@
+../a/att4410v1-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420 b/lib/terminfo/t/tty5420
new file mode 120000
index 0000000..de2a3b1
--- /dev/null
+++ b/lib/terminfo/t/tty5420
@@ -0,0 +1 @@
+../a/att4415
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420+nl b/lib/terminfo/t/tty5420+nl
new file mode 120000
index 0000000..9fc3d57
--- /dev/null
+++ b/lib/terminfo/t/tty5420+nl
@@ -0,0 +1 @@
+../a/att4415+nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-nl b/lib/terminfo/t/tty5420-nl
new file mode 120000
index 0000000..00b1d8d
--- /dev/null
+++ b/lib/terminfo/t/tty5420-nl
@@ -0,0 +1 @@
+../a/att4415-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-rv b/lib/terminfo/t/tty5420-rv
new file mode 120000
index 0000000..50eb715
--- /dev/null
+++ b/lib/terminfo/t/tty5420-rv
@@ -0,0 +1 @@
+../a/att4415-rv
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-rv-nl b/lib/terminfo/t/tty5420-rv-nl
new file mode 120000
index 0000000..5dd4c87
--- /dev/null
+++ b/lib/terminfo/t/tty5420-rv-nl
@@ -0,0 +1 @@
+../a/att4415-rv-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w b/lib/terminfo/t/tty5420-w
new file mode 120000
index 0000000..2ac76fd
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w
@@ -0,0 +1 @@
+../a/att4415-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w-nl b/lib/terminfo/t/tty5420-w-nl
new file mode 120000
index 0000000..29edf61
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w-nl
@@ -0,0 +1 @@
+../a/att4415-w-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w-rv b/lib/terminfo/t/tty5420-w-rv
new file mode 120000
index 0000000..696a617
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w-rv
@@ -0,0 +1 @@
+../a/att4415-w-rv
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w-rv-n b/lib/terminfo/t/tty5420-w-rv-n
new file mode 120000
index 0000000..4da9821
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w-rv-n
@@ -0,0 +1 @@
+../a/att4415-w-rv-n
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5425 b/lib/terminfo/t/tty5425
new file mode 120000
index 0000000..6d747f6
--- /dev/null
+++ b/lib/terminfo/t/tty5425
@@ -0,0 +1 @@
+../a/att5425
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5425-nl b/lib/terminfo/t/tty5425-nl
new file mode 120000
index 0000000..c93fc04
--- /dev/null
+++ b/lib/terminfo/t/tty5425-nl
@@ -0,0 +1 @@
+../a/att5425-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5425-w b/lib/terminfo/t/tty5425-w
new file mode 120000
index 0000000..bc50014
--- /dev/null
+++ b/lib/terminfo/t/tty5425-w
@@ -0,0 +1 @@
+../a/att5425-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620 b/lib/terminfo/t/tty5620
new file mode 120000
index 0000000..f27fa37
--- /dev/null
+++ b/lib/terminfo/t/tty5620
@@ -0,0 +1 @@
+../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-1 b/lib/terminfo/t/tty5620-1
new file mode 120000
index 0000000..bec551f
--- /dev/null
+++ b/lib/terminfo/t/tty5620-1
@@ -0,0 +1 @@
+../a/att5620-1
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-24 b/lib/terminfo/t/tty5620-24
new file mode 120000
index 0000000..871ad7e
--- /dev/null
+++ b/lib/terminfo/t/tty5620-24
@@ -0,0 +1 @@
+../a/att5620-24
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-34 b/lib/terminfo/t/tty5620-34
new file mode 120000
index 0000000..804c08a
--- /dev/null
+++ b/lib/terminfo/t/tty5620-34
@@ -0,0 +1 @@
+../a/att5620-34
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-s b/lib/terminfo/t/tty5620-s
new file mode 120000
index 0000000..8bca378
--- /dev/null
+++ b/lib/terminfo/t/tty5620-s
@@ -0,0 +1 @@
+../a/att5620-s
\ No newline at end of file
diff --git a/lib/terminfo/t/ttydmd b/lib/terminfo/t/ttydmd
new file mode 120000
index 0000000..f27fa37
--- /dev/null
+++ b/lib/terminfo/t/ttydmd
@@ -0,0 +1 @@
+../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi803 b/lib/terminfo/t/tvi803
new file mode 100644
index 0000000..f9c88fb
--- /dev/null
+++ b/lib/terminfo/t/tvi803
Binary files differ
diff --git a/lib/terminfo/t/tvi9065 b/lib/terminfo/t/tvi9065
new file mode 100644
index 0000000..4c42247
--- /dev/null
+++ b/lib/terminfo/t/tvi9065
Binary files differ
diff --git a/lib/terminfo/t/tvi910 b/lib/terminfo/t/tvi910
new file mode 100644
index 0000000..5fd138c
--- /dev/null
+++ b/lib/terminfo/t/tvi910
Binary files differ
diff --git a/lib/terminfo/t/tvi910+ b/lib/terminfo/t/tvi910+
new file mode 100644
index 0000000..ef3b5f9
--- /dev/null
+++ b/lib/terminfo/t/tvi910+
Binary files differ
diff --git a/lib/terminfo/t/tvi912 b/lib/terminfo/t/tvi912
new file mode 100644
index 0000000..f399372
--- /dev/null
+++ b/lib/terminfo/t/tvi912
Binary files differ
diff --git a/lib/terminfo/t/tvi912b b/lib/terminfo/t/tvi912b
new file mode 100644
index 0000000..cd71918
--- /dev/null
+++ b/lib/terminfo/t/tvi912b
Binary files differ
diff --git a/lib/terminfo/t/tvi912b+2p b/lib/terminfo/t/tvi912b+2p
new file mode 100644
index 0000000..fd6f79a
--- /dev/null
+++ b/lib/terminfo/t/tvi912b+2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b+dim b/lib/terminfo/t/tvi912b+dim
new file mode 100644
index 0000000..19249cc
--- /dev/null
+++ b/lib/terminfo/t/tvi912b+dim
Binary files differ
diff --git a/lib/terminfo/t/tvi912b+mc b/lib/terminfo/t/tvi912b+mc
new file mode 100644
index 0000000..4db7177
--- /dev/null
+++ b/lib/terminfo/t/tvi912b+mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b+printer b/lib/terminfo/t/tvi912b+printer
new file mode 100644
index 0000000..c637ac2
--- /dev/null
+++ b/lib/terminfo/t/tvi912b+printer
Binary files differ
diff --git a/lib/terminfo/t/tvi912b+vb b/lib/terminfo/t/tvi912b+vb
new file mode 100644
index 0000000..33e84ca
--- /dev/null
+++ b/lib/terminfo/t/tvi912b+vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p b/lib/terminfo/t/tvi912b-2p
new file mode 100644
index 0000000..796e781
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p-mc b/lib/terminfo/t/tvi912b-2p-mc
new file mode 100644
index 0000000..6dfcf78
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-2p-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p-p b/lib/terminfo/t/tvi912b-2p-p
new file mode 100644
index 0000000..1e215e7
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-2p-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p-unk b/lib/terminfo/t/tvi912b-2p-unk
new file mode 100644
index 0000000..862464d
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-2p-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-mc b/lib/terminfo/t/tvi912b-mc
new file mode 100644
index 0000000..768a732
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-mc-2p b/lib/terminfo/t/tvi912b-mc-2p
new file mode 120000
index 0000000..f468eac
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-mc-2p
@@ -0,0 +1 @@
+tvi912b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-mc-vb b/lib/terminfo/t/tvi912b-mc-vb
new file mode 120000
index 0000000..f41c4f0
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-mc-vb
@@ -0,0 +1 @@
+tvi912b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-p b/lib/terminfo/t/tvi912b-p
new file mode 100644
index 0000000..3cd1e82
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-p-2p b/lib/terminfo/t/tvi912b-p-2p
new file mode 120000
index 0000000..07604c1
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-p-2p
@@ -0,0 +1 @@
+tvi912b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-p-vb b/lib/terminfo/t/tvi912b-p-vb
new file mode 120000
index 0000000..fa923a5
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-p-vb
@@ -0,0 +1 @@
+tvi912b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-unk b/lib/terminfo/t/tvi912b-unk
new file mode 100644
index 0000000..b1df3c6
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-unk-2p b/lib/terminfo/t/tvi912b-unk-2p
new file mode 120000
index 0000000..1572b43
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-unk-2p
@@ -0,0 +1 @@
+tvi912b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-unk-vb b/lib/terminfo/t/tvi912b-unk-vb
new file mode 120000
index 0000000..2c4b646
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-unk-vb
@@ -0,0 +1 @@
+tvi912b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-vb b/lib/terminfo/t/tvi912b-vb
new file mode 100644
index 0000000..6d10512
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb-mc b/lib/terminfo/t/tvi912b-vb-mc
new file mode 100644
index 0000000..3561338
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-vb-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb-p b/lib/terminfo/t/tvi912b-vb-p
new file mode 100644
index 0000000..3966cae
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-vb-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb-unk b/lib/terminfo/t/tvi912b-vb-unk
new file mode 100644
index 0000000..04a986d
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-vb-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912c b/lib/terminfo/t/tvi912c
new file mode 120000
index 0000000..4f5c3a2
--- /dev/null
+++ b/lib/terminfo/t/tvi912c
@@ -0,0 +1 @@
+tvi912b
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p b/lib/terminfo/t/tvi912c-2p
new file mode 120000
index 0000000..ef4572d
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p
@@ -0,0 +1 @@
+tvi912b-2p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p-mc b/lib/terminfo/t/tvi912c-2p-mc
new file mode 120000
index 0000000..f468eac
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p-mc
@@ -0,0 +1 @@
+tvi912b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p-p b/lib/terminfo/t/tvi912c-2p-p
new file mode 120000
index 0000000..07604c1
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p-p
@@ -0,0 +1 @@
+tvi912b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p-unk b/lib/terminfo/t/tvi912c-2p-unk
new file mode 120000
index 0000000..1572b43
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p-unk
@@ -0,0 +1 @@
+tvi912b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-mc b/lib/terminfo/t/tvi912c-mc
new file mode 120000
index 0000000..39b48e5
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-mc
@@ -0,0 +1 @@
+tvi912b-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-mc-2p b/lib/terminfo/t/tvi912c-mc-2p
new file mode 120000
index 0000000..f468eac
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-mc-2p
@@ -0,0 +1 @@
+tvi912b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-mc-vb b/lib/terminfo/t/tvi912c-mc-vb
new file mode 120000
index 0000000..f41c4f0
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-mc-vb
@@ -0,0 +1 @@
+tvi912b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-p b/lib/terminfo/t/tvi912c-p
new file mode 120000
index 0000000..7b91406
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-p
@@ -0,0 +1 @@
+tvi912b-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-p-2p b/lib/terminfo/t/tvi912c-p-2p
new file mode 120000
index 0000000..07604c1
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-p-2p
@@ -0,0 +1 @@
+tvi912b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-p-vb b/lib/terminfo/t/tvi912c-p-vb
new file mode 120000
index 0000000..fa923a5
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-p-vb
@@ -0,0 +1 @@
+tvi912b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-unk b/lib/terminfo/t/tvi912c-unk
new file mode 120000
index 0000000..cbc8561
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-unk
@@ -0,0 +1 @@
+tvi912b-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-unk-2p b/lib/terminfo/t/tvi912c-unk-2p
new file mode 120000
index 0000000..1572b43
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-unk-2p
@@ -0,0 +1 @@
+tvi912b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-unk-vb b/lib/terminfo/t/tvi912c-unk-vb
new file mode 120000
index 0000000..2c4b646
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-unk-vb
@@ -0,0 +1 @@
+tvi912b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb b/lib/terminfo/t/tvi912c-vb
new file mode 120000
index 0000000..e0083ab
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb
@@ -0,0 +1 @@
+tvi912b-vb
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb-mc b/lib/terminfo/t/tvi912c-vb-mc
new file mode 120000
index 0000000..f41c4f0
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb-mc
@@ -0,0 +1 @@
+tvi912b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb-p b/lib/terminfo/t/tvi912c-vb-p
new file mode 120000
index 0000000..fa923a5
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb-p
@@ -0,0 +1 @@
+tvi912b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb-unk b/lib/terminfo/t/tvi912c-vb-unk
new file mode 120000
index 0000000..2c4b646
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb-unk
@@ -0,0 +1 @@
+tvi912b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912cc b/lib/terminfo/t/tvi912cc
new file mode 100644
index 0000000..6e3139e
--- /dev/null
+++ b/lib/terminfo/t/tvi912cc
Binary files differ
diff --git a/lib/terminfo/t/tvi914 b/lib/terminfo/t/tvi914
new file mode 120000
index 0000000..885daf8
--- /dev/null
+++ b/lib/terminfo/t/tvi914
@@ -0,0 +1 @@
+tvi912
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920 b/lib/terminfo/t/tvi920
new file mode 120000
index 0000000..885daf8
--- /dev/null
+++ b/lib/terminfo/t/tvi920
@@ -0,0 +1 @@
+tvi912
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b b/lib/terminfo/t/tvi920b
new file mode 100644
index 0000000..bc8ad89
--- /dev/null
+++ b/lib/terminfo/t/tvi920b
Binary files differ
diff --git a/lib/terminfo/t/tvi920b+fn b/lib/terminfo/t/tvi920b+fn
new file mode 100644
index 0000000..e06daf5
--- /dev/null
+++ b/lib/terminfo/t/tvi920b+fn
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p b/lib/terminfo/t/tvi920b-2p
new file mode 100644
index 0000000..0ae281f
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p-mc b/lib/terminfo/t/tvi920b-2p-mc
new file mode 100644
index 0000000..84cc351
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-2p-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p-p b/lib/terminfo/t/tvi920b-2p-p
new file mode 100644
index 0000000..a2df9c0
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-2p-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p-unk b/lib/terminfo/t/tvi920b-2p-unk
new file mode 100644
index 0000000..32dcaa6
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-2p-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-mc b/lib/terminfo/t/tvi920b-mc
new file mode 100644
index 0000000..9ab3f01
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-mc-2p b/lib/terminfo/t/tvi920b-mc-2p
new file mode 120000
index 0000000..80eaa22
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-mc-2p
@@ -0,0 +1 @@
+tvi920b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-mc-vb b/lib/terminfo/t/tvi920b-mc-vb
new file mode 120000
index 0000000..47f0d13
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-mc-vb
@@ -0,0 +1 @@
+tvi920b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-p b/lib/terminfo/t/tvi920b-p
new file mode 100644
index 0000000..1441195
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-p-2p b/lib/terminfo/t/tvi920b-p-2p
new file mode 120000
index 0000000..26f9478
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-p-2p
@@ -0,0 +1 @@
+tvi920b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-p-vb b/lib/terminfo/t/tvi920b-p-vb
new file mode 120000
index 0000000..0495dfd
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-p-vb
@@ -0,0 +1 @@
+tvi920b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-unk b/lib/terminfo/t/tvi920b-unk
new file mode 100644
index 0000000..89658b6
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-unk-2p b/lib/terminfo/t/tvi920b-unk-2p
new file mode 120000
index 0000000..533ebdb
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-unk-2p
@@ -0,0 +1 @@
+tvi920b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-unk-vb b/lib/terminfo/t/tvi920b-unk-vb
new file mode 120000
index 0000000..96877d7
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-unk-vb
@@ -0,0 +1 @@
+tvi920b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-vb b/lib/terminfo/t/tvi920b-vb
new file mode 100644
index 0000000..9390b9a
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb-mc b/lib/terminfo/t/tvi920b-vb-mc
new file mode 100644
index 0000000..5cbdcc1
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-vb-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb-p b/lib/terminfo/t/tvi920b-vb-p
new file mode 100644
index 0000000..555ca8b
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-vb-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb-unk b/lib/terminfo/t/tvi920b-vb-unk
new file mode 100644
index 0000000..5446426
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-vb-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920c b/lib/terminfo/t/tvi920c
new file mode 120000
index 0000000..ebe1537
--- /dev/null
+++ b/lib/terminfo/t/tvi920c
@@ -0,0 +1 @@
+tvi920b
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p b/lib/terminfo/t/tvi920c-2p
new file mode 120000
index 0000000..de3d34d
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p
@@ -0,0 +1 @@
+tvi920b-2p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p-mc b/lib/terminfo/t/tvi920c-2p-mc
new file mode 120000
index 0000000..80eaa22
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p-mc
@@ -0,0 +1 @@
+tvi920b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p-p b/lib/terminfo/t/tvi920c-2p-p
new file mode 120000
index 0000000..26f9478
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p-p
@@ -0,0 +1 @@
+tvi920b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p-unk b/lib/terminfo/t/tvi920c-2p-unk
new file mode 120000
index 0000000..533ebdb
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p-unk
@@ -0,0 +1 @@
+tvi920b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-mc b/lib/terminfo/t/tvi920c-mc
new file mode 120000
index 0000000..68704c8
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-mc
@@ -0,0 +1 @@
+tvi920b-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-mc-2p b/lib/terminfo/t/tvi920c-mc-2p
new file mode 120000
index 0000000..80eaa22
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-mc-2p
@@ -0,0 +1 @@
+tvi920b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-mc-vb b/lib/terminfo/t/tvi920c-mc-vb
new file mode 120000
index 0000000..47f0d13
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-mc-vb
@@ -0,0 +1 @@
+tvi920b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-p b/lib/terminfo/t/tvi920c-p
new file mode 120000
index 0000000..7d3b09a
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-p
@@ -0,0 +1 @@
+tvi920b-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-p-2p b/lib/terminfo/t/tvi920c-p-2p
new file mode 120000
index 0000000..26f9478
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-p-2p
@@ -0,0 +1 @@
+tvi920b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-p-vb b/lib/terminfo/t/tvi920c-p-vb
new file mode 120000
index 0000000..0495dfd
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-p-vb
@@ -0,0 +1 @@
+tvi920b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-unk b/lib/terminfo/t/tvi920c-unk
new file mode 120000
index 0000000..1f62049
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-unk
@@ -0,0 +1 @@
+tvi920b-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-unk-2p b/lib/terminfo/t/tvi920c-unk-2p
new file mode 120000
index 0000000..533ebdb
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-unk-2p
@@ -0,0 +1 @@
+tvi920b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-unk-vb b/lib/terminfo/t/tvi920c-unk-vb
new file mode 120000
index 0000000..96877d7
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-unk-vb
@@ -0,0 +1 @@
+tvi920b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb b/lib/terminfo/t/tvi920c-vb
new file mode 120000
index 0000000..5206d26
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb
@@ -0,0 +1 @@
+tvi920b-vb
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb-mc b/lib/terminfo/t/tvi920c-vb-mc
new file mode 120000
index 0000000..47f0d13
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb-mc
@@ -0,0 +1 @@
+tvi920b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb-p b/lib/terminfo/t/tvi920c-vb-p
new file mode 120000
index 0000000..0495dfd
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb-p
@@ -0,0 +1 @@
+tvi920b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb-unk b/lib/terminfo/t/tvi920c-vb-unk
new file mode 120000
index 0000000..96877d7
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb-unk
@@ -0,0 +1 @@
+tvi920b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi921 b/lib/terminfo/t/tvi921
new file mode 100644
index 0000000..09402d3
--- /dev/null
+++ b/lib/terminfo/t/tvi921
Binary files differ
diff --git a/lib/terminfo/t/tvi924 b/lib/terminfo/t/tvi924
new file mode 100644
index 0000000..a8cd8b6
--- /dev/null
+++ b/lib/terminfo/t/tvi924
Binary files differ
diff --git a/lib/terminfo/t/tvi925 b/lib/terminfo/t/tvi925
new file mode 100644
index 0000000..d3d06c8
--- /dev/null
+++ b/lib/terminfo/t/tvi925
Binary files differ
diff --git a/lib/terminfo/t/tvi925-hi b/lib/terminfo/t/tvi925-hi
new file mode 100644
index 0000000..18d282d
--- /dev/null
+++ b/lib/terminfo/t/tvi925-hi
Binary files differ
diff --git a/lib/terminfo/t/tvi92B b/lib/terminfo/t/tvi92B
new file mode 100644
index 0000000..e0684a2
--- /dev/null
+++ b/lib/terminfo/t/tvi92B
Binary files differ
diff --git a/lib/terminfo/t/tvi92D b/lib/terminfo/t/tvi92D
new file mode 100644
index 0000000..29cd3f3
--- /dev/null
+++ b/lib/terminfo/t/tvi92D
Binary files differ
diff --git a/lib/terminfo/t/tvi950 b/lib/terminfo/t/tvi950
new file mode 100644
index 0000000..7e0eae9
--- /dev/null
+++ b/lib/terminfo/t/tvi950
Binary files differ
diff --git a/lib/terminfo/t/tvi950-2p b/lib/terminfo/t/tvi950-2p
new file mode 100644
index 0000000..003ba33
--- /dev/null
+++ b/lib/terminfo/t/tvi950-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi950-4p b/lib/terminfo/t/tvi950-4p
new file mode 100644
index 0000000..3f8fd7a
--- /dev/null
+++ b/lib/terminfo/t/tvi950-4p
Binary files differ
diff --git a/lib/terminfo/t/tvi950-rv b/lib/terminfo/t/tvi950-rv
new file mode 100644
index 0000000..5c16c45
--- /dev/null
+++ b/lib/terminfo/t/tvi950-rv
Binary files differ
diff --git a/lib/terminfo/t/tvi950-rv-2p b/lib/terminfo/t/tvi950-rv-2p
new file mode 100644
index 0000000..8d1c869
--- /dev/null
+++ b/lib/terminfo/t/tvi950-rv-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi950-rv-4p b/lib/terminfo/t/tvi950-rv-4p
new file mode 100644
index 0000000..3dab08c
--- /dev/null
+++ b/lib/terminfo/t/tvi950-rv-4p
Binary files differ
diff --git a/lib/terminfo/t/tvi955 b/lib/terminfo/t/tvi955
new file mode 100644
index 0000000..b4bc2af
--- /dev/null
+++ b/lib/terminfo/t/tvi955
Binary files differ
diff --git a/lib/terminfo/t/tvi955-hb b/lib/terminfo/t/tvi955-hb
new file mode 100644
index 0000000..1a6ab87
--- /dev/null
+++ b/lib/terminfo/t/tvi955-hb
Binary files differ
diff --git a/lib/terminfo/t/tvi955-w b/lib/terminfo/t/tvi955-w
new file mode 100644
index 0000000..a4da667
--- /dev/null
+++ b/lib/terminfo/t/tvi955-w
Binary files differ
diff --git a/lib/terminfo/t/tvi970 b/lib/terminfo/t/tvi970
new file mode 100644
index 0000000..23a1055
--- /dev/null
+++ b/lib/terminfo/t/tvi970
Binary files differ
diff --git a/lib/terminfo/t/tvi970-2p b/lib/terminfo/t/tvi970-2p
new file mode 100644
index 0000000..e6f5836
--- /dev/null
+++ b/lib/terminfo/t/tvi970-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi970-vb b/lib/terminfo/t/tvi970-vb
new file mode 100644
index 0000000..d6f0a6b
--- /dev/null
+++ b/lib/terminfo/t/tvi970-vb
Binary files differ
diff --git a/lib/terminfo/t/tvipt b/lib/terminfo/t/tvipt
new file mode 100644
index 0000000..2bbf35b
--- /dev/null
+++ b/lib/terminfo/t/tvipt
Binary files differ
diff --git a/lib/terminfo/t/tw100 b/lib/terminfo/t/tw100
new file mode 100644
index 0000000..24a7bbe
--- /dev/null
+++ b/lib/terminfo/t/tw100
Binary files differ
diff --git a/lib/terminfo/t/tw52 b/lib/terminfo/t/tw52
new file mode 100644
index 0000000..c5552ba
--- /dev/null
+++ b/lib/terminfo/t/tw52
Binary files differ
diff --git a/lib/terminfo/t/tw52-color b/lib/terminfo/t/tw52-color
new file mode 120000
index 0000000..a49f5f8
--- /dev/null
+++ b/lib/terminfo/t/tw52-color
@@ -0,0 +1 @@
+tw52
\ No newline at end of file
diff --git a/lib/terminfo/t/tw52-m b/lib/terminfo/t/tw52-m
new file mode 100644
index 0000000..e1f32d3
--- /dev/null
+++ b/lib/terminfo/t/tw52-m
Binary files differ
diff --git a/lib/terminfo/t/tws-generic b/lib/terminfo/t/tws-generic
new file mode 100644
index 0000000..0fb7b53
--- /dev/null
+++ b/lib/terminfo/t/tws-generic
Binary files differ
diff --git a/lib/terminfo/t/tws2102-sna b/lib/terminfo/t/tws2102-sna
new file mode 100644
index 0000000..3ee63b0
--- /dev/null
+++ b/lib/terminfo/t/tws2102-sna
Binary files differ
diff --git a/lib/terminfo/t/tws2103 b/lib/terminfo/t/tws2103
new file mode 100644
index 0000000..16feea0
--- /dev/null
+++ b/lib/terminfo/t/tws2103
Binary files differ
diff --git a/lib/terminfo/t/tws2103-sna b/lib/terminfo/t/tws2103-sna
new file mode 100644
index 0000000..0c781d3
--- /dev/null
+++ b/lib/terminfo/t/tws2103-sna
Binary files differ
diff --git a/lib/terminfo/u/ultima2 b/lib/terminfo/u/ultima2
new file mode 120000
index 0000000..e7a716e
--- /dev/null
+++ b/lib/terminfo/u/ultima2
@@ -0,0 +1 @@
+../i/ims-ansi
\ No newline at end of file
diff --git a/lib/terminfo/u/ultimaII b/lib/terminfo/u/ultimaII
new file mode 120000
index 0000000..e7a716e
--- /dev/null
+++ b/lib/terminfo/u/ultimaII
@@ -0,0 +1 @@
+../i/ims-ansi
\ No newline at end of file
diff --git a/lib/terminfo/u/uniterm b/lib/terminfo/u/uniterm
new file mode 100644
index 0000000..0b825bd
--- /dev/null
+++ b/lib/terminfo/u/uniterm
Binary files differ
diff --git a/lib/terminfo/u/uniterm49 b/lib/terminfo/u/uniterm49
new file mode 120000
index 0000000..2cbfe07
--- /dev/null
+++ b/lib/terminfo/u/uniterm49
@@ -0,0 +1 @@
+uniterm
\ No newline at end of file
diff --git a/lib/terminfo/u/unixpc b/lib/terminfo/u/unixpc
new file mode 120000
index 0000000..baaa9ad
--- /dev/null
+++ b/lib/terminfo/u/unixpc
@@ -0,0 +1 @@
+../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/u/unknown b/lib/terminfo/u/unknown
new file mode 100644
index 0000000..cc9b90c
--- /dev/null
+++ b/lib/terminfo/u/unknown
Binary files differ
diff --git a/lib/terminfo/u/uts30 b/lib/terminfo/u/uts30
new file mode 100644
index 0000000..9274320
--- /dev/null
+++ b/lib/terminfo/u/uts30
Binary files differ
diff --git a/lib/terminfo/u/uwin b/lib/terminfo/u/uwin
new file mode 100644
index 0000000..27199a3
--- /dev/null
+++ b/lib/terminfo/u/uwin
Binary files differ
diff --git a/lib/terminfo/v/v200-nam b/lib/terminfo/v/v200-nam
new file mode 120000
index 0000000..dec9d85
--- /dev/null
+++ b/lib/terminfo/v/v200-nam
@@ -0,0 +1 @@
+vt220-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/v320n b/lib/terminfo/v/v320n
new file mode 120000
index 0000000..dfe7f02
--- /dev/null
+++ b/lib/terminfo/v/v320n
@@ -0,0 +1 @@
+vt320nam
\ No newline at end of file
diff --git a/lib/terminfo/v/v3220 b/lib/terminfo/v/v3220
new file mode 100644
index 0000000..7d40f1c
--- /dev/null
+++ b/lib/terminfo/v/v3220
Binary files differ
diff --git a/lib/terminfo/v/v5410 b/lib/terminfo/v/v5410
new file mode 100644
index 0000000..386e102
--- /dev/null
+++ b/lib/terminfo/v/v5410
Binary files differ
diff --git a/lib/terminfo/v/vanilla b/lib/terminfo/v/vanilla
new file mode 100644
index 0000000..7d5d0f6
--- /dev/null
+++ b/lib/terminfo/v/vanilla
Binary files differ
diff --git a/lib/terminfo/v/vapple b/lib/terminfo/v/vapple
new file mode 120000
index 0000000..f872dfe
--- /dev/null
+++ b/lib/terminfo/v/vapple
@@ -0,0 +1 @@
+../a/apple-videx3
\ No newline at end of file
diff --git a/lib/terminfo/v/vc103 b/lib/terminfo/v/vc103
new file mode 120000
index 0000000..939cd9a
--- /dev/null
+++ b/lib/terminfo/v/vc103
@@ -0,0 +1 @@
+vc303
\ No newline at end of file
diff --git a/lib/terminfo/v/vc203 b/lib/terminfo/v/vc203
new file mode 120000
index 0000000..939cd9a
--- /dev/null
+++ b/lib/terminfo/v/vc203
@@ -0,0 +1 @@
+vc303
\ No newline at end of file
diff --git a/lib/terminfo/v/vc303 b/lib/terminfo/v/vc303
new file mode 100644
index 0000000..f1978fa
--- /dev/null
+++ b/lib/terminfo/v/vc303
Binary files differ
diff --git a/lib/terminfo/v/vc303a b/lib/terminfo/v/vc303a
new file mode 100644
index 0000000..cee4c66
--- /dev/null
+++ b/lib/terminfo/v/vc303a
Binary files differ
diff --git a/lib/terminfo/v/vc403a b/lib/terminfo/v/vc403a
new file mode 120000
index 0000000..4bdbe00
--- /dev/null
+++ b/lib/terminfo/v/vc403a
@@ -0,0 +1 @@
+vc303a
\ No newline at end of file
diff --git a/lib/terminfo/v/vc404 b/lib/terminfo/v/vc404
new file mode 100644
index 0000000..73f89f7
--- /dev/null
+++ b/lib/terminfo/v/vc404
Binary files differ
diff --git a/lib/terminfo/v/vc404-s b/lib/terminfo/v/vc404-s
new file mode 100644
index 0000000..75e2559
--- /dev/null
+++ b/lib/terminfo/v/vc404-s
Binary files differ
diff --git a/lib/terminfo/v/vc414 b/lib/terminfo/v/vc414
new file mode 100644
index 0000000..22a073f
--- /dev/null
+++ b/lib/terminfo/v/vc414
Binary files differ
diff --git a/lib/terminfo/v/vc414h b/lib/terminfo/v/vc414h
new file mode 120000
index 0000000..61b0b52
--- /dev/null
+++ b/lib/terminfo/v/vc414h
@@ -0,0 +1 @@
+vc414
\ No newline at end of file
diff --git a/lib/terminfo/v/vc415 b/lib/terminfo/v/vc415
new file mode 100644
index 0000000..fcdc81f
--- /dev/null
+++ b/lib/terminfo/v/vc415
Binary files differ
diff --git a/lib/terminfo/v/venix b/lib/terminfo/v/venix
new file mode 120000
index 0000000..add5c9c
--- /dev/null
+++ b/lib/terminfo/v/venix
@@ -0,0 +1 @@
+../p/pc-venix
\ No newline at end of file
diff --git a/lib/terminfo/v/versaterm b/lib/terminfo/v/versaterm
new file mode 100644
index 0000000..9276c30
--- /dev/null
+++ b/lib/terminfo/v/versaterm
Binary files differ
diff --git a/lib/terminfo/v/vi200 b/lib/terminfo/v/vi200
new file mode 100644
index 0000000..1895213
--- /dev/null
+++ b/lib/terminfo/v/vi200
Binary files differ
diff --git a/lib/terminfo/v/vi200-f b/lib/terminfo/v/vi200-f
new file mode 100644
index 0000000..bda3aa6
--- /dev/null
+++ b/lib/terminfo/v/vi200-f
Binary files differ
diff --git a/lib/terminfo/v/vi200-rv b/lib/terminfo/v/vi200-rv
new file mode 100644
index 0000000..95fe922
--- /dev/null
+++ b/lib/terminfo/v/vi200-rv
Binary files differ
diff --git a/lib/terminfo/v/vi300 b/lib/terminfo/v/vi300
new file mode 100644
index 0000000..26cfcf7
--- /dev/null
+++ b/lib/terminfo/v/vi300
Binary files differ
diff --git a/lib/terminfo/v/vi300-old b/lib/terminfo/v/vi300-old
new file mode 100644
index 0000000..ada51c3
--- /dev/null
+++ b/lib/terminfo/v/vi300-old
Binary files differ
diff --git a/lib/terminfo/v/vi50 b/lib/terminfo/v/vi50
new file mode 100644
index 0000000..c42dbd2
--- /dev/null
+++ b/lib/terminfo/v/vi50
Binary files differ
diff --git a/lib/terminfo/v/vi500 b/lib/terminfo/v/vi500
new file mode 100644
index 0000000..4597335
--- /dev/null
+++ b/lib/terminfo/v/vi500
Binary files differ
diff --git a/lib/terminfo/v/vi50adm b/lib/terminfo/v/vi50adm
new file mode 100644
index 0000000..47d290d
--- /dev/null
+++ b/lib/terminfo/v/vi50adm
Binary files differ
diff --git a/lib/terminfo/v/vi55 b/lib/terminfo/v/vi55
new file mode 100644
index 0000000..86ad138
--- /dev/null
+++ b/lib/terminfo/v/vi55
Binary files differ
diff --git a/lib/terminfo/v/vi550 b/lib/terminfo/v/vi550
new file mode 100644
index 0000000..f5e4f7e
--- /dev/null
+++ b/lib/terminfo/v/vi550
Binary files differ
diff --git a/lib/terminfo/v/vi603 b/lib/terminfo/v/vi603
new file mode 100644
index 0000000..07e162a
--- /dev/null
+++ b/lib/terminfo/v/vi603
Binary files differ
diff --git a/lib/terminfo/v/viewpoint b/lib/terminfo/v/viewpoint
new file mode 100644
index 0000000..46b5a90
--- /dev/null
+++ b/lib/terminfo/v/viewpoint
Binary files differ
diff --git a/lib/terminfo/v/viewpoint3a+ b/lib/terminfo/v/viewpoint3a+
new file mode 120000
index 0000000..bceb6da
--- /dev/null
+++ b/lib/terminfo/v/viewpoint3a+
@@ -0,0 +1 @@
+vp3a+
\ No newline at end of file
diff --git a/lib/terminfo/v/viewpoint60 b/lib/terminfo/v/viewpoint60
new file mode 120000
index 0000000..d001a63
--- /dev/null
+++ b/lib/terminfo/v/viewpoint60
@@ -0,0 +1 @@
+vp60
\ No newline at end of file
diff --git a/lib/terminfo/v/viewpoint90 b/lib/terminfo/v/viewpoint90
new file mode 120000
index 0000000..a0ef386
--- /dev/null
+++ b/lib/terminfo/v/viewpoint90
@@ -0,0 +1 @@
+vp90
\ No newline at end of file
diff --git a/lib/terminfo/v/vip b/lib/terminfo/v/vip
new file mode 100644
index 0000000..010a8d1
--- /dev/null
+++ b/lib/terminfo/v/vip
Binary files differ
diff --git a/lib/terminfo/v/vip-H b/lib/terminfo/v/vip-H
new file mode 100644
index 0000000..8cf4e92
--- /dev/null
+++ b/lib/terminfo/v/vip-H
Binary files differ
diff --git a/lib/terminfo/v/vip-Hw b/lib/terminfo/v/vip-Hw
new file mode 100644
index 0000000..4b09f03
--- /dev/null
+++ b/lib/terminfo/v/vip-Hw
Binary files differ
diff --git a/lib/terminfo/v/vip-w b/lib/terminfo/v/vip-w
new file mode 100644
index 0000000..b710a2a
--- /dev/null
+++ b/lib/terminfo/v/vip-w
Binary files differ
diff --git a/lib/terminfo/v/vip7800-H b/lib/terminfo/v/vip7800-H
new file mode 120000
index 0000000..4901cd4
--- /dev/null
+++ b/lib/terminfo/v/vip7800-H
@@ -0,0 +1 @@
+vip-H
\ No newline at end of file
diff --git a/lib/terminfo/v/vip7800-Hw b/lib/terminfo/v/vip7800-Hw
new file mode 120000
index 0000000..51091d4
--- /dev/null
+++ b/lib/terminfo/v/vip7800-Hw
@@ -0,0 +1 @@
+vip-Hw
\ No newline at end of file
diff --git a/lib/terminfo/v/vip7800-w b/lib/terminfo/v/vip7800-w
new file mode 120000
index 0000000..ab4ff36
--- /dev/null
+++ b/lib/terminfo/v/vip7800-w
@@ -0,0 +1 @@
+vip-w
\ No newline at end of file
diff --git a/lib/terminfo/v/visa50 b/lib/terminfo/v/visa50
new file mode 100644
index 0000000..2a31eb7
--- /dev/null
+++ b/lib/terminfo/v/visa50
Binary files differ
diff --git a/lib/terminfo/v/visual603 b/lib/terminfo/v/visual603
new file mode 120000
index 0000000..5614cdc
--- /dev/null
+++ b/lib/terminfo/v/visual603
@@ -0,0 +1 @@
+vi603
\ No newline at end of file
diff --git a/lib/terminfo/v/vitty b/lib/terminfo/v/vitty
new file mode 120000
index 0000000..8bca378
--- /dev/null
+++ b/lib/terminfo/v/vitty
@@ -0,0 +1 @@
+../a/att5620-s
\ No newline at end of file
diff --git a/lib/terminfo/v/vk100 b/lib/terminfo/v/vk100
new file mode 120000
index 0000000..c505fdc
--- /dev/null
+++ b/lib/terminfo/v/vk100
@@ -0,0 +1 @@
+../g/gigi
\ No newline at end of file
diff --git a/lib/terminfo/v/vp3a+ b/lib/terminfo/v/vp3a+
new file mode 100644
index 0000000..4f0f82c
--- /dev/null
+++ b/lib/terminfo/v/vp3a+
Binary files differ
diff --git a/lib/terminfo/v/vp60 b/lib/terminfo/v/vp60
new file mode 100644
index 0000000..030858d
--- /dev/null
+++ b/lib/terminfo/v/vp60
Binary files differ
diff --git a/lib/terminfo/v/vp90 b/lib/terminfo/v/vp90
new file mode 100644
index 0000000..81cbbf5
--- /dev/null
+++ b/lib/terminfo/v/vp90
Binary files differ
diff --git a/lib/terminfo/v/vremote b/lib/terminfo/v/vremote
new file mode 100644
index 0000000..e7fff1e
--- /dev/null
+++ b/lib/terminfo/v/vremote
Binary files differ
diff --git a/lib/terminfo/v/vs100 b/lib/terminfo/v/vs100
new file mode 120000
index 0000000..ba254e1
--- /dev/null
+++ b/lib/terminfo/v/vs100
@@ -0,0 +1 @@
+../x/xterm-24
\ No newline at end of file
diff --git a/lib/terminfo/v/vs100-x10 b/lib/terminfo/v/vs100-x10
new file mode 120000
index 0000000..9077cc2
--- /dev/null
+++ b/lib/terminfo/v/vs100-x10
@@ -0,0 +1 @@
+../x/x10term
\ No newline at end of file
diff --git a/lib/terminfo/v/vsc b/lib/terminfo/v/vsc
new file mode 100644
index 0000000..7deff9d
--- /dev/null
+++ b/lib/terminfo/v/vsc
Binary files differ
diff --git a/lib/terminfo/v/vt-61 b/lib/terminfo/v/vt-61
new file mode 120000
index 0000000..f2b43eb
--- /dev/null
+++ b/lib/terminfo/v/vt-61
@@ -0,0 +1 @@
+vt61
\ No newline at end of file
diff --git a/lib/terminfo/v/vt-utf8 b/lib/terminfo/v/vt-utf8
new file mode 120000
index 0000000..3237507
--- /dev/null
+++ b/lib/terminfo/v/vt-utf8
@@ -0,0 +1 @@
+../m/ms-vt-utf8
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100 b/lib/terminfo/v/vt100
new file mode 100644
index 0000000..1a7176d
--- /dev/null
+++ b/lib/terminfo/v/vt100
Binary files differ
diff --git a/lib/terminfo/v/vt100+ b/lib/terminfo/v/vt100+
new file mode 120000
index 0000000..43bd925
--- /dev/null
+++ b/lib/terminfo/v/vt100+
@@ -0,0 +1 @@
+../m/ms-vt100+
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100+enq b/lib/terminfo/v/vt100+enq
new file mode 100644
index 0000000..9205621
--- /dev/null
+++ b/lib/terminfo/v/vt100+enq
Binary files differ
diff --git a/lib/terminfo/v/vt100+fnkeys b/lib/terminfo/v/vt100+fnkeys
new file mode 100644
index 0000000..58dc0f3
--- /dev/null
+++ b/lib/terminfo/v/vt100+fnkeys
Binary files differ
diff --git a/lib/terminfo/v/vt100+keypad b/lib/terminfo/v/vt100+keypad
new file mode 100644
index 0000000..8f9e6f7
--- /dev/null
+++ b/lib/terminfo/v/vt100+keypad
Binary files differ
diff --git a/lib/terminfo/v/vt100+pfkeys b/lib/terminfo/v/vt100+pfkeys
new file mode 100644
index 0000000..c19ceee
--- /dev/null
+++ b/lib/terminfo/v/vt100+pfkeys
Binary files differ
diff --git a/lib/terminfo/v/vt100-am b/lib/terminfo/v/vt100-am
new file mode 120000
index 0000000..22e8c4d
--- /dev/null
+++ b/lib/terminfo/v/vt100-am
@@ -0,0 +1 @@
+vt100
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-bm b/lib/terminfo/v/vt100-bm
new file mode 120000
index 0000000..b39a86a
--- /dev/null
+++ b/lib/terminfo/v/vt100-bm
@@ -0,0 +1 @@
+../n/nwp512
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-bm-o b/lib/terminfo/v/vt100-bm-o
new file mode 120000
index 0000000..1810933
--- /dev/null
+++ b/lib/terminfo/v/vt100-bm-o
@@ -0,0 +1 @@
+../n/nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-bot-s b/lib/terminfo/v/vt100-bot-s
new file mode 120000
index 0000000..e4ce995
--- /dev/null
+++ b/lib/terminfo/v/vt100-bot-s
@@ -0,0 +1 @@
+vt100-s-bot
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-nam b/lib/terminfo/v/vt100-nam
new file mode 120000
index 0000000..14d893e
--- /dev/null
+++ b/lib/terminfo/v/vt100-nam
@@ -0,0 +1 @@
+vt100nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-nam-w b/lib/terminfo/v/vt100-nam-w
new file mode 120000
index 0000000..a96452a
--- /dev/null
+++ b/lib/terminfo/v/vt100-nam-w
@@ -0,0 +1 @@
+vt100-w-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-nav b/lib/terminfo/v/vt100-nav
new file mode 100644
index 0000000..9727f02
--- /dev/null
+++ b/lib/terminfo/v/vt100-nav
Binary files differ
diff --git a/lib/terminfo/v/vt100-nav-w b/lib/terminfo/v/vt100-nav-w
new file mode 100644
index 0000000..851d0a9
--- /dev/null
+++ b/lib/terminfo/v/vt100-nav-w
Binary files differ
diff --git a/lib/terminfo/v/vt100-putty b/lib/terminfo/v/vt100-putty
new file mode 100644
index 0000000..0119c4d
--- /dev/null
+++ b/lib/terminfo/v/vt100-putty
Binary files differ
diff --git a/lib/terminfo/v/vt100-s b/lib/terminfo/v/vt100-s
new file mode 100644
index 0000000..125b7d6
--- /dev/null
+++ b/lib/terminfo/v/vt100-s
Binary files differ
diff --git a/lib/terminfo/v/vt100-s-bot b/lib/terminfo/v/vt100-s-bot
new file mode 100644
index 0000000..28940f8
--- /dev/null
+++ b/lib/terminfo/v/vt100-s-bot
Binary files differ
diff --git a/lib/terminfo/v/vt100-s-top b/lib/terminfo/v/vt100-s-top
new file mode 120000
index 0000000..aeb2e27
--- /dev/null
+++ b/lib/terminfo/v/vt100-s-top
@@ -0,0 +1 @@
+vt100-s
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-top-s b/lib/terminfo/v/vt100-top-s
new file mode 120000
index 0000000..aeb2e27
--- /dev/null
+++ b/lib/terminfo/v/vt100-top-s
@@ -0,0 +1 @@
+vt100-s
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-vb b/lib/terminfo/v/vt100-vb
new file mode 100644
index 0000000..2ce1694
--- /dev/null
+++ b/lib/terminfo/v/vt100-vb
Binary files differ
diff --git a/lib/terminfo/v/vt100-w b/lib/terminfo/v/vt100-w
new file mode 100644
index 0000000..3096fd0
--- /dev/null
+++ b/lib/terminfo/v/vt100-w
Binary files differ
diff --git a/lib/terminfo/v/vt100-w-am b/lib/terminfo/v/vt100-w-am
new file mode 120000
index 0000000..74d35ee
--- /dev/null
+++ b/lib/terminfo/v/vt100-w-am
@@ -0,0 +1 @@
+vt100-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-w-nam b/lib/terminfo/v/vt100-w-nam
new file mode 100644
index 0000000..baab94c
--- /dev/null
+++ b/lib/terminfo/v/vt100-w-nam
Binary files differ
diff --git a/lib/terminfo/v/vt100-w-nav b/lib/terminfo/v/vt100-w-nav
new file mode 120000
index 0000000..936e6e1
--- /dev/null
+++ b/lib/terminfo/v/vt100-w-nav
@@ -0,0 +1 @@
+vt100-nav-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100nam b/lib/terminfo/v/vt100nam
new file mode 100644
index 0000000..5436528
--- /dev/null
+++ b/lib/terminfo/v/vt100nam
Binary files differ
diff --git a/lib/terminfo/v/vt102 b/lib/terminfo/v/vt102
new file mode 100644
index 0000000..b9a393c
--- /dev/null
+++ b/lib/terminfo/v/vt102
Binary files differ
diff --git a/lib/terminfo/v/vt102+enq b/lib/terminfo/v/vt102+enq
new file mode 100644
index 0000000..be5d59d
--- /dev/null
+++ b/lib/terminfo/v/vt102+enq
Binary files differ
diff --git a/lib/terminfo/v/vt102-nsgr b/lib/terminfo/v/vt102-nsgr
new file mode 100644
index 0000000..38191d2
--- /dev/null
+++ b/lib/terminfo/v/vt102-nsgr
Binary files differ
diff --git a/lib/terminfo/v/vt102-w b/lib/terminfo/v/vt102-w
new file mode 100644
index 0000000..687c666
--- /dev/null
+++ b/lib/terminfo/v/vt102-w
Binary files differ
diff --git a/lib/terminfo/v/vt125 b/lib/terminfo/v/vt125
new file mode 100644
index 0000000..607b5b8
--- /dev/null
+++ b/lib/terminfo/v/vt125
Binary files differ
diff --git a/lib/terminfo/v/vt131 b/lib/terminfo/v/vt131
new file mode 100644
index 0000000..bfbb4b1
--- /dev/null
+++ b/lib/terminfo/v/vt131
Binary files differ
diff --git a/lib/terminfo/v/vt132 b/lib/terminfo/v/vt132
new file mode 100644
index 0000000..22e55ef
--- /dev/null
+++ b/lib/terminfo/v/vt132
Binary files differ
diff --git a/lib/terminfo/v/vt200 b/lib/terminfo/v/vt200
new file mode 120000
index 0000000..a041752
--- /dev/null
+++ b/lib/terminfo/v/vt200
@@ -0,0 +1 @@
+vt220
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-8 b/lib/terminfo/v/vt200-8
new file mode 120000
index 0000000..a863ccc
--- /dev/null
+++ b/lib/terminfo/v/vt200-8
@@ -0,0 +1 @@
+vt220-8bit
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-8bit b/lib/terminfo/v/vt200-8bit
new file mode 120000
index 0000000..a863ccc
--- /dev/null
+++ b/lib/terminfo/v/vt200-8bit
@@ -0,0 +1 @@
+vt220-8bit
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-js b/lib/terminfo/v/vt200-js
new file mode 100644
index 0000000..d4bfca2
--- /dev/null
+++ b/lib/terminfo/v/vt200-js
Binary files differ
diff --git a/lib/terminfo/v/vt200-old b/lib/terminfo/v/vt200-old
new file mode 120000
index 0000000..fc66eec
--- /dev/null
+++ b/lib/terminfo/v/vt200-old
@@ -0,0 +1 @@
+vt220-old
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-w b/lib/terminfo/v/vt200-w
new file mode 120000
index 0000000..03ec35b
--- /dev/null
+++ b/lib/terminfo/v/vt200-w
@@ -0,0 +1 @@
+vt220-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt220 b/lib/terminfo/v/vt220
new file mode 100644
index 0000000..36a6e2f
--- /dev/null
+++ b/lib/terminfo/v/vt220
Binary files differ
diff --git a/lib/terminfo/v/vt220+keypad b/lib/terminfo/v/vt220+keypad
new file mode 100644
index 0000000..5bca90a
--- /dev/null
+++ b/lib/terminfo/v/vt220+keypad
Binary files differ
diff --git a/lib/terminfo/v/vt220-8 b/lib/terminfo/v/vt220-8
new file mode 120000
index 0000000..a863ccc
--- /dev/null
+++ b/lib/terminfo/v/vt220-8
@@ -0,0 +1 @@
+vt220-8bit
\ No newline at end of file
diff --git a/lib/terminfo/v/vt220-8bit b/lib/terminfo/v/vt220-8bit
new file mode 100644
index 0000000..677d81f
--- /dev/null
+++ b/lib/terminfo/v/vt220-8bit
Binary files differ
diff --git a/lib/terminfo/v/vt220-js b/lib/terminfo/v/vt220-js
new file mode 120000
index 0000000..664941c
--- /dev/null
+++ b/lib/terminfo/v/vt220-js
@@ -0,0 +1 @@
+vt200-js
\ No newline at end of file
diff --git a/lib/terminfo/v/vt220-nam b/lib/terminfo/v/vt220-nam
new file mode 100644
index 0000000..43c95fa
--- /dev/null
+++ b/lib/terminfo/v/vt220-nam
Binary files differ
diff --git a/lib/terminfo/v/vt220-old b/lib/terminfo/v/vt220-old
new file mode 100644
index 0000000..f9edb26
--- /dev/null
+++ b/lib/terminfo/v/vt220-old
Binary files differ
diff --git a/lib/terminfo/v/vt220-w b/lib/terminfo/v/vt220-w
new file mode 100644
index 0000000..3dafb2d
--- /dev/null
+++ b/lib/terminfo/v/vt220-w
Binary files differ
diff --git a/lib/terminfo/v/vt220d b/lib/terminfo/v/vt220d
new file mode 100644
index 0000000..55f8bc6
--- /dev/null
+++ b/lib/terminfo/v/vt220d
Binary files differ
diff --git a/lib/terminfo/v/vt300 b/lib/terminfo/v/vt300
new file mode 120000
index 0000000..ef0f8ad
--- /dev/null
+++ b/lib/terminfo/v/vt300
@@ -0,0 +1 @@
+vt320
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300-nam b/lib/terminfo/v/vt300-nam
new file mode 120000
index 0000000..7bd72ad
--- /dev/null
+++ b/lib/terminfo/v/vt300-nam
@@ -0,0 +1 @@
+vt320-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300-w b/lib/terminfo/v/vt300-w
new file mode 120000
index 0000000..422e8ee
--- /dev/null
+++ b/lib/terminfo/v/vt300-w
@@ -0,0 +1 @@
+vt320-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300-w-nam b/lib/terminfo/v/vt300-w-nam
new file mode 120000
index 0000000..5ff5b6d
--- /dev/null
+++ b/lib/terminfo/v/vt300-w-nam
@@ -0,0 +1 @@
+vt320-w-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt320 b/lib/terminfo/v/vt320
new file mode 100644
index 0000000..0d13b2e
--- /dev/null
+++ b/lib/terminfo/v/vt320
Binary files differ
diff --git a/lib/terminfo/v/vt320-k3 b/lib/terminfo/v/vt320-k3
new file mode 100644
index 0000000..aef0d8b
--- /dev/null
+++ b/lib/terminfo/v/vt320-k3
Binary files differ
diff --git a/lib/terminfo/v/vt320-k311 b/lib/terminfo/v/vt320-k311
new file mode 100644
index 0000000..cf8d67e
--- /dev/null
+++ b/lib/terminfo/v/vt320-k311
Binary files differ
diff --git a/lib/terminfo/v/vt320-nam b/lib/terminfo/v/vt320-nam
new file mode 100644
index 0000000..df58c23
--- /dev/null
+++ b/lib/terminfo/v/vt320-nam
Binary files differ
diff --git a/lib/terminfo/v/vt320-w b/lib/terminfo/v/vt320-w
new file mode 100644
index 0000000..f023269
--- /dev/null
+++ b/lib/terminfo/v/vt320-w
Binary files differ
diff --git a/lib/terminfo/v/vt320-w-nam b/lib/terminfo/v/vt320-w-nam
new file mode 100644
index 0000000..0bf1d4a
--- /dev/null
+++ b/lib/terminfo/v/vt320-w-nam
Binary files differ
diff --git a/lib/terminfo/v/vt320nam b/lib/terminfo/v/vt320nam
new file mode 100644
index 0000000..37bfb77
--- /dev/null
+++ b/lib/terminfo/v/vt320nam
Binary files differ
diff --git a/lib/terminfo/v/vt330 b/lib/terminfo/v/vt330
new file mode 120000
index 0000000..7e22a18
--- /dev/null
+++ b/lib/terminfo/v/vt330
@@ -0,0 +1 @@
+vt340
\ No newline at end of file
diff --git a/lib/terminfo/v/vt340 b/lib/terminfo/v/vt340
new file mode 100644
index 0000000..001d48e
--- /dev/null
+++ b/lib/terminfo/v/vt340
Binary files differ
diff --git a/lib/terminfo/v/vt400 b/lib/terminfo/v/vt400
new file mode 100644
index 0000000..0923142
--- /dev/null
+++ b/lib/terminfo/v/vt400
Binary files differ
diff --git a/lib/terminfo/v/vt400-24 b/lib/terminfo/v/vt400-24
new file mode 120000
index 0000000..ece3c79
--- /dev/null
+++ b/lib/terminfo/v/vt400-24
@@ -0,0 +1 @@
+vt400
\ No newline at end of file
diff --git a/lib/terminfo/v/vt420 b/lib/terminfo/v/vt420
new file mode 100644
index 0000000..8cda48e
--- /dev/null
+++ b/lib/terminfo/v/vt420
Binary files differ
diff --git a/lib/terminfo/v/vt420f b/lib/terminfo/v/vt420f
new file mode 100644
index 0000000..8b3e569
--- /dev/null
+++ b/lib/terminfo/v/vt420f
Binary files differ
diff --git a/lib/terminfo/v/vt420pc b/lib/terminfo/v/vt420pc
new file mode 100644
index 0000000..519693d
--- /dev/null
+++ b/lib/terminfo/v/vt420pc
Binary files differ
diff --git a/lib/terminfo/v/vt420pcdos b/lib/terminfo/v/vt420pcdos
new file mode 100644
index 0000000..43e8d9f
--- /dev/null
+++ b/lib/terminfo/v/vt420pcdos
Binary files differ
diff --git a/lib/terminfo/v/vt50 b/lib/terminfo/v/vt50
new file mode 100644
index 0000000..957dad1
--- /dev/null
+++ b/lib/terminfo/v/vt50
Binary files differ
diff --git a/lib/terminfo/v/vt50h b/lib/terminfo/v/vt50h
new file mode 100644
index 0000000..b9bb9a2
--- /dev/null
+++ b/lib/terminfo/v/vt50h
Binary files differ
diff --git a/lib/terminfo/v/vt510 b/lib/terminfo/v/vt510
new file mode 100644
index 0000000..170b67b
--- /dev/null
+++ b/lib/terminfo/v/vt510
Binary files differ
diff --git a/lib/terminfo/v/vt510pc b/lib/terminfo/v/vt510pc
new file mode 100644
index 0000000..1e3a747
--- /dev/null
+++ b/lib/terminfo/v/vt510pc
Binary files differ
diff --git a/lib/terminfo/v/vt510pcdos b/lib/terminfo/v/vt510pcdos
new file mode 100644
index 0000000..e392728
--- /dev/null
+++ b/lib/terminfo/v/vt510pcdos
Binary files differ
diff --git a/lib/terminfo/v/vt52 b/lib/terminfo/v/vt52
new file mode 100644
index 0000000..8137caf
--- /dev/null
+++ b/lib/terminfo/v/vt52
Binary files differ
diff --git a/lib/terminfo/v/vt520 b/lib/terminfo/v/vt520
new file mode 100644
index 0000000..4884a2e
--- /dev/null
+++ b/lib/terminfo/v/vt520
Binary files differ
diff --git a/lib/terminfo/v/vt520ansi b/lib/terminfo/v/vt520ansi
new file mode 100644
index 0000000..e91261a
--- /dev/null
+++ b/lib/terminfo/v/vt520ansi
Binary files differ
diff --git a/lib/terminfo/v/vt525 b/lib/terminfo/v/vt525
new file mode 100644
index 0000000..872f841
--- /dev/null
+++ b/lib/terminfo/v/vt525
Binary files differ
diff --git a/lib/terminfo/v/vt61 b/lib/terminfo/v/vt61
new file mode 100644
index 0000000..24b60b3
--- /dev/null
+++ b/lib/terminfo/v/vt61
Binary files differ
diff --git a/lib/terminfo/v/vt61.5 b/lib/terminfo/v/vt61.5
new file mode 120000
index 0000000..f2b43eb
--- /dev/null
+++ b/lib/terminfo/v/vt61.5
@@ -0,0 +1 @@
+vt61
\ No newline at end of file
diff --git a/lib/terminfo/v/vte b/lib/terminfo/v/vte
new file mode 100644
index 0000000..c2881cb
--- /dev/null
+++ b/lib/terminfo/v/vte
Binary files differ
diff --git a/lib/terminfo/v/vte+pcfkeys b/lib/terminfo/v/vte+pcfkeys
new file mode 100644
index 0000000..c87fd34
--- /dev/null
+++ b/lib/terminfo/v/vte+pcfkeys
Binary files differ
diff --git a/lib/terminfo/v/vte-2007 b/lib/terminfo/v/vte-2007
new file mode 100644
index 0000000..845dd7d
--- /dev/null
+++ b/lib/terminfo/v/vte-2007
Binary files differ
diff --git a/lib/terminfo/v/vte-2008 b/lib/terminfo/v/vte-2008
new file mode 100644
index 0000000..f88aa40
--- /dev/null
+++ b/lib/terminfo/v/vte-2008
Binary files differ
diff --git a/lib/terminfo/v/vte-2012 b/lib/terminfo/v/vte-2012
new file mode 100644
index 0000000..c758145
--- /dev/null
+++ b/lib/terminfo/v/vte-2012
Binary files differ
diff --git a/lib/terminfo/v/vte-2014 b/lib/terminfo/v/vte-2014
new file mode 100644
index 0000000..7ab3c0c
--- /dev/null
+++ b/lib/terminfo/v/vte-2014
Binary files differ
diff --git a/lib/terminfo/v/vte-256color b/lib/terminfo/v/vte-256color
new file mode 100644
index 0000000..d092a93
--- /dev/null
+++ b/lib/terminfo/v/vte-256color
Binary files differ
diff --git a/lib/terminfo/v/vtnt b/lib/terminfo/v/vtnt
new file mode 120000
index 0000000..2dab102
--- /dev/null
+++ b/lib/terminfo/v/vtnt
@@ -0,0 +1 @@
+../m/ms-vt100-color
\ No newline at end of file
diff --git a/lib/terminfo/v/vv100 b/lib/terminfo/v/vv100
new file mode 120000
index 0000000..7c3ab24
--- /dev/null
+++ b/lib/terminfo/v/vv100
@@ -0,0 +1 @@
+../m/mvterm
\ No newline at end of file
diff --git a/lib/terminfo/v/vwmterm b/lib/terminfo/v/vwmterm
new file mode 100644
index 0000000..72e2195
--- /dev/null
+++ b/lib/terminfo/v/vwmterm
Binary files differ
diff --git a/lib/terminfo/w/wren b/lib/terminfo/w/wren
new file mode 120000
index 0000000..88bd37a
--- /dev/null
+++ b/lib/terminfo/w/wren
@@ -0,0 +1 @@
+../p/pt100
\ No newline at end of file
diff --git a/lib/terminfo/w/wrenw b/lib/terminfo/w/wrenw
new file mode 120000
index 0000000..98d0f71
--- /dev/null
+++ b/lib/terminfo/w/wrenw
@@ -0,0 +1 @@
+../p/pt100w
\ No newline at end of file
diff --git a/lib/terminfo/w/wsiris b/lib/terminfo/w/wsiris
new file mode 100644
index 0000000..b9f798e
--- /dev/null
+++ b/lib/terminfo/w/wsiris
Binary files differ
diff --git a/lib/terminfo/w/wsvt25 b/lib/terminfo/w/wsvt25
new file mode 100644
index 0000000..29a825e
--- /dev/null
+++ b/lib/terminfo/w/wsvt25
Binary files differ
diff --git a/lib/terminfo/w/wsvt25m b/lib/terminfo/w/wsvt25m
new file mode 100644
index 0000000..d95ae91
--- /dev/null
+++ b/lib/terminfo/w/wsvt25m
Binary files differ
diff --git a/lib/terminfo/w/wy-75ap b/lib/terminfo/w/wy-75ap
new file mode 120000
index 0000000..a4f90e3
--- /dev/null
+++ b/lib/terminfo/w/wy-75ap
@@ -0,0 +1 @@
+wy75ap
\ No newline at end of file
diff --git a/lib/terminfo/w/wy-99fgt b/lib/terminfo/w/wy-99fgt
new file mode 120000
index 0000000..0108c25
--- /dev/null
+++ b/lib/terminfo/w/wy-99fgt
@@ -0,0 +1 @@
+wy99f
\ No newline at end of file
diff --git a/lib/terminfo/w/wy-99fgta b/lib/terminfo/w/wy-99fgta
new file mode 120000
index 0000000..084a0f1
--- /dev/null
+++ b/lib/terminfo/w/wy-99fgta
@@ -0,0 +1 @@
+wy99fa
\ No newline at end of file
diff --git a/lib/terminfo/w/wy100 b/lib/terminfo/w/wy100
new file mode 100644
index 0000000..b88dc59
--- /dev/null
+++ b/lib/terminfo/w/wy100
Binary files differ
diff --git a/lib/terminfo/w/wy100q b/lib/terminfo/w/wy100q
new file mode 100644
index 0000000..846a60f
--- /dev/null
+++ b/lib/terminfo/w/wy100q
Binary files differ
diff --git a/lib/terminfo/w/wy120 b/lib/terminfo/w/wy120
new file mode 100644
index 0000000..9fae306
--- /dev/null
+++ b/lib/terminfo/w/wy120
Binary files differ
diff --git a/lib/terminfo/w/wy120-25 b/lib/terminfo/w/wy120-25
new file mode 100644
index 0000000..596a572
--- /dev/null
+++ b/lib/terminfo/w/wy120-25
Binary files differ
diff --git a/lib/terminfo/w/wy120-25-w b/lib/terminfo/w/wy120-25-w
new file mode 100644
index 0000000..2b0d92c
--- /dev/null
+++ b/lib/terminfo/w/wy120-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy120-vb b/lib/terminfo/w/wy120-vb
new file mode 100644
index 0000000..a1f3f0f
--- /dev/null
+++ b/lib/terminfo/w/wy120-vb
Binary files differ
diff --git a/lib/terminfo/w/wy120-w b/lib/terminfo/w/wy120-w
new file mode 100644
index 0000000..193658e
--- /dev/null
+++ b/lib/terminfo/w/wy120-w
Binary files differ
diff --git a/lib/terminfo/w/wy120-w-vb b/lib/terminfo/w/wy120-w-vb
new file mode 100644
index 0000000..c763cf0
--- /dev/null
+++ b/lib/terminfo/w/wy120-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy120-wvb b/lib/terminfo/w/wy120-wvb
new file mode 120000
index 0000000..cf1e87c
--- /dev/null
+++ b/lib/terminfo/w/wy120-wvb
@@ -0,0 +1 @@
+wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150 b/lib/terminfo/w/wy150
new file mode 120000
index 0000000..4d10bdd
--- /dev/null
+++ b/lib/terminfo/w/wy150
@@ -0,0 +1 @@
+wy120
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-25 b/lib/terminfo/w/wy150-25
new file mode 120000
index 0000000..2689084
--- /dev/null
+++ b/lib/terminfo/w/wy150-25
@@ -0,0 +1 @@
+wy120-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-25-w b/lib/terminfo/w/wy150-25-w
new file mode 120000
index 0000000..a5a5e5b
--- /dev/null
+++ b/lib/terminfo/w/wy150-25-w
@@ -0,0 +1 @@
+wy120-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-vb b/lib/terminfo/w/wy150-vb
new file mode 120000
index 0000000..2911c5a
--- /dev/null
+++ b/lib/terminfo/w/wy150-vb
@@ -0,0 +1 @@
+wy120-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-w b/lib/terminfo/w/wy150-w
new file mode 120000
index 0000000..ba988d3
--- /dev/null
+++ b/lib/terminfo/w/wy150-w
@@ -0,0 +1 @@
+wy120-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-w-vb b/lib/terminfo/w/wy150-w-vb
new file mode 120000
index 0000000..cf1e87c
--- /dev/null
+++ b/lib/terminfo/w/wy150-w-vb
@@ -0,0 +1 @@
+wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy160 b/lib/terminfo/w/wy160
new file mode 100644
index 0000000..d124cd1
--- /dev/null
+++ b/lib/terminfo/w/wy160
Binary files differ
diff --git a/lib/terminfo/w/wy160-25 b/lib/terminfo/w/wy160-25
new file mode 100644
index 0000000..ded7c5b
--- /dev/null
+++ b/lib/terminfo/w/wy160-25
Binary files differ
diff --git a/lib/terminfo/w/wy160-25-w b/lib/terminfo/w/wy160-25-w
new file mode 100644
index 0000000..9c1792b
--- /dev/null
+++ b/lib/terminfo/w/wy160-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-42 b/lib/terminfo/w/wy160-42
new file mode 100644
index 0000000..4addf2b
--- /dev/null
+++ b/lib/terminfo/w/wy160-42
Binary files differ
diff --git a/lib/terminfo/w/wy160-42-w b/lib/terminfo/w/wy160-42-w
new file mode 100644
index 0000000..8501091
--- /dev/null
+++ b/lib/terminfo/w/wy160-42-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-43 b/lib/terminfo/w/wy160-43
new file mode 100644
index 0000000..a4b34a5
--- /dev/null
+++ b/lib/terminfo/w/wy160-43
Binary files differ
diff --git a/lib/terminfo/w/wy160-43-w b/lib/terminfo/w/wy160-43-w
new file mode 100644
index 0000000..b7f2996
--- /dev/null
+++ b/lib/terminfo/w/wy160-43-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-tek b/lib/terminfo/w/wy160-tek
new file mode 100644
index 0000000..6635d62
--- /dev/null
+++ b/lib/terminfo/w/wy160-tek
Binary files differ
diff --git a/lib/terminfo/w/wy160-vb b/lib/terminfo/w/wy160-vb
new file mode 100644
index 0000000..01788a4
--- /dev/null
+++ b/lib/terminfo/w/wy160-vb
Binary files differ
diff --git a/lib/terminfo/w/wy160-w b/lib/terminfo/w/wy160-w
new file mode 100644
index 0000000..b732b0e
--- /dev/null
+++ b/lib/terminfo/w/wy160-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-w-vb b/lib/terminfo/w/wy160-w-vb
new file mode 100644
index 0000000..89f7faf
--- /dev/null
+++ b/lib/terminfo/w/wy160-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy160-wvb b/lib/terminfo/w/wy160-wvb
new file mode 120000
index 0000000..9fe7041
--- /dev/null
+++ b/lib/terminfo/w/wy160-wvb
@@ -0,0 +1 @@
+wy160-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy185 b/lib/terminfo/w/wy185
new file mode 100644
index 0000000..026458a
--- /dev/null
+++ b/lib/terminfo/w/wy185
Binary files differ
diff --git a/lib/terminfo/w/wy185-24 b/lib/terminfo/w/wy185-24
new file mode 100644
index 0000000..a0c57cf
--- /dev/null
+++ b/lib/terminfo/w/wy185-24
Binary files differ
diff --git a/lib/terminfo/w/wy185-vb b/lib/terminfo/w/wy185-vb
new file mode 100644
index 0000000..76a09a4
--- /dev/null
+++ b/lib/terminfo/w/wy185-vb
Binary files differ
diff --git a/lib/terminfo/w/wy185-w b/lib/terminfo/w/wy185-w
new file mode 100644
index 0000000..a948678
--- /dev/null
+++ b/lib/terminfo/w/wy185-w
Binary files differ
diff --git a/lib/terminfo/w/wy185-wvb b/lib/terminfo/w/wy185-wvb
new file mode 100644
index 0000000..c97f093
--- /dev/null
+++ b/lib/terminfo/w/wy185-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy30 b/lib/terminfo/w/wy30
new file mode 100644
index 0000000..759c6d6
--- /dev/null
+++ b/lib/terminfo/w/wy30
Binary files differ
diff --git a/lib/terminfo/w/wy30-mc b/lib/terminfo/w/wy30-mc
new file mode 100644
index 0000000..33e4bd1
--- /dev/null
+++ b/lib/terminfo/w/wy30-mc
Binary files differ
diff --git a/lib/terminfo/w/wy30-vb b/lib/terminfo/w/wy30-vb
new file mode 100644
index 0000000..5d92a35
--- /dev/null
+++ b/lib/terminfo/w/wy30-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325 b/lib/terminfo/w/wy325
new file mode 100644
index 0000000..03ef7f7
--- /dev/null
+++ b/lib/terminfo/w/wy325
Binary files differ
diff --git a/lib/terminfo/w/wy325-25 b/lib/terminfo/w/wy325-25
new file mode 100644
index 0000000..33ad854
--- /dev/null
+++ b/lib/terminfo/w/wy325-25
Binary files differ
diff --git a/lib/terminfo/w/wy325-25w b/lib/terminfo/w/wy325-25w
new file mode 100644
index 0000000..a0feea7
--- /dev/null
+++ b/lib/terminfo/w/wy325-25w
Binary files differ
diff --git a/lib/terminfo/w/wy325-42 b/lib/terminfo/w/wy325-42
new file mode 100644
index 0000000..02f6733
--- /dev/null
+++ b/lib/terminfo/w/wy325-42
Binary files differ
diff --git a/lib/terminfo/w/wy325-42w b/lib/terminfo/w/wy325-42w
new file mode 100644
index 0000000..1a0a594
--- /dev/null
+++ b/lib/terminfo/w/wy325-42w
Binary files differ
diff --git a/lib/terminfo/w/wy325-42w-vb b/lib/terminfo/w/wy325-42w-vb
new file mode 100644
index 0000000..58a7fda
--- /dev/null
+++ b/lib/terminfo/w/wy325-42w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-42wvb b/lib/terminfo/w/wy325-42wvb
new file mode 120000
index 0000000..98ce4b7
--- /dev/null
+++ b/lib/terminfo/w/wy325-42wvb
@@ -0,0 +1 @@
+wy325-42w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-43 b/lib/terminfo/w/wy325-43
new file mode 100644
index 0000000..9bacd73
--- /dev/null
+++ b/lib/terminfo/w/wy325-43
Binary files differ
diff --git a/lib/terminfo/w/wy325-43w b/lib/terminfo/w/wy325-43w
new file mode 100644
index 0000000..fb404ed
--- /dev/null
+++ b/lib/terminfo/w/wy325-43w
Binary files differ
diff --git a/lib/terminfo/w/wy325-43w-vb b/lib/terminfo/w/wy325-43w-vb
new file mode 100644
index 0000000..28271d9
--- /dev/null
+++ b/lib/terminfo/w/wy325-43w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-43wvb b/lib/terminfo/w/wy325-43wvb
new file mode 120000
index 0000000..a5e9ed2
--- /dev/null
+++ b/lib/terminfo/w/wy325-43wvb
@@ -0,0 +1 @@
+wy325-43w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-80 b/lib/terminfo/w/wy325-80
new file mode 120000
index 0000000..3e704d8
--- /dev/null
+++ b/lib/terminfo/w/wy325-80
@@ -0,0 +1 @@
+wy325-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-vb b/lib/terminfo/w/wy325-vb
new file mode 100644
index 0000000..9d8e96a
--- /dev/null
+++ b/lib/terminfo/w/wy325-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-w b/lib/terminfo/w/wy325-w
new file mode 100644
index 0000000..ca9467e
--- /dev/null
+++ b/lib/terminfo/w/wy325-w
Binary files differ
diff --git a/lib/terminfo/w/wy325-w-vb b/lib/terminfo/w/wy325-w-vb
new file mode 100644
index 0000000..a6bc0f2
--- /dev/null
+++ b/lib/terminfo/w/wy325-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-wvb b/lib/terminfo/w/wy325-wvb
new file mode 120000
index 0000000..ca3febb
--- /dev/null
+++ b/lib/terminfo/w/wy325-wvb
@@ -0,0 +1 @@
+wy325-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325w-24 b/lib/terminfo/w/wy325w-24
new file mode 120000
index 0000000..f2946cd
--- /dev/null
+++ b/lib/terminfo/w/wy325w-24
@@ -0,0 +1 @@
+wy325-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wy350 b/lib/terminfo/w/wy350
new file mode 100644
index 0000000..d7a41c6
--- /dev/null
+++ b/lib/terminfo/w/wy350
Binary files differ
diff --git a/lib/terminfo/w/wy350-vb b/lib/terminfo/w/wy350-vb
new file mode 100644
index 0000000..2e92bb6
--- /dev/null
+++ b/lib/terminfo/w/wy350-vb
Binary files differ
diff --git a/lib/terminfo/w/wy350-w b/lib/terminfo/w/wy350-w
new file mode 100644
index 0000000..e18c20a
--- /dev/null
+++ b/lib/terminfo/w/wy350-w
Binary files differ
diff --git a/lib/terminfo/w/wy350-wvb b/lib/terminfo/w/wy350-wvb
new file mode 100644
index 0000000..9a1270a
--- /dev/null
+++ b/lib/terminfo/w/wy350-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy370 b/lib/terminfo/w/wy370
new file mode 100644
index 0000000..eedf0a9
--- /dev/null
+++ b/lib/terminfo/w/wy370
Binary files differ
diff --git a/lib/terminfo/w/wy370-101k b/lib/terminfo/w/wy370-101k
new file mode 120000
index 0000000..6d86067
--- /dev/null
+++ b/lib/terminfo/w/wy370-101k
@@ -0,0 +1 @@
+wy370
\ No newline at end of file
diff --git a/lib/terminfo/w/wy370-105k b/lib/terminfo/w/wy370-105k
new file mode 100644
index 0000000..1d5c95b
--- /dev/null
+++ b/lib/terminfo/w/wy370-105k
Binary files differ
diff --git a/lib/terminfo/w/wy370-EPC b/lib/terminfo/w/wy370-EPC
new file mode 100644
index 0000000..6f0f3f8
--- /dev/null
+++ b/lib/terminfo/w/wy370-EPC
Binary files differ
diff --git a/lib/terminfo/w/wy370-nk b/lib/terminfo/w/wy370-nk
new file mode 100644
index 0000000..91c85ea
--- /dev/null
+++ b/lib/terminfo/w/wy370-nk
Binary files differ
diff --git a/lib/terminfo/w/wy370-rv b/lib/terminfo/w/wy370-rv
new file mode 100644
index 0000000..08f3b23
--- /dev/null
+++ b/lib/terminfo/w/wy370-rv
Binary files differ
diff --git a/lib/terminfo/w/wy370-tek b/lib/terminfo/w/wy370-tek
new file mode 100644
index 0000000..533c58e
--- /dev/null
+++ b/lib/terminfo/w/wy370-tek
Binary files differ
diff --git a/lib/terminfo/w/wy370-vb b/lib/terminfo/w/wy370-vb
new file mode 100644
index 0000000..03acd55
--- /dev/null
+++ b/lib/terminfo/w/wy370-vb
Binary files differ
diff --git a/lib/terminfo/w/wy370-w b/lib/terminfo/w/wy370-w
new file mode 100644
index 0000000..77754f8
--- /dev/null
+++ b/lib/terminfo/w/wy370-w
Binary files differ
diff --git a/lib/terminfo/w/wy370-wvb b/lib/terminfo/w/wy370-wvb
new file mode 100644
index 0000000..df89806
--- /dev/null
+++ b/lib/terminfo/w/wy370-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy50 b/lib/terminfo/w/wy50
new file mode 100644
index 0000000..afd1bd7
--- /dev/null
+++ b/lib/terminfo/w/wy50
Binary files differ
diff --git a/lib/terminfo/w/wy50-mc b/lib/terminfo/w/wy50-mc
new file mode 100644
index 0000000..dbdc54c
--- /dev/null
+++ b/lib/terminfo/w/wy50-mc
Binary files differ
diff --git a/lib/terminfo/w/wy50-vb b/lib/terminfo/w/wy50-vb
new file mode 100644
index 0000000..ba38e0b
--- /dev/null
+++ b/lib/terminfo/w/wy50-vb
Binary files differ
diff --git a/lib/terminfo/w/wy50-w b/lib/terminfo/w/wy50-w
new file mode 100644
index 0000000..4f95911
--- /dev/null
+++ b/lib/terminfo/w/wy50-w
Binary files differ
diff --git a/lib/terminfo/w/wy50-wvb b/lib/terminfo/w/wy50-wvb
new file mode 100644
index 0000000..ebcdc9b
--- /dev/null
+++ b/lib/terminfo/w/wy50-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy520 b/lib/terminfo/w/wy520
new file mode 100644
index 0000000..66c142b
--- /dev/null
+++ b/lib/terminfo/w/wy520
Binary files differ
diff --git a/lib/terminfo/w/wy520-24 b/lib/terminfo/w/wy520-24
new file mode 100644
index 0000000..7fd0cc6
--- /dev/null
+++ b/lib/terminfo/w/wy520-24
Binary files differ
diff --git a/lib/terminfo/w/wy520-36 b/lib/terminfo/w/wy520-36
new file mode 100644
index 0000000..e215d8b
--- /dev/null
+++ b/lib/terminfo/w/wy520-36
Binary files differ
diff --git a/lib/terminfo/w/wy520-36pc b/lib/terminfo/w/wy520-36pc
new file mode 100644
index 0000000..601644b
--- /dev/null
+++ b/lib/terminfo/w/wy520-36pc
Binary files differ
diff --git a/lib/terminfo/w/wy520-36w b/lib/terminfo/w/wy520-36w
new file mode 100644
index 0000000..c07dcb0
--- /dev/null
+++ b/lib/terminfo/w/wy520-36w
Binary files differ
diff --git a/lib/terminfo/w/wy520-36wpc b/lib/terminfo/w/wy520-36wpc
new file mode 100644
index 0000000..04b59d7
--- /dev/null
+++ b/lib/terminfo/w/wy520-36wpc
Binary files differ
diff --git a/lib/terminfo/w/wy520-48 b/lib/terminfo/w/wy520-48
new file mode 100644
index 0000000..a068d00
--- /dev/null
+++ b/lib/terminfo/w/wy520-48
Binary files differ
diff --git a/lib/terminfo/w/wy520-48pc b/lib/terminfo/w/wy520-48pc
new file mode 100644
index 0000000..ab2a687
--- /dev/null
+++ b/lib/terminfo/w/wy520-48pc
Binary files differ
diff --git a/lib/terminfo/w/wy520-48w b/lib/terminfo/w/wy520-48w
new file mode 100644
index 0000000..926e1e5
--- /dev/null
+++ b/lib/terminfo/w/wy520-48w
Binary files differ
diff --git a/lib/terminfo/w/wy520-48wpc b/lib/terminfo/w/wy520-48wpc
new file mode 100644
index 0000000..d589a6c
--- /dev/null
+++ b/lib/terminfo/w/wy520-48wpc
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc b/lib/terminfo/w/wy520-epc
new file mode 100644
index 0000000..b773952
--- /dev/null
+++ b/lib/terminfo/w/wy520-epc
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-24 b/lib/terminfo/w/wy520-epc-24
new file mode 100644
index 0000000..f060b08
--- /dev/null
+++ b/lib/terminfo/w/wy520-epc-24
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-vb b/lib/terminfo/w/wy520-epc-vb
new file mode 100644
index 0000000..182ce80
--- /dev/null
+++ b/lib/terminfo/w/wy520-epc-vb
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-w b/lib/terminfo/w/wy520-epc-w
new file mode 100644
index 0000000..5b64119
--- /dev/null
+++ b/lib/terminfo/w/wy520-epc-w
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-wvb b/lib/terminfo/w/wy520-epc-wvb
new file mode 100644
index 0000000..e026af7
--- /dev/null
+++ b/lib/terminfo/w/wy520-epc-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy520-vb b/lib/terminfo/w/wy520-vb
new file mode 100644
index 0000000..8d08083
--- /dev/null
+++ b/lib/terminfo/w/wy520-vb
Binary files differ
diff --git a/lib/terminfo/w/wy520-w b/lib/terminfo/w/wy520-w
new file mode 100644
index 0000000..26cf2f8
--- /dev/null
+++ b/lib/terminfo/w/wy520-w
Binary files differ
diff --git a/lib/terminfo/w/wy520-wvb b/lib/terminfo/w/wy520-wvb
new file mode 100644
index 0000000..bb0b673
--- /dev/null
+++ b/lib/terminfo/w/wy520-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy60 b/lib/terminfo/w/wy60
new file mode 100644
index 0000000..ea2501c
--- /dev/null
+++ b/lib/terminfo/w/wy60
Binary files differ
diff --git a/lib/terminfo/w/wy60-25 b/lib/terminfo/w/wy60-25
new file mode 100644
index 0000000..d5578c4
--- /dev/null
+++ b/lib/terminfo/w/wy60-25
Binary files differ
diff --git a/lib/terminfo/w/wy60-25-w b/lib/terminfo/w/wy60-25-w
new file mode 100644
index 0000000..de4a382
--- /dev/null
+++ b/lib/terminfo/w/wy60-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-316X b/lib/terminfo/w/wy60-316X
new file mode 120000
index 0000000..8077c2d
--- /dev/null
+++ b/lib/terminfo/w/wy60-316X
@@ -0,0 +1 @@
+../i/ibm3161
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-42 b/lib/terminfo/w/wy60-42
new file mode 100644
index 0000000..69f5679
--- /dev/null
+++ b/lib/terminfo/w/wy60-42
Binary files differ
diff --git a/lib/terminfo/w/wy60-42-w b/lib/terminfo/w/wy60-42-w
new file mode 100644
index 0000000..a63a005
--- /dev/null
+++ b/lib/terminfo/w/wy60-42-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-43 b/lib/terminfo/w/wy60-43
new file mode 100644
index 0000000..149a5fb
--- /dev/null
+++ b/lib/terminfo/w/wy60-43
Binary files differ
diff --git a/lib/terminfo/w/wy60-43-w b/lib/terminfo/w/wy60-43-w
new file mode 100644
index 0000000..c2bd2b8
--- /dev/null
+++ b/lib/terminfo/w/wy60-43-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-AT b/lib/terminfo/w/wy60-AT
new file mode 120000
index 0000000..7a8ce94
--- /dev/null
+++ b/lib/terminfo/w/wy60-AT
@@ -0,0 +1 @@
+../i/ibm5151
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-PC b/lib/terminfo/w/wy60-PC
new file mode 120000
index 0000000..8486f2f
--- /dev/null
+++ b/lib/terminfo/w/wy60-PC
@@ -0,0 +1 @@
+../i/ibmpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-vb b/lib/terminfo/w/wy60-vb
new file mode 100644
index 0000000..3d22196
--- /dev/null
+++ b/lib/terminfo/w/wy60-vb
Binary files differ
diff --git a/lib/terminfo/w/wy60-w b/lib/terminfo/w/wy60-w
new file mode 100644
index 0000000..06b86ba
--- /dev/null
+++ b/lib/terminfo/w/wy60-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-w-vb b/lib/terminfo/w/wy60-w-vb
new file mode 100644
index 0000000..92450a2
--- /dev/null
+++ b/lib/terminfo/w/wy60-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy60-wvb b/lib/terminfo/w/wy60-wvb
new file mode 120000
index 0000000..adedab8
--- /dev/null
+++ b/lib/terminfo/w/wy60-wvb
@@ -0,0 +1 @@
+wy60-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy75 b/lib/terminfo/w/wy75
new file mode 100644
index 0000000..2bd4296
--- /dev/null
+++ b/lib/terminfo/w/wy75
Binary files differ
diff --git a/lib/terminfo/w/wy75-mc b/lib/terminfo/w/wy75-mc
new file mode 100644
index 0000000..2faf71d
--- /dev/null
+++ b/lib/terminfo/w/wy75-mc
Binary files differ
diff --git a/lib/terminfo/w/wy75-vb b/lib/terminfo/w/wy75-vb
new file mode 100644
index 0000000..02cab39
--- /dev/null
+++ b/lib/terminfo/w/wy75-vb
Binary files differ
diff --git a/lib/terminfo/w/wy75-w b/lib/terminfo/w/wy75-w
new file mode 100644
index 0000000..849c665
--- /dev/null
+++ b/lib/terminfo/w/wy75-w
Binary files differ
diff --git a/lib/terminfo/w/wy75-wvb b/lib/terminfo/w/wy75-wvb
new file mode 100644
index 0000000..50ca2a3
--- /dev/null
+++ b/lib/terminfo/w/wy75-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy75ap b/lib/terminfo/w/wy75ap
new file mode 100644
index 0000000..1d35e26
--- /dev/null
+++ b/lib/terminfo/w/wy75ap
Binary files differ
diff --git a/lib/terminfo/w/wy85 b/lib/terminfo/w/wy85
new file mode 100644
index 0000000..2e3628c
--- /dev/null
+++ b/lib/terminfo/w/wy85
Binary files differ
diff --git a/lib/terminfo/w/wy85-8bit b/lib/terminfo/w/wy85-8bit
new file mode 100644
index 0000000..7c8673d
--- /dev/null
+++ b/lib/terminfo/w/wy85-8bit
Binary files differ
diff --git a/lib/terminfo/w/wy85-vb b/lib/terminfo/w/wy85-vb
new file mode 100644
index 0000000..54660d6
--- /dev/null
+++ b/lib/terminfo/w/wy85-vb
Binary files differ
diff --git a/lib/terminfo/w/wy85-w b/lib/terminfo/w/wy85-w
new file mode 100644
index 0000000..4c994b0
--- /dev/null
+++ b/lib/terminfo/w/wy85-w
Binary files differ
diff --git a/lib/terminfo/w/wy85-wvb b/lib/terminfo/w/wy85-wvb
new file mode 100644
index 0000000..8cd48cd
--- /dev/null
+++ b/lib/terminfo/w/wy85-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy99-ansi b/lib/terminfo/w/wy99-ansi
new file mode 100644
index 0000000..ed8b9ea
--- /dev/null
+++ b/lib/terminfo/w/wy99-ansi
Binary files differ
diff --git a/lib/terminfo/w/wy99a-ansi b/lib/terminfo/w/wy99a-ansi
new file mode 100644
index 0000000..43c0dcc
--- /dev/null
+++ b/lib/terminfo/w/wy99a-ansi
Binary files differ
diff --git a/lib/terminfo/w/wy99f b/lib/terminfo/w/wy99f
new file mode 100644
index 0000000..5a696bc
--- /dev/null
+++ b/lib/terminfo/w/wy99f
Binary files differ
diff --git a/lib/terminfo/w/wy99fa b/lib/terminfo/w/wy99fa
new file mode 100644
index 0000000..256b0c8
--- /dev/null
+++ b/lib/terminfo/w/wy99fa
Binary files differ
diff --git a/lib/terminfo/w/wy99fgt b/lib/terminfo/w/wy99fgt
new file mode 120000
index 0000000..0108c25
--- /dev/null
+++ b/lib/terminfo/w/wy99fgt
@@ -0,0 +1 @@
+wy99f
\ No newline at end of file
diff --git a/lib/terminfo/w/wy99fgta b/lib/terminfo/w/wy99fgta
new file mode 120000
index 0000000..084a0f1
--- /dev/null
+++ b/lib/terminfo/w/wy99fgta
@@ -0,0 +1 @@
+wy99fa
\ No newline at end of file
diff --git a/lib/terminfo/w/wy99gt b/lib/terminfo/w/wy99gt
new file mode 100644
index 0000000..50f4855
--- /dev/null
+++ b/lib/terminfo/w/wy99gt
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-25 b/lib/terminfo/w/wy99gt-25
new file mode 100644
index 0000000..514632f
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-25
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-25-w b/lib/terminfo/w/wy99gt-25-w
new file mode 100644
index 0000000..60b133b
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-tek b/lib/terminfo/w/wy99gt-tek
new file mode 100644
index 0000000..6c8edb2
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-tek
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-vb b/lib/terminfo/w/wy99gt-vb
new file mode 100644
index 0000000..824372f
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-vb
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-w b/lib/terminfo/w/wy99gt-w
new file mode 100644
index 0000000..e4d8898
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-w
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-w-vb b/lib/terminfo/w/wy99gt-w-vb
new file mode 100644
index 0000000..77733a7
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-wvb b/lib/terminfo/w/wy99gt-wvb
new file mode 120000
index 0000000..cd63081
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-wvb
@@ -0,0 +1 @@
+wy99gt-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse-325 b/lib/terminfo/w/wyse-325
new file mode 120000
index 0000000..3e704d8
--- /dev/null
+++ b/lib/terminfo/w/wyse-325
@@ -0,0 +1 @@
+wy325-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse-75ap b/lib/terminfo/w/wyse-75ap
new file mode 120000
index 0000000..a4f90e3
--- /dev/null
+++ b/lib/terminfo/w/wyse-75ap
@@ -0,0 +1 @@
+wy75ap
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse-vp b/lib/terminfo/w/wyse-vp
new file mode 100644
index 0000000..b327e4a
--- /dev/null
+++ b/lib/terminfo/w/wyse-vp
Binary files differ
diff --git a/lib/terminfo/w/wyse120 b/lib/terminfo/w/wyse120
new file mode 120000
index 0000000..4d10bdd
--- /dev/null
+++ b/lib/terminfo/w/wyse120
@@ -0,0 +1 @@
+wy120
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-25 b/lib/terminfo/w/wyse120-25
new file mode 120000
index 0000000..2689084
--- /dev/null
+++ b/lib/terminfo/w/wyse120-25
@@ -0,0 +1 @@
+wy120-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-25-w b/lib/terminfo/w/wyse120-25-w
new file mode 120000
index 0000000..a5a5e5b
--- /dev/null
+++ b/lib/terminfo/w/wyse120-25-w
@@ -0,0 +1 @@
+wy120-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-vb b/lib/terminfo/w/wyse120-vb
new file mode 120000
index 0000000..2911c5a
--- /dev/null
+++ b/lib/terminfo/w/wyse120-vb
@@ -0,0 +1 @@
+wy120-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-w b/lib/terminfo/w/wyse120-w
new file mode 120000
index 0000000..ba988d3
--- /dev/null
+++ b/lib/terminfo/w/wyse120-w
@@ -0,0 +1 @@
+wy120-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-wvb b/lib/terminfo/w/wyse120-wvb
new file mode 120000
index 0000000..cf1e87c
--- /dev/null
+++ b/lib/terminfo/w/wyse120-wvb
@@ -0,0 +1 @@
+wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150 b/lib/terminfo/w/wyse150
new file mode 120000
index 0000000..4d10bdd
--- /dev/null
+++ b/lib/terminfo/w/wyse150
@@ -0,0 +1 @@
+wy120
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-25 b/lib/terminfo/w/wyse150-25
new file mode 120000
index 0000000..2689084
--- /dev/null
+++ b/lib/terminfo/w/wyse150-25
@@ -0,0 +1 @@
+wy120-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-25-w b/lib/terminfo/w/wyse150-25-w
new file mode 120000
index 0000000..a5a5e5b
--- /dev/null
+++ b/lib/terminfo/w/wyse150-25-w
@@ -0,0 +1 @@
+wy120-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-vb b/lib/terminfo/w/wyse150-vb
new file mode 120000
index 0000000..2911c5a
--- /dev/null
+++ b/lib/terminfo/w/wyse150-vb
@@ -0,0 +1 @@
+wy120-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-w b/lib/terminfo/w/wyse150-w
new file mode 120000
index 0000000..ba988d3
--- /dev/null
+++ b/lib/terminfo/w/wyse150-w
@@ -0,0 +1 @@
+wy120-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-w-vb b/lib/terminfo/w/wyse150-w-vb
new file mode 120000
index 0000000..cf1e87c
--- /dev/null
+++ b/lib/terminfo/w/wyse150-w-vb
@@ -0,0 +1 @@
+wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160 b/lib/terminfo/w/wyse160
new file mode 120000
index 0000000..1fd33be
--- /dev/null
+++ b/lib/terminfo/w/wyse160
@@ -0,0 +1 @@
+wy160
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-25 b/lib/terminfo/w/wyse160-25
new file mode 120000
index 0000000..9c0a53c
--- /dev/null
+++ b/lib/terminfo/w/wyse160-25
@@ -0,0 +1 @@
+wy160-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-25-w b/lib/terminfo/w/wyse160-25-w
new file mode 120000
index 0000000..19ec8a5
--- /dev/null
+++ b/lib/terminfo/w/wyse160-25-w
@@ -0,0 +1 @@
+wy160-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-42 b/lib/terminfo/w/wyse160-42
new file mode 120000
index 0000000..104101a
--- /dev/null
+++ b/lib/terminfo/w/wyse160-42
@@ -0,0 +1 @@
+wy160-42
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-42-w b/lib/terminfo/w/wyse160-42-w
new file mode 120000
index 0000000..47f6e05
--- /dev/null
+++ b/lib/terminfo/w/wyse160-42-w
@@ -0,0 +1 @@
+wy160-42-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-43 b/lib/terminfo/w/wyse160-43
new file mode 120000
index 0000000..dca3ec6
--- /dev/null
+++ b/lib/terminfo/w/wyse160-43
@@ -0,0 +1 @@
+wy160-43
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-43-w b/lib/terminfo/w/wyse160-43-w
new file mode 120000
index 0000000..5cfbb2d
--- /dev/null
+++ b/lib/terminfo/w/wyse160-43-w
@@ -0,0 +1 @@
+wy160-43-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-vb b/lib/terminfo/w/wyse160-vb
new file mode 120000
index 0000000..4d6944a
--- /dev/null
+++ b/lib/terminfo/w/wyse160-vb
@@ -0,0 +1 @@
+wy160-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-w b/lib/terminfo/w/wyse160-w
new file mode 120000
index 0000000..fe8f66b
--- /dev/null
+++ b/lib/terminfo/w/wyse160-w
@@ -0,0 +1 @@
+wy160-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-wvb b/lib/terminfo/w/wyse160-wvb
new file mode 120000
index 0000000..9fe7041
--- /dev/null
+++ b/lib/terminfo/w/wyse160-wvb
@@ -0,0 +1 @@
+wy160-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185 b/lib/terminfo/w/wyse185
new file mode 120000
index 0000000..379402e
--- /dev/null
+++ b/lib/terminfo/w/wyse185
@@ -0,0 +1 @@
+wy185
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-24 b/lib/terminfo/w/wyse185-24
new file mode 120000
index 0000000..ebb8300
--- /dev/null
+++ b/lib/terminfo/w/wyse185-24
@@ -0,0 +1 @@
+wy185-24
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-vb b/lib/terminfo/w/wyse185-vb
new file mode 120000
index 0000000..cc82839
--- /dev/null
+++ b/lib/terminfo/w/wyse185-vb
@@ -0,0 +1 @@
+wy185-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-w b/lib/terminfo/w/wyse185-w
new file mode 120000
index 0000000..acf82a2
--- /dev/null
+++ b/lib/terminfo/w/wyse185-w
@@ -0,0 +1 @@
+wy185-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-wvb b/lib/terminfo/w/wyse185-wvb
new file mode 120000
index 0000000..a53f284
--- /dev/null
+++ b/lib/terminfo/w/wyse185-wvb
@@ -0,0 +1 @@
+wy185-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse30 b/lib/terminfo/w/wyse30
new file mode 120000
index 0000000..0c8a886
--- /dev/null
+++ b/lib/terminfo/w/wyse30
@@ -0,0 +1 @@
+wy30
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse30-mc b/lib/terminfo/w/wyse30-mc
new file mode 120000
index 0000000..9155e76
--- /dev/null
+++ b/lib/terminfo/w/wyse30-mc
@@ -0,0 +1 @@
+wy30-mc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse30-vb b/lib/terminfo/w/wyse30-vb
new file mode 120000
index 0000000..74668d5
--- /dev/null
+++ b/lib/terminfo/w/wyse30-vb
@@ -0,0 +1 @@
+wy30-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325 b/lib/terminfo/w/wyse325
new file mode 120000
index 0000000..851e071
--- /dev/null
+++ b/lib/terminfo/w/wyse325
@@ -0,0 +1 @@
+wy325
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-25 b/lib/terminfo/w/wyse325-25
new file mode 120000
index 0000000..3e704d8
--- /dev/null
+++ b/lib/terminfo/w/wyse325-25
@@ -0,0 +1 @@
+wy325-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-25w b/lib/terminfo/w/wyse325-25w
new file mode 120000
index 0000000..bfade40
--- /dev/null
+++ b/lib/terminfo/w/wyse325-25w
@@ -0,0 +1 @@
+wy325-25w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-42 b/lib/terminfo/w/wyse325-42
new file mode 120000
index 0000000..08eecf0
--- /dev/null
+++ b/lib/terminfo/w/wyse325-42
@@ -0,0 +1 @@
+wy325-42
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-42w b/lib/terminfo/w/wyse325-42w
new file mode 120000
index 0000000..aaac515
--- /dev/null
+++ b/lib/terminfo/w/wyse325-42w
@@ -0,0 +1 @@
+wy325-42w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-43 b/lib/terminfo/w/wyse325-43
new file mode 120000
index 0000000..7efc971
--- /dev/null
+++ b/lib/terminfo/w/wyse325-43
@@ -0,0 +1 @@
+wy325-43
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-43w b/lib/terminfo/w/wyse325-43w
new file mode 120000
index 0000000..cf9e2c6
--- /dev/null
+++ b/lib/terminfo/w/wyse325-43w
@@ -0,0 +1 @@
+wy325-43w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-vb b/lib/terminfo/w/wyse325-vb
new file mode 120000
index 0000000..364e8ad
--- /dev/null
+++ b/lib/terminfo/w/wyse325-vb
@@ -0,0 +1 @@
+wy325-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-w b/lib/terminfo/w/wyse325-w
new file mode 120000
index 0000000..f2946cd
--- /dev/null
+++ b/lib/terminfo/w/wyse325-w
@@ -0,0 +1 @@
+wy325-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-wvb b/lib/terminfo/w/wyse325-wvb
new file mode 120000
index 0000000..ca3febb
--- /dev/null
+++ b/lib/terminfo/w/wyse325-wvb
@@ -0,0 +1 @@
+wy325-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350 b/lib/terminfo/w/wyse350
new file mode 120000
index 0000000..04c13f3
--- /dev/null
+++ b/lib/terminfo/w/wyse350
@@ -0,0 +1 @@
+wy350
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350-vb b/lib/terminfo/w/wyse350-vb
new file mode 120000
index 0000000..87f0dc4
--- /dev/null
+++ b/lib/terminfo/w/wyse350-vb
@@ -0,0 +1 @@
+wy350-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350-w b/lib/terminfo/w/wyse350-w
new file mode 120000
index 0000000..264c100
--- /dev/null
+++ b/lib/terminfo/w/wyse350-w
@@ -0,0 +1 @@
+wy350-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350-wvb b/lib/terminfo/w/wyse350-wvb
new file mode 120000
index 0000000..e03acae
--- /dev/null
+++ b/lib/terminfo/w/wyse350-wvb
@@ -0,0 +1 @@
+wy350-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse370 b/lib/terminfo/w/wyse370
new file mode 120000
index 0000000..6d86067
--- /dev/null
+++ b/lib/terminfo/w/wyse370
@@ -0,0 +1 @@
+wy370
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50 b/lib/terminfo/w/wyse50
new file mode 120000
index 0000000..1388b90
--- /dev/null
+++ b/lib/terminfo/w/wyse50
@@ -0,0 +1 @@
+wy50
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-mc b/lib/terminfo/w/wyse50-mc
new file mode 120000
index 0000000..f9d14a1
--- /dev/null
+++ b/lib/terminfo/w/wyse50-mc
@@ -0,0 +1 @@
+wy50-mc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-vb b/lib/terminfo/w/wyse50-vb
new file mode 120000
index 0000000..a24edfb
--- /dev/null
+++ b/lib/terminfo/w/wyse50-vb
@@ -0,0 +1 @@
+wy50-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-w b/lib/terminfo/w/wyse50-w
new file mode 120000
index 0000000..54a21a8
--- /dev/null
+++ b/lib/terminfo/w/wyse50-w
@@ -0,0 +1 @@
+wy50-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-wvb b/lib/terminfo/w/wyse50-wvb
new file mode 120000
index 0000000..0da8a0b
--- /dev/null
+++ b/lib/terminfo/w/wyse50-wvb
@@ -0,0 +1 @@
+wy50-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520 b/lib/terminfo/w/wyse520
new file mode 120000
index 0000000..e90ffd9
--- /dev/null
+++ b/lib/terminfo/w/wyse520
@@ -0,0 +1 @@
+wy520
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-24 b/lib/terminfo/w/wyse520-24
new file mode 120000
index 0000000..40b62d7
--- /dev/null
+++ b/lib/terminfo/w/wyse520-24
@@ -0,0 +1 @@
+wy520-24
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36 b/lib/terminfo/w/wyse520-36
new file mode 120000
index 0000000..edc00e7
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36
@@ -0,0 +1 @@
+wy520-36
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36pc b/lib/terminfo/w/wyse520-36pc
new file mode 120000
index 0000000..6e3b87c
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36pc
@@ -0,0 +1 @@
+wy520-36pc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36w b/lib/terminfo/w/wyse520-36w
new file mode 120000
index 0000000..d1b8d57
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36w
@@ -0,0 +1 @@
+wy520-36w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36wpc b/lib/terminfo/w/wyse520-36wpc
new file mode 120000
index 0000000..68b548b
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36wpc
@@ -0,0 +1 @@
+wy520-36wpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48 b/lib/terminfo/w/wyse520-48
new file mode 120000
index 0000000..c55f038
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48
@@ -0,0 +1 @@
+wy520-48
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48pc b/lib/terminfo/w/wyse520-48pc
new file mode 120000
index 0000000..75ac96c
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48pc
@@ -0,0 +1 @@
+wy520-48pc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48w b/lib/terminfo/w/wyse520-48w
new file mode 120000
index 0000000..6263cb5
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48w
@@ -0,0 +1 @@
+wy520-48w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48wpc b/lib/terminfo/w/wyse520-48wpc
new file mode 120000
index 0000000..2114492
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48wpc
@@ -0,0 +1 @@
+wy520-48wpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-epc b/lib/terminfo/w/wyse520-epc
new file mode 120000
index 0000000..dbb2b00
--- /dev/null
+++ b/lib/terminfo/w/wyse520-epc
@@ -0,0 +1 @@
+wy520-epc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-epc-w b/lib/terminfo/w/wyse520-epc-w
new file mode 120000
index 0000000..f9fd697
--- /dev/null
+++ b/lib/terminfo/w/wyse520-epc-w
@@ -0,0 +1 @@
+wy520-epc-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-p-wvb b/lib/terminfo/w/wyse520-p-wvb
new file mode 120000
index 0000000..43f8a29
--- /dev/null
+++ b/lib/terminfo/w/wyse520-p-wvb
@@ -0,0 +1 @@
+wy520-epc-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-pc-24 b/lib/terminfo/w/wyse520-pc-24
new file mode 120000
index 0000000..68f30e4
--- /dev/null
+++ b/lib/terminfo/w/wyse520-pc-24
@@ -0,0 +1 @@
+wy520-epc-24
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-pc-vb b/lib/terminfo/w/wyse520-pc-vb
new file mode 120000
index 0000000..d7ebca9
--- /dev/null
+++ b/lib/terminfo/w/wyse520-pc-vb
@@ -0,0 +1 @@
+wy520-epc-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-vb b/lib/terminfo/w/wyse520-vb
new file mode 120000
index 0000000..fc04105
--- /dev/null
+++ b/lib/terminfo/w/wyse520-vb
@@ -0,0 +1 @@
+wy520-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-w b/lib/terminfo/w/wyse520-w
new file mode 120000
index 0000000..7f414bc
--- /dev/null
+++ b/lib/terminfo/w/wyse520-w
@@ -0,0 +1 @@
+wy520-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-wvb b/lib/terminfo/w/wyse520-wvb
new file mode 120000
index 0000000..b1d1732
--- /dev/null
+++ b/lib/terminfo/w/wyse520-wvb
@@ -0,0 +1 @@
+wy520-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60 b/lib/terminfo/w/wyse60
new file mode 120000
index 0000000..9da9496
--- /dev/null
+++ b/lib/terminfo/w/wyse60
@@ -0,0 +1 @@
+wy60
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-25 b/lib/terminfo/w/wyse60-25
new file mode 120000
index 0000000..200b809
--- /dev/null
+++ b/lib/terminfo/w/wyse60-25
@@ -0,0 +1 @@
+wy60-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-25-w b/lib/terminfo/w/wyse60-25-w
new file mode 120000
index 0000000..a4cc95e
--- /dev/null
+++ b/lib/terminfo/w/wyse60-25-w
@@ -0,0 +1 @@
+wy60-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-316X b/lib/terminfo/w/wyse60-316X
new file mode 120000
index 0000000..8077c2d
--- /dev/null
+++ b/lib/terminfo/w/wyse60-316X
@@ -0,0 +1 @@
+../i/ibm3161
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-42 b/lib/terminfo/w/wyse60-42
new file mode 120000
index 0000000..c82ba0f
--- /dev/null
+++ b/lib/terminfo/w/wyse60-42
@@ -0,0 +1 @@
+wy60-42
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-42-w b/lib/terminfo/w/wyse60-42-w
new file mode 120000
index 0000000..c815291
--- /dev/null
+++ b/lib/terminfo/w/wyse60-42-w
@@ -0,0 +1 @@
+wy60-42-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-43 b/lib/terminfo/w/wyse60-43
new file mode 120000
index 0000000..757d163
--- /dev/null
+++ b/lib/terminfo/w/wyse60-43
@@ -0,0 +1 @@
+wy60-43
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-43-w b/lib/terminfo/w/wyse60-43-w
new file mode 120000
index 0000000..0858359
--- /dev/null
+++ b/lib/terminfo/w/wyse60-43-w
@@ -0,0 +1 @@
+wy60-43-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-AT b/lib/terminfo/w/wyse60-AT
new file mode 120000
index 0000000..7a8ce94
--- /dev/null
+++ b/lib/terminfo/w/wyse60-AT
@@ -0,0 +1 @@
+../i/ibm5151
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-PC b/lib/terminfo/w/wyse60-PC
new file mode 120000
index 0000000..8486f2f
--- /dev/null
+++ b/lib/terminfo/w/wyse60-PC
@@ -0,0 +1 @@
+../i/ibmpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-vb b/lib/terminfo/w/wyse60-vb
new file mode 120000
index 0000000..e5ca2b7
--- /dev/null
+++ b/lib/terminfo/w/wyse60-vb
@@ -0,0 +1 @@
+wy60-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-w b/lib/terminfo/w/wyse60-w
new file mode 120000
index 0000000..e3709d9
--- /dev/null
+++ b/lib/terminfo/w/wyse60-w
@@ -0,0 +1 @@
+wy60-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-wvb b/lib/terminfo/w/wyse60-wvb
new file mode 120000
index 0000000..adedab8
--- /dev/null
+++ b/lib/terminfo/w/wyse60-wvb
@@ -0,0 +1 @@
+wy60-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75 b/lib/terminfo/w/wyse75
new file mode 120000
index 0000000..3a3eb97
--- /dev/null
+++ b/lib/terminfo/w/wyse75
@@ -0,0 +1 @@
+wy75
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-mc b/lib/terminfo/w/wyse75-mc
new file mode 120000
index 0000000..0252da8
--- /dev/null
+++ b/lib/terminfo/w/wyse75-mc
@@ -0,0 +1 @@
+wy75-mc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-vb b/lib/terminfo/w/wyse75-vb
new file mode 120000
index 0000000..ef42599
--- /dev/null
+++ b/lib/terminfo/w/wyse75-vb
@@ -0,0 +1 @@
+wy75-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-w b/lib/terminfo/w/wyse75-w
new file mode 120000
index 0000000..10cd695
--- /dev/null
+++ b/lib/terminfo/w/wyse75-w
@@ -0,0 +1 @@
+wy75-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-wvb b/lib/terminfo/w/wyse75-wvb
new file mode 120000
index 0000000..950f494
--- /dev/null
+++ b/lib/terminfo/w/wyse75-wvb
@@ -0,0 +1 @@
+wy75-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75ap b/lib/terminfo/w/wyse75ap
new file mode 120000
index 0000000..a4f90e3
--- /dev/null
+++ b/lib/terminfo/w/wyse75ap
@@ -0,0 +1 @@
+wy75ap
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85 b/lib/terminfo/w/wyse85
new file mode 120000
index 0000000..d1a952c
--- /dev/null
+++ b/lib/terminfo/w/wyse85
@@ -0,0 +1 @@
+wy85
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-8bit b/lib/terminfo/w/wyse85-8bit
new file mode 120000
index 0000000..2b17708
--- /dev/null
+++ b/lib/terminfo/w/wyse85-8bit
@@ -0,0 +1 @@
+wy85-8bit
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-vb b/lib/terminfo/w/wyse85-vb
new file mode 120000
index 0000000..0f8a346
--- /dev/null
+++ b/lib/terminfo/w/wyse85-vb
@@ -0,0 +1 @@
+wy85-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-w b/lib/terminfo/w/wyse85-w
new file mode 120000
index 0000000..6ba1456
--- /dev/null
+++ b/lib/terminfo/w/wyse85-w
@@ -0,0 +1 @@
+wy85-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-wvb b/lib/terminfo/w/wyse85-wvb
new file mode 120000
index 0000000..2552ffe
--- /dev/null
+++ b/lib/terminfo/w/wyse85-wvb
@@ -0,0 +1 @@
+wy85-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt b/lib/terminfo/w/wyse99gt
new file mode 120000
index 0000000..0af617e
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt
@@ -0,0 +1 @@
+wy99gt
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-25 b/lib/terminfo/w/wyse99gt-25
new file mode 120000
index 0000000..4ebd592
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-25
@@ -0,0 +1 @@
+wy99gt-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-25-w b/lib/terminfo/w/wyse99gt-25-w
new file mode 120000
index 0000000..9031ef0
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-25-w
@@ -0,0 +1 @@
+wy99gt-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-vb b/lib/terminfo/w/wyse99gt-vb
new file mode 120000
index 0000000..29f1062
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-vb
@@ -0,0 +1 @@
+wy99gt-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-w b/lib/terminfo/w/wyse99gt-w
new file mode 120000
index 0000000..6f0979d
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-w
@@ -0,0 +1 @@
+wy99gt-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-wvb b/lib/terminfo/w/wyse99gt-wvb
new file mode 120000
index 0000000..cd63081
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-wvb
@@ -0,0 +1 @@
+wy99gt-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/x/x10term b/lib/terminfo/x/x10term
new file mode 100644
index 0000000..92abb2f
--- /dev/null
+++ b/lib/terminfo/x/x10term
Binary files differ
diff --git a/lib/terminfo/x/x1700 b/lib/terminfo/x/x1700
new file mode 120000
index 0000000..8c31260
--- /dev/null
+++ b/lib/terminfo/x/x1700
@@ -0,0 +1 @@
+../d/diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/x/x1700-lm b/lib/terminfo/x/x1700-lm
new file mode 120000
index 0000000..81ac7e1
--- /dev/null
+++ b/lib/terminfo/x/x1700-lm
@@ -0,0 +1 @@
+../d/diablo1740-lm
\ No newline at end of file
diff --git a/lib/terminfo/x/x1720 b/lib/terminfo/x/x1720
new file mode 120000
index 0000000..c713863
--- /dev/null
+++ b/lib/terminfo/x/x1720
@@ -0,0 +1 @@
+xerox1720
\ No newline at end of file
diff --git a/lib/terminfo/x/x1750 b/lib/terminfo/x/x1750
new file mode 120000
index 0000000..c713863
--- /dev/null
+++ b/lib/terminfo/x/x1750
@@ -0,0 +1 @@
+xerox1720
\ No newline at end of file
diff --git a/lib/terminfo/x/x68k b/lib/terminfo/x/x68k
new file mode 100644
index 0000000..7b9e13f
--- /dev/null
+++ b/lib/terminfo/x/x68k
Binary files differ
diff --git a/lib/terminfo/x/x68k-ite b/lib/terminfo/x/x68k-ite
new file mode 120000
index 0000000..c1bbafb
--- /dev/null
+++ b/lib/terminfo/x/x68k-ite
@@ -0,0 +1 @@
+x68k
\ No newline at end of file
diff --git a/lib/terminfo/x/x820 b/lib/terminfo/x/x820
new file mode 120000
index 0000000..e3b1cca
--- /dev/null
+++ b/lib/terminfo/x/x820
@@ -0,0 +1 @@
+xerox820
\ No newline at end of file
diff --git a/lib/terminfo/x/xdku b/lib/terminfo/x/xdku
new file mode 120000
index 0000000..1392595
--- /dev/null
+++ b/lib/terminfo/x/xdku
@@ -0,0 +1 @@
+../t/tws2103
\ No newline at end of file
diff --git a/lib/terminfo/x/xenix b/lib/terminfo/x/xenix
new file mode 120000
index 0000000..2311fdf
--- /dev/null
+++ b/lib/terminfo/x/xenix
@@ -0,0 +1 @@
+../i/ibmpcx
\ No newline at end of file
diff --git a/lib/terminfo/x/xerox b/lib/terminfo/x/xerox
new file mode 120000
index 0000000..8c31260
--- /dev/null
+++ b/lib/terminfo/x/xerox
@@ -0,0 +1 @@
+../d/diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/x/xerox-lm b/lib/terminfo/x/xerox-lm
new file mode 120000
index 0000000..314effd
--- /dev/null
+++ b/lib/terminfo/x/xerox-lm
@@ -0,0 +1 @@
+../d/diablo1640-lm
\ No newline at end of file
diff --git a/lib/terminfo/x/xerox1720 b/lib/terminfo/x/xerox1720
new file mode 100644
index 0000000..68b8097
--- /dev/null
+++ b/lib/terminfo/x/xerox1720
Binary files differ
diff --git a/lib/terminfo/x/xerox820 b/lib/terminfo/x/xerox820
new file mode 100644
index 0000000..24d1d64
--- /dev/null
+++ b/lib/terminfo/x/xerox820
Binary files differ
diff --git a/lib/terminfo/x/xfce b/lib/terminfo/x/xfce
new file mode 100644
index 0000000..0e4bc42
--- /dev/null
+++ b/lib/terminfo/x/xfce
Binary files differ
diff --git a/lib/terminfo/x/xiterm b/lib/terminfo/x/xiterm
new file mode 100644
index 0000000..438f6ba
--- /dev/null
+++ b/lib/terminfo/x/xiterm
Binary files differ
diff --git a/lib/terminfo/x/xl83 b/lib/terminfo/x/xl83
new file mode 120000
index 0000000..5d7029b
--- /dev/null
+++ b/lib/terminfo/x/xl83
@@ -0,0 +1 @@
+../c/cyb83
\ No newline at end of file
diff --git a/lib/terminfo/x/xnuppc b/lib/terminfo/x/xnuppc
new file mode 100644
index 0000000..3dad6c8
--- /dev/null
+++ b/lib/terminfo/x/xnuppc
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+100x37 b/lib/terminfo/x/xnuppc+100x37
new file mode 100644
index 0000000..68f180e
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+100x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+112x37 b/lib/terminfo/x/xnuppc+112x37
new file mode 100644
index 0000000..2277326
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+112x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+128x40 b/lib/terminfo/x/xnuppc+128x40
new file mode 100644
index 0000000..0d70274
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+128x40
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+128x48 b/lib/terminfo/x/xnuppc+128x48
new file mode 100644
index 0000000..ce8091a
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+128x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+144x48 b/lib/terminfo/x/xnuppc+144x48
new file mode 100644
index 0000000..17bf93d
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+144x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+160x64 b/lib/terminfo/x/xnuppc+160x64
new file mode 100644
index 0000000..2974c09
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+160x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+200x64 b/lib/terminfo/x/xnuppc+200x64
new file mode 100644
index 0000000..fcbdaa0
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+200x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+200x75 b/lib/terminfo/x/xnuppc+200x75
new file mode 100644
index 0000000..e0d8252
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+200x75
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+256x96 b/lib/terminfo/x/xnuppc+256x96
new file mode 100644
index 0000000..1395d40
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+256x96
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+80x25 b/lib/terminfo/x/xnuppc+80x25
new file mode 100644
index 0000000..6548421
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+80x25
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+80x30 b/lib/terminfo/x/xnuppc+80x30
new file mode 100644
index 0000000..95cfb81
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+80x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+90x30 b/lib/terminfo/x/xnuppc+90x30
new file mode 100644
index 0000000..13513c8
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+90x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+b b/lib/terminfo/x/xnuppc+b
new file mode 100644
index 0000000..15d20b4
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+b
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+basic b/lib/terminfo/x/xnuppc+basic
new file mode 100644
index 0000000..186d206
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+basic
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+c b/lib/terminfo/x/xnuppc+c
new file mode 100644
index 0000000..515da8d
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+c
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+f b/lib/terminfo/x/xnuppc+f
new file mode 100644
index 0000000..f878a74
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+f
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+f2 b/lib/terminfo/x/xnuppc+f2
new file mode 100644
index 0000000..fe34ddb
--- /dev/null
+++ b/lib/terminfo/x/xnuppc+f2
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-100x37 b/lib/terminfo/x/xnuppc-100x37
new file mode 100644
index 0000000..aaee560
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-100x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-100x37-m b/lib/terminfo/x/xnuppc-100x37-m
new file mode 100644
index 0000000..4bc6904
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-100x37-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-112x37 b/lib/terminfo/x/xnuppc-112x37
new file mode 100644
index 0000000..baa9cbb
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-112x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-112x37-m b/lib/terminfo/x/xnuppc-112x37-m
new file mode 100644
index 0000000..6715a56
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-112x37-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x40 b/lib/terminfo/x/xnuppc-128x40
new file mode 100644
index 0000000..7b4562a
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-128x40
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x40-m b/lib/terminfo/x/xnuppc-128x40-m
new file mode 100644
index 0000000..ec46a1f
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-128x40-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x48 b/lib/terminfo/x/xnuppc-128x48
new file mode 100644
index 0000000..004ebfc
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-128x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x48-m b/lib/terminfo/x/xnuppc-128x48-m
new file mode 100644
index 0000000..80ceb59
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-128x48-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-144x48 b/lib/terminfo/x/xnuppc-144x48
new file mode 100644
index 0000000..6378324
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-144x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-144x48-m b/lib/terminfo/x/xnuppc-144x48-m
new file mode 100644
index 0000000..2643fce
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-144x48-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-160x64 b/lib/terminfo/x/xnuppc-160x64
new file mode 100644
index 0000000..8fdeddc
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-160x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-160x64-m b/lib/terminfo/x/xnuppc-160x64-m
new file mode 100644
index 0000000..b93353d
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-160x64-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x64 b/lib/terminfo/x/xnuppc-200x64
new file mode 100644
index 0000000..0d9f752
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-200x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x64-m b/lib/terminfo/x/xnuppc-200x64-m
new file mode 100644
index 0000000..3ff2640
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-200x64-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x75 b/lib/terminfo/x/xnuppc-200x75
new file mode 100644
index 0000000..2a7ee27
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-200x75
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x75-m b/lib/terminfo/x/xnuppc-200x75-m
new file mode 100644
index 0000000..07ecf50
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-200x75-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-256x96 b/lib/terminfo/x/xnuppc-256x96
new file mode 100644
index 0000000..345b648
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-256x96
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-256x96-m b/lib/terminfo/x/xnuppc-256x96-m
new file mode 100644
index 0000000..e0c2222
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-256x96-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x25 b/lib/terminfo/x/xnuppc-80x25
new file mode 100644
index 0000000..3e96764
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-80x25
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x25-m b/lib/terminfo/x/xnuppc-80x25-m
new file mode 100644
index 0000000..1f5e92d
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-80x25-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x30 b/lib/terminfo/x/xnuppc-80x30
new file mode 100644
index 0000000..c6dfbd1
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-80x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x30-m b/lib/terminfo/x/xnuppc-80x30-m
new file mode 100644
index 0000000..cbe4439
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-80x30-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-90x30 b/lib/terminfo/x/xnuppc-90x30
new file mode 100644
index 0000000..0cf94e6
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-90x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-90x30-m b/lib/terminfo/x/xnuppc-90x30-m
new file mode 100644
index 0000000..433586c
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-90x30-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-b b/lib/terminfo/x/xnuppc-b
new file mode 100644
index 0000000..b5a4b5c
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-b
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-f b/lib/terminfo/x/xnuppc-f
new file mode 100644
index 0000000..6c83bae
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-f
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-f2 b/lib/terminfo/x/xnuppc-f2
new file mode 100644
index 0000000..38b1970
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-f2
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m b/lib/terminfo/x/xnuppc-m
new file mode 100644
index 0000000..4d8a88c
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m-b b/lib/terminfo/x/xnuppc-m-b
new file mode 100644
index 0000000..b5c1d63
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-m-b
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m-f b/lib/terminfo/x/xnuppc-m-f
new file mode 100644
index 0000000..cb5c1f0
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-m-f
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m-f2 b/lib/terminfo/x/xnuppc-m-f2
new file mode 100644
index 0000000..2a8ab88
--- /dev/null
+++ b/lib/terminfo/x/xnuppc-m-f2
Binary files differ
diff --git a/lib/terminfo/x/xtalk b/lib/terminfo/x/xtalk
new file mode 100644
index 0000000..90b3eb3
--- /dev/null
+++ b/lib/terminfo/x/xtalk
Binary files differ
diff --git a/lib/terminfo/x/xterm b/lib/terminfo/x/xterm
new file mode 100644
index 0000000..12ad5b3
--- /dev/null
+++ b/lib/terminfo/x/xterm
Binary files differ
diff --git a/lib/terminfo/x/xterm+256color b/lib/terminfo/x/xterm+256color
new file mode 100644
index 0000000..a058522
--- /dev/null
+++ b/lib/terminfo/x/xterm+256color
Binary files differ
diff --git a/lib/terminfo/x/xterm+256setaf b/lib/terminfo/x/xterm+256setaf
new file mode 100644
index 0000000..9967fa7
--- /dev/null
+++ b/lib/terminfo/x/xterm+256setaf
Binary files differ
diff --git a/lib/terminfo/x/xterm+88color b/lib/terminfo/x/xterm+88color
new file mode 100644
index 0000000..8173ec8
--- /dev/null
+++ b/lib/terminfo/x/xterm+88color
Binary files differ
diff --git a/lib/terminfo/x/xterm+app b/lib/terminfo/x/xterm+app
new file mode 100644
index 0000000..0df7c39
--- /dev/null
+++ b/lib/terminfo/x/xterm+app
Binary files differ
diff --git a/lib/terminfo/x/xterm+edit b/lib/terminfo/x/xterm+edit
new file mode 100644
index 0000000..9371ad3
--- /dev/null
+++ b/lib/terminfo/x/xterm+edit
Binary files differ
diff --git a/lib/terminfo/x/xterm+kbs b/lib/terminfo/x/xterm+kbs
new file mode 100644
index 0000000..981cf7a
--- /dev/null
+++ b/lib/terminfo/x/xterm+kbs
Binary files differ
diff --git a/lib/terminfo/x/xterm+noapp b/lib/terminfo/x/xterm+noapp
new file mode 100644
index 0000000..f088143
--- /dev/null
+++ b/lib/terminfo/x/xterm+noapp
Binary files differ
diff --git a/lib/terminfo/x/xterm+pc+edit b/lib/terminfo/x/xterm+pc+edit
new file mode 100644
index 0000000..0872437
--- /dev/null
+++ b/lib/terminfo/x/xterm+pc+edit
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcc0 b/lib/terminfo/x/xterm+pcc0
new file mode 100644
index 0000000..1896b3b
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcc0
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcc1 b/lib/terminfo/x/xterm+pcc1
new file mode 100644
index 0000000..537312c
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcc1
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcc2 b/lib/terminfo/x/xterm+pcc2
new file mode 100644
index 0000000..ef0486a
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcc2
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcc3 b/lib/terminfo/x/xterm+pcc3
new file mode 100644
index 0000000..980da82
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcc3
Binary files differ
diff --git a/lib/terminfo/x/xterm+pce2 b/lib/terminfo/x/xterm+pce2
new file mode 100644
index 0000000..b77338a
--- /dev/null
+++ b/lib/terminfo/x/xterm+pce2
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcf0 b/lib/terminfo/x/xterm+pcf0
new file mode 100644
index 0000000..3c91b63
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcf0
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcf2 b/lib/terminfo/x/xterm+pcf2
new file mode 100644
index 0000000..5d691cd
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcf2
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcfkeys b/lib/terminfo/x/xterm+pcfkeys
new file mode 100644
index 0000000..dd11697
--- /dev/null
+++ b/lib/terminfo/x/xterm+pcfkeys
Binary files differ
diff --git a/lib/terminfo/x/xterm+r6f2 b/lib/terminfo/x/xterm+r6f2
new file mode 100644
index 0000000..9b4847e
--- /dev/null
+++ b/lib/terminfo/x/xterm+r6f2
Binary files differ
diff --git a/lib/terminfo/x/xterm+sl b/lib/terminfo/x/xterm+sl
new file mode 100644
index 0000000..4d0f685
--- /dev/null
+++ b/lib/terminfo/x/xterm+sl
Binary files differ
diff --git a/lib/terminfo/x/xterm+sl-twm b/lib/terminfo/x/xterm+sl-twm
new file mode 100644
index 0000000..67e954b
--- /dev/null
+++ b/lib/terminfo/x/xterm+sl-twm
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1002 b/lib/terminfo/x/xterm+sm+1002
new file mode 100644
index 0000000..0dda5dc
--- /dev/null
+++ b/lib/terminfo/x/xterm+sm+1002
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1003 b/lib/terminfo/x/xterm+sm+1003
new file mode 100644
index 0000000..da1b4e7
--- /dev/null
+++ b/lib/terminfo/x/xterm+sm+1003
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1005 b/lib/terminfo/x/xterm+sm+1005
new file mode 100644
index 0000000..e55a22d
--- /dev/null
+++ b/lib/terminfo/x/xterm+sm+1005
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1006 b/lib/terminfo/x/xterm+sm+1006
new file mode 100644
index 0000000..8a551db
--- /dev/null
+++ b/lib/terminfo/x/xterm+sm+1006
Binary files differ
diff --git a/lib/terminfo/x/xterm+tmux b/lib/terminfo/x/xterm+tmux
new file mode 100644
index 0000000..b602a89
--- /dev/null
+++ b/lib/terminfo/x/xterm+tmux
Binary files differ
diff --git a/lib/terminfo/x/xterm+vt+edit b/lib/terminfo/x/xterm+vt+edit
new file mode 100644
index 0000000..a435cb8
--- /dev/null
+++ b/lib/terminfo/x/xterm+vt+edit
Binary files differ
diff --git a/lib/terminfo/x/xterm+x10mouse b/lib/terminfo/x/xterm+x10mouse
new file mode 100644
index 0000000..a18b881
--- /dev/null
+++ b/lib/terminfo/x/xterm+x10mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm+x11hilite b/lib/terminfo/x/xterm+x11hilite
new file mode 100644
index 0000000..97484e0
--- /dev/null
+++ b/lib/terminfo/x/xterm+x11hilite
Binary files differ
diff --git a/lib/terminfo/x/xterm+x11mouse b/lib/terminfo/x/xterm+x11mouse
new file mode 100644
index 0000000..c97e557
--- /dev/null
+++ b/lib/terminfo/x/xterm+x11mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm-1002 b/lib/terminfo/x/xterm-1002
new file mode 100644
index 0000000..be276d8
--- /dev/null
+++ b/lib/terminfo/x/xterm-1002
Binary files differ
diff --git a/lib/terminfo/x/xterm-1003 b/lib/terminfo/x/xterm-1003
new file mode 100644
index 0000000..fb7731f
--- /dev/null
+++ b/lib/terminfo/x/xterm-1003
Binary files differ
diff --git a/lib/terminfo/x/xterm-1005 b/lib/terminfo/x/xterm-1005
new file mode 100644
index 0000000..3377adf
--- /dev/null
+++ b/lib/terminfo/x/xterm-1005
Binary files differ
diff --git a/lib/terminfo/x/xterm-1006 b/lib/terminfo/x/xterm-1006
new file mode 100644
index 0000000..b7408ea
--- /dev/null
+++ b/lib/terminfo/x/xterm-1006
Binary files differ
diff --git a/lib/terminfo/x/xterm-16color b/lib/terminfo/x/xterm-16color
new file mode 100644
index 0000000..4f44a84
--- /dev/null
+++ b/lib/terminfo/x/xterm-16color
Binary files differ
diff --git a/lib/terminfo/x/xterm-24 b/lib/terminfo/x/xterm-24
new file mode 100644
index 0000000..5349f6d
--- /dev/null
+++ b/lib/terminfo/x/xterm-24
Binary files differ
diff --git a/lib/terminfo/x/xterm-256color b/lib/terminfo/x/xterm-256color
new file mode 100644
index 0000000..80f0a34
--- /dev/null
+++ b/lib/terminfo/x/xterm-256color
Binary files differ
diff --git a/lib/terminfo/x/xterm-88color b/lib/terminfo/x/xterm-88color
new file mode 100644
index 0000000..4d74119
--- /dev/null
+++ b/lib/terminfo/x/xterm-88color
Binary files differ
diff --git a/lib/terminfo/x/xterm-8bit b/lib/terminfo/x/xterm-8bit
new file mode 100644
index 0000000..e3b9930
--- /dev/null
+++ b/lib/terminfo/x/xterm-8bit
Binary files differ
diff --git a/lib/terminfo/x/xterm-basic b/lib/terminfo/x/xterm-basic
new file mode 100644
index 0000000..fcdc95c
--- /dev/null
+++ b/lib/terminfo/x/xterm-basic
Binary files differ
diff --git a/lib/terminfo/x/xterm-bold b/lib/terminfo/x/xterm-bold
new file mode 100644
index 0000000..5c29490
--- /dev/null
+++ b/lib/terminfo/x/xterm-bold
Binary files differ
diff --git a/lib/terminfo/x/xterm-color b/lib/terminfo/x/xterm-color
new file mode 100644
index 0000000..10bf2e1
--- /dev/null
+++ b/lib/terminfo/x/xterm-color
Binary files differ
diff --git a/lib/terminfo/x/xterm-hp b/lib/terminfo/x/xterm-hp
new file mode 100644
index 0000000..282db34
--- /dev/null
+++ b/lib/terminfo/x/xterm-hp
Binary files differ
diff --git a/lib/terminfo/x/xterm-new b/lib/terminfo/x/xterm-new
new file mode 100644
index 0000000..596809e
--- /dev/null
+++ b/lib/terminfo/x/xterm-new
Binary files differ
diff --git a/lib/terminfo/x/xterm-nic b/lib/terminfo/x/xterm-nic
new file mode 100644
index 0000000..1e28ad4
--- /dev/null
+++ b/lib/terminfo/x/xterm-nic
Binary files differ
diff --git a/lib/terminfo/x/xterm-noapp b/lib/terminfo/x/xterm-noapp
new file mode 100644
index 0000000..163445b
--- /dev/null
+++ b/lib/terminfo/x/xterm-noapp
Binary files differ
diff --git a/lib/terminfo/x/xterm-old b/lib/terminfo/x/xterm-old
new file mode 100644
index 0000000..64473e4
--- /dev/null
+++ b/lib/terminfo/x/xterm-old
Binary files differ
diff --git a/lib/terminfo/x/xterm-pcolor b/lib/terminfo/x/xterm-pcolor
new file mode 100644
index 0000000..e8fb515
--- /dev/null
+++ b/lib/terminfo/x/xterm-pcolor
Binary files differ
diff --git a/lib/terminfo/x/xterm-r5 b/lib/terminfo/x/xterm-r5
new file mode 100644
index 0000000..64449b8
--- /dev/null
+++ b/lib/terminfo/x/xterm-r5
Binary files differ
diff --git a/lib/terminfo/x/xterm-r6 b/lib/terminfo/x/xterm-r6
new file mode 100644
index 0000000..16fd56e
--- /dev/null
+++ b/lib/terminfo/x/xterm-r6
Binary files differ
diff --git a/lib/terminfo/x/xterm-sco b/lib/terminfo/x/xterm-sco
new file mode 100644
index 0000000..d838189
--- /dev/null
+++ b/lib/terminfo/x/xterm-sco
Binary files differ
diff --git a/lib/terminfo/x/xterm-sun b/lib/terminfo/x/xterm-sun
new file mode 100644
index 0000000..4b04128
--- /dev/null
+++ b/lib/terminfo/x/xterm-sun
Binary files differ
diff --git a/lib/terminfo/x/xterm-utf8 b/lib/terminfo/x/xterm-utf8
new file mode 100644
index 0000000..6443691
--- /dev/null
+++ b/lib/terminfo/x/xterm-utf8
Binary files differ
diff --git a/lib/terminfo/x/xterm-vt220 b/lib/terminfo/x/xterm-vt220
new file mode 100644
index 0000000..f7abb32
--- /dev/null
+++ b/lib/terminfo/x/xterm-vt220
Binary files differ
diff --git a/lib/terminfo/x/xterm-vt52 b/lib/terminfo/x/xterm-vt52
new file mode 100644
index 0000000..c088f9a
--- /dev/null
+++ b/lib/terminfo/x/xterm-vt52
Binary files differ
diff --git a/lib/terminfo/x/xterm-x10mouse b/lib/terminfo/x/xterm-x10mouse
new file mode 100644
index 0000000..d46d61f
--- /dev/null
+++ b/lib/terminfo/x/xterm-x10mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm-x11hilite b/lib/terminfo/x/xterm-x11hilite
new file mode 100644
index 0000000..a26c583
--- /dev/null
+++ b/lib/terminfo/x/xterm-x11hilite
Binary files differ
diff --git a/lib/terminfo/x/xterm-x11mouse b/lib/terminfo/x/xterm-x11mouse
new file mode 100644
index 0000000..49f97c1
--- /dev/null
+++ b/lib/terminfo/x/xterm-x11mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v32 b/lib/terminfo/x/xterm-xf86-v32
new file mode 100644
index 0000000..ec4c264
--- /dev/null
+++ b/lib/terminfo/x/xterm-xf86-v32
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v33 b/lib/terminfo/x/xterm-xf86-v33
new file mode 100644
index 0000000..1d447df
--- /dev/null
+++ b/lib/terminfo/x/xterm-xf86-v33
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v333 b/lib/terminfo/x/xterm-xf86-v333
new file mode 100644
index 0000000..ef6045b
--- /dev/null
+++ b/lib/terminfo/x/xterm-xf86-v333
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v40 b/lib/terminfo/x/xterm-xf86-v40
new file mode 100644
index 0000000..520868d
--- /dev/null
+++ b/lib/terminfo/x/xterm-xf86-v40
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v43 b/lib/terminfo/x/xterm-xf86-v43
new file mode 100644
index 0000000..f74b0c9
--- /dev/null
+++ b/lib/terminfo/x/xterm-xf86-v43
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v44 b/lib/terminfo/x/xterm-xf86-v44
new file mode 100644
index 0000000..6bf51a7
--- /dev/null
+++ b/lib/terminfo/x/xterm-xf86-v44
Binary files differ
diff --git a/lib/terminfo/x/xterm-xfree86 b/lib/terminfo/x/xterm-xfree86
new file mode 100644
index 0000000..0b72f45
--- /dev/null
+++ b/lib/terminfo/x/xterm-xfree86
Binary files differ
diff --git a/lib/terminfo/x/xterm-xi b/lib/terminfo/x/xterm-xi
new file mode 100644
index 0000000..071c827
--- /dev/null
+++ b/lib/terminfo/x/xterm-xi
Binary files differ
diff --git a/lib/terminfo/x/xterm1 b/lib/terminfo/x/xterm1
new file mode 100644
index 0000000..f406930
--- /dev/null
+++ b/lib/terminfo/x/xterm1
Binary files differ
diff --git a/lib/terminfo/x/xtermc b/lib/terminfo/x/xtermc
new file mode 100644
index 0000000..0af01da
--- /dev/null
+++ b/lib/terminfo/x/xtermc
Binary files differ
diff --git a/lib/terminfo/x/xtermm b/lib/terminfo/x/xtermm
new file mode 100644
index 0000000..c47dd78
--- /dev/null
+++ b/lib/terminfo/x/xtermm
Binary files differ
diff --git a/lib/terminfo/x/xterms b/lib/terminfo/x/xterms
new file mode 120000
index 0000000..f72cf93
--- /dev/null
+++ b/lib/terminfo/x/xterms
@@ -0,0 +1 @@
+xterm-24
\ No newline at end of file
diff --git a/lib/terminfo/x/xterms-sun b/lib/terminfo/x/xterms-sun
new file mode 100644
index 0000000..33bfc90
--- /dev/null
+++ b/lib/terminfo/x/xterms-sun
Binary files differ
diff --git a/lib/terminfo/x/xwsh b/lib/terminfo/x/xwsh
new file mode 120000
index 0000000..e952f2f
--- /dev/null
+++ b/lib/terminfo/x/xwsh
@@ -0,0 +1 @@
+../i/iris-color
\ No newline at end of file
diff --git a/lib/terminfo/z/z-100 b/lib/terminfo/z/z-100
new file mode 120000
index 0000000..eaeecd4
--- /dev/null
+++ b/lib/terminfo/z/z-100
@@ -0,0 +1 @@
+z100
\ No newline at end of file
diff --git a/lib/terminfo/z/z-100bw b/lib/terminfo/z/z-100bw
new file mode 120000
index 0000000..34ef512
--- /dev/null
+++ b/lib/terminfo/z/z-100bw
@@ -0,0 +1 @@
+z100bw
\ No newline at end of file
diff --git a/lib/terminfo/z/z100 b/lib/terminfo/z/z100
new file mode 100644
index 0000000..2dab927
--- /dev/null
+++ b/lib/terminfo/z/z100
Binary files differ
diff --git a/lib/terminfo/z/z100bw b/lib/terminfo/z/z100bw
new file mode 100644
index 0000000..a2b51de
--- /dev/null
+++ b/lib/terminfo/z/z100bw
Binary files differ
diff --git a/lib/terminfo/z/z110 b/lib/terminfo/z/z110
new file mode 120000
index 0000000..eaeecd4
--- /dev/null
+++ b/lib/terminfo/z/z110
@@ -0,0 +1 @@
+z100
\ No newline at end of file
diff --git a/lib/terminfo/z/z110bw b/lib/terminfo/z/z110bw
new file mode 120000
index 0000000..34ef512
--- /dev/null
+++ b/lib/terminfo/z/z110bw
@@ -0,0 +1 @@
+z100bw
\ No newline at end of file
diff --git a/lib/terminfo/z/z19 b/lib/terminfo/z/z19
new file mode 120000
index 0000000..3ed95e0
--- /dev/null
+++ b/lib/terminfo/z/z19
@@ -0,0 +1 @@
+../h/h19
\ No newline at end of file
diff --git a/lib/terminfo/z/z29 b/lib/terminfo/z/z29
new file mode 100644
index 0000000..2c8a1fc
--- /dev/null
+++ b/lib/terminfo/z/z29
Binary files differ
diff --git a/lib/terminfo/z/z29a b/lib/terminfo/z/z29a
new file mode 100644
index 0000000..56d6baa
--- /dev/null
+++ b/lib/terminfo/z/z29a
Binary files differ
diff --git a/lib/terminfo/z/z29a-kc-bc b/lib/terminfo/z/z29a-kc-bc
new file mode 120000
index 0000000..efc5693
--- /dev/null
+++ b/lib/terminfo/z/z29a-kc-bc
@@ -0,0 +1 @@
+z29a
\ No newline at end of file
diff --git a/lib/terminfo/z/z29a-kc-uc b/lib/terminfo/z/z29a-kc-uc
new file mode 100644
index 0000000..431b549
--- /dev/null
+++ b/lib/terminfo/z/z29a-kc-uc
Binary files differ
diff --git a/lib/terminfo/z/z29a-nkc-bc b/lib/terminfo/z/z29a-nkc-bc
new file mode 100644
index 0000000..6d13a74
--- /dev/null
+++ b/lib/terminfo/z/z29a-nkc-bc
Binary files differ
diff --git a/lib/terminfo/z/z29a-nkc-uc b/lib/terminfo/z/z29a-nkc-uc
new file mode 100644
index 0000000..a12f915
--- /dev/null
+++ b/lib/terminfo/z/z29a-nkc-uc
Binary files differ
diff --git a/lib/terminfo/z/z29b b/lib/terminfo/z/z29b
new file mode 120000
index 0000000..9e067cc
--- /dev/null
+++ b/lib/terminfo/z/z29b
@@ -0,0 +1 @@
+z29
\ No newline at end of file
diff --git a/lib/terminfo/z/z30 b/lib/terminfo/z/z30
new file mode 120000
index 0000000..7364c4d
--- /dev/null
+++ b/lib/terminfo/z/z30
@@ -0,0 +1 @@
+zen30
\ No newline at end of file
diff --git a/lib/terminfo/z/z340 b/lib/terminfo/z/z340
new file mode 100644
index 0000000..0ae5a4b
--- /dev/null
+++ b/lib/terminfo/z/z340
Binary files differ
diff --git a/lib/terminfo/z/z340-nam b/lib/terminfo/z/z340-nam
new file mode 100644
index 0000000..2c2e2b3
--- /dev/null
+++ b/lib/terminfo/z/z340-nam
Binary files differ
diff --git a/lib/terminfo/z/z39-a b/lib/terminfo/z/z39-a
new file mode 100644
index 0000000..d934401
--- /dev/null
+++ b/lib/terminfo/z/z39-a
Binary files differ
diff --git a/lib/terminfo/z/z39a b/lib/terminfo/z/z39a
new file mode 120000
index 0000000..77c36a1
--- /dev/null
+++ b/lib/terminfo/z/z39a
@@ -0,0 +1 @@
+z39-a
\ No newline at end of file
diff --git a/lib/terminfo/z/z50 b/lib/terminfo/z/z50
new file mode 120000
index 0000000..01db52e
--- /dev/null
+++ b/lib/terminfo/z/z50
@@ -0,0 +1 @@
+zen50
\ No newline at end of file
diff --git a/lib/terminfo/z/z8001 b/lib/terminfo/z/z8001
new file mode 120000
index 0000000..6961ff6
--- /dev/null
+++ b/lib/terminfo/z/z8001
@@ -0,0 +1 @@
+../c/cci
\ No newline at end of file
diff --git a/lib/terminfo/z/zen30 b/lib/terminfo/z/zen30
new file mode 100644
index 0000000..e2253ba
--- /dev/null
+++ b/lib/terminfo/z/zen30
Binary files differ
diff --git a/lib/terminfo/z/zen50 b/lib/terminfo/z/zen50
new file mode 100644
index 0000000..a946642
--- /dev/null
+++ b/lib/terminfo/z/zen50
Binary files differ
diff --git a/lib/terminfo/z/zen8001 b/lib/terminfo/z/zen8001
new file mode 120000
index 0000000..6961ff6
--- /dev/null
+++ b/lib/terminfo/z/zen8001
@@ -0,0 +1 @@
+../c/cci
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith b/lib/terminfo/z/zenith
new file mode 120000
index 0000000..3ed95e0
--- /dev/null
+++ b/lib/terminfo/z/zenith
@@ -0,0 +1 @@
+../h/h19
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith29 b/lib/terminfo/z/zenith29
new file mode 120000
index 0000000..9e067cc
--- /dev/null
+++ b/lib/terminfo/z/zenith29
@@ -0,0 +1 @@
+z29
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith39-a b/lib/terminfo/z/zenith39-a
new file mode 120000
index 0000000..77c36a1
--- /dev/null
+++ b/lib/terminfo/z/zenith39-a
@@ -0,0 +1 @@
+z39-a
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith39-ansi b/lib/terminfo/z/zenith39-ansi
new file mode 120000
index 0000000..77c36a1
--- /dev/null
+++ b/lib/terminfo/z/zenith39-ansi
@@ -0,0 +1 @@
+z39-a
\ No newline at end of file
diff --git a/lib/terminfo/z/zt-1 b/lib/terminfo/z/zt-1
new file mode 120000
index 0000000..92bc237
--- /dev/null
+++ b/lib/terminfo/z/zt-1
@@ -0,0 +1 @@
+ztx
\ No newline at end of file
diff --git a/lib/terminfo/z/ztx b/lib/terminfo/z/ztx
new file mode 100644
index 0000000..9e65d8d
--- /dev/null
+++ b/lib/terminfo/z/ztx
Binary files differ
diff --git a/lib/terminfo/z/ztx-1-a b/lib/terminfo/z/ztx-1-a
new file mode 120000
index 0000000..92bc237
--- /dev/null
+++ b/lib/terminfo/z/ztx-1-a
@@ -0,0 +1 @@
+ztx
\ No newline at end of file
diff --git a/lib/terminfo/z/ztx11 b/lib/terminfo/z/ztx11
new file mode 120000
index 0000000..92bc237
--- /dev/null
+++ b/lib/terminfo/z/ztx11
@@ -0,0 +1 @@
+ztx
\ No newline at end of file
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 0000000..9979da5
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,85 @@
+# $Id: Makefile.in,v 1.48 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996,1997
+#
+# Makefile for ncurses manual pages.
+#
+# NOTE: When you add or rename a man page, make sure you update both
+# the top-level MANIFEST and any man/*.renames files!
+
+SHELL		= /bin/sh
+
+
+DESTDIR		= 
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+mandir		= ${datarootdir}/man
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+INSTALL		= /usr/bin/install -c
+INSTALL_DATA	= ${INSTALL} -m 644
+
+all \
+sources :	terminfo.5
+depend :
+tags :
+
+$(DESTDIR)$(mandir) :
+	mkdir -p $@
+
+EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 *-config.1 $(srcdir)/*.[0-9]*
+
+install install.man : terminfo.5 $(DESTDIR)$(mandir)
+	$(SHELL) ../edit_man.sh normal installing $(EDITARGS)
+
+uninstall uninstall.man :
+	-$(SHELL) ../edit_man.sh normal removing $(EDITARGS)
+
+# We compose terminfo.5 from the real sources...
+CAPLIST=$(srcdir)/../include/Caps
+terminfo.5: $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail Makefile $(srcdir)/MKterminfo.sh
+	$(SHELL) $(srcdir)/MKterminfo.sh $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail >terminfo.5
+
+mostlyclean :
+	-rm -f core tags TAGS *~ *.bak *.ln *.atac trace
+
+clean:	mostlyclean
+	rm -f terminfo.5
+
+../edit_man.sed : make_sed.sh /home/shade/dev/cm/13/external/libncurses/man/man_db.renames
+	$(SHELL) $(srcdir)/make_sed.sh /home/shade/dev/cm/13/external/libncurses/man/man_db.renames >../edit_man.sed
+
+distclean realclean: clean
+	rm -f Makefile *-config.1 ../edit_man.* ../man_alias.*
diff --git a/man/ncurses6-config.1 b/man/ncurses6-config.1
new file mode 100644
index 0000000..2131dc7
--- /dev/null
+++ b/man/ncurses6-config.1
@@ -0,0 +1,98 @@
+.\"***************************************************************************
+.\" Copyright (c) 2010 Free Software Foundation, Inc.                        *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: MKncu_config.in,v 1.3 2010/03/06 22:29:17 tom Exp $
+.TH ncurses6-config 1 ""
+.SH NAME
+ncurses6-config \- helper script for ncurses libraries
+.SH SYNOPSIS
+.B ncurses6-config 
+[\fIoptions\fR]
+.SH DESCRIPTION
+This is a shell script which simplifies configuring applications against
+a particular set of ncurses libraries.
+.SH OPTIONS
+.TP
+\fB\-\-prefix\fR
+echos the package\-prefix of ncurses
+.TP
+\fB\-\-exec\-prefix\fR
+echos the executable\-prefix of ncurses
+.TP
+\fB\-\-cflags\fR
+echos the C compiler flags needed to compile with ncurses
+.TP
+\fB\-\-libs\fR
+echos the libraries needed to link with ncurses
+.TP
+\fB\-\-version\fR
+echos the release+patchdate version of ncurses
+.TP
+\fB\-\-abi\-version\fR
+echos the ABI version of ncurses
+.TP
+\fB\-\-mouse\-version\fR
+echos the mouse\-interface version of ncurses
+.TP
+\fB\-\-bindir\fR
+echos the directory containing ncurses programs
+.TP
+\fB\-\-datadir\fR
+echos the directory containing ncurses data
+.TP
+\fB\-\-includedir\fR
+echos the directory containing ncurses header files
+.TP
+\fB\-\-libdir\fR
+echos the directory containing ncurses libraries
+.TP
+\fB\-\-mandir\fR
+echos the directory containing ncurses manpages
+.TP
+\fB\-\-terminfo\fR
+echos the $TERMINFO terminfo database path, e.g.,
+.RS
+/system/etc/terminfo
+.RE
+.TP
+\fB\-\-terminfo\-dirs\fR
+echos the $TERMINFO_DIRS directory list, e.g.,
+.RS
+/system/etc/terminfo
+.RE
+.TP
+\fB\-\-termpath\fR
+echos the $TERMPATH termcap list, if support for termcap is configured.
+.TP
+\fB\-\-help\fR
+prints this message
+.SH "SEE ALSO"
+\fBcurses\fR(3X)
+.PP
+This describes \fBncurses\fR
+version 6.0 (patch 20150808).
diff --git a/man/terminfo.5 b/man/terminfo.5
new file mode 100644
index 0000000..b4bd572
--- /dev/null
+++ b/man/terminfo.5
@@ -0,0 +1,3467 @@
+'\" t
+.\" DO NOT EDIT THIS FILE BY HAND!
+.\" It is generated from terminfo.head, Caps, and terminfo.tail.
+.\"
+.\" Note: this must be run through tbl before nroff.
+.\" The magic cookie on the first line triggers this under some man programs.
+.\"***************************************************************************
+.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.              *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: terminfo.head,v 1.21 2013/03/09 22:11:36 tom Exp $
+.TH terminfo 5 "" "" "File Formats"
+.ds n 5
+.ds d @TERMINFO@
+.ie \n(.g .ds `` \(lq
+.el       .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el       .ds '' ''
+.de bP
+.IP \(bu 4
+..
+.SH NAME
+terminfo \- terminal capability data base
+.SH SYNOPSIS
+\*d/*/*
+.SH DESCRIPTION
+.I Terminfo
+is a data base describing terminals, used by screen-oriented programs such as
+\fBnvi\fR(1),
+\fBrogue\fR(1)
+and libraries such as
+\fBcurses\fR(3X).
+.I Terminfo
+describes terminals by giving a set of capabilities which they
+have, by specifying how to perform screen operations, and by
+specifying padding requirements and initialization sequences.
+This describes \fBncurses\fR
+version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+.PP
+Entries in
+.I terminfo
+consist of a sequence of `,' separated fields (embedded commas may be
+escaped with a backslash or notated as \\054).
+White space after the `,' separator is ignored.
+The first entry for each terminal gives the names which are known for the
+terminal, separated by `|' characters.
+The first name given is the most common abbreviation for the terminal,
+the last name given should be a long name fully identifying the terminal,
+and all others are understood as synonyms for the terminal name.
+All names but the last should be in lower case and contain no blanks;
+the last name may well contain upper case and blanks for readability.
+.PP
+Lines beginning with a `#' in the first column are treated as comments.
+While comment lines are legal at any point, the output of \fB@CAPTOINFO@\fP
+and \fB@INFOTOCAP@\fP (aliases for \fB@TIC@\fP)
+will move comments so they occur only between entries.
+.PP
+Newlines and leading tabs may be used for formatting entries for readability.
+These are removed from parsed entries.
+The \fB@INFOCMP@\ \-f\fP option relies on this to format if-then-else expressions:
+the result can be read by \fB@TIC@\fP.
+.PP
+Terminal names (except for the last, verbose entry) should
+be chosen using the following conventions.
+The particular piece of hardware making up the terminal should
+have a root name, thus \*(``hp2621\*(''.
+This name should not contain hyphens.
+Modes that the hardware can be in, or user preferences, should
+be indicated by appending a hyphen and a mode suffix.
+Thus, a vt100 in 132 column mode would be vt100\-w.
+The following suffixes should be used where possible:
+.PP
+.TS
+center ;
+l c l
+l l l.
+\fBSuffix	Meaning	Example\fP
+\-\fInn\fP	Number of lines on the screen	aaa\-60
+\-\fIn\fPp	Number of pages of memory	c100\-4p
+\-am	With automargins (usually the default)	vt100\-am
+\-m	Mono mode; suppress color       	ansi\-m
+\-mc	Magic cookie; spaces when highlighting	wy30\-mc
+\-na	No arrow keys (leave them in local)	c100\-na
+\-nam	Without automatic margins       	vt100\-nam
+\-nl	No status line                  	att4415\-nl
+\-ns	No status line                  	hp2626\-ns
+\-rv	Reverse video                   	c100\-rv
+\-s	Enable status line              	vt100\-s
+\-vb	Use visible bell instead of beep	wy370\-vb
+\-w	Wide mode (> 80 columns, usually 132)	vt100\-w
+.TE
+.PP
+For more on terminal naming conventions, see the \fBterm(7)\fR manual page.
+.SS Predefined Capabilities
+.\" Head of terminfo man page ends here
+.ps -1
+The following is a complete table of the capabilities included in a
+terminfo description block and available to terminfo-using code.  In each
+line of the table,
+
+The \fBvariable\fR is the name by which the programmer (at the terminfo level)
+accesses the capability.
+
+The \fBcapname\fR is the short name used in the text of the database,
+and is used by a person updating the database.
+Whenever possible, capnames are chosen to be the same as or similar to
+the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 
+identical or very similar names).  Semantics are also intended to match
+those of the specification.
+
+The termcap code is the old
+.B termcap
+capability name (some capabilities are new, and have names which termcap
+did not originate).
+.P
+Capability names have no hard length limit, but an informal limit of 5
+characters has been adopted to keep them short and to allow the tabs in
+the source file
+.B Caps
+to line up nicely.
+
+Finally, the description field attempts to convey the semantics of the
+capability.  You may find some codes in the description field:
+.TP
+(P)
+indicates that padding may be specified
+.TP
+#[1-9]
+in the description field indicates that the string is passed through tparm with
+parms as given (#\fIi\fP).
+.TP
+(P*)
+indicates that padding may vary in proportion to the number of
+lines affected
+.TP
+(#\d\fIi\fP\u)
+indicates the \fIi\fP\uth\d parameter.
+
+.PP
+These are the boolean capabilities:
+
+.na
+.TS H
+center expand;
+c l l c
+c l l c
+lw25 lw6 lw2 lw20.
+\fBVariable	Cap-	TCap	Description\fR
+\fBBooleans	name	Code\fR
+auto_left_margin	bw	bw	T{
+cub1 wraps from column 0 to last column
+T}
+auto_right_margin	am	am	T{
+terminal has automatic margins
+T}
+back_color_erase	bce	ut	T{
+screen erased with background color
+T}
+can_change	ccc	cc	T{
+terminal can re-define existing colors
+T}
+ceol_standout_glitch	xhp	xs	T{
+standout not erased by overwriting (hp)
+T}
+col_addr_glitch	xhpa	YA	T{
+only positive motion for hpa/mhpa caps
+T}
+cpi_changes_res	cpix	YF	T{
+changing character pitch changes resolution
+T}
+cr_cancels_micro_mode	crxm	YB	T{
+using cr turns off micro mode
+T}
+dest_tabs_magic_smso	xt	xt	T{
+tabs destructive, magic so char (t1061)
+T}
+eat_newline_glitch	xenl	xn	T{
+newline ignored after 80 cols (concept)
+T}
+erase_overstrike	eo	eo	T{
+can erase overstrikes with a blank
+T}
+generic_type	gn	gn	T{
+generic line type
+T}
+hard_copy	hc	hc	T{
+hardcopy terminal
+T}
+hard_cursor	chts	HC	T{
+cursor is hard to see
+T}
+has_meta_key	km	km	T{
+Has a meta key (i.e., sets 8th-bit)
+T}
+has_print_wheel	daisy	YC	T{
+printer needs operator to change character set
+T}
+has_status_line	hs	hs	T{
+has extra status line
+T}
+hue_lightness_saturation	hls	hl	T{
+terminal uses only HLS color notation (Tektronix)
+T}
+insert_null_glitch	in	in	T{
+insert mode distinguishes nulls
+T}
+lpi_changes_res	lpix	YG	T{
+changing line pitch changes resolution
+T}
+memory_above	da	da	T{
+display may be retained above the screen
+T}
+memory_below	db	db	T{
+display may be retained below the screen
+T}
+move_insert_mode	mir	mi	T{
+safe to move while in insert mode
+T}
+move_standout_mode	msgr	ms	T{
+safe to move while in standout mode
+T}
+needs_xon_xoff	nxon	nx	T{
+padding will not work, xon/xoff required
+T}
+no_esc_ctlc	xsb	xb	T{
+beehive (f1=escape, f2=ctrl C)
+T}
+no_pad_char	npc	NP	T{
+pad character does not exist
+T}
+non_dest_scroll_region	ndscr	ND	T{
+scrolling region is non-destructive
+T}
+non_rev_rmcup	nrrmc	NR	T{
+smcup does not reverse rmcup
+T}
+over_strike	os	os	T{
+terminal can overstrike
+T}
+prtr_silent	mc5i	5i	T{
+printer will not echo on screen
+T}
+row_addr_glitch	xvpa	YD	T{
+only positive motion for vpa/mvpa caps
+T}
+semi_auto_right_margin	sam	YE	T{
+printing in last column causes cr
+T}
+status_line_esc_ok	eslok	es	T{
+escape can be used on the status line
+T}
+tilde_glitch	hz	hz	T{
+cannot print ~'s (Hazeltine)
+T}
+transparent_underline	ul	ul	T{
+underline character overstrikes
+T}
+xon_xoff	xon	xo	T{
+terminal uses xon/xoff handshaking
+T}
+.TE
+.ad
+
+These are the numeric capabilities:
+
+.na
+.TS H
+center expand;
+c l l c
+c l l c
+lw25 lw6 lw2 lw20.
+\fBVariable	Cap-	TCap	Description\fR
+\fBNumeric	name	Code\fR
+columns	cols	co	T{
+number of columns in a line
+T}
+init_tabs	it	it	T{
+tabs initially every # spaces
+T}
+label_height	lh	lh	T{
+rows in each label
+T}
+label_width	lw	lw	T{
+columns in each label
+T}
+lines	lines	li	T{
+number of lines on screen or page
+T}
+lines_of_memory	lm	lm	T{
+lines of memory if > line. 0 means varies
+T}
+magic_cookie_glitch	xmc	sg	T{
+number of blank characters left by smso or rmso
+T}
+max_attributes	ma	ma	T{
+maximum combined attributes terminal can handle
+T}
+max_colors	colors	Co	T{
+maximum number of colors on screen
+T}
+max_pairs	pairs	pa	T{
+maximum number of color-pairs on the screen
+T}
+maximum_windows	wnum	MW	T{
+maximum number of definable windows
+T}
+no_color_video	ncv	NC	T{
+video attributes that cannot be used with colors
+T}
+num_labels	nlab	Nl	T{
+number of labels on screen
+T}
+padding_baud_rate	pb	pb	T{
+lowest baud rate where padding needed
+T}
+virtual_terminal	vt	vt	T{
+virtual terminal number (CB/unix)
+T}
+width_status_line	wsl	ws	T{
+number of columns in status line
+T}
+.TE
+.ad
+
+The following numeric capabilities are present in the SVr4.0 term structure,
+but are not yet documented in the man page.  They came in with SVr4's
+printer support.
+
+.na
+.TS H
+center expand;
+c l l c
+c l l c
+lw25 lw6 lw2 lw20.
+\fBVariable	Cap-	TCap	Description\fR
+\fBNumeric	name	Code\fR
+bit_image_entwining	bitwin	Yo	T{
+number of passes for each bit-image row
+T}
+bit_image_type	bitype	Yp	T{
+type of bit-image device
+T}
+buffer_capacity	bufsz	Ya	T{
+numbers of bytes buffered before printing
+T}
+buttons	btns	BT	T{
+number of buttons on mouse
+T}
+dot_horz_spacing	spinh	Yc	T{
+spacing of dots horizontally in dots per inch
+T}
+dot_vert_spacing	spinv	Yb	T{
+spacing of pins vertically in pins per inch
+T}
+max_micro_address	maddr	Yd	T{
+maximum value in micro_..._address
+T}
+max_micro_jump	mjump	Ye	T{
+maximum value in parm_..._micro
+T}
+micro_col_size	mcs	Yf	T{
+character step size when in micro mode
+T}
+micro_line_size	mls	Yg	T{
+line step size when in micro mode
+T}
+number_of_pins	npins	Yh	T{
+numbers of pins in print-head
+T}
+output_res_char	orc	Yi	T{
+horizontal resolution in units per line
+T}
+output_res_horz_inch	orhi	Yk	T{
+horizontal resolution in units per inch
+T}
+output_res_line	orl	Yj	T{
+vertical resolution in units per line
+T}
+output_res_vert_inch	orvi	Yl	T{
+vertical resolution in units per inch
+T}
+print_rate	cps	Ym	T{
+print rate in characters per second
+T}
+wide_char_size	widcs	Yn	T{
+character step size when in double wide mode
+T}
+.TE
+.ad
+
+These are the string capabilities:
+
+.na
+.TS H
+center expand;
+c l l c
+c l l c
+lw25 lw6 lw2 lw20.
+\fBVariable	Cap-	TCap	Description\fR
+\fBString	name	Code\fR
+acs_chars	acsc	ac	T{
+graphics charset pairs, based on vt100
+T}
+back_tab	cbt	bt	T{
+back tab (P)
+T}
+bell	bel	bl	T{
+audible signal (bell) (P)
+T}
+carriage_return	cr	cr	T{
+carriage return (P*) (P*)
+T}
+change_char_pitch	cpi	ZA	T{
+Change number of characters per inch to #1
+T}
+change_line_pitch	lpi	ZB	T{
+Change number of lines per inch to #1
+T}
+change_res_horz	chr	ZC	T{
+Change horizontal resolution to #1
+T}
+change_res_vert	cvr	ZD	T{
+Change vertical resolution to #1
+T}
+change_scroll_region	csr	cs	T{
+change region to line #1 to line #2 (P)
+T}
+char_padding	rmp	rP	T{
+like ip but when in insert mode
+T}
+clear_all_tabs	tbc	ct	T{
+clear all tab stops (P)
+T}
+clear_margins	mgc	MC	T{
+clear right and left soft margins
+T}
+clear_screen	clear	cl	T{
+clear screen and home cursor (P*)
+T}
+clr_bol	el1	cb	T{
+Clear to beginning of line
+T}
+clr_eol	el	ce	T{
+clear to end of line (P)
+T}
+clr_eos	ed	cd	T{
+clear to end of screen (P*)
+T}
+column_address	hpa	ch	T{
+horizontal position #1, absolute (P)
+T}
+command_character	cmdch	CC	T{
+terminal settable cmd character in prototype !?
+T}
+create_window	cwin	CW	T{
+define a window #1 from #2,#3 to #4,#5
+T}
+cursor_address	cup	cm	T{
+move to row #1 columns #2
+T}
+cursor_down	cud1	do	T{
+down one line
+T}
+cursor_home	home	ho	T{
+home cursor (if no cup)
+T}
+cursor_invisible	civis	vi	T{
+make cursor invisible
+T}
+cursor_left	cub1	le	T{
+move left one space
+T}
+cursor_mem_address	mrcup	CM	T{
+memory relative cursor addressing, move to row #1 columns #2
+T}
+cursor_normal	cnorm	ve	T{
+make cursor appear normal (undo civis/cvvis)
+T}
+cursor_right	cuf1	nd	T{
+non-destructive space (move right one space)
+T}
+cursor_to_ll	ll	ll	T{
+last line, first column (if no cup)
+T}
+cursor_up	cuu1	up	T{
+up one line
+T}
+cursor_visible	cvvis	vs	T{
+make cursor very visible
+T}
+define_char	defc	ZE	T{
+Define a character #1, #2 dots wide, descender #3
+T}
+delete_character	dch1	dc	T{
+delete character (P*)
+T}
+delete_line	dl1	dl	T{
+delete line (P*)
+T}
+dial_phone	dial	DI	T{
+dial number #1
+T}
+dis_status_line	dsl	ds	T{
+disable status line
+T}
+display_clock	dclk	DK	T{
+display clock
+T}
+down_half_line	hd	hd	T{
+half a line down
+T}
+ena_acs	enacs	eA	T{
+enable alternate char set
+T}
+enter_alt_charset_mode	smacs	as	T{
+start alternate character set (P)
+T}
+enter_am_mode	smam	SA	T{
+turn on automatic margins
+T}
+enter_blink_mode	blink	mb	T{
+turn on blinking
+T}
+enter_bold_mode	bold	md	T{
+turn on bold (extra bright) mode
+T}
+enter_ca_mode	smcup	ti	T{
+string to start programs using cup
+T}
+enter_delete_mode	smdc	dm	T{
+enter delete mode
+T}
+enter_dim_mode	dim	mh	T{
+turn on half-bright mode
+T}
+enter_doublewide_mode	swidm	ZF	T{
+Enter double-wide mode
+T}
+enter_draft_quality	sdrfq	ZG	T{
+Enter draft-quality mode
+T}
+enter_insert_mode	smir	im	T{
+enter insert mode
+T}
+enter_italics_mode	sitm	ZH	T{
+Enter italic mode
+T}
+enter_leftward_mode	slm	ZI	T{
+Start leftward carriage motion
+T}
+enter_micro_mode	smicm	ZJ	T{
+Start micro-motion mode
+T}
+enter_near_letter_quality	snlq	ZK	T{
+Enter NLQ mode
+T}
+enter_normal_quality	snrmq	ZL	T{
+Enter normal-quality mode
+T}
+enter_protected_mode	prot	mp	T{
+turn on protected mode
+T}
+enter_reverse_mode	rev	mr	T{
+turn on reverse video mode
+T}
+enter_secure_mode	invis	mk	T{
+turn on blank mode (characters invisible)
+T}
+enter_shadow_mode	sshm	ZM	T{
+Enter shadow-print mode
+T}
+enter_standout_mode	smso	so	T{
+begin standout mode
+T}
+enter_subscript_mode	ssubm	ZN	T{
+Enter subscript mode
+T}
+enter_superscript_mode	ssupm	ZO	T{
+Enter superscript mode
+T}
+enter_underline_mode	smul	us	T{
+begin underline mode
+T}
+enter_upward_mode	sum	ZP	T{
+Start upward carriage motion
+T}
+enter_xon_mode	smxon	SX	T{
+turn on xon/xoff handshaking
+T}
+erase_chars	ech	ec	T{
+erase #1 characters (P)
+T}
+exit_alt_charset_mode	rmacs	ae	T{
+end alternate character set (P)
+T}
+exit_am_mode	rmam	RA	T{
+turn off automatic margins
+T}
+exit_attribute_mode	sgr0	me	T{
+turn off all attributes
+T}
+exit_ca_mode	rmcup	te	T{
+strings to end programs using cup
+T}
+exit_delete_mode	rmdc	ed	T{
+end delete mode
+T}
+exit_doublewide_mode	rwidm	ZQ	T{
+End double-wide mode
+T}
+exit_insert_mode	rmir	ei	T{
+exit insert mode
+T}
+exit_italics_mode	ritm	ZR	T{
+End italic mode
+T}
+exit_leftward_mode	rlm	ZS	T{
+End left-motion mode
+T}
+exit_micro_mode	rmicm	ZT	T{
+End micro-motion mode
+T}
+exit_shadow_mode	rshm	ZU	T{
+End shadow-print mode
+T}
+exit_standout_mode	rmso	se	T{
+exit standout mode
+T}
+exit_subscript_mode	rsubm	ZV	T{
+End subscript mode
+T}
+exit_superscript_mode	rsupm	ZW	T{
+End superscript mode
+T}
+exit_underline_mode	rmul	ue	T{
+exit underline mode
+T}
+exit_upward_mode	rum	ZX	T{
+End reverse character motion
+T}
+exit_xon_mode	rmxon	RX	T{
+turn off xon/xoff handshaking
+T}
+fixed_pause	pause	PA	T{
+pause for 2-3 seconds
+T}
+flash_hook	hook	fh	T{
+flash switch hook
+T}
+flash_screen	flash	vb	T{
+visible bell (may not move cursor)
+T}
+form_feed	ff	ff	T{
+hardcopy terminal page eject (P*)
+T}
+from_status_line	fsl	fs	T{
+return from status line
+T}
+goto_window	wingo	WG	T{
+go to window #1
+T}
+hangup	hup	HU	T{
+hang-up phone
+T}
+init_1string	is1	i1	T{
+initialization string
+T}
+init_2string	is2	is	T{
+initialization string
+T}
+init_3string	is3	i3	T{
+initialization string
+T}
+init_file	if	if	T{
+name of initialization file
+T}
+init_prog	iprog	iP	T{
+path name of program for initialization
+T}
+initialize_color	initc	Ic	T{
+initialize color #1 to (#2,#3,#4)
+T}
+initialize_pair	initp	Ip	T{
+Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
+T}
+insert_character	ich1	ic	T{
+insert character (P)
+T}
+insert_line	il1	al	T{
+insert line (P*)
+T}
+insert_padding	ip	ip	T{
+insert padding after inserted character
+T}
+key_a1	ka1	K1	T{
+upper left of keypad
+T}
+key_a3	ka3	K3	T{
+upper right of keypad
+T}
+key_b2	kb2	K2	T{
+center of keypad
+T}
+key_backspace	kbs	kb	T{
+backspace key
+T}
+key_beg	kbeg	@1	T{
+begin key
+T}
+key_btab	kcbt	kB	T{
+back-tab key
+T}
+key_c1	kc1	K4	T{
+lower left of keypad
+T}
+key_c3	kc3	K5	T{
+lower right of keypad
+T}
+key_cancel	kcan	@2	T{
+cancel key
+T}
+key_catab	ktbc	ka	T{
+clear-all-tabs key
+T}
+key_clear	kclr	kC	T{
+clear-screen or erase key
+T}
+key_close	kclo	@3	T{
+close key
+T}
+key_command	kcmd	@4	T{
+command key
+T}
+key_copy	kcpy	@5	T{
+copy key
+T}
+key_create	kcrt	@6	T{
+create key
+T}
+key_ctab	kctab	kt	T{
+clear-tab key
+T}
+key_dc	kdch1	kD	T{
+delete-character key
+T}
+key_dl	kdl1	kL	T{
+delete-line key
+T}
+key_down	kcud1	kd	T{
+down-arrow key
+T}
+key_eic	krmir	kM	T{
+sent by rmir or smir in insert mode
+T}
+key_end	kend	@7	T{
+end key
+T}
+key_enter	kent	@8	T{
+enter/send key
+T}
+key_eol	kel	kE	T{
+clear-to-end-of-line key
+T}
+key_eos	ked	kS	T{
+clear-to-end-of-screen key
+T}
+key_exit	kext	@9	T{
+exit key
+T}
+key_f0	kf0	k0	T{
+F0 function key
+T}
+key_f1	kf1	k1	T{
+F1 function key
+T}
+key_f10	kf10	k;	T{
+F10 function key
+T}
+key_f11	kf11	F1	T{
+F11 function key
+T}
+key_f12	kf12	F2	T{
+F12 function key
+T}
+key_f13	kf13	F3	T{
+F13 function key
+T}
+key_f14	kf14	F4	T{
+F14 function key
+T}
+key_f15	kf15	F5	T{
+F15 function key
+T}
+key_f16	kf16	F6	T{
+F16 function key
+T}
+key_f17	kf17	F7	T{
+F17 function key
+T}
+key_f18	kf18	F8	T{
+F18 function key
+T}
+key_f19	kf19	F9	T{
+F19 function key
+T}
+key_f2	kf2	k2	T{
+F2 function key
+T}
+key_f20	kf20	FA	T{
+F20 function key
+T}
+key_f21	kf21	FB	T{
+F21 function key
+T}
+key_f22	kf22	FC	T{
+F22 function key
+T}
+key_f23	kf23	FD	T{
+F23 function key
+T}
+key_f24	kf24	FE	T{
+F24 function key
+T}
+key_f25	kf25	FF	T{
+F25 function key
+T}
+key_f26	kf26	FG	T{
+F26 function key
+T}
+key_f27	kf27	FH	T{
+F27 function key
+T}
+key_f28	kf28	FI	T{
+F28 function key
+T}
+key_f29	kf29	FJ	T{
+F29 function key
+T}
+key_f3	kf3	k3	T{
+F3 function key
+T}
+key_f30	kf30	FK	T{
+F30 function key
+T}
+key_f31	kf31	FL	T{
+F31 function key
+T}
+key_f32	kf32	FM	T{
+F32 function key
+T}
+key_f33	kf33	FN	T{
+F33 function key
+T}
+key_f34	kf34	FO	T{
+F34 function key
+T}
+key_f35	kf35	FP	T{
+F35 function key
+T}
+key_f36	kf36	FQ	T{
+F36 function key
+T}
+key_f37	kf37	FR	T{
+F37 function key
+T}
+key_f38	kf38	FS	T{
+F38 function key
+T}
+key_f39	kf39	FT	T{
+F39 function key
+T}
+key_f4	kf4	k4	T{
+F4 function key
+T}
+key_f40	kf40	FU	T{
+F40 function key
+T}
+key_f41	kf41	FV	T{
+F41 function key
+T}
+key_f42	kf42	FW	T{
+F42 function key
+T}
+key_f43	kf43	FX	T{
+F43 function key
+T}
+key_f44	kf44	FY	T{
+F44 function key
+T}
+key_f45	kf45	FZ	T{
+F45 function key
+T}
+key_f46	kf46	Fa	T{
+F46 function key
+T}
+key_f47	kf47	Fb	T{
+F47 function key
+T}
+key_f48	kf48	Fc	T{
+F48 function key
+T}
+key_f49	kf49	Fd	T{
+F49 function key
+T}
+key_f5	kf5	k5	T{
+F5 function key
+T}
+key_f50	kf50	Fe	T{
+F50 function key
+T}
+key_f51	kf51	Ff	T{
+F51 function key
+T}
+key_f52	kf52	Fg	T{
+F52 function key
+T}
+key_f53	kf53	Fh	T{
+F53 function key
+T}
+key_f54	kf54	Fi	T{
+F54 function key
+T}
+key_f55	kf55	Fj	T{
+F55 function key
+T}
+key_f56	kf56	Fk	T{
+F56 function key
+T}
+key_f57	kf57	Fl	T{
+F57 function key
+T}
+key_f58	kf58	Fm	T{
+F58 function key
+T}
+key_f59	kf59	Fn	T{
+F59 function key
+T}
+key_f6	kf6	k6	T{
+F6 function key
+T}
+key_f60	kf60	Fo	T{
+F60 function key
+T}
+key_f61	kf61	Fp	T{
+F61 function key
+T}
+key_f62	kf62	Fq	T{
+F62 function key
+T}
+key_f63	kf63	Fr	T{
+F63 function key
+T}
+key_f7	kf7	k7	T{
+F7 function key
+T}
+key_f8	kf8	k8	T{
+F8 function key
+T}
+key_f9	kf9	k9	T{
+F9 function key
+T}
+key_find	kfnd	@0	T{
+find key
+T}
+key_help	khlp	%1	T{
+help key
+T}
+key_home	khome	kh	T{
+home key
+T}
+key_ic	kich1	kI	T{
+insert-character key
+T}
+key_il	kil1	kA	T{
+insert-line key
+T}
+key_left	kcub1	kl	T{
+left-arrow key
+T}
+key_ll	kll	kH	T{
+lower-left key (home down)
+T}
+key_mark	kmrk	%2	T{
+mark key
+T}
+key_message	kmsg	%3	T{
+message key
+T}
+key_move	kmov	%4	T{
+move key
+T}
+key_next	knxt	%5	T{
+next key
+T}
+key_npage	knp	kN	T{
+next-page key
+T}
+key_open	kopn	%6	T{
+open key
+T}
+key_options	kopt	%7	T{
+options key
+T}
+key_ppage	kpp	kP	T{
+previous-page key
+T}
+key_previous	kprv	%8	T{
+previous key
+T}
+key_print	kprt	%9	T{
+print key
+T}
+key_redo	krdo	%0	T{
+redo key
+T}
+key_reference	kref	&1	T{
+reference key
+T}
+key_refresh	krfr	&2	T{
+refresh key
+T}
+key_replace	krpl	&3	T{
+replace key
+T}
+key_restart	krst	&4	T{
+restart key
+T}
+key_resume	kres	&5	T{
+resume key
+T}
+key_right	kcuf1	kr	T{
+right-arrow key
+T}
+key_save	ksav	&6	T{
+save key
+T}
+key_sbeg	kBEG	&9	T{
+shifted begin key
+T}
+key_scancel	kCAN	&0	T{
+shifted cancel key
+T}
+key_scommand	kCMD	*1	T{
+shifted command key
+T}
+key_scopy	kCPY	*2	T{
+shifted copy key
+T}
+key_screate	kCRT	*3	T{
+shifted create key
+T}
+key_sdc	kDC	*4	T{
+shifted delete-character key
+T}
+key_sdl	kDL	*5	T{
+shifted delete-line key
+T}
+key_select	kslt	*6	T{
+select key
+T}
+key_send	kEND	*7	T{
+shifted end key
+T}
+key_seol	kEOL	*8	T{
+shifted clear-to-end-of-line key
+T}
+key_sexit	kEXT	*9	T{
+shifted exit key
+T}
+key_sf	kind	kF	T{
+scroll-forward key
+T}
+key_sfind	kFND	*0	T{
+shifted find key
+T}
+key_shelp	kHLP	#1	T{
+shifted help key
+T}
+key_shome	kHOM	#2	T{
+shifted home key
+T}
+key_sic	kIC	#3	T{
+shifted insert-character key
+T}
+key_sleft	kLFT	#4	T{
+shifted left-arrow key
+T}
+key_smessage	kMSG	%a	T{
+shifted message key
+T}
+key_smove	kMOV	%b	T{
+shifted move key
+T}
+key_snext	kNXT	%c	T{
+shifted next key
+T}
+key_soptions	kOPT	%d	T{
+shifted options key
+T}
+key_sprevious	kPRV	%e	T{
+shifted previous key
+T}
+key_sprint	kPRT	%f	T{
+shifted print key
+T}
+key_sr	kri	kR	T{
+scroll-backward key
+T}
+key_sredo	kRDO	%g	T{
+shifted redo key
+T}
+key_sreplace	kRPL	%h	T{
+shifted replace key
+T}
+key_sright	kRIT	%i	T{
+shifted right-arrow key
+T}
+key_srsume	kRES	%j	T{
+shifted resume key
+T}
+key_ssave	kSAV	!1	T{
+shifted save key
+T}
+key_ssuspend	kSPD	!2	T{
+shifted suspend key
+T}
+key_stab	khts	kT	T{
+set-tab key
+T}
+key_sundo	kUND	!3	T{
+shifted undo key
+T}
+key_suspend	kspd	&7	T{
+suspend key
+T}
+key_undo	kund	&8	T{
+undo key
+T}
+key_up	kcuu1	ku	T{
+up-arrow key
+T}
+keypad_local	rmkx	ke	T{
+leave 'keyboard_transmit' mode
+T}
+keypad_xmit	smkx	ks	T{
+enter 'keyboard_transmit' mode
+T}
+lab_f0	lf0	l0	T{
+label on function key f0 if not f0
+T}
+lab_f1	lf1	l1	T{
+label on function key f1 if not f1
+T}
+lab_f10	lf10	la	T{
+label on function key f10 if not f10
+T}
+lab_f2	lf2	l2	T{
+label on function key f2 if not f2
+T}
+lab_f3	lf3	l3	T{
+label on function key f3 if not f3
+T}
+lab_f4	lf4	l4	T{
+label on function key f4 if not f4
+T}
+lab_f5	lf5	l5	T{
+label on function key f5 if not f5
+T}
+lab_f6	lf6	l6	T{
+label on function key f6 if not f6
+T}
+lab_f7	lf7	l7	T{
+label on function key f7 if not f7
+T}
+lab_f8	lf8	l8	T{
+label on function key f8 if not f8
+T}
+lab_f9	lf9	l9	T{
+label on function key f9 if not f9
+T}
+label_format	fln	Lf	T{
+label format
+T}
+label_off	rmln	LF	T{
+turn off soft labels
+T}
+label_on	smln	LO	T{
+turn on soft labels
+T}
+meta_off	rmm	mo	T{
+turn off meta mode
+T}
+meta_on	smm	mm	T{
+turn on meta mode (8th-bit on)
+T}
+micro_column_address	mhpa	ZY	T{
+Like column_address in micro mode
+T}
+micro_down	mcud1	ZZ	T{
+Like cursor_down in micro mode
+T}
+micro_left	mcub1	Za	T{
+Like cursor_left in micro mode
+T}
+micro_right	mcuf1	Zb	T{
+Like cursor_right in micro mode
+T}
+micro_row_address	mvpa	Zc	T{
+Like row_address #1 in micro mode
+T}
+micro_up	mcuu1	Zd	T{
+Like cursor_up in micro mode
+T}
+newline	nel	nw	T{
+newline (behave like cr followed by lf)
+T}
+order_of_pins	porder	Ze	T{
+Match software bits to print-head pins
+T}
+orig_colors	oc	oc	T{
+Set all color pairs to the original ones
+T}
+orig_pair	op	op	T{
+Set default pair to its original value
+T}
+pad_char	pad	pc	T{
+padding char (instead of null)
+T}
+parm_dch	dch	DC	T{
+delete #1 characters (P*)
+T}
+parm_delete_line	dl	DL	T{
+delete #1 lines (P*)
+T}
+parm_down_cursor	cud	DO	T{
+down #1 lines (P*)
+T}
+parm_down_micro	mcud	Zf	T{
+Like parm_down_cursor in micro mode
+T}
+parm_ich	ich	IC	T{
+insert #1 characters (P*)
+T}
+parm_index	indn	SF	T{
+scroll forward #1 lines (P)
+T}
+parm_insert_line	il	AL	T{
+insert #1 lines (P*)
+T}
+parm_left_cursor	cub	LE	T{
+move #1 characters to the left (P)
+T}
+parm_left_micro	mcub	Zg	T{
+Like parm_left_cursor in micro mode
+T}
+parm_right_cursor	cuf	RI	T{
+move #1 characters to the right (P*)
+T}
+parm_right_micro	mcuf	Zh	T{
+Like parm_right_cursor in micro mode
+T}
+parm_rindex	rin	SR	T{
+scroll back #1 lines (P)
+T}
+parm_up_cursor	cuu	UP	T{
+up #1 lines (P*)
+T}
+parm_up_micro	mcuu	Zi	T{
+Like parm_up_cursor in micro mode
+T}
+pkey_key	pfkey	pk	T{
+program function key #1 to type string #2
+T}
+pkey_local	pfloc	pl	T{
+program function key #1 to execute string #2
+T}
+pkey_xmit	pfx	px	T{
+program function key #1 to transmit string #2
+T}
+plab_norm	pln	pn	T{
+program label #1 to show string #2
+T}
+print_screen	mc0	ps	T{
+print contents of screen
+T}
+prtr_non	mc5p	pO	T{
+turn on printer for #1 bytes
+T}
+prtr_off	mc4	pf	T{
+turn off printer
+T}
+prtr_on	mc5	po	T{
+turn on printer
+T}
+pulse	pulse	PU	T{
+select pulse dialing
+T}
+quick_dial	qdial	QD	T{
+dial number #1 without checking
+T}
+remove_clock	rmclk	RC	T{
+remove clock
+T}
+repeat_char	rep	rp	T{
+repeat char #1 #2 times (P*)
+T}
+req_for_input	rfi	RF	T{
+send next input char (for ptys)
+T}
+reset_1string	rs1	r1	T{
+reset string
+T}
+reset_2string	rs2	r2	T{
+reset string
+T}
+reset_3string	rs3	r3	T{
+reset string
+T}
+reset_file	rf	rf	T{
+name of reset file
+T}
+restore_cursor	rc	rc	T{
+restore cursor to position of last save_cursor
+T}
+row_address	vpa	cv	T{
+vertical position #1 absolute (P)
+T}
+save_cursor	sc	sc	T{
+save current cursor position (P)
+T}
+scroll_forward	ind	sf	T{
+scroll text up (P)
+T}
+scroll_reverse	ri	sr	T{
+scroll text down (P)
+T}
+select_char_set	scs	Zj	T{
+Select character set, #1
+T}
+set_attributes	sgr	sa	T{
+define video attributes #1-#9 (PG9)
+T}
+set_background	setb	Sb	T{
+Set background color #1
+T}
+set_bottom_margin	smgb	Zk	T{
+Set bottom margin at current line
+T}
+set_bottom_margin_parm	smgbp	Zl	T{
+Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
+T}
+set_clock	sclk	SC	T{
+set clock, #1 hrs #2 mins #3 secs
+T}
+set_color_pair	scp	sp	T{
+Set current color pair to #1
+T}
+set_foreground	setf	Sf	T{
+Set foreground color #1
+T}
+set_left_margin	smgl	ML	T{
+set left soft margin at current column.	 See smgl. (ML is not in BSD termcap).
+T}
+set_left_margin_parm	smglp	Zm	T{
+Set left (right) margin at column #1
+T}
+set_right_margin	smgr	MR	T{
+set right soft margin at current column
+T}
+set_right_margin_parm	smgrp	Zn	T{
+Set right margin at column #1
+T}
+set_tab	hts	st	T{
+set a tab in every row, current columns
+T}
+set_top_margin	smgt	Zo	T{
+Set top margin at current line
+T}
+set_top_margin_parm	smgtp	Zp	T{
+Set top (bottom) margin at row #1
+T}
+set_window	wind	wi	T{
+current window is lines #1-#2 cols #3-#4
+T}
+start_bit_image	sbim	Zq	T{
+Start printing bit image graphics
+T}
+start_char_set_def	scsd	Zr	T{
+Start character set definition #1, with #2 characters in the set
+T}
+stop_bit_image	rbim	Zs	T{
+Stop printing bit image graphics
+T}
+stop_char_set_def	rcsd	Zt	T{
+End definition of character set #1
+T}
+subscript_characters	subcs	Zu	T{
+List of subscriptable characters
+T}
+superscript_characters	supcs	Zv	T{
+List of superscriptable characters
+T}
+tab	ht	ta	T{
+tab to next 8-space hardware tab stop
+T}
+these_cause_cr	docr	Zw	T{
+Printing any of these characters causes CR
+T}
+to_status_line	tsl	ts	T{
+move to status line, column #1
+T}
+tone	tone	TO	T{
+select touch tone dialing
+T}
+underline_char	uc	uc	T{
+underline char and move past it
+T}
+up_half_line	hu	hu	T{
+half a line up
+T}
+user0	u0	u0	T{
+User string #0
+T}
+user1	u1	u1	T{
+User string #1
+T}
+user2	u2	u2	T{
+User string #2
+T}
+user3	u3	u3	T{
+User string #3
+T}
+user4	u4	u4	T{
+User string #4
+T}
+user5	u5	u5	T{
+User string #5
+T}
+user6	u6	u6	T{
+User string #6
+T}
+user7	u7	u7	T{
+User string #7
+T}
+user8	u8	u8	T{
+User string #8
+T}
+user9	u9	u9	T{
+User string #9
+T}
+wait_tone	wait	WA	T{
+wait for dial-tone
+T}
+xoff_character	xoffc	XF	T{
+XOFF character
+T}
+xon_character	xonc	XN	T{
+XON character
+T}
+zero_motion	zerom	Zx	T{
+No motion for subsequent character
+T}
+.TE
+.ad
+
+The following string capabilities are present in the SVr4.0 term structure,
+but were originally not documented in the man page.
+
+.na
+.TS H
+center expand;
+c l l c
+c l l c
+lw25 lw6 lw2 lw18.
+\fBVariable	Cap-	TCap	Description\fR
+\fBString	name	Code\fR
+alt_scancode_esc	scesa	S8	T{
+Alternate escape for scancode emulation
+T}
+bit_image_carriage_return	bicr	Yv	T{
+Move to beginning of same row
+T}
+bit_image_newline	binel	Zz	T{
+Move to next row of the bit image
+T}
+bit_image_repeat	birep	Xy	T{
+Repeat bit image cell #1 #2 times
+T}
+char_set_names	csnm	Zy	T{
+Produce #1'th item from list of character set names
+T}
+code_set_init	csin	ci	T{
+Init sequence for multiple codesets
+T}
+color_names	colornm	Yw	T{
+Give name for color #1
+T}
+define_bit_image_region	defbi	Yx	T{
+Define rectangular bit image region
+T}
+device_type	devt	dv	T{
+Indicate language/codeset support
+T}
+display_pc_char	dispc	S1	T{
+Display PC character #1
+T}
+end_bit_image_region	endbi	Yy	T{
+End a bit-image region
+T}
+enter_pc_charset_mode	smpch	S2	T{
+Enter PC character display mode
+T}
+enter_scancode_mode	smsc	S4	T{
+Enter PC scancode mode
+T}
+exit_pc_charset_mode	rmpch	S3	T{
+Exit PC character display mode
+T}
+exit_scancode_mode	rmsc	S5	T{
+Exit PC scancode mode
+T}
+get_mouse	getm	Gm	T{
+Curses should get button events, parameter #1 not documented.
+T}
+key_mouse	kmous	Km	T{
+Mouse event has occurred
+T}
+mouse_info	minfo	Mi	T{
+Mouse status information
+T}
+pc_term_options	pctrm	S6	T{
+PC terminal options
+T}
+pkey_plab	pfxl	xl	T{
+Program function key #1 to type string #2 and show string #3
+T}
+req_mouse_pos	reqmp	RQ	T{
+Request mouse position
+T}
+scancode_escape	scesc	S7	T{
+Escape for scancode emulation
+T}
+set0_des_seq	s0ds	s0	T{
+Shift to codeset 0 (EUC set 0, ASCII)
+T}
+set1_des_seq	s1ds	s1	T{
+Shift to codeset 1
+T}
+set2_des_seq	s2ds	s2	T{
+Shift to codeset 2
+T}
+set3_des_seq	s3ds	s3	T{
+Shift to codeset 3
+T}
+set_a_background	setab	AB	T{
+Set background color to #1, using ANSI escape
+T}
+set_a_foreground	setaf	AF	T{
+Set foreground color to #1, using ANSI escape
+T}
+set_color_band	setcolor	Yz	T{
+Change to ribbon color #1
+T}
+set_lr_margin	smglr	ML	T{
+Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
+T}
+set_page_length	slines	YZ	T{
+Set page length to #1 lines
+T}
+set_tb_margin	smgtb	MT	T{
+Sets both top and bottom margins to #1, #2
+T}
+.TE
+.ad
+
+.in .8i
+The XSI Curses standard added these hardcopy capabilities.
+They were used in some post-4.1 versions of System V curses,
+e.g., Solaris 2.5 and IRIX 6.x.
+Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
+According to the XSI Curses standard, they have no termcap names.
+If your compiled terminfo entries use these,
+they may not be binary-compatible with System V terminfo
+entries after SVr4.1; beware!
+
+.na
+.TS H
+center expand;
+c l l c
+c l l c
+lw25 lw6 lw2 lw20.
+\fBVariable	Cap-	TCap	Description\fR
+\fBString	name	Code\fR
+enter_horizontal_hl_mode	ehhlm	Xh	T{
+Enter horizontal highlight mode
+T}
+enter_left_hl_mode	elhlm	Xl	T{
+Enter left highlight mode
+T}
+enter_low_hl_mode	elohlm	Xo	T{
+Enter low highlight mode
+T}
+enter_right_hl_mode	erhlm	Xr	T{
+Enter right highlight mode
+T}
+enter_top_hl_mode	ethlm	Xt	T{
+Enter top highlight mode
+T}
+enter_vertical_hl_mode	evhlm	Xv	T{
+Enter vertical highlight mode
+T}
+set_a_attributes	sgr1	sA	T{
+Define second set of video attributes #1-#6
+T}
+set_pglen_inch	slength	YI	T{
+Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+T}
+.TE
+.ad
+.\" $Id: terminfo.tail,v 1.69 2015/04/26 14:47:23 tom Exp $
+.\" Beginning of terminfo.tail file
+.\" This file is part of ncurses.
+.\" See "terminfo.head" for copyright.
+.ps +1
+.SS User-Defined Capabilities
+.
+The preceding section listed the \fIpredefined\fP capabilities.
+They deal with some special features for terminals no longer
+(or possibly never) produced.
+Occasionally there are special features of newer terminals which
+are awkward or impossible to represent by reusing the predefined
+capabilities.
+.PP
+\fBncurses\fP addresses this limitation by allowing user-defined capabilities.
+The \fB@TIC@\fP and \fB@INFOCMP@\fP programs provide
+the \fB\-x\fP option for this purpose.
+When \fB\-x\fP is set,
+\fB@TIC@\fP treats unknown capabilities as user-defined.
+That is, if \fB@TIC@\fP encounters a capability name
+which it does not recognize,
+it infers its type (boolean, number or string) from the syntax
+and makes an extended table entry for that capability.
+The \fBuse_extended_names\fP function makes this information
+conditionally available to applications.
+The ncurses library provides the data leaving most of the behavior
+to applications:
+.bP
+User-defined capability strings whose name begins
+with \*(``k\*('' are treated as function keys.
+.bP
+The types (boolean, number, string) determined by \fB@TIC@\fP
+can be inferred by successful calls on \fBtigetflag\fP, etc.
+.bP
+If the capability name happens to be two characters,
+the capability is also available through the termcap interface.
+.PP
+While termcap is said to be extensible because it does not use a predefined set
+of capabilities,
+in practice it has been limited to the capabilities defined by
+terminfo implementations.
+As a rule,
+user-defined capabilities intended for use by termcap applications should
+be limited to booleans and numbers to avoid running past the 1023 byte
+limit assumed by termcap implementations and their applications.
+In particular, providing extended sets of function keys (past the 60
+numbered keys and the handful of special named keys) is best done using
+the longer names available using terminfo.
+.
+.SS A Sample Entry
+.
+The following entry, describing an ANSI-standard terminal, is representative
+of what a \fBterminfo\fR entry for a modern terminal typically looks like.
+.PP
+.nf
+.ft CW
+\s-2ansi|ansi/pc-term compatible with color,
+        am, mc5i, mir, msgr,
+        colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+        acsc=+\\020\\,\\021-\\030.^Y0\\333`\\004a\\261f\\370g\\361h\\260
+             j\\331k\\277l\\332m\\300n\\305o~p\\304q\\304r\\304s_t\\303
+             u\\264v\\301w\\302x\\263y\\363z\\362{\\343|\\330}\\234~\\376,
+        bel=^G, blink=\\E[5m, bold=\\E[1m, cbt=\\E[Z, clear=\\E[H\\E[J,
+        cr=^M, cub=\\E[%p1%dD, cub1=\\E[D, cud=\\E[%p1%dB, cud1=\\E[B,
+        cuf=\\E[%p1%dC, cuf1=\\E[C, cup=\\E[%i%p1%d;%p2%dH,
+        cuu=\\E[%p1%dA, cuu1=\\E[A, dch=\\E[%p1%dP, dch1=\\E[P,
+        dl=\\E[%p1%dM, dl1=\\E[M, ech=\\E[%p1%dX, ed=\\E[J, el=\\E[K,
+        el1=\\E[1K, home=\\E[H, hpa=\\E[%i%p1%dG, ht=\\E[I, hts=\\EH,
+        ich=\\E[%p1%d@, il=\\E[%p1%dL, il1=\\E[L, ind=^J,
+        indn=\\E[%p1%dS, invis=\\E[8m, kbs=^H, kcbt=\\E[Z, kcub1=\\E[D,
+        kcud1=\\E[B, kcuf1=\\E[C, kcuu1=\\E[A, khome=\\E[H, kich1=\\E[L,
+        mc4=\\E[4i, mc5=\\E[5i, nel=\\r\\E[S, op=\\E[39;49m,
+        rep=%p1%c\\E[%p2%{1}%-%db, rev=\\E[7m, rin=\\E[%p1%dT,
+        rmacs=\\E[10m, rmpch=\\E[10m, rmso=\\E[m, rmul=\\E[m,
+        s0ds=\\E(B, s1ds=\\E)B, s2ds=\\E*B, s3ds=\\E+B,
+        setab=\\E[4%p1%dm, setaf=\\E[3%p1%dm,
+        sgr=\\E[0;10%?%p1%t;7%;
+                   %?%p2%t;4%;
+                   %?%p3%t;7%;
+                   %?%p4%t;5%;
+                   %?%p6%t;1%;
+                   %?%p7%t;8%;
+                   %?%p9%t;11%;m,
+        sgr0=\\E[0;10m, smacs=\\E[11m, smpch=\\E[11m, smso=\\E[7m,
+        smul=\\E[4m, tbc=\\E[3g, u6=\\E[%i%d;%dR, u7=\\E[6n,
+        u8=\\E[?%[;0123456789]c, u9=\\E[c, vpa=\\E[%i%p1%dd,
+.fi
+.ft R
+.PP
+Entries may continue onto multiple lines by placing white space at
+the beginning of each line except the first.
+Comments may be included on lines beginning with \*(``#\*(''.
+Capabilities in
+.I terminfo
+are of three types:
+.bP
+Boolean capabilities which indicate that the terminal has
+some particular feature,
+.bP
+numeric capabilities giving the size of the terminal
+or the size of particular delays, and
+.bP
+string
+capabilities, which give a sequence which can be used to perform particular
+terminal operations.
+.PP
+.SS Types of Capabilities
+.PP
+All capabilities have names.
+For instance, the fact that
+ANSI-standard terminals have
+.I "automatic margins"
+(i.e., an automatic return and line-feed
+when the end of a line is reached) is indicated by the capability \fBam\fR.
+Hence the description of ansi includes \fBam\fR.
+Numeric capabilities are followed by the character \*(``#\*('' and then a positive value.
+Thus \fBcols\fR, which indicates the number of columns the terminal has,
+gives the value \*(``80\*('' for ansi.
+Values for numeric capabilities may be specified in decimal, octal or hexadecimal,
+using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF).
+.PP
+Finally, string valued capabilities, such as \fBel\fR (clear to end of line
+sequence) are given by the two-character code, an \*(``=\*('', and then a string
+ending at the next following \*(``,\*(''.
+.PP
+A number of escape sequences are provided in the string valued capabilities
+for easy encoding of characters there.
+Both \fB\eE\fR and \fB\ee\fR
+map to an \s-1ESCAPE\s0 character,
+\fB^x\fR maps to a control-x for any appropriate x, and the sequences
+\fB\en \el \er \et \eb \ef \es\fR give
+a newline, line-feed, return, tab, backspace, form-feed, and space.
+Other escapes include
+.bP
+\fB\e^\fR for \fB^\fR,
+.bP
+\fB\e\e\fR for \fB\e\fR,
+.bP
+\fB\e\fR, for comma,
+.bP
+\fB\e:\fR for \fB:\fR,
+.bP
+and \fB\e0\fR for null.
+.IP
+\fB\e0\fR will produce \e200, which does not terminate a string but behaves
+as a null character on most terminals, providing CS7 is specified.
+See stty(1).
+.IP
+The reason for this quirk is to maintain binary compatibility of the
+compiled terminfo files with other implementations,
+e.g., the SVr4 systems, which document this.
+Compiled terminfo files use null-terminated strings, with no lengths.
+Modifying this would require a new binary format, 
+which would not work with other implementations.
+.PP
+Finally, characters may be given as three octal digits after a \fB\e\fR.
+.PP
+A delay in milliseconds may appear anywhere in a string capability, enclosed in
+$<..> brackets, as in \fBel\fP=\eEK$<5>, and padding characters are supplied by
+.I tputs
+to provide this delay.
+The delay must be a number with at most one decimal
+place of precision; it may be followed by suffixes \*(``*\*('' or \*(``/\*('' or both.
+A \*(``*\*(''
+indicates that the padding required is proportional to the number of lines
+affected by the operation, and the amount given is the per-affected-unit
+padding required.
+(In the case of insert character, the factor is still the
+number of
+.IR lines
+affected.)  Normally, padding is advisory if the device has the \fBxon\fR
+capability; it is used for cost computation but does not trigger delays.
+A \*(``/\*(''
+suffix indicates that the padding is mandatory and forces a delay of the given
+number of milliseconds even on devices for which \fBxon\fR is present to
+indicate flow control.
+.PP
+Sometimes individual capabilities must be commented out.
+To do this, put a period before the capability name.
+For example, see the second
+.B ind
+in the example above.
+.br
+.ne 5
+.PP
+.SS Fetching Compiled Descriptions
+.PP
+The \fBncurses\fP library searches for terminal descriptions in several places.
+It uses only the first description found.
+The library has a compiled-in list of places to search
+which can be overridden by environment variables.
+Before starting to search,
+\fBncurses\fP eliminates duplicates in its search list.
+.bP
+If the environment variable TERMINFO is set, it is interpreted as the pathname
+of a directory containing the compiled description you are working on.
+Only that directory is searched.
+.bP
+If TERMINFO is not set,
+\fBncurses\fR will instead look in the directory \fB$HOME/.terminfo\fR
+for a compiled description.
+.bP
+Next, if the environment variable TERMINFO_DIRS is set,
+\fBncurses\fR will interpret the contents of that variable
+as a list of colon-separated directories (or database files) to be searched.
+.IP
+An empty directory name (i.e., if the variable begins or ends
+with a colon, or contains adjacent colons)
+is interpreted as the system location \fI\*d\fR.
+.bP
+Finally, \fBncurses\fP searches these compiled-in locations:
+.RS
+.bP
+a list of directories (@TERMINFO_DIRS@), and
+.bP
+the system terminfo directory, \fI\*d\fR (the compiled-in default).
+.RE
+.SS Preparing Descriptions
+.PP
+We now outline how to prepare descriptions of terminals.
+The most effective way to prepare a terminal description is by imitating
+the description of a similar terminal in
+.I terminfo
+and to build up a description gradually, using partial descriptions
+with
+.I vi
+or some other screen-oriented program to check that they are correct.
+Be aware that a very unusual terminal may expose deficiencies in
+the ability of the
+.I terminfo
+file to describe it
+or bugs in the screen-handling code of the test program.
+.PP
+To get the padding for insert line right (if the terminal manufacturer
+did not document it) a severe test is to edit a large file at 9600 baud,
+delete 16 or so lines from the middle of the screen, then hit the \*(``u\*(''
+key several times quickly.
+If the terminal messes up, more padding is usually needed.
+A similar test can be used for insert character.
+.PP
+.SS Basic Capabilities
+.PP
+The number of columns on each line for the terminal is given by the
+\fBcols\fR numeric capability.
+If the terminal is a \s-1CRT\s0, then the
+number of lines on the screen is given by the \fBlines\fR capability.
+If the terminal wraps around to the beginning of the next line when
+it reaches the right margin, then it should have the \fBam\fR capability.
+If the terminal can clear its screen, leaving the cursor in the home
+position, then this is given by the \fBclear\fR string capability.
+If the terminal overstrikes
+(rather than clearing a position when a character is struck over)
+then it should have the \fBos\fR capability.
+If the terminal is a printing terminal, with no soft copy unit,
+give it both
+.B hc
+and
+.BR os .
+.RB ( os
+applies to storage scope terminals, such as \s-1TEKTRONIX\s+1 4010
+series, as well as hard copy and APL terminals.)
+If there is a code to move the cursor to the left edge of the current
+row, give this as
+.BR cr .
+(Normally this will be carriage return, control M.)
+If there is a code to produce an audible signal (bell, beep, etc)
+give this as
+.BR bel .
+.PP
+If there is a code to move the cursor one position to the left
+(such as backspace) that capability should be given as
+.BR cub1 .
+Similarly, codes to move to the right, up, and down should be
+given as
+.BR cuf1 ,
+.BR cuu1 ,
+and
+.BR cud1 .
+These local cursor motions should not alter the text they pass over,
+for example, you would not normally use \*(``\fBcuf1\fP=\ \*('' because the
+space would erase the character moved over.
+.PP
+A very important point here is that the local cursor motions encoded
+in
+.I terminfo
+are undefined at the left and top edges of a \s-1CRT\s0 terminal.
+Programs should never attempt to backspace around the left edge,
+unless
+.B bw
+is given,
+and never attempt to go up locally off the top.
+In order to scroll text up, a program will go to the bottom left corner
+of the screen and send the
+.B ind
+(index) string.
+.PP
+To scroll text down, a program goes to the top left corner
+of the screen and sends the
+.B ri
+(reverse index) string.
+The strings
+.B ind
+and
+.B ri
+are undefined when not on their respective corners of the screen.
+.PP
+Parameterized versions of the scrolling sequences are
+.B indn
+and
+.B rin
+which have the same semantics as
+.B ind
+and
+.B ri
+except that they take one parameter, and scroll that many lines.
+They are also undefined except at the appropriate edge of the screen.
+.PP
+The \fBam\fR capability tells whether the cursor sticks at the right
+edge of the screen when text is output, but this does not necessarily
+apply to a
+.B cuf1
+from the last column.
+The only local motion which is defined from the left edge is if
+.B bw
+is given, then a
+.B cub1
+from the left edge will move to the right edge of the previous row.
+If
+.B bw
+is not given, the effect is undefined.
+This is useful for drawing a box around the edge of the screen, for example.
+If the terminal has switch selectable automatic margins,
+the
+.I terminfo
+file usually assumes that this is on; i.e., \fBam\fR.
+If the terminal has a command which moves to the first column of the next
+line, that command can be given as
+.B nel
+(newline).
+It does not matter if the command clears the remainder of the current line,
+so if the terminal has no
+.B cr
+and
+.B lf
+it may still be possible to craft a working
+.B nel
+out of one or both of them.
+.PP
+These capabilities suffice to describe hard-copy and \*(lqglass-tty\*(rq terminals.
+Thus the model 33 teletype is described as
+.PP
+.DT
+.nf
+.ft CW
+.\".in -2
+\s-133\||\|tty33\||\|tty\||\|model 33 teletype,
+        bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,\s+1
+.\".in +2
+.ft R
+.fi
+.PP
+while the Lear Siegler \s-1ADM-3\s0 is described as
+.PP
+.DT
+.nf
+.ft CW
+.\".in -2
+\s-1adm3\||\|3\||\|lsi adm3,
+        am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
+        ind=^J, lines#24,\s+1
+.\".in +2
+.ft R
+.fi
+.PP
+.SS Parameterized Strings
+.PP
+Cursor addressing and other strings requiring parameters
+in the terminal are described by a
+parameterized string capability,
+with \fIprintf\fP-like escapes such as \fI%x\fR in it.
+For example, to address the cursor, the
+.B cup
+capability is given, using two parameters:
+the row and column to address to.
+(Rows and columns are numbered from zero and refer to the
+physical screen visible to the user, not to any unseen memory.)
+If the terminal has memory relative cursor addressing,
+that can be indicated by
+.BR mrcup .
+.PP
+The parameter mechanism uses a stack and special \fB%\fP codes
+to manipulate it.
+Typically a sequence will push one of the
+parameters onto the stack and then print it in some format.
+Print (e.g., "%d") is a special case.
+Other operations, including "%t" pop their operand from the stack.
+It is noted that more complex operations are often necessary,
+e.g., in the \fBsgr\fP string.
+.PP
+The \fB%\fR encodings have the following meanings:
+.PP
+.TP 5
+\fB%%\fP
+outputs \*(``%\*(''
+.TP
+\fB%\fP\fI[[\fP:\fI]flags][width[.precision]][\fP\fBdoxXs\fP\fI]\fP
+as in \fBprintf\fP, flags are \fI[\-+#]\fP and \fIspace\fP.
+Use a \*(``:\*('' to allow the next character to be a \*(``\-\*('' flag,
+avoiding interpreting "%\-" as an operator.
+.TP
+\f(CW%c\fP
+print pop() like %c in \fBprintf\fP
+.TP
+\fB%s\fP
+print pop() like %s in \fBprintf\fP
+.TP
+\fB%p\fP\fI[1\-9]\fP
+push \fIi\fP'th parameter
+.TP
+\fB%P\fP\fI[a\-z]\fP
+set dynamic variable \fI[a\-z]\fP to pop()
+.TP
+\fB%g\fP\fI[a\-z]/\fP
+get dynamic variable \fI[a\-z]\fP and push it
+.TP
+\fB%P\fP\fI[A\-Z]\fP
+set static variable \fI[a\-z]\fP to \fIpop()\fP
+.TP
+\fB%g\fP\fI[A\-Z]\fP
+get static variable \fI[a\-z]\fP and push it
+.IP
+The terms "static" and "dynamic" are misleading.
+Historically, these are simply two different sets of variables,
+whose values are not reset between calls to \fBtparm\fP.
+However, that fact is not documented in other implementations.
+Relying on it will adversely impact portability to other implementations.
+.TP
+\fB%'\fP\fIc\fP\fB'\fP
+char constant \fIc\fP
+.TP
+\fB%{\fP\fInn\fP\fB}\fP
+integer constant \fInn\fP
+.TP
+\fB%l\fP
+push strlen(pop)
+.TP
+\fB%+\fP, \fB%\-\fP, \fB%*\fP, \fB%/\fP, \fB%m\fP
+arithmetic (%m is mod): \fIpush(pop() op pop())\fP
+.TP
+\fB%&\fP, \fB%|\fP, \fB%^\fP
+bit operations (AND, OR and exclusive-OR): \fIpush(pop() op pop())\fP
+.TP
+\fB%=\fP, \fB%>\fP, \fB%<\fP
+logical operations: \fIpush(pop() op pop())\fP
+.TP
+\fB%A\fP, \fB%O\fP
+logical AND and OR operations (for conditionals)
+.TP
+\fB%!\fP, \fB%~\fP
+unary operations (logical and bit complement): push(op pop())
+.TP
+\fB%i\fP
+add 1 to first two parameters (for ANSI terminals)
+.TP
+\fB%?\fP \fIexpr\fP \fB%t\fP \fIthenpart\fP \fB%e\fP \fIelsepart\fP \fB%;\fP
+This forms an if-then-else.
+The \fB%e\fP \fIelsepart\fP is optional.
+Usually the \fB%?\fP \fIexpr\fP part pushes a value onto the stack,
+and \fB%t\fP pops it from the stack, testing if it is nonzero (true).
+If it is zero (false), control passes to the \fB%e\fP (else) part.
+.IP
+It is possible to form else-if's a la Algol 68:
+.RS
+\fB%?\fP c\d1\u \fB%t\fP b\d1\u \fB%e\fP c\d2\u \fB%t\fP b\d2\u \fB%e\fP c\d3\u \fB%t\fP b\d3\u \fB%e\fP c\d4\u \fB%t\fP b\d4\u \fB%e\fP \fB%;\fP
+.RE
+.IP
+where c\di\u are conditions, b\di\u are bodies.
+.IP
+Use the \fB\-f\fP option of \fB@TIC@\fP or \fB@INFOCMP@\fP to see
+the structure of if-then-else's.
+Some strings, e.g., \fBsgr\fP can be very complicated when written
+on one line.
+The \fB\-f\fP option splits the string into lines with the parts indented.
+.PP
+Binary operations are in postfix form with the operands in the usual order.
+That is, to get x\-5 one would use "%gx%{5}%-".
+\fB%P\fP and \fB%g\fP variables are
+persistent across escape-string evaluations.
+.PP
+Consider the HP2645, which, to get to row 3 and column 12, needs
+to be sent \eE&a12c03Y padded for 6 milliseconds.
+Note that the order
+of the rows and columns is inverted here, and that the row and column
+are printed as two digits.
+Thus its \fBcup\fR capability is \*(lqcup=6\eE&%p2%2dc%p1%2dY\*(rq.
+.PP
+The Microterm \s-1ACT-IV\s0 needs the current row and column sent
+preceded by a \fB^T\fR, with the row and column simply encoded in binary,
+\*(lqcup=^T%p1%c%p2%c\*(rq.
+Terminals which use \*(lq%c\*(rq need to be able to
+backspace the cursor (\fBcub1\fR),
+and to move the cursor up one line on the screen (\fBcuu1\fR).
+This is necessary because it is not always safe to transmit \fB\en\fR
+\fB^D\fR and \fB\er\fR, as the system may change or discard them.
+(The library routines dealing with terminfo set tty modes so that
+tabs are never expanded, so \et is safe to send.
+This turns out to be essential for the Ann Arbor 4080.)
+.PP
+A final example is the \s-1LSI ADM\s0-3a, which uses row and column
+offset by a blank character, thus \*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq.
+After sending \*(``\eE=\*('', this pushes the first parameter, pushes the
+ASCII value for a space (32), adds them (pushing the sum on the stack
+in place of the two previous values) and outputs that value as a character.
+Then the same is done for the second parameter.
+More complex arithmetic is possible using the stack.
+.PP
+.SS Cursor Motions
+.PP
+If the terminal has a fast way to home the cursor
+(to very upper left corner of screen) then this can be given as
+\fBhome\fR; similarly a fast way of getting to the lower left-hand corner
+can be given as \fBll\fR; this may involve going up with \fBcuu1\fR
+from the home position,
+but a program should never do this itself (unless \fBll\fR does) because it
+can make no assumption about the effect of moving up from the home position.
+Note that the home position is the same as addressing to (0,0):
+to the top left corner of the screen, not of memory.
+(Thus, the \eEH sequence on HP terminals cannot be used for
+.BR home .)
+.PP
+If the terminal has row or column absolute cursor addressing,
+these can be given as single parameter capabilities
+.B hpa
+(horizontal position absolute)
+and
+.B vpa
+(vertical position absolute).
+Sometimes these are shorter than the more general two parameter
+sequence (as with the hp2645) and can be used in preference to
+.BR cup .
+If there are parameterized local motions (e.g., move
+.I n
+spaces to the right) these can be given as
+.BR cud ,
+.BR cub ,
+.BR cuf ,
+and
+.BR cuu
+with a single parameter indicating how many spaces to move.
+These are primarily useful if the terminal does not have
+.BR cup ,
+such as the \s-1TEKTRONIX\s+1 4025.
+.PP
+If the terminal needs to be in a special mode when running
+a program that uses these capabilities,
+the codes to enter and exit this mode can be given as \fBsmcup\fR and \fBrmcup\fR.
+This arises, for example, from terminals like the Concept with more than
+one page of memory.
+If the terminal has only memory relative cursor addressing and not screen
+relative cursor addressing, a one screen-sized window must be fixed into
+the terminal for cursor addressing to work properly.
+This is also used for the \s-1TEKTRONIX\s+1 4025,
+where
+.B smcup
+sets the command character to be the one used by terminfo.
+If the \fBsmcup\fP sequence will not restore the screen after an
+\fBrmcup\fP sequence is output (to the state prior to outputting
+\fBrmcup\fP), specify \fBnrrmc\fP.
+.PP
+.SS Area Clears
+.PP
+If the terminal can clear from the current position to the end of the
+line, leaving the cursor where it is, this should be given as \fBel\fR.
+If the terminal can clear from the beginning of the line to the current
+position inclusive, leaving
+the cursor where it is, this should be given as \fBel1\fP.
+If the terminal can clear from the current position to the end of the
+display, then this should be given as \fBed\fR.
+\fBEd\fR is only defined from the first column of a line.
+(Thus, it can be simulated by a request to delete a large number of lines,
+if a true
+.B ed
+is not available.)
+.PP
+.SS Insert/delete line and vertical motions
+.PP
+If the terminal can open a new blank line before the line where the cursor
+is, this should be given as \fBil1\fR; this is done only from the first
+position of a line.
+The cursor must then appear on the newly blank line.
+If the terminal can delete the line which the cursor is on, then this
+should be given as \fBdl1\fR; this is done only from the first position on
+the line to be deleted.
+Versions of
+.B il1
+and
+.B dl1
+which take a single parameter and insert or delete that many lines can
+be given as
+.B il
+and
+.BR dl .
+.PP
+If the terminal has a settable scrolling region (like the vt100)
+the command to set this can be described with the
+.B csr
+capability, which takes two parameters:
+the top and bottom lines of the scrolling region.
+The cursor position is, alas, undefined after using this command.
+.PP
+It is possible to get the effect of insert or delete line using
+.B csr
+on a properly chosen region; the
+.B sc
+and
+.B rc
+(save and restore cursor) commands may be useful for ensuring that
+your synthesized insert/delete string does not move the cursor.
+(Note that the \fBncurses\fR(3X) library does this synthesis
+automatically, so you need not compose insert/delete strings for
+an entry with \fBcsr\fR).
+.PP
+Yet another way to construct insert and delete might be to use a combination of
+index with the memory-lock feature found on some terminals (like the HP\-700/90
+series, which however also has insert/delete).
+.PP
+Inserting lines at the top or bottom of the screen can also be
+done using
+.B ri
+or
+.B ind
+on many terminals without a true insert/delete line,
+and is often faster even on terminals with those features.
+.PP
+The boolean \fBnon_dest_scroll_region\fR should be set if each scrolling
+window is effectively a view port on a screen-sized canvas.
+To test for
+this capability, create a scrolling region in the middle of the screen,
+write something to the bottom line, move the cursor to the top of the region,
+and do \fBri\fR followed by \fBdl1\fR or \fBind\fR.
+If the data scrolled
+off the bottom of the region by the \fBri\fR re-appears, then scrolling
+is non-destructive.
+System V and XSI Curses expect that \fBind\fR, \fBri\fR,
+\fBindn\fR, and \fBrin\fR will simulate destructive scrolling; their
+documentation cautions you not to define \fBcsr\fR unless this is true.
+This \fBcurses\fR implementation is more liberal and will do explicit erases
+after scrolling if \fBndstr\fR is defined.
+.PP
+If the terminal has the ability to define a window as part of
+memory, which all commands affect,
+it should be given as the parameterized string
+.BR wind .
+The four parameters are the starting and ending lines in memory
+and the starting and ending columns in memory, in that order.
+.PP
+If the terminal can retain display memory above, then the
+\fBda\fR capability should be given; if display memory can be retained
+below, then \fBdb\fR should be given.
+These indicate
+that deleting a line or scrolling may bring non-blank lines up from below
+or that scrolling back with \fBri\fR may bring down non-blank lines.
+.PP
+.SS Insert/Delete Character
+.PP
+There are two basic kinds of intelligent terminals with respect to
+insert/delete character which can be described using
+.I terminfo.
+The most common insert/delete character operations affect only the characters
+on the current line and shift characters off the end of the line rigidly.
+Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make
+a distinction between typed and untyped blanks on the screen, shifting
+upon an insert or delete only to an untyped blank on the screen which is
+either eliminated, or expanded to two untyped blanks.
+.PP
+You can determine the
+kind of terminal you have by clearing the screen and then typing
+text separated by cursor motions.
+Type \*(lqabc\ \ \ \ def\*(rq using local
+cursor motions (not spaces) between the \*(lqabc\*(rq and the \*(lqdef\*(rq.
+Then position the cursor before the \*(lqabc\*(rq and put the terminal in insert
+mode.
+If typing characters causes the rest of the line to shift
+rigidly and characters to fall off the end, then your terminal does
+not distinguish between blanks and untyped positions.
+If the \*(lqabc\*(rq
+shifts over to the \*(lqdef\*(rq which then move together around the end of the
+current line and onto the next as you insert, you have the second type of
+terminal, and should give the capability \fBin\fR, which stands for
+\*(lqinsert null\*(rq.
+.PP
+While these are two logically separate attributes (one line versus multi-line
+insert mode, and special treatment of untyped spaces) we have seen no
+terminals whose insert mode cannot be described with the single attribute.
+.PP
+Terminfo can describe both terminals which have an insert mode, and terminals
+which send a simple sequence to open a blank position on the current line.
+Give as \fBsmir\fR the sequence to get into insert mode.
+Give as \fBrmir\fR the sequence to leave insert mode.
+Now give as \fBich1\fR any sequence needed to be sent just before sending
+the character to be inserted.
+Most terminals with a true insert mode
+will not give \fBich1\fR; terminals which send a sequence to open a screen
+position should give it here.
+.PP
+If your terminal has both, insert mode is usually preferable to \fBich1\fR.
+Technically, you should not give both unless the terminal actually requires
+both to be used in combination.
+Accordingly, some non-curses applications get
+confused if both are present; the symptom is doubled characters in an update
+using insert.
+This requirement is now rare; most \fBich\fR sequences do not
+require previous smir, and most smir insert modes do not require \fBich1\fR
+before each character.
+Therefore, the new \fBcurses\fR actually assumes this
+is the case and uses either \fBrmir\fR/\fBsmir\fR or \fBich\fR/\fBich1\fR as
+appropriate (but not both).
+If you have to write an entry to be used under
+new curses for a terminal old enough to need both, include the
+\fBrmir\fR/\fBsmir\fR sequences in \fBich1\fR.
+.PP
+If post insert padding is needed, give this as a number of milliseconds
+in \fBip\fR (a string option).
+Any other sequence which may need to be
+sent after an insert of a single character may also be given in \fBip\fR.
+If your terminal needs both to be placed into an \*(``insert mode\*('' and
+a special code to precede each inserted character, then both
+.BR smir / rmir
+and
+.B ich1
+can be given, and both will be used.
+The
+.B ich
+capability, with one parameter,
+.IR n ,
+will repeat the effects of
+.B ich1
+.I n
+times.
+.PP
+If padding is necessary between characters typed while not
+in insert mode, give this as a number of milliseconds padding in \fBrmp\fP.
+.PP
+It is occasionally necessary to move around while in insert mode
+to delete characters on the same line (e.g., if there is a tab after
+the insertion position).
+If your terminal allows motion while in
+insert mode you can give the capability \fBmir\fR to speed up inserting
+in this case.
+Omitting \fBmir\fR will affect only speed.
+Some terminals
+(notably Datamedia's) must not have \fBmir\fR because of the way their
+insert mode works.
+.PP
+Finally, you can specify
+.B dch1
+to delete a single character,
+.B dch
+with one parameter,
+.IR n ,
+to delete
+.I n characters,
+and delete mode by giving \fBsmdc\fR and \fBrmdc\fR
+to enter and exit delete mode (any mode the terminal needs to be placed
+in for
+.B dch1
+to work).
+.PP
+A command to erase
+.I n
+characters (equivalent to outputting
+.I n
+blanks without moving the cursor)
+can be given as
+.B ech
+with one parameter.
+.PP
+.SS "Highlighting, Underlining, and Visible Bells"
+.PP
+If your terminal has one or more kinds of display attributes,
+these can be represented in a number of different ways.
+You should choose one display form as
+\f2standout mode\fR,
+representing a good, high contrast, easy-on-the-eyes,
+format for highlighting error messages and other attention getters.
+(If you have a choice, reverse video plus half-bright is good,
+or reverse video alone.)
+The sequences to enter and exit standout mode
+are given as \fBsmso\fR and \fBrmso\fR, respectively.
+If the code to change into or out of standout
+mode leaves one or even two blank spaces on the screen,
+as the TVI 912 and Teleray 1061 do,
+then \fBxmc\fR should be given to tell how many spaces are left.
+.PP
+Codes to begin underlining and end underlining can be given as \fBsmul\fR
+and \fBrmul\fR respectively.
+If the terminal has a code to underline the current character and move
+the cursor one space to the right,
+such as the Microterm Mime,
+this can be given as \fBuc\fR.
+.PP
+Other capabilities to enter various highlighting modes include
+.B blink
+(blinking)
+.B bold
+(bold or extra bright)
+.B dim
+(dim or half-bright)
+.B invis
+(blanking or invisible text)
+.B prot
+(protected)
+.B rev
+(reverse video)
+.B sgr0
+(turn off
+.I all
+attribute modes)
+.B smacs
+(enter alternate character set mode)
+and
+.B rmacs
+(exit alternate character set mode).
+Turning on any of these modes singly may or may not turn off other modes.
+.PP
+If there is a sequence to set arbitrary combinations of modes,
+this should be given as
+.B sgr
+(set attributes),
+taking 9 parameters.
+Each parameter is either 0 or nonzero, as the corresponding attribute is on or off.
+The 9 parameters are, in order:
+standout, underline, reverse, blink, dim, bold, blank, protect, alternate
+character set.
+Not all modes need be supported by
+.BR sgr ,
+only those for which corresponding separate attribute commands exist.
+.PP
+For example, the DEC vt220 supports most of the modes:
+.PP
+.TS
+center;
+l l l
+l l l
+lw18 lw14 lw18.
+\fBtparm parameter	attribute	escape sequence\fP
+
+none	none	\\E[0m
+p1	standout	\\E[0;1;7m
+p2	underline	\\E[0;4m
+p3	reverse	\\E[0;7m
+p4	blink	\\E[0;5m
+p5	dim	not available
+p6	bold	\\E[0;1m
+p7	invis	\\E[0;8m
+p8	protect	not used
+p9	altcharset	^O (off) ^N (on)
+.TE
+.PP
+We begin each escape sequence by turning off any existing modes, since
+there is no quick way to determine whether they are active.
+Standout is set up to be the combination of reverse and bold.
+The vt220 terminal has a protect mode,
+though it is not commonly used in sgr
+because it protects characters on the screen from the host's erasures.
+The altcharset mode also is different in that it is either ^O or ^N,
+depending on whether it is off or on.
+If all modes are turned on, the resulting sequence is \\E[0;1;4;5;7;8m^N.
+.PP
+Some sequences are common to different modes.
+For example, ;7 is output when either p1 or p3 is true, that is, if
+either standout or reverse modes are turned on.
+.PP
+Writing out the above sequences, along with their dependencies yields
+.PP
+.ne 11
+.TS
+center;
+l l l
+l l l
+lw18 lw14 lw18.
+\fBsequence	when to output	terminfo translation\fP
+
+.ft CW
+\\E[0	always	\\E[0
+;1	if p1 or p6	%?%p1%p6%|%t;1%;
+;4	if p2	%?%p2%|%t;4%;
+;5	if p4	%?%p4%|%t;5%;
+;7	if p1 or p3	%?%p1%p3%|%t;7%;
+;8	if p7	%?%p7%|%t;8%;
+m	always	m
+^N or ^O	if p9 ^N, else ^O	%?%p9%t^N%e^O%;
+.ft R
+.TE
+.PP
+Putting this all together into the sgr sequence gives:
+.PP
+.ft CW
+.nf
+    sgr=\\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
+        %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\\016%e\\017%;,
+.fi
+.ft R
+.PP
+Remember that if you specify sgr, you must also specify sgr0.
+Also, some implementations rely on sgr being given if sgr0 is,
+Not all terminfo entries necessarily have an sgr string, however.
+Many terminfo entries are derived from termcap entries
+which have no sgr string.
+The only drawback to adding an sgr string is that termcap also
+assumes that sgr0 does not exit alternate character set mode.
+.PP
+Terminals with the \*(``magic cookie\*('' glitch
+.RB ( xmc )
+deposit special \*(``cookies\*('' when they receive mode-setting sequences,
+which affect the display algorithm rather than having extra bits for
+each character.
+Some terminals, such as the HP 2621, automatically leave standout
+mode when they move to a new line or the cursor is addressed.
+Programs using standout mode should exit standout mode before
+moving the cursor or sending a newline,
+unless the
+.B msgr
+capability, asserting that it is safe to move in standout mode, is present.
+.PP
+If the terminal has
+a way of flashing the screen to indicate an error quietly (a bell replacement)
+then this can be given as \fBflash\fR; it must not move the cursor.
+.PP
+If the cursor needs to be made more visible than normal when it is
+not on the bottom line (to make, for example, a non-blinking underline into an
+easier to find block or blinking underline)
+give this sequence as
+.BR cvvis .
+If there is a way to make the cursor completely invisible, give that as
+.BR civis .
+The capability
+.BR cnorm
+should be given which undoes the effects of both of these modes.
+.PP
+If your terminal correctly generates underlined characters
+(with no special codes needed)
+even though it does not overstrike,
+then you should give the capability \fBul\fR.
+If a character overstriking another leaves both characters on the screen,
+specify the capability \fBos\fP.
+If overstrikes are erasable with a blank,
+then this should be indicated by giving \fBeo\fR.
+.PP
+.SS Keypad and Function Keys
+.PP
+If the terminal has a keypad that transmits codes when the keys are pressed,
+this information can be given.
+Note that it is not possible to handle
+terminals where the keypad only works in local (this applies, for example,
+to the unshifted HP 2621 keys).
+If the keypad can be set to transmit or not transmit,
+give these codes as \fBsmkx\fR and \fBrmkx\fR.
+Otherwise the keypad is assumed to always transmit.
+.PP
+The codes sent by the left arrow, right arrow, up arrow, down arrow,
+and home keys can be given as
+\fBkcub1, kcuf1, kcuu1, kcud1, \fRand\fB khome\fR respectively.
+If there are function keys such as f0, f1, ..., f10, the codes they send
+can be given as \fBkf0, kf1, ..., kf10\fR.
+If these keys have labels other than the default f0 through f10, the labels
+can be given as \fBlf0, lf1, ..., lf10\fR.
+.PP
+The codes transmitted by certain other special keys can be given:
+.bP
+.B kll
+(home down),
+.bP
+.B kbs
+(backspace),
+.bP
+.B ktbc
+(clear all tabs),
+.bP
+.B kctab
+(clear the tab stop in this column),
+.bP
+.B kclr
+(clear screen or erase key),
+.bP
+.B kdch1
+(delete character),
+.bP
+.B kdl1
+(delete line),
+.bP
+.B krmir
+(exit insert mode),
+.bP
+.B kel
+(clear to end of line),
+.bP
+.B ked
+(clear to end of screen),
+.bP
+.B kich1
+(insert character or enter insert mode),
+.bP
+.B kil1
+(insert line),
+.bP
+.B knp
+(next page),
+.bP
+.B kpp
+(previous page),
+.bP
+.B kind
+(scroll forward/down),
+.bP
+.B kri
+(scroll backward/up),
+.bP
+.B khts
+(set a tab stop in this column).
+.PP
+In addition, if the keypad has a 3 by 3 array of keys including the four
+arrow keys, the other five keys can be given as
+.BR ka1 ,
+.BR ka3 ,
+.BR kb2 ,
+.BR kc1 ,
+and
+.BR kc3 .
+These keys are useful when the effects of a 3 by 3 directional pad are needed.
+.PP
+Strings to program function keys can be given as
+.BR pfkey ,
+.BR pfloc ,
+and
+.BR pfx .
+A string to program screen labels should be specified as \fBpln\fP.
+Each of these strings takes two parameters: the function key number to
+program (from 0 to 10) and the string to program it with.
+Function key numbers out of this range may program undefined keys in
+a terminal dependent manner.
+The difference between the capabilities is that
+.B pfkey
+causes pressing the given key to be the same as the user typing the
+given string;
+.B pfloc
+causes the string to be executed by the terminal in local; and
+.B pfx
+causes the string to be transmitted to the computer.
+.PP
+The capabilities \fBnlab\fP, \fBlw\fP and \fBlh\fP
+define the number of programmable
+screen labels and their width and height.
+If there are commands to turn the labels on and off,
+give them in \fBsmln\fP and \fBrmln\fP.
+\fBsmln\fP is normally output after one or more pln
+sequences to make sure that the change becomes visible.
+.PP
+.SS Tabs and Initialization
+.PP
+If the terminal has hardware tabs, the command to advance to the next
+tab stop can be given as
+.B ht
+(usually control I).
+A \*(``back-tab\*('' command which moves leftward to the preceding tab stop can
+be given as
+.BR cbt .
+By convention, if the teletype modes indicate that tabs are being
+expanded by the computer rather than being sent to the terminal,
+programs should not use
+.B ht
+or
+.B cbt
+even if they are present, since the user may not have the tab stops
+properly set.
+If the terminal has hardware tabs which are initially set every
+.I n
+spaces when the terminal is powered up,
+the numeric parameter
+.B it
+is given, showing the number of spaces the tabs are set to.
+This is normally used by the
+.IR @TSET@
+command to determine whether to set the mode for hardware tab expansion,
+and whether to set the tab stops.
+If the terminal has tab stops that can be saved in non-volatile memory,
+the terminfo description can assume that they are properly set.
+.PP
+Other capabilities
+include
+.BR is1 ,
+.BR is2 ,
+and
+.BR is3 ,
+initialization strings for the terminal,
+.BR iprog ,
+the path name of a program to be run to initialize the terminal,
+and \fBif\fR, the name of a file containing long initialization strings.
+These strings are expected to set the terminal into modes consistent
+with the rest of the terminfo description.
+They are normally sent to the terminal, by the
+.I init
+option of the
+.IR @TPUT@
+program, each time the user logs in.
+They will be printed in the following order:
+.RS
+.TP
+run the program
+.BR iprog
+.TP
+output
+.BR is1
+.BR is2
+.TP
+set the margins using
+.BR mgc ,
+.BR smgl
+and
+.BR smgr
+.TP
+set tabs using
+.B tbc
+and
+.BR hts
+.TP
+print the file
+.BR if
+.TP
+and finally
+output
+.BR is3 .
+.RE
+.PP
+Most initialization is done with
+.BR is2 .
+Special terminal modes can be set up without duplicating strings
+by putting the common sequences in
+.B is2
+and special cases in
+.B is1
+and
+.BR is3 .
+.PP
+A set of sequences that does a harder reset from a totally unknown state
+can be given as
+.BR rs1 ,
+.BR rs2 ,
+.BR rf
+and
+.BR rs3 ,
+analogous to
+.B is1 ,
+.B is2 ,
+.B if
+and
+.BR is3
+respectively.
+These strings are output by the
+.IR reset
+program, which is used when the terminal gets into a wedged state.
+Commands are normally placed in
+.BR rs1 ,
+.BR rs2
+.B rs3
+and
+.B rf
+only if they produce annoying effects on the screen and are not
+necessary when logging in.
+For example, the command to set the vt100 into 80-column mode would
+normally be part of
+.BR is2 ,
+but it causes an annoying glitch of the screen and is not normally
+needed since the terminal is usually already in 80 column mode.
+.PP
+The
+.IR reset
+program writes strings
+including
+.BR iprog ,
+etc., in the same order as the
+.IR init
+program, using 
+.BR rs1 ,
+etc., instead of
+.BR is1 ,
+etc.
+If any of
+.BR rs1 ,
+.BR rs2 ,
+.BR rs3 ,
+or
+.BR rf
+reset capability strings are missing, the
+.IR reset
+program falls back upon the corresponding initialization capability string.
+.PP
+If there are commands to set and clear tab stops, they can be given as
+.B tbc
+(clear all tab stops)
+and
+.B hts
+(set a tab stop in the current column of every row).
+If a more complex sequence is needed to set the tabs than can be
+described by this, the sequence can be placed in
+.B is2
+or
+.BR if .
+.SS Delays and Padding
+.PP
+Many older and slower terminals do not support either XON/XOFF or DTR
+handshaking, including hard copy terminals and some very archaic CRTs
+(including, for example, DEC VT100s).
+These may require padding characters
+after certain cursor motions and screen changes.
+.PP
+If the terminal uses xon/xoff handshaking for flow control (that is,
+it automatically emits ^S back to the host when its input buffers are
+close to full), set
+.BR xon .
+This capability suppresses the emission of padding.
+You can also set it
+for memory-mapped console devices effectively that do not have a speed limit.
+Padding information should still be included so that routines can
+make better decisions about relative costs, but actual pad characters will
+not be transmitted.
+.PP
+If \fBpb\fR (padding baud rate) is given, padding is suppressed at baud rates
+below the value of \fBpb\fR.
+If the entry has no padding baud rate, then
+whether padding is emitted or not is completely controlled by \fBxon\fR.
+.PP
+If the terminal requires other than a null (zero) character as a pad,
+then this can be given as \fBpad\fR.
+Only the first character of the
+.B pad
+string is used.
+.PP
+.SS Status Lines
+Some terminals have an extra \*(``status line\*('' which is not normally used by
+software (and thus not counted in the terminal's \fBlines\fR capability).
+.PP
+The simplest case is a status line which is cursor-addressable but not
+part of the main scrolling region on the screen; the Heathkit H19 has
+a status line of this kind, as would a 24-line VT100 with a 23-line
+scrolling region set up on initialization.
+This situation is indicated
+by the \fBhs\fR capability.
+.PP
+Some terminals with status lines need special sequences to access the
+status line.
+These may be expressed as a string with single parameter
+\fBtsl\fR which takes the cursor to a given zero-origin column on the
+status line.
+The capability \fBfsl\fR must return to the main-screen
+cursor positions before the last \fBtsl\fR.
+You may need to embed the
+string values of \fBsc\fR (save cursor) and \fBrc\fR (restore cursor)
+in \fBtsl\fR and \fBfsl\fR to accomplish this.
+.PP
+The status line is normally assumed to be the same width as the width
+of the terminal.
+If this is untrue, you can specify it with the numeric
+capability \fBwsl\fR.
+.PP
+A command to erase or blank the status line may be specified as \fBdsl\fR.
+.PP
+The boolean capability \fBeslok\fR specifies that escape sequences, tabs,
+etc., work ordinarily in the status line.
+.PP
+The \fBncurses\fR implementation does not yet use any of these capabilities.
+They are documented here in case they ever become important.
+.PP
+.SS Line Graphics
+.PP
+Many terminals have alternate character sets useful for forms-drawing.
+Terminfo and \fBcurses\fR build in support for the drawing characters
+supported by the VT100, with some characters from the AT&T 4410v1 added.
+This alternate character set may be specified by the \fBacsc\fR capability.
+.PP
+.TS H
+center expand;
+l l l l
+l l l l
+lw25 lw10 lw6 lw6.
+.\".TH
+\fBGlyph	ACS	Ascii	VT100\fR
+\fBName	Name	Default	Name\fR
+UK pound sign        	ACS_STERLING	f	}
+arrow pointing down	ACS_DARROW	v	.
+arrow pointing left	ACS_LARROW	<	,
+arrow pointing right	ACS_RARROW	>	+
+arrow pointing up	ACS_UARROW	^	\-
+board of squares	ACS_BOARD	#	h
+bullet          	ACS_BULLET	o	~
+checker board (stipple)	ACS_CKBOARD	:	a
+degree symbol   	ACS_DEGREE	\e	f
+diamond         	ACS_DIAMOND	+	`
+greater-than-or-equal-to	ACS_GEQUAL	>	z
+greek pi        	ACS_PI	*	{
+horizontal line 	ACS_HLINE	\-	q
+lantern symbol  	ACS_LANTERN	#	i
+large plus or crossover	ACS_PLUS	+	n
+less-than-or-equal-to	ACS_LEQUAL	<	y
+lower left corner	ACS_LLCORNER	+	m
+lower right corner	ACS_LRCORNER	+	j
+not-equal       	ACS_NEQUAL	!	|
+plus/minus      	ACS_PLMINUS	#	g
+scan line 1     	ACS_S1  	~	o
+scan line 3     	ACS_S3  	\-	p
+scan line 7     	ACS_S7  	\-	r
+scan line 9     	ACS_S9  	\&_	s
+solid square block	ACS_BLOCK	#	0
+tee pointing down	ACS_TTEE	+	w
+tee pointing left	ACS_RTEE	+	u
+tee pointing right	ACS_LTEE	+	t
+tee pointing up 	ACS_BTEE	+	v
+upper left corner	ACS_ULCORNER	+	l
+upper right corner	ACS_URCORNER	+	k
+vertical line   	ACS_VLINE	|	x
+.TE
+.PP
+The best way to define a new device's graphics set is to add a column
+to a copy of this table for your terminal, giving the character which
+(when emitted between \fBsmacs\fR/\fBrmacs\fR switches) will be rendered
+as the corresponding graphic.
+Then read off the VT100/your terminal
+character pairs right to left in sequence; these become the ACSC string.
+.PP
+.SS Color Handling
+.PP
+Most color terminals are either \*(``Tektronix-like\*('' or \*(``HP-like\*(''.
+Tektronix-like
+terminals have a predefined set of N colors (where N usually 8), and can set
+character-cell foreground and background characters independently, mixing them
+into N\ *\ N color-pairs.
+On HP-like terminals, the use must set each color
+pair up separately (foreground and background are not independently settable).
+Up to M color-pairs may be set up from 2*M different colors.
+ANSI-compatible
+terminals are Tektronix-like.
+.PP
+Some basic color capabilities are independent of the color method.
+The numeric
+capabilities \fBcolors\fR and \fBpairs\fR specify the maximum numbers of colors
+and color-pairs that can be displayed simultaneously.
+The \fBop\fR (original
+pair) string resets foreground and background colors to their default values
+for the terminal.
+The \fBoc\fR string resets all colors or color-pairs to
+their default values for the terminal.
+Some terminals (including many PC
+terminal emulators) erase screen areas with the current background color rather
+than the power-up default background; these should have the boolean capability
+\fBbce\fR.
+.PP
+To change the current foreground or background color on a Tektronix-type
+terminal, use \fBsetaf\fR (set ANSI foreground) and \fBsetab\fR (set ANSI
+background) or \fBsetf\fR (set foreground) and \fBsetb\fR (set background).
+These take one parameter, the color number.
+The SVr4 documentation describes
+only \fBsetaf\fR/\fBsetab\fR; the XPG4 draft says that "If the terminal
+supports ANSI escape sequences to set background and foreground, they should
+be coded as \fBsetaf\fR and \fBsetab\fR, respectively.
+If the terminal
+supports other escape sequences to set background and foreground, they should
+be coded as \fBsetf\fR and \fBsetb\fR, respectively.
+The \fIvidputs()\fR
+function and the refresh functions use \fBsetaf\fR and \fBsetab\fR if they are
+defined."
+.PP
+The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a
+single numeric argument each.
+Argument values 0-7 of \fBsetaf\fR/\fBsetab\fR are portably defined as
+follows (the middle column is the symbolic #define available in the header for
+the \fBcurses\fR or \fBncurses\fR libraries).
+The terminal hardware is free to
+map these as it likes, but the RGB values indicate normal locations in color
+space.
+.PP
+.TS H
+center;
+l c c c
+l l n l.
+\fBColor	#define 	Value	RGB\fR
+black	\fBCOLOR_BLACK\fR	0	0, 0, 0
+red	\fBCOLOR_RED\ \fR	1	max,0,0
+green	\fBCOLOR_GREEN\fR	2	0,max,0
+yellow	\fBCOLOR_YELLOW\fR	3	max,max,0
+blue	\fBCOLOR_BLUE\fR	4	0,0,max
+magenta	\fBCOLOR_MAGENTA\fR	5	max,0,max
+cyan	\fBCOLOR_CYAN\fR	6	0,max,max
+white	\fBCOLOR_WHITE\fR	7	max,max,max
+.TE
+.PP
+The argument values of \fBsetf\fR/\fBsetb\fR historically correspond to
+a different mapping, i.e.,
+.TS H
+center;
+l c c c
+l l n l.
+\fBColor	#define 	Value	RGB\fR
+black	\fBCOLOR_BLACK\fR	0	0, 0, 0
+blue	\fBCOLOR_BLUE\fR	1	0,0,max
+green	\fBCOLOR_GREEN\fR	2	0,max,0
+cyan	\fBCOLOR_CYAN\fR	3	0,max,max
+red	\fBCOLOR_RED\ \fR	4	max,0,0
+magenta	\fBCOLOR_MAGENTA\fR	5	max,0,max
+yellow	\fBCOLOR_YELLOW\fR	6	max,max,0
+white	\fBCOLOR_WHITE\fR	7	max,max,max
+.TE
+.PP
+It is important to not confuse the two sets of color capabilities;
+otherwise red/blue will be interchanged on the display.
+.PP
+On an HP-like terminal, use \fBscp\fR with a color-pair number parameter to set
+which color pair is current.
+.PP
+On a Tektronix-like terminal, the capability \fBccc\fR may be present to
+indicate that colors can be modified.
+If so, the \fBinitc\fR capability will
+take a color number (0 to \fBcolors\fR \- 1)and three more parameters which
+describe the color.
+These three parameters default to being interpreted as RGB
+(Red, Green, Blue) values.
+If the boolean capability \fBhls\fR is present,
+they are instead as HLS (Hue, Lightness, Saturation) indices.
+The ranges are
+terminal-dependent.
+.PP
+On an HP-like terminal, \fBinitp\fR may give a capability for changing a
+color-pair value.
+It will take seven parameters; a color-pair number (0 to
+\fBmax_pairs\fR \- 1), and two triples describing first background and then
+foreground colors.
+These parameters must be (Red, Green, Blue) or
+(Hue, Lightness, Saturation) depending on \fBhls\fR.
+.PP
+On some color terminals, colors collide with highlights.
+You can register
+these collisions with the \fBncv\fR capability.
+This is a bit-mask of
+attributes not to be used when colors are enabled.
+The correspondence with the
+attributes understood by \fBcurses\fR is as follows:
+.PP
+.TS
+center;
+l l l l
+lw20 lw2 lw10 lw10.
+\fBAttribute	Bit	Decimal	Set by\fR
+A_STANDOUT	0	1	sgr
+A_UNDERLINE	1	2	sgr
+A_REVERSE	2	4	sgr
+A_BLINK   	3	8	sgr
+A_DIM      	4	16	sgr
+A_BOLD    	5	32	sgr
+A_INVIS   	6	64	sgr
+A_PROTECT	7	128	sgr
+A_ALTCHARSET	8	256	sgr
+A_HORIZONTAL	9	512	sgr1
+A_LEFT	10	1024	sgr1
+A_LOW	11	2048	sgr1
+A_RIGHT	12	4096	sgr1
+A_TOP	13	8192	sgr1
+A_VERTICAL	14	16384	sgr1
+A_ITALIC	15	32768	sitm
+.TE
+.PP
+For example, on many IBM PC consoles, the underline attribute collides with the
+foreground color blue and is not available in color mode.
+These should have
+an \fBncv\fR capability of 2.
+.PP
+SVr4 curses does nothing with \fBncv\fR, ncurses recognizes it and optimizes
+the output in favor of colors.
+.PP
+.SS Miscellaneous
+If the terminal requires other than a null (zero) character as a pad, then this
+can be given as pad.
+Only the first character of the pad string is used.
+If the terminal does not have a pad character, specify npc.
+Note that ncurses implements the termcap-compatible \fBPC\fR variable;
+though the application may set this value to something other than
+a null, ncurses will test \fBnpc\fR first and use napms if the terminal
+has no pad character.
+.PP
+If the terminal can move up or down half a line,
+this can be indicated with
+.B hu
+(half-line up)
+and
+.B hd
+(half-line down).
+This is primarily useful for superscripts and subscripts on hard-copy terminals.
+If a hard-copy terminal can eject to the next page (form feed), give this as
+.B ff
+(usually control L).
+.PP
+If there is a command to repeat a given character a given number of
+times (to save time transmitting a large number of identical characters)
+this can be indicated with the parameterized string
+.BR rep .
+The first parameter is the character to be repeated and the second
+is the number of times to repeat it.
+Thus, tparm(repeat_char, 'x', 10) is the same as \*(``xxxxxxxxxx\*(''.
+.PP
+If the terminal has a settable command character, such as the \s-1TEKTRONIX\s+1 4025,
+this can be indicated with
+.BR cmdch .
+A prototype command character is chosen which is used in all capabilities.
+This character is given in the
+.B cmdch
+capability to identify it.
+The following convention is supported on some UNIX systems:
+The environment is to be searched for a
+.B CC
+variable, and if found, all
+occurrences of the prototype character are replaced with the character
+in the environment variable.
+.PP
+Terminal descriptions that do not represent a specific kind of known
+terminal, such as
+.IR switch ,
+.IR dialup ,
+.IR patch ,
+and
+.IR network ,
+should include the
+.B gn
+(generic) capability so that programs can complain that they do not know
+how to talk to the terminal.
+(This capability does not apply to
+.I virtual
+terminal descriptions for which the escape sequences are known.)
+.PP
+If the terminal has a \*(``meta key\*('' which acts as a shift key,
+setting the 8th bit of any character transmitted, this fact can
+be indicated with
+.BR km .
+Otherwise, software will assume that the 8th bit is parity and it
+will usually be cleared.
+If strings exist to turn this \*(``meta mode\*('' on and off, they
+can be given as
+.B smm
+and
+.BR rmm .
+.PP
+If the terminal has more lines of memory than will fit on the screen
+at once, the number of lines of memory can be indicated with
+.BR lm .
+A value of
+.BR lm #0
+indicates that the number of lines is not fixed,
+but that there is still more memory than fits on the screen.
+.PP
+If the terminal is one of those supported by the \s-1UNIX\s+1 virtual
+terminal protocol, the terminal number can be given as
+.BR vt .
+.PP
+Media copy
+strings which control an auxiliary printer connected to the terminal
+can be given as
+.BR mc0 :
+print the contents of the screen,
+.BR mc4 :
+turn off the printer, and
+.BR mc5 :
+turn on the printer.
+When the printer is on, all text sent to the terminal will be sent
+to the printer.
+It is undefined whether the text is also displayed on the terminal screen
+when the printer is on.
+A variation
+.B mc5p
+takes one parameter, and leaves the printer on for as many characters
+as the value of the parameter, then turns the printer off.
+The parameter should not exceed 255.
+All text, including
+.BR mc4 ,
+is transparently passed to the printer while an
+.B mc5p
+is in effect.
+.PP
+.SS Glitches and Braindamage
+.PP
+Hazeltine terminals, which do not allow \*(``~\*('' characters to be displayed should
+indicate \fBhz\fR.
+.PP
+Terminals which ignore a line-feed immediately after an \fBam\fR wrap,
+such as the Concept and vt100,
+should indicate \fBxenl\fR.
+.PP
+If
+.B el
+is required to get rid of standout
+(instead of merely writing normal text on top of it),
+\fBxhp\fP should be given.
+.PP
+Teleray terminals, where tabs turn all characters moved over to blanks,
+should indicate \fBxt\fR (destructive tabs).
+Note: the variable indicating this is now \*(``dest_tabs_magic_smso\*(''; in
+older versions, it was teleray_glitch.
+This glitch is also taken to mean that it is not possible to position
+the cursor on top of a \*(``magic cookie\*('',
+that to erase standout mode it is instead necessary to use
+delete and insert line.
+The ncurses implementation ignores this glitch.
+.PP
+The Beehive Superbee, which is unable to correctly transmit the escape
+or control C characters, has
+.BR xsb ,
+indicating that the f1 key is used for escape and f2 for control C.
+(Only certain Superbees have this problem, depending on the ROM.)
+Note that in older terminfo versions, this capability was called
+\*(``beehive_glitch\*(''; it is now \*(``no_esc_ctl_c\*(''.
+.PP
+Other specific terminal problems may be corrected by adding more
+capabilities of the form \fBx\fR\fIx\fR.
+.PP
+.SS Similar Terminals
+.PP
+If there are two very similar terminals, one (the variant) can be defined as
+being just like the other (the base) with certain exceptions.
+In the
+definition of the variant, the string capability \fBuse\fR can be given with
+the name of the base terminal.
+The capabilities given before
+.B use
+override those in the base type named by
+.BR use .
+If there are multiple \fBuse\fR capabilities, they are merged in reverse order.
+That is, the rightmost \fBuse\fR reference is processed first, then the one to
+its left, and so forth.
+Capabilities given explicitly in the entry override
+those brought in by \fBuse\fR references.
+.PP
+A capability can be canceled by placing \fBxx@\fR to the left of the
+use reference that imports it, where \fIxx\fP is the capability.
+For example, the entry
+.RS
+.PP
+2621\-nl, smkx@, rmkx@, use=2621,
+.RE
+.PP
+defines a 2621\-nl that does not have the \fBsmkx\fR or \fBrmkx\fR capabilities,
+and hence does not turn on the function key labels when in visual mode.
+This is useful for different modes for a terminal, or for different
+user preferences.
+.PP
+.SS Pitfalls of Long Entries
+.PP
+Long terminfo entries are unlikely to be a problem; to date, no entry has even
+approached terminfo's 4096-byte string-table maximum.
+Unfortunately, the termcap
+translations are much more strictly limited (to 1023 bytes), thus termcap translations
+of long terminfo entries can cause problems.
+.PP
+The man pages for 4.3BSD and older versions of \fBtgetent()\fP instruct the user to
+allocate a 1024-byte buffer for the termcap entry.
+The entry gets null-terminated by
+the termcap library, so that makes the maximum safe length for a termcap entry
+1k\-1 (1023) bytes.
+Depending on what the application and the termcap library
+being used does, and where in the termcap file the terminal type that \fBtgetent()\fP
+is searching for is, several bad things can happen.
+.PP
+Some termcap libraries print a warning message or exit if they find an
+entry that's longer than 1023 bytes; others do not; others truncate the
+entries to 1023 bytes.
+Some application programs allocate more than
+the recommended 1K for the termcap entry; others do not.
+.PP
+Each termcap entry has two important sizes associated with it: before
+"tc" expansion, and after "tc" expansion.
+"tc" is the capability that
+tacks on another termcap entry to the end of the current one, to add
+on its capabilities.
+If a termcap entry does not use the "tc"
+capability, then of course the two lengths are the same.
+.PP
+The "before tc expansion" length is the most important one, because it
+affects more than just users of that particular terminal.
+This is the
+length of the entry as it exists in /etc/termcap, minus the
+backslash-newline pairs, which \fBtgetent()\fP strips out while reading it.
+Some termcap libraries strip off the final newline, too (GNU termcap does not).
+Now suppose:
+.bP
+a termcap entry before expansion is more than 1023 bytes long,
+.bP
+and the application has only allocated a 1k buffer,
+.bP
+and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+the whole entry into the buffer, no matter what its length, to see
+if it is the entry it wants,
+.bP
+and \fBtgetent()\fP is searching for a terminal type that either is the
+long entry, appears in the termcap file after the long entry, or
+does not appear in the file at all (so that \fBtgetent()\fP has to search
+the whole termcap file).
+.PP
+Then \fBtgetent()\fP will overwrite memory, perhaps its stack, and probably core dump
+the program.
+Programs like telnet are particularly vulnerable; modern telnets
+pass along values like the terminal type automatically.
+The results are almost
+as undesirable with a termcap library, like SunOS 4.1.3 and Ultrix 4.4, that
+prints warning messages when it reads an overly long termcap entry.
+If a
+termcap library truncates long entries, like OSF/1 3.0, it is immune to dying
+here but will return incorrect data for the terminal.
+.PP
+The "after tc expansion" length will have a similar effect to the
+above, but only for people who actually set TERM to that terminal
+type, since \fBtgetent()\fP only does "tc" expansion once it is found the
+terminal type it was looking for, not while searching.
+.PP
+In summary, a termcap entry that is longer than 1023 bytes can cause,
+on various combinations of termcap libraries and applications, a core
+dump, warnings, or incorrect operation.
+If it is too long even before
+"tc" expansion, it will have this effect even for users of some other
+terminal types and users whose TERM variable does not have a termcap
+entry.
+.PP
+When in \-C (translate to termcap) mode, the \fBncurses\fR implementation of
+\fB@TIC@\fR(1M) issues warning messages when the pre-tc length of a termcap
+translation is too long.
+The \-c (check) option also checks resolved (after tc
+expansion) lengths.
+.SS Binary Compatibility
+It is not wise to count on portability of binary terminfo entries between
+commercial UNIX versions.
+The problem is that there are at least two versions
+of terminfo (under HP\-UX and AIX) which diverged from System V terminfo after
+SVr1, and have added extension capabilities to the string table that (in the
+binary format) collide with System V and XSI Curses extensions.
+.SH EXTENSIONS
+.PP
+Searching for terminal descriptions in
+\fB$HOME/.terminfo\fR and TERMINFO_DIRS 
+is not supported by older implementations.
+.PP
+Some SVr4 \fBcurses\fR implementations, and all previous to SVr4, do not
+interpret the %A and %O operators in parameter strings.
+.PP
+SVr4/XPG4 do not specify whether \fBmsgr\fR licenses movement while in
+an alternate-character-set mode (such modes may, among other things, map
+CR and NL to characters that do not trigger local motions).
+The \fBncurses\fR implementation ignores \fBmsgr\fR in \fBALTCHARSET\fR
+mode.
+This raises the possibility that an XPG4
+implementation making the opposite interpretation may need terminfo
+entries made for \fBncurses\fR to have \fBmsgr\fR turned off.
+.PP
+The \fBncurses\fR library handles insert-character and insert-character modes
+in a slightly non-standard way to get better update efficiency.
+See
+the \fBInsert/Delete Character\fR subsection above.
+.PP
+The parameter substitutions for \fBset_clock\fR and \fBdisplay_clock\fR are
+not documented in SVr4 or the XSI Curses standard.
+They are deduced from the
+documentation for the AT&T 505 terminal.
+.PP
+Be careful assigning the \fBkmous\fR capability.
+The \fBncurses\fR wants to
+interpret it as \fBKEY_MOUSE\fR, for use by terminals and emulators like xterm
+that can return mouse-tracking information in the keyboard-input stream.
+.PP
+X/Open Curses does not mention italics.
+Portable applications must assume that numeric capabilities are
+signed 16-bit values.
+This includes the \fIno_color_video\fP (ncv) capability.
+The 32768 mask value used for italics with ncv can be confused with
+an absent or cancelled ncv.
+If italics should work with colors,
+then the ncv value must be specified, even if it is zero.
+.PP
+Different commercial ports of terminfo and curses support different subsets of
+the XSI Curses standard and (in some cases) different extension sets.
+Here
+is a summary, accurate as of October 1995:
+.PP
+\fBSVR4, Solaris, ncurses\fR \-\-
+These support all SVr4 capabilities.
+.PP
+\fBSGI\fR \-\-
+Supports the SVr4 set, adds one undocumented extended string
+capability (\fBset_pglen\fR).
+.PP
+\fBSVr1, Ultrix\fR \-\-
+These support a restricted subset of terminfo capabilities.
+The booleans end with \fBxon_xoff\fR;
+the numerics with \fBwidth_status_line\fR;
+and the strings with \fBprtr_non\fR.
+.PP
+\fBHP/UX\fR \-\-
+Supports the SVr1 subset, plus the SVr[234] numerics \fBnum_labels\fR,
+\fBlabel_height\fR, \fBlabel_width\fR, plus function keys 11 through 63, plus
+\fBplab_norm\fR, \fBlabel_on\fR, and \fBlabel_off\fR, plus some incompatible
+extensions in the string table.
+.PP
+\fBAIX\fR \-\-
+Supports the SVr1 subset, plus function keys 11 through 63, plus a number
+of incompatible string table extensions.
+.PP
+\fBOSF\fR \-\-
+Supports both the SVr4 set and the AIX extensions.
+.SH FILES
+.TP 25
+\*d/?/*
+files containing terminal descriptions
+.SH SEE ALSO
+\fB@TIC@\fR(1M),
+\fB@INFOCMP@\fR(1M),
+\fBcurses\fR(3X),
+\fBprintf\fR(3),
+\fBterm\fR(\*n).
+\fBterm_variables\fR(3X).
+.SH AUTHORS
+Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+Based on pcurses by Pavel Curtis.
diff --git a/menu/Makefile b/menu/Makefile
new file mode 100644
index 0000000..3967db6
--- /dev/null
+++ b/menu/Makefile
@@ -0,0 +1,690 @@
+# $Id: Makefile.in,v 1.64 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for menu source code.
+#
+# This makes the following:
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncurses
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644
+INSTALL_PROG	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= arm-linux-androideabi-ar
+ARFLAGS		= -curv
+AWK		= mawk
+LD		= arm-linux-androideabi-ld
+LN_S		= ln -s -f
+
+CTAGS		= 
+ETAGS		= 
+
+CC		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang
+CPP		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang -E
+CFLAGS		= -target arm-linux-androideabi -I/home/shade/dev/cm/13/bionic/libc/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi -I/home/shade/dev/cm/13/bionic/libc/arch-arm/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi/asm-arm --sysroot=/home/shade/dev/cm/13/prebuilts/ndk/current/platforms/android-21/arch-arm -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -I/home/shade/dev/cm/13/bionic/libm/include -I/home/shade/dev/cm/13/bionic/libm/include/arm -I/home/shade/dev/cm/13/external/libselinux/include -I/home/shade/dev/cm/13/system/core/include -I/home/shade/dev/cm/13/bionic/libc/dns/include -I.  --param max-inline-insns-single=1200
+
+CPPFLAGS	= -I${top_srcdir}/ncurses -DHAVE_CONFIG_H -I. -I../include   -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS)
+CFLAGS_DEBUG	= $(CCFLAGS) -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL_LINK)
+LDFLAGS		= -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils  
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) -lncurses 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 0
+REL_VERSION	= 6.0
+ABI_VERSION	= 6
+
+RANLIB		= arm-linux-androideabi-ranlib
+
+LIBRARIES	=  ../lib/libmenu.a ../lib/libmenu_g.a
+
+LINT		= lint
+LINT_OPTS	= 
+LINT_LIBS	= -lmenu -lncurses 
+
+AUTO_SRC	= \
+		../include/menu.h \
+		../include/eti.h \
+		../include/mf_common.h
+
+################################################################################
+all \
+libs \
+install ::	$(AUTO_SRC) $(LIBRARIES)
+
+sources :	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+# make copies to simplify include-paths while still keeping menu's include
+# file in this directory.
+../include/menu.h : $(srcdir)/menu.h
+	-rm -f $@
+	cp $(srcdir)/menu.h $@
+../include/eti.h : $(srcdir)/eti.h
+	-rm -f $@
+	cp $(srcdir)/eti.h $@
+../include/mf_common.h : $(srcdir)/mf_common.h
+	-rm -f $@
+	cp $(srcdir)/mf_common.h $@
+
+HEADER_DEPS = \
+	$(srcdir)/menu.priv.h \
+	$(AUTO_SRC) \
+	../include/curses.h
+
+tags:
+	$(CTAGS) *.[ch]
+
+#TAGS:
+#	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	sed  -e "s/NCURSES\([WT]\+\)\?_/NCURSES\16_/g" -e "/deprecated in ABI6/d" <  >$@
+
+clean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    menu
+#   subsets:    ticlib+termlib+ext_tinfo+base+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/m_attribs.c \
+	$(srcdir)/m_cursor.c \
+	$(srcdir)/m_driver.c \
+	$(srcdir)/m_format.c \
+	$(srcdir)/m_global.c \
+	$(srcdir)/m_hook.c \
+	$(srcdir)/m_item_cur.c \
+	$(srcdir)/m_item_nam.c \
+	$(srcdir)/m_item_new.c \
+	$(srcdir)/m_item_opt.c \
+	$(srcdir)/m_item_top.c \
+	$(srcdir)/m_item_use.c \
+	$(srcdir)/m_item_val.c \
+	$(srcdir)/m_item_vis.c \
+	$(srcdir)/m_items.c \
+	$(srcdir)/m_new.c \
+	$(srcdir)/m_opts.c \
+	$(srcdir)/m_pad.c \
+	$(srcdir)/m_pattern.c \
+	$(srcdir)/m_post.c \
+	$(srcdir)/m_req_name.c \
+	$(srcdir)/m_scale.c \
+	$(srcdir)/m_spacing.c \
+	$(srcdir)/m_sub.c \
+	$(srcdir)/m_trace.c \
+	$(srcdir)/m_userptr.c \
+	$(srcdir)/m_win.c
+
+# Producing llib-lmenu is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+MENU_SRC = \
+	$(srcdir)/m_attribs.c \
+	$(srcdir)/m_cursor.c \
+	$(srcdir)/m_driver.c \
+	$(srcdir)/m_format.c \
+	$(srcdir)/m_global.c \
+	$(srcdir)/m_hook.c \
+	$(srcdir)/m_item_cur.c \
+	$(srcdir)/m_item_nam.c \
+	$(srcdir)/m_item_new.c \
+	$(srcdir)/m_item_opt.c \
+	$(srcdir)/m_item_top.c \
+	$(srcdir)/m_item_use.c \
+	$(srcdir)/m_item_val.c \
+	$(srcdir)/m_item_vis.c \
+	$(srcdir)/m_items.c \
+	$(srcdir)/m_new.c \
+	$(srcdir)/m_opts.c \
+	$(srcdir)/m_pad.c \
+	$(srcdir)/m_pattern.c \
+	$(srcdir)/m_post.c \
+	$(srcdir)/m_req_name.c \
+	$(srcdir)/m_scale.c \
+	$(srcdir)/m_spacing.c \
+	$(srcdir)/m_sub.c \
+	$(srcdir)/m_trace.c \
+	$(srcdir)/m_userptr.c \
+	$(srcdir)/m_win.c
+
+clean ::
+	rm -f llib-lmenu.*
+
+realclean ::
+	rm -f llib-lmenu
+
+llib-lmenu : $(MENU_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(MENU_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib menu $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(MENU_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          menu
+#  traces:        DEBUG
+#  MODEL:         NORMAL
+#  CXX_MODEL:     NORMAL
+#  model:         objects
+#  prefix:        lib
+#  suffix:        .a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./menu.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+NORMAL_OBJS = \
+	../objects/m_attribs$o \
+	../objects/m_cursor$o \
+	../objects/m_driver$o \
+	../objects/m_format$o \
+	../objects/m_global$o \
+	../objects/m_hook$o \
+	../objects/m_item_cur$o \
+	../objects/m_item_nam$o \
+	../objects/m_item_new$o \
+	../objects/m_item_opt$o \
+	../objects/m_item_top$o \
+	../objects/m_item_use$o \
+	../objects/m_item_val$o \
+	../objects/m_item_vis$o \
+	../objects/m_items$o \
+	../objects/m_new$o \
+	../objects/m_opts$o \
+	../objects/m_pad$o \
+	../objects/m_pattern$o \
+	../objects/m_post$o \
+	../objects/m_req_name$o \
+	../objects/m_scale$o \
+	../objects/m_spacing$o \
+	../objects/m_sub$o \
+	../objects/m_userptr$o \
+	../objects/m_win$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./menu.priv.h
+
+../lib/libmenu.a : $(NORMAL_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.menu :: $(DESTDIR)$(libdir) ../lib/libmenu.a
+	@echo installing ../lib/libmenu.a as $(DESTDIR)$(libdir)/libmenu.a
+	$(INSTALL_DATA) ../lib/libmenu.a $(DESTDIR)$(libdir)/libmenu.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libmenu.a
+
+uninstall \
+uninstall.libs \
+uninstall.menu ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libmenu.a
+	-@rm -f $(DESTDIR)$(libdir)/libmenu.a
+
+clean ::
+	-rm -f ../lib/libmenu.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/m_attribs$o :	$(srcdir)/m_attribs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_attribs.c -o ../objects/m_attribs$o
+
+../objects/m_cursor$o :	$(srcdir)/m_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_cursor.c -o ../objects/m_cursor$o
+
+../objects/m_driver$o :	$(srcdir)/m_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_driver.c -o ../objects/m_driver$o
+
+../objects/m_format$o :	$(srcdir)/m_format.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_format.c -o ../objects/m_format$o
+
+../objects/m_global$o :	$(srcdir)/m_global.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_global.c -o ../objects/m_global$o
+
+../objects/m_hook$o :	$(srcdir)/m_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_hook.c -o ../objects/m_hook$o
+
+../objects/m_item_cur$o :	$(srcdir)/m_item_cur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_cur.c -o ../objects/m_item_cur$o
+
+../objects/m_item_nam$o :	$(srcdir)/m_item_nam.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_nam.c -o ../objects/m_item_nam$o
+
+../objects/m_item_new$o :	$(srcdir)/m_item_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_new.c -o ../objects/m_item_new$o
+
+../objects/m_item_opt$o :	$(srcdir)/m_item_opt.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_opt.c -o ../objects/m_item_opt$o
+
+../objects/m_item_top$o :	$(srcdir)/m_item_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_top.c -o ../objects/m_item_top$o
+
+../objects/m_item_use$o :	$(srcdir)/m_item_use.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_use.c -o ../objects/m_item_use$o
+
+../objects/m_item_val$o :	$(srcdir)/m_item_val.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_val.c -o ../objects/m_item_val$o
+
+../objects/m_item_vis$o :	$(srcdir)/m_item_vis.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_vis.c -o ../objects/m_item_vis$o
+
+../objects/m_items$o :	$(srcdir)/m_items.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_items.c -o ../objects/m_items$o
+
+../objects/m_new$o :	$(srcdir)/m_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_new.c -o ../objects/m_new$o
+
+../objects/m_opts$o :	$(srcdir)/m_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_opts.c -o ../objects/m_opts$o
+
+../objects/m_pad$o :	$(srcdir)/m_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_pad.c -o ../objects/m_pad$o
+
+../objects/m_pattern$o :	$(srcdir)/m_pattern.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_pattern.c -o ../objects/m_pattern$o
+
+../objects/m_post$o :	$(srcdir)/m_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_post.c -o ../objects/m_post$o
+
+../objects/m_req_name$o :	$(srcdir)/m_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_req_name.c -o ../objects/m_req_name$o
+
+../objects/m_scale$o :	$(srcdir)/m_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_scale.c -o ../objects/m_scale$o
+
+../objects/m_spacing$o :	$(srcdir)/m_spacing.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_spacing.c -o ../objects/m_spacing$o
+
+../objects/m_sub$o :	$(srcdir)/m_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_sub.c -o ../objects/m_sub$o
+
+../objects/m_userptr$o :	$(srcdir)/m_userptr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_userptr.c -o ../objects/m_userptr$o
+
+../objects/m_win$o :	$(srcdir)/m_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_win.c -o ../objects/m_win$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          menu
+#  traces:        DEBUG
+#  MODEL:         DEBUG
+#  CXX_MODEL:     DEBUG
+#  model:         obj_g
+#  prefix:        lib
+#  suffix:        _g.a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./menu.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+DEBUG_OBJS = \
+	../obj_g/m_attribs$o \
+	../obj_g/m_cursor$o \
+	../obj_g/m_driver$o \
+	../obj_g/m_format$o \
+	../obj_g/m_global$o \
+	../obj_g/m_hook$o \
+	../obj_g/m_item_cur$o \
+	../obj_g/m_item_nam$o \
+	../obj_g/m_item_new$o \
+	../obj_g/m_item_opt$o \
+	../obj_g/m_item_top$o \
+	../obj_g/m_item_use$o \
+	../obj_g/m_item_val$o \
+	../obj_g/m_item_vis$o \
+	../obj_g/m_items$o \
+	../obj_g/m_new$o \
+	../obj_g/m_opts$o \
+	../obj_g/m_pad$o \
+	../obj_g/m_pattern$o \
+	../obj_g/m_post$o \
+	../obj_g/m_req_name$o \
+	../obj_g/m_scale$o \
+	../obj_g/m_spacing$o \
+	../obj_g/m_sub$o \
+	../obj_g/m_trace$o \
+	../obj_g/m_userptr$o \
+	../obj_g/m_win$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./menu.priv.h
+
+../lib/libmenu_g.a : $(DEBUG_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.menu :: $(DESTDIR)$(libdir) ../lib/libmenu_g.a
+	@echo installing ../lib/libmenu_g.a as $(DESTDIR)$(libdir)/libmenu_g.a
+	$(INSTALL_DATA) ../lib/libmenu_g.a $(DESTDIR)$(libdir)/libmenu_g.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libmenu_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.menu ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libmenu_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libmenu_g.a
+
+clean ::
+	-rm -f ../lib/libmenu_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/m_attribs$o :	$(srcdir)/m_attribs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_attribs.c -o ../obj_g/m_attribs$o
+
+../obj_g/m_cursor$o :	$(srcdir)/m_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_cursor.c -o ../obj_g/m_cursor$o
+
+../obj_g/m_driver$o :	$(srcdir)/m_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_driver.c -o ../obj_g/m_driver$o
+
+../obj_g/m_format$o :	$(srcdir)/m_format.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_format.c -o ../obj_g/m_format$o
+
+../obj_g/m_global$o :	$(srcdir)/m_global.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_global.c -o ../obj_g/m_global$o
+
+../obj_g/m_hook$o :	$(srcdir)/m_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_hook.c -o ../obj_g/m_hook$o
+
+../obj_g/m_item_cur$o :	$(srcdir)/m_item_cur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_cur.c -o ../obj_g/m_item_cur$o
+
+../obj_g/m_item_nam$o :	$(srcdir)/m_item_nam.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_nam.c -o ../obj_g/m_item_nam$o
+
+../obj_g/m_item_new$o :	$(srcdir)/m_item_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_new.c -o ../obj_g/m_item_new$o
+
+../obj_g/m_item_opt$o :	$(srcdir)/m_item_opt.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_opt.c -o ../obj_g/m_item_opt$o
+
+../obj_g/m_item_top$o :	$(srcdir)/m_item_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_top.c -o ../obj_g/m_item_top$o
+
+../obj_g/m_item_use$o :	$(srcdir)/m_item_use.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_use.c -o ../obj_g/m_item_use$o
+
+../obj_g/m_item_val$o :	$(srcdir)/m_item_val.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_val.c -o ../obj_g/m_item_val$o
+
+../obj_g/m_item_vis$o :	$(srcdir)/m_item_vis.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_vis.c -o ../obj_g/m_item_vis$o
+
+../obj_g/m_items$o :	$(srcdir)/m_items.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_items.c -o ../obj_g/m_items$o
+
+../obj_g/m_new$o :	$(srcdir)/m_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_new.c -o ../obj_g/m_new$o
+
+../obj_g/m_opts$o :	$(srcdir)/m_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_opts.c -o ../obj_g/m_opts$o
+
+../obj_g/m_pad$o :	$(srcdir)/m_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_pad.c -o ../obj_g/m_pad$o
+
+../obj_g/m_pattern$o :	$(srcdir)/m_pattern.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_pattern.c -o ../obj_g/m_pattern$o
+
+../obj_g/m_post$o :	$(srcdir)/m_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_post.c -o ../obj_g/m_post$o
+
+../obj_g/m_req_name$o :	$(srcdir)/m_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_req_name.c -o ../obj_g/m_req_name$o
+
+../obj_g/m_scale$o :	$(srcdir)/m_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_scale.c -o ../obj_g/m_scale$o
+
+../obj_g/m_spacing$o :	$(srcdir)/m_spacing.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_spacing.c -o ../obj_g/m_spacing$o
+
+../obj_g/m_sub$o :	$(srcdir)/m_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_sub.c -o ../obj_g/m_sub$o
+
+../obj_g/m_trace$o :	$(srcdir)/m_trace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_trace.c -o ../obj_g/m_trace$o
+
+../obj_g/m_userptr$o :	$(srcdir)/m_userptr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_userptr.c -o ../obj_g/m_userptr$o
+
+../obj_g/m_win$o :	$(srcdir)/m_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_win.c -o ../obj_g/m_win$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/eti.h \
+		$(srcdir)/menu.h
+	@ (cd ${INCLUDEDIR} && rm -f eti.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/eti.h
+	@ (cd ${INCLUDEDIR} && rm -f menu.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/menu.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f eti.h)
+	-@ (cd ${INCLUDEDIR} && rm -f menu.h)
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/misc/Makefile b/misc/Makefile
new file mode 100644
index 0000000..960575c
--- /dev/null
+++ b/misc/Makefile
@@ -0,0 +1,169 @@
+# $Id: Makefile.in,v 1.63 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses miscellany directory
+#
+# This makes/installs the terminfo database
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+# and the programs with the configured default model.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES :
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+CF_MFLAGS 	= 
+
+
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+tabsetdir	= $(datadir)/tabset
+ticdir		= /system/etc/terminfo
+ticfile		= $(ticdir).db
+source		= ${top_srcdir}/misc/terminfo.src
+
+INSTALL		= /usr/bin/install -c
+INSTALL_PROGRAM	= ${INSTALL}
+INSTALL_SCRIPT	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+
+PKG_CONFIG_LIBDIR = /usr/lib/x86_64-linux-gnu/pkgconfig
+
+################################################################################
+all :	terminfo.tmp
+
+depend :
+
+sources :: terminfo.tmp 
+
+install : install.data install.libs
+
+install.data :	terminfo.tmp \
+		$(DESTDIR)$(libdir) \
+		$(DESTDIR)$(datadir) \
+		$(DESTDIR)$(tabsetdir)
+	DESTDIR=${DESTDIR} \
+	prefix=${prefix} \
+	exec_prefix=${exec_prefix} \
+	bindir=${bindir} \
+	top_srcdir=${top_srcdir} \
+	srcdir=${srcdir} \
+	datadir=${datadir} \
+	ticdir=${ticdir} \
+	source=terminfo.tmp \
+	cross_compiling=yes \
+	$(SHELL) ./run_tic.sh
+	@cd $(srcdir)/tabset && \
+		$(SHELL) -c 'for i in * ; do \
+			if test -f $$i ; then \
+			echo installing $$i; \
+			$(INSTALL_DATA) $$i $(DESTDIR)$(tabsetdir)/$$i; \
+			fi; done'
+
+NCURSES_CONFIG	= ncurses6-config
+
+install.libs :: $(DESTDIR)$(bindir) ncurses-config
+	$(INSTALL_SCRIPT) ncurses-config $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
+
+#install.libs :: pc-files $(DESTDIR)$(PKG_CONFIG_LIBDIR)
+#	$(SHELL) -c 'for name in *.pc; do $(INSTALL_DATA) $$name $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; done'
+
+#sources :: pc-files
+#pc-files :
+#	$(SHELL) ./gen-pkgconfig
+#	touch $@
+
+terminfo.tmp : run_tic.sed $(source)
+	echo '** adjusting tabset paths'
+	sed -f run_tic.sed $(source) >terminfo.tmp
+
+run_tic.sed :
+	WHICH_XTERM=xterm-new \
+	XTERM_KBS=BS \
+	datadir=${datadir} \
+	$(SHELL) $(srcdir)/gen_edit.sh >$@
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) \
+$(DESTDIR)$(datadir) \
+$(DESTDIR)$(tabsetdir) \
+$(DESTDIR)$(PKG_CONFIG_LIBDIR) :
+	mkdir -p $@
+
+uninstall : uninstall.data uninstall.libs
+
+uninstall.data :
+	-test -d $(DESTDIR)$(tabsetdir) && rm -rf $(DESTDIR)$(tabsetdir)
+	-test -d $(DESTDIR)$(ticdir) && rm -rf $(DESTDIR)$(ticdir)
+	-test -f $(DESTDIR)$(ticfile) && rm -f $(DESTDIR)$(ticfile)
+
+uninstall.libs :
+	-rm -f $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
+#	$(SHELL) -c 'for name in *.pc; do rm -f $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; done'
+
+tags :
+
+#TAGS :
+
+mostlyclean :
+	-rm -f terminfo.tmp
+	-rm -f run_tic.sed
+#	-rm -f *.pc pc-files
+	-rm -f core tags TAGS *~ *.bak *.ln *.atac trace
+
+clean :: mostlyclean
+
+distclean : clean
+#	-rm -f gen-pkgconfig
+	-rm -f Makefile run_tic.sh ncurses-config
+
+realclean : distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
diff --git a/misc/ncurses-config b/misc/ncurses-config
new file mode 100644
index 0000000..657ea53
--- /dev/null
+++ b/misc/ncurses-config
@@ -0,0 +1,201 @@
+#!/bin/sh
+# $Id: ncurses-config.in,v 1.35 2015/04/22 00:54:19 tom Exp $
+##############################################################################
+# Copyright (c) 2006-2012,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey, 2006-on
+
+LANG=C;		export LANG
+LANGUAGE=C;	export LANGUAGE
+LC_ALL=C;	export LC_ALL
+LC_CTYPE=C;	export LC_CTYPE
+
+prefix="/system"
+exec_prefix="${prefix}"
+
+bindir="${exec_prefix}/bin"
+includedir="${prefix}/include"
+libdir="${exec_prefix}/lib"
+datarootdir="${prefix}/share"
+datadir="${datarootdir}"
+mandir="${datarootdir}/man"
+
+THIS="ncurses"
+TINFO_LIB="ncurses"
+RPATH_LIST="${libdir}"
+
+includesubdir="${prefix}/include/${THIS}"
+
+# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
+# We cannot filter it out within the build-process since the variable is used
+# in some special cases of installation using a relative path.
+if test -n "$RPATH_LIST"
+then
+	save_IFS="$IFS"
+	IFS=':'
+	filtered=
+	for item in $RPATH_LIST
+	do
+		case "$item" in
+		./*|../*|*/..|*/../*)
+			;;
+		*)
+			test -n "$filtered" && filtered="${filtered}:"
+			filtered="${filtered}${item}"
+			;;
+		esac
+	done
+	IFS="$save_IFS"
+	# if the result is empty, there is little we can do to fix it
+	RPATH_LIST="$filtered"
+fi
+
+# with --disable-overwrite, we installed into a subdirectory, but transformed
+# the headers to include like this:
+#	<ncurses/curses.h>
+if test xno = xno ; then
+	case $includedir in
+	$prefix/include/ncurses)
+		includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'`
+		;;
+	esac
+fi
+
+test $# = 0 && exec /bin/sh $0 --error
+
+while test $# -gt 0; do
+	case "$1" in
+	# basic configuration
+	--prefix)
+		echo "$prefix"
+		;;
+	--exec-prefix)
+		echo "$exec_prefix"
+		;;
+	# compile/link
+	--cflags)
+		INCS=" -D_XOPEN_SOURCE=500"
+		if test "xno" = xno ; then
+			INCS="$INCS -I${includesubdir}"
+		fi
+		if test "${includedir}" != /usr/include ; then
+			INCS="$INCS -I${includedir}"
+		fi
+		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+			$INCS
+ENDECHO
+		;;
+	--libs)
+		if test "$libdir" = /usr/lib
+		then
+			LIBDIR=
+		else
+			LIBDIR=-L$libdir
+		fi
+		if test ncurses = ncurses ; then
+		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+			$LIBDIR  -l${THIS} 
+ENDECHO
+		else
+		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+			$LIBDIR  -l${THIS} -l${TINFO_LIB} 
+ENDECHO
+		fi
+		;;
+	# identification
+	--version)
+		echo "6.0.20150808"
+		;;
+	--abi-version)
+		echo "6"
+		;;
+	--mouse-version)
+		echo "2"
+		;;
+	# locations
+	--bindir)
+		echo "${bindir}"
+		;;
+	--datadir)
+		echo "${datadir}"
+		;;
+	--includedir)
+		echo "${includedir}"
+		;;
+	--libdir)
+		echo "${libdir}"
+		;;
+	--mandir)
+		echo "${mandir}"
+		;;
+	--terminfo)
+		echo "/system/etc/terminfo"
+		;;
+	--terminfo-dirs)
+		echo "/system/etc/terminfo"
+		;;
+	--termpath)
+		echo ""
+		;;
+	# general info
+	--help)
+		cat <<ENDHELP
+Usage: `basename $0` [options]
+
+Options:
+  --prefix           echos the package-prefix of ${THIS}
+  --exec-prefix      echos the executable-prefix of ${THIS}
+
+  --cflags           echos the C compiler flags needed to compile with ${THIS}
+  --libs             echos the libraries needed to link with ${THIS}
+
+  --version          echos the release+patchdate version of ${THIS}
+  --abi-version      echos the ABI version of ${THIS}
+  --mouse-version    echos the mouse-interface version of ${THIS}
+
+  --bindir           echos the directory containing ${THIS} programs
+  --datadir          echos the directory containing ${THIS} data
+  --includedir       echos the directory containing ${THIS} header files
+  --libdir           echos the directory containing ${THIS} libraries
+  --mandir           echos the directory containing ${THIS} manpages
+  --terminfo         echos the \$TERMINFO terminfo database path
+  --terminfo-dirs    echos the \$TERMINFO_DIRS directory list
+  --termpath         echos the \$TERMPATH termcap list
+
+  --help             prints this message
+ENDHELP
+		;;
+	--error|*)
+		/bin/sh $0 --help 1>&2
+		exit 1
+		;;
+	esac
+	shift
+done
+# vi:ts=4 sw=4
+# vile:shmode
diff --git a/misc/run_tic.sed b/misc/run_tic.sed
new file mode 100644
index 0000000..f1bb900
--- /dev/null
+++ b/misc/run_tic.sed
@@ -0,0 +1 @@
+s%/usr/share/tabset%/system/share/tabset%g
diff --git a/misc/run_tic.sh b/misc/run_tic.sh
new file mode 100644
index 0000000..20251c3
--- /dev/null
+++ b/misc/run_tic.sh
@@ -0,0 +1,201 @@
+#!/bin/sh
+# $Id: run_tic.in,v 1.34 2012/10/06 19:00:51 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# This script is used to install terminfo.src using tic.  We use a script
+# because the path checking is too awkward to do in a makefile.
+#
+# Assumes:
+#	The leaf directory names (lib, tabset, terminfo)
+#
+echo '** Building terminfo database, please wait...'
+#
+# The script is designed to be run from the misc/Makefile as
+#	make install.data
+
+: ${suffix:=}
+: ${DESTDIR:=}
+: ${prefix:=/system}
+: ${exec_prefix:=${prefix}}
+: ${bindir:=${exec_prefix}/bin}
+: ${top_srcdir:=..}
+: ${srcdir:=.}
+: ${datarootdir:=${prefix}/share}
+: ${datadir:=${datarootdir}}
+: ${TIC_PATH:=/usr/bin/tic}
+: ${ticdir:=/system/etc/terminfo}
+: ${source:=${top_srcdir}/misc/terminfo.src}
+: ${LN_S:="ln -s -f"}
+: ${cross_compiling:=no}
+: ${ext_funcs:=1}
+
+test -z "${DESTDIR}" && DESTDIR=
+
+# Allow tic to run either from the install-path, or from the build-directory.
+# Do not do this if we appear to be cross-compiling.  In that case, we rely
+# on the host's copy of tic to compile the terminfo database.
+if test "x$cross_compiling" = "xno"
+then
+	if test -f ../progs/tic$suffix
+	then
+		case "$PATH" in
+		\:*)
+			PATH="../progs:../lib:${DESTDIR}$bindir$PATH"
+			;;
+		*)
+			PATH="../progs:../lib:${DESTDIR}$bindir:$PATH"
+			;;
+		esac
+		export PATH
+		if test normal = shared
+		then
+			SHLIB="sh $srcdir/shlib"
+			TIC_PATH="$SHLIB tic"
+		else
+			TIC_PATH="tic"
+		fi
+	elif test "$TIC_PATH" = unknown
+	then
+		echo '? no tic program found'
+		exit 1
+	fi
+else
+	# Cross-compiling, so don't set PATH or run shlib.
+	SHLIB=
+	# reset $suffix, since it applies to the target, not the build platform.
+	suffix=
+fi
+
+
+# set another env var that doesn't get reset when `shlib' runs, so `shlib' uses
+# the PATH we just set.
+SHLIB_PATH=$PATH
+export SHLIB_PATH
+
+# set a variable to simplify environment update in shlib
+SHLIB_HOST=linux-androideabi
+export SHLIB_HOST
+
+# don't use user's TERMINFO variable
+TERMINFO=${DESTDIR}$ticdir ; export TERMINFO
+umask 022
+
+# Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
+TICDIR=`echo $TERMINFO | sed -e 's%/share/\([^/]*\)$%/lib/\1%'`
+
+# Parent directory may not exist, which would confuse the install for hashed
+# database.  Fix.
+PARENT=`echo "$TERMINFO" | sed -e 's%/[^/]*$%%'`
+if test -n "$PARENT"
+then
+	test -d $PARENT || mkdir -p $PARENT
+fi
+
+# Remove the old terminfo stuff; we don't care if it existed before, and it
+# would generate a lot of confusing error messages if we tried to overwrite it.
+# We explicitly remove its contents rather than the directory itself, in case
+# the directory is actually a symbolic link.
+( test -d "$TERMINFO" && cd $TERMINFO && rm -fr ? 2>/dev/null )
+
+if test "$ext_funcs" = 1 ; then
+cat <<EOF
+Running $TIC_PATH to install $TERMINFO ...
+
+	You may see messages regarding extended capabilities, e.g., AX.
+	These are extended terminal capabilities which are compiled
+	using
+		tic -x
+	If you have ncurses 4.2 applications, you should read the INSTALL
+	document, and install the terminfo without the -x option.
+
+EOF
+if ( $TIC_PATH -x -s -o $TERMINFO $source )
+then
+	echo '** built new '$TERMINFO
+else
+	echo '? tic could not build '$TERMINFO
+	exit 1
+fi
+else
+cat <<EOF
+Running $TIC_PATH to install $TERMINFO ...
+
+	You may see messages regarding unknown capabilities, e.g., AX.
+	These are extended terminal capabilities which may be compiled
+	using
+		tic -x
+	If you have ncurses 4.2 applications, you should read the INSTALL
+	document, and install the terminfo without the -x option.
+
+EOF
+if ( $TIC_PATH -s -o $TERMINFO $source )
+then
+	echo '** built new '$TERMINFO
+else
+	echo '? tic could not build '$TERMINFO
+	exit 1
+fi
+fi
+
+# Make a symbolic link to provide compatibility with applications that expect
+# to find terminfo under /usr/lib.  That is, we'll _try_ to do that.  Not
+# all systems support symbolic links, and those that do provide a variety
+# of options for 'test'.
+if test "$TICDIR" != "$TERMINFO" ; then
+	( rm -f $TICDIR 2>/dev/null )
+	if ( cd $TICDIR 2>/dev/null )
+	then
+		cd $TICDIR
+		TICDIR=`pwd`
+		if test $TICDIR != $TERMINFO ; then
+			# Well, we tried.  Some systems lie to us, so the
+			# installer will have to double-check.
+			echo "Verify if $TICDIR and $TERMINFO are the same."
+			echo "The new terminfo is in $TERMINFO; the other should be a link to it."
+			echo "Otherwise, remove $TICDIR and link it to $TERMINFO."
+		fi
+	else
+		cd ${DESTDIR}$prefix
+		# Construct a symbolic link that only assumes $ticdir has the
+		# same $prefix as the other installed directories.
+		RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'`
+		if test "$RELATIVE" != "$ticdir" ; then
+			RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'`
+		fi
+		if ( ln -s -f $RELATIVE $TICDIR )
+		then
+			echo '** sym-linked '$TICDIR' for compatibility'
+		else
+			echo '** could not sym-link '$TICDIR' for compatibility'
+		fi
+	fi
+fi
+# vile:shmode
diff --git a/misc/terminfo.tmp b/misc/terminfo.tmp
new file mode 100644
index 0000000..9bf616d
--- /dev/null
+++ b/misc/terminfo.tmp
@@ -0,0 +1,23705 @@
+######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
+#
+# This version of terminfo.src is distributed with ncurses and is maintained
+# by Thomas E. Dickey (TD).
+#
+# Report bugs and new terminal descriptions to
+#	bug-ncurses@gnu.org
+#
+#	$Revision: 1.549 $
+#	$Date: 2015/07/25 19:27:20 $
+#
+# The original header is preserved below for reference.  It is noted that there
+# is a "newer" version which differs in some cosmetic details (but actually
+# stopped updates several years ago); we have decided to not change the header
+# unless there is also a change in content.
+#
+# To further muddy the waters, it is noted that changes to this file as part of
+# maintenance of ncurses (since 1996) are generally conceded to be copyright
+# under the ncurses MIT-style license.  That was the effect of the agreement
+# which the principal authors of ncurses made in 1998.  However, since much of
+# the file itself is of unknown authorship (and the disclaimer below makes it
+# obvious that Raymond cannot or will not convey rights over those parts),
+# there is no explicit copyright notice on the file itself.
+#
+# It would also be a nuisance to split the file into unknown/known authorship
+# and move pieces as they are maintained, since many of the maintenance changes
+# have been small corrections to Raymond's translations to/from termcap format,
+# correcting the data but not the accompanying annotations.
+#
+# In any case, note that almost half of this file is not data but annotations
+# which reflect creative effort.  Furthermore, the structure of entries to
+# reuse common chunks also is creative (and subject to copyright).  Finally,
+# some portions of the data are derivative work under a compatible MIT-style
+# license from xterm.
+#
+#------------------------------------------------------------------------------
+#	Version 10.2.1
+#	terminfo syntax
+#
+#	Eric S. Raymond		(current maintainer)
+#	John Kunze, Berkeley
+#	Craig Leres, Berkeley
+#
+# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
+# address is no longer valid.  The latest version can always be found at
+# <http://www.tuxedo.org/terminfo>.
+#
+# PURPOSE OF THIS FILE:
+#
+# This file describes the capabilities of various character-cell terminals,
+# as needed by software such as screen-oriented editors.
+#
+# Other terminfo and termcap files exist, supported by various OS vendors
+# or as relics of various older versions of UNIX.  This one is the longest
+# and most comprehensive one in existence.  It subsumes not only the entirety
+# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL
+# termcap file, but also large numbers of vendor-maintained termcap and
+# terminfo entries more complete and carefully tested than those in historical
+# termcap/terminfo versions.
+#
+# Pointers to related resources (including the ncurses distribution) may
+# be found at <http://www.tuxedo.org/terminfo>.
+#
+# INTERNATIONALIZATION:
+#
+# This file uses only the US-ASCII character set (no ISO8859 characters).
+#
+# This file assumes a US-ASCII character set. If you need to fix this, start
+# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
+# for your character set.  \E(A and \E)A enables the British character set
+# with the pound sign at position 2/3.
+#
+# In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
+# C1 characters are considered the first-byte set of the Japanese encodings,
+# so \E)0 should be avoided in <enacs> and initialization strings.
+#
+# FILE FORMAT:
+#
+# The version you are looking at may be in any of three formats: master
+# (terminfo with OT capabilities), stock terminfo, or termcap.  You can tell
+# which by the format given in the header above.
+#
+# The master format is accepted and generated by the terminfo tools in the
+# ncurses suite; it differs from stock (System V-compatible) terminfo only
+# in that it admits a group of capabilities (prefixed `OT') equivalent to
+# various obsolete termcap capabilities.  You can, thus, convert from master
+# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if
+# you have ncurses `tic -I' is nicer (among other things, it automatically
+# outputs entries in a canonical form).
+#
+# The termcap version is generated automatically from the master version
+# using tic -C.  This filtering leaves in the OT capabilities under their
+# original termcap names.  All translated entries fit within the 1023-byte
+# string-table limit of archaic termcap libraries except where explicitly
+# noted below.  Note that the termcap translation assumes that your termcap
+# library can handle multiple tc capabilities in an entry. 4.4BSD has this
+# capability.  Older versions of GNU termcap, through 1.3, do not.
+#
+# For details on these formats, see terminfo(5) in the ncurses distribution,
+# and termcap(5) in the 4.4BSD Unix Programmer's Manual.  Be aware that 4.4BSD
+# curses has been declared obsolete by the caretakers of the 4.4BSD sources
+# as of June 1995; they are encouraging everyone to migrate to ncurses.
+#
+# Note: unlike some other distributed terminfo files (Novell Unix & SCO's),
+# no entry in this file has embedded comments.  This is so source translation
+# to termcap only has to carry over leading comments.  Also, no name field
+# contains embedded whitespace (such whitespace confuses rdist).
+#
+# Further note: older versions of this file were often installed with an editor
+# script (reorder) that moved the most common terminal types to the front of
+# the file.  This should no longer be necessary, as the file is now ordered
+# roughly by type frequency with ANSI/VT100 and other common types up front.
+#
+# Some information has been merged in from terminfo files distributed by
+# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below).  Much information
+# comes from vendors who maintain official terminfos for their hardware
+# (notably DEC and Wyse).
+#
+# A detailed change history is included at the end of this file.
+#
+# FILE ORGANIZATION:
+#
+# Comments in this file begin with # - they cannot appear in the middle
+# of a terminfo/termcap entry (this feature had to be sacrificed in order
+# to allow standard terminfo and termcap syntax to be generated cleanly from
+# the master format).  Individual capabilities are commented out by
+# placing a period between the colon and the capability name.
+#
+# The file is divided up into major sections (headed by lines beginning with
+# the string "########") and minor sections (beginning with "####"); do
+#
+#	grep "^####" <file> | more
+#
+# to see a listing of section headings.  The intent of the divisions is
+# (a) to make it easier to find things, and (b) to order the database so
+# that important and frequently-encountered terminal types are near the
+# front (so that you'll get reasonable search efficiency from a linear
+# search of the termcap form even if you don't use reorder).  Minor sections
+# usually correspond to manufacturers or standard terminal classes.
+# Parenthesized words following manufacturer names are type prefixes or
+# product line names used by that manufacturers.
+#
+# HOW TO READ THE ENTRIES:
+#
+# The first name in an entry is the canonical name for the model or
+# type, last entry is a verbose description.  Others are mnemonic synonyms for
+# the terminal.
+#
+# Terminal names look like <manufacturer> <model> - <modes/options>
+# The part to the left of the dash, if a dash is present, describes the
+# particular hardware of the terminal.  The part to the right may be used
+# for flags indicating special ROMs, extra memory, particular terminal modes,
+# or user preferences.
+#
+# All names should be in lower case, for consistency in typing.
+#
+# The following are conventionally used suffixes:
+#	-2p	Has two pages of memory.  Likewise 4p, 8p, etc.
+#	-am	Enable auto-margin.
+#	-m	Monochrome.  Suppress color support
+#	-mc	Magic-cookie.  Some terminals (notably older Wyses) can
+#		only support one attribute without magic-cookie lossage.
+#		Their base entry is usually paired with another that
+#		uses magic cookies to support multiple attributes.
+#	-nam	No auto-margin - suppress <am> capability
+#	-nl	No labels - suppress soft labels
+#	-ns	No status line - suppress status line
+#	-rv	Terminal in reverse video mode (black on white)
+#	-s	Enable status line.
+#	-vb	Use visible bell (<flash>) rather than <bel>.
+#	-w	Wide - in 132 column mode.
+# If a name has multiple suffixes and one is a line height, that one should
+# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
+#
+# Entries with embedded plus signs are designed to be included through use/tc
+# capabilities, not used as standalone entries.
+#
+# To avoid search clashes, some older all-numeric names for terminals have
+# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
+# All primary names of terminals now have alphanumeric prefixes.
+#
+# Comments marked "esr" are mostly results of applying the termcap-compiler
+# code packaged with ncurses and contemplating the resulting error messages.
+# In many cases, these indicated obvious fixes to syntax garbled by the
+# composers.  In a few cases, I was able to deduce corrected forms for garbled
+# capabilities by looking at context.  All the information in the original
+# entries is preserved in the comments.
+#
+# In the comments, terminfo capability names are bracketed with <> (angle
+# brackets).  Termcap capability names are bracketed with :: (colons).
+#
+# INTERPRETATION OF USER CAPABILITIES
+#
+# The System V Release 4 and XPG4 terminfo format defines ten string
+# capabilities for use by applications, <u0>...<u9>.   In this file, we use
+# certain of these capabilities to describe functions which are not covered
+# by terminfo.  The mapping is as follows:
+#
+#	u9	terminal enquire string (equiv. to ANSI/ECMA-48 DA)
+#	u8	terminal answerback description
+#	u7	cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6)
+#	u6	cursor position report (equiv. to ANSI/ECMA-48 CPR)
+#
+# The terminal enquire string <u9> should elicit an answerback response
+# from the terminal.  Common values for <u9> will be ^E (on older ASCII
+# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals).
+#
+# The cursor position request (<u7>) string should elicit a cursor position
+# report.  A typical value (for VT100 terminals) is \E[6n.
+#
+# The terminal answerback description (u8) must consist of an expected
+# answerback string.  The string may contain the following scanf(3)-like
+# escapes:
+#
+#	%c	Accept any character
+#	%[...]	Accept any number of characters in the given set
+#
+# The cursor position report (<u6>) string must contain two scanf(3)-style
+# %d format elements.  The first of these must correspond to the Y coordinate
+# and the second to the %d.  If the string contains the sequence %i, it is
+# taken as an instruction to decrement each value after reading it (this is
+# the inverse sense from the cup string).  The typical CPR value is
+# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
+#
+# These capabilities are used by tack(1m), the terminfo action checker
+# (distributed with ncurses 5.0).
+#
+# TABSET FILES
+#
+# All the entries in this file have been edited to assume that the tabset
+# files directory is /system/share/tabset, in conformance with the File Hierarchy
+# Standard for Linux and open-source BSD systems.  Some vendors (notably Sun)
+# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
+#
+# No curses package we know of actually uses these files.  If their location
+# is an issue, you will have to hand-patch the file locations before compiling
+# this file.
+#
+# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
+#
+# As the ANSI/ECMA-48 standard and variants take firmer hold, and as
+# character-cell terminals are increasingly replaced by X displays, much of
+# this file is becoming a historical document (this is part of the reason for
+# the new organization, which puts ANSI types, xterm, Unix consoles,
+# and vt100 up front in confidence that this will catch 95% of new hardware).
+#
+# For the terminal types still alive, I'd like to have manufacturer's
+# contact data (Internet address and/or snail-mail + phone).
+#
+# I'm also interested in enriching the comments so that the latter portions of
+# the file do in fact become a potted history of VDT technology as seen by
+# UNIX hackers.  Ideally, I'd like the headers for each manufacturer to
+# include its live/dead/out-of-the-business status, and for as many
+# terminal types as possible to be tagged with information like years
+# of heaviest use, popularity, and interesting features.
+#
+# I'm especially interested in identifying the obscure entries listed under
+# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
+# wisdom about them gets lost.  If you know a lot about obscure old terminals,
+# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
+# eyeball it for things you can identify and describe.
+#
+# If you have been around long enough to contribute, please read the file
+# with this in mind and send me your annotations.
+#
+# COPYRIGHTS AND OTHER DELUSIONS
+#
+# The BSD ancestor of this file had a standard Regents of the University of
+# California copyright with dates from 1980 to 1993.
+#
+# Some information has been merged in from a terminfo file SCO distributes.
+# It has an obnoxious boilerplate copyright which I'm ignoring because they
+# took so much of the content from the ancestral BSD versions of this file
+# and didn't attribute it, thereby violating the BSD Regents' copyright.
+#
+# Not that anyone should care.  However many valid functions copyrights may
+# serve, putting one on a termcap/terminfo file with hundreds of anonymous
+# contributors makes about as much sense as copyrighting a wall-full of
+# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
+#
+# This file deliberately has no copyright.  It belongs to no one and everyone.
+# If you claim you own it, you will merely succeed in looking like a fool.
+# Use it as you like.  Use it at your own risk.  Copy and redistribute freely.
+# There are no guarantees anywhere.  Svaha!
+#
+
+######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES
+#
+# This section describes terminal classes and brands that are still
+# quite common.
+#
+
+#### Specials
+#
+# Special "terminals".  These are used to label tty lines when you don't
+# know what kind of terminal is on it.  The characteristics of an unknown
+# terminal are the lowest common denominator - they look about like a ti 700.
+#
+
+dumb|80-column dumb tty,
+	am,
+	cols#80,
+	bel=^G, cr=^M, cud1=^J, ind=^J,
+unknown|unknown terminal type,
+	gn, use=dumb,
+lpr|printer|line printer,
+	OTbs, hc, os,
+	cols#132, lines#66,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ind=^J,
+glasstty|classic glass tty interpreting ASCII control characters,
+	OTbs, am,
+	cols#80,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ht=^I, kcub1=^H,
+	kcud1=^J, nel=^M^J, .kbs=^H,
+
+vanilla|dumb tty,
+	OTbs,
+	bel=^G, cr=^M, cud1=^J, ind=^J,
+
+# This is almost the same as "dumb", but with no prespecified width.
+# DEL and ^C are hardcoded to act as kill characters.
+# ^D acts as a line break (just like newline).
+# It also interprets
+#      \033];xxx\007
+# for compatibility with xterm -TD
+9term|Plan9 terminal emulator for X,
+	am,
+	OTnl=^J, bel=^G, cud1=^J,
+
+#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
+#
+# See the end-of-file comment for more on these.
+#
+
+# ANSI capabilities are broken up into pieces, so that a terminal
+# implementing some ANSI subset can use many of them.
+ansi+local1,
+	cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A,
+ansi+local,
+	cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+	cuu=\E[%p1%dA, use=ansi+local1,
+ansi+tabs,
+	cbt=\E[Z, ht=^I, hts=\EH, tbc=\E[3g,
+ansi+inittabs,
+	it#8, use=ansi+tabs,
+ansi+erase,
+	clear=\E[H\E[J, ed=\E[J, el=\E[K,
+ansi+rca,
+	hpa=\E[%p1%{1}%+%dG, vpa=\E[%p1%{1}%+%dd,
+ansi+cup,
+	cup=\E[%i%p1%d;%p2%dH, home=\E[H,
+ansi+rep,
+	rep=%p1%c\E[%p2%{1}%-%db,
+ansi+idl1,
+	dl1=\E[M, il1=\E[L,
+ansi+idl,
+	dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1,
+ansi+idc,
+	dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@, rmir=\E6, smir=\E6,
+ansi+arrows,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	khome=\E[H,
+ansi+sgr|ansi graphic renditions,
+	blink=\E[5m, invis=\E[8m, rev=\E[7m,
+	sgr=\E[0%?%p3%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E[0m,
+ansi+sgrso|ansi standout only,
+	rmso=\E[m, smso=\E[7m,
+ansi+sgrul|ansi underline only,
+	rmul=\E[m, smul=\E[4m,
+ansi+sgrbold|ansi graphic renditions; assuming terminal has bold; not dim,
+	bold=\E[1m,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
+	use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+ansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold,
+	dim=\E[2m,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m,
+	use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+ansi+csr|ansi scroll-region plus cursor save & restore,
+	csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
+
+# The normal (ANSI) flavor of "media copy" building block asserts that
+# characters sent to the printer do not echo on the screen. DEC terminals
+# can also be put into autoprinter mode, where each line is sent to the
+# printer as you move off that line, e.g., by a carriage return.
+ansi+pp|ansi printer port,
+	mc5i,
+	mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
+dec+pp|DEC autoprinter mode,
+	mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i,
+
+# The IBM PC alternate character set.  Plug this into any Intel console entry.
+# We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
+# ROM graphics for control characters such as the diamond, up- and down-arrow.
+# This works with the System V, Linux, and BSDI consoles.  It's a safe bet this
+# will work with any Intel console, they all seem to have inherited \E[11m
+# from the ANSI.SYS de-facto standard.
+klone+acs|alternate character set for ansi.sys displays,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	rmacs=\E[10m, smacs=\E[11m,
+
+# Highlight controls corresponding to the ANSI.SYS standard.  Most
+# console drivers for Intel boxes obey these.  Makes the same assumption
+# about \E[11m as klone+acs.  True ANSI/ECMA-48 would have <rmso=\E[27m>,
+# <rmul=\E[24m>, but this isn't a documented feature of ANSI.SYS.
+klone+sgr|attribute control for ansi.sys displays,
+	blink=\E[5m, bold=\E[1m, rev=\E[7m, rmpch=\E[10m,
+	rmso=\E[m, rmul=\E[m,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+	use=klone+acs,
+
+# Most Intel boxes do not treat "invis" (invisible) text.
+klone+sgr8|attribute control for ansi.sys displays,
+	invis=\E[8m,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	use=klone+sgr,
+
+# Highlight controls corresponding to the ANSI.SYS standard.  *All*
+# console drivers for Intel boxes obey these.  Does not assume \E[11m will
+# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
+# diamond and arrow characters under curses.
+klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m),
+	blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
+	sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
+	use=klone+acs,
+
+# KOI8-R (RFC1489) acs (alternate character set)
+# From: Qing Long <qinglong@Bolizm.ihep.su>, 24 Feb 1996.
+klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset,
+	acsc=+\020\,\021-\036.^_0\215`\004a\237f\234g\232h\222i\220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t\206u\207v\210w\211x\201y\230z\231{\267|\274}L~\225,
+	rmacs=\E[10m, smacs=\E[11m,
+
+# ANSI.SYS color control.  The setab/setaf caps depend on the coincidence
+# between SVr4/XPG4's color numbers and ANSI.SYS attributes.  Here are longer
+# but equivalent strings that don't rely on that coincidence:
+# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
+# They match a subset of ECMA-48.
+klone+color|color control for ansi.sys and ISO6429-compatible displays,
+	colors#8, ncv#3, pairs#64,
+	op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+# This is better than klone+color, it doesn't assume white-on-black as the
+# default color pair,  but many `ANSI' terminals don't grok the <op> cap.
+ecma+color|color control for ECMA-48-compatible terminals,
+	AX,
+	colors#8, ncv#3, pairs#64,
+	op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+# Attribute control for ECMA-48-compatible terminals
+ecma+sgr|attribute capabilities for true ECMA-48 terminals,
+	rmso=\E[27m, rmul=\E[24m, use=klone+sgr8,
+
+# For comparison, here are all the capabilities implied by the Intel
+# Binary Compatibility Standard (level 2) that fit within terminfo.
+# For more detail on this rather pathetic standard, see the comments
+# near the end of this file.
+ibcs2|Intel Binary Compatibility Standard prescriptions,
+	cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cub1=\E[1D,
+	cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+	dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX,
+	hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT,
+	rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g,
+	vpa=\E[%i%p1%dd,
+
+#### ANSI/ECMA-48 terminals and terminal emulators
+#
+# See near the end of this file for details on ANSI conformance.
+# Don't mess with these entries!  Lots of other entries depend on them!
+#
+# This section lists entries in a least-capable to most-capable order.
+# if you're in doubt about what `ANSI' matches yours, try them in that
+# order and back off from the first that breaks.
+
+# ansi-mr is for ANSI terminals with ONLY relative cursor addressing
+# and more than one page of memory.  It uses local motions instead of
+# direct cursor addressing, and makes almost no assumptions. It does
+# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen.
+ansi-mr|mem rel cup ansi,
+	am, xon,
+	cols#80, lines#24, use=vanilla, use=ansi+erase,
+	use=ansi+local1,
+
+# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
+# beware of screen size problems and memory relative cursor addressing.
+ansi-mini|any ansi terminal with pessimistic assumptions,
+	am, xon,
+	cols#80, lines#24, use=vanilla, use=ansi+cup,
+	use=ansi+erase,
+
+# ansi-mtabs adds relative addressing and minimal tab support
+ansi-mtabs|any ansi terminal with pessimistic assumptions,
+	it#8,
+	ht=^I, use=ansi-mini, use=ansi+local1,
+
+# ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
+#
+# The following is an entry for the full ANSI 3.64 (1977).  It lacks
+# padding, but most terminals using the standard are "fast" enough
+# not to require any -- even at 9600 bps.  If you encounter problems,
+# try including the padding specifications.
+#
+# Note: the :as: and :ae: specifications are not implemented here, for
+# the available termcap documentation does not make clear WHICH alternate
+# character set to specify.  ANSI 3.64 seems to make allowances for several.
+# Please make the appropriate adjustments to fit your needs -- that is
+# if you will be using alternate character sets.
+#
+# There are very few terminals running the full ANSI 3.64 standard,
+# so I could only test this entry on one verified terminal (Visual 102).
+# I would appreciate the results on other terminals sent to me.
+#
+# Please report comments, changes, and problems to:
+#
+# U.S. MAIL:   Hugh Hansard
+#              Box: 22830
+#              Emory University
+#              Atlanta, GA. 30322.
+#
+# USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh.
+#
+# (Added vt100 <rc>,<sc> to quiet a tic warning --esr)
+ansi77|ansi 3.64 standard 1977 version,
+	OTbs, am, mir,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E[;H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, dch1=\E[P, dl1=\E[M$<5*/>, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOR, kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM,
+	rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m,
+
+# Procomm and some other ANSI emulations don't recognize all of the ANSI-
+# standard capabilities.  This entry deletes <cuu>, <cuf>, <cud>, <cub>, and
+# <vpa>/<hpa> capabilities, forcing curses to use repetitions of <cuu1>,
+# <cuf1>, <cud1> and <cub1>.  Also deleted <ich> and <ich1>, as QModem up to
+# 5.03 doesn't recognize these.  Finally, we delete <rep> and <ri>, which seem
+# to confuse many emulators.  On the other hand, we can count on these programs
+# doing <rmacs>/<smacs>/<sgr>. Older versions of this entry featured
+# <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
+# ANSI.SYS influence.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
+pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode),
+	OTbs, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=\E[D,
+	cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	hts=\EH, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, tbc=\E[3g,
+	use=klone+sgr-dumb,
+pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode),
+	lines#25, use=pcansi-m,
+pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode),
+	lines#33, use=pcansi-m,
+pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode),
+	lines#43, use=pcansi-m,
+# The color versions.  All PC emulators do color...
+pcansi|ibm-pc terminal programs claiming to be ansi,
+	use=klone+color, use=pcansi-m,
+pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines,
+	lines#25, use=pcansi,
+pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines,
+	lines#33, use=pcansi,
+pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines,
+	lines#43, use=pcansi,
+
+# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color.
+# If you want pound signs rather than dollars, replace `B' with `A'
+# in the <s0ds>, <s1ds>, <s2ds>, and <s3ds> capabilities.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
+ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes,
+	mc5i,
+	cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+	cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
+	ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I,
+	ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, kbs=^H,
+	kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
+	rep=%p1%c\E[%p2%{1}%-%db, rin=\E[%p1%dT, s0ds=\E(B,
+	s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[3g,
+	vpa=\E[%i%p1%dd, use=pcansi-m,
+
+ansi+enq|ncurses extension for ANSI ENQ,
+	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
+	u9=\E[c,
+
+# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
+# standard terminfo.  Assumes ANSI.SYS-compatible attributes and color.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
+ansi|ansi/pc-term compatible with color,
+	use=ansi+enq, use=ecma+color, use=klone+sgr8, use=ansi-m,
+
+# ansi-generic is a vanilla ANSI terminal. This is assumed to implement
+# all the normal ANSI stuff with no extensions. It assumes
+# insert/delete line/char is there, so it won't work with
+# vt100 clones. It assumes video attributes for bold, blink,
+# underline, and reverse, which won't matter much if the terminal
+# can't do some of those. Padding is assumed to be zero, which
+# shouldn't hurt since xon/xoff is assumed.
+ansi-generic|generic ansi standard terminal,
+	am, xon,
+	cols#80, lines#24, use=vanilla, use=ansi+csr, use=ansi+cup,
+	use=ansi+rca, use=ansi+erase, use=ansi+tabs,
+	use=ansi+local, use=ansi+idc, use=ansi+idl, use=ansi+rep,
+	use=ansi+sgrbold, use=ansi+arrows,
+
+#### DOS ANSI.SYS variants
+#
+# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
+# documentation (except for the keyboard key reassignment feature, which
+# doesn't fit the <pfkey> model well).  The klone+acs sequences were valid
+# though undocumented.  The <pfkey> capability is untested but should work for
+# keys F1-F10 (%p1 values outside this range will yield unpredictable results).
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
+ansi.sys-old|ANSI.SYS under PC-DOS 2.1,
+	OTbs, am, mir, msgr, xon,
+	cols#80, lines#25,
+	clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[k, home=\E[H,
+	is2=\E[m\E[?7h, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
+	khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p, rc=\E[u,
+	rmam=\E[?7l, sc=\E[s, smam=\E[?7h, u6=\E[%i%d;%dR,
+	u7=\E[6n, use=klone+color, use=klone+sgr8,
+
+# Keypad:	Home=\0G	Up=\0H	PrPag=\0I
+#		ka1,kh		kcuu1		kpp,ka3
+#
+#		Left=\0K	5=\0L		Right=\0M
+#		kcub1		kb2		kcuf1
+#
+#		End=\0O		Down=\0P	NxPag=\0Q
+#		kc1,kend	kcud1		kc3,knp
+#
+#		Ins=\0R		Del=\0S
+#		kich1		kdch1
+#
+# On keyboard with 12 function keys,
+#	shifted f-keys: F13-F24
+#	control f-keys: F25-F36
+#	alt f-keys:     F37-F48
+# The shift/control/alt keys do not modify each other, but alt overrides both,
+# and control overrides shift.
+#
+# <pfkey> capability for F1-F48 -TD
+ansi.sys|ANSI.SYS 3.1 and later versions,
+	el=\E[K, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q,
+	kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
+	kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205,
+	kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W,
+	kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\,
+	kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_,
+	kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d,
+	kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212,
+	kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l,
+	kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q,
+	kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B,
+	kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I,
+	pfkey=\E[0;%?%p1%{11}%<%t%'\:'%e%p1%{13}%<%t%'z'%e%p1%{23}%<%t%'G'%e%p1%{25}%<%t%'p'%e%p1%'#'%<%t%'E'%e%p1%'%'%<%t%'f'%e%p1%'/'%<%t%'C'%e%{92}%;%p1%+%d;%p2"%s"p,
+	use=ansi.sys-old,
+
+#
+# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS.
+# This should only be used when the terminal emulator cannot redefine the keys.
+# Since redefining keys with ansi.sys also affects PC-DOS programs, the key
+# definitions must be restored.  If the terminal emulator is quit while in vi
+# or others using <smkx>/<rmkx>, the keypad will not be defined as per PC-DOS.
+# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix
+# (^U and ^D are already defined for tn3270).  The ESC is safe for vi but it
+# does "beep".  ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab.
+# Note that <kcub1> is always BS, because PC-dos can tolerate this change.
+# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi.
+# Consequently the End keypad key could not be set (it is relatively safe and
+# actually useful because it sends ^@ O, which beeps and opens a line above).
+ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi,
+	is2=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p,
+	rmkx=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p,
+	smkx=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p,
+	use=ansi.sys,
+#
+# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer.
+nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS,
+	dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
+	is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n,
+	use=ansi.sys,
+#
+# See ansi.sysk and nansi.sys above.
+nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi,
+	dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
+	is2=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p,
+	use=ansi.sysk,
+
+#### Atari ST terminals
+
+# From Guido Flohr <gufl0000@stud.uni-sb.de>.
+#
+tw52|tw52-color|Toswin window manager with color,
+	bce,
+	colors#16, pairs#256,
+	oc=\Eb?\Ec0, op=\Eb?\Ec0,
+	setab=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
+	setaf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
+	setb=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
+	setf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
+	use=tw52-m,
+tw52-m|Toswin window manager monochrome,
+	ul,
+	ma#999,
+	bold=\Eya, dch1=\Ea, dim=\EyB,
+	is2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, rev=\EyP, rmso=\EzQ,
+	rmul=\EzH, rs2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, sgr0=\Ez_,
+	smso=\EyQ, smul=\EyH, use=at-m,
+tt52|Atari TT medium and high resolution,
+	lines#30, use=at-color,
+st52-color|at-color|atari-color|atari_st-color|Atari ST with color,
+	bce,
+	colors#16, pairs#256,
+	is2=\Ev\Eq\Ee\Eb1\Ec0, rs2=\Ev\Eq\Ee\Eb1\Ec0,
+	setab=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
+	setaf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
+	setb=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
+	setf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
+	use=st52,
+st52|st52-m|at|at-m|atari|atari-m|atari_st|atarist-m|Atari ST,
+	am, eo, mir, npc,
+	cols#80, it#8, lines#24,
+	bel=^G, civis=\Ef, clear=\EE, cnorm=\Ee, cr=^M, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, el1=\Eo, home=\EH, ht=^I,
+	il1=\EL, ind=^J, is2=\Ev\Eq\Ee, kLFT=\Ed, kRIT=\Ec, kbs=^H,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\177,
+	kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es,
+	kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EQ,
+	kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET, kf6=\EU, kf7=\EV, kf8=\EW,
+	kf9=\EX, khlp=\EH, khome=\EE, kich1=\EI, knp=\Eb, kpp=\Ea,
+	kund=\EK, nel=^M^J, rc=\Ek, rev=\Ep, ri=\EI, rmso=\Eq,
+	rs2=\Ev\Eq\Ee, sc=\Ej, sgr0=\Eq, smso=\Ep,
+tw100|toswin vt100 window mgr,
+	eo, mir, msgr, xon,
+	colors#8, cols#80, it#8, lines#24, pairs#64, vt#3,
+	acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\Ef,
+	clear=\E[2J\E[H, cnorm=\Ee, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB,
+	cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\EA, dch1=\Ea, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, il1=\EL, ind=^J, is2=\E<\E)0, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\177,
+	kf1=\EOP, kf10=\EOY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es,
+	kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EOQ,
+	kf20=\Ey, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+	kf8=\EOW, kf9=\EOX, khlp=\EH, khome=\E\EE, kich1=\EI,
+	knp=\Eb, kpp=\E\Ea, kund=\EK, ll=\E[24H, nel=\EE,
+	oc=\E[30;47m, op=\E[30;47m, rc=\E8, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmcup=\E[?7h, rmir=\Ei, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs1=\E<\E[20l\E[?3;6;9l\E[r\Eq\E(B\017\E)0\E>,
+	sc=\E7,
+	setb=\E[4%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=%t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'%=%t3%e7%;m,
+	setf=\E[3%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=%t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'%=%t3%e7%;m,
+	sgr0=\E[m, smacs=^N, smcup=\E[?7l, smir=\Eh,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+# The entries for stv52 and stv52pc probably need a revision.
+stv52|MiNT virtual console,
+	am, msgr,
+	cols#80, it#8, lines#30,
+	bel=^G, blink=\Er, bold=\EyA, civis=\Ef, clear=\EE,
+	cnorm=\E. \Ee, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E.",
+	dim=\Em, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+	ind=\n$<2*/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\177, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq,
+	kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
+	kf19=\Ex, kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET,
+	kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE,
+	kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK, nel=\r\n$<2*/>,
+	op=\Eb@\EcO, rev=\Ep, ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_,
+	rmso=\Eq, rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_,
+	smcup=\Ev\Ee\Ez_, smso=\Ep, smul=\EyH,
+stv52pc|MiNT virtual console with PC charset,
+	am, msgr,
+	cols#80, it#8, lines#30,
+	acsc=+\257\,\256-\^.v0\333I\374`\177a\260f\370g\361h\261j\331k\277l\332m\300n\305o\377p-q\304r-s_t+u+v+w+x\263y\363z\362{\343|\366}\234~\371,
+	bel=^G, blink=\Er, bold=\EyA, civis=\Ef, clear=\EE,
+	cnorm=\E. \Ee, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E.",
+	dim=\Em, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+	ind=\n$<2*/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\177, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq,
+	kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
+	kf19=\Ex, kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET,
+	kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE,
+	kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK, nel=\r\n$<2*/>,
+	rev=\Ep, ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_, rmso=\Eq,
+	rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_, smcup=\Ev\Ee\Ez_,
+	smso=\Ep, smul=\EyH,
+
+# From: Simson L. Garfinkel <simsong@media-lab.mit.edu>
+atari-old|atari st,
+	OTbs, am,
+	cols#80, it#8, lines#25,
+	clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+	ed=\EJ, el=\EK, ht=^I, il1=\EL, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, ri=\EI, rmso=\Eq, sgr0=\Eq, smso=\Ep,
+# UniTerm terminal program for the Atari ST:  49-line VT220 emulation mode
+# From: Paul M. Aoki <aoki@ucbvax.berkeley.edu>
+uniterm|uniterm49|UniTerm VT220 emulator with 49 lines,
+	lines#49,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H,
+	use=vt220,
+# MiNT VT52 emulation. 80 columns, 25 rows.
+# MiNT is Now TOS, the operating system which comes with all Ataris now
+# (mainly Atari Falcon). This termcap is for the VT52 emulation you get
+# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode
+# From: Per Persson <pp@gnu.ai.mit.edu>, 27 Feb 1996
+st52-old|Atari ST with VT52 emulation,
+	am, km,
+	cols#80, lines#25,
+	bel=^G, civis=\Ef, clear=\EH\EJ, cnorm=\Ee, cr=^M, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+	ind=^J, ka1=\E#7, ka3=\E#5, kb2=\E#9, kbs=^H, kc1=\E#1,
+	kc3=\E#3, kclr=\E#7, kcub1=\E#K, kcud1=\E#P, kcuf1=\E#M,
+	kcuu1=\E#H, kf0=\E#D, kf1=\E#;, kf2=\E#<, kf3=\E#=, kf4=\E#>,
+	kf5=\E#?, kf6=\E#@, kf7=\E#A, kf8=\E#B, kf9=\E#C, khome=\E#G,
+	kil1=\E#R, kind=\E#2, kri=\E#8, lf0=f10, nel=^M^J, rc=\Ek,
+	ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq,
+	smcup=\Ee, smso=\Ep,
+
+#### Apple Terminal.app
+
+# nsterm*|Apple_Terminal - AppKit Terminal.app
+#
+# Terminal.app is a Terminal emulator bundled with NeXT's NeXTStep and
+# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X
+# Server and Mac OS X operating systems. There is also a
+# "terminal.app" in GNUStep, but I believe it to be an unrelated
+# codebase and I have not attempted to describe it here.
+#
+# For NeXTStep, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you
+# are pretty much on your own. Use "nsterm-7-m" and hope for the best.
+# You might also try "nsterm-7" and "nsterm-old" if you suspect your
+# version supports color.
+#
+# To determine the version of Terminal.app you're using by running:
+#
+#     echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION"
+#
+# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce")
+#
+# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm")
+#
+# For Apple_Terminal v71+/v100+, use "nsterm-bce".
+#
+# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s".
+#
+# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s".
+#
+# For all earlier versions (Apple_Terminal), try "nsterm-7-m"
+# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s"
+# might work too, but really you're on your own here since these
+# systems are very obsolete and I can't test them. I do welcome
+# patches, though :).
+
+# Other Terminals:
+#
+# For GNUstep_Terminal, you're probably best off using "linux" or
+# writing your own terminfo.
+
+# For MacTelnet, you're on your own. It's a different codebase, and
+# seems to be somewhere between "vt102", "ncsa" and "xterm-color".
+
+# For iTerm.app, see "iterm".
+
+#
+# The AppKit Terminal.app descriptions all have names beginning with
+# "nsterm". Note that the statusline (-s) versions use the window
+# titlebar as a phony status line, and may produce warnings during
+# compilation as a result ("tsl uses 0 parameters, expected 1".)
+# Ignore these warnings, or even ignore these entries entirely. Apps
+# which need to position the cursor or do other fancy stuff inside the
+# status line won't work with these entries. They're primarily useful
+# for programs like Pine which provide simple notifications in the
+# status line. Please note that non-ASCII characters don't work right
+# in the status line, since Terminal.app incorrectly interprets their
+# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X
+# versions) or only accepts status lines consisting entirely of
+# characters from the first 256 Unicode positions (including C1 but
+# not C0 or DEL.)
+#
+# The Mythology* of AppKit Terminal.app:
+#
+# In the days of NeXTSTep 0.x and 1.x there were two incompatible
+# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a
+# shareware replacement for Terminal called "Stuart" which NeXT bought
+# and used as the basis for the Terminal.app in NeXTstep 2+,
+# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I
+# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or
+# capabilities for the early versions, but I believe that the
+# TERM_PROGRAM_VERSION may have been reset at some point.
+#
+# The early versions were tailored to the NeXT character set. Sometime
+# after the Apple aquisition the encoding was swiched to MacRoman
+# (initally with serious altcharset bugs due to incomplete conversion
+# of the old NeXT code,) and then later to UTF-8. Alos sometime during
+# or just prior to the early days of Mac OS X, the Terminal grew ANSI
+# 8-color support (initially buggy when combined with attributes, but
+# that was later fixed.) More recently, around Mac OS X version 10.3
+# or so (Terminal.app v100+) xterm-like 16-color support was added. In
+# some versions (for instance 133-1 which shipped with Mac OS X
+# version 10.4) this suffered from the <bce> bug, but that seems to
+# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+).
+#
+# In the early days of Mac OS X the terminal was fairly buggy and
+# would routinely crash under load. Many of these bugs seem to have
+# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but
+# some may still remain. This change seems to correspond to
+# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as
+# it did previously.
+#
+# * This may correspond with what actually happened, but I don't
+#   know. It is based on guesswork, hearsay, private correspondence,
+#   my faulty memory, and the following online sources and references:
+#
+# [1] "Three Scotts and a Duane" by Simson L. Garfinkel
+# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html
+#
+# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia
+# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep
+#
+# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to
+#   "nsterm" to comply with the name length and case conventions and
+#   limitations of various software packages [notably Solaris terminfo
+#   and UNIX.] A single Apple_Terminal alias is retained for
+#   backwards-compatbility.
+#
+# * Added function key support (F1-F4). These only work in Terminal.app
+#   version 51, hopefully the capabilities won't cause problems for people
+#   using version 41.
+#
+# * Added "full color" (-c) entries which support the 16-color mode in
+#   version 51.
+#
+# * By default, version 51 uses UTF-8 encoding with broken altcharset
+#   support, so "ASCII" (-7) entries without altcharset support were
+#   added.
+
+# nsterm - AppKit Terminal.app
+#
+# Apple's Mac OS X includes a Terminal.app derived from the old NeXT
+# Terminal.app. It is a partial VT100 emulation with some xterm-like
+# extensions. This terminfo was written to describe versions 41
+# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X
+# version 10.1) of Terminal.app.
+#
+# Terminal.app runs under the Mac OS X Quartz windowing system (and
+# other AppKit-supported windowing systems.)  On the Mac OS X machine I
+# use, the executable for Terminal.app is:
+# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
+#
+# If you're looking for a description of the full-screen system
+# console which runs under Apple's Darwin operating system on PowerPC
+# platforms, see the "xnuppc" entry instead.
+#
+# There were no function keys in version 41. In version 51, there are
+# four working function keys (F1, F2, F3 and F4.) The function keys
+# are included in all of these entries.
+#
+# It does not support mouse pointer position reporting. Under some
+# circumstances the cursor can be positioned using option-click; this
+# works by comparing the cursor position and the selected position,
+# and simulating enough cursor-key presses to move the cursor to the
+# selected position. This technique fails in all but the simplest
+# applications.
+#
+# It provides partial ANSI color support (background colors interacted
+# badly with bold in version 41, though, as reflected in :ncv:.) The
+# monochrome (-m) entries are useful if you've disabled color support
+# or use a monochrome monitor. The full color (-c) entries are useful
+# in version 51, which doesn't exhibit the background color bug. They
+# also enable an xterm-compatible 16-color mode.
+#
+# The configurable titlebar is set using xterm-compatible sequences;
+# it is used as a status bar in the statusline (-s) entries. Its width
+# depends on font sizes and window sizes, but 50 characters seems to
+# be the default for an 80x24 window.
+#
+# The MacRoman character encoding is used for some of the alternate
+# characters in the "MacRoman" entries; the "ASCII" (-7) entries
+# disable alternate character set support entirely, and the "VT100"
+# (-acs) entries rely instead on Terminal.app's own buggy VT100
+# graphics emulation, which seems to think the character encoding is
+# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries
+# are useful in Terminal.app version 51, which supports UTF-8 and
+# other ASCII-compatible character encodings but does not correctly
+# implement VT100 graphics; once VT100 graphics are correctly
+# implemented in Terminal.app, the "VT100" (-acs) entries should be
+# usable in any ASCII-compatible character encoding [except perhaps
+# in UTF-8, where some experts argue for disallowing alternate
+# characters entirely.]
+#
+# Terminal.app reports "vt100" as the terminal type, but exports
+# several environment variables which may aid detection in a shell
+# profile (i.e. .profile or .login):
+#
+# TERM=vt100
+# TERM_PROGRAM=Apple_Terminal
+# TERM_PROGRAM_VERSION=41      # in Terminal.app version 41
+# TERM_PROGRAM_VERSION=51      # in Terminal.app version 51
+#
+# For example, the following Bourne shell script would detect the
+# correct terminal type:
+#
+# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ]
+# then
+#     export TERM
+#     if [ :"$TERM_PROGRAM_VERSION" = :41 ]
+#     then
+#         TERM="nsterm-old"
+#     else
+#         TERM="nsterm-c-7"
+#     fi
+# fi
+#
+# In a C shell derivative, this would be accomplished by:
+#
+# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then
+#     if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then
+#          if ( :"$TERM_PROGRAM_VERSION" == :41 ) then
+#              setenv TERM "nsterm-old"
+#          else
+#              setenv TERM "nsterm-c-7"
+#          endif
+#     endif
+# endif
+
+# The '+' entries are building blocks
+nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset,
+	am, bw, msgr, xenl, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+	ind=^J, invis=\E[8m, kbs=\177, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, use=vt100+enq, use=vt100+pfkeys,
+
+nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	enacs=\E(B\E)0, rmacs=^O,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, use=nsterm+7,
+
+nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset,
+	acsc=+\335\,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245,
+	enacs=\E(B\E)0, rmacs=^O,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, use=nsterm+7,
+
+# compare with xterm+sl-twm
+nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support,
+	wsl#50, use=xterm+sl-twm,
+
+nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors),
+	op=\E[0m, use=ibm+16color,
+
+nsterm+c41|AppKit Terminal.app v41 color support,
+	colors#8, ncv#37, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+# These are different combinations of the building blocks
+
+# ASCII charset (-7)
+nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome),
+	use=nsterm+7,
+
+nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline),
+	use=nsterm+s, use=nsterm+7,
+
+nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color),
+	use=nsterm+c41, use=nsterm+7,
+
+nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color),
+	use=nsterm+c, use=nsterm+7,
+
+nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline),
+	use=nsterm+s, use=nsterm+c41, use=nsterm+7,
+
+nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline),
+	use=nsterm+s, use=nsterm+c, use=nsterm+7,
+
+# VT100 alternate-charset (-acs)
+nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome),
+	use=nsterm+acs,
+
+nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline),
+	use=nsterm+s, use=nsterm+acs,
+
+nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color),
+	use=nsterm+c41, use=nsterm+acs,
+
+nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color),
+	use=nsterm+c, use=nsterm+acs,
+
+nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline),
+	use=nsterm+s, use=nsterm+c41, use=nsterm+acs,
+
+nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline),
+	use=nsterm+s, use=nsterm+c, use=nsterm+acs,
+
+# MacRoman charset
+nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome),
+	use=nsterm+mac,
+
+nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline),
+	use=nsterm+s, use=nsterm+mac,
+
+nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color),
+	use=nsterm+c41, use=nsterm+mac,
+
+nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color),
+	use=nsterm+c, use=nsterm+mac,
+
+nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline),
+	use=nsterm+s, use=nsterm+c41, use=nsterm+mac,
+
+nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline),
+	use=nsterm+s, use=nsterm+c, use=nsterm+mac,
+
+# In Mac OS X version 10.5 the format of the preferences has changed
+# and a new, more complex technique is needed, e.g.,
+#
+#       python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass(
+#       "NSUserDefaults");ud=NSUserDefaults.alloc();
+#       ud.init();prefs=ud.persistentDomainForName_(
+#       "com.apple.Terminal");prefs["Window Settings"][
+#       prefs["Default Window Settings"]]["TerminalType"
+#       ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs,
+#       "com.apple.Terminal")' nsterm-16color
+#
+# and it is still not settable from the preferences dialog. This is
+# tracked under rdar://problem/7365108 and rdar://problem/7365134
+# in Apple's bug reporter.
+#
+# In OS X 10.7 (Leopard) the TERM which can be set in the preferences dialog
+# defaults to xterm-color.  Alternative selections are ansi, dtterm, rxvt,
+# vt52, vt100, vt102 and xterm.
+nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5,
+	bw@, mir, npc,
+	civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P,
+	flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
+	ich=\E[%p1%d@, ich1=\E[@, kdch1=\E[3~, kend=\E[F,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[22~, kf19=\E[33~, kf20=\E[34~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	knp=\E[6~, kpp=\E[5~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+	smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd,
+	kLFT5=\E[5D, kRIT5=\E[5C, use=nsterm-c-s-acs,
+
+# The versions of Terminal.app in Mac OS X version 10.3.x seem to have
+# the background color erase feature. The newer version 240.2 in Mac OS X
+# version 10.5 does not.
+#
+# This entry is based on newsgroup comments by Alain Bench, Christian Ebert,
+# and D P Schreber comparing to nsterm-c-s-acs.
+#
+# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM
+# can be set in Terminal.app, e.g.,
+#
+#	defaults write com.apple.Terminal TermCapString nsterm-bce
+#
+# and that it is not set in Terminal's preferences dialog.
+#
+# Modified for OS X 10.8, omitting bw based on testing with tack -TD
+#
+# Notes:
+# * The terminal description matches the default settings.
+# * The keyboard is configurable via a dialog.
+# * By default khome, kend, knext and kprev are honored only with a
+#   shift-modifier.
+# * There are bindings for control left/right arrow (but not up/down).
+#   Added those to nsterm-16color, which is the version used for OS X 10.6
+# * "Allow VT100 application keypage mode" is by default disabled.
+#   There is no way to press keypad-comma unless application mode is enabled
+#   and used.
+# * 132-column mode stopped working during vttest's tests.  Consider it broken.
+# * CHT, REP, SU, SD are buggy.
+# * ECH works (also in Leopard), but is not used here for compatibility.
+# * The terminal preferences dialog replaces xterm-color by xterm-16color and
+#   xterm-256color.  However, it adds "nsterm", so it is possible to use the
+#   nsterm entry from this file to override the MacPorts (20110404) or
+#   system (20081102) copy of this file.
+# + In OS X 10.8 (Mountain Lion) the TERM which can be set in the preferences
+#   dialog defaults to xterm-256color.  Alternative selections are ansi,
+#   dtterm, rxvt, vt52, vt100, vt102, xterm and xterm-16color.  However,
+#   the menu says "Declare terminal as" without promising to actually emulate
+#   the corresponding terminals.  Indeed, changing TERM does not affect the
+#   emulation itself.  This means that
+#   + the function-keys do not match for dtterm for kf1-kf4 as well as
+#     khome/kend
+#   + the color model is the same for each setting of TERM (does not match
+#     ansi or dtterm).
+#   + the shift/control/meta key modifiers from rxvt and xterm variants are not
+#     recognised except for a few special cases, i.e., kRIT5 and kLFT5.
+#   + the vt52 emulation does not give a usable shell because screen-clearing
+#     does not work as expected.
+#   + selecting "xterm" or "xterm-16color" sets TERM to "xterm-256color".
+# + OSX 10.9 (Yosemite) added more extended keys in the default configuration
+#   as well as unmasking F10 (which had been used in the window manager). Those
+#   keys are listed in this entry.
+nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce),
+	bce, use=nsterm-16color,
+
+# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11
+#	TERM_PROGRAM_VERSION=309
+# Earlier reports state that these differences also apply to OS X 10.7 (Lion),
+#	TERM_PROGRAM_VERSION=303
+nsterm-256color|Terminal.app in OS X 10.8,
+	use=xterm+256setaf, use=nsterm-bce,
+
+nsterm-build326|Terminal.app in OS X 10.9,
+	kDC=\E[3;2~, kLFT=\E[1;2D, kRIT=\E[1;2C, kcbt=\E[Z,
+	kf18=\E[32~, kDC5=\E[3;5~, kDC7=\E[3;5~, kLFT3=\Eb,
+	kLFT5=\E[1;5D, kRIT3=\Ef, kRIT5=\E[1;5C,
+	use=nsterm-256color,
+
+# actually "343.7"
+nsterm-build343|Terminal.app in OS X 10.10,
+	kend=\EOF, khome=\EOH, use=nsterm-build326,
+
+# This is an alias which should always point to the "current" version
+nsterm|Apple_Terminal|AppKit Terminal.app,
+	use=nsterm-build343,
+
+# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and
+# more featureful) terminal emulator for Mac OS X. It is similar
+# enough in capabilities to nsterm-16color that I have derived this
+# description from that one, but as far as I know they share no code.
+# Many of the features are user-configurable, but I attempt only to
+# describe the default configuration.
+#
+# NOTE: When tack tests (csr) + (nel) iTerm.app crashes, so (csr) is
+# disabled.
+iTerm.app|iterm|iTerm.app terminal emulator for Mac OS X,
+	bce, bw@,
+	csr@, dim@, kend=\EOF, khome=\EOH,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	use=xterm+256setaf, use=nsterm-16color,
+
+# xnuppc - Darwin PowerPC Console (a.k.a. "darwin")
+#
+# On PowerPC platforms, Apple's Darwin operating system uses a
+# full-screen system console derived from a NetBSD framebuffer
+# console. It is an ANSI-style terminal, and is not really VT-100
+# compatible.
+#
+# Under Mac OS X, this is the system console driver used while in
+# single-user mode [reachable by holding down Command-S during the
+# boot process] and when logged in using console mode [reachable by
+# typing ">console" at the graphical login prompt.]
+#
+# If you're looking for a description of the Terminal.app terminal
+# emulator which runs under the Mac OS X Quartz windowing system (and
+# other AppKit-supported windowing systems,) see the "nsterm"
+# entry instead.
+#
+# NOTE: Under Mac OS X version 10.1, the default login window does not
+# prompt for user name, instead requiring an icon to be selected from
+# a list of known users. Since the special ">console" login is not in
+# this list, you must make one of two changes in the Login Window
+# panel of the Login section of System Prefs to make the special
+# ">console" login accessible. The first option is to enable 'Show
+# "Other User" in list for network users', which will add a special
+# "Other..." icon to the graphical login panel. Selecting "Other..."
+# will present the regular graphical login prompt. The second option
+# is to change the 'Display Login Window as:' setting to 'Name and
+# password entry fields', which replaces the login panel with a
+# graphical login prompt.
+#
+# There are no function keys, at least not in Darwin 1.3.
+#
+# It has no mouse support.
+#
+# It has full ANSI color support, and color combines correctly with
+# all three supported attributes: bold, inverse-video and underline.
+# However, bold colored text is almost unreadable (bolding is
+# accomplished using shifting and or-ing, and looks smeared) so bold
+# has been excluded from the list of color-compatible attributes
+# [using (ncv)]. The monochrome entry (-m) is useful if you use a
+# monochrome monitor.
+#
+# There is one serious bug with this terminal emulation's color
+# support: repositioning the cursor onto a cell with non-matching
+# colors obliterates that cell's contents, replacing it with a blank
+# and displaying a colored cursor in the "current" colors. There is
+# no complete workaround at present [other than using the monochrome
+# (-m) entries,] but removing the (msgr) capability seemed to help.
+#
+# The "standout" chosen was simple reverse-video, although a colorful
+# standout might be more aesthetically pleasing. Similarly, the bold
+# chosen is the terminal's own smeared bold, although a simple
+# color-change might be more readable. The color-bold (-b) entries
+# uses magenta colored text for bolding instead. The fancy color (-f
+# and -f2) entries use color for bold, standout and underlined text
+# (underlined text is still underlined, though.)
+#
+# Apparently the terminal emulator does support a VT-100-style
+# alternate character set, but all the alternate character set
+# positions have been left blank in the font. For this reason, no
+# alternate character set capabilities have been included in this
+# description. The console driver appears to be ASCII-only, so (enacs)
+# has been excluded [although the VT-100 sequence does work.]
+#
+# The default Mac OS X and Darwin installation reports "vt100" as the
+# terminal type, and exports no helpful environment variables. To fix
+# this, change the "console" entry in /etc/ttys from "vt100" to
+# "xnuppc-WxH", where W and H are the character dimensions of your
+# console (see below.)
+#
+# The font used by the terminal emulator is apparently one originally
+# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This
+# file includes descriptions for the following geometries:
+#
+#     Pixels        Characters   Entry Name (append -m for monochrome)
+#    -------------------------------------------------------------------
+#     640x400       80x25        xnuppc-80x25
+#     640x480       80x30        xnuppc-80x30
+#     720x480       90x30        xnuppc-90x30
+#     800x600       100x37       xnuppc-100x37
+#     896x600       112x37       xnuppc-112x37
+#     1024x640      128x40       xnuppc-128x40
+#     1024x768      128x48       xnuppc-128x48
+#     1152x768      144x48       xnuppc-144x48
+#     1280x1024     160x64       xnuppc-160x64
+#     1600x1024     200x64       xnuppc-200x64
+#     1600x1200     200x75       xnuppc-200x75
+#     2048x1536     256x96       xnuppc-256x96
+#
+# The basic "xnuppc" entry includes no size information, and the
+# emulator includes no reporting capability, so you'll be at the mercy
+# of the TTY device (which reports incorrectly on my hardware.) The
+# color-bold entries do not include size information.
+
+# The '+' entries are building blocks
+xnuppc+basic|Darwin PowerPC Console basic capabilities,
+	am, bce, mir, xenl,
+	it#8,
+	bold=\E[1m, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
+	rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, use=vt100+keypad,
+
+xnuppc+c|Darwin PowerPC Console ANSI color support,
+	colors#8, ncv#32, pairs#64,
+	op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+xnuppc+b|Darwin PowerPC Console color-bold support,
+	ncv#32,
+	bold=\E[35m,
+	sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+	use=xnuppc+basic,
+
+xnuppc+f|Darwin PowerPC Console fancy color support,
+	ncv#35,
+	sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%?%p3%t;7%;m,
+	smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b,
+
+xnuppc+f2|Darwin PowerPC Console alternate fancy color support,
+	ncv#35,
+	bold=\E[33m,
+	sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%?%p3%t;7%;m,
+	smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic,
+
+# Building blocks for specific screen sizes
+xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels),
+	cols#80, lines#25,
+
+xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels),
+	cols#80, lines#30,
+
+xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels),
+	cols#90, lines#30,
+
+xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels),
+	cols#100, lines#37,
+
+xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels),
+	cols#112, lines#37,
+
+xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels),
+	cols#128, lines#40,
+
+xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels),
+	cols#128, lines#48,
+
+xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels),
+	cols#144, lines#48,
+
+xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels),
+	cols#160, lines#64,
+
+xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels),
+	cols#200, lines#64,
+
+xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels),
+	cols#200, lines#75,
+
+xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels),
+	cols#256, lines#96,
+
+# These are different combinations of the building blocks
+
+xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome),
+	use=xnuppc+basic,
+
+xnuppc|darwin|Darwin PowerPC Console (color),
+	use=xnuppc+c, use=xnuppc+basic,
+
+xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold),
+	use=xnuppc+b,
+
+xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold),
+	use=xnuppc+b, use=xnuppc+c,
+
+xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome),
+	use=xnuppc+f,
+
+xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color),
+	use=xnuppc+f, use=xnuppc+c,
+
+xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome),
+	use=xnuppc+f2,
+
+xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color),
+	use=xnuppc+f2, use=xnuppc+c,
+
+# Combinations for specific screen sizes
+xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25,
+	use=xnuppc+80x25, use=xnuppc+basic,
+
+xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25,
+	use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic,
+
+xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30,
+	use=xnuppc+80x30, use=xnuppc+basic,
+
+xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30,
+	use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic,
+
+xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30,
+	use=xnuppc+90x30, use=xnuppc+basic,
+
+xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30,
+	use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic,
+
+xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37,
+	use=xnuppc+100x37, use=xnuppc+basic,
+
+xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37,
+	use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic,
+
+xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37,
+	use=xnuppc+112x37, use=xnuppc+basic,
+
+xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37,
+	use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic,
+
+xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40,
+	use=xnuppc+128x40, use=xnuppc+basic,
+
+xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40,
+	use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic,
+
+xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48,
+	use=xnuppc+128x48, use=xnuppc+basic,
+
+xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48,
+	use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic,
+
+xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48,
+	use=xnuppc+144x48, use=xnuppc+basic,
+
+xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48,
+	use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic,
+
+xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64,
+	use=xnuppc+160x64, use=xnuppc+basic,
+
+xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64,
+	use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic,
+
+xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64,
+	use=xnuppc+200x64, use=xnuppc+basic,
+
+xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64,
+	use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic,
+
+xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75,
+	use=xnuppc+200x75, use=xnuppc+basic,
+
+xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75,
+	use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic,
+
+xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96,
+	use=xnuppc+256x96, use=xnuppc+basic,
+
+xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96,
+	use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic,
+
+
+#### BeOS
+#
+# BeOS entry for Terminal program Seems to be almost ANSI
+beterm|BeOS Terminal,
+	am, eo, mir, msgr, xenl, xon,
+	colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64,
+	bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
+	kend=\E[4~, kf1=\E[11~, kf10=\E[20~, kf11=\E[21~,
+	kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, kf9=\E[19~,
+	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z,
+	nel=^M^J, op=\E[m, rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l,
+	rmkx=\E[?4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm,
+	sgr0=\E[0;10m, smir=\E[4h, smkx=\E[?4h, smso=\E[7m,
+	smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n,
+	vpa=\E[%i%p1%dd,
+
+#### Linux consoles
+#
+
+# This entry is good for the 1.2.13 or later version of the Linux console.
+#
+# ***************************************************************************
+# *                                                                         *
+# *                           WARNING:                                      *
+# * Linuxes come with a default keyboard mapping kcbt=^I.  This entry, in   *
+# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab *
+# * character. Here are the keymap replacement lines that will set this up: *
+# *                                                                         *
+#	keycode  15 = Tab             Tab
+#		alt     keycode  15 = Meta_Tab
+#		shift	keycode  15 = F26
+#	string F26 ="\033[Z"
+# *                                                                         *
+# * This has to use a key slot which is unfortunate (any unused one will    *
+# * do, F26 is the higher-numbered one).  The change ought to be built      *
+# * into the kernel tables.                                                 *
+# *                                                                         *
+# ***************************************************************************
+#
+# All linux kernels since 1.2.13 (at least) set the screen size
+# themselves; this entry assumes that capability.
+#
+linux-basic|linux console,
+	am, bce, eo, mir, msgr, xenl, xon,
+	it#8, ncv#18, U8#1,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
+	el=\E[K, el1=\E[1K, flash=\E[?5h\E[?5l$<200/>, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, kb2=\E[G, kbs=\177,
+	kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+	kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+	rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+	smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr,
+	use=ecma+color,
+
+linux-m|Linux console no color,
+	colors@, pairs@,
+	setab@, setaf@, setb@, setf@, use=linux,
+
+# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
+# and it matters, turn off <ccc>.  The %02x escape used to implement this is
+# not supposedly back-portable to older SV curses (although it has worked fine
+# on Solaris for several years) and not supported in ncurses versions before
+# 1.9.9.
+linux-c-nc|linux console with color-change,
+	ccc,
+	initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
+	oc=\E]R, use=linux-basic,
+# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
+linux-c|linux console 1.3.6+ for older ncurses,
+	ccc,
+	initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;,
+	oc=\E]R, use=linux-basic,
+
+# The 2.2.x kernels add a private mode that sets the cursor type; use that to
+# get a block cursor for cvvis.
+# reported by Frank Heckenbach <frank@g-n-u.de>.
+linux2.2|linux 2.2.x console,
+	civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
+	cvvis=\E[?25h\E[?8c, use=linux-c-nc,
+
+# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
+#	http://lkml.indiana.edu/hypermail/linux/kernel/0602.2/0868.html
+# Using SI/SO has the drawback that it confuses screen.  SCS would work.
+# However, SCS is buggy (see comment in Debian #515609) -TD
+# Further, this breaks longstanding workarounds for Linux console's line
+# drawing (see Debian 665959) -TD
+linux2.6|linux 2.6.x console,
+	rmacs=^O,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, use=linux2.2,
+
+# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
+# It is the same as xterm's erase-saved-lines feature.
+linux3.0|linux 3.0 kernels,
+	E3=\E[3J, use=linux2.6,
+
+# This is Linux console for ncurses.
+linux|linux console,
+	use=linux2.2,
+
+# Subject: linux 2.6.26 vt back_color_erase
+# Changes to the Linux console driver broke bce model as reported in
+#	https://bugzilla.novell.com/show_bug.cgi?id=418613
+# apparently from
+#	http://lkml.org/lkml/2008/4/26/305
+#	http://lkml.org/lkml/2008/10/3/66
+linux2.6.26|linux console w/o bce,
+	bce@, use=linux2.6,
+
+# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+linux-nic|linux with ich/ich1 suppressed for non-curses programs,
+	ich@, ich1@, use=linux,
+
+# This assumes you have used setfont(8) to load one of the Linux koi8-r fonts.
+# acsc entry from Pavel Roskin" <pavel@absolute.spb.su>, 29 Sep 1997.
+linux-koi8|linux with koi8 alternate character set,
+	acsc=+\020\,\021-\030.^Y0\215`\004a\221f\234g\237h\220i\276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v\211w\210x\201y\230z\231{\267|\274~\224,
+	use=linux, use=klone+koi8acs,
+
+# Another entry for KOI8-r with Qing Long's acsc.
+# (which one better complies with the standard?)
+linux-koi8r|linux with koi8-r alternate character set,
+	use=linux, use=klone+koi8acs,
+
+# Entry for the latin1 and latin2 fonts
+linux-lat|linux with latin1 or latin2 alternate character set,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\013f\370g\361h\260i\316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u\215v\301w\302x\205y\363z\362{\343|\330}\234~\376,
+	use=linux,
+
+# This uses graphics from VT codeset instead of from cp437.
+# reason: cp437 (aka "straight to font") is not functional under luit.
+# from: Andrey V Lukyanov <land@long.yar.ru>.
+linux-vt|linux console using VT codes for graphics,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~,
+	rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0,
+	smpch@, use=linux,
+
+# This is based on the Linux console (relies on the console to perform some
+# of the functionality), but does not recognize as many control sequences.
+# The program comes bundled with an old (circa 1998) copy of the Linux
+# console terminfo.  It recognizes some non-ANSI/VT100 sequences such as
+#	\E*	move cursor to home, as as \E[H
+#	\E,X	same as \E(X
+#	\EE	move cursor to beginning of row
+#	\E[y,xf	same as \E[y,xH
+#
+# Note: The status-line support is buggy (dsl does not work).
+kon|kon2|jfbterm|Kanji ON Linux console,
+	ccc@, hs,
+	civis@, cnorm@, cvvis@, dsl=\E[?H, flash@, fsl=\E[?F, initc@,
+	initp@, kcbt@, oc@, op=\E[37;40m, rs1=\Ec, tsl=\E[?T,
+	use=linux,
+
+# 16-color linux console entry; this works with a 256-character
+# console font but bright background colors turn into dim ones when
+# you use a 512-character console font. This uses bold for bright
+# foreground colors and blink for bright background colors.
+linux-16color|linux console with 16 colors,
+	colors#16, ncv#63, pairs#256,
+	setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
+	setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
+	use=linux,
+
+# bterm (bogl 0.1.18)
+# Implementation is in bogl-term.c
+# Key capabilities from linux terminfo entry
+#
+# Notes:
+# bterm only supports acs using wide-characters, has case for these: qjxamlkut
+# bterm does not support sgr, since it only processes one parameter -TD
+bterm|bogl virtual terminal,
+	am, bce,
+	colors#8, cols#80, lines#24, pairs#64,
+	acsc=aajjkkllmmqqttuuxx, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, cub1=^H, cud1=^J,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ind=^J,
+	kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+	kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J,
+	op=\E[49m\E[39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
+	rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m,
+
+#### Mach
+#
+
+# From: Matthew Vernon <mcv21@pick.sel.cam.ac.uk>
+mach|Mach Console,
+	am, km,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	kf9=\EOX, khome=\E[H, kich1=\E[@, kll=\E[F, knp=\E[U,
+	kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m, sgr0=\E[0m,
+	smso=\E[7m, smul=\E[4m,
+mach-bold|Mach Console with bold instead of underline,
+	rmul=\E[0m, smul=\E[1m, use=mach,
+mach-color|Mach Console with ANSI color,
+	colors#8, pairs#64,
+	dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach,
+
+# From: Samuel Thibault
+# Source: git://git.sv.gnu.org/hurd/gnumach.git
+# Files: i386/i386at/kd.c
+#
+# Added nel, hpa, sgr and removed rmacs, smacs based on source -TD
+mach-gnu|GNU Mach,
+	acsc=+>\,<-\^.v0\333`+a\261f\370g\361h\260i#j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+	el1=\E[1K, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@,
+	indn=\E[%p1%dS, invis=\E[8m, nel=\EE, rin=\E[%p1%dT,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m,
+	use=mach,
+
+mach-gnu-color|Mach Console with ANSI color,
+	colors#8, pairs#64,
+	op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm, use=mach-gnu,
+
+# From: Marcus Brinkmann
+# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
+#
+# Comments in the original are summarized here:
+#
+# hurd uses 8-bit characters (km).
+#
+# Although it doesn't do XON/XOFF, we don't want padding characters (xon).
+#
+# Regarding compatibility to vt100:  hurd doesn't specify <xenl>, as we don't
+# have the eat_newline_glitch.  It doesn't support setting or removing tab
+# stops (hts/tbc).
+#
+# hurd uses ^H instead of \E[D for cub1, as only ^H implements <bw> and it is
+# one byte instead three.
+#
+# <ich1> is not included because hurd has insert mode.
+#
+# hurd doesn't use ^J for scrolling, because this could put things into the
+# scrollback buffer.
+#
+# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
+# This is a GNU extension.
+#
+# The original has commented-out ncv, but is restored here.
+#
+# Reading the source, RIS resets cnorm, but not xmous.
+hurd|The GNU Hurd console server,
+	am, bce, bw, eo, km, mir, msgr, xenl, xon,
+	colors#8, it#8, ncv#18, pairs#64,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\Ec, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[34l, dch=\E[%p1%dP,
+	dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\Eg,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS,
+	invis=\E[8m, kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~,
+	kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+	kspd=^Z, nel=^M^J, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\E[T,
+	rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E[10m, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m, rs1=\EM\E[?1000l, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	sgr0=\E[0m, sitm=\E[3m, smacs=\E[11m, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l,
+	gsbom=\E[>1h,
+
+#### QNX
+#
+
+# QNX 4.0 Console
+# Michael's original version of this entry had <am@>, <smcup=\Ei>,
+# <rmcup=\Eh\ER>; this was so terminfo applications could write the lower
+# right corner without triggering a scroll.  The ncurses terminfo library can
+# handle this case with the <ich1> capability, and prefers <am> for better
+# optimization.  Bug: The <op> capability resets attributes.
+# From: Michael Hunter <mphunter@qnx.com> 30 Jul 1996
+# (removed: <sgr=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,>)
+qnx|qnx4|qnx console,
+	daisy, km, mir, msgr, xhpa, xt,
+	colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8,
+	acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263,
+	bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ,
+	cnorm=\Ey1, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2,
+	dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee,
+	il1=\EE, ind=^J, kBEG=\377\356, kCAN=\377\263,
+	kCMD=\377\267, kCPY=\377\363, kCRT=\377\364,
+	kDL=\377\366, kEND=\377\301, kEOL=\377\311,
+	kEXT=\377\367, kFND=\377\370, kHLP=\377\371,
+	kHOM=\377\260, kIC=\377\340, kLFT=\377\264,
+	kMOV=\377\306, kMSG=\377\304, kNXT=\377\272,
+	kOPT=\377\372, kPRT=\377\275, kPRV=\377\262,
+	kRDO=\377\315, kRES=\377\374, kRIT=\377\266,
+	kRPL=\377\373, kSAV=\377\307, kSPD=\377\303,
+	kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0,
+	kclo=\377\343, kclr=\377\341, kcmd=\377\245,
+	kcpy=\377\265, kcrt=\377\305, kctab=\377\237,
+	kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246,
+	kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274,
+	ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320,
+	kext=\377\270, kf1=\377\201, kf10=\377\212,
+	kf11=\377\256, kf12=\377\257, kf13=\377\213,
+	kf14=\377\214, kf15=\377\215, kf16=\377\216,
+	kf17=\377\217, kf18=\377\220, kf19=\377\221,
+	kf2=\377\202, kf20=\377\222, kf21=\377\223,
+	kf22=\377\224, kf23=\377\333, kf24=\377\334,
+	kf25=\377\225, kf26=\377\226, kf27=\377\227,
+	kf28=\377\230, kf29=\377\231, kf3=\377\203,
+	kf30=\377\232, kf31=\377\233, kf32=\377\234,
+	kf33=\377\235, kf34=\377\236, kf35=\377\276,
+	kf36=\377\277, kf37=\377\321, kf38=\377\322,
+	kf39=\377\323, kf4=\377\204, kf40=\377\324,
+	kf41=\377\325, kf42=\377\326, kf43=\377\327,
+	kf44=\377\330, kf45=\377\331, kf46=\377\332,
+	kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206,
+	kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346,
+	khlp=\377\350, khome=\377\240, khts=\377\342,
+	kich1=\377\253, kil1=\377\273, kind=\377\261,
+	kmov=\377\351, kmrk=\377\355, kmsg=\377\345,
+	knp=\377\252, knxt=\377\312, kopn=\377\357,
+	kopt=\377\353, kpp=\377\242, kprt=\377\255,
+	kprv=\377\302, krdo=\377\336, kref=\377\354,
+	kres=\377\360, krfr=\377\347, kri=\377\271,
+	krmir=\377\313, krpl=\377\362, krst=\377\352,
+	ksav=\377\361, kslt=\377\247, kspd=\377\335,
+	ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER,
+	rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER,
+	rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d,
+	setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei,
+	smso=\E(, smul=\E[,
+#
+#
+qnxt|qnxt4|QNX4 terminal,
+	crxm, use=qnx4,
+#
+qnxm|QNX4 with mouse events,
+	maddr#1,
+	chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h,
+	mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l,
+	mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l,
+	smicm=\E/>2h, use=qnx4,
+#
+qnxw|QNX4 windows,
+	xvpa, use=qnxm,
+#
+#	Monochrome QNX4 terminal or console. Setting this terminal type will
+#	allow an application running on a color console to behave as if it
+#	were a monochrome terminal. Output will be through stdout instead of
+#	console writes because the term routines will recognize that the
+#	terminal name starts with 'qnxt'.
+#
+qnxtmono|Monochrome QNX4 terminal or console,
+	colors@, pairs@,
+	scp@, use=qnx4,
+
+# From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
+# (esr: commented out <scp> and <rmcup> to avoid warnings.)
+# (TD: derive from original qnx4 entry)
+qnxt2|qnx 2.15 serial terminal,
+	am,
+	civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@,
+	rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4,
+
+# QNX ANSI terminal definition
+qansi-g|QNX ANSI,
+	am, eslok, hs, xon,
+	colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80,
+	acsc=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J,
+	el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l,
+	fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L,
+	ind=\E[S, indn=\E[%p1%dS, invis=\E[9m,
+	is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0,
+	kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt,
+	kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h,
+	kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c,
+	kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa,
+	kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y,
+	kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
+	kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt,
+	kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx,
+	kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~,
+	kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~,
+	kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~,
+	kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~,
+	kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~,
+	kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~,
+	kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh,
+	khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a,
+	kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo,
+	kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg,
+	kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T,
+	ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T,
+	rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmso=\E[27m,
+	rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g,
+	tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH,
+#
+qansi|QNX ansi with console writes,
+	daisy, xhpa, use=qansi-g,
+#
+qansi-t|QNX ansi without console writes,
+	crxm, use=qansi,
+#
+qansi-m|QNX ansi with mouse,
+	maddr#1,
+	chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h,
+	mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l,
+	mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l,
+	smicm=\E[>2h, use=qansi,
+#
+qansi-w|QNX ansi for windows,
+	xvpa, use=qansi-m,
+
+#### SCO consoles
+
+# SCO console and SOS-Syscons console for 386bsd
+# (scoansi: had unknown capabilities
+#	:Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\
+#	:GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C:
+#	:G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\
+#	:CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\
+#	:WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
+# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based
+# on the <smacs>=\E[12m  -- esr)
+#
+# klone+sgr-dumb is an error since the acsc does not match -TD
+#
+# In this description based on SCO's keyboard(HW) manpage list of default
+# function key values:
+#	F13-F24 are shifted F1-F12
+#	F25-F36 are control F1-F12
+#	F37-F48 are shift+control F1-F12
+#
+# hpa/vpa work in the console, but not in scoterm:
+#	hpa=\E[%p1%dG,
+#	vpa=\E[%p1%dd,
+#
+# SCO's terminfo uses
+#	kLFT=\E[d,
+#	kRIT=\E[c,
+# which do not work (console or scoterm).
+#
+# Console documents only 3 attributes can be set with SGR (so we don't use sgr).
+scoansi-old|SCO Extended ANSI standard crt (5.0.5),
+	OTbs, am, bce, eo, xon,
+	colors#8, cols#80, it#8, lines#25, pairs#64,
+	acsc=+/\,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP,
+	dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M,
+	ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
+	ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H,
+	kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+	kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c,
+	kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g,
+	kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l,
+	kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p,
+	kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u,
+	kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P,
+	kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[],
+	kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q,
+	kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+	kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8,
+	rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m,
+	rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m,
+	smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m,
+scoansi-new|SCO Extended ANSI standard crt (5.0.6),
+	km,
+	civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
+	cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
+	rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%e;10%;m,
+	smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
+	smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
+	smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
+	smgtp=\E[=0;%i%p1%dm, smm=\E[=10L,
+	wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr,
+	use=scoansi-old,
+# make this easy to change...
+scoansi|SCO Extended ANSI standard crt,
+	use=scoansi-old,
+
+#### SGI consoles
+
+# Sent by Stefan Stapelberg <stefan@rent-a-guru.de>, 24 Feb 1997, this is
+# from SGI's terminfo database.  SGI's entry shows F9-F12 with the codes
+# for the application keypad mode.  We have added iris-ansi-ap rather than
+# change the original to keypad mode.
+#
+# (iris-ansi: added rmam/smam based on init string -- esr)
+#
+# This entry, and those derived from it, is used in xwsh (also known as
+# winterm).  Some capabilities that do not fit into the terminfo model
+# include the shift- and control-functionkeys:
+#
+# F1-F12 generate different codes when shift or control modifiers are used.
+# For example:
+#	F1      	\E[001q
+#	shift F1	\E[013q
+#	control-F1	\E[025q
+#
+# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e.,
+# \EOP to \EOS.  The shifted and control modifiers still do the same thing.
+#
+# The cursor keys also have different codes:
+#	control-up	\E[162q
+#	control-down	\E[165q
+#	control-left	\E[159q
+#	control-right	\E[168q
+#
+#	shift-up	\E[161q
+#	shift-down	\E[164q
+#	shift-left	\E[158q
+#	shift-right	\E[167q
+#
+#	control-tab	\[072q
+#
+iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100),
+	am,
+	cols#80, it#8, lines#40,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J,
+	cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD,
+	cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P,
+	kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q,
+	kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177,
+	kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q,
+	kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q,
+	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
+	kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q,
+	knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q,
+	kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\,
+	rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+	sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m,
+	tbc=\E[3g,
+iris-ansi-ap|IRIS ANSI in application-keypad mode,
+	is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q,
+	kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi,
+
+# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX
+# (T.Dickey 98/1/24)
+iris-color|xwsh|IRIX ANSI with color,
+	ncv#33,
+	csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m,
+	ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m,
+	rmul=\E[24m, rs1=\Ec,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sitm=\E[3m, use=vt100+enq, use=klone+color,
+	use=iris-ansi-ap,
+
+#### OpenBSD consoles
+#
+# From: Alexei Malinin <Alexei.Malinin@mail.ru>; October, 2011.
+#
+# The following terminal descriptions for the  AMD/Intel PC console
+# were prepared  based on information contained in  the OpenBSD-4.9
+# termtypes.master and wscons(4) & vga(4) manuals (2010, November).
+#
+# Added bce based on testing with tack -TD
+# Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD
+# Changed kbs to DEL and removed keys that duplicate stty settings -TD
+#
+pccon+keys|OpenBSD PC keyboard keys,
+	kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[8~, kent=^M, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
+	kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	krfr=^R,
+pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
+	acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#z#{*|!}#~o,
+	sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
+pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	enacs=\E)0$<5>, rmacs=\E(B$<5>,
+	sgr=\E[0%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<5>,
+	sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>,
+pccon+colors|ANSI colors for OpenBSD PC console,
+	bce,
+	colors#8, pairs#64,
+	op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+pccon+base|base capabilities for OpenBSD PC console,
+	am, km, mc5i, msgr, npc, nxon, xenl, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il1=\E[L, ind=\ED, nel=\EE, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+	rmso=\E[m, rs2=\Ec$<50>, smam=\E[?7h, smso=\E[7m,
+	tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
+	use=pccon+base, use=pccon+sgr+acs0, use=pccon+keys,
+pccon0|OpenBSD PC console with simple ASCII pseudographics,
+	use=pccon0-m, use=pccon+colors,
+pccon-m|OpenBSD PC console without colors,
+	use=pccon+base, use=pccon+sgr+acs, use=pccon+keys,
+pccon|OpenBSD PC console,
+	use=pccon-m, use=pccon+colors,
+
+#### NetBSD consoles
+#
+# pcvt termcap database entries (corresponding to release 3.31)
+# Author's last edit-date: [Fri Sep 15 20:29:10 1995]
+#
+# (For the terminfo master file, I translated these into terminfo syntax.
+# Then I dropped all the pseudo-HP entries. we don't want and can't use
+# the :Xs: flag. Then I split :is: into a size-independent <is1> and a
+# size-dependent <is2>.  Finally, I added <rmam>/<smam> -- esr)
+
+# NOTE: <ich1> has been taken out of this entry. for reference, it should
+# be <ich1=\E[@>.  For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below.
+# (esr: added <civis> and <cnorm> to resolve NetBSD Problem Report #4583)
+pcvtXX|pcvt vt200 emulator (DEC VT220),
+	am, km, mir, msgr, xenl,
+	it#8, vt#3,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS,
+	is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=\177,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
+	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+	khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~,
+	nel=\EE, rc=\E8, rev=\E[7m, rf=/system/share/tabset/vt100,
+	ri=\EM, rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+
+#	NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor)
+#	termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
+#	50 lines entries; 80 columns
+pcvt25|dec vt220 emulation with 25 lines,
+	cols#80, lines#25,
+	is2=\E[1;25r\E[25;1H, use=pcvtXX,
+pcvt28|dec vt220 emulation with 28 lines,
+	cols#80, lines#28,
+	is2=\E[1;28r\E[28;1H, use=pcvtXX,
+pcvt35|dec vt220 emulation with 35 lines,
+	cols#80, lines#35,
+	is2=\E[1;35r\E[35;1H, use=pcvtXX,
+pcvt40|dec vt220 emulation with 40 lines,
+	cols#80, lines#40,
+	is2=\E[1;40r\E[40;1H, use=pcvtXX,
+pcvt43|dec vt220 emulation with 43 lines,
+	cols#80, lines#43,
+	is2=\E[1;43r\E[43;1H, use=pcvtXX,
+pcvt50|dec vt220 emulation with 50 lines,
+	cols#80, lines#50,
+	is2=\E[1;50r\E[50;1H, use=pcvtXX,
+
+#	NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor)
+#	termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
+#	50 lines entries; 132 columns
+pcvt25w|dec vt220 emulation with 25 lines and 132 cols,
+	cols#132, lines#25,
+	is2=\E[1;25r\E[25;1H, use=pcvtXX,
+pcvt28w|dec vt220 emulation with 28 lines and 132 cols,
+	cols#132, lines#28,
+	is2=\E[1;28r\E[28;1H, use=pcvtXX,
+pcvt35w|dec vt220 emulation with 35 lines and 132 cols,
+	cols#132, lines#35,
+	is2=\E[1;35r\E[35;1H, use=pcvtXX,
+pcvt40w|dec vt220 emulation with 40 lines and 132 cols,
+	cols#132, lines#40,
+	is2=\E[1;40r\E[40;1H, use=pcvtXX,
+pcvt43w|dec vt220 emulation with 43 lines and 132 cols,
+	cols#132, lines#43,
+	is2=\E[1;43r\E[43;1H, use=pcvtXX,
+pcvt50w|dec vt220 emulation with 50 lines and 132 cols,
+	cols#132, lines#50,
+	is2=\E[1;50r\E[50;1H, use=pcvtXX,
+
+#	OpenBSD implements a color variation
+pcvt25-color|dec vt220 emulation with 25 lines and color,
+	cols#80, lines#25,
+	is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
+	kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX,
+	use=ecma+color,
+
+# Terminfo entries to enable the use of the ncurses library in colour on a
+# NetBSD-arm32 console (only tested on a RiscPC).
+# Created by Dave Millen <dmill@globalnet.co.uk> 22.07.98
+# modified codes for setf/setb to setaf/setab, then to klone+color, corrected
+# typo in invis - TD
+arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480),
+	am, bce, msgr, xenl, xon,
+	cols#80, it#8, lines#30,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J,
+	invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H,
+	kc1=\E[p, kc3=\E[n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kent=\E[M, kf0=\E[y, kf1=\E[P, kf10=\E[x,
+	kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t, kf6=\E[u, kf7=\E[v,
+	kf8=\E[l, kf9=\E[w, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>,
+	rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
+	rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ecma+sgr,
+	use=klone+color,
+
+arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768),
+	cols#132, lines#50, use=arm100,
+
+# NetBSD/x68k console vt200 emulator. This port runs on a 68K machine
+# manufactured by Sharp for the Japenese market.
+# From Minoura Makoto <minoura@netlaputa.or.jp>, 12 May 1996
+x68k|x68k-ite|NetBSD/x68k ITE,
+	cols#96, lines#32,
+	kclr=\E[9~, khlp=\E[28~, use=vt220,
+
+# <tv@pobox.com>:
+# Entry for the DNARD OpenFirmware console, close to ANSI but not quite.
+#
+# (still unfinished, but good enough so far.)
+ofcons|DNARD OpenFirmware console,
+	bw,
+	cols#80, lines#30,
+	bel=^G, blink=\2335m, bold=\2331m, clear=^L, cr=^M,
+	cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+	cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+	dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K,
+	flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL,
+	il1=\233L, ind=^J, invis=\2338m, kbs=^H, kcub1=\233D,
+	kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P,
+	kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W,
+	kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
+	kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m,
+	rmso=\2330m, rmul=\2330m,
+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t2%;%?%p7%t8%;%?%p1%p3%|%t;7%;m,
+	sgr0=\2330m, smso=\2337m, smul=\2334m,
+
+# NetBSD "wscons" emulator in vt220 mode.
+# This entry is based on the NetBSD termcap entry, correcting the ncv value.
+# The emulator renders underlined text in red.  Colors are otherwise usable.
+#
+# Testing the emulator and reading the source code (NetBSD 2.0), it appears
+# that "vt220" is inaccurate.  There are a few vt220-features, but most of the
+# vt220 screens in vttest do not work with this emulator.  For instance, it
+# identifies itself (primary DA response) as a vt220 with selective erase.  But
+# the selective erase feature does not work.  The secondary response is copied
+# from Kermit's emulation of vt220, does not correspond to actual vt220.  At
+# the level of detail in a termcap, it is a passable emulator, since ECH does
+# work.  Don't use it on a VMS system -TD
+wsvt25|NetBSD wscons in 25 line DEC VT220 mode,
+	bce, msgr,
+	colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64,
+	civis=\E[?25l, cnorm=\E[?25h, is2=\E[r\E[25;1H,
+	kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
+	kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=vt220,
+
+wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta,
+	km, use=wsvt25,
+
+# NetBSD 6.x still uses wscons, with minor changes (2014/02/22) -TD
+#
+# TERM is by default vt100 for the console, wsvt25 for other ttys.
+# Initial testing set TERM=xterm, based on comments by developers, found too
+# many differences to continue in that path.  However, test-results may be
+# useful to people curious about compatibility with xterm.
+#
+# Testing with tack:
+# -----------------
+# Failed: cbt, bel, flash, cvvis, smul (color), blink, invis
+# There is color-bleeding in the color-pairs screen.
+# Attributes do not work with color
+# Failed: vpa/hpa
+# Failed: kf1-kf4, kf13-kf48, khome, kend
+# 	(effectively xterm-r6 for function-keys)
+# None of the function or cursor key-modifiers are encoded.
+# Console hangs in the smm/rmm test if TERM=xterm, does not show test
+#
+# Testing with vttest:
+# -------------------
+# Identifies as vt220 with selective erase
+# 	(however, selective erase refers to DECSCA, SPA)
+# Does not implement vt52
+# Uses spaces to simulate double-size characters
+# Does not support 8-bit controls
+# Does not support VT220 reports
+# Does not support send/receive mode
+# Supports ECH (like rxvt)
+# Does not support DECSCA
+# Does not support any of the ISO-6429 cursor-movement
+# Does not support any of the ISO-6429 miscellaneous tests
+# 	(SL/SR also leave unexpected char on screen too)
+# Background does not change in menu 11.6.9 (SGR 22-27)
+# None of the xterm special features tests work
+netbsd6|NetBSD wscons in 25 line DEC VT100 mode,
+	kbs=\177, use=wsvt25,
+
+# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and
+# DECstation/pmax.
+rcons|BSD rasterconsole,
+	use=sun-il,
+# Color version of above. Color currently only provided by NetBSD.
+rcons-color|BSD rasterconsole with ANSI color,
+	bce,
+	colors#8, pairs#64,
+	op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons,
+
+# mgterm -- MGL/MGL2, MobileGear Graphic Library
+# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
+# -- the setf/setb are probably incorrect, more likely setaf/setab -TD
+# -- compare with cons25w
+mgterm,
+	OTbs, OTpt, am, bce, bw, eo, km, msgr, npc,
+	colors#8, cols#80, it#8, lines#18, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F,
+	kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf2=\E[N,
+	kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
+	kf9=\E[U, khome=\E[H, kich1=\E[L, knp=\E[G, kpp=\E[I,
+	nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT,
+	rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, setb=\E[4%p1%dm,
+	setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
+
+#### FreeBSD console entries
+#
+# From: Andrey Chernov <ache@astral.msk.su> 29 Mar 1996
+# Andrey Chernov maintains the FreeBSD termcap distributions.
+#
+# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade
+# or comment out the :cb: capability in the console entry.
+#
+# Alexander Lukyanov reports:
+# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there.
+# Now el1 clears not only to the line beginning, but also a large chunk
+# of previous line. But there is another bug - ech does not work at all.
+#
+
+# for syscons
+# common entry without semigraphics
+# Bug: The <op> capability resets attributes.
+# Bug? The ech and el1 attributes appear to move the cursor in some cases; for
+# instance el1 does if the cursor is moved to the right margin first.  Removed
+# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K)
+#
+# Setting colors turns off reverse; we cannot guarantee order, so use ncv.
+# Note that this disables standout with color.
+#
+# The emulator sends difference strings based on shift- and control-keys,
+# like scoansi:
+#	F13-F24 are shifted F1-F12
+#	F25-F36 are control F1-F12
+#	F37-F48 are shift+control F1-F12
+cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode),
+	am, bce, bw, eo, msgr, npc,
+	colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
+	cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[=1C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F,
+	kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y,
+	kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d,
+	kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h,
+	kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m,
+	kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q,
+	kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v,
+	kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z,
+	kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^,
+	kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R,
+	kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L,
+	knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m,
+	ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m,
+	sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
+cons25|ansis|ansi80x25|freebsd console (25-line ansi mode),
+	acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371,
+	use=cons25w,
+cons25-debian|freebsd console with debian backspace (25-line ansi mode),
+	kbs=\177, kdch1=\E[3~, use=cons25,
+cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode),
+	colors@, pairs@,
+	bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
+	smul=\E[4m, use=cons25,
+cons30|ansi80x30|freebsd console (30-line ansi mode),
+	lines#30, use=cons25,
+cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode),
+	lines#30, use=cons25-m,
+cons43|ansi80x43|freebsd console (43-line ansi mode),
+	lines#43, use=cons25,
+cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode),
+	lines#43, use=cons25-m,
+cons50|ansil|ansi80x50|freebsd console (50-line ansi mode),
+	lines#50, use=cons25,
+cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode),
+	lines#50, use=cons25-m,
+cons60|ansi80x60|freebsd console (60-line ansi mode),
+	lines#60, use=cons25,
+cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode),
+	lines#60, use=cons25-m,
+cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic,
+	acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225,
+	use=cons25w,
+cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono),
+	colors@, pairs@,
+	op@, rmul=\E[m, setab@, setaf@,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m,
+	smul=\E[4m, use=cons25r,
+cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines),
+	lines#50, use=cons25r,
+cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono),
+	lines#50, use=cons25r-m,
+cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines),
+	lines#60, use=cons25r,
+cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono),
+	lines#60, use=cons25r-m,
+# ISO 8859-1 FreeBSD console
+cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars,
+	acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237,
+	use=cons25w,
+cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono),
+	colors@, pairs@,
+	bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
+	smul=\E[4m, use=cons25l1,
+cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines),
+	lines#50, use=cons25l1,
+cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono),
+	lines#50, use=cons25l1-m,
+cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines),
+	lines#60, use=cons25l1,
+cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono),
+	lines#60, use=cons25l1-m,
+
+# Starting with FreeBSD 8, an alternative configuration for syscons is provided,
+# which is intended to be xterm-compatible.  See for example
+#	http://svnweb.freebsd.org/base/stable/8/sys/dev/syscons/
+# in particular scterm-teken.c
+#
+# For FreeBSD 9 and 10:
+# --------------------
+# The /etc/ttys entries for console and other ttys are all configured to set
+# TERM=xterm.
+#
+# Testing with tack:
+# There is no VT100 line-drawing (uses +'s and -'s)
+# Shifted f1-f12 give cons25 codes, rather than xterm function-keys
+#
+# Testing with vttest:
+# Menu 2 diamonds don't work, blink ditto, light background ditto
+# The terminal identifies itself as VT100 with AVO
+# There is no VT52 support
+# There is no doublesize character support
+# The terminal supports ECH (like rxvt)
+# The terminal does not support send/receive mode
+# The terminal supports all of the ISO-6429 cursor-movement
+# The terminal supports some of the ISO-6429 miscellaneous tests
+#	(SL/SR also leave unexpected char on screen too)
+#
+# Considering cons25 as a base, the line-drawing mostly works, but is missing
+# the cells which happen to have ASCII control-character values:
+#	-    ^X    arrow pointing up
+#	.    ^Y    arrow pointing down
+#	i    ^Y    lantern
+#	`    ^D    diamond
+#
+# Those are removed from this entry's acsc string to avoid confusion.
+# The resulting description provides correct line-drawing and function-keys -TD
+teken|syscons with teken,
+	bw@, mir, xenl,
+	acsc=0\333a\260f\370g\361h\261j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371,
+	civis=\E[?25l, cnorm=\E[?25h, cvvis@, hpa=\E[%i%p1%dG,
+	hts=\EH, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[F, kent=^M, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rmir=\E[4l,
+	smir=\E[4h, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+	u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, use=cons25,
+
+#### 386BSD and BSD/OS Consoles
+#
+
+# This was the original 386BSD console entry (I think).
+# Some places it's named oldpc3|oldibmpc3.
+# From: Alex R.N. Wetmore <aw2t@andrew.cmu.edu>
+origpc3|origibmpc3|IBM PC 386BSD Console,
+	OTbs, am, bw, eo, xon,
+	cols#80, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
+	bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x,
+	rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x,
+	smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x,
+
+# description of BSD/386 console emulator in version 1.0 (supplied by BSDI)
+oldpc3|oldibmpc3|old IBM PC BSD/386 Console,
+	OTbs, km,
+	lines#25,
+	bel=^G, bold=\E[=15F, cr=^M, cud1=^J, dim=\E[=8F, dl1=\E[M,
+	ht=^I, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, kll=\E[F,
+	knp=\E[G, kpp=\E[I, nel=^M^J, sgr0=\E[=R,
+
+# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1
+# Note, the emulator supports many of the additional console features
+# listed in the iBCS2 (e.g. character-set selection) though not all
+# are described here.  This entry really ought to be upgraded.
+# Also note, the console will also work with fewer lines after doing
+# "stty rows NN", e.g. to use 24 lines.
+# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996)
+# Bug: The <op> capability resets attributes.
+bsdos-pc|IBM PC BSD/OS Console,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	use=bsdos-pc-nobold,
+
+bsdos-pc-nobold|BSD/OS PC console w/o bold,
+	use=klone+color, use=bsdos-pc-m,
+
+bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono,
+	OTbs, am, eo, km, xon,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\Ec, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L,
+	kll=\E[F, knp=\E[G, kpp=\E[I, nel=^M^J, rc=\E8, sc=\E7,
+	sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;,
+	use=klone+sgr8,
+
+# Old names for BSD/OS PC console used in releases before 4.1.
+pc3|BSD/OS on the PC Console,
+	use=bsdos-pc-nobold,
+ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline,
+	use=bsdos-pc,
+
+# BSD/OS on the SPARC
+bsdos-sparc|Sun SPARC BSD/OS Console,
+	use=sun,
+
+# BSD/OS on the PowerPC
+bsdos-ppc|PowerPC BSD/OS Console,
+	use=bsdos-pc,
+
+
+#### DEC VT52
+# (<acsc>/<rmacs>/<smacs> capabilities aren't in DEC's official entry -- esr)
+#
+# Actually (TD pointed this out at the time the acsc string was added):
+# vt52 shouldn't define full acsc since most of the cells don't match.
+# see vt100 manual page A-31.  This is the list that does match:
+#	f degree
+#	g plus/minus
+#	h right-arrow
+#	k down-arrow
+#	m scan-1
+#	o scan-3
+#	q scan-5
+#	s scan-7
+# The line-drawing happens to work in several terminal emulators, but should
+# not be used as a guide to the capabilities of the vt52.  Note in particular
+# that vt52 does not support line-drawing characters (the scan-X values refer
+# to a crude plotting feature) -TD
+vt52|dec vt52,
+	OTbs,
+	cols#80, it#8, lines#24,
+	acsc=+h.k0affggolpnqprrss, bel=^G, clear=\EH\EJ, cr=^M,
+	cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
+
+#### DEC VT100 and compatibles
+#
+# DEC terminals from the vt100 forward are collected here. Older DEC terminals
+# and micro consoles can be found in the `obsolete' section.  More details on
+# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
+# found near the end of this file.
+#
+# Except where noted, these entries are DEC's official terminfos.
+# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
+# Engineering for more information.  Updated terminfos and termcaps
+# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+#
+# In October 1995 DEC sold its terminals business, including the VT and Dorio
+# line and trademark, to SunRiver Data Systems.  SunRiver has since changed
+# its name to Boundless Technologies; see http://www.boundless.com.
+#
+
+# NOTE:  Any VT100 emulation, whether in hardware or software, almost
+# certainly includes what DEC called the `Level 1 editing extension' codes;
+# only the very oldest VT100s lacked these and there probably aren't any of
+# those left alive.  To capture these, use one of the VT102 entries.
+#
+# Note that the <xenl> glitch in vt100 is not quite the same as on the Concept,
+# since the cursor is left in a different position while in the
+# weird state (concept at beginning of next line, vt100 at end
+# of this line) so all versions of vi before 3.7 don't handle
+# <xenl> right on vt100. The correct way to handle <xenl> is when
+# you output the char in column 80, immediately output CR LF
+# and then assume you are in column 1 of the next line. If <xenl>
+# is on, am should be on too.
+#
+# I assume you have smooth scroll off or are at a slow enough baud
+# rate that it doesn't matter (1200? or less). Also this assumes
+# that you set auto-nl to "on", if you set it off use vt100-nam
+# below.
+#
+# The padding requirements listed here are guesses. It is strongly
+# recommended that xon/xoff be enabled, as this is assumed here.
+#
+# The vt100 uses <rs2> and <rf> rather than <is2>/<tbc>/<hts> because the
+# tab settings are in non-volatile memory and don't need to be
+# reset upon login. Also setting the number of columns glitches
+# the screen annoyingly. You can type "reset" to get them set.
+#
+# The VT100 series terminals have cursor ("arrows") keys which can operate
+# in two different modes: Cursor Mode and Application Mode.  Cursor Mode
+# is the reset state, and is assumed to be the normal state.  Application
+# Mode is the "set" state.  In Cursor Mode, the cursor keys transmit
+# "Esc [ {code}" sequences, conforming to ANSI standards.  In Application
+# Mode, the cursor keys transmit "Esc O <code>" sequences.  Application Mode
+# was provided primarily as an aid to the porting of VT52 applications.  It is
+# assumed that the cursor keys are normally in Cursor Mode, and expected that
+# applications such as vi will always transmit the <smkx> string.  Therefore,
+# the definitions for the cursor keys are made to match what the terminal
+# transmits after the <smkx> string is transmitted.  If the <smkx> string
+# is a null string or is not defined, then cursor keys are assumed to be in
+# "Cursor Mode", and the cursor keys definitions should match that assumption,
+# else the application may fail.  It is also expected that applications will
+# always transmit the <rmkx> string to the terminal before they exit.
+#
+# The VT100 series terminals have an auxiliary keypad, commonly referred to as
+# the "Numeric Keypad", because it is a cluster of numeric and function keys.
+# The Numeric Keypad which can operate in two different modes: Numeric Mode and
+# Application Mode.  Numeric Mode is the reset state, and is assumed to be
+# the normal state.  Application Mode is the "set" state.  In Numeric Mode,
+# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
+# Enter key transmits the same as the Return key (Note: the Return key
+# can be configured to send either LF (\015) or CR LF).  In Application Mode,
+# all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
+# always send the same "Esc O {code}" sequences.  It is assumed that the keypad
+# is normally in Numeric Mode.  If an application requires that the keypad be
+# in Application Mode then it is expected that the user, or the application,
+# will set the TERM environment variable to point to a terminfo entry which has
+# defined the <smkx> string to include the codes that switch the keypad into
+# Application Mode, and the terminfo entry will also define function key
+# fields to match the Application Mode control codes.  If the <smkx> string
+# is a null string or is not defined, then the keypad is assumed to be in
+# Numeric Mode.  If the <smkx> string switches the keypad into Application
+# Mode, it is expected that the <rmkx> string will contain the control codes
+# necessary to reset the keypad to "Normal" mode, and it is also expected that
+# applications which transmit the <smkx> string will also always transmit the
+# <rmkx> string to the terminal before they exit.
+#
+# Here's a diagram of the VT100 keypad keys with their bindings.
+# The top line is the name of the key (some DEC keyboards have the keys
+# labelled somewhat differently, like GOLD instead of PF1, but this is
+# the most "official" name).  The second line is the escape sequence it
+# generates in Application Keypad mode (where "$" means the ESC
+# character).  The third line contains two items, first the mapping of
+# the key in terminfo, and then in termcap.
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   |   PF4   |
+#  |   $OP   |   $OQ   |   $OR   |   $OS   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
+#  |    7         8         9         -    |
+#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
+#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________|
+#  |    4    |    5    |    6    |    ,    |
+#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
+#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |  enter  |
+#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|  $OM    |
+#  |         0         |   .     |         |
+#  |        $Op        |  $On    |         |
+#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
+#
+# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
+# terminfo guidelines.  That is a compromise used to assign the remaining
+# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
+# support:
+vt100+keypad|dec vt100 numeric keypad no fkeys,
+	ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn,
+vt100+pfkeys|dec vt100 numeric keypad,
+	kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	use=vt100+keypad,
+vt100+fnkeys|dec vt100 numeric keypad,
+	kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
+	kf9=\EOw, use=vt100+pfkeys,
+#
+# A better adaptation to modern keyboards such as the PC's, which have a dozen
+# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
+# use the 5-key arrangement to model the arrow keys as suggested in the
+# terminfo guidelines:
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   |   PF4   |
+#  |   $OP   |   $OQ   |   $OR   |   $OS   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
+#  |    7         8         9         -    |
+#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
+#  |_ka1__K1_|_________|_ka3__K3_|_________|
+#  |    4    |    5    |    6    |    ,    |
+#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
+#  |_________|_kb2__K2_|_________|_________|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |  enter  |
+#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
+#  |         0         |   .     |         |
+#  |        $Op        |  $On    |         |
+#  |___________________|_________|_kent_@8_|
+#
+vt220+keypad|dec vt220 numeric keypad,
+	ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, ka2=\EOx, kb1=\EOt,
+	kb3=\EOv, kc2=\EOr,
+#
+vt100+enq|ncurses extension for vt100-style ENQ,
+	u8=\E[?1;2c, use=ansi+enq,
+vt102+enq|ncurses extension for vt102-style ENQ,
+	u8=\E[?6c, use=ansi+enq,
+#
+# And here, for those of you with orphaned VT100s lacking documentation, is
+# a description of the soft switches invoked when you do `Set Up'.
+#
+#  Scroll 0-Jump               Shifted 3   0-#
+#  |      1-Smooth             |           1-British pound sign
+#  | Autorepeat 0-Off          | Wrap Around 0-Off
+#  | |          1-On           | |           1-On
+#  | | Screen 0-Dark Bkg       | | New Line 0-Off
+#  | | |      1-Light Bkg      | | |        1-On
+#  | | | Cursor 0-Underline    | | | Interlace 0-Off
+#  | | | |      1-Block        | | | |         1-On
+#  | | | |                     | | | |
+#  1 1 0 1       1 1 1 1       0 1 0 0       0 0 1 0       <--Standard Settings
+#                | | | |                     | | | |
+#                | | | Auto XON/XOFF 0-Off   | | | Power 0-60 Hz
+#                | | |               1-On    | | |       1-50 Hz
+#                | | Ansi/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
+#                | |           1-ANSI        | |                1-8 Bits
+#                | Keyclick 0-Off            | Parity 0-Off
+#                |          1-On             |        1-On
+#                Margin Bell 0-Off           Parity Sense 0-Odd
+#                            1-On                         1-Even
+#
+# The following SET-UP modes are assumed for normal operation:
+#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
+#	WRAP_AROUND_ON  JUMP_SCROLL_OFF
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements; I recommend
+#	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF    SHIFTED_3_#
+# Unless you have a graphics add-on such as Digital Engineering's VT640
+# (and even then, whenever it can be arranged!) you should set
+#	INTERLACE_OFF
+#
+# (vt100: I added <rmam>/<smam> based on the init string, also <OTbs>. -- esr)
+vt100|vt100-am|dec vt100 (w/advanced video),
+	OTbs, am, mc5i, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, lf1=pf1,
+	lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+	rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
+	use=vt100+fnkeys,
+vt100nam|vt100-nam|vt100 no automargins,
+	am@, xenl@, use=vt100-am,
+vt100-vb|dec vt100 (w/advanced video) & no beep,
+	bel@, flash=\E[?5h\E[?5l, use=vt100,
+
+# Ordinary vt100 in 132 column ("wide") mode.
+vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video),
+	cols#132, lines#24,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am,
+vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin),
+	cols#132, lines#14, vt@,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam,
+
+# vt100 with no advanced video.
+vt100-nav|vt100 without advanced video option,
+	xmc#1,
+	blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m,
+	smul@, use=vt100,
+vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option),
+	cols#132, lines#14, use=vt100-nav,
+
+# vt100 with one of the 24 lines used as a status line.
+# We put the status line on the top.
+vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline,
+	eslok, hs,
+	lines#23,
+	clear=\E[2;1H\E[J$<50>, csr=\E[%i%i%p1%d;%p2%dr,
+	cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, dsl=\E7\E[1;24r\E8,
+	fsl=\E8, home=\E[2;1H, is2=\E7\E[2;24r\E8,
+	tsl=\E7\E[1;%p1%dH\E[1K, use=vt100-am,
+
+# Status line at bottom.
+# Clearing the screen will clobber status line.
+vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline,
+	eslok, hs,
+	lines#23,
+	dsl=\E7\E[1;24r\E8, fsl=\E8, is2=\E[1;23r\E[23;1H,
+	tsl=\E7\E[24;%p1%dH\E[1K, use=vt100-am,
+
+# Most of the `vt100' emulators out there actually emulate a vt102
+# This entry (or vt102-nsgr) is probably the right thing to use for
+# these.
+vt102|dec vt102,
+	dch1=\E[P, dl1=\E[M, il1=\E[L, rmir=\E[4l, smir=\E[4h,
+	use=vt100,
+vt102-w|dec vt102 in wide mode,
+	cols#132,
+	rs3=\E[?3h, use=vt102,
+
+# Many brain-dead PC comm programs that pretend to be `vt100-compatible'
+# fail to interpret the ^O and ^N escapes properly.  Symptom: the <sgr0>
+# string in the canonical vt100 entry above leaves the screen littered
+# with little  snowflake or star characters (IBM PC ROM character \017 = ^O)
+# after highlight turnoffs.  This entry should fix that, and even leave
+# ACS support working, at the cost of making multiple-highlight changes
+# slightly more expensive.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995
+vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes),
+	sgr@, sgr0=\E[m, use=vt102,
+
+# VT125 Graphics CRT.  Clear screen also erases graphics
+# Some vt125's came configured with vt102 support.
+vt125|vt125 graphics terminal,
+	mir,
+	clear=\E[H\E[2J\EPpS(E)\E\\$<50>, use=vt100,
+
+# This isn't a DEC entry, it came from University of Wisconsin.
+# (vt131: I added <rmam>/<smam> based on the init string, also <OTbs> -- esr)
+vt131|dec vt131,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^J, cuf1=\E[C$<2/>,
+	cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>,
+	ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I,
+	is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>, ri=\EM$<5/>,
+	rmam=\E[?7h, rmkx=\E[?1l\E>, rmso=\E[m$<2/>,
+	rmul=\E[m$<2/>,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m$<2/>, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+
+# vt132 - like vt100 but slower and has ins/del line and such.
+# I'm told that <smir>/<rmir> are backwards in the terminal from the
+# manual and from the ANSI standard, this describes the actual
+# terminal. I've never actually used a vt132 myself, so this
+# is untested.
+#
+vt132|DEC vt132,
+	xenl,
+	dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>,
+	ip=$<7>, rmir=\E[4h, smir=\E[4l, use=vt100,
+
+# This vt220 description maps F5--F9 to the second block of function keys
+# at the top of the keyboard.  The "DO" key is used as F10 to avoid conflict
+# with the key marked (ESC) on the vt220.  See vt220d for an alternate mapping.
+# PF1--PF4 are used as F1--F4.
+#
+# added msgr -TD
+vt220-old|vt200-old|DEC VT220 in vt100 emulation mode,
+	OTbs, OTpt, am, mir, msgr, xenl, xon,
+	cols#80, lines#24, vt#3,
+	OTnl=^J,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l,
+	clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+	dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+	if=/system/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>,
+	is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\EOP,
+	kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
+	kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~,
+	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rc=\E8,
+	rev=\E[7m$<2>, rf=/system/share/tabset/vt100,
+	ri=\EM$<14/>, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m,
+
+# A much better description of the VT200/220; used to be vt220-8
+# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
+# designation to accommodate bug in pcvt -TD
+#
+# Here's a picture of the VT220 editing keypad:
+#	+--------+--------+--------+
+#	| Find   | Insert | Remove |
+#	+--------+--------+--------+
+#	| Select | Prev   | Next   |
+#	+--------+--------+--------+
+vt220|vt200|dec vt220,
+	OTbs, am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, if=/system/share/tabset/vt100,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B$<4>,
+	rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E[?3l, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+pp,
+	use=ansi+enq,
+vt220-w|vt200-w|DEC vt220 in wide mode,
+	cols#132,
+	rs3=\E[?3h, use=vt220,
+vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode,
+	OTbs, am, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\2335m, bold=\2331m, clear=\233H\233J, cr=^M,
+	csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=^H,
+	cud=\233%p1%dB, cud1=^J, cuf=\233%p1%dC, cuf1=\233C,
+	cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A,
+	dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+	ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E)0,
+	flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH,
+	ich=\233%p1%d@, if=/system/share/tabset/vt100,
+	il=\233%p1%dL, il1=\233L, ind=\ED,
+	is2=\233?7h\233>\233?1l\E F\233?4l, kbs=^H,
+	kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+	kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~,
+	kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~,
+	kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~,
+	kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+	kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H,
+	kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~,
+	kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i,
+	mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM,
+	rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m,
+	rmul=\23324m, rs1=\233?3l, sc=\E7,
+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h,
+	smso=\2337m, smul=\2334m, tbc=\2333g,
+
+# vt220d:
+# This vt220 description regards F6--F10 as the second block of function keys
+# at the top of the keyboard.  This mapping follows the description given
+# in the VT220 Programmer Reference Manual and agrees with the labeling
+# on some terminals that emulate the vt220.  There is no support for an F5.
+# See vt220 for an alternate mapping.
+#
+vt220d|DEC VT220 in vt100 mode with DEC function key labeling,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf5@, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, use=vt220-old,
+
+vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins,
+	am@,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220,
+
+# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko
+# (not an official DEC entry!)
+# The problem with real vt220 terminals is they don't send escapes when in
+# in vt220 mode.  This can be gotten around two ways.  1> don't send
+# escapes or 2> put the vt220 into vt100 mode and use all the nifty
+# features of vt100 advanced video which it then has.
+#
+# This entry takes the view of putting a vt220 into vt100 mode so
+# you can use the escape key in emacs and everything else which needs it.
+#
+# You probably don't want to use this on a VMS machine since VMS will think
+# it has a vt220 and will get fouled up coming out of emacs
+#
+# From: Alexander Latzko <latzko@marsenius.rutgers.edu>, 30 Dec 1996
+# (Added vt100 <rc>,<sc> to quiet a tic warning -- esr)
+# added msgr -TD
+vt200-js|vt220-js|dec vt200 series with jump scroll,
+	am, msgr,
+	cols#80,
+	bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H,
+	ht=^I, il1=\E[L, ind=\ED,
+	is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1h\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8,
+	rf=/system/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, smdc=,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m,
+
+# This was DEC's vt320.  Use the purpose-built one below instead
+#vt320|DEC VT320 in vt100 emulation mode,
+#	use=vt220,
+
+# Use v320n for SCO's LYRIX.  Otherwise, use Adam Thompson's vt320-nam.
+#
+vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode,
+	am@,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220,
+
+# These entries are not DEC's official ones, they were purpose-built for the
+# VT320.  Here are the designer's notes:
+# <kel> is end on a PC kbd.  Actually 'select' on a VT.  Mapped to
+# 'Erase to End of Field'... since nothing seems to use 'end' anyways...
+# khome is Home on a PC kbd.  Actually 'FIND' on a VT.
+# Things that use <knxt> usually use tab anyways... and things that don't use
+# tab usually use <knxt> instead...
+# kprv is same as tab - Backtab is useless...
+# I left out <sgr> because of its RIDICULOUS complexity,
+# and the resulting fact that it causes the termcap translation of the entry
+# to SMASH the 1k-barrier...
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+# (vt320: uncommented <fsl> --esr)
+vt320|vt300|dec vt320 7 bit terminal,
+	am, hs, mir, msgr, xenl,
+	cols#80, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I,
+	kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m,
+	rf=/system/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=dec+pp, use=vt220+keypad, use=dec+sl, use=ansi+enq,
+vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy,
+	am@,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+	use=vt320,
+# We have to init 132-col mode, not 80-col mode.
+vt320-w|vt300-w|dec vt320 wide 7 bit terminal,
+	cols#132, wsl#132,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	use=vt320,
+vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am,
+	am@,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+	use=vt320-w,
+
+# VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals
+#   which are pretty much a superset of the VT320.  They have the
+#   host writable status line, yet another different DRCS matrix size,
+#   and such, but they add the DEC Technical character set, Multiple text
+#   pages, selectable length pages, and the like.  The difference between
+#   the vt330 and vt340 is that the latter has only 2 planes and a monochrome
+#   monitor, the former has 4 planes and a color monitor.  These terminals
+#   support VT131 and ANSI block mode, but as with much of these things,
+#   termcap/terminfo doesn't deal with these features.
+#
+# Note that this entry is are set up in what was the standard way for GNU
+# Emacs v18 terminal modes to deal with the cursor keys in that the arrow
+# keys were switched into application mode at the same time the numeric pad
+# is switched into application mode.  This changes the definitions of the
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
+# your termcap or terminfo entry,
+#
+# From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
+# (vt340: string capability "sb=\E[M" corrected to "sr";
+# also, added <rmam>/<smam> based on the init string -- esr)
+vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J,
+	cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, dsl=\E[2$~\r\E[1$}\E[K\E[$},
+	ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$},
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+	il1=\E[L, ind=\ED,
+	is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+	lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m,
+	rf=/system/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[?3l, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[2$~\E[1$}\E[1;%dH,
+
+# DEC doesn't supply a vt400 description, so we add Daniel Glasser's
+# (originally written with vt420 as its primary name, and usable for it).
+#
+# VT400/420 -- This terminal is a superset of the vt320.  It adds the multiple
+#    text pages and long text pages with selectable length of the vt340, along
+#    with left and right margins, rectangular area text copy, fill, and erase
+#    operations, selected region character attribute change operations,
+#    page memory and rectangle checksums, insert/delete column, reception
+#    macros, and other features too numerous to remember right now.  TERMCAP
+#    can only take advantage of a few of these added features.
+#
+# Note that this entry is are set up in what was the standard way for GNU
+# Emacs v18 terminal modes to deal with the cursor keys in that the arrow
+# keys were switched into application mode at the same time the numeric pad
+# is switched into application mode.  This changes the definitions of the
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
+# your termcap entry,
+#
+# From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
+# (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:";
+# also, added <rmam>/<smam> based on the init string -- esr)
+vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J$<10/>, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>,
+	el=\E[K$<4/>, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$},
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+	lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m,
+	rf=/system/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E<\E[?3l\E[!p\E[?7h, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[2$~\E[1$}\E[1;%dH, use=dec+sl,
+
+# (vt420: I removed <kf0>, it collided with <kf10>.  I also restored
+# a missing <sc> -- esr)
+# add msgr and other capabilities from vt220 -TD
+vt420|DEC VT420,
+	am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l,
+	clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K,
+	enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, if=/system/share/tabset/vt300,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E[1;24r\E[24;1H,
+	is3=\E[?67h\E[64;1"p, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[29~,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~,
+	kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~,
+	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, nel=\EE,
+	rc=\E8, rev=\E[7m$<2>, rf=/system/share/tabset/vt300,
+	ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+	rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h,
+	smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=ansi+pp, use=dec+sl, use=ansi+enq,
+
+# DEC VT220 and up support DECUDK (user-defined keys).  DECUDK (i.e., pfx)
+# takes two parameters, the key and the string.  Translating the key is
+# straightforward (keys 1-5 are not defined on real terminals, though some
+# emulators define these):
+#
+#               if (key < 16) then  value = key;
+#               else if (key < 21) then value = key + 1;
+#               else if (key < 25) then value = key + 2;
+#               else if (key < 27) then value = key + 3;
+#               else if (key < 30) then value = key + 4;
+#               else value = key + 5;
+#
+# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT".
+# There's no provision in terminfo for emitting a string in this format, so the
+# application has to know it.
+#
+vt420pc|DEC VT420 w/PC keyboard,
+	kdch1=\177, kend=\E[4~, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[11;2~, kf14=\E[12;2~,
+	kf15=\E[13;2~, kf16=\E[14;2~, kf17=\E[15;2~,
+	kf18=\E[17;2~, kf19=\E[18;2~, kf2=\E[12~, kf20=\E[19;2~,
+	kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~,
+	kf24=\E[24;2~, kf25=\E[23~, kf26=\E[24~, kf27=\E[25~,
+	kf28=\E[26~, kf29=\E[28~, kf3=\E[13~, kf30=\E[29~,
+	kf31=\E[31~, kf32=\E[32~, kf33=\E[33~, kf34=\E[34~,
+	kf35=\E[35~, kf36=\E[36~, kf37=\E[23;2~, kf38=\E[24;2~,
+	kf39=\E[25;2~, kf4=\E[14~, kf40=\E[26;2~, kf41=\E[28;2~,
+	kf42=\E[29;2~, kf43=\E[31;2~, kf44=\E[32;2~,
+	kf45=\E[33;2~, kf46=\E[34;2~, kf47=\E[35;2~,
+	kf48=\E[36;2~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	pctrm=USR_TERM\:vt420pcdos\:,
+	pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\,
+	use=vt420,
+
+vt420pcdos|DEC VT420 w/PC for DOS Merge,
+	lines#25,
+	dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1%{127}%=%t\E\177%e%p1%c%;,
+	pctrm@,
+	rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@,
+	sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc,
+
+vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys,
+	kdch1=\177, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[H, lf1=\EOP, lf2=\EOQ, lf3=\EOR, lf4=\EOS,
+	use=vt420,
+
+vt510|DEC VT510,
+	use=vt420,
+vt510pc|DEC VT510 w/PC keyboard,
+	use=vt420pc,
+vt510pcdos|DEC VT510 w/PC for DOS Merge,
+	use=vt420pcdos,
+
+# VT520/VT525
+#
+# The VT520 is a monochrome text terminal capable of managing up to
+# four independent sessions in the terminal.  It has multiple ANSI
+# emulations (VT520, VT420, VT320, VT220, VT100, VT PCTerm, SCO Console)
+# and ASCII emulations (WY160/60, PCTerm, 50/50+, 150/120, TVI 950,
+# 925 910+, ADDS A2).  This terminfo data is for the ANSI emulations only.
+#
+# Terminal Set-Up is entered by pressing [F3], [Caps Lock]/[F3] or
+# [Alt]/[Print Screen] depending upon which keyboard and which
+# terminal mode is being used.  If Set-Up has been disabled or
+# assigned to an unknown key, Set-Up may be entered by pressing
+# [F3] as the first key after power up, regardless of keyboard type.
+vt520|DEC VT520,
+	use=ansi+rca, use=vt420, use=ansi+tabs,
+
+vt525|DEC VT525,
+	use=vt520,
+
+# I just got a brand new Boundless VT520 with that company's "ANSI 2011"
+# Keyboard, which replaces the old LK41R-AA keyboard.
+#
+# In trying to get the function keys to work, I had to cobble my own
+# terminfo.src entry, since the existing vt520 entry doesn't include most of
+# the function keys.  If I blend the entries for "vt420f" and "vt220+keypad"
+# I seem to get them all -Mike Gran
+vt520ansi|Boundless VT520 ANSI,
+	use=ansi+rca, use=vt420f, use=vt220+keypad,
+	use=ansi+tabs,
+
+#### VT100 emulations
+#
+
+# John Hawkinson <jhawk@MIT.EDU> tells us that the EWAN telnet for Windows
+# (the best Windows telnet as of September 1995) presents the name `dec-vt100'
+# to telnetd.   Michael Deutschmann <ldeutsch@mail.netshop.net> informs us
+# that this works best with a stock vt100 entry.
+dec-vt100|EWAN telnet's vt100 emulation,
+	use=vt100,
+
+# From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996
+dec-vt220|DOS tnvt200 terminal emulator,
+	am@, use=vt220,
+
+# Zstem340 is an (IMHO) excellent VT emulator for PC's.  I recommend it to
+# anyone who needs PC VT340 emulation. (or anything below that level, for
+# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's
+# RDBM systems, it includes ReGIS and SiXel support!  I'm impressed...
+# I can send the address if requested.
+# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr)
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+z340|zstem vt340 terminal emulator 132col 42line,
+	lines#42,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H,
+	use=vt320-w,
+z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins),
+	am@,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H,
+	use=z340,
+
+# CRT is shareware.  It implements some xterm features, including mouse.
+crt|crt-vt220|CRT 2.3 emulating VT220,
+	bce, msgr,
+	ncv@,
+	hts=\EH, use=vt100+enq, use=vt220, use=ecma+color,
+
+# PuTTY 0.55 (released 3 August 2004)
+# http://www.chiark.greenend.org.uk/~sgtatham/putty/
+#
+# Comparing with 0.51, vttest is much better (only a few problems with the
+# cursor position reports and wrapping).
+#
+# PuTTY 0.51 (released 14 December 2000)
+#
+# This emulates vt100 + vt52 (plus a few vt220 features:  ech, SRM, DECTCEM, as
+# well as SCO and Atari, color palettes from Linux console).  Reading the code,
+# it is intended to be VT102 plus selected features.  By default, it sets $TERM
+# to xterm, which is incorrect, since several features are misimplemented:
+#
+#	Alt+key always sends ESC+key, so 'km' capability is removed.
+#
+#	Control responses, wrapping and tabs are buggy, failing a couple of
+#	screens in vttest.
+#
+#	xterm mouse support is not implemented (unrelease version may).
+#
+# Several features such as backspace/delete are optional; this entry documents
+# the default behavior -TD
+
+putty|PuTTY terminal emulator,
+	am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
+	colors#8, it#8, ncv#22, pairs#64, U8#1,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+	dch=\E[%p1%dP, dch1=\E[P,
+	dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+	ind=^J, indn=\E[%p1%dS,
+	initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
+	kLFT=\EOD, kRIT=\EOC, kb2=\E[G, kbs=\177, kcbt=\E[Z,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
+	kind=\EOB, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kri=\EOA,
+	kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
+	ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
+	rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
+	s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
+	smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=putty+fnkeys,
+	use=vt102+enq, use=xterm+sl,
+vt100-putty|Reset PuTTY to pure vt100,
+	rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
+	use=vt100,
+# palette is hardcoded...
+putty-256color|PuTTY 0.58 with xterm 256-colors,
+	use=xterm+256setaf, use=putty,
+
+# One of the keyboard selections is "VT100+".
+# pterm (the X11 port) uses shifted F1-F10 as F11-F20
+putty-vt100|VT100+ keyboard layout,
+	use=putty+fnkeys+vt100, use=putty,
+
+putty-sco|putty with SCO function keys,
+	use=putty+fnkeys+sco, use=putty,
+
+# PuTTY has more than one section in its Keyboard configuration:
+# a) backspace/delete, which we ignore since that choice largely depends on
+#    whether one matches Unix and BSD or Linux.
+# b) home/end keys, also ignored because the "rxvt" setting sends keys which
+#    are unrelated to rxvt's actual settings.
+# c) function keys and keypad - this is the interesting part.  None of the
+#    selections match any of their respective namesakes, but they are shown
+#    here to help users who expect that the selections do what is implied.
+#
+# This is the default setting for PuTTY
+putty+fnkeys|fn-keys for PuTTY,
+	use=putty+fnkeys+esc,
+
+putty+fnkeys+esc|ESC[n~ fn-keys for PuTTY,
+	kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+	kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+
+putty+fnkeys+linux|Linux fn-keys for PuTTY,
+	kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+	use=putty+fnkeys+esc,
+
+putty+fnkeys+xterm|Xterm R6 fn-keys for PuTTY,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	use=putty+fnkeys+esc,
+
+putty+fnkeys+vt400|VT400 fn-keys for PuTTY,
+	use=putty+fnkeys+esc,
+
+# Shifted F1 is F11.  F13-F20 inherit from the defaults, and the last distinct
+# key is F20.
+putty+fnkeys+vt100|VT100+ fn-keys for PuTTY,
+	kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EO[, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	kf9=\EOX, use=putty+fnkeys+esc,
+
+# Unlike xterm-sco, this leaves kmous ambiguous with kf1.
+#
+# Use modifiers to obtain function keys past 12:
+# F1-F12 - normal
+# F13-F24 - shift
+# F25-F36 - control/alt
+# F37-F48 - control/shift
+#
+putty+fnkeys+sco|SCO fn-keys for PuTTY,
+	kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+	kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
+	kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+	kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+	kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+	kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+	kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+	kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+	kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+	kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+	kich1=\E[L, knp=\E[G, kpp=\E[I,
+
+# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
+# T. Teranishi dated Mar 10, 1998.  It is a free software terminal emulator
+# (communication program) which supports:
+#
+#	- Serial port connections.
+#	- TCP/IP (telnet) connections.
+#	- VT100 emulation, and selected VT200/300 emulation.
+#	- TEK4010 emulation.
+#	- File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and
+#	  Quick-VAN).
+#	- Scripts using the "Tera Term Language".
+#	- Japanese and Russian character sets.
+#
+# The program does not come with terminfo or termcap entries.  However, the
+# emulation (testing with vttest and ncurses) is reasonably close to vt100 (no
+# vt52 or doublesize character support; blinking is done with color).  Besides
+# the HPA, VPA extensions it also implements CPL and CNL.
+#
+# All of the function keys can be remapped.  This description shows the default
+# mapping, as installed.  Both vt100 PF1-PF4 keys and quasi-vt220 F1-F4 keys
+# are supported.  F13-F20 are obtained by shifting F3-F10.  The editing keypad
+# is laid out like vt220, rather than the face codes on the PC keyboard, i.e,
+#	kfnd	Insert
+#	kslt	Delete
+#	kich1	Home
+#	kdch1	PageUp
+#	kpp	End
+#	knp	PageDown
+#
+# ANSI colors are implemented, but cannot be combined with video attributes
+# except for reverse.
+#
+# No fonts are supplied with the program, so the acsc string is chosen to
+# correspond with the default Microsoft terminal font.
+#
+# Tera Term recognizes some xterm sequences, including those for setting and
+# retrieving the window title, and for setting the window size (i.e., using
+# "resize -s"), though it does not pass SIGWINCH to the application if the
+# user resizes the window with the mouse.
+teraterm2.3|Tera Term Pro,
+	km, xon@,
+	ncv#43, vt@,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J,
+	cnorm=\E[?25h, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h\E[?5l$<200/>, hpa=\E[%i%p1%dG,
+	il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~,
+	kpp=\E[5~, kslt=\E[4~, op=\E[100m, rev=\E[7m, ri=\EM,
+	rmso=\E[27m, rmul=\E[24m, sgr0=\E[0m\017, smso=\E[7m,
+	smul=\E[4m, vpa=\E[%i%p1%dd, use=vt100+enq,
+	use=klone+color, use=vt100,
+
+# Version 4.59 has regular vt100 line-drawing (so it is no longer necessary
+# to choose a Windows OEM font).
+#
+# Testing with tack:
+#	- it does not have xenl (suppress that)
+#	- underline seems to work with color (modify ncv).
+# Testing with vttest:
+#	- wrapping differs from vt100 (menu 1).
+#	- it recognizes xterm's X10 and normal mouse tracking, but none of the
+#	  other flavors.
+#	- it recognizes the dtterm window controls for reporting size in
+#	  characters and pixels.
+#	- it passes SIGWINCH.
+teraterm4.59|Tera Term Pro,
+	bce, xenl@,
+	ncv#41,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	kmous=\E[M, use=teraterm2.3,
+
+teraterm|Tera Term,
+	use=teraterm4.59,
+
+# Tested with WinNT 4.0, the telnet application assumes the screensize is
+# 25x80.  This entry uses the 'Terminal' font, to get line-drawing characters.
+#
+# Other notes:
+# a) Fails tack's cup (cursor-addressing) test, though cup works well enough
+#    for casual (occasional) use.  Also fails several of the vttest screens,
+#    but that is not unusual for vt100 "emulators".
+# b) Does not implement vt100 keypad
+# c) Recognizes a subset of vt52 controls.
+ms-vt100|MS telnet imitating dec vt100,
+	lines#25,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	ka1@, ka3@, kb2@, kc1@, kc3@, kent@, kf0@, kf1@, kf10@, kf2@, kf3@, kf4@,
+	kf5@, kf6@, kf7@, kf8@, kf9@, tbc@, use=vt102+enq, use=vt100,
+
+# Tested with Windows 2000, the telnet application runs in a console window,
+# also using 'Terminal' font.
+#
+# Other notes:
+# a) This version has no function keys or numeric keypad.  Unlike the older
+#    version, the numeric keypad is entirely ignored.
+# b) The program sets $TERM to "ansi", which of course is inaccurate.
+ms-vt100-color|vtnt|windows 2000 ansi (sic),
+	bce,
+	dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color,
+	use=ms-vt100,
+
+# Based on comments from Federico Bianchi:
+#
+#	vt100+ is basically a VT102-noSGR with ANSI.SYS colors and a different
+#	scheme for PF keys.
+#
+# and PuTTY wishlist:
+#
+#	The modifiers are represented as the codes listed above, prefixed to
+#	the normal sequences.  If the modifier is pressed alone, its sequence
+#	is transmitted twice in succession.  If multiple modifiers apply,
+#	they're transmitted in the order shift, control, alt.
+#
+#	Shift	\E^S
+#	Alt	\E^A,
+#	Ctrl	\E^C,
+ms-vt100+|vt100+|windows XP vt100+ (sic),
+	kdch1=\E-, kend=\Ek, kf1=\E1, kf10=\E0, kf11=\E!, kf12=\E@,
+	kf13=\E\023\E1, kf14=\E\023\E2, kf15=\E\023\E3,
+	kf16=\E\023\E4, kf17=\E\023\E5, kf18=\E\023\E6,
+	kf19=\E\023\E7, kf2=\E2, kf20=\E\023\E8, kf21=\E\023\E9,
+	kf22=\E\023\E0, kf23=\E\023\E!, kf24=\E\023\E@,
+	kf25=\E\003\E1, kf26=\E\003\E2, kf27=\E\003\E3,
+	kf28=\E\003\E4, kf29=\E\003\E5, kf3=\E3, kf30=\E\003\E6,
+	kf31=\E\003\E7, kf32=\E\003\E8, kf33=\E\003\E9,
+	kf34=\E\003\E0, kf35=\E\003\E!, kf36=\E\003\E@,
+	kf37=\E\001\E1, kf38=\E\001\E2, kf39=\E\001\E3, kf4=\E4,
+	kf40=\E\001\E4, kf41=\E\001\E5, kf42=\E\001\E6,
+	kf43=\E\001\E7, kf44=\E\001\E8, kf45=\E\001\E9,
+	kf46=\E\001\E0, kf47=\E\001\E!, kf48=\E\001\E@, kf5=\E5,
+	kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, khome=\Eh, kich1=\E+,
+	knp=\E/, kpp=\E?, use=ms-vt100-color,
+
+ms-vt-utf8|vt-utf8|UTF-8 flavor of vt100+,
+	use=ms-vt100+,
+
+# expect-5.44.1.15/example/tkterm
+# a minimal subset of a vt100 (compare with "news-unk).
+#
+# The missing "=" in smkx is not a typo (here), but an error in tkterm.
+tt|tkterm|Don Libes' tk text widget terminal emulator,
+	clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%p1%d;%p2%dH, cuu1=\E[A, ind=^J, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
+	smso=\E[7m,
+
+######## X TERMINAL EMULATORS
+#### XTERM
+#
+# You can add the following line to your .Xdefaults to change the terminal type
+# set by the xterms you start up to my-xterm:
+#
+# *termName:  my-xterm
+#
+# System administrators can change the default entry for xterm instances
+# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm.  In either
+# case, xterm will detect and reject an invalid terminal type, falling back
+# to the default of xterm.
+#
+
+# X10/6.6	11/7/86, minus alternate screen, plus (csr)
+# (xterm: ":MT:" changed to ":km:"; added <smam>/<rmam> based on init string;
+# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E)
+# as these seem not to work -- esr)
+x10term|vs100-x10|xterm terminal emulator (X10 window system),
+	OTbs, am, km, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#65,
+	bold=\E[1m, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, is2=\E\E[m\E[?7h\E[?1;4l, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m,
+# Compatible with the R5 xterm
+# (from the XFree86 3.2 distribution, <blink=@> removed)
+# added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD
+# corrected typos in rs2 string - TD
+# added u6-u9 -TD
+xterm-r5|xterm R5 version,
+	OTbs, am, km, msgr, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~,
+	kdl1=\E[31~, kel=\E[8~, kend=\E[4~, kf0=\EOq, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+	kil1=\E[30~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8,
+	rev=\E[7m, ri=\EM, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m,
+	rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H,
+	sc=\E7,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
+	sgr0=\E[m, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, use=vt100+enq,
+# Compatible with the R6 xterm
+# (from XFree86 3.2 distribution, <acsc> and <it> added, <blink@> removed)
+# added khome/kend, hts based on the R6 xterm code - TD
+# (khome/kend do not actually work in X11R5 or X11R6, but many people use this
+# for compatibility with other emulators).
+xterm-r6|xterm X11R6 version,
+	OTbs, am, km, mir, msgr, xenl,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, enacs=\E)0, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL,
+	il1=\E[L, ind=^J,
+	is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+	kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8, sc=\E7,
+	sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=vt100+enq,
+xterm-old|antique xterm version,
+	use=xterm-r6,
+# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
+# The name has been changed and some aliases have been removed.
+xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
+	OTbs, am, bce, km, mir, msgr, xenl, XT,
+	cols#80, it#8, lines#24, ncv@,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+	flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=^J,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
+	kbeg=\EOE, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kdch1=\177, kend=\EOF, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~,
+	kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~,
+	kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, meml=\El,
+	memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+	rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[27m, rmul=\E[24m, rs1=^O,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt100+enq,
+	use=ecma+color, use=vt220+keypad,
+
+# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
+# codes for F1-F4 except while in VT220 mode.
+xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System),
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-xf86-v32,
+
+# This version was released in XFree86 3.3.3 (November 1998).
+# Besides providing printer support, it exploits a new feature that allows
+# xterm to use terminfo-based descriptions with the titeInhibit resource.
+# -- the distribution contained incorrect khome/kend values -TD
+xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
+	blink=\E[5m, ich1@, invis=\E[8m,
+	is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@,
+	rmcup=\E[?1047l\E[?1048l, rs1=\Ec,
+	rs2=\E[!p\E[?3;4l\E[4l\E>,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	smcup=\E[?1048h\E[?1047h, use=ansi+pp,
+	use=xterm-xf86-v33,
+
+# This version was released in XFree86 4.0.
+xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
+	npc,
+	kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~,
+	kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C, ka1@,
+	ka3@, kb2=\EOE, kc1@, kc3@, kcbt=\E[Z, kdch1=\E[3~, kend=\EOF,
+	kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S,
+	kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~,
+	kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+	kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q,
+	kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf30=\E[17;5~,
+	kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
+	kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, kf37=\EO6P,
+	kf38=\EO6Q, kf39=\EO6R, kf40=\EO6S, kf41=\E[15;6~,
+	kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~,
+	kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~,
+	kf48=\E[24;6~, khome=\EOH, rmcup=\E[?1049l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	smcup=\E[?1049h, use=xterm-xf86-v333,
+
+# This version was released in XFree86 4.3.
+xterm-xf86-v43|xterm terminal emulator (XFree86 4.3 Window System),
+	kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
+	kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C,
+	kbeg@,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	use=xterm-xf86-v40,
+
+# This version was released in XFree86 4.4.
+xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
+	cnorm=\E[?12l\E[?25h, cvvis=\E[?12;25h, indn=\E[%p1%dS,
+	rin=\E[%p1%dT, use=xterm-xf86-v43,
+
+xterm-xfree86|xterm terminal emulator (XFree86),
+	use=xterm-xf86-v44,
+
+# This version reflects the current xterm features.
+xterm-new|modern xterm terminal emulator,
+	npc,
+	indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
+	rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm+tmux,
+	use=xterm-basic,
+
+# This fragment is for people who cannot agree on what the backspace key
+# should send.
+xterm+kbs|fragment for backspace key,
+	kbs=^H,
+#
+# This fragment describes as much of XFree86 xterm's "pc-style" function
+# keys as will fit into terminfo's 60 function keys.
+# From ctlseqs.ms:
+#    Code     Modifiers
+#  ---------------------------------
+#     2       Shift
+#     3       Alt
+#     4       Shift + Alt
+#     5       Control
+#     6       Shift + Control
+#     7       Alt + Control
+#     8       Shift + Alt + Control
+#  ---------------------------------
+# The meta key may also be used as a modifier in this scheme, adding another
+# bit to the parameter.
+xterm+pcfkeys|fragment for PC-style fkeys,
+	use=xterm+app, use=xterm+pcf2, use=xterm+pcc2,
+	use=xterm+pce2,
+#
+xterm+noapp|fragment with cursor keys in normal mode,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F,
+	khome=\E[H,
+
+xterm+app|fragment with cursor keys in application mode,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\EOF,
+	khome=\EOH,
+#
+# The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
+# and revised in patch #167 (2002/8/24).  Some other terminal emulators copied
+# the earlier scheme, as noted in the "use=" clauses in this file.
+#
+# The original assignments from patch #94 for cursor-keys had some technical
+# issues:
+#
+#	A parameter for a function-key to represent a modifier is just more
+#	bits.  But for a cursor-key it may change the behavior of the
+#	application.  For instance, emacs decodes the first parameter of a
+#	cursor-key as a repeat count.
+#
+#	A parameterized string should (really) not begin with SS3 (\EO).
+#	Rather, CSI (\E[) should be used.
+#
+# For these reasons, the original assignments were deprecated.  For
+# compatibility reasons, they are still available as a setting of xterm's
+# modifyCursorKeys resource.  These fragments list the modified cursor-keys
+# that might apply to xterm+pcfkeys with different values of that resource.
+xterm+pcc3|fragment with modifyCursorKeys:3,
+	kLFT=\E[>1;2D, kRIT=\E[>1;2C, kind=\E[>1;2B,
+	kri=\E[>1;2A, kDN=\E[>1;2B, kDN3=\E[>1;3B, kDN4=\E[>1;4B,
+	kDN5=\E[>1;5B, kDN6=\E[>1;6B, kDN7=\E[>1;7B,
+	kLFT3=\E[>1;3D, kLFT4=\E[>1;4D, kLFT5=\E[>1;5D,
+	kLFT6=\E[>1;6D, kLFT7=\E[>1;7D, kRIT3=\E[>1;3C,
+	kRIT4=\E[>1;4C, kRIT5=\E[>1;5C, kRIT6=\E[>1;6C,
+	kRIT7=\E[>1;7C, kUP=\E[>1;2A, kUP3=\E[>1;3A,
+	kUP4=\E[>1;4A, kUP5=\E[>1;5A, kUP6=\E[>1;6A,
+	kUP7=\E[>1;7A,
+
+xterm+pcc2|fragment with modifyCursorKeys:2,
+	kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A,
+	kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B,
+	kDN6=\E[1;6B, kDN7=\E[1;7B, kLFT3=\E[1;3D, kLFT4=\E[1;4D,
+	kLFT5=\E[1;5D, kLFT6=\E[1;6D, kLFT7=\E[1;7D,
+	kRIT3=\E[1;3C, kRIT4=\E[1;4C, kRIT5=\E[1;5C,
+	kRIT6=\E[1;6C, kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A,
+	kUP4=\E[1;4A, kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A,
+
+xterm+pcc1|fragment with modifyCursorKeys:1,
+	kLFT=\E[2D, kRIT=\E[2C, kind=\E[2B, kri=\E[2A, kDN=\E[2B,
+	kDN3=\E[3B, kDN4=\E[4B, kDN5=\E[5B, kDN6=\E[6B, kDN7=\E[7B,
+	kLFT3=\E[3D, kLFT4=\E[4D, kLFT5=\E[5D, kLFT6=\E[6D,
+	kLFT7=\E[7D, kRIT3=\E[3C, kRIT4=\E[4C, kRIT5=\E[5C,
+	kRIT6=\E[6C, kRIT7=\E[7C, kUP=\E[2A, kUP3=\E[3A,
+	kUP4=\E[4A, kUP5=\E[5A, kUP6=\E[6A, kUP7=\E[7A,
+
+xterm+pcc0|fragment with modifyCursorKeys:0,
+	kLFT=\EO2D, kRIT=\EO2C, kind=\EO2B, kri=\EO2A, kDN=\EO2B,
+	kDN3=\EO3B, kDN4=\EO4B, kDN5=\EO5B, kDN6=\EO6B, kDN7=\EO7B,
+	kLFT3=\EO3D, kLFT4=\EO4D, kLFT5=\EO5D, kLFT6=\EO6D,
+	kLFT7=\EO7D, kRIT3=\EO3C, kRIT4=\EO4C, kRIT5=\EO5C,
+	kRIT6=\EO6C, kRIT7=\EO7C, kUP=\EO2A, kUP3=\EO3A,
+	kUP4=\EO4A, kUP5=\EO5A, kUP6=\EO6A, kUP7=\EO7A,
+
+#
+# Here are corresponding fragments from xterm patch #216:
+#
+xterm+pcf0|fragment with modifyFunctionKeys:0,
+	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S,
+	kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ,
+	kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+	kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q,
+	kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf3=\EOR,
+	kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
+	kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
+	kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R,
+	kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~,
+	kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
+	kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf49=\EO3P,
+	kf5=\E[15~, kf50=\EO3Q, kf51=\EO3R, kf52=\EO3S,
+	kf53=\E[15;3~, kf54=\E[17;3~, kf55=\E[18;3~,
+	kf56=\E[19;3~, kf57=\E[20;3~, kf58=\E[21;3~,
+	kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\EO4P,
+	kf62=\EO4Q, kf63=\EO4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+#
+xterm+pcf2|fragment with modifyFunctionKeys:2,
+	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S,
+	kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ,
+	kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+	kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q,
+	kf27=\E[1;5R, kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR,
+	kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
+	kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
+	kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R,
+	kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~,
+	kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
+	kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~,
+	kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R,
+	kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
+	kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
+	kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
+	kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~,
+#
+# Chunks from xterm #230:
+xterm+pce2|fragment with modifyCursorKeys:2,
+	kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
+	kNXT=\E[6;2~, kPRV=\E[5;2~, kich1=\E[2~, knp=\E[6~,
+	kpp=\E[5~, kDC3=\E[3;3~, kDC4=\E[3;4~, kDC5=\E[3;5~,
+	kDC6=\E[3;6~, kDC7=\E[3;7~, kEND3=\E[1;3F, kEND4=\E[1;4F,
+	kEND5=\E[1;5F, kEND6=\E[1;6F, kEND7=\E[1;7F,
+	kHOM3=\E[1;3H, kHOM4=\E[1;4H, kHOM5=\E[1;5H,
+	kHOM6=\E[1;6H, kHOM7=\E[1;7H, kIC3=\E[2;3~, kIC4=\E[2;4~,
+	kIC5=\E[2;5~, kIC6=\E[2;6~, kIC7=\E[2;7~, kNXT3=\E[6;3~,
+	kNXT4=\E[6;4~, kNXT5=\E[6;5~, kNXT6=\E[6;6~,
+	kNXT7=\E[6;7~, kPRV3=\E[5;3~, kPRV4=\E[5;4~,
+	kPRV5=\E[5;5~, kPRV6=\E[5;6~, kPRV7=\E[5;7~,
+	use=xterm+edit,
+
+xterm+edit|fragment for 6-key editing-keypad,
+	kdch1=\E[3~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	use=xterm+pc+edit,
+
+xterm+pc+edit|fragment for pc-style editing keypad,
+	kend=\E[4~, khome=\E[1~,
+
+xterm+vt+edit|fragment for vt220-style editing keypad,
+	kfnd=\E[1~, kslt=\E[4~,
+
+#
+# Those chunks use the new-style (the xterm oldFunctionKeys resource is false).
+# Alternatively, the same scheme with old-style function keys as in xterm-r6
+# is shown here (because that is used in mrxvt and mlterm):
+xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2,
+	kf1=\E[11~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~,
+	kf16=\E[14;2~, kf2=\E[12~, kf25=\E[11;5~, kf26=\E[12;5~,
+	kf27=\E[13;5~, kf28=\E[14;5~, kf3=\E[13~, kf37=\E[11;6~,
+	kf38=\E[12;6~, kf39=\E[13;6~, kf4=\E[14~, kf40=\E[14;6~,
+	kf49=\E[11;3~, kf50=\E[12;3~, kf51=\E[13;3~,
+	kf52=\E[14;3~, kf61=\E[11;4~, kf62=\E[12;4~,
+	kf63=\E[13;4~, use=xterm+pcf2,
+#
+# This chunk is used for building the VT220/Sun/PC keyboard variants.
+xterm-basic|modern xterm terminal emulator - common,
+	OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
+	colors#8, cols#80, it#8, lines#24, pairs#64,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m,
+	is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El,
+	memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+	ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmm=\E[?1034l, rmso=\E[27m,
+	rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E(B\E[m, sitm=\E[3m, smacs=\E(0, smam=\E[?7h,
+	smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=,
+	smm=\E[?1034h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%i%p1%dd, E3=\E[3J, use=ansi+pp, use=xterm+kbs,
+	use=vt100+enq,
+
+# From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
+# In retrospect, something like xterm-r6 was intended here -TD
+xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
+	rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33,
+
+# 16-colors is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
+# If configured to support 88- or 256-colors (which is fairly common in 2009),
+# xterm also recognizes the control sequences for initc -TD
+xterm-16color|xterm with 16 colors like aixterm,
+	ccc,
+	initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+	use=ibm+16color, use=xterm-new,
+
+# 256-colors is a compile-time feature of XFree86 xterm beginning with
+# patch #111 (1999/7/10) -TD
+xterm+256color|xterm 256-color feature,
+	ccc,
+	colors#256, pairs#32767,
+	initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
+	setb@, setf@,
+
+xterm+256setaf|xterm 256-color (set-only),
+	ccc@,
+	colors#256, pairs#32767,
+	initc@,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
+	setb@, setf@,
+
+# 88-colors is a compile-time feature of XFree86 xterm beginning with
+# patch #115 (1999/9/18) -TD
+#
+# Note that the escape sequences used are the same as for 256-colors - xterm
+# has a different table of default color resource values.  If built for
+# 256-colors, it can still handle an 88-color palette by using the initc
+# capability.
+#
+# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals
+# which support the xterm+256color feature support the associated initc
+# capability.  So it is cancelled in the entries which use this and/or the
+# xterm+256color block.
+#
+# The default color palette for the 256- and 88-colors are different.  A
+# given executable will have one palette (perhaps compiled-in).  If the program
+# supports xterm's control sequence, it can be programmed using initc.
+xterm+88color|xterm 88-color feature,
+	colors#88, pairs#7744, use=xterm+256color,
+
+# These variants of XFree86 3.9.16 xterm are built as a configure option.
+xterm-256color|xterm with 256 colors,
+	use=xterm+256color, use=xterm-new,
+xterm-88color|xterm with 88 colors,
+	use=xterm+88color, use=xterm-256color,
+
+# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
+# asked for some of xterm's advanced features to be added to its terminfo
+# entry.  It defines extended capabilities not found in standard terminfo or
+# termcap.  These are useful in tmux, for instance, hence the name.
+#
+# One caveat in adding extended capabilities in ncurses is that if the names
+# are longer than two characters, then they will not be visible through the
+# termcap interface.
+#
+# Ms modifies the selection/clipboard.  Its parameters are
+#	p1 = the storage unit (clipboard, selection or cut buffer)
+#	p2 = the base64-encoded clipboard content.
+#
+# Ss is used to set the cursor style as described by the DECSCUSR
+#	function to a block or underline.
+# Se resets the cursor style to the terminal power-on default.
+#
+# Cs and Cr set and reset the cursor colour.
+xterm+tmux|advanced xterm features used in tmux,
+	Cr=\E]112\007, Cs=\E]12;%p1%s\007,
+	Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q,
+
+# This is another variant, for XFree86 4.0 xterm (T.Dickey)
+# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
+# To use it, your decTerminalID resource must be set to 200 or above.
+#
+#	HTS	\E H	\210
+#	RI	\E M	\215
+#	SS3	\E O	\217
+#	CSI	\E [	\233
+#
+xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
+	OTbs, am, bce, km, mc5i, mir, msgr, npc, xenl, AX,
+	colors#8, cols#80, it#8, lines#24, pairs#64,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\2335m, bold=\2331m, cbt=\233Z,
+	civis=\233?25l, clear=\233H\2332J,
+	cnorm=\233?25l\233?25h, cr=^M, csr=\233%i%p1%d;%p2%dr,
+	cub=\233%p1%dD, cub1=^H, cud=\233%p1%dB, cud1=^J,
+	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+	cuu=\233%p1%dA, cuu1=\233A, cvvis=\233?12;25h,
+	dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+	ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K,
+	flash=\233?5h$<100/>\233?5l, home=\233H,
+	hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@,
+	il=\233%p1%dL, il1=\233L, ind=^J, invis=\2338m,
+	is2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8,
+	ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kc1=\217q,
+	kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
+	kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~,
+	kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~,
+	kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+	kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~,
+	kf2=\23312~, kf20=\23334~, kf3=\23313~, kf4=\23314~,
+	kf5=\23315~, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+	kf9=\23320~, khome=\2331~, kich1=\2332~, kmous=\233M,
+	knp=\2336~, kpp=\2335~, mc0=\233i, mc4=\2334i, mc5=\2335i,
+	meml=\El, memu=\Em, op=\23339;49m, rc=\E8, rev=\2337m,
+	ri=\215, rmacs=\E(B, rmam=\233?7l, rmcup=\233?1049l,
+	rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m,
+	rs1=\Ec,
+	rs2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8,
+	sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm,
+	setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
+	smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=,
+	smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR,
+	u7=\E[6n, u8=\233[?1;2c, u9=\E[c, vpa=\233%i%p1%dd,
+	use=xterm+kbs,
+
+xterm-hp|xterm with hpterm function keys,
+	kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es,
+	kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ,
+	knp=\ES, kpp=\ET, use=xterm-basic,
+
+xterm-sco|xterm with SCO function keys,
+	kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+	kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
+	kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+	kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+	kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+	kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+	kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+	kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+	kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+	kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+	kich1=\E[L, kmous=\E[>M, knp=\E[G, kpp=\E[I,
+	use=xterm-basic,
+
+# The xterm-new description has all of the features, but is not completely
+# compatible with vt220.  If you are using a Sun or PC keyboard, set the
+# sunKeyboard resource to true:
+#	+ maps the editing keypad
+#	+ interprets control-function-key as a second array of keys, so a
+#	  12-fkey keyboard can support vt220's 20-fkeys.
+#	+ maps numeric keypad "+" to ",".
+#	+ uses DEC-style control sequences for the application keypad.
+#
+xterm-vt220|xterm emulating vt220,
+	kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kend=\E[4~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+	use=xterm+app, use=xterm+edit, use=xterm-basic,
+	use=vt220+keypad,
+
+xterm-vt52|xterm emulating dec vt52,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
+	use=xterm+kbs,
+
+xterm-noapp|xterm with cursor keys in normal mode,
+	rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
+	use=xterm,
+
+xterm-24|vs100|xterms|xterm terminal emulator (X Window System),
+	lines#24, use=xterm-old,
+
+# This is xterm for ncurses.
+xterm|xterm terminal emulator (X Window System),
+	use=xterm-new,
+
+# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
+# setting the vt100Graphics resource to false.
+xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode,
+	U8#1, use=xterm,
+
+# These building-blocks allow access to the X titlebar and icon name as a
+# status line.  There are a few problems in using them in entries:
+#
+# a) tsl should have a parameter to denote the column on which to transfer to
+#    the status line.
+# b) the "0" code for xterm updates both icon-title and window title.  Some
+#    window managers such as twm (and possibly window managers descended from
+#    it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you
+#    don't want to mess with icon-name when using those window managers.
+#
+# The extension "TS" is preferable, because it does not accept a parameter.
+# However, if you are using a non-extended terminfo, "TS" is not visible.
+xterm+sl|access X title line and icon name,
+	hs,
+	dsl=\E]0;\007, fsl=^G, tsl=\E]0;, TS=\E]0;,
+xterm+sl-twm|access X title line (pacify twm-descended window managers),
+	hs,
+	dsl=\E]2;\007, fsl=^G, tsl=\E]2;, TS=\E]2;,
+
+# In contrast, this block can be used for a DEC vt320 and up.  There are two
+# controls used.
+#
+# DECSASD (select active status display)
+#	\E[0$}	Main display
+#	\E[1$}	Status line
+#
+# DECSSDT (select status line type)
+#	\E[0$~	No status line
+#	\E[1$~	Indicator status line
+#	\E[2$~	Host-writable status line
+#
+# The building block assumes that the terminal always shows something at the
+# status line (either the indicator, or status line).  That is because if no
+# status line is used, then the terminal makes that line part of the user
+# window, changing its size without notice.
+#
+# Because there is no "esl" (enable status line) capability, the "tsl"
+# capability ensures that the status line is host-writable.  A DEC terminal
+# will clear the status line when changing from indicator to host-writable
+# mode.
+#
+# Once on the status line, the row part of cursor addressing is ignored.  Since
+# tsl expects a parameter (to specify the column), the shortest addressing that
+# can be used for this purpose is HPA, e.g., \E[5d to go to column 5.
+#
+dec+sl|DEC VTxx status line,
+	eslok, hs,
+	dsl=\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+
+#
+# The following xterm variants don't depend on your base version
+#
+# xterm with bold instead of underline
+xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
+	sgr=%?%p9%t\016%e\017%;B\E[0%?%p6%t;1%;%?%p2%t;1%;%?%p1%p3%|%t;7%;m,
+	smso=\E[7m, smul=\E[1m, use=xterm-old,
+
+# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
+	ich@, ich1@, use=xterm,
+# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
+xterm1|xterm terminal emulator ignoring the alternate screen buffer,
+	rmcup@, smcup@, use=xterm,
+
+#### XTERM Mouse
+# The xterm mouse protocol is used by other terminal emulators.
+# In this section, two extended capabilities are used to illustrate the mouse
+# protocol: XM and xm.  The "XM" capability is recognized by ncurses to allow
+# enabling/disabling other mouse protocols.  The "xm" capability describes the
+# mouse response; currently there is no interpreter which would use this
+# information to make the mouse support completely data-driven.
+
+# Here is the "original" xterm mouse protocol.
+#
+# First seen in X10.3, February 1986, this likely dates from 1985 based on the
+# copyright dates in the sources.  A comment in charproc.c notes "MIT bogus
+# sequence", referring to the fact that it does not correspond to a "real"
+# terminal.  The mouse responses for the X10 protocol are sent only for
+# button-presses.
+xterm+x10mouse|X10 xterm mouse protocol,
+	kmous=\E[M, XM=\E[?9%?%p1%{1}%=%th%el%;,
+	xm=\E[M%p3%' '%+%c%p2%'!'%+%c%p1%'!'%+%c,
+xterm-x10mouse|X10 xterm mouse,
+	use=xterm+x10mouse, use=xterm,
+
+# Here is the conventional xterm mouse protocol, introduced with X11R1 in
+# September 1987.
+#
+# The mouse responses for the X11 protocol covered button releases, as well as
+# modifiers:
+#  shift    4
+#  alt/meta 8 (technically the "mod1" mask, because X11 has no such keys)
+#  control 16
+#
+# The modifiers are not reflected in this description because as used in xterm
+# they are normally inaccessible because the translations resources assign
+# shift and control to other features.  However, they are important because
+# they take up space in the first byte of the response.  The other bits of this
+# byte are used to encode the button number for both presses and releases.
+# In the X11 protocol, any button-release is encoded with "3" (the lowest 2
+# bits in the byte).  Later work on XFree86 xterm used the remaining 3 bits to
+# provide additional features, e.g., wheel mouse.
+#
+# X11R1's xterm also supported an "emacs" mouse protocol, with final character
+# "t" or "T", which was activated by double-clicking.  The "t" response was
+# used when the starting/ending positions were the same.
+#
+# X11R3 (February 1988) added the highlight/tracking mode.
+#
+# X11R4 (December 1989) added the control sequences document, listing the
+# control sequences for the X10/X11 protocols without descriptions.  It also
+# mentioned the "emacs" ("T") response.  Comments in button.c referred to the
+# X11 protocol as "DEC vt200 compatible", although DEC offered no such terminal.
+#
+# X11R5 (November 1993) gave a description of the mouse protocol.
+#
+# X11R6 (January 1995) moved the control sequences document out of the xterm
+# source-directory to xc/doc/specs/xterm, polishing the formatting but adding
+# no new information.
+xterm+x11mouse|X11 xterm mouse protocol,
+	kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
+	xm=\E[M%?%p4%t3%e%p3%' '%+%c%;%p2%'!'%+%c%p1%'!'%+%c,
+xterm-x11mouse|X11 mouse,
+	use=xterm+x11mouse, use=xterm,
+
+# Here is a suggested description of the xterm highlighting protocol.
+# A more complicated example could be constructed to account for the "t"
+# response.
+xterm+x11hilite|X11 xterm mouse protocol with highlight,
+	kmous=\E[M, XM=\E[?1001%?%p1%{1}%=%th%el%;,
+	xm=\E[%p7%'!'%+%p6%'!'%+%c%p9%'!'%+%c%p8%'!'%+%c%p2%'!'%+%c%p1%'!'%+%cT,
+xterm-x11hilite|X11 mouse with highlight,
+	use=xterm+x11mouse, use=xterm,
+
+# The preceding were the sources from X Consortium.  Other sources (or patches)
+# were available.  Starting in mid-1995, XFree86 developers collected some of
+# those changes and began improvements, e.g., to support color.  This was, by
+# the way, around the same time that rxvt developers began implementing color,
+# though dates (and attributions) are not well documented.  I became interested
+# in xterm in late 1995, and involved in early 1996.  To complete the picture,
+# CDE's dtterm was introduced around the same time, with no mouse protocol -TD
+
+# xterm patch #83 (1998/10/7), added Jason Bacon's changes to provide an
+# "any-event" mouse mode.
+xterm+sm+1002|xterm any-event mouse,
+	kmous=\E[M, XM=\E[?1002%?%p1%{1}%=%th%el%;,
+xterm-1002|xterm any-event mouse,
+	use=xterm+sm+1002, use=xterm,
+
+xterm+sm+1003|testing xterm-mouse,
+	kmous=\E[M, XM=\E[?1003%?%p1%{1}%=%th%el%;,
+
+xterm-1003|testing xterm-mouse,
+	use=xterm+sm+1003, use=xterm,
+
+# xterm patch #116 (1999/9/25) added Stephen P Wall's changes to support DEC
+# locator mode.
+
+# xterm patch #120 (1999/10/28) added my change to support wheel mouse, by
+# dropping support for the X11 mouse protocol's shift-modifier and using
+# available bits in the first byte of the response to encode buttons 4 and 5.
+# xterm patch #126 (2000/2/8) amended that change to avoid conflicting with
+# older configurations which might have used the obsolete modifiers.
+
+# xterm patch #262 (2010/8/30) added Ryan Johnson's changes to provide a mode
+# where the coordinates in the mouse response would be encoded in UTF-8,
+# thereby extending the range of coordinates past 222=(255-33).  This is the
+# "1005" mouse mode.
+xterm+sm+1005|xterm UTF-8 mouse,
+	kmous=\E[M, XM=\E[?1005;1000%?%p1%{1}%=%th%el%;,
+	xm=\E[M%?%p4%t3%e%p3%' '%+%c%;%p2%'!'%+%u%p1%'!'%+%u,
+xterm-1005|xterm UTF-8 mouse,
+	use=xterm+sm+1005, use=xterm,
+
+# xterm patch #277 (2012/1/7) provides a mode where the mouse response uses
+# SGR-style parameters.
+#
+# Someone stated that the 1005 mouse mode would not be handled properly in luit.
+# (By the way, this is a problem with the X11 protocol).  A more plausible
+# criticism is that the responses provided by the 1005 mode are not distinct
+# from the non-1005 responses.
+#
+# As an alternative (and fixing the longstanding limitation of X11 mouse
+# protocol regarding button-releases), I provided this:
+xterm+sm+1006|xterm SGR-mouse,
+	kmous=\E[<, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+	xm=\E[<%p1%d;%p2%d;%p3%d;%?%p4%tM%em%;,
+xterm-1006|xterm SGR-mouse,
+	use=xterm+sm+1006, use=xterm,
+
+#### KTERM
+# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
+# (kterm should not invoke DEC Graphics as the alternate character set
+#  -- Kenji Rikitake)
+# (proper setting of enacs, smacs, rmacs makes kterm to use DEC Graphics
+#  -- MATSUMOTO Shoji)
+# kterm implements acsc via built-in table of X Drawable's
+kterm|kterm kanji terminal emulator (X window system),
+	eslok, hs, XT,
+	ncv@,
+	acsc=``aajjkkllmmnnooppqqrrssttuuvvwwxx~~,
+	csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F,
+	kmous=\E[M, rc=\E8, rmacs=\E(B, rmam=\E[?7l, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h,
+	tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color,
+kterm-color|kterm-co|kterm with ANSI colors,
+	ncv@, use=kterm, use=ecma+color,
+
+#### Other XTERM
+# These (xtermc and xtermm) are distributed with Solaris.  They refer to a
+# variant of xterm which is apparently no longer supported, but are interesting
+# because they illustrate SVr4 curses mouse controls - T.Dickey
+xtermm|xterm terminal emulator (monocrome),
+	OTbs, am, km, mir, msgr, xenl,
+	btns#3, cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
+	kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
+	knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+	smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
+
+xtermc|xterm terminal emulator (color),
+	colors#8, ncv#7, pairs#64,
+	op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	use=xtermm,
+
+# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
+# Here's a termcap entry I've been using for xterm_color, which comes
+# with BSD/OS 2.0, and the X11R6 contrib tape too I think.  Besides the
+# color stuff, I also have a status line defined as the window manager
+# title bar. [I have translated it to terminfo -- ESR]
+xterm-pcolor|xterm with color used for highlights and status line,
+	wsl#40,
+	bold=\E[1;43m, rev=\E[7;34m,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1;43%;%?%p2%t;4;42%;%?%p1%t;7;31%;%?%p3%t;7;34%;%?%p4%t;5%;%?%p7%t;8%;m,
+	smso=\E[7;31m, smul=\E[4;42m, use=xterm+sl, use=xterm-r6,
+
+# This describes the capabilities of color_xterm, an xterm variant from
+# before ECMA-64 color support was folded into the main-line xterm release.
+# This entry is straight from color_xterm's maintainer.
+# From: Jacob Mandelson <jlm@ugcs.caltech.edu>, 09 Nov 1996
+# The README's with the distribution also say that it supports SGR 21, 24, 25
+# and 27, but they are not present in the terminfo or termcap.
+color_xterm|cx|cx100|color_xterm color terminal emulator for X,
+	OTbs, am, km, mir, msgr, xenl, XT,
+	cols#80, it#8, lines#65, ncv@,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~,
+	kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmam=\E[?7l, rmcup=\E>\E[?41;1r, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m,
+	rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smacs=^N, smam=\E[?7h,
+	smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, use=ecma+color, use=vt220+keypad,
+
+# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
+# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
+# SGR 39 or 49.  SGR 0 does reset colors (along with everything else).  This
+# description is "compatible" with color_xterm, rxvt and XFree86 xterm, except
+# that each of those implements the home, end, delete keys differently.
+#
+# Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce
+# colors; note that this is not compatible with the 5.2 version.
+# csw (2002-05-15): make xterm-color primary instead of nxterm, to
+#   match XFree86's xterm.terminfo usage and prevent circular links
+xterm-color|nxterm|generic color xterm,
+	ncv@,
+	op=\E[m, use=xterm-r6, use=klone+color,
+
+# This entry describes an xterm with Sun-style function keys enabled
+# via the X resource setting "xterm*sunFunctionKeys:true"
+# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
+# The <kf13>...<kf20> keys are L3-L10.  We don't set <kf16=\E[197z>
+# because we want it to be seen as <kcpy>.
+# The <kf31>...<kf45> keys are R1-R15.  We treat some of these in accordance
+# with their Sun keyboard labels instead.
+# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
+xterm-sun|xterm with sunFunctionKeys true,
+	kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
+	kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
+	kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
+	kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
+	kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
+	kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
+	kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
+	kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
+	kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
+	kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
+	kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
+	use=xterm-basic,
+xterms-sun|small (80x24) xterm with sunFunctionKeys true,
+	cols#80, lines#24, use=xterm-sun,
+
+#### GNOME (VTE)
+# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
+gnome-rh62|Gnome terminal,
+	bce,
+	kdch1=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	use=xterm-color,
+
+# GNOME Terminal 1.4.0.4 (Redhat 7.2)
+#
+# This implements a subset of vt102 with a random selection of features from
+# other terminals such as color and function-keys.
+#
+# shift-f1 to shift-f10 are f11 to f20
+#
+# NumLock changes the application keypad to approximate vt100 keypad, except
+# that there is no escape sequence matching comma (,).
+#
+# Other defects observed:
+#	vt100 LNM mode is not implemented.
+#	vt100 80/132 column mode is not implemented.
+#	vt100 DECALN is not implemented.
+#	vt100 DECSCNM mode is not implemented, so flash does not work.
+#	vt100 TBC (tab reset) is not implemented.
+#	xterm alternate screen controls do not restore cursor position properly
+#	it hangs in tack after running function-keys test.
+gnome-rh72|GNOME Terminal,
+	bce, km@,
+	civis=\E[?25l, cnorm=\E[?25h, kdch1=\E[3~, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmam=\E[?7l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smam=\E[?7h, tbc@, use=xterm-color,
+
+# GNOME Terminal 2.0.1 (Redhat 8.0)
+#
+# Documentation now claims it implements vt220 (which is demonstrably false).
+# However, it does implement ECH, which is a vt220 feature.  And there are
+# workable vt100 LNM, DECALN, DECSNM modes, making it possible to display
+# more of its bugs using vttest.
+#
+# However, note that bce and msgr are broken in this release.  Tabs (tbc and
+# hts) are broken as well.  Sometimes flash (as in xterm-new) works.
+#
+# kf1 and kf10 are not tested since they're assigned (hardcoded?) to menu
+# operations.  Shift-tab generates a distinct sequence so it can be argued
+# that it implements kcbt.
+gnome-rh80|GNOME Terminal,
+	bce@, msgr@,
+	ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, kbs=\177,
+	kcbt=\E^I, op=\E[39;49m, use=gnome-rh72,
+
+# GNOME Terminal 2.2.1 (Redhat 9.0)
+#
+# bce and msgr are repaired.
+gnome-rh90|GNOME Terminal,
+	bce, msgr, XT,
+	hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C,
+	kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g,
+	vpa=\E[%i%p1%dd, use=xterm+pcf0, use=xterm+pcfkeys,
+	use=gnome-rh80,
+
+# GNOME Terminal 2.14.2 (Fedora Core 5)
+# Ed Catmur notes that gnome-terminal has recognized soft-reset since May 2002.
+gnome-fc5|GNOME Terminal,
+	rs1=\Ec,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
+	use=ansi+enq, use=xterm+pcc0, use=gnome-rh90,
+
+# GNOME Terminal 2.18.1 (2007 snapshot)
+#
+# For any "recent" version of gnome-terminal, it is futile to attempt to
+# support modifiers on cursor- and keypad keys because the program usually
+# is hardcoded to set $TERM to "xterm", and on startup, it builds a subset
+# of the keys (which more/less correspond to the termcap values), and will
+# interpret those according to the $TERM value, but others not in the
+# terminfo according to some constantly changing set of hacker guidelines -TD
+vte-2007|VTE in GNOME Terminal snapshot 2.18.1,
+	use=xterm+pcc2, use=gnome-fc5,
+gnome-2007|GNOME Terminal snapshot 2.18.1,
+	use=vte-2007,
+
+# GNOME Terminal 2.22.3 (2008 snapshot)
+#
+# In vttest, it claims to be a vt220 with national replacement character-sets,
+# but aside from the identifier string, implements only a small fraction of
+# vt220's behavior, which will make it less usable on a VMS system (unclear
+# what the intent of the developer is, since the NRC feature exposed in vttest
+# by this change does not work).
+vte-2008|VTE in GNOME Terminal snapshot 2.22.3,
+	use=vte+pcfkeys, use=vte-2007,
+gnome-2008|GNOME Terminal snapshot 2.22.3,
+	use=vte-2008,
+
+# GNOME Terminal 3.6.0 (2012)
+# VTE 0.34.1 was marked in git 2012-10-15 (three days after patch was applied
+# in ncurses).  It inherited from gnome-fc5, which broke the modified forms
+# of f1-f4 -TD
+#
+# Testing with tack shows that flash does not/has not worked -TD
+vte-2012|VTE 0.34.1,
+	ncv#16,
+	dim=\E[2m, flash@, invis=\E[8m, ritm=\E[23m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p7%t;8%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;,
+	sitm=\E[3m, use=vte-2008,
+# Version 3.6.1 sets TERM to xterm-256color (still hardcoded), which has
+# 61 differences from a correct entry for gnome terminal.
+gnome-2012|GNOME Terminal 3.6.0,
+	use=vte-2012,
+
+# GNOME terminal may automatically use the contents of the "xterm" terminfo to
+# supply key information which is not built into the program.  With 2.22.3,
+# this list is built into the program (which addresses the inadvertant use of
+# random terminfo data, though using a set of values which does not correspond
+# to any that xterm produces - still not solving the problem that GNOME
+# terminal hardcodes the $TERM variable as "xterm").
+#
+#	terminfo	modifier	code	keys
+#	kf13-kf24	shift		2	F1 to F12
+#	kf25-kf36	control		5	F1 to F12
+#	kf37-kf48	shift/control	6	F1 to F12
+#	kf49-kf60	alt		3	F1 to F12
+#	kf61-kf63	shift-alt	4	F1 to F3
+#
+# The parameters with \EO (SS3) are technically an error, since SS3 should have
+# no parameters.  This appears to be rote copying based on xterm+pcc0.
+vte+pcfkeys|VTE's variation on xterm+pcfkeys,
+	kf1=\EOP, kf13=\EO1;2P, kf14=\EO1;2Q, kf15=\EO1;2R,
+	kf16=\EO1;2S, kf2=\EOQ, kf25=\EO1;5P, kf26=\EO1;5Q,
+	kf27=\EO1;5R, kf28=\EO1;5S, kf3=\EOR, kf37=\EO1;6P,
+	kf38=\EO1;6Q, kf39=\EO1;6R, kf4=\EOS, kf40=\EO1;6S,
+	kf49=\EO1;3P, kf50=\EO1;3Q, kf51=\EO1;3R, kf52=\EO1;3S,
+	kf61=\EO1;4P, kf62=\EO1;4Q, kf63=\EO1;4R,
+	use=xterm+pcfkeys,
+gnome+pcfkeys|VTE's variation on xterm+pcfkeys,
+	use=vte+pcfkeys,
+
+# deprecated - use "vte" for newer versions
+gnome|GNOME Terminal,
+	use=vte-2012,
+
+# relevant changes were made in January 2014
+vte-2014|VTE 0.35.1,
+	use=xterm+pcfkeys, use=vte-2012,
+
+vte|VTE aka GNOME Terminal,
+	use=vte-2014,
+
+# palette is hardcoded...
+vte-256color|VTE with xterm 256-colors,
+	use=xterm+256color, use=vte,
+gnome-256color|GNOME Terminal with xterm 256-colors,
+	use=vte-256color,
+
+# XFCE Terminal 0.2.5.4beta2
+#
+# This is based on some of the same source code, e.g., the VTE library, as
+# gnome-terminal, but has fewer features, fails more screens in vttest.
+# Since most of the terminfo-related behavior is due to the VTE library,
+# the terminfo is the same as gnome-terminal.
+xfce|Xfce Terminal,
+	use=vte-2008,
+
+#### Other GNOME
+# Multi-Gnome-Terminal 1.6.2
+#
+# This does not use VTE, and does have different behavior (compare xfce and
+# gnome).
+mgt|Multi GNOME Terminal,
+	indn=\E[%p1%dS, rin=\E[%p1%dT, use=xterm-xf86-v333,
+
+#### KDE
+# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
+# or not is debatable).
+kvt|KDE terminal,
+	bce, km@,
+	kdch1=\177, kend=\E[F, khome=\E[H, use=xterm-color,
+
+# Konsole 1.0.1
+# (formerly known as kvt)
+#
+# This program hardcodes $TERM to 'xterm', which is not accurate.  However, to
+# simplify this entry (and point out why konsole isn't xterm), we base this on
+# xterm-r6.  The default keyboard appears to be 'linux'.
+#
+# Notes:
+# a) konsole implements several features from XFree86 xterm, though none of
+#    that is documented - except of course in its source code - apparently
+#    because its implementors are unaccustomed to reading documentation - as
+#    evidenced by the sparse and poorly edited documentation distributed with
+#    konsole.  Some features such as the 1049 private mode are recognized but
+#    incorrectly implemented as a duplicate of the 47 private mode.
+# b) even with the "vt100 (historical)" keyboard setting, the numeric keypad
+#    sends PC-style escapes rather than vt100.
+# c) fails vttest menu 3 (Test of character sets) because it does not properly
+#    parse some control sequences.  Also fails vttest Primary Device Attributes
+#    by sending a bogus code (in the source it says it's supposed to be a
+#    vt220, which is doubly incorrect because it does not implement vt220
+#    control sequences except for a few special cases).  Treat it as a
+#    mildly-broken vt102.
+#
+# Update for konsole 1.3.2:
+#    The 1049 private mode works (but see the other xterm screens in vttest).
+#    Primary Device Attributes now returns the code for a vt100 with advanced
+#    video option.  Perhaps that's intended to be a "mildly-broken vt102".
+#
+# Updated for konsole 1.6.4:
+#    add konsole-solaris
+#
+# Updated for konsole 1.6.6:
+#    add control-key modifiers for function-keys, etc.
+#
+# Updated for konsole 2.12.4:
+#    add sitm/ritm
+#
+# vttest menu 1 shows that both konsole and gnome terminal do wrapping
+# different from xterm (and vt100's).  They have the same behavior in this
+# detail, but it is unclear which copies the other.
+konsole-base|KDE console window,
+	bce, km@, npc, XT,
+	ncv@,
+	bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h,
+	ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l,
+	hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1=\E[3~,
+	kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@,
+	kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@,
+	kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, ritm=\E[23m,
+	rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, sitm=\E[3m, smam=\E[?7h, vpa=\E[%i%p1%dd,
+	use=ecma+color, use=xterm-r6,
+konsole-linux|KDE console window with linux keyboard,
+	kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@,
+	kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, use=konsole-base,
+konsole-solaris|KDE console window with Solaris keyboard,
+	kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+# KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather
+# than testing the code.
+konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm,
+	kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+# The value for kbs reflects local customization rather than the settings used
+# for XFree86 xterm.
+konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm,
+	kend=\EOF, khome=\EOH, use=konsole+pcfkeys,
+	use=konsole-vt100,
+# Konsole does not implement shifted cursor-keys.
+konsole+pcfkeys|konsole subset of xterm+pcfkeys,
+	kLFT@, kRIT@, kcbt=\E[Z, kind@, kri@, kDN@, kUP@, use=xterm+pcc2,
+	use=xterm+pcf0,
+# KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but
+# it is still useful for deriving the other entries.
+konsole-vt100|KDE console window with vt100 (sic) keyboard,
+	kbs=\177, kdch1=\E[3~, kend=\E[F, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@,
+	kf18@, kf19@, kf2=\E[12~, kf20@, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[H, use=konsole-base,
+konsole-vt420pc|KDE console window with vt420 pc keyboard,
+	kbs=^H, kdch1=\177, use=konsole-vt100,
+konsole-16color|klone of xterm-16color,
+	ncv#32, use=ibm+16color, use=konsole,
+# make a default entry for konsole
+konsole|KDE console window,
+	use=konsole-xf4x,
+
+# palette is hardcoded...
+konsole-256color|KDE console window with xterm 256-colors,
+	use=xterm+256setaf, use=konsole,
+
+#### MLTERM
+# http://mlterm.sourceforge.net/
+
+mlterm|multi lingual terminal emulator,
+	use=mlterm3,
+
+# Tested mlterm 3.2.2:
+# mlterm 3.x has made changes, but they are not reflected in the included
+# mlterm.ti; this entry is based on testing with tack and vttest -TD
+mlterm3|multi lingual terminal emulator,
+	kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	ritm=\E[23m, sitm=\E[3m, use=xterm+app, use=xterm+pcf0,
+	use=xterm+pcc2, use=xterm+pce2, use=mlterm2,
+
+# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
+#
+# It is nominally a vt102 emulator, with features borrowed from rxvt and
+# xterm.
+#
+# The function keys are numbered based on shift/control/alt modifiers, except
+# that the control-modifier itself is used to spawn a new copy of mlterm (the
+# "-P" option).  So control/F1 to control/F12 may not be usable, depending on
+# how it is configured.
+#
+#				kf1 to kf12	\E[11~   to \E[24~
+#	shift			kf1 to kf12	\E[11;2~ to \E[24;2~
+#	alt			kf1 to kf12	\E[11;3~ to \E[24;3~
+#	shift/alt		kf1 to kf12	\E[11;4~ to \E[24;4~
+#	control			kf1 to kf12	\E[11;5~ to \E[24;5~ (maybe)
+#	control/shift		kf1 to kf12	\E[11;6~ to \E[24;6~
+#	control/alt		kf1 to kf12	\E[11;7~ to \E[24;7~
+#	control/shift/alt	kf1 to kf12	\E[11;8~ to \E[24;8~
+#
+mlterm2|multi lingual terminal emulator,
+	am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
+	colors#8, cols#80, it#8, lines#24, pairs#64,
+	acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
+	kbs=\177, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kdch1=\E[3~, kend=\EOF, kent=\EOM, kfnd=\E[1~,
+	khome=\EOH, kich1=\E[2~, kind=\EO1;2B, kmous=\E[M,
+	knp=\E[6~, kpp=\E[5~, kri=\EO1;2A, kslt=\E[4~, mc0=\E[i,
+	nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+	rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l,
+	sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
+	vpa=\E[%i%p1%dd, use=mlterm+pcfkeys, use=xterm+r6f2,
+
+# The insert/delete/home/end keys do not respond to modifiers because mlterm
+# looks in its termcap to decide which string to send.  If it used terminfo
+# (when available), it could use the extended names introduced for xterm.
+mlterm+pcfkeys|fragment for PC-style fkeys,
+	kLFT=\EO1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO1;2C,
+	kDN=\EO1;2B, kDN3=\EO1;3B, kDN4=\EO1;4B, kDN5=\EO1;5B,
+	kDN6=\EO1;6B, kDN7=\EO1;7B, kIC5=\E[2;5~, kIC6=\E[2;6~,
+	kLFT3=\EO1;3D, kLFT4=\EO1;4D, kLFT5=\EO1;5D,
+	kLFT6=\EO1;6D, kLFT7=\EO1;7D, kNXT5=\E[6;5~,
+	kNXT6=\E[6;6~, kPRV5=\E[5;5~, kPRV6=\E[5;6~,
+	kRIT3=\EO1;3C, kRIT4=\EO1;4C, kRIT5=\EO1;5C,
+	kRIT6=\EO1;6C, kRIT7=\EO1;7C, kUP=\EO1;2A, kUP3=\EO1;3A,
+	kUP4=\EO1;4A, kUP5=\EO1;5A, kUP6=\EO1;6A, kUP7=\EO1;7A,
+
+mlterm-256color|mlterm 3.0 with xterm 256-colors,
+	use=xterm+256color, use=mlterm,
+
+#### RXVT
+# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
+# Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
+# Notes:
+# rxvt 2.21b uses
+#	smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O,
+# but some applications don't work with that.
+# It also has an AIX extension
+#	box2=lqkxjmwuvtn,
+# and
+#	ech=\E[%p1%dX,
+# but the latter does not work correctly.
+#
+# The distributed terminfo says it implements hpa and vpa, but they are not
+# implemented correctly, using relative rather than absolute positioning.
+#
+# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
+# Since rxvt is not really compatible with xterm, it should be configured as
+# "rxvt" or "rxvt-color".
+#
+# removed dch/dch1 because they are inconsistent with bce/ech -TD
+# remove km as per tack test -TD
+rxvt-basic|rxvt terminal base (X Window System),
+	OTbs, am, bce, eo, mir, msgr, xenl, xon, XT,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
+	ind=^J, is1=\E[?47l\E=\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
+	kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
+	rmul=\E[24m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
+	s0ds=\E(B, s1ds=\E(0, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
+	smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq,
+	use=rxvt+pcfkeys, use=vt220+keypad,
+# Key Codes from rxvt reference:
+#
+# Note: Shift + F1-F10 generates F11-F20
+#
+# For the keypad, use Shift to temporarily override Application-Keypad
+# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock
+# is off, escape sequences toggle Application-Keypad setting.
+# Also note that values of Home, End, Delete may have been compiled
+# differently on your system.
+#
+#                   Normal       Shift        Control      Ctrl+Shift
+#  Tab              ^I           ESC [ Z      ^I           ESC [ Z
+#  BackSpace        ^H           ^?           ^?           ^?
+#  Find             ESC [ 1 ~    ESC [ 1 $    ESC [ 1 ^    ESC [ 1 @
+#  Insert           ESC [ 2 ~    paste        ESC [ 2 ^    ESC [ 2 @
+#  Execute          ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
+#  Select           ESC [ 4 ~    ESC [ 4 $    ESC [ 4 ^    ESC [ 4 @
+#  Prior            ESC [ 5 ~    scroll-up    ESC [ 5 ^    ESC [ 5 @
+#  Next             ESC [ 6 ~    scroll-down  ESC [ 6 ^    ESC [ 6 @
+#  Home             ESC [ 7 ~    ESC [ 7 $    ESC [ 7 ^    ESC [ 7 @
+#  End              ESC [ 8 ~    ESC [ 8 $    ESC [ 8 ^    ESC [ 8 @
+#  Delete           ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
+#  F1               ESC [ 11 ~   ESC [ 23 ~   ESC [ 11 ^   ESC [ 23 ^
+#  F2               ESC [ 12 ~   ESC [ 24 ~   ESC [ 12 ^   ESC [ 24 ^
+#  F3               ESC [ 13 ~   ESC [ 25 ~   ESC [ 13 ^   ESC [ 25 ^
+#  F4               ESC [ 14 ~   ESC [ 26 ~   ESC [ 14 ^   ESC [ 26 ^
+#  F5               ESC [ 15 ~   ESC [ 28 ~   ESC [ 15 ^   ESC [ 28 ^
+#  F6               ESC [ 17 ~   ESC [ 29 ~   ESC [ 17 ^   ESC [ 29 ^
+#  F7               ESC [ 18 ~   ESC [ 31 ~   ESC [ 18 ^   ESC [ 31 ^
+#  F8               ESC [ 19 ~   ESC [ 32 ~   ESC [ 19 ^   ESC [ 32 ^
+#  F9               ESC [ 20 ~   ESC [ 33 ~   ESC [ 20 ^   ESC [ 33 ^
+#  F10              ESC [ 21 ~   ESC [ 34 ~   ESC [ 21 ^   ESC [ 34 ^
+#  F11              ESC [ 23 ~   ESC [ 23 $   ESC [ 23 ^   ESC [ 23 @
+#  F12              ESC [ 24 ~   ESC [ 24 $   ESC [ 24 ^   ESC [ 24 @
+#  F13              ESC [ 25 ~   ESC [ 25 $   ESC [ 25 ^   ESC [ 25 @
+#  F14              ESC [ 26 ~   ESC [ 26 $   ESC [ 26 ^   ESC [ 26 @
+#  F15 (Help)       ESC [ 28 ~   ESC [ 28 $   ESC [ 28 ^   ESC [ 28 @
+#  F16 (Menu)       ESC [ 29 ~   ESC [ 29 $   ESC [ 29 ^   ESC [ 29 @
+#  F17              ESC [ 31 ~   ESC [ 31 $   ESC [ 31 ^   ESC [ 31 @
+#  F18              ESC [ 32 ~   ESC [ 32 $   ESC [ 32 ^   ESC [ 32 @
+#  F19              ESC [ 33 ~   ESC [ 33 $   ESC [ 33 ^   ESC [ 33 @
+#  F20              ESC [ 34 ~   ESC [ 34 $   ESC [ 34 ^   ESC [ 34 @
+#
+#                                                          Application
+#  Up               ESC [ A      ESC [ a      ESC O a      ESC O A
+#  Down             ESC [ B      ESC [ b      ESC O b      ESC O B
+#  Right            ESC [ C      ESC [ c      ESC O c      ESC O C
+#  Left             ESC [ D      ESC [ d      ESC O d      ESC O D
+#  KP_Enter         ^M                                     ESC O M
+#  KP_F1            ESC O P                                ESC O P
+#  KP_F2            ESC O Q                                ESC O Q
+#  KP_F3            ESC O R                                ESC O R
+#  KP_F4            ESC O S                                ESC O S
+#  XK_KP_Multiply   *                                      ESC O j
+#  XK_KP_Add        +                                      ESC O k
+#  XK_KP_Separator  ,                                      ESC O l
+#  XK_KP_Subtract   -                                      ESC O m
+#  XK_KP_Decimal    .                                      ESC O n
+#  XK_KP_Divide     /                                      ESC O o
+#  XK_KP_0          0                                      ESC O p
+#  XK_KP_1          1                                      ESC O q
+#  XK_KP_2          2                                      ESC O r
+#  XK_KP_3          3                                      ESC O s
+#  XK_KP_4          4                                      ESC O t
+#  XK_KP_5          5                                      ESC O u
+#  XK_KP_6          6                                      ESC O v
+#  XK_KP_7          7                                      ESC O w
+#  XK_KP_8          8                                      ESC O x
+#  XK_KP_9          9                                      ESC O y
+#
+# The source-code for rxvt actually defines mappings for F21-F35, using
+# "ESC [ 35 ~" to "ESC [  49 ~".  Keyboards with more than 12 function keys
+# are rare, so this entry uses the shift- and control-modifiers as in
+# xterm+pcfkeys to define keys past F12.
+#
+# kIC is normally not used, since rxvt performs a paste for that (shifted
+# insert), unless private mode 35 is set.
+#
+# kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD
+# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
+rxvt+pcfkeys|fragment for PC-style fkeys,
+	kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
+	kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,
+	kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\E[12~, kf20=\E[34~, kf21=\E[23$, kf22=\E[24$,
+	kf23=\E[11\^, kf24=\E[12\^, kf25=\E[13\^, kf26=\E[14\^,
+	kf27=\E[15\^, kf28=\E[17\^, kf29=\E[18\^, kf3=\E[13~,
+	kf30=\E[19\^, kf31=\E[20\^, kf32=\E[21\^, kf33=\E[23\^,
+	kf34=\E[24\^, kf35=\E[25\^, kf36=\E[26\^, kf37=\E[28\^,
+	kf38=\E[29\^, kf39=\E[31\^, kf4=\E[14~, kf40=\E[32\^,
+	kf41=\E[33\^, kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kfnd=\E[1~, khome=\E[7~, kich1=\E[2~, kind=\E[a, knp=\E[6~,
+	kpp=\E[5~, kri=\E[b, kslt=\E[4~, kDC5=\E[3\^, kDC6=\E[3@,
+	kDN=\E[b, kDN5=\EOb, kEND5=\E[8\^, kEND6=\E[8@,
+	kHOM5=\E[7\^, kHOM6=\E[7@, kIC5=\E[2\^, kIC6=\E[2@,
+	kLFT5=\EOd, kNXT5=\E[6\^, kNXT6=\E[6@, kPRV5=\E[5\^,
+	kPRV6=\E[5@, kRIT5=\EOc, kUP=\E[a, kUP5=\EOa,
+
+# rxvt was originally "xvt", first announced in April 1993:
+#	http://www.informatica.co.cr/linux-desktops/research/1993/0416.html
+#
+# Though its change-log does not mention this, John Davis has stated that he
+# was the author of the changes to use the bce ("new color model") which was
+# incorporated into rxvt 2.11 (June 15, 1995).  The change-log does not give
+# dates, nor give developer's names.  Initial color support was added for rxvt
+# "2.0", which was sometime in 1994.
+#
+# rxvt had usable color support with 2.16 (April 2, 1996), with some help by my work on
+# vttest, as well as bug reports to Mark Olesen.  For instance, the fix
+# mentioned here
+#	http://web.archiveorange.com/archive/v/6ETvLb5wHtbbzCaS4S9J
+# was from one of my bug-reports -TD
+#
+# While the color model both for xterm and rxvt was based on Linux console,
+# Olesen (or possibly Davis) diverged in one respect from Linux's bce color
+# behavior: inserting/deleting characters does not fill the newly empty cell
+# with the default background color.
+rxvt|rxvt terminal emulator (X Window System),
+	ncv@,
+	hpa=\E[%i%p1%dG, kf0=\E[21~, sgr0=\E[m\017,
+	vpa=\E[%i%p1%dd, use=rxvt-basic, use=ecma+color,
+rxvt-color|rxvt terminal emulator (X Window System),
+	use=rxvt,
+rxvt-256color|rxvt 2.7.9 with xterm 256-colors,
+	use=xterm+256color, use=rxvt,
+rxvt-88color|rxvt 2.7.9 with xterm 88-colors,
+	use=xterm+88color, use=rxvt,
+rxvt-xpm|rxvt terminal emulator (X Window System),
+	use=rxvt,
+rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin,
+	acsc=+\257\,\256-\^0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	use=rxvt,
+rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin,
+	acsc=+\257\,\256-\^0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376,
+	use=rxvt-cygwin,
+
+# This variant is supposed to work with rxvt 2.7.7 when compiled with
+# NO_BRIGHTCOLOR defined.  rxvt needs more work...
+rxvt-16color|rxvt with 16 colors like aixterm,
+	ncv#32, use=ibm+16color, use=rxvt,
+
+#### MRXVT
+# mrxvt 0.5.4
+#
+# mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
+# makes its function-keys different from other flavors of rxvt -TD
+#
+# Testing with tack:
+# +	made custom description (below) to work, though it sets TERM=xterm.
+#
+# Testing with vttest:
+# +	While "based on" rxvt, some of the basic functionality is broken.  The
+#	window collapses to a single line when running several of the screens
+#	in vttest, e.g., the tests for cursor movement, screen features,
+#	double-sized characters.
+# +	The vt52 test works properly, but this is an exception.  Due to the
+#	other bug(s) most of vttest is untestable.
+# +	the color test using ECH shows a gap in the bce model, like rxvt.
+#
+# Testing with xterm "vttest" scripts:
+# +	resize.pl does not work because mrxvt does implement CSI 18 t
+#	(not in rxvt, but not documented by mrxvt) but not CSI 19 t.
+# +	none of the "dynamic colors" (OSC colors) scripts work.
+mrxvt|multitabbed rxvt,
+	XT,
+	kEND=\E[8;2~, kHOM=\E[7;2~, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kend=\E[8~, khome=\E[7~,
+	kEND3=\E[8;3~, kEND4=\E[8;4~, kEND5=\E[8;5~,
+	kEND6=\E[8;6~, kEND7=\E[8;7~, kHOM3=\E[7;3~,
+	kHOM4=\E[7;4~, kHOM5=\E[7;5~, kHOM6=\E[7;6~,
+	kHOM7=\E[7;7~, use=xterm+r6f2, use=xterm+pcfkeys,
+	use=rxvt,
+
+mrxvt-256color|multitabbed rxvt with 256 colors,
+	use=xterm+256color, use=mrxvt,
+
+#### ETERM
+# From: Michael Jennings <mej@valinux.com>
+#
+# Eterm 0.9.3
+#
+# removed kf0 which conflicts with kf10 -TD
+# remove cvvis which conflicts with cnorm -TD
+# Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT
+# but does otherwise follow the rxvt+pcfkeys model -TD
+# remove nonworking flash -TD
+# remove km as per tack test -TD
+Eterm|Eterm-color|Eterm with xterm-style color support (X Window System),
+	am, bce, bw, eo, mc5i, mir, msgr, xenl, xon, XT,
+	btns#5, cols#80, it#8, lines#24, lm#0, ncv@,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is1=\E[?47l\E>\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@,
+	kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^H,
+	kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M,
+	mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=,
+	rmso=\E[27m, rmul=\E[24m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+	smir=\E[4h, smkx=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%i%p1%dd, use=vt100+enq, use=rxvt+pcfkeys,
+	use=ecma+color,
+
+Eterm-256color|Eterm with xterm 256-colors,
+	use=xterm+256color, use=Eterm,
+
+Eterm-88color|Eterm with 88 colors,
+	use=xterm+88color, use=Eterm,
+
+#### ATERM
+# Based on rxvt 2.4.8, it has a few differences in key bindings
+aterm|AfterStep terminal,
+	XT,
+	kbs=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt,
+
+#### XITERM
+# xiterm  0.5-5.2
+# This is not based on xterm's source...
+# vttest shows several problems with keyboard, cursor-movements.
+# see also http://invisible-island.net/xterm/xterm.faq.html#bug_xiterm
+xiterm|internationalized terminal emulator for X,
+	km@,
+	kbs=\177, kdch1=\E[3~, use=klone+color, use=xterm-r6,
+
+
+#### HPTERM
+# HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in
+# from BSD termcap.  (hpterm:  added empty <acsc>, we have no idea what ACS
+# chars look like --esr)
+hpterm|X-hpterm|hp X11 terminal emulator,
+	am, da, db, mir, xhp,
+	cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, pb#9600, xmc#0,
+	acsc=, bel=^G, bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M,
+	cub1=^H, cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC,
+	cuu1=\EA, dch1=\EP, dim=\E&dH, dl1=\EM, ed=\EJ$<1>, el=\EK,
+	hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL, ind=^J, kbs=^H,
+	kclr=\EJ, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, kf1=\Ep,
+	kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew,
+	khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, kind=\ES, kll=\EF,
+	knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, ktbc=\E3, meml=\El,
+	memu=\Em, pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
+	pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rev=\E&dB, ri=\ET,
+	rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@,
+	rmul=\E&d@,
+	sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;,
+	sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smln=\E&jB,
+	smso=\E&dJ, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+# HPUX 11 provides a color version.
+hpterm-color|HP X11 terminal emulator with color,
+	ccc,
+	colors#64, pairs#8,
+	home=\E&a0y0C,
+	initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI,
+	op=\E&v0S, scp=\E&v%p1%dS, use=hpterm,
+
+#### EMU
+# This is for the extensible terminal emulator on the X11R6 contrib tape.
+# It corresponds to emu's internal emulation:
+#	emu -term emu
+# emu's default sets TERM to "xterm", but that doesn't work well -TD
+# fixes: remove bogus rmacs/smacs, change oc to op, add bce, am -TD
+# fixes: add civis, cnorm, sgr -TD
+emu|emu native mode,
+	am, bce, mir, msgr, xon,
+	colors#15, cols#80, it#8, lines#24, pairs#64, vt#200,
+	acsc=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244,
+	bel=^G, blink=\EW, bold=\EU, civis=\EZ, clear=\EP\EE0;0;,
+	cnorm=\Ea, cr=^M, csr=\Ek%p1%d;%p2%d;, cub=\Eq-%p1%d;,
+	cub1=^H, cud=\Ep%p1%d;, cud1=\EB, cuf=\Eq%p1%d;, cuf1=\EC,
+	cup=\EE%p1%d;%p2%d;, cuu=\Ep-%p1%d;, cuu1=\EA,
+	dch=\EI%p1%d;, dch1=\EI1;, dl=\ER%p1%d;, dl1=\ER1;,
+	ech=\Ej%p1%d;, ed=\EN, el=\EK, el1=\EL, home=\EE0;0;, ht=^I,
+	hts=\Eh, il=\EQ%p1%d;, il1=\EQ1;, ind=\EG,
+	is2=\ES\Er0;\Es0;, kbs=^H, kcub1=\EC, kcud1=\EB, kcuf1=\ED,
+	kcuu1=\EA, kdch1=\177, kent=^M, kf0=\EF00, kf1=\EF01,
+	kf10=\EF10, kf11=\EF11, kf12=\EF12, kf13=\EF13, kf14=\EF14,
+	kf15=\EF15, kf16=\EF16, kf17=\EF17, kf18=\EF18, kf19=\EF19,
+	kf2=\EF02, kf20=\EF20, kf3=\EF03, kf4=\EF04, kf5=\EF05,
+	kf6=\EF06, kf7=\EF07, kf8=\EF08, kf9=\EF09, kfnd=\Efind,
+	kich1=\Eins, knp=\Enext, kpp=\Eprior, kslt=\Esel,
+	op=\Es0;\Er0;, rev=\ET, ri=\EF, rmir=\EX, rmso=\ES, rmul=\ES,
+	rs2=\ES\Es0;\Er0;, setab=\Es%i%p1%d;,
+	setaf=\Er%i%p1%d;,
+	sgr=\ES%?%p1%t\ET%;%?%p2%t\EV%;%?%p3%t\ET%;%?%p4%t\EW%;%?%p6%t\EU%;,
+	sgr0=\ES, smir=\EY, smso=\ET, smul=\EV, tbc=\Ej,
+
+# vt220 Terminfo entry for the Emu emulation, corresponds to
+#	emu -term vt220
+# with NumLock set (to make the keypad transmit kf0-kf9).
+# fixes: add am, xenl, corrected sgr0 -TD
+emu-220|Emu-220 (vt200-7bit mode),
+	am, xenl, xon,
+	cols#80, it#8, lines#24, vt#200,
+	acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[0;5m, bold=\E[0;1m, civis=\E[?25l,
+	clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D,
+	cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+	dch=\E[%p1%dP, dch1=\E[1P, dl=\E[%p1%dM, dl1=\E[1M,
+	ed=\E[0J, el=\E[0K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I,
+	hts=\EH, if=/system/share/tabset/vt300, il=\E[%p1%dL,
+	il1=\E[1L, ind=\ED, is2=\E>\E[?1l\E[?3l\E[4l\E[?7h,
+	kbs=^H, kcmd=\E[29~, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf0=\EOp, kf1=\EOq,
+	kf10=\EOl, kf11=\EOm, kf12=\EOn, kf13=\EOP, kf14=\EOQ,
+	kf15=\EOR, kf16=\EOS, kf2=\EOr, kf26=\E[17~, kf27=\E[18~,
+	kf28=\E[19~, kf29=\E[20~, kf3=\EOs, kf30=\E[21~,
+	kf34=\E[26~, kf37=\E[31~, kf38=\E[32~, kf39=\E[33~,
+	kf4=\EOt, kf40=\E[34~, kf5=\EOu, kf6=\EOv, kf7=\EOw,
+	kf8=\EOx, kf9=\EOy, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~,
+	knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[0;7m,
+	ri=\EM, rmacs=^O, rmcup=\E>, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E[4l\E[34l\E[?1l\E[?3l\E[?5l\E[?7h, sc=\E7,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
+	smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g,
+
+#### MVTERM
+# A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
+# print interface, ANSI X3.64 colour escape sequences, etc.  Newsgroup postings
+# indicate that it emulates more than one terminal, but incompletely.
+#
+# This is adapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
+# It is based on vt102's entry, with some subtle differences, but also
+#	has status line
+#	supports ANSI colors (except for 'op' string)
+#	apparently implements alternate screen like xterm
+#	does not use padding, of course.
+mvterm|vv100|SwitchTerm aka mvTERM,
+	am, eslok, hs, km, mir, msgr, xenl,
+	colors#8, cols#80, it#8, lines#24, pairs#64,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0,
+	fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy,
+	kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw,
+	op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m,
+	rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H,
+	sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys,
+
+#### MTERM
+#
+# This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
+#
+# "mterm -type ansi" sets $TERM to "ansi"
+mterm-ansi|ANSI emulation,
+	am, bw, mir, msgr,
+	it#8,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
+	el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=,
+	il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS,
+	invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m,
+	ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmso=\E[27m,
+	rmul=\E[24m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	vpa=\E[%i%p1%dd,
+# mterm normally sets $TERM to "mterm"
+mterm|mouse-sun|Der Mouse term,
+	am, bw, mir,
+	it#8,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^N, cuf1=^S,
+	cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C,
+	home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=^M^U, ri=^W,
+	rmir=^O, rmso=^T, smir=^Q, smso=^V,
+# "mterm -type decansi" sets $TERM to "decansi"
+#
+# note: kdch1, kfnd, kslt are in the source code, but do not work -TD
+decansi|ANSI emulation with DEC compatibility hacks,
+	am, mir, msgr, xenl,
+	colors#8, it#8, pairs#64,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL,
+	il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m,
+	is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~,
+	kpp=\E[5~, kslt=\E[4~, nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m,
+	ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR,
+	u7=\E[6n, vpa=\E[%i%p1%dd,
+
+#### VWM
+# http://vwm.sourceforge.net/
+#
+# VWM 2.0.2 (2009-05-01)
+# vwmterm is a terminal emulator written for the VWM console window manager.
+# This version is obsolete, replaced by libvterm in 2.1.0 (2009-10-23).
+vwmterm|(vwm term),
+	am, bce, ccc, mir, msgr, npc, xenl, xon,
+	colors#8, pairs#64,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD,
+	cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, cvvis=\E[?25h, dim=\E[2m, ed=\E[J, el=\E[K,
+	home=\E[H, il1=\E[L, ind=^J, invis=\E[8m, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
+	kend=\E[4~, kf1=\E[[A, kf10=\E[21~, kf11=\E[22~,
+	kf12=\E[23~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, knp=\E[6~, kpp=\E[5~, rev=\E[7m, rmacs=\E[10m,
+	rmam=\E[?7l, rmcup=\E[?1049l, rs1=\E[H\E[J\E[m\Ec,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smacs=\E[11m, smam=\E[?7h,
+	smcup=\E[?1049h, smso=\E[3m, smul=\E[4m,
+
+#### MGR
+#
+# MGR is a Bell Labs window system lighter-weight than X.
+# These entries describe MGR's xterm-equivalent.
+# They are courtesy of Vincent Broman <broman@nosc.mil> 14 Jan 1997
+#
+
+mgr|Bellcore MGR (non X) window system terminal emulation,
+	am, km,
+	bel=^G, bold=\E2n, civis=\E9h, clear=^L, cnorm=\Eh, cr=^M,
+	csr=\E%p1%d;%p2%dt, cub1=^H, cud1=\Ef, cuf1=\Er,
+	cup=\E%p2%d;%p1%dM, cuu1=\Eu, cvvis=\E0h,
+	dch=\E%p1%dE$<5>, dch1=\EE, dl=\E%p1%dd$<3*>,
+	dl1=\Ed$<3>, ed=\EC, el=\Ec, hd=\E1;2f, ht=^I, hu=\E1;2u,
+	ich=\E%p1%dA$<5>, ich1=\EA, il=\E%p1%da$<3*>,
+	il1=\Ea$<3>, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, nel=^M^J, rev=\E1n, rmam=\E5S,
+	rmso=\E0n, rmul=\E0n, sgr0=\E0n, smam=\E5s, smso=\E1n,
+	smul=\E4n,
+mgr-sun|Mgr window with Sun keyboard,
+	ka1=\E[214z, ka3=\E[216z, kb2=\E[218z, kc1=\E[220z,
+	kc3=\E[222z, kcpy=\E[197z, kend=\E[220z, kent=\E[250z,
+	kf1=\E[224z, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z,
+	kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z,
+	kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z,
+	kfnd=\E[200z, khlp=\E[207z, khome=\E[214z, knp=\E[222z,
+	kopn=\E[198z, kpp=\E[216z, kund=\E[195z, use=mgr,
+mgr-linux|Mgr window with Linux keyboard,
+	ka1=\E[H, ka3=\E[5~, kb2=\E[G, kc1=\E[Y, kc3=\E[6~,
+	kdch1=\E[3~, kend=\E[4~, kf0=\E[[J, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr,
+
+#### SIMPLETERM
+# st.suckless.org
+# st-0.4.1
+#
+# This version uses a table which supports a single modifier (a subset of
+# xterm's keys, using the same scheme).  Because it supports only a single
+# modifier in this table, function keys f36-f48 are normally unavailable
+# because they are assigned to modifier-4.
+#
+# The program assigns TERM to match the program name (the upstream source says
+# "st", but Debian renames it to "stterm").
+#
+# The source includes two entries which are not useful here:
+#	st-meta| simpleterm with meta key,
+#	st-meta-256color| simpleterm with meta key and 256 colors,
+# because st's notion of "meta" does not correspond to the terminfo definition.
+# Rather, it acts like xterm - when the meta feature is disabled.
+#
+# Removed invis -TD
+# Added eo, removed ul -TD
+#
+# Reviewed st 0.5:
+# implements control-modifier, but not control-shift for special keys
+# implements alt-modifier, but not alt-shift for special keys
+st|stterm| simpleterm 0.4.1,
+	am, bce, eo, hs, mir, msgr, xenl,
+	colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E)0, flash=\E[?5h\E[?5l, fsl=^G, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
+	is2=\E[4l\E>\E[?1034l, kDC=\E[3;2~, kEND=\E[1;2F,
+	kHOM=\E[1;2H, kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~,
+	kPRV=\E[5;2~, kRIT=\E[1;2C, ka1=\E[1~, ka3=\E[5~, kb2=\EOu,
+	kbs=\177, kc1=\E[4~, kc3=\E[6~, kcbt=\E[Z, kclr=\E[3;5~,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kdl1=\E[3;2~, ked=\E[1;5F, kel=\E[1;2F,
+	kend=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R,
+	kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~,
+	kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~,
+	kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~,
+	kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R, kf28=\E[1;5S,
+	kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~,
+	kf32=\E[19;5~, kf33=\E[20;5~, kf34=\E[21;5~,
+	kf35=\E[23;5~, kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q,
+	kf39=\E[1;6R, kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~,
+	kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~,
+	kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~,
+	kf48=\E[24;6~, kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q,
+	kf51=\E[1;3R, kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
+	kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
+	kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
+	kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+	kil1=\E[2;5~, kind=\E[1;2B, kmous=\E[M, knp=\E[6~,
+	kpp=\E[5~, kri=\E[1;2A, krmir=\E[2;2~, op=\E[39;49m,
+	rc=\E8, rev=\E[7m, ri=\EM, ritm=\E[23m, rmacs=\E(B,
+	rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[m, rs1=\Ec, rs2=\E[4l\E>\E[?1034l, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m,
+	sgr0=\E[0m, sitm=\E[3m, smacs=\E(0, smcup=\E[?1049h,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n,
+	u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd,
+#
+# st-0.1.1
+#
+# Note:  the original terminfo description uses leading blank to persuade
+# ncurses to use "st" as its name.  Proper fix for that is to use "st" as an
+# alias.
+#
+# Reading the code shows it should work for aixterm 16-colors
+# - added st-16color
+#
+# Using tack:
+# - set eo (erase-overstrike)
+# - set xenl
+# - tbc doesn't work
+# - hts works
+# - cbt doesn't work
+# - shifted cursor-keys send sequences like rxvt
+# - sgr referred to unimplemented "invis" mode.
+# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis
+simpleterm|old-st| simpleterm 0.1.1,
+	am, eo, mir, msgr, ul, xenl,
+	colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
+	cnorm=\E[?12l\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=\177,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m, rc=\E8,
+	rev=\E[7m, rmacs=\E(B, rmso=\E[m, rmul=\E[m, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+	sgr0=\E[0m, smacs=\E(0, smso=\E[7m, smul=\E[4m,
+st-16color|stterm-16color|simpleterm with 16-colors,
+	use=ibm+16color, use=st,
+# 256 colors "works", but when running xterm's test-scripts, some garbage is
+# shown in the titlebar.
+#
+# terminal wants to use TERM=stterm-256color, but that is longer than 14
+# characters, making the choice nonportable.
+st-256color|stterm-256color|simpleterm with 256 colors,
+	use=xterm+256color, use=st,
+
+#### TERMINATOR
+# https://code.google.com/p/jessies/
+# Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit
+# Debian/current -TD (2011/8/20)
+#
+# There are some packaging problems:
+# a) using Java, the program starts off using 50Mb, and climbs from there,
+#    up to 114Mb after testing (no scrollback).
+# b) it insists on reinstalling its terminal description in $HOME/.terminfo
+#    (two copies, just in case the host happens to be Mac OS X).
+#    I deleted this after testing with tack.
+#
+# Issues/features found with tack:
+# a) tbc does not work (implying that hts also is broken).
+#    Comparing with the tabs utility shows a problem with the last tabstop on
+#    a line.
+# b) has xterm-style shifted function-key strings
+#    meta also is used, but control is ignored.
+# c) has xterm-style modifiers for cursor keys (shift, control, shift+control, meta)
+# d) some combinations of shift/control send xterm-style sequences for
+#    insert/delete/home/end.
+# e) numeric keypad sends only numbers (compare with vttest).
+# f) meta mode (km) is not implemented.
+#
+# Issues found with ncurses test-program:
+# a) bce is inconsistently implemented
+# b) widths of Unicode values above 256 do not always agree with wcwidth.
+#
+# Checked with vttest, found low degree of compatibility there.
+#
+# Checked with xterm's scripts, found that the 256-color palette is fixed.
+#
+# Fixes:
+# a) add sgr string
+# b) corrected sgr0 to reset alternate character set
+# c) modified smacs/rmacs to use SCS rather than SI/SO
+# d) removed bce
+# e) removed km
+terminator|Terminator no line wrap,
+	eo, mir, msgr, xenl, xon,
+	colors#256, cols#80, it#8, lines#24, lm#0, pairs#32767,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
+	cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)0, flash=^G, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is1=\E[?47l\E=\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
+	rmcup=\E[?47l\E8, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
+	s0ds=\E(B, s1ds=\E(0, sc=\E7, setab=\E[48;5;%p1%dm,
+	setaf=\E[38;5;%p1%dm,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smcup=\E7\E[?47h, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
+	use=xterm+sl-twm,
+
+#### TERMINOLOGY
+# http://enlightenment.org
+#
+# Tested terminology-0.3.0, 0.6.1, using tack and vttest.  This is not a vt100
+# emulator, nor is it compatible with xterm, but it uses a few features from
+# both -TD
+#
+# General comments:
+#	cursor does not fill on focus
+#	there are pervasive problems with clearing/erasing parts of the screen
+#	resizing the window causes it to stop listening to the keyboard
+# tack -
+#	doesn't understand vt100 CPR needed for resize
+#	no CBT
+#	no cvvis
+#	has invis
+#	no blink
+#	uses bce model for colors, but (see below) fails the vttest screens
+#	has partial support for 256color feature.
+#	tack function-keys (a subset of xterm+pcf0), and
+#	tack cursor-keys (a subset of xterm+pce2):
+#			ctrl+shift (ignored)
+#		2	shift
+#			shift-alt modifier -> shift (2)
+#		3	alt
+#		4
+#		5	ctrl
+#	tack modifiers did not work for fkeys in 0.3.0; subset works in 0.6.1
+#	ctrl + khome/kend works - none of the other modifiers do
+# vttest -
+#	spits lots of messages from termptyesc.c especially in vttest.
+#	no 132-column mode
+#	fails menu 1, 2 (definitely not vt100-compatible)
+#	primary (claims vt420 with several options, apparently none work) and
+#	secondary report says (perhaps... vt420): \E[>41;285;0c
+#	CHA, HPR, VPA, CNL, CPL work
+#	BCE with ED/EL - fail
+#	BCE with ECH/indexing - fail
+#	SD/SU work
+#	unlike teken, background light/dark works
+#	can set title
+#	X10 and Normal mouse work
+#	Any-event mouse works
+#	Mouse button-event works
+#
+# This description uses xterm+pcf0, which is misleading because the program
+# does not handle combinations of modifiers - but listing them all would
+# involve more effort than its developers spent -TD
+terminology|EFL-based terminal emulator,
+	mc5i@, xon@,
+	blink@, ed@, el@, el1@, invis=\E[8m, kLFT=\E[1;2D,
+	kRIT=\E[1;2C, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kind=\E[1;2B, kri=\E[1;2A,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>,
+	vpa=\E[%i%p1%dd, kDC3=\E[3;3~, kDC4=\E[3;4~,
+	kDC5=\E[3;5~, kDC6=\E[3;6~, kDC7=\E[3;7~, kDN=\E[1;2B,
+	kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B, kDN6=\E[1;6B,
+	kDN7=\E[1;7B, kEND5=\E[1;5F, kHOM5=\E[1;5H,
+	kLFT3=\E[1;3D, kLFT4=\E[1;4D, kLFT5=\E[1;5D,
+	kLFT6=\E[1;6D, kLFT7=\E[1;7D, kRIT3=\E[1;3C,
+	kRIT4=\E[1;4C, kRIT5=\E[1;5C, kRIT6=\E[1;6C,
+	kRIT7=\E[1;7C, kUP=\E[1;2A, use=xterm+pcf0, use=vt100,
+	use=xterm+256setaf,
+
+######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
+#
+
+# Columbus UNIX virtual terminal. This terminal also appears in
+# UNIX 4.0 and successors as line discipline 1 (?), but is
+# undocumented and does not really work quite right.
+cbunix|cb unix virtual terminal,
+	OTbs, am, da, db,
+	cols#80, lines#24, lm#0,
+	bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EG%p2%c%p1%c, cuu1=\EA, dch1=\EM, dl1=\EN, ed=\EL,
+	el=\EK, ich1=\EO, il1=\EP, ind=^J, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, khome=\EE, rmso=\Eb^D, rmul=\Eb^A,
+	smso=\Ea^D, smul=\Ea^A,
+# (vremote: removed obsolete ":nl@:" -- esr)
+vremote|virtual remote terminal,
+	am@,
+	cols#79, use=cbunix,
+
+pty|4bsd pseudo teletype,
+	cup=\EG%p1%{32}%+%c%p2%{32}%+%c, rmso=\Eb$, rmul=\Eb!,
+	smso=\Ea$, smul=\Ea!, use=cbunix,
+
+#### Emacs
+
+# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
+eterm|gnu emacs term.el terminal emulation,
+	am, mir, xenl,
+	cols#80, lines#24,
+	bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, rev=\E[7m,
+	rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m,
+
+# The codes supported by the term.el terminal emulation in GNU Emacs 22.2
+eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
+	am, mir, msgr, xenl,
+	colors#8, cols#80, lines#24, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, kbs=\177,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
+	knp=\E[6~, kpp=\E[5~, op=\E[39;49m, rc=\E8, rev=\E[7m,
+	ri=\EM, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+	sc=\E7, setab=\E[%p1%'('%+%dm, setaf=\E[%p1%{30}%+%dm,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m,
+	sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	u6=\E[%i%d;%dR, u7=\E[6n,
+
+#### Screen
+
+# Entries for use by the `screen' program by Juergen Weigert,
+# Michael Schroeder, Oliver Laumann.  The screen and
+# screen-w entries came with version 3.7.1.  The screen2 and screen3 entries
+# come from University of Wisconsin and may be older.
+# (screen: added <cnorm> on ANSI model -- esr)
+#
+# 'screen' defines extensions to termcap.  Some are used in its terminal
+# description:
+#      G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
+#      AX   (bool)  Does  understand ANSI set default fg/bg color
+#                   (\E[39m / \E[49m).
+#      S0   (str)   Switch charset 'G0' to the specified charset.
+#      E0   (str)   Switch charset 'G0' back to standard charset.
+#
+# Initially tested with screen 3.09.08
+#
+# According to its manual page
+#
+#      Screen is a full-screen window manager that multiplexes a physical
+#      terminal between several processes (typically interactive shells).  Each
+#      virtual terminal provides the functions of a DEC VT100 terminal and, in
+#      addition, several control functions from the ISO 6429 (ECMA 48, ANSI
+#      X3.64) and ISO 2022 standards (e.g.  insert/delete line and support for
+#      multiple character sets).
+#
+# However, there is a design error in its support for video highlights.  The
+# program uses a table (rendlist) which equates the SGR codes to terminal
+# capabilities.  That, and color-decoding are hardcoded in screen; its behavior
+# is modified only by the presence or absence of the corresponding capabilities.
+# Not by their values.
+#
+# If screen sets the TERMCAP variable, it uses hardcoded strings which
+# correspond to the rendlist table.
+#
+# The table gives this information:
+#
+#	SGR	capability
+#	---	---------
+#	1	bold
+#	2	dim
+#	3	standout
+#	4	underline
+#	5	blink
+#	-	(unused 6)
+#	7	reverse
+#	-	(unused 8-21)
+#	22	reset bold, standout and dim
+#	23	reset standout
+#	24	reset underline
+#	25	reset blink
+#	-	(unused 26)
+#	27	reset reverse
+#
+# ECMA-48 differs from this: 3 and 23 set and reset italics, respectively.
+# ECMA-48 does not define "standout" - that is a termcap/terminfo abstraction.
+# Without some redesign of screen, it is not possible to extend the set of
+# capabilities.  Substitution would be possible, e.g., sending italics in
+# place of underline.
+#
+# Because screen uses hard-coded parsing, it does not check if two capabilities
+# use the same value.  For example, changing standout to be the same as any of
+# the other capabilities will confuse screen.  Curses applications which use
+# sgr are not impacted (because that usually resets all capabilities before
+# setting any), but termcap applications do not use sgr -TD
+screen|VT 100/ANSI X3.64 virtual terminal,
+	OTbs, OTpt, am, km, mir, msgr, xenl, G0,
+	colors#8, cols#80, it#8, lines#24, ncv@, pairs#64, U8#1,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+	cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)0, flash=\Eg, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0,
+	kbs=^H, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m,
+	rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E[?1049h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B,
+	S0=\E(%p1%c, use=ecma+color,
+# The bce and status-line entries are from screen 3.9.13 (and require some
+# changes to .screenrc).
+screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
+	bce,
+	ech@, use=screen,
+screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line,
+	dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen,
+
+# ======================================================================
+# Entries for GNU Screen with 16 colors.
+# Those variations permit to benefit from 16 colors palette, and from
+# bold font and blink attribute separated from bright colors. But they
+# are less portable than the generic "screen" 8 color entries: Their
+# usage makes real sense only if the terminals you attach and reattach
+# do all support 16 color palette.
+
+screen-16color|GNU Screen with 16 colors,
+	use=ibm+16color, use=screen,
+
+screen-16color-s|GNU Screen with 16 colors and status line,
+	use=ibm+16color, use=screen-s,
+
+screen-16color-bce|GNU Screen with 16 colors and BCE,
+	use=ibm+16color, use=screen-bce,
+
+screen-16color-bce-s|GNU Screen with 16 colors using BCE and status line,
+	bce, use=ibm+16color, use=screen-s,
+
+# ======================================================================
+# Entries for GNU Screen 4.02 with --enable-colors256.
+
+screen-256color|GNU Screen with 256 colors,
+	use=xterm+256setaf, use=screen,
+
+screen-256color-s|GNU Screen with 256 colors and status line,
+	use=xterm+256setaf, use=screen-s,
+
+screen-256color-bce|GNU Screen with 256 colors and BCE,
+	bce, use=xterm+256setaf, use=screen-bce,
+
+screen-256color-bce-s|GNU Screen with 256 colors using BCE and status line,
+	bce, use=xterm+256setaf, use=screen-s,
+
+screen.xterm-256color|GNU Screen with xterm using 256 colors,
+	use=xterm+256setaf, use=screen.xterm-new,
+
+screen.konsole-256color|GNU Screen with konsole using 256 colors,
+	use=xterm+256setaf, use=screen.konsole,
+
+screen.vte-256color|GNU Screen with vte using 256 colors,
+	use=xterm+256setaf, use=screen.vte,
+
+screen.putty-256color|GNU Screen with putty using 256 colors,
+	use=xterm+256setaf, use=screen.putty,
+
+screen.mlterm-256color|GNU Screen with mlterm using 256 colors,
+	use=xterm+256setaf, use=screen.mlterm,
+
+# ======================================================================
+
+# Read the fine manpage:
+#       When  screen  tries  to  figure  out  a  terminal name for
+#       itself, it first looks for an entry named "screen.<term>",
+#       where  <term>  is the contents of your $TERM variable.  If
+#       no such entry exists, screen tries "screen" (or "screen-w"
+#       if the terminal is wide (132 cols or more)).  If even this
+#       entry cannot be found, "vt100" is used as a substitute.
+#
+# Notwithstanding the manpage, screen uses its own notion of the termcap
+# and some keys from "screen.<term>" are ignored.  Here is an entry which
+# covers those (tested with screen 4.00.02) -TD
+screen+fkeys|function-keys according to screen,
+	kend=\E[4~, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kfnd@,
+	khome=\E[1~, kslt@,
+
+# See explanation before "screen" entry.  Cancel italics so that applications
+# do not assume screen supports the feature.  Add this tweak to entries which
+# extend screen for terminals which do support italics.
+screen+italics|screen cannot support italics,
+	ritm@, sitm@,
+#
+# Here are a few customized entries which are useful -TD
+#
+# Notes:
+# (a)	screen does not support invis.
+# (b)	screen's implementation of bw is incorrect according to tack.
+# (c)	screen appears to hardcode the strings for khome/kend, making it
+#	necessary to override the "use=" clause's values (screen+fkeys).
+# (d)	screen sets $TERMCAP to a termcap-formatted copy of the 'screen' entry,
+#	which is NOT the same as the terminfo screen.<term>.
+# (e)	when screen finds one of these customized entries, it sets $TERM to
+#	match.  Hence, no "screen.xterm" entry is provided, since that would
+#	create heartburn for people running remote xterm's.
+#
+#	xterm (-xfree86 or -r6) does not normally support kIC, kNXT and kPRV
+#	since the default translations override the built-in keycode
+#	translation.  They are suppressed here to show what is tested by tack.
+screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm,
+	bce@, bw,
+	invis@, kIC@, kNXT@, kPRV@, meml@, memu@,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
+	E3@, use=screen+italics, use=screen+fkeys, use=xterm-new,
+#:screen.xterm|screen for modern xterm,
+#:	use=screen.xterm-new,
+# xterm-r6 does not really support khome/kend unless it is propped up by
+# the translations resource.
+screen.xterm-r6|screen customized for X11R6 xterm,
+	bw, use=screen+fkeys, use=xterm-r6,
+# Color applications running in screen and TeraTerm do not play well together
+# on Solaris because Sun's curses implementation gets confused.
+screen.teraterm|disable ncv in teraterm,
+	ncv#127,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	use=screen+fkeys, use=screen,
+# Other terminals
+screen.rxvt|screen in rxvt,
+	bw, XT,
+	cvvis@, flash@, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, use=screen+fkeys, use=vt100+enq,
+	use=rxvt+pcfkeys, use=vt220+keypad, use=screen,
+screen.Eterm|screen in Eterm,
+	use=screen+fkeys, use=Eterm,
+screen.mrxvt|screen in mrxvt,
+	use=screen+fkeys, use=mrxvt,
+screen.vte|screen in any VTE-based terminal,
+	use=screen+italics, use=screen+fkeys, use=vte,
+screen.gnome|screen in GNOME Terminal,
+	use=screen+italics, use=screen+fkeys, use=gnome,
+screen.konsole|screen in KDE console window,
+	use=screen+italics, use=screen+fkeys, use=konsole,
+# fix the backspace key
+screen.linux|screen in linux console,
+	bw,
+	kbs=\177, kcbt@, use=screen+fkeys, use=screen,
+screen.mlterm|screen in mlterm,
+	use=screen+fkeys, use=mlterm,
+screen.putty|screen in putty,
+	use=screen+fkeys, use=putty,
+
+# The default "screen" entry is reasonably portable, but not optimal for the
+# most widely-used terminal emulators.  The "bce" capability is supported in
+# screen since 3.9.13, and when used, will require fewer characters to be sent
+# to the terminal for updates.
+#
+# If you are using only terminals which support bce, then you can use this
+# feature in your screen configuration.
+#
+# Adding these lines to your ".screenrc" file will allow using these customized
+# entries:
+#	term screen-bce
+#	bce on
+#	defbce on
+screen-bce.xterm-new|screen optimized for modern xterm,
+	bce,
+	ech@, use=screen+italics, use=screen.xterm-new,
+screen-bce.rxvt|screen optimized for rxvt,
+	bce,
+	ech@, use=screen.rxvt,
+screen-bce.Eterm|screen optimized for Eterm,
+	bce,
+	ech@, use=screen.Eterm,
+screen-bce.mrxvt|screen optimized for mrxvt,
+	bce,
+	ech@, use=screen.mrxvt,
+screen-bce.gnome|screen optimized for GNOME-Terminal,
+	bce,
+	ech@, use=screen+italics, use=screen.gnome,
+screen-bce.konsole|screen optimized for KDE console window,
+	bce,
+	ech@, use=screen+italics, use=screen.konsole,
+screen-bce.linux|screen optimized for linux console,
+	bce,
+	ech@, use=screen.linux,
+
+screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
+	cols#132, use=screen,
+
+screen2|old VT 100/ANSI X3.64 virtual terminal,
+	cols#80, it#8, lines#24,
+	cbt=\E[Z, clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
+	kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH,
+	nel=^M^J, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m,
+	rmul=\E[24m, rs1=\Ec, sc=\E7, sgr0=\E[m, smir=\E[4h,
+	smso=\E[3m, smul=\E[4m, tbc=\E[3g,
+# (screen3: removed unknown ":xv:LP:G0:" -- esr)
+screen3|older VT 100/ANSI X3.64 virtual terminal,
+	km, mir, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
+	rmir=\E[4l, rmkx=\E>, rmso=\E[23m, rmul=\E[24m, rs1=\Ec,
+	sc=\E7, sgr0=\E[m, smir=\E[4h, smkx=\E=, smso=\E[3m,
+	smul=\E[4m, tbc=\E[3g,
+
+# tmux is compatible with screen, but has support for italics, and some of the
+# xterm cursor bits.
+tmux|tmux terminal multiplexer,
+	ritm=\E[23m, rmso=\E[27m, sitm=\E[3m, smso=\E[7m, Ms@,
+	use=xterm+sl, use=xterm+tmux, use=screen,
+
+tmux-256color|tmux with 256 colors,
+	use=xterm+256setaf, use=tmux,
+
+#### NCSA Telnet
+
+# Francesco Potorti <F.Potorti@cnuce.cnr.it>:
+# NCSA telnet is one of the most used telnet clients for the Macintosh.  It has
+# been maintained until recently by the National Center for Supercomputer
+# Applications, and it is feature rich, stable and free.  It can be downloaded
+# from www.ncsa.edu.  This terminfo description file is based on xterm-vt220,
+# xterm+sl, and the docs at NCSA.  It works well.
+#
+# NCSA Telnet 2.6 for Macintosh in vt220 8-bit emulation mode
+# The terminal options should be set as follows:
+#         Xterm sequences ON
+#         use VT wrap mode ON
+#         use Emacs arrow keys OFF
+#         CTRL-COMND is Emacs meta ON
+#         8 bit mode ON
+#         answerback string: "ncsa-vt220-8"
+#         setup keys: all disabled
+#
+# Application mode is not used.
+#
+# Other special mappings:
+#	Apple		VT220
+#	HELP 		Find
+#	HOME		Insert here
+#	PAGEUP		Remove
+#	DEL		Select
+#	END		Prev Screen
+#	PAGEDOWN	Next Screen
+#
+# Though it supports ANSI color, NCSA Telnet uses color to represent blinking
+# text.
+#
+# The status-line manipulation is a mapping of the xterm-compatible control
+# sequences for setting the window-title.  So you must use tsl and fsl in
+# pairs, since the latter ends the string that is loaded to the window-title.
+ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode,
+	am, km, mir, msgr, xenl,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, enacs=\E)0, flash=\E[?5h\E[?5l,
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	if=/system/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
+	ind=\n$<150*>,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~,
+	kf11=\E[29~, kf12=\E[31~, kf13=\E[32~, kf14=\E[33~,
+	kf15=\E[34~, kf2=\E[18, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~,
+	kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khlp=\E[1~,
+	khome=\E[2~, knp=\E[6~, kpp=\E[3~, mc4=\E[4i, mc5=\E[5i,
+	rc=\E8, rev=\E[7m, rf=/system/share/tabset/vt100, ri=\EM,
+	rmacs=\E(B, rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7,
+	smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	u8=\E[?62;1;6c, use=xterm+sl, use=ansi+enq,
+ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode,
+	use=ncsa-m, use=klone+color,
+ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode,
+	hs@,
+	dsl@, fsl@, tsl@, use=ncsa,
+ncsa-m-ns|NCSA Telnet 2.6 for Macintosh in vt220-8 mode,
+	hs@,
+	dsl@, fsl@, tsl@, use=ncsa-m,
+# alternate -TD:
+# The documented function-key mapping refers to the Apple Extended Keyboard
+# (e.g., NCSA Telnet's F1 corresponds to a VT220 F6).  We use the VT220-style
+# codes, however, since the numeric keypad (VT100) PF1-PF4 are available on
+# some keyboards and many applications require these as F1-F4.
+#
+ncsa-vt220|NCSA Telnet using vt220-compatible function keys,
+	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+	kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, use=ncsa,
+
+#### Pilot Pro Palm-Top
+#
+# Termcap for Top Gun Telnet and SSH on the Palm Pilot.
+# http://www.ai/~iang/TGssh/
+pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional,
+	OTbs, am, xenl,
+	cols#39, lines#16,
+	bel=^G, clear=\Ec, cr=^M, cub1=^H, cud1=^J,
+	cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I,
+	ind=^J, kbs=^H, kcub1=^H, kcud1=^J, knp=^L, kpp=^K, nel=\Em~\s,
+	rmso=\EB, smso=\Eb,
+
+# From: Federico Bianchi <bianchi@www.arte.unipi.it>
+# These entries are for the Embeddable Linux Kernel System (ELKS)
+# project - an heavily stripped down Linux to be run on 16 bit
+# boxes or, eventually, to be used in embedded systems - and have been
+# adapted from the stock ELKS termcap. The project itself looks stalled,
+# and the latest improvements I know of date back to March 2000.
+#
+# To cope with the ELKS dumb console I added an "elks-glasstty" entry;
+# as an added bonus, this deals with all the capabilities common to
+# both VT52 and ANSI (or, eventually, "special") modes.
+
+elks-glasstty|ELKS glass-TTY capabilities,
+	OTbs, am,
+	cols#80, it#8, lines#25,
+	bel=^G, cr=^M, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J,
+	nel=^M^J,
+
+elks-vt52|ELKS vt52 console,
+	clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, el=\EK,
+	home=\EH, use=elks-glasstty,
+
+elks-ansi|ELKS ANSI console,
+	clear=\E[H\E[2J, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	rmso=\E[m, smso=\E[7m, use=elks-glasstty,
+
+# As a matter of fact, ELKS 0.0.83 on PCs defaults to ANSI emulation
+# instead of VT52, but the "elks" entry still refers to the latter.
+
+elks|default ELKS console,
+	use=elks-vt52,
+
+# Project SIBO (for Psion 3 palmtops) console is identical to the ELKS
+# one but in screen size
+
+sibo|ELKS SIBO console,
+	cols#61, it#8, lines#20, use=elks-vt52,
+
+######## COMMERCIAL WORKSTATION CONSOLES
+#
+
+#### Alpha consoles
+#
+
+# This is from the OSF/1 Release 1.0 termcap file
+pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation,
+	am, xon,
+	cols#80, lines#25,
+	bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H,
+	nel=^M^J, rev=\E[7m, rmso=\E[m, sgr0=\E[m, smso=\E[7m,
+
+#### Sun consoles
+#
+
+# :is1: resets scrolling region in case a previous user had used "tset vt100"
+oldsun|Sun Microsystems Workstation console,
+	OTbs, am, km, mir, msgr,
+	cols#80, it#8, lines#34,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is1=\E[1r, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H,
+	rmso=\E[m, sgr0=\E[m, smso=\E[7m,
+# From: Alexander Lukyanov <lav@video.yars.free.net>, 14 Nov 1995
+# <lines> capability later corrected by J.T. Conklin <jtc@cygnus.com>
+# SGR 1, 4 aren't supported - removed bold/underline (T.Dickey 17 Jan 1998)
+sun-il|Sun Microsystems console with working insert-line,
+	am, km, msgr,
+	cols#80, lines#34,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	kb2=\E[218z, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kdch1=\177, kend=\E[220z, kf1=\E[224z,
+	kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z,
+	kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z,
+	kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z,
+	kich1=\E[247z, knp=\E[222z, kopt=\E[194z, kpp=\E[216z,
+	kres=\E[193z, kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@,
+	rs2=\E[s, sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
+	smso=\E[7m, u8=\E[1t, u9=\E[11t,
+# On some versions of CGSIX framebuffer firmware (SparcStation 5), <il1>/<il>
+# flake out on the last line.  Unfortunately, without them the terminal has no
+# way to scroll.
+sun-cgsix|sun-ss5|Sun SparcStation 5 console,
+	il@, il1@, use=sun-il,
+# If you are using an SS5, change the sun definition to use sun-ss5.
+sun|sun1|sun2|Sun Microsystems Inc. workstation console,
+	use=sun-il,
+
+sun+sl|Sun Workstation window status line,
+	hs,
+	dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l,
+
+# From: <john@ucbrenoir>  Tue Sep 24 13:14:44 1985
+sun-s|Sun Microsystems Workstation window with status line,
+	hs,
+	dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, use=sun,
+sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs,
+	hs,
+	dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, use=sun-e,
+sun-48|Sun 48-line window,
+	cols#80, lines#48, use=sun,
+sun-34|Sun 34-line window,
+	cols#80, lines#34, use=sun,
+sun-24|Sun 24-line window,
+	cols#80, lines#24, use=sun,
+sun-17|Sun 17-line window,
+	cols#80, lines#17, use=sun,
+sun-12|Sun 12-line window,
+	cols#80, lines#12, use=sun,
+sun-1|Sun 1-line window for sysline,
+	eslok, hs,
+	cols#80, lines#1,
+	dsl=^L, fsl=\E[K, tsl=^M, use=sun,
+sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character,
+	ich1@, rmir@, smir@, use=sun,
+sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history,
+	lines#35,
+	rmcup=\E[>4h, smcup=\E[>4l, use=sun,
+sun-type4|Sun Workstation console with type 4 keyboard,
+	kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z,
+	kcuu1=\E[215z, use=sun-il,
+
+# Most of the current references to sun-color are from users wondering why this
+# is the default on install.  Details from reading the wscons manpage, adding
+# cub, etc., here (rather than in the base sun-il entry) since it is not clear
+# when those were added -TD (2005-05-28)
+#
+# According to wscons manpage, color is supported only on IA systems.
+# Sun's terminfo entry documents bold and smul/rmul capabilities, but wscons
+# does not list these.  It also sets ncv#3, however that corresponds to
+# underline and standout.
+#
+# Since the documentation and terminfo do not agree, see also current code at
+# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/tem_safe.c
+#
+# That (actually a different driver which "supports" sun-color) also supports
+# these features:
+#	vpa=\E[%i%p1%dd
+#	hpa=\E[%i%p1%d`
+#	cbt=\E[Z
+#	dim=\E[2m
+#	blink=\E[5m
+# It supports bold, but not underline -TD (2009-09-19)
+sun-color|Sun Microsystems Workstation console with color support (IA systems),
+	colors#8, ncv#3, pairs#64,
+	bold=\E[1m, cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+	cuu=\E[%p1%dA, home=\E[H, op=\E[0m, rs2=\E[s,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+	sgr=\E[0%?%p6%t;1%;%?%p1%p3%|%t;7%;m, sgr0=\E[m,
+	smso=\E[7m, use=sun,
+
+#### Iris consoles
+#
+
+# (wsiris: this had extension capabilities
+#	:HS=\E7F2:HE=\E7F7:\
+#	:CT#2:CZ=*Bblack,red,green,yellow,blue,magenta,cyan,*Fwhite:
+# See the note on Iris extensions near the end of this file.
+# Finally, removed suboptimal <clear>=\EH\EJ and added <cud1> &
+# <flash> from BRL -- esr)
+wsiris|iris40|iris emulating a 40 line visual 50 (approximately),
+	OTbs, OTnc, OTpt, am,
+	OTkn#3, cols#80, it#8, lines#40,
+	OTnl=\EB, bel=^G, clear=\Ev, cnorm=\E>, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	cvvis=\E;, dim=\E7F2, dl1=\EM, ed=\EJ, el=\EK,
+	flash=\E7F4\E7B1\013\E7F7\E7B0, home=\EH, ht=^I, il1=\EL,
+	ind=^J, is2=\E7B0\E7F7\E7C2\E7R3, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3,
+	kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, ri=\EI,
+	rmso=\E0@, rmul=\E7R3\E0@, sgr0=\E7F7, smso=\E9P,
+	smul=\E7R2\E9P,
+
+#### NeWS consoles
+#
+# Console terminal windows under the NeWS (Sun's Display Postscript windowing
+# environment).   Note: these have nothing to do with Sony's News workstation
+# line.
+#
+
+# Entry for NeWS's psterm from Eric Messick & Hugh Daniel
+# (psterm: unknown ":sl=\EOl:el=\ENl:" removed -- esr)
+psterm|psterm-basic|NeWS psterm-80x34,
+	OTbs, am, hs, km, ul,
+	cols#80, it#8, lines#34,
+	blink=\EOb, bold=\EOd, clear=^L, csr=\EE%p1%d;%p2%d;,
+	cub1=\ET, cud1=\EP, cuf1=\EV, cup=\E%p1%d;%p2%d;, cuu1=\EY,
+	dch1=\EF, dl1=\EK, ed=\EB, el=\EC, flash=\EZ, fsl=\ENl,
+	home=\ER, ht=^I, il1=\EA, ind=\EW, is1=\EN*, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ll=\EU, rc=^\, rev=\EOr,
+	ri=\EX, rmcup=\ENt, rmir=\ENi, rmso=\ENo, rmul=\ENu, sc=^],
+	sgr0=\EN*, smcup=\EOt, smir=\EOi, smso=\EOo, smul=\EOu,
+	tsl=\EOl,
+psterm-96x48|NeWS psterm 96x48,
+	cols#96, lines#48, use=psterm,
+psterm-90x28|NeWS psterm 90x28,
+	cols#90, lines#28, use=psterm,
+psterm-80x24|NeWS psterm 80x24,
+	cols#80, lines#24, use=psterm,
+# This is a faster termcap for psterm.  Warning:  if you use this termcap,
+# some control characters you type will do strange things to the screen.
+# (psterm-fast: unknown ":sl=^Ol:el=^Nl:" -- esr)
+psterm-fast|NeWS psterm fast version (flaky ctrl chars),
+	OTbs, am, hs, km, ul,
+	cols#80, it#8, lines#34,
+	blink=^Ob, bold=^Od, clear=^L, csr=\005%p1%d;%p2%d;,
+	cub1=^T, cud1=^P, cuf1=^V, cup=\004%p1%d;%p2%d;, cuu1=^Y,
+	dch1=^F, dl1=^K, ed=^B, el=^C, flash=^Z, fsl=^Nl, home=^R, ht=^I,
+	il1=^A, ind=^W, is1=^N*, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, ll=^U, rc=^\, rev=^Or, ri=^X, rmcup=^Nt, rmir=^Ni,
+	rmso=^No, rmul=^Nu, sc=^], sgr0=^N*, smcup=^Ot, smir=^Oi,
+	smso=^Oo, smul=^Ou, tsl=^Ol,
+
+#### NeXT consoles
+#
+# Use `glasstty' for the Workspace application
+#
+
+# From: Dave Wetzel <dave@turbocat.snafu.de> 22 Dec 1995
+next|NeXT console,
+	am, xt,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J,
+	rmso=\E[4;1m, sgr0=\E[m, smso=\E[4;2m,
+nextshell|NeXT Shell application,
+	am,
+	cols#80,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, kbs=^H, kcub1=^H,
+	kcud1=^J, nel=^M^J,
+
+#### Sony NEWS workstations
+#
+
+# (news-unk: this had :KB=news: -- esr)
+news-unk|SONY NEWS vt100 emulator common entry,
+	OTbs, OTpt, am, xenl,
+	cols#80,
+	OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	if=/system/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
+	is2=\E[?7h\E[?1h\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+	kf8=\EOW, kf9=\EOX, rc=\E8, rev=\E[7m, ri=\EM,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r, sc=\E7,
+	sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+#
+# (news-29: this had :TY=ascii: --esr)
+news-29,
+	lines#29, use=news-unk,
+# (news-29-euc: this had :TY=euc: --esr)
+news-29-euc,
+	use=news-29,
+# (news-29-sjis: this had :TY=sjis: --esr)
+news-29-sjis,
+	use=news-29,
+#
+# (news-33: this had :TY=ascii: --esr)
+news-33,
+	lines#33, use=news-unk,
+# (news-33-euc: this had :TY=euc: --esr)
+news-33-euc,
+	use=news-33,
+# (news-33-sjis: this had :TY=sjis: --esr)
+news-33-sjis,
+	use=news-33,
+#
+# (news-42: this had :TY=ascii: --esr)
+news-42,
+	lines#42, use=news-unk,
+# (news-42-euc: this had :TY=euc: --esr)
+news-42-euc,
+	use=news-42,
+# (news-42-sjis: this had :TY=sjis: --esr)
+news-42-sjis,
+	use=news-42,
+#
+#	NEWS-OS old termcap entry
+#
+# (news-old-unk: this had :KB=news:TY=sjis: --esr)
+news-old-unk|SONY NEWS vt100 emulator common entry,
+	OTbs, OTpt, am, xenl,
+	cols#80, vt#3,
+	OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, if=/system/share/tabset/vt100, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+#
+# (nwp512: this had :DE=^H:, which I think means <OTbs> --esr)
+nwp512|news|nwp514|news40|vt100-bm|old sony vt100 emulator 40 lines,
+	OTbs,
+	lines#40,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8,
+	use=news-old-unk,
+#
+# (nwp512-a: this had :TY=ascii: and the alias vt100-bm --esr)
+nwp512-a|nwp514-a|news-a|news42|news40-a|sony vt100 emulator 42 line,
+	lines#42,
+	is2=\E[?7h\E[?1l\E[?3l\E7\E[1;42r\E8,
+	use=news-old-unk,
+#
+# (nwp-512-o: this had :KB=nwp410:DE=^H:  I interpret the latter as <OTbs>. --esr)
+nwp512-o|nwp514-o|news-o|news40-o|vt100-bm-o|sony vt100 emulator 40 lines,
+	OTbs,
+	lines#40,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8,
+	use=news-old-unk,
+#
+# (nwp513: this had :DE=^H: and the alias vt100-bm --esr)
+nwp513|nwp518|nwe501|newscbm|news31|sony vt100 emulator 33 lines,
+	OTbs,
+	lines#31,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8,
+	use=news-old-unk,
+#
+# (nwp513-a: this had :TY=ascii: and :DE=^H:, which I interpret as <OTbs>; --esr)
+# also the alias vt100-bm.
+nwp513-a|nwp518-a|nwe501-a|nwp251-a|newscbm-a|news31-a|newscbm33|news33|old sony vt100 emulator 33 lines,
+	OTbs,
+	lines#33,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;33r\E8,
+	use=news-old-unk,
+#
+# (nwp513-o: had :DE=^H:, I think that's <OTbs>; also the alias vt100-bm --esr)
+nwp513-o|nwp518-o|nwe501-o|nwp251-o|newscbm-o|news31-o|old sony vt100 emulator 33 lines,
+	OTbs,
+	lines#31,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8,
+	use=news-old-unk,
+#
+# (news28: this had :DE=^H:, I think that's <OTbs>, and :KB=nws1200: --esr)
+news28|sony vt100 emulator 28 lines,
+	OTbs,
+	lines#28,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;28r\E8,
+	use=news-old-unk,
+#
+# (news29: this had :TY=ascii:KB=nws1200:\ --esr)
+news29|news28-a|sony vt100 emulator 29 lines,
+	lines#29,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;29r\E8,
+	use=news-old-unk,
+#
+# (news511: this had :TY=sjis: --esr)
+nwp511|nwp-511|nwp-511 vt100,
+	OTbs, OTpt, am, xenl,
+	cols#80, lines#24,
+	clear=\E[;H\E[2J$<20/>, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A$<2/>, dl1=\E[M,
+	ed=\E[J$<30/>, el=\E[K$<3/>,
+	flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l,
+	il1=\E[L, is2=\E[?5l\E[?1l\E>\E[?7h\E[?8h, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\E#W, khome=\E[H,
+	ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+	rs2=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h,
+	smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+# (news517: this had :TY=sjis:. --esr)
+nwp517|nwp-517|nwp-517 vt200 80 cols 30 rows,
+	eslok, hs,
+	cols#80, lines#30,
+	OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$},
+	is2=\E7\E[r\E8\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	tsl=\E[1$}\E[;%df, use=vt200,
+# (news517-w: this had :TY=sjis:. --esr)
+nwp517-w|nwp-517-w|nwp-517 vt200 132 cols 50 rows,
+	eslok, hs,
+	cols#132, lines#50,
+	OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$},
+	is2=\E7\E[r\E8\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h,
+	tsl=\E[1$}\E[;%df, use=vt200,
+
+#### Common Desktop Environment
+#
+
+# This ships with Sun's CDE in Solaris 2.5
+# Corrected Sun Aug 9 1998 by Alexander V. Lukyanov <lav@video.yars.free.net>
+dtterm|CDE desktop terminal,
+	am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, lm#0, ncv@,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, home=\E[H,
+	ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+	ind=\ED, invis=\E[8m, is2=\E F\E>\E[?1l\E[?7h\E[?45l,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmso=\E[22;27m, rmul=\E[24m,
+	sc=\E7,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, use=ecma+color,
+
+######## Non-Unix Consoles
+#
+
+#### EMX termcap.dat compatibility modes
+#
+# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
+# no_color_video to inform the application that standout(1), underline(2)
+# reverse(4) and invisible(64) don't work with color.
+emx-base|DOS special keys,
+	bce, bw,
+	it#8, ncv#71,
+	bel=^G, use=ansi.sys,
+
+# Except for the "-emx" suffixes, these are as distributed with EMX 0.9b,
+# a Unix-style environment used on OS/2.  (Note that the suffix makes some
+# names longer than 14 characters, the nominal maximum).
+#
+# Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs.
+ansi-emx|ANSI.SYS color,
+	am, bce, eo, mir, msgr, xon,
+	colors#8, cols#80, it#8, lines#25, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H,
+	cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l,
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J,
+	kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J,
+	rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m,
+	rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m,
+	smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c,
+	u9=\E[c, use=emx-base,
+# nice colors for Emacs (white on blue, mode line white on cyan)
+ansi-color-2-emx|ANSI.SYS color 2,
+	clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m,
+	rmso=\E[0;37;44m, rmul=\E[0;37;44m, rs1=\Ec,
+	setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smso=\E[1;37;46m,
+	smul=\E[1;36;44m, use=ansi-emx,
+# nice colors for Emacs (white on black, mode line black on cyan)
+ansi-color-3-emx|ANSI.SYS color 3,
+	clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m,
+	rmso=\E[0;37;40m, rmul=\E[0;37;40m, rs1=\Ec,
+	setaf=\E[3%p1%dm, sgr0=\E[0;10m, smso=\E[1;37;46m,
+	smul=\E[0;36;40m, use=ansi-emx,
+mono-emx|stupid monochrome ansi terminal with only one kind of emphasis,
+	am,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J$<50>, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M,
+	kcuu1=\0H, kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>,
+	kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G,
+	kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=^M^J, rev=\E[7m,
+	sgr0=\E[0m,
+
+#### Cygwin
+
+# Use this for cygwin32 (tested with beta 19.1)
+# underline is colored bright magenta
+# shifted kf1-kf12 are kf11-kf22
+cygwinB19|ansi emulation for cygwin32,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rmam@, smam@,
+	use=ansi.sys,
+
+# Use this for cygwin (tested with version 1.1.0).
+# I've combined pcansi and linux.  Some values of course were different and
+# I've indicated which of these were and which I used.
+# Cheers, earnie_boyd@yahoo.com
+# several changes based on running with tack and comparing with older entry -TD
+# more changes from csw:
+#   add    cbt   [backtab]
+#   remove eo    [erase overstrike with blank]
+#   change clear was \E[H\E[J  now \E[2J  (faster?)
+#   remove cols
+#   remove lines
+#   remove ncv#3 [colors collide with highlights, bitmask] not applicable
+#                to MSDOS box?
+#   add    cub   [cursor back param]
+#   add    cuf   [cursor forward param]
+#   add    cuu   [cursor up param]
+#   add    cud   [cursor down param]
+#   add    hs    [has status line]
+#   add    fsl   [return from status line]
+#   add    tsl   [go to status line]
+#   add    smacs [Start alt charset] (not sure if this works)
+#   add    rmacs [End alt charset]   (ditto)
+#   add    smcup [enter_ca_mode] (save console; thanks Corinna)
+#   add    rmcup [exit_ca_mode]  (restore console; thanks Corinna)
+#   add    kb2   [center of keypad]
+#   add    u8    [user string 8] \E[?6c
+#   add    el    [clear to end of line] \E[K
+# Notes:
+#   cnorm [make cursor normal] not implemented
+#   flash [flash] not implemented
+#   blink [blink] not implemented very usefully in cygwin? \E[5m
+#   dim   [dim] not implemented very usefully in cygwin? \E[2m
+#   cub1  [cursor back 1] typically \E[D, but ^H is faster?
+#   kNXT  [shifted next key] not implemented
+#   kPRV  [shifted prev key] not implemented
+#   khome [home key] really is \E[1~ NOT \E[H
+#   tbc   [clear tab stops] not implemented
+#   xenl  [newline ignnored after 80 cols] messes up last line? Ehud Karni
+#   smpch [Start PC charset] is \E[11m, same as smacs
+#   rmpch [End PC charset] is \E[10m, same as rmacs
+#   mir   [move in insert mode] fails in tack?
+#   bce   [back color erase] causes problems with change background color?
+#   cvvis [make cursor very visible] causes a stackdump when testing with
+#         testcurs using the output option? \E[?25h\E[?8c
+#   civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c
+#   ech   [erase characters param] broken \E[%p1%dX
+#   kcbt  [back-tab key] not implemented in cygwin?  \E[Z
+#
+# 2005/11/12 -TD
+#	Remove cbt since it does not work in current cygwin
+#	Add 'mir' and 'in' flags based on tack
+cygwin|ansi emulation for Cygwin,
+	am, hs, mir, msgr, xon,
+	colors#8, it#8, pairs#64,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, cub=\E[%p1%dD,
+	cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, kb2=\E[G,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z,
+	nel=^M^J, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+	rmacs=\E[10m, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+	rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R,
+	sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smacs=\E[11m, smcup=\E7\E[?47h,
+	smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];,
+	vpa=\E[%i%p1%dd, use=vt102+enq,
+
+# I've supplied this so that you can help test new values and add other
+# features.  Cheers, earnie_boyd@yahoo.com.
+#
+# Some features are from pcansi.  The op value is from linux.  Function-keys
+# are from linux.  These have been tested not to cause problems.  xenl was in
+# this list, but DOES cause problems so it has been removed
+cygwinDBG|Debug Version for Cygwin,
+	am, eo, mir, msgr, xon,
+	colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$,
+	kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+	knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m,
+	rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l,
+	rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
+	sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt102+enq,
+
+#### DJGPP
+
+# Key definitions:
+# The encodings for unshifted arrow keys, F1-F12, Home, Insert, etc.  match the
+# encodings used by other x86 environments.  All others are invented for DJGPP.
+# Oddly enough, while several combinations of modifiers are tabulated, there is
+# none for shifted cursor keys.
+#
+#	F1			\E[[A
+#	F2			\E[[B
+#	F3			\E[[C
+#	F4			\E[[D
+#	F5			\E[[E
+#	F6			\E[17~
+#	F7			\E[18~
+#	F8			\E[19~
+#	F9			\E[20~
+#	F10			\E[21~
+#	F11			\E[23~
+#	F12			\E[24~
+#
+#	Delete			\E[3~
+#	Down Arrow		\E[B
+#	End			\E[4~
+#	Home			\E[1~
+#	Insert			\E[2~
+#	Left Arrow		\E[D
+#	Page Down		\E[6~
+#	Page Up			\E[5~
+#	Right Arrow		\E[C
+#	Up Arrow		\E[A
+#
+#	Shift-F1		\E[25~
+#	Shift-F2		\E[26~
+#	Shift-F3		\E[27~
+#	Shift-F4		\E[28~
+#	Shift-F5		\E[29~
+#	Shift-F6		\E[30~
+#	Shift-F7		\E[31~
+#	Shift-F8		\E[32~
+#	Shift-F9		\E[33~
+#	Shift-F10		\E[34~
+#	Shift-F11		\E[35~
+#	Shift-F12		\E[36~
+#
+#	Ctrl-F1			\E[47~
+#	Ctrl-F2			\E[48~
+#	Ctrl-F3			\E[49~
+#	Ctrl-F4			\E[50~
+#	Ctrl-F5			\E[51~
+#	Ctrl-F6			\E[52~
+#	Ctrl-F7			\E[53~
+#	Ctrl-F8			\E[54~
+#	Ctrl-F9			\E[55~
+#	Ctrl-F10		\E[56~
+#	Ctrl-F11		\E[57~
+#	Ctrl-F12		\E[58~
+#
+#	Ctrl-Delete		\E[43~
+#	Ctrl-Down Arrow		\E[38~
+#	Ctrl-End		\E[44~
+#	Ctrl-Home		\E[41~
+#	Ctrl-Insert		\E[42~
+#	Ctrl-Left Arrow		\E[39~
+#	Ctrl-Page Down		\E[46~
+#	Ctrl-Page Up		\E[45~
+#	Ctrl-Right Arrow	\E[40~
+#	Ctrl-Up Arrow		\E[37~
+#
+#	Alt-F1			\E[59~
+#	Alt-F2			\E[60~
+#	Alt-F3			\E[61~
+#	Alt-F4			\E[62~
+#	Alt-F5			\E[63~
+#	Alt-F6			\E[64~
+#	Alt-F7			\E[65~
+#	Alt-F8			\E[66~
+#	Alt-F9			\E[67~
+#	Alt-F10			\E[68~
+#	Alt-F11			\E[79~
+#	Alt-F12			\E[80~
+#
+#	Alt-Delete		\E[65~
+#	Alt-Down Arrow		\E[60~
+#	Alt-End			\E[66~
+#	Alt-Home		\E[41~
+#	Alt-Insert		\E[64~
+#	Alt-Left Arrow		\E[61~
+#	Alt-Page Down		\E[68~
+#	Alt-Page Up		\E[67~
+#	Alt-Right Arrow		\E[62~
+#	Alt-Up Arrow		\E[59~
+#
+# Also:
+#	Alt-A			\E[82~
+#	Alt-B			\E[82~
+#	Alt-C			\E[83~
+#	Alt-D			\E[84~
+#	Alt-E			\E[85~
+#	Alt-F			\E[86~
+#	Alt-G			\E[87~
+#	Alt-H			\E[88~
+#	Alt-I			\E[89~
+#	Alt-J			\E[90~
+#	Alt-K			\E[91~
+#	Alt-L			\E[92~
+#	Alt-M			\E[93~
+#	Alt-N			\E[94~
+#	Alt-O			\E[95~
+#	Alt-P			\E[96~
+#	Alt-Q			\E[97~
+#	Alt-R			\E[98~
+#	Alt-S			\E[99~
+#	Alt-T			\E[100~
+#	Alt-U			\E[101~
+#	Alt-V			\E[102~
+#	Alt-W			\E[103~
+#	Alt-X			\E[104~
+#	Alt-Y			\E[105~
+#	Alt-Z			\E[106~
+djgpp|ansi emulation for DJGPP alpha,
+	am, bce, msgr, xhp, xon, xt,
+	colors#8, it#8, pairs#64,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v,
+	clear=\E[H\E[J, cnorm=\E[v, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, invis=\E[8m, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
+	kend=\E[4~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=^M^J,
+	op=\E[37;40m, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmso=\E[m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%e;25%;%?%p6%t;1%;%?%p7%t;8%;m,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
+
+djgpp203|Entry for DJGPP 2.03,
+	OTbs, am,
+	cols#80, it#8, lines#25,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H,
+	kcud1=^J, nel=^M^J,
+
+djgpp204|Entry for DJGPP 2.04,
+	OTbs, am, AX,
+	colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v,
+	clear=\E[H\E[2J, cnorm=\E[v, cr=^M, cub=\E[%p1%dD,
+	cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kf0=\E[21~, kf1=\E[[A, kf10=\E[21~, kf2=\E[[B,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+	kll=\E[4~, knp=\E[6~, kpp=\E[5~, nel=^M^J, rev=\E[7m,
+	ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+
+#### U/Win
+
+# This is tested using U/Win's telnet.  Scrolling is omitted because it is
+# buggy.  Another odd bug appears when displaying "~" in alternate character
+# set (the emulator spits out error messages).  Compare with att6386 -TD
+uwin|U/Win 3.2 console,
+	am, eo, in, msgr, xenl, xon,
+	colors#8, it#8, ncv#58, pairs#64,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+	ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, ich1=\E[@, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[Y, kf1=\EOP,
+	kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX,
+	khome=\E[H, kich1=\E[@, nel=^M^J, op=\E[39;49m, rc=\E8,
+	rev=\E[7m, rmacs=\E[10m, rmir=\E[4l, rmpch=\E[10m,
+	rmso=\E[27m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m,
+	smacs=\E[11m, smir=\E[4h, smpch=\E[11m, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+
+#### Microsoft (miscellaneous)
+
+# This entry fits the Windows NT console when the _POSIX_TERM environment
+# variable is set to 'on'.  While the Windows NT POSIX console is seldom used,
+# the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP
+# stack and the Win32 (i.e., Windows 95 and Windows NT 3.1 or later) operating
+# systems is not, and (surprise!) they match very well.
+#
+# See:  MS Knowledge Base item Q108581, dated 13-MAY-1997, titled "Setting Up
+# VI POSIX Editor for Windows NT 3.1".  True to Microsoft form, not only
+# are the installation instructions a pile of mind-numbing bureaucratese,
+# but the termcap entry is actually broken and unusable as given; the :do:
+# capability is misspelled "d".
+#
+# To use this, you need to a bunch of environment variables:
+#
+# SET _POSIX_TERM=on
+# SET TERM=ansi
+# SET TERMCAP=location of termcap file in POSIX file format
+# which is case-sensitive.
+# e.g. SET TERMCAP=//D/RESKIT35/posix/termcap
+# SET TMP=//C/TEMP
+#
+# Important note: setting the TMP environment variable in POSIX style renders
+# it incompatible with a lot of other applications, including Visual C++. So
+# you should have a separate command window just for vi. All the other
+# variables may be permanently set in the Control Panel\System applet.
+#
+# You can find out more about the restrictions of this facility at
+# <http://www.nentug.org/unix-to-nt/ntposix.htm>.
+#
+# From: Federico Bianchi <bianchi@magna.cisid.unipi.it>, 15 Jan 1997
+ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode,
+	am, bw, msgr,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[V,
+	kcuf1=\E[C, kcuu1=\E[A, nel=\r\E[S, rc=\E[u, rev=\E[7m,
+	ri=\E[T, rmso=\E[m, sc=\E[s, sgr0=\E[0m, smso=\E[7m,
+# From: jew@venus.sunquest.com
+# Date: 19 Feb 93 23:41:07 GMT
+# Here's  a  combination of  ansi and  vt100 termcap
+# entries   that  works  nearly   perfectly  for  me
+# (Gateway 2000 Handbook and Microsoft Works 3.0):
+pcmw|PC running Microsoft Works,
+	am, xenl,
+	cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>,
+	cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H,
+	ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>,
+	rc=\E8, rev=\E[7m$<2/>, rf=/system/share/tabset/vt100,
+	ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+	tbc=\E[3g$<2/>,
+
+# From: Federico Bianchi
+# This is the entry for the OpenNT terminal.
+# The ntconsole name is for backward compatability.
+# This is for OpenNT 2.0 and later.
+# Later OpenNT was renamed to Interix.
+#
+# Presently it is distributed by Microsoft as Services For Unix (SFU).
+# The 3.5 beta contains ncurses 4.2 (that is header files and executables,
+# the documentation dates from 1.9.9e) -TD
+
+interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with color,
+	am, bw, msgr,
+	colors#8, cols#80, lines#25, ncv#3, pairs#64,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[2J, cub=\E[%p1%dD,
+	cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[M, kend=\E[U, kf0=\EFA,
+	kf1=\EF1, kf10=\EFA, kf11=\EFB, kf12=\EFC, kf13=\EFD,
+	kf14=\EFE, kf15=\EFF, kf16=\EFG, kf17=\EFH, kf18=\EFI,
+	kf19=\EFJ, kf2=\EF2, kf20=\EFK, kf21=\EFL, kf22=\EFM,
+	kf23=\EFN, kf24=\EFO, kf25=\EFP, kf26=\EFQ, kf27=\EFR,
+	kf28=\EFS, kf29=\EFT, kf3=\EF3, kf30=\EFU, kf31=\EFV,
+	kf32=\EFW, kf33=\EFX, kf34=\EFY, kf35=\EFZ, kf36=\EFa,
+	kf37=\EFb, kf38=\EFc, kf39=\EFd, kf4=\EF4, kf40=\EFe,
+	kf41=\EFf, kf42=\EFg, kf43=\EFh, kf44=\EFi, kf45=\EFj,
+	kf46=\EFk, kf47=\EFm, kf48=\EFn, kf49=\EFo, kf5=\EF5,
+	kf50=\EFp, kf51=\EFq, kf52=\EFr, kf53=\EFs, kf54=\EFt,
+	kf55=\EFu, kf56=\EFv, kf57=\EFw, kf58=\EFx, kf59=\EFy,
+	kf6=\EF6, kf60=\EFz, kf61=\EF+, kf62=\EF-,
+	kf63=\EF\014 kf64=\EF$, kf7=\EF7, kf8=\EF8, kf9=\EF9,
+	kich1=\E[L, kll=\E[U, knp=\E[T, kpp=\E[S, ll=\E[U, nel=^M^J,
+	op=\E[m, rc=\E[u, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT,
+	rmcup=\E[2b\E[u\r\E[K, rmso=\E[m, rmul=\E[m, rs1=\Ec,
+	sc=\E[s, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm,
+	sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[7m, smul=\E[4m,
+
+opennt-35|ntconsole-35|OpenNT-term35 compatible with color,
+	lines#35, use=opennt,
+
+opennt-50|ntconsole-50|OpenNT-term50 compatible with color,
+	lines#50, use=opennt,
+
+opennt-60|ntconsole-60|OpenNT-term60 compatible with color,
+	lines#60, use=opennt,
+
+opennt-100|ntconsole-100|OpenNT-term100 compatible with color,
+	lines#100, use=opennt,
+
+# OpenNT wide terminals
+opennt-w|opennt-25-w|ntconsole-w|ntconsole-25-w|OpenNT-term-w compat with color,
+	cols#125, use=opennt,
+
+opennt-35-w|ntconsole-35-w|OpenNT-term35-w compatible with color,
+	lines#35, use=opennt-w,
+
+opennt-50-w|ntconsole-50-w|OpenNT-term50-w compatible with color,
+	lines#50, use=opennt-w,
+
+opennt-60-w|ntconsole-60-w|OpenNT-term60-w compatible with color,
+	lines#60, use=opennt-w,
+
+opennt-w-vt|opennt-25-w-vt|ntconsole-w-vt|ntconsole-25-w-vt|OpenNT-term-w-vt compat with color,
+	cols#132, use=opennt,
+
+# OpenNT terminals with no smcup/rmcup (names match termcap entries)
+interix-nti|opennt-nti|opennt-25-nti|ntconsole-25-nti|OpenNT-nti compatible with color,
+	rmcup@, smcup@, use=opennt,
+
+opennt-35-nti|ntconsole-35-nti|OpenNT-term35-nti compatible with color,
+	lines#35, use=opennt-nti,
+
+opennt-50-nti|ntconsole-50-nti|OpenNT-term50-nti compatible with color,
+	lines#50, use=opennt-nti,
+
+opennt-60-nti|ntconsole-60-nti|OpenNT-term60-nti compatible with color,
+	lines#60, use=opennt-nti,
+
+opennt-100-nti|ntconsole-100-nti|OpenNT-term100-nti compatible with color,
+	lines#100, use=opennt-nti,
+
+######## COMMON TERMINAL TYPES
+#
+# This section describes terminal classes and maker brands that are still
+# quite common, but have proprietary command sets not blessed by ANSI.
+#
+
+#### Altos
+#
+# Altos made a moderately successful line of UNIX boxes.  In 1990 they were
+# bought out by Acer, a major Taiwanese manufacturer of PC-clones.
+# Acer has a web site at http://www.acer.com.
+#
+# Altos descriptions from Ted Mittelstaedt <tedm@agora.rain.com> 4 Sep 1993
+# His comments suggest they were shipped with the system.
+#
+
+# (altos2: had extension capabilities
+#	:c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\
+#	:c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\
+#	:c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\
+#	:cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+#	:XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\
+#	:YU=^AQ\r:YD=^AR\r:YR=^AS\r:YL=^AT\r:\
+#	:HL=^AP\r:SP=\E[i:\
+#	:IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\
+#	:LO=\E[0q:LC=\E[5q:LL=\E[6q:\
+# Comparison with the k* capabilities makes it obvious that the c* things are
+# shift keys.  I have renamed them to keys 32 and up accordingly.  Also,
+# :sr: was given as a boolean-- esr)
+altos2|alt2|altos-2|altos II,
+	cols#80, it#8, lines#24, xmc#0,
+	clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[1B, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
+	if=/system/share/tabset/vt100, il1=\E[L, ind=^J,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r,
+	kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^AM\r, kel=^AN\r,
+	kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r,
+	kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r,
+	kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r,
+	kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=\E[f, kil1=^AJ\r, kind=^AO\r,
+	nel=^M^J, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smam=\E[?7h, smso=\E[7m, smul=\E[4m,
+# (altos3: had extension capabilities
+#	:c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\
+#	:c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\
+#	:c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\
+#	:cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+#	:XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\
+#	:HL=^AP\r:SP=\E[i:\
+#	:IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:
+altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V,
+	blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2,
+altos4|alt4|altos-4|altos IV,
+	use=wy50,
+# (altos7: had extension capabilities:
+#	:GG#0:GI=\EH8:GF=\EH7:\
+#	:c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\
+#	:c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\
+#	:c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\
+#	:cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+# Comparison with the k* capabilities makes it obvious that the c* things are
+# shift keys.  I have renamed them to keys 32 and up accordingly.  I have
+# also made this entry relative to adm12 in order to give it an <sgr>. The
+# <invis> imported by use=adm+sgr may work, let me know. -- esr)
+altos7|alt7|altos VII,
+	am, mir,
+	cols#80, lines#24, xmc#0,
+	acsc=j5k3l2m1n8q\:t4u9v=w0x6, blink=\EG2, bold=\EGt,
+	clear=\E+^^, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dim=\EGp, dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE,
+	ind=^J, invis=\EG1,
+	is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r,
+	kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=^AM\r, kel=^AN\r,
+	kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r,
+	kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r,
+	kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r,
+	kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, kil1=^AJ\r, kind=^AO\r,
+	knp=\EK, kpp=\EJ, mc4=\EJ, mc5=\Ed#, nel=^M^J, ri=\Ej,
+	rmir=\Er, smir=\Eq, use=adm+sgr,
+altos7pc|alt7pc|altos PC VII,
+	kend=\ET, use=altos7,
+
+#### Hewlett-Packard (hp)
+#
+#	Hewlett-Packard
+#	8000 Foothills Blvd
+#	Roseville, CA 95747
+#	Vox: 1-(916)-785-4363	(Technical response line for VDTs)
+#	     1-(800)-633-3600	(General customer support)
+#
+#
+# As of March 1998, HP no longer has any terminals in production.
+# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being
+# supported (they still have parts). So are the 2392a and 2394a.
+# See the WORKSTATION CONSOLES section for the 700s.
+#
+
+# Generic HP terminal - this should (hopefully) work on any HP terminal.
+hpgeneric|hp|hewlett-packard generic terminal,
+	OTbs, OTpt, am, da, db, mir, xhp,
+	cols#80, lines#24, lm#0, vt#6,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\E&a%p2%dc%p1%dY$<6>, cuu1=\EA, dch1=\EP, dl1=\EM,
+	ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL,
+	ind=^J, kbs=^H, kcbt=\Ei, rmir=\ER, rmso=\E&d@, rmul=\E&d@,
+	sgr0=\E&d@, smir=\EQ, smso=\E&dJ, smul=\E&dD, tbc=\E3,
+	vpa=\E&a%p1%dY,
+
+hp110|hewlett-packard model 110 portable,
+	lines#16, use=hpgeneric,
+
+hp+pfk+cr|hp function keys with CR,
+	kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r,
+	kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r,
+
+hp+pfk-cr|hp function keys w/o CR,
+	kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev,
+	kf8=\Ew,
+
+# The hp2621s use the same keys for the arrows and function keys,
+# but not separate escape sequences. These definitions allow the
+# user to use those keys as arrow keys rather than as function
+# keys.
+hp+pfk+arrows|hp alternate arrow definitions,
+	kcub1=\Eu\r, kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1@,
+	kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, khome=\Ep\r, kind=\Er\r,
+	kll=\Eq\r, kri=\Es\r,
+
+hp+arrows|hp arrow definitions,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh,
+	kind=\ES, kll=\EF, kri=\ET,
+
+# Generic stuff from the HP 262x series
+#
+hp262x|HP 262x terminals,
+	xhp,
+	blink=\E&dA, dch1=\EP$<2>, ed=\EJ, ht=\011$<2>, ind=\ES,
+	invis=\E&dS, ip=$<2>, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh,
+	kich1=\EQ, kil1=\EL, kind=\ES, knp=\EU, kpp=\EV, kri=\ET,
+	krmir=\ER, rev=\E&dB, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@,
+	sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%c,
+	sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB, smul=\E&dD,
+
+# Note: no <home> on HPs since that homes to top of memory, not screen.
+# Due to severe 2621 braindamage, the only way to get the arrow keys to
+# transmit anything at all is to turn on the function key labels
+# with <smkx>, and even then the user has to hold down shift!
+# The default 2621 turns off the labels except when it has to to
+# enable the function keys. If your installation prefers labels
+# on all the time, or off all the time (at the "expense" of the
+# function keys), use 2621-nl or 2621-wl.
+#
+# Note: there are newer ROMs for 2621's that allow you to set
+# strap A so the regular arrow keys xmit \EA, etc, as with the
+# 2645. However, even with this strap set, the terminal stops
+# xmitting if you reset it, until you unset and reset the strap!
+# Since there is no way to set/unset the strap with an escape
+# sequence, we don't use it in the default.
+# If you like, you can use 2621-ba (brain-damaged arrow keys).
+hp2621-ba|2621 w/new rom and strap A set,
+	rmkx@, smkx@, use=hp+arrows, use=hp2621,
+
+# hp2621 with function labels. Most of the time they are off,
+# but inside vi, the function key labels appear. You have to
+# hold down shift to get them to xmit.
+hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|hp 2621 w/labels,
+	is2=\E&jA\r, rmkx=\E&jA, use=hp2621-fl,
+hp2621-fl|hp 2621,
+	xhp@, xon,
+	pb#19200,
+	cbt=\Ei, cup=\E&a%p2%dc%p1%dY, dch1=\EP$<2>, ht=\011$<2>,
+	ip=$<2>, is2=\E&j@\r, rmkx=\E&j@, rmso=\E&d@, rmul=\E&d@,
+	sgr0=\E&d@, smkx=\E&jB, smso=\E&dD, smul=\E&dD,
+	use=hp+pfk+cr, use=hpgeneric,
+
+# To use hp2621p printer, setenv TERM=2621p, PRINTER=2612p
+hp2621p|hp 2621 with printer,
+	mc4=\E&p13C, mc5=\E&p11C, use=hp2621,
+
+hp2621p-a|hp2621p with fn as arrows,
+	use=hp+pfk+arrows, use=hp2621p,
+
+# hp2621 with k45 keyboard
+hp2621-k45|hp2621k45|k45|hp 2621 with 45 keyboard,
+	kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	khome=\Eh, rmkx=\E&s0A, smkx=\E&s1A, use=hp2621,
+
+# 2621 using all 48 lines of memory, only 24 visible at any time.
+hp2621-48|48 line 2621,
+	lines#48,
+	cup=\E&a%p2%dc%p1%dR, home=\EH, vpa=\E&a%p1%dR,
+	use=hp2621,
+
+# 2621 with no labels ever. Also prevents vi delays on escape.
+hp2621-nl|hp 2621 with no labels,
+	kcub1@, kcud1@, kcuf1@, kcuu1@, khome@, rmkx@, smkx@,
+	use=hp2621-fl,
+
+# Needed for UCB ARPAVAX console, since lsi-11 expands tabs
+# (wrong).
+#
+hp2621-nt|hp 2621 w/no tabs,
+	ht@, use=hp2621,
+
+# Hp 2624 B with 4 or 10 pages of memory.
+#
+# Some assumptions are made with this entry. These settings are
+# NOT set up by the initialization strings.
+#
+# Port Configuration
+# 	RecvPace=Xon/Xoff
+# 	XmitPace=Xon/Xoff
+# 	StripNulDel=Yes
+#
+# Terminal Configuration
+# 	InhHndShk=Yes
+# 	InhDC2=Yes
+# 	XmitFnctn(A)=No
+# 	InhEolWrp=No
+#
+# Note: the 2624 DOES have a true <home>, believe it or not!
+#
+# The 2624 has an "error line" to which messages can be sent.
+# This is CLOSE to what is expected for a "status line". However,
+# after a message is sent to the "error line", the next carriage
+# return is EATEN and the "error line" is turned back off again!
+# So I guess we can't define <hs>, <eslok>, <wsl>, <dsl>, <fsl>, <tsl>.
+#
+# This entry supports emacs (and any other program that uses raw
+# mode) at 4800 baud and less. I couldn't get the padding right
+# for 9600.
+#
+# (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr)
+hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B,
+	da, db,
+	lm#96,
+	flash=\E&w13F$<66/>\E&w12F$<66/>\E&w13F$<66/>\E&w12F,
+	use=hp+labels, use=scrhp,
+
+# This hp2626 entry does not use any of the fancy windowing stuff
+# of the 2626.
+#
+# Indeed, terminfo does not yet handle such stuff. Since changing
+# any window clears memory, it is probably not possible to use
+# this for screen opt.
+#
+# ed is incredibly slow most of the time - I am guessing at the
+# exact padding. Since the terminal uses xoff/xon this is intended
+# only for cost computation, so that the terminal will prefer el
+# or even dl1 which is probably faster!
+#
+# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only
+# extra slow on the last line of the window.
+#
+# The padding probably should be changed.
+#
+hp2626|hp2626a|hp2626p|hp 2626,
+	da, db,
+	lm#0, pb#19200,
+	ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>,
+	is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk-cr,
+	use=hp+labels, use=scrhp,
+
+# This entry is for sysline. It allocates a 23 line window with
+# a 115 line workspace for regular use, and a 1 line window for
+# the status line.
+#
+# This assumes port 2 is being used.
+# Turn off horizontal line, Create ws #1 with 115 lines,
+# Create ws #2 with 1 line, Create window #1 lines 1-23,
+# Create window #2 lines 24-24, Attach cursor to workspace #1.
+# Note that this clears the tabs so it must be done by tset before
+# it sets the tabs.
+#
+hp2626-s|hp 2626 using only 23 lines,
+	eslok, hs,
+	lines#23,
+	fsl=\E&d@\E&w7f2p1I\E&w4f1I,
+	is1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r,
+	tsl=\E&w7f2p2I\E&w4f2I\r\EK\E&a%p1%dC, use=hp2626,
+# Force terminal back to 24 lines after being 23.
+hp2626-ns|hp 2626 using all 24 lines,
+	is1=\E&q3t0{0H \E&w0f118n1I \E&w0f1n2I \E&w2f1i0d0u23l0S \E&w3f2I \E&w7f2p1I \r,
+	use=hp2626,
+# Various entries useful for small windows on 2626.
+hp2626-12|hewlett-packard 2626 12 lines,
+	lines#12, use=hp2626,
+hp2626-12x40|hewlett-packard 2626 12 lines 40 columns,
+	cols#40, lines#12, use=hp2626,
+hp2626-x40|hewlett-packard 2626 40 columns,
+	cols#40, use=hp2626,
+hp2626-12-s|hewlett-packard 2626 11 lines plus status,
+	lines#11, use=hp2626-s,
+
+#
+# hp2627 color tubes from University of Wisconsin
+#
+hp2627a-rev|hp 2627 with reverse video colors,
+	cr=^M, cud1=^J, ht=^I, ind=^J,
+	is2=\E&v0m1a0b0c1x1y1z1i0a0b1c1x1y1z0i0S\E&j@\r\E3\r,
+	kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rmul=\E&v0S\E&d@,
+	smul=\E&dD\E&v1S, use=hp2621-nl,
+hp2627a|hp 2627 color terminal with no labels,
+	cr=^M, cud1=^J, ht=^I, ind=^J,
+	is2=\E&v0m1a1b0c1i0a1b1c2i1a0b0c0i0S\E&j@\r\E3\r,
+	kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rmso=\E&v0S,
+	rmul=\E&v0S\E&d@, smso=\E&v2S, smul=\E&dD\E&v1S,
+	use=hp2621-nl,
+hp2627c|hp 2627 color (cyan) terminal with no labels,
+	cr=^M, cud1=^J, ht=^I, ind=^J,
+	is2=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r,
+	kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, use=hp2627a,
+
+# hp2640a doesn't have the Y cursor addressing feature, and C is
+# memory relative instead of screen relative, as we need.
+#
+hp2640a|hp 2640a,
+	cup@, rmkx@, smkx@, use=hp2645,
+
+hp2640b|hp2644a|hp 264x series,
+	rmkx@, smkx@, use=hp2645,
+
+# (hp2641a: removed unknown :gu: -- esr)
+hp2641a|hp2645a|hp2647a|HP 264?A series BRL entry,
+	am, da, db, mir, xhp,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\E&a%p2%2dc%p1%2dY, cuu1=\EA, dch1=\EP, dl1=\EM,
+	ed=\EJ, el=\EK, hpa=\E&a%p1%2dC, ht=^I,
+	if=/system/share/tabset/std, il1=\EL, ind=^J,
+	is2=\EE$<500/>, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J,
+	rmir=\ER, rmso=\E&d@, smir=\EQ, smso=\E&dB,
+	vpa=\E&a%p1%2dY,
+
+# This terminal should be used at 4800 baud or less. It needs padding for
+# plain characters at 9600, I guessed at an appropriate cr delay.  It really
+# wants ^E/^F handshaking, but that doesn't work well even if you write
+# software to support it.
+hp2645|hp45|HP 2645 series,
+	pb#9600,
+	blink=\E&dA, cr=\r$<20>, dim=\E&dH, kctab=\E2, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM,
+	ked=\EJ, kel=\EK, khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL,
+	kind=\ES, knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, rev=\E&dB,
+	rmkx=\E&s0A,
+	sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c,
+	sgr0=\E&d@, smkx=\E&s1A, smul=\E&dD, use=hpgeneric,
+# You should use this terminal at 4800 baud or less.
+hp2648|hp2648a|HP 2648a graphics terminal,
+	clear=\EH\EJ$<50>, cup=\E&a%p2%dc%p1%dY$<20>,
+	dch1=\EP$<7>, ip=$<5>, use=hp2645,
+
+# The HP 150 terminal is a fairly vanilla HP terminal, with the
+# clreol standout problem. It also has graphics capabilities and
+# a touch screen, which we don't describe here.
+hp150|hewlett packard Model 150,
+	OTbs, use=hp2622,
+
+# HP 2382a terminals, "the little ones." They don't have any
+# alternate character set support and sending out ^N/^O will
+# leave the screen blank.
+hp2382a|hp2382|hewlett packard 2382a,
+	da, db,
+	lh#1, lm#48,
+	acsc@,
+	pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s,
+	rmacs@,
+	sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c,
+	sgr0=\E&d@, smacs@, use=hp+labels, use=scrhp,
+
+hp2621-a|hp2621a-a|hp2621 with fn as arrows,
+	use=hp+pfk+arrows, use=hp2621-fl,
+
+# newer hewlett packard terminals
+
+newhpkeyboard|generic entry for HP extended keyboard,
+	kbs=^H, kcbt=\Ei, kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh,
+	kich1=\EQ, kil1=\EL, kind=\ET, kll=\EF, knp=\EU, kpp=\EV,
+	kri=\ES, krmir=\ER, rmkx=\E&s0A, smkx=\E&s1A,
+	use=hp+pfk-cr,
+
+newhp|generic entry for new hewlett packard terminals,
+	am, bw, mir, xhp, xon,
+	cols#80, lines#24, pb#4800,
+	acsc=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q\,t5u6v8w7x.,
+	bel=^G, blink=\E&dA, bold=\E&dF, cbt=\Ei, cr=^M, cub1=^H,
+	cud1=^J, cuf1=\EC, cuu1=\EA, dch1=\EP$<2>, dim=\E&dH,
+	dl1=\EM, ed=\EJ, el=\EK, ht=\011$<2>, hts=\E1, il1=\EL, ind=^J,
+	invis=\E&dS, ip=$<2>, is1=\E&jB$<8>, nel=^M^J,
+	pfkey=\E&f0a%p1%dk0d%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk0d%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk0d%p2%l%dL%p2%s, rev=\E&dB, ri=\ET,
+	rmacs=^O, rmir=\ER, rmso=\E&d@, rmul=\E&d@, rs1=\Eg,
+	sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;,
+	sgr0=\E&d@\017, smacs=^N, smir=\EQ, smso=\E&dJ, smul=\E&dD,
+	tbc=\E3, use=newhpkeyboard,
+
+memhp|memory relative addressing for new HP ttys,
+	vt#6,
+	clear=\EH\EJ$<40>, cub=\E&a-%p1%dC, cud=\E&a+%p1%dR,
+	cuf=\E&a+%p1%dC, cup=\E&a%p1%dr%p2%dC, cuu=\E&a-%p1%dR,
+	home=\EH, hpa=\E&a%p1%dC, ll=\E&a23R\r,
+	mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dR, use=newhp,
+
+scrhp|screen relative addressing for new HP ttys,
+	clear=\E&a0c0Y\EJ$<40>, cub=\E&a-%p1%dC,
+	cud=\E&a+%p1%dR, cuf=\E&a+%p1%dC,
+	cup=\E&a%p1%dy%p2%dC$<10>, cuu=\E&a-%p1%dR,
+	home=\E&a0y0C, hpa=\E&a%p1%dC, ll=\E&a0y0C\EA,
+	mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dY, use=newhp,
+
+# (hp+labels: added label values from a BRL termcap -- esr)
+hp+labels|"standard" label info for new HP ttys,
+	lh#2, lw#8, nlab#8,
+	lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8,
+	pln=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s,
+	rmln=\E&j@, smln=\E&jB,
+
+hp+printer|"standard" printer info for HP ttys,
+	ff=\E&p4u0C, mc0=\EH\E&p4dF, mc4=\E&p13C, mc5=\E&p11C,
+
+
+# The new hp2621b is kind of a cross between the old 2621 and the
+# new 262x series of machines. It has dip-switched options.
+# The firmware has a bug in it such that if you give it a null
+# length label, the following character is eaten!
+hp2621b|hp 2621b with old style keyboard,
+	lh#1, lm#48, lw#8, nlab#8,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh,
+	kind=\ET, kll=\EF, kri=\ES,
+	pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r,
+	smln=\E&jB, use=hp2621,
+
+hp2621b-p|hp 2621b with printer,
+	use=hp+printer, use=hp2621b,
+
+# hp2621b - new 2621b with new extended keyboard
+# these are closer to the new 26xx series than the other 2621b
+hp2621b-kx|hp 2621b with extended keyboard,
+	use=newhpkeyboard, use=hp2621b,
+
+hp2621b-kx-p|hp 2621b with new keyboard & printer,
+	use=hp+printer, use=hp2621b-kx,
+
+# Some assumptions are made in the following entries.
+# These settings are NOT set up by the initialization strings.
+#
+#    Port Configuration
+# RecvPace=Xon/Xoff	XmitPace=Xon/Xoff	StripNulDel=Yes
+#
+#    Terminal Configuration
+# InhHndShk(G)=Yes	InhDC2(H)=Yes
+# XmitFnctn(A)=No		InhEolWrp=No
+#
+#
+# Hp 2622a & hp2623a display and graphics terminals
+#
+hp2622|hp2622a|hp 2622,
+	da, db,
+	lm#0, pb#19200,
+	is2=\E&dj@\r, use=hp+pfk-cr, use=hp+labels, use=scrhp,
+
+# The 2623 is a 2622 with extra graphics hardware.
+hp2623|hp2623a|hp 2623,
+	use=hp2622,
+
+hp2624b-p|hp2624b-4p-p|hewlett packard 2624 B with printer,
+	use=hp+printer, use=hp2624,
+
+# The hewlett packard B can have an optional extra 6 pages of memory.
+hp2624-10p|hp2624a-10p|hp2624b-10p|hewlett packard 2624 B w/ 10 pages of memory,
+	lm#240, use=hp2624,
+
+hp2624b-10p-p|hewlett packard 2624 B w/ extra memory & printer,
+	lm#240, use=hp2624b-p,
+
+# Color manipulations for HP terminals
+hp+color|hp with colors,
+	ccc,
+	colors#16, ncv#17, pairs#7,
+	initp=\E&v%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.%p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1%e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=%t1%e.%p7%d%;z%p1%dI,
+	oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I,
+	op=\E&v0S, scp=\E&v%p1%dS,
+
+# <is2> sets the screen to be 80 columns wide
+hp2397a|hp2397|hewlett packard 2397A color terminal,
+	is2=\E&w6f80X, use=memhp, use=hp+labels, use=hp+color,
+
+#  HP 700/44 Setup parameters:
+# Terminal Mode		HP-PCterm
+# Inhibit Auto Wrap	NO
+# Status Line		Host Writable
+# PC Character Set	YES
+# Twenty-Five Line Mode	YES
+# XON/XOFF		@128 or 64 (sc)
+# Keycode Mode 		NO   or YES (sc)
+# Backspace Key		BS or BS/DEL
+#
+# <is2> 	sets pcterm; autowrap; 25 lines; pc char set; prog DEL key;
+# \E\\? does not turn off keycode mode
+# <smsc>	sets alternate start/stop; keycode on
+hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode,
+	am, eo, xenl, xon,
+	cols#80, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
+	bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[2J\E[H,
+	cnorm=\E[?25h, cr=^M, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L,
+	ind=^J,
+	is2=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\,
+	kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kend=\E[4~, kf1=\E[17~, kf10=\E[28~,
+	kf2=\E[18~, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, kf6=\E[23~,
+	kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khome=\E[1~, knp=\E[6~,
+	kpp=\E[5~, rmam=\E[?7l,
+	rmsc=\E[>11l\EP1**x0/11;1/13\E[m\E\\, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smam=\E[?7h,
+	smsc=\E[>11h\EPO**x0/65;1/67\E\\$<250>, smso=\E[7m,
+	smul=\E[4m, xoffc=g, xonc=e,
+#
+# (hp2392: copied <rmir> here from hpex -- esr)
+hp2392|239x series,
+	cols#80,
+	cbt=\Ei, cup=\E&a%p1%dy%p2%dC, kf1=\Ep\r, kf2=\Eq\r,
+	kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, kf6=\Eu\r, kf7=\Ev\r,
+	kf8=\Ew\r, khome=\Eh, kind=\EU, knp=\Eu, kpp=\Ev, kri=\EV,
+	rmir=\ER, rmul=\E&d@, smir=\EQ, smul=\E&dD, vpa=\E&a%p1%dY,
+	use=hpsub,
+
+hpsub|hp terminals -- capability subset,
+	am, da, db, mir, xhp, xon,
+	lines#24,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cuu1=\EA, dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC,
+	ht=^I, if=/system/share/tabset/stdcrt, il1=\EL, ind=^J,
+	is2=\E&s1A\E<\E&k0\\, kbs=^H, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, khome=\Eh, rmkx=\E&s0A, rmso=\E&d@,
+	sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB,
+
+# hpex:
+#	May be used for most 24 x 80 hp terminals,
+# but has no padding added, so may allow runover in some terminals at high
+# baud rates.  Will not work for hp2640a or hp2640b terminals, hp98x6 and
+# hp98x5 terminal emulators or hp98x6 consoles.
+# 	Adds xy-cursor addressing, vertical cursor addressing, home,
+# last line, and underline capabilities.
+#
+# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:",
+# moved <rmir> here from hpsub -- esr)
+hpex|hp extended capabilites,
+	cr=^M, cud1=^J, cup=\E&a%p1%dy%p2%dC, ht=^I, ind=^J, kbs=^H,
+	kcub1=^H, kcud1=^J, nel=^M^J, rmir=\ER, rmul=\E&d@, smir=\EQ,
+	smul=\E&dD, vpa=\E&a%p1%dY, use=hpsub,
+
+# From: Ville Sulko <Ville.Sulko@bip.atk.tpo.fi>, 05 Aug 1996
+hp2|hpex2|hewlett-packard extended capabilities newer version,
+	am, da, db, mir, xhp,
+	cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, xmc#0,
+	bel=^G, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1,
+	il1=\EL, ind=^J, kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM,
+	ked=\EJ, kel=\EK, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et,
+	kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, khts=\E1, kich1=\EQ,
+	kil1=\EL, kind=\ES, kll=\EF, knp=\EU, kpp=\EV, kri=\ET,
+	krmir=\ER, ktbc=\E3, meml=\El, memu=\Em,
+	pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
+	pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rmir=\ER, rmkx=\E&s0A,
+	rmln=\E&j@, rmso=\E&d@, rmul=\E&d@,
+	sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;,
+	sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smln=\E&jB, smso=\E&dB,
+	smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+
+# HP 236 console
+# From: <ddavis@ic.berkeley.edu>
+hp236|hp236 internal terminal emulator,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\EF, cnorm=\EDE, cub1=^H,
+	cup=\EE%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\EDB,
+	dch1=\EJ, dl1=\EH, el=\EK, ich1=\EI, il1=\EG, rmso=\ECI,
+	sgr0=\ECI, smso=\EBI,
+
+# This works on a hp300 console running Utah 4.3 BSD
+# From: Craig Leres <leres@okeeffe.berkeley.edu>
+hp300h|HP Catseye console,
+	OTbs, am, da, db, mir, xhp,
+	cols#128, lines#51, lm#0, xmc#0,
+	bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I,
+	if=/system/share/tabset/stdcrt, il1=\EL, ind=^J, kbs=^H,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh,
+	rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@,
+	smir=\EQ, smkx=\E&s1A, smso=\E&dB, smul=\E&dD, tbc=\E3,
+	vpa=\E&a%p1%dY,
+# From: Greg Couch <gregc@ernie.berkeley.edu>
+hp9837|hp98720|hp98721|HP 9000/300 workstations,
+	OTbs, am, da, db, mir, xhp,
+	cols#128, it#8, lines#46, lm#0,
+	bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1,
+	il1=\EL, ind=^J, is2=\E&v0m1b0i&j@, kbs=^H, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM,
+	ked=\EJ, kel=\EK, khome=\Eh, kich1=\EQ, kil1=\EL, knp=\EU,
+	kpp=\EV, rmir=\ER, rmkx=\E&s0A, rmso=\E&v0S, rmul=\E&d@,
+	sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&v5S, smul=\E&dD,
+	tbc=\E3, vpa=\E&a%p1%dY,
+# HP 9845 desktop computer from BRL
+# (hp9845: removed unknown capability :gu: -- esr)
+hp9845|HP 9845,
+	OTbs, am, da, db, eo, mir, xhp,
+	cols#80, lines#21,
+	OTbc=\ED, clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\E&a%p2%2dc%p1%2dY, cuu1=\EA, dch1=\EP, dl1=\EM,
+	ed=\EJ, el=\EK, if=/system/share/tabset/std, il1=\EL,
+	rmir=\ER, rmso=\E&d@, smir=\EQ, smso=\E&dB,
+# From: Charles A. Finnell of MITRE <finnell@mitre.org>, developed 07SEP90
+# (hp98550: replaced /system/share/tabset/9837 with std because <it#8>,<hts=\E1>;
+# added empty <acsc> to avoid warnings re <smacs>/<rmacs> --esr)
+hp98550|hp98550a|HP 9000 Series 300 color console,
+	OTbs, am, da, db, mir, xhp,
+	cols#128, it#8, lines#49, lm#0,
+	acsc=, bel=^G, blink=\E&dA, bold=\E&dJ, cbt=\Ei, civis=\E*dR,
+	clear=\EH\EJ, cnorm=\E*dQ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, dim=\E&dH,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1,
+	if=/system/share/tabset/std, il1=\EL, ind=^J, invis=\E&ds,
+	kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, kf1=\Ep,
+	kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew,
+	khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, kind=\ES, kll=\EF,
+	knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, ktbc=\E3, rev=\E&dJ,
+	rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@,
+	sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smso=\E&dJ,
+	smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+# From: Victor Duchovni <vic@fine.princeton.edu>
+# (hp700-wy: removed obsolete ":nl=^J:";
+# replaced /system/share/tabset/hp700-wy with std because <it#8>,<hts=\E1> -- esr)
+hp700-wy|HP700/41 emulating wyse30,
+	OTbs, am, bw, mir, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET$<10/>, home=^^, ht=^I, hts=\E1,
+	if=/system/share/tabset/stdcrt, il1=\EE$<0.7*/>,
+	is1=\E~"\EC\Er\E(\EG0\003\E`9\E`1, kbs=\177, kcbt=\EI,
+	kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, ked=\EY,
+	kel=\ET, khome=^^, khts=\EI, kich1=\Eq, krmir=\Er, ll=^^^K,
+	ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>,
+	sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>,
+	smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c,
+hp70092|hp70092a|hp70092A|HP 700/92,
+	am, da, db, xhp,
+	cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8,
+	acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA,
+	bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA,
+	dch1=\EP, dim=\E&dH, dl1=\EM, el=\EK, hpa=\E&a%p1%dC, ht=^I,
+	hts=\E1, il1=\EL, kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM,
+	ked=\EJ, kel=\EK, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et,
+	kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, khts=\E1, kich1=\EQ,
+	kil1=\EL, kind=\ES, kll=\EF, knp=\EU, kpp=\EV, kri=\ET,
+	krmir=\ER, ktbc=\E3, rev=\E&dB, ri=\ET, rmacs=^O, rmir=\ER,
+	rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@, rmul=\E&d@,
+	sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smln=\E&jB,
+	smso=\E&dJ, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+
+bobcat|sbobcat|HP 9000 model 300 console,
+	am, da, db, mir, xhp,
+	cols#128, it#8, lines#47, xmc#0,
+	cbt=\Ei, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\E&a%p1%dy%p2%dC$<6/>, cuu1=\EA, dch1=\EP,
+	dl1=\EM$<10*/>, ed=\EJ, el=\EK, hpa=\E&a%p1%dC$<6/>, ht=^I,
+	il1=\EL$<10*/>, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, khome=\Eh, nel=^M^J, rmir=\ER,
+	rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smir=\EQ,
+	smkx=\E&s1A, smso=\E&dB, smul=\E&dD, vpa=\E&a%p1%dY$<6/>,
+gator-t|HP 9000 model 237 emulating extra-tall AAA,
+	lines#94, use=gator,
+gator|HP 9000 model 237 emulating AAA,
+	bw, km, mir, ul,
+	cols#128, it#8, lines#47,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+	dch=\E[%p1%dP$<4/>, dch1=\E[P, dl=\E[%p1%dM$<1*/>,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%i%p1%d`,
+	ht=^I, ich=\E[%p1%d@$<4/>, ich1=\E[@, il=\E[%p1%dL$<1*/>,
+	il1=\E[L, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J,
+	rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+gator-52|HP 9000 model 237 emulating VT52,
+	cols#128, lines#47, use=vt52,
+gator-52t|HP 9000 model 237 emulating extra-tall VT52,
+	lines#94, use=gator-52,
+
+#### Honeywell-Bull
+#
+# From: Michael Haardt <michael@gandalf.moria> 11 Jan 93
+#
+
+# Honeywell Bull terminal.  Its cursor and function keys send single
+# control characters and it has standout/underline glitch.  Most programs
+# do not like these features/bugs.  Visual bell is realized by flashing the
+# "keyboard locked" LED.
+dku7003-dumb|Honeywell Bull DKU 7003 dumb mode,
+	cols#80, lines#25,
+	clear=^]^_, cr=^M, cub1=^Y, cud1=^K, cuf1=^X,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, ed=^_, el=\E[K,
+	flash=\E[2h\E[2l, home=^], ht=^I, ind=^J, kbs=^H, kcub1=^Y,
+	kcud1=^K, kcuf1=^X, kcuu1=^Z, khome=^], nel=^M^J,
+dku7003|Honeywell Bull DKU 7003 all features described,
+	msgr,
+	xmc#1,
+	blink=\E[5m, bold=\E[7m, dim=\E[2m, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+	use=dku7003-dumb,
+
+#### Lear-Siegler (adm)
+#
+# These guys are long since out of the terminals business, but
+# in 1995 many current terminals still have an adm type as one of their
+# emulations (usually their stupidest, and usually labeled adm3, though
+# these `adm3' emulations normally have adm3a+ capabilities).
+#
+# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a
+# `diagnostic feature' that sending them a ^G while pin 22 (`Ring Indicator')
+# was being held to ground would trigger a send of the top line on the screen.
+# A quick fix might be to drop back to a cheesy 4-wire cable with pin 22
+# hanging in the air. (Thanks to Eric Fischer, <eric@fudge.uchicago.edu>,
+# for clearing up this point.)
+
+adm1a|adm1|lsi adm1a,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\E;$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, home=^^,
+	ind=^J,
+adm2|lsi adm2,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, ich1=\EQ, il1=\EE, ind=^J,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^,
+# (adm3: removed obsolete ":ma=^K^P:" -- esr)
+adm3|lsi adm3,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, ind=^J,
+# The following ADM-3A switch settings are assumed for normal operation:
+#	SPACE		U/L_DISP	CLR_SCRN	24_LINE
+#	CUR_CTL		LC_EN		AUTO_NL		FDX
+# Other switches may be set for operator convenience or communication
+# requirements.  I recommend
+#	DISABLE_KB_LOCK	LOCAL_OFF	103		202_OFF
+#	ETX_OFF		EOT_OFF
+# Most of these terminals required an option ROM to support lower case display.
+# Open the case and look at the motherboard; if you see an open 24-pin DIP
+# socket, you may be out of luck.
+#
+# (adm3a: some capabilities merged in from BRl entry -- esr)
+adm3a|lsi adm3a,
+	OTbs, am,
+	cols#80, lines#24,
+	OTma=^K^P, OTnl=^J, bel=^G, clear=\032$<1/>, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, home=^^, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, rs2=^N,
+adm3a+|adm3a plus,
+	kbs=^H, use=adm3a,
+# (adm5: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" & duplicate ":do=^J:" -- esr)
+adm5|lsi adm5,
+	xmc#1,
+	bel=^G, cr=^M, cud1=^J, ed=\EY, el=\ET, kbs=^H, khome=^^,
+	rmso=\EG, smso=\EG, use=adm3a+,
+# A lot of terminals other than adm11s use these.  Wherever you see
+# use=adm+sgr with some of its capabilities disabled, try the
+# disabled ones.  They may well work but not have been documented or
+# expressed in the using entry.  We'd like to cook up an <sgr> but the
+# <rmacs>/<smacs> sequences of the using entries vary too much.
+adm+sgr|adm style highlight capabilities,
+	invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0, sgr0=\EG0,
+	smso=\EG4, smul=\EG8,
+# LSI ADM-11 from George William Hartwig, Jr. <geo@BRL-TGR.ARPA> via BRL
+# Status line additions from Stephen J. Muir <stephen%comp.lancs.ac.uk@ucl-cs>
+# <khome> from <stephen%comp.lancs.ac.uk@ucl-cs.arpa>.  <clear> could also
+# be ^Z, according to his entry.
+# (adm11: <smul>=\EG4 was obviously erroneous because it also said
+# <rev>=\EG4.  Looking at other ADMs confirms this -- esr)
+adm11|LSI ADM-11,
+	OTbs, am, hs,
+	OTkn#8, cols#80, lines#24,
+	OTnl=^J, bel=^G, blink=\EG2, clear=\E*, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dsl=\Eh, ed=\EY, el=\ET, fsl=\E(\r, home=^^, ht=^I,
+	kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, khome=^^, nel=^M^J, tsl=\EF\E),
+	use=adm+sgr,
+# From: Andrew Scott Beals <bandy@lll-crg.ARPA>
+# Corrected by Olaf Siebert <rhialto@polder.ubc.kun.nl>, 11 May 1995
+# Supervisor mode info by Ari Wuolle, <awuolle@delta.hut.fi>, 27 Aug 1996
+# (adm12: removed obsolete ":kn:ma=j^Jk^P^K^Pl ^R^L^L :".  This formerly had
+# <is2>=\Eq but that looked wrong; this <is2> is from Dave Yost <esquire!yost>
+# via BRL.  That entry asserted <xmc#1>, but I've left that out because
+# neither earlier nor later ADMSs have it -- esr)
+#
+# You will need to get into the supervisor setup before you can set
+# baudrate etc. for your ADM-12+. Press Shift-Ctrl-Setup and you should
+# see a lot more setup options.
+#
+# While in supervisor setup you can also use following codes:
+#
+# Ctrl-P Personality character selections (configure for example what
+#        arrow keys send, if I recall correctly)
+# Ctrl-T tabs 1-80   use left&right to move and up to set and
+# Ctrl-V tabs 81-158 down to clear tab. Shift-Ctrl-M sets right margin at cursor
+# Ctrl-B Binary setup (probably not needed. I think that everything can
+#        be set using normal setup)
+# Ctrl-A Answerback mode (enter answerback message)
+# Ctrl-U User friendly mode (normal setup)
+# Ctrl-D Defaults entire setup and function keys from EPROM tables
+# Ctrl-S Save both setup and functions keys. Takes from 6 to 10 seconds.
+# Ctrl-R Reads both setup and functions keys from NVM.
+# Shift-Ctrl-X Unlock keyboard and cancel received X-OFF status
+#
+# ADM-12+ supports hardware handshaking, but it is DTR/CTS as opposed to
+# RTS/CTS used nowadays with virtually every modem and computer. 19200
+# bps works fine with hardware flow control.
+#
+# The following null-modem cable should fix this and enable you to use
+# RTS/CTS handshaking (which Linux supports, use CRTSCTS setting). Also
+# set ADM-12+ for DTR handshaking from supervisor setup.
+#
+# PC Serial   ADM-12+
+#  --------   -------
+#         2 - 3
+#         3 - 2
+#         4 - 5
+#         5 - 20
+#       6,8 - 4
+#         7 - 7
+#        20 - 6,8
+#
+adm12|lsi adm12,
+	OTbs, OTpt, am, mir,
+	OTug#1, cols#80, it#8, lines#24,
+	bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE,
+	is2=\E0        \E1        \E1        \E1        \E1        \E1        \E1        \E1        \E1,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r,
+	kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r,
+	kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, smir=\Eq, tbc=\E0,
+	use=adm+sgr,
+# (adm20: removed obsolete ":kn#7:" -- esr)
+adm20|lear siegler adm20,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cuf1=^L,
+	cup=\E=%i%p2%{31}%+%c%p1%{31}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, ich1=\EQ, il1=\EE,
+	kf1=^A, kf2=^B, kf3=^W, kf4=^D, kf5=^E, kf6=^X, kf7=^Z, rmso=\E(,
+	sgr0=\E(, smso=\E),
+adm21|lear siegler adm21,
+	xmc#1,
+	bel=^G, cr=^M, cud1=^J, dch1=\EW, dl1=\ER$<30*>, ed=\EY,
+	el=\ET, ich1=\EQ, il1=\EE$<30*>, ind=^J, invis@, kbs=^H,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^,
+	use=adm+sgr, use=adm3a,
+# (adm22: ":em=:" was an obvious typo for ":ei=:"; also,
+# removed obsolete ":kn#7:ma=j^Jk^P^K^Pl ^R^L^L :";
+# removed bogus-looking \200 from before <cup>. -- esr)
+adm22|lsi adm22,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, home=^^, ht=\Ei, ich1=\EQ, il1=\EE,
+	is2=\E%\014\014\014\016\003\0\003\002\003\002\0\0\0\0\0\0\0\0\0\0\0,
+	kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, khome=^^, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5,
+	lf6=F6, lf7=F7, rmso=\E(, sgr0=\E(, smso=\E),
+# ADM 31 DIP Switches
+#
+# This information comes from two versions of the manual for the
+# Lear-Siegler ADM 31.
+#
+# Main board:
+#                  rear of case
+#   +-||||-------------------------------------+
+#   + S1S2                              ||S    +
+#   +                                   ||3    +
+#   +                                          +
+#   +                                ||S       +
+#   +                                ||4       +
+#   +                                          +
+#   +                                          +
+#   +                                          +
+#   +                                          +
+#   +                                          +
+# +-+                                          +-+
+# +                                              +
+# +                               S5 S6 S7       +
+# +                               == == ==       +
+# +----------------------------------------------+
+#            front of case (keyboard)
+#
+#  S1 - Data Rate - Modem
+#  S2 - Data Rate - Printer
+# ------------------------
+# Data Rate   Setting
+# -------------------
+# 50          0 0 0 0
+# 75          1 0 0 0
+# 110         0 1 0 0
+# 134.5       1 1 0 0
+# 150         0 0 1 0
+# 300         1 0 1 0
+# 600         0 1 1 0
+# 1200        1 1 1 0
+# 1800        0 0 0 1
+# 2000        1 0 0 1
+# 2400        0 1 0 1
+# 3600        1 1 0 1
+# 4800        0 0 1 1
+# 7200        1 0 1 1
+# 9600        0 1 1 1
+# x           1 1 1 1
+#
+# S3 - Interface/Printer/Attributes
+# ---------------------------------
+# Printer Busy Control
+# sw1   sw2   sw3
+# ---------------
+# off   off   off   Busy not active, CD disabled
+# off   off   on    Busy not active, CD enabled
+# off   on    off   Busy active on J5-20, CD disabled
+# on    off   off   Busy active on J5-19, CD disabled - Factory Set.
+# on    off   on    Busy active on J5-19, CD enabled
+#
+# sw4   Used in conjuction with S4 for comm interface control - Fact 0
+#
+# sw5   Secondary Channel Control (Hardware implementation only) - Fact 0
+#
+# sw6   ON enables printer BUSY active LOW - Factory Setting
+#       OFF enables printer BUSY active HIGH - If set to this, ADM31 senses
+#
+# sw7   ON - steady cursor - Factory Setting
+#       OFF - blinking cursor
+#
+# sw8   ON causes selected attribute character to be displayed
+#       OFF causes SPACE to be displayed instead - Factory Setting
+#
+# S4 - Interface
+# --------------
+# Modem Interface
+# S3    S4    S4    S4    S4
+# sw4   sw1   sw2   sw3   sw4
+# ---------------------------
+# OFF   ON    OFF   ON    OFF   Enable RS-232C interface, Direct Connect and
+#                               Current Loop disabled - Factory Setting
+# ON    ON    OFF   ON    OFF   Enable Current Loop interface, Direct Connect
+#                               disabled
+# OFF   OFF   ON    OFF   ON    Enable Direct Connect interface, RS-232C and
+#                               Current Loop Disabled
+#
+# sw5   ON disables dot stretching mode - Factory Setting
+#       OFF enables dot stretching mode
+# sw6   ON enables blanking function
+#       OFF enables underline function - Factory Setting
+# sw7   ON causes NULLS to be displayed as NULLS
+#       OFF causes NULLS to be displayed as SPACES - Factory Setting
+#
+# S5 - Word Structure
+# -------------------
+# sw1   ON enables BREAK key - Factory Setting
+#       OFF disables BREAK key
+# sw2   ON selects 50Hz monitor refresh rate
+#       OFF selects 60Hz monitor refresh rate - Factory Setting
+#
+# Modem Port Selection
+# sw3   sw4   sw5
+# ---------------
+# ON    ON    ON    Selects 7 DATA bits, even parity, 2 STOP bits
+# OFF   ON    ON    Selects 7 DATA bits, odd  parity, 2 STOP bits
+# ON    OFF   ON    Selects 7 DATA bits, even parity, 1 STOP bit - Factory Set.
+# OFF   OFF   ON    Selects 7 DATA bits, odd  parity, 1 STOP bit
+# ON    ON    OFF   Selects 8 DATA bits, no   parity, 2 STOP bits
+# OFF   ON    OFF   Selects 8 DATA bits, no   parity, 1 STOP bit
+# ON    OFF   OFF   Selects 8 DATA bits, even parity, 1 STOP bit
+# OFF   OFF   OFF   Selects 8 DATA bits, odd  parity, 1 STOP bit
+#
+# sw6   ON  sends bit 8 a 1 (mark)
+#       OFF sends bit 8 as 0 (space) - Factory Setting
+# sw7   ON  selects Block Mode
+#       OFF selects Conversation Mode - Factory Setting
+# sw8   ON  selects Full Duplex operation
+#       OFF selects Half Duplex operation - Factory Setting
+#
+# S6 - Printer
+# ------------
+# sw1, sw2, sw6, sw7   Reserved - Factory 0
+#
+# Printer Port Selection
+# same as Modem above, bit 8 (when 8 DATA bits) is always = 0
+#
+# sw8   ON   enables Printer Port
+#       OFF disables Printer Port - Factory Setting
+#
+# S7 - Polling Address
+# --------------------
+# sw1-7 Establish ASCII character which designates terminal polling address
+#       ON  = logic 0
+#       OFF = logic 1 - Factory Setting
+# sw8   ON   enables Polling Option
+#       OFF disables Polling Option - Factory Setting
+#
+#
+# On some older adm31s, S4 does not exist, and S5-sw6 is not defined.
+#
+# This adm31 entry uses underline as the standout mode.
+# If the adm31 gives you trouble with standout mode, check the DIP switch in
+# position 6, bank @c11, 25% from back end of the circuit board.  Should be
+# OFF.  If there is no such switch, you have an old adm31 and must use oadm31.
+# (adm31: removed obsolete ":ma=j^Jk^P^K^Pl ^R^L^L :" -- esr)
+adm31|lsi adm31 with sw6 set for underline mode,
+	OTbs, am, mir,
+	cols#80, lines#24,
+	bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, ind=^J, is2=\Eu\E0,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r,
+	kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r,
+	kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, rmso=\EG0,
+	rmul=\EG0, sgr0=\EG0, smir=\Eq, smso=\EG1, smul=\EG1,
+adm31-old|o31|old adm31,
+	rmul@, smso=\EG4, smul@, use=adm31,
+# LSI ADM-36 from Col. George L. Sicherman <gloria!colonel> via BRL
+adm36|LSI ADM36,
+	OTbs, OTpt,
+	OTkn#4,
+	if=/system/share/tabset/vt100,
+	is2=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l,
+	use=vt100,
+# (adm42: removed obsolete ":ma=^K^P:" -- esr)
+adm42|lsi adm42,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, cbt=\EI, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ht=^I,
+	il1=\EE$<270>, ind=^J, invis@, ip=$<6*>, kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, khome=^^, pad=\177, rmir=\Er, rmul@,
+	smir=\Eq, smul@, use=adm+sgr,
+# The following termcap for the Lear Siegler ADM-42 leaves the
+# "system line" at the bottom of the screen blank (for those who
+# find it distracting otherwise)
+adm42-ns|lsi adm-42 with no system line,
+	cbt=\EI\EF \011, clear=\E;\EF \011,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<6>\EF \011,
+	dch1=\EW\EF \011, dl1=\ER\EF \011, ed=\EY\EF \011,
+	el=\ET\EF \011, il1=\EE\EF \011, rmir=\Er\EF \011,
+	smir=\Eq\EF \011, use=adm42,
+# ADM 1178 terminal -- rather like an ADM-42.  Manual is dated March 1 1985.
+# The insert mode of this terminal is commented out because it's broken for our
+# purposes in that it will shift the position of every character on the page,
+# not just the cursor line!
+# From: Michael Driscoll <fenris@lightspeed.net> 10 July 1996
+adm1178|1178|lsi adm1178,
+	am,
+	cols#80, lines#24, xmc#1,
+	bel=^G, bold=\E(, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET,
+	home=^^, ht=^I, il1=\EE, ind=^J, ip=$<6*/>, kbs=^H, kcub1=^H,
+	kcud1=^J, nel=^M^J, pad=\177, rev=\EG4, rmso=\EG0, rmul=\EG0,
+	sgr0=\E), smso=\EG4, smul=\EG1,
+
+#### Prime
+#
+# Yes, Prime made terminals.  These entries were posted by Kevin J. Cummings
+# <cummings@primerd.prime.com> on 14 Dec 1992 and lightly edited by esr.
+# Prime merged with ComputerVision in the late 1980s; you can reach them at:
+#
+#	ComputerVision Services
+#	500 Old Connecticut Path
+#	Framingham, Mass.
+#
+
+# Standout mode is dim reverse-video.
+pt100|pt200|wren|fenix|prime pt100/pt200,
+	am, bw, mir, msgr,
+	cols#80, it#8, lines#24,
+	cbt=\E[Z, clear=\E?, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA,
+	cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M,
+	ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P,
+	home=\E$B, ht=^I, il1=\E[L\E[t, ind=^J, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E$A, nel=^M^J,
+	rmcup=, rmir=\E[4l, rmkx=\E[>13l, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m,
+	smcup=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q,
+	smir=\E[4h, smkx=\E[>13h, smso=\E[2;7m, smul=\E[4m,
+pt100w|pt200w|wrenw|fenixw|prime pt100/pt200 in 132-column mode,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH, use=pt100,
+pt250|Prime PT250,
+	rmso@, smso@, use=pt100,
+pt250w|Prime PT250 in 132-column mode,
+	rmso@, smso@, use=pt100w,
+
+#### Qume (qvt)
+#
+#	Qume, Inc.
+#	3475-A North 1st Street
+#	San Jose CA 95134
+#	Vox: (800)-457-4447
+#	Fax: (408)-473-1510
+#	Net: josed@techsupp.wyse.com (Jose D'Oliveira)
+#
+# Qume was bought by Wyse, but still (as of early 1995) has its own support
+# group and production division.
+#
+# Discontinued Qume models:
+#
+# The qvt101 and qvt102 listed here are long obsolete; so is the qvt101+
+# built to replace them, and a qvt119+ which was a 101+ with available wide
+# mode (132 columns).  There was a qvt103 which added vt100/vt131 emulations
+# and an ANSI-compatible qvt203 that replaced it.  Qume started producing
+# ANSI-compatible terminals with the qvt323 and qvt61.
+#
+# Current Qume models (as of February 1995):
+#
+# All current Qume terminals have ANSI-compatible operation modes.
+# Qume is still producing the qvt62, which features emulations for other
+# popular lines such as ADDS, and dual-host capabilities.  The qvt82 is
+# designed for use as a SCO ANSI terminal.  The qvt70 is a color terminal
+# with many emulations including Wyse370, Wyse 325, etc.  Their newest
+# model is the qvt520, which is vt420-compatible.
+#
+# There are some ancient printing Qume terminals under `Daisy Wheel Printers'
+#
+# If you inherit a Qume without docs, try Ctrl-Shift-Setup to enter its
+# setup mode.  Shift-s should be a configuration save to NVRAM.
+
+qvt101|qvt108|qume qvt 101 and QVT 108,
+	xmc#1, use=qvt101+,
+
+# This used to have <cvvis=\E.2> but no <cnorm> or <civis>.  The BSD termcap
+# file had <cvvis=\EM4 \200\200\200>.  I've done the safe thing and yanked
+# both. The <rev> is from BSD, which also claimed bold=\E( and dim=\E).
+# What seems to be going on here is that this entry was designed so that
+# the normal highlight is bold and standout is dim plus something else
+# (reverse-video maybe?  But then, are there two <rev> sequences?)
+#
+# Added kdch1, kil1, kdl1 based on screenshot -TD:
+#	http://www.vintagecomputer.net/qume/qvt-108/qume_qvt-108_keyboard.jpg
+qvt101+|qvt101p|qume qvt 101 PLUS product,
+	am, bw, hs, ul,
+	cols#80, lines#24, xmc#0,
+	bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET,
+	flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@,
+	rmso=\E(, smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
+qvt102|qume qvt 102,
+	cnorm=\E., use=qvt101,
+# (qvt103: added <rmam>/<smam> based on init string -- esr)
+qvt103|qume qvt 103,
+	am, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+	hts=\EH, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8,
+	rev=\E[7m$<2>, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E[?1l\E>,
+	rmso=\E[m$<2>, rmul=\E[m$<2>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>,
+	sgr0=\E[m$<2>, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
+qvt103-w|qume qvt103 132 cols,
+	cols#132, lines#24,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt103,
+qvt119+|qvt119p|qvt119|qume qvt 119 and 119PLUS terminals,
+	am, hs, mir, msgr,
+	cols#80, lines#24, xmc#0,
+	bel=^G, cbt=\EI, clear=\E*1, cnorm=\E.4, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey,
+	el=\Et, flash=\En0$<200>\En1, fsl=^M, home=^^, ht=^I,
+	hts=\E1, il1=\EE, ind=^J, is2=\EDF\EC\EG0\Er\E(\E%EX,
+	kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^AI\r,
+	kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	mc4=\EA, mc5=\E@, ri=\EJ, rmir=\Er, smir=\Eq, smul=\EG8,
+	tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
+qvt119+-25|qvt119p-25|QVT 119 PLUS with 25 data lines,
+	lines#25, use=qvt119+,
+qvt119+-w|qvt119p-w|qvt119-w|QVT 119 and 119 PLUS in 132 column mode,
+	cols#132,
+	is2=\EDF\EC\EG0\Er\E(\E%\EX\En4, use=qvt119+,
+qvt119+-25-w|qvt119p-25-w|qvt119-25-w|QVT 119 and 119 PLUS 132 by 25,
+	lines#25, use=qvt119+,
+qvt203|qvt203+|qume qvt 203 Plus,
+	dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>,
+	ip=$<7>, kf0=\E[29~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
+	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+	kf9=\E[28~, rmir=\E[4l, smir=\E[4h, use=qvt103,
+qvt203-w|qvt203-w-am|qume qvt 203 PLUS in 132 cols (w/advanced video),
+	cols#132, lines#24,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt203,
+#
+#	Since a command is present for enabling 25 data lines,
+#	a specific terminfo entry may be generated for the 203.
+#	If one is desired for the QVT 119 PLUS then 25 lines must
+#	be selected in the status line (setup line 9).
+#
+qvt203-25|QVT 203 PLUS with 25 by 80 column mode,
+	cols#80, lines#25,
+	is2=\E[=40h\E[?3l, use=qvt203,
+qvt203-25-w|QVT 203 PLUS with 25 by 132 columns,
+	cols#132, lines#25,
+	rs2=\E[?3h\E[=40h, use=qvt203,
+
+#### Televideo (tvi)
+#
+#	TeleVideo
+#	550 East Brokaw Road
+#	PO Box 49048    95161
+#	San Jose CA 95112
+#	Vox: (408)-954-8333
+#	Fax: (408)-954-0623
+#
+#
+# These require incredible amounts of padding.
+#
+# All of these terminals (912 to 970 and the tvipt) are discontinued.  Newer
+# Televideo terminals are ANSI and PC-ANSI compatible.
+
+tvi803|televideo 803,
+	clear=\E*$<10>, use=tvi950,
+
+# Vanilla tvi910 -- W. Gish <cswarren@violet> 10/29/86
+# Switch settings are:
+#
+# S1  1 2 3 4
+#     D D D D  9600
+#     D D D U    50
+#     D D U D    75
+#     D D U U   110
+#     D U D D   135
+#     D U D U   150
+#     D U U D   300
+#     D U U U   600
+#     U D D D  1200
+#     U D D U  1800
+#     U D U D  2400
+#     U D U U  3600
+#     U U D D  4800
+#     U U D U  7200
+#     U U U D  9600
+#     U U U U 19200
+#
+# S1  5 6 7 8
+#     U D X D  7N1 (data bits, parity, stop bits) (X means ignored)
+#     U D X U  7N2
+#     U U D D  7O1
+#     U U D U  7O2
+#     U U U D  7E1
+#     U U U U  7E2
+#     D D X D  8N1
+#     D D X U  8N2
+#     D U D D  8O1
+#     D U U U  8E2
+#
+# S1  9  Autowrap
+#     U  on
+#     D  off
+#
+# S1 10  CR/LF
+#     U  do CR/LF when CR received
+#     D  do CR when CR received
+#
+# S2  1  Mode
+#     U  block
+#     D  conversational
+#
+# S2  2  Duplex
+#     U  half
+#     D  full
+#
+# S2  3  Hertz
+#     U  50
+#     D  60
+#
+# S2  4  Edit mode
+#     U  local
+#     D  duplex
+#
+# S2  5  Cursor type
+#     U  underline
+#     D  block
+#
+# S2  6  Cursor down key
+#     U  send ^J
+#     D  send ^V
+#
+# S2  7  Screen colour
+#     U  green on black
+#     D  black on green
+#
+# S2  8  DSR status (pin 6)
+#     U  disconnected
+#     D  connected
+#
+# S2  9  DCD status (pin 8)
+#     U  disconnected
+#     D  duplex
+#
+# S2 10  DTR status (pin 20)
+#     U  disconnected
+#     D  duplex
+# (tvi910: removed obsolete ":ma=^Kk^Ll^R^L:"; added <khome>, <cub1>, <cud1>,
+# <ind>, <hpa>, <vpa>, <am>, <msgr> from SCO entry -- esr)
+tvi910|televideo model 910,
+	OTbs, am, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET,
+	home=\E=\001\001, hpa=\E]%p1%{32}%+%c, ht=^I,
+	if=/system/share/tabset/stdcrt, ind=^J, invis@, kbs=^H,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^AI\r, kf1=^A@\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	vpa=\E[%p1%{32}%+%c, use=adm+sgr,
+# From: Alan R. Rogers <rogers%albany@csnet-relay>
+# as subsequently hacked over by someone at SCO
+# (tvi910+: removed obsolete ":ma=^K^P^L :" -- esr)
+#
+# Here are the 910+'s DIP switches (U = up, D = down, X = don't care):
+#
+# S1  1 2 3 4:
+#     D D D D  9600     D D D U    50     D D U D    75     D D U U   110
+#     D U D D   135     D U D U   150     D U U D   300     D U U U   600
+#     U D D D  1200     U D D U  1800     U D U D  2400     U D U U  3600
+#     U U D D  4800     U U D U  7200     U U U D  9600     U U U U 19200
+#
+# S1  5 6 7 8:
+#     U D X D  7N1     U D X U  7N2     U U D D  7O1     U U D U  7O2
+#     U U U D  7E1     U U U U  7E2     D D X D  8N1     D D X U  8N2
+#     D U D D  8O1     D U U U  8E2
+#
+# S1  9  Autowrap            (U = on, D = off)
+# S1 10  CR/LF               (U = CR/LF on CR received, D = CR on CR received)
+# S2  1  Mode                (U = block, D = conversational)
+# S2  2  Duplex              (U =  half, D = full)
+# S2  3  Hertz               (U = 50, D = 60)
+# S2  4  Edit mode           (U = local, D = duplex)
+# S2  5  Cursor type         (U = underline, D = block)
+# S2  6  Cursor down key     (U = send ^J, D = send ^V)
+# S2  7  Screen colour       (U = green on black, D = black on green)
+# S2  8  DSR status (pin 6)  (U = disconnected, D = connected)
+# S2  9  DCD status (pin 8)  (U = disconnected, D = connected)
+# S2 10  DTR status (pin 20) (U = disconnected, D = connected)
+#
+tvi910+|televideo 910+,
+	dch1=\EW, dl1=\ER$<33*>, home=^^, ich1=\EQ, il1=\EE$<33*>,
+	kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r,
+	kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r,
+	ll=\E=7\s, use=tvi910,
+
+# (tvi912: removed obsolete ":ma=^K^P^L :", added  <flash> and
+# <khome> from BRL entry -- esr)
+tvi912|tvi914|tvi920|old televideo 912/914/920,
+	OTbs, OTpt, am, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER$<33*>, ed=\Ey, el=\ET, flash=\Eb$<50/>\Ed, home=^^,
+	ht=^I, hts=\E1, ich1=\EQ, if=/system/share/tabset/stdcrt,
+	il1=\EE$<33*>, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	kf9=^AH\r, khome=^^, rmso=\Ek, rmul=\Em, smso=\Ej, smul=\El,
+	tbc=\E3,
+# We got some new tvi912c terminals that act really weird on the regular
+# termcap, so one of our gurus worked this up. Seems that cursor
+# addressing is broken.
+tvi912cc|tvi912 at cowell college,
+	cup@, use=tvi912c,
+
+# tvi{912,920}[bc] - TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C
+# From: Benjamin C. W. Sittler
+#
+# Someone has put a scanned copy of the manual online at:
+#     http://vt100.net/televideo/912b-om/
+#
+# These terminals were produced ca. 1979, and had a 12" monochrome
+# screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit
+# ASCII, and were generally similar to adm3a but with attributes
+# (including some with magic cookies), fancy half-duplex mode, and
+# different bugs.
+#
+# Some operations reqire truly incredible amounts of padding. The
+# insert_line (<il1>) and delete_line (<dl1>) operations in particular
+# are so slow as to be nearly unusable.
+#
+# There may or may not have been a separate, earlier series of 912/920
+# terminals (without the "B" and "C" suffix); I have never seen one,
+# and the manual only describes the "B" and "C" series. The 912 and 920
+# are quite distinct from the 914 and 924, which were much nicer non-
+# magic-cookie terminals similar to the 950.
+#
+# This is a new description for the following TeleVideo terminals,
+# distinguished chiefly by their keyboards:
+#
+#   TVI-912B - very odd layout, no function keys (84 keys)
+#   TVI-920B - typewriter layout, no function keys (103 keys)
+#   TVI-912C - very odd layout, function keys F1-F11 (82 keys)
+#   TVI-920C - typewriter layout, function keys F1-F11 (101 keys)
+#
+# To choose a setting for the TERM variable, start with the model:
+#
+#    Model  || base name
+# ----------||-----------
+#  TVI-912B || tvi912b
+#  TVI-912C || tvi912c
+#  TVI-920B || tvi920b
+#  TVI-920C || tvi920c
+#
+# Then add a suffix from the following table describing installed options
+# and how you'd like to use the terminal:
+#
+#   Use Video | Second | Visual |  Magic  |  Page || feature
+#  Attributes |  Page  |  Bell  | Cookies | Print || suffix
+# ------------|--------|--------|---------|-------||---------
+#      No     |   No   |  N/A   |   N/A   |   No  || -unk
+#      No     |   No   |  N/A   |   N/A   |  Yes  || -p
+#      No     |  Yes   |   No   |   N/A   |   No  || -2p-unk
+#      No     |  Yes   |   No   |   N/A   |  Yes  || -2p-p
+#      No     |  Yes   |  Yes   |   N/A   |   No  || -vb-unk
+#      No     |  Yes   |  Yes   |   N/A   |  Yes  || -vb-p
+#     Yes     |   No   |  N/A   |    No   |  N/A  ||
+#     Yes     |   No   |  N/A   |   Yes   |  N/A  || -mc
+#     Yes     |  Yes   |   No   |    No   |  N/A  || -2p
+#     Yes     |  Yes   |   No   |   Yes   |  N/A  || -2p-mc
+#     Yes     |  Yes   |  Yes   |    No   |  N/A  || -vb
+#     Yes     |  Yes   |  Yes   |   Yes   |  N/A  || -vb-mc
+#
+# So e.g. a model 920 C with second page memory option, visual bell
+# and no magic cookies would be tvi920c-vb; a model 912 B without the
+# second page memory option and using magic cookies would be
+# tvi912b-mc
+#
+# PADDING
+#
+# At 9600 baud, the terminal is prone to overflow its input buffer
+# during complex operations (insert/delete
+# character/line/screen/page), and it does not signal this over the
+# RS232 cable. The typical symptom of an overrun is that the terminal
+# starts beeping, and output becomes garbled.
+#
+# The padding delays in this terminfo were derived using tack(1)
+# running on a Linux box connected to a TVI-920C with a later-model
+# (A49C1-style) ROM running at 9600 baud, so your mileage may
+# vary. The numbers below seem to give the terminal enough time so
+# that it doesn't overflow its input buffer and start losing
+# characters.
+#
+# KEYS
+#
+# If you want to use the FUNCT key on a tvi912[bc], use the
+# corresponding tvi920[bc] terminfo with FUNCT + ... equivalents from
+# the following table (these also work on the 920 series):
+#
+# Unshifted Function Keys:
+#
+#  Key | capname|| Equivalent
+# -----|--------||------------
+#   F1 |  <kf1> || FUNCT + @
+#   F2 |  <kf2> || FUNCT + A
+#   F3 |  <kf3> || FUNCT + B
+#   F4 |  <kf4> || FUNCT + C
+#   F5 |  <kf5> || FUNCT + D
+#   F6 |  <kf6> || FUNCT + E
+#   F7 |  <kf7> || FUNCT + F
+#   F8 |  <kf8> || FUNCT + G
+#   F9 |  <kf9> || FUNCT + H
+#  F10 | <kf10> || FUNCT + I
+#  F11 | <kf11> || FUNCT + J
+#
+# Shifted Function Keys:
+#
+#  SHIFT + Key | capname|| Equivalent
+# -------------|--------||------------
+#   SHIFT + F1 | <kf12> || FUNCT + `
+#   SHIFT + F2 | <kf13> || FUNCT + a
+#   SHIFT + F3 | <kf14> || FUNCT + b
+#   SHIFT + F4 | <kf15> || FUNCT + c
+#   SHIFT + F5 | <kf16> || FUNCT + d
+#   SHIFT + F6 | <kf17> || FUNCT + e
+#   SHIFT + F7 | <kf18> || FUNCT + f
+#   SHIFT + F8 | <kf19> || FUNCT + g
+#   SHIFT + F9 | <kf20> || FUNCT + h
+#  SHIFT + F10 | <kf21> || FUNCT + i
+#  SHIFT + F11 | <kf22> || FUNCT + j
+#
+# PORTS AND SWITCH SETTINGS
+#
+# Here are the switch settings for the TVI-912B/TVI-920B and
+# TVI-912C/TVI-920C:
+#
+# S1 (Line), and S3 (Printer) baud rates -- put one, and only one, switch down:
+# 2: 9600	3: 4800		4: 2400		5: 1200
+# 6:  600	7:  300		8:  150		9:   75
+# 10: 110
+#
+# S2 UART/Terminal options:
+# 		Up			Down
+# 1:		Not used		Not allowed
+# 2:	Alternate character set	  Standard character set
+# 3:	    Full duplex		    Half duplex
+# 4:	    50 Hz refresh	    60 Hz refresh
+# 5:	      No parity		     Send parity
+# 6:	     2 stop bits	     1 stop bit
+# 7:	     8 data bits	     7 data bits
+# 8:		Not used		Not allowed on Rev E or lower
+# 9:	     Even parity	     Odd parity
+# 10:	    Steady cursor	    Blinking cursor
+# 	(On Rev E or lower, use W25 instead of switch 10.)
+#
+# S5 UART/Terminal options:
+# 		Open			Closed
+# 1:	P3-6 Not connected	DSR received on P3-6
+# 2:	P3-8 Not connected	DCD received on P3-8
+#
+# 3 Open, 4 Open:		P3-20 Not connected
+# 3 Open, 4 Closed:	DTR on when terminal is on
+# 3 Closed, 4 Open:	DTR is connected to RTS
+# 3 Closed, 4 Closed:	Not allowed
+#
+# 5 Closed:	HDX printer (hardware control) Rev. K with extension port off,
+# 		all data transmitted out of the modem port (P3) will also be
+# 		transmitted out of the printer port (P4).
+#
+# 6 Open, 7 Open:		Not allowed
+# 6 Open, 7 Closed:	20ma current loop input
+# 6 Closed, 7 Open:	RS232 input
+# 6 Closed, 7 Closed:	Not allowed
+#
+# Jumper options:
+# If the jumper is installed, the effect will occur (the next time the terminal
+# is switched on).
+#
+# S4/W31:	Enables automatic LF upon receipt of CR from
+# 		remote or keyboard.
+# S4/W32:	Enables transmission of EOT at the end of Send.  If not
+# 		installed, a carriage return is sent.
+# S4/W33:	Disables automatic carriage return in column 80.
+# S4/W34:	Selects Page Print Mode as initial condition.  If not
+# 		installed, Extension Mode is selected.
+#
+# NON-STANDARD CAPABILITIES
+#
+# Sending <u9> or <u7> returns a cursor position report in the format
+# YX\r, where Y and X are as in <cup>. This format is described in
+# <u8> and <u6>, but it's not clear how one should write an
+# appropriate scanf string, since we need to subtract %' ' from the
+# character after reading it. The <u9> capability is used by tack(1)
+# to synchronize during padding tests, and seems to work for that
+# purpose.
+#
+# This description also includes the obsolete termcap capabilities
+# has_hardware_tabs (<OTpt>) and backspaces_with_bs (<OTbs>).
+#
+# FEATURES NOT YET DESCRIBED IN THIS TERMINFO
+#
+# The FUNCT modifier actually works with every normal key by sending
+# ^AX\r, where X is the sequence normally sent by that key. This is a
+# sort of meta key not currently describable in terminfo.
+#
+# There are quite a few other keys (especially on the 920 models,) but
+# they are for the most part only useful in block mode.
+#
+# These terminals have lots of forms manipulation features, mainly
+# useful in block mode, including "clear X to nulls" (vs. "clear X to
+# spaces"; nulls are sentinels for "send X" operations); "send X"
+# operations for uploading all or part of the screen; and block-mode
+# editing keys (they don't send escape sequences, but manipulate video
+# memory directly). Block mode is used for local editing, and protect
+# mode (in conjunction with the "write protect" attribute,
+# a.k.a. half-intensity outside of protect mode) is used to control
+# which parts of the screen are edited/sent/printed (by <mc0>).
+#
+# There are at least two major families of ROM, "early" and
+# A49B1/A49C1; the major difference seems to be that the latter ROMs
+# support a few extra escape sequences for manipulating the off-screen
+# memory page, and for sending whole pages back to the host (mainly
+# useful in block mode.) The descriptions in this file don't use any
+# of those sequences: set cursor position including page (\E-PYX,
+# where P is \s for page 0 and ! for page 1 [actually only the LSB of
+# P is taken into account, so e.g. 0 and 1 work too,] and Y and X are
+# as in <cup>); read cursor position (\E/), which is analogous to <u9>
+# and returns PYX\r, where P is \s for page 0 or ! for page 1, and YX
+# are as in <cup>, and some "send page" features mainly useful for
+# forms manipulation.
+#
+# The keyboard enable (\E") and disable (\E#) sequences are unused,
+# except that a terminal reset (<is2>) enables the keyboard.
+#
+# Auto-flip mode (\Ev) is likely faster than the scrolling mode (\Ew)
+# enabled in <is2>, but auto-flip is very jarring so we don't use it.
+#
+# BUGS
+#
+# At least up to the A49B1 and A49C1 ROMs, there are no \Eb and \Ed
+# sequences (I infer that in some TeleVideo terminal they may invert
+# and uninvert the display) so the <flash> sequence given here is a
+# cheesy page-flip instead.
+#
+# The back_tab (<cbt>) sequence (\EI) doesn't work according to
+# tack(1), so it is not included in the descriptions below.
+#
+# It's not clear whether auto_left_margin (<bw>) flag should be set
+# for these terminals; tack says yes, so it is set here, but this
+# differs from other descriptions I've seen.
+#
+# Extension print mode (<mc5>) echoes all characters to the printer
+# port [in addition to displaying them] except for the page print mode
+# sequence (<mc4>); this is a slight violation of the terminfo
+# definition for <mc5> but I don't expect it to cause problems.  We
+# reset to page print mode in <rs1> since it may have been enabled
+# accidentally.
+#
+# The descriptions with plus signs (+) are building blocks.
+
+tvi912b-unk|tvi912c-unk|TeleVideo TVI-912B or TVI-912C (no attributes),
+	OTbs, OTpt, am, bw,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\032$<50>, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%' '%+%c%p2%' '%+%c, cuu1=^K, dch1=\EW$<30>,
+	dl1=\ER$<1*>$<100>, ed=\Ey$<2*>$<10>, el=\ET$<15>,
+	home=^^, ht=^I, hts=\E1, ich1=\EQ$<30>,
+	if=/system/share/tabset/stdcrt, il1=\EE$<1*>$<100>,
+	ind=\n$<10>, is2=\Ew\EA\E'\E"\E(, kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, kdch1=\177, kent=^M, khome=^^, mc4=\EA,
+	mc5=\E@, rs1=\Ek\010\Em\010\Eq\032, tbc=\E3, u6=%c%c\r,
+	u7=\E?, u8=%c%c\r, u9=\E?,
+
+# This isn't included in the basic capabilities because it is
+# typically unusable in combination with the full range of video
+# attributes, since the magic cookie attributes turn into ASCII
+# control characters, and the half-intensity ("protected") attribute
+# converts all affected characters to spaces.
+
+tvi912b+printer|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C page print support,
+	mc0=\EP,
+
+# This uses half-intensity mode (<dim>) for standout (<smso>), and
+# exposes no other attributes (half-intensity is the only attribute
+# that does not generate a magic cookie.)
+
+tvi912b+dim|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C half-intensity attribute support,
+	msgr,
+	dim=\E), rmso=\E(, sgr=\E%?%p1%p5%|%t)%e(%;, sgr0=\E(,
+	smso=\E),
+
+# Full magic-cookie attribute support, with half-intensity reverse
+# video for standout. Note that we add a space in the <dim> sequence
+# to give a consistent magic-cookie count. Also note that <sgr> uses
+# backspacing (in the TVI-supported order) to apply all requested
+# attributes with only a single magic cookie.
+
+tvi912b+mc|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C full magic-cookie attribute support,
+	xmc#1,
+	blink=\E\^, dim=\E)\s, invis=\E_, rev=\Ej, rmso=\E(\Ek,
+	rmul=\Em,
+	sgr=\E%?%p1%p5%|%t)%e(%; \010\E%?%p1%p3%|%tj%ek%;\010\E%?%p2%tl%em%;\010\E%?%p7%t_%e%?%p4%t\^%eq%;%;,
+	sgr0=\E(\Ek\010\Em\010\Eq, smso=\E)\Ej, smul=\El,
+
+# This uses the second page memory option to save & restore screen
+# contents. If your terminal is missing the option, this description
+# should still work, but that has not been tested.
+
+tvi912b+2p|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option support,
+	flash=\EK$<100>\EK, rmcup=\032$<50>\EK\E=7\s,
+	smcup=\EK\032$<50>\E(\Ek\010\Em\010\Eq\032$<50>,
+
+# This simulates flashing by briefly toggling to the other page
+# (kludge!)
+
+tvi912b+vb|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option "visible bell" support,
+	bel=\EK$<100>\EK, use=tvi912b+2p,
+
+# Function keys (<kf12> .. <kf22> are shifted <kf1> .. <kf11>)
+
+tvi920b+fn|TeleVideo TVI-920B and TVI-920C function key support,
+	kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^A`\r, kf13=^Aa\r,
+	kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r, kf17=^Ae\r, kf18=^Af\r,
+	kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r, kf21=^Ai\r, kf22=^Aj\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r,
+
+# Combinations of the basic building blocks
+
+tvi912b-2p-unk|tvi912c-2p-unk|tvi912b-unk-2p|tvi912c-unk-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes),
+	use=tvi912b+2p, use=tvi912b-unk,
+
+tvi912b-vb-unk|tvi912c-vb-unk|tvi912b-unk-vb|tvi912c-unk-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes),
+	use=tvi912b+vb, use=tvi912b-unk,
+
+tvi912b-p|tvi912c-p|TeleVideo TVI-912B or TVI-912C (no attributes; page print),
+	use=tvi912b+printer, use=tvi912b-unk,
+
+tvi912b-2p-p|tvi912c-2p-p|tvi912b-p-2p|tvi912c-p-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes; page print),
+	use=tvi912b+2p, use=tvi912b+printer, use=tvi912b-unk,
+
+tvi912b-vb-p|tvi912c-vb-p|tvi912b-p-vb|tvi912c-p-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes; page print),
+	use=tvi912b+vb, use=tvi912b+printer, use=tvi912b-unk,
+
+tvi912b-2p|tvi912c-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; half-intensity attribute),
+	use=tvi912b+2p, use=tvi912b+dim, use=tvi912b-unk,
+
+tvi912b-2p-mc|tvi912c-2p-mc|tvi912b-mc-2p|tvi912c-mc-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; magic cookies),
+	use=tvi912b+2p, use=tvi912b+mc, use=tvi912b-unk,
+
+tvi912b-vb|tvi912c-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; half-intensity attribute),
+	use=tvi912b+vb, use=tvi912b+dim, use=tvi912b-unk,
+
+tvi912b-vb-mc|tvi912c-vb-mc|tvi912b-mc-vb|tvi912c-mc-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; magic cookies),
+	use=tvi912b+vb, use=tvi912b+mc, use=tvi912b-unk,
+
+tvi912b|tvi912c|TeleVideo TVI-912B or TVI-912C (half-intensity attribute),
+	use=tvi912b+dim, use=tvi912b-unk,
+
+tvi912b-mc|tvi912c-mc|TeleVideo TVI-912B or TVI-912C (magic cookies),
+	use=tvi912b+mc, use=tvi912b-unk,
+
+tvi920b-unk|tvi920c-unk|TeleVideo TVI-920B or TVI-920C (no attributes),
+	use=tvi920b+fn, use=tvi912b-unk,
+
+tvi920b-2p-unk|tvi920c-2p-unk|tvi920b-unk-2p|tvi920c-unk-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b-unk,
+
+tvi920b-vb-unk|tvi920c-vb-unk|tvi920b-unk-vb|tvi920c-unk-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b-unk,
+
+tvi920b-p|tvi920c-p|TeleVideo TVI-920B or TVI-920C (no attributes; page print),
+	use=tvi920b+fn, use=tvi912b+printer, use=tvi912b-unk,
+
+tvi920b-2p-p|tvi920c-2p-p|tvi920b-p-2p|tvi920c-p-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes; page print),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+printer,
+	use=tvi912b-unk,
+
+tvi920b-vb-p|tvi920c-vb-p|tvi920b-p-vb|tvi920c-p-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes; page print),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+printer,
+	use=tvi912b-unk,
+
+tvi920b-2p|tvi920c-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; half-intensity attribute),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+dim,
+	use=tvi912b-unk,
+
+tvi920b-2p-mc|tvi920c-2p-mc|tvi920b-mc-2p|tvi920c-mc-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; magic cookies),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+mc,
+	use=tvi912b-unk,
+
+tvi920b-vb|tvi920c-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; half-intensity attribute),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+dim,
+	use=tvi912b-unk,
+
+tvi920b-vb-mc|tvi920c-vb-mc|tvi920b-mc-vb|tvi920c-mc-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; magic cookies),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+mc,
+	use=tvi912b-unk,
+
+tvi920b|tvi920c|TeleVideo TVI-920B or TVI-920C (half-intensity attribute),
+	use=tvi920b+fn, use=tvi912b+dim, use=tvi912b-unk,
+
+tvi920b-mc|tvi920c-mc|TeleVideo TVI-920B or TVI-920C (magic cookies),
+	use=tvi920b+fn, use=tvi912b+mc, use=tvi912b-unk,
+
+# Televideo 921 and variants
+# From: Tim Theisen <tim@cs.wisc.edu> 22 Sept 1995
+# (tvi921: removed :ko=bt: before translation, I see no backtab cap;
+# also added empty <acsc> to suppress tic warning -- esr)
+tvi921|televideo model 921 with sysline same as page & real vi function,
+	OTbs, OTpt, am, hs, xenl, xhp,
+	cols#80, lines#24, xmc#0,
+	acsc=, clear=^Z, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K,
+	cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY,
+	el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ,
+	if=/system/share/tabset/stdcrt, il1=\EE, ind=^J, invis@,
+	is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H,
+	kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>,
+	ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%%,
+	rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr,
+# without the beeper
+# (tvi92B: removed :ko=bt: before translation, I see no backtab cap;
+# also added empty <acsc> to suppress tic warning -- esr)
+tvi92B|televideo model 921 with sysline same as page & real vi function & no beeper,
+	am, hs, xenl, xhp,
+	cols#80, lines#24, xmc#0,
+	acsc=, clear=^Z, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K,
+	cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY,
+	el=\ET, flash=\Eb$<200/>\Ed, fsl=\Eg, home=^^, ht=^I,
+	ich1=\EQ, if=/system/share/tabset/stdcrt, il1=\EE, ind=^J,
+	invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z,
+	kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW,
+	kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE,
+	nel=^M^J, rmacs=\E%%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr,
+# (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr)
+tvi92D|tvi92B with DTR instead of XON/XOFF & better padding,
+	dl1=\ER$<2*/>, il1=\EE$<2*/>,
+	is2=\El\E"\EF1\E.3\016\EA\E<, kdl1=\ER$<2*/>,
+	kil1=\EE$<2*/>, use=tvi92B,
+
+# (tvi924: This used to have <dsl=\Es0>, <fsl=\031>.  I put the new strings
+# in from a BSD termcap file because it looks like they do something the
+# old ones skip -- esr)
+tvi924|televideo tvi924,
+	am, bw, hs, in, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80, xmc#0,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E.0, clear=\E*0,
+	cnorm=\E.3, cr=^M, csr=\E_%p1%{32}%+%c%p2%{32}%+%c,
+	cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\E.1,
+	dch1=\EW, dl1=\ER, dsl=\Es0\Ef\031, ed=\Ey, el=\Et,
+	flash=\Eb$<200>\Ed, fsl=\031\Es1, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, if=/system/share/tabset/stdcrt, il1=\EE, ind=^J,
+	invis@, is1=\017\E%\E'\E(\EDF\EC\EG0\EN0\Es0\Ev0,
+	kbs=^H, kclr=\E*0, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A@\r, kf1=^AA\r,
+	kf10=^AJ\r, kf11=^AK\r, kf12=^AL\r, kf13=^AM\r, kf14=^AN\r,
+	kf15=^AO\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r, kf5=^AE\r,
+	kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r, khome=^^,
+	kich1=\EQ, kil1=\EE, lf0=F1, lf1=F2, lf10=F11, lf2=F3, lf3=F4,
+	lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10,
+	pfkey=\E|%p1%{49}%+%c%p2%s\031, ri=\Ej, tbc=\E3, tsl=\Ef,
+	use=adm+sgr,
+
+# TVI925 DIP switches.  In each of these, D = Down and U = Up,
+#
+# Here are the settings for the external (baud) switches (S1):
+#
+#             Position		Baud
+# 7	8	9	10		[Printer]
+# 1	2	3	4		[Main RS232]
+# -----------------------------------------------------
+# D	D	D	D	9600
+# D	D	D	U	  50
+# D	D	U	D	  75
+# D	D	U	U	 110
+# D	U	D	D	 135
+# D	U	D	U	 150
+# D	U	U	D	 300
+# D	U	U	U	 600
+# U	D	D	D	1200
+# U	D	D	U	1800
+# U	D	U	D	2400
+# U	D	U	U	3600
+# U	U	D	D	4800
+# U	U	D	U	7200
+# U	U	U	D	9600
+# U	U	U	U	19200
+#
+#
+# Settings for word length and stop-bits (S1)
+#
+#  Position	Description
+# 5	6
+# ---------------------------
+# U	-	7-bit word
+# D	-	8-bit word
+# -	U	2 stop bits
+# -	D	1 stop bit
+#
+#
+# S2 (external) settings
+#
+# Position	Up	Dn	Description
+# --------------------------------------------
+# 1		X		Local edit
+# 			X	Duplex edit (transmit editing keys)
+# --------------------------------------------
+# 2		X		912/920 emulation
+# 			X	925
+# --------------------------------------------
+# 3			X
+# 4			X	No parity
+# 5			X
+# --------------------------------------------
+# 3			X
+# 4			X	Odd parity
+# 5		X
+# --------------------------------------------
+# 3			X
+# 4		X		Even parity
+# 5		X
+# --------------------------------------------
+# 3		X
+# 4			X	Mark parity
+# 5		X
+# --------------------------------------------
+# 3		X
+# 4		X		Space parity
+# 5		X
+# --------------------------------------------
+# 6		X		White on black display
+# 			X	Black on white display
+# --------------------------------------------
+# 7			X	Half Duplex
+# 8			X
+# --------------------------------------------
+# 7		X		Full Duplex
+# 8			X
+# --------------------------------------------
+# 7			X	Block mode
+# 8		X
+# --------------------------------------------
+# 9			X	50 Hz
+# 		X		60 Hz
+# --------------------------------------------
+# 10		X		CR/LF (Auto LF)
+# 			X	CR only
+#
+# S3 (internal switch) settings:
+#
+# Position	Up	Dn	Description
+# --------------------------------------------
+# 1		X		Keyclick off
+# 			X	Keyclick on
+# --------------------------------------------
+# 2			X	English
+# 3			X
+# --------------------------------------------
+# 2			X	German
+# 3		X
+# --------------------------------------------
+# 2		X		French
+# 3			X
+# --------------------------------------------
+# 2		X		Spanish
+# 3		X
+# --------------------------------------------
+# 4			X	Blinking block cursor
+# 5			X
+# --------------------------------------------
+# 4			X	Blinking underline cursor
+# 5		X
+# --------------------------------------------
+# 4		X		Steady block cursor
+# 5			X
+# --------------------------------------------
+# 4		X		Steady underline cursor
+# 5		X
+# --------------------------------------------
+# 6		X		Screen blanking timer (ON)
+# 			X	Screen blanking timer (OFF)
+# --------------------------------------------
+# 7		X		Page attributes
+# 			X	Line attributes
+# --------------------------------------------
+# 8		X		DCD disconnected
+# 			X	DCD connected
+# --------------------------------------------
+# 9		X		DSR disconnected
+# 			X	DSR connected
+# --------------------------------------------
+# 10		X		DTR Disconnected
+# 			X	DTR connected
+# --------------------------------------------
+#
+# (tvi925: BSD has <clear=\E*>.  I got <is2> and <ri> from there -- esr)
+tvi925|televideo 925,
+	OTbs, am, bw, hs, ul,
+	cols#80, lines#24, xmc#1,
+	bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=^M, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eh, ed=\EY, el=\ET,
+	flash=\Eb$<200>\Ed, fsl=^M\Eg, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE, ind=^J, invis@, is2=\El\E", kbs=^H, kclr=^Z,
+	kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, ri=\Ej, tbc=\E3,
+	tsl=\Eh\Ef, use=adm+sgr,
+# TeleVideo 925 from Mitch Bradley <sun!wmb> via BRL
+# to avoid "magic cookie" standout glitch:
+tvi925-hi|TeleVideo Model 925 with half intensity standout mode,
+	xmc@,
+	kbs=^H, kcub1=^H, kcud1=^J, rmso=\E(, smso=\E), use=tvi925,
+
+# From: Todd Litwin <litwin@litwin.jpl.nasa.gov> 28 May 1993
+# Originally Tim Curry, Univ. of Central Fla., <duke!ucf-cs!tim> 5/21/82
+# for additional capabilities,
+# The following tvi descriptions from B:pjphar and virus!mike
+# is for all 950s.  It sets the following attributes:
+# full duplex (\EDF)		write protect off (\E()
+# conversation mode (\EC)	graphics mode off (\E%)
+# white on black (\Ed)		auto page flip off (\Ew)
+# turn off status line (\Eg)	clear status line (\Ef\r)
+# normal video (\E0)		monitor mode off (\EX or \Eu)
+# edit mode (\Er)		load blank char to space (\Ee\040)
+# line edit mode (\EO)		enable buffer control (^O)
+# protect mode off (\E\047)	duplex edit keys (\El)
+# program unshifted send key to send line all (\E016)
+# program shifted send key to send line unprotected (\E004)
+# set the following to nulls:
+#	field delimiter (\Ex0\200\200)
+#	line delimiter (\Ex1\200\200)
+#	start-protected field delimiter (\Ex2\200\200)
+#	end-protected field delimiter (\Ex3\200\200)
+# set end of text delimiter to carriage return/null (\Ex4\r\200)
+#
+#                     TVI 950 Switch Setting Reference Charts
+#
+#                                     TABLE 1:
+#
+#      S1     1     2     3     4     5     6     7     8     9    10
+#          +-----------------------+-----+-----+-----------------------+
+#          | Computer Baud Rate    |Data |Stop | Printer Baud Rate     |
+#          |                       |Bits |Bits |                       |
+#   +------+-----------------------+-----+-----+-----------------------+
+#   |  Up  |        See            |  7  |  2  |        See            |
+#   +------+-----------------------+-----+-----+-----------------------+
+#   | Down |      TABLE 2          |  8  |  1  |      TABLE 2          |
+#   +------+-----------------------+-----+-----+-----------------------+
+#
+#
+#      S2     1     2     3     4     5     6     7     8     9    10
+#          +-----+-----+-----------------+-----+-----------+-----+-----+
+#          |Edit |Cursr|    Parity       |Video|Transmiss'n| Hz  |Click|
+#   +------+-----+-----+-----------------+-----+-----------+-----+-----+
+#   |  Up  | Dplx|Blink|      See        |GonBk|   See     | 60  | Off |
+#   +------+-----+-----+-----------------+-----+-----------+-----+-----+
+#   | Down |Local|St'dy|    TABLE 3      |BkonG|  CHART    | 50  | On  |
+#   +------+-----+-----+-----------------+-----+-----------+-----+-----+
+#
+#                                    TABLE 2:
+#
+#             +-----------+-----+-----+-----+-----+-----------+
+#             | Display   |  1  |  2  |  3  |  4  |   Baud    |
+#             +-----------+-----+-----+-----+-----+           |
+#             | Printer   |  7  |  8  |  9  | 10  |   Rate    |
+#             +-----------+-----+-----+-----+-----+-----------+
+#                         |  D  |  D  |  D  |  D  |   9600    |
+#                         |  U  |  D  |  D  |  D  |     50    |
+#                         |  D  |  U  |  D  |  D  |     75    |
+#                         |  U  |  U  |  D  |  D  |    110    |
+#                         |  D  |  D  |  U  |  D  |    135    |
+#                         |  U  |  D  |  U  |  D  |    150    |
+#                         |  D  |  U  |  U  |  D  |    300    |
+#                         |  U  |  U  |  U  |  D  |    600    |
+#                         |  D  |  D  |  D  |  U  |   1200    |
+#                         |  U  |  D  |  D  |  U  |   1800    |
+#                         |  D  |  U  |  D  |  U  |   2400    |
+#                         |  U  |  U  |  D  |  U  |   3600    |
+#                         |  D  |  D  |  U  |  U  |   4800    |
+#                         |  U  |  D  |  U  |  U  |   7200    |
+#                         |  D  |  U  |  U  |  U  |   9600    |
+#                         |  U  |  U  |  U  |  U  |  19200    |
+#                         +-----+-----+-----+-----+-----------+
+#
+#                                    TABLE 3:
+#                         +-----+-----+-----+-----------+
+#                         |  3  |  4  |  5  |   Parity  |
+#                         +-----+-----+-----+-----------+
+#                         |  X  |  X  |  D  |    None   |
+#                         |  D  |  D  |  U  |     Odd   |
+#                         |  D  |  U  |  U  |    Even   |
+#                         |  U  |  D  |  U  |    Mark   |
+#                         |  U  |  U  |  U  |   Space   |
+#                         +-----+-----+-----+-----------+
+#                                 X = don't care
+#
+#                                     CHART:
+#                         +-----+-----+-----------------+
+#                         |  7  |  8  | Communication   |
+#                         +-----+-----+-----------------+
+#                         |  D  |  D  |  Half Duplex    |
+#                         |  D  |  U  |  Full Duplex    |
+#                         |  U  |  D  |     Block       |
+#                         |  U  |  U  |     Local       |
+#                         +-----+-----+-----------------+
+#
+# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:".
+# I also inserted <ich1> and <kich1>; the :ko: string indicated that <ich>
+# should be present and all tvi native modes use the same string for this.
+# Finally, note that BSD has cud1=^V. -- esr)
+tvi950|televideo 950,
+	OTbs, am, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, xmc#1,
+	acsc=b\011c\014d\re\ni\013, bel=^G, cbt=\EI, clear=\E*,
+	cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey, el=\Et, flash=\Eb$<200/>\Ed,
+	fsl=^M, home=^^, ht=^I, hts=\E1, ich1=\EQ, il1=\EE, ind=^J,
+	invis@,
+	is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\Ef\r,
+	kbs=^H, kcbt=\EI, kclr=\E*, kcub1=^H, kcud1=^V, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A0\r,
+	kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, ri=\Ej, rmacs=^X,
+	rmir=\Er, smacs=^U, smir=\Eq, tbc=\E3, tsl=\Eg\Ef,
+	use=adm+sgr,
+#
+# is for 950 with two pages adds the following:
+#	set 48 line page (\E\\2)
+#	place cursor at page 0, line 24, column 1 (\E-07 )
+#	set local (no send) edit keys (\Ek)
+#
+# two page 950 adds the following:
+#	when entering ex, set 24 line page (\E\\1)
+#	when exiting ex, reset 48 line page (\E\\2)
+#			 place cursor at 0,24,1 (\E-07 )
+#	set duplex (send) edit keys (\El) when entering vi
+#	set local (no send) edit keys (\Ek) when exiting vi
+#
+tvi950-2p|televideo950 w/2 pages,
+	is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07 \011,
+	rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+#
+# is for 950 with four pages adds the following:
+#	set 96 line page (\E\\3)
+#	place cursor at page 0, line 24, column 1 (\E-07 )
+#
+# four page 950 adds the following:
+#	when entering ex, set 24 line page (\E\\1)
+#	when exiting ex, reset 96 line page (\E\\3)
+#			 place cursor at 0,24,1 (\E-07 )
+#
+tvi950-4p|televideo950 w/4 pages,
+	is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07 \011,
+	rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+#
+# <is2> for reverse video 950 changes the following:
+#	set reverse video (\Ed)
+#
+# set vb accordingly (\Ed ...delay... \Eb)
+#
+tvi950-rv|televideo950 rev video,
+	flash=\Ed$<200/>\Eb,
+	is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0,
+	use=tvi950,
+
+# tvi950-rv-2p uses the appropriate entries from 950-2p and 950-rv
+tvi950-rv-2p|televideo950 rev video w/2 pages,
+	flash=\Ed$<200/>\Eb,
+	is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07\s,
+	rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+
+# tvi950-rv uses the appropriate entries from 950-4p and 950-rv
+tvi950-rv-4p|televideo950 rev video w/4 pages,
+	flash=\Ed$<200/>\Eb,
+	is2=\EDF\EC\Eb\EG0\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07\s,
+	rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+# From: Andreas Stolcke <stolcke@icsi.berkeley.edu>
+# (tvi955: removed obsolete ":ma:=^Vj^Kk^Hh^Ll^^H";
+# removed incorrect (and overridden) ":do=^J:"; fixed broken continuations in
+# the :rs: string, inserted the <ich> implied by the termcap :ko: string.  Note
+# the :ko: string had :cl: in it, which means that one of the original
+# <clear=\E*>, <kclr=\EY> had to be wrong; set <kclr=\E*> because that's what
+# the 950 has.   Finally, corrected the <kel> string to match the 950 and what
+# ko implies -- esr)
+# If the BSD termcap file was right, <cup=\E=%p1%{32}%+%c%p2%{32}%+%c> would
+# also work.
+tvi955|televideo 955,
+	OTbs, mc5i, msgr@,
+	it#8, xmc@,
+	acsc=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ, blink=\EG2,
+	civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1,
+	is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1,
+	knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%%,
+	rmam=\E[=7l, rmxon=^N,
+	rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r,
+	sgr0=\EG0\E[=5l, smacs=\E$, smam=\E[=7h, smxon=^O,
+	use=tvi950,
+tvi955-w|955-w|televideo955 w/132 cols,
+	cols#132,
+	is2=\E[=3h\EF1\Ed\EG0\E[=5l\E%\El, use=tvi955,
+# use half-intensity as normal mode, full intensity as <bold>
+tvi955-hb|955-hb|televideo955 half-bright,
+	bold=\E[=5l, dim@, is2=\E[=3l\EF1\Ed\EG0\E[=5h\E%\El,
+	sgr0=\EG0\E[=5h, use=tvi955,
+# From: Humberto Appleton <beto@cs.utexas.edu>, 880521 UT Austin
+# (tvi970: removed ":sg#0:"; removed <rmso>=\E[m, <rmul>=\E[m;
+# added <am>/<csr>/<home>/<hpa>/<vpa>/<smcup>/<rmcup> from BRL.
+# According to BRL we could have <rmkx>=\E>, <smkx>=\E= but I'm not sure what
+# it does to the function keys.  I deduced <rmam>/<smam>.
+# also added empty <acsc> to suppress tic warning,  -- esr)
+tvi970|televideo 970,
+	OTbs, OTpt, am, da, db, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=, cbt=\E[Z, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=\ED, cuf1=\E[C, cup=\E[%i%p1%d;%p2%df,
+	cuu1=\EM, cvvis=\E[1Q, dch1=\E[P, dl1=\E[M, dsl=\Eg\Ef\r,
+	ed=\E[J, el=\E[K, flash=\E[5m$<200/>\E[m, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, il1=\E[L,
+	is2=\E<\E[?21l\E[19h\E[1Q\E[10l\E[7l\E[H\E[2J,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\E?a, kf2=\E?b, kf3=\E?c, kf4=\E?d, kf5=\E?e, kf6=\E?f,
+	kf7=\E?g, kf8=\E?h, kf9=\E?i, khome=\E[H, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7h, rmcup=, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smacs=\E(B, smam=\E[?7l,
+	smcup=\E[?20l\E[?7h\E[1Q, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, vpa=\E[%i%p1%dd,
+tvi970-vb|televideo 970 with visual bell,
+	flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l,
+	use=tvi970,
+tvi970-2p|televideo 970 with using 2 pages of memory,
+	rmcup=\E[H\E[J\E[V, smcup=\E[U\E[?20l\E[?7h\E[1Q,
+	use=tvi970,
+# Works with vi and rogue.  NOTE: Esc v sets autowrap on, Esc u sets 80 chars
+# per line (rather than 40), Esc K chooses the normal character set.  Not sure
+# padding is needed, but adapted from the tvi920c termcap.  The <smso> and
+# <smul> strings are klutzy, but at least use no screen space.
+# (tvipt: removed obsolete ":ma=^Kk^Ll^R^L:".  I wish we knew <rmam>,
+# its absence means <smam>=\Ev isn't safe to use. -- esr)
+# From: Gene Rochlin <armsis@amber.berkeley.edu> 9/19/84.
+# The <ed>/<kf0>/<kf1>/<khome>/<mc4>, and <mc5> caps are from BRL, which says:
+# F1 and F2 should be programmed as ^A and ^B; required for UNIFY.
+tvipt|televideo personal terminal,
+	OTbs, am,
+	cols#80, lines#24,
+	cbt=\EI, clear=^Z, cub1=^H, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER$<5*>,
+	ed=\EY, el=\ET, home=^^, if=/system/share/tabset/stdcrt,
+	il1=\EE$<5*>, is2=\Ev\Eu\EK, kbs=^H, kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, kf0=^A, kf1=^B, khome=^^, mc4=^T, mc5=^R,
+	rmso=\EF, rmul=\EF, smso=\EG1@A\EH, smul=\EG1B@\EH,
+# From: Nathan Peterson <nathan@sco.com>, 03 Sep 1996
+tvi9065|televideo 9065,
+	am, bw, chts, hs, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#1, lines#25, lm#0, lw#9, ma#4, nlab#8, vt#0,
+	wnum#0, wsl#30,
+	acsc='r0_jhkglfmeniopqksqtmulvownxj, bel=^G,
+	blink=\EG2, bold=\EG\,, cbt=\EI, civis=\E.0, clear=^Z,
+	cnorm=\E.3, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD,
+	cub1=^H, cud=\E[%p1%dB, cud1=^V, cuf=\E[%p1%dC, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu=\E[%p1%dA,
+	cuu1=^K, cvvis=\E.2, dch=\E[%p1%dP, dch1=\EW, dim=\EGp,
+	dl=\E[%p1%dM, dl1=\ER, dsl=\E_30\r, ech=\E[%p1%d@, ed=\EY,
+	el=\ET, flash=\Eb$<15>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1,
+	ich=\E[%p1%d@, if=/system/share/tabset/stdcrt,
+	il=\E[%p1%dL, il1=\EE, ind=^J, indn=\E[%p1%dS, invis=\EG1,
+	ip=$<3>,
+	is1=\E"\E%\E'\E(\EG@\EO\EX\E[=5l\E[=6l\E[=7h\Ed\Er,
+	is2=\EF2\EG0\E\\L, is3=\E<\E[=4l\E[=8h, kHOM=\E\s\s\s,
+	kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, ll=\E[25;1H,
+	mc0=\E[0;0i, mc4=\Ea, mc5=\E`, nel=^M^J,
+	pfkey=\E|%p1%{48}%+%c3%p2%s\031,
+	pfloc=\E|%p1%{48}%+%c2%p2%s\031,
+	pfx=\E|%p1%{48}%+%c1%p2%s\031,
+	pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&,
+	rep=\E[%p2%db%p1%c, rev=\EG4,
+	rf=/system/share/tabset/stdcrt, ri=\Ej, rin=\E[%p1%dT,
+	rmacs=\E%%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H,
+	rmdc=\0, rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0,
+	rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l,
+	rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1,
+	rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0,
+	sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p8%t\E&%;%?%p9%t\E$%e\E%%%;,
+	sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
+	smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O,
+	tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0,
+
+#### Visual (vi)
+#
+# In September 1993, Visual Technology of Westboro, Massachusetts,
+# merged with White Pine Software of Nashua, New Hampshire.
+#
+# White Pine Software may be contacted at +1 603/886-9050.
+# Or visit White Pine on the World Wide Web at URL http://www.wpine.com.
+#
+
+# Visual 50 from Beau Shekita, BTL-Whippany <whuxlb!ejs>
+# Recently I hacked together the following termcap for Visual
+# Technology's Visual 50 terminal. It's a slight modification of
+# the vt52 termcap.
+# It's intended to run when the Visual 50 is in vt52 emulation mode
+# (I know what you're thinking; if it's emulating a vt52, then why
+# another termcap? Well, it turns out that the Visual 50 can handle
+# <dl1> and db(?) among other things, which the vt52 can't)
+# The termcap works OK for the most part. The only problem is on
+# character inserts. The whole line gets painfully redrawn for each
+# character typed. Any suggestions?
+# Beau's entry is combined with the vi50 entry from University of Wisconsin.
+# Note especially the <il1> function.  <kf4>-<kf6> are really l4-l6 in
+# disguise; <kf7>-<kf9> are really l1-l3.
+vi50|visual 50,
+	OTbs, OTpt, am, da, db, msgr,
+	cols#80, it#8, lines#24,
+	OTnl=^J, bel=^G, cbt=\Ez$<4/>, clear=\EH\EJ, cr=^M, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dl1=\EM$<3*/>, ed=\EJ, el=\EK$<16/>, home=\EH,
+	ht=^I, il1=\EL, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\EV,
+	kf5=\EE, kf6=\E], kf7=\EL, kf8=\Ev, kf9=\EM, khome=\EH,
+	nel=^M^J, ri=\EI, rmso=\ET, rmul=\EW, smso=\EU, smul=\ES,
+# this one was BSD & SCO's vi50
+vi50adm|visual 50 in adm3a mode,
+	am, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\EM,
+	ed=\Ek, el=\EK, home=\EH, ht=^I, il1=\EL, ind=^J, kbs=^H,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH,
+	rmso=\ET, smso=\EU,
+# From: Jeff Siegal <jbs@quiotix.com>
+vi55|Visual 55,
+	OTbs, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	clear=\Ev, csr=\E_%p1%{65}%+%c%p2%{65}%+%c, cub1=^H,
+	cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\Ew, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I,
+	il1=\EL, is2=\Ev\E_AX\Eb\EW\E9P\ET, kbs=^H, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, ri=\EI, rmir=\Eb, rmso=\ET,
+	smir=\Ea, smso=\EU,
+
+# Visual 200 from BRL
+# The following switch settings are assumed for normal operation:
+#	FULL_DUPLEX		SCROLL			CR
+#	AUTO_NEW_LINE_ON	VISUAL_200_EMULATION_MODE
+# Other switches may be set for operator convenience or communication
+# requirements.
+# Character insertion is kludged in order to get around the "beep" misfeature.
+# (This cap is commented out because <smir>/<rmir> is more efficient -- esr)
+# Supposedly "4*" delays should be used for <il1>, <ed>, <clear>, <dch1>,
+# and <dl1> strings, but we seem to get along fine without them.
+vi200|visual 200,
+	OTbs, OTpt, am, mir, msgr,
+	OTkn#10, cols#80, it#8, lines#24,
+	acsc=, bel=^G, cbt=\Ez, clear=\Ev, cnorm=\Ec, cr=^M, cub1=^H,
+	cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, cvvis=\Ed, dch1=\EO, dim=\E4, dl1=\EM, ed=\Ey,
+	el=\Ex, home=\EH, ht=^I, hts=\E1, il1=\EL, ind=^J, invis=\Ea,
+	kbs=^H, kclr=\Ev, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EO, kdl1=\EM, ked=\EJ, kel=\Et, kf0=\E?p,
+	kf1=\E?q, kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v,
+	kf7=\E?w, kf8=\E?x, kf9=\E?y, khome=\EH, khts=\E1, kich1=\Ei,
+	kil1=\EL, krmir=\Ej, mc0=\EH\E], mc4=\EX, mc5=\EW, ri=\EI,
+	rmacs=\EG, rmkx=\E>, rmso=\E3,
+	rs1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX, sgr0=\E3\Eb, smacs=\EF,
+	smkx=\E=, smso=\E4, tbc=\Eg,
+# The older Visuals didn't come with function keys. This entry uses
+# <smkx> and <rmkx> so that the keypad keys can be used as function keys.
+# If your version of vi doesn't support function keys you may want
+# to use vi200-f.
+vi200-f|visual 200 no function keys,
+	is2=\E3\Eb\Ej\E\\\El\EG\Ed\Ek, kf0=\E?p, kf1=\E?q,
+	kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v, kf7=\E?w,
+	kf8=\E?x, kf9=\E?y, rmkx=\E>, rmso@, smkx=\E=, smso@,
+	use=vi200,
+vi200-rv|visual 200 reverse video,
+	cnorm@, cvvis@, ri@, rmso=\E3, smso=\E4, use=vi200,
+
+# the function keys are programmable but we don't reprogram them to their
+# default values with <is2> because programming them is very verbose. maybe
+# an initialization file should be made for the 300 and they could be stuck
+# in it.
+# (vi300: added <rmam>/<smam> based on init string -- esr)
+vi300|visual 300 ansi x3.64,
+	am, bw, mir, xenl,
+	cols#80, lines#24,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch1=\E[P$<40>, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	il1=\E[L, ind=^J,
+	is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[1Q\E[0;1(D\E[8s,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\E_A\E\\, kf2=\E_B\E\\, kf3=\E_C\E\\, kf4=\E_D\E\\,
+	kf5=\E_E\E\\, kf6=\E_F\E\\, kf7=\E_G\E\\, kf8=\E_H\E\\,
+	kf9=\E_I\E\\, khome=\E[H, ri=\EM, rmam=\E[?7l, rmir=\E[4l,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h,
+	smso=\E[1m, smul=\E[4m,
+# some of the vi300s have older firmware that has the command
+# sequence for setting editing extent reversed.
+vi300-old|visual 300 with old firmware (set edit extent reversed),
+	is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[2Q\E[0;1(D\E[8s,
+	use=vi300,
+
+# Visual 500 prototype entry from University of Wisconsin.
+# The best place to look for the escape sequences is page A1-1 of the
+# Visual 500 manual.  The initialization sequence given here may be
+# overkill, but it does leave out some of the initializations which can
+# be done with the menus in set-up mode.
+# The :xp: line below is so that emacs can understand the padding requirements
+# of this slow terminal.  :xp: is 10 time the padding factor.
+# (vi500: removed unknown :xp#4: termcap;
+# also added empty <acsc> to suppress tic warning -- esr)
+vi500|visual 500,
+	am, mir, msgr,
+	cols#80, it#8, lines#33,
+	acsc=, cbt=\Ez$<4/>, clear=\Ev$<6*/>, cr=^M,
+	csr=\E(%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	dch1=\EO$<3*/>, dl1=\EM$<3*/>, ed=\Ey$<3*/>,
+	el=\Ex$<16/>, home=\EH, ht=\011$<8/>, il1=\EL\Ex$<3*/>,
+	ind=^J,
+	is2=\E3\E\001\E\007\E\003\Ek\EG\Ed\EX\El\E>\Eb\E\\,
+	kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	khome=\EH, nel=^M^J, rmacs=^O, rmir=\Ej, rmso=\E^G,
+	rmul=\E^C, smacs=^N, smir=\Ei, smso=\E^H, smul=\E^D,
+
+# The visual 550 is a visual 300 with tektronix graphics,
+# and with 33 lines. clear screen is modified here to
+# also clear the graphics.
+vi550|visual 550 ansi x3.64,
+	lines#33,
+	clear=\030\E[H\E[2J, use=vi300,
+
+vi603|visual603|visual 603,
+	hs, mir,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
+	csr=\E[%i%p1%d;%p2%dr, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	dsl=\EP2;1~\E\\, ed=\E[J, el=\E[K, fsl=\E\\, il1=\E[L,
+	ind=\ED, is1=\E>\E[?3l\E[?4l\E[?7h\E[?8h\E[1;24r,
+	rev=\E[7m, ri=\EM, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=\EP2~,
+	use=vt100,
+
+#### Wyse (wy)
+#
+#	Wyse Technology
+#	3471 North First Street
+#	San Jose, CA 95134
+#	Vox: (408)-473-1200
+#	Fax: (408) 473-1222
+#	Web: http://www.wyse.com
+#
+# Wyse sales can be reached by phone at 1-800-GET-WYSE.  Tech support is at
+# (800)-800-WYSE (option 5 gets you a human).  There's a Web page at the
+# obvious address, <http://www.wyse.com>.  They keep terminfo entries at
+# <http://www.wyse.co.uk/support/appnotes/idxappnt.htm>.
+#
+# Wyse bought out Link Technology, Inc. in 1990 and closed it down in 1995.
+# They now own the Qume and Amdek brands, too.  So these are the people to
+# talk with about all Link, Qume, and Amdek terminals.
+#
+# These entries include a few small fixes.
+# I canceled the bel capacities in the vb entries.
+# I made two trivial syntax fixes in the wyse30 entry.
+# I made some entries relative to adm+sgr.
+#
+#
+# Note: The wyse75, wyse85, and wyse99 have been discontinued.
+
+#	   Although the Wyse 30 can support more than one attribute
+#	it requires magic cookies to do so.  Many applications do not
+#	function well with magic cookies.  The following terminfo uses
+#	the protect mode to support one attribute (dim) without cookies.
+#	If more than one attribute is needed then the wy30-mc terminfo
+#	should be used.
+#
+wy30|wyse30|Wyse 30,
+	am, bw, hs, mc5i, mir, msgr, xon,
+	cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8, wsl#45,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI,
+	civis=\E`0, clear=\E+$<80>, cnorm=\E`1, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dch1=\EW$<10>, dim=\E`7\E), dl1=\ER$<1>,
+	dsl=\EF\r, ed=\EY$<80>, el=\ET, flash=\E`8$<100/>\E`9,
+	fsl=^M, home=^^, ht=\011$<1>, hts=\E1, il1=\EE$<2>,
+	ind=\n$<2>, ip=$<2>, is2=\E'\E(\E\^3\E`9\016\024,
+	kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kent=\E7,
+	kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, krpl=\Er, ll=^^^K, mc0=\EP, mc4=^T,
+	mc5=^X, nel=^M^J, pfx=\Ez%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), ri=\Ej$<3>,
+	rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(,
+	sgr=%?%p1%p5%p8%|%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10,
+	smso=\E`7\E), tbc=\E0, tsl=\EF,
+#
+#	This terminal description uses the non-hidden attribute mode
+#	(with magic cookie).
+#
+# (wy30-mc: added <smcup> to suppress tic warning --esr)
+wy30-mc|wyse30-mc|wyse 30 with magic cookies,
+	msgr@,
+	ma@, xmc#1,
+	blink=\EG2, dim=\EGp, prot=\EG0\E), rmacs=\EG0\EH\003,
+	rmcup=\EG0, rmso=\EG0,
+	sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=,
+	smso=\EG4, use=wy30, use=adm+sgr,
+#	The mandatory pause used by <flash> does not work with
+#	older versions of terminfo.  If you see this effect then
+#	unset xon and delete the / from the delay.
+#	i.e. change $<100/> to $<100>
+wy30-vb|wyse30-vb|wyse 30 visible bell,
+	bel@, use=wy30,
+#
+#	   The Wyse 50 can support one attribute (e.g. Dim, Inverse,
+#	Normal) without magic cookies by using the protect mode.
+#	The following description uses this feature, but when more
+#	than one attribute is put on the screen at once, all attributes
+#	will be changed to be the same as the last attribute given.
+#	   The Wyse 50 can support more attributes when used with magic
+#	cookies.  The wy50-mc terminal description uses magic cookies
+#	to correctly handle multiple attributes on a screen.
+#
+wy50|wyse50|Wyse 50,
+	am, bw, hs, mc5i, mir, msgr, xon,
+	cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8, wsl#45,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI,
+	civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dch1=\EW$<1>, dim=\E`7\E), dl1=\ER, dsl=\EF\r,
+	ed=\EY$<20>, el=\ET, flash=\E`8$<100/>\E`9, fsl=^M,
+	home=^^, ht=^I, hts=\E1, il1=\EE, ind=\n$<2>, ip=$<1>,
+	is1=\E`\:\E`9$<30>, is2=\016\024\E'\E(, kHOM=\E{, kbs=^H,
+	kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW,
+	kdl1=\ER, ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er,
+	ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=^M^J,
+	pfx=\Ez%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), rev=\E`6\E),
+	ri=\Ej, rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(,
+	sgr=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10,
+	smso=\E`6\E), tbc=\E0, tsl=\EF,
+#
+#	This terminal description uses the non-hidden attribute mode
+#	(with magic cookie).
+#
+#	The mandatory pause used by flash does not work with some
+#	older versions of terminfo.  If you see this effect then
+#	unset <xon> and delete the / from the delay.
+#	i.e. change $<100/> to $<100>
+# (wy50-mc: added <smcup> to suppress tic warning --esr)
+wy50-mc|wyse50-mc|wyse 50 with magic cookies,
+	msgr@,
+	ma@, xmc#1,
+	blink=\EG2, dim=\EGp, prot=\EG0\E), rev=\EG4,
+	rmacs=\EG0\EH\003, rmcup=\EG0, rmso=\EG0,
+	sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=,
+	smso=\EGt, use=wy50, use=adm+sgr,
+wy50-vb|wyse50-vb|wyse 50 visible bell,
+	bel@, use=wy50,
+wy50-w|wyse50-w|wyse 50 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>,
+	use=wy50,
+wy50-wvb|wyse50-wvb|wyse 50 132-column visible bell,
+	bel@, use=wy50-w,
+
+#
+#	The Wyse 350 is a Wyse 50 with color.
+#	Unfortunately this means that it has magic cookies.
+#	The color attributes are designed to overlap the reverse, dim and
+#	underline attributes.  This is nice for monochrome applications
+#	because you can make underline stuff green (or any other color)
+#	but for true color applications it's not so hot because you cannot
+#	mix color with reverse, dim or underline.
+#	    To further complicate things one of the attributes must be
+#	black (either the foreground or the background).  In reverse video
+#	the background changes color with black letters.  In normal video
+#	the foreground changes colors on a black background.
+#	    This terminfo uses some of the more advanced features of curses
+#	to display both color and blink.  In the final analysis I am not
+#	sure that the wy350 runs better with this terminfo than it does
+#	with the wy50 terminfo (with user adjusted colors).
+#
+#	The mandatory pause used by flash does not work with
+#	older versions of terminfo.  If you see this effect then
+#	unset xon and delete the / from the delay.
+#	i.e. change $<100/> to $<100>
+#
+# Bug: The <op> capability resets attributes.
+wy350|wyse350|Wyse 350,
+	am, bw, hs, mc5i, mir, xon,
+	colors#8, cols#80, lh#1, lines#24, lw#8, ncv#55, nlab#8, pairs#8,
+	wsl#45, xmc#1,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M,
+	cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<1>,
+	dim=\EGp, dl1=\ER, dsl=\EF\r, ed=\EY$<20>, el=\ET,
+	flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=^I, hts=\E1,
+	il1=\EE, ind=\n$<2>, ip=$<1>, is1=\E`\:\E`9$<30>,
+	is2=\016\024\E'\E(, is3=\E%?, kHOM=\E{, kbs=^H, kcbt=\EI,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er,
+	ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=^M^J, oc=\E%?, op=\EG0,
+	pfx=\Ez%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\EG0\E), ri=\Ej,
+	rmacs=\EG0\EH\003, rmir=\Er, rmln=\EA11, setb=,
+	setf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c,
+	sgr=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\EG0\E(\EH\003%{0}%PA%{0}%PC, smacs=\EG0\EH\002,
+	smir=\Eq, smln=\EA10, tbc=\E0, tsl=\EF, use=adm+sgr,
+wy350-vb|wyse350-vb|wyse 350 visible bell,
+	bel@, use=wy350,
+wy350-w|wyse350-w|wyse 350 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>,
+	use=wy350,
+wy350-wvb|wyse350-wvb|wyse 350 132-column visible bell,
+	bel@, use=wy350-w,
+#
+#	This terminfo description is untested.
+#	The wyse100 emulates an adm31, so the adm31 entry should work.
+#
+wy100|wyse 100,
+	hs, mir,
+	cols#80, lines#24, xmc#1,
+	bel=^G, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, dsl=\EA31, ed=\EY, el=\ET, fsl=^M, il1=\EE, ind=^J,
+	invis@, is2=\Eu\E0, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r,
+	kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=\E{,
+	rmir=\Er, smir=\Eq, tsl=\EF, use=adm+sgr,
+#
+#	The Wyse 120/150 has most of the features of the Wyse 60.
+#	This terminal does not need padding up to 9600 baud!
+#	<msgr> should be set but the clear screen fails when in
+#	alt-charset mode.  Try \EcE\s\s\E+\s if the screen is really clear
+#	then set <msgr>.
+#
+wy120|wyse120|wy150|wyse150|Wyse 120/150,
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	cols#80, it#8, lh#1, lines#24, lw#8, nlab#8, pb#9601, wsl#45,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>,
+	cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>,
+	dim=\EGp, dl1=\ER$<3>, dsl=\EF\r, ed=\EY$<50>, el=\ET$<4>,
+	flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=\011$<1>,
+	hts=\E1, il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1,
+	is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El,
+	is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>,
+	rmacs=\EcD, rmam=\Ed., rmcup=\Ew1, rmir=\Er, rmln=\EA11,
+	rmxon=\Ec20, rs1=\E~!\E~4$<30>, rs2=\EeF\E`\:$<70>,
+	rs3=\EwG\Ee($<100>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21,
+	tbc=\E0, tsl=\EF, use=adm+sgr,
+#
+wy120-w|wyse120-w|wy150-w|wyse150-w|wyse 120/150 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>,
+	rs2=\E`;$<70>, use=wy120,
+#
+wy120-25|wyse120-25|wy150-25|wyse150-25|wyse 120/150 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy120,
+#
+wy120-25-w|wyse120-25-w|wy150-25-w|wyse150-25-w|wyse 120/150 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy120-w,
+#
+wy120-vb|wyse120-vb|wy150-vb|wyse150-vb|Wyse 120/150 visible bell,
+	bel@, use=wy120,
+#
+wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column visible bell,
+	bel@, use=wy120-w,
+#
+#	The Wyse 60 is like the Wyse 50 but with more padding.
+#	The reset strings are slow and the pad times very depending
+#	on other parameters such as font loading.  I have tried
+#	to follow the following outline:
+#
+#		<rs1> -> set personality
+#		<rs2> -> set number of columns
+#		<rs3> -> set number of lines
+#		<is1> -> select the proper font
+#		<is2> -> do the initialization
+#		<is3> -> set up display memory (2 pages)
+#
+#	The Wyse 60's that have vt100 emulation are slower than the
+#	older Wyse 60's.  This change happened mid-1987.
+#	The capabilities effected are <dch1> <dl1> <il1> <ind> <ri>
+#
+#	The meta key is only half right.  This terminal will return the
+#	high order bit set when you hit CTRL-function_key
+#
+#	It may be useful to assign two function keys with the
+#	values  \E=(\s  look at old data in page 1
+#	        \E=W,   look at bottom of page 1
+#	where \s is a space ( ).
+#
+#	Note:
+#	   The Wyse 60 runs faster when the XON/XOFF
+#	   handshake is turned off.
+#
+# (wy60: we use \E{ rather than ^^ for home (both are documented) to avoid
+# a bug reported by Robert Dunn, <rcdii@inlink.com> -- esr)
+wy60|wyse60|Wyse 60,
+	am, bw, hs, km, mc5i, mir, msgr,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#45,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<100>,
+	cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW$<11>, dclk=\E`b, dim=\EGp, dl1=\ER$<5>, dsl=\EF\r,
+	ed=\EY$<100>, el=\ET, flash=\E`8$<100/>\E`9, fsl=^M,
+	home=\E{, ht=\011$<1>, hts=\E1, il1=\EE$<4>, ind=\n$<5>,
+	ip=$<3>, is1=\EcB0\EcC1,
+	is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El,
+	is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>,
+	rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew1, rmir=\Er,
+	rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<150>,
+	rs2=\EeG$<150>, rs3=\EwG\Ee($<200>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21,
+	tbc=\E0, tsl=\EF, use=adm+sgr,
+#
+wy60-w|wyse60-w|wyse 60 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<16>, ip=$<5>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy60,
+#
+wy60-25|wyse60-25|wyse 60 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy60,
+wy60-25-w|wyse60-25-w|wyse 60 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy60-w,
+#
+wy60-42|wyse60-42|wyse 60 80-column 42-lines,
+	lines#42,
+	clear=\E+$<260>, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<2>,
+	dch1=\EW$<16>, dl1=\ER$<11>, ed=\Ey$<260>, il1=\EE$<11>,
+	ind=\n$<9>, ip=$<5>, is1=\EcB2\EcC3, nel=\r\n$<6>,
+	ri=\Ej$<10>, rs3=\Ee*$<150>, use=wy60,
+wy60-42-w|wyse60-42-w|wyse 60 132-column 42-lines,
+	cols#132, lw#7, nlab#16, wsl#97,
+	clear=\E+$<260>, cup=\Ea%i%p1%dR%p2%dC$<2>,
+	dch1=\EW$<19>, ed=\Ey$<260>, home=\036$<2>, ip=$<6>,
+	nel=\r\n$<11>, rs2=\EeF$<150>\E`;$<150>, use=wy60-42,
+#
+wy60-43|wyse60-43|wyse 60 80-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy60-42,
+wy60-43-w|wyse60-43-w|wyse 60 132-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy60-42-w,
+#
+wy60-vb|wyse60-vb|Wyse 60 visible bell,
+	bel@, use=wy60,
+wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell,
+	bel@, use=wy60-w,
+
+#	The Wyse-99GT looks at lot like the Wyse 60 except that it
+#	does not have the 42/43 line mode.  In the Wyse-60 the "lines"
+#	setup parameter controls the number of lines on the screen.
+#	For the Wyse 99GT the "lines" setup parameter controls the
+#	number of lines in a page.  The screen can display 25 lines max.
+#	    The Wyse-99GT also has personalities for the VT220 and
+#	Tektronix 4014.  But this has no bearing on the native mode.
+#
+#	(msgr) should be set but the clear screen fails when in
+#	alt-charset mode.  Try \EcE\s\s\E+\s if the screen is really clear
+#	then set msgr, else use msgr@.
+#
+#	u0 -> enter Tektronix mode
+#	u1 -> exit Tektronix mode
+#
+wy99gt|wyse99gt|Wyse 99gt,
+	msgr@,
+	clear=\E+$<130>, dch1=\EW$<7>, dl1=\ER$<4>, ed=\Ey$<130>,
+	el=\Et$<5>, flash=\E`8$<100/>\E`9, ht=\011$<1>,
+	il1=\EE$<4>, ind=\n$<4>, ip=$<2>, is3=\Ew0$<20>, nel@,
+	ri=\Ej$<3>, rmcup=\Ew0, rs2=\E`\:$<150>, smcup=\Ew1,
+	u0=\E~>\E8, u1=\E[42h, use=wy60,
+#
+wy99gt-w|wyse99gt-w|wyse 99gt 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	clear=\E+$<160>, cup=\Ea%i%p1%dR%p2%dC$<2>,
+	dch1=\EW$<9>, ed=\Ey$<160>, ip=$<4>, rs2=\E`;$<150>,
+	use=wy99gt,
+#
+wy99gt-25|wyse99gt-25|wyse 99gt 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs2=\E`\:$<150>, rs3=\EwG\Ee)$<200>, use=wy99gt,
+#
+wy99gt-25-w|wyse99gt-25-w|wyse 99gt 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs2=\E`;$<150>, use=wy99gt-w,
+#
+wy99gt-vb|wyse99gt-vb|Wyse 99gt visible bell,
+	bel@, use=wy99gt,
+#
+wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell,
+	bel@, use=wy99gt-w,
+
+# Can't set tabs! Other bugs (ANSI mode only):
+# - can't redefine function keys (anyway, key redefinition in ANSI mode
+#   is too much complex to be described);
+# - meta key can't be described (the terminal forgets it when reset);
+# The xon-xoff handshaking can't be disabled while in ansi personality, so
+# emacs can't work at speed greater than 9600 baud.  No padding is needed at
+# this speed.
+#   dch1 has been commented out because it causes annoying glittering when
+# vi deletes one character at the beginning of a line with tabs in it.
+#   dch makes sysgen(1M) have a horrible behaviour when deleting
+# a screen and makes screen(1) behave badly, so it is disabled too. The nice
+# thing is that vi goes crazy if smir-rmir are present and both dch-dch1 are
+# not, so smir and rmir are commented out as well.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99-ansi|Wyse WY-99GT in ansi mode (int'l PC keyboard),
+	am, km, mc5i, mir, msgr, xenl,
+	cols#80, it#8, lines#25, vt#3,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J$<200>, cnorm=\E[34h\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD$<1>,
+	cub1=\010$<1>, cud=\E[%p1%dB, cud1=\ED,
+	cuf=\E[%p1%dC$<1>, cuf1=\E[C$<1>,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+	cvvis=\E[34l\E[?25h, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J$<8*>, el=\E[K$<1>, el1=\E[1K$<1>,
+	enacs=\E)0, flash=\E[?5h$<30/>\E[?5l, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL,
+	il1=\E[L, ind=\n$<1>, invis=\E[8m,
+	is2=\E7\E[1r\E8\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[4i,
+	kbs=^H, kcbt=\E[z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf17=\E[K, kf18=\E[31~, kf19=\E[32~, kf2=\EOQ,
+	kf20=\E[33~, kf21=\E[34~, kf22=\E[35~, kf23=\E[1~,
+	kf24=\E[2~, kf3=\EOR, kf4=\EOS, kf5=\E[M, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, ll=\E[24E, mc0=\E[?19h,
+	mc4=\E[4i, mc5=\E[5i, nel=\EE, prot=\E[1"q, rc=\E8,
+	rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E\E[4i,
+	sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%O%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017\E["q, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
+
+#   This is the american terminal. Here tabs work fine.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99a-ansi|Wyse WY-99GT in ansi mode (US PC keyboard),
+	hts=\EH, is3=\E[?5l, rs3=\E[?5l, tbc=\E[3g, use=wy99-ansi,
+
+# This terminal (firmware version 02) has a lot of bugs:
+# - can't set tabs;
+# - other bugs in ANSI modes (see above).
+# This description disables handshaking when using cup. This is because
+# GNU emacs doesn't like Xon-Xoff handshaking. This means the terminal
+# cannot be used at speeds greater than 9600 baud, because at greater
+# speeds handshaking is needed even for character sending. If you use
+# DTR handshaking, you can use even greater speeds.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99f|wy99fgt|wy-99fgt|Wyse WY-99GT (int'l PC keyboard),
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	cols#80, it#8, lines#25, wsl#46,
+	acsc='x+y.w_vi~j(k'l&m%n)o9q*s8t-u.v\,w+x=, bel=^G,
+	blink=\EG2, cbt=\EI, civis=\E`0, clear=\E'\E(\032,
+	cnorm=\E`4\E`1, cr=^M, cub1=^H, cud1=\Ej, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\E`2\E`1, dch1=\EW, dim=\EGp, dl1=\ER, dsl=\EF\r,
+	ed=\EY$<8*>, el=\ET$<8>, enacs=\Ec@1J$<2000>,
+	flash=\E\^1$<30/>\E\^0, fsl=^M, home=^^, ht=^I, il1=\EE,
+	ind=^J, invis=\EG3,
+	is2=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\^0\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024,
+	ka1=^^, ka3=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^A`\r, kf14=^Aa\r, kf15=^Ab\r,
+	kf16=^Ac\r, kf17=^Ad\r, kf18=^Ae\r, kf19=^Af\r, kf2=^AA\r,
+	kf20=^Ag\r, kf21=^Ah\r, kf22=^Ai\r, kf23=^Aj\r, kf24=^Ak\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, kprt=\EP, mc0=\EP, mc4=^T, mc5=\Ed#,
+	nel=^_, prot=\E), rev=\EG4, ri=\Ej, rmacs=\EcD, rmam=\Ed.,
+	rmcup=\Ec21\Ec31, rmir=\Er, rmso=\EG0, rmxon=\Ec20\Ec30,
+	rs2=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\^0\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024,
+	sgr=\E(\EG%{48}%?%p1%p3%O%t%{4}%+%;%?%p2%t%{8}%+%;%?%p4%t%{2}%+%;%?%p5%t%{64}%+%;%?%p7%t%{1}%+%;%c%?%p8%t\E)%;%?%p9%t\EcE%e\EcD%;,
+	sgr0=\E(\EG0, smacs=\EcE, smam=\Ed/, smcup=\Ec20\Ec30,
+	smir=\Eq, smso=\EG4, smxon=\Ec21\Ec31, tsl=\EF,
+
+# This is the american terminal. Here tabs work.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99fa|wy99fgta|wy-99fgta|Wyse WY-99GT (US PC keyboard),
+	hts=\E1, tbc=\E0, use=wy99f,
+
+#
+#	The Wyse 160 is combination of the WY-60 and the WY-99gt.
+#	The reset strings are slow and the pad times very depending
+#	on other parameters such as font loading.  I have tried
+#	to follow the following outline:
+#
+#		<rs1> -> set personality
+#		<rs2> -> set number of columns
+#		<rs3> -> set number of lines
+#		<is1> -> select the proper font
+#		<is2> -> do the initialization
+#		<is3> -> set up display memory (2 pages)
+#
+#	The display memory may be used for either text or graphics.
+#	When "Display Memory = Shared" the terminal will have more pages
+#	but garbage may be left on the screen when you switch from
+#	graphics to text.  If "Display Memory = Unshared" then the
+#	text area will be only one page long.
+#
+# (wy160: we use \E{ rather than ^^ for home (both are documented) to avoid
+# a bug reported by Robert Dunn, <rcdii@inlink.com> -- esr)
+wy160|wyse160|Wyse 160,
+	am, bw, hs, km, mc5i, mir, msgr,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#38,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<30>,
+	cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<5>,
+	dclk=\E`b, dim=\EGp, dl1=\ER$<1>, dsl=\EF\r, ed=\EY$<30>,
+	el=\ET$<5>, flash=\E`8$<100/>\E`9, fsl=^M, home=\E{, ht=^I,
+	hts=\E1, il1=\EE$<1>, ind=\n$<1>, ip=$<2>, is1=\EcB0\EcC1,
+	is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El,
+	is3=\Ew0$<100>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<1>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<1>,
+	rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew0, rmir=\Er,
+	rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<70>,
+	rs2=\E`\:$<100>, rs3=\EwG\Ee($<140>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21,
+	tbc=\E0, tsl=\EF, use=adm+sgr,
+#
+wy160-w|wyse160-w|wyse 160 132-column,
+	cols#132, lw#7, nlab#16, wsl#90,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<9>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy160,
+#
+wy160-25|wyse160-25|wyse 160 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy160,
+wy160-25-w|wyse160-25-w|wyse 160 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy160-w,
+#
+wy160-42|wyse160-42|wyse 160 80-column 42-lines,
+	lines#42,
+	clear=\E+$<50>, dl1=\ER$<2>, ed=\Ey$<50>, il1=\EE$<2>,
+	ind=\n$<2>, is1=\EcB2\EcC3, nel=\r\n$<2>, ri=\Ej$<2>,
+	rs3=\Ee*$<150>, use=wy160,
+wy160-42-w|wyse160-42-w|wyse 160 132-column 42-lines,
+	cols#132, lw#7, nlab#16, wsl#90,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<8>, ip=$<3>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy160-42,
+#
+wy160-43|wyse160-43|wyse 160 80-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy160-42,
+wy160-43-w|wyse160-43-w|wyse 160 132-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy160-42-w,
+#
+wy160-vb|wyse160-vb|Wyse 160 visible bell,
+	bel@, use=wy160,
+wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell,
+	bel@, use=wy160-w,
+#
+#	The Wyse 75 is a vt100 lookalike without advanced video.
+#
+#	   The Wyse 75 can support one attribute (e.g. Dim, Inverse,
+#	Underline) without magic cookies.  The following description
+#	uses this capability, but when more than one attribute is
+#	put on the screen at once, all attributes will be changed
+#	to be the same as the last attribute given.
+#	   The Wyse 75 can support more attributes when used with magic
+#	cookies.  The wy75-mc terminal description uses magic cookies
+#	to correctly handle multiple attributes on a screen.
+#
+wy75|wyse75|wyse 75,
+	am, hs, mc5i, mir, msgr, xenl, xon,
+	cols#80, lines#24, ma#1, pb#1201, wsl#78,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[J$<30>,
+	cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr$<2>,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP$<3*>,
+	dch1=\E[P$<3>, dim=\E[0t\E[2m, dl=\E[%p1%dM$<1*>,
+	dl1=\E[M, dsl=\E[>\,\001\001\E[>-\001\001,
+	ech=\E[%p1%dX, ed=\E[J$<30>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E)0, flash=\E[30h\E\,\E[30l$<250>, fsl=^A,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+	ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>,
+	ind=\n$<2>, ip=$<1>,
+	is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h,
+	is2=\E>\E(B\E)0\017, is3=\E[m, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K,
+	kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i,
+	kf20=\E[34~, kf21=\E[35~, kf3=\E[2i, kf4=\E[@, kf5=\E[M,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, khome=\E[H, kich1=\E[@, kil1=\E[L, knp=\E[6~,
+	kpp=\E[5~, kprt=\E[?5i, kslt=\E[4~, mc0=\E[0i, mc4=\E[4i,
+	mc5=\E[5i, rc=\E8, rev=\E[1t\E[7m, ri=\EM$<2>, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<80>, rs3=\E[?5l,
+	sc=\E7,
+	sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m,
+	tbc=\E[3g, tsl=\E[>\,\001, use=vt220+keypad,
+#
+#	This terminal description uses the non-hidden attribute mode
+#	(with magic cookie).
+#
+wy75-mc|wyse75-mc|wyse 75 with magic cookies,
+	msgr@,
+	ma@, xmc#1,
+	blink=\E[2p, dim=\E[1p, invis=\E[4p, is3=\E[m\E[p,
+	rev=\E[16p, rmacs=\E[0p\017, rmso=\E[0p, rmul=\E[0p,
+	sgr=\E[%{0}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{16}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{1}%|%;%?%p7%t%{4}%|%;%dp%?%p9%t\016%e\017%;,
+	sgr0=\E[0p\017, smacs=\E[0p\016, smso=\E[17p, smul=\E[8p,
+	use=wy75,
+wy75-vb|wyse75-vb|wyse 75 with visible bell,
+	pb@,
+	bel@, use=wy75,
+wy75-w|wyse75-w|wyse 75 in 132 column mode,
+	cols#132, wsl#130,
+	rs2=\E[35h\E[?3h$<80>, use=wy75,
+wy75-wvb|wyse75-wvb|wyse 75 with visible bell 132 columns,
+	pb@,
+	bel@, use=wy75-w,
+#
+#	Wyse 85 emulating a vt220 7 bit mode.
+#		24 line screen with status line.
+#
+#	The vt220 mode permits more function keys but it wipes out
+#	the escape key.  I strongly recommend that <f11> be set to
+#	escape (esc).
+#	The terminal may have to be set for 8 data bits and 2 stop
+#	bits for the arrow keys to work.
+#	The Wyse 85 runs faster with XON/XOFF enabled.  Also the
+#	<dch> and <ich> work best when XON/XOFF is set.  <ich> and
+#	<dch> leave trash on the screen when used without XON/XOFF.
+#
+wy85|wyse85|wyse 85,
+	am, hs, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J$<110>, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m,
+	dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l,
+	ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K,
+	enacs=\E)0, flash=\E[30h\E\,\E[30l$<300>,
+	fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>, hts=\EH,
+	ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>,
+	ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
+	is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+	khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
+	mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>,
+	rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m,
+	rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>,
+	rs3=\E[?5l, sc=\E7,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[40h\E7\E[25;%i%p1%dH, use=vt220+keypad,
+#
+#	Wyse 85 with visual bell.
+wy85-vb|wyse85-vb|wyse 85 with visible bell,
+	bel@, flash=\E[30h\E\,\E[30l$<300>, use=wy85,
+#
+#	Wyse 85 in 132-column mode.
+wy85-w|wyse85-w|wyse 85 in 132-column mode,
+	cols#132, wsl#132,
+	rs2=\E[35h\E[?3h$<70>, use=wy85,
+#
+#	Wyse 85 in 132-column mode with visual bell.
+wy85-wvb|wyse85-wvb|wyse 85 with visible bell 132-columns,
+	bel@, use=wy85-w,
+
+# From: Kevin Turner <kevint@aracnet.com>, 12 Jul 1998
+# This copes with an apparent firmware bug in the wy85.  He writes:
+# "What I did was change leave the terminal cursor keys set to Normal
+# (instead of application), and change \E[ to \233 for all the keys in
+# terminfo. At one point, I found some reference indicating that this
+# terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just
+# me), but I can't find that and the server under my bookmark to "Wyse
+# Technical" isn't responding.  So there's the question of wether the wy85
+# terminfo should reflect the manufactuer's intended behaviour of the terminal
+# or the actual."
+wy85-8bit|wyse85-8bit|wyse 85 in 8-bit mode,
+	am, hs, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J$<110>, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m,
+	dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l,
+	ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K,
+	enacs=\E)0, flash=\E[30h\E\,\E[30l$<300>,
+	fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>, hts=\EH,
+	ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>,
+	ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
+	is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu,
+	kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\233D, kcud1=\233B,
+	kcuf1=\233C, kcuu1=\233A, kdch1=\2333~, kent=\EOM,
+	kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~,
+	kf13=\23325~, kf14=\23326~, kf15=\23328~, kf16=\23329~,
+	kf17=\23331~, kf18=\23332~, kf19=\23333~, kf2=\EOQ,
+	kf20=\23334~, kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~,
+	kf8=\23319~, kf9=\23320~, kfnd=\2331~, khlp=\23328~,
+	khome=\23326~, kich1=\2332~, knp=\2336~, kpp=\2335~,
+	kslt=\2334~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
+	mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>,
+	rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m,
+	rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>,
+	rs3=\E[?5l, sc=\E7,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;+m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[40h\E7\E[25;%i%p1%dH,
+#
+#	Wyse 185 emulating a vt320 7 bit mode.
+#
+#	This terminal always displays 25 lines.  These lines may be used
+#	as 24 data lines and a terminal status line (top or bottom) or
+#	25 data lines.  The 48 and 50 line modes change the page size
+#	and not the number of lines on the screen.
+#
+#	The Compose Character key can be used as a meta key if changed
+#	by set-up.
+#
+wy185|wyse185|wyse 185,
+	am, hs, km, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<3>,
+	dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>,
+	dsl=\E7\E[99;0H\E[K\E8, ech=\E[%p1%dX, ed=\E[J$<40>,
+	el=\E[K, el1=\E[1K, enacs=\E)0,
+	flash=\E[30h\E\,\E[30l$<100>, fsl=\E[1;24r\E8,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, hts=\EH,
+	ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>,
+	ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h,
+	is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR,
+	kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~,
+	knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3,
+	lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m,
+	ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l,
+	rmkx=\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
+	rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q,
+	smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd,
+	use=vt220+keypad,
+#
+#	Wyse 185 with 24 data lines and top status (terminal status)
+wy185-24|wyse185-24|wyse 185 with 24 data lines,
+	hs@,
+	dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@,
+	use=wy185,
+#
+#	Wyse 185 with visual bell.
+wy185-vb|wyse185-vb|wyse 185+flash,
+	bel@, use=wy185,
+#
+#	Wyse 185 in 132-column mode.
+wy185-w|wyse185-w|wyse 185 in 132-column mode,
+	cols#132, wsl#132,
+	dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>,
+	ip=$<7>, rs2=\E[35h\E[?3h, use=wy185,
+#
+#	Wyse 185 in 132-column mode with visual bell.
+wy185-wvb|wyse185-wvb|wyse 185+flash+132 cols,
+	bel@, use=wy185-w,
+
+# wy325 terminfo entries
+# Done by Joe H. Davis        3-9-92
+
+# lines 25  columns 80
+#
+wy325|wyse325|Wyse epc,
+	am, bw, hs, mc5i, mir,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, pb#9601, wsl#45,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>,
+	cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>,
+	dim=\EGp, dl1=\ER$<3>, dsl=\EF\r, ed=\EY$<50>, el=\ET$<4>,
+	flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=^I, hts=\E1,
+	il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1,
+	is2=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El,
+	is3=\Ew0$<16>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>,
+	rmacs=\EcD, rmam=\Ed., rmcup=\Ew0, rmir=\Er, rmln=\EA11,
+	rs1=\E~!\E~4$<30>, rs2=\EeF\E`\:$<70>,
+	rs3=\EwG\Ee($<100>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, tbc=\E0,
+	tsl=\EF, use=adm+sgr,
+
+#
+# lines 24  columns 80  vb
+#
+wy325-vb|wyse325-vb|wyse-325 with visual bell,
+	bel@, use=wy325,
+
+#
+# lines 24  columns 132
+#
+wy325-w|wyse325-w|wy325w-24|wyse-325 in wide mode,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>,
+	rs2=\E`;$<70>, use=wy325,
+#
+# lines 25  columns 80
+#
+wy325-25|wyse325-25|wy325-80|wyse-325|wyse-325 25 lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325,
+#
+# lines 25  columns 132
+#
+wy325-25w|wyse325-25w|wy325 132 columns,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325-w,
+#
+# lines 25  columns 132  vb
+#
+wy325-w-vb|wy325-wvb|wyse325-wvb|wyse-325 wide mode reverse video,
+	bel@, use=wy325-w,
+
+#
+# lines 42  columns 80
+#
+wy325-42|wyse325-42|wyse-325 42 lines,
+	lh@, lines#42, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325,
+#
+# lines 42  columns 132
+#
+wy325-42w|wyse325-42w|wyse-325 42 lines wide mode,
+	lh@, lines#42, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325-w,
+#
+# lines 42  columns 132  vb
+#
+wy325-42w-vb|wy325-42wvb|wyse-325 42 lines wide mode visual bell,
+	bel@, use=wy325-w,
+#
+# lines 43  columns 80
+#
+wy325-43|wyse325-43|wyse-325 43 lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, use=wy325,
+#
+# lines 43  columns 132
+#
+wy325-43w|wyse325-43w|wyse-325 43 lines wide mode,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325-w,
+#
+# lines 43  columns 132  vb
+#
+wy325-43w-vb|wy325-43wvb|wyse-325 43 lines wide mode visual bell,
+	bel@, use=wy325-w,
+
+#	Wyse 370 -- 24 line screen with status line.
+#
+#	The terminal may have to be set for 8 data bits and 2 stop
+#	bits for the arrow keys to work.
+#
+#	If you change keyboards the terminal will send different
+#	escape sequences.
+#	The following definition is for the basic terminal without
+#	function keys.
+#
+#	<u0> -> enter Tektronix 4010/4014 mode
+#	<u1> -> exit  Tektronix 4010/4014 mode
+#	<u2> -> enter ASCII mode (from any ANSI mode)
+#	<u3> -> exit  ASCII mode (goto native ANSI mode)
+#	<u4> -> enter Tek 4207 ANSI mode (from any ANSI mode)
+#	<u5> -> exit  Tek 4207 mode (goto native ANSI mode)
+#
+# Bug: The <op> capability resets attributes.
+wy370-nk|wyse 370 without function keys,
+	am, ccc, hs, mc5i, mir, msgr, xenl, xon,
+	colors#64, cols#80, it#8, lines#24, ncv#48, pairs#64, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<1*>, dch1=\E[P$<1>,
+	dclk=\E[31h, dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>,
+	dsl=\E[40l, ech=\E[%p1%dX$<.1*>, ed=\E[J$<40>,
+	el=\E[K$<10>, el1=\E[1K$<12>, enacs=\E)0,
+	flash=\E[30h\E\,\E[30l$<300>, fsl=\E[1;24r\E8,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=\011$<1>, hts=\EH,
+	ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>,
+	ind=\n$<2>,
+	initc=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw,
+	invis=\E[8m, ip=$<1>, is1=\E[90;1"p\E[?5W$<6>,
+	is2=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h,
+	is3=\E>\017\E)0\E(B\E[63;0w\E[m, mc0=\E[0i, mc4=\E[4i,
+	mc5=\E[5i,
+	oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w,
+	op=\E[m, rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O,
+	rmam=\E[?7l, rmclk=\E[31l, rmcup=\E[ R, rmir=\E[4l,
+	rmkx=\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E[13l\E[3l\E!p\E[?4i, rs2=\E[35h\E[?3l$<8>,
+	rs3=\E[?5l, sc=\E7, setb=\E[62;%p1%dw, setf=\E[61;%p1%dw,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q,
+	smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[40l\E[40h\E7\E[99;%i%p1%dH,
+	u0=\E[?38h\E8, u1=\E[?38l\E)0, u2=\E[92;52"p, u3=\E~B,
+	u4=\E[92;76"p, u5=\E%!1\E[90;1"p, vpa=\E[%i%p1%dd,
+#
+#	Function key set for the ASCII (wy-50 compatible) keyboard
+#	This is the default 370.
+#
+wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard,
+	kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kdch1=\EOQ, kdl1=\EOQ, kent=\EOM, kf1=\E[?4i,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf2=\E[?3i,
+	kf3=\E[2i, kf4=\E[@, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[H, kich1=\EOP, kil1=\EOP,
+	knp=\E[U, kpp=\E[V, use=wy370-nk,
+#
+#	Function key set for the VT-320 (and wy85) compatible keyboard
+#
+wy370-105k|Wyse 370 with 105 key keyboard,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~,
+	kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4,
+	use=wy370-nk, use=vt220+keypad,
+#
+#	Function key set for the PC compatible keyboard
+#
+wy370-EPC|Wyse 370 with 102 key keyboard,
+	kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kend=\E[1~, kent=\EOM, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[M, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[H, kich1=\E[2~, knp=\E[U, kpp=\E[V, use=wy370-nk,
+#
+#	Wyse 370 with visual bell.
+wy370-vb|Wyse 370 with visible bell,
+	bel@, use=wy370,
+#
+#	Wyse 370 in 132-column mode.
+wy370-w|Wyse 370 in 132-column mode,
+	cols#132, wsl#132,
+	rs2=\E[35h\E[?3h$<70>, use=wy370,
+#
+#	Wyse 370 in 132-column mode with visual bell.
+wy370-wvb|Wyse 370 with visible bell 132-columns,
+	flash=\E[30h\E\,\E[30l$<300>, use=wy370-w,
+wy370-rv|Wyse 370 reverse video,
+	rs3=\E[32h\E[?5h, use=wy370,
+#
+#	Wyse 99gt Tektronix 4010/4014 emulator,
+#
+wy99gt-tek|Wyse 99gt Tektronix 4010/4014 emulator,
+	am, os,
+	cols#74, lines#35,
+	bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s,
+	cup=\035%{3040}%{89}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037,
+	cuu1=^K, ff=^L,
+	hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037,
+	home=^]7`x @\037,
+	hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037,
+	is2=\E8, nel=^M^J, u0=\E~>\E8, u1=\E[42h,
+#
+#	Wyse 160 Tektronix 4010/4014 emulator,
+#
+wy160-tek|Wyse 160 Tektronix 4010/4014 emulator,
+	cup=\035%{3103}%{91}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037,
+	home=^]8`g @\037, use=wy99gt-tek,
+#
+#	Wyse 370 Tektronix 4010/4014 emulator,
+#
+wy370-tek|Wyse 370 Tektronix 4010/4014 emulator,
+	am, os,
+	cols#80, lines#36,
+	bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s,
+	cup=\035%{775}%{108}%p1%*%{5}%/%-%Py%p2%{64}%*%{4}%+%{5}%/%Px%gy%{32}%/%{31}%&%{32}%+%c%gy%{31}%&%{96}%+%c%gx%{32}%/%{31}%&%{32}%+%c%gx%{31}%&%{64}%+%c\037,
+	cuu1=^K, ff=^L,
+	hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037,
+	home=^]8g @\037,
+	hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037,
+	is2=\E8, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^I, kcuu1=^K,
+	nel=^M^J, u0=\E[?38h\E8, u1=\E[?38l\E)0,
+
+# Vendor-supplied Wyse entries end here.
+
+#
+#TITLE:  TERMINFO ENTRY WY520
+#DATE:   8/5/93
+# The WY520 terminfo is based on the WY285 entry published on the WYSE
+# BBS with the addition of more function keys and special keys.
+#
+#               rs1 -> set personality
+#               rs2 -> set number of columns
+#               rs3 -> set number of lines
+#               is1 -> select the proper font
+#               is2 -> do the initialization
+#               is3 -> If this string is empty then rs3 gets sent.
+#
+#       Wyse 520 emulating a vt420 7 bit mode with default ANSI keyboard
+#       - The BS key is programmed to generate BS in smcup since
+#         is2 doesn't seem to work.
+#       - Remove and shift/Remove: delete a character
+#       - Insert : enter insert mode
+#       - Find   : delete to end of file
+#       - Select : clear a line
+#       - F11, F12, F13: send default sequences (not ESC, BS, LF)
+#       - F14 : Home key
+#       - Bottom status line (host writable line) is used.
+#       - smkx,rmkx are removed because this would put the numeric
+#         keypad in Dec application mode which doesn't seem to work
+#         with SCO applications.
+#
+wy520|wyse520|wyse 520,
+	am, hs, km, mc5i, mir, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<30>,
+	dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[0$~,
+	ech=\E[%p1%dX, ed=\E[J$<40>, el=\E[K, el1=\E[1K,
+	enacs=\E)0, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%d`, ht=^I,
+	hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>,
+	il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h,
+	is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, ked=\E[1~,
+	kel=\E[4~, kent=\EOM, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, khome=\E[26~,
+	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1,
+	lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+	rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l,
+	rmcup=\E[ R, rmir=\E[4l, rmso=\E[m, rmul=\E[24m,
+	rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
+	rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h,
+	smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+	vpa=\E[%i%p1%dd, use=vt220+keypad,
+#
+#       Wyse 520 with 24 data lines and status (terminal status)
+wy520-24|wyse520-24|wyse 520 with 24 data lines,
+	hs@,
+	dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@,
+	use=wy520,
+#
+#       Wyse 520 with visual bell.
+wy520-vb|wyse520-vb|wyse 520 with visible bell,
+	flash=\E[30h\E\,\E[30l$<100>, use=wy520,
+#
+#       Wyse 520 in 132-column mode.
+wy520-w|wyse520-w|wyse 520 in 132-column mode,
+	cols#132, wsl#132,
+	dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>,
+	ip=$<7>, rs2=\E[35h\E[?3h, use=wy520,
+#
+#       Wyse 520 in 132-column mode with visual bell.
+wy520-wvb|wyse520-wvb|wyse 520 with visible bell 132-columns,
+	flash=\E[30h\E\,\E[30l$<100>, use=wy520-w,
+#
+#
+#       Wyse 520 emulating a vt420 7 bit mode.
+#       The DEL key is programmed to generate BS in is2.
+#       With EPC keyboard.
+#       - 'End' key will clear till end of line on EPC keyboard
+#       - Shift/End : ignored.
+#       - Insert : enter insert mode.
+#       - Delete : delete a character (have to change interrupt character
+#                  to CTRL-C: stty intr '^c') for it to work since the
+#                  Delete key sends 7FH.
+wy520-epc|wyse520-epc|wyse 520 with EPC keyboard,
+	kdch1=\177, kel=\E[4~, kend=\E[4~, kf0=\E[21~, kf1=\E[11~,
+	kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, khome=\E[H,
+	use=wy520,
+#
+#       Wyse 520 with 24 data lines and status (terminal status)
+#       with EPC keyboard.
+wy520-epc-24|wyse520-pc-24|wyse 520 with 24 data lines and EPC keyboard,
+	hs@,
+	dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@,
+	use=wy520-epc,
+#
+#       Wyse 520 with visual bell.
+wy520-epc-vb|wyse520-pc-vb|wyse 520 with visible bell and EPC keyboard,
+	flash=\E[30h\E\,\E[30l$<100>, use=wy520-epc,
+#
+#       Wyse 520 in 132-column mode.
+wy520-epc-w|wyse520-epc-w|wyse 520 in 132-column mode with EPC keyboard,
+	cols#132, wsl#132,
+	dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>,
+	ip=$<7>, rs2=\E[35h\E[?3h, use=wy520-epc,
+#
+#       Wyse 520 in 132-column mode with visual bell.
+wy520-epc-wvb|wyse520-p-wvb|wyse 520 with visible bell 132-columns and EPC keyboard,
+	flash=\E[30h\E\,\E[30l$<100>, use=wy520-epc-w,
+#
+#       Wyse 520 in 80-column, 36 lines
+wy520-36|wyse520-36|wyse 520 with 36 data lines,
+	hs@,
+	lines#36,
+	dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@,
+	use=wy520,
+#
+#       Wyse 520 in 80-column, 48 lines
+wy520-48|wyse520-48|wyse 520 with 48 data lines,
+	hs@,
+	lines#48,
+	dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@,
+	use=wy520,
+#
+#       Wyse 520 in 132-column, 36 lines
+wy520-36w|wyse520-36w|wyse 520 with 132 columns and 36 data lines,
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|,
+	use=wy520-36,
+#
+#       Wyse 520 in 132-column, 48 lines
+wy520-48w|wyse520-48w|wyse 520 with 48 data lines,
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|,
+	use=wy520-48,
+#
+#
+#       Wyse 520 in 80-column, 36 lines with EPC keyboard
+wy520-36pc|wyse520-36pc|wyse 520 with 36 data lines and EPC keyboard,
+	hs@,
+	lines#36,
+	dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@,
+	use=wy520-epc,
+#
+#       Wyse 520 in 80-column, 48 lines with EPC keyboard
+wy520-48pc|wyse520-48pc|wyse 520 with 48 data lines and EPC keyboard,
+	hs@,
+	lines#48,
+	dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@,
+	use=wy520-epc,
+#
+#       Wyse 520 in 132-column, 36 lines with EPC keyboard
+wy520-36wpc|wyse520-36wpc|wyse 520 with 36 data lines and EPC keyboard,
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|,
+	use=wy520-36pc,
+#
+#       Wyse 520 in 132-column, 48 lines with EPC keyboard
+wy520-48wpc|wyse520-48wpc|wyse 520 with 48 data lines and EPC keyboard,
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|,
+	use=wy520-48pc,
+
+# From: John Gilmore <hoptoad!gnu@lll-crg.arpa>
+# (wyse-vp: removed <if=/system/share/tabset/wyse-adds>, there's no such
+# file and we don't know what <hts> is -- esr)
+wyse-vp|Wyse 50 in ADDS Viewpoint emulation mode with "enhance" on,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EW,
+	dl1=\El, ed=\Ek, el=\EK, home=^A, ht=^I, il1=\EM, ind=^J,
+	is2=\E`\:\E`9\017\Er, kbs=^H, kcub1=^U, kcud1=^J, kcuf1=^F,
+	kcuu1=^Z, khome=^A, ll=^A^Z, nel=^M^J, rmir=\Er, rmso=^O,
+	rmul=^O, rs1=\E`\:\E`9\017\Er, sgr0=^O, smir=\Eq, smso=^N,
+	smul=^N,
+
+wy75ap|wyse75ap|wy-75ap|wyse-75ap|Wyse WY-75 Applications and Cursor keypad,
+	is2=\E[1;24r\E[?10;3l\E[?1;25h\E[4l\E[m\E(B\E=,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	khome=\EOH, rmkx=\E[?1l\E>$<10/>, smkx=\E[?1h\E=$<10/>,
+	use=wy75,
+
+# From: Eric Freudenthal <freudent@eric.ultra.nyu.edu>
+wy100q|Wyse 100 for Quotron,
+	OTbs,
+	cols#80, lines#24, xmc#1,
+	cbt=\EI, clear=^Z, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, invis@,
+	is2=\E`\:\0\EC\EDF\E0\E'\E(\EA21, kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, ri=\Ej, rmir=\Er, smir=\Eq, use=adm+sgr,
+
+#### Kermit terminal emulations
+#
+# Obsolete Kermit versions may be listed in the section describing obsolete
+# non-ANSI terminal emulators later in the file.
+#
+
+# KERMIT standard all versions.
+# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi.
+# (kermit: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr)
+# From: greg small <gts@populi.berkeley.edu> 9-25-84
+kermit|standard kermit,
+	OTbs,
+	cols#80, lines#24,
+	clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH, is2=K0 Standard Kermit  9-25-84\n,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^,
+kermit-am|standard kermit plus auto-margin,
+	am,
+	is2=K1 Standard Kermit plus Automatic Margins\n,
+	use=kermit,
+# IBMPC Kermit 1.2.
+# Bugs: <ed>, <el>: do not work except at beginning of line!  <clear> does
+# not work, but fake with :cl=\EH\EJ (since :cd=\EJ: works at beginning of
+# line).
+# From: greg small <gts@populi.berkeley.edu> 8-30-84
+pckermit|pckermit12|UCB IBMPC Kermit 1.2,
+	am,
+	lines#25,
+	clear=\EH\EJ, ed@, el@,
+	is2=K2 UCB IBMPC Kermit 1.2  8-30-84\n, use=kermit,
+# IBMPC Kermit 1.20
+# Cannot use line 25, now acts funny like ansi special scrolling region.
+# Initialization must escape from that region by cursor position to line 24.
+# Cannot use character insert because 1.20 goes crazy if insert at col 80.
+# Does not use :am: because autowrap is lost when kermit dropped and restarted.
+# From: greg small <gts@populi.berkeley.edu> 12-19-84
+pckermit120|UCB IBMPC Kermit 1.20,
+	it#8, lines#24,
+	cud1=\EB, cvvis=\EO\Eq\EEK3, dch1=\EN, dl1=\EM, ht=^I,
+	il1=\EL,
+	is2=\EO\Eq\EJ\EY7 K3 UCB IBMPC Kermit 1.20  12-19-84\n,
+	rmir@, rmso=\Eq, smir@, smso=\Ep, use=kermit,
+# MS-DOS Kermit 2.27 for the IBMPC
+# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi.
+# Cannot use line 25, now acts funny like ansi special scrolling region.
+# Initialization must escape from that region by cursor position to line 24.
+# Does not use am: because autowrap is lost when kermit dropped and restarted.
+# Reverse video for standout like H19.
+# (msk227: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr)
+# From: greg small <gts@populi.berkeley.edu> 3-17-85
+msk227|mskermit227|MS-DOS Kermit 2.27 for the IBMPC,
+	OTbs, am@,
+	cols#80, it#8, lines#24,
+	clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	cvvis=\EO\Eq\EG\EwK4, dch1=\EN, dl1=\EM, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, il1=\EL,
+	is2=\EO\Eq\EG\Ew\EJ\EY7 K4 MS Kermit 2.27 for the IBMPC 3-17-85\n,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, rc=\Ek,
+	rmir=\EO, rmso=\Eq, sc=\Ej, smir=\E@, smso=\Ep,
+# MS-DOS Kermit 2.27 with automatic margins
+# From:	greg small <gts@populi.berkeley.edu> 3-17-85
+msk227am|mskermit227am|UCB MS-DOS Kermit 2.27 with automatic margins,
+	am,
+	cvvis=\EO\Eq\EG\EvK5,
+	is2=\EO\Eq\EG\Ev\EJ\EY7 K5 MS Kermit 2.27 +automatic margins 3-17-85\n,
+	use=msk227,
+# MS-DOS Kermit 2.27 UCB 227.14 for the IBM PC
+# Automatic margins now default.  Use ansi <sgr> for highlights.
+# Define function keys.
+# (msk22714: removed obsolete ":kn#10:" -- esr)
+# From: greg small <gts@populi.berkeley.edu> 3-17-85
+msk22714|mskermit22714|UCB MS-DOS Kermit 2.27 UCB 227.14 IBM PC,
+	am,
+	bold=\E[1m, cvvis=\EO\Eq\EG\EvK6,
+	is2=\EO\Eq\EG\Ev\EJ\EY7 K6 MS Kermit 2.27 UCB 227.14 IBM PC 3-17-85\n,
+	kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6,
+	kf7=\E7, kf8=\E8, kf9=\E9, rev=\E[7m, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smso=\E[1m, smul=\E[4m, use=mskermit227,
+# This was designed for a VT320 emulator, but it is probably a good start
+# at support for the VT320 itself.
+# Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu.
+# (vt320-k3: I added <rmam>/<smam> based on the init string -- esr)
+vt320-k3|MS-Kermit 3.00's vt320 emulation,
+	am, eslok, hs, km, mir, msgr, xenl,
+	cols#80, it#8, lines#49, pb#9600, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cmdch=\E, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l,
+	fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is2=\E>\E F\E[?1h\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~, kf0=\E[21~,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~,
+	kpp=\E[5~, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, nel=^M^J, rc=\E8,
+	rev=\E[7m, ri=\EM, rin=\E[%p1%dL, rmacs=\E(B, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E(B\E)B\E>\E F\E[4;20l\E[12h\E[?1;5;6;38;42l\E[?7;25h\E[4i\E[?4i\E[m\E[r\E[2$~,
+	sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[1$}\r\E[K, vpa=\E[%i%p1%dd,
+# From: Joseph Gil <yogi@cs.ubc.ca> 13 Dec 1991
+# ACS capabilities from Philippe De Muyter  <phdm@info.ucl.ac.be> 30 May 1996
+# (I removed a bogus boolean :mo: and added <msgr>, <smam>, <rmam> -- esr)
+vt320-k311|dec vt320 series as defined by kermit 3.11,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[;H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K,
+	flash=\E[?5h\E[?5l, fsl=\E[$}, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L$<3/>, ind=\ED,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+	lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m,
+	rf=/system/share/tabset/vt100, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[?3l, sc=\E7, sgr0=\E[m, smacs=^N,
+	smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}\E[1;%dH,
+
+######## NON-ANSI TERMINAL EMULATIONS
+#
+
+#### Avatar
+#
+# These entries attempt to describe Avatar, a terminal emulation used with
+# MS-DOS bulletin-board systems.  It was designed to give ANSI-like
+# capabilities, but with cheaper (shorter) control sequences.  Messy design,
+# excessively dependent on PC idiosyncracies, but apparently rather popular
+# in the BBS world.
+#
+# No color support.  Avatar doesn't fit either of the Tektronix or HP color
+# models that terminfo knows about.  An Avatar color attribute is the
+# low 7 bits of the IBM-PC display-memory attribute.  Bletch.
+#
+# I wrote these entries while looking at the Avatar spec.  I don't have
+# the facilities to test them.  Let me know if they work, or don't.
+#
+# Avatar escapes not used by these entries (because maybe you're smarter
+# and more motivated than I am and can figure out how to wrap terminfo
+# around some of them, and because they are weird enough to be funny):
+#				level 0:
+# ^L		-- clear window/reset current attribute to default
+# ^V^A%p1%c	-- set current color attribute, parameter decodes as follows:
+#
+#      bit:         6   5   4   3   2   1   0
+#                   |       |   |   |       |
+#                   +---+---+   |   +---+---+
+#                       |       |       |
+#                       |       |  foreground color
+#                       |  foreground intensity
+#                  background color
+#				level 0+:
+# ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c	-- scroll (p2,p3) to (p4,p5) up by p1 lines
+# ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c	-- scroll (p2,p3) to (p4,p5) down by p1 lines
+# ^V^L%p1%c%p2%c%p3%c		-- clear p2 lines and p3 cols w/attr %p1
+# ^V^M%p1%c%p2%c%p3%c%p4%c	-- fill p3 lines & p4 cols w/char p2+attr %p1
+# (^V^L and ^V^M set the current attribute as a side-effect.)
+# ^V ^Y <a> [...] <c>	-- repeat pattern. <a> specifies the number of bytes
+#			   in the pattern, <c> the number of times the pattern
+#		  	   should be repeated. If either value is 0, no-op.
+#			   The pattern can contain Avatar console codes,
+#			   including other ^V ^Y patterns.
+#				level 1:
+# ^V^O		-- clockwise mode on; turn print direction right each time you
+#		   hit a window edge (yes, really).  Turned off by CR
+# ^V^P		-- no-op
+# ^V^Q%c	-- query the driver
+# ^V^R		-- driver reset
+# ^V^S		-- Sound tone (PC-specific)
+# ^V^T			-- change highlight at current cursor poition to %c
+# ^V^U%p1%c%p2%c	-- highlight window <a> with attribute <b>
+# ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c
+#			-- define window
+#
+# From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
+# (The <blink>/<bold>/<rev>/<smacs>/<smul>/<smso> capabilities exist only to
+# tell ncurses that the corresponding highlights exist; it should use <sgr>,
+# which is the only method that will actually work for multiple highlights.)
+#
+# Update by TD - 2004: half of this was inconsistent.  Found documentation
+# and repaired most of the damage.  sgr0 is probably incorrect, but the
+# available documentation gives no clues for a workable string.
+avatar0|avatar terminal emulator level 0,
+	am, bce, msgr,
+	cols#80, it#8, lines#25,
+	blink=^V^B, bold=^V^A^P, cr=^M, cub1=^V^E, cud1=^V^D,
+	cuf1=^V^F, cup=\026\010%p1%c%p2%c, cuu1=^V^C, el=^V^G,
+	ind=^J, invis=^V^A\0, rep=\031%p1%c%p2%c, rev=^V^Ap,
+	rmacs@, rs2=^L,
+	sgr=%?%p1%p2%|%p3%|%p6%|%p7%|%t\026\001%?%p7%t%{128}%e%{0}%?%p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p6%t%{16}%|%;%;%c%;%?%p4%t\026\002%;,
+	sgr0=^V^A^G, smacs@, smso=^V^Ap, smul=^V^A^A,
+	use=klone+acs,
+# From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
+avatar0+|avatar terminal emulator level 0+,
+	dch1=^V^N, rmir=\026\n\0\0\0\0, smir=^V^I, use=avatar0,
+# From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
+avatar|avatar1|avatar terminal emulator level 1,
+	civis=^V'^B, cnorm=^V'^A, cvvis=^V^C, dl1=^V-, il1=^V+,
+	rmam=^V", rmir=^V^P, smam=^V$, use=avatar0+,
+
+#### RBcomm
+#
+# RBComm is a lean and mean terminal emulator written by the Interrupt List
+# maintainer, Ralf Brown. It was fairly popular in the late DOS years (early
+# '90s), especially in the BBS world, and still has some loyal users due to
+# its very small memory footprint and to a cute macro language.
+rbcomm|IBM PC with RBcomm and EMACS keybindings,
+	am, bw, mir, msgr, xenl,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=^L, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^C, cuf1=^B,
+	cup=\037%p2%{32}%+%c%p1%{32}%+%c, cuu1=^^, dch1=^W,
+	dl=\E[%p1%dM, dl1=^Z, ech=\E[%p1%dX, ed=^F5, el=^P^P, ht=^I,
+	il=\E[%p1%dL, il1=^K, ind=\ED, invis=\E[8m,
+	is2=\017\035\E(B\E)0\E[?7h\E[?3l\E[>8g, kbs=^H,
+	kcub1=^B, kcud1=^N, kcuf1=^F, kcuu1=^P, khome=^A, nel=^M\ED,
+	rc=\E8, rep=\030%p1%c%p2%c, rev=^R, ri=\EM, rmcup=, rmdc=,
+	rmir=^], rmkx=\E>, rmso=^U, rmul=^U,
+	rs1=\017\E(B\E)0\025\E[?3l\E[>8g, sc=\E7, sgr0=\E[m,
+	smcup=, smdc=, smir=^\, smkx=\E=, smso=^R, smul=^T,
+rbcomm-nam|IBM PC with RBcomm without autowrap,
+	am@,
+	bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J,
+	is2=\017\035\E(B\E)0\E[?7l\E[?3l\E[>8g, kbs=^H,
+	kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm,
+rbcomm-w|IBM PC with RBcomm in 132 column mode,
+	cols#132,
+	bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J,
+	is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kbs=^H,
+	kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm,
+
+######## LCD DISPLAYS
+#
+
+#### Matrix Orbital
+# from: Eric Z. Ayers  (eric@ale.org)
+#
+# Matrix Orbital 20x4 LCD display
+# Command Character is 0xFE (decimal 254, octal 376)
+#
+# On this device, cursor addressability isn't possible.  The LCD expects:
+#      0xfe G <col> <row>
+#      for cup: %p1 == row and %p2 is column
+#
+# This line:
+#	cup=\376G%p2%c%p1%c
+# LOOKS like it will work, but sometimes only one of the two numbers is sent.
+# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'.
+#
+# Alas, there is no cursor upline capability on this display.
+#
+# These entries add some 'sanity stuff' to the clear function.  That is, it
+# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping,
+# and turns off the cursor blinking and stuff like that.
+#
+# NOTE: calling 'beep' turns on the backlight (bell)
+# NOTE: calling 'flash' turns it on and back off (visual bell)
+#
+MtxOrb|Generic Matrix Orbital LCD display,
+	bel=\376B^A, clear=\376X\376C\376R\376K\376T,
+	cnorm=\376K\376T, cub1=\376L, cuf1=\376M,
+	flash=\376B\001$<200>\376F, home=\376H,
+MtxOrb204|20x4 Matrix Orbital LCD display,
+	cols#20, lines#4, use=MtxOrb,
+MtxOrb162|16x2 Matrix Orbital LCD display,
+	cols#16, lines#2, use=MtxOrb,
+# The end
+
+######## OLDER TERMINAL TYPES
+#
+# This section is devoted to older commercial terminal brands that are now
+# discontinued, but known to be still in use or represented by emulations.
+#
+
+#### AT&T (att, tty)
+#
+# This section also includes Teletype-branded VDTs.
+#
+# The AT&T/Teletype terminals group was sold to SunRiver Data Systems (now
+# Boundless Technologies); for details, see the header comment on the ADDS
+# section.
+#
+# These are AT&T's official terminfo entries.  All-caps aliases have been
+# removed.
+#
+att2300|sv80|AT&T 2300 Video Information Terminal 80 column mode,
+	am, eo, mir, msgr, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E[H\E[J, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcbt=\E[Z, kclr=\E[J,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P,
+	kdl1=\E[M, kf1=\E[1r, kf10=\E[10r, kf11=\E[11r,
+	kf12=\E[12r, kf13=\E[13r, kf14=\E[14r, kf15=\E[15r,
+	kf16=\E[16r, kf2=\E[2r, kf3=\E[3r, kf4=\E[4r, kf5=\E[5r,
+	kf6=\E[6r, kf7=\E[7r, kf8=\E[8r, kf9=\E[9r, khome=\E[H,
+	kich1=\E[@, kil1=\E[L, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+	rev=\E[7m, rmir=\E[4l, rmso=\E[m, sgr0=\E[m, smir=\E[4h,
+	smso=\E[7m,
+att2350|AT&T 2350 Video Information Terminal 80 column mode,
+	mc0@, mc4@, mc5@, use=att2300,
+
+# Must setup RETURN KEY - CR, REC'VD LF - INDEX.
+# Seems upward compatible with vt100, plus ins/del line/char.
+# On sgr, the protection parameter is ignored.
+# No check is made to make sure that only 3 parameters are output.
+# 	standout= reverse + half-intensity = 3 | 5.
+# 	bold= reverse + underline = 2 | 3.
+# note that half-bright blinking doesn't look different from normal blinking.
+# NOTE:you must program the function keys first, label second!
+# (att4410: a BSD entry has been seen with the following capabilities:
+# <is2=\E[?6l>, <kf1=\EOc>, <kf2=\EOd>, <kf3=\EOe>, <kf4=\EOg>,
+# <kf6=\EOh>, <kf7=\EOi>, <kf8=\EOj>, -- esr)
+att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1,
+	am, hs, mir, msgr, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=++\,\,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[2;7m, clear=\E[H\E[J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dim=\E[2m,
+	dl1=\E[M, ed=\E[J, el=\E[K, fsl=\E8, home=\E[H, ht=^I,
+	ich1=\E[@, il1=\E[L, ind=^J, invis=\E[8m, is1=\E[?3l\E)0,
+	is3=\E[1;03q   f1           \EOP\E[2;03q   f2           \EOQ\E[3;03q   f3           \EOR\E[4;03q   f4           \EOS\E[5;03q   f5           \EOT\E[6;03q   f6           \EOU\E[7;03q   f7           \EOV\E[8;03q   f8           \EOW,
+	kbs=^H, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT,
+	kf6=\EOU, kf7=\EOV, kf8=\EOW, khome=\E[H, kll=\E[24;1H,
+	ll=\E[24H, nel=^M^J,
+	pfx=\E[%p1%1d;%p2%l%2.2dq   f%p1%1d           %p2%s,
+	pln=\E[%p1%d;00q%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
+	sc=\E7,
+	sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
+	tsl=\E7\E[25;%p1%{1}%+%dH,
+
+att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1,
+	cols#132, wsl#132,
+	is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att5410v1,
+
+att4410|att5410|tty5410|AT&T 4410/5410 80 columns - version 2,
+	OTbs,
+	pfx=\E[%p1%d;%p2%l%02dq   f%p1%d           %p2%s,
+	use=att5410v1,
+
+att5410-w|att4410-w|4410-w|tty5410-w|5410-w|AT&T 4410/5410 in 132 column mode,
+	cols#132, wsl#132,
+	is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att4410,
+
+# 5410 in terms of a vt100
+# (v5410: added <rmam>/<smam> based on init string -- esr)
+v5410|att5410 in terms of a vt100,
+	am, mir, msgr, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^J, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu1=\E[A$<2>, dch1=\E[P,
+	dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ich1=\E[@,
+	il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
+	rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
+	use=vt100+fnkeys,
+
+#
+# Teletype Model 5420 -- A souped up 5410, with multiple windows,
+# even! the 5420 has three modes: scroll, window or page mode
+# this terminfo should work in scroll or window mode, but doesn't
+# take advantage of any of the differences between them.
+#
+# Has memory below (2 lines!)
+# 3 pages of memory (plus some spare)
+# The 5410 sequences for <cup>, <cvvis>, <dch>, <dl>, <ech>, <flash>, <home>,
+# <hpa>, <hts> would work for these, but these work in both scroll and window
+# mode... Unset insert character so insert mode works
+# <is1> sets 80 column mode,
+# <is2> escape sequence:
+# 1) turn off all fonts
+# 2) function keys off, keyboard lock off, control display off,
+#    insert mode off, erasure mode off,
+# 3) full duplex, monitor mode off, send graphics off, nl on lf off
+# 4) reset origin mode
+# 5) set line wraparound
+# 6) exit erasure mode, positional attribute mode, and erasure extent mode
+# 7) clear margins
+# 8) program ENTER to transmit ^J,
+# We use \212 to program the ^J because a bare ^J will get translated by
+# UNIX into a CR/LF. The enter key is needed for AT&T uOMS.
+#     1      2            3              4     5     6    7  8
+# <is3> set screen color to black,
+# No representation in terminfo for the delete word key: kdw1=\Ed
+# Key capabilities assume the power-up send sequence...
+# This <rmcup> is not strictly necessary, but it helps maximize
+# memory usefulness: <rmcup=\Ez>,
+# Alternate sgr0:	<sgr0=\E[m\EW^O>,
+# Alternate sgr:	<sgr=\E[%?%p1%t2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t^N%e^O%;>,
+# smkx programs the SYS PF keys to send a set sequence.
+# It also sets up labels f1, f2, ..., f8, and sends edit keys.
+# This string causes them to send the strings <kf1>-<kf8>
+# when pressed in SYS PF mode.
+# (att4415: I added <rmam>/<smam> based on the init string -- esr)
+att4415|tty5420|att5420|AT&T 4415/5420 80 cols,
+	OTbs, db, mir, xon,
+	lh#2, lm#78, lw#8, nlab#8, wsl#55,
+	cbt=\E[Z, clear=\E[x\E[J, cnorm=\E[11;0j, cub=\E[%p1%dD,
+	cud=\E[%p1%dB, cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dx,
+	cuu=\E[%p1%dA, cvvis=\E[11;1j, dch=\E[%p1%dP,
+	dl=\E[%p1%dM, ech=\E[%p1%ds\E[%p1%dD,
+	flash=\E[?5h$<200>\E[?5l, home=\E[x,
+	hpa=\E[%p1%{1}%+%dG, hts=\EH, ich=\E[%p1%d@, ich1@,
+	il=\E[%p1%dL, indn=\E[%p1%dE, is1=\E[?3l$<100>,
+	is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212,
+	is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M,
+	kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc, kf2=\EOd,
+	kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
+	kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U,
+	kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5,
+	lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?2i, mc4=\E[?9i,
+	mc5=\E[?4i, mrcup=\E[%i%p1%d;%p2%dt,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV,
+	rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[19;0j\E[21;1j\212, rmln=\E|,
+	sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[19;1j\E[21;4j\Eent, smln=\E~, tbc=\E[3g,
+	tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd,
+	use=att4410,
+
+att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols,
+	cols#132, lm#54, wsl#97,
+	is1=\E[?3h$<100>, use=att4415,
+
+att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv,
+	flash=\E[?5l$<200>\E[?5h, is3=\E[?5h, use=att4415,
+
+att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv,
+	cols#132, lm#54, wsl#97,
+	flash=\E[?5l$<200>\E[?5h, is1=\E[?3h$<100>, is3=\E[?5h,
+	use=att4415,
+
+# Note that this mode permits programming USER PF KEYS and labels
+# However, when you program user pf labels you have to reselect
+# user pf keys to make them appear!
+att4415+nl|tty5420+nl|att5420+nl|generic AT&T 4415/5420 changes for not changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@,
+	pfx=\E[%p1%d;%p2%l%02d;0;1q   F%p1%d           %p2%s,
+	pln=\E[%p1%d;0;0;1q%p2%:-16.16s,
+
+att4415-nl|tty5420-nl|att5420-nl|AT&T 4415/5420 without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415,
+
+att4415-rv-nl|tty5420-rv-nl|att5420-rv-nl|AT&T 4415/5420 reverse video without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415-rv,
+
+att4415-w-nl|tty5420-w-nl|att5420-w-nl|AT&T 4415/5420 132 cols without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415-w,
+
+att4415-w-rv-n|tty5420-w-rv-n|att5420-w-rv-n|AT&T 4415/5420 132 cols reverse without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415-w-rv,
+
+att5420_2|AT&T 5420 model 2 80 cols,
+	am, db, hs, mir, msgr, xon,
+	cols#80, it#8, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	blink=\E[5m, cbt=\E[1Z, clear=\EH\EJ, cnorm=\E[11;0j,
+	cr=\EG, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+	cvvis=\E[11;1j, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%ds\E[%p1%dD, ed=\E[0J,
+	el=\E[0K, el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8,
+	home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	indn=\E[%p1%dE, invis=\E[8m,
+	is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;0j\E[6;0j\E[7;0j\E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j\E[29;0j\E[1;24r,
+	kbeg=\Et, kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M,
+	kel=\E[2K, kend=\Ez, kent=^J, kf1=\EOc, kf2=\EOd, kf3=\EOe,
+	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, khome=\E[H,
+	kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U,
+	kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5,
+	lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?;2i, mc4=\E[4i,
+	mc5=\E[5i, mrcup=\E[%i%p1%d;%p2%dt, nel=^M^J,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%d           %p2%s\E~,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s\E~, prot=\EV, rc=\E8,
+	rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmkx=\E[19;0j,
+	rmln=\E|, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
+	sc=\E7,
+	sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smkx=\E[19;1j, smln=\E~,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd,
+att5420_2-w|AT&T 5420 model 2 in 132 column mode,
+	cols#132,
+	is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;1j\E[6;0j\E[7;0j\E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j\E[29;0j\E[1;24r,
+	use=att5420_2,
+
+att4418|att5418|AT&T 5418 80 cols,
+	am, xon,
+	cols#80, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, clear=\E[H\E[2J, cr=^M, cub=\E[%p1%dD,
+	cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H,
+	ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=^J,
+	is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@,
+	kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h,
+	kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I,
+	kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E,
+	kf21=\E[_, kf22=\E[M, kf23=\E[N, kf24=\E[O, kf3=\E[j,
+	kf6=\E[k, kf7=\E[l, kf8=\E[f, kf9=\E[w, khome=\Ec, rc=\E8,
+	rev=\E[7m, rmacs=^O, rmso=\E[m, rmul=\E[m, sc=\E7,
+	sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
+att4418-w|att5418-w|AT&T 5418 132 cols,
+	cols#132,
+	is1=\E[?3h, use=att5418,
+
+att4420|tty4420|teletype 4420,
+	OTbs, da, db, eo, msgr, ul, xon,
+	cols#80, lines#24, lm#72,
+	bel=^G, clear=\EH\EJ, cr=\EG, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\Ez, home=\EH, il1=\EL, ind=\EH\EM\EY7\s,
+	kcbt=\EO, kclr=\EJ, kcub1=^H, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EP, kdl1=\EM, kf0=\EU, kf3=\E@, khome=\EH,
+	kich1=\E\^, kil1=\EL, kind=\ES, kri=\ET,
+	lf0=segment advance, lf3=cursor tab, rmdc@, rmso=\E~,
+	rmul=\EZ, smdc@, smso=\E}, smul=\E\\,
+
+#  The following is a terminfo entry for the Teletype 4424
+#  asynchronous keyboard-display terminal.  It supports
+#  the vi editor.  The terminal must be set up as follows,
+#
+# 	HIGHLIGHT DEFINITION	3-TONE
+# 	DISPLAY FUNCTION	GROUP III
+#
+#  The second entry below provides limited (a la adm3a)
+#  operation under GROUP II.
+#
+#  This must be used with DISPLAY FUNCTION GROUP I or III
+# 	and HIGHLIGHT DEFINITION 3-TONE
+# The terminal has either bold or blink, depending on options
+#
+# (att4424: commented out <smcup>=\E[1m, we don't need bright locked on -- esr)
+att4424|tty4424|teletype 4424,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E3, bold=\E3, cbt=\EO, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\EB, cuf=\E[%p1%dC, cuf1=\EC,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EA,
+	dch=\E[%p1%dP, dch1=\EP, dim=\EW, dl=\E[%p1%dM, dl1=\EM,
+	ed=\EJ, el=\Ez, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E\^, il=\E[%p1%dL, il1=\EL, ind=^J, is2=\E[20l\E[?7h,
+	kbs=^H, kclr=\EJ, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	khome=\E[H, nel=\EE, rev=\E}, ri=\ET, rmacs=\E(B, rmso=\E~,
+	rmul=\EZ,
+	sgr=\E[%?%p1%t7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p6%p4%|%t;5%;%?%p5%t;0%;m,
+	sgr0=\EX\E~\EZ\E4\E(B, smacs=\E(0, smso=\E}, smul=\E\\,
+	tbc=\EF,
+
+att4424-1|tty4424-1|teletype 4424 in display function group I,
+	kclr@, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome@,
+	use=att4424,
+
+# This entry is not one of AT&T's official ones, it was translated from the
+# 4.4BSD termcap file.  The highlight strings are different from att4424.
+# I have no idea why this is -- older firmware version, maybe?
+# The following two lines are the comment originally attached to the entry:
+# This entry appears to avoid the top line - I have no idea why.
+# From: jwb Wed Mar 31 13:25:09 1982 remote from ihuxp
+att4424m|tty4424m|teletype 4424M,
+	am, da, db, mir,
+	cols#80, it#8, lines#23,
+	bel=^G, clear=\E[2;H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%2d;%p2%2dH\E[B, cuu1=\E[A, dch1=\EP,
+	dl1=\EM, el=\E[K, ht=^I, ich1=\E\^, il1=\EL, ind=^J, ip=$<2/>,
+	is2=\E[m\E[2;24r, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, khome=\E[H, nel=^M^J, ri=\ET, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+
+# The Teletype 5425 is really version 2 of the Teletype 5420. It
+# is quite similar, except for some minor differences. No page
+# mode, for example, so all of the <cup> sequences used above have
+# to change back to what's being used for the 5410. Many of the
+# option settings have changed their numbering as well.
+#
+# This has been tested on a preliminary model.
+#
+# (att5425: added <rmam>/<smam> based on the init string -- esr)
+att5425|tty5425|att4425|AT&T 4425/5425,
+	am, da, db, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
+	clear=\E[H\E[J, cnorm=\E[12;0j, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[12;1j, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%ds\E[%p1%dD, ed=\E[J,
+	el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H,
+	hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dE,
+	invis=\E[8m, is1=\E<\E[?3l$<100>,
+	is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[25;1j\212,
+	is3=\E[?5l, kbeg=\Et, kbs=^H, kcbt=\E[Z, kclr=\E[J,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P,
+	kdl1=\E[M, kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc,
+	kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi,
+	kf8=\EOj, khome=\E[H, kich1=\E[4h, kil1=\E[L, kind=\E[T,
+	kri=\E[S, ll=\E[24H, mc0=\E[?2i, mc4=\E[?9i, mc5=\E[?4i,
+	nel=^M^J,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, rc=\E8,
+	rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E[21;0j\E[25;1j\212, rmln=\E|,
+	rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7,
+	sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH,
+	vpa=\E[%p1%{1}%+%dd,
+
+att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels,
+	smkx=\E[21;1j\E[25;4j\Eent, use=att4425,
+
+att5425-w|att4425-w|tty5425-w|teletype 4425/5425 in 132 column mode,
+	cols#132, lm#54, wsl#97,
+	is1=\E[?3h$<100>, use=tty5425,
+
+# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:.
+# I also added <rmam>/<smam> -- esr)
+att4426|tty4426|teletype 4426S,
+	am, da, db, xon,
+	cols#80, lines#24, lm#48,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[5m, clear=\E[H\E[2J\E[1U\E[H\E[2J\E[1V,
+	cr=^M, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\EP,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[0K, home=\E[H,
+	hpa=\E[%p1%dG, ht=^I, hts=\E1, ich=\E[%p1%d@, ich1=\E\^,
+	il=\E[%p1%dL, il1=\EL, ind=^J, indn=\E[%p1%dS,
+	is1=\Ec\E[?7h, is2=\E[m\E[1;24r, kbs=^H, kcbt=\EO,
+	kclr=\E[2J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, khome=\E[H, kll=\E[24;1H, ll=\E[24H,
+	nel=^M^J, rc=\E8, rev=\E[7m, ri=\ET, rin=\E[%p1%dT,
+	rmacs=\E(B, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+	rs2=\Ec\E[?3l\E[2;0y, sc=\E7, sgr0=\E[m\E(B, smacs=\E(0,
+	smam=\E[?7h, smso=\E[5m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%p1%dd,
+
+# Terminfo entry for the AT&T 510 A Personal Terminal
+# Function keys 9 - 16 are available only after the
+# screen labeled (soft keys/action blocks) are labeled.  Function key
+# 9 corresponds to the leftmost touch target on the screen,
+# function key 16 corresponds to the rightmost.
+#
+# This entry is based on one done by Ernie Rice at Summit, NJ and
+# changed by Anne Gallup, Skokie, IL, ttrdc!anne
+att510a|bct510a|AT&T 510A Personal Terminal,
+	am, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lw#7, nlab#8,
+	acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
+	civis=\E[11;0|, clear=\E[H\E[J, cnorm=\E[11;3|, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP,
+	dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J,
+	el=\E[0K, el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H, ht=^I,
+	hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, is1=\E(B\E)1\E[2l,
+	is3=\E[21;1|\212, kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm,
+	kf10=\EOd, kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh,
+	kf15=\EOi, kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe,
+	kf6=\ENf, kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T,
+	mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, nel=\EE,
+	pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmkx=\E[19;0|, rmso=\E[m, rmul=\E[m, sc=\E7,
+	sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smkx=\E[19;1|, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g,
+
+# Terminfo entry for the AT&T 510 D Personal Terminal
+# Function keys 9 through 16 are accessed by bringing up the
+# system blocks.
+# Function key 9 corresponds to the leftmost touch target on the screen,
+# function key 16 corresponds to the rightmost.
+#
+# There are problems with soft key labeling.  These are due to
+# strangenesses in the native terminal that are impossible to
+# describe in a terminfo.
+att510d|bct510d|AT&T 510D Personal Terminal,
+	am, da, db, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lm#48, lw#7, nlab#8,
+	acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
+	clear=\E[H\E[J, cnorm=\E[11;3|, cr=^M, cub=\E[%p1%dD,
+	cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K,
+	el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H,
+	hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
+	invis=\E[8m, is1=\E(B\E)1\E[5;0|, is3=\E[21;1|\212,
+	kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, kf10=\EOd,
+	kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh, kf15=\EOi,
+	kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, kf6=\ENf,
+	kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, ll=\E#2,
+	mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, mgc=\E\:, nel=\EE,
+	pln=\E[%p1%dp%p2%:-16s, rc=\E8,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM,
+	rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|,
+	rmln=\E<, rmso=\E[m, rmul=\E[m, rmxon=\E[29;1|,
+	rs2=\E[5;0|, sc=\E7,
+	sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smgl=\E4, smgr=\E5, smir=\E[4h,
+	smkx=\E[19;1|, smln=\E?, smso=\E[7m, smul=\E[4m,
+	smxon=\E[29;0|, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
+
+# (att500: I merged this with the att513 entry, att500 just used att513 -- esr)
+att500|att513|AT&T 513 using page mode,
+	am, chts, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lw#8, nlab#8,
+	acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z,
+	clear=\E[H\E[J, cnorm=\E[11;0|, cr=^M,
+	csr=%i\E[%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[11;1|, dch=\E[%p1%dP, dch1=\E[P$<1>, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)1, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	indn=\E[%p1%dE, invis=\E[8m,
+	is1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l,
+	kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
+	kFND=\EOX, kHLP=\EOM, kHOM=\ENM, kIC=\ENJ, kLFT=\ENK,
+	kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, kOPT=\EOR, kPRT=\EOZ,
+	kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, kRIT=\ENL, kRPL=\EOY,
+	kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, kbs=^H, kcan=\EOw,
+	kcbt=\E[Z, kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd,
+	kcrt=\EOn, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=\Eent,
+	kext=\EOk, kf1=\EOc, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg,
+	kf6=\EOh, kf7=\EOi, kf8=\EOj, kfnd=\EOx, khlp=\EOm,
+	khome=\E[H, kich1=\ENj, kind=\E[S, kmov=\ENc, kmrk=\ENi,
+	kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr,
+	kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb,
+	kres=\EOq, krfr=\ENa, kri=\E[T, krpl=\EOy, krst=\EOB,
+	ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, ll=\E#2,
+	mc0=\E[?98l\E[0i, mc4=\E[?98l\E[?8i, mc5=\E[?98l\E[?4i,
+	nel=\EE,
+	pfkey=\E[%p1%d;%p2%l%d;3;0p   F%p1%d           %p2%s,
+	pfloc=\E[%p1%d;%p2%l%d;2;0p   F%p1%d           %p2%s,
+	pfx=\E[%p1%d;%p2%l%d;1;0p   F%p1%d           %p2%s,
+	pln=\E[%p1%dp%p2%:-16s, rc=\E8,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM,
+	rin=\E[%p1%dF, rmacs=^O, rmir=\E[4l,
+	rmkx=\E[19;0|\E[21;1|\212, rmln=\E<, rmso=\E[m,
+	rmul=\E[m,
+	rs1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l\E[2;0|\E[6;1|\E[8;0|\E[19;0|\E[1{\E[?99l,
+	rs2=\E[5;0|, sc=\E7,
+	sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smir=\E[4h,
+	smkx=\E[19;1|\E[21;4|\Eent, smln=\E?, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
+
+# 01-07-88
+# printer must be set to EMUL ANSI to accept ESC codes
+# <cuu1> stops at top margin
+# <is1> sets cpi 10,lpi 6,form 66,left 1,right 132,top 1,bottom 66,font
+#	and alt font ascii,wrap on,tabs cleared
+# <is2> disables newline on LF,Emphasized off
+# The <u0> capability sets form length
+att5310|att5320|AT&T Model 53210 or 5320 matrix printer,
+	xhpa, xvpa,
+	bufsz#8192, cols#132, cps#120, it#8, lines#66, orc#10,
+	orhi#100, orl#12, orvi#72,
+	cpi=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w%e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O%t\E[4w%e%p1%{6}%=%t\E[6w%e%p1%{7}%=%t\E[7w%e%p1%{8}%=%t\E[8w%;,
+	cr=^M,
+	csnm=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tenglish%e%p1%{2}%=%tfinnish%e%p1%{3}%=%tjapanese%e%p1%{4}%=%tnorwegian%e%p1%{5}%=%tswedish%e%p1%{6}%=%tgermanic%e%p1%{7}%=%tfrench%e%p1%{8}%=%tcanadian_french%e%p1%{9}%=%titalian%e%p1%{10}%=%tspanish%e%p1%{11}%=%tline%e%p1%{12}%=%tsecurity%e%p1%{13}%=%tebcdic%e%p1%{14}%=%tapl%e%p1%{15}%=%tmosaic%;,
+	cud=\E[%p1%de, cud1=^J, cuf=\E[%p1%da, cuf1=\s, cuu1=\EM,
+	ff=^L, hpa=\E[%p1%d`, ht=^I, is1=\Ec, is2=\E[20l\r,
+	lpi=%?%p1%{2}%=%t\E[4z%e%p1%{3}%=%t\E[5z%e%p1%{4}%=%t\E[6z%e%p1%{6}%=%t\E[z%e%p1%{8}%=%t\E[2z%e%p1%{12}%=%t\E[3z%;,
+	rshm=\E[m,
+	scs=%?%p1%{0}%=%t\E(B%e%p1%{1}%=%t\E(A%e%p1%{2}%=%t\E(C%e%p1%{3}%=%t\E(D%e%p1%{4}%=%t\E(E%e%p1%{5}%=%t\E(H%e%p1%{6}%=%t\E(K%e%p1%{7}%=%t\E(R%e%p1%{8}%=%t\E(Q%e%p1%{9}%=%t\E(Y%e%p1%{10}%=%t\E(Z%e%p1%{11}%=%t\E(0%e%p1%{12}%=%t\E(1%e%p1%{13}%=%t\E(3%e%p1%{14}%=%t\E(8%e%p1%{15}%=%t\E(}%;,
+	smgbp=\E[;%p1%dr, smglp=\E[%{1}%p1%+%ds,
+	smgrp=\E[;%{1}%p1%+%ds, smgtp=\E[%p1%dr, sshm=\E[5m,
+	u0=\E[%p1%dt, vpa=\E[%p1%dd,
+
+# Teletype 5620, firmware version 1.1 (8;7;3) or earlier from BRL
+# The following SET-UP modes are assumed for normal operation:
+#	CR_DEF=CR	NL_DEF=INDEX	DUPLEX=FULL
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements.  This termcap description is for the Resident Terminal Mode.
+# No delays specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# The BRL entry also said: UNSAFE :ll=\E[70H:
+att5620-1|tty5620-1|dmd1|Teletype 5620 with old ROMs,
+	am, xon,
+	cols#88, it#8, lines#70, vt#3,
+	bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=^H, kclr=\E[2J,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H,
+	kll=\E[70;1H, nel=^M^J, rc=\E8, ri=\E[T, rin=\E[%p1%dT,
+	rs1=\Ec, sc=\E7,
+
+# 5620 terminfo  (2.0 or later ROMS with char attributes)
+# The following SET-UP modes are assumed for normal operation:
+#	DUPLEX=FULL	GEN_FLOW=ON	NEWLINE=INDEX	RETURN=CR
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements.  This termcap description is for Resident Terminal Mode.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# assumptions: <ind> (scroll forward one line) is only done at screen bottom
+# Be aware that older versions of the dmd have a firmware bug that affects
+# parameter defaulting; for this terminal, the 0 in \E[0m is not optional.
+# <msgr> is from an otherwise inferior BRL for this terminal.  That entry
+# also has <ll>=\E[70H commented out and marked unsafe.
+# For more, see the 5620 FAQ maintained by David Breneman <daveb@dgtl.com>.
+att5620|dmd|tty5620|ttydmd|5620|5620 terminal 88 columns,
+	OTbs, am, msgr, npc, xon,
+	cols#88, it#8, lines#70,
+	bel=^G, bold=\E[2m, clear=\E[H\E[J, cr=^M, cub1=^H,
+	cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, kbs=^H, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kll=\E[70;1H, nel=^J,
+	pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\E[T,
+	rin=\E[%p1%dT, rmso=\E[0m, rmul=\E[0m, rs1=\Ec, sc=\E7,
+	sgr0=\E[0m, smso=\E[7m, smul=\E[4m,
+att5620-24|tty5620-24|dmd-24|teletype dmd 5620 in a 24x80 layer,
+	lines#24, use=att5620,
+att5620-34|tty5620-34|dmd-34|teletype dmd 5620 in a 34x80 layer,
+	lines#34, use=att5620,
+# 5620 layer running the "S" system's downloaded graphics handler:
+att5620-s|tty5620-s|layer|vitty|5620 S layer,
+	OTbs, OTpt, am,
+	cols#80, it#8, lines#72,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=^K, dl1=\ED,
+	el=\EK, flash=\E^G, ht=^I, il1=\EI, ind=^J, kbs=^H, kclr=\E[2J,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H,
+	kll=\E[70;1H,
+
+# Entries for <kf15> thru <kf28> refer to the shifted system pf keys.
+#
+# Entries for <kf29> thru <kf46> refer to the alternate keypad mode
+# keys:  = * / + 7 8 9 - 4 5 6 , 1 2 3 0 . ENTER
+att605|AT&T 605 80 column 102key keyboard,
+	am, eo, xon,
+	cols#80, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K, el1=\E[1K, fsl=\E8, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
+	il1=\E[L, ind=^J, invis=\E[8m,
+	is1=\E[8;0|\E[?\E[13;20l\E[?\E[12h, is2=\E[m\017,
+	kLFT=\E[ A, kRIT=\E[ @, kbs=^H, kcbt=\E[Z, kclr=\E[2J,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P,
+	kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, kf11=\ENq,
+	kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD,
+	kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH,
+	kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ,
+	kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe,
+	kf30=\EOQ, kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx,
+	kf35=\EOy, kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv,
+	kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs,
+	kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh,
+	kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, kich1=\E[@,
+	kil1=\E[L, kind=\E[S, knp=\E[U, kpp=\E[V, ll=\E[24H,
+	mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
+	rmacs=^O, rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m,
+	rs2=\Ec\E[?3l, sc=\E7, sgr0=\E[m\017, smacs=\E)0\016,
+	smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m,
+	tsl=\E7\E[25;%i%p1%dx,
+att605-pc|ATT 605 in pc term mode,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
+	cbt=\E[Z, cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A,
+	dch1=\E[P, dl1=\E[M, ich1=\E[@, il1=\E[L, kcbt=\E[Z,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P,
+	kdl1=\E[M, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N,
+	kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
+	kf9=\E[U, khome=\E[H, kich1=\E[@, knp=\E[G, kpp=\E[I,
+	rmsc=\E[50;0|$<400>, smsc=\E[?11l\E[50;1|$<250>,
+	xoffc=g, xonc=e, use=att605,
+att605-w|AT&T 605-w 132 column 102 key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h\E(B\E)0,
+	use=att605,
+# (att610: I added <rmam>/<smam> based on the init string.  I also
+# added <indn> and <rin> because the BSD file says the att615s have them,
+# and the 615 is like a 610 with a big keyboard, and most of their other
+# smart terminals support the same sequence -- esr)
+att610|AT&T 610; 80 column; 98key keyboard,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	indn=\E[%p1%dS, invis=\E[8m,
+	is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0,
+	is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A, kbs=^H,
+	kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr,
+	kf13=\ENs, kf14=\ENt, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg,
+	kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H,
+	kind=\E[S, kri=\E[T, ll=\E[24H, mc4=\E[?4i, mc5=\E[?5i,
+	nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
+	ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
+	rmln=\E[2p, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smln=\E[p, smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx,
+att610-w|AT&T 610; 132 column; 98key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att610,
+
+att610-103k|AT&T 610; 80 column; 103key keyboard,
+	kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
+	kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH,
+	kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ,
+	kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9,
+	kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
+	kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=^M,
+	kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf9@, kfnd=\EOx,
+	khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi, kmsg=\EOl,
+	knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, kpp=\E[V,
+	kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, kres=\EOq,
+	krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB, ksav=\EOo,
+	kslt=\ENI, kspd=\EOp, kund=\EOs, use=att610,
+att610-103k-w|AT&T 610; 132 column; 103key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att610-103k,
+att615|AT&T 615; 80 column; 98key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE,
+	kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ,
+	kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS,
+	kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS,
+	kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt,
+	kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr,
+	kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610,
+att615-w|AT&T 615; 132 column; 98key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE,
+	kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ,
+	kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS,
+	kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS,
+	kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt,
+	kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr,
+	kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610-w,
+att615-103k|AT&T 615; 80 column; 103key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, use=att610-103k,
+att615-103k-w|AT&T 615; 132 column; 103key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, use=att610-103k-w,
+# (att620: I added <rmam>/<smam> based on the init string and
+# <rin>/<indn> from a BSD termcap -- esr)
+att620|AT&T 620; 80 column; 98key keyboard,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	indn=\E[%p1%dS, invis=\E[8m,
+	is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h,
+	is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kbs=^H,
+	kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr,
+	kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD, kf17=\EOE,
+	kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH, kf21=\EOI,
+	kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR,
+	kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe, kf30=\EOQ,
+	kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx, kf35=\EOy,
+	kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv, kf4=\EOf,
+	kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs, kf44=\EOp,
+	kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
+	kf9=\ENo, khome=\E[H, kind=\E[S, kri=\E[T, ll=\E[24H,
+	mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
+	ri=\EM, rin=\E[%p1%dT, rmacs=\E(B\017, rmam=\E[?7l,
+	rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m,
+	rs2=\Ec\E[?3l, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\E)0\016%e\E(B\017%;,
+	sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h,
+	smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m,
+	tsl=\E7\E[25;%i%p1%dx,
+att620-w|AT&T 620; 132 column; 98key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att620,
+att620-103k|AT&T 620; 80 column; 103key keyboard,
+	kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
+	kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH,
+	kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ,
+	kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9,
+	kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
+	kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=^M,
+	kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, kf17@,
+	kf18@, kf19@, kf20@, kf21@, kf22@, kf23@, kf24@, kf25@, kf26@, kf27@,
+	kf28@, kf29@, kf30@, kf31@, kf32@, kf33@, kf34@, kf35@, kf36@, kf37@,
+	kf38@, kf39@, kf40@, kf41@, kf42@, kf43@, kf44@, kf45@, kf46@, kf9@,
+	kfnd=\EOx, khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi,
+	kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr,
+	kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb,
+	kres=\EOq, krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB,
+	ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, use=att620,
+
+att620-103k-w|AT&T 620; 132 column; 103key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att620-103k,
+
+# AT&T (formerly Teletype) 630 Multi-Tasking Graphics terminal
+# The following SETUP modes are assumed for normal operation:
+#	Local_Echo=Off	Gen_Flow=On	Return=CR	Received_Newline=LF
+#	Font_Size=Large		Non-Layers_Window_Cols=80
+#				Non-Layers_Window_Rows=60
+# Other SETUP modes may be set for operator convenience or communication
+# requirements.  Some capabilities assume a printer attached to the Aux EIA
+# port.  This termcap description is for the Fixed Non-Layers Window.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# (att630: added <ich1>, <blink> and <dim> from a BSD termcap file -- esr)
+att630|AT&T 630 windowing terminal,
+	OTbs, am, da, db, mir, msgr, npc, xon,
+	cols#80, it#8, lines#60, lm#0,
+	bel=^G, blink=\E[5m, cbt=\E[Z, clear=\E[H\E[J, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS, is2=\E[m,
+	kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kent=^M,
+	kf10=\ENp, kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt,
+	kf15=\ENu, kf16=\ENv, kf17=\ENw, kf18=\ENx, kf19=\ENy,
+	kf20=\ENz, kf21=\EN{, kf22=\EN|, kf23=\EN}, kf24=\EN~,
+	kf9=\ENo, khome=\E[H, kich1=\E[@, kil1=\E[L, mc4=\E[?4i,
+	mc5=\E[?5i, nel=^M^J, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8,
+	rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmir=\E[4l, rmso=\E[m,
+	rmul=\E[m, rs2=\Ec, sc=\E7,
+	sgr=\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%p4%|%t;7%;m,
+	sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines,
+	lines#24, use=att630,
+
+# This is the att700 entry for 700 native emulation of the AT&T 700
+# terminal.  Comments are relative to changes from the 605V2 entry and
+# att730 on which the entry is based.  Comments show the terminfo
+# capability name, termcap name, and description.
+#
+# Here is what's going onm in the init string:
+#	ESC [ 50;4|	set 700 native mode (really is 605)
+# x	ESC [ 56;ps| 	set lines to 24: ps=0; 40: ps=1 (plus status line)
+#	ESC [ 53;0|	set GenFlow to Xon/Xoff
+#	ESC [ 8 ;0|	set CR on NL
+# x	ESC [ ? 3 l/h	set workspace: 80 col(l); 132 col(h)
+#	ESC [ ? 4 l	jump scroll
+#	ESC [ ? 5 l/h	video: normal (l); reverse (h)
+#	ESC [ ?13 l	Labels on
+#	ESC [ ?15 l	parity check = no
+#	ESC [ 13 l	monitor mode off
+#	ESC [ 20 l	LF on NL (not CRLF on NL)
+#	ESC [ ? 7 h	autowrap on
+#	ESC [ 12 h	local echo off
+#	ESC ( B		GO = ASCII
+#	ESC ) 0		G1 = Special Char & Line Drawing
+#	ESC [ ? 31 l	Set 7 bit controls
+#
+# Note: Most terminals, especially the 600 family use Reverse Video for
+# standout mode.  DEC also uses reverse video.  The VT100 uses bold in addition
+# Assume we should stay with reverse video for 70..  However, the 605V2 exits
+# standout mode with \E[m (all normal attributes).  The 730 entry simply
+# exits reverse video which would leave other current attributes intact.  It
+# was assumed the 730 entry to be more correct so rmso has changed.  The
+# 605V2 has no sequences to turn individual attributes off, thus its setting
+# and the rmso/smso settings from the 730.
+#
+# Note: For the same reason as above in rmso I changed exit under-score mode
+# to specifically turn off underscore, rather than return to all normal
+# attributes
+#
+# Note: The following pkey_xmit is taken from the 605V2 which contained the
+# capability as pfxl.  It was changed here to pfx since pfxl
+# will only compile successfully with Unix 4.0 tic.  Also note that pfx only
+# allows strings to be parameters and label values must be programmed as
+# constant strings.  Supposedly the pfxl of Version 4.0 allows both labels
+# and strings to be parameters.  The 605V2 pfx entry should be examined later
+# in this regard. For reference the 730 pfxl entry is shown here for comparison
+# 730 pfx entry:
+#     pfxl=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq\s\s\s
+# SYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s,
+#
+# (for 4.0 tic)
+#     pfxl=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t   F%p1%1d           %;%p2%s,
+#
+# (for <4.0 tic)
+#     pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t   F%p1%1d           %;%p2%s,
+#
+# From the AT&T 705 Multi-tasking terminal user's guide Page 8-8,8-9
+#
+# Port1 Interface
+#
+# modular 10 pin Connector
+# Left side       Right side
+# Pin 1 2 3 4 5 6 7 8 9 10
+#
+#        Key (notch) at bottom
+#
+# Pin    1 DSR
+#        3 DCD
+#        4 DTR
+#        5 Sig Ground
+#        6 RD
+#        7 SD
+#        8 CTS
+#        9 RTS
+#        10 Frame Ground
+#
+# The manual is 189 pages and is loaded with details about the escape codes,
+# etc..... Available from AT&T CIC 800-432-6600...
+# ask for Document number 999-300-660..
+#
+att700|AT&T 700 24x80 column display w/102key keyboard,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fln=4\,4,
+	fsl=\E8, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED, invis=\E[8m,
+	is2=\E[50;4|\E[53;0|\E[8;0|\E[?4;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0\E[?31l\E[0m\017,
+	is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kbs=^H, kcbt=\E[Z,
+	kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[P, kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp,
+	kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC,
+	kf16=\EOD, kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd,
+	kf20=\EOH, kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP,
+	kf25=\ENQ, kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOq,
+	kf3=\EOe, kf30=\EOr, kf31=\EOs, kf32=\EOt, kf33=\EOu,
+	kf34=\EOv, kf35=\EOw, kf36=\EOx, kf37=\EOy, kf38=\EOu,
+	kf39=\EOv, kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr,
+	kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg,
+	kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H,
+	kich1=\E[@, kil1=\E[L, knp=\E[U, kpp=\E[V, ll=\E[24H,
+	mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t   F%p1%1d           %;%p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m,
+	rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smir=\E[4h, smln=\E[p, smso=\E[7m,
+	smul=\E[4m, smxon=\E[53;0|, tbc=\E[3g,
+	tsl=\E7\E[99;%i%p1%dx,
+
+# This entry was modified 3/13/90 by JWE.
+# fixes include additions of <enacs>, correcting <rep>, and modification
+# of <kHOM>.  (See comments below)
+# att730 has status line of 80 chars
+# These were commented out: <indn=\E[%p1%dS>, <rin=\E[%p1%dT>,
+# the <kf25> and up keys are used for shifted system Fkeys
+# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is
+# currently the same as <khome> (unshifted HOME or \E[H).  On the 102, 102+1
+# and 122 key keyboards, the 730's translation is \E[2J.  For consistency
+# <kHOM> has been commented out.  The user can uncomment <kHOM> if using the
+# 102, 102+1, or 122 key keyboards
+#       kHOM=\E[2J,
+# (att730: I added <rmam>/<smam> based on the init string -- esr)
+att730|AT&T 730 windowing terminal,
+	am, da, db, eslok, hs, mir, msgr, npc, xenl, xon,
+	cols#80, it#8, lh#2, lines#60, lm#0, lw#8, nlab#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+	enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fsl=\E8,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+	ind=\ED, invis=\E[8m,
+	is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)B,
+	is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A, kbs=^H,
+	kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr,
+	kf13=\ENs, kf14=\ENt, kf15=\ENu, kf16=\ENv, kf17=\ENw,
+	kf18=\ENx, kf19=\ENy, kf2=\EOd, kf20=\ENz, kf21=\EN{,
+	kf22=\EN|, kf23=\EN}, kf24=\EN~, kf25=\EOC, kf26=\EOD,
+	kf27=\EOE, kf28=\EOF, kf29=\EOG, kf3=\EOe, kf30=\EOH,
+	kf31=\EOI, kf32=\EOJ, kf33=\ENO, kf34=\ENP, kf35=\ENQ,
+	kf36=\ENR, kf37=\ENS, kf38=\ENT, kf39=\EOU, kf4=\EOf,
+	kf40=\EOV, kf41=\EOW, kf42=\EOX, kf43=\EOY, kf44=\EOZ,
+	kf45=\EO[, kf46=\EO\s, kf47=\EO], kf48=\EO\^, kf5=\EOg,
+	kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H,
+	kich1=\E[@, kil1=\E[L, kind=\E[S, kri=\E[T,
+	mc0=\E[?19h\E[0i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
+	pfx=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq   SYS     F%p1%:-2d  %e;0;3q%;%p2%s,
+	pfxl=\E[%p1%d;%p2%l%02d;0;0q%p3%:-16.16s%p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h, rmso=\E[27m,
+	rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l, sc=\E7,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smln=\E[?13l, smso=\E[7m, smul=\E[4m, smxon=\E[?21h,
+	swidm=\E#6, tsl=\E7\E[;%i%p1%dx,
+att730-41|730MTG-41|AT&T 730-41 windowing terminal Version,
+	lines#41, use=att730,
+att730-24|730MTG-24|AT&T 730-24 windowing terminal Version,
+	lines#24, use=att730,
+att730r|730MTGr|AT&T 730 rev video windowing terminal Version,
+	flash=\E[?5l$<200>\E[?5h,
+	is1=\E[8;0|\E[?3;4;13;15l\E[?5h\E[13;20l\E[?7h\E[12h\E(B\E)B,
+	use=att730,
+att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal Version,
+	lines#41, use=att730r,
+att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version,
+	lines#24, use=att730r,
+
+# The following represents the screen layout along with the associated
+# bezel buttons for the 5430/pt505 terminal. The "kf" designations do
+# not appear on the screen but are shown to reference the bezel buttons.
+# The "CMD", "MAIL", and "REDRAW" buttons are shown in their approximate
+# position relative to the screen.
+#
+#
+#
+#      +----------------------------------------------------------------+
+#      |                                                                |
+# XXXX | kf0                                                       kf24 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf1                                                       kf23 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf2                                                       kf22 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf3                                                       kf21 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf4                                                       kf20 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf5                                                       kf19 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf6                                                       kf18 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX |                                                                | XXXX
+#      |                                                                |
+#      |                                                                |
+#      +----------------------------------------------------------------+
+#
+#          XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX
+#
+# Note: XXXX represents the screen buttons
+#                                                          CMD   REDRAW
+#
+#                                                          MAIL
+#
+# version 1 note:
+#	The character string sent by key 'kf26' may be user programmable
+#       to send either \E[16s, or \E[26s.
+#       The character string sent by key 'krfr' may be user programmable
+#       to send either \E[17s, or \E[27s.
+#
+# Depression of the "CMD" key sends    \E!    (kcmd)
+# Depression of the "MAIL" key sends   \E[26s (kf26)
+# "REDRAW" same as "REFRESH" (krfr)
+#
+# "kf" functions adds carriage return to output string if terminal is in
+# 'new line' mode.
+#
+# The following are functions not covered in the table above:
+#
+#       Set keyboard character (SKC): \EPn1;Pn2w
+#                       Pn1= 0 Back Space key
+#                       Pn1= 1 Break key
+#                       Pn2=   Program char (hex)
+#
+#       Screen Definition (SDF): \E[Pn1;Pn2;Pn3;Pn4;Pn5t
+#                       Pn1=     Window number (1-39)
+#                       Pn2-Pn5= Y;X;Y;X coordinates
+#
+#       Screen Selection (SSL): \E[Pnu
+#                       Pn= Window number
+#
+#       Set Terminal Modes (SM): \E[Pnh
+#                       Pn= 3 Graphics mode
+#                       Pn= > Cursor blink
+#                       Pn= < Enter new line mode
+#                       Pn= = Enter reverse insert/replace mode
+#                       Pn= ? Enter no scroll mode
+#
+#       Reset Terminal Mode (RM): \E[Pnl
+#                       Pn= 3 Exit graphics mode
+#                       Pn= > Exit cursor blink
+#                       Pn= < Exit new line mode
+#                       Pn= = Exit reverse insert/replace mode
+#                       Pn= ? Exit no scroll mode
+#
+#       Screen Status Report (SSR): \E[Pnp
+#                       Pn= 0 Request current window number
+#                       Pn= 1 Request current window dimensions
+#
+#       Device Status Report (DSR): \E[6n    Request cursor position
+#
+#       Call Status Report (CSR): \E[Pnv
+#                       Pn= 0 Call failed
+#                       Pn= 1 Call successful
+#
+#       Transparent Button String (TBS): \E[Pn1;Pn2;Pn3;{string
+#                       Pn1= Button number to be loaded
+#                       Pn2= Character count of "string"
+#                       Pn3= Key mode being loaded:
+#                               0= Unshifted
+#                               1= Shifted
+#                               2= Control
+#                       String= Text string (15 chars max)
+#
+#       Screen Number Report (SNR): \E[Pnp
+#                       Pn= Screen number
+#
+#       Screen Dimension Report (SDR): \E[Pn1;Pn2r
+#                       Pn1= Number of rows available in window
+#                       Pn2= Number of columns available in window
+#
+#       Cursor Position Report (CPR): \E[Pn1;Pn2R
+#                       Pn1= "Y" Position of cursor
+#                       Pn2= "X" Position of cursor
+#
+#       Request Answer Back (RAB): \E[c
+#
+#       Answer Back Response (ABR): \E[?;*;30;VSV
+#                       *=  0 No printer available
+#                       *=  2 Printer available
+#                       V=  Software version number
+#                       SV= Software sub version number
+#	(printer-available field not documented in v1)
+#
+#       Screen Alignment Aid: \En
+#
+#       Bell (lower pitch): \E[x
+#
+#       Dial Phone Number: \EPdstring\
+#                       string= Phone number to be dialed
+#
+#       Set Phone Labels: \EPpstring\
+#                       string= Label for phone buttons
+#
+#       Set Clock: \EPchour;minute;second\
+#
+#       Position Clock: \EPsY;X\
+#                       Y= "Y" coordinate
+#                       X= "X" coordinate
+#
+#       Delete Clock: \Epr\
+#
+#       Programming The Function Buttons: \EPfPn;string\
+#                       Pn= Button number (00-06, 18-24)
+#                                         (kf00-kf06, kf18-kf24)
+#                       string= Text to sent on button depression
+#
+# The following in version 2 only:
+#
+#       Request For Local Directory Data: \EPp12;\
+#
+#       Local Directory Data to host: \EPp11;LOCAL...DIRECTORY...DATA\
+#
+#	Request for Local Directory Data in print format: \EPp13;\
+#
+#	Enable 'Prt on Line' mode: \022 (DC2)
+#
+#	Disable 'Prt on Line' mode: \024 (DC4)
+#
+
+# 05-Aug-86:
+# The following Terminfo entry describes functions which are supported by
+# the AT&T 5430/pt505 terminal software version 2 and later.
+att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal,
+	am, xon,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H,
+	cnorm=\E[>l, cr=^M, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[>h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[0J, el=\E[0K, el1=\E[2K, home=\E[H, ht=^I,
+	il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[<l\E[4l\E[>l\E[=l\E[?l,
+	kbs=^H, kcmd=\E!, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf0=\E[00s, kf1=\E[01s, kf18=\E[18s,
+	kf19=\E[19s, kf2=\E[02s, kf20=\E[20s, kf21=\E[21s,
+	kf22=\E[22s, kf23=\E[23s, kf24=\E[24s, kf26=\E[26s,
+	kf3=\E[03s, kf4=\E[04s, kf5=\E[05s, kf6=\E[06s,
+	krfr=\E[27s, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m,
+	rmacs=\E[10m, rmam=\E[11;1j, rmir=\E[4l, rmso=\E[m,
+	rmul=\E[m, rs1=\Ec, sc=\E7, sgr0=\E[m, smacs=\E[11m,
+	smam=\E[11;0j, smir=\E[4h, smso=\E[1m, smul=\E[4m,
+
+# The following Terminfo entry describes functions which are supported by
+# the AT&T 5430/pt505 terminal software version 1.
+att505-24|pt505-24|gs5430-24|AT&T PT505 or 5430 GETSET version 1 24 lines,
+	lines#24,
+	mc4@, mc5@, rc@, rmam@, sc@, smam@, use=att505,
+tt505-22|pt505-22|gs5430-22|AT&T PT505 or 5430 GETSET version 1 22 lines,
+	lines#22, use=att505,
+#
+#### ------------------ TERMINFO FILE CAN BE SPLIT HERE ---------------------
+# This cut mark helps make life less painful for people running ncurses tic
+# on machines with relatively little RAM.  The file can be broken in half here
+# cleanly and compiled in sections -- no `use' references cross this cut
+# going forward.
+#
+
+#### Ampex (Dialogue)
+#
+# Yes, these are the same people who are better-known for making audio- and
+# videotape.  I'm told they are located in Redwood City, CA.
+#
+
+# From: <cbosg!ucbvax!SRC:george> Fri Sep 11 22:38:32 1981
+# (ampex80: some capabilities merged in from SCO's entry -- esr)
+ampex80|a80|d80|dialogue|dialogue80|ampex dialogue 80,
+	OTbs, am, bw, ul,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\EI, clear=\E*$<75>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER$<5*>, ed=\Ey, el=\Et, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE$<5*>, ind=^J, is2=\EA, rmso=\Ek, rmul=\Em,
+	smso=\Ej, smul=\El, tbc=\E3,
+# This entry was from somebody anonymous, Tue Aug  9 20:11:37 1983, who wrote:
+ampex175|ampex d175,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, home=^^, ich1=\EQ, il1=\EE, ind=^J,
+	is2=\EX\EA\EF, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kdl1=\ER, khome=^^, kich1=\EQ, kil1=\EE, ll=^^^K,
+	rmcup=\EF, rmso=\Ek, rmul=\Em, smcup=\EN, smso=\Ej, smul=\El,
+# No backspace key in the main QWERTY cluster. Fortunately, it has a
+# NEWLINE/PAGE key just above RETURN that sends a strange single-character
+# code.  Given a suitable Unix (one that lets you set an echo-erase-as-BS-SP-BS
+# mode), this key can be used as the erase key; I find I like this. Because
+# some people and some systems may not, there is another termcap ("ampex175")
+# that suppresses this little eccentricity by omitting the relevant capability.
+ampex175-b|ampex d175 using left arrow for erase,
+	kbs=^_, use=ampex175,
+# From: Richard Bascove <atd!dsd!rcb@ucbvax.berkeley.edu>
+# (ampex210: removed obsolete ":kn#10:" -- esr)
+ampex210|a210|ampex a210,
+	OTbs, am, hs, xenl,
+	cols#80, it#8, lines#24, xmc#1,
+	cbt=\EI, clear=\E*, cub1=^H, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, flash=\EU\EX\EU\EX\EU\EX\EU\EX,
+	fsl=\E.2, home=^^, ht=^I, ich1=\EQ,
+	if=/system/share/tabset/std, il1=\EE, invis@,
+	is2=\EC\Eu\E'\E(\El\EA\E%\E{\E.2\EG0\Ed\En, kcub1=^H,
+	kcud1=^V, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r,
+	kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r,
+	kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, khome=^^,
+	tsl=\E.0\Eg\E}\Ef, use=adm+sgr,
+# (ampex219: I added <rmam>/<smam> based on the init string, added <cvvis>
+# from ampex219w, added <cnorm>=\E[?3l, irresistibly suggested by <cvvis>,
+# and moved the padding to be *after* the caps -- esr)
+ampex219|ampex-219|amp219|Ampex with Automargins,
+	hs, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, cbt=\E[Z,
+	clear=\E[H\E[2J$<50>, cnorm=\E[?3l, cr=^M,
+	csr=%i\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B,
+	cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+	cuu1=\E[A$<2>, cvvis=\E[?3h, dim=\E[1m, ed=\E[J$<50>,
+	el=\E[K$<3>, home=\E[H, ht=^I, ind=^J,
+	is2=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[21~,
+	kf1=\E[7~, kf2=\E[8~, kf3=\E[9~, kf4=\E[10~, kf5=\E[11~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	rev=\E[7m, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E>,
+	rmso=\E[m$<2>, rmul=\E[m$<2>, sgr0=\E[m$<2>, smam=\E[?7h,
+	smkx=\E=, smso=\E[7m$<2>, smul=\E[4m$<2>,
+ampex219w|ampex-219w|amp219w|Ampex 132 cols,
+	cols#132, lines#24,
+	bel=^G, cr=^M, cud1=^J, ind=^J,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, use=ampex219,
+# (ampex232: removed <if=/system/share/tabset/ampex>, no file and no <hts> --esr)
+ampex232|ampex-232|Ampex Model 232,
+	am,
+	cols#80, lines#24, xmc#1,
+	cbt=\EI, civis=\E.0, clear=\E+, cnorm=\E.4, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER$<5*/>, ed=\EY, el=\ET,
+	flash=\Eb$<200/>\Ed, ht=^I, ich1=\EQ, il1=\EE$<5*/>,
+	invis@, is2=\Eg\El, kbs=^H, kcub1=^H, kcud1=^V, kcuf1=^L,
+	kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r,
+	kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r,
+	kf9=^AI\r, khome=^^, use=adm+sgr,
+# (ampex: removed <if=/system/share/tabset/amp-132>, no file and no <hts> -- esr)
+ampex232w|Ampex Model 232 / 132 columns,
+	cols#132, lines#24,
+	is2=\E\034Eg\El, use=ampex232,
+
+#### Ann Arbor (aa)
+#
+# Ann Arbor made dream terminals for hackers -- large screen sizes and huge
+# numbers of function keys.  At least some used monitors in portrait mode,
+# allowing up to 76-character screen heights!  They were reachable at:
+#
+#	Ann Arbor Terminals
+#	6175 Jackson Road
+#	Ann Arbor, MI 48103
+#	(313)-663-8000
+#
+# But in 1996 the phone number reaches some kitschy retail shop, and Ann Arbor
+# can't be found on the Web; I fear they're long dead.  R.I.P.
+#
+
+
+# Originally from Mike O'Brien@Rand and Howard Katseff at Bell Labs.
+# Highly modified 6/22 by Mike O'Brien.
+# split out into several for the various screen sizes by dave-yost@rand
+# Modifications made 3/82 by Mark Horton
+# Modified by Tom Quarles at UCB for greater efficiency and more diversity
+# status line moved to top of screen, <flash> removed 5/82
+# Some unknown person at SCO then hacked the init strings to make them more
+# efficient.
+#
+# assumes the following setup:
+#   A menu: 0000 1010  0001 0000
+#   B menu: 9600  0100 1000  0000 0000  1000 0000  17  19
+#   C menu: 56   66   0    0    9600  0110 1100
+#   D menu: 0110 1001   1   0
+#
+#	Briefly, the settings are for the following modes:
+#	   (values are for bit set/clear with * indicating our preference
+#	    and the value used to test these termcaps)
+#	Note that many of these settings are irrelevent to the terminfo
+#	and are just set to the default mode of the terminal as shipped
+#	by the factory.
+#
+# A menu: 0000 1010  0001 0000
+#	Block/underline cursor*
+#	blinking/nonblinking cursor*
+#	key click/no key click*
+#	bell/no bell at column 72*
+#
+#	key pad is cursor control*/key pad is numeric
+#	return and line feed/return for <cr> key *
+#	repeat after .5 sec*/no repeat
+#	repeat at 25/15 chars per sec. *
+#
+#	hold data until pause pressed/process data unless pause pressed*
+#	slow scroll/no slow scroll*
+#	Hold in area/don't hold in area*
+#	functions keys have default*/function keys disabled on powerup
+#
+#	show/don't show position of cursor during page transmit*
+#	unused
+#	unused
+#	unused
+#
+# B menu: 9600  0100 1000  0000 0000  1000 0000  17  19
+#	Baud rate (9600*)
+#
+#	2 bits of parity - 00=odd,01=even*,10=space,11=mark
+#	1 stop bit*/2 stop bits
+#	parity error detection off*/on
+#
+#	keyboard local/on line*
+#	half/full duplex*
+#	disable/do not disable keyboard after data transmission*
+#
+#	transmit entire page/stop transmission at cursor*
+#	transfer/do not transfer protected characters*
+#	transmit all characters/transmit only selected characters*
+#	transmit all selected areas/transmit only 1 selected area*
+#
+#	transmit/do not transmit line separators to host*
+#	transmit/do not transmit page tab stops tabs to host*
+#	transmit/do not transmit column tab stop tabs to host*
+#	transmit/do not transmit graphics control (underline,inverse..)*
+#
+#	enable*/disable auto XON/XOFF control
+#	require/do not require receipt of a DC1 from host after each LF*
+#	pause key acts as a meta key/pause key is pause*
+#	unused
+#
+#	unused
+#	unused
+#	unused
+#	unused
+#
+#	XON character (17*)
+#	XOFF character (19*)
+#
+# C menu: 56   66   0    0    9600  0110 1100
+#	number of lines to print data on (printer) (56*)
+#
+#	number of lines on a sheet of paper (printer) (66*)
+#
+#	left margin (printer) (0*)
+#
+#	number of pad chars on new line to printer (0*)
+#
+#	printer baud rate (9600*)
+#
+#	printer parity: 00=odd,01=even*,10=space,11=mark
+#	printer stop bits: 2*/1
+#	print/do not print guarded areas*
+#
+#	new line is: 01=LF,10=CR,11=CRLF*
+#	unused
+#	unused
+#
+# D menu: 0110 1001   1   0
+#	LF is newline/LF is down one line, same column*
+#	wrap to preceding line if move left from col 1*/don't wrap
+#	wrap to next line if move right from col 80*/don't wrap
+#	backspace is/is not destructive*
+#
+#	display*/ignore DEL character
+#	display will not/will scroll*
+#	page/column tab stops*
+#	erase everything*/erase unprotected only
+#
+#	editing extent: 0=display,1=line*,2=field,3=area
+#
+#	unused
+#
+
+annarbor4080|aa4080|ann arbor 4080,
+	OTbs, am,
+	cols#80, lines#40,
+	bel=^G, clear=\014$<2>, cr=^M, cub1=^H, cud1=^J, cuf1=^_,
+	cup=\017%p2%{10}%/%{16}%*%p2%{10}%m%+%c%p1%?%p1%{19}%>%t%{12}%+%;%{64}%+%c,
+	cuu1=^N, home=^K, ht=^I, hts=^]^P1, ind=^J, kbs=^^, kcub1=^H,
+	kcud1=^J, kcuf1=^_, kcuu1=^N, khome=^K, tbc=^\^P^P,
+
+# Strange Ann Arbor terminal from BRL
+aas1901|Ann Arbor K4080 w/S1901 mod,
+	am,
+	cols#80, lines#40,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^_, cuu1=^N,
+	home=^K, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, ll=^O\0c,
+	nel=^M^J,
+
+# If you're using the GNU termcap library, add
+#	:cS=\E[%p1%d;%p2%d;%p3%d;%p4%dp:
+# to these capabilities.  This is the nonstandard GNU termcap scrolling
+# capability, arguments are:
+#   1. Total number of lines on the screen.
+#   2. Number of lines above desired scroll region.
+#   3. Number of lines below (outside of) desired scroll region.
+#   4. Total number of lines on the screen, the same as the first parameter.
+# The generic Ann Arbor entry is the only one that uses this.
+aaa+unk|aaa-unk|ann arbor ambassador (internal - don't use this directly),
+	OTbs, am, km, mc5i, mir, xon,
+	cols#80, it#8,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	clear=\E[H\E[J$<156>, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^K, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+	el=\E[K$<5>, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I,
+	hts=\EH, ich=\E[%p1%d@$<4*>, ich1=\E[@$<4>, il=\E[%p1%dL,
+	il1=\E[L$<3>, ind=^K, invis=\E[8m, is1=\E[m\E7\E[H\E9\E8,
+	is3=\E[1Q\E[>20;30l\EP`+x~M\E\\, kbs=^H, kcbt=\E[Z,
+	kclr=\E[J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[P, kdl1=\E[M, kf1=\EOA, kf10=\EOJ, kf11=\EOK,
+	kf12=\EOL, kf13=\EOM, kf14=\EON, kf15=\EOO, kf16=\EOP,
+	kf17=\EOQ, kf18=\EOR, kf19=\EOS, kf2=\EOB, kf20=\EOT,
+	kf21=\EOU, kf22=\EOV, kf23=\EOW, kf24=\EOX, kf3=\EOC,
+	kf4=\EOD, kf5=\EOE, kf6=\EOF, kf7=\EOG, kf8=\EOH, kf9=\EOI,
+	khome=\E[H, kich1=\E[@, kil1=\E[L, krmir=\E6, mc0=\E[0i,
+	mc4=^C, mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m,
+	rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E\\,
+	rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
+	sgr0=\E[m,
+	smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\,
+	smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%p1%{1}%+%dd,
+
+aaa+rv|ann arbor ambassador in reverse video,
+	blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m,
+	is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+	rs1=\E[H\E[7m\E[J$<156>,
+	sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p2%|%p3%!%t7;%;%?%p7%t8;%;m\016,
+	sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m,
+# Ambassador with the DEC option, for partial vt100 compatibility.
+aaa+dec|ann arbor ambassador in dec vt100 mode,
+	acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}},
+	csr=\E[%i%p1%d;%p2%dr, enacs=\E(0, rmacs=^N,
+	sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p3%|%!%t7;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;,
+	smacs=^O,
+aaa-18|ann arbor ambassador/18 lines,
+	lines#18,
+	is2=\E7\E[60;0;0;18p\E8,
+	rmcup=\E[60;0;0;18p\E[60;1H\E[K, smcup=\E[18;0;0;18p,
+	use=aaa+unk,
+aaa-18-rv|ann arbor ambassador/18 lines+reverse video,
+	use=aaa+rv, use=aaa-18,
+aaa-20|ann arbor ambassador/20 lines,
+	lines#20,
+	is2=\E7\E[60;0;0;20p\E8,
+	rmcup=\E[60;0;0;20p\E[60;1H\E[K, smcup=\E[20;0;0;20p,
+	use=aaa+unk,
+aaa-22|ann arbor ambassador/22 lines,
+	lines#22,
+	is2=\E7\E[60;0;0;22p\E8,
+	rmcup=\E[60;0;0;22p\E[60;1H\E[K, smcup=\E[22;0;0;22p,
+	use=aaa+unk,
+aaa-24|ann arbor ambassador/24 lines,
+	lines#24,
+	is2=\E7\E[60;0;0;24p\E8,
+	rmcup=\E[60;0;0;24p\E[60;1H\E[K, smcup=\E[24;0;0;24p,
+	use=aaa+unk,
+aaa-24-rv|ann arbor ambassador/24 lines+reverse video,
+	use=aaa+rv, use=aaa-24,
+aaa-26|ann arbor ambassador/26 lines,
+	lines#26,
+	is2=\E7\E[60;0;0;26p\E8,
+	rmcup=\E[60;0;0;26p\E[26;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[26;0;0;26p, use=aaa+unk,
+aaa-28|ann arbor ambassador/28 lines,
+	lines#28,
+	is2=\E7\E[60;0;0;28p\E8,
+	rmcup=\E[60;0;0;28p\E[28;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[28;0;0;28p, use=aaa+unk,
+aaa-30-s|aaa-s|ann arbor ambassador/30 lines w/status,
+	eslok, hs,
+	lines#29,
+	dsl=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K,
+	fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;30p\E8,
+	rmcup=\E[60;1;0;30p\E[29;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[30;1;0;30p\E[30;1H\E[K,
+	tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk,
+aaa-30-s-rv|aaa-s-rv|ann arbor ambassador/30 lines+status+reverse video,
+	use=aaa+rv, use=aaa-30-s,
+aaa-s-ctxt|aaa-30-s-ctxt|ann arbor ambassador/30 lines+status+save context,
+	rmcup=\E[60;1;0;30p\E[59;1H\E[K,
+	smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s,
+aaa-s-rv-ctxt|aaa-30-s-rv-ct|ann arbor ambassador/30 lines+status+save context+reverse video,
+	rmcup=\E[60;1;0;30p\E[59;1H\E[K,
+	smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s-rv,
+aaa|aaa-30|ambas|ambassador|ann arbor ambassador/30 lines,
+	lines#30,
+	is2=\E7\E[60;0;0;30p\E8,
+	rmcup=\E[60;0;0;30p\E[30;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[30;0;0;30p, use=aaa+unk,
+aaa-30-rv|aaa-rv|ann arbor ambassador/30 lines in reverse video,
+	use=aaa+rv, use=aaa-30,
+aaa-30-ctxt|aaa-ctxt|ann arbor ambassador/30 lines; saving context,
+	rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p,
+	use=aaa-30,
+aaa-30-rv-ctxt|aaa-rv-ctxt|ann arbor ambassador/30 lines reverse video; saving context,
+	rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p,
+	use=aaa+rv, use=aaa-30,
+aaa-36|ann arbor ambassador/36 lines,
+	lines#36,
+	is2=\E7\E[60;0;0;36p\E8,
+	rmcup=\E[60;0;0;36p\E[36;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[36;0;0;36p, use=aaa+unk,
+aaa-36-rv|ann arbor ambassador/36 lines+reverse video,
+	use=aaa+rv, use=aaa-36,
+aaa-40|ann arbor ambassador/40 lines,
+	lines#40,
+	is2=\E7\E[60;0;0;40p\E8,
+	rmcup=\E[60;0;0;40p\E[40;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[40;0;0;40p, use=aaa+unk,
+aaa-40-rv|ann arbor ambassador/40 lines+reverse video,
+	use=aaa+rv, use=aaa-40,
+aaa-48|ann arbor ambassador/48 lines,
+	lines#48,
+	is2=\E7\E[60;0;0;48p\E8,
+	rmcup=\E[60;0;0;48p\E[48;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[48;0;0;48p, use=aaa+unk,
+aaa-48-rv|ann arbor ambassador/48 lines+reverse video,
+	use=aaa+rv, use=aaa-48,
+aaa-60-s|ann arbor ambassador/59 lines+status,
+	eslok, hs,
+	lines#59,
+	dsl=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K,
+	fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;60p\E8,
+	tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk,
+aaa-60-s-rv|ann arbor ambassador/59 lines+status+reverse video,
+	use=aaa+rv, use=aaa-60-s,
+aaa-60-dec-rv|ann arbor ambassador/dec mode+59 lines+status+rev video,
+	use=aaa+dec, use=aaa+rv, use=aaa-60-s,
+aaa-60|ann arbor ambassador/60 lines,
+	lines#60,
+	is2=\E7\E[60;0;0;60p\E[1Q\E[m\E[>20;30l\E8,
+	use=aaa+unk,
+aaa-60-rv|ann arbor ambassador/60 lines+reverse video,
+	use=aaa+rv, use=aaa-60,
+aaa-db|ann arbor ambassador 30/destructive backspace,
+	OTbs@,
+	cub1=\E[D, is3=\E[1Q\E[m\E[>20l\E[>30h, use=aaa-30,
+
+guru|guru-33|guru+unk|ann arbor guru/33 lines 80 cols,
+	lines#33,
+	flash=\E[>59h$<100>\E[>59l,
+	is2=\E7\E[255;0;0;33;80;80p\E8\E[J, is3=\E[>59l,
+	rmcup=\E[255p\E[255;1H\E[K, smcup=\E[33p, use=aaa+unk,
+guru+rv|guru changes for reverse video,
+	flash=\E[>59l$<100>\E[>59h, is3=\E[>59h,
+guru-rv|guru-33-rv|ann arbor guru/33 lines+reverse video,
+	use=guru+rv, use=guru-33,
+guru+s|guru status line,
+	eslok, hs,
+	dsl=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K, fsl=\E[>51l,
+	rmcup=\E[255;1p\E[255;1H\E[K, smcup=,
+	tsl=\E[>51h\E[1;%p1%dH\E[2K,
+guru-nctxt|guru with no saved context,
+	smcup=\E[H\E[J$<156>\E[33p\E[255;1H\E[K, use=guru,
+guru-s|guru-33-s|ann arbor guru/33 lines+status,
+	lines#32,
+	is2=\r\n\E[A\E7\E[255;1;0;33;80;80p\E8\E[J,
+	smcup=\E[33;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-24|ann arbor guru 24 lines,
+	cols#80, lines#24,
+	is2=\E7\E[255;0;0;24;80;80p\E8\E[J, smcup=\E[24p,
+	use=guru+unk,
+guru-44|ann arbor guru 44 lines,
+	cols#97, lines#44,
+	is2=\E7\E[255;0;0;44;97;100p\E8\E[J, smcup=\E[44p,
+	use=guru+unk,
+guru-44-s|ann arbor guru/44 lines+status,
+	lines#43,
+	is2=\r\n\E[A\E7\E[255;1;0;44;80;80p\E8\E[J,
+	smcup=\E[44;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-76|guru with 76 lines by 89 cols,
+	cols#89, lines#76,
+	is2=\E7\E[255;0;0;76;89;100p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+guru-76-s|ann arbor guru/76 lines+status,
+	cols#89, lines#75,
+	is2=\r\n\E[A\E7\E[255;1;0;76;89;100p\E8\E[J,
+	smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-76-lp|guru-lp|guru with page bigger than line printer,
+	cols#134, lines#76,
+	is2=\E7\E[255;0;0;76;134;134p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+guru-76-w|guru 76 lines by 178 cols,
+	cols#178, lines#76,
+	is2=\E7\E[255;0;0;76;178;178p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+guru-76-w-s|ann arbor guru/76 lines+status+wide,
+	cols#178, lines#75,
+	is2=\r\n\E[A\E7\E[255;1;0;76;178;178p\E8\E[J,
+	smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-76-wm|guru 76 lines by 178 cols with 255 cols memory,
+	cols#178, lines#76,
+	is2=\E7\E[255;0;0;76;178;255p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+aaa-rv-unk|ann arbor unknown type,
+	lh#0, lw#0, nlab#0,
+	blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m,
+	is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+	rs1=\E[H\E[7m\E[J,
+	sgr=\E[%?%p6%t1;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p1%!%t7;%;%?%p7%t8;%;m,
+	sgr0=\E[7m, smso=\E[m, smul=\E[4;7m,
+
+#### Applied Digital Data Systems (adds)
+#
+# ADDS itself is long gone.  ADDS was bought by NCR, and the same group made
+# ADDS and NCR terminals.  When AT&T and NCR merged, the engineering for
+# terminals was merged again.  Then AT&T sold the terminal business to
+# SunRiver, which later changed its  name to Boundless Technologies.  The
+# engineers from Teletype, AT&T terminals, ADDS, and NCR (who are still there
+# as of early 1995) are at:
+#
+#	Boundless Technologies
+#	100 Marcus Boulevard
+#	Hauppauge, NY 11788-3762
+#	Vox: (800)-231-5445
+#	Fax: (516)-342-7378
+#	Web: http://boundless.com
+#
+# Their voice mail used to describe the place as "SunRiver (formerly ADDS)".
+# In 1995 Boundless acquired DEC's terminals business.
+#
+
+# Regent: lowest common denominator, works on all regents.
+# (regent: renamed ":bc:" to ":le:" -- esr)
+regent|Adds Regent Series,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^U, cud1=^J, cuf1=^F, cuu1=^Z,
+	home=\EY\s\s, ind=^J, ll=^A,
+# Regent 100 has a bug where if computer sends escape when user is holding
+# down shift key it gets confused, so we avoid escape.
+regent100|Adds Regent 100,
+	xmc#1,
+	bel=^G,
+	cup=\013%p1%' '%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c,
+	kf0=^B1\r, kf1=^B2\r, kf2=^B3\r, kf3=^B4\r, kf4=^B5\r,
+	kf5=^B6\r, kf6=^B7\r, kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3,
+	lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@,
+	sgr0=\E0@, smso=\E0P, smul=\E0`, use=regent,
+regent20|Adds Regent 20,
+	bel=^G, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, ed=\Ek, el=\EK,
+	use=regent,
+regent25|Adds Regent 25,
+	bel=^G, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, khome=^A,
+	use=regent20,
+regent40|Adds Regent 40,
+	xmc#1,
+	bel=^G, dl1=\El$<2*>, il1=\EM$<2*>, kf0=^B1\r, kf1=^B2\r,
+	kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r,
+	kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6,
+	lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@, sgr0=\E0@, smso=\E0P,
+	smul=\E0`, use=regent25,
+regent40+|Adds Regent 40+,
+	is2=\EB, use=regent40,
+regent60|regent200|Adds Regent 60,
+	dch1=\EE, is2=\EV\EB, kdch1=\EE, kich1=\EF, krmir=\EF,
+	rmir=\EF, rmso=\ER\E0@\EV, smir=\EF, smso=\ER\E0P\EV,
+	use=regent40+,
+# From: <edward@onyx.berkeley.edu> Thu Jul  9 09:27:33 1981
+# (viewpoint: added <kcuf1>, function key, and <dl1> capabilities -- esr)
+viewpoint|addsviewpoint|adds viewpoint,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cnorm=\017\E0`, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z,
+	cvvis=\017\E0P, dl1=\El, ed=\Ek$<16.1*>, el=\EK$<16>,
+	ind=^J, is2=\017\E0`, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z,
+	kf0=^B1, kf2=^B2, kf3=^B!, kf4=^B", kf5=^B#, khome=^A, ll=^A,
+	rmso=^O, rmul=^O, sgr0=^O, smso=^N, smul=^N,
+# Some viewpoints have bad ROMs that foo up on ^O
+screwpoint|adds viewpoint with ^O bug,
+	cvvis@, rmso@, rmul@, smso@, smul@, use=viewpoint,
+
+# From: Jay S. Rouman <jsr@dexter.mi.org> 5 Jul 92
+# The <civis>/<cnorm>/<sgr>/<sgr0> strings were added by ESR from specs.
+# Theory; the vp3a+ wants \E0%c to set highlights, where normal=01000000,
+# underline=01100000, rev=01010000, blink=01000010,dim=01000001,
+# invis=01000100 and %c is the logical or of desired attributes.
+# There is also a `tag bit' enabling attributes, set by \E) and unset by \E(.
+#
+# Update by TD - 2004:
+# Adapted from
+#	http://www.cs.utk.edu/~shuford/terminal/adds_viewpoint_news.txt
+#
+# COMMANDS                        ASCII CODE
+#
+# Address, Absolute               ESC,=,row,column
+# Beep                            BEL
+# Aux Port Enable                 ESC,@
+# Aux Port Disable                ESC,A
+# Backspace                       BS
+# Cursor back                     BS
+# Cursor down                     LF
+# Cursor forward                  FF
+# Cursor home                     RS
+# Cursor up                       VT
+# Cursor supress                  ETB
+# Cursor enable                   CAN
+# Erase to end of line            ESC,T
+# Erase to end of page            ESC,Y
+# Erase screen                    SUB
+# Keyboard lock                   SI
+# Keyboard unlock                 SO
+# Read current cursor position    ESC,?
+# Set Attribute                   ESC,0,x  (see below for values of x)
+# Tag bit reset                   ESC,(
+# Tag bit set                     ESC,)
+# Transparent Print on            ESC,3
+# Transparent Print off           ESC,4
+#
+#
+# ATTRIBUTES
+#
+# Normal                          @	0100
+# Half Intensity                  A	0101
+# Blinking                        B	0102
+# Half Intensity Blinking         C	0103
+# Reverse Video                   P	0120
+# Reverse Video Half Intensity    Q	0121
+# Reverse Video Blinking          R	0122
+# Reverse Video Half Intensity
+#    Blinking                     S	0123
+# Underlined                      `	0140
+# Underlined Half Intensity       a	0141
+# Underlined Blinking             b	0142
+# Underlined Half Intensity
+#    Blinking                     c	0143
+# Video suppress                  D	0104
+vp3a+|viewpoint3a+|adds viewpoint 3a+,
+	am, bw,
+	cols#80, it#8, lines#24,
+	blink=\E0B\E), civis=^W, clear=\E*$<80>, cnorm=^X, cr=^M,
+	cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dim=\E0A\E),
+	ed=\EY$<80>, el=\ET, home=^^, ht=^I, ind=^J, invis=\E0D\E),
+	kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^,
+	nel=^M^J, rev=\E0P\E), rmso=\E(,
+	sgr=%?%p1%p2%|%p3%|%p4%|%p5%|%p7%|%t\E0%{64}%?%p1%t%{17}%|%;%?%p2%t%{32}%|%;%?%p3%t%{16}%|%;%?%p4%t%{2}%|%;%?%p5%t%{1}%|%;%c%?%p7%tD%;\E)%e\E(%;,
+	sgr0=\E(, smso=\E0Q\E), smul=\E0`\E),
+vp60|viewpoint60|addsvp60|adds viewpoint60,
+	use=regent40,
+#
+# adds viewpoint 90 - from cornell
+# Note:  emacs sends ei occasionally to insure the terminal is out of
+#        insert mode. This unfortunately puts the viewpoint90 IN insert
+#        mode.  A hack to get around this is <ich1=\EF\s\EF^U>.  (Also,
+#   -    :ei=:im=: must be present in the termcap translation.)
+#   -    <xhp> indicates glitch that attributes stick to location
+#   -    <msgr> means it's safe to move in standout mode
+#   -    <clear=\EG\Ek>: clears screen and visual attributes without affecting
+#               the status line
+# Function key and label capabilities merged in from SCO.
+vp90|viewpoint90|adds viewpoint 90,
+	OTbs, bw, msgr, xhp,
+	cols#80, lines#24,
+	clear=\EG\Ek, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EE,
+	dl1=\El, ed=\Ek, el=\EK, home=\EY\s\s, ht=^I,
+	ich1=\EF \EF\025, ind=^J, kbs=^H, kcub1=^U, kcud1=^J,
+	kcuf1=^F, kcuu1=^Z, kf0=^B1\r, kf1=^B2\r, kf10=^B;\r,
+	kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r,
+	kf7=^B8\r, kf8=^B9\r, kf9=^B\:\r, khome=^A, lf0=F1, lf1=F2,
+	lf10=F11, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9,
+	lf9=F10, ll=^A, rmso=\ER\E0@\EV, rmul=\ER\E0@\EV,
+	sgr0=\ER\E0@\EV, smso=\ER\E0Q\EV, smul=\ER\E0`\EV,
+# Note: if return acts weird on a980, check internal switch #2
+# on the top chip on the CONTROL pc board.
+adds980|a980|adds consul 980,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<1>\013@, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\E^E01, cup=\013%p1%{64}%+%c\E\005%p2%2d,
+	dl1=\E\017$<13>, il1=\E\016$<13>, ind=^J, kf0=\E0, kf1=\E1,
+	kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8,
+	kf9=\E9, rmso=^O, sgr0=^O, smso=^Y^^^N,
+
+#### C. Itoh Electronics
+#
+# As of 1995 these people no longer make terminals (they're still in the
+# printer business).  Their terminals were all clones of the DEC VT series.
+# They're located in Orange County, CA.
+#
+
+# CIT 80  - vt-52 emulator, the termcap has been modified to remove
+#           the delay times and do an auto tab set rather than the indirect
+#           file used in vt100.
+cit80|cit-80|citoh 80,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\E[H\EJ, cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\EJ, el=\EK, ff=^L,
+	ind=^J, is2=\E>, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=,
+# From: Tim Wood <mtxinu!sybase!tim> Fri Sep 27 09:39:12 PDT 1985
+# (cit101: added <rmam>/<smam> based on init string, merged this with c101 -- esr)
+cit101|citc|C.itoh fast vt100,
+	OTbs, am, xenl,
+	cols#80, lines#24,
+	bel=^G, clear=\E[H\E[2J, cnorm=\E[V\E8, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	cvvis=\E7\E[U, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K,
+	flash=\E[?5h$<200/>\E[?5l, ich1=\E[@, il1=\E[L,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m,
+# CIE Terminals CIT-101e from Geoff Kuenning <callan!geoff> via BRL
+# The following termcap entry was created from the Callan cd100 entry.  The
+# last two lines (with the capabilities in caps) are used by RM-cobol to allow
+# full selection of combinations of reverse video, underline, and blink.
+# (cit101e: removed unknown :f0=\EOp:f1=\EOq:f2=\EOr:f3=\EOs:f4=\EOt:f5=\EOu:\
+# f6=\EOv:f7=\EOw:f8=\EOx:f9=\EOy:AB=\E[0;5m:AL=\E[m:AR=\E[0;7m:AS=\E[0;5;7m:\
+# :NB=\E[0;1;5m:NM=\E[0;1m:NR=\E[0;1;7m:NS=\E[0;1;5;7m: -- esr)
+cit101e|C. Itoh CIT-101e,
+	OTbs, OTpt, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=, clear=\E[H\E[J, cnorm=, csr=\E[%i%p1%2d;%p2%2dr,
+	cub1=\E[D, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH,
+	cuu1=\E[A, cvvis=\E[?1l\E[?4l\E[?7h, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, if=/system/share/tabset/vt100, il1=\E[L,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOT,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOm, kf6=\EOl,
+	kf7=\EOM, kf8=\EOn, rc=\E8, ri=\EM, rmacs=^O, rmir=\E[4l,
+	rmkx=\E>, rmso=\E[m, rmul=\E[m, sc=\E7, smacs=^N, smir=\E[4h,
+	smkx=\E=, smso=\E[7m, smul=\E[4m,
+# From: David S. Lawyer, June 1997:
+# The CIT 101-e was made in Japan in 1983-4 and imported by CIE
+# Terminals in Irvine, CA.  It was part of CITOH Electronics.  In the
+# late 1980's CIT Terminals went out of business.
+# There is no need to use the initialization string is=... (by invoking
+# tset or setterm etc.) provided that the terminal has been manually set
+# up (and the setup saved with ^S) to be compatible with this termcap.  To be
+# compatible it should be in ANSI mode (not VT52).   A set-up that
+# works is to set all the manually setable stuff to factory defaults
+# by pressing ^D in set-up mode.  Then increse the brighness with the
+# up-arrow key since the factory default will likely be dim on an old
+# terminal.  Then change any options you want (provided that they are
+# compatible with the termcap).  For my terminal I set: Screen
+# Background: light; Keyclicks: silent; Auto wraparound: on; CRT saver:
+# on.  I also set up mine for parity (but you may not need it).  Then
+# save the setup with ^S.
+# (cit101e-rv: added empty <rmcup> to suppress a tic warning. --esr)
+cit101e-rv|Citoh CIT-101e (sets reverse video),
+	am, eo, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24,
+	OTnl=\EM, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	civis=\E[1v, clear=\E[H\E[J, cnorm=\E[0;3;4v, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[3;5v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l\E[?5h$<200/>,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
+	is2=\E<\E>\E[?1l\E[?3l\E[?4l\E[?5h\E[?7h\E[?8h\E[3g\E[>5g\E(B\E[m\E[20l\E[1;24r\E[24;1H,
+	kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rc=\E8,
+	rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=, rmir=\E[4l,
+	rmso=\E[m, rmul=\E[m, rs1=\Ec\E[?7h\E[>5g, sc=\E7,
+	sgr0=\E[m, smcup=\E[>5g\E[?7h\E[?5h, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%p1%d;%p2%dR,
+	u7=\E[6n, u8=\E[?6c, u9=\E[c,
+cit101e-n|CIT-101e w/o am,
+	am@,
+	cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=^J,
+	use=cit101e,
+cit101e-132|CIT-101e with 132 cols,
+	cols#132,
+	kbs=^H, kcub1=^H, kcud1=^J, use=cit101e,
+cit101e-n132|CIT-101e with 132 cols w/o am,
+	am@,
+	cols#132,
+	cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=^J,
+	use=cit101e,
+# CIE Terminals CIT-500 from BRL
+# The following SET-UP modes are assumed for normal operation:
+#	GENERATE_XON/XOFF:YES	DUPLEX:FULL		NEWLINE:OFF
+#	AUTOWRAP:ON		MODE:ANSI		SCREEN_LENGTH:64_LINES
+#	DSPLY_CNTRL_CODES?NO	PAGE_WIDTH:80		EDIT_MODE:OFF
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements.
+# Hardware tabs are assumed to be set every 8 columns; they can be set up
+# by the "reset", "tset", or "tabs" utilities.  No delays are specified; use
+# "stty ixon -ixany" to enable DC3/DC1 flow control!
+# (cit500: I added <rmam>/<smam> based on the init string -- esr)
+cit500|CIE Terminals CIT-500,
+	OTbs, OTpt, mir, msgr, xon,
+	OTkn#10, cols#80, it#8, lines#64, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\EM, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ed=\EJ, el=\EK, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, is2=\E<\E)0, kbs=^H, kcbt=\E[Z, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[P, kdl1=\E[M,
+	ked=\EJ, kel=\EK, kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS,
+	kf4=\EOU, kf5=\EOV, kf6=\EOW, kf7=\EOX, kf8=\EOY, kf9=\EOZ,
+	khome=\E[H, kich1=\E[4h, kil1=\E[L, krmir=\E[4l, lf0=PF1,
+	lf1=PF2, lf2=PF3, lf3=PF4, lf4=F15, lf5=F16, lf6=F17, lf7=F18,
+	lf8=F19, lf9=F20, ll=\E[64H, nel=\EE, rc=\E8, rev=\E[7m,
+	ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs1=\E<\E2\E[20l\E[?6l\E[r\E[m\E[q\E(B\017\E)0\E>,
+	sc=\E7, sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+
+# C. Itoh printers begin here
+citoh|ci8510|8510|c.itoh 8510a,
+	cols#80, it#8,
+	bold=\E!, cub1@,
+	is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073.,
+	rep=\ER%p2%03d%p1%c, ri=\Er, rmul=\EY, sgr0=\E"\EY,
+	smul=\EX, use=lpr,
+citoh-pica|citoh in pica,
+	is1=\EN, use=citoh,
+citoh-elite|citoh in elite,
+	cols#96,
+	is1=\EE,
+	is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089.,
+	use=citoh,
+citoh-comp|citoh in compressed,
+	cols#136,
+	is1=\EQ,
+	is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089\,097\,105\,113\,121\,129.,
+	use=citoh,
+# citoh has infinite cols because we don't want lp ever inserting \n\t**.
+citoh-prop|citoh-ps|ips|citoh in proportional spacing mode,
+	cols#32767,
+	is1=\EP, use=citoh,
+citoh-6lpi|citoh in 6 lines per inch mode,
+	is3=\EA, use=citoh,
+citoh-8lpi|citoh in 8 lines per inch mode,
+	lines#88,
+	is3=\EB, use=citoh,
+
+#### Control Data (cdc)
+#
+
+cdc456|cdc 456 terminal,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^Y^X, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E1%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dl1=\EJ, ed=^X,
+	el=^V, home=^Y, il1=\EL, ind=^J,
+
+# Assorted CDC terminals from BRL (improvements by DAG & Ferd Brundick)
+cdc721|CDC Viking,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=^J, kcuf1=^I,
+	kcuu1=^W, khome=^Y,
+cdc721ll|CDC Vikingll,
+	OTbs, am,
+	cols#132, lines#24,
+	clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=^J, kcuf1=^I,
+	kcuu1=^W, khome=^Y,
+# (cdc752: the BRL entry had :ll=\E1  ^Z: commented out
+cdc752|CDC 752,
+	OTbs, am, bw, xhp,
+	cols#80, lines#24,
+	bel=^G, clear=\030\E1\s\s, cr=^M, cub1=^H, cud1=^J, cuf1=^U,
+	cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z, el=^V,
+	home=\E1\s\s, ind=^J, ll=^Y, rs1=\E1  \030\002\003\017,
+# CDC 756
+# The following switch/key settings are assumed for normal operation:
+#	96 chars	SCROLL		FULL duplex	not BLOCK
+# Other switches may be set according to communication requirements.
+# Insert/delete-character cannot be used, as the whole display is affected.
+# "so" & "se" are commented out until jove handles "sg" correctly.
+cdc756|CDC 756,
+	OTbs, am, bw,
+	OTkn#10, cols#80, lines#24,
+	bel=^G, clear=^Y^X, cr=^M, cub1=^H, cud1=^J, cuf1=^U,
+	cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z,
+	dl1=\EJ$<6*/>, ed=^X, el=^V, home=^Y, il1=\EL$<6*/>, ind=^J,
+	kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^Z, kdch1=\EI,
+	kdl1=\EL, ked=^X, kel=^V, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED,
+	kf4=\EE, kf5=\EF, kf6=\EG, kf7=\EH, kf8=\Ea, kf9=\Eb, khome=^Y,
+	khts=^O, kich1=\EK, kil1=\EL, lf0=F1, lf1=F2, lf2=F3, lf3=F4,
+	lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10, ll=^Y^Z,
+	rs1=\031\030\002\003\017,
+#
+# CDC 721 from Robert Viduya, Ga. Tech. <ihnp4!gatech!gitpyr!robert> via BRL.
+#
+# Part of the long initialization string defines the "DOWN" key to the left
+# of the tab key to send an ESC.  The real ESC key is positioned way out
+# in right field.
+#
+# The termcap won't work in 132 column mode due to the way it it moves the
+# cursor.  Termcap doesn't have the capability (as far as I could tell) to
+# handle the 721 in 132 column mode.
+#
+# (cdc721: changed :ri: to :sr: -- esr)
+cdc721-esc|Control Data 721,
+	OTbs, OTpt, am, bw, msgr, xon,
+	OTkn#10, cols#80, it#8, lines#30,
+	bel=^G, blink=^N, cbt=^^^K, clear=^L, cub1=^H, cud1=^Z,
+	cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, cuu1=^W,
+	dch1=^^N, dim=^\, dl1=^^Q, ed=^^P, el=^K, home=^Y, hts=^^^RW,
+	ich1=^^O, il1=^^R, ind=\036W =\036U, invis=^^^R[,
+	is2=\036\022B\003\036\035\017\022\025\035\036E\036\022H\036\022J\036\022L\036\022N\036\022P\036\022Q\036\022\036\022\^\036\022b\036\022i\036W =\036\022Z\036\011C1-` `!k/o,
+	kbs=^H, kcub1=^H, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^q,
+	kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v, kf6=^^w, kf7=^^x,
+	kf8=^^y, kf9=^^z, khome=^Y, ll=^B =, rev=^^D,
+	ri=\036W =\036V, rmir=, rmkx=^^^Rl, rmso=^^E, rmul=^],
+	sgr0=\017\025\035\036E\036\022\\, smir=, smkx=^^^Rk,
+	smso=^^D, smul=^\, tbc=^^^RY,
+
+#### Getronics
+#
+# Getronics is a Dutch electronics company that at one time was called
+# `Geveke' and made async terminals; but (according to the company itself!)
+# they've lost all their documentation on the command set.  The hardware
+# documentation suggests the terminals were actually manufactured by a
+# Taiwanese electronics company named Cal-Comp.  There are known
+# to have been at least two models, the 33 and the 50.
+#
+
+# The 50 seems to be a top end vt220 clone, with the addition of a higher
+# screen resolution, a larger screen, at least 1 page of memory above and
+# below the screen, apparently pages of memory right and left of the screen
+# which can be panned, and about 75 function keys (15 function keys x normal,
+# shift, control, func A, func B). It also has more setup possibilities than
+# the vt220. The monitor case is dated November 1978 and the keyboard case is
+# May 1982.
+#
+# The vt100 emulation works as is.  The entry below describes the rather
+# non-conformant (but more featureful) ANSI mode.
+#
+# From: Stephen Peterson <stv@utrecht.ow.nl>, 27 May 1995
+visa50|geveke visa 50 terminal in ansi 80 character mode,
+	bw, mir, msgr,
+	cols#80, lines#25,
+	acsc=0_aaffggh jjkkllmmnnooqqssttuuvvwwxx, bel=^G,
+	blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dX, dch1=\E[X, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m,
+	is2=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h,
+	ka1=\E[f, ka3=\EOQ, kb2=\EOP, kbs=^H, kc1=\EOR, kc3=\EOS,
+	kcub1=\E[D, kcud1=\E[A, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177,
+	kdl1=\EOS, kf0=\E010, kf1=\E001, kf10=\E011, kf2=\E002,
+	kf3=\E003, kf4=\E004, kf5=\E005, kf6=\E006, kf7=\E007,
+	kf8=\E008, kf9=\E009, khome=\E[f, lf2=A delete char,
+	lf3=A insert line, lf4=A delete line, lf5=A clear,
+	lf6=A ce of/cf gn, lf7=A print, lf8=A on-line,
+	lf9=A funcl0=A send, nel=^M^J, rev=\E[7m, rmacs=\E[3l,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[0;2m,
+	rmul=\E[0m, sgr0=\E[0;2m, smacs=\E3h, smam=\E?7h,
+	smir=\E[4h, smkx=\E=, smso=\E[2;7m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%i%p1%dd,
+
+#### Human Designed Systems (Concept)
+#
+#	Human Designed Systems
+#	400 Fehley Drive
+#	King of Prussia, PA 19406
+#	Vox: (610)-277-8300
+#	Fax: (610)-275-5739
+#	Net: support@hds.com
+#
+# John Martin <john@hds.com> is their termcap expert.  They're mostly out of
+# the character-terminal business now (1995) and making X terminals.  In
+# particular, the whole `Concept' line described here was discontinued long
+# ago.
+#
+
+# From: <vax135!hpk>  Sat Jun 27 07:41:20 1981
+# Extensive changes to c108 by arpavax:eric Feb 1982
+# Some unknown person at SCO then translated it to terminfo.
+#
+# There seem to be a number of different versions of the C108 PROMS
+# (with bug fixes in its Z-80 program).
+#
+# The first one that we had would lock out the keyboard of you
+# sent lots of short lines (like /usr/dict/words) at 9600 baud.
+# Try that on your C108 and see if it sends a ^S when you type it.
+# If so, you have an old version of the PROMs.
+#
+# You should configure the C108 to send ^S/^Q before running this.
+# It is much faster (at 9600 baud) than the c100 because the delays
+# are not fixed.
+# new status line display entries for c108-8p:
+# <is3> - init str #3 - setup term for status display -
+# set programmer mode, select window 2, define window at last
+# line of memory, set bkgnd stat mesg there, select window 0.
+#
+# <tsl> - to status line - select window 2, home cursor, erase to
+# end-of-window, 1/2 bright on, goto(line#0, col#?)
+#
+# <fsl> - from status line - 1/2 bright off, select window 0
+#
+# <dsl> - disable status display - set bkgnd status mesg with
+# illegal window #
+#
+# There are probably more function keys that should be added but
+# I don't know what they are.
+#
+# No delays needed on c108 because of ^S/^Q handshaking
+#
+c108|concept108|c108-8p|concept108-8p|concept 108 w/8 pages,
+	is3=\EU\E z"\Ev\001\177 !p\E ;"\E z \Ev  \001\177p\Ep\n,
+	rmcup=\Ev  \001\177p\Ep\r\n, use=c108-4p,
+c108-4p|concept108-4p|concept 108 w/4 pages,
+	OTbs, eslok, hs, xon,
+	pb@,
+	acsc=jEkTl\\mMqLxU, cnorm=\Ew, cr=^M,
+	cup=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c,
+	cvvis=\EW, dch1=\E 1$<16*>, dsl=\E ;\177, fsl=\Ee\E z\s,
+	ind=^J, is1=\EK\E!\E F,
+	is3=\EU\E z"\Ev\177 !p\E ;"\E z \Ev  \001 p\Ep\n,
+	rmacs=\Ej\s, rmcup=\Ev  \001 p\Ep\r\n, smacs=\Ej!,
+	smcup=\EU\Ev  8p\Ep\r\E\025,
+	tsl=\E z"\E?\E\005\EE\Ea %+\s, use=c100,
+c108-rv|c108-rv-8p|concept 108 w/8 pages in reverse video,
+	rmcup=\Ev  \002 p\Ep\r\n, smcup=\EU\Ev  8p\Ep\r,
+	use=c108-rv-4p,
+c108-rv-4p|concept108rv4p|concept 108 w/4 pages in reverse video,
+	flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee, smso=\EE,
+	use=c108-4p,
+c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mode,
+	cols#132,
+	is1=\E F\E", rmcup=\Ev  ^A0\001D\Ep\r\n,
+	smcup=\EU\Ev  8\001D\Ep\r, use=c108-8p,
+
+# Concept 100:
+# These have only window relative cursor addressing, not screen
+# relative. To get it to work right here, smcup/rmcup (which
+# were invented for the concept) lock you into a one page
+# window for screen style programs.
+#
+# To get out of the one page window, we use a clever trick:
+# we set the window size to zero ("\Ev    " in rmcup) which the
+# terminal recognizes as an error and resets the window to all
+# of memory.
+#
+# This trick works on c100 but does not on c108, sigh.
+#
+# Some tty drivers use cr3 for concept, others use nl3, hence
+# the delays on cr and ind below. This padding is only needed at
+# 9600 baud and up.  One or the other is commented out depending on
+# local conventions.
+#
+# 2 ms padding on <rmcup> isn't always enough. 6 works fine. Maybe
+# less than 6 but more than 2 will work.
+#
+# Note: can't use function keys f7-f10 because they are
+# indistinguishable from arrow keys (!), also, del char and
+# clear eol use xon/xoff so they probably won't work very well.
+#
+# Also note that we don't define insrt/del char/delline/eop/send
+# because they don't transmit unless we reset them - I figured
+# it was a bad idea to clobber their definitions.
+#
+# The <mc5> sequence changes the escape character to ^^ so that
+# escapes will be passed through to the printer. Only trouble
+# is that ^^ won't be - ^^ was chosen to be unlikely.
+# Unfortunately, if you're sending raster bits through to be
+# plotted, any character you choose will be likely, so we lose.
+#
+# \EQ"\EY(^W (send anything from printer to host, for xon/xoff)
+# cannot be # in is2 because it will hang a c100 with no printer
+# if sent twice.
+c100|concept100|concept|c104|c100-4p|hds concept 100,
+	OTbs, am, eo, mir, ul, xenl,
+	cols#80, lines#24, pb#9600, vt#8,
+	bel=^G, blink=\EC, clear=\E?\E\005$<2*>, cr=$<9>\r,
+	cub1=^H, cud1=^J, cuf1=\E=,
+	cup=\Ea%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E;,
+	dch1=\E\021$<16*>, dim=\EE, dl1=\E\002$<3*>,
+	ed=\E\005$<16*>, el=\E\025$<16>, flash=\Ek$<200>\EK,
+	ht=\011$<8>, il1=\E\022$<3*>, ind=^J, invis=\EH, ip=$<16*>,
+	is1=\EK,
+	is2=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c,
+	is3=\Ev    $<6>\Ep\n, kbs=^H, kcbt=\E', kctab=\E_,
+	kcub1=\E>, kcud1=\E<, kcuf1=\E=, kcuu1=\E;, kdch1=\E^Q,
+	kdl1=\E^B, ked=\E^C, kel=\E^S, kf1=\E5, kf2=\E6, kf3=\E7,
+	kf4=\E8, kf5=\E9, kf6=\E\:a, kf7=\E\:b, kf8=\E\:c, khome=\E?,
+	khts=\E], kich1=\E^P, kil1=\E^R, kind=\E[, knp=\E-, kpp=\E.,
+	kri=\E\\, krmir=\E\0, mc4=\036o \E\EQ!\EYP\027,
+	mc5=\EQ"\EY(\027\EYD\Eo \036, prot=\EI,
+	rep=\Er%p1%c%p2%{32}%+%c$<.2*>, rev=\ED,
+	rmcup=\Ev    $<6>\Ep\r\n, rmir=\E\s\s, rmkx=\Ex,
+	rmso=\Ed, rmul=\Eg, sgr0=\EN@,
+	smcup=\EU\Ev  8p\Ep\r\E\025$<16>, smir=\E^P, smkx=\EX,
+	smso=\ED, smul=\EG,
+c100-rv|c100-rv-4p|concept100-rv|c100 rev video,
+	cnorm@, cvvis@, flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee,
+	smso=\EE, use=c100,
+oc100|oconcept|c100-1p|old 1 page concept 100,
+	in,
+	is3@, use=c100,
+
+# From: Walter Skorski <walt@genetics1.JMP.TJU.EDU>, 16-oct-1996.
+# Lots of notes, originally inline, but ncurses doesn't grok that.
+#
+# am: 	not available in power on mode, but turned on with \E[=107;207h in
+#	is2=.  Also, \E=124l in is2= could have been used to prevent needing
+#	to specify xenl:, but that would have rendered the last space on the
+#	last line useless.
+# bw:	Not available in power on mode, but turned on with \E[=107;207h in
+#	is2=.
+# clear: Could be done with \E[2J alone, except that vi (and probably most
+#	other programs) assume that this also homes the cursor.
+# dsl:	Go to window 2, go to the beginning of the line, use a line feed to
+#	scroll the window, and go back to window 1.
+# is2:	the string may cause a warning to be issued by tic that it
+#	found a very long line and that it suspects that a comma is missing
+#	somewhere.  This warning can be ignored (unless it comes up more than
+#	once).  The initialization string contains the following commands:
+#
+#	 [Setup mode items changed from factory defaults:]
+#		\E)0			set alternate character set to
+#						graphics
+#		^O			set character set to default
+#	 [In case it wasn't]
+#		\E[m			turn off all attributes
+#	 [In case they weren't off]
+#		\E[=107;		cursor wrap and
+#			207h			character wrap on
+#		\E[90;3u		set Fkey definitions to "transmit"
+#						defaults
+#		\E[92;3u		set cursor key definitions to
+#						"transmit" defaults
+#		\E[43;1u		set shift F13 to transmit...
+#		\177\E$P\177
+#		\E[44;1u		set shift F14 to transmit...
+#			\177\E$Q\177
+#		\E[45;1u		set shift F15 to transmit...
+#			\177\E$R\177
+#		\E[46;1u		set shift F16 to transmit...
+#			\177\E$S\177
+#		\E[200;1u		set shift up to transmit...
+#			\177\E$A\177
+#		\E[201;1u		set shift down to transmit...
+#			\177\E$B\177
+#		\E[202;1u		set shift right to transmit...
+#			\177\E$C\177
+#		\E[203;1u		set shift left to transmit...
+#			\177\E$D\177
+#		\E[204;1u		set shift home to transmit...
+#			\177\E$H\177
+#		\E[212;1u		set backtab to transmit...
+#			\177\E$I\177
+#		\E[213;1u		set shift backspace to transmit...
+#			\177\E$^H\177
+#		\E[214;1u		set shift del to transmit...
+#			"\E$\177"
+#	 [Necessary items not mentioned in setup mode:]
+#		\E[2!w			move to window 2
+#		\E[25;25w		define window as line 25 of memory
+#		\E[!w			move to window 1
+#		\E[2*w			show current line of window 2 as
+#						status line
+#		\E[2+x			set meta key to use high bit
+#		\E[;3+}			move underline to bottom of character
+#
+#	All Fkeys are set to their default transmit definitions with \E[90;3u
+#	in is2=.  IMPORTANT:  to use this terminal definition, the "quit" stty
+#	setting MUST be redefined or deactivated, because the default is
+#	contained in almost all of this terminal's Fkey strings!  If for some
+#	reason "quit" cannot be altered, the Fkeys can, but it would be
+#	necessary to change ^| to ^] in all of these definitions, and add
+#	\E[2;029!t to is2.
+# lines: is set to 24 because this terminal refuses to treat the 25th
+#	line normally.
+# ll:	Not available in power on mode, but turned on with \E[=107;207h in
+#	is2=.
+# lm:	Pointless, given that this definition locks a single screen of
+#	memory into view, but what the hey...
+# rmso: Could use \E[1;7!{ to turn off only bold and reverse (leaving any
+#	other attributes alone), but some programs expect this to turn off
+#	everything.
+# rmul: Could use \E[4!{ to turn off only underline (leaving any other
+#	attributes alone), but some programs expect this to turn off
+#	everything.
+# sgr:	Attributes are set on this terminal with the string \E[ followed by
+#	a list of attribute code numbers (in decimal, separated by
+#	semicolons), followed by the character m.  The attribute code
+#	numbers are:
+#		  1 for bold;
+#		  2 for dim (which is ignored in power on mode);
+#		  4 for underline;
+#		  5 for blinking;
+#		  7 for inverse;
+#		  8 for not displayable; and
+#		=99 for protected (except that there are strange side
+#		effects to protected characters which make them inadvisable).
+#	 The mapping of terminfo parameters to attributes is as follows:
+#		%p1 (standout) = bold and inverse together;
+#		%p2 (underline) = underline;
+#		%p3 (reverse) = inverse;
+#		%p4 (blink) = blinking;
+#		%p5 (dim) is ignored;
+#		%p6 (bold) = bold;
+#		%p7 (invisible) = not displayable;
+#		%p8 (protected) is ignored; and
+#		%p9 (alt char set) = alt char set.
+#	 The code to do this is:
+#		\E[0		OUTPUT	\E[0
+#		%?%p1%p6%O	IF	(standout; bold) OR
+#		%t;1		THEN	OUTPUT	;1
+#		%;		ENDIF
+#		%?%p2		IF	underline
+#		%t;4		THEN	OUTPUT	;4
+#		%;		ENDIF
+#		%?%p4		IF	blink
+#		%t;5		THEN	OUTPUT	;5
+#		%;		ENDIF
+#		%?%p1%p3%O	IF	(standout; reverse) OR
+#		%t;7		THEN	OUTPUT	;7
+#		%;		ENDIF
+#		%?%p7		IF	invisible
+#		%t;8		THEN	OUTPUT	;8
+#		%;		ENDIF
+#		m		OUTPUT	m
+#		%?%p9		IF	altcharset
+#		%t^N		THEN	OUTPUT	^N
+#		%e^O		ELSE	OUTPUT	^O
+#		%;		ENDIF
+# sgr0: Everything is turned off (including alternate character set), since
+#	there is no way of knowing what it is that the program wants turned
+#	off.
+# smul: The "underline" attribute is reconfigurable to an overline or
+#	strikethru, or (as done with \E[;3+} in is2=), to a line at the true
+#	bottom of the character cell.  This was done to allow for more readable
+#	underlined characters, and to be able to distinguish between an
+#	underlined space, an underscore, and an underlined underscore.
+# xenl: Terminal can be configured to not need this, but this "glitch"
+#	behavior is actually preferable with autowrap terminals.
+#
+# Parameters kf31= thru kf53= actually contain the strings sent by the shifted
+# Fkeys.  There are no parameters for shifted Fkeys in terminfo.  The is2
+# string modifies the 'O' in kf43 to kf46 to a '$'.
+#
+# kcbt was originally ^I but redefined in is2=.
+# kHOM was \E[H originally but redefined in is2=, as were a number of
+# other keys.
+# kDC was originally \177 but redefined in is2=.
+#
+# kbs:	Shift was also ^H originally but redefined as \E$^H in is2=.
+# tsl:	Go to window 2, then do an hpa=.
+#
+#------- flash=\E[8;3!}^G\E[3;3!}
+#------- flash=\E[?5h$<100>\E[?5l
+# There are two ways to flash the screen, both of which have their drawbacks.
+# The first is to set the bell mode to video, transmit a bell character, and
+# set the bell mode back - but to what?  There is no way of knowing what the
+# user's old bell setting was before we messed with it.  Worse, the command to
+# set the bell mode also sets the key click volume, and there is no way to say
+# "leave that alone", or to know what it's set to, either.
+# The second way to do a flash is to set the screen to inverse video, pad for a
+# tenth of a second, and set it back - but like before, there's no way to know
+# that the screen wasn't ALREADY in inverse video, or that the user may prefer
+# it that way.  The point is moot anyway, since vi (and probably other
+# programs) assume that by defining flash=, you want the computer to use it
+# INSTEAD of bel=, rather than as a secondary type of signal.
+#
+#------- cvvis=\E[+{
+# The is the power on setting, which is also as visible as the cursor
+# gets.
+#-------  wind=\E[%i%p1%d;%p2%d;%p3%{1}%+%d;%p4%{1}%+%dw
+# Windowing is possible, but not defined here because it is also used to
+# emulate status line functions.  Allowing a program to set a window could
+# clobber the status line or render it unusable.  There is additional memory,
+# but screen scroll functions are destructive and do not make use of it.
+#
+#-------   dim=			Not available in power on mode.
+# You have a choice of defining low intensity characters as "half bright" and
+# high intensity as "normal", or defining low as "normal" and high as "bold".
+# No matter which you choose, only one of either "half bright" or "bold" is
+# available at any time, so taking the time to override the default is
+# pointless.
+#
+#-------  prot=\E[=0;99m
+# Not defined, because it appears to have some strange side effects.
+#------- pfkey=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%;
+#------- pfloc=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%;
+#-------   pfx=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%d;1u\177%p2%s\177%;
+#	 Available, but making them available to programs is inadvisable.
+#	 The code to do this is:
+#		%?%p1%{24}%<	IF	((key; 24) <;
+#		%p1%{30}%>		 ((key; 30) >;
+#		%p1%{54}%<		  (key; 54) <
+#		%A			 ) AND
+#		%O		  	) OR
+#	 [that is, "IF key < 24 OR (key > 30 AND key < 54)",]
+#		%t\E[		THEN	OUTPUT	\E[
+#		%p1%d			OUTPUT	(key) as decimal
+#	 [next line applies to pfx only]
+#		;1			OUTPUT	;1
+#		u			OUTPUT	u
+#		\177			OUTPUT	\177
+#		%p2%s			OUTPUT	(string) as string
+#		\177			OUTPUT	\177
+#	 [DEL chosen as delimiter, but could be any character]
+#	 [implied:		ELSE	do nothing]
+#		%;		ENDIF
+#
+#-------   rs2=
+# Not defined since anything it might do could be done faster and easier with
+# either Meta-Shift-Reset or the main power switch.
+#
+#-------  smkx=\E[1!z
+#-------  rmkx=\E[!z
+# These sequences apply to the cursor and setup keys only, not to the
+# numeric keypad.  But it doesn't matter anyway, since making these
+# available to programs is inadvisable.
+# For the key definitions below, all sequences beginning with \E$ are
+# custom and programmed into the terminal via is2.  \E$ also has no
+# meaning to any other terminal.
+#
+#------- cmdch=\E[;%p1%d!t
+# Available, but making it available to programs is inadvisable.
+#------- smxon=\E[1*q
+# Available, but making it available to programs is inadvisable.
+# Terminal will send XON/XOFF on buffer overflow.
+#------- rmxon=\E[*q
+# Available, but making it available to programs is inadvisable.
+# Terminal will not notify on buffer overflow.
+#-------   smm=\E[2+x
+#-------   rmm=\E[+x
+# Available, but making them available to programs is inadvisable.
+#
+# Printing:
+#	 It's not made clear in the manuals, but based on other ansi/vt type
+#	 terminals, it's a good guess that this terminal is capable of both
+#	 "transparent print" (which doesn't copy data to the screen, and
+#	 therefore needs mc5i: specified to say so) and "auxilliary print"
+#	 (which does duplicate printed data on the screen, in which case mc4=
+#	 and mc5= should use the \E[?4i and \E[?5i strings instead).
+
+hds200|Human Designed Systems HDS200,
+	am, bw, eslok, hs, km, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, lm#0,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[0;5m, bold=\E[0;1m, cbt=\E[Z, civis=\E[6+{,
+	clear=\E[H\E[J, cnorm=\E[+{, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\E[2!w\r\n\E[!w, ed=\E[J, el=\E[K, el1=\E[1K,
+	fsl=\E[!w, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	invis=\E[0;8m,
+	is2=\E)0\017\E[m\E[=107;207h\E[90;3u\E[92;3u\E[43;1u\177\E$P\177\E[44;1u\177\E$Q\177\E[45;1u\177\E$R\177\E[46;1u\177\E$S\177\E[200;1u\177\E$A\177\E[201;1u\177\E$B\177\E[202;1u\177\E$C\177\E[203;1u\177\E$D\177\E[204;1u\177\E$H\177\E[212;1u\177\E$I\177\E[213;1u\177\E$\010\177\E[214;1u"\E$\177"\E[2!w\E[25;25w\E[!w\E[2*w\E[2+x\E[;3+},
+	kDC=\E$\177, kHOM=\E$H, kLFT=\E$D, kRIT=\E$C, kbs=^H,
+	kcbt=\E$I, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\177, kent=^M, kf1=^\001\r, kf10=^\010\r,
+	kf11=^\011\r, kf12=^\012\r, kf13=\EOP, kf14=\EOQ,
+	kf15=\EOR, kf16=\EOS, kf17=^\017\r, kf18=^\018\r,
+	kf19=^\019\r, kf2=^\002\r, kf20=^\020\r, kf21=^\021\r,
+	kf22=^\022\r, kf23=^\023\r, kf3=^\003\r, kf31=^\031\r,
+	kf32=^\032\r, kf33=^\033\r, kf34=^\034\r, kf35=^\035\r,
+	kf36=^\036\r, kf37=^\037\r, kf38=^\038\r, kf39=^\039\r,
+	kf4=^\004\r, kf40=^\040\r, kf41=^\041\r, kf42=^\042\r,
+	kf43=\E$P, kf44=\E$Q, kf45=\E$R, kf46=\E$S, kf47=^\047\r,
+	kf48=^\048\r, kf49=^\049\r, kf5=^\005\r, kf50=^\050\r,
+	kf51=^\051\r, kf52=^\052\r, kf53=^\053\r, kf6=^\006\r,
+	kf7=^\007\r, kf8=^\008\r, kf9=^\009\r, khome=\E[H,
+	kind=\E[T, knp=\E[U, kpp=\E[V, kri=\E[S, ll=\E[H\E[A,
+	nel=\E[E, rc=\E8, rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l,
+	rmso=\E[m\017, rmul=\E[m\017, sc=\E7,
+	sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m,
+	smul=\E[0;4m, tbc=\E[3g, tsl=\E[2!w\E[%i%p1%dG,
+	vpa=\E[%i%p1%dd, use=ansi+pp,
+
+# <ht> through <el> included to specify padding needed in raw mode.
+# (avt-ns: added empty <acsc> to suppress a tic warning --esr)
+avt-ns|concept avt no status line,
+	OTbs, am, eo, mir, ul, xenl, xon,
+	cols#80, it#8, lines#24, lm#192,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	clear=\E[H\E[J$<38>, cnorm=\E[=119l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[=119h, dch1=\E[P, dim=\E[1!{, dl=\E[%p1%dM$<4*>,
+	dl1=\E[M$<4>, ed=\E[J$<96>, el=\E[K$<6>, home=\E[H,
+	hpa=\E[%p1%{1}%+%dG, ht=\011$<4>, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL$<4*>, il1=\E[L$<4>, ind=\n$<8>,
+	invis=\E[8m, ip=$<4>, is1=\E[=103l\E[=205l,
+	is2=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E^B\r, ked=\E^D\r, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, khome=\E[H, kich1=\E^A\r, kil1=\E^C\r, ll=\E[24H,
+	mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+	pfloc=\E[%p1%d;0u#%p2%s#, pfx=\E[%p1%d;1u#%p2%s#,
+	prot=\E[99m, rc=\E8, rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m,
+	ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n,
+	rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{,
+	sc=\E7,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;%?%p8%t99;%;m%?%p5%t\E[1!{%;%?%p9%t\017%e\016%;$<1>,
+	sgr0=\E[m\016$<1>, smacs=\017$<1>,
+	smcup=\E[=4l\E[1;24w\E2\r, smir=\E[4h,
+	smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%p1%{1}%+%dd,
+avt-rv-ns|concept avt in reverse video mode/no status line,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
+	use=avt-ns,
+avt-w-ns|concept avt in 132 column mode/no status line,
+	is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w,
+	use=avt-ns,
+avt-w-rv-ns|concept avt in 132 column mode/no status line/reverse video,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h,
+	smcup=\E[H\E[1;24;1;132w, use=avt-ns,
+
+# Concept AVT with status line. We get the status line using the
+# "Background status line" feature of the terminal. We swipe the
+# first line of memory in window 2 for the status line, keeping
+# 191 lines of memory and 24 screen lines for regular use.
+# The first line is used instead of the last so that this works
+# on both 4 and 8 page AVTs. (Note the lm#191 or 192 - this
+# assumes an 8 page AVT but lm isn't currently used anywhere.)
+#
+avt+s|concept avt status line changes,
+	eslok, hs,
+	lm#191,
+	dsl=\E[0*w, fsl=\E[1;1!w,
+	is3=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n,
+	rmcup=\E[2w\E2\r\n, smcup=\E[2;25w\E2\r,
+	tsl=\E[2;1!w\E[;%p1%dH\E[2K,
+avt|avt-s|concept-avt|avt w/80 columns,
+	use=avt+s, use=avt-ns,
+avt-rv|avt-rv-s|avt reverse video w/sl,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
+	use=avt+s, use=avt-ns,
+avt-w|avt-w-s|concept avt 132 cols+status,
+	is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w,
+	use=avt+s, use=avt-ns,
+avt-w-rv|avt-w-rv-s|avt wide+status+rv,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h,
+	smcup=\E[H\E[1;24;1;132w, use=avt+s, use=avt-ns,
+
+#### Contel Business Systems.
+#
+
+# Contel c300 and c320 terminals.
+contel300|contel320|c300|Contel Business Systems C-300 or C-320,
+	am, in, xon,
+	cols#80, lines#24, xmc#1,
+	bel=^G, clear=\EK, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>,
+	el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH,
+	hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=^J, ip=$<5.5*>,
+	kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD,
+	kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA,
+	rmso=\E!\0, sgr0=\E!\0, smso=\E!\r, tbc=\E3,
+# Contel c301 and c321 terminals.
+contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321,
+	flash@, ich1@, ip@, rmso=\E!\0$<20>, smso=\E!\r$<20>,
+	use=contel300,
+
+#### Data General (dg)
+#
+# According to James Carlson <carlson@xylogics.com> writing in January 1995,
+# the terminals group at Data General was shut down in 1991; all these
+# terminals have thus been discontinued.
+#
+# DG terminals have function keys that respond to the SHIFT and CTRL keys,
+# e.g., SHIFT-F1 generates a different code from F1.  To number the keys
+# sequentially, first the unmodified key codes are listed as F1 through F15.
+# Then their SHIFT versions are listed as F16 through F30, their CTRL versions
+# are listed as F31 through F45, and their CTRL-SHIFT versions are listed as
+# F46 through F60.  This is done in the private "includes" below whose names
+# start with "dgkeys+".
+#
+# DG terminals generally support 8 bit characters.  For each of these terminals
+# two descriptions are supplied:
+#	1) A default description for 8 bits/character communications, which
+#	   uses the default DG international character set and keyboard codes.
+#	2) A description with suffix "-7b" for 7 bits/character communications.
+#	   This description must use the NON-DEFAULT native keyboard language.
+
+# Unmodified fkeys (kf1-kf11), Shift fkeys (kf12-kf22), Ctrl fkeys (kf23-kf33),
+# Ctrl/Shift fdkeys (kf34-kf44).
+
+dgkeys+8b|Private entry describing DG terminal 8-bit ANSI mode special keys,
+	ka1=\233020z, ka3=\233021z, kc1=\233022z, kc3=\233023z,
+	kclr=\2332J, kcub1=\233D, kcud1=\233B, kcuf1=\233C,
+	kcuu1=\233A, kel=\233K, kf1=\233001z, kf10=\233010z,
+	kf11=\233011z, kf12=\233012z, kf13=\233013z,
+	kf14=\233014z, kf15=\233000z, kf16=\233101z,
+	kf17=\233102z, kf18=\233103z, kf19=\233104z,
+	kf2=\233002z, kf20=\233105z, kf21=\233106z,
+	kf22=\233107z, kf23=\233108z, kf24=\233109z,
+	kf25=\233110z, kf26=\233111z, kf27=\233112z,
+	kf28=\233113z, kf29=\233114z, kf3=\233003z,
+	kf30=\233100z, kf31=\233201z, kf32=\233202z,
+	kf33=\233203z, kf34=\233204z, kf35=\233205z,
+	kf36=\233206z, kf37=\233207z, kf38=\233208z,
+	kf39=\233209z, kf4=\233004z, kf40=\233210z,
+	kf41=\233211z, kf42=\233212z, kf43=\233213z,
+	kf44=\233214z, kf45=\233200z, kf46=\233301z,
+	kf47=\233302z, kf48=\233303z, kf49=\233304z,
+	kf5=\233005z, kf50=\233305z, kf51=\233306z,
+	kf52=\233307z, kf53=\233308z, kf54=\233309z,
+	kf55=\233310z, kf56=\233311z, kf57=\233312z,
+	kf58=\233313z, kf59=\233314z, kf6=\233006z,
+	kf60=\233300z, kf7=\233007z, kf8=\233008z, kf9=\233009z,
+	khome=\233H, kprt=\233i,
+
+dgkeys+7b|Private entry describing DG terminal 7-bit ANSI mode special keys,
+	ka1=\E[020z, ka3=\E[021z, kc1=\E[022z, kc3=\E[023z,
+	kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kel=\E[K, kf1=\E[001z, kf10=\E[010z, kf11=\E[011z,
+	kf12=\E[012z, kf13=\E[013z, kf14=\E[014z, kf15=\E[000z,
+	kf16=\E[101z, kf17=\E[102z, kf18=\E[103z, kf19=\E[104z,
+	kf2=\E[002z, kf20=\E[105z, kf21=\E[106z, kf22=\E[107z,
+	kf23=\E[108z, kf24=\E[109z, kf25=\E[110z, kf26=\E[111z,
+	kf27=\E[112z, kf28=\E[113z, kf29=\E[114z, kf3=\E[003z,
+	kf30=\E[100z, kf31=\E[201z, kf32=\E[202z, kf33=\E[203z,
+	kf34=\E[204z, kf35=\E[205z, kf36=\E[206z, kf37=\E[207z,
+	kf38=\E[208z, kf39=\E[209z, kf4=\E[004z, kf40=\E[210z,
+	kf41=\E[211z, kf42=\E[212z, kf43=\E[213z, kf44=\E[214z,
+	kf45=\E[200z, kf46=\E[301z, kf47=\E[302z, kf48=\E[303z,
+	kf49=\E[304z, kf5=\E[005z, kf50=\E[305z, kf51=\E[306z,
+	kf52=\E[307z, kf53=\E[308z, kf54=\E[309z, kf55=\E[310z,
+	kf56=\E[311z, kf57=\E[312z, kf58=\E[313z, kf59=\E[314z,
+	kf6=\E[006z, kf60=\E[300z, kf7=\E[007z, kf8=\E[008z,
+	kf9=\E[009z, khome=\E[H, kprt=\E[i,
+
+dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys,
+	kclr=^L, kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kel=^K,
+	kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^a, kf13=^^b, kf14=^^c,
+	kf15=^^d, kf16=^^e, kf17=^^f, kf18=^^g, kf19=^^h, kf2=^^r,
+	kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3,
+	kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8,
+	kf31=^^9, kf32=^^\:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#,
+	kf37=^^$, kf38=^^%%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(,
+	kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w,
+	kf8=^^x, kf9=^^y, khome=^H,
+
+dgkeys+15|Private entry describing 15 DG mode special keys,
+	kHOM=^^^H, kLFT=^^^Y, kRIT=^^^X, ka1=^^\\, ka3=^^], kc1=^^\^,
+	kc3=^^_, kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^|, kf13=^^},
+	kf14=^^~, kf15=^^p, kf16=^^a, kf17=^^b, kf18=^^c, kf19=^^d,
+	kf2=^^r, kf20=^^e, kf21=^^f, kf22=^^g, kf23=^^h, kf24=^^i,
+	kf25=^^j, kf26=^^k, kf27=^^l, kf28=^^m, kf29=^^n, kf3=^^s,
+	kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5,
+	kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^\:,
+	kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!,
+	kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%%, kf51=^^&,
+	kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,,
+	kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x,
+	kf9=^^y,
+
+# Data General color terminals use the "Tektronix" color model.  The total
+# number of colors varies with the terminal model, as does support for
+# attributes used in conjunction with color.
+
+# Removed u7, u8 definitions since they conflict with tack:
+#		Preserve user-defined colors in at least some cases.
+#	u7=^^Fh,
+#		Default is ACM mode.
+#	u8=^^F}20^^Fi^^F}21,
+#
+dgunix+fixed|Fixed color info for DG D430C terminals in DG-UNIX mode,
+	bce,
+	colors#16, ncv#53, pairs#256,
+	op=\036Ad\036Bd,
+	setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c,
+	setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c,
+	setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c,
+
+dg+fixed|Fixed color info for DG D430C terminals in DG mode,
+	use=dgunix+fixed,
+
+# Video attributes are coordinated using static variables set by "sgr", then
+# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings.
+# (D=dim, U=underline, B=blink, R=reverse.)
+dg+color8|Color info for Data General D220 and D230C terminals in ANSI mode,
+	bce,
+	colors#8, ncv#16, pairs#64,
+	op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m,
+	setab=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setaf=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+
+dg+color|Color info for Data General D470C terminals in ANSI mode,
+	colors#16, ncv#53, pairs#256,
+	setab=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	use=dg+color8,
+
+dgmode+color8|Color info for Data General D220/D230C terminals in DG mode,
+	bce,
+	colors#8, ncv#16, pairs#64,
+	op=\036Ad\036Bd,
+	setab=\036B%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%{48}%+%c,
+	setaf=\036A%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%{48}%+%c,
+	setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c,
+
+dgmode+color|Color info for Data General D470C terminals in DG mode,
+	colors#16, pairs#256,
+	setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c,
+	setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c,
+	use=dgmode+color8,
+
+dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode,
+	bce, ccc,
+	colors#52, ncv#53, pairs#26,
+	initp=\036RG0%p1%02X%p2%{255}%*%{1000}%/%02X%p3%{255}%*%{1000}%/%02X%p4%{255}%*%{1000}%/%02X%p5%{255}%*%{1000}%/%02X%p6%{255}%*%{1000}%/%02X%p7%{255}%*%{1000}%/%02X,
+	oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00,
+	op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D,
+	scp=\036RG2%p1%02X,
+
+# Colors are in the order:  normal, reverse, dim, dim + reverse.
+dg+ccc|Configurable color info for DG D430C terminals in DG mode,
+	bce, ccc,
+	colors#52, ncv#53, pairs#26,
+	initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c,
+	oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00,
+	op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=,
+	scp=\036RG2%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c,
+
+# The generic DG terminal type (an 8-bit-clean subset of the 6053)
+# Initialization string 1 sets:
+#	^R		- vertical scrolling enabled
+#	^C		- blinking enabled
+dg-generic|Generic Data General terminal in DG mode,
+	am, bw, msgr, xon,
+	cols#80, lines#24,
+	bel=^G, blink=^N, clear=^L, cr=^M, cub1=^Y, cud1=^Z, cuf1=^X,
+	cup=\020%p2%c%p1%c, cuu1=^W, dim=^\, el=^K, ind=^J, is1=^R^C,
+	mc0=^Q, nel=^J, rmso=^], rmul=^U, sgr0=^O^U^], smso=^\,
+	smul=^T, use=dgkeys+11,
+
+# According to the 4.4BSD termcap file, the dg200 <cup> should be the
+# termcap equivalent of \020%p2%{128}%+%c%p1%{128}%+%c (in termcap
+# notation that's "^P%r%+\200%+\200").  Those \200s are suspicious,
+# maybe they were originally nuls (which would fit).
+
+dg200|data general dasher 200,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^Y, cud1=^Z, cuf1=^X,
+	cup=\020%p2%c%p1%c, cuu1=^W, el=^K, home=^H, ind=^J,
+	kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^z, kf1=^^q,
+	kf2=^^r, kf3=^^s, kf4=^^t, kf5=^^u, kf6=^^v, kf7=^^w, kf8=^^x,
+	kf9=^^y, khome=^H, lf0=f10, nel=^J, rmso=^^E, rmul=^U,
+	smso=^^D, smul=^T,
+
+# Data General 210/211 (and 410?)	from Lee Pearson (umich!lp) via BRL
+dg210|dg-ansi|Data General 210/211,
+	am,
+	cols#80, lines#24,
+	OTnl=\E[B, clear=\E[2J, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	khome=\E[H, nel=\r\E[H\E[A\n, rmso=\E[0;m, rmul=\E[0;m,
+	smso=\E[7;m, smul=\E[4;m,
+# From: Peter N. Wan <ihnp4!gatech!gacsr!wan>
+# courtesy of Carlos Rucalde of Vantage Software, Inc.
+# (dg211: this had <cup=\020%r%.%>., which was an ancient termcap hangover.
+# I suspect the d200 function keys actually work on the dg211, check it out.)
+dg211|Data General d211,
+	cnorm=^L, cvvis=^L^R, ht=^I, ind@, kbs=^Y, kf0@, kf1@, kf2@, kf3@,
+	kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, lf0@, nel=^M^Z, rmcup=^L,
+	rmso=\036E$<0/>, smcup=^L^R, smso=\036D$<5/>, use=dg200,
+
+# dg450 from Cornell (not official)
+dg450|dg6134|data general 6134,
+	cub1@, cuf1=^X, use=dg200,
+
+# Not official...
+# Note: lesser Dasher terminals will not work with vi because vi insists upon
+# having a command to move straight down from any position on the bottom line
+# and scroll the screen up, or a direct vertical scroll command.  The 460 and
+# above have both, the D210/211, for instance, has neither.  We must use ANSI
+# mode rather than DG mode because standard UNIX tty drivers assume that ^H is
+# backspace on all terminals.  This is not so in DG mode.
+# (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the
+# grounds that there is no matching ":ml:"
+dg460-ansi|Data General Dasher 460 in ANSI-mode,
+	OTbs, am, msgr, ul,
+	cols#80, it#8, lines#24,
+	OTnl=\ED, blink=\E[5m, clear=\E[2J, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P,
+	dim=\E[2m, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	ich1=\E[@, il1=\E[L, ind=\E[S, is2=^^F@, kbs=\E[D,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z,
+	kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z,
+	kf8=\E[009z, kf9=\E[00\:z, khome=\E[H, lf0=f1, lf1=f2,
+	lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10,
+	mc0=\E[i, rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m,
+	sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u6=\E[%d;%dR,
+	u7=\E[6n, u8=\E[5n, u9=\E[0n,
+# From: Wayne Throop <mcnc!rti-sel!rtp47!throopw> (not official)
+# Data General 605x
+# Ought to work for a Model 6242, Type D210 as well as a 605x.
+# Note that the cursor-down key transmits ^Z.  Job control users, beware!
+# This also matches a posted description of something called a `Dasher 100'
+# so there's a dg100 alias here.
+# (dg6053: the 4.4BSD file had <cub1=^H>, <cud1=^J>, <cuf1=^S>. -- esr)
+dg6053-old|dg100|data general 6053,
+	OTbs, am, bw, ul,
+	cols#80, lines#24,
+	OTbc=^Y, bel=^G, clear=^L, cnorm=^L, cr=^M, cub1=^Y, cud1=^Z,
+	cuf1=^X, cup=\020%p2%c%p1%c, cuu1=^W, cvvis=^L^R, el=^K,
+	home=^H, ht=^I, is2=^R, kbs=^Y, kcub1=^Y, kcud1=^Z, kcuf1=^X,
+	kcuu1=^W, kf0=^^q, kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v,
+	kf6=^^w, kf7=^^x, kf8=^^y, kf9=^^z, khome=^H, rmcup=^L,
+	rmso=\0^^E, rmul=^U, smcup=^L^R, smso=\0\0\0\0\0\036D,
+	smul=^T,
+
+# (Some performance can be gained over the generic DG terminal type)
+dg6053|6053|6053-dg|dg605x|605x|605x-dg|d2|d2-dg|Data General DASHER 6053,
+	xon@,
+	home=^P\0\0, ll=^P\0^W, use=dg-generic,
+
+# Like 6053, but adds reverse video and more keypad and function keys.
+d200|d200-dg|Data General DASHER D200,
+	bold=^^D^T, home@, ll@, rev=^^D, rmso=^^E^],
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;,
+	sgr0=\017\025\035\036E, smso=^^D^\, use=dgkeys+15,
+	use=dg6053,
+
+# DASHER D210 series terminals in ANSI mode.
+#	Reverse video, no insert/delete character/line, 7 bits/character only.
+#
+# Initialization string 1 sets:
+#	<0		- scrolling enabled
+#	<1		- blink enabled
+#	<4		- print characters regardless of attributes
+d210|d214|Data General DASHER D210 series,
+	am, bw, msgr, xon,
+	cols#80, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[4;7m, clear=\E[2J, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ind=^J, is1=\E[<0;<1;<4l,
+	ll=\E[H\E[A, nel=^J, rev=\E[7m, rmso=\E[m, rmul=\E[m,
+	sgr=\E[%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;%?%p1%p3%|%p6%|%t7;%;m,
+	sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b,
+
+# DASHER D210 series terminals in DG mode.
+# Like D200, but adds clear to end-of-screen and needs XON/XOFF.
+d210-dg|d214-dg|Data General DASHER D210 series in DG mode,
+	xon,
+	ed=^^FF, use=d200-dg,
+
+# DASHER D211 series terminals in ANSI mode.
+# Like the D210, but with 8-bit characters and local printer support.
+#
+# Initialization string 2 sets:
+#	\E[2;1;1;1v
+#		2;1	- 8 bit operations
+#		1;1	- 8 bit (international) keyboard language
+#	\E(B		- default primary character set (U.S. ASCII)
+#	\E)4		- default secondary character set (international)
+#	^O		- primary character set
+#
+d211|d215|Data General DASHER D211 series,
+	km,
+	is2=\E[2;1;1;1v\E(B\E)4\017, mc0=\E[i, use=dgkeys+8b,
+	use=d210,
+
+# Initialization string 2 sets:
+#	\E[2;0;1;0v
+#		2;0	- 7 bit operations
+#		1;0	- 7 bit (native) keyboard language
+#	\E(0		- default character set (the keyboard native language)
+#	^O		- primary character set
+d211-7b|d215-7b|Data General DASHER D211 series in 7 bit mode,
+	km@,
+	is2=\E[2;0;1;0v\E(0\017, use=dgkeys+7b, use=d211,
+
+# Like the D210 series, but adds support for 8-bit characters.
+#
+# Reset string 2 sets:
+#	^^N	- secondary character set
+#	^^FS0>	- 8 bit international character set
+#	^^O	- primary character set
+#	^^FS00	- default character set (matching the native keyboard language)
+#
+d211-dg|d215-dg|Data General DASHER D211 series in DG mode,
+	km,
+	rs2=\036N\036FS0>\036O\036FS00, use=d210-dg,
+
+d216-dg|d216e-dg|d216+dg|d216e+dg|d217-dg|Data General DASHER D216 series in DG mode,
+	use=d211-dg,
+
+# Enhanced DG mode with changes to be more UNIX compatible.
+d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode,
+	mc5i,
+	it#8,
+	acsc=a\177j$k"l!m#n)q+t'u&v(w%x*, blink=^^PI,
+	clear=^^PH, cub1=^^PD, cud1=^^PB, cuf1=^^PC, cuu1=^^PA,
+	el=^^PE, home=^^PF, hpa=\020%p1%c\177, ht=^I, ind=^J,
+	is1=\022\003\036P@1, is3=\036Fz0, kHOM=^^Pf, kLFT=^^Pd,
+	kPRT=^^P1, kRIT=^^Pc, kclr=^^PH, kcub1=^^PD, kcud1=^^PB,
+	kcuf1=^^PC, kcuu1=^^PA, kel=^^PE, khome=^^PF, kprt=^^P0,
+	mc0=\036F?9, mc4=^^Fa, mc5=^^F`, rmacs=\036FS00,
+	rs2=\036N\036FS0E\036O\036FS00,
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;,
+	sgr0=\036PJ\025\035\036E\036FS00, smacs=\036FS11,
+	vpa=\020\177%p1%c, use=dgkeys+15, use=d216-dg,
+d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines,
+	lines#25,
+	is3=\036Fz2, use=d216+,
+
+d217-unix|Data General DASHER D217 in DG-UNIX mode,
+	use=d216-unix,
+d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines,
+	use=d216-unix-25,
+
+# DASHER D220 color terminal in ANSI mode.
+# Like the D470C but with fewer colors and screen editing features.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<4	- print characters regardless of attributes
+#	\E[m		- all attributes off
+# Reset string 1 sets:
+#	\Ec		- initial mode defaults (RIS)
+#
+d220|Data General DASHER D220,
+	mc5i@,
+	dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec,
+	use=dg+color8, use=d470c,
+
+d220-7b|Data General DASHER D220 in 7 bit mode,
+	mc5i@,
+	dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec,
+	use=dg+color8, use=d470c-7b,
+
+# Initialization string 3 sets:
+#	- default cursor (solid rectangle)
+# Reset string 2 sets:
+#	^^N     - secondary character set
+#	^^FS0>  - 8 bit international character set
+#	^^O     - primary character set
+#       ^^FS00  - default character set (matching the native keyboard language)
+#
+d220-dg|Data General DASHER D220 color terminal in DG mode,
+	mc5i@,
+	dl1@, home@, il1@, is2@, is3=\036FQ2, ll@, mc4@, mc5@, rs1@,
+	rs2=\036N\036FS0>\036O\036FS00, use=dgmode+color8,
+	use=d470c-dg,
+
+# DASHER D230C color terminal in ANSI mode.
+# Like the D220 but with minor ANSI compatibility improvements.
+#
+d230c|d230|Data General DASHER D230C,
+	blink=\E[5;50m, bold=\E[4;7;50m, dim=\E[2;50m, nel=^M^J,
+	rev=\E[7;50m, rmkx=\E[2;1v, rmso=\E[50m, rmul=\E[50m,
+	sgr=\E[50%?%p1%p3%|%p6%|%t;7%{1}%e%{0}%;%PR%?%p4%t;5%{1}%e%{0}%;%PB%?%p2%p6%|%t;4%{1}%e%{0}%;%PU%?%p1%p5%|%t;2%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;,
+	sgr0=\E[50m\E)4\017, smkx=\E[2;0v, smso=\E[2;7;50m,
+	smul=\E[4;50m, use=dgkeys+7b, use=d220,
+
+d230c-dg|d230-dg|Data General DASHER D230C in DG mode,
+	use=d220-dg,
+
+# DASHER D400/D450 series terminals.
+# These add intelligent features like insert/delete to the D200 series.
+#
+# Initialization string 2 sets:
+#	^^FQ2		- default cursor (solid rectangle)
+#	^^FW		- character protection disabled
+#	^^FJ		- normal (80 column) mode
+#	^^F\^		- horizontal scrolling enabled (for alignment)
+#	^^FX004?	- margins at columns 0 and 79
+#	^^F]		- horizontal scrolling disabled
+#	^^O		- primary character set
+#	^^FS00		- default character set (the keyboard native language)
+#	- (should reset scrolling regions, but that glitches the screen)
+# Reset string 1 sets:
+#	^^FA		- all terminal defaults except scroll rate
+# Reset string 2 sets:
+#	^^F]		- horizontal scrolling disabled
+#	^^FT0		- jump scrolling
+#
+d400|d400-dg|d450|d450-dg|Data General DASHER D400/D450 series,
+	mc5i,
+	acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\036FQ0,
+	cnorm=\036FQ2, dch1=^^K, dl1=^^FI,
+	enacs=\036N\036FS11\036O, home=^^FG, hpa=\020%p1%c\177,
+	ich1=^^J, il1=^^FH,
+	is2=\036FQ2\036FW\036FJ\036F\^\036FX004?\036F]\036O\036FS00,
+	ll=\036FG\027, mc4=^^Fa, mc5=^^F`, ri=^^I, rmacs=^^O,
+	rs1=^^FA, rs2=\036F]\036FT0,
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036%?%p9%tN%eO%;,
+	sgr0=\017\025\035\036E\036O, smacs=^^N,
+	vpa=\020\177%p1%c, use=d210-dg,
+
+# DASHER D410/D460 series terminals in ANSI mode.
+# These add a large number of intelligent terminal features.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[5;0v		- normal (80 column) mode
+#	\E[1;1;80w	- margins at columns 1 and 80
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+# Initialization string 2 sets:
+#	\E[3;2;2;1;1;1v
+#		3;2	- default cursor (solid rectangle)
+#		2;1	- 8 bit operations
+#		1;1	- international keyboard language
+#	\E(B		- default primary character set (U.S. ASCII)
+#	\E)4		- default secondary character set (international)
+#	^O		- primary character set
+#
+#	Reset string 1 sets:
+#	\Ec		- initial mode defaults (RIS)
+#	\E[<2h		- horizontal scrolling disabled
+#
+# Reset string 2 sets:
+#	\E[4;0;2;1;1;1v
+#		4;0	- jump scrolling
+#		2;1	- 8 bit operations
+#		1;1	- 8 bit (international) keyboard language
+#	\E(B		- default primary character set (U.S. ASCII)
+#	\E)4		- default secondary character set (international)
+#
+d410|d411|d460|d461|Data General DASHER D410/D460 series,
+	mc5i,
+	acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\E[3;0v,
+	cnorm=\E[3;2v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
+	is1=\E[<0;<1;<2;<4l\E[5;0v\E[1;1;80w\E[1;6;<2h,
+	is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i,
+	ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h,
+	rs2=\E[4;0;2;1;1;1v\E(B\E)4,
+	sgr=\E[%?%p1%t2;7%;%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p1%p5%|%t2;%;%?%p6%t4;7;%;m\E)%?%p9%t6\016%e4\017%;,
+	sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211,
+
+# Initialization string 2 sets:
+#	\E[3;2;2;0;1;0v
+#		3;2	- default cursor (solid rectangle)
+#		2;0	- 7 bit operations
+#		1;0	- 7 bit (native) keyboard language
+#	\E(0		- default character set (the keyboard native language)
+#	^O		- primary character set
+#
+# Reset string 2 sets:
+#	\E[4;0;2;0;1;0v
+#		4;0	- jump scrolling
+#		2;0	- 7 bit operations
+#		1;0	- 7 bit (native) keyboard language
+#	\E(0		- default character set (the keyboard native language)
+#
+d410-7b|d411-7b|d460-7b|d461-7b|Data General DASHER D410/D460 series in 7 bit mode,
+	km@,
+	enacs=\E)6, is2=\E[3;2;2;0;1;0v\E(0\017, rmacs=^O,
+	rs2=\E[4;0;2;0;1;0v\E(0,
+	sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, use=dgkeys+7b, use=d410,
+
+d410-dg|d460-dg|d411-dg|d461-dg|Data General DASHER D410/D460 series in DG mode,
+	km,
+	enacs@, rmacs=\036FS00,
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;,
+	sgr0=\017\025\035\036E\036FS00, smacs=\036FS11,
+	use=d400-dg,
+
+# DASHER D410/D460 series terminals in wide (126 columns) ANSI mode.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[5;1v		- compressed (135 column) mode
+#	\E[1;1;126	- margins at columns 1 and 126
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+# Reset string 1 sets:
+#	\Ec		- initial mode defaults (RIS)
+#	\E[5;1v		- compressed (135 column) mode
+#	\E[1;1;126w	- margins at columns 1 and 126
+#	\E[<2h		- horizontal scrolling disabled
+#
+d410-w|d411-w|d460-w|d461-w|Data General DASHER D410/D460 series in wide mode,
+	cols#126,
+	is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h,
+	rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410,
+
+d410-7b-w|d411-7b-w|d460-7b-w|d461-7b-w|Data General DASHER D410/D460 series in wide 7 bit mode,
+	cols#126,
+	is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h,
+	rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410-7b,
+
+d412-dg|d462-dg|d462e-dg|d412+dg|d462+dg|d413-dg|d463-dg|Data General DASHER D412/D462 series in DG mode,
+	use=d410-dg,
+
+# These add intelligent features like scrolling regions.
+d412-unix|d462-unix|d412+|d462+|Data General DASHER D412+/D462+ series in Unix mode,
+	civis=\036FQ0, clear=^^FE, cnorm=\036FQ5,
+	cup=\036FP%p2%2.2X%p1%2.2X, dch1=^^K, dl1=^^FI,
+	home=^^FG, hpa=\036FP%p1%2.2XFF, ich1=^^J, il1=^^FH,
+	is2=\036FQ5\036FW\036FJ\036F\^\036FX004F\036O\036FS00,
+	ll=\036FG\036PA, mc0=^A, rc=\036F}11, ri=^^I,
+	rs1=\036FA\036FT0, rs2=\036P@1, sc=\036F}10,
+	vpa=\036FPFF%p1%2.2X,
+	wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X,
+	use=d216+,
+d412-unix-w|d462-unix-w|d412+w|d462+w|Data General DASHER D412+/D462+ series in wide Unix mode,
+	cols#132,
+	is2=\036FQ5\036FW\036FK\036F\^\036FX0083\036O\036FS00,
+	rs2=\036P@1\036FK\036FX0083,
+	wind=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X,
+	use=d412-unix,
+d412-unix-25|d462-unix-25|d412+25|d462+25|Data General DASHER D412+/D462+ series in Unix mode with 25 lines,
+	lines#25,
+	is3=\036Fz2,
+	wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X,
+	use=d462+,
+d412-unix-s|d462-unix-s|d412+s|d462+s|Data General DASHER D412+/D462+ in Unix mode with status line,
+	eslok, hs,
+	clear=\036FG\036PH, fsl=\036F}01\022,
+	is3=\036Fz2\036F}00\036FB180000\036F}01, ll@,
+	tsl=\036F}00\036FP%p1%2.2X18\036PG,
+	wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X,
+	use=d462+,
+
+#	Relative cursor motions are confined to the current window,
+#	which is not what the scrolling region specification expects.
+#	Thus, relative vertical cursor positioning must be deleted.
+d412-unix-sr|d462-unix-sr|d412+sr|d462+sr|Data General DASHER D412+/D462+ in Unix mode with scrolling region,
+	csr=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;,
+	cud1@, cuu1@, ll@, use=d462+,
+
+d413-unix|d463-unix|Data General DASHER D413/D463 series in DG-UNIX mode,
+	use=d412-unix,
+d413-unix-w|d463-unix-w|Data General DASHER D413/D463 series in wide DG-UNIX mode,
+	use=d412-unix-w,
+d413-unix-25|d463-unix-25|Data General DASHER D413/D463 series in DG-UNIX mode with 25 lines,
+	use=d412-unix-25,
+d413-unix-s|d463-unix-s|Data General DASHER D413/D463 in DG-UNIX mode with status line,
+	use=d412-unix-s,
+d413-unix-sr|d463-unix-sr|Data General DASHER D413/D463 in DG-UNIX mode with scrolling region,
+	use=d412-unix-sr,
+
+d414-unix|d464-unix|Data General D414/D464 in DG-UNIX mode,
+	use=d413-unix,
+d414-unix-w|d464-unix-w|Data General D414/D464 in wide DG-UNIX mode,
+	use=d413-unix-w,
+d414-unix-25|d464-unix-25|Data General D414/D464 in DG-UNIX mode with 25 lines,
+	use=d413-unix-25,
+d414-unix-s|d464-unix-s|Data General D414/D464 in DG-UNIX mode with status line,
+	use=d413-unix-s,
+d414-unix-sr|d464-unix-sr|Data General D414/D464 in DG-UNIX mode with scrolling region,
+	use=d413-unix-sr,
+
+d430c-dg|d430-dg|Data General D430C in DG mode,
+	use=d413-dg, use=dg+fixed,
+d430c-dg-ccc|d430-dg-ccc|Data General D430C in DG mode with configurable colors,
+	use=d413-dg, use=dg+ccc,
+
+d430c-unix|d430-unix|Data General D430C in DG-UNIX mode,
+	use=d413-unix, use=dgunix+fixed,
+d430c-unix-w|d430-unix-w|Data General D430C in wide DG-UNIX mode,
+	use=d413-unix-w, use=dgunix+fixed,
+d430c-unix-25|d430-unix-25|Data General D430C in DG-UNIX mode with 25 lines,
+	use=d413-unix-25, use=dgunix+fixed,
+d430c-unix-s|d430-unix-s|Data General D430C in DG-UNIX mode with status line,
+	use=d413-unix-s, use=dgunix+fixed,
+d430c-unix-sr|d430-unix-sr|Data General D430C in DG-UNIX mode with scrolling region,
+	use=d413-unix-sr, use=dgunix+fixed,
+d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurable colors,
+	use=d413-unix, use=dgunix+ccc,
+d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with configurable colors,
+	use=d413-unix-w, use=dgunix+ccc,
+d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 lines and configurable colors,
+	use=d413-unix-25, use=dgunix+ccc,
+d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status line and configurable colors,
+	use=d413-unix-s, use=dgunix+ccc,
+d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrolling region and configurable colors,
+	use=d413-unix-sr, use=dgunix+ccc,
+
+# DASHER D470C color terminal in ANSI mode.
+# Like the D460 but with 16 colors and without a compressed mode.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[1;1;80w	- margins at columns 1 and 80
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+d470c|d470|Data General DASHER D470C,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+	sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m\E)%?%p9%t6\016%e4\017%;,
+	use=dg+color, use=d460,
+
+d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+	sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m%?%p9%t\016%e\017%;,
+	use=dg+color, use=d460-7b,
+
+# Initialization string 2 sets:
+#	^^FQ2		- default cursor (solid rectangle)
+#	^^FW		- character protection disabled
+#	^^F\^		- horizontal scrolling enabled (for alignment)
+#	^^FX004?	- margins at columns 0 and 79
+#	^^F]		- horizontal scrolling disabled
+#	^^O		- primary character set
+#	^^FS00		- default character set (the keyboard native language)
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+d470c-dg|d470-dg|Data General DASHER D470C in DG mode,
+	is2=\036FQ2\036FW\036F\^\036FX004?\036F]\036O\036FS00,
+	use=dgmode+color, use=d460-dg,
+
+# DASHER D555 terminal in ANSI mode.
+# Like a D411, but has an integrated phone.
+d555|Data General DASHER D555,
+	use=d411,
+d555-7b|Data General DASHER D555 in 7-bit mode,
+	use=d411-7b,
+d555-w|Data General DASHER D555 in wide mode,
+	use=d411-w,
+d555-7b-w|Data General DASHER D555 in wide 7-bit mode,
+	use=d411-7b-w,
+d555-dg|Data General DASHER D555 series in DG mode,
+	use=d411-dg,
+
+# DASHER D577 terminal in ANSI mode.
+# Like a D411, but acts as a keyboard for serial printers ("KSR" modes).
+d577|Data General DASHER D577,
+	use=d411,
+d577-7b|Data General DASHER D577 in 7-bit mode,
+	use=d411-7b,
+d577-w|Data General DASHER D577 in wide mode,
+	use=d411-w,
+d577-7b-w|Data General DASHER D577 in wide 7-bit mode,
+	use=d411-7b-w,
+
+d577-dg|d578-dg|Data General DASHER D577/D578 series in DG mode,
+	use=d411-dg,
+
+# DASHER D578 terminal.
+# Like a D577, but without compressed mode; like a D470C in this respect.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[1;1;80w	- margins at columns 1 and 80
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+d578|Data General DASHER D578,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577,
+d578-7b|Data General DASHER D578 in 7-bit mode,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577-7b,
+
+#### Datamedia (dm)
+#
+# Datamedia was headquartered in Nashua, New Hampshire until it went
+# out of business in 1993, but the ID plates on the terminals referred
+# to the factory in Pennsauken, NJ.  The factory was sold to a PCB board
+# manufacturer which threw out all information about the terminals.
+#
+
+cs10|colorscan|Datamedia Color Scan 10,
+	msgr,
+	cols#80, lines#24,
+	bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%02d;%p2%02dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+cs10-w|Datamedia Color Scan 10 with 132 columns,
+	cols#132,
+	cup=\E[%i%p1%02d;%p2%03dH, use=cs10,
+
+# (dm1520: removed obsolete ":ma=^\ ^_^P^YH:" -- esr)
+dm1520|dm1521|datamedia 1520,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ht=^I, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^\, kcuu1=^_,
+	khome=^Y,
+# dm2500: this terminal has both <ich> and <smir>. Applications using
+# termcap/terminfo directly (rather than through ncurses) might be confused.
+dm2500|datamedia2500|datamedia 2500,
+	OTbs, OTnc,
+	cols#80, lines#24,
+	bel=^G, clear=^^^^\177, cub1=^H, cud1=^J, cuf1=^\,
+	cup=\014%p2%{96}%^%c%p1%{96}%^%c, cuu1=^Z,
+	dch1=\020\010\030\035$<10*>,
+	dl1=\020\032\030\035$<10*>, el=^W, home=^B,
+	ich1=\020\034\030\035$<10*>,
+	il1=\020\n\030\035\030\035$<15>, ind=^J, pad=\377,
+	rmdc=^X^], rmir=\377\377\030\035$<10>, rmso=^X^],
+	smdc=^P, smir=^P, smso=^N,
+# dmchat is like DM2500, but DOES need "all that padding" (jcm 1/31/82)
+# also, has a meta-key.
+# From: <goldberger@su-csli.arpa>
+# (dmchat: ":MT:" changed to ":km:" -- esr)
+dmchat|dmchat version of datamedia 2500,
+	km,
+	dl1=\020\032\030\035$<2/>,
+	il1=\020\n\030\035\030\035$<1*/>, use=dm2500,
+# (dm3025: ":MT:" changed to ":km:" -- esr)
+dm3025|datamedia 3025a,
+	OTbs, km,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EM$<2>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA,
+	dch1=\010$<6>, dl1=\EP\EA\EQ$<130>, ed=\EJ$<2>, el=\EK,
+	home=\EH, ht=^I, il1=\EP\n\EQ$<130>, ind=^J, ip=$<6>,
+	is2=\EQ\EU\EV, rmdc=\EQ, rmir=\EQ, rmso=\EO0, smdc=\EP,
+	smir=\EP, smso=\EO1,
+dm3045|datamedia 3045a,
+	OTbs, am, eo, km@, ul, xenl,
+	dch1=\EB$<6>, dl1@, il1@, is2=\EU\EV, kcuf1=\EC, kcuu1=\EA,
+	kf0=\Ey\r, kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r,
+	kf5=\Et\r, kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r, kf9=\Ex\r,
+	khome=\EH, pad=\177, rmdc@, rmir=\EP, rmso@, smdc@, smso@,
+	use=dm3025,
+# Datamedia DT80 soft switches:
+# 1	0=Jump  1=Smooth
+# 	Autorepeat 	0=off  1=on
+# 	Screen		0=Dark 1=light
+# 	Cursor		0=u/l  1=block
+#
+# 2	Margin Bell	0=off  1=on
+# 	Keyclick	0=off  1=on
+# 	Ansi/VT52	0=VT52 1=Ansi
+# 	Xon/Xoff	0=Off  1=On
+#
+# 3	Shift3		0=Hash 1=UK Pound
+# 	Wrap		0=Off  1=On
+# 	Newline		0=Off  1=On
+# 	Interlace	0=Off  1=On
+#
+# 4	Parity		0=Odd  1=Even
+# 	Parity		0=Off  1=On
+# 	Bits/Char	0=7    1=8
+# 	Power		0=60Hz 1=50Hz
+#
+# 5	Line Interface  0=EIA  1=Loop
+# 	Aux Interface   0=EIA  1=Loop
+# 	Local Copy    	0=Off  1=On
+# 	Spare
+#
+# 6	Aux Parity	0=Odd  1=Even
+# 	Aux Parity	0=Off  1=On
+# 	Aux Bits/Char   0=7    1=8
+# 	CRT Saver	0=Off  1=On
+# dm80/1 is a vt100 lookalike, but it doesn't seem to need any padding.
+dm80|dmdt80|dt80|datamedia dt80/1,
+	clear=\E[2J\E[H, cud1=^J, cuf1=\E[C,
+	cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, ri=\EM,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+	use=vt100,
+# except in 132 column mode, where it needs a little padding.
+# This is still less padding than the vt100, and you can always turn on
+# the ^S/^Q handshaking, so you can use vt100 flavors for things like
+# reverse video.
+dm80w|dmdt80w|dt80w|datamedia dt80/1 in 132 char mode,
+	cols#132,
+	clear=\E[H\E[2J$<50/>, cud1=^J,
+	cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<5/>,
+	ed=\E[0J$<20/>, el=\E[0K$<20/>, use=dm80,
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+dt80-sas|Datamedia DT803/DTX for SAS usage,
+	am, bw,
+	cols#80, lines#24,
+	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
+	bel=^G, clear=^L, cr=^M,
+	csr=\E=%p1%{32}%+%c%{32}%c\E#1\E=%p2%{32}%+%c%{32}%c\E#2,
+	cub1=^H, cud1=\EB, cuf1=^\,
+	cup=\E=%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, dl1=\EM, ed=^K,
+	el=^], ff=^L, home=^Y, ht=^I, hts=\E'1, il1=\EL, ind=\EB,
+	is2=\E)0\E<\EP\E'0\E$2, kclr=^L, kcub1=^H, kcud1=^J,
+	kcuf1=^\, kcuu1=^_, ked=^K, kel=^], khome=^Y, mc4=^O, mc5=^N,
+	rev=\E$2\004, ri=\EI, rmacs=\EG, rmso=^X, sgr0=^X, smacs=\EF,
+	smso=\E$2\004, tbc=\E'0,
+
+# Datamedia Excel 62, 64 from Gould/SEL UTX/32 via BRL
+# These aren't end-all Excel termcaps; but do insert/delete char/line
+# and name some of the extra function keys.  (Mike Feldman ccvaxa!feldman)
+# The naming convention has been bent somewhat, with the use of E? (where
+# E is for 'Excel') as # a name.  This was done to distinguish the entries
+# from the other Datamedias in use here, and yet to associate a model of
+# the Excel terminals with the regular datamedia terminals that share
+# major characteristics.
+excel62|excel64|datamedia Excel 62,
+	dch1=\E[P, kbs=^H, kcub1=^H, kcud1=^J, kf5=\EOu, kf6=\EOv,
+	kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h,
+	use=dt80,
+excel62-w|excel64-w|datamedia Excel 62 in 132 char mode,
+	dch1=\E[P, kbs=^H, kcub1=^H, kcud1=^J, kf5=\EOu, kf6=\EOv,
+	kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h,
+	use=dt80w,
+excel62-rv|excel64-rv|datamedia Excel 62 in reverse video mode,
+	dch1=\E[P, flash=\E[?5l\E[?5h, kbs=^H, kcub1=^H, kcud1=^J,
+	kf5=\EOu, kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l,
+	smir=\E[4h, use=dt80,
+
+#### Falco
+#
+#	Falco Data Products
+#	440 Potrero Avenue
+#	Sunnyvale, CA 940864-196
+#	Vox: (800)-325-2648
+#	Fax: (408)-745-7860
+#	Net: techsup@charm.sys.falco.com
+#
+# Current Falco models as of 1995 are generally ANSI-compatible and support
+# emulations of DEC VT-series, Wyse, and Televideo types.
+#
+
+# Test version for Falco ts-1. See <arpavax.hickman@ucb> for info
+# This terminal was released around 1983 and was discontinued long ago.
+# The standout and underline highlights are the same.
+falco|ts1|ts-1|falco ts-1,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET\EG0\010, home=^^, ht=^I, il1=\EE,
+	ind=^J, is2=\Eu\E3, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
+	kf0=^A0\r, rmir=\Er, rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0,
+	smir=\Eq, smso=\Eg1, smul=\Eg1,
+falco-p|ts1p|ts-1p|falco ts-1 with paging option,
+	OTbs, am, da, db, mir, msgr, ul,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\EI, clear=\E*, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E[A,
+	dch1=\EW, dl1=\ER, ed=\EY, el=\ET\EG0\010\Eg0, ht=^I,
+	il1=\EE, ind=^J, is2=\EZ\E3\E_c, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, rmcup=\E_b, rmir=\Er,
+	rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0, smcup=\E_d, smir=\Eq,
+	smso=\Eg4, smul=\Eg1,
+# (ts100: I added <rmam>/<smam> based on the init string -- esr)
+ts100|ts100-sp|falco ts100-sp,
+	am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+	cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>,
+	el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H,
+	ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=^J, is1=\E~)\E~ea,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
+	use=vt100+fnkeys,
+ts100-ctxt|falco ts-100 saving context,
+	rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100,
+
+#### Florida Computer Graphics
+#
+
+# Florida Computer Graphics Beacon System, using terminal emulator program
+# "host.com", as provided by FCG.  This description is for an early release
+# of the "host" program.  Known bug: <ed> clears the whole screen, so it's
+# commented out.
+
+# From: David Bryant <cbosg!djb> 1/7/83
+beacon|FCG Beacon System,
+	am, da, db,
+	cols#80, lines#32,
+	bel=\ESTART\r\E37\r\EEND\r$<1>,
+	blink=\ESTART\r\E61\,1\r\EEND\r, clear=\EZ$<10>, cr=^M,
+	cub1=^H, cud1=^J, cuf1=\EV,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=\EU,
+	dch1=\EW, dl1=\ER, el=\ET, home=\EH$<10>, ich1=\EQ, il1=\EE,
+	ind=^J, rev=\ESTART\r\E59\,1\r\EEND\r, rmcup=,
+	rmso=\ESTART\r\E70\,0\r\EEND\r$<20>,
+	rmul=\ESTART\r\E60\,0\r\EEND\r,
+	sgr0=\ESTART\r\E78\r\E70\,0\r\EEND\r$<20>,
+	smcup=\ESTART\r\E2\,0\r\E12\r\EEND\r$<10>,
+	smso=\ESTART\r\E70\,6\r\EEND\r$<20>,
+	smul=\ESTART\r\E60\,1\r\EEND\r,
+
+#### Fluke
+#
+
+# The f1720a differences from ANSI: no auto margin, destructive
+# tabs, # of lines, funny highlighting and underlining
+f1720|f1720a|fluke 1720A,
+	xt,
+	cols#80, lines#16, xmc#1,
+	bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J,
+	el=\E[K, ind=\ED, is2=\E[H\E[2J, kcub1=^_, kcud1=^],
+	kcuf1=^^, kcuu1=^\, ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m,
+
+#### Liberty Electronics (Freedom)
+#
+#	Liberty Electronics
+#	48089 Fremont Blvd
+#	Fremont CA 94538
+#	Vox: (510)-623-6000
+#	Fax: (510)-623-7021
+
+# From: <faletti@berkeley.edu>
+# (f100: added empty <acsc> to suppress a tic warning;
+# made this relative to adm+sgr -- note that <invis> isn't
+# known to work for f100 but does on the f110. --esr)
+f100|freedom|freedom100|freedom model 100,
+	OTbs, am, bw, hs, mir, msgr, xon,
+	cols#80, lines#24,
+	acsc=, bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER$<11.5*>, dsl=\Eg\Ef\r, ed=\EY, el=\ET,
+	flash=\Eb$<200>\Ed, fsl=^M, home=^^, hpa=\E]%p1%{32}%+%c,
+	ht=^I, hts=\E1, il1=\EE$<8.5*>, ind=^J, ip=$<6>,
+	is2=\Eg\Ef\r\Ed, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V,
+	kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er,
+	smacs=\E%%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef,
+	vpa=\E[%p1%{32}%+%c, use=adm+sgr,
+f100-rv|freedom-rv|freedom 100 in reverse video,
+	flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100,
+# The f110 and f200 have problems with vi(1).  They use the ^V
+# code for the down cursor key. When kcud1 is defined in terminfo
+# as ^V, the Control Character Quoting capability (^V in insert mode)
+# is lost! It cannot be remapped in vi because it is necessary to enter
+# a ^V to to quote the ^V that is being remapped!!!
+#
+# f110/f200 users will have to decide whether
+# to lose the down cursor key or the quoting capability. We will opt
+# initially for leaving the quoting capability out, since use of VI
+# is not generally applicable to most interactive applications
+# (f110: added <ht>, <khome> & <kcbt> from f100 -- esr)
+f110|freedom110|Liberty Freedom 110,
+	bw@, eslok,
+	it#8, wsl#80,
+	blink=\EG2, bold=\EG0, civis=\E.1, cnorm=\E.2, cud1=^V,
+	dim=\EG@, dl1=\ER, dsl=\Ef\r, flash=\Eb$<200/>\Ed, il1=\EE,
+	ip@, is2@, kclr=^^, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET,
+	kf0=^AI\r, kf10@, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`,
+	ri=\EJ, rmacs=\E%%, rmir=\Er\EO, smacs=\E$, smir=\EO\Eq,
+	smso=\EG<, tsl=\Ef, use=f100,
+f110-14|Liberty Freedom 110 14inch,
+	dch1@, use=f110,
+f110-w|Liberty Freedom 110 - 132 cols,
+	cols#132, use=f110,
+f110-14w|Liberty Freedom 110 14in/132 cols,
+	cols#132,
+	dch1@, use=f110,
+# (f200: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+f200|freedom200|Liberty Freedom 200,
+	OTbs, am, eslok, hs, mir, msgr, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=, bel=^G, blink=\EG2, bold=\EG0, cbt=\EI, civis=\E.0,
+	clear=^Z, cnorm=\E.1, cr=^M,
+	csr=\Em0%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET,
+	flash=\Eo$<200/>\En, fsl=^M, home=^^,
+	hpa=\E]%p1%{32}%+%c, hts=\E1, il1=\EE, ind=^J, kbs=^H,
+	kclr=^^, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW,
+	kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`,
+	ri=\EJ, rmacs=\E%%, rmir=\Er, smacs=\E$, smir=\Eq, smso=\EG<,
+	tbc=\E3, tsl=\Ef, vpa=\E[%p1%{32}%+%c, use=adm+sgr,
+f200-w|Liberty Freedom 200 - 132 cols,
+	cols#132, use=f200,
+# The f200 has the ability to reprogram the down cursor key. The key is
+# reprogrammed to ^J (linefeed). This value is remembered in non-volatile RAM,
+# so powering the terminal off and on will not cause the change to be lost.
+f200vi|Liberty Freedom 200 for vi,
+	flash=\Eb$<200/>\Ed, kcud1=^J, use=f200,
+f200vi-w|Liberty Freedom 200 - 132 cols for vi,
+	cols#132, use=f200vi,
+
+#### GraphOn (go)
+#
+#	Graphon Corporation
+#	544 Division Street
+#	Campbell, CA 95008
+#	Vox: (408)-370-4080
+#	Fax: (408)-370-5047
+#	Net: troy@graphon.com (Troy Morrison)
+#
+#
+# The go140 and go225 have been discontinued.  GraphOn now makes X terminals,
+# including one odd hybrid that starts out life on power-up as a character
+# terminal, than can be switched to X graphics mode (driven over the serial
+# line) by an escape sequence.  No info on this beast yet.
+# (go140: I added <rmam>/<smam> based on the init string -- esr)
+go140|graphon go-140,
+	OTbs,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J$<10/>, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J$<10/>, el=\E[K, ht=^I,
+	if=/system/share/tabset/vt100, il1=\E[L,
+	is2=\E<\E=\E[?3l\E[?7l\E(B\E[J\E7\E[;r\E8\E[m\E[q,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+go140w|graphon go-140 in 132 column mode,
+	am,
+	cols#132,
+	is2=\E<\E=\E[?3h\E[?7h\E(B\E[J\E7\E[;r\E8\E[m\E[q,
+	use=go140,
+# Hacked up vt200 termcap to handle GO-225/VT220
+# From: <edm@nwnexus.WA.COM>
+# (go225: I added <rmam>/<smam> based on the init string -- esr)
+go225|go-225|Graphon 225,
+	OTbs, am, mir, xenl,
+	cols#80, it#8, lines#25, vt#3,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[L, ind=\ED,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, rc=\E8, rev=\E[7m,
+	rf=/system/share/tabset/vt100, ri=\EM, rmam=\E[?7l,
+	rmcup=\E[!p\E[?7h\E[2;1;1#w, rmir=\E[4l, rmkx=\E>,
+	rmso=\E[27m, rmul=\E[24m, rs1=\E[!p\E[?7h\E[2;1;1#w,
+	sc=\E7, sgr0=\E[m, smam=\E[?7h, smcup=\E[2;0#w\E[1;25r,
+	smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m,
+
+#### Harris (Beehive)
+#
+# Bletch.  These guys shared the Terminal Brain Damage laurels with Hazeltine.
+# Their terminal group is ancient history now (1995) though the parent
+# company is still in business.
+#
+
+# Beehive documentation is undated and marked Preliminary and has no figures
+# so we must have early Superbee2 (Model 600, according to phone conversation
+# with mfr.). It has proved reliable except for some missing padding
+# (notably after \EK and <nl> at bottom of screen).
+#
+# The key idea is that AEP mode is poison for <cup> & that US's in
+# the local memory should be avoided like the plague. That means
+# that the 2048 character local buffer is used as 25 lines of 80
+# characters, period. No scrolling local memory, folks. It also
+# appears that we cannot use naked INS LINE feature since it uses
+# US. The sbi fakes <il1> with an 80-space insert that may be too
+# slow at low speeds; also spaces get converted to \040 which is
+# too long for some programs (not vi).  DEL LINE is ok but slow.
+#
+# The <nl> string is designed for last line of screen ONLY; cup to
+# 25th line corrects the motion inherent in scrolling to Page 1.
+#
+# There is one understood bug. It is that the screen appears to
+# pop to a new (blank) page after a <nel>, or leave a half-line
+# ellipsis to a quad that is the extra 48 memory locations. The
+# data received is dumped into memory but not displayed.  Not to
+# worry if <cup> is being used; the lines not displayed will be,
+# whenever the cursor is moved up there. Since <cup> is addressed
+# relative to MEMORY of window, nothing is lost; but beware of
+# relative cursor motion (<cuu1>,<cud1>,<cuf1>,<cub1>). Recommended,
+# therefore, is setenv MORE -c .
+#
+# WARNING: Not all features tested.
+#
+# Timings are assembled from 3 sources. Some timings may reflect
+# SB2/Model 300 that were used if more conservative.
+# Tested on a Model 600 at 1200 and 9600 bd.
+#
+# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly
+# placed on the keyboard and useless because of AEP, is made
+# into a backspace key. In use ESC must be pressed twice (to send)
+# and sending ^C must be prefixed by ESC to avoid that weird
+# transmit mode associated with ENTER key.
+#
+# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across
+# the screen, then it has dropped into ENTER mode; hit
+# RESET--ONLINE--!tset.
+#
+# As delivered this machine has a FATAL feature that will throw
+# it into that strange transmit state (SPOW) if the space bar is
+# hit after a CR is received, but before receiving a LF (or a
+# few others).
+#
+# The circuits MUST be modified to eliminate the SPOW latch.
+# This is done by strapping on chip A46 of the I/O board; cut
+# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that
+# chip. This mod has been checked out on a Mod 600 of Superbee II.
+# With this modification absurdly high timings on cr are
+# unnecessary.
+#
+# NOTE WELL that the rear panel switch should be set to CR/LF,
+# not AEP!
+#
+sb1|beehive superbee,
+	OTbs, am, bw, da, db, mir, ul, xsb,
+	cols#80, lines#25, xmc#1,
+	bel=^G, cbt=\E`$<650>, clear=\EH$<1>\EJ$<3>, cr=$<1>\r,
+	cub1=^H, cud1=^J, cuf1=\EC$<3>, cup=\EF%p2%03d%p1%03d,
+	cuu1=\EA$<3>, dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>,
+	el=\EK$<3>, home=\EH$<1>, ht=^I, hts=\E1,
+	il1=\EN\EL$<3>\EQ                                                                                \EP$<3> \EO\ER\EA$<3>,
+	ind=^J, is2=\EE$<3>\EX\EZ\EO\Eb\Eg\ER, kbs=^_, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdl1=\EM, ked=\EJ, kel=\EK,
+	kf0=\E2, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu,
+	kf7=\Ev, kf8=\Ew, kf9=\E1, khome=\EH, kich1=\EQ\EO,
+	krmir=\ER, lf0=TAB CLEAR, lf9=TAB SET, rmcup=, rmir=\ER,
+	rmso=\E_3, rmul=\E_3, sgr0=\E_3, smcup=\EO, smir=\EQ\EO,
+	smso=\E_1, smul=\E_0, tbc=\E3,
+sbi|superbee|beehive superbee at Indiana U.,
+	xsb,
+	cr=\r$<1>, il1=\EN$<1>\EL$<9>\EQ \EP$<9> \EO\ER\EA,
+	use=sb1,
+# Alternate (older) description of Superbee - f1=escape, f2=^C.
+# Note: there are at least 3 kinds of superbees in the world.  The sb1
+# holds onto escapes and botches ^C's.  The sb2 is the best of the 3.
+# The sb3 puts garbage on the bottom of the screen when you scroll with
+# the switch in the back set to CRLF instead of AEP.  This description
+# is tested on the sb2 but should work on all with either switch setting.
+# The f1/f2 business is for the sb1 and the <xsb> can be taken out for
+# the other two if you want to try to hit that tiny escape key.
+# This description is tricky: being able to use cup depends on there being
+# 2048 bytes of memory and the hairy <nl> string.
+superbee-xsb|beehive super bee,
+	am, da, db, xsb,
+	cols#80, it#8, lines#25,
+	clear=\EH\EJ$<3>, cnorm=^J, cr=\r$<1000>, cub1=^H, cud1=^J,
+	cuf1=\EC, cup=\EF%p2%3d%p1%3d, cuu1=\EA$<3>,
+	dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>, el=\EK$<3>,
+	home=\EH, ht=^I, hts=\E1,
+	ind=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET, is2=\EH\EJ,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\Ep, kf2=\Eq,
+	kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew,
+	khome=\EH, rmso=\E_3, sgr0=\E_3, smso=\E_1, tbc=\E3,
+# This loses on lines > 80 chars long, use at your own risk
+superbeeic|super bee with insert char,
+	ich1=, rmir=\ER, smir=\EQ, use=superbee-xsb,
+sb2|sb3|fixed superbee,
+	xsb@, use=superbee,
+
+#### Beehive Medical Electronics
+#
+# Steve Seymour <srseymour@mindspring.com> writes (Wed, 03 Feb 1999):
+# Regarding your question though; Beehive terminals weren't made by Harris.
+# They were made by Beehive Medical Electronics in Utah. They went out of
+# business in the early '80s.
+#
+# (OK, then, I don't know why a couple of these say "harris beehive".)
+#
+
+# Reports are that most of these Beehive entries (except superbee) have not
+# been tested and do not work right.  <rmso> is a trouble spot.  Be warned.
+
+# (bee: <ich1> was empty, which is obviously bogus -- esr)
+beehive|bee|harris beehive,
+	OTbs, am, mir,
+	cols#80, lines#24,
+	cbt=\E>, clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, kbs=^H, kcbt=\E>,
+	kclr=\EE, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	kdch1=\EP, kdl1=\EM, kel=\EK, khome=\EH, kich1=\EQ, kil1=\EL,
+	krmir=\E@, rmir=\E@, rmso=\Ed@, rmul=\Ed@, sgr0=\Ed@,
+	smir=\EQ, smso=\EdP, smul=\Ed`,
+# set tab is ^F, clear (one) tab is ^V, no way to clear all tabs.
+# good grief - does this entry make :sg:/:ug: when it doesn't have to?
+# look at those spaces in <rmso>/<smso>.  Seems strange to me...
+# (beehive: <if=/system/share/tabset/beehive> removed, no such file.  If you
+# really care, cook up one using ^F -- esr)
+beehive3|bh3m|beehiveIIIm|harris beehive 3m,
+	OTbs, am,
+	cols#80, it#8, lines#20,
+	bel=^G, clear=^E^R, cr=^M, cub1=^H, cud1=^J, cuf1=^L, cuu1=^K,
+	dl1=\021$<350>, ed=^R, el=^P, home=^E, ht=^I, hts=^F,
+	il1=\023$<160>, ind=^J, ll=^E^K, rmso=\s^_, smso=^]\s,
+beehive4|bh4|beehive 4,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\EE, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC,
+	cuu1=\EA, ed=\EJ, el=\EK, home=\EH, ind=^J,
+# There was an early Australian kit-built computer called a "Microbee".
+# It's not clear whether this is for one of those or for a relative
+# of the Beehive.
+microb|microbee|micro bee series,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et,
+	kf6=\Eu, kf7=\Ev, kf8=\Ew, kf9=\Ex, khome=\EH, rmso=\Ed@,
+	rmul=\Ed@, sgr0=\Ed@, smso=\s\EdP, smul=\Ed`,
+
+# 8675, 8686, and bee from Cyrus Rahman
+# (8675: changed k10, k11...k16 to k;, F1...F6 -- esr)
+ha8675|harris 8675,
+	is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU, kf1=^F,
+	kf10=\Ed, kf11=^W, kf12=\ER, kf13=\EE, kf14=\EI, kf15=\Ei,
+	kf16=\Eg, kf2=^P, kf3=^N, kf4=^V, kf5=^J, kf6=^T, kf7=^H,
+	kf8=\177, kf9=\Ee, use=bee,
+# (8686: changed k10, k11...k16 to k;, F1...F6; fixed broken continuation
+# in :is: -- esr)
+ha8686|harris 8686,
+	is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU\E"*Z01\E"8F35021B7C83#\E"8F45021B7D83#\E"8F55021B7E83#\E"8F65021B7F83#\E"8F75021B7383#\E"8F851BD7#\E"8F95021B7083#\E"8FA5021B7183#\E"8FB5021B7283#,
+	kf1=\002\Ep\003, kf10=\Ej, kf11=\EW, kf12=\002\E{\003,
+	kf13=\002\E|\003, kf14=\002\E}\003, kf15=\002\E~\003,
+	kf16=\002\E\177\003, kf2=\002\Eq\003, kf3=\002\Er\003,
+	kf4=\002\Es\003, kf5=\E3, kf6=\EI, kf7=\ER, kf8=\EJ, kf9=\E(,
+	use=bee,
+
+#### Hazeltine
+#
+# Hazeltine appears to be out of the terminal business as of 1995.  These
+# guys were co-owners of the Terminal Brain Damage Hall Of Fame along with
+# Harris. They have a hazeltine.com domain (but no web page there ) and can
+# be reached at:
+#
+#	Hazeltine
+#	450 East Pulaski Road
+#	Greenlawn, New York 11740
+#
+# As late as 1993, manuals for the terminal product line could still be
+# purchased from:
+#
+#	TRW Customer Service Division
+#	15 Law Drive
+#	P.O. Box 2076
+#	Fairfield, NJ 07007-2078
+#
+# They're now (1998) a subsidiary of General Electric, operating under the
+# marque "GEC-Marconi Hazeltine" and doing military avionics.  Web page
+# at <http://www.gec.com/cpd/1ncpd.htm#1.55>.
+#
+
+# Since <cuf1> is blank, when you want to erase something you
+# are out of luck.  You will have to do ^L's a lot to
+# redraw the screen.  h1000 is untested.  It doesn't work in
+# vi - this terminal is too dumb for even vi.  (The code is
+# there but it isn't debugged for this case.)
+hz1000|hazeltine 1000,
+	OTbs,
+	cols#80, lines#12,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, home=^K,
+	ind=^J,
+# From: <cbosg!ucbvax!pur-ee!cincy!chris> Thu Aug 20 09:09:18 1981
+hz1420|hazeltine 1420,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\E^\, cr=^M, cub1=^H, cud1=^J, cuf1=^P,
+	cup=\E\021%p2%c%p1%{32}%+%c, cuu1=\E^L, dl1=\E^S,
+	ed=\E^X, el=\E^O, ht=^N, il1=\E^Z, ind=^J, rmso=\E^Y,
+	smso=\E^_,
+# New "safe" cursor movement (11/87) from <cgs@umd5.umd.edu>.  Prevents
+# freakout with out-of-range args and tn3270.  No hz since it needs to
+# receive tildes.
+hz1500|hazeltine 1500,
+	OTbs, am, hz,
+	cols#80, lines#24,
+	bel=^G, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P,
+	cup=~\021%p2%p2%?%{30}%>%t%{32}%+%;%{96}%+%c%p1%{96}%+%c,
+	cuu1=~^L, dl1=~\023$<40>, ed=~\030$<10>, el=~^O, home=~^R,
+	il1=~\032$<40>, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^P,
+	kcuu1=~^L, khome=~^R, rmso=~^Y, smso=~^_,
+# h1510 assumed to be in sane escape mode.  Else use h1500.
+# (h1510: early versions of this entry apparently had "<rmso=\E^_>,
+# <smso=\E^Y>, but these caps were commented out in 8.3; also,
+# removed incorrect and overridden ":do=^J:" -- esr)
+hz1510|hazeltine 1510,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\E^\, cr=^M, cub1=^H, cud1=\E^K, cuf1=^P,
+	cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, ed=\E^X,
+	el=\E^O, il1=\E^Z, ind=^J,
+# Hazeltine 1520
+# The following switch settings are assumed for normal operation:
+#	FULL		CR		U/L_CASE	ESCAPE
+#	FORMAT_OFF	EOM_A_OFF	EOM_B_OFF	WRAPAROUND_ON
+# Other switches may be set for operator convenience or communication
+# requirements.
+hz1520|Hazeltine 1520,
+	OTbs, am, bw, msgr,
+	cols#80, lines#24,
+	bel=^G, bold=\E^_, clear=\E^\, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S,
+	ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z, ind=^J, kbs=^H,
+	kclr=\E^\, kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L,
+	kdl1=\E^S, ked=\E^X, kel=\E^O, khome=\E^R, kil1=\E^Z,
+	rmso=\E^Y, rs1=\E$\E\005\E?\E\031, sgr0=\E^Y, smso=\E^_,
+# This version works with the escape switch off
+# (h1520: removed incorrect and overridden ":do=^J:" -- esr)
+hz1520-noesc|hazeltine 1520,
+	am, hz,
+	cols#80, lines#24,
+	bel=^G, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P,
+	cup=~\021%p2%c%p1%c$<1>, cuu1=~^L, dl1=~^S, ed=~^X, el=~^O,
+	home=~^R, il1=~^Z, ind=^J, rmso=~^Y, smso=~^_,
+# Note: the h1552 appears to be the first Hazeltine terminal which
+# is not braindamaged.  It has tildes and backprimes and everything!
+# Be sure the auto lf/cr switch is set to cr.
+hz1552|hazeltine 1552,
+	OTbs,
+	cud1=^J, dl1=\EO, il1=\EE, kf1=\EP, kf2=\EQ, kf3=\ER, lf1=blue,
+	lf2=red, lf3=green, use=vt52,
+hz1552-rv|hazeltine 1552 reverse video,
+	cud1=^J, rmso=\ET, smso=\ES, use=hz1552,
+# Note: h2000 won't work well because of a clash between upper case and ~'s.
+hz2000|hazeltine 2000,
+	OTbs, OTnc, am,
+	cols#74, lines#27,
+	bel=^G, clear=~\034$<6>, cub1=^H, cud1=^J,
+	cup=~\021%p2%c%p1%c, dl1=~\023$<6>, home=~^R,
+	il1=~\032$<6>, ind=^J, pad=\177,
+# Date: Fri Jul 23 10:27:53 1982.  Some unknown person wrote:
+# I tested this termcap entry for the Hazeltine Esprit with vi. It seems
+# to work ok. There is one problem though if one types a lot of garbage
+# characters very fast vi seems not able to keep up and hangs while trying
+# to insert. That's in insert mode while trying to insert in the middle of
+# a line. It might be because the Esprit doesn't have insert char and delete
+# char as a built in function. Vi has to delete to end of line and then
+# redraw the rest of the line.
+esprit|Hazeltine Esprit I,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	bel=^G, cbt=\E^T, clear=\E^\, cr=^M, cub1=^H, cud1=\E^K,
+	cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S,
+	ed=\E^W, el=\E^O, home=\E^R, il1=\E^Z, ind=^J, is2=\E?, kbs=^H,
+	kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L, kf0=^B0^J,
+	kf1=^B1^J, kf2=^B2^J, kf3=^B3^J, kf4=^B4^J, kf5=^B5^J,
+	kf6=^B6^J, kf7=^B7^J, kf8=^B8^J, kf9=^B9^J, khome=\E^R,
+	lf0=0, lf1=1, lf2=2, lf3=3, lf4=4, lf5=5, lf6=6, lf7=7, lf8=8, lf9=9,
+	rmkx=\E>, rmso=\E^Y, smkx=\E<, smso=\E^_,
+esprit-am|hazeltine esprit auto-margin,
+	am, use=esprit,
+# Hazeltine Modular-1 from Cliff Shackelton <ittvax!ittral!shackelt> via BRL
+# Vi it seems always wants to send a control J for "do" and it turned out
+# that the terminal would work somewhat if the auto LF/CR was turned off.
+# (hmod1: removed :dn=~^K: -- esr)
+hmod1|Hazeltine Modular 1,
+	OTbs, am, hz,
+	cols#80, lines#24,
+	bel=^G, cbt=~^T, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P,
+	cup=~\021%p2%c%p1%c, cuu1=~^L, dl1=~^S, home=~^R, il1=~^Z,
+	ind=^J, kcub1=^H, kcud1=~^K, kcuf1=^P, kcuu1=~^L, khome=~^R,
+	rc=~^Q, rmso=~^Y, sc=~^E, sgr0=~^Y, smso=~^_,
+#
+# Hazeltine Executive 80 Model 30 (1554?)
+#	from  Will Martin <control@ALMSA-1.ARPA> via BRL
+# Like VT100, except for different "am" behavior.
+hazel|exec80|h80|he80|Hazeltine Executive 80,
+	OTbs, OTpt, am,
+	cols#80, it#8, lines#24, vt#3,
+	OTnl=^J, bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^J, cuf1=\E[C$<2/>,
+	cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>,
+	ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I,
+	is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, rc=\E8, rev=\E[7m$<2/>,
+	rf=/system/share/tabset/vt100, ri=\EM$<5/>,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m$<2/>, smkx=\E[?1h\E=, smso=\E[7m$<2/>,
+	smul=\E[4m$<2/>,
+
+#### IBM
+#
+
+ibm327x|line mode IBM 3270 style,
+	gn,
+	clear=^M^J, el=^M, home=^M,
+
+ibm3101|i3101|IBM 3101-10,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	bel=^G, clear=\EK, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EI, home=\EH, hts=\E0, ind=^J, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, nel=^M^J, tbc=\EH,
+ibm3151|IBM 3151 display,
+	is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B,
+	sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E>B%;,
+	sgr0=\E4@\E>B, smacs=\E>A, smcup=\E>B, use=ibm3162,
+# From: Mark Easter <marke@fsi-ssd.csg.ssd.fsi.com> 29 Oct 1992
+# removed kend, knp, kpp -TD
+#
+# From: Stephen Powell <zlinuxman@wowway.com> 23 Apr 2015
+# Added ich1 (kich1 without ich1 doesn't make sense).
+# Added il1 (kil1 without il1 doesn't make sense).
+# Added xon (terminal uses XON/XOFF flow control).
+#
+ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display,
+	OTbs, am, mir, msgr, xon,
+	cols#80, it#8, lines#24,
+	acsc=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370,
+	bel=^G, blink=\E4D, bold=\E4H, clear=\EH\EJ, cr=^M, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH,
+	ich1=\EP \010, il1=\EN, ind=^J, invis=\E4P, kbs=^H, kcbt=\E2,
+	kclr=\EL\r, kctab=\E1, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EQ, kdl1=\EO, ked=\EJ, kel=\EI, kf1=\Ea\r,
+	kf10=\Ej\r, kf11=\Ek\r, kf12=\El\r, kf13=\E!a\r,
+	kf14=\E!b\r, kf15=\E!c\r, kf16=\E!d\r, kf17=\E!e\r,
+	kf18=\E!f\r, kf19=\E!g\r, kf2=\Eb\r, kf20=\E!h\r,
+	kf21=\E!i\r, kf22=\E!j\r, kf23=\E!k\r, kf24=\E!l\r,
+	kf3=\Ec\r, kf4=\Ed\r, kf5=\Ee\r, kf6=\Ef\r, kf7=\Eg\r,
+	kf8=\Eh\r, kf9=\Ei\r, khome=\EH, khts=\E0, kich1=\EP \010,
+	kil1=\EN, ktbc=\E 1, mc4=^P^T, mc5=^P^R, rev=\E4A,
+	rmcup=\E>A, rmso=\E4@, rmul=\E4@,
+	sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E<@%;,
+	sgr0=\E4@\E<@, smcup=\E>A, smso=\E4A, smul=\E4B,
+
+ibm3161-C|IBM 3161-C NLS terminal using cartridge,
+	rmcup=\E>B, s0ds=\E>B, s1ds=\E>A, smcup=\E>B, use=ibm3161,
+#
+# From: Stephen Powell <zlinuxman@wowway.com> 23 Apr 2015
+# Deleted il1.  (il1 will now be inherited from ibm3161-C, which inherits
+# it from ibm3161.
+#
+ibm3162|IBM 3162 display,
+	blink=\E4$a, bold=\E4(a, invis=\E40a, rev=\E4!a,
+	rmso=\E4>b, rmul=\E4=b, sgr0=\E4@, smso=\E4!a, smul=\E4"a,
+	use=ibm3161-C,
+
+# This really should not use setab/setaf, but it is clear that the
+# original terminfo does not toggle red/blue colors as in setb/setf.
+ibm3164|i3164|IBM 3164,
+	msgr,
+	colors#8, pairs#64,
+	op=\E4 "@, rmcup=\E!9(N\E>B, s0ds=\E>B, s1ds=\E>A,
+	setab=\E4  %p1%{64}%+%c,
+	setaf=\E4%?%p1%t %p1%{32}%+%c%e!'%;@,
+	smcup=\E!9/N\E>B, use=ibm3161,
+
+ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display,
+	am, bw, msgr, xon,
+	cols#80, it#8, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H,
+	hpa=\E[%i%p1%dG, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, invis=\E[8m, is2=\Ec, kbs=^H, kcbt=\E[Z,
+	kclr=\E[144q, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kdch1=\E[P, ked=\E[148q, kel=\E[142q,
+	kend=\E[146q, kf1=\E[001q, kf10=\E[010q, kf11=\E[011q,
+	kf12=\E[012q, kf13=\E[013q, kf14=\E[014q, kf15=\E[015q,
+	kf16=\E[016q, kf17=\E[017q, kf18=\E[018q, kf19=\E[019q,
+	kf2=\E[002q, kf20=\E[020q, kf21=\E[021q, kf22=\E[022q,
+	kf23=\E[023q, kf24=\E[024q, kf25=\E[025q, kf26=\E[026q,
+	kf27=\E[027q, kf28=\E[028q, kf29=\E[029q, kf3=\E[003q,
+	kf30=\E[030q, kf31=\E[031q, kf32=\E[032q, kf33=\E[033q,
+	kf34=\E[034q, kf35=\E[035q, kf36=\E[036q, kf4=\E[004q,
+	kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q,
+	kf9=\E[009q, khome=\E[H, kich1=\E[139q, kil1=\E[140q,
+	kind=\E[151q, knp=\E[154q, kpp=\E[150q, kri=\E[155q,
+	krmir=\E[4l, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmir=\E[4l,
+	rmso=\E[m, rmul=\E[m, rs2=\Ec,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m,
+	sgr0=\E[0m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+
+ibmaed|IBM Experimental display,
+	OTbs, am, eo, msgr,
+	cols#80, it#8, lines#52,
+	clear=\EH\EK, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EO, ed=\EJ, el=\EI, flash=\EG, home=\EH, ht=^I, ich1=\EP,
+	il1=\EN, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	rmso=\E0, sgr0=\E0, smso=\E0,
+ibm-apl|apl|IBM apl terminal simulator,
+	lines#25, use=dm1520,
+# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'.
+# Also it had ":I0=f10:" which pretty obviously should be "l0=f10" -- esr)
+ibmmono|IBM workstation monochrome,
+	eslok, hs,
+	bold=\EZ, dl1=\EM, dsl=\Ej\EY8 \EI\Ek, fsl=\Ek, il1=\EL,
+	invis=\EF\Ef0;\Eb0;, kbs=^H, kf0=\E<, kf1=\ES, kf2=\ET,
+	kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EY,
+	khome=\EH, kich1=\0, kind=\EE, knp=\EE, kpp=\Eg, kri=\EG,
+	lf0=f10, rev=\Ep, ri=\EA, rmso=\Ez, rmul=\Ew,
+	sgr0=\Ew\Eq\Ez\EB, smso=\EZ, smul=\EW, tsl=\Ej\EY8%+ \Eo,
+	use=ibm3101,
+ibmega|IBM Enhanced Color Display,
+	cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J,
+	nel=^M^J, use=ibmmono,
+# This color scheme is assumed in some recent IBM terminal descriptions
+# (green on black, emulated on a 16-color terminal).
+ibm+color|IBM color definitions,
+	colors#8, ncv#3, pairs#64,
+	op=\E[32m\E[40m,
+	setb=\E[%?%p1%{0}%=%t40m%e%p1%{1}%=%t41m%e%p1%{2}%=%t42m%e%p1%{3}%=%t43m%e%p1%{4}%=%t44m%e%p1%{5}%=%t45m%e%p1%{6}%=%t46m%e%p1%{7}%=%t107m%;,
+	setf=\E[%?%p1%{0}%=%t30m%e%p1%{1}%=%t31m%e%p1%{2}%=%t32m%e%p1%{3}%=%t33m%e%p1%{4}%=%t34m%e%p1%{5}%=%t35m%e%p1%{6}%=%t36m%e%p1%{7}%=%t97m%;,
+ibm+16color|IBM aixterm color definitions,
+	colors#16, pairs#256,
+	setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm,
+	setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm,
+	setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
+	setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
+ibm5154|IBM 5154 Color display,
+	colors#8, ncv@, pairs#64,
+	bold@, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151,
+	use=ibm+color,
+ibmega-c|ibm5154-c|IBM Enhanced Color Display with standout and underline,
+	rmso=\EB, rmul=\EB, smso=\EF\Ef3;, smul=\EF\Ef2;,
+	use=ibmmono,
+ibmvga-c|IBM VGA display color termcap,
+	cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J,
+	nel=^M^J, use=ibmega-c,
+ibmvga|IBM VGA display,
+	cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J,
+	nel=^M^J, use=ibmega,
+# ibmapa* and ibmmono entries come from ACIS 4.3 distribution
+rtpc|ibmapa16|IBM 6155 Extended Monochrome Graphics Display,
+	lines#32,
+	dsl=\Ej\EY@ \EI\Ek, tsl=\Ej\EY@%+ \Eo, use=ibmmono,
+ibm6155|IBM 6155 Black & White display,
+	blink@, bold@, use=ibm5151,
+# Advanced Monochrome (6153) and Color (6154) Graphics Display:
+ibmapa8c|ibmapa8|IBM 6154 Advanced Graphics Display,
+	lines#31,
+	dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo, use=ibmmono,
+ibmapa8c-c|ibm6154-c|IBM 6154 Advanced Color Graphics Display,
+	lines#31,
+	dim=\EF\Ef7;, dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo,
+	use=ibmega-c,
+ibm6154|IBM 6154 Color displays,
+	blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m,
+	sgr0=\E[0;10m, use=ibm5154,
+ibm6153|IBM 6153 Black & White display,
+	blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m,
+	sgr0=\E[0;10m, use=ibm5151,
+ibm6153-90|IBM 6153 Black & White display,
+	cols#90, lines#36,
+	blink@, bold@, use=ibm5151,
+ibm6153-40|IBM 6153 Black & White display,
+	cols#40, lines#12, use=ibm6153-90,
+ibm8512|ibm8513|IBM color VGA Terminal,
+	am, mir, msgr,
+	cols#80, it#8, lines#25,
+	acsc=jjkkllmmnnqqttuuvvwwxx, blink=\E[5m, bold=\E[1m,
+	clear=\E[H\E[J, cub1=\E[D, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, il=\E[%p1%dL,
+	il1=\E[L, is2=\Eb\E[m\017\E[?7h, kcud1=\E[B, kcuu1=\E[A,
+	kf0=\E[010q, kf1=\E[001q, kf2=\E[002q, kf3=\E[003q,
+	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
+	kf8=\E[008q, kf9=\E[009q, khome=\E[H, rc=\E[u, rev=\E[7m,
+	rmacs=^O, rmam=\E[?7l, rmcup=\E[20h, rmdc=\E[4l,
+	rmir=\E[4l, rmso=\E[m, rmul=\E[m,
+	rs1=\Eb\E[m\017\E[?7h\E[H\E[J, sc=\E[s, sgr0=\E[m,
+	smacs=^N, smam=\E[?7h, smcup=\E[20;4l\E[?7h\Eb,
+	smdc=\E[4h, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	use=ibm8503,
+hft-c|HFT with Color,
+	colors#8, pairs#64,
+	acsc=jjkkllmmnnqqttuuvvwwxx, s0ds=\E(B, s1ds=\E(0,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0m\E(B,
+	use=ibm5151, use=ibm+color,
+hft-c-old|HFT with Color PC850,
+	colors#8, pairs#64,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151,
+	use=ibm+color,
+hft-old|AIWS High Function Terminal,
+	am, xon,
+	cols#80, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H,
+	ht=^I, ich1=\E[@, il1=\E[L, ind=^J, invis=\E[8m, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, kf4=\E[004q,
+	kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q,
+	kf9=\E[009q, khome=\E[H, knp=\E[153q, kpp=\E[159q,
+	ktbc=\E[010q, rev=\E[7m, rmir=\E6, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smir=\E6, smso=\E[7m, smul=\E[4m, use=ibm+color,
+ibm-system1|system1|ibm system/1 computer,
+	am, xt,
+	cols#80, lines#24,
+	bel=^G, clear=^Z, cub1=^H, cuf1=^\,
+	cup=\005%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, home=^K,
+	ind=^J,
+#       lft-pc850 : IBM Low Function Terminal Device
+#    lft "supports" underline, bold, and blink in the sense that the lft code
+#    sets all the right bits.  HOWEVER, depending upon the adapter, these
+#    attributes may or may not be supported by the device driver.
+lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device,
+	am, bw, msgr, xon,
+	cols#80, it#8, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[2J, el=\E[0K,
+	home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, il=\E[%p1%dL,
+	il1=\E[L, ind=\ED, indn=\E[%p1%dS, invis=\E[8m, is2=\Ec,
+	kbs=^H, kcbt=\E[Z, kclr=\E[144q, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, ked=\E[148q,
+	kel=\E[142q, kend=\E[146q, kf1=\E[001q, kf10=\E[010q,
+	kf11=\E[011q, kf12=\E[012q, kf13=\E[013q, kf14=\E[014q,
+	kf15=\E[015q, kf16=\E[016q, kf17=\E[017q, kf18=\E[018q,
+	kf19=\E[019q, kf2=\E[002q, kf20=\E[020q, kf21=\E[021q,
+	kf22=\E[022q, kf23=\E[023q, kf24=\E[024q, kf25=\E[025q,
+	kf26=\E[026q, kf27=\E[027q, kf28=\E[028q, kf29=\E[029q,
+	kf3=\E[003q, kf30=\E[030q, kf31=\E[031q, kf32=\E[032q,
+	kf33=\E[033q, kf34=\E[034q, kf35=\E[035q, kf36=\E[036q,
+	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
+	kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q,
+	kil1=\E[140q, kind=\E[151q, knp=\E[154q, kpp=\E[150q,
+	kri=\E[155q, krmir=\E[4l, rev=\E[7m, ri=\EL, rin=\E[%p1%dT,
+	rmacs=\E(B, rmir=\E[4l, rmso=\E[0m, rmul=\E[0m, rs2=\Ec,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g,
+# "Megapel" refers to the display adapter, which was used with the IBM RT
+# aka IBM 6150.
+ibm5081|hft|IBM Megapel Color display,
+	acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B,
+	s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
+ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
+	eslok, hs,
+	lines#33,
+	dsl=\Ej\EYA \EI\Ek, fsl=\Ek, tsl=\Ej\EYA%+ \Eo,
+	use=ibmega-c,
+ibm8503|ibm8507|ibm8604|IBM 8503 B & W VGA display,
+	use=hft-c,
+ibm8514|IBM 8514/a color VGA display,
+	eslok, hs,
+	dsl=\Ej\EYI \EI\Ek, fsl=\Ek, tsl=\Ej\EYI%+ \Eo, use=hft,
+ibm8514-c|IBM 8514 color display with standout and underline,
+	eslok, hs,
+	lines#41,
+	cr=^M, cud1=^J, dsl=\Ej\EYI \EI\Ek, fsl=\Ek, ht=^I, ind=^J,
+	kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, tsl=\Ej\EYI%+ \Eo,
+	use=ibmega-c,
+
+#
+# AIX entries.  IBM ships these with AIX 3.2.5.
+# -- added rc, sc based on manpage -TD
+# Note that we could use ibm+16color, but that is not how IBM defines this one.
+aixterm|IBM Aixterm Terminal Emulator,
+	eslok, hs,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, dsl=\E[?E,
+	fsl=\E[?F, rc=\E8, ri@, s0ds=\E(B, s1ds=\E(0, sc=\E7,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[0;10m\E(B, tsl=\E[?%p1%dT, use=ibm6154,
+aixterm-m|IBM AIXterm Monochrome Terminal Emulator,
+	eslok, hs,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, dsl=\E[?E,
+	fsl=\E[?F, ri@, s0ds=\E(B, s1ds=\E(0,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
+	sgr0=\E[0;10m\E(B, tsl=\E[?%p1%dT, use=ibm6153,
+aixterm-m-old|old IBM AIXterm Monochrome Terminal Emulator,
+	eslok, hs,
+	bold=\E[1m, dsl=\E[?E, fsl=\E[?F, ri@,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
+	tsl=\E[?%p1%dT, use=ibm6153,
+jaixterm|IBM Kanji Aixterm Terminal Eemulator,
+	acsc@, use=aixterm,
+jaixterm-m|IBM Kanji AIXterm Monochrome Terminal Emulator,
+	acsc@, use=aixterm-m,
+
+# This flavor is adapted from xterm, in turn from aixterm documentation -TD
+aixterm-16color|IBM Aixterm Terminal Emulator with 16 colors,
+	use=ibm+16color, use=aixterm,
+
+#### Infoton/General Terminal Corp.
+#
+
+# gt100 sounds like something DEC would come out with.  Let's hope they don't.
+i100|gt100|gt100a|General Terminal 100A (formerly Infoton 100),
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\Ef%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dl1=\EM,
+	ed=\EJ, el=\EK, flash=\Eb$<200/>\Ea, home=\EH, il1=\EL,
+	ind=^J, rmso=\Ea, smso=\Eb,
+i400|infoton 400,
+	OTbs, am,
+	cols#80, lines#25,
+	bel=^G, clear=\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%3d;%p2%3dH, cuu1=\E[A,
+	dch1=\E[4h\E[2Q\E[P\E[4l\E[0Q, dl1=\E[M, el=\E[N,
+	il1=\E[L, ind=^J, rmir=\E[4l\E[0Q, smir=\E[4h\E[2Q,
+# (addrinfo: removed obsolete ":bc=^Z:" -- esr)
+addrinfo,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^Z, cud1=^J, cuf1=^Y,
+	cup=\037%p1%c%p2%c, cuu1=^\, ed=^K, home=^H, ind=^J, ll=^H^\,
+# (infoton: used to have the no-ops <lh#0>, <lw#0>, <nlab#0> -- esr)
+infoton,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^Z, cud1=^J, cuf1=^Y, cuu1=^\,
+	ed=^K, ind=^J, ll=^H^\,
+
+# The ICL6402 was actually the Kokusai Display System 6402.
+# The 6404 was the KDS7372 (color version of the 6402).
+#
+# ICL6404 control codes follow:
+#
+#code            function
+#~~~~~~~~~~~     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#ctrl-A          set SOM position at cursor position
+#ctrl-G          Bell
+#ctrl-H          Backspace
+#ctrl-I          Horiz tab
+#ctrl-J          Linefeed
+#ctrl-K          Cursor up
+#ctrl-L          Cursor right
+#ctrl-M          Carriage return
+#ctrl-N          Disable xon/xoff to host
+#ctrl-O          Enable xon/xoff to host
+#ctrl-R          Enable bidirectional mode
+#ctrl-T          Disable bidirectional mode
+#ctrl-V          Cursor down
+#ctrl-Z          Clear unprotected data to insert char
+#ctrl-^          Cursor home
+#ctrl-_          Newline
+#
+#ESC             lead-in char for multiple character command
+#
+#ESC space R     execute power on sequence
+#ESC ! p1 p2     define scroll region:
+#                p1 = scroll top    line:  20h - 37h
+#                p1 = scroll bottom line:  20h - 37h
+#ESC "           unlock keyboard
+#ESC #           lock keyboard
+#ESC $           Semi-graphics mode on
+#ESC %           Semi-graphics mode off
+#ESC &           protect mode on
+#ESC '           protect mode off
+#ESC (           write protect mode off (full intensity)
+#ESC )           write protect mode on (half intensity)
+#
+#ESC *           clear screen
+#ESC +           clear unprotected data to insert char
+#ESC ,           clear unprotected data to half intensity spaces
+#ESC - p1 p2 p3 p4     address cursor to page, row, column:
+#                      p1 = page number  0 - 3
+#                      p2 = row          20h - 7fh
+#                      p3 = column (lo)  20h - 7fh
+#                      p4 = column (hi)  20h - 21h (only 132 col)
+#ESC . p1        set cursor style:
+#                p1 = 0  invisible cursor
+#                p1 = 1  block blinking cursor
+#                p1 = 2  block steady cursor
+#                p1 = 3  underline blinking cursor
+#                p1 = 4  underline steady cursor
+#ESC /           transmit cursor location (page, row, column)
+#ESC 0 p1 p2 p3 p4     program edit key:
+#                      p1 = edit key code: '@'-'S', '`'-'s'
+#                      p2 p3 p4 = program data (3 bytes)
+#
+#ESC 1           set tab
+#ESC 2           clear tab at cursor
+#ESC 3           clear all tabs
+#ESC 4           send unprotect line to cursor
+#ESC 5           send unprotect page to cursor
+#ESC 6           send line to cursor
+#ESC 7           send page to cursor
+#ESC 8 n         set scroll mode:
+#                n = 0   set jump scroll
+#                n = 1   set smooth scroll
+#ESC 9 n         control display:
+#                n = 0   display off
+#                n = 1   display on
+#ESC :           clear unprotected data to null
+#ESC ;           clear unprotected data to insert char
+#
+#ESC <           keyclick on
+#ESC = p1 p2     address cursor to row, column
+#                p1 = row          20h - 7fh
+#                p2 = column (lo)  20h - 7fh
+#                p3 = column (hi)  20h - 21h (only 132 col)
+#ESC >           keyclick off
+#ESC ?           transmit cursor location (row, column)
+#
+#ESC @           copy print mode on
+#ESC A           copy print mode off
+#ESC B           block mode on
+#ESC C           block mode off (conversation mode)
+#ESC D F         set full duplex
+#ESC D H         set half duplex
+#ESC E           line insert
+#ESC F p1 p2     set page colour (p1 = f/grnd, p2 = b/grnd)
+#                0 = black, 1 = red,     2 = green, 3 = yellow
+#                4 = blue,  5 = magenta, 6 = cyan,  7 = white
+#ESC G n         set serial field attribute (n = 30h - 3Fh)
+#ESC H n         full graphics mode:
+#                n = 0  exit full graphics mode
+#                n = 1  enter full graphics mode
+#ESC I           back tab
+#ESC J           back page
+#ESC K           forward page
+#
+#ESC L           unformatted page print
+#ESC M L         move window left  (132 col mode only)
+#ESC M R         move window right (132 col mode only)
+#ESC N           set page edit (clear line edit)
+#ESC O           set line edit (clear page edit)
+#ESC P           formatted page print
+#ESC Q           character insert
+#ESC R           line delete
+#ESC S           send message unprotected only
+#ESC T           erase line to insert char
+#ESC U           set monitor mode   (see ESC X, ESC u)
+#
+#ESC V n         select video attribute mode:
+#                n = 0   serial field attribute mode
+#                n = 1   parallel character attribute mode
+#ESC V 2 n       define line attribute:
+#                n = 0   single width single height
+#                n = 1   single width double height
+#                n = 2   double width single height
+#                n = 3   double width double height
+#ESC V 3 n       select character font:
+#                n = 0   system font
+#                n = 1   user defined font
+#ESC V 4 n       select screen mode:
+#                n = 0   page screen mode
+#                n = 1   virtual screen mode
+#ESC V 5 n       control mouse mode:
+#                n = 0   disable mouse
+#                n = 1   enable sample mode
+#                n = 2   send mouse information
+#                n = 3   enable request mode
+#ESC W           character delete
+#ESC X           clear monitor mode (see ESC U, ESC u)
+#ESC Y           erase page to insert char
+#
+#ESC Z n         send user/status line:
+#                n = 0   send user line
+#                n = 1   send status line
+#                n = 2   send terminal ID
+#ESC [ p1 p2 p3  set character attribute (parallel char mode):
+#                p1: 0 = normal
+#                    1 = blank
+#                    2 = blink
+#                    3 = blink blank (= blank)
+#                    4 = reverse
+#                    5 = reverse blank
+#                    6 = reverse blink
+#                    7 = reverse blink blank (= reverse blank)
+#                    8 = underline
+#                    9 = underline blank
+#                    : = underline blink
+#                    ; = underline blink blank
+#                    < = reverse underline
+#                    = = reverse underline blank
+#                    > = reverse underline blink
+#                    ? = reverse underline blink blank
+#                p2, p3: f/grnd, b/grnd colour
+#                (see ESC F for colours)
+#                use ZZ for mono, eg.
+#                    ESC [ 0 Z Z for normal
+#                    ESC [ 4 Z Z for inverse etc.
+#
+#ESC \ n         set page size:
+#                n = 1   24 lines/page
+#                n = 2   48 lines/page
+#                n = 3   72 lines/page
+#                n = 4   96 lines/page
+#ESC ] n         set Wordstar mode:
+#                n = 0   normal (KDS7372) mode
+#                n = 1   Wordstar mode
+#
+#ESC b           set foreground colour screen
+#
+#ESC c n         enter self-test mode:
+#                n = 0   exit self test mode
+#                n = 1   ROM test
+#                n = 2   RAM test
+#                n = 3   NVRAM test
+#                n = 4   screen display test
+#                n = 5   main/printer port test
+#                n = 6   mouse port test
+#                n = 7   graphics board test
+#                n = 8   graphics memory test
+#                n = 9   display all 'E'
+#                n = :   display all 'H'
+#ESC d           set background colour screen
+#
+#ESC e n         program insert char (n = insert char)
+#ESC f text CR   load user status line with 'text'
+#
+#ESC g           display user status line on 25th line
+#ESC h           display system status line on 25th line
+#ESC i           tab
+#ESC j           reverse linefeed
+#ESC k n         duplex/local edit mode:
+#                n = 0   duplex edit mode
+#                n = 1   local edit mode
+#ESC l n         select virtual screen:
+#                n = 0   screen 1
+#                n = 1   screen 2
+#ESC m           save current config to NVRAM
+#ESC n p1        select display screen:
+#                p1 = 0  screen 1
+#                p1 = 1  screen 2
+#                p1 = 2  screen 3
+#                p1 = 3  screen 4
+#ESC o p1 p2     set characters/line and attribute:
+#                p1 = 0  80 chars/line
+#
+#ESC o p1 p2     set characters/line and attribute:
+#                p1 = 0  80 chars/line
+#                p1 = 1  132 chars/line
+#                p2 = 0  single width single height
+#                p2 = 1  single width double height
+#                p2 = 2  double width single height
+#                p2 = 3  double width double height
+#
+#ESC q           insert mode on
+#ESC r           edit mode on
+#ESC s           send message all
+#ESC t           erase line to null
+#ESC u           clear monitor mode (see ESC U, ESC X)
+#ESC v           autopage mode on
+#ESC w           autopage mode off
+#ESC x p1 p2 p3  define delimiter code...
+#ESC y           erase page to null
+#
+#ESC z 2 p1 p2 p3 p4   draw quadrangle:
+#                      p1 = starting row
+#                      p2 = starting column
+#                      p3 = end row
+#                      p4 = end column
+#
+#ESC { p1 p2 p3 p4     configure main port
+#                      (baud, stop bits, parity, word length)
+#
+#ESC | p1 p2 text Ctrl-Y    program function key with 'text':
+#                        p1 = function key code:
+#                             '1' - ';'  normal f1- f11
+#                             '<' - 'F'  shifted f1 - f11
+#                        p2 = program mode:
+#                             1 = FDX
+#                             2 = LOC
+#                             3 = HDX
+#                        Ctrl-Y = terminator
+#                        (use Ctrl-P to escape ^P, ^Y )
+#
+#ESC } p1 p2 p3 p4     configure printer port
+#                      (baud, stop bits, parity, word length)
+#ESC ~           send system status
+#
+# Codes and info from Peter Disdale <pete@pdlmail.demon.co.uk> 12 May 1997
+#
+# Entry is by esr going solely on above information and is UNTESTED.
+# This actually looks a lot like a Televideo 9xx.
+# This entry uses page 0 and is monochrome; I'm not brave enough to try
+# to make color work without a test terminal.  The <am> capability is a guess.
+# The initialization string sets conversation mode, blinking underline cursor,
+# full duplex, parallel attribute mode, display user status line, white
+# foreground, black background, normal highlight.
+#
+icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372,
+	OTbs, am, hs,
+	cols#80, lines#24,
+	bel=^G, blink=\E[2ZZ, cbt=\EI, civis=\E.0, clear=\E*,
+	cnorm=\E.3, cr=^M,
+	csr=\E!%+%p1%{32}%+%p2%{32} cud1=\026, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c,
+	cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I,
+	hts=\E1, il1=\EE, invis=\E[1ZZ,
+	is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ,
+	rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ,
+	rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1,
+	sgr=\E[%'0'%?%p1%t%'8'%|%;%?%p2%t%'8'%|%;%?%p3%t%'4'%|%;%?%p4%t%'2'%|%;%?%p7%t%'1'%|%;%cZZ,
+	sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3,
+icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols,
+	rs2=\Eo1, use=icl6404,
+
+#### Interactive Systems Corp
+#
+# ISC used to sell OEMed and customized hardware to support ISC UNIX.
+# ISC UNIX still exists in 1995, but ISC itself is no more; they got
+# bought out by Sun.
+#
+
+# From: <cithep!eric>  Wed Sep 16 08:06:44 1981
+# (intext: removed obsolete ":ma=^K^P^R^L^L ::bc=^_:", also the
+# ":le=^_:" later overridden -- esr)
+intext|Interactive Systems Corporation modified owl 1200,
+	OTbs, am,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, cbt=^Y, clear=\014$<132>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^^, cup=\017%p1%{32}%+%c%p2%{32}%+%c, cuu1=^\,
+	dch1=\022$<5.5*>, dl1=\021$<5.5*>, ed=\026J$<5.5*>,
+	el=^Kp^R, ht=^I, il1=\020$<5.5*>, ind=^J, ip=$<5.5*>, kbs=^H,
+	kcub1=^_, kcud1=^J, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r,
+	kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r,
+	kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<,
+	rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%%,
+	smso=^V$\,,
+intext2|intextii|INTERACTIVE modified owl 1251,
+	am, bw, ul,
+	cols#80, lines#24, xmc#0,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, cub1=\E[D,
+	cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K,
+	flash=\E[;;;;;;;;;2;;u$<200/>\E[;;;;;;;;;1;;u,
+	hpa=\E[%p1%{1}%+%dG, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S,
+	kbs=^H, kcub1=\ED\r, kcud1=\EB\r, kcuf1=\EC\r, kcuu1=\EA\r,
+	kf0=\E@\r, kf1=\EP\r, kf2=\EQ\r, kf3=\ES\r, kf4=\ET\r,
+	kf5=\EU\r, kf6=\EV\r, kf7=\EW\r, kf8=\EX\r, kf9=\EY\r,
+	khome=\ER\r, lf0=REFRSH, lf1=DEL CH, lf2=TABSET, lf3=GOTO,
+	lf4=+PAGE, lf5=+SRCH, lf6=-PAGE, lf7=-SRCH, lf8=LEFT,
+	lf9=RIGHT, ri=\E[T, rmso=\E[2 D, rmul=\E[2 D, smso=\E[6 D,
+	smul=\E[18 D,
+
+#### Kimtron (abm, kt)
+#
+# Kimtron seems to be history, but as March 1998 these people are still
+# offering repair services for Kimtron equipment:
+#
+#    Com/Pair Monitor Service
+#    1105 N. Cliff Ave.
+#    Sioux Falls, South Dakota 57103
+#
+#    WATS voice:  1-800/398-4946
+#    POTS   fax: +1 605/338-8709
+#    POTS voice: +1 605/338-9650
+#         Email: <compair@sd.cybernex.net>
+#  Internet/Web: <http://www.com-pair.com>
+#
+# Kimtron entries include (undocumented) codes for: enter dim mode,
+# enter bold mode, enter reverse mode, turn off all attributes.
+#
+
+# Kimtron ABM 85 added by Dual Systems
+# (abm85: removed duplicated ":kd=^J:" -- esr)
+abm85|Kimtron ABM 85,
+	OTbs, am, bw, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	cbt=\EI, clear=\E*, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, ht=^I,
+	if=/system/share/tabset/stdcrt, il1=\EE,
+	is2=\EC\EX\Eg\En\E%\Er\E(\Ek\Em\Eq, kbs=^H, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, rmir=\Er, rmso=\Ek,
+	rmul=\Em, smir=\EQ, smso=\Ej, smul=\El,
+# Kimtron ABM 85H added by Dual Systems.
+# Some notes about the abm85h entries:
+# 1) there are several firmware revs of 85H in the world. Use abm85h-old for
+#    firmware revs prior to SP51
+# 2) Make sure to use abm85h entry if the terminal is in 85h mode and the
+#    abm85e entry if it is in tvi920 emulation mode. They are incompatible
+#    in some places and NOT software settable i.e., <is2> can't fix it)
+# 3) In 85h mode, the arrow keys and special functions transmit when
+#    the terminal is in dup-edit, and work only locally in local-edit.
+#    Vi won't swallow `del char' for instance, but <smcup> turns on
+#    dup-edit anyway so that the arrow keys will work right. If the
+#    arrow keys don't work the way you like, change <smcup>, <rmcup>, and
+#    <is2>.  Note that 920E mode does not have software commands to toggle
+#    between dup and local edit, so you get whatever was set last on the
+#    terminal.
+# 4) <flash> attribute is nice, but seems too slow to work correctly
+#    (\Eb<pad>\Ed)
+# 5) Make sure `hidden' attributes are selected. If `embedded' attributes
+#    are selected, the <xmc@> entry should be removed.
+# 6) auto new-line should be on (selectable from setup mode only)
+#
+# From: Erik Fair <fair@ucbarpa>  Sun Oct 27 07:21:05 1985
+abm85h|Kimtron ABM 85H native mode,
+	hs,
+	xmc@,
+	bel=^G, cnorm=\E.4, cvvis=\E.2, dim=\E), dsl=\Ee, flash@,
+	fsl=^M, invis@,
+	is2=\EC\EN\EX\024\016\EA\Ea\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\EG0\Ed\E.4\El,
+	kcud1=^V, sgr0=\E(\EG0, smir=\EZ, tsl=\Eg\Ef, use=adm+sgr,
+	use=abm85,
+abm85e|Kimtron ABM 85H in 920E mode,
+	xmc@,
+	bel=^G, dim=\E), flash@,
+	is2=\EC\EX\EA\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\Ek\Eq\Em,
+	rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85,
+abm85h-old|oabm85h|o85h|Kimtron ABM 85H with old firmware rev.,
+	xmc@,
+	bel=^G, dim=\E),
+	is2=\E}\EC\EX\Ee\En\E%\Er\E(\Ek\Em\Eq\Ed\ET\EC\E9\EF,
+	rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85,
+# From: <malman@bbn-vax.arpa>
+# (kt7: removed obsolete :ma=^V^J^L :" -- esr)
+kt7|kimtron model kt-7,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	cbt=\EI, clear=^Z, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ,
+	if=/system/share/tabset/stdcrt, il1=\EE, invis@, is2=\El\E",
+	kbs=^H, kcbt=\EI, kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r,
+	kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, tsl=\Ef, use=adm+sgr,
+# Renamed TB=^I to :ta:, BE=^G to :bl:, BS=^H to :kb:, N to :kS: (based on the
+# other kt7 entry and the adjacent key capabilities).  Removed EE which is
+# identical to :mh:.  Removed :ES=\EGD: which is some kind of highlight
+# but we can't figure out what.
+kt7ix|kimtron model kt-7 or 70 in IX mode,
+	am, bw,
+	cols#80, it#8, lines#25,
+	acsc=jYk?lZm@nEqDt4uCvAwBx3, bel=^G, blink=\EG2, cbt=\EI,
+	civis=\E.0, clear=\E*, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET, fsl=^M,
+	home=^^, ht=^I, ich1=\EQ, il1=\EE, ind=^J,
+	is2=\EG0\E s\017\E~, kbs=^H, kcbt=\EI, kclr=\E*,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\ER,
+	ked=\EY, kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ,
+	nel=^M^J, pulse=\EK, rmacs=\E%%, rmir=, rmso=\EG0, rmul=\EG0,
+	sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef,
+
+#### Microdata/MDIS
+#
+# This was a line of terminals made by McDonnell-Douglas Information Systems.
+# These entries come direct from MDIS documentation.  I have edited them only
+# to move primary names of the form p[0-9] * to aliases, and to comment out
+# <rmacs>/<smacs> in a couple of entries without <acsc> strings.  I have
+# also removed the change history; the last version indicates this is
+# version 4.3 by A.Barkus, September 1990 (earliest entry is October 1989).
+#
+
+# McDonnell Information Systems Terminal Family History
+# =========================================
+#
+# Prism-1, Prism-2 and P99:
+#       Ancient Microdata and CMC terminals, vaguely like Adds Regent 25.
+#
+# Prism-4 and Prism-5:
+#       Slightly less ancient range of Microdata terminals. Follow-on from
+#       Prism-2, but with many enhancements. P5 has eight display pages.
+#
+# Prism-6:
+#       A special terminal for use with library systems, primarily in Germany.
+#       Limited numbers. Similar functionality to P5 (except attributes?).
+#
+# Prism-7, Prism-8 and Prism-9:
+#       More recent range of MDIS terminals, in which P7 and P8
+#       replace the P4 & P5, with added functionality, and P9 is the flagship.
+#       The P9 has two emulation modes - P8 and ANSI - and includes a
+#       large number of the DEC VT220 control sequences. Both
+#       P8 and P9 support 80c/24ln/8pg and 132cl/24li/4pg formats.
+#
+# Prism-12 and Prism-14:
+#       Latest range, functionally very similar to the P9.  The P14 has a
+#       black-on-white overscanning screen.
+#
+# The terminfo definitions given here are:
+#
+# p2      - Prism-2 (or Prism-1 or P99).
+#
+# p4      - Prism-4 (and older P7s & P8s).
+# p5      - Prism-5 (or Prism-6).
+#
+# p7      - Prism-7.
+# p8      - Prism-8 (in national or multinational mode).
+# p8-w    - 132 column version of p8.
+# p9      - Prism-9 in ANSI mode.
+# p9-w    - 132 column version of p9.
+# p9-8    - Prism-9 in Prism-8 emulation mode.
+# p9-8-w  - As p9-8, but with 132 columns.
+#
+# p12     - Prism-12 in ANSI mode.
+# p12-w   - 132 column version of p12.
+# p12-m   - Prism-12 in MDC emulation mode.
+# p12-m-w - As p12-m, but with 132 columns.
+# p14     - Prism-14 in ANSI mode.
+# p14-w   - 132 column version of p14.
+# p14-m   - Prism-14 in MDC emulation mode.
+# p14-m-w - As p14-m, but with 132 columns.
+#
+# p2: Prism-2
+# -----------
+#
+# Includes Prism-1 and basic P99 without SP or MP loaded.
+# The simplest form of Prism-type terminal.
+# Basic cursor movement and clearing operations only.
+# No video attributes.
+# Notes:
+#  Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next
+#  value up, followed by backspace.
+#
+prism2|MDC Prism-2,
+	am, bw, msgr,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<20>, cr=^M, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	cuu1=^Z, ed=\EJ, el=\EK, home=^A,
+	hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	ind=^J, kbs=^H, khome=^A, vpa=\013%p1%{32}%+%c,
+
+# p4: Prism-4
+# -----------
+#
+# Includes early versions of P7 & P8.
+# Basic family definition for most Prisms (except P2 and P9 ANSI).
+# Notes:
+#  Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next
+#  value up, followed by backspace.
+#  Cursor key definitions removed because they interfere with vi and csh keys.
+#
+prism4|p4|P4|MDC Prism-4,
+	am, bw, hs, mc5i, msgr,
+	cols#80, lines#24, wsl#72, xmc#1,
+	bel=^G, blink=^CB, civis=^]\344, clear=\014$<20>,
+	cnorm=^]\342, cr=^M, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	cuu1=^Z, dim=^CA, dsl=\035\343\035\345, ed=\EJ, el=\EK,
+	fsl=^]\345, home=^A,
+	hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	ind=^J, invis=^CH, kbs=^H, khome=^A, mc0=\EU, mc4=\ET, mc5=\ER,
+	rev=^CD, rmso=^C\s, rmul=^C\s,
+	sgr=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;,
+	sgr0=^C\s, smso=^CD, smul=^CP, tsl=^]\343,
+	vpa=\013%p1%{32}%+%c,
+
+# p5: Prism-5
+# -----------
+#
+# Same definition as p4. Includes Prism-6 (not tested!).
+# Does not use any multi-page features.
+#
+prism5|p5|P5|MDC Prism-5,
+	use=p4,
+
+# p7: Prism-7
+# -----------
+#
+# Similar definition to p4. Uses ANSI cursor motion to avoid network problems.
+# Notes:
+#  Use p4 for very early models of P7.
+#  Rev-index removed; can't send nulls to terminal in 8-bit modes.
+#
+prism7|p7|P7|MDC Prism-7,
+	cup=\E[%i%p1%d;%p2%dH, hpa@, vpa@, use=p4,
+
+# p8: Prism-8
+# -----------
+#
+# Similar definition to p7. Uses ANSI cursor motion to avoid network problems.
+# Supports national and multinational character sets.
+# Notes:
+#  Alternate char set operations only work in multinational mode.
+#  Use p4 for very early models of P8.
+#  Rev-index removed; can't send nulls to terminal in 8-bit modes.
+# (esr: commented out <smacs>/<rmacs> because there's no <acsc>)
+#
+prism8|p8|P8|MDC Prism-8,
+	cup=\E[%i%p1%d;%p2%dH, hpa=\E[%i%p1%d`, is2=\E[<12h,
+	vpa=\E[%i%p1%dd, use=p4,
+
+# p8-w: Prism-8 in 132 column mode
+# --------------------------------
+#
+# 'Wide' version of p8.
+# Notes:
+#  Rev-index removed; can't send nulls to terminal in 8-bit modes.
+#
+prism8-w|p8-w|P8-W|MDC Prism-8 in 132 column mode,
+	cols#132,
+	is2=\E[<12h\E[<14h, use=p8,
+
+# p9: Prism-9 in ANSI mode
+# -------------------------
+#
+# The "flagship" model of this generation of terminals.
+# ANSI X3.64 (ISO 6429) standard sequences, plus many DEC VT220 ones.
+# Notes:
+#  Tabs only reset by "reset". Otherwise assumes default (8 cols).
+#  Fixes to deal with terminal firmware bugs:
+#  . 'ri' uses insert-line since rev index doesn't always
+#  . 'sgr0' has extra '0' since esc[m fails
+#  . 'fsl' & 'dsl' use illegal char since cr is actioned wrong on line 25
+#  Not covered in the current definition:
+#  . Labels
+#  . Programming Fn keys
+#  . Graphic characters (defaults correctly to vt100)
+#  . Padding values (sets xon)
+# (esr: commented out <smacs>/<rmacs> because there's no <acsc>)
+#
+prism9|p9|P9|MDC Prism-9 in ANSII mode,
+	am, bw, hs, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3, wsl#72,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[<4l,
+	clear=^L, cnorm=\E[<4h, cr=^M, csr=\E[%i%p1%d;%p2%d%%v,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, dsl=\E[%}\024, ech=\E[%p1%dX,
+	ed=\E[J$<10>, el=\E[K, fsl=^T, home=\E[H, hpa=\E[%i%p1%d`,
+	ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is2=\E[&p\E[<12l\E F, kbs=^H, kclr=^L, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[H, nel=^M^J, prot=\E[32%{, rc=\E[%z,
+	rep=\E[%p2%db%p1%c, rev=\E[7m, ri=\E[L, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N,
+	sc=\E[%y,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;m%?%p8%t\E[32%%{%;%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd,
+	use=ansi+pp,
+
+# p9-w: Prism-9 in 132 column mode
+# --------------------------------
+#
+# 'Wide' version of p9.
+#
+prism9-w|p9-w|P9-W|MDC Prism-9 in 132 column mode,
+	cols#132,
+	is2=\E[&p\E[<12l\E F\E[<14h,
+	rs2=\E[&p\E[<12l\E F\E[<14h, use=p9,
+
+# p9-8: Prism-9 in P8 mode
+# ------------------------
+#
+# P9 terminal in P8 emulation mode.
+# Similar to p8 definition.
+# Insertion and deletion operations possible.
+#
+prism9-8|p9-8|P9-8|MDC Prism-9 in P8 mode,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, use=p8,
+
+# p9-8-w: Prism-9 in P8 and 132 column modes
+# ------------------------------------------
+#
+# P9 terminal in P8 emulation mode and 132 column mode.
+#
+prism9-8-w|p9-8-w|P9-8-W|MDC Prism-9 in Prism 8 emulation and 132 column mode,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, use=p8-w,
+
+# p12: Prism-12 in ANSI mode
+# ---------------------------
+#
+# See p9 definition.
+#
+prism12|p12|P12|MDC Prism-12 in ANSI mode,
+	use=p9,
+
+# p12-w: Prism-12 in 132 column mode
+# ----------------------------------
+#
+# 'Wide' version of p12.
+#
+prism12-w|p12-w|P12-W|MDC Prism-12 in 132 column mode,
+	use=p9-w,
+
+# p12-m: Prism-12 in MDC emulation mode
+# -------------------------------------
+#
+# P12 terminal in MDC emulation mode.
+# Similar to p8 definition.
+# Insertion and deletion operations possible.
+#
+prism12-m|p12-m|P12-M|MDC Prism-12 in MDC emulation mode,
+	use=p9-8,
+
+# p12-m-w: Prism-12 in MDC emulation and 132 column modes
+# -------------------------------------------------------
+#
+# P12 terminal in MDC emulation mode and 132 column mode.
+#
+prism12-m-w|p12-m-w|P12-M-W|MDC Prism-12 in MDC emulation and 132 column mode,
+	use=p9-8-w,
+
+# p14: Prism-14 in ANSII mode
+# ---------------------------
+#
+# See p9 definition.
+#
+prism14|p14|P14|MDC Prism-14 in ANSII mode,
+	use=p9,
+
+# p14-w: Prism-14 in 132 column mode
+# ----------------------------------
+#
+# 'Wide' version of p14.
+#
+prism14-w|p14-w|P14-W|MDC Prism-14 in 132 column mode,
+	use=p9-w,
+
+# p14-m: Prism-14 in MDC emulation mode
+# -------------------------------------
+#
+# P14 terminal in MDC emulation mode.
+# Similar to p8 definition.
+# Insertion and deletion operations possible.
+#
+prism14-m|p14-m|P14-M|MDC Prism-14 in MDC emulation mode,
+	use=p9-8,
+
+# p14-m-w: Prism-14 in MDC emulation and 132 column modes
+# -------------------------------------------------------
+#
+# P14 terminal in MDC emulation mode and 132 column mode.
+#
+prism14-m-w|p14-m-w|P14-M-W|MDC Prism-14 in MDC emulation and 132 column mode,
+	use=p9-8-w,
+
+# End of McDonnell Information Systems Prism definitions
+
+# These things were popular in the Pick database community at one time
+# From: George Land <georgeland@aol.com> 24 Sep 1996
+p8gl|prism8gl|McDonnell-Douglas Prism-8 alternate definition,
+	am, bw, hs, mir,
+	cols#80, lines#24, ma#1, wsl#78, xmc#1,
+	bel=^G, blink=^CB, clear=^L, cr=^M, cub1=^U, cud1=^J, cuf1=^F,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, dch1=\s^H, dim=^CA, dl1=^P,
+	ed=\EJ, el=\EK, home=^A, ind=^J, invis=^CH, kbs=^H, kcub1=^U,
+	kcud1=^J, kcuf1=^F, kcuu1=^Z, kdch1=\s^H, kdl1=^P, ked=\EJ,
+	kel=\EK, kf1=^A@\r, kf10=^AI\r, kf12=^AJ\r, kf13=^AK\r,
+	kf14=^AL\r, kf15=^AM\r, kf16=^AN\r, kf17=^AO\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^A, lf1=F1, lf10=F10, lf2=F2,
+	lf3=F3, lf4=F4, lf5=F5, lf6=F6, lf7=F7, lf8=F8, lf9=F9, nel=^J^M,
+	pad=\0, rev=^CD, rmso=^C\s, rmul=^C\s, sgr0=^C\s, smso=^CE,
+	smul=^C0,
+
+#### Microterm (act, mime)
+#
+# The mime1 entries refer to the Microterm Mime I or Mime II.
+# The default mime is assumed to be in enhanced act iv mode.
+#
+
+# New "safe" cursor movement (5/87) from <reuss@umd5.umd.edu>.  Prevents
+# freakout with out-of-range args on Sytek multiplexors.  No <smso=^N> and
+# <rmso=^N> since  it gets confused and it's too dim anyway.  No <ich1>
+# since Sytek insists ^S means xoff.
+# (act4: found ":ic=2^S:ei=:im=:ip=.1*^V:" commented out in 8.3 -- esr)
+act4|microterm|microterm act iv,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<12/>, cr=^M, cub1=^H, cud1=^K, cuf1=^X,
+	cup=\024%p1%{24}%+%c%p2%p2%?%{47}%>%t%{48}%+%;%{80}%+%c,
+	cuu1=^Z, dch1=\004$<.1*/>, dl1=\027$<2.3*/>,
+	ed=\037$<2.2*/>, el=\036$<.1*/>, home=^],
+	il1=\001<2.3*/>, ind=^J, kcub1=^H, kcud1=^K, kcuf1=^X,
+	kcuu1=^Z,
+# The padding on :sr: and :ta: for act5 and mime is a guess and not final.
+# The act 5 has hardware tabs, but they are in columns 8, 16, 24, 32, 41 (!)...
+# (microterm5: removed obsolete ":ma==^Z^P^Xl^Kj:" -- esr)
+act5|microterm5|microterm act v,
+	kcub1=^H, kcud1=^K, kcuf1=^X, kcuu1=^Z, ri=\EH$<3>, uc=^H\EA,
+	use=act4,
+# Mimes using brightness for standout.  Half bright is really dim unless
+# you turn up the brightness so far that lines show up on the screen.
+mime-fb|full bright mime1,
+	is2=^S\E, rmso=^S, smso=^Y, use=mime,
+mime-hb|half bright mime1,
+	is2=^Y\E, rmso=^Y, smso=^S, use=mime,
+# (mime: removed obsolete ":ma=^X ^K^J^Z^P:"; removed ":do=^K:" that overrode
+# the more plausible ":do=^J:" -- esr)
+# uc was at one time disabled to get around a curses bug, be wary of it
+mime|mime1|mime2|mimei|mimeii|microterm mime1,
+	OTbs, am,
+	cols#80, it#8, lines#24, vt#9,
+	bel=^G, clear=^]^C, cr=^M, cub1=^H, cud1=^J, cuf1=^X,
+	cup=\024%p1%{24}%+%c%p2%p2%?%{32}%>%t%{48}%+%;%{80}%+%c,
+	cuu1=^Z, dl1=\027$<80>, ed=^_, el=^^, home=^], ht=\011$<2>,
+	il1=\001$<80>, ind=^J, is2=^S\E^Q, kcub1=^H, kcud1=^K,
+	kcuf1=^X, kcuu1=^Z, ri=\022$<3>, uc=^U,
+# These termcaps (for mime2a) put the terminal in low intensity mode
+# since high intensity mode is so obnoxious.
+mime2a-s|microterm mime2a (emulating an enhanced soroc iq120),
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EI, dch1=\ED,
+	dl1=\027$<20*>, ed=\EJ$<20*>, el=\EK, home=^^,
+	il1=\001$<20*>, ind=^J, ip=$<2>, is2=\E), kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, ri=\EI, rmir=^Z, rmso=\E;, rmul=\E7,
+	smir=\EE, smso=\E\:, smul=\E6,
+# This is the preferred mode (but ^X can't be used as a kill character)
+mime2a|mime2a-v|microterm mime2a (emulating an enhanced vt52),
+	OTbs,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=^N,
+	dl1=\027$<20*>, ed=\EQ$<20*>, el=\EP, home=\EH, ht=^I,
+	il1=\001$<20*>, ind=^J, ip=$<2>, is2=^Y, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, ri=\EA, rmir=^Z, rmso=\E9,
+	rmul=\E5, smir=^O, smso=\E8, smul=\E4,
+# (mime3a: removed obsolete ":ma=^X ^K^J^Z^P:" -- esr)
+mime3a|mime1 emulating 3a,
+	am@,
+	kcub1=^H, kcud1=^K, kcuf1=^X, kcuu1=^Z, use=adm3a,
+mime3ax|mime-3ax|mime1 emulating enhanced 3a,
+	it#8,
+	dl1=\027$<80>, ed=^_, el=^X, ht=\011$<3>, il1=\001$<80>,
+	use=mime3a,
+# Wed Mar  9 18:53:21 1983
+# We run our terminals at 2400 baud, so there might be some timing problems at
+# higher speeds. The major improvements in this model are the terminal now
+# scrolls down and insert mode works without redrawing the rest of the line
+# to the right of the cursor. This is done with a bit of a kludge using the
+# exit graphics mode to get out of insert, but it does not appear to hurt
+# anything when using vi at least. If you have some users using act4s with
+# programs that use curses and graphics mode this could be a problem.
+mime314|mm314|mime 314,
+	am,
+	cols#80, lines#24,
+	clear=^L, cub1=^H, cuf1=^X, cup=\024%p1%c%p2%c, cuu1=^Z,
+	dch1=^D, dl1=^W, ed=^_, el=^^, home=^], ht=^I, il1=^A, kcub1=^H,
+	kcud1=^K, kcuf1=^X, kcuu1=^Z, rmir=^V, smir=^S,
+# Microterm mime 340 from University of Wisconsin
+mm340|mime340|mime 340,
+	cols#80, lines#24,
+	clear=\032$<12/>, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\E#$<2.1*/>, dl1=\EV$<49.6/>, ed=\037$<2*/>,
+	el=\EL$<2.1/>, ht=^I, il1=\EU$<46/>, ind=^J, is2=\E\,,
+	kbs=^H, kcub1=^H, kcud1=^J, kcuu1=^K, nel=^M^J,
+# This came from University of Wisconsin marked "astro termcap for jooss".
+# (mt4520-rv: removed obsolete ":kn#4:" and incorrect ":ri=\E[C:";
+# also added <rmam>/<smam> based  on the init string -- esr)
+mt4520-rv|micro-term 4520 reverse video,
+	am, hs, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	bel=^G, clear=\E[H\E[J, cnorm=\E[0V\E8, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E7\E[0U, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l$<200/>\E[?5h,
+	fsl=\E[?5l\E[?5h, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	is2=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[1;24r\E[24;1H\E[H\E[J,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H,
+	ll=\E[24;1H, nel=\EE, rc=\E8, rf=/system/share/tabset/vt100,
+	ri=\EM, rmam=\E[?7l, rmso=\E[0m, rmul=\E[24m,
+	rs1=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[H\E[J,
+	sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m,
+	tbc=\E[g, tsl=\E[25;1H,
+
+# Fri Aug  5 08:11:57 1983
+# This entry works for the ergo 4000 with the following setups:
+# ansi,wraparound,newline disabled, xon/xoff disabled in both
+# setup a & c.
+#
+# WARNING!!! There are multiple versions of ERGO 4000 microcode
+# Be advised that very early versions DO NOT WORK RIGHT !!
+# Microterm does have a ROM exchange program- use it or lose big
+# (ergo400: added <rmam>/<smam> based on the init string -- esr)
+ergo4000|microterm ergo 4000,
+	da, db, msgr,
+	cols#80, lines#66,
+	bel=^G, clear=\E[H\E[2J$<80>, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>,
+	el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>, ind=\ED$<20*>,
+	is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3,
+	lf4=pf4, ri=\EM$<20*>, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E=$<4>, rmso=\E[m$<20>, sgr0=\E[m$<20>,
+	smam=\E[?7m, smir=\E[4h$<6>, smkx=\E=$<4>,
+	smso=\E[7m$<20>,
+
+#### NCR
+#
+# NCR's terminal group was merged with AT&T's when AT&T bought the company.
+# For what happened to that group, see the ADDS section.
+#
+# There is an NCR4103 terminal that's just a re-badged Wyse-50.
+#
+
+# The following vendor-supplied termcaps were captured from the Boundless
+# Technologies site, 8 March 1998.  I removed all-upper-case names that were
+# identical, except for case, to lower-case ones.  I also uncommented the acsc
+# capabilities.X
+#
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC vt200/300 with color capabilities added.
+ncr260intan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard,
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=ncr260vt300an,
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC vt200/300 with color capabilities added.
+ncr260intwan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard,
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=ncr260vt300wan,
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC vt200/300 with color capabilities added.
+ncr260intpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard,
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=ncr260vt300pp,
+# The Intecolor emulation of the NCR 2900/260C color terminal is basicly a
+# DEC vt200/300 with color capabilities added.
+ncr260intwpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard in 132 column mode,
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=ncr260vt300wpp,
+# This definition for ViewPoint supports several attributes.  This means
+# that it has magic cookies (extra spaces where the attributes begin).
+# Some applications do not function well with magic cookies.  The System
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
+# If supporting various attributes is not vital, 'xmc#1' and the extra
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
+# restored if needed.
+ncr260vppp|NCR 2900_260 viewpoint,
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	cols#80, lines#24, nlab#32, xmc#1,
+	acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\014$<40>, cnorm=\E`5,
+	cr=\r$<2>, cub1=\010$<2>, cud1=\n$<2>, cuf1=\006$<2>,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5>, cuu1=\032$<2>,
+	dch1=\EW$<2>, dim=\EGp, dl1=\El$<2>, dsl=\E`c, ed=\Ek$<2>,
+	el=\EK$<2>, fsl=^M, home=\036$<2>, ht=^I, hts=\E1,
+	il1=\EM$<2>, ind=\n$<2>, invis=\EG1,
+	is2=\Ee6\E~%$<100>\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>,
+	kDC=\El, kEND=\Ek, kHOM=^A, kPRT=\E7, kRIT=^F, ka1=^A, ka3=\EJ,
+	kbs=^H, kc1=\ET, kc3=\EJ, kcub1=^U, kcud1=^J, kcuf1=^F,
+	kcuu1=^Z, kdch1=\EW, kend=\EK, kf1=^B1\r, kf10=^B\:\r,
+	kf11=^B;\r, kf12=^B<\r, kf13=^B=\r, kf14=^B>\r, kf15=^B?\r,
+	kf16=^B@\r, kf17=^B!\r, kf18=^B"\r, kf19=^B#\r, kf2=^B2\r,
+	kf20=^B$\r, kf21=\002%^M, kf22=^B&\r, kf23=^B'\r,
+	kf24=^B(\r, kf25=^B)\r, kf26=^B*\r, kf27=^B+\r,
+	kf28=^B\,\r, kf29=^B-\r, kf3=^B3\r, kf30=^B.\r, kf31=^B/\r,
+	kf32=^B0\r, kf4=^B4\r, kf5=^B5\r, kf6=^B6\r, kf7=^B7\r,
+	kf8=^B8\r, kf9=^B9\r, khome=^A, kich1=\Eq, knp=\EJ, kpp=\EJ,
+	kprt=\EP, ll=\001$<5>, mc0=\EP$<100>, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>,
+	nel=\037$<2>, rev=\EG4, ri=\Ej$<2>, rmacs=\EcB0\EH\003,
+	rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\E~%$<100>\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>,
+	sgr0=\EG0\EH\003, smacs=\EcB1\EH\002, smir=\Eq,
+	smso=\EG4, smul=\EG8, smxon=\Ec21, tsl=\EF,
+ncr260vpwpp|NCR 2900_260 viewpoint wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>,
+	rs2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>,
+	use=ncr260vppp,
+ncr260vt100an|NCR 2900_260 vt100 with ansi kybd,
+	am, hs, mir, msgr, xenl, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD$<5>,
+	cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+	cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+	cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+	dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~,
+	ech=\E[%p1%dX, ed=\E[0J$<5>, el=\E[0K$<3>, el1=\E[1K$<3>,
+	fsl=\E[0$}, home=\E[H$<1>, hpa=\E[%p1%dG$<40>, ht=^I,
+	hts=\EH, ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>,
+	il1=\E[L$<5>, ind=\ED$<5>, indn=\E[%p1%dE$<5>,
+	invis=\E[8m,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~,
+	knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>,
+	rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+	sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad,
+ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	use=ncr260vt100an,
+ncr260vt100pp|NCR 2900_260 vt100 with PC+ kybd,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~,
+	kend=\E[5~, khome=\E[2~, kich1=\E[1~, knp=\E[6~, kpp=\E[3~,
+	lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	smkx=\E=, use=ncr260vt100an,
+ncr260vt100wpp|NCR 2900_260 vt100 wide mode pc+  kybd,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	use=ncr260vt100pp,
+ncr260vt200an|NCR 2900_260 vt200 with ansi kybd,
+	am, hs, mir, msgr, xenl, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>,
+	csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>,
+	cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+	cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+	cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+	dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~,
+	ech=\E[%p1%dX$<5>, ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>,
+	fsl=\E[0$}, home=\E[H, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH,
+	ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>,
+	ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, kf22=\E[32~,
+	kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, kf26=\E[1~,
+	kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, kf30=\E[5~,
+	kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~,
+	kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
+	mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m,
+	ri=\EM$<5>, rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+	sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
+	use=vt220+keypad,
+ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>,
+	use=ncr260vt200an,
+ncr260vt200pp|NCR 2900_260 vt200 with pc+ kybd,
+	ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~,
+	kend=\E[1~, khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=,
+	use=ncr260vt200an,
+ncr260vt200wpp|NCR 2900_260 vt200 wide mode pc+  kybd,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	use=ncr260vt200pp,
+ncr260vt300an|NCR 2900_260 vt300 with ansi kybd,
+	am, hs, mir, msgr, xenl, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>,
+	csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>,
+	cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+	cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+	cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+	dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~,
+	ech=\E[%p1%dX$<5>, ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>,
+	fsl=\E[0$}, home=\E[H, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH,
+	ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>,
+	ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, kf23=\E[33~,
+	kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, kf27=\E[2~,
+	kf28=\E[3~, kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~,
+	kf33=\E[8~, kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	krdo=\E[29~, kslt=\E[4~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=\017$<20>,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+	sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
+	use=vt220+keypad,
+ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H$<200>,
+	use=ncr260vt300an,
+ncr260vt300pp|NCR 2900_260 vt300 with pc+ kybd,
+	ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~,
+	kend=\E[1~, khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=,
+	use=ncr260vt300an,
+NCR260VT300WPP|ncr260vt300wpp|NCR 2900_260 vt300 wide mode pc+  kybd,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+	use=ncr260vt300pp,
+# This terminfo file contains color capabilities for the Wyse325 emulation of
+# the NCR 2900/260C color terminal.  Because of the structure of the command
+# (escape sequence) used to set color attributes, one of the fore/background
+# colors must be preset to a given value. I have set the background color to
+# black.  The user can change this setup by altering the last section of the
+# 'setf' definition.  The escape sequence to set color attributes is
+#		ESC d y <foreground_color> <background_color> 1
+# In addition, the background color can be changed through the desk accessories.
+# The capablitiy 'op' sets colors to green on black (default combination).
+#
+# NOTE:  The NCR Unix System Administrator's Shell will not function properly
+# 	    if the 'pairs' capability is defined. Un-Comment the 'pairs'
+#	    capability and recompile if you wish to have it included.
+#
+ncr260wy325pp|NCR 2900_260 wyse 325,
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	colors#16, cols#80, lines#24, ncv#33, nlab#32,
+	acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E*$<10>, cnorm=\E`1, cr=^M,
+	cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, dsl=\E`c,
+	ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<5>, ht=^I,
+	hts=\E1, il1=\EE$<5>, ind=\n$<5>, invis=\EG1,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ,
+	kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kend=\ET,
+	kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r,
+	kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r,
+	kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r,
+	kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r,
+	kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r, kf30=^Am\r, kf31=^An\r,
+	kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ,
+	kprt=\EP, mc0=\EP, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0,
+	rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	setb=\s,
+	setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}%e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}%e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{64}%e%p1%{8}%=%t%{57}%e%p1%{9}%=%t%{58}%e%p1%{10}%=%t%{59}%e%p1%{11}%=%t%{60}%e%p1%{12}%=%t%{61}%e%p1%{13}%=%t%{62}%e%p1%{14}%=%t%{63}%e%p1%{15}%=%t%{56}%;\Edy%c11$<100>,
+	sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH\002\EcB1, smam=\Ed/,
+	smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0,
+	tsl=\EF,
+ncr260wy325wpp|NCR 2900_260 wyse 325 wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	use=ncr260wy325pp,
+# This definition for Wyse 350 supports several attributes.  This means
+# that it has magic cookies (extra spaces where the attributes begin).
+# Some applications do not function well with magic cookies.  The System
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
+# If supporting various attributes is not vital, 'xmc#1' and the extra
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
+# restored if needed.
+# In addition, color capabilities have been added to this file.  The drawback,
+# however, is that the background color has to be black.  The foreground colors
+# are numbered 0 through 15.
+#
+# NOTE:  The NCR Unix System Administrator's Shell does not function properly
+# 	    with the 'pairs' capability defined as below.  If you wish to
+#	    have it included, Un-comment it and recompile (using 'tic').
+#
+ncr260wy350pp|NCR 2900_260 wyse 350,
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	colors#16, cols#80, lines#24, ncv#33, nlab#32, pairs#16, xmc#1,
+	acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M,
+	cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<40>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>, dsl=\E`c,
+	ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<10>, ht=^I,
+	hts=\E1, il1=\EE$<5>, ind=\n$<5>, invis=\EG1,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H,
+	kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r,
+	kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r,
+	kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r,
+	kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r,
+	kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r,
+	khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP,
+	mc0=\EP$<10>, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<20>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0,
+	rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	setb=\s,
+	setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}%e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}%e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{102}%e%p1%{8}%=%t%{97}%e%p1%{9}%=%t%{98}%e%p1%{10}%=%t%{99}%e%p1%{11}%=%t%{101}%e%p1%{12}%=%t%{106}%e%p1%{13}%=%t%{110}%e%p1%{14}%=%t%{111}%e%p1%{15}%=%t%{56}%;\Em0%c$<100>,
+	sgr0=\EG0\EH\003\EcD, smacs=\EH\002\EcB1, smam=\Ed/,
+	smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0,
+	tsl=\EF,
+ncr260wy350wpp|NCR 2900_260 wyse 350 wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>,
+	use=ncr260wy350pp,
+# This definition for Wyse 50+ supports several attributes.  This means
+# that it has magic cookies (extra spaces where the attributes begin).
+# Some applications do not function well with magic cookies.  The System
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
+# If supporting various attributes is not vital, 'xmc#1' and the extra
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
+# restored if needed.
+# (ncr260wy50+pp: originally contained commented-out
+# <acsc=j5k3l2m1n8q:t4u9v=w0x6>, as well as the commented-out one there -- esr)
+ncr260wy50+pp|NCR 2900_260 wyse 50+,
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	cols#80, lines#24, nlab#32, xmc#1,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2,
+	cbt=\EI$<5>, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M,
+	cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<30>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>, dsl=\E`c,
+	ed=\EY$<5>, el=\ET$<5>, fsl=^M, home=\036$<10>,
+	ht=\011$<5>, hts=\E1$<5>, il1=\EE$<5>, ind=\n$<5>,
+	invis=\EG1,
+	is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H,
+	kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r,
+	kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r,
+	kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r,
+	kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r,
+	kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r,
+	khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP,
+	mc0=\EP$<10>, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed.,
+	rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	sgr0=\EG0\EH\003$<15>, smacs=\EH^B, smam=\Ed/, smir=\Eq,
+	smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<5>, tsl=\EF,
+ncr260wy50+wpp|NCR 2900_260 wyse 50+ wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>,
+	rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>,
+	use=ncr260wy50+pp,
+ncr260wy60pp|NCR 2900_260 wyse 60,
+	am, bw, hs, km, mc5i, mir, msgr, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI$<15>, civis=\E`0, clear=\E*$<100>, cnorm=\E`1,
+	cr=^M, cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, dsl=\E`c,
+	ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<25>,
+	ht=\011$<15>, hts=\E1$<15>, il1=\EE$<5>, ind=\n$<5>,
+	invis=\EG1,
+	is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ,
+	kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK,
+	kcbt=\EI$<15>, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r,
+	kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r,
+	kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r,
+	kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, mc0=\EP, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed.,
+	rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH^B, smam=\Ed/,
+	smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<15>,
+	tsl=\EF,
+ncr260wy60wpp|NCR 2900_260 wyse 60 wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>,
+	use=ncr260wy60pp,
+ncr160vppp|NCR 2900_160 viewpoint,
+	use=ncr260vppp,
+ncr160vpwpp|NCR 2900_160 viewpoint wide mode,
+	use=ncr260vpwpp,
+ncr160vt100an|NCR 2900_160 vt100 with ansi kybd,
+	use=ncr260vt100an,
+ncr160vt100pp|NCR 2900_160 vt100 with PC+ kybd,
+	use=ncr260vt100pp,
+ncr160vt100wan|NCR 2900_160 vt100 wide mode ansi kybd,
+	use=ncr260vt100wan,
+ncr160vt100wpp|NCR 2900_160 vt100 wide mode pc+  kybd,
+	use=ncr260vt100wpp,
+ncr160vt200an|NCR 2900_160 vt200 with ansi kybd,
+	use=ncr260vt200an,
+ncr160vt200pp|NCR 2900_160 vt200 with pc+ kybd,
+	use=ncr260vt200pp,
+ncr160vt200wan|NCR 2900_160 vt200 wide mode ansi kybd,
+	use=ncr260vt200wan,
+ncr160vt200wpp|NCR 2900_160 vt200 wide mode pc+  kybd,
+	use=ncr260vt200wpp,
+ncr160vt300an|NCR 2900_160 vt300 with ansi kybd,
+	use=ncr260vt300an,
+ncr160vt300pp|NCR 2900_160 vt300 with pc+ kybd,
+	use=ncr260vt300pp,
+ncr160vt300wan|NCR 2900_160 vt300 wide mode ansi kybd,
+	use=ncr260vt300wan,
+ncr160vt300wpp|NCR 2900_160 vt300 wide mode pc+  kybd,
+	use=ncr260vt300wpp,
+ncr160wy50+pp|NCR 2900_160 wyse 50+,
+	use=ncr260wy50+pp,
+ncr160wy50+wpp|NCR 2900_160 wyse 50+ wide mode,
+	use=ncr260wy50+wpp,
+ncr160wy60pp|NCR 2900_160 wyse 60,
+	use=ncr260wy60pp,
+ncr160wy60wpp|NCR 2900_160 wyse 60 wide mode,
+	use=ncr260wy60wpp,
+ncrvt100an|ncrvt100pp|NCR vt100 for the 2900 terminal,
+	am, hs, mc5i, mir, msgr, xon,
+	cols#80, it#8, lines#24, nlab#32,
+	acsc=``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz~~,
+	bel=^G, blink=\E[5m$<30>, bold=\E[1m$<30>,
+	clear=\E[2J\E[1;1H$<300>, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr$<100>, cub=\E[%p1%dD$<30>,
+	cub1=\E[D$<2>, cud=\E[%p1%dB$<30>, cud1=\E[B$<2>,
+	cuf=\E[%p1%dC$<30>, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<100>, cuu=\E[%p1%dA$<30>,
+	cuu1=\E[A$<2>, dch=\E[%p1%dP$<40>, dch1=\E[1P$<10>,
+	dl=\E[%p1%dM$<70>, dl1=\E[M$<40>, dsl=\E[31l$<25>,
+	ed=\E[0J$<300>, el=\E[0K$<30>, el1=\E[1K$<30>,
+	enacs=\E(B\E)0$<40>, fsl=1$<10>, home=\E[H$<2>$<80>,
+	ht=^I, hts=\EH, il=\E[%p1%dL$<80>, il1=\E[B\E[L$<80>,
+	ind=\ED,
+	is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3l\E(B\E)0$<200>,
+	kLFT=\E[D, kRIT=\E[C, ka1=\E[H, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kent=^M, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, mc0=\E[i$<100>, nel=\EE,
+	rc=\E8, rev=\E[7m$<30>, ri=\EM$<50>, rmacs=\017$<90>,
+	rmir=\E[4l$<80>, rmso=\E[0m$<30>, rmul=\E[0m$<30>,
+	rs2=\Ec\E[12;31h\E[?3;4;5;10l\E[?6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031$<200>,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<100>,
+	sgr0=\017\E[0m$<120>, smacs=\016$<90>, smir=\E[4h$<80>,
+	smso=\E[7m$<30>, smul=\E[4m$<30>, tbc=\E[3g$<40>,
+	tsl=\E[>+1$<70>,
+ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal,
+	cols#132,
+	is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3h\E(B\E)0$<200>,
+	rs2=\Ec\E[12;31h\E[?4;5;10l\E?3;6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031$<200>,
+	use=ncrvt100an,
+#
+# Vendor-supplied NCR termcaps end here
+
+# NCR7900 DIP switches:
+#
+# Switch A:
+# 1-4 - Baud Rate
+# 5   - Parity (Odd/Even)
+# 6   - Don't Send or Do Send Spaces
+# 7   - Parity Enable
+# 8   - Stop Bits (One/Two)
+#
+# Switch B:
+# 1   - Upper/Lower Shift
+# 2   - Typewriter Shift
+# 3   - Half Duplex / Full Duplex
+# 4   - Light/Dark Background
+# 5-6 - Carriage Return Without / With Line Feed
+# 7   - Extended Mode
+# 8   - Suppress Keyboard Display
+#
+# Switch C:
+# 1   - End of line entry disabled/enabled
+# 2   - Conversational mode / (Local?) Mode
+# 3   - Control characters displayed / not displayed
+# 4   - (2-wire?) / 4-wire communications
+# 5   - RTS on and off for each character
+# 6   - (50Hz?) / 60 Hz
+# 7   - Exit after level zero diagnostics
+# 8   - RS-232 interface
+#
+# Switch D:
+# 1   - Reverse Channel (yes / no)
+# 2   - Manual answer (no / yes)
+# 3-4 - Cursor appearance
+# 5   - Communication Rate
+# 6   - Enable / Disable EXT turnoff
+# 7   - Enable / Disable CR turnoff
+# 8   - Enable / Disable backspace
+#
+# Since each attribute parameter is 0 or 1, we shift each attribute (standout,
+# reverse, blink, dim, and underline) the appropriate number of bits (by
+# multiplying the 0 or 1 by a correct factor to shift) so the bias character,
+# '@' is (effectively) "or"ed with each attribute to generate the proper third
+# character in the <ESC>0 sequence.  The <sgr> string implements the following
+# equation:
+#
+# ((((('@' + P5) | (P4 << 1)) | (P3 << 3)) | (P2 << 4)) | (p1 * 17))    =>
+# ((((('@' + P5) + (P4 << 1)) + (P3 << 3)) + (P2 << 4)) + (p1 * 17))
+#
+#	Where:  P1 <==> Standout attribute parameter
+#		P2 <==> Underline attribute parameter
+#		P3 <==> Reverse attribute parameter
+#		P4 <==> Blink attribute parameter
+#		P5 <==> Dim attribute parameter
+# From <root@goliath.un.atlantaga.NCR.COM>, init string hacked by SCO.
+ncr7900i|ncr7900|ncr 7900 model 1,
+	am, bw, ul,
+	cols#80, lines#24, xmc#1,
+	bel=^G, blink=\E0B, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\E1%p2%c%p1%c, cuu1=^Z, dim=\E0A, ed=\Ek, el=\EK, ind=^J,
+	is2=\E0@\010\E3\E4\E7, kcub1=^U, kcud1=^J, kcuf1=^F,
+	kcuu1=^Z, khome=^A, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=\E0@,
+	rmul=\E0@,
+	sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c,
+	sgr0=\E0@, smso=\E0Q, smul=\E0`,
+ncr7900iv|ncr 7900 model 4,
+	am, bw, eslok, hs,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J,
+	cup=\013%p1%{64}%+%c\E\005%p2%02d, dl1=\E^O, dsl=\Ey1,
+	fsl=\Ek\Ey5, home=\013@\E^E00, il1=\E^N, ind=^J, kbs=^H,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET,
+	kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
+	khome=\EH, lf6=blue, lf7=red, lf8=white, nel=^M^J,
+	tsl=\Ej\Ex5\Ex1\EY8%p1%{32}%+%c\Eo,
+# Warning: This terminal will lock out the keyboard when it receives a CTRL-D.
+#	   The user can enter a CTRL-B to get out of this locked state.
+# In <hpa>, we want to output the character given by the formula:
+#		((col / 10) * 16) + (col % 10)		where "col" is "p1"
+ncr7901|ncr 7901 model,
+	am, bw, ul,
+	cols#80, lines#24,
+	bel=^G, blink=\E0B, civis=^W, clear=^L, cnorm=^X, cr=^M,
+	cub1=^H, cud1=^J, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dim=\E0A,
+	ed=\Ek, el=\EK,
+	hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c, ind=^J,
+	is2=\E4^O, kclr=^L, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z,
+	khome=^H, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=^O, rmul=^O,
+	sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c\016,
+	sgr0=^O, smso=\E0Q\016, smul=\E0`\016,
+	vpa=\013%p1%{64}%+%c,
+
+# Newbury Data Recording Limited (Newbury Data)
+#
+# Have been manufacturing and reselling  various peripherals for a long time
+# They don't make terminals anymore, but are still in business (in 2007).
+# Their e-mail address is at ndsales@newburydata.co.uk
+# and their post address is:
+#
+# Newbury Data Recording Ltd,
+# Premier Park, Road One,
+# Winsford, Cheshire, CW7 3PT
+#
+# Their technical support is still good, they sent me for free a printed copy
+# of the 9500 user manual and I got it just 1 week after I first contacted them
+# (in 2005)!
+
+# NDR 9500
+# Manufactured in the early/mid eighties, behaves almost the same as a
+# Televideo 950.  Take a 950, change its cabinet for a more 80s-ish one (but
+# keep the same keyboard layout), add an optional 25-line mode, replace the DIP
+# switches with a menu and remove the "lock line" feature (ESC !  1 and ESC !
+# 2), here is the NDR 9500.  Even the line-lock, albeit disabled, is
+# recognized:  if you type in "ESC !", the next (third) character is not
+# echoed, showing that the terminal was actually waiting for a parameter!
+ndr9500|nd9500|Newbury Data 9500,
+	am, bw, hs, mc5i, mir, msgr, ul, xon,
+	cols#80, lines#24, wsl#79,
+	acsc=jDkClBmAnIqKtMuLvOwNxJ, bel=^G, cbt=\EI, civis=\E.0,
+	clear=\E;, cnorm=\E.1, cr=^M, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dim=\E), dl1=\ER, dsl=\Eh, ed=\EY, el=\ET,
+	flash=\Eb$<50/>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE, ind=^J, is2=\Ew\E'\EDF\El\Er\EO,
+	kDC=\Er, kDL=\EO, kEOL=\Et, kIC=\Eq, kcbt=\EI, kclr=^Z,
+	kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kent=^M, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^A`\r, kf13=^Aa\r, kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r,
+	kf17=^Ae\r, kf18=^Af\r, kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r,
+	kf21=^Ai\r, kf22=^Aj\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, kprt=\EP, mc4=\Ea, mc5=\E`, nel=^_,
+	pfloc=\E|%{48}%p1%+%c2%p2\031,
+	pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej,
+	rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N,
+	sgr=\EG0\E%%%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
+	sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O,
+	tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H,
+
+ndr9500-nl|NDR 9500 with no status line,
+	hs@,
+	wsl@,
+	dsl@, fsl@, tsl@, use=ndr9500,
+
+ndr9500-25|NDR 9500 with 25th line enabled,
+	lines#25, use=ndr9500,
+
+ndr9500-25-nl|NDR 9500 with 25 lines and no status line,
+	lines#25, use=ndr9500-nl,
+
+ndr9500-mc|NDR 9500 with magic cookies (enables underline inverse video invisible and blink),
+	msgr@,
+	xmc#1,
+	blink=\EG2, invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0,
+	sgr=\E%%\E(%?%p5%p8%|%t\E)%;%?%p9%t\E$%;\EG%{48}%?%p7%t%{1}%+%;%?%p4%t%{2}%+%;%?%p3%p1%|%t%{4}%+%;%?%p2%t%{8}%+%;%c,
+	sgr0=\EG0\E%%\E(, smso=\EG4, smul=\EG8, use=ndr9500,
+
+ndr9500-25-mc|NDR 500 with 25 lines and magic cookies,
+	lines#25, use=ndr9500-mc,
+
+ndr9500-mc-nl|NDR 9500 with magic cookies and no status line,
+	hs@,
+	wsl@,
+	dsl@, fsl@, tsl@, use=ndr9500-mc,
+
+ndr9500-25-mc-nl|NDR 9500 with 25 lines and magic cookies and no status line,
+	lines#25, use=ndr9500-mc-nl,
+
+#### Perkin-Elmer (Owl)
+#
+# These are official terminfo entries from within Perkin-Elmer.
+#
+
+bantam|pe550|pe6100|perkin elmer 550,
+	OTbs,
+	cols#80, lines#24,
+	bel=^G, clear=\EK$<20>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	el=\EI$<20>, home=\EH, ind=^J, ll=\EH\EA,
+fox|pe1100|perkin elmer 1100,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ$<132>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	ed=\EJ$<5.5*>, el=\EI, flash=\020\002$<200/>\020\003,
+	home=\EH, hts=\E1, ind=^J, ll=\EH\EA, tbc=\E3,
+owl|pe1200|perkin elmer 1200,
+	OTbs, am, in,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ$<132>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>,
+	el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH,
+	hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=^J, ip=$<5.5*>,
+	kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD,
+	kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA,
+	rmso=\E!\0, sgr0=\E!\0, smso=\E!^H, tbc=\E3,
+pe1251|pe6300|pe6312|perkin elmer 1251,
+	am,
+	cols#80, it#8, lines#24, pb#300, vt#8, xmc#1,
+	bel=^G, clear=\EK$<332>, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	ed=\EJ$<20*>, el=\EI$<10*>, home=\EH, hts=\E1, ind=^J,
+	kf0=\ERA, kf1=\ERB, kf10=\ERK, kf2=\ERC, kf3=\ERD, kf4=\ERE,
+	kf5=\ERF, kf6=\ERG, kf7=\ERH, kf8=\ERI, kf9=\ERJ, tbc=\E3,
+# (pe7000m: this had
+# 	rmul=\E!\0, smul=\E!\040,
+# which is probably wrong, it collides with kf0
+pe7000m|perkin elmer 7000 series monochrome monitor,
+	am,
+	cols#80, lines#24,
+	bel=^G, cbt=\E!Y, clear=\EK, cr=^M, cub1=\ED, cud1=\EB,
+	cuf1=\EC, cup=\ES%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	ed=\EJ, el=\EI, home=\EH, ind=^J,
+	is1=\E!\0\EW  7o\Egf\ES7\s, kbs=^H, kcub1=\E!V,
+	kcud1=\E!U, kcuf1=\E!W, kcuu1=\E!T, kf0=\E!\0, kf1=\E!^A,
+	kf10=\E!^J, kf2=\E!^B, kf3=\E!^C, kf4=\E!^D, kf5=\E!^E,
+	kf6=\E!^F, kf7=\E!^G, kf8=\E!^H, kf9=\E!^I, khome=\E!S,
+	ll=\ES7\s, ri=\ER,
+pe7000c|perkin elmer 7000 series colour monitor,
+	is1=\E!\0\EW  7o\Egf\Eb0\Ec7\ES7\s, rmso=\Eb0,
+	rmul=\E!\0, smso=\Eb2, smul=\E!\s, use=pe7000m,
+
+#### Sperry Univac
+#
+# Sperry Univac has merged with Burroughs to form Unisys.
+#
+
+# This entry is for the Sperry UTS30 terminal running the TTY
+# utility under control of CP/M Plus 1R1. The functionality
+# provided is comparable to the DEC vt100.
+# (uts30: I added <rmam>/<smam> based on the init string -- esr)
+uts30|sperry uts30 with cp/m@1R1,
+	am, bw, hs,
+	cols#80, lines#24, wsl#40,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\ER, clear=^L,
+	cnorm=\ES, cr=^M, csr=\EU%p1%{32}%+%c%p2%{32}%+%c,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\EM,
+	dl=\E[%p1%dM, dl1=\EL, ed=\E[J, el=\E[K, fsl=^M, home=\E[H,
+	ht=^I, ich=\E[%p1%d@, ich1=\EO, il=\E[%p1%dL, il1=\EN,
+	ind=^J, indn=\E[%p1%dB, is2=\E[U 7\E[24;1H, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, khome=\E[H,
+	rc=\EX, rev=\E[7m, rf=/system/share/tabset/vt100, ri=\EI,
+	rin=\E[%p1%dA, rmacs=\Ed, rmam=\E[?7l, rmso=\E[m,
+	rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sc=\EW, sgr0=\E[m, smacs=\EF, smam=\E[?7m, smso=\E[7m,
+	smul=\E[4m, tsl=\E], uc=\EPB,
+
+#### Tandem
+#
+# Tandem builds these things for use with its line of fault-tolerant
+# transaction-processing computers.  They aren't generally available
+# on the merchant market, and so are fairly uncommon.
+#
+
+tandem6510|adm3a repackaged by Tandem,
+	use=adm3a,
+
+# A funny series of terminal that TANDEM uses.  The actual model numbers
+# have a fourth digit after 653 that designates minor variants.  These are
+# natively block-mode and rather ugly, but they have a character mode which
+# this doubtless(?) exploits.  There is a 6520 that is slightly dumber.
+# (tandem653: had ":sb=\ES:", probably someone's mistake for sf; also,
+# removed <if=/system/share/tabset/tandem653>, no such file -- esr)
+tandem653|t653x|Tandem 653x multipage terminal,
+	OTbs, am, da, db, hs,
+	cols#80, lines#24, wsl#64, xmc#1,
+	clear=\EI, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\023%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dsl=\Eo\r,
+	ed=\EJ, el=\EK, fsl=^M, home=\EH, ind=\ES, ri=\ET, rmso=\E6\s,
+	rmul=\E6\s, sgr0=\E6\s, smso=\E6$, smul=\E60, tsl=\Eo,
+
+#### Tandy/Radio Shack
+#
+# Tandy has a line of VDTs distinct from its microcomputers.
+#
+
+dmterm|deskmate terminal,
+	am, bw,
+	cols#80, lines#24,
+	bel=^G, civis=\EG5, clear=\Ej, cnorm=\EG6, cr=^M, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\ES, dl1=\ER, ed=\EJ, el=\EK, home=\EH, ht=^I,
+	ich1=\EQ, il1=\EP, ind=\EX, invis@, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, kf0=\E1, kf1=\E2, kf2=\E3, kf3=\E4,
+	kf4=\E5, kf5=\E6, kf6=\E7, kf7=\E8, kf8=\E9, kf9=\E0,
+	khome=\EH, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6,
+	lf6=f7, lf7=f8, lf8=f9, lf9=f10, ll=\EE, rmul@, smul@,
+	use=adm+sgr,
+dt100|dt-100|Tandy DT-100 terminal,
+	xon,
+	cols#80, lines#24, xmc#1,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
+	il1=\E[L, ind=^J, is2=\E[?3l\E)0\E(B, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[?3i,
+	kf10=\E[?5i, kf2=\E[2i, kf3=\E[@, kf4=\E[M, kf5=\E[17~,
+	kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, khome=\E[H,
+	knp=\E[29~, kpp=\E[28~, lf1=f1, lf2=f2, lf3=f3, lf4=f4, lf5=f5,
+	lf6=f6, lf7=f7, lf8=f8, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m,
+dt100w|dt-100w|Tandy DT-100 terminal (wide mode),
+	cols#132, use=dt100,
+dt110|Tandy DT-110 emulating ansi,
+	xon,
+	cols#80, lines#24,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, civis=\E[?25l,
+	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[0P,
+	dl1=\E[0M, ed=\E[0J, el=\E[0K, enacs=\E(B\E)0, home=\E[H,
+	ht=^I, ich1=\E[0@, il1=\E[0L, ind=^J, is2=\E[?3l\E)0\E(B,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[K,
+	kf1=\E[1~, kf10=\E[10~, kf2=\E[2~, kf3=\E[3~, kf4=\E[4~,
+	kf5=\E[5~, kf6=\E[6~, kf7=\E[7~, kf8=\E[8~, kf9=\E[9~,
+	khome=\E[G, kich1=\E[@, knp=\E[26~, kpp=\E[25~, lf0=f1,
+	lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf8=f9,
+	lf9=f10, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smacs=^N, smso=\E[7m, smul=\E[4m,
+pt210|TRS-80 PT-210 printing terminal,
+	hc, os,
+	cols#80,
+	bel=^G, cr=^M, cud1=^J, ind=^J,
+
+#### Tektronix (tek)
+#
+# Tektronix tubes are graphics terminals.  Most of them use modified
+# oscilloscope technology incorporating a long-persistence green phosphor,
+# and support vector graphics on a main screen with an attached "dialogue
+# area" for interactive text.
+#
+
+tek|tek4012|tektronix 4012,
+	OTbs, os,
+	cols#75, lines#35,
+	bel=^G, clear=\E\014$<1000>, cr=^M, cub1=^H, cud1=^J,
+	ff=\014$<1000>, is2=\E^O,
+# (tek4013: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+tek4013|tektronix 4013,
+	acsc=, rmacs=\E^O, smacs=\E^N, use=tek4012,
+tek4014|tektronix 4014,
+	cols#81, lines#38,
+	is2=\E\017\E9, use=tek4012,
+# (tek4015: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+tek4015|tektronix 4015,
+	acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014,
+tek4014-sm|tektronix 4014 in small font,
+	cols#121, lines#58,
+	is2=\E\017\E\:, use=tek4014,
+# (tek4015-sm: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+tek4015-sm|tektronix 4015 in small font,
+	acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014-sm,
+# Tektronix 4023 from Andrew Klossner <orca!andrew.tektronix@csnet-relay>
+#
+# You need to have "stty nl2" in effect.  Some versions of tset(1) know
+# how to set it for you.
+#
+# It's got the Magic Cookie problem around stand-out mode.  If you can't
+# live with Magic Cookie, remove the :so: and :se: fields and do without
+# reverse video.  If you like reverse video stand-out mode but don't want
+# it to flash, change the letter 'H' to 'P' in the :so: field.
+tek4023|tektronix 4023,
+	OTbs, am,
+	OTdN#4, cols#80, lines#24, vt#4, xmc#1,
+	OTnl=^J, bel=^G, clear=\E\014$<4/>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^I, cup=\034%p2%{32}%+%c%p1%{32}%+%c, kbs=^H,
+	rmso=^_@, smso=^_P,
+# It is recommended that you run the 4025 at 4800 baud or less;
+# various bugs in the terminal appear at 9600.  It wedges at the
+# bottom of memory (try "cat /usr/dict/words"); ^S and ^Q typed
+# on keyboard don't work.  You have to hit BREAK twice to get
+# one break at any speed - this is a documented feature.
+# Can't use cursor motion because it's memory relative, and
+# because it only works in the workspace, not the monitor.
+# Same for home. Likewise, standout only works in the workspace.
+#
+# <el> was commented out since vi and rogue seem to work better
+# simulating it with lots of spaces!
+#
+# <il1> and <il> had 145ms of padding, but that slowed down vi's ^U
+# and didn't seem necessary.
+#
+tek4024|tek4025|tek4027|tektronix 4024/4025/4027,
+	OTbs, am, da, db,
+	cols#80, it#8, lines#34, lm#0,
+	bel=^G, clear=\037era\r\n\n, cmdch=^_, cr=^M,
+	cub=\037lef %p1%d\r, cub1=^H, cud=\037dow %p1%d\r,
+	cud1=^F^J, cuf=\037rig %p1%d\r, cuf1=\037rig\r,
+	cuu=\037up %p1%d\r, cuu1=^K, dch1=\037dch\r,
+	dl=\037dli %p1%d\r\006, dl1=\037dli\r\006,
+	ed=\037dli 50\r, ht=^I, ich1=\037ich\r \010,
+	il=\037up\r\037ili %p1%d\r, il1=\037up\r\037ili\r,
+	ind=^F^J,
+	is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r,
+	rmkx=\037lea p2\r\037lea p4\r\037lea p6\r\037lea p8\r\037lea f5\r,
+	smkx=\037lea p4 /h/\r\037lea p8 /k/\r\037lea p6 / /\r\037lea p2 /j/\r\037lea f5 /H/\r,
+tek4025-17|tek 4025 17 line window,
+	lines#17, use=tek4025,
+tek4025-17-ws|tek 4025 17 line window in workspace,
+	is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r\037wor 17\r\037mon 17\r,
+	rmcup=\037mon h\r, rmso=\037att s\r, smcup=\037wor h\r,
+	smso=\037att e\r, use=tek4025-17,
+tek4025-ex|tek4027-ex|tek 4025/4027 w/!,
+	is2=\037com 33\r\n!sto 9 17 25 33 41 49 57 65 73\r,
+	rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025,
+# Tektronix 4025a
+# From: Doug Gwyn <gwyn@brl-smoke.ARPA>
+# The following status modes are assumed for normal operation (replace the
+# initial "!" by whatever the current command character is):
+#	!COM 29			# NOTE: changes command character to GS (^])
+#	^]DUP
+#	^]ECH R
+#	^]EOL
+#	^]RSS T
+#	^]SNO N
+#	^]STO 9 17 25 33 41 49 57 65 73
+# Other modes may be set according to communication requirements.
+# If the command character is inadvertently changed, termcap can't restore it.
+# Insert-character cannot be made to work on both top and bottom rows.
+# Clear-to-end-of-display emulation via !DLI 988 is too grotty to use, alas.
+# There also seems to be a problem with vertical motion, perhaps involving
+# delete/insert-line, following a typed carriage return.  This terminal sucks.
+# Delays not specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# (tek4025a: removed obsolete ":xx:". This may mean the tek4025a entry won't
+# work any more. -- esr)
+tek4025a|Tektronix 4025A,
+	OTbs, OTpt, am, bw, da, db, xon,
+	cols#80, it#8, lines#34,
+	bel=^G, cbt=\035bac;, clear=\035era;\n\035rup;, cmdch=^],
+	cr=^M, cub=\035lef %p1%d;, cub1=^H, cud=\035dow %p1%d;,
+	cud1=^J, cuf=\035rig %p1%d;, cuf1=\035rig;,
+	cuu=\035up %p1%d;, cuu1=^K, dch=\035dch %p1%d;,
+	dch1=\035dch;, dl=\035dli %p1%d;, dl1=\035dli;,
+	el=\035dch 80;, hpa=\r\035rig %p1%d;, ht=^I,
+	il1=\013\035ili;, ind=^J, indn=\035dow %p1%d;,
+	rs2=!com 29\035del 0\035rss t\035buf\035buf n\035cle\035dis\035dup\035ech r\035eol\035era g\035for n\035pad 203\035pad 209\035sno n\035sto 9 17 25 33 41 49 57 65 73\035wor 0;,
+	tbc=\035sto;,
+# From: cbosg!teklabs!davem Wed Sep 16 21:11:41 1981
+# Here's the command file that I use to get rogue to work on the 4025.
+# It should work with any program using the old curses (e.g. it better
+# not try to scroll, or cursor addressing won't work.  Also, you can't
+# see the cursor.)
+# (This "learns" the arrow keys for rogue. I have adapted it for termcap - mrh)
+tek4025-cr|tek 4025 for curses and rogue,
+	OTbs, am,
+	cols#80, it#8, lines#33,
+	clear=\037era;, cub1=^H, cud1=^F^J, cuf1=\037rig;,
+	cup=\037jum%i%p1%d\,%p2%d;, cuu1=^K, ht=^I, ind=^F^J,
+	is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r,
+	rmcup=\037wor 0, smcup=\037wor 33h,
+# next two lines commented out since curses only allows 128 chars, sigh.
+#	:ti=\037lea p1/b/\037lea p2/j/\037lea p3/n/\037lea p4/h/\037lea p5/ /\037lea p6/l/\037lea p7/y/\037lea p8/k/\037lea p9/u/\037lea p./f/\037lea pt/`era w/13\037lea p0/s/\037wor 33h:\
+#	:te=\037lea p1\037lea p2\037lea p3\037lea p4\037lea pt\037lea p5\037lea p6\037lea p7\037lea p8\037lea p9/la/13\037lea p.\037lea p0\037wor 0:
+tek4025ex|4025ex|4027ex|tek 4025 w/!,
+	is2=\037com 33\r\n!sto 9\,17\,25\,33\,41\,49\,57\,65\,73\r,
+	rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025,
+tek4105|tektronix 4105,
+	OTbs, am, mir, msgr, ul, xenl, xt,
+	cols#79, it#8, lines#29,
+	acsc=, bel=^G, blink=\E[=3;<7m, bold=\E[=7;<4m, cbt=\E[Z,
+	clear=\E[2J\E[H, cr=^M, cub1=\E[1D, cud1=\E[1B, cuf1=\E[1C,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[1A, dch1=\E[1P,
+	dim=\E[=1;<6m, dl1=\E[1M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	il1=\E[1L, ind=\E[S, invis=\E[=6;<5, is1=\E%!1\E[m,
+	is2=\E%!1\E[?6141\E[m, kbs=^H, kcub1=\E[1D, kcud1=\E[1B,
+	kcuf1=\E[1C, kcuu1=\E[1A, rev=\E[=1;<3m, ri=\E[T,
+	rmacs=\E[m, rmcup=, rmir=\E[4l, rmso=\E[=0;<1m,
+	rmul=\E[=0;<1m, sgr0=\E[=0;<1m, smacs=\E[1m,
+	smcup=\E%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m,
+	smul=\E[=5;<2m, tbc=\E[1g,
+
+# (tek4105-30: I added <rmam>/<smam> based on the init string -- esr)
+tek4105-30|4015 emulating 30 line vt100,
+	am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#30, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
+	rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
+	use=vt100+fnkeys,
+
+# Tektronix 4105 from BRL
+# The following setup modes are assumed for normal operation:
+#	CODE ansi		CRLF no			DABUFFER 141
+#	DAENABLE yes		DALINES 30		DAMODE replace
+#	DAVISIBILITY yes	ECHO no			EDITMARGINS 1 30
+#	FLAGGING input		INSERTREPLACE replace	LFCR no
+#	ORIGINMODE relative	PROMPTMODE no		SELECTCHARSET G0 B
+#	SELECTCHARSET G1 0	TABS -2
+# Other setup modes may be set for operator convenience or communication
+# requirements; I recommend
+#	ACURSOR 1 0		AUTOREPEAT yes		AUTOWRAP yes
+#	BYPASSCANCEL <LF>	CURSORKEYMODE no	DAINDEX 1 0 0
+#	EOFSTRING ''		EOLSTRING <CR>		EOMCHARS <CR> <NU>
+#	GAMODE overstrike	GCURSOR 0 100 0		GSPEED 10 1
+#	IGNOREDEL no		KEYEXCHAR <DL>		NVDEFINE -53 "<NU>"
+#	PROMPTSTRING ''		QUEUESIZE 2460		WINDOW 0 0 4095 3132
+#	XMTDELAY 0
+# and factory color maps.  After setting these modes, save them with NVSAVE. No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# "IC" cannot be used in combination with "im" & "ei".
+# "tek4105a" is just a guess:
+tek4105a|Tektronix 4105,
+	OTbs, OTpt, msgr, xon,
+	OTkn#8, cols#80, it#8, lines#30, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	civis=\E%!0\ETD00\E%!1, clear=\E[H\E[J,
+	cnorm=\E%!0\ETD10\E%!1, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E%!1,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ,
+	kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5,
+	lf5=F6, lf6=F8, ll=\E[30;H, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
+	rin=\E[%p1%dT, rmacs=^O, rmcup=\E%!0\ELBH=\E%!1,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40\ELI100\ELLA>\ELM0\EKE0\ENF1\EKS0\END0\E%!1\Ec\E[?3;5l\E[?7;8h\E[r\E[m\E>,
+	sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+
+#
+# Tektronix 4106/4107/4109 from BRL
+# The following setup modes are assumed for normal operation:
+#	CODE ansi		COLUMNMODE 80		CRLF no
+#	DABUFFER 141		DAENABLE yes		DALINES 32
+#	DAMODE replace		DAVISIBILITY yes	ECHO no
+#	EDITMARGINS 1 32	FLAGGING input		INSERTREPLACE replace
+#	LFCR no			LOCKKEYBOARD no		ORIGINMODE relative
+#	PROMPTMODE no		SELECTCHARSET G0 B	SELECTCHARSET G1 0
+#	TABS -2
+# Other setup modes may be set for operator convenience or communication
+# requirements; I recommend
+#	ACURSOR 1 0		AUTOREPEAT yes		AUTOWRAP yes
+#	BYPASSCANCEL <LF>	CURSORKEYMODE no	DAINDEX 1 0 0
+#	EOFSTRING ''		EOLSTRING <CR>		EOMCHARS <CR> <NU>
+#	GAMODE overstrike	GCURSOR 0 100 0		GSPEED 9 3
+#	IGNOREDEL no		KEYEXCHAR <DL>		NVDEFINE -53 "<NU>"
+#	PROMPTSTRING ''		QUEUESIZE 2620		WINDOW 0 0 4095 3132
+#	XMTDELAY 0
+# and factory color maps.  After setting these modes, save them with NVSAVE.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# "IC" cannot be used in combination with "im" & "ei".
+tek4106brl|tek4107brl|tek4109brl|Tektronix 4106 4107 or 4109,
+	msgr, xon,
+	cols#80, it#8, lines#32, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	civis=\E%!0\ETD00\E%!1, clear=\E[H\E[J,
+	cnorm=\E%!0\ETD10\E%!1, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH,
+	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E%!1,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ,
+	kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5,
+	lf5=F6, lf6=F8, ll=\E[32;H, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
+	rin=\E[%p1%dT, rmacs=^O, rmcup=\E%!0\ELBH=\E%!1,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40\ELI100\ELLB0\ELM0\EKE0\ENF1\EKS0\END0\ERE0\E%!1\Ec\E[?3;5l\E[?7;8h\E[r\E[m\E>,
+	sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7;42m, smul=\E[4m, tbc=\E[3g,
+
+# Tektronix 4107/4109 interpret 4 modes using "\E%!" followed by a code:
+# 0 selects Tek mode, i.e., \E%!0
+# 1 selects ANSI mode
+# 2 selects ANSI edit-mode
+# 3 selects VT52 mode
+#
+# One odd thing about the description (which has been unchanged since the 90s)
+# is that the cursor addressing is using VT52 mode, and a few others use the
+# VT52's non-CSI versions of ANSI, e.g., \EJ.
+tek4107|tek4109|tektronix terminals 4107 4109,
+	OTbs, am, mir, msgr, ul, xenl, xt,
+	cols#79, it#8, lines#29,
+	bel=^G, blink=\E%!1\E[5m$<2>\E%!0,
+	bold=\E%!1\E[1m$<2>\E%!0, clear=\ELZ, cnorm=\E%!0, cr=^M,
+	cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E%!3,
+	dim=\E%!1\E[<0m$<2>\E%!0, ed=\EJ, el=\EK, ht=^I, ind=^J,
+	kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	rev=\E%!1\E[7m$<2>\E%!0, ri=\EI,
+	rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0,
+	sgr=\E%%!1\E[%?%p1%t;7;5%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t<0%;%?%p6%t;1%;m$<2>\E%%!0,
+	sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0,
+	smul=\E%!1\E[4m$<2>\E%!0,
+# Tektronix 4207 with sysline.  In the ancestral termcap file this was 4107-s;
+# see the note attached to tek4207.
+tek4207-s|Tektronix 4207 with sysline but no memory,
+	eslok, hs,
+	dsl=\E7\E[?6l\E[2K\E[?6h\E8, fsl=\E[?6h\E8,
+	is1=\E%!1\E[2;32r\E[132D\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J,
+	is2=\E7\E[?6l\E[2K\E[?6h\E8,
+	tsl=\E7\E[?6l\E[2K\E[;%i%df, use=tek4107,
+
+# The 4110 series may be a wonderful graphics series, but they make the 4025
+# look good for screen editing.  In the dialog area, you can't move the cursor
+# off the bottom line.  Out of the dialog area, ^K moves it up, but there
+# is no way to scroll.
+#
+# Note that there is a floppy for free from Tek that makes the
+# 4112 emulate the vt52 (use the vt52 termcap). There is also
+# an expected enhancement that will use ANSI standard sequences.
+#
+# 4112 in non-dialog area pretending to scroll. It really wraps
+# but vi is said to work (more or less) in this mode.
+#
+# 'vi' works reasonably well with this entry.
+#
+otek4112|o4112-nd|otek4113|otek4114|old tektronix 4110 series,
+	am,
+	cols#80, lines#34,
+	bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ind=^J,
+	rmcup=\EKA1\ELV1, smcup=\EKA0\ELV0\EMG0,
+# The 4112 with the ANSI compatibility enhancement
+tek4112|tek4114|tektronix 4110 series,
+	OTbs, am, db,
+	cols#80, lines#34,
+	cbt=\E[Z, clear=\E[2J\E[0;0H, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch1=\E[P,
+	dl1=\E[M, ed=\E[0J, el=\E[0K, ich1=\E[@, il1=\E[L,
+	ind=\E7\E[0;0H\E[M\E8, is2=\E3!1, ri=\E7\E[0;0H\E[L\E8,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+tek4112-nd|4112 not in dialog area,
+	OTns,
+	cuu1=^K, use=tek4112,
+tek4112-5|4112 in 5 line dialog area,
+	lines#5, use=tek4112,
+# (tek4113: this used to have "<cuf1=\LM1\s\LM0>", someone's mistake;
+# removed "<smacs=\E^N>, <rmacs=\E^O>", which had been commented out in 8.3.
+# Note, the !0 and !1 sequences in <rmcup>/<smcup>/<cnorm>/<civis> were
+# previously \0410 and \0411 sequences...I don't *think* they were supposed
+# to be 4-digit octal -- esr)
+tek4113|tektronix 4113 color graphics with 5 line dialog area,
+	OTbs, am, da, eo,
+	cols#80, lines#5,
+	clear=\ELZ, cub1=^H, cud1=^J, cuf1=\ELM1 \ELM0,
+	flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0,
+	is2=\EKA1\ELL5\ELV0\ELV1, uc=\010\ELM1_\ELM0,
+tek4113-34|tektronix 4113 color graphics with 34 line dialog area,
+	lines#34,
+	is2=\EKA1\ELLB2\ELV0\ELV1, use=tek4113,
+# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not
+# supported here. :uc: is slow, but looks nice. Suggest setenv MORE -up .
+# :vb: needs enough delay to let you see the background color being toggled.
+tek4113-nd|tektronix 4113 color graphics with no dialog area,
+	OTbs, am, eo,
+	cols#80, it#8, lines#34,
+	clear=\E^L, cub1=^H, cud1=^J, cuf1=^I, cuu1=^K,
+	cvvis=\ELZ\EKA0,
+	flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0,
+	home=\ELF7l\177 @, ht=^I, is2=\ELZ\EKA0\ELF7l\177 @,
+	ll=\ELF hl @, rmso=\EMT1, smso=\EMT2, uc=\010\EMG1_\EMG0,
+# This entry is from Tek. Inc.  (Brian Biehl)
+# (tek4115: :bc: renamed to :le:, <rmam>/<smam> added based on init string -- esr)
+otek4115|Tektronix 4115,
+	OTbs, am, da, db, eo,
+	cols#80, it#8, lines#34,
+	cbt=\E[Z, clear=\E[H\E[2J,
+	cnorm=\E%!0\ELBG8\E%!1\E[34;1H, cub1=\E[D, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	cvvis=\E%!0\ELBB2\E%!1, dch1=\E[P, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, if=/system/share/tabset/vt100,
+	il1=\E[L,
+	is2=\E%!0\E%\014\ELV0\EKA1\ELBB2\ENU@=\ELLB2\ELM0\ELV1\EKYA?\E%!1\E[<1l\E[?7h\E[?8h\E[34;1H\E[34B\E[m,
+	kbs=^H, ri=\EM, rmam=\E[?7l,
+	rmcup=\E%!0\ELBG8\E%!1\E[34;1H\E[J, rmir=\E[4l,
+	rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h,
+	smcup=\E%!0\ELBB2\E%!1, smir=\E[4h, smkx=\E=, smso=\E[7m,
+	smul=\E[4m,
+tek4115|newer tektronix 4115 entry with more ANSI capabilities,
+	am, xon,
+	cols#80, lines#34,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+	cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%p1%{1}%+%dG,
+	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, invis=\E[8m, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H,
+	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, rmam=\E[?7l,
+	rmso=\E[m, rmul=\E[m,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
+	sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	vpa=\E[%p1%{1}%+%dd,
+# The tek4125 emulates a vt100 incorrectly - the scrolling region
+# command is ignored.  The following entry replaces <csr> with the needed
+# <il>, <il>, and <smir>; removes some cursor pad commands that the tek4125
+# chokes on; and adds a lot of initialization for the tek dialog area.
+# Note that this entry uses all 34 lines and sets the cursor color to green.
+# Steve Jacobson 8/85
+# (tek4125: there were two "\!"s in the is that I replaced with "\E!";
+# commented out, <smir>=\E1 because there's no <rmir>  -- esr)
+tek4125|tektronix 4125,
+	lines#34,
+	csr@, dl1=\E[1M, il1=\E[1L,
+	is2=\E%\E!0\EQD1\EUX03\EKA\ELBB2\ELCE0\ELI100\ELJ2\ELLB2\ELM0\ELS1\ELX00\ELV1\E%\E!1\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	rc@, sc@, smkx=\E=, use=vt100,
+
+# From: <jcoker@ucbic>
+# (tek4207: This was the termcap file's entry for the 4107/4207, but SCO
+# supplied another, less capable 4107 entry.  So we'll use that for 4107 and
+# note that if jcoker wasn't confused you may be able to use this one.
+# I merged in <msgr>,<ind>,<ri>,<invis>,<tbc> from a BRL entry -- esr)
+tek4207|Tektronix 4207 graphics terminal with memory,
+	am, bw, mir, msgr, ul, xenl,
+	cols#80, it#8, lines#32,
+	blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J$<156/>,
+	cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\EM, dch1=\E[P$<4/>, dl1=\E[M$<3/>, ed=\E[J,
+	el=\E[K$<5/>, home=\E[H, ht=^I, ich1=\E[@$<4/>,
+	il1=\E[L$<3/>, ind=\E[S, invis=\E[=6;<5,
+	is2=\E%!0\ELBP0\E%!1\E[H\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J,
+	kcub1=\E[D, kcud1=\ED, kcuf1=\E[C, kcuu1=\EM, khome=\E[H,
+	rev=\E[7m, ri=\E[T,
+	rmcup=\E[?6h\E%!0\ELBP0\E%!1\E[32;1f, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smcup=\E[?6l\E[H\E[J, smso=\E[7m,
+	smul=\E[4m, tbc=\E[1g,
+
+# From: <carolyn@dali.berkeley.edu>  Thu Oct 31 12:54:27 1985
+# (tek4404: There was a "\!" in <smcup> that I replaced with "\E!".
+# Tab had been given as \E2I,that must be the tab-set capability -- esr)
+tek4404|tektronix 4404,
+	OTbs,
+	cols#80, it#8, lines#32,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[1M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\E[2I, il1=\E[1L,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, rc=\E8,
+	rmcup=\E[1;1H\E[0J\E[?6h\E[?1l, rmir=\E[4l,
+	rmkx=\E[?1h, rmso=\E[27m, rmul=\E[m, sc=\E7, sgr0=\E[m,
+	smcup=\E%\E!1\E[1;32r\E[?6l\E>, smir=\E[4h,
+	smkx=\E[?1l, smso=\E[7m, smul=\E[4m,
+# Some unknown person wrote:
+# I added the is string - straight Unix has ESC ; in the login
+# string which sets a ct8500 into monitor mode (aka 4025 snoopy
+# mode). The is string here cleans up a few things (but not
+# everything).
+ct8500|tektronix ct8500,
+	am, bw, da, db,
+	cols#80, lines#25,
+	bel=^G, cbt=\E^I, clear=\E^E, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\ES, cup=\E|%p1%{32}%+%c%p2%{32}%+%c, cuu1=\ER,
+	dch1=\E^], dl1=\E^M, ed=\E^U, el=\E^T, ht=^I, ich1=\E^\,
+	il1=\E^L, ind=^J, is2=\037\EZ\Ek, ri=\E^A, rmso=\E\s,
+	rmul=\E\s, sgr0=\E\s, smso=\E$, smul=\E!,
+
+# Tektronix 4205 terminal.
+#
+# am is not defined because the wrap around occurs not when the char.
+# is placed in the 80'th column, but when we are attempting to type
+# the 81'st character on the line.  (esr: hmm, this is like the vt100
+# version of xenl, perhaps am + xenl would work!)
+#
+# Bold, dim, and standout are simulated by colors and thus not allowed
+# with colors.  The tektronix color table is mapped into the RGB color
+# table by setf/setb. All colors are reset to factory specifications by oc.
+# The <initc> cap uses RGB notation to define colors.  for arguments 1-3 the
+# interval (0-1000) is broken into 8 smaller sub-intervals (125).  Each sub-
+# interval then maps into pre-defined value.
+tek4205|tektronix 4205,
+	ccc, mir, msgr,
+	colors#8, cols#80, it#8, lines#30, ncv#49, pairs#63,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[=7;<4m, cbt=\E[Z,
+	clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M,
+	ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L,
+	ind=\ED,
+	initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1,
+	invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA,
+	kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EP, kf5=\EQ, kf6=\ER,
+	kf7=\ES,
+	oc=\E%!0\ETFB000001F4F4F42F40030F404A4C<F450F4F46F40F47F4F40\E%!1,
+	op=\E[39;40m, rev=\E[7m, ri=\EM, rmacs=^O, rmcup=,
+	rmir=\E[4l, rmso=\E[=0;<1m, rmul=\E[24m,
+	setb=\E[=%?%p1%{0}%=%t0m%e%p1%{1}%=%t4m%e%p1%{2}%=%t3m%e%p1%{3}%=%t5m%e%p1%{4}%=%t2m%e%p1%{5}%=%t6m%e%p1%{6}%=%t7m%e1m%;,
+	setf=\E[<%?%p1%{0}%=%t0m%e%p1%{1}%=%t4m%e%p1%{2}%=%t3m%e%p1%{3}%=%t5m%e%p1%{4}%=%t2m%e%p1%{5}%=%t6m%e%p1%{6}%=%t7m%e1m%;,
+	sgr0=\E[=0;<1m\E[24;25;27m\017, smacs=^N,
+	smcup=\E%%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m,
+	smul=\E[4m, tbc=\E[1g,
+
+#### Teletype (tty)
+#
+# These are the hardcopy Teletypes from before AT&T bought the company,
+# clattering electromechanical dinosaurs in Bakelite cases that printed on
+# pulpy yellow roll paper.  If you remember these you go back a ways.
+# Teletype-branded VDTs are listed in the AT&T section.
+#
+# The earliest UNIXes were designed to use these clunkers; nroff and a few
+# other programs still default to emitting codes for the Model 37.
+#
+
+tty33|tty35|model 33 or 35 teletype,
+	hc, os, xon,
+	cols#72,
+	bel=^G, cr=^M, cud1=^J, ind=^J,
+tty37|model 37 teletype,
+	OTbs, hc, os, xon,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E7, hd=\E9, hu=\E8,
+	ind=^J,
+
+# There are known to be at least three flavors of the tty40, all seem more
+# like IBM half duplex forms fillers than ASCII terminals.  They have lots of
+# awful braindamage, such as printing a visible newline indicator after each
+# newline.  The 40-1 is a half duplex terminal and is hopeless.  The 40-2 is
+# braindamaged but has hope and is described here.  The 40-4 is a 3270
+# lookalike and beyond hope.  The terminal has visible bell but I don't know
+# it - it's null here to prevent it from showing the BL character.
+# There is an \EG in <nl> because of a bug in old vi (if stty says you have
+# a "newline" style terminal (-crmode) vi figures all it needs is nl
+# to get crlf, even if <cr> is not ^M.)
+# (tty40: removed obsolete ":nl=\EG\EB:", it's just do+cr -- esr)
+tty40|ds40|ds40-2|dataspeed40|teletype dataspeed 40/2,
+	OTbs, xon,
+	cols#80, lines#24,
+	clear=\EH$<20>\EJ$<80>, cr=\EG, cub1=^H, cud1=\EB,
+	cuf1=\EC, cuu1=\E7, dch1=\EP$<50>, dl1=\EM$<50>,
+	ed=\EJ$<75>, home=\EH$<10>, ht=\E@$<10>, hts=\E1,
+	ich1=\E\^$<50>, il1=\EL$<50>, ind=\ES$<20>, kbs=^],
+	kcub1=^H, mc4=^T, mc5=\022$<2000>, ri=\ET$<10>, rmso=\E4,
+	rs2=\023\ER$<60>, smso=\E3, tbc=\EH\E2$<80>,
+tty43|model 43 teletype,
+	OTbs, am, hc, os, xon,
+	cols#132,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H,
+
+#### Tymshare
+#
+
+# You can add <is2=\E<> to put this 40-column mode, though I can't
+# for the life of me think why anyone would want to.
+scanset|sc410|sc415|Tymshare Scan Set,
+	am, bw, msgr,
+	cols#80, lines#24,
+	acsc=j%k4l<m-q\,x5, bel=^G, clear=\EH\EJ, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^I, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, ed=\EJ, el=\EK, home=\EH, ind=^J, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, mc0=\E;3, mc4=\E;0,
+	mc5=\E;0, rc=^C, rmacs=^O, rs1=\E>, sc=^B, smacs=^N,
+
+#### Volker-Craig (vc)
+#
+# If you saw a Byte Magazine cover with a terminal on it during the early
+# 1980s, it was probably one of these.  Carl Helmers liked them because
+# they could crank 19.2 and were cheap (that is, he liked them until he tried
+# to program one...)
+#
+
+# Missing in vc303a and vc303 descriptions:  they scroll 2 lines at a time
+# every other linefeed.
+vc303|vc103|vc203|volker-craig 303,
+	OTbs, OTns, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<40>, cr=^M, cub1=^H, cud1=^J, cuf1=^I,
+	cuu1=^N, home=\013$<40>, kcub1=^H, kcud1=^J, kcuf1=^I,
+	kcuu1=^N, ll=\017$<1>W,
+vc303a|vc403a|volker-craig 303a,
+	clear=\030$<40>, cuf1=^U, cuu1=^Z, el=\026$<20>,
+	home=\031$<40>, kcuf1=^U, kcuu1=^Z, ll=^P, use=vc303,
+# (vc404: removed obsolete ":ma=^Z^P^U :" -- esr)
+vc404|volker-craig 404,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\030$<40>, cr=^M, cub1=^H, cud1=^J, cuf1=^U,
+	cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z,
+	ed=\027$<40>, el=\026$<20>, home=\031$<40>, ind=^J,
+	kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^Z,
+vc404-s|volker-craig 404 w/standout mode,
+	cud1=^J, rmso=^O, smso=^N, use=vc404,
+# From: <wolfgang@cs.sfu.ca>
+# (vc414: merged in cup/dl1/home from an old vc414h-noxon)
+vc414|vc414h|Volker-Craig 414H in sane escape mode.,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\E\034$<40>, cud1=\E^K, cuf1=^P,
+	cup=\E\021%p2%c%p1%c$<40>, cuu1=\E^L, dch1=\E3,
+	dl1=\E\023$<40>, ed=\E^X, el=\E\017$<10/>, home=\E^R,
+	ich1=\E\:, il1=\E\032$<40>, kcub1=^H, kcud1=\E^K, kcuf1=^P,
+	kcuu1=\E^L, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED, kf4=\EE,
+	kf5=\EF, kf6=\EG, kf7=\EH, khome=\E^R, lf0=PF1, lf1=PF2,
+	lf2=PF3, lf3=PF4, lf4=PF5, lf5=PF6, lf6=PF7, lf7=PF8,
+	rmso=\E^_, smso=\E^Y,
+vc415|volker-craig 415,
+	clear=^L, use=vc404,
+
+######## OBSOLETE PERSONAL-MICRO CONSOLES AND EMULATIONS
+#
+
+#### IBM PC and clones
+#
+
+# The pcplot IBM-PC terminal emulation program is really messed up. It is
+# supposed to emulate a vt-100, but emulates the wraparound bug incorrectly,
+# doesn't support scrolling regions, ignores add line commands, and ignores
+# delete line commands. Consequently, the resulting behavior looks like a
+# crude adm3a-type terminal.
+# Steve Jacobson 8/85
+pcplot|pc-plot terminal emulation program,
+	xenl@,
+	csr@, dl@, dl1@, il@, il1@, rc@, sc@, use=vt100,
+# KayPro II from Richard G Turner <rturner at Darcom-Hq.ARPA>
+# I've found that my KayPro II, running MDM730, continues to emulate an
+# ADM-3A terminal, just like I was running TERM.COM. On our 4.2 UNIX
+# system the following termcap entry works well:
+# I have noticed a couple of minor glitches, but nothing I can't work
+# around. (I added two capabilities from the BRL entry -- esr)
+kaypro|kaypro2|kaypro II,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\032$<1/>, cr=^M, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER, ed=^W,
+	el=^X, home=^^, il1=\EE, ind=^J, kcud1=^J, kcuf1=^L, kcuu1=^K,
+
+# From IBM, Thu May  5 19:35:27 1983
+# (ibmpc: commented out <smir>=\200R because we don't know <rmir> -- esr)
+ibm-pc|ibm5051|5051|IBM Personal Computer (no ANSI.SYS),
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L^K, cr=^M^^, cub1=^], cud1=^J, cuf1=^\,
+	cuu1=^^, home=^K, ind=\n$<10>, kcud1=^_,
+
+ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX,
+	OTbs, am, bw, eo, hs, km, msgr, ul,
+	cols#80, it#8, lines#24,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M,
+	cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	home=\E[H, hpa=\E[%i%p1%dG, ind=\E[S\E[B,
+	indn=\E[%p1%dS\E[%p1%dB, invis=\E[30;40m, kbs=^H,
+	kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\177, kend=\E[Y, kf1=\240, kf10=\251, kf2=\241,
+	kf3=\242, kf4=\243, kf5=\244, kf6=\245, kf7=\246, kf8=\247,
+	kf9=\250, khome=\E[H, kich1=\E[^H, knp=\E[U, kpp=\E[V,
+	ll=\E[24;1H, nel=^M, rev=\E[7m, ri=\E[T\E[A,
+	rin=\E[%p1%dT\E[%p1%dA, rmso=\E[m, rmul=\E[m,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t30;40%;m,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+
+#### Apple II
+#
+# Apple II firmware console first, then various 80-column cards and
+# terminal emulators.  For two cents I'd toss all these in the UFO file
+# along with the 40-column apple entries.
+#
+
+# From: brsmith@umn-cs.cs.umn.edu (Brian R. Smith) via BRL
+#	'it#8' tells UNIX that you have tabs every 8 columns.  This is a
+#		function of TIC, not the firmware.
+#	The clear key on a IIgs will do something like clear-screen,
+#		depending on what you're in.
+appleIIgs|appleIIe|appleIIc|Apple 80 column firmware interface,
+	OTbs, am, bw, eo, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ht=^I, ind=^W, kbs=^H, kclr=^X, kcub1=^H, kcud1=^J,
+	kcuf1=^U, kcuu1=^K, kdch1=\177, nel=^M^W, ri=^V, rmso=^N,
+	smso=^O,
+# Apple //e with 80-column card, entry from BRL
+# The modem interface is permitted to discard LF (maybe DC1), otherwise
+# passing characters to the 80-column firmware via COUT (PR#3 assumed).
+# Auto-wrap does not work right due to newline scrolling delay, which also
+# requires that you set "stty cr2".
+# Note: Cursor addressing is only available via the Pascal V1.1 entry,
+# not via the BASIC PR#3 hook.  All this nonsense can be avoided only by
+# using a terminal emulation program instead of the built-in firmware.
+apple2e|Apple //e,
+	bw, msgr,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<100/>, cub1=^H, cud1=^J, cuu1=^_,
+	ed=\013$<4*/>, el=\035$<4/>, home=^Y, ht=^I, ind=^W,
+	is2=^R^N, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^K,
+	nel=\r$<100/>, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N,
+	smso=^O,
+# mcvax!vu44!vu45!wilcke uses the "ap" entry together with Ascii Express Pro
+# 4.20, with incoming and outgoing terminals both on 0, emulation On.
+apple2e-p|Apple //e via Pascal,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, kbs=^H, kcub1=^H,
+	kcud1=^J, use=apple2e,
+# (ASCII Express) MouseTalk "Standard Apple //" emulation from BRL
+# Enable DC3/DC1 flow control with "stty ixon -ixany".
+apple-ae|ASCII Express,
+	OTbs, am, bw, msgr, nxon, xon,
+	cols#80, it#8, lines#24,
+	bel=\007$<500/>, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^U,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ind=^W, is2=^R^N, kclr=^X, kcub1=^H, kcud1=^J,
+	kcuf1=^U, kcuu1=^K, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N,
+	smso=^O,
+appleII|apple ii plus,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	clear=^L, cnorm=^TC2, cub1=^H, cud1=^J, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, cvvis=^TC6,
+	ed=^K, el=^], flash=\024G1$<200/>\024T1, home=\E^Y, ht=^I,
+	is2=\024T1\016, kcud1=^J, kcuf1=^U, rmso=^N, sgr0=^N,
+	smso=^O,
+# Originally by Gary Ford 21NOV83
+# From: <ee178aci%sdcc7@SDCSVAX.ARPA>  Fri Oct 11 21:27:00 1985
+apple-80|apple II with smarterm 80 col,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	cbt=^R, clear=\014$<10*/>, cr=\r$<10*/>, cub1=^H, cud1=^J,
+	cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_,
+	ed=\013$<10*/>, el=\035$<10/>, home=^Y,
+apple-soroc|apple emulating soroc 120,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\E*$<300>, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET,
+	home=^^, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
+# From Peter Harrison, Computer Graphics Lab, San Francisco
+#   ucbvax!ucsfmis!harrison  .....uucp
+#   ucbvax!ucsfmis!harrison@BERKELEY   .......ARPA
+# "These two work.  If you don't have the inverse video chip for the
+# Apple with videx then remove the :so: and :se: fields."
+# (apple-videx: this used to be called DaleApple -- esr)
+apple-videx|Apple with videx videoterm 80 column board with inverse video,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24,
+	clear=\014$<300/>, cub1=^H, cud1=^J, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ht=^I, kcub1=^H, kcud1=^J, kcuf1=^U, khome=^Y,
+	rmso=^Z2, sgr0=^Z2, smso=^Z3,
+# My system [for reference] : Apple ][+, 64K, Ultraterm display card,
+#			      Apple Cat ][ 212 modem, + more all
+#			      controlled by ASCII Express: Pro.
+# From Dave Shaver <isucs1!shaver>
+apple-uterm-vb|Videx Ultraterm for Apple micros with Visible Bell,
+	OTbs, am, eo, xt,
+	cols#80, lines#24,
+	acsc=, clear=^L, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	flash=^W35^W06, home=^Y,
+	is2=^V4^W06\017\rVisible Bell Installed.\016\r\n,
+	rmso=^N, smso=^O,
+apple-uterm|Ultraterm for Apple micros,
+	OTbs, am, eo, xt,
+	cols#80, lines#24,
+	acsc=, clear=^L, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, is2=^V4^W06\016, rmso=^N, smso=^O,
+# from trwrba!bwong (Bradley W. Wong):
+#
+# This entry assumes that you are using an apple with the UCSD Pascal
+# language card.  SYSTEM.MISCINFO is assumed to be the same as that
+# supplied with the standard apple except that screenwidth should be set
+# using SETUP to 80 columns.  Note that the right arrow is not mapped in
+# this termcap entry.  This is because that key, on the Apple, transmits
+# a ^U and would thus preempt the more useful "up" function of vi.
+#
+# HMH 2/23/81
+apple80p|80-column apple with Pascal card,
+	am, bw,
+	cols#80, lines#24,
+	clear=^Y^L, cuf1=^\\:,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, kcub1=^H,
+#
+# Apple II+ equipped with Videx 80 column card
+#
+# Terminfo from ihnp4!ihu1g!djc1 (Dave Christensen) via BRL;
+# manually converted by D A Gwyn
+#
+# DO NOT use any terminal emulation with this data base, it works directly
+# with the Videx card.  This has been tested with vi 1200 baud and works fine.
+#
+# This works great for vi, except I've noticed in pre-R2, ^U will scroll back
+# 1 screen, while in R2 ^U doesn't.
+# For inverse alternate character set add:
+#	<smacs>=^O:<rmacs>=^N:
+# (apple-v: added it#8 -- esr)
+apple-videx2|Apple II+ w/ Videx card (similar to Datamedia h1520),
+	am, xenl,
+	cols#80, it#8, lines#24,
+	bel=\007$<100/>, clear=\014$<16*/>, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^_, ed=\013$<16*/>, el=^], home=^Y, ht=\011$<8/>,
+	ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^\, kcuu1=^_,
+	khome=^Y, rmso=^Z2, smso=^Z3,
+apple-videx3|vapple|Apple II with 80 col card,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\Ev, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, el=\Ex,
+	home=\EH, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!, kf5=\E", kf6=\E#,
+	kf7=\E$, kf8=\E%%, kf9=\E&, khome=\EH,
+#From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL
+aepro|Apple II+ running ASCII Express Pro--vt52,
+	OTbs,
+	cols#80, lines#24,
+	clear=\014$<300/>, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH,
+# UCSD addition: Yet another termcap from Brian Kantor's Micro Munger Factory
+apple-vm80|ap-vm80|apple with viewmax-80,
+	OTbs,
+	cols#80, lines#24,
+	clear=\014$<300/>, cuf1=^\\:,
+	cup=\036%p1%{32}%+%c%p2%{32}%+%c$<100/>, cuu1=^_,
+	ed=\013$<300/>, el=^], home=\031$<200/>,
+
+#### Apple Lisa & Macintosh
+#
+
+# (lisa: changed <cvvis> to <cnorm> -- esr)
+lisa|apple lisa console display (black on white),
+	OTbs, am, eo, msgr,
+	cols#88, it#8, lines#32,
+	acsc=jdkclfmenbqattuvvuwsx`, civis=\E[5h, clear=^L,
+	cnorm=\E[5l, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L,
+	is2=\E>\E[m\014, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smacs=\E[11m, smso=\E[7m, smul=\E[4m,
+liswb|apple lisa console display (white on black),
+	is2=\E>\E[0;7m\014, rmso=\E[0;7m, rmul=\E[0;7m,
+	smso=\E[m, smul=\E[4m, use=lisa,
+
+# lisaterm from ulysses!gamma!epsilon!mb2c!jed (John E. Duncan III) via BRL;
+# <is2> revised by Ferd Brundick <fsbrn@BRL.ARPA>
+#
+# These entries assume that the 'Auto Wraparound' is enabled.
+# Xon-Xoff flow control should also be enabled.
+#
+# The vt100 uses :rs2: and :rf: rather than :is2:/:tbc:/:hts: because the tab
+# settings are in non-volatile memory and don't need to be reset upon login.
+# Also setting the number of columns glitches the screen annoyingly.
+# You can type "reset" to get them set.
+#
+lisaterm|Apple Lisa or Lisa/2 running LisaTerm vt100 emulation,
+	OTbs, OTpt, am, xenl, xon,
+	OTkn#4, cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, kf1=\EOQ,
+	kf2=\EOR, kf3=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, rc=\E8,
+	rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r,
+	sc=\E7, sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g,
+# Lisaterm in 132 column ("wide") mode.
+lisaterm-w|Apple Lisa with Lisaterm in 132 column mode,
+	cols#132,
+	kbs=^H, kcub1=^H, kcud1=^J, use=lisaterm,
+# Although MacTerminal has insert/delete line, it is commented out here
+# since it is much faster and cleaner to use the "lock scrolling region"
+# method of inserting and deleting lines due to the MacTerminal implementation.
+# Also, the "Insert/delete ch" strings have an extra character appended to them
+# due to a bug in MacTerminal V1.1.  Blink is disabled since it is not
+# supported by MacTerminal.
+mac|macintosh|Macintosh with MacTerminal,
+	xenl,
+	OTdN#30,
+	blink@, dch1=\E[P$<7/>, ich1=\E[@$<9/>, ip=$<7/>, use=lisa,
+# Lisaterm in 132 column ("wide") mode.
+mac-w|macterminal-w|Apple Macintosh with Macterminal in 132 column mode,
+	cols#132, use=mac,
+
+#### Radio Shack/Tandy
+#
+
+# (coco3: This had "ta" used incorrectly as a boolean and bl given as "bl#7".
+# I read these as mistakes for ":it#8:" and ":bl=\007:" respectively -- esr)
+# From: <{pbrown,ctl}@ocf.berkeley.edu> 12 Mar 90
+coco3|os9LII|Tandy CoCo3 24*80 OS9 Level II,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=^_", bold=\E\:^A, civis=^E\s,
+	clear=\014$<5*/>, cnorm=^E!, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\002%p2%{32}%+%c%p1%{32}%+%c$<2/>, cuu1=^I,
+	dl1=^_1, ed=^K, el=^D, home=^A, il1=^_0, kcub1=^H, kcud1=^J,
+	kcuf1=^I, kcuu1=^L, rev=^_\s, rmso=^_!, rmul=^_#,
+	sgr0=\037!\E\:\0, smso=^_\s, smul=^_",
+# (trs2: removed obsolete ":nl=^_:" -- esr)
+trs2|trsII|trs80II|Radio Shack Model II using P&T CP/M,
+	OTbs, am, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^_, cuf1=^],
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, dl1=^K, ed=^B,
+	el=^A, home=^F, ht=^I, il1=^D, ind=^J, kbs=^H, kcub1=^\,
+	kcud1=^_, kcuf1=^], kcuu1=^^, rmso=^O, sgr0=^O, smso=^N,
+# From: Kevin Braunsdorf <ksb@mentor.cc.purdue.edu>
+# (This had extension capabilities
+#	:BN=\E[?33h:BF=\E[?33l:UC=\E[_ q:BC=\E[\177 q:\
+#	:CN=\ERC:CF=\ERc:NR=\ERD:NM=\ER@:
+# I also deleted the unnecessary ":kn#2:", ":sg#0:" -- esr)
+trs16|trs-80 model 16 console,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	acsc=jak`l_mbquvewcxs, bel=^G, civis=\ERc, clear=^L,
+	cnorm=\ERC, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL,
+	ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	kf0=^A, kf1=^B, kf2=^D, kf3=^L, kf4=^U, kf5=^P, kf6=^N, kf7=^S,
+	khome=^W, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7,
+	lf7=f8, mc4=\E]+, mc5=\E]=, rmacs=\ERg, rmso=\ER@, sgr0=\ER@,
+	smacs=\ERG, smso=\ERD,
+
+#### Commodore Business Machines
+#
+# Formerly located in West Chester, PA; went spectacularly bust in 1994
+# after years of shaky engineering and egregious mismanagement.  Made one
+# really nice machine (the Amiga) and boatloads of nasty ones (PET, C-64,
+# C-128, VIC-20).  The C-64 is said to have been the most popular machine
+# ever (most units sold); they can still be found gathering dust in closets
+# everywhere.
+#
+
+# From: Kent Polk <kent@swrinde.nde.swri.edu>, 30 May 90
+# Added a few more entries, converted caret-type control sequence (^x) entries
+# to '\0xx' entries since a couple of people mentioned losing '^x' sequences.
+# Corrections by Ty Sarna <tsarna@endicor.com>, Sat Feb 28 18:55:15 1998
+#
+# :as:, :ae:			Support for alternate character sets.
+# :ve=\E[\040p:vi=\E[\060\040p:	cursor visible/invisible.
+# :xn:  vt100 kludginess at column 80/NEWLINE ignore after 80 cols(Concept)
+#     This one appears to fix a problem I always had with a line ending
+#     at 'width+1' (I think) followed by a blank line in vi. The blank
+#     line tended to disappear and reappear depending on how the screen
+#     was refreshed. Note that this is probably needed only if you use
+#     something like a Dnet Fterm with the window sized to some peculiar
+#     dimension larger than 80 columns.
+# :k0=\E9~:	map F10 to k0 - could have F0-9 -> k0-9, but ... F10 was 'k;'
+# (amiga: removed obsolete :kn#10:,
+# also added empty <acsc> to suppress a warning --esr)
+amiga|Amiga ANSI,
+	OTbs, am, bw, xenl,
+	cols#80, lines#24,
+	acsc=, bel=^G, blink=\E[7;2m, bold=\E[1m, cbt=\E[Z,
+	civis=\E[0 p, clear=\E[H\E[J, cnorm=\E[ p, cub=\E[%p1%dD,
+	cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
+	indn=\E[%p1%dS, invis=\E[8m, is2=\E[20l, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[9~,
+	kf1=\E[0~, kf2=\E[1~, kf3=\E[2~, kf4=\E[3~, kf5=\E[4~,
+	kf6=\E[5~, kf7=\E[6~, kf8=\E[7~, kf9=\E[8~, rev=\E[7m,
+	ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmso=\E[m, rmul=\E[m,
+	rs1=\Ec, sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m,
+
+# From: Hans Verkuil <hans@wyst.hobby.nl>, 4 Dec 1995
+# (amiga: added empty <acsc> to suppress a warning.
+# I'm told this entry screws up badly with AS225, the Amiga
+# TCP/IP package once from Commodore, and now sold by InterWorks.--esr)
+amiga-h|Hans Verkuil's Amiga ANSI,
+	OTbs, bw, msgr,
+	cols#80, lines#24,
+	acsc=, bel=^G, blink=\2337;2m, bold=\2331m, cbt=\233Z,
+	civis=\2330 p, clear=\233H\233J, cnorm=\233 p, cr=^M,
+	cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+	cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+	dim=\2332m, ech=\233%p1%dP, ed=\233J, el=\233K, flash=^G,
+	home=\233H, ht=^I, ich=\233%p1%d@, ich1=\233@, ind=\233S,
+	indn=\233%p1%dS, invis=\2338m, is2=\23320l, kbs=^H,
+	kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+	kdch1=\177, kf0=\2339~, kf1=\2330~, kf2=\2331~, kf3=\2332~,
+	kf4=\2333~, kf5=\2334~, kf6=\2335~, kf7=\2336~, kf8=\2337~,
+	kf9=\2338~, nel=\233B\r, rev=\2337m, ri=\233T,
+	rin=\233%p1%dT, rmacs=^O, rmcup=\233?7h, rmso=\2330m,
+	rmul=\2330m, rs1=\Ec, sgr0=\2330m, smacs=^N, smcup=\233?7l,
+	smso=\2337m, smul=\2334m,
+
+# From: Henning 'Faroul' Peters <Faroul@beyond.kn-bremen.de>, 25 Sep 1999
+#
+# Pavel Fedin added
+#	Home    Shift+Left
+#	End     Shift+Right
+#	PgUp    Shift+Up
+#	PgDn    Shift+Down
+amiga-8bit|Amiga ANSI using 8-bit controls,
+	acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L,
+	ind=\204, indn@, kend=\233 @, khome=\233 A, knp=\233S,
+	kpp=\233T, ri=\215, rin@, use=amiga-h,
+
+# From: Ruediger Kuhlmann <terminfo@ruediger-kuhlmann.de>, 18 Jul 2000
+# requires use of appropriate preferences settings.
+amiga-vnc|Amiga using VNC console (black on light gray),
+	am, da, db, msgr, ndscr,
+	btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#256,
+	bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p,
+	clear=\E[H\E[J, cnorm=\E[p\E[>?6l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\E[>?6h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[1M, ed=\E[J, el=\E[K, flash=^G,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED,
+	indn=\E[%p1%dS, invis=\E8m,
+	is2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h,
+	kbs=^H, kcbt=\233Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kdch1=\177, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~,
+	kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~,
+	kf8=\E[7~, kf9=\E[8~, khlp=\E[?~, khome=\E[44~, kll=\E[45~,
+	kmous=\E[M, knp=\E[42~, kpp=\E[41~, nel=\EE, oc=\E[0m,
+	rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=\E[?7h\E[r\E[J,
+	rmkx=\E[?1l, rmso=\E[21m, rmul=\E[24m, rs1=\Ec,
+	rs2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h,
+	setab=\E[%?%p1%{8}%>%t%'F'%p1%+%d%e4%p1%d%;m,
+	setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m,
+	sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h,
+	smso=\E[1m, smul=\E[4m,
+
+# MorphOS on Genesi Pegasos
+# By Pavel Fedin <sonic_amiga@rambler.ru>
+morphos,
+	acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L,
+	ind=\204, indn@, kend=\23345~, kf11=\23320~, kf12=\23321~,
+	khome=\23344~, kich1=\23340~, knp=\23342~, kpp=\23341~,
+	ri=\215, rin@, use=amiga-h,
+
+# Commodore B-128 microcomputer from Doug Tyrol <det@HEL-ACE.ARPA>
+# 	I'm trying to write a termcap for a commodore b-128, and I'm
+# having a little trouble. I've had to map most of my control characters
+# to something that unix will accept (my delete-char is a ctrl-t, etc),
+# and create some functions (like cm), but thats life.
+# 	The problem is with the arrow keys - right, and up work fine, but
+# left deletes the previous character and down I just can't figure out.
+# Jove knows what I want, but I don't know what it's sending to me (it
+# isn't thats bound to next-line in jove).
+# 	Anybody got any ideas? Here's my termcap.
+# DAG -- I changed his "^n" entries to "\n"; see if that works.
+#
+commodore|b-128|Commodore B-128 micro,
+	am, bw,
+	OTdN#20, cols#80, lines#24, pb#150,
+	OTbc=^H, OTnl=^M, clear=\E\006$<10/>, cr=^M, cud1=^J,
+	cuf1=^F, cup=\E\013%p1%2d\,%p2%2d\,$<20/>, cuu1=^P,
+	dch1=\177$<10*/>, dl1=\Ed$<10*/>, el=\Eq$<10/>,
+	home=\E^E, ht=\011$<5/>, ich1=\E\n$<5/>, il1=\Ei$<10/>,
+	kcub1=^B, kcud1=^J, kcuf1=^F, kcuu1=^P, khome=\E^E, rmir=,
+	smir=,
+
+#### North Star
+#
+# North Star Advantage from Lt. Fickie <brl-ibd!fickie> via BRL
+northstar|North Star Advantage,
+	OTbs,
+	cols#80, lines#24,
+	clear=\004$<200/>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1/>, ed=\017$<200/>,
+	el=\016$<200/>, home=\034\032$<200/>,
+
+#### Osborne
+#
+# Thu Jul  7 03:55:16 1983
+#
+# As an aside, be careful; it may sound like an anomaly on the
+# Osborne, but with the 80-column upgrade, it's too easy to
+# enter lines >80 columns!
+#
+# I've already had several comments...
+# The Osborne-1 with the 80-col option is capable of being
+# 52, 80, or 104 characters wide; default to 80 for compatibility
+# with most systems.
+#
+# The tab is destructive on the Ozzie; make sure to 'stty -tabs'.
+osborne-w|osborne1-w|osborne I in 104-column mode,
+	msgr, ul, xt,
+	cols#104, lines#24,
+	bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, el=\ET, ich1=\EQ, il1=\EE, ind=^J, kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, rmso=\E(, rmul=\Em, smso=\E), smul=\El,
+# Osborne I	from ptsfa!rhc (Robert Cohen) via BRL
+osborne|osborne1|osborne I in 80-column mode,
+	OTbs, am, mir, msgr, ul, xhp,
+	OTdB#4, cols#80, lines#24,
+	clear=^Z, cub1=\010$<4>, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW$<4/>, dl1=\ER, el=\ET, il1=\EE, is2=^Z, kbs=^H,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, rmir=, rmso=\E),
+	rmul=\Em, smir=\EQ, smso=\E(, smul=\El,
+#
+# Osborne Executive definition from BRL
+# Similar to tvi920
+# Added by David Milligan and Tom Smith (SMU)
+osexec|Osborne executive,
+	OTbs, am,
+	OTug#1, cols#80, lines#24, xmc#1,
+	OTnl=^J, bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE,
+	is2=\Eq\Ek\Em\EA\Ex0, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L,
+	kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r,
+	kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r,
+	kf9=^AI\r, rmir=, rmso=\Ek, rmul=\Em, smir=, smso=\Ej,
+	smul=\El, tbc=\E3,
+
+#### Console types for obsolete UNIX clones
+#
+# Coherent, Minix, Venix, and several lesser-known kin were OSs for 8088
+# machines that tried to emulate the UNIX look'n'feel.  Coherent and Venix
+# were commercial, Minix an educational tool sold in conjunction with a book.
+# Memory-segmentation limits and a strong tendency to look like V7 long after
+# it was obsolete made all three pretty lame.  Venix croaked early.  Coherent
+# and Minix were ported to 32-bit Intel boxes, only to be run over by a
+# steamroller named `Linux' (which, to be fair, traces some lineage to Minix).
+# Coherent's vendor, the Mark Williams Company, went belly-up in 1994.  There
+# are also, I'm told, Minix ports that ran on Amiga and Atari machines and
+# even as single processes under SunOS and the Macintosh OS.
+#
+
+# See
+#	http://www.minix3.org/manpages/html4/console.html
+minix|minix console (v3),
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	kdch1=\177, kend=\E[Y, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[11;2~, kf12=\E[12;2~, kf13=\E[13;2~,
+	kf14=\E[14;2~, kf15=\E[15;2~, kf16=\E[17;2~,
+	kf17=\E[18;2~, kf18=\E[19;2~, kf19=\E[20;2~, kf2=\E[12~,
+	kf20=\E[21;2~, kf21=\E[11;5~, kf22=\E[12;5~,
+	kf23=\E[13;5~, kf24=\E[14;5~, kf25=\E[15;5~,
+	kf26=\E[17;5~, kf27=\E[18;5~, kf28=\E[19;5~,
+	kf29=\E[20;5~, kf3=\E[13~, kf30=\E[21;5~, kf31=\E[11;6~,
+	kf32=\E[12;6~, kf33=\E[13;6~, kf34=\E[14;6~,
+	kf35=\E[15;6~, kf36=\E[17;6~, kf37=\E[18;6~,
+	kf38=\E[19;6~, kf39=\E[20;6~, kf4=\E[14~, kf40=\E[21;6~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kich1=\E[@, knp=\E[U, kpp=\E[V, lf0@, lf1@, lf2@, lf3@, lf4@, lf5@,
+	use=minix-3.0,
+
+minix-3.0|minix console (v3.0),
+	use=ecma+color, use=minix-1.7,
+
+# See
+#	http://www.minix-vmd.org/pub/Minix-vmd/1.7.0/wwwman/man4/console.4.html
+# This is the entry provided with minix 1.7.4, with bogus :ri: removed.
+minix-1.7|minix console (v1.7),
+	am, xenl,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[K, el1=\E[2K,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, is2=\E[0m, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf0=\E[Y, kf1=\E[V, kf2=\E[U,
+	kf3=\E[T, kf4=\E[S, kf5=\E[G, khome=\E[H, lf0=End, lf1=PgUp,
+	lf2=PgDn, lf3=Num +, lf4=Num -, lf5=Num 5, nel=^M^J,
+	rev=\E[7m, ri=\EM, rmso=\E[0m, rmul=\E[0m, sgr0=\E[0m,
+	smso=\E[7m, smul=\E[4m,
+# Corrected Jan 14, 1997 by Vincent Broman <broman@nosc.mil>
+minix-old|minix-1.5|minix console (v1.5),
+	xon,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[K, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T, kf4=\E[S, kf5=\E[G,
+	khome=\E[H, nel=^M^J, rev=\E[7m, ri=\EM, rmso=\E[0m,
+	rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m,
+# The linewrap option can be specified by editing /usr/include/minix/config.h
+# before recompiling the minix 1.5 kernel.
+minix-old-am|minix console with linewrap,
+	am, use=minix-old,
+
+pc-minix|minix console on an Intel box,
+	use=klone+acs, use=minix-3.0,
+
+# According to the Coherent 2.3 manual, the PC console is similar
+# to a z19. The differences seem to be (1) 25 lines, (2) no status
+# line, (3) standout is broken, (4) ins/del line is broken, (5)
+# has blinking and bold.
+pc-coherent|pcz19|coherent|IBM PC console running Coherent,
+	am, mir,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EN,
+	ed=\EJ, el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, ri=\EI, rmir=\EO,
+	rmso=\Eq, sgr0=\Eq, smir=\E@, smso=\Ep,
+
+# According to the Venix 1.1 manual, the PC console is similar
+# to a DEC vt52.  Differences seem to be (1) arrow keys send
+# different strings, (2) enhanced standout, (3) added insert/delete line.
+# Note in particular that it doesn't have automatic margins.
+# There are other keys (f1-f10, kpp, knp, kcbt, kich1, kdch1) but they
+# not described here because this derives from an old termcap entry.
+pc-venix|venix|IBM PC console running Venix,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+	ed=\EJ, el=\EK, ht=^I, il1=\EL, ind=^J, kbs=^H, kcub1=\EK,
+	kcud1=\EP, kcuf1=\EM, kcuu1=\EH, khome=\EG, ri=\EI,
+
+#### Miscellaneous microcomputer consoles
+#
+# If you know anything more about any of these, please tell me.
+#
+
+# The MAI Basic Four computer was obsolete at the end of the 1980s.
+# It may be used as a terminal by putting it in "line" mode as seen on
+# one of the status lines.
+# Initialization is similar to CIT80. <is2> will set ANSI mode for you.
+# Hardware tabs set by <if> at 8-spacing.  Auto line wrap causes glitches so
+# wrap mode is reset by <cvvis>.  Using <ind>=\E[S caused errors so I
+# used \ED instead.
+# From: bf347@lafn.org (David Lawyer), 28 Jun 1997
+mai|basic4|MAI Basic Four in ansi mode,
+	am, da, db, mir, msgr,
+	cols#82, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=^]^_, cnorm=\E[?7h,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=^X,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, cvvis=\E[?7l, dch1=\E[1P,
+	dl1=\E[M, ed=^_, el=^^, home=^], ht=^I,
+	if=/system/share/tabset/vt100, il1=\E[L, ind=\ED,
+	is2=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, nel=^M\ED, rc=\E8, rev=\E[7m, ri=\E[T,
+	rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m,
+	smir=\E[4h, smso=\E[7m, smul=\E[4m,
+# basis from Peter Harrison, Computer Graphics Lab, San Francisco
+#   ucbvax!ucsfmis!harrison ...uucp / ucbvax!ucsfmis!harrison@BERKELEY ...ARPA
+#
+# On Sat, 7 Aug 1999, Torsten Jerzembeck <toje@nightingale.ms.sub.org> wrote:
+# The Basis 108 was a Apple II clone, manufactured by the "Basis
+# Mikrocomputer GmbH" in Munster, Germany (the company still exists today,
+# about 1,5 km from where I live, but doesn't build own computers any
+# more). A Basis 108 featured a really heavy (cast aluminium?) case, was
+# equipped with one or two 5.25" disk drives, had a monochrome and colour
+# video output for a TV set or a dedicated monitor and several slots for
+# Apple II cards. Basis 108 were quite popular at german schools before
+# the advent of the IBM PC. They run, for example, the UCSD Pascal
+# development system (which I used even in 1993 to program the steering
+# and data recording for our school's experimental solar panel :), Apple DOS
+# or CP/M.
+# (basis: removed obsolete ":ma=^K^P^R^L^L :nl=5000*^J:" -- esr)
+basis|BASIS108 computer with terminal translation table active,
+	clear=\E*$<300/>, cud1=\n$<5000/>, ed=\EY, el=\ET, kbs=^H,
+	kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, rmso=\E), sgr0=\E),
+	smso=\E(, use=adm3a,
+# luna's BMC terminal emulator
+luna|luna68k|LUNA68K Bitmap console,
+	cols#88, lines#46, use=ansi-mini,
+megatek|pegasus workstation terminal emulator,
+	am, os,
+	cols#83, lines#60,
+# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived
+# interface (pre-Macintosh by several years) that went nowhere.
+xerox820|x820|Xerox 820,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^Q, el=^X,
+	home=^^, ind=^J,
+
+#### Videotex and teletext
+#
+
+# \E\:1}	switch to te'le'informatique mode (ascii terminal/ISO 6429)
+# \E[?3l	80 columns
+# \E[?4l	scrolling on
+# \E[12h	local echo off
+# \Ec		reset: G0 U.S. charset (to get #,@,{,},...), 80 cols, clear screen
+# \E)0		G1 DEC set (line graphics)
+#
+# From: Igor Tamitegama <igor@ppp1493-ft.teaser.fr>, 18 Jan 1997
+m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'informatique,
+	OTbs, eslok, hs, xenl,
+	cols#80, it#8, lines#24, wsl#72, xmc#0,
+	acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx, bel=^G,
+	blink=\E[5m, bold=\E[1m, civis=\E[<1h, clear=\E[H\E[J,
+	cnorm=\E[<1l, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, flash=^G, fsl=^J,
+	home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, ip=$<7/>,
+	is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0,
+	is3=\E[?3l kbs=\010, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kf0=\EOp,
+	kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu,
+	kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khome=\E[H,
+	kich1=\E[4h, kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H,
+	mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m,
+	smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A,
+	u6=\E[%i%d;%dR, u7=\E[6n,
+
+# From: Alexandre Montaron <canal@mygale.org>, 18 Jun 1998
+#
+minitel1|minitel 1,
+	am, bw, eslok, hs, hz, msgr,
+	colors#8, cols#40, lines#24, pairs#8,
+	acsc=+.\,\,./f0g1, bel=^G, blink=\EH, civis=^T, clear=^L,
+	cnorm=^Q, cr=^M, cub1=^H, cud1=^J, cuf1=^I,
+	cup=\037%p1%{65}%+%c%p2%{65}%+%c, cuu1=^K, el=^X,
+	enacs=^Y, fsl=^J, home=^^, ind=^J,
+	is2=\E;`ZQ\E\:iC\E\:iE\021, nel=^M^J, op=\EG,
+	rep=%p1%c\022%p2%{63}%+%c, rev=\E], ri=^K, rmso=\E\\,
+	setf=\E%?%p1%{1}%=%tD%e%p1%{3}%=%tF%e%p1%{4}%=%tA%e%p1%{6}%=%tC%e%p1%{64}%+%c%;,
+	sgr=%?%p1%t\E]%;%?%p3%t\E]%;%?%p4%t\EH%;,
+	sgr0=\EI\E\\, smso=\E], tsl=\037@%p1%{65}%+%c,
+# is2=Fnct TE, Fnct MR, Fnct CM et pour finir: curseur ON.
+minitel1b|minitel 1-bistandard (in 40cols mode),
+	mir,
+	cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+	cuu=\E[%p1%dA, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el1=\E[1K, il=\E[%p1%dL, il1=\E[L,
+	is1=\E;iYA\E;jYC, kclr=\E[2J, kctab=^I, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M,
+	kel=^X, khome=\E[H, kich1=\E[4h, kil1=\E[L, rmir=\E[4l,
+	smir=\E[4h, smkx=\E;iYA\E;jYC, use=minitel1,
+# <rmkx> posait des problemes (logout en sortant de vi).
+minitel1b-80|minitel 1-bistandard (standard teleinformatique),
+	am@, bw@, hz@,
+	colors@, cols#80, it#8, pairs@,
+	blink=\E[5m, bold=\E[1m, civis=\037@A\024\n,
+	clear=\E[H\E[2J, cnorm=\037@A\021\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, ind=\ED, is1@, is2@, kent=\EOM, kf0=\EOp, kf1=\EOq,
+	kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, kf6=\EOv, kf7=\EOw,
+	kf8=\EOx, kf9=\EOy, nel=\EE, op@, rc=\E8, rep@, rev=\E[7m,
+	ri=\EM, rmkx@, rmso=\E[27m, rmul=\E[24m, sc=\E7, setf@,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m,
+	sgr0=\E[m, smkx@, smso=\E[7m, smul=\E[4m, use=minitel1b,
+
+######## OBSOLETE VDT TYPES
+#
+# These terminals are *long* dead -- these entries are retained for
+# historical interest only.
+
+#### Amtek Business Machines
+#
+
+# (abm80: early versions of this entry apparently had ":se=\E^_:so=\E^Y",
+# but these caps were commented out in 8.3; also, removed overridden
+# ":do=^J:" -- esr)
+abm80|amtek business machines 80,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	cbt=^T, clear=\E^\, cub1=^H, cud1=\E^K, cuf1=^P,
+	cup=\E\021%p2%{32}%+%c%p1%{32}%+%c, cuu1=\E^L,
+	dl1=\E^S, ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z,
+
+#### Bell Labs blit terminals
+#
+# These were AT&T's official entries.  The 5620 FAQ maintained by
+# David Breneman <daveb@dgtl.com> has this to say:
+#
+#  Actually, in the beginning was the Jerq, and the Jerq was white with a
+#  green face, and Locanthi and Pike looked upon the Jerq and said the Jerq
+#  was good.  But lo, upon the horizon loomed a mighty management-type person
+#  (known now only by the initials VP) who said, the mighty Jerq must stay
+#  alone, and could not go forth into the world. So Locanthi and Pike put the
+#  Jerq to sleep, cloned its parts, and the Blit was brought forth unto the
+#  world. And the Jerq lived the rest of its days in research, but never
+#  strayed from those paths.
+#
+#  In all seriousness, the Blit was originally known as the Jerq, but when
+#  it started to be shown outside of the halls of the Bell Labs Research
+#  organization, the management powers that be decided that the name could
+#  not remain. So it was renamed to be Blit. This was in late 1981.
+#
+# (The AT&T 5620 was the commercialized Blit.  Its successors were the 630,
+# 730, and 730+.)
+#
+
+blit|jerq|blit running teletype rom,
+	am, eo, ul, xon,
+	cols#87, it#8, lines#72,
+	bel=^G, clear=^L, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA,
+	dch=\Ee%p1%{32}%+%c, dch1=\Ee!, dl=\EE%p1%{32}%+%c,
+	dl1=\EE!, el=\EK, ht=^I, ich=\Ef%p1%{32}%+%c, ich1=\Ef!,
+	il=\EF%p1%{32}%+%c, il1=\EF!, ind=^J, kbs=^H, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\Ex, kf2=\Ey, kf3=\Ez,
+
+# (cbblit: here's a BSD termcap that says <cud1=\EG> -- esr)
+cbblit|fixterm|blit running columbus code,
+	cols#88,
+	ed=\EJ, flash=\E^G, ich1@, mc4=^T, mc5=^R, mc5p=\EP%p1%03d,
+	rmir=\ER, rmso=\EV!, rmul=\EV", smir=\EQ, smso=\EU!,
+	smul=\EU", use=blit,
+
+oblit|ojerq|first version of blit rom,
+	am, da, db, eo, mir, ul, xon,
+	cols#88, it#8, lines#72,
+	bel=^G, clear=^L, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\EO,
+	dl=\Ee%p1%{32}%+%c, dl1=\EE, ed=\EJ, el=\EK, flash=\E^G,
+	ht=^I, il=\Ef%p1%{32}%+%c, il1=\EF, ind=^J, kbs=^H, rmir=\ER,
+	smir=\EQ,
+
+#### Bolt, Beranek & Newman (bbn)
+#
+# The BitGraph was a product of the now-defunct BBN Computer Corporation.
+# The parent company, best known as the architects of the Internet, is
+# still around.
+#
+# Jeff DelPapa <dp@world.std.com> writes:
+# The bitgraph was a large white box that contained a monochrome bitmap
+# display, and a 68000 to run it.  You could download code and run it on
+# the cpu, it had 128kb (I think) of memory.  I used one in the late
+# 70's, sure beat a vt100.  It had one strange feature tho -- it used
+# the cpu to bitblt pixels to scroll, it took longer than the refresh
+# rate, and looked like a rubber sheet stretching, then snapping
+# upwards.  It had everything the early mac had, except a floppy drive a
+# small screen (it had a 17" crisp beauty) and a real OS. They (Bolt
+# Beranek and Neuman) sold at most a few hundred of them to the real
+# world.  DOD may have bought more...
+#
+
+# Entries for the BitGraph terminals.  The problem
+# with scrolling in vi can only be fixed by getting BBN to put
+# smarter scroll logic in the terminal or changing vi or padding
+# scrolls with about 500 ms delay.
+#
+# I always thought the problem was related to the terminal
+# counting newlines in its input buffer before scrolling and
+# then moving the screen that much. Then vi comes along and
+# paints lines in on the bottom line of the screen, so you get
+# this big white gap.
+
+bitgraph|bg2.0nv|bg3.10nv|bbn bitgraph 2.0 or later (normal video),
+	flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h,
+	use=bg2.0,
+bg2.0rv|bg3.10rv|bbn bitgraph 2.0 (reverse video),
+	flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h,
+	use=bg2.0,
+bg2.0|bg3.10|bbn bitgraph 2.0 or later (no init),
+	OTbs, xenl,
+	cols#85, lines#64,
+	bel=^G, clear=\E[H\E[J$<150>, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, dl1=\E[M$<2*>,
+	ed=\E[J$<150>, el=\E[K$<2>, ht=^I, il1=\E[L$<2*>,
+	ind=\n$<280>, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=PF1,
+	lf2=PF2, lf3=PF3, lf4=PF4, rc=\E8, rmkx=\E>, rmso=\E[m, sc=\E7,
+	sgr0=\E[m, smkx=\E=, smso=\E[7m,
+
+bg1.25rv|bbn bitgraph 1.25 (reverse video),
+	flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h,
+	use=bg1.25,
+bg1.25nv|bbn bitgraph 1.25 (normal video),
+	flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h,
+	use=bg1.25,
+# (bg1.25: I added <rmam>/<smam> based on the init string -- esr)
+bg1.25|bbn bitgraph 1.25,
+	cols#85, lines#64,
+	bel=^G, clear=\E[H\E[J$<150>, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A,
+	dl1=\E[M$<2*>, ed=\E[J$<150>, el=\E[K$<2>, ht=^I,
+	il1=\E[L$<2*>, ind=\n$<280>, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES,
+	lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, ll=\E[64;1H, rmam=\E[?7l,
+	rmkx=\E>, rmso=\E[m, sgr0=\E[m, smam=\E[?7h, smkx=\E=,
+	smso=\E[7m,
+
+#### Bull (bq, dku, vip)
+#
+# (Adapted for terminfo; AIX extension capabilities translated -- esr)
+
+#============================================#
+# BULL QUESTAR 210 `SDP' terminals emulation #
+#============================================#
+#
+# Description written by R.K.Saunders (Bull Transac)
+#
+# Modifications written by F. Girard (Bull MTS)
+#		19-05-87 V02.00.01
+#		17-12-87 V02.00.02
+#		15-09-89 V02.00.05
+#
+#	Typical technical selections F1 (modes SDP/ROLL):
+# -------------------------------------------------------
+# |   01   02   03   04   05   06   07   08   09   10   |
+# |  1010 0011 1010 0110 0110 0001 0100 0000 0000 0000  |
+# |                                                     |
+# |   11   12   13   14   15   16   17   18   19   20   |
+# |  0000 0110 100? 0000 0000 0000 0001 0000 0000 0001  |
+# |                                                     |
+# |   21   22   23   24   25   26   27   28   29   30   |
+# |  0011 0000 0001 1000 0000 0000 0000 0000 0000 0000  |
+# |                                                     |
+# |   31   32   33   34   35   36   37   38   39   40   |
+# |  1010 0011 0000 0000 0000 0000 0000 0000 0000 0000  |
+# -------------------------------------------------------
+#	Typical firmware identification F5 "etat 6":
+#  P287.02.04b	(AZERTY)
+#  P297.11.04	(24-pin: 2732)	or P798.11.04	(28-pin: 2764)
+#  P298.03.03	(monochrome)	or P374.03.02	(colour)
+#
+#	SM SDP mode (VIP command):	^[[?=h
+#	RIS (erases screen):		^[c
+#	DMI disable keyboard:		^[`
+#	SM double rendition mode:	^[[?>h
+#	RM solicited status mode:	^[[5l
+#	RM character mode:		^[[>l
+#	RM echoplex mode:		^[[12l
+#	RM column tab mode:		^[[18l
+#	RM forbid SS2 keyboard mode:	^[[?<l
+#	SM scroll mode:			^[[=h
+#	FCF enable XON/XOFF:		^[P1s^[\
+#	MTL select end msg character:	^[[^Wp
+#	EMI enable keyboard:		^[b
+#	RIS retour etat initial:	^[c
+#	enable FC keypad:		^[[?<h,
+#	MPW map status line window:	^[PY99:98^[\
+#	SCP select status line:		^[[0;98v
+#	ED erase entire partition:	^[[2J
+#	SCP select main partition:	^[[v
+#	SM character insertion mode:	^[[4h
+#	RM character replacement mode:	^[[4l
+#	COO cursor on:			^[[r
+#	COO cursor off:			^[[1r
+#	SGR dim (turquoise) rev attr:	^[[2;7m
+#	SGR Data normal attr:		^[[m
+#	SO Line-graphic mode ON:	^N
+#	SI Line-graphic mode OFF:	^O
+#	MC start routing to printer:	^[[5i
+#	MC stop routing to printer:	^M^[[4i
+#
+
+# This entry covers the following terminals:
+# dku7102, tws2102, and tws models 2105 to 2112
+tws-generic|dku7102|Bull Questar tws terminals,
+	am, eslok, hs, mir, msgr, xenl, xhp@, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=``aaffggj)k\,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~,
+	bel=^G, blink=\E[0;5m, cbt=\E[Z, civis=\E[1r, clear=\E[2J,
+	cnorm=\E[r, cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
+	cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%df,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[0;2m, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\EPY99\:98\E\\\E[0;98v\E[2J\E[v, ed=\E[J, el=\E[K,
+	fsl=\E[v, home=\E[H, ht=\E[I, hts=\EH, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, invis=\E[0;8m,
+	is1=\E[?=h\Ec\E`\E[?>h\EPY99\:98\E\\,
+	is2=\E[5;>;12;18;?<l\E[=h\EP1s\E\\\E[\027p,
+	is3=\Eb\E[?<h, kbs=^H, kcbt=\E[Z, kctab=\E[g, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M,
+	ked=\E[J, kel=\E[K, kf1=\E[1u\027, kf2=\E[2u\027,
+	kf3=\E[3u\027, kf4=\E[4u\027, kf5=\E[5u\027,
+	kf6=\E[6u\027, kf7=\E[7u\027, kf8=\E[8u\027, khome=\E[H,
+	khts=\EH, kil1=\E[L, krmir=\E[4l, ll=\E[H\E[A, mc0=\E[0i,
+	mc4=\r\E[4i, mc5=\E[5i, rev=\E[0;7m, rmacs=^O,
+	rmcup=\E[0;98v\E[2J\E[v, rmir=\E[4l, rmso=\E[m,
+	rmul=\E[m, rs2=\E[?=h\Ec, s0ds=^O, s1ds=^N,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E[?>h\EPY99\:98\E\\,
+	smir=\E[4h, smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g,
+	tsl=\EPY99\:98\E\\\E[0;98v\E[2;7m,
+tws2102-sna|dku7102-sna|BULL Questar tws2102 for SNA,
+	dsl=\E[0;98v\E[2J\E[v, fsl=\E[v, is3=\Eb, tsl=\E[0;98v,
+	use=tws-generic,
+tws2103|xdku|BULL Questar tws2103,
+	ht=^I, use=tws-generic,
+tws2103-sna|dku7103-sna|BULL Questar tws2103 for SNA,
+	ht=^I, use=tws2102-sna,
+dku7102-old|BULL Questar 200 DKU7102 (microcode version < 6),
+	clear=\E[2J\E[H, cup@, dl@, dl1@,
+	dsl=\EPY99\:98\E\\\E[0;98v\E[2J\E[H\E[v, el=\E[K\E[m,
+	il@, il1@, tsl=\EPY99\:98\E\\\E[0;98v\E[H\E[2;7m,
+	use=tws-generic,
+dku7202|BULL Questar 200 DKU7202 (colour/character attributes),
+	blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb,
+	sgr=\E[0%?%p1%t;2;4;5;7%;%?%p3%t;7%;%?%p2%t;2%;%?%p4%t;2;4%;%?%p5%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic,
+
+#=========================================================#
+# BULL QUESTAR 303 & 310 `DEC VT 320' terminals emulation #
+#=========================================================#
+#
+# Description written by J. Staerck (BULL SA)
+#       Copyright (c) 1989 BULL SA
+#---------------------------------------------------------------------------
+#  This entry is used for terminals with vt320 emulation mode
+#  and following set-up :
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    7 bit Control Characters,
+#    80 columns screen.
+#  Hereafter are some DEC vt terminals' commands. (valid on vt200 and 300)
+#  They are used in string capabilities with vt220-320 emulation mode.
+#  In the following DEC definitions, two kinds of terminfo databases are
+#    provided :
+#    1. the first with Command Sequence Introducer starting with escape
+#       sequence in 7 bits characters ex. ESC [ : 2 chars. in 7-bit mode.
+#    2. the second with Command Sequence Introducer starting with escape
+#       sequence in 8 bits characters ex. ESC [ : 1 char. 'CSI' =x9B.
+#	Soft Terminal Reset		esc [ ! p
+#	RIS (erases screen):		esc c
+#	DECKPNM numeric keypad mode:	esc >
+#	DECKPAM applic. keypad mode:	esc =
+#	DECSTBM Scrolling region:	esc [ r
+#	SCS select G0 = US:		esc ( B
+#	SCS select G1 = line-graphic:	esc ) 0
+#	Select 7-bit C1 controls:	esc sp F
+#	Select 8-bit C1 controls:	esc sp G
+#	Select cursor home:		esc [  H
+#	Select erase screen:		esc [  J
+#	SM KAM lock keyboard:		esc [ 2 h
+#	RM KAM unlock keyboard:		esc [ 2 l
+#	SM SRM local echo off:		esc [ 1 2 h
+#	RM SRM local echo on:		esc [ 1 2 l
+#	SM LNM New line :		esc [ 2 0 h
+#	RM LNM return = CR only:	esc [ 2 0 l
+#	SM DECCKM cursor keys mode:	esc [ ? 1 h
+#	RM DECCKM appli. keys mode:	esc [ ? 1 l
+#	SM DECANM ANSI mode on:		esc [ ? 2 h
+#	RM DECANM ANSI mode off:	esc [ ? 2 l
+#	SM DECCOLM 132-column screen:	esc [ ? 3 h
+#	RM DECCOLM 80-column screen:	esc [ ? 3 l
+#	SM DECSCLM Smooth scroll:	esc [ ? 4 h
+#	RM DECSCLM Jump scroll:		esc [ ? 4 l
+#	SM DECSCNM screen light backgr.	esc [ ? 5 h
+#	RM DECSCNM screen dark backgr.	esc [ ? 5 l
+#	SM DECOM move within margins:	esc [ ? 6 h
+#	RM DECOM move outside margins:	esc [ ? 6 l
+#	SM DECAWM auto right margin:	esc [ ? 7 h
+#	RM DECAWM auto right margin:	esc [ ? 7 l
+#	SM DECARM auto repeat:		esc [ ? 8 h
+#	RM DECARM auto repeat:		esc [ ? 8 l
+#	DECSASD Select active main:	esc [ 0 $ }
+#	DECSASD Select active status:	esc [ 1 $ }
+#	DECSSDT Select status none:	esc [ 0 $ ~
+#	DECSSDT Select status indic.:	esc [ 1 $ ~
+#	DECSSDT Select status host-wr:	esc [ 2 $ ~
+#	SM DECTCEM Visible cursor:	esc [ ? 2 5 h
+#	RM DECTCEM Invisible cursor:	esc [ ? 2 5 l
+#	SM DECNCRM 7 bits NCR set:	esc [ ? 4 2 h
+#	RM DECNCRM Multi or ISO latin:	esc [ ? 4 2 l
+#	SM DECNKM numeric keypad mode:	esc [ ? 6 6 h
+#	RM DECNKM numeric keypad appl.:	esc [ ? 6 6 l
+#	SM DECKBUM clavier informatique	esc [ ? 6 8 h
+#	RM DECKBUM clavier bureautique:	esc [ ? 6 8 l
+#	DECSCL vt300 mode 8-bit ctrl:	esc [ 6 3 " p
+# or	DECSCL vt300 mode 8-bit ctrl:	esc [ 6 3 ; 0 " p
+# or	DECSCL vt300 mode 8-bit ctrl:	esc [ 6 3 ; 2 " p
+#	DECSCL vt300 mode 7-bit ctrl:	esc [ 6 3 ; 1 " p
+#	Char. and Line attributes:	esc [ Ps ... Ps m
+# with:  0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse
+# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off
+#
+
+# This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310
+bq300|Bull vt320 ISO Latin 1 80 columns terminal,
+	am, eo, eslok, hs, km, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+	dsl=\E[1$}\E[2$~\n\E[0$}, ech=\E[%p1%dX, ed=\E[J,
+	el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+	flash=\E[?5h$<50>\E[?5l, fsl=\E[0$}, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+	is1=\E[63;1"p\E[2h,
+	is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	is3=\E[0$}\E[?25h\E[2l\E[H\E[J, ka1=\EOw, ka3=\EOy,
+	kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
+	rmcup=\E[?7h, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0,
+	sc=\E7,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h,
+	smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, use=ansi+pp,
+bq300-rv|Bull vt320 reverse 80 columns,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	use=bq300,
+bq300-w|Bull vt320 132 columns,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	rs2=\E[?3h, use=bq300,
+bq300-w-rv|Bull vt320 reverse mode 132 columns,
+	cols#132, wsl#132,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	rs2=\E[?3h, use=bq300,
+
+#  This entry is used for terminals with vt320 emulation mode
+#  and following set-up :
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    8 bit Control Characters, (CSI coded as x9B for ESC [)
+#    80 columns screen.
+#	Soft Terminal Reset		csi ! p
+#	RIS (erases screen):		esc c
+#	DECKPNM numeric keypad mode:	esc >
+#	DECKPAM applic. keypad mode:	esc =
+#	DECSTBM Scrolling region:	esc [ r
+#	SCS select G0 = US:		esc ( B
+#	SCS select G1 = line-graphic:	esc ) 0
+#	Select 7-bit C1 controls:	esc sp F
+#	Select 8-bit C1 controls:	esc sp G
+#	Select cursor home:		csi H
+#	Select erase screen:		csi J
+#	SM KAM lock keyboard:		csi 2 h
+#	RM KAM unlock keyboard:		csi 2 l
+#	SM SRM local echo off:		csi 1 2 h
+#	RM SRM local echo on:		csi 1 2 l
+#	SM LNM New line :		csi 2 0 h
+#	RM LNM return = CR only:	csi 2 0 l
+#	SM DECCKM cursor keys mode:	csi ? 1 h
+#	RM DECCKM appli. keys mode:	csi ? 1 l
+#	SM DECANM ANSI mode on:		csi ? 2 h
+#	RM DECANM ANSI mode off:	csi ? 2 l
+#	SM DECCOLM 132-column screen:	csi ? 3 h
+#	RM DECCOLM 80-column screen:	csi ? 3 l
+#	SM DECSCLM Smooth scroll:	csi ? 4 h
+#	RM DECSCLM Jump scroll:		csi ? 4 l
+#	SM DECSCNM screen light backgr.	csi ? 5 h
+#	RM DECSCNM screen dark backgr.	csi ? 5 l
+#	SM DECOM move within margins:	csi ? 6 h
+#	RM DECOM move outside margins:	csi ? 6 l
+#	SM DECAWM auto right margin:	csi ? 7 h
+#	RM DECAWM auto right margin:	csi ? 7 l
+#	SM DECARM auto repeat:		csi ? 8 h
+#	RM DECARM auto repeat:		csi ? 8 l
+#	DECSASD Select active main:	csi 0 $ }
+#	DECSASD Select active status:	csi 1 $ }
+#	DECSSDT Select status none:	csi 0 $ ~
+#	DECSSDT Select status indic.:	csi 1 $ ~
+#	DECSSDT Select status host-wr:	csi 2 $ ~
+#	SM DECTCEM Visible cursor:	csi ? 2 5 h
+#	RM DECTCEM Invisible cursor:	csi ? 2 5 l
+#	SM DECNCRM 7 bits NCR set:	csi ? 4 2 h
+#	RM DECNCRM Multi or ISO latin:	csi ? 4 2 l
+#	DECSCL vt300 mode 8-bit ctrl:	csi 6 3 " p
+# or	DECSCL vt300 mode 8-bit ctrl:	csi 6 3 ; 0 " p
+#	DECSCL vt300 mode 7-bit ctrl:	csi 6 3 ; 1 " p
+#	Char. and Line attributes:	csi Ps ... Ps m
+# with:  0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse
+# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off
+# (bq300-8: <cub1>,<cuf1>,<cuu1>,<cud1>,<dl1>,<il1> to get under 1024 --esr)
+bq300-8|Bull vt320 full 8 bits 80 columns,
+	am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\2335m, bold=\2331m, civis=\233?25l,
+	clear=\233H\233J, cnorm=\233?25h, cr=^M,
+	csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=\2331D,
+	cud=\233%p1%dB, cud1=\2331B, cuf=\233%p1%dC, cuf1=\2331C,
+	cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\2331A,
+	dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+	dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J,
+	el=\233K, el1=\2331K, enacs=\E(B\E)0,
+	flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H,
+	ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L,
+	ind=\ED, is1=\E[63;2"p\E[2h,
+	is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w,
+	ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s,
+	kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+	kdch1=\2333~, kf1=\217P, kf10=\23321~, kf11=\23323~,
+	kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+	kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~,
+	kf2=\217Q, kf20=\23334~, kf3=\217R, kf4=\217S, kf6=\23317~,
+	kf7=\23318~, kf8=\23319~, kf9=\23320~, kfnd=\2331~,
+	khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~,
+	krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3,
+	lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8,
+	rev=\2337m, ri=\EM, rmacs=\E(B, rmam=\233?7l,
+	rmcup=\233?7h, rmir=\2334l, rmkx=\233?1l\E>,
+	rmso=\23327m, rmul=\23324m, rs1=\E[!p, rs2=\E[?3l,
+	s0ds=\E(B, s1ds=\E(0, sc=\E7,
+	sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
+	smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m,
+	smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~,
+bq300-8rv|Bull vt320 8-bit reverse mode 80 columns,
+	flash=\233?5l$<50>\233?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	use=bq300-8,
+bq300-8w|Bull vt320 8-bit 132 columns,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	rs2=\233?3h, use=bq300-8,
+bq300-w-8rv|Bull vt320 8-bit reverse mode 132 columns,
+	cols#132, wsl#132,
+	flash=\233?5l$<50>\233?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	rs2=\233?3h, use=bq300-8,
+
+#  This entry is used for terminals with vt320 emulation mode
+#  a 102 keys keyboard (PC scancode !) and following set-up :
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    7 bit Control Characters,
+#    80 columns screen.
+bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns,
+	kbs=^H, kdch1=\E[3~, kend=\E[4~, kf1=\E[17~, kf10=\E[28~,
+	kf11=\E[29~, kf12=\E[31~, kf13@, kf14@, kf15@, kf16@, kf17@,
+	kf18@, kf19@, kf2=\E[18~, kf20@, kf3=\E[19~, kf4=\E[20~,
+	kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~,
+	kfnd@, khlp@, khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	krdo@, kslt@, lf1@, lf2@, lf3@, lf4@, use=bq300,
+bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	use=bq300-pc,
+bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	rs2=\E[?3h, use=bq300-pc,
+bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns,
+	cols#132, wsl#132,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+	rs2=\E[?3h, use=bq300-pc,
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    8 bit Control Characters,
+#    80 columns screen.
+bq300-8-pc|Q306-8-pc|Questar 303 with PC keyboard in full 8 bits 80 columns,
+	kbs=^H, kdch1=\2333~, kend=\2334~, kf1=\23317~,
+	kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13@, kf14@,
+	kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\23318~, kf20@,
+	kf3=\23319~, kf4=\23320~, kf5=\23321~, kf6=\23323~,
+	kf7=\23324~, kf8=\23325~, kf9=\23326~, kfnd@, khlp@,
+	khome=\2331~, kich1=\2332~, knp=\2336~, kpp=\2335~, krdo@,
+	kslt@, lf1@, lf2@, lf3@, lf4@, use=bq300-8,
+bq300-8-pc-rv|Questar 303 with PC keyboard full 8 bits reverse mode 80 columns,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	use=bq300-8-pc,
+bq300-8-pc-w|Questar 303 with PC keyboard full 8 bits 132 columns,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	rs2=\E[?3h, use=bq300-8-pc,
+bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns,
+	cols#132, wsl#132,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+	rs2=\E[?3h, use=bq300-8-pc,
+
+#======================================================#
+# BULL QUESTAR 310 `VIP 7800/8800' terminals emulation #
+#======================================================#
+
+# normal mode, 8 bits, 80 columns terminal.
+#	RES reset :			^[e
+#	RIS reset initial state:	^[c
+#	BLE bell enable			^[h
+#	BLD bell disable		^[g
+#	CAMS char. attr. mode set	^[[D
+#	CAMR char. attr. mode reset	^[[G
+#	CLR clear			^[`
+#	KBU keyboard unlock (set)	^[[W
+#	KBL keyboard lock (reset)	^[[X
+#	CM  character mode (async.) 	^[k
+#	NEP non echoplex mode (by host)	^[l
+#	EP  echoplex mode (by host) 	^[m
+#	IM  insert mode set		^[[I
+#	IM  insert mode reset 		^[[J
+#	RMS roll mode set 		^[r
+#	RMR roll mode reset 		^[q
+#	SM78 set mode vip7800	 	^[[1q
+#	SD  scroll up  	(72 lines) 	^[[0s
+#	SD  scroll down	(72 lines) 	^[[1s
+#	RBM block mode reset		^[[E
+#	SLS status line set 		^[w
+#	SLR status line reset 		^[v
+#	SLL status line lock 		^[O
+#	LGS Line-graphic mode set 	^[G
+#	LGR Line-graphic mode reset 	^[F
+#	TBC tab clear (at cursor pos.)	^[[g
+#	TBI tab initialize 		^[[N
+#	TBS tab set (at cursor pos.)	^[p
+#	PDS  print data space		^[[0p
+#	PHD  print host data 		^[[3p
+#	PDT  print data terminator	^[[<p
+#	PRES print adapter reset	^[[2p
+#	SSPR multi-part. reset		^[[<>u
+#	SSP0 partition 0 set		^[[00u
+#	SSP1 partition n format 1 	^[[PnPnSTRINGu
+#	SSP2 partition n format 2 	^[[PnPnSTRINGu
+#	SSP3 partition n format 3 	^[[PnPnu
+#	ATR attribute (visual)
+#	    blink :			^[sB
+#	    dim :			^[sL
+#	    hide (blank) :		^[sH
+#	    restore :			^[sR
+#	    inverse video :		^[sI
+#	    prot. :			^[sP
+#	    underline :			^[s_
+#	    reset :			^{
+#
+# This covers the vip7800 and BQ3155-vip7800
+vip|Bull Questar 3155-7800,
+	am, eslok, hs, km, mc5i, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3, wsl#80,
+	acsc=0pjdkblamcnkqitgufvhwexj, bel=^G, blink=\EsB,
+	cbt=\E[Z, clear=\E`, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\E[%i%p1%03d%p2%03df, cuu1=\EA, dch1=\E[P, dim=\EsL,
+	dl1=\E[M, dsl=\Ev, ed=\EJ, el=\EK,
+	flash=\007$<80>\007$<80>\007, fsl=\EO, home=\EH, ht=^I,
+	hts=\Ep, ich1=\E[I, ind=^J, invis=\EsH,
+	is2=\E[00u\E[<>001001024080024080u\E[01u,
+	is3=\Er\E[W\E`, kHOM=\EH, kLFT=\Eo, kRIT=\Eu, kbs=^H,
+	kcbt=\E[Z, kclr=\E`, kctab=\E[g, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, kdch1=\E[P, kdl1=\E[M, ked=\EJ,
+	kel=\EK, kf1=\E0, kf10=\ET, kf11=\E\\, kf12=\E\^, kf13@, kf14@,
+	kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E2, kf20@, kf21=\E1,
+	kf22=\E5, kf23=\E7, kf24=\E9, kf25=\E;, kf26=\E=, kf27=\E?,
+	kf28=\EQ, kf29=\ES, kf3=\E6, kf30=\EV, kf31=\E], kf32=\E_,
+	kf4=\E8, kf5=\E\:, kf6=\E<, kf7=\E>, kf8=\EP, kf9=\ER,
+	khome=\EH, khts=\Ep, kich1=\E[I, kil1=\E[L, kind=\E[0s,
+	kll=\EH\EA, kri=\E[1s, krmir=\E[J, ktbc=\E[N, lf1=pf1,
+	lf2=pf2, lf3=pf3, lf4=pf4, ll=\EH\EA, mc0=\E[0p, mc4=\E[<p,
+	mc5=\E[3p, nel=^M, prot=\EsP, rev=\EsI,
+	ri=\EA\EJ\EH\E[L$<10>, rmacs=\EF, rmir=\E[J, rmso=\EsR,
+	rmul=\EsR, rs1=\Ec, rs2=\E[G, s0ds=\EF, s1ds=\EG,
+	sgr0=\EsR\EsU\EF, smacs=\EG, smir=\E[I, smso=\EsI,
+	smul=\Es_, tbc=\E[N, tsl=\Ew,
+# normal screen, 8 bits, 132 columns terminal.
+vip-w|vip7800-w|Q310-vip-w|Q310-vip-w-am|Questar 3155-vip7800 wide,
+	cols#132, wsl#132,
+	is2=\E[00u\E[<>001001024132024132u\E[01u, use=vip,
+vip-H|vip7800-H|Q310-vip-H|Q310-vip-H-am|Questar 3155-vip7800 72 lines,
+	lines#72,
+	is2=\E[00u\E[<>001001024080072080u\E[01u, use=vip,
+vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines,
+	cols#132, lines#72, wsl#132,
+	is2=\E[00u\E[<>001001024132072132u\E[01u, use=vip,
+
+#### Chromatics
+#
+
+# I have put the long strings in <smcup>/<rmcup>. Ti sets up a window
+# that is smaller than the screen, and puts up a warning message
+# outside the window. Te erases the warning message, puts the
+# window back to be the whole screen, and puts the cursor at just
+# below the small window. I defined <cnorm> and <civis> to really turn
+# the cursor on and off, but I have taken this out since I don't
+# like the cursor being turned off when vi exits.
+cg7900|chromatics|chromatics 7900,
+	am,
+	cols#80, lines#40,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^],
+	cup=\001M%p2%d\,%p1%d\,, cuu1=^K, dch1=^A<1, dl1=^A<2,
+	ed=^Al, el=^A`, home=^\, ich1=^A>1, il1=^A>2, ind=^J, ll=^A|,
+	rmcup=\001W0\,40\,85\,48\,\014\001W0\,0\,85\,48\,\001M0\,40\,,
+	rmso=\001C1\,\001c2\,,
+	smcup=\001P0\001O1\001R1\001C4\,\001c0\,\014\001M0\,42\,WARNING DOUBLE ENTER ESCAPE and \025\001C1\,\001c2\,\001W0\,0\,79\,39\,,
+	smso=\001C4\,\001c7\,, uc=\001\001_\001\0,
+
+#### Computer Automation
+#
+
+ca22851|computer automation 22851,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<8>, cr=^M, cub1=^U, cud1=^J, cuf1=^I,
+	cup=\002%i%p1%c%p2%c, cuu1=^V, ed=^\, el=^], home=^^, ind=^J,
+	kcub1=^U, kcud1=^W, kcuu1=^V, khome=^^,
+
+#### Cybernex
+#
+
+# This entry has correct padding and the undocumented "ri" capability
+cyb83|xl83|cybernex xl-83,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<62>, cr=^M, cub1=^H, cud1=^J, cuf1=^I,
+	cup=\027%p1%{32}%+%c%p2%{32}%+%c, cuu1=^N,
+	ed=\020$<62>, el=\017$<3>, home=^K, ind=^J, kcub1=^H,
+	kcud1=^J, kcuf1=^I, kcuu1=^N, ri=^N,
+# (mdl110: removed obsolete ":ma=^Z^P:" and overridden ":cd=145^NA^W:" -- esr)
+cyb110|mdl110|cybernex mdl-110,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\030$<70>, cr=^M, cub1=^H, cud1=^J, cuf1=^U,
+	cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z,
+	dch1=\016A\036$<3.5>, dl1=\016A\016\036$<40>,
+	ed=\016@\026$<6>, el=\016@\026$<145>, home=^Y,
+	ht=\011$<43>, ich1=\016A\035$<3.5>,
+	il1=\016A\016\035$<65>, ind=^J, rmso=^NG, smso=^NF,
+
+#### Datapoint
+#
+# Datapoint is gone.  They used to be headquartered in Texas.
+# They created ARCnet, an Ethernet competitor that flourished for a while
+# in the early 1980s before 3COM got wise and cut its prices.  The service
+# side of Datapoint still lives (1995) in the form of Intelogic Trace.
+#
+
+dp3360|datapoint|datapoint 3360,
+	OTbs, am,
+	cols#82, lines#25,
+	bel=^G, clear=^]^_, cr=^M, cub1=^H, cud1=^J, cuf1=^X, cuu1=^Z,
+	ed=^_, el=^^, home=^], ind=^J,
+
+# From: Jan Willem Stumpel <jw.stumpel@inter.nl.net>, 11 May 1997
+# The Datapoint 8242 Workstation was sold at least between 1985
+# and 1989. To make the terminal work with this entry, press
+# CONTROL-INT-INT to take the terminal off-line, and type (opt).
+# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO
+# CR/LF off. Use control-shift-[] as escape key, control-I as tab,
+# shift-F1 to shift-F5 as F6 to F10 (unshifted F1 to F5 are in
+# fact unusable because the strings sent by the terminal conflict
+# with other keys).
+# The terminal is capable of displaying "box draw" characters.
+# For each graphic character you must send 2 ESC's (\E\E) followed
+# by a control character as follows:
+#         character        meaning
+#         =========        =======
+#         ctrl-E           top tee
+#         ctrl-F           right tee
+#         ctrl-G           bottom tee
+#         ctrl-H           left tee
+#         ctrl-I           cross
+#         ctrl-J           top left corner
+#         ctrl-K           top right corner
+#         ctrl-L           bottom left corner
+#         ctrl-M           bottom right corner
+#         ctrl-N           horizontal line
+#         ctrl-O           vertical line
+# Unfortunately this cannot be fitted into the termcap/terminfo
+# description scheme.
+dp8242|datapoint 8242,
+	msgr,
+	cols#80, lines#25,
+	bel=^G, civis=^Y, clear=\025\E\004\027\030, cnorm=^X,
+	cr=^M, cub1=^H, cud1=^J,
+	cup=\011%p2%'\0'%+%c%p1%'\0'%+%c, dl1=\E^Z, ed=^W, el=^V,
+	home=^U, ht=^I, il1=\E^T, ind=^C,
+	is1=\E\014\E\016\0\230\0\317\025\027\030\E\004,
+	kbs=^H, kcub1=^D, kcud1=^B, kcuf1=^F, kcuu1=^E, kf1=^G\Ee,
+	kf10=\EK\Ea, kf2=^I\Ed, kf3=^J\Ec, kf4=^J\Eb, kf5=^S\Ea,
+	kf6=\EO\Ee, kf7=\EN\Ed, kf8=\EM\Ec, kf9=\EL\Eb, nel=^M^J,
+	rep=\E\023%p1%c%p2%c, ri=^K, rmso=\E^D, rmul=\E^D,
+	rs1=\E\014\E\016\0\230\0\317\025\027\030\E\004,
+	smso=\E^E, smul=\E^F,
+	wind=\E\014\E\016%p1%'\0'%+%c%p2%'\0'%+%c%p3%'\0'%+%c%p4%'\0'%+%c\025,
+
+#### DEC terminals (Obsolete types: DECwriter and vt40/42/50)
+#
+# These entries are DEC's official terminfos for its older terminals.
+# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
+# Engineering for more information.  Updated terminfos and termcaps
+# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+#
+
+gt40|dec gt40,
+	OTbs, os,
+	cols#72, lines#30,
+	bel=^G, cr=^M, cub1=^H, cud1=^J,
+gt42|dec gt42,
+	OTbs, os,
+	cols#72, lines#40,
+	bel=^G, cr=^M, cub1=^H, cud1=^J,
+vt50|dec vt50,
+	OTbs,
+	cols#80, lines#12,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=^J,
+vt50h|dec vt50h,
+	OTbs,
+	cols#80, lines#12,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, ht=^I, ind=^J, ri=\EI,
+# (vt61: there's a BSD termcap that claims <dl1=\EPd>, <il1=\EPf.> <kbs=^H>)
+vt61|vt-61|vt61.5|dec vt61,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ$<120>, cr=\r$<20>, cub1=^H, cud1=^J,
+	cuf1=\EC$<20>, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>,
+	cuu1=\EA$<20>, ed=\EJ$<120>, el=\EK$<70>, ht=^I,
+	ind=\n$<20>, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+	ri=\E$<20>I,
+
+# The gigi does standout with red!
+# (gigi: I added <rmam>/<smam> based on the init string, corrected cub1 -- esr)
+gigi|vk100|dec gigi graphics terminal,
+	OTbs, am, xenl,
+	cols#84, lines#24,
+	bel=^G, clear=\E[H\E[2J, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J,
+	el=\E[K, ht=^I, ind=^J,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?20l\E[?7h\E[?8h,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7;31m,
+	smul=\E[4m,
+
+# DEC PRO-350 console (VT220-style).  The 350 was DEC's attempt to produce
+# a PC differentiated from the IBM clones.  It was a total, ludicrous,
+# grossly-overpriced failure (among other things, DEC's OS didn't include
+# a format program, so you had to buy pre-formatted floppies from DEC at
+# a hefty premium!).
+pro350|decpro|dec pro console,
+	OTbs,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	clear=\EH\EJ, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH, ht=^I, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kf0=\EE, kf1=\EF, kf2=\EG, kf3=\EH, kf4=\EI,
+	kf5=\EJ, kf6=\Ei, kf7=\Ej, khome=\EH, ri=\EI, rmacs=\EG,
+	rmso=\E^N, rmul=\E^C, smacs=\EF, smso=\E^H, smul=\E^D,
+
+dw1|decwriter I,
+	OTbs, hc, os,
+	cols#72,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J,
+dw2|decwriter|dw|decwriter II,
+	OTbs, hc, os,
+	cols#132,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H,
+# \E(B		Use U.S. character set (otherwise # => british pound !)
+# \E[20l	Disable "linefeed newline" mode (else puts \r after \n,\f,\v)
+# \E[w   	10 char/in pitch
+# \E[1;132	full width horizontal margins
+# \E[2g		clear all tab stops
+# \E[z		6 lines/in
+# \E[66t	66 lines/page (for \f)
+# \E[1;66r	full vertical page can be printed
+# \E[4g		clear vertical tab stops
+# \E>		disable alternate keypad mode (so it transmits numbers!)
+# \E[%i%p1%du	set tab stop at column %d (origin == 1)
+#		(Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is
+#		a tab stop)
+#
+#       The dw3 does standout with wide characters.
+#
+dw3|la120|decwriter III,
+	OTbs, hc, os,
+	cols#132,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J,
+	is1=\E(B\E[20l\E[w\E[0;132s\E[2g\E[z\E[66t\E[1;66r\E[4g\E>,
+	is2=\E[9;17;25;33;41;49;57;65;73;81;89;97;105;113;121;129u\r,
+	kbs=^H, rmso=\E[w, sgr0=\E[w, smso=\E[6w,
+dw4|decwriter IV,
+	OTbs, am, hc, os,
+	cols#132,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, is2=\Ec, kbs=^H,
+	kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS,
+
+# These aren't official
+ln03|dec ln03 laser printer,
+	hc,
+	cols#80, lines#66,
+	bel=^G, cr=^M, cud1=^J, hd=\EK, ht=^I, hu=\EL, ind=^J, nel=^M^J,
+	rmso=\E[22m, rmul=\E[24m, sgr0=\E[m, smso=\E[1m,
+	smul=\E[4m,
+ln03-w|dec ln03 laser printer 132 cols,
+	cols#132,
+	bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H,
+	kcud1=^J, nel=^M^J, use=ln03,
+
+#### Delta Data (dd)
+#
+
+# Untested. The cup sequence is hairy enough that it probably needs work.
+# The idea is ctrl(O), dd(row), dd(col), where dd(x) is x - 2*(x%16) + '9'.
+# There are BSD-derived termcap entries floating around for this puppy
+# that are *certainly* wrong.
+delta|dd5000|delta data 5000,
+	OTbs, am,
+	cols#80, lines#27,
+	bel=^G, clear=^NR, cub1=^H, cud1=^J, cuf1=^Y,
+	cup=\017%p1%p1%{16}%m%{2}%*%-%{57}%+%c%p2%p2%{16}%m%{2}%*%-%{57}%+%c,
+	cuu1=^Z, dch1=^NV, el=^NU, home=^NQ, ind=^J,
+
+#### Digital Data Research (ddr)
+#
+
+# (ddr: I added <rmam>/<smam> based on the init string -- esr)
+ddr|rebus3180|ddr3180|Rebus/DDR 3180 vt100 emulator,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24, vt#3,
+	blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[H\E[2J$<50/>, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+	cud1=^J, cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>,
+	cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H,
+	ht=^I, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m$<2/>,
+	rf=/system/share/tabset/vt100, ri=\EM$<5/>, rmam=\E[7l,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m$<2/>,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m$<2/>, smam=\E[7l, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m$<2/>,
+
+#### Evans & Sutherland
+#
+
+# Jon Leech <leech@cs.unc.edu> tells us:
+# The ps300 was the Evans & Sutherland Picture System 300, a high
+# performance 3D vector graphics system with a bunch of specialized hardware.
+# Approximate date of release was 1982 (early 80s, anyway), and it had several
+# evolutions including (limited) color versions such as the PS330C. PS300s
+# were effectively obsolete by the late 80s, replaced by raster graphics
+# systems, although specialized applications like molecular modelling
+# hung onto them for a while longer.  AFAIK all E&S vector graphics systems
+# are out of production, though of course E&S is very much alive (in 1996).
+# (ps300: changed ":pt@:" to "it@" -- esr)
+#
+ps300|Picture System 300,
+	xt,
+	it@,
+	rmso@, rmul@, smso@, smul@, use=vt100,
+
+#### General Electric (ge)
+#
+
+terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200,
+	OTbs, hc, os,
+	cols#120,
+	bel=^G, cr=^M, cud1=^J, ind=^J,
+
+#### Heathkit/Zenith
+#
+
+# Here is a description of the H19 DIP switches:
+#
+# S401
+# 0-3 = baud rate as follows:
+#
+#         3       2       1       0
+#	---	---	---	---
+#         0       0       1       1       300 baud
+#         0       1       0       1       1200 baud
+#         1       0       0       0       2400 baud
+#         1       0       1       0       4800 baud
+#         1       1       0       0       9600 baud
+#         1       1       0       1       19.2K baud
+#
+# 4 = parity (0 = no parity)
+# 5 = even parity (0 = odd parity)
+# 6 = stick parity (0 = normal parity)
+# 7 = full duplex (0 = half duplex)
+#
+# S402
+# 0 = block cursor (0 = underscore cursor)
+# 1 = no key click (0 = keyclick)
+# 2 = wrap at end of line (0 = no wrap)
+# 3 = auto LF on CR (0 = no LF on CR)
+# 4 = auto CR on LF (0 = no CR on LF)
+# 5 = ANSI mode (0 = VT52 mode)
+# 6 = keypad shifted (0 = keypad unshifted)
+# 7 = 50Hz refresh (1 = 60Hz refresh)
+#
+# Factory Default settings are as follows:
+#          7 6 5 4 3 2 1 0
+# S401     1 0 0 0 1 1 0 0
+# S402     0 0 0 0 0 0 0 0
+# (h19: I added <rmam>/<smam> based on the init string;
+# also added empty <acsc> to suppress a tic warning -- esr)
+h19-a|h19a|heath-ansi|heathkit-a|heathkit h19 ansi mode,
+	OTbs, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=, bel=^G, clear=\E[2J, cnorm=\E[>4l, cr=^M, cub1=^H,
+	cud1=\E[1B, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[1A, cvvis=\E[>4h, dch1=\E[1P, dl1=\E[1M$<1*>,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[1L$<1*>, ind=^J,
+	is2=\E<\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m\E[?7h,
+	kbs=^H, kcub1=\E[1D, kcud1=\E[1B, kcuf1=\E[1C, kcuu1=\E[1A,
+	kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP,
+	kf7=\EOQ, kf8=\EOR, khome=\E[H, lf6=blue, lf7=red, lf8=white,
+	ri=\EM, rmacs=\E[11m, rmam=\E[?7l, rmir=\E[4l, rmso=\E[m,
+	smacs=\E[10m, smam=\E[?7h, smir=\E[4h, smso=\E[7m,
+h19-bs|heathkit w/keypad shifted,
+	rmkx=\Eu, smkx=\Et, use=h19-b,
+h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor,
+	rmkx=\Eu, smkx=\Et, use=h19-u,
+# (h19: merged in <ip> from BSDI hp19-e entry>;
+# also added empty <acsc> to suppress a tic warning --esr)
+# From: Tim Pierce <twp@skepsis.com>, 23 Feb 1998
+# Tim tells us that:
+# I have an old Zenith-19 terminal at home that still gets a lot of use.
+# This terminal suffers from the same famous insert-mode padding lossage
+# that has been acknowledged for the Z29 terminal.  Emacs is nearly
+# unusable on this box, since even a half-scroll up or down the window
+# causes flaming terminal death.
+#
+# On the Z19, the only way I have found around this problem is to remove
+# the :al: and :dl: entries entirely.  No amount of extra padding will
+# help (I have tried up to 20000).  Removing <il1=\EL$> and <dl1=\EM$>
+# makes Emacs a little slower, but it remains in the land of the living.
+# Big win.
+h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19,
+	OTbs, am, eslok, hs, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\^, bel=^G,
+	clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ex4,
+	dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, ind=^J,
+	ip=$<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW,
+	kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, lf7=red,
+	lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF,
+	smir=\E@, smso=\Ep, tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo,
+h19-u|heathkit with underscore cursor,
+	cnorm@, cvvis@, use=h19-b,
+h19-g|h19g|heathkit w/block cursor,
+	cnorm=\Ex4, cvvis@, use=h19-b,
+alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19,
+	lines#60,
+	dl1=\EM, il1=\EL, use=h19,
+
+# The major problem with the Z29 is that it requires more padding than the Z19.
+#
+# The problem with declaring an H19 to be synonymous with a Z29 is that
+# it needs more padding. It especially loses if a program attempts
+# to put the Z29 into insert mode and insert text at 9600 baud. It
+# even loses worse if the program attempts to insert tabs at 9600
+# baud. Adding padding to text that is inserted loses because in
+# order to make the Z29 not die, one must add so much padding that
+# whenever the program tries to use insert mode, the effective
+# rate is about 110 baud.
+#
+# What program would want to put the terminal into insert mode
+# and shove stuff at it at 9600 baud you ask?
+#
+# Emacs. Emacs seems to want to do the mathematically optimal
+# thing in doing a redisplay rather than the practical thing.
+# When it is about to output a line on top of a line that is
+# already on the screen, instead of just killing to the end of
+# the line and outputting the new line, it compares the old line
+# and the new line and if there are any similarities, it
+# constructs the new line by deleting the text on the old line
+# on the terminal that is already there and then inserting new
+# text into the line to transform it into the new line that is
+# to be displayed. The Z29 does not react kindly to this.
+#
+# But don't cry for too long.... There is a solution. You can make
+# a termcap entry for the Z29 that says the Z29 has no insert mode.
+# Then Emacs cannot use it. "Oh, no, but now inserting into a
+# line will be really slow", you say. Well there is a sort of a
+# solution to that too. There is an insert character option on
+# the Z29 that will insert one character. Unfortunately, it
+# involves putting the terminal into ansi mode, inserting the
+# character, and changing it back to H19 mode. All this takes 12
+# characters. Pretty expensive to insert one character, but it
+# works. Either Emacs doesn't try to use its inserting hack when
+# it's only given an insert character ability or the Z29 doesn't
+# require padding with this (the former is probably more likely,
+# but I haven't checked it out).
+# (z29: added empty <acsc> to suppress a tic warning, merged in
+# status line capabilities from BRL entry --esr)
+z29|zenith29|z29b|zenith z29b,
+	OTbs, OTpt, am, eslok, hs, mir, msgr,
+	OTkn#10, cols#80, lines#24,
+	OTbc=\ED, acsc=, bel=^G, cbt=\E-, clear=\EE$<14>, cnorm=\Ey4,
+	cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E$<1>A,
+	cvvis=\Ex4, dch1=\EN$<0.1*>, dl1=\EM$<1/>, dsl=\Ey1,
+	ed=\EJ$<14>, el=\EK$<1>, fsl=\Ek\Ey5, home=\EH, ht=^I,
+	ich1=\E<\E[1@\E[?2h$<1>, il1=\EL$<1/>, ind=\n$<2>,
+	is2=\E<\E[?2h\Ev, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
+	kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH,
+	lf0=home, ri=\EI$<2/>, rmacs=\EF, rmir=\EO, rmso=\Eq,
+	rmul=\Es0, smacs=\EG, smir=\E@, smso=\Ep, smul=\Es8,
+	tsl=\Ej\Ex5\Ex1\EY8%+ \Eo,
+# z29 in ansi mode. Assumes that the cursor is in the correct state, and that
+# the world is stable. <rs1> causes the terminal to be reset to the state
+# indicated by the name. kc -> key click, nkc -> no key click, uc -> underscore
+# cursor, bc -> block cursor.
+# From: Mike Meyers
+# (z29a: replaced nonexistent <if=/system/share/tabset/zenith29> befause <hts>
+# looks vt100-compatible -- esr)
+z29a|z29a-kc-bc|h29a-kc-bc|heath/zenith 29 in ansi mode,
+	OTbs, OTpt, am, eslok, hs, mir, msgr,
+	OTkn#10, cols#80, it#8, lines#24,
+	OTbc=\ED, bel=^G, blink=\E[5m, bold=\E[2m, clear=\E[2J,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[M, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l,
+	home=\E[H, ht=^I, hts=\EH, if=/system/share/tabset/vt100,
+	il=\E[%p1%dL, il1=\E[L, ind=\ED, kbs=^H, kclr=\E[J,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, ked=\E[J,
+	kf0=\E[~, kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW,
+	kf6=\EOP, kf7=\EOQ, kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help,
+	mc0=\E#7, nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM,
+	rmcup=\E[?7h, rmso=\E[m, rmul=\E[m,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m,
+	sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K,
+z29a-kc-uc|h29a-kc-uc|z29 ansi mode with keyckick and underscore cursor,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m,
+	use=z29a,
+z29a-nkc-bc|h29a-nkc-bc|z29 ansi mode with block cursor and no keyclick,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2;4h\E[>1;3;5;6;7;8;9l\E[m\E[11m,
+	use=z29a,
+z29a-nkc-uc|h29a-nkc-uc|z29 ansi mode with underscore cursor and no keyclick,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2h\E[>1;3;4;5;6;7;8;9l\E[m\E[11m,
+	use=z29a,
+# From: Jeff Bartig <jeffb@dont.doit.wisc.edu> 31 Mar 1995
+z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode,
+	am, eslok, hs, mc5i, mir, msgr, xon,
+	cols#80, lines#24,
+	acsc=0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[5m, bold=\E[1m, cbt=\E[1Z, civis=\E[>5h,
+	clear=\E[2J\E[H, cnorm=\E[>5l, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[1M, dsl=\E[>1l, ed=\E[0J, el=\E[0K, el1=\E[1K,
+	fsl=\E[u, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[1L,
+	ind=^J, is2=\E<\E[>1;3;5;6;7l\E[0m\E[2J, ka1=\EOw,
+	ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ked=\E[J, kf1=\EOS,
+	kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ,
+	kf8=\EOR, kf9=\EOX, khlp=\E[~, khome=\E[H, ll=\E[24;1H,
+	mc0=\E[?19h\E[i, mc4=\E[4i, mc5=\E[5i, rc=\E[u, rev=\E[7m,
+	rmacs=\E(B, rmir=\E[4l, rmkx=\E[>7l, rmso=\E[0m,
+	rmul=\E[0m, rs2=\E<\Ec\0, sc=\E[s, sgr0=\E[0m, smacs=\E(0,
+	smir=\E[4h, smkx=\E[>7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[s\E[>1h\E[25;%i%p1%dH,
+
+# From: Brad Brahms <Brahms@USC-ECLC>
+z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor,
+	cnorm=\Ey4\Em70, cvvis=\Ex4\Em71, use=z100bw,
+# (z100bw: removed obsolete ":kn#10:", added empty <acsc> -- esr)
+z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc,
+	OTbs, OTpt, mir, msgr,
+	OTkn#10, cols#80, it#8, lines#24,
+	acsc=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\^,
+	clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, cuu1=\EA,
+	cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, kcub1=\ED, kcud1=\EB,
+	kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, kf2=\ET, kf3=\EU,
+	kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EOI,
+	khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF,
+	smir=\E@, smso=\Ep,
+p19|h19-b with il1/dl1,
+	dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b,
+# From: <ucscc!B.fiatlux@ucbvax.berkeley.edu>
+# (ztx: removed duplicate :sr: -- esr)
+ztx|ztx11|zt-1|htx11|ztx-1-a|ztx-10 or 11,
+	OTbs, am, eslok, hs,
+	cols#80, it#8, lines#24,
+	clear=\EE, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+	dsl=\Ey1, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I,
+	il1=\EL, is2=\Ej\EH\Eq\Ek\Ev\Ey1\Ey5\EG\Ey8\Ey9\Ey>,
+	kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\ES,
+	kf1=\EB, kf2=\EU, kf3=\EV, kf4=\EW, kf5=\EP, kf6=\EQ, kf7=\ER,
+	ri=\EI, rmso=\Eq, rmul=\Eq, smso=\Es5, smul=\Es2,
+	tsl=\Ej\Ex5\Ex1\EY8%+ \Eo,
+
+#### IMS International (ims)
+#
+# There was a company called IMS International located in Carson City,
+# Nevada, that flourished from the mid-70s to mid-80s.  They made S-100
+# bus/Z80 hardware and a line of terminals called Ultimas.
+#
+
+# From: Erik Fair <fair@ucbarpa.berkeley.edu>  Sun Oct 27 07:21:05 1985
+ims950-b|bare ims950 no init string,
+	is2@, use=ims950,
+# (ims950: removed obsolete ":ko@:" -- esr)
+ims950|ims televideo 950 emulation,
+	xenl@,
+	flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@,
+	kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950,
+# (ims950-rv: removed obsolete ":ko@:" -- esr)
+ims950-rv|ims tvi950 rev video,
+	xenl@,
+	flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@,
+	kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950-rv,
+ims-ansi|ultima2|ultimaII|IMS Ultima II,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J, cub1=^H, cud1=\ED, cuf1=\EC,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\EM, ed=\E[0J, el=\E[0K,
+	ht=^I, if=/system/share/tabset/vt100,
+	is2=\E[m\E[>14l\E[?1;?5;20l\E>\E[1m\r, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, ri=\EM,
+	rmso=\E[m\E[1m, rmul=\E[m\E[1m, sgr0=\E[m, smso=\E[7m,
+	smul=\E[4m,
+
+#### Intertec Data Systems
+#
+# I think this company is long dead as of 1995.  They made an early CP/M
+# micro called the "Intertec Superbrain" that was moderately popular,
+# then sank out of sight.
+#
+
+superbrain|intertec superbrain,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	OTbc=^U, bel=^G, clear=\014$<5*>, cr=^M, cub1=^H, cud1=^J,
+	cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=^K,
+	ed=\E~k<10*>, el=\E~K$<15>, ht=^I, ind=^J, kcub1=^U,
+	kcud1=^J, kcuf1=^F, kcuu1=^K, rmcup=^L, smcup=^L,
+# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>,
+# rmul=\E0A$<200/>; my guess is the highlight letter is bit-coded like an ADM,
+# and the reverse is actually true.  Try it. -- esr)
+intertube|intertec|Intertec InterTube,
+	OTbs, am,
+	cols#80, lines#25,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<50>, cuu1=^Z, home=^A,
+	ind=^J, rmso=\E0@, smso=\E0P,
+# The intertube 2 has the "full duplex" problem like the tek 4025: if you
+# are typing and a command comes in, the keystrokes you type get interspersed
+# with the command and it messes up
+intertube2|intertec data systems intertube 2,
+	OTbs,
+	cup=\016%p1%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c,
+	el=\EK, hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c,
+	ll=^K^X\r, vpa=\013%p1%c, use=intertube,
+
+#### Ithaca Intersystems
+#
+# This company made S100-bus personal computers long ago in the pre-IBM-PC
+# past.  They used to be reachable at:
+#
+#	Ithaca Intersystems
+#	1650 Hanshaw Road
+#	Ithaca, New York 14850
+#
+# However, the outfit went bankrupt years ago.
+#
+
+# The Graphos III was a color graphics terminal from Ithaca Intersystems.
+# These entries were written (originally in termcap syntax) by Brian Yandell
+# <yandell@stat.wisc.edu> and Mike Meyer <mikem@stat.wisc.edu> at the
+# University of Wisconsin.
+
+# (graphos: removed obsolete and syntactically incorrect :kn=4:,
+# removed <if=/system/share/tabset/init.graphos> and
+# <rf=/system/share/tabset/init.graphos> no such file & no <hts> -- esr)
+graphos|graphos III,
+	am, mir,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J, cnorm=\Ez56;2;0;0z\Ez73z\Ez4;1;1z,
+	cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A,
+	cvvis=\Ez4;2;1z\Ez56;2;80;24z, dch1=\E[P, dl=\E[%p1%dM,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL,
+	il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM, rmdc=\E[4l,
+	rmir=\E[4l, rmso=\E[m, sc=\E7, sgr0=\E[m, smdc=\E[4h,
+	smir=\E[4h, smso=\E[7m,
+graphos-30|graphos III with 30 lines,
+	lines#30,
+	cvvis=\Ez4;2;1z\Ez56;2;80;30z, use=graphos,
+
+#### Modgraph
+#
+# These people used to be reachable at:
+#
+#	Modgraph, Inc
+#	1393 Main Street,
+#	Waltham, MA 02154
+#	Vox: (617)-890-5796.
+#
+# However, if you call that number today you'll get an insurance company.
+# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated
+# 26 Feb 1997 that says:
+#
+# Modgraph GX-1000, replaced by GX-2000.  Both are out of production, have been
+# for ~7 years.  Modgraph still in business.  Products are rugged laptop and
+# portable PC's and specialized CRT and LCD monitors (rugged, rack-mount
+# panel-mount etc).  I can be emailed at sonfour@aol.com
+#
+# Peter D. Smith <pdsmith@nbbn.com> notes that his modgraph manual was
+# dated 1984.  According to the manual, it featured Tek 4010/4014
+# graphics and DEC VT100/VT52 + ADM-3A emulation with a VT220-style keyboard.
+#
+
+modgraph|mod24|modgraph terminal emulating vt100,
+	xenl@,
+	cols#80, lines#24,
+	cvvis=\E\^9;0s\E\^7;1s,
+	is2=\E\^9;0s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s\E\^11;81s\E\^11;89s,
+	rf@, ri=\EM\E[K$<5/>, use=vt100,
+# The GX-1000 manual is dated 1984.  This looks rather like a VT-52.
+modgraph2|modgraph gx-1000 80x24 with keypad not enabled,
+	am, da, db,
+	cols#80, it#8, lines#24,
+	clear=\EH\EJ$<50/>, cub1=^H, cud1=\EB$<2/>,
+	cuf1=\EC$<2/>, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5/>,
+	cuu1=\EA$<2/>, ed=\EJ$<50/>, el=\EK$<3/>, ht=^I,
+	is2=\E<\E\^5;2s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s\E\^11;81s\E\^11;89s\E\^12;0s\E\^14;2s\E\^15;9s\E\^25;1s\E\^9;1s\E\^27;1,
+	ri=\EI$<5/>,
+#
+# Modgraph from Nancy L. Cider <nancyc@brl-tbd>
+# BUG NOTE from Barbara E. Ringers <barb@brl-tbd>:
+# If we set TERM=vt100, and set the Modgraph screen to 24 lines, setting a
+# mark and using delete-to-killbuffer work correctly.  However, we would
+# like normal mode of operation to be using a Modgraph with 48 line setting.
+# If we set TERM=mod (which is a valid entry in termcap with 48 lines)
+# the setting mark and delete-to-killbuffer results in the deletion of only
+# the line the mark is set on.
+# We've discovered that the delete-to-killbuffer works correctly
+# with TERM=mod and screen set to 80x48 but it's not obvious.  Only
+# the first line disappears but a ctrl-l shows that it did work
+# correctly.
+modgraph48|mod|Modgraph w/48 lines,
+	OTbs, OTpt, am, xenl,
+	cols#80, it#8, lines#48, vt#3,
+	OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	flash=\E[?5h\E[0q\E[1;2q\E[?5l\E[0q\E[4;3q,
+	home=\E[H, ht=^I, is2=\E<\E[1;48r\E[0q\E[3;4q\E=\E[?1h,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m,
+	ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\E=\E[0q\E>, sc=\E7, sgr0=\E[m, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m,
+
+#### Morrow Designs
+#
+# This was George Morrow's company.  They started in the late 1970s making
+# S100-bus machines.  They used to be reachable at:
+#
+#        Morrow
+#        600 McCormick St.
+#        San Leandro, CA 94577
+#
+# but they're long gone now (1995).
+#
+
+# The mt70 terminal was shipped with the Morrow MD-3 microcomputer.
+# Jeff's specimen was dated June 1984.
+# From: Jeff Wieland <wieland@acn.purdue.edu> 24 Feb 1995
+mt70|mt-70|Morrow MD-70; native Morrow mode,
+	am, mir, msgr, xon,
+	cols#80, it#8, lines#24,
+	acsc=+z\,{-x.yOi`|jGkFlEmDnHqJtLuKvNwMxI, bel=^G,
+	cbt=\EI, civis=\E"0, clear=^Z, cnorm=\E"2, cr=^M, cub1=^H,
+	cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1>,
+	cuu1=^K, dch1=\EW, dim=\EG2, dl1=\ER, ed=\EY, el=\ET$<10>,
+	flash=\EK1$<200>\EK0, home=^^, ht=^I, ich1=\EQ, il1=\EE,
+	ind=^J, invis@, is1=\E"2\EG0\E], kbs=^H, kcbt=^A^Z\r,
+	kclr=^An\r, kcub1=^AL\r, kcud1=^AK\r, kcuf1=^AM\r,
+	kcuu1=^AJ\r, kdch1=\177, kf1=^A@\r, kf10=^AI\r, kf11=^A`\r,
+	kf12=^Aa\r, kf13=^Ab\r, kf14=^Ac\r, kf15=^Ad\r, kf16=^Ae\r,
+	kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_,
+	rmacs=\E%%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E],
+	smul=\EG1, tbc=\E0, use=adm+sgr,
+
+#### Motorola
+#
+
+# Motorola EXORterm 155	from {decvax, ihnp4}!philabs!sbcs!megad!seth via BRL
+# (Seth H Zirin)
+ex155|Motorola Exorterm 155,
+	OTbs, am, bw,
+	OTkn#5, OTug#1, cols#80, lines#24,
+	cbt=\E[, clear=\EX, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EE%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\ET,
+	el=\EU, home=\E@, ht=\EZ, kbs=^H, kcbt=\E[, kclr=\EX, kcub1=^H,
+	kcud1=^J, kcuf1=^L, kcuu1=^K, ked=\ET, kel=\EU, khome=\E@,
+	rmso=\Ec\ED, rmul=\Eg\ED, smso=\Eb\ED, smul=\Ef\ED,
+
+#### Omron
+#
+# This company is still around in 1995, manufacturing point-of-sale systems.
+
+omron|Omron 8025AG,
+	OTbs, am, da, db,
+	cols#80, lines#24,
+	bel=^G, clear=\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, cuu1=\EA,
+	cvvis=\EN, dch1=\EP, dl1=\EM, ed=\ER, el=\EK, home=\EH,
+	il1=\EL, ind=\ES, ri=\ET, rmso=\E4, smso=\Ef,
+
+#### Ramtek
+#
+# Ramtek was a vendor of high-end graphics terminals around 1979-1983; they
+# were competition for things like the Tektronics 4025.
+#
+
+# Ramtek 6221 from BRL, probably by Doug Gwyn
+# The following SET-UP modes are assumed for normal operation:
+#	UNDERLINE_CURSOR	ANSI_MODE	AUTO_XON/XOFF_ON
+#	NEWLINE_OFF		80_COLUMNS
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements; I recommend
+#	SMOOTH_SCROLL	AUTO_REPEAT_ON	3_#_SHIFTED	WRAP_AROUND_ON
+# Hardware tabs are assumed to be every 8 columns; they can be set up by the
+# "reset", "tset", or "tabs" utilities (use rt6221-w, 160 columns, for this).
+# Note that the Control-E key is useless on this brain-damaged terminal.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+rt6221|Ramtek 6221 80x24,
+	OTbs, OTpt, msgr, xon,
+	OTkn#4, cols#80, it#8, lines#24, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[>5l,
+	clear=\E[1;1H\E[J, cnorm=\E[>5h\E[>9h, cr=^M,
+	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^K, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+	cvvis=\E[>7h\E[>9l, ed=\E[J, el=\E[K, home=\E[1;1H, ht=^I,
+	hts=\EH, ind=^J, is2=\E)0, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf0=\EOP, kf1=\EOQ, kf2=\EOR,
+	kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4, ll=\E[24;1H,
+	nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs1=\E[1w\E[>37m\E[>39m\E[1v\E[20l\E[?3l\E[?6l\E[>5h\E[>6h\E[>7h\E[>8l\E[>9h\E[>10l\E[1;24r\E[m\E[q\E(B\017\E)0\E#5\E>,
+	sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E=, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g,
+# [TO DO: Check out: short forms of ho/cl and ll; reset (\Ec)].
+rt6221-w|Ramtek 6221 160x48,
+	cols#160, lines#48,
+	ll=\E[48;1H, use=rt6221,
+
+#### RCA
+#
+
+# RCA VP3301 or VP3501
+rca|rca vp3301/vp3501,
+	OTbs,
+	cols#40, lines#24,
+	clear=^L, cuf1=^U, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, home=^Z, rmso=\E\ES0, smso=\E\ES1,
+
+
+#### Selanar
+#
+
+# Selanar HiREZ-100 from BRL, probably by Doug Gwyn
+# The following SET-UP modes are assumed for normal operation:
+#	SET_DEFAULT_TABS	48_LINES		80_COLUMNS
+#	ONLINE			ANSI			CURSOR_VISIBLE
+#	VT102_AUTO_WRAP_ON	VT102_NEWLINE_OFF	VT102_MONITOR_MODE_OFF
+#	LOCAL_ECHO_OFF		US_CHAR_SET		WPS_TERMINAL_DISABLED
+#	CPU_AUTO_XON/XOFF_ENABLED			PRINT_FULL_SCREEN
+# For use with graphics software, all graphics modes should be set to factory
+# default.  Other SET-UP modes may be set for operator convenience or
+# communication requirements.  No delays are specified; use "stty ixon -ixany"
+# to enable DC3/DC1 flow control!
+# I commented out the scrolling capabilities since they are too slow.
+hirez100|Selanar HiREZ-100,
+	OTbs, OTpt, mir, msgr, xon,
+	OTkn#4, cols#80, it#8, lines#48, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
+	cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	hts=\EH, il=\E[%p1%dL, il1=\E[L, is2=\E<\E)0, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP,
+	kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3,
+	lf3=PF4, ll=\E[48H, mc0=\E[i, mc4=\E[4i\E[?4i,
+	mc5=\E[?5i\E[5i, nel=\EE, rc=\E8, rev=\E[7m, rmacs=^O,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\030\E2\E<\E[4i\E[?4i\E[12h\E[2;4;20l\E[?0;7h\E[?1;3;6;19l\E[r\E[m\E(B\017\E)0\E>,
+	sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g,
+hirez100-w|Selanar HiREZ-100 in 132-column mode,
+	cols#132, use=hirez100,
+
+#### Signetics
+#
+
+# From University of Wisconsin
+vsc|Signetics Vsc Video driver by RMC,
+	am, msgr,
+	cols#80, it#8, lines#26,
+	clear=\E[;H\E[2J$<50/>, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rev=^_\s,
+	rmso=^_!, rmul=^_#, sgr0=^_!, smso=^_\s, smul=^_",
+
+#### Soroc
+#
+# Alan Frisbie <frisbie@flying-disk.com> writes:
+#
+# As you may recall, the Soroc logo consisted of their name,
+# with the letter "S" superimposed over an odd design.   This
+# consisted of a circle with a slightly smaller 15 degree (approx.)
+# wedge with rounded corners inside it.   The color was sort of
+# a metallic gold/yellow.
+#
+# If I had been more of a beer drinker it might have been obvious
+# to me, but it took a clue from their service department to make
+# me exclaim, "Of course!"   The circular object was the top of
+# a beer can (the old removable pop-top style) and "Soroc" was an
+# anagram for "Coors".
+#
+# I can just imagine the founders of the company sitting around
+# one evening, tossing back a few and trying to decide what to
+# call their new company and what to use for a logo.
+#
+
+# (soroc120: removed obsolete ":ma=^K^P^R^L^L :" -- esr)
+soroc120|iq120|soroc|soroc iq120,
+	clear=\E*$<2>, cud1=^J, ed=\EY, el=\ET, kcub1=^H, kcud1=^J,
+	kcuf1=^L, kcuu1=^K, use=adm3a,
+soroc140|iq140|soroc iq140,
+	OTbs, am, mir,
+	cols#80, lines#24,
+	bel=^G, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\Ew,
+	dl1=\Er$<.7*>, ed=\Ey, el=\Et, home=^^, il1=\Ee$<1*>, ind=^J,
+	kbs=^H, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A@\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, ll=^^^K, rmir=\E8,
+	rmso=\E\177, rmul=\E^A, smir=\E9, smso=\E\177, smul=\E^A,
+
+#### Southwest Technical Products
+#
+# These guys made an early personal micro called the M6800.
+# The ct82 was probably its console terminal.
+#
+
+# (swtp: removed obsolete ":bc=^D:" -- esr)
+swtp|ct82|southwest technical products ct82,
+	am,
+	cols#82, lines#20,
+	bel=^G, clear=^L, cr=^M, cub1=^D, cud1=^J, cuf1=^S,
+	cup=\013%p2%c%p1%c, cuu1=^A, dch1=^\^H, dl1=^Z, ed=^V, el=^F,
+	home=^P, ich1=^\^X, il1=^\^Y, ind=^N,
+	is2=\034\022\036\023\036\004\035\027\011\023\036\035\036\017\035\027\022\011,
+	ll=^C, ri=^O, rmso=^^^F, smso=^^^V,
+
+#### Synertek
+#
+# Bob Manson <manson@pattyr.acs.ohio-state.edu> writes (28 Apr 1995):
+#
+# Synertek used to make ICs, various 6502-based single-board process
+# control and hobbyist computers, and assorted peripherals including a
+# series of small inexpensive terminals (I think they were one of the
+# first to have a "terminal-on-a-keyboard", where the terminal itself
+# was only slightly larger than the keyboard).
+#
+# They apparently had a KTM-1 model, which I've never seen. The KTM-2/40
+# was a 40x24 terminal that could connect to a standard TV through a
+# video modulator.  The KTM-2/80 was the 80-column version (the 2/40
+# could be upgraded to the 2/80 by adding 2 2114 SRAMs and a new ROM).
+# I have a KTM-2/80 still in working order.  The KTM-2s had fully
+# socketed parts, used 2 6507s, a 6532 as keyboard scanner, a program
+# ROM and 2 ROMs as character generators. They were incredibly simple,
+# and I've never had any problems with mine (witness the fact that mine
+# was made in 1981 and is still working great... I've blown the video
+# output transistor a couple of times, but it's a 2N2222 :-)
+#
+# The KTM-3 (which is what is listed in the terminfo file) was their
+# attempt at putting a KTM-2 in a box (and some models came with a
+# CRT). It wasn't much different from the KTM-2 hardware-wise, but the
+# control and escape sequences are very different. The KTM-3 was always
+# real broken, at least according to the folks I've talked to about it.
+#
+# The padding in the entry is probably off--these terminals were very
+# slow (it takes like 100ms for the KTM-2 to clear the screen...) And
+# anyone with any sanity replaced the ROMs with something that provided
+# a reasonable subset of VT100 functionality, since the usual ROMs were
+# obviously very primitive... oh, you could get an upgraded ROM from
+# Synertek for some incredible amount of money, but what hacker with an
+# EPROM burner would do that? :)
+#
+# Sorry I don't have any contact info; I believe they were located in
+# Sunnyvale, and I'm fairly sure they are still manufacturing ICs
+# (they've gone to ASICs and FPGAs), but I doubt they're in the computer
+# business these days.
+#
+
+# Tested, seems to work fine with vi.
+synertek|ktm|synertek380|synertek ktm 3/80 tubeless terminal,
+	am,
+	cols#80, lines#24,
+	clear=^Z, cub1=^H, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK,
+
+#### Tab Office Products
+#
+#	TAB Products Co. - Palo Alto, California
+#	Electronic Office Products,
+#	1451 California Avenue 94304
+#
+# I think they're out of business.
+#
+
+# The tab 132 uses xon/xoff, so no padding needed.
+# <smkx>/<rmkx> have nothing to do with arrow keys.
+# <is2> sets 80 col mode, normal video, autowrap on (for <am>).
+# Seems to be no way to get rid of status line.
+# The manual for this puppy was dated June 1981.  It claims to be VT52-
+# compatible but looks more vt100-like.
+tab132|tab|tab132-15|tab 132/15,
+	da, db,
+	OTdN@, cols#80, lines#24, lm#96,
+	cud1=^J, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M,
+	il1=\E[L, is2=\E[?7h\E[?3l\E[?5l, kcub1=\E[D, kcud1=\E[B,
+	kcuu1=\E[A, rmir=\E[4l, rmkx@, smir=\E[4h, smkx@, use=vt100,
+tab132-w|tab132 in wide mode,
+	cols#132,
+	is2=\E[?7h\E[?3h\E[?5l, use=tab132,
+tab132-rv|tab132 in reverse-video mode,
+	is2=\E[?7h\E[?3l\E[?5h, use=tab132,
+tab132-w-rv|tab132 in reverse-video/wide mode,
+	is2=\E[?7h\E[?3h\E[?5h, use=tab132-w,
+
+
+#### Teleray
+#
+#	Research Incorporated
+#	6425 Flying Cloud Drive
+#	Eden Prairie, MN 55344
+#	Vox: (612)-941-3300
+#
+# The Teleray terminals were all discontinued in 1992-93.  RI still services
+# and repairs these beasts, but no longer manufactures them.  The Teleray
+# people believe that all the types listed below are very rare now (1995).
+# There was a newer line of Telerays (Model 7, Model 20, Model 30, and
+# Model 100) that were ANSI-compatible.
+#
+# Note two things called "teleray".  Reorder should move the common one
+# to the front if you have either.  A dumb teleray with the cursor stuck
+# on the bottom and no obvious model number is probably a 3700.
+#
+
+t3700|dumb teleray 3700,
+	OTbs,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ind=^J,
+t3800|teleray 3800 series,
+	OTbs,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, ind=^J, ll=\EY7\s,
+t1061|teleray|teleray 1061,
+	OTbs, am, km, xhp, xt,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, clear=\014$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EM$<2*>, ed=\EJ$<1>, el=\EK, home=\EH, ht=^I, hts=\EF,
+	ich1=\EP, il1=\EL$<2*>, ind=^J, ip=$<0.4*>,
+	is2=\Ee\EU01^Z1\EV\EU02^Z2\EV\EU03^Z3\EV\EU04^Z4\EV\EU05^Z5\EV\EU06^Z6\EV\EU07^Z7\EV\EU08^Z8\EV\Ef,
+	kf1=^Z1, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, kf6=^Z6, kf7=^Z7,
+	kf8=^Z8, rmso=\ER@, rmul=\ER@, smso=\s\ERD, smul=\ERH,
+	tbc=\EG,
+t1061f|teleray 1061 with fast PROMs,
+	dl1=\EM, il1=\EL, ip@, use=t1061,
+# "Teleray Arpa Special", officially designated as
+# "Teleray Arpa network model 10" with "Special feature 720".
+# This is the new (1981) fast microcode updating the older "arpa" proms
+# (which gave meta-key and programmable-fxn keys).  720 is much much faster,
+# converts the keypad to programmable function keys, and has other goodies.
+# Standout mode is still broken (magic cookie, etc) so is suppressed as no
+# programs handle such lossage properly.
+# Note: this is NOT the old termcap's "t1061f with fast proms."
+# From: J. Lepreau <lepreau@utah-cs> Tue Feb  1 06:39:37 1983, Univ of Utah
+# (t10: removed overridden ":so@:se@:us@:ue@:" -- esr)
+t10|teleray 10 special,
+	OTbs, km, xhp, xt,
+	cols#80, it#8, lines#24, xmc#2,
+	clear=\Ej$<30/>, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL,
+	ind=\Eq, pad=\0, ri=\Ep, rmso=\ER@, rmul=\ER@, smso=\ERD,
+	smul=\ERH,
+# teleray 16 - map the arrow keys for vi/rogue, shifted to up/down page, and
+# back/forth words. Put the function keys (f1-f10) where they can be
+# found, and turn off the other magic keys along the top row, except
+# for line/local. Do the magic appropriate to make the page shifts work.
+# Also toggle ^S/^Q for those of us who use Emacs.
+t16|teleray 16,
+	am, da, db, mir, xhp, xt,
+	cols#80, lines#24,
+	bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=%i\E[%p1%d;%p2%df, cuu1=\E[A, dch1=\E[P,
+	dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, ht=^I, il1=\E[L,
+	ind=^J, kf1=^Z1, kf10=^Z0, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5,
+	kf6=^Z6, kf7=^Z7, kf8=^Z8, kf9=^Z9, ri=\E[T,
+	rmcup=\E[V\E[24;1f\E[?38h, rmir=\E[4l, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smcup=\E[U\E[?38l, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m,
+
+#### Texas Instruments (ti)
+#
+
+# The Silent 700 was so called because it was built around a quiet thermal
+# printer.  It was portable, equipped with an acoustic coupler, and pretty
+# neat for its day.
+ti700|ti733|ti735|ti745|ti800|ti silent 700/733/735/745 or omni 800,
+	OTbs, hc, os,
+	cols#80,
+	bel=^G, cr=\r$<162>, cub1=^H, cud1=^J, ind=^J,
+
+#
+# Texas Instruments 916 VDT 7 bit control mode
+#
+ti916|ti916-220-7|Texas Instruments 916 VDT 8859/1 vt220 mode 7 bit CTRL,
+	da, db, in, msgr,
+	cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[2J$<6>,
+	cnorm=\E[?25h, cub=\E[%p1%dD, cud=\E[%p1%dB,
+	cuf=\E[%p1%dC, cup=\E[%p1%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	dch=\E[%p1%dP$<250>, dch1=\E[P, dl=\E[%p1%dM,
+	ech=\E[%p1%dX$<20>, ed=\E[J$<6>, el=\E[0K, el1=\E[1K,
+	enacs=\E(B\E)0, ff=^L, flash=\E[?5h\E[?5l$<6>,
+	hpa=\E[%p1%{1}%+%dG, hts=\E[0W, ich=\E[%p1%d@$<250>,
+	il=\E[%p1%dL$<36>, ip=$<10>, is2=\E[1;24r\E[24;1H,
+	kcmd=\E[29~, kdch1=\E[P, kent=^J, kf1=\E[17~, kf10=\E[28~,
+	kf11=\E[29~, kf12=\E[31~, kf2=\E[18~, kf3=\E[19~,
+	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+	kf9=\E[26~, khome=\E[H, kich1=\E[@, knp=\E[S, kpp=\E[T,
+	kprt=^X, prot=\E&, rmacs=\017$<2>, rs2=\E[!p, sgr@,
+	smacs=\016$<2>, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
+	use=vt220,
+#
+# Texas Instruments 916 VDT 8 bit control mode
+#
+ti916-8|ti916-220-8|Texas Instruments 916 VDT 8859/1 8 vt220 mode bit CTRL,
+	kcmd=\23329~, kcub1=\233D, kcud1=\233B, kcuf1=\233C,
+	kcuu1=\233A, kdch1=\233P, kent=^J, kf1=\23317~,
+	kf10=\23328~, kf11=\23329~, kf12=\23331~, kf2=\23318~,
+	kf3=\23319~, kf4=\23320~, kf5=\23321~, kf6=\23323~,
+	kf7=\23324~, kf8=\23325~, kf9=\23326~, khome=\233H,
+	kich1=\233@, knp=\233S, kpp=\233T, kprt=^X, use=ti916,
+#
+# Texas Instruments 916 VDT 8859/1 7 bit control 132 column mode
+#
+ti916-132|Texas Instruments 916 VDT vt220 132 column,
+	cols#132, use=ti916,
+#
+# Texas Instruments 916 VDT 8859/1 8 bit control 132 column mode
+#
+ti916-8-132|Texas Instruments 916 VDT 8-bit vt220 132 column,
+	cols#132, use=ti916-8,
+ti924|Texas Instruments 924 VDT 8859/1 7 bit CTRL,
+	OTbs, am, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M,
+	csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH,
+	il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\E[16~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kich1=\E[@, rc=\E8, rev=\E[7m,
+	ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g,
+ti924-8|Texas Instruments 924 VDT 8859/1 8 bit CTRL,
+	am, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M,
+	csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C,
+	cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH,
+	il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\233P, kf1=\217P, kf2=\217Q,
+	kf3=\217R, kf4=\217S, kf5=\23316~, kf6=\23317~,
+	kf7=\23318~, kf8=\23319~, kf9=\23320~, kich1=\233@, rc=\E8,
+	rev=\E[7m, ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ti924w|Texas Instruments 924 VDT 7 bit - 132 column mode,
+	cols#132, use=ti924,
+ti924-8w|Texas Instruments 924 VDT 8 bit - 132 column mode,
+	cols#132, use=ti924-8,
+ti931|Texas Instruments 931 VDT,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	bel=^G, blink=\E4P, clear=\EL, cnorm=\E4@, cr=^M, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH,
+	ich1=\ER\EP\EM, il1=\EN, ind=\Ea, invis=\E4H,
+	is2=\EGB\E(@B@@\E), kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+	kcuu1=\EA, kdch1=\EQ, kdl1=\EO, kf1=\Ei1, kf2=\Ei2, kf3=\Ei3,
+	kf4=\Ei4, kf5=\Ei5, kf6=\Ei6, kf7=\Ei7, kf8=\Ei8, kf9=\Ei9,
+	kich1=\EP, kil1=\EN, rev=\E4B, ri=\Eb, rmso=\E4@, rmul=\E4@,
+	sgr0=\E4@, smso=\E4A, smul=\E4D,
+ti926|Texas Instruments 926 VDT 8859/1 7 bit CTRL,
+	csr@, ind=\E[1S, ri=\E[1T, use=ti924,
+# (ti926-8: I corrected this from the broken SCO entry -- esr)
+ti926-8|Texas Instruments 926 VDT 8859/1 8 bit CTRL,
+	csr@, ind=\2331S, ri=\2331T, use=ti924-8,
+ti_ansi|basic entry for ti928,
+	am, bce, eo, xenl, xon,
+	colors#8, cols#80, it#8, lines#25, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H,
+	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
+	il1=\E[L, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, kf0=\E[V, kf1=\E[M,
+	kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S,
+	kf8=\E[T, kf9=\E[U, khome=\E[H, knp=\E[G, kpp=\E[I,
+	op=\E[37;40m, ri=\E[T, rmso=\E[m, rmul=\E[m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m,
+#
+#       928 VDT 7 bit control mode
+#
+ti928|Texas Instruments 928 VDT 8859/1 7 bit CTRL,
+	kdch1=\E[P, kend=\E_1\E\\, kent=\E[8~, kf1=\E[17~,
+	kf10=\E[28~, kf11=\E[29~, kf12=\E[31~, kf13=\E[32~,
+	kf15=\E[34~, kf2=\E[18~, kf3=\E[19~, kf4=\E[20~,
+	kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~,
+	kich1=\E[@, knp=\E[S, kpp=\E[T, kprt=\E[35~, use=ti_ansi,
+#
+#       928 VDT 8 bit control mode
+#
+ti928-8|Texas Instruments 928 VDT 8859/1 8 bit CTRL,
+	kdch1=\233P, kend=\2371\234, kent=\2338~, kf1=\23317~,
+	kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13=\23332~,
+	kf15=\23334~, kf2=\23318~, kf3=\23319~, kf4=\23320~,
+	kf5=\23321~, kf6=\23323~, kf7=\23324~, kf8=\23325~,
+	kf9=\23326~, khome=\233H, kich1=\233@, knp=\233S,
+	kpp=\233T, kprt=\23335~, use=ti_ansi,
+
+#### Zentec (zen)
+#
+
+# (zen30: removed obsolete :ma=^L ^R^L^K^P:.  This entry originally
+# had just <smso>=\EG6 which I think means standout was supposed to be
+# dim-reverse using ADM12-style attributes. ADM12 <smul>/<rmul> and
+# <invis> might work-- esr)
+zen30|z30|zentec 30,
+	OTbs, am, mir, ul,
+	cols#80, lines#24,
+	bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dim=\EG2, dl1=\ER$<1.5*>, ed=\EY, el=\ET$<1.0*>, home=^^,
+	il1=\EE$<1.5*>, ind=^J, rmir=\Er, rmul@, smir=\Eq, smso=\EG6,
+	smul@, use=adm+sgr,
+# (zen50: this had extension capabilities
+#	:BS=^U:CL=^V:CR=^B:
+# UK/DK/RK/LK/HM were someone's aliases for ku/kd/kl/kr/kh,
+# which were also in the original entry -- esr)
+# (zen50: removed obsolete ":ma=^Hh^Ll^Jj^Kk:" -- esr)
+zen50|z50|zentec zephyr,
+	OTbs, am,
+	cols#80, lines#24, xmc#1,
+	clear=\E+, cub1=^H, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ich1=\EQ, il1=\EE,
+	invis@, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^,
+	rmul@, smul@, use=adm+sgr,
+
+# CCI 4574 (Office Power) from Will Martin <wmartin@BRL.ARPA> via BRL
+cci|cci1|z8001|zen8001|CCI Custom Zentec 8001,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	blink=\EM", clear=\EH\EJ, cnorm=\EP,
+	csr=\ER%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^J,
+	cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	cvvis=\EF\EQ\EM \ER 7, dim=\EM!, ed=\EJ, el=\EK, home=\EH,
+	invis=\EM(, is2=\EM \EF\ET\EP\ER 7, kbs=^H, kcub1=\ED,
+	kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, mc4=^T, mc5=^R,
+	rev=\EM$, ri=\EI, rmso=\EM\s, rmul=\EM\s, sgr0=\EM\s,
+	smso=\EM$, smul=\EM0,
+
+######## OBSOLETE UNIX CONSOLES
+#
+
+#### Apollo consoles
+#
+# Apollo got bought by Hewlett-Packard.  The Apollo workstations are
+# labeled HP700s now.
+#
+
+# From: Gary Darland <goodmanc@garnet.berkeley.edu>
+apollo|apollo console,
+	OTbs, am, mir,
+	cols#88, lines#53,
+	clear=^L, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EM%p1%{32}%+%c%p2%d), cuu1=\EA, dch1=\EP, dl1=\EL,
+	ed=\EJ, el=\EK, hpa=\EN%p1%d, il1=\EI, ind=\EE, ri=\ED,
+	rmcup=\EX, rmir=\ER, rmso=\ET, rmul=\EV, smcup=\EW, smir=\EQ,
+	smso=\ES, smul=\EU, vpa=\EO+\s,
+
+# We don't know whether or not the apollo guys replicated DEC's firmware bug
+# in the VT132 that reversed <rmir>/<smir>.  To be on the safe side, disable
+# both these capabilities.
+apollo_15P|apollo 15 inch display,
+	rmir@, smir@, use=vt132,
+apollo_19L|apollo 19 inch display,
+	rmir@, smir@, use=vt132,
+apollo_color|apollo color display,
+	rmir@, smir@, use=vt132,
+
+#### AT&T consoles
+
+# This actually describes the generic SVr4 display driver for Intel boxes.
+# The <dim=\E[2m> isn't documented and therefore may not be reliable.
+# From: Eric Raymond <esr@snark.thyrsus.com> Mon Nov 27 19:00:53 EST 1995
+att6386|at386|386at|AT&T WGS 6386 console,
+	am, bw, eo, xon,
+	cols#80, it#8, lines#25,
+	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C,
+	clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD,
+	cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S,
+	indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H,
+	kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ,
+	kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@,
+	knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m,
+	ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
+	sc=\E7,
+	sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m,
+	sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, vpa=\E[%i%p1%dd, use=klone+color,
+# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr)
+pc6300plus|AT&T 6300 plus,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C,
+	clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A,
+	dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K,
+	home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J,
+	invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe,
+	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk,
+	nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+
+# From: Benjamin C. W. Sittler <bsittler@nmt.edu>
+#
+# I have a UNIX PC which I use as a terminal attached to my Linux PC.
+# Unfortunately, the UNIX PC terminfo entry that comes with ncurses
+# is broken. All the special key sequences are broken, making it unusable
+# with Emacs. The problem stems from the following:
+#
+# The UNIX PC has a plethora of keys (103 of them, and there's no numeric
+# keypad!), loadable fonts, and strange highlighting modes ("dithered"
+# half-intensity, "smeared" bold, and real strike-out, for example.) It also
+# uses resizable terminal windows, but the bundled terminal program always
+# uses an 80x24 window (and doesn't support seem to support a 132-column
+# mode.)
+#
+# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a
+# library which was a superset of SVr3.5 curses (called tam, for "terminal
+# access method".) tam includes support for real, overlapping windows,
+# onscreen function key labels, and bitmap graphics. But since the primary
+# user interface on the UNIX PC was a GUI program (ua, for "user
+# assistant",) and remote administration was considered important for the
+# machine, tam also supported VT100-compatible terminals attached to the
+# serial port or used across the StarLan network. To simulate the extra keys
+# not present on a VT100, users could press ESC and a two-letter sequence,
+# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences,
+# however, were not the same as those sent by the actual Undo key. The
+# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example.
+# (If you're interested in adding some of the tam calls to ncurses, btw, I
+# have the full documentation and several programs which use tam. It also
+# used an extended terminfo format to describe key sequences, special
+# highlighting modes, etc.)
+#
+# KEYS: This means that ncurses would quite painful on the UNIX PC, since
+# there are two sequences for every key-modifier combination (local keyboard
+# sequence and remote "VT100" sequence.) But I doubt many people are trying
+# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the
+# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume)
+# seem to have been built from the manual describing the VT100 sequences.
+# This means it doesn't work for a real live UNIX PC.
+#
+# FONTS: The UNIX PC also has a strange interpretation of "alternate
+# character set". Rather than the VT100 graphics you might expect, it allows
+# up to 8 custom fonts to be loaded at any given time. This means that
+# programs expecting VT100 graphics will usually be disappointed. For this
+# reason I have disabled the smacs/rmacs sequences, but they could easily be
+# re-enabled. Here are the relevant control sequences (from the ESCAPE(7)
+# manpage), should you wish to do so:
+#
+# SGR10 - Select font 0 - ESC [ 10 m or SO
+# SGR11 - Select font 1 - ESC [ 11 m or SI
+# SGR12 - Select font 2 - ESC [ 12 m
+# ... (etc.)
+# SGR17 - Select font 7 - ESC [ 17 m
+#
+# Graphics for line drawing are not reliably found at *any* character
+# location because the UNIX PC has dynamically reloadable fonts. I use font
+# 0 for regular text and font 1 for italics, but this is by no means
+# universal. So ASCII line drawing is in order if smacs/rmacs are enabled.
+#
+# MISC: The cursor visible/cursor invisible sequences were swapped in the
+# distributed terminfo.
+#
+# To ameliorate these problems (and fix a few highlighting bugs) I rewrote
+# the UNIX PC terminfo entry. The modified version works great with Lynx,
+# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC
+# attached by serial cable. In Emacs, even the Undo key works, and many
+# applications can now use the F1-F8 keys.
+#
+# esr's notes:
+#	Terminfo entry for the AT&T Unix PC 7300
+#	from escape(7) in Unix PC 7300 Manual.
+#	Somewhat similar to a vt100-am (but different enough
+#	to redo this from scratch.)
+#
+#	/***************************************************************
+#	*
+#	*           FONT LOADING PROGRAM FOR THE UNIX PC
+#	*
+#	*     This routine loads a font defined in the file ALTFONT
+#	*     into font memory slot #1.  Once the font has been loaded,
+#	*     it can be used as an alternative character set.
+#	*
+#	*     The call to ioctl with the argument WIOCLFONT is the key
+#	*     to this routine.  For more information, see window(7) in
+#	*     the PC 7300 documentation.
+#	***************************************************************/
+#	#include <string.h>		/* needed for strcpy call */
+#	#include <sys/window.h>         /* needed for ioctl call */
+#	#define FNSIZE	60		/* font name size */
+#	#define ALTFONT  "/usr/lib/wfont/special.8.ft"  /* font file */
+#	/*
+#	*     The file /usr/lib/wfont/special.8.ft comes with the
+#	*     standard PC software.  It defines a graphics character set
+#	*     similar to that of the Teletype 5425 terminal.  To view
+#	*     this or other fonts in /usr/lib/wfont, use the command
+#	*     cfont <filename>.  For further information on fonts see
+#	*     cfont(1) in the PC 7300 documentation.
+#	*/
+#
+#	struct altfdata 	/* structure for alt font data */
+#	{
+#	short	altf_slot;		/* memory slot number */
+#	char	altf_name[FNSIZE];	/* font name (file name) */
+#	};
+#	ldfont()
+#	{
+#		int wd;		/* window in which altfont will be */
+#		struct altfdata altf;
+#		altf.altf_slot=1;
+#		strcpy(altf.altf_name,ALTFONT);
+#		for (wd =1; wd < 12; wd++) {
+#		     ioctl(wd, WIOCLFONT,&altf);
+#	        }
+#	}
+#
+# (att7300: added <civis>/<cnorm>/<ich1>/<invis> from the BSDI entry,
+# they're confirmed by the man page for the System V display---esr)
+#
+att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300,
+	am, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C,
+	clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD,
+	cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+	cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
+	ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL,
+	il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB,
+	kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE,
+	kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM,
+	kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR,
+	kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO,
+	kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z,
+	kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf,
+	ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd,
+	kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
+	kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B,
+	kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv,
+	kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt,
+	kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB,
+	ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m,
+	smul=\E[4m,
+
+#### Convergent Technology
+#
+# Burroughs bought Convergent shortly before it merged with Univac.
+# CTOS is (I believe) dead.  Probably the aws is too (this entry dates
+# from 1991 or earlier).
+#
+
+# Convergent AWS workstation from Gould/SEL UTX/32 via BRL
+# (aws: removed unknown :dn=^K: -- esr)
+aws|Convergent Technologies AWS workstation under UTX and Xenix,
+	am,
+	OTug#0, cols#80, lines#28, xmc#0,
+	OTbc=^H, OTma=\016h\013j\001k\022l\002m, OTnl=^J, acsc=,
+	clear=^L, cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A,
+	dch1=\EDC, dl1=\EDL, ed=\EEF, el=\EEL, hpa=\EH%p1%c,
+	ich1=\EIC, il1=\EIL, ind=\ESU, kbs=^H, kcub1=^N, kcud1=^K,
+	kcuf1=^R, kcuu1=^A, ri=\ESD, rmacs=\EAAF, rmso=\EARF,
+	rmul=\EAUF, smacs=\EAAN, smso=\EARN, smul=\EAUN,
+	vpa=\EV%p1%c,
+awsc|Convergent Technologies AWS workstation under CTOS,
+	am,
+	OTug#0, cols#80, lines#24, xmc#0,
+	OTbc=^N, OTma=\016h\013j\001k\022l\002m, acsc=, clear=^L,
+	cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A, ed=\EEF,
+	el=\EEL, kbs=^H, kcub1=^N, kcud1=^K, kcuf1=^R, kcuu1=^A,
+	rmacs=\EAAF, rmso=\EAA, rmul=\EAA, smacs=\EAAN, smso=\EAE,
+	smul=\EAC,
+
+#### DEC consoles
+#
+
+# The MicroVax console.  Tim Theisen <tim@cs.wisc.edu> writes:
+# The digital uVax II's had a graphic display called a qdss.  It was
+# supposed to be a high performance graphic accelerator, but it was
+# late to market and barely appeared before faster dumb frame buffers
+# appeared.  I have only used this display while running X11.  However,
+# during bootup, it was in text mode, and probably had a terminal emulator
+# within it.  And that is what your termcap entry is for.  In graphics
+# mode the screen size is 1024x864 pixels.
+qdss|qdcons|qdss glass tty,
+	OTbs, am,
+	cols#128, lines#57,
+	clear=\032$<1/>, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\E=%p1%c%p2%c, cuu1=^K,
+
+#### Fortune Systems consoles
+#
+# Fortune made a line of 68K-based UNIX boxes that were pretty nifty
+# in their day; I (esr) used one myself for a year or so around 1984.
+# They had no graphics, though, and couldn't compete against Suns and
+# the like.  R.I.P.
+#
+
+# From: Robert Nathanson <c160-3bp@Coral> via tut   Wed Oct 5, 1983
+# (This had extension capabilities
+#	:rv=\EH:re=\EI:rg=0:GG=0:\
+#	:CO=\E\\:WL=^Aa\r:WR=^Ab\r:CL=^Ac\r:CR=^Ad\r:DL=^Ae\r:RF=^Af\r:\
+#	:RC=^Ag\r:CW=^Ah\r:NU=^Aj\r:EN=^Ak\r:HM=^Al:PL=^Am\r:\
+#	:PU=^An\r:PD=^Ao\r:PR=^Ap\r:HP=^A@\r:RT=^Aq\r:TB=\r:CN=\177:MP=\E+F:
+# It had both ":bs:" and ":bs=^H:"; I removed the latter.  Also, it had
+# ":sg=0:" and ":ug=0:"; evidently the composer was trying (unnecessarily)
+# to force both magic cookie glitches off.  Once upon a time, I
+# used a Fortune myself, so I know the capabilities of the form ^A[a-z]\r are
+# function keys; thus the "Al" value for HM was certainly an error.  I renamed
+# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC.
+# I think :rv: and :re: are start/end reverse video and :rg: is a nonexistent
+# "reverse-video-glitch" capability; I have put :rv: and :re: in with standard
+# names below.  I've removed obsolete ":nl=5^J:" as there is a :do: -- esr)
+fos|fortune|Fortune system,
+	OTbs, am, bw,
+	cols#80, lines#25,
+	acsc=j*k(l m"q&v%w#x-, bel=^G, blink=\EN, civis=\E],
+	clear=\014$<20>, cnorm=\E\\, cr=^M, cub1=^H, cud1=\n$<3>,
+	cup=\034C%p1%{32}%+%c%p2%{32}%+%c, cuu1=\013$<3>,
+	cvvis=\E\:, dch1=\034W$<5>, dl1=\034R$<15>,
+	ed=\034Y$<3*>, el=^\Z, home=\036$<10>, ht=^Z,
+	ich1=\034Q$<5>, il1=\034E$<15>, ind=^J, is2=^_.., kbs=^H,
+	kcub1=^Aw\r, kcud1=^Ay\r, kcuf1=^Az\r, kcuu1=^Ax\r,
+	kend=^Ak\r, kent=^Aq, kf1=^Aa\r, kf2=^Ab\r, kf3=^Ac\r,
+	kf4=^Ad\r, kf5=^Ae\r, kf6=^Af\r, kf7=^Ag\r, kf8=^Ah\r,
+	khome=^A?\r, knp=^Ao\r, kpp=^An\r, nel=^M^J, rev=\EH,
+	rmacs=^O, rmso=^\I`, rmul=^\IP, sgr0=\EI, smacs=\Eo,
+	smso=^\H`, smul=^\HP,
+
+#### Masscomp consoles
+#
+# Masscomp has gone out of business.  Their product line was purchased by
+# comany in Georgia (US) called "XS International", parts and service may
+# still be available through them.
+#
+
+# (masscomp: ":MT:" changed to ":km:";  -- esr)
+masscomp|masscomp workstation console,
+	OTbs, km, mir,
+	cols#80, it#8, lines#24,
+	clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, ht=^I, il1=\E[L, is2=\EGc\EGb\EGw, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmir=\E[4l,
+	rmso=\E[m, rmul=\EGau, smir=\E[4h, smso=\E[7m, smul=\EGu,
+masscomp1|masscomp large screen version 1,
+	cols#104, lines#36, use=masscomp,
+masscomp2|masscomp large screen version 2,
+	cols#64, lines#21, use=masscomp,
+
+#### OSF Unix
+#
+
+# OSF/1 1.1 Snapshot 2
+pmcons|pmconsole|PMAX console,
+	am,
+	cols#128, lines#57,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ht=^I,
+	ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+
+#### Other consoles
+# The following is a version of the ibm-pc entry distributed with PC/IX,
+# (Interactive Systems' System 3 for the Big Blue), modified by Richard
+# McIntosh at UCB/CSM.  The :pt: and :uc: have been removed from the original,
+# (the former is untrue, and the latter failed under UCB/man); standout and
+# underline modes have been added.  Note: this entry describes the "native"
+# capabilities of the PC monochrome display, without ANY emulation; most
+# communications packages (but NOT PC/IX connect) do some kind of emulation.
+pcix|PC/IX console,
+	am, bw, eo,
+	cols#80, lines#24,
+	clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m,
+	smul=\E[4m,
+
+# (ibmpcx: this entry used to be known as ibmx.
+# It formerly included the following extension capabilities:
+#	:GC=b:GL=v:GR=t:RT=^J:\
+#	:GH=\E[196g:GV=\E[179g:\
+#	:GU=\E[193g:GD=\E[194g:\
+#	:G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\
+#	:CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\
+#	:WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\
+# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate
+# ":kh=\E[Y:".  Added IBM-PC forms characters and highlights, they match
+# what was there before. -- esr)
+ibmpcx|xenix|ibmx|IBM PC xenix console display,
+	OTbs, am, msgr,
+	cols#80, lines#25,
+	clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d,
+	kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e,
+	kpp=\E[Z, use=klone+acs, use=klone+sgr8,
+
+######## OTHER OBSOLETE TYPES
+#
+# These terminals are *long* dead -- these entries are retained for
+# historical interest only.
+#
+
+#### Obsolete non-ANSI software emulations
+#
+
+# CTRM terminal emulator
+# 1. underlining is not allowed with colors: first, is is simulated by
+# black on white, second, it disables background color manipulations.
+# 2. BLINKING, REVERSE and BOLD are allowed with colors,
+# so we have to save their status in the static registers A, B and H
+# respectively, to be able to restore them when color changes
+# (because any color change turns off ALL attributes)
+# 3. <bold> and <rev> sequences alternate modes,
+# rather than simply  entering them.  Thus we have to check the
+# static register B and H to determine the status, before sending the
+# escape sequence.
+# 4. <sgr0> now must set the status of all 3 register (A,B,H) to zero
+# and then reset colors
+# 5. implementation of the protect mode would badly penalize the performance.
+# we would have to use \E&bn sequence to turn off colors (as well as all
+# other attributes), and keep the status of protect mode in yet another
+# static variable.  If someone really needs this mode, they would have to
+# create another terminfo entry.
+# 6. original color-pair is white on black.
+# store the information about colors into static registers
+# 7. set foreground color.  it performs the following steps.
+#   1) turn off all attributes
+#   2) turn on the background and video attributes that have been turned
+#      on before (this information is stored in static registers X,Y,Z,A,B,H,D).
+#   3) turn on foreground attributes
+#   4) store information about foreground into U,V,W static registers
+# 8. turn on background: similar to turn on foreground above
+ctrm|C terminal emulator,
+	am, bce, xon,
+	colors#8, cols#80, lh#0, lines#24, lm#0, lw#0, ncv#2, nlab#0,
+	pairs#63, pb#19200, vt#6,
+	bel=^G, blink=\E&dA%{1}%PA,
+	bold=%?%gH%{0}%=%t\E&dH%{1}%PH%;, cbt=\Ei,
+	clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\E&a%p2%dc%p1%dY, cuu1=\EA, dch1=\EP$<2>, dl1=\EM,
+	ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=\011$<2>, hts=\E1,
+	il1=\EL, ind=^J, ip=$<2>, is2=\E&jA\r, kbs=^H, kcub1=\Eu\r,
+	kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1=\Ep\r,
+	kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, kf6=\Eu\r,
+	kf7=\Ev\r, kf8=\Ew\r, khome=\Ep\r,
+	op=\E&bn\E&bB\E&bG\E&bR%{0}%PX%{0}%PY%{0}%PZ%{1}%PW%{1}%PV%{1}%PU,
+	rev=%?%gB%{0}%=%t\E&dB%{1}%PB%;, rmir=\ER, rmkx=\E&jA,
+	setb=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gU%t\E&bR%;%?%gV%t\E&bG%;%?%gW%t\E&bB%;%?%p1%{1}%&%t\E&bb%{1}%e%{0}%;%PZ%?%p1%{2}%&%t\E&bg%{1}%e%{0}%;%PY%?%p1%{4}%&%t\E&br%{1}%e%{0}%;%PX,
+	setf=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gX%t\E&br%;%?%gY%t\E&bg%;%?%gZ%t\E&bb%;%?%p1%{1}%&%t\E&bB%{1}%e%{0}%;%PW%?%p1%{2}%&%t\E&bG%{1}%e%{0}%;%PV%?%p1%{4}%&%t\E&bR%{1}%e%{0}%;%PU,
+	sgr=\E&d@%{0}%PA%{0}%PB%{0}%PD%{0}%PH%?%p1%p3%p5%|%|%t\E&dB%{1}%PB%;%?%p4%t\E&dA%{1}%PA%;%?%p6%t\E&dH%{1}%PH%;%?%p2%t\E&dD%;,
+	sgr0=\E&d@%{0}%PA%{0}%PB%{0}%PH, smir=\EQ, smkx=\E&jB,
+	smso=\E&dD, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+
+# gs6300 - can't use blue foreground, it clashes with underline;
+# it's simulated with cyan
+# Bug: The <op> capability probably resets attributes.
+# (gs6300: commented out <rmln> (no <smln>) --esr)
+gs6300|emots|AT&T PC6300 with EMOTS terminal emulator,
+	am, bce, msgr, xon,
+	colors#8, cols#80, it#8, lines#24, pairs#63,
+	acsc=++\,\,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
+	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
+	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+	is2=\E[m, kbs=^H, kcbt=^R^I, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf1=\E[0s, kf2=\E[24s, kf3=\E[1s,
+	kf4=\E[23s, kf5=\E[2s, kf6=\E[22s, kf7=\E[3s, kf8=\E[21s,
+	khome=\E[H, mc4=\E[4i, mc5=\E[5i, op=\E[?;m, rev=\E[7m,
+	ri=\E[L, rmacs=\E[10m, rs1=\Ec, setb=\E[?;%p1%dm,
+	setf=\E[?%?%p1%{0}%=%t0%e%p1%{1}%=%t2%e%p1%{1}%-%d%;m,
+	sgr0=\E[m\E[10m, smacs=\E[11m, smso=\E[1m, smul=\E[4m,
+
+# From: <earle@smeagol.UUCP> 29 Oct 85 05:40:18 GMT
+# MS-Kermit with Heath-19 emulation mode enabled
+# (h19k: changed ":pt@:" to ":it@"
+h19k|h19kermit|heathkit emulation provided by Kermit (no auto margin),
+	am@, da, db, xt,
+	it@,
+	ht@, use=h19-u,
+
+# Apple Macintosh with Versaterm, a terminal emulator distributed by Synergy
+# Software (formerly Peripherals Computers & Supplies, Inc) of
+# 2457 Perkiomen Ave., Reading, PA 19606, 1-800-876-8376.  They can
+# also be reached at support@synergy.com.
+versaterm|versaterm vt100 emulator for the macintosh,
+	am, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=^J, cuf1=\E[C$<2/>,
+	cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>,
+	dch1=\E[1P$<7/>, dl1=\E[1M$<9/>, ed=\E[J$<50/>,
+	el=\E[K$<3/>, home=\E[H, ht=^I, ich1=\E[1@$<7/>,
+	il1=\E[1L$<9/>, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>,
+	rf=/system/share/tabset/vt100, ri=\EM$<5/>,
+	rmkx=\E>\E[?1l, rmso=\E[m$<2/>, rmul=\E[m$<2/>, rs1=\E>,
+	sc=\E7, sgr0=\E[m$<2/>, smkx=\E=\E[?1h, smso=\E[7m$<2/>,
+	smul=\E[4m$<2/>,
+
+# From: Rick Thomas <ihnp4!btlunix!rbt>
+# (xtalk: I added <rmam>/<smam> based on the init string.
+xtalk|IBM PC with xtalk communication program (versions up to 3.4),
+	am, mir, msgr, xon,
+	cols#80, it#8, lines#24, vt#3, xmc#1,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, clear=\E[H\E[J$<50>, cr=^M, cub=\E[%p1%dD, cub1=^H,
+	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+	cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>,
+	el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH,
+	il1=\E[L$<99>, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m\s,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
+	smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s,
+	tbc=\E[3g, use=vt100+fnkeys,
+
+# The official PC terminal emulator program of the AT&T Product Centers.
+# Note - insert mode commented out - doesn't seem to work on AT&T PC.
+simterm|attpc running simterm,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\ER,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, ind=^J, rmcup=\EVE,
+	rmso=\E&d@, sgr0=\E&d@, smcup=\EVS, smso=\E&dB,
+
+#### Daisy wheel printers
+#
+# This section collects Diablo, DTC, Xerox, Qume, and other daisy
+# wheel terminals.  These are now largely obsolete.
+#
+
+# (diablo1620: removed <if=/system/share/tabset/xerox1720>, no such file -- esr)
+diablo1620|diablo1720|diablo450|ipsi|diablo 1620,
+	hc, os,
+	cols#132, it#8,
+	cub1=^H, cud1=^J, cuu1=\E^J, hd=\ED, hpa=\E\011%i%p1%c,
+	ht=^I, hts=\E1, hu=\EU, kbs=^H, tbc=\E2,
+diablo1620-m8|diablo1640-m8|diablo 1620 w/8 column left margin,
+	cols#124,
+	is2=\r        \E9, use=diablo1620,
+# (diablo1640: removed <if=/system/share/tabset/xerox1730>, no such file -- esr)
+diablo1640|diablo1730|diablo1740|diablo630|x1700|diablo|xerox|diablo 1640,
+	bel=^G, rmso=\E&, rmul=\ER, smso=\EW, smul=\EE,
+	use=diablo1620,
+# (diablo1640-lm: removed <if=/system/share/tabset/xerox1730-lm>, no such
+# file -- esr)
+diablo1640-lm|diablo-lm|xerox-lm|diablo 1640 with indented left margin,
+	cols#124,
+	rmso=\E&, rmul=\ER, smso=\EW, smul=\EE, use=diablo1620,
+diablo1740-lm|630-lm|1730-lm|x1700-lm|diablo 1740 printer,
+	use=diablo1640-lm,
+# DTC 382 with VDU.  Has no <ed> so we fake it with <el>.  Standout
+# <smso=^P\s\002^PF> works but won't go away without dynamite <rmso=^P\s\0>.
+# The terminal has tabs, but I'm getting tired of fighting the braindamage.
+# If no tab is set or the terminal's in a bad mood, it glitches the screen
+# around all of memory.  Note that return puts a blank ("a return character")
+# in the space the cursor was at, so we use ^P return (and thus ^P newline for
+# newline).  Note also that if you turn off :pt: and let Unix expand tabs,
+# curses won't work (some old BSD versions) because it doesn't clear this bit,
+# and cursor addressing sends a tab for row/column 9.  What a losing terminal!
+# I have been unable to get tabs set in all 96 lines - it always leaves at
+# least one line with no tabs in it, and once you tab through that line,
+# it completely weirds out.
+# (dtc382: change <rmcup> to <smcup> -- it  just does a clear --esr)
+dtc382|DTC 382,
+	am, da, db, xhp,
+	cols#80, lines#24, lm#96,
+	bel=^G, clear=\020\035$<20>, cnorm=^Pb, cr=^P^M, cub1=^H,
+	cuf1=^PR, cup=\020\021%p2%c%p1%c, cuu1=^P^L, cvvis=^PB,
+	dch1=^X, dl1=^P^S, ed=\020\025\020\023\020\023, el=^P^U,
+	home=^P^R, il1=^P^Z, ind=^J, pad=\177, rmcup=, rmir=^Pi,
+	rmul=^P \0, smcup=\020\035$<20>, smir=^PI, smul=^P ^P,
+dtc300s|DTC 300s,
+	hc, os,
+	cols#132,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, ff=^L, hd=\Eh, ht=^I,
+	hts=\E1, hu=\EH, ind=^J, kbs=^H, tbc=\E3,
+gsi|mystery gsi terminal,
+	hc, os,
+	cols#132,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, hd=\Eh, ht=^I, hu=\EH,
+	ind=^J,
+aj830|aj832|aj|anderson jacobson,
+	hc, os,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E7, hd=\E9, hu=\E8,
+	ind=^J,
+# From: Chris Torek <chris@gyre.umd.edu> Thu, 7 Nov 85 18:21:58 EST
+aj510|Anderson-Jacobson model 510,
+	am, mir,
+	cols#80, lines#24,
+	clear=^L, cub1=^H, cuf1=\EX,
+	cup=\E#%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EY,
+	dch1=\E'D$<.1*>, dl1=\E&D$<2*/>, ed=\E'P, el=\E'L, ich1=,
+	il1=\E&I$<2*/>, ip=$<.1*/>, kcub1=\EW, kcud1=\EZ,
+	kcuf1=\EX, kcuu1=\EY, pad=\177, rmcup=\E"N, rmir=\E'J,
+	rmso=\E"I, rmul=\E"U, smcup=\E"N, smir=\E'I, smso=\E"I,
+	smul=\E"U,
+# From: <cbosg!ucbvax!pur-ee!cincy!chris> Thu Aug 20 09:09:18 1981
+# This is incomplete, but it's a start.
+nec5520|nec|spinwriter|nec 5520,
+	hc, os,
+	cols#132, it#8,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E9, ff=^L,
+	hd=\E]s\n\E]W, ht=^I, hts=\E1, hu=\E]s\E9\E]W, ind=^J,
+	kbs=^H, tbc=\E3,
+qume5|qume|Qume Sprint 5,
+	hc, os,
+	cols#80, it#8,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, ff=^L, hd=\Eh, ht=^I,
+	hts=\E1, hu=\EH, ind=^J, kbs=^H, tbc=\E3,
+# I suspect the xerox 1720 is the same as the diablo 1620.
+xerox1720|x1720|x1750|xerox 1720,
+	hc, os,
+	cols#132, it#8,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ht=^I, hts=\E1, ind=^J,
+	tbc=\E2,
+
+#### Miscellaneous obsolete terminals, manufacturers unknown
+#
+# If you have any information about these (like, a manufacturer's name,
+# and a date on the serial-number plate) please send it!
+
+cad68-3|cgc3|cad68 basic monitor transparent mode size 3 chars,
+	OTbs, am,
+	cols#73, lines#36,
+	clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^,
+cad68-2|cgc2|cad68 basic monitor transparent mode size 2 chars,
+	OTbs, am,
+	cols#85, lines#39,
+	clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^, kcub1=\E3,
+	kcud1=\E2, kcuf1=\E4, kcuu1=\E1, kf1=\E5, kf2=\E6, kf3=\E7,
+	kf4=\E8, rmso=\Em^C, smso=\Em^L,
+cops10|cops|cops-10|cops 10,
+	am, bw,
+	cols#80, lines#24,
+	bel=^G, clear=\030$<30/>, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
+	cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^W, el=^V,
+	ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
+	khome=^Y,
+# (d132: removed duplicate :ic=\E5:,
+# merged in capabilities from a BRL entry -- esr)
+d132|datagraphix|datagraphix 132a,
+	da, db, in,
+	cols#80, lines#30,
+	bel=^G, clear=^L, cnorm=\Em\En, cr=^M, cub1=^H, cud1=^J,
+	cuf1=\EL, cup=\E8%i%p1%3d%p2%3d, cuu1=\EK, cvvis=\Ex,
+	dch1=\E6, home=\ET, ht=^I, ich1=\E5, il1=\E3, ind=^J, kbs=^H,
+	kcub1=^H, kcud1=^J, nel=^M^J, ri=\Ew,
+# The d800 was an early portable terminal from c.1984-85 that looked a lot
+# like the original Compaq `lunchbox' portable (but no handle).  It had a vt220
+# mode (which is what this entry looks like) and several other lesser-known
+# emulations.
+d800|Direct 800/A,
+	OTbs, am, da, db, msgr, xhp,
+	cols#80, it#8, lines#24,
+	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
+	bel=^G, clear=\E[1;1H\E[2J, cnorm=\E[>12h, cr=^M, cub1=^H,
+	cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	cvvis=\E[>12l, ed=\E[J, el=\E[K, ht=^I, ind=\ED, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	ri=\EM, rmacs=\E[m, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smacs=\E[1m, smso=\E[7m, smul=\E[4m,
+digilog|digilog 333,
+	OTbs,
+	cols#80, lines#16,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, cuf1=^I, cuu1=^O, el=^X,
+	home=^N, ind=^J,
+# The DWK was a terminal manufactured in the Soviet Union c.1986
+dwk|dwk-vt|dwk terminal,
+	am,
+	cols#80, it#8, lines#24,
+	acsc=+\^\,Q-S.M0\177`+a\:f'g#h#i#jXkClJmFnNo~qUs_tEuPv\\wKxW~_,
+	bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP,
+	ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EQ, ind=^J, kbs=\177,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\Ee,
+	kf1=\Ef1, kf10=\Ef0, kf2=\Ef2, kf3=\Ef3, kf4=\Ef4, kf5=\Ef5,
+	kf6=\Ef6, kf7=\Ef7, kf8=\Ef8, kf9=\Ef9, kich1=\Ed, knp=\Eh,
+	kpp=\Eg, nel=^M^J, rev=\ET, ri=\ES, rmacs=\EG, rmso=\EX,
+	sgr0=\EX, smacs=\EF, smso=\ET,
+env230|envision230|envision 230 graphics terminal,
+	xenl@,
+	enacs@, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rmacs@,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>,
+	sgr0=\E[0m$<2>, smacs@, use=vt100,
+# These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic
+# coupler attached, the whole rig fitting in a suitcase and more or less
+# portable.  Hot stuff for c.1977 :-) -- esr
+ep48|ep4080|execuport 4080,
+	OTbs, am, os,
+	cols#80,
+	bel=^G, cr=^M, cub1=^H, cud1=^J, hd=^\, hu=^^, ind=^J,
+ep40|ep4000|execuport 4000,
+	cols#136, use=ep4080,
+# Adam Thompson <athompso@pangea.ca> tells us:
+# Informer series - these are all portable units, resembling older
+# automatic bread-baking machines.  The terminal looks like a `clamshell'
+# design, but isn't.  The structure is similar to the Direct terminals,
+# but only half the width.  The entire unit is only about 10" wide.
+# It features an 8" screen (6" or 7" if you have color!), and an 9"x6"
+# keyboard.  All the keys are crammed together, much like some laptop
+# PCs today, but perhaps less well organized...all these units have a
+# bewildering array of plugs on the back, including a built-in modem.
+# The 305 was a color version of the 304; the 306 and 307 were mono and
+# color terminals built for IBM bisync protocols.
+# From: Paul Leondis <unllab@amber.berkeley.edu>
+ifmr|Informer D304,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\EZ, cub1=^H, cud1=^J, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\E\\,
+	ed=\E/, el=\EQ, home=\EH, ich1=\E[, ri=\En, rmso=\EK, sgr0=\EK,
+	smso=\EJ,
+# Entry largely based on wy60 and has the features of wy60ak.
+opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys,
+	am, bw, hs, km, mir, msgr, ul, xon,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E*$<100>, cnorm=\E`1, cr=^M,
+	cub1=^H, cud1=^J, cuf1=^L, cup=\Ea%i%p1%dR%p2%dC, cuu1=^K,
+	dch1=\EW$<11>, dim=\EGp, dl1=\ER$<5>, dsl=\Ez(\r,
+	ed=\EY$<100>, el=\ET, fsl=^M, home=\036$<2>, ht=\011$<5>,
+	hts=\E1, if=/system/share/tabset/std, il1=\EE$<4>, ind=^J,
+	ip=$<3>,
+	is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Ed/\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177\Ezz`\E[F\177\EA1*\EZH12,
+	kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kend=\E[F, kent=\E7, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er,
+	mc0=\EP, mc4=^T, mc5=^R, nel=\r\n$<3>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>,
+	rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11,
+	rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>,
+	rs3=\EwG\Ee($<150>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/,
+	smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177,
+	smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(,
+	uc=\EG8\EG0, use=adm+sgr,
+teletec|Teletec Datascreen,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^_, cuu1=^K,
+	home=^^, ind=^J,
+# From: Mark Dornfeld <romwa@ucbvax.berkeley.edu>
+# This description is for the LANPAR Technologies VISION 3220
+# terminal from 1984/85.  The function key definitions k0-k5 represent the
+# edit keypad: FIND, INSERT HERE, REMOVE, SELECT, PREV SCREEN,
+# NEXT SCREEN. The key definitions k6-k9 represent the PF1 to PF4 keys.
+#
+# Kenneth Randell <kenr@datametrics.com> writes on 31 Dec 1998:
+# I had a couple of scopes (3221) like this once where I used to work, around
+# the 1987 time frame if memory serves me correctly.  These scopes were made
+# by an outfit called LANPAR Technologies, and were meant to me DEC VT 220
+# compatible.  The 3220 was a plain text terminal like the VT-220, the 3221
+# was a like the VT-240 (monochrome with Regis + Sixel graphics), and the 3222
+# was like the VT-241 (color with Regis + Sixel Graphics).  These terminals
+# (3221) cost about $1500 each, and one was always broken -- had to be sent
+# back to the shop for repairs.
+# The only real advantage these scopes had over the VT-240's were:
+# 1) They were faster in the Regis display, or at least the ones I did
+# 2) They had a handy debugging feature where you could split-screen the
+# scope, the graphics would appear on the top, and the REGIS commands would
+# appear on the bottom.  I don't remember the VT-240s being able to do that.
+# I would swear that LANPAR Technologies was in MA someplace, but since I
+# don't work at the same place anymore, and those terminals and manuals were
+# long since junked, I cannot be any more sure than that.
+#
+# (v3220: removed obsolete ":kn#10:",
+# I added <rmam>/<smam> based on the init string -- esr)
+v3220|LANPAR Vision II model 3220/3221/3222,
+	OTbs, am, mir, xenl,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[J, cub1=^H, cud1=\E[B, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, ht=^I, il1=\E[L,
+	is2=\E>\E[?3l\E[?7h\E[?8h\E[p, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf0=\E[1~, kf1=\E[2~, kf2=\E[3~,
+	kf3=\E[4~, kf4=\E[5~, kf5=\E[6~, kf6=\E[OP, kf7=\E[OQ,
+	kf8=\E[OR, kf9=\E[OS, khome=\E[H, ri=\EM, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smam=\E[?7h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m,
+######## ICH/ICH1 VERSUS RMIR/SMIR
+#
+# Some non-curses applications get confused if both ich/ich1 and rmir/smir
+# are present; the symptom is doubled characters in an update using insert.
+# These applications are technically correct; in both 4.3BSD termcap and
+# terminfo, you're not actually supposed to specify both ich/ich1 and rmir/smir
+# unless the terminal needs both.  To my knowledge, no terminal still in this
+# file requires both other than the very obsolete dm2500.
+#
+# For ncurses-based applications this is not a problem, as ncurses uses
+# one or the other as appropriate but never mixes the two.  Therefore we
+# have not corrected entries like `linux' and `xterm' that specify both.
+# If you see doubled characters from these, use the linux-nic and xterm-nic
+# entries that suppress ich/ich1.  And upgrade to ncurses!
+#
+
+######## VT100/ANSI/ISO 6429/ECMA-48/PC-TERM TERMINAL STANDARDS
+#
+# ANSI X3.64 has been withdrawn and replaced by ECMA-48.  The ISO 6429 and
+# ECMA-48 standards are said to be almost identical, but are not the same
+# as X3.64 (though for practical purposes they are close supersets of it).
+#
+# You can obtain ECMA-48 for free by sending email to helpdesk@ecma.ch
+# requesting the standard(s) you want (i.e. ECMA-48, "Control Functions for
+# Coded Character Sets"), include your snail-mail address, and you should
+# receive the document in due course.  Don't expect an email acknowledgement.
+#
+# Related standards include "X3.4-1977: American National Standard Code for
+# Information Interchange" (the ASCII standard) and "X3.41.1974:
+# Code-Extension Techniques for Use with the 7-Bit Coded Character Set of
+# American National Standard for Information Interchange."  I believe (but
+# am not certain) that these are effectively identical to ECMA-6 and ECMA-35
+# respectively.
+#
+
+#### VT100/ANSI/ECMA-48
+#
+# ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals
+# and ECMA-48 Control Functions for Coded Character Sets.
+#
+# Much of the content of this comment is adapted from a table prepared by
+# Richard Shuford, based on a 1984 Byte article.  Terminfo correspondences,
+# discussion of some terminfo-related issues, and updates to capture ECMA-48
+# have been added.  Control functions described in ECMA-48 only are tagged
+# with * after their names.
+#
+# The table is a complete list of the defined ANSI X3.64/ECMA-48 control
+# sequences.  In the main table, \E stands for an escape (\033) character,
+# SPC for space.  Pn stands for a single numeric parameter to be inserted
+# in decimal ASCII.  Ps stands for a list of such parameters separated by
+# semicolons.  Parameter meanings for most parametrized sequences are
+# decribed in the notes.
+#
+# Sequence     Sequence                             Parameter   or
+# Mnemonic     Name              Sequence           Value      Mode   terminfo
+# -----------------------------------------------------------------------------
+# APC  Applicatn Program Command \E _                -         Delim  -
+# BEL  Bell *                    ^G                  -         -      bel
+# BPH  Break Permitted Here *    \E B                -         *      -
+# BS   Backpace *                ^H                  -         EF     -
+# CAN  Cancel *                  ^X                  -         -      -   (A)
+# CBT  Cursor Backward Tab       \E [ Pn Z           1         eF     cbt
+# CCH  Cancel Previous Character \E T                -         -      -
+# CHA  Cursor Horizntal Absolute \E [ Pn G           1         eF     hpa (B)
+# CHT  Cursor Horizontal Tab     \E [ Pn I           1         eF     tab (C)
+# CMD  Coding Method Delimiter * \E
+# CNL  Cursor Next Line          \E [ Pn E           1         eF     nel (D)
+# CPL  Cursor Preceding Line     \E [ Pn F           1         eF     -
+# CPR  Cursor Position Report    \E [ Pn ; Pn R      1, 1      -      -   (E)
+# CSI  Control Sequence Intro    \E [                -         Intro  -
+# CTC  Cursor Tabulation Control \E [ Ps W           0         eF     -   (F)
+# CUB  Cursor Backward           \E [ Pn D           1         eF     cub
+# CUD  Cursor Down               \E [ Pn B           1         eF     cud
+# CUF  Cursor Forward            \E [ Pn C           1         eF     cuf
+# CUP  Cursor Position           \E [ Pn ; Pn H      1, 1      eF     cup (G)
+# CUU  Cursor Up                 \E [ Pn A           1         eF     cuu
+# CVT  Cursor Vertical Tab       \E [ Pn Y           -         eF     -   (H)
+# DA   Device Attributes         \E [ Pn c           0         -      -
+# DAQ  Define Area Qualification \E [ Ps o           0         -      -
+# DCH  Delete Character          \E [ Pn P           1         eF     dch
+# DCS  Device Control String     \E P                -         Delim  -
+# DL   Delete Line               \E [ Pn M           1         eF     dl
+# DLE  Data Link Escape *        ^P                  -         -      -
+# DMI  Disable Manual Input      \E \                -         Fs     -
+# DSR  Device Status Report      \E [ Ps n           0         -      -   (I)
+# DTA  Dimension Text Area *     \E [ Pn ; Pn SPC T  -         PC     -
+# EA   Erase in Area             \E [ Ps O           0         eF     -   (J)
+# ECH  Erase Character           \E [ Pn X           1         eF     ech
+# ED   Erase in Display          \E [ Ps J           0         eF     ed  (J)
+# EF   Erase in Field            \E [ Ps N           0         eF     -
+# EL   Erase in Line             \E [ Ps K           0         eF     el  (J)
+# EM   End of Medium *           ^Y                  -         -      -
+# EMI  Enable Manual Input       \E b                          Fs     -
+# ENQ  Enquire                   ^E                  -         -      -
+# EOT  End Of Transmission       ^D                  -         *      -
+# EPA  End of Protected Area     \E W                -         -      -   (K)
+# ESA  End of Selected Area      \E G                -         -      -
+# ESC  Escape                    ^[                  -         -      -
+# ETB  End Transmission Block    ^W                  -         -      -
+# ETX  End of Text               ^C                  -         -      -
+# FF   Form Feed                 ^L                  -         -      -
+# FNK  Function Key *            \E [ Pn SPC W       -         -      -
+# GCC  Graphic Char Combination* \E [ Pn ; Pn SPC B  -         -      -
+# FNT  Font Selection            \E [ Pn ; Pn SPC D  0, 0      FE     -
+# GSM  Graphic Size Modify       \E [ Pn ; Pn SPC B  100, 100  FE     -   (L)
+# GSS  Graphic Size Selection    \E [ Pn SPC C       none      FE     -
+# HPA  Horz Position Absolute    \E [ Pn `           1         FE     -   (B)
+# HPB  Char Position Backward    \E [ j              1         FE     -
+# HPR  Horz Position Relative    \E [ Pn a           1         FE     -   (M)
+# HT   Horizontal Tab *          ^I                  -         FE     -   (N)
+# HTJ  Horz Tab w/Justification  \E I                -         FE     -
+# HTS  Horizontal Tab Set        \E H                -         FE     hts
+# HVP  Horz & Vertical Position  \E [ Pn ; Pn f      1, 1      FE     -   (G)
+# ICH  Insert Character          \E [ Pn @           1         eF     ich
+# IDCS ID Device Control String  \E [ SPC O          -         *      -
+# IGS  ID Graphic Subrepertoire  \E [ SPC M          -         *      -
+# IL   Insert Line               \E [ Pn L           1         eF     il
+# IND  Index                     \E D                -         FE     -
+# INT  Interrupt                 \E a                -         Fs     -
+# JFY  Justify                   \E [ Ps SPC F       0         FE     -
+# IS1  Info Separator #1 *       ^_                  -         *      -
+# IS2  Info Separator #1 *       ^^                  -         *      -
+# IS3  Info Separator #1 *       ^]                  -         *      -
+# IS4  Info Separator #1 *       ^\                  -         *      -
+# LF   Line Feed                 ^J                  -         -      -
+# LS1R Locking Shift Right 1 *   \E ~                -         -      -
+# LS2  Locking Shift 2 *         \E n                -         -      -
+# LS2R Locking Shift Right 2 *   \E }                -         -      -
+# LS3  Locking Shift 3 *         \E o                -         -      -
+# LS3R Locking Shift Right 3 *   \E |                -         -      -
+# MC   Media Copy                \E [ Ps i           0         -      -   (S)
+# MW   Message Waiting           \E U                -         -      -
+# NAK  Negative Acknowledge *    ^U                  -         *      -
+# NBH  No Break Here *           \E C                -         -      -
+# NEL  Next Line                 \E E                -         FE     nel (D)
+# NP   Next Page                 \E [ Pn U           1         eF     -
+# NUL  Null *                    ^@                  -         -      -
+# OSC  Operating System Command  \E ]                -         Delim  -
+# PEC  Pres. Expand/Contract *   \E Pn SPC Z         0         -      -
+# PFS  Page Format Selection *   \E Pn SPC J         0         -      -
+# PLD  Partial Line Down         \E K                -         FE     -   (T)
+# PLU  Partial Line Up           \E L                -         FE     -   (U)
+# PM   Privacy Message           \E ^                -         Delim  -
+# PP   Preceding Page            \E [ Pn V           1         eF     -
+# PPA  Page Position Absolute *  \E [ Pn SPC P       1         FE     -
+# PPB  Page Position Backward *  \E [ Pn SPC R       1         FE     -
+# PPR  Page Position Forward *   \E [ Pn SPC Q       1         FE     -
+# PTX  Parallel Texts *          \E [ \              -         -      -
+# PU1  Private Use 1             \E Q                -         -      -
+# PU2  Private Use 2             \E R                -         -      -
+# QUAD Typographic Quadding      \E [ Ps SPC H       0         FE     -
+# REP  Repeat Char or Control    \E [ Pn b           1         -      rep
+# RI   Reverse Index             \E M                -         FE     -   (V)
+# RIS  Reset to Initial State    \E c                -         Fs     -
+# RM   Reset Mode *              \E [ Ps l           -         -      -   (W)
+# SACS Set Add. Char. Sep. *     \E [ Pn SPC /       0         -      -
+# SAPV Sel. Alt. Present. Var. * \E [ Ps SPC ]       0         -      -   (X)
+# SCI  Single-Char Introducer    \E Z                -         -      -
+# SCO  Sel. Char. Orientation *  \E [ Pn ; Pn SPC k  -         -      -
+# SCS  Set Char. Spacing *       \E [ Pn SPC g       -         -      -
+# SD   Scroll Down               \E [ Pn T           1         eF     rin
+# SDS  Start Directed String *   \E [ Pn ]           1         -      -
+# SEE  Select Editing Extent     \E [ Ps Q           0         -      -   (Y)
+# SEF  Sheet Eject & Feed *      \E [ Ps ; Ps SPC Y  0,0       -      -
+# SGR  Select Graphic Rendition  \E [ Ps m           0         FE     sgr (O)
+# SHS  Select Char. Spacing *    \E [ Ps SPC K       0         -      -
+# SI   Shift In                  ^O                  -         -      -   (P)
+# SIMD Sel. Imp. Move Direct. *  \E [ Ps ^           -         -      -
+# SL   Scroll Left               \E [ Pn SPC @       1         eF     -
+# SLH  Set Line Home *           \E [ Pn SPC U       -         -      -
+# SLL  Set Line Limit *          \E [ Pn SPC V       -         -      -
+# SLS  Set Line Spacing *        \E [ Pn SPC h       -         -      -
+# SM   Select Mode               \E [ Ps h           none      -      -   (W)
+# SO   Shift Out                 ^N                  -         -      -   (Q)
+# SOH  Start Of Heading *        ^A                  -         -      -
+# SOS  Start of String *         \E X                -         -      -
+# SPA  Start of Protected Area   \E V                -         -      -   (Z)
+# SPD  Select Pres. Direction *  \E [ Ps ; Ps SPC S  0,0       -      -
+# SPH  Set Page Home *           \E [ Ps SPC G       -         -      -
+# SPI  Spacing Increment         \E [ Pn ; Pn SPC G  none      FE     -
+# SPL  Set Page Limit *          \E [ Ps SPC j       -         -      -
+# SPQR Set Pr. Qual. & Rapid. *  \E [ Ps SPC X       0         -      -
+# SR   Scroll Right              \E [ Pn SPC A       1         eF     -
+# SRCS Set Reduced Char. Sep. *  \E [ Pn SPC f       0         -      -
+# SRS  Start Reversed String *   \E [ Ps [           0         -      -
+# SSA  Start of Selected Area    \E F                -         -      -
+# SSU  Select Size Unit *        \E [ Pn SPC I       0         -      -
+# SSW  Set Space Width *         \E [ Pn SPC [       none      -      -
+# SS2  Single Shift 2 (G2 set)   \E N                -         Intro  -
+# SS3  Single Shift 3 (G3 set)   \E O                -         Intro  -
+# ST   String Terminator         \E \                -         Delim  -
+# STAB Selective Tabulation *    \E [ Pn SPC ^       -         -      -
+# STS  Set Transmit State        \E S                -         -      -
+# STX  Start pf Text *           ^B                  -         -      -
+# SU   Scroll Up                 \E [ Pn S           1         eF     indn
+# SUB  Substitute *              ^Z                  -         -      -
+# SVS  Select Line Spacing *     \E [ Pn SPC \       1         -      -
+# SYN  Synchronous Idle *        ^F                  -         -      -
+# TAC  Tabul. Aligned Centered * \E [ Pn SPC b       -         -      -
+# TALE Tabul. Al. Leading Edge * \E [ Pn SPC a       -         -      -
+# TATE Tabul. Al. Trailing Edge* \E [ Pn SPC `       -         -      -
+# TBC  Tab Clear                 \E [ Ps g           0         FE     tbc
+# TCC  Tabul. Centered on Char * \E [ Pn SPC c       -         -      -
+# TSR  Tabulation Stop Remove  * \E [ Pn SPC d       -         FE     -
+# TSS  Thin Space Specification  \E [ Pn SC E        none      FE     -
+# VPA  Vert. Position Absolute   \E [ Pn d           1         FE     vpa
+# VPB  Line Position Backward *  \E [ Pn k           1         FE     -
+# VPR  Vert. Position Relative   \E [ Pn e           1         FE     -   (R)
+# VT   Vertical Tabulation *     ^K                  -         FE     -
+# VTS  Vertical Tabulation Set   \E J                -         FE     -
+#
+# ---------------------------------------------------------------------------
+#
+# Notes:
+#
+# Some control characters are listed in the ECMA-48 standard without
+# being assigned functions relevant to terminal control there (they
+# referred to other standards such as ISO 1745 or ECMA-35).  They are listed
+# here anyway for completeness.
+#
+# (A) ECMA-48 calls this "CancelCharacter" but retains the CCH abbreviation.
+#
+# (B) There seems to be some confusion abroad between CHA and HPA.  Most
+# `ANSI' terminals accept the CHA sequence, not the HPA. but terminfo calls
+# the capability (hpa).  ECMA-48 calls this "Cursor Character Absolute" but
+# preserved the CHA abbreviation.
+#
+# (C) CHT corresponds to terminfo (tab).  Usually it has the value ^I.
+# Occasionally (as on, for example, certain HP terminals) this has the HTJ
+# value.  ECMA-48 calls this "Cursor Forward Tabulation" but preserved the
+# CHT abbreviation.
+#
+# (D) terminfo (nel) is usually \r\n rather than ANSI \EE.
+#
+# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR
+# abbreviation.
+#
+# (F) CTC parameter values: 0 = set char tab, 1 = set line tab, 2 = clear
+# char tab, 3 = clear line tab, 4 = clear all char tabs on current line,
+# 5 = clear all char tabs, 6 = clear all line tabs.
+#
+# (G) CUP and HVP are identical in effect.  Some ANSI.SYS versions accept
+# HVP, but always allow CUP as an alternate.  ECMA-48 calls HVP "Character
+# Position Absolute" but retains the HVP abbreviation.
+#
+# (H) ECMA calls this "Cursor Line Tabulation" but preserves the CVT
+# abbreviation.
+#
+# (I) DSR parameter values: 0 = ready, 1 = busy, 2 = busy, will send DSR
+# later, 3 = malfunction, 4 = malfunction, will send DSR later, 5 = request
+# DSR, 6 = request CPR response.
+#
+# (J) ECMA calls ED "Erase In Page". EA/ED/EL parameters: 0 = clear to end,
+# 1 = clear from beginning, 2 = clear.
+#
+# (K) ECMA calls this "End of Guarded Area" but preserves the EPA abbreviation.
+#
+# (L) The GSM parameters are vertical and horizontal parameters to scale by.
+#
+# (M) Some ANSI.SYS versions accept HPR, but more commonly `ANSI' terminals
+# use CUF for this function and ignore HPR.  ECMA-48 calls this "Character
+# Position Relative" but retains the HPR abbreviation.
+#
+# (N) ECMA-48 calls this "Character Tabulation" but retains the HT
+# abbreviation.
+#
+# (O) SGR parameter values: 0 = default mode (attributes off), 1 = bold,
+# 2 = dim, 3 = italicized, 4 = underlined, 5 = slow blink, 6 = fast blink,
+# 7 = reverse video, 8 = invisible, 9 = crossed-out (marked for deletion),
+# 10 = primary font, 10 + n (n in 1..9) = nth alternative font, 20 = Fraktur,
+# 21 = double underline, 22 = turn off 2, 23 = turn off 3, 24 = turn off 4,
+# 25 = turn off 5, 26 = proportional spacing, 27 = turn off 7, 28 = turn off
+# 8, 29 = turn off 9, 30 = black fg, 31 = red fg, 32 = green fg, 33 = yellow
+# fg, 34 = blue fg, 35 = magenta fg, 36 = cyan fg, 37 = white fg, 38 = set
+# fg color as in CCIT T.416, 39 = set default fg color, 40 = black bg
+# 41 = red bg, 42 = green bg, 43 = yellow bg, 44 = blue bg, 45 = magenta bg,
+# 46 = cyan bg, 47 = white bg, 48 = set bg color as in CCIT T.416, 39 = set
+# default bg color, 50 = turn off 26, 51 = framed, 52 = encircled, 53 =
+# overlined, 54 = turn off 51 & 52, 55 = not overlined, 56-59 = reserved,
+# 61-65 = variable highlights for ideograms.
+#
+# (P) SI is also called LSO, Locking Shift Zero.
+#
+# (Q) SI is also called LS1, Locking Shift One.
+#
+# (R) Some ANSI.SYS versions accept VPR, but more commonly `ANSI' terminals
+# use CUD for this function and ignore VPR.  ECMA calls it `Line Position
+# Absolute' but retains the VPA abbreviation.
+#
+# (S) MC parameters: 0 = start xfer to primary aux device, 1 = start xfer from
+# primary aux device, 2 = start xfer to secondary aux device, 3 = start xfer
+# from secondary aux device, 4 = stop relay to primary aux device, 5 =
+# start relay to primary aux device, 6 = stop relay to secondary aux device,
+# 7 = start relay to secondary aux device.
+#
+# (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD
+# abbreviation.
+#
+# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU
+# abbreviation.
+#
+# (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation.
+#
+# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM),
+# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM),
+# 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM),
+# 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional
+# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM),
+# 10 = Character Editing Mode (HEM), 11 = Positioning Unit Mode (PUM),
+# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM),
+# 14 = Format Effector Transfer Mode (FETM), 15 = Multiple Area Transfer
+# Mode (MATM), 16 = Transfer Termination Mode, 17 = Selected Area Transfer
+# Mode, 18 = Tabulation Stop Mode, 19 = Editing Boundary Mode, 20 = Line Feed
+# New Line Mode (LF/NL), Graphic Rendition Combination Mode (GRCM), 22 =
+# Zero Default Mode (ZDM).  The EBM and LF/NL modes have actually been removed
+# from ECMA-48's 5th edition but are listed here for reference.
+#
+# (X) Select Alternate Presentation Variants is used only for non-Latin
+# alphabets.
+#
+# (Y) "Select Editing Extent" (SEE) was ANSI "Select Edit Extent Mode" (SEM).
+#
+# (Z) ECMA-48 calls this "Start of Guarded Area" but retains the SPA
+# abbreviation.
+#
+# ---------------------------------------------------------------------------
+#
+# Abbreviations:
+#
+# Intro  an Introducer of some kind of defined sequence; the normal 7-bit
+#        X3.64 Control Sequence Introducer is the two characters "Escape ["
+#
+# Delim  a Delimiter
+#
+# x/y    identifies a character by position in the ASCII table (column/row)
+#
+# eF     editor function (see explanation)
+#
+# FE     format effector (see explanation)
+#
+# F      is a Final character in
+#             an Escape sequence (F from 3/0 to 7/14 in the ASCII table)
+#             a control sequence (F from 4/0 to 7/14)
+#
+# Gs     is a graphic character appearing in strings (Gs ranges from
+#        2/0 to 7/14) in the ASCII table
+#
+# Ce     is a control represented as a single bit combination in the C1 set
+#        of controls in an 8-bit character set
+#
+# C0     the familiar set of 7-bit ASCII control characters
+#
+# C1     roughly, the set of control chars available only in 8-bit systems.
+#        This is too complicated to explain fully here, so read Jim Fleming's
+#        article in the February 1983 BYTE, especially pages 214 through 224.
+#
+# Fe     is a Final character of a 2-character Escape sequence that has an
+#        equivalent representation in an 8-bit environment as a Ce-type
+#        (Fe ranges from 4/0 to 5/15)
+#
+# Fs     is a Final character of a 2-character Escape sequence that is
+#        standardized internationally with identical representation in 7-bit
+#        and 8-bit environments and is independent of the currently
+#        designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14)
+#
+# I      is an Intermediate character from 2/0 to 2/15 (inclusive) in the
+#        ASCII table
+#
+# P      is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII
+#        table
+#
+# Pn     is a numeric parameter in a control sequence, a string of zero or
+#        more characters ranging from 3/0 to 3/9 in the ASCII table
+#
+# Ps     is a variable number of selective parameters in a control sequence
+#        with each selective parameter separated from the other by the code
+#        3/11 (which usually represents a semicolon); Ps ranges from
+#        3/0 to 3/9 and includes 3/11
+#
+# *      Not relevant to terminal control, listed for completeness only.
+#
+# Format Effectors versus Editor Functions
+#
+# A format effector specifies how following output is to be displayed.
+# An editor function allows you to modify the display.  Informally
+# format effectors may be destructive; format effectors should not be.
+#
+# For instance, a format effector that moves the "active position" (the
+# cursor or equivalent) one space to the left would be useful when you want to
+# create an overstrike, a compound character made of two standard characters
+# overlaid. Control-H, the Backspace character, is actually supposed to be a
+# format effector, so you can do this. But many systems use it in a
+# nonstandard fashion, as an editor function, deleting the character to the
+# left of the cursor and moving the cursor left. When Control-H is assumed to
+# be an editor function, you cannot predict whether its use will create an
+# overstrike unless you also know whether the output device is in an "insert
+# mode" or an "overwrite mode". When Control-H is used as a format effector,
+# its effect can always be predicted. The familiar characters carriage
+# return, linefeed, formfeed, etc., are defined as format effectors.
+#
+# NOTES ON THE DEC VT100 IMPLEMENTATION
+#
+# Control sequences implemented in the VT100 are as follows:
+#
+#      CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND,
+#      LNM, NEL, RI, RIS, RM, SGR, SM, TBC
+#
+# plus several private DEC commands.
+#
+# Erasing parts of the display (EL and ED) in the VT100 is performed thus:
+#
+#      Erase from cursor to end of line           Esc [ 0 K    or Esc [ K
+#      Erase from beginning of line to cursor     Esc [ 1 K
+#      Erase line containing cursor               Esc [ 2 K
+#      Erase from cursor to end of screen         Esc [ 0 J    or Esc [ J
+#      Erase from beginning of screen to cursor   Esc [ 1 J
+#      Erase entire screen                        Esc [ 2 J
+#
+# Some brain-damaged terminal/emulators respond to Esc [ J as if it were
+# Esc [ 2 J, but this is wrong; the default is 0.
+#
+# The VT100 responds to receiving the DA (Device Attributes) control
+#
+#      Esc [ c    (or Esc [ 0 c)
+#
+# by transmitting the sequence
+#
+#      Esc [ ? l ; Ps c
+#
+# where Ps is a character that describes installed options.
+#
+# The VT100's cursor location can be read with the DSR (Device Status
+# Report) control
+#
+#      Esc [ 6 n
+#
+# The VT100 reports by transmitting the CPR sequence
+#
+#      Esc [ Pl ; Pc R
+#
+# where Pl is the line number and Pc is the column number (in decimal).
+#
+# The specification for the DEC VT100 is document EK-VT100-UG-003.
+
+#### ANSI.SYS
+#
+# Here is a description of the color and attribute controls supported in the
+# the ANSI.SYS driver under MS-DOS.  Most console drivers and ANSI
+# terminal emulators for Intel boxes obey these.  They are a proper subset
+# of the ECMA-48 escapes.
+#
+# 0	all attributes off
+# 1	foreground bright
+# 4	underscore on
+# 5	blink on/background bright (not reliable with brown)
+# 7	reverse-video
+# 8	set blank (non-display)
+# 10	set primary font
+# 11	set first alternate font (on PCs, display ROM characters 1-31)
+# 12	set second alternate font (on PCs, display IBM high-half chars)
+#
+#			Color attribute sets
+# 3n	set foreground color       / 0=black, 1=red,     2=green, 3=brown,
+# 4n	set background color       \ 4=blue,  5=magenta, 6=cyan,  7=white
+# Bright black becomes gray.  Bright brown becomes yellow,
+# These coincide with the prescriptions of the ISO 6429/ECMA-48 standard.
+#
+# * If the 5 attribute is on and you set a background color (40-47) it is
+#   supposed to enable bright background.
+#
+# * Many VGA cards (such as the Paradise and compatibles) do the wrong thing
+#   when you try to set a "bright brown" (yellow) background with attribute
+#   5 (you get a blinking yellow foreground instead).  A few displays
+#   (including the System V console) support an attribute 6 that undoes this
+#   braindamage (this is required by iBCS2).
+#
+# * Some older versions of ANSI.SYS have a bug that causes thems to require
+#   ESC [ Pn k as EL rather than the ANSI ESC [ Pn K.  (This is not ECMA-48
+#   compatible.)
+
+#### Intel Binary Compatibility Standard
+#
+# For comparison, here are the capabilities implied by the Intel Binary
+# Compatibility Standard for UNIX systems (Intel order number 468366-001).
+# These recommendations are optional.  IBCS2 allows the leading escape to
+# be either the 7-bit \E[ or 8-bit \0233 introducer, in accordance with
+# the ANSI X.364/ISO 6429/ECMA-48 standard.  Here are the iBCS2 capabilities
+# (as described in figure 9-3 of the standard).  Those expressed in the ibcs2
+# terminfo entry are followed with the corresponding capability in parens:
+#
+#	CSI <n>k		disable (n=0) or enable (n=1) keyclick
+#	CSI 2h   		lock keyboard
+#	CSI 2i  		send screen as input
+#	CSI 2l  		unlock keyboard
+#	CSI 6m  		enable background color intensity
+#	CSI <0-2>c		reserved
+#	CSI <0-59>m		select graphic rendition
+#	CSI <n>;<m>H	(cup)	cursor to line n and column m
+#	CSI <n>;<m>f		cursor to line n and column m
+#	CSI <n>@	(ich)	insert characters
+#	CSI <n>A	(cuu)	cursor up n lines
+#	CSI <n>B	(cud)	cursor down n lines
+#	CSI <n>C	(cuu)	cursor right n characters
+#	CSI <n>D	(cud)	cursor left n characters
+#	CSI <n>E		cursor down n lines and in first column
+#	CSI <n>F		cursor up n lines and in first column
+#	CSI <n>G	(hpa)	position cursor at column n-1
+#	CSI <n>J	(ed)	erase in display
+#	CSI <n>K	(el)	erase in line
+#	CSI <n>L	(il)	insert line(s)
+#	CSI <n>P	(dch)	delete characters
+#	CSI <n>S	(indn)	scroll up n lines
+#	CSI <n>T	(rin)	scroll down n lines
+#	CSI <n>X	(ech)	erase characters
+#	CSI <n>Z	(cbt)	back up n tab stops
+#	CSI <n>`		cursor to column n on line
+#	CSI <n>a	(cuu)	cursor right n characters
+#	CSI <n>d	(vpa)	cursor to line n
+#	CSI <n>e		cursor down n lines and in first column
+#	CSI <n>g	(cbt)	clear all tabs
+#	CSI <n>z		make virtual terminal n active
+#	CSI ?7h 	(smam)	turn automargin on
+#	CSI ?7l 	(rmam)	turn automargin off
+#	CSI s     		save cursor position
+#	CSI u   		restore cursor position to saved value
+#	CSI =<c>A		set overscan color
+#	CSI =<c>F		set normal foreground color
+#	CSI =<c>G		set normal background color
+#	CSI =<c>H		set reverse foreground color
+#	CSI =<c>I		set reverse foreground color
+#	CSI =<c>J		set graphic foreground color
+#	CSI =<c>K		set graphic foreground color
+#	CSI =<n>g	(dispc) display n from alternate graphics character set
+#	CSI =<p>;<d>B		set bell parameters
+#	CSI =<s>;<e>C		set cursor parameters
+#	CSI =<x>D		enable/disable intensity of background color
+#	CSI =<x>E		set/clear blink vs. bold background
+#	CSI 7     	(sc)	(sc) save cursor position
+#	CSI 8   	(rc)	(rc) restore cursor position to saved value
+#	CSI H		(hts)	(hts) set tab stop
+#	CSI Q<n><string>	define function key string
+#				(string must begin and end with delimiter char)
+#	CSI c   	(clear) clear screen
+#
+# The lack of any specification for attributes in SGR (among other things)
+# makes this a wretchedly weak standard. The table above is literally
+# everything iBSC2 has to say about terminal escape sequences; there is
+# no further discussion of their meaning or how to set the parameters
+# in these sequences at all.
+#
+
+######## NONSTANDARD CAPABILITY TRANSLATIONS USED IN THIS FILE
+#
+# The historical termcap file entries were written primarily in 4.4BSD termcap.
+# The 4.4BSD termcap set was substantially larger than the original 4.1BSD set,
+# with the extension names chosen for compatibility with the termcap names
+# assigned in System V terminfo.  There are some variant extension sets out
+# there.  We try to describe them here.
+#
+#### XENIX extensions:
+#
+# The XENIX extensions include a set of function-key capabilities as follows:
+#
+#       code	XENIX variable name	terminfo name	name clashes?
+#	----	-------------------	-------------	-----------------------
+#	CL	key_char_left
+#	CR	key_char_right
+#	CW	key_change_window			create_window
+#	EN	key_end          	kend
+#	HM	key_home		khome
+#	HP	??
+#	LD	key_delete_line  	kdl1
+#	LF	key_linefeed     			label_off
+#	NU	key_next_unlocked_cell
+#	PD	key_page_down   	knp
+#	PL	??
+#	PN	start_print		mc5
+#	PR	??
+#	PS	stop_print		mc4
+#	PU	key_page_up     	kpp		pulse
+#	RC	key_recalc				remove_clock
+#	RF	key_toggle_ref				req_for_input
+#	RT	key_return      	kent
+#	UP	key_up_arrow           	kcuu1   	parm_up_cursor
+#	WL	key_word_left
+#	WR	key_word_right
+#
+# The XENIX extensions also include the following character-set and highlight
+# capabilities:
+#
+#	XENIX	terminfo	function
+#	-----	--------	------------------------------
+#	GS	smacs		start alternate character set
+#	GE	rmacs		end alternate character set
+#	GG			:as:/:ae: glitch (analogous to :sg:/:ug:)
+#	bo	blink		begin blink (not used in /etc/termcap)
+#	be			end blink (not used in /etc/termcap)
+#	bb			blink glitch  (not used in /etc/termcap)
+#	it	dim		begin dim (not used in /etc/termcap)
+#	ie			end dim (not used in /etc/termcap)
+#	ig			dim glitch  (not used in /etc/termcap)
+#
+# Finally, XENIX also used the following forms-drawing capabilities:
+#
+#	single	double  type             ASCII approximation
+#	------	------	-------------    -------------------
+#	GV	Gv	vertical line             |
+#	GH	Gv	horizontal line       -   _
+#	G1	G5	top right corner       _   |
+#	G2	G6	top left corner       |
+#	G3	G7	bottom left corner         |_
+#	G4	G8	bottom right corner   _|
+#	GD	Gd	down-tick character        T
+#	GL	Gl	left-tick character   -|
+#	GR	Gr	right-tick character       |-
+#	GC	Gc	middle intersection   -|-
+#	GU	Gu	up-tick character          _|_
+#
+# These were invented to take advantage of the IBM PC ROM character set.  One
+# can compose an acsc string from the single-width characters as follows
+#	"j{G4}k{G1}l{G2}m{G3}q{GH}x{GV}t{GR}u{GL}v{GU}w{GD}n{GC}"
+# When translating a termcap file, ncurses tic will do this automatically.
+# The double forms characters don't fit the SVr4 terminfo model.
+#
+#### AT&T Extensions:
+#
+# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
+# nonstandard capabilities.  Its signature is the KM capability, used to name
+# some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
+# set.  Comments in the original, and a little cross-checking with other AT&T
+# documentation, seem to establish that BO=:mr: (start reverse video), DS=:mh:
+# (start dim), XS=:mk: (secure/invisible mode), EE=:me: (end highlights),
+# FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make
+# cursor invisible), and CV=:ve: (make cursor normal).
+#
+#### HP Extensions
+#
+# The HP library (as of mid-1995, their term.h file version 70.1) appears to
+# have the System V capabilities up to SVr1 level.  After that, it supports
+# two nonstandard caps meml and memu corresponding to the old termcap :ml:,
+# :mu: capabilities.  After that, it supports caps plab_norm, label_on,
+# label_off, and key_f11..key_f63 capabilities like SVr4's.  This makes the
+# HP binary format incompatible with SVr4's.
+#
+#### IBM Extensions
+#
+# There is a set of nonstandard terminfos used by IBM's AIX operating system.
+# The AIX terminfo library diverged from SVr1 terminfo, and replaces all
+# capabilities following prtr_non with the following special capabilties:
+# box[12], batt[12], colb[0123456789], colf[0123456789], f[01234567], kbtab,
+# kdo, kcmd, kcpn, kend, khlp, knl, knpn, kppn, kppn, kquit, ksel, kscl, kscr,
+# ktab, kmpf[123456789], apstr, ksf1..ksf10, kf11...kf63, kact, topl, btml,
+# rvert, lvert.   Some of these are identical to XPG4/SVr4 equivalents:
+# kcmd, kend, khlp, and kf11...kf63.  Two others (kbtab and ksel) can be
+# renamed (to kcbt and kslt).  The places in the box[12] capabilities
+# correspond to acsc chars, here is the mapping:
+#
+#	box1[0]  = ACS_ULCORNER
+#	box1[1]  = ACS_HLINE
+#	box1[2]  = ACS_URCORNER
+#	box1[3]  = ACS_VLINE
+#	box1[4]  = ACS_LRCORNER
+#	box1[5]  = ACS_LLCORNER
+#	box1[6]  = ACS_TTEE
+#	box1[7]  = ACS_RTEE
+#	box1[8]  = ACS_BTEE
+#	box1[9]  = ACS_LTEE
+#	box1[10] = ACS_PLUS
+#
+# The box2 characters are the double-line versions of these forms graphics.
+# The AIX binary terminfo format is incompatible with SVr4's.
+#
+#### Iris console extensions:
+#
+# HS is half-intensity start; HE is half-intensity end
+# CT is color terminal type (for Curses & rogue)
+# CP is color change escape sequence
+# CZ are color names (for Curses & rogue)
+#
+# The ncurses tic utility recognizes HS as an alias for mh <dim>.
+#
+#### TC Extensions:
+#
+# There is a set of extended termcaps associated with something
+# called the "Terminal Control" or TC package created by MainStream Systems,
+# Winfield Kansas.  This one also uses GS/GE for as/ae, and also uses
+# CF for civis and CO for cvvis.  Finally, they define a boolean :ct:
+# that flags color terminals.
+#
+######## NCURSES USER-DEFINABLE CAPABILITIES
+#
+# Extensions added after ncurses 5.0 generally use the "-x" option of tic and
+# infocmp to manipulate user-definable capabilities.  Those that are intended
+# for use in either terminfo or termcap use 2-character names.  Extended
+# function keys do not use 2-character names, and are available only with
+# terminfo.
+#
+# As of mid-2012, no other terminfo/termcap implementation than ncurses
+# supports this extension; termcap libraries can as noted above make limited
+# use of the feature.
+#
+# ncurses makes explicit checks for a few user-definable capabilities:  AX, U8,
+# XM.
+#
+#### SCREEN Extensions:
+#
+# The screen program uses the termcap interface.  It recognizes a few useful
+# nonstandard capabilities.  Those are used in this file.
+#
+#       AX   (bool)  Does  understand  ANSI  set  default fg/bg color (\E[39m /
+#                    \E[49m).
+#       G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
+#       E0   (str)   Switch charset 'G0' back to standard charset.
+#       S0   (str)   Switch charset 'G0' to the specified charset.
+#       XT   (bool)  Terminal understands special xterm sequences  (OSC,  mouse
+#                    tracking).
+#
+# AX is relatively straightforward; it is interpreted by ncurses to say that
+# SGR 39/49 reset the terminal's foreground and background colors to their
+# "default".
+#
+# XT is harder, since screen's manpage does not give more details.  For that,
+# we must read screen's source-code.  When XT is set, screen assumes
+#
+# a) OSC 1 sets the title string, e.g., for the icon.  Recent versions of
+#    screen may also set the terminal's name, which is (for xterm) distinct
+#    from the icon name.
+# b) OSC 20 sets the background pixmap.  This is an rxvt feature.
+# c) OSC 39 and OSC 49 set the default foreground/background colors.  Again
+#    this is an rxvt feature.
+# d) certain mode settings enable the mouse: 9, 1000, 1001, 1002, 1003.
+#    These are from xterm, although xterm accepts mouse codes that may not be
+#    recognized by screen, e.g., 1005, 1006.
+# e) colors beyond 0..7 are implemented by xterm's aixterm-like 16-color
+#    sequence.  However, because screen uses only termcap, the values returned
+#    by Af/Ab are not usable because they rely on expressions that termcap
+#    does not support.  Therefore, screen uses a hardcoded string to work
+#    around the limitation.
+# f) all entries named "*xterm*" or "*rxvt*" have the bce flag set.
+#
+# The other ISO-2022 features are rarely used, but provided here to make
+# screen's termcap features available.
+#
+#### XTERM Extensions:
+#
+# Most of the xterm extensions are for function-keys.  Since patch #94 (in
+# 1999), xterm has supported shift/control/alt/meta modifiers which produce
+# additional function-key strings.  Some other developers copied the feature,
+# though they did not follow xterm's lead in patch #167 (in 2002), to make
+# these key definitions less ambiguous.
+#
+# A few terminals provide similar functionality (sending distinct keys when
+# a modifier is used), including rxvt.
+#
+# These are the extended keys defined in this file:
+#
+# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6
+# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4
+# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
+# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 ka2 kb1 kb3 kc2
+#
+# Here are the other xterm-related extensions which are used in this file:
+#
+# Cr is a string capability which resets the cursor color
+# Cs is a string capability which sets the cursor color to a given value.
+#    The single string parameter is the color name/number, according to the
+#    implementation.
+# Ms modifies the selection/clipboard.  Its parameters are
+#	p1 = the storage unit (clipboard, selection or cut buffer)
+#	p2 = the base64-encoded clipboard content.
+# Se resets the cursor style to the terminal power-on default.
+# Ss is a string capability with one numeric parameter.  It is used to set the
+#    cursor style as described by the DECSCUSR function to a block or
+#    underline.
+# TS is a string capability which acts like "tsl", but uses no parameter and
+#    goes to the first column of the "status line".
+# XM is a string capability which overrides ncurses's built-in string which
+#    enables/disables xterm mouse mode.
+# xm shows the format of the mouse responses.  Parameters are (from zero):
+#	p1 = y-ordinate
+#	p2 = x-ordinate
+#	p3 = button
+#	p4 = state, e.g., pressed or released
+#	p6 = y-ordinate starting region
+#	p7 = x-ordinate starting region
+#	p8 = y-ordinate ending region
+#	p9 = x-ordinate ending region
+# Other extensions, used in xm:
+#	%u = UTF-8
+#
+#### Miscellaneous extensions:
+#
+# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
+#    This was implemented for the Hurd.
+# E3 clears the terminal's scrollback buffer.  This was implemented in the
+#    Linux 3.0 kernel as a security feature.  It matches a feature which was
+#    added in xterm patch #107.
+# U8 is a numeric capability which denotes a terminal emulator which does not
+#    support VT100 SI/SO when processing UTF-8 encoding.  Set this to a nonzero
+#    value to enable it.
+#
+######## CHANGE HISTORY
+#
+# The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94.
+# Releases 9 and 10 (up until the release of ncurses 4.2 in 1998) were
+# maintained by Eric S. Raymond as part of the ncurses project.
+#
+# This file contains all the capability information present in John Kunze's
+# last version of the termcap master file, except as noted in the change
+# comments at end of file.  Some information about very ancient obsolete
+# capabilities has been moved to comments.  Some all-numeric names of older
+# terminals have been retired.
+#
+# I changed :MT: to :km: (the 4.4BSD name) everywhere.  I commented out some
+# capabilities (EP, dF, dT, dV, kn, ma, ml, mu, xr, xx) that are no longer
+# used by BSD curses.
+#
+# The 9.1.0 version of this file was translated from my lightly-edited copy of
+# 8.3, then mechanically checked against 8.3 using Emacs Lisp code written for
+# the purpose.  Unless the ncurses tic implementation and the Lisp code were
+# making perfectly synchronized mistakes which I then failed to catch by
+# eyeball, the translation was correct and perfectly information-preserving.
+#
+# Major version number bumps correspond to major version changes in ncurses.
+#
+# Here is a log of the changes since then:
+#
+# 9.1.0 (Wed Feb  1 04:50:32 EST 1995):
+#	* First terminfo master translated from 8.3.
+# 9.2.0 (Wed Feb  1 12:21:45 EST 1995):
+#	* Replaced Wyse entries with updated entries supplied by vendor.
+#
+# 9.3.0 (Mon Feb  6 19:14:40 EST 1995):
+#	* Added contact & status info from G. Clark Brown <clark@sssi.com>.
+# 9.3.1 (Tue Feb  7 12:00:24 EST 1995):
+#	* Better XENIX keycap translation.  Describe TC termcaps.
+#	* Contact and history info supplied by Qume.
+# 9.3.2 (Sat Feb 11 23:40:02 EST 1995):
+#	* Raided the Shuford FTP site for recent termcaps/terminfos.
+#	* Added information on X3.64 and VT100 standard escape sequences.
+# 9.3.3 (Mon Feb 13 12:26:15 EST 1995):
+#	* Added a correct X11R6 xterm entry.
+#	* Fixed terminfo translations of padding.
+# 9.3.4 (Wed Feb 22 19:27:34 EST 1995):
+#	* Added correct acsc/smacs/rmacs strings for vt100 and xterm.
+#	* Added u6/u7/u8/u9 capabilities.
+#	* Added PCVT entry.
+# 9.3.5 (Thu Feb 23 09:37:12 EST 1995):
+#	* Emacs uses :so:, not :mr:, for its mode line.  Fix linux entry
+#	  to use reverse-video standout so Emacs will look right.
+#	* Added el1 capability to ansi.
+#	* Added smacs/rmacs to ansi.sys.
+#
+# 9.4.0 (Sat Feb 25 16:43:25 EST 1995):
+#	* New mt70 entry.
+#	* Added COPYRIGHTS AND OTHER DELUSIONS.
+#	* Added AT&T 23xx & 500/513, vt220 and vt420, opus3n1+, netronics
+#	  smartvid & smarterm, ampex 175 & 219 & 232,
+#	  env230, falco ts100, fluke, intertube, superbrain, ncr7901, vic20,
+#	  ozzie, trs200, tr600, Tandy & Texas Instruments VDTs, intext2,
+#	  screwpoint, fviewpoint, Contel Business Systems, Datamedia Colorscan,
+#	  adm36, mime314, ergo4000, ca22851.  Replaced att7300, esprit, dd5500.
+#	* Replaced the Perkin-Elmer entries with vendor's official ones.
+#	* Restored the old minimal-ansi entry, luna needs it.
+#	* Fixed some incorrect ip and proportional-padding translations.
+# 9.4.1 (Mon Feb 27 14:18:33 EST 1995):
+#	* Fix linux & AT386 sgr strings to do A_ALTCHARSET turnoff correctly.
+#	* Make the xterm entry 65 lines again; create xterm25 and xterm24
+#	  to force a particular height.
+#	* Added beehive4 and reorganized other Harris entries.
+# 9.4.2 (Thu Mar  9 01:45:44 EST 1995):
+#	* Merged in DEC's official entries for its terminals.  The only old
+#	  entry I kept was Doug Gwyn's alternate vt100 (as vt100-avo).
+#	* Replaced the translated BBN Bitgraph entries with purpose-built
+#	  ones from AT&T's SVr3.
+#	* Replaced the AT&T entries with AT&T's official terminfos.
+#	* Added teleray 16, vc415, cops10.
+#	* Merged in many individual capabilities from SCO terminfo files.
+# 9.4.3 (Mon Mar 13 02:37:53 EST 1995):
+#	* Typo fixes.
+#	* Change linux entry so A_PROTECT enables IBM-PC ROM characters.
+# 9.4.4 (Mon Mar 27 12:32:35 EST 1995):
+#	* Added tty35, Ann Arbor Guru series. vi300 and 550, cg7900, tvi803,
+#	  pt210, ibm3164, IBM System 1, ctrm, Tymshare scanset, dt200, adm21,
+#	  simterm, citoh and variants.
+#	* Replaced sol entry with sol1 and sol2.
+#	* Replaced Qume QVT and Freedom-series entries with purpose-built
+#	  terminfo entries.
+#	* Enhanced vt220, tvi910, tvi924, hpterm, hp2645, adm42, tek
+#	  and dg200 entries using caps from from SCO.
+#	* Added the usual set of function-key mappings to ANSI entry.
+#	* Corrected xterm's function-key capabilities.
+# 9.4.5 (Tue Mar 28 14:27:49 EST 1995):
+#	* Fix in xterm entry, cub and cud are not reliable under X11R6.
+# 9.4.6 (Thu Mar 30 14:52:15 EST 1995):
+#	* Fix in xterm entry, get the arrow keys right.
+#	* Change some \0 escapes to \200.
+# 9.4.7 (Tue Apr  4 11:27:11 EDT 1995)
+#	* Added apple (Videx card), adm1a, oadm31.
+#	* Fixed malformed ampex csr.
+#	* Fixed act4, cyb110; they had old-style prefix padding left in.
+#	* Changed mandatory to advisory padding in many entries.
+#	* Replaced HP entries up to hpsub with purpose-built ones.
+#	* Blank rmir/smir/rmdc/smdc capabilities removed.
+#	* Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924.
+# 9.4.8 (Fri Apr  7 09:36:34 EDT 1995):
+#	* Replaced the Ann Arbor entries with SCO's, the init strings are
+#	  more efficient (but the entries otherwise identical).
+#	* Added dg211 from Shuford archive.
+#	* Added synertek, apple-soroc, ibmpc, pc-venix, pc-coherent, xtalk,
+#	  adm42-nl, pc52, gs6300, xerox820, uts30.
+#	* Pull SCO's padding into vi200 entry.
+#	* Improved capabilities for tvi4107 and other Televideo and Viewpoint
+#	  entries merged in from SCO's descriptions.
+#	* Fixed old-style prefix padding on zen50, h1500.
+#	* Moved old superbee entry to superbee-xsb, pulled in new superbee
+#	  entry from SCO's description.
+#	* Reorganized the special entries.
+#	* Added lm#0 to cbunix and virtual entries.
+#
+# 9.5.0 (Mon Apr 10 11:30:00 EDT 1995):
+#	* Restored cdc456tst.
+#	* Fixed sb1 entry, SCO erroneously left out the xsb glitch.
+#	* Added megatek, beacon, microkit.
+#	* Freeze for ncurses-1.9 release.
+# 9.5.1 (Fri Apr 21 12:46:42 EDT 1995):
+#	* Added historical data for TAB.
+#	* Comment fixes from David MacKenzie.
+#	* Added the new BSDI pc3 entry.
+# 9.5.2 (Tue Apr 25 17:27:52 EDT 1995)
+#	* A change in the tic -C logic now ensures that all entries in
+#	  the termcap translation will fit in < 1024 bytes.
+#	* Added `bobcat' and `gator' HP consoles and the Nu machine entries
+#	  from GNU termcap file.  This merges in all their local information.
+# 9.5.3 (Tue Apr 25 22:28:13 EDT 1995)
+#	* Changed tic -C logic to dump all capabilities used by GNU termcap.
+#	* Added warnings about entries with long translations (restoring
+#	  all the GNU termcaps pushes a few over the edge).
+# 9.5.4 (Wed Apr 26 15:35:09 EDT 1995)
+#	* Yet another tic change, and a couple of entry tweaks, to reduce the
+#	  number of long (> 1024) termcap translations back to 0.
+#
+# 9.6.0 (Mon May  1 10:35:54 EDT 1995)
+#	* Added kf13-kf20 to Linux entry.
+#	* Regularize Prime terminal names.
+#	* Historical data on Synertek.
+#	* Freeze for ncurses-1.9.1.
+# 9.6.1 (Sat May  6 02:00:52 EDT 1995):
+#	* Added true xterm-color entry, renamed djm's pseudo-color entry.
+#	* Eliminate whitespace in short name fields, this tanks some scripts.
+#	* Name field changes to shorten some long entries.
+#	* Termcap translation now automatically generates empty rmir/smir
+#	  when ich1/ich is present (copes with an ancient vi bug).
+#	* Added `screen' entries from FSF's screen-3.6.2.
+#	* Added linux-nic and xterm-nic entries.
+# 9.6.2 (Sat May  6 17:00:55 EDT 1995):
+#	* Change linux entry to use smacs=\E[11m and have an explicit acsc,
+#	  eliminating some special-case code in ncurses.
+#
+# 9.7.0 (Tue May  9 18:03:12 EDT 1995):
+#	* Added vt320-k3, rsvidtx from the Emacs termcap.dat file.  I think
+#	  that captures everything unique from it.
+#	* Added reorder script generator.
+#	* Freeze for ncurses 1.9.2 release.
+# 9.7.1 (Thu Jun 29 09:35:22 EDT 1995):
+#	* Added Sean Farley's kspd, flash, rs1 capabilities for linux.
+#	* Added Olaf Siebert's corrections for adm12.
+#	* ansi-pc-color now includes the colors and pairs caps, so that
+#	  entries which use it will inherit them automatically.
+#	* The linux entry can now recognize the center (keypad 5) key.
+#	* Removed some junk that found its way into Linux acsc.
+#
+# 9.8.0 (Fri Jul  7 04:46:57 EDT 1995):
+#	* Add 50% cut mark as a desperate hack to reduce tic's core usage.
+#	* xterm doesn't try to use application keypad mode any more.
+#	* Freeze for ncurses-1.9.3 release.
+# 9.8.1 (Thu Jul 19 17:02:12 EDT 1995):
+#	* Added corrected sun entry from vendor.
+#	* Added csr capability to linux entry.
+#	* Peter Wemm says the at386 hpa should be \E[%i%p1%dG, not \E[%p1%dG.
+#	* Added vt102-nsgr to cope with stupid IBM PC `VT100' emulators.
+#	* Some commented-out caps in long entries come back in, my code
+#	  for computing string-table lengths had a bug in it.
+#	* pcansi series modified to fit comm-program reality better.
+# 9.8.2 (Sat Sep  9 23:35:00 EDT 1995):
+#	* BSD/OS actually ships the ibmpc3 bold entry as its console.
+#	* Correct some bad aliases in the pcansi series
+#	* Added entry for QNX console.
+#	* Clean up duplicate long names for use with 4.4 library.
+#	* Change vt100 standout to be normal reverse vide, not bright reverse;
+#	  this makes the Emacs status line look better.
+# 9.8.3 (Sun Sep 10 13:07:34 EDT 1995):
+#	* Added Adam Thompson's VT320 entries, also his dtx-sas and z340.
+#	* Minor surgery, mostly on name strings, to shorten termcap version.
+#
+# 9.9.0 (Sat Sep 16 23:03:48 EDT 1995):
+#	* Added dec-vt100 for use with the EWAN emulator.
+#	* Added kmous to xterm for use with xterm's mouse-tracking facility.
+#	* Freeze for 1.9.5 alpha release.
+# 9.9.1 (Wed Sep 20 13:46:09 EDT 1995):
+#	* Changed xterm lines to 24, the X11R6 default.
+# 9.9.2 (Sat Sep 23 21:29:21 EDT 1995):
+#	* Added 7 newly discovered, undocumented acsc characters to linux
+#	  entry (the pryz{|} characters).
+#	* ncurses no longer steals A_PROTECT.  Simplify linux sgr accordingly.
+#	* Correct two typos in the xterm entries introduced in 9.9.1.
+#	* I finally figured out how to translate ko capabilities.  Done.
+#	* Added tvi921 entries from Tim Theisen.
+#	* Cleanup: dgd211 -> dg211, adm42-nl -> adm42-nsl.
+#	* Removed mystery tec entry, it was neither interesting nor useful.
+#	* shortened altos3, qvt203, tvi910+, tvi92D, tvi921-g, tvi955, vi200-f,
+#	  vi300-ss, att505-24, contel301, dm3045, f200vi, pe7000c, vc303a,
+#	  trs200, wind26, wind40, wind50, cdc456tst, dku7003, f110, dg211,
+#	  by making them relative to use capabilities
+#	* Added cuf1=^L to tvi925 from deleted variant tvi925a.
+#	* fixed cup in adm22 entry and parametrized strings in vt320-k3.
+#	* added it#8 to entries that used to have :pt: -- tvi912, vi200,
+#	  ampex80,
+#	* Translate all home=\E[;H capabilities to home=\E[H, they're
+#	  equivalent.
+#	* Translate \E[0m -> \E[m in [rs]mso, [rs]mul, and init strings of
+#	  vt100 and ANSI-like terminals.
+# 9.9.3 (Tue Sep 26 20:11:15 EDT 1995):
+#	* Added it#8 and ht=\t to *all* entries with :pt:; the ncurses tic
+#	  does this now, too.
+#	* fviewpoint is gone, it duplicated screwpoint.
+#	* Added hp2627, graphos, graphos-30, hpex, ibmega, ibm8514, ibm8514-c,
+#	  ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3,
+#	  versaterm, vi500, vsc, vt131, vt340, vt400 entries from UW.
+#	  The UW vi50 replaces the old one, which becomes vi50adm,
+#	* No more embedded commas in name fields.
+#
+# 9.10.0 (Wed Oct  4 15:39:37 EDT 1995):
+#	* XENIX forms characters in fos, trs16, scoansi become acsc strings,
+#	* Introduced klone+* entries for describing Intel-console behavior.
+#	* Linux kbs is default-mapped to delete for some brain-dead reason.
+#	* -nsl -> -ns.  The -pp syntax is obsolete.
+#	* Eliminate [A-Z]* primaries in accordance with SVr4 terminfo docs.
+#	* Make xterm entry do application-keypad mode again.  I got complaints
+#	  that it was messing up someone's 3270 emulator.
+#	* Added some longname fields in order to avoid warning messages from
+#	  older tic implementations.
+#	* According to ctlseqs.ms, xterm has a full vt100 graphics set.  Use
+#	  it! (This gives us pi, greater than, less than, and a few more.)
+#	* Freeze for ncurses-1.9.6 release.
+# 9.10.1 (Sat Oct 21 22:18:09 EDT 1995):
+#	* Add xon to a number of console entries, they're memory-mapped and
+#	  don't need padding.
+#	* Correct the use dependencies in the ansi series.
+#	* Hand-translate more XENIX capabilities.
+#	* Added hpterm entry for HP's X terminal emulator.
+#	* Added aixterm entries.
+#	* Shortened four names so everything fits in 14 chars.
+#
+# 9.11.0 (Thu Nov  2 17:29:35 EST 1995):
+#	* Added ibcs2 entry and info on iBCS2 standard.
+#	* Corrected hpa/vpa in linux entry.  They still fail the worm test.
+#	* We can handle the HP meml/memu capability now.
+#	* Added smacs to klone entries, just as documentation.
+#	* Carrected ansi.sys and cit-500 entries.
+#	* Added z39, vt320-k311, v220c, and avatar entries.
+#	* Make pcansi use the ansi.sys invis capability.
+#	* Added DIP switch descriptions for vt100, adm31, tvi910, tvi920c,
+#	  tvi925, tvi950, dt80, ncr7900i, h19.
+#	* X3.64 has been withdrawn, change some references.
+#	* Removed function keys from ansi-m entry.
+#	* Corrected ansi.sys entry.
+#	* Freeze for ncurses-1.9.7 release.
+# 9.11.1 (Tue Nov  6 18:18:38 EST 1995):
+#	* Added rmam/smam capabilities to many entries based on init strings.
+#	* Added correct hpa/vpa to linux.
+#	* Reduced several entries relative to vt52.
+# 9.11.2 (Tue Nov  7 00:21:06 EST 1995):
+#	* Exiled some utterly unidentifiable custom and homebrew types to the
+#	  UFO file; also, obsolete small-screen hardware; also, entries which
+#	  look flat-out incorrect, garbled, or redundant.  These include the
+#	  following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec,
+#	  tec400, tec500, ubell, wind, wind16, wind40, wind50, plasma, agile,
+#	  apple, bch, daleblit, nucterm, ttywilliams, nuterminal, nu24, bnu,
+#	  fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55,
+#	  yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2,
+#	  vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200,
+#	  trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40,
+#	  att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w,
+#	  tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na,
+#	  c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na,
+#	  regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb,
+#	  vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam,
+#	  vt510pc-nam, vt520nam, vt525nam, xterm25, xterm50, xterm65, xterms.
+#	* Corrected pcvt25h as suggested by Brian C. Grayson
+#	  <bgrayson@pine.ece.utexas.edu>.
+# 9.11.3 (Thu Nov  9 12:14:40 EST 1995):
+#	* Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H.
+#	* Added kent=\EOM to xterm entry.
+#
+# 9.11.4 (Fri Nov 10 08:31:35 EST 1995):
+#	* Corrected gigi entry.
+#	* Restored cuf/cud1 to xterm, their apparent bugginess was due to
+#	  bad hpa/vpa capabilities.
+#	* Corrected flash strings to have a uniform delay of .2 sec.  No
+#	  more speed-dependent NUL-padding!
+#	* terminfo capabilities in comments bracketed with <>.
+# 9.11.5 (Fri Nov 10 15:35:02 EST 1995):
+#	* Replaced pcvt with the 3.31 pcvt entries.
+#	* Freeze for 1.9.7a.
+# 9.11.6 (Mon Nov 13 10:20:24 EST 1995):
+#	* Added emu entry from the X11R6 contrib tape sources.
+#
+# 9.12.0 (Wed Nov 29 04:22:25 EST 1995):
+#	* Improved iris-ansi and sun entries.
+#	* More flash string improvements.
+#	* Corrected wy160 & wy160 as suggested by Robert Dunn
+#	* Added dim to at386.
+#	* Reconciled pc3 and ibmpc3 with the BSDI termcap file.  Keith says
+#	  he's ready to start using the termcap generated from this one.
+#	* Added vt102-w, vt220-w, xterm-bold, wyse-vp, wy75ap, att4424m,
+#	  ln03, lno3-w, h19-g, z29a*, qdss.  Made vt200 an alias of vt220.
+#	* Improved hpterm, apollo consoles, fos, qvt101, tvi924. tvi925,
+#	  att610, att620, att630,
+#	* Changed hazeltine name prefix from h to hz.
+#	* Sent t500 to the UFI file.
+#	* I think we've sucked all the juice out of BSDI's termcap file now.
+#	* Freeze for ncurses 1.9.8 release
+# 9.12.1 (Thu Nov 30 03:14:06 EST 1995)
+#	* Unfreeze, linux kbs needed to be fixed.
+#	* Tim Theisen pinned down a bug in the DMD firmware.
+# 9.12.2 (Thu Nov 30 19:08:55 EST 1995):
+#	* Fixes to ansi and klone capabilities (thank you, Aaron Ucko).
+#	  (The broken ones had been shadowed by sgr.)
+# 9.12.3 (Thu Dec  7 17:47:22 EST 1995):
+#	* Added documentation on ECMA-48 standard.
+#	* New Amiga entry.
+# 9.12.4 (Thu Dec 14 04:16:39 EST 1995):
+#	* More ECMA-48 stuff
+#	* Corrected typo in minix entry, added pc-minix.
+#	* Corrected khome/kend in xterm (thank you again, Aaron Ucko).
+#	* Added rxvt entry.
+#	* Added 1.3.x color-change capabilities to linux entry.
+# 9.12.5 (Tue Dec 19 00:22:10 EST 1995):
+#	* Corrected rxvt entry khome/kend.
+#	* Corrected linux color change capabilities.
+#	* NeXT entries from Dave Wetzel.
+#	* Cleaned up if and rf file names (all in /usr/share now).
+#	* Changed linux op capability to avoid screwing up a background color
+#	  pair set by setterm.
+# 9.12.6 (Wed Feb  7 16:14:35 EST 1996):
+#	* Added xterm-sun.
+# 9.12.7 (Fri Feb  9 13:27:35 EST 1996):
+#	* Added visa50.
+#
+# 9.13.0 (Sun Mar 10 00:13:08 EST 1996):
+#	* Another sweep through the Shuford archive looking for new info.
+#	* Added dg100 alias to dg6053 based on a comp.terminals posting.
+# 	* Added st52 from Per Persson.
+#	* Added eterm from the GNU Emacs 19.30 distribution.
+#	* Freeze for 1.9.9.
+# 9.13.1 (Fri Mar 29 14:06:46 EST 1996):
+#	* FreeBSD console entries from Andrew Chernov.
+#	* Removed duplicate Atari st52 name.
+# 9.13.2 (Tue May  7 16:10:06 EDT 1996)
+#	* xterm doesn't actually have ACS_BLOCK.
+#	* Change klone+color setf/setb to simpler forms that can be
+#	  translated into termcap.
+#	* Added xterm1.
+#	* Removed mechanically-generated junk capabilities from cons* entries.
+#	* Added color support to bsdos.
+# 9.13.3 (Thu May  9 10:35:51 EDT 1996):
+#	* Added Wyse 520 entries from Wm. Randolph Franklin <wrf@ecse.rpi.edu>.
+#	* Created ecma+color, linux can use it.  Also added ech to linux.
+#	* Teach xterm about more keys. Add Thomas Dickey's 3.1.2E updates.
+#	* Add descriptions to FreeBSD console entries.  Also shorten
+#	  some aliases to <= 14 chars for portability.
+#	* Added x68k console
+#	* Added OTbs to several VT-series entries.
+# 9.13.4 (Wed May 22 10:54:09 EDT 1996):
+#	* screen entry update for 3.7.1 from Michael Alan Dorman.
+# 9.13.5 (Wed Jun  5 11:22:41 EDT 1996):
+#	* kterm correction due to Kenji Rikitake.
+#	* ACS correction in vt320-kll due to Phillippe De Muyter.
+# 9.13.6 (Sun Jun 16 15:01:07 EDT 1996):
+#	* Sun console entry correction from J.T. Conklin.
+#	* Changed all DEC VT300 and up terminals to use VT300 tab set
+# 9.13.7 (Mon Jul  8 20:14:32 EDT 1996):
+#	* Added smul to linux entry (we never noticed it was missing
+#	  because of sgr!).
+#	* Added rmln to hp+labels (deduced from other HP entries).
+#	* Added vt100 acsc capability to vt220, vt340, vt400, d800, dt80-sas,
+#	  pro350, att7300, 5420_2, att4418, att4424, att4426, att505, vt320-k3.
+#	* Corrected vt220 acsc.
+#	* The klone+sgr and klone+sgr-dumb entries now use klone+acs;
+#	  this corresponds to reality and helps prevent some tic warnings.
+#	* Added sgr0 to c101, pcix, vt100-nav, screen2, oldsun, next, altos2,
+#	  hpgeneric, hpansi, hpsub, hp236, hp700-wy, bobcat, dku7003, adm11,
+#	  adm12, adm20, adm21, adm22, adm31, adm36, adm42, pt100, pt200,
+#	  qvt101, tvi910, tvi921, tvi92B, tvi925, tvi950, tvi970, wy30-mc,
+#	  wy50-mc, wy100, wyse-vp, ampex232, regent100, viewpoint, vp90,
+#	  adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p,
+#	  f1720a, go140, sb1, superbeeic, microb, ibm8512, kt7, ergo4000,
+#	  owl, uts30, dmterm, dt100, dt100, dt110, appleII, apple-videx,
+#	  lisa, trsII, atari, st52, pc-coherent, basis, m2-man, bg2.0, bg1.25,
+#	  dw3, ln03, ims-ansi, graphos, t16, zen30, xtalk, simterm, d800,
+#	  ifmr, v3220, wy100q, tandem653, ibmaed.
+#	* Added DWK terminal description.
+# 9.13.8 (Wed Jul 10 11:45:21 EDT 1996):
+#	* Many entries now have highlights inherited from adm+sgr.
+#	* xterm entry now corresponds to XFree86 3.1.2E, with color.
+#	* xtitle and xtitle-twm enable access to the X status line.
+#	* Added linux-1.3.6 color palette caps in conventional format.
+#	* Added adm1178 terminal.
+#	* Move fos and apollo terminals to obsolete category.
+#	* Aha! The BRL terminals file told us what the Iris extensions mean.
+#	* Added, from the BRL termcap file: rt6221, rt6221-w, northstar,
+#	  commodore, cdc721-esc, excel62, osexec.  Replaced from the BRL file:
+#	  cit500, adm11.
+# 9.13.9 (Mon Jul 15 00:32:51 EDT 1996):
+#	* Added, from the BRL termcap file: cdc721, cdc721l, cdc752, cdc756,
+#	  aws, awsc, zentec8001, modgraph48, rca vp3301/vp3501, ex155.
+#	* Corrected, from BRL termcap file: vi50.
+#	* Better rxvt entry & corrected xterm entries from Thomas Dickey.
+# 9.13.10 (Mon Jul 15 12:20:13 EDT 1996):
+#	* Added from BRL: cit101e & variants, hmod1, vi200, ansi77, att5620-1,
+#	  att5620-s, att5620-s, dg210, aas1901, hz1520, hp9845, osborne
+#	  (old osborne moved to osborne-w), tvi970-vb, tvi970-2p, tvi925-hi,
+#	  tek4105brl, tek4106brl, tek4107brl,tek4109brl, hazel, aepro,
+#	  apple40p, apple80p, appleIIgs, apple2e, apple2e-p, apple-ae.
+#	* Paired-attribute fixes to various terminals.
+#	* Sun entry corrections from A. Lukyanov & Gert-Jan Vons.
+#	* xterm entry corrections from Thomas Dickey.
+# 9.13.11 (Tue Jul 30 16:42:58 EDT 1996):
+#	* Added t916 entry, translated from a termcap in SCO's support area.
+#	* New qnx entry from Michael Hunter.
+# 9.13.12 (Mon Aug  5 14:31:11 EDT 1996):
+#	* Added hpex2 from Ville Sulko.
+#	* Fixed a bug that ran the qnx and pcvtXX together.
+# 9.13.13 (Fri Aug  9 01:16:17 EDT 1996):
+#	* Added dtterm entry from Solaris CDE.
+# 9.13.14 (Tue Sep 10 15:31:56 EDT 1996):
+#	* corrected pairs#8 typo in dtterm entry.
+#	* added tvi9065.
+# 9.13.15 (Sun Sep 15 02:47:05 EDT 1996):
+#	* updated xterm entry to cover 3.1.2E's new features.
+# 9.13.16 (Tue Sep 24 12:47:43 EDT 1996):
+#	* Added new minix entry
+#	* Removed aliases of the form ^[0-9]* for obsolete terminals.
+#	* Commented out linux-old, nobody's using pre-1.2 kernels now.
+# 9.13.17 (Fri Sep 27 13:25:38 EDT 1996):
+#	* Added Prism entries and kt7ix.
+#	* Caution notes about EWAN and tabset files.
+#	* Changed /usr/lib/tabset -> /system/share/tabset.
+#	* Added acsc/rmacs/smacs to vt52.
+# 9.13.18 (Mon Oct 28 13:24:59 EST 1996):
+#	* Merged in Thomas Dickey's reorganization of the xterm entries;
+#	  added technical corrections to avoid warning messages.
+# 9.13.19 (Sat Nov 16 16:05:49 EST 1996):
+#	* Added rmso=\E[27m in Linux entry.
+#	* Added koi8-r support for Linux console.
+#	* Replace xterm entries with canonical ones from XFree86 3.2.
+# 9.13.20 (Sun Nov 17 23:02:51 EST 1996):
+#	* Added color_xterm from Jacob Mandelson
+# 9.13.21 (Mon Nov 18 12:43:42 EST 1996):
+#	* Back off the xterm entry to use r6 as a base.
+# 9.13.22 (Sat Nov 30 11:51:31 EST 1996):
+#	* Added dec-vt220 at Adrian Garside's request.
+#
+#-(original-changelog-1996/12/29-to-1998/02/28-by-TD)---------------------------
+#
+# 10.1.0 (Sun Dec 29 02:36:31 EST 1996): withdrawn
+#	* Minor corrections to xterm entries.
+#	* Replaced EWAN telnet entry.
+#	* Dropped the reorder script generator.  It was a fossil.
+# 9.13.23 (Fri Feb 21 16:36:06 EST 1997):
+#	* Replaced minitel-2 entry.
+#	* Added MGR, ansi-nt.
+# 9.13.24 (Sun Feb 23 20:55:23 EST 1997):
+#	* Thorsten Lockert added termcap `bs' to a lot of types, working from
+#	  the 4.4BSD Lite2 file.
+#
+# 10.1.1 (Sat May  3 21:41:27 EDT 1997):
+#	* Use setaf/setab consistently with SVr4.
+#	* Remove ech, el1 from cons25w, they do not work in FreeBSD 2.1.5
+# 10.1.2 (Sat May 24 21:10:57 EDT 1997)
+#	* update xterm-xf86-v32 to match XFree86 3.2A (changes F1-F4)
+#	* add xterm-16color, for XFree86 3.3
+# 10.1.3 (Sat May 31 12:21:05 EDT 1997)
+#	* correct typo in emu
+#	* correct typo in vt102-w (Robert Wuest)
+#	* make new entry xterm-xf86-v33, restored xterm-xf86-v32.
+# 10.1.4 (Sun Jun 15 08:29:05 EDT 1997)
+#	* remove ech capability from rxvt (it does the wrong thing)
+# 10.1.5 (Sat Jun 28 21:34:36 EDT 1997)
+#	* remove spurious newlines from several entries (hp+color, wy50,
+#	  wy350, wy370-nk, wy99gt-tek, wy370-tek, ibm3161, tek4205, ctrm,
+#	  gs6300)
+# 10.1.6 (Sat Jul  5 15:08:16 EDT 1997)
+#	* correct rmso capability of wy50-mc
+# 10.1.7 (Sat Jul 12 20:05:55 EDT 1997)
+#	* add cbt to xterm-xf86-v32
+#	* disentangle some entries from 'xterm', preferring xterm-r6 in case
+#	  'xterm' is derived from xterm-xf86-v32, which implements ech and
+#	  other capabilities not in xterm-r6.
+#	* remove alternate character set from kterm entry.
+# 10.1.8 (Sat Aug  2 18:43:18 EDT 1997)
+#	* correct acsc entries for ACS_LANTERN, which is 'i', not 'I'.
+# 10.1.9 (Sat Aug 23 17:54:38 EDT 1997)
+#	* add xterm-8bit entry.
+# 10.1.10 (Sat Oct  4 18:17:13 EDT 1997)
+#	* repair several places where early version of tic replaced \, with \\\,
+#	* make acsc entries canonical form (sorted, uniq).
+#	* modify acsc entries for linux, linux-koi8
+#	* new rxvt entry, from corrected copy of distribution in rxvt 2.21b
+#	* add color, mouse support to kterm.
+# 10.1.11 (Sat Oct 11 14:57:10 EDT 1997)
+#	* correct wy120 smxon/tbc capabilities which were stuck together.
+# 10.1.12 (Sat Oct 18 17:38:41 EDT 1997)
+#	* add entry for xterm-xf86-v39t
+# 10.1.13 (Sat Nov  8 13:43:33 EST 1997)
+#	* add u8,u9 to sun-il description
+# 10.1.14 (Sat Nov 22 19:59:03 EST 1997)
+#	* add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
+#	  version.
+#	* add hds200 description (Walter Skorski)
+#	* add EMX 0.9b descriptions
+#	* correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
+#	* rename xhpterm back to hpterm.
+# 10.1.15 (Sat Nov 29 19:21:59 EST 1997)
+#	* change initc in linux-c-nc to use 0..1000 range.
+# 10.1.16 (Sat Dec 13 19:41:59 EST 1997)
+#	* remove hpa/vpa from rxvt, which implements them incorrectly.
+#	* add sgr0 for rxvt.
+#	* remove bogus smacs/rmacs from EMX descriptions.
+# 10.1.17 (Sat Dec 20 17:54:10 EST 1997)
+#	* revised entry for att7300
+# 10.1.18 (Sat Jan  3 17:58:49 EST 1998)
+#	* use \0 rather than \200.
+#	* rename rxvt-color to rxvt to match rxvt 2.4.5 distribution.
+# 10.1.19 (Sat Jan 17 14:24:57 EST 1998)
+#	* change xterm (xterm-xf86-v40), xterm-8bit rs1 to use hard reset.
+#	* rename xterm-xf86-v39t to xterm-xf86-v40
+#	* remove bold/underline from sun console entries since they're not
+#	  implemented.
+# 10.1.20 (Sat Jan 24 11:02:51 EST 1998)
+#	* add beterm entry (Fred Fish)
+#	* add irix-color/xwsh entry.
+#	* turn ncv off for linux.
+# 10.1.21 (Sat Jan 31 17:39:16 EST 1998)
+#	* set ncv for FreeBSD console (treat colors with reverse specially).
+#	* remove sgr string from qnx based on report by Xiaodan Tang
+# 10.1.22 (Wed Feb 11 18:40:12 EST 1998)
+#	* remove spurious commas from descriptions
+#	* correct xterm-8bit to match XFree86 3.9Ad F1-F4.
+# 10.1.23 (Sat Feb 28 17:48:38 EST 1998)
+#	* add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc,
+#	  apparently based on cp-866).
+#
+#-(replaced-changelog-1998/02/28-by-ESR)----------------------------------------
+#
+# 9.13.23 (Fri Feb 21 16:36:06 EST 1997):
+#	* Replaced minitel-2 entry.
+#	* Added MGR, ansi-nt.
+#	* Minor corrections to xterm entries.
+#	* Replaced EWAN telnet entry.
+#	* Dropped the reorder script generator.  It was a fossil.
+# 9.13.24 (Sun Feb 23 20:55:23 EST 1997):
+#	* Thorsten Lockert added termcap `bs' to a lot of types, working from
+#	  the 4.4BSD Lite2 file.
+# 9.13.25 (Fri Jun 20 12:33:36 EDT 1997):
+#	* Added Datapoint 8242, pilot, ansi_psx, rbcomm, vt220js.
+#	* Updated iris-ansi; corrected vt102-w.
+#	* Switch base xterm entry to 3.3 level.
+# 9.13.26 (Mon Jun 30 22:45:45 EDT 1997)
+#	* Added basic4.
+#	* Removed rmir/smir from tv92B.
+#
+# 10.2.0 (Sat Feb 28 12:47:36 EST 1998):
+#	* add hds200 description (Walter Skorski)
+#	* add beterm entry (Fred Fish)
+#	* add Thomas Dickey's xterm-xf86-v40, xterm-8bit, xterm-16color,
+#	  iris-color entries.
+#	* add emx entries.
+#	* Replaced unixpc entry with Benjamin Sittler's corrected version.
+#	* Replaced xterm/rxvt/emu/syscons entries with Thomas Dickey's
+#	  versions.
+#	* remove sgr string from qnx based on report by Xiaodan Tang
+#	* Added u8/u9, removed rmul/smul from sun-il.
+#	* 4.2 tic displays \0 rather than \200.
+#	* add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc,
+#	  apparently based on cp-866).
+#	* Merged in Pavel Roskin's acsc for linux-koi8
+#	* Corrected some erroneous \\'s to \.
+#	* 4.2 ncurses has been changed to use setaf/setab, consistent w/SysV.
+#	* II -> ii in pcvtXX, screen, xterm.
+#	* Removed \n chars following ANSI escapes in sgr & friends.
+#	* Updated Wyse entries.
+#	* h19 corrections from Tim Pierce.
+#	* Noted that the dm2500 has both ich and smir.
+#	* added pccons for the Alpha under OSF/1.
+#	* Added Sony NEWS workstation entries and cit101e-rv.
+#	* Reverted `amiga'; to Kent Polk's version, as I'm told
+#	  the Verkuil entry messes up with Amiga Telnet.
+# 10.2.1 (Sun Mar  8 18:32:04 EST 1998):
+#	* Corrected attributions in 10.2.0 release notes.
+#	* Scanned the Shuford archive for new terminfos and information.
+#	* Removed sgr from qnx entry (Thomas Dickey).
+#	* Added entries for ICL and Kokusai Data Systems terminals.
+#	* Incorporated NCR terminfos from the Boundless Technology FTP site.
+#	* Incorporated att700 from the Boundless Technology FTP site.
+#	* Miscellaneous contact-address and Web-page updates.
+#
+#-(changelog-beginning-ncurses-4.2)---------------------------------------------
+#
+# 1998/5/9
+#	* add nxterm and xterm-color terminfo description (request by Cristian
+#	  Gafton <gafton@redhat.com>).
+#	* modify rxvt terminfo description to clear alternate screen before
+#	  switching back to normal screen, for compatibility with applications
+#	  which use xterm (reported by Manoj Kasichainula <manojk@io.com>).
+#	* modify linux terminfo description to reset color palette (reported
+#	  by Telford Tendys <telford@eng.uts.edu.au>).
+#
+# 1998/7/4
+#	* merge changes from current XFree86 xterm terminfo descriptions.
+#
+# 1998/7/25
+#	* Added minitel1 entries from Alexander Montaron.
+#	* Added qnxt2 from Federico Bianchi.
+#	* Added arm100 terminfo entries from Dave Millen.
+#
+# 1998/8/6
+#	* Added ncsa telnet entries from Francesco Potorti
+#
+# 1998/8/15
+#	* modify ncsa telnet entry to reflect color, other capabilities based on
+#	  examination of the source code - T.Dickey.
+#
+# 1998/8/22
+#	* Corrected some erroneous \\'s to \ (eterm, osborne) - TD.
+#
+# 1998/8/29
+#	* Added Francesco Potorti's tuned Wyse 99 entries.
+#	* dtterm enacs correction from Alexander V. Lukyanov.
+#	* Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version.
+#	* correct a typo in icl6404 entry.
+#	* add xtermm and xtermc
+#
+# 1998/9/26
+#	* format most %'char' sequences to %{number}
+#	* adapt IBM AIX 3.2.5 terminfo - T.Dickey
+#	* merge Data General terminfo from Hasufin <hasufin@vidnet.net> - TD
+#
+# 1998/10/10
+#	* update xterm-xfree86 to current (patch 84), for is2/rs2 changes - TD
+#	* correct initialization string in xterm-r5, add misc other features
+#	  to correspond with xterm patch 84 - TD
+#
+# 1998/12/19
+#	* update xterm-xfree86 to current (patch 90), smcur/rmcur changes - TD
+#	* add Mathew Vernon's mach console entries
+#	* corrections for ncsa function-keys (report by Larry Virden)
+#
+# 1998/12/19
+#	* change linux to use ncv#2, since underline does not work with color - TD
+#
+# 1999/1/9
+#	* add kbt to iris-ansi, document other shift/control functionkeys - TD
+#	* correct iris-ansi and iris-ansi-ap with respect to normal vs keypad
+#	  application modes, change kent to use the correct keypad code - TD
+#
+# 1999/1/10
+#	* add entry for Tera Term - TD
+#
+# 1999/1/23
+#	* minor improvements for teraterm entry - TD
+#	* rename several entries used by BSDI: bsdos to bsdos-pc-nobold,
+#	  and bsdos-bold to bsdos-pc (Jeffrey C Honig)
+#
+# 1999/2/20
+#	* resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in
+#	  xterm and ncsa entries by removing the unneeded ones.  Note that
+#	  some entries will return kend & khome versus kslt and kfnd, for
+#	  PC-style keyboards versus strict vt220 compatiblity - TD
+#
+# 1999/3/13
+#	* adjust xterm-xfree86 khome/kend to match default PC-style keyboard
+#	  tables - TD
+#	* add 'crt' entry - TD
+#	* correct typos in 'linux-c' entry - TD
+#
+# 1999/3/14
+#	* update entries for BSD/OS console to use klone+sgr and klone+color
+#	  (Jeffrey C Honig)
+#
+# 1999/3/27
+#	* adjust xterm-xfree86 miscellaneous keypad keys, as per patch #94 - TD.
+#
+# 1999/4/10
+#	* add linux-lat, from RedHat patches to ncurses 4.2
+#
+# 1999/4/17
+#	* add complete set of default function-key definitions for scoansi - TD.
+#
+# 1999/7/3
+#	* add cnorm, cvvis for Linux 2.2 kernels
+#
+# 1999/7/24
+#	* add kmous to xterm-r5 -TD
+#	* correct entries xterm+sl and xterm+sl-twm, which were missing the
+#	  parent "use" clause -TD
+#
+# 1999/7/31
+#	* corrected cnorm, added el1 in 'screen' description -TD
+#
+# 1999/8/14
+#	* add ms-vt100 -TD
+#
+# 1999/8/21
+#	* corrections to beterm entry -TD
+#
+# 1999/8/28
+#	* add cygwin entry -TD
+#
+# 1999/9/4
+#	* minor corrections for beterm entry -TD
+#
+# 1999/9/18
+#	* add acsc string to HP 70092 terminfo entry -Joerg Wunsch
+#
+# 1999/9/25
+#	* add amiga-8bit entry
+#	* add console entries from NetBSD: ofcons, wsvt25, wsvt25m, rcons,
+#	  rcons-color, based on
+#	  ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/termcap/termcap.src
+#	* add alias for iris-ansi-net
+#
+# 1999/10/2
+#	* corrected scoansi entry's acsc, some function keys, add color -TD
+#
+# 1999/10/23
+#	* add cnorm, cvvis to cons25w, and modify ncv to add 'dim' -TD
+#	* reorder ncsa entries to make ncsa-vt220 use the alternate function
+#	  key mapping, leaving Potorti's entries more like he named them -TD
+#	* remove enter/exit am-mode from cygwin -TD
+#
+# 1999/10/30
+#	* correct typos in several entries (missing '[' from CSI):
+#	  mgr-sun, ncsa-m, vt320-k3, att505, avt-ns, as well as smir/rmir
+#	  strings for avt-ns -TD
+#	* add 'dim' to ncv mask for linux (report by Klaus Weide).
+#
+# 1999/11/27
+#	* correct kf1-kf4 in xterm-r6 which were vt100-style PF1-PF4 -TD
+#	* add hts to xterm-r6, and u6-u9 to xterm-r5 -TD
+#	* add xterm-88color and xterm-256color -TD
+#
+# 1999/12/4
+#	* add "obsolete" termcap strings -TD
+#	* add kvt and gnome entries -TD
+#
+# 1999/12/11
+#	* correct cup string for regent100 -TD
+#
+# 2000/1/1
+#	* update mach, add mach-color based on Debian diffs for ncurses 5.0 -TD
+#	* add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp -TD
+#	* change OTrs capabilities to rs2 -TD
+#	* add obsolete and extended capabilities to 'screen' -TD
+#
+# 2000/1/5
+#	* remove kf0 from rxvt, vt520, vt525 and ibm5151 since it conflicts
+#	  with kf10 -TD
+#	* updated xterm-xf86-v40, making kdch1 correspond to vt220 'Remove',
+#	  and adding kcbt -TD
+#
+# 2000/1/12
+#	* remove incorrect khome/kend from xterm-xf86-v333, which was based on
+#	  nonstandard resource settings -TD
+#
+# 2000/2/26
+#	* minor fixes for xterm-*, based on Debian #58530 -TD
+#
+# 2000/3/4
+#	* add several terminal types from esr's "11.0", as well as comments.
+#	  bq300*, dku7102-old, dku7202, hft, lft, pcmw, pmcons, tws*, vip*,
+#	  vt220-8bit, vt220-old, wy85-8bit
+#
+# 2000/3/18
+#	* add several terminal types from esr's "11.0.1" (ansi-*).
+#	* update OTxx capabilities for changes on 2000/3/4.
+#	* revert part of vt220 change (request by Todd C Miller for OpenBSD)
+#
+# 2000/3/26
+#	* move screen's AX extension to ecma+color, modify several entries to
+#	  use that, adjusting ncv as needed -TD
+#
+# 2000/4/8
+#	* add bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig)
+#	* correct spelling error in entry name: bq300-rv was given as bg300-rv
+#	  in esr's version.
+#
+# 2000/4/15
+#	* add cud, ech, etc., to beterm based on feedback from Rico Tudor -TD
+#	* correct color definition for ibm3164, make minor changes to other
+#	  IBM terminal definitions based on recent terminfo descriptions -TD
+#
+# 2000/4/22
+#	* add mgterm, from NetBSD -TD
+#	* add alias sun-cgsix for sun-ss5 as per NetBSD
+#	* change cons25w to use rs2 for reset rather than rs1 -TD
+#	* add rc/sc to aixterm based on manpage -TD
+#
+# 2000/5/13
+#	* remove ncv from xterm-16color, xterm-256color
+#
+# 2000/6/10
+#	* add kmous capability to linux to use Joerg Schoen's gpm patch.
+#
+# 2000/7/1
+#	* add Eterm (Michael Jennings)
+#
+# 2000-07-18
+#       * add amiga-vnc entry.
+#
+# 2000-08-12
+#	* correct description of Top Gun Telnet.
+#	* add kterm-color
+#
+# 2000-08-26
+#	* add qansi* entries from QNX ftp site.
+#
+# 2000-09-16
+#	* add Matrix Orbital entries by Eric Z. Ayers).
+#	* add xterm-basic, xterm-sco entries, update related entries to XFree86
+#	  4.0.1c -TD
+#
+# 2000-09-17
+#	* add S0, E0 extensions to screen's entry -TD
+#
+# 2000-09-23
+#	* several corrections based on tic's new parameter-checking code -TD
+#	* modify xterm-r6 and similar rs2 sequences which had \E7...\E8
+#	  bracketing sequences that reset video attributes (\E8 would restore
+#	  them) -TD
+#
+# 2000-11-11
+#	* rename cygwin to cygwinB19, adapt newer entry from Earnie Boyd -TD
+#
+# 2000-12-16
+#	* improved scoansi, based on SCO man-page, and testing console,
+#	  scoterm with tack -TD
+#
+# 2001-01-27
+#	* modify kterm to use acsc via SCS controls.
+#
+# 2001-02-10
+#	* screen 3.9.8 allows xterm mouse controls to pass-through
+#
+# 2001-03-11
+#	* remove spurious "%|" from some xterm entries.
+#
+# 2001-03-31
+#	* modify 'screen' khome/kend to match screen 3.09.08
+#	* add examples of 'screen' customization (screen.xterm-xfree86,
+#	  screen.xterm-r6, screen.teraterm) -TD
+#
+# 2001-04-14
+#	* correct definitions of shifted editing keys for xterm-xfree86 -TD
+#	* add "Apple_Terminal" entries -Benjamin Sittler
+#	* remove time-delays from "Apple_Terminal" entries -TD
+#	* make sgr entries time-delays consistent with individual caps -TD
+#
+# 2001-05-05
+#	* corrected/updated screen.xterm-xfree86
+#
+# 2001-05-19
+#	* ELKS descriptions, from Federico Bianchi
+#	* add u6 (CSR) to Eterm (Michael Jennings).
+#
+# 2001-07-21
+#	* renamed "Apple_Terminal" entries to "nsterm" to work with Solaris's
+#	  tic which handles names no longer than 14 characters.  Add
+#	  corresponding descriptions for the Darwin PowerPC console named
+#	  "xnuppc" -Benjamin Sittler
+#
+# 2001-09-01
+#	* change kbs in mach entries to ^? (Marcus Brinkmann).
+#
+# 2001-11-17
+#	* add "putty" entry -TD
+#	* updated "Apple_Terminal" entries -Benjamin Sittler
+#
+# 2001-11-24
+#	* add ms-vt100-color entry -TD
+#	* add "konsole" entries -TD
+#
+# 2001-12-08
+#	* update gnome entry to Redhat 7.2 -TD
+#
+# 2002-05-25
+#	* add kf13-kf48 strings to cons25w -TD
+#	* add pcvt25-color entry -TD
+#	* changed a few /usr/lib/tabset -> /system/share/tabset.
+#	* improve some features of scoansi entry based on SCO's version -TD
+#	* add scoansi-new entry corresponding to OpenServer 5.0.6
+#
+# 2002-06-15
+#	* add kcbt to screen entry -TD
+#
+# 2002-06-22
+#	* add rxvt-16color, ibm+16color, mvterm entries -TD
+#
+# 2002-09-28
+#	* split out linux-basic entry, making linux-c inherit from that, and
+#	  in turn linux (with cnorm, etc) inherit from linux-c-nc to reflect
+#	  the history of this console type -TD
+#	* scaled the linux-c terminfo entry to match linux-c-nc, i.e., the
+#	  r/g/b parameters of initc are in the range 0 to 1000 -TD
+#
+# 2002-10-05
+#	* minor fix for scale-factor of linux-c and linux-c-nc -TD
+#
+# 2002-11-09
+#	* split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2
+#	  in the latter -TD
+#
+# 2002-11-16
+#	* add entries for mterm (mterm, mterm-ansi, decansi) -TD
+#	* ncr260wy350pp has only 16 color pairs -TD
+#	* add sun-type4 from NetBSD -TD
+#	* update xterm-xfree86 to current (patch 170) -TD
+#	* add screen-bce, screen-s entries -TD
+#	* add xterm-1002, xterm-1003 entries -TD
+#
+# 2003-01-11
+#	* update homepage for Top Gun Telnet/SSH
+#
+# 2003-01-25
+#	* reduce duplication in emx entries, added emx-base -TD
+#
+# 2003-05-24
+#	* corrected acs for screen.teraterm -TD
+#	* add tkterm entry -TD
+#
+# 2003-07-15
+#	* cygwin changes from Charles Wilson:
+#	  misc/terminfo.src (nxterm|xterm-color): make xterm-color
+#	  primary instead of nxterm, to match XFree86's xterm.terminfo
+#	  usage and to prevent circular links.
+#	  (rxvt): add additional codes from rxvt.org.
+#	  (rxvt-color): new alias
+#	  (rxvt-xpm): new alias
+#	  (rxvt-cygwin): like rxvt, but with special acsc codes.
+#	  (rxvt-cygwin-native): ditto.  rxvt may be run under XWindows, or
+#	  with a "native" MSWin GUI.  Each takes different acsc codes,
+#	  which are both different from the "normal" rxvt's acsc.
+#	  (cygwin): cygwin-in-cmd.exe window.  Lots of fixes.
+#	  (cygwinDBG): ditto.
+#
+# 2003-09-27
+#	* update gnome terminal entries -TD
+#
+# 2003-10-04
+#	* add entries for djgpp 2.03 and 2.04 -TD
+#
+# 2003-10-25
+#	* add alias for vtnt -TD
+#	* update xterm-xfree86 for XFree86 4.4 -TD
+#
+# 2003-11-22
+#	* add linux-vt (Andrey V Lukyanov)
+#
+# 2003-12-20
+#	* add screen.linux -TD
+#
+# 2004-01-10
+#	* revised/improved entries for tvi912b, tvi920b (Benjamin Sittler)
+#
+# 2004-01-17
+#	* add OpenNT/Interix/SFU entries (Federico Bianchi)
+#	* add vt100+ and vt-utf8 entries -TD
+#	* add uwin entry -TD
+#
+# 2004-03-27
+#	* add sgr strings to several common entries lacking them, e.g.,
+#	  screen, to make the entries more portable -TD
+#	* remove cvvis from rxvt entry, since it is the same as cnorm -TD
+#	* similar fixups for cvvis/cnorm various entries -TD
+#
+# 2004-05-22
+#	* remove 'ncv' from xterm-256color (patch 188) -TD
+#
+# 2004-06-26
+#	* add mlterm -TD
+#	* add xterm-xf86-v44 -TD
+#	* modify xterm-new aka xterm-xfree86 to accommodate luit, which relies
+#	  on G1 being used via an ISO-2022 escape sequence (report by
+#	  Juliusz Chroboczek) -TD
+#	* add 'hurd' entry -TD
+#
+# 2004-07-03
+#	* make xterm-xf86-v43 derived from xterm-xf86-v40 rather than
+#	  xterm-basic -TD
+#	* align with xterm #192's use of xterm-new -TD
+#	* update xterm-new and xterm-8bit for cvvis/cnorm strings -TD
+#	* make xterm-new the default "xterm" -TD
+#
+# 2004-07-10
+#	* minor fixes for emu -TD
+#	* add emu-220
+#	* add rmam/smam to linux (Trevor Van Bremen)
+#	* change wyse acsc strings to use 'i' map rather than 'I' -TD
+#	* fixes for avatar0 -TD
+#	* fixes for vp3a+ -TD
+#
+# 2004-07-17
+#	* add xterm-pc-fkeys -TD
+#	* review/update gnome and gnome-rh90 entries (prompted by
+#	  Redhat Bugzilla #122815) -TD
+#	* review/update konsole entries -TD
+#	* add sgr, correct sgr0 for kterm and mlterm -TD
+#	* correct tsl string in kterm -TD
+#
+# 2004-07-24
+#	* make ncsa-m rmacs/smacs consistent with sgr -TD
+#	* add sgr, rc/sc and ech to syscons entries -TD
+#	* add function-keys to decansi -TD
+#	* add sgr to mterm-ansi -TD
+#	* add sgr, civis, cnorm to emu -TD
+#	* correct/simplify cup in addrinfo -TD
+#	* corrections for gnome and konsole entries
+#	  (Redhat Bugzilla #122815) -Hans de Goede
+#	* modify DEC entries (vt220, etc), to add sgr string, and to use
+#	  ISO-2022 strings for rmacs/smacs -TD
+#
+# 2004-07-31
+#	* rename xterm-pc-fkeys to xterm+pcfkeys -TD
+#
+# 2004-08-07
+#	* improved putty entry -Robert de Bath
+#
+# 2004-08-14
+#	* remove dch/dch1 from rxvt because they are implemented inconsistently
+#	  with the common usage of bce/ech -TD
+#	* remove khome from vt220 (vt220's have no home key) -TD
+#	* add rxvt+pcfkeys -TD
+#
+# 2004-08-21
+#	* modify several entries to ensure xterm mouse and cursor visibility
+#	  are reset in rs2 string:  hurd, putty, gnome, konsole-base, mlterm,
+#	  Eterm, screen.  (The xterm entries are left alone - old ones for
+#	  compatibility, and the new ones do not require this change) -TD
+#
+# 2004-08-28
+#	* add morphos entry -Pavel Fedin
+#	* modify amiga-8bit to add khome/kend/knp/kpp -Pavel Fedin
+#	* corrected \E[5?l to \E[?5l in vt320 entries -TD
+#
+# 2004-11-20
+#	* update wsvt25 entry -TD
+#
+# 2005-01-29
+#	* update pairs for xterm-88color and xterm-256color to reflect the
+#	  ncurses extended-color support -TD
+#
+# 2005-02-26
+#	* modify sgr/sgr0 in xterm-new to improve tgetent's derived "me" -TD
+#	* add aixterm-16color to demonstrate 16-color capability -TD
+#
+# 2005-04-23
+#	* add media-copy to vt100 -TD
+#	* corrected acsc string for vt52 -TD
+#
+# 2005-04-30
+#	* add kUP, kDN (user-defined shifted up/down arrow) definitions for
+#	  xterm-new -TD
+#	* add kUP5, kUP6, etc., for xterm-new and rxvt -TD
+#
+# 2005-05-07
+#	* re-corrected acsc string for vt52 -TD
+#
+# 2005-05-28
+#	* corrected sun-il sgr string which referred to bold and underline -TD
+#	* add sun-color entry -TD
+#
+# 2005-07-23
+#	* modify sgr0 in several entries to reset alternate-charset as in the
+#	  sgr string -TD
+#	* modify sgr string of prism9 to better match the individual
+#	  attributes -TD
+#
+# 2005-10-15
+#	* correct order of use= in rxvt-basic -TD
+#
+# 2005-10-26
+#	* use kind/kri as shifted up/down cursor keys for xterm-new -TD
+#
+# 2005-11-12
+#	* other minor fixes to cygwin based on tack -TD
+#	* correct smacs in cygwin (report by Baurzhan Ismagulov).
+#
+# 2006-02-18
+#	* add nsterm-16color entry -TD
+#	* remove ncv flag from xterm-16color -TD
+#	* remove setf/setb from xterm-256color to match xterm #209 -TD
+#	* update mlterm entry to 2.9.2 -TD
+#
+# 2006-02-25
+#	* fixes to make nsterm-16color match report
+#	  by Christian Ebert -Alain Bench
+#
+# 2006-04-22
+#	* add xterm+256color building block -TD
+#	* add gnome-256color, putty-256color, rxvt-256color -TD
+#
+# 2006-05-06
+#	* add hpterm-color -TD
+#
+# 2006-06-24
+#	* add xterm+pcc0, xterm+pcc1, xterm+pcc2, xterm+pcc3 -TD
+#	* add gnome-fc5 (prompted by GenToo #122566) -TD
+#	* remove obsolete/misleading comments about kcbt on Linux -Alain Bench
+#	* improve xterm-256color by combining the ibm+16color setaf/setab
+#	  strings with SGR 48.  The setf/setb strings also are cancelled here
+#	  rather than omitted so derived entries will cancel those also -Alain
+#	  Bench
+#
+# 2006-07-01
+#	* add some notes regarding copyright to terminfo.src -TD
+#	* use rxvt+pcfkeys in Eterm -TD
+#	* remove km and flash from gnome, Eterm and rxvt since they do not work
+#	  as one would expect (km sends ESC rather than setting the 8th bit
+#	  of the key) -TD
+#	* add/use ansi+enq, vt100+enq and vt102+enq -TD
+#	* add konsole-solaris -TD
+#
+# 2006-07-22
+#	* update xterm-sun and xterm-sco entries to match xterm #216 -TD
+#	* modify is2/rs2 strings for xterm-r6 as per fix in xterm #148 -TD
+#	* modify xterm-24 to inherit from "xterm" -TD
+#	* add xiterm entry -TD
+#	* add putty-vt100 entry -TD
+#	* corrected spelling of Michael A Dorman's name, prompted by
+#	  http://www.advogato.org/person/mdorman/diary.html -TD
+#
+# 2006-08-05
+#	* add xterm+pcf0, xterm+pcf2 from xterm #216 -TD
+#	* update xterm+pcfkeys to match xterm #216 -TD
+#
+# 2006-08-17
+#	* make descriptions of xterm entries consistent with its terminfo -TD
+#
+# 2006-08-26
+#	* add xfce, mgt -TD
+#
+# 2006-09-02
+#	* correct acsc string in kterm -TD
+#
+# 2006-09-09
+#	* add kon entry -TD
+#	* remove invis from linux and related entries, add klone+sgr8 for those
+#	  that implement the feature (or have not been shown to lack it) -TD
+#
+# 2006-09-23
+#	* add ka2, kb1, kb3, kc2 to vt220-keypad as an extension -TD
+#	* minor improvements to rxvt+pcfkeys -TD
+#
+# 2006-09-30
+#	* fix a few typos in if/then/else expressions -TD
+#
+# 2006-10-07
+#	* add several GNU Screen variations with 16- and 256-colors, and
+#	  status line (Alain Bench).
+#
+# 2007-03-03
+#	* add Newbury Data entries (Jean-Charles Billaud).
+#
+# 2007-06-10
+#	* corrected xterm+pcf2 modifiers for F1-F4, match xterm #226 -TD
+#
+# 2007-07-14
+#	* restore section of pre-ncurses-4.2 changelog to fix attribution -TD
+#	* add konsole-256color entry -TD
+#
+# 2007-08-18
+#	* add 9term entry (request by Juhapekka Tolvanen) -TD
+#
+# 2007-10-13
+#	* correct kIC in rxvt+pcfkeys (prompted by Debian #446444) -TD
+#	* add shift-control- and control-modified keys for rxvt editing
+#	  keypad -TD
+#	* update mlterm entry to 2.9.3 -TD
+#	* add mlterm+pcfkeys -TD
+#
+# 2007-10-20
+#	* move kLFT, kRIT, kind and kri capabilities from xterm-new to
+#	  xterm+pcc0, etc., to make the corresponding building blocks reflect
+#	  xterm's capabilities -TD
+#	* add mrxvt entry -TD
+#	* add xterm+r6f2, use in mlterm and mrxvt entries -TD
+#
+# 2007-11-03
+#	* correct acsc strings for h19 and z100 (Benjamin Sittler)
+#
+# 2007-11-11
+#	* use xterm-xf86-v44 for "xterm-xfree86", reflecting changes to
+#	  xterm starting with patch #216 -TD
+#	* make legacy xterm entries such as xterm-24 inherit from xterm-old,
+#	  to match xterm #230 -TD
+#	* extend xterm+pccX entries to match xterm #230 -TD
+#	* add xterm+app, xterm+noapp, from xterm #230 -TD
+#	* add/use xterm+pce2 from xterm #230, in xterm+pcfkeys -TD
+#
+# 2008-04-19
+#	* add screen.rxvt -TD
+#
+# 2008-04-28
+#	* add screen+fkeys (prompted by Debian #478094) -TD
+#
+# 2008-06-28
+#	* add screen.mlterm -TD
+#	* improve mlterm and mlterm+pcfkeys -TD
+#
+# 2008-08-23
+#	* add Eterm-256color, Eterm-88color -TD
+#	* add rxvt-88color -TD
+#
+# 2008-10-12
+#	* add teraterm4.59 entry, use that as primary teraterm entry, rename
+#	  original to teraterm2.3 -TD
+#	* update "gnome" to 2.22.3 -TD
+#	* update "konsole" to 1.6.6 -TD
+#	* add "aterm" -TD
+#	* add "linux2.6.26" -TD
+#
+# 2008-11-15
+#	* change several \E[2g (clear tab at current column) to \E[3g
+#	  (clear all tabs) to match definition for tbc capability -TD
+#
+# 2008-11-29
+#	* add eterm-color -TD
+#
+# 2009-01-10
+#	* add screen.Eterm -TD
+#
+# 2009-03-28
+#	* correct typo in pfkey of ansi.sys-old
+#	  (report by Kalle Olavi Niemitalo)
+#	* move function- and cursor-keys from emx-base to ansi.sys, and create
+#	  a pfkey capability which handles F1-F48 -TD
+#
+# 2009-05-02
+#	* add vwmterm entry (Bryan Christ)
+#
+# 2009-09-19
+#	* change ncv and op capabilities in sun-color to match Sun's entry for
+#	  this (report by Laszlo Peter)
+#	* improve interix smso by using reverse rather than bold (report by
+#	  Kristof Zelechovski).
+#
+# 2009-10-03
+#	* remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+#	* add linux-16color (Benjamin Sittler)
+#	* correct initc capability of linux-c-nc end-of-range (Benjamin Sittler)
+#	* similar change for dg+ccc and dgunix+ccc (Benjamin Sittler)
+#	* add ccc and initc capabilities to xterm-16color -TD
+#
+# 2009-10-31
+#	* updated nsterm* entries (Benjamin Sittler, prompted by GenToo #206201)
+#
+# 2009-12-12
+#	* updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta)
+#
+# 2009-12-19
+#	* add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler)
+#	* rename minix to minix-1.7, add minix entry for Minux3 -TD
+#
+# 2009-12-26
+#	* add bterm (bogl 0.1.18) -TD
+#	* minor fix to rxvt+pcfkeys -TD
+#
+# 2010-02-06
+#	* update mrxvt to 0.5.4, add mrxvt-256color -TD
+#
+# 2010-02-13
+#	* add several screen-bce.XXX entries -TD
+#
+# 2010-02-23
+#	* modify screen-bce.XXX entries to exclude ech, since screen's color
+#	  model does not clear with color for that feature -TD
+#
+# 2010-03-20
+#	* rename atari and st52 to atari-old, st52-old, use newer entries from
+#	  FreeMiNT by Guido Flohr (from patch/report by Alan Hourihane).
+#
+# 2010-06-12
+#	* add mlterm+256color entry -TD
+#
+# 2010-07-17
+#	* add hard-reset for rs2 to wsvt25 to help ensure that reset ends
+#	  the alternate character set (patch by Nicholas Marriott)
+#
+# 2010-08-28
+#	* improve acsc for vt52 (Benjamin Sittler)
+#	* modify nsterm entries for consistent sgr/sgr0 -TD
+#	* modify xnuppc entries for consistent sgr/sgr0 -TD
+#	* add invis to tek4115 sgr -TD
+#
+# 2010-09-11
+#	* reformat acsc strings to canonical format -TD
+#
+# 2010-09-25
+#	* add "XT" capability to entries for terminals that support both
+#	  xterm-style mouse- and title-controls, for "screen" which
+#	  special-cases TERM beginning with "xterm" or "rxvt" -TD
+#
+# 2010-10-02
+#	* fill in no-parameter forms of cursor-movement where a parameterized
+#	  form is available -TD
+#	* fill in missing cursor controls where the form of the controls is
+#	  ANSI -TD
+#	* add parameterized cursor-controls to linux-basic (report by Dae) -TD
+#
+# 2010-10-09
+#	* correct comparison used for setting 16-colors in linux-16color
+#	  entry (Novell #644831) -TD
+#	* improve linux-16color entry, using "dim" for color-8 which makes it
+#	  gray rather than black like color-0 -TD
+#
+# 2010-11-20
+#	* make "vte" the principal entry defining "gnome", since GNOME terminal
+#	  is merely one of several terminals whose behavior is provided by this
+#	  library -TD
+#
+# 2010-11-27
+#	* fix typo in rmso for tek4106 -Goran Weinholt
+#
+# 2010-12-11
+#	* suppress ncv in screen entry, allowing underline -Alejandro R. Sedeno
+#	* also suppress ncv in konsole-base -TD
+#
+# 2011-02-05
+#	* add U8 feature to denote entries for terminal emulators which do not
+#	  support VT100 SI/SO when processing UTF-8 encoding -TD
+#	* add xterm-utf8 as a demo of the U8 feature -TD
+#
+# 2011-02-20
+#	* add cons25-debian entry (Brian M Carlson, Debian #607662).
+#
+# 2011-06-11
+#	* update minix entry to minix 3.2 (Thomas Cort).
+#
+# 2011-07-09
+#	* fix inconsistent tabset path in pcmw (Todd C. Miller).
+#	* remove a backslash which continued comment, obscuring altos3
+#	  definition with OpenBSD toolset (Nicholas Marriott).
+#
+# 2011-07-16
+#	* add/use xterm+tmux chunk from xterm #271 -TD
+#	* resync xterm-new entry from xterm #271 -TD
+#	* add E3 extended capability to linux-basic (Miroslav Lichvar)
+#	* add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD
+#	* add SI/SO change to linux2.6 entry (Debian #515609) -TD
+#
+# 2011-07-21
+#	* add kich1 to sun (Yuri Pankov)
+#	* use bold rather than reverse for smso in sun-color (Yuri Pankov).
+#
+# 2011-08-06
+#	* corrected k9 in dg460-ansi, add other features based on manuals -TD
+#
+# 2011-08-20
+#	* minor cleanup of X-terminal emulator section -TD
+#	* add terminator entry -TD
+#	* add simpleterm entry -TD
+#
+# 2011-09-10
+#	* add xterm+kbs fragment from xterm #272 -TD
+#
+# 2011-11-12
+#	* add pccon entries for OpenBSD console (Alexei Malinin)
+#
+# 2011-12-17
+#	* corrected old changelog comments -TD
+#
+# 2011-11-24
+#	* add putty-sco -TD
+#
+# 2012-01-28
+#	* add mach-gnu (Samuel Thibault)
+#	* add mach-gnu-color, tweaks to mach-gnu -TD
+#	* make sgr for sun-color agree with smso -TD
+#	* make sgr for prism9 agree with other caps -TD
+#	* make sgr for icl6404 agree with other caps -TD
+#	* make sgr for ofcons agree with other caps -TD
+#	* make sgr for att5410v1, att4415, att620 agree with other caps -TD
+#	* make sgr for aaa-unk, aaa-rv agree with other caps -TD
+#	* make sgr for avt-ns agree with other caps -TD
+#
+# 2012-02-11
+#	* make sgr for xterm-pcolor agree with other caps -TD
+#	* make sgr for att5425 agree with other caps -TD
+#	* make sgr for att630 agree with other caps -TD
+#	* make sgr for linux entries agree with other caps -TD
+#	* make sgr for tvi9065 agree with other caps -TD
+#	* make sgr for ncr260vt200an agree with other caps -TD
+#	* make sgr for ncr160vt100pp agree with other caps -TD
+#	* make sgr for ncr260vt300an agree with other caps -TD
+#	* make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD
+#	* make sgr for cygwin, cygwinDBG agree with other caps -TD
+#
+# 2012-03-31
+#	* correct order of use-clauses in st-256color -TD
+#
+# 2012-04-01
+#	* revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD
+#
+# 2012-04-14
+#	* document all of the user-defined capabilities in one place -TD
+#	* add XT to some places to improve usefulness for other applications
+#	  than screen, which would like to pretend that xterm's title is
+#	  a status-line. -TD
+#	* change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review
+#	  of ordering and overrides -TD
+#
+# 2012-04-21
+#	* add msgr to vt420, similar DEC vtXXX entries -TD
+#	* add several missing vt420 capabilities from vt220 -TD
+#	* factor out ansi+pp from several entries -TD
+#	* change xterm+sl and xterm+sl-twm to include only the status-line
+#	  capabilities and not "use=xterm", making them more generally useful
+#	  as building-blocks -TD
+#	* add dec+sl building block, as example -TD
+#
+# 2012-04-28
+#	* fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD
+#	* add eslok flag to dec+sl -TD
+#	* dec+sl applies to vt320 and up -TD
+#	* drop wsl width from xterm+sl -TD
+#	* reuse xterm+sl in putty and nsca-m -TD
+#	* add ansi+tabs to vt520 -TD
+#	* add ansi+enq to vt220-vt520 -TD
+#
+# 2012-05-05
+#	* remove p6 (bold) from opus3n1+ for consistency -TD
+#	* remove acs stuff from env230 per clues in Ingres termcap -TD
+#	* modify env230 sgr/sgr0 to match other capabilities -TD
+#	* modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD
+#	* make sgr for dku7202 agree with other caps -TD
+#	* make sgr for ibmpc agree with other caps -TD
+#	* make sgr for tek4107 agree with other caps -TD
+#	* make sgr for ndr9500 agree with other caps -TD
+#	* make sgr for sco-ansi agree with other caps -TD
+#	* make sgr for d410 agree with other caps -TD
+#	* make sgr for d210 agree with other caps -TD
+#	* make sgr for d470c, d470c-7b agree with other caps -TD
+#
+# 2012-05-12
+#	* rewrite vt520 entry based on vt420 -TD
+#	* corrected 'op' for bterm (report by Samuel Thibault) -TD
+#
+# 2012-06-02
+#	* add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord,
+#	  analysis by Martin Husemann).
+#	* add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by
+#	  Onno van der Linden).
+#	* add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD
+#	* add kdch1, etc., to qvt108 -TD
+#	* add dl1/il1 to some entries based on dl/il values -TD
+#	* add dl to simpleterm -TD
+#
+# 2012-06-10
+#	* modify some older xterm entries to align with xterm source -TD
+#	* separate "xterm-old" alias from "xterm-r6" -TD
+#
+# 2012-07-28
+#	* add E3 to xterm-basic and putty -TD
+#
+# 2012-08-11
+#	* add nsterm-256color, make this the default nsterm -TD
+#	* remove bw from nsterm-bce, per testing with tack -TD
+#
+# 2012-10-12
+#       * add vte-2012, gnome-2012, making these the defaults for vte/gnome
+#	  (patch by Christian Persch).
+#
+# 2012-11-02
+#	* reviewed vte-2012, reverted most of the change since it was incorrect
+#	  based on testing with tack -TD
+#	* un-cancel the initc in vte-256color, since this was implemented
+#	  starting with version 0.20 in 2009 -TD
+#
+# 2013-03-16
+#	* correct typo in sgr string for sun-color,
+#	  add bold for consistency with sgr,
+#	  change smso for consistency with sgr -TD
+#	* correct typo in sgr string for terminator -TD
+#	* add blink to the attributes masked by ncv in linux-16color (report
+#	  by Benjamin Sittler)
+#
+# 2013-03-23
+#	* change initialization for vt220, similar entries for consistency
+#	  with cursor-key strings (NetBSD #47674) -TD
+#	* further improvements to linux-16color (Benjamin Sittler)
+#
+# 2013-05-11
+#	* move nsterm-related entries out of "obsolete" section to more
+#	  plausible "ansi consoles" -TD
+#	* additional cleanup of table-of-contents by reordering -TD
+#
+# 2013-06-07
+#	* added note to clarify Terminal.app's non-emulation of the various
+#	  terminal types listed in the preferences dialog -TD
+#
+# 2013-11-02
+#	* use TS extension to describe xterm's title-escapes -TD
+#	* modify terminator and nsterm-s to use xterm+sl-twm building block -TD
+#	* update hurd.ti, add xenl to reflect 2011-03-06 change in
+#	  http://git.savannah.gnu.org/cgit/hurd/hurd.git/log/console/display.c
+#	  (Debian #727119).
+#	* simplify pfkey expression in ansi.sys -TD
+#
+# 2013-11-10
+#	* split-out building blocks xterm+sm+1002 and xterm+sm+1003 -TD
+#
+# 2014-02-22
+#	* updated notes for wsvt25 based on tack and vttest -TD
+#	* add teken entry to show actual properties of FreeBSD's "xterm"
+#	  console -TD
+#
+# 2014-03-22
+#	* add terminology entry -TD
+#	* add mlterm3 entry, use that as "mlterm" -TD
+#	* inherit mlterm-256color from mlterm -TD
+#
+# 2014-03-23
+#	* fix typo in "mlterm" entry (report by Gabriele Balducci) -TD
+#
+# 2014-03-30
+#	* cancel ccc in putty-256color and konsole-256color for consistency
+#	  with the cancelled initc capability (patch by Sven Zuhlsdorf).
+#	* add xterm+256setaf building block for various terminals which only
+#	  get the 256-color feature half-implemented -TD
+#	* updated "st" entry (leaving the 0.1.1 version as "simpleterm") to
+#	  0.4.1 -TD
+#
+# 2014-05-03
+#	* add vt520ansi (Mike Gran)
+#
+# 2014-05-24
+#	* correct several entries which had termcap-style padding used in
+#	  terminfo: adm21, aj510, alto-h19, att605-pc, x820 -TD
+#	* correct syntax for padding in some entries: dg211, h19 -TD
+#	* correct ti924-8 which had confused padding versus octal escapes -TD
+#	* correct padding in sbi entry -TD
+#
+# 2014-06-07
+#	* update xterm-new to patch #305 -TD
+#	+ change screen's smso to use SGR 7 (ECMA-80 reverse) rather than SGR 3
+#	  (italic).  This was a long-ago typo in screen 3.1.1 which was
+#	  overlooked until a few terminal emulators implemented the feature -TD
+#
+# 2014-06-09
+#	> fix regression in screen terminfo entries (reports by Christian
+#	  Ebert, Gabriele Balducci) -TD
+#	+ revert the change to screen; see notes for why this did not work -TD
+#	+ cancel sitm/ritm for entries which extend "screen", to work around
+#	  screen's hardcoded behavior for SGR 3 -TD
+#
+# 2014-06-14
+#	+ modify sgr for screen.xterm-new to support dim capability -TD
+#	+ add dim capability to nsterm+7 -TD
+#	+ cancel dim capability for iterm -TD
+#	+ add dim, invis capabilities to vte-2012 -TD
+#	+ add sitm/ritm to konsole-base and mlterm3 -TD
+#
+# 2014-10-06
+#	+ add xterm-1005 and xterm-1006 entries, with suggested extension
+#	  capability "xm" -TD
+#
+# 2014-10-07
+#	+ update test-report for mrxvt -TD
+#
+# 2014-10-11
+#	+ add xterm-x10mouse, xterm-x11mouse, etc. -TD
+#
+# 2014-10-18
+#	+ reviewed terminology 0.6.1, add function key definitions.  None of
+#	  the vt100-compatibility issues were improved -TD
+#
+# 2015-04-22
+#	+ add 'dim' capability to screen entry (report by Leonardo B Schenkel)
+#	+ add several key definitions to nsterm-bce to match preconfigured
+#	  keys, e.g., with OSX 10.9 and 10.10 (report by Leonardo B Schenkel)
+#
+# 2015-05-02
+#	+ remove unnecessary ';' from E3 capabilities -TD
+#	+ add tmux entry, derived from screen (patch by Nicholas Marriott).
+#	+ split-out recent change to nsterm-bce as nsterm-build326, and add
+#	  nsterm-build342 to reflect changes with successive releases of OSX
+#	  (discussion with Leonardo B Schenkel)
+#	+ add xon, ich1, il1 to ibm3161 (patch by Stephen Powell,
+#	  Debian #783806)
+#
+# 2015-05-17
+#	+ remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+#	+ add several screen.XXX entries to support the respective variations
+#	  for 256 colors -TD
+#
+# 2015-05-23
+#	+ add putty+fnkeys* building-block entries -TD
+#
+# 2015-05-30
+#	+ remove spurious "%;" from st entry (report by Daniel Pitts) -TD
+#	+ add vte-2014, update vte to use that -TD
+#
+# 2015-06-27
+#	+ comment-out "screen.xterm" entry, and inherit screen.xterm-256color
+#	  from xterm-new (report by Richard Birkett) -TD
+#
+# 2015-07-25
+#	+ add status line to tmux via xterm+sl (patch by Nicholas Marriott).
+#	+ fixes for st 0.5 from testing with tack -TD
+#
+######## SHANTIH!  SHANTIH!  SHANTIH!
diff --git a/ncurses/Makefile b/ncurses/Makefile
new file mode 100644
index 0000000..528f13f
--- /dev/null
+++ b/ncurses/Makefile
@@ -0,0 +1,2420 @@
+# $Id: Makefile.in,v 1.147 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses source code.
+#
+# This makes the following:
+#	programs
+#	includes
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+# and the programs with the configured default model.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+CF_MFLAGS 	= 
+
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncurses
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644
+INSTALL_PROG	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= arm-linux-androideabi-ar
+ARFLAGS		= -curv
+AWK		= mawk
+LD		= arm-linux-androideabi-ld
+LN_S		= ln -s -f
+NM		= arm-linux-androideabi-nm
+
+CTAGS		= 
+ETAGS		= 
+
+CC		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang
+CPP		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang -E
+CFLAGS		= -target arm-linux-androideabi -I/home/shade/dev/cm/13/bionic/libc/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi -I/home/shade/dev/cm/13/bionic/libc/arch-arm/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi/asm-arm --sysroot=/home/shade/dev/cm/13/prebuilts/ndk/current/platforms/android-21/arch-arm -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -I/home/shade/dev/cm/13/bionic/libm/include -I/home/shade/dev/cm/13/bionic/libm/include/arm -I/home/shade/dev/cm/13/external/libselinux/include -I/home/shade/dev/cm/13/system/core/include -I/home/shade/dev/cm/13/bionic/libc/dns/include -I.  --param max-inline-insns-single=1200
+
+INCDIR		= $(srcdir)/../include
+CPPFLAGS	= -DHAVE_CONFIG_H -I. -I../include   -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+BUILD_CPPFLAGS	= -DHAVE_CONFIG_H -DUSE_BUILD_CC -I../ncurses -I$(srcdir) -I../include -I$(INCDIR)  
+BUILD_CC	= gcc
+BUILD_CCFLAGS	= 
+BUILD_LDFLAGS	= 
+BUILD_LIBS	= 
+
+# The executables built in this directory are used for generating source that
+# is compiled into the build, or are test-programs that are not installed.
+
+BUILD_EXEEXT	= 
+x		= 
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS)
+CFLAGS_DEBUG	= $(CCFLAGS) -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL)
+LDFLAGS		= -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils  
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) 
+TINFO_LIST	= $(SHLIB_DIRS) 
+TICS_LIST	= $(SHLIB_DIRS) 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 0
+REL_VERSION	= 6.0
+ABI_VERSION	= 6
+
+RANLIB		= arm-linux-androideabi-ranlib
+
+LIBRARIES	=  ../lib/libncurses.a ../lib/libncurses_g.a
+
+LINT		= lint
+LINT_OPTS	= 
+LINT_LIBS	= -lncurses 
+
+FALLBACK_LIST	= 
+
+USE_BIG_STRINGS	= 1
+TERMINFO_CAPS	= $(top_srcdir)/include/Caps
+
+TERMINFO	= /system/etc/terminfo
+TERMINFO_SRC	= ${top_srcdir}/misc/terminfo.src
+TIC_PATH	= /usr/bin/tic
+
+AUTO_SRC = \
+	./codes.c \
+	./comp_captab.c \
+	./expanded.c \
+	./fallback.c \
+	./lib_gen.c \
+	./lib_keyname.c \
+	./link_test.c \
+	./names.c \
+	./unctrl.c \
+	init_keytry.h \
+	keys.list
+
+HEADER_DEPS	= \
+	$(srcdir)/curses.priv.h \
+	../include/ncurses_dll.h \
+	../include/ncurses_cfg.h \
+	../include/curses.h \
+	$(INCDIR)/nc_panel.h \
+	../include/term.h \
+	$(INCDIR)/term_entry.h \
+	$(INCDIR)/nc_tparm.h \
+	$(INCDIR)/nc_alloc.h \
+	$(INCDIR)/nc_mingw.h
+
+TEST_DEPS	= ../lib/libncurses.a
+TEST_ARGS	=  -L../lib -lform -lmenu -lpanel -lncurses   
+TEST_LDFLAGS	=  $(TEST_ARGS)   -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils
+
+TEST_PROGS = \
+	captoinfo$x \
+	hardscroll$x \
+	link_test$x \
+	hashmap$x \
+	lib_mvcur$x
+
+base	 = $(srcdir)/base
+serial	 = $(srcdir)/tty
+tinfo	 = $(srcdir)/tinfo
+trace	 = $(srcdir)/trace
+wide	 = $(srcdir)/widechar
+win32con = $(srcdir)/win32con
+
+################################################################################
+all \
+libs ::		$(AUTO_SRC) ../lib $(LIBRARIES)
+
+sources:	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+../lib : ; mkdir $@
+
+./fallback.c : $(tinfo)/MKfallback.sh
+	$(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) $(TIC_PATH) $(FALLBACK_LIST) >$@
+
+./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
+	$(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
+
+init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list
+	./make_keys$(BUILD_EXEEXT) keys.list > $@
+
+keys.list :	$(tinfo)/MKkeys_list.sh
+	AWK=$(AWK) $(SHELL) $(tinfo)/MKkeys_list.sh $(TERMINFO_CAPS) | sort >$@
+
+make_keys$(BUILD_EXEEXT) : \
+		$(tinfo)/make_keys.c \
+		names.c
+	$(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+
+make_hash$(BUILD_EXEEXT) : \
+		$(tinfo)/make_hash.c \
+		../include/hashsize.h
+	$(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(tinfo)/make_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+
+./expanded.c : $(srcdir)/curses.priv.h $(serial)/MKexpanded.sh
+	$(SHELL) -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
+
+./comp_captab.c: \
+		make_hash$(BUILD_EXEEXT) \
+		../include/hashsize.h \
+		$(tinfo)/MKcaptab.sh \
+		$(tinfo)/MKcaptab.awk
+	$(SHELL) -e $(tinfo)/MKcaptab.sh $(AWK) $(USE_BIG_STRINGS) $(tinfo)/MKcaptab.awk $(srcdir)/../include/Caps > $@
+
+./lib_keyname.c: keys.list $(base)/MKkeyname.awk
+	$(AWK) -f $(base)/MKkeyname.awk bigstrings=$(USE_BIG_STRINGS) keys.list > $@
+
+./codes.c: $(tinfo)/MKcodes.awk
+	$(AWK) -f $(tinfo)/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/Caps >$@
+
+./names.c: $(tinfo)/MKnames.awk
+	$(AWK) -f $(tinfo)/MKnames.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/Caps >$@
+
+./unctrl.c: $(base)/MKunctrl.awk
+	echo | $(AWK) -f $(base)/MKunctrl.awk bigstrings=$(USE_BIG_STRINGS) >$@
+
+tags:
+	$(CTAGS) *.[ch] */*.[ch]
+
+#TAGS:
+#	$(ETAGS) *.[ch] */*.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+	-rm -f $(TEST_PROGS)
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -f make_keys$(BUILD_EXEEXT)
+	-rm -f make_hash$(BUILD_EXEEXT)
+	-rm -rf .libs *.dSYM *.map
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+# These rules are used to allow "make -n" to work on a clean directory-tree
+../include/hashsize.h \
+../include/parametrized.h \
+../include/term.h :
+	cd ../include; $(MAKE) $(CF_MFLAGS)
+
+# These rules build test-programs for the modules that have test-drivers
+test_progs : $(TEST_PROGS)
+
+./link_test.c : $(base)/MKlib_gen.sh ../include/curses.h
+	$(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@
+
+captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
+
+hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS)
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
+		../objects/dump_entry$o
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../objects/dump_entry$o $(TEST_LDFLAGS)
+
+link_test$x : ./link_test.c $(TEST_DEPS) \
+		../objects/link_test$o
+	 $(CC) -o $@ $(CFLAGS_DEFAULT) ../objects/link_test$o $(TEST_LDFLAGS)
+
+../objects/dump_entry$o:
+	cd ../progs && $(MAKE) ../objects/dump_entry$o
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	sed  -e "s/NCURSES\([WT]\+\)\?_/NCURSES\16_/g" -e "/deprecated in ABI6/d" <  >$@
+
+clean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    ncurses
+#   subsets:    ticlib+termlib+ext_tinfo+base+ext_funcs
+#   ticlib:     
+#   termlib:    
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(serial)/hardscroll.c \
+	$(serial)/hashmap.c \
+	$(base)/lib_addch.c \
+	$(base)/lib_addstr.c \
+	$(base)/lib_beep.c \
+	$(base)/lib_bkgd.c \
+	$(base)/lib_box.c \
+	$(base)/lib_chgat.c \
+	$(base)/lib_clear.c \
+	$(base)/lib_clearok.c \
+	$(base)/lib_clrbot.c \
+	$(base)/lib_clreol.c \
+	$(base)/lib_color.c \
+	$(base)/lib_colorset.c \
+	$(base)/lib_delch.c \
+	$(base)/lib_delwin.c \
+	$(base)/lib_echo.c \
+	$(base)/lib_endwin.c \
+	$(base)/lib_erase.c \
+	$(base)/lib_flash.c \
+	./lib_gen.c \
+	$(base)/lib_getch.c \
+	$(base)/lib_getstr.c \
+	$(base)/lib_hline.c \
+	$(base)/lib_immedok.c \
+	$(base)/lib_inchstr.c \
+	$(base)/lib_initscr.c \
+	$(base)/lib_insch.c \
+	$(base)/lib_insdel.c \
+	$(base)/lib_insnstr.c \
+	$(base)/lib_instr.c \
+	$(base)/lib_isendwin.c \
+	$(base)/lib_leaveok.c \
+	$(base)/lib_mouse.c \
+	$(base)/lib_move.c \
+	$(serial)/lib_mvcur.c \
+	$(base)/lib_mvwin.c \
+	$(base)/lib_newterm.c \
+	$(base)/lib_newwin.c \
+	$(base)/lib_nl.c \
+	$(base)/lib_overlay.c \
+	$(base)/lib_pad.c \
+	$(base)/lib_printw.c \
+	$(base)/lib_redrawln.c \
+	$(base)/lib_refresh.c \
+	$(base)/lib_restart.c \
+	$(base)/lib_scanw.c \
+	$(base)/lib_screen.c \
+	$(base)/lib_scroll.c \
+	$(base)/lib_scrollok.c \
+	$(base)/lib_scrreg.c \
+	$(base)/lib_set_term.c \
+	$(base)/lib_slk.c \
+	$(base)/lib_slkatr_set.c \
+	$(base)/lib_slkatrof.c \
+	$(base)/lib_slkatron.c \
+	$(base)/lib_slkatrset.c \
+	$(base)/lib_slkattr.c \
+	$(base)/lib_slkclear.c \
+	$(base)/lib_slkcolor.c \
+	$(base)/lib_slkinit.c \
+	$(base)/lib_slklab.c \
+	$(base)/lib_slkrefr.c \
+	$(base)/lib_slkset.c \
+	$(base)/lib_slktouch.c \
+	$(base)/lib_touch.c \
+	$(trace)/lib_tracedmp.c \
+	$(trace)/lib_tracemse.c \
+	$(serial)/lib_tstp.c \
+	$(base)/lib_ungetch.c \
+	$(serial)/lib_vidattr.c \
+	$(base)/lib_vline.c \
+	$(base)/lib_wattroff.c \
+	$(base)/lib_wattron.c \
+	$(base)/lib_winch.c \
+	$(base)/lib_window.c \
+	$(base)/nc_panel.c \
+	$(base)/safe_sprintf.c \
+	$(serial)/tty_update.c \
+	$(trace)/varargs.c \
+	$(base)/vsscanf.c \
+	$(base)/lib_freeall.c \
+	./expanded.c \
+	$(base)/legacy_coding.c \
+	$(base)/lib_dft_fgbg.c \
+	$(tinfo)/lib_print.c \
+	$(base)/resizeterm.c \
+	$(trace)/trace_xnames.c \
+	$(tinfo)/use_screen.c \
+	$(base)/use_window.c \
+	$(base)/wresize.c \
+	$(tinfo)/access.c \
+	$(tinfo)/add_tries.c \
+	$(tinfo)/alloc_ttype.c \
+	./codes.c \
+	./comp_captab.c \
+	$(tinfo)/comp_error.c \
+	$(tinfo)/comp_hash.c \
+	$(tinfo)/db_iterator.c \
+	$(tinfo)/doalloc.c \
+	$(tinfo)/entries.c \
+	./fallback.c \
+	$(tinfo)/free_ttype.c \
+	$(tinfo)/getenv_num.c \
+	$(tinfo)/home_terminfo.c \
+	$(tinfo)/init_keytry.c \
+	$(tinfo)/lib_acs.c \
+	$(tinfo)/lib_baudrate.c \
+	$(tinfo)/lib_cur_term.c \
+	$(tinfo)/lib_data.c \
+	$(tinfo)/lib_has_cap.c \
+	$(tinfo)/lib_kernel.c \
+	./lib_keyname.c \
+	$(tinfo)/lib_longname.c \
+	$(tinfo)/lib_napms.c \
+	$(tinfo)/lib_options.c \
+	$(tinfo)/lib_raw.c \
+	$(tinfo)/lib_setup.c \
+	$(tinfo)/lib_termcap.c \
+	$(tinfo)/lib_termname.c \
+	$(tinfo)/lib_tgoto.c \
+	$(tinfo)/lib_ti.c \
+	$(tinfo)/lib_tparm.c \
+	$(tinfo)/lib_tputs.c \
+	$(trace)/lib_trace.c \
+	$(trace)/lib_traceatr.c \
+	$(trace)/lib_tracebits.c \
+	$(trace)/lib_tracechr.c \
+	$(tinfo)/lib_ttyflags.c \
+	$(serial)/lib_twait.c \
+	$(tinfo)/name_match.c \
+	./names.c \
+	$(tinfo)/obsolete.c \
+	$(tinfo)/read_entry.c \
+	$(tinfo)/read_termcap.c \
+	$(tinfo)/strings.c \
+	$(trace)/trace_buf.c \
+	$(trace)/trace_tries.c \
+	$(base)/tries.c \
+	$(tinfo)/trim_sgr0.c \
+	./unctrl.c \
+	$(trace)/visbuf.c \
+	$(tinfo)/alloc_entry.c \
+	$(tinfo)/captoinfo.c \
+	$(tinfo)/comp_expand.c \
+	$(tinfo)/comp_parse.c \
+	$(tinfo)/comp_scan.c \
+	$(tinfo)/parse_entry.c \
+	$(tinfo)/write_entry.c \
+	$(base)/define_key.c \
+	$(tinfo)/hashed_db.c \
+	$(base)/key_defined.c \
+	$(base)/keybound.c \
+	$(base)/keyok.c \
+	$(base)/version.c
+
+# Producing llib-lncurses is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+NCURSES_SRC = \
+	$(serial)/hardscroll.c \
+	$(serial)/hashmap.c \
+	$(base)/lib_addch.c \
+	$(base)/lib_addstr.c \
+	$(base)/lib_beep.c \
+	$(base)/lib_bkgd.c \
+	$(base)/lib_box.c \
+	$(base)/lib_chgat.c \
+	$(base)/lib_clear.c \
+	$(base)/lib_clearok.c \
+	$(base)/lib_clrbot.c \
+	$(base)/lib_clreol.c \
+	$(base)/lib_color.c \
+	$(base)/lib_colorset.c \
+	$(base)/lib_delch.c \
+	$(base)/lib_delwin.c \
+	$(base)/lib_echo.c \
+	$(base)/lib_endwin.c \
+	$(base)/lib_erase.c \
+	$(base)/lib_flash.c \
+	./lib_gen.c \
+	$(base)/lib_getch.c \
+	$(base)/lib_getstr.c \
+	$(base)/lib_hline.c \
+	$(base)/lib_immedok.c \
+	$(base)/lib_inchstr.c \
+	$(base)/lib_initscr.c \
+	$(base)/lib_insch.c \
+	$(base)/lib_insdel.c \
+	$(base)/lib_insnstr.c \
+	$(base)/lib_instr.c \
+	$(base)/lib_isendwin.c \
+	$(base)/lib_leaveok.c \
+	$(base)/lib_mouse.c \
+	$(base)/lib_move.c \
+	$(serial)/lib_mvcur.c \
+	$(base)/lib_mvwin.c \
+	$(base)/lib_newterm.c \
+	$(base)/lib_newwin.c \
+	$(base)/lib_nl.c \
+	$(base)/lib_overlay.c \
+	$(base)/lib_pad.c \
+	$(base)/lib_printw.c \
+	$(base)/lib_redrawln.c \
+	$(base)/lib_refresh.c \
+	$(base)/lib_restart.c \
+	$(base)/lib_scanw.c \
+	$(base)/lib_screen.c \
+	$(base)/lib_scroll.c \
+	$(base)/lib_scrollok.c \
+	$(base)/lib_scrreg.c \
+	$(base)/lib_set_term.c \
+	$(base)/lib_slk.c \
+	$(base)/lib_slkatr_set.c \
+	$(base)/lib_slkatrof.c \
+	$(base)/lib_slkatron.c \
+	$(base)/lib_slkatrset.c \
+	$(base)/lib_slkattr.c \
+	$(base)/lib_slkclear.c \
+	$(base)/lib_slkcolor.c \
+	$(base)/lib_slkinit.c \
+	$(base)/lib_slklab.c \
+	$(base)/lib_slkrefr.c \
+	$(base)/lib_slkset.c \
+	$(base)/lib_slktouch.c \
+	$(base)/lib_touch.c \
+	$(trace)/lib_tracedmp.c \
+	$(trace)/lib_tracemse.c \
+	$(serial)/lib_tstp.c \
+	$(base)/lib_ungetch.c \
+	$(serial)/lib_vidattr.c \
+	$(base)/lib_vline.c \
+	$(base)/lib_wattroff.c \
+	$(base)/lib_wattron.c \
+	$(base)/lib_winch.c \
+	$(base)/lib_window.c \
+	$(base)/nc_panel.c \
+	$(base)/safe_sprintf.c \
+	$(serial)/tty_update.c \
+	$(trace)/varargs.c \
+	$(base)/vsscanf.c \
+	$(base)/lib_freeall.c \
+	./expanded.c \
+	$(base)/legacy_coding.c \
+	$(base)/lib_dft_fgbg.c \
+	$(tinfo)/lib_print.c \
+	$(base)/resizeterm.c \
+	$(trace)/trace_xnames.c \
+	$(tinfo)/use_screen.c \
+	$(base)/use_window.c \
+	$(base)/wresize.c \
+	$(tinfo)/access.c \
+	$(tinfo)/add_tries.c \
+	$(tinfo)/alloc_ttype.c \
+	./codes.c \
+	./comp_captab.c \
+	$(tinfo)/comp_error.c \
+	$(tinfo)/comp_hash.c \
+	$(tinfo)/db_iterator.c \
+	$(tinfo)/doalloc.c \
+	$(tinfo)/entries.c \
+	./fallback.c \
+	$(tinfo)/free_ttype.c \
+	$(tinfo)/getenv_num.c \
+	$(tinfo)/home_terminfo.c \
+	$(tinfo)/init_keytry.c \
+	$(tinfo)/lib_acs.c \
+	$(tinfo)/lib_baudrate.c \
+	$(tinfo)/lib_cur_term.c \
+	$(tinfo)/lib_data.c \
+	$(tinfo)/lib_has_cap.c \
+	$(tinfo)/lib_kernel.c \
+	./lib_keyname.c \
+	$(tinfo)/lib_longname.c \
+	$(tinfo)/lib_napms.c \
+	$(tinfo)/lib_options.c \
+	$(tinfo)/lib_raw.c \
+	$(tinfo)/lib_setup.c \
+	$(tinfo)/lib_termcap.c \
+	$(tinfo)/lib_termname.c \
+	$(tinfo)/lib_tgoto.c \
+	$(tinfo)/lib_ti.c \
+	$(tinfo)/lib_tparm.c \
+	$(tinfo)/lib_tputs.c \
+	$(trace)/lib_trace.c \
+	$(trace)/lib_traceatr.c \
+	$(trace)/lib_tracebits.c \
+	$(trace)/lib_tracechr.c \
+	$(tinfo)/lib_ttyflags.c \
+	$(serial)/lib_twait.c \
+	$(tinfo)/name_match.c \
+	./names.c \
+	$(tinfo)/obsolete.c \
+	$(tinfo)/read_entry.c \
+	$(tinfo)/read_termcap.c \
+	$(tinfo)/strings.c \
+	$(trace)/trace_buf.c \
+	$(trace)/trace_tries.c \
+	$(base)/tries.c \
+	$(tinfo)/trim_sgr0.c \
+	./unctrl.c \
+	$(trace)/visbuf.c \
+	$(tinfo)/alloc_entry.c \
+	$(tinfo)/captoinfo.c \
+	$(tinfo)/comp_expand.c \
+	$(tinfo)/comp_parse.c \
+	$(tinfo)/comp_scan.c \
+	$(tinfo)/parse_entry.c \
+	$(tinfo)/write_entry.c \
+	$(base)/define_key.c \
+	$(tinfo)/hashed_db.c \
+	$(base)/key_defined.c \
+	$(base)/keybound.c \
+	$(base)/keyok.c \
+	$(base)/version.c
+
+clean ::
+	rm -f llib-lncurses.*
+
+realclean ::
+	rm -f llib-lncurses
+
+llib-lncurses : $(NCURSES_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(NCURSES_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib ncurses $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(NCURSES_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          ncurses
+#  traces:        DEBUG
+#  MODEL:         NORMAL
+#  CXX_MODEL:     NORMAL
+#  model:         objects
+#  prefix:        lib
+#  suffix:        .a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./curses.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+NORMAL_OBJS = \
+	../objects/hardscroll$o \
+	../objects/hashmap$o \
+	../objects/lib_addch$o \
+	../objects/lib_addstr$o \
+	../objects/lib_beep$o \
+	../objects/lib_bkgd$o \
+	../objects/lib_box$o \
+	../objects/lib_chgat$o \
+	../objects/lib_clear$o \
+	../objects/lib_clearok$o \
+	../objects/lib_clrbot$o \
+	../objects/lib_clreol$o \
+	../objects/lib_color$o \
+	../objects/lib_colorset$o \
+	../objects/lib_delch$o \
+	../objects/lib_delwin$o \
+	../objects/lib_echo$o \
+	../objects/lib_endwin$o \
+	../objects/lib_erase$o \
+	../objects/lib_flash$o \
+	../objects/lib_gen$o \
+	../objects/lib_getch$o \
+	../objects/lib_getstr$o \
+	../objects/lib_hline$o \
+	../objects/lib_immedok$o \
+	../objects/lib_inchstr$o \
+	../objects/lib_initscr$o \
+	../objects/lib_insch$o \
+	../objects/lib_insdel$o \
+	../objects/lib_insnstr$o \
+	../objects/lib_instr$o \
+	../objects/lib_isendwin$o \
+	../objects/lib_leaveok$o \
+	../objects/lib_mouse$o \
+	../objects/lib_move$o \
+	../objects/lib_mvcur$o \
+	../objects/lib_mvwin$o \
+	../objects/lib_newterm$o \
+	../objects/lib_newwin$o \
+	../objects/lib_nl$o \
+	../objects/lib_overlay$o \
+	../objects/lib_pad$o \
+	../objects/lib_printw$o \
+	../objects/lib_redrawln$o \
+	../objects/lib_refresh$o \
+	../objects/lib_restart$o \
+	../objects/lib_scanw$o \
+	../objects/lib_screen$o \
+	../objects/lib_scroll$o \
+	../objects/lib_scrollok$o \
+	../objects/lib_scrreg$o \
+	../objects/lib_set_term$o \
+	../objects/lib_slk$o \
+	../objects/lib_slkatr_set$o \
+	../objects/lib_slkatrof$o \
+	../objects/lib_slkatron$o \
+	../objects/lib_slkatrset$o \
+	../objects/lib_slkattr$o \
+	../objects/lib_slkclear$o \
+	../objects/lib_slkcolor$o \
+	../objects/lib_slkinit$o \
+	../objects/lib_slklab$o \
+	../objects/lib_slkrefr$o \
+	../objects/lib_slkset$o \
+	../objects/lib_slktouch$o \
+	../objects/lib_touch$o \
+	../objects/lib_tstp$o \
+	../objects/lib_ungetch$o \
+	../objects/lib_vidattr$o \
+	../objects/lib_vline$o \
+	../objects/lib_wattroff$o \
+	../objects/lib_wattron$o \
+	../objects/lib_winch$o \
+	../objects/lib_window$o \
+	../objects/nc_panel$o \
+	../objects/safe_sprintf$o \
+	../objects/tty_update$o \
+	../objects/varargs$o \
+	../objects/vsscanf$o \
+	../objects/lib_freeall$o \
+	../objects/expanded$o \
+	../objects/legacy_coding$o \
+	../objects/lib_dft_fgbg$o \
+	../objects/lib_print$o \
+	../objects/resizeterm$o \
+	../objects/use_screen$o \
+	../objects/use_window$o \
+	../objects/wresize$o \
+	../objects/access$o \
+	../objects/add_tries$o \
+	../objects/alloc_ttype$o \
+	../objects/codes$o \
+	../objects/comp_captab$o \
+	../objects/comp_error$o \
+	../objects/comp_hash$o \
+	../objects/db_iterator$o \
+	../objects/doalloc$o \
+	../objects/entries$o \
+	../objects/fallback$o \
+	../objects/free_ttype$o \
+	../objects/getenv_num$o \
+	../objects/home_terminfo$o \
+	../objects/init_keytry$o \
+	../objects/lib_acs$o \
+	../objects/lib_baudrate$o \
+	../objects/lib_cur_term$o \
+	../objects/lib_data$o \
+	../objects/lib_has_cap$o \
+	../objects/lib_kernel$o \
+	../objects/lib_keyname$o \
+	../objects/lib_longname$o \
+	../objects/lib_napms$o \
+	../objects/lib_options$o \
+	../objects/lib_raw$o \
+	../objects/lib_setup$o \
+	../objects/lib_termcap$o \
+	../objects/lib_termname$o \
+	../objects/lib_tgoto$o \
+	../objects/lib_ti$o \
+	../objects/lib_tparm$o \
+	../objects/lib_tputs$o \
+	../objects/lib_trace$o \
+	../objects/lib_ttyflags$o \
+	../objects/lib_twait$o \
+	../objects/name_match$o \
+	../objects/names$o \
+	../objects/obsolete$o \
+	../objects/read_entry$o \
+	../objects/read_termcap$o \
+	../objects/strings$o \
+	../objects/tries$o \
+	../objects/trim_sgr0$o \
+	../objects/unctrl$o \
+	../objects/visbuf$o \
+	../objects/alloc_entry$o \
+	../objects/captoinfo$o \
+	../objects/comp_expand$o \
+	../objects/comp_parse$o \
+	../objects/comp_scan$o \
+	../objects/parse_entry$o \
+	../objects/write_entry$o \
+	../objects/define_key$o \
+	../objects/hashed_db$o \
+	../objects/key_defined$o \
+	../objects/keybound$o \
+	../objects/keyok$o \
+	../objects/version$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./curses.priv.h
+
+../lib/libncurses.a : $(NORMAL_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.ncurses :: $(DESTDIR)$(libdir) ../lib/libncurses.a
+	@echo installing ../lib/libncurses.a as $(DESTDIR)$(libdir)/libncurses.a
+	$(INSTALL_DATA) ../lib/libncurses.a $(DESTDIR)$(libdir)/libncurses.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libncurses.a
+
+uninstall \
+uninstall.libs \
+uninstall.ncurses ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libncurses.a
+	-@rm -f $(DESTDIR)$(libdir)/libncurses.a
+
+clean ::
+	-rm -f ../lib/libncurses.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/hardscroll$o :	$(serial)/hardscroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/hardscroll.c -o ../objects/hardscroll$o
+
+../objects/hashmap$o :	$(serial)/hashmap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/hashmap.c -o ../objects/hashmap$o
+
+../objects/lib_addch$o :	$(base)/lib_addch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_addch.c -o ../objects/lib_addch$o
+
+../objects/lib_addstr$o :	$(base)/lib_addstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_addstr.c -o ../objects/lib_addstr$o
+
+../objects/lib_beep$o :	$(base)/lib_beep.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_beep.c -o ../objects/lib_beep$o
+
+../objects/lib_bkgd$o :	$(base)/lib_bkgd.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_bkgd.c -o ../objects/lib_bkgd$o
+
+../objects/lib_box$o :	$(base)/lib_box.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_box.c -o ../objects/lib_box$o
+
+../objects/lib_chgat$o :	$(base)/lib_chgat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_chgat.c -o ../objects/lib_chgat$o
+
+../objects/lib_clear$o :	$(base)/lib_clear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clear.c -o ../objects/lib_clear$o
+
+../objects/lib_clearok$o :	$(base)/lib_clearok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clearok.c -o ../objects/lib_clearok$o
+
+../objects/lib_clrbot$o :	$(base)/lib_clrbot.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clrbot.c -o ../objects/lib_clrbot$o
+
+../objects/lib_clreol$o :	$(base)/lib_clreol.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clreol.c -o ../objects/lib_clreol$o
+
+../objects/lib_color$o :	$(base)/lib_color.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_color.c -o ../objects/lib_color$o
+
+../objects/lib_colorset$o :	$(base)/lib_colorset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_colorset.c -o ../objects/lib_colorset$o
+
+../objects/lib_delch$o :	$(base)/lib_delch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_delch.c -o ../objects/lib_delch$o
+
+../objects/lib_delwin$o :	$(base)/lib_delwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_delwin.c -o ../objects/lib_delwin$o
+
+../objects/lib_echo$o :	$(base)/lib_echo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_echo.c -o ../objects/lib_echo$o
+
+../objects/lib_endwin$o :	$(base)/lib_endwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_endwin.c -o ../objects/lib_endwin$o
+
+../objects/lib_erase$o :	$(base)/lib_erase.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_erase.c -o ../objects/lib_erase$o
+
+../objects/lib_flash$o :	$(base)/lib_flash.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_flash.c -o ../objects/lib_flash$o
+
+../objects/lib_gen$o :	./lib_gen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/lib_gen.c -o ../objects/lib_gen$o
+
+../objects/lib_getch$o :	$(base)/lib_getch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_getch.c -o ../objects/lib_getch$o
+
+../objects/lib_getstr$o :	$(base)/lib_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_getstr.c -o ../objects/lib_getstr$o
+
+../objects/lib_hline$o :	$(base)/lib_hline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_hline.c -o ../objects/lib_hline$o
+
+../objects/lib_immedok$o :	$(base)/lib_immedok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_immedok.c -o ../objects/lib_immedok$o
+
+../objects/lib_inchstr$o :	$(base)/lib_inchstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_inchstr.c -o ../objects/lib_inchstr$o
+
+../objects/lib_initscr$o :	$(base)/lib_initscr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_initscr.c -o ../objects/lib_initscr$o
+
+../objects/lib_insch$o :	$(base)/lib_insch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insch.c -o ../objects/lib_insch$o
+
+../objects/lib_insdel$o :	$(base)/lib_insdel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insdel.c -o ../objects/lib_insdel$o
+
+../objects/lib_insnstr$o :	$(base)/lib_insnstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insnstr.c -o ../objects/lib_insnstr$o
+
+../objects/lib_instr$o :	$(base)/lib_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_instr.c -o ../objects/lib_instr$o
+
+../objects/lib_isendwin$o :	$(base)/lib_isendwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_isendwin.c -o ../objects/lib_isendwin$o
+
+../objects/lib_leaveok$o :	$(base)/lib_leaveok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_leaveok.c -o ../objects/lib_leaveok$o
+
+../objects/lib_mouse$o :	$(base)/lib_mouse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_mouse.c -o ../objects/lib_mouse$o
+
+../objects/lib_move$o :	$(base)/lib_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_move.c -o ../objects/lib_move$o
+
+../objects/lib_mvcur$o :	$(serial)/lib_mvcur.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(srcdir)/../progs/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_mvcur.c -o ../objects/lib_mvcur$o
+
+../objects/lib_mvwin$o :	$(base)/lib_mvwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_mvwin.c -o ../objects/lib_mvwin$o
+
+../objects/lib_newterm$o :	$(base)/lib_newterm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_newterm.c -o ../objects/lib_newterm$o
+
+../objects/lib_newwin$o :	$(base)/lib_newwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_newwin.c -o ../objects/lib_newwin$o
+
+../objects/lib_nl$o :	$(base)/lib_nl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_nl.c -o ../objects/lib_nl$o
+
+../objects/lib_overlay$o :	$(base)/lib_overlay.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_overlay.c -o ../objects/lib_overlay$o
+
+../objects/lib_pad$o :	$(base)/lib_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_pad.c -o ../objects/lib_pad$o
+
+../objects/lib_printw$o :	$(base)/lib_printw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_printw.c -o ../objects/lib_printw$o
+
+../objects/lib_redrawln$o :	$(base)/lib_redrawln.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_redrawln.c -o ../objects/lib_redrawln$o
+
+../objects/lib_refresh$o :	$(base)/lib_refresh.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_refresh.c -o ../objects/lib_refresh$o
+
+../objects/lib_restart$o :	$(base)/lib_restart.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_restart.c -o ../objects/lib_restart$o
+
+../objects/lib_scanw$o :	$(base)/lib_scanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scanw.c -o ../objects/lib_scanw$o
+
+../objects/lib_screen$o :	$(base)/lib_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_screen.c -o ../objects/lib_screen$o
+
+../objects/lib_scroll$o :	$(base)/lib_scroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scroll.c -o ../objects/lib_scroll$o
+
+../objects/lib_scrollok$o :	$(base)/lib_scrollok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scrollok.c -o ../objects/lib_scrollok$o
+
+../objects/lib_scrreg$o :	$(base)/lib_scrreg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scrreg.c -o ../objects/lib_scrreg$o
+
+../objects/lib_set_term$o :	$(base)/lib_set_term.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_set_term.c -o ../objects/lib_set_term$o
+
+../objects/lib_slk$o :	$(base)/lib_slk.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slk.c -o ../objects/lib_slk$o
+
+../objects/lib_slkatr_set$o :	$(base)/lib_slkatr_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatr_set.c -o ../objects/lib_slkatr_set$o
+
+../objects/lib_slkatrof$o :	$(base)/lib_slkatrof.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatrof.c -o ../objects/lib_slkatrof$o
+
+../objects/lib_slkatron$o :	$(base)/lib_slkatron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatron.c -o ../objects/lib_slkatron$o
+
+../objects/lib_slkatrset$o :	$(base)/lib_slkatrset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatrset.c -o ../objects/lib_slkatrset$o
+
+../objects/lib_slkattr$o :	$(base)/lib_slkattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkattr.c -o ../objects/lib_slkattr$o
+
+../objects/lib_slkclear$o :	$(base)/lib_slkclear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkclear.c -o ../objects/lib_slkclear$o
+
+../objects/lib_slkcolor$o :	$(base)/lib_slkcolor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkcolor.c -o ../objects/lib_slkcolor$o
+
+../objects/lib_slkinit$o :	$(base)/lib_slkinit.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkinit.c -o ../objects/lib_slkinit$o
+
+../objects/lib_slklab$o :	$(base)/lib_slklab.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slklab.c -o ../objects/lib_slklab$o
+
+../objects/lib_slkrefr$o :	$(base)/lib_slkrefr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkrefr.c -o ../objects/lib_slkrefr$o
+
+../objects/lib_slkset$o :	$(base)/lib_slkset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkset.c -o ../objects/lib_slkset$o
+
+../objects/lib_slktouch$o :	$(base)/lib_slktouch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slktouch.c -o ../objects/lib_slktouch$o
+
+../objects/lib_touch$o :	$(base)/lib_touch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_touch.c -o ../objects/lib_touch$o
+
+../objects/lib_tstp$o :	$(serial)/lib_tstp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/SigAction.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_tstp.c -o ../objects/lib_tstp$o
+
+../objects/lib_ungetch$o :	$(base)/lib_ungetch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_ungetch.c -o ../objects/lib_ungetch$o
+
+../objects/lib_vidattr$o :	$(serial)/lib_vidattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_vidattr.c -o ../objects/lib_vidattr$o
+
+../objects/lib_vline$o :	$(base)/lib_vline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_vline.c -o ../objects/lib_vline$o
+
+../objects/lib_wattroff$o :	$(base)/lib_wattroff.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_wattroff.c -o ../objects/lib_wattroff$o
+
+../objects/lib_wattron$o :	$(base)/lib_wattron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_wattron.c -o ../objects/lib_wattron$o
+
+../objects/lib_winch$o :	$(base)/lib_winch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_winch.c -o ../objects/lib_winch$o
+
+../objects/lib_window$o :	$(base)/lib_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_window.c -o ../objects/lib_window$o
+
+../objects/link_test$o :	./link_test.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/link_test.c -o ../objects/link_test$o
+
+../objects/nc_panel$o :	$(base)/nc_panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/nc_panel.c -o ../objects/nc_panel$o
+
+../objects/safe_sprintf$o :	$(base)/safe_sprintf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/safe_sprintf.c -o ../objects/safe_sprintf$o
+
+../objects/tty_update$o :	$(serial)/tty_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/tty_update.c -o ../objects/tty_update$o
+
+../objects/varargs$o :	$(trace)/varargs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/varargs.c -o ../objects/varargs$o
+
+../objects/vsscanf$o :	$(base)/vsscanf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/vsscanf.c -o ../objects/vsscanf$o
+
+../objects/lib_freeall$o :	$(base)/lib_freeall.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_freeall.c -o ../objects/lib_freeall$o
+
+../objects/expanded$o :	./expanded.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/expanded.c -o ../objects/expanded$o
+
+../objects/legacy_coding$o :	$(base)/legacy_coding.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/legacy_coding.c -o ../objects/legacy_coding$o
+
+../objects/lib_dft_fgbg$o :	$(base)/lib_dft_fgbg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_dft_fgbg.c -o ../objects/lib_dft_fgbg$o
+
+../objects/lib_print$o :	$(tinfo)/lib_print.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_print.c -o ../objects/lib_print$o
+
+../objects/resizeterm$o :	$(base)/resizeterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/resizeterm.c -o ../objects/resizeterm$o
+
+../objects/use_screen$o :	$(tinfo)/use_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/use_screen.c -o ../objects/use_screen$o
+
+../objects/use_window$o :	$(base)/use_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/use_window.c -o ../objects/use_window$o
+
+../objects/wresize$o :	$(base)/wresize.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/wresize.c -o ../objects/wresize$o
+
+../objects/access$o :	$(tinfo)/access.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/access.c -o ../objects/access$o
+
+../objects/add_tries$o :	$(tinfo)/add_tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/add_tries.c -o ../objects/add_tries$o
+
+../objects/alloc_ttype$o :	$(tinfo)/alloc_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/alloc_ttype.c -o ../objects/alloc_ttype$o
+
+../objects/codes$o :	./codes.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/codes.c -o ../objects/codes$o
+
+../objects/comp_captab$o :	./comp_captab.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/comp_captab.c -o ../objects/comp_captab$o
+
+../objects/comp_error$o :	$(tinfo)/comp_error.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_error.c -o ../objects/comp_error$o
+
+../objects/comp_hash$o :	$(tinfo)/comp_hash.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_hash.c -o ../objects/comp_hash$o
+
+../objects/db_iterator$o :	$(tinfo)/db_iterator.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/db_iterator.c -o ../objects/db_iterator$o
+
+../objects/doalloc$o :	$(tinfo)/doalloc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/doalloc.c -o ../objects/doalloc$o
+
+../objects/entries$o :	$(tinfo)/entries.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/entries.c -o ../objects/entries$o
+
+../objects/fallback$o :	./fallback.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/fallback.c -o ../objects/fallback$o
+
+../objects/free_ttype$o :	$(tinfo)/free_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/free_ttype.c -o ../objects/free_ttype$o
+
+../objects/getenv_num$o :	$(tinfo)/getenv_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/getenv_num.c -o ../objects/getenv_num$o
+
+../objects/home_terminfo$o :	$(tinfo)/home_terminfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/home_terminfo.c -o ../objects/home_terminfo$o
+
+../objects/init_keytry$o :	$(tinfo)/init_keytry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			init_keytry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/init_keytry.c -o ../objects/init_keytry$o
+
+../objects/lib_acs$o :	$(tinfo)/lib_acs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_acs.c -o ../objects/lib_acs$o
+
+../objects/lib_baudrate$o :	$(tinfo)/lib_baudrate.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_baudrate.c -o ../objects/lib_baudrate$o
+
+../objects/lib_cur_term$o :	$(tinfo)/lib_cur_term.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_cur_term.c -o ../objects/lib_cur_term$o
+
+../objects/lib_data$o :	$(tinfo)/lib_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_data.c -o ../objects/lib_data$o
+
+../objects/lib_has_cap$o :	$(tinfo)/lib_has_cap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_has_cap.c -o ../objects/lib_has_cap$o
+
+../objects/lib_kernel$o :	$(tinfo)/lib_kernel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_kernel.c -o ../objects/lib_kernel$o
+
+../objects/lib_keyname$o :	./lib_keyname.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/lib_keyname.c -o ../objects/lib_keyname$o
+
+../objects/lib_longname$o :	$(tinfo)/lib_longname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_longname.c -o ../objects/lib_longname$o
+
+../objects/lib_napms$o :	$(tinfo)/lib_napms.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_napms.c -o ../objects/lib_napms$o
+
+../objects/lib_options$o :	$(tinfo)/lib_options.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_options.c -o ../objects/lib_options$o
+
+../objects/lib_raw$o :	$(tinfo)/lib_raw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_raw.c -o ../objects/lib_raw$o
+
+../objects/lib_setup$o :	$(tinfo)/lib_setup.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_setup.c -o ../objects/lib_setup$o
+
+../objects/lib_termcap$o :	$(tinfo)/lib_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h \
+			$(INCDIR)/capdefaults.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_termcap.c -o ../objects/lib_termcap$o
+
+../objects/lib_termname$o :	$(tinfo)/lib_termname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_termname.c -o ../objects/lib_termname$o
+
+../objects/lib_tgoto$o :	$(tinfo)/lib_tgoto.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tgoto.c -o ../objects/lib_tgoto$o
+
+../objects/lib_ti$o :	$(tinfo)/lib_ti.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_ti.c -o ../objects/lib_ti$o
+
+../objects/lib_tparm$o :	$(tinfo)/lib_tparm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tparm.c -o ../objects/lib_tparm$o
+
+../objects/lib_tputs$o :	$(tinfo)/lib_tputs.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tputs.c -o ../objects/lib_tputs$o
+
+../objects/lib_trace$o :	$(trace)/lib_trace.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/lib_trace.c -o ../objects/lib_trace$o
+
+../objects/lib_ttyflags$o :	$(tinfo)/lib_ttyflags.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_ttyflags.c -o ../objects/lib_ttyflags$o
+
+../objects/lib_twait$o :	$(serial)/lib_twait.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_twait.c -o ../objects/lib_twait$o
+
+../objects/name_match$o :	$(tinfo)/name_match.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/name_match.c -o ../objects/name_match$o
+
+../objects/names$o :	./names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/names.c -o ../objects/names$o
+
+../objects/obsolete$o :	$(tinfo)/obsolete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/obsolete.c -o ../objects/obsolete$o
+
+../objects/read_entry$o :	$(tinfo)/read_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/read_entry.c -o ../objects/read_entry$o
+
+../objects/read_termcap$o :	$(tinfo)/read_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/read_termcap.c -o ../objects/read_termcap$o
+
+../objects/strings$o :	$(tinfo)/strings.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/strings.c -o ../objects/strings$o
+
+../objects/tries$o :	$(base)/tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/tries.c -o ../objects/tries$o
+
+../objects/trim_sgr0$o :	$(tinfo)/trim_sgr0.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/trim_sgr0.c -o ../objects/trim_sgr0$o
+
+../objects/unctrl$o :	./unctrl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/unctrl.c -o ../objects/unctrl$o
+
+../objects/visbuf$o :	$(trace)/visbuf.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/visbuf.c -o ../objects/visbuf$o
+
+../objects/alloc_entry$o :	$(tinfo)/alloc_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/alloc_entry.c -o ../objects/alloc_entry$o
+
+../objects/captoinfo$o :	$(tinfo)/captoinfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/captoinfo.c -o ../objects/captoinfo$o
+
+../objects/comp_expand$o :	$(tinfo)/comp_expand.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_expand.c -o ../objects/comp_expand$o
+
+../objects/comp_parse$o :	$(tinfo)/comp_parse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_parse.c -o ../objects/comp_parse$o
+
+../objects/comp_scan$o :	$(tinfo)/comp_scan.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_scan.c -o ../objects/comp_scan$o
+
+../objects/parse_entry$o :	$(tinfo)/parse_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/parametrized.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/parse_entry.c -o ../objects/parse_entry$o
+
+../objects/write_entry$o :	$(tinfo)/write_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/write_entry.c -o ../objects/write_entry$o
+
+../objects/define_key$o :	$(base)/define_key.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/define_key.c -o ../objects/define_key$o
+
+../objects/hashed_db$o :	$(tinfo)/hashed_db.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/hashed_db.c -o ../objects/hashed_db$o
+
+../objects/key_defined$o :	$(base)/key_defined.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/key_defined.c -o ../objects/key_defined$o
+
+../objects/keybound$o :	$(base)/keybound.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/keybound.c -o ../objects/keybound$o
+
+../objects/keyok$o :	$(base)/keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/keyok.c -o ../objects/keyok$o
+
+../objects/version$o :	$(base)/version.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/version.c -o ../objects/version$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          ncurses
+#  traces:        DEBUG
+#  MODEL:         DEBUG
+#  CXX_MODEL:     DEBUG
+#  model:         obj_g
+#  prefix:        lib
+#  suffix:        _g.a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./curses.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+DEBUG_OBJS = \
+	../obj_g/hardscroll$o \
+	../obj_g/hashmap$o \
+	../obj_g/lib_addch$o \
+	../obj_g/lib_addstr$o \
+	../obj_g/lib_beep$o \
+	../obj_g/lib_bkgd$o \
+	../obj_g/lib_box$o \
+	../obj_g/lib_chgat$o \
+	../obj_g/lib_clear$o \
+	../obj_g/lib_clearok$o \
+	../obj_g/lib_clrbot$o \
+	../obj_g/lib_clreol$o \
+	../obj_g/lib_color$o \
+	../obj_g/lib_colorset$o \
+	../obj_g/lib_delch$o \
+	../obj_g/lib_delwin$o \
+	../obj_g/lib_echo$o \
+	../obj_g/lib_endwin$o \
+	../obj_g/lib_erase$o \
+	../obj_g/lib_flash$o \
+	../obj_g/lib_gen$o \
+	../obj_g/lib_getch$o \
+	../obj_g/lib_getstr$o \
+	../obj_g/lib_hline$o \
+	../obj_g/lib_immedok$o \
+	../obj_g/lib_inchstr$o \
+	../obj_g/lib_initscr$o \
+	../obj_g/lib_insch$o \
+	../obj_g/lib_insdel$o \
+	../obj_g/lib_insnstr$o \
+	../obj_g/lib_instr$o \
+	../obj_g/lib_isendwin$o \
+	../obj_g/lib_leaveok$o \
+	../obj_g/lib_mouse$o \
+	../obj_g/lib_move$o \
+	../obj_g/lib_mvcur$o \
+	../obj_g/lib_mvwin$o \
+	../obj_g/lib_newterm$o \
+	../obj_g/lib_newwin$o \
+	../obj_g/lib_nl$o \
+	../obj_g/lib_overlay$o \
+	../obj_g/lib_pad$o \
+	../obj_g/lib_printw$o \
+	../obj_g/lib_redrawln$o \
+	../obj_g/lib_refresh$o \
+	../obj_g/lib_restart$o \
+	../obj_g/lib_scanw$o \
+	../obj_g/lib_screen$o \
+	../obj_g/lib_scroll$o \
+	../obj_g/lib_scrollok$o \
+	../obj_g/lib_scrreg$o \
+	../obj_g/lib_set_term$o \
+	../obj_g/lib_slk$o \
+	../obj_g/lib_slkatr_set$o \
+	../obj_g/lib_slkatrof$o \
+	../obj_g/lib_slkatron$o \
+	../obj_g/lib_slkatrset$o \
+	../obj_g/lib_slkattr$o \
+	../obj_g/lib_slkclear$o \
+	../obj_g/lib_slkcolor$o \
+	../obj_g/lib_slkinit$o \
+	../obj_g/lib_slklab$o \
+	../obj_g/lib_slkrefr$o \
+	../obj_g/lib_slkset$o \
+	../obj_g/lib_slktouch$o \
+	../obj_g/lib_touch$o \
+	../obj_g/lib_tracedmp$o \
+	../obj_g/lib_tracemse$o \
+	../obj_g/lib_tstp$o \
+	../obj_g/lib_ungetch$o \
+	../obj_g/lib_vidattr$o \
+	../obj_g/lib_vline$o \
+	../obj_g/lib_wattroff$o \
+	../obj_g/lib_wattron$o \
+	../obj_g/lib_winch$o \
+	../obj_g/lib_window$o \
+	../obj_g/nc_panel$o \
+	../obj_g/safe_sprintf$o \
+	../obj_g/tty_update$o \
+	../obj_g/varargs$o \
+	../obj_g/vsscanf$o \
+	../obj_g/lib_freeall$o \
+	../obj_g/expanded$o \
+	../obj_g/legacy_coding$o \
+	../obj_g/lib_dft_fgbg$o \
+	../obj_g/lib_print$o \
+	../obj_g/resizeterm$o \
+	../obj_g/trace_xnames$o \
+	../obj_g/use_screen$o \
+	../obj_g/use_window$o \
+	../obj_g/wresize$o \
+	../obj_g/access$o \
+	../obj_g/add_tries$o \
+	../obj_g/alloc_ttype$o \
+	../obj_g/codes$o \
+	../obj_g/comp_captab$o \
+	../obj_g/comp_error$o \
+	../obj_g/comp_hash$o \
+	../obj_g/db_iterator$o \
+	../obj_g/doalloc$o \
+	../obj_g/entries$o \
+	../obj_g/fallback$o \
+	../obj_g/free_ttype$o \
+	../obj_g/getenv_num$o \
+	../obj_g/home_terminfo$o \
+	../obj_g/init_keytry$o \
+	../obj_g/lib_acs$o \
+	../obj_g/lib_baudrate$o \
+	../obj_g/lib_cur_term$o \
+	../obj_g/lib_data$o \
+	../obj_g/lib_has_cap$o \
+	../obj_g/lib_kernel$o \
+	../obj_g/lib_keyname$o \
+	../obj_g/lib_longname$o \
+	../obj_g/lib_napms$o \
+	../obj_g/lib_options$o \
+	../obj_g/lib_raw$o \
+	../obj_g/lib_setup$o \
+	../obj_g/lib_termcap$o \
+	../obj_g/lib_termname$o \
+	../obj_g/lib_tgoto$o \
+	../obj_g/lib_ti$o \
+	../obj_g/lib_tparm$o \
+	../obj_g/lib_tputs$o \
+	../obj_g/lib_trace$o \
+	../obj_g/lib_traceatr$o \
+	../obj_g/lib_tracebits$o \
+	../obj_g/lib_tracechr$o \
+	../obj_g/lib_ttyflags$o \
+	../obj_g/lib_twait$o \
+	../obj_g/name_match$o \
+	../obj_g/names$o \
+	../obj_g/obsolete$o \
+	../obj_g/read_entry$o \
+	../obj_g/read_termcap$o \
+	../obj_g/strings$o \
+	../obj_g/trace_buf$o \
+	../obj_g/trace_tries$o \
+	../obj_g/tries$o \
+	../obj_g/trim_sgr0$o \
+	../obj_g/unctrl$o \
+	../obj_g/visbuf$o \
+	../obj_g/alloc_entry$o \
+	../obj_g/captoinfo$o \
+	../obj_g/comp_expand$o \
+	../obj_g/comp_parse$o \
+	../obj_g/comp_scan$o \
+	../obj_g/parse_entry$o \
+	../obj_g/write_entry$o \
+	../obj_g/define_key$o \
+	../obj_g/hashed_db$o \
+	../obj_g/key_defined$o \
+	../obj_g/keybound$o \
+	../obj_g/keyok$o \
+	../obj_g/version$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./curses.priv.h
+
+../lib/libncurses_g.a : $(DEBUG_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.ncurses :: $(DESTDIR)$(libdir) ../lib/libncurses_g.a
+	@echo installing ../lib/libncurses_g.a as $(DESTDIR)$(libdir)/libncurses_g.a
+	$(INSTALL_DATA) ../lib/libncurses_g.a $(DESTDIR)$(libdir)/libncurses_g.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libncurses_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.ncurses ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libncurses_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libncurses_g.a
+
+clean ::
+	-rm -f ../lib/libncurses_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/hardscroll$o :	$(serial)/hardscroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/hardscroll.c -o ../obj_g/hardscroll$o
+
+../obj_g/hashmap$o :	$(serial)/hashmap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/hashmap.c -o ../obj_g/hashmap$o
+
+../obj_g/lib_addch$o :	$(base)/lib_addch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_addch.c -o ../obj_g/lib_addch$o
+
+../obj_g/lib_addstr$o :	$(base)/lib_addstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_addstr.c -o ../obj_g/lib_addstr$o
+
+../obj_g/lib_beep$o :	$(base)/lib_beep.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_beep.c -o ../obj_g/lib_beep$o
+
+../obj_g/lib_bkgd$o :	$(base)/lib_bkgd.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_bkgd.c -o ../obj_g/lib_bkgd$o
+
+../obj_g/lib_box$o :	$(base)/lib_box.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_box.c -o ../obj_g/lib_box$o
+
+../obj_g/lib_chgat$o :	$(base)/lib_chgat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_chgat.c -o ../obj_g/lib_chgat$o
+
+../obj_g/lib_clear$o :	$(base)/lib_clear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clear.c -o ../obj_g/lib_clear$o
+
+../obj_g/lib_clearok$o :	$(base)/lib_clearok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clearok.c -o ../obj_g/lib_clearok$o
+
+../obj_g/lib_clrbot$o :	$(base)/lib_clrbot.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clrbot.c -o ../obj_g/lib_clrbot$o
+
+../obj_g/lib_clreol$o :	$(base)/lib_clreol.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clreol.c -o ../obj_g/lib_clreol$o
+
+../obj_g/lib_color$o :	$(base)/lib_color.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_color.c -o ../obj_g/lib_color$o
+
+../obj_g/lib_colorset$o :	$(base)/lib_colorset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_colorset.c -o ../obj_g/lib_colorset$o
+
+../obj_g/lib_delch$o :	$(base)/lib_delch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_delch.c -o ../obj_g/lib_delch$o
+
+../obj_g/lib_delwin$o :	$(base)/lib_delwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_delwin.c -o ../obj_g/lib_delwin$o
+
+../obj_g/lib_echo$o :	$(base)/lib_echo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_echo.c -o ../obj_g/lib_echo$o
+
+../obj_g/lib_endwin$o :	$(base)/lib_endwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_endwin.c -o ../obj_g/lib_endwin$o
+
+../obj_g/lib_erase$o :	$(base)/lib_erase.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_erase.c -o ../obj_g/lib_erase$o
+
+../obj_g/lib_flash$o :	$(base)/lib_flash.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_flash.c -o ../obj_g/lib_flash$o
+
+../obj_g/lib_gen$o :	./lib_gen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/lib_gen.c -o ../obj_g/lib_gen$o
+
+../obj_g/lib_getch$o :	$(base)/lib_getch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_getch.c -o ../obj_g/lib_getch$o
+
+../obj_g/lib_getstr$o :	$(base)/lib_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_getstr.c -o ../obj_g/lib_getstr$o
+
+../obj_g/lib_hline$o :	$(base)/lib_hline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_hline.c -o ../obj_g/lib_hline$o
+
+../obj_g/lib_immedok$o :	$(base)/lib_immedok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_immedok.c -o ../obj_g/lib_immedok$o
+
+../obj_g/lib_inchstr$o :	$(base)/lib_inchstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_inchstr.c -o ../obj_g/lib_inchstr$o
+
+../obj_g/lib_initscr$o :	$(base)/lib_initscr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_initscr.c -o ../obj_g/lib_initscr$o
+
+../obj_g/lib_insch$o :	$(base)/lib_insch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insch.c -o ../obj_g/lib_insch$o
+
+../obj_g/lib_insdel$o :	$(base)/lib_insdel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insdel.c -o ../obj_g/lib_insdel$o
+
+../obj_g/lib_insnstr$o :	$(base)/lib_insnstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insnstr.c -o ../obj_g/lib_insnstr$o
+
+../obj_g/lib_instr$o :	$(base)/lib_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_instr.c -o ../obj_g/lib_instr$o
+
+../obj_g/lib_isendwin$o :	$(base)/lib_isendwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_isendwin.c -o ../obj_g/lib_isendwin$o
+
+../obj_g/lib_leaveok$o :	$(base)/lib_leaveok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_leaveok.c -o ../obj_g/lib_leaveok$o
+
+../obj_g/lib_mouse$o :	$(base)/lib_mouse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_mouse.c -o ../obj_g/lib_mouse$o
+
+../obj_g/lib_move$o :	$(base)/lib_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_move.c -o ../obj_g/lib_move$o
+
+../obj_g/lib_mvcur$o :	$(serial)/lib_mvcur.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(srcdir)/../progs/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_mvcur.c -o ../obj_g/lib_mvcur$o
+
+../obj_g/lib_mvwin$o :	$(base)/lib_mvwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_mvwin.c -o ../obj_g/lib_mvwin$o
+
+../obj_g/lib_newterm$o :	$(base)/lib_newterm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_newterm.c -o ../obj_g/lib_newterm$o
+
+../obj_g/lib_newwin$o :	$(base)/lib_newwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_newwin.c -o ../obj_g/lib_newwin$o
+
+../obj_g/lib_nl$o :	$(base)/lib_nl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_nl.c -o ../obj_g/lib_nl$o
+
+../obj_g/lib_overlay$o :	$(base)/lib_overlay.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_overlay.c -o ../obj_g/lib_overlay$o
+
+../obj_g/lib_pad$o :	$(base)/lib_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_pad.c -o ../obj_g/lib_pad$o
+
+../obj_g/lib_printw$o :	$(base)/lib_printw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_printw.c -o ../obj_g/lib_printw$o
+
+../obj_g/lib_redrawln$o :	$(base)/lib_redrawln.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_redrawln.c -o ../obj_g/lib_redrawln$o
+
+../obj_g/lib_refresh$o :	$(base)/lib_refresh.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_refresh.c -o ../obj_g/lib_refresh$o
+
+../obj_g/lib_restart$o :	$(base)/lib_restart.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_restart.c -o ../obj_g/lib_restart$o
+
+../obj_g/lib_scanw$o :	$(base)/lib_scanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scanw.c -o ../obj_g/lib_scanw$o
+
+../obj_g/lib_screen$o :	$(base)/lib_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_screen.c -o ../obj_g/lib_screen$o
+
+../obj_g/lib_scroll$o :	$(base)/lib_scroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scroll.c -o ../obj_g/lib_scroll$o
+
+../obj_g/lib_scrollok$o :	$(base)/lib_scrollok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scrollok.c -o ../obj_g/lib_scrollok$o
+
+../obj_g/lib_scrreg$o :	$(base)/lib_scrreg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scrreg.c -o ../obj_g/lib_scrreg$o
+
+../obj_g/lib_set_term$o :	$(base)/lib_set_term.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_set_term.c -o ../obj_g/lib_set_term$o
+
+../obj_g/lib_slk$o :	$(base)/lib_slk.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slk.c -o ../obj_g/lib_slk$o
+
+../obj_g/lib_slkatr_set$o :	$(base)/lib_slkatr_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatr_set.c -o ../obj_g/lib_slkatr_set$o
+
+../obj_g/lib_slkatrof$o :	$(base)/lib_slkatrof.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatrof.c -o ../obj_g/lib_slkatrof$o
+
+../obj_g/lib_slkatron$o :	$(base)/lib_slkatron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatron.c -o ../obj_g/lib_slkatron$o
+
+../obj_g/lib_slkatrset$o :	$(base)/lib_slkatrset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatrset.c -o ../obj_g/lib_slkatrset$o
+
+../obj_g/lib_slkattr$o :	$(base)/lib_slkattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkattr.c -o ../obj_g/lib_slkattr$o
+
+../obj_g/lib_slkclear$o :	$(base)/lib_slkclear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkclear.c -o ../obj_g/lib_slkclear$o
+
+../obj_g/lib_slkcolor$o :	$(base)/lib_slkcolor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkcolor.c -o ../obj_g/lib_slkcolor$o
+
+../obj_g/lib_slkinit$o :	$(base)/lib_slkinit.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkinit.c -o ../obj_g/lib_slkinit$o
+
+../obj_g/lib_slklab$o :	$(base)/lib_slklab.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slklab.c -o ../obj_g/lib_slklab$o
+
+../obj_g/lib_slkrefr$o :	$(base)/lib_slkrefr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkrefr.c -o ../obj_g/lib_slkrefr$o
+
+../obj_g/lib_slkset$o :	$(base)/lib_slkset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkset.c -o ../obj_g/lib_slkset$o
+
+../obj_g/lib_slktouch$o :	$(base)/lib_slktouch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slktouch.c -o ../obj_g/lib_slktouch$o
+
+../obj_g/lib_touch$o :	$(base)/lib_touch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_touch.c -o ../obj_g/lib_touch$o
+
+../obj_g/lib_tracedmp$o :	$(trace)/lib_tracedmp.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracedmp.c -o ../obj_g/lib_tracedmp$o
+
+../obj_g/lib_tracemse$o :	$(trace)/lib_tracemse.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracemse.c -o ../obj_g/lib_tracemse$o
+
+../obj_g/lib_tstp$o :	$(serial)/lib_tstp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/SigAction.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_tstp.c -o ../obj_g/lib_tstp$o
+
+../obj_g/lib_ungetch$o :	$(base)/lib_ungetch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_ungetch.c -o ../obj_g/lib_ungetch$o
+
+../obj_g/lib_vidattr$o :	$(serial)/lib_vidattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_vidattr.c -o ../obj_g/lib_vidattr$o
+
+../obj_g/lib_vline$o :	$(base)/lib_vline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_vline.c -o ../obj_g/lib_vline$o
+
+../obj_g/lib_wattroff$o :	$(base)/lib_wattroff.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_wattroff.c -o ../obj_g/lib_wattroff$o
+
+../obj_g/lib_wattron$o :	$(base)/lib_wattron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_wattron.c -o ../obj_g/lib_wattron$o
+
+../obj_g/lib_winch$o :	$(base)/lib_winch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_winch.c -o ../obj_g/lib_winch$o
+
+../obj_g/lib_window$o :	$(base)/lib_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_window.c -o ../obj_g/lib_window$o
+
+../obj_g/link_test$o :	./link_test.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/link_test.c -o ../obj_g/link_test$o
+
+../obj_g/nc_panel$o :	$(base)/nc_panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/nc_panel.c -o ../obj_g/nc_panel$o
+
+../obj_g/safe_sprintf$o :	$(base)/safe_sprintf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/safe_sprintf.c -o ../obj_g/safe_sprintf$o
+
+../obj_g/tty_update$o :	$(serial)/tty_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/tty_update.c -o ../obj_g/tty_update$o
+
+../obj_g/varargs$o :	$(trace)/varargs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/varargs.c -o ../obj_g/varargs$o
+
+../obj_g/vsscanf$o :	$(base)/vsscanf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/vsscanf.c -o ../obj_g/vsscanf$o
+
+../obj_g/lib_freeall$o :	$(base)/lib_freeall.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_freeall.c -o ../obj_g/lib_freeall$o
+
+../obj_g/expanded$o :	./expanded.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/expanded.c -o ../obj_g/expanded$o
+
+../obj_g/legacy_coding$o :	$(base)/legacy_coding.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/legacy_coding.c -o ../obj_g/legacy_coding$o
+
+../obj_g/lib_dft_fgbg$o :	$(base)/lib_dft_fgbg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_dft_fgbg.c -o ../obj_g/lib_dft_fgbg$o
+
+../obj_g/lib_print$o :	$(tinfo)/lib_print.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_print.c -o ../obj_g/lib_print$o
+
+../obj_g/resizeterm$o :	$(base)/resizeterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/resizeterm.c -o ../obj_g/resizeterm$o
+
+../obj_g/trace_xnames$o :	$(trace)/trace_xnames.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_xnames.c -o ../obj_g/trace_xnames$o
+
+../obj_g/use_screen$o :	$(tinfo)/use_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/use_screen.c -o ../obj_g/use_screen$o
+
+../obj_g/use_window$o :	$(base)/use_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/use_window.c -o ../obj_g/use_window$o
+
+../obj_g/wresize$o :	$(base)/wresize.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/wresize.c -o ../obj_g/wresize$o
+
+../obj_g/access$o :	$(tinfo)/access.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/access.c -o ../obj_g/access$o
+
+../obj_g/add_tries$o :	$(tinfo)/add_tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/add_tries.c -o ../obj_g/add_tries$o
+
+../obj_g/alloc_ttype$o :	$(tinfo)/alloc_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/alloc_ttype.c -o ../obj_g/alloc_ttype$o
+
+../obj_g/codes$o :	./codes.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/codes.c -o ../obj_g/codes$o
+
+../obj_g/comp_captab$o :	./comp_captab.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/comp_captab.c -o ../obj_g/comp_captab$o
+
+../obj_g/comp_error$o :	$(tinfo)/comp_error.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_error.c -o ../obj_g/comp_error$o
+
+../obj_g/comp_hash$o :	$(tinfo)/comp_hash.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_hash.c -o ../obj_g/comp_hash$o
+
+../obj_g/db_iterator$o :	$(tinfo)/db_iterator.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/db_iterator.c -o ../obj_g/db_iterator$o
+
+../obj_g/doalloc$o :	$(tinfo)/doalloc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/doalloc.c -o ../obj_g/doalloc$o
+
+../obj_g/entries$o :	$(tinfo)/entries.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/entries.c -o ../obj_g/entries$o
+
+../obj_g/fallback$o :	./fallback.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/fallback.c -o ../obj_g/fallback$o
+
+../obj_g/free_ttype$o :	$(tinfo)/free_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/free_ttype.c -o ../obj_g/free_ttype$o
+
+../obj_g/getenv_num$o :	$(tinfo)/getenv_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/getenv_num.c -o ../obj_g/getenv_num$o
+
+../obj_g/home_terminfo$o :	$(tinfo)/home_terminfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/home_terminfo.c -o ../obj_g/home_terminfo$o
+
+../obj_g/init_keytry$o :	$(tinfo)/init_keytry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			init_keytry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/init_keytry.c -o ../obj_g/init_keytry$o
+
+../obj_g/lib_acs$o :	$(tinfo)/lib_acs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_acs.c -o ../obj_g/lib_acs$o
+
+../obj_g/lib_baudrate$o :	$(tinfo)/lib_baudrate.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_baudrate.c -o ../obj_g/lib_baudrate$o
+
+../obj_g/lib_cur_term$o :	$(tinfo)/lib_cur_term.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_cur_term.c -o ../obj_g/lib_cur_term$o
+
+../obj_g/lib_data$o :	$(tinfo)/lib_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_data.c -o ../obj_g/lib_data$o
+
+../obj_g/lib_has_cap$o :	$(tinfo)/lib_has_cap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_has_cap.c -o ../obj_g/lib_has_cap$o
+
+../obj_g/lib_kernel$o :	$(tinfo)/lib_kernel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_kernel.c -o ../obj_g/lib_kernel$o
+
+../obj_g/lib_keyname$o :	./lib_keyname.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/lib_keyname.c -o ../obj_g/lib_keyname$o
+
+../obj_g/lib_longname$o :	$(tinfo)/lib_longname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_longname.c -o ../obj_g/lib_longname$o
+
+../obj_g/lib_napms$o :	$(tinfo)/lib_napms.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_napms.c -o ../obj_g/lib_napms$o
+
+../obj_g/lib_options$o :	$(tinfo)/lib_options.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_options.c -o ../obj_g/lib_options$o
+
+../obj_g/lib_raw$o :	$(tinfo)/lib_raw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_raw.c -o ../obj_g/lib_raw$o
+
+../obj_g/lib_setup$o :	$(tinfo)/lib_setup.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_setup.c -o ../obj_g/lib_setup$o
+
+../obj_g/lib_termcap$o :	$(tinfo)/lib_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h \
+			$(INCDIR)/capdefaults.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_termcap.c -o ../obj_g/lib_termcap$o
+
+../obj_g/lib_termname$o :	$(tinfo)/lib_termname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_termname.c -o ../obj_g/lib_termname$o
+
+../obj_g/lib_tgoto$o :	$(tinfo)/lib_tgoto.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tgoto.c -o ../obj_g/lib_tgoto$o
+
+../obj_g/lib_ti$o :	$(tinfo)/lib_ti.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_ti.c -o ../obj_g/lib_ti$o
+
+../obj_g/lib_tparm$o :	$(tinfo)/lib_tparm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tparm.c -o ../obj_g/lib_tparm$o
+
+../obj_g/lib_tputs$o :	$(tinfo)/lib_tputs.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tputs.c -o ../obj_g/lib_tputs$o
+
+../obj_g/lib_trace$o :	$(trace)/lib_trace.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_trace.c -o ../obj_g/lib_trace$o
+
+../obj_g/lib_traceatr$o :	$(trace)/lib_traceatr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_traceatr.c -o ../obj_g/lib_traceatr$o
+
+../obj_g/lib_tracebits$o :	$(trace)/lib_tracebits.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracebits.c -o ../obj_g/lib_tracebits$o
+
+../obj_g/lib_tracechr$o :	$(trace)/lib_tracechr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracechr.c -o ../obj_g/lib_tracechr$o
+
+../obj_g/lib_ttyflags$o :	$(tinfo)/lib_ttyflags.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_ttyflags.c -o ../obj_g/lib_ttyflags$o
+
+../obj_g/lib_twait$o :	$(serial)/lib_twait.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_twait.c -o ../obj_g/lib_twait$o
+
+../obj_g/name_match$o :	$(tinfo)/name_match.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/name_match.c -o ../obj_g/name_match$o
+
+../obj_g/names$o :	./names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/names.c -o ../obj_g/names$o
+
+../obj_g/obsolete$o :	$(tinfo)/obsolete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/obsolete.c -o ../obj_g/obsolete$o
+
+../obj_g/read_entry$o :	$(tinfo)/read_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/read_entry.c -o ../obj_g/read_entry$o
+
+../obj_g/read_termcap$o :	$(tinfo)/read_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/read_termcap.c -o ../obj_g/read_termcap$o
+
+../obj_g/strings$o :	$(tinfo)/strings.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/strings.c -o ../obj_g/strings$o
+
+../obj_g/trace_buf$o :	$(trace)/trace_buf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_buf.c -o ../obj_g/trace_buf$o
+
+../obj_g/trace_tries$o :	$(trace)/trace_tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_tries.c -o ../obj_g/trace_tries$o
+
+../obj_g/tries$o :	$(base)/tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/tries.c -o ../obj_g/tries$o
+
+../obj_g/trim_sgr0$o :	$(tinfo)/trim_sgr0.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/trim_sgr0.c -o ../obj_g/trim_sgr0$o
+
+../obj_g/unctrl$o :	./unctrl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/unctrl.c -o ../obj_g/unctrl$o
+
+../obj_g/visbuf$o :	$(trace)/visbuf.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/visbuf.c -o ../obj_g/visbuf$o
+
+../obj_g/alloc_entry$o :	$(tinfo)/alloc_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/alloc_entry.c -o ../obj_g/alloc_entry$o
+
+../obj_g/captoinfo$o :	$(tinfo)/captoinfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/captoinfo.c -o ../obj_g/captoinfo$o
+
+../obj_g/comp_expand$o :	$(tinfo)/comp_expand.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_expand.c -o ../obj_g/comp_expand$o
+
+../obj_g/comp_parse$o :	$(tinfo)/comp_parse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_parse.c -o ../obj_g/comp_parse$o
+
+../obj_g/comp_scan$o :	$(tinfo)/comp_scan.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_scan.c -o ../obj_g/comp_scan$o
+
+../obj_g/parse_entry$o :	$(tinfo)/parse_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/parametrized.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/parse_entry.c -o ../obj_g/parse_entry$o
+
+../obj_g/write_entry$o :	$(tinfo)/write_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/write_entry.c -o ../obj_g/write_entry$o
+
+../obj_g/define_key$o :	$(base)/define_key.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/define_key.c -o ../obj_g/define_key$o
+
+../obj_g/hashed_db$o :	$(tinfo)/hashed_db.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/hashed_db.c -o ../obj_g/hashed_db$o
+
+../obj_g/key_defined$o :	$(base)/key_defined.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/key_defined.c -o ../obj_g/key_defined$o
+
+../obj_g/keybound$o :	$(base)/keybound.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/keybound.c -o ../obj_g/keybound$o
+
+../obj_g/keyok$o :	$(base)/keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/keyok.c -o ../obj_g/keyok$o
+
+../obj_g/version$o :	$(base)/version.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/version.c -o ../obj_g/version$o
+
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/ncurses/codes.c b/ncurses/codes.c
new file mode 100644
index 0000000..d0c7bad
--- /dev/null
+++ b/ncurses/codes.c
@@ -0,0 +1,675 @@
+/* This file was generated by MKcodes.awk */
+
+#include <curses.priv.h>
+
+#define IT NCURSES_CONST char * const
+
+
+#if BROKEN_LINKER || USE_REENTRANT
+
+static const char _nc_code_blob[] = 
+"bw\0" "am\0" "xb\0" "xs\0" "xn\0" "eo\0" "gn\0" "hc\0" "km\0" "hs\0" "in\0" \
+"da\0" "db\0" "mi\0" "ms\0" "os\0" "es\0" "xt\0" "hz\0" "ul\0" "xo\0" "nx\0" \
+"5i\0" "HC\0" "NR\0" "NP\0" "ND\0" "cc\0" "ut\0" "hl\0" "YA\0" "YB\0" "YC\0" \
+"YD\0" "YE\0" "YF\0" "YG\0" "co\0" "it\0" "li\0" "lm\0" "sg\0" "pb\0" "vt\0" \
+"ws\0" "Nl\0" "lh\0" "lw\0" "ma\0" "MW\0" "Co\0" "pa\0" "NC\0" "Ya\0" "Yb\0" \
+"Yc\0" "Yd\0" "Ye\0" "Yf\0" "Yg\0" "Yh\0" "Yi\0" "Yj\0" "Yk\0" "Yl\0" "Ym\0" \
+"Yn\0" "BT\0" "Yo\0" "Yp\0" "bt\0" "bl\0" "cr\0" "cs\0" "ct\0" "cl\0" "ce\0" \
+"cd\0" "ch\0" "CC\0" "cm\0" "do\0" "ho\0" "vi\0" "le\0" "CM\0" "ve\0" "nd\0" \
+"ll\0" "up\0" "vs\0" "dc\0" "dl\0" "ds\0" "hd\0" "as\0" "mb\0" "md\0" "ti\0" \
+"dm\0" "mh\0" "im\0" "mk\0" "mp\0" "mr\0" "so\0" "us\0" "ec\0" "ae\0" "me\0" \
+"te\0" "ed\0" "ei\0" "se\0" "ue\0" "vb\0" "ff\0" "fs\0" "i1\0" "is\0" "i3\0" \
+"if\0" "ic\0" "al\0" "ip\0" "kb\0" "ka\0" "kC\0" "kt\0" "kD\0" "kL\0" "kd\0" \
+"kM\0" "kE\0" "kS\0" "k0\0" "k1\0" "k;\0" "k2\0" "k3\0" "k4\0" "k5\0" "k6\0" \
+"k7\0" "k8\0" "k9\0" "kh\0" "kI\0" "kA\0" "kl\0" "kH\0" "kN\0" "kP\0" "kr\0" \
+"kF\0" "kR\0" "kT\0" "ku\0" "ke\0" "ks\0" "l0\0" "l1\0" "la\0" "l2\0" "l3\0" \
+"l4\0" "l5\0" "l6\0" "l7\0" "l8\0" "l9\0" "mo\0" "mm\0" "nw\0" "pc\0" "DC\0" \
+"DL\0" "DO\0" "IC\0" "SF\0" "AL\0" "LE\0" "RI\0" "SR\0" "UP\0" "pk\0" "pl\0" \
+"px\0" "ps\0" "pf\0" "po\0" "rp\0" "r1\0" "r2\0" "r3\0" "rf\0" "rc\0" "cv\0" \
+"sc\0" "sf\0" "sr\0" "sa\0" "st\0" "wi\0" "ta\0" "ts\0" "uc\0" "hu\0" "iP\0" \
+"K1\0" "K3\0" "K2\0" "K4\0" "K5\0" "pO\0" "rP\0" "ac\0" "pn\0" "kB\0" "SX\0" \
+"RX\0" "SA\0" "RA\0" "XN\0" "XF\0" "eA\0" "LO\0" "LF\0" "@1\0" "@2\0" "@3\0" \
+"@4\0" "@5\0" "@6\0" "@7\0" "@8\0" "@9\0" "@0\0" "%1\0" "%2\0" "%3\0" "%4\0" \
+"%5\0" "%6\0" "%7\0" "%8\0" "%9\0" "%0\0" "&1\0" "&2\0" "&3\0" "&4\0" "&5\0" \
+"&6\0" "&7\0" "&8\0" "&9\0" "&0\0" "*1\0" "*2\0" "*3\0" "*4\0" "*5\0" "*6\0" \
+"*7\0" "*8\0" "*9\0" "*0\0" "#1\0" "#2\0" "#3\0" "#4\0" "%a\0" "%b\0" "%c\0" \
+"%d\0" "%e\0" "%f\0" "%g\0" "%h\0" "%i\0" "%j\0" "!1\0" "!2\0" "!3\0" "RF\0" \
+"F1\0" "F2\0" "F3\0" "F4\0" "F5\0" "F6\0" "F7\0" "F8\0" "F9\0" "FA\0" "FB\0" \
+"FC\0" "FD\0" "FE\0" "FF\0" "FG\0" "FH\0" "FI\0" "FJ\0" "FK\0" "FL\0" "FM\0" \
+"FN\0" "FO\0" "FP\0" "FQ\0" "FR\0" "FS\0" "FT\0" "FU\0" "FV\0" "FW\0" "FX\0" \
+"FY\0" "FZ\0" "Fa\0" "Fb\0" "Fc\0" "Fd\0" "Fe\0" "Ff\0" "Fg\0" "Fh\0" "Fi\0" \
+"Fj\0" "Fk\0" "Fl\0" "Fm\0" "Fn\0" "Fo\0" "Fp\0" "Fq\0" "Fr\0" "cb\0" "MC\0" \
+"ML\0" "MR\0" "Lf\0" "SC\0" "DK\0" "RC\0" "CW\0" "WG\0" "HU\0" "DI\0" "QD\0" \
+"TO\0" "PU\0" "fh\0" "PA\0" "WA\0" "u0\0" "u1\0" "u2\0" "u3\0" "u4\0" "u5\0" \
+"u6\0" "u7\0" "u8\0" "u9\0" "op\0" "oc\0" "Ic\0" "Ip\0" "sp\0" "Sf\0" "Sb\0" \
+"ZA\0" "ZB\0" "ZC\0" "ZD\0" "ZE\0" "ZF\0" "ZG\0" "ZH\0" "ZI\0" "ZJ\0" "ZK\0" \
+"ZL\0" "ZM\0" "ZN\0" "ZO\0" "ZP\0" "ZQ\0" "ZR\0" "ZS\0" "ZT\0" "ZU\0" "ZV\0" \
+"ZW\0" "ZX\0" "ZY\0" "ZZ\0" "Za\0" "Zb\0" "Zc\0" "Zd\0" "Ze\0" "Zf\0" "Zg\0" \
+"Zh\0" "Zi\0" "Zj\0" "Zk\0" "Zl\0" "Zm\0" "Zn\0" "Zo\0" "Zp\0" "Zq\0" "Zr\0" \
+"Zs\0" "Zt\0" "Zu\0" "Zv\0" "Zw\0" "Zx\0" "Zy\0" "Km\0" "Mi\0" "RQ\0" "Gm\0" \
+"AF\0" "AB\0" "xl\0" "dv\0" "ci\0" "s0\0" "s1\0" "s2\0" "s3\0" "ML\0" "MT\0" \
+"Xy\0" "Zz\0" "Yv\0" "Yw\0" "Yx\0" "Yy\0" "Yz\0" "YZ\0" "S1\0" "S2\0" "S3\0" \
+"S4\0" "S5\0" "S6\0" "S7\0" "S8\0" "Xh\0" "Xl\0" "Xo\0" "Xr\0" "Xt\0" "Xv\0" \
+"sA\0" "YI\0" "i2\0" "rs\0" "ug\0" "bs\0" "ns\0" "nc\0" "dC\0" "dN\0" "nl\0" \
+"bc\0" "MT\0" "NL\0" "dB\0" "dT\0" "kn\0" "ko\0" "ma\0" "pt\0" "xr\0" "G2\0" \
+"G3\0" "G1\0" "G4\0" "GR\0" "GL\0" "GU\0" "GD\0" "GH\0" "GV\0" "GC\0" "ml\0" \
+"mu\0" "bx\0" ;
+static const short _nc_offset_boolcodes[] = {
+0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42,
+45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87,
+90, 93, 96, 99, 102, 105, 108, 1401, 1404, 1407, 1422, 1425, 1443, 1446, };
+
+static NCURSES_CONST char ** ptr_boolcodes = 0;
+
+static const short _nc_offset_numcodes[] = {
+111, 114, 117, 120, 123, 126,
+129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162,
+165, 168, 171, 174, 177, 180, 183, 186, 189, 192, 195, 198,
+201, 204, 207, 1398, 1410, 1413, 1428, 1431, 1434, };
+
+static NCURSES_CONST char ** ptr_numcodes = 0;
+
+static const short _nc_offset_strcodes[] = {
+210, 213, 216, 219, 222, 225, 228, 231, 234,
+237, 240, 243, 246, 249, 252, 255, 258, 261, 264, 267, 270,
+273, 276, 279, 282, 285, 288, 291, 294, 297, 300, 303, 306,
+309, 312, 315, 318, 321, 324, 327, 330, 333, 336, 339, 342,
+345, 348, 351, 354, 357, 360, 363, 366, 369, 372, 375, 378,
+381, 384, 387, 390, 393, 396, 399, 402, 405, 408, 411, 414,
+417, 420, 423, 426, 429, 432, 435, 438, 441, 444, 447, 450,
+453, 456, 459, 462, 465, 468, 471, 474, 477, 480, 483, 486,
+489, 492, 495, 498, 501, 504, 507, 510, 513, 516, 519, 522,
+525, 528, 531, 534, 537, 540, 543, 546, 549, 552, 555, 558,
+561, 564, 567, 570, 573, 576, 579, 582, 585, 588, 591, 594,
+597, 600, 603, 606, 609, 612, 615, 618, 621, 624, 627, 630,
+633, 636, 639, 642, 645, 648, 651, 654, 657, 660, 663, 666,
+669, 672, 675, 678, 681, 684, 687, 690, 693, 696, 699, 702,
+705, 708, 711, 714, 717, 720, 723, 726, 729, 732, 735, 738,
+741, 744, 747, 750, 753, 756, 759, 762, 765, 768, 771, 774,
+777, 780, 783, 786, 789, 792, 795, 798, 801, 804, 807, 810,
+813, 816, 819, 822, 825, 828, 831, 834, 837, 840, 843, 846,
+849, 852, 855, 858, 861, 864, 867, 870, 873, 876, 879, 882,
+885, 888, 891, 894, 897, 900, 903, 906, 909, 912, 915, 918,
+921, 924, 927, 930, 933, 936, 939, 942, 945, 948, 951, 954,
+957, 960, 963, 966, 969, 972, 975, 978, 981, 984, 987, 990,
+993, 996, 999, 1002, 1005, 1008, 1011, 1014, 1017, 1020, 1023,
+1026, 1029, 1032, 1035, 1038, 1041, 1044, 1047, 1050, 1053, 1056,
+1059, 1062, 1065, 1068, 1071, 1074, 1077, 1080, 1083, 1086, 1089,
+1092, 1095, 1098, 1101, 1104, 1107, 1110, 1113, 1116, 1119, 1122,
+1125, 1128, 1131, 1134, 1137, 1140, 1143, 1146, 1149, 1152, 1155,
+1158, 1161, 1164, 1167, 1170, 1173, 1176, 1179, 1182, 1185, 1188,
+1191, 1194, 1197, 1200, 1203, 1206, 1209, 1212, 1215, 1218, 1221,
+1224, 1227, 1230, 1233, 1236, 1239, 1242, 1245, 1248, 1251, 1254,
+1257, 1260, 1263, 1266, 1269, 1272, 1275, 1278, 1281, 1284, 1287,
+1290, 1293, 1296, 1299, 1302, 1305, 1308, 1311, 1314, 1317, 1320,
+1323, 1326, 1329, 1332, 1335, 1338, 1341, 1344, 1347, 1350, 1353,
+1356, 1359, 1362, 1365, 1368, 1371, 1374, 1377, 1380, 1383, 1386,
+1389, 1392, 1395, 1416, 1419,
+1437, 1440, 1449, 1452,
+1455, 1458, 1461, 1464, 1467, 1470, 1473, 1476, 1479, 1482, 1485,
+1488, };
+
+static NCURSES_CONST char ** ptr_strcodes = 0;
+
+
+static IT *
+alloc_array(NCURSES_CONST char ***value, const short *offsets, unsigned size)
+{
+	if (*value == 0) {
+		if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {
+			unsigned n;
+			for (n = 0; n < size; ++n) {
+				(*value)[n] = (NCURSES_CONST char *) _nc_code_blob + offsets[n];
+			}
+		}
+	}
+	return *value;
+}
+
+#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }
+
+/* remove public definition which conflicts with FIX() */
+#undef boolcodes
+#undef numcodes
+#undef strcodes
+
+/* add local definition */
+FIX(boolcodes)
+FIX(numcodes)
+FIX(strcodes)
+
+/* restore the public definition */
+
+#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }
+#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())
+#define numcodes   NCURSES_PUBLIC_VAR(numcodes())
+#define strcodes   NCURSES_PUBLIC_VAR(strcodes())
+
+#if NO_LEAKS
+NCURSES_EXPORT(void)
+_nc_codes_leaks(void)
+{
+FREE_FIX(boolcodes)
+FREE_FIX(numcodes)
+FREE_FIX(strcodes)
+}
+#endif
+
+#else
+
+#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]
+
+DCL(boolcodes) = {
+		"bw",
+		"am",
+		"xb",
+		"xs",
+		"xn",
+		"eo",
+		"gn",
+		"hc",
+		"km",
+		"hs",
+		"in",
+		"da",
+		"db",
+		"mi",
+		"ms",
+		"os",
+		"es",
+		"xt",
+		"hz",
+		"ul",
+		"xo",
+		"nx",
+		"5i",
+		"HC",
+		"NR",
+		"NP",
+		"ND",
+		"cc",
+		"ut",
+		"hl",
+		"YA",
+		"YB",
+		"YC",
+		"YD",
+		"YE",
+		"YF",
+		"YG",
+		"bs",
+		"ns",
+		"nc",
+		"MT",
+		"NL",
+		"pt",
+		"xr",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(numcodes) = {
+		"co",
+		"it",
+		"li",
+		"lm",
+		"sg",
+		"pb",
+		"vt",
+		"ws",
+		"Nl",
+		"lh",
+		"lw",
+		"ma",
+		"MW",
+		"Co",
+		"pa",
+		"NC",
+		"Ya",
+		"Yb",
+		"Yc",
+		"Yd",
+		"Ye",
+		"Yf",
+		"Yg",
+		"Yh",
+		"Yi",
+		"Yj",
+		"Yk",
+		"Yl",
+		"Ym",
+		"Yn",
+		"BT",
+		"Yo",
+		"Yp",
+		"ug",
+		"dC",
+		"dN",
+		"dB",
+		"dT",
+		"kn",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(strcodes) = {
+		"bt",
+		"bl",
+		"cr",
+		"cs",
+		"ct",
+		"cl",
+		"ce",
+		"cd",
+		"ch",
+		"CC",
+		"cm",
+		"do",
+		"ho",
+		"vi",
+		"le",
+		"CM",
+		"ve",
+		"nd",
+		"ll",
+		"up",
+		"vs",
+		"dc",
+		"dl",
+		"ds",
+		"hd",
+		"as",
+		"mb",
+		"md",
+		"ti",
+		"dm",
+		"mh",
+		"im",
+		"mk",
+		"mp",
+		"mr",
+		"so",
+		"us",
+		"ec",
+		"ae",
+		"me",
+		"te",
+		"ed",
+		"ei",
+		"se",
+		"ue",
+		"vb",
+		"ff",
+		"fs",
+		"i1",
+		"is",
+		"i3",
+		"if",
+		"ic",
+		"al",
+		"ip",
+		"kb",
+		"ka",
+		"kC",
+		"kt",
+		"kD",
+		"kL",
+		"kd",
+		"kM",
+		"kE",
+		"kS",
+		"k0",
+		"k1",
+		"k;",
+		"k2",
+		"k3",
+		"k4",
+		"k5",
+		"k6",
+		"k7",
+		"k8",
+		"k9",
+		"kh",
+		"kI",
+		"kA",
+		"kl",
+		"kH",
+		"kN",
+		"kP",
+		"kr",
+		"kF",
+		"kR",
+		"kT",
+		"ku",
+		"ke",
+		"ks",
+		"l0",
+		"l1",
+		"la",
+		"l2",
+		"l3",
+		"l4",
+		"l5",
+		"l6",
+		"l7",
+		"l8",
+		"l9",
+		"mo",
+		"mm",
+		"nw",
+		"pc",
+		"DC",
+		"DL",
+		"DO",
+		"IC",
+		"SF",
+		"AL",
+		"LE",
+		"RI",
+		"SR",
+		"UP",
+		"pk",
+		"pl",
+		"px",
+		"ps",
+		"pf",
+		"po",
+		"rp",
+		"r1",
+		"r2",
+		"r3",
+		"rf",
+		"rc",
+		"cv",
+		"sc",
+		"sf",
+		"sr",
+		"sa",
+		"st",
+		"wi",
+		"ta",
+		"ts",
+		"uc",
+		"hu",
+		"iP",
+		"K1",
+		"K3",
+		"K2",
+		"K4",
+		"K5",
+		"pO",
+		"rP",
+		"ac",
+		"pn",
+		"kB",
+		"SX",
+		"RX",
+		"SA",
+		"RA",
+		"XN",
+		"XF",
+		"eA",
+		"LO",
+		"LF",
+		"@1",
+		"@2",
+		"@3",
+		"@4",
+		"@5",
+		"@6",
+		"@7",
+		"@8",
+		"@9",
+		"@0",
+		"%1",
+		"%2",
+		"%3",
+		"%4",
+		"%5",
+		"%6",
+		"%7",
+		"%8",
+		"%9",
+		"%0",
+		"&1",
+		"&2",
+		"&3",
+		"&4",
+		"&5",
+		"&6",
+		"&7",
+		"&8",
+		"&9",
+		"&0",
+		"*1",
+		"*2",
+		"*3",
+		"*4",
+		"*5",
+		"*6",
+		"*7",
+		"*8",
+		"*9",
+		"*0",
+		"#1",
+		"#2",
+		"#3",
+		"#4",
+		"%a",
+		"%b",
+		"%c",
+		"%d",
+		"%e",
+		"%f",
+		"%g",
+		"%h",
+		"%i",
+		"%j",
+		"!1",
+		"!2",
+		"!3",
+		"RF",
+		"F1",
+		"F2",
+		"F3",
+		"F4",
+		"F5",
+		"F6",
+		"F7",
+		"F8",
+		"F9",
+		"FA",
+		"FB",
+		"FC",
+		"FD",
+		"FE",
+		"FF",
+		"FG",
+		"FH",
+		"FI",
+		"FJ",
+		"FK",
+		"FL",
+		"FM",
+		"FN",
+		"FO",
+		"FP",
+		"FQ",
+		"FR",
+		"FS",
+		"FT",
+		"FU",
+		"FV",
+		"FW",
+		"FX",
+		"FY",
+		"FZ",
+		"Fa",
+		"Fb",
+		"Fc",
+		"Fd",
+		"Fe",
+		"Ff",
+		"Fg",
+		"Fh",
+		"Fi",
+		"Fj",
+		"Fk",
+		"Fl",
+		"Fm",
+		"Fn",
+		"Fo",
+		"Fp",
+		"Fq",
+		"Fr",
+		"cb",
+		"MC",
+		"ML",
+		"MR",
+		"Lf",
+		"SC",
+		"DK",
+		"RC",
+		"CW",
+		"WG",
+		"HU",
+		"DI",
+		"QD",
+		"TO",
+		"PU",
+		"fh",
+		"PA",
+		"WA",
+		"u0",
+		"u1",
+		"u2",
+		"u3",
+		"u4",
+		"u5",
+		"u6",
+		"u7",
+		"u8",
+		"u9",
+		"op",
+		"oc",
+		"Ic",
+		"Ip",
+		"sp",
+		"Sf",
+		"Sb",
+		"ZA",
+		"ZB",
+		"ZC",
+		"ZD",
+		"ZE",
+		"ZF",
+		"ZG",
+		"ZH",
+		"ZI",
+		"ZJ",
+		"ZK",
+		"ZL",
+		"ZM",
+		"ZN",
+		"ZO",
+		"ZP",
+		"ZQ",
+		"ZR",
+		"ZS",
+		"ZT",
+		"ZU",
+		"ZV",
+		"ZW",
+		"ZX",
+		"ZY",
+		"ZZ",
+		"Za",
+		"Zb",
+		"Zc",
+		"Zd",
+		"Ze",
+		"Zf",
+		"Zg",
+		"Zh",
+		"Zi",
+		"Zj",
+		"Zk",
+		"Zl",
+		"Zm",
+		"Zn",
+		"Zo",
+		"Zp",
+		"Zq",
+		"Zr",
+		"Zs",
+		"Zt",
+		"Zu",
+		"Zv",
+		"Zw",
+		"Zx",
+		"Zy",
+		"Km",
+		"Mi",
+		"RQ",
+		"Gm",
+		"AF",
+		"AB",
+		"xl",
+		"dv",
+		"ci",
+		"s0",
+		"s1",
+		"s2",
+		"s3",
+		"ML",
+		"MT",
+		"Xy",
+		"Zz",
+		"Yv",
+		"Yw",
+		"Yx",
+		"Yy",
+		"Yz",
+		"YZ",
+		"S1",
+		"S2",
+		"S3",
+		"S4",
+		"S5",
+		"S6",
+		"S7",
+		"S8",
+		"Xh",
+		"Xl",
+		"Xo",
+		"Xr",
+		"Xt",
+		"Xv",
+		"sA",
+		"YI",
+		"i2",
+		"rs",
+		"nl",
+		"bc",
+		"ko",
+		"ma",
+		"G2",
+		"G3",
+		"G1",
+		"G4",
+		"GR",
+		"GL",
+		"GU",
+		"GD",
+		"GH",
+		"GV",
+		"GC",
+		"ml",
+		"mu",
+		"bx",
+
+		(NCURSES_CONST char *)0,
+};
+
+
+#endif /* BROKEN_LINKER */
diff --git a/ncurses/comp_captab.c b/ncurses/comp_captab.c
new file mode 100644
index 0000000..0903c4e
--- /dev/null
+++ b/ncurses/comp_captab.c
@@ -0,0 +1,3416 @@
+/*
+ * generated by ./tinfo/MKcaptab.sh
+ */
+
+/*
+ *	comp_captab.c -- The names of the capabilities indexed via a hash
+ *		         table for the compiler.
+ *
+ */
+
+#include <curses.priv.h>
+#include <tic.h>
+#include <hashsize.h>
+
+/* 147 collisions out of 497 entries */
+static const char info_names_text[] = \
+"bw\0" "am\0" "xsb\0" "xhp\0" "xenl\0" "eo\0" "gn\0" "hc\0" "km\0" \
+"hs\0" "in\0" "da\0" "db\0" "mir\0" "msgr\0" "os\0" "eslok\0" "xt\0" \
+"hz\0" "ul\0" "xon\0" "nxon\0" "mc5i\0" "chts\0" "nrrmc\0" "npc\0" \
+"ndscr\0" "ccc\0" "bce\0" "hls\0" "xhpa\0" "crxm\0" "daisy\0" "xvpa\0" \
+"sam\0" "cpix\0" "lpix\0" "cols\0" "it\0" "lines\0" "lm\0" "xmc\0" \
+"pb\0" "vt\0" "wsl\0" "nlab\0" "lh\0" "lw\0" "ma\0" "wnum\0" "colors\0" \
+"pairs\0" "ncv\0" "bufsz\0" "spinv\0" "spinh\0" "maddr\0" "mjump\0" \
+"mcs\0" "mls\0" "npins\0" "orc\0" "orl\0" "orhi\0" "orvi\0" "cps\0" \
+"widcs\0" "btns\0" "bitwin\0" "bitype\0" "cbt\0" "bel\0" "cr\0" "csr\0" \
+"tbc\0" "clear\0" "el\0" "ed\0" "hpa\0" "cmdch\0" "cup\0" "cud1\0" \
+"home\0" "civis\0" "cub1\0" "mrcup\0" "cnorm\0" "cuf1\0" "ll\0" \
+"cuu1\0" "cvvis\0" "dch1\0" "dl1\0" "dsl\0" "hd\0" "smacs\0" "blink\0" \
+"bold\0" "smcup\0" "smdc\0" "dim\0" "smir\0" "invis\0" "prot\0" "rev\0" \
+"smso\0" "smul\0" "ech\0" "rmacs\0" "sgr0\0" "rmcup\0" "rmdc\0" \
+"rmir\0" "rmso\0" "rmul\0" "flash\0" "ff\0" "fsl\0" "is1\0" "is2\0" \
+"is3\0" "if\0" "ich1\0" "il1\0" "ip\0" "kbs\0" "ktbc\0" "kclr\0" \
+"kctab\0" "kdch1\0" "kdl1\0" "kcud1\0" "krmir\0" "kel\0" "ked\0" \
+"kf0\0" "kf1\0" "kf10\0" "kf2\0" "kf3\0" "kf4\0" "kf5\0" "kf6\0" \
+"kf7\0" "kf8\0" "kf9\0" "khome\0" "kich1\0" "kil1\0" "kcub1\0" "kll\0" \
+"knp\0" "kpp\0" "kcuf1\0" "kind\0" "kri\0" "khts\0" "kcuu1\0" "rmkx\0" \
+"smkx\0" "lf0\0" "lf1\0" "lf10\0" "lf2\0" "lf3\0" "lf4\0" "lf5\0" \
+"lf6\0" "lf7\0" "lf8\0" "lf9\0" "rmm\0" "smm\0" "nel\0" "pad\0" "dch\0" \
+"dl\0" "cud\0" "ich\0" "indn\0" "il\0" "cub\0" "cuf\0" "rin\0" "cuu\0" \
+"pfkey\0" "pfloc\0" "pfx\0" "mc0\0" "mc4\0" "mc5\0" "rep\0" "rs1\0" \
+"rs2\0" "rs3\0" "rf\0" "rc\0" "vpa\0" "sc\0" "ind\0" "ri\0" "sgr\0" \
+"hts\0" "wind\0" "ht\0" "tsl\0" "uc\0" "hu\0" "iprog\0" "ka1\0" "ka3\0" \
+"kb2\0" "kc1\0" "kc3\0" "mc5p\0" "rmp\0" "acsc\0" "pln\0" "kcbt\0" \
+"smxon\0" "rmxon\0" "smam\0" "rmam\0" "xonc\0" "xoffc\0" "enacs\0" \
+"smln\0" "rmln\0" "kbeg\0" "kcan\0" "kclo\0" "kcmd\0" "kcpy\0" "kcrt\0" \
+"kend\0" "kent\0" "kext\0" "kfnd\0" "khlp\0" "kmrk\0" "kmsg\0" "kmov\0" \
+"knxt\0" "kopn\0" "kopt\0" "kprv\0" "kprt\0" "krdo\0" "kref\0" "krfr\0" \
+"krpl\0" "krst\0" "kres\0" "ksav\0" "kspd\0" "kund\0" "kBEG\0" "kCAN\0" \
+"kCMD\0" "kCPY\0" "kCRT\0" "kDC\0" "kDL\0" "kslt\0" "kEND\0" "kEOL\0" \
+"kEXT\0" "kFND\0" "kHLP\0" "kHOM\0" "kIC\0" "kLFT\0" "kMSG\0" "kMOV\0" \
+"kNXT\0" "kOPT\0" "kPRV\0" "kPRT\0" "kRDO\0" "kRPL\0" "kRIT\0" "kRES\0" \
+"kSAV\0" "kSPD\0" "kUND\0" "rfi\0" "kf11\0" "kf12\0" "kf13\0" "kf14\0" \
+"kf15\0" "kf16\0" "kf17\0" "kf18\0" "kf19\0" "kf20\0" "kf21\0" "kf22\0" \
+"kf23\0" "kf24\0" "kf25\0" "kf26\0" "kf27\0" "kf28\0" "kf29\0" "kf30\0" \
+"kf31\0" "kf32\0" "kf33\0" "kf34\0" "kf35\0" "kf36\0" "kf37\0" "kf38\0" \
+"kf39\0" "kf40\0" "kf41\0" "kf42\0" "kf43\0" "kf44\0" "kf45\0" "kf46\0" \
+"kf47\0" "kf48\0" "kf49\0" "kf50\0" "kf51\0" "kf52\0" "kf53\0" "kf54\0" \
+"kf55\0" "kf56\0" "kf57\0" "kf58\0" "kf59\0" "kf60\0" "kf61\0" "kf62\0" \
+"kf63\0" "el1\0" "mgc\0" "smgl\0" "smgr\0" "fln\0" "sclk\0" "dclk\0" \
+"rmclk\0" "cwin\0" "wingo\0" "hup\0" "dial\0" "qdial\0" "tone\0" \
+"pulse\0" "hook\0" "pause\0" "wait\0" "u0\0" "u1\0" "u2\0" "u3\0" \
+"u4\0" "u5\0" "u6\0" "u7\0" "u8\0" "u9\0" "op\0" "oc\0" "initc\0" \
+"initp\0" "scp\0" "setf\0" "setb\0" "cpi\0" "lpi\0" "chr\0" "cvr\0" \
+"defc\0" "swidm\0" "sdrfq\0" "sitm\0" "slm\0" "smicm\0" "snlq\0" \
+"snrmq\0" "sshm\0" "ssubm\0" "ssupm\0" "sum\0" "rwidm\0" "ritm\0" \
+"rlm\0" "rmicm\0" "rshm\0" "rsubm\0" "rsupm\0" "rum\0" "mhpa\0" \
+"mcud1\0" "mcub1\0" "mcuf1\0" "mvpa\0" "mcuu1\0" "porder\0" "mcud\0" \
+"mcub\0" "mcuf\0" "mcuu\0" "scs\0" "smgb\0" "smgbp\0" "smglp\0" \
+"smgrp\0" "smgt\0" "smgtp\0" "sbim\0" "scsd\0" "rbim\0" "rcsd\0" \
+"subcs\0" "supcs\0" "docr\0" "zerom\0" "csnm\0" "kmous\0" "minfo\0" \
+"reqmp\0" "getm\0" "setaf\0" "setab\0" "pfxl\0" "devt\0" "csin\0" \
+"s0ds\0" "s1ds\0" "s2ds\0" "s3ds\0" "smglr\0" "smgtb\0" "birep\0" \
+"binel\0" "bicr\0" "colornm\0" "defbi\0" "endbi\0" "setcolor\0" \
+"slines\0" "dispc\0" "smpch\0" "rmpch\0" "smsc\0" "rmsc\0" "pctrm\0" \
+"scesc\0" "scesa\0" "ehhlm\0" "elhlm\0" "elohlm\0" "erhlm\0" "ethlm\0" \
+"evhlm\0" "sgr1\0" "slength\0" "OTi2\0" "OTrs\0" "OTug\0" "OTbs\0" \
+"OTns\0" "OTnc\0" "OTdC\0" "OTdN\0" "OTnl\0" "OTbc\0" "OTMT\0" "OTNL\0" \
+"OTdB\0" "OTdT\0" "OTkn\0" "OTko\0" "OTma\0" "OTpt\0" "OTxr\0" "OTG2\0" \
+"OTG3\0" "OTG1\0" "OTG4\0" "OTGR\0" "OTGL\0" "OTGU\0" "OTGD\0" "OTGH\0" \
+"OTGV\0" "OTGC\0" "meml\0" "memu\0" "box1\0" ;
+
+static name_table_data const info_names_data[] =
+{
+	{               0,	   BOOLEAN,	  0,  -1 },
+	{               3,	   BOOLEAN,	  1,  -1 },
+	{               6,	   BOOLEAN,	  2,  -1 },
+	{              10,	   BOOLEAN,	  3,  -1 },
+	{              14,	   BOOLEAN,	  4,  -1 },
+	{              19,	   BOOLEAN,	  5,  -1 },
+	{              22,	   BOOLEAN,	  6,  -1 },
+	{              25,	   BOOLEAN,	  7,  -1 },
+	{              28,	   BOOLEAN,	  8,  -1 },
+	{              31,	   BOOLEAN,	  9,  -1 },
+	{              34,	   BOOLEAN,	 10,  -1 },
+	{              37,	   BOOLEAN,	 11,  -1 },
+	{              40,	   BOOLEAN,	 12,  -1 },
+	{              43,	   BOOLEAN,	 13,  -1 },
+	{              47,	   BOOLEAN,	 14,  -1 },
+	{              52,	   BOOLEAN,	 15,  -1 },
+	{              55,	   BOOLEAN,	 16,  -1 },
+	{              61,	   BOOLEAN,	 17,  -1 },
+	{              64,	   BOOLEAN,	 18,  -1 },
+	{              67,	   BOOLEAN,	 19,  -1 },
+	{              70,	   BOOLEAN,	 20,  -1 },
+	{              74,	   BOOLEAN,	 21,  -1 },
+	{              79,	   BOOLEAN,	 22,  -1 },
+	{              84,	   BOOLEAN,	 23,  -1 },
+	{              89,	   BOOLEAN,	 24,  -1 },
+	{              95,	   BOOLEAN,	 25,  -1 },
+	{              99,	   BOOLEAN,	 26,  -1 },
+	{             105,	   BOOLEAN,	 27,  -1 },
+	{             109,	   BOOLEAN,	 28,  -1 },
+	{             113,	   BOOLEAN,	 29,  -1 },
+	{             117,	   BOOLEAN,	 30,  -1 },
+	{             122,	   BOOLEAN,	 31,  -1 },
+	{             127,	   BOOLEAN,	 32,  -1 },
+	{             133,	   BOOLEAN,	 33,  -1 },
+	{             138,	   BOOLEAN,	 34,  -1 },
+	{             142,	   BOOLEAN,	 35,  -1 },
+	{             147,	   BOOLEAN,	 36,  -1 },
+	{             152,	    NUMBER,	  0,  -1 },
+	{             157,	    NUMBER,	  1,  -1 },
+	{             160,	    NUMBER,	  2,   6 },
+	{             166,	    NUMBER,	  3,  -1 },
+	{             169,	    NUMBER,	  4,  -1 },
+	{             173,	    NUMBER,	  5,  -1 },
+	{             176,	    NUMBER,	  6,  -1 },
+	{             179,	    NUMBER,	  7,  -1 },
+	{             183,	    NUMBER,	  8,  -1 },
+	{             188,	    NUMBER,	  9,  -1 },
+	{             191,	    NUMBER,	 10,  -1 },
+	{             194,	    NUMBER,	 11,  -1 },
+	{             197,	    NUMBER,	 12,  -1 },
+	{             202,	    NUMBER,	 13,  -1 },
+	{             209,	    NUMBER,	 14,  -1 },
+	{             215,	    NUMBER,	 15,  -1 },
+	{             219,	    NUMBER,	 16,  46 },
+	{             225,	    NUMBER,	 17,  -1 },
+	{             231,	    NUMBER,	 18,  -1 },
+	{             237,	    NUMBER,	 19,  -1 },
+	{             243,	    NUMBER,	 20,  -1 },
+	{             249,	    NUMBER,	 21,  -1 },
+	{             253,	    NUMBER,	 22,  -1 },
+	{             257,	    NUMBER,	 23,  -1 },
+	{             263,	    NUMBER,	 24,  -1 },
+	{             267,	    NUMBER,	 25,  -1 },
+	{             271,	    NUMBER,	 26,  -1 },
+	{             276,	    NUMBER,	 27,  -1 },
+	{             281,	    NUMBER,	 28,  -1 },
+	{             285,	    NUMBER,	 29,  -1 },
+	{             291,	    NUMBER,	 30,  -1 },
+	{             296,	    NUMBER,	 31,  -1 },
+	{             303,	    NUMBER,	 32,  68 },
+	{             310,	    STRING,	  0,  -1 },
+	{             314,	    STRING,	  1,  -1 },
+	{             318,	    STRING,	  2,  -1 },
+	{             321,	    STRING,	  3,  -1 },
+	{             325,	    STRING,	  4,  -1 },
+	{             329,	    STRING,	  5,  -1 },
+	{             335,	    STRING,	  6,  -1 },
+	{             338,	    STRING,	  7,  -1 },
+	{             341,	    STRING,	  8,  -1 },
+	{             345,	    STRING,	  9,  -1 },
+	{             351,	    STRING,	 10,  73 },
+	{             355,	    STRING,	 11,  -1 },
+	{             360,	    STRING,	 12,  -1 },
+	{             365,	    STRING,	 13,  -1 },
+	{             371,	    STRING,	 14,  -1 },
+	{             376,	    STRING,	 15,  -1 },
+	{             382,	    STRING,	 16,  -1 },
+	{             388,	    STRING,	 17,  -1 },
+	{             393,	    STRING,	 18,  -1 },
+	{             396,	    STRING,	 19,  -1 },
+	{             401,	    STRING,	 20,  -1 },
+	{             407,	    STRING,	 21,  -1 },
+	{             412,	    STRING,	 22,  -1 },
+	{             416,	    STRING,	 23,  -1 },
+	{             420,	    STRING,	 24,  -1 },
+	{             423,	    STRING,	 25,  -1 },
+	{             429,	    STRING,	 26,  -1 },
+	{             435,	    STRING,	 27,  -1 },
+	{             440,	    STRING,	 28,  -1 },
+	{             446,	    STRING,	 29,  -1 },
+	{             451,	    STRING,	 30,  -1 },
+	{             455,	    STRING,	 31,  -1 },
+	{             460,	    STRING,	 32,  -1 },
+	{             466,	    STRING,	 33,  -1 },
+	{             471,	    STRING,	 34,  -1 },
+	{             475,	    STRING,	 35,  -1 },
+	{             480,	    STRING,	 36,  -1 },
+	{             485,	    STRING,	 37,  -1 },
+	{             489,	    STRING,	 38,  -1 },
+	{             495,	    STRING,	 39,  -1 },
+	{             500,	    STRING,	 40,  -1 },
+	{             506,	    STRING,	 41,  -1 },
+	{             511,	    STRING,	 42,  -1 },
+	{             516,	    STRING,	 43,  -1 },
+	{             521,	    STRING,	 44,  -1 },
+	{             526,	    STRING,	 45,  -1 },
+	{             532,	    STRING,	 46,  -1 },
+	{             535,	    STRING,	 47,  -1 },
+	{             539,	    STRING,	 48,  -1 },
+	{             543,	    STRING,	 49,  59 },
+	{             547,	    STRING,	 50,  76 },
+	{             551,	    STRING,	 51,  -1 },
+	{             554,	    STRING,	 52,  20 },
+	{             559,	    STRING,	 53,  -1 },
+	{             563,	    STRING,	 54,  -1 },
+	{             566,	    STRING,	 55,  -1 },
+	{             570,	    STRING,	 56,  -1 },
+	{             575,	    STRING,	 57,  98 },
+	{             580,	    STRING,	 58,  -1 },
+	{             586,	    STRING,	 59,  -1 },
+	{             592,	    STRING,	 60,  -1 },
+	{             597,	    STRING,	 61,  -1 },
+	{             603,	    STRING,	 62,  -1 },
+	{             609,	    STRING,	 63,  -1 },
+	{             613,	    STRING,	 64,  -1 },
+	{             617,	    STRING,	 65,  -1 },
+	{             621,	    STRING,	 66,  -1 },
+	{             625,	    STRING,	 67,  -1 },
+	{             630,	    STRING,	 68,  -1 },
+	{             634,	    STRING,	 69,  -1 },
+	{             638,	    STRING,	 70,  -1 },
+	{             642,	    STRING,	 71,  61 },
+	{             646,	    STRING,	 72,  -1 },
+	{             650,	    STRING,	 73,  -1 },
+	{             654,	    STRING,	 74,  -1 },
+	{             658,	    STRING,	 75,  -1 },
+	{             662,	    STRING,	 76,  -1 },
+	{             668,	    STRING,	 77,  -1 },
+	{             674,	    STRING,	 78,  -1 },
+	{             679,	    STRING,	 79,  -1 },
+	{             685,	    STRING,	 80,  -1 },
+	{             689,	    STRING,	 81,  -1 },
+	{             693,	    STRING,	 82,  -1 },
+	{             697,	    STRING,	 83,  -1 },
+	{             703,	    STRING,	 84,  55 },
+	{             708,	    STRING,	 85, 105 },
+	{             712,	    STRING,	 86,  -1 },
+	{             717,	    STRING,	 87,  81 },
+	{             723,	    STRING,	 88,  -1 },
+	{             728,	    STRING,	 89,  -1 },
+	{             733,	    STRING,	 90,  -1 },
+	{             737,	    STRING,	 91,  -1 },
+	{             741,	    STRING,	 92,  -1 },
+	{             746,	    STRING,	 93,  -1 },
+	{             750,	    STRING,	 94,  33 },
+	{             754,	    STRING,	 95,  -1 },
+	{             758,	    STRING,	 96,  -1 },
+	{             762,	    STRING,	 97,  -1 },
+	{             766,	    STRING,	 98,   7 },
+	{             770,	    STRING,	 99,  94 },
+	{             774,	    STRING,	100,  -1 },
+	{             778,	    STRING,	101, 131 },
+	{             782,	    STRING,	102,  -1 },
+	{             786,	    STRING,	103,  -1 },
+	{             790,	    STRING,	104,  30 },
+	{             794,	    STRING,	105,  -1 },
+	{             798,	    STRING,	106,  -1 },
+	{             801,	    STRING,	107,  -1 },
+	{             805,	    STRING,	108,  -1 },
+	{             809,	    STRING,	109,  -1 },
+	{             814,	    STRING,	110,  -1 },
+	{             817,	    STRING,	111,  -1 },
+	{             821,	    STRING,	112, 156 },
+	{             825,	    STRING,	113,  -1 },
+	{             829,	    STRING,	114,  -1 },
+	{             833,	    STRING,	115,  51 },
+	{             839,	    STRING,	116,  -1 },
+	{             845,	    STRING,	117,  -1 },
+	{             849,	    STRING,	118,  -1 },
+	{             853,	    STRING,	119,  -1 },
+	{             857,	    STRING,	120,  -1 },
+	{             861,	    STRING,	121,  -1 },
+	{             865,	    STRING,	122,  -1 },
+	{             869,	    STRING,	123,  -1 },
+	{             873,	    STRING,	124, 126 },
+	{             877,	    STRING,	125,  -1 },
+	{             880,	    STRING,	126,  -1 },
+	{             883,	    STRING,	127,  -1 },
+	{             887,	    STRING,	128,  -1 },
+	{             890,	    STRING,	129,  -1 },
+	{             894,	    STRING,	130,  -1 },
+	{             897,	    STRING,	131,  -1 },
+	{             901,	    STRING,	132,  -1 },
+	{             905,	    STRING,	133,  -1 },
+	{             910,	    STRING,	134,  -1 },
+	{             913,	    STRING,	135,  -1 },
+	{             917,	    STRING,	136,  23 },
+	{             920,	    STRING,	137,  -1 },
+	{             923,	    STRING,	138,  -1 },
+	{             929,	    STRING,	139,  -1 },
+	{             933,	    STRING,	140,  -1 },
+	{             937,	    STRING,	141, 210 },
+	{             941,	    STRING,	142, 211 },
+	{             945,	    STRING,	143, 135 },
+	{             949,	    STRING,	144,  -1 },
+	{             954,	    STRING,	145,  -1 },
+	{             958,	    STRING,	146, 176 },
+	{             963,	    STRING,	147,  -1 },
+	{             967,	    STRING,	148, 194 },
+	{             972,	    STRING,	149,  -1 },
+	{             978,	    STRING,	150,  -1 },
+	{             984,	    STRING,	151, 137 },
+	{             989,	    STRING,	152,  -1 },
+	{             994,	    STRING,	153,  -1 },
+	{             999,	    STRING,	154,  -1 },
+	{            1005,	    STRING,	155,  -1 },
+	{            1011,	    STRING,	156,  -1 },
+	{            1016,	    STRING,	157,  -1 },
+	{            1021,	    STRING,	158,  -1 },
+	{            1026,	    STRING,	159,  -1 },
+	{            1031,	    STRING,	160,  -1 },
+	{            1036,	    STRING,	161,  -1 },
+	{            1041,	    STRING,	162,  -1 },
+	{            1046,	    STRING,	163,  54 },
+	{            1051,	    STRING,	164, 192 },
+	{            1056,	    STRING,	165,  -1 },
+	{            1061,	    STRING,	166,  -1 },
+	{            1066,	    STRING,	167, 193 },
+	{            1071,	    STRING,	168,  -1 },
+	{            1076,	    STRING,	169,  70 },
+	{            1081,	    STRING,	170, 235 },
+	{            1086,	    STRING,	171,  -1 },
+	{            1091,	    STRING,	172,  -1 },
+	{            1096,	    STRING,	173, 177 },
+	{            1101,	    STRING,	174,  -1 },
+	{            1106,	    STRING,	175,  -1 },
+	{            1111,	    STRING,	176,  -1 },
+	{            1116,	    STRING,	177,  -1 },
+	{            1121,	    STRING,	178,  -1 },
+	{            1126,	    STRING,	179, 239 },
+	{            1131,	    STRING,	180, 219 },
+	{            1136,	    STRING,	181,  80 },
+	{            1141,	    STRING,	182, 249 },
+	{            1146,	    STRING,	183, 252 },
+	{            1151,	    STRING,	184, 240 },
+	{            1156,	    STRING,	185, 254 },
+	{            1161,	    STRING,	186,  -1 },
+	{            1166,	    STRING,	187,  -1 },
+	{            1171,	    STRING,	188, 101 },
+	{            1176,	    STRING,	189,  -1 },
+	{            1181,	    STRING,	190,  -1 },
+	{            1186,	    STRING,	191,  -1 },
+	{            1190,	    STRING,	192,  -1 },
+	{            1194,	    STRING,	193, 244 },
+	{            1199,	    STRING,	194,  -1 },
+	{            1204,	    STRING,	195, 152 },
+	{            1209,	    STRING,	196,  -1 },
+	{            1214,	    STRING,	197, 150 },
+	{            1219,	    STRING,	198,  -1 },
+	{            1224,	    STRING,	199, 268 },
+	{            1229,	    STRING,	200,  -1 },
+	{            1233,	    STRING,	201,  72 },
+	{            1238,	    STRING,	202,  -1 },
+	{            1243,	    STRING,	203,  -1 },
+	{            1248,	    STRING,	204,  -1 },
+	{            1253,	    STRING,	205,  -1 },
+	{            1258,	    STRING,	206,  -1 },
+	{            1263,	    STRING,	207, 196 },
+	{            1268,	    STRING,	208,  -1 },
+	{            1273,	    STRING,	209,  -1 },
+	{            1278,	    STRING,	210,  -1 },
+	{            1283,	    STRING,	211,  -1 },
+	{            1288,	    STRING,	212, 281 },
+	{            1293,	    STRING,	213, 272 },
+	{            1298,	    STRING,	214, 283 },
+	{            1303,	    STRING,	215,  -1 },
+	{            1307,	    STRING,	216,  -1 },
+	{            1312,	    STRING,	217, 134 },
+	{            1317,	    STRING,	218,  -1 },
+	{            1322,	    STRING,	219,  -1 },
+	{            1327,	    STRING,	220,  -1 },
+	{            1332,	    STRING,	221,  43 },
+	{            1337,	    STRING,	222, 256 },
+	{            1342,	    STRING,	223,  -1 },
+	{            1347,	    STRING,	224,  -1 },
+	{            1352,	    STRING,	225, 286 },
+	{            1357,	    STRING,	226, 287 },
+	{            1362,	    STRING,	227, 288 },
+	{            1367,	    STRING,	228, 289 },
+	{            1372,	    STRING,	229, 290 },
+	{            1377,	    STRING,	230, 291 },
+	{            1382,	    STRING,	231, 292 },
+	{            1387,	    STRING,	232, 293 },
+	{            1392,	    STRING,	233, 294 },
+	{            1397,	    STRING,	234, 133 },
+	{            1402,	    STRING,	235, 296 },
+	{            1407,	    STRING,	236, 297 },
+	{            1412,	    STRING,	237, 298 },
+	{            1417,	    STRING,	238, 299 },
+	{            1422,	    STRING,	239, 300 },
+	{            1427,	    STRING,	240, 301 },
+	{            1432,	    STRING,	241, 302 },
+	{            1437,	    STRING,	242, 303 },
+	{            1442,	    STRING,	243, 304 },
+	{            1447,	    STRING,	244, 257 },
+	{            1452,	    STRING,	245, 306 },
+	{            1457,	    STRING,	246, 307 },
+	{            1462,	    STRING,	247, 308 },
+	{            1467,	    STRING,	248, 309 },
+	{            1472,	    STRING,	249, 310 },
+	{            1477,	    STRING,	250, 311 },
+	{            1482,	    STRING,	251, 312 },
+	{            1487,	    STRING,	252, 313 },
+	{            1492,	    STRING,	253, 314 },
+	{            1497,	    STRING,	254, 226 },
+	{            1502,	    STRING,	255, 316 },
+	{            1507,	    STRING,	256, 317 },
+	{            1512,	    STRING,	257, 318 },
+	{            1517,	    STRING,	258, 319 },
+	{            1522,	    STRING,	259, 320 },
+	{            1527,	    STRING,	260, 321 },
+	{            1532,	    STRING,	261, 322 },
+	{            1537,	    STRING,	262, 323 },
+	{            1542,	    STRING,	263, 324 },
+	{            1547,	    STRING,	264, 258 },
+	{            1552,	    STRING,	265, 326 },
+	{            1557,	    STRING,	266, 327 },
+	{            1562,	    STRING,	267, 328 },
+	{            1567,	    STRING,	268, 329 },
+	{            1572,	    STRING,	269,  -1 },
+	{            1576,	    STRING,	270,  -1 },
+	{            1580,	    STRING,	271, 335 },
+	{            1585,	    STRING,	272, 332 },
+	{            1590,	    STRING,	273,  -1 },
+	{            1594,	    STRING,	274,  -1 },
+	{            1599,	    STRING,	275,  -1 },
+	{            1604,	    STRING,	276,  -1 },
+	{            1610,	    STRING,	277,  37 },
+	{            1615,	    STRING,	278,  -1 },
+	{            1621,	    STRING,	279,  -1 },
+	{            1625,	    STRING,	280,  -1 },
+	{            1630,	    STRING,	281,  -1 },
+	{            1636,	    STRING,	282,  -1 },
+	{            1641,	    STRING,	283,  -1 },
+	{            1647,	    STRING,	284,  -1 },
+	{            1652,	    STRING,	285,   8 },
+	{            1658,	    STRING,	286, 262 },
+	{            1663,	    STRING,	287,  -1 },
+	{            1666,	    STRING,	288,  -1 },
+	{            1669,	    STRING,	289,  -1 },
+	{            1672,	    STRING,	290,  -1 },
+	{            1675,	    STRING,	291,  -1 },
+	{            1678,	    STRING,	292,  -1 },
+	{            1681,	    STRING,	293,  -1 },
+	{            1684,	    STRING,	294,  -1 },
+	{            1687,	    STRING,	295,  -1 },
+	{            1690,	    STRING,	296,  -1 },
+	{            1693,	    STRING,	297,  -1 },
+	{            1696,	    STRING,	298,  -1 },
+	{            1699,	    STRING,	299,  -1 },
+	{            1705,	    STRING,	300,  -1 },
+	{            1711,	    STRING,	301,  -1 },
+	{            1715,	    STRING,	302, 325 },
+	{            1720,	    STRING,	303, 221 },
+	{            1725,	    STRING,	304, 243 },
+	{            1729,	    STRING,	305,  -1 },
+	{            1733,	    STRING,	306, 250 },
+	{            1737,	    STRING,	307,  -1 },
+	{            1741,	    STRING,	308, 141 },
+	{            1746,	    STRING,	309, 248 },
+	{            1752,	    STRING,	310, 218 },
+	{            1758,	    STRING,	311,  -1 },
+	{            1763,	    STRING,	312, 201 },
+	{            1767,	    STRING,	313, 229 },
+	{            1773,	    STRING,	314, 264 },
+	{            1778,	    STRING,	315, 253 },
+	{            1784,	    STRING,	316, 334 },
+	{            1789,	    STRING,	317,  -1 },
+	{            1795,	    STRING,	318, 236 },
+	{            1801,	    STRING,	319, 185 },
+	{            1805,	    STRING,	320,  -1 },
+	{            1811,	    STRING,	321,  -1 },
+	{            1816,	    STRING,	322,  -1 },
+	{            1820,	    STRING,	323,  -1 },
+	{            1826,	    STRING,	324, 112 },
+	{            1831,	    STRING,	325,  -1 },
+	{            1837,	    STRING,	326,  -1 },
+	{            1843,	    STRING,	327,  -1 },
+	{            1847,	    STRING,	328,  -1 },
+	{            1852,	    STRING,	329,  -1 },
+	{            1858,	    STRING,	330,  -1 },
+	{            1864,	    STRING,	331,  53 },
+	{            1870,	    STRING,	332,  -1 },
+	{            1875,	    STRING,	333,  47 },
+	{            1881,	    STRING,	334, 155 },
+	{            1888,	    STRING,	335,  -1 },
+	{            1893,	    STRING,	336,  -1 },
+	{            1898,	    STRING,	337,  -1 },
+	{            1903,	    STRING,	338,  -1 },
+	{            1908,	    STRING,	339,  -1 },
+	{            1912,	    STRING,	340,  -1 },
+	{            1917,	    STRING,	341, 383 },
+	{            1923,	    STRING,	342,  -1 },
+	{            1929,	    STRING,	343,  -1 },
+	{            1935,	    STRING,	344, 386 },
+	{            1940,	    STRING,	345, 238 },
+	{            1946,	    STRING,	346,  -1 },
+	{            1951,	    STRING,	347, 344 },
+	{            1956,	    STRING,	348,  31 },
+	{            1961,	    STRING,	349,  -1 },
+	{            1966,	    STRING,	350, 380 },
+	{            1972,	    STRING,	351, 255 },
+	{            1978,	    STRING,	352,  -1 },
+	{            1983,	    STRING,	353,  -1 },
+	{            1989,	    STRING,	354, 347 },
+	{            1994,	    STRING,	355,  -1 },
+	{            2000,	    STRING,	356,  -1 },
+	{            2006,	    STRING,	357,  -1 },
+	{            2012,	    STRING,	358,  87 },
+	{            2017,	    STRING,	359,  -1 },
+	{            2023,	    STRING,	360,  -1 },
+	{            2029,	    STRING,	361,  -1 },
+	{            2034,	    STRING,	362,  -1 },
+	{            2039,	    STRING,	363,  -1 },
+	{            2044,	    STRING,	364,  -1 },
+	{            2049,	    STRING,	365, 212 },
+	{            2054,	    STRING,	366, 109 },
+	{            2059,	    STRING,	367, 213 },
+	{            2064,	    STRING,	368, 230 },
+	{            2070,	    STRING,	369,  -1 },
+	{            2076,	    STRING,	370,  -1 },
+	{            2082,	    STRING,	371,  -1 },
+	{            2088,	    STRING,	372,  -1 },
+	{            2093,	    STRING,	373,  -1 },
+	{            2101,	    STRING,	374,  -1 },
+	{            2107,	    STRING,	375,  -1 },
+	{            2113,	    STRING,	376,  -1 },
+	{            2122,	    STRING,	377, 116 },
+	{            2129,	    STRING,	378,  -1 },
+	{            2135,	    STRING,	379, 231 },
+	{            2141,	    STRING,	380,  -1 },
+	{            2147,	    STRING,	381, 338 },
+	{            2152,	    STRING,	382,  -1 },
+	{            2157,	    STRING,	383,  -1 },
+	{            2163,	    STRING,	384, 197 },
+	{            2169,	    STRING,	385, 430 },
+	{            2175,	    STRING,	386,  -1 },
+	{            2181,	    STRING,	387,  -1 },
+	{            2187,	    STRING,	388,  -1 },
+	{            2194,	    STRING,	389,  -1 },
+	{            2200,	    STRING,	390,  -1 },
+	{            2206,	    STRING,	391,  -1 },
+	{            2212,	    STRING,	392, 437 },
+	{            2217,	    STRING,	393,  -1 },
+	{            2225,	    STRING,	394,  -1 },
+	{            2230,	    STRING,	395,  -1 },
+	{            2235,	    NUMBER,	 33,  -1 },
+	{            2240,	   BOOLEAN,	 37,  -1 },
+	{            2245,	   BOOLEAN,	 38,  -1 },
+	{            2250,	   BOOLEAN,	 39,  -1 },
+	{            2255,	    NUMBER,	 34,  -1 },
+	{            2260,	    NUMBER,	 35,  -1 },
+	{            2265,	    STRING,	396,  -1 },
+	{            2270,	    STRING,	397,  13 },
+	{            2275,	   BOOLEAN,	 40,  -1 },
+	{            2280,	   BOOLEAN,	 41, 446 },
+	{            2285,	    NUMBER,	 36,  -1 },
+	{            2290,	    NUMBER,	 37,  -1 },
+	{            2295,	    NUMBER,	 38,  -1 },
+	{            2300,	    STRING,	398, 472 },
+	{            2305,	    STRING,	399,  -1 },
+	{            2310,	   BOOLEAN,	 42,  -1 },
+	{            2315,	   BOOLEAN,	 43,  -1 },
+	{            2320,	    STRING,	400,  -1 },
+	{            2325,	    STRING,	401,  -1 },
+	{            2330,	    STRING,	402,  -1 },
+	{            2335,	    STRING,	403,  -1 },
+	{            2340,	    STRING,	404,  -1 },
+	{            2345,	    STRING,	405,  -1 },
+	{            2350,	    STRING,	406,  -1 },
+	{            2355,	    STRING,	407,  -1 },
+	{            2360,	    STRING,	408,  26 },
+	{            2365,	    STRING,	409,  60 },
+	{            2370,	    STRING,	410, 121 },
+	{            2375,	    STRING,	411, 407 },
+	{            2380,	    STRING,	412, 402 },
+	{            2385,	    STRING,	413,  -1 } 
+};
+
+static struct name_table_entry *_nc_info_table = 0;
+
+static const HashValue _nc_info_hash_table[995] =
+{
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	465,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	261,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	457,
+	 -1,
+	 -1,
+	265,
+	216,
+	120,
+	 -1,
+	 -1,
+	 -1,
+	180,
+	 -1,
+	 -1,
+	 88,
+	 -1,
+	420,
+	 -1,
+	398,
+	 -1,
+	348,
+	 -1,
+	 -1,
+	 19,
+	 -1,
+	 -1,
+	 -1,
+	359,
+	 -1,
+	174,
+	 -1,
+	245,
+	 -1,
+	 74,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	269,
+	 -1,
+	480,
+	 -1,
+	 -1,
+	 -1,
+	124,
+	 -1,
+	 -1,
+	 -1,
+	390,
+	379,
+	367,
+	 -1,
+	 -1,
+	444,
+	 -1,
+	 -1,
+	 -1,
+	305,
+	 -1,
+	 -1,
+	363,
+	 -1,
+	 -1,
+	483,
+	377,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	460,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	204,
+	 38,
+	 -1,
+	 82,
+	 -1,
+	110,
+	127,
+	 -1,
+	 -1,
+	463,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	336,
+	 -1,
+	 17,
+	128,
+	434,
+	 -1,
+	188,
+	129,
+	 -1,
+	351,
+	 -1,
+	 -1,
+	 16,
+	 -1,
+	 -1,
+	259,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	489,
+	 -1,
+	353,
+	 -1,
+	 71,
+	247,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 78,
+	 -1,
+	 -1,
+	331,
+	 -1,
+	 -1,
+	173,
+	136,
+	161,
+	189,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	454,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	224,
+	479,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	354,
+	 -1,
+	 -1,
+	233,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	125,
+	 11,
+	 -1,
+	 -1,
+	378,
+	166,
+	 -1,
+	191,
+	 -1,
+	 -1,
+	 48,
+	228,
+	 -1,
+	  2,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	374,
+	 -1,
+	408,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	375,
+	 -1,
+	 52,
+	145,
+	170,
+	 -1,
+	392,
+	382,
+	 -1,
+	393,
+	411,
+	 -1,
+	 -1,
+	 -1,
+	276,
+	 -1,
+	 -1,
+	 35,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	396,
+	388,
+	 36,
+	 -1,
+	 -1,
+	 64,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	350,
+	 -1,
+	 -1,
+	215,
+	 91,
+	 -1,
+	 -1,
+	439,
+	 -1,
+	122,
+	 -1,
+	200,
+	 -1,
+	 67,
+	 -1,
+	410,
+	 -1,
+	 -1,
+	 89,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 96,
+	 21,
+	 -1,
+	103,
+	  1,
+	 -1,
+	 -1,
+	369,
+	 -1,
+	 -1,
+	345,
+	 -1,
+	 -1,
+	 -1,
+	355,
+	 40,
+	 -1,
+	 27,
+	 -1,
+	406,
+	 -1,
+	 -1,
+	 -1,
+	482,
+	419,
+	417,
+	 -1,
+	 -1,
+	360,
+	270,
+	 -1,
+	 -1,
+	251,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	349,
+	 -1,
+	 -1,
+	278,
+	 -1,
+	442,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	438,
+	 -1,
+	494,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	315,
+	 -1,
+	340,
+	364,
+	356,
+	 -1,
+	484,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 32,
+	 -1,
+	 -1,
+	 -1,
+	260,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	207,
+	487,
+	 84,
+	453,
+	 -1,
+	 -1,
+	413,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	214,
+	 -1,
+	337,
+	352,
+	477,
+	 -1,
+	435,
+	 56,
+	 -1,
+	 -1,
+	 34,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	132,
+	 -1,
+	 85,
+	492,
+	428,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	199,
+	 -1,
+	342,
+	 -1,
+	 -1,
+	 -1,
+	138,
+	163,
+	190,
+	147,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	266,
+	 -1,
+	 -1,
+	433,
+	 -1,
+	 -1,
+	474,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	385,
+	100,
+	 -1,
+	 -1,
+	 -1,
+	431,
+	 -1,
+	391,
+	381,
+	 12,
+	 58,
+	 -1,
+	142,
+	167,
+	 -1,
+	 -1,
+	409,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 42,
+	 45,
+	 66,
+	 -1,
+	 -1,
+	424,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	220,
+	376,
+	 -1,
+	 -1,
+	343,
+	 -1,
+	 -1,
+	 -1,
+	114,
+	106,
+	 -1,
+	 -1,
+	447,
+	 -1,
+	217,
+	493,
+	171,
+	172,
+	399,
+	346,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	195,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	496,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	241,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	151,
+	 -1,
+	118,
+	 -1,
+	 62,
+	187,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	234,
+	 -1,
+	443,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	357,
+	 -1,
+	 -1,
+	 -1,
+	246,
+	 -1,
+	 -1,
+	 -1,
+	448,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 39,
+	 -1,
+	 10,
+	397,
+	389,
+	 -1,
+	 -1,
+	154,
+	 -1,
+	 -1,
+	 -1,
+	130,
+	 -1,
+	 22,
+	222,
+	373,
+	162,
+	 -1,
+	361,
+	203,
+	 -1,
+	 -1,
+	242,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	459,
+	 -1,
+	 -1,
+	271,
+	 -1,
+	 97,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	427,
+	 -1,
+	175,
+	107,
+	 -1,
+	 -1,
+	 -1,
+	178,
+	423,
+	372,
+	 69,
+	 -1,
+	365,
+	 -1,
+	  4,
+	486,
+	184,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	461,
+	 -1,
+	 -1,
+	282,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	475,
+	 -1,
+	 -1,
+	 -1,
+	395,
+	387,
+	 -1,
+	 -1,
+	 79,
+	 63,
+	 -1,
+	 -1,
+	452,
+	451,
+	 -1,
+	 50,
+	 -1,
+	436,
+	 -1,
+	 -1,
+	285,
+	 -1,
+	 -1,
+	 83,
+	455,
+	 -1,
+	 -1,
+	 -1,
+	279,
+	370,
+	 -1,
+	 -1,
+	 -1,
+	 18,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	421,
+	 -1,
+	495,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	227,
+	333,
+	 -1,
+	 -1,
+	 25,
+	139,
+	164,
+	 -1,
+	 -1,
+	371,
+	 -1,
+	 -1,
+	429,
+	 -1,
+	 -1,
+	 -1,
+	273,
+	 -1,
+	466,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	181,
+	 -1,
+	 -1,
+	 75,
+	 -1,
+	 92,
+	339,
+	 -1,
+	384,
+	 -1,
+	123,
+	 -1,
+	143,
+	168,
+	 -1,
+	183,
+	186,
+	 -1,
+	108,
+	 95,
+	368,
+	 -1,
+	 -1,
+	277,
+	198,
+	 -1,
+	206,
+	432,
+	 -1,
+	476,
+	 -1,
+	458,
+	 -1,
+	 -1,
+	182,
+	 -1,
+	441,
+	 -1,
+	 -1,
+	 -1,
+	115,
+	113,
+	404,
+	 -1,
+	473,
+	 -1,
+	 -1,
+	 -1,
+	490,
+	104,
+	 -1,
+	 -1,
+	450,
+	449,
+	 -1,
+	 -1,
+	 -1,
+	274,
+	 -1,
+	481,
+	111,
+	 99,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	263,
+	 93,
+	 -1,
+	117,
+	 -1,
+	 29,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	119,
+	 -1,
+	 -1,
+	426,
+	491,
+	 -1,
+	 -1,
+	205,
+	 -1,
+	237,
+	 44,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	418,
+	416,
+	 -1,
+	 -1,
+	358,
+	 -1,
+	 -1,
+	 -1,
+	 65,
+	 -1,
+	440,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  5,
+	 -1,
+	 -1,
+	 -1,
+	488,
+	 -1,
+	 -1,
+	 -1,
+	 28,
+	412,
+	 -1,
+	405,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	295,
+	 -1,
+	471,
+	362,
+	 -1,
+	 -1,
+	485,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	202,
+	 -1,
+	 -1,
+	284,
+	 -1,
+	469,
+	 -1,
+	 -1,
+	  9,
+	 24,
+	 -1,
+	 -1,
+	179,
+	 -1,
+	 -1,
+	 15,
+	 -1,
+	 -1,
+	148,
+	 -1,
+	 -1,
+	 -1,
+	341,
+	 -1,
+	 -1,
+	366,
+	209,
+	223,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  0,
+	 -1,
+	208,
+	467,
+	 -1,
+	422,
+	 -1,
+	464,
+	157,
+	 -1,
+	403,
+	 -1,
+	415,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	445,
+	 -1,
+	 -1,
+	330,
+	 -1,
+	 -1,
+	 -1,
+	462,
+	160,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 86,
+	 -1,
+	 -1,
+	 41,
+	 -1,
+	280,
+	 -1,
+	478,
+	 -1,
+	 -1,
+	 57,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	394,
+	414,
+	 -1,
+	 -1,
+	 -1,
+	140,
+	165,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	275,
+	102,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	232,
+	 -1,
+	 14,
+	 -1,
+	 -1,
+	225,
+	 -1,
+	 -1,
+	267,
+	 -1,
+	 77,
+	 -1,
+	144,
+	169,
+	 -1,
+	149,
+	 -1,
+	400,
+	 -1,
+	 -1,
+	 -1,
+	  3,
+	 -1,
+	 -1,
+	 -1,
+	468,
+	425,
+	 -1,
+	 -1,
+	470,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	456,
+	 -1,
+	158,
+	159,
+	 -1,
+	 -1,
+	146,
+	 49,
+	 -1,
+	 -1,
+	153,
+	 -1,
+	401,
+	 90,
+	0	/* base-of-table */
+};
+
+#if (BOOLCOUNT!=44)||(NUMCOUNT!=39)||(STRCOUNT!=414)
+#error	--> term.h and comp_captab.c disagree about the <--
+#error	--> numbers of booleans, numbers and/or strings <--
+#endif
+
+/* 103 collisions out of 497 entries */
+static const char cap_names_text[] = \
+"bw\0" "am\0" "xb\0" "xs\0" "xn\0" "eo\0" "gn\0" "hc\0" "km\0" "hs\0" \
+"in\0" "da\0" "db\0" "mi\0" "ms\0" "os\0" "es\0" "xt\0" "hz\0" "ul\0" \
+"xo\0" "nx\0" "5i\0" "HC\0" "NR\0" "NP\0" "ND\0" "cc\0" "ut\0" "hl\0" \
+"YA\0" "YB\0" "YC\0" "YD\0" "YE\0" "YF\0" "YG\0" "co\0" "it\0" "li\0" \
+"lm\0" "sg\0" "pb\0" "vt\0" "ws\0" "Nl\0" "lh\0" "lw\0" "ma\0" "MW\0" \
+"Co\0" "pa\0" "NC\0" "Ya\0" "Yb\0" "Yc\0" "Yd\0" "Ye\0" "Yf\0" "Yg\0" \
+"Yh\0" "Yi\0" "Yj\0" "Yk\0" "Yl\0" "Ym\0" "Yn\0" "BT\0" "Yo\0" "Yp\0" \
+"bt\0" "bl\0" "cr\0" "cs\0" "ct\0" "cl\0" "ce\0" "cd\0" "ch\0" "CC\0" \
+"cm\0" "do\0" "ho\0" "vi\0" "le\0" "CM\0" "ve\0" "nd\0" "ll\0" "up\0" \
+"vs\0" "dc\0" "dl\0" "ds\0" "hd\0" "as\0" "mb\0" "md\0" "ti\0" "dm\0" \
+"mh\0" "im\0" "mk\0" "mp\0" "mr\0" "so\0" "us\0" "ec\0" "ae\0" "me\0" \
+"te\0" "ed\0" "ei\0" "se\0" "ue\0" "vb\0" "ff\0" "fs\0" "i1\0" "is\0" \
+"i3\0" "if\0" "ic\0" "al\0" "ip\0" "kb\0" "ka\0" "kC\0" "kt\0" "kD\0" \
+"kL\0" "kd\0" "kM\0" "kE\0" "kS\0" "k0\0" "k1\0" "k;\0" "k2\0" "k3\0" \
+"k4\0" "k5\0" "k6\0" "k7\0" "k8\0" "k9\0" "kh\0" "kI\0" "kA\0" "kl\0" \
+"kH\0" "kN\0" "kP\0" "kr\0" "kF\0" "kR\0" "kT\0" "ku\0" "ke\0" "ks\0" \
+"l0\0" "l1\0" "la\0" "l2\0" "l3\0" "l4\0" "l5\0" "l6\0" "l7\0" "l8\0" \
+"l9\0" "mo\0" "mm\0" "nw\0" "pc\0" "DC\0" "DL\0" "DO\0" "IC\0" "SF\0" \
+"AL\0" "LE\0" "RI\0" "SR\0" "UP\0" "pk\0" "pl\0" "px\0" "ps\0" "pf\0" \
+"po\0" "rp\0" "r1\0" "r2\0" "r3\0" "rf\0" "rc\0" "cv\0" "sc\0" "sf\0" \
+"sr\0" "sa\0" "st\0" "wi\0" "ta\0" "ts\0" "uc\0" "hu\0" "iP\0" "K1\0" \
+"K3\0" "K2\0" "K4\0" "K5\0" "pO\0" "rP\0" "ac\0" "pn\0" "kB\0" "SX\0" \
+"RX\0" "SA\0" "RA\0" "XN\0" "XF\0" "eA\0" "LO\0" "LF\0" "@1\0" "@2\0" \
+"@3\0" "@4\0" "@5\0" "@6\0" "@7\0" "@8\0" "@9\0" "@0\0" "%1\0" "%2\0" \
+"%3\0" "%4\0" "%5\0" "%6\0" "%7\0" "%8\0" "%9\0" "%0\0" "&1\0" "&2\0" \
+"&3\0" "&4\0" "&5\0" "&6\0" "&7\0" "&8\0" "&9\0" "&0\0" "*1\0" "*2\0" \
+"*3\0" "*4\0" "*5\0" "*6\0" "*7\0" "*8\0" "*9\0" "*0\0" "#1\0" "#2\0" \
+"#3\0" "#4\0" "%a\0" "%b\0" "%c\0" "%d\0" "%e\0" "%f\0" "%g\0" "%h\0" \
+"%i\0" "%j\0" "!1\0" "!2\0" "!3\0" "RF\0" "F1\0" "F2\0" "F3\0" "F4\0" \
+"F5\0" "F6\0" "F7\0" "F8\0" "F9\0" "FA\0" "FB\0" "FC\0" "FD\0" "FE\0" \
+"FF\0" "FG\0" "FH\0" "FI\0" "FJ\0" "FK\0" "FL\0" "FM\0" "FN\0" "FO\0" \
+"FP\0" "FQ\0" "FR\0" "FS\0" "FT\0" "FU\0" "FV\0" "FW\0" "FX\0" "FY\0" \
+"FZ\0" "Fa\0" "Fb\0" "Fc\0" "Fd\0" "Fe\0" "Ff\0" "Fg\0" "Fh\0" "Fi\0" \
+"Fj\0" "Fk\0" "Fl\0" "Fm\0" "Fn\0" "Fo\0" "Fp\0" "Fq\0" "Fr\0" "cb\0" \
+"MC\0" "ML\0" "MR\0" "Lf\0" "SC\0" "DK\0" "RC\0" "CW\0" "WG\0" "HU\0" \
+"DI\0" "QD\0" "TO\0" "PU\0" "fh\0" "PA\0" "WA\0" "u0\0" "u1\0" "u2\0" \
+"u3\0" "u4\0" "u5\0" "u6\0" "u7\0" "u8\0" "u9\0" "op\0" "oc\0" "Ic\0" \
+"Ip\0" "sp\0" "Sf\0" "Sb\0" "ZA\0" "ZB\0" "ZC\0" "ZD\0" "ZE\0" "ZF\0" \
+"ZG\0" "ZH\0" "ZI\0" "ZJ\0" "ZK\0" "ZL\0" "ZM\0" "ZN\0" "ZO\0" "ZP\0" \
+"ZQ\0" "ZR\0" "ZS\0" "ZT\0" "ZU\0" "ZV\0" "ZW\0" "ZX\0" "ZY\0" "ZZ\0" \
+"Za\0" "Zb\0" "Zc\0" "Zd\0" "Ze\0" "Zf\0" "Zg\0" "Zh\0" "Zi\0" "Zj\0" \
+"Zk\0" "Zl\0" "Zm\0" "Zn\0" "Zo\0" "Zp\0" "Zq\0" "Zr\0" "Zs\0" "Zt\0" \
+"Zu\0" "Zv\0" "Zw\0" "Zx\0" "Zy\0" "Km\0" "Mi\0" "RQ\0" "Gm\0" "AF\0" \
+"AB\0" "xl\0" "dv\0" "ci\0" "s0\0" "s1\0" "s2\0" "s3\0" "ML\0" "MT\0" \
+"Xy\0" "Zz\0" "Yv\0" "Yw\0" "Yx\0" "Yy\0" "Yz\0" "YZ\0" "S1\0" "S2\0" \
+"S3\0" "S4\0" "S5\0" "S6\0" "S7\0" "S8\0" "Xh\0" "Xl\0" "Xo\0" "Xr\0" \
+"Xt\0" "Xv\0" "sA\0" "YI\0" "i2\0" "rs\0" "ug\0" "bs\0" "ns\0" "nc\0" \
+"dC\0" "dN\0" "nl\0" "bc\0" "MT\0" "NL\0" "dB\0" "dT\0" "kn\0" "ko\0" \
+"ma\0" "pt\0" "xr\0" "G2\0" "G3\0" "G1\0" "G4\0" "GR\0" "GL\0" "GU\0" \
+"GD\0" "GH\0" "GV\0" "GC\0" "ml\0" "mu\0" "bx\0" ;
+
+static name_table_data const cap_names_data[] =
+{
+	{               0,	   BOOLEAN,	  0,  -1 },
+	{               3,	   BOOLEAN,	  1,  -1 },
+	{               6,	   BOOLEAN,	  2,  -1 },
+	{               9,	   BOOLEAN,	  3,  -1 },
+	{              12,	   BOOLEAN,	  4,  -1 },
+	{              15,	   BOOLEAN,	  5,  -1 },
+	{              18,	   BOOLEAN,	  6,  -1 },
+	{              21,	   BOOLEAN,	  7,  -1 },
+	{              24,	   BOOLEAN,	  8,  -1 },
+	{              27,	   BOOLEAN,	  9,  -1 },
+	{              30,	   BOOLEAN,	 10,  -1 },
+	{              33,	   BOOLEAN,	 11,  -1 },
+	{              36,	   BOOLEAN,	 12,  -1 },
+	{              39,	   BOOLEAN,	 13,  -1 },
+	{              42,	   BOOLEAN,	 14,  -1 },
+	{              45,	   BOOLEAN,	 15,  -1 },
+	{              48,	   BOOLEAN,	 16,  -1 },
+	{              51,	   BOOLEAN,	 17,  -1 },
+	{              54,	   BOOLEAN,	 18,  -1 },
+	{              57,	   BOOLEAN,	 19,  -1 },
+	{              60,	   BOOLEAN,	 20,  -1 },
+	{              63,	   BOOLEAN,	 21,  -1 },
+	{              66,	   BOOLEAN,	 22,  -1 },
+	{              69,	   BOOLEAN,	 23,  -1 },
+	{              72,	   BOOLEAN,	 24,   1 },
+	{              75,	   BOOLEAN,	 25,  -1 },
+	{              78,	   BOOLEAN,	 26,  -1 },
+	{              81,	   BOOLEAN,	 27,  -1 },
+	{              84,	   BOOLEAN,	 28,  -1 },
+	{              87,	   BOOLEAN,	 29,  -1 },
+	{              90,	   BOOLEAN,	 30,  -1 },
+	{              93,	   BOOLEAN,	 31,  -1 },
+	{              96,	   BOOLEAN,	 32,  -1 },
+	{              99,	   BOOLEAN,	 33,  -1 },
+	{             102,	   BOOLEAN,	 34,  -1 },
+	{             105,	   BOOLEAN,	 35,  -1 },
+	{             108,	   BOOLEAN,	 36,  -1 },
+	{             111,	    NUMBER,	  0,  -1 },
+	{             114,	    NUMBER,	  1,  -1 },
+	{             117,	    NUMBER,	  2,  -1 },
+	{             120,	    NUMBER,	  3,  -1 },
+	{             123,	    NUMBER,	  4,  -1 },
+	{             126,	    NUMBER,	  5,  -1 },
+	{             129,	    NUMBER,	  6,  -1 },
+	{             132,	    NUMBER,	  7,  -1 },
+	{             135,	    NUMBER,	  8,  -1 },
+	{             138,	    NUMBER,	  9,  -1 },
+	{             141,	    NUMBER,	 10,  -1 },
+	{             144,	    NUMBER,	 11,  -1 },
+	{             147,	    NUMBER,	 12,  -1 },
+	{             150,	    NUMBER,	 13,  -1 },
+	{             153,	    NUMBER,	 14,  -1 },
+	{             156,	    NUMBER,	 15,  -1 },
+	{             159,	    NUMBER,	 16,  -1 },
+	{             162,	    NUMBER,	 17,  -1 },
+	{             165,	    NUMBER,	 18,  -1 },
+	{             168,	    NUMBER,	 19,  -1 },
+	{             171,	    NUMBER,	 20,  -1 },
+	{             174,	    NUMBER,	 21,  -1 },
+	{             177,	    NUMBER,	 22,  -1 },
+	{             180,	    NUMBER,	 23,  -1 },
+	{             183,	    NUMBER,	 24,  -1 },
+	{             186,	    NUMBER,	 25,  -1 },
+	{             189,	    NUMBER,	 26,  -1 },
+	{             192,	    NUMBER,	 27,  -1 },
+	{             195,	    NUMBER,	 28,  -1 },
+	{             198,	    NUMBER,	 29,  -1 },
+	{             201,	    NUMBER,	 30,  -1 },
+	{             204,	    NUMBER,	 31,  -1 },
+	{             207,	    NUMBER,	 32,  -1 },
+	{             210,	    STRING,	  0,  -1 },
+	{             213,	    STRING,	  1,  -1 },
+	{             216,	    STRING,	  2,  -1 },
+	{             219,	    STRING,	  3,  -1 },
+	{             222,	    STRING,	  4,  -1 },
+	{             225,	    STRING,	  5,  -1 },
+	{             228,	    STRING,	  6,  -1 },
+	{             231,	    STRING,	  7,  -1 },
+	{             234,	    STRING,	  8,  -1 },
+	{             237,	    STRING,	  9,  -1 },
+	{             240,	    STRING,	 10,  -1 },
+	{             243,	    STRING,	 11,  -1 },
+	{             246,	    STRING,	 12,  -1 },
+	{             249,	    STRING,	 13,  -1 },
+	{             252,	    STRING,	 14,  -1 },
+	{             255,	    STRING,	 15,  -1 },
+	{             258,	    STRING,	 16,  -1 },
+	{             261,	    STRING,	 17,  -1 },
+	{             264,	    STRING,	 18,  -1 },
+	{             267,	    STRING,	 19,  -1 },
+	{             270,	    STRING,	 20,  -1 },
+	{             273,	    STRING,	 21,  -1 },
+	{             276,	    STRING,	 22,  -1 },
+	{             279,	    STRING,	 23,  -1 },
+	{             282,	    STRING,	 24,  -1 },
+	{             285,	    STRING,	 25,  -1 },
+	{             288,	    STRING,	 26,  -1 },
+	{             291,	    STRING,	 27,  -1 },
+	{             294,	    STRING,	 28,  -1 },
+	{             297,	    STRING,	 29,  -1 },
+	{             300,	    STRING,	 30,  -1 },
+	{             303,	    STRING,	 31,  -1 },
+	{             306,	    STRING,	 32,  -1 },
+	{             309,	    STRING,	 33,  -1 },
+	{             312,	    STRING,	 34,  -1 },
+	{             315,	    STRING,	 35,  -1 },
+	{             318,	    STRING,	 36,  -1 },
+	{             321,	    STRING,	 37,  -1 },
+	{             324,	    STRING,	 38,  -1 },
+	{             327,	    STRING,	 39,  -1 },
+	{             330,	    STRING,	 40,  -1 },
+	{             333,	    STRING,	 41,  -1 },
+	{             336,	    STRING,	 42,  -1 },
+	{             339,	    STRING,	 43,  -1 },
+	{             342,	    STRING,	 44,  -1 },
+	{             345,	    STRING,	 45,  -1 },
+	{             348,	    STRING,	 46,  -1 },
+	{             351,	    STRING,	 47,  -1 },
+	{             354,	    STRING,	 48, 102 },
+	{             357,	    STRING,	 49,  -1 },
+	{             360,	    STRING,	 50,  -1 },
+	{             363,	    STRING,	 51,  -1 },
+	{             366,	    STRING,	 52,  -1 },
+	{             369,	    STRING,	 53,  -1 },
+	{             372,	    STRING,	 54,  -1 },
+	{             375,	    STRING,	 55,  -1 },
+	{             378,	    STRING,	 56,  -1 },
+	{             381,	    STRING,	 57,  -1 },
+	{             384,	    STRING,	 58,  -1 },
+	{             387,	    STRING,	 59,  -1 },
+	{             390,	    STRING,	 60,  -1 },
+	{             393,	    STRING,	 61,  -1 },
+	{             396,	    STRING,	 62,  -1 },
+	{             399,	    STRING,	 63,  -1 },
+	{             402,	    STRING,	 64,  -1 },
+	{             405,	    STRING,	 65,  -1 },
+	{             408,	    STRING,	 66,  -1 },
+	{             411,	    STRING,	 67,  -1 },
+	{             414,	    STRING,	 68,  -1 },
+	{             417,	    STRING,	 69,  -1 },
+	{             420,	    STRING,	 70,  -1 },
+	{             423,	    STRING,	 71,  -1 },
+	{             426,	    STRING,	 72,  -1 },
+	{             429,	    STRING,	 73,  -1 },
+	{             432,	    STRING,	 74,  -1 },
+	{             435,	    STRING,	 75,  15 },
+	{             438,	    STRING,	 76,  -1 },
+	{             441,	    STRING,	 77,  -1 },
+	{             444,	    STRING,	 78,  -1 },
+	{             447,	    STRING,	 79,  -1 },
+	{             450,	    STRING,	 80,  -1 },
+	{             453,	    STRING,	 81,  -1 },
+	{             456,	    STRING,	 82,  -1 },
+	{             459,	    STRING,	 83,  -1 },
+	{             462,	    STRING,	 84,  -1 },
+	{             465,	    STRING,	 85,  -1 },
+	{             468,	    STRING,	 86,  -1 },
+	{             471,	    STRING,	 87,  -1 },
+	{             474,	    STRING,	 88,  -1 },
+	{             477,	    STRING,	 89,  -1 },
+	{             480,	    STRING,	 90,  -1 },
+	{             483,	    STRING,	 91,  -1 },
+	{             486,	    STRING,	 92,  35 },
+	{             489,	    STRING,	 93,  -1 },
+	{             492,	    STRING,	 94,  -1 },
+	{             495,	    STRING,	 95,  -1 },
+	{             498,	    STRING,	 96,  -1 },
+	{             501,	    STRING,	 97,  -1 },
+	{             504,	    STRING,	 98,  -1 },
+	{             507,	    STRING,	 99,  -1 },
+	{             510,	    STRING,	100,  -1 },
+	{             513,	    STRING,	101,  -1 },
+	{             516,	    STRING,	102, 120 },
+	{             519,	    STRING,	103,  -1 },
+	{             522,	    STRING,	104,  -1 },
+	{             525,	    STRING,	105,  -1 },
+	{             528,	    STRING,	106,  -1 },
+	{             531,	    STRING,	107,  -1 },
+	{             534,	    STRING,	108,  -1 },
+	{             537,	    STRING,	109,  -1 },
+	{             540,	    STRING,	110,  -1 },
+	{             543,	    STRING,	111,  -1 },
+	{             546,	    STRING,	112, 111 },
+	{             549,	    STRING,	113,  -1 },
+	{             552,	    STRING,	114,  -1 },
+	{             555,	    STRING,	115, 161 },
+	{             558,	    STRING,	116, 163 },
+	{             561,	    STRING,	117,  -1 },
+	{             564,	    STRING,	118, 170 },
+	{             567,	    STRING,	119,  -1 },
+	{             570,	    STRING,	120, 166 },
+	{             573,	    STRING,	121,  -1 },
+	{             576,	    STRING,	122,  -1 },
+	{             579,	    STRING,	123,  -1 },
+	{             582,	    STRING,	124,  -1 },
+	{             585,	    STRING,	125,  -1 },
+	{             588,	    STRING,	126,  -1 },
+	{             591,	    STRING,	127,  -1 },
+	{             594,	    STRING,	128,  -1 },
+	{             597,	    STRING,	129,  -1 },
+	{             600,	    STRING,	130,  -1 },
+	{             603,	    STRING,	131,  -1 },
+	{             606,	    STRING,	132,  -1 },
+	{             609,	    STRING,	133,  -1 },
+	{             612,	    STRING,	134,  -1 },
+	{             615,	    STRING,	135,  -1 },
+	{             618,	    STRING,	136,  -1 },
+	{             621,	    STRING,	137,  -1 },
+	{             624,	    STRING,	138,  -1 },
+	{             627,	    STRING,	139,  -1 },
+	{             630,	    STRING,	140,  -1 },
+	{             633,	    STRING,	141,  -1 },
+	{             636,	    STRING,	142,  -1 },
+	{             639,	    STRING,	143,  -1 },
+	{             642,	    STRING,	144,  -1 },
+	{             645,	    STRING,	145,  37 },
+	{             648,	    STRING,	146,  -1 },
+	{             651,	    STRING,	147, 165 },
+	{             654,	    STRING,	148,  -1 },
+	{             657,	    STRING,	149, 117 },
+	{             660,	    STRING,	150,  16 },
+	{             663,	    STRING,	151,  -1 },
+	{             666,	    STRING,	152,  -1 },
+	{             669,	    STRING,	153,  -1 },
+	{             672,	    STRING,	154, 126 },
+	{             675,	    STRING,	155,  -1 },
+	{             678,	    STRING,	156,  -1 },
+	{             681,	    STRING,	157,  -1 },
+	{             684,	    STRING,	158,  -1 },
+	{             687,	    STRING,	159,  -1 },
+	{             690,	    STRING,	160,  -1 },
+	{             693,	    STRING,	161,  -1 },
+	{             696,	    STRING,	162,  -1 },
+	{             699,	    STRING,	163,  -1 },
+	{             702,	    STRING,	164, 183 },
+	{             705,	    STRING,	165,  -1 },
+	{             708,	    STRING,	166,  -1 },
+	{             711,	    STRING,	167, 116 },
+	{             714,	    STRING,	168,  -1 },
+	{             717,	    STRING,	169,  97 },
+	{             720,	    STRING,	170, 109 },
+	{             723,	    STRING,	171,  -1 },
+	{             726,	    STRING,	172,  -1 },
+	{             729,	    STRING,	173, 100 },
+	{             732,	    STRING,	174,  13 },
+	{             735,	    STRING,	175,  -1 },
+	{             738,	    STRING,	176, 118 },
+	{             741,	    STRING,	177,  96 },
+	{             744,	    STRING,	178,  -1 },
+	{             747,	    STRING,	179,  87 },
+	{             750,	    STRING,	180,  -1 },
+	{             753,	    STRING,	181,  -1 },
+	{             756,	    STRING,	182,  -1 },
+	{             759,	    STRING,	183,  -1 },
+	{             762,	    STRING,	184,  -1 },
+	{             765,	    STRING,	185,  -1 },
+	{             768,	    STRING,	186,  -1 },
+	{             771,	    STRING,	187,  -1 },
+	{             774,	    STRING,	188, 196 },
+	{             777,	    STRING,	189,  -1 },
+	{             780,	    STRING,	190,  -1 },
+	{             783,	    STRING,	191, 195 },
+	{             786,	    STRING,	192,  -1 },
+	{             789,	    STRING,	193,  -1 },
+	{             792,	    STRING,	194,  -1 },
+	{             795,	    STRING,	195,  -1 },
+	{             798,	    STRING,	196,  -1 },
+	{             801,	    STRING,	197,  -1 },
+	{             804,	    STRING,	198,  -1 },
+	{             807,	    STRING,	199, 131 },
+	{             810,	    STRING,	200, 158 },
+	{             813,	    STRING,	201,  -1 },
+	{             816,	    STRING,	202,  -1 },
+	{             819,	    STRING,	203,  -1 },
+	{             822,	    STRING,	204,  -1 },
+	{             825,	    STRING,	205,  -1 },
+	{             828,	    STRING,	206,  -1 },
+	{             831,	    STRING,	207,  -1 },
+	{             834,	    STRING,	208,  -1 },
+	{             837,	    STRING,	209,  -1 },
+	{             840,	    STRING,	210,  -1 },
+	{             843,	    STRING,	211,  -1 },
+	{             846,	    STRING,	212, 122 },
+	{             849,	    STRING,	213,  -1 },
+	{             852,	    STRING,	214,  -1 },
+	{             855,	    STRING,	215,  -1 },
+	{             858,	    STRING,	216,  -1 },
+	{             861,	    STRING,	217,  46 },
+	{             864,	    STRING,	218,  39 },
+	{             867,	    STRING,	219,  -1 },
+	{             870,	    STRING,	220,  -1 },
+	{             873,	    STRING,	221,  88 },
+	{             876,	    STRING,	222,  40 },
+	{             879,	    STRING,	223,  -1 },
+	{             882,	    STRING,	224,  -1 },
+	{             885,	    STRING,	225,  47 },
+	{             888,	    STRING,	226,  -1 },
+	{             891,	    STRING,	227,  -1 },
+	{             894,	    STRING,	228,  -1 },
+	{             897,	    STRING,	229,  -1 },
+	{             900,	    STRING,	230,  53 },
+	{             903,	    STRING,	231,  54 },
+	{             906,	    STRING,	232,  55 },
+	{             909,	    STRING,	233,  56 },
+	{             912,	    STRING,	234,  57 },
+	{             915,	    STRING,	235,  58 },
+	{             918,	    STRING,	236,  59 },
+	{             921,	    STRING,	237,  60 },
+	{             924,	    STRING,	238,  61 },
+	{             927,	    STRING,	239,  62 },
+	{             930,	    STRING,	240,  63 },
+	{             933,	    STRING,	241,  64 },
+	{             936,	    STRING,	242,  65 },
+	{             939,	    STRING,	243,  66 },
+	{             942,	    STRING,	244,  68 },
+	{             945,	    STRING,	245,  69 },
+	{             948,	    STRING,	246,  -1 },
+	{             951,	    STRING,	247,  -1 },
+	{             954,	    STRING,	248,  -1 },
+	{             957,	    STRING,	249,  -1 },
+	{             960,	    STRING,	250,  -1 },
+	{             963,	    STRING,	251,  -1 },
+	{             966,	    STRING,	252,  -1 },
+	{             969,	    STRING,	253,  -1 },
+	{             972,	    STRING,	254,  -1 },
+	{             975,	    STRING,	255,  -1 },
+	{             978,	    STRING,	256,  -1 },
+	{             981,	    STRING,	257,   7 },
+	{             984,	    STRING,	258,  94 },
+	{             987,	    STRING,	259,  -1 },
+	{             990,	    STRING,	260,  -1 },
+	{             993,	    STRING,	261,  -1 },
+	{             996,	    STRING,	262,  -1 },
+	{             999,	    STRING,	263,  -1 },
+	{            1002,	    STRING,	264,  -1 },
+	{            1005,	    STRING,	265, 184 },
+	{            1008,	    STRING,	266,  29 },
+	{            1011,	    STRING,	267,  -1 },
+	{            1014,	    STRING,	268,  -1 },
+	{            1017,	    STRING,	269,  -1 },
+	{            1020,	    STRING,	270,  -1 },
+	{            1023,	    STRING,	271,  -1 },
+	{            1026,	    STRING,	272,  -1 },
+	{            1029,	    STRING,	273, 257 },
+	{            1032,	    STRING,	274,  -1 },
+	{            1035,	    STRING,	275,  -1 },
+	{            1038,	    STRING,	276,  -1 },
+	{            1041,	    STRING,	277,   4 },
+	{            1044,	    STRING,	278,  -1 },
+	{            1047,	    STRING,	279,  -1 },
+	{            1050,	    STRING,	280,  -1 },
+	{            1053,	    STRING,	281,  -1 },
+	{            1056,	    STRING,	282,  -1 },
+	{            1059,	    STRING,	283,  -1 },
+	{            1062,	    STRING,	284, 229 },
+	{            1065,	    STRING,	285,  -1 },
+	{            1068,	    STRING,	286,  -1 },
+	{            1071,	    STRING,	287,  -1 },
+	{            1074,	    STRING,	288,  -1 },
+	{            1077,	    STRING,	289,  -1 },
+	{            1080,	    STRING,	290,  -1 },
+	{            1083,	    STRING,	291,  -1 },
+	{            1086,	    STRING,	292,  -1 },
+	{            1089,	    STRING,	293,  -1 },
+	{            1092,	    STRING,	294,  -1 },
+	{            1095,	    STRING,	295,  -1 },
+	{            1098,	    STRING,	296,  -1 },
+	{            1101,	    STRING,	297, 142 },
+	{            1104,	    STRING,	298,  -1 },
+	{            1107,	    STRING,	299,  -1 },
+	{            1110,	    STRING,	300, 149 },
+	{            1113,	    STRING,	301,  -1 },
+	{            1116,	    STRING,	302,  -1 },
+	{            1119,	    STRING,	303,  -1 },
+	{            1122,	    STRING,	304,  -1 },
+	{            1125,	    STRING,	305,  -1 },
+	{            1128,	    STRING,	306,  -1 },
+	{            1131,	    STRING,	307,  -1 },
+	{            1134,	    STRING,	308,  -1 },
+	{            1137,	    STRING,	309,  48 },
+	{            1140,	    STRING,	310, 247 },
+	{            1143,	    STRING,	311, 238 },
+	{            1146,	    STRING,	312, 239 },
+	{            1149,	    STRING,	313, 240 },
+	{            1152,	    STRING,	314, 241 },
+	{            1155,	    STRING,	315, 242 },
+	{            1158,	    STRING,	316, 243 },
+	{            1161,	    STRING,	317, 244 },
+	{            1164,	    STRING,	318, 245 },
+	{            1167,	    STRING,	319, 246 },
+	{            1170,	    STRING,	320,  -1 },
+	{            1173,	    STRING,	321, 172 },
+	{            1176,	    STRING,	322,  -1 },
+	{            1179,	    STRING,	323, 171 },
+	{            1182,	    STRING,	324, 103 },
+	{            1185,	    STRING,	325,  -1 },
+	{            1188,	    STRING,	326, 104 },
+	{            1191,	    STRING,	327,  14 },
+	{            1194,	    STRING,	328,  -1 },
+	{            1197,	    STRING,	329,  -1 },
+	{            1200,	    STRING,	330,  -1 },
+	{            1203,	    STRING,	331,  -1 },
+	{            1206,	    STRING,	332,  -1 },
+	{            1209,	    STRING,	333,  -1 },
+	{            1212,	    STRING,	334,  -1 },
+	{            1215,	    STRING,	335,  -1 },
+	{            1218,	    STRING,	336,  -1 },
+	{            1221,	    STRING,	337,  -1 },
+	{            1224,	    STRING,	338,  -1 },
+	{            1227,	    STRING,	339,  -1 },
+	{            1230,	    STRING,	340,  -1 },
+	{            1233,	    STRING,	341,  -1 },
+	{            1236,	    STRING,	342,  -1 },
+	{            1239,	    STRING,	343,  -1 },
+	{            1242,	    STRING,	344, 208 },
+	{            1245,	    STRING,	345,  -1 },
+	{            1248,	    STRING,	346,  -1 },
+	{            1251,	    STRING,	347,  -1 },
+	{            1254,	    STRING,	348,  -1 },
+	{            1257,	    STRING,	349,  -1 },
+	{            1260,	    STRING,	350,  -1 },
+	{            1263,	    STRING,	351,  -1 },
+	{            1266,	    STRING,	352,  -1 },
+	{            1269,	    STRING,	353, 272 },
+	{            1272,	    STRING,	354, 273 },
+	{            1275,	    STRING,	355, 387 },
+	{            1278,	    STRING,	356,  -1 },
+	{            1281,	    STRING,	357,  -1 },
+	{            1284,	    STRING,	358,  -1 },
+	{            1287,	    STRING,	359,  -1 },
+	{            1290,	    STRING,	360,  -1 },
+	{            1293,	    STRING,	361,  -1 },
+	{            1296,	    STRING,	362,  -1 },
+	{            1299,	    STRING,	363,  -1 },
+	{            1302,	    STRING,	364,  -1 },
+	{            1305,	    STRING,	365,  67 },
+	{            1308,	    STRING,	366,  -1 },
+	{            1311,	    STRING,	367,  -1 },
+	{            1314,	    STRING,	368, 341 },
+	{            1317,	    STRING,	369,  -1 },
+	{            1320,	    STRING,	370,  -1 },
+	{            1323,	    STRING,	371, 274 },
+	{            1326,	    STRING,	372,  -1 },
+	{            1329,	    STRING,	373,  -1 },
+	{            1332,	    STRING,	374,  -1 },
+	{            1335,	    STRING,	375,  -1 },
+	{            1338,	    STRING,	376,  -1 },
+	{            1341,	    STRING,	377,  -1 },
+	{            1344,	    STRING,	378,  -1 },
+	{            1347,	    STRING,	379,  -1 },
+	{            1350,	    STRING,	380,  -1 },
+	{            1353,	    STRING,	381, 357 },
+	{            1356,	    STRING,	382, 358 },
+	{            1359,	    STRING,	383, 359 },
+	{            1362,	    STRING,	384, 360 },
+	{            1365,	    STRING,	385, 361 },
+	{            1368,	    STRING,	386,  -1 },
+	{            1371,	    STRING,	387,  -1 },
+	{            1374,	    STRING,	388,  -1 },
+	{            1377,	    STRING,	389,  -1 },
+	{            1380,	    STRING,	390,  -1 },
+	{            1383,	    STRING,	391,  -1 },
+	{            1386,	    STRING,	392,  -1 },
+	{            1389,	    STRING,	393,  -1 },
+	{            1392,	    STRING,	394, 390 },
+	{            1395,	    STRING,	395,  -1 },
+	{            1398,	    NUMBER,	 33,  -1 },
+	{            1401,	   BOOLEAN,	 37,  -1 },
+	{            1404,	   BOOLEAN,	 38,  -1 },
+	{            1407,	   BOOLEAN,	 39, 248 },
+	{            1410,	    NUMBER,	 34,  -1 },
+	{            1413,	    NUMBER,	 35, 203 },
+	{            1416,	    STRING,	396,  -1 },
+	{            1419,	    STRING,	397,  -1 },
+	{            1422,	   BOOLEAN,	 40, 439 },
+	{            1425,	   BOOLEAN,	 41,  -1 },
+	{            1428,	    NUMBER,	 36,  -1 },
+	{            1431,	    NUMBER,	 37,  -1 },
+	{            1434,	    NUMBER,	 38,  -1 },
+	{            1437,	    STRING,	398,  -1 },
+	{            1440,	    STRING,	399, 379 },
+	{            1443,	   BOOLEAN,	 42,  -1 },
+	{            1446,	   BOOLEAN,	 43,  -1 },
+	{            1449,	    STRING,	400, 386 },
+	{            1452,	    STRING,	401, 425 },
+	{            1455,	    STRING,	402, 385 },
+	{            1458,	    STRING,	403, 388 },
+	{            1461,	    STRING,	404, 412 },
+	{            1464,	    STRING,	405, 406 },
+	{            1467,	    STRING,	406, 415 },
+	{            1470,	    STRING,	407,  -1 },
+	{            1473,	    STRING,	408, 402 },
+	{            1476,	    STRING,	409, 416 },
+	{            1479,	    STRING,	410,  -1 },
+	{            1482,	    STRING,	411, 464 },
+	{            1485,	    STRING,	412, 399 },
+	{            1488,	    STRING,	413,  -1 } 
+};
+
+static struct name_table_entry *_nc_cap_table = 0;
+
+static const HashValue _nc_cap_hash_table[995] =
+{
+	253,
+	 -1,
+	 45,
+	211,
+	263,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	449,
+	457,
+	311,
+	411,
+	 -1,
+	132,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	123,
+	 71,
+	 75,
+	 92,
+	427,
+	233,
+	 -1,
+	336,
+	 -1,
+	 -1,
+	370,
+	291,
+	494,
+	472,
+	138,
+	186,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 19,
+	193,
+	436,
+	431,
+	453,
+	 -1,
+	315,
+	489,
+	349,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	353,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	124,
+	 -1,
+	 -1,
+	 -1,
+	394,
+	 -1,
+	367,
+	167,
+	 -1,
+	191,
+	371,
+	 -1,
+	 89,
+	 -1,
+	 -1,
+	 -1,
+	363,
+	460,
+	319,
+	419,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 70,
+	 74,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 38,
+	 -1,
+	128,
+	 -1,
+	398,
+	 -1,
+	 -1,
+	481,
+	 -1,
+	 -1,
+	202,
+	 -1,
+	 28,
+	 43,
+	 -1,
+	 17,
+	 -1,
+	 -1,
+	444,
+	423,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	496,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	430,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	296,
+	 -1,
+	 21,
+	 -1,
+	187,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	321,
+	276,
+	 -1,
+	 -1,
+	 31,
+	375,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	429,
+	476,
+	 -1,
+	 -1,
+	 -1,
+	300,
+	400,
+	 -1,
+	218,
+	 -1,
+	 -1,
+	227,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 11,
+	285,
+	179,
+	 -1,
+	325,
+	280,
+	 -1,
+	224,
+	162,
+	480,
+	 -1,
+	 -1,
+	 51,
+	 -1,
+	 -1,
+	201,
+	204,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 22,
+	 -1,
+	304,
+	404,
+	 -1,
+	154,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	108,
+	 -1,
+	 76,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	329,
+	284,
+	 -1,
+	270,
+	 84,
+	383,
+	250,
+	426,
+	 -1,
+	 -1,
+	260,
+	113,
+	110,
+	114,
+	 86,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	308,
+	408,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	433,
+	 -1,
+	112,
+	230,
+	 -1,
+	333,
+	428,
+	 -1,
+	223,
+	288,
+	484,
+	254,
+	 -1,
+	 -1,
+	210,
+	264,
+	 -1,
+	 98,
+	 -1,
+	 83,
+	471,
+	 -1,
+	450,
+	 -1,
+	312,
+	487,
+	 -1,
+	151,
+	 -1,
+	 -1,
+	 -1,
+	342,
+	 24,
+	 -1,
+	 80,
+	 99,
+	 -1,
+	234,
+	 -1,
+	337,
+	101,
+	 -1,
+	  8,
+	292,
+	391,
+	 -1,
+	139,
+	164,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	194,
+	437,
+	 -1,
+	454,
+	 -1,
+	316,
+	492,
+	 -1,
+	155,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	395,
+	 -1,
+	143,
+	168,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	364,
+	 -1,
+	320,
+	420,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	207,
+	 -1,
+	 -1,
+	157,
+	447,
+	495,
+	 -1,
+	137,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	440,
+	445,
+	424,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 79,
+	175,
+	 -1,
+	297,
+	493,
+	 23,
+	178,
+	 -1,
+	 -1,
+	 -1,
+	340,
+	 52,
+	 -1,
+	 -1,
+	 -1,
+	346,
+	344,
+	 -1,
+	322,
+	277,
+	 -1,
+	 -1,
+	 32,
+	376,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	373,
+	 -1,
+	470,
+	 -1,
+	 -1,
+	 -1,
+	301,
+	401,
+	 -1,
+	127,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	339,
+	 12,
+	 -1,
+	 -1,
+	 -1,
+	326,
+	281,
+	348,
+	125,
+	 36,
+	380,
+	343,
+	 -1,
+	 42,
+	 -1,
+	267,
+	 -1,
+	 -1,
+	372,
+	115,
+	 -1,
+	  2,
+	345,
+	 -1,
+	305,
+	405,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	237,
+	 -1,
+	330,
+	121,
+	 -1,
+	271,
+	 -1,
+	384,
+	251,
+	 -1,
+	189,
+	 -1,
+	261,
+	199,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	177,
+	 -1,
+	309,
+	409,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	226,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	231,
+	352,
+	334,
+	 -1,
+	 -1,
+	 -1,
+	289,
+	486,
+	255,
+	135,
+	160,
+	212,
+	265,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	434,
+	 -1,
+	451,
+	 -1,
+	313,
+	413,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	214,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	235,
+	  6,
+	338,
+	 10,
+	 -1,
+	478,
+	293,
+	392,
+	 -1,
+	140,
+	217,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	347,
+	455,
+	459,
+	317,
+	417,
+	 -1,
+	134,
+	 -1,
+	 -1,
+	 -1,
+	 49,
+	 -1,
+	 -1,
+	 72,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	153,
+	 -1,
+	396,
+	 -1,
+	144,
+	169,
+	 -1,
+	 -1,
+	200,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	482,
+	365,
+	461,
+	442,
+	421,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	197,
+	432,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	446,
+	441,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 18,
+	 -1,
+	 -1,
+	 -1,
+	298,
+	490,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 26,
+	 -1,
+	 -1,
+	351,
+	 -1,
+	 -1,
+	 -1,
+	323,
+	278,
+	 -1,
+	369,
+	 33,
+	377,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	302,
+	491,
+	 -1,
+	129,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	216,
+	473,
+	 27,
+	 91,
+	107,
+	 -1,
+	 -1,
+	327,
+	282,
+	 -1,
+	268,
+	 -1,
+	381,
+	469,
+	368,
+	174,
+	 -1,
+	258,
+	198,
+	 -1,
+	206,
+	180,
+	 -1,
+	 -1,
+	176,
+	 -1,
+	306,
+	488,
+	 -1,
+	150,
+	 -1,
+	 -1,
+	 -1,
+	438,
+	475,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	228,
+	 -1,
+	331,
+	 -1,
+	 -1,
+	 -1,
+	286,
+	485,
+	252,
+	 -1,
+	 -1,
+	209,
+	262,
+	 41,
+	 -1,
+	466,
+	 -1,
+	 -1,
+	 -1,
+	448,
+	 -1,
+	310,
+	410,
+	 -1,
+	130,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 25,
+	 -1,
+	 -1,
+	 -1,
+	 50,
+	232,
+	 -1,
+	335,
+	 -1,
+	 -1,
+	 -1,
+	290,
+	389,
+	256,
+	136,
+	185,
+	213,
+	266,
+	 -1,
+	 -1,
+	 -1,
+	192,
+	435,
+	 -1,
+	452,
+	458,
+	314,
+	414,
+	 -1,
+	152,
+	 -1,
+	 -1,
+	 -1,
+	474,
+	 -1,
+	 -1,
+	215,
+	 81,
+	  5,
+	236,
+	 -1,
+	 82,
+	 -1,
+	 -1,
+	479,
+	294,
+	393,
+	 -1,
+	141,
+	190,
+	 -1,
+	 -1,
+	105,
+	 -1,
+	 -1,
+	 -1,
+	477,
+	 20,
+	362,
+	 -1,
+	318,
+	418,
+	 -1,
+	156,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 95,
+	467,
+	 73,
+	 93,
+	220,
+	219,
+	 -1,
+	  9,
+	119,
+	 -1,
+	159,
+	 -1,
+	397,
+	468,
+	145,
+	188,
+	 -1,
+	465,
+	 -1,
+	205,
+	106,
+	 90,
+	 44,
+	  3,
+	366,
+	 -1,
+	443,
+	422,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  0,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	295,
+	 -1,
+	173,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	355,
+	 -1,
+	222,
+	221,
+	 -1,
+	 -1,
+	275,
+	356,
+	 -1,
+	 30,
+	374,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	225,
+	 -1,
+	 -1,
+	299,
+	 -1,
+	 -1,
+	148,
+	 -1,
+	 -1,
+	181,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	462,
+	 -1,
+	 -1,
+	 -1,
+	324,
+	279,
+	 -1,
+	 -1,
+	 34,
+	378,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	350,
+	 -1,
+	303,
+	403,
+	 -1,
+	133,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 77,
+	 -1,
+	182,
+	 -1,
+	 -1,
+	328,
+	283,
+	 -1,
+	269,
+	463,
+	382,
+	249,
+	 -1,
+	 -1,
+	 -1,
+	259,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 85,
+	 -1,
+	456,
+	307,
+	407,
+	 -1,
+	147,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 78,
+	 -1,
+	 -1,
+	354,
+	 -1,
+	332,
+	 -1,
+	 -1,
+	146,
+	287,
+	483,
+	0	/* base-of-table */
+};
+
+#if (BOOLCOUNT!=44)||(NUMCOUNT!=39)||(STRCOUNT!=414)
+#error	--> term.h and comp_captab.c disagree about the <--
+#error	--> numbers of booleans, numbers and/or strings <--
+#endif
+
+/* generated by MKcaptab.awk capalias(1) */
+
+static struct alias *_nc_capalias_table = 0;
+
+static const char capalias_text[] = "\
+sb\0sr\0BSD\0\
+BO\0mr\0AT&T\0\
+CI\0vi\0AT&T\0\
+CV\0ve\0AT&T\0\
+DS\0mh\0AT&T\0\
+FE\0LF\0AT&T\0\
+FL\0LO\0AT&T\0\
+XS\0mk\0AT&T\0\
+EE\0mh\0XENIX\0\
+GE\0ae\0XENIX\0\
+GS\0as\0XENIX\0\
+CF\0vi\0XENIX\0\
+CO\0ve\0XENIX\0\
+EN\0@7\0XENIX\0\
+HM\0kh\0XENIX\0\
+LD\0kL\0XENIX\0\
+PD\0kN\0XENIX\0\
+PN\0po\0XENIX\0\
+PS\0pf\0XENIX\0\
+PU\0kP\0XENIX\0\
+RT\0@8\0XENIX\0\
+UP\0ku\0XENIX\0\
+G6\0XENIX\0\
+G7\0XENIX\0\
+G5\0XENIX\0\
+G8\0XENIX\0\
+Gr\0XENIX\0\
+Gr\0XENIX\0\
+Gu\0XENIX\0\
+Gd\0XENIX\0\
+Gh\0XENIX\0\
+Gv\0XENIX\0\
+Gc\0XENIX\0\
+GG\0XENIX\0\
+kq\0%1\0IBM\0\
+HS\0mh\0IRIS\0\
+KA\0k;\0Tek\0\
+KB\0F1\0Tek\0\
+KC\0F2\0Tek\0\
+KD\0F3\0Tek\0\
+KE\0F4\0Tek\0\
+KF\0F5\0Tek\0\
+BC\0Sb\0Tek\0\
+FC\0Sf\0Tek\0\
+";
+
+static const alias_table_data capalias_data[] = {
+	{    0,     3,     6},	 /* scroll */
+	{   10,    13,    16},	 /* enter_reverse_mode */
+	{   21,    24,    27},	 /* cursor_invisible */
+	{   32,    35,    38},	 /* cursor_normal */
+	{   43,    46,    49},	 /* enter_dim_mode */
+	{   54,    57,    60},	 /* label_on */
+	{   65,    68,    71},	 /* label_off */
+	{   76,    79,    82},	 /* enter_secure_mode */
+	{   87,    90,    93},	 /* exit_attribute_mode */
+	{   99,   102,   105},	 /* exit_alt_charset_mode */
+	{  111,   114,   117},	 /* enter_alt_charset_mode */
+	{  123,   126,   129},	 /* cursor_invis */
+	{  135,   138,   141},	 /* cursor_normal */
+	{  147,   150,   153},	 /* key_end */
+	{  159,   162,   165},	 /* key_home */
+	{  171,   174,   177},	 /* key_dl */
+	{  183,   186,   189},	 /* key_npage */
+	{  195,   198,   201},	 /* prtr_off */
+	{  207,   210,   213},	 /* prtr_on */
+	{  219,   222,   225},	 /* key_ppage */
+	{  231,   234,   237},	 /* kent */
+	{  243,   246,   249},	 /* kcuu1 */
+	{  255,    -1,   258},	 /* double-ACS_ULCORNER */
+	{  264,    -1,   267},	 /* double-ACS_LLCORNER */
+	{  273,    -1,   276},	 /* double-ACS_URCORNER */
+	{  282,    -1,   285},	 /* double-ACS_LRCORNER */
+	{  291,    -1,   294},	 /* double-ACS_LTEE */
+	{  300,    -1,   303},	 /* double-ACS_RTEE */
+	{  309,    -1,   312},	 /* double-ACS_BTEE */
+	{  318,    -1,   321},	 /* double */
+	{  327,    -1,   330},	 /* double-ACS_HLINE */
+	{  336,    -1,   339},	 /* double-ACS_VLINE */
+	{  345,    -1,   348},	 /* double-ACS_PLUS */
+	{  354,    -1,   357},	 /* acs-glitch */
+	{  363,   366,   369},	 /* key_help */
+	{  373,   376,   379},	 /* enter_dim_mode */
+	{  384,   387,   390},	 /* key_f10 */
+	{  394,   397,   400},	 /* key_f11 */
+	{  404,   407,   410},	 /* key_f12 */
+	{  414,   417,   420},	 /* key_f13 */
+	{  424,   427,   430},	 /* key_f14 */
+	{  434,   437,   440},	 /* key_f15 */
+	{  444,   447,   450},	 /* set_background */
+	{  454,   457,   460},	 /* set_foreground */
+};
+
+/* generated by MKcaptab.awk infoalias(1) */
+
+static struct alias *_nc_infoalias_table = 0;
+
+static const char infoalias_text[] = "\
+font0\0s0ds\0IBM\0\
+font1\0s1ds\0IBM\0\
+font2\0s2ds\0IBM\0\
+font3\0s3ds\0IBM\0\
+kbtab\0kcbt\0IBM\0\
+ksel\0kslt\0IBM\0\
+";
+
+static const alias_table_data infoalias_data[] = {
+	{    0,     6,    11},	 /* set0_des_seq */
+	{   15,    21,    26},	 /* set1_des_seq */
+	{   30,    36,    41},	 /* set2_des_seq */
+	{   45,    51,    56},	 /* set3_des_seq */
+	{   60,    66,    71},	 /* key_backtab */
+	{   75,    80,    85},	 /* key_select */
+};
+
+
+#if 1
+static void
+next_string(const char *strings, unsigned *offset)
+{
+    *offset += (unsigned) strlen(strings + *offset) + 1;
+}
+
+static const struct name_table_entry *
+_nc_build_names(struct name_table_entry **actual,
+		const name_table_data *source,
+		const char *strings)
+{
+    if (*actual == 0) {
+	*actual = typeCalloc(struct name_table_entry, CAPTABSIZE);
+	if (*actual != 0) {
+	    unsigned n;
+	    unsigned len = 0;
+	    for (n = 0; n < CAPTABSIZE; ++n) {
+		(*actual)[n].nte_name = strings + len;
+		(*actual)[n].nte_type = source[n].nte_type;
+		(*actual)[n].nte_index = source[n].nte_index;
+		(*actual)[n].nte_link = source[n].nte_link;
+		next_string(strings, &len);
+	    }
+	}
+    }
+    return *actual;
+}
+
+#define add_alias(field) \
+	if (source[n].field >= 0) { \
+		(*actual)[n].field = strings + source[n].field; \
+	}
+
+static const struct alias *
+_nc_build_alias(struct alias **actual,
+		const alias_table_data *source,
+		const char *strings,
+		size_t tablesize)
+{
+    if (*actual == 0) {
+	*actual = typeCalloc(struct alias, tablesize + 1);
+	if (*actual != 0) {
+	    size_t n;
+	    for (n = 0; n < tablesize; ++n) {
+		add_alias(from);
+		add_alias(to);
+		add_alias(source);
+	    }
+	}
+    }
+    return *actual;
+}
+
+#define build_names(root) _nc_build_names(&_nc_##root##_table, \
+					  root##_names_data, \
+					  root##_names_text)
+#define build_alias(root) _nc_build_alias(&_nc_##root##alias_table, \
+					  root##alias_data, \
+					  root##alias_text, \
+					  SIZEOF(root##alias_data))
+#else
+#define build_names(root) _nc_ ## root ## _table
+#define build_alias(root) _nc_ ## root ## alias_table
+#endif
+
+NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap)
+{
+    return termcap ? build_names(cap) : build_names(info) ;
+}
+
+/* entrypoint used by tack (do not alter) */
+NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool termcap)
+{
+    return termcap ? _nc_cap_hash_table: _nc_info_hash_table ;
+}
+
+NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool termcap)
+{
+    return termcap ? build_alias(cap) : build_alias(info) ;
+}
+
+static HashValue
+info_hash(const char *string)
+{
+    long sum = 0;
+
+    DEBUG(9, ("hashing %s", string));
+    while (*string) {
+	sum += (long) (*string + (*(string + 1) << 8));
+	string++;
+    }
+
+    DEBUG(9, ("sum is %ld", sum));
+    return (HashValue) (sum % HASHTABSIZE);
+}
+
+#define TCAP_LEN 2		/* only 1- or 2-character names are used */
+
+static HashValue
+tcap_hash(const char *string)
+{
+    char temp[TCAP_LEN + 1];
+    int limit = 0;
+
+    while (*string) {
+	temp[limit++] = *string++;
+	if (limit >= TCAP_LEN)
+	    break;
+    }
+    temp[limit] = '\0';
+    return info_hash(temp);
+}
+
+static int
+compare_tcap_names(const char *a, const char *b)
+{
+    return !strncmp(a, b, (size_t) TCAP_LEN);
+}
+
+static int
+compare_info_names(const char *a, const char *b)
+{
+    return !strcmp(a, b);
+}
+
+static const HashData hash_data[2] = {
+    { HASHTABSIZE, _nc_info_hash_table, info_hash, compare_info_names },
+    { HASHTABSIZE, _nc_cap_hash_table, tcap_hash, compare_tcap_names }
+};
+
+NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool termcap)
+{
+    return &hash_data[(termcap != FALSE)];
+}
+
+#if NO_LEAKS
+NCURSES_EXPORT(void) _nc_comp_captab_leaks(void)
+{
+#if 1
+    FreeIfNeeded(_nc_cap_table);
+    FreeIfNeeded(_nc_info_table);
+    FreeIfNeeded(_nc_capalias_table);
+    FreeIfNeeded(_nc_infoalias_table);
+#endif
+}
+#endif /* NO_LEAKS */
diff --git a/ncurses/expanded.c b/ncurses/expanded.c
new file mode 100644
index 0000000..de27cd7
--- /dev/null
+++ b/ncurses/expanded.c
@@ -0,0 +1,61 @@
+/* generated by MKexpanded.sh */
+#define NEED_NCURSES_CH_T 1
+#include <curses.priv.h>
+
+#ifndef CUR
+#define CUR SP_TERMTYPE
+#endif
+
+#if NCURSES_EXPANDED
+ void
+_nc_toggle_attr_on (attr_t *S, attr_t at)
+{
+ { if (((int)((((unsigned long)(at) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) > 0) { (*S) = ((*S) & ALL_BUT_COLOR) | (attr_t) (at); } else { (*S) |= (attr_t) (at); } ;};
+}
+
+ void
+_nc_toggle_attr_off (attr_t *S, attr_t at)
+{
+ { if (((int)((((unsigned long)(at) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) > 0) { (*S) &= ~(at|((chtype)((((1U) << 8) - 1U)) << ((0) + 8))); } else { (*S) &= ~(at); } ;};
+}
+
+ int
+_nc_DelCharCost_sp (SCREEN *sp, int count)
+{
+ return ((cur_term->type. Strings[105] != 0) ? sp->_dch_cost : ((cur_term->type. Strings[21] != 0) ? (sp->_dch1_cost * count) : 1000000));
+}
+
+ int
+_nc_InsCharCost_sp (SCREEN *sp, int count)
+{
+ return ((cur_term->type. Strings[108] != 0) ? sp->_ich_cost : ((cur_term->type. Strings[31] && cur_term->type. Strings[42]) ? sp->_smir_cost + sp->_rmir_cost + (sp->_ip_cost * count) : ((cur_term->type. Strings[52] != 0) ? ((sp->_ich1_cost + sp->_ip_cost) * count) : 1000000)));
+}
+
+ void
+_nc_UpdateAttrs_sp (SCREEN *sp, chtype c)
+{
+ if (!(((chtype)((*((sp)->_current_attr))) & (chtype)((chtype)((~(1U - 1U))) << ((0) + 8))) == ((chtype)(c) & (chtype)((chtype)((~(1U - 1U))) << ((0) + 8))))) { vidputs_sp(sp, ((chtype)(c) & (chtype)((chtype)((~(1U - 1U))) << ((0) + 8))), _nc_outch_sp); };
+}
+
+#if NCURSES_SP_FUNCS
+ int
+_nc_DelCharCost (int count)
+{
+ return _nc_DelCharCost_sp (SP, count);
+}
+
+ int
+_nc_InsCharCost (int count)
+{
+ return _nc_InsCharCost_sp(SP, count);
+}
+
+ void
+_nc_UpdateAttrs (chtype c)
+{
+ _nc_UpdateAttrs_sp(SP,c);
+}
+#endif
+#else /* ! NCURSES_EXPANDED */
+NCURSES_EXPORT(void) _nc_expanded (void) { }
+#endif /* NCURSES_EXPANDED */
diff --git a/ncurses/fallback.c b/ncurses/fallback.c
new file mode 100644
index 0000000..71daf2c
--- /dev/null
+++ b/ncurses/fallback.c
@@ -0,0 +1,11 @@
+/*
+ * DO NOT EDIT THIS FILE BY HAND!  It is generated by MKfallback.sh.
+ */
+
+#include <curses.priv.h>
+
+NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *name GCC_UNUSED)
+{
+	/* the fallback list is empty */
+	return((TERMTYPE *)0);
+}
diff --git a/ncurses/init_keytry.h b/ncurses/init_keytry.h
new file mode 100644
index 0000000..c89150d
--- /dev/null
+++ b/ncurses/init_keytry.h
@@ -0,0 +1,162 @@
+#ifndef NCU_KEYS_H
+#define NCU_KEYS_H 1
+
+/* This file was generated by MAKE_KEYS */
+
+#if BROKEN_LINKER
+static
+#endif
+const struct tinfo_fkeys _nc_tinfo_fkeys[] = {
+	{  139, KEY_A1           },	/* key_a1 */
+	{  140, KEY_A3           },	/* key_a3 */
+	{  141, KEY_B2           },	/* key_b2 */
+	{   55, KEY_BACKSPACE    },	/* key_backspace */
+	{  158, KEY_BEG          },	/* key_beg */
+	{  148, KEY_BTAB         },	/* key_btab */
+	{  142, KEY_C1           },	/* key_c1 */
+	{  143, KEY_C3           },	/* key_c3 */
+	{  159, KEY_CANCEL       },	/* key_cancel */
+	{   56, KEY_CATAB        },	/* key_catab */
+	{   57, KEY_CLEAR        },	/* key_clear */
+	{  160, KEY_CLOSE        },	/* key_close */
+	{  161, KEY_COMMAND      },	/* key_command */
+	{  162, KEY_COPY         },	/* key_copy */
+	{  163, KEY_CREATE       },	/* key_create */
+	{   58, KEY_CTAB         },	/* key_ctab */
+	{   59, KEY_DC           },	/* key_dc */
+	{   60, KEY_DL           },	/* key_dl */
+	{   61, KEY_DOWN         },	/* key_down */
+	{   62, KEY_EIC          },	/* key_eic */
+	{  164, KEY_END          },	/* key_end */
+	{  165, KEY_ENTER        },	/* key_enter */
+	{   63, KEY_EOL          },	/* key_eol */
+	{   64, KEY_EOS          },	/* key_eos */
+	{  166, KEY_EXIT         },	/* key_exit */
+	{   65, KEY_F(0)         },	/* key_f0 */
+	{   67, KEY_F(10)        },	/* key_f10 */
+	{  216, KEY_F(11)        },	/* key_f11 */
+	{  217, KEY_F(12)        },	/* key_f12 */
+	{  218, KEY_F(13)        },	/* key_f13 */
+	{  219, KEY_F(14)        },	/* key_f14 */
+	{  220, KEY_F(15)        },	/* key_f15 */
+	{  221, KEY_F(16)        },	/* key_f16 */
+	{  222, KEY_F(17)        },	/* key_f17 */
+	{  223, KEY_F(18)        },	/* key_f18 */
+	{  224, KEY_F(19)        },	/* key_f19 */
+	{   66, KEY_F(1)         },	/* key_f1 */
+	{  225, KEY_F(20)        },	/* key_f20 */
+	{  226, KEY_F(21)        },	/* key_f21 */
+	{  227, KEY_F(22)        },	/* key_f22 */
+	{  228, KEY_F(23)        },	/* key_f23 */
+	{  229, KEY_F(24)        },	/* key_f24 */
+	{  230, KEY_F(25)        },	/* key_f25 */
+	{  231, KEY_F(26)        },	/* key_f26 */
+	{  232, KEY_F(27)        },	/* key_f27 */
+	{  233, KEY_F(28)        },	/* key_f28 */
+	{  234, KEY_F(29)        },	/* key_f29 */
+	{   68, KEY_F(2)         },	/* key_f2 */
+	{  235, KEY_F(30)        },	/* key_f30 */
+	{  236, KEY_F(31)        },	/* key_f31 */
+	{  237, KEY_F(32)        },	/* key_f32 */
+	{  238, KEY_F(33)        },	/* key_f33 */
+	{  239, KEY_F(34)        },	/* key_f34 */
+	{  240, KEY_F(35)        },	/* key_f35 */
+	{  241, KEY_F(36)        },	/* key_f36 */
+	{  242, KEY_F(37)        },	/* key_f37 */
+	{  243, KEY_F(38)        },	/* key_f38 */
+	{  244, KEY_F(39)        },	/* key_f39 */
+	{   69, KEY_F(3)         },	/* key_f3 */
+	{  245, KEY_F(40)        },	/* key_f40 */
+	{  246, KEY_F(41)        },	/* key_f41 */
+	{  247, KEY_F(42)        },	/* key_f42 */
+	{  248, KEY_F(43)        },	/* key_f43 */
+	{  249, KEY_F(44)        },	/* key_f44 */
+	{  250, KEY_F(45)        },	/* key_f45 */
+	{  251, KEY_F(46)        },	/* key_f46 */
+	{  252, KEY_F(47)        },	/* key_f47 */
+	{  253, KEY_F(48)        },	/* key_f48 */
+	{  254, KEY_F(49)        },	/* key_f49 */
+	{   70, KEY_F(4)         },	/* key_f4 */
+	{  255, KEY_F(50)        },	/* key_f50 */
+	{  256, KEY_F(51)        },	/* key_f51 */
+	{  257, KEY_F(52)        },	/* key_f52 */
+	{  258, KEY_F(53)        },	/* key_f53 */
+	{  259, KEY_F(54)        },	/* key_f54 */
+	{  260, KEY_F(55)        },	/* key_f55 */
+	{  261, KEY_F(56)        },	/* key_f56 */
+	{  262, KEY_F(57)        },	/* key_f57 */
+	{  263, KEY_F(58)        },	/* key_f58 */
+	{  264, KEY_F(59)        },	/* key_f59 */
+	{   71, KEY_F(5)         },	/* key_f5 */
+	{  265, KEY_F(60)        },	/* key_f60 */
+	{  266, KEY_F(61)        },	/* key_f61 */
+	{  267, KEY_F(62)        },	/* key_f62 */
+	{  268, KEY_F(63)        },	/* key_f63 */
+	{   72, KEY_F(6)         },	/* key_f6 */
+	{   73, KEY_F(7)         },	/* key_f7 */
+	{   74, KEY_F(8)         },	/* key_f8 */
+	{   75, KEY_F(9)         },	/* key_f9 */
+	{  167, KEY_FIND         },	/* key_find */
+	{  168, KEY_HELP         },	/* key_help */
+	{   76, KEY_HOME         },	/* key_home */
+	{   77, KEY_IC           },	/* key_ic */
+	{   78, KEY_IL           },	/* key_il */
+	{   79, KEY_LEFT         },	/* key_left */
+	{   80, KEY_LL           },	/* key_ll */
+	{  169, KEY_MARK         },	/* key_mark */
+	{  170, KEY_MESSAGE      },	/* key_message */
+	{  355, KEY_MOUSE        },	/* key_mouse */
+	{  171, KEY_MOVE         },	/* key_move */
+	{  172, KEY_NEXT         },	/* key_next */
+	{   81, KEY_NPAGE        },	/* key_npage */
+	{  173, KEY_OPEN         },	/* key_open */
+	{  174, KEY_OPTIONS      },	/* key_options */
+	{   82, KEY_PPAGE        },	/* key_ppage */
+	{  175, KEY_PREVIOUS     },	/* key_previous */
+	{  176, KEY_PRINT        },	/* key_print */
+	{  177, KEY_REDO         },	/* key_redo */
+	{  178, KEY_REFERENCE    },	/* key_reference */
+	{  179, KEY_REFRESH      },	/* key_refresh */
+	{  180, KEY_REPLACE      },	/* key_replace */
+	{  181, KEY_RESTART      },	/* key_restart */
+	{  182, KEY_RESUME       },	/* key_resume */
+	{   83, KEY_RIGHT        },	/* key_right */
+	{  183, KEY_SAVE         },	/* key_save */
+	{  186, KEY_SBEG         },	/* key_sbeg */
+	{  187, KEY_SCANCEL      },	/* key_scancel */
+	{  188, KEY_SCOMMAND     },	/* key_scommand */
+	{  189, KEY_SCOPY        },	/* key_scopy */
+	{  190, KEY_SCREATE      },	/* key_screate */
+	{  191, KEY_SDC          },	/* key_sdc */
+	{  192, KEY_SDL          },	/* key_sdl */
+	{  193, KEY_SELECT       },	/* key_select */
+	{  194, KEY_SEND         },	/* key_send */
+	{  195, KEY_SEOL         },	/* key_seol */
+	{  196, KEY_SEXIT        },	/* key_sexit */
+	{  197, KEY_SFIND        },	/* key_sfind */
+	{   84, KEY_SF           },	/* key_sf */
+	{  198, KEY_SHELP        },	/* key_shelp */
+	{  199, KEY_SHOME        },	/* key_shome */
+	{  200, KEY_SIC          },	/* key_sic */
+	{  201, KEY_SLEFT        },	/* key_sleft */
+	{  202, KEY_SMESSAGE     },	/* key_smessage */
+	{  203, KEY_SMOVE        },	/* key_smove */
+	{  204, KEY_SNEXT        },	/* key_snext */
+	{  205, KEY_SOPTIONS     },	/* key_soptions */
+	{  206, KEY_SPREVIOUS    },	/* key_sprevious */
+	{  207, KEY_SPRINT       },	/* key_sprint */
+	{  208, KEY_SREDO        },	/* key_sredo */
+	{  209, KEY_SREPLACE     },	/* key_sreplace */
+	{  210, KEY_SRIGHT       },	/* key_sright */
+	{   85, KEY_SR           },	/* key_sr */
+	{  211, KEY_SRSUME       },	/* key_srsume */
+	{  212, KEY_SSAVE        },	/* key_ssave */
+	{  213, KEY_SSUSPEND     },	/* key_ssuspend */
+	{   86, KEY_STAB         },	/* key_stab */
+	{  214, KEY_SUNDO        },	/* key_sundo */
+	{  184, KEY_SUSPEND      },	/* key_suspend */
+	{  185, KEY_UNDO         },	/* key_undo */
+	{   87, KEY_UP           },	/* key_up */
+	{ 0, 0} };
+
+#endif /* NCU_KEYS_H */
diff --git a/ncurses/keys.list b/ncurses/keys.list
new file mode 100644
index 0000000..1bca98f
--- /dev/null
+++ b/ncurses/keys.list
@@ -0,0 +1,155 @@
+KEY_A1	key_a1
+KEY_A3	key_a3
+KEY_B2	key_b2
+KEY_BACKSPACE	key_backspace
+KEY_BEG	key_beg
+KEY_BREAK
+KEY_BTAB	key_btab
+KEY_C1	key_c1
+KEY_C3	key_c3
+KEY_CANCEL	key_cancel
+KEY_CATAB	key_catab
+KEY_CLEAR	key_clear
+KEY_CLOSE	key_close
+KEY_COMMAND	key_command
+KEY_COPY	key_copy
+KEY_CREATE	key_create
+KEY_CTAB	key_ctab
+KEY_DC	key_dc
+KEY_DL	key_dl
+KEY_DOWN	key_down
+KEY_EIC	key_eic
+KEY_END	key_end
+KEY_ENTER	key_enter
+KEY_EOL	key_eol
+KEY_EOS	key_eos
+KEY_EXIT	key_exit
+KEY_F(0)	key_f0
+KEY_F(10)	key_f10
+KEY_F(11)	key_f11
+KEY_F(12)	key_f12
+KEY_F(13)	key_f13
+KEY_F(14)	key_f14
+KEY_F(15)	key_f15
+KEY_F(16)	key_f16
+KEY_F(17)	key_f17
+KEY_F(18)	key_f18
+KEY_F(19)	key_f19
+KEY_F(1)	key_f1
+KEY_F(20)	key_f20
+KEY_F(21)	key_f21
+KEY_F(22)	key_f22
+KEY_F(23)	key_f23
+KEY_F(24)	key_f24
+KEY_F(25)	key_f25
+KEY_F(26)	key_f26
+KEY_F(27)	key_f27
+KEY_F(28)	key_f28
+KEY_F(29)	key_f29
+KEY_F(2)	key_f2
+KEY_F(30)	key_f30
+KEY_F(31)	key_f31
+KEY_F(32)	key_f32
+KEY_F(33)	key_f33
+KEY_F(34)	key_f34
+KEY_F(35)	key_f35
+KEY_F(36)	key_f36
+KEY_F(37)	key_f37
+KEY_F(38)	key_f38
+KEY_F(39)	key_f39
+KEY_F(3)	key_f3
+KEY_F(40)	key_f40
+KEY_F(41)	key_f41
+KEY_F(42)	key_f42
+KEY_F(43)	key_f43
+KEY_F(44)	key_f44
+KEY_F(45)	key_f45
+KEY_F(46)	key_f46
+KEY_F(47)	key_f47
+KEY_F(48)	key_f48
+KEY_F(49)	key_f49
+KEY_F(4)	key_f4
+KEY_F(50)	key_f50
+KEY_F(51)	key_f51
+KEY_F(52)	key_f52
+KEY_F(53)	key_f53
+KEY_F(54)	key_f54
+KEY_F(55)	key_f55
+KEY_F(56)	key_f56
+KEY_F(57)	key_f57
+KEY_F(58)	key_f58
+KEY_F(59)	key_f59
+KEY_F(5)	key_f5
+KEY_F(60)	key_f60
+KEY_F(61)	key_f61
+KEY_F(62)	key_f62
+KEY_F(63)	key_f63
+KEY_F(6)	key_f6
+KEY_F(7)	key_f7
+KEY_F(8)	key_f8
+KEY_F(9)	key_f9
+KEY_FIND	key_find
+KEY_HELP	key_help
+KEY_HOME	key_home
+KEY_IC	key_ic
+KEY_IL	key_il
+KEY_LEFT	key_left
+KEY_LL	key_ll
+KEY_MARK	key_mark
+KEY_MESSAGE	key_message
+KEY_MOUSE	key_mouse
+KEY_MOVE	key_move
+KEY_NEXT	key_next
+KEY_NPAGE	key_npage
+KEY_OPEN	key_open
+KEY_OPTIONS	key_options
+KEY_PPAGE	key_ppage
+KEY_PREVIOUS	key_previous
+KEY_PRINT	key_print
+KEY_REDO	key_redo
+KEY_REFERENCE	key_reference
+KEY_REFRESH	key_refresh
+KEY_REPLACE	key_replace
+KEY_RESET
+KEY_RESIZE
+KEY_RESTART	key_restart
+KEY_RESUME	key_resume
+KEY_RIGHT	key_right
+KEY_SAVE	key_save
+KEY_SBEG	key_sbeg
+KEY_SCANCEL	key_scancel
+KEY_SCOMMAND	key_scommand
+KEY_SCOPY	key_scopy
+KEY_SCREATE	key_screate
+KEY_SDC	key_sdc
+KEY_SDL	key_sdl
+KEY_SELECT	key_select
+KEY_SEND	key_send
+KEY_SEOL	key_seol
+KEY_SEXIT	key_sexit
+KEY_SFIND	key_sfind
+KEY_SF	key_sf
+KEY_SHELP	key_shelp
+KEY_SHOME	key_shome
+KEY_SIC	key_sic
+KEY_SLEFT	key_sleft
+KEY_SMESSAGE	key_smessage
+KEY_SMOVE	key_smove
+KEY_SNEXT	key_snext
+KEY_SOPTIONS	key_soptions
+KEY_SPREVIOUS	key_sprevious
+KEY_SPRINT	key_sprint
+KEY_SREDO	key_sredo
+KEY_SREPLACE	key_sreplace
+KEY_SRESET
+KEY_SRIGHT	key_sright
+KEY_SR	key_sr
+KEY_SRSUME	key_srsume
+KEY_SSAVE	key_ssave
+KEY_SSUSPEND	key_ssuspend
+KEY_STAB	key_stab
+KEY_SUNDO	key_sundo
+KEY_SUSPEND	key_suspend
+KEY_UNDO	key_undo
+KEY_UP	key_up
+# These definitions were generated by ./tinfo/MKkeys_list.sh ../include/Caps
diff --git a/ncurses/lib_gen.c b/ncurses/lib_gen.c
new file mode 100644
index 0000000..b06cdb8
--- /dev/null
+++ b/ncurses/lib_gen.c
@@ -0,0 +1,864 @@
+/*
+ * DO NOT EDIT THIS FILE BY HAND!
+ * It is generated by ./base/MKlib_gen.sh generated.
+ *
+ * This is a file of trivial functions generated from macro
+ * definitions in curses.h to satisfy the XSI Curses requirement
+ * that every macro also exist as a callable function.
+ *
+ * It will never be linked unless you call one of the entry
+ * points with its normal macro definition disabled. In that
+ * case, if you have no shared libraries, it will indirectly
+ * pull most of the rest of the library into your link image.
+ */
+#define NCURSES_ATTR_T int
+#include <ncurses_cfg.h>
+
+#undef NCURSES_NOMACROS /* _this_ file uses macros */
+
+#include <curses.priv.h>
+
+#undef vw_scanw
+#undef vwscanw
+
+#undef vw_printw
+#undef vwprintw
+
+NCURSES_EXPORT(int) (addch) (const chtype z)
+{
+	T((T_CALLED("addch(%s)"), _tracechtype2(0,z))); returnCode(waddch(stdscr,(z)));
+}
+
+
+NCURSES_EXPORT(int) (addchnstr) (const chtype * a1, int z)
+{
+	T((T_CALLED("addchnstr(%p,%d)"), (const void *)a1, z)); returnCode(waddchnstr(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (addchstr) (const chtype * z)
+{
+	T((T_CALLED("addchstr(%p)"), (const void *)z)); returnCode(waddchnstr(stdscr,(z),-1));
+}
+
+
+NCURSES_EXPORT(int) (addnstr) (const char * a1, int z)
+{
+	T((T_CALLED("addnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(waddnstr(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (addstr) (const char * z)
+{
+	T((T_CALLED("addstr(%s)"), _nc_visbuf2(0,z))); returnCode(waddnstr(stdscr,(z),-1));
+}
+
+
+NCURSES_EXPORT(int) (attroff) (int z)
+{
+	T((T_CALLED("attroff(%s)"), _traceattr2(0,(chtype)z))); returnCode(wattr_off(stdscr, (attr_t)((z)), ((void*)0)));
+}
+
+
+NCURSES_EXPORT(int) (attron) (int z)
+{
+	T((T_CALLED("attron(%s)"), _traceattr2(0,(chtype)z))); returnCode(wattr_on(stdscr, (attr_t)((z)), ((void*)0)));
+}
+
+
+NCURSES_EXPORT(int) (attrset) (int z)
+{
+	T((T_CALLED("attrset(%s)"), _traceattr2(0,(chtype)z))); returnIntAttr((attr_t)((stdscr) ? ((stdscr)->_attrs = (attr_t)((z)), (0)) : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (attr_get) (attr_t * a1, short * a2, void * z)
+{
+	T((T_CALLED("attr_get(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z)); returnCode(((void)((((a1)) != (void *)0) ? (*((a1)) = (stdscr) ? (stdscr)->_attrs : 0) : (0)), (void)((((a2)) != (void *)0) ? (*((a2)) = (short) ((stdscr) ? ((int)((((unsigned long)(((stdscr)->_attrs)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) : 0)) : (0)), (0)));
+}
+
+
+NCURSES_EXPORT(int) (attr_off) (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(wattr_off(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (attr_on) (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(wattr_on(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (attr_set) (attr_t a1, short a2, void * z)
+{
+	T((T_CALLED("attr_set(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z)); returnCode((((stdscr) ? ((stdscr)->_attrs = ((((a1)) & ~((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) | (attr_t)((chtype)((((a2)))) << ((0) + 8)))) : (0)), (0)));
+}
+
+
+NCURSES_EXPORT(int) (bkgd) (chtype z)
+{
+	T((T_CALLED("bkgd(%s)"), _tracechtype2(0,z))); returnCode(wbkgd(stdscr,(z)));
+}
+
+
+NCURSES_EXPORT(void) (bkgdset) (chtype z)
+{
+	T((T_CALLED("bkgdset(%s)"), _tracechtype2(0,z))); wbkgdset(stdscr,(z));
+	returnVoid;
+}
+
+
+NCURSES_EXPORT(int) (border) (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z)
+{
+	T((T_CALLED("border(%s,%s,%s,%s,%s,%s,%s,%s)"), _tracechtype2(0,a1), _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,z))); returnCode(wborder(stdscr, a1, a2, a3, a4, a5, a6, a7, z));
+}
+
+
+NCURSES_EXPORT(int) (box) (WINDOW * a1, chtype a2, chtype z)
+{
+	T((T_CALLED("box(%p,%s,%s)"), (const void *)a1, _tracechtype2(1,a2), _tracechtype2(2,z))); returnCode(wborder(a1, a2, a2, z, z, 0, 0, 0, 0));
+}
+
+
+NCURSES_EXPORT(int) (chgat) (int a1, attr_t a2, short a3, const void * z)
+{
+	T((T_CALLED("chgat(%d,%s,%#lx,%p)"), a1, _traceattr2(1,a2), (long)a3, (const void *)z)); returnCode(wchgat(stdscr,(a1),(a2),(a3),(z)));
+}
+
+
+NCURSES_EXPORT(int) (clear) (void)
+{
+	T((T_CALLED("clear()"))); returnCode(wclear(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (clrtobot) (void)
+{
+	T((T_CALLED("clrtobot()"))); returnCode(wclrtobot(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (clrtoeol) (void)
+{
+	T((T_CALLED("clrtoeol()"))); returnCode(wclrtoeol(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (color_set) (short a1, void * z)
+{
+	T((T_CALLED("color_set(%#lx,%p)"), (long)a1, (const void *)z)); returnCode(wcolor_set(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (COLOR_PAIR) (int z)
+{
+	T((T_CALLED("COLOR_PAIR(%d)"), z)); returnCode(((chtype)(((z))) << ((0) + 8)));
+}
+
+
+NCURSES_EXPORT(int) (delch) (void)
+{
+	T((T_CALLED("delch()"))); returnCode(wdelch(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (deleteln) (void)
+{
+	T((T_CALLED("deleteln()"))); returnCode(winsdelln(stdscr,-1));
+}
+
+
+NCURSES_EXPORT(int) (echochar) (const chtype z)
+{
+	T((T_CALLED("echochar(%s)"), _tracechtype2(0,z))); returnCode(wechochar(stdscr,(z)));
+}
+
+
+NCURSES_EXPORT(int) (erase) (void)
+{
+	T((T_CALLED("erase()"))); returnCode(werase(stdscr));
+}
+
+
+NCURSES_EXPORT(chtype) (getbkgd) (WINDOW * z)
+{
+	T((T_CALLED("getbkgd(%p)"), (const void *)z)); returnChtype(((z) ? ((z)->_bkgd) : 0));
+}
+
+
+NCURSES_EXPORT(int) (getch) (void)
+{
+	T((T_CALLED("getch()"))); returnCode(wgetch(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (getnstr) (char * a1, int z)
+{
+	T((T_CALLED("getnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(wgetnstr(stdscr, a1, (z)));
+}
+
+
+NCURSES_EXPORT(int) (getstr) (char * z)
+{
+	T((T_CALLED("getstr(%s)"), _nc_visbuf2(0,z))); returnCode(wgetnstr(stdscr, (z), -1));
+}
+
+
+NCURSES_EXPORT(int) (hline) (chtype a1, int z)
+{
+	T((T_CALLED("hline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(whline(stdscr, a1, (z)));
+}
+
+
+NCURSES_EXPORT(chtype) (inch) (void)
+{
+	T((T_CALLED("inch()"))); returnChtype(winch(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (inchnstr) (chtype * a1, int z)
+{
+	T((T_CALLED("inchnstr(%p,%d)"), (const void *)a1, z)); returnCode(winchnstr(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (inchstr) (chtype * z)
+{
+	T((T_CALLED("inchstr(%p)"), (const void *)z)); returnCode(winchnstr(stdscr, (z), -1));
+}
+
+
+NCURSES_EXPORT(int) (innstr) (char * a1, int z)
+{
+	return winnstr(stdscr,(a1),(z)) ;
+}
+
+
+NCURSES_EXPORT(int) (insch) (chtype z)
+{
+	T((T_CALLED("insch(%s)"), _tracechtype2(0,z))); returnCode(winsch(stdscr,(z)));
+}
+
+
+NCURSES_EXPORT(int) (insdelln) (int z)
+{
+	T((T_CALLED("insdelln(%d)"), z)); returnCode(winsdelln(stdscr,(z)));
+}
+
+
+NCURSES_EXPORT(int) (insertln) (void)
+{
+	T((T_CALLED("insertln()"))); returnCode(winsdelln(stdscr,1));
+}
+
+
+NCURSES_EXPORT(int) (insnstr) (const char * a1, int z)
+{
+	T((T_CALLED("insnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(winsnstr(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (insstr) (const char * z)
+{
+	T((T_CALLED("insstr(%s)"), _nc_visbuf2(0,z))); returnCode(winsnstr(stdscr, (z), -1));
+}
+
+
+NCURSES_EXPORT(int) (instr) (char * z)
+{
+	T((T_CALLED("instr(%s)"), _nc_visbuf2(0,z))); returnCode(winnstr(stdscr, (z), -1));
+}
+
+
+NCURSES_EXPORT(int) (move) (int a1, int z)
+{
+	T((T_CALLED("move(%d,%d)"), a1, z)); returnCode(wmove(stdscr,(a1),(z)));
+}
+
+
+NCURSES_EXPORT(int) (mvaddch) (int a1, int a2, const chtype z)
+{
+	T((T_CALLED("mvaddch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddch((stdscr),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvaddchnstr) (int a1, int a2, const chtype * a3, int z)
+{
+	T((T_CALLED("mvaddchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddchnstr((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvaddchstr) (int a1, int a2, const chtype * z)
+{
+	T((T_CALLED("mvaddchstr(%d,%d,%p)"), a1, a2, (const void *)z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddchnstr((stdscr),((z)),-1)));
+}
+
+
+NCURSES_EXPORT(int) (mvaddnstr) (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvaddnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddnstr((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvaddstr) (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvaddstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddnstr((stdscr),((z)),-1)));
+}
+
+
+NCURSES_EXPORT(int) (mvchgat) (int a1, int a2, int a3, attr_t a4, short a5, const void * z)
+{
+	T((T_CALLED("mvchgat(%d,%d,%d,%s,%#lx,%p)"), a1, a2, a3, _traceattr2(3,a4), (long)a5, (const void *)z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wchgat((stdscr),((a3)),((a4)),((a5)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvdelch) (int a1, int z)
+{
+	T((T_CALLED("mvdelch(%d,%d)"), a1, z)); returnCode((wmove((stdscr),((a1)),((z))) == (-1) ? (-1) : wdelch(stdscr)));
+}
+
+
+NCURSES_EXPORT(int) (mvgetch) (int a1, int z)
+{
+	T((T_CALLED("mvgetch(%d,%d)"), a1, z)); returnCode((wmove((stdscr),((a1)),((z))) == (-1) ? (-1) : wgetch(stdscr)));
+}
+
+
+NCURSES_EXPORT(int) (mvgetnstr) (int a1, int a2, char * a3, int z)
+{
+	T((T_CALLED("mvgetnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wgetnstr((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvgetstr) (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvgetstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wgetnstr((stdscr), ((z)), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvhline) (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvhline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : whline((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(chtype) (mvinch) (int a1, int z)
+{
+	T((T_CALLED("mvinch(%d,%d)"), a1, z)); returnChtype((wmove((stdscr),((a1)),((z))) == (-1) ? (chtype)((-1)) : winch(stdscr)));
+}
+
+
+NCURSES_EXPORT(int) (mvinchnstr) (int a1, int a2, chtype * a3, int z)
+{
+	T((T_CALLED("mvinchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winchnstr((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvinchstr) (int a1, int a2, chtype * z)
+{
+	T((T_CALLED("mvinchstr(%d,%d,%p)"), a1, a2, (const void *)z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winchnstr((stdscr), ((z)), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvinnstr) (int a1, int a2, char * a3, int z)
+{
+	return (wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winnstr((stdscr),((a3)),((z)))) ;
+}
+
+
+NCURSES_EXPORT(int) (mvinsch) (int a1, int a2, chtype z)
+{
+	T((T_CALLED("mvinsch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsch((stdscr),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvinsnstr) (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvinsnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsnstr((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvinsstr) (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvinsstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsnstr((stdscr), ((z)), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvinstr) (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvinstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winnstr((stdscr), ((z)), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvvline) (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvvline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wvline((stdscr),((a3)),((z)))));
+}
+
+
+NCURSES_EXPORT(int) (mvwaddch) (WINDOW * a1, int a2, int a3, const chtype z)
+{
+	T((T_CALLED("mvwaddch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddch((a1),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwaddchnstr) (WINDOW * a1, int a2, int a3, const chtype * a4, int z)
+{
+	T((T_CALLED("mvwaddchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddchnstr((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwaddchstr) (WINDOW * a1, int a2, int a3, const chtype * z)
+{
+	T((T_CALLED("mvwaddchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddchnstr((a1),(z),-1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwaddnstr) (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwaddnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddnstr((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwaddstr) (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwaddstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddnstr((a1),(z),-1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwchgat) (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z)
+{
+	T((T_CALLED("mvwchgat(%p,%d,%d,%d,%s,%#lx,%p)"), (const void *)a1, a2, a3, a4, _traceattr2(4,a5), (long)a6, (const void *)z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wchgat((a1),(a4),(a5),(a6),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwdelch) (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwdelch(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode((wmove((a1),(a2),(z)) == (-1) ? (-1) : wdelch(a1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwgetch) (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwgetch(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode((wmove((a1),(a2),(z)) == (-1) ? (-1) : wgetch(a1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwgetnstr) (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	T((T_CALLED("mvwgetnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wgetnstr((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwgetstr) (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwgetstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wgetnstr((a1), (z), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwhline) (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwhline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : whline((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(chtype) (mvwinch) (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwinch(%p,%d,%d)"), (const void *)a1, a2, z)); returnChtype((wmove((a1),(a2),(z)) == (-1) ? (chtype)((-1)) : winch(a1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwinchnstr) (WINDOW * a1, int a2, int a3, chtype * a4, int z)
+{
+	T((T_CALLED("mvwinchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winchnstr((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwinchstr) (WINDOW * a1, int a2, int a3, chtype * z)
+{
+	T((T_CALLED("mvwinchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winchnstr((a1), (z), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwinnstr) (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	return (wmove((a1),(a2),(a3)) == (-1) ? (-1) : winnstr((a1),(a4),(z))) ;
+}
+
+
+NCURSES_EXPORT(int) (mvwinsch) (WINDOW * a1, int a2, int a3, chtype z)
+{
+	T((T_CALLED("mvwinsch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsch((a1),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwinsnstr) (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwinsnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsnstr((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(int) (mvwinsstr) (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwinsstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsnstr((a1), (z), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwinstr) (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwinstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winnstr((a1), (z), -1)));
+}
+
+
+NCURSES_EXPORT(int) (mvwvline) (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwvline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wvline((a1),(a4),(z))));
+}
+
+
+NCURSES_EXPORT(int) (PAIR_NUMBER) (int z)
+{
+	T((T_CALLED("PAIR_NUMBER(%d)"), z)); returnCode(((int)((((unsigned long)((z)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))));
+}
+
+
+NCURSES_EXPORT(int) (redrawwin) (WINDOW * z)
+{
+	T((T_CALLED("redrawwin(%p)"), (const void *)z)); returnCode(wredrawln(z, 0, ((z) ? (z)->_maxy+1 : -1)));
+}
+
+
+NCURSES_EXPORT(int) (refresh) (void)
+{
+	T((T_CALLED("refresh()"))); returnCode(wrefresh(stdscr));
+}
+
+
+NCURSES_EXPORT(int) (scrl) (int z)
+{
+	T((T_CALLED("scrl(%d)"), z)); returnCode(wscrl(stdscr,(z)));
+}
+
+
+NCURSES_EXPORT(int) (scroll) (WINDOW * z)
+{
+	T((T_CALLED("scroll(%p)"), (const void *)z)); returnCode(wscrl(z,1));
+}
+
+
+NCURSES_EXPORT(int) (setscrreg) (int a1, int z)
+{
+	T((T_CALLED("setscrreg(%d,%d)"), a1, z)); returnCode(wsetscrreg(stdscr,(a1),(z)));
+}
+
+
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) (slk_attr_off) (const attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(((z) ? (-1) : slk_attroff(a1)));
+}
+#endif
+
+
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) (slk_attr_on) (attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(((z) ? (-1) : slk_attron(a1)));
+}
+#endif
+
+
+NCURSES_EXPORT(int) (standout) (void)
+{
+	T((T_CALLED("standout()"))); returnIntAttr((attr_t)(((stdscr) ? ((stdscr)->_attrs = (attr_t)(((chtype)((1U)) << ((8) + 8))), (0)) : (-1))));
+}
+
+
+NCURSES_EXPORT(int) (standend) (void)
+{
+	T((T_CALLED("standend()"))); returnIntAttr((attr_t)(((stdscr) ? ((stdscr)->_attrs = (attr_t)((1U - 1U)), (0)) : (-1))));
+}
+
+
+NCURSES_EXPORT(void) (timeout) (int z)
+{
+	T((T_CALLED("timeout(%d)"), z)); wtimeout(stdscr,(z));
+	returnVoid;
+}
+
+
+NCURSES_EXPORT(int) (touchline) (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("touchline(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(wtouchln((a1), a2, z, 1));
+}
+
+
+NCURSES_EXPORT(int) (touchwin) (WINDOW * z)
+{
+	T((T_CALLED("touchwin(%p)"), (const void *)z)); returnCode(wtouchln((z), 0, ((z) ? ((z)->_maxy + 1) : (-1)), 1));
+}
+
+
+NCURSES_EXPORT(int) (untouchwin) (WINDOW * z)
+{
+	T((T_CALLED("untouchwin(%p)"), (const void *)z)); returnCode(wtouchln((z), 0, ((z) ? ((z)->_maxy + 1) : (-1)), 0));
+}
+
+
+NCURSES_EXPORT(int) (vline) (chtype a1, int z)
+{
+	T((T_CALLED("vline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(wvline(stdscr, a1, (z)));
+}
+
+
+NCURSES_EXPORT(int) (vw_printw) (WINDOW * a1, const char * a2, va_list z)
+{
+	T((T_CALLED("vw_printw(%p,%s,%s)"), (const void *)a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwprintw(a1, a2, z));
+}
+
+
+NCURSES_EXPORT(int) (vw_scanw) (WINDOW * a1, const char * a2, va_list z)
+{
+	T((T_CALLED("vw_scanw(%p,%s,%s)"), (const void *)a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwscanw(a1, a2, z));
+}
+
+
+NCURSES_EXPORT(int) (waddchstr) (WINDOW * a1, const chtype * z)
+{
+	T((T_CALLED("waddchstr(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(waddchnstr(a1,z,-1));
+}
+
+
+NCURSES_EXPORT(int) (waddstr) (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("waddstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(waddnstr(a1,z,-1));
+}
+
+
+NCURSES_EXPORT(int) (wattron) (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattron(%p,%d)"), (const void *)a1, z)); returnCode(wattr_on(a1, (attr_t)(z), ((void*)0)));
+}
+
+
+NCURSES_EXPORT(int) (wattroff) (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattroff(%p,%d)"), (const void *)a1, z)); returnCode(wattr_off(a1, (attr_t)(z), ((void*)0)));
+}
+
+
+NCURSES_EXPORT(int) (wattrset) (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattrset(%p,%d)"), (const void *)a1, z)); returnIntAttr((attr_t)((a1) ? ((a1)->_attrs = (attr_t)(z), (0)) : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (wattr_get) (WINDOW * a1, attr_t * a2, short * a3, void * z)
+{
+	T((T_CALLED("wattr_get(%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)z)); returnCode(((void)(((a2) != (void *)0) ? (*(a2) = (a1) ? (a1)->_attrs : 0) : (0)), (void)(((a3) != (void *)0) ? (*(a3) = (short) ((a1) ? ((int)((((unsigned long)(((a1)->_attrs)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) : 0)) : (0)), (0)));
+}
+
+
+NCURSES_EXPORT(int) (wattr_set) (WINDOW * a1, attr_t a2, short a3, void * z)
+{
+	T((T_CALLED("wattr_set(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z)); returnCode((((a1) ? ((a1)->_attrs = (((a2) & ~((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) | (attr_t)((chtype)(((a3))) << ((0) + 8)))) : (0)), (0)));
+}
+
+
+NCURSES_EXPORT(int) (wdeleteln) (WINDOW * z)
+{
+	T((T_CALLED("wdeleteln(%p)"), (const void *)z)); returnCode(winsdelln(z,-1));
+}
+
+
+NCURSES_EXPORT(int) (wgetstr) (WINDOW * a1, char * z)
+{
+	T((T_CALLED("wgetstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(wgetnstr(a1, z, -1));
+}
+
+
+NCURSES_EXPORT(int) (winchstr) (WINDOW * a1, chtype * z)
+{
+	T((T_CALLED("winchstr(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(winchnstr(a1, z, -1));
+}
+
+
+NCURSES_EXPORT(int) (winsertln) (WINDOW * z)
+{
+	T((T_CALLED("winsertln(%p)"), (const void *)z)); returnCode(winsdelln(z,1));
+}
+
+
+NCURSES_EXPORT(int) (winsstr) (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("winsstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(winsnstr(a1, z, -1));
+}
+
+
+NCURSES_EXPORT(int) (winstr) (WINDOW * a1, char * z)
+{
+	T((T_CALLED("winstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(winnstr(a1, z, -1));
+}
+
+
+NCURSES_EXPORT(int) (wstandout) (WINDOW * z)
+{
+	T((T_CALLED("wstandout(%p)"), (const void *)z)); returnIntAttr((attr_t)(((z) ? ((z)->_attrs = (attr_t)(((chtype)((1U)) << ((8) + 8))), (0)) : (-1))));
+}
+
+
+NCURSES_EXPORT(int) (wstandend) (WINDOW * z)
+{
+	T((T_CALLED("wstandend(%p)"), (const void *)z)); returnIntAttr((attr_t)(((z) ? ((z)->_attrs = (attr_t)((1U - 1U)), (0)) : (-1))));
+}
+
+
+NCURSES_EXPORT(int) (getattrs) (const WINDOW * z)
+{
+	T((T_CALLED("getattrs(%p)"), (const void *)z)); returnCode((int)((z) ? (z)->_attrs : (1U - 1U)));
+}
+
+
+NCURSES_EXPORT(int) (getcurx) (const WINDOW * z)
+{
+	T((T_CALLED("getcurx(%p)"), (const void *)z)); returnCode(((z) ? (z)->_curx : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getcury) (const WINDOW * z)
+{
+	T((T_CALLED("getcury(%p)"), (const void *)z)); returnCode(((z) ? (z)->_cury : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getbegx) (const WINDOW * z)
+{
+	T((T_CALLED("getbegx(%p)"), (const void *)z)); returnCode(((z) ? (z)->_begx : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getbegy) (const WINDOW * z)
+{
+	T((T_CALLED("getbegy(%p)"), (const void *)z)); returnCode(((z) ? (z)->_begy : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getmaxx) (const WINDOW * z)
+{
+	T((T_CALLED("getmaxx(%p)"), (const void *)z)); returnCode(((z) ? ((z)->_maxx + 1) : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getmaxy) (const WINDOW * z)
+{
+	T((T_CALLED("getmaxy(%p)"), (const void *)z)); returnCode(((z) ? ((z)->_maxy + 1) : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getparx) (const WINDOW * z)
+{
+	T((T_CALLED("getparx(%p)"), (const void *)z)); returnCode(((z) ? (z)->_parx : (-1)));
+}
+
+
+NCURSES_EXPORT(int) (getpary) (const WINDOW * z)
+{
+	T((T_CALLED("getpary(%p)"), (const void *)z)); returnCode(((z) ? (z)->_pary : (-1)));
+}
+
+
+NCURSES_EXPORT(WINDOW *) (wgetparent) (const WINDOW * z)
+{
+	T((T_CALLED("wgetparent(%p)"), (const void *)z)); returnWin(((z) ? (z)->_parent : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_cleared) (const WINDOW * z)
+{
+	T((T_CALLED("is_cleared(%p)"), (const void *)z)); returnBool(((z) ? (z)->_clear : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_idcok) (const WINDOW * z)
+{
+	T((T_CALLED("is_idcok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_idcok : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_idlok) (const WINDOW * z)
+{
+	T((T_CALLED("is_idlok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_idlok : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_immedok) (const WINDOW * z)
+{
+	T((T_CALLED("is_immedok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_immed : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_keypad) (const WINDOW * z)
+{
+	T((T_CALLED("is_keypad(%p)"), (const void *)z)); returnBool(((z) ? (z)->_use_keypad : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_leaveok) (const WINDOW * z)
+{
+	T((T_CALLED("is_leaveok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_leaveok : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_nodelay) (const WINDOW * z)
+{
+	T((T_CALLED("is_nodelay(%p)"), (const void *)z)); returnBool(((z) ? ((z)->_delay == 0) : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_notimeout) (const WINDOW * z)
+{
+	T((T_CALLED("is_notimeout(%p)"), (const void *)z)); returnBool(((z) ? (z)->_notimeout : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_pad) (const WINDOW * z)
+{
+	T((T_CALLED("is_pad(%p)"), (const void *)z)); returnBool(((z) ? ((z)->_flags & 0x10) != 0 : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_scrollok) (const WINDOW * z)
+{
+	T((T_CALLED("is_scrollok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_scroll : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_subwin) (const WINDOW * z)
+{
+	T((T_CALLED("is_subwin(%p)"), (const void *)z)); returnBool(((z) ? ((z)->_flags & 0x01) != 0 : 0));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (is_syncok) (const WINDOW * z)
+{
+	T((T_CALLED("is_syncok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_sync : 0));
+}
+
+
+NCURSES_EXPORT(int) (wgetdelay) (const WINDOW * z)
+{
+	T((T_CALLED("wgetdelay(%p)"), (const void *)z)); returnCode(((z) ? (z)->_delay : 0));
+}
+
+
+NCURSES_EXPORT(int) (wgetscrreg) (const WINDOW * a1, int * a2, int * z)
+{
+	T((T_CALLED("wgetscrreg(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z)); returnCode(((a1) ? (*(a2) = (a1)->_regtop, *(z) = (a1)->_regbottom, (0)) : (-1)));
+}
+
+
+NCURSES_EXPORT(NCURSES_BOOL) (mouse_trafo) (int * a1, int * a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("mouse_trafo(%p,%p,%#lx)"), (const void *)a1, (const void *)a2, (long)z)); returnBool(wmouse_trafo(stdscr,a1,a2,z));
+}
diff --git a/ncurses/lib_keyname.c b/ncurses/lib_keyname.c
new file mode 100644
index 0000000..7e1eb25
--- /dev/null
+++ b/ncurses/lib_keyname.c
@@ -0,0 +1,422 @@
+/* generated by MKkeyname.awk */
+
+#include <curses.priv.h>
+#include <tic.h>
+
+struct kn { short offset; int code; };
+static const struct kn _nc_key_names[] = {
+	{ 0, KEY_A1 },
+	{ 7, KEY_A3 },
+	{ 14, KEY_B2 },
+	{ 21, KEY_BACKSPACE },
+	{ 35, KEY_BEG },
+	{ 43, KEY_BREAK },
+	{ 53, KEY_BTAB },
+	{ 62, KEY_C1 },
+	{ 69, KEY_C3 },
+	{ 76, KEY_CANCEL },
+	{ 87, KEY_CATAB },
+	{ 97, KEY_CLEAR },
+	{ 107, KEY_CLOSE },
+	{ 117, KEY_COMMAND },
+	{ 129, KEY_COPY },
+	{ 138, KEY_CREATE },
+	{ 149, KEY_CTAB },
+	{ 158, KEY_DC },
+	{ 165, KEY_DL },
+	{ 172, KEY_DOWN },
+	{ 181, KEY_EIC },
+	{ 189, KEY_END },
+	{ 197, KEY_ENTER },
+	{ 207, KEY_EOL },
+	{ 215, KEY_EOS },
+	{ 223, KEY_EXIT },
+	{ 232, KEY_F(0) },
+	{ 241, KEY_F(10) },
+	{ 251, KEY_F(11) },
+	{ 261, KEY_F(12) },
+	{ 271, KEY_F(13) },
+	{ 281, KEY_F(14) },
+	{ 291, KEY_F(15) },
+	{ 301, KEY_F(16) },
+	{ 311, KEY_F(17) },
+	{ 321, KEY_F(18) },
+	{ 331, KEY_F(19) },
+	{ 341, KEY_F(1) },
+	{ 350, KEY_F(20) },
+	{ 360, KEY_F(21) },
+	{ 370, KEY_F(22) },
+	{ 380, KEY_F(23) },
+	{ 390, KEY_F(24) },
+	{ 400, KEY_F(25) },
+	{ 410, KEY_F(26) },
+	{ 420, KEY_F(27) },
+	{ 430, KEY_F(28) },
+	{ 440, KEY_F(29) },
+	{ 450, KEY_F(2) },
+	{ 459, KEY_F(30) },
+	{ 469, KEY_F(31) },
+	{ 479, KEY_F(32) },
+	{ 489, KEY_F(33) },
+	{ 499, KEY_F(34) },
+	{ 509, KEY_F(35) },
+	{ 519, KEY_F(36) },
+	{ 529, KEY_F(37) },
+	{ 539, KEY_F(38) },
+	{ 549, KEY_F(39) },
+	{ 559, KEY_F(3) },
+	{ 568, KEY_F(40) },
+	{ 578, KEY_F(41) },
+	{ 588, KEY_F(42) },
+	{ 598, KEY_F(43) },
+	{ 608, KEY_F(44) },
+	{ 618, KEY_F(45) },
+	{ 628, KEY_F(46) },
+	{ 638, KEY_F(47) },
+	{ 648, KEY_F(48) },
+	{ 658, KEY_F(49) },
+	{ 668, KEY_F(4) },
+	{ 677, KEY_F(50) },
+	{ 687, KEY_F(51) },
+	{ 697, KEY_F(52) },
+	{ 707, KEY_F(53) },
+	{ 717, KEY_F(54) },
+	{ 727, KEY_F(55) },
+	{ 737, KEY_F(56) },
+	{ 747, KEY_F(57) },
+	{ 757, KEY_F(58) },
+	{ 767, KEY_F(59) },
+	{ 777, KEY_F(5) },
+	{ 786, KEY_F(60) },
+	{ 796, KEY_F(61) },
+	{ 806, KEY_F(62) },
+	{ 816, KEY_F(63) },
+	{ 826, KEY_F(6) },
+	{ 835, KEY_F(7) },
+	{ 844, KEY_F(8) },
+	{ 853, KEY_F(9) },
+	{ 862, KEY_FIND },
+	{ 871, KEY_HELP },
+	{ 880, KEY_HOME },
+	{ 889, KEY_IC },
+	{ 896, KEY_IL },
+	{ 903, KEY_LEFT },
+	{ 912, KEY_LL },
+	{ 919, KEY_MARK },
+	{ 928, KEY_MESSAGE },
+	{ 940, KEY_MOUSE },
+	{ 950, KEY_MOVE },
+	{ 959, KEY_NEXT },
+	{ 968, KEY_NPAGE },
+	{ 978, KEY_OPEN },
+	{ 987, KEY_OPTIONS },
+	{ 999, KEY_PPAGE },
+	{ 1009, KEY_PREVIOUS },
+	{ 1022, KEY_PRINT },
+	{ 1032, KEY_REDO },
+	{ 1041, KEY_REFERENCE },
+	{ 1055, KEY_REFRESH },
+	{ 1067, KEY_REPLACE },
+	{ 1079, KEY_RESET },
+	{ 1089, KEY_RESIZE },
+	{ 1100, KEY_RESTART },
+	{ 1112, KEY_RESUME },
+	{ 1123, KEY_RIGHT },
+	{ 1133, KEY_SAVE },
+	{ 1142, KEY_SBEG },
+	{ 1151, KEY_SCANCEL },
+	{ 1163, KEY_SCOMMAND },
+	{ 1176, KEY_SCOPY },
+	{ 1186, KEY_SCREATE },
+	{ 1198, KEY_SDC },
+	{ 1206, KEY_SDL },
+	{ 1214, KEY_SELECT },
+	{ 1225, KEY_SEND },
+	{ 1234, KEY_SEOL },
+	{ 1243, KEY_SEXIT },
+	{ 1253, KEY_SFIND },
+	{ 1263, KEY_SF },
+	{ 1270, KEY_SHELP },
+	{ 1280, KEY_SHOME },
+	{ 1290, KEY_SIC },
+	{ 1298, KEY_SLEFT },
+	{ 1308, KEY_SMESSAGE },
+	{ 1321, KEY_SMOVE },
+	{ 1331, KEY_SNEXT },
+	{ 1341, KEY_SOPTIONS },
+	{ 1354, KEY_SPREVIOUS },
+	{ 1368, KEY_SPRINT },
+	{ 1379, KEY_SREDO },
+	{ 1389, KEY_SREPLACE },
+	{ 1402, KEY_SRESET },
+	{ 1413, KEY_SRIGHT },
+	{ 1424, KEY_SR },
+	{ 1431, KEY_SRSUME },
+	{ 1442, KEY_SSAVE },
+	{ 1452, KEY_SSUSPEND },
+	{ 1465, KEY_STAB },
+	{ 1474, KEY_SUNDO },
+	{ 1484, KEY_SUSPEND },
+	{ 1496, KEY_UNDO },
+	{ 1505, KEY_UP },
+	{ -1, 0 }};
+
+static const char key_names[] = 
+	"KEY_A1\0"
+	"KEY_A3\0"
+	"KEY_B2\0"
+	"KEY_BACKSPACE\0"
+	"KEY_BEG\0"
+	"KEY_BREAK\0"
+	"KEY_BTAB\0"
+	"KEY_C1\0"
+	"KEY_C3\0"
+	"KEY_CANCEL\0"
+	"KEY_CATAB\0"
+	"KEY_CLEAR\0"
+	"KEY_CLOSE\0"
+	"KEY_COMMAND\0"
+	"KEY_COPY\0"
+	"KEY_CREATE\0"
+	"KEY_CTAB\0"
+	"KEY_DC\0"
+	"KEY_DL\0"
+	"KEY_DOWN\0"
+	"KEY_EIC\0"
+	"KEY_END\0"
+	"KEY_ENTER\0"
+	"KEY_EOL\0"
+	"KEY_EOS\0"
+	"KEY_EXIT\0"
+	"KEY_F(0)\0"
+	"KEY_F(10)\0"
+	"KEY_F(11)\0"
+	"KEY_F(12)\0"
+	"KEY_F(13)\0"
+	"KEY_F(14)\0"
+	"KEY_F(15)\0"
+	"KEY_F(16)\0"
+	"KEY_F(17)\0"
+	"KEY_F(18)\0"
+	"KEY_F(19)\0"
+	"KEY_F(1)\0"
+	"KEY_F(20)\0"
+	"KEY_F(21)\0"
+	"KEY_F(22)\0"
+	"KEY_F(23)\0"
+	"KEY_F(24)\0"
+	"KEY_F(25)\0"
+	"KEY_F(26)\0"
+	"KEY_F(27)\0"
+	"KEY_F(28)\0"
+	"KEY_F(29)\0"
+	"KEY_F(2)\0"
+	"KEY_F(30)\0"
+	"KEY_F(31)\0"
+	"KEY_F(32)\0"
+	"KEY_F(33)\0"
+	"KEY_F(34)\0"
+	"KEY_F(35)\0"
+	"KEY_F(36)\0"
+	"KEY_F(37)\0"
+	"KEY_F(38)\0"
+	"KEY_F(39)\0"
+	"KEY_F(3)\0"
+	"KEY_F(40)\0"
+	"KEY_F(41)\0"
+	"KEY_F(42)\0"
+	"KEY_F(43)\0"
+	"KEY_F(44)\0"
+	"KEY_F(45)\0"
+	"KEY_F(46)\0"
+	"KEY_F(47)\0"
+	"KEY_F(48)\0"
+	"KEY_F(49)\0"
+	"KEY_F(4)\0"
+	"KEY_F(50)\0"
+	"KEY_F(51)\0"
+	"KEY_F(52)\0"
+	"KEY_F(53)\0"
+	"KEY_F(54)\0"
+	"KEY_F(55)\0"
+	"KEY_F(56)\0"
+	"KEY_F(57)\0"
+	"KEY_F(58)\0"
+	"KEY_F(59)\0"
+	"KEY_F(5)\0"
+	"KEY_F(60)\0"
+	"KEY_F(61)\0"
+	"KEY_F(62)\0"
+	"KEY_F(63)\0"
+	"KEY_F(6)\0"
+	"KEY_F(7)\0"
+	"KEY_F(8)\0"
+	"KEY_F(9)\0"
+	"KEY_FIND\0"
+	"KEY_HELP\0"
+	"KEY_HOME\0"
+	"KEY_IC\0"
+	"KEY_IL\0"
+	"KEY_LEFT\0"
+	"KEY_LL\0"
+	"KEY_MARK\0"
+	"KEY_MESSAGE\0"
+	"KEY_MOUSE\0"
+	"KEY_MOVE\0"
+	"KEY_NEXT\0"
+	"KEY_NPAGE\0"
+	"KEY_OPEN\0"
+	"KEY_OPTIONS\0"
+	"KEY_PPAGE\0"
+	"KEY_PREVIOUS\0"
+	"KEY_PRINT\0"
+	"KEY_REDO\0"
+	"KEY_REFERENCE\0"
+	"KEY_REFRESH\0"
+	"KEY_REPLACE\0"
+	"KEY_RESET\0"
+	"KEY_RESIZE\0"
+	"KEY_RESTART\0"
+	"KEY_RESUME\0"
+	"KEY_RIGHT\0"
+	"KEY_SAVE\0"
+	"KEY_SBEG\0"
+	"KEY_SCANCEL\0"
+	"KEY_SCOMMAND\0"
+	"KEY_SCOPY\0"
+	"KEY_SCREATE\0"
+	"KEY_SDC\0"
+	"KEY_SDL\0"
+	"KEY_SELECT\0"
+	"KEY_SEND\0"
+	"KEY_SEOL\0"
+	"KEY_SEXIT\0"
+	"KEY_SFIND\0"
+	"KEY_SF\0"
+	"KEY_SHELP\0"
+	"KEY_SHOME\0"
+	"KEY_SIC\0"
+	"KEY_SLEFT\0"
+	"KEY_SMESSAGE\0"
+	"KEY_SMOVE\0"
+	"KEY_SNEXT\0"
+	"KEY_SOPTIONS\0"
+	"KEY_SPREVIOUS\0"
+	"KEY_SPRINT\0"
+	"KEY_SREDO\0"
+	"KEY_SREPLACE\0"
+	"KEY_SRESET\0"
+	"KEY_SRIGHT\0"
+	"KEY_SR\0"
+	"KEY_SRSUME\0"
+	"KEY_SSAVE\0"
+	"KEY_SSUSPEND\0"
+	"KEY_STAB\0"
+	"KEY_SUNDO\0"
+	"KEY_SUSPEND\0"
+	"KEY_UNDO\0"
+	"KEY_UP\0";
+
+#define SIZEOF_TABLE 256
+#define MyTable _nc_globals.keyname_table
+#define MyInit  _nc_globals.init_keyname
+
+NCURSES_EXPORT(NCURSES_CONST char *)
+safe_keyname (SCREEN *sp, int c)
+{
+	int i;
+	char name[20];
+	char *p;
+	NCURSES_CONST char *result = 0;
+
+	if (c == -1) {
+		result = "-1";
+	} else {
+		for (i = 0; _nc_key_names[i].offset != -1; i++) {
+			if (_nc_key_names[i].code == c) {
+				result = (NCURSES_CONST char *)key_names + _nc_key_names[i].offset;
+				break;
+			}
+		}
+
+		if (result == 0 && (c >= 0 && c < SIZEOF_TABLE)) {
+			if (MyTable == 0)
+				MyTable = typeCalloc(char *, SIZEOF_TABLE);
+
+			if (MyTable != 0) {
+				int m_prefix = (sp == 0 || sp->_use_meta);
+
+				/* if sense of meta() changed, discard cached data */
+				if (MyInit != (m_prefix + 1)) {
+					MyInit = m_prefix + 1;
+					for (i = 0; i < SIZEOF_TABLE; ++i) {
+						if (MyTable[i]) {
+							FreeAndNull(MyTable[i]);
+						}
+					}
+				}
+
+				/* create and cache result as needed */
+				if (MyTable[c] == 0) {
+					int cc = c;
+					p = name;
+#define P_LIMIT (sizeof(name) - (size_t) (p - name))
+					if (cc >= 128 && m_prefix) {
+						_nc_STRCPY(p, "M-", P_LIMIT);
+						p += 2;
+						cc -= 128;
+					}
+					if (cc < 32)
+						_nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) "^%c", cc + '@');
+					else if (cc == 127)
+						_nc_STRCPY(p, "^?", P_LIMIT);
+					else
+						_nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) "%c", cc);
+					MyTable[c] = strdup(name);
+				}
+				result = MyTable[c];
+			}
+#if NCURSES_EXT_FUNCS && NCURSES_XNAMES
+		} else if (result == 0 && HasTerminal(sp)) {
+			int j, k;
+			char * bound;
+			TERMTYPE *tp = &(TerminalOf(sp)->type);
+			unsigned save_trace = _nc_tracing;
+
+			_nc_tracing = 0;	/* prevent recursion via keybound() */
+			for (j = 0; (bound = NCURSES_SP_NAME(keybound)(NCURSES_SP_ARGx c, j)) != 0; ++j) {
+				for(k = STRCOUNT; k < (int) NUM_STRINGS(tp);  k++) {
+					if (tp->Strings[k] != 0 && !strcmp(bound, tp->Strings[k])) {
+						result = ExtStrname(tp, k, strnames);
+						break;
+					}
+				}
+				free(bound);
+				if (result != 0)
+					break;
+			}
+			_nc_tracing = save_trace;
+#endif
+		}
+	}
+	return result;
+}
+
+NCURSES_EXPORT(NCURSES_CONST char *)
+keyname (int c)
+{
+	return safe_keyname (CURRENT_SCREEN, c);
+}
+
+#if NO_LEAKS
+void _nc_keyname_leaks(void)
+{
+	int j;
+	if (MyTable != 0) {
+		for (j = 0; j < SIZEOF_TABLE; ++j) {
+			FreeIfNeeded(MyTable[j]);
+		}
+		FreeAndNull(MyTable);
+	}
+}
+#endif /* NO_LEAKS */
diff --git a/ncurses/link_test.c b/ncurses/link_test.c
new file mode 100644
index 0000000..714228f
--- /dev/null
+++ b/ncurses/link_test.c
@@ -0,0 +1,3392 @@
+/*
+ * DO NOT EDIT THIS FILE BY HAND!
+ * It is generated by ./base/MKlib_gen.sh implemented.
+ */
+#define NCURSES_ATTR_T int
+#include <ncurses_cfg.h>
+
+#undef NCURSES_NOMACROS /* _this_ file uses macros */
+
+#include <curses.priv.h>
+
+#undef vw_scanw
+#undef vwscanw
+
+#undef vw_printw
+#undef vwprintw
+
+extern int call_addch (const chtype z);
+int call_addch (const chtype z)
+{
+	T((T_CALLED("addch(%s)"), _tracechtype2(0,z))); returnCode(waddch(stdscr,(z)));
+}
+
+
+extern int call_addchnstr (const chtype * a1, int z);
+int call_addchnstr (const chtype * a1, int z)
+{
+	T((T_CALLED("addchnstr(%p,%d)"), (const void *)a1, z)); returnCode(waddchnstr(stdscr,(a1),(z)));
+}
+
+
+extern int call_addchstr (const chtype * z);
+int call_addchstr (const chtype * z)
+{
+	T((T_CALLED("addchstr(%p)"), (const void *)z)); returnCode(waddchnstr(stdscr,(z),-1));
+}
+
+
+extern int call_addnstr (const char * a1, int z);
+int call_addnstr (const char * a1, int z)
+{
+	T((T_CALLED("addnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(waddnstr(stdscr,(a1),(z)));
+}
+
+
+extern int call_addstr (const char * z);
+int call_addstr (const char * z)
+{
+	T((T_CALLED("addstr(%s)"), _nc_visbuf2(0,z))); returnCode(waddnstr(stdscr,(z),-1));
+}
+
+
+extern int call_attroff (int z);
+int call_attroff (int z)
+{
+	T((T_CALLED("attroff(%s)"), _traceattr2(0,(chtype)z))); returnCode(wattr_off(stdscr, (attr_t)((z)), ((void*)0)));
+}
+
+
+extern int call_attron (int z);
+int call_attron (int z)
+{
+	T((T_CALLED("attron(%s)"), _traceattr2(0,(chtype)z))); returnCode(wattr_on(stdscr, (attr_t)((z)), ((void*)0)));
+}
+
+
+extern int call_attrset (int z);
+int call_attrset (int z)
+{
+	T((T_CALLED("attrset(%s)"), _traceattr2(0,(chtype)z))); returnIntAttr((attr_t)((stdscr) ? ((stdscr)->_attrs = (attr_t)((z)), (0)) : (-1)));
+}
+
+
+extern int call_attr_get (attr_t * a1, short * a2, void * z);
+int call_attr_get (attr_t * a1, short * a2, void * z)
+{
+	T((T_CALLED("attr_get(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z)); returnCode(((void)((((a1)) != (void *)0) ? (*((a1)) = (stdscr) ? (stdscr)->_attrs : 0) : (0)), (void)((((a2)) != (void *)0) ? (*((a2)) = (short) ((stdscr) ? ((int)((((unsigned long)(((stdscr)->_attrs)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) : 0)) : (0)), (0)));
+}
+
+
+extern int call_attr_off (attr_t a1, void * z);
+int call_attr_off (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(wattr_off(stdscr,(a1),(z)));
+}
+
+
+extern int call_attr_on (attr_t a1, void * z);
+int call_attr_on (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(wattr_on(stdscr,(a1),(z)));
+}
+
+
+extern int call_attr_set (attr_t a1, short a2, void * z);
+int call_attr_set (attr_t a1, short a2, void * z)
+{
+	T((T_CALLED("attr_set(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z)); returnCode((((stdscr) ? ((stdscr)->_attrs = ((((a1)) & ~((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) | (attr_t)((chtype)((((a2)))) << ((0) + 8)))) : (0)), (0)));
+}
+
+
+extern int call_baudrate (void);
+int call_baudrate (void)
+{
+	T((T_CALLED("baudrate()"))); returnCode(baudrate());
+}
+
+
+extern int call_beep (void);
+int call_beep (void)
+{
+	T((T_CALLED("beep()"))); returnCode(beep());
+}
+
+
+extern int call_bkgd (chtype z);
+int call_bkgd (chtype z)
+{
+	T((T_CALLED("bkgd(%s)"), _tracechtype2(0,z))); returnCode(wbkgd(stdscr,(z)));
+}
+
+
+extern void call_bkgdset (chtype z);
+void call_bkgdset (chtype z)
+{
+	T((T_CALLED("bkgdset(%s)"), _tracechtype2(0,z))); wbkgdset(stdscr,(z));
+	returnVoid;
+}
+
+
+extern int call_border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z);
+int call_border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z)
+{
+	T((T_CALLED("border(%s,%s,%s,%s,%s,%s,%s,%s)"), _tracechtype2(0,a1), _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,z))); returnCode(wborder(stdscr, a1, a2, a3, a4, a5, a6, a7, z));
+}
+
+
+extern int call_box (WINDOW * a1, chtype a2, chtype z);
+int call_box (WINDOW * a1, chtype a2, chtype z)
+{
+	T((T_CALLED("box(%p,%s,%s)"), (const void *)a1, _tracechtype2(1,a2), _tracechtype2(2,z))); returnCode(wborder(a1, a2, a2, z, z, 0, 0, 0, 0));
+}
+
+
+extern NCURSES_BOOL call_can_change_color (void);
+NCURSES_BOOL call_can_change_color (void)
+{
+	T((T_CALLED("can_change_color()"))); returnBool(can_change_color());
+}
+
+
+extern int call_cbreak (void);
+int call_cbreak (void)
+{
+	T((T_CALLED("cbreak()"))); returnCode(cbreak());
+}
+
+
+extern int call_chgat (int a1, attr_t a2, short a3, const void * z);
+int call_chgat (int a1, attr_t a2, short a3, const void * z)
+{
+	T((T_CALLED("chgat(%d,%s,%#lx,%p)"), a1, _traceattr2(1,a2), (long)a3, (const void *)z)); returnCode(wchgat(stdscr,(a1),(a2),(a3),(z)));
+}
+
+
+extern int call_clear (void);
+int call_clear (void)
+{
+	T((T_CALLED("clear()"))); returnCode(wclear(stdscr));
+}
+
+
+extern int call_clearok (WINDOW * a1, NCURSES_BOOL z);
+int call_clearok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("clearok(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(clearok(a1, z));
+}
+
+
+extern int call_clrtobot (void);
+int call_clrtobot (void)
+{
+	T((T_CALLED("clrtobot()"))); returnCode(wclrtobot(stdscr));
+}
+
+
+extern int call_clrtoeol (void);
+int call_clrtoeol (void)
+{
+	T((T_CALLED("clrtoeol()"))); returnCode(wclrtoeol(stdscr));
+}
+
+
+extern int call_color_content (short a1, short * a2, short * a3, short * z);
+int call_color_content (short a1, short * a2, short * a3, short * z)
+{
+	T((T_CALLED("color_content(%#lx,%p,%p,%p)"), (long)a1, (const void *)a2, (const void *)a3, (const void *)z)); returnCode(color_content(a1, a2, a3, z));
+}
+
+
+extern int call_color_set (short a1, void * z);
+int call_color_set (short a1, void * z)
+{
+	T((T_CALLED("color_set(%#lx,%p)"), (long)a1, (const void *)z)); returnCode(wcolor_set(stdscr,(a1),(z)));
+}
+
+
+extern int call_COLOR_PAIR (int z);
+int call_COLOR_PAIR (int z)
+{
+	T((T_CALLED("COLOR_PAIR(%d)"), z)); returnCode(((chtype)(((z))) << ((0) + 8)));
+}
+
+
+extern int call_copywin (const WINDOW * a1, WINDOW * a2, int a3, int a4, int a5, int a6, int a7, int a8, int z);
+int call_copywin (const WINDOW * a1, WINDOW * a2, int a3, int a4, int a5, int a6, int a7, int a8, int z)
+{
+	T((T_CALLED("copywin(%p,%p,%d,%d,%d,%d,%d,%d,%d)"), (const void *)a1, (const void *)a2, a3, a4, a5, a6, a7, a8, z)); returnCode(copywin(a1, a2, a3, a4, a5, a6, a7, a8, z));
+}
+
+
+extern int call_curs_set (int z);
+int call_curs_set (int z)
+{
+	T((T_CALLED("curs_set(%d)"), z)); returnCode(curs_set(z));
+}
+
+
+extern int call_def_prog_mode (void);
+int call_def_prog_mode (void)
+{
+	T((T_CALLED("def_prog_mode()"))); returnCode(def_prog_mode());
+}
+
+
+extern int call_def_shell_mode (void);
+int call_def_shell_mode (void)
+{
+	T((T_CALLED("def_shell_mode()"))); returnCode(def_shell_mode());
+}
+
+
+extern int call_delay_output (int z);
+int call_delay_output (int z)
+{
+	T((T_CALLED("delay_output(%d)"), z)); returnCode(delay_output(z));
+}
+
+
+extern int call_delch (void);
+int call_delch (void)
+{
+	T((T_CALLED("delch()"))); returnCode(wdelch(stdscr));
+}
+
+
+extern void call_delscreen (SCREEN * z);
+void call_delscreen (SCREEN * z)
+{
+	T((T_CALLED("delscreen(%p)"), (const void *)z)); delscreen(z);
+	returnVoid;
+}
+
+
+extern int call_delwin (WINDOW * z);
+int call_delwin (WINDOW * z)
+{
+	T((T_CALLED("delwin(%p)"), (const void *)z)); returnCode(delwin(z));
+}
+
+
+extern int call_deleteln (void);
+int call_deleteln (void)
+{
+	T((T_CALLED("deleteln()"))); returnCode(winsdelln(stdscr,-1));
+}
+
+
+extern WINDOW * call_derwin (WINDOW * a1, int a2, int a3, int a4, int z);
+WINDOW * call_derwin (WINDOW * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z)); returnWin(derwin(a1, a2, a3, a4, z));
+}
+
+
+extern int call_doupdate (void);
+int call_doupdate (void)
+{
+	T((T_CALLED("doupdate()"))); returnCode(doupdate());
+}
+
+
+extern WINDOW * call_dupwin (WINDOW * z);
+WINDOW * call_dupwin (WINDOW * z)
+{
+	T((T_CALLED("dupwin(%p)"), (const void *)z)); returnWin(dupwin(z));
+}
+
+
+extern int call_echo (void);
+int call_echo (void)
+{
+	T((T_CALLED("echo()"))); returnCode(echo());
+}
+
+
+extern int call_echochar (const chtype z);
+int call_echochar (const chtype z)
+{
+	T((T_CALLED("echochar(%s)"), _tracechtype2(0,z))); returnCode(wechochar(stdscr,(z)));
+}
+
+
+extern int call_erase (void);
+int call_erase (void)
+{
+	T((T_CALLED("erase()"))); returnCode(werase(stdscr));
+}
+
+
+extern int call_endwin (void);
+int call_endwin (void)
+{
+	T((T_CALLED("endwin()"))); returnCode(endwin());
+}
+
+
+extern char call_erasechar (void);
+char call_erasechar (void)
+{
+	T((T_CALLED("erasechar()"))); returnCode(erasechar());
+}
+
+
+extern void call_filter (void);
+void call_filter (void)
+{
+	T((T_CALLED("filter()"))); filter();
+	returnVoid;
+}
+
+
+extern int call_flash (void);
+int call_flash (void)
+{
+	T((T_CALLED("flash()"))); returnCode(flash());
+}
+
+
+extern int call_flushinp (void);
+int call_flushinp (void)
+{
+	T((T_CALLED("flushinp()"))); returnCode(flushinp());
+}
+
+
+extern chtype call_getbkgd (WINDOW * z);
+chtype call_getbkgd (WINDOW * z)
+{
+	T((T_CALLED("getbkgd(%p)"), (const void *)z)); returnChtype(((z) ? ((z)->_bkgd) : 0));
+}
+
+
+extern int call_getch (void);
+int call_getch (void)
+{
+	T((T_CALLED("getch()"))); returnCode(wgetch(stdscr));
+}
+
+
+extern int call_getnstr (char * a1, int z);
+int call_getnstr (char * a1, int z)
+{
+	T((T_CALLED("getnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(wgetnstr(stdscr, a1, (z)));
+}
+
+
+extern int call_getstr (char * z);
+int call_getstr (char * z)
+{
+	T((T_CALLED("getstr(%s)"), _nc_visbuf2(0,z))); returnCode(wgetnstr(stdscr, (z), -1));
+}
+
+
+extern WINDOW * call_getwin (FILE * z);
+WINDOW * call_getwin (FILE * z)
+{
+	T((T_CALLED("getwin(%p)"), (const void *)z)); returnWin(getwin(z));
+}
+
+
+extern int call_halfdelay (int z);
+int call_halfdelay (int z)
+{
+	T((T_CALLED("halfdelay(%d)"), z)); returnCode(halfdelay(z));
+}
+
+
+extern NCURSES_BOOL call_has_colors (void);
+NCURSES_BOOL call_has_colors (void)
+{
+	T((T_CALLED("has_colors()"))); returnBool(has_colors());
+}
+
+
+extern NCURSES_BOOL call_has_ic (void);
+NCURSES_BOOL call_has_ic (void)
+{
+	T((T_CALLED("has_ic()"))); returnBool(has_ic());
+}
+
+
+extern NCURSES_BOOL call_has_il (void);
+NCURSES_BOOL call_has_il (void)
+{
+	T((T_CALLED("has_il()"))); returnBool(has_il());
+}
+
+
+extern int call_hline (chtype a1, int z);
+int call_hline (chtype a1, int z)
+{
+	T((T_CALLED("hline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(whline(stdscr, a1, (z)));
+}
+
+
+extern void call_idcok (WINDOW * a1, NCURSES_BOOL z);
+void call_idcok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("idcok(%p,%#lx)"), (const void *)a1, (long)z)); idcok(a1, z);
+	returnVoid;
+}
+
+
+extern int call_idlok (WINDOW * a1, NCURSES_BOOL z);
+int call_idlok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("idlok(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(idlok(a1, z));
+}
+
+
+extern void call_immedok (WINDOW * a1, NCURSES_BOOL z);
+void call_immedok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("immedok(%p,%#lx)"), (const void *)a1, (long)z)); immedok(a1, z);
+	returnVoid;
+}
+
+
+extern chtype call_inch (void);
+chtype call_inch (void)
+{
+	T((T_CALLED("inch()"))); returnChtype(winch(stdscr));
+}
+
+
+extern int call_inchnstr (chtype * a1, int z);
+int call_inchnstr (chtype * a1, int z)
+{
+	T((T_CALLED("inchnstr(%p,%d)"), (const void *)a1, z)); returnCode(winchnstr(stdscr,(a1),(z)));
+}
+
+
+extern int call_inchstr (chtype * z);
+int call_inchstr (chtype * z)
+{
+	T((T_CALLED("inchstr(%p)"), (const void *)z)); returnCode(winchnstr(stdscr, (z), -1));
+}
+
+
+extern WINDOW * call_initscr (void);
+WINDOW * call_initscr (void)
+{
+	T((T_CALLED("initscr()"))); returnWin(initscr());
+}
+
+
+extern int call_init_color (short a1, short a2, short a3, short z);
+int call_init_color (short a1, short a2, short a3, short z)
+{
+	T((T_CALLED("init_color(%#lx,%#lx,%#lx,%#lx)"), (long)a1, (long)a2, (long)a3, (long)z)); returnCode(init_color(a1, a2, a3, z));
+}
+
+
+extern int call_init_pair (short a1, short a2, short z);
+int call_init_pair (short a1, short a2, short z)
+{
+	T((T_CALLED("init_pair(%#lx,%#lx,%#lx)"), (long)a1, (long)a2, (long)z)); returnCode(init_pair(a1, a2, z));
+}
+
+
+extern int call_innstr (char * a1, int z);
+int call_innstr (char * a1, int z)
+{
+	return winnstr(stdscr,(a1),(z)) ;
+}
+
+
+extern int call_insch (chtype z);
+int call_insch (chtype z)
+{
+	T((T_CALLED("insch(%s)"), _tracechtype2(0,z))); returnCode(winsch(stdscr,(z)));
+}
+
+
+extern int call_insdelln (int z);
+int call_insdelln (int z)
+{
+	T((T_CALLED("insdelln(%d)"), z)); returnCode(winsdelln(stdscr,(z)));
+}
+
+
+extern int call_insertln (void);
+int call_insertln (void)
+{
+	T((T_CALLED("insertln()"))); returnCode(winsdelln(stdscr,1));
+}
+
+
+extern int call_insnstr (const char * a1, int z);
+int call_insnstr (const char * a1, int z)
+{
+	T((T_CALLED("insnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(winsnstr(stdscr,(a1),(z)));
+}
+
+
+extern int call_insstr (const char * z);
+int call_insstr (const char * z)
+{
+	T((T_CALLED("insstr(%s)"), _nc_visbuf2(0,z))); returnCode(winsnstr(stdscr, (z), -1));
+}
+
+
+extern int call_instr (char * z);
+int call_instr (char * z)
+{
+	T((T_CALLED("instr(%s)"), _nc_visbuf2(0,z))); returnCode(winnstr(stdscr, (z), -1));
+}
+
+
+extern int call_intrflush (WINDOW * a1, NCURSES_BOOL z);
+int call_intrflush (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("intrflush(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(intrflush(a1, z));
+}
+
+
+extern NCURSES_BOOL call_isendwin (void);
+NCURSES_BOOL call_isendwin (void)
+{
+	T((T_CALLED("isendwin()"))); returnBool(isendwin());
+}
+
+
+extern NCURSES_BOOL call_is_linetouched (WINDOW * a1, int z);
+NCURSES_BOOL call_is_linetouched (WINDOW * a1, int z)
+{
+	T((T_CALLED("is_linetouched(%p,%d)"), (const void *)a1, z)); returnBool(is_linetouched(a1, z));
+}
+
+
+extern NCURSES_BOOL call_is_wintouched (WINDOW * z);
+NCURSES_BOOL call_is_wintouched (WINDOW * z)
+{
+	T((T_CALLED("is_wintouched(%p)"), (const void *)z)); returnBool(is_wintouched(z));
+}
+
+
+extern const char * call_keyname (int z);
+const char * call_keyname (int z)
+{
+	T((T_CALLED("keyname(%d)"), z)); returnPtr(keyname(z));
+}
+
+
+extern int call_keypad (WINDOW * a1, NCURSES_BOOL z);
+int call_keypad (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("keypad(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(keypad(a1, z));
+}
+
+
+extern char call_killchar (void);
+char call_killchar (void)
+{
+	T((T_CALLED("killchar()"))); returnCode(killchar());
+}
+
+
+extern int call_leaveok (WINDOW * a1, NCURSES_BOOL z);
+int call_leaveok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("leaveok(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(leaveok(a1, z));
+}
+
+
+extern char * call_longname (void);
+char * call_longname (void)
+{
+	T((T_CALLED("longname()"))); returnPtr(longname());
+}
+
+
+extern int call_meta (WINDOW * a1, NCURSES_BOOL z);
+int call_meta (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("meta(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(meta(a1, z));
+}
+
+
+extern int call_move (int a1, int z);
+int call_move (int a1, int z)
+{
+	T((T_CALLED("move(%d,%d)"), a1, z)); returnCode(wmove(stdscr,(a1),(z)));
+}
+
+
+extern int call_mvaddch (int a1, int a2, const chtype z);
+int call_mvaddch (int a1, int a2, const chtype z)
+{
+	T((T_CALLED("mvaddch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddch((stdscr),((z)))));
+}
+
+
+extern int call_mvaddchnstr (int a1, int a2, const chtype * a3, int z);
+int call_mvaddchnstr (int a1, int a2, const chtype * a3, int z)
+{
+	T((T_CALLED("mvaddchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddchnstr((stdscr),((a3)),((z)))));
+}
+
+
+extern int call_mvaddchstr (int a1, int a2, const chtype * z);
+int call_mvaddchstr (int a1, int a2, const chtype * z)
+{
+	T((T_CALLED("mvaddchstr(%d,%d,%p)"), a1, a2, (const void *)z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddchnstr((stdscr),((z)),-1)));
+}
+
+
+extern int call_mvaddnstr (int a1, int a2, const char * a3, int z);
+int call_mvaddnstr (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvaddnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddnstr((stdscr),((a3)),((z)))));
+}
+
+
+extern int call_mvaddstr (int a1, int a2, const char * z);
+int call_mvaddstr (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvaddstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddnstr((stdscr),((z)),-1)));
+}
+
+
+extern int call_mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z);
+int call_mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z)
+{
+	T((T_CALLED("mvchgat(%d,%d,%d,%s,%#lx,%p)"), a1, a2, a3, _traceattr2(3,a4), (long)a5, (const void *)z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wchgat((stdscr),((a3)),((a4)),((a5)),((z)))));
+}
+
+
+extern int call_mvcur (int a1, int a2, int a3, int z);
+int call_mvcur (int a1, int a2, int a3, int z)
+{
+	T((T_CALLED("mvcur(%d,%d,%d,%d)"), a1, a2, a3, z)); returnCode(mvcur(a1, a2, a3, z));
+}
+
+
+extern int call_mvdelch (int a1, int z);
+int call_mvdelch (int a1, int z)
+{
+	T((T_CALLED("mvdelch(%d,%d)"), a1, z)); returnCode((wmove((stdscr),((a1)),((z))) == (-1) ? (-1) : wdelch(stdscr)));
+}
+
+
+extern int call_mvderwin (WINDOW * a1, int a2, int z);
+int call_mvderwin (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvderwin(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(mvderwin(a1, a2, z));
+}
+
+
+extern int call_mvgetch (int a1, int z);
+int call_mvgetch (int a1, int z)
+{
+	T((T_CALLED("mvgetch(%d,%d)"), a1, z)); returnCode((wmove((stdscr),((a1)),((z))) == (-1) ? (-1) : wgetch(stdscr)));
+}
+
+
+extern int call_mvgetnstr (int a1, int a2, char * a3, int z);
+int call_mvgetnstr (int a1, int a2, char * a3, int z)
+{
+	T((T_CALLED("mvgetnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wgetnstr((stdscr),((a3)),((z)))));
+}
+
+
+extern int call_mvgetstr (int a1, int a2, char * z);
+int call_mvgetstr (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvgetstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wgetnstr((stdscr), ((z)), -1)));
+}
+
+
+extern int call_mvhline (int a1, int a2, chtype a3, int z);
+int call_mvhline (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvhline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : whline((stdscr),((a3)),((z)))));
+}
+
+
+extern chtype call_mvinch (int a1, int z);
+chtype call_mvinch (int a1, int z)
+{
+	T((T_CALLED("mvinch(%d,%d)"), a1, z)); returnChtype((wmove((stdscr),((a1)),((z))) == (-1) ? (chtype)((-1)) : winch(stdscr)));
+}
+
+
+extern int call_mvinchnstr (int a1, int a2, chtype * a3, int z);
+int call_mvinchnstr (int a1, int a2, chtype * a3, int z)
+{
+	T((T_CALLED("mvinchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winchnstr((stdscr),((a3)),((z)))));
+}
+
+
+extern int call_mvinchstr (int a1, int a2, chtype * z);
+int call_mvinchstr (int a1, int a2, chtype * z)
+{
+	T((T_CALLED("mvinchstr(%d,%d,%p)"), a1, a2, (const void *)z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winchnstr((stdscr), ((z)), -1)));
+}
+
+
+extern int call_mvinnstr (int a1, int a2, char * a3, int z);
+int call_mvinnstr (int a1, int a2, char * a3, int z)
+{
+	return (wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winnstr((stdscr),((a3)),((z)))) ;
+}
+
+
+extern int call_mvinsch (int a1, int a2, chtype z);
+int call_mvinsch (int a1, int a2, chtype z)
+{
+	T((T_CALLED("mvinsch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsch((stdscr),((z)))));
+}
+
+
+extern int call_mvinsnstr (int a1, int a2, const char * a3, int z);
+int call_mvinsnstr (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvinsnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsnstr((stdscr),((a3)),((z)))));
+}
+
+
+extern int call_mvinsstr (int a1, int a2, const char * z);
+int call_mvinsstr (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvinsstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsnstr((stdscr), ((z)), -1)));
+}
+
+
+extern int call_mvinstr (int a1, int a2, char * z);
+int call_mvinstr (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvinstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winnstr((stdscr), ((z)), -1)));
+}
+
+
+extern int call_mvvline (int a1, int a2, chtype a3, int z);
+int call_mvvline (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvvline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wvline((stdscr),((a3)),((z)))));
+}
+
+
+extern int call_mvwaddch (WINDOW * a1, int a2, int a3, const chtype z);
+int call_mvwaddch (WINDOW * a1, int a2, int a3, const chtype z)
+{
+	T((T_CALLED("mvwaddch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddch((a1),(z))));
+}
+
+
+extern int call_mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z);
+int call_mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z)
+{
+	T((T_CALLED("mvwaddchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddchnstr((a1),(a4),(z))));
+}
+
+
+extern int call_mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z);
+int call_mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z)
+{
+	T((T_CALLED("mvwaddchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddchnstr((a1),(z),-1)));
+}
+
+
+extern int call_mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z);
+int call_mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwaddnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddnstr((a1),(a4),(z))));
+}
+
+
+extern int call_mvwaddstr (WINDOW * a1, int a2, int a3, const char * z);
+int call_mvwaddstr (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwaddstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddnstr((a1),(z),-1)));
+}
+
+
+extern int call_mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z);
+int call_mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z)
+{
+	T((T_CALLED("mvwchgat(%p,%d,%d,%d,%s,%#lx,%p)"), (const void *)a1, a2, a3, a4, _traceattr2(4,a5), (long)a6, (const void *)z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wchgat((a1),(a4),(a5),(a6),(z))));
+}
+
+
+extern int call_mvwdelch (WINDOW * a1, int a2, int z);
+int call_mvwdelch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwdelch(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode((wmove((a1),(a2),(z)) == (-1) ? (-1) : wdelch(a1)));
+}
+
+
+extern int call_mvwgetch (WINDOW * a1, int a2, int z);
+int call_mvwgetch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwgetch(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode((wmove((a1),(a2),(z)) == (-1) ? (-1) : wgetch(a1)));
+}
+
+
+extern int call_mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z);
+int call_mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	T((T_CALLED("mvwgetnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wgetnstr((a1),(a4),(z))));
+}
+
+
+extern int call_mvwgetstr (WINDOW * a1, int a2, int a3, char * z);
+int call_mvwgetstr (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwgetstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wgetnstr((a1), (z), -1)));
+}
+
+
+extern int call_mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z);
+int call_mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwhline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : whline((a1),(a4),(z))));
+}
+
+
+extern int call_mvwin (WINDOW * a1, int a2, int z);
+int call_mvwin (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwin(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(mvwin(a1, a2, z));
+}
+
+
+extern chtype call_mvwinch (WINDOW * a1, int a2, int z);
+chtype call_mvwinch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwinch(%p,%d,%d)"), (const void *)a1, a2, z)); returnChtype((wmove((a1),(a2),(z)) == (-1) ? (chtype)((-1)) : winch(a1)));
+}
+
+
+extern int call_mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z);
+int call_mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z)
+{
+	T((T_CALLED("mvwinchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winchnstr((a1),(a4),(z))));
+}
+
+
+extern int call_mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z);
+int call_mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z)
+{
+	T((T_CALLED("mvwinchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winchnstr((a1), (z), -1)));
+}
+
+
+extern int call_mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z);
+int call_mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	return (wmove((a1),(a2),(a3)) == (-1) ? (-1) : winnstr((a1),(a4),(z))) ;
+}
+
+
+extern int call_mvwinsch (WINDOW * a1, int a2, int a3, chtype z);
+int call_mvwinsch (WINDOW * a1, int a2, int a3, chtype z)
+{
+	T((T_CALLED("mvwinsch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsch((a1),(z))));
+}
+
+
+extern int call_mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z);
+int call_mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwinsnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsnstr((a1),(a4),(z))));
+}
+
+
+extern int call_mvwinsstr (WINDOW * a1, int a2, int a3, const char * z);
+int call_mvwinsstr (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwinsstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsnstr((a1), (z), -1)));
+}
+
+
+extern int call_mvwinstr (WINDOW * a1, int a2, int a3, char * z);
+int call_mvwinstr (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwinstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winnstr((a1), (z), -1)));
+}
+
+
+extern int call_mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z);
+int call_mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwvline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wvline((a1),(a4),(z))));
+}
+
+
+extern int call_napms (int z);
+int call_napms (int z)
+{
+	T((T_CALLED("napms(%d)"), z)); returnCode(napms(z));
+}
+
+
+extern WINDOW * call_newpad (int a1, int z);
+WINDOW * call_newpad (int a1, int z)
+{
+	T((T_CALLED("newpad(%d,%d)"), a1, z)); returnWin(newpad(a1, z));
+}
+
+
+extern SCREEN * call_newterm (const char * a1, FILE * a2, FILE * z);
+SCREEN * call_newterm (const char * a1, FILE * a2, FILE * z)
+{
+	T((T_CALLED("newterm(%s,%p,%p)"), _nc_visbuf2(0,a1), (const void *)a2, (const void *)z)); returnSP(newterm(a1, a2, z));
+}
+
+
+extern WINDOW * call_newwin (int a1, int a2, int a3, int z);
+WINDOW * call_newwin (int a1, int a2, int a3, int z)
+{
+	T((T_CALLED("newwin(%d,%d,%d,%d)"), a1, a2, a3, z)); returnWin(newwin(a1, a2, a3, z));
+}
+
+
+extern int call_nl (void);
+int call_nl (void)
+{
+	T((T_CALLED("nl()"))); returnCode(nl());
+}
+
+
+extern int call_nocbreak (void);
+int call_nocbreak (void)
+{
+	T((T_CALLED("nocbreak()"))); returnCode(nocbreak());
+}
+
+
+extern int call_nodelay (WINDOW * a1, NCURSES_BOOL z);
+int call_nodelay (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("nodelay(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(nodelay(a1, z));
+}
+
+
+extern int call_noecho (void);
+int call_noecho (void)
+{
+	T((T_CALLED("noecho()"))); returnCode(noecho());
+}
+
+
+extern int call_nonl (void);
+int call_nonl (void)
+{
+	T((T_CALLED("nonl()"))); returnCode(nonl());
+}
+
+
+extern void call_noqiflush (void);
+void call_noqiflush (void)
+{
+	T((T_CALLED("noqiflush()"))); noqiflush();
+	returnVoid;
+}
+
+
+extern int call_noraw (void);
+int call_noraw (void)
+{
+	T((T_CALLED("noraw()"))); returnCode(noraw());
+}
+
+
+extern int call_notimeout (WINDOW * a1, NCURSES_BOOL z);
+int call_notimeout (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("notimeout(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(notimeout(a1, z));
+}
+
+
+extern int call_overlay (const WINDOW * a1, WINDOW * z);
+int call_overlay (const WINDOW * a1, WINDOW * z)
+{
+	T((T_CALLED("overlay(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(overlay(a1, z));
+}
+
+
+extern int call_overwrite (const WINDOW * a1, WINDOW * z);
+int call_overwrite (const WINDOW * a1, WINDOW * z)
+{
+	T((T_CALLED("overwrite(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(overwrite(a1, z));
+}
+
+
+extern int call_pair_content (short a1, short * a2, short * z);
+int call_pair_content (short a1, short * a2, short * z)
+{
+	T((T_CALLED("pair_content(%#lx,%p,%p)"), (long)a1, (const void *)a2, (const void *)z)); returnCode(pair_content(a1, a2, z));
+}
+
+
+extern int call_PAIR_NUMBER (int z);
+int call_PAIR_NUMBER (int z)
+{
+	T((T_CALLED("PAIR_NUMBER(%d)"), z)); returnCode(((int)((((unsigned long)((z)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))));
+}
+
+
+extern int call_pechochar (WINDOW * a1, const chtype z);
+int call_pechochar (WINDOW * a1, const chtype z)
+{
+	T((T_CALLED("pechochar(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(pechochar(a1, z));
+}
+
+
+extern int call_pnoutrefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z);
+int call_pnoutrefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z)
+{
+	T((T_CALLED("pnoutrefresh(%p,%d,%d,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, a5, a6, z)); returnCode(pnoutrefresh(a1, a2, a3, a4, a5, a6, z));
+}
+
+
+extern int call_prefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z);
+int call_prefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z)
+{
+	T((T_CALLED("prefresh(%p,%d,%d,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, a5, a6, z)); returnCode(prefresh(a1, a2, a3, a4, a5, a6, z));
+}
+
+
+extern int call_putwin (WINDOW * a1, FILE * z);
+int call_putwin (WINDOW * a1, FILE * z)
+{
+	T((T_CALLED("putwin(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(putwin(a1, z));
+}
+
+
+extern void call_qiflush (void);
+void call_qiflush (void)
+{
+	T((T_CALLED("qiflush()"))); qiflush();
+	returnVoid;
+}
+
+
+extern int call_raw (void);
+int call_raw (void)
+{
+	T((T_CALLED("raw()"))); returnCode(raw());
+}
+
+
+extern int call_redrawwin (WINDOW * z);
+int call_redrawwin (WINDOW * z)
+{
+	T((T_CALLED("redrawwin(%p)"), (const void *)z)); returnCode(wredrawln(z, 0, ((z) ? (z)->_maxy+1 : -1)));
+}
+
+
+extern int call_refresh (void);
+int call_refresh (void)
+{
+	T((T_CALLED("refresh()"))); returnCode(wrefresh(stdscr));
+}
+
+
+extern int call_resetty (void);
+int call_resetty (void)
+{
+	T((T_CALLED("resetty()"))); returnCode(resetty());
+}
+
+
+extern int call_reset_prog_mode (void);
+int call_reset_prog_mode (void)
+{
+	T((T_CALLED("reset_prog_mode()"))); returnCode(reset_prog_mode());
+}
+
+
+extern int call_reset_shell_mode (void);
+int call_reset_shell_mode (void)
+{
+	T((T_CALLED("reset_shell_mode()"))); returnCode(reset_shell_mode());
+}
+
+
+extern int call_ripoffline (int a1, int(* z)(WINDOW * a2, int));
+int call_ripoffline (int a1, int(* z)(WINDOW * a2, int))
+{
+	return ripoffline(a1, z) ;
+}
+
+
+extern int call_savetty (void);
+int call_savetty (void)
+{
+	T((T_CALLED("savetty()"))); returnCode(savetty());
+}
+
+
+extern int call_scr_dump (const char * z);
+int call_scr_dump (const char * z)
+{
+	T((T_CALLED("scr_dump(%s)"), _nc_visbuf2(0,z))); returnCode(scr_dump(z));
+}
+
+
+extern int call_scr_init (const char * z);
+int call_scr_init (const char * z)
+{
+	T((T_CALLED("scr_init(%s)"), _nc_visbuf2(0,z))); returnCode(scr_init(z));
+}
+
+
+extern int call_scrl (int z);
+int call_scrl (int z)
+{
+	T((T_CALLED("scrl(%d)"), z)); returnCode(wscrl(stdscr,(z)));
+}
+
+
+extern int call_scroll (WINDOW * z);
+int call_scroll (WINDOW * z)
+{
+	T((T_CALLED("scroll(%p)"), (const void *)z)); returnCode(wscrl(z,1));
+}
+
+
+extern int call_scrollok (WINDOW * a1, NCURSES_BOOL z);
+int call_scrollok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("scrollok(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(scrollok(a1, z));
+}
+
+
+extern int call_scr_restore (const char * z);
+int call_scr_restore (const char * z)
+{
+	T((T_CALLED("scr_restore(%s)"), _nc_visbuf2(0,z))); returnCode(scr_restore(z));
+}
+
+
+extern int call_scr_set (const char * z);
+int call_scr_set (const char * z)
+{
+	T((T_CALLED("scr_set(%s)"), _nc_visbuf2(0,z))); returnCode(scr_set(z));
+}
+
+
+extern int call_setscrreg (int a1, int z);
+int call_setscrreg (int a1, int z)
+{
+	T((T_CALLED("setscrreg(%d,%d)"), a1, z)); returnCode(wsetscrreg(stdscr,(a1),(z)));
+}
+
+
+extern SCREEN * call_set_term (SCREEN * z);
+SCREEN * call_set_term (SCREEN * z)
+{
+	T((T_CALLED("set_term(%p)"), (const void *)z)); returnSP(set_term(z));
+}
+
+
+extern int call_slk_attroff (const chtype z);
+int call_slk_attroff (const chtype z)
+{
+	T((T_CALLED("slk_attroff(%s)"), _tracechtype2(0,z))); returnCode(slk_attroff(z));
+}
+
+
+#if USE_WIDEC_SUPPORT
+extern int call_slk_attr_off (const attr_t a1, void * z);
+int call_slk_attr_off (const attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(((z) ? (-1) : slk_attroff(a1)));
+}
+#endif
+
+
+extern int call_slk_attron (const chtype z);
+int call_slk_attron (const chtype z)
+{
+	T((T_CALLED("slk_attron(%s)"), _tracechtype2(0,z))); returnCode(slk_attron(z));
+}
+
+
+#if USE_WIDEC_SUPPORT
+extern int call_slk_attr_on (attr_t a1, void * z);
+int call_slk_attr_on (attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z)); returnCode(((z) ? (-1) : slk_attron(a1)));
+}
+#endif
+
+
+extern int call_slk_attrset (const chtype z);
+int call_slk_attrset (const chtype z)
+{
+	T((T_CALLED("slk_attrset(%s)"), _tracechtype2(0,z))); returnCode(slk_attrset(z));
+}
+
+
+extern attr_t call_slk_attr (void);
+attr_t call_slk_attr (void)
+{
+	T((T_CALLED("slk_attr()"))); returnIntAttr((attr_t)slk_attr());
+}
+
+
+extern int call_slk_attr_set (const attr_t a1, short a2, void * z);
+int call_slk_attr_set (const attr_t a1, short a2, void * z)
+{
+	T((T_CALLED("slk_attr_set(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z)); returnCode(slk_attr_set(a1, a2, z));
+}
+
+
+extern int call_slk_clear (void);
+int call_slk_clear (void)
+{
+	T((T_CALLED("slk_clear()"))); returnCode(slk_clear());
+}
+
+
+extern int call_slk_color (short z);
+int call_slk_color (short z)
+{
+	T((T_CALLED("slk_color(%#lx)"), (long)z)); returnCode(slk_color(z));
+}
+
+
+extern int call_slk_init (int z);
+int call_slk_init (int z)
+{
+	T((T_CALLED("slk_init(%d)"), z)); returnCode(slk_init(z));
+}
+
+
+extern char * call_slk_label (int z);
+char * call_slk_label (int z)
+{
+	T((T_CALLED("slk_label(%d)"), z)); returnPtr(slk_label(z));
+}
+
+
+extern int call_slk_noutrefresh (void);
+int call_slk_noutrefresh (void)
+{
+	T((T_CALLED("slk_noutrefresh()"))); returnCode(slk_noutrefresh());
+}
+
+
+extern int call_slk_refresh (void);
+int call_slk_refresh (void)
+{
+	T((T_CALLED("slk_refresh()"))); returnCode(slk_refresh());
+}
+
+
+extern int call_slk_restore (void);
+int call_slk_restore (void)
+{
+	T((T_CALLED("slk_restore()"))); returnCode(slk_restore());
+}
+
+
+extern int call_slk_set (int a1, const char * a2, int z);
+int call_slk_set (int a1, const char * a2, int z)
+{
+	T((T_CALLED("slk_set(%d,%s,%d)"), a1, _nc_visbuf2(1,a2), z)); returnCode(slk_set(a1, a2, z));
+}
+
+
+extern int call_slk_touch (void);
+int call_slk_touch (void)
+{
+	T((T_CALLED("slk_touch()"))); returnCode(slk_touch());
+}
+
+
+extern int call_standout (void);
+int call_standout (void)
+{
+	T((T_CALLED("standout()"))); returnIntAttr((attr_t)(((stdscr) ? ((stdscr)->_attrs = (attr_t)(((chtype)((1U)) << ((8) + 8))), (0)) : (-1))));
+}
+
+
+extern int call_standend (void);
+int call_standend (void)
+{
+	T((T_CALLED("standend()"))); returnIntAttr((attr_t)(((stdscr) ? ((stdscr)->_attrs = (attr_t)((1U - 1U)), (0)) : (-1))));
+}
+
+
+extern int call_start_color (void);
+int call_start_color (void)
+{
+	T((T_CALLED("start_color()"))); returnCode(start_color());
+}
+
+
+extern WINDOW * call_subpad (WINDOW * a1, int a2, int a3, int a4, int z);
+WINDOW * call_subpad (WINDOW * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("subpad(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z)); returnWin(subpad(a1, a2, a3, a4, z));
+}
+
+
+extern WINDOW * call_subwin (WINDOW * a1, int a2, int a3, int a4, int z);
+WINDOW * call_subwin (WINDOW * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("subwin(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z)); returnWin(subwin(a1, a2, a3, a4, z));
+}
+
+
+extern int call_syncok (WINDOW * a1, NCURSES_BOOL z);
+int call_syncok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("syncok(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(syncok(a1, z));
+}
+
+
+extern chtype call_termattrs (void);
+chtype call_termattrs (void)
+{
+	T((T_CALLED("termattrs()"))); returnChtype(termattrs());
+}
+
+
+extern char * call_termname (void);
+char * call_termname (void)
+{
+	T((T_CALLED("termname()"))); returnPtr(termname());
+}
+
+
+extern void call_timeout (int z);
+void call_timeout (int z)
+{
+	T((T_CALLED("timeout(%d)"), z)); wtimeout(stdscr,(z));
+	returnVoid;
+}
+
+
+extern int call_touchline (WINDOW * a1, int a2, int z);
+int call_touchline (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("touchline(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(wtouchln((a1), a2, z, 1));
+}
+
+
+extern int call_touchwin (WINDOW * z);
+int call_touchwin (WINDOW * z)
+{
+	T((T_CALLED("touchwin(%p)"), (const void *)z)); returnCode(wtouchln((z), 0, ((z) ? ((z)->_maxy + 1) : (-1)), 1));
+}
+
+
+extern int call_typeahead (int z);
+int call_typeahead (int z)
+{
+	T((T_CALLED("typeahead(%d)"), z)); returnCode(typeahead(z));
+}
+
+
+extern int call_ungetch (int z);
+int call_ungetch (int z)
+{
+	T((T_CALLED("ungetch(%d)"), z)); returnCode(ungetch(z));
+}
+
+
+extern int call_untouchwin (WINDOW * z);
+int call_untouchwin (WINDOW * z)
+{
+	T((T_CALLED("untouchwin(%p)"), (const void *)z)); returnCode(wtouchln((z), 0, ((z) ? ((z)->_maxy + 1) : (-1)), 0));
+}
+
+
+extern void call_use_env (NCURSES_BOOL z);
+void call_use_env (NCURSES_BOOL z)
+{
+	T((T_CALLED("use_env(%#lx)"), (long)z)); use_env(z);
+	returnVoid;
+}
+
+
+extern void call_use_tioctl (NCURSES_BOOL z);
+void call_use_tioctl (NCURSES_BOOL z)
+{
+	T((T_CALLED("use_tioctl(%#lx)"), (long)z)); use_tioctl(z);
+	returnVoid;
+}
+
+
+extern int call_vidattr (chtype z);
+int call_vidattr (chtype z)
+{
+	T((T_CALLED("vidattr(%s)"), _tracechtype2(0,z))); returnCode(vidattr(z));
+}
+
+
+extern int call_vidputs (chtype a1, NCURSES_OUTC z);
+int call_vidputs (chtype a1, NCURSES_OUTC z)
+{
+	T((T_CALLED("vidputs(%s,%#lx)"), _tracechtype2(0,a1), (long)z)); returnCode(vidputs(a1, z));
+}
+
+
+extern int call_vline (chtype a1, int z);
+int call_vline (chtype a1, int z)
+{
+	T((T_CALLED("vline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(wvline(stdscr, a1, (z)));
+}
+
+
+extern int call_vwprintw (WINDOW * a1, const char * a2, va_list z);
+int call_vwprintw (WINDOW * a1, const char * a2, va_list z)
+{
+	T((T_CALLED("vwprintw(%p,%s,%s)"), (const void *)a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwprintw(a1, a2, z));
+}
+
+
+extern int call_vw_printw (WINDOW * a1, const char * a2, va_list z);
+int call_vw_printw (WINDOW * a1, const char * a2, va_list z)
+{
+	T((T_CALLED("vw_printw(%p,%s,%s)"), (const void *)a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwprintw(a1, a2, z));
+}
+
+
+extern int call_vwscanw (WINDOW * a1, const char * a2, va_list z);
+int call_vwscanw (WINDOW * a1, const char * a2, va_list z)
+{
+	T((T_CALLED("vwscanw(%p,%s,%s)"), (const void *)a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwscanw(a1, a2, z));
+}
+
+
+extern int call_vw_scanw (WINDOW * a1, const char * a2, va_list z);
+int call_vw_scanw (WINDOW * a1, const char * a2, va_list z)
+{
+	T((T_CALLED("vw_scanw(%p,%s,%s)"), (const void *)a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwscanw(a1, a2, z));
+}
+
+
+extern int call_waddch (WINDOW * a1, const chtype z);
+int call_waddch (WINDOW * a1, const chtype z)
+{
+	T((T_CALLED("waddch(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(waddch(a1, z));
+}
+
+
+extern int call_waddchnstr (WINDOW * a1, const chtype * a2, int z);
+int call_waddchnstr (WINDOW * a1, const chtype * a2, int z)
+{
+	T((T_CALLED("waddchnstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z)); returnCode(waddchnstr(a1, a2, z));
+}
+
+
+extern int call_waddchstr (WINDOW * a1, const chtype * z);
+int call_waddchstr (WINDOW * a1, const chtype * z)
+{
+	T((T_CALLED("waddchstr(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(waddchnstr(a1,z,-1));
+}
+
+
+extern int call_waddnstr (WINDOW * a1, const char * a2, int z);
+int call_waddnstr (WINDOW * a1, const char * a2, int z)
+{
+	T((T_CALLED("waddnstr(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z)); returnCode(waddnstr(a1, a2, z));
+}
+
+
+extern int call_waddstr (WINDOW * a1, const char * z);
+int call_waddstr (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("waddstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(waddnstr(a1,z,-1));
+}
+
+
+extern int call_wattron (WINDOW * a1, int z);
+int call_wattron (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattron(%p,%d)"), (const void *)a1, z)); returnCode(wattr_on(a1, (attr_t)(z), ((void*)0)));
+}
+
+
+extern int call_wattroff (WINDOW * a1, int z);
+int call_wattroff (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattroff(%p,%d)"), (const void *)a1, z)); returnCode(wattr_off(a1, (attr_t)(z), ((void*)0)));
+}
+
+
+extern int call_wattrset (WINDOW * a1, int z);
+int call_wattrset (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattrset(%p,%d)"), (const void *)a1, z)); returnIntAttr((attr_t)((a1) ? ((a1)->_attrs = (attr_t)(z), (0)) : (-1)));
+}
+
+
+extern int call_wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z);
+int call_wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z)
+{
+	T((T_CALLED("wattr_get(%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)z)); returnCode(((void)(((a2) != (void *)0) ? (*(a2) = (a1) ? (a1)->_attrs : 0) : (0)), (void)(((a3) != (void *)0) ? (*(a3) = (short) ((a1) ? ((int)((((unsigned long)(((a1)->_attrs)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) : 0)) : (0)), (0)));
+}
+
+
+extern int call_wattr_on (WINDOW * a1, attr_t a2, void * z);
+int call_wattr_on (WINDOW * a1, attr_t a2, void * z)
+{
+	T((T_CALLED("wattr_on(%p,%s,%p)"), (const void *)a1, _traceattr2(1,a2), (const void *)z)); returnCode(wattr_on(a1, a2, z));
+}
+
+
+extern int call_wattr_off (WINDOW * a1, attr_t a2, void * z);
+int call_wattr_off (WINDOW * a1, attr_t a2, void * z)
+{
+	T((T_CALLED("wattr_off(%p,%s,%p)"), (const void *)a1, _traceattr2(1,a2), (const void *)z)); returnCode(wattr_off(a1, a2, z));
+}
+
+
+extern int call_wattr_set (WINDOW * a1, attr_t a2, short a3, void * z);
+int call_wattr_set (WINDOW * a1, attr_t a2, short a3, void * z)
+{
+	T((T_CALLED("wattr_set(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z)); returnCode((((a1) ? ((a1)->_attrs = (((a2) & ~((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) | (attr_t)((chtype)(((a3))) << ((0) + 8)))) : (0)), (0)));
+}
+
+
+extern int call_wbkgd (WINDOW * a1, chtype z);
+int call_wbkgd (WINDOW * a1, chtype z)
+{
+	T((T_CALLED("wbkgd(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(wbkgd(a1, z));
+}
+
+
+extern void call_wbkgdset (WINDOW * a1, chtype z);
+void call_wbkgdset (WINDOW * a1, chtype z)
+{
+	T((T_CALLED("wbkgdset(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); wbkgdset(a1, z);
+	returnVoid;
+}
+
+
+extern int call_wborder (WINDOW * a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype a8, chtype z);
+int call_wborder (WINDOW * a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype a8, chtype z)
+{
+	T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"), (const void *)a1, _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,a8), _tracechtype2(8,z))); returnCode(wborder(a1, a2, a3, a4, a5, a6, a7, a8, z));
+}
+
+
+extern int call_wchgat (WINDOW * a1, int a2, attr_t a3, short a4, const void * z);
+int call_wchgat (WINDOW * a1, int a2, attr_t a3, short a4, const void * z)
+{
+	T((T_CALLED("wchgat(%p,%d,%s,%#lx,%p)"), (const void *)a1, a2, _traceattr2(2,a3), (long)a4, (const void *)z)); returnCode(wchgat(a1, a2, a3, a4, z));
+}
+
+
+extern int call_wclear (WINDOW * z);
+int call_wclear (WINDOW * z)
+{
+	T((T_CALLED("wclear(%p)"), (const void *)z)); returnCode(wclear(z));
+}
+
+
+extern int call_wclrtobot (WINDOW * z);
+int call_wclrtobot (WINDOW * z)
+{
+	T((T_CALLED("wclrtobot(%p)"), (const void *)z)); returnCode(wclrtobot(z));
+}
+
+
+extern int call_wclrtoeol (WINDOW * z);
+int call_wclrtoeol (WINDOW * z)
+{
+	T((T_CALLED("wclrtoeol(%p)"), (const void *)z)); returnCode(wclrtoeol(z));
+}
+
+
+extern int call_wcolor_set (WINDOW * a1, short a2, void * z);
+int call_wcolor_set (WINDOW * a1, short a2, void * z)
+{
+	T((T_CALLED("wcolor_set(%p,%#lx,%p)"), (const void *)a1, (long)a2, (const void *)z)); returnCode(wcolor_set(a1, a2, z));
+}
+
+
+extern void call_wcursyncup (WINDOW * z);
+void call_wcursyncup (WINDOW * z)
+{
+	T((T_CALLED("wcursyncup(%p)"), (const void *)z)); wcursyncup(z);
+	returnVoid;
+}
+
+
+extern int call_wdelch (WINDOW * z);
+int call_wdelch (WINDOW * z)
+{
+	T((T_CALLED("wdelch(%p)"), (const void *)z)); returnCode(wdelch(z));
+}
+
+
+extern int call_wdeleteln (WINDOW * z);
+int call_wdeleteln (WINDOW * z)
+{
+	T((T_CALLED("wdeleteln(%p)"), (const void *)z)); returnCode(winsdelln(z,-1));
+}
+
+
+extern int call_wechochar (WINDOW * a1, const chtype z);
+int call_wechochar (WINDOW * a1, const chtype z)
+{
+	T((T_CALLED("wechochar(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(wechochar(a1, z));
+}
+
+
+extern int call_werase (WINDOW * z);
+int call_werase (WINDOW * z)
+{
+	T((T_CALLED("werase(%p)"), (const void *)z)); returnCode(werase(z));
+}
+
+
+extern int call_wgetch (WINDOW * z);
+int call_wgetch (WINDOW * z)
+{
+	T((T_CALLED("wgetch(%p)"), (const void *)z)); returnCode(wgetch(z));
+}
+
+
+extern int call_wgetnstr (WINDOW * a1, char * a2, int z);
+int call_wgetnstr (WINDOW * a1, char * a2, int z)
+{
+	T((T_CALLED("wgetnstr(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z)); returnCode(wgetnstr(a1, a2, z));
+}
+
+
+extern int call_wgetstr (WINDOW * a1, char * z);
+int call_wgetstr (WINDOW * a1, char * z)
+{
+	T((T_CALLED("wgetstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(wgetnstr(a1, z, -1));
+}
+
+
+extern int call_whline (WINDOW * a1, chtype a2, int z);
+int call_whline (WINDOW * a1, chtype a2, int z)
+{
+	T((T_CALLED("whline(%p,%s,%d)"), (const void *)a1, _tracechtype2(1,a2), z)); returnCode(whline(a1, a2, z));
+}
+
+
+extern chtype call_winch (WINDOW * z);
+chtype call_winch (WINDOW * z)
+{
+	T((T_CALLED("winch(%p)"), (const void *)z)); returnChtype(winch(z));
+}
+
+
+extern int call_winchnstr (WINDOW * a1, chtype * a2, int z);
+int call_winchnstr (WINDOW * a1, chtype * a2, int z)
+{
+	T((T_CALLED("winchnstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z)); returnCode(winchnstr(a1, a2, z));
+}
+
+
+extern int call_winchstr (WINDOW * a1, chtype * z);
+int call_winchstr (WINDOW * a1, chtype * z)
+{
+	T((T_CALLED("winchstr(%p,%p)"), (const void *)a1, (const void *)z)); returnCode(winchnstr(a1, z, -1));
+}
+
+
+extern int call_winnstr (WINDOW * a1, char * a2, int z);
+int call_winnstr (WINDOW * a1, char * a2, int z)
+{
+	return winnstr(a1, a2, z) ;
+}
+
+
+extern int call_winsch (WINDOW * a1, chtype z);
+int call_winsch (WINDOW * a1, chtype z)
+{
+	T((T_CALLED("winsch(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(winsch(a1, z));
+}
+
+
+extern int call_winsdelln (WINDOW * a1, int z);
+int call_winsdelln (WINDOW * a1, int z)
+{
+	T((T_CALLED("winsdelln(%p,%d)"), (const void *)a1, z)); returnCode(winsdelln(a1, z));
+}
+
+
+extern int call_winsertln (WINDOW * z);
+int call_winsertln (WINDOW * z)
+{
+	T((T_CALLED("winsertln(%p)"), (const void *)z)); returnCode(winsdelln(z,1));
+}
+
+
+extern int call_winsnstr (WINDOW * a1, const char * a2, int z);
+int call_winsnstr (WINDOW * a1, const char * a2, int z)
+{
+	T((T_CALLED("winsnstr(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z)); returnCode(winsnstr(a1, a2, z));
+}
+
+
+extern int call_winsstr (WINDOW * a1, const char * z);
+int call_winsstr (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("winsstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(winsnstr(a1, z, -1));
+}
+
+
+extern int call_winstr (WINDOW * a1, char * z);
+int call_winstr (WINDOW * a1, char * z)
+{
+	T((T_CALLED("winstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(winnstr(a1, z, -1));
+}
+
+
+extern int call_wmove (WINDOW * a1, int a2, int z);
+int call_wmove (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("wmove(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(wmove(a1, a2, z));
+}
+
+
+extern int call_wnoutrefresh (WINDOW * z);
+int call_wnoutrefresh (WINDOW * z)
+{
+	T((T_CALLED("wnoutrefresh(%p)"), (const void *)z)); returnCode(wnoutrefresh(z));
+}
+
+
+extern int call_wredrawln (WINDOW * a1, int a2, int z);
+int call_wredrawln (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("wredrawln(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(wredrawln(a1, a2, z));
+}
+
+
+extern int call_wrefresh (WINDOW * z);
+int call_wrefresh (WINDOW * z)
+{
+	T((T_CALLED("wrefresh(%p)"), (const void *)z)); returnCode(wrefresh(z));
+}
+
+
+extern int call_wscrl (WINDOW * a1, int z);
+int call_wscrl (WINDOW * a1, int z)
+{
+	T((T_CALLED("wscrl(%p,%d)"), (const void *)a1, z)); returnCode(wscrl(a1, z));
+}
+
+
+extern int call_wsetscrreg (WINDOW * a1, int a2, int z);
+int call_wsetscrreg (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("wsetscrreg(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(wsetscrreg(a1, a2, z));
+}
+
+
+extern int call_wstandout (WINDOW * z);
+int call_wstandout (WINDOW * z)
+{
+	T((T_CALLED("wstandout(%p)"), (const void *)z)); returnIntAttr((attr_t)(((z) ? ((z)->_attrs = (attr_t)(((chtype)((1U)) << ((8) + 8))), (0)) : (-1))));
+}
+
+
+extern int call_wstandend (WINDOW * z);
+int call_wstandend (WINDOW * z)
+{
+	T((T_CALLED("wstandend(%p)"), (const void *)z)); returnIntAttr((attr_t)(((z) ? ((z)->_attrs = (attr_t)((1U - 1U)), (0)) : (-1))));
+}
+
+
+extern void call_wsyncdown (WINDOW * z);
+void call_wsyncdown (WINDOW * z)
+{
+	T((T_CALLED("wsyncdown(%p)"), (const void *)z)); wsyncdown(z);
+	returnVoid;
+}
+
+
+extern void call_wsyncup (WINDOW * z);
+void call_wsyncup (WINDOW * z)
+{
+	T((T_CALLED("wsyncup(%p)"), (const void *)z)); wsyncup(z);
+	returnVoid;
+}
+
+
+extern void call_wtimeout (WINDOW * a1, int z);
+void call_wtimeout (WINDOW * a1, int z)
+{
+	T((T_CALLED("wtimeout(%p,%d)"), (const void *)a1, z)); wtimeout(a1, z);
+	returnVoid;
+}
+
+
+extern int call_wtouchln (WINDOW * a1, int a2, int a3, int z);
+int call_wtouchln (WINDOW * a1, int a2, int a3, int z)
+{
+	T((T_CALLED("wtouchln(%p,%d,%d,%d)"), (const void *)a1, a2, a3, z)); returnCode(wtouchln(a1, a2, a3, z));
+}
+
+
+extern int call_wvline (WINDOW * a1, chtype a2, int z);
+int call_wvline (WINDOW * a1, chtype a2, int z)
+{
+	T((T_CALLED("wvline(%p,%s,%d)"), (const void *)a1, _tracechtype2(1,a2), z)); returnCode(wvline(a1, a2, z));
+}
+
+
+extern int call_tigetflag (const char * z);
+int call_tigetflag (const char * z)
+{
+	T((T_CALLED("tigetflag(%s)"), _nc_visbuf2(0,z))); returnCode(tigetflag(z));
+}
+
+
+extern int call_tigetnum (const char * z);
+int call_tigetnum (const char * z)
+{
+	T((T_CALLED("tigetnum(%s)"), _nc_visbuf2(0,z))); returnCode(tigetnum(z));
+}
+
+
+extern char * call_tigetstr (const char * z);
+char * call_tigetstr (const char * z)
+{
+	T((T_CALLED("tigetstr(%s)"), _nc_visbuf2(0,z))); returnPtr(tigetstr(z));
+}
+
+
+extern int call_putp (const char * z);
+int call_putp (const char * z)
+{
+	T((T_CALLED("putp(%s)"), _nc_visbuf2(0,z))); returnCode(putp(z));
+}
+
+
+extern int call_getattrs (const WINDOW * z);
+int call_getattrs (const WINDOW * z)
+{
+	T((T_CALLED("getattrs(%p)"), (const void *)z)); returnCode((int)((z) ? (z)->_attrs : (1U - 1U)));
+}
+
+
+extern int call_getcurx (const WINDOW * z);
+int call_getcurx (const WINDOW * z)
+{
+	T((T_CALLED("getcurx(%p)"), (const void *)z)); returnCode(((z) ? (z)->_curx : (-1)));
+}
+
+
+extern int call_getcury (const WINDOW * z);
+int call_getcury (const WINDOW * z)
+{
+	T((T_CALLED("getcury(%p)"), (const void *)z)); returnCode(((z) ? (z)->_cury : (-1)));
+}
+
+
+extern int call_getbegx (const WINDOW * z);
+int call_getbegx (const WINDOW * z)
+{
+	T((T_CALLED("getbegx(%p)"), (const void *)z)); returnCode(((z) ? (z)->_begx : (-1)));
+}
+
+
+extern int call_getbegy (const WINDOW * z);
+int call_getbegy (const WINDOW * z)
+{
+	T((T_CALLED("getbegy(%p)"), (const void *)z)); returnCode(((z) ? (z)->_begy : (-1)));
+}
+
+
+extern int call_getmaxx (const WINDOW * z);
+int call_getmaxx (const WINDOW * z)
+{
+	T((T_CALLED("getmaxx(%p)"), (const void *)z)); returnCode(((z) ? ((z)->_maxx + 1) : (-1)));
+}
+
+
+extern int call_getmaxy (const WINDOW * z);
+int call_getmaxy (const WINDOW * z)
+{
+	T((T_CALLED("getmaxy(%p)"), (const void *)z)); returnCode(((z) ? ((z)->_maxy + 1) : (-1)));
+}
+
+
+extern int call_getparx (const WINDOW * z);
+int call_getparx (const WINDOW * z)
+{
+	T((T_CALLED("getparx(%p)"), (const void *)z)); returnCode(((z) ? (z)->_parx : (-1)));
+}
+
+
+extern int call_getpary (const WINDOW * z);
+int call_getpary (const WINDOW * z)
+{
+	T((T_CALLED("getpary(%p)"), (const void *)z)); returnCode(((z) ? (z)->_pary : (-1)));
+}
+
+
+extern WINDOW * call_wgetparent (const WINDOW * z);
+WINDOW * call_wgetparent (const WINDOW * z)
+{
+	T((T_CALLED("wgetparent(%p)"), (const void *)z)); returnWin(((z) ? (z)->_parent : 0));
+}
+
+
+extern NCURSES_BOOL call_is_cleared (const WINDOW * z);
+NCURSES_BOOL call_is_cleared (const WINDOW * z)
+{
+	T((T_CALLED("is_cleared(%p)"), (const void *)z)); returnBool(((z) ? (z)->_clear : 0));
+}
+
+
+extern NCURSES_BOOL call_is_idcok (const WINDOW * z);
+NCURSES_BOOL call_is_idcok (const WINDOW * z)
+{
+	T((T_CALLED("is_idcok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_idcok : 0));
+}
+
+
+extern NCURSES_BOOL call_is_idlok (const WINDOW * z);
+NCURSES_BOOL call_is_idlok (const WINDOW * z)
+{
+	T((T_CALLED("is_idlok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_idlok : 0));
+}
+
+
+extern NCURSES_BOOL call_is_immedok (const WINDOW * z);
+NCURSES_BOOL call_is_immedok (const WINDOW * z)
+{
+	T((T_CALLED("is_immedok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_immed : 0));
+}
+
+
+extern NCURSES_BOOL call_is_keypad (const WINDOW * z);
+NCURSES_BOOL call_is_keypad (const WINDOW * z)
+{
+	T((T_CALLED("is_keypad(%p)"), (const void *)z)); returnBool(((z) ? (z)->_use_keypad : 0));
+}
+
+
+extern NCURSES_BOOL call_is_leaveok (const WINDOW * z);
+NCURSES_BOOL call_is_leaveok (const WINDOW * z)
+{
+	T((T_CALLED("is_leaveok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_leaveok : 0));
+}
+
+
+extern NCURSES_BOOL call_is_nodelay (const WINDOW * z);
+NCURSES_BOOL call_is_nodelay (const WINDOW * z)
+{
+	T((T_CALLED("is_nodelay(%p)"), (const void *)z)); returnBool(((z) ? ((z)->_delay == 0) : 0));
+}
+
+
+extern NCURSES_BOOL call_is_notimeout (const WINDOW * z);
+NCURSES_BOOL call_is_notimeout (const WINDOW * z)
+{
+	T((T_CALLED("is_notimeout(%p)"), (const void *)z)); returnBool(((z) ? (z)->_notimeout : 0));
+}
+
+
+extern NCURSES_BOOL call_is_pad (const WINDOW * z);
+NCURSES_BOOL call_is_pad (const WINDOW * z)
+{
+	T((T_CALLED("is_pad(%p)"), (const void *)z)); returnBool(((z) ? ((z)->_flags & 0x10) != 0 : 0));
+}
+
+
+extern NCURSES_BOOL call_is_scrollok (const WINDOW * z);
+NCURSES_BOOL call_is_scrollok (const WINDOW * z)
+{
+	T((T_CALLED("is_scrollok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_scroll : 0));
+}
+
+
+extern NCURSES_BOOL call_is_subwin (const WINDOW * z);
+NCURSES_BOOL call_is_subwin (const WINDOW * z)
+{
+	T((T_CALLED("is_subwin(%p)"), (const void *)z)); returnBool(((z) ? ((z)->_flags & 0x01) != 0 : 0));
+}
+
+
+extern NCURSES_BOOL call_is_syncok (const WINDOW * z);
+NCURSES_BOOL call_is_syncok (const WINDOW * z)
+{
+	T((T_CALLED("is_syncok(%p)"), (const void *)z)); returnBool(((z) ? (z)->_sync : 0));
+}
+
+
+extern int call_wgetdelay (const WINDOW * z);
+int call_wgetdelay (const WINDOW * z)
+{
+	T((T_CALLED("wgetdelay(%p)"), (const void *)z)); returnCode(((z) ? (z)->_delay : 0));
+}
+
+
+extern int call_wgetscrreg (const WINDOW * a1, int * a2, int * z);
+int call_wgetscrreg (const WINDOW * a1, int * a2, int * z)
+{
+	T((T_CALLED("wgetscrreg(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z)); returnCode(((a1) ? (*(a2) = (a1)->_regtop, *(z) = (a1)->_regbottom, (0)) : (-1)));
+}
+
+
+#if USE_SP_FUNC_SUPPORT
+extern SCREEN * call_new_prescr (void);
+SCREEN * call_new_prescr (void)
+{
+	T((T_CALLED("new_prescr()"))); returnSP(new_prescr());
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___baudrate (SCREEN * z);
+int call_NCURSES_SP_NAME___baudrate (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(baudrate)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(baudrate)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___beep (SCREEN * z);
+int call_NCURSES_SP_NAME___beep (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(beep)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(beep)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___can_change_color (SCREEN * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___can_change_color (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(can_change_color)(%p)"), (const void *)z)); returnBool(NCURSES_SP_NAME(can_change_color)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___cbreak (SCREEN * z);
+int call_NCURSES_SP_NAME___cbreak (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(cbreak)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(cbreak)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___curs_set (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___curs_set (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(curs_set)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(curs_set)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___color_content (SCREEN * a1, short a2, short * a3, short * a4, short * z);
+int call_NCURSES_SP_NAME___color_content (SCREEN * a1, short a2, short * a3, short * a4, short * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(color_content)(%p,%#lx,%p,%p,%p)"), (const void *)a1, (long)a2, (const void *)a3, (const void *)a4, (const void *)z)); returnCode(NCURSES_SP_NAME(color_content)(a1, a2, a3, a4, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___def_prog_mode (SCREEN * z);
+int call_NCURSES_SP_NAME___def_prog_mode (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(def_prog_mode)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(def_prog_mode)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___def_shell_mode (SCREEN * z);
+int call_NCURSES_SP_NAME___def_shell_mode (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(def_shell_mode)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(def_shell_mode)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___delay_output (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___delay_output (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(delay_output)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(delay_output)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___doupdate (SCREEN * z);
+int call_NCURSES_SP_NAME___doupdate (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(doupdate)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(doupdate)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___echo (SCREEN * z);
+int call_NCURSES_SP_NAME___echo (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(echo)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(echo)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___endwin (SCREEN * z);
+int call_NCURSES_SP_NAME___endwin (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(endwin)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(endwin)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern char call_NCURSES_SP_NAME___erasechar (SCREEN * z);
+char call_NCURSES_SP_NAME___erasechar (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(erasechar)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(erasechar)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___filter (SCREEN * z);
+void call_NCURSES_SP_NAME___filter (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(filter)(%p)"), (const void *)z)); NCURSES_SP_NAME(filter)(z);
+	returnVoid;
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___flash (SCREEN * z);
+int call_NCURSES_SP_NAME___flash (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(flash)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(flash)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___flushinp (SCREEN * z);
+int call_NCURSES_SP_NAME___flushinp (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(flushinp)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(flushinp)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern WINDOW * call_NCURSES_SP_NAME___getwin (SCREEN * a1, FILE * z);
+WINDOW * call_NCURSES_SP_NAME___getwin (SCREEN * a1, FILE * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(getwin)(%p,%p)"), (const void *)a1, (const void *)z)); returnWin(NCURSES_SP_NAME(getwin)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___halfdelay (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___halfdelay (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(halfdelay)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(halfdelay)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___has_colors (SCREEN * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___has_colors (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(has_colors)(%p)"), (const void *)z)); returnBool(NCURSES_SP_NAME(has_colors)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___has_ic (SCREEN * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___has_ic (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(has_ic)(%p)"), (const void *)z)); returnBool(NCURSES_SP_NAME(has_ic)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___has_il (SCREEN * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___has_il (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(has_il)(%p)"), (const void *)z)); returnBool(NCURSES_SP_NAME(has_il)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___init_color (SCREEN * a1, short a2, short a3, short a4, short z);
+int call_NCURSES_SP_NAME___init_color (SCREEN * a1, short a2, short a3, short a4, short z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(init_color)(%p,%#lx,%#lx,%#lx,%#lx)"), (const void *)a1, (long)a2, (long)a3, (long)a4, (long)z)); returnCode(NCURSES_SP_NAME(init_color)(a1, a2, a3, a4, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___init_pair (SCREEN * a1, short a2, short a3, short z);
+int call_NCURSES_SP_NAME___init_pair (SCREEN * a1, short a2, short a3, short z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(init_pair)(%p,%#lx,%#lx,%#lx)"), (const void *)a1, (long)a2, (long)a3, (long)z)); returnCode(NCURSES_SP_NAME(init_pair)(a1, a2, a3, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___intrflush (SCREEN * a1, WINDOW * a2, NCURSES_BOOL z);
+int call_NCURSES_SP_NAME___intrflush (SCREEN * a1, WINDOW * a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(intrflush)(%p,%p,%#lx)"), (const void *)a1, (const void *)a2, (long)z)); returnCode(NCURSES_SP_NAME(intrflush)(a1, a2, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___isendwin (SCREEN * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___isendwin (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(isendwin)(%p)"), (const void *)z)); returnBool(NCURSES_SP_NAME(isendwin)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern const char * call_NCURSES_SP_NAME___keyname (SCREEN * a1, int z);
+const char * call_NCURSES_SP_NAME___keyname (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(keyname)(%p,%d)"), (const void *)a1, z)); returnPtr(NCURSES_SP_NAME(keyname)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern char call_NCURSES_SP_NAME___killchar (SCREEN * z);
+char call_NCURSES_SP_NAME___killchar (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(killchar)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(killchar)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___longname (SCREEN * z);
+char * call_NCURSES_SP_NAME___longname (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(longname)(%p)"), (const void *)z)); returnPtr(NCURSES_SP_NAME(longname)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___mvcur (SCREEN * a1, int a2, int a3, int a4, int z);
+int call_NCURSES_SP_NAME___mvcur (SCREEN * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(mvcur)(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z)); returnCode(NCURSES_SP_NAME(mvcur)(a1, a2, a3, a4, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___napms (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___napms (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(napms)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(napms)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern WINDOW * call_NCURSES_SP_NAME___newpad (SCREEN * a1, int a2, int z);
+WINDOW * call_NCURSES_SP_NAME___newpad (SCREEN * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(newpad)(%p,%d,%d)"), (const void *)a1, a2, z)); returnWin(NCURSES_SP_NAME(newpad)(a1, a2, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern SCREEN * call_NCURSES_SP_NAME___newterm (SCREEN * a1, const char * a2, FILE * a3, FILE * z);
+SCREEN * call_NCURSES_SP_NAME___newterm (SCREEN * a1, const char * a2, FILE * a3, FILE * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(newterm)(%p,%s,%p,%p)"), (const void *)a1, _nc_visbuf2(1,a2), (const void *)a3, (const void *)z)); returnSP(NCURSES_SP_NAME(newterm)(a1, a2, a3, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern WINDOW * call_NCURSES_SP_NAME___newwin (SCREEN * a1, int a2, int a3, int a4, int z);
+WINDOW * call_NCURSES_SP_NAME___newwin (SCREEN * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(newwin)(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z)); returnWin(NCURSES_SP_NAME(newwin)(a1, a2, a3, a4, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___nl (SCREEN * z);
+int call_NCURSES_SP_NAME___nl (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nl)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(nl)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___nocbreak (SCREEN * z);
+int call_NCURSES_SP_NAME___nocbreak (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nocbreak)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(nocbreak)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___noecho (SCREEN * z);
+int call_NCURSES_SP_NAME___noecho (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(noecho)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(noecho)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___nonl (SCREEN * z);
+int call_NCURSES_SP_NAME___nonl (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nonl)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(nonl)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___noqiflush (SCREEN * z);
+void call_NCURSES_SP_NAME___noqiflush (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(noqiflush)(%p)"), (const void *)z)); NCURSES_SP_NAME(noqiflush)(z);
+	returnVoid;
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___noraw (SCREEN * z);
+int call_NCURSES_SP_NAME___noraw (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(noraw)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(noraw)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___pair_content (SCREEN * a1, short a2, short * a3, short * z);
+int call_NCURSES_SP_NAME___pair_content (SCREEN * a1, short a2, short * a3, short * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(pair_content)(%p,%#lx,%p,%p)"), (const void *)a1, (long)a2, (const void *)a3, (const void *)z)); returnCode(NCURSES_SP_NAME(pair_content)(a1, a2, a3, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___qiflush (SCREEN * z);
+void call_NCURSES_SP_NAME___qiflush (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(qiflush)(%p)"), (const void *)z)); NCURSES_SP_NAME(qiflush)(z);
+	returnVoid;
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___raw (SCREEN * z);
+int call_NCURSES_SP_NAME___raw (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(raw)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(raw)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___reset_prog_mode (SCREEN * z);
+int call_NCURSES_SP_NAME___reset_prog_mode (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(reset_prog_mode)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(reset_prog_mode)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___reset_shell_mode (SCREEN * z);
+int call_NCURSES_SP_NAME___reset_shell_mode (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(reset_shell_mode)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(reset_shell_mode)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___resetty (SCREEN * z);
+int call_NCURSES_SP_NAME___resetty (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(resetty)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(resetty)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___ripoffline (SCREEN * a1, int a2, int(* z)(WINDOW * a3, int));
+int call_NCURSES_SP_NAME___ripoffline (SCREEN * a1, int a2, int(* z)(WINDOW * a3, int))
+{
+	return NCURSES_SP_NAME(ripoffline)(a1, a2, z) ;
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___savetty (SCREEN * z);
+int call_NCURSES_SP_NAME___savetty (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(savetty)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(savetty)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___scr_init (SCREEN * a1, const char * z);
+int call_NCURSES_SP_NAME___scr_init (SCREEN * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(scr_init)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(NCURSES_SP_NAME(scr_init)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___scr_restore (SCREEN * a1, const char * z);
+int call_NCURSES_SP_NAME___scr_restore (SCREEN * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(scr_restore)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(NCURSES_SP_NAME(scr_restore)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___scr_set (SCREEN * a1, const char * z);
+int call_NCURSES_SP_NAME___scr_set (SCREEN * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(scr_set)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(NCURSES_SP_NAME(scr_set)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attroff (SCREEN * a1, const chtype z);
+int call_NCURSES_SP_NAME___slk_attroff (SCREEN * a1, const chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attroff)(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(NCURSES_SP_NAME(slk_attroff)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attron (SCREEN * a1, const chtype z);
+int call_NCURSES_SP_NAME___slk_attron (SCREEN * a1, const chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attron)(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(NCURSES_SP_NAME(slk_attron)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attrset (SCREEN * a1, const chtype z);
+int call_NCURSES_SP_NAME___slk_attrset (SCREEN * a1, const chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attrset)(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(NCURSES_SP_NAME(slk_attrset)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern attr_t call_NCURSES_SP_NAME___slk_attr (SCREEN * z);
+attr_t call_NCURSES_SP_NAME___slk_attr (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attr)(%p)"), (const void *)z)); returnIntAttr((attr_t)NCURSES_SP_NAME(slk_attr)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attr_set (SCREEN * a1, const attr_t a2, short a3, void * z);
+int call_NCURSES_SP_NAME___slk_attr_set (SCREEN * a1, const attr_t a2, short a3, void * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attr_set)(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z)); returnCode(NCURSES_SP_NAME(slk_attr_set)(a1, a2, a3, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_clear (SCREEN * z);
+int call_NCURSES_SP_NAME___slk_clear (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_clear)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(slk_clear)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_color (SCREEN * a1, short z);
+int call_NCURSES_SP_NAME___slk_color (SCREEN * a1, short z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_color)(%p,%#lx)"), (const void *)a1, (long)z)); returnCode(NCURSES_SP_NAME(slk_color)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_init (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___slk_init (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_init)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(slk_init)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___slk_label (SCREEN * a1, int z);
+char * call_NCURSES_SP_NAME___slk_label (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_label)(%p,%d)"), (const void *)a1, z)); returnPtr(NCURSES_SP_NAME(slk_label)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_noutrefresh (SCREEN * z);
+int call_NCURSES_SP_NAME___slk_noutrefresh (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_noutrefresh)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(slk_noutrefresh)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_refresh (SCREEN * z);
+int call_NCURSES_SP_NAME___slk_refresh (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_refresh)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(slk_refresh)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_restore (SCREEN * z);
+int call_NCURSES_SP_NAME___slk_restore (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_restore)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(slk_restore)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_set (SCREEN * a1, int a2, const char * a3, int z);
+int call_NCURSES_SP_NAME___slk_set (SCREEN * a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_set)(%p,%d,%s,%d)"), (const void *)a1, a2, _nc_visbuf2(2,a3), z)); returnCode(NCURSES_SP_NAME(slk_set)(a1, a2, a3, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_touch (SCREEN * z);
+int call_NCURSES_SP_NAME___slk_touch (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_touch)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(slk_touch)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___start_color (SCREEN * z);
+int call_NCURSES_SP_NAME___start_color (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(start_color)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(start_color)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern chtype call_NCURSES_SP_NAME___termattrs (SCREEN * z);
+chtype call_NCURSES_SP_NAME___termattrs (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(termattrs)(%p)"), (const void *)z)); returnChtype(NCURSES_SP_NAME(termattrs)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___termname (SCREEN * z);
+char * call_NCURSES_SP_NAME___termname (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(termname)(%p)"), (const void *)z)); returnPtr(NCURSES_SP_NAME(termname)(z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___typeahead (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___typeahead (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(typeahead)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(typeahead)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___ungetch (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___ungetch (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(ungetch)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(ungetch)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___use_env (SCREEN * a1, NCURSES_BOOL z);
+void call_NCURSES_SP_NAME___use_env (SCREEN * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_env)(%p,%#lx)"), (const void *)a1, (long)z)); NCURSES_SP_NAME(use_env)(a1, z);
+	returnVoid;
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___use_tioctl (SCREEN * a1, NCURSES_BOOL z);
+void call_NCURSES_SP_NAME___use_tioctl (SCREEN * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_tioctl)(%p,%#lx)"), (const void *)a1, (long)z)); NCURSES_SP_NAME(use_tioctl)(a1, z);
+	returnVoid;
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___vidattr (SCREEN * a1, chtype z);
+int call_NCURSES_SP_NAME___vidattr (SCREEN * a1, chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(vidattr)(%p,%s)"), (const void *)a1, _tracechtype2(1,z))); returnCode(NCURSES_SP_NAME(vidattr)(a1, z));
+}
+#endif
+
+
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___vidputs (SCREEN * a1, chtype a2, NCURSES_OUTC_sp z);
+int call_NCURSES_SP_NAME___vidputs (SCREEN * a1, chtype a2, NCURSES_OUTC_sp z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(vidputs)(%p,%s,%#lx)"), (const void *)a1, _tracechtype2(1,a2), (long)z)); returnCode(NCURSES_SP_NAME(vidputs)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___keybound (SCREEN * a1, int a2, int z);
+char * call_NCURSES_SP_NAME___keybound (SCREEN * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(keybound)(%p,%d,%d)"), (const void *)a1, a2, z)); returnPtr(NCURSES_SP_NAME(keybound)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___assume_default_colors (SCREEN * a1, int a2, int z);
+int call_NCURSES_SP_NAME___assume_default_colors (SCREEN * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(assume_default_colors)(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(NCURSES_SP_NAME(assume_default_colors)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___define_key (SCREEN * a1, const char * a2, int z);
+int call_NCURSES_SP_NAME___define_key (SCREEN * a1, const char * a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(define_key)(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z)); returnCode(NCURSES_SP_NAME(define_key)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___get_escdelay (SCREEN * z);
+int call_NCURSES_SP_NAME___get_escdelay (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(get_escdelay)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(get_escdelay)(z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___is_term_resized (SCREEN * a1, int a2, int z);
+NCURSES_BOOL call_NCURSES_SP_NAME___is_term_resized (SCREEN * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(is_term_resized)(%p,%d,%d)"), (const void *)a1, a2, z)); returnBool(NCURSES_SP_NAME(is_term_resized)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___key_defined (SCREEN * a1, const char * z);
+int call_NCURSES_SP_NAME___key_defined (SCREEN * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(key_defined)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z))); returnCode(NCURSES_SP_NAME(key_defined)(a1, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___keyok (SCREEN * a1, int a2, NCURSES_BOOL z);
+int call_NCURSES_SP_NAME___keyok (SCREEN * a1, int a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(keyok)(%p,%d,%#lx)"), (const void *)a1, a2, (long)z)); returnCode(NCURSES_SP_NAME(keyok)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___nofilter (SCREEN * z);
+void call_NCURSES_SP_NAME___nofilter (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nofilter)(%p)"), (const void *)z)); NCURSES_SP_NAME(nofilter)(z);
+	returnVoid;
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___resize_term (SCREEN * a1, int a2, int z);
+int call_NCURSES_SP_NAME___resize_term (SCREEN * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(resize_term)(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(NCURSES_SP_NAME(resize_term)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___resizeterm (SCREEN * a1, int a2, int z);
+int call_NCURSES_SP_NAME___resizeterm (SCREEN * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(resizeterm)(%p,%d,%d)"), (const void *)a1, a2, z)); returnCode(NCURSES_SP_NAME(resizeterm)(a1, a2, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___set_escdelay (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___set_escdelay (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(set_escdelay)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(set_escdelay)(a1, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___set_tabsize (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___set_tabsize (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(set_tabsize)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(set_tabsize)(a1, z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___use_default_colors (SCREEN * z);
+int call_NCURSES_SP_NAME___use_default_colors (SCREEN * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_default_colors)(%p)"), (const void *)z)); returnCode(NCURSES_SP_NAME(use_default_colors)(z));
+}
+#endif
+
+
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___use_legacy_coding (SCREEN * a1, int z);
+int call_NCURSES_SP_NAME___use_legacy_coding (SCREEN * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_legacy_coding)(%p,%d)"), (const void *)a1, z)); returnCode(NCURSES_SP_NAME(use_legacy_coding)(a1, z));
+}
+#endif
+
+
+extern NCURSES_BOOL call_mouse_trafo (int * a1, int * a2, NCURSES_BOOL z);
+NCURSES_BOOL call_mouse_trafo (int * a1, int * a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("mouse_trafo(%p,%p,%#lx)"), (const void *)a1, (const void *)a2, (long)z)); returnBool(wmouse_trafo(stdscr,a1,a2,z));
+}
+int main(void)
+{
+ call_int addch (0);
+ call_int addchnstr (* a1, 0);
+ call_int addchstr (* 0);
+ call_int addnstr (char * a1, 0);
+ call_int addstr (char * 0);
+ call_int attroff (0);
+ call_int attron (0);
+ call_int attrset (0);
+ call_int attr_get (* a1, * a2,* 0);
+ call_int attr_off (a1,* 0);
+ call_int attr_on (a1,* 0);
+ call_int attr_set (a1, a2,* 0);
+ call_int baudrate ();
+ call_int beep ();
+ call_int bkgd (0);
+ call_void bkgdset (0);
+ call_int border (a1, a2, a3, a4, a5, a6, a7, 0);
+ call_int box (WINDOW * a1, a2, 0);
+ call_NCURSES_BOOL can_change_color ();
+ call_int cbreak ();
+ call_int chgat (a1, a2, a3,* 0);
+ call_int clear ();
+ call_int clearok (WINDOW * a1, 0);
+ call_int clrtobot ();
+ call_int clrtoeol ();
+ call_int color_content (a1, * a2, * a3, * 0);
+ call_int color_set (a1,* 0);
+ call_int COLOR_PAIR (0);
+ call_int copywin (WINDOW * a1, WINDOW * a2, a3, a4, a5, a6, a7, a8, 0);
+ call_int curs_set (0);
+ call_int def_prog_mode ();
+ call_int def_shell_mode ();
+ call_int delay_output (0);
+ call_int delch ();
+ call_void delscreen (SCREEN * 0);
+ call_int delwin (WINDOW * 0);
+ call_int deleteln ();
+ call_WINDOW * derwin (WINDOW * a1, a2, a3, a4, 0);
+ call_int doupdate ();
+ call_WINDOW * dupwin (WINDOW * 0);
+ call_int echo ();
+ call_int echochar (0);
+ call_int erase ();
+ call_int endwin ();
+ call_char erasechar ();
+ call_void filter ();
+ call_int flash ();
+ call_int flushinp ();
+ call_chtype getbkgd (WINDOW * 0);
+ call_int getch ();
+ call_int getnstr (char * a1, 0);
+ call_int getstr (char * 0);
+ call_WINDOW * getwin (FILE * 0);
+ call_int halfdelay (0);
+ call_NCURSES_BOOL has_colors ();
+ call_NCURSES_BOOL has_ic ();
+ call_NCURSES_BOOL has_il ();
+ call_int hline (a1, 0);
+ call_void idcok (WINDOW * a1, 0);
+ call_int idlok (WINDOW * a1, 0);
+ call_void immedok (WINDOW * a1, 0);
+ call_chtype inch ();
+ call_int inchnstr (* a1, 0);
+ call_int inchstr (* 0);
+ call_WINDOW * initscr ();
+ call_int init_color (a1, a2, a3, 0);
+ call_int init_pair (a1, a2, 0);
+ call_int innstr (char * a1, 0);
+ call_int insch (0);
+ call_int insdelln (0);
+ call_int insertln ();
+ call_int insnstr (char * a1, 0);
+ call_int insstr (char * 0);
+ call_int instr (char * 0);
+ call_int intrflush (WINDOW * a1, 0);
+ call_NCURSES_BOOL isendwin ();
+ call_NCURSES_BOOL is_linetouched (WINDOW * a1, 0);
+ call_NCURSES_BOOL is_wintouched (WINDOW * 0);
+ call_const char * keyname (0);
+ call_int keypad (WINDOW * a1, 0);
+ call_char killchar ();
+ call_int leaveok (WINDOW * a1, 0);
+ call_char * longname ();
+ call_int meta (WINDOW * a1, 0);
+ call_int move (a1, 0);
+ call_int mvaddch (a1, a2, 0);
+ call_int mvaddchnstr (a1, a2, * a3, 0);
+ call_int mvaddchstr (a1, a2, * 0);
+ call_int mvaddnstr (a1, a2, char * a3, 0);
+ call_int mvaddstr (a1, a2, char * 0);
+ call_int mvchgat (a1, a2, a3, a4, a5,* 0);
+ call_int mvcur (a1, a2, a3, 0);
+ call_int mvdelch (a1, 0);
+ call_int mvderwin (WINDOW * a1, a2, 0);
+ call_int mvgetch (a1, 0);
+ call_int mvgetnstr (a1, a2, char * a3, 0);
+ call_int mvgetstr (a1, a2, char * 0);
+ call_int mvhline (a1, a2, a3, 0);
+ call_chtype mvinch (a1, 0);
+ call_int mvinchnstr (a1, a2, * a3, 0);
+ call_int mvinchstr (a1, a2, * 0);
+ call_int mvinnstr (a1, a2, char * a3, 0);
+ call_int mvinsch (a1, a2, 0);
+ call_int mvinsnstr (a1, a2, char * a3, 0);
+ call_int mvinsstr (a1, a2, char * 0);
+ call_int mvinstr (a1, a2, char * 0);
+ call_int mvvline (a1, a2, a3, 0);
+ call_int mvwaddch (WINDOW * a1, a2, a3, 0);
+ call_int mvwaddchnstr (WINDOW * a1, a2, a3, * a4, 0);
+ call_int mvwaddchstr (WINDOW * a1, a2, a3, * 0);
+ call_int mvwaddnstr (WINDOW * a1, a2, a3, char * a4, 0);
+ call_int mvwaddstr (WINDOW * a1, a2, a3, char * 0);
+ call_int mvwchgat (WINDOW * a1, a2, a3, a4, a5, a6,* 0);
+ call_int mvwdelch (WINDOW * a1, a2, 0);
+ call_int mvwgetch (WINDOW * a1, a2, 0);
+ call_int mvwgetnstr (WINDOW * a1, a2, a3, char * a4, 0);
+ call_int mvwgetstr (WINDOW * a1, a2, a3, char * 0);
+ call_int mvwhline (WINDOW * a1, a2, a3, a4, 0);
+ call_int mvwin (WINDOW * a1, a2, 0);
+ call_chtype mvwinch (WINDOW * a1, a2, 0);
+ call_int mvwinchnstr (WINDOW * a1, a2, a3, * a4, 0);
+ call_int mvwinchstr (WINDOW * a1, a2, a3, * 0);
+ call_int mvwinnstr (WINDOW * a1, a2, a3, char * a4, 0);
+ call_int mvwinsch (WINDOW * a1, a2, a3, 0);
+ call_int mvwinsnstr (WINDOW * a1, a2, a3, char * a4, 0);
+ call_int mvwinsstr (WINDOW * a1, a2, a3, char * 0);
+ call_int mvwinstr (WINDOW * a1, a2, a3, char * 0);
+ call_int mvwvline (WINDOW * a1, a2, a3, a4, 0);
+ call_int napms (0);
+ call_WINDOW * newpad (a1, 0);
+ call_SCREEN * newterm (char * a1, FILE * a2, FILE * 0);
+ call_WINDOW * newwin (a1, a2, a3, 0);
+ call_int nl ();
+ call_int nocbreak ();
+ call_int nodelay (WINDOW * a1, 0);
+ call_int noecho ();
+ call_int nonl ();
+ call_void noqiflush ();
+ call_int noraw ();
+ call_int notimeout (WINDOW * a1, 0);
+ call_int overlay (WINDOW * a1, WINDOW * 0);
+ call_int overwrite (WINDOW * a1, WINDOW * 0);
+ call_int pair_content (a1, * a2, * 0);
+ call_int PAIR_NUMBER (0);
+ call_int pechochar (WINDOW * a1, 0);
+ call_int pnoutrefresh (WINDOW * a1, a2, a3, a4, a5, a6, 0);
+ call_int prefresh (WINDOW * a1, a2, a3, a4, a5, a6, 0);
+ call_int putwin (WINDOW * a1, FILE * 0);
+ call_void qiflush ();
+ call_int raw ();
+ call_int redrawwin (WINDOW * 0);
+ call_int refresh ();
+ call_int resetty ();
+ call_int reset_prog_mode ();
+ call_int reset_shell_mode ();
+ call_int ripoffline (a1, int(* 0)(WINDOW * a2, int));
+ call_int savetty ();
+ call_int scr_dump (char * 0);
+ call_int scr_init (char * 0);
+ call_int scrl (0);
+ call_int scroll (WINDOW * 0);
+ call_int scrollok (WINDOW * a1, 0);
+ call_int scr_restore (char * 0);
+ call_int scr_set (char * 0);
+ call_int setscrreg (a1, 0);
+ call_SCREEN * set_term (SCREEN * 0);
+ call_int slk_attroff (0);
+#if USE_WIDEC_SUPPORT
+ call_int slk_attr_off (a1,* 0);
+#endif
+ call_int slk_attron (0);
+#if USE_WIDEC_SUPPORT
+ call_int slk_attr_on (a1,* 0);
+#endif
+ call_int slk_attrset (0);
+ call_attr_t slk_attr ();
+ call_int slk_attr_set (a1, a2,* 0);
+ call_int slk_clear ();
+ call_int slk_color (0);
+ call_int slk_init (0);
+ call_char * slk_label (0);
+ call_int slk_noutrefresh ();
+ call_int slk_refresh ();
+ call_int slk_restore ();
+ call_int slk_set (a1, char * a2, 0);
+ call_int slk_touch ();
+ call_int standout ();
+ call_int standend ();
+ call_int start_color ();
+ call_WINDOW * subpad (WINDOW * a1, a2, a3, a4, 0);
+ call_WINDOW * subwin (WINDOW * a1, a2, a3, a4, 0);
+ call_int syncok (WINDOW * a1, 0);
+ call_chtype termattrs ();
+ call_char * termname ();
+ call_void timeout (0);
+ call_int touchline (WINDOW * a1, a2, 0);
+ call_int touchwin (WINDOW * 0);
+ call_int typeahead (0);
+ call_int ungetch (0);
+ call_int untouchwin (WINDOW * 0);
+ call_void use_env (0);
+ call_void use_tioctl (0);
+ call_int vidattr (0);
+ call_int vidputs (a1, 0);
+ call_int vline (a1, 0);
+ call_int vwprintw (WINDOW * a1, char * a2, 0);
+ call_int vw_printw (WINDOW * a1, char * a2, 0);
+ call_int vwscanw (WINDOW * a1, char * a2, 0);
+ call_int vw_scanw (WINDOW * a1, char * a2, 0);
+ call_int waddch (WINDOW * a1, 0);
+ call_int waddchnstr (WINDOW * a1, * a2, 0);
+ call_int waddchstr (WINDOW * a1, * 0);
+ call_int waddnstr (WINDOW * a1, char * a2, 0);
+ call_int waddstr (WINDOW * a1, char * 0);
+ call_int wattron (WINDOW * a1, 0);
+ call_int wattroff (WINDOW * a1, 0);
+ call_int wattrset (WINDOW * a1, 0);
+ call_int wattr_get (WINDOW * a1, * a2, * a3,* 0);
+ call_int wattr_on (WINDOW * a1, a2,* 0);
+ call_int wattr_off (WINDOW * a1, a2,* 0);
+ call_int wattr_set (WINDOW * a1, a2, a3,* 0);
+ call_int wbkgd (WINDOW * a1, 0);
+ call_void wbkgdset (WINDOW * a1, 0);
+ call_int wborder (WINDOW * a1, a2, a3, a4, a5, a6, a7, a8, 0);
+ call_int wchgat (WINDOW * a1, a2, a3, a4,* 0);
+ call_int wclear (WINDOW * 0);
+ call_int wclrtobot (WINDOW * 0);
+ call_int wclrtoeol (WINDOW * 0);
+ call_int wcolor_set (WINDOW * a1, a2,* 0);
+ call_void wcursyncup (WINDOW * 0);
+ call_int wdelch (WINDOW * 0);
+ call_int wdeleteln (WINDOW * 0);
+ call_int wechochar (WINDOW * a1, 0);
+ call_int werase (WINDOW * 0);
+ call_int wgetch (WINDOW * 0);
+ call_int wgetnstr (WINDOW * a1, char * a2, 0);
+ call_int wgetstr (WINDOW * a1, char * 0);
+ call_int whline (WINDOW * a1, a2, 0);
+ call_chtype winch (WINDOW * 0);
+ call_int winchnstr (WINDOW * a1, * a2, 0);
+ call_int winchstr (WINDOW * a1, * 0);
+ call_int winnstr (WINDOW * a1, char * a2, 0);
+ call_int winsch (WINDOW * a1, 0);
+ call_int winsdelln (WINDOW * a1, 0);
+ call_int winsertln (WINDOW * 0);
+ call_int winsnstr (WINDOW * a1, char * a2, 0);
+ call_int winsstr (WINDOW * a1, char * 0);
+ call_int winstr (WINDOW * a1, char * 0);
+ call_int wmove (WINDOW * a1, a2, 0);
+ call_int wnoutrefresh (WINDOW * 0);
+ call_int wredrawln (WINDOW * a1, a2, 0);
+ call_int wrefresh (WINDOW * 0);
+ call_int wscrl (WINDOW * a1, 0);
+ call_int wsetscrreg (WINDOW * a1, a2, 0);
+ call_int wstandout (WINDOW * 0);
+ call_int wstandend (WINDOW * 0);
+ call_void wsyncdown (WINDOW * 0);
+ call_void wsyncup (WINDOW * 0);
+ call_void wtimeout (WINDOW * a1, 0);
+ call_int wtouchln (WINDOW * a1, a2, a3, 0);
+ call_int wvline (WINDOW * a1, a2, 0);
+ call_int tigetflag (char * 0);
+ call_int tigetnum (char * 0);
+ call_char * tigetstr (char * 0);
+ call_int putp (char * 0);
+ call_int getattrs (WINDOW * 0);
+ call_int getcurx (WINDOW * 0);
+ call_int getcury (WINDOW * 0);
+ call_int getbegx (WINDOW * 0);
+ call_int getbegy (WINDOW * 0);
+ call_int getmaxx (WINDOW * 0);
+ call_int getmaxy (WINDOW * 0);
+ call_int getparx (WINDOW * 0);
+ call_int getpary (WINDOW * 0);
+ call_WINDOW * wgetparent (WINDOW * 0);
+ call_NCURSES_BOOL is_cleared (WINDOW * 0);
+ call_NCURSES_BOOL is_idcok (WINDOW * 0);
+ call_NCURSES_BOOL is_idlok (WINDOW * 0);
+ call_NCURSES_BOOL is_immedok (WINDOW * 0);
+ call_NCURSES_BOOL is_keypad (WINDOW * 0);
+ call_NCURSES_BOOL is_leaveok (WINDOW * 0);
+ call_NCURSES_BOOL is_nodelay (WINDOW * 0);
+ call_NCURSES_BOOL is_notimeout (WINDOW * 0);
+ call_NCURSES_BOOL is_pad (WINDOW * 0);
+ call_NCURSES_BOOL is_scrollok (WINDOW * 0);
+ call_NCURSES_BOOL is_subwin (WINDOW * 0);
+ call_NCURSES_BOOL is_syncok (WINDOW * 0);
+ call_int wgetdelay (WINDOW * 0);
+ call_int wgetscrreg (WINDOW * a1, * a2, * 0);
+#if USE_SP_FUNC_SUPPORT
+ call_SCREEN * new_prescr ();
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(baudrate) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(beep) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_BOOL NCURSES_SP_NAME(can_change_color) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(cbreak) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(curs_set) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(color_content) (SCREEN * a1, a2, * a3, * a4, * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(def_prog_mode) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(def_shell_mode) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(delay_output) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(doupdate) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(echo) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(endwin) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_char NCURSES_SP_NAME(erasechar) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_void NCURSES_SP_NAME(filter) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(flash) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(flushinp) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_WINDOW * NCURSES_SP_NAME(getwin) (SCREEN * a1, FILE * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(halfdelay) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_BOOL NCURSES_SP_NAME(has_colors) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_BOOL NCURSES_SP_NAME(has_ic) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_BOOL NCURSES_SP_NAME(has_il) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(init_color) (SCREEN * a1, a2, a3, a4, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(init_pair) (SCREEN * a1, a2, a3, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(intrflush) (SCREEN * a1, WINDOW * a2, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_BOOL NCURSES_SP_NAME(isendwin) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_const char * NCURSES_SP_NAME(keyname) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_char NCURSES_SP_NAME(killchar) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_char * NCURSES_SP_NAME(longname) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(mvcur) (SCREEN * a1, a2, a3, a4, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(napms) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_WINDOW * NCURSES_SP_NAME(newpad) (SCREEN * a1, a2, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_SCREEN * NCURSES_SP_NAME(newterm) (SCREEN * a1, char * a2, FILE * a3, FILE * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_WINDOW * NCURSES_SP_NAME(newwin) (SCREEN * a1, a2, a3, a4, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(nl) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(nocbreak) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(noecho) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(nonl) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_void NCURSES_SP_NAME(noqiflush) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(noraw) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(pair_content) (SCREEN * a1, a2, * a3, * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_void NCURSES_SP_NAME(qiflush) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(raw) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(reset_prog_mode) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(reset_shell_mode) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(resetty) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(ripoffline) (SCREEN * a1, a2, int(* 0)(WINDOW * a3, int));
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(savetty) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(scr_init) (SCREEN * a1, char * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(scr_restore) (SCREEN * a1, char * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(scr_set) (SCREEN * a1, char * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_attroff) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_attron) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_attrset) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_attr_t NCURSES_SP_NAME(slk_attr) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_attr_set) (SCREEN * a1, a2, a3,* 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_clear) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_color) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_init) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_char * NCURSES_SP_NAME(slk_label) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_noutrefresh) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_refresh) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_restore) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_set) (SCREEN * a1, a2, char * a3, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(slk_touch) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(start_color) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_chtype NCURSES_SP_NAME(termattrs) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_char * NCURSES_SP_NAME(termname) (SCREEN * 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(typeahead) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(ungetch) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_void NCURSES_SP_NAME(use_env) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_void NCURSES_SP_NAME(use_tioctl) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(vidattr) (SCREEN * a1, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(vidputs) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_char * NCURSES_SP_NAME(keybound) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(assume_default_colors) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(define_key) (SCREEN * a1, char * a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(get_escdelay) (SCREEN * 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_BOOL NCURSES_SP_NAME(is_term_resized) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(key_defined) (SCREEN * a1, char * 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(keyok) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_void NCURSES_SP_NAME(nofilter) (SCREEN * 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(resize_term) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(resizeterm) (SCREEN * a1, a2, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(set_escdelay) (SCREEN * a1, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(set_tabsize) (SCREEN * a1, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(use_default_colors) (SCREEN * 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_int NCURSES_SP_NAME(use_legacy_coding) (SCREEN * a1, 0);
+#endif
+ call_NCURSES_BOOL mouse_trafo (* a1, * a2, 0);
+ return 0;
+}
diff --git a/ncurses/make_hash b/ncurses/make_hash
new file mode 100755
index 0000000..a6afa13
--- /dev/null
+++ b/ncurses/make_hash
Binary files differ
diff --git a/ncurses/make_keys b/ncurses/make_keys
new file mode 100755
index 0000000..bd25688
--- /dev/null
+++ b/ncurses/make_keys
Binary files differ
diff --git a/ncurses/names.c b/ncurses/names.c
new file mode 100644
index 0000000..db93378
--- /dev/null
+++ b/ncurses/names.c
@@ -0,0 +1,1379 @@
+/* This file was generated by MKnames.awk */
+
+#include <curses.priv.h>
+
+#define IT NCURSES_CONST char * const
+
+
+#if BROKEN_LINKER || USE_REENTRANT
+
+static const char _nc_name_blob[] = 
+"bw\0" "auto_left_margin\0" "am\0" "auto_right_margin\0" "xsb\0" "no_esc_ctlc\0" \
+"xhp\0" "ceol_standout_glitch\0" "xenl\0" "eat_newline_glitch\0" "eo\0" \
+"erase_overstrike\0" "gn\0" "generic_type\0" "hc\0" "hard_copy\0" "km\0" \
+"has_meta_key\0" "hs\0" "has_status_line\0" "in\0" "insert_null_glitch\0" \
+"da\0" "memory_above\0" "db\0" "memory_below\0" "mir\0" "move_insert_mode\0" \
+"msgr\0" "move_standout_mode\0" "os\0" "over_strike\0" "eslok\0" "status_line_esc_ok\0" \
+"xt\0" "dest_tabs_magic_smso\0" "hz\0" "tilde_glitch\0" "ul\0" "transparent_underline\0" \
+"xon\0" "xon_xoff\0" "nxon\0" "needs_xon_xoff\0" "mc5i\0" "prtr_silent\0" \
+"chts\0" "hard_cursor\0" "nrrmc\0" "non_rev_rmcup\0" "npc\0" "no_pad_char\0" \
+"ndscr\0" "non_dest_scroll_region\0" "ccc\0" "can_change\0" "bce\0" "back_color_erase\0" \
+"hls\0" "hue_lightness_saturation\0" "xhpa\0" "col_addr_glitch\0" "crxm\0" \
+"cr_cancels_micro_mode\0" "daisy\0" "has_print_wheel\0" "xvpa\0" "row_addr_glitch\0" \
+"sam\0" "semi_auto_right_margin\0" "cpix\0" "cpi_changes_res\0" "lpix\0" \
+"lpi_changes_res\0" "cols\0" "columns\0" "it\0" "init_tabs\0" "lines\0" \
+"lines\0" "lm\0" "lines_of_memory\0" "xmc\0" "magic_cookie_glitch\0" "pb\0" \
+"padding_baud_rate\0" "vt\0" "virtual_terminal\0" "wsl\0" "width_status_line\0" \
+"nlab\0" "num_labels\0" "lh\0" "label_height\0" "lw\0" "label_width\0" \
+"ma\0" "max_attributes\0" "wnum\0" "maximum_windows\0" "colors\0" "max_colors\0" \
+"pairs\0" "max_pairs\0" "ncv\0" "no_color_video\0" "bufsz\0" "buffer_capacity\0" \
+"spinv\0" "dot_vert_spacing\0" "spinh\0" "dot_horz_spacing\0" "maddr\0" \
+"max_micro_address\0" "mjump\0" "max_micro_jump\0" "mcs\0" "micro_col_size\0" \
+"mls\0" "micro_line_size\0" "npins\0" "number_of_pins\0" "orc\0" "output_res_char\0" \
+"orl\0" "output_res_line\0" "orhi\0" "output_res_horz_inch\0" "orvi\0" \
+"output_res_vert_inch\0" "cps\0" "print_rate\0" "widcs\0" "wide_char_size\0" \
+"btns\0" "buttons\0" "bitwin\0" "bit_image_entwining\0" "bitype\0" "bit_image_type\0" \
+"cbt\0" "back_tab\0" "bel\0" "bell\0" "cr\0" "carriage_return\0" "csr\0" \
+"change_scroll_region\0" "tbc\0" "clear_all_tabs\0" "clear\0" "clear_screen\0" \
+"el\0" "clr_eol\0" "ed\0" "clr_eos\0" "hpa\0" "column_address\0" "cmdch\0" \
+"command_character\0" "cup\0" "cursor_address\0" "cud1\0" "cursor_down\0" \
+"home\0" "cursor_home\0" "civis\0" "cursor_invisible\0" "cub1\0" "cursor_left\0" \
+"mrcup\0" "cursor_mem_address\0" "cnorm\0" "cursor_normal\0" "cuf1\0" "cursor_right\0" \
+"ll\0" "cursor_to_ll\0" "cuu1\0" "cursor_up\0" "cvvis\0" "cursor_visible\0" \
+"dch1\0" "delete_character\0" "dl1\0" "delete_line\0" "dsl\0" "dis_status_line\0" \
+"hd\0" "down_half_line\0" "smacs\0" "enter_alt_charset_mode\0" "blink\0" \
+"enter_blink_mode\0" "bold\0" "enter_bold_mode\0" "smcup\0" "enter_ca_mode\0" \
+"smdc\0" "enter_delete_mode\0" "dim\0" "enter_dim_mode\0" "smir\0" "enter_insert_mode\0" \
+"invis\0" "enter_secure_mode\0" "prot\0" "enter_protected_mode\0" "rev\0" \
+"enter_reverse_mode\0" "smso\0" "enter_standout_mode\0" "smul\0" "enter_underline_mode\0" \
+"ech\0" "erase_chars\0" "rmacs\0" "exit_alt_charset_mode\0" "sgr0\0" "exit_attribute_mode\0" \
+"rmcup\0" "exit_ca_mode\0" "rmdc\0" "exit_delete_mode\0" "rmir\0" "exit_insert_mode\0" \
+"rmso\0" "exit_standout_mode\0" "rmul\0" "exit_underline_mode\0" "flash\0" \
+"flash_screen\0" "ff\0" "form_feed\0" "fsl\0" "from_status_line\0" "is1\0" \
+"init_1string\0" "is2\0" "init_2string\0" "is3\0" "init_3string\0" "if\0" \
+"init_file\0" "ich1\0" "insert_character\0" "il1\0" "insert_line\0" "ip\0" \
+"insert_padding\0" "kbs\0" "key_backspace\0" "ktbc\0" "key_catab\0" "kclr\0" \
+"key_clear\0" "kctab\0" "key_ctab\0" "kdch1\0" "key_dc\0" "kdl1\0" "key_dl\0" \
+"kcud1\0" "key_down\0" "krmir\0" "key_eic\0" "kel\0" "key_eol\0" "ked\0" \
+"key_eos\0" "kf0\0" "key_f0\0" "kf1\0" "key_f1\0" "kf10\0" "key_f10\0" \
+"kf2\0" "key_f2\0" "kf3\0" "key_f3\0" "kf4\0" "key_f4\0" "kf5\0" "key_f5\0" \
+"kf6\0" "key_f6\0" "kf7\0" "key_f7\0" "kf8\0" "key_f8\0" "kf9\0" "key_f9\0" \
+"khome\0" "key_home\0" "kich1\0" "key_ic\0" "kil1\0" "key_il\0" "kcub1\0" \
+"key_left\0" "kll\0" "key_ll\0" "knp\0" "key_npage\0" "kpp\0" "key_ppage\0" \
+"kcuf1\0" "key_right\0" "kind\0" "key_sf\0" "kri\0" "key_sr\0" "khts\0" \
+"key_stab\0" "kcuu1\0" "key_up\0" "rmkx\0" "keypad_local\0" "smkx\0" "keypad_xmit\0" \
+"lf0\0" "lab_f0\0" "lf1\0" "lab_f1\0" "lf10\0" "lab_f10\0" "lf2\0" "lab_f2\0" \
+"lf3\0" "lab_f3\0" "lf4\0" "lab_f4\0" "lf5\0" "lab_f5\0" "lf6\0" "lab_f6\0" \
+"lf7\0" "lab_f7\0" "lf8\0" "lab_f8\0" "lf9\0" "lab_f9\0" "rmm\0" "meta_off\0" \
+"smm\0" "meta_on\0" "nel\0" "newline\0" "pad\0" "pad_char\0" "dch\0" "parm_dch\0" \
+"dl\0" "parm_delete_line\0" "cud\0" "parm_down_cursor\0" "ich\0" "parm_ich\0" \
+"indn\0" "parm_index\0" "il\0" "parm_insert_line\0" "cub\0" "parm_left_cursor\0" \
+"cuf\0" "parm_right_cursor\0" "rin\0" "parm_rindex\0" "cuu\0" "parm_up_cursor\0" \
+"pfkey\0" "pkey_key\0" "pfloc\0" "pkey_local\0" "pfx\0" "pkey_xmit\0" "mc0\0" \
+"print_screen\0" "mc4\0" "prtr_off\0" "mc5\0" "prtr_on\0" "rep\0" "repeat_char\0" \
+"rs1\0" "reset_1string\0" "rs2\0" "reset_2string\0" "rs3\0" "reset_3string\0" \
+"rf\0" "reset_file\0" "rc\0" "restore_cursor\0" "vpa\0" "row_address\0" \
+"sc\0" "save_cursor\0" "ind\0" "scroll_forward\0" "ri\0" "scroll_reverse\0" \
+"sgr\0" "set_attributes\0" "hts\0" "set_tab\0" "wind\0" "set_window\0" \
+"ht\0" "tab\0" "tsl\0" "to_status_line\0" "uc\0" "underline_char\0" "hu\0" \
+"up_half_line\0" "iprog\0" "init_prog\0" "ka1\0" "key_a1\0" "ka3\0" "key_a3\0" \
+"kb2\0" "key_b2\0" "kc1\0" "key_c1\0" "kc3\0" "key_c3\0" "mc5p\0" "prtr_non\0" \
+"rmp\0" "char_padding\0" "acsc\0" "acs_chars\0" "pln\0" "plab_norm\0" "kcbt\0" \
+"key_btab\0" "smxon\0" "enter_xon_mode\0" "rmxon\0" "exit_xon_mode\0" "smam\0" \
+"enter_am_mode\0" "rmam\0" "exit_am_mode\0" "xonc\0" "xon_character\0" \
+"xoffc\0" "xoff_character\0" "enacs\0" "ena_acs\0" "smln\0" "label_on\0" \
+"rmln\0" "label_off\0" "kbeg\0" "key_beg\0" "kcan\0" "key_cancel\0" "kclo\0" \
+"key_close\0" "kcmd\0" "key_command\0" "kcpy\0" "key_copy\0" "kcrt\0" "key_create\0" \
+"kend\0" "key_end\0" "kent\0" "key_enter\0" "kext\0" "key_exit\0" "kfnd\0" \
+"key_find\0" "khlp\0" "key_help\0" "kmrk\0" "key_mark\0" "kmsg\0" "key_message\0" \
+"kmov\0" "key_move\0" "knxt\0" "key_next\0" "kopn\0" "key_open\0" "kopt\0" \
+"key_options\0" "kprv\0" "key_previous\0" "kprt\0" "key_print\0" "krdo\0" \
+"key_redo\0" "kref\0" "key_reference\0" "krfr\0" "key_refresh\0" "krpl\0" \
+"key_replace\0" "krst\0" "key_restart\0" "kres\0" "key_resume\0" "ksav\0" \
+"key_save\0" "kspd\0" "key_suspend\0" "kund\0" "key_undo\0" "kBEG\0" "key_sbeg\0" \
+"kCAN\0" "key_scancel\0" "kCMD\0" "key_scommand\0" "kCPY\0" "key_scopy\0" \
+"kCRT\0" "key_screate\0" "kDC\0" "key_sdc\0" "kDL\0" "key_sdl\0" "kslt\0" \
+"key_select\0" "kEND\0" "key_send\0" "kEOL\0" "key_seol\0" "kEXT\0" "key_sexit\0" \
+"kFND\0" "key_sfind\0" "kHLP\0" "key_shelp\0" "kHOM\0" "key_shome\0" "kIC\0" \
+"key_sic\0" "kLFT\0" "key_sleft\0" "kMSG\0" "key_smessage\0" "kMOV\0" "key_smove\0" \
+"kNXT\0" "key_snext\0" "kOPT\0" "key_soptions\0" "kPRV\0" "key_sprevious\0" \
+"kPRT\0" "key_sprint\0" "kRDO\0" "key_sredo\0" "kRPL\0" "key_sreplace\0" \
+"kRIT\0" "key_sright\0" "kRES\0" "key_srsume\0" "kSAV\0" "key_ssave\0" \
+"kSPD\0" "key_ssuspend\0" "kUND\0" "key_sundo\0" "rfi\0" "req_for_input\0" \
+"kf11\0" "key_f11\0" "kf12\0" "key_f12\0" "kf13\0" "key_f13\0" "kf14\0" \
+"key_f14\0" "kf15\0" "key_f15\0" "kf16\0" "key_f16\0" "kf17\0" "key_f17\0" \
+"kf18\0" "key_f18\0" "kf19\0" "key_f19\0" "kf20\0" "key_f20\0" "kf21\0" \
+"key_f21\0" "kf22\0" "key_f22\0" "kf23\0" "key_f23\0" "kf24\0" "key_f24\0" \
+"kf25\0" "key_f25\0" "kf26\0" "key_f26\0" "kf27\0" "key_f27\0" "kf28\0" \
+"key_f28\0" "kf29\0" "key_f29\0" "kf30\0" "key_f30\0" "kf31\0" "key_f31\0" \
+"kf32\0" "key_f32\0" "kf33\0" "key_f33\0" "kf34\0" "key_f34\0" "kf35\0" \
+"key_f35\0" "kf36\0" "key_f36\0" "kf37\0" "key_f37\0" "kf38\0" "key_f38\0" \
+"kf39\0" "key_f39\0" "kf40\0" "key_f40\0" "kf41\0" "key_f41\0" "kf42\0" \
+"key_f42\0" "kf43\0" "key_f43\0" "kf44\0" "key_f44\0" "kf45\0" "key_f45\0" \
+"kf46\0" "key_f46\0" "kf47\0" "key_f47\0" "kf48\0" "key_f48\0" "kf49\0" \
+"key_f49\0" "kf50\0" "key_f50\0" "kf51\0" "key_f51\0" "kf52\0" "key_f52\0" \
+"kf53\0" "key_f53\0" "kf54\0" "key_f54\0" "kf55\0" "key_f55\0" "kf56\0" \
+"key_f56\0" "kf57\0" "key_f57\0" "kf58\0" "key_f58\0" "kf59\0" "key_f59\0" \
+"kf60\0" "key_f60\0" "kf61\0" "key_f61\0" "kf62\0" "key_f62\0" "kf63\0" \
+"key_f63\0" "el1\0" "clr_bol\0" "mgc\0" "clear_margins\0" "smgl\0" "set_left_margin\0" \
+"smgr\0" "set_right_margin\0" "fln\0" "label_format\0" "sclk\0" "set_clock\0" \
+"dclk\0" "display_clock\0" "rmclk\0" "remove_clock\0" "cwin\0" "create_window\0" \
+"wingo\0" "goto_window\0" "hup\0" "hangup\0" "dial\0" "dial_phone\0" "qdial\0" \
+"quick_dial\0" "tone\0" "tone\0" "pulse\0" "pulse\0" "hook\0" "flash_hook\0" \
+"pause\0" "fixed_pause\0" "wait\0" "wait_tone\0" "u0\0" "user0\0" "u1\0" \
+"user1\0" "u2\0" "user2\0" "u3\0" "user3\0" "u4\0" "user4\0" "u5\0" "user5\0" \
+"u6\0" "user6\0" "u7\0" "user7\0" "u8\0" "user8\0" "u9\0" "user9\0" "op\0" \
+"orig_pair\0" "oc\0" "orig_colors\0" "initc\0" "initialize_color\0" "initp\0" \
+"initialize_pair\0" "scp\0" "set_color_pair\0" "setf\0" "set_foreground\0" \
+"setb\0" "set_background\0" "cpi\0" "change_char_pitch\0" "lpi\0" "change_line_pitch\0" \
+"chr\0" "change_res_horz\0" "cvr\0" "change_res_vert\0" "defc\0" "define_char\0" \
+"swidm\0" "enter_doublewide_mode\0" "sdrfq\0" "enter_draft_quality\0" "sitm\0" \
+"enter_italics_mode\0" "slm\0" "enter_leftward_mode\0" "smicm\0" "enter_micro_mode\0" \
+"snlq\0" "enter_near_letter_quality\0" "snrmq\0" "enter_normal_quality\0" \
+"sshm\0" "enter_shadow_mode\0" "ssubm\0" "enter_subscript_mode\0" "ssupm\0" \
+"enter_superscript_mode\0" "sum\0" "enter_upward_mode\0" "rwidm\0" "exit_doublewide_mode\0" \
+"ritm\0" "exit_italics_mode\0" "rlm\0" "exit_leftward_mode\0" "rmicm\0" \
+"exit_micro_mode\0" "rshm\0" "exit_shadow_mode\0" "rsubm\0" "exit_subscript_mode\0" \
+"rsupm\0" "exit_superscript_mode\0" "rum\0" "exit_upward_mode\0" "mhpa\0" \
+"micro_column_address\0" "mcud1\0" "micro_down\0" "mcub1\0" "micro_left\0" \
+"mcuf1\0" "micro_right\0" "mvpa\0" "micro_row_address\0" "mcuu1\0" "micro_up\0" \
+"porder\0" "order_of_pins\0" "mcud\0" "parm_down_micro\0" "mcub\0" "parm_left_micro\0" \
+"mcuf\0" "parm_right_micro\0" "mcuu\0" "parm_up_micro\0" "scs\0" "select_char_set\0" \
+"smgb\0" "set_bottom_margin\0" "smgbp\0" "set_bottom_margin_parm\0" "smglp\0" \
+"set_left_margin_parm\0" "smgrp\0" "set_right_margin_parm\0" "smgt\0" "set_top_margin\0" \
+"smgtp\0" "set_top_margin_parm\0" "sbim\0" "start_bit_image\0" "scsd\0" \
+"start_char_set_def\0" "rbim\0" "stop_bit_image\0" "rcsd\0" "stop_char_set_def\0" \
+"subcs\0" "subscript_characters\0" "supcs\0" "superscript_characters\0" \
+"docr\0" "these_cause_cr\0" "zerom\0" "zero_motion\0" "csnm\0" "char_set_names\0" \
+"kmous\0" "key_mouse\0" "minfo\0" "mouse_info\0" "reqmp\0" "req_mouse_pos\0" \
+"getm\0" "get_mouse\0" "setaf\0" "set_a_foreground\0" "setab\0" "set_a_background\0" \
+"pfxl\0" "pkey_plab\0" "devt\0" "device_type\0" "csin\0" "code_set_init\0" \
+"s0ds\0" "set0_des_seq\0" "s1ds\0" "set1_des_seq\0" "s2ds\0" "set2_des_seq\0" \
+"s3ds\0" "set3_des_seq\0" "smglr\0" "set_lr_margin\0" "smgtb\0" "set_tb_margin\0" \
+"birep\0" "bit_image_repeat\0" "binel\0" "bit_image_newline\0" "bicr\0" \
+"bit_image_carriage_return\0" "colornm\0" "color_names\0" "defbi\0" "define_bit_image_region\0" \
+"endbi\0" "end_bit_image_region\0" "setcolor\0" "set_color_band\0" "slines\0" \
+"set_page_length\0" "dispc\0" "display_pc_char\0" "smpch\0" "enter_pc_charset_mode\0" \
+"rmpch\0" "exit_pc_charset_mode\0" "smsc\0" "enter_scancode_mode\0" "rmsc\0" \
+"exit_scancode_mode\0" "pctrm\0" "pc_term_options\0" "scesc\0" "scancode_escape\0" \
+"scesa\0" "alt_scancode_esc\0" "ehhlm\0" "enter_horizontal_hl_mode\0" "elhlm\0" \
+"enter_left_hl_mode\0" "elohlm\0" "enter_low_hl_mode\0" "erhlm\0" "enter_right_hl_mode\0" \
+"ethlm\0" "enter_top_hl_mode\0" "evhlm\0" "enter_vertical_hl_mode\0" "sgr1\0" \
+"set_a_attributes\0" "slength\0" "set_pglen_inch\0" "OTi2\0" "termcap_init2\0" \
+"OTrs\0" "termcap_reset\0" "OTug\0" "magic_cookie_glitch_ul\0" "OTbs\0" \
+"backspaces_with_bs\0" "OTns\0" "crt_no_scrolling\0" "OTnc\0" "no_correctly_working_cr\0" \
+"OTdC\0" "carriage_return_delay\0" "OTdN\0" "new_line_delay\0" "OTnl\0" \
+"linefeed_if_not_lf\0" "OTbc\0" "backspace_if_not_bs\0" "OTMT\0" "gnu_has_meta_key\0" \
+"OTNL\0" "linefeed_is_newline\0" "OTdB\0" "backspace_delay\0" "OTdT\0" \
+"horizontal_tab_delay\0" "OTkn\0" "number_of_function_keys\0" "OTko\0" \
+"other_non_function_keys\0" "OTma\0" "arrow_key_map\0" "OTpt\0" "has_hardware_tabs\0" \
+"OTxr\0" "return_does_clr_eol\0" "OTG2\0" "acs_ulcorner\0" "OTG3\0" "acs_llcorner\0" \
+"OTG1\0" "acs_urcorner\0" "OTG4\0" "acs_lrcorner\0" "OTGR\0" "acs_ltee\0" \
+"OTGL\0" "acs_rtee\0" "OTGU\0" "acs_btee\0" "OTGD\0" "acs_ttee\0" "OTGH\0" \
+"acs_hline\0" "OTGV\0" "acs_vline\0" "OTGC\0" "acs_plus\0" "meml\0" "memory_lock\0" \
+"memu\0" "memory_unlock\0" "box1\0" "box_chars_1\0" ;
+static const short _nc_offset_boolfnames[] = {
+3, 23, 45, 61, 87, 109, 129,
+145, 158, 174, 193, 215, 231,
+248, 270, 292, 310, 332, 356,
+372, 398, 412, 432, 449, 467,
+485, 503, 530, 545, 566, 596,
+617, 645, 666, 686, 714, 735,
+8193, 8217, 8239, 8364, 8386, 8535, 8558, };
+
+static NCURSES_CONST char ** ptr_boolfnames = 0;
+
+static const short _nc_offset_boolnames[] = {
+0, 20, 41, 57, 82, 106, 126, 142, 155, 171, 190, 212, 228, 244, 265, 289, 304, 329, 353, 369, 394, 407, 427, 444, 461, 481, 497, 526, 541, 562, 591, 612, 639, 661, 682, 709, 730, 8188, 8212, 8234, 8359, 8381, 8530, 8553, };
+
+static NCURSES_CONST char ** ptr_boolnames = 0;
+
+static const short _nc_offset_numfnames[] = {
+756, 767, 783, 792, 812, 835,
+856, 877, 900, 914, 930, 945,
+965, 988, 1005, 1019, 1040, 1062, 1085, 1108, 1132, 1151, 1170,
+1192, 1211, 1231, 1252, 1278, 1303, 1320, 1340, 1355, 1382, 8165,
+8268, 8295, 8411, 8432,
+8458, };
+
+static NCURSES_CONST char ** ptr_numfnames = 0;
+
+static const short _nc_offset_numnames[] = {
+751, 764, 777, 789, 808, 832, 853, 873, 895, 911, 927, 942, 960, 981, 999, 1015, 1034, 1056,
+1079, 1102, 1126, 1147, 1166, 1186, 1207, 1227, 1247, 1273, 1299,
+1314, 1335, 1348, 1375, 8160, 8263, 8290, 8406, 8427, 8453, };
+
+static NCURSES_CONST char ** ptr_numnames = 0;
+
+static const short _nc_offset_strfnames[] = {
+1401,
+1414, 1422, 1442, 1467, 1488, 1504, 1515, 1527, 1548, 1570, 1590,
+1607, 1625, 1647, 1665, 1690, 1709, 1725, 1743, 1759, 1779, 1800,
+1816, 1835, 1856, 1885, 1907, 1929, 1948, 1970, 1990, 2014, 2037,
+2062, 2086, 2111, 2136, 2154, 2181, 2207, 2225, 2247, 2269, 2293,
+2319, 2335, 2349, 2370, 2387, 2404, 2420, 2435, 2456, 2471, 2490,
+2509, 2524, 2540, 2555, 2567, 2580, 2595, 2607, 2619, 2631, 2642,
+2654, 2666, 2677, 2688, 2699, 2710, 2721, 2732, 2743, 2756, 2771,
+2783, 2796, 2809, 2820, 2834, 2850, 2865, 2876, 2888, 2903, 2915,
+2933, 2949, 2960, 2972, 2984, 2995, 3006, 3017, 3028, 3039, 3050,
+3061, 3072, 3085, 3097, 3109, 3122, 3134, 3155, 3176, 3190, 3204,
+3225, 3246, 3268, 3284, 3305, 3320, 3335, 3349, 3366, 3379, 3391,
+3407, 3425, 3443, 3460, 3474, 3493, 3508, 3524, 3542, 3561, 3580,
+3593, 3607, 3615, 3633, 3651, 3670, 3684, 3695, 3706, 3717, 3728,
+3740, 3753, 3771, 3785, 3800, 3815, 3836, 3855, 3874, 3892, 3912,
+3933, 3946, 3960, 3975, 3988, 4004, 4019, 4036, 4050, 4066, 4079,
+4094, 4108, 4122, 4136, 4150, 4167, 4181, 4195, 4209, 4226, 4244,
+4259, 4273, 4292, 4309, 4326, 4343, 4359, 4373, 4390, 4404, 4418,
+4435, 4453, 4468, 4484, 4496, 4509, 4525, 4539, 4553, 4568, 4583,
+4598, 4612, 4625, 4640, 4658, 4673, 4688, 4706, 4725, 4741, 4756,
+4774, 4790, 4806, 4821, 4839, 4853, 4872, 4885, 4898, 4911, 4924,
+4937, 4950, 4963, 4976, 4989, 5002, 5015, 5028, 5041, 5054, 5067,
+5080, 5093, 5106, 5119, 5132, 5145, 5158, 5171, 5184, 5197, 5210,
+5223, 5236, 5249, 5262, 5275, 5288, 5301, 5314, 5327, 5340, 5353,
+5366, 5379, 5392, 5405, 5418, 5431, 5444, 5457, 5470, 5483, 5496,
+5509, 5522, 5535, 5548, 5560, 5572, 5591, 5612, 5633, 5651, 5666,
+5686, 5704, 5724, 5740, 5752, 5769, 5785, 5796, 5807, 5824, 5841,
+5854, 5863, 5872, 5881, 5890, 5899, 5908, 5917, 5926, 5935, 5944,
+5957, 5975, 5998, 6018, 6038, 6058, 6077, 6099, 6121, 6141, 6162,
+6180, 6208, 6233, 6256, 6282, 6304, 6336, 6362, 6386, 6413, 6440,
+6464, 6490, 6512, 6537, 6558, 6581, 6607, 6633, 6655, 6682, 6699,
+6716, 6733, 6757, 6773, 6792, 6813, 6834, 6856, 6874, 6895, 6919,
+6948, 6975, 7002, 7023, 7048, 7069, 7093, 7113, 7137, 7164, 7192,
+7213, 7230, 7251, 7267, 7284, 7303, 7319, 7342, 7364, 7379, 7396,
+7415, 7433, 7451, 7469, 7488, 7508, 7528, 7551, 7574, 7608, 7626,
+7656, 7686, 7708, 7730, 7752, 7780, 7806, 7831, 7856, 7878, 7900,
+7923, 7954, 7980, 8004, 8030, 8054, 8082, 8107, 8127, 8146, 8315, 8339, 8487, 8516, 8583, 8601, 8619, 8637, 8655, 8669,
+8683, 8697, 8711, 8726, 8741, 8755, 8772, 8791, };
+
+static NCURSES_CONST char ** ptr_strfnames = 0;
+
+static const short _nc_offset_strnames[] = {
+1397, 1410, 1419, 1438, 1463, 1482, 1501,
+1512, 1523, 1542, 1566, 1585, 1602, 1619, 1642, 1659, 1684, 1704,
+1722, 1738, 1753, 1774, 1796, 1812, 1832, 1850, 1879, 1902, 1923,
+1943, 1966, 1985, 2008, 2032, 2058, 2081, 2106, 2132, 2148, 2176,
+2201, 2220, 2242, 2264, 2288, 2313, 2332, 2345, 2366, 2383, 2400,
+2417, 2430, 2452, 2468, 2486, 2504, 2519, 2534, 2549, 2562, 2574,
+2589, 2603, 2615, 2627, 2638, 2649, 2662, 2673, 2684, 2695, 2706,
+2717, 2728, 2739, 2750, 2765, 2778, 2790, 2805, 2816, 2830, 2844,
+2860, 2872, 2883, 2897, 2910, 2928, 2945, 2956, 2967, 2980, 2991,
+3002, 3013, 3024, 3035, 3046, 3057, 3068, 3081, 3093, 3105, 3118,
+3131, 3151, 3172, 3185, 3201, 3221, 3242, 3264, 3280, 3299, 3314,
+3331, 3345, 3362, 3375, 3387, 3403, 3421, 3439, 3457, 3471, 3489,
+3505, 3520, 3539, 3557, 3576, 3588, 3604, 3611, 3630, 3648, 3664,
+3680, 3691, 3702, 3713, 3724, 3735, 3749, 3766, 3781, 3795, 3809,
+3830, 3850, 3869, 3887, 3906, 3927, 3941, 3955, 3970, 3983, 3999,
+4014, 4031, 4045, 4061, 4074, 4089, 4103, 4117, 4131, 4145, 4162,
+4176, 4190, 4204, 4221, 4239, 4254, 4268, 4287, 4304, 4321, 4338,
+4354, 4368, 4385, 4399, 4413, 4430, 4448, 4463, 4480, 4492, 4504,
+4520, 4534, 4548, 4563, 4578, 4593, 4608, 4620, 4635, 4653, 4668,
+4683, 4701, 4720, 4736, 4751, 4769, 4785, 4801, 4816, 4834, 4849,
+4867, 4880, 4893, 4906, 4919, 4932, 4945, 4958, 4971, 4984, 4997,
+5010, 5023, 5036, 5049, 5062, 5075, 5088, 5101, 5114, 5127, 5140,
+5153, 5166, 5179, 5192, 5205, 5218, 5231, 5244, 5257, 5270, 5283,
+5296, 5309, 5322, 5335, 5348, 5361, 5374, 5387, 5400, 5413, 5426,
+5439, 5452, 5465, 5478, 5491, 5504, 5517, 5530, 5543, 5556, 5568,
+5586, 5607, 5629, 5646, 5661, 5680, 5699, 5718, 5736, 5747, 5763,
+5780, 5790, 5802, 5818, 5836, 5851, 5860, 5869, 5878, 5887, 5896,
+5905, 5914, 5923, 5932, 5941, 5954, 5969, 5992, 6014, 6033, 6053,
+6073, 6095, 6117, 6137, 6157, 6174, 6202, 6228, 6252, 6276, 6299,
+6330, 6357, 6380, 6407, 6436, 6458, 6485, 6508, 6531, 6553, 6575,
+6601, 6629, 6650, 6676, 6693, 6710, 6728, 6751, 6766, 6787, 6808,
+6829, 6851, 6870, 6890, 6913, 6942, 6969, 6997, 7017, 7043, 7064,
+7088, 7108, 7131, 7158, 7187, 7207, 7225, 7245, 7261, 7278, 7298,
+7313, 7336, 7359, 7374, 7391, 7410, 7428, 7446, 7464, 7482, 7502,
+7522, 7545, 7569, 7600, 7620, 7650, 7677, 7701, 7724, 7746, 7774,
+7801, 7826, 7850, 7872, 7894, 7917, 7948, 7973, 7998, 8024, 8048,
+8077, 8099, 8122, 8141, 8310,
+8334, 8482, 8511, 8578,
+8596, 8614, 8632, 8650, 8664, 8678, 8692, 8706, 8721, 8736, 8750,
+8767, 8786, };
+
+static NCURSES_CONST char ** ptr_strnames = 0;
+
+
+static IT *
+alloc_array(NCURSES_CONST char ***value, const short *offsets, unsigned size)
+{
+	if (*value == 0) {
+		if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {
+			unsigned n;
+			for (n = 0; n < size; ++n) {
+				(*value)[n] = (NCURSES_CONST char *) _nc_name_blob + offsets[n];
+			}
+		}
+	}
+	return *value;
+}
+
+#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }
+
+/* remove public definition which conflicts with FIX() */
+#undef boolnames
+#undef boolfnames
+#undef numnames
+#undef numfnames
+#undef strnames
+#undef strfnames
+
+/* add local definition */
+FIX(boolnames)
+FIX(boolfnames)
+FIX(numnames)
+FIX(numfnames)
+FIX(strnames)
+FIX(strfnames)
+
+/* restore the public definition */
+#define boolnames  NCURSES_PUBLIC_VAR(boolnames())
+#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())
+#define numnames   NCURSES_PUBLIC_VAR(numnames())
+#define numfnames  NCURSES_PUBLIC_VAR(numfnames())
+#define strnames   NCURSES_PUBLIC_VAR(strnames())
+#define strfnames  NCURSES_PUBLIC_VAR(strfnames())
+
+#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }
+
+#if NO_LEAKS
+NCURSES_EXPORT(void)
+_nc_names_leaks(void)
+{
+FREE_FIX(boolnames)
+FREE_FIX(boolfnames)
+FREE_FIX(numnames)
+FREE_FIX(numfnames)
+FREE_FIX(strnames)
+FREE_FIX(strfnames)
+}
+#endif
+
+#else
+
+#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]
+
+DCL(boolnames) = {
+		"bw",
+		"am",
+		"xsb",
+		"xhp",
+		"xenl",
+		"eo",
+		"gn",
+		"hc",
+		"km",
+		"hs",
+		"in",
+		"da",
+		"db",
+		"mir",
+		"msgr",
+		"os",
+		"eslok",
+		"xt",
+		"hz",
+		"ul",
+		"xon",
+		"nxon",
+		"mc5i",
+		"chts",
+		"nrrmc",
+		"npc",
+		"ndscr",
+		"ccc",
+		"bce",
+		"hls",
+		"xhpa",
+		"crxm",
+		"daisy",
+		"xvpa",
+		"sam",
+		"cpix",
+		"lpix",
+		"OTbs",
+		"OTns",
+		"OTnc",
+		"OTMT",
+		"OTNL",
+		"OTpt",
+		"OTxr",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(boolfnames) = {
+		"auto_left_margin",
+		"auto_right_margin",
+		"no_esc_ctlc",
+		"ceol_standout_glitch",
+		"eat_newline_glitch",
+		"erase_overstrike",
+		"generic_type",
+		"hard_copy",
+		"has_meta_key",
+		"has_status_line",
+		"insert_null_glitch",
+		"memory_above",
+		"memory_below",
+		"move_insert_mode",
+		"move_standout_mode",
+		"over_strike",
+		"status_line_esc_ok",
+		"dest_tabs_magic_smso",
+		"tilde_glitch",
+		"transparent_underline",
+		"xon_xoff",
+		"needs_xon_xoff",
+		"prtr_silent",
+		"hard_cursor",
+		"non_rev_rmcup",
+		"no_pad_char",
+		"non_dest_scroll_region",
+		"can_change",
+		"back_color_erase",
+		"hue_lightness_saturation",
+		"col_addr_glitch",
+		"cr_cancels_micro_mode",
+		"has_print_wheel",
+		"row_addr_glitch",
+		"semi_auto_right_margin",
+		"cpi_changes_res",
+		"lpi_changes_res",
+		"backspaces_with_bs",
+		"crt_no_scrolling",
+		"no_correctly_working_cr",
+		"gnu_has_meta_key",
+		"linefeed_is_newline",
+		"has_hardware_tabs",
+		"return_does_clr_eol",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(numnames) = {
+		"cols",
+		"it",
+		"lines",
+		"lm",
+		"xmc",
+		"pb",
+		"vt",
+		"wsl",
+		"nlab",
+		"lh",
+		"lw",
+		"ma",
+		"wnum",
+		"colors",
+		"pairs",
+		"ncv",
+		"bufsz",
+		"spinv",
+		"spinh",
+		"maddr",
+		"mjump",
+		"mcs",
+		"mls",
+		"npins",
+		"orc",
+		"orl",
+		"orhi",
+		"orvi",
+		"cps",
+		"widcs",
+		"btns",
+		"bitwin",
+		"bitype",
+		"OTug",
+		"OTdC",
+		"OTdN",
+		"OTdB",
+		"OTdT",
+		"OTkn",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(numfnames) = {
+		"columns",
+		"init_tabs",
+		"lines",
+		"lines_of_memory",
+		"magic_cookie_glitch",
+		"padding_baud_rate",
+		"virtual_terminal",
+		"width_status_line",
+		"num_labels",
+		"label_height",
+		"label_width",
+		"max_attributes",
+		"maximum_windows",
+		"max_colors",
+		"max_pairs",
+		"no_color_video",
+		"buffer_capacity",
+		"dot_vert_spacing",
+		"dot_horz_spacing",
+		"max_micro_address",
+		"max_micro_jump",
+		"micro_col_size",
+		"micro_line_size",
+		"number_of_pins",
+		"output_res_char",
+		"output_res_line",
+		"output_res_horz_inch",
+		"output_res_vert_inch",
+		"print_rate",
+		"wide_char_size",
+		"buttons",
+		"bit_image_entwining",
+		"bit_image_type",
+		"magic_cookie_glitch_ul",
+		"carriage_return_delay",
+		"new_line_delay",
+		"backspace_delay",
+		"horizontal_tab_delay",
+		"number_of_function_keys",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(strnames) = {
+		"cbt",
+		"bel",
+		"cr",
+		"csr",
+		"tbc",
+		"clear",
+		"el",
+		"ed",
+		"hpa",
+		"cmdch",
+		"cup",
+		"cud1",
+		"home",
+		"civis",
+		"cub1",
+		"mrcup",
+		"cnorm",
+		"cuf1",
+		"ll",
+		"cuu1",
+		"cvvis",
+		"dch1",
+		"dl1",
+		"dsl",
+		"hd",
+		"smacs",
+		"blink",
+		"bold",
+		"smcup",
+		"smdc",
+		"dim",
+		"smir",
+		"invis",
+		"prot",
+		"rev",
+		"smso",
+		"smul",
+		"ech",
+		"rmacs",
+		"sgr0",
+		"rmcup",
+		"rmdc",
+		"rmir",
+		"rmso",
+		"rmul",
+		"flash",
+		"ff",
+		"fsl",
+		"is1",
+		"is2",
+		"is3",
+		"if",
+		"ich1",
+		"il1",
+		"ip",
+		"kbs",
+		"ktbc",
+		"kclr",
+		"kctab",
+		"kdch1",
+		"kdl1",
+		"kcud1",
+		"krmir",
+		"kel",
+		"ked",
+		"kf0",
+		"kf1",
+		"kf10",
+		"kf2",
+		"kf3",
+		"kf4",
+		"kf5",
+		"kf6",
+		"kf7",
+		"kf8",
+		"kf9",
+		"khome",
+		"kich1",
+		"kil1",
+		"kcub1",
+		"kll",
+		"knp",
+		"kpp",
+		"kcuf1",
+		"kind",
+		"kri",
+		"khts",
+		"kcuu1",
+		"rmkx",
+		"smkx",
+		"lf0",
+		"lf1",
+		"lf10",
+		"lf2",
+		"lf3",
+		"lf4",
+		"lf5",
+		"lf6",
+		"lf7",
+		"lf8",
+		"lf9",
+		"rmm",
+		"smm",
+		"nel",
+		"pad",
+		"dch",
+		"dl",
+		"cud",
+		"ich",
+		"indn",
+		"il",
+		"cub",
+		"cuf",
+		"rin",
+		"cuu",
+		"pfkey",
+		"pfloc",
+		"pfx",
+		"mc0",
+		"mc4",
+		"mc5",
+		"rep",
+		"rs1",
+		"rs2",
+		"rs3",
+		"rf",
+		"rc",
+		"vpa",
+		"sc",
+		"ind",
+		"ri",
+		"sgr",
+		"hts",
+		"wind",
+		"ht",
+		"tsl",
+		"uc",
+		"hu",
+		"iprog",
+		"ka1",
+		"ka3",
+		"kb2",
+		"kc1",
+		"kc3",
+		"mc5p",
+		"rmp",
+		"acsc",
+		"pln",
+		"kcbt",
+		"smxon",
+		"rmxon",
+		"smam",
+		"rmam",
+		"xonc",
+		"xoffc",
+		"enacs",
+		"smln",
+		"rmln",
+		"kbeg",
+		"kcan",
+		"kclo",
+		"kcmd",
+		"kcpy",
+		"kcrt",
+		"kend",
+		"kent",
+		"kext",
+		"kfnd",
+		"khlp",
+		"kmrk",
+		"kmsg",
+		"kmov",
+		"knxt",
+		"kopn",
+		"kopt",
+		"kprv",
+		"kprt",
+		"krdo",
+		"kref",
+		"krfr",
+		"krpl",
+		"krst",
+		"kres",
+		"ksav",
+		"kspd",
+		"kund",
+		"kBEG",
+		"kCAN",
+		"kCMD",
+		"kCPY",
+		"kCRT",
+		"kDC",
+		"kDL",
+		"kslt",
+		"kEND",
+		"kEOL",
+		"kEXT",
+		"kFND",
+		"kHLP",
+		"kHOM",
+		"kIC",
+		"kLFT",
+		"kMSG",
+		"kMOV",
+		"kNXT",
+		"kOPT",
+		"kPRV",
+		"kPRT",
+		"kRDO",
+		"kRPL",
+		"kRIT",
+		"kRES",
+		"kSAV",
+		"kSPD",
+		"kUND",
+		"rfi",
+		"kf11",
+		"kf12",
+		"kf13",
+		"kf14",
+		"kf15",
+		"kf16",
+		"kf17",
+		"kf18",
+		"kf19",
+		"kf20",
+		"kf21",
+		"kf22",
+		"kf23",
+		"kf24",
+		"kf25",
+		"kf26",
+		"kf27",
+		"kf28",
+		"kf29",
+		"kf30",
+		"kf31",
+		"kf32",
+		"kf33",
+		"kf34",
+		"kf35",
+		"kf36",
+		"kf37",
+		"kf38",
+		"kf39",
+		"kf40",
+		"kf41",
+		"kf42",
+		"kf43",
+		"kf44",
+		"kf45",
+		"kf46",
+		"kf47",
+		"kf48",
+		"kf49",
+		"kf50",
+		"kf51",
+		"kf52",
+		"kf53",
+		"kf54",
+		"kf55",
+		"kf56",
+		"kf57",
+		"kf58",
+		"kf59",
+		"kf60",
+		"kf61",
+		"kf62",
+		"kf63",
+		"el1",
+		"mgc",
+		"smgl",
+		"smgr",
+		"fln",
+		"sclk",
+		"dclk",
+		"rmclk",
+		"cwin",
+		"wingo",
+		"hup",
+		"dial",
+		"qdial",
+		"tone",
+		"pulse",
+		"hook",
+		"pause",
+		"wait",
+		"u0",
+		"u1",
+		"u2",
+		"u3",
+		"u4",
+		"u5",
+		"u6",
+		"u7",
+		"u8",
+		"u9",
+		"op",
+		"oc",
+		"initc",
+		"initp",
+		"scp",
+		"setf",
+		"setb",
+		"cpi",
+		"lpi",
+		"chr",
+		"cvr",
+		"defc",
+		"swidm",
+		"sdrfq",
+		"sitm",
+		"slm",
+		"smicm",
+		"snlq",
+		"snrmq",
+		"sshm",
+		"ssubm",
+		"ssupm",
+		"sum",
+		"rwidm",
+		"ritm",
+		"rlm",
+		"rmicm",
+		"rshm",
+		"rsubm",
+		"rsupm",
+		"rum",
+		"mhpa",
+		"mcud1",
+		"mcub1",
+		"mcuf1",
+		"mvpa",
+		"mcuu1",
+		"porder",
+		"mcud",
+		"mcub",
+		"mcuf",
+		"mcuu",
+		"scs",
+		"smgb",
+		"smgbp",
+		"smglp",
+		"smgrp",
+		"smgt",
+		"smgtp",
+		"sbim",
+		"scsd",
+		"rbim",
+		"rcsd",
+		"subcs",
+		"supcs",
+		"docr",
+		"zerom",
+		"csnm",
+		"kmous",
+		"minfo",
+		"reqmp",
+		"getm",
+		"setaf",
+		"setab",
+		"pfxl",
+		"devt",
+		"csin",
+		"s0ds",
+		"s1ds",
+		"s2ds",
+		"s3ds",
+		"smglr",
+		"smgtb",
+		"birep",
+		"binel",
+		"bicr",
+		"colornm",
+		"defbi",
+		"endbi",
+		"setcolor",
+		"slines",
+		"dispc",
+		"smpch",
+		"rmpch",
+		"smsc",
+		"rmsc",
+		"pctrm",
+		"scesc",
+		"scesa",
+		"ehhlm",
+		"elhlm",
+		"elohlm",
+		"erhlm",
+		"ethlm",
+		"evhlm",
+		"sgr1",
+		"slength",
+		"OTi2",
+		"OTrs",
+		"OTnl",
+		"OTbc",
+		"OTko",
+		"OTma",
+		"OTG2",
+		"OTG3",
+		"OTG1",
+		"OTG4",
+		"OTGR",
+		"OTGL",
+		"OTGU",
+		"OTGD",
+		"OTGH",
+		"OTGV",
+		"OTGC",
+		"meml",
+		"memu",
+		"box1",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(strfnames) = {
+		"back_tab",
+		"bell",
+		"carriage_return",
+		"change_scroll_region",
+		"clear_all_tabs",
+		"clear_screen",
+		"clr_eol",
+		"clr_eos",
+		"column_address",
+		"command_character",
+		"cursor_address",
+		"cursor_down",
+		"cursor_home",
+		"cursor_invisible",
+		"cursor_left",
+		"cursor_mem_address",
+		"cursor_normal",
+		"cursor_right",
+		"cursor_to_ll",
+		"cursor_up",
+		"cursor_visible",
+		"delete_character",
+		"delete_line",
+		"dis_status_line",
+		"down_half_line",
+		"enter_alt_charset_mode",
+		"enter_blink_mode",
+		"enter_bold_mode",
+		"enter_ca_mode",
+		"enter_delete_mode",
+		"enter_dim_mode",
+		"enter_insert_mode",
+		"enter_secure_mode",
+		"enter_protected_mode",
+		"enter_reverse_mode",
+		"enter_standout_mode",
+		"enter_underline_mode",
+		"erase_chars",
+		"exit_alt_charset_mode",
+		"exit_attribute_mode",
+		"exit_ca_mode",
+		"exit_delete_mode",
+		"exit_insert_mode",
+		"exit_standout_mode",
+		"exit_underline_mode",
+		"flash_screen",
+		"form_feed",
+		"from_status_line",
+		"init_1string",
+		"init_2string",
+		"init_3string",
+		"init_file",
+		"insert_character",
+		"insert_line",
+		"insert_padding",
+		"key_backspace",
+		"key_catab",
+		"key_clear",
+		"key_ctab",
+		"key_dc",
+		"key_dl",
+		"key_down",
+		"key_eic",
+		"key_eol",
+		"key_eos",
+		"key_f0",
+		"key_f1",
+		"key_f10",
+		"key_f2",
+		"key_f3",
+		"key_f4",
+		"key_f5",
+		"key_f6",
+		"key_f7",
+		"key_f8",
+		"key_f9",
+		"key_home",
+		"key_ic",
+		"key_il",
+		"key_left",
+		"key_ll",
+		"key_npage",
+		"key_ppage",
+		"key_right",
+		"key_sf",
+		"key_sr",
+		"key_stab",
+		"key_up",
+		"keypad_local",
+		"keypad_xmit",
+		"lab_f0",
+		"lab_f1",
+		"lab_f10",
+		"lab_f2",
+		"lab_f3",
+		"lab_f4",
+		"lab_f5",
+		"lab_f6",
+		"lab_f7",
+		"lab_f8",
+		"lab_f9",
+		"meta_off",
+		"meta_on",
+		"newline",
+		"pad_char",
+		"parm_dch",
+		"parm_delete_line",
+		"parm_down_cursor",
+		"parm_ich",
+		"parm_index",
+		"parm_insert_line",
+		"parm_left_cursor",
+		"parm_right_cursor",
+		"parm_rindex",
+		"parm_up_cursor",
+		"pkey_key",
+		"pkey_local",
+		"pkey_xmit",
+		"print_screen",
+		"prtr_off",
+		"prtr_on",
+		"repeat_char",
+		"reset_1string",
+		"reset_2string",
+		"reset_3string",
+		"reset_file",
+		"restore_cursor",
+		"row_address",
+		"save_cursor",
+		"scroll_forward",
+		"scroll_reverse",
+		"set_attributes",
+		"set_tab",
+		"set_window",
+		"tab",
+		"to_status_line",
+		"underline_char",
+		"up_half_line",
+		"init_prog",
+		"key_a1",
+		"key_a3",
+		"key_b2",
+		"key_c1",
+		"key_c3",
+		"prtr_non",
+		"char_padding",
+		"acs_chars",
+		"plab_norm",
+		"key_btab",
+		"enter_xon_mode",
+		"exit_xon_mode",
+		"enter_am_mode",
+		"exit_am_mode",
+		"xon_character",
+		"xoff_character",
+		"ena_acs",
+		"label_on",
+		"label_off",
+		"key_beg",
+		"key_cancel",
+		"key_close",
+		"key_command",
+		"key_copy",
+		"key_create",
+		"key_end",
+		"key_enter",
+		"key_exit",
+		"key_find",
+		"key_help",
+		"key_mark",
+		"key_message",
+		"key_move",
+		"key_next",
+		"key_open",
+		"key_options",
+		"key_previous",
+		"key_print",
+		"key_redo",
+		"key_reference",
+		"key_refresh",
+		"key_replace",
+		"key_restart",
+		"key_resume",
+		"key_save",
+		"key_suspend",
+		"key_undo",
+		"key_sbeg",
+		"key_scancel",
+		"key_scommand",
+		"key_scopy",
+		"key_screate",
+		"key_sdc",
+		"key_sdl",
+		"key_select",
+		"key_send",
+		"key_seol",
+		"key_sexit",
+		"key_sfind",
+		"key_shelp",
+		"key_shome",
+		"key_sic",
+		"key_sleft",
+		"key_smessage",
+		"key_smove",
+		"key_snext",
+		"key_soptions",
+		"key_sprevious",
+		"key_sprint",
+		"key_sredo",
+		"key_sreplace",
+		"key_sright",
+		"key_srsume",
+		"key_ssave",
+		"key_ssuspend",
+		"key_sundo",
+		"req_for_input",
+		"key_f11",
+		"key_f12",
+		"key_f13",
+		"key_f14",
+		"key_f15",
+		"key_f16",
+		"key_f17",
+		"key_f18",
+		"key_f19",
+		"key_f20",
+		"key_f21",
+		"key_f22",
+		"key_f23",
+		"key_f24",
+		"key_f25",
+		"key_f26",
+		"key_f27",
+		"key_f28",
+		"key_f29",
+		"key_f30",
+		"key_f31",
+		"key_f32",
+		"key_f33",
+		"key_f34",
+		"key_f35",
+		"key_f36",
+		"key_f37",
+		"key_f38",
+		"key_f39",
+		"key_f40",
+		"key_f41",
+		"key_f42",
+		"key_f43",
+		"key_f44",
+		"key_f45",
+		"key_f46",
+		"key_f47",
+		"key_f48",
+		"key_f49",
+		"key_f50",
+		"key_f51",
+		"key_f52",
+		"key_f53",
+		"key_f54",
+		"key_f55",
+		"key_f56",
+		"key_f57",
+		"key_f58",
+		"key_f59",
+		"key_f60",
+		"key_f61",
+		"key_f62",
+		"key_f63",
+		"clr_bol",
+		"clear_margins",
+		"set_left_margin",
+		"set_right_margin",
+		"label_format",
+		"set_clock",
+		"display_clock",
+		"remove_clock",
+		"create_window",
+		"goto_window",
+		"hangup",
+		"dial_phone",
+		"quick_dial",
+		"tone",
+		"pulse",
+		"flash_hook",
+		"fixed_pause",
+		"wait_tone",
+		"user0",
+		"user1",
+		"user2",
+		"user3",
+		"user4",
+		"user5",
+		"user6",
+		"user7",
+		"user8",
+		"user9",
+		"orig_pair",
+		"orig_colors",
+		"initialize_color",
+		"initialize_pair",
+		"set_color_pair",
+		"set_foreground",
+		"set_background",
+		"change_char_pitch",
+		"change_line_pitch",
+		"change_res_horz",
+		"change_res_vert",
+		"define_char",
+		"enter_doublewide_mode",
+		"enter_draft_quality",
+		"enter_italics_mode",
+		"enter_leftward_mode",
+		"enter_micro_mode",
+		"enter_near_letter_quality",
+		"enter_normal_quality",
+		"enter_shadow_mode",
+		"enter_subscript_mode",
+		"enter_superscript_mode",
+		"enter_upward_mode",
+		"exit_doublewide_mode",
+		"exit_italics_mode",
+		"exit_leftward_mode",
+		"exit_micro_mode",
+		"exit_shadow_mode",
+		"exit_subscript_mode",
+		"exit_superscript_mode",
+		"exit_upward_mode",
+		"micro_column_address",
+		"micro_down",
+		"micro_left",
+		"micro_right",
+		"micro_row_address",
+		"micro_up",
+		"order_of_pins",
+		"parm_down_micro",
+		"parm_left_micro",
+		"parm_right_micro",
+		"parm_up_micro",
+		"select_char_set",
+		"set_bottom_margin",
+		"set_bottom_margin_parm",
+		"set_left_margin_parm",
+		"set_right_margin_parm",
+		"set_top_margin",
+		"set_top_margin_parm",
+		"start_bit_image",
+		"start_char_set_def",
+		"stop_bit_image",
+		"stop_char_set_def",
+		"subscript_characters",
+		"superscript_characters",
+		"these_cause_cr",
+		"zero_motion",
+		"char_set_names",
+		"key_mouse",
+		"mouse_info",
+		"req_mouse_pos",
+		"get_mouse",
+		"set_a_foreground",
+		"set_a_background",
+		"pkey_plab",
+		"device_type",
+		"code_set_init",
+		"set0_des_seq",
+		"set1_des_seq",
+		"set2_des_seq",
+		"set3_des_seq",
+		"set_lr_margin",
+		"set_tb_margin",
+		"bit_image_repeat",
+		"bit_image_newline",
+		"bit_image_carriage_return",
+		"color_names",
+		"define_bit_image_region",
+		"end_bit_image_region",
+		"set_color_band",
+		"set_page_length",
+		"display_pc_char",
+		"enter_pc_charset_mode",
+		"exit_pc_charset_mode",
+		"enter_scancode_mode",
+		"exit_scancode_mode",
+		"pc_term_options",
+		"scancode_escape",
+		"alt_scancode_esc",
+		"enter_horizontal_hl_mode",
+		"enter_left_hl_mode",
+		"enter_low_hl_mode",
+		"enter_right_hl_mode",
+		"enter_top_hl_mode",
+		"enter_vertical_hl_mode",
+		"set_a_attributes",
+		"set_pglen_inch",
+		"termcap_init2",
+		"termcap_reset",
+		"linefeed_if_not_lf",
+		"backspace_if_not_bs",
+		"other_non_function_keys",
+		"arrow_key_map",
+		"acs_ulcorner",
+		"acs_llcorner",
+		"acs_urcorner",
+		"acs_lrcorner",
+		"acs_ltee",
+		"acs_rtee",
+		"acs_btee",
+		"acs_ttee",
+		"acs_hline",
+		"acs_vline",
+		"acs_plus",
+		"memory_lock",
+		"memory_unlock",
+		"box_chars_1",
+
+		(NCURSES_CONST char *)0,
+};
+
+
+#endif /* BROKEN_LINKER */
diff --git a/ncurses/unctrl.c b/ncurses/unctrl.c
new file mode 100644
index 0000000..ab7da70
--- /dev/null
+++ b/ncurses/unctrl.c
@@ -0,0 +1,146 @@
+/* generated by MKunctrl.awk */
+
+#include <curses.priv.h>
+#include <ctype.h>
+
+#undef unctrl
+
+NCURSES_EXPORT(NCURSES_CONST char *) safe_unctrl(SCREEN *sp, chtype ch)
+{
+static const short unctrl_table[] = {
+       0,   3,   6,   9,  12,  15,  18,  21,
+      24,  27,  30,  33,  36,  39,  42,  45,
+      48,  51,  54,  57,  60,  63,  66,  69,
+      72,  75,  78,  81,  84,  87,  90,  93,
+      96,  98, 100, 102, 104, 106, 108, 110,
+     112, 114, 116, 118, 120, 122, 124, 126,
+     128, 130, 132, 134, 136, 138, 140, 142,
+     144, 146, 148, 150, 152, 154, 156, 158,
+     160, 162, 164, 166, 168, 170, 172, 174,
+     176, 178, 180, 182, 184, 186, 188, 190,
+     192, 194, 196, 198, 200, 202, 204, 206,
+     208, 210, 212, 214, 216, 218, 220, 222,
+     224, 226, 228, 230, 232, 234, 236, 238,
+     240, 242, 244, 246, 248, 250, 252, 254,
+     256, 258, 260, 262, 264, 266, 268, 270,
+     272, 274, 276, 278, 280, 282, 284, 286,
+     289, 292, 295, 298, 301, 304, 307, 310,
+     313, 316, 319, 322, 325, 328, 331, 334,
+     337, 340, 343, 346, 349, 352, 355, 358,
+     361, 364, 367, 370, 373, 376, 379, 382,
+     385, 389, 393, 397, 401, 405, 409, 413,
+     417, 421, 425, 429, 433, 437, 441, 445,
+     449, 453, 457, 461, 465, 469, 473, 477,
+     481, 485, 489, 493, 497, 501, 505, 509,
+     513, 517, 521, 525, 529, 533, 537, 541,
+     545, 549, 553, 557, 561, 565, 569, 573,
+     577, 581, 585, 589, 593, 597, 601, 605,
+     609, 613, 617, 621, 625, 629, 633, 637,
+     641, 645, 649, 653, 657, 661, 665, 669,
+     673, 677, 681, 685, 689, 693, 697, 701,
+     705, 709, 713, 717, 721, 725, 729, 733,
+     737, 741, 745, 749, 753, 757, 761, 765,};
+
+#if NCURSES_EXT_FUNCS
+static const short unctrl_c1[] = {
+     768, 770, 772, 774, 776, 778, 780, 782,
+     784, 786, 788, 790, 792, 794, 796, 798,
+     800, 802, 804, 806, 808, 810, 812, 814,
+     816, 818, 820, 822, 824, 826, 828, 830,
+     832, 834, 836, 838, 840, 842, 844, 846,
+     848, 850, 852, 854, 856, 858, 860, 862,
+     864, 866, 868, 870, 872, 874, 876, 878,
+     880, 882, 884, 886, 888, 890, 892, 894,
+     896, 898, 900, 902, 904, 906, 908, 910,
+     912, 914, 916, 918, 920, 922, 924, 926,
+     928, 930, 932, 934, 936, 938, 940, 942,
+     944, 946, 948, 950, 952, 954, 956, 958,
+     960, 962, 964, 966, 968, 970, 972, 974,
+     976, 978, 980, 982, 984, 986, 988, 990,
+     992, 994, 996, 998,1000,1002,1004,1006,
+    1008,1010,1012,1014,1016,1018,1020,1022,};
+#endif /* NCURSES_EXT_FUNCS */
+
+static const char unctrl_blob[] = 
+    "^\100\0^\101\0^\102\0^\103\0^\104\0^\105\0^\106\0^\107\0"
+    "^\110\0^\111\0^\112\0^\113\0^\114\0^\115\0^\116\0^\117\0"
+    "^\120\0^\121\0^\122\0^\123\0^\124\0^\125\0^\126\0^\127\0"
+    "^\130\0^\131\0^\132\0^\133\0^\134\0^\135\0^\136\0^\137\0"
+    "\040\0\041\0\042\0\043\0\044\0\045\0\046\0\047\0"
+    "\050\0\051\0\052\0\053\0\054\0\055\0\056\0\057\0"
+    "\060\0\061\0\062\0\063\0\064\0\065\0\066\0\067\0"
+    "\070\0\071\0\072\0\073\0\074\0\075\0\076\0\077\0"
+    "\100\0\101\0\102\0\103\0\104\0\105\0\106\0\107\0"
+    "\110\0\111\0\112\0\113\0\114\0\115\0\116\0\117\0"
+    "\120\0\121\0\122\0\123\0\124\0\125\0\126\0\127\0"
+    "\130\0\131\0\132\0\133\0\134\0\135\0\136\0\137\0"
+    "\140\0\141\0\142\0\143\0\144\0\145\0\146\0\147\0"
+    "\150\0\151\0\152\0\153\0\154\0\155\0\156\0\157\0"
+    "\160\0\161\0\162\0\163\0\164\0\165\0\166\0\167\0"
+    "\170\0\171\0\172\0\173\0\174\0\175\0\176\0^?\0"
+    "~\100\0~\101\0~\102\0~\103\0~\104\0~\105\0~\106\0~\107\0"
+    "~\110\0~\111\0~\112\0~\113\0~\114\0~\115\0~\116\0~\117\0"
+    "~\120\0~\121\0~\122\0~\123\0~\124\0~\125\0~\126\0~\127\0"
+    "~\130\0~\131\0~\132\0~\133\0~\134\0~\135\0~\136\0~\137\0"
+    "M-\040\0M-\041\0M-\042\0M-\043\0M-\044\0M-\045\0M-\046\0M-\047\0"
+    "M-\050\0M-\051\0M-\052\0M-\053\0M-\054\0M-\055\0M-\056\0M-\057\0"
+    "M-\060\0M-\061\0M-\062\0M-\063\0M-\064\0M-\065\0M-\066\0M-\067\0"
+    "M-\070\0M-\071\0M-\072\0M-\073\0M-\074\0M-\075\0M-\076\0M-\077\0"
+    "M-\100\0M-\101\0M-\102\0M-\103\0M-\104\0M-\105\0M-\106\0M-\107\0"
+    "M-\110\0M-\111\0M-\112\0M-\113\0M-\114\0M-\115\0M-\116\0M-\117\0"
+    "M-\120\0M-\121\0M-\122\0M-\123\0M-\124\0M-\125\0M-\126\0M-\127\0"
+    "M-\130\0M-\131\0M-\132\0M-\133\0M-\134\0M-\135\0M-\136\0M-\137\0"
+    "M-\140\0M-\141\0M-\142\0M-\143\0M-\144\0M-\145\0M-\146\0M-\147\0"
+    "M-\150\0M-\151\0M-\152\0M-\153\0M-\154\0M-\155\0M-\156\0M-\157\0"
+    "M-\160\0M-\161\0M-\162\0M-\163\0M-\164\0M-\165\0M-\166\0M-\167\0"
+    "M-\170\0M-\171\0M-\172\0M-\173\0M-\174\0M-\175\0M-\176\0~?\0"
+/* printable values in 128-255 range */
+    "\200\0\201\0\202\0\203\0\204\0\205\0\206\0\207\0"
+    "\210\0\211\0\212\0\213\0\214\0\215\0\216\0\217\0"
+    "\220\0\221\0\222\0\223\0\224\0\225\0\226\0\227\0"
+    "\230\0\231\0\232\0\233\0\234\0\235\0\236\0\237\0"
+    "\240\0\241\0\242\0\243\0\244\0\245\0\246\0\247\0"
+    "\250\0\251\0\252\0\253\0\254\0\255\0\256\0\257\0"
+    "\260\0\261\0\262\0\263\0\264\0\265\0\266\0\267\0"
+    "\270\0\271\0\272\0\273\0\274\0\275\0\276\0\277\0"
+    "\300\0\301\0\302\0\303\0\304\0\305\0\306\0\307\0"
+    "\310\0\311\0\312\0\313\0\314\0\315\0\316\0\317\0"
+    "\320\0\321\0\322\0\323\0\324\0\325\0\326\0\327\0"
+    "\330\0\331\0\332\0\333\0\334\0\335\0\336\0\337\0"
+    "\340\0\341\0\342\0\343\0\344\0\345\0\346\0\347\0"
+    "\350\0\351\0\352\0\353\0\354\0\355\0\356\0\357\0"
+    "\360\0\361\0\362\0\363\0\364\0\365\0\366\0\367\0"
+    "\370\0\371\0\372\0\373\0\374\0\375\0\376\0\377\0"
+;
+
+	int check = (int) ChCharOf(ch);
+	const char *result;
+
+	if (check >= 0 && check < (int)SIZEOF(unctrl_table)) {
+#if NCURSES_EXT_FUNCS
+		if ((sp != 0)
+		 && (sp->_legacy_coding > 1)
+		 && (check >= 128)
+		 && (check < 160))
+			result = unctrl_blob + unctrl_c1[check - 128];
+		else
+		if ((check >= 160)
+		 && (check < 256)
+		 && ((sp != 0)
+		  && ((sp->_legacy_coding > 0)
+		   || (sp->_legacy_coding == 0
+		       && isprint(check)))))
+			result = unctrl_blob + unctrl_c1[check - 128];
+		else
+#endif /* NCURSES_EXT_FUNCS */
+			result = unctrl_blob + unctrl_table[check];
+	} else {
+		result = 0;
+	}
+	return (NCURSES_CONST char *)result;
+}
+
+NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype ch)
+{
+	return safe_unctrl(CURRENT_SCREEN, ch);
+}
diff --git a/panel/Makefile b/panel/Makefile
new file mode 100644
index 0000000..d423e08
--- /dev/null
+++ b/panel/Makefile
@@ -0,0 +1,541 @@
+# $Id: Makefile.in,v 1.69 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for panels source code.
+#
+# This makes the following:
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncurses
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644
+INSTALL_PROG	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= arm-linux-androideabi-ar
+ARFLAGS		= -curv
+AWK		= mawk
+LD		= arm-linux-androideabi-ld
+LN_S		= ln -s -f
+
+CTAGS		= 
+ETAGS		= 
+
+CC		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang
+CPP		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang -E
+CFLAGS		= -target arm-linux-androideabi -I/home/shade/dev/cm/13/bionic/libc/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi -I/home/shade/dev/cm/13/bionic/libc/arch-arm/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi/asm-arm --sysroot=/home/shade/dev/cm/13/prebuilts/ndk/current/platforms/android-21/arch-arm -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -I/home/shade/dev/cm/13/bionic/libm/include -I/home/shade/dev/cm/13/bionic/libm/include/arm -I/home/shade/dev/cm/13/external/libselinux/include -I/home/shade/dev/cm/13/system/core/include -I/home/shade/dev/cm/13/bionic/libc/dns/include -I.  --param max-inline-insns-single=1200
+
+CPPFLAGS	= -I${top_srcdir}/ncurses -DHAVE_CONFIG_H -I. -I../include   -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS)
+CFLAGS_DEBUG	= $(CCFLAGS) -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL_LINK)
+LDFLAGS		= -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils  
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) -lncurses 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 0
+REL_VERSION	= 6.0
+ABI_VERSION	= 6
+
+RANLIB		= arm-linux-androideabi-ranlib
+
+LIBRARIES	=  ../lib/libpanel.a ../lib/libpanel_g.a
+
+LINT		= lint
+LINT_OPTS	= 
+LINT_LIBS	= -lpanel -lncurses 
+
+AUTO_SRC	= \
+		../include/panel.h
+
+################################################################################
+all \
+libs \
+install ::	$(AUTO_SRC) $(LIBRARIES)
+
+sources:	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+# make a copy to simplify include-paths while still keeping panel's include
+# file in this directory.
+../include/panel.h : $(srcdir)/panel.h
+	-rm -f $@
+	cp $(srcdir)/panel.h $@
+
+HEADER_DEPS = \
+	$(srcdir)/panel.priv.h \
+	$(srcdir)/panel.h
+
+tags:
+	$(CTAGS) *.[ch]
+
+#TAGS:
+#	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	sed  -e "s/NCURSES\([WT]\+\)\?_/NCURSES\16_/g" -e "/deprecated in ABI6/d" <  >$@
+
+clean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    panel
+#   subsets:    ticlib+termlib+ext_tinfo+base+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/panel.c \
+	$(srcdir)/p_above.c \
+	$(srcdir)/p_below.c \
+	$(srcdir)/p_bottom.c \
+	$(srcdir)/p_delete.c \
+	$(srcdir)/p_hide.c \
+	$(srcdir)/p_hidden.c \
+	$(srcdir)/p_move.c \
+	$(srcdir)/p_new.c \
+	$(srcdir)/p_replace.c \
+	$(srcdir)/p_show.c \
+	$(srcdir)/p_top.c \
+	$(srcdir)/p_update.c \
+	$(srcdir)/p_user.c \
+	$(srcdir)/p_win.c
+
+# Producing llib-lpanel is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+PANEL_SRC = \
+	$(srcdir)/panel.c \
+	$(srcdir)/p_above.c \
+	$(srcdir)/p_below.c \
+	$(srcdir)/p_bottom.c \
+	$(srcdir)/p_delete.c \
+	$(srcdir)/p_hide.c \
+	$(srcdir)/p_hidden.c \
+	$(srcdir)/p_move.c \
+	$(srcdir)/p_new.c \
+	$(srcdir)/p_replace.c \
+	$(srcdir)/p_show.c \
+	$(srcdir)/p_top.c \
+	$(srcdir)/p_update.c \
+	$(srcdir)/p_user.c \
+	$(srcdir)/p_win.c
+
+clean ::
+	rm -f llib-lpanel.*
+
+realclean ::
+	rm -f llib-lpanel
+
+llib-lpanel : $(PANEL_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(PANEL_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib panel $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(PANEL_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          panel
+#  traces:        DEBUG
+#  MODEL:         NORMAL
+#  CXX_MODEL:     NORMAL
+#  model:         objects
+#  prefix:        lib
+#  suffix:        .a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./panel.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+NORMAL_OBJS = \
+	../objects/panel$o \
+	../objects/p_above$o \
+	../objects/p_below$o \
+	../objects/p_bottom$o \
+	../objects/p_delete$o \
+	../objects/p_hide$o \
+	../objects/p_hidden$o \
+	../objects/p_move$o \
+	../objects/p_new$o \
+	../objects/p_replace$o \
+	../objects/p_show$o \
+	../objects/p_top$o \
+	../objects/p_update$o \
+	../objects/p_user$o \
+	../objects/p_win$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./panel.priv.h
+
+../lib/libpanel.a : $(NORMAL_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.panel :: $(DESTDIR)$(libdir) ../lib/libpanel.a
+	@echo installing ../lib/libpanel.a as $(DESTDIR)$(libdir)/libpanel.a
+	$(INSTALL_DATA) ../lib/libpanel.a $(DESTDIR)$(libdir)/libpanel.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libpanel.a
+
+uninstall \
+uninstall.libs \
+uninstall.panel ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libpanel.a
+	-@rm -f $(DESTDIR)$(libdir)/libpanel.a
+
+clean ::
+	-rm -f ../lib/libpanel.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/panel$o :	$(srcdir)/panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/panel.c -o ../objects/panel$o
+
+../objects/p_above$o :	$(srcdir)/p_above.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_above.c -o ../objects/p_above$o
+
+../objects/p_below$o :	$(srcdir)/p_below.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_below.c -o ../objects/p_below$o
+
+../objects/p_bottom$o :	$(srcdir)/p_bottom.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_bottom.c -o ../objects/p_bottom$o
+
+../objects/p_delete$o :	$(srcdir)/p_delete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_delete.c -o ../objects/p_delete$o
+
+../objects/p_hide$o :	$(srcdir)/p_hide.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_hide.c -o ../objects/p_hide$o
+
+../objects/p_hidden$o :	$(srcdir)/p_hidden.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_hidden.c -o ../objects/p_hidden$o
+
+../objects/p_move$o :	$(srcdir)/p_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_move.c -o ../objects/p_move$o
+
+../objects/p_new$o :	$(srcdir)/p_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_new.c -o ../objects/p_new$o
+
+../objects/p_replace$o :	$(srcdir)/p_replace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_replace.c -o ../objects/p_replace$o
+
+../objects/p_show$o :	$(srcdir)/p_show.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_show.c -o ../objects/p_show$o
+
+../objects/p_top$o :	$(srcdir)/p_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_top.c -o ../objects/p_top$o
+
+../objects/p_update$o :	$(srcdir)/p_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_update.c -o ../objects/p_update$o
+
+../objects/p_user$o :	$(srcdir)/p_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_user.c -o ../objects/p_user$o
+
+../objects/p_win$o :	$(srcdir)/p_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_win.c -o ../objects/p_win$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          panel
+#  traces:        DEBUG
+#  MODEL:         DEBUG
+#  CXX_MODEL:     DEBUG
+#  model:         obj_g
+#  prefix:        lib
+#  suffix:        _g.a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./panel.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+DEBUG_OBJS = \
+	../obj_g/panel$o \
+	../obj_g/p_above$o \
+	../obj_g/p_below$o \
+	../obj_g/p_bottom$o \
+	../obj_g/p_delete$o \
+	../obj_g/p_hide$o \
+	../obj_g/p_hidden$o \
+	../obj_g/p_move$o \
+	../obj_g/p_new$o \
+	../obj_g/p_replace$o \
+	../obj_g/p_show$o \
+	../obj_g/p_top$o \
+	../obj_g/p_update$o \
+	../obj_g/p_user$o \
+	../obj_g/p_win$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./panel.priv.h
+
+../lib/libpanel_g.a : $(DEBUG_OBJS)
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.panel :: $(DESTDIR)$(libdir) ../lib/libpanel_g.a
+	@echo installing ../lib/libpanel_g.a as $(DESTDIR)$(libdir)/libpanel_g.a
+	$(INSTALL_DATA) ../lib/libpanel_g.a $(DESTDIR)$(libdir)/libpanel_g.a
+	$(RANLIB) $(DESTDIR)$(libdir)/libpanel_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.panel ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libpanel_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libpanel_g.a
+
+clean ::
+	-rm -f ../lib/libpanel_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/panel$o :	$(srcdir)/panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/panel.c -o ../obj_g/panel$o
+
+../obj_g/p_above$o :	$(srcdir)/p_above.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_above.c -o ../obj_g/p_above$o
+
+../obj_g/p_below$o :	$(srcdir)/p_below.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_below.c -o ../obj_g/p_below$o
+
+../obj_g/p_bottom$o :	$(srcdir)/p_bottom.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_bottom.c -o ../obj_g/p_bottom$o
+
+../obj_g/p_delete$o :	$(srcdir)/p_delete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_delete.c -o ../obj_g/p_delete$o
+
+../obj_g/p_hide$o :	$(srcdir)/p_hide.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_hide.c -o ../obj_g/p_hide$o
+
+../obj_g/p_hidden$o :	$(srcdir)/p_hidden.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_hidden.c -o ../obj_g/p_hidden$o
+
+../obj_g/p_move$o :	$(srcdir)/p_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_move.c -o ../obj_g/p_move$o
+
+../obj_g/p_new$o :	$(srcdir)/p_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_new.c -o ../obj_g/p_new$o
+
+../obj_g/p_replace$o :	$(srcdir)/p_replace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_replace.c -o ../obj_g/p_replace$o
+
+../obj_g/p_show$o :	$(srcdir)/p_show.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_show.c -o ../obj_g/p_show$o
+
+../obj_g/p_top$o :	$(srcdir)/p_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_top.c -o ../obj_g/p_top$o
+
+../obj_g/p_update$o :	$(srcdir)/p_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_update.c -o ../obj_g/p_update$o
+
+../obj_g/p_user$o :	$(srcdir)/p_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_user.c -o ../obj_g/p_user$o
+
+../obj_g/p_win$o :	$(srcdir)/p_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_win.c -o ../obj_g/p_win$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/panel.h
+	@ (cd ${INCLUDEDIR} && rm -f panel.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/panel.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f panel.h)
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/progs/Makefile b/progs/Makefile
new file mode 100644
index 0000000..d402903
--- /dev/null
+++ b/progs/Makefile
@@ -0,0 +1,592 @@
+# $Id: Makefile.in,v 1.95 2015/08/05 09:24:06 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses source code.
+#
+# This makes the ncurses utility programs.
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+# and the programs with the configured default model.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+CF_MFLAGS 	= 
+
+
+x		= 
+o		= .o
+
+MODEL		= ../objects
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= /ncurses
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncurses
+
+LIBTOOL		= 
+LIBTOOL_OPTS	= 
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_PROG	= ${INSTALL}
+transform	= s,x,x,
+
+AWK		= mawk
+LN_S		= ln -s -f
+
+CTAGS		= 
+ETAGS		= 
+
+CC		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang
+CPP		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang -E
+CFLAGS		= -target arm-linux-androideabi -I/home/shade/dev/cm/13/bionic/libc/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi -I/home/shade/dev/cm/13/bionic/libc/arch-arm/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi/asm-arm --sysroot=/home/shade/dev/cm/13/prebuilts/ndk/current/platforms/android-21/arch-arm -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -I/home/shade/dev/cm/13/bionic/libm/include -I/home/shade/dev/cm/13/bionic/libm/include/arm -I/home/shade/dev/cm/13/external/libselinux/include -I/home/shade/dev/cm/13/system/core/include -I/home/shade/dev/cm/13/bionic/libc/dns/include -I.  --param max-inline-insns-single=1200
+
+INCDIR		= $(top_srcdir)/include
+CPPFLAGS	= -DHAVE_CONFIG_H -I. -I../include   -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS)
+CFLAGS_DEBUG	= $(CCFLAGS) -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+REL_VERSION	= 6.0
+ABI_VERSION	= 6
+LOCAL_LIBDIR	= /home/shade/dev/cm/13/external/libncurses/lib
+
+LD		= arm-linux-androideabi-ld
+LINK		=  $(LIBTOOL_LINK)
+LDFLAGS		=  -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils
+RPATH_LIST	= ${libdir}
+
+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE)
+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) 
+
+LDFLAGS_DEFAULT	= $(LDFLAGS_NORMAL)
+
+LIBS_TIC	= -L../lib  -lncurses -lncurses   
+LDFLAGS_TIC	= -L../lib $(LDFLAGS_NORMAL) $(LIBS_TIC)
+
+LIBS_TINFO	=  -lncurses   
+LDFLAGS_TINFO	= -L../lib $(LDFLAGS_NORMAL) $(LIBS_TINFO)
+
+LINT		= lint
+LINT_OPTS	= 
+LINT_LIBS	= -lncurses 
+
+AUTO_SRC = \
+	termsort.c \
+	transform.h
+
+# tic relies on direct access to the terminfo database
+GET_PROGS = infocmp$x clear$x tabs$x tput$x tset$x toe$x
+PUT_PROGS =  tic$x
+PROGS = $(PUT_PROGS) $(GET_PROGS)
+
+# Default library, for linking applications
+DEPS_CURSES = ../lib/libncurses.a
+
+HEADER_DEPS	= \
+	../include/curses.h \
+	$(INCDIR)/term_entry.h \
+	$(INCDIR)/tic.h \
+	$(INCDIR)/nc_alloc.h
+
+################################################################################
+all:		$(AUTO_SRC) $(PROGS)
+
+sources:	$(AUTO_SRC)
+
+install: 	$(AUTO_SRC) install.progs
+uninstall: uninstall.progs
+
+# this line simplifies the configure-script
+libs \
+install.libs \
+uninstall.libs:
+
+TRANSFORM = sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/'
+
+# transformed names for installing files
+actual_captoinfo = `echo captoinfo$x| $(TRANSFORM)`
+actual_clear     = `echo clear$x|     $(TRANSFORM)`
+actual_infocmp   = `echo infocmp$x|   $(TRANSFORM)`
+actual_infotocap = `echo infotocap$x| $(TRANSFORM)`
+actual_init      = `echo init$x|      $(TRANSFORM)`
+actual_reset     = `echo reset$x|     $(TRANSFORM)`
+actual_tabs      = `echo tabs$x|      $(TRANSFORM)`
+actual_tic       = `echo tic$x|       $(TRANSFORM)`
+actual_toe       = `echo toe$x|       $(TRANSFORM)`
+actual_tput      = `echo tput$x|      $(TRANSFORM)`
+actual_tset      = `echo tset$x|      $(TRANSFORM)`
+
+# transformed names for comparing at runtime
+define_captoinfo = `echo captoinfo|   $(TRANSFORM)`
+define_infotocap = `echo infotocap|   $(TRANSFORM)`
+define_init      = `echo init|        $(TRANSFORM)`
+define_reset     = `echo reset|       $(TRANSFORM)`
+
+transform.h :
+	echo "#ifndef __TRANSFORM_H"					>$@
+	echo "#define __TRANSFORM_H 1"					>>$@
+	echo "#include <progs.priv.h>"					>>$@
+	echo "extern bool same_program(const char *, const char *);"	>>$@
+	-$(SHELL) -c 'if test -n "$x" ; then echo "#define SUFFIX_IGNORED \"$x\"">>$@; fi'
+	echo "#define PROG_CAPTOINFO \"$(define_captoinfo)\""		>>$@
+	echo "#define PROG_INFOTOCAP \"$(define_infotocap)\""		>>$@
+	echo "#define PROG_RESET     \"$(define_reset)\""		>>$@
+	echo "#define PROG_INIT      \"$(define_init)\""		>>$@
+	echo "#endif /* __TRANSFORM_H */"				>>$@
+
+install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
+	@echo "linking $(actual_infotocap) to $(actual_tic)"
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+	(cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap))
+	@echo "linking $(actual_captoinfo) to $(actual_tic)"
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+	(cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo))
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tabs$x    $(DESTDIR)$(bindir)/$(actual_tabs)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
+	@echo "linking $(actual_reset) to $(actual_tset)"
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+	(cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset))
+
+uninstall.progs:
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tabs)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+
+$(DESTDIR)$(bindir) :
+	mkdir -p $@
+
+#
+# Utilities normally built by make all start here
+#
+
+DEPS_TIC = \
+	$(MODEL)/tic$o \
+	$(MODEL)/dump_entry$o \
+	$(MODEL)/tparm_type$o \
+	$(MODEL)/transform$o
+
+tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h
+	 $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
+
+DEPS_TOE = \
+	$(MODEL)/toe$o
+
+toe$x: $(DEPS_TOE) $(DEPS_CURSES)
+	 $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@
+
+DEPS_CLEAR = \
+	$(MODEL)/clear$o
+
+clear$x: $(DEPS_CLEAR) $(DEPS_CURSES)
+	 $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
+
+DEPS_TABS = \
+	$(MODEL)/tabs$o
+
+tabs$x: $(DEPS_TABS) $(DEPS_TABS)
+	 $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
+
+DEPS_TPUT = \
+	$(MODEL)/tput$o \
+	$(MODEL)/tparm_type$o \
+	$(MODEL)/transform$o
+
+tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h
+	 $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
+
+DEPS_INFOCMP = \
+	$(MODEL)/infocmp$o \
+	$(MODEL)/dump_entry$o
+
+infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES)
+	 $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
+
+DEPS_TSET = \
+	$(MODEL)/tset$o \
+	$(MODEL)/transform$o
+
+tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h
+	 $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
+
+termsort.c: $(srcdir)/MKtermsort.sh
+	$(SHELL) $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/Caps >$@
+
+#
+# Utility productions start here
+#
+
+tags:
+	$(CTAGS) *.[ch]
+
+#TAGS:
+#	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+	-rm -f $(AUTO_SRC)
+	-rm -f $(PROGS)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+# These rules are used to allow "make -n" to work on a clean directory-tree
+../include/hashsize.h \
+../include/parametrized.h \
+../include/term.h :
+	cd ../include; $(MAKE) $(CF_MFLAGS)
+$(DEPS_CURSES) :
+	cd ../ncurses; $(MAKE) $(CF_MFLAGS)
+
+lint:
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tic.c     $(srcdir)/dump_entry.c $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/toe.c     $(srcdir)/dump_entry.c $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/clear.c                          $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/infocmp.c $(srcdir)/dump_entry.c $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tabs.c                           $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tput.c                           $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tset.c    $(srcdir)/dump_entry.c $(LINT_LIBS)
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	sed  -e "s/NCURSES\([WT]\+\)\?_/NCURSES\16_/g" -e "/deprecated in ABI6/d" <  >$@
+
+clean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    progs
+#   subsets:    ticlib+termlib+ext_tinfo+base+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/clear.c \
+	$(srcdir)/tic.c \
+	$(srcdir)/toe.c \
+	$(srcdir)/dump_entry.c \
+	$(srcdir)/infocmp.c \
+	$(srcdir)/tabs.c \
+	$(srcdir)/tparm_type.c \
+	$(srcdir)/tput.c \
+	$(srcdir)/tset.c \
+	$(srcdir)/transform.c
+
+lintlib :
+	@echo no action needed
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          progs
+#  traces:        DEBUG
+#  MODEL:         NORMAL
+#  CXX_MODEL:     NORMAL
+#  model:         objects
+#  prefix:        lib
+#  suffix:        .a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./progs.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+NORMAL_OBJS = \
+	../objects/clear$o \
+	../objects/tic$o \
+	../objects/toe$o \
+	../objects/dump_entry$o \
+	../objects/infocmp$o \
+	../objects/tabs$o \
+	../objects/tparm_type$o \
+	../objects/tput$o \
+	../objects/tset$o \
+	../objects/transform$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./progs.priv.h
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+clean ::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/clear$o :	$(srcdir)/clear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/clear.c -o ../objects/clear$o
+
+../objects/tic$o :	$(srcdir)/tic.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tic.c -o ../objects/tic$o
+
+../objects/toe$o :	$(srcdir)/toe.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/toe.c -o ../objects/toe$o
+
+../objects/dump_entry$o :	$(srcdir)/dump_entry.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h \
+			../include/parametrized.h \
+			$(INCDIR)/capdefaults.c \
+			termsort.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/dump_entry.c -o ../objects/dump_entry$o
+
+../objects/infocmp$o :	$(srcdir)/infocmp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/infocmp.c -o ../objects/infocmp$o
+
+../objects/tabs$o :	$(srcdir)/tabs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tabs.c -o ../objects/tabs$o
+
+../objects/tparm_type$o :	$(srcdir)/tparm_type.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tparm_type.c -o ../objects/tparm_type$o
+
+../objects/tput$o :	$(srcdir)/tput.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			$(srcdir)/tparm_type.h \
+			termsort.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tput.c -o ../objects/tput$o
+
+../objects/tset$o :	$(srcdir)/tset.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tset.c -o ../objects/tset$o
+
+../objects/transform$o :	$(srcdir)/transform.c \
+			$(HEADER_DEPS) \
+			transform.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/transform.c -o ../objects/transform$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          progs
+#  traces:        DEBUG
+#  MODEL:         DEBUG
+#  CXX_MODEL:     DEBUG
+#  model:         obj_g
+#  prefix:        lib
+#  suffix:        _g.a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./progs.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+DEBUG_OBJS = \
+	../obj_g/clear$o \
+	../obj_g/tic$o \
+	../obj_g/toe$o \
+	../obj_g/dump_entry$o \
+	../obj_g/infocmp$o \
+	../obj_g/tabs$o \
+	../obj_g/tparm_type$o \
+	../obj_g/tput$o \
+	../obj_g/tset$o \
+	../obj_g/transform$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./progs.priv.h
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+clean ::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/clear$o :	$(srcdir)/clear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/clear.c -o ../obj_g/clear$o
+
+../obj_g/tic$o :	$(srcdir)/tic.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tic.c -o ../obj_g/tic$o
+
+../obj_g/toe$o :	$(srcdir)/toe.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/toe.c -o ../obj_g/toe$o
+
+../obj_g/dump_entry$o :	$(srcdir)/dump_entry.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h \
+			../include/parametrized.h \
+			$(INCDIR)/capdefaults.c \
+			termsort.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/dump_entry.c -o ../obj_g/dump_entry$o
+
+../obj_g/infocmp$o :	$(srcdir)/infocmp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/infocmp.c -o ../obj_g/infocmp$o
+
+../obj_g/tabs$o :	$(srcdir)/tabs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tabs.c -o ../obj_g/tabs$o
+
+../obj_g/tparm_type$o :	$(srcdir)/tparm_type.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tparm_type.c -o ../obj_g/tparm_type$o
+
+../obj_g/tput$o :	$(srcdir)/tput.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			$(srcdir)/tparm_type.h \
+			termsort.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tput.c -o ../obj_g/tput$o
+
+../obj_g/tset$o :	$(srcdir)/tset.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tset.c -o ../obj_g/tset$o
+
+../obj_g/transform$o :	$(srcdir)/transform.c \
+			$(HEADER_DEPS) \
+			transform.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/transform.c -o ../obj_g/transform$o
+
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/progs/clear b/progs/clear
new file mode 100755
index 0000000..1839a55
--- /dev/null
+++ b/progs/clear
Binary files differ
diff --git a/progs/infocmp b/progs/infocmp
new file mode 100755
index 0000000..8d0bc80
--- /dev/null
+++ b/progs/infocmp
Binary files differ
diff --git a/progs/tabs b/progs/tabs
new file mode 100755
index 0000000..868b2d9
--- /dev/null
+++ b/progs/tabs
Binary files differ
diff --git a/progs/termsort.c b/progs/termsort.c
new file mode 100644
index 0000000..eae285e
--- /dev/null
+++ b/progs/termsort.c
@@ -0,0 +1,2166 @@
+/*
+ * termsort.c --- sort order arrays for use by infocmp.
+ *
+ * Note: this file is generated using MKtermsort.sh, do not edit by hand.
+ */
+static const PredIdx bool_terminfo_sort[] = {
+	 40 ,	/*  OTMT  */
+	 41 ,	/*  OTNL  */
+	 37 ,	/*  OTbs  */
+	 39 ,	/*  OTnc  */
+	 38 ,	/*  OTns  */
+	 42 ,	/*  OTpt  */
+	 43 ,	/*  OTxr  */
+	 1 ,	/*  am  */
+	 28 ,	/*  bce  */
+	 0 ,	/*  bw  */
+	 27 ,	/*  ccc  */
+	 23 ,	/*  chts  */
+	 35 ,	/*  cpix  */
+	 31 ,	/*  crxm  */
+	 11 ,	/*  da  */
+	 32 ,	/*  daisy  */
+	 12 ,	/*  db  */
+	 5 ,	/*  eo  */
+	 16 ,	/*  eslok  */
+	 6 ,	/*  gn  */
+	 7 ,	/*  hc  */
+	 29 ,	/*  hls  */
+	 9 ,	/*  hs  */
+	 18 ,	/*  hz  */
+	 10 ,	/*  in  */
+	 8 ,	/*  km  */
+	 36 ,	/*  lpix  */
+	 22 ,	/*  mc5i  */
+	 13 ,	/*  mir  */
+	 14 ,	/*  msgr  */
+	 26 ,	/*  ndscr  */
+	 25 ,	/*  npc  */
+	 24 ,	/*  nrrmc  */
+	 21 ,	/*  nxon  */
+	 15 ,	/*  os  */
+	 34 ,	/*  sam  */
+	 19 ,	/*  ul  */
+	 4 ,	/*  xenl  */
+	 3 ,	/*  xhp  */
+	 30 ,	/*  xhpa  */
+	 20 ,	/*  xon  */
+	 2 ,	/*  xsb  */
+	 17 ,	/*  xt  */
+	 33 ,	/*  xvpa  */
+};
+
+static const PredIdx num_terminfo_sort[] = {
+	 36 ,	/*  OTdB  */
+	 34 ,	/*  OTdC  */
+	 35 ,	/*  OTdN  */
+	 37 ,	/*  OTdT  */
+	 38 ,	/*  OTkn  */
+	 33 ,	/*  OTug  */
+	 31 ,	/*  bitwin  */
+	 32 ,	/*  bitype  */
+	 30 ,	/*  btns  */
+	 16 ,	/*  bufsz  */
+	 13 ,	/*  colors  */
+	 0 ,	/*  cols  */
+	 28 ,	/*  cps  */
+	 1 ,	/*  it  */
+	 9 ,	/*  lh  */
+	 2 ,	/*  lines  */
+	 3 ,	/*  lm  */
+	 10 ,	/*  lw  */
+	 11 ,	/*  ma  */
+	 19 ,	/*  maddr  */
+	 21 ,	/*  mcs  */
+	 20 ,	/*  mjump  */
+	 22 ,	/*  mls  */
+	 15 ,	/*  ncv  */
+	 8 ,	/*  nlab  */
+	 23 ,	/*  npins  */
+	 24 ,	/*  orc  */
+	 26 ,	/*  orhi  */
+	 25 ,	/*  orl  */
+	 27 ,	/*  orvi  */
+	 14 ,	/*  pairs  */
+	 5 ,	/*  pb  */
+	 18 ,	/*  spinh  */
+	 17 ,	/*  spinv  */
+	 6 ,	/*  vt  */
+	 29 ,	/*  widcs  */
+	 12 ,	/*  wnum  */
+	 7 ,	/*  wsl  */
+	 4 ,	/*  xmc  */
+};
+
+static const PredIdx str_terminfo_sort[] = {
+	 402 ,	/*  OTG1  */
+	 400 ,	/*  OTG2  */
+	 401 ,	/*  OTG3  */
+	 403 ,	/*  OTG4  */
+	 410 ,	/*  OTGC  */
+	 407 ,	/*  OTGD  */
+	 408 ,	/*  OTGH  */
+	 405 ,	/*  OTGL  */
+	 404 ,	/*  OTGR  */
+	 406 ,	/*  OTGU  */
+	 409 ,	/*  OTGV  */
+	 397 ,	/*  OTbc  */
+	 394 ,	/*  OTi2  */
+	 398 ,	/*  OTko  */
+	 399 ,	/*  OTma  */
+	 396 ,	/*  OTnl  */
+	 395 ,	/*  OTrs  */
+	 146 ,	/*  acsc  */
+	 1 ,	/*  bel  */
+	 372 ,	/*  bicr  */
+	 371 ,	/*  binel  */
+	 370 ,	/*  birep  */
+	 26 ,	/*  blink  */
+	 27 ,	/*  bold  */
+	 413 ,	/*  box1  */
+	 0 ,	/*  cbt  */
+	 306 ,	/*  chr  */
+	 13 ,	/*  civis  */
+	 5 ,	/*  clear  */
+	 9 ,	/*  cmdch  */
+	 16 ,	/*  cnorm  */
+	 373 ,	/*  colornm  */
+	 304 ,	/*  cpi  */
+	 2 ,	/*  cr  */
+	 363 ,	/*  csin  */
+	 354 ,	/*  csnm  */
+	 3 ,	/*  csr  */
+	 111 ,	/*  cub  */
+	 14 ,	/*  cub1  */
+	 107 ,	/*  cud  */
+	 11 ,	/*  cud1  */
+	 112 ,	/*  cuf  */
+	 17 ,	/*  cuf1  */
+	 10 ,	/*  cup  */
+	 114 ,	/*  cuu  */
+	 19 ,	/*  cuu1  */
+	 307 ,	/*  cvr  */
+	 20 ,	/*  cvvis  */
+	 277 ,	/*  cwin  */
+	 105 ,	/*  dch  */
+	 21 ,	/*  dch1  */
+	 275 ,	/*  dclk  */
+	 374 ,	/*  defbi  */
+	 308 ,	/*  defc  */
+	 362 ,	/*  devt  */
+	 280 ,	/*  dial  */
+	 30 ,	/*  dim  */
+	 378 ,	/*  dispc  */
+	 106 ,	/*  dl  */
+	 22 ,	/*  dl1  */
+	 352 ,	/*  docr  */
+	 23 ,	/*  dsl  */
+	 37 ,	/*  ech  */
+	 7 ,	/*  ed  */
+	 386 ,	/*  ehhlm  */
+	 6 ,	/*  el  */
+	 269 ,	/*  el1  */
+	 387 ,	/*  elhlm  */
+	 388 ,	/*  elohlm  */
+	 155 ,	/*  enacs  */
+	 375 ,	/*  endbi  */
+	 389 ,	/*  erhlm  */
+	 390 ,	/*  ethlm  */
+	 391 ,	/*  evhlm  */
+	 46 ,	/*  ff  */
+	 45 ,	/*  flash  */
+	 273 ,	/*  fln  */
+	 47 ,	/*  fsl  */
+	 358 ,	/*  getm  */
+	 24 ,	/*  hd  */
+	 12 ,	/*  home  */
+	 284 ,	/*  hook  */
+	 8 ,	/*  hpa  */
+	 134 ,	/*  ht  */
+	 132 ,	/*  hts  */
+	 137 ,	/*  hu  */
+	 279 ,	/*  hup  */
+	 108 ,	/*  ich  */
+	 52 ,	/*  ich1  */
+	 51 ,	/*  if  */
+	 110 ,	/*  il  */
+	 53 ,	/*  il1  */
+	 129 ,	/*  ind  */
+	 109 ,	/*  indn  */
+	 299 ,	/*  initc  */
+	 300 ,	/*  initp  */
+	 32 ,	/*  invis  */
+	 54 ,	/*  ip  */
+	 138 ,	/*  iprog  */
+	 48 ,	/*  is1  */
+	 49 ,	/*  is2  */
+	 50 ,	/*  is3  */
+	 186 ,	/*  kBEG  */
+	 187 ,	/*  kCAN  */
+	 188 ,	/*  kCMD  */
+	 189 ,	/*  kCPY  */
+	 190 ,	/*  kCRT  */
+	 191 ,	/*  kDC  */
+	 192 ,	/*  kDL  */
+	 194 ,	/*  kEND  */
+	 195 ,	/*  kEOL  */
+	 196 ,	/*  kEXT  */
+	 197 ,	/*  kFND  */
+	 198 ,	/*  kHLP  */
+	 199 ,	/*  kHOM  */
+	 200 ,	/*  kIC  */
+	 201 ,	/*  kLFT  */
+	 203 ,	/*  kMOV  */
+	 202 ,	/*  kMSG  */
+	 204 ,	/*  kNXT  */
+	 205 ,	/*  kOPT  */
+	 207 ,	/*  kPRT  */
+	 206 ,	/*  kPRV  */
+	 208 ,	/*  kRDO  */
+	 211 ,	/*  kRES  */
+	 210 ,	/*  kRIT  */
+	 209 ,	/*  kRPL  */
+	 212 ,	/*  kSAV  */
+	 213 ,	/*  kSPD  */
+	 214 ,	/*  kUND  */
+	 139 ,	/*  ka1  */
+	 140 ,	/*  ka3  */
+	 141 ,	/*  kb2  */
+	 158 ,	/*  kbeg  */
+	 55 ,	/*  kbs  */
+	 142 ,	/*  kc1  */
+	 143 ,	/*  kc3  */
+	 159 ,	/*  kcan  */
+	 148 ,	/*  kcbt  */
+	 160 ,	/*  kclo  */
+	 57 ,	/*  kclr  */
+	 161 ,	/*  kcmd  */
+	 162 ,	/*  kcpy  */
+	 163 ,	/*  kcrt  */
+	 58 ,	/*  kctab  */
+	 79 ,	/*  kcub1  */
+	 61 ,	/*  kcud1  */
+	 83 ,	/*  kcuf1  */
+	 87 ,	/*  kcuu1  */
+	 59 ,	/*  kdch1  */
+	 60 ,	/*  kdl1  */
+	 64 ,	/*  ked  */
+	 63 ,	/*  kel  */
+	 164 ,	/*  kend  */
+	 165 ,	/*  kent  */
+	 166 ,	/*  kext  */
+	 65 ,	/*  kf0  */
+	 66 ,	/*  kf1  */
+	 67 ,	/*  kf10  */
+	 216 ,	/*  kf11  */
+	 217 ,	/*  kf12  */
+	 218 ,	/*  kf13  */
+	 219 ,	/*  kf14  */
+	 220 ,	/*  kf15  */
+	 221 ,	/*  kf16  */
+	 222 ,	/*  kf17  */
+	 223 ,	/*  kf18  */
+	 224 ,	/*  kf19  */
+	 68 ,	/*  kf2  */
+	 225 ,	/*  kf20  */
+	 226 ,	/*  kf21  */
+	 227 ,	/*  kf22  */
+	 228 ,	/*  kf23  */
+	 229 ,	/*  kf24  */
+	 230 ,	/*  kf25  */
+	 231 ,	/*  kf26  */
+	 232 ,	/*  kf27  */
+	 233 ,	/*  kf28  */
+	 234 ,	/*  kf29  */
+	 69 ,	/*  kf3  */
+	 235 ,	/*  kf30  */
+	 236 ,	/*  kf31  */
+	 237 ,	/*  kf32  */
+	 238 ,	/*  kf33  */
+	 239 ,	/*  kf34  */
+	 240 ,	/*  kf35  */
+	 241 ,	/*  kf36  */
+	 242 ,	/*  kf37  */
+	 243 ,	/*  kf38  */
+	 244 ,	/*  kf39  */
+	 70 ,	/*  kf4  */
+	 245 ,	/*  kf40  */
+	 246 ,	/*  kf41  */
+	 247 ,	/*  kf42  */
+	 248 ,	/*  kf43  */
+	 249 ,	/*  kf44  */
+	 250 ,	/*  kf45  */
+	 251 ,	/*  kf46  */
+	 252 ,	/*  kf47  */
+	 253 ,	/*  kf48  */
+	 254 ,	/*  kf49  */
+	 71 ,	/*  kf5  */
+	 255 ,	/*  kf50  */
+	 256 ,	/*  kf51  */
+	 257 ,	/*  kf52  */
+	 258 ,	/*  kf53  */
+	 259 ,	/*  kf54  */
+	 260 ,	/*  kf55  */
+	 261 ,	/*  kf56  */
+	 262 ,	/*  kf57  */
+	 263 ,	/*  kf58  */
+	 264 ,	/*  kf59  */
+	 72 ,	/*  kf6  */
+	 265 ,	/*  kf60  */
+	 266 ,	/*  kf61  */
+	 267 ,	/*  kf62  */
+	 268 ,	/*  kf63  */
+	 73 ,	/*  kf7  */
+	 74 ,	/*  kf8  */
+	 75 ,	/*  kf9  */
+	 167 ,	/*  kfnd  */
+	 168 ,	/*  khlp  */
+	 76 ,	/*  khome  */
+	 86 ,	/*  khts  */
+	 77 ,	/*  kich1  */
+	 78 ,	/*  kil1  */
+	 84 ,	/*  kind  */
+	 80 ,	/*  kll  */
+	 355 ,	/*  kmous  */
+	 171 ,	/*  kmov  */
+	 169 ,	/*  kmrk  */
+	 170 ,	/*  kmsg  */
+	 81 ,	/*  knp  */
+	 172 ,	/*  knxt  */
+	 173 ,	/*  kopn  */
+	 174 ,	/*  kopt  */
+	 82 ,	/*  kpp  */
+	 176 ,	/*  kprt  */
+	 175 ,	/*  kprv  */
+	 177 ,	/*  krdo  */
+	 178 ,	/*  kref  */
+	 182 ,	/*  kres  */
+	 179 ,	/*  krfr  */
+	 85 ,	/*  kri  */
+	 62 ,	/*  krmir  */
+	 180 ,	/*  krpl  */
+	 181 ,	/*  krst  */
+	 183 ,	/*  ksav  */
+	 193 ,	/*  kslt  */
+	 184 ,	/*  kspd  */
+	 56 ,	/*  ktbc  */
+	 185 ,	/*  kund  */
+	 90 ,	/*  lf0  */
+	 91 ,	/*  lf1  */
+	 92 ,	/*  lf10  */
+	 93 ,	/*  lf2  */
+	 94 ,	/*  lf3  */
+	 95 ,	/*  lf4  */
+	 96 ,	/*  lf5  */
+	 97 ,	/*  lf6  */
+	 98 ,	/*  lf7  */
+	 99 ,	/*  lf8  */
+	 100 ,	/*  lf9  */
+	 18 ,	/*  ll  */
+	 305 ,	/*  lpi  */
+	 118 ,	/*  mc0  */
+	 119 ,	/*  mc4  */
+	 120 ,	/*  mc5  */
+	 144 ,	/*  mc5p  */
+	 336 ,	/*  mcub  */
+	 330 ,	/*  mcub1  */
+	 335 ,	/*  mcud  */
+	 329 ,	/*  mcud1  */
+	 337 ,	/*  mcuf  */
+	 331 ,	/*  mcuf1  */
+	 338 ,	/*  mcuu  */
+	 333 ,	/*  mcuu1  */
+	 411 ,	/*  meml  */
+	 412 ,	/*  memu  */
+	 270 ,	/*  mgc  */
+	 328 ,	/*  mhpa  */
+	 356 ,	/*  minfo  */
+	 15 ,	/*  mrcup  */
+	 332 ,	/*  mvpa  */
+	 103 ,	/*  nel  */
+	 298 ,	/*  oc  */
+	 297 ,	/*  op  */
+	 104 ,	/*  pad  */
+	 285 ,	/*  pause  */
+	 383 ,	/*  pctrm  */
+	 115 ,	/*  pfkey  */
+	 116 ,	/*  pfloc  */
+	 117 ,	/*  pfx  */
+	 361 ,	/*  pfxl  */
+	 147 ,	/*  pln  */
+	 334 ,	/*  porder  */
+	 33 ,	/*  prot  */
+	 283 ,	/*  pulse  */
+	 281 ,	/*  qdial  */
+	 348 ,	/*  rbim  */
+	 126 ,	/*  rc  */
+	 349 ,	/*  rcsd  */
+	 121 ,	/*  rep  */
+	 357 ,	/*  reqmp  */
+	 34 ,	/*  rev  */
+	 125 ,	/*  rf  */
+	 215 ,	/*  rfi  */
+	 130 ,	/*  ri  */
+	 113 ,	/*  rin  */
+	 321 ,	/*  ritm  */
+	 322 ,	/*  rlm  */
+	 38 ,	/*  rmacs  */
+	 152 ,	/*  rmam  */
+	 276 ,	/*  rmclk  */
+	 40 ,	/*  rmcup  */
+	 41 ,	/*  rmdc  */
+	 323 ,	/*  rmicm  */
+	 42 ,	/*  rmir  */
+	 88 ,	/*  rmkx  */
+	 157 ,	/*  rmln  */
+	 101 ,	/*  rmm  */
+	 145 ,	/*  rmp  */
+	 380 ,	/*  rmpch  */
+	 382 ,	/*  rmsc  */
+	 43 ,	/*  rmso  */
+	 44 ,	/*  rmul  */
+	 150 ,	/*  rmxon  */
+	 122 ,	/*  rs1  */
+	 123 ,	/*  rs2  */
+	 124 ,	/*  rs3  */
+	 324 ,	/*  rshm  */
+	 325 ,	/*  rsubm  */
+	 326 ,	/*  rsupm  */
+	 327 ,	/*  rum  */
+	 320 ,	/*  rwidm  */
+	 364 ,	/*  s0ds  */
+	 365 ,	/*  s1ds  */
+	 366 ,	/*  s2ds  */
+	 367 ,	/*  s3ds  */
+	 346 ,	/*  sbim  */
+	 128 ,	/*  sc  */
+	 385 ,	/*  scesa  */
+	 384 ,	/*  scesc  */
+	 274 ,	/*  sclk  */
+	 301 ,	/*  scp  */
+	 339 ,	/*  scs  */
+	 347 ,	/*  scsd  */
+	 310 ,	/*  sdrfq  */
+	 360 ,	/*  setab  */
+	 359 ,	/*  setaf  */
+	 303 ,	/*  setb  */
+	 376 ,	/*  setcolor  */
+	 302 ,	/*  setf  */
+	 131 ,	/*  sgr  */
+	 39 ,	/*  sgr0  */
+	 392 ,	/*  sgr1  */
+	 311 ,	/*  sitm  */
+	 393 ,	/*  slength  */
+	 377 ,	/*  slines  */
+	 312 ,	/*  slm  */
+	 25 ,	/*  smacs  */
+	 151 ,	/*  smam  */
+	 28 ,	/*  smcup  */
+	 29 ,	/*  smdc  */
+	 340 ,	/*  smgb  */
+	 341 ,	/*  smgbp  */
+	 271 ,	/*  smgl  */
+	 342 ,	/*  smglp  */
+	 368 ,	/*  smglr  */
+	 272 ,	/*  smgr  */
+	 343 ,	/*  smgrp  */
+	 344 ,	/*  smgt  */
+	 369 ,	/*  smgtb  */
+	 345 ,	/*  smgtp  */
+	 313 ,	/*  smicm  */
+	 31 ,	/*  smir  */
+	 89 ,	/*  smkx  */
+	 156 ,	/*  smln  */
+	 102 ,	/*  smm  */
+	 379 ,	/*  smpch  */
+	 381 ,	/*  smsc  */
+	 35 ,	/*  smso  */
+	 36 ,	/*  smul  */
+	 149 ,	/*  smxon  */
+	 314 ,	/*  snlq  */
+	 315 ,	/*  snrmq  */
+	 316 ,	/*  sshm  */
+	 317 ,	/*  ssubm  */
+	 318 ,	/*  ssupm  */
+	 350 ,	/*  subcs  */
+	 319 ,	/*  sum  */
+	 351 ,	/*  supcs  */
+	 309 ,	/*  swidm  */
+	 4 ,	/*  tbc  */
+	 282 ,	/*  tone  */
+	 135 ,	/*  tsl  */
+	 287 ,	/*  u0  */
+	 288 ,	/*  u1  */
+	 289 ,	/*  u2  */
+	 290 ,	/*  u3  */
+	 291 ,	/*  u4  */
+	 292 ,	/*  u5  */
+	 293 ,	/*  u6  */
+	 294 ,	/*  u7  */
+	 295 ,	/*  u8  */
+	 296 ,	/*  u9  */
+	 136 ,	/*  uc  */
+	 127 ,	/*  vpa  */
+	 286 ,	/*  wait  */
+	 133 ,	/*  wind  */
+	 278 ,	/*  wingo  */
+	 154 ,	/*  xoffc  */
+	 153 ,	/*  xonc  */
+	 353 ,	/*  zerom  */
+};
+
+static const PredIdx bool_variable_sort[] = {
+	 0 ,	/*  auto_left_margin  */
+	 1 ,	/*  auto_right_margin  */
+	 28 ,	/*  back_color_erase  */
+	 37 ,	/*  backspaces_with_bs  */
+	 27 ,	/*  can_change  */
+	 3 ,	/*  ceol_standout_glitch  */
+	 30 ,	/*  col_addr_glitch  */
+	 35 ,	/*  cpi_changes_res  */
+	 31 ,	/*  cr_cancels_micro_mode  */
+	 38 ,	/*  crt_no_scrolling  */
+	 17 ,	/*  dest_tabs_magic_smso  */
+	 4 ,	/*  eat_newline_glitch  */
+	 5 ,	/*  erase_overstrike  */
+	 6 ,	/*  generic_type  */
+	 40 ,	/*  gnu_has_meta_key  */
+	 7 ,	/*  hard_copy  */
+	 23 ,	/*  hard_cursor  */
+	 42 ,	/*  has_hardware_tabs  */
+	 8 ,	/*  has_meta_key  */
+	 32 ,	/*  has_print_wheel  */
+	 9 ,	/*  has_status_line  */
+	 29 ,	/*  hue_lightness_saturation  */
+	 10 ,	/*  insert_null_glitch  */
+	 41 ,	/*  linefeed_is_newline  */
+	 36 ,	/*  lpi_changes_res  */
+	 11 ,	/*  memory_above  */
+	 12 ,	/*  memory_below  */
+	 13 ,	/*  move_insert_mode  */
+	 14 ,	/*  move_standout_mode  */
+	 21 ,	/*  needs_xon_xoff  */
+	 39 ,	/*  no_correctly_working_cr  */
+	 2 ,	/*  no_esc_ctlc  */
+	 25 ,	/*  no_pad_char  */
+	 26 ,	/*  non_dest_scroll_region  */
+	 24 ,	/*  non_rev_rmcup  */
+	 15 ,	/*  over_strike  */
+	 22 ,	/*  prtr_silent  */
+	 43 ,	/*  return_does_clr_eol  */
+	 33 ,	/*  row_addr_glitch  */
+	 34 ,	/*  semi_auto_right_margin  */
+	 16 ,	/*  status_line_esc_ok  */
+	 18 ,	/*  tilde_glitch  */
+	 19 ,	/*  transparent_underline  */
+	 20 ,	/*  xon_xoff  */
+};
+
+static const PredIdx num_variable_sort[] = {
+	 36 ,	/*  backspace_delay  */
+	 31 ,	/*  bit_image_entwining  */
+	 32 ,	/*  bit_image_type  */
+	 16 ,	/*  buffer_capacity  */
+	 30 ,	/*  buttons  */
+	 34 ,	/*  carriage_return_delay  */
+	 0 ,	/*  columns  */
+	 18 ,	/*  dot_horz_spacing  */
+	 17 ,	/*  dot_vert_spacing  */
+	 37 ,	/*  horizontal_tab_delay  */
+	 1 ,	/*  init_tabs  */
+	 9 ,	/*  label_height  */
+	 10 ,	/*  label_width  */
+	 2 ,	/*  lines  */
+	 3 ,	/*  lines_of_memory  */
+	 4 ,	/*  magic_cookie_glitch  */
+	 33 ,	/*  magic_cookie_glitch_ul  */
+	 11 ,	/*  max_attributes  */
+	 13 ,	/*  max_colors  */
+	 19 ,	/*  max_micro_address  */
+	 20 ,	/*  max_micro_jump  */
+	 14 ,	/*  max_pairs  */
+	 12 ,	/*  maximum_windows  */
+	 21 ,	/*  micro_col_size  */
+	 22 ,	/*  micro_line_size  */
+	 35 ,	/*  new_line_delay  */
+	 15 ,	/*  no_color_video  */
+	 8 ,	/*  num_labels  */
+	 38 ,	/*  number_of_function_keys  */
+	 23 ,	/*  number_of_pins  */
+	 24 ,	/*  output_res_char  */
+	 26 ,	/*  output_res_horz_inch  */
+	 25 ,	/*  output_res_line  */
+	 27 ,	/*  output_res_vert_inch  */
+	 5 ,	/*  padding_baud_rate  */
+	 28 ,	/*  print_rate  */
+	 6 ,	/*  virtual_terminal  */
+	 29 ,	/*  wide_char_size  */
+	 7 ,	/*  width_status_line  */
+};
+
+static const PredIdx str_variable_sort[] = {
+	 406 ,	/*  acs_btee  */
+	 146 ,	/*  acs_chars  */
+	 408 ,	/*  acs_hline  */
+	 401 ,	/*  acs_llcorner  */
+	 403 ,	/*  acs_lrcorner  */
+	 404 ,	/*  acs_ltee  */
+	 410 ,	/*  acs_plus  */
+	 405 ,	/*  acs_rtee  */
+	 407 ,	/*  acs_ttee  */
+	 400 ,	/*  acs_ulcorner  */
+	 402 ,	/*  acs_urcorner  */
+	 409 ,	/*  acs_vline  */
+	 385 ,	/*  alt_scancode_esc  */
+	 399 ,	/*  arrow_key_map  */
+	 0 ,	/*  back_tab  */
+	 397 ,	/*  backspace_if_not_bs  */
+	 1 ,	/*  bell  */
+	 372 ,	/*  bit_image_carriage_return  */
+	 371 ,	/*  bit_image_newline  */
+	 370 ,	/*  bit_image_repeat  */
+	 413 ,	/*  box_chars_1  */
+	 2 ,	/*  carriage_return  */
+	 304 ,	/*  change_char_pitch  */
+	 305 ,	/*  change_line_pitch  */
+	 306 ,	/*  change_res_horz  */
+	 307 ,	/*  change_res_vert  */
+	 3 ,	/*  change_scroll_region  */
+	 145 ,	/*  char_padding  */
+	 354 ,	/*  char_set_names  */
+	 4 ,	/*  clear_all_tabs  */
+	 270 ,	/*  clear_margins  */
+	 5 ,	/*  clear_screen  */
+	 269 ,	/*  clr_bol  */
+	 6 ,	/*  clr_eol  */
+	 7 ,	/*  clr_eos  */
+	 363 ,	/*  code_set_init  */
+	 373 ,	/*  color_names  */
+	 8 ,	/*  column_address  */
+	 9 ,	/*  command_character  */
+	 277 ,	/*  create_window  */
+	 10 ,	/*  cursor_address  */
+	 11 ,	/*  cursor_down  */
+	 12 ,	/*  cursor_home  */
+	 13 ,	/*  cursor_invisible  */
+	 14 ,	/*  cursor_left  */
+	 15 ,	/*  cursor_mem_address  */
+	 16 ,	/*  cursor_normal  */
+	 17 ,	/*  cursor_right  */
+	 18 ,	/*  cursor_to_ll  */
+	 19 ,	/*  cursor_up  */
+	 20 ,	/*  cursor_visible  */
+	 374 ,	/*  define_bit_image_region  */
+	 308 ,	/*  define_char  */
+	 21 ,	/*  delete_character  */
+	 22 ,	/*  delete_line  */
+	 362 ,	/*  device_type  */
+	 280 ,	/*  dial_phone  */
+	 23 ,	/*  dis_status_line  */
+	 275 ,	/*  display_clock  */
+	 378 ,	/*  display_pc_char  */
+	 24 ,	/*  down_half_line  */
+	 155 ,	/*  ena_acs  */
+	 375 ,	/*  end_bit_image_region  */
+	 25 ,	/*  enter_alt_charset_mode  */
+	 151 ,	/*  enter_am_mode  */
+	 26 ,	/*  enter_blink_mode  */
+	 27 ,	/*  enter_bold_mode  */
+	 28 ,	/*  enter_ca_mode  */
+	 29 ,	/*  enter_delete_mode  */
+	 30 ,	/*  enter_dim_mode  */
+	 309 ,	/*  enter_doublewide_mode  */
+	 310 ,	/*  enter_draft_quality  */
+	 386 ,	/*  enter_horizontal_hl_mode  */
+	 31 ,	/*  enter_insert_mode  */
+	 311 ,	/*  enter_italics_mode  */
+	 387 ,	/*  enter_left_hl_mode  */
+	 312 ,	/*  enter_leftward_mode  */
+	 388 ,	/*  enter_low_hl_mode  */
+	 313 ,	/*  enter_micro_mode  */
+	 314 ,	/*  enter_near_letter_quality  */
+	 315 ,	/*  enter_normal_quality  */
+	 379 ,	/*  enter_pc_charset_mode  */
+	 33 ,	/*  enter_protected_mode  */
+	 34 ,	/*  enter_reverse_mode  */
+	 389 ,	/*  enter_right_hl_mode  */
+	 381 ,	/*  enter_scancode_mode  */
+	 32 ,	/*  enter_secure_mode  */
+	 316 ,	/*  enter_shadow_mode  */
+	 35 ,	/*  enter_standout_mode  */
+	 317 ,	/*  enter_subscript_mode  */
+	 318 ,	/*  enter_superscript_mode  */
+	 390 ,	/*  enter_top_hl_mode  */
+	 36 ,	/*  enter_underline_mode  */
+	 319 ,	/*  enter_upward_mode  */
+	 391 ,	/*  enter_vertical_hl_mode  */
+	 149 ,	/*  enter_xon_mode  */
+	 37 ,	/*  erase_chars  */
+	 38 ,	/*  exit_alt_charset_mode  */
+	 152 ,	/*  exit_am_mode  */
+	 39 ,	/*  exit_attribute_mode  */
+	 40 ,	/*  exit_ca_mode  */
+	 41 ,	/*  exit_delete_mode  */
+	 320 ,	/*  exit_doublewide_mode  */
+	 42 ,	/*  exit_insert_mode  */
+	 321 ,	/*  exit_italics_mode  */
+	 322 ,	/*  exit_leftward_mode  */
+	 323 ,	/*  exit_micro_mode  */
+	 380 ,	/*  exit_pc_charset_mode  */
+	 382 ,	/*  exit_scancode_mode  */
+	 324 ,	/*  exit_shadow_mode  */
+	 43 ,	/*  exit_standout_mode  */
+	 325 ,	/*  exit_subscript_mode  */
+	 326 ,	/*  exit_superscript_mode  */
+	 44 ,	/*  exit_underline_mode  */
+	 327 ,	/*  exit_upward_mode  */
+	 150 ,	/*  exit_xon_mode  */
+	 285 ,	/*  fixed_pause  */
+	 284 ,	/*  flash_hook  */
+	 45 ,	/*  flash_screen  */
+	 46 ,	/*  form_feed  */
+	 47 ,	/*  from_status_line  */
+	 358 ,	/*  get_mouse  */
+	 278 ,	/*  goto_window  */
+	 279 ,	/*  hangup  */
+	 48 ,	/*  init_1string  */
+	 49 ,	/*  init_2string  */
+	 50 ,	/*  init_3string  */
+	 51 ,	/*  init_file  */
+	 138 ,	/*  init_prog  */
+	 299 ,	/*  initialize_color  */
+	 300 ,	/*  initialize_pair  */
+	 52 ,	/*  insert_character  */
+	 53 ,	/*  insert_line  */
+	 54 ,	/*  insert_padding  */
+	 139 ,	/*  key_a1  */
+	 140 ,	/*  key_a3  */
+	 141 ,	/*  key_b2  */
+	 55 ,	/*  key_backspace  */
+	 158 ,	/*  key_beg  */
+	 148 ,	/*  key_btab  */
+	 142 ,	/*  key_c1  */
+	 143 ,	/*  key_c3  */
+	 159 ,	/*  key_cancel  */
+	 56 ,	/*  key_catab  */
+	 57 ,	/*  key_clear  */
+	 160 ,	/*  key_close  */
+	 161 ,	/*  key_command  */
+	 162 ,	/*  key_copy  */
+	 163 ,	/*  key_create  */
+	 58 ,	/*  key_ctab  */
+	 59 ,	/*  key_dc  */
+	 60 ,	/*  key_dl  */
+	 61 ,	/*  key_down  */
+	 62 ,	/*  key_eic  */
+	 164 ,	/*  key_end  */
+	 165 ,	/*  key_enter  */
+	 63 ,	/*  key_eol  */
+	 64 ,	/*  key_eos  */
+	 166 ,	/*  key_exit  */
+	 65 ,	/*  key_f0  */
+	 66 ,	/*  key_f1  */
+	 67 ,	/*  key_f10  */
+	 216 ,	/*  key_f11  */
+	 217 ,	/*  key_f12  */
+	 218 ,	/*  key_f13  */
+	 219 ,	/*  key_f14  */
+	 220 ,	/*  key_f15  */
+	 221 ,	/*  key_f16  */
+	 222 ,	/*  key_f17  */
+	 223 ,	/*  key_f18  */
+	 224 ,	/*  key_f19  */
+	 68 ,	/*  key_f2  */
+	 225 ,	/*  key_f20  */
+	 226 ,	/*  key_f21  */
+	 227 ,	/*  key_f22  */
+	 228 ,	/*  key_f23  */
+	 229 ,	/*  key_f24  */
+	 230 ,	/*  key_f25  */
+	 231 ,	/*  key_f26  */
+	 232 ,	/*  key_f27  */
+	 233 ,	/*  key_f28  */
+	 234 ,	/*  key_f29  */
+	 69 ,	/*  key_f3  */
+	 235 ,	/*  key_f30  */
+	 236 ,	/*  key_f31  */
+	 237 ,	/*  key_f32  */
+	 238 ,	/*  key_f33  */
+	 239 ,	/*  key_f34  */
+	 240 ,	/*  key_f35  */
+	 241 ,	/*  key_f36  */
+	 242 ,	/*  key_f37  */
+	 243 ,	/*  key_f38  */
+	 244 ,	/*  key_f39  */
+	 70 ,	/*  key_f4  */
+	 245 ,	/*  key_f40  */
+	 246 ,	/*  key_f41  */
+	 247 ,	/*  key_f42  */
+	 248 ,	/*  key_f43  */
+	 249 ,	/*  key_f44  */
+	 250 ,	/*  key_f45  */
+	 251 ,	/*  key_f46  */
+	 252 ,	/*  key_f47  */
+	 253 ,	/*  key_f48  */
+	 254 ,	/*  key_f49  */
+	 71 ,	/*  key_f5  */
+	 255 ,	/*  key_f50  */
+	 256 ,	/*  key_f51  */
+	 257 ,	/*  key_f52  */
+	 258 ,	/*  key_f53  */
+	 259 ,	/*  key_f54  */
+	 260 ,	/*  key_f55  */
+	 261 ,	/*  key_f56  */
+	 262 ,	/*  key_f57  */
+	 263 ,	/*  key_f58  */
+	 264 ,	/*  key_f59  */
+	 72 ,	/*  key_f6  */
+	 265 ,	/*  key_f60  */
+	 266 ,	/*  key_f61  */
+	 267 ,	/*  key_f62  */
+	 268 ,	/*  key_f63  */
+	 73 ,	/*  key_f7  */
+	 74 ,	/*  key_f8  */
+	 75 ,	/*  key_f9  */
+	 167 ,	/*  key_find  */
+	 168 ,	/*  key_help  */
+	 76 ,	/*  key_home  */
+	 77 ,	/*  key_ic  */
+	 78 ,	/*  key_il  */
+	 79 ,	/*  key_left  */
+	 80 ,	/*  key_ll  */
+	 169 ,	/*  key_mark  */
+	 170 ,	/*  key_message  */
+	 355 ,	/*  key_mouse  */
+	 171 ,	/*  key_move  */
+	 172 ,	/*  key_next  */
+	 81 ,	/*  key_npage  */
+	 173 ,	/*  key_open  */
+	 174 ,	/*  key_options  */
+	 82 ,	/*  key_ppage  */
+	 175 ,	/*  key_previous  */
+	 176 ,	/*  key_print  */
+	 177 ,	/*  key_redo  */
+	 178 ,	/*  key_reference  */
+	 179 ,	/*  key_refresh  */
+	 180 ,	/*  key_replace  */
+	 181 ,	/*  key_restart  */
+	 182 ,	/*  key_resume  */
+	 83 ,	/*  key_right  */
+	 183 ,	/*  key_save  */
+	 186 ,	/*  key_sbeg  */
+	 187 ,	/*  key_scancel  */
+	 188 ,	/*  key_scommand  */
+	 189 ,	/*  key_scopy  */
+	 190 ,	/*  key_screate  */
+	 191 ,	/*  key_sdc  */
+	 192 ,	/*  key_sdl  */
+	 193 ,	/*  key_select  */
+	 194 ,	/*  key_send  */
+	 195 ,	/*  key_seol  */
+	 196 ,	/*  key_sexit  */
+	 84 ,	/*  key_sf  */
+	 197 ,	/*  key_sfind  */
+	 198 ,	/*  key_shelp  */
+	 199 ,	/*  key_shome  */
+	 200 ,	/*  key_sic  */
+	 201 ,	/*  key_sleft  */
+	 202 ,	/*  key_smessage  */
+	 203 ,	/*  key_smove  */
+	 204 ,	/*  key_snext  */
+	 205 ,	/*  key_soptions  */
+	 206 ,	/*  key_sprevious  */
+	 207 ,	/*  key_sprint  */
+	 85 ,	/*  key_sr  */
+	 208 ,	/*  key_sredo  */
+	 209 ,	/*  key_sreplace  */
+	 210 ,	/*  key_sright  */
+	 211 ,	/*  key_srsume  */
+	 212 ,	/*  key_ssave  */
+	 213 ,	/*  key_ssuspend  */
+	 86 ,	/*  key_stab  */
+	 214 ,	/*  key_sundo  */
+	 184 ,	/*  key_suspend  */
+	 185 ,	/*  key_undo  */
+	 87 ,	/*  key_up  */
+	 88 ,	/*  keypad_local  */
+	 89 ,	/*  keypad_xmit  */
+	 90 ,	/*  lab_f0  */
+	 91 ,	/*  lab_f1  */
+	 92 ,	/*  lab_f10  */
+	 93 ,	/*  lab_f2  */
+	 94 ,	/*  lab_f3  */
+	 95 ,	/*  lab_f4  */
+	 96 ,	/*  lab_f5  */
+	 97 ,	/*  lab_f6  */
+	 98 ,	/*  lab_f7  */
+	 99 ,	/*  lab_f8  */
+	 100 ,	/*  lab_f9  */
+	 273 ,	/*  label_format  */
+	 157 ,	/*  label_off  */
+	 156 ,	/*  label_on  */
+	 396 ,	/*  linefeed_if_not_lf  */
+	 411 ,	/*  memory_lock  */
+	 412 ,	/*  memory_unlock  */
+	 101 ,	/*  meta_off  */
+	 102 ,	/*  meta_on  */
+	 328 ,	/*  micro_column_address  */
+	 329 ,	/*  micro_down  */
+	 330 ,	/*  micro_left  */
+	 331 ,	/*  micro_right  */
+	 332 ,	/*  micro_row_address  */
+	 333 ,	/*  micro_up  */
+	 356 ,	/*  mouse_info  */
+	 103 ,	/*  newline  */
+	 334 ,	/*  order_of_pins  */
+	 298 ,	/*  orig_colors  */
+	 297 ,	/*  orig_pair  */
+	 398 ,	/*  other_non_function_keys  */
+	 104 ,	/*  pad_char  */
+	 105 ,	/*  parm_dch  */
+	 106 ,	/*  parm_delete_line  */
+	 107 ,	/*  parm_down_cursor  */
+	 335 ,	/*  parm_down_micro  */
+	 108 ,	/*  parm_ich  */
+	 109 ,	/*  parm_index  */
+	 110 ,	/*  parm_insert_line  */
+	 111 ,	/*  parm_left_cursor  */
+	 336 ,	/*  parm_left_micro  */
+	 112 ,	/*  parm_right_cursor  */
+	 337 ,	/*  parm_right_micro  */
+	 113 ,	/*  parm_rindex  */
+	 114 ,	/*  parm_up_cursor  */
+	 338 ,	/*  parm_up_micro  */
+	 383 ,	/*  pc_term_options  */
+	 115 ,	/*  pkey_key  */
+	 116 ,	/*  pkey_local  */
+	 361 ,	/*  pkey_plab  */
+	 117 ,	/*  pkey_xmit  */
+	 147 ,	/*  plab_norm  */
+	 118 ,	/*  print_screen  */
+	 144 ,	/*  prtr_non  */
+	 119 ,	/*  prtr_off  */
+	 120 ,	/*  prtr_on  */
+	 283 ,	/*  pulse  */
+	 281 ,	/*  quick_dial  */
+	 276 ,	/*  remove_clock  */
+	 121 ,	/*  repeat_char  */
+	 215 ,	/*  req_for_input  */
+	 357 ,	/*  req_mouse_pos  */
+	 122 ,	/*  reset_1string  */
+	 123 ,	/*  reset_2string  */
+	 124 ,	/*  reset_3string  */
+	 125 ,	/*  reset_file  */
+	 126 ,	/*  restore_cursor  */
+	 127 ,	/*  row_address  */
+	 128 ,	/*  save_cursor  */
+	 384 ,	/*  scancode_escape  */
+	 129 ,	/*  scroll_forward  */
+	 130 ,	/*  scroll_reverse  */
+	 339 ,	/*  select_char_set  */
+	 364 ,	/*  set0_des_seq  */
+	 365 ,	/*  set1_des_seq  */
+	 366 ,	/*  set2_des_seq  */
+	 367 ,	/*  set3_des_seq  */
+	 392 ,	/*  set_a_attributes  */
+	 360 ,	/*  set_a_background  */
+	 359 ,	/*  set_a_foreground  */
+	 131 ,	/*  set_attributes  */
+	 303 ,	/*  set_background  */
+	 340 ,	/*  set_bottom_margin  */
+	 341 ,	/*  set_bottom_margin_parm  */
+	 274 ,	/*  set_clock  */
+	 376 ,	/*  set_color_band  */
+	 301 ,	/*  set_color_pair  */
+	 302 ,	/*  set_foreground  */
+	 271 ,	/*  set_left_margin  */
+	 342 ,	/*  set_left_margin_parm  */
+	 368 ,	/*  set_lr_margin  */
+	 377 ,	/*  set_page_length  */
+	 393 ,	/*  set_pglen_inch  */
+	 272 ,	/*  set_right_margin  */
+	 343 ,	/*  set_right_margin_parm  */
+	 132 ,	/*  set_tab  */
+	 369 ,	/*  set_tb_margin  */
+	 344 ,	/*  set_top_margin  */
+	 345 ,	/*  set_top_margin_parm  */
+	 133 ,	/*  set_window  */
+	 346 ,	/*  start_bit_image  */
+	 347 ,	/*  start_char_set_def  */
+	 348 ,	/*  stop_bit_image  */
+	 349 ,	/*  stop_char_set_def  */
+	 350 ,	/*  subscript_characters  */
+	 351 ,	/*  superscript_characters  */
+	 134 ,	/*  tab  */
+	 394 ,	/*  termcap_init2  */
+	 395 ,	/*  termcap_reset  */
+	 352 ,	/*  these_cause_cr  */
+	 135 ,	/*  to_status_line  */
+	 282 ,	/*  tone  */
+	 136 ,	/*  underline_char  */
+	 137 ,	/*  up_half_line  */
+	 287 ,	/*  user0  */
+	 288 ,	/*  user1  */
+	 289 ,	/*  user2  */
+	 290 ,	/*  user3  */
+	 291 ,	/*  user4  */
+	 292 ,	/*  user5  */
+	 293 ,	/*  user6  */
+	 294 ,	/*  user7  */
+	 295 ,	/*  user8  */
+	 296 ,	/*  user9  */
+	 286 ,	/*  wait_tone  */
+	 154 ,	/*  xoff_character  */
+	 153 ,	/*  xon_character  */
+	 353 ,	/*  zero_motion  */
+};
+
+static const PredIdx bool_termcap_sort[] = {
+	 22 ,	/*  5i  */
+	 23 ,	/*  HC  */
+	 40 ,	/*  MT  */
+	 26 ,	/*  ND  */
+	 41 ,	/*  NL  */
+	 25 ,	/*  NP  */
+	 24 ,	/*  NR  */
+	 30 ,	/*  YA  */
+	 31 ,	/*  YB  */
+	 32 ,	/*  YC  */
+	 33 ,	/*  YD  */
+	 34 ,	/*  YE  */
+	 35 ,	/*  YF  */
+	 36 ,	/*  YG  */
+	 1 ,	/*  am  */
+	 37 ,	/*  bs  */
+	 0 ,	/*  bw  */
+	 27 ,	/*  cc  */
+	 11 ,	/*  da  */
+	 12 ,	/*  db  */
+	 5 ,	/*  eo  */
+	 16 ,	/*  es  */
+	 6 ,	/*  gn  */
+	 7 ,	/*  hc  */
+	 29 ,	/*  hl  */
+	 9 ,	/*  hs  */
+	 18 ,	/*  hz  */
+	 10 ,	/*  in  */
+	 8 ,	/*  km  */
+	 13 ,	/*  mi  */
+	 14 ,	/*  ms  */
+	 39 ,	/*  nc  */
+	 38 ,	/*  ns  */
+	 21 ,	/*  nx  */
+	 15 ,	/*  os  */
+	 42 ,	/*  pt  */
+	 19 ,	/*  ul  */
+	 28 ,	/*  ut  */
+	 2 ,	/*  xb  */
+	 4 ,	/*  xn  */
+	 20 ,	/*  xo  */
+	 43 ,	/*  xr  */
+	 3 ,	/*  xs  */
+	 17 ,	/*  xt  */
+};
+
+static const PredIdx num_termcap_sort[] = {
+	 30 ,	/*  BT  */
+	 13 ,	/*  Co  */
+	 12 ,	/*  MW  */
+	 15 ,	/*  NC  */
+	 8 ,	/*  Nl  */
+	 16 ,	/*  Ya  */
+	 17 ,	/*  Yb  */
+	 18 ,	/*  Yc  */
+	 19 ,	/*  Yd  */
+	 20 ,	/*  Ye  */
+	 21 ,	/*  Yf  */
+	 22 ,	/*  Yg  */
+	 23 ,	/*  Yh  */
+	 24 ,	/*  Yi  */
+	 25 ,	/*  Yj  */
+	 26 ,	/*  Yk  */
+	 27 ,	/*  Yl  */
+	 28 ,	/*  Ym  */
+	 29 ,	/*  Yn  */
+	 31 ,	/*  Yo  */
+	 32 ,	/*  Yp  */
+	 0 ,	/*  co  */
+	 36 ,	/*  dB  */
+	 34 ,	/*  dC  */
+	 35 ,	/*  dN  */
+	 37 ,	/*  dT  */
+	 1 ,	/*  it  */
+	 38 ,	/*  kn  */
+	 9 ,	/*  lh  */
+	 2 ,	/*  li  */
+	 3 ,	/*  lm  */
+	 10 ,	/*  lw  */
+	 11 ,	/*  ma  */
+	 14 ,	/*  pa  */
+	 5 ,	/*  pb  */
+	 4 ,	/*  sg  */
+	 33 ,	/*  ug  */
+	 6 ,	/*  vt  */
+	 7 ,	/*  ws  */
+};
+
+static const PredIdx str_termcap_sort[] = {
+	 212 ,	/*  !1  */
+	 213 ,	/*  !2  */
+	 214 ,	/*  !3  */
+	 198 ,	/*  #1  */
+	 199 ,	/*  #2  */
+	 200 ,	/*  #3  */
+	 201 ,	/*  #4  */
+	 177 ,	/*  %0  */
+	 168 ,	/*  %1  */
+	 169 ,	/*  %2  */
+	 170 ,	/*  %3  */
+	 171 ,	/*  %4  */
+	 172 ,	/*  %5  */
+	 173 ,	/*  %6  */
+	 174 ,	/*  %7  */
+	 175 ,	/*  %8  */
+	 176 ,	/*  %9  */
+	 202 ,	/*  %a  */
+	 203 ,	/*  %b  */
+	 204 ,	/*  %c  */
+	 205 ,	/*  %d  */
+	 206 ,	/*  %e  */
+	 207 ,	/*  %f  */
+	 208 ,	/*  %g  */
+	 209 ,	/*  %h  */
+	 210 ,	/*  %i  */
+	 211 ,	/*  %j  */
+	 187 ,	/*  &0  */
+	 178 ,	/*  &1  */
+	 179 ,	/*  &2  */
+	 180 ,	/*  &3  */
+	 181 ,	/*  &4  */
+	 182 ,	/*  &5  */
+	 183 ,	/*  &6  */
+	 184 ,	/*  &7  */
+	 185 ,	/*  &8  */
+	 186 ,	/*  &9  */
+	 197 ,	/*  *0  */
+	 188 ,	/*  *1  */
+	 189 ,	/*  *2  */
+	 190 ,	/*  *3  */
+	 191 ,	/*  *4  */
+	 192 ,	/*  *5  */
+	 193 ,	/*  *6  */
+	 194 ,	/*  *7  */
+	 195 ,	/*  *8  */
+	 196 ,	/*  *9  */
+	 167 ,	/*  @0  */
+	 158 ,	/*  @1  */
+	 159 ,	/*  @2  */
+	 160 ,	/*  @3  */
+	 161 ,	/*  @4  */
+	 162 ,	/*  @5  */
+	 163 ,	/*  @6  */
+	 164 ,	/*  @7  */
+	 165 ,	/*  @8  */
+	 166 ,	/*  @9  */
+	 360 ,	/*  AB  */
+	 359 ,	/*  AF  */
+	 110 ,	/*  AL  */
+	 9 ,	/*  CC  */
+	 15 ,	/*  CM  */
+	 277 ,	/*  CW  */
+	 105 ,	/*  DC  */
+	 280 ,	/*  DI  */
+	 275 ,	/*  DK  */
+	 106 ,	/*  DL  */
+	 107 ,	/*  DO  */
+	 216 ,	/*  F1  */
+	 217 ,	/*  F2  */
+	 218 ,	/*  F3  */
+	 219 ,	/*  F4  */
+	 220 ,	/*  F5  */
+	 221 ,	/*  F6  */
+	 222 ,	/*  F7  */
+	 223 ,	/*  F8  */
+	 224 ,	/*  F9  */
+	 225 ,	/*  FA  */
+	 226 ,	/*  FB  */
+	 227 ,	/*  FC  */
+	 228 ,	/*  FD  */
+	 229 ,	/*  FE  */
+	 230 ,	/*  FF  */
+	 231 ,	/*  FG  */
+	 232 ,	/*  FH  */
+	 233 ,	/*  FI  */
+	 234 ,	/*  FJ  */
+	 235 ,	/*  FK  */
+	 236 ,	/*  FL  */
+	 237 ,	/*  FM  */
+	 238 ,	/*  FN  */
+	 239 ,	/*  FO  */
+	 240 ,	/*  FP  */
+	 241 ,	/*  FQ  */
+	 242 ,	/*  FR  */
+	 243 ,	/*  FS  */
+	 244 ,	/*  FT  */
+	 245 ,	/*  FU  */
+	 246 ,	/*  FV  */
+	 247 ,	/*  FW  */
+	 248 ,	/*  FX  */
+	 249 ,	/*  FY  */
+	 250 ,	/*  FZ  */
+	 251 ,	/*  Fa  */
+	 252 ,	/*  Fb  */
+	 253 ,	/*  Fc  */
+	 254 ,	/*  Fd  */
+	 255 ,	/*  Fe  */
+	 256 ,	/*  Ff  */
+	 257 ,	/*  Fg  */
+	 258 ,	/*  Fh  */
+	 259 ,	/*  Fi  */
+	 260 ,	/*  Fj  */
+	 261 ,	/*  Fk  */
+	 262 ,	/*  Fl  */
+	 263 ,	/*  Fm  */
+	 264 ,	/*  Fn  */
+	 265 ,	/*  Fo  */
+	 266 ,	/*  Fp  */
+	 267 ,	/*  Fq  */
+	 268 ,	/*  Fr  */
+	 402 ,	/*  G1  */
+	 400 ,	/*  G2  */
+	 401 ,	/*  G3  */
+	 403 ,	/*  G4  */
+	 410 ,	/*  GC  */
+	 407 ,	/*  GD  */
+	 408 ,	/*  GH  */
+	 405 ,	/*  GL  */
+	 404 ,	/*  GR  */
+	 406 ,	/*  GU  */
+	 409 ,	/*  GV  */
+	 358 ,	/*  Gm  */
+	 279 ,	/*  HU  */
+	 108 ,	/*  IC  */
+	 299 ,	/*  Ic  */
+	 300 ,	/*  Ip  */
+	 139 ,	/*  K1  */
+	 141 ,	/*  K2  */
+	 140 ,	/*  K3  */
+	 142 ,	/*  K4  */
+	 143 ,	/*  K5  */
+	 355 ,	/*  Km  */
+	 111 ,	/*  LE  */
+	 157 ,	/*  LF  */
+	 156 ,	/*  LO  */
+	 273 ,	/*  Lf  */
+	 270 ,	/*  MC  */
+	 271 ,	/*  ML  */
+	 368 ,	/*  ML  */
+	 272 ,	/*  MR  */
+	 369 ,	/*  MT  */
+	 356 ,	/*  Mi  */
+	 285 ,	/*  PA  */
+	 283 ,	/*  PU  */
+	 281 ,	/*  QD  */
+	 152 ,	/*  RA  */
+	 276 ,	/*  RC  */
+	 215 ,	/*  RF  */
+	 112 ,	/*  RI  */
+	 357 ,	/*  RQ  */
+	 150 ,	/*  RX  */
+	 378 ,	/*  S1  */
+	 379 ,	/*  S2  */
+	 380 ,	/*  S3  */
+	 381 ,	/*  S4  */
+	 382 ,	/*  S5  */
+	 383 ,	/*  S6  */
+	 384 ,	/*  S7  */
+	 385 ,	/*  S8  */
+	 151 ,	/*  SA  */
+	 274 ,	/*  SC  */
+	 109 ,	/*  SF  */
+	 113 ,	/*  SR  */
+	 149 ,	/*  SX  */
+	 303 ,	/*  Sb  */
+	 302 ,	/*  Sf  */
+	 282 ,	/*  TO  */
+	 114 ,	/*  UP  */
+	 286 ,	/*  WA  */
+	 278 ,	/*  WG  */
+	 154 ,	/*  XF  */
+	 153 ,	/*  XN  */
+	 386 ,	/*  Xh  */
+	 387 ,	/*  Xl  */
+	 388 ,	/*  Xo  */
+	 389 ,	/*  Xr  */
+	 390 ,	/*  Xt  */
+	 391 ,	/*  Xv  */
+	 370 ,	/*  Xy  */
+	 393 ,	/*  YI  */
+	 377 ,	/*  YZ  */
+	 372 ,	/*  Yv  */
+	 373 ,	/*  Yw  */
+	 374 ,	/*  Yx  */
+	 375 ,	/*  Yy  */
+	 376 ,	/*  Yz  */
+	 304 ,	/*  ZA  */
+	 305 ,	/*  ZB  */
+	 306 ,	/*  ZC  */
+	 307 ,	/*  ZD  */
+	 308 ,	/*  ZE  */
+	 309 ,	/*  ZF  */
+	 310 ,	/*  ZG  */
+	 311 ,	/*  ZH  */
+	 312 ,	/*  ZI  */
+	 313 ,	/*  ZJ  */
+	 314 ,	/*  ZK  */
+	 315 ,	/*  ZL  */
+	 316 ,	/*  ZM  */
+	 317 ,	/*  ZN  */
+	 318 ,	/*  ZO  */
+	 319 ,	/*  ZP  */
+	 320 ,	/*  ZQ  */
+	 321 ,	/*  ZR  */
+	 322 ,	/*  ZS  */
+	 323 ,	/*  ZT  */
+	 324 ,	/*  ZU  */
+	 325 ,	/*  ZV  */
+	 326 ,	/*  ZW  */
+	 327 ,	/*  ZX  */
+	 328 ,	/*  ZY  */
+	 329 ,	/*  ZZ  */
+	 330 ,	/*  Za  */
+	 331 ,	/*  Zb  */
+	 332 ,	/*  Zc  */
+	 333 ,	/*  Zd  */
+	 334 ,	/*  Ze  */
+	 335 ,	/*  Zf  */
+	 336 ,	/*  Zg  */
+	 337 ,	/*  Zh  */
+	 338 ,	/*  Zi  */
+	 339 ,	/*  Zj  */
+	 340 ,	/*  Zk  */
+	 341 ,	/*  Zl  */
+	 342 ,	/*  Zm  */
+	 343 ,	/*  Zn  */
+	 344 ,	/*  Zo  */
+	 345 ,	/*  Zp  */
+	 346 ,	/*  Zq  */
+	 347 ,	/*  Zr  */
+	 348 ,	/*  Zs  */
+	 349 ,	/*  Zt  */
+	 350 ,	/*  Zu  */
+	 351 ,	/*  Zv  */
+	 352 ,	/*  Zw  */
+	 353 ,	/*  Zx  */
+	 354 ,	/*  Zy  */
+	 371 ,	/*  Zz  */
+	 146 ,	/*  ac  */
+	 38 ,	/*  ae  */
+	 53 ,	/*  al  */
+	 25 ,	/*  as  */
+	 397 ,	/*  bc  */
+	 1 ,	/*  bl  */
+	 0 ,	/*  bt  */
+	 413 ,	/*  bx  */
+	 269 ,	/*  cb  */
+	 7 ,	/*  cd  */
+	 6 ,	/*  ce  */
+	 8 ,	/*  ch  */
+	 363 ,	/*  ci  */
+	 5 ,	/*  cl  */
+	 10 ,	/*  cm  */
+	 2 ,	/*  cr  */
+	 3 ,	/*  cs  */
+	 4 ,	/*  ct  */
+	 127 ,	/*  cv  */
+	 21 ,	/*  dc  */
+	 22 ,	/*  dl  */
+	 29 ,	/*  dm  */
+	 11 ,	/*  do  */
+	 23 ,	/*  ds  */
+	 362 ,	/*  dv  */
+	 155 ,	/*  eA  */
+	 37 ,	/*  ec  */
+	 41 ,	/*  ed  */
+	 42 ,	/*  ei  */
+	 46 ,	/*  ff  */
+	 284 ,	/*  fh  */
+	 47 ,	/*  fs  */
+	 24 ,	/*  hd  */
+	 12 ,	/*  ho  */
+	 137 ,	/*  hu  */
+	 48 ,	/*  i1  */
+	 394 ,	/*  i2  */
+	 50 ,	/*  i3  */
+	 138 ,	/*  iP  */
+	 52 ,	/*  ic  */
+	 51 ,	/*  if  */
+	 31 ,	/*  im  */
+	 54 ,	/*  ip  */
+	 49 ,	/*  is  */
+	 65 ,	/*  k0  */
+	 66 ,	/*  k1  */
+	 68 ,	/*  k2  */
+	 69 ,	/*  k3  */
+	 70 ,	/*  k4  */
+	 71 ,	/*  k5  */
+	 72 ,	/*  k6  */
+	 73 ,	/*  k7  */
+	 74 ,	/*  k8  */
+	 75 ,	/*  k9  */
+	 67 ,	/*  k;  */
+	 78 ,	/*  kA  */
+	 148 ,	/*  kB  */
+	 57 ,	/*  kC  */
+	 59 ,	/*  kD  */
+	 63 ,	/*  kE  */
+	 84 ,	/*  kF  */
+	 80 ,	/*  kH  */
+	 77 ,	/*  kI  */
+	 60 ,	/*  kL  */
+	 62 ,	/*  kM  */
+	 81 ,	/*  kN  */
+	 82 ,	/*  kP  */
+	 85 ,	/*  kR  */
+	 64 ,	/*  kS  */
+	 86 ,	/*  kT  */
+	 56 ,	/*  ka  */
+	 55 ,	/*  kb  */
+	 61 ,	/*  kd  */
+	 88 ,	/*  ke  */
+	 76 ,	/*  kh  */
+	 79 ,	/*  kl  */
+	 398 ,	/*  ko  */
+	 83 ,	/*  kr  */
+	 89 ,	/*  ks  */
+	 58 ,	/*  kt  */
+	 87 ,	/*  ku  */
+	 90 ,	/*  l0  */
+	 91 ,	/*  l1  */
+	 93 ,	/*  l2  */
+	 94 ,	/*  l3  */
+	 95 ,	/*  l4  */
+	 96 ,	/*  l5  */
+	 97 ,	/*  l6  */
+	 98 ,	/*  l7  */
+	 99 ,	/*  l8  */
+	 100 ,	/*  l9  */
+	 92 ,	/*  la  */
+	 14 ,	/*  le  */
+	 18 ,	/*  ll  */
+	 399 ,	/*  ma  */
+	 26 ,	/*  mb  */
+	 27 ,	/*  md  */
+	 39 ,	/*  me  */
+	 30 ,	/*  mh  */
+	 32 ,	/*  mk  */
+	 411 ,	/*  ml  */
+	 102 ,	/*  mm  */
+	 101 ,	/*  mo  */
+	 33 ,	/*  mp  */
+	 34 ,	/*  mr  */
+	 412 ,	/*  mu  */
+	 17 ,	/*  nd  */
+	 396 ,	/*  nl  */
+	 103 ,	/*  nw  */
+	 298 ,	/*  oc  */
+	 297 ,	/*  op  */
+	 144 ,	/*  pO  */
+	 104 ,	/*  pc  */
+	 119 ,	/*  pf  */
+	 115 ,	/*  pk  */
+	 116 ,	/*  pl  */
+	 147 ,	/*  pn  */
+	 120 ,	/*  po  */
+	 118 ,	/*  ps  */
+	 117 ,	/*  px  */
+	 122 ,	/*  r1  */
+	 123 ,	/*  r2  */
+	 124 ,	/*  r3  */
+	 145 ,	/*  rP  */
+	 126 ,	/*  rc  */
+	 125 ,	/*  rf  */
+	 121 ,	/*  rp  */
+	 395 ,	/*  rs  */
+	 364 ,	/*  s0  */
+	 365 ,	/*  s1  */
+	 366 ,	/*  s2  */
+	 367 ,	/*  s3  */
+	 392 ,	/*  sA  */
+	 131 ,	/*  sa  */
+	 128 ,	/*  sc  */
+	 43 ,	/*  se  */
+	 129 ,	/*  sf  */
+	 35 ,	/*  so  */
+	 301 ,	/*  sp  */
+	 130 ,	/*  sr  */
+	 132 ,	/*  st  */
+	 134 ,	/*  ta  */
+	 40 ,	/*  te  */
+	 28 ,	/*  ti  */
+	 135 ,	/*  ts  */
+	 287 ,	/*  u0  */
+	 288 ,	/*  u1  */
+	 289 ,	/*  u2  */
+	 290 ,	/*  u3  */
+	 291 ,	/*  u4  */
+	 292 ,	/*  u5  */
+	 293 ,	/*  u6  */
+	 294 ,	/*  u7  */
+	 295 ,	/*  u8  */
+	 296 ,	/*  u9  */
+	 136 ,	/*  uc  */
+	 44 ,	/*  ue  */
+	 19 ,	/*  up  */
+	 36 ,	/*  us  */
+	 45 ,	/*  vb  */
+	 16 ,	/*  ve  */
+	 13 ,	/*  vi  */
+	 20 ,	/*  vs  */
+	 133 ,	/*  wi  */
+	 361 ,	/*  xl  */
+};
+
+static const bool bool_from_termcap[] = {
+	TRUE,	/*  bw  */
+	TRUE,	/*  am  */
+	TRUE,	/*  xsb  */
+	TRUE,	/*  xhp  */
+	TRUE,	/*  xenl  */
+	TRUE,	/*  eo  */
+	TRUE,	/*  gn  */
+	TRUE,	/*  hc  */
+	TRUE,	/*  km  */
+	TRUE,	/*  hs  */
+	TRUE,	/*  in  */
+	TRUE,	/*  da  */
+	TRUE,	/*  db  */
+	TRUE,	/*  mir  */
+	TRUE,	/*  msgr  */
+	TRUE,	/*  os  */
+	TRUE,	/*  eslok  */
+	TRUE,	/*  xt  */
+	TRUE,	/*  hz  */
+	TRUE,	/*  ul  */
+	TRUE,	/*  xon  */
+	FALSE,	/*  nxon  */
+	FALSE,	/*  mc5i  */
+	FALSE,	/*  chts  */
+	FALSE,	/*  nrrmc  */
+	FALSE,	/*  npc  */
+	FALSE,	/*  ndscr  */
+	FALSE,	/*  ccc  */
+	FALSE,	/*  bce  */
+	FALSE,	/*  hls  */
+	FALSE,	/*  xhpa  */
+	FALSE,	/*  crxm  */
+	FALSE,	/*  daisy  */
+	FALSE,	/*  xvpa  */
+	FALSE,	/*  sam  */
+	FALSE,	/*  cpix  */
+	FALSE,	/*  lpix  */
+	TRUE,	/*  OTbs  */
+	TRUE,	/*  OTns  */
+	TRUE,	/*  OTnc  */
+	FALSE,	/*  OTMT  */
+	TRUE,	/*  OTNL  */
+	TRUE,	/*  OTpt  */
+	TRUE,	/*  OTxr  */
+#define OK_bool_from_termcap 43
+};
+
+static const bool num_from_termcap[] = {
+	TRUE,	/*  cols  */
+	TRUE,	/*  it  */
+	TRUE,	/*  lines  */
+	TRUE,	/*  lm  */
+	TRUE,	/*  xmc  */
+	TRUE,	/*  pb  */
+	TRUE,	/*  vt  */
+	TRUE,	/*  wsl  */
+	FALSE,	/*  nlab  */
+	FALSE,	/*  lh  */
+	FALSE,	/*  lw  */
+	TRUE,	/*  ma  */
+	FALSE,	/*  wnum  */
+	FALSE,	/*  colors  */
+	FALSE,	/*  pairs  */
+	FALSE,	/*  ncv  */
+	FALSE,	/*  bufsz  */
+	FALSE,	/*  spinv  */
+	FALSE,	/*  spinh  */
+	FALSE,	/*  maddr  */
+	FALSE,	/*  mjump  */
+	FALSE,	/*  mcs  */
+	FALSE,	/*  mls  */
+	FALSE,	/*  npins  */
+	FALSE,	/*  orc  */
+	FALSE,	/*  orl  */
+	FALSE,	/*  orhi  */
+	FALSE,	/*  orvi  */
+	FALSE,	/*  cps  */
+	FALSE,	/*  widcs  */
+	FALSE,	/*  btns  */
+	FALSE,	/*  bitwin  */
+	FALSE,	/*  bitype  */
+	TRUE,	/*  OTug  */
+	TRUE,	/*  OTdC  */
+	TRUE,	/*  OTdN  */
+	TRUE,	/*  OTdB  */
+	TRUE,	/*  OTdT  */
+	FALSE,	/*  OTkn  */
+#define OK_num_from_termcap 37
+};
+
+static const bool str_from_termcap[] = {
+	TRUE,	/*  cbt  */
+	TRUE,	/*  bel  */
+	TRUE,	/*  cr  */
+	TRUE,	/*  csr  */
+	TRUE,	/*  tbc  */
+	TRUE,	/*  clear  */
+	TRUE,	/*  el  */
+	TRUE,	/*  ed  */
+	FALSE,	/*  hpa  */
+	TRUE,	/*  cmdch  */
+	TRUE,	/*  cup  */
+	TRUE,	/*  cud1  */
+	TRUE,	/*  home  */
+	TRUE,	/*  civis  */
+	TRUE,	/*  cub1  */
+	TRUE,	/*  mrcup  */
+	TRUE,	/*  cnorm  */
+	TRUE,	/*  cuf1  */
+	TRUE,	/*  ll  */
+	TRUE,	/*  cuu1  */
+	TRUE,	/*  cvvis  */
+	TRUE,	/*  dch1  */
+	TRUE,	/*  dl1  */
+	TRUE,	/*  dsl  */
+	TRUE,	/*  hd  */
+	TRUE,	/*  smacs  */
+	TRUE,	/*  blink  */
+	TRUE,	/*  bold  */
+	TRUE,	/*  smcup  */
+	TRUE,	/*  smdc  */
+	TRUE,	/*  dim  */
+	TRUE,	/*  smir  */
+	FALSE,	/*  invis  */
+	FALSE,	/*  prot  */
+	TRUE,	/*  rev  */
+	TRUE,	/*  smso  */
+	TRUE,	/*  smul  */
+	TRUE,	/*  ech  */
+	TRUE,	/*  rmacs  */
+	TRUE,	/*  sgr0  */
+	TRUE,	/*  rmcup  */
+	TRUE,	/*  rmdc  */
+	TRUE,	/*  rmir  */
+	TRUE,	/*  rmso  */
+	TRUE,	/*  rmul  */
+	TRUE,	/*  flash  */
+	TRUE,	/*  ff  */
+	TRUE,	/*  fsl  */
+	TRUE,	/*  is1  */
+	TRUE,	/*  is2  */
+	TRUE,	/*  is3  */
+	TRUE,	/*  if  */
+	TRUE,	/*  ich1  */
+	TRUE,	/*  il1  */
+	TRUE,	/*  ip  */
+	TRUE,	/*  kbs  */
+	FALSE,	/*  ktbc  */
+	FALSE,	/*  kclr  */
+	FALSE,	/*  kctab  */
+	TRUE,	/*  kdch1  */
+	FALSE,	/*  kdl1  */
+	TRUE,	/*  kcud1  */
+	FALSE,	/*  krmir  */
+	FALSE,	/*  kel  */
+	FALSE,	/*  ked  */
+	TRUE,	/*  kf0  */
+	TRUE,	/*  kf1  */
+	FALSE,	/*  kf10  */
+	TRUE,	/*  kf2  */
+	TRUE,	/*  kf3  */
+	TRUE,	/*  kf4  */
+	TRUE,	/*  kf5  */
+	TRUE,	/*  kf6  */
+	TRUE,	/*  kf7  */
+	TRUE,	/*  kf8  */
+	TRUE,	/*  kf9  */
+	TRUE,	/*  khome  */
+	TRUE,	/*  kich1  */
+	FALSE,	/*  kil1  */
+	TRUE,	/*  kcub1  */
+	TRUE,	/*  kll  */
+	TRUE,	/*  knp  */
+	TRUE,	/*  kpp  */
+	TRUE,	/*  kcuf1  */
+	FALSE,	/*  kind  */
+	FALSE,	/*  kri  */
+	FALSE,	/*  khts  */
+	TRUE,	/*  kcuu1  */
+	TRUE,	/*  rmkx  */
+	TRUE,	/*  smkx  */
+	FALSE,	/*  lf0  */
+	FALSE,	/*  lf1  */
+	FALSE,	/*  lf10  */
+	FALSE,	/*  lf2  */
+	FALSE,	/*  lf3  */
+	FALSE,	/*  lf4  */
+	FALSE,	/*  lf5  */
+	FALSE,	/*  lf6  */
+	FALSE,	/*  lf7  */
+	FALSE,	/*  lf8  */
+	FALSE,	/*  lf9  */
+	TRUE,	/*  rmm  */
+	TRUE,	/*  smm  */
+	TRUE,	/*  nel  */
+	TRUE,	/*  pad  */
+	TRUE,	/*  dch  */
+	TRUE,	/*  dl  */
+	TRUE,	/*  cud  */
+	TRUE,	/*  ich  */
+	TRUE,	/*  indn  */
+	TRUE,	/*  il  */
+	TRUE,	/*  cub  */
+	TRUE,	/*  cuf  */
+	TRUE,	/*  rin  */
+	TRUE,	/*  cuu  */
+	FALSE,	/*  pfkey  */
+	FALSE,	/*  pfloc  */
+	FALSE,	/*  pfx  */
+	FALSE,	/*  mc0  */
+	FALSE,	/*  mc4  */
+	FALSE,	/*  mc5  */
+	TRUE,	/*  rep  */
+	FALSE,	/*  rs1  */
+	FALSE,	/*  rs2  */
+	FALSE,	/*  rs3  */
+	FALSE,	/*  rf  */
+	TRUE,	/*  rc  */
+	FALSE,	/*  vpa  */
+	TRUE,	/*  sc  */
+	TRUE,	/*  ind  */
+	TRUE,	/*  ri  */
+	TRUE,	/*  sgr  */
+	TRUE,	/*  hts  */
+	FALSE,	/*  wind  */
+	TRUE,	/*  ht  */
+	TRUE,	/*  tsl  */
+	TRUE,	/*  uc  */
+	TRUE,	/*  hu  */
+	FALSE,	/*  iprog  */
+	TRUE,	/*  ka1  */
+	TRUE,	/*  ka3  */
+	TRUE,	/*  kb2  */
+	TRUE,	/*  kc1  */
+	TRUE,	/*  kc3  */
+	FALSE,	/*  mc5p  */
+	FALSE,	/*  rmp  */
+	FALSE,	/*  acsc  */
+	FALSE,	/*  pln  */
+	FALSE,	/*  kcbt  */
+	FALSE,	/*  smxon  */
+	FALSE,	/*  rmxon  */
+	FALSE,	/*  smam  */
+	FALSE,	/*  rmam  */
+	FALSE,	/*  xonc  */
+	FALSE,	/*  xoffc  */
+	FALSE,	/*  enacs  */
+	FALSE,	/*  smln  */
+	FALSE,	/*  rmln  */
+	FALSE,	/*  kbeg  */
+	FALSE,	/*  kcan  */
+	FALSE,	/*  kclo  */
+	FALSE,	/*  kcmd  */
+	FALSE,	/*  kcpy  */
+	FALSE,	/*  kcrt  */
+	FALSE,	/*  kend  */
+	FALSE,	/*  kent  */
+	FALSE,	/*  kext  */
+	FALSE,	/*  kfnd  */
+	FALSE,	/*  khlp  */
+	FALSE,	/*  kmrk  */
+	FALSE,	/*  kmsg  */
+	FALSE,	/*  kmov  */
+	FALSE,	/*  knxt  */
+	FALSE,	/*  kopn  */
+	FALSE,	/*  kopt  */
+	FALSE,	/*  kprv  */
+	FALSE,	/*  kprt  */
+	FALSE,	/*  krdo  */
+	FALSE,	/*  kref  */
+	FALSE,	/*  krfr  */
+	FALSE,	/*  krpl  */
+	FALSE,	/*  krst  */
+	FALSE,	/*  kres  */
+	FALSE,	/*  ksav  */
+	FALSE,	/*  kspd  */
+	FALSE,	/*  kund  */
+	FALSE,	/*  kBEG  */
+	FALSE,	/*  kCAN  */
+	FALSE,	/*  kCMD  */
+	FALSE,	/*  kCPY  */
+	FALSE,	/*  kCRT  */
+	FALSE,	/*  kDC  */
+	FALSE,	/*  kDL  */
+	FALSE,	/*  kslt  */
+	FALSE,	/*  kEND  */
+	FALSE,	/*  kEOL  */
+	FALSE,	/*  kEXT  */
+	FALSE,	/*  kFND  */
+	FALSE,	/*  kHLP  */
+	FALSE,	/*  kHOM  */
+	FALSE,	/*  kIC  */
+	FALSE,	/*  kLFT  */
+	FALSE,	/*  kMSG  */
+	FALSE,	/*  kMOV  */
+	FALSE,	/*  kNXT  */
+	FALSE,	/*  kOPT  */
+	FALSE,	/*  kPRV  */
+	FALSE,	/*  kPRT  */
+	FALSE,	/*  kRDO  */
+	FALSE,	/*  kRPL  */
+	FALSE,	/*  kRIT  */
+	FALSE,	/*  kRES  */
+	FALSE,	/*  kSAV  */
+	FALSE,	/*  kSPD  */
+	FALSE,	/*  kUND  */
+	FALSE,	/*  rfi  */
+	FALSE,	/*  kf11  */
+	FALSE,	/*  kf12  */
+	FALSE,	/*  kf13  */
+	FALSE,	/*  kf14  */
+	FALSE,	/*  kf15  */
+	FALSE,	/*  kf16  */
+	FALSE,	/*  kf17  */
+	FALSE,	/*  kf18  */
+	FALSE,	/*  kf19  */
+	FALSE,	/*  kf20  */
+	FALSE,	/*  kf21  */
+	FALSE,	/*  kf22  */
+	FALSE,	/*  kf23  */
+	FALSE,	/*  kf24  */
+	FALSE,	/*  kf25  */
+	FALSE,	/*  kf26  */
+	FALSE,	/*  kf27  */
+	FALSE,	/*  kf28  */
+	FALSE,	/*  kf29  */
+	FALSE,	/*  kf30  */
+	FALSE,	/*  kf31  */
+	FALSE,	/*  kf32  */
+	FALSE,	/*  kf33  */
+	FALSE,	/*  kf34  */
+	FALSE,	/*  kf35  */
+	FALSE,	/*  kf36  */
+	FALSE,	/*  kf37  */
+	FALSE,	/*  kf38  */
+	FALSE,	/*  kf39  */
+	FALSE,	/*  kf40  */
+	FALSE,	/*  kf41  */
+	FALSE,	/*  kf42  */
+	FALSE,	/*  kf43  */
+	FALSE,	/*  kf44  */
+	FALSE,	/*  kf45  */
+	FALSE,	/*  kf46  */
+	FALSE,	/*  kf47  */
+	FALSE,	/*  kf48  */
+	FALSE,	/*  kf49  */
+	FALSE,	/*  kf50  */
+	FALSE,	/*  kf51  */
+	FALSE,	/*  kf52  */
+	FALSE,	/*  kf53  */
+	FALSE,	/*  kf54  */
+	FALSE,	/*  kf55  */
+	FALSE,	/*  kf56  */
+	FALSE,	/*  kf57  */
+	FALSE,	/*  kf58  */
+	FALSE,	/*  kf59  */
+	FALSE,	/*  kf60  */
+	FALSE,	/*  kf61  */
+	FALSE,	/*  kf62  */
+	FALSE,	/*  kf63  */
+	FALSE,	/*  el1  */
+	FALSE,	/*  mgc  */
+	FALSE,	/*  smgl  */
+	FALSE,	/*  smgr  */
+	FALSE,	/*  fln  */
+	FALSE,	/*  sclk  */
+	FALSE,	/*  dclk  */
+	FALSE,	/*  rmclk  */
+	FALSE,	/*  cwin  */
+	FALSE,	/*  wingo  */
+	FALSE,	/*  hup  */
+	FALSE,	/*  dial  */
+	FALSE,	/*  qdial  */
+	FALSE,	/*  tone  */
+	FALSE,	/*  pulse  */
+	FALSE,	/*  hook  */
+	FALSE,	/*  pause  */
+	FALSE,	/*  wait  */
+	FALSE,	/*  u0  */
+	FALSE,	/*  u1  */
+	FALSE,	/*  u2  */
+	FALSE,	/*  u3  */
+	FALSE,	/*  u4  */
+	FALSE,	/*  u5  */
+	FALSE,	/*  u6  */
+	FALSE,	/*  u7  */
+	FALSE,	/*  u8  */
+	FALSE,	/*  u9  */
+	FALSE,	/*  op  */
+	FALSE,	/*  oc  */
+	FALSE,	/*  initc  */
+	FALSE,	/*  initp  */
+	FALSE,	/*  scp  */
+	FALSE,	/*  setf  */
+	FALSE,	/*  setb  */
+	FALSE,	/*  cpi  */
+	FALSE,	/*  lpi  */
+	FALSE,	/*  chr  */
+	FALSE,	/*  cvr  */
+	FALSE,	/*  defc  */
+	FALSE,	/*  swidm  */
+	FALSE,	/*  sdrfq  */
+	FALSE,	/*  sitm  */
+	FALSE,	/*  slm  */
+	FALSE,	/*  smicm  */
+	FALSE,	/*  snlq  */
+	FALSE,	/*  snrmq  */
+	FALSE,	/*  sshm  */
+	FALSE,	/*  ssubm  */
+	FALSE,	/*  ssupm  */
+	FALSE,	/*  sum  */
+	FALSE,	/*  rwidm  */
+	FALSE,	/*  ritm  */
+	FALSE,	/*  rlm  */
+	FALSE,	/*  rmicm  */
+	FALSE,	/*  rshm  */
+	FALSE,	/*  rsubm  */
+	FALSE,	/*  rsupm  */
+	FALSE,	/*  rum  */
+	FALSE,	/*  mhpa  */
+	FALSE,	/*  mcud1  */
+	FALSE,	/*  mcub1  */
+	FALSE,	/*  mcuf1  */
+	FALSE,	/*  mvpa  */
+	FALSE,	/*  mcuu1  */
+	FALSE,	/*  porder  */
+	FALSE,	/*  mcud  */
+	FALSE,	/*  mcub  */
+	FALSE,	/*  mcuf  */
+	FALSE,	/*  mcuu  */
+	FALSE,	/*  scs  */
+	FALSE,	/*  smgb  */
+	FALSE,	/*  smgbp  */
+	FALSE,	/*  smglp  */
+	FALSE,	/*  smgrp  */
+	FALSE,	/*  smgt  */
+	FALSE,	/*  smgtp  */
+	FALSE,	/*  sbim  */
+	FALSE,	/*  scsd  */
+	FALSE,	/*  rbim  */
+	FALSE,	/*  rcsd  */
+	FALSE,	/*  subcs  */
+	FALSE,	/*  supcs  */
+	FALSE,	/*  docr  */
+	FALSE,	/*  zerom  */
+	FALSE,	/*  csnm  */
+	FALSE,	/*  kmous  */
+	FALSE,	/*  minfo  */
+	FALSE,	/*  reqmp  */
+	FALSE,	/*  getm  */
+	FALSE,	/*  setaf  */
+	FALSE,	/*  setab  */
+	FALSE,	/*  pfxl  */
+	FALSE,	/*  devt  */
+	FALSE,	/*  csin  */
+	FALSE,	/*  s0ds  */
+	FALSE,	/*  s1ds  */
+	FALSE,	/*  s2ds  */
+	FALSE,	/*  s3ds  */
+	FALSE,	/*  smglr  */
+	FALSE,	/*  smgtb  */
+	FALSE,	/*  birep  */
+	FALSE,	/*  binel  */
+	FALSE,	/*  bicr  */
+	FALSE,	/*  colornm  */
+	FALSE,	/*  defbi  */
+	FALSE,	/*  endbi  */
+	FALSE,	/*  setcolor  */
+	FALSE,	/*  slines  */
+	FALSE,	/*  dispc  */
+	FALSE,	/*  smpch  */
+	FALSE,	/*  rmpch  */
+	FALSE,	/*  smsc  */
+	FALSE,	/*  rmsc  */
+	FALSE,	/*  pctrm  */
+	FALSE,	/*  scesc  */
+	FALSE,	/*  scesa  */
+	FALSE,	/*  ehhlm  */
+	FALSE,	/*  elhlm  */
+	FALSE,	/*  elohlm  */
+	FALSE,	/*  erhlm  */
+	FALSE,	/*  ethlm  */
+	FALSE,	/*  evhlm  */
+	FALSE,	/*  sgr1  */
+	FALSE,	/*  slength  */
+	TRUE,	/*  OTi2  */
+	TRUE,	/*  OTrs  */
+	TRUE,	/*  OTnl  */
+	TRUE,	/*  OTbc  */
+	FALSE,	/*  OTko  */
+	TRUE,	/*  OTma  */
+	FALSE,	/*  OTG2  */
+	FALSE,	/*  OTG3  */
+	FALSE,	/*  OTG1  */
+	FALSE,	/*  OTG4  */
+	FALSE,	/*  OTGR  */
+	FALSE,	/*  OTGL  */
+	FALSE,	/*  OTGU  */
+	FALSE,	/*  OTGD  */
+	FALSE,	/*  OTGH  */
+	FALSE,	/*  OTGV  */
+	FALSE,	/*  OTGC  */
+	FALSE,	/*  meml  */
+	FALSE,	/*  memu  */
+	FALSE,	/*  pln  */
+	FALSE,	/*  smln  */
+	FALSE,	/*  rmln  */
+	FALSE,	/*  kf11  */
+	FALSE,	/*  kf12  */
+	FALSE,	/*  kf13  */
+	FALSE,	/*  kf14  */
+	FALSE,	/*  kf15  */
+	FALSE,	/*  kf16  */
+	FALSE,	/*  kf17  */
+	FALSE,	/*  kf18  */
+	FALSE,	/*  kf19  */
+	FALSE,	/*  kf20  */
+	FALSE,	/*  kf21  */
+	FALSE,	/*  kf22  */
+	FALSE,	/*  kf23  */
+	FALSE,	/*  kf24  */
+	FALSE,	/*  kf25  */
+	FALSE,	/*  kf26  */
+	FALSE,	/*  kf27  */
+	FALSE,	/*  kf28  */
+	FALSE,	/*  kf29  */
+	FALSE,	/*  kf30  */
+	FALSE,	/*  kf31  */
+	FALSE,	/*  kf32  */
+	FALSE,	/*  kf33  */
+	FALSE,	/*  kf34  */
+	FALSE,	/*  kf35  */
+	FALSE,	/*  kf36  */
+	FALSE,	/*  kf37  */
+	FALSE,	/*  kf38  */
+	FALSE,	/*  kf39  */
+	FALSE,	/*  kf40  */
+	FALSE,	/*  kf41  */
+	FALSE,	/*  kf42  */
+	FALSE,	/*  kf43  */
+	FALSE,	/*  kf44  */
+	FALSE,	/*  kf45  */
+	FALSE,	/*  kf46  */
+	FALSE,	/*  kf47  */
+	FALSE,	/*  kf48  */
+	FALSE,	/*  kf49  */
+	FALSE,	/*  kf50  */
+	FALSE,	/*  kf51  */
+	FALSE,	/*  kf52  */
+	FALSE,	/*  kf53  */
+	FALSE,	/*  kf54  */
+	FALSE,	/*  kf55  */
+	FALSE,	/*  kf56  */
+	FALSE,	/*  kf57  */
+	FALSE,	/*  kf58  */
+	FALSE,	/*  kf59  */
+	FALSE,	/*  kf60  */
+	FALSE,	/*  kf61  */
+	FALSE,	/*  kf62  */
+	FALSE,	/*  kf63  */
+	FALSE,	/*  box1  */
+	FALSE,	/*  box2  */
+	FALSE,	/*  batt1  */
+	FALSE,	/*  batt2  */
+	FALSE,	/*  colb0  */
+	FALSE,	/*  colb1  */
+	FALSE,	/*  colb2  */
+	FALSE,	/*  colb3  */
+	FALSE,	/*  colb4  */
+	FALSE,	/*  colb5  */
+	FALSE,	/*  colb6  */
+	FALSE,	/*  colb7  */
+	FALSE,	/*  colf0  */
+	FALSE,	/*  colf1  */
+	FALSE,	/*  colf2  */
+	FALSE,	/*  colf3  */
+	FALSE,	/*  colf4  */
+	FALSE,	/*  colf5  */
+	FALSE,	/*  colf6  */
+	FALSE,	/*  colf7  */
+	FALSE,	/*  font0  */
+	FALSE,	/*  font1  */
+	FALSE,	/*  font2  */
+	FALSE,	/*  font3  */
+	FALSE,	/*  font4  */
+	FALSE,	/*  font5  */
+	FALSE,	/*  font6  */
+	FALSE,	/*  font7  */
+	FALSE,	/*  kbtab  */
+	FALSE,	/*  kdo  */
+	FALSE,	/*  kcmd  */
+	FALSE,	/*  kcpn  */
+	FALSE,	/*  kend  */
+	FALSE,	/*  khlp  */
+	FALSE,	/*  knl  */
+	FALSE,	/*  knpn  */
+	FALSE,	/*  kppn  */
+	FALSE,	/*  kppn  */
+	FALSE,	/*  kquit  */
+	FALSE,	/*  ksel  */
+	FALSE,	/*  kscl  */
+	FALSE,	/*  kscr  */
+	FALSE,	/*  ktab  */
+	FALSE,	/*  kmpf1  */
+	FALSE,	/*  kmpt1  */
+	FALSE,	/*  kmpf2  */
+	FALSE,	/*  kmpt2  */
+	FALSE,	/*  kmpf3  */
+	FALSE,	/*  kmpt3  */
+	FALSE,	/*  kmpf4  */
+	FALSE,	/*  kmpt4  */
+	FALSE,	/*  kmpf5  */
+	FALSE,	/*  kmpt5  */
+	FALSE,	/*  apstr  */
+	FALSE,	/*  kmpf6  */
+	FALSE,	/*  kmpt6  */
+	FALSE,	/*  kmpf7  */
+	FALSE,	/*  kmpt7  */
+	FALSE,	/*  kmpf8  */
+	FALSE,	/*  kmpt8  */
+	FALSE,	/*  kmpf9  */
+	FALSE,	/*  kmpt9  */
+	FALSE,	/*  ksf1  */
+	FALSE,	/*  ksf2  */
+	FALSE,	/*  ksf3  */
+	FALSE,	/*  ksf4  */
+	FALSE,	/*  ksf5  */
+	FALSE,	/*  ksf6  */
+	FALSE,	/*  ksf7  */
+	FALSE,	/*  ksf8  */
+	FALSE,	/*  ksf9  */
+	FALSE,	/*  ksf10  */
+	FALSE,	/*  kf11  */
+	FALSE,	/*  kf12  */
+	FALSE,	/*  kact  */
+	FALSE,	/*  topl  */
+	FALSE,	/*  btml  */
+	FALSE,	/*  rvert  */
+	FALSE,	/*  lvert  */
+#define OK_str_from_termcap 399
+};
+
diff --git a/progs/tic b/progs/tic
new file mode 100755
index 0000000..81ea0d2
--- /dev/null
+++ b/progs/tic
Binary files differ
diff --git a/progs/toe b/progs/toe
new file mode 100755
index 0000000..cda6cfe
--- /dev/null
+++ b/progs/toe
Binary files differ
diff --git a/progs/tput b/progs/tput
new file mode 100755
index 0000000..6367b8a
--- /dev/null
+++ b/progs/tput
Binary files differ
diff --git a/progs/transform.h b/progs/transform.h
new file mode 100644
index 0000000..708938f
--- /dev/null
+++ b/progs/transform.h
@@ -0,0 +1,9 @@
+#ifndef __TRANSFORM_H
+#define __TRANSFORM_H 1
+#include <progs.priv.h>
+extern bool same_program(const char *, const char *);
+#define PROG_CAPTOINFO "captoinfo"
+#define PROG_INFOTOCAP "infotocap"
+#define PROG_RESET     "reset"
+#define PROG_INIT      "init"
+#endif /* __TRANSFORM_H */
diff --git a/progs/tset b/progs/tset
new file mode 100755
index 0000000..1e1473c
--- /dev/null
+++ b/progs/tset
Binary files differ
diff --git a/test/Makefile b/test/Makefile
new file mode 100644
index 0000000..980eac8
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,1308 @@
+# $Id: Makefile.in,v 1.115 2015/08/05 23:15:41 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses tests.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+
+
+
+destdir		=
+x		= 
+o		= .o
+
+MODEL		= ../objects
+top_srcdir	= ..
+srcdir		= .
+prefix		= /system
+exec_prefix	= ${prefix}
+datarootdir	= ${prefix}/share
+
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+includesubdir	= /ncurses
+
+BINDIR		= $(DESTDIR)$(bindir)
+LIBDIR		= $(DESTDIR)$(libdir)
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncurses
+
+LIBTOOL		= 
+LIBTOOL_OPTS	= 
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+
+INSTALL		= /usr/bin/install -c
+INSTALL_PROG	= ${INSTALL}
+transform	= s,x,x,
+TRANSFORM	= sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/'
+
+CTAGS		= 
+ETAGS		= 
+
+CC		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang
+CPP		= /home/shade/dev/cm/13/prebuilts/clang/linux-x86/host/3.6/bin/clang -E
+
+CFLAGS		= -target arm-linux-androideabi -I/home/shade/dev/cm/13/bionic/libc/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi -I/home/shade/dev/cm/13/bionic/libc/arch-arm/include -I/home/shade/dev/cm/13/bionic/libc/kernel/uapi/asm-arm --sysroot=/home/shade/dev/cm/13/prebuilts/ndk/current/platforms/android-21/arch-arm -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -I/home/shade/dev/cm/13/bionic/libm/include -I/home/shade/dev/cm/13/bionic/libm/include/arm -I/home/shade/dev/cm/13/external/libselinux/include -I/home/shade/dev/cm/13/system/core/include -I/home/shade/dev/cm/13/bionic/libc/dns/include -I.  --param max-inline-insns-single=1200 
+CPPFLAGS	= -I. -I$(srcdir) -I../test -DHAVE_CONFIG_H -I. -I../include   -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS)
+CFLAGS_DEBUG	= $(CCFLAGS) -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+REL_VERSION	= 6.0
+ABI_VERSION	= 6
+LOCAL_LIBDIR	= /home/shade/dev/cm/13/external/libncurses/lib
+LOCAL_LIBS	= ../lib/libform.a ../lib/libmenu.a ../lib/libpanel.a ../lib/libncurses.a 
+MATH_LIB	= -lm
+TEST_LIBS	= 
+
+LD		= arm-linux-androideabi-ld
+LINK		=  $(LIBTOOL_LINK) $(CFLAGS)
+
+LDFLAGS		=   -L/home/shade/dev/cm/13/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/armv7-a -L/home/shade/dev/cm/13/out/target/product/bacon/system/lib -lc -lselinux -lcutils
+
+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE)
+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) 
+
+TEST_ARGS	=  -L../lib -lform -lmenu -lpanel -lncurses  
+
+# use these for linking with all of the libraries
+LIBS_DEFAULT	= $(TEST_ARGS)  $(TEST_LIBS) $(MATH_LIB)
+LDFLAGS_DEFAULT	= $(LDFLAGS_NORMAL) $(LIBS_DEFAULT)
+
+# use these for linking with the (n)curses library and possibly pthreads
+LIBS_THREADS	= `echo "$(TEST_ARGS) " | sed -e 's/-lform.*-lpanel[^ ]*//'` $(TEST_LIBS) $(MATH_LIB) 
+LDFLAGS_THREADS	= $(LDFLAGS_NORMAL) $(LIBS_THREADS)
+
+# use these for linking with the (n)curses library
+LIBS_CURSES	= `echo "$(TEST_ARGS) " | sed -e 's/-lform.*-lpanel[^ ]*//'` $(TEST_LIBS) $(MATH_LIB)
+LDFLAGS_CURSES	= $(LDFLAGS_NORMAL) $(LIBS_CURSES)
+
+# use these for linking with the tinfo library if we have it, or curses library if not
+LIBS_TINFO	=  -lncurses   $(TEST_LIBS) $(MATH_LIB)
+LDFLAGS_TINFO	= -L../lib $(LDFLAGS_NORMAL) $(LIBS_TINFO)
+
+LINT		= lint
+LINT_OPTS	= 
+LINT_LIBS	= -lform -lmenu -lpanel -lncurses 
+
+HEADER_DEPS	= \
+	../include/curses.h \
+	../include/term.h
+
+# The rest is generated from the "programs" and "modules" files...
+# generated by mk-test.awk
+
+TESTS	= $(destdir)background$x \
+	  $(destdir)blue$x \
+	  $(destdir)bs$x \
+	  $(destdir)cardfile$x \
+	  $(destdir)chgat$x \
+	  $(destdir)clip_printw$x \
+	  $(destdir)color_set$x \
+	  $(destdir)demo_altkeys$x \
+	  $(destdir)demo_defkey$x \
+	  $(destdir)demo_forms$x \
+	  $(destdir)demo_keyok$x \
+	  $(destdir)demo_menus$x \
+	  $(destdir)demo_panels$x \
+	  $(destdir)demo_termcap$x \
+	  $(destdir)demo_terminfo$x \
+	  $(destdir)ditto$x \
+	  $(destdir)dots$x \
+	  $(destdir)dots_curses$x \
+	  $(destdir)dots_mvcur$x \
+	  $(destdir)dots_termcap$x \
+	  $(destdir)echochar$x \
+	  $(destdir)filter$x \
+	  $(destdir)firework$x \
+	  $(destdir)firstlast$x \
+	  $(destdir)foldkeys$x \
+	  $(destdir)form_driver_w$x \
+	  $(destdir)gdc$x \
+	  $(destdir)hanoi$x \
+	  $(destdir)hashtest$x \
+	  $(destdir)inch_wide$x \
+	  $(destdir)inchs$x \
+	  $(destdir)ins_wide$x \
+	  $(destdir)insdelln$x \
+	  $(destdir)inserts$x \
+	  $(destdir)key_names$x \
+	  $(destdir)keynames$x \
+	  $(destdir)knight$x \
+	  $(destdir)lrtest$x \
+	  $(destdir)movewindow$x \
+	  $(destdir)ncurses$x \
+	  $(destdir)newdemo$x \
+	  $(destdir)railroad$x \
+	  $(destdir)rain$x \
+	  $(destdir)redraw$x \
+	  $(destdir)savescreen$x \
+	  $(destdir)tclock$x \
+	  $(destdir)test_add_wchstr$x \
+	  $(destdir)test_addchstr$x \
+	  $(destdir)test_addstr$x \
+	  $(destdir)test_addwstr$x \
+	  $(destdir)test_arrays$x \
+	  $(destdir)test_get_wstr$x \
+	  $(destdir)test_getstr$x \
+	  $(destdir)test_instr$x \
+	  $(destdir)test_inwstr$x \
+	  $(destdir)test_opaque$x \
+	  $(destdir)test_setupterm$x \
+	  $(destdir)test_vid_puts$x \
+	  $(destdir)test_vidputs$x \
+	  $(destdir)testaddch$x \
+	  $(destdir)testcurs$x \
+	  $(destdir)testscanw$x \
+	  $(destdir)view$x \
+	  $(destdir)worm$x \
+	  $(destdir)xmas$x
+
+all: $(TESTS)
+
+sources:
+
+tags:
+	$(CTAGS) *.[ch]
+
+# no libraries here
+libs \
+install.libs \
+uninstall.libs:
+
+install \
+install.test \
+uninstall \
+uninstall.test:
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+	-rm -rf *$o screendump *.lis $(TESTS) .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile ncurses_cfg.h config.status config.log
+
+realclean :: distclean
+
+lint:
+	$(SHELL) -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'
+$(BINDIR) :
+	mkdir -p $@
+
+$(destdir)background$x: $(MODEL)/background$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/background$o $(LDFLAGS_CURSES)
+
+$(destdir)blue$x: $(MODEL)/blue$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/blue$o $(LDFLAGS_CURSES)
+
+$(destdir)bs$x: $(MODEL)/bs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/bs$o $(LDFLAGS_CURSES)
+
+$(destdir)cardfile$x: $(MODEL)/cardfile$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/cardfile$o $(LDFLAGS_DEFAULT)
+
+$(destdir)chgat$x: $(MODEL)/chgat$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/chgat$o $(LDFLAGS_CURSES)
+
+$(destdir)clip_printw$x: $(MODEL)/clip_printw$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/clip_printw$o $(LDFLAGS_CURSES)
+
+$(destdir)color_set$x: $(MODEL)/color_set$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/color_set$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_altkeys$x: $(MODEL)/demo_altkeys$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_altkeys$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_defkey$x: $(MODEL)/demo_defkey$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_defkey$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_forms$x: $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_keyok$x: $(MODEL)/demo_keyok$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_keyok$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_menus$x: $(MODEL)/demo_menus$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_menus$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_panels$x: $(MODEL)/demo_panels$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_panels$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_termcap$x: $(MODEL)/demo_termcap$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_termcap$o $(LDFLAGS_TINFO)
+
+$(destdir)demo_terminfo$x: $(MODEL)/demo_terminfo$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_terminfo$o $(LDFLAGS_TINFO)
+
+$(destdir)ditto$x: $(MODEL)/ditto$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/ditto$o $(LDFLAGS_THREADS)
+
+$(destdir)dots$x: $(MODEL)/dots$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots$o $(LDFLAGS_TINFO)
+
+$(destdir)dots_curses$x: $(MODEL)/dots_curses$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_curses$o $(LDFLAGS_CURSES)
+
+$(destdir)dots_mvcur$x: $(MODEL)/dots_mvcur$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_mvcur$o $(LDFLAGS_CURSES)
+
+$(destdir)dots_termcap$x: $(MODEL)/dots_termcap$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_termcap$o $(LDFLAGS_TINFO)
+
+$(destdir)echochar$x: $(MODEL)/echochar$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/echochar$o $(LDFLAGS_CURSES)
+
+$(destdir)filter$x: $(MODEL)/filter$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/filter$o $(LDFLAGS_CURSES)
+
+$(destdir)firework$x: $(MODEL)/firework$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/firework$o $(LDFLAGS_CURSES)
+
+$(destdir)firstlast$x: $(MODEL)/firstlast$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/firstlast$o $(LDFLAGS_DEFAULT)
+
+$(destdir)foldkeys$x: $(MODEL)/foldkeys$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/foldkeys$o $(LDFLAGS_CURSES)
+
+$(destdir)form_driver_w$x: $(MODEL)/form_driver_w$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/form_driver_w$o $(LDFLAGS_DEFAULT)
+
+$(destdir)gdc$x: $(MODEL)/gdc$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/gdc$o $(LDFLAGS_CURSES)
+
+$(destdir)hanoi$x: $(MODEL)/hanoi$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/hanoi$o $(LDFLAGS_CURSES)
+
+$(destdir)hashtest$x: $(MODEL)/hashtest$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/hashtest$o $(LDFLAGS_CURSES)
+
+$(destdir)inch_wide$x: $(MODEL)/inch_wide$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/inch_wide$o $(LDFLAGS_CURSES)
+
+$(destdir)inchs$x: $(MODEL)/inchs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/inchs$o $(LDFLAGS_CURSES)
+
+$(destdir)ins_wide$x: $(MODEL)/ins_wide$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/ins_wide$o $(LDFLAGS_CURSES)
+
+$(destdir)insdelln$x: $(MODEL)/insdelln$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/insdelln$o $(LDFLAGS_CURSES)
+
+$(destdir)inserts$x: $(MODEL)/inserts$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/inserts$o $(LDFLAGS_CURSES)
+
+$(destdir)key_names$x: $(MODEL)/key_names$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/key_names$o $(LDFLAGS_CURSES)
+
+$(destdir)keynames$x: $(MODEL)/keynames$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/keynames$o $(LDFLAGS_CURSES)
+
+$(destdir)knight$x: $(MODEL)/knight$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/knight$o $(LDFLAGS_CURSES)
+
+$(destdir)lrtest$x: $(MODEL)/lrtest$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/lrtest$o $(LDFLAGS_CURSES)
+
+$(destdir)movewindow$x: $(MODEL)/movewindow$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/movewindow$o $(LDFLAGS_CURSES)
+
+$(destdir)ncurses$x: $(MODEL)/ncurses$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/ncurses$o $(LDFLAGS_DEFAULT)
+
+$(destdir)newdemo$x: $(MODEL)/newdemo$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/newdemo$o $(LDFLAGS_CURSES)
+
+$(destdir)railroad$x: $(MODEL)/railroad$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/railroad$o $(LDFLAGS_TINFO)
+
+$(destdir)rain$x: $(MODEL)/rain$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/rain$o $(LDFLAGS_THREADS)
+
+$(destdir)redraw$x: $(MODEL)/redraw$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/redraw$o $(LDFLAGS_CURSES)
+
+$(destdir)savescreen$x: $(MODEL)/savescreen$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/savescreen$o $(LDFLAGS_CURSES)
+
+$(destdir)tclock$x: $(MODEL)/tclock$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/tclock$o $(LDFLAGS_CURSES)
+
+$(destdir)test_add_wchstr$x: $(MODEL)/test_add_wchstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_add_wchstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_addchstr$x: $(MODEL)/test_addchstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_addchstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_addstr$x: $(MODEL)/test_addstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_addstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_addwstr$x: $(MODEL)/test_addwstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_addwstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_arrays$x: $(MODEL)/test_arrays$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_arrays$o $(LDFLAGS_TINFO)
+
+$(destdir)test_get_wstr$x: $(MODEL)/test_get_wstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_get_wstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_getstr$x: $(MODEL)/test_getstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_getstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_instr$x: $(MODEL)/test_instr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_instr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_inwstr$x: $(MODEL)/test_inwstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_inwstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_opaque$x: $(MODEL)/test_opaque$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_opaque$o $(LDFLAGS_CURSES)
+
+$(destdir)test_setupterm$x: $(MODEL)/test_setupterm$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_setupterm$o $(LDFLAGS_CURSES)
+
+$(destdir)test_vid_puts$x: $(MODEL)/test_vid_puts$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_vid_puts$o $(LDFLAGS_CURSES)
+
+$(destdir)test_vidputs$x: $(MODEL)/test_vidputs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_vidputs$o $(LDFLAGS_CURSES)
+
+$(destdir)testaddch$x: $(MODEL)/testaddch$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/testaddch$o $(LDFLAGS_CURSES)
+
+$(destdir)testcurs$x: $(MODEL)/testcurs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/testcurs$o $(LDFLAGS_CURSES)
+
+$(destdir)testscanw$x: $(MODEL)/testscanw$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/testscanw$o $(LDFLAGS_CURSES)
+
+$(destdir)view$x: $(MODEL)/view$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/view$o $(LDFLAGS_CURSES)
+
+$(destdir)worm$x: $(MODEL)/worm$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/worm$o $(LDFLAGS_THREADS)
+
+$(destdir)xmas$x: $(MODEL)/xmas$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/xmas$o $(LDFLAGS_CURSES)
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	sed  -e "s/NCURSES\([WT]\+\)\?_/NCURSES\16_/g" -e "/deprecated in ABI6/d" <  >$@
+
+clean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    test
+#   subsets:    ticlib+termlib+ext_tinfo+base+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/background.c \
+	$(srcdir)/blue.c \
+	$(srcdir)/bs.c \
+	$(srcdir)/cardfile.c \
+	$(srcdir)/chgat.c \
+	$(srcdir)/clip_printw.c \
+	$(srcdir)/color_set.c \
+	$(srcdir)/demo_altkeys.c \
+	$(srcdir)/demo_defkey.c \
+	$(srcdir)/demo_forms.c \
+	$(srcdir)/demo_keyok.c \
+	$(srcdir)/demo_menus.c \
+	$(srcdir)/demo_panels.c \
+	$(srcdir)/demo_termcap.c \
+	$(srcdir)/demo_terminfo.c \
+	$(srcdir)/ditto.c \
+	$(srcdir)/dots.c \
+	$(srcdir)/dots_curses.c \
+	$(srcdir)/dots_mvcur.c \
+	$(srcdir)/dots_termcap.c \
+	$(srcdir)/echochar.c \
+	$(srcdir)/edit_field.c \
+	$(srcdir)/filter.c \
+	$(srcdir)/firework.c \
+	$(srcdir)/firstlast.c \
+	$(srcdir)/foldkeys.c \
+	$(srcdir)/form_driver_w.c \
+	$(srcdir)/gdc.c \
+	$(srcdir)/hanoi.c \
+	$(srcdir)/hashtest.c \
+	$(srcdir)/inch_wide.c \
+	$(srcdir)/inchs.c \
+	$(srcdir)/ins_wide.c \
+	$(srcdir)/insdelln.c \
+	$(srcdir)/inserts.c \
+	$(srcdir)/key_names.c \
+	$(srcdir)/keynames.c \
+	$(srcdir)/knight.c \
+	$(srcdir)/lrtest.c \
+	$(srcdir)/movewindow.c \
+	$(srcdir)/ncurses.c \
+	$(srcdir)/newdemo.c \
+	$(srcdir)/railroad.c \
+	$(srcdir)/rain.c \
+	$(srcdir)/redraw.c \
+	$(srcdir)/savescreen.c \
+	$(srcdir)/tclock.c \
+	$(srcdir)/test_add_wchstr.c \
+	$(srcdir)/test_addchstr.c \
+	$(srcdir)/test_addstr.c \
+	$(srcdir)/test_addwstr.c \
+	$(srcdir)/test_arrays.c \
+	$(srcdir)/test_get_wstr.c \
+	$(srcdir)/test_getstr.c \
+	$(srcdir)/test_instr.c \
+	$(srcdir)/test_inwstr.c \
+	$(srcdir)/test_opaque.c \
+	$(srcdir)/test_setupterm.c \
+	$(srcdir)/test_vid_puts.c \
+	$(srcdir)/test_vidputs.c \
+	$(srcdir)/testaddch.c \
+	$(srcdir)/testcurs.c \
+	$(srcdir)/testscanw.c \
+	$(srcdir)/view.c \
+	$(srcdir)/worm.c \
+	$(srcdir)/xmas.c
+
+lintlib :
+	@echo no action needed
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          test
+#  traces:        DEBUG
+#  MODEL:         NORMAL
+#  CXX_MODEL:     NORMAL
+#  model:         objects
+#  prefix:        lib
+#  suffix:        .a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./test.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+NORMAL_OBJS = \
+	../objects/background$o \
+	../objects/blue$o \
+	../objects/bs$o \
+	../objects/cardfile$o \
+	../objects/chgat$o \
+	../objects/clip_printw$o \
+	../objects/color_set$o \
+	../objects/demo_altkeys$o \
+	../objects/demo_defkey$o \
+	../objects/demo_forms$o \
+	../objects/demo_keyok$o \
+	../objects/demo_menus$o \
+	../objects/demo_panels$o \
+	../objects/demo_termcap$o \
+	../objects/demo_terminfo$o \
+	../objects/ditto$o \
+	../objects/dots$o \
+	../objects/dots_curses$o \
+	../objects/dots_mvcur$o \
+	../objects/dots_termcap$o \
+	../objects/echochar$o \
+	../objects/edit_field$o \
+	../objects/filter$o \
+	../objects/firework$o \
+	../objects/firstlast$o \
+	../objects/foldkeys$o \
+	../objects/form_driver_w$o \
+	../objects/gdc$o \
+	../objects/hanoi$o \
+	../objects/hashtest$o \
+	../objects/inch_wide$o \
+	../objects/inchs$o \
+	../objects/ins_wide$o \
+	../objects/insdelln$o \
+	../objects/inserts$o \
+	../objects/key_names$o \
+	../objects/keynames$o \
+	../objects/knight$o \
+	../objects/lrtest$o \
+	../objects/movewindow$o \
+	../objects/ncurses$o \
+	../objects/newdemo$o \
+	../objects/railroad$o \
+	../objects/rain$o \
+	../objects/redraw$o \
+	../objects/savescreen$o \
+	../objects/tclock$o \
+	../objects/test_add_wchstr$o \
+	../objects/test_addchstr$o \
+	../objects/test_addstr$o \
+	../objects/test_addwstr$o \
+	../objects/test_arrays$o \
+	../objects/test_get_wstr$o \
+	../objects/test_getstr$o \
+	../objects/test_instr$o \
+	../objects/test_inwstr$o \
+	../objects/test_opaque$o \
+	../objects/test_setupterm$o \
+	../objects/test_vid_puts$o \
+	../objects/test_vidputs$o \
+	../objects/testaddch$o \
+	../objects/testcurs$o \
+	../objects/testscanw$o \
+	../objects/view$o \
+	../objects/worm$o \
+	../objects/xmas$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./test.priv.h
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+clean ::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/background$o :	$(srcdir)/background.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/background.c -o ../objects/background$o
+
+../objects/blue$o :	$(srcdir)/blue.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/blue.c -o ../objects/blue$o
+
+../objects/bs$o :	$(srcdir)/bs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/bs.c -o ../objects/bs$o
+
+../objects/cardfile$o :	$(srcdir)/cardfile.c \
+			$(HEADER_DEPS) \
+			../include/panel.h \
+			../include/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/cardfile.c -o ../objects/cardfile$o
+
+../objects/chgat$o :	$(srcdir)/chgat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/chgat.c -o ../objects/chgat$o
+
+../objects/clip_printw$o :	$(srcdir)/clip_printw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/clip_printw.c -o ../objects/clip_printw$o
+
+../objects/color_set$o :	$(srcdir)/color_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/color_set.c -o ../objects/color_set$o
+
+../objects/demo_altkeys$o :	$(srcdir)/demo_altkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_altkeys.c -o ../objects/demo_altkeys$o
+
+../objects/demo_defkey$o :	$(srcdir)/demo_defkey.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_defkey.c -o ../objects/demo_defkey$o
+
+../objects/demo_forms$o :	$(srcdir)/demo_forms.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_forms.c -o ../objects/demo_forms$o
+
+../objects/demo_keyok$o :	$(srcdir)/demo_keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_keyok.c -o ../objects/demo_keyok$o
+
+../objects/demo_menus$o :	$(srcdir)/demo_menus.c \
+			$(HEADER_DEPS) \
+			../include/menu.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_menus.c -o ../objects/demo_menus$o
+
+../objects/demo_panels$o :	$(srcdir)/demo_panels.c \
+			$(HEADER_DEPS) \
+			../include/panel.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_panels.c -o ../objects/demo_panels$o
+
+../objects/demo_termcap$o :	$(srcdir)/demo_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_termcap.c -o ../objects/demo_termcap$o
+
+../objects/demo_terminfo$o :	$(srcdir)/demo_terminfo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_terminfo.c -o ../objects/demo_terminfo$o
+
+../objects/ditto$o :	$(srcdir)/ditto.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ditto.c -o ../objects/ditto$o
+
+../objects/dots$o :	$(srcdir)/dots.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots.c -o ../objects/dots$o
+
+../objects/dots_curses$o :	$(srcdir)/dots_curses.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_curses.c -o ../objects/dots_curses$o
+
+../objects/dots_mvcur$o :	$(srcdir)/dots_mvcur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_mvcur.c -o ../objects/dots_mvcur$o
+
+../objects/dots_termcap$o :	$(srcdir)/dots_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_termcap.c -o ../objects/dots_termcap$o
+
+../objects/echochar$o :	$(srcdir)/echochar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/echochar.c -o ../objects/echochar$o
+
+../objects/edit_field$o :	$(srcdir)/edit_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/edit_field.c -o ../objects/edit_field$o
+
+../objects/filter$o :	$(srcdir)/filter.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/filter.c -o ../objects/filter$o
+
+../objects/firework$o :	$(srcdir)/firework.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/firework.c -o ../objects/firework$o
+
+../objects/firstlast$o :	$(srcdir)/firstlast.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/firstlast.c -o ../objects/firstlast$o
+
+../objects/foldkeys$o :	$(srcdir)/foldkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/foldkeys.c -o ../objects/foldkeys$o
+
+../objects/form_driver_w$o :	$(srcdir)/form_driver_w.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/form_driver_w.c -o ../objects/form_driver_w$o
+
+../objects/gdc$o :	$(srcdir)/gdc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/gdc.c -o ../objects/gdc$o
+
+../objects/hanoi$o :	$(srcdir)/hanoi.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/hanoi.c -o ../objects/hanoi$o
+
+../objects/hashtest$o :	$(srcdir)/hashtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/hashtest.c -o ../objects/hashtest$o
+
+../objects/inch_wide$o :	$(srcdir)/inch_wide.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inch_wide.c -o ../objects/inch_wide$o
+
+../objects/inchs$o :	$(srcdir)/inchs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inchs.c -o ../objects/inchs$o
+
+../objects/ins_wide$o :	$(srcdir)/ins_wide.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ins_wide.c -o ../objects/ins_wide$o
+
+../objects/insdelln$o :	$(srcdir)/insdelln.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/insdelln.c -o ../objects/insdelln$o
+
+../objects/inserts$o :	$(srcdir)/inserts.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inserts.c -o ../objects/inserts$o
+
+../objects/key_names$o :	$(srcdir)/key_names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/key_names.c -o ../objects/key_names$o
+
+../objects/keynames$o :	$(srcdir)/keynames.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/keynames.c -o ../objects/keynames$o
+
+../objects/knight$o :	$(srcdir)/knight.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/knight.c -o ../objects/knight$o
+
+../objects/lrtest$o :	$(srcdir)/lrtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/lrtest.c -o ../objects/lrtest$o
+
+../objects/movewindow$o :	$(srcdir)/movewindow.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/movewindow.c -o ../objects/movewindow$o
+
+../objects/ncurses$o :	$(srcdir)/ncurses.c \
+			$(HEADER_DEPS) \
+			../include/panel.h \
+			../include/menu.h \
+			../include/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ncurses.c -o ../objects/ncurses$o
+
+../objects/newdemo$o :	$(srcdir)/newdemo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/newdemo.c -o ../objects/newdemo$o
+
+../objects/railroad$o :	$(srcdir)/railroad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/railroad.c -o ../objects/railroad$o
+
+../objects/rain$o :	$(srcdir)/rain.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/rain.c -o ../objects/rain$o
+
+../objects/redraw$o :	$(srcdir)/redraw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/redraw.c -o ../objects/redraw$o
+
+../objects/savescreen$o :	$(srcdir)/savescreen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/savescreen.c -o ../objects/savescreen$o
+
+../objects/tclock$o :	$(srcdir)/tclock.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/tclock.c -o ../objects/tclock$o
+
+../objects/test_add_wchstr$o :	$(srcdir)/test_add_wchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_add_wchstr.c -o ../objects/test_add_wchstr$o
+
+../objects/test_addchstr$o :	$(srcdir)/test_addchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_addchstr.c -o ../objects/test_addchstr$o
+
+../objects/test_addstr$o :	$(srcdir)/test_addstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_addstr.c -o ../objects/test_addstr$o
+
+../objects/test_addwstr$o :	$(srcdir)/test_addwstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_addwstr.c -o ../objects/test_addwstr$o
+
+../objects/test_arrays$o :	$(srcdir)/test_arrays.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_arrays.c -o ../objects/test_arrays$o
+
+../objects/test_get_wstr$o :	$(srcdir)/test_get_wstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_get_wstr.c -o ../objects/test_get_wstr$o
+
+../objects/test_getstr$o :	$(srcdir)/test_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_getstr.c -o ../objects/test_getstr$o
+
+../objects/test_instr$o :	$(srcdir)/test_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_instr.c -o ../objects/test_instr$o
+
+../objects/test_inwstr$o :	$(srcdir)/test_inwstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_inwstr.c -o ../objects/test_inwstr$o
+
+../objects/test_opaque$o :	$(srcdir)/test_opaque.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_opaque.c -o ../objects/test_opaque$o
+
+../objects/test_setupterm$o :	$(srcdir)/test_setupterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_setupterm.c -o ../objects/test_setupterm$o
+
+../objects/test_vid_puts$o :	$(srcdir)/test_vid_puts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_vid_puts.c -o ../objects/test_vid_puts$o
+
+../objects/test_vidputs$o :	$(srcdir)/test_vidputs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_vidputs.c -o ../objects/test_vidputs$o
+
+../objects/testaddch$o :	$(srcdir)/testaddch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testaddch.c -o ../objects/testaddch$o
+
+../objects/testcurs$o :	$(srcdir)/testcurs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testcurs.c -o ../objects/testcurs$o
+
+../objects/testscanw$o :	$(srcdir)/testscanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testscanw.c -o ../objects/testscanw$o
+
+../objects/view$o :	$(srcdir)/view.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/widechars.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/view.c -o ../objects/view$o
+
+../objects/worm$o :	$(srcdir)/worm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/worm.c -o ../objects/worm$o
+
+../objects/xmas$o :	$(srcdir)/xmas.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/xmas.c -o ../objects/xmas$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+ext_funcs)
+#  name:          test
+#  traces:        DEBUG
+#  MODEL:         DEBUG
+#  CXX_MODEL:     DEBUG
+#  model:         obj_g
+#  prefix:        lib
+#  suffix:        _g.a
+#  subset:        ticlib+termlib+ext_tinfo+base+ext_funcs
+#  driver:        no
+#  ShlibVer:      rel
+#  ShlibVerInfix: no
+#  SymLink:       ln -s -f
+#  TermlibRoot:   ncurses
+#  TermlibSuffix: .a
+#  ReLink:        no
+#  DoLinks:       yes
+#  rmSoLocs:      no
+#  ldconfig:      :
+#  overwrite:     no
+#  depend:        ../include/ncurses_cfg.h ./test.priv.h
+#  host:          arm-unknown-linux-androideabi
+
+DEBUG_OBJS = \
+	../obj_g/background$o \
+	../obj_g/blue$o \
+	../obj_g/bs$o \
+	../obj_g/cardfile$o \
+	../obj_g/chgat$o \
+	../obj_g/clip_printw$o \
+	../obj_g/color_set$o \
+	../obj_g/demo_altkeys$o \
+	../obj_g/demo_defkey$o \
+	../obj_g/demo_forms$o \
+	../obj_g/demo_keyok$o \
+	../obj_g/demo_menus$o \
+	../obj_g/demo_panels$o \
+	../obj_g/demo_termcap$o \
+	../obj_g/demo_terminfo$o \
+	../obj_g/ditto$o \
+	../obj_g/dots$o \
+	../obj_g/dots_curses$o \
+	../obj_g/dots_mvcur$o \
+	../obj_g/dots_termcap$o \
+	../obj_g/echochar$o \
+	../obj_g/edit_field$o \
+	../obj_g/filter$o \
+	../obj_g/firework$o \
+	../obj_g/firstlast$o \
+	../obj_g/foldkeys$o \
+	../obj_g/form_driver_w$o \
+	../obj_g/gdc$o \
+	../obj_g/hanoi$o \
+	../obj_g/hashtest$o \
+	../obj_g/inch_wide$o \
+	../obj_g/inchs$o \
+	../obj_g/ins_wide$o \
+	../obj_g/insdelln$o \
+	../obj_g/inserts$o \
+	../obj_g/key_names$o \
+	../obj_g/keynames$o \
+	../obj_g/knight$o \
+	../obj_g/lrtest$o \
+	../obj_g/movewindow$o \
+	../obj_g/ncurses$o \
+	../obj_g/newdemo$o \
+	../obj_g/railroad$o \
+	../obj_g/rain$o \
+	../obj_g/redraw$o \
+	../obj_g/savescreen$o \
+	../obj_g/tclock$o \
+	../obj_g/test_add_wchstr$o \
+	../obj_g/test_addchstr$o \
+	../obj_g/test_addstr$o \
+	../obj_g/test_addwstr$o \
+	../obj_g/test_arrays$o \
+	../obj_g/test_get_wstr$o \
+	../obj_g/test_getstr$o \
+	../obj_g/test_instr$o \
+	../obj_g/test_inwstr$o \
+	../obj_g/test_opaque$o \
+	../obj_g/test_setupterm$o \
+	../obj_g/test_vid_puts$o \
+	../obj_g/test_vidputs$o \
+	../obj_g/testaddch$o \
+	../obj_g/testcurs$o \
+	../obj_g/testscanw$o \
+	../obj_g/view$o \
+	../obj_g/worm$o \
+	../obj_g/xmas$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./test.priv.h
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+clean ::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+ext_funcs
+#   crenames:   yes
+#   cxxrenames: 
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/background$o :	$(srcdir)/background.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/background.c -o ../obj_g/background$o
+
+../obj_g/blue$o :	$(srcdir)/blue.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/blue.c -o ../obj_g/blue$o
+
+../obj_g/bs$o :	$(srcdir)/bs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/bs.c -o ../obj_g/bs$o
+
+../obj_g/cardfile$o :	$(srcdir)/cardfile.c \
+			$(HEADER_DEPS) \
+			../include/panel.h \
+			../include/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/cardfile.c -o ../obj_g/cardfile$o
+
+../obj_g/chgat$o :	$(srcdir)/chgat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/chgat.c -o ../obj_g/chgat$o
+
+../obj_g/clip_printw$o :	$(srcdir)/clip_printw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/clip_printw.c -o ../obj_g/clip_printw$o
+
+../obj_g/color_set$o :	$(srcdir)/color_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/color_set.c -o ../obj_g/color_set$o
+
+../obj_g/demo_altkeys$o :	$(srcdir)/demo_altkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_altkeys.c -o ../obj_g/demo_altkeys$o
+
+../obj_g/demo_defkey$o :	$(srcdir)/demo_defkey.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_defkey.c -o ../obj_g/demo_defkey$o
+
+../obj_g/demo_forms$o :	$(srcdir)/demo_forms.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_forms.c -o ../obj_g/demo_forms$o
+
+../obj_g/demo_keyok$o :	$(srcdir)/demo_keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_keyok.c -o ../obj_g/demo_keyok$o
+
+../obj_g/demo_menus$o :	$(srcdir)/demo_menus.c \
+			$(HEADER_DEPS) \
+			../include/menu.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_menus.c -o ../obj_g/demo_menus$o
+
+../obj_g/demo_panels$o :	$(srcdir)/demo_panels.c \
+			$(HEADER_DEPS) \
+			../include/panel.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_panels.c -o ../obj_g/demo_panels$o
+
+../obj_g/demo_termcap$o :	$(srcdir)/demo_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_termcap.c -o ../obj_g/demo_termcap$o
+
+../obj_g/demo_terminfo$o :	$(srcdir)/demo_terminfo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_terminfo.c -o ../obj_g/demo_terminfo$o
+
+../obj_g/ditto$o :	$(srcdir)/ditto.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ditto.c -o ../obj_g/ditto$o
+
+../obj_g/dots$o :	$(srcdir)/dots.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots.c -o ../obj_g/dots$o
+
+../obj_g/dots_curses$o :	$(srcdir)/dots_curses.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_curses.c -o ../obj_g/dots_curses$o
+
+../obj_g/dots_mvcur$o :	$(srcdir)/dots_mvcur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_mvcur.c -o ../obj_g/dots_mvcur$o
+
+../obj_g/dots_termcap$o :	$(srcdir)/dots_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_termcap.c -o ../obj_g/dots_termcap$o
+
+../obj_g/echochar$o :	$(srcdir)/echochar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/echochar.c -o ../obj_g/echochar$o
+
+../obj_g/edit_field$o :	$(srcdir)/edit_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/edit_field.c -o ../obj_g/edit_field$o
+
+../obj_g/filter$o :	$(srcdir)/filter.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/filter.c -o ../obj_g/filter$o
+
+../obj_g/firework$o :	$(srcdir)/firework.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/firework.c -o ../obj_g/firework$o
+
+../obj_g/firstlast$o :	$(srcdir)/firstlast.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/firstlast.c -o ../obj_g/firstlast$o
+
+../obj_g/foldkeys$o :	$(srcdir)/foldkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/foldkeys.c -o ../obj_g/foldkeys$o
+
+../obj_g/form_driver_w$o :	$(srcdir)/form_driver_w.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/form_driver_w.c -o ../obj_g/form_driver_w$o
+
+../obj_g/gdc$o :	$(srcdir)/gdc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/gdc.c -o ../obj_g/gdc$o
+
+../obj_g/hanoi$o :	$(srcdir)/hanoi.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/hanoi.c -o ../obj_g/hanoi$o
+
+../obj_g/hashtest$o :	$(srcdir)/hashtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/hashtest.c -o ../obj_g/hashtest$o
+
+../obj_g/inch_wide$o :	$(srcdir)/inch_wide.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inch_wide.c -o ../obj_g/inch_wide$o
+
+../obj_g/inchs$o :	$(srcdir)/inchs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inchs.c -o ../obj_g/inchs$o
+
+../obj_g/ins_wide$o :	$(srcdir)/ins_wide.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ins_wide.c -o ../obj_g/ins_wide$o
+
+../obj_g/insdelln$o :	$(srcdir)/insdelln.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/insdelln.c -o ../obj_g/insdelln$o
+
+../obj_g/inserts$o :	$(srcdir)/inserts.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inserts.c -o ../obj_g/inserts$o
+
+../obj_g/key_names$o :	$(srcdir)/key_names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/key_names.c -o ../obj_g/key_names$o
+
+../obj_g/keynames$o :	$(srcdir)/keynames.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/keynames.c -o ../obj_g/keynames$o
+
+../obj_g/knight$o :	$(srcdir)/knight.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/knight.c -o ../obj_g/knight$o
+
+../obj_g/lrtest$o :	$(srcdir)/lrtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/lrtest.c -o ../obj_g/lrtest$o
+
+../obj_g/movewindow$o :	$(srcdir)/movewindow.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/movewindow.c -o ../obj_g/movewindow$o
+
+../obj_g/ncurses$o :	$(srcdir)/ncurses.c \
+			$(HEADER_DEPS) \
+			../include/panel.h \
+			../include/menu.h \
+			../include/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ncurses.c -o ../obj_g/ncurses$o
+
+../obj_g/newdemo$o :	$(srcdir)/newdemo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/newdemo.c -o ../obj_g/newdemo$o
+
+../obj_g/railroad$o :	$(srcdir)/railroad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/railroad.c -o ../obj_g/railroad$o
+
+../obj_g/rain$o :	$(srcdir)/rain.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/rain.c -o ../obj_g/rain$o
+
+../obj_g/redraw$o :	$(srcdir)/redraw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/redraw.c -o ../obj_g/redraw$o
+
+../obj_g/savescreen$o :	$(srcdir)/savescreen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/savescreen.c -o ../obj_g/savescreen$o
+
+../obj_g/tclock$o :	$(srcdir)/tclock.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/tclock.c -o ../obj_g/tclock$o
+
+../obj_g/test_add_wchstr$o :	$(srcdir)/test_add_wchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_add_wchstr.c -o ../obj_g/test_add_wchstr$o
+
+../obj_g/test_addchstr$o :	$(srcdir)/test_addchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_addchstr.c -o ../obj_g/test_addchstr$o
+
+../obj_g/test_addstr$o :	$(srcdir)/test_addstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_addstr.c -o ../obj_g/test_addstr$o
+
+../obj_g/test_addwstr$o :	$(srcdir)/test_addwstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_addwstr.c -o ../obj_g/test_addwstr$o
+
+../obj_g/test_arrays$o :	$(srcdir)/test_arrays.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_arrays.c -o ../obj_g/test_arrays$o
+
+../obj_g/test_get_wstr$o :	$(srcdir)/test_get_wstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_get_wstr.c -o ../obj_g/test_get_wstr$o
+
+../obj_g/test_getstr$o :	$(srcdir)/test_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_getstr.c -o ../obj_g/test_getstr$o
+
+../obj_g/test_instr$o :	$(srcdir)/test_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_instr.c -o ../obj_g/test_instr$o
+
+../obj_g/test_inwstr$o :	$(srcdir)/test_inwstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_inwstr.c -o ../obj_g/test_inwstr$o
+
+../obj_g/test_opaque$o :	$(srcdir)/test_opaque.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_opaque.c -o ../obj_g/test_opaque$o
+
+../obj_g/test_setupterm$o :	$(srcdir)/test_setupterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_setupterm.c -o ../obj_g/test_setupterm$o
+
+../obj_g/test_vid_puts$o :	$(srcdir)/test_vid_puts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_vid_puts.c -o ../obj_g/test_vid_puts$o
+
+../obj_g/test_vidputs$o :	$(srcdir)/test_vidputs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_vidputs.c -o ../obj_g/test_vidputs$o
+
+../obj_g/testaddch$o :	$(srcdir)/testaddch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testaddch.c -o ../obj_g/testaddch$o
+
+../obj_g/testcurs$o :	$(srcdir)/testcurs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testcurs.c -o ../obj_g/testcurs$o
+
+../obj_g/testscanw$o :	$(srcdir)/testscanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testscanw.c -o ../obj_g/testscanw$o
+
+../obj_g/view$o :	$(srcdir)/view.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/widechars.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/view.c -o ../obj_g/view$o
+
+../obj_g/worm$o :	$(srcdir)/worm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/worm.c -o ../obj_g/worm$o
+
+../obj_g/xmas$o :	$(srcdir)/xmas.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/xmas.c -o ../obj_g/xmas$o
+
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/test/background b/test/background
new file mode 100755
index 0000000..993b257
--- /dev/null
+++ b/test/background
Binary files differ
diff --git a/test/blue b/test/blue
new file mode 100755
index 0000000..3fbc888
--- /dev/null
+++ b/test/blue
Binary files differ
diff --git a/test/bs b/test/bs
new file mode 100755
index 0000000..2e5f082
--- /dev/null
+++ b/test/bs
Binary files differ
