aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am19
-rw-r--r--README4
-rw-r--r--SECURITY.md13
-rw-r--r--base-images/poky-logo.pngbin7006 -> 0 bytes
-rw-r--r--base-images/psplash-bar.pngbin0 -> 544 bytes
-rw-r--r--base-images/psplash-hand.pngbin0 -> 3572 bytes
-rw-r--r--base-images/psplash-poky.png (renamed from base-images/poky-logo2.png)bin5991 -> 5991 bytes
-rw-r--r--configure.ac41
-rwxr-xr-xmake-image-header.sh3
-rw-r--r--psplash-bar-img.h47
-rw-r--r--psplash-colors.h10
-rw-r--r--psplash-config.h19
-rw-r--r--psplash-console.c10
-rw-r--r--psplash-console.h10
-rw-r--r--psplash-fb.c136
-rw-r--r--psplash-fb.h18
-rw-r--r--psplash-hand-img.h320
-rw-r--r--psplash-poky-img.h1021
-rw-r--r--psplash-systemd.c179
-rw-r--r--psplash-write.c20
-rw-r--r--psplash.c103
-rw-r--r--psplash.h10
-rw-r--r--radeon-font.h2
23 files changed, 459 insertions, 1526 deletions
diff --git a/Makefile.am b/Makefile.am
index a14152a..310e126 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,14 +1,24 @@
bin_PROGRAMS=psplash psplash-write
-AM_CFLAGS = $(GCC_FLAGS) -D_GNU_SOURCE
+AM_CFLAGS = $(GCC_FLAGS) $(EXTRA_GCC_FLAGS) -D_GNU_SOURCE -DFONT_HEADER=\"$(FONT_NAME)-font.h\" -DFONT_DEF=$(FONT_NAME)_font
psplash_SOURCES = psplash.c psplash.h psplash-fb.c psplash-fb.h \
psplash-console.c psplash-console.h \
psplash-colors.h psplash-config.h \
- psplash-poky-img.h psplash-bar-img.h radeon-font.h
+ psplash-poky-img.h psplash-bar-img.h $(FONT_NAME)-font.h
+BUILT_SOURCES = psplash-poky-img.h psplash-bar-img.h
psplash_write_SOURCES = psplash-write.c psplash.h
+if HAVE_SYSTEMD
+psplash_CPPFLAGS = $(SYSTEMD_CFLAGS) -DHAVE_SYSTEMD
+psplash_LDFLAGS= $(SYSTEMD_LIBS)
+bin_PROGRAMS += psplash-systemd
+psplash_systemd_CPPFLAGS = $(SYSTEMD_CFLAGS)
+psplash_systemd_LDFLAGS= $(SYSTEMD_LIBS)
+psplash_systemd_SOURCES = psplash-systemd.c psplash.h
+endif
+
EXTRA_DIST = make-image-header.sh
MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing
@@ -16,3 +26,8 @@ MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depc
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
+psplash-bar-img.h: base-images/psplash-bar.png
+ $(top_srcdir)/make-image-header.sh $< BAR
+psplash-poky-img.h: base-images/psplash-poky.png
+ $(top_srcdir)/make-image-header.sh $< POKY
+
diff --git a/README b/README
index 8779a38..23d5bcd 100644
--- a/README
+++ b/README
@@ -19,10 +19,10 @@ Please refer to
for some useful guidelines to be followed when submitting patches.
Mailing list:
- https://lists.yoctoproject.org/listinfo/yocto
+ https://lists.yoctoproject.org/g/yocto
When creating patches, please use something like:
git format-patch -M -s --subject-prefix='psplash][PATCH' origin
When sending patches, please use something like:
- git send-email --to yocto@yoctoproject.org <generated patch>
+ git send-email --to yocto@lists.yoctoproject.org <generated patch>
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 0000000..7ccecc1
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,13 @@
+How to Report a Potential Vulnerability?
+========================================
+
+If you would like to report a public issue (for example, one with a released
+CVE number), please report it using the
+[https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Security Security Bugzilla].
+If you have a patch ready, submit it following the same procedure as any other
+patch as described in README.md.
+
+If you are dealing with a not-yet released or urgent issue, please send a
+message to security AT yoctoproject DOT org, including as many details as
+possible: the layer or software module affected, the recipe and its version,
+and any example code, if available.
diff --git a/base-images/poky-logo.png b/base-images/poky-logo.png
deleted file mode 100644
index 6452078..0000000
--- a/base-images/poky-logo.png
+++ /dev/null
Binary files differ
diff --git a/base-images/psplash-bar.png b/base-images/psplash-bar.png
new file mode 100644
index 0000000..56e1d86
--- /dev/null
+++ b/base-images/psplash-bar.png
Binary files differ
diff --git a/base-images/psplash-hand.png b/base-images/psplash-hand.png
new file mode 100644
index 0000000..35498d3
--- /dev/null
+++ b/base-images/psplash-hand.png
Binary files differ
diff --git a/base-images/poky-logo2.png b/base-images/psplash-poky.png
index 5dfb995..5dfb995 100644
--- a/base-images/poky-logo2.png
+++ b/base-images/psplash-poky.png
Binary files differ
diff --git a/configure.ac b/configure.ac
index 1c4d919..2a7da91 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,8 +12,49 @@ if test "x$GCC" = "xyes"; then
GCC_FLAGS="-g -Wall -Wextra"
fi
+AC_ARG_WITH([systemd], AS_HELP_STRING([--with-systemd], [Build with systemd
+ support]))
+
+AS_IF([test "x$with_systemd" = "xyes"], [
+ PKG_CHECK_MODULES(SYSTEMD, libsystemd >= 221)
+])
+
+AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemd" = "xyes"])
+
AC_SUBST(GCC_FLAGS)
+AC_ARG_WITH([font],
+ AS_HELP_STRING([--with-font], [Set font to use (default is 'radeon')]),
+ [FONT_NAME=$withval],
+ [FONT_NAME=radeon])
+AC_SUBST([FONT_NAME])
+
+AC_ARG_ENABLE([startup-msg],
+ AS_HELP_STRING([--disable-startup-msg], [Disable text banner output on startup]),
+ [disable_startup_msg=true],
+ [disable_startup_msg=false])
+AS_IF([test x$disable_startup_msg = xtrue], [
+ EXTRA_GCC_FLAGS="$EXTRA_GCC_FLAGS -DPSPLASH_DISABLE_STARTUP_MSG"
+])
+
+AC_ARG_ENABLE([progress-bar],
+ AS_HELP_STRING([--disable-progress-bar], [Disable progress bar]),
+ [disable_progress_bar=true],
+ [disable_progress_bar=false])
+AS_IF([test x$disable_progress_bar = xtrue], [
+ EXTRA_GCC_FLAGS="$EXTRA_GCC_FLAGS -DPSPLASH_DISABLE_PROGRESS_BAR"
+])
+
+AC_ARG_ENABLE([img-fullscreen],
+ AS_HELP_STRING([--enable-img-fullscreen], [Enable the logo image in fullscreen mode)]),
+ [img_fullscreen=true],
+ [img_fullscreen=false])
+AS_IF([test x$img_fullscreen = xtrue], [
+ EXTRA_GCC_FLAGS="$EXTRA_GCC_FLAGS -DPSPLASH_IMG_FULLSCREEN=1"
+])
+
+AC_SUBST(EXTRA_GCC_FLAGS)
+
AC_OUTPUT([
Makefile
])
diff --git a/make-image-header.sh b/make-image-header.sh
index d7cf67c..d1c184c 100755
--- a/make-image-header.sh
+++ b/make-image-header.sh
@@ -1,4 +1,7 @@
#!/bin/sh
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
set -e
diff --git a/psplash-bar-img.h b/psplash-bar-img.h
deleted file mode 100644
index c1c7626..0000000
--- a/psplash-bar-img.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-
-#define BAR_IMG_ROWSTRIDE (920)
-#define BAR_IMG_WIDTH (230)
-#define BAR_IMG_HEIGHT (28)
-#define BAR_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
-#define BAR_IMG_RLE_PIXEL_DATA ((uint8*) \
- "\203\354\354\341\377\4\326\326\315\377\236\236\233\377\200\200\201\377" \
- "nnq\377\377mmp\377\331mmp\377\4nnq\377\200\200\201\377\236\236\233\377" \
- "\326\326\315\377\205\354\354\341\377\2\260\260\253\377oor\377\377mmp" \
- "\377\337mmp\377\2oor\377\260\260\253\377\203\354\354\341\377\1\262\262" \
- "\256\377\377mmp\377\343mmp\377\4\262\262\256\377\354\354\341\377\332" \
- "\332\321\377pps\377\377mmp\377\343mmp\377\3pps\377\332\332\321\377\244" \
- "\244\241\377\204mmp\377\1\205\205\205\377\377\354\354\341\377\333\354" \
- "\354\341\377\1\205\205\205\377\204mmp\377\2\244\244\241\377\210\210\210" \
- "\377\203mmp\377\2\203\203\203\377\351\351\336\377\377\354\354\341\377" \
- "\333\354\354\341\377\2\351\351\336\377\203\203\203\377\203mmp\377\2\210" \
- "\210\210\377qqs\377\203mmp\377\1\255\255\251\377\377\354\354\341\377" \
- "\335\354\354\341\377\1\255\255\251\377\203mmp\377\1qqs\377\204mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
- "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\204mmp\377" \
- "\1qqs\377\203mmp\377\1\255\255\251\377\377\354\354\341\377\335\354\354" \
- "\341\377\1\255\255\251\377\203mmp\377\2qqs\377\210\210\210\377\203mm" \
- "p\377\2\203\203\203\377\351\351\336\377\377\354\354\341\377\333\354\354" \
- "\341\377\2\351\351\336\377\203\203\203\377\203mmp\377\2\210\210\210\377" \
- "\244\244\241\377\204mmp\377\1\205\205\205\377\377\354\354\341\377\333" \
- "\354\354\341\377\1\205\205\205\377\204mmp\377\3\244\244\241\377\332\332" \
- "\321\377pps\377\377mmp\377\343mmp\377\4pps\377\332\332\321\377\354\354" \
- "\341\377\262\262\256\377\377mmp\377\343mmp\377\1\262\262\256\377\203" \
- "\354\354\341\377\2\260\260\253\377oor\377\377mmp\377\337mmp\377\2oor" \
- "\377\260\260\253\377\205\354\354\341\377\4\326\326\315\377\236\236\233" \
- "\377\200\200\201\377nnq\377\377mmp\377\331mmp\377\4nnq\377\200\200\201" \
- "\377\236\236\233\377\326\326\315\377\203\354\354\341\377")
-
-
diff --git a/psplash-colors.h b/psplash-colors.h
index d701089..82a9893 100644
--- a/psplash-colors.h
+++ b/psplash-colors.h
@@ -4,15 +4,7 @@
* Copyright (c) 2012 sleep(5) ltd
* Author: Tomas Frydrych <tomas@sleepfive.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
diff --git a/psplash-config.h b/psplash-config.h
index 82bb76d..eb90ef3 100644
--- a/psplash-config.h
+++ b/psplash-config.h
@@ -4,15 +4,7 @@
* Copyright (c) 2014 MenloSystems GmbH
* Author: Olaf Mandel <o.mandel@menlosystems.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
@@ -20,10 +12,19 @@
#define _HAVE_PSPLASH_CONFIG_H
/* Text to output on program start; if undefined, output nothing */
+#ifndef PSPLASH_DISABLE_STARTUP_MSG
#define PSPLASH_STARTUP_MSG ""
+#endif
/* Bool indicating if the image is fullscreen, as opposed to split screen */
+#ifndef PSPLASH_IMG_FULLSCREEN
#define PSPLASH_IMG_FULLSCREEN 0
+#endif
+
+/* Bool indicated if the progress bar should be disabled */
+#ifndef PSPLASH_DISABLE_PROGRESS_BAR
+#define PSPLASH_SHOW_PROGRESS_BAR 1
+#endif
/* Position of the image split from top edge, numerator of fraction */
#define PSPLASH_IMG_SPLIT_NUMERATOR 5
diff --git a/psplash-console.c b/psplash-console.c
index 055f5b0..3a40620 100644
--- a/psplash-console.c
+++ b/psplash-console.c
@@ -3,15 +3,7 @@
*
* Copyright (c) 2006 Matthew Allum <mallum@o-hand.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
diff --git a/psplash-console.h b/psplash-console.h
index c444d27..c893bf2 100644
--- a/psplash-console.h
+++ b/psplash-console.h
@@ -3,15 +3,7 @@
*
* Copyright (c) 2006 Matthew Allum <mallum@o-hand.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
diff --git a/psplash-fb.c b/psplash-fb.c
index d344e5a..2babb5f 100644
--- a/psplash-fb.c
+++ b/psplash-fb.c
@@ -3,21 +3,53 @@
*
* Copyright (c) 2006 Matthew Allum <mallum@o-hand.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
#include <endian.h>
#include "psplash.h"
+static void
+psplash_wait_for_vsync(PSplashFB *fb)
+{
+ int err = ioctl(fb->fd, FBIO_WAITFORVSYNC, 0);
+ if (err != 0)
+ fprintf(stderr, "Error, FB vsync ioctl [%d]\n", err);
+}
+
+void
+psplash_fb_flip(PSplashFB *fb, int sync)
+{
+ char *tmp;
+
+ if (fb->double_buffering) {
+
+ /* Carry out the flip after a vsync */
+ psplash_wait_for_vsync(fb);
+
+ /* Switch the current activate area in fb */
+ if (fb->fb_var.yoffset == 0 ) {
+ fb->fb_var.yoffset = fb->real_height;
+ } else {
+ fb->fb_var.yoffset = 0;
+ }
+ if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb->fb_var) == -1 ) {
+ fprintf(stderr, "psplash_fb_flip: FBIOPAN_DISPLAY failed\n");
+ }
+
+ /* Switch the front and back data pointers */
+ tmp = fb->fdata;
+ fb->fdata = fb->bdata;
+ fb->bdata = tmp;
+
+ /* Sync new front to new back when requested */
+ if (sync) {
+ memcpy(fb->bdata, fb->fdata, fb->stride * fb->real_height);
+ }
+ }
+}
+
void
psplash_fb_destroy (PSplashFB *fb)
{
@@ -163,6 +195,31 @@ psplash_fb_new (int angle, int fbdev_id)
goto fail;
}
+ /* Setup double virtual resolution for double buffering */
+ if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb_var) == -1) {
+ fprintf(stderr, "warning: FBIOPAN_DISPLAY not supported, "
+ "double buffering disabled\n");
+ } else {
+ if (fb_var.yres_virtual == fb_var.yres * 2) {
+ DBG("Virtual resolution already double");
+ fb->double_buffering = 1;
+ } else {
+ fb_var.yres_virtual = fb_var.yres * 2;
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, &fb_var) == -1) {
+ fprintf(stderr, "warning: FBIOPUT_VSCREENINFO failed, "
+ "double buffering disabled\n");
+ } else {
+ if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1) {
+ perror(" Error getting the fixed framebuffer info");
+ goto fail;
+ } else {
+ DBG("Virtual resolution set to double");
+ fb->double_buffering = 1;
+ }
+ }
+ }
+ }
+
fb->real_width = fb->width = fb_var.xres;
fb->real_height = fb->height = fb_var.yres;
fb->bpp = fb_var.bits_per_pixel;
@@ -201,8 +258,7 @@ psplash_fb_new (int angle, int fbdev_id)
fb->width, fb->height, fb->bpp, fb->stride);
fb->base = (char *) mmap ((caddr_t) NULL,
- /*fb_fix.smem_len */
- fb->stride * fb->height,
+ fb_fix.smem_len,
PROT_READ|PROT_WRITE,
MAP_SHARED,
fb->fd, 0);
@@ -217,6 +273,23 @@ psplash_fb_new (int angle, int fbdev_id)
fb->data = fb->base + off;
+ if (fb->double_buffering) {
+ /* fb_var is needed when flipping the buffers */
+ memcpy(&fb->fb_var, &fb_var, sizeof(struct fb_var_screeninfo));
+ if (fb->fb_var.yoffset == 0) {
+ printf("to back\n");
+ fb->fdata = fb->data;
+ fb->bdata = fb->data + fb->stride * fb->height;
+ } else {
+ printf("to front\n");
+ fb->fdata = fb->data + fb->stride * fb->height;
+ fb->bdata = fb->data;
+ }
+ } else {
+ fb->fdata = fb->data;
+ fb->bdata = fb->data;
+ }
+
#if 0
/* FIXME: No support for 8pp as yet */
if (visual == FB_VISUAL_PSEUDOCOLOR
@@ -274,6 +347,8 @@ psplash_fb_plot_pixel (PSplashFB *fb,
uint8 green,
uint8 blue)
{
+ /* Always write to back data (bdata) which points to the right data with or
+ * without double buffering support */
int off;
if (x < 0 || x > fb->width-1 || y < 0 || y > fb->height-1)
@@ -301,22 +376,22 @@ psplash_fb_plot_pixel (PSplashFB *fb,
{
case 24:
#if __BYTE_ORDER == __BIG_ENDIAN
- *(fb->data + off + 0) = red;
- *(fb->data + off + 1) = green;
- *(fb->data + off + 2) = blue;
+ *(fb->bdata + off + 0) = red;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = blue;
#else
- *(fb->data + off + 0) = blue;
- *(fb->data + off + 1) = green;
- *(fb->data + off + 2) = red;
+ *(fb->bdata + off + 0) = blue;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = red;
#endif
break;
case 32:
- *(volatile uint32_t *) (fb->data + off)
+ *(volatile uint32_t *) (fb->bdata + off)
= (red << 16) | (green << 8) | (blue);
break;
case 16:
- *(volatile uint16_t *) (fb->data + off)
+ *(volatile uint16_t *) (fb->bdata + off)
= ((red >> 3) << 11) | ((green >> 2) << 5) | (blue >> 3);
break;
default:
@@ -328,21 +403,21 @@ psplash_fb_plot_pixel (PSplashFB *fb,
{
case 24:
#if __BYTE_ORDER == __BIG_ENDIAN
- *(fb->data + off + 0) = blue;
- *(fb->data + off + 1) = green;
- *(fb->data + off + 2) = red;
+ *(fb->bdata + off + 0) = blue;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = red;
#else
- *(fb->data + off + 0) = red;
- *(fb->data + off + 1) = green;
- *(fb->data + off + 2) = blue;
+ *(fb->bdata + off + 0) = red;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = blue;
#endif
break;
case 32:
- *(volatile uint32_t *) (fb->data + off)
+ *(volatile uint32_t *) (fb->bdata + off)
= (blue << 16) | (green << 8) | (red);
break;
case 16:
- *(volatile uint16_t *) (fb->data + off)
+ *(volatile uint16_t *) (fb->bdata + off)
= ((blue >> 3) << 11) | ((green >> 2) << 5) | (red >> 3);
break;
default:
@@ -353,13 +428,13 @@ psplash_fb_plot_pixel (PSplashFB *fb,
switch (fb->bpp)
{
case 32:
- *(volatile uint32_t *) (fb->data + off)
+ *(volatile uint32_t *) (fb->bdata + off)
= ((red >> (8 - fb->red_length)) << fb->red_offset)
| ((green >> (8 - fb->green_length)) << fb->green_offset)
| ((blue >> (8 - fb->blue_length)) << fb->blue_offset);
break;
case 16:
- *(volatile uint16_t *) (fb->data + off)
+ *(volatile uint16_t *) (fb->bdata + off)
= ((red >> (8 - fb->red_length)) << fb->red_offset)
| ((green >> (8 - fb->green_length)) << fb->green_offset)
| ((blue >> (8 - fb->blue_length)) << fb->blue_offset);
@@ -483,7 +558,8 @@ psplash_fb_text_size (int *width,
if (*c == '\n')
{
if (w > mw)
- mw = 0;
+ mw = w;
+ w = 0;
h += font->height;
continue;
}
diff --git a/psplash-fb.h b/psplash-fb.h
index d0dce10..16e2b20 100644
--- a/psplash-fb.h
+++ b/psplash-fb.h
@@ -3,15 +3,7 @@
*
* Copyright (c) 2006 Matthew Allum <mallum@o-hand.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
@@ -29,6 +21,7 @@ enum RGBMode {
typedef struct PSplashFB
{
int fd;
+ struct fb_var_screeninfo fb_var;
struct termios save_termios;
int type;
int visual;
@@ -38,6 +31,11 @@ typedef struct PSplashFB
char *data;
char *base;
+ /* Support for double buffering */
+ int double_buffering;
+ char *bdata;
+ char *fdata;
+
int angle, fbdev_id;
int real_width, real_height;
@@ -93,5 +91,7 @@ psplash_fb_draw_text (PSplashFB *fb,
const PSplashFont *font,
const char *text);
+void
+psplash_fb_flip(PSplashFB *fb, int sync);
#endif
diff --git a/psplash-hand-img.h b/psplash-hand-img.h
deleted file mode 100644
index a015e2c..0000000
--- a/psplash-hand-img.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-
-#define HAND_IMG_ROWSTRIDE (400)
-#define HAND_IMG_WIDTH (100)
-#define HAND_IMG_HEIGHT (106)
-#define HAND_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
-#define HAND_IMG_RLE_PIXEL_DATA ((uint8*) \
- "\204\354\354\341\377\10\337\337\325\377\262\262\255\377\230\230\226\377" \
- "}}\177\377vvx\377\217\217\217\377\252\252\246\377\320\320\310\377\216" \
- "\354\354\341\377\10\350\350\335\377\271\271\263\377\235\235\233\377\202" \
- "\202\203\377ssv\377\212\212\212\377\245\245\242\377\306\306\277\377\216" \
- "\354\354\341\377\11\352\352\337\377\276\276\270\377\241\241\236\377\206" \
- "\206\207\377ssu\377\206\206\207\377\241\241\236\377\276\276\270\377\352" \
- "\352\337\377\216\354\354\341\377\10\311\311\302\377\246\246\243\377\214" \
- "\214\213\377ttv\377\201\201\202\377\234\234\232\377\267\267\262\377\346" \
- "\346\333\377\230\354\354\341\377\2\277\277\271\377uuw\377\207mmp\377" \
- "\2\245\245\242\377\350\350\335\377\213\354\354\341\377\2\320\320\310" \
- "\377\200\200\201\377\207mmp\377\2\224\224\223\377\340\340\326\377\213" \
- "\354\354\341\377\2\330\330\317\377\210\210\210\377\207mmp\377\2\207\207" \
- "\207\377\327\327\316\377\213\354\354\341\377\2\343\343\331\377\231\231" \
- "\227\377\207mmp\377\2||~\377\314\314\304\377\226\354\354\341\377\1\234" \
- "\234\232\377\212mmp\377\2\201\201\202\377\343\343\331\377\211\354\354" \
- "\341\377\2\267\267\262\377nnq\377\211mmp\377\2vvx\377\323\323\312\377" \
- "\211\354\354\341\377\2\304\304\275\377pps\377\211mmp\377\2pps\377\301" \
- "\301\272\377\211\354\354\341\377\2\330\330\317\377yy{\377\212mmp\377" \
- "\1\260\260\253\377\224\354\354\341\377\1\276\276\270\377\214mmp\377\1" \
- "\232\232\230\377\210\354\354\341\377\2\326\326\315\377pps\377\213mmp" \
- "\377\2\201\201\202\377\350\350\335\377\207\354\354\341\377\2\340\340" \
- "\326\377vvx\377\213mmp\377\2ttv\377\336\336\324\377\207\354\354\341\377" \
- "\2\352\352\337\377\207\207\207\377\213mmp\377\2nnq\377\320\320\310\377" \
- "\222\354\354\341\377\2\337\337\325\377uuw\377\215mmp\377\1\303\303\275" \
- "\377\206\354\354\341\377\2\352\352\337\377\205\205\206\377\215mmp\377" \
- "\1\247\247\244\377\207\354\354\341\377\1\223\223\222\377\215mmp\377\1" \
- "\220\220\217\377\207\354\354\341\377\1\257\257\253\377\215mmp\377\2\200" \
- "\200\201\377\347\347\335\377\221\354\354\341\377\1\257\257\253\377\216" \
- "mmp\377\1\213\213\213\377\206\354\354\341\377\1\313\313\304\377\216m" \
- "mp\377\2qqt\377\352\352\337\377\205\354\354\341\377\1\333\333\322\377" \
- "\217mmp\377\1\327\327\316\377\206\354\354\341\377\1wwy\377\216mmp\377" \
- "\1\303\303\275\377\221\354\354\341\377\1\226\226\225\377\216mmp\377\2" \
- "rrt\377\353\353\340\377\205\354\354\341\377\1\262\262\256\377\217mmp" \
- "\377\1\326\326\315\377\205\354\354\341\377\1\302\302\274\377\217mmp\377" \
- "\1\274\274\266\377\205\354\354\341\377\1\336\336\325\377\217mmp\377\1" \
- "\252\252\246\377\221\354\354\341\377\1}}\177\377\217mmp\377\1\326\326" \
- "\315\377\205\354\354\341\377\1\231\231\227\377\217mmp\377\1\275\275\267" \
- "\377\205\354\354\341\377\1\251\251\246\377\217mmp\377\1\242\242\237\377" \
- "\205\354\354\341\377\1\305\305\276\377\217mmp\377\1\221\221\220\377\221" \
- "\354\354\341\377\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210" \
- "\210\210\377\217mmp\377\1\254\254\250\377\205\354\354\341\377\1\230\230" \
- "\226\377\217mmp\377\1\220\220\217\377\205\354\354\341\377\1\264\264\257" \
- "\377\217mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp\377\1\304" \
- "\304\275\377\205\354\354\341\377\1\210\210\210\377\217mmp\377\1\254\254" \
- "\250\377\205\354\354\341\377\1\230\230\226\377\217mmp\377\1\220\220\217" \
- "\377\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377" \
- "\221\354\354\341\377\220mmp\377\1\304\304\275\377\205\354\354\341\377" \
- "\1\210\210\210\377\217mmp\377\1\254\254\250\377\205\354\354\341\377\1" \
- "\230\230\226\377\217mmp\377\1\220\220\217\377\205\354\354\341\377\1\264" \
- "\264\257\377\217mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp" \
- "\377\1\304\304\275\377\205\354\354\341\377\1\210\210\210\377\217mmp\377" \
- "\1\254\254\250\377\205\354\354\341\377\1\230\230\226\377\217mmp\377\1" \
- "\220\220\217\377\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200" \
- "\200\201\377\221\354\354\341\377\220mmp\377\1\304\304\275\377\205\354" \
- "\354\341\377\1\210\210\210\377\217mmp\377\1\254\254\250\377\205\354\354" \
- "\341\377\1\230\230\226\377\217mmp\377\1\220\220\217\377\205\354\354\341" \
- "\377\1\264\264\257\377\217mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210\210\210\377\217" \
- "mmp\377\1\254\254\250\377\205\354\354\341\377\1\230\230\226\377\217m" \
- "mp\377\1\220\220\217\377\205\354\354\341\377\1\264\264\257\377\217mm" \
- "p\377\1\200\200\201\377\221\354\354\341\377\220mmp\377\1\304\304\275" \
- "\377\205\354\354\341\377\1\210\210\210\377\217mmp\377\1\254\254\250\377" \
- "\205\354\354\341\377\1\230\230\226\377\217mmp\377\1\220\220\217\377\205" \
- "\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377\221\354" \
- "\354\341\377\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210\210" \
- "\210\377\217mmp\377\1\254\254\250\377\205\354\354\341\377\1\230\230\226" \
- "\377\217mmp\377\1\220\220\217\377\205\354\354\341\377\1\264\264\257\377" \
- "\217mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp\377\1\304\304" \
- "\275\377\205\354\354\341\377\1\210\210\210\377\217mmp\377\1\254\254\250" \
- "\377\205\354\354\341\377\1\230\230\226\377\217mmp\377\1\220\220\217\377" \
- "\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377\221" \
- "\354\354\341\377\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210" \
- "\210\210\377\217mmp\377\1\254\254\250\377\205\354\354\341\377\1\230\230" \
- "\226\377\217mmp\377\1\220\220\217\377\205\354\354\341\377\1\264\264\257" \
- "\377\217mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp\377\1\304" \
- "\304\275\377\205\354\354\341\377\1\210\210\210\377\217mmp\377\1\254\254" \
- "\250\377\205\354\354\341\377\1\230\230\226\377\217mmp\377\1\220\220\217" \
- "\377\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377" \
- "\221\354\354\341\377\220mmp\377\1\304\304\275\377\205\354\354\341\377" \
- "\1\210\210\210\377\217mmp\377\1\254\254\250\377\205\354\354\341\377\1" \
- "\230\230\226\377\217mmp\377\1\220\220\217\377\205\354\354\341\377\1\264" \
- "\264\257\377\217mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp" \
- "\377\1\304\304\275\377\205\354\354\341\377\1\210\210\210\377\217mmp\377" \
- "\1\254\254\250\377\205\354\354\341\377\1\230\230\226\377\217mmp\377\1" \
- "\220\220\217\377\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200" \
- "\200\201\377\221\354\354\341\377\220mmp\377\1\304\304\275\377\205\354" \
- "\354\341\377\1\210\210\210\377\217mmp\377\1\254\254\250\377\205\354\354" \
- "\341\377\1\230\230\226\377\217mmp\377\1\220\220\217\377\205\354\354\341" \
- "\377\1\264\264\257\377\217mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210\210\210\377\217" \
- "mmp\377\1\254\254\250\377\205\354\354\341\377\1\230\230\226\377\217m" \
- "mp\377\1\220\220\217\377\205\354\354\341\377\1\264\264\257\377\217mm" \
- "p\377\1\200\200\201\377\221\354\354\341\377\220mmp\377\1\304\304\275" \
- "\377\205\354\354\341\377\1\210\210\210\377\217mmp\377\7\221\221\220\377" \
- "\263\263\256\377\255\255\251\377\251\251\246\377\256\256\252\377\263" \
- "\263\256\377\206\206\206\377\217mmp\377\1\220\220\217\377\205\354\354" \
- "\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377\221\354\354\341" \
- "\377\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210\210\210\377" \
- "\245mmp\377\1\220\220\217\377\205\354\354\341\377\1\264\264\257\377\217" \
- "mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp\377\1\304\304\275" \
- "\377\205\354\354\341\377\1\210\210\210\377\245mmp\377\1\220\220\217\377" \
- "\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377\221" \
- "\354\354\341\377\220mmp\377\1\304\304\275\377\205\354\354\341\377\1\210" \
- "\210\210\377\245mmp\377\1\220\220\217\377\205\354\354\341\377\1\264\264" \
- "\257\377\217mmp\377\1\200\200\201\377\221\354\354\341\377\220mmp\377" \
- "\1\304\304\275\377\205\354\354\341\377\1\210\210\210\377\245mmp\377\1" \
- "\220\220\217\377\205\354\354\341\377\1\264\264\257\377\217mmp\377\1\200" \
- "\200\201\377\221\354\354\341\377\220mmp\377\1\304\304\275\377\204\354" \
- "\354\341\377\2\302\302\273\377ttw\377\245mmp\377\2wwy\377\310\310\301" \
- "\377\204\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201\377" \
- "\221\354\354\341\377\220mmp\377\1\304\304\275\377\202\354\354\341\377" \
- "\2\335\335\323\377\223\223\222\377\251mmp\377\2\231\231\227\377\341\341" \
- "\327\377\202\354\354\341\377\1\264\264\257\377\217mmp\377\1\200\200\201" \
- "\377\221\354\354\341\377\220mmp\377\4\304\304\275\377\352\352\337\377" \
- "\264\264\257\377rru\377\253mmp\377\4uuw\377\274\274\266\377\354\354\341" \
- "\377\264\264\257\377\217mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\220mmp\377\2\253\253\247\377\206\206\206\377\257mmp\377\2\216\216\215" \
- "\377\243\243\240\377\217mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\242mmp\377\17\201\201\202\377\230\230\226\377\245\245\242\377\261\261" \
- "\255\377\276\276\270\377\313\313\303\377\330\330\317\377\341\341\327" \
- "\377\327\327\316\377\312\312\303\377\275\275\267\377\261\261\254\377" \
- "\244\244\241\377\227\227\226\377\177\177\200\377\241mmp\377\1\200\200" \
- "\201\377\221\354\354\341\377\237mmp\377\3\212\212\212\377\262\262\255" \
- "\377\331\331\320\377\217\354\354\341\377\3\327\327\316\377\257\257\252" \
- "\377\207\207\207\377\236mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\234mmp\377\3\214\214\213\377\273\273\265\377\341\341\327\377\225\354" \
- "\354\341\377\3\337\337\325\377\267\267\262\377\206\206\207\377\233mm" \
- "p\377\1\200\200\201\377\221\354\354\341\377\232mmp\377\2\203\203\203" \
- "\377\307\307\300\377\232\354\354\341\377\3\353\353\340\377\300\300\272" \
- "\377}}\177\377\231mmp\377\1\200\200\201\377\221\354\354\341\377\230m" \
- "mp\377\3zz|\377\273\273\266\377\353\353\340\377\235\354\354\341\377\3" \
- "\351\351\336\377\264\264\257\377vvx\377\227mmp\377\1\200\200\201\377" \
- "\221\354\354\341\377\226mmp\377\3pps\377\260\260\253\377\347\347\335" \
- "\377\241\354\354\341\377\2\344\344\331\377\246\246\242\377\226mmp\377" \
- "\1\200\200\201\377\221\354\354\341\377\225mmp\377\2xxz\377\320\320\310" \
- "\377\245\354\354\341\377\2\305\305\276\377ssu\377\224mmp\377\1\200\200" \
- "\201\377\221\354\354\341\377\224mmp\377\2\206\206\207\377\336\336\325" \
- "\377\247\354\354\341\377\2\326\326\315\377~~\177\377\223mmp\377\1\200" \
- "\200\201\377\221\354\354\341\377\223mmp\377\2\231\231\227\377\347\347" \
- "\335\377\251\354\354\341\377\2\343\343\331\377\216\216\215\377\222mm" \
- "p\377\1\200\200\201\377\221\354\354\341\377\222mmp\377\1\255\255\251" \
- "\377\254\354\354\341\377\2\352\352\337\377\237\237\235\377\221mmp\377" \
- "\1\200\200\201\377\221\354\354\341\377\221mmp\377\1\240\240\236\377\256" \
- "\354\354\341\377\2\353\353\340\377\222\222\221\377\220mmp\377\1\200\200" \
- "\201\377\221\354\354\341\377\220mmp\377\2\215\215\214\377\352\352\337" \
- "\377\257\354\354\341\377\2\345\345\332\377\201\201\202\377\217mmp\377" \
- "\1\200\200\201\377\221\354\354\341\377\217mmp\377\2}}\177\377\342\342" \
- "\330\377\261\354\354\341\377\2\332\332\321\377uuw\377\216mmp\377\1\200" \
- "\200\201\377\221\354\354\341\377\216mmp\377\2ssu\377\327\327\316\377" \
- "\263\354\354\341\377\2\313\313\304\377nnq\377\215mmp\377\1\200\200\201" \
- "\377\221\354\354\341\377\216mmp\377\1\302\302\274\377\265\354\354\341" \
- "\377\1\262\262\256\377\215mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\215mmp\377\1\214\214\214\377\266\354\354\341\377\2\351\351\336\377~" \
- "~\177\377\214mmp\377\1\200\200\201\377\221\354\354\341\377\215mmp\377" \
- "\1\322\322\311\377\227\354\354\341\377\11\341\341\327\377\304\304\275" \
- "\377\270\270\262\377\253\253\247\377\243\243\240\377\255\255\251\377" \
- "\271\271\264\377\306\306\277\377\344\344\332\377\227\354\354\341\377" \
- "\1\301\301\273\377\214mmp\377\1\200\200\201\377\221\354\354\341\377\214" \
- "mmp\377\1\231\231\227\377\225\354\354\341\377\3\343\343\331\377\263\263" \
- "\256\377\212\212\212\377\210mmp\377\4oor\377\217\217\217\377\270\270" \
- "\262\377\347\347\334\377\225\354\354\341\377\1\207\207\207\377\213mm" \
- "p\377\1\200\200\201\377\221\354\354\341\377\213mmp\377\2oor\377\333\333" \
- "\322\377\223\354\354\341\377\3\347\347\335\377\260\260\253\377ttw\377" \
- "\215mmp\377\3yy{\377\270\270\263\377\352\352\337\377\223\354\354\341" \
- "\377\1\314\314\304\377\213mmp\377\1\200\200\201\377\221\354\354\341\377" \
- "\213mmp\377\1\245\245\242\377\223\354\354\341\377\2\322\322\312\377{" \
- "{}\377\221mmp\377\2\203\203\203\377\333\333\321\377\223\354\354\341\377" \
- "\1\221\221\220\377\212mmp\377\1\200\200\201\377\221\354\354\341\377\213" \
- "mmp\377\1\334\334\322\377\222\354\354\341\377\2\301\301\272\377qqs\377" \
- "\223mmp\377\2vvx\377\314\314\305\377\222\354\354\341\377\1\310\310\301" \
- "\377\212mmp\377\1\200\200\201\377\221\354\354\341\377\212mmp\377\1\204" \
- "\204\204\377\222\354\354\341\377\1\273\273\266\377\226mmp\377\2oor\377" \
- "\311\311\301\377\221\354\354\341\377\2\351\351\336\377ssv\377\211mmp" \
- "\377\1\200\200\201\377\221\354\354\341\377\212mmp\377\1\254\254\250\377" \
- "\221\354\354\341\377\2\315\315\305\377oor\377\227mmp\377\2ttw\377\330" \
- "\330\317\377\221\354\354\341\377\1\230\230\226\377\211mmp\377\1\200\200" \
- "\201\377\221\354\354\341\377\212mmp\377\1\323\323\313\377\220\354\354" \
- "\341\377\2\336\336\325\377vvx\377\231mmp\377\2\177\177\200\377\346\346" \
- "\334\377\220\354\354\341\377\1\277\277\271\377\211mmp\377\1\200\200\201" \
- "\377\221\354\354\341\377\211mmp\377\1||}\377\221\354\354\341\377\1\234" \
- "\234\232\377\233mmp\377\1\254\254\250\377\220\354\354\341\377\2\344\344" \
- "\332\377oor\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\211" \
- "mmp\377\1\243\243\240\377\220\354\354\341\377\1\324\324\314\377\234m" \
- "mp\377\2rrt\377\340\340\326\377\220\354\354\341\377\1\217\217\217\377" \
- "\210mmp\377\1\200\200\201\377\221\354\354\341\377\211mmp\377\1\301\301" \
- "\272\377\220\354\354\341\377\1\225\225\224\377\235mmp\377\1\245\245\242" \
- "\377\220\354\354\341\377\1\255\255\251\377\210mmp\377\1\200\200\201\377" \
- "\221\354\354\341\377\211mmp\377\1\316\316\306\377\217\354\354\341\377" \
- "\2\347\347\335\377qqs\377\235mmp\377\1||~\377\220\354\354\341\377\1\272" \
- "\272\264\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\211mmp" \
- "\377\1\332\332\321\377\217\354\354\341\377\1\305\305\276\377\237mmp\377" \
- "\1\325\325\314\377\217\354\354\341\377\1\306\306\277\377\210mmp\377\1" \
- "\200\200\201\377\221\354\354\341\377\211mmp\377\1\347\347\335\377\217" \
- "\354\354\341\377\1\242\242\237\377\237mmp\377\1\262\262\255\377\217\354" \
- "\354\341\377\1\323\323\313\377\210mmp\377\1\200\200\201\377\221\354\354" \
- "\341\377\210mmp\377\1ttw\377\220\354\354\341\377\1\222\222\221\377\237" \
- "mmp\377\1\242\242\237\377\217\354\354\341\377\1\340\340\326\377\210m" \
- "mp\377\1\200\200\201\377\221\354\354\341\377\210mmp\377\1\201\201\202" \
- "\377\220\354\354\341\377\1\204\204\205\377\237mmp\377\1\224\224\223\377" \
- "\217\354\354\341\377\2\353\353\340\377nnq\377\207mmp\377\1\200\200\201" \
- "\377\221\354\354\341\377\210mmp\377\1\214\214\214\377\220\354\354\341" \
- "\377\1xxz\377\237mmp\377\1\210\210\210\377\220\354\354\341\377\1xxz\377" \
- "\207mmp\377\1\200\200\201\377\221\354\354\341\377\1wwy\377\207mmp\377" \
- "\1\206\206\206\377\220\354\354\341\377\1~~\177\377\237mmp\377\1\216\216" \
- "\216\377\220\354\354\341\377\1rrt\377\207mmp\377\1\200\200\201\377\221" \
- "\354\354\341\377\1\204\204\204\377\207mmp\377\1yy{\377\220\354\354\341" \
- "\377\1\214\214\213\377\237mmp\377\1\234\234\232\377\217\354\354\341\377" \
- "\1\345\345\332\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\1" \
- "\221\221\220\377\207mmp\377\2nnq\377\352\352\337\377\217\354\354\341" \
- "\377\1\231\231\227\377\237mmp\377\1\251\251\246\377\217\354\354\341\377" \
- "\1\330\330\317\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\1" \
- "\236\236\233\377\210mmp\377\1\337\337\325\377\217\354\354\341\377\1\264" \
- "\264\257\377\237mmp\377\1\304\304\275\377\217\354\354\341\377\1\313\313" \
- "\304\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\1\253\253\247" \
- "\377\210mmp\377\1\322\322\312\377\217\354\354\341\377\1\333\333\321\377" \
- "\236mmp\377\2pps\377\346\346\334\377\217\354\354\341\377\1\276\276\270" \
- "\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\1\270\270\262\377" \
- "\210mmp\377\1\306\306\277\377\220\354\354\341\377\1\202\202\203\377\235" \
- "mmp\377\1\222\222\221\377\220\354\354\341\377\1\262\262\255\377\210m" \
- "mp\377\1\200\200\201\377\221\354\354\341\377\1\305\305\276\377\210mm" \
- "p\377\1\261\261\255\377\220\354\354\341\377\1\267\267\262\377\235mmp" \
- "\377\1\307\307\300\377\220\354\354\341\377\1\235\235\233\377\210mmp\377" \
- "\1\200\200\201\377\221\354\354\341\377\1\322\322\311\377\210mmp\377\1" \
- "\212\212\212\377\220\354\354\341\377\2\352\352\337\377\201\201\202\377" \
- "\233mmp\377\1\216\216\216\377\220\354\354\341\377\2\353\353\340\377w" \
- "wy\377\210mmp\377\1\200\200\201\377\221\354\354\341\377\2\347\347\334" \
- "\377qqs\377\210mmp\377\1\341\341\327\377\220\354\354\341\377\1\306\306" \
- "\277\377\232mmp\377\2nnq\377\324\324\314\377\220\354\354\341\377\1\316" \
- "\316\306\377\211mmp\377\1\200\200\201\377\222\354\354\341\377\1\224\224" \
- "\223\377\210mmp\377\1\273\273\265\377\221\354\354\341\377\1\245\245\242" \
- "\377\231mmp\377\1\264\264\257\377\221\354\354\341\377\1\247\247\243\377" \
- "\211mmp\377\1\200\200\201\377\222\354\354\341\377\1\273\273\266\377\210" \
- "mmp\377\1\223\223\222\377\221\354\354\341\377\2\353\353\340\377\221\221" \
- "\220\377\227mmp\377\1\235\235\233\377\222\354\354\341\377\1\177\177\200" \
- "\377\211mmp\377\1\200\200\201\377\222\354\354\341\377\2\342\342\330\377" \
- "nnq\377\207mmp\377\2pps\377\346\346\334\377\221\354\354\341\377\2\345" \
- "\345\333\377\217\217\217\377\225mmp\377\2\230\230\226\377\351\351\336" \
- "\377\221\354\354\341\377\1\327\327\316\377\212mmp\377\1\200\200\201\377" \
- "\223\354\354\341\377\1\213\213\213\377\210mmp\377\1\275\275\267\377\222" \
- "\354\354\341\377\2\352\352\337\377\243\243\240\377\223mmp\377\1\257\257" \
- "\252\377\223\354\354\341\377\1\251\251\246\377\212mmp\377\1\200\200\201" \
- "\377\223\354\354\341\377\1\263\263\256\377\210mmp\377\2}}~\377\351\351" \
- "\336\377\223\354\354\341\377\2\302\302\274\377~~\177\377\217mmp\377\2" \
- "\205\205\206\377\313\313\304\377\223\354\354\341\377\2\340\340\326\377" \
- "rrt\377\212mmp\377\1\200\200\201\377\223\354\354\341\377\1\332\332\321" \
- "\377\211mmp\377\1\263\263\256\377\224\354\354\341\377\3\351\351\336\377" \
- "\267\267\262\377\177\177\200\377\213mmp\377\3\204\204\204\377\277\277" \
- "\271\377\353\353\340\377\224\354\354\341\377\1\240\240\236\377\213mm" \
- "p\377\1\200\200\201\377\224\354\354\341\377\1\203\203\204\377\210mmp" \
- "\377\2uuw\377\344\344\331\377\226\354\354\341\377\13\326\326\315\377" \
- "\256\256\252\377\220\220\217\377\202\202\203\377uuw\377mmp\377vvx\377" \
- "\204\204\204\377\222\222\221\377\263\263\256\377\333\333\322\377\226" \
- "\354\354\341\377\2\331\331\320\377nnq\377\213mmp\377\1\200\200\201\377" \
- "\224\354\354\341\377\1\300\300\272\377\211mmp\377\1\247\247\243\377\233" \
- "\354\354\341\377\1\353\353\340\377\233\354\354\341\377\1\226\226\224" \
- "\377\214mmp\377\1\200\200\201\377\224\354\354\341\377\2\353\353\340\377" \
- "\207\207\207\377\210mmp\377\2pps\377\334\334\323\377\265\354\354\341" \
- "\377\1\320\320\310\377\215mmp\377\1\200\200\201\377\225\354\354\341\377" \
- "\1\314\314\305\377\211mmp\377\2\211\211\211\377\350\350\335\377\263\354" \
- "\354\341\377\2\343\343\331\377~~\177\377\215mmp\377\1\200\200\201\377" \
- "\226\354\354\341\377\1\222\222\221\377\211mmp\377\1\234\234\232\377\262" \
- "\354\354\341\377\2\352\352\337\377\216\216\215\377\216mmp\377\1\200\200" \
- "\201\377\226\354\354\341\377\2\327\327\316\377nnq\377\211mmp\377\1\262" \
- "\262\255\377\261\354\354\341\377\1\242\242\237\377\217mmp\377\1\200\200" \
- "\201\377\227\354\354\341\377\1\236\236\234\377\212mmp\377\1\307\307\300" \
- "\377\257\354\354\341\377\1\270\270\263\377\220mmp\377\1\200\200\201\377" \
- "\227\354\354\341\377\2\337\337\325\377rru\377\211mmp\377\2ssv\377\326" \
- "\326\315\377\255\354\354\341\377\2\312\312\303\377oor\377\220mmp\377" \
- "\1\200\200\201\377\230\354\354\341\377\1\304\304\275\377\212mmp\377\2" \
- "ttv\377\310\310\301\377\253\354\354\341\377\2\274\274\266\377pps\377" \
- "\221mmp\377\1\200\200\201\377\231\354\354\341\377\1\257\257\252\377\212" \
- "mmp\377\2nnq\377\263\263\256\377\250\354\354\341\377\2\353\353\340\377" \
- "\246\246\243\377\223mmp\377\1{{|\377\210\314\314\304\377\2\315\315\305" \
- "\377\337\337\325\377\220\354\354\341\377\1\231\231\227\377\213mmp\377" \
- "\2\235\235\233\377\351\351\336\377\245\354\354\341\377\2\345\345\332" \
- "\377\221\221\220\377\237mmp\377\3yy{\377\224\224\223\377\314\314\304" \
- "\377\215\354\354\341\377\2\350\350\335\377\210\210\210\377\213mmp\377" \
- "\2\212\212\212\377\336\336\325\377\243\354\354\341\377\2\327\327\316" \
- "\377\201\201\202\377\243mmp\377\2\240\240\236\377\345\345\333\377\214" \
- "\354\354\341\377\2\340\340\326\377zz|\377\213mmp\377\3qqs\377\251\251" \
- "\245\377\344\344\332\377\237\354\354\341\377\3\340\340\326\377\241\241" \
- "\236\377nnq\377\245mmp\377\2\204\204\204\377\351\351\336\377\214\354" \
- "\354\341\377\2\323\323\312\377rrt\377\214mmp\377\3vvx\377\263\263\256" \
- "\377\350\350\335\377\233\354\354\341\377\3\346\346\333\377\253\253\247" \
- "\377rrt\377\250mmp\377\1\251\251\246\377\215\354\354\341\377\2\323\323" \
- "\312\377zz|\377\215mmp\377\3||}\377\274\274\266\377\347\347\334\377\227" \
- "\354\354\341\377\3\344\344\332\377\266\266\261\377wwy\377\252mmp\377" \
- "\2nnq\377\323\323\313\377\215\354\354\341\377\2\340\340\326\377\211\211" \
- "\211\377\216mmp\377\4pps\377\223\223\222\377\272\272\265\377\341\341" \
- "\327\377\221\354\354\341\377\4\336\336\325\377\267\267\262\377\217\217" \
- "\217\377oor\377\255mmp\377\1\253\253\247\377\216\354\354\341\377\2\350" \
- "\350\335\377\234\234\232\377\221mmp\377\6\212\212\212\377\261\261\254" \
- "\377\310\310\301\377\325\325\314\377\341\341\327\377\353\353\340\377" \
- "\205\354\354\341\377\6\353\353\340\377\341\341\327\377\324\324\313\377" \
- "\307\307\300\377\257\257\252\377\207\207\207\377\261mmp\377\1\221\221" \
- "\220\377\220\354\354\341\377\2\263\263\256\377nnq\377\224mmp\377\7oo" \
- "r\377{{|\377\210\210\210\377\221\221\220\377\207\207\207\377zz|\377n" \
- "nq\377\266mmp\377\1vvx\377\221\354\354\341\377\2\310\310\301\377ttw\377" \
- "\320mmp\377\1}}~\377\222\354\354\341\377\3\341\341\327\377\242\242\237" \
- "\377oor\377\316mmp\377\1\227\227\226\377\224\354\354\341\377\2\332\332" \
- "\321\377\227\227\225\377\315mmp\377\1\262\262\255\377\226\354\354\341" \
- "\377\2\321\321\311\377\214\214\214\377\312mmp\377\2uuw\377\337\337\325" \
- "\377\230\354\354\341\377\2\307\307\300\377\210\210\210\377\310mmp\377" \
- "\1\277\277\271\377\233\354\354\341\377\4\336\336\324\377\267\267\262" \
- "\377\217\217\217\377oor\377\303mmp\377\1\235\235\232\377\237\354\354" \
- "\341\377\4\345\345\332\377\300\300\272\377\230\230\226\377ttv\377\276" \
- "mmp\377\2uuw\377\277\277\271\377\243\354\354\341\377\11\351\351\336\377" \
- "\323\323\313\377\306\306\277\377\271\271\264\377\254\254\250\377\237" \
- "\237\235\377\222\222\221\377\205\205\206\377yy{\377\263mmp\377\4~~\177" \
- "\377\227\227\226\377\260\260\254\377\340\340\326\377\204\354\354\341" \
- "\377")
-
-
diff --git a/psplash-poky-img.h b/psplash-poky-img.h
deleted file mode 100644
index 76267e6..0000000
--- a/psplash-poky-img.h
+++ /dev/null
@@ -1,1021 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-
-#define POKY_IMG_ROWSTRIDE (1708)
-#define POKY_IMG_WIDTH (427)
-#define POKY_IMG_HEIGHT (214)
-#define POKY_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
-#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \
- "\377\363ZE\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\377\363Z" \
- "E\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\377\363" \
- "ZE\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\217\363ZE\0\6\312\335\216\377" \
- "\300\327z\377\306\327\202\377\312\335\216\377\322\341\240\377\342\350" \
- "\266\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\250\363ZE\0\1\267\317^\377" \
- "\206\253\307F\377\5\261\310P\377\263\313Z\377\300\324q\377\311\331\205" \
- "\377\332\344\253\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\242\363ZE\0" \
- "\1\267\317^\377\213\253\307F\377\4\261\310P\377\266\320f\377\311\331" \
- "\205\377\333\350\264\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\236\363" \
- "ZE\0\1\267\317^\377\217\253\307F\377\2\263\312R\377\306\327\202\377\377" \
- "\363ZE\0\377\363ZE\0\377\363ZE\0\234\363ZE\0\1\267\317^\377\222\253\307" \
- "F\377\2\267\317^\377\322\340\231\377\377\363ZE\0\377\363ZE\0\377\363" \
- "ZE\0\231\363ZE\0\1\267\317^\377\224\253\307F\377\2\252\310O\377\312\335" \
- "\216\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\227\363ZE\0\1\267\317^\377" \
- "\226\253\307F\377\2\252\310O\377\312\335\216\377\377\363ZE\0\377\363" \
- "ZE\0\377\363ZE\0\225\363ZE\0\1\267\317^\377\230\253\307F\377\2\263\313" \
- "Z\377\324\344\243\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\223\363ZE\0" \
- "\1\267\317^\377\232\253\307F\377\1\276\321h\377\377\363ZE\0\377\363Z" \
- "E\0\377\363ZE\0\222\363ZE\0\1\267\317^\377\233\253\307F\377\2\262\311" \
- "Q\377\321\336\227\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\220\363ZE\0" \
- "\1\267\317^\377\235\253\307F\377\1\274\321n\377\377\363ZE\0\377\363Z" \
- "E\0\377\363ZE\0\217\363ZE\0\1\267\317^\377\236\253\307F\377\1\263\313" \
- "Z\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\216\363ZE\0\1\267\317^\377" \
- "\237\253\307F\377\2\261\310P\377\332\344\253\377\377\363ZE\0\377\363" \
- "ZE\0\377\363ZE\0\214\363ZE\0\1\267\317^\377\241\253\307F\377\1\321\336" \
- "\227\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\213\363ZE\0\1\267\317^\377" \
- "\242\253\307F\377\1\306\327\202\377\377\363ZE\0\377\363ZE\0\377\363Z" \
- "E\0\212\363ZE\0\1\267\317^\377\243\253\307F\377\1\300\327z\377\377\363" \
- "ZE\0\377\363ZE\0\377\363ZE\0\211\363ZE\0\1\267\317^\377\244\253\307F" \
- "\377\1\303\331|\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\210\363ZE\0\1" \
- "\267\317^\377\245\253\307F\377\1\311\331\205\377\377\363ZE\0\377\363" \
- "ZE\0\377\363ZE\0\207\363ZE\0\1\267\317^\377\245\253\307F\377\2\261\307" \
- "G\377\322\341\240\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\206\363ZE\0" \
- "\1\267\317^\377\246\253\307F\377\2\252\310O\377\333\350\264\377\377\363" \
- "ZE\0\377\363ZE\0\377\363ZE\0\205\363ZE\0\1\267\317^\377\247\253\307F" \
- "\377\1\262\311Q\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\205\363ZE\0\1" \
- "\267\317^\377\250\253\307F\377\1\276\321h\377\377\363ZE\0\377\363ZE\0" \
- "\377\363ZE\0\204\363ZE\0\1\267\317^\377\251\253\307F\377\1\312\335\216" \
- "\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\203\363ZE\0\1\267\317^\377\251" \
- "\253\307F\377\1\252\310O\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\203" \
- "\363ZE\0\1\267\317^\377\252\253\307F\377\1\274\317f\377\377\363ZE\0\377" \
- "\363ZE\0\377\363ZE\0\202\363ZE\0\1\267\317^\377\253\253\307F\377\1\312" \
- "\335\216\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\2\363ZE\0\267\317^\377" \
- "\253\253\307F\377\1\263\312R\377\377\363ZE\0\377\363ZE\0\377\363ZE\0" \
- "\2\363ZE\0\267\317^\377\254\253\307F\377\1\306\327\202\377\377\363ZE" \
- "\0\377\363ZE\0\377\363ZE\0\1\267\317^\377\254\253\307F\377\1\262\311" \
- "Q\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\1\267\317^\377\255\253\307" \
- "F\377\1\300\327z\377\377\363ZE\0\377\363ZE\0\376\363ZE\0\1\267\317^\377" \
- "\255\253\307F\377\1\261\310P\377\377\363ZE\0\377\363ZE\0\376\363ZE\0" \
- "\1\267\317^\377\256\253\307F\377\1\311\331\205\377\377\363ZE\0\377\363" \
- "ZE\0\375\363ZE\0\1\267\317^\377\256\253\307F\377\1\252\310O\377\377\363" \
- "ZE\0\377\363ZE\0\375\363ZE\0\1\267\317^\377\257\253\307F\377\1\322\341" \
- "\240\377\377\363ZE\0\377\363ZE\0\374\363ZE\0\1\267\317^\377\257\253\307" \
- "F\377\1\267\317^\377\377\363ZE\0\377\363ZE\0\374\363ZE\0\1\267\317^\377" \
- "\260\253\307F\377\377\363ZE\0\377\363ZE\0\374\363ZE\0\1\267\317^\377" \
- "\260\253\307F\377\1\322\340\231\377\377\363ZE\0\377\363ZE\0\373\363Z" \
- "E\0\1\267\317^\377\260\253\307F\377\1\266\320f\377\377\363ZE\0\377\363" \
- "ZE\0\373\363ZE\0\1\267\317^\377\260\253\307F\377\1\252\310O\377\377\363" \
- "ZE\0\377\363ZE\0\373\363ZE\0\1\267\317^\377\261\253\307F\377\1\333\350" \
- "\264\377\377\363ZE\0\377\363ZE\0\372\363ZE\0\1\267\317^\377\261\253\307" \
- "F\377\1\314\337\220\377\377\363ZE\0\377\363ZE\0\372\363ZE\0\1\267\317" \
- "^\377\261\253\307F\377\1\274\317f\377\377\363ZE\0\377\363ZE\0\372\363" \
- "ZE\0\1\267\317^\377\261\253\307F\377\1\261\310P\377\377\363ZE\0\377\363" \
- "ZE\0\372\363ZE\0\1\267\317^\377\262\253\307F\377\377\363ZE\0\377\363" \
- "ZE\0\372\363ZE\0\1\267\317^\377\262\253\307F\377\1\334\347\255\377\377" \
- "\363ZE\0\377\363ZE\0\371\363ZE\0\1\267\317^\377\262\253\307F\377\1\321" \
- "\336\227\377\377\363ZE\0\377\363ZE\0\371\363ZE\0\1\267\317^\377\262\253" \
- "\307F\377\1\311\331\205\377\377\363ZE\0\377\363ZE\0\371\363ZE\0\1\267" \
- "\317^\377\262\253\307F\377\1\303\331|\377\377\363ZE\0\377\363ZE\0\371" \
- "\363ZE\0\1\267\317^\377\262\253\307F\377\1\300\324q\377\377\363ZE\0\377" \
- "\363ZE\0\371\363ZE\0\1\267\317^\377\262\253\307F\377\1\274\317f\377\377" \
- "\363ZE\0\377\363ZE\0\371\363ZE\0\1\267\317^\377\262\253\307F\377\1\267" \
- "\317^\377\377\363ZE\0\326\363ZE\0\4\372\262\253\377\366\227\206\377\365" \
- "\202u\377\363q`\377\202\362iV\377\1\364cO\377\202\362iV\377\5\363q`\377" \
- "\364\200n\377\370\223\205\377\371\260\243\377\370\276\262\377\255\363" \
- "ZE\0\202\271\347\340\377\257\363ZE\0\10\271\347\340\377\264\342\333\377" \
- "\227\326\315\377\211\321\306\377\211\325\320\377\232\330\317\377\246" \
- "\334\324\377\264\342\333\377\256\363ZE\0\1\267\317^\377\262\253\307F" \
- "\377\1\263\313Z\377\377\363ZE\0\320\363ZE\0\5\373\272\260\377\365\210" \
- "x\377\362iV\377\361YD\377\357O:\377\216\361H2\377\6\362I9\377\357O:\377" \
- "\361YD\377\362iV\377\365\202u\377\371\270\256\377\250\363ZE\0\206\234" \
- "\333\322\377\1\246\334\324\377\202\250\336\326\377\1\264\342\333\377" \
- "\237\363ZE\0\4\264\342\333\377\250\336\326\377\246\334\324\377\235\334" \
- "\323\377\205\234\333\322\377\2\232\330\317\377}\316\302\377\206o\312" \
- "\275\377\5p\313\276\377w\315\307\377}\316\302\377\216\326\313\377\250" \
- "\336\326\377\250\363ZE\0\1\276\321h\377\202\263\312R\377\202\263\313" \
- "Z\377\1\267\317^\377\202\266\320f\377\1\271\323h\377\242\300\324q\377" \
- "\1\271\323h\377\202\266\320f\377\1\267\317^\377\202\263\313Z\377\202" \
- "\263\312R\377\2\263\313Z\377\274\317f\377\262\274\321n\377\1\316\324" \
- "u\377\202\372\326\201\377\3\372\330\211\377\372\332\221\377\375\337\243" \
- "\377\335\363ZE\0\3\375\337\243\377\375\334\223\377\372\330\211\377\202" \
- "\372\326\201\377\261\363ZE\0\4\370\223\205\377\362iV\377\362R<\377\362" \
- "I3\377\230\361H2\377\3\361Q;\377\362iV\377\365\210x\377\245\363ZE\0\213" \
- "\234\333\322\377\3\236\335\324\377\250\336\326\377\264\342\333\377\227" \
- "\363ZE\0\3\264\342\333\377\246\334\324\377\235\334\323\377\212\234\333" \
- "\322\377\2\232\330\317\377}\316\302\377\213o\312\275\377\4h\312\302\377" \
- "}\316\302\377\216\326\313\377\264\342\333\377\244\363ZE\0\1\300\324q" \
- "\377\207\263\313Z\377\202\267\317^\377\4\274\317f\377\300\324q\377\300" \
- "\327z\377\306\327\202\377\230\311\331\205\377\4\306\327\202\377\300\327" \
- "z\377\300\324q\377\266\320f\377\202\267\317^\377\207\263\313Z\377\2\263" \
- "\312R\377\261\307G\377\262\253\307F\377\1\307\311V\377\207\371\313^\377" \
- "\5\370\313e\377\373\317o\377\372\326\201\377\372\332\221\377\371\346" \
- "\264\377\320\363ZE\0\4\374\335\232\377\372\326\201\377\374\320p\377\370" \
- "\313e\377\207\371\313^\377\1\375\337\243\377\255\363ZE\0\3\366\227\206" \
- "\377\362iV\377\357O:\377\237\361H2\377\3\362I3\377\364cO\377\365\220" \
- "\203\377\242\363ZE\0\217\234\333\322\377\2\246\334\324\377\264\342\333" \
- "\377\221\363ZE\0\2\252\340\331\377\235\334\323\377\216\234\333\322\377" \
- "\2\232\330\317\377}\316\302\377\216o\312\275\377\4p\313\276\377{\315" \
- "\301\377\211\325\320\377\264\342\333\377\241\363ZE\0\1\300\324q\377\214" \
- "\263\313Z\377\4\267\317^\377\274\317f\377\300\324q\377\300\327z\377\222" \
- "\311\331\205\377\4\300\327z\377\300\324q\377\276\321h\377\267\317^\377" \
- "\214\263\313Z\377\2\263\312R\377\261\307G\377\262\253\307F\377\1\307" \
- "\311V\377\214\371\313^\377\3\370\313e\377\370\324x\377\374\335\232\377" \
- "\311\363ZE\0\3\375\337\243\377\372\326\201\377\370\313e\377\214\371\313" \
- "^\377\1\375\337\243\377\253\363ZE\0\2\366{l\377\357O:\377\245\361H2\377" \
- "\3\362I9\377\363q`\377\371\270\256\377\237\363ZE\0\222\234\333\322\377" \
- "\1\250\336\326\377\214\363ZE\0\2\264\342\333\377\246\334\324\377\221" \
- "\234\333\322\377\2\232\330\317\377}\316\302\377\221o\312\275\377\3p\313" \
- "\276\377{\315\301\377\246\334\324\377\237\363ZE\0\1\300\324q\377\217" \
- "\263\313Z\377\4\267\317^\377\271\323h\377\300\324q\377\306\327\202\377" \
- "\214\311\331\205\377\4\306\327\202\377\300\324q\377\274\317f\377\267" \
- "\317^\377\217\263\313Z\377\2\263\312R\377\261\307G\377\262\253\307F\377" \
- "\1\307\311V\377\220\371\313^\377\2\373\317o\377\374\335\232\377\303\363" \
- "ZE\0\2\375\337\243\377\370\324x\377\220\371\313^\377\1\375\337\243\377" \
- "\250\363ZE\0\2\373\272\260\377\365l_\377\253\361H2\377\2\364cO\377\371" \
- "\252\237\377\235\363ZE\0\1\235\334\323\377\223\234\333\322\377\2\246" \
- "\334\324\377\271\347\340\377\207\363ZE\0\1\252\340\331\377\224\234\333" \
- "\322\377\2\232\330\317\377}\316\302\377\224o\312\275\377\2p\313\276\377" \
- "\232\330\317\377\235\363ZE\0\1\300\327z\377\222\263\313Z\377\3\267\317" \
- "^\377\300\324q\377\303\331|\377\210\311\331\205\377\3\306\327\202\377" \
- "\274\321n\377\267\317^\377\222\263\313Z\377\2\263\312R\377\261\307G\377" \
- "\262\253\307F\377\1\310\313_\377\223\371\313^\377\2\372\326\201\377\371" \
- "\346\264\377\276\363ZE\0\2\372\330\211\377\370\313e\377\222\371\313^" \
- "\377\1\375\337\243\377\247\363ZE\0\1\364kX\377\257\361H2\377\2\363[L" \
- "\377\371\270\256\377\233\363ZE\0\1\236\335\324\377\225\234\333\322\377" \
- "\2\246\334\324\377\271\347\340\377\203\363ZE\0\1\250\336\326\377\226" \
- "\234\333\322\377\2\232\330\317\377}\316\302\377\226o\312\275\377\2t\312" \
- "\304\377\232\330\317\377\233\363ZE\0\1\300\327z\377\225\263\313Z\377" \
- "\2\276\321h\377\303\331|\377\204\311\331\205\377\2\300\327z\377\276\321" \
- "h\377\225\263\313Z\377\2\263\312R\377\261\307G\377\262\253\307F\377\2" \
- "\317\314a\377\367\312d\377\224\371\313^\377\2\372\316n\377\376\343\254" \
- "\377\272\363ZE\0\1\370\324x\377\225\371\313^\377\1\375\337\243\377\245" \
- "\363ZE\0\1\363q`\377\263\361H2\377\1\364kX\377\232\363ZE\0\1\246\334" \
- "\324\377\227\234\333\322\377\3\232\330\317\377\227\326\315\377\232\330" \
- "\317\377\227\234\333\322\377\2\232\330\317\377}\316\302\377\230o\312" \
- "\275\377\2p\313\276\377\246\334\324\377\231\363ZE\0\1\311\331\205\377" \
- "\227\263\313Z\377\1\271\323h\377\202\303\331|\377\1\276\321h\377\227" \
- "\263\313Z\377\2\263\312R\377\261\307G\377\262\253\307F\377\2\324\322" \
- "m\377\367\312d\377\226\371\313^\377\2\370\313e\377\376\343\254\377\266" \
- "\363ZE\0\1\373\317o\377\227\371\313^\377\1\375\337\243\377\243\363ZE" \
- "\0\2\367\231\216\377\361Q;\377\265\361H2\377\2\357O3\377\365\210x\377" \
- "\230\363ZE\0\1\250\336\326\377\225\234\333\322\377\3\232\330\317\377" \
- "\211\321\306\377{\315\301\377\202}\316\302\377\2\211\325\320\377\232" \
- "\330\317\377\225\234\333\322\377\2\232\330\317\377}\316\302\377\232o" \
- "\312\275\377\1{\315\301\377\230\363ZE\0\1\311\331\205\377\227\263\313" \
- "Z\377\202\263\312R\377\1\262\311Q\377\230\263\313Z\377\2\263\312R\377" \
- "\261\307G\377\262\253\307F\377\2\334\326\200\377\367\312d\377\230\371" \
- "\313^\377\1\373\317o\377\263\363ZE\0\1\372\326\201\377\231\371\313^\377" \
- "\1\375\337\243\377\242\363ZE\0\2\362iV\377\362I3\377\270\361H2\377\1" \
- "\364cO\377\227\363ZE\0\1\264\342\333\377\223\234\333\322\377\2\232\330" \
- "\317\377\227\326\315\377\205}\316\302\377\3x\317\311\377\211\321\306" \
- "\377\232\330\317\377\224\234\333\322\377\2\232\330\317\377}\316\302\377" \
- "\233o\312\275\377\2y\312\276\377\232\330\317\377\226\363ZE\0\1\312\335" \
- "\216\377\226\263\313Z\377\2\263\312R\377\252\310O\377\202\253\307F\377" \
- "\2\252\310O\377\262\311Q\377\226\263\313Z\377\2\263\312R\377\261\307" \
- "G\377\262\253\307F\377\2\355\340\246\377\367\312d\377\231\371\313^\377" \
- "\2\370\313e\377\374\332\213\377\257\363ZE\0\2\375\337\243\377\370\313" \
- "e\377\232\371\313^\377\1\375\337\243\377\240\363ZE\0\2\366\247\234\377" \
- "\360XC\377\273\361H2\377\2\362R<\377\367\231\216\377\226\363ZE\0\222" \
- "\234\333\322\377\2\232\330\317\377\211\321\306\377\211}\316\302\377\1" \
- "\216\326\313\377\223\234\333\322\377\2\232\330\317\377}\316\302\377\235" \
- "o\312\275\377\1x\317\311\377\225\363ZE\0\1\314\337\220\377\224\263\313" \
- "Z\377\2\263\312R\377\261\310P\377\206\253\307F\377\2\252\310O\377\263" \
- "\312R\377\224\263\313Z\377\2\263\312R\377\261\307G\377\261\253\307F\377" \
- "\3\261\310P\377\363ZE\0\367\312d\377\233\371\313^\377\1\373\317o\377" \
- "\255\363ZE\0\1\372\326\201\377\234\371\313^\377\1\375\337\243\377\237" \
- "\363ZE\0\2\367\213\201\377\362I3\377\275\361H2\377\2\362I3\377\363yj" \
- "\377\225\363ZE\0\1\246\334\324\377\220\234\333\322\377\2\232\330\317" \
- "\377\211\321\306\377\212}\316\302\377\2x\317\311\377\211\321\306\377" \
- "\222\234\333\322\377\2\232\330\317\377}\316\302\377\236o\312\275\377" \
- "\2{\315\301\377\264\342\333\377\223\363ZE\0\2\321\336\227\377\267\317" \
- "^\377\222\263\313Z\377\2\263\312R\377\261\310P\377\210\253\307F\377\2" \
- "\261\310P\377\263\312R\377\223\263\313Z\377\2\263\312R\377\261\307G\377" \
- "\261\253\307F\377\3\266\320f\377\363ZE\0\367\312d\377\234\371\313^\377" \
- "\2\370\313e\377\374\335\232\377\251\363ZE\0\2\372\346\255\377\370\313" \
- "e\377\235\371\313^\377\1\375\337\243\377\236\363ZE\0\1\363q`\377\301" \
- "\361H2\377\1\364cO\377\224\363ZE\0\1\246\334\324\377\217\234\333\322" \
- "\377\1\232\330\317\377\216}\316\302\377\2\211\321\306\377\232\330\317" \
- "\377\220\234\333\322\377\2\232\330\317\377}\316\302\377\237o\312\275" \
- "\377\2t\312\304\377\246\334\324\377\222\363ZE\0\2\322\340\231\377\266" \
- "\320f\377\221\263\313Z\377\1\263\312R\377\213\253\307F\377\2\261\307" \
- "G\377\262\311Q\377\222\263\313Z\377\2\263\312R\377\261\307G\377\261\253" \
- "\307F\377\3\312\335\216\377\363ZE\0\367\312d\377\236\371\313^\377\1\372" \
- "\326\201\377\247\363ZE\0\1\372\332\221\377\237\371\313^\377\1\375\337" \
- "\243\377\235\363ZE\0\1\364cO\377\303\361H2\377\1\360XC\377\223\363ZE" \
- "\0\1\252\340\331\377\216\234\333\322\377\1\220\330\315\377\220}\316\302" \
- "\377\2\200\322\306\377\232\330\317\377\217\234\333\322\377\2\232\330" \
- "\317\377}\316\302\377\241o\312\275\377\1\227\326\315\377\221\363ZE\0" \
- "\2\322\340\231\377\274\321n\377\220\263\313Z\377\1\252\310O\377\216\253" \
- "\307F\377\1\261\310P\377\221\263\313Z\377\2\263\312R\377\261\307G\377" \
- "\261\253\307F\377\3\333\350\264\377\363ZE\0\367\312d\377\237\371\313" \
- "^\377\1\372\316n\377\245\363ZE\0\1\370\324x\377\240\371\313^\377\1\375" \
- "\337\243\377\234\363ZE\0\1\363[L\377\305\361H2\377\2\362R<\377\373\272" \
- "\260\377\222\363ZE\0\215\234\333\322\377\2\216\326\313\377x\317\311\377" \
- "\222}\316\302\377\1\232\330\317\377\216\234\333\322\377\2\232\330\317" \
- "\377}\316\302\377\242o\312\275\377\1\211\321\306\377\220\363ZE\0\2\322" \
- "\340\231\377\300\327z\377\216\263\313Z\377\2\263\312R\377\252\310O\377" \
- "\220\253\307F\377\2\261\310P\377\263\312R\377\217\263\313Z\377\2\263" \
- "\312R\377\261\307G\377\260\253\307F\377\1\261\310P\377\202\363ZE\0\1" \
- "\367\312d\377\240\371\313^\377\1\370\313e\377\243\363ZE\0\1\373\317o" \
- "\377\241\371\313^\377\1\375\337\243\377\233\363ZE\0\1\360XC\377\307\361" \
- "H2\377\2\357O:\377\371\270\256\377\221\363ZE\0\1\235\334\323\377\213" \
- "\234\333\322\377\2\216\326\313\377x\317\311\377\224}\316\302\377\1\232" \
- "\330\317\377\215\234\333\322\377\2\232\330\317\377}\316\302\377\243o" \
- "\312\275\377\1\211\321\306\377\217\363ZE\0\3\322\340\231\377\306\327" \
- "\202\377\267\317^\377\215\263\313Z\377\1\252\310O\377\222\253\307F\377" \
- "\1\261\310P\377\217\263\313Z\377\2\263\312R\377\261\307G\377\260\253" \
- "\307F\377\1\263\313Z\377\202\363ZE\0\1\367\312d\377\242\371\313^\377" \
- "\1\371\346\264\377\240\363ZE\0\1\370\313e\377\242\371\313^\377\1\375" \
- "\337\243\377\232\363ZE\0\1\362R<\377\311\361H2\377\2\361Q;\377\371\270" \
- "\256\377\220\363ZE\0\1\250\336\326\377\212\234\333\322\377\2\216\326" \
- "\313\377w\315\307\377\226}\316\302\377\1\232\330\317\377\214\234\333" \
- "\322\377\2\232\330\317\377}\316\302\377\244o\312\275\377\1\200\322\306" \
- "\377\216\363ZE\0\3\322\340\231\377\311\331\205\377\271\323h\377\214\263" \
- "\313Z\377\1\252\310O\377\224\253\307F\377\1\252\310O\377\216\263\313" \
- "Z\377\2\263\312R\377\261\307G\377\260\253\307F\377\1\321\336\227\377" \
- "\202\363ZE\0\1\367\312d\377\243\371\313^\377\1\372\346\255\377\236\363" \
- "ZE\0\1\370\313e\377\243\371\313^\377\1\375\337\243\377\231\363ZE\0\1" \
- "\361YD\377\313\361H2\377\1\360XC\377\221\363ZE\0\211\234\333\322\377" \
- "\1\227\326\315\377\230}\316\302\377\2\200\322\306\377\232\330\317\377" \
- "\213\234\333\322\377\2\232\330\317\377}\316\302\377\245o\312\275\377" \
- "\1\211\325\320\377\215\363ZE\0\3\322\340\231\377\311\331\205\377\300" \
- "\324q\377\212\263\313Z\377\2\263\312R\377\252\310O\377\226\253\307F\377" \
- "\1\261\310P\377\215\263\313Z\377\2\263\312R\377\261\307G\377\257\253" \
- "\307F\377\1\261\310P\377\203\363ZE\0\1\367\312d\377\244\371\313^\377" \
- "\1\377\345\264\377\234\363ZE\0\1\372\316n\377\244\371\313^\377\1\375" \
- "\337\243\377\230\363ZE\0\1\362iV\377\315\361H2\377\1\361`L\377\220\363" \
- "ZE\0\1\246\334\324\377\207\234\333\322\377\1\232\330\317\377\232}\316" \
- "\302\377\2\211\321\306\377\232\330\317\377\212\234\333\322\377\2\232" \
- "\330\317\377}\316\302\377\246o\312\275\377\1\232\330\317\377\214\363" \
- "ZE\0\1\322\340\231\377\202\311\331\205\377\212\263\313Z\377\1\252\310" \
- "O\377\230\253\307F\377\1\261\310P\377\214\263\313Z\377\2\263\312R\377" \
- "\261\307G\377\257\253\307F\377\1\267\317^\377\203\363ZE\0\1\367\312d" \
- "\377\244\371\313^\377\1\370\313e\377\233\363ZE\0\1\373\317o\377\245\371" \
- "\313^\377\1\375\337\243\377\227\363ZE\0\1\366{l\377\317\361H2\377\1\362" \
- "iV\377\217\363ZE\0\1\264\342\333\377\206\234\333\322\377\2\232\330\317" \
- "\377x\317\311\377\233}\316\302\377\2\211\321\306\377\232\330\317\377" \
- "\211\234\333\322\377\2\232\330\317\377}\316\302\377\247o\312\275\377" \
- "\1\250\336\326\377\213\363ZE\0\1\322\340\231\377\202\311\331\205\377" \
- "\1\276\321h\377\210\263\313Z\377\1\261\310P\377\232\253\307F\377\1\252" \
- "\310O\377\213\263\313Z\377\2\263\312R\377\261\307G\377\257\253\307F\377" \
- "\1\322\340\231\377\203\363ZE\0\1\367\312d\377\245\371\313^\377\1\370" \
- "\313e\377\231\363ZE\0\1\374\320p\377\246\371\313^\377\1\375\337\243\377" \
- "\226\363ZE\0\2\367\231\216\377\362I3\377\320\361H2\377\1\366{l\377\217" \
- "\363ZE\0\205\234\333\322\377\2\232\330\317\377\211\321\306\377\235}\316" \
- "\302\377\1\216\326\313\377\211\234\333\322\377\2\232\330\317\377}\316" \
- "\302\377\247o\312\275\377\1t\312\304\377\213\363ZE\0\1\322\340\231\377" \
- "\202\311\331\205\377\1\300\327z\377\207\263\313Z\377\1\255\313Q\377\234" \
- "\253\307F\377\1\262\311Q\377\212\263\313Z\377\2\263\312R\377\261\307" \
- "G\377\256\253\307F\377\1\263\312R\377\204\363ZE\0\1\367\312d\377\246" \
- "\371\313^\377\1\373\317o\377\227\363ZE\0\1\372\326\201\377\247\371\313" \
- "^\377\1\375\337\243\377\226\363ZE\0\1\357O:\377\322\361H2\377\1\366\247" \
- "\234\377\216\363ZE\0\1\250\336\326\377\204\234\333\322\377\1\211\321" \
- "\306\377\237}\316\302\377\1\232\330\317\377\210\234\333\322\377\2\232" \
- "\330\317\377}\316\302\377\250o\312\275\377\1}\316\302\377\212\363ZE\0" \
- "\1\322\340\231\377\203\311\331\205\377\1\267\317^\377\205\263\313Z\377" \
- "\1\263\312R\377\236\253\307F\377\1\263\312R\377\211\263\313Z\377\2\263" \
- "\312R\377\261\307G\377\256\253\307F\377\1\300\327z\377\204\363ZE\0\1" \
- "\367\312d\377\247\371\313^\377\1\372\326\201\377\225\363ZE\0\1\374\335" \
- "\232\377\250\371\313^\377\1\375\337\243\377\225\363ZE\0\1\361`L\377\323" \
- "\361H2\377\1\357O:\377\217\363ZE\0\203\234\333\322\377\2\232\330\317" \
- "\377x\317\311\377\237}\316\302\377\2\211\321\306\377\232\330\317\377" \
- "\207\234\333\322\377\2\232\330\317\377}\316\302\377\251o\312\275\377" \
- "\1\216\326\313\377\211\363ZE\0\1\322\340\231\377\203\311\331\205\377" \
- "\1\300\324q\377\204\263\313Z\377\2\263\312R\377\252\310O\377\236\253" \
- "\307F\377\1\252\310O\377\211\263\313Z\377\2\263\312R\377\261\307G\377" \
- "\255\253\307F\377\1\252\310O\377\205\363ZE\0\1\367\312d\377\250\371\313" \
- "^\377\1\374\335\232\377\224\363ZE\0\251\371\313^\377\1\375\337\243\377" \
- "\224\363ZE\0\1\365\210x\377\325\361H2\377\1\364kX\377\216\363ZE\0\3\246" \
- "\334\324\377\234\333\322\377\232\330\317\377\242}\316\302\377\1\211\321" \
- "\306\377\207\234\333\322\377\2\232\330\317\377}\316\302\377\251o\312" \
- "\275\377\2p\313\276\377\264\342\333\377\210\363ZE\0\1\322\340\231\377" \
- "\204\311\331\205\377\1\267\317^\377\203\263\313Z\377\1\252\310O\377\240" \
- "\253\307F\377\1\252\310O\377\210\263\313Z\377\2\263\312R\377\261\307" \
- "G\377\255\253\307F\377\1\274\317f\377\205\363ZE\0\1\367\312d\377\250" \
- "\371\313^\377\1\370\313e\377\223\363ZE\0\1\370\313e\377\251\371\313^" \
- "\377\1\375\337\243\377\223\363ZE\0\2\373\272\260\377\357O:\377\326\361" \
- "H2\377\1\366\247\234\377\216\363ZE\0\2\234\333\322\377\211\321\306\377" \
- "\242}\316\302\377\2x\317\311\377\232\330\317\377\206\234\333\322\377" \
- "\2\232\330\317\377}\316\302\377\252o\312\275\377\1{\315\301\377\210\363" \
- "ZE\0\1\322\340\231\377\204\311\331\205\377\1\274\321n\377\202\263\313" \
- "Z\377\1\263\312R\377\242\253\307F\377\1\263\312R\377\207\263\313Z\377" \
- "\2\263\312R\377\261\307G\377\255\253\307F\377\1\333\350\264\377\205\363" \
- "ZE\0\1\367\312d\377\251\371\313^\377\1\370\313e\377\221\363ZE\0\1\372" \
- "\330\211\377\252\371\313^\377\1\375\337\243\377\223\363ZE\0\1\364cO\377" \
- "\327\361H2\377\1\361Q;\377\216\363ZE\0\1\235\334\323\377\244}\316\302" \
- "\377\1x\317\311\377\206\234\333\322\377\2\232\330\317\377}\316\302\377" \
- "\253o\312\275\377\1\216\326\313\377\207\363ZE\0\1\322\340\231\377\204" \
- "\311\331\205\377\3\306\327\202\377\267\317^\377\263\312R\377\243\253" \
- "\307F\377\2\261\310P\377\263\312R\377\206\263\313Z\377\2\263\312R\377" \
- "\261\307G\377\254\253\307F\377\1\274\321n\377\206\363ZE\0\1\367\312d" \
- "\377\252\371\313^\377\1\372\330\211\377\217\363ZE\0\1\377\345\264\377" \
- "\253\371\313^\377\1\375\337\243\377\222\363ZE\0\2\367\231\216\377\362" \
- "I3\377\330\361H2\377\1\365\202u\377\215\363ZE\0\1\246\334\324\377\245" \
- "}\316\302\377\1\211\325\320\377\205\234\333\322\377\2\232\330\317\377" \
- "}\316\302\377\253o\312\275\377\1p\313\276\377\207\363ZE\0\1\322\340\231" \
- "\377\205\311\331\205\377\2\300\324q\377\261\310P\377\244\253\307F\377" \
- "\1\252\310O\377\206\263\313Z\377\2\263\312R\377\261\307G\377\253\253" \
- "\307F\377\1\252\310O\377\207\363ZE\0\1\367\312d\377\253\371\313^\377" \
- "\217\363ZE\0\1\372\316n\377\253\371\313^\377\1\375\337\243\377\222\363" \
- "ZE\0\1\360XC\377\331\361H2\377\1\357O:\377\215\363ZE\0\2\234\333\322" \
- "\377\211\321\306\377\245}\316\302\377\1\232\330\317\377\204\234\333\322" \
- "\377\2\232\330\317\377}\316\302\377\254o\312\275\377\1}\316\302\377\206" \
- "\363ZE\0\1\322\340\231\377\205\311\331\205\377\2\300\327z\377\252\310" \
- "O\377\245\253\307F\377\1\262\311Q\377\205\263\313Z\377\2\263\312R\377" \
- "\261\307G\377\253\253\307F\377\1\300\327z\377\207\363ZE\0\1\367\312d" \
- "\377\253\371\313^\377\1\373\320w\377\215\363ZE\0\1\374\335\232\377\254" \
- "\371\313^\377\1\375\337\243\377\221\363ZE\0\1\365\210x\377\333\361H2" \
- "\377\1\363yj\377\213\363ZE\0\4\264\342\333\377\234\333\322\377\232\330" \
- "\317\377x\317\311\377\244}\316\302\377\1\216\326\313\377\204\234\333" \
- "\322\377\2\232\330\317\377}\316\302\377\255o\312\275\377\206\363ZE\0" \
- "\1\322\340\231\377\205\311\331\205\377\2\274\317f\377\262\311Q\377\245" \
- "\253\307F\377\1\252\310O\377\205\263\313Z\377\2\263\312R\377\261\307" \
- "G\377\252\253\307F\377\1\262\311Q\377\210\363ZE\0\1\367\312d\377\254" \
- "\371\313^\377\215\363ZE\0\1\370\313e\377\254\371\313^\377\1\375\337\243" \
- "\377\221\363ZE\0\1\362R<\377\333\361H2\377\1\357O:\377\213\363ZE\0\1" \
- "\235\334\323\377\202\234\333\322\377\1\211\321\306\377\245}\316\302\377" \
- "\1\232\330\317\377\203\234\333\322\377\2\232\330\317\377}\316\302\377" \
- "\255o\312\275\377\1}\316\302\377\205\363ZE\0\1\322\340\231\377\204\311" \
- "\331\205\377\1\300\327z\377\202\263\313Z\377\1\252\310O\377\245\253\307" \
- "F\377\1\262\311Q\377\204\263\313Z\377\2\263\312R\377\261\307G\377\252" \
- "\253\307F\377\1\322\341\240\377\210\363ZE\0\1\367\312d\377\254\371\313" \
- "^\377\1\373\320w\377\213\363ZE\0\1\375\334\223\377\255\371\313^\377\1" \
- "\375\337\243\377\220\363ZE\0\1\366\227\206\377\335\361H2\377\1\363yj" \
- "\377\211\363ZE\0\1\264\342\333\377\203\234\333\322\377\1\232\330\317" \
- "\377\245}\316\302\377\1\216\326\313\377\203\234\333\322\377\2\232\330" \
- "\317\377}\316\302\377\256o\312\275\377\205\363ZE\0\1\322\340\231\377" \
- "\204\311\331\205\377\1\266\320f\377\202\263\313Z\377\1\263\312R\377\245" \
- "\253\307F\377\1\252\310O\377\204\263\313Z\377\2\263\312R\377\261\307" \
- "G\377\251\253\307F\377\1\274\317f\377\211\363ZE\0\1\367\312d\377\255" \
- "\371\313^\377\1\371\346\264\377\212\363ZE\0\1\370\313e\377\255\371\313" \
- "^\377\1\375\337\243\377\220\363ZE\0\1\363SC\377\335\361H2\377\1\357O" \
- ":\377\211\363ZE\0\1\235\334\323\377\204\234\333\322\377\2\232\330\317" \
- "\377x\317\311\377\243}\316\302\377\2\203\317\313\377\232\330\317\377" \
- "\202\234\333\322\377\2\232\330\317\377}\316\302\377\256o\312\275\377" \
- "\1\211\321\306\377\204\363ZE\0\1\322\340\231\377\203\311\331\205\377" \
- "\1\300\327z\377\204\263\313Z\377\1\262\311Q\377\245\253\307F\377\1\262" \
- "\311Q\377\203\263\313Z\377\2\263\312R\377\261\307G\377\250\253\307F\377" \
- "\1\261\310P\377\212\363ZE\0\1\367\312d\377\255\371\313^\377\1\373\320" \
- "w\377\211\363ZE\0\1\372\332\221\377\256\371\313^\377\1\375\337\243\377" \
- "\217\363ZE\0\1\371\252\237\377\337\361H2\377\1\367\213\201\377\210\363" \
- "ZE\0\206\234\333\322\377\2\216\326\313\377x\317\311\377\243}\316\302" \
- "\377\1\216\326\313\377\202\234\333\322\377\2\232\330\317\377}\316\302" \
- "\377\257o\312\275\377\204\363ZE\0\1\322\340\231\377\203\311\331\205\377" \
- "\1\276\321h\377\205\263\313Z\377\1\252\310O\377\244\253\307F\377\1\252" \
- "\310O\377\203\263\313Z\377\2\263\312R\377\261\307G\377\250\253\307F\377" \
- "\1\324\344\243\377\212\363ZE\0\1\367\312d\377\256\371\313^\377\211\363" \
- "ZE\0\1\370\313e\377\256\371\313^\377\1\375\337\243\377\217\363ZE\0\1" \
- "\364cO\377\337\361H2\377\1\363[L\377\207\363ZE\0\1\250\336\326\377\207" \
- "\234\333\322\377\1\216\326\313\377\243}\316\302\377\1\211\321\306\377" \
- "\202\234\333\322\377\2\232\330\317\377}\316\302\377\257o\312\275\377" \
- "\1\246\334\324\377\203\363ZE\0\1\322\340\231\377\202\311\331\205\377" \
- "\1\306\327\202\377\207\263\313Z\377\1\261\310P\377\244\253\307F\377\1" \
- "\263\312R\377\202\263\313Z\377\2\263\312R\377\261\307G\377\247\253\307" \
- "F\377\1\311\331\205\377\213\363ZE\0\1\367\312d\377\256\371\313^\377\1" \
- "\372\330\211\377\207\363ZE\0\1\375\337\243\377\257\371\313^\377\1\375" \
- "\337\243\377\217\363ZE\0\341\361H2\377\1\371\270\256\377\206\363ZE\0" \
- "\211\234\333\322\377\1\211\321\306\377\243}\316\302\377\4\232\330\317" \
- "\377\234\333\322\377\232\330\317\377}\316\302\377\257o\312\275\377\1" \
- "{\315\301\377\203\363ZE\0\1\322\340\231\377\202\311\331\205\377\1\300" \
- "\324q\377\210\263\313Z\377\1\261\310P\377\243\253\307F\377\1\261\310" \
- "P\377\202\263\313Z\377\2\263\312R\377\261\307G\377\246\253\307F\377\1" \
- "\274\321n\377\214\363ZE\0\1\367\312d\377\256\371\313^\377\1\370\313e" \
- "\377\207\363ZE\0\1\374\320p\377\257\371\313^\377\1\375\337\243\377\216" \
- "\363ZE\0\1\366\227\206\377\341\361H2\377\1\366tb\377\205\363ZE\0\1\264" \
- "\342\333\377\211\234\333\322\377\2\232\330\317\377\211\321\306\377\242" \
- "}\316\302\377\4\216\326\313\377\234\333\322\377\232\330\317\377}\316" \
- "\302\377\260o\312\275\377\203\363ZE\0\1\322\340\231\377\202\311\331\205" \
- "\377\1\266\320f\377\210\263\313Z\377\1\263\312R\377\243\253\307F\377" \
- "\1\261\310P\377\202\263\313Z\377\2\263\312R\377\261\307G\377\245\253" \
- "\307F\377\1\266\320f\377\215\363ZE\0\1\367\312d\377\257\371\313^\377" \
- "\1\374\335\232\377\206\363ZE\0\260\371\313^\377\1\375\337\243\377\216" \
- "\363ZE\0\1\364cO\377\341\361H2\377\1\363SC\377\205\363ZE\0\1\246\334" \
- "\324\377\212\234\333\322\377\2\232\330\317\377\211\321\306\377\241}\316" \
- "\302\377\4\200\322\306\377\234\333\322\377\232\330\317\377}\316\302\377" \
- "\260o\312\275\377\1\234\333\322\377\202\363ZE\0\3\322\340\231\377\311" \
- "\331\205\377\300\327z\377\212\263\313Z\377\1\262\311Q\377\243\253\307" \
- "F\377\4\263\312R\377\263\313Z\377\263\312R\377\261\307G\377\244\253\307" \
- "F\377\1\263\313Z\377\216\363ZE\0\1\367\312d\377\257\371\313^\377\1\373" \
- "\320w\377\205\363ZE\0\1\372\330\211\377\260\371\313^\377\1\375\337\243" \
- "\377\216\363ZE\0\1\362I3\377\342\361H2\377\1\371\270\256\377\204\363" \
- "ZE\0\214\234\333\322\377\2\232\330\317\377\211\321\306\377\241}\316\302" \
- "\377\202\232\330\317\377\1}\316\302\377\260o\312\275\377\1}\316\302\377" \
- "\202\363ZE\0\3\322\340\231\377\311\331\205\377\300\324q\377\213\263\313" \
- "Z\377\1\262\311Q\377\242\253\307F\377\4\252\310O\377\263\313Z\377\263" \
- "\312R\377\261\307G\377\243\253\307F\377\1\263\313Z\377\217\363ZE\0\1" \
- "\367\312d\377\257\371\313^\377\1\370\313e\377\205\363ZE\0\1\370\313e" \
- "\377\260\371\313^\377\1\375\337\243\377\215\363ZE\0\1\370\242\232\377" \
- "\343\361H2\377\1\365\202u\377\203\363ZE\0\1\264\342\333\377\215\234\333" \
- "\322\377\2\232\330\317\377\211\321\306\377\240}\316\302\377\3\227\326" \
- "\315\377\232\330\317\377}\316\302\377\261o\312\275\377\202\363ZE\0\3" \
- "\322\340\231\377\306\327\202\377\266\320f\377\214\263\313Z\377\2\262" \
- "\311Q\377\261\307G\377\240\253\307F\377\4\252\310O\377\263\313Z\377\263" \
- "\312R\377\261\307G\377\242\253\307F\377\1\263\313Z\377\220\363ZE\0\1" \
- "\367\312d\377\260\371\313^\377\1\375\337\243\377\204\363ZE\0\1\367\312" \
- "d\377\260\371\313^\377\1\375\337\243\377\215\363ZE\0\1\363yj\377\343" \
- "\361H2\377\1\360XC\377\203\363ZE\0\1\250\336\326\377\216\234\333\322" \
- "\377\2\232\330\317\377\211\321\306\377\237}\316\302\377\3\211\321\306" \
- "\377\232\330\317\377}\316\302\377\261o\312\275\377\4\250\336\326\377" \
- "\363ZE\0\322\340\231\377\300\327z\377\216\263\313Z\377\1\262\311Q\377" \
- "\241\253\307F\377\202\263\312R\377\1\261\307G\377\241\253\307F\377\1" \
- "\267\317^\377\221\363ZE\0\1\367\312d\377\260\371\313^\377\1\372\326\201" \
- "\377\203\363ZE\0\1\375\337\243\377\261\371\313^\377\1\375\337\243\377" \
- "\215\363ZE\0\1\360XC\377\343\361H2\377\1\357O:\377\203\363ZE\0\1\246" \
- "\334\324\377\220\234\333\322\377\2\211\321\306\377x\317\311\377\236}" \
- "\316\302\377\2\232\330\317\377}\316\302\377\261o\312\275\377\4\227\326" \
- "\315\377\363ZE\0\322\340\231\377\300\324q\377\217\263\313Z\377\1\262" \
- "\311Q\377\240\253\307F\377\3\262\311Q\377\263\312R\377\261\307G\377\240" \
- "\253\307F\377\1\266\320f\377\222\363ZE\0\1\367\312d\377\260\371\313^" \
- "\377\1\370\313e\377\203\363ZE\0\1\374\320p\377\261\371\313^\377\1\375" \
- "\337\243\377\215\363ZE\0\1\362I3\377\344\361H2\377\1\372\262\253\377" \
- "\202\363ZE\0\222\234\333\322\377\2\227\326\315\377x\317\311\377\235}" \
- "\316\302\377\2\232\330\317\377}\316\302\377\261o\312\275\377\4}\316\302" \
- "\377\363ZE\0\322\340\231\377\276\321h\377\220\263\313Z\377\2\263\312" \
- "R\377\252\310O\377\236\253\307F\377\3\252\310O\377\263\312R\377\261\307" \
- "G\377\237\253\307F\377\1\300\324q\377\223\363ZE\0\1\367\312d\377\260" \
- "\371\313^\377\1\367\312d\377\203\363ZE\0\1\370\313e\377\261\371\313^" \
- "\377\1\375\337\243\377\214\363ZE\0\1\371\252\237\377\345\361H2\377\1" \
- "\367\231\216\377\202\363ZE\0\223\234\333\322\377\2\232\330\317\377\211" \
- "\321\306\377\233}\316\302\377\3x\317\311\377\216\326\313\377}\316\302" \
- "\377\261o\312\275\377\4t\312\304\377\363ZE\0\321\336\227\377\267\317" \
- "^\377\222\263\313Z\377\1\252\310O\377\236\253\307F\377\2\262\311Q\377" \
- "\261\307G\377\236\253\307F\377\1\312\335\216\377\224\363ZE\0\1\367\312" \
- "d\377\261\371\313^\377\1\375\337\243\377\202\363ZE\0\262\371\313^\377" \
- "\1\375\337\243\377\214\363ZE\0\1\367\213\201\377\345\361H2\377\3\363" \
- "q`\377\363ZE\0\250\336\326\377\224\234\333\322\377\2\232\330\317\377" \
- "\216\326\313\377\233}\316\302\377\2\211\321\306\377}\316\302\377\261" \
- "o\312\275\377\3p\313\276\377\363ZE\0\321\336\227\377\224\263\313Z\377" \
- "\1\262\311Q\377\235\253\307F\377\2\262\311Q\377\261\307G\377\234\253" \
- "\307F\377\1\263\313Z\377\226\363ZE\0\1\367\312d\377\261\371\313^\377" \
- "\3\372\326\201\377\363ZE\0\376\343\254\377\262\371\313^\377\1\375\337" \
- "\243\377\214\363ZE\0\1\366{l\377\345\361H2\377\3\363SC\377\363ZE\0\246" \
- "\334\324\377\226\234\333\322\377\2\232\330\317\377\211\321\306\377\231" \
- "}\316\302\377\2\211\321\306\377}\316\302\377\262o\312\275\377\2\237\332" \
- "\313\377\314\337\220\377\225\263\313Z\377\2\263\312R\377\252\310O\377" \
- "\233\253\307F\377\2\262\311Q\377\261\307G\377\232\253\307F\377\2\252" \
- "\310O\377\311\331\205\377\227\363ZE\0\1\367\312d\377\261\371\313^\377" \
- "\3\374\320p\377\363ZE\0\372\332\221\377\262\371\313^\377\1\375\337\243" \
- "\377\214\363ZE\0\1\362iV\377\346\361H2\377\2\363ZE\0\236\335\324\377" \
- "\230\234\333\322\377\2\220\330\315\377\211\321\306\377\231}\316\302\377" \
- "\262o\312\275\377\2\221\325\304\377\311\331\205\377\227\263\313Z\377" \
- "\2\252\310O\377\261\310P\377\231\253\307F\377\2\261\310P\377\261\307" \
- "G\377\231\253\307F\377\2\274\317f\377\342\350\266\377\230\363ZE\0\1\367" \
- "\312d\377\261\371\313^\377\3\370\313e\377\363ZE\0\373\317o\377\262\371" \
- "\313^\377\1\375\337\243\377\214\363ZE\0\1\361YD\377\261\361H2\377\3\357" \
- "O:\377\362R<\377\357O:\377\262\361H2\377\2\363ZE\0\235\334\323\377\231" \
- "\234\333\322\377\4\232\330\317\377\216\326\313\377\203\317\313\377x\317" \
- "\311\377\223}\316\302\377\4x\317\311\377\211\321\306\377\203\317\313" \
- "\377p\313\276\377\261o\312\275\377\2\206\323\301\377\311\331\205\377" \
- "\230\263\313Z\377\2\263\312R\377\252\310O\377\230\253\307F\377\2\261" \
- "\310P\377\261\307G\377\227\253\307F\377\2\263\313Z\377\322\340\231\377" \
- "\232\363ZE\0\1\367\312d\377\261\371\313^\377\3\370\313e\377\363ZE\0\370" \
- "\313e\377\262\371\313^\377\1\375\337\243\377\214\363ZE\0\1\361Q;\377" \
- "\257\361H2\377\2\360XC\377\370\223\205\377\203\363ZE\0\2\370\242\232" \
- "\377\363[L\377\260\361H2\377\2\331\267\252\377\235\334\323\377\233\234" \
- "\333\322\377\3\232\330\317\377\227\326\315\377\211\321\306\377\220}\316" \
- "\302\377\2x\317\311\377\220\330\315\377\204\363ZE\0\3\236\335\324\377" \
- "w\315\307\377h\312\302\377\256o\312\275\377\2}\316\302\377\274\324~\377" \
- "\232\263\313Z\377\2\262\311Q\377\252\310O\377\225\253\307F\377\4\261" \
- "\307G\377\263\312R\377\262\311Q\377\261\307G\377\224\253\307F\377\2\263" \
- "\312R\377\311\331\205\377\234\363ZE\0\1\367\312d\377\261\371\313^\377" \
- "\3\370\313e\377\363ZE\0\370\313e\377\262\371\313^\377\1\375\337\243\377" \
- "\214\363ZE\0\1\357O3\377\256\361H2\377\1\361YD\377\207\363ZE\0\1\365" \
- "lY\377\257\361H2\377\1\316\246\233\377\236\234\333\322\377\3\232\330" \
- "\317\377\220\330\315\377\211\321\306\377\216}\316\302\377\1\246\334\324" \
- "\377\207\363ZE\0\1{\315\301\377\256o\312\275\377\2{\315\301\377\262\321" \
- "z\377\234\263\313Z\377\2\262\311Q\377\252\310O\377\221\253\307F\377\2" \
- "\261\307G\377\300\324q\377\203\363ZE\0\2\333\350\264\377\276\321h\377" \
- "\220\253\307F\377\3\252\310O\377\263\313Z\377\312\335\216\377\236\363" \
- "ZE\0\1\367\312d\377\257\371\313^\377\2\370\313e\377\374\335\232\377\203" \
- "\363ZE\0\2\376\343\254\377\372\316n\377\260\371\313^\377\1\375\337\243" \
- "\377\214\363ZE\0\1\362I3\377\255\361H2\377\1\357O:\377\211\363ZE\0\1" \
- "\361Q;\377\256\361H2\377\1\306\234\214\377\241\234\333\322\377\4\232" \
- "\330\317\377\216\326\313\377\211\321\306\377x\317\311\377\211}\316\302" \
- "\377\1\227\326\315\377\210\363ZE\0\1\271\347\340\377\256o\312\275\377" \
- "\2y\312\276\377\250\316v\377\236\263\313Z\377\3\263\312R\377\252\310" \
- "O\377\261\307G\377\216\253\307F\377\1\322\340\231\377\206\363ZE\0\1\312" \
- "\335\216\377\216\253\307F\377\2\267\317^\377\322\341\240\377\240\363" \
- "ZE\0\1\367\312d\377\256\371\313^\377\1\372\316n\377\207\363ZE\0\1\373" \
- "\320w\377\257\371\313^\377\1\375\337\243\377\214\363ZE\0\256\361H2\377" \
- "\1\365l_\377\211\363ZE\0\1\370\223\205\377\256\361H2\377\1\306\234\214" \
- "\377\244\234\333\322\377\5\232\330\317\377\227\326\315\377\211\321\306" \
- "\377}\316\302\377x\317\311\377\205}\316\302\377\212\363ZE\0\1\211\321" \
- "\306\377\255o\312\275\377\2p\313\276\377\251\315n\377\241\263\313Z\377" \
- "\2\262\311Q\377\261\310P\377\213\253\307F\377\1\311\331\205\377\210\363" \
- "ZE\0\1\300\327z\377\212\253\307F\377\2\263\313Z\377\321\336\227\377\243" \
- "\363ZE\0\1\367\312d\377\256\371\313^\377\211\363ZE\0\1\372\316n\377\256" \
- "\371\313^\377\1\375\337\243\377\214\363ZE\0\256\361H2\377\1\367\231\216" \
- "\377\211\363ZE\0\1\372\262\253\377\256\361H2\377\1\306\234\214\377\250" \
- "\234\333\322\377\202\232\330\317\377\1\216\326\313\377\202\211\321\306" \
- "\377\1}\316\302\377\212\363ZE\0\1\232\330\317\377\255o\312\275\377\2" \
- "u\313\270\377\251\315n\377\244\263\313Z\377\1\263\312R\377\202\261\310" \
- "P\377\1\261\307G\377\205\253\307F\377\1\252\310O\377\212\363ZE\0\206" \
- "\253\307F\377\3\262\311Q\377\300\327z\377\324\344\243\377\246\363ZE\0" \
- "\1\367\312d\377\255\371\313^\377\1\372\326\201\377\211\363ZE\0\1\374" \
- "\335\232\377\256\371\313^\377\1\375\337\243\377\214\363ZE\0\202\363S" \
- "C\377\202\361YD\377\1\363[L\377\202\364cO\377\2\362iV\377\365lY\377\242" \
- "\363q`\377\4\364kX\377\364dU\377\364cO\377\372\262\253\377\211\363ZE" \
- "\0\1\371\270\256\377\256\361H2\377\1\252\226\207\377\253w\315\307\377" \
- "\203{\315\301\377\212\363ZE\0\1\232\330\317\377\255o\312\275\377\2u\313" \
- "\270\377\251\315n\377\247\263\313Z\377\202\263\312R\377\5\262\311Q\377" \
- "\252\310O\377\261\310P\377\252\310O\377\267\317^\377\212\363ZE\0\5\263" \
- "\313Z\377\266\320f\377\307\326{\377\321\336\227\377\332\344\253\377\252" \
- "\363ZE\0\1\367\312d\377\255\371\313^\377\1\375\337\243\377\212\363ZE" \
- "\0\256\371\313^\377\1\375\337\243\377\214\363ZE\0\206\360XC\377\203\361" \
- "YD\377\5\363[L\377\362iV\377\363q`\377\363yj\377\364\200n\377\227\365" \
- "\202u\377\6\364\200n\377\366{l\377\363q`\377\362iV\377\364cO\377\363" \
- "[L\377\202\361YD\377\2\360XC\377\370\223\205\377\211\363ZE\0\1\370\242" \
- "\232\377\256\361H2\377\1\252\226\207\377\256o\312\275\377\212\363ZE\0" \
- "\1\216\326\313\377\255o\312\275\377\2u\313\270\377\246\311d\377\254\252" \
- "\310O\377\2\261\310P\377\266\320f\377\212\363ZE\0\2\321\336\227\377\333" \
- "\350\264\377\255\363ZE\0\1\367\312d\377\255\371\313^\377\1\375\337\243" \
- "\377\212\363ZE\0\256\370\313e\377\1\377\345\264\377\214\363ZE\0\214\360" \
- "XC\377\5\361YD\377\361`L\377\362iV\377\363q`\377\366{l\377\221\365\202" \
- "u\377\5\364\200n\377\363yj\377\364kX\377\361`L\377\361YD\377\207\360" \
- "XC\377\1\362iV\377\211\363ZE\0\1\364kX\377\256\361H2\377\1\252\226\207" \
- "\377\256o\312\275\377\1\232\330\317\377\211\363ZE\0\1{\315\301\377\255" \
- "o\312\275\377\2u\313\270\377\246\311d\377\255\253\307F\377\1\263\313" \
- "Z\377\212\363ZE\0\202\253\307F\377\5\252\310O\377\263\312R\377\266\320" \
- "f\377\300\327z\377\322\341\240\377\250\363ZE\0\256\371\313^\377\1\375" \
- "\334\223\377\211\363ZE\0\1\377\345\264\377\205\371\313^\377\203\370\313" \
- "e\377\246\372\316n\377\1\371\346\264\377\214\363ZE\0\1\361YD\377\217" \
- "\360XC\377\4\361`L\377\362iV\377\366tb\377\364\200n\377\213\365\202u" \
- "\377\5\364\200n\377\363yj\377\365lY\377\361`L\377\361YD\377\212\360X" \
- "C\377\2\361YD\377\370\223\205\377\207\363ZE\0\2\367\240\222\377\362I" \
- "3\377\256\361H2\377\1\264\232\214\377\256o\312\275\377\1y\312\276\377" \
- "\210\363ZE\0\1\216\326\313\377\256o\312\275\377\2u\313\270\377\251\312" \
- "^\377\255\253\307F\377\2\252\310O\377\333\350\264\377\210\363ZE\0\1\322" \
- "\341\240\377\207\253\307F\377\4\252\310O\377\267\317^\377\303\331|\377" \
- "\334\347\255\377\244\363ZE\0\256\371\313^\377\1\373\317o\377\211\363" \
- "ZE\0\1\372\326\201\377\211\371\313^\377\203\370\313e\377\242\372\316" \
- "n\377\215\363ZE\0\1\361YD\377\221\360XC\377\4\361YD\377\361`L\377\363" \
- "q`\377\366{l\377\207\365\202u\377\4\364\200n\377\363q`\377\364cO\377" \
- "\361YD\377\216\360XC\377\2\361YD\377\365\220\203\377\205\363ZE\0\2\365" \
- "\220\203\377\357O:\377\257\361H2\377\1\277\244\226\377\257o\312\275\377" \
- "\2{\315\301\377\264\342\333\377\205\363ZE\0\1\211\325\320\377\257o\312" \
- "\275\377\2u\313\270\377\261\313a\377\256\253\307F\377\1\267\317^\377" \
- "\210\363ZE\0\1\263\312R\377\213\253\307F\377\3\262\311Q\377\300\327z" \
- "\377\333\350\264\377\241\363ZE\0\1\370\313e\377\256\371\313^\377\1\375" \
- "\334\223\377\207\363ZE\0\2\376\343\254\377\370\313e\377\214\371\313^" \
- "\377\202\370\313e\377\240\372\316n\377\215\363ZE\0\1\363[L\377\223\360" \
- "XC\377\202\361YD\377\2\365lY\377\366{l\377\203\365\202u\377\4\364\200" \
- "n\377\363q`\377\364cO\377\361YD\377\222\360XC\377\5\364cO\377\365\202" \
- "u\377\370\223\205\377\366{l\377\360X=\377\261\361H2\377\1\301\271\262" \
- "\377\261o\312\275\377\5}\316\302\377\232\330\317\377\246\334\324\377" \
- "\216\326\313\377t\312\304\377\260o\312\275\377\2}\316\265\377\261\313" \
- "a\377\257\253\307F\377\1\266\320f\377\205\363ZE\0\2\342\350\266\377\263" \
- "\313Z\377\216\253\307F\377\3\261\307G\377\263\313Z\377\321\336\227\377" \
- "\237\363ZE\0\1\370\313e\377\257\371\313^\377\1\372\332\221\377\205\363" \
- "ZE\0\2\375\337\243\377\370\313e\377\217\371\313^\377\204\370\313e\377" \
- "\234\372\316n\377\215\363ZE\0\1\361`L\377\226\360XC\377\5\361YD\377\365" \
- "l_\377\364\200n\377\366tb\377\364cO\377\227\360XC\377\1\361Q;\377\263" \
- "\361H2\377\2\363ZE\0p\313\276\377\345o\312\275\377\2\207\317\270\377" \
- "\267\317^\377\261\253\307F\377\4\266\320f\377\314\341\230\377\312\335" \
- "\216\377\266\320f\377\223\253\307F\377\2\261\310P\377\311\331\205\377" \
- "\235\363ZE\0\1\370\313e\377\260\371\313^\377\5\370\313e\377\373\327\202" \
- "\377\375\337\243\377\372\332\221\377\370\313e\377\224\371\313^\377\1" \
- "\370\313e\377\234\372\316n\377\215\363ZE\0\1\364cO\377\227\360XC\377" \
- "\3\360X=\377\361Q;\377\362R<\377\230\360XC\377\1\361Q;\377\262\361H2" \
- "\377\3\357O:\377\363ZE\0q\314\277\377\345o\312\275\377\2\223\322\274" \
- "\377\267\317^\377\262\253\307F\377\2\266\320f\377\263\312R\377\226\253" \
- "\307F\377\2\261\310P\377\312\335\216\377\233\363ZE\0\1\373\317o\377\262" \
- "\371\313^\377\1\370\313e\377\227\371\313^\377\2\367\312d\377\370\313" \
- "e\377\231\372\316n\377\1\373\317o\377\215\363ZE\0\1\362iV\377\226\360" \
- "XC\377\2\357O:\377\362I3\377\202\361H2\377\2\362I9\377\363S=\377\226" \
- "\360XC\377\1\361Q;\377\262\361H2\377\3\364cO\377\363ZE\0{\315\301\377" \
- "\345o\312\275\377\2\245\334\307\377\267\317^\377\262\253\307F\377\2\300" \
- "\324q\377\263\312R\377\230\253\307F\377\2\255\313Q\377\324\344\243\377" \
- "\231\363ZE\0\1\370\324x\377\262\371\313^\377\1\370\313e\377\232\371\313" \
- "^\377\1\370\313e\377\227\372\316n\377\1\374\320p\377\215\363ZE\0\1\363" \
- "q`\377\224\360XC\377\2\363S=\377\357O3\377\206\361H2\377\1\362R<\377" \
- "\225\360XC\377\1\361Q;\377\262\361H2\377\3\365\210x\377\363ZE\0\211\321" \
- "\306\377\345o\312\275\377\2\363ZE\0\267\317^\377\262\253\307F\377\2\322" \
- "\336\220\377\263\312R\377\232\253\307F\377\1\274\321n\377\230\363ZE\0" \
- "\1\375\334\223\377\262\371\313^\377\202\370\313e\377\232\371\313^\377" \
- "\1\370\313e\377\226\372\316n\377\1\373\317o\377\215\363ZE\0\2\363yj\377" \
- "\361YD\377\222\360XC\377\1\361Q;\377\211\361H2\377\2\362I9\377\363SC" \
- "\377\223\360XC\377\1\361Q;\377\262\361H2\377\3\371\252\237\377\363ZE" \
- "\0\235\334\323\377\344o\312\275\377\3w\315\307\377\363ZE\0\267\317^\377" \
- "\261\253\307F\377\3\252\310O\377\342\350\266\377\263\312R\377\233\253" \
- "\307F\377\2\261\310P\377\321\336\227\377\227\363ZE\0\262\371\313^\377" \
- "\202\370\313e\377\233\371\313^\377\2\367\312d\377\370\313e\377\224\372" \
- "\316n\377\1\370\324x\377\215\363ZE\0\2\366{l\377\361YD\377\220\360XC" \
- "\377\2\360X=\377\357O:\377\213\361H2\377\2\362I3\377\363S=\377\222\360" \
- "XC\377\1\361Q;\377\261\361H2\377\1\362I3\377\203\363ZE\0\344o\312\275" \
- "\377\3\211\321\306\377\363ZE\0\267\317^\377\261\253\307F\377\3\263\313" \
- "Z\377\363ZE\0\263\312R\377\234\253\307F\377\2\261\307G\377\300\324q\377" \
- "\226\363ZE\0\262\371\313^\377\202\370\313e\377\235\371\313^\377\1\370" \
- "\313e\377\223\372\316n\377\1\372\326\201\377\215\363ZE\0\2\365\202u\377" \
- "\364cO\377\217\360XC\377\2\363S=\377\357O3\377\216\361H2\377\1\362R<" \
- "\377\221\360XC\377\1\361Q;\377\261\361H2\377\1\362R<\377\203\363ZE\0" \
- "\1w\315\307\377\343o\312\275\377\3\234\333\322\377\363ZE\0\267\317^\377" \
- "\261\253\307F\377\3\300\327z\377\363ZE\0\263\312R\377\236\253\307F\377" \
- "\1\263\313Z\377\225\363ZE\0\1\372\316n\377\261\371\313^\377\202\370\313" \
- "e\377\236\371\313^\377\1\370\313e\377\222\372\316n\377\1\372\330\211" \
- "\377\215\363ZE\0\2\365\202u\377\364kX\377\216\360XC\377\1\363S=\377\220" \
- "\361H2\377\2\362I3\377\362R<\377\220\360XC\377\1\361Q;\377\261\361H2" \
- "\377\1\364kX\377\203\363ZE\0\1x\317\311\377\343o\312\275\377\3\271\347" \
- "\340\377\363ZE\0\267\317^\377\261\253\307F\377\3\322\341\240\377\363" \
- "ZE\0\263\312R\377\237\253\307F\377\2\261\310P\377\332\344\253\377\223" \
- "\363ZE\0\1\370\324x\377\261\371\313^\377\2\370\313e\377\372\316n\377" \
- "\240\371\313^\377\1\370\313e\377\217\372\316n\377\2\373\317o\377\372" \
- "\330\211\377\215\363ZE\0\3\365\202u\377\366tb\377\361YD\377\214\360X" \
- "C\377\2\363S=\377\362I3\377\222\361H2\377\1\361Q;\377\217\360XC\377\1" \
- "\361Q;\377\261\361H2\377\1\366\247\234\377\203\363ZE\0\1\232\330\317" \
- "\377\342o\312\275\377\1y\312\276\377\202\363ZE\0\1\267\317^\377\261\253" \
- "\307F\377\202\363ZE\0\1\263\312R\377\241\253\307F\377\1\322\340\231\377" \
- "\222\363ZE\0\1\374\335\232\377\261\371\313^\377\3\370\313e\377\372\316" \
- "n\377\370\313e\377\240\371\313^\377\1\370\313e\377\216\372\316n\377\2" \
- "\373\320w\377\372\332\221\377\215\363ZE\0\3\365\202u\377\364\200n\377" \
- "\361YD\377\213\360XC\377\2\363SC\377\362I3\377\224\361H2\377\1\361Q;" \
- "\377\216\360XC\377\1\361Q;\377\260\361H2\377\1\357O:\377\205\363ZE\0" \
- "\342o\312\275\377\1\211\321\306\377\202\363ZE\0\1\267\317^\377\260\253" \
- "\307F\377\1\261\310P\377\202\363ZE\0\1\263\312R\377\242\253\307F\377" \
- "\1\312\335\216\377\222\363ZE\0\1\367\312d\377\260\371\313^\377\3\370" \
- "\313e\377\372\316n\377\370\313e\377\241\371\313^\377\202\370\313e\377" \
- "\214\372\316n\377\2\372\326\201\377\375\334\223\377\215\363ZE\0\202\365" \
- "\202u\377\1\362iV\377\212\360XC\377\2\363S=\377\362I3\377\226\361H2\377" \
- "\1\361Q;\377\215\360XC\377\1\361Q;\377\260\361H2\377\1\364cO\377\205" \
- "\363ZE\0\1x\317\311\377\341o\312\275\377\1\264\342\333\377\202\363ZE" \
- "\0\1\267\317^\377\260\253\307F\377\1\303\331|\377\202\363ZE\0\1\263\312" \
- "R\377\243\253\307F\377\1\306\327\202\377\221\363ZE\0\1\374\320p\377\260" \
- "\371\313^\377\1\370\313e\377\202\372\316n\377\242\371\313^\377\202\370" \
- "\313e\377\213\372\316n\377\2\372\330\211\377\375\334\223\377\215\363" \
- "ZE\0\202\365\202u\377\1\366tb\377\211\360XC\377\2\360X=\377\362I3\377" \
- "\230\361H2\377\1\361Q;\377\214\360XC\377\1\361Q;\377\260\361H2\377\1" \
- "\367\240\222\377\205\363ZE\0\1\232\330\317\377\340o\312\275\377\1t\312" \
- "\304\377\203\363ZE\0\1\267\317^\377\260\253\307F\377\1\334\347\255\377" \
- "\202\363ZE\0\1\263\312R\377\244\253\307F\377\1\311\331\205\377\220\363" \
- "ZE\0\1\372\332\221\377\260\371\313^\377\1\370\313e\377\202\372\316n\377" \
- "\243\371\313^\377\1\370\313e\377\212\372\316n\377\3\373\320w\377\372" \
- "\332\221\377\375\334\223\377\215\363ZE\0\203\365\202u\377\1\363[L\377" \
- "\210\360XC\377\1\362I3\377\231\361H2\377\2\362I3\377\362R<\377\213\360" \
- "XC\377\1\361Q;\377\257\361H2\377\1\362R<\377\207\363ZE\0\1t\312\304\377" \
- "\337o\312\275\377\1\216\326\313\377\203\363ZE\0\1\267\317^\377\257\253" \
- "\307F\377\1\261\310P\377\203\363ZE\0\1\263\312R\377\244\253\307F\377" \
- "\2\261\307G\377\321\336\227\377\220\363ZE\0\260\371\313^\377\1\370\313" \
- "e\377\202\372\316n\377\1\370\313e\377\243\371\313^\377\202\370\313e\377" \
- "\210\372\316n\377\1\372\326\201\377\202\375\334\223\377\215\363ZE\0\203" \
- "\365\202u\377\2\364kX\377\361YD\377\206\360XC\377\1\357O:\377\234\361" \
- "H2\377\1\363S=\377\212\360XC\377\1\361Q;\377\257\361H2\377\1\363q`\377" \
- "\207\363ZE\0\1\211\321\306\377\337o\312\275\377\204\363ZE\0\1\267\317" \
- "^\377\257\253\307F\377\1\306\327\202\377\203\363ZE\0\1\263\312R\377\245" \
- "\253\307F\377\2\252\310O\377\332\344\253\377\217\363ZE\0\1\373\320w\377" \
- "\257\371\313^\377\1\370\313e\377\202\372\316n\377\1\370\313e\377\244" \
- "\371\313^\377\1\370\313e\377\210\372\316n\377\1\372\330\211\377\202\375" \
- "\334\223\377\215\363ZE\0\203\365\202u\377\1\366{l\377\206\360XC\377\1" \
- "\361Q;\377\235\361H2\377\2\362I3\377\363SC\377\211\360XC\377\1\361Q;" \
- "\377\257\361H2\377\1\371\270\256\377\207\363ZE\0\1\264\342\333\377\336" \
- "o\312\275\377\1w\315\307\377\204\363ZE\0\1\267\317^\377\257\253\307F" \
- "\377\204\363ZE\0\1\263\312R\377\246\253\307F\377\1\261\310P\377\217\363" \
- "ZE\0\1\375\337\243\377\257\371\313^\377\1\370\313e\377\203\372\316n\377" \
- "\1\370\313e\377\244\371\313^\377\207\372\316n\377\2\373\320w\377\372" \
- "\332\221\377\202\375\334\223\377\215\363ZE\0\204\365\202u\377\2\364c" \
- "O\377\361YD\377\203\360XC\377\1\363S=\377\237\361H2\377\1\357O:\377\211" \
- "\360XC\377\1\361Q;\377\256\361H2\377\1\364cO\377\211\363ZE\0\1{\315\301" \
- "\377\335o\312\275\377\1\250\336\326\377\204\363ZE\0\1\267\317^\377\256" \
- "\253\307F\377\1\267\317^\377\204\363ZE\0\1\263\312R\377\247\253\307F" \
- "\377\1\263\313Z\377\217\363ZE\0\1\370\313e\377\256\371\313^\377\1\370" \
- "\313e\377\203\372\316n\377\1\370\313e\377\244\371\313^\377\1\370\313" \
- "e\377\206\372\316n\377\1\372\326\201\377\203\375\334\223\377\215\363" \
- "ZE\0\204\365\202u\377\2\366tb\377\361YD\377\202\360XC\377\2\363SC\377" \
- "\362I3\377\240\361H2\377\1\362R<\377\210\360XC\377\1\361Q;\377\256\361" \
- "H2\377\1\367\240\222\377\211\363ZE\0\1\235\334\323\377\334o\312\275\377" \
- "\1p\313\276\377\205\363ZE\0\1\267\317^\377\256\253\307F\377\1\331\342" \
- "\242\377\204\363ZE\0\1\263\312R\377\250\253\307F\377\1\300\324q\377\216" \
- "\363ZE\0\1\372\330\211\377\256\371\313^\377\1\370\313e\377\204\372\316" \
- "n\377\1\367\312d\377\244\371\313^\377\1\370\313e\377\204\372\316n\377" \
- "\2\373\317o\377\372\332\221\377\203\375\334\223\377\215\363ZE\0\205\365" \
- "\202u\377\4\364cO\377\361YD\377\360XC\377\357O:\377\241\361H2\377\2\362" \
- "I3\377\363SC\377\207\360XC\377\1\361Q;\377\255\361H2\377\1\364cO\377" \
- "\213\363ZE\0\1{\315\301\377\333o\312\275\377\1\235\334\323\377\205\363" \
- "ZE\0\1\267\317^\377\255\253\307F\377\1\263\313Z\377\205\363ZE\0\1\263" \
- "\312R\377\251\253\307F\377\1\314\341\230\377\216\363ZE\0\256\371\313" \
- "^\377\1\370\313e\377\204\372\316n\377\1\370\313e\377\245\371\313^\377" \
- "\1\370\313e\377\203\372\316n\377\1\372\326\201\377\204\375\334\223\377" \
- "\215\363ZE\0\205\365\202u\377\3\366tb\377\361YD\377\362R<\377\243\361" \
- "H2\377\1\357O:\377\207\360XC\377\1\361Q;\377\255\361H2\377\1\367\240" \
- "\222\377\213\363ZE\0\1\246\334\324\377\332o\312\275\377\1y\312\276\377" \
- "\206\363ZE\0\1\267\317^\377\255\253\307F\377\1\322\341\240\377\205\363" \
- "ZE\0\1\263\312R\377\251\253\307F\377\1\252\310O\377\216\363ZE\0\1\372" \
- "\326\201\377\255\371\313^\377\1\370\313e\377\205\372\316n\377\1\367\312" \
- "d\377\244\371\313^\377\1\370\313e\377\203\372\316n\377\1\372\332\221" \
- "\377\204\375\334\223\377\215\363ZE\0\206\365\202u\377\1\364cO\377\245" \
- "\361H2\377\1\362R<\377\206\360XC\377\1\361Q;\377\254\361H2\377\1\364" \
- "dU\377\215\363ZE\0\1w\315\307\377\331o\312\275\377\1\250\336\326\377" \
- "\206\363ZE\0\1\267\317^\377\254\253\307F\377\1\267\317^\377\206\363Z" \
- "E\0\1\263\312R\377\252\253\307F\377\1\274\321n\377\216\363ZE\0\255\371" \
- "\313^\377\1\370\313e\377\205\372\316n\377\1\370\313e\377\245\371\313" \
- "^\377\3\370\313e\377\372\316n\377\372\326\201\377\205\375\334\223\377" \
- "\215\363ZE\0\206\365\202u\377\1\362iV\377\245\361H2\377\1\362I3\377\206" \
- "\360XC\377\1\361Q;\377\253\361H2\377\2\362I3\377\373\272\260\377\215" \
- "\363ZE\0\1\264\342\333\377\330o\312\275\377\1}\316\302\377\207\363ZE" \
- "\0\1\267\317^\377\254\253\307F\377\1\332\344\253\377\206\363ZE\0\1\263" \
- "\312R\377\253\253\307F\377\1\332\344\253\377\215\363ZE\0\1\372\330\211" \
- "\377\254\371\313^\377\1\370\313e\377\206\372\316n\377\246\371\313^\377" \
- "\1\373\317o\377\206\375\334\223\377\215\363ZE\0\205\365\202u\377\3\366" \
- "{l\377\361YD\377\357O:\377\245\361H2\377\1\362R<\377\205\360XC\377\1" \
- "\361Q;\377\253\361H2\377\1\363yj\377\217\363ZE\0\1\200\322\306\377\326" \
- "o\312\275\377\2p\313\276\377\271\347\340\377\207\363ZE\0\1\267\317^\377" \
- "\253\253\307F\377\1\276\321h\377\207\363ZE\0\1\263\312R\377\253\253\307" \
- "F\377\1\263\313Z\377\216\363ZE\0\1\370\313e\377\253\371\313^\377\1\370" \
- "\313e\377\206\372\316n\377\1\370\313e\377\245\371\313^\377\1\373\317" \
- "o\377\206\375\334\223\377\215\363ZE\0\205\365\202u\377\4\362iV\377\360" \
- "XC\377\363SC\377\362I3\377\244\361H2\377\2\362I3\377\363SC\377\204\360" \
- "XC\377\1\361Q;\377\252\361H2\377\1\362R<\377\221\363ZE\0\1p\313\276\377" \
- "\324o\312\275\377\2h\312\302\377\232\330\317\377\210\363ZE\0\1\267\317" \
- "^\377\252\253\307F\377\1\252\310O\377\210\363ZE\0\1\263\312R\377\254" \
- "\253\307F\377\1\312\335\216\377\215\363ZE\0\1\375\337\243\377\253\371" \
- "\313^\377\1\370\313e\377\207\372\316n\377\1\370\313e\377\244\371\313" \
- "^\377\2\372\316n\377\372\330\211\377\205\375\334\223\377\215\363ZE\0" \
- "\204\365\202u\377\2\366{l\377\361YD\377\202\360XC\377\1\362R<\377\245" \
- "\361H2\377\1\361Q;\377\204\360XC\377\1\361Q;\377\252\361H2\377\1\366" \
- "\247\234\377\221\363ZE\0\1\246\334\324\377\324o\312\275\377\1}\316\302" \
- "\377\211\363ZE\0\1\267\317^\377\252\253\307F\377\1\312\335\216\377\210" \
- "\363ZE\0\1\263\312R\377\254\253\307F\377\1\263\312R\377\216\363ZE\0\1" \
- "\373\320w\377\252\371\313^\377\1\370\313e\377\207\372\316n\377\1\370" \
- "\313e\377\243\371\313^\377\3\370\313e\377\372\316n\377\373\320w\377\205" \
- "\375\334\223\377\215\363ZE\0\204\365\202u\377\1\364kX\377\204\360XC\377" \
- "\1\357O:\377\244\361H2\377\1\362I3\377\204\360XC\377\1\361Q;\377\251" \
- "\361H2\377\1\363q`\377\223\363ZE\0\2\211\321\306\377p\313\276\377\321" \
- "o\312\275\377\2p\313\276\377\271\347\340\377\211\363ZE\0\1\267\317^\377" \
- "\251\253\307F\377\1\266\320f\377\211\363ZE\0\1\263\312R\377\255\253\307" \
- "F\377\1\311\331\205\377\216\363ZE\0\1\370\313e\377\251\371\313^\377\1" \
- "\370\313e\377\210\372\316n\377\1\370\313e\377\241\371\313^\377\1\370" \
- "\313e\377\203\372\316n\377\1\372\330\211\377\204\375\334\223\377\215" \
- "\363ZE\0\203\365\202u\377\2\364\200n\377\361YD\377\204\360XC\377\2\363" \
- "SC\377\362I3\377\244\361H2\377\1\362R<\377\203\360XC\377\1\361Q;\377" \
- "\250\361H2\377\1\361YD\377\225\363ZE\0\1{\315\301\377\321o\312\275\377" \
- "\1\232\330\317\377\212\363ZE\0\1\267\317^\377\250\253\307F\377\1\261" \
- "\310P\377\212\363ZE\0\1\263\312R\377\255\253\307F\377\1\263\312R\377" \
- "\216\363ZE\0\1\374\335\232\377\251\371\313^\377\1\370\313e\377\211\372" \
- "\316n\377\1\370\313e\377\240\371\313^\377\204\372\316n\377\2\370\324" \
- "x\377\372\332\221\377\203\375\334\223\377\215\363ZE\0\203\365\202u\377" \
- "\2\363q`\377\361YD\377\205\360XC\377\1\363S=\377\244\361H2\377\1\362" \
- "I3\377\203\360XC\377\1\361Q;\377\247\361H2\377\1\361Q;\377\226\363ZE" \
- "\0\2\264\342\333\377p\313\276\377\316o\312\275\377\2h\312\302\377\211" \
- "\321\306\377\213\363ZE\0\1\267\317^\377\250\253\307F\377\1\321\336\227" \
- "\377\212\363ZE\0\1\263\312R\377\256\253\307F\377\1\322\340\231\377\216" \
- "\363ZE\0\1\372\326\201\377\250\371\313^\377\1\370\313e\377\212\372\316" \
- "n\377\237\371\313^\377\1\370\313e\377\205\372\316n\377\1\372\330\211" \
- "\377\203\375\334\223\377\215\363ZE\0\203\365\202u\377\1\364cO\377\207" \
- "\360XC\377\1\363S=\377\244\361H2\377\1\363SC\377\202\360XC\377\1\361" \
- "Q;\377\246\361H2\377\2\362I3\377\370\242\232\377\227\363ZE\0\2\250\336" \
- "\326\377p\313\276\377\315o\312\275\377\1}\316\302\377\214\363ZE\0\1\267" \
- "\317^\377\247\253\307F\377\1\300\324q\377\213\363ZE\0\1\263\312R\377" \
- "\256\253\307F\377\1\267\317^\377\217\363ZE\0\1\373\317o\377\247\371\313" \
- "^\377\1\370\313e\377\212\372\316n\377\1\370\313e\377\235\371\313^\377" \
- "\1\370\313e\377\206\372\316n\377\1\372\326\201\377\203\375\334\223\377" \
- "\215\363ZE\0\202\365\202u\377\1\366{l\377\211\360XC\377\1\362R<\377\243" \
- "\361H2\377\1\357O:\377\202\360XC\377\1\361Q;\377\246\361H2\377\1\370" \
- "\223\205\377\231\363ZE\0\1\232\330\317\377\314o\312\275\377\1p\313\276" \
- "\377\215\363ZE\0\1\267\317^\377\246\253\307F\377\1\263\313Z\377\214\363" \
- "ZE\0\1\263\312R\377\257\253\307F\377\1\342\350\266\377\217\363ZE\0\1" \
- "\370\313e\377\246\371\313^\377\1\370\313e\377\213\372\316n\377\1\370" \
- "\313e\377\233\371\313^\377\1\370\313e\377\207\372\316n\377\2\373\317" \
- "o\377\372\332\221\377\202\375\334\223\377\215\363ZE\0\202\365\202u\377" \
- "\1\364kX\377\212\360XC\377\1\361Q;\377\242\361H2\377\1\362I3\377\202" \
- "\360XC\377\1\361Q;\377\245\361H2\377\1\365\210x\377\233\363ZE\0\1\216" \
- "\326\313\377\312o\312\275\377\1p\313\276\377\216\363ZE\0\1\267\317^\377" \
- "\245\253\307F\377\1\263\313Z\377\215\363ZE\0\1\263\312R\377\257\253\307" \
- "F\377\1\300\324q\377\220\363ZE\0\1\370\313e\377\245\371\313^\377\1\370" \
- "\313e\377\214\372\316n\377\1\370\313e\377\231\371\313^\377\1\370\313" \
- "e\377\211\372\316n\377\1\372\330\211\377\202\375\334\223\377\215\363" \
- "ZE\0\3\365\202u\377\364\200n\377\364cO\377\213\360XC\377\1\357O:\377" \
- "\242\361H2\377\3\363S=\377\360XC\377\361Q;\377\244\361H2\377\1\365\202" \
- "u\377\235\363ZE\0\1\211\321\306\377\310o\312\275\377\1p\313\276\377\217" \
- "\363ZE\0\1\267\317^\377\244\253\307F\377\1\263\312R\377\216\363ZE\0\1" \
- "\263\312R\377\257\253\307F\377\1\262\311Q\377\220\363ZE\0\1\376\343\254" \
- "\377\245\371\313^\377\1\370\313e\377\215\372\316n\377\1\370\313e\377" \
- "\227\371\313^\377\202\370\313e\377\211\372\316n\377\1\373\320w\377\202" \
- "\375\334\223\377\215\363ZE\0\3\365\202u\377\366{l\377\361YD\377\214\360" \
- "XC\377\1\357O:\377\241\361H2\377\3\357O:\377\360XC\377\361Q;\377\243" \
- "\361H2\377\1\365\202u\377\237\363ZE\0\1\216\326\313\377\306o\312\275" \
- "\377\2y\312\276\377\271\347\340\377\217\363ZE\0\1\267\317^\377\243\253" \
- "\307F\377\1\263\312R\377\217\363ZE\0\1\263\312R\377\257\253\307F\377" \
- "\2\261\307G\377\334\347\255\377\220\363ZE\0\1\375\337\243\377\244\371" \
- "\313^\377\1\370\313e\377\216\372\316n\377\1\370\313e\377\225\371\313" \
- "^\377\1\370\313e\377\213\372\316n\377\3\373\317o\377\372\330\211\377" \
- "\375\334\223\377\215\363ZE\0\2\365\202u\377\363q`\377\216\360XC\377\1" \
- "\357O:\377\240\361H2\377\3\362I9\377\360XC\377\361Q;\377\241\361H2\377" \
- "\2\362I3\377\367\213\201\377\241\363ZE\0\1\216\326\313\377\304o\312\275" \
- "\377\1{\315\301\377\221\363ZE\0\1\267\317^\377\242\253\307F\377\1\263" \
- "\312R\377\220\363ZE\0\1\263\312R\377\260\253\307F\377\1\300\324q\377" \
- "\221\363ZE\0\2\375\337\243\377\367\312d\377\242\371\313^\377\1\370\313" \
- "e\377\217\372\316n\377\1\370\313e\377\223\371\313^\377\1\370\313e\377" \
- "\215\372\316n\377\2\372\326\201\377\375\334\223\377\215\363ZE\0\2\365" \
- "\202u\377\364dU\377\217\360XC\377\1\362R<\377\240\361H2\377\2\363SC\377" \
- "\361Q;\377\240\361H2\377\2\362I3\377\370\223\205\377\243\363ZE\0\2\234" \
- "\333\322\377p\313\276\377\301o\312\275\377\1x\317\311\377\222\363ZE\0" \
- "\1\267\317^\377\241\253\307F\377\1\263\313Z\377\221\363ZE\0\1\263\312" \
- "R\377\260\253\307F\377\1\262\311Q\377\222\363ZE\0\1\375\337\243\377\242" \
- "\371\313^\377\1\370\313e\377\220\372\316n\377\1\370\313e\377\221\371" \
- "\313^\377\1\370\313e\377\216\372\316n\377\2\370\324x\377\375\334\223" \
- "\377\215\363ZE\0\2\364\200n\377\363[L\377\220\360XC\377\1\362R<\377\237" \
- "\361H2\377\2\363S=\377\361Q;\377\237\361H2\377\2\357O:\377\366\247\234" \
- "\377\245\363ZE\0\2\250\336\326\377t\312\304\377\277o\312\275\377\1\211" \
- "\321\306\377\223\363ZE\0\1\267\317^\377\237\253\307F\377\2\261\307G\377" \
- "\267\317^\377\222\363ZE\0\1\263\312R\377\260\253\307F\377\1\252\310O" \
- "\377\223\363ZE\0\2\377\345\264\377\370\313e\377\240\371\313^\377\1\370" \
- "\313e\377\221\372\316n\377\1\370\313e\377\217\371\313^\377\1\370\313" \
- "e\377\217\372\316n\377\2\373\320w\377\372\332\221\377\215\363ZE\0\1\366" \
- "{l\377\222\360XC\377\2\360X=\377\357O3\377\235\361H2\377\202\361Q;\377" \
- "\236\361H2\377\1\361`L\377\251\363ZE\0\1}\316\302\377\275o\312\275\377" \
- "\1\232\330\317\377\224\363ZE\0\1\267\317^\377\237\253\307F\377\1\274" \
- "\321n\377\223\363ZE\0\1\263\312R\377\261\253\307F\377\1\324\344\243\377" \
- "\224\363ZE\0\1\372\316n\377\237\371\313^\377\1\370\313e\377\222\372\316" \
- "n\377\1\370\313e\377\215\371\313^\377\1\370\313e\377\220\372\316n\377" \
- "\2\373\317o\377\372\330\211\377\215\363ZE\0\1\363q`\377\224\360XC\377" \
- "\1\357O:\377\234\361H2\377\2\357O:\377\361Q;\377\235\361H2\377\1\365" \
- "\202u\377\253\363ZE\0\1\216\326\313\377\272o\312\275\377\1t\312\304\377" \
- "\226\363ZE\0\1\267\317^\377\236\253\307F\377\1\311\331\205\377\224\363" \
- "ZE\0\1\263\312R\377\261\253\307F\377\1\300\324q\377\225\363ZE\0\1\372" \
- "\326\201\377\236\371\313^\377\1\370\313e\377\223\372\316n\377\1\370\313" \
- "e\377\213\371\313^\377\1\370\313e\377\222\372\316n\377\1\372\326\201" \
- "\377\215\363ZE\0\1\364kX\377\225\360XC\377\2\363S=\377\362I3\377\232" \
- "\361H2\377\2\362I3\377\357O:\377\233\361H2\377\2\361YD\377\371\260\243" \
- "\377\255\363ZE\0\2\264\342\333\377w\315\307\377\267o\312\275\377\1\211" \
- "\325\320\377\227\363ZE\0\1\267\317^\377\234\253\307F\377\2\262\311Q\377" \
- "\342\350\266\377\225\363ZE\0\1\263\312R\377\261\253\307F\377\1\263\312" \
- "R\377\226\363ZE\0\1\375\337\243\377\235\371\313^\377\1\370\313e\377\225" \
- "\372\316n\377\1\370\313e\377\207\371\313^\377\202\370\313e\377\223\372" \
- "\316n\377\1\372\326\201\377\215\363ZE\0\1\364cO\377\226\360XC\377\2\363" \
- "SC\377\357O:\377\232\361H2\377\1\361Q;\377\231\361H2\377\2\362I3\377" \
- "\365\210x\377\261\363ZE\0\1\232\330\317\377\263o\312\275\377\3p\313\276" \
- "\377}\316\302\377\264\342\333\377\230\363ZE\0\1\267\317^\377\233\253" \
- "\307F\377\1\300\327z\377\227\363ZE\0\1\263\312R\377\262\253\307F\377" \
- "\230\363ZE\0\1\373\320w\377\233\371\313^\377\1\370\313e\377\226\372\316" \
- "n\377\1\370\313e\377\205\371\313^\377\1\370\313e\377\225\372\316n\377" \
- "\1\373\320w\377\215\363ZE\0\1\361`L\377\230\360XC\377\2\363S=\377\357" \
- "O:\377\230\361H2\377\1\357O:\377\227\361H2\377\2\362I3\377\363q`\377" \
- "\265\363ZE\0\1\211\321\306\377\260o\312\275\377\2{\315\301\377\246\334" \
- "\324\377\232\363ZE\0\1\267\317^\377\231\253\307F\377\2\267\317^\377\333" \
- "\350\264\377\230\363ZE\0\1\263\312R\377\262\253\307F\377\231\363ZE\0" \
- "\2\375\337\243\377\370\313e\377\231\371\313^\377\1\370\313e\377\230\372" \
- "\316n\377\2\370\313e\377\371\313^\377\202\370\313e\377\226\372\316n\377" \
- "\1\374\320p\377\215\363ZE\0\1\363[L\377\232\360XC\377\2\362R<\377\362" \
- "I3\377\226\361H2\377\1\362I3\377\225\361H2\377\3\362I3\377\362iV\377" \
- "\372\262\253\377\267\363ZE\0\2\264\342\333\377\211\321\306\377\254o\312" \
- "\275\377\2{\315\301\377\232\330\317\377\234\363ZE\0\1\267\317^\377\227" \
- "\253\307F\377\2\263\312R\377\312\335\216\377\232\363ZE\0\1\263\312R\377" \
- "\262\253\307F\377\1\332\344\253\377\232\363ZE\0\2\372\330\211\377\370" \
- "\313e\377\227\371\313^\377\1\370\313e\377\230\372\316n\377\3\373\320" \
- "w\377\372\326\201\377\373\320w\377\227\372\316n\377\1\373\317o\377\215" \
- "\363ZE\0\1\361YD\377\234\360XC\377\2\362R<\377\357O:\377\224\361H2\377" \
- "\1\362I3\377\223\361H2\377\3\357O:\377\363q`\377\373\272\260\377\274" \
- "\363ZE\0\2\211\321\306\377q\314\277\377\247o\312\275\377\2}\316\302\377" \
- "\235\334\323\377\236\363ZE\0\1\267\317^\377\225\253\307F\377\2\263\312" \
- "R\377\312\335\216\377\234\363ZE\0\1\263\312R\377\262\253\307F\377\1\322" \
- "\341\240\377\234\363ZE\0\2\372\326\201\377\370\313e\377\225\371\313^" \
- "\377\1\370\313e\377\226\372\316n\377\2\373\320w\377\372\326\201\377\203" \
- "\375\334\223\377\2\372\330\211\377\373\320w\377\225\372\316n\377\1\373" \
- "\317o\377\215\363ZE\0\1\361YD\377\236\360XC\377\3\363S=\377\361Q;\377" \
- "\362I3\377\243\361H2\377\2\361YD\377\365\210x\377\301\363ZE\0\3\232\330" \
- "\317\377}\316\302\377p\313\276\377\240o\312\275\377\4p\313\276\377t\312" \
- "\304\377\211\321\306\377\264\342\333\377\240\363ZE\0\1\267\317^\377\223" \
- "\253\307F\377\2\263\313Z\377\312\335\216\377\236\363ZE\0\1\263\312R\377" \
- "\262\253\307F\377\1\314\337\220\377\236\363ZE\0\2\372\330\211\377\370" \
- "\313e\377\223\371\313^\377\1\370\313e\377\224\372\316n\377\3\373\320" \
- "w\377\372\326\201\377\372\332\221\377\206\375\334\223\377\3\372\330\211" \
- "\377\373\320w\377\373\317o\377\223\372\316n\377\215\363ZE\0\1\361YD\377" \
- "\241\360XC\377\2\362R<\377\357O:\377\217\361H2\377\1\362I3\377\215\361" \
- "H2\377\4\362I3\377\363S=\377\366tb\377\371\270\256\377\306\363ZE\0\3" \
- "\211\321\306\377{\315\301\377t\312\304\377\233o\312\275\377\3t\312\304" \
- "\377}\316\302\377\250\336\326\377\243\363ZE\0\1\267\317^\377\220\253" \
- "\307F\377\3\261\310P\377\266\320f\377\324\344\243\377\240\363ZE\0\1\263" \
- "\312R\377\262\253\307F\377\1\306\327\202\377\240\363ZE\0\2\374\335\232" \
- "\377\372\316n\377\221\371\313^\377\1\370\313e\377\221\372\316n\377\3" \
- "\373\317o\377\370\324x\377\372\330\211\377\213\375\334\223\377\3\372" \
- "\330\211\377\375\322y\377\373\317o\377\221\372\316n\377\215\363ZE\0\245" \
- "\360XC\377\3\363S=\377\357O:\377\357O3\377\226\361H2\377\4\362I9\377" \
- "\364cO\377\370\223\205\377\373\272\260\377\314\363ZE\0\2\236\335\324" \
- "\377}\316\302\377\224o\312\275\377\5p\313\276\377o\312\275\377y\312\276" \
- "\377\211\325\320\377\264\342\333\377\246\363ZE\0\1\267\317^\377\216\253" \
- "\307F\377\2\263\313Z\377\321\336\227\377\243\363ZE\0\1\263\312R\377\262" \
- "\253\307F\377\1\300\324q\377\243\363ZE\0\2\372\332\221\377\370\313e\377" \
- "\216\371\313^\377\1\370\313e\377\217\372\316n\377\3\373\320w\377\372" \
- "\326\201\377\372\332\221\377\217\375\334\223\377\3\372\332\221\377\372" \
- "\326\201\377\373\320w\377\217\372\316n\377\215\363ZE\0\251\360XC\377" \
- "\5\363S=\377\362R<\377\357O:\377\362I9\377\362I3\377\211\361H2\377\6" \
- "\362I3\377\361Q;\377\363[L\377\363q`\377\370\223\205\377\371\252\237" \
- "\377\325\363ZE\0\5\271\347\340\377\246\334\324\377\216\326\313\377x\317" \
- "\311\377t\312\304\377\202o\312\275\377\1p\313\276\377\203o\312\275\377" \
- "\203p\313\276\377\4w\315\307\377\200\322\306\377\232\330\317\377\264" \
- "\342\333\377\253\363ZE\0\1\267\317^\377\210\253\307F\377\5\261\307G\377" \
- "\253\307F\377\262\311Q\377\300\324q\377\324\344\243\377\246\363ZE\0\1" \
- "\263\312R\377\262\253\307F\377\1\276\321h\377\246\363ZE\0\3\375\337\243" \
- "\377\375\322y\377\370\313e\377\212\371\313^\377\1\370\313e\377\213\372" \
- "\316n\377\4\373\320w\377\372\326\201\377\373\327\202\377\372\332\221" \
- "\377\226\375\334\223\377\3\372\330\211\377\372\326\201\377\373\320w\377" \
- "\213\372\316n\377\215\363ZE\0\255\362I3\377\203\361H2\377\1\362I3\377" \
- "\202\361H2\377\1\363yj\377\377\363ZE\0\234\363ZE\0\1\267\317^\377\202" \
- "\253\307F\377\7\261\307G\377\261\310P\377\263\313Z\377\274\317f\377\306" \
- "\327\202\377\321\336\227\377\332\344\253\377\252\363ZE\0\1\263\312R\377" \
- "\262\253\307F\377\1\274\317f\377\252\363ZE\0\4\376\343\254\377\375\337" \
- "\243\377\372\330\211\377\370\324x\377\202\370\313e\377\203\371\313^\377" \
- "\1\370\313e\377\204\372\316n\377\2\373\317o\377\373\320w\377\202\370" \
- "\324x\377\2\372\326\201\377\372\330\211\377\202\372\332\221\377\233\375" \
- "\334\223\377\202\372\332\221\377\6\372\330\211\377\372\326\201\377\375" \
- "\322y\377\370\324x\377\373\320w\377\374\320p\377\204\372\316n\377\1\377" \
- "\345\264\377\214\363ZE\0\263\361H2\377\1\365\220\203\377\377\363ZE\0" \
- "\377\363ZE\0\270\363ZE\0\1\374\335\232\377\202\371\313^\377\257\370\313" \
- "e\377\3\371\313^\377\367\312d\377\376\343\254\377\214\363ZE\0\263\361" \
- "H2\377\1\370\223\205\377\377\363ZE\0\377\363ZE\0\270\363ZE\0\1\371\346" \
- "\264\377\263\371\313^\377\1\376\343\254\377\214\363ZE\0\263\361H2\377" \
- "\1\367\231\216\377\377\363ZE\0\377\363ZE\0\270\363ZE\0\1\371\346\264" \
- "\377\263\371\313^\377\1\377\345\264\377\214\363ZE\0\263\361H2\377\1\370" \
- "\242\232\377\377\363ZE\0\377\363ZE\0\270\363ZE\0\1\371\346\264\377\263" \
- "\371\313^\377\215\363ZE\0\263\361H2\377\1\372\262\253\377\377\363ZE\0" \
- "\377\363ZE\0\270\363ZE\0\1\371\346\264\377\263\371\313^\377\215\363Z" \
- "E\0\263\361H2\377\377\363ZE\0\377\363ZE\0\271\363ZE\0\1\371\346\264\377" \
- "\263\371\313^\377\215\363ZE\0\262\361H2\377\1\362I3\377\377\363ZE\0\377" \
- "\363ZE\0\271\363ZE\0\1\371\346\264\377\262\371\313^\377\1\370\313e\377" \
- "\215\363ZE\0\262\361H2\377\1\361YD\377\377\363ZE\0\377\363ZE\0\271\363" \
- "ZE\0\1\371\346\264\377\262\371\313^\377\1\373\317o\377\215\363ZE\0\262" \
- "\361H2\377\1\363q`\377\377\363ZE\0\377\363ZE\0\271\363ZE\0\1\371\346" \
- "\264\377\262\371\313^\377\1\372\326\201\377\215\363ZE\0\262\361H2\377" \
- "\1\370\223\205\377\377\363ZE\0\377\363ZE\0\271\363ZE\0\1\371\346\264" \
- "\377\262\371\313^\377\1\372\330\211\377\215\363ZE\0\262\361H2\377\1\372" \
- "\262\253\377\377\363ZE\0\377\363ZE\0\271\363ZE\0\1\371\346\264\377\262" \
- "\371\313^\377\1\375\337\243\377\215\363ZE\0\262\361H2\377\377\363ZE\0" \
- "\377\363ZE\0\272\363ZE\0\1\371\346\264\377\262\371\313^\377\216\363Z" \
- "E\0\261\361H2\377\1\361YD\377\377\363ZE\0\377\363ZE\0\272\363ZE\0\1\371" \
- "\346\264\377\261\371\313^\377\1\370\313e\377\216\363ZE\0\261\361H2\377" \
- "\1\365\220\203\377\377\363ZE\0\377\363ZE\0\272\363ZE\0\1\371\346\264" \
- "\377\261\371\313^\377\1\372\330\211\377\216\363ZE\0\261\361H2\377\1\371" \
- "\270\256\377\377\363ZE\0\377\363ZE\0\272\363ZE\0\1\371\346\264\377\261" \
- "\371\313^\377\1\375\337\243\377\216\363ZE\0\260\361H2\377\1\357O:\377" \
- "\377\363ZE\0\377\363ZE\0\273\363ZE\0\1\371\346\264\377\261\371\313^\377" \
- "\217\363ZE\0\260\361H2\377\1\365\202u\377\377\363ZE\0\377\363ZE\0\273" \
- "\363ZE\0\1\371\346\264\377\260\371\313^\377\1\370\324x\377\217\363ZE" \
- "\0\260\361H2\377\1\370\276\262\377\377\363ZE\0\377\363ZE\0\273\363ZE" \
- "\0\1\371\346\264\377\260\371\313^\377\1\375\337\243\377\217\363ZE\0\257" \
- "\361H2\377\1\361YD\377\377\363ZE\0\377\363ZE\0\274\363ZE\0\1\371\346" \
- "\264\377\260\371\313^\377\220\363ZE\0\257\361H2\377\1\367\240\222\377" \
- "\377\363ZE\0\377\363ZE\0\274\363ZE\0\1\371\346\264\377\257\371\313^\377" \
- "\1\372\326\201\377\220\363ZE\0\256\361H2\377\1\360XC\377\377\363ZE\0" \
- "\377\363ZE\0\275\363ZE\0\1\371\346\264\377\257\371\313^\377\221\363Z" \
- "E\0\256\361H2\377\1\367\213\201\377\377\363ZE\0\377\363ZE\0\275\363Z" \
- "E\0\1\371\346\264\377\256\371\313^\377\1\373\317o\377\221\363ZE\0\255" \
- "\361H2\377\1\363SC\377\377\363ZE\0\377\363ZE\0\276\363ZE\0\1\371\346" \
- "\264\377\256\371\313^\377\1\376\343\254\377\221\363ZE\0\255\361H2\377" \
- "\1\365\220\203\377\377\363ZE\0\377\363ZE\0\276\363ZE\0\1\371\346\264" \
- "\377\255\371\313^\377\1\370\313e\377\222\363ZE\0\254\361H2\377\1\361" \
- "YD\377\377\363ZE\0\377\363ZE\0\277\363ZE\0\1\371\346\264\377\255\371" \
- "\313^\377\1\376\343\254\377\222\363ZE\0\254\361H2\377\1\367\240\222\377" \
- "\377\363ZE\0\377\363ZE\0\277\363ZE\0\1\371\346\264\377\254\371\313^\377" \
- "\1\373\317o\377\223\363ZE\0\253\361H2\377\1\364kX\377\377\363ZE\0\377" \
- "\363ZE\0\300\363ZE\0\1\371\346\264\377\254\371\313^\377\224\363ZE\0\252" \
- "\361H2\377\1\361Q;\377\377\363ZE\0\377\363ZE\0\301\363ZE\0\1\371\346" \
- "\264\377\253\371\313^\377\1\372\330\211\377\224\363ZE\0\252\361H2\377" \
- "\1\366\227\206\377\377\363ZE\0\377\363ZE\0\301\363ZE\0\1\371\346\264" \
- "\377\252\371\313^\377\1\370\313e\377\225\363ZE\0\251\361H2\377\1\364" \
- "kX\377\377\363ZE\0\377\363ZE\0\302\363ZE\0\1\371\346\264\377\251\371" \
- "\313^\377\2\367\312d\377\376\343\254\377\225\363ZE\0\250\361H2\377\1" \
- "\362R<\377\377\363ZE\0\377\363ZE\0\303\363ZE\0\1\371\346\264\377\251" \
- "\371\313^\377\1\372\326\201\377\226\363ZE\0\250\361H2\377\1\372\262\253" \
- "\377\377\363ZE\0\377\363ZE\0\303\363ZE\0\1\371\346\264\377\250\371\313" \
- "^\377\1\373\317o\377\227\363ZE\0\247\361H2\377\1\370\223\205\377\377" \
- "\363ZE\0\377\363ZE\0\304\363ZE\0\1\371\346\264\377\247\371\313^\377\1" \
- "\370\313e\377\230\363ZE\0\246\361H2\377\1\364\200n\377\377\363ZE\0\377" \
- "\363ZE\0\305\363ZE\0\1\371\346\264\377\247\371\313^\377\1\377\345\264" \
- "\377\230\363ZE\0\245\361H2\377\1\363yj\377\377\363ZE\0\377\363ZE\0\306" \
- "\363ZE\0\1\371\346\264\377\246\371\313^\377\1\375\337\243\377\231\363" \
- "ZE\0\244\361H2\377\1\364yd\377\377\363ZE\0\377\363ZE\0\307\363ZE\0\1" \
- "\371\346\264\377\245\371\313^\377\1\372\332\221\377\232\363ZE\0\243\361" \
- "H2\377\1\363yj\377\377\363ZE\0\377\363ZE\0\310\363ZE\0\1\371\346\264" \
- "\377\244\371\313^\377\1\372\330\211\377\233\363ZE\0\241\361H2\377\2\362" \
- "I3\377\366{l\377\377\363ZE\0\377\363ZE\0\311\363ZE\0\1\371\346\264\377" \
- "\243\371\313^\377\1\372\330\211\377\234\363ZE\0\240\361H2\377\2\362I" \
- "3\377\367\213\201\377\377\363ZE\0\377\363ZE\0\312\363ZE\0\1\371\346\264" \
- "\377\242\371\313^\377\1\375\334\223\377\235\363ZE\0\237\361H2\377\2\357" \
- "O:\377\370\242\232\377\377\363ZE\0\377\363ZE\0\313\363ZE\0\1\371\346" \
- "\264\377\240\371\313^\377\2\370\313e\377\375\337\243\377\236\363ZE\0" \
- "\236\361H2\377\1\363S=\377\377\363ZE\0\377\363ZE\0\315\363ZE\0\1\371" \
- "\346\264\377\237\371\313^\377\2\370\313e\377\371\346\264\377\237\363" \
- "ZE\0\235\361H2\377\1\363q`\377\377\363ZE\0\377\363ZE\0\316\363ZE\0\1" \
- "\371\346\264\377\236\371\313^\377\1\373\317o\377\241\363ZE\0\233\361" \
- "H2\377\2\360XC\377\366\247\234\377\377\363ZE\0\377\363ZE\0\317\363ZE" \
- "\0\1\371\346\264\377\235\371\313^\377\1\372\332\221\377\242\363ZE\0\231" \
- "\361H2\377\2\362I3\377\366{l\377\377\363ZE\0\377\363ZE\0\321\363ZE\0" \
- "\1\371\346\264\377\233\371\313^\377\1\370\313e\377\244\363ZE\0\227\361" \
- "H2\377\2\362I3\377\363q`\377\377\363ZE\0\377\363ZE\0\323\363ZE\0\1\371" \
- "\346\264\377\231\371\313^\377\2\370\313e\377\375\334\223\377\245\363" \
- "ZE\0\226\361H2\377\2\362iV\377\371\270\256\377\377\363ZE\0\377\363ZE" \
- "\0\324\363ZE\0\1\371\346\264\377\227\371\313^\377\2\367\312d\377\372" \
- "\326\201\377\247\363ZE\0\223\361H2\377\3\357O:\377\365lY\377\371\270" \
- "\256\377\377\363ZE\0\377\363ZE\0\326\363ZE\0\1\371\346\264\377\226\371" \
- "\313^\377\1\372\326\201\377\251\363ZE\0\220\361H2\377\3\362I3\377\361" \
- "YD\377\365\202u\377\377\363ZE\0\377\363ZE\0\331\363ZE\0\1\371\346\264" \
- "\377\223\371\313^\377\2\370\313e\377\372\326\201\377\253\363ZE\0\215" \
- "\361H2\377\4\362I3\377\363SC\377\366tb\377\372\262\253\377\377\363ZE" \
- "\0\377\363ZE\0\333\363ZE\0\1\371\346\264\377\221\371\313^\377\2\370\313" \
- "e\377\375\334\223\377\255\363ZE\0\212\361H2\377\4\362I3\377\361`L\377" \
- "\370\223\205\377\373\272\260\377\377\363ZE\0\377\363ZE\0\336\363ZE\0" \
- "\1\371\346\264\377\216\371\313^\377\2\370\313e\377\372\330\211\377\260" \
- "\363ZE\0\203\361H2\377\6\357O3\377\363S=\377\364cO\377\363yj\377\367" \
- "\231\216\377\372\262\253\377\377\363ZE\0\377\363ZE\0\343\363ZE\0\1\371" \
- "\346\264\377\212\371\313^\377\3\370\313e\377\370\324x\377\375\337\243" \
- "\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\240\363ZE\0\1\371\346\264\377" \
- "\203\371\313^\377\202\370\313e\377\4\373\320w\377\372\332\221\377\375" \
- "\337\243\377\371\346\264\377\377\363ZE\0\377\363ZE\0\377\363ZE\0\377" \
- "\363ZE\0\377\363ZE\0\377\363ZE\0\377\363ZE\0\217\363ZE\0")
-
diff --git a/psplash-systemd.c b/psplash-systemd.c
new file mode 100644
index 0000000..840bd4e
--- /dev/null
+++ b/psplash-systemd.c
@@ -0,0 +1,179 @@
+/*
+ * pslash-systemd - systemd integration for psplash
+ *
+ * Copyright (c) 2020 Toradex
+ *
+ * Author: Stefan Agner <stefan.agner@toradex.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <systemd/sd-bus.h>
+#include <systemd/sd-event.h>
+#include "psplash.h"
+
+#define PSPLASH_UPDATE_USEC 1000000
+
+typedef uint64_t usec_t;
+
+static int pipe_fd;
+
+int get_progress(void)
+{
+ sd_bus_error error = SD_BUS_ERROR_NULL;
+ static double current_progress = 0;
+ double progress = 0;
+ sd_bus *bus = NULL;
+ int r;
+ char buffer[20];
+ int len;
+
+ /* Connect to the system bus */
+ r = sd_bus_new(&bus);
+ if (r < 0)
+ goto finish;
+
+ r = sd_bus_set_address(bus, "unix:path=/run/systemd/private");
+ if (r < 0)
+ goto finish;
+
+ r = sd_bus_start(bus);
+ if (r < 0) {
+ fprintf(stderr, "Failed to connect to systemd private bus: %s\n", strerror(-r));
+ goto finish;
+ }
+
+ /* Issue the method call and store the respons message in m */
+ r = sd_bus_get_property_trivial(bus,
+ "org.freedesktop.systemd1", /* service to contact */
+ "/org/freedesktop/systemd1", /* object path */
+ "org.freedesktop.systemd1.Manager", /* interface name */
+ "Progress", /* method name */
+ &error, /* object to return error in */
+ 'd', /* return message on success */
+ &progress); /* value */
+ if (r < 0) {
+ fprintf(stderr, "Failed to get progress: %s\n", error.message);
+ goto finish;
+ }
+
+ /*
+ * Systemd's progress seems go backwards at times. Prevent that
+ * progress bar on psplash goes backward by just communicating the
+ * highest observed progress so far.
+ */
+ if (current_progress < progress)
+ current_progress = progress;
+
+ len = snprintf(buffer, 20, "PROGRESS %d", (int)(current_progress * 100));
+ write(pipe_fd, buffer, len + 1);
+
+ if (progress == 1.0) {
+ printf("Systemd reported progress of 1.0, quit psplash.\n");
+ write(pipe_fd, "QUIT", 5);
+ r = -1;
+ }
+
+finish:
+ sd_bus_error_free(&error);
+ sd_bus_unref(bus);
+
+ return r;
+}
+
+int psplash_handler(sd_event_source *s,
+ uint64_t usec,
+ void *userdata)
+{
+ sd_event *event = userdata;
+ int r;
+
+ r = get_progress();
+ if (r < 0)
+ goto err;
+
+ r = sd_event_source_set_time(s, usec + PSPLASH_UPDATE_USEC);
+ if (r < 0)
+ goto err;
+
+ return 0;
+err:
+ sd_event_exit(event, EXIT_FAILURE);
+
+ return r;
+}
+
+int main()
+{
+ sd_event *event;
+ sd_event_source *event_source = NULL;
+ int r;
+ sigset_t ss;
+ usec_t time_now;
+ char *rundir;
+
+ /* Open pipe for psplash */
+ rundir = getenv("PSPLASH_FIFO_DIR");
+
+ if (!rundir)
+ rundir = "/run";
+
+ chdir(rundir);
+
+ if ((pipe_fd = open (PSPLASH_FIFO,O_WRONLY|O_NONBLOCK)) == -1) {
+ fprintf(stderr, "Error unable to open fifo");
+ exit(EXIT_FAILURE);
+ }
+
+ r = sd_event_default(&event);
+ if (r < 0)
+ goto finish;
+
+ if (sigemptyset(&ss) < 0 ||
+ sigaddset(&ss, SIGTERM) < 0 ||
+ sigaddset(&ss, SIGINT) < 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ /* Block SIGTERM first, so that the event loop can handle it */
+ if (sigprocmask(SIG_BLOCK, &ss, NULL) < 0) {
+ r = -errno;
+ goto finish;
+ }
+
+ /* Let's make use of the default handler and "floating" reference
+ * features of sd_event_add_signal() */
+ r = sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL);
+ if (r < 0)
+ goto finish;
+
+ r = sd_event_add_signal(event, NULL, SIGINT, NULL, NULL);
+ if (r < 0)
+ goto finish;
+
+ r = sd_event_now(event, CLOCK_MONOTONIC, &time_now);
+ if (r < 0)
+ goto finish;
+
+ r = sd_event_add_time(event, &event_source, CLOCK_MONOTONIC,
+ time_now, 0, psplash_handler, event);
+ if (r < 0)
+ goto finish;
+
+ r = sd_event_source_set_enabled(event_source, SD_EVENT_ON);
+ if (r < 0)
+ goto finish;
+
+ r = sd_event_loop(event);
+finish:
+ event = sd_event_unref(event);
+ close(pipe_fd);
+
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+}
diff --git a/psplash-write.c b/psplash-write.c
index 3fdba95..a12467a 100644
--- a/psplash-write.c
+++ b/psplash-write.c
@@ -5,15 +5,7 @@
*
* Parts of this file based on 'usplash' copyright Matthew Garret.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
@@ -29,13 +21,13 @@
int main(int argc, char **argv)
{
- char *tmpdir;
+ char *rundir;
int pipe_fd;
- tmpdir = getenv("TMPDIR");
+ rundir = getenv("PSPLASH_FIFO_DIR");
- if (!tmpdir)
- tmpdir = "/tmp";
+ if (!rundir)
+ rundir = "/run";
if (argc!=2)
{
@@ -43,7 +35,7 @@ int main(int argc, char **argv)
exit(-1);
}
- chdir(tmpdir);
+ chdir(rundir);
if ((pipe_fd = open (PSPLASH_FIFO,O_WRONLY|O_NONBLOCK)) == -1)
{
diff --git a/psplash.c b/psplash.c
index 992e199..ee1af6b 100644
--- a/psplash.c
+++ b/psplash.c
@@ -6,15 +6,7 @@
* Parts of this file ( fifo handling ) based on 'usplash' copyright
* Matthew Garret.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
@@ -23,7 +15,10 @@
#include "psplash-colors.h"
#include "psplash-poky-img.h"
#include "psplash-bar-img.h"
-#include "radeon-font.h"
+#ifdef HAVE_SYSTEMD
+#include <systemd/sd-daemon.h>
+#endif
+#include FONT_HEADER
#define SPLIT_LINE_POS(fb) \
( (fb)->height \
@@ -45,7 +40,7 @@ psplash_draw_msg (PSplashFB *fb, const char *msg)
{
int w, h;
- psplash_fb_text_size (&w, &h, &radeon_font, msg);
+ psplash_fb_text_size (&w, &h, &FONT_DEF, msg);
DBG("displaying '%s' %ix%i\n", msg, w, h);
@@ -62,10 +57,11 @@ psplash_draw_msg (PSplashFB *fb, const char *msg)
(fb->width-w)/2,
SPLIT_LINE_POS(fb) - h,
PSPLASH_TEXT_COLOR,
- &radeon_font,
+ &FONT_DEF,
msg);
}
+#ifdef PSPLASH_SHOW_PROGRESS_BAR
void
psplash_draw_progress (PSplashFB *fb, int value)
{
@@ -100,6 +96,7 @@ psplash_draw_progress (PSplashFB *fb, int value)
DBG("value: %i, width: %i, barwidth :%i\n", value,
width, barwidth);
}
+#endif /* PSPLASH_SHOW_PROGRESS_BAR */
static int
parse_command (PSplashFB *fb, char *string)
@@ -113,19 +110,28 @@ parse_command (PSplashFB *fb, char *string)
command = strtok(string," ");
- if (!strcmp(command,"PROGRESS"))
+ if (!strcmp(command,"MSG"))
{
- psplash_draw_progress (fb, atoi(strtok(NULL,"\0")));
+ char *arg = strtok(NULL, "\0");
+
+ if (arg)
+ psplash_draw_msg (fb, arg);
}
- else if (!strcmp(command,"MSG"))
+ #ifdef PSPLASH_SHOW_PROGRESS_BAR
+ else if (!strcmp(command,"PROGRESS"))
{
- psplash_draw_msg (fb, strtok(NULL,"\0"));
+ char *arg = strtok(NULL, "\0");
+
+ if (arg)
+ psplash_draw_progress (fb, atoi(arg));
}
+#endif
else if (!strcmp(command,"QUIT"))
{
return 1;
}
+ psplash_fb_flip(fb, 0);
return 0;
}
@@ -137,6 +143,7 @@ psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
fd_set descriptors;
struct timeval tv;
char *end;
+ char *cmd;
char command[2048];
tv.tv_sec = timeout;
@@ -172,21 +179,32 @@ psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
pipe_fd = open(PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
goto out;
}
-
- if (command[length-1] == '\0')
- {
- if (parse_command(fb, command))
- return;
- length = 0;
- }
- else if (command[length-1] == '\n')
- {
- command[length-1] = '\0';
- if (parse_command(fb, command))
- return;
- length = 0;
- }
+ cmd = command;
+ do {
+ int cmdlen;
+ char *cmdend = memchr(cmd, '\n', length);
+
+ /* Replace newlines with string termination */
+ if (cmdend)
+ *cmdend = '\0';
+
+ cmdlen = strnlen(cmd, length);
+
+ /* Skip string terminations */
+ if (!cmdlen && length)
+ {
+ length--;
+ cmd++;
+ continue;
+ }
+
+ if (parse_command(fb, cmd))
+ return;
+
+ length -= cmdlen;
+ cmd += cmdlen;
+ } while (length);
out:
end = &command[length];
@@ -204,7 +222,7 @@ psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
int
main (int argc, char** argv)
{
- char *tmpdir;
+ char *rundir;
int pipe_fd, i = 0, angle = 0, fbdev_id = 0, ret = 0;
PSplashFB *fb;
bool disable_console_switch = FALSE;
@@ -241,12 +259,12 @@ main (int argc, char** argv)
exit(-1);
}
- tmpdir = getenv("TMPDIR");
+ rundir = getenv("PSPLASH_FIFO_DIR");
- if (!tmpdir)
- tmpdir = "/tmp";
+ if (!rundir)
+ rundir = "/run";
- chdir(tmpdir);
+ chdir(rundir);
if (mkfifo(PSPLASH_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP))
{
@@ -274,6 +292,10 @@ main (int argc, char** argv)
goto fb_fail;
}
+#ifdef HAVE_SYSTEMD
+ sd_notify(0, "READY=1");
+#endif
+
/* Clear the background with #ecece1 */
psplash_fb_draw_rect (fb, 0, 0, fb->width, fb->height,
PSPLASH_BACKGROUND_COLOR);
@@ -293,6 +315,7 @@ main (int argc, char** argv)
POKY_IMG_ROWSTRIDE,
POKY_IMG_RLE_PIXEL_DATA);
+#ifdef PSPLASH_SHOW_PROGRESS_BAR
/* Draw progress bar border */
psplash_fb_draw_image (fb,
(fb->width - BAR_IMG_WIDTH)/2,
@@ -304,13 +327,21 @@ main (int argc, char** argv)
BAR_IMG_RLE_PIXEL_DATA);
psplash_draw_progress (fb, 0);
+#endif
#ifdef PSPLASH_STARTUP_MSG
psplash_draw_msg (fb, PSPLASH_STARTUP_MSG);
#endif
- psplash_main (fb, pipe_fd, 0);
+ /* Scene set so let's flip the buffers. */
+ /* The first time we also synchronize the buffers so we can build on an
+ * existing scene. After the first scene is set in both buffers, only the
+ * text and progress bar change which overwrite the specific areas with every
+ * update.
+ */
+ psplash_fb_flip(fb, 1);
+ psplash_main (fb, pipe_fd, 0);
psplash_fb_destroy (fb);
diff --git a/psplash.h b/psplash.h
index 7b1298f..1c42ec7 100644
--- a/psplash.h
+++ b/psplash.h
@@ -3,15 +3,7 @@
*
* Copyright (c) 2006 Matthew Allum <mallum@o-hand.com>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * SPDX-License-Identifier: GPL-2.0-or-later
*
*/
diff --git a/radeon-font.h b/radeon-font.h
index d2c59a4..ca70cba 100644
--- a/radeon-font.h
+++ b/radeon-font.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
#include "psplash.h"
/* Font generated from 'radeon' bdf font */