[packages/xv] - up to 6.0.3
mrozowik
mrozowik at pld-linux.org
Sat Mar 8 02:16:00 CET 2025
commit 4e63c957af63ca0adef0636446654e14c9d1264f
Author: Krzysztof Mrozowicz <mrozowik at pld-linux.org>
Date: Fri Mar 7 23:22:46 2025 +0000
- up to 6.0.3
xv-3.10a-enhancements.20070520-20081216.diff | 293 ---
xv-FLmask.v2.1.patch | 2728 --------------------------
xv-JPEG.patch | 107 -
xv-PLD.patch | 149 --
xv-TIFF.patch | 101 -
xv-buffer_overflows.patch | 39 -
xv-c.patch | 42 -
xv-croppad.patch | 89 -
xv-deepcolor.patch | 54 -
xv-exceed_grab_patch.txt | 108 -
xv-format.patch | 13 -
xv-gifpatch | 49 -
xv-grabpatch | 40 -
xv-jasper.patch | 96 -
xv-libpng-1.5.patch | 543 -----
xv-longname.patch | 81 -
xv-mp-tiff-patch | 570 ------
xv-pdf.patch | 24 -
xv-png-fix2.patch | 218 --
xv-vispatch | 118 --
xv.desktop | 56 -
xv.png | Bin 2961 -> 0 bytes
xv.spec | 77 +-
23 files changed, 29 insertions(+), 5566 deletions(-)
---
diff --git a/xv.spec b/xv.spec
index c2bb97c..7ee1e7b 100644
--- a/xv.spec
+++ b/xv.spec
@@ -8,36 +8,26 @@ Summary(ru.UTF-8): Программа для просмотра и преобр
Summary(tr.UTF-8): X tabanlı resim görüntüleyici
Summary(uk.UTF-8): Програма для перегляду та перетворення файлів зображень для X
Name: xv
-Version: 3.10a
-Release: 43
+Version: 6.0.3
+Release: 0.2
License: Shareware
Group: X11/Applications/Graphics
-Source0: ftp://ftp.cis.upenn.edu/pub/xv/%{name}-%{version}.tar.gz
-# Source0-md5: 2d4fbeec1561304362781cc8e2f7f72d
-Source1: ftp://swrinde.nde.swri.edu/pub/png/applications/%{name}-%{version}-png-1.2d.tar.gz
-# Source1-md5: c8cbe14db6e2104ed4eb5330cdaba420
-Source2: %{name}man310a-html.tar.gz
-# Source2-md5: 78dce344e3e85faf01e1f13014aa659b
-Source3: %{name}.desktop
-Source4: %{name}.png
-Source5: %{name}-non-english-Xman-pages.tar.bz2
-# Source5-md5: 4e5a6582ad76974309ca8bf8fb56b671
-Source6: http://dl.sourceforge.net/project/png-mng/XV%20jumbo%20patches/20070520/%{name}-%{version}-jumbo-patches-20070520.tar.gz
-# Source6-md5: 9fb2d0ec320498105cafeba38a588472
-Patch0: %{name}-PLD.patch
-#from http://www.gregroelofs.com/code/%{name}-3.10a-enhancements.20070520-20081216.diff
-Patch1: %{name}-3.10a-enhancements.20070520-20081216.diff
-Patch2: %{name}-libpng-1.5.patch
-Patch3: %{name}-buffer_overflows.patch
-Patch4: %{name}-format.patch
-Patch5: %{name}-jasper.patch
+Source0: https://github.com/jasper-software/xv/archive/refs/tags/v%{version}.tar.gz
+# Source0-md5: 8c5dea54cada4833dbe4a47d99d07e3f
URL: http://www.trilon.com/xv/xv.html
+BuildRequires: cmake
BuildRequires: jasper-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 2:1.2
BuildRequires: libtiff-devel
+BuildRequires: libwebp-devel
BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXrandr-devel
BuildRequires: xorg-lib-libXt-devel
+BuildRequires: zlib-devel
+Requires(post,postun): desktop-file-utils
+Requires(post,postun): gtk-update-icon-cache
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -103,51 +93,42 @@ Utah Raster Toolkit RLE, PDS/VICAR, Sun Rasterfile, BMP, PCX, IRIS
RGB, XPM, Targa, XWD, PostScript(TM) та PM. Xv також вміє робити
просту обробку зображень - cropping, expanding, знімки экрану і т.і.
+%post
+%update_icon_cache hicolor
+%update_desktop_database
+
+%postun
+%update_icon_cache hicolor
+%update_desktop_database
+
%prep
-%setup -q -a1 -a6 -a2
-cp -a xv-%{version}/* .
-patch -p1 < ./xv-3.10a-jumbo-fix-enh-patch-20070520.txt || exit 1
-%patch0 -p1
-%patch1 -p1
-%patch2 -p0
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+%setup -q
%build
-%{__make} \
- CC="%{__cc}" \
- CCOPTS="%{rpmcppflags} %{rpmcflags} `pkg-config --cflags libpng 2>/dev/null`" \
- LDFLAGS="%{rpmldflags}"
+mkdir build_dir
+cd build_dir
+%cmake ..
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}} \
- $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_mandir}/man1}
+cd build_dir
%{__make} install \
- BINDIR=$RPM_BUILD_ROOT%{_bindir} \
- DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
- MANDIR=$RPM_BUILD_ROOT%{_mandir}/man1 \
- LIBDIR=$RPM_BUILD_ROOT%{_libdir}
-
-install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
-install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
+ DESTDIR=$RPM_BUILD_ROOT
-bzip2 -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc README BUGS CHANGELOG IDEAS
+%doc LICENSE.txt NEWS.txt README.md src/{README,README.FLmask,README.debian,README.jumbo,README.pcd,README.xv-non-english-Xman-pages,docs}
%attr(755,root,root) %{_bindir}/*
+%{_sysconfdir}/xv_mgcsfx
%{_desktopdir}/xv.desktop
%{_pixmapsdir}/*
-%doc README.jumbo
-%doc docs/xvdocs.pdf
-%doc docs/xvdocs.ps
%{_mandir}/man1/*
%lang(fi) %{_mandir}/fi/man1/*
%lang(pl) %{_mandir}/pl/man1/*
diff --git a/xv-3.10a-enhancements.20070520-20081216.diff b/xv-3.10a-enhancements.20070520-20081216.diff
deleted file mode 100644
index c9b5528..0000000
--- a/xv-3.10a-enhancements.20070520-20081216.diff
+++ /dev/null
@@ -1,293 +0,0 @@
- 20070621
- fixed improper ClearCode termination condition in GIF decoder (JZ); fixed
- some minor inconsistencies in Makefile (GRR)
- - xv-joe-zbiciak-20070621-gif-decoder-bugfix.dif
-
- 20080121
- removed duplicate "XDestroyWindow(theDisp, pngW);" in xvmisc.c (IMC); fixed
- empty-filename click-and-crash bug in xvdir.c (IMC, DB)
- - xv-ian-collier-20080118-crash-fixes.msg
- - xv-david-bath-20080901-empty-filename-save-crash-fix.dif
-
- 20081205
- reverted xvxwd.c to SJT's version (bug reported by Jari Ruusu)
-
- 20081216
- fixed crash-bug in IFF decoder (EP)
- - xv-elmar-plischke-20081216-xviff-crash-fix.dif
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xv.h ./xv.h
---- ../test3.20070520.stock/xv-3.10a/xv.h 2007-05-20 22:23:33.000000000 -0700
-+++ ./xv.h 2008-12-16 09:45:00.000000000 -0800
-@@ -16,8 +16,9 @@
- /* GRR 2nd public jumbo F+E patches: 20050410 */
- /* GRR 3rd public jumbo F+E patches: 20050501 */
- /* GRR 4th public jumbo F+E patch: 20070520 */
--#define REVDATE "version 3.10a-jumboFix+Enh of 20070520"
--#define VERSTR "3.10a-20070520"
-+/* GRR 5th public jumbo F+E patch: 200xxxxx (probably mid-2009) */
-+#define REVDATE "version 3.10a-jumboFix+Enh of 20081216 (interim!)"
-+#define VERSTR "3.10a-20081216"
-
- /*
- * uncomment the following, and modify for your site, but only if you've
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvdir.c ./xvdir.c
---- ../test3.20070520.stock/xv-3.10a/xvdir.c 2007-05-20 22:23:33.000000000 -0700
-+++ ./xvdir.c 2008-01-21 13:02:38.000000000 -0800
-@@ -539,8 +539,9 @@
- return -1;
- }
-
-- /* handle clicks inside the filename box */
-- if (x > 80 &&
-+ /* handle clicks inside the filename box, but only when box is not empty */
-+ if (enPos > stPos &&
-+ x > 80 &&
- y > dList.y + (int) dList.h + 30 &&
- x < 80 + DNAMWIDE+6 &&
- y < dList.y + (int) dList.h + 30 + LINEHIGH+5) {
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvgif.c ./xvgif.c
---- ../test3.20070520.stock/xv-3.10a/xvgif.c 2007-05-20 22:23:33.000000000 -0700
-+++ ./xvgif.c 2007-06-21 09:36:40.000000000 -0700
-@@ -700,7 +700,7 @@
- * associated output code on the output queue.
- */
-
-- while (CurCode > BitMask) {
-+ while (CurCode >= ClearCode) { /* Joe Zbiciak fix, 20070621 */
- if (OutCount > 4096) break; /* corrupt file */
- OutCode[OutCount++] = Suffix[CurCode];
- CurCode = Prefix[CurCode];
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvmisc.c ./xvmisc.c
---- ../test3.20070520.stock/xv-3.10a/xvmisc.c 2007-05-20 22:23:33.000000000 -0700
-+++ ./xvmisc.c 2008-01-21 12:57:29.000000000 -0800
-@@ -561,10 +561,6 @@
- if (mgcsfxW) XDestroyWindow(theDisp, mgcsfxW);
- #endif
-
--#ifdef HAVE_PNG
-- if (pngW) XDestroyWindow(theDisp, pngW);
--#endif
--
- /* if NOT using stdcmap for images, free stdcmap */
- if (colorMapMode != CM_STDCMAP) {
- int j;
-
-
-
-[This one reverts xvxwd.c to the pre-2007 SJT version, which actually worked...]
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvxwd.c ./xvxwd.c
---- ../test3.20070520.stock/xv-3.10a/xvxwd.c 2007-05-20 22:23:33.000000000 -0700
-+++ ./xvxwd.c 2008-12-06 00:30:44.000000000 -0800
-@@ -19,6 +19,12 @@
- */
-
- #include "xv.h"
-+#include <limits.h> /* for CHAR_BIT */
-+
-+/* SJT: just in case ... */
-+#ifndef CHAR_BIT
-+# define CHAR_BIT 8
-+#endif
-
-
- /***************************** x11wd.h *****************************/
-@@ -83,9 +89,14 @@
- static int writebiglong PARM((FILE *, CARD32));
- #endif
-
-+static void getcolorshift PARM((CARD32, int *, int *)); /* SJT */
-+
-+/* SJT: for 16bpp and 24bpp shifts */
-+static int red_shift_right, red_justify_left,
-+ grn_shift_right, grn_justify_left,
-+ blu_shift_right, blu_justify_left;
- static byte *pic8, *pic24;
--static CARD32 red_mask, green_mask, blue_mask;
--static int red_shift, green_shift, blue_shift;
-+static CARD32 red_mask, grn_mask, blu_mask;
- static int bits_per_item, bits_used, bit_shift,
- bits_per_pixel, bits_per_rgb;
- static char buf[4];
-@@ -189,38 +200,34 @@
- return 0;
- }
-
-- switch (bits_per_pixel) {
-- case 16:
-- case 24:
-- case 32:
-- ;
-- default:
-- xwdError("True/Direct supports only 16, 24, and 32 bits");
-- return 0;
-- }
-+ for (row=0; row<rows; row++) {
-+ for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
-+ CARD32 ul;
-
-- if (byte_order == MSBFirst) {
-- for (row=0; row<rows; row++) {
-- for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
-- register CARD32 ul = getpixnum(ifp);
--
-- *xP++ = ul >> red_shift & red_mask ;
-- *xP++ = ul >> green_shift & green_mask;
-- *xP++ = ul >> blue_shift & blue_mask ;
-- };
-- for (col=0; col<padright; col++) getpixnum(ifp);
-- }
-- } else {
-- for (row=0; row<rows; row++) {
-- for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
-- register CARD32 ul = getpixnum(ifp);
--
-- *xP++ = ul >> blue_shift & blue_mask ;
-- *xP++ = ul >> green_shift & green_mask;
-- *xP++ = ul >> red_shift & red_mask ;
-- };
-- for (col=0; col<padright; col++) getpixnum(ifp);
-+ ul = getpixnum(ifp);
-+ switch (bits_per_pixel) {
-+ case 16:
-+ case 24:
-+ case 32:
-+ /* SJT: shift all the way to the right and then shift left. The
-+ pairs of shifts could be combined. There will be two right and
-+ one left shift, but it's unknown which will be which. It seems
-+ easier to do the shifts (which might be 0) separately than to
-+ have a complex set of tests. I believe this is independent of
-+ byte order but I have no way to test.
-+ */
-+ *xP++ = ((ul & red_mask) >> red_shift_right) << red_justify_left;
-+ *xP++ = ((ul & grn_mask) >> grn_shift_right) << grn_justify_left;
-+ *xP++ = ((ul & blu_mask) >> blu_shift_right) << blu_justify_left;
-+ break;
-+
-+ default:
-+ xwdError("True/Direct supports only 16, 24, and 32 bits");
-+ return 0;
-+ }
- }
-+
-+ for (col=0; col<padright; col++) getpixnum(ifp);
- }
-
- pinfo->type = PIC24;
-@@ -445,28 +452,18 @@
- (i.e., 3 bytes, no alpha/padding) */
-
-
-- bits_used = bits_per_item;
-+ bits_used = bits_per_item;
-
- if (bits_per_pixel == sizeof(pixel_mask) * 8) pixel_mask = (CARD32) -1;
- else pixel_mask = (1 << bits_per_pixel) - 1;
-
-- red_mask = h11P->red_mask;
-- green_mask = h11P->grn_mask;
-- blue_mask = h11P->blu_mask;
--
-- red_shift = blue_shift = green_shift = 0;
-- while (!(red_mask & 1)) {
-- red_mask >>= 1;
-- ++red_shift;
-- }
-- while (!(blue_mask & 1)) {
-- blue_mask >>= 1;
-- ++blue_shift;
-- }
-- while (!(green_mask & 1)) {
-- green_mask >>= 1;
-- ++green_shift;
-- }
-+ red_mask = h11P->red_mask;
-+ grn_mask = h11P->grn_mask;
-+ blu_mask = h11P->blu_mask;
-+
-+ getcolorshift(red_mask, &red_shift_right, &red_justify_left);
-+ getcolorshift(grn_mask, &grn_shift_right, &grn_justify_left);
-+ getcolorshift(blu_mask, &blu_shift_right, &blu_justify_left);
-
- byteP = (char *) buf;
- shortP = (CARD16 *) buf;
-@@ -476,6 +473,45 @@
- }
-
-
-+/* SJT: figure out the proper shifts */
-+static void getcolorshift (CARD32 mask, int *rightshift, int *leftshift)
-+{
-+ int lshift, rshift;
-+ unsigned int uu;
-+
-+ if (mask == 0)
-+ {
-+ *rightshift = *leftshift = 0;
-+ return;
-+ }
-+
-+ uu = mask;
-+ lshift = rshift = 0;
-+ while ((uu & 0xf) == 0)
-+ {
-+ rshift += 4;
-+ uu >>= 4;
-+ }
-+ while ((uu & 1) == 0)
-+ {
-+ rshift++;
-+ uu >>= 1;
-+ }
-+
-+ while (uu != 0)
-+ {
-+ if (uu & 1)
-+ {
-+ lshift++;
-+ uu >>= 1;
-+ }
-+ }
-+ *rightshift = rshift;
-+ *leftshift = CHAR_BIT * sizeof(pixel) - lshift;
-+ return;
-+}
-+
-+
- /******************************/
- static CARD32 getpixnum(file)
- FILE* file;
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xviff.c ./xviff.c
---- ../test3.20070520.stock/xv-3.10a/xviff.c 2007-05-13 17:50:59.000000000 -0700
-+++ ./xviff.c 2008-12-16 09:20:25.000000000 -0800
-@@ -73,6 +73,7 @@
- int BMHDok, CMAPok, CAMGok;
- int bmhd_width, bmhd_height, bmhd_bitplanes, bmhd_transcol;
- int i, j, k, lineskip, colors, fmt;
-+ int npixels = 0; /* needs to be initialized _outside_ while-loop */
- byte bmhd_masking, bmhd_compression;
- long chunkLen, camg_viewmode;
- byte *databuf, *dataptr, *cmapptr, *picptr, *pic, *bodyptr;
-@@ -138,7 +139,6 @@
- BODY chunk was found or dataptr ran over end of file */
-
- while ((rv<0) && (dataptr < (databuf + filesize))) {
-- int npixels = 0;
- chunkLen = (iff_getlong(dataptr + 4) + 1) & 0xfffffffe; /* make even */
-
- if (strncmp((char *) dataptr, "BMHD", (size_t) 4)==0) { /* BMHD chunk? */
diff --git a/xv-FLmask.v2.1.patch b/xv-FLmask.v2.1.patch
deleted file mode 100644
index 0abd444..0000000
--- a/xv-FLmask.v2.1.patch
+++ /dev/null
@@ -1,2728 +0,0 @@
-diff -c --new-file xv-3.10a.org/00_README xv+flmask/00_README
-*** xv-3.10a.org/00_README Sun Sep 14 02:29:10 1997
---- xv+flmask/00_README Sun Sep 14 03:18:49 1997
-***************
-*** 0 ****
---- 1,101 ----
-+
-+ XV+FLmask version 2.1.
-+
-+ 97.09.14.
-+ matu at alice.lb.u-tokai.ac.jp.
-+ �ޤĤ�餷���롣��
-+
-+
-+ [���Υѥå��ϲ�?]
-+ �ʤ���������ʤˤ����顣
-+ ���äȵ��ޤ���Ǻ��줿��ΤǤ���(^^)
-+
-+
-+ [���Υ��������֤��ޤ���]
-+ README ���Υե����롣
-+ XV+FLmask.v2.1.patch �ѥå���
-+
-+
-+ [�����]
-+ (1)�ޤ���������ޤ��礦��
-+ xv-3.10a.tar.gz
-+ libjpeg-6a.tar.gz
-+ xv310a-jp-extension-rev5.3.3.tar.gz
-+
-+ (2)�����ˡ�
-+ XV+FLmask.v2.1.patch
-+ ��ä��Ƥ��Ĥ��ļѹ��ߤޤ��礦��(jvim����)
-+
-+ (3)�ʾ塣(���������
-+
-+
-+ [���Ѥˤ����ä�]
-+ FLmask menu �� Mask button �������Ƥ�������Ǥ���
-+ ���Ȥ�����̵���Ǥ��礦��
-+ Mask button �Ͼ��˻Ȥ��������Ǥ���
-+
-+
-+ [�ٹ�]
-+ ���� patch �Ϥ��ʤ����Ȥ���Ǥ�Τ�Ȥ˻��Ѥ��Ʋ�
-+ �������⤷������ patch ����Ѥ�����ˤ�äơ���
-+ �ʤ��� HDD �� data �������ä��Ƥ��ޤä��ꡢ�ϡ�
-+ �ɥ��������������������ꡢ���ʤ��θ�������
-+ ���ޤäƤ⡢�����ϰ��ڴ��Τ��ޤ���(mgetty����)
-+
-+
-+ [ư��Ķ�]
-+ ��ȯ�Ķ��� Linux-2.0.30 �Ǥ��������֤� original
-+ �� xv ��ư���Ķ��Ǥ��������̵��ư���Ǥ��礦��
-+ (���֤�)
-+
-+
-+ [����¾]
-+ ���Υѥå��ϥ������������Ǥ���
-+ 500���顣��˳�ʳ����ʤΤǡ�free �ˤ��ޤ���Ǥ�����
-+ Ʊ��������ζ줷�����ϡ��Ƚ��פ��ޤ�����
-+ ����¾�� software �μ�ͳ�����դ����餫��
-+ �Ǥɤ��Ȥ������Ȥ������ͤ�ʧ��ʤ��Ƥ��ɤ��Ǥ�����
-+ (^^;;;
-+
-+ ���Ĥ����������ˤ�P����Ϥޤ�CPU��Ƴ���������̴
-+ ���ơ���(K�Ǥ�褤��D�Ϥ⤦���䡣��)
-+
-+ �����˻�ʧ�äƤ��������
-+ E-mail: matu at alice.lb.u-tokai.ac.jp
-+ �ޤ� Mail ���Ʋ�������(^^)
-+
-+
-+ �Զ���, ��, ���ۤʤɤʤ�Ǥ�, ��Υ��ɥ쥹�ޤ�
-+ ���ꤤ���ޤ���
-+ (v2.0 �λ� mail ���äƲ����ä�����������ͭ����
-+ ���ޤ�����ո�ȿ�ǤǤ���褦���Ϥ��Ƥߤޤ�����)
-+
-+
-+ �ޤ���XV+FLmask Home Page.��
-+ http://www.lb.u-tokai.ac.jp/~matu/flmask/
-+ �ˤ� Version UP �Τ��Τ餻�������뤫���Τ�ޤ���
-+
-+
-+ [�ռ�]
-+ ���Υѥå����åȤ��������ˤ����äơ��ʲ�������
-+ �θ涨�Ϥ����ޤ����� ����괶���פ��ޤ���
-+
-+ o Gmask �κ�ԤθŹ� �� �͡�
-+ o ���ο͡�
-+ o ���ο͡�
-+ o ����¾��
-+
-+
-+ --
-+ o `XV'��, X Window System��β���ɽ���ץ������Ǥ�.
-+ XV is Copyright 1989, 1994 by John Bradley.
-+ X Window System is a trademark of X Consortium, Inc.
-+ o MEKOMASK �� ���� �����Υޥ����ġ��롣
-+ o WINMASK �� ��¼ ��Ϥ����Υޥ����ġ��롣
-+ o FLMASK �� ��enesis �����Υޥ����ġ��롣
-+ o CPMASK �� �����ȣ�enesis ������Υޥ�����ˡ��
-+ o Gmask �� �Ź¹䤵��Υޥ����ġ��롣
-+
-+ (jp-extension���� README)
-+
-+
-diff -c --new-file xv-3.10a.org/CPMASK xv+flmask/CPMASK
-*** xv-3.10a.org/CPMASK Sun Sep 14 02:29:10 1997
---- xv+flmask/CPMASK Sun Sep 14 03:18:49 1997
-***************
-*** 0 ****
---- 1,21 ----
-+ [CPMASK�ˤĤ���]
-+ ���� patch �ˤ�äƤ�����줿 CPmask �� FLMASK �ץ��������
-+ �Ǥ�������ΤȤϰ㤤file �� passwd �ξ����Ĥ��ޤ���
-+
-+ xv �� jpeg file �� save �������
-+ ��CREATOR: XV Version 3.10a Rev: 12/29/94 Quality = 75,
-+ Smoothing = 0��
-+ �Ȥ����褦�ʾ����ä��ޤ���
-+
-+ CPmask �Ϥ�����ʬ�ˤ��ä���passwd��������ΤǤ�������
-+ �줬������ CPmask �Τ�����줿 file �� xv ���ɤ߹���Ǥ���
-+ �ޤ� save ���ʤ����� passwd ��Ĵ�٤� tool �Ȥ���Ƚ��Ǥ��ʤ�
-+ file ������夬��櫓�Ǥ���
-+
-+ ���Τ���ˡ����� version �Ǥ� CPmask ���������Ƥ��ʤ� file
-+ �ξ��� error pop up ����褦�ˤ��Ƥ����ΤǤ��������ؤǤ���
-+ �Ȥ� mail �������������Τ��Ѥ��뤳�Ȥˤ��ޤ�����
-+
-+ �Ǥ����顢���� patch �ǤϿ����� CPmask �����ˡ��Ϥ�����
-+ ���ˤ��Ʋ�������
-+
-diff -c --new-file xv-3.10a.org/Makefile xv+flmask/Makefile
-*** xv-3.10a.org/Makefile Sun Sep 14 02:29:10 1997
---- xv+flmask/Makefile Sun Sep 14 03:18:49 1997
-***************
-*** 209,214 ****
---- 209,215 ----
-
- OBJS = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
- xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \
-+ xvmask.o xvcpmask.o xvmeko.o \
- xvgifwr.o xvdir.o xvbutt.o xvpbm.o xvxbm.o xvgam.o xvbmp.o \
- xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \
- xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \
-diff -c --new-file xv-3.10a.org/Imakefile xv+flmask/Imakefile
-*** xv-3.10a.org/Imakefile Sun Sep 14 02:29:10 1997
---- xv+flmask/Imakefile Sun Sep 14 03:18:49 1997
-***************
-*** 160,165 ****
---- 160,166 ----
-
- SRCS1 = xv.c xvevent.c xvroot.c xvmisc.c xvimage.c xvcolor.c xvsmooth.c \
- xv24to8.c xvgif.c xvpm.c xvinfo.c xvctrl.c xvscrl.c xvalg.c \
-+ xvmask.c xvcpmask.c xvmeko.c \
- xvgifwr.c xvdir.c xvbutt.c xvpbm.c xvxbm.c xvgam.c xvbmp.c \
- xvdial.c xvgraf.c xvsunras.c xvjpeg.c xvps.c xvpopup.c xvdflt.c \
- xvtiff.c xvtiffwr.c xvpds.c xvrle.c xviris.c xvgrab.c vprintf.c \
-***************
-*** 170,175 ****
---- 171,177 ----
-
- OBJS1 = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
- xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \
-+ xvmask.o xvcpmask.o xvmeko.o \
- xvgifwr.o xvdir.o xvbutt.o xvpbm.o xvxbm.o xvgam.o xvbmp.o \
- xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \
- xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \
-diff -c --new-file xv-3.10a.org/xv.h xv+flmask/xv.h
-*** xv-3.10a.org/xv.h Sun Sep 14 02:29:12 1997
---- xv+flmask/xv.h Sun Sep 14 06:50:03 1997
-***************
-*** 8,15 ****
- #include "config.h"
-
-
-! #define REVDATE "Version 3.10a Rev: 12/29/94 (PNG patch 1.2)"
-! #define VERSTR "3.10a(PNG)"
-
- /*
- * uncomment the following, and modify for your site, but only if you've
---- 8,16 ----
- #include "config.h"
-
-
-! #define REVDATE "Version 3.10a+FLmask Rev: 12/29/94"
-! #define VERSTR "3.10a+FLmask"
-!
-
- /*
- * uncomment the following, and modify for your site, but only if you've
-***************
-*** 415,424 ****
- #define BCROP 19
- #define BUNCROP 20
- #define BACROP 21
-! #define BABOUT 22
-! #define BQUIT 23
-! #define BXV 24
-! #define NBUTTS 25 /* # of butts */
-
-
- /* buttons in the load/save window */
---- 416,426 ----
- #define BCROP 19
- #define BUNCROP 20
- #define BACROP 21
-! #define BMASKS 22
-! #define BABOUT 23
-! #define BQUIT 24
-! #define BXV 25
-! #define NBUTTS 26 /* # of butts */
-
-
- /* buttons in the load/save window */
-***************
-*** 719,740 ****
- #define PIC24 CONV24_24BIT
-
- /* indicies into algMB */
- #define ALG_NONE 0
-! #define ALG_SEP1 1 /* separator */
-! #define ALG_BLUR 2
-! #define ALG_SHARPEN 3
-! #define ALG_EDGE 4
-! #define ALG_TINF 5
-! #define ALG_OIL 6
-! #define ALG_BLEND 7
-! #define ALG_ROTATE 8
-! #define ALG_ROTATECLR 9
- #define ALG_PIXEL 10
- #define ALG_SPREAD 11
- #define ALG_MEDIAN 12
- #define ALG_MAX 13
-
--
- /* indicies into sizeMB */
- #define SZMB_NORM 0
- #define SZMB_MAXPIC 1
---- 721,753 ----
- #define PIC24 CONV24_24BIT
-
- /* indicies into algMB */
-+ #define MSK_NONE 0
-+ #define MSK_SEP1 1 /* separator */
-+ #define MSK_FLMASK 2
-+ #define MSK_Q0MASK 3
-+ #define MSK_WIN 4
-+ #define MSK_MEKO 5
-+ #define MSK_CPMASK 6
-+ #define MSK_RGB 7
-+ #define MSK_BITREV 8
-+ #define MSK_COLREV 9
-+ #define MSK_MAX 10
-+
- #define ALG_NONE 0
-! #define ALG_SEP1 1 /* separator */
-! #define ALG_BLUR 2
-! #define ALG_SHARPEN 3
-! #define ALG_EDGE 4
-! #define ALG_TINF 5
-! #define ALG_OIL 6
-! #define ALG_BLEND 7
-! #define ALG_ROTATE 8
-! #define ALG_ROTATECLR 9
- #define ALG_PIXEL 10
- #define ALG_SPREAD 11
- #define ALG_MEDIAN 12
- #define ALG_MAX 13
-
- /* indicies into sizeMB */
- #define SZMB_NORM 0
- #define SZMB_MAXPIC 1
-***************
-*** 1209,1214 ****
---- 1222,1228 ----
- WHERE MBUTT dispMB; /* display mode menu button */
- WHERE MBUTT conv24MB; /* 24-to-8 conversion mode mbutt */
- WHERE MBUTT algMB; /* Algorithms mbutt */
-+ WHERE MBUTT flmaskMB; /* FLmask mbutt */
- WHERE MBUTT rootMB;
- WHERE MBUTT sizeMB;
- WHERE MBUTT windowMB;
-diff -c --new-file xv-3.10a.org/xvalg.c xv+flmask/xvalg.c
-*** xv-3.10a.org/xvalg.c Fri Dec 23 04:12:20 1994
---- xv+flmask/xvalg.c Wed Sep 3 12:49:55 1997
-***************
-*** 26,32 ****
- static void Pixelize PARM((void));
- static void Spread PARM((void));
- static void MedianFilter PARM((void));
-! static void saveOrigPic PARM((void));
-
- static void doBlurConvolv PARM((byte *,int,int,byte *, int,int,int,int, int));
- static void doSharpConvolv PARM((byte *,int,int,byte *, int,int,int,int, int));
---- 26,33 ----
- static void Pixelize PARM((void));
- static void Spread PARM((void));
- static void MedianFilter PARM((void));
-!
-! void saveOrigPic PARM((void));
-
- static void doBlurConvolv PARM((byte *,int,int,byte *, int,int,int,int, int));
- static void doSharpConvolv PARM((byte *,int,int,byte *, int,int,int,int, int));
-***************
-*** 41,47 ****
- static void doSpread PARM((byte *,int,int,byte *, int,int,int,int,
- int, int));
- static void doMedianFilter PARM((byte *,int,int,byte *, int,int,int,int, int));
--
- static void add2bb PARM((int *, int *, int *, int *, int, int));
- static void rotXfer PARM((int, int, double *,double *,
- double,double, double));
---- 42,47 ----
-***************
-*** 50,62 ****
- static void intsort PARM((int *, int));
- #endif
-
-! static int start24bitAlg PARM((byte **, byte **));
-! static void end24bitAlg PARM((byte *, byte *));
-!
-! static void printUTime PARM((char *));
-
-! static byte *origPic = (byte *) NULL;
-! static int origPicType;
- static byte origrmap[256], origgmap[256], origbmap[256];
-
-
---- 50,61 ----
- static void intsort PARM((int *, int));
- #endif
-
-! int start24bitAlg PARM((byte **, byte **));
-! void end24bitAlg PARM((byte *, byte *));
-! void printUTime PARM((char *));
-
-! byte *origPic = (byte *) NULL;
-! int origPicType;
- static byte origrmap[256], origgmap[256], origbmap[256];
-
-
-***************
-*** 69,75 ****
-
-
- /***************************/
-! static void printUTime(str)
- char *str;
- {
- #ifdef TIMING_TEST
---- 68,74 ----
-
-
- /***************************/
-! void printUTime(str)
- char *str;
- {
- #ifdef TIMING_TEST
-***************
-*** 82,91 ****
- }
-
-
--
--
--
--
- /************************************************************/
- void AlgInit()
- {
---- 81,86 ----
-***************
-*** 96,101 ****
---- 91,97 ----
- origPic = (byte *) NULL;
-
- algMB.dim[ALG_NONE] = 1; /* can't undo when init'ed already */
-+ flmaskMB.dim[MSK_NONE]=1;
- }
-
-
-***************
-*** 107,127 ****
- algorithm */
-
- switch (anum) {
-! case ALG_NONE: NoAlg(); break;
-! case ALG_BLUR: Blur(); break;
-! case ALG_SHARPEN: Sharpen(); break;
-! case ALG_EDGE: EdgeDetect(); break;
-! case ALG_TINF: TinFoil(); break;
-! case ALG_OIL: OilPaint(); break;
-! case ALG_BLEND: Blend(); break;
-! case ALG_ROTATE: FineRotate(0); break;
-! case ALG_ROTATECLR: FineRotate(1); break;
-! case ALG_PIXEL: Pixelize(); break;
-! case ALG_SPREAD: Spread(); break;
-! case ALG_MEDIAN: MedianFilter(); break;
- }
-
- algMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
- }
-
-
---- 103,124 ----
- algorithm */
-
- switch (anum) {
-! case ALG_NONE: NoAlg(); break;
-! case ALG_BLUR: Blur(); break;
-! case ALG_SHARPEN: Sharpen(); break;
-! case ALG_EDGE: EdgeDetect(); break;
-! case ALG_TINF: TinFoil(); break;
-! case ALG_OIL: OilPaint(); break;
-! case ALG_BLEND: Blend(); break;
-! case ALG_ROTATE: FineRotate(0); break;
-! case ALG_ROTATECLR: FineRotate(1); break;
-! case ALG_PIXEL: Pixelize(); break;
-! case ALG_SPREAD: Spread(); break;
-! case ALG_MEDIAN: MedianFilter(); break;
- }
-
- algMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-+ flmaskMB.dim[MSK_NONE] = (origPic == (byte *) NULL);
- }
-
-
-***************
-*** 1567,1573 ****
-
-
- /***********************************************/
-! static int start24bitAlg(pic24, tmpPic)
- byte **pic24, **tmpPic;
- {
- /* generates a 24-bit version of 'pic', if neccessary, and also mallocs
---- 1564,1570 ----
-
-
- /***********************************************/
-! int start24bitAlg(pic24, tmpPic)
- byte **pic24, **tmpPic;
- {
- /* generates a 24-bit version of 'pic', if neccessary, and also mallocs
-***************
-*** 1600,1606 ****
-
-
- /***********************************************/
-! static void end24bitAlg(pic24, outPic)
- byte *pic24, *outPic;
- {
- /* given pic24, and outPic, which has the new 24-bit image, installs it */
---- 1597,1603 ----
-
-
- /***********************************************/
-! void end24bitAlg(pic24, outPic)
- byte *pic24, *outPic;
- {
- /* given pic24, and outPic, which has the new 24-bit image, installs it */
-***************
-*** 1629,1635 ****
-
-
- /************************/
-! static void saveOrigPic()
- {
- /* saves original picture into origPic, if it hasn't already been done.
- This allows us to undo algorithms...
---- 1626,1632 ----
-
-
- /************************/
-! void saveOrigPic()
- {
- /* saves original picture into origPic, if it hasn't already been done.
- This allows us to undo algorithms...
-***************
-*** 1669,1674 ****
- pic = NULL;
- }
- }
--
--
-
---- 1666,1669 ----
-diff -c --new-file xv-3.10a.org/xvcpmask.c xv+flmask/xvcpmask.c
-*** xv-3.10a.org/xvcpmask.c Thu Jan 1 09:00:00 1970
---- xv+flmask/xvcpmask.c Sun Sep 14 07:17:54 1997
-***************
-*** 0 ****
---- 1,108 ----
-+ #include <sys/types.h>
-+ #include <sys/stat.h>
-+ #include <fcntl.h>
-+ #include <stdio.h>
-+ #include <stdlib.h>
-+ #include <string.h>
-+
-+ #include "xv.h"
-+
-+ typedef struct { int n; char flg; } CPS;
-+
-+ static unsigned char CPTbl[] = {
-+ 0x10, 0x17, 0x13, 0x15, 0x09,
-+ 0x08, 0x0a, 0x14, 0x06, 0x05,
-+ 0x16, 0x02, 0x0d, 0x03, 0x01,
-+ 0x04, 0x19, 0x0c, 0x0f, 0x0e,
-+ 0x12, 0x07, 0x0b, 0x18, 0x11, 0x1a
-+ };
-+
-+ void cpcode(char *filename,unsigned char *buff,int code_num)
-+ {
-+ int i,j,fd;
-+ unsigned char *wp, *cp;
-+ unsigned char *CP_KEY = "kIUCHIuCHINO";
-+
-+ if(code_num>=3) return;
-+ if((fd=open(filename,O_RDONLY))==-1) return;
-+
-+ lseek(fd,20+16*code_num,SEEK_SET);
-+ read(fd,buff,16);
-+
-+ wp = buff;
-+ cp = CP_KEY;
-+
-+ for ( i = 0; i < 16; i++ ) {
-+ *wp ^= *cp;
-+ if ( *wp & 0x80 ) *wp = '\0';
-+ cp++;
-+ wp++;
-+ if ( *cp == '\0' ) cp = CP_KEY;
-+ }
-+
-+ for (i=0;i<16;i++) {
-+ if (buff[i]<'A' || 'Z'<buff[i]){
-+ buff[i]=0;
-+ break;
-+ }
-+ }
-+ close(fd);
-+ }
-+
-+
-+ static void GetCPTbl(int nTbl, char *CPcode, int *tbl, CPS *cps)
-+ {
-+ int i, k, vl1, vl2, len;
-+
-+ for(i = 0; i < nTbl; i++) {
-+ tbl[i] = -1;
-+ cps[i].n = i;
-+ cps[i].flg = 0;
-+ }
-+ len = strlen(CPcode);
-+ vl1 = nTbl - 1;
-+ vl2 = len + nTbl % len;
-+ for(k = 0; k < nTbl; k++) {
-+ vl1 = CPTbl[CPcode[k % len] - 'A'] + vl1 + vl2;
-+ if(vl1 >= nTbl) vl1 %= nTbl;
-+ while(tbl[vl1] != -1) {
-+ if(k & 01) {
-+ if(vl1 == 0) vl1 = nTbl;
-+ vl1--;
-+ }
-+ else {
-+ if(++vl1 >= nTbl) vl1 = 0;
-+ }
-+ }
-+ tbl[vl1] = k;
-+ vl2++;
-+ }
-+ for(i = 0, k = nTbl - 1; i < k; i++, k--) {
-+ cps[tbl[i]].n = tbl[k];
-+ cps[tbl[k]].n = tbl[i];
-+ if((tbl[i] ^ tbl[k]) & 0x01)
-+ cps[tbl[i]].flg = cps[tbl[k]].flg = 1;
-+ }
-+ }
-+
-+
-+ CPS *calcCPmask(char *code, int ntbl)
-+ {
-+ int *tbl;
-+ int len,i;
-+ CPS *cps;
-+
-+ len = strlen(code);
-+ tbl = (int *)malloc(sizeof(int) * ntbl);
-+ cps = (CPS *)malloc(sizeof(CPS) * ntbl);
-+ if(!tbl || !cps) {
-+ ErrPopUp ("Error: No memory!!", "\nOk");
-+ if(tbl) free(tbl);
-+ exit(1);
-+ }
-+ GetCPTbl(ntbl, code, tbl, cps);
-+
-+ free(tbl);
-+ return(cps);
-+ }
-+
-diff -c --new-file xv-3.10a.org/xvctrl.c xv+flmask/xvctrl.c
-*** xv-3.10a.org/xvctrl.c Fri Dec 23 04:12:16 1994
---- xv+flmask/xvctrl.c Wed Sep 3 12:49:54 1997
-***************
-*** 112,117 ****
---- 112,128 ----
- "Slow 24->8",
- "Best 24->8" };
-
-+ static char *mskMList[] = { "Undo All\t\244u",
-+ MBSEP,
-+ "FLmask\t\244f",
-+ "Q0mask\t\244g",
-+ "WIN\t\244h",
-+ "MEKO\t\244i",
-+ "CPmask\t\244j",
-+ "RGB\t\244l",
-+ "BitRev.\t\244n",
-+ "ColRev.\t\244w"};
-+
- static char *algMList[] = { "Undo All\t\244u",
- MBSEP,
- "Blur...\t\244b",
-***************
-*** 303,311 ****
- BTCreate(&but[BPAD], ctrlW,BX0, BY1,BUTTW/2,BUTTH,"",BCLS);
- BTCreate(&but[BANNOT], ctrlW,BX0+BUTTW/2+1,BY1,BUTTW/2,BUTTH,"",BCLS);
-
-! BTCreate(&but[BCROP], ctrlW,BX1, BY1,BUTTW,BUTTH,"Crop", BCLS);
-! BTCreate(&but[BUNCROP], ctrlW,BX2, BY1,BUTTW,BUTTH,"UnCrop", BCLS);
-! BTCreate(&but[BACROP], ctrlW,BX3, BY1,BUTTW,BUTTH,"AutoCrop",BCLS);
- BTCreate(&but[BABOUT], ctrlW,BX4, BY1,BUTTW,BUTTH,"About XV",BCLS);
- BTCreate(&but[BQUIT], ctrlW,BX5, BY1,BUTTW,BUTTH,"Quit", BCLS);
-
---- 314,324 ----
- BTCreate(&but[BPAD], ctrlW,BX0, BY1,BUTTW/2,BUTTH,"",BCLS);
- BTCreate(&but[BANNOT], ctrlW,BX0+BUTTW/2+1,BY1,BUTTW/2,BUTTH,"",BCLS);
-
-! #define NEW_BUTW BUTTW*3/4
-! BTCreate(&but[BCROP], ctrlW,BX1 ,BY1,NEW_BUTW,BUTTH,"Crp", BCLS);
-! BTCreate(&but[BUNCROP], ctrlW,BX1+NEW_BUTW+1 ,BY1,NEW_BUTW,BUTTH,"UCrp", BCLS);
-! BTCreate(&but[BACROP], ctrlW,BX1+NEW_BUTW*2+2,BY1,NEW_BUTW,BUTTH,"ACrp",BCLS);
-! BTCreate(&but[BMASKS], ctrlW,BX1+NEW_BUTW*3+3,BY1,NEW_BUTW,BUTTH,"Mask",BCLS);
- BTCreate(&but[BABOUT], ctrlW,BX4, BY1,BUTTW,BUTTH,"About XV",BCLS);
- BTCreate(&but[BQUIT], ctrlW,BX5, BY1,BUTTW,BUTTH,"Quit", BCLS);
-
-***************
-*** 341,356 ****
- /* have to create menu buttons after XMapSubWindows, as we *don't* want
- the popup menus mapped */
-
-! MBCreate(&dispMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5,112,19,
- "Display", dispMList, DMB_MAX, BCLS);
-! MBCreate(&conv24MB, ctrlW, CTRLWIDE - 8 - 112 - (112+2), 5,112,19,
- "24/8 Bit", conv24MList, CONV24_MAX, BCLS);
-! MBCreate(&algMB, ctrlW, CTRLWIDE - 8 - 112, 5,112,19,
-! "Algorithms", algMList, ALG_MAX, BCLS);
-
-! MBCreate(&rootMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5+21,112,19,
- "Root", rootMList, RMB_MAX, BCLS);
-! MBCreate(&windowMB, ctrlW, CTRLWIDE - 8 - 112 - (112+2), 5+21,112,19,
- "Windows", windowMList, WMB_MAX, BCLS);
- MBCreate(&sizeMB, ctrlW, CTRLWIDE - 8 - 112, 5+21,112,19,
- "Image Size", sizeMList, SZMB_MAX, BCLS);
---- 354,371 ----
- /* have to create menu buttons after XMapSubWindows, as we *don't* want
- the popup menus mapped */
-
-! MBCreate(&dispMB, ctrlW, CTRLWIDE - 8 - 84 - 3*(84+2), 5,84,19,
- "Display", dispMList, DMB_MAX, BCLS);
-! MBCreate(&conv24MB, ctrlW, CTRLWIDE - 8 - 84 - 2*(84+2), 5,84,19,
- "24/8 Bit", conv24MList, CONV24_MAX, BCLS);
-! MBCreate(&algMB, ctrlW, CTRLWIDE - 8 - 84 - (84+2), 5,84,19,
-! "Algo.", algMList, ALG_MAX, BCLS);
-! MBCreate(&flmaskMB, ctrlW, CTRLWIDE - 8 - 84, 5,84,19,
-! "FLmask", mskMList, MSK_MAX, BCLS);
-
-! MBCreate(&rootMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+3), 5+21,112,19,
- "Root", rootMList, RMB_MAX, BCLS);
-! MBCreate(&windowMB, ctrlW, CTRLWIDE - 8 - 112 - (112+3), 5+21,112,19,
- "Windows", windowMList, WMB_MAX, BCLS);
- MBCreate(&sizeMB, ctrlW, CTRLWIDE - 8 - 112, 5+21,112,19,
- "Image Size", sizeMList, SZMB_MAX, BCLS);
-***************
-*** 437,442 ****
---- 452,458 ----
- MBRedraw(&dispMB);
- MBRedraw(&conv24MB);
- MBRedraw(&algMB);
-+ MBRedraw(&flmaskMB);
- MBRedraw(&rootMB);
- MBRedraw(&windowMB);
- MBRedraw(&sizeMB);
-diff -c --new-file xv-3.10a.org/xvcut.c xv+flmask/xvcut.c
-*** xv-3.10a.org/xvcut.c Fri Sep 5 21:12:32 1997
---- xv+flmask/xvcut.c Wed Sep 3 12:49:55 1997
-***************
-*** 101,107 ****
- static Cursor cutcurs = (Cursor) 0;
-
-
-!
-
- /********************************************/
- int CutAllowed()
---- 101,108 ----
- static Cursor cutcurs = (Cursor) 0;
-
-
-! /* FLmask: Mask Select. */
-! void MaskSelect (int,int,int,int);
-
- /********************************************/
- int CutAllowed()
-***************
-*** 1859,1862 ****
---- 1860,1870 ----
- CoordC2P(cx, cy, px_ret, py_ret);
- }
-
-+
-+ void MaskSelect (x1,x2,y1,y2)
-+ int x1,x2,y1,y2;
-+ {
-+ selrx = x1; selry = y1; selrw = x2; selrh = y2;
-+ EnableSelection(1);
-+ }
-
-diff -c --new-file xv-3.10a.org/xvevent.c xv+flmask/xvevent.c
-*** xv-3.10a.org/xvevent.c Sun Sep 14 02:29:13 1997
---- xv+flmask/xvevent.c Wed Sep 3 12:51:25 1997
-***************
-*** 1245,1250 ****
---- 1245,1256 ----
- if (i>=0) DoAlg(i);
- break;
- }
-+
-+ else if (MBClick(&flmaskMB, x,y)) {
-+ i = MBTrack(&flmaskMB);
-+ if (i>=0) DoMask(i);
-+ break;
-+ }
-
- i=ClickCtrl(x,y);
-
-***************
-*** 1271,1276 ****
---- 1277,1283 ----
- case BCROP: Crop(); break;
- case BUNCROP: UnCrop(); break;
- case BACROP: AutoCrop(); break;
-+ case BMASKS: MaskCr(); break;
-
- case BPAD:
- {
-***************
-*** 1587,1592 ****
---- 1594,1609 ----
- else if (ks==XK_d) FakeButtonPress(&but[BCLEAR]);
-
- else if (ks==XK_u) DoAlg(ALG_NONE);
-+
-+ else if (ks==XK_f) DoMask(MSK_FLMASK);
-+ else if (ks==XK_g) DoMask(MSK_Q0MASK);
-+ else if (ks==XK_h) DoMask(MSK_WIN);
-+ else if (ks==XK_i) DoMask(MSK_MEKO);
-+ else if (ks==XK_j) DoMask(MSK_CPMASK);
-+ else if (ks==XK_l) DoMask(MSK_RGB);
-+ else if (ks==XK_n) DoMask(MSK_BITREV);
-+ else if (ks==XK_w) DoMask(MSK_COLREV);
-+
- else if (ks==XK_b) DoAlg(ALG_BLUR);
- else if (ks==XK_s) DoAlg(ALG_SHARPEN);
- else if (ks==XK_e) DoAlg(ALG_EDGE);
-***************
-*** 1625,1631 ****
- }
- else { /* commands valid in any window */
- switch (buf[0]) {
-!
- /* things in dispMB */
- case 'r': SelectDispMB(DMB_RAW); break;
- case 'd': SelectDispMB(DMB_DITH); break;
---- 1642,1648 ----
- }
- else { /* commands valid in any window */
- switch (buf[0]) {
-!
- /* things in dispMB */
- case 'r': SelectDispMB(DMB_RAW); break;
- case 'd': SelectDispMB(DMB_DITH); break;
-***************
-*** 1689,1694 ****
---- 1706,1712 ----
- case 'c': FakeButtonPress(&but[BCROP]); break;
- case 'u': FakeButtonPress(&but[BUNCROP]); break;
- case 'C': FakeButtonPress(&but[BACROP]); break;
-+ case 'f': FakeButtonPress(&but[BMASKS]); break;
- case 'P': FakeButtonPress(&but[BPAD]); break;
- case 'A': FakeButtonPress(&but[BANNOT]); break;
-
-diff -c --new-file xv-3.10a.org/xvimage.c xv+flmask/xvimage.c
-*** xv-3.10a.org/xvimage.c Fri Sep 5 21:12:33 1997
---- xv+flmask/xvimage.c Wed Sep 3 12:49:54 1997
-***************
-*** 45,51 ****
- static int doPadPaste PARM((byte *, int, int, int, int));
- static int ReadImageFile1 PARM((char *, PICINFO *));
-
-!
-
- #define DO_CROP 0
- #define DO_ZOOM 1
---- 45,52 ----
- static int doPadPaste PARM((byte *, int, int, int, int));
- static int ReadImageFile1 PARM((char *, PICINFO *));
-
-! byte *origPic;
-! int origPicType;
-
- #define DO_CROP 0
- #define DO_ZOOM 1
-***************
-*** 910,915 ****
---- 911,922 ----
- /* dir=0: 90 degrees clockwise, else 90 degrees counter-clockwise */
- WaitCursor();
-
-+ if (origPic!=NULL) {
-+ int tmp_pw,tmp_ph;
-+ tmp_pw=pWIDE;
-+ tmp_ph=pHIGH;
-+ RotatePic(origPic,origPicType,&tmp_pw,&tmp_ph,dir);
-+ }
- RotatePic(pic, picType, &pWIDE, &pHIGH, dir);
-
- /* rotate clipped version and modify 'clip' coords */
-diff -c --new-file xv-3.10a.org/xvmask.c xv+flmask/xvmask.c
-*** xv-3.10a.org/xvmask.c Thu Jan 1 09:00:00 1970
---- xv+flmask/xvmask.c Sun Sep 14 07:17:12 1997
-***************
-*** 0 ****
---- 1,912 ----
-+ /*
-+ * xvmask.c - image mask algorithms (FLmask, etc.)
-+ *
-+ * Contains:
-+ * void DoMask(int algnum);
-+ */
-+
-+ #include "copyright.h"
-+ #include "xv.h"
-+
-+ typedef struct { int n; char flg; } CPS;
-+ typedef struct { int n; unsigned short int r; } MKT;
-+
-+ /* Flmask */
-+ void cpcode PARM ((char *, unsigned char *, int));
-+ void MaskCr PARM ((void));
-+ static void FLmask PARM ((void));
-+ static void Q0mask PARM ((void));
-+ static void WINmask PARM ((void));
-+ static void MEKOmask PARM ((void));
-+ static void CPmask PARM ((void));
-+ static void XOR80 PARM ((void));
-+ static void RGBchange PARM ((void));
-+ static void BitReverse PARM ((void));
-+ static void ColReverse PARM ((void));
-+
-+ /***** Flmask *****/
-+ static void doMaskCr PARM ((byte *, int, int, int, int, int, int));
-+ static void doFLmask PARM ((byte *, int, int, byte *, int, int, int, int));
-+ static void doCPmask PARM ((byte *, int, int, byte *, int, int, int, int, char *));
-+ static void doMEKOmask PARM ((byte *, int, int, byte *, int, int, int, int, int));
-+ static void doColReverse PARM ((byte *, int, int, byte *, int, int, int, int, int));
-+ static void doRGBchange PARM ((byte *, int, int, byte *, int, int, int, int));
-+ static void doQ0mask PARM ((byte *, int, int, byte *, int, int, int, int, int, int));
-+ static int *calcFLmask PARM ((int, int));
-+ static void move8bit PARM ((byte *, byte *, int));
-+ static void move16bit PARM ((byte *, byte *, int));
-+ static void moveCP PARM ((byte *, byte *, int, int));
-+ static void doWINmask PARM ((byte *, int, int, byte *, int, int, int, int));
-+ static void wincp PARM ((int, int, byte *, byte *));
-+
-+ /******************/
-+
-+ int start24bitAlg PARM ((byte **, byte **));
-+ void end24bitAlg PARM ((byte *, byte *));
-+ void saveOrigPic PARM ((void));
-+ void printUTime PARM ((char *));
-+
-+ byte *origPic;
-+
-+ #undef TIMING_TEST
-+
-+ #ifdef TIMING_TEST
-+ #include <sys/time.h>
-+ #include <sys/resource.h>
-+ #endif
-+
-+ /************************/
-+ void
-+ DoMask (anum)
-+ int anum;
-+ {
-+ switch (anum)
-+ {
-+ case MSK_NONE: DoAlg (ALG_NONE); break;
-+ case MSK_FLMASK: FLmask (); break;
-+ case MSK_Q0MASK: Q0mask (); break;
-+ case MSK_WIN: WINmask (); break;
-+ case MSK_MEKO: MEKOmask (); break;
-+ case MSK_CPMASK: CPmask (); break;
-+ case MSK_RGB: RGBchange (); break;
-+ case MSK_BITREV: BitReverse (); break;
-+ case MSK_COLREV: ColReverse (); break;
-+ }
-+
-+ algMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-+ flmaskMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-+ }
-+
-+
-+ /******************************
-+ Flmask: FLMASK.
-+ ******************************/
-+ static void
-+ FLmask ()
-+ {
-+ byte *pic24, *p24, *tmpPic, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ WaitCursor ();
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ str = "Doing FLMASK...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (start24bitAlg (&pic24, &tmpPic))
-+ return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doFLmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh);
-+
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /******************************
-+ Flmask: BitReverse.
-+ ******************************/
-+ static void
-+ BitReverse ()
-+ {
-+ byte *pic24, *p24, *tmpPic, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ WaitCursor ();
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ str = "Doing reverse bit...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (start24bitAlg (&pic24, &tmpPic))
-+ return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doColReverse (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, 1);
-+
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /******************************
-+ Flmask: ColReverse.
-+ ******************************/
-+ static void
-+ ColReverse ()
-+ {
-+ byte *pic24, *p24, *tmpPic, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ WaitCursor ();
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ str = "Doing reverse colormap...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (start24bitAlg (&pic24, &tmpPic))
-+ return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doColReverse (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, 0);
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+
-+ /******************************
-+ Flmask: Q0 MASK.
-+ ******************************/
-+ static void
-+ Q0mask ()
-+ {
-+ int pixX, pixY, err;
-+ static char *labels[] = {"\nOk", "\033Cancel"};
-+ char txt[256];
-+ static char buf[64] = {'8', '\0'};
-+ byte *pic24, *p24, *tmpPic, *tp, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ sprintf (txt, "FLmask: Q0mask \n\nEnter mask pixels size: %s\n", "(ex. '8', '8x16')");
-+
-+ i = GetStrPopUp (txt, labels, 2, buf, 64, "0123456789x", 1);
-+ if (i == 1 || strlen (buf) == 0) return;
-+
-+ pixX = pixY = err = 0;
-+
-+ if (index (buf, 'x'))
-+ {
-+ if (sscanf (buf, "%d x %d", &pixX, &pixY) != 2) err++;
-+ }
-+ else
-+ {
-+ if (sscanf (buf, "%d", &pixX) != 1) err++;
-+ pixY = pixX;
-+ }
-+
-+ if (pixX < 1 || pixY < 1 || err)
-+ {
-+ ErrPopUp ("Error: The entered string is not valid.",
-+ "\nWho Cares!");
-+ return;
-+ }
-+ WaitCursor ();
-+
-+ str = "Doing Q0 MASK...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ if (start24bitAlg (&pic24, &tmpPic)) return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doQ0mask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, pixX, pixY);
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /******************************
-+ Flmask: RGBchange.
-+ ******************************/
-+ static void
-+ RGBchange ()
-+ {
-+ byte *pic24, *p24, *tmpPic, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ WaitCursor ();
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ str = "Doing RGB change...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (start24bitAlg (&pic24, &tmpPic)) return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doRGBchange (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh);
-+
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /******************************
-+ Flmask: WINmask.
-+ ******************************/
-+ static void
-+ WINmask ()
-+ {
-+ byte *pic24, *p24, *tmpPic, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ WaitCursor ();
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ str = "Doing WIN mask...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (start24bitAlg (&pic24, &tmpPic)) return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doWINmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh);
-+
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /******************************
-+ Flmask: MEKOmask.
-+ ******************************/
-+ static
-+ void
-+ MEKOmask ()
-+ {
-+ static char *labels[] = {"\nForward", "\nBackward"};
-+ char txt[256], key[48];
-+ byte *pic24, *p24, *tmpPic, *tp, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ memset (key, 0, 48);
-+
-+ sprintf (txt, "FLmask: MEKO mask \n\n Select MEKOmask type ",
-+ key);
-+ i = PopUp (txt, labels, 2);
-+
-+ WaitCursor ();
-+ str = "Doing MEKOmask...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ if (start24bitAlg (&pic24, &tmpPic)) return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+ doMEKOmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, i);
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /************************/
-+ static void
-+ doMEKOmask (pic24, w, h, results, selx, sely, selw, selh, flag)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh, flag;
-+ {
-+ register byte *dst, *src;
-+ register int x, y, i;
-+ register int xmax, ymax;
-+ MKT *mt;
-+
-+ printUTime ("start of MEKOmask.");
-+
-+ xmax = selw / 16;
-+ ymax = selh / 16;
-+
-+ mt = (MKT *) calcMEKO (xmax * ymax);
-+ if (mt == NULL)
-+ return;
-+
-+ for (i = 0; i < xmax * ymax; i++)
-+ {
-+ ProgressMeter (1, (xmax * ymax) - 1, i, "MEKOmask");
-+ if ((i & 63) == 0)
-+ WaitCursor ();
-+
-+ if (flag == 0)
-+ {
-+ dst = results + ((sely + ((mt[i].n - 1) / xmax) * 16) * w
-+ + selx + ((mt[i].n - 1) % xmax) * 16) * 3;
-+ src = pic24 + ((sely + (i / xmax) * 16) * w
-+ + selx + (i % xmax) * 16) * 3;
-+ }
-+ else
-+ {
-+ src = pic24 + ((sely + ((mt[i].n - 1) / xmax) * 16) * w
-+ + selx + ((mt[i].n - 1) % xmax) * 16) * 3;
-+ dst = results + ((sely + (i / xmax) * 16) * w
-+ + selx + (i % xmax) * 16) * 3;
-+ }
-+ move16bit (dst, src, w);
-+ }
-+
-+ free (mt);
-+ printUTime ("end of MEKOmask.");
-+ }
-+
-+ static void
-+ move16bit (byte * dest, byte * src, int w)
-+ {
-+ int y, x;
-+ byte *tmp1, *tmp2;
-+
-+ for (y = 0; y < 16; y++)
-+ {
-+ tmp1 = dest + y * w * 3;
-+ tmp2 = src + y * w * 3;
-+ for (x = 0; x < 16 * 3; x++)
-+ {
-+ *tmp1 = *tmp2;
-+ tmp1++;
-+ tmp2++;
-+ }
-+ }
-+ }
-+
-+ /******************************
-+ Flmask: CP MASK.
-+ ******************************/
-+ static void
-+ CPmask ()
-+ {
-+ static char *labels[] = {"\nOk", "\033Cancel"};
-+ char buf[64];
-+ char txt[256], key[48];
-+ byte *pic24, *p24, *tmpPic, *tp, *tlp;
-+ char *str;
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ memset (key, 0, 48);
-+ cpcode (fullfname, key, 0);
-+ if (key[0] == 0)
-+ {
-+ memset (key, 0, 48);
-+ cpcode (fullfname, key, 1);
-+ if (key[0] == 0)
-+ {
-+ memset (key, 0, 48);
-+ cpcode (fullfname, key, 2);
-+ }
-+ }
-+
-+ strcpy(buf,key);
-+ if (strlen(buf)==0)strcpy(buf,"SAMPLE");
-+ sprintf (txt, "FLmask: CPmask \n\nEnter CPmask code: %s \n",
-+ "(ex. 'SAMPLE')");
-+
-+ i = GetStrPopUp (txt, labels, 2, buf, 64, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1);
-+ if (i == 1 || strlen (buf) == 0) return;
-+ strcpy(key,buf);
-+
-+ /* Old version.
-+ sprintf (txt, "FLmask: CP mask \n\n CP code = %s ", key);
-+ i = PopUp (txt, labels, 2);
-+ if (i == 1) return;
-+ */
-+
-+ WaitCursor ();
-+ str = "Doing CP mask...";
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ if (start24bitAlg (&pic24, &tmpPic)) return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+ doCPmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, key);
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /************************/
-+ static void
-+ doCPmask (pic24, w, h, results, selx, sely, selw, selh, key)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh;
-+ char *key;
-+ {
-+ register byte *dst, *src;
-+ register int x, y, i;
-+ register int xmax, ymax;
-+ CPS *cps;
-+
-+ printUTime ("start of CPmask.");
-+
-+ xmax = selw / 8;
-+ ymax = selh / 8;
-+
-+ cps = (CPS *) calcCPmask (key, xmax * ymax);
-+
-+ for (i = 0; i < xmax * ymax; i++)
-+ {
-+ ProgressMeter (1, (xmax * ymax) - 1, i, "CPmask");
-+ if ((i & 63) == 0) WaitCursor ();
-+
-+ dst = results + ((sely + (cps[i].n / xmax) * 8) * w
-+ + selx + (cps[i].n % xmax) * 8) * 3;
-+ src = pic24 + ((sely + (i / xmax) * 8) * w
-+ + selx + (i % xmax) * 8) * 3;
-+ moveCP (dst, src, w, cps[i].flg);
-+ }
-+
-+ free (cps);
-+ printUTime ("end of CPmask.");
-+ }
-+
-+ static void
-+ moveCP (byte * dest, byte * src, int w, int cp_flag)
-+ {
-+ int y, x;
-+ byte *tmp1, *tmp2;
-+
-+ if (cp_flag == 0)
-+ {
-+ for (y = 0; y < 8; y++)
-+ {
-+ tmp1 = dest + y * w * 3;
-+ tmp2 = src + y * w * 3;
-+ for (x = 0; x < 8 * 3; x += 3)
-+ {
-+ tmp1[0] = (byte) ~ tmp2[1];
-+ tmp1[1] = (byte) ~ tmp2[0];
-+ tmp1[2] = (byte) ~ tmp2[2];
-+ tmp1 += 3;
-+ tmp2 += 3;
-+ }
-+ }
-+ }
-+ else
-+ {
-+ for (y = 0; y < 8; y++)
-+ {
-+ tmp1 = dest + y * 3;
-+ tmp2 = src + y * w * 3;
-+ for (x = 0; x < 8 * 3; x += 3)
-+ {
-+ tmp1[0] = (byte) ~ tmp2[1];
-+ tmp1[1] = (byte) ~ tmp2[0];
-+ tmp1[2] = (byte) ~ tmp2[2];
-+ tmp1 += w * 3;
-+ tmp2 += 3;
-+ }
-+ }
-+ }
-+ }
-+
-+ /************************/
-+ static void
-+ doFLmask (pic24, w, h, results, selx, sely, selw, selh)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh;
-+ {
-+ register byte *dst, *src;
-+ register int x, y, i;
-+ register int *ar, xmax, ymax;
-+
-+ printUTime ("start of FLMASK.");
-+
-+ xmax = selw / 8;
-+ ymax = selh / 8;
-+ ar = (int *) calcFLmask (xmax, ymax);
-+
-+ for (i = 0; i < xmax * ymax; i++)
-+ {
-+ ProgressMeter (1, (xmax * ymax * 2) - 1,
-+ i + xmax * ymax, "FLMASK");
-+ if ((i & 63) == 0) WaitCursor ();
-+
-+ dst=results+((sely+(ar[xmax*ymax-i-1]/xmax)*8)*w
-+ +selx+(ar[xmax*ymax-i-1]%xmax)*8)*3;
-+ src=pic24+((sely+(ar[i]/xmax)*8)*w
-+ +selx+(ar[i]%xmax)*8)*3;
-+ if (ar[i] != ar[xmax * ymax - i - 1])
-+ move8bit (dst, src, w);
-+ }
-+
-+ free (ar);
-+ printUTime ("end of FLMASK.");
-+ }
-+
-+ static int *
-+ calcFLmask (int xmax, int ymax)
-+ {
-+ int *spc, *tmp_ar;
-+ int i, l, x, y, c;
-+ struct direction { int x; int y; } dir[4];
-+
-+ dir[0].x = 0; dir[0].y = -1;
-+ dir[1].x = -1; dir[1].y = 0;
-+ dir[2].x = 0; dir[2].y = 1;
-+ dir[3].x = 1; dir[3].y = 0;
-+
-+ spc = (int *) malloc (sizeof (int) * xmax * ymax);
-+ tmp_ar = (int *) malloc (sizeof (int) * xmax * ymax);
-+
-+ c = 0;
-+ for (l = 0; l < ymax; l++)
-+ {
-+ for (i = 0; i < xmax; i++)
-+ {
-+ spc[c] = c;
-+ c++;
-+ }
-+ }
-+
-+ c = 3;
-+ x = 0;
-+ y = ymax - 1;
-+ for (i = 0; i < xmax * ymax; i++)
-+ {
-+ ProgressMeter (1, (xmax * ymax * 2) - 1, i, "FLmask");
-+ if ((i & 63) == 0) WaitCursor ();
-+
-+ tmp_ar[i] = spc[x + y * xmax];
-+ if ((x + dir[c].x) == xmax || (x + dir[c].x) < 0)
-+ {
-+ c++;
-+ if (c == 4) c = 0;
-+ }
-+ if ((y + dir[c].y) == ymax || (y + dir[c].y) < 0)
-+ {
-+ c++;
-+ if (c == 4) c = 0;
-+ }
-+ for (l = 0; l < i; l++)
-+ {
-+ if(spc[x+(dir[c].x)+(y+(dir[c].y))*xmax]==tmp_ar[l])
-+ {
-+ c++;
-+ if (c == 4) c = 0;
-+ break;
-+ }
-+ }
-+ x = x + dir[c].x;
-+ y = y + dir[c].y;
-+ }
-+ free (spc);
-+ return (tmp_ar);
-+ }
-+
-+ static void
-+ move8bit (byte * dest, byte * src, int w)
-+ {
-+ int y, x;
-+ byte *tmp1, *tmp2;
-+
-+ for (y = 0; y < 8; y++)
-+ {
-+ tmp1 = dest + y * w * 3;
-+ tmp2 = src + y * w * 3;
-+ for (x = 0; x < 8 * 3; x++)
-+ {
-+ *tmp1 = (byte) ~ (*tmp2);
-+ tmp1++;
-+ tmp2++;
-+ }
-+ }
-+ }
-+
-+ /************************/
-+ static void
-+ doColReverse (pic24, w, h, results, selx, sely, selw, selh, bit_flag)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh, bit_flag;
-+ {
-+ register byte *p24;
-+ register byte *rp;
-+ register int x, y;
-+
-+ printUTime ("start of Reverse.");
-+
-+ for (y = sely; y < sely + selh; y++)
-+ {
-+
-+ ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "Reverse");
-+ if ((y & 63) == 0) WaitCursor ();
-+
-+ rp = results + (y * w + selx) * 3;
-+ p24 = pic24 + (y * w + selx) * 3;
-+
-+ if (bit_flag == 1)
-+ {
-+ /* BitReverse. */
-+ for (x = selx; x < selx + selw * 3; x++, p24++, rp++)
-+ *rp = (byte) ~ (*p24);
-+
-+ }
-+ else
-+ {
-+ /* ColReverse. */
-+ for (x = selx; x < selx + selw * 3; x++, p24++, rp++)
-+ *rp = *p24 ^ 0x80;
-+ }
-+ }
-+ printUTime ("end of Reverse.");
-+ }
-+
-+ /************************/
-+ static void
-+ doQ0mask (pic24, w, h, results, selx, sely, selw, selh, pixX, pixY)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh, pixX, pixY;
-+ {
-+ register byte *p24;
-+ register int bperlin, rsum, gsum, bsum;
-+ byte *rp;
-+ int i, x, y;
-+ int skip, y0, x0;
-+
-+ printUTime ("start of Q0mask.");
-+
-+ bperlin = w * 3;
-+
-+ for (y = sely; y < sely + ((selh / pixY) * pixY); y++)
-+ {
-+ ProgressMeter(sely+1,(sely+((selh/pixY)*pixY))-1,y,"Q0mask");
-+ if ((y & 63) == 0) WaitCursor ();
-+
-+ rp = results + (y * w + selx) * 3;
-+ y0 = y - sely;
-+ p24=pic24+((((y0/pixY+1)*pixY)-1-(y0%pixY)+sely)*w+selx)*3;
-+
-+ for(x=selx;x<selx+((selw/pixX)*pixX);x++,p24+=3,rp+=3)
-+ {
-+ x0 = x - selx;
-+ skip = (pixX - 1 - 2 * (x0 % pixX)) * 3;
-+
-+ rp[0] = (byte) ~ p24[skip];
-+ rp[1] = (byte) ~ p24[skip + 1];
-+ rp[2] = (byte) ~ p24[skip + 2];
-+ }
-+ }
-+ printUTime ("end of Q0 MASK.");
-+ }
-+
-+ /************************/
-+ static void
-+ doWINmask (pic24, w, h, results, selx, sely, selw, selh)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh;
-+ {
-+ register byte *p24;
-+ register byte *rp;
-+ register int x, y;
-+
-+ printUTime ("start of WIN mask.");
-+
-+ for (y = sely; y < sely + selh; y++)
-+ {
-+
-+ ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "WINmask");
-+ if ((y & 63) == 0) WaitCursor ();
-+
-+ rp = results + (y * w + selx) * 3;
-+ p24 = pic24 + (y * w + selx) * 3;
-+
-+ for(x=selx;x<selx+(selw/16)*16*3;x+=48,p24+=48,rp+=48)
-+ {
-+ wincp ( 0,12, p24, rp);
-+ wincp ( 1, 8, p24, rp);
-+ wincp ( 2, 6, p24, rp);
-+ wincp ( 3,15, p24, rp);
-+ wincp ( 4, 9, p24, rp);
-+ wincp ( 5,13, p24, rp);
-+ wincp ( 6, 2, p24, rp);
-+ wincp ( 7,11, p24, rp);
-+ wincp ( 8, 1, p24, rp);
-+ wincp ( 9, 4, p24, rp);
-+ wincp (10,14, p24, rp);
-+ wincp (11, 7, p24, rp);
-+ wincp (12, 0, p24, rp);
-+ wincp (13, 5, p24, rp);
-+ wincp (14,10, p24, rp);
-+ wincp (15, 3, p24, rp);
-+ }
-+ }
-+ printUTime ("end of WIN mask.");
-+ }
-+
-+ static void
-+ wincp (int src, int dst, byte * p24, byte * rp)
-+ {
-+ *(rp + dst * 3) = *(p24 + src * 3);
-+ *(rp + dst * 3 + 1) = *(p24 + src * 3 + 1);
-+ *(rp + dst * 3 + 2) = *(p24 + src * 3 + 2);
-+ }
-+
-+ /************************/
-+ static void
-+ doRGBchange (pic24, w, h, results, selx, sely, selw, selh)
-+ byte *pic24, *results;
-+ int w, h, selx, sely, selw, selh;
-+ {
-+ register byte *p24;
-+ register byte *rp;
-+ register int x, y;
-+
-+ printUTime ("start of RGB change.");
-+
-+ for (y = sely; y < sely + selh; y++)
-+ {
-+
-+ ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "Change");
-+ if ((y & 63) == 0) WaitCursor ();
-+
-+ rp = results + (y * w + selx) * 3;
-+ p24 = pic24 + (y * w + selx) * 3;
-+
-+ for (x = selx; x < selx + selw * 3; x += 3, p24 += 3, rp += 3)
-+ {
-+ *rp = *(p24 + 1);
-+ *(rp + 1) = *(p24 + 2);
-+ *(rp + 2) = *(p24);
-+ }
-+ }
-+ printUTime ("end of Reverse.");
-+ }
-+
-+
-+ /******************************
-+ Flmask: MaskCrop.
-+ ******************************/
-+ void
-+ MaskCr ()
-+ {
-+ byte *pic24, *p24, *tmpPic, *tlp;
-+ char str[] = "Doing AutoMaskCrop...";
-+ int i, j, v, maxv, sx, sy, sw, sh;
-+
-+ WaitCursor ();
-+
-+ if (HaveSelection ())
-+ GetSelRCoords (&sx, &sy, &sw, &sh);
-+ else
-+ {
-+ sx = 0;
-+ sy = 0;
-+ sw = pWIDE - 1;
-+ sh = pHIGH - 1;
-+ }
-+
-+ CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+
-+ SetISTR (ISTR_INFO, str);
-+
-+ if (start24bitAlg (&pic24, &tmpPic)) return;
-+ xvbcopy ((char *) pic24, (char *) tmpPic,
-+ (size_t) (pWIDE * pHIGH * 3));
-+
-+ doMaskCr (pic24, pWIDE, pHIGH, sx, sy, sw, sh);
-+
-+ end24bitAlg (pic24, tmpPic);
-+ }
-+
-+ /************************/
-+ static void
-+ doMaskCr (pic24, w, h, selx, sely, selw, selh)
-+ byte *pic24;
-+ int w, h, selx, sely, selw, selh;
-+ {
-+ register byte *p24, *p24u;
-+ register int x, y;
-+ double edge, *edgeX, *edgeY, maxX, maxY, tmp;
-+ int x1, x2, y1, y2, i;
-+ int xp1, xp2, yp1, yp2;
-+
-+ printUTime ("start of MaskCrop.");
-+
-+ edgeX = (double *) malloc (sizeof (edge) * selw);
-+ edgeY = (double *) malloc (sizeof (edge) * selh);
-+ memset (edgeX, 0, sizeof (edge) * selw);
-+ memset (edgeY, 0, sizeof (edge) * selh);
-+
-+ for (y = sely + 1; y < sely + selh - 1; y++)
-+ {
-+ ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "Search");
-+ if ((y & 63) == 0) WaitCursor ();
-+
-+ p24u = pic24 + ((y - 1) * w + selx) * 3;
-+ p24 = pic24 + (y * w + selx) * 3;
-+
-+ #define DBL(x) ((x)*(x))
-+ for (x = selx; x < selx + selw * 3; x += 3)
-+ {
-+ edgeX[(x - selx) / 3] += (double) DBL (p24[3] - p24[0]) +
-+ DBL (p24[4] - p24[1]) + DBL (p24[5] - p24[2]);
-+ edgeY[y - sely] += (double) DBL (p24[0] - p24u[0]) +
-+ DBL (p24[1] - p24u[1]) + DBL (p24[2] - p24u[2]);
-+ p24u += 3;
-+ p24 += 3;
-+ }
-+ }
-+
-+ maxX = 0;
-+ for (x = 0; x < selw; x++)
-+ {
-+ if (maxX < edgeX[x])
-+ maxX = edgeX[x];
-+ }
-+ maxY = 0;
-+ for (y = 0; y < selh; y++)
-+ {
-+ if (maxY < edgeY[y])
-+ maxY = edgeY[y];
-+ }
-+
-+ tmp = 0.3; /* ���������դο��ͤ�Ŭ���˷��ꤵ��ޤ���(?)�� */
-+ for (;;)
-+ {
-+ xp1 = 0; xp2 = 0;
-+ yp1 = 0; yp2 = 0;
-+ for (x = 1; x < selw - 1; x++) {
-+ if (edgeX[x] > maxX * tmp) { xp1 = x; break; }
-+ }
-+ for (x = selw - 1; x >= 1; x--) {
-+ if (edgeX[x] > maxX * tmp) { xp2 = x; break; }
-+ }
-+ for (y = 1; y < selh - 1; y++) {
-+ if (edgeY[y] >= maxY * tmp) { yp1 = y; break; }
-+ }
-+ for (y = selh - 1; y >= 1; y--) {
-+ if (edgeY[y] >= maxY * tmp) { yp2 = y; break; }
-+ }
-+ if(xp2-xp1 > 4 && yp2-yp1 > 4 && xp1*xp2*yp1*yp2 != 0) break;
-+
-+ if (tmp <= 0.01) return;
-+ else tmp = tmp / 2.0;
-+ }
-+
-+ free (edgeY);
-+ free (edgeX);
-+
-+ x1 = xp1 + selx + 1;
-+ x2 = xp2 - xp1;
-+ y1 = yp1 + sely;
-+ y2 = yp2 - yp1;
-+
-+ /* crop1(x1,y1,x2,y2,0); <-- DO_CROP */
-+ MaskSelect (x1, x2, y1, y2);
-+
-+ printUTime ("end of MaskSearch.");
-+ }
-diff -c --new-file xv-3.10a.org/xvmeko.c xv+flmask/xvmeko.c
-*** xv-3.10a.org/xvmeko.c Thu Jan 1 09:00:00 1970
---- xv+flmask/xvmeko.c Tue Sep 9 21:59:21 1997
-***************
-*** 0 ****
---- 1,962 ----
-+ #include <stdio.h>
-+ #include <stdlib.h>
-+
-+ unsigned short int mekornd[9216] = {
-+ 0x2064,0x16F2,0x0AD2,0x0E1F,0x0A31,0x17CE,0x0DE8,0x1C41,0x0878,0x1349,
-+ 0x184B,0x1B51,0x0841,0x19A3,0x0820,0x0C12,0x1117,0x2117,0x1BC1,0x1F13,
-+ 0x19ED,0x0230,0x040D,0x1957,0x116D,0x0FD6,0x1E4F,0x0C28,0x1D28,0x077A,
-+ 0x205E,0x053D,0x0686,0x13AC,0x1A0E,0x16DE,0x1607,0x1504,0x0CED,0x088F,
-+ 0x159D,0x0EF4,0x0C3F,0x1120,0x225D,0x0B43,0x1B2D,0x184C,0x043D,0x1221,
-+ 0x0A12,0x225C,0x04F0,0x1399,0x1289,0x1899,0x1B0B,0x1A2B,0x1383,0x084A,
-+ 0x1DEE,0x118C,0x2395,0x00F5,0x16CD,0x0A9C,0x0E73,0x1FF9,0x0288,0x0014,
-+ 0x0EA9,0x17B3,0x13AF,0x03A7,0x0CE7,0x20AC,0x0E93,0x1F1E,0x207D,0x00B4,
-+ 0x1833,0x1DD4,0x09FD,0x0819,0x052A,0x16C9,0x1893,0x2134,0x0D8F,0x1597,
-+ 0x1573,0x22B5,0x1B55,0x04CE,0x0BB1,0x02FD,0x0685,0x0AAD,0x18DA,0x0A6C,
-+ 0x0E92,0x15C5,0x0695,0x0A70,0x1D67,0x11D0,0x0CC9,0x1E8A,0x12AC,0x0EF1,
-+ 0x220D,0x04FB,0x1034,0x00F4,0x0E6D,0x1F90,0x1649,0x108C,0x0AAA,0x1160,
-+ 0x238F,0x056C,0x0E0C,0x20A7,0x0658,0x0502,0x1973,0x0FB2,0x12D8,0x0D94,
-+ 0x1201,0x03BA,0x167E,0x237F,0x0D38,0x00E0,0x2183,0x201B,0x1192,0x08C1,
-+ 0x1240,0x20CB,0x073F,0x10DE,0x1379,0x163A,0x1D2E,0x0A15,0x19DB,0x02CD,
-+ 0x01BC,0x032C,0x23B9,0x1FD2,0x1E7D,0x1518,0x2148,0x0E72,0x235E,0x1DF0,
-+ 0x0538,0x1BCB,0x0926,0x1C17,0x0134,0x175A,0x1872,0x0ECF,0x06EB,0x0045,
-+ 0x100D,0x06EF,0x1EFE,0x0777,0x006C,0x0386,0x1DA4,0x1351,0x07AB,0x21EA,
-+ 0x1FF2,0x1017,0x182B,0x047B,0x1531,0x19DE,0x0F3A,0x186C,0x052E,0x1A15,
-+ 0x23E5,0x1901,0x0B44,0x0458,0x20E8,0x20AF,0x0793,0x23DD,0x1F3B,0x17D4,
-+ 0x1879,0x2262,0x101D,0x224A,0x0D12,0x01F0,0x1B7D,0x1BEE,0x224F,0x04C7,
-+ 0x1D8F,0x132F,0x1E94,0x0F26,0x2193,0x164A,0x1B0A,0x22F2,0x0393,0x00DA,
-+ 0x0924,0x1DCD,0x17A2,0x038D,0x0263,0x10AA,0x2344,0x089B,0x0085,0x0C80,
-+ 0x196A,0x16E7,0x09C5,0x0903,0x08D3,0x21AE,0x0255,0x049D,0x1F67,0x207C,
-+ 0x0CCA,0x055C,0x0E8F,0x1FD3,0x15A9,0x1B9E,0x1640,0x0983,0x08CC,0x0CE6,
-+ 0x0E5E,0x15CF,0x2248,0x0BDB,0x1FB4,0x1BD6,0x08B2,0x092B,0x10B7,0x1832,
-+ 0x1558,0x214F,0x005A,0x1E9D,0x15DC,0x1DAB,0x0435,0x199F,0x0B42,0x23DA,
-+ 0x1BCD,0x1339,0x095C,0x1A89,0x08FA,0x2379,0x0F74,0x060A,0x1408,0x0EB3,
-+ 0x1559,0x00AC,0x0D0D,0x14D4,0x07B1,0x1ACC,0x1707,0x03C4,0x0FBE,0x0C76,
-+ 0x21A8,0x0A0B,0x0D60,0x1E97,0x1625,0x117A,0x0415,0x008F,0x1F9C,0x00A6,
-+ 0x19C5,0x04E7,0x21F2,0x0E08,0x17BA,0x10B9,0x0656,0x22C4,0x2048,0x070E,
-+ 0x15CB,0x01F3,0x0488,0x1167,0x14A2,0x08CF,0x0AC2,0x12BE,0x20A1,0x0501,
-+ 0x01B2,0x004B,0x10E2,0x09C9,0x01FA,0x05B7,0x0E20,0x0D55,0x003B,0x1413,
-+ 0x1F7E,0x1A03,0x06CB,0x21C4,0x1FA5,0x1E15,0x0C14,0x0A93,0x133B,0x0498,
-+ 0x1EB7,0x0BFB,0x1774,0x1F14,0x21D0,0x1930,0x04FF,0x0245,0x1B0C,0x2368,
-+ 0x198C,0x1487,0x08C2,0x20A0,0x18BE,0x010B,0x16AE,0x1C65,0x08EA,0x23E8,
-+ 0x09D0,0x158B,0x237D,0x1F72,0x2051,0x188E,0x04A7,0x2074,0x1E91,0x1557,
-+ 0x07DC,0x2136,0x0F50,0x234C,0x1602,0x0572,0x20DB,0x00B8,0x1929,0x17A5,
-+ 0x0E82,0x0D86,0x03BD,0x1B02,0x2323,0x0445,0x1AB6,0x02B4,0x0D1A,0x1524,
-+ 0x03FE,0x1231,0x189A,0x18DE,0x15F6,0x17EB,0x0B89,0x14CA,0x0910,0x09B9,
-+ 0x1380,0x0559,0x169D,0x22A0,0x00D0,0x0F7A,0x0FB7,0x1FFF,0x1996,0x06FF,
-+ 0x0FA5,0x1C83,0x0C61,0x1ECE,0x061F,0x193E,0x232E,0x048E,0x0B5A,0x03D4,
-+ 0x1CF9,0x0B0F,0x2274,0x18EF,0x1CB5,0x1CAF,0x18B1,0x0FF3,0x0712,0x19CD,
-+ 0x1E6E,0x0A25,0x1375,0x0525,0x19DA,0x0042,0x0BF4,0x1FFC,0x03D0,0x1974,
-+ 0x1C33,0x0DB3,0x0180,0x0E8C,0x22EB,0x1121,0x00A1,0x02FC,0x1B3C,0x1D68,
-+ 0x15FD,0x22BF,0x1C5D,0x15AB,0x1BB7,0x00F6,0x2219,0x09FB,0x18DF,0x19D5,
-+ 0x1396,0x044A,0x1381,0x218D,0x1AEF,0x0603,0x22E1,0x237B,0x0BD3,0x110B,
-+ 0x171A,0x201F,0x0C92,0x059C,0x1B10,0x14AB,0x21E1,0x074B,0x1C8D,0x083E,
-+ 0x1684,0x117C,0x0D73,0x1740,0x0F45,0x016C,0x153E,0x15FE,0x08C5,0x2080,
-+ 0x166E,0x05A2,0x1897,0x18EB,0x0038,0x1F4B,0x1EBA,0x07F5,0x0DB4,0x22E9,
-+ 0x0977,0x0724,0x0287,0x0DCB,0x0EFD,0x11A7,0x0C66,0x1393,0x078E,0x2017,
-+ 0x1849,0x03B6,0x175F,0x1E05,0x1FB7,0x0AF6,0x03AC,0x02FF,0x10EE,0x07E6,
-+ 0x1529,0x1EC1,0x005D,0x14BB,0x074F,0x098E,0x214B,0x0EB2,0x0B96,0x1940,
-+ 0x11FB,0x0721,0x180F,0x2346,0x1163,0x1BE9,0x1BC4,0x1B7E,0x03D7,0x19C0,
-+ 0x23F6,0x0C0C,0x1F60,0x0CD4,0x1882,0x22FB,0x21EB,0x0948,0x122B,0x0474,
-+ 0x121B,0x09C2,0x17CF,0x1993,0x2112,0x2259,0x2292,0x142A,0x00D2,0x125B,
-+ 0x0E63,0x0F81,0x0E2E,0x01EC,0x0D11,0x1791,0x2353,0x0BC5,0x239B,0x1B97,
-+ 0x1F68,0x173C,0x1DAD,0x0778,0x165C,0x09E2,0x0D5D,0x0E9C,0x1FBB,0x22FF,
-+ 0x14DF,0x0F96,0x1D08,0x1ECD,0x2114,0x10EF,0x21F4,0x0F04,0x040B,0x07D6,
-+ 0x01E1,0x1C95,0x0441,0x163D,0x17EE,0x032B,0x0FE6,0x2273,0x18F5,0x21FA,
-+ 0x0ED3,0x18DC,0x0001,0x014C,0x1144,0x032A,0x0717,0x1D14,0x04F1,0x0225,
-+ 0x14E3,0x026F,0x147D,0x076C,0x135B,0x1966,0x15BF,0x12D3,0x0785,0x097D,
-+ 0x036F,0x1B88,0x1CE2,0x1360,0x0A8B,0x1FBC,0x101F,0x005B,0x0A29,0x1303,
-+ 0x1CD5,0x0706,0x066E,0x04D7,0x0D9C,0x1B25,0x014F,0x1182,0x1FF0,0x1452,
-+ 0x0683,0x096C,0x0F79,0x0C1C,0x2394,0x1306,0x1FAD,0x081F,0x1A7D,0x181F,
-+ 0x0D45,0x219A,0x167A,0x1813,0x0329,0x1876,0x126D,0x097C,0x0EB6,0x1820,
-+ 0x1374,0x2121,0x11E4,0x0AB4,0x071E,0x03AB,0x0FA1,0x1E0A,0x1E59,0x1C85,
-+ 0x0197,0x1CCA,0x1148,0x1A81,0x0D04,0x1955,0x1705,0x0ED9,0x01D9,0x102E,
-+ 0x0480,0x0475,0x1641,0x0101,0x18A1,0x09B3,0x1B5F,0x1CFD,0x054E,0x06D5,
-+ 0x1A95,0x0301,0x05F6,0x150C,0x0086,0x04DC,0x05BD,0x004E,0x043C,0x1020,
-+ 0x136B,0x0B6D,0x00B3,0x0FCA,0x1CFC,0x16D4,0x1E32,0x09E3,0x1588,0x1B58,
-+ 0x0A9A,0x036A,0x0C8B,0x11EF,0x1823,0x0AF3,0x1448,0x1DCA,0x1931,0x05D6,
-+ 0x0CF9,0x1207,0x063F,0x0F88,0x0D46,0x1FCE,0x162F,0x08CD,0x13A6,0x181B,
-+ 0x2107,0x2197,0x01AF,0x09A1,0x07AA,0x01BF,0x1932,0x118F,0x1EB0,0x0A7F,
-+ 0x087D,0x0E2F,0x1FE0,0x12EF,0x1BEF,0x1D4D,0x1C19,0x1856,0x1D19,0x1294,
-+ 0x1D57,0x176C,0x02DC,0x101C,0x22B7,0x0135,0x17B5,0x0310,0x1548,0x1D2A,
-+ 0x1626,0x0B31,0x1E7C,0x1BE7,0x140C,0x1B81,0x019E,0x1F11,0x11C6,0x0939,
-+ 0x2182,0x05BB,0x06C8,0x00E4,0x0529,0x1B26,0x13FC,0x1202,0x1A32,0x07F3,
-+ 0x098D,0x0E58,0x01B7,0x1DB0,0x0152,0x189C,0x2073,0x0D56,0x1D5B,0x0D36,
-+ 0x09CC,0x18A8,0x0E5D,0x143C,0x1063,0x16CA,0x13CA,0x1E38,0x2359,0x1B9C,
-+ 0x0A8A,0x0A84,0x046C,0x0FF5,0x0D97,0x0A27,0x0E6B,0x10C2,0x1619,0x0DEE,
-+ 0x1DDC,0x0576,0x01C8,0x1069,0x0D4F,0x20AD,0x198B,0x09D5,0x0B22,0x033F,
-+ 0x20AA,0x1CCC,0x005F,0x0D68,0x19CB,0x1081,0x1D97,0x0AE2,0x1C5C,0x0F05,
-+ 0x123C,0x0B20,0x2371,0x0CEB,0x00CB,0x1F06,0x00BB,0x191B,0x0117,0x2376,
-+ 0x17BC,0x19CE,0x216D,0x1F07,0x1455,0x14B8,0x1C6A,0x1B80,0x0E5B,0x1851,
-+ 0x0172,0x23AA,0x0A22,0x0D7F,0x0720,0x0136,0x0666,0x1019,0x13FE,0x1ACE,
-+ 0x0B51,0x0C24,0x050E,0x1873,0x08AE,0x16AB,0x1A90,0x0A76,0x1552,0x19C4,
-+ 0x0FAB,0x0ABC,0x06C1,0x050A,0x0E49,0x1FCB,0x11A1,0x1387,0x0C47,0x2174,
-+ 0x0570,0x1BA2,0x1104,0x00AD,0x1444,0x2383,0x08C7,0x1127,0x056D,0x0D7E,
-+ 0x1CB9,0x02FA,0x100A,0x0C51,0x0FBA,0x1A94,0x128B,0x1859,0x2190,0x1B20,
-+ 0x1F56,0x186F,0x01D8,0x01F2,0x10A3,0x192C,0x0528,0x211B,0x1C92,0x0239,
-+ 0x0334,0x14C0,0x1D5A,0x1DE9,0x12F2,0x0A44,0x17CA,0x0F62,0x15D8,0x069F,
-+ 0x1D07,0x11FA,0x0816,0x153C,0x1C81,0x02F1,0x2342,0x23F7,0x0160,0x117F,
-+ 0x1BB9,0x1039,0x2063,0x1E3B,0x0C57,0x13E1,0x139A,0x1F12,0x15EA,0x1D48,
-+ 0x19C3,0x1A31,0x050C,0x13C5,0x0091,0x13A7,0x1765,0x01F8,0x1B75,0x0EA2,
-+ 0x1B6D,0x09EC,0x0312,0x113D,0x012D,0x18C3,0x08A0,0x0452,0x0D87,0x167D,
-+ 0x1DA9,0x0FF6,0x2340,0x19AD,0x007B,0x0CBC,0x1D1A,0x1AE4,0x09B4,0x11B2,
-+ 0x1B2C,0x14CE,0x1C5E,0x0222,0x162D,0x0C63,0x0584,0x0040,0x1D1F,0x1AF7,
-+ 0x0C96,0x132C,0x086B,0x136F,0x19E1,0x0DDA,0x22A5,0x22F7,0x2249,0x20C5,
-+ 0x0A19,0x0FDC,0x1834,0x0C58,0x1C56,0x01DC,0x1D84,0x0A66,0x2336,0x0955,
-+ 0x0900,0x1ED6,0x0361,0x0D58,0x1D4B,0x10C0,0x1852,0x040E,0x0F0B,0x1978,
-+ 0x12E8,0x2261,0x05FE,0x0BD2,0x13C8,0x0F3C,0x07A4,0x18CC,0x0A00,0x0642,
-+ 0x0D65,0x1DA8,0x0D15,0x2168,0x05B5,0x0DF8,0x2352,0x0408,0x07D9,0x15FA,
-+ 0x0E88,0x0C85,0x1FAB,0x16F5,0x1798,0x12BD,0x1FB3,0x09B6,0x12C2,0x17FA,
-+ 0x1BE6,0x1434,0x1DD6,0x0E18,0x08F5,0x07A7,0x0AA9,0x0099,0x1E5B,0x09F4,
-+ 0x1C02,0x0737,0x08B9,0x0504,0x0C05,0x0813,0x1716,0x06BE,0x1ECA,0x1995,
-+ 0x0D63,0x0745,0x1870,0x221D,0x0C6E,0x20D2,0x23C0,0x11D8,0x0D23,0x1924,
-+ 0x0D34,0x10AF,0x2339,0x1F37,0x0ACC,0x228E,0x20B1,0x127E,0x0293,0x0294,
-+ 0x18D2,0x0F77,0x1C89,0x035F,0x1441,0x0143,0x219C,0x042F,0x092E,0x1AC0,
-+ 0x0932,0x1D93,0x1AE6,0x1E03,0x0F87,0x16B4,0x15B1,0x066F,0x07A1,0x21A6,
-+ 0x20BD,0x201C,0x10F2,0x16B2,0x13B8,0x0C90,0x013E,0x191C,0x1ACA,0x10E0,
-+ 0x12DA,0x0047,0x15B8,0x1E51,0x0693,0x02CF,0x169A,0x1571,0x2167,0x022F,
-+ 0x2150,0x11A0,0x137D,0x143A,0x02D9,0x07AC,0x0B18,0x1730,0x0E1B,0x0BC3,
-+ 0x2178,0x1656,0x1041,0x1FDE,0x044C,0x21EC,0x1CF0,0x04A0,0x17F2,0x1D8B,
-+ 0x172B,0x0826,0x0B38,0x1FB6,0x07BA,0x1632,0x0BFF,0x12B8,0x0073,0x1D94,
-+ 0x0457,0x05B8,0x0CA6,0x08EC,0x1663,0x07CF,0x0E04,0x2116,0x23D6,0x1F6F,
-+ 0x0884,0x17D1,0x0B14,0x1222,0x0774,0x16C8,0x16A8,0x1DCF,0x1E21,0x1A42,
-+ 0x0CF4,0x184F,0x1AD3,0x1DA5,0x04F9,0x0F39,0x2173,0x091B,0x0648,0x21A7,
-+ 0x1481,0x15FB,0x0C69,0x064B,0x00BE,0x08D5,0x211D,0x07E5,0x22F6,0x10A7,
-+ 0x0791,0x1F88,0x0FB6,0x2004,0x014E,0x187E,0x17D7,0x2345,0x0C83,0x0DE6,
-+ 0x12B6,0x0365,0x1D4A,0x1C43,0x1266,0x083D,0x1A5F,0x0029,0x223B,0x1809,
-+ 0x0589,0x001C,0x0F90,0x1B77,0x10CC,0x12CB,0x0703,0x0471,0x0E6E,0x05E6,
-+ 0x0E95,0x0912,0x18DD,0x1EEA,0x02CA,0x04C2,0x0BDC,0x0EE6,0x158A,0x189B,
-+ 0x17AD,0x0CD8,0x1246,0x1457,0x0938,0x1D87,0x175C,0x0A85,0x1F20,0x17EC,
-+ 0x08E7,0x0678,0x0978,0x145E,0x00CF,0x001F,0x0D90,0x09F6,0x20E4,0x217D,
-+ 0x13E7,0x1CE0,0x1400,0x156D,0x084C,0x1881,0x0140,0x208B,0x21E5,0x041A,
-+ 0x02A0,0x0F23,0x22CA,0x0520,0x087A,0x1FAC,0x0FE2,0x15CD,0x05CF,0x1C34,
-+ 0x0BA3,0x033D,0x14DB,0x1251,0x0071,0x15FF,0x0139,0x21FB,0x003C,0x0629,
-+ 0x008A,0x03ED,0x0EA7,0x018B,0x146D,0x19D4,0x167F,0x1F24,0x21FC,0x04E9,
-+ 0x057F,0x0CB5,0x0F76,0x1B1A,0x19B0,0x1CDB,0x211E,0x0775,0x17D9,0x0494,
-+ 0x0C1F,0x0DB6,0x2184,0x1702,0x1165,0x1C4A,0x1043,0x0A5A,0x1004,0x03BE,
-+ 0x0B33,0x151A,0x038B,0x12ED,0x1287,0x2205,0x1F05,0x1AC8,0x19E3,0x1506,
-+ 0x0891,0x05DA,0x1C04,0x1ED3,0x0A11,0x061C,0x0DC5,0x01D5,0x1459,0x032E,
-+ 0x1A7B,0x12E3,0x1A8B,0x17D3,0x1391,0x0ADA,0x0A24,0x13E9,0x05DB,0x2050,
-+ 0x12C9,0x216A,0x0A09,0x149D,0x142B,0x0FD3,0x229D,0x19FA,0x0547,0x1984,
-+ 0x0E06,0x1827,0x0477,0x19D1,0x05DF,0x1248,0x12FF,0x01A2,0x10E8,0x095B,
-+ 0x2227,0x1262,0x00DC,0x0354,0x07E8,0x03DF,0x01FC,0x1AC1,0x0272,0x1AED,
-+ 0x090B,0x209E,0x1CCB,0x1AA5,0x218B,0x1D9C,0x1467,0x12B2,0x0D2C,0x1B3D,
-+ 0x0EC1,0x13F3,0x1330,0x1629,0x1576,0x2275,0x0684,0x0C41,0x0CD9,0x1836,
-+ 0x1280,0x104D,0x168D,0x1DE8,0x0E66,0x0A8C,0x2027,0x0448,0x0DA8,0x0A50,
-+ 0x1A4F,0x1A1A,0x0CF1,0x2180,0x03C5,0x1CAA,0x0B84,0x18EE,0x026B,0x1E44,
-+ 0x1F92,0x14F6,0x210E,0x0444,0x030A,0x140E,0x0F6B,0x0F44,0x0894,0x1407,
-+ 0x085A,0x091E,0x02B7,0x0B83,0x2238,0x1E25,0x0A32,0x19F5,0x06A9,0x239E,
-+ 0x10D9,0x2019,0x21A2,0x08A7,0x17DF,0x1A82,0x138F,0x08AA,0x12E6,0x074D,
-+ 0x1CDD,0x1FE1,0x0691,0x1F89,0x0810,0x05A9,0x00AB,0x0AD4,0x0623,0x02D4,
-+ 0x09D3,0x1232,0x2002,0x1FC3,0x1B73,0x0704,0x0150,0x197D,0x1646,0x0595,
-+ 0x1BAD,0x2146,0x0AD5,0x074C,0x03FD,0x1018,0x1F08,0x0989,0x1204,0x0499,
-+ 0x17E4,0x001E,0x0A23,0x13BC,0x1150,0x119C,0x056B,0x0BD7,0x0B8A,0x0AD7,
-+ 0x05A1,0x0AA6,0x1B27,0x18D1,0x0D42,0x14E9,0x0779,0x027A,0x1C76,0x01A7,
-+ 0x1FB0,0x1270,0x16C6,0x0142,0x1FF6,0x1172,0x11EB,0x212C,0x071D,0x1543,
-+ 0x170C,0x0F2F,0x1F9D,0x0F95,0x1CC7,0x043B,0x12EA,0x0F10,0x1D6E,0x0722,
-+ 0x00D6,0x1829,0x1244,0x1E0B,0x18CF,0x1C16,0x22DE,0x093B,0x01FD,0x15EF,
-+ 0x2087,0x1E24,0x02FB,0x1F1A,0x009D,0x0C20,0x0A35,0x18F9,0x0363,0x16ED,
-+ 0x0F4C,0x22B3,0x20A6,0x23C9,0x0C9D,0x10CF,0x0FC2,0x0AB1,0x1514,0x1D88,
-+ 0x1637,0x0844,0x06AF,0x06A7,0x0400,0x1F96,0x15D3,0x1566,0x0A06,0x1A38,
-+ 0x006A,0x03EA,0x1E4B,0x119F,0x1B8B,0x1049,0x1080,0x1B21,0x13BE,0x0F57,
-+ 0x18F6,0x22E4,0x1E9F,0x1BE1,0x1353,0x1644,0x0A45,0x1AA3,0x01C9,0x06F7,
-+ 0x10EB,0x0032,0x07F8,0x1CED,0x202C,0x0957,0x17B2,0x006B,0x1456,0x03DA,
-+ 0x061B,0x1A60,0x1C9A,0x137B,0x1EA2,0x1D61,0x0000,0x17FB,0x1BE2,0x046A,
-+ 0x1CBF,0x2192,0x1F0E,0x1968,0x0AE9,0x1508,0x0182,0x2324,0x2113,0x13CC,
-+ 0x09F5,0x0B62,0x1283,0x0FFC,0x150B,0x0794,0x0A0D,0x236B,0x1590,0x0808,
-+ 0x05D2,0x105A,0x1C80,0x207F,0x05CB,0x12FB,0x22BE,0x012A,0x0DC3,0x01CF,
-+ 0x023C,0x063D,0x060F,0x0447,0x2257,0x01C2,0x050B,0x03A1,0x0780,0x1782,
-+ 0x12E7,0x1E52,0x135C,0x151C,0x14EB,0x1B4E,0x2250,0x168C,0x118D,0x031D,
-+ 0x0680,0x2088,0x12D7,0x2133,0x14E0,0x1BE5,0x201E,0x0C3B,0x23AC,0x1B22,
-+ 0x01D0,0x0B17,0x1904,0x139F,0x1DAA,0x1418,0x0327,0x1527,0x0920,0x0715,
-+ 0x03C3,0x052C,0x0E8A,0x0812,0x017D,0x0C1D,0x02AA,0x1A7F,0x1DE4,0x058F,
-+ 0x194E,0x2343,0x0F11,0x1F18,0x0B05,0x2271,0x08E1,0x1CC6,0x1D38,0x20E7,
-+ 0x12DE,0x00E5,0x180C,0x0AC7,0x0C27,0x1C97,0x2304,0x10E6,0x071F,0x0C03,
-+ 0x0249,0x1FAA,0x0374,0x1E99,0x1FD5,0x2254,0x1B4C,0x0A92,0x2172,0x0B36,
-+ 0x011B,0x1CB2,0x0560,0x18F4,0x0460,0x0B24,0x1910,0x0596,0x1C30,0x0BE5,
-+ 0x1B79,0x1E40,0x21CA,0x0997,0x0F89,0x0173,0x215C,0x0D4E,0x1E14,0x1A45,
-+ 0x227E,0x18F7,0x1314,0x0C71,0x1D55,0x02B8,0x0C45,0x2232,0x10DC,0x155A,
-+ 0x1581,0x14A6,0x1683,0x108B,0x0247,0x2247,0x1F69,0x1EC7,0x0F1D,0x0A2A,
-+ 0x10FA,0x1660,0x16CE,0x0D18,0x0DDD,0x0BC6,0x0269,0x1911,0x187B,0x16F7,
-+ 0x188A,0x1FA0,0x1EA6,0x11B5,0x04C9,0x214E,0x065F,0x017A,0x05CE,0x1C32,
-+ 0x194D,0x1C44,0x02C1,0x1BCF,0x235B,0x228D,0x1A2C,0x03A3,0x017B,0x12D0,
-+ 0x19E8,0x08EF,0x1F25,0x1E65,0x0BA9,0x0DD9,0x1CF8,0x103A,0x1E22,0x15DD,
-+ 0x03D3,0x1EDE,0x1CF7,0x03C1,0x04F3,0x2240,0x1FFE,0x03BB,0x0D7D,0x1EBF,
-+ 0x1BA5,0x18E6,0x1CCF,0x1D8C,0x202E,0x0BA2,0x1A75,0x0065,0x104E,0x0661,
-+ 0x1B85,0x1A7A,0x0DD5,0x0450,0x1CEE,0x026E,0x1C0C,0x10B2,0x20F2,0x0AA7,
-+ 0x12F4,0x08EB,0x23AB,0x07B3,0x130B,0x094D,0x1EA3,0x18F2,0x0C9C,0x1363,
-+ 0x2036,0x13A8,0x16B1,0x1428,0x1F02,0x01E8,0x039E,0x1BED,0x1D98,0x08E2,
-+ 0x14D6,0x1E56,0x2388,0x0C1E,0x19EE,0x04AA,0x0EB8,0x09E5,0x233E,0x1D66,
-+ 0x07C5,0x211A,0x1088,0x0954,0x0E2A,0x1BC8,0x07A3,0x1E1E,0x1D36,0x1B87,
-+ 0x1544,0x0137,0x11DB,0x01C0,0x0845,0x216B,0x1BFC,0x08F6,0x0A5D,0x1EDF,
-+ 0x0FDE,0x0731,0x110A,0x0FB9,0x0E86,0x1415,0x14E7,0x17A3,0x02BC,0x0C60,
-+ 0x2111,0x0B41,0x234B,0x1C60,0x118A,0x0FDF,0x17CD,0x1323,0x087F,0x0025,
-+ 0x165D,0x1606,0x0823,0x1368,0x07F2,0x0743,0x02E4,0x23D0,0x0803,0x14AE,
-+ 0x1465,0x0FE3,0x02BB,0x0ACF,0x137F,0x2212,0x1272,0x01B6,0x0C07,0x08AB,
-+ 0x11E1,0x0274,0x171F,0x1126,0x09D2,0x1C01,0x23C5,0x1AB0,0x0F3E,0x0DAC,
-+ 0x00D5,0x14C2,0x17C1,0x028F,0x0DE9,0x06C3,0x0DE2,0x1A70,0x1AEC,0x1638,
-+ 0x1727,0x15ED,0x1532,0x13FD,0x123F,0x207E,0x0825,0x0066,0x14EC,0x1EE4,
-+ 0x1FE9,0x14B3,0x1692,0x0557,0x07A0,0x11D6,0x21DD,0x05FA,0x2014,0x0A0C,
-+ 0x152B,0x0425,0x00D7,0x00F2,0x0316,0x0ECA,0x1B14,0x0896,0x15B3,0x0B80,
-+ 0x1D20,0x0AF5,0x09C8,0x0BF6,0x134F,0x0E00,0x1B99,0x0953,0x2341,0x21C7,
-+ 0x1811,0x1032,0x1898,0x1286,0x1998,0x06B0,0x19FB,0x0790,0x15A6,0x16FB,
-+ 0x16C4,0x0B28,0x0C7B,0x0FED,0x19AC,0x113F,0x1EC3,0x0A52,0x132A,0x048D,
-+ 0x1B07,0x11D1,0x1F75,0x0838,0x04A5,0x04CB,0x046E,0x0A58,0x076E,0x12DB,
-+ 0x0AE8,0x185F,0x15E3,0x18A5,0x18CE,0x0236,0x0A46,0x1886,0x0B69,0x03CD,
-+ 0x17E6,0x0A21,0x06D1,0x0964,0x0630,0x231B,0x1642,0x19FF,0x1880,0x1B6B,
-+ 0x105C,0x0FCC,0x0043,0x1A4E,0x1554,0x0781,0x0034,0x1D16,0x1522,0x1ABF,
-+ 0x0F03,0x1B47,0x1A21,0x1E8E,0x007A,0x1E3E,0x0EB0,0x0DD7,0x0534,0x0241,
-+ 0x051D,0x0C8F,0x0B55,0x1589,0x0256,0x194B,0x1D31,0x0828,0x09AD,0x075F,
-+ 0x02AF,0x0BAF,0x1C49,0x20ED,0x1D21,0x0E6A,0x1723,0x19F6,0x114E,0x1419,
-+ 0x1952,0x0F40,0x0B0D,0x2201,0x1D29,0x19C9,0x0A2F,0x1515,0x1F27,0x1CDE,
-+ 0x0DD3,0x1768,0x0E56,0x1A9C,0x12A4,0x11BE,0x0B46,0x0DAE,0x0AFC,0x164B,
-+ 0x08D7,0x003A,0x0BDD,0x1E4E,0x0BCF,0x105E,0x2000,0x1BA1,0x19F4,0x2100,
-+ 0x20D7,0x2398,0x1C2E,0x04BE,0x0199,0x221E,0x0532,0x07B7,0x155B,0x006D,
-+ 0x16C1,0x1C74,0x0D61,0x17E2,0x0AFF,0x1AC4,0x00E9,0x09E4,0x11BB,0x0674,
-+ 0x22BD,0x1186,0x0578,0x202A,0x123B,0x15E8,0x0E8B,0x0403,0x097A,0x0105,
-+ 0x14ED,0x14CB,0x0FDD,0x03FF,0x17AF,0x1E39,0x02F3,0x13D3,0x0C89,0x20BC,
-+ 0x20B2,0x15BC,0x1CAC,0x2372,0x1B48,0x08D2,0x0446,0x1177,0x0D1F,0x17C6,
-+ 0x1989,0x0516,0x0DDC,0x024D,0x16AA,0x09EE,0x1062,0x0B50,0x1F77,0x037F,
-+ 0x07D2,0x093C,0x238A,0x0583,0x2375,0x0CA3,0x18EA,0x182A,0x0621,0x1036,
-+ 0x02B5,0x01E2,0x22DB,0x0963,0x2399,0x060C,0x1152,0x0F91,0x048A,0x1A7E,
-+ 0x1E87,0x1BB0,0x15C4,0x1112,0x1021,0x11E2,0x0C56,0x07DD,0x1D46,0x0210,
-+ 0x04F5,0x1C0E,0x0B8E,0x1040,0x1A6C,0x1AF8,0x08D8,0x1313,0x1C8A,0x20B8,
-+ 0x0B54,0x08A4,0x0094,0x131E,0x0A86,0x0A28,0x0D10,0x0A74,0x1AD2,0x0653,
-+ 0x172C,0x21C1,0x1490,0x04FC,0x0BFA,0x1347,0x0B2F,0x1DC4,0x23DB,0x0FB8,
-+ 0x23BB,0x0C72,0x03E5,0x186A,0x0F9D,0x1295,0x1808,0x04C6,0x1960,0x1FA7,
-+ 0x0DE0,0x239F,0x1D5F,0x0EED,0x1F79,0x2068,0x06B8,0x0D99,0x15F5,0x1028,
-+ 0x0202,0x0BAD,0x0098,0x060D,0x0E84,0x18FB,0x1549,0x1E63,0x0ED6,0x009A,
-+ 0x0B72,0x0B7B,0x06B1,0x0341,0x08F4,0x112A,0x18D5,0x0919,0x1731,0x19A5,
-+ 0x16FA,0x0195,0x0F9C,0x123D,0x0968,0x0E17,0x0EBF,0x0D27,0x1A33,0x17FD,
-+ 0x221B,0x208C,0x0694,0x1713,0x1696,0x0692,0x0006,0x1C3E,0x1617,0x0267,
-+ 0x111D,0x2122,0x025E,0x200E,0x0D22,0x1627,0x1329,0x0048,0x1265,0x0D7A,
-+ 0x1402,0x149C,0x02A1,0x022C,0x0F75,0x0783,0x124A,0x1134,0x0E1E,0x1C4C,
-+ 0x1CB0,0x17F1,0x046F,0x0280,0x068B,0x1C46,0x1FDA,0x0D82,0x1CD1,0x0590,
-+ 0x056E,0x015A,0x121F,0x0B1D,0x019D,0x1EB5,0x0A82,0x16E8,0x117D,0x098F,
-+ 0x1513,0x122A,0x0C18,0x0FA0,0x1EB1,0x0DD0,0x0E4A,0x23F8,0x190B,0x2053,
-+ 0x16C0,0x18A3,0x0127,0x0AE1,0x0F52,0x12AF,0x0E24,0x0C32,0x08A6,0x1D3F,
-+ 0x00CA,0x229B,0x11F6,0x1A46,0x1BF3,0x1EC6,0x0275,0x13B4,0x1210,0x0A49,
-+ 0x057C,0x0E3F,0x206B,0x05DC,0x21D5,0x18A7,0x14D3,0x1F57,0x1FF8,0x2220,
-+ 0x0962,0x1BFF,0x2301,0x08AF,0x1EEC,0x20CF,0x17E9,0x2302,0x0FBD,0x1BC9,
-+ 0x0585,0x0784,0x17BE,0x1B2B,0x111A,0x0AB3,0x1F1F,0x0505,0x0019,0x235F,
-+ 0x0B59,0x039A,0x03F7,0x193C,0x1994,0x1C1E,0x0CBB,0x0D72,0x1706,0x1C37,
-+ 0x0002,0x098B,0x2046,0x056A,0x0A1E,0x0A04,0x11C2,0x0883,0x06B3,0x0B48,
-+ 0x07DF,0x1122,0x04EE,0x215D,0x11D7,0x12A9,0x0F9A,0x0104,0x1618,0x175E,
-+ 0x1A28,0x1D13,0x1DC9,0x0111,0x110C,0x1779,0x146E,0x1928,0x15B0,0x072C,
-+ 0x0773,0x1CA2,0x0C3C,0x0BF2,0x1587,0x2269,0x10B0,0x0A6F,0x214D,0x0EEC,
-+ 0x1EF6,0x14EE,0x20C4,0x1A65,0x1A0B,0x23FA,0x0336,0x1603,0x0946,0x0D6B,
-+ 0x0545,0x1B9A,0x0605,0x0C95,0x2185,0x0EE3,0x1F98,0x1EB3,0x0A39,0x05EC,
-+ 0x1A5C,0x123A,0x0848,0x234E,0x023A,0x183E,0x16BD,0x014D,0x106A,0x0EF5,
-+ 0x213C,0x0046,0x0395,0x2321,0x238D,0x1AEE,0x1170,0x03DD,0x1C70,0x1D65,
-+ 0x0CF0,0x224D,0x1F87,0x1D0A,0x09A4,0x14CF,0x0A02,0x0093,0x121A,0x02EF,
-+ 0x22CC,0x0B8D,0x1E00,0x0B58,0x0FF9,0x1D62,0x1E6B,0x2387,0x138B,0x052D,
-+ 0x081C,0x10A0,0x0194,0x22F9,0x1E5F,0x1E3D,0x06C9,0x167C,0x0096,0x1570,
-+ 0x19A7,0x0B98,0x18BA,0x12AA,0x11CC,0x22C7,0x0064,0x0440,0x0B7E,0x23BF,
-+ 0x01A6,0x09ED,0x000B,0x0834,0x008E,0x0A7E,0x0D32,0x0744,0x207A,0x03AF,
-+ 0x062B,0x21DB,0x1B37,0x1FB1,0x1653,0x1807,0x141F,0x18AF,0x1343,0x0D28,
-+ 0x221A,0x1064,0x1BAB,0x199D,0x19E9,0x23FF,0x22EF,0x0CB1,0x0EC2,0x0958,
-+ 0x09D7,0x20EE,0x1AAF,0x1267,0x020B,0x1E58,0x0F2A,0x1B2F,0x0A7B,0x0EF2,
-+ 0x2334,0x0131,0x164D,0x238E,0x0352,0x1C71,0x1B9B,0x1F54,0x08DD,0x069C,
-+ 0x0C65,0x1FEB,0x21C2,0x0C38,0x1743,0x23E1,0x10C1,0x110E,0x13EE,0x239A,
-+ 0x125D,0x21DC,0x057B,0x1B1F,0x0D26,0x0121,0x02C5,0x0189,0x0867,0x190F,
-+ 0x0A8E,0x064E,0x0C31,0x2149,0x0A5C,0x1B06,0x0A6D,0x2277,0x0DFC,0x1B2A,
-+ 0x0FBC,0x051A,0x0767,0x00BF,0x1862,0x1414,0x1CDA,0x1484,0x1098,0x0657,
-+ 0x1C29,0x1C9F,0x0DBF,0x1B28,0x1AAD,0x204C,0x077B,0x0888,0x0ACA,0x1575,
-+ 0x1780,0x1AC5,0x085E,0x14CD,0x1CB3,0x033C,0x1E62,0x1650,0x0F7E,0x1CE4,
-+ 0x059E,0x20D6,0x072D,0x1371,0x2332,0x115F,0x204E,0x0282,0x11BF,0x08CE,
-+ 0x1C10,0x11AD,0x10FF,0x15BD,0x04E1,0x22D9,0x1634,0x048B,0x0346,0x185A,
-+ 0x083B,0x06F9,0x2124,0x072E,0x1ABA,0x050D,0x18BC,0x003E,0x090A,0x1F2C,
-+ 0x1734,0x0EE7,0x131A,0x0BB5,0x042E,0x12AD,0x1D5E,0x20EF,0x0C7F,0x1245,
-+ 0x1AD5,0x0895,0x00ED,0x2314,0x19B9,0x055D,0x20A5,0x112C,0x0436,0x16DA,
-+ 0x0E12,0x0276,0x178B,0x0EBD,0x0B2E,0x23D5,0x0941,0x1C14,0x1FA2,0x0A90,
-+ 0x1A99,0x1891,0x02BF,0x1305,0x1B18,0x0E0F,0x0BC1,0x0CD7,0x05AB,0x1ED5,
-+ 0x1D53,0x04D0,0x0D98,0x062F,0x0BCC,0x0B88,0x2031,0x0295,0x1F29,0x1ECB,
-+ 0x0DB9,0x00C8,0x2396,0x0A17,0x1773,0x1AC9,0x0459,0x1AD6,0x22CF,0x1DC2,
-+ 0x1BB8,0x1A23,0x1DFE,0x0604,0x213A,0x1357,0x1EA1,0x20D3,0x1137,0x1233,
-+ 0x198D,0x1B04,0x041E,0x200D,0x233A,0x02A5,0x0CA7,0x0E15,0x17FE,0x216E,
-+ 0x07C0,0x0BB0,0x0B9C,0x0A8F,0x0B15,0x0BDA,0x14B0,0x15CA,0x189E,0x19DC,
-+ 0x1ED9,0x0076,0x0A97,0x0918,0x0BED,0x0B81,0x0E0A,0x11DC,0x165A,0x037D,
-+ 0x1B74,0x1438,0x1129,0x22A2,0x0373,0x0D43,0x20F0,0x0DDE,0x0AB2,0x0771,
-+ 0x22F5,0x05F5,0x0662,0x1B39,0x16B0,0x1EF3,0x0AF2,0x0E44,0x0221,0x0A6E,
-+ 0x0D47,0x1DAC,0x18F1,0x10F6,0x2094,0x2294,0x0B21,0x0192,0x1A1E,0x03C9,
-+ 0x1777,0x1462,0x2089,0x0A4F,0x1A12,0x1A6B,0x1737,0x1D18,0x0C98,0x2207,
-+ 0x1FDD,0x2176,0x0109,0x0537,0x00BD,0x1916,0x1C2A,0x1377,0x1094,0x1D72,
-+ 0x00EE,0x0057,0x1463,0x171B,0x00EB,0x1AF0,0x15B9,0x0368,0x04CC,0x05AC,
-+ 0x07CA,0x1A62,0x0AFD,0x0C00,0x0548,0x153B,0x00AE,0x08F1,0x17C9,0x0428,
-+ 0x07F0,0x23D8,0x0DD4,0x201D,0x0C4D,0x04EA,0x0161,0x0C02,0x016D,0x145D,
-+ 0x1CA8,0x02F7,0x17F3,0x1FEC,0x1933,0x0E23,0x0639,0x1CD8,0x20B7,0x0284,
-+ 0x1016,0x0DC7,0x05A5,0x0E70,0x1A43,0x1DCB,0x09E8,0x13A9,0x06F5,0x1454,
-+ 0x033A,0x1E82,0x088D,0x0736,0x14C5,0x14FB,0x190E,0x0B60,0x13EA,0x1260,
-+ 0x0F8D,0x140B,0x1EDC,0x1E93,0x1095,0x2258,0x088E,0x22F0,0x08F2,0x2364,
-+ 0x1F97,0x1024,0x064F,0x0C5F,0x2052,0x1BE4,0x1EE9,0x1FE3,0x15A8,0x0DB1,
-+ 0x0D1D,0x17F7,0x20D8,0x07F6,0x2077,0x15E0,0x1C2F,0x1709,0x05BE,0x1B1B,
-+ 0x2162,0x1A39,0x1C2C,0x13F7,0x19EC,0x20D4,0x0655,0x049C,0x17AA,0x20E6,
-+ 0x04F4,0x01DE,0x038F,0x21FF,0x12BB,0x14C3,0x1D23,0x0730,0x0E5A,0x1ADD,
-+ 0x2300,0x1118,0x21D7,0x0FC5,0x0497,0x0390,0x11EA,0x18E5,0x1EF4,0x1EAE,
-+ 0x028A,0x102B,0x1365,0x05B1,0x18ED,0x0016,0x0012,0x0887,0x1E68,0x0933,
-+ 0x1166,0x0F5D,0x1297,0x06B9,0x18C5,0x0F80,0x2305,0x12A0,0x0AA8,0x1766,
-+ 0x1E2C,0x021D,0x1B30,0x0D3C,0x1585,0x1815,0x1B8D,0x00C1,0x02DD,0x0BD6,
-+ 0x06DC,0x06AD,0x025B,0x0A59,0x1D6B,0x15E2,0x1388,0x1AE3,0x1E26,0x21AF,
-+ 0x1CAD,0x02B0,0x09B8,0x0CFA,0x1DED,0x2267,0x0ABA,0x21F9,0x0AB8,0x1278,
-+ 0x1C58,0x1BCA,0x1042,0x1F4D,0x1F5B,0x1B09,0x0B08,0x0217,0x2097,0x05BC,
-+ 0x1219,0x1C6B,0x1885,0x1A69,0x01D1,0x0246,0x077C,0x13C4,0x11E9,0x01DD,
-+ 0x206F,0x0A41,0x16DD,0x08E9,0x1578,0x0846,0x0B99,0x0C4E,0x03A6,0x17F5,
-+ 0x13AB,0x1D2D,0x1B03,0x1F7F,0x0A96,0x1726,0x1AD9,0x1180,0x0B0C,0x0796,
-+ 0x1718,0x0CEA,0x0D8B,0x1B78,0x1C66,0x1BFA,0x07C3,0x1195,0x06C2,0x041C,
-+ 0x11EC,0x148E,0x0E52,0x1987,0x08BC,0x0B7C,0x02C8,0x073D,0x23DE,0x1A8E,
-+ 0x1D7C,0x220E,0x01E0,0x14C7,0x18B7,0x20E0,0x0739,0x088B,0x0CF5,0x1498,
-+ 0x0487,0x1699,0x035D,0x0416,0x0406,0x0C67,0x1188,0x1A30,0x00F7,0x063C,
-+ 0x09B7,0x030F,0x09BD,0x0D5F,0x022D,0x1D00,0x1C45,0x1AFA,0x0D16,0x0325,
-+ 0x1794,0x21E0,0x18AD,0x09FC,0x0F48,0x1F49,0x0463,0x11E0,0x1BF4,0x2169,
-+ 0x077D,0x0644,0x1497,0x1A51,0x0FC0,0x14DE,0x2049,0x0110,0x0A3D,0x062D,
-+ 0x08BE,0x16B3,0x0021,0x20C3,0x0BA5,0x21B4,0x05AA,0x0B16,0x19C1,0x2128,
-+ 0x0468,0x0E07,0x1F3A,0x052B,0x1161,0x0B9A,0x13FF,0x17D8,0x161B,0x2029,
-+ 0x0FA3,0x0E29,0x0B70,0x1605,0x1A3F,0x1E78,0x1EC4,0x1429,0x1906,0x19BF,
-+ 0x07EC,0x1DFA,0x2035,0x0A67,0x22A8,0x1863,0x21E4,0x04E2,0x1175,0x0411,
-+ 0x1B56,0x037C,0x0262,0x0865,0x000A,0x2287,0x1279,0x1FD9,0x1667,0x1DC1,
-+ 0x1AF3,0x0148,0x0C59,0x199A,0x0943,0x0D07,0x233C,0x073A,0x14AD,0x12CF,
-+ 0x0971,0x19EB,0x1EF9,0x15F9,0x0ADC,0x1101,0x1AD4,0x0540,0x0727,0x0986,
-+ 0x0D69,0x0A20,0x21A5,0x10CA,0x21C6,0x0EAA,0x06FC,0x0E47,0x15F4,0x222C,
-+ 0x02C2,0x0580,0x05C0,0x11DA,0x10D4,0x0DCF,0x0451,0x021A,0x228C,0x2104,
-+ 0x1E7A,0x150F,0x043F,0x1B4B,0x0B76,0x1384,0x0208,0x0F33,0x001B,0x1A04,
-+ 0x21BD,0x006E,0x1889,0x00AA,0x12C5,0x03FC,0x11F8,0x0D2F,0x0CDF,0x1F8C,
-+ 0x0526,0x1659,0x17EA,0x0BCA,0x119D,0x12B7,0x1392,0x0AB6,0x1331,0x1198,
-+ 0x15EC,0x01C1,0x22AB,0x130C,0x14F0,0x227B,0x07E9,0x1E4C,0x016B,0x0A13,
-+ 0x0E37,0x1136,0x1C8E,0x112F,0x1CE8,0x18D8,0x0372,0x011A,0x1411,0x07D1,
-+ 0x076B,0x085C,0x0084,0x0714,0x0E3C,0x21F7,0x0F6C,0x23E9,0x0385,0x1B17,
-+ 0x179C,0x159A,0x0506,0x135A,0x0882,0x1C36,0x1AA6,0x1E11,0x1A1F,0x1EF5,
-+ 0x0E9D,0x0335,0x1658,0x04B8,0x06A2,0x061E,0x17B6,0x1DB6,0x12BF,0x0443,
-+ 0x220A,0x1983,0x07B0,0x1890,0x177A,0x038A,0x1496,0x1220,0x18B3,0x1149,
-+ 0x0FA4,0x10EA,0x0620,0x11B1,0x01B1,0x08BA,0x0081,0x0FEC,0x111C,0x0C1B,
-+ 0x1382,0x0427,0x1582,0x1D54,0x0EE2,0x022A,0x0AAB,0x23EA,0x1922,0x0399,
-+ 0x2127,0x06CA,0x12D5,0x0A0A,0x1745,0x1F8F,0x009B,0x21B6,0x1BC2,0x0EEE,
-+ 0x00B6,0x0672,0x16D7,0x13E4,0x0ABF,0x0F29,0x03D2,0x20E3,0x185B,0x08FE,
-+ 0x0FB0,0x1CBC,0x2024,0x0A16,0x0C2C,0x0B23,0x134A,0x0ADE,0x03E2,0x0A0F,
-+ 0x2102,0x0CAA,0x19D0,0x220F,0x06E2,0x2391,0x13CF,0x1EDD,0x15B4,0x1012,
-+ 0x1F15,0x23DF,0x0735,0x223F,0x144B,0x12FC,0x1C86,0x1CE7,0x0DA7,0x082F,
-+ 0x1720,0x15C7,0x0212,0x22FD,0x133F,0x068C,0x169E,0x0C4F,0x1C31,0x139B,
-+ 0x0DA6,0x1A91,0x1D99,0x1493,0x160A,0x0077,0x1F45,0x1473,0x1B1E,0x028E,
-+ 0x0FAC,0x137C,0x2390,0x10A6,0x0129,0x0B67,0x1F53,0x0B97,0x21AC,0x0792,
-+ 0x0758,0x1AB2,0x0C44,0x1482,0x1436,0x0036,0x1B3A,0x1CC9,0x1AF4,0x152A,
-+ 0x2355,0x0519,0x1747,0x1275,0x10B3,0x2086,0x14D1,0x20E9,0x12CD,0x0EA4,
-+ 0x1F48,0x0DBD,0x0265,0x0A55,0x145F,0x2216,0x0D0F,0x103B,0x2381,0x0994,
-+ 0x1337,0x0CF7,0x06E8,0x2253,0x0936,0x1ECC,0x2208,0x10C3,0x0DE4,0x0A2D,
-+ 0x09DD,0x1690,0x234D,0x031E,0x0824,0x04A2,0x0F46,0x17B9,0x1F81,0x02E2,
-+ 0x04D5,0x13A2,0x0A10,0x01B3,0x1523,0x2013,0x0B06,0x1108,0x0244,0x06F6,
-+ 0x041B,0x03A5,0x21EF,0x052F,0x08FF,0x0855,0x1FC4,0x1E1D,0x2385,0x0B77,
-+ 0x1B86,0x2123,0x018C,0x2203,0x181A,0x01EB,0x07E1,0x1334,0x1D12,0x0A9D,
-+ 0x01ED,0x1EDA,0x1A2E,0x18AA,0x0598,0x1A83,0x162A,0x1A84,0x072B,0x2397,
-+ 0x0166,0x00C0,0x091C,0x2350,0x010A,0x157E,0x142C,0x1F4F,0x1B93,0x1355,
-+ 0x08F9,0x218E,0x1C57,0x0627,0x06AE,0x2186,0x230D,0x0C6F,0x1229,0x02C9,
-+ 0x0972,0x0F68,0x217B,0x1130,0x0CDB,0x06B5,0x1045,0x1321,0x0AA0,0x0CCE,
-+ 0x121E,0x0C0A,0x07EF,0x02D8,0x061D,0x1003,0x0761,0x20FE,0x1519,0x027B,
-+ 0x1105,0x174A,0x028B,0x0300,0x1EFD,0x1711,0x03BC,0x1FCC,0x1DFF,0x21FE,
-+ 0x1AE0,0x12C0,0x2266,0x1DEC,0x15E4,0x036B,0x0382,0x01B5,0x2067,0x20C6,
-+ 0x0B2C,0x0F7F,0x1BEB,0x0988,0x1491,0x0697,0x0F12,0x1096,0x0E78,0x103D,
-+ 0x02A3,0x21BB,0x1563,0x11D2,0x150D,0x2308,0x21B3,0x0333,0x1213,0x009F,
-+ 0x08A5,0x10EC,0x0E60,0x009E,0x1530,0x0FC6,0x110F,0x1BA3,0x027E,0x2223,
-+ 0x009C,0x1B4D,0x1F62,0x1CF6,0x1E86,0x0FB1,0x0332,0x1BAF,0x0C1A,0x0E2C,
-+ 0x0360,0x197A,0x01D3,0x10F3,0x1B76,0x02EB,0x18CA,0x065B,0x1164,0x103E,
-+ 0x0C39,0x0F8C,0x073E,0x07CE,0x183C,0x04EC,0x0E9A,0x0BDE,0x0738,0x1093,
-+ 0x0F0D,0x076A,0x0349,0x0DA9,0x19F9,0x1154,0x1DD0,0x0ED0,0x1D22,0x22D3,
-+ 0x015B,0x0052,0x0A5B,0x0CE2,0x1D89,0x1565,0x1752,0x0254,0x028C,0x18FD,
-+ 0x12B9,0x1CA4,0x1F73,0x0567,0x1B01,0x0414,0x1510,0x1ED8,0x05FD,0x1ACF,
-+ 0x19EA,0x0163,0x0B73,0x1CBE,0x07B6,0x10D1,0x050F,0x1635,0x0413,0x17ED,
-+ 0x1C40,0x1336,0x0EFF,0x1199,0x1236,0x07BD,0x2312,0x04B1,0x2163,0x1AD1,
-+ 0x0764,0x21D1,0x14DD,0x0CE8,0x1728,0x0348,0x236D,0x1BA6,0x2119,0x1405,
-+ 0x0625,0x034C,0x0A1F,0x09E0,0x231C,0x0D4C,0x0839,0x04AF,0x2153,0x12AB,
-+ 0x0D8C,0x148F,0x03CE,0x2081,0x05A6,0x0F02,0x1D41,0x090F,0x0D8D,0x1CE5,
-+ 0x0BF5,0x0358,0x0BBD,0x1981,0x1A5E,0x1312,0x103F,0x0347,0x23B0,0x0FAD,
-+ 0x08D1,0x00D8,0x08E0,0x212A,0x0DC4,0x1EBE,0x169F,0x07A6,0x1BF5,0x1FA3,
-+ 0x0EE8,0x17B1,0x14A8,0x0EC8,0x2057,0x0586,0x19AF,0x1C1A,0x1D10,0x15D7,
-+ 0x06CD,0x0901,0x163C,0x1A20,0x1107,0x0879,0x1533,0x1EDB,0x0E94,0x1FC9,
-+ 0x20F5,0x00A9,0x20BE,0x1011,0x1AFE,0x21DF,0x1D7E,0x0D25,0x13D1,0x099C,
-+ 0x0A64,0x1729,0x113B,0x17C4,0x21DE,0x0D8A,0x0B4B,0x00E2,0x0C10,0x2358,
-+ 0x162E,0x1470,0x1DDE,0x0050,0x1468,0x213B,0x106E,0x0490,0x09F2,0x0190,
-+ 0x1F7A,0x03FB,0x215E,0x02EC,0x01CD,0x0F83,0x1503,0x00A0,0x17E8,0x0ABE,
-+ 0x019F,0x053A,0x2278,0x1A66,0x12A3,0x0B04,0x23D7,0x144F,0x131B,0x2099,
-+ 0x0159,0x1D3E,0x1FE4,0x14D8,0x0100,0x130F,0x23F0,0x1623,0x1F40,0x0F13,
-+ 0x1082,0x221F,0x12FE,0x0B9D,0x080B,0x1EE6,0x14B9,0x2351,0x05D7,0x065E,
-+ 0x09BB,0x0209,0x0FDA,0x03D5,0x1B82,0x204B,0x1073,0x131C,0x1358,0x230B,
-+ 0x1BC0,0x1EB9,0x166A,0x11AA,0x1D85,0x08BB,0x1B7B,0x05F7,0x1B40,0x0E11,
-+ 0x02DB,0x13A3,0x0C15,0x14EA,0x0AB9,0x22E7,0x013A,0x07F4,0x0696,0x1228,
-+ 0x0FCF,0x1561,0x09E7,0x2221,0x039F,0x028D,0x1171,0x098C,0x1B5B,0x0F93,
-+ 0x1789,0x1269,0x0A3C,0x14A4,0x1864,0x16A9,0x0493,0x0B5E,0x0BD1,0x0646,
-+ 0x1A52,0x11FC,0x0934,0x0CA1,0x16C5,0x045B,0x0EAC,0x0EE1,0x1671,0x1918,
-+ 0x0C4C,0x1D9A,0x2062,0x160D,0x1555,0x0677,0x0F58,0x1621,0x17AB,0x0DB7,
-+ 0x0F63,0x094B,0x1902,0x23BE,0x0C35,0x0F51,0x149A,0x08FB,0x021F,0x1970,
-+ 0x0995,0x19E2,0x1DBD,0x1E48,0x0B90,0x02CC,0x15DB,0x2022,0x0CEE,0x2161,
-+ 0x0A57,0x11AE,0x0B6F,0x05CA,0x1450,0x19B8,0x0F4F,0x1F5A,0x1E2E,0x229A,
-+ 0x15EB,0x074E,0x2317,0x0ECB,0x0B6C,0x0510,0x091F,0x0F85,0x101B,0x1BD3,
-+ 0x0E7C,0x11FF,0x0F2C,0x1F9A,0x2382,0x232F,0x23DC,0x0DF7,0x01CB,0x0DCA,
-+ 0x21D3,0x1857,0x0C6D,0x0FEE,0x0509,0x0543,0x2331,0x1424,0x08FD,0x01E9,
-+ 0x1CA9,0x23EF,0x100C,0x029A,0x1065,0x1078,0x0F9B,0x14DA,0x0D09,0x0998,
-+ 0x088C,0x019C,0x10C4,0x20AB,0x20E5,0x16A4,0x0682,0x0424,0x1C15,0x0C13,
-+ 0x0A36,0x0856,0x07A5,0x1AD7,0x05D0,0x020C,0x16CC,0x1D8D,0x07DA,0x2204,
-+ 0x1D9F,0x1797,0x1C67,0x09C0,0x0237,0x1BB6,0x10A9,0x0417,0x0949,0x1E49,
-+ 0x017E,0x0979,0x1753,0x0AA2,0x0362,0x0B8B,0x0536,0x1EA7,0x0EE5,0x04CA,
-+ 0x2285,0x0DEB,0x05A0,0x0853,0x12BA,0x0491,0x0423,0x11C0,0x0E36,0x1674,
-+ 0x2010,0x1DC5,0x0709,0x125F,0x0C33,0x2349,0x0481,0x108A,0x0404,0x094F,
-+ 0x09CB,0x0D3F,0x18C4,0x0EA3,0x060E,0x0654,0x1814,0x09CA,0x1CA3,0x0C34,
-+ 0x1A17,0x1406,0x14FF,0x0F0E,0x0204,0x0C0F,0x11CB,0x1925,0x16B9,0x1488,
-+ 0x1D01,0x0E96,0x0562,0x0C04,0x185E,0x0D2D,0x23D4,0x2328,0x030C,0x19A9,
-+ 0x01EF,0x20FF,0x08F7,0x122E,0x1AC2,0x0C52,0x0296,0x1A59,0x0326,0x1089,
-+ 0x1DD3,0x1C63,0x06BB,0x146F,0x1237,0x1950,0x203B,0x17A8,0x01A5,0x09D1,
-+ 0x0591,0x1B15,0x0147,0x0F20,0x17B4,0x1A36,0x1FC5,0x1F5F,0x0C37,0x1BAE,
-+ 0x06BC,0x12C1,0x10D2,0x0A14,0x0875,0x120A,0x182D,0x0D6D,0x0F1B,0x0FA2,
-+ 0x1CC2,0x1A64,0x11C4,0x1CF3,0x1FBD,0x0027,0x0C49,0x21CB,0x0462,0x107C,
-+ 0x0CFD,0x1398,0x0633,0x06A5,0x00B0,0x0BFD,0x1665,0x102A,0x1915,0x150E,
-+ 0x23A0,0x1344,0x0F69,0x097B,0x023F,0x18BF,0x1423,0x1290,0x22DF,0x1060,
-+ 0x0168,0x04FA,0x1B72,0x03C0,0x0B49,0x202D,0x227F,0x0D31,0x121C,0x0762,
-+ 0x1980,0x05EE,0x20DA,0x04BB,0x06FB,0x16E5,0x117B,0x079F,0x1BF1,0x02A6,
-+ 0x0A5F,0x22ED,0x1517,0x034E,0x1628,0x1A72,0x02F2,0x1761,0x1E2D,0x161C,
-+ 0x05C1,0x0757,0x138C,0x0438,0x1193,0x1A68,0x0340,0x111F,0x1440,0x1CDF,
-+ 0x0634,0x23F9,0x064A,0x0C8A,0x1059,0x13A5,0x1B23,0x13D4,0x2210,0x12E4,
-+ 0x0E03,0x0CA0,0x0355,0x0E0D,0x1D24,0x2155,0x0B93,0x0531,0x0B1C,0x1CFE,
-+ 0x22BB,0x1B64,0x1D02,0x1F83,0x0C2A,0x01D4,0x000C,0x2213,0x2151,0x1F3C,
-+ 0x200F,0x0469,0x0B79,0x086F,0x139E,0x1ADA,0x00C4,0x07E0,0x1005,0x013C,
-+ 0x1869,0x05B6,0x0944,0x0652,0x1EBB,0x047E,0x0D3A,0x05F0,0x2085,0x0342,
-+ 0x0165,0x236A,0x03DB,0x1E69,0x120B,0x0EDB,0x156A,0x00CD,0x1F2F,0x0797,
-+ 0x066C,0x0AE7,0x063A,0x1C7D,0x18A4,0x07B5,0x0E87,0x092F,0x213E,0x10D6,
-+ 0x1F0A,0x1DD7,0x1B4F,0x0E68,0x1958,0x158D,0x14B6,0x0CB8,0x23E2,0x15D0,
-+ 0x1249,0x1562,0x03D6,0x0513,0x1A3E,0x171E,0x1F09,0x0DF9,0x0A07,0x12AE,
-+ 0x0690,0x05C6,0x120D,0x20D1,0x17A0,0x2189,0x1D34,0x1799,0x1E5E,0x20C7,
-+ 0x1B45,0x1359,0x174B,0x0CCC,0x0187,0x21D9,0x15A7,0x1E1F,0x13B1,0x05FF,
-+ 0x10D5,0x1905,0x01A8,0x0277,0x1FF4,0x0EB5,0x1476,0x1E1C,0x1390,0x018E,
-+ 0x0484,0x0FCB,0x146B,0x151B,0x1DC6,0x1A76,0x169B,0x0B64,0x0024,0x187A,
-+ 0x1230,0x2132,0x0ECE,0x149F,0x109A,0x1839,0x0568,0x1F84,0x0BF0,0x092D,
-+ 0x0C77,0x13EF,0x14F9,0x138D,0x0832,0x0C68,0x0A37,0x0248,0x16EF,0x0125,
-+ 0x087B,0x09A9,0x17C8,0x02DF,0x06A0,0x0FC3,0x0D75,0x1A10,0x0EAB,0x0D96,
-+ 0x0CC2,0x1DA2,0x13AA,0x1760,0x0146,0x1636,0x0082,0x1255,0x1206,0x19DF,
-+ 0x1D71,0x0D67,0x1DB4,0x0F15,0x065C,0x20C0,0x12F9,0x1796,0x1997,0x13B5,
-+ 0x087E,0x19FC,0x173B,0x163F,0x06CC,0x05F1,0x19B1,0x1D1E,0x16E1,0x1A3B,
-+ 0x0C3D,0x07C1,0x1A7C,0x00A5,0x181C,0x1593,0x0259,0x167B,0x0120,0x0889,
-+ 0x0A51,0x0DA1,0x129D,0x1F76,0x045D,0x1471,0x03CC,0x07B2,0x07EE,0x16AF,
-+ 0x0549,0x1046,0x2217,0x0BBF,0x12C6,0x0AA5,0x1C51,0x1C94,0x0DF4,0x22B8,
-+ 0x0DBA,0x1284,0x1D15,0x1433,0x1D17,0x15AE,0x0387,0x1052,0x0880,0x107B,
-+ 0x09E9,0x2012,0x1151,0x0641,0x0ECC,0x156E,0x1771,0x1972,0x09F9,0x12C3,
-+ 0x0C42,0x0B9E,0x02A4,0x12EB,0x16B7,0x054D,0x1742,0x0600,0x0BF1,0x11C5,
-+ 0x223E,0x0B35,0x1843,0x1A5D,0x081B,0x1DB2,0x0020,0x0BC7,0x155F,0x015E,
-+ 0x1341,0x1FD0,0x136D,0x062A,0x1E6C,0x1DA3,0x00C3,0x12EC,0x03C2,0x10D7,
-+ 0x15F3,0x1489,0x19FD,0x067D,0x12D6,0x1847,0x0F9F,0x0ED7,0x1D9E,0x1ADB,
-+ 0x10A4,0x0710,0x1866,0x0F32,0x1EC0,0x2309,0x00E8,0x025F,0x135F,0x0C54,
-+ 0x0FFF,0x0BF9,0x0959,0x14F3,0x17A1,0x0EE9,0x20F3,0x10BE,0x0DF6,0x1D49,
-+ 0x1111,0x0D2B,0x0226,0x1AB4,0x2337,0x021B,0x019A,0x22C0,0x1C06,0x08E5,
-+ 0x2047,0x07F9,0x1612,0x0822,0x0E31,0x00F3,0x134C,0x1919,0x189D,0x23FB,
-+ 0x0EFE,0x07D8,0x10F5,0x1143,0x22D1,0x0476,0x10F9,0x16CB,0x0053,0x16D3,
-+ 0x0366,0x1B6A,0x0074,0x1DF6,0x165B,0x0308,0x116E,0x0837,0x1A0D,0x15F8,
-+ 0x0D57,0x1875,0x1A8C,0x0EC0,0x239C,0x0BBE,0x0FB4,0x0009,0x1698,0x0AFE,
-+ 0x1992,0x23BA,0x0EE0,0x2096,0x00FE,0x1BF7,0x1239,0x23FD,0x1F8E,0x113C,
-+ 0x084F,0x09B1,0x0931,0x1E2F,0x0976,0x07AF,0x0B45,0x0ABD,0x0F37,0x0C7E,
-+ 0x06D3,0x238B,0x0759,0x17AC,0x0923,0x1D05,0x14FA,0x1755,0x187C,0x0E02,
-+ 0x0B03,0x02AE,0x1735,0x0283,0x033B,0x1C77,0x23C1,0x185C,0x0010,0x1595,
-+ 0x1C96,0x09E1,0x1055,0x19F7,0x1226,0x1790,0x01A9,0x1A8A,0x06B7,0x1A48,
-+ 0x1A96,0x121D,0x14BE,0x1681,0x131D,0x00BC,0x0D52,0x1401,0x0610,0x1A6F,
-+ 0x1354,0x0DD6,0x0155,0x07D4,0x017F,0x2154,0x1C9D,0x176B,0x1C4B,0x1C68,
-+ 0x1F33,0x082D,0x0616,0x23A4,0x0C86,0x1B00,0x0097,0x2357,0x10E4,0x149B,
-+ 0x0B8F,0x0E71,0x0636,0x062E,0x14AC,0x07C7,0x20FD,0x12BC,0x0228,0x106D,
-+ 0x0AB0,0x140F,0x2214,0x0C30,0x143B,0x1D77,0x1241,0x1FDB,0x1757,0x17E3,
-+ 0x0CB4,0x1F93,0x1C75,0x02B3,0x237A,0x0928,0x0CDE,0x12B4,0x11D4,0x1ADC,
-+ 0x2105,0x1B5C,0x1DF5,0x22FC,0x085F,0x08BF,0x0E1A,0x1564,0x06BF,0x1D59,
-+ 0x0B7A,0x22D7,0x0AED,0x10F8,0x0D48,0x1B33,0x20C2,0x205D,0x1801,0x228F,
-+ 0x13BD,0x0F5C,0x062C,0x1F2B,0x1AB7,0x09BE,0x0914,0x0C97,0x1941,0x151E,
-+ 0x0676,0x01BA,0x0207,0x09F3,0x1F4E,0x1B7A,0x07C2,0x0059,0x1BB4,0x1BA4,
-+ 0x1025,0x1102,0x0617,0x074A,0x0AF9,0x0915,0x1D3C,0x0B1B,0x0E05,0x0D66,
-+ 0x06C6,0x1C4D,0x0708,0x21C9,0x08E6,0x1DD9,0x235D,0x1D90,0x0095,0x0814,
-+ 0x0E4D,0x21C5,0x1DC3,0x0430,0x1E0D,0x235A,0x15DE,0x1B89,0x0729,0x066B,
-+ 0x23A3,0x2028,0x0398,0x229E,0x1845,0x212F,0x0740,0x029E,0x1D0F,0x1D11,
-+ 0x151D,0x023E,0x1B05,0x188F,0x0185,0x1584,0x044F,0x0033,0x0133,0x178D,
-+ 0x0C9A,0x10BC,0x0815,0x2206,0x1AC3,0x0CBA,0x115E,0x1772,0x0909,0x161A,
-+ 0x015C,0x1E83,0x1E96,0x0A1A,0x1D75,0x179E,0x2175,0x143E,0x17C5,0x12E9,
-+ 0x0F09,0x0885,0x0D71,0x18F8,0x0359,0x1615,0x0C6C,0x0809,0x1F10,0x1C18,
-+ 0x199C,0x1553,0x0D1B,0x0C0B,0x1ADF,0x0E4B,0x1B35,0x0B66,0x1264,0x22CB,
-+ 0x0181,0x154F,0x0D74,0x134D,0x18C1,0x0E43,0x13EC,0x1E37,0x01BE,0x0755,
-+ 0x0579,0x154B,0x0893,0x19D6,0x2072,0x208E,0x22C2,0x0719,0x04E6,0x00D3,
-+ 0x02C0,0x194A,0x0486,0x0DC1,0x06FD,0x1A86,0x0BEC,0x1191,0x0840,0x196C,
-+ 0x1959,0x12A5,0x08F8,0x17B0,0x16CF,0x0602,0x0D85,0x1F21,0x13A4,0x1946,
-+ 0x06E1,0x14BA,0x20F9,0x182C,0x0E09,0x13D8,0x159C,0x0881,0x0542,0x1948,
-+ 0x0829,0x1668,0x2060,0x1138,0x172D,0x17C3,0x0013,0x08E8,0x034F,0x1D80,
-+ 0x018D,0x0E90,0x0551,0x1CAE,0x0643,0x0ECD,0x005C,0x0223,0x0B29,0x10F1,
-+ 0x0B5D,0x0C5B,0x132B,0x02D1,0x2316,0x147F,0x1335,0x0679,0x06C4,0x04A3,
-+ 0x108D,0x02C3,0x075A,0x01EA,0x23AE,0x22B6,0x2138,0x232A,0x23EC,0x02AC,
-+ 0x227C,0x0E39,0x168F,0x0F35,0x06DA,0x0782,0x0556,0x042D,0x11AB,0x224C,
-+ 0x0F1E,0x0561,0x17A4,0x1B42,0x0AC6,0x1B91,0x0483,0x118B,0x1EED,0x0741,
-+ 0x177C,0x21E8,0x1AFC,0x209D,0x0FE0,0x1AD0,0x13B2,0x0637,0x20A4,0x1C1D,
-+ 0x0EAF,0x03E8,0x15F7,0x1686,0x21B2,0x2215,0x1091,0x01CE,0x135E,0x18C8,
-+ 0x1E46,0x2322,0x0618,0x23CA,0x1795,0x1F03,0x1A3D,0x0C5D,0x2298,0x01AE,
-+ 0x02E1,0x0D41,0x09D4,0x219D,0x2084,0x0F98,0x0375,0x13C9,0x0AC4,0x09FE,
-+ 0x1D81,0x0FF0,0x11C7,0x1FA9,0x1301,0x0BEF,0x1031,0x0B07,0x1FBF,0x1370,
-+ 0x1AA1,0x1956,0x15C0,0x1858,0x13BB,0x0937,0x1804,0x109D,0x03D8,0x0635,
-+ 0x1E41,0x0999,0x1079,0x15CC,0x15FC,0x09A2,0x1DA7,0x142E,0x03EC,0x1954,
-+ 0x1215,0x15E9,0x05C5,0x0831,0x13DA,0x14EF,0x22FE,0x1A54,0x06FE,0x23F1,
-+ 0x17A6,0x1CD2,0x068A,0x0E4C,0x03C8,0x007C,0x02E5,0x0C25,0x0C48,0x0A26,
-+ 0x1A9F,0x09B2,0x20F6,0x14AF,0x1B6F,0x233F,0x11F7,0x00B2,0x1076,0x1E70,
-+ 0x0726,0x1F59,0x222D,0x175D,0x1986,0x0AD8,0x2095,0x0214,0x231F,0x10C6,
-+ 0x1944,0x1816,0x093A,0x1EA5,0x0B4F,0x174E,0x1087,0x0C0E,0x1DDD,0x1CF2,
-+ 0x15AA,0x2231,0x22E8,0x0B52,0x040C,0x1CE3,0x0B7D,0x197C,0x0234,0x05EF,
-+ 0x1BDB,0x124E,0x1E95,0x03B4,0x226A,0x0149,0x137A,0x1AF5,0x20D5,0x1D4F,
-+ 0x0CDA,0x145B,0x026A,0x0473,0x0FF1,0x168A,0x16A5,0x23E4,0x13C6,0x0EB7,
-+ 0x0D7B,0x0D76,0x178E,0x23B7,0x05E2,0x16EB,0x0535,0x071B,0x2293,0x06E6,
-+ 0x1903,0x1526,0x1C23,0x0EC7,0x0CCB,0x1F65,0x0D89,0x147C,0x23F5,0x1446,
-+ 0x228B,0x0063,0x19DD,0x10FE,0x2023,0x0BAC,0x096A,0x22A4,0x1770,0x176D,
-+ 0x01C7,0x0E83,0x1E08,0x213F,0x2365,0x1EBD,0x1A16,0x0818,0x11FD,0x0E30,
-+ 0x024E,0x2256,0x0314,0x02D7,0x129B,0x0303,0x1BC7,0x01CC,0x1586,0x0752,
-+ 0x194C,0x168E,0x1099,0x10A5,0x1009,0x016A,0x0BA6,0x0DCC,0x0124,0x15A3,
-+ 0x2152,0x1072,0x0EBC,0x2018,0x1EEE,0x1139,0x0CCF,0x1FA1,0x035B,0x19D9,
-+ 0x1029,0x1048,0x1397,0x18D0,0x075B,0x0C55,0x0188,0x19CA,0x2229,0x20D9,
-+ 0x132D,0x0179,0x14A9,0x1A9D,0x1F6C,0x173F,0x18FF,0x12B0,0x00F8,0x14D9,
-+ 0x0CE4,0x0732,0x0169,0x21AA,0x1F0B,0x1F0F,0x16AD,0x0869,0x1DB7,0x0BA8,
-+ 0x1A55,0x0F6D,0x01BD,0x1DDA,0x1E1B,0x096B,0x09FF,0x2327,0x107D,0x0530,
-+ 0x11E3,0x0558,0x16A1,0x0CB0,0x1C7E,0x160F,0x1840,0x187D,0x0EEB,0x14B1,
-+ 0x079E,0x0C22,0x049E,0x0AE3,0x15BB,0x08E4,0x0F4A,0x1920,0x1ECF,0x12DD,
-+ 0x1A01,0x0C2B,0x0507,0x0AF7,0x04B9,0x0E35,0x209F,0x1805,0x1E66,0x1169,
-+ 0x2041,0x1EFC,0x1DDB,0x1E89,0x1EF2,0x1430,0x1DFC,0x1E98,0x0D9A,0x0D03,
-+ 0x0BDF,0x09DC,0x15D5,0x08DB,0x1250,0x0DC6,0x099B,0x07ED,0x1FEE,0x0753,
-+ 0x1C20,0x1EB8,0x17D2,0x23B2,0x1E34,0x22A3,0x0B5F,0x0ED1,0x0960,0x029B,
-+ 0x1977,0x0A7D,0x12A1,0x00C9,0x04D3,0x1271,0x1A74,0x08B8,0x1035,0x231A,
-+ 0x1300,0x047D,0x2202,0x0338,0x115C,0x01A3,0x2209,0x1CFB,0x193F,0x0BE3,
-+ 0x1E1A,0x1445,0x06A8,0x1F9B,0x1307,0x0916,0x0E34,0x1806,0x23CC,0x144C,
-+ 0x214A,0x1CE9,0x22B4,0x198A,0x126E,0x0F82,0x0D80,0x0167,0x0AC9,0x04A1,
-+ 0x184D,0x0E8E,0x190A,0x0268,0x1395,0x20BA,0x170F,0x16E6,0x0601,0x1E81,
-+ 0x1662,0x19B2,0x165E,0x0E3A,0x0D0B,0x0EDC,0x1235,0x23EE,0x0E28,0x0C88,
-+ 0x0C8E,0x2196,0x10B5,0x0BEB,0x230F,0x2367,0x0392,0x1404,0x0AEA,0x1A9B,
-+ 0x0439,0x03FA,0x1DB9,0x1100,0x11C1,0x222B,0x0787,0x007E,0x0E76,0x0261,
-+ 0x06D4,0x18B5,0x1B4A,0x0647,0x0DDB,0x1976,0x05AE,0x0F34,0x0186,0x0068,
-+ 0x1075,0x151F,0x0C3A,0x002C,0x233B,0x0A56,0x0DFA,0x0857,0x137E,0x12B1,
-+ 0x100B,0x0C21,0x0AA4,0x08B4,0x11ED,0x0EEA,0x13EB,0x0614,0x1BD2,0x0356,
-+ 0x16BA,0x1403,0x0AAE,0x0F00,0x1FFD,0x054A,0x01BB,0x2181,0x21CD,0x013B,
-+ 0x1F8D,0x2369,0x08C3,0x1669,0x195B,0x1884,0x02EA,0x1090,0x053C,0x11F2,
-+ 0x0472,0x034A,0x042A,0x223C,0x10AE,0x19A2,0x147E,0x0D6F,0x13AE,0x1CD0,
-+ 0x1FB5,0x093D,0x19D2,0x10C7,0x0258,0x0106,0x1D44,0x1ABC,0x0B3D,0x1F86,
-+ 0x1598,0x12E5,0x013D,0x1234,0x0F8A,0x0C6A,0x2318,0x0993,0x222E,0x1CC1,
-+ 0x106F,0x1A61,0x05BF,0x19B4,0x0EA8,0x03B1,0x1C6C,0x2030,0x0725,0x0E62,
-+ 0x064D,0x1469,0x2211,0x0004,0x1525,0x0B9F,0x0CB9,0x0EFC,0x0D02,0x1A1B,
-+ 0x17C0,0x1C50,0x14C4,0x0C0D,0x1CF1,0x02D0,0x1A92,0x0B26,0x0FDB,0x109E,
-+ 0x0905,0x0E8D,0x1D60,0x1C91,0x23F2,0x111E,0x06F2,0x1A88,0x22F3,0x0AB5,
-+ 0x1D83,0x0FEA,0x05EB,0x1E55,0x056F,0x08B7,0x18E1,0x1CD3,0x0A94,0x0E3E,
-+ 0x0E5F,0x1282,0x0CC7,0x0AB7,0x1DBF,0x0213,0x1BD1,0x044D,0x20EC,0x19E0,
-+ 0x071A,0x0DF1,0x07D5,0x1311,0x0007,0x0F92,0x00C5,0x0433,0x0465,0x073B,
-+ 0x0851,0x1542,0x05E9,0x0D39,0x0A1B,0x17F6,0x114D,0x0A9F,0x00A4,0x1A98,
-+ 0x0ACD,0x1835,0x1D8A,0x0649,0x1002,0x1038,0x1E7B,0x0FF2,0x1CF4,0x21B8,
-+ 0x1A58,0x0FE4,0x038E,0x1458,0x1538,0x1550,0x025A,0x0B82,0x16F0,0x0191,
-+ 0x171D,0x081E,0x0BD4,0x15DA,0x0849,0x21E2,0x0B7F,0x1A0F,0x18B6,0x1FD7,
-+ 0x02B9,0x04C1,0x0289,0x1F55,0x13DD,0x0FE1,0x1B1D,0x191D,0x17BB,0x0E4E,
-+ 0x0175,0x1AC6,0x0044,0x23AD,0x1D03,0x210F,0x17C7,0x05E8,0x0CC0,0x00D1,
-+ 0x0A60,0x0B3A,0x2299,0x2311,0x13E8,0x0BC8,0x0AC8,0x1E07,0x0380,0x0D50,
-+ 0x0B56,0x0555,0x2143,0x0479,0x1545,0x1285,0x13E6,0x1926,0x2042,0x2075,
-+ 0x1D79,0x2362,0x206A,0x187F,0x14B7,0x138E,0x1AA0,0x1C2D,0x0899,0x22CD,
-+ 0x115B,0x00D4,0x1014,0x1701,0x02CB,0x0028,0x1A2F,0x1FFA,0x21EE,0x16C3,
-+ 0x1158,0x15CE,0x1831,0x1639,0x04B7,0x00CE,0x0431,0x011F,0x1D35,0x23ED,
-+ 0x093F,0x0B91,0x0ED2,0x0EDA,0x0369,0x1BC3,0x0B1A,0x21C3,0x040A,0x206C,
-+ 0x17F9,0x1FB9,0x0CAD,0x1938,0x1661,0x0E19,0x1C1F,0x0A68,0x079B,0x1580,
-+ 0x0005,0x1D56,0x0CBD,0x0306,0x1F3E,0x0872,0x1D2C,0x0A3A,0x06E9,0x1B43,
-+ 0x0C8D,0x0113,0x0023,0x1675,0x0218,0x026D,0x1622,0x22A1,0x03F0,0x177F,
-+ 0x20F4,0x0EF3,0x1D96,0x2281,0x053E,0x0CD2,0x0C70,0x159E,0x1691,0x0713,
-+ 0x1F5E,0x205B,0x15C6,0x1C09,0x16E0,0x04CF,0x1C1C,0x0C74,0x15E5,0x12F7,
-+ 0x16D8,0x2245,0x07E2,0x0566,0x0345,0x1FE2,0x2093,0x114B,0x19D8,0x0313,
-+ 0x2108,0x1E09,0x2110,0x1FA8,0x03F6,0x0D93,0x0BD8,0x067F,0x06DE,0x2242,
-+ 0x2282,0x120F,0x04E5,0x0E97,0x05DE,0x1D9B,0x09C1,0x19C8,0x029D,0x19A4,
-+ 0x18BB,0x12F5,0x13D5,0x1AB3,0x11CF,0x0D59,0x094A,0x1574,0x16F6,0x0C08,
-+ 0x22C3,0x20BB,0x18E3,0x0A73,0x1842,0x093E,0x1114,0x1211,0x1733,0x09DA,
-+ 0x1ABE,0x1BD0,0x202F,0x0E41,0x222F,0x1F94,0x0D21,0x0553,0x08F0,0x10DA,
-+ 0x0711,0x11FE,0x1B52,0x07BC,0x0BF3,0x076F,0x0AD1,0x0D1E,0x004F,0x170D,
-+ 0x107A,0x1103,0x0681,0x02D2,0x0FA7,0x10DD,0x12D4,0x2083,0x0D9F,0x1DEB,
-+ 0x0422,0x1776,0x1767,0x029F,0x0C7A,0x10E1,0x1C11,0x08D6,0x069A,0x1F47,
-+ 0x14AA,0x1810,0x0CF6,0x09A3,0x0235,0x180A,0x1708,0x0A72,0x1BEC,0x1026,
-+ 0x1754,0x0B0B,0x043A,0x2040,0x1119,0x0612,0x0628,0x1187,0x14B4,0x157F,
-+ 0x1DB3,0x0156,0x01F9,0x082C,0x13FB,0x1218,0x0003,0x19CC,0x1764,0x14DC,
-+ 0x1F30,0x0011,0x0AA1,0x096F,0x14FE,0x23C3,0x0CAE,0x04DB,0x0F18,0x1F4A,
-+ 0x039B,0x15E1,0x08CB,0x0ADF,0x1FDF,0x1B50,0x08ED,0x1721,0x2296,0x040F,
-+ 0x1A29,0x128E,0x0C84,0x218A,0x01CA,0x1D78,0x05D8,0x0D19,0x0B94,0x13C0,
-+ 0x02E8,0x0426,0x2272,0x10ED,0x1179,0x1E4D,0x1781,0x0219,0x21A9,0x0088,
-+ 0x2091,0x19E4,0x115A,0x1116,0x17D0,0x1A49,0x14B2,0x0DAD,0x0608,0x1F6E,
-+ 0x2001,0x1BE0,0x17F0,0x0897,0x004C,0x11C3,0x22E3,0x05C8,0x06E5,0x1678,
-+ 0x140D,0x1BA9,0x05FC,0x08E3,0x096D,0x03A9,0x092C,0x17F8,0x04BF,0x0902,
-+ 0x16DB,0x1EE2,0x15E7,0x12E2,0x05AF,0x0C64,0x1345,0x03F2,0x128A,0x0811,
-+ 0x0716,0x0582,0x031F,0x13DF,0x1E47,0x1B1C,0x0E77,0x1EE3,0x22B2,0x1FBA,
-+ 0x0E2D,0x2082,0x1A8D,0x1596,0x11B4,0x129C,0x1F95,0x1710,0x1A57,0x1736,
-+ 0x0D84,0x1B34,0x1D30,0x0D95,0x0B6E,0x1F2A,0x0E64,0x060B,0x0A91,0x0CE9,
-+ 0x14A7,0x20B3,0x1442,0x1803,0x195C,0x06B2,0x11F9,0x10DF,0x1784,0x0B53,
-+ 0x10BA,0x1317,0x1420,0x114F,0x1871,0x17C2,0x0742,0x16A2,0x06EC,0x19B7,
-+ 0x0367,0x0C2E,0x129E,0x06CF,0x0D01,0x0FE7,0x03A8,0x08C4,0x124D,0x139C,
-+ 0x04AB,0x1CC5,0x0574,0x082B,0x1C79,0x126C,0x216F,0x023B,0x17D5,0x066A,
-+ 0x0F01,0x0AE6,0x06F0,0x13B6,0x1227,0x0A78,0x230E,0x2348,0x222A,0x0FF4,
-+ 0x1E9B,0x1FD8,0x136A,0x2335,0x10AC,0x134B,0x1939,0x0273,0x0BC4,0x01E3,
-+ 0x1D37,0x1AA8,0x0123,0x0609,0x069E,0x03B5,0x1874,0x1896,0x22DA,0x08B3,
-+ 0x04B4,0x0304,0x1FCD,0x0F6F,0x04B6,0x0A77,0x02A2,0x2109,0x2393,0x23B5,
-+ 0x21B5,0x2330,0x1CD7,0x15D6,0x0ACB,0x0F94,0x20DE,0x0836,0x1C7A,0x0FFE,
-+ 0x1645,0x15AD,0x188B,0x184A,0x1B41,0x158E,0x046D,0x173E,0x0B40,0x0378,
-+ 0x0281,0x0F3D,0x11AC,0x1D70,0x1BF9,0x101E,0x145C,0x0083,0x058E,0x160C,
-+ 0x1FA6,0x1364,0x1FF1,0x0E48,0x0992,0x086C,0x16D6,0x08DA,0x0C40,0x0253,
-+ 0x03F9,0x2065,0x2032,0x03B0,0x1281,0x2118,0x1F23,0x1722,0x22FA,0x0328,
-+ 0x01AA,0x146A,0x12C4,0x2329,0x03EF,0x0DF3,0x0C53,0x09EA,0x01C4,0x1FCA,
-+ 0x1792,0x09D9,0x1540,0x1F6A,0x0279,0x0145,0x1AA7,0x013F,0x1E19,0x15B6,
-+ 0x000D,0x0A53,0x186E,0x217F,0x0CE3,0x1853,0x1A11,0x1936,0x1828,0x08BD,
-+ 0x08DF,0x1EA8,0x12EE,0x1D0C,0x1664,0x20DF,0x04DE,0x083A,0x0D24,0x2361,
-+ 0x0F2B,0x2354,0x126F,0x109B,0x1DF8,0x174F,0x09A0,0x0D53,0x00C2,0x06BA,
-+ 0x087C,0x0CC3,0x21B9,0x128C,0x01A1,0x0688,0x1162,0x0C7C,0x1C27,0x20D0,
-+ 0x0A6B,0x1B44,0x002D,0x119B,0x1855,0x102F,0x19BB,0x20FB,0x11C8,0x05FB,
-+ 0x058A,0x1C5F,0x1CE6,0x09C7,0x192F,0x0E1D,0x03CB,0x20EA,0x1CC3,0x01DB,
-+ 0x05C9,0x1B60,0x069B,0x001D,0x2295,0x1C4E,0x0A40,0x105F,0x0141,0x01AC,
-+ 0x0640,0x032D,0x15B5,0x229F,0x1E17,0x19F0,0x194F,0x0102,0x0675,0x0B5B,
-+ 0x203A,0x1010,0x1412,0x02E7,0x155C,0x176A,0x0866,0x21A1,0x18E9,0x0565,
-+ 0x12CA,0x1F44,0x1274,0x1B32,0x0260,0x196F,0x1838,0x13C3,0x003F,0x19C6,
-+ 0x01C6,0x1600,0x0EDF,0x0FD1,0x0A69,0x0062,0x1ED0,0x0F56,0x0377,0x2333,
-+ 0x0EA5,0x0350,0x1DF1,0x19A6,0x224B,0x0EA0,0x112D,0x204D,0x04D2,0x1613,
-+ 0x1793,0x0817,0x1D4E,0x1BF2,0x1913,0x0233,0x0B34,0x0A71,0x109C,0x1775,
-+ 0x0CDD,0x02DE,0x1EB4,0x1C28,0x021C,0x1D1C,0x1C93,0x1189,0x1999,0x16AC,
-+ 0x1670,0x1738,0x1E2A,0x2078,0x14BD,0x00EA,0x0898,0x1015,0x0EFA,0x19D7,
-+ 0x113E,0x1630,0x1DBB,0x0EC9,0x1560,0x1FC8,0x16EC,0x10E3,0x0CF2,0x07C8,
-+ 0x1174,0x0C5A,0x002E,0x1DB1,0x01D6,0x07E7,0x18CD,0x19A8,0x0CC5,0x0D5C,
-+ 0x1541,0x12CC,0x0BE9,0x0A1C,0x21CF,0x0171,0x067B,0x1DE3,0x1EE8,0x022B,
-+ 0x17A9,0x19AB,0x0D20,0x1C03,0x1E45,0x0E80,0x0B19,0x107F,0x124F,0x18AE,
-+ 0x1907,0x1614,0x18BD,0x0A9B,0x059B,0x0D70,0x12F3,0x10C5,0x2140,0x0BB4,
-+ 0x2384,0x01F7,0x0748,0x0FFB,0x13B3,0x01AD,0x076D,0x1083,0x1125,0x0018,
-+ 0x1C39,0x0925,0x19EF,0x0E4F,0x210C,0x159F,0x037E,0x0A62,0x219E,0x211C,
-+ 0x1C54,0x0BE0,0x1E02,0x09BA,0x1CBB,0x147B,0x1389,0x0B68,0x1023,0x23CB,
-+ 0x0E75,0x1086,0x1145,0x0BE4,0x1BFD,0x2059,0x2007,0x0022,0x05D5,0x1BF6,
-+ 0x02F0,0x1D1D,0x129A,0x06E4,0x0F47,0x0673,0x0ADD,0x0871,0x1C52,0x1449,
-+ 0x232C,0x1E67,0x085B,0x20AE,0x0B74,0x16A7,0x0B85,0x1717,0x0FC7,0x0DFB,
-+ 0x097F,0x0624,0x1CD6,0x15AF,0x0EFB,0x0E42,0x03B9,0x1369,0x0927,0x047C,
-+ 0x0D5A,0x0982,0x0E7F,0x217C,0x02D5,0x06DD,0x1E79,0x0D9D,0x1964,0x1153,
-+ 0x1F70,0x04CD,0x1123,0x22F1,0x1F2D,0x1EA4,0x19B6,0x1C3B,0x1356,0x0E01,
-+ 0x16C7,0x11C9,0x191A,0x09AC,0x1DE6,0x1FDC,0x0581,0x1F04,0x1178,0x06AB,
-+ 0x1D06,0x0A48,0x0F5B,0x1E4A,0x15D2,0x0FF8,0x01C3,0x1A14,0x0D17,0x086D,
-+ 0x0CEF,0x1D50,0x03CF,0x0B3E,0x003D,0x06AC,0x008B,0x1185,0x1732,0x11BD,
-+ 0x12F8,0x03B8,0x1068,0x18A2,0x1BA0,0x10F0,0x0868,0x03E6,0x1DC8,0x1AA2,
-+ 0x1B13,0x1C82,0x0055,0x099F,0x2222,0x034B,0x179D,0x1E6F,0x1261,0x0FC8,
-+ 0x166D,0x1F42,0x127F,0x0C9B,0x00B9,0x1D26,0x181D,0x1320,0x09AE,0x01DA,
-+ 0x1A35,0x05E3,0x04D6,0x1141,0x1BB2,0x0669,0x1B70,0x1F22,0x1B9D,0x19BE,
-+ 0x0D2A,0x1057,0x0A3B,0x11D3,0x157B,0x1B49,0x14F7,0x095D,0x0A88,0x0126,
-+ 0x031B,0x03DE,0x1422,0x0BF8,0x1030,0x1F34,0x210B,0x1B12,0x0379,0x0806,
-+ 0x1252,0x18A0,0x1778,0x1EE7,0x23C6,0x1611,0x22EC,0x0BE8,0x0950,0x1008,
-+ 0x0906,0x1D51,0x10A2,0x1DAE,0x22D8,0x1499,0x152F,0x0D08,0x00DB,0x0860,
-+ 0x0162,0x0AD3,0x2233,0x18A6,0x0DD2,0x1477,0x11B3,0x1CBD,0x2043,0x183A,
-+ 0x1077,0x15E6,0x1FEA,0x0FE8,0x0396,0x0B0A,0x1296,0x0049,0x2303,0x1818,
-+ 0x03A2,0x03F8,0x1225,0x05ED,0x15D4,0x030D,0x089D,0x107E,0x0A43,0x14A0,
-+ 0x235C,0x1426,0x0733,0x0D1C,0x1B96,0x09CE,0x155D,0x0F6E,0x238C,0x0876,
-+ 0x1DE0,0x1223,0x0FEF,0x078B,0x1EC2,0x09BF,0x1D52,0x1FA4,0x202B,0x14E1,
-+ 0x0864,0x1F78,0x0FA9,0x1821,0x0E38,0x06A6,0x0211,0x1F9E,0x020A,0x1AF2,
-+ 0x0981,0x1CC0,0x0766,0x1047,0x1EA9,0x0C16,0x1BE8,0x0464,0x22C8,0x183B,
-+ 0x0B32,0x2106,0x0D79,0x14F5,0x0A33,0x18D4,0x0482,0x0158,0x13E2,0x1651,
-+ 0x03C6,0x1750,0x1A5A,0x1C3C,0x1825,0x1DFB,0x1D76,0x2218,0x1F16,0x08EE,
-+ 0x210A,0x0747,0x0DF5,0x0CD3,0x10D3,0x1BBA,0x1F5D,0x1A78,0x19C7,0x177E,
-+ 0x13F0,0x2315,0x1F82,0x0922,0x22C6,0x17CC,0x1A50,0x1FE5,0x193D,0x122D,
-+ 0x03E3,0x07C9,0x20B0,0x217A,0x23F4,0x0DFD,0x1268,0x080E,0x192D,0x0698,
-+ 0x1EAF,0x170A,0x1E60,0x1947,0x1CE1,0x10BB,0x1505,0x016E,0x207B,0x11E7,
-+ 0x1F85,0x0F72,0x191E,0x2015,0x04AD,0x0AC1,0x1D73,0x2003,0x02F9,0x1C26,
-+ 0x1F64,0x0C7D,0x0B2D,0x004D,0x1E2B,0x1432,0x026C,0x1E04,0x218C,0x0CE1,
-+ 0x000F,0x0A01,0x16D0,0x20C8,0x0E25,0x0C09,0x2199,0x091A,0x0E3B,0x0F5F,
-+ 0x0D5E,0x223D,0x025D,0x0699,0x00DD,0x20EB,0x1352,0x1B92,0x21A4,0x1E10,
-+ 0x05E5,0x1292,0x0750,0x0552,0x0061,0x0058,0x07CB,0x02B6,0x12F0,0x0F67,
-+ 0x070D,0x1837,0x196B,0x09F7,0x153F,0x0BEE,0x1769,0x0B00,0x1142,0x1AE9,
-+ 0x1B98,0x1B8A,0x11A8,0x1DD2,0x16D2,0x1C7C,0x0F38,0x0F3B,0x1601,0x0151,
-+ 0x0320,0x1085,0x0B61,0x0DAF,0x1308,0x0E21,0x0371,0x1F7C,0x04DD,0x0F49,
-+ 0x1146,0x169C,0x1E31,0x1258,0x1E50,0x1F8B,0x205F,0x145A,0x084D,0x23B8,
-+ 0x0FAF,0x2055,0x160E,0x13D7,0x0908,0x0A7C,0x1022,0x0AC5,0x02DA,0x1962,
-+ 0x1F9F,0x0467,0x1E9C,0x04E3,0x0F4E,0x1DF9,0x23A5,0x10E7,0x11A9,0x215F,
-+ 0x117E,0x223A,0x149E,0x01E6,0x18D6,0x03B7,0x104B,0x0FBB,0x1273,0x18C9,
-+ 0x0A4A,0x215A,0x024C,0x1378,0x1ED2,0x212D,0x0F22,0x1F99,0x212E,0x2044,
-+ 0x10D0,0x22D2,0x20F7,0x19B5,0x1416,0x1741,0x20B6,0x1159,0x23A6,0x186D,
-+ 0x0515,0x04A8,0x2171,0x0E9E,0x2325,0x111B,0x1EC8,0x1620,0x1687,0x22BC,
-+ 0x059F,0x06E7,0x11DD,0x1C88,0x2125,0x0FAA,0x10DB,0x1854,0x1410,0x141C,
-+ 0x23AF,0x21D6,0x0B8C,0x0AD9,0x0B6B,0x0597,0x0C06,0x0619,0x198F,0x0339,
-+ 0x0802,0x0859,0x0107,0x0410,0x208A,0x2291,0x0E10,0x1DA6,0x19AA,0x0324,
-+ 0x10FB,0x049A,0x0CAC,0x2252,0x0299,0x0FD0,0x1DE7,0x086E,0x0FFA,0x09FA,
-+ 0x23C8,0x18C7,0x0489,0x2195,0x1802,0x19F2,0x1967,0x0FBF,0x02EE,0x0AE4,
-+ 0x0B63,0x1509,0x178F,0x0843,0x05E7,0x0613,0x1739,0x065A,0x0201,0x06D7,
-+ 0x21DA,0x11F4,0x0503,0x090D,0x0E32,0x09A8,0x1B5A,0x1EFB,0x20BF,0x11F1,
-+ 0x1D40,0x1DF2,0x1E75,0x01B0,0x0BCE,0x1346,0x1D5C,0x0546,0x1B0E,0x07B4,
-+ 0x11E8,0x018A,0x19E6,0x0177,0x134E,0x18E2,0x1546,0x0861,0x054C,0x0119,
-+ 0x1A77,0x1CEF,0x1110,0x1953,0x1CD9,0x0B65,0x0CD0,0x1E5A,0x1E0F,0x07EB,
-+ 0x13C2,0x1949,0x16E3,0x0409,0x007F,0x1CFF,0x0485,0x14D0,0x0CD1,0x0E46,
-+ 0x055E,0x1C48,0x016F,0x1C7B,0x1109,0x18B2,0x0ED5,0x13B0,0x0DFF,0x2061,
-+ 0x0795,0x2076,0x1A4A,0x029C,0x13BF,0x119A,0x1819,0x227A,0x0388,0x1C24,
-+ 0x036E,0x1D82,0x0F4B,0x084E,0x23EB,0x13A1,0x0632,0x13DC,0x150A,0x0112,
-+ 0x05A4,0x073C,0x161D,0x04AC,0x2283,0x0D0A,0x172E,0x2142,0x0319,0x1673,
-+ 0x17D6,0x0F73,0x0E26,0x14E6,0x1F46,0x13E0,0x1841,0x130E,0x2363,0x10CE,
-+ 0x0980,0x15A2,0x1FC7,0x04D9,0x11A2,0x0CA8,0x00EF,0x07BF,0x1C12,0x09DE,
-+ 0x0AE0,0x00DF,0x0D49,0x06C0,0x206E,0x1EE1,0x0A38,0x22F8,0x1DC7,0x0A79,
-+ 0x1800,0x179B,0x1386,0x1A22,0x01D2,0x094E,0x125C,0x2244,0x1746,0x0EDE,
-+ 0x002A,0x1CA7,0x099A,0x07E4,0x0264,0x1C6F,0x2389,0x0987,0x1F3D,0x1E88,
-+ 0x02E0,0x0D44,0x0E6C,0x1E8F,0x0F55,0x2066,0x1CC4,0x0917,0x1DB8,0x089F,
-+ 0x0615,0x11A5,0x12C8,0x0A42,0x079C,0x0D13,0x0B6A,0x131F,0x136C,0x04AE,
-+ 0x130D,0x16F8,0x01A0,0x13C7,0x0B4C,0x2279,0x0196,0x1464,0x0F60,0x0231,
-+ 0x19A0,0x1E9A,0x0397,0x170B,0x133C,0x2265,0x017C,0x1C78,0x048C,0x08D0,
-+ 0x06A4,0x071C,0x0BBA,0x0DE7,0x0B3F,0x0229,0x1EAD,0x140A,0x037B,0x0EC6,
-+ 0x0E16,0x0442,0x1894,0x156C,0x0F8F,0x23A1,0x0DCE,0x13CD,0x1AA4,0x0E59,
-+ 0x162B,0x1AA9,0x1BFB,0x09A7,0x1703,0x0A81,0x2056,0x21BC,0x078F,0x07AD,
-+ 0x1A24,0x0F31,0x19F3,0x09E6,0x11CD,0x23B6,0x234F,0x0FD2,0x196D,0x06D6,
-+ 0x035A,0x0AFA,0x005E,0x035C,0x1AB9,0x15A4,0x1318,0x0132,0x08D9,0x0512,
-+ 0x1693,0x0DB0,0x16A6,0x07FC,0x0B02,0x1D0D,0x09F0,0x21F5,0x0799,0x13E3,
-+ 0x0768,0x0EF9,0x1176,0x014A,0x15C1,0x0BA1,0x0E99,0x112B,0x1AAE,0x1C0B,
-+ 0x0178,0x1C69,0x1C0F,0x0130,0x1FC2,0x0E45,0x1694,0x1F0D,0x1A79,0x0911,
-+ 0x0FE9,0x09AF,0x18C2,0x1B67,0x1DF3,0x0B01,0x14B5,0x1DFD,0x0DCD,0x161E,
-+ 0x19A1,0x19E5,0x1500,0x14C9,0x0B2A,0x2366,0x1B46,0x14F4,0x0B5C,0x063E,
-+ 0x03E1,0x0CA5,0x04F7,0x1409,0x0EC3,0x1D5D,0x012C,0x1277,0x1310,0x1214,
-+ 0x112E,0x1F80,0x0AD6,0x1FD6,0x105B,0x226C,0x1F41,0x19CF,0x2033,0x0D29,
-+ 0x03CA,0x1A47,0x0756,0x125A,0x06F4,0x1B53,0x0527,0x1D91,0x20CE,0x1975,
-+ 0x0072,0x1431,0x1EEF,0x0BD0,0x0BE1,0x0C01,0x00E1,0x0A7A,0x23E6,0x0323,
-+ 0x219F,0x1367,0x07A2,0x1CB6,0x2191,0x0CB2,0x234A,0x1288,0x17DD,0x030B,
-+ 0x15F2,0x02A8,0x0D83,0x04BD,0x2347,0x0522,0x051B,0x225A,0x228A,0x1B9F,
-+ 0x13F9,0x1B7C,0x1D7F,0x0A30,0x0220,0x1C3F,0x22EA,0x1680,0x0FC9,0x1190,
-+ 0x1EF1,0x21CC,0x155E,0x20DD,0x0F27,0x13F6,0x07FF,0x0F71,0x1E6A,0x05B9,
-+ 0x0F0A,0x2228,0x02E9,0x0ACE,0x205C,0x01E5,0x200B,0x002F,0x1E27,0x0116,
-+ 0x1B38,0x190C,0x2307,0x07EA,0x152C,0x04C8,0x01FE,0x199B,0x1001,0x1535,
-+ 0x0930,0x1EC9,0x086A,0x0080,0x141E,0x1066,0x16DF,0x0C79,0x1E42,0x0A4C,
-+ 0x0667,0x1B7F,0x1679,0x1A3C,0x1A25,0x00E6,0x0611,0x0518,0x0B87,0x16F9,
-+ 0x22B0,0x1C3A,0x14FD,0x04BC,0x080F,0x21BF,0x1943,0x0266,0x1124,0x002B,
-+ 0x0670,0x01AB,0x1EC5,0x08B6,0x091D,0x0FA6,0x0541,0x20DC,0x0E65,0x0128,
-+ 0x08C9,0x11E5,0x1647,0x0D3D,0x01B8,0x1C61,0x2319,0x200C,0x1053,0x1027,
-+ 0x05F8,0x1A27,0x1133,0x210D,0x11E6,0x0935,0x054B,0x0754,0x02C6,0x0723,
-+ 0x0852,0x106B,0x161F,0x10B1,0x0E81,0x2054,0x156B,0x1113,0x22C5,0x21B7,
-+ 0x0AC0,0x042B,0x17DB,0x01B9,0x0CA2,0x055B,0x1A87,0x0D62,0x0A47,0x077F,
-+ 0x1D25,0x0FB5,0x1F3F,0x04E0,0x16C2,0x011D,0x158C,0x209C,0x0D6E,0x18FE,
-+ 0x05DD,0x1C05,0x123E,0x1BC6,0x0892,0x232B,0x1E3F,0x11B6,0x10B6,0x144A,
-+ 0x203F,0x02AD,0x2237,0x1BB3,0x03EB,0x0BBC,0x0311,0x1054,0x011E,0x1712,
-+ 0x05C2,0x2129,0x0292,0x22D0,0x0E6F,0x1F17,0x2234,0x16B6,0x00B5,0x1502,
-+ 0x0B0E,0x1299,0x2170,0x08C0,0x1BD4,0x1475,0x141B,0x0D00,0x2026,0x0318,
-+ 0x1567,0x0A4E,0x03E9,0x1CDC,0x23A8,0x1D8E,0x0DD8,0x0470,0x0286,0x1C22,
-+ 0x1315,0x1785,0x048F,0x1786,0x1EE0,0x0B37,0x0952,0x02BE,0x0873,0x04DF,
-+ 0x2101,0x0FCD,0x04B0,0x059D,0x1FCF,0x05E0,0x1C7F,0x0CBE,0x0461,0x024A,
-+ 0x027C,0x05F4,0x092A,0x0DC9,0x01E7,0x1147,0x03B2,0x1AB8,0x0238,0x174C,
-+ 0x02B2,0x1C6E,0x04D8,0x0DBC,0x1AB1,0x17FF,0x1443,0x054F,0x1128,0x0370,
-+ 0x14CC,0x1F35,0x1173,0x0A03,0x1D32,0x12D1,0x02AB,0x09DB,0x153D,0x1425,
-+ 0x122F,0x06BD,0x17B8,0x1579,0x0890,0x1B0F,0x1050,0x0DDF,0x23E3,0x1860,
-+ 0x1203,0x11D5,0x0EBB,0x0A80,0x00B7,0x1951,0x15B7,0x1FF3,0x0D14,0x143D,
-+ 0x164C,0x0E67,0x0C91,0x01F4,0x2243,0x1474,0x03A4,0x2147,0x0270,0x10C9,
-+ 0x116F,0x127D,0x0B1E,0x10FC,0x1A0A,0x1846,0x1F63,0x1067,0x0BB3,0x191F,
-+ 0x0EA6,0x0EEF,0x1E29,0x18B9,0x2079,0x090C,0x16FD,0x0EB4,0x0BC9,0x2098,
-+ 0x080A,0x0183,0x1BFE,0x1631,0x0769,0x1DD8,0x142F,0x0F66,0x1316,0x02A9,
-+ 0x22EE,0x1C4F,0x0285,0x1013,0x065D,0x0C2D,0x0466,0x033E,0x00E7,0x1900,
-+ 0x226F,0x1276,0x03AE,0x0EA1,0x23E7,0x174D,0x216C,0x1CA1,0x1A06,0x0665,
-+ 0x1461,0x2260,0x1F7D,0x1156,0x14E8,0x1327,0x0257,0x089A,0x15DF,0x16F4,
-+ 0x0EB9,0x03B3,0x0EAD,0x0FD9,0x085D,0x1259,0x1BA8,0x1E90,0x114C,0x2236,
-+ 0x02C7,0x1E53,0x2115,0x1D33,0x1FF5,0x1AFD,0x185D,0x06EE,0x0DC0,0x078C,
-+ 0x0AF4,0x15D1,0x0030,0x2131,0x1EB6,0x06E0,0x06B6,0x038C,0x05A8,0x080C,
-+ 0x0E98,0x1682,0x1DC0,0x1340,0x13B7,0x1C1B,0x0434,0x1AB5,0x1CAB,0x1A1C,
-+ 0x07D0,0x1ABB,0x22C1,0x0F08,0x027D,0x1238,0x1591,0x07F7,0x0D30,0x13F8,
-+ 0x1909,0x212B,0x1826,0x0749,0x0D06,0x0D2E,0x104F,0x1F39,0x09EB,0x0EF6,
-+ 0x22E6,0x16F1,0x0AEE,0x116B,0x17DE,0x0B12,0x0322,0x0BEA,0x064C,0x03D9,
-+ 0x2374,0x0CA4,0x1293,0x0E5C,0x04B3,0x03A0,0x13AD,0x0E33,0x0353,0x081A,
-+ 0x0BB2,0x0DA3,0x1E01,0x1322,0x0EBE,0x0D0E,0x0DBB,0x11A3,0x1B57,0x16FF,
-+ 0x0298,0x1A8F,0x09EF,0x08AD,0x1877,0x22AC,0x147A,0x1B36,0x095A,0x1B08,
-+ 0x0455,0x10AD,0x0343,0x1B16,0x0CF8,0x082E,0x144D,0x1A37,0x1B5D,0x0702,
-+ 0x09C4,0x1E16,0x157A,0x1965,0x0A63,0x1C6D,0x0D9E,0x0ED8,0x1E57,0x05CC,
-+ 0x1758,0x008D,0x0BFE,0x1168,0x04ED,0x1917,0x2251,0x1074,0x2356,0x1719,
-+ 0x1D3B,0x1FBE,0x22AA,0x14C8,0x211F,0x16D1,0x124B,0x2241,0x1C08,0x0AAC,
-+ 0x0F06,0x12B5,0x01FB,0x1C72,0x0089,0x23B3,0x02BA,0x15A5,0x1A00,0x1483,
-+ 0x13F2,0x2016,0x1AEB,0x2187,0x0BF7,0x07FA,0x2005,0x1516,0x13D6,0x0122,
-+ 0x0420,0x039D,0x0193,0x193B,0x2360,0x0453,0x0A75,0x0BD9,0x1197,0x1923,
-+ 0x1DB5,0x2225,0x1194,0x2058,0x0E9F,0x1106,0x06A1,0x02F5,0x1B63,0x00FF,
-+ 0x1F4C,0x2289,0x0CE0,0x1F1D,0x1247,0x19AE,0x1FC0,0x182E,0x05B3,0x0DB2,
-+ 0x229C,0x0E3D,0x232D,0x1961,0x1B95,0x0CA9,0x1A9E,0x183F,0x0203,0x1E76,
-+ 0x16BB,0x00B1,0x0A3F,0x237E,0x08A8,0x1B6E,0x0B2B,0x215B,0x119E,0x0945,
-+ 0x0F86,0x0A4B,0x12C7,0x1616,0x046B,0x20A3,0x0454,0x0405,0x0C19,0x1A08,
-+ 0x1E33,0x10BD,0x1861,0x2135,0x0C23,0x0F36,0x0C5C,0x049B,0x032F,0x1A19,
-+ 0x03DC,0x1E84,0x011C,0x1E61,0x096E,0x1F66,0x0798,0x104C,0x1C62,0x1E73,
-+ 0x03E4,0x0638,0x190D,0x1AF6,0x17EF,0x10FD,0x1B0D,0x1263,0x1512,0x09A5,
-+ 0x1439,0x0EF7,0x041D,0x04BA,0x08D4,0x1714,0x1B62,0x164F,0x1787,0x114A,
-+ 0x05B2,0x1812,0x0D33,0x176E,0x1480,0x12FA,0x0E61,0x084B,0x0801,0x079A,
-+ 0x2034,0x154A,0x23BC,0x20A9,0x1985,0x2286,0x148C,0x0DC2,0x06D8,0x1D4C,
-+ 0x183D,0x1A41,0x22DD,0x21F1,0x103C,0x14BC,0x0827,0x0850,0x157D,0x02BD,
-+ 0x03BF,0x00DE,0x0C9E,0x1CB7,0x1BF8,0x0805,0x20A8,0x1DA1,0x1F50,0x1DA0,
-+ 0x0DA0,0x068E,0x1979,0x0650,0x1F52,0x2239,0x0594,0x1534,0x1C38,0x0351,
-+ 0x0DE3,0x1672,0x21E3,0x10AB,0x11BC,0x1788,0x1547,0x2071,0x07DE,0x012F,
-+ 0x22AF,0x2377,0x179A,0x12B3,0x0CF3,0x0B92,0x0BB7,0x070F,0x11CA,0x2039,
-+ 0x0DAA,0x1521,0x0278,0x0F4D,0x0C87,0x0956,0x0967,0x067E,0x08B0,0x11AF,
-+ 0x051F,0x099E,0x0C78,0x0E27,0x19BD,0x1DCC,0x15F1,0x01F5,0x1453,0x043E,
-+ 0x1E8C,0x018F,0x1B54,0x2166,0x1BBC,0x1FE8,0x059A,0x0C6B,0x00C7,0x1E92,
-+ 0x13DE,0x0B3B,0x05E4,0x15EE,0x22A9,0x2090,0x2276,0x0631,0x105D,0x2038,
-+ 0x195A,0x17E5,0x1AFF,0x10A8,0x0384,0x0886,0x0456,0x1599,0x0B4E,0x1D47,
-+ 0x1830,0x051E,0x1C3D,0x20E1,0x1895,0x2092,0x10E9,0x07C6,0x23BD,0x201A,
-+ 0x209A,0x04C4,0x0315,0x019B,0x237C,0x047A,0x23FC,0x11A6,0x195F,0x2006,
-+ 0x1328,0x1CCE,0x1DEA,0x0970,0x0067,0x058D,0x1934,0x2120,0x01C5,0x2263,
-+ 0x04FD,0x1AE1,0x125E,0x1CA0,0x19BC,0x226E,0x0734,0x0BB8,0x0A54,0x19FE,
-+ 0x0E85,0x1FC6,0x0224,0x171C,0x1FFB,0x1115,0x0524,0x133E,0x0EDD,0x2280,
-+ 0x1D2F,0x0200,0x0CB3,0x23FE,0x0F19,0x1569,0x1537,0x19C2,0x08DC,0x1F6D,
-+ 0x068D,0x10F4,0x055A,0x1E30,0x21F0,0x1CF5,0x0D35,0x04A6,0x139D,0x23D3,
-+ 0x0A8D,0x1D3D,0x0763,0x0575,0x1511,0x1676,0x1304,0x0E13,0x10CD,0x0E55,
-+ 0x199E,0x236E,0x1257,0x2288,0x13E5,0x0037,0x1D04,0x04EF,0x100E,0x0FAE,
-+ 0x1E9E,0x067A,0x2320,0x0539,0x21D8,0x07C4,0x045F,0x1D0B,0x1196,0x020E,
-+ 0x1B68,0x04B5,0x031C,0x00FD,0x1184,0x0F7C,0x166C,0x23D2,0x0C9F,0x2380,
-+ 0x0B78,0x0F14,0x18F0,0x05AD,0x0252,0x138A,0x13FA,0x1A93,0x1F01,0x126A,
-+ 0x1D6A,0x11D9,0x182F,0x1492,0x1822,0x0D54,0x16E2,0x05D1,0x1155,0x0C4A,
-+ 0x1F58,0x00A3,0x17E0,0x0CD6,0x1D43,0x0250,0x16F3,0x0CFB,0x0C29,0x0B86,
-+ 0x11A4,0x1ED7,0x14FC,0x10D8,0x0F59,0x2338,0x1C5A,0x0F42,0x142D,0x12FD,
-+ 0x2373,0x11CE,0x0800,0x23E0,0x2025,0x0FFD,0x0A99,0x2264,0x1FF7,0x04A9,
-+ 0x1A67,0x1ED4,0x0BE2,0x21F3,0x1DF4,0x1927,0x04A4,0x1C84,0x0B09,0x11B9,
-+ 0x21A0,0x1D7B,0x1EF7,0x006F,0x18C6,0x1478,0x0985,0x1E23,0x0039,0x1EBC,
-+ 0x13D2,0x0391,0x039C,0x0118,0x1061,0x21C8,0x1A40,0x1EAA,0x175B,0x036C,
-+ 0x204F,0x19BA,0x1F91,0x193A,0x197B,0x0F24,0x176F,0x1592,0x0854,0x0804,
-+ 0x0FD4,0x0A2B,0x16FE,0x0D64,0x0587,0x1F00,0x1539,0x203C,0x1E54,0x01B4,
-+ 0x02E6,0x1B11,0x0A98,0x157C,0x1868,0x0786,0x15C8,0x083C,0x0F84,0x1209,
-+ 0x0B47,0x0F1C,0x0D77,0x188C,0x06C7,0x0521,0x203E,0x1921,0x0996,0x2020,
-+ 0x1E5D,0x12CE,0x0940,0x0309,0x1991,0x12A7,0x1E77,0x0830,0x1B94,0x1C73,
-+ 0x02C4,0x1D86,0x0F0F,0x192B,0x0BFC,0x1451,0x1969,0x09F1,0x010C,0x1865,
-+ 0x09C6,0x1AE8,0x17B7,0x21F8,0x14A1,0x21F6,0x07D7,0x0C36,0x1CB4,0x1883,
-+ 0x1655,0x1DDF,0x0863,0x00F0,0x0961,0x0687,0x1070,0x0FE5,0x072F,0x0BC2,
-+ 0x08C8,0x1AAA,0x0645,0x09CF,0x0FA8,0x2130,0x23CF,0x2246,0x1990,0x1744,
-+ 0x0D4B,0x0090,0x143F,0x166F,0x1DE5,0x0331,0x09CD,0x1447,0x1CEB,0x0D3B,
-+ 0x0CCD,0x2159,0x0F78,0x0251,0x068F,0x07BB,0x0877,0x1A2A,0x0700,0x23C2,
-+ 0x08A2,0x1C98,0x1427,0x0E79,0x15AC,0x0F8B,0x153A,0x0AEC,0x0DEC,0x03EE,
-+ 0x1AE2,0x1F6B,0x13F4,0x1EFA,0x172F,0x1C87,0x1B3F,0x192A,0x1C53,0x1BB1,
-+ 0x0297,0x0772,0x1385,0x173D,0x0707,0x17BD,0x007D,0x1A07,0x08C6,0x1D6F,
-+ 0x09D8,0x1850,0x1C8B,0x180D,0x1CB1,0x148A,0x0492,0x0847,0x0D78,0x0DEF,
-+ 0x0E7E,0x1D3A,0x0E91,0x1888,0x1C59,0x1AE7,0x1FC1,0x154C,0x058C,0x0078,
-+ 0x22BA,0x225B,0x0F5E,0x1A4C,0x0D3E,0x195D,0x06DF,0x02A7,0x14E5,0x0CFC,
-+ 0x16EE,0x0F7D,0x0321,0x178A,0x1097,0x0E0B,0x1479,0x079D,0x1C5B,0x1208,
-+ 0x0B1F,0x0D7C,0x1963,0x0835,0x1C99,0x2226,0x1417,0x045E,0x18E0,0x0051,
-+ 0x1243,0x181E,0x0659,0x172A,0x1373,0x1ABD,0x1F0C,0x1749,0x113A,0x06ED,
-+ 0x09A6,0x027F,0x015D,0x1084,0x022E,0x1A5B,0x1685,0x1D1B,0x0054,0x0FB3,
-+ 0x20CC,0x23A9,0x220B,0x045A,0x1B24,0x2145,0x148B,0x18EC,0x16BC,0x0B9B,
-+ 0x120C,0x18B0,0x02E3,0x1A1D,0x0BE7,0x133D,0x0DE1,0x21D4,0x0357,0x1715,
-+ 0x20A2,0x0A18,0x239D,0x22D6,0x0CD5,0x1942,0x16E9,0x0E54,0x1007,0x069D,
-+ 0x1CB8,0x12DC,0x0381,0x0C93,0x1EFF,0x04E4,0x1C25,0x1FE7,0x20C1,0x0412,
-+ 0x0215,0x1594,0x1BC5,0x217E,0x221C,0x173A,0x1F19,0x1183,0x0765,0x20F8,
-+ 0x05F2,0x130A,0x036D,0x012E,0x06EA,0x0B3C,0x1C42,0x1F43,0x0A95,0x1B8C,
-+ 0x1F36,0x0622,0x04DA,0x2070,0x089E,0x04D4,0x184E,0x1520,0x1CC8,0x127B,
-+ 0x1302,0x13D0,0x0626,0x0429,0x004A,0x18C0,0x2144,0x0A34,0x1AEA,0x1212,
-+ 0x12A2,0x06D2,0x0751,0x1D2B,0x104A,0x133A,0x1E80,0x12F6,0x1C9E,0x1460,
-+ 0x13BA,0x16D9,0x1648,0x1E3A,0x1B29,0x0592,0x11BA,0x1D0E,0x0153,0x0ADB,
-+ 0x15C3,0x1507,0x17FC,0x122C,0x14D7,0x21AD,0x1A53,0x14F2,0x16DC,0x20F1,
-+ 0x118E,0x1AAB,0x04EB,0x0606,0x0D05,0x170E,0x05D9,0x0A83,0x10F7,0x070B,
-+ 0x04F8,0x0B27,0x2224,0x0F97,0x075E,0x180E,0x2194,0x010E,0x0B57,0x1A80,
-+ 0x1610,0x1B19,0x1BAC,0x0B30,0x0376,0x1697,0x0668,0x00EC,0x1256,0x1F74,
-+ 0x110D,0x0807,0x03D1,0x1326,0x0577,0x067C,0x1E5C,0x1D6D,0x06F1,0x075C,
-+ 0x0394,0x0184,0x1E7E,0x12F1,0x0216,0x0990,0x208D,0x1332,0x1044,0x0EF8,
-+ 0x0F70,0x075D,0x042C,0x030E,0x17CB,0x0AA3,0x04B2,0x1A63,0x04FE,0x097E,
-+ 0x213D,0x11DF,0x166B,0x0A2E,0x0664,0x0C75,0x21A3,0x102D,0x1F32,0x1D42,
-+ 0x0A65,0x14BF,0x0B11,0x22B9,0x08AC,0x1394,0x11B7,0x1FAE,0x1CCD,0x1A05,
-+ 0x177D,0x0D81,0x1E85,0x0D88,0x0A5E,0x0330,0x0EC4,0x13D9,0x1583,0x1CA6,
-+ 0x2126,0x0F99,0x158F,0x00F9,0x0176,0x1528,0x1C2B,0x1D69,0x049F,0x0418,
-+ 0x18B4,0x1ACB,0x236F,0x04C5,0x0705,0x0031,0x20B9,0x15B2,0x1FD4,0x18FC,
-+ 0x1A6E,0x21B1,0x0DEA,0x0432,0x1F1B,0x0CB7,0x2011,0x07CC,0x21FD,0x1216,
-+ 0x1F51,0x21AB,0x0974,0x0833,0x06F8,0x1935,0x10B4,0x0164,0x1421,0x1A4D,
-+ 0x1824,0x07DB,0x1551,0x0E53,0x152D,0x23CE,0x0DFE,0x0D51,0x1A6A,0x1E3C,
-+ 0x20B4,0x1BAA,0x0C62,0x0973,0x01E4,0x0035,0x01D7,0x0496,0x1A73,0x1435,
-+ 0x2290,0x22F4,0x1E71,0x0F7B,0x066D,0x0874,0x0DB5,0x0F1A,0x0F2D,0x218F,
-+ 0x17AE,0x0170,0x1BEA,0x1908,0x204A,0x0728,0x0746,0x18B8,0x0242,0x0F17,
-+ 0x1F8A,0x0B10,0x0966,0x1DD5,0x0174,0x07AE,0x1485,0x146C,0x0975,0x1556,
-+ 0x1783,0x2021,0x21E7,0x06DB,0x227D,0x19E7,0x22DC,0x2297,0x1FD1,0x1A26,
-+ 0x07CD,0x233D,0x1B84,0x1E18,0x21CE,0x0EE4,0x2255,0x0862,0x1887,0x057A,
-+ 0x20C9,0x17F4,0x1BDD,0x2284,0x1817,0x0929,0x0079,0x18F3,0x0E14,0x1131,
-+ 0x16B8,0x144E,0x120E,0x16BF,0x058B,0x1C9B,0x05D4,0x0E7B,0x07D3,0x1D27,
-+ 0x1051,0x1E12,0x2157,0x0A89,0x03E0,0x0DC8,0x219B,0x0495,0x04C0,0x090E,
-+ 0x1914,0x1A13,0x05C4,0x1C0D,0x0564,0x178C,0x2069,0x0291,0x08B5,0x0138,
-+ 0x1224,0x14C6,0x14C1,0x1AC7,0x0689,0x1E72,0x1751,0x1E0C,0x2270,0x080D,
-+ 0x1C00,0x03AD,0x1EF8,0x15C9,0x0F28,0x0E40,0x0F9E,0x0344,0x1D58,0x11F5,
-+ 0x1EAC,0x17A7,0x188D,0x05BA,0x1472,0x154E,0x0017,0x05C7,0x1ACD,0x2370,
-+ 0x1140,0x2230,0x0F2E,0x1EB2,0x1CA5,0x1B5E,0x1633,0x09B5,0x08B1,0x1B3E,
-+ 0x0CFE,0x02ED,0x1CEC,0x020F,0x2103,0x13ED,0x0C99,0x07E3,0x00D9,0x1342,
-+ 0x2179,0x03AA,0x13F5,0x124C,0x1EAB,0x15BA,0x0F41,0x02F6,0x1652,0x057E,
-+ 0x0157,0x0BE6,0x09AB,0x148D,0x072A,0x1071,0x09B0,0x0500,0x1B65,0x0A6A,
-+ 0x13A0,0x0F65,0x21BE,0x01FF,0x19B3,0x1CBA,0x109F,0x1EF0,0x0517,0x0307,
-+ 0x18AC,0x0FD5,0x1FEF,0x0F16,0x197E,0x1291,0x078A,0x1657,0x13C1,0x0E7A,
-+ 0x1466,0x07BE,0x164E,0x0419,0x2158,0x0FC4,0x0E7D,0x18D9,0x0942,0x0AEF,
-+ 0x163E,0x2200,0x226D,0x037A,0x1B66,0x0CAF,0x07FB,0x0CEC,0x0D4A,0x0CB6,
-+ 0x000E,0x1ADE,0x1BD5,0x1892,0x15A1,0x1DD1,0x1DBC,0x01EE,0x12E0,0x0671,
-+ 0x0ABB,0x1E0E,0x189F,0x1D9D,0x0DF2,0x0008,0x13CB,0x11B8,0x0571,0x00BA,
-+ 0x0AC3,0x1568,0x070A,0x21B0,0x16EA,0x1000,0x10BF,0x0C8C,0x0AE5,0x186B,
-+ 0x1366,0x12DF,0x2156,0x0C82,0x05CD,0x0B25,0x08CA,0x1695,0x0FCE,0x055F,
-+ 0x0D37,0x1748,0x13DB,0x1E43,0x03E7,0x0D8E,0x095E,0x0AF1,0x0103,0x02F4,
-+ 0x02F8,0x01F6,0x07FD,0x095F,0x1376,0x1643,0x1350,0x1372,0x06E3,0x14D5,
-+ 0x0870,0x15D9,0x20CD,0x128D,0x1878,0x0FC1,0x0907,0x127C,0x0A2C,0x0041,
-+ 0x03F4,0x116C,0x02B1,0x1CEA,0x1A18,0x00FB,0x08DE,0x0660,0x06AA,0x23D1,
-+ 0x0092,0x230C,0x0D91,0x14A3,0x0478,0x0FF7,0x1AF1,0x001A,0x0E69,0x1F5C,
-+ 0x162C,0x19F8,0x141A,0x1FE6,0x100F,0x047F,0x1DAF,0x231E,0x236C,0x1725,
-+ 0x108E,0x0290,0x1006,0x0E74,0x1C0A,0x1E35,0x1B90,0x05A7,0x1C21,0x0F1F,
-+ 0x0514,0x1937,0x22A6,0x0B4A,0x1A3A,0x1217,0x0E50,0x078D,0x2198,0x1B3B,
-+ 0x1A44,0x0BAB,0x2268,0x16D5,0x03F3,0x06D0,0x0523,0x1D45,0x18DB,0x0BA7,
-+ 0x1DBA,0x0776,0x1CFA,0x1E13,0x0271,0x200A,0x0D9B,0x0C4B,0x0588,0x0593,
-+ 0x18E4,0x082A,0x0533,0x1988,0x0317,0x1848,0x0DAB,0x2177,0x1945,0x126B,
-+ 0x0842,0x07B9,0x1DE1,0x06F3,0x224E,0x0AF0,0x0026,0x0240,0x010F,0x18E7,
-+ 0x0E51,0x0947,0x1C35,0x1F28,0x1688,0x07A9,0x1759,0x1608,0x1437,0x0B39,
-+ 0x2009,0x0389,0x0858,0x15BE,0x08A9,0x22D4,0x0EAE,0x015F,0x0337,0x034D,
-+ 0x23D9,0x081D,0x1D74,0x0C26,0x1BD9,0x0651,0x1F7B,0x2008,0x16B5,0x23A2,
-+ 0x05E1,0x1325,0x1E20,0x225F,0x0DED,0x101A,0x1254,0x00A8,0x1F1C,0x1F26,
-+ 0x1C8C,0x0563,0x12D2,0x0821,0x2160,0x115D,0x11EE,0x0232,0x192E,0x1BDF,
-+ 0x05F3,0x0E57,0x11F3,0x044E,0x20B5,0x1BDE,0x0F25,0x0DBE,0x1361,0x1971,
-+ 0x17E7,0x0C46,0x16FC,0x1B2E,0x18CB,0x23C4,0x1912,0x214C,0x0BA4,0x2392,
-+ 0x1037,0x1666,0x0BBB,0x180B,0x041F,0x20FA,0x1577,0x18D7,0x0115,0x0904,
-+ 0x136E,0x1867,0x0F53,0x0E2B,0x1A02,0x1FB2,0x1A9A,0x1D6C,0x0EBA,0x0BD5,
-+ 0x09F8,0x083F,0x0227,0x0E89,0x1495,0x1033,0x0F07,0x0D4D,0x0B4D,0x0F6A,
-+ 0x07FE,0x1AFB,0x05B0,0x1205,0x06CE,0x02D6,0x09DF,0x1A0C,0x0C3E,0x22C9,
-+ 0x22E5,0x0FEB,0x0A0E,0x21E6,0x088A,0x1C64,0x10B8,0x0383,0x14F8,0x0ED4,
-+ 0x05B4,0x2188,0x226B,0x025C,0x020D,0x0D0C,0x0449,0x0C81,0x0965,0x1135,
-+ 0x0CC1,0x08FC,0x16E4,0x1ED1,0x1BBD,0x1BE3,0x06D9,0x00A2,0x04C3,0x0CBF,
-+ 0x1324,0x2235,0x116A,0x0789,0x0198,0x05C3,0x1181,0x106C,0x1C8F,0x0984,
-+ 0x1A71,0x05F9,0x1F61,0x1298,0x2310,0x0075,0x063B,0x0B71,0x10C8,0x1E6D,
-+ 0x08A3,0x045C,0x1157,0x1DCE,0x0A05,0x1AAC,0x03F5,0x0DD1,0x2137,0x1200,
-+ 0x0CC4,0x17DA,0x1DF7,0x06C5,0x1C07,0x1B59,0x1AD8,0x0C43,0x15A0,0x0EF0,
-+ 0x0243,0x1BDA,0x1338,0x0C2F,0x132E,0x1D63,0x0969,0x23F3,0x077E,0x0991,
-+ 0x1DBE,0x23C7,0x05A3,0x1253,0x1FB8,0x1BCE,0x053B,0x1B8F,0x00E3,0x20E2,
-+ 0x1B61,0x22CE,0x04E8,0x17E1,0x06A3,0x04D1,0x02D3,0x23B1,0x031A,0x2045,
-+ 0x1319,0x1E7F,0x20CA,0x21E9,0x0C50,0x1E8D,0x209B,0x2306,0x0A1D,0x044B,
-+ 0x08A1,0x0437,0x102C,0x11F0,0x159B,0x0913,0x0A08,0x1E36,0x128F,0x06FA,
-+ 0x0DF0,0x160B,0x1F2E,0x094C,0x0788,0x1309,0x1CD4,0x0599,0x179F,0x0F54,
-+ 0x1362,0x1763,0x1B6C,0x0302,0x0921,0x231D,0x13F1,0x09C3,0x1348,0x12E1,
-+ 0x00FA,0x1689,0x16BE,0x18AB,0x1604,0x19F1,0x21BA,0x0D6A,0x20FC,0x21D2,
-+ 0x21ED,0x0663,0x0421,0x0D92,0x061A,0x165F,0x1D92,0x152E,0x070C,0x12A8,
-+ 0x1C90,0x0951,0x0CE5,0x1D39,0x0B75,0x168B,0x0A61,0x23B4,0x1572,0x1E06,
-+ 0x1AF9,0x0F5A,0x00CC,0x2139,0x0114,0x18FA,0x1654,0x18A9,0x0B13,0x0AF8,
-+ 0x14E4,0x051C,0x098A,0x1C9C,0x0554,0x1BBE,0x0DE5,0x198E,0x1BBB,0x0BCD,
-+ 0x0511,0x0E22,0x1D95,0x0C11,0x14E2,0x0108,0x1A56,0x0401,0x11B0,0x00C6,
-+ 0x2165,0x0F64,0x17BF,0x0154,0x0B95,0x14A5,0x0CC8,0x1B8E,0x1D7A,0x024F,
-+ 0x1762,0x1F71,0x1501,0x1844,0x15C2,0x010D,0x1092,0x0060,0x00AF,0x154D,
-+ 0x0DA5,0x0DB8,0x196E,0x1EE5,0x035E,0x05D3,0x00FC,0x0BCB,0x0364,0x0CAB,
-+ 0x16A3,0x23A7,0x014B,0x1536,0x0550,0x0407,0x127A,0x0A9E,0x1D64,0x0FD8,
-+ 0x14D2,0x0701,0x17DC,0x0BC0,0x1BA7,0x2141,0x0CFF,0x1B31,0x0205,0x22A7,
-+ 0x0C5E,0x1A09,0x11DE,0x13CE,0x08F3,0x208F,0x0015,0x2037,0x0AAF,0x057D,
-+ 0x0087,0x0AFB,0x1A85,0x1A97,0x0FD7,0x12D9,0x1FED,0x1DE2,0x197F,0x22B1,
-+ 0x205A,0x0544,0x0AD0,0x01DF,0x1E64,0x0AEB,0x12A6,0x0F30,0x07F1,0x1BF0,
-+ 0x230A,0x0573,0x0F61,0x2386,0x1242,0x1C55,0x0DA4,0x0F43,0x22AE,0x0CC6,
-+ 0x1BB5,0x0CDC,0x16A0,0x02FE,0x053F,0x008C,0x18E8,0x02CE,0x0C17,0x1B71,
-+ 0x1494,0x15F0,0x0D5B,0x089C,0x0F21,0x0A87,0x10CB,0x1EEB,0x1A2D,0x1F38,
-+ 0x0508,0x1C13,0x09D6,0x1B83,0x03C7,0x177B,0x0BA0,0x0760,0x00A7,0x07B8,
-+ 0x0F3F,0x0070,0x163B,0x0718,0x1609,0x2313,0x1058,0x10A1,0x0DA2,0x1BD8,
-+ 0x19D3,0x203D,0x09AA,0x0F0C,0x0A4D,0x22AD,0x0E9B,0x07A8,0x14F1,0x1056,
-+ 0x1E74,0x0402,0x0D40,0x0D6C,0x021E,0x1756,0x0056,0x0EB1,0x0E1C,0x0206,
-+ 0x0C94,0x2326,0x1F31,0x23CD,0x1BBF,0x0BB6,0x0607,0x0E0E,0x13B9,0x1724,
-+ 0x03F1,0x1BCC,0x01F1,0x1624,0x129F,0x1A6D,0x22E0,0x1132,0x1AE5,0x1B69,
-+ 0x00F1,0x225E,0x1E28,0x05EA,0x0F8E,0x024B,0x108F,0x0A3E,0x135D,0x0C73,
-+ 0x18D3,0x1BDC,0x1E8B,0x0BAA,0x1D09,0x0305,0x22E2,0x1D7D,0x012B,0x2164,
-+ 0x156F,0x0069,0x1333,0x206D,0x04F2,0x1982,0x141D,0x023D,0x0144,0x1EA0,
-+ 0x2378,0x1486,0x0EC5,0x1677,0x0770,0x06B4,0x04F6,0x09BC,0x1704,0x1DEF,
-+ 0x1FAF,0x22D5,0x1A34,0x21C0,0x099D,0x1BD7,0x1C47,0x1A4B,0x195E,0x0569,
-+ 0x10E5,0x0BAE,0x01A4,0x220C,0x0BB9,0x1700};
-+
-+ #define MX_MTBL (sizeof(mekornd) / sizeof(unsigned short))
-+
-+ typedef struct { int n; unsigned short int r; } MKT;
-+
-+ static int comp_mt(const void *s, const void *d)
-+ {
-+ MKT *mt1 = (MKT *)s;
-+ MKT *mt2 = (MKT *)d;
-+ return (int)(short)(mt1->r - mt2->r);
-+ }
-+
-+ MKT *calcMEKO(int n)
-+ {
-+ int i;
-+ MKT *mt;
-+
-+ if(n <= 0 || n > MX_MTBL){
-+ ErrPopUp ("Error: Over max array.", "\nOk");
-+ return(NULL);
-+ }
-+
-+ mt = malloc(sizeof(MKT) * n);
-+
-+ if(!mt) {
-+ ErrPopUp ("Error: No memory.", "\nOk");
-+ return(NULL);
-+ }
-+
-+ for(i = 0; i < n; i++) {
-+ mt[i].r = mekornd[i];
-+ mt[i].n = i + 1;
-+ }
-+ qsort(mt, n, sizeof(MKT), comp_mt);
-+ return(mt);
-+ }
diff --git a/xv-JPEG.patch b/xv-JPEG.patch
deleted file mode 100644
index 69dc247..0000000
--- a/xv-JPEG.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-You'll need to apply the following (trivial) patch to get XV 3.10a to compile
-with version 6 of the Independent JPEG Group's JPEG library, which
-supports progressive JPEG and such.
-
-Note that XV 3.10a is still shipped with version 5a of said library. If
-you'd like the newer library, it is available for anonymous ftp at this
-location: ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
-
-John Bradley
------------------------------------------------------------------------------
-
-
-*** xvjpeg.c.old Thu Jan 5 03:17:13 1995
---- xvjpeg.c Tue Jul 23 16:37:01 1996
-***************
-*** 51,61 ****
- static void clickJD PARM((int, int));
- static void doCmd PARM((int));
- static void writeJPEG PARM((void));
-! METHODDEF void xv_error_exit PARM((j_common_ptr));
-! METHODDEF void xv_error_output PARM((j_common_ptr));
-! METHODDEF void xv_prog_meter PARM((j_common_ptr));
- static unsigned int j_getc PARM((j_decompress_ptr));
-! METHODDEF boolean xv_process_comment PARM((j_decompress_ptr));
- static int writeJFIF PARM((FILE *, byte *, int,int,int));
-
-
---- 51,61 ----
- static void clickJD PARM((int, int));
- static void doCmd PARM((int));
- static void writeJPEG PARM((void));
-! METHODDEF(void) xv_error_exit PARM((j_common_ptr));
-! METHODDEF(void) xv_error_output PARM((j_common_ptr));
-! METHODDEF(void) xv_prog_meter PARM((j_common_ptr));
- static unsigned int j_getc PARM((j_decompress_ptr));
-! METHODDEF(boolean) xv_process_comment PARM((j_decompress_ptr));
- static int writeJFIF PARM((FILE *, byte *, int,int,int));
-
-
-***************
-*** 400,406 ****
-
-
- /**************************************************/
-! METHODDEF void xv_error_exit(cinfo)
- j_common_ptr cinfo;
- {
- my_error_ptr myerr;
---- 400,406 ----
-
-
- /**************************************************/
-! METHODDEF(void) xv_error_exit(cinfo)
- j_common_ptr cinfo;
- {
- my_error_ptr myerr;
-***************
-*** 412,418 ****
-
-
- /**************************************************/
-! METHODDEF void xv_error_output(cinfo)
- j_common_ptr cinfo;
- {
- my_error_ptr myerr;
---- 412,418 ----
-
-
- /**************************************************/
-! METHODDEF(void) xv_error_output(cinfo)
- j_common_ptr cinfo;
- {
- my_error_ptr myerr;
-***************
-*** 426,432 ****
-
-
- /**************************************************/
-! METHODDEF void xv_prog_meter(cinfo)
- j_common_ptr cinfo;
- {
- struct jpeg_progress_mgr *prog;
---- 426,432 ----
-
-
- /**************************************************/
-! METHODDEF(void) xv_prog_meter(cinfo)
- j_common_ptr cinfo;
- {
- struct jpeg_progress_mgr *prog;
-***************
-*** 671,677 ****
-
-
- /**************************************************/
-! METHODDEF boolean xv_process_comment(cinfo)
- j_decompress_ptr cinfo;
- {
- int length, hasnull;
---- 671,677 ----
-
-
- /**************************************************/
-! METHODDEF(boolean) xv_process_comment(cinfo)
- j_decompress_ptr cinfo;
- {
- int length, hasnull;
diff --git a/xv-PLD.patch b/xv-PLD.patch
deleted file mode 100644
index af5665b..0000000
--- a/xv-PLD.patch
+++ /dev/null
@@ -1,149 +0,0 @@
---- xv-3.10a/Makefile.orig 2010-01-15 17:46:37.795696149 +0100
-+++ xv-3.10a/Makefile 2010-01-15 17:45:30.765696388 +0100
-@@ -1,7 +1,7 @@
- # Makefile for xv
-
- # your C compiler (and options) of choice
--CC = cc
-+CC = gcc
- #CC = gcc -ansi
- # note that -ansi kills __USE_MISC (gcc 2.95.3), which, at least on Linux,
- # determines whether stdlib.h includes prototypes for mktemp(), random(), etc.
-@@ -18,7 +18,7 @@
- # -Wuninitialized -Wparentheses
-
-
--CCOPTS = -O
-+CCOPTS = $(RPM_OPT_FLAGS)
- #
- # these are the usual optimization and warning options for gcc; all such
- # warnings but one (mktemp() use) have been eliminated (at least on Linux):
-@@ -56,7 +56,7 @@
- ### NOTE: Users of old K&R compilers (i.e., any version not supporting C89
- ### string concatenation, such as "fub" "ar" => "fubar") should update
- ### xvtext.c:1831 (or thereabouts) if either PREFIX or DOCDIR changes:
--PREFIX = /usr/local
-+PREFIX = /usr
- BINDIR = $(PREFIX)/bin
- MANDIR = $(PREFIX)/share/man/man1
- MANSUF = 1
-@@ -87,17 +87,17 @@
- TIFF = -DDOTIFF -DUSE_TILED_TIFF_BOTLEFT_FIX
- ###
- #TIFFDIR = tiff
--TIFFDIR = /usr
-+#TIFFDIR = /usr
- #TIFFDIR = /usr/local
- #TIFFDIR = ../../libtiff
- ###
--TIFFINC = -I$(TIFFDIR)/include
-+#TIFFINC = -I$(TIFFDIR)/include
- #TIFFINC = -I$(TIFFDIR)
- ###
- ### libtiff 3.5 and up may be compiled with zlib and libjpeg, but the
- ### dependency is properly handled in LIBS line ~247 lines below
- ###
--TIFFLIB = -L$(TIFFDIR)/lib -ltiff
-+TIFFLIB = -ltiff
- #TIFFLIB = $(TIFFDIR)/lib/libtiff.a
- #TIFFLIB = -L$(TIFFDIR) -ltiff
- #TIFFLIB = $(TIFFDIR)/libtiff.a
-@@ -117,25 +117,13 @@
- ###
- JPEG = -DDOJPEG
- #JPEGDIR = jpeg
--JPEGDIR = /usr
--#JPEGDIR = /usr/local
--#JPEGDIR = ../../libjpeg
--#JPEGDIR = /usr/sfw
--###
--JPEGINC = -I$(JPEGDIR)/include
- #JPEGINC = -I$(JPEGDIR)
--###
--JPEGLIB = -L$(JPEGDIR)/lib -ljpeg
--#JPEGLIB = -L$(JPEGDIR) -ljpeg
- #JPEGLIB = $(JPEGDIR)/libjpeg.a
--###
--### this is intended to build the ancient version (5a) that's included in the
--### "jpeg" subdir of XV, not an arbitrary copy of libjpeg:
--###
- #$(JPEGDIR)/jconfig.h:
- # cd $(JPEGDIR) ; ./configure CC='$(CC)'
- #$(JPEGLIB): $(JPEGDIR)/jconfig.h
- # cd $(JPEGDIR) ; make
-+JPEGLIB = -ljpeg
-
-
- ###
-@@ -143,14 +131,14 @@
- ### on your machine, *COMMENT OUT* the following lines
- ###
- PNG = -DDOPNG
--PNGDIR = /usr
-+#PNGDIR = /usr
- #PNGDIR = /usr/local
- #PNGDIR = ../../libpng
- ###
--PNGINC = -I$(PNGDIR)/include
-+#PNGINC = -I$(PNGDIR)/include
- #PNGINC = -I$(PNGDIR)
- ###
--PNGLIB = -L$(PNGDIR)/lib -lpng
-+PNGLIB = -lpng
- #PNGLIB = -L$(PNGDIR) -lpng
- #PNGLIB = $(PNGDIR)/libpng.a
-
-@@ -160,14 +148,14 @@
- ### (newer versions of) the TIFF library to compile on your machine, *COMMENT
- ### OUT* the following lines
- ###
--ZLIBDIR = /usr
-+#ZLIBDIR = /usr
- #ZLIBDIR = /usr/local
- #ZLIBDIR = ../../zlib
- ###
--ZLIBINC = -I$(ZLIBDIR)/include
-+#ZLIBINC = -I$(ZLIBDIR)/include
- #ZLIBINC = -I$(ZLIBDIR)
- ###
--ZLIBLIB = -L$(ZLIBDIR)/lib -lz
-+ZLIBLIB = -lz
- #ZLIBLIB = -L$(ZLIBDIR) -lz
- #ZLIBLIB = $(ZLIBDIR)/libz.a
-
-@@ -179,13 +167,13 @@
- JP2K = -DDOJP2K
- ###
- #JP2KDIR = ../../jasper
--JP2KDIR = /usr/local/lib
-+#JP2KDIR = /usr/local/lib
- ###
- #JP2KINC = -I$(JP2KDIR)
--JP2KINC = -I/usr/local/include
-+#JP2KINC = -I/usr/local/include
- ###
--#JP2KLIB = -L$(JP2KDIR) -ljasper
--JP2KLIB = $(JP2KDIR)/libjasper.a
-+JP2KLIB = -ljasper
-+#JP2KLIB = $(JP2KDIR)/libjasper.a
-
-
- ###
-@@ -236,7 +224,7 @@
-
-
- ### for Linux, uncomment one of the following lines:
--#MCHN = -DLINUX -L/usr/X11R6/lib
-+MCHN = -DLINUX
- #MCHN = -DLINUX -L/usr/X11R6/lib64
-
-
-@@ -342,7 +330,7 @@
- -DSYSCONFDIR=\"$(SYSCONFDIR)\" -DXVEXECPATH=\"$(LIBDIR)\"
-
- ### remove -lm for BeOS:
--LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -L/usr/X11R6/lib -lX11 -lm
-+LIBS = $(LDFLAGS) $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -lX11 -lm
- #LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -lX11
-
- OBJS = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
diff --git a/xv-TIFF.patch b/xv-TIFF.patch
deleted file mode 100644
index 935baa7..0000000
--- a/xv-TIFF.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-The following patch should allow you to compile XV 3.10a against the latest
-version of Sam Leffler's TIFF Library (libtiff 3.4).
-
-You do *not* need to apply this patch to compile XV 3.10a against the
-older version of the TIFF library (3.3) that is included in the XV
-3.10a distribution. This is only necessary if you wish to upgrade to
-the newer version of the TIFF library.
-
-You can get the latest version of the TIFF library via anonymous ftp on
-ftp.sgi.com, in 'graphics/tiff'.
-
-Thanks to Dan McCoy (mccoy at pixar.com) for supplying this patch!
-
-John Bradley
------------------------------------------------------------------------
-
-
-*** xvtiff.c.orig Fri Jan 13 14:53:34 1995
---- xvtiff.c Thu Sep 5 16:55:46 1996
-***************
-*** 301,306 ****
---- 301,310 ----
- static byte **BWmap;
- static byte **PALmap;
-
-+ /* XXXX Work around some collisions with the new library. */
-+ #define tileContigRoutine _tileContigRoutine
-+ #define tileSeparateRoutine _tileSeparateRoutine
-+
- typedef void (*tileContigRoutine) PARM((byte*, u_char*, RGBvalue*,
- uint32, uint32, int, int));
-
-***************
-*** 340,346 ****
- uint32, uint32, int, int));
- static void put4bitbwtile PARM((byte *, u_char *, RGBvalue *,
- uint32, uint32, int, int));
-! static void put16bitbwtile PARM((byte *, u_char *, RGBvalue *,
- uint32, uint32, int, int));
-
- static void putRGBcontig8bittile PARM((byte *, u_char *, RGBvalue *,
---- 344,350 ----
- uint32, uint32, int, int));
- static void put4bitbwtile PARM((byte *, u_char *, RGBvalue *,
- uint32, uint32, int, int));
-! static void put16bitbwtile PARM((byte *, u_short *, RGBvalue *,
- uint32, uint32, int, int));
-
- static void putRGBcontig8bittile PARM((byte *, u_char *, RGBvalue *,
-***************
-*** 1218,1224 ****
- */
- static void put16bitbwtile(cp, pp, Map, w, h, fromskew, toskew)
- byte *cp;
-! u_char *pp;
- RGBvalue *Map;
- uint32 w, h;
- int fromskew, toskew;
---- 1222,1228 ----
- */
- static void put16bitbwtile(cp, pp, Map, w, h, fromskew, toskew)
- byte *cp;
-! u_short *pp;
- RGBvalue *Map;
- uint32 w, h;
- int fromskew, toskew;
-***************
-*** 1227,1234 ****
-
- while (h-- > 0) {
- for (x=w; x>0; x--) {
-! *cp++ = Map[(pp[0] << 8) + pp[1]];
-! pp += 2;
- }
- cp += toskew;
- pp += fromskew;
---- 1231,1237 ----
-
- while (h-- > 0) {
- for (x=w; x>0; x--) {
-! *cp++ = Map[*pp++];
- }
- cp += toskew;
- pp += fromskew;
-***************
-*** 1514,1520 ****
- case PHOTOMETRIC_MINISWHITE:
- case PHOTOMETRIC_MINISBLACK:
- switch (bitspersample) {
-! case 16: put = put16bitbwtile; break;
- case 8: put = putgreytile; break;
- case 4: put = put4bitbwtile; break;
- case 2: put = put2bitbwtile; break;
---- 1517,1523 ----
- case PHOTOMETRIC_MINISWHITE:
- case PHOTOMETRIC_MINISBLACK:
- switch (bitspersample) {
-! case 16: put = (tileContigRoutine) put16bitbwtile; break;
- case 8: put = putgreytile; break;
- case 4: put = put4bitbwtile; break;
- case 2: put = put2bitbwtile; break;
diff --git a/xv-buffer_overflows.patch b/xv-buffer_overflows.patch
deleted file mode 100644
index 04fe1ad..0000000
--- a/xv-buffer_overflows.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -ruNp xv-3.10a.orig/xvtext.c xv-3.10a/xvtext.c
---- xv-3.10a.orig/xvtext.c 2012-07-02 14:12:18.729232321 +0200
-+++ xv-3.10a/xvtext.c 2012-07-02 14:14:09.245684311 +0200
-@@ -53,7 +53,7 @@
- # define TV_J_NBUTTS 8
- #endif
-
--#define TITLELEN 128
-+#define TITLELEN 270
-
- #ifdef TV_MULTILINGUAL
- struct coding_spec {
-@@ -385,7 +385,7 @@ int TextView(fname)
-
- int filetype;
- long textlen;
-- char *text, buf[512], title[128], rfname[MAXPATHLEN+1];
-+ char *text, buf[512], title[TITLELEN], rfname[MAXPATHLEN+1];
- char *basefname[128]; /* just current fname, no path */
- FILE *fp;
- char filename[MAXPATHLEN+1];
-@@ -453,7 +453,7 @@ int TextView(fname)
-
- fclose(fp);
-
-- sprintf(title, "File: '%s'", BaseName(fname));
-+ snprintf(title, TITLELEN, "File: '%s'", BaseName(fname));
- OpenTextView(text, (int) textlen, title, 1);
-
- /* note: text gets freed when window gets closed */
-@@ -545,7 +545,7 @@ void ChangeCommentText()
- tv->freeonclose = 0;
-
- if (strlen(fullfname))
-- sprintf(tv->title, "File: '%s'", BaseName(fullfname));
-+ snprintf(tv->title, TITLELEN, "File: '%s'", BaseName(fullfname));
- else
- sprintf(tv->title, "<no file loaded>");
-
diff --git a/xv-c.patch b/xv-c.patch
deleted file mode 100644
index fe66c20..0000000
--- a/xv-c.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- xv-3.10a/xvimage.c.orig 2006-10-18 23:40:36.303520000 +0200
-+++ xv-3.10a/xvimage.c 2006-10-18 23:50:53.622100250 +0200
-@@ -1721,14 +1721,14 @@
- case 12:
- case 15:
- case 16: {
-- unsigned short *imagedata, *ip;
-+ unsigned char *imagedata, *ip;
- byte *pp;
-
-- imagedata = (unsigned short *) malloc((size_t) (2*wide*high));
-+ imagedata = (unsigned char *) malloc((size_t) (2*wide*high));
- if (!imagedata) FatalError("couldn't malloc imagedata");
-
- xim = XCreateImage(theDisp,theVisual,dispDEEP,ZPixmap,0,
-- (char *) imagedata, wide, high, 16, 0);
-+ imagedata, wide, high, 16, 0);
- if (!xim) FatalError("couldn't create xim!");
-
- if (dispDEEP == 12 && xim->bits_per_pixel != 16) {
-@@ -1747,8 +1747,8 @@
- if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
- else xcol = xcolors[*pp] & 0xffff;
-
-- *((unsigned char *)ip)++ = (xcol>>8) & 0xff;
-- *((unsigned char *)ip)++ = (xcol) & 0xff;
-+ *ip++ = (xcol>>8) & 0xff;
-+ *ip++ = (xcol) & 0xff;
- }
- }
- else { /* LSBFirst */
-@@ -1758,8 +1758,8 @@
- if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
- else xcol = xcolors[*pp];
-
-- *((unsigned char *)ip)++ = (xcol) & 0xff;
-- *((unsigned char *)ip)++ = (xcol>>8) & 0xff;
-+ *ip++ = (xcol) & 0xff;
-+ *ip++ = (xcol>>8) & 0xff;
- }
- }
- }
diff --git a/xv-croppad.patch b/xv-croppad.patch
deleted file mode 100644
index 85914c4..0000000
--- a/xv-croppad.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-As pointed out by long-time Friend-of-XV Rick Dyson, the XV 3.10a does an
-unexpected thing if you crop an image, and then 'pad' it. 3.10a would
-effectively 'UnCrop' the image first, then pad it. There is a workaround
-(save and reload the cropped image), but that's every bit as tedious as it
-sounds.
-
-This should do the trick, with any luck.
-
---jhb, 7/9/98
-
-
-
-
-*** xvimage.c.old Fri Jul 10 01:18:07 1998
---- xvimage.c Fri Jul 10 01:21:57 1998
-***************
-*** 2530,2536 ****
-
- rv = 1;
-
-! if ((mode != PAD_LOAD) && (wide == pWIDE && high == pHIGH && opaque==100)) {
- ErrPopUp("Padding to same size as pic while fully opaque has no effect.",
- "\nI see");
- return 0;
---- 2530,2536 ----
-
- rv = 1;
-
-! if ((mode != PAD_LOAD) && (wide == cWIDE && high == cHIGH && opaque==100)) {
- ErrPopUp("Padding to same size as pic while fully opaque has no effect.",
- "\nI see");
- return 0;
-***************
-*** 2806,2832 ****
-
- /* copy 'pic' centered onto pic24. */
-
-! sx = (wide - pWIDE) / 2;
-! sy = (high - pHIGH) / 2;
-
-! for (py = 0; py<pHIGH; py++) {
-! ProgressMeter(0, pHIGH-1, py, "Pad");
- if ((py & 0x1f)==0) WaitCursor();
-
- p24y = sy + py;
- if (p24y >= 0 && p24y < high) {
-! for (px=0; px<pWIDE; px++) {
- p24x = sx + px;
- if (p24x >= 0 && p24x < wide) {
- p24 = pic24 + (p24y*wide + p24x)*3;
-
-
- if (picType == PIC24) { /* src is PIC24 */
-! pp = pic + (py * pWIDE + px) *3;
- r = pp[0]; g = pp[1]; b = pp[2];
- }
- else { /* src is PIC8 */
-! pp = pic + (py*pWIDE + px);
- r = rMap[*pp]; g = gMap[*pp]; b = bMap[*pp];
- }
-
---- 2806,2832 ----
-
- /* copy 'pic' centered onto pic24. */
-
-! sx = (wide - cWIDE) / 2;
-! sy = (high - cHIGH) / 2;
-
-! for (py = 0; py<cHIGH; py++) {
-! ProgressMeter(0, cHIGH-1, py, "Pad");
- if ((py & 0x1f)==0) WaitCursor();
-
- p24y = sy + py;
- if (p24y >= 0 && p24y < high) {
-! for (px=0; px<cWIDE; px++) {
- p24x = sx + px;
- if (p24x >= 0 && p24x < wide) {
- p24 = pic24 + (p24y*wide + p24x)*3;
-
-
- if (picType == PIC24) { /* src is PIC24 */
-! pp = cpic + (py * cWIDE + px) *3;
- r = pp[0]; g = pp[1]; b = pp[2];
- }
- else { /* src is PIC8 */
-! pp = cpic + (py*cWIDE + px);
- r = rMap[*pp]; g = gMap[*pp]; b = bMap[*pp];
- }
-
diff --git a/xv-deepcolor.patch b/xv-deepcolor.patch
deleted file mode 100644
index 81aed78..0000000
--- a/xv-deepcolor.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-This fixes a byte-ordering problem when displaying 8-bit colormapped images
-on certain 12, 15, or 16-bit displays.
-
-Thanks to Mr. Ryo Shimizu for coming up with the patch, and to Yuuki Harano
-for sending it to me.
-
---jhb
-
-*** xvimage.c.old Fri Jan 13 19:11:36 1995
---- xvimage.c Fri Oct 16 12:34:11 1998
-***************
-*** 1736,1745 ****
- if (xim->byte_order == MSBFirst) {
- for (i=wide*high, ip=imagedata; i>0; i--,pp++) {
- if (((i+1)&0x1ffff) == 0) WaitCursor();
-! if (dithpic) {
-! *ip++ = ((*pp) ? white : black) & 0xffff;
-! }
-! else *ip++ = xcolors[*pp] & 0xffff;
- }
- }
- else { /* LSBFirst */
---- 1736,1747 ----
- if (xim->byte_order == MSBFirst) {
- for (i=wide*high, ip=imagedata; i>0; i--,pp++) {
- if (((i+1)&0x1ffff) == 0) WaitCursor();
-!
-! if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
-! else xcol = xcolors[*pp] & 0xffff;
-!
-! *((unsigned char *)ip)++ = (xcol>>8) & 0xff;
-! *((unsigned char *)ip)++ = (xcol) & 0xff;
- }
- }
- else { /* LSBFirst */
-***************
-*** 1749,1756 ****
- if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
- else xcol = xcolors[*pp];
-
-! /* WAS *ip++ = ((xcol>>8) & 0xff) | ((xcol&0xff) << 8); */
-! *ip++ = (unsigned short) (xcol);
- }
- }
- }
---- 1751,1758 ----
- if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
- else xcol = xcolors[*pp];
-
-! *((unsigned char *)ip)++ = (xcol) & 0xff;
-! *((unsigned char *)ip)++ = (xcol>>8) & 0xff;
- }
- }
- }
diff --git a/xv-exceed_grab_patch.txt b/xv-exceed_grab_patch.txt
deleted file mode 100644
index 74a23d4..0000000
--- a/xv-exceed_grab_patch.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-This patch fixes an inability to GRAB or display XWD files on the eXceed
-X server running in 24-bits. It may also fix GRAB problems on other X
-servers. It shouldn't *break* anything, and as such, can and should be
-applied by everybody.
-
-The bits_per_item of the returned XImage is less than bits_per_pixel, which
-is wrong, as far as I can tell. (Hard to really know, as the X11 docs aren't
-at *all* clear on the subject.) I do know that it breaks my code, and the netpbm
-code, and god only knows what else.
-
-Maybe they're wrong, maybe I'm wrong - who knows. In any event, this patch
-fixes it, as far as XV is concerned.
-
-Thanks to Nadim Saeed (nadim at xlnt.com)!
-
---jhb
-
-
-
-*** xvgrab.c.orig Thu Oct 7 10:41:15 1999
---- xvgrab.c Thu Oct 7 12:03:36 1999
-***************
-*** 641,648 ****
-
-
- bits_per_item = image->bitmap_unit;
-- bits_used = bits_per_item;
- bits_per_pixel = image->bits_per_pixel;
-
- if (bits_per_pixel == 32) pixmask = 0xffffffff;
- else pixmask = (((CARD32) 1) << bits_per_pixel) - 1;
---- 641,667 ----
-
-
- bits_per_item = image->bitmap_unit;
- bits_per_pixel = image->bits_per_pixel;
-+
-+
-+ /* add code for freako 'exceed' server, where bitmapunit = 8
-+ and bitsperpix = 32 (and depth=24)... */
-+
-+ if (bits_per_item < bits_per_pixel) {
-+ bits_per_item = bits_per_pixel;
-+
-+ /* round bits_per_item up to next legal value, if necc */
-+ if (bits_per_item < 8) bits_per_item = 8;
-+ else if (bits_per_item < 16) bits_per_item = 16;
-+ else bits_per_item = 32;
-+ }
-+
-+
-+ /* which raises the question: how (can?) you ever have a 24 bits per pix,
-+ (ie, 3 bytes, no alpha/padding) */
-+
-+
-+ bits_used = bits_per_item; /* so it will get a new item first time */
-
- if (bits_per_pixel == 32) pixmask = 0xffffffff;
- else pixmask = (((CARD32) 1) << bits_per_pixel) - 1;
-
-
-
-*** xvxwd.c.orig Thu Oct 7 12:13:09 1999
---- xvxwd.c Thu Oct 7 12:13:13 1999
-***************
-*** 396,406 ****
- h11P->pixmap_width;
-
- bits_per_item = h11P->bitmap_unit;
-- bits_used = bits_per_item;
- bits_per_pixel = h11P->bits_per_pixel;
- byte_order = h11P->byte_order;
- bit_order = h11P->bitmap_bit_order;
-
- if (bits_per_pixel == sizeof(pixel_mask) * 8) pixel_mask = (CARD32) -1;
- else pixel_mask = (1 << bits_per_pixel) - 1;
-
---- 396,425 ----
- h11P->pixmap_width;
-
- bits_per_item = h11P->bitmap_unit;
- bits_per_pixel = h11P->bits_per_pixel;
- byte_order = h11P->byte_order;
- bit_order = h11P->bitmap_bit_order;
-
-+
-+ /* add sanity-code for freako 'exceed' server, where bitmapunit = 8
-+ and bitsperpix = 32 (and depth=24)... */
-+
-+ if (bits_per_item < bits_per_pixel) {
-+ bits_per_item = bits_per_pixel;
-+
-+ /* round bits_per_item up to next legal value, if necc */
-+ if (bits_per_item < 8) bits_per_item = 8;
-+ else if (bits_per_item < 16) bits_per_item = 16;
-+ else bits_per_item = 32;
-+ }
-+
-+
-+ /* which raises the question: how (can?) you ever have a 24 bits per pix,
-+ (ie, 3 bytes, no alpha/padding) */
-+
-+
-+ bits_used = bits_per_item;
-+
- if (bits_per_pixel == sizeof(pixel_mask) * 8) pixel_mask = (CARD32) -1;
- else pixel_mask = (1 << bits_per_pixel) - 1;
-
diff --git a/xv-format.patch b/xv-format.patch
deleted file mode 100644
index 52ef320..0000000
--- a/xv-format.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- xv-3.10a/xvpbm.c~ 2013-11-03 09:33:10.000000000 +0100
-+++ xv-3.10a/xvpbm.c 2013-11-03 09:33:59.806789183 +0100
-@@ -885,8 +885,8 @@
- }
- }
- else {
-- if (*pix) fprintf(fp,str1);
-- else fprintf(fp,str0);
-+ if (*pix) fprintf(fp,"%s", str1);
-+ else fprintf(fp,"%s", str0);
- len+=2;
- if (len>68) { fprintf(fp,"\n"); len=0; }
- }
diff --git a/xv-gifpatch b/xv-gifpatch
deleted file mode 100644
index dd30a8a..0000000
--- a/xv-gifpatch
+++ /dev/null
@@ -1,49 +0,0 @@
-This patch fixes a bug in XVs gif-reading code. The bug could conceivably
-hit when viewing a number of interlaced GIFs. Thanks to Mark Hanson
-<mbh at netcom.com> for spotting this one.
-
---jhb, 10/29/98
-
-
-*** xvgif.c.old Tue Jan 10 14:54:41 1995
---- xvgif.c Thu Oct 29 17:43:30 1998
-***************
-*** 113,119 ****
- int aspect, gotimage;
-
- /* initialize variables */
-! BitOffset = XC = YC = Pass = OutCount = gotimage = 0;
- RawGIF = Raster = pic8 = NULL;
- gif89 = 0;
-
---- 113,120 ----
- int aspect, gotimage;
-
- /* initialize variables */
-! BitOffset = XC = YC = OutCount = gotimage = 0;
-! Pass = -1;
- RawGIF = Raster = pic8 = NULL;
- gif89 = 0;
-
-***************
-*** 692,698 ****
- {
- static byte *ptr = NULL;
- static int oldYC = -1;
-!
- if (oldYC != YC) { ptr = pic8 + YC * Width; oldYC = YC; }
-
- if (YC<Height)
---- 693,704 ----
<Skipped 1815 lines>
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xv.git/commitdiff/4e63c957af63ca0adef0636446654e14c9d1264f
More information about the pld-cvs-commit
mailing list