From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Praveen Arimbrathodiyil Newsgroups: gmane.emacs.bugs Subject: bug#5047: 23.1; emacs is failing to build on Fedora 12 64 bit Date: Sat, 28 Nov 2009 19:45:48 +0530 Message-ID: <4B113094.9000305@gmail.com> References: <3f2beab60911260615m7d265b39ya9dc67e2fd35ce25@mail.gmail.com> <4B100183.20000@swipnet.se> <3f2beab60911272312w6867bb90q1a8fe85b515073e6@mail.gmail.com> <4B110BDB.90305@swipnet.se> Reply-To: Praveen Arimbrathodiyil , 5047@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000202020200000209040006" X-Trace: ger.gmane.org 1259424783 31236 80.91.229.12 (28 Nov 2009 16:13:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 28 Nov 2009 16:13:03 +0000 (UTC) Cc: 5047@emacsbugs.donarmstrong.com, bug-gnu-emacs@gnu.org To: Jan =?UTF-8?Q?Dj=C3=A4rv?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 28 17:12:54 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NEPs8-0006cO-BS for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Nov 2009 17:12:53 +0100 Original-Received: from localhost ([127.0.0.1]:34807 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NEPs7-0007SJ-JS for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Nov 2009 11:10:07 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NEOGr-0005NH-6A for bug-gnu-emacs@gnu.org; Sat, 28 Nov 2009 09:27:33 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NEOGm-0005Gp-Fg for bug-gnu-emacs@gnu.org; Sat, 28 Nov 2009 09:27:32 -0500 Original-Received: from [199.232.76.173] (port=49922 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NEOGm-0005GT-6x for bug-gnu-emacs@gnu.org; Sat, 28 Nov 2009 09:27:28 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:51024) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NEOGj-0004lB-Ev for bug-gnu-emacs@gnu.org; Sat, 28 Nov 2009 09:27:28 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nASERMR1003696; Sat, 28 Nov 2009 06:27:23 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.14.3/8.14.3/Submit) id nASEPC1d003418; Sat, 28 Nov 2009 06:25:12 -0800 Resent-Date: Sat, 28 Nov 2009 06:25:12 -0800 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: Praveen Arimbrathodiyil Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs 2Resent-Date: Sat, 28 Nov 2009 14:25:11 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: followup 5047 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 5047-submit@emacsbugs.donarmstrong.com id=B5047.12594177812782 (code B ref 5047); Sat, 28 Nov 2009 14:25:11 +0000 Original-Received: (at 5047) by emacsbugs.donarmstrong.com; 28 Nov 2009 14:16:21 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from mail-pw0-f42.google.com (mail-pw0-f42.google.com [209.85.160.42]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nASEGKkU002779 for <5047@emacsbugs.donarmstrong.com>; Sat, 28 Nov 2009 06:16:21 -0800 Original-Received: by pwi3 with SMTP id 3so1557436pwi.1 for <5047@emacsbugs.donarmstrong.com>; Sat, 28 Nov 2009 06:16:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type; bh=6JE26fA4m03ArOoje4wR+/cjyCdSdt8zNR7itfENIcY=; b=QsUoVqaRWz6VRabNHVKy1dlXCPuxStoo8OB8c53D+/iaLWk8x7RwhTpsnPrOxGTY7B jyoiNVIxXl7QtKGyhMAkGvIHACES4kRbb5Siolps3i2dDjz5slJMQ7GNF8eUvKTfj23W LuHwAUqRLMehiwuiz/Q3EC8Iua0qHqhH3Znbo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; b=XH/SLq2blb94BeHwh1CcKVkmmWCxBSOb9KoLQ91bGHq7ws5lulKcsccFZ48J14YaDU Zld9TdcSmxE1y+IQKzrWcMmo0gqjuWY5M2npZ9NbC7WIV2/swEJpbq3/34y9UpLYDapA OD8Qs7Q+zkkrg1Dlsj4s+6s6eCuOpbQ7PvXIA= Original-Received: by 10.114.186.29 with SMTP id j29mr4042779waf.4.1259417774529; Sat, 28 Nov 2009 06:16:14 -0800 (PST) Original-Received: from ?192.168.1.100? ([210.211.241.163]) by mx.google.com with ESMTPS id 20sm1889186pxi.7.2009.11.28.06.15.59 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 28 Nov 2009 06:16:13 -0800 (PST) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20090922 Fedora/3.0-3.9.b4.fc12 Thunderbird/3.0b4 In-Reply-To: <4B110BDB.90305@swipnet.se> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Resent-Date: Sat, 28 Nov 2009 09:27:32 -0500 X-Mailman-Approved-At: Sat, 28 Nov 2009 11:09:38 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:33012 Archived-At: This is a multi-part message in MIME format. --------------000202020200000209040006 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-MIME-Autoconverted: from 8bit to base64 by rzlab.ucr.edu id nASERMR1003696 T24g4LS24LSo4LS/IDI4IOC0qOC0teC0guC0rOC0sOC1jeKAjSAyMDA5IDA1OjA5IOC0teC1 iOC0leC1gSwgSmFuIERqw6RydiB3cm90ZToNCj4gSXQgc2VlbXMgYmFja3NsYXNoIGlzIGxv c3QsIGVpdGhlciBieSBjb25maWd1cmUgb3IgYnkgdGhlIA0KPiBwcmVwcm9jZXNzb3IuICBD YW4geW91IGFsc28gc2VuZCBNYWtlZmlsZS5jIGFuZCBNYWtlZmlsZS5pbj8NCj4NCk1ha2Vm aWxlLmMgYW5kIE1ha2VmaWxlLmluIGZyb20gbGliLXNyYyBhbmQgc3JjIGRpcmVjdG9yaWVz IGF0dGFjaGVkLg0KDQpUaGFua3MNClByYXZlZW4NCg== --------------000202020200000209040006 Content-Type: text/x-csrc; name="lib-src.Makefile.c" Content-Disposition: attachment; filename="lib-src.Makefile.c" Content-Transfer-Encoding: 7bit # Makefile for lib-src subdirectory in GNU Emacs. # Copyright (C) 1985, 1987, 1988, 1993, 1994, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is part of GNU Emacs. # GNU Emacs 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. # GNU Emacs 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 GNU Emacs. If not, see . # Avoid trouble on systems where the `SHELL' variable might be # inherited from the environment. SHELL = /bin/sh # Following ../lisp/Makefile.in. EMACS = ../src/emacs EMACSOPT = -batch --no-site-file --multibyte # ==================== Things `configure' will edit ==================== CC=gcc CFLAGS=-g -O2 -Wno-pointer-sign version=23.1.50 configuration=x86_64-unknown-linux-gnu EXEEXT= # Program name transformation. TRANSFORM = s,x,x, # ==================== Where To Install Things ==================== # The default location for installation. Everything is placed in # subdirectories of this directory. The default values for many of # the variables below are expressed in terms of this one, so you may # not need to change them. This is set with the --prefix option to # `../configure'. prefix=/usr/local # Like `prefix', but used for architecture-specific files. This is # set with the --exec-prefix option to `../configure'. exec_prefix=${prefix} # Where to install Emacs and other binaries that people will want to # run directly (like etags). This is set with the --bindir option # to `../configure'. bindir=${exec_prefix}/bin # Where to install and expect executable files to be run by Emacs # rather than directly by users, and other architecture-dependent # data. ${archlibdir} is usually below this. This is set with the # --libexecdir option to `../configure'. libexecdir=${exec_prefix}/libexec # Directory for local state files for all programs. localstatedir=${prefix}/var # Where to find the source code. This is set by the configure # script's `--srcdir' option. However, the value of ${srcdir} in # this makefile is not identical to what was specified with --srcdir, # since the variable here has `/lib-src' added at the end. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir=/home/pravi/forge/emacs/emacs/lib-src VPATH=/home/pravi/forge/emacs/emacs/lib-src # The top-level source directory, also set by configure. top_srcdir=/home/pravi/forge/emacs/emacs # ==================== Emacs-specific directories ==================== # These variables hold the values Emacs will actually use. They are # based on the values of the standard Make variables above. # Where to put executables to be run by Emacs rather than the user. # This path usually includes the Emacs version and configuration name, # so that multiple configurations for multiple versions of Emacs may # be installed at once. This can be set with the --archlibdir option # to `../configure'. archlibdir=${libexecdir}/emacs/${version}/${configuration} gamedir=${localstatedir}/games/emacs gameuser=games # ==================== Utility Programs for the Build ================= # ../configure figures out the correct values for these. INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 INSTALL_SCRIPT = ${INSTALL} # By default, we uphold the dignity of our programs. INSTALL_STRIP = # ========================== Lists of Files =========================== # Things that a user might actually run, # which should be installed in bindir. INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} b2m${EXEEXT} ebrowse${EXEEXT} INSTALLABLE_SCRIPTS = rcs-checkin grep-changelog # Things that Emacs runs internally, or during the build process, # which should not be installed in bindir. UTILITIES= profile${EXEEXT} digest-doc${EXEEXT} sorted-doc${EXEEXT} movemail${EXEEXT} cvtmail${EXEEXT} fakemail${EXEEXT} \ hexl${EXEEXT} update-game-score${EXEEXT} DONT_INSTALL= test-distrib${EXEEXT} make-docfile${EXEEXT} # Like UTILITIES, but they're not system-dependent, and should not be # deleted by the distclean target. SCRIPTS= rcs2log vcdiff EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS} # Additional -D flags for movemail (add to MOVE_FLAGS if desired): # MAIL_USE_POP Support mail retrieval from a POP mailbox. # MAIL_USE_MMDF Support MMDF mailboxes. # MAIL_USE_FLOCK Use flock for file locking (see the comments # about locking in movemail.c) # MAIL_UNLINK_SPOOL Unlink the user's spool mailbox after reading # it (instead of just emptying it). # KERBEROS Support Kerberized POP. # KRB5 Support Kerberos Version 5 pop instead of # Version 4 (define this in addition to # KERBEROS). # HESIOD Support Hesiod lookups of user mailboxes. # MAILHOST A string, the host name of the default POP # mail host for the site. MOVE_FLAGS= # ========================== start of cpp stuff ======================= /* From here on, comments must be done in C syntax. */ #define THIS_IS_MAKEFILE #define NOT_C_CODE #include "../src/config.h" /* Some s/SYSTEM.h files define this to request special libraries. */ #ifndef LIBS_SYSTEM #define LIBS_SYSTEM #endif /* Some m/MACHINE.h files define this to request special libraries. */ #ifndef LIBS_MACHINE #define LIBS_MACHINE #endif #ifndef C_SWITCH_SYSTEM #define C_SWITCH_SYSTEM #endif #ifndef C_SWITCH_MACHINE #define C_SWITCH_MACHINE #endif #undef MOVEMAIL_NEEDS_BLESSING #ifndef MAIL_USE_FLOCK #ifndef MAIL_USE_LOCKF #define MOVEMAIL_NEEDS_BLESSING #endif #endif #ifdef MOVEMAIL_NEEDS_BLESSING #define BLESSMAIL blessmail #else #define BLESSMAIL #endif #ifdef KERBEROS # ifdef HAVE_LIBKRB KRB4LIB = -lkrb # else # ifdef HAVE_LIBKRB4 KRB4LIB = -lkrb4 # endif # endif # ifdef HAVE_LIBDES DESLIB = -ldes # else # ifdef HAVE_LIBDES425 DESLIB = -ldes425 # endif # endif # ifdef HAVE_LIBKRB5 KRB5LIB = -lkrb5 # endif # ifdef HAVE_LIBK5CRYPTO CRYPTOLIB = -lk5crypto # else # ifdef HAVE_LIBCRYPTO CRYPTOLIB = -lcrypto # endif # endif # ifdef HAVE_LIBCOM_ERR COM_ERRLIB = -lcom_err # endif #endif /* KERBEROS */ /* If HESIOD is defined, set this to "-lhesiod". */ #ifdef HAVE_LIBHESIOD # ifdef HAVE_LIBRESOLV HESIODLIB= -lhesiod -lresolv # else HESIODLIB= -lhesiod # endif #endif LIBS_MOVE=$(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) $(COM_ERRLIB) $(HESIODLIB) #ifdef HAVE_LIBLOCKFILE LIBS_MAIL=-llockfile #else #ifdef HAVE_LIBMAIL LIBS_MAIL=-lmail #endif #endif LOADLIBES=LIBS_SYSTEM LIBS_MACHINE /* We need to #define emacs to get the right versions of some files. Some other files - those shared with other GNU utilities - need HAVE_CONFIG_H #defined before they know they can take advantage of the information in ../src/config.h. */ ALL_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \ -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS} LINK_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \ -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS} CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \ -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS} /* This was all of CPP_CFLAGS except -Demacs. Now that -Demacs has been deleted from CPP_CFLAGS, this is actually the same as CPP_CFLAGS, but let\'s not delete it yet. */ BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \ -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS} .SUFFIXES: .m /* This is the default compilation command. But we should never rely on it, because some make version failed to find it for getopt.o. Using an explicit command made it work. */ .c.o: ${CC} -c ${CPP_CFLAGS} $< .m.o: $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< all: ${DONT_INSTALL} ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS} /* These targets copy the scripts into the build directory so that they can be run from there in an uninstalled Emacs. The "-" is prepended because some versions of cp barf when srcdir is the current directory, and thus the file will be copied into itself. */ rcs2log: $(srcdir)/rcs2log -cp -p $(srcdir)/rcs2log rcs2log rcs-checkin: $(srcdir)/rcs-checkin -cp -p $(srcdir)/rcs-checkin rcs-checkin grep-changelog: $(srcdir)/grep-changelog -cp -p $(srcdir)/grep-changelog grep-changelog vcdiff: $(srcdir)/vcdiff -cp -p $(srcdir)/vcdiff vcdiff #ifdef MOVEMAIL_NEEDS_BLESSING blessmail: $(EMACS) $(EMACSOPT) -l $(srcdir)/../lisp/mail/blessmail.el chmod +x blessmail #endif maybe-blessmail: BLESSMAIL #ifdef MOVEMAIL_NEEDS_BLESSING /* Don\'t charge ahead and do it! Let the installer decide. ./blessmail $(DESTDIR)${archlibdir}/movemail${EXEEXT} */ @if [ `wc -l when the system does not have one that works with the given compiler. */ GETOPT_H = getopt.h: getopt_.h cp $(srcdir)/getopt_.h $@-t mv $@-t $@ GETOPTOBJS = GETOPTDEPS = $(GETOPTOBJS) $(GETOPT_H) getopt.o: ${srcdir}/getopt.c $(GETOPT_H) ${srcdir}/gettext.h ${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt.c getopt1.o: ${srcdir}/getopt1.c $(GETOPT_H) ${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt1.c REGEXPOBJ = regex.o REGEXPDEPS = $(REGEXPOBJ) $(srcdir)/../src/regex.h regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h ../src/config.h ${CC} -c ${BASE_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER ${srcdir}/../src/regex.c etags${EXEEXT}: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h $(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags ebrowse${EXEEXT}: ${srcdir}/ebrowse.c $(GETOPTDEPS) ../src/config.h $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/ebrowse.c $(GETOPTOBJS) $(LOADLIBES) -o ebrowse /* We depend on etags to assure that parallel makes don\'t write two etags.o files on top of each other. */ ctags${EXEEXT}: etags${EXEEXT} $(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags profile${EXEEXT}: ${srcdir}/profile.c ../src/config.h $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile make-docfile${EXEEXT}: ${srcdir}/make-docfile.c ../src/config.h $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) -o make-docfile digest-doc${EXEEXT}: ${srcdir}/digest-doc.c $(CC) ${ALL_CFLAGS} ${srcdir}/digest-doc.c $(LOADLIBES) -o digest-doc sorted-doc${EXEEXT}: ${srcdir}/sorted-doc.c $(CC) ${ALL_CFLAGS} ${srcdir}/sorted-doc.c $(LOADLIBES) -o sorted-doc b2m${EXEEXT}: ${srcdir}/b2m.c ../src/config.h $(GETOPTDEPS) $(CC) ${ALL_CFLAGS} ${srcdir}/b2m.c -DVERSION="\"${version}\"" \ $(GETOPTOBJS) $(LOADLIBES) -o b2m movemail${EXEEXT}: movemail.o pop.o $(GETOPTDEPS) $(CC) ${LINK_CFLAGS} ${MOVE_FLAGS} movemail.o pop.o $(GETOPTOBJS) $(LOADLIBES) $(LIBS_MAIL) $(LIBS_MOVE) -o movemail movemail.o: ${srcdir}/movemail.c ../src/config.h $(GETOPT_H) $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/movemail.c pop.o: ${srcdir}/pop.c ../src/config.h $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c cvtmail${EXEEXT}: ${srcdir}/cvtmail.c $(CC) ${ALL_CFLAGS} ${srcdir}/cvtmail.c $(LOADLIBES) -o cvtmail fakemail${EXEEXT}: ${srcdir}/fakemail.c ../src/config.h $(CC) ${ALL_CFLAGS} ${srcdir}/fakemail.c $(LOADLIBES) -o fakemail emacsclient${EXEEXT}: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS) $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(GETOPTOBJS) \ -DVERSION="\"${version}\"" \ $(LOADLIBES) -o emacsclient hexl${EXEEXT}: ${srcdir}/hexl.c ../src/config.h $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl update-game-score${EXEEXT}: update-game-score.o $(GETOPTDEPS) $(CC) ${LINK_CFLAGS} ${MOVE_FLAGS} update-game-score.o $(GETOPTOBJS) $(LOADLIBES) -o update-game-score update-game-score.o: ${srcdir}/update-game-score.c ../src/config.h $(GETOPT_H) $(CC) -c ${CPP_CFLAGS} ${srcdir}/update-game-score.c \ -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" --------------000202020200000209040006 Content-Type: text/plain; name="lib-src.Makefile.in" Content-Disposition: attachment; filename="lib-src.Makefile.in" Content-Transfer-Encoding: base64 IyBNYWtlZmlsZSBmb3IgbGliLXNyYyBzdWJkaXJlY3RvcnkgaW4gR05VIEVtYWNzLgojIENv cHlyaWdodCAoQykgMTk4NSwgMTk4NywgMTk4OCwgMTk5MywgMTk5NCwgMjAwMSwgMjAwMiwg MjAwMywgMjAwNCwKIyAgICAgICAgICAgICAgIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIw MDkgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgRW1hY3MuCgojIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgojIEdOVSBF bWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCBHTlUgRW1hY3Mu ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCgoKIyBBdm9p ZCB0cm91YmxlIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGBTSEVMTCcgdmFyaWFibGUgbWlnaHQg YmUKIyBpbmhlcml0ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQuClNIRUxMID0gL2Jpbi9zaAoK IyBGb2xsb3dpbmcgLi4vbGlzcC9NYWtlZmlsZS5pbi4KRU1BQ1MgPSAuLi9zcmMvZW1hY3MK RU1BQ1NPUFQgPSAtYmF0Y2ggLS1uby1zaXRlLWZpbGUgLS1tdWx0aWJ5dGUKCiMgPT09PT09 PT09PT09PT09PT09PT0gVGhpbmdzIGBjb25maWd1cmUnIHdpbGwgZWRpdCA9PT09PT09PT09 PT09PT09PT09PQoKQ0M9QENDQApDRkxBR1M9QENGTEFHU0AKdmVyc2lvbj1AdmVyc2lvbkAK Y29uZmlndXJhdGlvbj1AY29uZmlndXJhdGlvbkAKRVhFRVhUPUBFWEVFWFRACgojIFByb2dy YW0gbmFtZSB0cmFuc2Zvcm1hdGlvbi4KVFJBTlNGT1JNID0gQHByb2dyYW1fdHJhbnNmb3Jt X25hbWVACgojID09PT09PT09PT09PT09PT09PT09IFdoZXJlIFRvIEluc3RhbGwgVGhpbmdz ID09PT09PT09PT09PT09PT09PT09CgojIFRoZSBkZWZhdWx0IGxvY2F0aW9uIGZvciBpbnN0 YWxsYXRpb24uICBFdmVyeXRoaW5nIGlzIHBsYWNlZCBpbgojIHN1YmRpcmVjdG9yaWVzIG9m IHRoaXMgZGlyZWN0b3J5LiAgVGhlIGRlZmF1bHQgdmFsdWVzIGZvciBtYW55IG9mCiMgdGhl IHZhcmlhYmxlcyBiZWxvdyBhcmUgZXhwcmVzc2VkIGluIHRlcm1zIG9mIHRoaXMgb25lLCBz byB5b3UgbWF5CiMgbm90IG5lZWQgdG8gY2hhbmdlIHRoZW0uICBUaGlzIGlzIHNldCB3aXRo IHRoZSAtLXByZWZpeCBvcHRpb24gdG8KIyBgLi4vY29uZmlndXJlJy4KcHJlZml4PUBwcmVm aXhACgojIExpa2UgYHByZWZpeCcsIGJ1dCB1c2VkIGZvciBhcmNoaXRlY3R1cmUtc3BlY2lm aWMgZmlsZXMuICBUaGlzIGlzCiMgc2V0IHdpdGggdGhlIC0tZXhlYy1wcmVmaXggb3B0aW9u IHRvIGAuLi9jb25maWd1cmUnLgpleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACgojIFdoZXJl IHRvIGluc3RhbGwgRW1hY3MgYW5kIG90aGVyIGJpbmFyaWVzIHRoYXQgcGVvcGxlIHdpbGwg d2FudCB0bwojIHJ1biBkaXJlY3RseSAobGlrZSBldGFncykuICBUaGlzIGlzIHNldCB3aXRo IHRoZSAtLWJpbmRpciBvcHRpb24KIyB0byBgLi4vY29uZmlndXJlJy4KYmluZGlyPUBiaW5k aXJACgojIFdoZXJlIHRvIGluc3RhbGwgYW5kIGV4cGVjdCBleGVjdXRhYmxlIGZpbGVzIHRv IGJlIHJ1biBieSBFbWFjcwojIHJhdGhlciB0aGFuIGRpcmVjdGx5IGJ5IHVzZXJzLCBhbmQg b3RoZXIgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudAojIGRhdGEuICAke2FyY2hsaWJkaXJ9IGlz IHVzdWFsbHkgYmVsb3cgdGhpcy4gIFRoaXMgaXMgc2V0IHdpdGggdGhlCiMgLS1saWJleGVj ZGlyIG9wdGlvbiB0byBgLi4vY29uZmlndXJlJy4KbGliZXhlY2Rpcj1AbGliZXhlY2RpckAK CiMgRGlyZWN0b3J5IGZvciBsb2NhbCBzdGF0ZSBmaWxlcyBmb3IgYWxsIHByb2dyYW1zLgps b2NhbHN0YXRlZGlyPUBsb2NhbHN0YXRlZGlyQAoKIyBXaGVyZSB0byBmaW5kIHRoZSBzb3Vy Y2UgY29kZS4gIFRoaXMgaXMgc2V0IGJ5IHRoZSBjb25maWd1cmUKIyBzY3JpcHQncyBgLS1z cmNkaXInIG9wdGlvbi4gIEhvd2V2ZXIsIHRoZSB2YWx1ZSBvZiAke3NyY2Rpcn0gaW4KIyB0 aGlzIG1ha2VmaWxlIGlzIG5vdCBpZGVudGljYWwgdG8gd2hhdCB3YXMgc3BlY2lmaWVkIHdp dGggLS1zcmNkaXIsCiMgc2luY2UgdGhlIHZhcmlhYmxlIGhlcmUgaGFzIGAvbGliLXNyYycg YWRkZWQgYXQgdGhlIGVuZC4KCiMgV2UgdXNlICQoc3JjZGlyKSBleHBsaWNpdGx5IGluIGRl cGVuZGVuY2llcyBzbyBhcyBub3QgdG8gZGVwZW5kIG9uIFZQQVRILgpzcmNkaXI9QHNyY2Rp ckAKVlBBVEg9QHNyY2RpckAKCiMgVGhlIHRvcC1sZXZlbCBzb3VyY2UgZGlyZWN0b3J5LCBh bHNvIHNldCBieSBjb25maWd1cmUuCnRvcF9zcmNkaXI9QHRvcF9zcmNkaXJACgojID09PT09 PT09PT09PT09PT09PT09IEVtYWNzLXNwZWNpZmljIGRpcmVjdG9yaWVzID09PT09PT09PT09 PT09PT09PT09CgojIFRoZXNlIHZhcmlhYmxlcyBob2xkIHRoZSB2YWx1ZXMgRW1hY3Mgd2ls bCBhY3R1YWxseSB1c2UuICBUaGV5IGFyZQojIGJhc2VkIG9uIHRoZSB2YWx1ZXMgb2YgdGhl IHN0YW5kYXJkIE1ha2UgdmFyaWFibGVzIGFib3ZlLgoKIyBXaGVyZSB0byBwdXQgZXhlY3V0 YWJsZXMgdG8gYmUgcnVuIGJ5IEVtYWNzIHJhdGhlciB0aGFuIHRoZSB1c2VyLgojIFRoaXMg cGF0aCB1c3VhbGx5IGluY2x1ZGVzIHRoZSBFbWFjcyB2ZXJzaW9uIGFuZCBjb25maWd1cmF0 aW9uIG5hbWUsCiMgc28gdGhhdCBtdWx0aXBsZSBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGlw bGUgdmVyc2lvbnMgb2YgRW1hY3MgbWF5CiMgYmUgaW5zdGFsbGVkIGF0IG9uY2UuICBUaGlz IGNhbiBiZSBzZXQgd2l0aCB0aGUgLS1hcmNobGliZGlyIG9wdGlvbgojIHRvIGAuLi9jb25m aWd1cmUnLgphcmNobGliZGlyPUBhcmNobGliZGlyQAoKZ2FtZWRpcj1AZ2FtZWRpckAKZ2Ft ZXVzZXI9QGdhbWV1c2VyQAoKIyA9PT09PT09PT09PT09PT09PT09PSBVdGlsaXR5IFByb2dy YW1zIGZvciB0aGUgQnVpbGQgPT09PT09PT09PT09PT09PT0KCiMgLi4vY29uZmlndXJlIGZp Z3VyZXMgb3V0IHRoZSBjb3JyZWN0IHZhbHVlcyBmb3IgdGhlc2UuCklOU1RBTEwgPSBASU5T VEFMTEAKSU5TVEFMTF9QUk9HUkFNID0gQElOU1RBTExfUFJPR1JBTUAKSU5TVEFMTF9EQVRB ID0gQElOU1RBTExfREFUQUAKSU5TVEFMTF9TQ1JJUFQgPSBASU5TVEFMTF9TQ1JJUFRACiMg QnkgZGVmYXVsdCwgd2UgdXBob2xkIHRoZSBkaWduaXR5IG9mIG91ciBwcm9ncmFtcy4KSU5T VEFMTF9TVFJJUCA9CgojID09PT09PT09PT09PT09PT09PT09PT09PT09IExpc3RzIG9mIEZp bGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PQoKIyBUaGluZ3MgdGhhdCBhIHVzZXIg bWlnaHQgYWN0dWFsbHkgcnVuLAojIHdoaWNoIHNob3VsZCBiZSBpbnN0YWxsZWQgaW4gYmlu ZGlyLgpJTlNUQUxMQUJMRVMgPSBldGFncyR7RVhFRVhUfSBjdGFncyR7RVhFRVhUfSBlbWFj c2NsaWVudCR7RVhFRVhUfSBiMm0ke0VYRUVYVH0gZWJyb3dzZSR7RVhFRVhUfSBATElCX1NS Q19FWFRSQV9JTlNUQUxMQUJMRVNACklOU1RBTExBQkxFX1NDUklQVFMgPSByY3MtY2hlY2tp biBncmVwLWNoYW5nZWxvZwoKIyBUaGluZ3MgdGhhdCBFbWFjcyBydW5zIGludGVybmFsbHks IG9yIGR1cmluZyB0aGUgYnVpbGQgcHJvY2VzcywKIyAgd2hpY2ggc2hvdWxkIG5vdCBiZSBp bnN0YWxsZWQgaW4gYmluZGlyLgpVVElMSVRJRVM9ICBwcm9maWxlJHtFWEVFWFR9IGRpZ2Vz dC1kb2Mke0VYRUVYVH0gc29ydGVkLWRvYyR7RVhFRVhUfSBtb3ZlbWFpbCR7RVhFRVhUfSBj dnRtYWlsJHtFWEVFWFR9IGZha2VtYWlsJHtFWEVFWFR9IFwKICAgICAgICAgICAgaGV4bCR7 RVhFRVhUfSB1cGRhdGUtZ2FtZS1zY29yZSR7RVhFRVhUfQoKRE9OVF9JTlNUQUxMPSB0ZXN0 LWRpc3RyaWIke0VYRUVYVH0gbWFrZS1kb2NmaWxlJHtFWEVFWFR9CgojIExpa2UgVVRJTElU SUVTLCBidXQgdGhleSdyZSBub3Qgc3lzdGVtLWRlcGVuZGVudCwgYW5kIHNob3VsZCBub3Qg YmUKIyAgZGVsZXRlZCBieSB0aGUgZGlzdGNsZWFuIHRhcmdldC4KU0NSSVBUUz0gcmNzMmxv ZyB2Y2RpZmYKCkVYRUNVVEFCTEVTPSAke1VUSUxJVElFU30gJHtJTlNUQUxMQUJMRVN9ICR7 U0NSSVBUU30gJHtJTlNUQUxMQUJMRV9TQ1JJUFRTfQoKIyBBZGRpdGlvbmFsIC1EIGZsYWdz IGZvciBtb3ZlbWFpbCAoYWRkIHRvIE1PVkVfRkxBR1MgaWYgZGVzaXJlZCk6CiMgTUFJTF9V U0VfUE9QCQlTdXBwb3J0IG1haWwgcmV0cmlldmFsIGZyb20gYSBQT1AgbWFpbGJveC4KIyBN QUlMX1VTRV9NTURGCQlTdXBwb3J0IE1NREYgbWFpbGJveGVzLgojIE1BSUxfVVNFX0ZMT0NL CVVzZSBmbG9jayBmb3IgZmlsZSBsb2NraW5nIChzZWUgdGhlIGNvbW1lbnRzCiMJCQlhYm91 dCBsb2NraW5nIGluIG1vdmVtYWlsLmMpCiMgTUFJTF9VTkxJTktfU1BPT0wJVW5saW5rIHRo ZSB1c2VyJ3Mgc3Bvb2wgbWFpbGJveCBhZnRlciByZWFkaW5nCiMJCQlpdCAoaW5zdGVhZCBv ZiBqdXN0IGVtcHR5aW5nIGl0KS4KIyBLRVJCRVJPUwkJU3VwcG9ydCBLZXJiZXJpemVkIFBP UC4KIyBLUkI1CQkJU3VwcG9ydCBLZXJiZXJvcyBWZXJzaW9uIDUgcG9wIGluc3RlYWQgb2YK IwkJCVZlcnNpb24gNCAoZGVmaW5lIHRoaXMgaW4gYWRkaXRpb24gdG8KIwkJCUtFUkJFUk9T KS4KIyBIRVNJT0QJCVN1cHBvcnQgSGVzaW9kIGxvb2t1cHMgb2YgdXNlciBtYWlsYm94ZXMu CiMgTUFJTEhPU1QJCUEgc3RyaW5nLCB0aGUgaG9zdCBuYW1lIG9mIHRoZSBkZWZhdWx0IFBP UAojCQkJbWFpbCBob3N0IGZvciB0aGUgc2l0ZS4KTU9WRV9GTEFHUz0KCiMgPT09PT09PT09 PT09PT09PT09PT09PT09PT0gc3RhcnQgb2YgY3BwIHN0dWZmID09PT09PT09PT09PT09PT09 PT09PT09Ci8qIEZyb20gaGVyZSBvbiwgY29tbWVudHMgbXVzdCBiZSBkb25lIGluIEMgc3lu dGF4LiAgKi8KCiNkZWZpbmUgVEhJU19JU19NQUtFRklMRQojZGVmaW5lIE5PVF9DX0NPREUK I2luY2x1ZGUgIi4uL3NyYy9jb25maWcuaCIKCi8qIFNvbWUgcy9TWVNURU0uaCBmaWxlcyBk ZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgbGlicmFyaWVzLiAgKi8KI2lmbmRlZiBM SUJTX1NZU1RFTQojZGVmaW5lIExJQlNfU1lTVEVNCiNlbmRpZgoKLyogU29tZSBtL01BQ0hJ TkUuaCBmaWxlcyBkZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgbGlicmFyaWVzLiAg Ki8KI2lmbmRlZiBMSUJTX01BQ0hJTkUKI2RlZmluZSBMSUJTX01BQ0hJTkUKI2VuZGlmCgoj aWZuZGVmIENfU1dJVENIX1NZU1RFTQojZGVmaW5lIENfU1dJVENIX1NZU1RFTQojZW5kaWYK CiNpZm5kZWYgQ19TV0lUQ0hfTUFDSElORQojZGVmaW5lIENfU1dJVENIX01BQ0hJTkUKI2Vu ZGlmCgojdW5kZWYgTU9WRU1BSUxfTkVFRFNfQkxFU1NJTkcKI2lmbmRlZiBNQUlMX1VTRV9G TE9DSwojaWZuZGVmIE1BSUxfVVNFX0xPQ0tGCiNkZWZpbmUgTU9WRU1BSUxfTkVFRFNfQkxF U1NJTkcKI2VuZGlmCiNlbmRpZgoKI2lmZGVmIE1PVkVNQUlMX05FRURTX0JMRVNTSU5HCiNk ZWZpbmUgQkxFU1NNQUlMIGJsZXNzbWFpbAojZWxzZQojZGVmaW5lIEJMRVNTTUFJTAojZW5k aWYKCiNpZmRlZiBLRVJCRVJPUwojIGlmZGVmIEhBVkVfTElCS1JCCiAgICBLUkI0TElCID0g LWxrcmIKIyBlbHNlCiMgIGlmZGVmIEhBVkVfTElCS1JCNAogICAgIEtSQjRMSUIgPSAtbGty YjQKIyAgZW5kaWYKIyBlbmRpZgojIGlmZGVmIEhBVkVfTElCREVTCiAgICBERVNMSUIgPSAt bGRlcwojIGVsc2UKIyAgaWZkZWYgSEFWRV9MSUJERVM0MjUKICAgIERFU0xJQiA9IC1sZGVz NDI1CiMgIGVuZGlmCiMgZW5kaWYKIyBpZmRlZiBIQVZFX0xJQktSQjUKICAgIEtSQjVMSUIg PSAtbGtyYjUKIyBlbmRpZgojIGlmZGVmIEhBVkVfTElCSzVDUllQVE8KICAgIENSWVBUT0xJ QiA9IC1sazVjcnlwdG8KIyBlbHNlCiMgIGlmZGVmIEhBVkVfTElCQ1JZUFRPCiAgICBDUllQ VE9MSUIgPSAtbGNyeXB0bwojICBlbmRpZgojIGVuZGlmCiMgaWZkZWYgSEFWRV9MSUJDT01f RVJSCiAgICBDT01fRVJSTElCID0gLWxjb21fZXJyCiMgZW5kaWYKI2VuZGlmIC8qIEtFUkJF Uk9TICovCgovKiBJZiBIRVNJT0QgaXMgZGVmaW5lZCwgc2V0IHRoaXMgdG8gIi1saGVzaW9k Ii4gKi8KI2lmZGVmIEhBVkVfTElCSEVTSU9ECiMgaWZkZWYgSEFWRV9MSUJSRVNPTFYKICAg IEhFU0lPRExJQj0gLWxoZXNpb2QgLWxyZXNvbHYKIyBlbHNlCiAgICBIRVNJT0RMSUI9IC1s aGVzaW9kCiMgZW5kaWYKI2VuZGlmCgpMSUJTX01PVkU9JChLUkI0TElCKSAkKERFU0xJQikg JChLUkI1TElCKSAkKENSWVBUT0xJQikgJChDT01fRVJSTElCKSAkKEhFU0lPRExJQikKCiNp ZmRlZiBIQVZFX0xJQkxPQ0tGSUxFCkxJQlNfTUFJTD0tbGxvY2tmaWxlCiNlbHNlCiNpZmRl ZiBIQVZFX0xJQk1BSUwKTElCU19NQUlMPS1sbWFpbAojZW5kaWYKI2VuZGlmCgpMT0FETElC RVM9TElCU19TWVNURU0gTElCU19NQUNISU5FCgovKiBXZSBuZWVkIHRvICNkZWZpbmUgZW1h Y3MgdG8gZ2V0IHRoZSByaWdodCB2ZXJzaW9ucyBvZiBzb21lIGZpbGVzLgogICBTb21lIG90 aGVyIGZpbGVzIC0gdGhvc2Ugc2hhcmVkIHdpdGggb3RoZXIgR05VIHV0aWxpdGllcyAtIG5l ZWQKICAgSEFWRV9DT05GSUdfSCAjZGVmaW5lZCBiZWZvcmUgdGhleSBrbm93IHRoZXkgY2Fu IHRha2UgYWR2YW50YWdlIG9mCiAgIHRoZSBpbmZvcm1hdGlvbiBpbiAuLi9zcmMvY29uZmln LmguICAqLwpBTExfQ0ZMQUdTID0gQ19TV0lUQ0hfU1lTVEVNIENfU1dJVENIX01BQ0hJTkUg LURIQVZFX0NPTkZJR19IIFwKICAgLUkuIC1JLi4vc3JjIC1JJHtzcmNkaXJ9IC1JJHtzcmNk aXJ9Ly4uL3NyYyAke0xERkxBR1N9ICR7Q1BQRkxBR1N9ICR7Q0ZMQUdTfQpMSU5LX0NGTEFH UyA9IENfU1dJVENIX1NZU1RFTSBDX1NXSVRDSF9NQUNISU5FIC1ESEFWRV9DT05GSUdfSCBc CiAgIC1JLiAtSS4uL3NyYyAtSSR7c3JjZGlyfSAtSSR7c3JjZGlyfS8uLi9zcmMgJHtMREZM QUdTfSAke0NGTEFHU30KQ1BQX0NGTEFHUyA9IENfU1dJVENIX1NZU1RFTSBDX1NXSVRDSF9N QUNISU5FIC1ESEFWRV9DT05GSUdfSCBcCiAgIC1JLiAtSS4uL3NyYyAtSSR7c3JjZGlyfSAt SSR7c3JjZGlyfS8uLi9zcmMgJHtDUFBGTEFHU30gJHtDRkxBR1N9Ci8qIFRoaXMgd2FzIGFs bCBvZiBDUFBfQ0ZMQUdTIGV4Y2VwdCAtRGVtYWNzLgogICBOb3cgdGhhdCAtRGVtYWNzIGhh cyBiZWVuIGRlbGV0ZWQgZnJvbSBDUFBfQ0ZMQUdTLAogICB0aGlzIGlzIGFjdHVhbGx5IHRo ZSBzYW1lIGFzIENQUF9DRkxBR1MsIGJ1dCBsZXRcJ3Mgbm90IGRlbGV0ZSBpdCB5ZXQuICAq LwpCQVNFX0NGTEFHUyA9IENfU1dJVENIX1NZU1RFTSBDX1NXSVRDSF9NQUNISU5FIC1ESEFW RV9DT05GSUdfSCBcCiAgIC1JLiAtSS4uL3NyYyAtSSR7c3JjZGlyfSAtSSR7c3JjZGlyfS8u Li9zcmMgJHtDUFBGTEFHU30gJHtDRkxBR1N9CgwKLlNVRkZJWEVTOiAubQoKLyogVGhpcyBp cyB0aGUgZGVmYXVsdCBjb21waWxhdGlvbiBjb21tYW5kLgogICBCdXQgd2Ugc2hvdWxkIG5l dmVyIHJlbHkgb24gaXQsIGJlY2F1c2Ugc29tZSBtYWtlIHZlcnNpb24KICAgZmFpbGVkIHRv IGZpbmQgaXQgZm9yIGdldG9wdC5vLgogICBVc2luZyBhbiBleHBsaWNpdCBjb21tYW5kIG1h ZGUgaXQgd29yay4gICovCi5jLm86Cgkke0NDfSAtYyAke0NQUF9DRkxBR1N9ICQ8CgoubS5v OgoJJChDQykgLWMgJChDUFBGTEFHUykgJChBTExfQ0ZMQUdTKSAkPAoKYWxsOiAke0RPTlRf SU5TVEFMTH0gJHtVVElMSVRJRVN9ICR7SU5TVEFMTEFCTEVTfSAke1NDUklQVFN9ICR7SU5T VEFMTEFCTEVfU0NSSVBUU30KCi8qIFRoZXNlIHRhcmdldHMgY29weSB0aGUgc2NyaXB0cyBp bnRvIHRoZSBidWlsZCBkaXJlY3RvcnkKc28gdGhhdCB0aGV5IGNhbiBiZSBydW4gZnJvbSB0 aGVyZSBpbiBhbiB1bmluc3RhbGxlZCBFbWFjcy4KVGhlICItIiBpcyBwcmVwZW5kZWQgYmVj YXVzZSBzb21lIHZlcnNpb25zIG9mIGNwIGJhcmYgd2hlbgpzcmNkaXIgaXMgdGhlIGN1cnJl bnQgZGlyZWN0b3J5LCBhbmQgdGh1cyB0aGUgZmlsZSB3aWxsIGJlCmNvcGllZCBpbnRvIGl0 c2VsZi4gICovCnJjczJsb2c6ICQoc3JjZGlyKS9yY3MybG9nCgktY3AgLXAgJChzcmNkaXIp L3JjczJsb2cgcmNzMmxvZwoKcmNzLWNoZWNraW46ICQoc3JjZGlyKS9yY3MtY2hlY2tpbgoJ LWNwIC1wICQoc3JjZGlyKS9yY3MtY2hlY2tpbiByY3MtY2hlY2tpbgoKZ3JlcC1jaGFuZ2Vs b2c6ICQoc3JjZGlyKS9ncmVwLWNoYW5nZWxvZwoJLWNwIC1wICQoc3JjZGlyKS9ncmVwLWNo YW5nZWxvZyBncmVwLWNoYW5nZWxvZwoKdmNkaWZmOiAkKHNyY2RpcikvdmNkaWZmCgktY3Ag LXAgJChzcmNkaXIpL3ZjZGlmZiB2Y2RpZmYKCiNpZmRlZiBNT1ZFTUFJTF9ORUVEU19CTEVT U0lORwpibGVzc21haWw6CgkkKEVNQUNTKSAkKEVNQUNTT1BUKSAtbCAkKHNyY2RpcikvLi4v bGlzcC9tYWlsL2JsZXNzbWFpbC5lbAoJY2htb2QgK3ggYmxlc3NtYWlsCiNlbmRpZgoKbWF5 YmUtYmxlc3NtYWlsOiBCTEVTU01BSUwKI2lmZGVmIE1PVkVNQUlMX05FRURTX0JMRVNTSU5H Ci8qIERvblwndCBjaGFyZ2UgYWhlYWQgYW5kIGRvIGl0ISAgTGV0IHRoZSBpbnN0YWxsZXIg ZGVjaWRlLgoJICAuL2JsZXNzbWFpbCAkKERFU1RESVIpJHthcmNobGliZGlyfS9tb3ZlbWFp bCR7RVhFRVhUfSAgKi8KCUBpZiBbIGB3YyAtbCA8Ymxlc3NtYWlsYCAhPSAyIF0gOyB0aGVu IFwKCSAgZGlyPWBzZWQgLW4gLWUgJ3MvZWNobyBtYWlsIGRpcmVjdG9yeSA9IFwoLipcKS9c MS9wJyBibGVzc21haWxgOyBcCgkgIGVjaG8gQXNzdW1pbmcgJCRkaXIgaXMgcmVhbGx5IHRo ZSBtYWlsIHNwb29sIGRpcmVjdG9yeSwgeW91IHNob3VsZDsgXAoJICBlY2hvIHJ1biAgbGli LXNyYy9ibGVzc21haWwgJChERVNURElSKSR7YXJjaGxpYmRpcn0vbW92ZW1haWwke0VYRUVY VH07IFwKCSAgZWNobyBhcyByb290LCB0byBnaXZlICBtb3ZlbWFpbCR7RVhFRVhUfSAgYXBw cm9wcmlhdGUgcGVybWlzc2lvbnMuOyBcCgkgIGVjaG8gRG8gdGhhdCBhZnRlciBydW5uaW5n ICBtYWtlIGluc3RhbGwuOyBcCglmaQojZW5kaWYKCi8qIEluc3RhbGwgdGhlIGludGVybmFs IHV0aWxpdGllcy4gIFVudGlsIHRoZXkgYXJlIGluc3RhbGxlZCwgd2UgY2FuCiAgIGp1c3Qg cnVuIHRoZW0gZGlyZWN0bHkgZnJvbSBsaWItc3JjLiAgKi8KJChERVNURElSKSR7YXJjaGxp YmRpcn06IGFsbAoJQGVjaG8KCUBlY2hvICJJbnN0YWxsaW5nIHV0aWxpdGllcyBydW4gaW50 ZXJuYWxseSBieSBFbWFjcy4iCgkkKHRvcF9zcmNkaXIpL21raW5zdGFsbGRpcnMgJChERVNU RElSKSR7YXJjaGxpYmRpcn0KCWlmIFsgYChjZCAkKERFU1RESVIpJHthcmNobGliZGlyfSAm JiAvYmluL3B3ZClgICE9IGAvYmluL3B3ZGAgXTsgdGhlbiBcCgkgIGZvciBmaWxlIGluICR7 VVRJTElUSUVTfTsgZG8gXAoJICAgICQoSU5TVEFMTF9QUk9HUkFNKSAkKElOU1RBTExfU1RS SVApICQkZmlsZSAkKERFU1RESVIpJHthcmNobGliZGlyfS8kJGZpbGUgOyBcCgkgIGRvbmUg OyBcCiAgICAgICAgZmkKCSQodG9wX3NyY2RpcikvbWtpbnN0YWxsZGlycyAkKERFU1RESVIp JHtnYW1lZGlyfQoJdG91Y2ggJChERVNURElSKSR7Z2FtZWRpcn0vc25ha2Utc2NvcmVzCgl0 b3VjaCAkKERFU1RESVIpJHtnYW1lZGlyfS90ZXRyaXMtc2NvcmVzCi8qIElmIHRoZSBmb2xs b3dpbmcgY29tbWFuZHMgZmFpbCwgdGhhdCBpcyBub3QgYSBiaWcgZGVhbC4KICAgdXBkYXRl LWdhbWUtc2NvcmUgd2lsbCBkZXRlY3QgYXQgcnVudGltZSB0aGF0IGl0IGlzIG5vdCBzZXR1 aWQsCiAgIGFuZCBoYW5kbGUgdGhpbmdzIGFjY29yZGluZ2x5LiAqLwoJLWlmIGNob3duICR7 Z2FtZXVzZXJ9ICQoREVTVERJUikke2FyY2hsaWJkaXJ9L3VwZGF0ZS1nYW1lLXNjb3JlICYm IGNobW9kIHUrcyAkKERFU1RESVIpJHthcmNobGliZGlyfS91cGRhdGUtZ2FtZS1zY29yZTsg dGhlbiBcCgkgIGNob3duICR7Z2FtZXVzZXJ9ICQoREVTVERJUikke2dhbWVkaXJ9OyBcCgkg IGNobW9kIHU9cnd4LGc9cnd4LG89cnggJChERVNURElSKSR7Z2FtZWRpcn07IFwKCWZpCiAg ICAgICAgaWYgWyBgKGNkICQoREVTVERJUikke2FyY2hsaWJkaXJ9ICYmIC9iaW4vcHdkKWAg XAogICAgICAgICAgICAgIT0gYChjZCAke3NyY2Rpcn0gJiYgL2Jpbi9wd2QpYCBdOyB0aGVu IFwKCSAgZm9yIGZpbGUgaW4gJHtTQ1JJUFRTfTsgZG8gXAoJICAgICQoSU5TVEFMTF9TQ1JJ UFQpICR7c3JjZGlyfS8kJGZpbGUgJChERVNURElSKSR7YXJjaGxpYmRpcn0vJCRmaWxlOyBc CgkgIGRvbmUgOyBcCglmaQoKaW5zdGFsbDogJChERVNURElSKSR7YXJjaGxpYmRpcn0KCUBl Y2hvCglAZWNobyAiSW5zdGFsbGluZyB1dGlsaXRpZXMgZm9yIHVzZXJzIHRvIHJ1bi4iCglm b3IgZmlsZSBpbiAke0lOU1RBTExBQkxFU30gOyBkbyBcCgkgICQoSU5TVEFMTF9QUk9HUkFN KSAkKElOU1RBTExfU1RSSVApICQke2ZpbGV9ICQoREVTVERJUikke2JpbmRpcn0vYGVjaG8g JCR7ZmlsZX0gfCBzZWQgJyQoVFJBTlNGT1JNKSdgIDsgXAoJICBjaG1vZCBhK3J4ICQoREVT VERJUikke2JpbmRpcn0vYGVjaG8gJCR7ZmlsZX0gfCBzZWQgJyQoVFJBTlNGT1JNKSdgOyBc Cglkb25lCglmb3IgZmlsZSBpbiAke0lOU1RBTExBQkxFX1NDUklQVFN9IDsgZG8gXAoJICAk KElOU1RBTExfU0NSSVBUKSAke3NyY2Rpcn0vJCR7ZmlsZX0gJChERVNURElSKSR7YmluZGly fS9gZWNobyAkJHtmaWxlfSB8IHNlZCAnJChUUkFOU0ZPUk0pJ2AgIDsgXAoJICBjaG1vZCBh K3J4ICQoREVTVERJUikke2JpbmRpcn0vYGVjaG8gJCR7ZmlsZX0gfCBzZWQgJyQoVFJBTlNG T1JNKSdgOyBcCglkb25lCgp1bmluc3RhbGw6CgkoY2QgJChERVNURElSKSR7YmluZGlyfTsg XAoJZm9yIGZpbGUgaW4gJHtJTlNUQUxMQUJMRVN9ICR7SU5TVEFMTEFCTEVfU0NSSVBUU307 IGRvIFwKCSAgcm0gLWYgJChERVNURElSKSR7YmluZGlyfS9gZWNobyAkJHtmaWxlfSB8IHNl ZCAnJChUUkFOU0ZPUk0pJ2AgOyBcCglkb25lKQoJKGNkICQoREVTVERJUikke2FyY2hsaWJk aXJ9OyBcCgkgcm0gLWYgJHtVVElMSVRJRVN9ICR7SU5TVEFMTEFCTEVTfSAke1NDUklQVFN9 ICR7SU5TVEFMTEFCTEVfU0NSSVBUU30pCgptb3N0bHljbGVhbjoKCS1ybSAtZiBjb3JlICou byBnZXRvcHQuaCBnZXRvcHQuaC10CgpjbGVhbjogbW9zdGx5Y2xlYW4KCS1ybSAtZiAke0lO U1RBTExBQkxFU30gJHtVVElMSVRJRVN9ICR7RE9OVF9JTlNUQUxMfQoJLXJtIC1mIGZucyou ZWwgKi50YWIuYyAqLnRhYi5oCgpkaXN0Y2xlYW46IGNsZWFuCgktcm0gLWYgVEFHUwoJLXJt IC1mIE1ha2VmaWxlIE1ha2VmaWxlLmMgYmxlc3NtYWlsCgptYWludGFpbmVyLWNsZWFuOiBk aXN0Y2xlYW4KCXRydWUKCmV4dHJhY2xlYW46IG1haW50YWluZXItY2xlYW4KCS1ybSAtZiAq fiBcIyoKCi8qIFRlc3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBkaXJlY3RvcnkuICAqLwpjaGVj azoKCUBlY2hvICJXZSBkb24ndCBoYXZlIGFueSB0ZXN0cyBmb3IgR05VIEVtYWNzIHlldC4i Cgp0YWdzOiBUQUdTClRBR1M6IGV0YWdzJHtFWEVFWFR9CglldGFncyAqLltjaF0KCi8qIFRo aXMgdmVyaWZpZXMgdGhhdCB0aGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgaW4gdGhlIGZpbGUg XGB0ZXN0ZmlsZVwnCiAgIGhhdmUgbm90IGJlZW4gY2xvYmJlcmVkIGJ5IHdoYXRldmVyIG1l YW5zIHdlcmUgdXNlZCB0byBjb3B5IGFuZAogICBkaXN0cmlidXRlIEVtYWNzLiAgSWYgdGhl eSB3ZXJlIGNsb2JiZXJlZCwgYWxsIHRoZSAuZWxjIGZpbGVzIHdlcmUKICAgY2xvYmJlcmVk IHRvby4gICovCnRlc3QtZGlzdHJpYiR7RVhFRVhUfTogJHtzcmNkaXJ9L3Rlc3QtZGlzdHJp Yi5jCgkkKENDKSAke0FMTF9DRkxBR1N9IC1vIHRlc3QtZGlzdHJpYiAke3NyY2Rpcn0vdGVz dC1kaXN0cmliLmMKCS4vdGVzdC1kaXN0cmliICR7c3JjZGlyfS90ZXN0ZmlsZQoKLyogV2Ug bmVlZCB0aGUgZm9sbG93aW5nIGluIG9yZGVyIHRvIGNyZWF0ZSBhIDxnZXRvcHQuaD4gd2hl biB0aGUgc3lzdGVtCiAgIGRvZXMgbm90IGhhdmUgb25lIHRoYXQgd29ya3Mgd2l0aCB0aGUg Z2l2ZW4gY29tcGlsZXIuICAqLwpHRVRPUFRfSCA9IEBHRVRPUFRfSEAKZ2V0b3B0Lmg6IGdl dG9wdF8uaAoJY3AgJChzcmNkaXIpL2dldG9wdF8uaCAkQC10CgltdiAkQC10ICRACgpHRVRP UFRPQkpTID0gQEdFVE9QVE9CSlNACkdFVE9QVERFUFMgPSAkKEdFVE9QVE9CSlMpICQoR0VU T1BUX0gpCmdldG9wdC5vOiAke3NyY2Rpcn0vZ2V0b3B0LmMgJChHRVRPUFRfSCkgJHtzcmNk aXJ9L2dldHRleHQuaAoJJHtDQ30gLWMgJHtDUFBfQ0ZMQUdTfSAke3NyY2Rpcn0vZ2V0b3B0 LmMKZ2V0b3B0MS5vOiAke3NyY2Rpcn0vZ2V0b3B0MS5jICQoR0VUT1BUX0gpCgkke0NDfSAt YyAke0NQUF9DRkxBR1N9ICR7c3JjZGlyfS9nZXRvcHQxLmMKClJFR0VYUE9CSiA9IHJlZ2V4 Lm8KUkVHRVhQREVQUyA9ICQoUkVHRVhQT0JKKSAkKHNyY2RpcikvLi4vc3JjL3JlZ2V4LmgK CnJlZ2V4Lm86ICQoc3JjZGlyKS8uLi9zcmMvcmVnZXguYyAkKHNyY2RpcikvLi4vc3JjL3Jl Z2V4LmggLi4vc3JjL2NvbmZpZy5oCgkke0NDfSAtYyAke0JBU0VfQ0ZMQUdTfSAtRENPTkZJ R19CUk9LRVRTIC1ESU5ISUJJVF9TVFJJTkdfSEVBREVSICR7c3JjZGlyfS8uLi9zcmMvcmVn ZXguYwoKZXRhZ3Mke0VYRUVYVH06ICR7c3JjZGlyfS9ldGFncy5jICQoR0VUT1BUREVQUykg JChSRUdFWFBERVBTKSAuLi9zcmMvY29uZmlnLmgKCSQoQ0MpICR7QUxMX0NGTEFHU30gLURF TUFDU19OQU1FPSJcIkdOVSBFbWFjc1wiIiAtRFZFUlNJT049IlwiJHt2ZXJzaW9ufVwiIiAk e3NyY2Rpcn0vZXRhZ3MuYyAkKEdFVE9QVE9CSlMpICQoUkVHRVhQT0JKKSAkKExPQURMSUJF UykgLW8gZXRhZ3MKCmVicm93c2Uke0VYRUVYVH06ICR7c3JjZGlyfS9lYnJvd3NlLmMgJChH RVRPUFRERVBTKSAuLi9zcmMvY29uZmlnLmgKCSQoQ0MpICR7QUxMX0NGTEFHU30gLURWRVJT SU9OPSJcIiR7dmVyc2lvbn1cIiIgJHtzcmNkaXJ9L2Vicm93c2UuYyAkKEdFVE9QVE9CSlMp ICQoTE9BRExJQkVTKSAtbyBlYnJvd3NlCgovKiBXZSBkZXBlbmQgb24gZXRhZ3MgdG8gYXNz dXJlIHRoYXQgcGFyYWxsZWwgbWFrZXMgZG9uXCd0IHdyaXRlIHR3bwogICBldGFncy5vIGZp bGVzIG9uIHRvcCBvZiBlYWNoIG90aGVyLiAgKi8KY3RhZ3Mke0VYRUVYVH06IGV0YWdzJHtF WEVFWFR9CgkkKENDKSAke0FMTF9DRkxBR1N9IC1EQ1RBR1MgLURFTUFDU19OQU1FPSJcIkdO VSBFbWFjc1wiIiAtRFZFUlNJT049IlwiJHt2ZXJzaW9ufVwiIiAke3NyY2Rpcn0vZXRhZ3Mu YyAkKEdFVE9QVE9CSlMpICQoUkVHRVhQT0JKKSAkKExPQURMSUJFUykgLW8gY3RhZ3MKCnBy b2ZpbGUke0VYRUVYVH06ICR7c3JjZGlyfS9wcm9maWxlLmMgLi4vc3JjL2NvbmZpZy5oCgkk KENDKSAke0FMTF9DRkxBR1N9ICR7c3JjZGlyfS9wcm9maWxlLmMgJChMT0FETElCRVMpIC1v IHByb2ZpbGUKCm1ha2UtZG9jZmlsZSR7RVhFRVhUfTogJHtzcmNkaXJ9L21ha2UtZG9jZmls ZS5jIC4uL3NyYy9jb25maWcuaAoJJChDQykgJHtBTExfQ0ZMQUdTfSAke3NyY2Rpcn0vbWFr ZS1kb2NmaWxlLmMgJChMT0FETElCRVMpIC1vIG1ha2UtZG9jZmlsZQoKZGlnZXN0LWRvYyR7 RVhFRVhUfTogJHtzcmNkaXJ9L2RpZ2VzdC1kb2MuYwoJJChDQykgJHtBTExfQ0ZMQUdTfSAk e3NyY2Rpcn0vZGlnZXN0LWRvYy5jICQoTE9BRExJQkVTKSAtbyBkaWdlc3QtZG9jCgpzb3J0 ZWQtZG9jJHtFWEVFWFR9OiAke3NyY2Rpcn0vc29ydGVkLWRvYy5jCgkkKENDKSAke0FMTF9D RkxBR1N9ICR7c3JjZGlyfS9zb3J0ZWQtZG9jLmMgJChMT0FETElCRVMpIC1vIHNvcnRlZC1k b2MKCmIybSR7RVhFRVhUfTogJHtzcmNkaXJ9L2IybS5jIC4uL3NyYy9jb25maWcuaCAkKEdF VE9QVERFUFMpCgkkKENDKSAke0FMTF9DRkxBR1N9ICR7c3JjZGlyfS9iMm0uYyAgLURWRVJT SU9OPSJcIiR7dmVyc2lvbn1cIiIgXAoJICAgJChHRVRPUFRPQkpTKSAkKExPQURMSUJFUykg LW8gYjJtCgptb3ZlbWFpbCR7RVhFRVhUfTogbW92ZW1haWwubyBwb3AubyAkKEdFVE9QVERF UFMpCgkkKENDKSAke0xJTktfQ0ZMQUdTfSAke01PVkVfRkxBR1N9IG1vdmVtYWlsLm8gcG9w Lm8gJChHRVRPUFRPQkpTKSAkKExPQURMSUJFUykgJChMSUJTX01BSUwpICQoTElCU19NT1ZF KSAtbyBtb3ZlbWFpbAoKbW92ZW1haWwubzogJHtzcmNkaXJ9L21vdmVtYWlsLmMgLi4vc3Jj L2NvbmZpZy5oICQoR0VUT1BUX0gpCgkkKENDKSAtYyAke0NQUF9DRkxBR1N9ICR7TU9WRV9G TEFHU30gJHtzcmNkaXJ9L21vdmVtYWlsLmMKCnBvcC5vOiAke3NyY2Rpcn0vcG9wLmMgIC4u L3NyYy9jb25maWcuaAoJJChDQykgLWMgJHtDUFBfQ0ZMQUdTfSAke01PVkVfRkxBR1N9ICR7 c3JjZGlyfS9wb3AuYwoKY3Z0bWFpbCR7RVhFRVhUfTogJHtzcmNkaXJ9L2N2dG1haWwuYwoJ JChDQykgJHtBTExfQ0ZMQUdTfSAke3NyY2Rpcn0vY3Z0bWFpbC5jICQoTE9BRExJQkVTKSAt byBjdnRtYWlsCgpmYWtlbWFpbCR7RVhFRVhUfTogJHtzcmNkaXJ9L2Zha2VtYWlsLmMgLi4v c3JjL2NvbmZpZy5oCgkkKENDKSAke0FMTF9DRkxBR1N9ICR7c3JjZGlyfS9mYWtlbWFpbC5j ICQoTE9BRExJQkVTKSAtbyBmYWtlbWFpbAoKZW1hY3NjbGllbnQke0VYRUVYVH06ICR7c3Jj ZGlyfS9lbWFjc2NsaWVudC5jIC4uL3NyYy9jb25maWcuaCAkKEdFVE9QVERFUFMpCgkkKEND KSAke0FMTF9DRkxBR1N9ICR7c3JjZGlyfS9lbWFjc2NsaWVudC5jICQoR0VUT1BUT0JKUykg IFwKCSAgIC1EVkVSU0lPTj0iXCIke3ZlcnNpb259XCIiIFwKCSAgICQoTE9BRExJQkVTKSAt byBlbWFjc2NsaWVudAoKaGV4bCR7RVhFRVhUfTogJHtzcmNkaXJ9L2hleGwuYyAuLi9zcmMv Y29uZmlnLmgKCSQoQ0MpICR7QUxMX0NGTEFHU30gJHtzcmNkaXJ9L2hleGwuYyAkKExPQURM SUJFUykgLW8gaGV4bAoKdXBkYXRlLWdhbWUtc2NvcmUke0VYRUVYVH06IHVwZGF0ZS1nYW1l LXNjb3JlLm8gJChHRVRPUFRERVBTKQoJJChDQykgJHtMSU5LX0NGTEFHU30gJHtNT1ZFX0ZM QUdTfSB1cGRhdGUtZ2FtZS1zY29yZS5vICQoR0VUT1BUT0JKUykgJChMT0FETElCRVMpIC1v IHVwZGF0ZS1nYW1lLXNjb3JlCgp1cGRhdGUtZ2FtZS1zY29yZS5vOiAke3NyY2Rpcn0vdXBk YXRlLWdhbWUtc2NvcmUuYyAuLi9zcmMvY29uZmlnLmggJChHRVRPUFRfSCkKCSQoQ0MpIC1j ICR7Q1BQX0NGTEFHU30gJHtzcmNkaXJ9L3VwZGF0ZS1nYW1lLXNjb3JlLmMgXAoJICAtREhB VkVfU0hBUkVEX0dBTUVfRElSPSJcIiQoZ2FtZWRpcilcIiIK --------------000202020200000209040006 Content-Type: text/x-csrc; name="src.Makefile.c" Content-Disposition: attachment; filename="src.Makefile.c" Content-Transfer-Encoding: 7bit # Makefile for GNU Emacs. # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. # This file is part of GNU Emacs. # GNU Emacs 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. # GNU Emacs 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 GNU Emacs. If not, see . # Note that this file is edited by msdos/sed1v2.inp for MSDOS. That # script may need modifying in sync with changes made here. Try to # avoid shell-ism because the DOS build has to use the DOS shell. # Don't try to replace the cpp processing using autoconf facilities, # says rms. # Replacing a particular part of the conditionals to work via autoconf # is OK. # Some of the conditionals might be dead now. Finding them and # deleting them would be fine. # Here are the things that we expect ../configure to edit. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir=/home/pravi/forge/emacs/emacs/src VPATH=/home/pravi/forge/emacs/emacs/src CC=gcc CPP=gcc -E CFLAGS=-g -O2 -Wno-pointer-sign CPPFLAGS=-D_BSD_SOURCE LDFLAGS= -Wl,-znocombreloc LN_S=ln -s EXEEXT= version=23.1.50 # Substitute an assignment for the MAKE variable, because # BSD doesn't have it as a default. # Don't use LIBS. configure puts stuff in it that either shouldn't be # linked with Emacs or is duplicated by the cpp stuff below. # LIBS = -lm -lSM -lICE -lXft -lXrender -lfontconfig -lfreetype -lX11 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lX11 LIBOBJS = lispsource = ${srcdir}/../lisp/ libsrc = ../lib-src/ etc = ../etc/ oldXMenudir = ../oldXMenu/ lwlibdir = ../lwlib/ lispdir = ../lisp/ # Configuration files for .o files to depend on. M_FILE = ${srcdir}/m/amdx86-64.h S_FILE = ${srcdir}/s/gnu-linux.h config_h = config.h $(M_FILE) $(S_FILE) # ========================== start of cpp stuff ======================= /* From here on, comments must be done in C syntax. */ C_SWITCH_SYSTEM= /* just to be sure the sh is used */ SHELL=/bin/sh #define THIS_IS_MAKEFILE #define NOT_C_CODE #include "config.h" /* Do not let the file name mktime.c get messed up. */ #ifdef mktime #undef mktime #endif /* Use HAVE_X11 as an alias for X11 in this file to avoid problems with X11 as a subdirectory name in -I and other such options which pass through this file. */ #ifdef X11 #define HAVE_X11 #undef X11 #endif /* On some machines #define register is done in config; do not let it interfere with this file. */ #undef register /* GNU libc requires ORDINARY_LINK so that its own crt0 is used. GNU/Linux is an exception because it uses a funny variant of GNU libc. */ #ifdef __GNU_LIBRARY__ #ifndef GNU_LINUX #define ORDINARY_LINK #endif #endif /* Some machines do not find the standard C libraries in the usual place. */ #ifndef ORDINARY_LINK #ifndef LIB_STANDARD #define LIB_STANDARD -lc #endif #else #ifndef LIB_STANDARD #define LIB_STANDARD #endif #endif /* Under GNUstep, putting libc on the link line causes problems. */ #ifdef NS_IMPL_GNUSTEP #undef LIB_STANDARD #define LIB_STANDARD #endif /* Unless inhibited or changed, use -lg to link for debugging. */ #ifndef LIBS_DEBUG #define LIBS_DEBUG -lg #endif /* Some s/SYSTEM.h files define this to request special libraries. */ #ifndef LIBS_SYSTEM #define LIBS_SYSTEM #endif /* Some m/MACHINE.h files define this to request special libraries. */ #ifndef LIBS_MACHINE #define LIBS_MACHINE #endif #ifndef LIB_MATH # define LIB_MATH -lm #endif /* LIB_MATH */ /* Some s/SYSTEM.h files define this to request special switches in ld. */ #ifndef LD_SWITCH_SYSTEM #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF))) #define LD_SWITCH_SYSTEM -X #else /* (defined (BSD_SYSTEM) && !defined (COFF)) */ #define LD_SWITCH_SYSTEM #endif /* (defined (BSD_SYSTEM) && !defined (COFF)) */ #endif /* LD_SWITCH_SYSTEM */ /* This holds special options for linking temacs that should be used for linking anything else. */ #ifndef LD_SWITCH_SYSTEM_TEMACS #define LD_SWITCH_SYSTEM_TEMACS #endif /* Some s/SYSTEM.h files define this to request special switches for compiling temacs. */ #ifndef C_SWITCH_SYSTEM_TEMACS #define C_SWITCH_SYSTEM_TEMACS #endif /* Some m/MACHINE.h files define this to request special switches in ld. */ #ifndef LD_SWITCH_MACHINE #define LD_SWITCH_MACHINE #endif /* This holds special options for linking temacs that should be used for linking anything else. */ #ifndef LD_SWITCH_MACHINE_TEMACS #define LD_SWITCH_MACHINE_TEMACS #endif /* Some m/MACHINE.h files define this to request special switches in cc. */ #ifndef C_SWITCH_MACHINE #define C_SWITCH_MACHINE #endif /* Some s/SYSTEM.h files define this to request special switches in cc. */ #ifndef C_SWITCH_SYSTEM #define C_SWITCH_SYSTEM #endif /* These macros are for switches specifically related to X Windows. */ #ifndef C_SWITCH_X_MACHINE #define C_SWITCH_X_MACHINE #endif #ifndef C_SWITCH_X_SYSTEM #define C_SWITCH_X_SYSTEM #endif #ifndef C_SWITCH_X_SITE #define C_SWITCH_X_SITE #endif #ifndef LD_SWITCH_X_SITE #define LD_SWITCH_X_SITE #endif #ifndef LD_SWITCH_X_DEFAULT #define LD_SWITCH_X_DEFAULT #endif #ifndef ORDINARY_LINK #ifndef CRT0_COMPILE #define CRT0_COMPILE $(CC) -c $(ALL_CFLAGS) #endif #ifndef START_FILES #ifdef NO_REMAP #define START_FILES pre-crt0.o /lib/crt0.o #else /* ! defined (NO_REMAP) */ #define START_FILES ecrt0.o #endif /* ! defined (NO_REMAP) */ #endif /* START_FILES */ STARTFILES = START_FILES #else /* ORDINARY_LINK */ /* config.h might want to force START_FILES anyway */ #ifdef START_FILES STARTFILES = START_FILES #endif /* START_FILES */ #endif /* not ORDINARY_LINK */ #ifdef NS_IMPL_GNUSTEP /* Pull in stuff from GNUstep-make. */ FOUNDATION_LIB=gnu GUI_LIB=gnu include /Additional/base.make include /Additional/gui.make shared=no #endif #ifdef HAVE_DBUS DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include DBUS_LIBS = -L/lib64 -ldbus-1 -lpthread -lrt DBUS_OBJ = dbusbind.o #endif /* DO NOT use -R. There is a special hack described in lastfile.c which is used instead. Some initialized data areas are modified at initial startup, then labeled as part of the text area when Emacs is dumped for the first time, and never changed again. */ /* -Demacs is needed to make some files produce the correct version for use in Emacs. -DHAVE_CONFIG_H is needed for some other files to take advantage of the information in ``config.h''. */ /* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM since it may have -I options that should override those two. */ ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${CFLAGS} ALL_OBJC_CFLAGS=$(ALL_CFLAGS) .SUFFIXES: .m .c.o: $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< .m.o: $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< #ifndef LIBX11_SYSTEM #define LIBX11_SYSTEM #endif #ifndef LIB_X11_LIB #define LIB_X11_LIB -lX11 #endif #ifdef HAVE_X_WINDOWS XMENU_OBJ = xmenu.o XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o #ifdef HAVE_MENUS #ifdef USE_GTK GTK_OBJ= gtkutil.o #endif /* The X Menu stuff is present in the X10 distribution, but missing from X11. If we have X10, just use the installed library; otherwise, use our own copy. */ #ifdef HAVE_X11 #ifdef USE_X_TOOLKIT OLDXMENU=${lwlibdir}liblw.a LIBXMENU= $(OLDXMENU) #else /* not USE_X_TOOLKIT */ OLDXMENU= ${oldXMenudir}libXMenu11.a LIBXMENU= $(OLDXMENU) #endif /* not USE_X_TOOLKIT */ #else /* not HAVE_X11 */ LIBXMENU= -lXMenu #endif /* not HAVE_X11 */ #else /* not HAVE_MENUS */ /* Otherwise, do not worry about the menu library at all. */ LIBXMENU= #endif /* not HAVE_MENUS */ #ifdef USE_X_TOOLKIT # define none # if HAVE_XAW3D LUCID_LIBW= -lXaw3d # else LUCID_LIBW= -lXaw # endif # if defined (HAVE_MOTIF_2_1) && defined (HAVE_LIBXP) # define LIB_MOTIF_EXTRA -lXp # else # define LIB_MOTIF_EXTRA # endif # ifdef LIB_MOTIF MOTIF_LIBW= LIB_MOTIF LIB_MOTIF_EXTRA # else MOTIF_LIBW= -lXm LIB_MOTIF_EXTRA # endif LIBW=$(none_LIBW) #ifdef HAVE_X11XTR6 #ifdef NEED_LIBW LIBXTR6 = -lSM -lICE -lw #else LIBXTR6 = -lSM -lICE #endif #endif #ifndef LIBXMU #define LIBXMU -lXmu #endif LIBXT= $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext #else /* not USE_X_TOOLKIT */ #ifdef USE_GTK LIBW=-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lpthread OLDXMENU= LIBXMENU= #endif /* USE_GTK */ #ifdef HAVE_X_SM LIBXT=$(LIBW) -lSM -lICE #else LIBXT=$(LIBW) #endif #endif /* not USE_X_TOOLKIT */ #if HAVE_XFT XFT_LIBS=-lXft -lXrender -lfontconfig -lfreetype -lX11 #endif /* HAVE_XFT */ #if HAVE_XPM #ifndef LIBXPM #define LIBXPM -lXpm #endif /* not defined LIBXPM */ #else /* not HAVE_XPM */ #define LIBXPM #endif /* not HAVE_XPM */ #if HAVE_JPEG #ifndef LIBJPEG #define LIBJPEG -ljpeg #endif /* not defined LIBJPEG */ #else /* not HAVE_JPEG */ #define LIBJPEG #endif /* not HAVE_JPEG */ #if HAVE_PNG #ifndef LIBPNG #define LIBPNG -lpng -lz -lm #endif /* not defined LIBPNG */ #else /* not HAVE_PNG */ #define LIBPNG #endif /* not HAVE_PNG */ #if HAVE_TIFF #ifndef LIBTIFF #define LIBTIFF -ltiff #endif /* not defined LIBTIFF */ #else /* not HAVE_TIFF */ #define LIBTIFF #endif /* not HAVE_TIFF */ #if HAVE_GIF #ifndef LIBGIF #define LIBGIF -lgif #endif /* not defined LIBGIF */ #else /* not HAVE_GIF */ #define LIBGIF #endif /* not HAVE_GIF */ #ifdef HAVE_X11 /* LD_SWITCH_X_DEFAULT comes after everything else that specifies options for where to find X libraries, but before those libraries. */ X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_SYSTEM $(XFT_LIBS) #else /* not HAVE_X11 */ LIBX= $(LIBXMENU) LD_SWITCH_X_SITE #endif /* not HAVE_X11 */ #endif /* not HAVE_X_WINDOWS */ #if HAVE_GPM #ifndef LIBGPM #define LIBGPM -lgpm #endif /* not defined LIBGPM */ #else /* not HAVE_GPM */ #define LIBGPM #endif /* not HAVE_GPM */ #if HAVE_LIBRESOLV #ifndef LIBRESOLV #define LIBRESOLV -lresolv #endif /* not defined LIBRESOLV */ #else /* not HAVE_LIBRESOLV */ #define LIBRESOLV #endif /* not HAVE_LIBRESOLV */ LIBSOUND= -lasound CFLAGS_SOUND= -I/usr/include/alsa RSVG_LIBS= RSVG_CFLAGS= #ifndef ORDINARY_LINK /* Fix linking if compiled with GCC. */ #ifdef __GNUC__ #ifdef LINKER #define LINKER_WAS_SPECIFIED #endif /* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure places that are difficult to figure out at make time. Fortunately, these same versions allow you to pass arbitrary flags on to the linker, so there is no reason not to use it as a linker. Well, it is not quite perfect. The "-nostdlib" keeps GCC from searching for libraries in its internal directories, so we have to ask GCC explicitly where to find libgcc.a. */ #ifndef LINKER #define LINKER $(CC) -nostdlib #endif #ifndef LIB_GCC /* Ask GCC where to find libgcc.a. */ #define LIB_GCC `$(CC) -print-libgcc-file-name` #endif /* not LIB_GCC */ GNULIB_VAR = LIB_GCC #ifndef LINKER_WAS_SPECIFIED /* GCC passes any argument prefixed with -Xlinker directly to the linker. See prefix-args.c for an explanation of why we do not do this with the shell''s ``for'' construct. Note that some people do not have '.' in their paths, so we must use ./prefix-args. */ #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` #else #define YMF_PASS_LDFLAGS(flags) flags #endif #else /* not __GNUC__ */ GNULIB_VAR = #endif /* not __GNUC__ */ #endif /* not ORDINARY_LINK */ #ifdef ORDINARY_LINK LD = $(CC) #else #ifdef LINKER LD=LINKER #else /* not LINKER */ LD=ld #endif /* not LINKER */ #endif /* not ORDINARY_LINK */ /* Flags to pass to LD only for temacs. */ /* Do not split this line with a backslash. That can cause trouble with some cpps. */ TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS /* A macro which other sections of Makefile can redefine to munge the flags before they are passed to LD. This is helpful if you have redefined LD to something odd, like "gcc". (The YMF prefix is a holdover from the old name "ymakefile".) */ #ifndef YMF_PASS_LDFLAGS #define YMF_PASS_LDFLAGS(flags) flags #endif /* Allow config.h to specify a replacement file for unexec.c. */ #ifndef UNEXEC #define UNEXEC unexec.o #endif INTERVALS_H = dispextern.h intervals.h composite.h GETLOADAVG_LIBS = #ifdef MSDOS #ifdef HAVE_X_WINDOWS MSDOS_OBJ = dosfns.o msdos.o xmenu.o #else MSDOS_OBJ = dosfns.o msdos.o w16select.o xmenu.o #endif #endif #ifdef CYGWIN CYGWIN_OBJ = sheap.o #endif #ifdef HAVE_NS ns_appdir=/ ns_appbindir=/ ns_appresdir=/ ns_appsrc= /* Object files for NeXTstep */ NS_OBJ= nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \ fontset.o fringe.o image.o #endif /* HAVE_NS */ #ifdef HAVE_WINDOW_SYSTEM #ifdef HAVE_X_WINDOWS #if defined (HAVE_XFT) FONT_DRIVERS = xfont.o ftfont.o xftfont.o ftxfont.o #elif defined (HAVE_FREETYPE) FONT_DRIVERS = xfont.o ftfont.o ftxfont.o #else /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */ FONT_DRIVERS = xfont.o #endif /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */ #endif /* HAVE_X_WINDOWS */ #endif /* HAVE_WINDOW_SYSTEM */ /* lastfile must follow all files whose initialized data areas should be dumped as pure by dump-emacs. */ obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ charset.o coding.o category.o ccl.o character.o chartab.o \ cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ emacs.o keyboard.o macros.o keymap.o sysdep.o \ buffer.o filelock.o insdel.o marker.o \ minibuf.o fileio.o dired.o filemode.o \ cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ alloc.o data.o doc.o editfns.o callint.o \ eval.o floatfns.o fns.o font.o print.o lread.o \ syntax.o UNEXEC bytecode.o \ process.o callproc.o \ region-cache.o sound.o atimer.o \ doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ $(MSDOS_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS) /* Object files used on some machine or other. These go in the DOC file on all machines in case they are needed there. */ SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ fontset.o \ nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \ w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONT_DRIVERS) #ifdef TERMINFO /* Used to be -ltermcap here. If your machine needs that, define LIBS_TERMCAP in the m/MACHINE.h file. */ #ifndef LIBS_TERMCAP #define LIBS_TERMCAP -lcurses #endif /* LIBS_TERMCAP */ termcapobj = terminfo.o #else /* ! defined (TERMINFO) */ #ifndef LIBS_TERMCAP #define LIBS_TERMCAP termcapobj = termcap.o tparam.o #else /* LIBS_TERMCAP */ termcapobj = tparam.o #endif /* LIBS_TERMCAP */ #endif /* ! defined (TERMINFO) */ #ifndef SYSTEM_MALLOC #ifndef DOUG_LEA_MALLOC gmallocobj = gmalloc.o #endif #ifdef REL_ALLOC rallocobj = ralloc.o #endif mallocobj = $(gmallocobj) $(rallocobj) vm-limit.o #endif /* SYSTEM_MALLOC */ #ifdef USE_X_TOOLKIT widgetobj= widget.o #else /* not USE_X_TOOLKIT */ widgetobj= #endif /* not USE_X_TOOLKIT */ /* define otherobj as list of object files that make-docfile should not be told about. */ #ifdef CYGWIN /* Cygwin differs because of its unexec(). */ otherobj= $(termcapobj) $(gmallocobj) $(rallocobj) lastfile.o vm-limit.o $(widgetobj) $(LIBOBJS) #else otherobj= $(termcapobj) lastfile.o $(mallocobj) $(widgetobj) $(LIBOBJS) #endif #ifdef HAVE_MOUSE #define MOUSE_SUPPORT ${lispsource}mouse.elc \ ${lispsource}select.elc ${lispsource}scroll-bar.elc #else #ifdef HAVE_GPM #define MOUSE_SUPPORT ${lispsource}mouse.elc #else #define MOUSE_SUPPORT #endif #endif #ifdef MSDOS #define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc #else #define MSDOS_SUPPORT #endif #ifdef HAVE_WINDOW_SYSTEM #ifdef HAVE_X_WINDOWS #define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \ ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ ${lispsource}tool-bar.elc ${lispsource}mwheel.elc ${lispsource}x-dnd.elc #else #define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \ ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ ${lispsource}tool-bar.elc ${lispsource}mwheel.elc #endif #else #define WINDOW_SUPPORT #endif #ifdef WINDOWSNT #define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \ ${lispsource}dos-w32.elc ${lispsource}w32-vars.elc \ ${lispsource}w32-fns.elc #else #define WINNT_SUPPORT #endif #ifdef HAVE_WINDOW_SYSTEM #define TOOLTIP_SUPPORT ${lispsource}tooltip.elc #else #define TOOLTIP_SUPPORT #endif /* List of Lisp files loaded into the dumped Emacs. It is arranged like this because it is easier to generate it semi-mechanically from loadup.el this way. Note that this list should not include lisp files which might not be present, like site-load.el and site-init.el; this makefile expects them all to be either present or buildable. Files which are loaded unconditionally should be in shortlisp as well. Files included conditionally here should be included (unconditionally) in SOME_MACHINE_LISP. */ /* Place loaddefs.el first, so it gets generated first, since it is on the critical path (relevant in parallel compilations). */ lisp= \ ${lispsource}loaddefs.el \ ${lispsource}abbrev.elc \ ${lispsource}buff-menu.elc \ ${lispsource}button.elc \ ${lispsource}emacs-lisp/byte-run.elc \ ${lispsource}composite.elc \ ${lispsource}cus-face.elc \ ${lispsource}cus-start.elc \ ${lispsource}custom.elc \ ${lispsource}emacs-lisp/backquote.elc \ ${lispsource}emacs-lisp/lisp-mode.elc \ ${lispsource}emacs-lisp/lisp.elc \ ${lispsource}env.elc \ ${lispsource}faces.elc \ ${lispsource}files.elc \ ${lispsource}format.elc \ ${lispsource}facemenu.elc \ MOUSE_SUPPORT \ ${lispsource}emacs-lisp/float-sup.elc \ ${lispsource}frame.elc \ ${lispsource}help.elc \ ${lispsource}indent.elc \ ${lispsource}isearch.elc \ ${lispsource}rfn-eshadow.elc \ ${lispsource}loadup.el \ ${lispsource}bindings.elc \ ${lispsource}emacs-lisp/map-ynp.elc \ ${lispsource}menu-bar.elc \ ${lispsource}international/mule.elc \ ${lispsource}international/mule-conf.el \ ${lispsource}international/mule-cmds.elc \ ${lispsource}international/characters.elc \ ${lispsource}international/charprop.el \ ${lispsource}case-table.elc \ ${lispsource}language/chinese.el \ ${lispsource}language/cyrillic.el \ ${lispsource}language/indian.el \ ${lispsource}language/sinhala.el \ ${lispsource}language/english.el \ ${lispsource}language/ethiopic.elc \ ${lispsource}language/european.elc \ ${lispsource}language/czech.el \ ${lispsource}language/slovak.el \ ${lispsource}language/romanian.el \ ${lispsource}language/greek.el \ ${lispsource}language/hebrew.el \ ${lispsource}language/japanese.el \ ${lispsource}language/korean.el \ ${lispsource}language/lao.el \ ${lispsource}language/cham.el \ ${lispsource}language/tai-viet.el \ ${lispsource}language/thai.el \ ${lispsource}language/tibetan.elc \ ${lispsource}language/vietnamese.el \ ${lispsource}language/misc-lang.el \ ${lispsource}language/utf-8-lang.el \ ${lispsource}language/georgian.el \ ${lispsource}language/khmer.el \ ${lispsource}language/burmese.el \ ${lispsource}paths.el \ ${lispsource}register.elc \ ${lispsource}replace.elc \ ${lispsource}simple.elc \ ${lispsource}minibuffer.elc \ ${lispsource}startup.elc \ ${lispsource}subr.elc \ ${lispsource}term/tty-colors.elc \ ${lispsource}font-core.elc \ ${lispsource}emacs-lisp/syntax.elc \ ${lispsource}font-lock.elc \ ${lispsource}jit-lock.elc \ ${lispsource}textmodes/fill.elc \ ${lispsource}textmodes/page.elc \ ${lispsource}textmodes/paragraphs.elc \ ${lispsource}textmodes/text-mode.elc \ ${lispsource}emacs-lisp/timer.elc \ ${lispsource}jka-cmpr-hook.elc \ ${lispsource}vc-hooks.elc \ ${lispsource}ediff-hook.elc \ ${lispsource}epa-hook.elc \ TOOLTIP_SUPPORT \ MSDOS_SUPPORT \ WINNT_SUPPORT \ WINDOW_SUPPORT \ ${lispsource}widget.elc \ ${lispsource}window.elc \ ${lispsource}version.el /* These are relative file names for the Lisp files that are loaded unconditionally. This is used in make-docfile. It need not contain the files that are loaded conditionally because SOME_MACHINE_LISP has those. */ shortlisp= \ ../lisp/loaddefs.el \ ../lisp/abbrev.elc \ ../lisp/buff-menu.elc \ ../lisp/button.elc \ ../lisp/emacs-lisp/byte-run.elc \ ../lisp/composite.elc \ ../lisp/cus-face.elc \ ../lisp/cus-start.elc \ ../lisp/custom.elc \ ../lisp/emacs-lisp/backquote.elc \ ../lisp/emacs-lisp/lisp-mode.elc \ ../lisp/emacs-lisp/lisp.elc \ ../lisp/facemenu.elc \ ../lisp/faces.elc \ ../lisp/files.elc \ ../lisp/emacs-lisp/float-sup.elc \ ../lisp/format.elc \ ../lisp/frame.elc \ ../lisp/help.elc \ ../lisp/indent.elc \ ../lisp/isearch.elc \ ../lisp/rfn-eshadow.elc \ ../lisp/loadup.el \ ../lisp/bindings.elc \ ../lisp/emacs-lisp/map-ynp.elc \ ../lisp/env.elc \ ../lisp/international/mule.elc \ ../lisp/international/mule-conf.el \ ../lisp/international/mule-cmds.elc \ ../lisp/international/characters.elc \ ../lisp/case-table.elc \ ../lisp/language/chinese.el \ ../lisp/language/cyrillic.el \ ../lisp/language/indian.el \ ../lisp/language/sinhala.el \ ../lisp/language/english.el \ ../lisp/language/ethiopic.elc \ ../lisp/language/european.elc \ ../lisp/language/czech.el \ ../lisp/language/slovak.el \ ../lisp/language/romanian.el \ ../lisp/language/greek.el \ ../lisp/language/hebrew.el \ ../lisp/language/japanese.el \ ../lisp/language/korean.el \ ../lisp/language/lao.el \ ../lisp/language/cham.el \ ../lisp/language/tai-viet.el \ ../lisp/language/thai.el \ ../lisp/language/tibetan.elc \ ../lisp/language/vietnamese.el \ ../lisp/language/misc-lang.el \ ../lisp/language/utf-8-lang.el \ ../lisp/language/georgian.el \ ../lisp/language/khmer.el \ ../lisp/language/burmese.el \ ../lisp/menu-bar.elc \ ../lisp/paths.el \ ../lisp/register.elc \ ../lisp/replace.elc \ ../lisp/simple.elc \ ../lisp/minibuffer.elc \ ../lisp/startup.elc \ ../lisp/subr.elc \ ../lisp/term/tty-colors.elc \ ../lisp/font-core.elc \ ../lisp/emacs-lisp/syntax.elc \ ../lisp/font-lock.elc \ ../lisp/jit-lock.elc \ ../lisp/textmodes/fill.elc \ ../lisp/textmodes/page.elc \ ../lisp/textmodes/paragraphs.elc \ ../lisp/textmodes/text-mode.elc \ ../lisp/emacs-lisp/timer.elc \ ../lisp/vc-hooks.elc \ ../lisp/jka-cmpr-hook.elc \ ../lisp/ediff-hook.elc \ ../lisp/epa-hook.elc \ ../lisp/widget.elc \ ../lisp/window.elc \ ../lisp/version.el /* Lisp files that may or may not be used. We must unconditionally put them in the DOC file. We use ../lisp/ to start the file names to reduce the size of the argument list for make-docfile for the sake of systems which can''t handle large ones. */ SOME_MACHINE_LISP = ../lisp/mouse.elc \ ../lisp/select.elc ../lisp/scroll-bar.elc \ ../lisp/ls-lisp.elc ../lisp/dos-fns.elc \ ../lisp/w32-fns.elc ../lisp/dos-w32.elc \ ../lisp/disp-table.elc ../lisp/dos-vars.elc \ ../lisp/tooltip.elc ../lisp/image.elc \ ../lisp/fringe.elc ../lisp/dnd.elc \ ../lisp/mwheel.elc ../lisp/tool-bar.elc \ ../lisp/x-dnd.elc \ ../lisp/international/ccl.elc \ ../lisp/international/fontset.elc \ ../lisp/mouse.elc \ ../lisp/term/common-win.elc \ ../lisp/term/x-win.elc \ ../lisp/term/pc-win.elc \ ../lisp/term/ns-win.elc /* Construct full set of libraries to be linked. Note that SunOS needs -lm to come before -lc; otherwise, you get duplicated symbols. If the standard libraries were compiled with GCC, we might need gnulib again after them. */ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \ LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \ LIBS_DEBUG $(GETLOADAVG_LIBS) \ \ $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) /* Enable recompilation of certain other files depending on system type. */ #ifndef OTHER_FILES #define OTHER_FILES #endif #ifndef OBJECTS_MACHINE #define OBJECTS_MACHINE #endif #ifdef HAVE_SHM RUN_TEMACS = `/bin/pwd`/temacs -nl #else RUN_TEMACS = `/bin/pwd`/temacs #endif all: emacs${EXEEXT} OTHER_FILES emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} ${SOME_MACHINE_LISP} #ifdef CANNOT_DUMP rm -f emacs${EXEEXT} ln temacs${EXEEXT} emacs${EXEEXT} #else LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump @: This new Emacs is as functional and more efficient then @: bootstrap-emacs, so let us replace it. -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} #endif /* ! defined (CANNOT_DUMP) */ -./emacs -q -batch -f list-load-path-shadows /* We run make-docfile twice because the command line may get too long on some systems. */ /* ${SOME_MACHINE_OBJECTS} comes before ${obj} because some files may or may not be included in ${obj}, but they are always included in ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned for the first time, this prevents any variation between configurations in the contents of the DOC file. Likewise for ${SOME_MACHINE_LISP}. */ /* Most of this Makefile refers to Lisp files via ${lispsource}, so we also use ${lisp} rather than ${shortlisp} for the dependency since the Makefile uses string equality to decide when we talk about identical files. Apparently we pass ${shortlisp} rather than ${lisp} to make-docfile only in order to reduce the command line length. --Stef */ ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP} -rm -f ${etc}DOC ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} ${libsrc}make-docfile${EXEEXT}: cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT} temacs${EXEEXT}: $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args${EXEEXT} echo "${obj} ${otherobj} " OBJECTS_MACHINE > buildobj.lst #ifdef NS_IMPL_GNUSTEP $(CC) -rdynamic YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \ -L -lgnustep-gui -lgnustep-base \ -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread ) -o temacs \ ${obj} ${otherobj} OBJECTS_MACHINE ${LIBES} #else $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \ -o temacs ${STARTFILES} ${obj} ${otherobj} \ OBJECTS_MACHINE ${LIBES} #endif /* We do not use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE often contain options that have to do with using Emacs''s crt0, which are only good with temacs. */ prefix-args${EXEEXT}: prefix-args.c $(config_h) $(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args #if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK) /* We use stamp-xmenu with these two deps to both ensure that lwlib gets remade based on its dependencies in its own makefile, and remake temacs if lwlib gets changed by this. */ stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU) touch stamp-oldxmenu /* Supply an ordering for parallel make. */ ../src/$(OLDXMENU): ${OLDXMENU} /* Encode the values of these two macros in Make variables, so we can use $(...) to substitute their values within "...". */ C_SWITCH_MACHINE_1 = C_SWITCH_MACHINE C_SWITCH_SYSTEM_1 = C_SWITCH_SYSTEM C_SWITCH_X_SITE_1 = C_SWITCH_X_SITE C_SWITCH_X_MACHINE_1 = C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM_1 = C_SWITCH_X_SYSTEM #ifdef USE_X_TOOLKIT $(OLDXMENU): really-lwlib really-lwlib: cd ${lwlibdir}; ${MAKE} ${MFLAGS} \ CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \ "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \ "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \ "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \ "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \ "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)" @true /* make -t should not create really-lwlib. */ .PHONY: really-lwlib #else /* not USE_X_TOOLKIT */ $(OLDXMENU): really-oldXMenu really-oldXMenu: cd ${oldXMenudir}; ${MAKE} ${MFLAGS} \ CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \ "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \ "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \ "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \ "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \ "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)" @true /* make -t should not create really-oldXMenu. */ .PHONY: really-oldXMenu #endif /* not USE_X_TOOLKIT */ #else /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! USE_GTK) */ /* We don''t really need this, but satisfy the dependency. */ stamp-oldxmenu: touch stamp-oldxmenu #endif /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! USE_GTK) */ ../config.status:: epaths.in @echo "The file epaths.h needs to be set up from epaths.in." @echo "Please run the `configure' script again." exit 1 ../config.status:: config.in @echo "The file config.h needs to be set up from config.in." @echo "Please run the `configure' script again." exit 1 /* Nearly all the following files depend on lisp.h, but it is not included as a dependency because it is so often changed in ways that do not require any recompilation and so rarely changed in ways that do require any. */ atimer.o: atimer.c atimer.h syssignal.h systime.h $(config_h) abbrev.o: abbrev.c buffer.h window.h dispextern.h commands.h character.h \ syntax.h $(config_h) buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \ dispextern.h $(INTERVALS_H) blockinput.h atimer.h systime.h character.h \ $(config_h) callint.o: callint.c window.h commands.h buffer.h keymap.h \ keyboard.h dispextern.h $(config_h) callproc.o: callproc.c epaths.h buffer.h commands.h $(config_h) \ process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \ composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \ composite.h \ charset.h keymap.h $(config_h) casetab.o: casetab.c buffer.h $(config_h) category.o: category.c category.h buffer.h charset.h keymap.h \ character.h $(config_h) ccl.o: ccl.c ccl.h charset.h character.h coding.h $(config_h) character.o: character.c character.h buffer.h charset.h composite.h disptab.h \ $(config_h) charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \ disptab.h $(config_h) chartab.o: charset.h character.h $(config_h) coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h $(INTERVALS_H) composite.h \ window.h dispextern.h frame.h termhooks.h $(config_h) cm.o: cm.c frame.h cm.h termhooks.h termchar.h $(config_h) cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h $(config_h) \ msdos.h dispextern.h keyboard.h keymap.h pre-crt0.o: pre-crt0.c ecrt0.o: ecrt0.c $(config_h) CRT0_COMPILE ${srcdir}/ecrt0.c dbusbind.o: dbusbind.c termhooks.h frame.h keyboard.h $(config_h) dired.o: dired.c commands.h buffer.h $(config_h) character.h charset.h \ coding.h regex.h systime.h blockinput.h atimer.h dispnew.o: dispnew.c systime.h commands.h process.h frame.h \ window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \ disptab.h indent.h $(INTERVALS_H) \ xterm.h blockinput.h atimer.h character.h msdos.h composite.h keyboard.h \ syssignal.h $(config_h) doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h character.h doprnt.o: doprnt.c character.h $(config_h) dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \ msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \ $(config_h) editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ coding.h dispextern.h frame.h blockinput.h atimer.h $(config_h) emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \ termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) $(config_h) \ window.h dispextern.h keyboard.h keymap.h fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ coding.h msdos.h dispextern.h blockinput.h atimer.h $(config_h) filelock.o: filelock.c buffer.h character.h charset.h coding.h systime.h \ epaths.h $(config_h) filemode.o: filemode.c $(config_h) frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \ blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \ msdos.h dosfns.h dispextern.h w32term.h termchar.h \ $(config_h) fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h $(config_h) font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \ font.h $(config_h) ftfont.o: dispextern.h frame.h character.h charset.h composite.h font.h \ $(config_h) fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h character.h \ charset.h frame.h keyboard.h termhooks.h font.h $(config_h) getloadavg.o: getloadavg.c $(config_h) gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h $(config_h) \ blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \ charset.h coding.h syssignal.h image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \ systime.h xterm.h w32term.h w32gui.h font.h \ nsterm.h nsgui.h $(config_h) indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h \ termopts.h disptab.h region-cache.h character.h category.h composite.h \ dispextern.h keyboard.h insdel.o: insdel.c window.h buffer.h $(INTERVALS_H) blockinput.h character.h \ dispextern.h atimer.h systime.h region-cache.h $(config_h) keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \ commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \ systime.h dispextern.h syntax.h $(INTERVALS_H) blockinput.h atimer.h \ xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h \ $(config_h) keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \ atimer.h systime.h puresize.h character.h charset.h $(INTERVALS_H) keymap.h window.h \ $(config_h) lastfile.o: lastfile.c $(config_h) macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \ dispextern.h $(config_h) malloc.o: malloc.c $(config_h) gmalloc.o: gmalloc.c $(config_h) ralloc.o: ralloc.c $(config_h) vm-limit.o: vm-limit.c mem-limits.h $(config_h) marker.o: marker.c buffer.h character.h $(config_h) md5.o: md5.c md5.h $(config_h) minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \ buffer.h commands.h character.h msdos.h $(INTERVALS_H) keymap.h \ termhooks.h $(config_h) mktime.o: mktime.c $(config_h) msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \ termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \ keyboard.h $(INTERVALS_H) buffer.h commands.h blockinput.h atimer.h $(config_h) nsfns.o: nsfns.m charset.h nsterm.h nsgui.h frame.h window.h buffer.h \ dispextern.h nsgui.h fontset.h $(INTERVALS_H) keyboard.h blockinput.h \ atimer.h systime.h epaths.h termhooks.h coding.h systime.h $(config_h) nsfont.o: nsterm.h dispextern.h frame.h lisp.h $(config_h) nsimage.o: nsimage.m nsterm.h $(config_h) nsmenu.o: nsmenu.m termhooks.h frame.h window.h dispextern.h \ nsgui.h keyboard.h blockinput.h atimer.h systime.h buffer.h \ nsterm.h $(config_h) nsterm.o: nsterm.m blockinput.h atimer.h systime.h syssignal.h nsterm.h \ nsgui.h frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h \ termopts.h termchar.h disptab.h buffer.h window.h keyboard.h \ $(INTERVALS_H) process.h coding.h $(config_h) nsselect.o: nsselect.m blockinput.h nsterm.h nsgui.h frame.h $(config_h) process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \ commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \ blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \ keyboard.h $(config_h) regex.o: regex.c syntax.h buffer.h $(config_h) regex.h category.h character.h \ charset.h region-cache.o: region-cache.c buffer.h region-cache.h $(config_h) scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \ termhooks.h $(config_h) search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \ blockinput.h atimer.h systime.h category.h character.h charset.h \ composite.h $(INTERVALS_H) \ $(config_h) sound.o: sound.c dispextern.h syssignal.h $(config_h) strftime.o: strftime.c $(config_h) syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \ composite.h keymap.h regex.h $(INTERVALS_H) $(config_h) sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \ process.h dispextern.h termhooks.h termchar.h termopts.h \ frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h $(config_h) term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \ disptab.h dispextern.h keyboard.h character.h charset.h coding.h ccl.h \ msdos.h window.h keymap.h blockinput.h atimer.h systime.h systty.h \ syssignal.h $(INTERVALS_H) termcap.o: termcap.c $(config_h) terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \ keyboard.h $(config_h) terminfo.o: terminfo.c $(config_h) tparam.o: tparam.c $(config_h) undo.o: undo.c buffer.h commands.h window.h $(config_h) unexaix.o: unexaix.c $(config_h) unexalpha.o: unexalpha.c $(config_h) unexcw.o: unexcw.c $(config_h) unexec.o: unexec.c $(config_h) unexelf.o: unexelf.c $(config_h) unexhp9k800.o: unexhp9k800.c $(config_h) unexmacosx.o: unexmacosx.c $(config_h) unexmips.o: unexmips.c $(config_h) unexnext.o: unexnext.c $(config_h) unexsol.o: unexsol.c $(config_h) unexw32.o: unexw32.c $(config_h) w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \ msdos.h buffer.h charset.h coding.h composite.h $(config_h) widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \ $(srcdir)/../lwlib/lwlib.h $(config_h) window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \ disptab.h keyboard.h dispextern.h msdos.h composite.h \ keymap.h blockinput.h atimer.h systime.h $(INTERVALS_H) \ xterm.h w32term.h nsterm.h $(config_h) xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \ coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \ charset.h $(config_h) keyboard.h $(INTERVALS_H) region-cache.h xterm.h \ w32term.h nsterm.h msdos.h composite.h fontset.h \ blockinput.h atimer.h systime.h keymap.h font.h xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \ window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \ systime.h keyboard.h fontset.h w32term.h nsterm.h \ $(INTERVALS_H) termchar.h termhooks.h font.h $(config_h) xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \ $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \ character.h charset.h coding.h gtkutil.h $(config_h) termhooks.h \ fontset.h termchar.h font.h xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ font.h $(config_h) xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ font.h $(config_h) ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ font.h $(config_h) menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \ dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \ $(config_h) xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \ charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \ systime.h gtkutil.h msdos.h coding.h menu.h $(config_h) xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \ dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \ keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \ coding.h process.h gtkutil.h font.h fontset.h $(config_h) xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \ buffer.h atimer.h systime.h termhooks.h $(config_h) xrdb.o: xrdb.c $(config_h) epaths.h xsmfns.o: xsmfns.c $(config_h) systime.h sysselect.h termhooks.h xterm.h \ lisp.h termopts.h /* The files of Lisp proper */ alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \ blockinput.h atimer.h systime.h character.h dispextern.h $(config_h) \ $(INTERVALS_H) bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \ frame.h xterm.h $(config_h) data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \ termhooks.h $(config_h) eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \ dispextern.h $(config_h) floatfns.o: floatfns.c syssignal.h $(config_h) fns.o: fns.c commands.h $(config_h) frame.h buffer.h character.h keyboard.h \ keymap.h frame.h window.h dispextern.h $(INTERVALS_H) coding.h md5.h \ blockinput.h atimer.h systime.h xterm.h termhooks.h print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \ $(config_h) dispextern.h termchar.h $(INTERVALS_H) msdos.h composite.h \ blockinput.h atimer.h systime.h font.h charset.h lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ charset.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h /* Text properties support */ composite.o: composite.c buffer.h character.h coding.h dispextern.h font.h \ frame.h termhooks.h $(INTERVALS_H) window.h $(config_h) intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ keymap.h $(config_h) textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVALS_H) \ $(config_h) /* System-specific programs to be made. OTHER_FILES and OBJECTS_MACHINE select which of these should be compiled. */ #ifdef HAVE_NS /* In fact, every .o file depends directly or indirectly on dispextern.h and hence nsgui.h under NS. But the ones that actually use stuff there are more limited. */ dispnew.o font.o fontset.o frame.o fringe.o image.o keyboard.o menu.o \ window.o xdisp.o xfaces.o: nsgui.h ${ns_appdir}: ${ns_appsrc} rm -fr ${ns_appdir} mkdir -p ${ns_appdir} ( cd ${ns_appsrc} ; tar cfh - . ) | ( cd ${ns_appdir} ; tar xf - ) ( cd ${ns_appdir} ; for subdir in `find . -type d ! -name CVS -print` ; do \ chmod a+rx $${subdir} ; \ rm -rf $${subdir}/CVS ; \ rm -f $${subdir}/.cvsignore ; done ; ) ${ns_appbindir}Emacs: emacs${EXEEXT} mkdir -p ${ns_appbindir} cp -f emacs${EXEEXT} ${ns_appbindir}Emacs ns-app: ${ns_appdir} ${ns_appbindir}Emacs #endif /* HAVE_NS */ mostlyclean: rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a rm -f ../etc/DOC rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT} rm -f buildobj.lst clean: mostlyclean rm -f emacs-*.*.*${EXEEXT} emacs${EXEEXT} #ifdef HAVE_NS rm -fr ${ns_appdir} #endif /* bootstrap-clean is used to clean up just before a bootstrap. It should remove all files generated during a compilation/bootstrap, but not things like config.status or TAGS. */ bootstrap-clean: clean rm -f epaths.h config.h Makefile.c config.stamp stamp-oldxmenu ../etc/DOC-* if test -f ./.gdbinit; then \ mv ./.gdbinit ./.gdbinit.save; \ if test -f "${srcdir}/.gdbinit"; then rm -f ./.gdbinit.save; \ else mv ./.gdbinit.save ./.gdbinit; fi; \ fi /**/# This is used in making a distribution. /**/# Do not use it on development directories! distclean: bootstrap-clean rm -f Makefile maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f TAGS versionclean: -rm -f emacs${EXEEXT} emacs-*.*.*${EXEEXT} ../etc/DOC* extraclean: distclean -rm -f *~ \#* m/?*~ s/?*~ /* Arrange to make a tags table TAGS-LISP for ../lisp, plus TAGS for the C files, which includes ../lisp/TAGS by reference. */ ctagsfiles1 = [xyzXYZ]*.[hcm] ctagsfiles2 = [a-wA-W]*.[hcm] TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) ../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS \ --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) frc: TAGS-LISP: frc $(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags $(lwlibdir)TAGS: (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags) tags: TAGS TAGS-LISP $(lwlibdir)TAGS .PHONY: tags /* Bootstrapping. */ /* Bootstrapping right is difficult because of the circular dependencies. Furthermore, we have to deal with the fact that many compilation targets such as loaddefs.el or *.elc can typically be produced by any old Emacs executable, so we would like to avoid rebuilding them whenever we build a new Emacs executable. To solve the circularity, we use 2 different Emacs executables, "emacs" is the main target and "bootstrap-emacs" is the one used to build the *.elc and loaddefs.el files. To solve the freshness issue, we used to use a third file "witness-emacs" which was used to witness the fact that there is a bootstrap-emacs executable, and then have dependencies on witness-emacs rather than bootstrap-emacs, but that lead to problems in parallel builds (because witness-emacs needed to be free from dependencies (to avoid rebuilding it), so it was compiled in parallel, leading typically to having 2 processes dumping bootstrap-emacs at the same time). So instead, we replace the witness-emacs dependencies by conditional bootstrap-dependencies (via ${BOOTSTRAPEMACS}). Of course, since we do not want to rely on GNU Make features, we have to rely on an external script to do the conditional part of the dependency (i.e. see the ${SUBDIR} rule ../Makefile.in). */ .SUFFIXES: .elc .el /* These suffix rules do not allow additional dependencies, sadly, so instead of adding a $(BOOTSTRAPEMACS) dependency here, we add it separately below. With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)" */ .el.elc: @cd ../lisp; $(MAKE) $(MFLAGS) compile-onefile \ THEFILE=$< EMACS=../src/bootstrap-emacs${EXEEXT} /* Since the .el.elc rule cannot specify an extra dependency, we do it here. */ ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS) ${lispsource}loaddefs.el: $(BOOTSTRAPEMACS) cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=../src/bootstrap-emacs${EXEEXT} /* Dump an Emacs executable named bootstrap-emacs containing the files from loadup.el in source form. */ bootstrap-emacs${EXEEXT}: temacs${EXEEXT} cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs #ifdef CANNOT_DUMP ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT} #else $(RUN_TEMACS) --batch --load loadup bootstrap mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} #endif /* ! defined (CANNOT_DUMP) */ @: Compile some files earlier to speed up further compilation. cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=../src/bootstrap-emacs${EXEEXT} --------------000202020200000209040006 Content-Type: text/plain; name="src.Makefile.in" Content-Disposition: attachment; filename="src.Makefile.in" Content-Transfer-Encoding: base64 IyBNYWtlZmlsZSBmb3IgR05VIEVtYWNzLgojIENvcHlyaWdodCAoQykgMTk4NSwgMTk4Nywg MTk4OCwgMTk5MywgMTk5NCwgMTk5NSwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwKIyAgICAg ICAgICAgICAgIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkKIyAg ICAgICAgICAgICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGlzIGZp bGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCgojIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJl OiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CgojIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCBH TlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u CgoKIyBOb3RlIHRoYXQgdGhpcyBmaWxlIGlzIGVkaXRlZCBieSBtc2Rvcy9zZWQxdjIuaW5w IGZvciBNU0RPUy4gIFRoYXQKIyBzY3JpcHQgbWF5IG5lZWQgbW9kaWZ5aW5nIGluIHN5bmMg d2l0aCBjaGFuZ2VzIG1hZGUgaGVyZS4gIFRyeSB0bwojIGF2b2lkIHNoZWxsLWlzbSBiZWNh dXNlIHRoZSBET1MgYnVpbGQgaGFzIHRvIHVzZSB0aGUgRE9TIHNoZWxsLgoKIyBEb24ndCB0 cnkgdG8gcmVwbGFjZSB0aGUgY3BwIHByb2Nlc3NpbmcgdXNpbmcgYXV0b2NvbmYgZmFjaWxp dGllcywKIyBzYXlzIHJtcy4KIyBSZXBsYWNpbmcgYSBwYXJ0aWN1bGFyIHBhcnQgb2YgdGhl IGNvbmRpdGlvbmFscyB0byB3b3JrIHZpYSBhdXRvY29uZgojIGlzIE9LLgojIFNvbWUgb2Yg dGhlIGNvbmRpdGlvbmFscyBtaWdodCBiZSBkZWFkIG5vdy4gIEZpbmRpbmcgdGhlbSBhbmQK IyBkZWxldGluZyB0aGVtIHdvdWxkIGJlIGZpbmUuCgoKIyBIZXJlIGFyZSB0aGUgdGhpbmdz IHRoYXQgd2UgZXhwZWN0IC4uL2NvbmZpZ3VyZSB0byBlZGl0LgojIFdlIHVzZSAkKHNyY2Rp cikgZXhwbGljaXRseSBpbiBkZXBlbmRlbmNpZXMgc28gYXMgbm90IHRvIGRlcGVuZCBvbiBW UEFUSC4Kc3JjZGlyPUBzcmNkaXJAClZQQVRIPUBzcmNkaXJACkNDPUBDQ0AKQ1BQPUBDUFBA CkNGTEFHUz1AQ0ZMQUdTQApDUFBGTEFHUz1AQ1BQRkxBR1NACkxERkxBR1M9QExERkxBR1NA CkxOX1M9QExOX1NACkVYRUVYVD1ARVhFRVhUQAp2ZXJzaW9uPUB2ZXJzaW9uQAojIFN1YnN0 aXR1dGUgYW4gYXNzaWdubWVudCBmb3IgdGhlIE1BS0UgdmFyaWFibGUsIGJlY2F1c2UKIyBC U0QgZG9lc24ndCBoYXZlIGl0IGFzIGEgZGVmYXVsdC4KQFNFVF9NQUtFQAojIERvbid0IHVz ZSBMSUJTLiAgY29uZmlndXJlIHB1dHMgc3R1ZmYgaW4gaXQgdGhhdCBlaXRoZXIgc2hvdWxk bid0IGJlCiMgbGlua2VkIHdpdGggRW1hY3Mgb3IgaXMgZHVwbGljYXRlZCBieSB0aGUgY3Bw IHN0dWZmIGJlbG93LgojIExJQlMgPSBATElCU0AKTElCT0JKUyA9IEBMSUJPQkpTQAoKbGlz cHNvdXJjZSA9ICR7c3JjZGlyfS8uLi9saXNwLwpsaWJzcmMgPSAuLi9saWItc3JjLwpldGMg PSAuLi9ldGMvCm9sZFhNZW51ZGlyID0gLi4vb2xkWE1lbnUvCmx3bGliZGlyID0gLi4vbHds aWIvCmxpc3BkaXIgPSAuLi9saXNwLwoKIyBDb25maWd1cmF0aW9uIGZpbGVzIGZvciAubyBm aWxlcyB0byBkZXBlbmQgb24uCk1fRklMRSA9ICR7c3JjZGlyfS9AbWFjaGZpbGVAClNfRklM RSA9ICR7c3JjZGlyfS9Ab3BzeXNmaWxlQApjb25maWdfaCA9IGNvbmZpZy5oICQoTV9GSUxF KSAkKFNfRklMRSkKCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT0gc3RhcnQgb2YgY3Bw IHN0dWZmID09PT09PT09PT09PT09PT09PT09PT09Ci8qIEZyb20gaGVyZSBvbiwgY29tbWVu dHMgbXVzdCBiZSBkb25lIGluIEMgc3ludGF4LiAgKi8KCkNfU1dJVENIX1NZU1RFTT0KCi8q IGp1c3QgdG8gYmUgc3VyZSB0aGUgc2ggaXMgdXNlZCAqLwpTSEVMTD0vYmluL3NoCgojZGVm aW5lIFRISVNfSVNfTUFLRUZJTEUKI2RlZmluZSBOT1RfQ19DT0RFCiNpbmNsdWRlICJjb25m aWcuaCIKCi8qIERvIG5vdCBsZXQgdGhlIGZpbGUgbmFtZSBta3RpbWUuYyBnZXQgbWVzc2Vk IHVwLiAgKi8KI2lmZGVmIG1rdGltZQojdW5kZWYgbWt0aW1lCiNlbmRpZgoKLyogVXNlIEhB VkVfWDExIGFzIGFuIGFsaWFzIGZvciBYMTEgaW4gdGhpcyBmaWxlCiAgIHRvIGF2b2lkIHBy b2JsZW1zIHdpdGggWDExIGFzIGEgc3ViZGlyZWN0b3J5IG5hbWUKICAgaW4gLUkgYW5kIG90 aGVyIHN1Y2ggb3B0aW9ucyB3aGljaCBwYXNzIHRocm91Z2ggdGhpcyBmaWxlLiAqLwoKI2lm ZGVmIFgxMQojZGVmaW5lIEhBVkVfWDExCiN1bmRlZiBYMTEKI2VuZGlmCgovKiBPbiBzb21l IG1hY2hpbmVzICNkZWZpbmUgcmVnaXN0ZXIgaXMgZG9uZSBpbiBjb25maWc7CiAgIGRvIG5v dCBsZXQgaXQgaW50ZXJmZXJlIHdpdGggdGhpcyBmaWxlLiAgKi8KI3VuZGVmIHJlZ2lzdGVy CgovKiBHTlUgbGliYyByZXF1aXJlcyBPUkRJTkFSWV9MSU5LIHNvIHRoYXQgaXRzIG93biBj cnQwIGlzIHVzZWQuCiAgIEdOVS9MaW51eCBpcyBhbiBleGNlcHRpb24gYmVjYXVzZSBpdCB1 c2VzIGEgZnVubnkgdmFyaWFudCBvZiBHTlUgbGliYy4gICovCiNpZmRlZiBfX0dOVV9MSUJS QVJZX18KI2lmbmRlZiBHTlVfTElOVVgKI2RlZmluZSBPUkRJTkFSWV9MSU5LCiNlbmRpZgoj ZW5kaWYKCi8qIFNvbWUgbWFjaGluZXMgZG8gbm90IGZpbmQgdGhlIHN0YW5kYXJkIEMgbGli cmFyaWVzIGluIHRoZSB1c3VhbCBwbGFjZS4gICovCiNpZm5kZWYgT1JESU5BUllfTElOSwoj aWZuZGVmIExJQl9TVEFOREFSRAojZGVmaW5lIExJQl9TVEFOREFSRCAtbGMKI2VuZGlmCiNl bHNlCiNpZm5kZWYgTElCX1NUQU5EQVJECiNkZWZpbmUgTElCX1NUQU5EQVJECiNlbmRpZgoj ZW5kaWYKCi8qIFVuZGVyIEdOVXN0ZXAsIHB1dHRpbmcgbGliYyBvbiB0aGUgbGluayBsaW5l IGNhdXNlcyBwcm9ibGVtcy4gKi8KI2lmZGVmIE5TX0lNUExfR05VU1RFUAojdW5kZWYgTElC X1NUQU5EQVJECiNkZWZpbmUgTElCX1NUQU5EQVJECiNlbmRpZgoKLyogVW5sZXNzIGluaGli aXRlZCBvciBjaGFuZ2VkLCB1c2UgLWxnIHRvIGxpbmsgZm9yIGRlYnVnZ2luZy4gICovCiNp Zm5kZWYgTElCU19ERUJVRwojZGVmaW5lIExJQlNfREVCVUcgLWxnCiNlbmRpZgoKLyogU29t ZSBzL1NZU1RFTS5oIGZpbGVzIGRlZmluZSB0aGlzIHRvIHJlcXVlc3Qgc3BlY2lhbCBsaWJy YXJpZXMuICAqLwojaWZuZGVmIExJQlNfU1lTVEVNCiNkZWZpbmUgTElCU19TWVNURU0KI2Vu ZGlmCgovKiBTb21lIG0vTUFDSElORS5oIGZpbGVzIGRlZmluZSB0aGlzIHRvIHJlcXVlc3Qg c3BlY2lhbCBsaWJyYXJpZXMuICAqLwojaWZuZGVmIExJQlNfTUFDSElORQojZGVmaW5lIExJ QlNfTUFDSElORQojZW5kaWYKCiNpZm5kZWYgTElCX01BVEgKIyAgZGVmaW5lIExJQl9NQVRI IC1sbQojZW5kaWYgLyogTElCX01BVEggKi8KCi8qIFNvbWUgcy9TWVNURU0uaCBmaWxlcyBk ZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgc3dpdGNoZXMgaW4gbGQuICAqLwojaWZu ZGVmIExEX1NXSVRDSF9TWVNURU0KI2lmICFkZWZpbmVkIChfX0dOVUNfXykgJiYgKChkZWZp bmVkIChCU0RfU1lTVEVNKSAmJiAhZGVmaW5lZCAoQ09GRikpKQojZGVmaW5lIExEX1NXSVRD SF9TWVNURU0gLVgKI2Vsc2UgLyogKGRlZmluZWQgKEJTRF9TWVNURU0pICYmICFkZWZpbmVk IChDT0ZGKSkgKi8KI2RlZmluZSBMRF9TV0lUQ0hfU1lTVEVNCiNlbmRpZiAvKiAoZGVmaW5l ZCAoQlNEX1NZU1RFTSkgJiYgIWRlZmluZWQgKENPRkYpKSAqLwojZW5kaWYgLyogTERfU1dJ VENIX1NZU1RFTSAqLwoKLyogVGhpcyBob2xkcyBzcGVjaWFsIG9wdGlvbnMgZm9yIGxpbmtp bmcgdGVtYWNzCiAgIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIGxpbmtpbmcgYW55dGhpbmcg ZWxzZS4gICovCiNpZm5kZWYgTERfU1dJVENIX1NZU1RFTV9URU1BQ1MKI2RlZmluZSBMRF9T V0lUQ0hfU1lTVEVNX1RFTUFDUwojZW5kaWYKCi8qIFNvbWUgcy9TWVNURU0uaCBmaWxlcyBk ZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgc3dpdGNoZXMKICAgZm9yIGNvbXBpbGlu ZyB0ZW1hY3MuICAqLwojaWZuZGVmIENfU1dJVENIX1NZU1RFTV9URU1BQ1MKI2RlZmluZSBD X1NXSVRDSF9TWVNURU1fVEVNQUNTCiNlbmRpZgoKLyogU29tZSBtL01BQ0hJTkUuaCBmaWxl cyBkZWZpbmUgdGhpcyB0byByZXF1ZXN0IHNwZWNpYWwgc3dpdGNoZXMgaW4gbGQuICAqLwoj aWZuZGVmIExEX1NXSVRDSF9NQUNISU5FCiNkZWZpbmUgTERfU1dJVENIX01BQ0hJTkUKI2Vu ZGlmCgovKiBUaGlzIGhvbGRzIHNwZWNpYWwgb3B0aW9ucyBmb3IgbGlua2luZyB0ZW1hY3MK ICAgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgbGlua2luZyBhbnl0aGluZyBlbHNlLiAgKi8K I2lmbmRlZiBMRF9TV0lUQ0hfTUFDSElORV9URU1BQ1MKI2RlZmluZSBMRF9TV0lUQ0hfTUFD SElORV9URU1BQ1MKI2VuZGlmCgovKiBTb21lIG0vTUFDSElORS5oIGZpbGVzIGRlZmluZSB0 aGlzIHRvIHJlcXVlc3Qgc3BlY2lhbCBzd2l0Y2hlcyBpbiBjYy4gICovCiNpZm5kZWYgQ19T V0lUQ0hfTUFDSElORQojZGVmaW5lIENfU1dJVENIX01BQ0hJTkUKI2VuZGlmCgovKiBTb21l IHMvU1lTVEVNLmggZmlsZXMgZGVmaW5lIHRoaXMgdG8gcmVxdWVzdCBzcGVjaWFsIHN3aXRj aGVzIGluIGNjLiAgKi8KI2lmbmRlZiBDX1NXSVRDSF9TWVNURU0KI2RlZmluZSBDX1NXSVRD SF9TWVNURU0KI2VuZGlmCgovKiBUaGVzZSBtYWNyb3MgYXJlIGZvciBzd2l0Y2hlcyBzcGVj aWZpY2FsbHkgcmVsYXRlZCB0byBYIFdpbmRvd3MuICAqLwojaWZuZGVmIENfU1dJVENIX1hf TUFDSElORQojZGVmaW5lIENfU1dJVENIX1hfTUFDSElORQojZW5kaWYKCiNpZm5kZWYgQ19T V0lUQ0hfWF9TWVNURU0KI2RlZmluZSBDX1NXSVRDSF9YX1NZU1RFTQojZW5kaWYKCiNpZm5k ZWYgQ19TV0lUQ0hfWF9TSVRFCiNkZWZpbmUgQ19TV0lUQ0hfWF9TSVRFCiNlbmRpZgoKI2lm bmRlZiBMRF9TV0lUQ0hfWF9TSVRFCiNkZWZpbmUgTERfU1dJVENIX1hfU0lURQojZW5kaWYK CiNpZm5kZWYgTERfU1dJVENIX1hfREVGQVVMVAojZGVmaW5lIExEX1NXSVRDSF9YX0RFRkFV TFQKI2VuZGlmCgojaWZuZGVmIE9SRElOQVJZX0xJTksKCiNpZm5kZWYgQ1JUMF9DT01QSUxF CiNkZWZpbmUgQ1JUMF9DT01QSUxFICQoQ0MpIC1jICQoQUxMX0NGTEFHUykKI2VuZGlmCgoj aWZuZGVmIFNUQVJUX0ZJTEVTCiNpZmRlZiBOT19SRU1BUAojZGVmaW5lIFNUQVJUX0ZJTEVT IHByZS1jcnQwLm8gL2xpYi9jcnQwLm8KI2Vsc2UgLyogISBkZWZpbmVkIChOT19SRU1BUCkg Ki8KI2RlZmluZSBTVEFSVF9GSUxFUyBlY3J0MC5vCiNlbmRpZiAvKiAhIGRlZmluZWQgKE5P X1JFTUFQKSAqLwojZW5kaWYgLyogU1RBUlRfRklMRVMgKi8KU1RBUlRGSUxFUyA9IFNUQVJU X0ZJTEVTCgojZWxzZSAvKiBPUkRJTkFSWV9MSU5LICovCgovKiBjb25maWcuaCBtaWdodCB3 YW50IHRvIGZvcmNlIFNUQVJUX0ZJTEVTIGFueXdheSAqLwojaWZkZWYgU1RBUlRfRklMRVMK U1RBUlRGSUxFUyA9IFNUQVJUX0ZJTEVTCiNlbmRpZiAvKiBTVEFSVF9GSUxFUyAqLwoKI2Vu ZGlmIC8qIG5vdCBPUkRJTkFSWV9MSU5LICovCgoKI2lmZGVmIE5TX0lNUExfR05VU1RFUAov KiBQdWxsIGluIHN0dWZmIGZyb20gR05Vc3RlcC1tYWtlLiAqLwpGT1VOREFUSU9OX0xJQj1n bnUKR1VJX0xJQj1nbnUKaW5jbHVkZSBAR05VU1RFUF9NQUtFRklMRVNAL0FkZGl0aW9uYWwv YmFzZS5tYWtlCmluY2x1ZGUgQEdOVVNURVBfTUFLRUZJTEVTQC9BZGRpdGlvbmFsL2d1aS5t YWtlCnNoYXJlZD1ubwojZW5kaWYKCiNpZmRlZiBIQVZFX0RCVVMKREJVU19DRkxBR1MgPSBA REJVU19DRkxBR1NACkRCVVNfTElCUyA9IEBEQlVTX0xJQlNACkRCVVNfT0JKID0gZGJ1c2Jp bmQubwojZW5kaWYKCi8qIERPIE5PVCB1c2UgLVIuICBUaGVyZSBpcyBhIHNwZWNpYWwgaGFj ayBkZXNjcmliZWQgaW4gbGFzdGZpbGUuYwogICB3aGljaCBpcyB1c2VkIGluc3RlYWQuICBT b21lIGluaXRpYWxpemVkIGRhdGEgYXJlYXMgYXJlIG1vZGlmaWVkCiAgIGF0IGluaXRpYWwg c3RhcnR1cCwgdGhlbiBsYWJlbGVkIGFzIHBhcnQgb2YgdGhlIHRleHQgYXJlYSB3aGVuCiAg IEVtYWNzIGlzIGR1bXBlZCBmb3IgdGhlIGZpcnN0IHRpbWUsIGFuZCBuZXZlciBjaGFuZ2Vk IGFnYWluLiAqLwoKLyogLURlbWFjcyBpcyBuZWVkZWQgdG8gbWFrZSBzb21lIGZpbGVzIHBy b2R1Y2UgdGhlIGNvcnJlY3QgdmVyc2lvbgogICBmb3IgdXNlIGluIEVtYWNzLgoKICAgLURI QVZFX0NPTkZJR19IIGlzIG5lZWRlZCBmb3Igc29tZSBvdGhlciBmaWxlcyB0byB0YWtlIGFk dmFudGFnZSBvZgogICB0aGUgaW5mb3JtYXRpb24gaW4gYGBjb25maWcuaCcnLiAgKi8KCi8q IENfU1dJVENIX1hfU0lURSBtdXN0IGNvbWUgYmVmb3JlIENfU1dJVENIX1hfTUFDSElORSBh bmQgQ19TV0lUQ0hfWF9TWVNURU0KICAgc2luY2UgaXQgbWF5IGhhdmUgLUkgb3B0aW9ucyB0 aGF0IHNob3VsZCBvdmVycmlkZSB0aG9zZSB0d28uICAqLwpBTExfQ0ZMQUdTPS1EZW1hY3Mg LURIQVZFX0NPTkZJR19IICQoTVlDUFBGTEFHUykgLUkuIC1JJHtzcmNkaXJ9IENfU1dJVENI X01BQ0hJTkUgQ19TV0lUQ0hfU1lTVEVNIENfU1dJVENIX1hfU0lURSBDX1NXSVRDSF9YX01B Q0hJTkUgQ19TV0lUQ0hfWF9TWVNURU0gQ19TV0lUQ0hfU1lTVEVNX1RFTUFDUyAke0NGTEFH U19TT1VORH0gJHtSU1ZHX0NGTEFHU30gJHtEQlVTX0NGTEFHU30gJHtDRkxBR1N9IEBGUkVF VFlQRV9DRkxBR1NAIEBGT05UQ09ORklHX0NGTEFHU0AgQExJQk9URl9DRkxBR1NAIEBNMTdO X0ZMVF9DRkxBR1NACkFMTF9PQkpDX0NGTEFHUz0kKEFMTF9DRkxBR1MpIEBHTlVfT0JKQ19D RkxBR1NACgouU1VGRklYRVM6IC5tCi5jLm86CgkkKENDKSAtYyAkKENQUEZMQUdTKSAkKEFM TF9DRkxBR1MpICQ8Ci5tLm86CgkkKENDKSAtYyAkKENQUEZMQUdTKSAkKEFMTF9PQkpDX0NG TEFHUykgJDwKCiNpZm5kZWYgTElCWDExX1NZU1RFTQojZGVmaW5lIExJQlgxMV9TWVNURU0K I2VuZGlmCgojaWZuZGVmIExJQl9YMTFfTElCCiNkZWZpbmUgTElCX1gxMV9MSUIgLWxYMTEK I2VuZGlmCgojaWZkZWYgSEFWRV9YX1dJTkRPV1MKWE1FTlVfT0JKID0geG1lbnUubwpYT0JK PSB4dGVybS5vIHhmbnMubyB4c2VsZWN0Lm8geHJkYi5vIGZvbnRzZXQubyB4c21mbnMubyBm cmluZ2UubyBpbWFnZS5vCgojaWZkZWYgSEFWRV9NRU5VUwoKI2lmZGVmIFVTRV9HVEsKR1RL X09CSj0gZ3RrdXRpbC5vCiNlbmRpZgoKLyogVGhlIFggTWVudSBzdHVmZiBpcyBwcmVzZW50 IGluIHRoZSBYMTAgZGlzdHJpYnV0aW9uLCBidXQgbWlzc2luZwogICBmcm9tIFgxMS4gIElm IHdlIGhhdmUgWDEwLCBqdXN0IHVzZSB0aGUgaW5zdGFsbGVkIGxpYnJhcnk7CiAgIG90aGVy d2lzZSwgdXNlIG91ciBvd24gY29weS4gICovCiNpZmRlZiBIQVZFX1gxMQojaWZkZWYgVVNF X1hfVE9PTEtJVApPTERYTUVOVT0ke2x3bGliZGlyfWxpYmx3LmEKTElCWE1FTlU9ICQoT0xE WE1FTlUpCiNlbHNlIC8qIG5vdCBVU0VfWF9UT09MS0lUICovCk9MRFhNRU5VPSAke29sZFhN ZW51ZGlyfWxpYlhNZW51MTEuYQpMSUJYTUVOVT0gJChPTERYTUVOVSkKI2VuZGlmIC8qIG5v dCBVU0VfWF9UT09MS0lUICovCiNlbHNlIC8qIG5vdCBIQVZFX1gxMSAqLwpMSUJYTUVOVT0g LWxYTWVudQojZW5kaWYgLyogbm90IEhBVkVfWDExICovCgojZWxzZSAvKiBub3QgSEFWRV9N RU5VUyAqLwoKLyogT3RoZXJ3aXNlLCBkbyBub3Qgd29ycnkgYWJvdXQgdGhlIG1lbnUgbGli cmFyeSBhdCBhbGwuICAqLwpMSUJYTUVOVT0KI2VuZGlmIC8qIG5vdCBIQVZFX01FTlVTICov CgojaWZkZWYgVVNFX1hfVE9PTEtJVAojIGRlZmluZSBAWF9UT09MS0lUX1RZUEVACiMgaWYg SEFWRV9YQVczRApMVUNJRF9MSUJXPSAtbFhhdzNkCiMgZWxzZQpMVUNJRF9MSUJXPSAtbFhh dwojIGVuZGlmCiMgaWYgZGVmaW5lZCAoSEFWRV9NT1RJRl8yXzEpICYmIGRlZmluZWQgKEhB VkVfTElCWFApCiMgIGRlZmluZSBMSUJfTU9USUZfRVhUUkEgLWxYcAojIGVsc2UKIyAgZGVm aW5lIExJQl9NT1RJRl9FWFRSQQojIGVuZGlmCiMgaWZkZWYgTElCX01PVElGCk1PVElGX0xJ Qlc9IExJQl9NT1RJRiBMSUJfTU9USUZfRVhUUkEKIyBlbHNlCk1PVElGX0xJQlc9IC1sWG0g TElCX01PVElGX0VYVFJBCiMgZW5kaWYKTElCVz0kKEBYX1RPT0xLSVRfVFlQRUBfTElCVykK CiNpZmRlZiBIQVZFX1gxMVhUUjYKI2lmZGVmIE5FRURfTElCVwpMSUJYVFI2ID0gLWxTTSAt bElDRSAtbHcKI2Vsc2UKTElCWFRSNiA9IC1sU00gLWxJQ0UKI2VuZGlmCiNlbmRpZgoKI2lm bmRlZiBMSUJYTVUKI2RlZmluZSBMSUJYTVUgLWxYbXUKI2VuZGlmCgpMSUJYVD0gJChMSUJX KSBMSUJYTVUgLWxYdCAkKExJQlhUUjYpIC1sWGV4dAoKI2Vsc2UgLyogbm90IFVTRV9YX1RP T0xLSVQgKi8KCiNpZmRlZiBVU0VfR1RLCkxJQlc9QEdUS19MSUJTQApPTERYTUVOVT0KTElC WE1FTlU9CiNlbmRpZiAvKiBVU0VfR1RLICovCgojaWZkZWYgSEFWRV9YX1NNCkxJQlhUPSQo TElCVykgLWxTTSAtbElDRQojZWxzZQpMSUJYVD0kKExJQlcpCiNlbmRpZgojZW5kaWYgLyog bm90IFVTRV9YX1RPT0xLSVQgKi8KCiNpZiBIQVZFX1hGVApYRlRfTElCUz1AWEZUX0xJQlNA CiNlbmRpZiAvKiBIQVZFX1hGVCAqLwoKI2lmIEhBVkVfWFBNCiNpZm5kZWYgTElCWFBNCiNk ZWZpbmUgTElCWFBNIC1sWHBtCiNlbmRpZiAvKiBub3QgZGVmaW5lZCBMSUJYUE0gKi8KI2Vs c2UgLyogbm90IEhBVkVfWFBNICovCiNkZWZpbmUgTElCWFBNCiNlbmRpZiAvKiBub3QgSEFW RV9YUE0gKi8KCiNpZiBIQVZFX0pQRUcKI2lmbmRlZiBMSUJKUEVHCiNkZWZpbmUgTElCSlBF RyAtbGpwZWcKI2VuZGlmIC8qIG5vdCBkZWZpbmVkIExJQkpQRUcgKi8KI2Vsc2UgLyogbm90 IEhBVkVfSlBFRyAqLwojZGVmaW5lIExJQkpQRUcKI2VuZGlmIC8qIG5vdCBIQVZFX0pQRUcg Ki8KCiNpZiBIQVZFX1BORwojaWZuZGVmIExJQlBORwojZGVmaW5lIExJQlBORyAtbHBuZyAt bHogLWxtCiNlbmRpZiAvKiBub3QgZGVmaW5lZCBMSUJQTkcgKi8KI2Vsc2UgLyogbm90IEhB VkVfUE5HICovCiNkZWZpbmUgTElCUE5HCiNlbmRpZiAvKiBub3QgSEFWRV9QTkcgKi8KCiNp ZiBIQVZFX1RJRkYKI2lmbmRlZiBMSUJUSUZGCiNkZWZpbmUgTElCVElGRiAtbHRpZmYKI2Vu ZGlmIC8qIG5vdCBkZWZpbmVkIExJQlRJRkYgKi8KI2Vsc2UgLyogbm90IEhBVkVfVElGRiAq LwojZGVmaW5lIExJQlRJRkYKI2VuZGlmIC8qIG5vdCBIQVZFX1RJRkYgKi8KCiNpZiBIQVZF X0dJRgojaWZuZGVmIExJQkdJRgojZGVmaW5lIExJQkdJRiAtbGdpZgojZW5kaWYgLyogbm90 IGRlZmluZWQgTElCR0lGICovCiNlbHNlIC8qIG5vdCBIQVZFX0dJRiAqLwojZGVmaW5lIExJ QkdJRgojZW5kaWYgLyogbm90IEhBVkVfR0lGICovCgojaWZkZWYgSEFWRV9YMTEKLyogTERf U1dJVENIX1hfREVGQVVMVCBjb21lcyBhZnRlciBldmVyeXRoaW5nIGVsc2UgdGhhdCBzcGVj aWZpZXMKICAgb3B0aW9ucyBmb3Igd2hlcmUgdG8gZmluZCBYIGxpYnJhcmllcywgYnV0IGJl Zm9yZSB0aG9zZSBsaWJyYXJpZXMuICAqLwpYMTFfTERGTEFHUyA9IExEX1NXSVRDSF9YX1NJ VEUgTERfU1dJVENIX1hfREVGQVVMVApMSUJYPSAkKExJQlhNRU5VKSAkKFgxMV9MREZMQUdT KSAkKExJQlhUKSBMSUJUSUZGIExJQkpQRUcgTElCUE5HIExJQkdJRiBMSUJYUE0gTElCX1gx MV9MSUIgTElCWDExX1NZU1RFTSAkKFhGVF9MSUJTKQojZWxzZSAvKiBub3QgSEFWRV9YMTEg Ki8KTElCWD0gJChMSUJYTUVOVSkgTERfU1dJVENIX1hfU0lURQojZW5kaWYgLyogbm90IEhB VkVfWDExICovCiNlbmRpZiAvKiBub3QgSEFWRV9YX1dJTkRPV1MgKi8KCiNpZiBIQVZFX0dQ TQojaWZuZGVmIExJQkdQTQojZGVmaW5lIExJQkdQTSAtbGdwbQojZW5kaWYgLyogbm90IGRl ZmluZWQgTElCR1BNICovCiNlbHNlIC8qIG5vdCBIQVZFX0dQTSAqLwojZGVmaW5lIExJQkdQ TQojZW5kaWYgLyogbm90IEhBVkVfR1BNICovCgojaWYgSEFWRV9MSUJSRVNPTFYKI2lmbmRl ZiBMSUJSRVNPTFYKI2RlZmluZSBMSUJSRVNPTFYgLWxyZXNvbHYKI2VuZGlmIC8qIG5vdCBk ZWZpbmVkIExJQlJFU09MViAqLwojZWxzZSAvKiBub3QgSEFWRV9MSUJSRVNPTFYgKi8KI2Rl ZmluZSBMSUJSRVNPTFYKI2VuZGlmIC8qIG5vdCBIQVZFX0xJQlJFU09MViAqLwoKTElCU09V TkQ9IEBMSUJTT1VOREAKQ0ZMQUdTX1NPVU5EPSBAQ0ZMQUdTX1NPVU5EQAoKUlNWR19MSUJT PSBAUlNWR19MSUJTQApSU1ZHX0NGTEFHUz0gQFJTVkdfQ0ZMQUdTQAoKI2lmbmRlZiBPUkRJ TkFSWV9MSU5LCi8qIEZpeCBsaW5raW5nIGlmIGNvbXBpbGVkIHdpdGggR0NDLiAgKi8KI2lm ZGVmIF9fR05VQ19fCgojaWZkZWYgTElOS0VSCiNkZWZpbmUgTElOS0VSX1dBU19TUEVDSUZJ RUQKI2VuZGlmCgovKiBWZXJzaW9ucyBvZiBHQ0MgPj0gMi4wIHB1dCB0aGVpciBsaWJyYXJ5 LCBsaWJnY2MuYSwgaW4gb2JzY3VyZQogICBwbGFjZXMgdGhhdCBhcmUgZGlmZmljdWx0IHRv IGZpZ3VyZSBvdXQgYXQgbWFrZSB0aW1lLiAgRm9ydHVuYXRlbHksCiAgIHRoZXNlIHNhbWUg dmVyc2lvbnMgYWxsb3cgeW91IHRvIHBhc3MgYXJiaXRyYXJ5IGZsYWdzIG9uIHRvIHRoZQog ICBsaW5rZXIsIHNvIHRoZXJlIGlzIG5vIHJlYXNvbiBub3QgdG8gdXNlIGl0IGFzIGEgbGlu a2VyLgoKICAgV2VsbCwgaXQgaXMgbm90IHF1aXRlIHBlcmZlY3QuICBUaGUgIi1ub3N0ZGxp YiIga2VlcHMgR0NDIGZyb20KICAgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMgaW4gaXRzIGlu dGVybmFsIGRpcmVjdG9yaWVzLCBzbyB3ZSBoYXZlIHRvCiAgIGFzayBHQ0MgZXhwbGljaXRs eSB3aGVyZSB0byBmaW5kIGxpYmdjYy5hLiAgKi8KCiNpZm5kZWYgTElOS0VSCiNkZWZpbmUg TElOS0VSICQoQ0MpIC1ub3N0ZGxpYgojZW5kaWYKCiNpZm5kZWYgTElCX0dDQwovKiBBc2sg R0NDIHdoZXJlIHRvIGZpbmQgbGliZ2NjLmEuICAqLwojZGVmaW5lIExJQl9HQ0MgYCQoQ0Mp IC1wcmludC1saWJnY2MtZmlsZS1uYW1lYAojZW5kaWYgLyogbm90IExJQl9HQ0MgKi8KCkdO VUxJQl9WQVIgPSBMSUJfR0NDCgojaWZuZGVmIExJTktFUl9XQVNfU1BFQ0lGSUVECi8qIEdD QyBwYXNzZXMgYW55IGFyZ3VtZW50IHByZWZpeGVkIHdpdGggLVhsaW5rZXIgZGlyZWN0bHkg dG8gdGhlCiAgIGxpbmtlci4gIFNlZSBwcmVmaXgtYXJncy5jIGZvciBhbiBleHBsYW5hdGlv biBvZiB3aHkgd2UgZG8gbm90IGRvCiAgIHRoaXMgd2l0aCB0aGUgc2hlbGwnJ3MgYGBmb3In JyBjb25zdHJ1Y3QuCiAgIE5vdGUgdGhhdCBzb21lIHBlb3BsZSBkbyBub3QgaGF2ZSAnLicg IGluIHRoZWlyIHBhdGhzLCBzbyB3ZSBtdXN0CiAgIHVzZSAuL3ByZWZpeC1hcmdzLiAgKi8K I2RlZmluZSBZTUZfUEFTU19MREZMQUdTKGZsYWdzKSBgLi9wcmVmaXgtYXJncyAtWGxpbmtl ciBmbGFnc2AKI2Vsc2UKI2RlZmluZSBZTUZfUEFTU19MREZMQUdTKGZsYWdzKSBmbGFncwoj ZW5kaWYKCiNlbHNlIC8qIG5vdCBfX0dOVUNfXyAqLwpHTlVMSUJfVkFSID0KCiNlbmRpZiAv KiBub3QgX19HTlVDX18gKi8KI2VuZGlmIC8qIG5vdCBPUkRJTkFSWV9MSU5LICovCgojaWZk ZWYgT1JESU5BUllfTElOSwpMRCA9ICQoQ0MpCiNlbHNlCiNpZmRlZiBMSU5LRVIKTEQ9TElO S0VSCiNlbHNlIC8qIG5vdCBMSU5LRVIgKi8KTEQ9bGQKI2VuZGlmIC8qIG5vdCBMSU5LRVIg Ki8KI2VuZGlmIC8qIG5vdCBPUkRJTkFSWV9MSU5LICovCgovKiBGbGFncyB0byBwYXNzIHRv IExEIG9ubHkgZm9yIHRlbWFjcy4gICovCi8qIERvIG5vdCBzcGxpdCB0aGlzIGxpbmUgd2l0 aCBhIGJhY2tzbGFzaC4gIFRoYXQgY2FuIGNhdXNlIHRyb3VibGUgd2l0aAogICBzb21lIGNw cHMuICAqLwpURU1BQ1NfTERGTEFHUyA9IExEX1NXSVRDSF9TWVNURU0gTERfU1dJVENIX1NZ U1RFTV9URU1BQ1MgTERfU1dJVENIX01BQ0hJTkUgTERfU1dJVENIX01BQ0hJTkVfVEVNQUNT CgovKiBBIG1hY3JvIHdoaWNoIG90aGVyIHNlY3Rpb25zIG9mIE1ha2VmaWxlIGNhbiByZWRl ZmluZSB0byBtdW5nZSB0aGUKICAgZmxhZ3MgYmVmb3JlIHRoZXkgYXJlIHBhc3NlZCB0byBM RC4gIFRoaXMgaXMgaGVscGZ1bCBpZiB5b3UgaGF2ZQogICByZWRlZmluZWQgTEQgdG8gc29t ZXRoaW5nIG9kZCwgbGlrZSAiZ2NjIi4KICAgKFRoZSBZTUYgcHJlZml4IGlzIGEgaG9sZG92 ZXIgZnJvbSB0aGUgb2xkIG5hbWUgInltYWtlZmlsZSIuKQogICovCiNpZm5kZWYgWU1GX1BB U1NfTERGTEFHUwojZGVmaW5lIFlNRl9QQVNTX0xERkxBR1MoZmxhZ3MpIGZsYWdzCiNlbmRp ZgoKLyogQWxsb3cgY29uZmlnLmggdG8gc3BlY2lmeSBhIHJlcGxhY2VtZW50IGZpbGUgZm9y IHVuZXhlYy5jLiAgKi8KI2lmbmRlZiBVTkVYRUMKI2RlZmluZSBVTkVYRUMgdW5leGVjLm8K I2VuZGlmCgpJTlRFUlZBTFNfSCA9IGRpc3BleHRlcm4uaCBpbnRlcnZhbHMuaCBjb21wb3Np dGUuaAoKR0VUTE9BREFWR19MSUJTID0gQEdFVExPQURBVkdfTElCU0AKCiNpZmRlZiBNU0RP UwojaWZkZWYgSEFWRV9YX1dJTkRPV1MKTVNET1NfT0JKID0gZG9zZm5zLm8gbXNkb3MubyB4 bWVudS5vCiNlbHNlCk1TRE9TX09CSiA9IGRvc2Zucy5vIG1zZG9zLm8gdzE2c2VsZWN0Lm8g eG1lbnUubwojZW5kaWYKI2VuZGlmCgojaWZkZWYgQ1lHV0lOCkNZR1dJTl9PQkogPSBzaGVh cC5vCiNlbmRpZgoKI2lmZGVmIEhBVkVfTlMKbnNfYXBwZGlyPUBuc19hcHBkaXJALwpuc19h cHBiaW5kaXI9QG5zX2FwcGJpbmRpckAvCm5zX2FwcHJlc2Rpcj1AbnNfYXBwcmVzZGlyQC8K bnNfYXBwc3JjPUBuc19hcHBzcmNACi8qIE9iamVjdCBmaWxlcyBmb3IgTmVYVHN0ZXAgKi8K TlNfT0JKPSBuc3Rlcm0ubyBuc2Zucy5vIG5zbWVudS5vIG5zc2VsZWN0Lm8gbnNpbWFnZS5v IG5zZm9udC5vIFwKCWZvbnRzZXQubyBmcmluZ2UubyBpbWFnZS5vCiNlbmRpZiAgLyogSEFW RV9OUyAqLwoKI2lmZGVmIEhBVkVfV0lORE9XX1NZU1RFTQojaWZkZWYgSEFWRV9YX1dJTkRP V1MKI2lmIGRlZmluZWQgKEhBVkVfWEZUKQpGT05UX0RSSVZFUlMgPSB4Zm9udC5vIGZ0Zm9u dC5vIHhmdGZvbnQubyBmdHhmb250Lm8KI2VsaWYgZGVmaW5lZCAoSEFWRV9GUkVFVFlQRSkK Rk9OVF9EUklWRVJTID0geGZvbnQubyBmdGZvbnQubyBmdHhmb250Lm8KI2Vsc2UgLyogISBk ZWZpbmVkIChIQVZFX1hGVCkgJiYgISBkZWZpbmVkIChIQVZFX0ZSRUVUWVBFKSAqLwpGT05U X0RSSVZFUlMgPSB4Zm9udC5vCiNlbmRpZiAvKiAhIGRlZmluZWQgKEhBVkVfWEZUKSAmJiAh IGRlZmluZWQgKEhBVkVfRlJFRVRZUEUpICovCiNlbmRpZiAvKiBIQVZFX1hfV0lORE9XUyAq LwojZW5kaWYgLyogSEFWRV9XSU5ET1dfU1lTVEVNICovCgovKiBsYXN0ZmlsZSBtdXN0IGZv bGxvdyBhbGwgZmlsZXMKICAgd2hvc2UgaW5pdGlhbGl6ZWQgZGF0YSBhcmVhcyBzaG91bGQg YmUgZHVtcGVkIGFzIHB1cmUgYnkgZHVtcC1lbWFjcy4gICovCm9iaj0gICAgZGlzcG5ldy5v IGZyYW1lLm8gc2Nyb2xsLm8geGRpc3AubyBtZW51Lm8gJChYTUVOVV9PQkopIHdpbmRvdy5v IFwKCWNoYXJzZXQubyBjb2RpbmcubyBjYXRlZ29yeS5vIGNjbC5vIGNoYXJhY3Rlci5vIGNo YXJ0YWIubyBcCgljbS5vIHRlcm0ubyB0ZXJtaW5hbC5vIHhmYWNlcy5vICQoWE9CSikgJChH VEtfT0JKKSAkKERCVVNfT0JKKSBcCgllbWFjcy5vIGtleWJvYXJkLm8gbWFjcm9zLm8ga2V5 bWFwLm8gc3lzZGVwLm8gXAoJYnVmZmVyLm8gZmlsZWxvY2subyBpbnNkZWwubyBtYXJrZXIu byBcCgltaW5pYnVmLm8gZmlsZWlvLm8gZGlyZWQubyBmaWxlbW9kZS5vIFwKCWNtZHMubyBj YXNldGFiLm8gY2FzZWZpZGRsZS5vIGluZGVudC5vIHNlYXJjaC5vIHJlZ2V4Lm8gdW5kby5v IFwKCWFsbG9jLm8gZGF0YS5vIGRvYy5vIGVkaXRmbnMubyBjYWxsaW50Lm8gXAoJZXZhbC5v IGZsb2F0Zm5zLm8gZm5zLm8gZm9udC5vIHByaW50Lm8gbHJlYWQubyBcCglzeW50YXgubyBV TkVYRUMgYnl0ZWNvZGUubyBcCglwcm9jZXNzLm8gY2FsbHByb2MubyBcCglyZWdpb24tY2Fj aGUubyBzb3VuZC5vIGF0aW1lci5vIFwKCWRvcHJudC5vIHN0cmZ0aW1lLm8gaW50ZXJ2YWxz Lm8gdGV4dHByb3AubyBjb21wb3NpdGUubyBtZDUubyBcCgkkKE1TRE9TX09CSikgJChOU19P QkopICQoQ1lHV0lOX09CSikgJChGT05UX0RSSVZFUlMpCgovKiBPYmplY3QgZmlsZXMgdXNl ZCBvbiBzb21lIG1hY2hpbmUgb3Igb3RoZXIuCiAgIFRoZXNlIGdvIGluIHRoZSBET0MgZmls ZSBvbiBhbGwgbWFjaGluZXMKICAgaW4gY2FzZSB0aGV5IGFyZSBuZWVkZWQgdGhlcmUuICAq LwpTT01FX01BQ0hJTkVfT0JKRUNUUyA9IGRvc2Zucy5vIG1zZG9zLm8gXAogIHh0ZXJtLm8g eGZucy5vIHhtZW51Lm8geHNlbGVjdC5vIHhyZGIubyB4c21mbnMubyBmcmluZ2UubyBpbWFn ZS5vIFwKICBmb250c2V0Lm8gXAogIG5zdGVybS5vIG5zZm5zLm8gbnNtZW51Lm8gbnNzZWxl Y3QubyBuc2ltYWdlLm8gbnNmb250Lm8gXAogIHczMi5vIHczMmNvbnNvbGUubyB3MzJmbnMu byB3MzJoZWFwLm8gdzMyaW5ldnQubyBcCiAgdzMybWVudS5vIHczMnByb2MubyB3MzJyZWcu byB3MzJzZWxlY3QubyB3MzJ0ZXJtLm8gdzMyeGZucy5vICQoRk9OVF9EUklWRVJTKQoKCiNp ZmRlZiBURVJNSU5GTwovKiBVc2VkIHRvIGJlIC1sdGVybWNhcCBoZXJlLiAgSWYgeW91ciBt YWNoaW5lIG5lZWRzIHRoYXQsCiAgIGRlZmluZSBMSUJTX1RFUk1DQVAgaW4gdGhlIG0vTUFD SElORS5oIGZpbGUuICAqLwojaWZuZGVmIExJQlNfVEVSTUNBUAojZGVmaW5lIExJQlNfVEVS TUNBUCAtbGN1cnNlcwojZW5kaWYgLyogTElCU19URVJNQ0FQICovCnRlcm1jYXBvYmogPSB0 ZXJtaW5mby5vCiNlbHNlIC8qICEgZGVmaW5lZCAoVEVSTUlORk8pICovCiNpZm5kZWYgTElC U19URVJNQ0FQCiNkZWZpbmUgTElCU19URVJNQ0FQCnRlcm1jYXBvYmogPSB0ZXJtY2FwLm8g dHBhcmFtLm8KI2Vsc2UgLyogTElCU19URVJNQ0FQICovCnRlcm1jYXBvYmogPSB0cGFyYW0u bwojZW5kaWYgLyogTElCU19URVJNQ0FQICovCiNlbmRpZiAvKiAhIGRlZmluZWQgKFRFUk1J TkZPKSAqLwoKCiNpZm5kZWYgU1lTVEVNX01BTExPQwoKI2lmbmRlZiBET1VHX0xFQV9NQUxM T0MKZ21hbGxvY29iaiA9IGdtYWxsb2MubwojZW5kaWYKCiNpZmRlZiBSRUxfQUxMT0MKcmFs bG9jb2JqID0gcmFsbG9jLm8KI2VuZGlmCgptYWxsb2NvYmogPSAkKGdtYWxsb2NvYmopICQo cmFsbG9jb2JqKSB2bS1saW1pdC5vCgojZW5kaWYgLyogU1lTVEVNX01BTExPQyAqLwoKCiNp ZmRlZiBVU0VfWF9UT09MS0lUCndpZGdldG9iaj0gd2lkZ2V0Lm8KI2Vsc2UgLyogbm90IFVT RV9YX1RPT0xLSVQgKi8Kd2lkZ2V0b2JqPQojZW5kaWYgLyogbm90IFVTRV9YX1RPT0xLSVQg Ki8KCgovKiBkZWZpbmUgb3RoZXJvYmogYXMgbGlzdCBvZiBvYmplY3QgZmlsZXMgdGhhdCBt YWtlLWRvY2ZpbGUKICAgc2hvdWxkIG5vdCBiZSB0b2xkIGFib3V0LiAgKi8KI2lmZGVmIENZ R1dJTgovKiBDeWd3aW4gZGlmZmVycyBiZWNhdXNlIG9mIGl0cyB1bmV4ZWMoKS4gKi8Kb3Ro ZXJvYmo9ICQodGVybWNhcG9iaikgJChnbWFsbG9jb2JqKSAkKHJhbGxvY29iaikgbGFzdGZp bGUubyB2bS1saW1pdC5vICQod2lkZ2V0b2JqKSAkKExJQk9CSlMpCiNlbHNlCm90aGVyb2Jq PSAkKHRlcm1jYXBvYmopIGxhc3RmaWxlLm8gJChtYWxsb2NvYmopICQod2lkZ2V0b2JqKSAk KExJQk9CSlMpCiNlbmRpZgoKI2lmZGVmIEhBVkVfTU9VU0UKI2RlZmluZSBNT1VTRV9TVVBQ T1JUICR7bGlzcHNvdXJjZX1tb3VzZS5lbGMgXAogICR7bGlzcHNvdXJjZX1zZWxlY3QuZWxj ICR7bGlzcHNvdXJjZX1zY3JvbGwtYmFyLmVsYwojZWxzZQojaWZkZWYgSEFWRV9HUE0KI2Rl ZmluZSBNT1VTRV9TVVBQT1JUICR7bGlzcHNvdXJjZX1tb3VzZS5lbGMKI2Vsc2UKI2RlZmlu ZSBNT1VTRV9TVVBQT1JUCiNlbmRpZgojZW5kaWYKCiNpZmRlZiBNU0RPUwojZGVmaW5lIE1T RE9TX1NVUFBPUlQgJHtsaXNwc291cmNlfWxzLWxpc3AuZWxjICR7bGlzcHNvdXJjZX1kaXNw LXRhYmxlLmVsYyBcCiAke2xpc3Bzb3VyY2V9ZG9zLWZucy5lbGMgJHtsaXNwc291cmNlfWRv cy13MzIuZWxjICR7bGlzcHNvdXJjZX1kb3MtdmFycy5lbGMKCiNlbHNlCiNkZWZpbmUgTVNE T1NfU1VQUE9SVAojZW5kaWYKCiNpZmRlZiBIQVZFX1dJTkRPV19TWVNURU0KI2lmZGVmIEhB VkVfWF9XSU5ET1dTCiNkZWZpbmUgV0lORE9XX1NVUFBPUlQgJHtsaXNwc291cmNlfWZyaW5n ZS5lbGMgJHtsaXNwc291cmNlfWltYWdlLmVsYyBcCiAke2xpc3Bzb3VyY2V9aW50ZXJuYXRp b25hbC9mb250c2V0LmVsYyAke2xpc3Bzb3VyY2V9ZG5kLmVsYyBcCiAke2xpc3Bzb3VyY2V9 dG9vbC1iYXIuZWxjICR7bGlzcHNvdXJjZX1td2hlZWwuZWxjICR7bGlzcHNvdXJjZX14LWRu ZC5lbGMKI2Vsc2UKI2RlZmluZSBXSU5ET1dfU1VQUE9SVCAke2xpc3Bzb3VyY2V9ZnJpbmdl LmVsYyAke2xpc3Bzb3VyY2V9aW1hZ2UuZWxjIFwKICR7bGlzcHNvdXJjZX1pbnRlcm5hdGlv bmFsL2ZvbnRzZXQuZWxjICR7bGlzcHNvdXJjZX1kbmQuZWxjIFwKICR7bGlzcHNvdXJjZX10 b29sLWJhci5lbGMgJHtsaXNwc291cmNlfW13aGVlbC5lbGMKI2VuZGlmCiNlbHNlCiNkZWZp bmUgV0lORE9XX1NVUFBPUlQKI2VuZGlmCgojaWZkZWYgV0lORE9XU05UCiNkZWZpbmUgV0lO TlRfU1VQUE9SVCAke2xpc3Bzb3VyY2V9bHMtbGlzcC5lbGMgJHtsaXNwc291cmNlfWRpc3At dGFibGUuZWxjIFwKICAke2xpc3Bzb3VyY2V9ZG9zLXczMi5lbGMgJHtsaXNwc291cmNlfXcz Mi12YXJzLmVsYyBcCiAgJHtsaXNwc291cmNlfXczMi1mbnMuZWxjCiNlbHNlCiNkZWZpbmUg V0lOTlRfU1VQUE9SVAojZW5kaWYKCiNpZmRlZiBIQVZFX1dJTkRPV19TWVNURU0KI2RlZmlu ZSBUT09MVElQX1NVUFBPUlQgJHtsaXNwc291cmNlfXRvb2x0aXAuZWxjCiNlbHNlCiNkZWZp bmUgVE9PTFRJUF9TVVBQT1JUCiNlbmRpZgoKLyogTGlzdCBvZiBMaXNwIGZpbGVzIGxvYWRl ZCBpbnRvIHRoZSBkdW1wZWQgRW1hY3MuICBJdCBpcyBhcnJhbmdlZAogICBsaWtlIHRoaXMg YmVjYXVzZSBpdCBpcyBlYXNpZXIgdG8gZ2VuZXJhdGUgaXQgc2VtaS1tZWNoYW5pY2FsbHkg ZnJvbQogICBsb2FkdXAuZWwgdGhpcyB3YXkuCgogICBOb3RlIHRoYXQgdGhpcyBsaXN0IHNo b3VsZCBub3QgaW5jbHVkZSBsaXNwIGZpbGVzIHdoaWNoIG1pZ2h0IG5vdAogICBiZSBwcmVz ZW50LCBsaWtlIHNpdGUtbG9hZC5lbCBhbmQgc2l0ZS1pbml0LmVsOyB0aGlzIG1ha2VmaWxl CiAgIGV4cGVjdHMgdGhlbSBhbGwgdG8gYmUgZWl0aGVyIHByZXNlbnQgb3IgYnVpbGRhYmxl LgoKICAgRmlsZXMgd2hpY2ggYXJlIGxvYWRlZCB1bmNvbmRpdGlvbmFsbHkgc2hvdWxkIGJl IGluIHNob3J0bGlzcCBhcyB3ZWxsLgogICBGaWxlcyBpbmNsdWRlZCBjb25kaXRpb25hbGx5 IGhlcmUgc2hvdWxkIGJlIGluY2x1ZGVkICh1bmNvbmRpdGlvbmFsbHkpCiAgIGluIFNPTUVf TUFDSElORV9MSVNQLiAgKi8KCi8qIFBsYWNlIGxvYWRkZWZzLmVsIGZpcnN0LCBzbyBpdCBn ZXRzIGdlbmVyYXRlZCBmaXJzdCwgc2luY2UgaXQgaXMgb24KICAgdGhlIGNyaXRpY2FsIHBh dGggKHJlbGV2YW50IGluIHBhcmFsbGVsIGNvbXBpbGF0aW9ucykuICAqLwoKbGlzcD0gXAoJ JHtsaXNwc291cmNlfWxvYWRkZWZzLmVsIFwKCSR7bGlzcHNvdXJjZX1hYmJyZXYuZWxjIFwK CSR7bGlzcHNvdXJjZX1idWZmLW1lbnUuZWxjIFwKCSR7bGlzcHNvdXJjZX1idXR0b24uZWxj IFwKCSR7bGlzcHNvdXJjZX1lbWFjcy1saXNwL2J5dGUtcnVuLmVsYyBcCgkke2xpc3Bzb3Vy Y2V9Y29tcG9zaXRlLmVsYyBcCgkke2xpc3Bzb3VyY2V9Y3VzLWZhY2UuZWxjIFwKCSR7bGlz cHNvdXJjZX1jdXMtc3RhcnQuZWxjIFwKCSR7bGlzcHNvdXJjZX1jdXN0b20uZWxjIFwKCSR7 bGlzcHNvdXJjZX1lbWFjcy1saXNwL2JhY2txdW90ZS5lbGMgXAoJJHtsaXNwc291cmNlfWVt YWNzLWxpc3AvbGlzcC1tb2RlLmVsYyBcCgkke2xpc3Bzb3VyY2V9ZW1hY3MtbGlzcC9saXNw LmVsYyBcCgkke2xpc3Bzb3VyY2V9ZW52LmVsYyBcCgkke2xpc3Bzb3VyY2V9ZmFjZXMuZWxj IFwKCSR7bGlzcHNvdXJjZX1maWxlcy5lbGMgXAoJJHtsaXNwc291cmNlfWZvcm1hdC5lbGMg XAoJJHtsaXNwc291cmNlfWZhY2VtZW51LmVsYyBcCglNT1VTRV9TVVBQT1JUIFwKCSR7bGlz cHNvdXJjZX1lbWFjcy1saXNwL2Zsb2F0LXN1cC5lbGMgXAoJJHtsaXNwc291cmNlfWZyYW1l LmVsYyBcCgkke2xpc3Bzb3VyY2V9aGVscC5lbGMgXAoJJHtsaXNwc291cmNlfWluZGVudC5l bGMgXAoJJHtsaXNwc291cmNlfWlzZWFyY2guZWxjIFwKCSR7bGlzcHNvdXJjZX1yZm4tZXNo YWRvdy5lbGMgXAoJJHtsaXNwc291cmNlfWxvYWR1cC5lbCBcCgkke2xpc3Bzb3VyY2V9Ymlu ZGluZ3MuZWxjIFwKCSR7bGlzcHNvdXJjZX1lbWFjcy1saXNwL21hcC15bnAuZWxjIFwKCSR7 bGlzcHNvdXJjZX1tZW51LWJhci5lbGMgXAoJJHtsaXNwc291cmNlfWludGVybmF0aW9uYWwv bXVsZS5lbGMgXAoJJHtsaXNwc291cmNlfWludGVybmF0aW9uYWwvbXVsZS1jb25mLmVsIFwK CSR7bGlzcHNvdXJjZX1pbnRlcm5hdGlvbmFsL211bGUtY21kcy5lbGMgXAoJJHtsaXNwc291 cmNlfWludGVybmF0aW9uYWwvY2hhcmFjdGVycy5lbGMgXAoJJHtsaXNwc291cmNlfWludGVy bmF0aW9uYWwvY2hhcnByb3AuZWwgXAoJJHtsaXNwc291cmNlfWNhc2UtdGFibGUuZWxjIFwK CSR7bGlzcHNvdXJjZX1sYW5ndWFnZS9jaGluZXNlLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5n dWFnZS9jeXJpbGxpYy5lbCBcCgkke2xpc3Bzb3VyY2V9bGFuZ3VhZ2UvaW5kaWFuLmVsIFwK CSR7bGlzcHNvdXJjZX1sYW5ndWFnZS9zaW5oYWxhLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5n dWFnZS9lbmdsaXNoLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5ndWFnZS9ldGhpb3BpYy5lbGMg XAoJJHtsaXNwc291cmNlfWxhbmd1YWdlL2V1cm9wZWFuLmVsYyBcCgkke2xpc3Bzb3VyY2V9 bGFuZ3VhZ2UvY3plY2guZWwgXAoJJHtsaXNwc291cmNlfWxhbmd1YWdlL3Nsb3Zhay5lbCBc Cgkke2xpc3Bzb3VyY2V9bGFuZ3VhZ2Uvcm9tYW5pYW4uZWwgXAoJJHtsaXNwc291cmNlfWxh bmd1YWdlL2dyZWVrLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5ndWFnZS9oZWJyZXcuZWwgXAoJ JHtsaXNwc291cmNlfWxhbmd1YWdlL2phcGFuZXNlLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5n dWFnZS9rb3JlYW4uZWwgXAoJJHtsaXNwc291cmNlfWxhbmd1YWdlL2xhby5lbCBcCgkke2xp c3Bzb3VyY2V9bGFuZ3VhZ2UvY2hhbS5lbCBcCgkke2xpc3Bzb3VyY2V9bGFuZ3VhZ2UvdGFp LXZpZXQuZWwgXAoJJHtsaXNwc291cmNlfWxhbmd1YWdlL3RoYWkuZWwgXAoJJHtsaXNwc291 cmNlfWxhbmd1YWdlL3RpYmV0YW4uZWxjIFwKCSR7bGlzcHNvdXJjZX1sYW5ndWFnZS92aWV0 bmFtZXNlLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5ndWFnZS9taXNjLWxhbmcuZWwgXAoJJHts aXNwc291cmNlfWxhbmd1YWdlL3V0Zi04LWxhbmcuZWwgXAoJJHtsaXNwc291cmNlfWxhbmd1 YWdlL2dlb3JnaWFuLmVsIFwKCSR7bGlzcHNvdXJjZX1sYW5ndWFnZS9raG1lci5lbCBcCgkk e2xpc3Bzb3VyY2V9bGFuZ3VhZ2UvYnVybWVzZS5lbCBcCgkke2xpc3Bzb3VyY2V9cGF0aHMu ZWwgXAoJJHtsaXNwc291cmNlfXJlZ2lzdGVyLmVsYyBcCgkke2xpc3Bzb3VyY2V9cmVwbGFj ZS5lbGMgXAoJJHtsaXNwc291cmNlfXNpbXBsZS5lbGMgXAoJJHtsaXNwc291cmNlfW1pbmli dWZmZXIuZWxjIFwKCSR7bGlzcHNvdXJjZX1zdGFydHVwLmVsYyBcCgkke2xpc3Bzb3VyY2V9 c3Vici5lbGMgXAoJJHtsaXNwc291cmNlfXRlcm0vdHR5LWNvbG9ycy5lbGMgXAoJJHtsaXNw c291cmNlfWZvbnQtY29yZS5lbGMgXAoJJHtsaXNwc291cmNlfWVtYWNzLWxpc3Avc3ludGF4 LmVsYyBcCgkke2xpc3Bzb3VyY2V9Zm9udC1sb2NrLmVsYyBcCgkke2xpc3Bzb3VyY2V9aml0 LWxvY2suZWxjIFwKCSR7bGlzcHNvdXJjZX10ZXh0bW9kZXMvZmlsbC5lbGMgXAoJJHtsaXNw c291cmNlfXRleHRtb2Rlcy9wYWdlLmVsYyBcCgkke2xpc3Bzb3VyY2V9dGV4dG1vZGVzL3Bh cmFncmFwaHMuZWxjIFwKCSR7bGlzcHNvdXJjZX10ZXh0bW9kZXMvdGV4dC1tb2RlLmVsYyBc Cgkke2xpc3Bzb3VyY2V9ZW1hY3MtbGlzcC90aW1lci5lbGMgXAoJJHtsaXNwc291cmNlfWpr YS1jbXByLWhvb2suZWxjIFwKCSR7bGlzcHNvdXJjZX12Yy1ob29rcy5lbGMgXAoJJHtsaXNw c291cmNlfWVkaWZmLWhvb2suZWxjIFwKCSR7bGlzcHNvdXJjZX1lcGEtaG9vay5lbGMgXAoJ VE9PTFRJUF9TVVBQT1JUIFwKCU1TRE9TX1NVUFBPUlQgXAoJV0lOTlRfU1VQUE9SVCBcCglX SU5ET1dfU1VQUE9SVCBcCgkke2xpc3Bzb3VyY2V9d2lkZ2V0LmVsYyBcCgkke2xpc3Bzb3Vy Y2V9d2luZG93LmVsYyBcCgkke2xpc3Bzb3VyY2V9dmVyc2lvbi5lbAoKLyogVGhlc2UgYXJl IHJlbGF0aXZlIGZpbGUgbmFtZXMgZm9yIHRoZSBMaXNwIGZpbGVzCiAgIHRoYXQgYXJlIGxv YWRlZCB1bmNvbmRpdGlvbmFsbHkuICBUaGlzIGlzIHVzZWQgaW4gbWFrZS1kb2NmaWxlLgog ICBJdCBuZWVkIG5vdCBjb250YWluIHRoZSBmaWxlcyB0aGF0IGFyZSBsb2FkZWQgY29uZGl0 aW9uYWxseQogICBiZWNhdXNlIFNPTUVfTUFDSElORV9MSVNQIGhhcyB0aG9zZS4gICovCnNo b3J0bGlzcD0gXAoJLi4vbGlzcC9sb2FkZGVmcy5lbCBcCgkuLi9saXNwL2FiYnJldi5lbGMg XAoJLi4vbGlzcC9idWZmLW1lbnUuZWxjIFwKCS4uL2xpc3AvYnV0dG9uLmVsYyBcCgkuLi9s aXNwL2VtYWNzLWxpc3AvYnl0ZS1ydW4uZWxjIFwKCS4uL2xpc3AvY29tcG9zaXRlLmVsYyBc CgkuLi9saXNwL2N1cy1mYWNlLmVsYyBcCgkuLi9saXNwL2N1cy1zdGFydC5lbGMgXAoJLi4v bGlzcC9jdXN0b20uZWxjIFwKCS4uL2xpc3AvZW1hY3MtbGlzcC9iYWNrcXVvdGUuZWxjIFwK CS4uL2xpc3AvZW1hY3MtbGlzcC9saXNwLW1vZGUuZWxjIFwKCS4uL2xpc3AvZW1hY3MtbGlz cC9saXNwLmVsYyBcCgkuLi9saXNwL2ZhY2VtZW51LmVsYyBcCgkuLi9saXNwL2ZhY2VzLmVs YyBcCgkuLi9saXNwL2ZpbGVzLmVsYyBcCgkuLi9saXNwL2VtYWNzLWxpc3AvZmxvYXQtc3Vw LmVsYyBcCgkuLi9saXNwL2Zvcm1hdC5lbGMgXAoJLi4vbGlzcC9mcmFtZS5lbGMgXAoJLi4v bGlzcC9oZWxwLmVsYyBcCgkuLi9saXNwL2luZGVudC5lbGMgXAoJLi4vbGlzcC9pc2VhcmNo LmVsYyBcCgkuLi9saXNwL3Jmbi1lc2hhZG93LmVsYyBcCgkuLi9saXNwL2xvYWR1cC5lbCBc CgkuLi9saXNwL2JpbmRpbmdzLmVsYyBcCgkuLi9saXNwL2VtYWNzLWxpc3AvbWFwLXlucC5l bGMgXAoJLi4vbGlzcC9lbnYuZWxjIFwKCS4uL2xpc3AvaW50ZXJuYXRpb25hbC9tdWxlLmVs YyBcCgkuLi9saXNwL2ludGVybmF0aW9uYWwvbXVsZS1jb25mLmVsIFwKCS4uL2xpc3AvaW50 ZXJuYXRpb25hbC9tdWxlLWNtZHMuZWxjIFwKCS4uL2xpc3AvaW50ZXJuYXRpb25hbC9jaGFy YWN0ZXJzLmVsYyBcCgkuLi9saXNwL2Nhc2UtdGFibGUuZWxjIFwKCS4uL2xpc3AvbGFuZ3Vh Z2UvY2hpbmVzZS5lbCBcCgkuLi9saXNwL2xhbmd1YWdlL2N5cmlsbGljLmVsIFwKCS4uL2xp c3AvbGFuZ3VhZ2UvaW5kaWFuLmVsIFwKCS4uL2xpc3AvbGFuZ3VhZ2Uvc2luaGFsYS5lbCBc CgkuLi9saXNwL2xhbmd1YWdlL2VuZ2xpc2guZWwgXAoJLi4vbGlzcC9sYW5ndWFnZS9ldGhp b3BpYy5lbGMgXAoJLi4vbGlzcC9sYW5ndWFnZS9ldXJvcGVhbi5lbGMgXAoJLi4vbGlzcC9s YW5ndWFnZS9jemVjaC5lbCBcCgkuLi9saXNwL2xhbmd1YWdlL3Nsb3Zhay5lbCBcCgkuLi9s aXNwL2xhbmd1YWdlL3JvbWFuaWFuLmVsIFwKCS4uL2xpc3AvbGFuZ3VhZ2UvZ3JlZWsuZWwg XAoJLi4vbGlzcC9sYW5ndWFnZS9oZWJyZXcuZWwgXAoJLi4vbGlzcC9sYW5ndWFnZS9qYXBh bmVzZS5lbCBcCgkuLi9saXNwL2xhbmd1YWdlL2tvcmVhbi5lbCBcCgkuLi9saXNwL2xhbmd1 YWdlL2xhby5lbCBcCgkuLi9saXNwL2xhbmd1YWdlL2NoYW0uZWwgXAoJLi4vbGlzcC9sYW5n dWFnZS90YWktdmlldC5lbCBcCgkuLi9saXNwL2xhbmd1YWdlL3RoYWkuZWwgXAoJLi4vbGlz cC9sYW5ndWFnZS90aWJldGFuLmVsYyBcCgkuLi9saXNwL2xhbmd1YWdlL3ZpZXRuYW1lc2Uu ZWwgXAoJLi4vbGlzcC9sYW5ndWFnZS9taXNjLWxhbmcuZWwgXAoJLi4vbGlzcC9sYW5ndWFn ZS91dGYtOC1sYW5nLmVsIFwKCS4uL2xpc3AvbGFuZ3VhZ2UvZ2VvcmdpYW4uZWwgXAoJLi4v bGlzcC9sYW5ndWFnZS9raG1lci5lbCBcCgkuLi9saXNwL2xhbmd1YWdlL2J1cm1lc2UuZWwg XAoJLi4vbGlzcC9tZW51LWJhci5lbGMgXAoJLi4vbGlzcC9wYXRocy5lbCBcCgkuLi9saXNw L3JlZ2lzdGVyLmVsYyBcCgkuLi9saXNwL3JlcGxhY2UuZWxjIFwKCS4uL2xpc3Avc2ltcGxl LmVsYyBcCgkuLi9saXNwL21pbmlidWZmZXIuZWxjIFwKCS4uL2xpc3Avc3RhcnR1cC5lbGMg XAoJLi4vbGlzcC9zdWJyLmVsYyBcCgkuLi9saXNwL3Rlcm0vdHR5LWNvbG9ycy5lbGMgXAoJ Li4vbGlzcC9mb250LWNvcmUuZWxjIFwKCS4uL2xpc3AvZW1hY3MtbGlzcC9zeW50YXguZWxj IFwKCS4uL2xpc3AvZm9udC1sb2NrLmVsYyBcCgkuLi9saXNwL2ppdC1sb2NrLmVsYyBcCgku Li9saXNwL3RleHRtb2Rlcy9maWxsLmVsYyBcCgkuLi9saXNwL3RleHRtb2Rlcy9wYWdlLmVs YyBcCgkuLi9saXNwL3RleHRtb2Rlcy9wYXJhZ3JhcGhzLmVsYyBcCgkuLi9saXNwL3RleHRt b2Rlcy90ZXh0LW1vZGUuZWxjIFwKCS4uL2xpc3AvZW1hY3MtbGlzcC90aW1lci5lbGMgXAoJ Li4vbGlzcC92Yy1ob29rcy5lbGMgXAoJLi4vbGlzcC9qa2EtY21wci1ob29rLmVsYyBcCgku Li9saXNwL2VkaWZmLWhvb2suZWxjIFwKCS4uL2xpc3AvZXBhLWhvb2suZWxjIFwKCS4uL2xp c3Avd2lkZ2V0LmVsYyBcCgkuLi9saXNwL3dpbmRvdy5lbGMgXAoJLi4vbGlzcC92ZXJzaW9u LmVsCgovKiBMaXNwIGZpbGVzIHRoYXQgbWF5IG9yIG1heSBub3QgYmUgdXNlZC4KICAgV2Ug bXVzdCB1bmNvbmRpdGlvbmFsbHkgcHV0IHRoZW0gaW4gdGhlIERPQyBmaWxlLgogICBXZSB1 c2UgLi4vbGlzcC8gdG8gc3RhcnQgdGhlIGZpbGUgbmFtZXMKICAgdG8gcmVkdWNlIHRoZSBz aXplIG9mIHRoZSBhcmd1bWVudCBsaXN0IGZvciBtYWtlLWRvY2ZpbGUKICAgZm9yIHRoZSBz YWtlIG9mIHN5c3RlbXMgd2hpY2ggY2FuJyd0IGhhbmRsZSBsYXJnZSBvbmVzLiAgKi8KU09N RV9NQUNISU5FX0xJU1AgPSAuLi9saXNwL21vdXNlLmVsYyBcCiAgLi4vbGlzcC9zZWxlY3Qu ZWxjIC4uL2xpc3Avc2Nyb2xsLWJhci5lbGMgXAogIC4uL2xpc3AvbHMtbGlzcC5lbGMgLi4v bGlzcC9kb3MtZm5zLmVsYyBcCiAgLi4vbGlzcC93MzItZm5zLmVsYyAuLi9saXNwL2Rvcy13 MzIuZWxjIFwKICAuLi9saXNwL2Rpc3AtdGFibGUuZWxjIC4uL2xpc3AvZG9zLXZhcnMuZWxj IFwKICAuLi9saXNwL3Rvb2x0aXAuZWxjIC4uL2xpc3AvaW1hZ2UuZWxjIFwKICAuLi9saXNw L2ZyaW5nZS5lbGMgLi4vbGlzcC9kbmQuZWxjIFwKICAuLi9saXNwL213aGVlbC5lbGMgLi4v bGlzcC90b29sLWJhci5lbGMgXAogIC4uL2xpc3AveC1kbmQuZWxjIFwKICAuLi9saXNwL2lu dGVybmF0aW9uYWwvY2NsLmVsYyBcCiAgLi4vbGlzcC9pbnRlcm5hdGlvbmFsL2ZvbnRzZXQu ZWxjIFwKICAuLi9saXNwL21vdXNlLmVsYyBcCiAgLi4vbGlzcC90ZXJtL2NvbW1vbi13aW4u ZWxjIFwKICAuLi9saXNwL3Rlcm0veC13aW4uZWxjIFwKICAuLi9saXNwL3Rlcm0vcGMtd2lu LmVsYyBcCiAgLi4vbGlzcC90ZXJtL25zLXdpbi5lbGMKCi8qIENvbnN0cnVjdCBmdWxsIHNl dCBvZiBsaWJyYXJpZXMgdG8gYmUgbGlua2VkLgogICBOb3RlIHRoYXQgU3VuT1MgbmVlZHMg LWxtIHRvIGNvbWUgYmVmb3JlIC1sYzsgb3RoZXJ3aXNlLCB5b3UgZ2V0CiAgIGR1cGxpY2F0 ZWQgc3ltYm9scy4gIElmIHRoZSBzdGFuZGFyZCBsaWJyYXJpZXMgd2VyZSBjb21waWxlZAog ICB3aXRoIEdDQywgd2UgbWlnaHQgbmVlZCBnbnVsaWIgYWdhaW4gYWZ0ZXIgdGhlbS4gICov CgpMSUJFUyA9ICQoTE9BRExJQkVTKSAkKExJQlMpICQoTElCWCkgJChMSUJTT1VORCkgJChS U1ZHX0xJQlMpICQoREJVU19MSUJTKSBcCiAgIExJQkdQTSBMSUJSRVNPTFYgTElCU19TWVNU RU0gTElCU19NQUNISU5FIExJQlNfVEVSTUNBUCBcCiAgIExJQlNfREVCVUcgJChHRVRMT0FE QVZHX0xJQlMpIFwKICAgQEZSRUVUWVBFX0xJQlNAIEBGT05UQ09ORklHX0xJQlNAIEBMSUJP VEZfTElCU0AgQE0xN05fRkxUX0xJQlNAIFwKICAgJChHTlVMSUJfVkFSKSBMSUJfTUFUSCBM SUJfU1RBTkRBUkQgJChHTlVMSUJfVkFSKQoKLyogRW5hYmxlIHJlY29tcGlsYXRpb24gb2Yg Y2VydGFpbiBvdGhlciBmaWxlcyBkZXBlbmRpbmcgb24gc3lzdGVtIHR5cGUuICAqLwoKI2lm bmRlZiBPVEhFUl9GSUxFUwojZGVmaW5lIE9USEVSX0ZJTEVTCiNlbmRpZgoKI2lmbmRlZiBP QkpFQ1RTX01BQ0hJTkUKI2RlZmluZSBPQkpFQ1RTX01BQ0hJTkUKI2VuZGlmCgojaWZkZWYg SEFWRV9TSE0KUlVOX1RFTUFDUyA9IGAvYmluL3B3ZGAvdGVtYWNzIC1ubAojZWxzZQpSVU5f VEVNQUNTID0gYC9iaW4vcHdkYC90ZW1hY3MKI2VuZGlmCgphbGw6IGVtYWNzJHtFWEVFWFR9 IE9USEVSX0ZJTEVTCgplbWFjcyR7RVhFRVhUfTogdGVtYWNzJHtFWEVFWFR9ICR7ZXRjfURP QyAke2xpc3B9ICR7U09NRV9NQUNISU5FX0xJU1B9CiNpZmRlZiBDQU5OT1RfRFVNUAoJcm0g LWYgZW1hY3Mke0VYRUVYVH0KCWxuIHRlbWFjcyR7RVhFRVhUfSBlbWFjcyR7RVhFRVhUfQoj ZWxzZQoJTENfQUxMPUMgJChSVU5fVEVNQUNTKSAtYmF0Y2ggLWwgbG9hZHVwIGR1bXAKCUA6 IFRoaXMgbmV3IEVtYWNzIGlzIGFzIGZ1bmN0aW9uYWwgYW5kIG1vcmUgZWZmaWNpZW50IHRo ZW4KCUA6IGJvb3RzdHJhcC1lbWFjcywgc28gbGV0IHVzIHJlcGxhY2UgaXQuCgktbG4gLWYg ZW1hY3Mke0VYRUVYVH0gYm9vdHN0cmFwLWVtYWNzJHtFWEVFWFR9CiNlbmRpZiAvKiAhIGRl ZmluZWQgKENBTk5PVF9EVU1QKSAqLwoJLS4vZW1hY3MgLXEgLWJhdGNoIC1mIGxpc3QtbG9h ZC1wYXRoLXNoYWRvd3MKCi8qIFdlIHJ1biBtYWtlLWRvY2ZpbGUgdHdpY2UgYmVjYXVzZSB0 aGUgY29tbWFuZCBsaW5lIG1heSBnZXQgdG9vIGxvbmcKICAgb24gc29tZSBzeXN0ZW1zLiAg Ki8KLyogJHtTT01FX01BQ0hJTkVfT0JKRUNUU30gY29tZXMgYmVmb3JlICR7b2JqfSBiZWNh dXNlIHNvbWUgZmlsZXMgbWF5CiAgIG9yIG1heSBub3QgYmUgaW5jbHVkZWQgaW4gJHtvYmp9 LCBidXQgdGhleSBhcmUgYWx3YXlzIGluY2x1ZGVkIGluCiAgICR7U09NRV9NQUNISU5FX09C SkVDVFN9LiAgU2luY2UgYSBmaWxlIGlzIHByb2Nlc3NlZCB3aGVuIGl0IGlzIG1lbnRpb25l ZAogICBmb3IgdGhlIGZpcnN0IHRpbWUsIHRoaXMgcHJldmVudHMgYW55IHZhcmlhdGlvbiBi ZXR3ZWVuIGNvbmZpZ3VyYXRpb25zCiAgIGluIHRoZSBjb250ZW50cyBvZiB0aGUgRE9DIGZp bGUuCiAgIExpa2V3aXNlIGZvciAke1NPTUVfTUFDSElORV9MSVNQfS4gICovCi8qIE1vc3Qg b2YgdGhpcyBNYWtlZmlsZSByZWZlcnMgdG8gTGlzcCBmaWxlcyB2aWEgJHtsaXNwc291cmNl fSwgc28KICAgd2UgYWxzbyB1c2UgJHtsaXNwfSByYXRoZXIgdGhhbiAke3Nob3J0bGlzcH0g Zm9yIHRoZSBkZXBlbmRlbmN5IHNpbmNlCiAgIHRoZSBNYWtlZmlsZSB1c2VzIHN0cmluZyBl cXVhbGl0eSB0byBkZWNpZGUgd2hlbiB3ZSB0YWxrIGFib3V0IGlkZW50aWNhbAogICBmaWxl cy4gIEFwcGFyZW50bHkgd2UgcGFzcyAke3Nob3J0bGlzcH0gcmF0aGVyIHRoYW4gJHtsaXNw fSB0byBtYWtlLWRvY2ZpbGUKICAgb25seSBpbiBvcmRlciB0byByZWR1Y2UgdGhlIGNvbW1h bmQgbGluZSBsZW5ndGguICAtLVN0ZWYgICovCiR7ZXRjfURPQzogJHtsaWJzcmN9bWFrZS1k b2NmaWxlJHtFWEVFWFR9ICR7b2JqfSAke2xpc3B9ICR7U09NRV9NQUNISU5FX0xJU1B9Cgkt cm0gLWYgJHtldGN9RE9DCgkke2xpYnNyY31tYWtlLWRvY2ZpbGUgLWQgJHtzcmNkaXJ9ICR7 U09NRV9NQUNISU5FX09CSkVDVFN9ICR7b2JqfSA+ICR7ZXRjfURPQwoJJHtsaWJzcmN9bWFr ZS1kb2NmaWxlIC1hICR7ZXRjfURPQyAtZCAke3NyY2Rpcn0gJHtTT01FX01BQ0hJTkVfTElT UH0gJHtzaG9ydGxpc3B9Cgoke2xpYnNyY31tYWtlLWRvY2ZpbGUke0VYRUVYVH06CgljZCAk e2xpYnNyY307ICR7TUFLRX0gJHtNRkxBR1N9IG1ha2UtZG9jZmlsZSR7RVhFRVhUfQoKdGVt YWNzJHtFWEVFWFR9OiAkKExPQ0FMQ1BQKSAkKFNUQVJURklMRVMpIHN0YW1wLW9sZHhtZW51 ICR7b2JqfSAke290aGVyb2JqfSBPQkpFQ1RTX01BQ0hJTkUgcHJlZml4LWFyZ3Mke0VYRUVY VH0KCWVjaG8gIiR7b2JqfSAke290aGVyb2JqfSAiIE9CSkVDVFNfTUFDSElORSA+IGJ1aWxk b2JqLmxzdAojaWZkZWYgTlNfSU1QTF9HTlVTVEVQCgkkKENDKSAtcmR5bmFtaWMgWU1GX1BB U1NfTERGTEFHUyAoICR7VEVNQUNTX0xERkxBR1N9IFwKCS1MQEdOVVNURVBfU1lTVEVNX0xJ QlJBUklFU0AgLWxnbnVzdGVwLWd1aSAtbGdudXN0ZXAtYmFzZSBcCgktbG9iamMgJChDT05G SUdfU1lTVEVNX0xJQlMpIC1scHRocmVhZCApIC1vIHRlbWFjcyBcCgkke29ian0gJHtvdGhl cm9ian0gT0JKRUNUU19NQUNISU5FICR7TElCRVN9CiNlbHNlCgkkKExEKSBZTUZfUEFTU19M REZMQUdTICgke1NUQVJURkxBR1N9ICR7VEVNQUNTX0xERkxBR1N9KSAkKExERkxBR1MpIFwK ICAgIC1vIHRlbWFjcyAke1NUQVJURklMRVN9ICR7b2JqfSAke290aGVyb2JqfSAgXAogICAg T0JKRUNUU19NQUNISU5FICR7TElCRVN9CiNlbmRpZgoKLyogV2UgZG8gbm90IHVzZSBBTExf TERGTEFHUyBiZWNhdXNlIExEX1NXSVRDSF9TWVNURU0gYW5kIExEX1NXSVRDSF9NQUNISU5F CiAgIG9mdGVuIGNvbnRhaW4gb3B0aW9ucyB0aGF0IGhhdmUgdG8gZG8gd2l0aCB1c2luZyBF bWFjcycncyBjcnQwLAogICB3aGljaCBhcmUgb25seSBnb29kIHdpdGggdGVtYWNzLiAgKi8K cHJlZml4LWFyZ3Mke0VYRUVYVH06IHByZWZpeC1hcmdzLmMgJChjb25maWdfaCkKCSQoQ0Mp ICQoQUxMX0NGTEFHUykgJChMREZMQUdTKSAke3NyY2Rpcn0vcHJlZml4LWFyZ3MuYyAtbyBw cmVmaXgtYXJncwoKI2lmIGRlZmluZWQgKEhBVkVfWF9XSU5ET1dTKSAmJiBkZWZpbmVkIChI QVZFX1gxMSkgJiYgZGVmaW5lZCAoSEFWRV9NRU5VUykgJiYgISBkZWZpbmVkIChVU0VfR1RL KQoKLyogV2UgdXNlIHN0YW1wLXhtZW51IHdpdGggdGhlc2UgdHdvIGRlcHMKICAgdG8gYm90 aCBlbnN1cmUgdGhhdCBsd2xpYiBnZXRzIHJlbWFkZSBiYXNlZCBvbiBpdHMgZGVwZW5kZW5j aWVzCiAgIGluIGl0cyBvd24gbWFrZWZpbGUsCiAgIGFuZCByZW1ha2UgdGVtYWNzIGlmIGx3 bGliIGdldHMgY2hhbmdlZCBieSB0aGlzLiAgKi8Kc3RhbXAtb2xkeG1lbnU6ICR7T0xEWE1F TlV9IC4uL3NyYy8kKE9MRFhNRU5VKQoJdG91Y2ggc3RhbXAtb2xkeG1lbnUKLyogU3VwcGx5 IGFuIG9yZGVyaW5nIGZvciBwYXJhbGxlbCBtYWtlLiAgKi8KLi4vc3JjLyQoT0xEWE1FTlUp OiAke09MRFhNRU5VfQoKLyogRW5jb2RlIHRoZSB2YWx1ZXMgb2YgdGhlc2UgdHdvIG1hY3Jv cyBpbiBNYWtlIHZhcmlhYmxlcywKICAgc28gd2UgY2FuIHVzZSAkKC4uLikgdG8gc3Vic3Rp dHV0ZSB0aGVpciB2YWx1ZXMgd2l0aGluICIuLi4iLiAgKi8KQ19TV0lUQ0hfTUFDSElORV8x ID0gQ19TV0lUQ0hfTUFDSElORQpDX1NXSVRDSF9TWVNURU1fMSA9IENfU1dJVENIX1NZU1RF TQpDX1NXSVRDSF9YX1NJVEVfMSA9IENfU1dJVENIX1hfU0lURQpDX1NXSVRDSF9YX01BQ0hJ TkVfMSA9IENfU1dJVENIX1hfTUFDSElORQpDX1NXSVRDSF9YX1NZU1RFTV8xID0gQ19TV0lU Q0hfWF9TWVNURU0KCiNpZmRlZiBVU0VfWF9UT09MS0lUCiQoT0xEWE1FTlUpOiByZWFsbHkt bHdsaWIKCnJlYWxseS1sd2xpYjoKCWNkICR7bHdsaWJkaXJ9OyAke01BS0V9ICR7TUZMQUdT fSBcCiAgICBDQz0nJHtDQ30nIENGTEFHUz0nJHtDRkxBR1N9JyBNQUtFPScke01BS0V9JyBc CiAgICAiQ19TV0lUQ0hfWF9TSVRFPSQoQ19TV0lUQ0hfWF9TSVRFXzEpIiBcCiAgICAiQ19T V0lUQ0hfWF9NQUNISU5FPSQoQ19TV0lUQ0hfWF9NQUNISU5FXzEpIiBcCiAgICAiQ19TV0lU Q0hfWF9TWVNURU09JChDX1NXSVRDSF9YX1NZU1RFTV8xKSIgXAogICAgIkNfU1dJVENIX01B Q0hJTkU9JChDX1NXSVRDSF9NQUNISU5FXzEpIiBcCiAgICAiQ19TV0lUQ0hfU1lTVEVNPSQo Q19TV0lUQ0hfU1lTVEVNXzEpIgoJQHRydWUgIC8qIG1ha2UgLXQgc2hvdWxkIG5vdCBjcmVh dGUgcmVhbGx5LWx3bGliLiAgKi8KLlBIT05ZOiByZWFsbHktbHdsaWIKI2Vsc2UgLyogbm90 IFVTRV9YX1RPT0xLSVQgKi8KJChPTERYTUVOVSk6IHJlYWxseS1vbGRYTWVudQoKcmVhbGx5 LW9sZFhNZW51OgoJY2QgJHtvbGRYTWVudWRpcn07ICR7TUFLRX0gJHtNRkxBR1N9IFwKICAg IENDPScke0NDfScgQ0ZMQUdTPScke0NGTEFHU30nIE1BS0U9JyR7TUFLRX0nIFwKICAgICJD X1NXSVRDSF9YX1NJVEU9JChDX1NXSVRDSF9YX1NJVEVfMSkiIFwKICAgICJDX1NXSVRDSF9Y X01BQ0hJTkU9JChDX1NXSVRDSF9YX01BQ0hJTkVfMSkiIFwKICAgICJDX1NXSVRDSF9YX1NZ U1RFTT0kKENfU1dJVENIX1hfU1lTVEVNXzEpIiBcCiAgICAiQ19TV0lUQ0hfTUFDSElORT0k KENfU1dJVENIX01BQ0hJTkVfMSkiIFwKICAgICJDX1NXSVRDSF9TWVNURU09JChDX1NXSVRD SF9TWVNURU1fMSkiCglAdHJ1ZSAgLyogbWFrZSAtdCBzaG91bGQgbm90IGNyZWF0ZSByZWFs bHktb2xkWE1lbnUuICAqLwouUEhPTlk6IHJlYWxseS1vbGRYTWVudQojZW5kaWYgLyogbm90 IFVTRV9YX1RPT0xLSVQgKi8KI2Vsc2UgLyogbm90IChIQVZFX1hfV0lORE9XUyAmJiBIQVZF X1gxMSAmJiBIQVZFX01FTlVTICYmICEgVVNFX0dUSykgKi8KCi8qIFdlIGRvbicndCByZWFs bHkgbmVlZCB0aGlzLCBidXQgc2F0aXNmeSB0aGUgZGVwZW5kZW5jeS4gICovCnN0YW1wLW9s ZHhtZW51OgoJdG91Y2ggc3RhbXAtb2xkeG1lbnUKI2VuZGlmIC8qIG5vdCAoSEFWRV9YX1dJ TkRPV1MgJiYgSEFWRV9YMTEgJiYgSEFWRV9NRU5VUyAmJiAhIFVTRV9HVEspICovCgouLi9j b25maWcuc3RhdHVzOjogZXBhdGhzLmluCglAZWNobyAiVGhlIGZpbGUgZXBhdGhzLmggbmVl ZHMgdG8gYmUgc2V0IHVwIGZyb20gZXBhdGhzLmluLiIKCUBlY2hvICJQbGVhc2UgcnVuIHRo ZSBgY29uZmlndXJlJyBzY3JpcHQgYWdhaW4uIgoJZXhpdCAxCgouLi9jb25maWcuc3RhdHVz OjogY29uZmlnLmluCglAZWNobyAiVGhlIGZpbGUgY29uZmlnLmggbmVlZHMgdG8gYmUgc2V0 IHVwIGZyb20gY29uZmlnLmluLiIKCUBlY2hvICJQbGVhc2UgcnVuIHRoZSBgY29uZmlndXJl JyBzY3JpcHQgYWdhaW4uIgoJZXhpdCAxCgovKiBOZWFybHkgYWxsIHRoZSBmb2xsb3dpbmcg ZmlsZXMgZGVwZW5kIG9uIGxpc3AuaCwKICAgYnV0IGl0IGlzIG5vdCBpbmNsdWRlZCBhcyBh IGRlcGVuZGVuY3kgYmVjYXVzZQogICBpdCBpcyBzbyBvZnRlbiBjaGFuZ2VkIGluIHdheXMg dGhhdCBkbyBub3QgcmVxdWlyZSBhbnkgcmVjb21waWxhdGlvbgogICBhbmQgc28gcmFyZWx5 IGNoYW5nZWQgaW4gd2F5cyB0aGF0IGRvIHJlcXVpcmUgYW55LiAgKi8KCmF0aW1lci5vOiBh dGltZXIuYyBhdGltZXIuaCBzeXNzaWduYWwuaCBzeXN0aW1lLmggJChjb25maWdfaCkKYWJi cmV2Lm86IGFiYnJldi5jIGJ1ZmZlci5oIHdpbmRvdy5oIGRpc3BleHRlcm4uaCBjb21tYW5k cy5oIGNoYXJhY3Rlci5oIFwKCXN5bnRheC5oICQoY29uZmlnX2gpCmJ1ZmZlci5vOiBidWZm ZXIuYyBidWZmZXIuaCByZWdpb24tY2FjaGUuaCBjb21tYW5kcy5oIHdpbmRvdy5oIFwKICAg ZGlzcGV4dGVybi5oICQoSU5URVJWQUxTX0gpIGJsb2NraW5wdXQuaCBhdGltZXIuaCBzeXN0 aW1lLmggY2hhcmFjdGVyLmggXAogICAkKGNvbmZpZ19oKQpjYWxsaW50Lm86IGNhbGxpbnQu YyB3aW5kb3cuaCBjb21tYW5kcy5oIGJ1ZmZlci5oIGtleW1hcC5oIFwKICAga2V5Ym9hcmQu aCBkaXNwZXh0ZXJuLmggJChjb25maWdfaCkKY2FsbHByb2MubzogY2FsbHByb2MuYyBlcGF0 aHMuaCBidWZmZXIuaCBjb21tYW5kcy5oICQoY29uZmlnX2gpIFwKCXByb2Nlc3MuaCBzeXN0 dHkuaCBzeXNzaWduYWwuaCBjaGFyYWN0ZXIuaCBjb2RpbmcuaCBjY2wuaCBtc2Rvcy5oIFwK ICAgICAgICBjb21wb3NpdGUuaCB3MzIuaCBibG9ja2lucHV0LmggYXRpbWVyLmggc3lzdGlt ZS5oIGZyYW1lLmggdGVybWhvb2tzLmgKY2FzZWZpZGRsZS5vOiBjYXNlZmlkZGxlLmMgc3lu dGF4LmggY29tbWFuZHMuaCBidWZmZXIuaCBjaGFyYWN0ZXIuaCBcCiAgIGNvbXBvc2l0ZS5o IFwKCWNoYXJzZXQuaCBrZXltYXAuaCAkKGNvbmZpZ19oKQpjYXNldGFiLm86IGNhc2V0YWIu YyBidWZmZXIuaCAkKGNvbmZpZ19oKQpjYXRlZ29yeS5vOiBjYXRlZ29yeS5jIGNhdGVnb3J5 LmggYnVmZmVyLmggY2hhcnNldC5oIGtleW1hcC5oCVwKCWNoYXJhY3Rlci5oICQoY29uZmln X2gpCmNjbC5vOiBjY2wuYyBjY2wuaCBjaGFyc2V0LmggY2hhcmFjdGVyLmggY29kaW5nLmgg JChjb25maWdfaCkKY2hhcmFjdGVyLm86IGNoYXJhY3Rlci5jIGNoYXJhY3Rlci5oIGJ1ZmZl ci5oIGNoYXJzZXQuaCBjb21wb3NpdGUuaCBkaXNwdGFiLmggXAogICAkKGNvbmZpZ19oKQpj aGFyc2V0Lm86IGNoYXJzZXQuYyBjaGFyc2V0LmggY2hhcmFjdGVyLmggYnVmZmVyLmggY29k aW5nLmggY29tcG9zaXRlLmggXAogICBkaXNwdGFiLmggJChjb25maWdfaCkKY2hhcnRhYi5v OiBjaGFyc2V0LmggY2hhcmFjdGVyLmggJChjb25maWdfaCkKY29kaW5nLm86IGNvZGluZy5j IGNvZGluZy5oIGNjbC5oIGJ1ZmZlci5oIGNoYXJhY3Rlci5oIGNoYXJzZXQuaCAkKElOVEVS VkFMU19IKSBjb21wb3NpdGUuaCBcCgl3aW5kb3cuaCBkaXNwZXh0ZXJuLmggZnJhbWUuaCB0 ZXJtaG9va3MuaCAkKGNvbmZpZ19oKQpjbS5vOiBjbS5jIGZyYW1lLmggY20uaCB0ZXJtaG9v a3MuaCB0ZXJtY2hhci5oICQoY29uZmlnX2gpCmNtZHMubzogY21kcy5jIHN5bnRheC5oIGJ1 ZmZlci5oIGNoYXJhY3Rlci5oIGNvbW1hbmRzLmggd2luZG93LmggJChjb25maWdfaCkgXAoJ bXNkb3MuaCBkaXNwZXh0ZXJuLmgga2V5Ym9hcmQuaCBrZXltYXAuaApwcmUtY3J0MC5vOiBw cmUtY3J0MC5jCmVjcnQwLm86IGVjcnQwLmMgJChjb25maWdfaCkKCUNSVDBfQ09NUElMRSAk e3NyY2Rpcn0vZWNydDAuYwpkYnVzYmluZC5vOiBkYnVzYmluZC5jIHRlcm1ob29rcy5oIGZy YW1lLmgga2V5Ym9hcmQuaCAkKGNvbmZpZ19oKQpkaXJlZC5vOiBkaXJlZC5jIGNvbW1hbmRz LmggYnVmZmVyLmggJChjb25maWdfaCkgY2hhcmFjdGVyLmggY2hhcnNldC5oIFwKICAgY29k aW5nLmggcmVnZXguaCBzeXN0aW1lLmggYmxvY2tpbnB1dC5oIGF0aW1lci5oCmRpc3BuZXcu bzogZGlzcG5ldy5jIHN5c3RpbWUuaCBjb21tYW5kcy5oIHByb2Nlc3MuaCBmcmFtZS5oIFwK ICAgd2luZG93LmggYnVmZmVyLmggZGlzcGV4dGVybi5oIHRlcm1jaGFyLmggdGVybW9wdHMu aCB0ZXJtaG9va3MuaCBjbS5oIFwKICAgZGlzcHRhYi5oIGluZGVudC5oICQoSU5URVJWQUxT X0gpIFwKICAgeHRlcm0uaCBibG9ja2lucHV0LmggYXRpbWVyLmggY2hhcmFjdGVyLmggbXNk b3MuaCBjb21wb3NpdGUuaCBrZXlib2FyZC5oIFwKICAgc3lzc2lnbmFsLmggJChjb25maWdf aCkKZG9jLm86IGRvYy5jICQoY29uZmlnX2gpIGVwYXRocy5oIGJ1ZmZlci5oIGtleWJvYXJk Lmgga2V5bWFwLmggY2hhcmFjdGVyLmgKZG9wcm50Lm86IGRvcHJudC5jIGNoYXJhY3Rlci5o ICQoY29uZmlnX2gpCmRvc2Zucy5vOiBidWZmZXIuaCB0ZXJtY2hhci5oIHRlcm1ob29rcy5o IGZyYW1lLmggYmxvY2tpbnB1dC5oIHdpbmRvdy5oIFwKICAgbXNkb3MuaCBkb3NmbnMuaCBk aXNwZXh0ZXJuLmggY2hhcnNldC5oIGNvZGluZy5oIGF0aW1lci5oIHN5c3RpbWUuaCBcCiAg ICQoY29uZmlnX2gpCmVkaXRmbnMubzogZWRpdGZucy5jIHdpbmRvdy5oIGJ1ZmZlci5oIHN5 c3RpbWUuaCAkKElOVEVSVkFMU19IKSBjaGFyYWN0ZXIuaCBcCiAgIGNvZGluZy5oIGRpc3Bl eHRlcm4uaCBmcmFtZS5oIGJsb2NraW5wdXQuaCBhdGltZXIuaCAkKGNvbmZpZ19oKQplbWFj cy5vOiBlbWFjcy5jIGNvbW1hbmRzLmggc3lzdHR5Lmggc3lzc2lnbmFsLmggYmxvY2tpbnB1 dC5oIHByb2Nlc3MuaCBcCiAgIHRlcm1ob29rcy5oIGJ1ZmZlci5oIGF0aW1lci5oIHN5c3Rp bWUuaCAkKElOVEVSVkFMU19IKSAkKGNvbmZpZ19oKSBcCiAgIHdpbmRvdy5oIGRpc3BleHRl cm4uaCBrZXlib2FyZC5oIGtleW1hcC5oCmZpbGVpby5vOiBmaWxlaW8uYyB3aW5kb3cuaCBi dWZmZXIuaCBzeXN0aW1lLmggJChJTlRFUlZBTFNfSCkgY2hhcmFjdGVyLmggXAogICBjb2Rp bmcuaCBtc2Rvcy5oIGRpc3BleHRlcm4uaCBibG9ja2lucHV0LmggYXRpbWVyLmggJChjb25m aWdfaCkKZmlsZWxvY2subzogZmlsZWxvY2suYyBidWZmZXIuaCBjaGFyYWN0ZXIuaCBjaGFy c2V0LmggY29kaW5nLmggc3lzdGltZS5oIFwKICAgZXBhdGhzLmggJChjb25maWdfaCkKZmls ZW1vZGUubzogZmlsZW1vZGUuYyAgJChjb25maWdfaCkKZnJhbWUubzogZnJhbWUuYyB4dGVy bS5oIHdpbmRvdy5oIGZyYW1lLmggdGVybWhvb2tzLmggY29tbWFuZHMuaCBrZXlib2FyZC5o IFwKICAgYmxvY2tpbnB1dC5oIGF0aW1lci5oIHN5c3RpbWUuaCBidWZmZXIuaCBjaGFyYWN0 ZXIuaCBmb250c2V0LmggZm9udC5oICAgIFwKICAgbXNkb3MuaCBkb3NmbnMuaCBkaXNwZXh0 ZXJuLmggdzMydGVybS5oIHRlcm1jaGFyLmggICAgXAogICAkKGNvbmZpZ19oKQpmcmluZ2Uu bzogZnJpbmdlLmMgZGlzcGV4dGVybi5oIGZyYW1lLmggd2luZG93LmggYnVmZmVyLmggdGVy bWhvb2tzLmggJChjb25maWdfaCkKZm9udC5vOiBmb250LmMgZGlzcGV4dGVybi5oIGZyYW1l Lmggd2luZG93LmggY2NsLmggY2hhcmFjdGVyLmggY2hhcnNldC5oIFwKICAgZm9udC5oICQo Y29uZmlnX2gpCmZ0Zm9udC5vOiBkaXNwZXh0ZXJuLmggZnJhbWUuaCBjaGFyYWN0ZXIuaCBj aGFyc2V0LmggY29tcG9zaXRlLmggZm9udC5oIFwKICAgJChjb25maWdfaCkKZm9udHNldC5v OiBkaXNwZXh0ZXJuLmggZm9udHNldC5oIGZvbnRzZXQuYyBjY2wuaCBidWZmZXIuaCBjaGFy YWN0ZXIuaCBcCiAgIGNoYXJzZXQuaCBmcmFtZS5oIGtleWJvYXJkLmggdGVybWhvb2tzLmgg Zm9udC5oICQoY29uZmlnX2gpCmdldGxvYWRhdmcubzogZ2V0bG9hZGF2Zy5jICQoY29uZmln X2gpCmd0a3V0aWwubzogZ3RrdXRpbC5jIGd0a3V0aWwuaCB4dGVybS5oIGxpc3AuaCBmcmFt ZS5oICQoY29uZmlnX2gpIFwKICBibG9ja2lucHV0Lmggd2luZG93LmggYXRpbWVyLmggc3lz dGltZS5oIHRlcm1ob29rcy5oIGtleWJvYXJkLmggXAogIGNoYXJzZXQuaCBjb2RpbmcuaCBz eXNzaWduYWwuaAppbWFnZS5vOiBpbWFnZS5jIGZyYW1lLmggd2luZG93LmggZGlzcGV4dGVy bi5oIGJsb2NraW5wdXQuaCBhdGltZXIuaCBcCiAgIHN5c3RpbWUuaCB4dGVybS5oIHczMnRl cm0uaCB3MzJndWkuaCBmb250LmggXAogICBuc3Rlcm0uaCBuc2d1aS5oICQoY29uZmlnX2gp CmluZGVudC5vOiBpbmRlbnQuYyBmcmFtZS5oIHdpbmRvdy5oIGluZGVudC5oIGJ1ZmZlci5o ICQoY29uZmlnX2gpIHRlcm1jaGFyLmggXAogICB0ZXJtb3B0cy5oIGRpc3B0YWIuaCByZWdp b24tY2FjaGUuaCBjaGFyYWN0ZXIuaCBjYXRlZ29yeS5oIGNvbXBvc2l0ZS5oIFwKICAgZGlz cGV4dGVybi5oIGtleWJvYXJkLmgKaW5zZGVsLm86IGluc2RlbC5jIHdpbmRvdy5oIGJ1ZmZl ci5oICQoSU5URVJWQUxTX0gpIGJsb2NraW5wdXQuaCBjaGFyYWN0ZXIuaCBcCiAgIGRpc3Bl eHRlcm4uaCBhdGltZXIuaCBzeXN0aW1lLmggcmVnaW9uLWNhY2hlLmggJChjb25maWdfaCkK a2V5Ym9hcmQubzoga2V5Ym9hcmQuYyB0ZXJtY2hhci5oIHRlcm1ob29rcy5oIHRlcm1vcHRz LmggYnVmZmVyLmggY2hhcmFjdGVyLmggXAogICBjb21tYW5kcy5oIGZyYW1lLmggd2luZG93 LmggbWFjcm9zLmggZGlzcHRhYi5oIGtleWJvYXJkLmggc3lzc2lnbmFsLmggXAogICBzeXN0 aW1lLmggZGlzcGV4dGVybi5oIHN5bnRheC5oICQoSU5URVJWQUxTX0gpIGJsb2NraW5wdXQu aCBhdGltZXIuaCAgICAgXAogICB4dGVybS5oIHB1cmVzaXplLmggbXNkb3MuaCBrZXltYXAu aCB3MzJ0ZXJtLmggbnN0ZXJtLmggXAogICAkKGNvbmZpZ19oKQprZXltYXAubzoga2V5bWFw LmMgYnVmZmVyLmggY29tbWFuZHMuaCBrZXlib2FyZC5oIHRlcm1ob29rcy5oIGJsb2NraW5w dXQuaCBcCiAgIGF0aW1lci5oIHN5c3RpbWUuaCBwdXJlc2l6ZS5oIGNoYXJhY3Rlci5oIGNo YXJzZXQuaCAkKElOVEVSVkFMU19IKSBrZXltYXAuaCB3aW5kb3cuaCBcCiAgICQoY29uZmln X2gpCmxhc3RmaWxlLm86IGxhc3RmaWxlLmMgICQoY29uZmlnX2gpCm1hY3Jvcy5vOiBtYWNy b3MuYyB3aW5kb3cuaCBidWZmZXIuaCBjb21tYW5kcy5oIG1hY3Jvcy5oIGtleWJvYXJkLmgg XAoJZGlzcGV4dGVybi5oICQoY29uZmlnX2gpCm1hbGxvYy5vOiBtYWxsb2MuYyAkKGNvbmZp Z19oKQpnbWFsbG9jLm86IGdtYWxsb2MuYyAkKGNvbmZpZ19oKQpyYWxsb2MubzogcmFsbG9j LmMgJChjb25maWdfaCkKdm0tbGltaXQubzogdm0tbGltaXQuYyBtZW0tbGltaXRzLmggJChj b25maWdfaCkKbWFya2VyLm86IG1hcmtlci5jIGJ1ZmZlci5oIGNoYXJhY3Rlci5oICQoY29u ZmlnX2gpCm1kNS5vOiBtZDUuYyBtZDUuaCAkKGNvbmZpZ19oKQptaW5pYnVmLm86IG1pbmli dWYuYyBzeW50YXguaCBkaXNwZXh0ZXJuLmggZnJhbWUuaCB3aW5kb3cuaCBrZXlib2FyZC5o IFwKICAgYnVmZmVyLmggY29tbWFuZHMuaCBjaGFyYWN0ZXIuaCBtc2Rvcy5oICQoSU5URVJW QUxTX0gpIGtleW1hcC5oIFwKICAgdGVybWhvb2tzLmggJChjb25maWdfaCkKbWt0aW1lLm86 IG1rdGltZS5jICQoY29uZmlnX2gpCm1zZG9zLm86IG1zZG9zLmMgbXNkb3MuaCBkb3NmbnMu aCBzeXN0aW1lLmggdGVybWhvb2tzLmggZGlzcGV4dGVybi5oIGZyYW1lLmggXAogICB0ZXJt b3B0cy5oIHRlcm1jaGFyLmggY2hhcmFjdGVyLmggY29kaW5nLmggY2NsLmggZGlzcHRhYi5o IHdpbmRvdy5oIFwKICAga2V5Ym9hcmQuaCAkKElOVEVSVkFMU19IKSBidWZmZXIuaCBjb21t YW5kcy5oIGJsb2NraW5wdXQuaCBhdGltZXIuaCAkKGNvbmZpZ19oKQpuc2Zucy5vOiBuc2Zu cy5tIGNoYXJzZXQuaCBuc3Rlcm0uaCBuc2d1aS5oIGZyYW1lLmggd2luZG93LmggYnVmZmVy LmggXAogIGRpc3BleHRlcm4uaCBuc2d1aS5oIGZvbnRzZXQuaCAkKElOVEVSVkFMU19IKSBr ZXlib2FyZC5oIGJsb2NraW5wdXQuaCBcCiAgYXRpbWVyLmggc3lzdGltZS5oIGVwYXRocy5o IHRlcm1ob29rcy5oIGNvZGluZy5oIHN5c3RpbWUuaCAkKGNvbmZpZ19oKQpuc2ZvbnQubzog bnN0ZXJtLmggZGlzcGV4dGVybi5oIGZyYW1lLmggbGlzcC5oICQoY29uZmlnX2gpCm5zaW1h Z2UubzogbnNpbWFnZS5tIG5zdGVybS5oICQoY29uZmlnX2gpCm5zbWVudS5vOiBuc21lbnUu bSB0ZXJtaG9va3MuaCBmcmFtZS5oIHdpbmRvdy5oIGRpc3BleHRlcm4uaCBcCiAgbnNndWku aCBrZXlib2FyZC5oIGJsb2NraW5wdXQuaCBhdGltZXIuaCBzeXN0aW1lLmggYnVmZmVyLmgg XAogIG5zdGVybS5oICQoY29uZmlnX2gpCm5zdGVybS5vOiBuc3Rlcm0ubSBibG9ja2lucHV0 LmggYXRpbWVyLmggc3lzdGltZS5oIHN5c3NpZ25hbC5oIG5zdGVybS5oIFwKICBuc2d1aS5o IGZyYW1lLmggY2hhcnNldC5oIGNjbC5oIGRpc3BleHRlcm4uaCBmb250c2V0LmggdGVybWhv b2tzLmggXAogIHRlcm1vcHRzLmggdGVybWNoYXIuaCBkaXNwdGFiLmggYnVmZmVyLmggd2lu ZG93Lmgga2V5Ym9hcmQuaCBcCiAgJChJTlRFUlZBTFNfSCkgcHJvY2Vzcy5oIGNvZGluZy5o ICQoY29uZmlnX2gpCm5zc2VsZWN0Lm86IG5zc2VsZWN0Lm0gYmxvY2tpbnB1dC5oIG5zdGVy bS5oIG5zZ3VpLmggZnJhbWUuaCAkKGNvbmZpZ19oKQpwcm9jZXNzLm86IHByb2Nlc3MuYyBw cm9jZXNzLmggYnVmZmVyLmggd2luZG93LmggdGVybWhvb2tzLmggdGVybW9wdHMuaCBcCiAg IGNvbW1hbmRzLmggc3lzc2lnbmFsLmggc3lzdGltZS5oIHN5c3R0eS5oIHN5c3dhaXQuaCBm cmFtZS5oIGRpc3BleHRlcm4uaCBcCiAgIGJsb2NraW5wdXQuaCBhdGltZXIuaCBjaGFyc2V0 LmggY29kaW5nLmggY2NsLmggbXNkb3MuaCBjb21wb3NpdGUuaCBcCiAgIGtleWJvYXJkLmgg JChjb25maWdfaCkKcmVnZXgubzogcmVnZXguYyBzeW50YXguaCBidWZmZXIuaCAkKGNvbmZp Z19oKSByZWdleC5oIGNhdGVnb3J5LmggY2hhcmFjdGVyLmggXAogICBjaGFyc2V0LmgKcmVn aW9uLWNhY2hlLm86IHJlZ2lvbi1jYWNoZS5jIGJ1ZmZlci5oIHJlZ2lvbi1jYWNoZS5oICQo Y29uZmlnX2gpCnNjcm9sbC5vOiBzY3JvbGwuYyB0ZXJtY2hhci5oIGRpc3BleHRlcm4uaCBm cmFtZS5oIG1zZG9zLmgga2V5Ym9hcmQuaCBcCiAgIHRlcm1ob29rcy5oICQoY29uZmlnX2gp CnNlYXJjaC5vOiBzZWFyY2guYyByZWdleC5oIGNvbW1hbmRzLmggYnVmZmVyLmggcmVnaW9u LWNhY2hlLmggc3ludGF4LmggXAogICBibG9ja2lucHV0LmggYXRpbWVyLmggc3lzdGltZS5o IGNhdGVnb3J5LmggY2hhcmFjdGVyLmggY2hhcnNldC5oIFwKICAgY29tcG9zaXRlLmggJChJ TlRFUlZBTFNfSCkgXAogICAkKGNvbmZpZ19oKQpzb3VuZC5vOiBzb3VuZC5jIGRpc3BleHRl cm4uaCBzeXNzaWduYWwuaCAkKGNvbmZpZ19oKQpzdHJmdGltZS5vOiBzdHJmdGltZS5jICQo Y29uZmlnX2gpCnN5bnRheC5vOiBzeW50YXguYyBzeW50YXguaCBidWZmZXIuaCBjb21tYW5k cy5oIGNhdGVnb3J5LmggY2hhcmFjdGVyLmggXAogICBjb21wb3NpdGUuaCBrZXltYXAuaCBy ZWdleC5oICQoSU5URVJWQUxTX0gpICQoY29uZmlnX2gpCnN5c2RlcC5vOiBzeXNkZXAuYyBz eXNzaWduYWwuaCBzeXN0dHkuaCBzeXN0aW1lLmggc3lzd2FpdC5oIGJsb2NraW5wdXQuaCBc CiAgIHByb2Nlc3MuaCBkaXNwZXh0ZXJuLmggdGVybWhvb2tzLmggdGVybWNoYXIuaCB0ZXJt b3B0cy5oIFwKICAgZnJhbWUuaCBhdGltZXIuaCB3aW5kb3cuaCBtc2Rvcy5oIGRvc2Zucy5o IGtleWJvYXJkLmggY20uaCAkKGNvbmZpZ19oKQp0ZXJtLm86IHRlcm0uYyB0ZXJtY2hhci5o IHRlcm1ob29rcy5oIHRlcm1vcHRzLmggJChjb25maWdfaCkgY20uaCBmcmFtZS5oIFwKICAg ZGlzcHRhYi5oIGRpc3BleHRlcm4uaCBrZXlib2FyZC5oIGNoYXJhY3Rlci5oIGNoYXJzZXQu aCBjb2RpbmcuaCBjY2wuaCBcCiAgIG1zZG9zLmggd2luZG93Lmgga2V5bWFwLmggYmxvY2tp bnB1dC5oIGF0aW1lci5oIHN5c3RpbWUuaCBzeXN0dHkuaCBcCiAgIHN5c3NpZ25hbC5oICAk KElOVEVSVkFMU19IKQp0ZXJtY2FwLm86IHRlcm1jYXAuYyAkKGNvbmZpZ19oKQp0ZXJtaW5h bC5vOiB0ZXJtaW5hbC5jIGZyYW1lLmggdGVybWNoYXIuaCB0ZXJtaG9va3MuaCBjaGFyc2V0 LmggY29kaW5nLmggXAogICBrZXlib2FyZC5oICQoY29uZmlnX2gpCnRlcm1pbmZvLm86IHRl cm1pbmZvLmMgJChjb25maWdfaCkKdHBhcmFtLm86IHRwYXJhbS5jICQoY29uZmlnX2gpCnVu ZG8ubzogdW5kby5jIGJ1ZmZlci5oIGNvbW1hbmRzLmggd2luZG93LmggJChjb25maWdfaCkK dW5leGFpeC5vOiB1bmV4YWl4LmMgJChjb25maWdfaCkKdW5leGFscGhhLm86IHVuZXhhbHBo YS5jICQoY29uZmlnX2gpCnVuZXhjdy5vOiB1bmV4Y3cuYyAkKGNvbmZpZ19oKQp1bmV4ZWMu bzogdW5leGVjLmMgJChjb25maWdfaCkKdW5leGVsZi5vOiB1bmV4ZWxmLmMgJChjb25maWdf aCkKdW5leGhwOWs4MDAubzogdW5leGhwOWs4MDAuYyAkKGNvbmZpZ19oKQp1bmV4bWFjb3N4 Lm86IHVuZXhtYWNvc3guYyAkKGNvbmZpZ19oKQp1bmV4bWlwcy5vOiB1bmV4bWlwcy5jICQo Y29uZmlnX2gpCnVuZXhuZXh0Lm86IHVuZXhuZXh0LmMgJChjb25maWdfaCkKdW5leHNvbC5v OiB1bmV4c29sLmMgJChjb25maWdfaCkKdW5leHczMi5vOiB1bmV4dzMyLmMgJChjb25maWdf aCkKdzE2c2VsZWN0Lm86IHcxNnNlbGVjdC5jIGRpc3BleHRlcm4uaCBmcmFtZS5oIGJsb2Nr aW5wdXQuaCBhdGltZXIuaCBzeXN0aW1lLmggXAogICBtc2Rvcy5oIGJ1ZmZlci5oIGNoYXJz ZXQuaCBjb2RpbmcuaCBjb21wb3NpdGUuaCAkKGNvbmZpZ19oKQp3aWRnZXQubzogd2lkZ2V0 LmMgeHRlcm0uaCBmcmFtZS5oIGRpc3BleHRlcm4uaCB3aWRnZXRwcnYuaCBcCiAgICQoc3Jj ZGlyKS8uLi9sd2xpYi9sd2xpYi5oICQoY29uZmlnX2gpCndpbmRvdy5vOiB3aW5kb3cuYyBp bmRlbnQuaCBjb21tYW5kcy5oIGZyYW1lLmggd2luZG93LmggYnVmZmVyLmggdGVybWNoYXIu aCBcCiAgIGRpc3B0YWIuaCBrZXlib2FyZC5oIGRpc3BleHRlcm4uaCBtc2Rvcy5oIGNvbXBv c2l0ZS5oIFwKICAga2V5bWFwLmggYmxvY2tpbnB1dC5oIGF0aW1lci5oIHN5c3RpbWUuaCAk KElOVEVSVkFMU19IKSBcCiAgIHh0ZXJtLmggdzMydGVybS5oIG5zdGVybS5oICQoY29uZmln X2gpCnhkaXNwLm86IHhkaXNwLmMgbWFjcm9zLmggY29tbWFuZHMuaCBwcm9jZXNzLmggaW5k ZW50LmggYnVmZmVyLmggZGlzcGV4dGVybi5oIFwKICAgY29kaW5nLmggdGVybWNoYXIuaCBm cmFtZS5oIHdpbmRvdy5oIGRpc3B0YWIuaCB0ZXJtaG9va3MuaCBjaGFyYWN0ZXIuaCAgICAg XAogICBjaGFyc2V0LmggJChjb25maWdfaCkga2V5Ym9hcmQuaCAkKElOVEVSVkFMU19IKSBy ZWdpb24tY2FjaGUuaCB4dGVybS5oICAgIFwKICAgdzMydGVybS5oIG5zdGVybS5oIG1zZG9z LmggY29tcG9zaXRlLmggZm9udHNldC5oCSAgICAgIFwKICAgYmxvY2tpbnB1dC5oIGF0aW1l ci5oIHN5c3RpbWUuaCBrZXltYXAuaCBmb250LmgKeGZhY2VzLm86IHhmYWNlcy5jIGRpc3Bl eHRlcm4uaCBmcmFtZS5oIHh0ZXJtLmggYnVmZmVyLmggYmxvY2tpbnB1dC5oCVwKICAgd2lu ZG93LmggY2hhcmFjdGVyLmggY2hhcnNldC5oIG1zZG9zLmggZG9zZm5zLmggY29tcG9zaXRl LmggYXRpbWVyLmgJXAogICBzeXN0aW1lLmgga2V5Ym9hcmQuaCBmb250c2V0LmggdzMydGVy bS5oIG5zdGVybS5oCVwKICAgJChJTlRFUlZBTFNfSCkgdGVybWNoYXIuaCB0ZXJtaG9va3Mu aCBmb250LmggJChjb25maWdfaCkKeGZucy5vOiB4Zm5zLmMgYnVmZmVyLmggZnJhbWUuaCB3 aW5kb3cuaCBrZXlib2FyZC5oIHh0ZXJtLmggZGlzcGV4dGVybi5oIFwKICAgJChzcmNkaXIp Ly4uL2x3bGliL2x3bGliLmggYmxvY2tpbnB1dC5oIGF0aW1lci5oIHN5c3RpbWUuaCBlcGF0 aHMuaCBcCiAgIGNoYXJhY3Rlci5oIGNoYXJzZXQuaCBjb2RpbmcuaCBndGt1dGlsLmggJChj b25maWdfaCkgdGVybWhvb2tzLmggXAogICBmb250c2V0LmggdGVybWNoYXIuaCBmb250LmgK eGZvbnQubzogZGlzcGV4dGVybi5oIHh0ZXJtLmggZnJhbWUuaCBibG9ja2lucHV0LmggY2hh cmFjdGVyLmggY2hhcnNldC5oIFwKICAgZm9udC5oICQoY29uZmlnX2gpCnhmdGZvbnQubzog ZGlzcGV4dGVybi5oIHh0ZXJtLmggZnJhbWUuaCBibG9ja2lucHV0LmggY2hhcmFjdGVyLmgg Y2hhcnNldC5oIFwKICAgZm9udC5oICQoY29uZmlnX2gpCmZ0eGZvbnQubzogZGlzcGV4dGVy bi5oIHh0ZXJtLmggZnJhbWUuaCBibG9ja2lucHV0LmggY2hhcmFjdGVyLmggY2hhcnNldC5o IFwKICAgZm9udC5oICQoY29uZmlnX2gpCm1lbnUubzogbWVudS5jIGxpc3AuaCBrZXlib2Fy ZC5oIGtleW1hcC5oIGZyYW1lLmggdGVybWhvb2tzLmggYmxvY2tpbnB1dC5oIFwKICAgZGlz cGV4dGVybi5oICQoc3JjZGlyKS8uLi9sd2xpYi9sd2xpYi5oIHh0ZXJtLmggZ3RrdXRpbC5o IG1lbnUuaCBcCiAgICQoY29uZmlnX2gpCnhtZW51Lm86IHhtZW51LmMgeHRlcm0uaCB0ZXJt aG9va3MuaCB3aW5kb3cuaCBkaXNwZXh0ZXJuLmggZnJhbWUuaCBidWZmZXIuaCBcCiAgIGNo YXJzZXQuaCBrZXlib2FyZC5oICQoc3JjZGlyKS8uLi9sd2xpYi9sd2xpYi5oIGJsb2NraW5w dXQuaCBhdGltZXIuaCBcCiAgIHN5c3RpbWUuaCBndGt1dGlsLmggbXNkb3MuaCBjb2Rpbmcu aCBtZW51LmggJChjb25maWdfaCkKeHRlcm0ubzogeHRlcm0uYyB4dGVybS5oIHRlcm1ob29r cy5oIHRlcm1vcHRzLmggdGVybWNoYXIuaCB3aW5kb3cuaCBidWZmZXIuaCBcCiAgIGRpc3Bl eHRlcm4uaCBmcmFtZS5oIGRpc3B0YWIuaCBibG9ja2lucHV0LmggYXRpbWVyLmggc3lzdGlt ZS5oIHN5c3NpZ25hbC5oIFwKICAga2V5Ym9hcmQuaCBlbWFjcy1pY29uLmggY2hhcmFjdGVy LmggY2hhcnNldC5oIGNjbC5oIGZvbnRzZXQuaCBjb21wb3NpdGUuaCBcCiAgIGNvZGluZy5o IHByb2Nlc3MuaCBndGt1dGlsLmggZm9udC5oIGZvbnRzZXQuaCAkKGNvbmZpZ19oKQp4c2Vs ZWN0Lm86IHhzZWxlY3QuYyBwcm9jZXNzLmggZGlzcGV4dGVybi5oIGZyYW1lLmggeHRlcm0u aCBibG9ja2lucHV0LmggXAogIGJ1ZmZlci5oIGF0aW1lci5oIHN5c3RpbWUuaCB0ZXJtaG9v a3MuaCAkKGNvbmZpZ19oKQp4cmRiLm86IHhyZGIuYyAkKGNvbmZpZ19oKSBlcGF0aHMuaAp4 c21mbnMubzogeHNtZm5zLmMgJChjb25maWdfaCkgc3lzdGltZS5oIHN5c3NlbGVjdC5oIHRl cm1ob29rcy5oIHh0ZXJtLmggXAogIGxpc3AuaCB0ZXJtb3B0cy5oCgovKiBUaGUgZmlsZXMg b2YgTGlzcCBwcm9wZXIgKi8KCmFsbG9jLm86IGFsbG9jLmMgcHJvY2Vzcy5oIGZyYW1lLmgg d2luZG93LmggYnVmZmVyLmggIHB1cmVzaXplLmggc3lzc2lnbmFsLmgga2V5Ym9hcmQuaCBc CiBibG9ja2lucHV0LmggYXRpbWVyLmggc3lzdGltZS5oIGNoYXJhY3Rlci5oIGRpc3BleHRl cm4uaCAkKGNvbmZpZ19oKSBcCiAkKElOVEVSVkFMU19IKQpieXRlY29kZS5vOiBieXRlY29k ZS5jIGJ1ZmZlci5oIHN5bnRheC5oIGNoYXJhY3Rlci5oIHdpbmRvdy5oIGRpc3BleHRlcm4u aCBcCiAgZnJhbWUuaCB4dGVybS5oICQoY29uZmlnX2gpCmRhdGEubzogZGF0YS5jIGJ1ZmZl ci5oIHB1cmVzaXplLmggY2hhcmFjdGVyLmggc3lzc2lnbmFsLmgga2V5Ym9hcmQuaCBmcmFt ZS5oIFwKICAgdGVybWhvb2tzLmggJChjb25maWdfaCkKZXZhbC5vOiBldmFsLmMgY29tbWFu ZHMuaCBrZXlib2FyZC5oIGJsb2NraW5wdXQuaCBhdGltZXIuaCBzeXN0aW1lLmggXAogIGRp c3BleHRlcm4uaCAkKGNvbmZpZ19oKQpmbG9hdGZucy5vOiBmbG9hdGZucy5jIHN5c3NpZ25h bC5oICQoY29uZmlnX2gpCmZucy5vOiBmbnMuYyBjb21tYW5kcy5oICQoY29uZmlnX2gpIGZy YW1lLmggYnVmZmVyLmggY2hhcmFjdGVyLmgga2V5Ym9hcmQuaCBcCiBrZXltYXAuaCBmcmFt ZS5oIHdpbmRvdy5oIGRpc3BleHRlcm4uaCAkKElOVEVSVkFMU19IKSBjb2RpbmcuaCBtZDUu aCBcCiBibG9ja2lucHV0LmggYXRpbWVyLmggc3lzdGltZS5oIHh0ZXJtLmggdGVybWhvb2tz LmgKcHJpbnQubzogcHJpbnQuYyBwcm9jZXNzLmggZnJhbWUuaCB3aW5kb3cuaCBidWZmZXIu aCBrZXlib2FyZC5oIGNoYXJhY3Rlci5oIFwKICAgJChjb25maWdfaCkgZGlzcGV4dGVybi5o IHRlcm1jaGFyLmggJChJTlRFUlZBTFNfSCkgbXNkb3MuaCBjb21wb3NpdGUuaCBcCiAgIGJs b2NraW5wdXQuaCBhdGltZXIuaCBzeXN0aW1lLmggZm9udC5oIGNoYXJzZXQuaApscmVhZC5v OiBscmVhZC5jIGNvbW1hbmRzLmgga2V5Ym9hcmQuaCBidWZmZXIuaCBlcGF0aHMuaCBjaGFy YWN0ZXIuaCBcCiBjaGFyc2V0LmggJChjb25maWdfaCkgJChJTlRFUlZBTFNfSCkgdGVybWhv b2tzLmggY29kaW5nLmggbXNkb3MuaAoKLyogVGV4dCBwcm9wZXJ0aWVzIHN1cHBvcnQgKi8K Y29tcG9zaXRlLm86IGNvbXBvc2l0ZS5jIGJ1ZmZlci5oIGNoYXJhY3Rlci5oIGNvZGluZy5o IGRpc3BleHRlcm4uaCBmb250LmggXAoJIGZyYW1lLmggdGVybWhvb2tzLmggJChJTlRFUlZB TFNfSCkgd2luZG93LmggJChjb25maWdfaCkKaW50ZXJ2YWxzLm86IGludGVydmFscy5jIGJ1 ZmZlci5oICQoSU5URVJWQUxTX0gpIGtleWJvYXJkLmggcHVyZXNpemUuaCBcCglrZXltYXAu aCAkKGNvbmZpZ19oKQp0ZXh0cHJvcC5vOiB0ZXh0cHJvcC5jIGJ1ZmZlci5oIHdpbmRvdy5o IGRpc3BleHRlcm4uaCAkKElOVEVSVkFMU19IKSBcCgkkKGNvbmZpZ19oKQoKLyogU3lzdGVt LXNwZWNpZmljIHByb2dyYW1zIHRvIGJlIG1hZGUuCiAgIE9USEVSX0ZJTEVTIGFuZCBPQkpF Q1RTX01BQ0hJTkUKICAgc2VsZWN0IHdoaWNoIG9mIHRoZXNlIHNob3VsZCBiZSBjb21waWxl ZC4gICovCgojaWZkZWYgSEFWRV9OUwovKiBJbiBmYWN0LCBldmVyeSAubyBmaWxlIGRlcGVu ZHMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBvbiBkaXNwZXh0ZXJuLmgKICAgYW5kIGhlbmNl IG5zZ3VpLmggdW5kZXIgTlMuICBCdXQgdGhlIG9uZXMgdGhhdCBhY3R1YWxseSB1c2Ugc3R1 ZmYgdGhlcmUKICAgYXJlIG1vcmUgbGltaXRlZC4gICovCmRpc3BuZXcubyBmb250Lm8gZm9u dHNldC5vIGZyYW1lLm8gZnJpbmdlLm8gaW1hZ2UubyBrZXlib2FyZC5vIG1lbnUubyBcCiAg IHdpbmRvdy5vIHhkaXNwLm8geGZhY2VzLm86IG5zZ3VpLmgKCiR7bnNfYXBwZGlyfTogJHtu c19hcHBzcmN9CglybSAtZnIgJHtuc19hcHBkaXJ9Cglta2RpciAtcCAke25zX2FwcGRpcn0K CSggY2QgJHtuc19hcHBzcmN9IDsgdGFyIGNmaCAtIC4gKSB8ICggY2QgJHtuc19hcHBkaXJ9 IDsgdGFyIHhmIC0gKQoJKCBjZCAke25zX2FwcGRpcn0gOyBmb3Igc3ViZGlyIGluIGBmaW5k IC4gLXR5cGUgZCAhIC1uYW1lIENWUyAtcHJpbnRgIDsgZG8gXAoJCWNobW9kIGErcnggJCR7 c3ViZGlyfSA7IFwKCQlybSAtcmYgJCR7c3ViZGlyfS9DVlMgOyBcCgkJcm0gLWYgICQke3N1 YmRpcn0vLmN2c2lnbm9yZSA7IGRvbmUgOyApCgoke25zX2FwcGJpbmRpcn1FbWFjczogZW1h Y3Mke0VYRUVYVH0KCW1rZGlyIC1wICR7bnNfYXBwYmluZGlyfQoJY3AgLWYgZW1hY3Mke0VY RUVYVH0gJHtuc19hcHBiaW5kaXJ9RW1hY3MKCm5zLWFwcDogJHtuc19hcHBkaXJ9ICR7bnNf YXBwYmluZGlyfUVtYWNzCgojZW5kaWYgLyogSEFWRV9OUyAqLwoKbW9zdGx5Y2xlYW46Cgly bSAtZiB0ZW1hY3Mke0VYRUVYVH0gcHJlZml4LWFyZ3Mke0VYRUVYVH0gY29yZSAqLmNvcmUg XCMqICoubyBsaWJYTWVudTExLmEgbGlibHcuYQoJcm0gLWYgLi4vZXRjL0RPQwoJcm0gLWYg Ym9vdHN0cmFwLWVtYWNzJHtFWEVFWFR9IGVtYWNzLSR7dmVyc2lvbn0ke0VYRUVYVH0KCXJt IC1mIGJ1aWxkb2JqLmxzdApjbGVhbjogbW9zdGx5Y2xlYW4KCXJtIC1mIGVtYWNzLSouKi4q JHtFWEVFWFR9IGVtYWNzJHtFWEVFWFR9CiNpZmRlZiBIQVZFX05TCglybSAtZnIgJHtuc19h cHBkaXJ9CiNlbmRpZgovKiBib290c3RyYXAtY2xlYW4gaXMgdXNlZCB0byBjbGVhbiB1cCBq dXN0IGJlZm9yZSBhIGJvb3RzdHJhcC4KICAgSXQgc2hvdWxkIHJlbW92ZSBhbGwgZmlsZXMg Z2VuZXJhdGVkIGR1cmluZyBhIGNvbXBpbGF0aW9uL2Jvb3RzdHJhcCwKICAgYnV0IG5vdCB0 aGluZ3MgbGlrZSBjb25maWcuc3RhdHVzIG9yIFRBR1MuICAqLwpib290c3RyYXAtY2xlYW46 IGNsZWFuCglybSAtZiBlcGF0aHMuaCBjb25maWcuaCBNYWtlZmlsZS5jIGNvbmZpZy5zdGFt cCBzdGFtcC1vbGR4bWVudSAuLi9ldGMvRE9DLSoKCWlmIHRlc3QgLWYgLi8uZ2RiaW5pdDsg dGhlbiBcCgkgIG12IC4vLmdkYmluaXQgLi8uZ2RiaW5pdC5zYXZlOyBcCgkgIGlmIHRlc3Qg LWYgIiR7c3JjZGlyfS8uZ2RiaW5pdCI7IHRoZW4gcm0gLWYgLi8uZ2RiaW5pdC5zYXZlOyBc CgkgIGVsc2UgbXYgLi8uZ2RiaW5pdC5zYXZlIC4vLmdkYmluaXQ7IGZpOyBcCglmaQovKiov IyBUaGlzIGlzIHVzZWQgaW4gbWFraW5nIGEgZGlzdHJpYnV0aW9uLgovKiovIyBEbyBub3Qg dXNlIGl0IG9uIGRldmVsb3BtZW50IGRpcmVjdG9yaWVzIQpkaXN0Y2xlYW46IGJvb3RzdHJh cC1jbGVhbgoJcm0gLWYgTWFrZWZpbGUKbWFpbnRhaW5lci1jbGVhbjogZGlzdGNsZWFuCglA ZWNobyAiVGhpcyBjb21tYW5kIGlzIGludGVuZGVkIGZvciBtYWludGFpbmVycyB0byB1c2U7 IgoJQGVjaG8gIml0IGRlbGV0ZXMgZmlsZXMgdGhhdCBtYXkgcmVxdWlyZSBzcGVjaWFsIHRv b2xzIHRvIHJlYnVpbGQuIgoJcm0gLWYgVEFHUwp2ZXJzaW9uY2xlYW46Cgktcm0gLWYgZW1h Y3Mke0VYRUVYVH0gZW1hY3MtKi4qLioke0VYRUVYVH0gLi4vZXRjL0RPQyoKZXh0cmFjbGVh bjogZGlzdGNsZWFuCgktcm0gLWYgKn4gXCMqIG0vPyp+IHMvPyp+CgovKiBBcnJhbmdlIHRv IG1ha2UgYSB0YWdzIHRhYmxlIFRBR1MtTElTUCBmb3IgLi4vbGlzcCwKICAgcGx1cyBUQUdT IGZvciB0aGUgQyBmaWxlcywgd2hpY2ggaW5jbHVkZXMgLi4vbGlzcC9UQUdTIGJ5IHJlZmVy ZW5jZS4gICovCgpjdGFnc2ZpbGVzMSA9IFt4eXpYWVpdKi5baGNtXQpjdGFnc2ZpbGVzMiA9 IFthLXdBLVddKi5baGNtXQoKVEFHUzogJChzcmNkaXIpLyQoY3RhZ3NmaWxlczEpICQoc3Jj ZGlyKS8kKGN0YWdzZmlsZXMyKQoJLi4vbGliLXNyYy9ldGFncyAtLWluY2x1ZGU9VEFHUy1M SVNQIC0taW5jbHVkZT0ke2x3bGliZGlyfS9UQUdTIFwKCSAgLS1yZWdleD0nL1sgCV0qREVG VkFSX1tBLVpfIAkoXSsiXChbXiJdK1wpIi8nIFwKCSAgJChzcmNkaXIpLyQoY3RhZ3NmaWxl czEpICQoc3JjZGlyKS8kKGN0YWdzZmlsZXMyKQpmcmM6ClRBR1MtTElTUDogZnJjCgkkKE1B S0UpIC1mICR7bGlzcGRpcn1NYWtlZmlsZSBUQUdTLUxJU1AgRVRBR1M9Li4vbGliLXNyYy9l dGFncwoKJChsd2xpYmRpcilUQUdTOgoJKGNkICQobHdsaWJkaXIpOyAkKE1BS0UpIC1mICQo bHdsaWJkaXIpTWFrZWZpbGUgdGFncyBFVEFHUz0uLi9saWItc3JjL2V0YWdzKQoKdGFnczog VEFHUyBUQUdTLUxJU1AgJChsd2xpYmRpcilUQUdTCi5QSE9OWTogdGFncwoKCi8qIEJvb3Rz dHJhcHBpbmcuICAqLwovKiBCb290c3RyYXBwaW5nIHJpZ2h0IGlzIGRpZmZpY3VsdCBiZWNh dXNlIG9mIHRoZSBjaXJjdWxhciBkZXBlbmRlbmNpZXMuCiAgIEZ1cnRoZXJtb3JlLCB3ZSBo YXZlIHRvIGRlYWwgd2l0aCB0aGUgZmFjdCB0aGF0IG1hbnkgY29tcGlsYXRpb24gdGFyZ2V0 cwogICBzdWNoIGFzIGxvYWRkZWZzLmVsIG9yICouZWxjIGNhbiB0eXBpY2FsbHkgYmUgcHJv ZHVjZWQgYnkgYW55IG9sZAogICBFbWFjcyBleGVjdXRhYmxlLCBzbyB3ZSB3b3VsZCBsaWtl IHRvIGF2b2lkIHJlYnVpbGRpbmcgdGhlbSB3aGVuZXZlcgogICB3ZSBidWlsZCBhIG5ldyBF bWFjcyBleGVjdXRhYmxlLgogICBUbyBzb2x2ZSB0aGUgY2lyY3VsYXJpdHksIHdlIHVzZSAy IGRpZmZlcmVudCBFbWFjcyBleGVjdXRhYmxlcywKICAgImVtYWNzIiBpcyB0aGUgbWFpbiB0 YXJnZXQgYW5kICJib290c3RyYXAtZW1hY3MiIGlzIHRoZSBvbmUgdXNlZAogICB0byBidWls ZCB0aGUgKi5lbGMgYW5kIGxvYWRkZWZzLmVsIGZpbGVzLgogICBUbyBzb2x2ZSB0aGUgZnJl c2huZXNzIGlzc3VlLCB3ZSB1c2VkIHRvIHVzZSBhIHRoaXJkIGZpbGUgIndpdG5lc3MtZW1h Y3MiCiAgIHdoaWNoIHdhcyB1c2VkIHRvIHdpdG5lc3MgdGhlIGZhY3QgdGhhdCB0aGVyZSBp cyBhIGJvb3RzdHJhcC1lbWFjcwogICBleGVjdXRhYmxlLCBhbmQgdGhlbiBoYXZlIGRlcGVu ZGVuY2llcyBvbiB3aXRuZXNzLWVtYWNzIHJhdGhlciB0aGFuCiAgIGJvb3RzdHJhcC1lbWFj cywgYnV0IHRoYXQgbGVhZCB0byBwcm9ibGVtcyBpbiBwYXJhbGxlbCBidWlsZHMgKGJlY2F1 c2UKICAgd2l0bmVzcy1lbWFjcyBuZWVkZWQgdG8gYmUgZnJlZSBmcm9tIGRlcGVuZGVuY2ll cyAodG8gYXZvaWQgcmVidWlsZGluZwogICBpdCksIHNvIGl0IHdhcyBjb21waWxlZCBpbiBw YXJhbGxlbCwgbGVhZGluZyB0eXBpY2FsbHkgdG8gaGF2aW5nIDIKICAgcHJvY2Vzc2VzIGR1 bXBpbmcgYm9vdHN0cmFwLWVtYWNzIGF0IHRoZSBzYW1lIHRpbWUpLgogICBTbyBpbnN0ZWFk LCB3ZSByZXBsYWNlIHRoZSB3aXRuZXNzLWVtYWNzIGRlcGVuZGVuY2llcyBieSBjb25kaXRp b25hbAogICBib290c3RyYXAtZGVwZW5kZW5jaWVzICh2aWEgJHtCT09UU1RSQVBFTUFDU30p LiAgT2YgY291cnNlLCBzaW5jZSB3ZSBkbwogICBub3Qgd2FudCB0byByZWx5IG9uIEdOVSBN YWtlIGZlYXR1cmVzLCB3ZSBoYXZlIHRvIHJlbHkgb24gYW4gZXh0ZXJuYWwKICAgc2NyaXB0 IHRvIGRvIHRoZSBjb25kaXRpb25hbCBwYXJ0IG9mIHRoZSBkZXBlbmRlbmN5CiAgIChpLmUu IHNlZSB0aGUgJHtTVUJESVJ9IHJ1bGUgLi4vTWFrZWZpbGUuaW4pLiAgKi8KCi5TVUZGSVhF UzogLmVsYyAuZWwKCi8qIFRoZXNlIHN1ZmZpeCBydWxlcyBkbyBub3QgYWxsb3cgYWRkaXRp b25hbCBkZXBlbmRlbmNpZXMsIHNhZGx5LCBzbwogICBpbnN0ZWFkIG9mIGFkZGluZyBhICQo Qk9PVFNUUkFQRU1BQ1MpIGRlcGVuZGVuY3kgaGVyZSwgd2UgYWRkIGl0CiAgIHNlcGFyYXRl bHkgYmVsb3cuCiAgIFdpdGggR05VIE1ha2UsIHdlIHdvdWxkIGp1c3Qgc2F5ICIlLmVsIDog JS5lbGMgJChCT09UU1RSQVBFTUFDUykiICAqLwouZWwuZWxjOgoJQGNkIC4uL2xpc3A7ICQo TUFLRSkgJChNRkxBR1MpIGNvbXBpbGUtb25lZmlsZSBcCgkgICAgICAgICAgICAgICAgICAg ICBUSEVGSUxFPSQ8IEVNQUNTPS4uL3NyYy9ib290c3RyYXAtZW1hY3Mke0VYRUVYVH0KCi8q IFNpbmNlIHRoZSAuZWwuZWxjIHJ1bGUgY2Fubm90IHNwZWNpZnkgYW4gZXh0cmEgZGVwZW5k ZW5jeSwgd2UgZG8gaXQgaGVyZS4gICovCiR7bGlzcH0gJHtTT01FX01BQ0hJTkVfTElTUH06 ICQoQk9PVFNUUkFQRU1BQ1MpCgoke2xpc3Bzb3VyY2V9bG9hZGRlZnMuZWw6ICQoQk9PVFNU UkFQRU1BQ1MpCgljZCAuLi9saXNwOyAkKE1BS0UpICQoTUZMQUdTKSBhdXRvbG9hZHMgRU1B Q1M9Li4vc3JjL2Jvb3RzdHJhcC1lbWFjcyR7RVhFRVhUfQoKLyogRHVtcCBhbiBFbWFjcyBl eGVjdXRhYmxlIG5hbWVkIGJvb3RzdHJhcC1lbWFjcyBjb250YWluaW5nIHRoZQogICBmaWxl cyBmcm9tIGxvYWR1cC5lbCBpbiBzb3VyY2UgZm9ybS4gICovCgpib290c3RyYXAtZW1hY3Mk e0VYRUVYVH06IHRlbWFjcyR7RVhFRVhUfQoJY2QgLi4vbGlzcDsgJChNQUtFKSAkKE1GTEFH UykgdXBkYXRlLXN1YmRpcnMKI2lmZGVmIENBTk5PVF9EVU1QCglsbiAtZiB0ZW1hY3Mke0VY RUVYVH0gYm9vdHN0cmFwLWVtYWNzJHtFWEVFWFR9CiNlbHNlCgkkKFJVTl9URU1BQ1MpIC0t YmF0Y2ggLS1sb2FkIGxvYWR1cCBib290c3RyYXAKCW12IC1mIGVtYWNzJHtFWEVFWFR9IGJv b3RzdHJhcC1lbWFjcyR7RVhFRVhUfQojZW5kaWYgLyogISBkZWZpbmVkIChDQU5OT1RfRFVN UCkgKi8KCUA6IENvbXBpbGUgc29tZSBmaWxlcyBlYXJsaWVyIHRvIHNwZWVkIHVwIGZ1cnRo ZXIgY29tcGlsYXRpb24uCgljZCAuLi9saXNwOyAkKE1BS0UpICQoTUZMQUdTKSBjb21waWxl LWZpcnN0IEVNQUNTPS4uL3NyYy9ib290c3RyYXAtZW1hY3Mke0VYRUVYVH0K --------------000202020200000209040006--