Accepting request 606362 from Publishing:TeXLive

- Let texlive-kpathsea-bin Pre Require texlive-tetex-bin

- Respect rename of texconfig to tetex 

- Add patch source-tounicode.difto fix tounicode entries for
  ligatures in pdf output of xelatex

- Add freetype-use-pkg-config.patch to fix build with new Freetype:
  use pkgconfig to find Freetype libraries.

- Shorten reautoconfig a bit that is only reconfigure trees with
  changed ac files 

- Help asymptote with libOSMesa AND libglapi

- Add patch source-patgen.dif to enhance upper size limit of
  arrays in patgen as mentioned at texlive@tug.org

- Switch over to TeXLive 2018 final 20180414 

- Add patches
  * source-m-tx-0.63a-buffer-overflow.dif
  * source-synctex-bump-soname.dif as the API had changed and the
    major version 1 does not fix anymore
  * source-fix-synctex-missing-header-install.dif
  * source-lua-poppler0640.dif
  * source-synctex-bump-soname.dif

- Skip patch source-lcdf-typetools.dif as now upstream (boo#1087075)

OBS-URL: https://build.opensuse.org/request/show/606362
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/texlive?expand=0&rev=49
This commit is contained in:
Dominique Leuenberger 2018-05-15 08:02:24 +00:00 committed by Git OBS Bridge
commit fa0264c500
29 changed files with 799 additions and 2621 deletions

View File

@ -6,7 +6,7 @@
4 files changed, 2 insertions(+), 3 deletions(-)
--- Build.PL
+++ Build.PL 2017-05-30 13:22:55.692794072 +0000
+++ Build.PL 2018-04-12 12:07:59.531719830 +0000
@@ -54,7 +54,6 @@ my $builder = $class->new(
'List::AllUtils' => 0,
'List::MoreUtils' => 0,
@ -14,30 +14,30 @@
- 'Mozilla::CA' => '20160104',
'Regexp::Common' => 0,
'Log::Log4perl' => 0,
'Unicode::Collate' => '1.18',
'Unicode::Collate' => '1.25',
--- META.json
+++ META.json 2017-05-30 13:23:19.305046965 +0000
+++ META.json 2018-04-12 12:08:19.691347923 +0000
@@ -49,7 +49,6 @@
"List::MoreUtils" : "0",
"List::MoreUtils::XS" : "0",
"Log::Log4perl" : "0",
- "Mozilla::CA" : "20160104",
"PerlIO::utf8_strict" : "0",
"Regexp::Common" : "0",
"Sort::Key" : "0",
"Text::BibTeX" : "0.76",
--- META.yml
+++ META.yml 2017-05-30 13:23:28.101141166 +0000
+++ META.yml 2018-04-12 12:08:45.330874919 +0000
@@ -94,7 +94,6 @@ requires:
List::MoreUtils: '0'
List::MoreUtils::XS: '0'
Log::Log4perl: '0'
- Mozilla::CA: '20160104'
PerlIO::utf8_strict: '0'
Regexp::Common: '0'
Sort::Key: '0'
Text::BibTeX: '0.76'
--- bin/biber
+++ bin/biber 2017-05-30 13:22:13.032337114 +0000
@@ -112,6 +112,8 @@ GetOptions(
+++ bin/biber 2018-04-12 12:06:39.913188617 +0000
@@ -114,6 +114,8 @@ GetOptions(
) or pod2usage(-verbose => 0,
-exitval => EXIT_ERROR);

View File

@ -1,17 +0,0 @@
Fun with Perl 5.30
---
lib/Biber/LaTeX/Recode.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- lib/Biber/LaTeX/Recode.pm
+++ lib/Biber/LaTeX/Recode.pm 2018-03-15 08:49:32.341586613 +0000
@@ -313,7 +313,7 @@ sub latex_decode {
# Workaround perl's lack of variable-width negative look-behind -
# Reverse string (and therefore some of the Re) and use variable width negative look-ahead
$text = reverse $text;
- $text =~ s/}(\pM+\pL){(?!\pL+\\)/$1/g;
+ $text =~ s/}(\pM+\pL)\{(?!\pL+\\)/$1/g;
$text = reverse $text;
# Replace verbatim field markers

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac6816c9c73195855feb24ae707fdaf60670d24850ea5942a1f7fedc7de714f0
size 802944

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7994abc44fc6cc87d894d175afb4c056572793018a7f701c897c0a4aa103663
size 286024

View File

@ -0,0 +1,20 @@
---
m4/kpse-freetype2-flags.m4 | 4 ++++
1 file changed, 4 insertions(+)
--- texlive-bin.orig/m4/kpse-freetype2-flags.m4
+++ texlive-bin/m4/kpse-freetype2-flags.m4
@@ -28,9 +28,13 @@
AC_DEFUN([KPSE_FREETYPE2_SYSTEM_FLAGS], [dnl
AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
AC_CHECK_TOOL([FT2_CONFIG], [freetype-config], [false])[]dnl
+AC_CHECK_TOOL([PKG_CONFIG], [pkg-config], [false])[]dnl
if $FT2_CONFIG --ftversion >/dev/null 2>&1; then
FREETYPE2_INCLUDES=`$FT2_CONFIG --cflags`
FREETYPE2_LIBS=`$FT2_CONFIG --libs`
+elif $PKG_CONFIG --libs freetype2 >/dev/null 2>&1; then
+ FREETYPE2_INCLUDES=`$PKG_CONFIG --cflags freetype2`
+ FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
elif test "x$need_freetype2:$with_system_freetype2" = xyes:yes; then
AC_MSG_ERROR([did not find freetype-config required for system freetype2 library])
fi

View File

@ -4,8 +4,8 @@
2 files changed, 8 insertions(+)
--- configure
+++ configure 2009-08-28 15:44:30.000000000 +0000
@@ -19830,6 +19830,10 @@ fi
+++ configure 2018-04-10 08:58:00.463820598 +0000
@@ -20730,6 +20730,10 @@ fi
# most powerpc-linux boxes support dynamic linking these days and
# people can always --disable-shared, the test was removed, and we
# assume the GNU/Linux dynamic linker is in use.
@ -17,8 +17,8 @@
;;
--- m4/libtool.m4
+++ m4/libtool.m4 2009-08-28 15:46:57.000000000 +0000
@@ -2681,6 +2681,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+++ m4/libtool.m4 2018-04-10 08:58:00.463820598 +0000
@@ -2884,6 +2884,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
# most powerpc-linux boxes support dynamic linking these days and
# people can always --disable-shared, the test was removed, and we
# assume the GNU/Linux dynamic linker is in use.

View File

@ -1,6 +1,10 @@
---
texk/texlive/linked_scripts/a2ping/a2ping.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- texk/texlive/linked_scripts/a2ping/a2ping.pl
+++ texk/texlive/linked_scripts/a2ping/a2ping.pl 2011-10-29 22:06:11.000000000 -0500
@@ -1677,7 +1677,7 @@ showpage quit
+++ texk/texlive/linked_scripts/a2ping/a2ping.pl 2018-04-10 09:00:52.856579965 +0000
@@ -1676,7 +1676,7 @@ showpage quit
## print STDERR $res;
error $?==11 ? "segmentation fault in $GS" : "not a GS output from $GS ($?)"
if !defined $res # BUGFIX at Sun Mar 7 18:51:34 CET 2004
@ -8,4 +12,4 @@
+ or $res!~s/\A(?:\w+ Ghostscript +\d|Copyright .* artofcode ).*\n// # AFPL Ghostscript 6.50 (2000-12-02)
or $res!~s/.*?^bbox-begin\n//m;
if ($res!~s/\nbbox-success\n\Z(?!\n)/\n/) {
warning # not `error', mpost(1) `prologues:=0; ... btex fonts' output won't compile
warning # not `error', mpost(1) `prologues:=0; ... btex fonts' output won't compile

View File

@ -6,7 +6,7 @@
4 files changed, 5 insertions(+), 11 deletions(-)
--- configure.ac
+++ configure.ac 2017-05-30 12:46:15.933298946 +0000
+++ configure.ac 2018-04-10 08:18:33.592283965 +0000
@@ -126,9 +126,6 @@ KPSE_FOR_PKGS([sys_libs], [m4_sinclude([
if test "x$syslib_status" = xno; then
AC_MSG_ERROR([some requested system libraries failed])
@ -18,8 +18,8 @@
AM_CONDITIONAL([cross], [test "x$cross_compiling" = xyes])
--- configure
+++ configure 2017-05-30 12:46:15.981299457 +0000
@@ -22124,9 +22124,6 @@ fi
+++ configure 2018-04-10 08:18:33.596283890 +0000
@@ -22265,9 +22265,6 @@ fi
if test "x$syslib_status" = xno; then
as_fn_error $? "some requested system libraries failed" "$LINENO" 5
fi
@ -30,18 +30,18 @@
LIBS=$kpse_save_LIBS
--- texk/dvipdfm-x/configure.ac
+++ texk/dvipdfm-x/configure.ac 2017-05-30 12:50:20.711904998 +0000
+++ texk/dvipdfm-x/configure.ac 2018-04-10 08:22:36.759724038 +0000
@@ -7,7 +7,7 @@ dnl This file is free software; the co
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20170318], [tex-k@tug.org])
+AC_INIT([dvipdfmx (TeX Live)], [20170318], [tex-k@tug.org])
-AC_INIT([dvipdfm-x (TeX Live)], [20180217], [tex-k@tug.org])
+AC_INIT([dvipdfmx (TeX Live)], [20180217], [tex-k@tug.org])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([agl.c])
AC_CONFIG_AUX_DIR([../../build-aux])
--- texk/dvipdfm-x/configure
+++ texk/dvipdfm-x/configure 2017-05-30 12:52:21.189194983 +0000
+++ texk/dvipdfm-x/configure 2018-04-10 08:24:05.082067815 +0000
@@ -588,10 +588,10 @@ MFLAGS=
MAKEFLAGS=
@ -50,9 +50,9 @@
-PACKAGE_TARNAME='dvipdfm-x--tex-live-'
+PACKAGE_NAME='dvipdfmx (TeX Live)'
+PACKAGE_TARNAME='dvipdfmx'
PACKAGE_VERSION='20170318'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20170318'
+PACKAGE_STRING='dvipdfmx (TeX Live) 20170318'
PACKAGE_VERSION='20180217'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20180217'
+PACKAGE_STRING='dvipdfmx (TeX Live) 20180217'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@ -62,6 +62,6 @@
# Define the identity of the package.
- PACKAGE='dvipdfm-x--tex-live-'
+ PACKAGE='dvipdfmx'
VERSION='20170318'
VERSION='20180217'

View File

@ -1,6 +1,6 @@
--- texk/dvipdfm-x/pngimage.c_orig 2018-04-27 02:37:38.954103428 +0200
+++ texk/dvipdfm-x/pngimage.c 2018-04-27 02:48:48.121731743 +0200
@@ -966,12 +966,16 @@
@@ -964,12 +964,16 @@
png_bytep trans;
int num_trans;
png_uint_32 i;
@ -17,7 +17,7 @@
smask = pdf_new_stream(STREAM_COMPRESS);
dict = pdf_stream_dict(smask);
@@ -983,7 +987,8 @@
@@ -981,7 +985,8 @@
pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray"));
pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8));
for (i = 0; i < width*height; i++) {

View File

@ -4,7 +4,7 @@
texk/seetexk/configure | 2 +-
texk/seetexk/dvibook.c | 6 +++---
texk/seetexk/dviconcat.c | 6 ++----
texk/seetexk/dviselect.c | 9 ++++-----
texk/seetexk/dviselect.c | 8 +++-----
texk/seetexk/dvitodvi.c | 40 ++++++++++++++++++++++++++++++++--------
texk/seetexk/error.c | 14 +++++---------
texk/seetexk/gripes.h | 21 +++++++++++----------
@ -16,10 +16,10 @@
texk/seetexk/seek.c | 11 +++++------
texk/seetexk/tempfile.c | 5 ++---
texk/seetexk/types.h | 2 +-
17 files changed, 142 insertions(+), 70 deletions(-)
17 files changed, 141 insertions(+), 70 deletions(-)
--- m4/kpse-kpathsea-flags.m4
+++ m4/kpse-kpathsea-flags.m4 2016-06-07 13:37:06.329142840 +0000
+++ m4/kpse-kpathsea-flags.m4 2018-04-10 08:25:10.644838384 +0000
@@ -16,7 +16,7 @@
AC_DEFUN([KPSE_KPATHSEA_FLAGS], [dnl
AC_REQUIRE([KPSE_SAVE_FLAGS])[]dnl
@ -30,7 +30,7 @@
[${top_builddir}/../kpathsea/paths.h])
m4_if(m4_index([ $1 ], [ no-debug ]), [-1],
--- texk/seetexk/a4toa5
+++ texk/seetexk/a4toa5 2016-06-07 13:37:06.329142840 +0000
+++ texk/seetexk/a4toa5 2018-04-10 08:25:10.644838384 +0000
@@ -0,0 +1,26 @@
+#!/bin/csh -f
+# 1993 (c) Werner Fink <Werner.Fink@itap.physik.uni-stuttgart.de>
@ -59,7 +59,7 @@
+#
+exec dvitodvi -q '2:707@0(-5.5mm,-10mm)+1(190mm,-10mm)' $1 $2
--- texk/seetexk/configure
+++ texk/seetexk/configure 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/configure 2018-04-10 08:25:10.644838384 +0000
@@ -14939,7 +14939,7 @@ elif test "x$need_kpathsea:$with_system_
as_fn_error $? "did not find kpathsea" "$LINENO" 5
fi
@ -70,8 +70,8 @@
KPATHSEA_DEPEND='${top_builddir}/../kpathsea/libkpathsea.la'
KPATHSEA_RULE='# Rebuild libkpathsea
--- texk/seetexk/dvibook.c
+++ texk/seetexk/dvibook.c 2016-06-07 13:37:06.333142765 +0000
@@ -43,6 +43,7 @@ extern char *optarg;
+++ texk/seetexk/dvibook.c 2018-04-10 08:25:10.644838384 +0000
@@ -46,6 +46,7 @@ extern char *optarg;
extern int optind;
#endif
@ -79,7 +79,7 @@
#include "types.h"
#include "dviclass.h"
#include "dvicodes.h"
@@ -51,6 +52,8 @@ extern int optind;
@@ -54,6 +55,8 @@ extern int optind;
#include "gripes.h"
#include "search.h"
#include <stdio.h>
@ -88,7 +88,7 @@
#include <ctype.h>
#include "seek.h"
@@ -117,9 +120,6 @@ i32 Count[10]; /* the 10 \count variabl
@@ -129,9 +132,6 @@ i32 Count[10]; /* the 10 \count variabl
/* save some string space: we use this a lot */
char writeerr[] = "error writing DVI file";
@ -99,8 +99,8 @@
* You may get lint warnings about sprintf's return value.
* Older versions of 4BSD have `char *sprintf()'. ANSI and
--- texk/seetexk/dviconcat.c
+++ texk/seetexk/dviconcat.c 2016-06-07 13:37:06.333142765 +0000
@@ -40,6 +40,8 @@ extern char *optarg;
+++ texk/seetexk/dviconcat.c 2018-04-10 08:25:10.644838384 +0000
@@ -43,6 +43,8 @@ extern char *optarg;
extern int optind;
#endif
@ -109,7 +109,7 @@
#include "types.h"
#include "dviclass.h"
#include "dvicodes.h"
@@ -103,10 +105,6 @@ char writeerr[] = "error writing DVI fil
@@ -114,10 +116,6 @@ char writeerr[] = "error writing DVI fil
static void HandleDVIFile(void);
@ -121,19 +121,17 @@
/*
--- texk/seetexk/dviselect.c
+++ texk/seetexk/dviselect.c 2016-06-07 13:37:06.333142765 +0000
@@ -54,7 +54,10 @@ extern int optind;
+++ texk/seetexk/dviselect.c 2018-04-10 08:49:25.661500063 +0000
@@ -57,6 +57,8 @@ extern int optind;
#include "gripes.h"
#include "search.h"
#include <stdio.h>
+#include <stdlib.h>
#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
#include <ctype.h>
#define white(x) ((x) == ' ' || (x) == '\t' || (x) == ',')
@@ -166,10 +169,6 @@ static void HandleDVIFile(void);
#if defined(WIN32) && defined(KPATHSEA)
@@ -177,10 +179,6 @@ static void HandleDVIFile(void);
static void PutFontSelector(i32);
static void WritePreAmble(void);
@ -144,7 +142,7 @@
/*
* You may get lint warnings about sprintf's return value.
* Older versions of 4BSD have `char *sprintf()'. ANSI and
@@ -601,7 +600,7 @@ Usage: %s [-s] [-i infile] [-o outfile]
@@ -633,7 +631,7 @@ Usage: %s [-s] [-i infile] [-o outfile]
static struct pagelist *
InstallPL(struct pagesel *ps, int n, int absolute)
{
@ -154,8 +152,8 @@
pl = (struct pagelist *)malloc(sizeof *pl);
if (pl == NULL)
--- texk/seetexk/dvitodvi.c
+++ texk/seetexk/dvitodvi.c 2016-06-07 13:37:06.333142765 +0000
@@ -43,6 +43,7 @@ extern char *optarg;
+++ texk/seetexk/dvitodvi.c 2018-04-10 08:49:00.045981786 +0000
@@ -46,6 +46,7 @@ extern char *optarg;
extern int optind;
#endif
@ -163,16 +161,16 @@
#include "types.h"
#include "dviclass.h"
#include "dvicodes.h"
@@ -51,6 +52,8 @@ extern int optind;
@@ -54,6 +55,8 @@ extern int optind;
#include "gripes.h"
#include "search.h"
#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
#include <ctype.h>
#include "seek.h"
#define white(x) ((x) == ' ' || (x) == '\t' || (x) == ',')
@@ -87,6 +90,7 @@ struct fontinfo {
@@ -95,6 +98,7 @@ struct fontinfo {
i32 Width; /* width of page */
i32 Height; /* height of page */
i32 Magnification; /* Magnification of pages */
@ -180,7 +178,7 @@
int Modulo; /* page spec modulo */
struct pagespec *PageSpecs; /* page specification list */
@@ -123,9 +127,6 @@ i32 Count[10]; /* the 10 \count variabl
@@ -134,9 +138,6 @@ i32 Count[10]; /* the 10 \count variabl
/* save some string space: we use this a lot */
char writeerr[] = "error writing DVI file";
@ -190,7 +188,7 @@
static void WriteFont(struct fontinfo *fi);
static void PutFontSelector(i32 index);
@@ -186,6 +187,15 @@ scale(i32 whole, int num, int den, i32 s
@@ -197,6 +198,15 @@ scale(i32 whole, int num, int den, i32 s
return (v) ;
}
@ -206,7 +204,7 @@
struct pagespec {
int reversed, pageno, add;
i32 xoff, yoff;
@@ -293,6 +303,8 @@ parsedimen(char **sp)
@@ -304,6 +314,8 @@ parsedimen(char **sp)
fac = Height;
s++;
}
@ -215,7 +213,7 @@
whole = scale(whole, num, den, fac) ;
*sp = s;
return (neg ? -whole : whole);
@@ -495,9 +507,15 @@ HandlePostAmble(void)
@@ -506,9 +518,15 @@ HandlePostAmble(void)
PutLong(outf, Denominator);
PutLong(outf, DVIMag);
c = GetLong(inf);
@ -233,7 +231,7 @@
c = GetWord(inf)+1;
PutWord(outf, c); /* DVI stack size */
PutWord(outf, NumberOfOutputPages);
@@ -590,7 +608,8 @@ HandlePreAmble(void)
@@ -606,7 +624,8 @@ HandlePreAmble(void)
DVIFileName, DVI_VERSION);
Numerator = GetLong(inf);
Denominator = GetLong(inf);
@ -243,7 +241,7 @@
putbyte(outf, DVI_PRE);
putbyte(outf, DVI_VERSION);
PutLong(outf, Numerator);
@@ -617,6 +636,7 @@ main(int argc, char **argv)
@@ -644,6 +663,7 @@ main(int argc, char **argv)
Width = 0;
Height = 0;
Magnification = 1000;
@ -251,7 +249,7 @@
Modulo = 1;
ProgName = *argv;
@@ -713,12 +733,16 @@ Usage: %s [-q] [-i infile] [-o outfile]
@@ -745,12 +765,16 @@ Usage: %s [-q] [-i infile] [-o outfile]
if (fseek(inf, 16L, 1) == -1)
error(1, -1, "can't seek postamble");
if (Height == 0) /* get height from postamble */
@ -271,7 +269,7 @@
HandleDVIFile();
if (WritingPage)
--- texk/seetexk/error.c
+++ texk/seetexk/error.c 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/error.c 2018-04-10 08:25:10.644838384 +0000
@@ -29,7 +29,12 @@
#include <config.h>
#endif
@ -307,7 +305,7 @@
static char *
strerror (int errnum)
--- texk/seetexk/gripes.h
+++ texk/seetexk/gripes.h 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/gripes.h 2018-04-10 08:25:10.644838384 +0000
@@ -28,16 +28,17 @@ extern const char *DVIFileName;
* Declarations for the various gripes.
*/
@ -337,7 +335,7 @@
+void GripeUndefinedOp(int n) __NR__;
void GripeBadGlyph(i32 c, struct font *f);
--- texk/seetexk/gripes0.c
+++ texk/seetexk/gripes0.c 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/gripes0.c 2018-04-10 08:25:10.644838384 +0000
@@ -28,10 +28,8 @@
#include "error.h"
#include "gripes.h"
@ -377,7 +375,7 @@
+ exit(0); /* NOTREACHED */
}
--- texk/seetexk/gripes1.c
+++ texk/seetexk/gripes1.c 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/gripes1.c 2018-04-10 08:25:10.644838384 +0000
@@ -29,6 +29,7 @@
#include "font.h"
#include "gripes.h"
@ -459,7 +457,7 @@
/*
--- texk/seetexk/mydvichk
+++ texk/seetexk/mydvichk 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/mydvichk 2018-04-10 08:25:10.648838309 +0000
@@ -0,0 +1,12 @@
+#!/bin/csh -f
+# 1993 (c) Werner Fink <Werner.Fink@itap.physik.uni-stuttgart.de>
@ -474,7 +472,7 @@
+
+exit(0)
--- texk/seetexk/odd2even
+++ texk/seetexk/odd2even 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/odd2even 2018-04-10 08:25:10.648838309 +0000
@@ -0,0 +1,22 @@
+#!/bin/csh -f
+# 1993 (c) Werner Fink <Werner.Fink@itap.physik.uni-stuttgart.de>
@ -499,7 +497,7 @@
+
+exit 0
--- texk/seetexk/search.c
+++ texk/seetexk/search.c 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/search.c 2018-04-10 08:25:10.648838309 +0000
@@ -34,6 +34,7 @@
* it runs in increasing-key-value sequence).
*/
@ -520,7 +518,7 @@
SCreate(unsigned int dsize)
{
--- texk/seetexk/seek.c
+++ texk/seetexk/seek.c 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/seek.c 2018-04-10 08:25:10.648838309 +0000
@@ -43,6 +43,10 @@
#endif
@ -547,7 +545,7 @@
/*
* Make and return a version of `f' on which fseek works (unconditionally).
--- texk/seetexk/tempfile.c
+++ texk/seetexk/tempfile.c 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/tempfile.c 2018-04-10 08:25:10.648838309 +0000
@@ -25,6 +25,7 @@
#endif
@ -568,7 +566,7 @@
#include "tempfile.h"
--- texk/seetexk/types.h
+++ texk/seetexk/types.h 2016-06-07 13:37:06.333142765 +0000
+++ texk/seetexk/types.h 2018-04-10 08:25:10.648838309 +0000
@@ -58,7 +58,7 @@
*
* (The bcopy provided in lib/bcopy.c does handle overlap.)

View File

@ -0,0 +1,14 @@
---
texk/web2c/synctexdir/am/synctex.am | 1 +
1 file changed, 1 insertion(+)
--- texk/web2c/synctexdir/am/synctex.am
+++ texk/web2c/synctexdir/am/synctex.am
@@ -55,6 +55,7 @@
if SYNCTEX
syncinclude_HEADERS = \
synctexdir/synctex_parser.h \
+ synctexdir/synctex_version.h \
synctexdir/synctex_parser_utils.h
pkgconfig_DATA = synctexdir/synctex.pc

View File

@ -1,20 +0,0 @@
--- texk/lcdf-typetools/lcdf-typetools-src/libefont/t1rw.cc
+++ texk/lcdf-typetools/lcdf-typetools-src/libefont/t1rw.cc 2018-02-22 22:32:26.288398000 +0000
@@ -117,7 +117,7 @@ inline int
Type1Reader::eexec(int c)
{
unsigned char answer = (unsigned char)(c ^ (_r >> 8));
- _r = (((unsigned char)c + _r) * t1C1 + t1C2) & 0xFFFF;
+ _r = (((unsigned char)c + _r) * (uint32_t) t1C1 + t1C2) & 0xFFFF;
return answer;
}
@@ -439,7 +439,7 @@ inline unsigned char
Type1Writer::eexec(int p)
{
unsigned char c = ((unsigned char)p ^ (_r >> 8)) & 0xFF;
- _r = ((c + _r) * t1C1 + t1C2) & 0xFFFF;
+ _r = ((c + _r) * (uint32_t) t1C1 + t1C2) & 0xFFFF;
return c;
}

View File

@ -0,0 +1,35 @@
--- texk/web2c/luatexdir/image/pdftoepdf.w
+++ texk/web2c/luatexdir/image/pdftoepdf.w Mon Apr 23 17:29:28 2018
@@ -472,10 +472,10 @@
break;
*/
case objString:
- copyString(pdf, obj->getString());
+ copyString(pdf, (GooString *)obj->getString());
break;
case objName:
- copyName(pdf, obj->getName());
+ copyName(pdf, (char *)obj->getName());
break;
case objNull:
pdf_add_null(pdf);
--- texk/web2c/luatexdir/lua/lepdflib.cc
+++ texk/web2c/luatexdir/lua/lepdflib.cc Mon Apr 23 17:29:12 2018
@@ -674,7 +674,7 @@
uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \
if (uin->pd != NULL && uin->pd->pc != uin->pc) \
pdfdoc_changed_error(L); \
- gs = ((in *) uin->d)->function(); \
+ gs = (GooString *)((in *) uin->d)->function(); \
if (gs != NULL) \
lua_pushlstring(L, gs->getCString(), gs->getLength()); \
else \
@@ -1813,7 +1813,7 @@
if (uin->pd != NULL && uin->pd->pc != uin->pc)
pdfdoc_changed_error(L);
if (((Object *) uin->d)->isString()) {
- gs = ((Object *) uin->d)->getString();
+ gs = (GooString *)((Object *) uin->d)->getString();
lua_pushlstring(L, gs->getCString(), gs->getLength());
} else
lua_pushnil(L);

View File

@ -1,842 +0,0 @@
---
texk/web2c/luatexdir/lua/liolibext.c | 6
texk/web2c/luatexdir/lua/luatex-core.c | 324 ++++++++++++-----------
texk/web2c/luatexdir/lua/luatex-core.lua | 423 +++++++++++++++----------------
texk/web2c/luatexdir/luaffi/ctype.c | 4
texk/web2c/luatexdir/luaffi/ffi.h | 2
texk/web2c/luatexdir/luatex.c | 4
6 files changed, 387 insertions(+), 376 deletions(-)
--- texk/web2c/luatexdir/luaffi/ctype.c
+++ texk/web2c/luatexdir/luaffi/ctype.c 2017-05-31 13:08:25.421741873 +0000
@@ -245,6 +245,10 @@ void* to_cdata(lua_State* L, int idx, st
lua_pop(L, 1); /* mt */
cd = (struct cdata*) lua_touserdata(L, idx);
+ if (!cd) {
+ lua_pushnil(L);
+ return NULL;
+ }
*ct = cd->type;
lua_getuservalue(L, idx);
--- texk/web2c/luatexdir/luaffi/ffi.h
+++ texk/web2c/luatexdir/luaffi/ffi.h 2017-06-01 09:12:45.128442092 +0000
@@ -370,7 +370,7 @@ __declspec(align(16))
#endif
struct cdata {
const struct ctype type
-#ifdef __GNUC__
+#if 0 /* def __GNUC__ */
__attribute__ ((aligned(16)))
#endif
;
--- texk/web2c/luatexdir/lua/liolibext.c 2017/06/13 21:01:34 44589
+++ texk/web2c/luatexdir/lua/liolibext.c 2017/06/13 22:07:40 44590
@@ -365,7 +365,7 @@
lua_pushliteral(L,"all command execution is disabled");
} else if (restrictedshell == 0) {
lua_pushboolean(L,1);
- lua_pushliteral(L,"all commands are permitted");
+ lua_pushstring(L,filename);
} else {
char *safecmd = NULL;
char *cmdname = NULL;
@@ -374,10 +374,6 @@
lua_pushboolean(L,0);
lua_pushliteral(L, "specific command execution disabled");
break;
- case 1:
- lua_pushboolean(L,1);
- lua_pushstring(L,filename);
- break;
case 2:
lua_pushboolean(L,1);
lua_pushstring(L,safecmd);
--- texk/web2c/luatexdir/lua/luatex-core.c 2017/06/13 21:01:34 44589
+++ texk/web2c/luatexdir/lua/luatex-core.c 2017/06/13 22:07:40 44590
@@ -52,7 +52,7 @@
0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6f, 0x5f,
0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x0a, 0x6c, 0x6f, 0x63, 0x61,
- 0x6c, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x6c, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x65, 0x73,
0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64,
0x6c, 0x69, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x66, 0x69,
@@ -84,169 +84,175 @@
0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x2d, 0x2d, 0x20,
0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64,
- 0x0a, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f,
- 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x2d, 0x2d, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20,
- 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x0a, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76,
- 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x2d,
- 0x2d, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c,
- 0x79, 0x0a, 0x6d, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6d, 0x74,
- 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73,
- 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
- 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78,
- 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f,
- 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x6f,
- 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68,
- 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64,
- 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69,
+ 0x0a, 0x2d, 0x2d, 0x20, 0x28, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72,
+ 0x20, 0x74, 0x6c, 0x31, 0x37, 0x20, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x29, 0x20, 0x69,
+ 0x6f, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x70, 0x6f,
+ 0x70, 0x65, 0x6e, 0x20, 0x2d, 0x2d, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72,
+ 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x0a, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64,
+ 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x20,
+ 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x0a,
+ 0x6d, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6d, 0x74, 0x5f, 0x6c,
+ 0x69, 0x6e, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x72,
+ 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66,
+ 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69,
0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29,
- 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x68,
- 0x6f, 0x77, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20,
- 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x68, 0x6f, 0x77, 0x2c, 0x27, 0x77, 0x27,
- 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66, 0x69, 0x6c,
- 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27, 0x77, 0x27, 0x29, 0x0a,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63,
- 0x6f, 0x72, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65,
- 0x2c, 0x27, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
- 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
- 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61,
- 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65,
- 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e,
- 0x6c, 0x79, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x69, 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x67, 0x73, 0x75, 0x62, 0x28, 0x68, 0x6f, 0x77, 0x2c, 0x27,
- 0x5b, 0x5e, 0x72, 0x62, 0x5d, 0x27, 0x2c, 0x27, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20,
- 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20,
+ 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6f, 0x77,
+ 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f,
0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20,
0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66,
- 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27, 0x72, 0x27,
- 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
- 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61,
- 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65,
- 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
- 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6f,
- 0x6b, 0x61, 0x79, 0x2c, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x69, 0x6f,
- 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
- 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6b,
- 0x61, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65,
- 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
- 0x20, 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2c,
- 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64,
- 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73,
- 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
- 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d,
- 0x65, 0x2c, 0x27, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x66, 0x20,
- 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
- 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x68, 0x6f, 0x77,
+ 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20, 0x61, 0x6e,
+ 0x64, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x28, 0x68, 0x6f, 0x77, 0x2c, 0x27, 0x77, 0x27, 0x29, 0x20,
+ 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x6e,
+ 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27, 0x77, 0x27, 0x29, 0x0a, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27,
+ 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
+ 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f,
+ 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79,
+ 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
+ 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20,
+ 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6f,
+ 0x77, 0x20, 0x3d, 0x20, 0x67, 0x73, 0x75, 0x62, 0x28, 0x68, 0x6f, 0x77, 0x2c, 0x27, 0x5b, 0x5e,
+ 0x72, 0x62, 0x5d, 0x27, 0x2c, 0x27, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x69, 0x66, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x27, 0x20, 0x74, 0x68,
+ 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68,
+ 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x27, 0x72, 0x27, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20,
+ 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20,
+ 0x20, 0x69, 0x66, 0x20, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66, 0x69, 0x6c,
+ 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x27, 0x72, 0x27, 0x29, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
+ 0x72, 0x6e, 0x20, 0x66, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f,
+ 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x2e, 0x2e,
+ 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6f, 0x6b, 0x61,
+ 0x79, 0x2c, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x63,
+ 0x68, 0x65, 0x63, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x6e,
+ 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6b, 0x61, 0x79,
+ 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69,
+ 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2c, 0x2e, 0x2e,
+ 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a,
+ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c,
+ 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x28, 0x6e,
+ 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x69, 0x6f, 0x5f, 0x6f,
+ 0x70, 0x65, 0x6e, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x68, 0x6f, 0x77, 0x20, 0x6f, 0x72, 0x20,
+ 0x27, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+ 0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x69, 0x6f, 0x5f,
+ 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x28, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+ 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
+ 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75,
+ 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f,
+ 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x28, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20,
+ 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x28, 0x66,
- 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
- 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78,
- 0x5f, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x28, 0x66, 0x29, 0x0a,
- 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
- 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
- 0x65, 0x28, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64,
- 0x0a, 0x0a, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61,
- 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x0a, 0x6d, 0x74, 0x2e,
- 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69,
- 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x57,
- 0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
- 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,
- 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6b, 0x70, 0x73, 0x65, 0x2e, 0x20, 0x54,
- 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x61,
- 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6e, 0x54, 0x65, 0x58, 0x74, 0x2e, 0x0a, 0x0a,
- 0x69, 0x66, 0x20, 0x6b, 0x70, 0x73, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x31,
- 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70,
- 0x65, 0x6e, 0x20, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f,
- 0x6f, 0x70, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65,
- 0x6e, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x70, 0x6f,
- 0x70, 0x65, 0x6e, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x73, 0x61, 0x66,
- 0x65, 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68,
- 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e,
- 0x73, 0x70, 0x61, 0x77, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e,
- 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x73, 0x65, 0x74, 0x65, 0x6e, 0x76,
- 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x74,
- 0x65, 0x6d, 0x70, 0x64, 0x69, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e,
- 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20,
- 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e,
- 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x6e,
- 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x74, 0x6d, 0x70, 0x66, 0x69,
- 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e,
- 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x63, 0x68, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d, 0x20,
- 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6c, 0x6f, 0x63, 0x6b,
- 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73,
- 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x72, 0x6d, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d, 0x20, 0x6e,
- 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6d, 0x6b, 0x64, 0x69, 0x72,
- 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e,
- 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x6e, 0x69,
- 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6f,
- 0x70, 0x65, 0x6e, 0x20, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f,
- 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x0a, 0x0a,
- 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x73, 0x61, 0x66, 0x65, 0x72, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x68, 0x65, 0x6c,
- 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20, 0x7e, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65,
- 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71,
- 0x75, 0x69, 0x72, 0x65, 0x28, 0x27, 0x66, 0x66, 0x69, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20,
- 0x66, 0x6f, 0x72, 0x20, 0x6b, 0x2c, 0x20, 0x76, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x65, 0x78, 0x74,
- 0x2c, 0x20, 0x66, 0x66, 0x69, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x69, 0x66, 0x20, 0x6b, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x67, 0x63, 0x27, 0x20, 0x74, 0x68,
- 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
- 0x66, 0x69, 0x5b, 0x6b, 0x5d, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a,
- 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x65,
- 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x6f, 0x73, 0x2e, 0x5b, 0x65, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x7c, 0x6f, 0x73, 0x2e, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x7c, 0x6f, 0x73, 0x2e, 0x65,
- 0x78, 0x65, 0x63, 0x5d, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x61, 0x72, 0x65,
- 0x20, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20, 0x61, 0x77, 0x61,
- 0x72, 0x65, 0x29, 0x0a, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x6d, 0x64, 0x35, 0x20, 0x74, 0x68, 0x65,
- 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x75, 0x6d,
- 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73, 0x75, 0x6d, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x67, 0x73, 0x75, 0x62, 0x20, 0x20, 0x20, 0x3d,
- 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x3d, 0x20,
- 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x20, 0x20, 0x3d,
- 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x0a, 0x0a, 0x20, 0x20,
- 0x20, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73,
- 0x75, 0x6d, 0x68, 0x65, 0x78, 0x61, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73,
- 0x75, 0x6d, 0x28, 0x6b, 0x29, 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61,
- 0x74, 0x28, 0x22, 0x25, 0x30, 0x32, 0x78, 0x22, 0x2c, 0x62, 0x79, 0x74, 0x65, 0x28, 0x63, 0x29,
- 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x29, 0x29, 0x0a,
- 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x6e,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73, 0x75, 0x6d, 0x48, 0x45, 0x58,
- 0x41, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
- 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x75, 0x6d, 0x28, 0x6b, 0x29,
- 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28,
- 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
- 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x22, 0x25, 0x30,
- 0x32, 0x58, 0x22, 0x2c, 0x62, 0x79, 0x74, 0x65, 0x28, 0x63, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
- 0x6e, 0x64, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x00
+ 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69,
+ 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78,
+ 0x5f, 0x69, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x0a, 0x6d, 0x74, 0x2e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x72,
+ 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x57, 0x65, 0x20, 0x61,
+ 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20,
+ 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6b, 0x70, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73,
+ 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x2d, 0x2d, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20,
+ 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6e, 0x54, 0x65, 0x58, 0x74, 0x2e, 0x0a, 0x0a, 0x69, 0x66, 0x20,
+ 0x6b, 0x70, 0x73, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68,
+ 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x20,
+ 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x3d,
+ 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x70, 0x6f, 0x70, 0x65, 0x6e,
+ 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x73, 0x61, 0x66, 0x65, 0x72, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x20,
+ 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x73, 0x70, 0x61,
+ 0x77, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f,
+ 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x73, 0x65, 0x74, 0x65, 0x6e, 0x76, 0x20, 0x20, 0x3d,
+ 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x6d, 0x70,
+ 0x64, 0x69, 0x72, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
+ 0x6f, 0x2e, 0x70, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x3d,
+ 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x73, 0x2e, 0x72, 0x65, 0x6e,
+ 0x61, 0x6d, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f,
+ 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x74, 0x6d, 0x70, 0x66, 0x69, 0x6c, 0x65, 0x20,
+ 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
+ 0x6c, 0x66, 0x73, 0x2e, 0x63, 0x68, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x20, 0x20,
+ 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x74, 0x6f,
+ 0x75, 0x63, 0x68, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c,
+ 0x66, 0x73, 0x2e, 0x72, 0x6d, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x6c, 0x66, 0x73, 0x2e, 0x6d, 0x6b, 0x64, 0x69, 0x72, 0x20, 0x20, 0x3d,
+ 0x20, 0x6e, 0x69, 0x6c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6f, 0x2e, 0x73, 0x61, 0x76,
+ 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x3d, 0x20, 0x6c, 0x75, 0x61, 0x74, 0x65,
+ 0x78, 0x5f, 0x69, 0x6f, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e,
+ 0x6c, 0x79, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x73, 0x61, 0x66, 0x65,
+ 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20,
+ 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20, 0x7e, 0x3d, 0x20, 0x31,
+ 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20, 0x3d,
+ 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x27, 0x66, 0x66, 0x69, 0x27, 0x29, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6b, 0x2c, 0x20, 0x76, 0x20, 0x69, 0x6e, 0x20,
+ 0x6e, 0x65, 0x78, 0x74, 0x2c, 0x20, 0x66, 0x66, 0x69, 0x20, 0x64, 0x6f, 0x0a, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x67, 0x63,
+ 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x5b, 0x6b, 0x5d, 0x20, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
+ 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x20, 0x3d, 0x20, 0x6e, 0x69,
+ 0x6c, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x2d, 0x2d, 0x20, 0x6f, 0x73, 0x2e, 0x5b, 0x65,
+ 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x7c, 0x6f, 0x73, 0x2e, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x7c,
+ 0x6f, 0x73, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x5d, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79,
+ 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65,
+ 0x20, 0x61, 0x77, 0x61, 0x72, 0x65, 0x29, 0x0a, 0x0a, 0x0a, 0x69, 0x66, 0x20, 0x6d, 0x64, 0x35,
+ 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x20, 0x73, 0x75, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73, 0x75,
+ 0x6d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x67, 0x73, 0x75, 0x62,
+ 0x20, 0x20, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x73, 0x75, 0x62,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61,
+ 0x74, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
+ 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65,
+ 0x20, 0x20, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x79, 0x74, 0x65,
+ 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d,
+ 0x64, 0x35, 0x2e, 0x73, 0x75, 0x6d, 0x68, 0x65, 0x78, 0x61, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73,
+ 0x75, 0x62, 0x28, 0x73, 0x75, 0x6d, 0x28, 0x6b, 0x29, 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20,
+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66,
+ 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x22, 0x25, 0x30, 0x32, 0x78, 0x22, 0x2c, 0x62, 0x79, 0x74,
+ 0x65, 0x28, 0x63, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
+ 0x64, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20,
+ 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x64, 0x35, 0x2e, 0x73, 0x75,
+ 0x6d, 0x48, 0x45, 0x58, 0x41, 0x28, 0x6b, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x67, 0x73, 0x75, 0x62, 0x28, 0x73, 0x75,
+ 0x6d, 0x28, 0x6b, 0x29, 0x2c, 0x20, 0x22, 0x2e, 0x22, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
+ 0x28, 0x22, 0x25, 0x30, 0x32, 0x58, 0x22, 0x2c, 0x62, 0x79, 0x74, 0x65, 0x28, 0x63, 0x29, 0x29,
+ 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x29, 0x29, 0x0a, 0x20,
+ 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x00
};
return luaL_dostring(L, (const char*) luatex_core_lua);
}
\ No newline at end of file
--- texk/web2c/luatexdir/lua/luatex-core.lua 2017/06/13 21:01:34 44589
+++ texk/web2c/luatexdir/lua/luatex-core.lua 2017/06/13 22:07:40 44590
@@ -1,210 +1,213 @@
--- if not modules then modules = { } end modules ['luatex-core'] = {
--- version = 1.001,
--- comment = 'companion to luatex',
--- author = 'Hans Hagen & Luigi Scarso',
--- copyright = 'LuaTeX Development Team',
--- }
-
-LUATEXCOREVERSION = 1.002
-
--- This file overloads some Lua functions. The readline variants provide the same
--- functionality as LuaTeX <= 1.04 and doing it this way permits us to keep the
--- original io libraries clean. Performance is probably even a bit better now.
-
-local type, next, getmetatable, require = type, next, getmetatable, require
-local find, gsub = string.find, string.gsub
-
-local io_open = io.open
-local io_popen = io.popen
-local io_line = io.lines
-
-local fio_readline = fio.readline
-local fio_checkpermission = fio.checkpermission
-local fio_recordfilename = fio.recordfilename
-
-local mt = getmetatable(io.stderr)
-local mt_lines = mt.lines
-local saferoption = status.safer_option
-local shellescape = status.shell_escape -- 0 (disabled) 1 (anything) 2 (restricted)
-local kpseused = status.kpse_used -- 0 1
-
-io.saved_open = io_open -- can be protected
-io.saved_popen = io_popen -- can be protected
-io.saved_lines = io_lines -- always readonly
-mt.saved_lines = mt_lines -- always readonly
-
-local function luatex_io_open(name,how)
- if not how then
- how = 'r'
- end
- local f = io_open(name,how)
- if f then
- if type(how) == 'string' and find(how,'w') then
- fio_recordfilename(name,'w')
- else
- fio_recordfilename(name,'r')
- end
- end
- return f
-end
-
-local function luatex_io_open_readonly(name,how)
- if how then
- how = 'r'
- else
- how = gsub(how,'[^rb]','')
- if how == '' then
- how = 'r'
- end
- end
- local f = io_open(name,how)
- if f then
- fio_recordfilename(name,'r')
- end
- return f
-end
-
-local function luatex_io_popen(name,...)
- local okay, found = fio_checkpermission(name)
- if okay and found then
- return io_popen(found,...)
- end
-end
-
-local function luatex_io_lines(name)
- local f = io_open(name,'r')
- if f then
- return function()
- return fio_readline(f)
- end
- end
-end
-
-local function luatex_io_readline(f)
- return function()
- return fio_readline(f)
- end
-end
-
-io.lines = luatex_io_lines
-mt.lines = luatex_io_readline
-
--- We assume management to be provided by the replacement of kpse. This is the
--- case in ConTeXt.
-
-if kpseused == 1 then
-
- io.open = luatex_io_open
- io.popen = luatex_io_popen
-
-end
-
-if saferoption == 1 then
-
- os.execute = nil
- os.spawn = nil
- os.exec = nil
- os.setenv = nil
- os.tempdir = nil
-
- io.popen = nil
- io.open = nil
-
- os.rename = nil
- os.remove = nil
-
- io.tmpfile = nil
- io.output = nil
-
- lfs.chdir = nil
- lfs.lock = nil
- lfs.touch = nil
- lfs.rmdir = nil
- lfs.mkdir = nil
-
- io.saved_popen = nil
- io.saved_open = luatex_io_open_readonly
-
-end
-
-if saferoption == 1 or shellescape ~= 1 then
-
- ffi = require('ffi')
- for k, v in next, ffi do
- if k ~= 'gc' then
- ffi[k] = nil
- end
- end
- ffi = nil
-
-end
-
--- os.[execute|os.spawn|os.exec] already are shellescape aware)
-
-
-if md5 then
-
- local sum = md5.sum
- local gsub = string.gsub
- local format = string.format
- local byte = string.byte
-
- function md5.sumhexa(k)
- return (gsub(sum(k), ".", function(c)
- return format("%02x",byte(c))
- end))
- end
-
- function md5.sumHEXA(k)
- return (gsub(sum(k), ".", function(c)
- return format("%02X",byte(c))
- end))
- end
-
-end
-
-if utilities and utilities.merger and utilities.merger.compact then
-
- local byte, format, gmatch = string.byte, string.format, string.gmatch
- local concat = table.concat
-
- local data = gsub(io.loaddata('luatex-core.lua'),'if%s+utilities.*','')
- local t = { }
- local r = { }
- local n = 0
- local d = gsub(data,'\r\n','\n') -- be nice for unix
- local s = utilities.merger.compact(d) -- no comments and less spaces
-
- t[#t+1] = '/* generated from and by luatex-core.lua */'
- t[#t+1] = ''
- -- t[#t+1] = format('/*\n\n%s\n\n*/',d)
- -- t[#t+1] = ''
- t[#t+1] = '#include "lua.h"'
- t[#t+1] = '#include "lauxlib.h"'
- t[#t+1] = ''
- t[#t+1] = 'int load_luatex_core_lua (lua_State * L);'
- t[#t+1] = ''
- t[#t+1] = 'int load_luatex_core_lua (lua_State * L)'
- t[#t+1] = '{'
- t[#t+1] = ' static unsigned char luatex_core_lua[] = {'
- for c in gmatch(d,'.') do
- if n == 16 then
- n = 1
- t[#t+1] = ' ' .. concat(r,', ') .. ','
- else
- n = n + 1
- end
- r[n] = format('0x%02x',byte(c))
- end
- n = n + 1
- r[n] = '0x00'
- t[#t+1] = ' ' .. concat(r,', ',1,n)
- t[#t+1] = ' };'
- -- t[#t+1] = format('unsigned int luatex_core_lua_len = 0x%x;',#d+1)
- t[#t+1] = ' return luaL_dostring(L, (const char*) luatex_core_lua);'
- t[#t+1] = '}'
-
- io.savedata('luatex-core.c',concat(t,'\n'))
- io.savedata('luatex-core-stripped.lua',s)
-
-end
+-- if not modules then modules = { } end modules ['luatex-core'] = {
+-- version = 1.001,
+-- comment = 'companion to luatex',
+-- author = 'Hans Hagen & Luigi Scarso',
+-- copyright = 'LuaTeX Development Team',
+-- }
+
+LUATEXCOREVERSION = 1.002
+
+-- This file overloads some Lua functions. The readline variants provide the same
+-- functionality as LuaTeX <= 1.04 and doing it this way permits us to keep the
+-- original io libraries clean. Performance is probably even a bit better now.
+
+local type, next, getmetatable, require = type, next, getmetatable, require
+local find, gsub = string.find, string.gsub
+
+local io_open = io.open
+local io_popen = io.popen
+local io_lines = io.lines
+
+local fio_readline = fio.readline
+local fio_checkpermission = fio.checkpermission
+local fio_recordfilename = fio.recordfilename
+
+local mt = getmetatable(io.stderr)
+local mt_lines = mt.lines
+local saferoption = status.safer_option
+local shellescape = status.shell_escape -- 0 (disabled) 1 (anything) 2 (restricted)
+local kpseused = status.kpse_used -- 0 1
+
+io.saved_open = io_open -- can be protected
+-- (deleted for tl17 rebuild) io.saved_popen = io_popen -- can be protected
+io.saved_lines = io_lines -- always readonly
+mt.saved_lines = mt_lines -- always readonly
+
+local function luatex_io_open(name,how)
+ if not how then
+ how = 'r'
+ end
+ local f = io_open(name,how)
+ if f then
+ if type(how) == 'string' and find(how,'w') then
+ fio_recordfilename(name,'w')
+ else
+ fio_recordfilename(name,'r')
+ end
+ end
+ return f
+end
+
+local function luatex_io_open_readonly(name,how)
+ if how then
+ how = 'r'
+ else
+ how = gsub(how,'[^rb]','')
+ if how == '' then
+ how = 'r'
+ end
+ end
+ local f = io_open(name,how)
+ if f then
+ fio_recordfilename(name,'r')
+ end
+ return f
+end
+
+local function luatex_io_popen(name,...)
+ local okay, found = fio_checkpermission(name)
+ if okay and found then
+ return io_popen(found,...)
+ end
+end
+
+local function luatex_io_lines(name,how)
+ if name then
+ local f = io_open(name,how or 'r')
+ if f then
+ return function()
+ return fio_readline(f)
+ end
+ end
+ else
+ return io_lines()
+ end
+end
+
+local function luatex_io_readline(f)
+ return function()
+ return fio_readline(f)
+ end
+end
+
+io.lines = luatex_io_lines
+mt.lines = luatex_io_readline
+
+-- We assume management to be provided by the replacement of kpse. This is the
+-- case in ConTeXt.
+
+if kpseused == 1 then
+
+ io.open = luatex_io_open
+ io.popen = luatex_io_popen
+
+end
+
+if saferoption == 1 then
+
+ os.execute = nil
+ os.spawn = nil
+ os.exec = nil
+ os.setenv = nil
+ os.tempdir = nil
+
+ io.popen = nil
+ io.open = nil
+
+ os.rename = nil
+ os.remove = nil
+
+ io.tmpfile = nil
+ io.output = nil
+
+ lfs.chdir = nil
+ lfs.lock = nil
+ lfs.touch = nil
+ lfs.rmdir = nil
+ lfs.mkdir = nil
+
+ io.saved_open = luatex_io_open_readonly
+
+end
+
+if saferoption == 1 or shellescape ~= 1 then
+
+ ffi = require('ffi')
+ for k, v in next, ffi do
+ if k ~= 'gc' then
+ ffi[k] = nil
+ end
+ end
+ ffi = nil
+
+end
+
+-- os.[execute|os.spawn|os.exec] already are shellescape aware)
+
+
+if md5 then
+
+ local sum = md5.sum
+ local gsub = string.gsub
+ local format = string.format
+ local byte = string.byte
+
+ function md5.sumhexa(k)
+ return (gsub(sum(k), ".", function(c)
+ return format("%02x",byte(c))
+ end))
+ end
+
+ function md5.sumHEXA(k)
+ return (gsub(sum(k), ".", function(c)
+ return format("%02X",byte(c))
+ end))
+ end
+
+end
+
+if utilities and utilities.merger and utilities.merger.compact then
+
+ local byte, format, gmatch = string.byte, string.format, string.gmatch
+ local concat = table.concat
+
+ local data = gsub(io.loaddata('luatex-core.lua'),'if%s+utilities.*','')
+ local t = { }
+ local r = { }
+ local n = 0
+ local d = gsub(data,'\r\n','\n') -- be nice for unix
+ local s = utilities.merger.compact(d) -- no comments and less spaces
+
+ t[#t+1] = '/* generated from and by luatex-core.lua */'
+ t[#t+1] = ''
+ -- t[#t+1] = format('/*\n\n%s\n\n*/',d)
+ -- t[#t+1] = ''
+ t[#t+1] = '#include "lua.h"'
+ t[#t+1] = '#include "lauxlib.h"'
+ t[#t+1] = ''
+ t[#t+1] = 'int load_luatex_core_lua (lua_State * L);'
+ t[#t+1] = ''
+ t[#t+1] = 'int load_luatex_core_lua (lua_State * L)'
+ t[#t+1] = '{'
+ t[#t+1] = ' static unsigned char luatex_core_lua[] = {'
+ for c in gmatch(d,'.') do
+ if n == 16 then
+ n = 1
+ t[#t+1] = ' ' .. concat(r,', ') .. ','
+ else
+ n = n + 1
+ end
+ r[n] = format('0x%02x',byte(c))
+ end
+ n = n + 1
+ r[n] = '0x00'
+ t[#t+1] = ' ' .. concat(r,', ',1,n)
+ t[#t+1] = ' };'
+ -- t[#t+1] = format('unsigned int luatex_core_lua_len = 0x%x;',#d+1)
+ t[#t+1] = ' return luaL_dostring(L, (const char*) luatex_core_lua);'
+ t[#t+1] = '}'
+
+ io.savedata('luatex-core.c',concat(t,'\n'))
+ io.savedata('luatex-core-stripped.lua',s)
+
+end
--- texk/web2c/luatexdir/luatex.c 2017/06/13 21:01:34 44589
+++ texk/web2c/luatexdir/luatex.c 2017/06/13 22:07:40 44590
@@ -28,9 +28,11 @@
#define TeX
+/* for tl17 update, change luatex_date_info but nothing else,
+ as context depends on the numeric version number. */
int luatex_version = 100; /* \.{\\luatexversion} */
int luatex_revision = '4'; /* \.{\\luatexrevision} */
-int luatex_date_info = 2017033109; /* the compile date is now hardwired :YEAR MONTH DAY HOUR*/
+int luatex_date_info = 2017060901; /* the compile date is now hardwired :YEAR MONTH DAY HOUR*/
const char *luatex_version_string = "1.0.4";
const char *engine_name = my_name; /* the name of this engine */

View File

@ -0,0 +1,25 @@
--- utils/m-tx/mtx-src/preamble.c 2018-01-09 14:14:43.000000000 +0000
+++ utils/m-tx/mtx-src/preamble.c 2018-04-08 12:23:37.000000000 +0100
@@ -801,8 +801,8 @@
stave_size[i] = unspec;
for (i = 0; i <= maxstaves; i++)
nspace[i] = unspec;
- nspace[i] = unspec;
- stave_size[i-1] = unspec;
+ /* next line seems to be spurious. 0.63a RDT */
+ /* begin nspace[i]:=unspec; stave_size[i]:=unspec; end; */
n_pages = 1;
n_systems = 1;
readStyles();
--- utils/m-tx/mtx-src/preamble.pas 2018-01-09 14:14:43.000000000 +0000
+++ utils/m-tx/mtx-src/preamble.pas 2018-04-08 12:21:23.000000000 +0100
@@ -501,7 +501,8 @@
for i:=1 to maxvoices do setVocal(i,false);
for i:=1 to maxstaves do stave_size[i]:=unspec;
for i:=0 to maxstaves do nspace[i]:=unspec;
- begin nspace[i]:=unspec; stave_size[i]:=unspec; end;
+ { next line seems to be spurious. 0.63a RDT }
+ { begin nspace[i]:=unspec; stave_size[i]:=unspec; end; }
n_pages:=1; n_systems:=1;
readStyles; old_known_styles := known_styles;
for i:=1 to lines_in_paragraph do omit_line[i]:=false;

View File

@ -1,10 +0,0 @@
--- texk/ptexenc/ptexenc.c
+++ texk/ptexenc/ptexenc.c 2012-11-25 06:22:00.000000000 +0000
@@ -7,6 +7,7 @@
#include <kpathsea/variable.h>
#include <kpathsea/readable.h>
#include <kpathsea/c-limits.h>
+#include <kpathsea/c-pathmx.h>
#include <ptexenc/c-auto.h>
#include <ptexenc/ptexenc.h>

View File

@ -3,8 +3,8 @@
1 file changed, 2 insertions(+), 1 deletion(-)
--- utils/lacheck/lacheck.test
+++ utils/lacheck/lacheck.test 2016-01-28 12:25:40.958687909 +0000
@@ -6,5 +6,6 @@
+++ utils/lacheck/lacheck.test 2018-04-10 08:57:17.672625041 +0000
@@ -7,5 +7,6 @@
./lacheck $srcdir/test.tex | \
sed -e "s!$srcdir/test.tex!./test.tex!g" >test.out || exit 1

17
source-patgen.dif Normal file
View File

@ -0,0 +1,17 @@
---
texk/web2c/patgen.ch | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- texk/web2c/patgen.ch
+++ texk/web2c/patgen.ch 2018-05-03 15:37:08.333623698 +0000
@@ -78,8 +78,8 @@ begin
|trie_size| and greater than the number of occurrences of any pattern in
the dictionary}
@y
-@!trie_size=550000; {space for pattern trie}
-@!triec_size=260000; {space for pattern count trie, must be less than
+@!trie_size=10000000; {space for pattern trie}
+@!triec_size=5000000; {space for pattern count trie, must be less than
|trie_size| and greater than the number of occurrences of any pattern in
the dictionary}
@z

View File

@ -1,294 +0,0 @@
Dear Werner,
> See attachment for figure_fsteps.pdf ...
Please test attached pdftoepdf.cc and pdftosrc.cc on SUSE.
They are working fine on windows for your example with
the poppler 0.60.1.
Simply replace pdftoepdf.cc and pdftosrc.cc in web2c/pdftexdir
by the attached files.
Thanks,
Akira
---
texk/web2c/pdftexdir/pdftoepdf.cc | 113 +++++++++++++++++++++++---------------
texk/web2c/pdftexdir/pdftosrc.cc | 19 ++++--
2 files changed, 83 insertions(+), 49 deletions(-)
--- texk/web2c/pdftexdir/pdftoepdf.cc
+++ texk/web2c/pdftexdir/pdftoepdf.cc 2017-11-07 15:57:03.960327000 +0000
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
@@ -17,6 +17,15 @@ You should have received a copy of the G
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. A little modifications are made to avoid a crash for
+some kind of pdf images, such as figure_missing.pdf in gnuplot.
+The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
/* Do this early in order to avoid a conflict between
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
<kpathsea/types.h> defining Pascal's boolean as 'int'.
@@ -39,10 +48,7 @@ with this program. If not, see <http://
#include <goo/gfile.h>
#define GString GooString
#else
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#error POPPLER_VERSION should be defined.
#endif
#include <assert.h>
@@ -357,10 +363,29 @@ static void copyProcSet(Object * obj)
#define REPLACE_TYPE1C true
+static bool embeddableFont(Object * fontdesc)
+{
+ Object fontfile, ffsubtype;
+
+ if (!fontdesc->isDict())
+ return false;
+ fontfile = fontdesc->dictLookup("FontFile");
+ if (fontfile.isStream())
+ return true;
+ if (REPLACE_TYPE1C) {
+ fontfile = fontdesc->dictLookup("FontFile3");
+ if (!fontfile.isStream())
+ return false;
+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C");
+ }
+ return false;
+}
+
static void copyFont(char *tag, Object * fontRef)
{
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
- fontfile, ffsubtype, stemV;
+ stemV;
GfxFont *gfont;
fd_entry *fd;
fm_entry *fontmap;
@@ -377,23 +402,13 @@ static void copyFont(char *tag, Object *
// Only handle included Type1 (and Type1C) fonts; anything else will be copied.
// Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true.
fontdict = fontRef->fetch(xref);
+ fontdesc = Object(objNull);
if (fontdict.isDict()) {
subtype = fontdict.dictLookup("Subtype");
basefont = fontdict.dictLookup("BaseFont");
fontdescRef = fontdict.dictLookupNF("FontDescriptor");
if (fontdescRef.isRef()) {
fontdesc = fontdescRef.fetch(xref);
- if (fontdesc.isDict()) {
- fontfile = fontdesc.dictLookup("FontFile");
- if (!fontfile.isStream() && REPLACE_TYPE1C) {
- fontfile = fontdesc.dictLookup("FontFile3");
- ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
- if (!(ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C"))) {
- // not a Type1-C font.
- fontfile = Object(objNull);
- }
- }
- }
}
}
if (!fixedinclusioncopyfont && fontdict.isDict()
@@ -402,7 +417,7 @@ static void copyFont(char *tag, Object *
&& basefont.isName()
&& fontdescRef.isRef()
&& fontdesc.isDict()
- && fontfile.isStream()
+ && embeddableFont(&fontdesc)
&& (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
// round /StemV value, since the PDF input is a float
// (see Font Descriptors in PDF reference), but we only store an
@@ -591,9 +606,8 @@ static void copyObject(Object * obj)
copyDict(obj);
pdf_puts(">>");
} else if (obj->isStream()) {
- obj1 = Object(obj->streamGetDict());
pdf_puts("<<\n");
- copyDict(&obj1);
+ copyDict(obj->getStream()->getDictObject());
pdf_puts(">>\n");
pdf_puts("stream\n");
copyStream(obj->getStream()->getUndecodedStream());
@@ -662,7 +676,7 @@ static void writeEncodings()
#ifdef POPPLER_VERSION
r->font->decRefCnt();
#else
- delete r->font;
+#error POPPLER_VERSION should be defined.
#endif
delete r;
}
@@ -705,7 +719,7 @@ read_pdf_info(char *image_name, char *pa
#ifdef POPPLER_VERSION
int pdf_major_version_found, pdf_minor_version_found;
#else
- float pdf_version_found, pdf_version_wanted;
+#error POPPLER_VERSION should be defined.
#endif
// initialize
if (!isInit) {
@@ -737,19 +751,7 @@ read_pdf_info(char *image_name, char *pa
}
}
#else
- pdf_version_found = pdf_doc->doc->getPDFVersion();
- pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
- if (pdf_version_found > pdf_version_wanted + 0.01) {
- char msg[] =
- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed";
- if (pdf_inclusion_errorlevel > 0) {
- pdftex_fail(msg, pdf_version_found, pdf_version_wanted);
- } else if (pdf_inclusion_errorlevel < 0) {
- ; /* do nothing */
- } else { /* = 0, give warning */
- pdftex_warn(msg, pdf_version_found, pdf_version_wanted);
- }
- }
+#error POPPLER_VERSION should be defined.
#endif
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
if (page_name) {
@@ -931,12 +933,12 @@ void write_epdf(void)
pdf_printf("/%s ", pageDictKeys[i]);
copyObject(&dictObj); // preserves indirection
}
- }
+ }
// handle page group
dictObj = pageDict->lookupNF("Group");
if (!dictObj.isNull()) {
- if (pdfpagegroupval == 0) {
+ if (pdfpagegroupval == 0) {
// another pdf with page group was included earlier on the
// same page; copy the Group entry as is. See manual for
// info on why this is a warning.
@@ -953,7 +955,32 @@ void write_epdf(void)
if (!dictObj.isDict())
pdftex_fail("PDF inclusion: /Group dict missing");
writeSepGroup = true;
+/*
+This part is only a single line
groupDict = Object(page->getGroup());
+in the original patch. In this case, however, pdftex crashes at
+"delete pdf_doc->doc" in "delete_document()" for inclusion of some
+kind of pdf images, for example, figure_missing.pdf in gnuplot.
+A change
+ groupDict = Object(page->getGroup()).copy();
+does not improve the situation.
+The changes below seem to work fine.
+*/
+// begin modification
+ groupDict = pageDict->lookup("Group");
+ const Dict& dic1 = page->getGroup();
+ const Dict& dic2 = groupDict.getDict();
+ // replace dic2 in groupDict with dic1
+ l = dic2.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictRemove(dic2.getKey(i));
+ }
+ l = dic1.getLength();
+ for (i = 0; i < l; i++) {
+ groupDict.dictAdd(copyString(dic1.getKey(i)),
+ dic1.getValNF(i));
+ }
+// end modification
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
}
}
@@ -966,15 +993,15 @@ void write_epdf(void)
pdftex_warn
("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)");
} else {
- obj1 = Object(page->getResourceDict());
- if (!obj1.isDict())
+ Object *obj1 = page->getResourceDictObject();
+ if (!obj1->isDict())
pdftex_fail("PDF inclusion: invalid resources dict type <%s>",
- obj1.getTypeName());
+ obj1->getTypeName());
pdf_newline();
pdf_puts("/Resources <<\n");
- for (i = 0, l = obj1.dictGetLength(); i < l; ++i) {
- obj2 = obj1.dictGetVal(i);
- key = obj1.dictGetKey(i);
+ for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
+ obj2 = obj1->dictGetVal(i);
+ key = obj1->dictGetKey(i);
if (strcmp("Font", key) == 0)
copyFontResources(&obj2);
else if (strcmp("ProcSet", key) == 0)
--- texk/web2c/pdftexdir/pdftosrc.cc
+++ texk/web2c/pdftexdir/pdftosrc.cc 2017-11-07 15:57:11.068340000 +0000
@@ -1,5 +1,5 @@
/*
-Copyright 1996-2014 Han The Thanh, <thanh@pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
@@ -16,6 +16,14 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+/*
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+by Arch Linux. The poppler should be 0.59.0 or newer versions.
+POPPLER_VERSION should be defined.
+*/
+
#include <w2c/config.h>
#include <stdlib.h>
@@ -32,10 +40,7 @@ with this program. If not, see <http://
#include <goo/gmem.h>
#include <goo/gfile.h>
#else
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
+#error POPPLER_VERSION should be defined.
#endif
#include <assert.h>
@@ -151,6 +156,7 @@ int main(int argc, char *argv[])
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
Stream *str;
+ Lexer *lexer;
Parser *parser;
Object objStr, obj1, obj2;
int nObjects, first, n;
@@ -168,7 +174,8 @@ int main(int argc, char *argv[])
// parse the header: object numbers and offsets
objStr.streamReset();
str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
- parser = new Parser(xref, new Lexer(xref, str), gFalse);
+ lexer = new Lexer(xref, str);
+ parser = new Parser(xref, lexer, gFalse);
for (n = 0; n < nObjects; ++n) {
obj1 = parser->getObj();
obj2 = parser->getObj();

View File

@ -0,0 +1,21 @@
---
texk/web2c/synctexdir/ac/synctex.ac | 2 +-
texk/web2c/synctexdir/synctex_parser_api_level | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
--- texk/web2c/synctexdir/ac/synctex.ac
+++ texk/web2c/synctexdir/ac/synctex.ac 2018-04-23 11:57:26.371746955 +0000
@@ -5,7 +5,7 @@ dnl You may freely use, modify and/or di
dnl
dnl Additional code for synctex
dnl
-m4_define([synctex_version], m4_chomp(m4_include([synctexdir/synctex_parser_version.txt]))[.0])
+m4_define([synctex_version], m4_chomp(m4_include([synctexdir/synctex_parser_api_level]))[.0])
AC_SUBST([SYNCTEXVERSION], [synctex_version])
KPSE_LT_VERSION([synctex])
--- texk/web2c/synctexdir/synctex_parser_api_level
+++ texk/web2c/synctexdir/synctex_parser_api_level 2018-04-23 11:57:26.371746955 +0000
@@ -0,0 +1 @@
+2.0

69
source-tounicode.dif Normal file
View File

@ -0,0 +1,69 @@
--- texk/dvipdfm-x/tt_cmap.c (revision 47624)
+++ texk/dvipdfm-x/tt_cmap.c (revision 47625)
@@ -1,6 +1,6 @@
/* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
- Copyright (C) 2007-2017 by Jin-Hwan Cho and Shunsaku Hirata,
+ Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
the dvipdfmx project team.
This program is free software; you can redistribute it and/or modify
@@ -928,7 +928,6 @@
}
#undef MAX_UNICODES
if (unicode_count == -1) {
-#if defined(LIBDPX)
if(verbose > VERBOSE_LEVEL_MIN) {
if (name)
MESG("No Unicode mapping available: GID=%u, name=%s\n", gid, name);
@@ -935,12 +934,6 @@
else
MESG("No Unicode mapping available: GID=%u\n", gid);
}
-#else
- if (name)
- MESG("No Unicode mapping available: GID=%u, name=%s\n", gid, name);
- else
- MESG("No Unicode mapping available: GID=%u\n", gid);
-#endif /* LIBDPX */
} else {
/* the Unicode characters go into wbuf[2] and following, in UTF16BE */
/* we rely on WBUF_SIZE being more than adequate for MAX_UNICODES */
@@ -1021,13 +1014,7 @@
{
USHORT count = 0;
USHORT cid = cffont ? cff_charsets_lookup_inverse(cffont, gid) : gid;
-
- /* Skip PUA characters and alphabetic presentation forms, allowing
- * handle_subst_glyphs() as it might find better mapping. Fixes the
- * mapping of ligatures encoded in PUA in fonts like Linux Libertine
- * and old Adobe fonts.
- */
- if (is_used_char2(used_chars, cid) && !is_PUA_or_presentation(ch)) {
+ if (is_used_char2(used_chars, cid)) {
int len;
unsigned char *p = wbuf + 2;
@@ -1038,11 +1025,18 @@
len = UC_UTF16BE_encode_char((int32_t) ch, &p, wbuf + WBUF_SIZE);
CMap_add_bfchar(cmap, wbuf, 2, wbuf + 2, len);
- /* Avoid duplicate entry
- * There are problem when two Unicode code is mapped to
- * single glyph...
+ /* Skip PUA characters and alphabetic presentation forms, allowing
+ * handle_subst_glyphs() as it might find better mapping. Fixes the
+ * mapping of ligatures encoded in PUA in fonts like Linux Libertine
+ * and old Adobe fonts.
*/
- used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
+ if (!is_PUA_or_presentation(ch)) {
+ /* Avoid duplicate entry
+ * There are problem when two Unicode code is mapped to
+ * single glyph...
+ */
+ used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
+ }
}
return count;

View File

@ -2,17 +2,18 @@
libs/gmp/Makefile.in | 2 +-
libs/icu/icu-src/source/i18n/decNumber.h | 22 +++++++++++++---------
libs/lua52/Makefile.in | 4 ++--
libs/lua53/Makefile.in | 4 ++--
libs/mpfr/Makefile.in | 2 +-
libs/teckit/TECkit-src/source/Compiler.cpp | 17 ++++++++++-------
texk/makeindexk/genind.h | 16 +++++++++++++++-
texk/makeindexk/mkind.h | 20 +++++++++++++++++---
texk/makeindexk/scanid.h | 16 +++++++++++++++-
texk/makeindexk/scanst.h | 16 +++++++++++++++-
9 files changed, 89 insertions(+), 26 deletions(-)
10 files changed, 93 insertions(+), 32 deletions(-)
--- libs/gmp/Makefile.in
+++ libs/gmp/Makefile.in 2016-06-07 13:29:33.925651292 +0000
@@ -298,7 +298,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -306,7 +306,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@ -75,13 +76,29 @@
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
+ $(AM_CFLAGS) $(CFLAGS) $(XCFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
--- libs/lua53/Makefile.in
+++ libs/lua53/Makefile.in 2016-06-07 13:29:33.925651292 +0000
@@ -202,11 +202,11 @@ depcomp = $(SHELL) $(top_srcdir)/../../b
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(XCFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
+ $(AM_CFLAGS) $(CFLAGS) $(XCFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
--- libs/mpfr/Makefile.in
+++ libs/mpfr/Makefile.in 2016-06-07 13:29:33.925651292 +0000
@@ -232,7 +232,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -234,7 +234,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \

View File

@ -7,7 +7,7 @@
texk/kpathsea/cnf-to-paths.awk | 2
texk/kpathsea/db.c | 13
texk/kpathsea/mktex.opt | 39 ++
texk/kpathsea/mktexlsr | 43 ++
texk/kpathsea/mktexlsr | 52 +++
texk/kpathsea/progname.c | 4
texk/kpathsea/texmf.cnf | 174 +++++++-----
texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc | 3
@ -27,10 +27,10 @@
texk/web2c/window/x11-Xt.c | 4
texk/xdvik/psgs.c | 22 +
texk/xdvik/xdvi-sh.in | 19 +
28 files changed, 374 insertions(+), 194 deletions(-)
28 files changed, 383 insertions(+), 194 deletions(-)
--- libs/icu/icu-src/source/common/Makefile.in
+++ libs/icu/icu-src/source/common/Makefile.in 2017-05-30 12:59:40.801914534 +0000
+++ libs/icu/icu-src/source/common/Makefile.in 2018-04-10 09:02:17.774983801 +0000
@@ -69,7 +69,7 @@ DEFS += -DU_COMMON_IMPLEMENTATION
LDFLAGS += $(LDFLAGSICUUC)
@ -41,7 +41,7 @@
# for icu data location
ifeq ($(PKGDATA_MODE),common)
--- reautoconf
+++ reautoconf 2017-05-30 12:59:40.801914534 +0000
+++ reautoconf 2018-04-10 09:02:17.774983801 +0000
@@ -83,7 +83,7 @@ echo "$0: TL_AUTOHEADER, T
# Give users a chance to quit here
@ -52,7 +52,7 @@
AUTOCONF=$TL_AUTOCONF
AUTOHEADER=$TL_AUTOHEADER
--- texk/dviljk/dvi2xx.c
+++ texk/dviljk/dvi2xx.c 2017-05-30 12:59:40.809914620 +0000
+++ texk/dviljk/dvi2xx.c 2018-04-10 09:02:17.858982223 +0000
@@ -168,7 +168,18 @@ main(int argc, char *argv[])
setbuf(ERR_STREAM, NULL);
@ -73,7 +73,7 @@
G_progname = kpse_program_name;
#else
--- texk/kpathsea/c-fopen.h
+++ texk/kpathsea/c-fopen.h 2017-05-30 12:59:40.809914620 +0000
+++ texk/kpathsea/c-fopen.h 2018-04-10 09:02:17.858982223 +0000
@@ -38,17 +38,17 @@
/* How to open a binary file for reading: */
@ -96,7 +96,7 @@
/* How to switch an already open file handle to binary mode.
--- texk/kpathsea/c-memstr.h
+++ texk/kpathsea/c-memstr.h 2017-05-30 12:59:40.817914706 +0000
+++ texk/kpathsea/c-memstr.h 2018-04-10 09:02:17.858982223 +0000
@@ -37,6 +37,7 @@
/* For ancient systems that lack the system V/ANSI version of the
@ -113,8 +113,8 @@
+
#endif /* not KPATHSEA_C_MEMSTR_H */
--- texk/kpathsea/cnf-to-paths.awk
+++ texk/kpathsea/cnf-to-paths.awk 2017-05-30 12:59:40.817914706 +0000
@@ -37,7 +37,7 @@
+++ texk/kpathsea/cnf-to-paths.awk 2018-04-10 09:02:17.858982223 +0000
@@ -40,7 +40,7 @@
val = $0;
sub(/^.*=[ \t]*/, "", val);
sub(/[ \t]*$/, "", val);
@ -124,18 +124,18 @@
if (val ~ /\$SELFAUTO/) {
# Replace all semicolons with colons in the SELFAUTO paths we're keeping.
--- texk/kpathsea/db.c
+++ texk/kpathsea/db.c 2017-05-30 12:59:40.817914706 +0000
@@ -92,7 +92,8 @@ db_build (kpathsea kpse, hash_table_type
+++ texk/kpathsea/db.c 2018-04-10 09:08:03.084494047 +0000
@@ -93,7 +93,8 @@ db_build (kpathsea kpse, hash_table_type
unsigned len = strlen (db_filename) - sizeof (DB_NAME) + 1; /* Keep the /. */
string top_dir = (string)xmalloc (len + 1);
string cur_dir = NULL; /* First thing in ls-R might be a filename. */
- FILE *db_file = fopen (db_filename, FOPEN_R_MODE);
+ struct stat statdb;
+ FILE *db_file;
#if defined(WIN32)
#if defined(MONOCASE_FILENAMES)
string pp;
#endif
@@ -100,7 +101,15 @@ db_build (kpathsea kpse, hash_table_type
#endif /* MONOCASE_FILENAMES */
@@ -101,7 +102,15 @@ db_build (kpathsea kpse, hash_table_type
strncpy (top_dir, db_filename, len);
top_dir[len] = 0;
@ -153,7 +153,7 @@
len = strlen (line);
--- texk/kpathsea/mktex.opt
+++ texk/kpathsea/mktex.opt 2017-05-30 12:59:40.817914706 +0000
+++ texk/kpathsea/mktex.opt 2018-04-10 09:02:17.858982223 +0000
@@ -38,10 +38,11 @@ if test "$DOSISH" = "no"; then SEP=':';
# TEMPDIR needs to be unique to each process because of the possibility of two
# people running dvips (or whatever) simultaneously.
@ -231,7 +231,7 @@
# Cache values that may be useful for recursive calls.
export MT_MKTEX_OPT MT_MKTEX_CNF
--- texk/kpathsea/mktexlsr
+++ texk/kpathsea/mktexlsr 2017-05-30 12:59:40.817914706 +0000
+++ texk/kpathsea/mktexlsr 2018-04-10 09:02:17.858982223 +0000
@@ -58,6 +58,9 @@ if test "$DOSISH" = "no"; then SEP=':';
# be done before kpsewhich can be called, and thus cannot be put into
# mktex.opt.
@ -242,7 +242,7 @@
case $dirname in
"") # Do nothing
;;
@@ -141,6 +144,16 @@ old_ls_R_magic='% ls-R -- maintained by
@@ -152,6 +155,16 @@ old_ls_R_magic='% ls-R -- maintained by
shift
}
@ -259,7 +259,7 @@
for TEXMFLS_R in "$@"; do
# Prepend cwd if the directory was relative.
case "$TEXMFLS_R" in
@@ -170,12 +183,23 @@ for TEXMFLS_R in "$@"; do
@@ -181,12 +194,23 @@ for TEXMFLS_R in "$@"; do
# want to be silent if the directory doesn't exist, since the ls-R
# path ordinarily contains many nonexistent directories.
test -d "$db_dir" || continue
@ -285,7 +285,7 @@
elif test -s "$db_file" \
&& test "x`sed '1s/ $//;1q' \"$db_file\"`" != "x$ls_R_magic" \
&& test "x`sed '1s/ $//;1q' \"$db_file\"`" != "x$old_ls_R_magic"; then
@@ -186,8 +210,13 @@ for TEXMFLS_R in "$@"; do
@@ -197,8 +221,13 @@ for TEXMFLS_R in "$@"; do
# Skip if we cannot write the file:
kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission, skipping..." >&2; continue; }
@ -301,7 +301,7 @@
|| { echo "$progname: $db_dir_tmp: could not create directory, skipping..." >&2; continue; }
db_file_tmp="$db_dir_tmp/lsR$$.tmp"
rm -f "$db_file_tmp"
@@ -195,7 +224,9 @@ for TEXMFLS_R in "$@"; do
@@ -206,7 +235,9 @@ for TEXMFLS_R in "$@"; do
$verbose && echo "$progname: Updating $db_file... "
$dry_run && continue
@ -312,7 +312,7 @@
# The main task. We put ./: in the output, so top-level files can be
# found via ls-R. Probably irrelevant in practice. The sed command
@@ -209,15 +240,20 @@ for TEXMFLS_R in "$@"; do
@@ -220,15 +251,20 @@ for TEXMFLS_R in "$@"; do
vc_dirs='\.\(bzr\|git\|hg\|svn\)\|_darcs'
(cd "$TEXMFLS_R" && \ls -LRa 2>/dev/null) \
| sed -e '/^$/{n;s%^\./%%;s%^%./%;}; /^\.$/d; /^\.\.$/d; /^'$vc_dirs'$/d;' \
@ -337,8 +337,8 @@
done
--- texk/kpathsea/progname.c
+++ texk/kpathsea/progname.c 2017-05-30 12:59:40.817914706 +0000
@@ -668,9 +668,9 @@ kpathsea_set_program_name (kpathsea kpse
+++ texk/kpathsea/progname.c 2018-04-10 09:02:17.862982147 +0000
@@ -661,9 +661,9 @@ kpathsea_set_program_name (kpathsea kpse
/* SELFAUTODIR is actually the parent of the invocation directory,
and SELFAUTOPARENT the grandparent. This is how teTeX did it. */
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
@ -351,8 +351,8 @@
sdir_greatgrandparent = xdirname (sdir_grandparent);
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));
--- texk/kpathsea/texmf.cnf
+++ texk/kpathsea/texmf.cnf 2017-05-30 13:09:02.347900901 +0000
@@ -57,20 +57,20 @@
+++ texk/kpathsea/texmf.cnf 2018-04-10 09:11:07.729004411 +0000
@@ -61,20 +61,20 @@
TEXMFROOT = $SELFAUTOPARENT
% The main tree of distributed packages and programs:
@ -377,20 +377,20 @@
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
% more than one per-user tree, set this to a list of directories in
@@ -79,10 +79,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
@@ -83,10 +83,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2017/texmf-var
-TEXMFVAR = ~/.texlive2018/texmf-var
+TEXMFVAR = ${TEXMFSYSVAR}
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2017/texmf-config
+TEXMFCONFIG = ${TEXMFSYSCONFIG}
-TEXMFCONFIG = ~/.texlive2018/texmf-config
+TEXMFCONFIG = ${TEXMFSYSVAR}
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
@@ -103,7 +103,7 @@ TEXMFAUXTREES = {}
@@ -107,7 +107,7 @@ TEXMFAUXTREES = {}
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
@ -399,7 +399,7 @@
% Where to look for ls-R files. There need not be an ls-R in the
% directories in this path, but if there is one, Kpathsea will use it.
@@ -111,24 +111,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
@@ -115,24 +115,23 @@ TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEX
% does not create ls-R files in the non-!! elements -- because if an
% ls-R is present, it will be used, and the disk will not be searched.
% This is arguably a bug in kpathsea.
@ -427,7 +427,7 @@
% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats. For example
@@ -139,7 +138,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
@@ -143,7 +142,8 @@ VARTEXFONTS = $TEXMFVAR/fonts
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).
@ -437,7 +437,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
@@ -147,7 +147,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
@@ -151,7 +151,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
% WEB2C is for Web2C specific files. The current directory may not be
% a good place to look for them.
@ -446,7 +446,7 @@
% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
% or \openin, including .sty, .eps, etc. We specify paths for all known
@@ -188,18 +188,18 @@ TEXINPUTS.elatex = .;$TEXMF/tex/{
@@ -192,18 +192,18 @@ TEXINPUTS.elatex = .;$TEXMF/tex/{
TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}//
% pdfTeX.
@ -475,7 +475,7 @@
% LuaTeX.
TEXINPUTS.luatex = .;$TEXMF/tex/{luatex,plain,generic,}//
@@ -248,18 +248,18 @@ BSTINPUTS.pbibtex = .;$TEXMF/{pbib
@@ -256,18 +256,18 @@ BSTINPUTS.upbibtex = .;$TEXMF/{upbi
TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}//
% jadetex.
@ -500,7 +500,7 @@
% Earlier entries override later ones, so put this generic one last.
TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//
@@ -268,7 +268,7 @@ TEXINPUTS = .;$TEXMF/tex/{
@@ -276,7 +276,7 @@ TEXINPUTS = .;$TEXMF/tex/{
TTF2TFMINPUTS = .;$TEXMF/ttf2pk//
% Metafont, MetaPost inputs.
@ -509,7 +509,7 @@
MPINPUTS = .;$TEXMF/metapost//
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
@@ -278,31 +278,31 @@ MPINPUTS = .;$TEXMF/metapost//
@@ -286,31 +286,31 @@ MPINPUTS = .;$TEXMF/metapost//
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
@ -548,7 +548,7 @@
% Similarly for the GF format, which only remains in existence because
% Metafont outputs it (and MF isn't going to change).
@@ -312,7 +312,7 @@ GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MOD
@@ -320,7 +320,7 @@ GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MOD
GLYPHFONTS = .;$TEXMF/fonts
% A place to puth everything that doesn't fit the other font categories.
@ -557,7 +557,7 @@
% font name map files. This isn't just fonts/map// because ConTeXt
% wants support for having files with the same name in the different
@@ -398,8 +398,8 @@ MPSUPPORT = .;$TEXMF/metapost/support
@@ -406,8 +406,8 @@ MPSUPPORT = .;$TEXMF/metapost/support
% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~. These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
@ -568,7 +568,7 @@
% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems.
@@ -418,10 +418,10 @@ WEBINPUTS = .;$TEXMF/web//
@@ -426,10 +426,10 @@ WEBINPUTS = .;$TEXMF/web//
CWEBINPUTS = .;$TEXMF/cweb//
% Omega-related fonts and other files.
@ -583,7 +583,7 @@
OTPINPUTS = .;$TEXMF/omega/otp//
OCPINPUTS = .;$TEXMF/omega/ocp//
@@ -504,32 +504,38 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna
@@ -512,32 +512,38 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna
% explicitly list every directory. Arguably more understandable anyway.
%
TEXMFCNF = {\
@ -647,9 +647,9 @@
%
% For reference, here is the old brace-using definition:
%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
@@ -805,3 +811,33 @@ max_cols.gftype = 8191
@@ -821,3 +827,33 @@ max_cols.gftype = 8191
% Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
% Default is 0, to not guess.
% Default is 1, to guess. Used on Windows only.
guess_input_kanji_encoding = 1
+
+% These are xmltex specific
@ -682,7 +682,7 @@
+pool_size.jadetex = 500000
+save_size.jadetex = 15000
--- texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc
+++ texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc 2017-05-30 12:59:40.825914791 +0000
+++ texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc 2018-04-10 09:08:59.687430373 +0000
@@ -67,6 +67,9 @@
# include <io.h>
#endif
@ -692,9 +692,9 @@
+
using namespace Efont;
#define VERSION_OPT 301
#define VERSION_OPT 301
--- texk/ps2pk/pk2bm.c
+++ texk/ps2pk/pk2bm.c 2017-05-30 12:59:40.825914791 +0000
+++ texk/ps2pk/pk2bm.c 2018-04-10 09:02:17.862982147 +0000
@@ -45,7 +45,6 @@
static quarterword lsbf(quarterword u);
@ -777,8 +777,8 @@
- return octal;
-}
--- texk/texlive/linked_scripts/musixtex/musixtex.lua
+++ texk/texlive/linked_scripts/musixtex/musixtex.lua 2017-05-30 13:11:42.885612642 +0000
@@ -183,14 +183,25 @@ end
+++ texk/texlive/linked_scripts/musixtex/musixtex.lua 2018-04-10 09:12:50.395048030 +0000
@@ -192,15 +192,26 @@ end
-- possible by exploiting the the fact that Lua has two false values.
-- dvi == nil "do not produce a DVI file" (but maybe PDF)
-- dvi == false "do not process the DVI file" (but stop after TeX)
@ -789,6 +789,7 @@
function defaults()
prepmx = "prepmx"
pmx = "pmxab"
autosp = "autosp"
- tex = "etex"
+ if base == "pdfmusixtex" then
+ tex = "pdfetex"
@ -808,7 +809,7 @@
index = false
latex = false
--- texk/texlive/linked_scripts/texlive/fmtutil-sys.sh
+++ texk/texlive/linked_scripts/texlive/fmtutil-sys.sh 2017-05-30 12:59:40.825914791 +0000
+++ texk/texlive/linked_scripts/texlive/fmtutil-sys.sh 2018-04-10 09:02:17.862982147 +0000
@@ -22,4 +22,5 @@ PATH="$mydir:$PATH"; export PATH
# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
@ -816,7 +817,7 @@
+umask 022
exec fmtutil --sys ${1+"$@"}
--- texk/texlive/linked_scripts/texlive/fmtutil.pl
+++ texk/texlive/linked_scripts/texlive/fmtutil.pl 2017-05-30 12:59:40.833914877 +0000
+++ texk/texlive/linked_scripts/texlive/fmtutil.pl 2018-04-10 09:02:17.862982147 +0000
@@ -10,16 +10,16 @@
# History:
# Original shell script (C) 2001 Thomas Esser, public domain
@ -863,7 +864,7 @@
}
# set up destination directory
$opts{'fmtdir'} ||= "$texmfvar/web2c";
@@ -576,6 +583,7 @@ sub rebuild_one_format {
@@ -597,6 +604,7 @@ sub rebuild_one_format {
# check for existence of ini file before doing anything else
if (system("kpsewhich -progname=$fmt -format=$kpsefmt $inifile >$nul 2>&1") != 0) {
# we didn't find the ini file, skip
@ -871,7 +872,7 @@
print_deferred_warning("inifile $inifile for $fmt/$eng not found.\n");
# The original script just skipped it but in TeX Live we expect that
# all activated formats are also buildable, thus return failure.
@@ -635,11 +643,15 @@ sub rebuild_one_format {
@@ -656,11 +664,15 @@ sub rebuild_one_format {
",$opts{'no-error-if-no-engine'}," =~ m/,$eng,/) {
return $FMT_NOTAVAIL;
} else {
@ -888,7 +889,7 @@
. "$prgswitch $texargs";
print_verbose("running \`$cmdline' ...\n");
--- texk/texlive/linked_scripts/texlive/updmap-sys.sh
+++ texk/texlive/linked_scripts/texlive/updmap-sys.sh 2017-05-30 12:59:40.833914877 +0000
+++ texk/texlive/linked_scripts/texlive/updmap-sys.sh 2018-04-10 09:02:17.862982147 +0000
@@ -22,4 +22,5 @@ PATH="$mydir:$PATH"; export PATH
# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
@ -896,7 +897,7 @@
+umask 022
exec updmap --sys ${1+"$@"}
--- texk/texlive/tl_scripts/fmtutil.cnf
+++ texk/texlive/tl_scripts/fmtutil.cnf 2017-05-30 12:59:40.833914877 +0000
+++ texk/texlive/tl_scripts/fmtutil.cnf 2018-04-10 09:02:17.862982147 +0000
@@ -46,10 +46,11 @@ amstex pdftex - -translate-file=cp227.tc
# from context:
cont-en pdftex cont-usr.tex -8bit *cont-en.mkii
@ -933,7 +934,7 @@
+xmltex pdftex language.dat -translate-file=cp227.tcx *xmltex.ini
+pdfxmltex pdftex language.dat -translate-file=cp227.tcx *pdfxmltex.ini
--- texk/texlive/tl_scripts/texconfig-dialog.sh
+++ texk/texlive/tl_scripts/texconfig-dialog.sh 2017-05-30 12:59:40.833914877 +0000
+++ texk/texlive/tl_scripts/texconfig-dialog.sh 2018-04-10 09:02:17.862982147 +0000
@@ -157,7 +157,14 @@ termCtl()
###############################################################################
menuMain()
@ -963,7 +964,7 @@
while :; do
logMessage='view logfile'
--- texk/texlive/tl_scripts/texconfig-sys.sh
+++ texk/texlive/tl_scripts/texconfig-sys.sh 2017-05-30 12:59:40.833914877 +0000
+++ texk/texlive/tl_scripts/texconfig-sys.sh 2018-04-10 09:02:17.862982147 +0000
@@ -30,4 +30,5 @@ TEXMFVAR="$v"
TEXMFCONFIG="$c"
export TEXMFVAR TEXMFCONFIG
@ -971,7 +972,7 @@
+umask 022
exec texconfig ${1+"$@"}
--- texk/texlive/tl_scripts/texconfig.sh
+++ texk/texlive/tl_scripts/texconfig.sh 2017-05-30 12:59:40.833914877 +0000
+++ texk/texlive/tl_scripts/texconfig.sh 2018-04-10 09:02:17.862982147 +0000
@@ -40,7 +40,7 @@ envVars="
TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
@ -981,7 +982,7 @@
needsCleanup=false
lastUpdatedFile=
@@ -975,21 +975,6 @@ For more information about these \`featu
@@ -997,21 +997,6 @@ For more information about these \`featu
;;
formats)
@ -1003,7 +1004,7 @@
setupTmpDir
echo "$progname: analyzing old configuration..." >&2
fmtutil --catcfg > $tmpdir/pre
@@ -1015,22 +1000,6 @@ EOM
@@ -1037,22 +1022,6 @@ EOM
# "hyphen FORMAT"
hyphen)
@ -1026,7 +1027,7 @@
tcBatchHyphenFormat=$2
formatsForHyphen=`getFormatsForHyphen`
formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
@@ -1276,7 +1245,7 @@ Valid PAPER settings:
@@ -1301,7 +1270,7 @@ Valid PAPER settings:
;;
rehash)
@ -1036,7 +1037,7 @@
#
--- texk/texlive/tl_scripts/texlinks.sh
+++ texk/texlive/tl_scripts/texlinks.sh 2017-05-30 12:59:40.841914963 +0000
+++ texk/texlive/tl_scripts/texlinks.sh 2018-04-10 09:02:17.862982147 +0000
@@ -100,7 +100,7 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
@ -1135,8 +1136,8 @@
if test -f "$d/$engine$exeext"; then
case $unlink in
--- texk/web2c/Makefile.in
+++ texk/web2c/Makefile.in 2017-05-30 12:59:40.929915908 +0000
@@ -3816,7 +3816,7 @@ libmd5_a_SOURCES = libmd5/md5.c libmd5/m
+++ texk/web2c/Makefile.in 2018-04-10 09:02:17.870981997 +0000
@@ -4117,7 +4117,7 @@ libmd5_a_SOURCES = libmd5/md5.c libmd5/m
md5main_CPPFLAGS = -I$(srcdir)/libmd5
md5main_SOURCES = libmd5/md5main.c
md5main_LDADD = libmd5.a
@ -1145,7 +1146,7 @@
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
@@ -3863,6 +3863,11 @@ w2c/c-auto.h: w2c/stamp-h1
@@ -4164,6 +4164,11 @@ w2c/c-auto.h: w2c/stamp-h1
w2c/stamp-h1: $(srcdir)/c-auto.in $(top_builddir)/config.status
@rm -f w2c/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status w2c/c-auto.h
@ -1158,7 +1159,7 @@
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f w2c/stamp-h1
--- texk/web2c/window/regis.c
+++ texk/web2c/window/regis.c 2017-05-30 12:59:40.929915908 +0000
+++ texk/web2c/window/regis.c 2018-04-10 09:02:17.870981997 +0000
@@ -64,12 +64,14 @@ void mf_regis_blankrectangle (screencol
screenrow top,
screenrow bottom)
@ -1178,7 +1179,7 @@
left,bottom,ESCAPE);
}
--- texk/web2c/window/x11-Xlib.c
+++ texk/web2c/window/x11-Xlib.c 2017-05-30 12:59:40.929915908 +0000
+++ texk/web2c/window/x11-Xlib.c 2018-04-10 09:02:18.646967412 +0000
@@ -73,6 +73,8 @@ static XWMHints wm_hints = {
#define BORDER_WIDTH 1 /* Should get this from resource. */
#define DEFAULT_X_POSITION 0
@ -1205,7 +1206,7 @@
/* Look up the geometry for this window. (Section 10.2 Obtaining X
--- texk/web2c/window/x11-Xt.c
+++ texk/web2c/window/x11-Xt.c 2017-05-30 12:59:40.929915908 +0000
+++ texk/web2c/window/x11-Xt.c 2018-04-10 09:02:18.646967412 +0000
@@ -18,8 +18,8 @@
#define PLANE 0
@ -1218,7 +1219,7 @@
static Display *mf_display;
static Window mf_window;
--- texk/xdvik/psgs.c
+++ texk/xdvik/psgs.c 2017-05-30 12:59:40.929915908 +0000
+++ texk/xdvik/psgs.c 2018-04-10 09:02:18.646967412 +0000
@@ -34,6 +34,8 @@ OTHER DEALINGS IN THE SOFTWARE.
#include <sys/time.h> /* for timeval */
@ -1256,7 +1257,7 @@
GS_pid = vfork();
if (GS_pid == 0) { /* child */
--- texk/xdvik/xdvi-sh.in
+++ texk/xdvik/xdvi-sh.in 2017-05-30 12:59:40.929915908 +0000
+++ texk/xdvik/xdvi-sh.in 2018-04-10 09:02:18.646967412 +0000
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c0a032aa9fa29e7cb521659779d6415f3b4b062a6a44193fb4e79cfefe7b8954
size 63497548

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe0036d5f66708ad973cdc4e413c0bb9ee2385224481f7b0fb229700a0891e4e
size 49770944

View File

@ -21,3 +21,5 @@ addFilter(".*zero-length.*")
addFilter(".*dangling-symlink.*/usr/lib/mktex/public.*")
addFilter(".*devel-dependency.*texlive-lua-visual-debug.*")
addFilter(".*obsolete-not-provided.*")
addFilter(".*position-independent-executable-suggested.*")
addFilter(".*shared-lib-calls-exit.*")

View File

@ -1,12 +1,87 @@
-------------------------------------------------------------------
Thu May 10 10:10:29 UTC 2018 - werner@suse.de
- Let texlive-kpathsea-bin Pre Require texlive-tetex-bin
-------------------------------------------------------------------
Tue May 8 12:24:13 UTC 2018 - werner@suse.de
- Respect rename of texconfig to tetex
-------------------------------------------------------------------
Mon May 7 11:19:03 UTC 2018 - werner@suse.de
- Add patch source-tounicode.difto fix tounicode entries for
ligatures in pdf output of xelatex
-------------------------------------------------------------------
Mon May 7 10:16:26 UTC 2018 - idonmez@suse.com
- Add freetype-use-pkg-config.patch to fix build with new Freetype:
use pkgconfig to find Freetype libraries.
-------------------------------------------------------------------
Fri May 4 07:09:02 UTC 2018 - werner@suse.de
- Shorten reautoconfig a bit that is only reconfigure trees with
changed ac files
-------------------------------------------------------------------
Fri May 4 06:41:12 UTC 2018 - werner@suse.de
- Help asymptote with libOSMesa AND libglapi
-------------------------------------------------------------------
Thu May 3 15:39:00 UTC 2018 - werner@suse.de
- Add patch source-patgen.dif to enhance upper size limit of
arrays in patgen as mentioned at texlive@tug.org
-------------------------------------------------------------------
Wed May 2 10:22:22 UTC 2018 - werner@suse.de
- Switch over to TeXLive 2018 final 20180414
-------------------------------------------------------------------
Fri Apr 27 00:54:31 UTC 2018 - stefan.bruens@rwth-aachen.de
- Add patch source-dvipdfm-x.dif to fix XeTeX bug #151
-------------------------------------------------------------------
Mon Apr 23 11:11:21 UTC 2018 - werner@suse.de
- Add patches
* source-m-tx-0.63a-buffer-overflow.dif
* source-synctex-bump-soname.dif as the API had changed and the
major version 1 does not fix anymore
* source-fix-synctex-missing-header-install.dif
* source-lua-poppler0640.dif
* source-synctex-bump-soname.dif
-------------------------------------------------------------------
Thu Apr 19 09:05:23 UTC 2018 - werner@suse.de
- Add patch source-lcdf-typetools.dif to help gcc8 (boo#1087075)
- Skip patch source-lcdf-typetools.dif as now upstream (boo#1087075)
-------------------------------------------------------------------
Tue Apr 10 09:25:55 UTC 2018 - werner@suse.de
- First initial snapshot of TeXLive pre 2018
- Port patches
* biber-certs.dif
* source-64.dif
* source-a2ping.dif
* source-configure.dif
* source-dviutils.dif
* source-overflow.dif
* source-warns.dif
* source.dif
- Removed patches now upstream
* texlive-20170524-source-poppler059-1.patch
* source-poppler-0.59.1.dif
* source-luatex.dif
* source-maxpath.dif
* biber-perl-5.30.dif
-------------------------------------------------------------------
Mon Apr 9 10:57:54 UTC 2018 - idonmez@suse.com

File diff suppressed because it is too large Load Diff