← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~suutari-olli/openlp/fix-openlp-importer into lp:openlp/2.4

 

Azaziah has proposed merging lp:~suutari-olli/openlp/fix-openlp-importer into lp:openlp/2.4.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~suutari-olli/openlp/fix-openlp-importer/+merge/314295

- For diff
-- 
The attached diff has been truncated due to its size.
Your team OpenLP Core is requested to review the proposed merge of lp:~suutari-olli/openlp/fix-openlp-importer into lp:openlp/2.4.
=== modified file '.bzrignore'
--- .bzrignore	2016-04-27 18:45:39 +0000
+++ .bzrignore	2017-01-08 22:05:36 +0000
@@ -45,4 +45,9 @@
 *.kdev4
 coverage
 tags
-output
+<<<<<<< TREE
+output
+=======
+output
+htmlcov
+>>>>>>> MERGE-SOURCE

=== removed file '.coveragerc'
--- .coveragerc	2016-01-04 00:01:23 +0000
+++ .coveragerc	1970-01-01 00:00:00 +0000
@@ -1,5 +0,0 @@
-[run]
-source = openlp
-
-[html]
-directory = coverage

=== added file 'nose2.cfg'
--- nose2.cfg	1970-01-01 00:00:00 +0000
+++ nose2.cfg	2017-01-08 22:05:36 +0000
@@ -0,0 +1,22 @@
+[unittest]
+verbose = true
+plugins = nose2.plugins.mp
+
+[log-capture]
+always-on = true
+clear-handlers = true
+filter = -nose
+log-level = ERROR
+
+[test-result]
+always-on = true
+descriptions = true
+
+[coverage]
+always-on = true
+coverage = openlp
+coverage-report = html
+
+[multiprocess]
+always-on = false
+processes = 4

=== modified file 'openlp/.version'
--- openlp/.version	2016-11-26 15:09:53 +0000
+++ openlp/.version	2017-01-08 22:05:36 +0000
@@ -1,1 +1,5 @@
+<<<<<<< TREE
 2.4.4
+=======
+2.5.0
+>>>>>>> MERGE-SOURCE

=== modified file 'openlp/core/__init__.py'
--- openlp/core/__init__.py	2016-12-31 11:05:48 +0000
+++ openlp/core/__init__.py	2017-01-08 22:05:36 +0000
@@ -27,26 +27,26 @@
 logging and a plugin framework are contained within the openlp.core module.
 """
 
+import argparse
+import logging
 import os
+import shutil
 import sys
-import logging
-import argparse
+import time
 from traceback import format_exception
-import shutil
-import time
+
 from PyQt5 import QtCore, QtGui, QtWidgets
 
-from openlp.core.common import Registry, OpenLPMixin, AppLocation, Settings, UiStrings, check_directory_exists, \
-    is_macosx, is_win, translate
+from openlp.core.common import Registry, OpenLPMixin, AppLocation, LanguageManager, Settings, UiStrings, \
+    check_directory_exists, is_macosx, is_win, translate
+from openlp.core.common.versionchecker import VersionThread, get_application_version
 from openlp.core.lib import ScreenList
 from openlp.core.resources import qInitResources
+from openlp.core.ui import SplashScreen
+from openlp.core.ui.exceptionform import ExceptionForm
+from openlp.core.ui.firsttimeform import FirstTimeForm
+from openlp.core.ui.firsttimelanguageform import FirstTimeLanguageForm
 from openlp.core.ui.mainwindow import MainWindow
-from openlp.core.ui.firsttimelanguageform import FirstTimeLanguageForm
-from openlp.core.ui.firsttimeform import FirstTimeForm
-from openlp.core.ui.exceptionform import ExceptionForm
-from openlp.core.ui import SplashScreen
-from openlp.core.utils import LanguageManager, VersionThread, get_application_version
-
 
 __all__ = ['OpenLP', 'main']
 
@@ -177,6 +177,38 @@
             self.shared_memory.create(1)
             return False
 
+    def is_data_path_missing(self):
+        """
+        Check if the data folder path exists.
+        """
+        data_folder_path = AppLocation.get_data_path()
+        if not os.path.exists(data_folder_path):
+            log.critical('Database was not found in: ' + data_folder_path)
+            status = QtWidgets.QMessageBox.critical(None, translate('OpenLP', 'Data Directory Error'),
+                                                    translate('OpenLP', 'OpenLP data folder was not found in:\n\n{path}'
+                                                                        '\n\nThe location of the data folder was '
+                                                                        'previously changed from the OpenLP\'s '
+                                                                        'default location. If the data was stored on '
+                                                                        'removable device, that device needs to be '
+                                                                        'made available.\n\nYou may reset the data '
+                                                                        'location back to the default location, '
+                                                                        'or you can try to make the current location '
+                                                                        'available.\n\nDo you want to reset to the '
+                                                                        'default data location? If not, OpenLP will be '
+                                                                        'closed so you can try to fix the the problem.')
+                                                    .format(path=data_folder_path),
+                                                    QtWidgets.QMessageBox.StandardButtons(QtWidgets.QMessageBox.Yes |
+                                                                                          QtWidgets.QMessageBox.No),
+                                                    QtWidgets.QMessageBox.No)
+            if status == QtWidgets.QMessageBox.No:
+                # If answer was "No", return "True", it will shutdown OpenLP in def main
+                log.info('User requested termination')
+                return True
+            # If answer was "Yes", remove the custom data path thus resetting the default location.
+            Settings().remove('advanced/data path')
+            log.info('Database location has been reset to the default settings.')
+            return False
+
     def hook_exception(self, exc_type, value, traceback):
         """
         Add an exception hook so that any uncaught exceptions are displayed in this window rather than somewhere where
@@ -205,6 +237,7 @@
         Check if OpenLP has been upgraded, and ask if a backup of data should be made
 
         :param has_run_wizard: OpenLP has been run before
+        :param can_show_splash: Should OpenLP show the splash screen
         """
         data_version = Settings().value('core/application version')
         openlp_version = get_application_version()['version']
@@ -216,8 +249,8 @@
             if self.splash.isVisible():
                 self.splash.hide()
             if QtWidgets.QMessageBox.question(None, translate('OpenLP', 'Backup'),
-                                              translate('OpenLP', 'OpenLP has been upgraded, do you want to create '
-                                                                  'a backup of OpenLPs data folder?'),
+                                              translate('OpenLP', 'OpenLP has been upgraded, do you want to create\n'
+                                                                  'a backup of the old data folder?'),
                                               QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
                                               QtWidgets.QMessageBox.Yes) == QtWidgets.QMessageBox.Yes:
                 # Create copy of data folder
@@ -230,10 +263,11 @@
                     QtWidgets.QMessageBox.warning(None, translate('OpenLP', 'Backup'),
                                                   translate('OpenLP', 'Backup of the data folder failed!'))
                     return
-                QtWidgets.QMessageBox.information(None, translate('OpenLP', 'Backup'),
-                                                  translate('OpenLP',
-                                                            'A backup of the data folder has been created at %s')
-                                                  % data_folder_backup_path)
+                message = translate('OpenLP',
+                                    'A backup of the data folder has been created at:\n\n'
+                                    '{text}').format(text=data_folder_backup_path)
+                QtWidgets.QMessageBox.information(None, translate('OpenLP', 'Backup'), message)
+
             # Update the version in the settings
             Settings().setValue('core/application version', openlp_version)
             if can_show_splash:
@@ -267,7 +301,7 @@
         """
         if event.type() == QtCore.QEvent.FileOpen:
             file_name = event.file()
-            log.debug('Got open file event for %s!', file_name)
+            log.debug('Got open file event for {name}!'.format(name=file_name))
             self.args.insert(0, file_name)
             return True
         # Mac OS X should restore app window when user clicked on the OpenLP icon
@@ -321,7 +355,7 @@
     logfile.setFormatter(logging.Formatter('%(asctime)s %(name)-55s %(levelname)-8s %(message)s'))
     log.addHandler(logfile)
     if log.isEnabledFor(logging.DEBUG):
-        print('Logging to: %s' % filename)
+        print('Logging to: {name}'.format(name=filename))
 
 
 def main(args=None):
@@ -362,12 +396,12 @@
         log.info('Running portable')
         portable_settings_file = os.path.abspath(os.path.join(application_path, '..', '..', 'Data', 'OpenLP.ini'))
         # Make this our settings file
-        log.info('INI file: %s', portable_settings_file)
+        log.info('INI file: {name}'.format(name=portable_settings_file))
         Settings.set_filename(portable_settings_file)
         portable_settings = Settings()
         # Set our data path
         data_path = os.path.abspath(os.path.join(application_path, '..', '..', 'Data',))
-        log.info('Data path: %s', data_path)
+        log.info('Data path: {name}'.format(name=data_path))
         # Point to our data path
         portable_settings.setValue('advanced/data path', data_path)
         portable_settings.setValue('advanced/is portable', True)
@@ -378,9 +412,13 @@
     Registry.create()
     Registry().register('application', application)
     application.setApplicationVersion(get_application_version()['version'])
-    # Instance check
+    # Check if an instance of OpenLP is already running. Quit if there is a running instance and the user only wants one
     if application.is_already_running():
         sys.exit()
+    # If the custom data path is missing and the user wants to restore the data path, quit OpenLP.
+    if application.is_data_path_missing():
+        application.shared_memory.detach()
+        sys.exit()
     # Remove/convert obsolete settings.
     Settings().remove_obsolete_settings()
     # First time checks in settings

=== modified file 'openlp/core/common/__init__.py'
--- openlp/core/common/__init__.py	2016-12-31 11:05:48 +0000
+++ openlp/core/common/__init__.py	2017-01-08 22:05:36 +0000
@@ -24,15 +24,18 @@
 OpenLP work.
 """
 import hashlib
+
+import logging
+import os
 import re
-import os
-import logging
 import sys
 import traceback
+from chardet.universaldetector import UniversalDetector
 from ipaddress import IPv4Address, IPv6Address, AddressValueError
-from codecs import decode, encode
+from shutil import which
+from subprocess import check_output, CalledProcessError, STDOUT
 
-from PyQt5 import QtCore
+from PyQt5 import QtCore, QtGui
 from PyQt5.QtCore import QCryptographicHash as QHash
 
 log = logging.getLogger(__name__ + '.__init__')
@@ -40,6 +43,9 @@
 
 FIRST_CAMEL_REGEX = re.compile('(.)([A-Z][a-z]+)')
 SECOND_CAMEL_REGEX = re.compile('([a-z0-9])([A-Z])')
+CONTROL_CHARS = re.compile(r'[\x00-\x1F\x7F-\x9F]', re.UNICODE)
+INVALID_FILE_CHARS = re.compile(r'[\\/:\*\?"<>\|\+\[\]%]', re.UNICODE)
+IMAGES_FILTER = None
 
 
 def trace_error_handler(logger):
@@ -50,7 +56,9 @@
     """
     log_string = "OpenLP Error trace"
     for tb in traceback.extract_stack():
-        log_string = '%s\n   File %s at line %d \n\t called %s' % (log_string, tb[0], tb[1], tb[3])
+        log_string += '\n   File {file} at line {line} \n\t called {data}'.format(file=tb[0],
+                                                                                  line=tb[1],
+                                                                                  data=tb[3])
     logger.error(log_string)
 
 
@@ -62,7 +70,7 @@
     :param do_not_log: To not log anything. This is need for the start up, when the log isn't ready.
     """
     if not do_not_log:
-        log.debug('check_directory_exists %s' % directory)
+        log.debug('check_directory_exists {text}'.format(text=directory))
     try:
         if not os.path.exists(directory):
             os.makedirs(directory)
@@ -188,7 +196,7 @@
     return True if verify_ipv4(addr) else verify_ipv6(addr)
 
 
-def md5_hash(salt, data=None):
+def md5_hash(salt=None, data=None):
     """
     Returns the hashed output of md5sum on salt,data
     using Python3 hashlib
@@ -197,33 +205,49 @@
     :param data: OPTIONAL Data to hash
     :returns: str
     """
-    log.debug('md5_hash(salt="%s")' % salt)
+    log.debug('md5_hash(salt="{text}")'.format(text=salt))
+    if not salt and not data:
+        return None
     hash_obj = hashlib.new('md5')
-    hash_obj.update(salt)
+    if salt:
+        hash_obj.update(salt)
     if data:
         hash_obj.update(data)
     hash_value = hash_obj.hexdigest()
-    log.debug('md5_hash() returning "%s"' % hash_value)
+    log.debug('md5_hash() returning "{text}"'.format(text=hash_value))
     return hash_value
 
 
-def qmd5_hash(salt, data=None):
+def qmd5_hash(salt=None, data=None):
     """
     Returns the hashed output of MD5Sum on salt, data
-    using PyQt5.QCryptographicHash.
+    using PyQt5.QCryptographicHash. Function returns a
+    QByteArray instead of a text string.
+    If you need a string instead, call with
+
+        result = str(qmd5_hash(salt=..., data=...), encoding='ascii')
 
     :param salt: Initial salt
     :param data: OPTIONAL Data to hash
-    :returns: str
+    :returns: QByteArray
     """
-    log.debug('qmd5_hash(salt="%s"' % salt)
+    log.debug('qmd5_hash(salt="{text}"'.format(text=salt))
+    if salt is None and data is None:
+        return None
     hash_obj = QHash(QHash.Md5)
+<<<<<<< TREE
     hash_obj.addData(salt)
     if data:
         hash_obj.addData(data)
+=======
+    if salt:
+        hash_obj.addData(salt)
+    if data:
+        hash_obj.addData(data)
+>>>>>>> MERGE-SOURCE
     hash_value = hash_obj.result().toHex()
-    log.debug('qmd5_hash() returning "%s"' % hash_value)
-    return hash_value.data()
+    log.debug('qmd5_hash() returning "{hash}"'.format(hash=hash_value))
+    return hash_value
 
 
 def clean_button_text(button_text):
@@ -242,4 +266,181 @@
 from .uistrings import UiStrings
 from .settings import Settings
 from .applocation import AppLocation
-from .historycombobox import HistoryComboBox
+from .actions import ActionList
+from .languagemanager import LanguageManager
+
+if is_win():
+    from subprocess import STARTUPINFO, STARTF_USESHOWWINDOW
+
+
+def add_actions(target, actions):
+    """
+    Adds multiple actions to a menu or toolbar in one command.
+
+    :param target: The menu or toolbar to add actions to
+    :param actions: The actions to be added. An action consisting of the keyword ``None``
+        will result in a separator being inserted into the target.
+    """
+    for action in actions:
+        if action is None:
+            target.addSeparator()
+        else:
+            target.addAction(action)
+
+
+def get_uno_command(connection_type='pipe'):
+    """
+    Returns the UNO command to launch an libreoffice.org instance.
+    """
+    for command in ['libreoffice', 'soffice']:
+        if which(command):
+            break
+    else:
+        raise FileNotFoundError('Command not found')
+
+    OPTIONS = '--nologo --norestore --minimized --nodefault --nofirststartwizard'
+    if connection_type == 'pipe':
+        CONNECTION = '"--accept=pipe,name=openlp_pipe;urp;"'
+    else:
+        CONNECTION = '"--accept=socket,host=localhost,port=2002;urp;"'
+    return '{cmd} {opt} {conn}'.format(cmd=command, opt=OPTIONS, conn=CONNECTION)
+
+
+def get_uno_instance(resolver, connection_type='pipe'):
+    """
+    Returns a running libreoffice.org instance.
+
+    :param resolver: The UNO resolver to use to find a running instance.
+    """
+    log.debug('get UNO Desktop Openoffice - resolve')
+    if connection_type == 'pipe':
+        return resolver.resolve('uno:pipe,name=openlp_pipe;urp;StarOffice.ComponentContext')
+    else:
+        return resolver.resolve('uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext')
+
+
+def get_filesystem_encoding():
+    """
+    Returns the name of the encoding used to convert Unicode filenames into system file names.
+    """
+    encoding = sys.getfilesystemencoding()
+    if encoding is None:
+        encoding = sys.getdefaultencoding()
+    return encoding
+
+
+def split_filename(path):
+    """
+    Return a list of the parts in a given path.
+    """
+    path = os.path.abspath(path)
+    if not os.path.isfile(path):
+        return path, ''
+    else:
+        return os.path.split(path)
+
+
+def delete_file(file_path_name):
+    """
+    Deletes a file from the system.
+
+    :param file_path_name: The file, including path, to delete.
+    """
+    if not file_path_name:
+        return False
+    try:
+        if os.path.exists(file_path_name):
+            os.remove(file_path_name)
+        return True
+    except (IOError, OSError):
+        log.exception("Unable to delete file {text}".format(text=file_path_name))
+        return False
+
+
+def get_images_filter():
+    """
+    Returns a filter string for a file dialog containing all the supported image formats.
+    """
+    global IMAGES_FILTER
+    if not IMAGES_FILTER:
+        log.debug('Generating images filter.')
+        formats = list(map(bytes.decode, list(map(bytes, QtGui.QImageReader.supportedImageFormats()))))
+        visible_formats = '(*.{text})'.format(text='; *.'.join(formats))
+        actual_formats = '(*.{text})'.format(text=' *.'.join(formats))
+        IMAGES_FILTER = '{text} {visible} {actual}'.format(text=translate('OpenLP', 'Image Files'),
+                                                           visible=visible_formats,
+                                                           actual=actual_formats)
+    return IMAGES_FILTER
+
+
+def is_not_image_file(file_name):
+    """
+    Validate that the file is not an image file.
+
+    :param file_name: File name to be checked.
+    """
+    if not file_name:
+        return True
+    else:
+        formats = [bytes(fmt).decode().lower() for fmt in QtGui.QImageReader.supportedImageFormats()]
+        file_part, file_extension = os.path.splitext(str(file_name))
+        if file_extension[1:].lower() in formats and os.path.exists(file_name):
+            return False
+        return True
+
+
+def clean_filename(filename):
+    """
+    Removes invalid characters from the given ``filename``.
+
+    :param filename:  The "dirty" file name to clean.
+    """
+    if not isinstance(filename, str):
+        filename = str(filename, 'utf-8')
+    return INVALID_FILE_CHARS.sub('_', CONTROL_CHARS.sub('', filename))
+
+
+def check_binary_exists(program_path):
+    """
+    Function that checks whether a binary exists.
+
+    :param program_path:The full path to the binary to check.
+    :return: program output to be parsed
+    """
+    log.debug('testing program_path: {text}'.format(text=program_path))
+    try:
+        # Setup startupinfo options for check_output to avoid console popping up on windows
+        if is_win():
+            startupinfo = STARTUPINFO()
+            startupinfo.dwFlags |= STARTF_USESHOWWINDOW
+        else:
+            startupinfo = None
+        runlog = check_output([program_path, '--help'], stderr=STDOUT, startupinfo=startupinfo)
+    except CalledProcessError as e:
+        runlog = e.output
+    except Exception:
+        trace_error_handler(log)
+        runlog = ''
+    log.debug('check_output returned: {text}'.format(text=runlog))
+    return runlog
+
+
+def get_file_encoding(filename):
+    """
+    Utility function to incrementally detect the file encoding.
+
+    :param filename: Filename for the file to determine the encoding for. Str
+    :return: A dict with the keys 'encoding' and 'confidence'
+    """
+    detector = UniversalDetector()
+    try:
+        with open(filename, 'rb') as detect_file:
+            while not detector.done:
+                chunk = detect_file.read(1024)
+                if not chunk:
+                    break
+                detector.feed(chunk)
+            detector.close()
+        return detector.result
+    except OSError:
+        log.exception('Error detecting file encoding')

=== added file 'openlp/core/common/actions.py'
--- openlp/core/common/actions.py	1970-01-01 00:00:00 +0000
+++ openlp/core/common/actions.py	2017-01-08 22:05:36 +0000
@@ -0,0 +1,390 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2017 OpenLP Developers                                   #
+# --------------------------------------------------------------------------- #
+# 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; version 2 of the License.                              #
+#                                                                             #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    #
+# more details.                                                               #
+#                                                                             #
+# You should have received a copy of the GNU General Public License along     #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
+###############################################################################
+"""
+The :mod:`~openlp.core.utils.actions` module provides action list classes used
+by the shortcuts system.
+"""
+import logging
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+from openlp.core.common import Settings
+
+
+log = logging.getLogger(__name__)
+
+
+class ActionCategory(object):
+    """
+    The :class:`~openlp.core.utils.ActionCategory` class encapsulates a category for the
+    :class:`~openlp.core.utils.CategoryList` class.
+    """
+    def __init__(self, name, weight=0):
+        """
+        Constructor
+        """
+        self.name = name
+        self.weight = weight
+        self.actions = CategoryActionList()
+
+
+class CategoryActionList(object):
+    """
+    The :class:`~openlp.core.utils.CategoryActionList` class provides a sorted list of actions within a category.
+    """
+    def __init__(self):
+        """
+        Constructor
+        """
+        self.index = 0
+        self.actions = []
+
+    def __contains__(self, key):
+        """
+        Implement the __contains__() method to make this class a dictionary type
+        """
+        for weight, action in self.actions:
+            if action == key:
+                return True
+        return False
+
+    def __len__(self):
+        """
+        Implement the __len__() method to make this class a dictionary type
+        """
+        return len(self.actions)
+
+    def __iter__(self):
+        """
+        Implement the __getitem__() method to make this class iterable
+        """
+        return self
+
+    def __next__(self):
+        """
+        Python 3 "next" method.
+        """
+        if self.index >= len(self.actions):
+            self.index = 0
+            raise StopIteration
+        else:
+            self.index += 1
+            return self.actions[self.index - 1][1]
+
+    def append(self, action):
+        """
+        Append an action
+        """
+        weight = 0
+        if self.actions:
+            weight = self.actions[-1][0] + 1
+        self.add(action, weight)
+
+    def add(self, action, weight=0):
+        """
+        Add an action.
+        """
+        self.actions.append((weight, action))
+        self.actions.sort(key=lambda act: act[0])
+
+    def remove(self, action):
+        """
+        Remove an action
+        """
+        for item in self.actions:
+            if item[1] == action:
+                self.actions.remove(item)
+                return
+        raise ValueError('Action "{action}" does not exist.'.format(action=action))
+
+
+class CategoryList(object):
+    """
+    The :class:`~openlp.core.utils.CategoryList` class encapsulates a category list for the
+    :class:`~openlp.core.utils.ActionList` class and provides an iterator interface for walking through the list of
+    actions in this category.
+    """
+
+    def __init__(self):
+        """
+        Constructor
+        """
+        self.index = 0
+        self.categories = []
+
+    def __getitem__(self, key):
+        """
+        Implement the __getitem__() method to make this class like a dictionary
+        """
+        for category in self.categories:
+            if category.name == key:
+                return category
+        raise KeyError('Category "{key}" does not exist.'.format(key=key))
+
+    def __len__(self):
+        """
+        Implement the __len__() method to make this class like a dictionary
+        """
+        return len(self.categories)
+
+    def __iter__(self):
+        """
+        Implement the __iter__() method to make this class like a dictionary
+        """
+        return self
+
+    def __next__(self):
+        """
+        Python 3 "next" method for iterator.
+        """
+        if self.index >= len(self.categories):
+            self.index = 0
+            raise StopIteration
+        else:
+            self.index += 1
+            return self.categories[self.index - 1]
+
+    def __contains__(self, key):
+        """
+        Implement the __contains__() method to make this class like a dictionary
+        """
+        for category in self.categories:
+            if category.name == key:
+                return True
+        return False
+
+    def append(self, name, actions=None):
+        """
+        Append a category
+        """
+        weight = 0
+        if self.categories:
+            weight = self.categories[-1].weight + 1
+        self.add(name, weight, actions)
+
+    def add(self, name, weight=0, actions=None):
+        """
+        Add a category
+        """
+        category = ActionCategory(name, weight)
+        if actions:
+            for action in actions:
+                if isinstance(action, tuple):
+                    category.actions.add(action[0], action[1])
+                else:
+                    category.actions.append(action)
+        self.categories.append(category)
+        self.categories.sort(key=lambda cat: cat.weight)
+
+    def remove(self, name):
+        """
+        Remove a category
+        """
+        for category in self.categories:
+            if category.name == name:
+                self.categories.remove(category)
+                return
+        raise ValueError('Category "{name}" does not exist.'.format(name=name))
+
+
+class ActionList(object):
+    """
+    The :class:`~openlp.core.utils.ActionList` class contains a list of menu actions and categories associated with
+    those actions. Each category also has a weight by which it is sorted when iterating through the list of actions or
+    categories.
+    """
+    instance = None
+    shortcut_map = {}
+
+    def __init__(self):
+        """
+        Constructor
+        """
+        self.categories = CategoryList()
+
+    @staticmethod
+    def get_instance():
+        """
+        Get the instance of this class.
+        """
+        if ActionList.instance is None:
+            ActionList.instance = ActionList()
+        return ActionList.instance
+
+    def add_action(self, action, category=None, weight=None):
+        """
+        Add an action to the list of actions.
+
+        **Note**: The action's objectName must be set when you want to add it!
+
+        :param action: The action to add (QAction). **Note**, the action must not have an empty ``objectName``.
+        :param category: The category this action belongs to. The category has to be a python string. . **Note**,
+            if the category is ``None``, the category and its actions are being hidden in the shortcut dialog. However,
+            if they are added, it is possible to avoid assigning shortcuts twice, which is important.
+        :param weight: The weight specifies how important a category is. However, this only has an impact on the order
+            the categories are displayed.
+        """
+        if category not in self.categories:
+            self.categories.append(category)
+        settings = Settings()
+        settings.beginGroup('shortcuts')
+        # Get the default shortcut from the config.
+        action.default_shortcuts = settings.get_default_value(action.objectName())
+        if weight is None:
+            self.categories[category].actions.append(action)
+        else:
+            self.categories[category].actions.add(action, weight)
+        # Load the shortcut from the config.
+        shortcuts = settings.value(action.objectName())
+        settings.endGroup()
+        if not shortcuts:
+            action.setShortcuts([])
+            return
+        # We have to do this to ensure that the loaded shortcut list e. g. STRG+O (German) is converted to CTRL+O,
+        # which is only done when we convert the strings in this way (QKeySequencet -> uncode).
+        shortcuts = list(map(QtGui.QKeySequence.toString, list(map(QtGui.QKeySequence, shortcuts))))
+        # Check the alternate shortcut first, to avoid problems when the alternate shortcut becomes the primary shortcut
+        #  after removing the (initial) primary shortcut due to conflicts.
+        if len(shortcuts) == 2:
+            existing_actions = ActionList.shortcut_map.get(shortcuts[1], [])
+            # Check for conflicts with other actions considering the shortcut context.
+            if self._is_shortcut_available(existing_actions, action):
+                actions = ActionList.shortcut_map.get(shortcuts[1], [])
+                actions.append(action)
+                ActionList.shortcut_map[shortcuts[1]] = actions
+            else:
+                log.warning('Shortcut "{shortcut}" is removed from "{action}" because another '
+                            'action already uses this shortcut.'.format(shortcut=shortcuts[1],
+                                                                        action=action.objectName()))
+                shortcuts.remove(shortcuts[1])
+        # Check the primary shortcut.
+        existing_actions = ActionList.shortcut_map.get(shortcuts[0], [])
+        # Check for conflicts with other actions considering the shortcut context.
+        if self._is_shortcut_available(existing_actions, action):
+            actions = ActionList.shortcut_map.get(shortcuts[0], [])
+            actions.append(action)
+            ActionList.shortcut_map[shortcuts[0]] = actions
+        else:
+            log.warning('Shortcut "{shortcut}" is removed from "{action}" '
+                        'because another action already uses this shortcut.'.format(shortcut=shortcuts[0],
+                                                                                    action=action.objectName()))
+            shortcuts.remove(shortcuts[0])
+        action.setShortcuts([QtGui.QKeySequence(shortcut) for shortcut in shortcuts])
+
+    def remove_action(self, action, category=None):
+        """
+        This removes an action from its category. Empty categories are automatically removed.
+
+        :param action:  The ``QAction`` object to be removed.
+        :param category: The name (unicode string) of the category, which contains the action. Defaults to None.
+        """
+        if category not in self.categories:
+            return
+        self.categories[category].actions.remove(action)
+        # Remove empty categories.
+        if not self.categories[category].actions:
+            self.categories.remove(category)
+        shortcuts = list(map(QtGui.QKeySequence.toString, action.shortcuts()))
+        for shortcut in shortcuts:
+            # Remove action from the list of actions which are using this shortcut.
+            ActionList.shortcut_map[shortcut].remove(action)
+            # Remove empty entries.
+            if not ActionList.shortcut_map[shortcut]:
+                del ActionList.shortcut_map[shortcut]
+
+    def add_category(self, name, weight):
+        """
+        Add an empty category to the list of categories. This is only convenient for categories with a given weight.
+
+        :param name: The category's name.
+        :param weight: The category's weight (int).
+        """
+        if name in self.categories:
+            # Only change the weight and resort the categories again.
+            for category in self.categories:
+                if category.name == name:
+                    category.weight = weight
+            self.categories.categories.sort(key=lambda cat: cat.weight)
+            return
+        self.categories.add(name, weight)
+
+    def update_shortcut_map(self, action, old_shortcuts):
+        """
+        Remove the action for the given ``old_shortcuts`` from the ``shortcut_map`` to ensure its up-to-dateness.
+        **Note**: The new action's shortcuts **must** be assigned to the given ``action`` **before** calling this
+        method.
+
+        :param action: The action whose shortcuts are supposed to be updated in the ``shortcut_map``.
+        :param old_shortcuts: A list of unicode key sequences.
+        """
+        for old_shortcut in old_shortcuts:
+            # Remove action from the list of actions which are using this shortcut.
+            ActionList.shortcut_map[old_shortcut].remove(action)
+            # Remove empty entries.
+            if not ActionList.shortcut_map[old_shortcut]:
+                del ActionList.shortcut_map[old_shortcut]
+        new_shortcuts = list(map(QtGui.QKeySequence.toString, action.shortcuts()))
+        # Add the new shortcuts to the map.
+        for new_shortcut in new_shortcuts:
+            existing_actions = ActionList.shortcut_map.get(new_shortcut, [])
+            existing_actions.append(action)
+            ActionList.shortcut_map[new_shortcut] = existing_actions
+
+    def _is_shortcut_available(self, existing_actions, action):
+        """
+        Checks if the given ``action`` may use its assigned shortcut(s) or not. Returns ``True`` or ``False.
+
+        :param existing_actions: A list of actions which already use a particular shortcut.
+        :param action: The action which wants to use a particular shortcut.
+        """
+        global_context = action.shortcutContext() in [QtCore.Qt.WindowShortcut, QtCore.Qt.ApplicationShortcut]
+        affected_actions = []
+        if global_context:
+            affected_actions = [a for a in self.get_all_child_objects(action.parent()) if isinstance(a,
+                                                                                                     QtWidgets.QAction)]
+        for existing_action in existing_actions:
+            if action is existing_action:
+                continue
+            if existing_action in affected_actions:
+                return False
+            if existing_action.shortcutContext() in [QtCore.Qt.WindowShortcut, QtCore.Qt.ApplicationShortcut]:
+                return False
+            elif action in self.get_all_child_objects(existing_action.parent()):
+                return False
+        return True
+
+    def get_all_child_objects(self, qobject):
+        """
+        Goes recursively through the children of ``qobject`` and returns a list of all child objects.
+        """
+        children = qobject.children()
+        # Append the children's children.
+        children.extend(list(map(self.get_all_child_objects, children)))
+        return children
+
+
+class CategoryOrder(object):
+    """
+    An enumeration class for category weights.
+    """
+    standard_menu = -20
+    standard_toolbar = -10

=== added file 'openlp/core/common/db.py'
--- openlp/core/common/db.py	1970-01-01 00:00:00 +0000
+++ openlp/core/common/db.py	2017-01-08 22:05:36 +0000
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2017 OpenLP Developers                                   #
+# --------------------------------------------------------------------------- #
+# 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; version 2 of the License.                              #
+#                                                                             #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    #
+# more details.                                                               #
+#                                                                             #
+# You should have received a copy of the GNU General Public License along     #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
+###############################################################################
+"""
+The :mod:`db` module provides helper functions for database related methods.
+"""
+import logging
+from copy import deepcopy
+
+import sqlalchemy
+
+
+log = logging.getLogger(__name__)
+
+
+def drop_column(op, tablename, columnname):
+    drop_columns(op, tablename, [columnname])
+
+
+def drop_columns(op, tablename, columns):
+    """
+    Column dropping functionality for SQLite, as there is no DROP COLUMN support in SQLite
+
+    From https://github.com/klugjohannes/alembic-sqlite
+    """
+
+    # get the db engine and reflect database tables
+    engine = op.get_bind()
+    meta = sqlalchemy.MetaData(bind=engine)
+    meta.reflect()
+
+    # create a select statement from the old table
+    old_table = meta.tables[tablename]
+    select = sqlalchemy.sql.select([c for c in old_table.c if c.name not in columns])
+
+    # get remaining columns without table attribute attached
+    remaining_columns = [deepcopy(c) for c in old_table.columns if c.name not in columns]
+    for column in remaining_columns:
+        column.table = None
+
+    # create a temporary new table
+    new_tablename = '{0}_new'.format(tablename)
+    op.create_table(new_tablename, *remaining_columns)
+    meta.reflect()
+    new_table = meta.tables[new_tablename]
+
+    # copy data from old table
+    insert = sqlalchemy.sql.insert(new_table).from_select([c.name for c in remaining_columns], select)
+    engine.execute(insert)
+
+    # drop the old table and rename the new table to take the old tables
+    # position
+    op.drop_table(tablename)
+    op.rename_table(new_tablename, tablename)

=== renamed file 'openlp/core/common/historycombobox.py' => 'openlp/core/common/historycombobox.py.THIS'
=== added file 'openlp/core/common/httputils.py'
--- openlp/core/common/httputils.py	1970-01-01 00:00:00 +0000
+++ openlp/core/common/httputils.py	2017-01-08 22:05:36 +0000
@@ -0,0 +1,255 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2017 OpenLP Developers                                   #
+# --------------------------------------------------------------------------- #
+# 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; version 2 of the License.                              #
+#                                                                             #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    #
+# more details.                                                               #
+#                                                                             #
+# You should have received a copy of the GNU General Public License along     #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
+###############################################################################
+"""
+The :mod:`openlp.core.utils` module provides the utility libraries for OpenLP.
+"""
+import hashlib
+import logging
+import os
+import socket
+import sys
+import time
+import urllib.error
+import urllib.parse
+import urllib.request
+from http.client import HTTPException
+from random import randint
+
+from openlp.core.common import Registry, trace_error_handler
+
+log = logging.getLogger(__name__ + '.__init__')
+
+USER_AGENTS = {
+    'win32': [
+        'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36',
+        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36',
+        'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36'
+    ],
+    'darwin': [
+        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) '
+        'Chrome/26.0.1410.43 Safari/537.31',
+        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.11 (KHTML, like Gecko) '
+        'Chrome/20.0.1132.57 Safari/536.11',
+        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.11 (KHTML, like Gecko) '
+        'Chrome/20.0.1132.47 Safari/536.11',
+    ],
+    'linux2': [
+        'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 '
+        'Chrome/25.0.1364.160 Safari/537.22',
+        'Mozilla/5.0 (X11; CrOS armv7l 2913.260.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.99 '
+        'Safari/537.11',
+        'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.27 (KHTML, like Gecko) Chrome/26.0.1389.0 Safari/537.27'
+    ],
+    'default': [
+        'Mozilla/5.0 (X11; NetBSD amd64; rv:18.0) Gecko/20130120 Firefox/18.0'
+    ]
+}
+CONNECTION_TIMEOUT = 30
+CONNECTION_RETRIES = 2
+
+
+class HTTPRedirectHandlerFixed(urllib.request.HTTPRedirectHandler):
+    """
+    Special HTTPRedirectHandler used to work around http://bugs.python.org/issue22248
+    (Redirecting to urls with special chars)
+    """
+    def redirect_request(self, req, fp, code, msg, headers, new_url):
+        #
+        """
+        Test if the new_url can be decoded to ascii
+
+        :param req:
+        :param fp:
+        :param code:
+        :param msg:
+        :param headers:
+        :param new_url:
+        :return:
+        """
+        try:
+            new_url.encode('latin1').decode('ascii')
+            fixed_url = new_url
+        except Exception:
+            # The url could not be decoded to ascii, so we do some url encoding
+            fixed_url = urllib.parse.quote(new_url.encode('latin1').decode('utf-8', 'replace'), safe='/:')
+        return super(HTTPRedirectHandlerFixed, self).redirect_request(req, fp, code, msg, headers, fixed_url)
+
+
+def get_user_agent():
+    """
+    Return a user agent customised for the platform the user is on.
+    """
+    browser_list = USER_AGENTS.get(sys.platform, None)
+    if not browser_list:
+        browser_list = USER_AGENTS['default']
+    random_index = randint(0, len(browser_list) - 1)
+    return browser_list[random_index]
+
+
+def get_web_page(url, header=None, update_openlp=False):
+    """
+    Attempts to download the webpage at url and returns that page or None.
+
+    :param url: The URL to be downloaded.
+    :param header:  An optional HTTP header to pass in the request to the web server.
+    :param update_openlp: Tells OpenLP to update itself if the page is successfully downloaded.
+        Defaults to False.
+    """
+    # TODO: Add proxy usage. Get proxy info from OpenLP settings, add to a
+    # proxy_handler, build into an opener and install the opener into urllib2.
+    # http://docs.python.org/library/urllib2.html
+    if not url:
+        return None
+    # This is needed to work around http://bugs.python.org/issue22248 and https://bugs.launchpad.net/openlp/+bug/1251437
+    opener = urllib.request.build_opener(HTTPRedirectHandlerFixed())
+    urllib.request.install_opener(opener)
+    req = urllib.request.Request(url)
+    if not header or header[0].lower() != 'user-agent':
+        user_agent = get_user_agent()
+        req.add_header('User-Agent', user_agent)
+    if header:
+        req.add_header(header[0], header[1])
+    log.debug('Downloading URL = %s' % url)
+    retries = 0
+    while retries <= CONNECTION_RETRIES:
+        retries += 1
+        time.sleep(0.1)
+        try:
+            page = urllib.request.urlopen(req, timeout=CONNECTION_TIMEOUT)
+            log.debug('Downloaded page {text}'.format(text=page.geturl()))
+            break
+        except urllib.error.URLError as err:
+            log.exception('URLError on {text}'.format(text=url))
+            log.exception('URLError: {text}'.format(text=err.reason))
+            page = None
+            if retries > CONNECTION_RETRIES:
+                raise
+        except socket.timeout:
+            log.exception('Socket timeout: {text}'.format(text=url))
+            page = None
+            if retries > CONNECTION_RETRIES:
+                raise
+        except socket.gaierror:
+            log.exception('Socket gaierror: {text}'.format(text=url))
+            page = None
+            if retries > CONNECTION_RETRIES:
+                raise
+        except ConnectionRefusedError:
+            log.exception('ConnectionRefused: {text}'.format(text=url))
+            page = None
+            if retries > CONNECTION_RETRIES:
+                raise
+            break
+        except ConnectionError:
+            log.exception('Connection error: {text}'.format(text=url))
+            page = None
+            if retries > CONNECTION_RETRIES:
+                raise
+        except HTTPException:
+            log.exception('HTTPException error: {text}'.format(text=url))
+            page = None
+            if retries > CONNECTION_RETRIES:
+                raise
+        except:
+            # Don't know what's happening, so reraise the original
+            raise
+    if update_openlp:
+        Registry().get('application').process_events()
+    if not page:
+        log.exception('{text} could not be downloaded'.format(text=url))
+        return None
+    log.debug(page)
+    return page
+
+
+def get_url_file_size(url):
+    """
+    Get the size of a file.
+
+    :param url: The URL of the file we want to download.
+    """
+    retries = 0
+    while True:
+        try:
+            site = urllib.request.urlopen(url, timeout=CONNECTION_TIMEOUT)
+            meta = site.info()
+            return int(meta.get("Content-Length"))
+        except urllib.error.URLError:
+            if retries > CONNECTION_RETRIES:
+                raise
+            else:
+                retries += 1
+                time.sleep(0.1)
+                continue
+
+
+def url_get_file(callback, url, f_path, sha256=None):
+    """"
+    Download a file given a URL.  The file is retrieved in chunks, giving the ability to cancel the download at any
+    point. Returns False on download error.
+
+    :param callback: the class which needs to be updated
+    :param url: URL to download
+    :param f_path: Destination file
+    :param sha256: The check sum value to be checked against the download value
+    """
+    block_count = 0
+    block_size = 4096
+    retries = 0
+    while True:
+        try:
+            filename = open(f_path, "wb")
+            url_file = urllib.request.urlopen(url, timeout=CONNECTION_TIMEOUT)
+            if sha256:
+                hasher = hashlib.sha256()
+            # Download until finished or canceled.
+            while not callback.was_cancelled:
+                data = url_file.read(block_size)
+                if not data:
+                    break
+                filename.write(data)
+                if sha256:
+                    hasher.update(data)
+                block_count += 1
+                callback._download_progress(block_count, block_size)
+            filename.close()
+            if sha256 and hasher.hexdigest() != sha256:
+                log.error('sha256 sums did not match for file: {file}'.format(file=f_path))
+                os.remove(f_path)
+                return False
+        except (urllib.error.URLError, socket.timeout) as err:
+            trace_error_handler(log)
+            filename.close()
+            os.remove(f_path)
+            if retries > CONNECTION_RETRIES:
+                return False
+            else:
+                retries += 1
+                time.sleep(0.1)
+                continue
+        break
+    # Delete file if cancelled, it may be a partial file.
+    if callback.was_cancelled:
+        os.remove(f_path)
+    return True
+
+__all__ = ['get_web_page']

=== added file 'openlp/core/common/languagemanager.py'
--- openlp/core/common/languagemanager.py	1970-01-01 00:00:00 +0000
+++ openlp/core/common/languagemanager.py	2017-01-08 22:05:36 +0000
@@ -0,0 +1,207 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2017 OpenLP Developers                                   #
+# --------------------------------------------------------------------------- #
+# 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; version 2 of the License.                              #
+#                                                                             #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    #
+# more details.                                                               #
+#                                                                             #
+# You should have received a copy of the GNU General Public License along     #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
+###############################################################################
+"""
+The :mod:`languagemanager` module provides all the translation settings and language file loading for OpenLP.
+"""
+import locale
+import logging
+import re
+
+from PyQt5 import QtCore, QtWidgets
+
+
+from openlp.core.common import AppLocation, Settings, translate, is_win, is_macosx
+
+log = logging.getLogger(__name__)
+
+ICU_COLLATOR = None
+DIGITS_OR_NONDIGITS = re.compile(r'\d+|\D+', re.UNICODE)
+
+
+class LanguageManager(object):
+    """
+    Helper for Language selection
+    """
+    __qm_list__ = {}
+    auto_language = False
+
+    @staticmethod
+    def get_translator(language):
+        """
+        Set up a translator to use in this instance of OpenLP
+
+        :param language: The language to load into the translator
+        """
+        if LanguageManager.auto_language:
+            language = QtCore.QLocale.system().name()
+        lang_path = AppLocation.get_directory(AppLocation.LanguageDir)
+        app_translator = QtCore.QTranslator()
+        app_translator.load(language, lang_path)
+        # A translator for buttons and other default strings provided by Qt.
+        if not is_win() and not is_macosx():
+            lang_path = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
+        default_translator = QtCore.QTranslator()
+        default_translator.load('qt_%s' % language, lang_path)
+        return app_translator, default_translator
+
+    @staticmethod
+    def find_qm_files():
+        """
+        Find all available language files in this OpenLP install
+        """
+        log.debug('Translation files: {files}'.format(files=AppLocation.get_directory(AppLocation.LanguageDir)))
+        trans_dir = QtCore.QDir(AppLocation.get_directory(AppLocation.LanguageDir))
+        file_names = trans_dir.entryList(['*.qm'], QtCore.QDir.Files, QtCore.QDir.Name)
+        # Remove qm files from the list which start with "qt_".
+        file_names = [file_ for file_ in file_names if not file_.startswith('qt_')]
+        return list(map(trans_dir.filePath, file_names))
+
+    @staticmethod
+    def language_name(qm_file):
+        """
+        Load the language name from a language file
+
+        :param qm_file: The file to obtain the name from
+        """
+        translator = QtCore.QTranslator()
+        translator.load(qm_file)
+        return translator.translate('OpenLP.MainWindow', 'English', 'Please add the name of your language here')
+
+    @staticmethod
+    def get_language():
+        """
+        Retrieve a saved language to use from settings
+        """
+        language = Settings().value('core/language')
+        language = str(language)
+        log.info("Language file: '{language}' Loaded from conf file".format(language=language))
+        if re.match(r'[[].*[]]', language):
+            LanguageManager.auto_language = True
+            language = re.sub(r'[\[\]]', '', language)
+        return language
+
+    @staticmethod
+    def set_language(action, message=True):
+        """
+        Set the language to translate OpenLP into
+
+        :param action:  The language menu option
+        :param message:  Display the message option
+        """
+        language = 'en'
+        if action:
+            action_name = str(action.objectName())
+            if action_name == 'autoLanguageItem':
+                LanguageManager.auto_language = True
+            else:
+                LanguageManager.auto_language = False
+                qm_list = LanguageManager.get_qm_list()
+                language = str(qm_list[action_name])
+        if LanguageManager.auto_language:
+            language = '[{language}]'.format(language=language)
+        Settings().setValue('core/language', language)
+        log.info("Language file: '{language}' written to conf file".format(language=language))
+        if message:
+            QtWidgets.QMessageBox.information(None,
+                                              translate('OpenLP.LanguageManager', 'Language'),
+                                              translate('OpenLP.LanguageManager',
+                                                        'Please restart OpenLP to use your new language setting.'))
+
+    @staticmethod
+    def init_qm_list():
+        """
+        Initialise the list of available translations
+        """
+        LanguageManager.__qm_list__ = {}
+        qm_files = LanguageManager.find_qm_files()
+        for counter, qmf in enumerate(qm_files):
+            reg_ex = QtCore.QRegExp("^.*i18n/(.*).qm")
+            if reg_ex.exactMatch(qmf):
+                name = '{regex}'.format(regex=reg_ex.cap(1))
+                # TODO: Test before converting to python3 string format
+                LanguageManager.__qm_list__['%#2i %s' % (counter + 1, LanguageManager.language_name(qmf))] = name
+
+    @staticmethod
+    def get_qm_list():
+        """
+        Return the list of available translations
+        """
+        if not LanguageManager.__qm_list__:
+            LanguageManager.init_qm_list()
+        return LanguageManager.__qm_list__
+
+
+def format_time(text, local_time):
+    """
+    Workaround for Python built-in time formatting function time.strftime().
+
+    time.strftime() accepts only ascii characters. This function accepts
+    unicode string and passes individual % placeholders to time.strftime().
+    This ensures only ascii characters are passed to time.strftime().
+
+    :param text:  The text to be processed.
+    :param local_time: The time to be used to add to the string.  This is a time object
+    """
+
+    def match_formatting(match):
+        """
+        Format the match
+        """
+        return local_time.strftime(match.group())
+
+    return re.sub(r'\%[a-zA-Z]', match_formatting, text)
+
+
+def get_locale_key(string):
+    """
+    Creates a key for case insensitive, locale aware string sorting.
+
+    :param string: The corresponding string.
+    """
+    string = string.lower()
+    # ICU is the prefered way to handle locale sort key, we fallback to locale.strxfrm which will work in most cases.
+    global ICU_COLLATOR
+    try:
+        if ICU_COLLATOR is None:
+            import icu
+            language = LanguageManager.get_language()
+            icu_locale = icu.Locale(language)
+            ICU_COLLATOR = icu.Collator.createInstance(icu_locale)
+        return ICU_COLLATOR.getSortKey(string)
+    except:
+        return locale.strxfrm(string).encode()
+
+
+def get_natural_key(string):
+    """
+    Generate a key for locale aware natural string sorting.
+
+    :param string: string to be sorted by
+    Returns a list of string compare keys and integers.
+    """
+    key = DIGITS_OR_NONDIGITS.findall(string)
+    key = [int(part) if part.isdigit() else get_locale_key(part) for part in key]
+    # Python 3 does not support comparison of different types anymore. So make sure, that we do not compare str
+    # and int.
+    if string and string[0].isdigit():
+        return [b''] + key
+    return key

=== added file 'openlp/core/common/languages.py'
--- openlp/core/common/languages.py	1970-01-01 00:00:00 +0000
+++ openlp/core/common/languages.py	2017-01-08 22:05:36 +0000
@@ -0,0 +1,201 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2017 OpenLP Developers                                   #
+# --------------------------------------------------------------------------- #
+# 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; version 2 of the License.                              #
+#                                                                             #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    #
+# more details.                                                               #
+#                                                                             #
+# You should have received a copy of the GNU General Public License along     #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
+###############################################################################
+"""
+The :mod:`languages` module provides a list of language names with utility functions.
+"""
+from collections import namedtuple
+
+from openlp.core.common import translate
+
+
+Language = namedtuple('Language', ['id', 'name', 'code'])
+languages = sorted([
+    Language(1, translate('common.languages', '(Afan) Oromo', 'Language code: om'), 'om'),
+    Language(2, translate('common.languages', 'Abkhazian', 'Language code: ab'), 'ab'),
+    Language(3, translate('common.languages', 'Afar', 'Language code: aa'), 'aa'),
+    Language(4, translate('common.languages', 'Afrikaans', 'Language code: af'), 'af'),
+    Language(5, translate('common.languages', 'Albanian', 'Language code: sq'), 'sq'),
+    Language(6, translate('common.languages', 'Amharic', 'Language code: am'), 'am'),
+    Language(140, translate('common.languages', 'Amuzgo', 'Language code: amu'), 'amu'),
+    Language(152, translate('common.languages', 'Ancient Greek', 'Language code: grc'), 'grc'),
+    Language(7, translate('common.languages', 'Arabic', 'Language code: ar'), 'ar'),
+    Language(8, translate('common.languages', 'Armenian', 'Language code: hy'), 'hy'),
+    Language(9, translate('common.languages', 'Assamese', 'Language code: as'), 'as'),
+    Language(10, translate('common.languages', 'Aymara', 'Language code: ay'), 'ay'),
+    Language(11, translate('common.languages', 'Azerbaijani', 'Language code: az'), 'az'),
+    Language(12, translate('common.languages', 'Bashkir', 'Language code: ba'), 'ba'),
+    Language(13, translate('common.languages', 'Basque', 'Language code: eu'), 'eu'),
+    Language(14, translate('common.languages', 'Bengali', 'Language code: bn'), 'bn'),
+    Language(15, translate('common.languages', 'Bhutani', 'Language code: dz'), 'dz'),
+    Language(16, translate('common.languages', 'Bihari', 'Language code: bh'), 'bh'),
+    Language(17, translate('common.languages', 'Bislama', 'Language code: bi'), 'bi'),
+    Language(18, translate('common.languages', 'Breton', 'Language code: br'), 'br'),
+    Language(19, translate('common.languages', 'Bulgarian', 'Language code: bg'), 'bg'),
+    Language(20, translate('common.languages', 'Burmese', 'Language code: my'), 'my'),
+    Language(21, translate('common.languages', 'Byelorussian', 'Language code: be'), 'be'),
+    Language(142, translate('common.languages', 'Cakchiquel', 'Language code: cak'), 'cak'),
+    Language(22, translate('common.languages', 'Cambodian', 'Language code: km'), 'km'),
+    Language(23, translate('common.languages', 'Catalan', 'Language code: ca'), 'ca'),
+    Language(24, translate('common.languages', 'Chinese', 'Language code: zh'), 'zh'),
+    Language(141, translate('common.languages', 'Comaltepec Chinantec', 'Language code: cco'), 'cco'),
+    Language(25, translate('common.languages', 'Corsican', 'Language code: co'), 'co'),
+    Language(26, translate('common.languages', 'Croatian', 'Language code: hr'), 'hr'),
+    Language(27, translate('common.languages', 'Czech', 'Language code: cs'), 'cs'),
+    Language(28, translate('common.languages', 'Danish', 'Language code: da'), 'da'),
+    Language(29, translate('common.languages', 'Dutch', 'Language code: nl'), 'nl'),
+    Language(30, translate('common.languages', 'English', 'Language code: en'), 'en'),
+    Language(31, translate('common.languages', 'Esperanto', 'Language code: eo'), 'eo'),
+    Language(32, translate('common.languages', 'Estonian', 'Language code: et'), 'et'),
+    Language(33, translate('common.languages', 'Faeroese', 'Language code: fo'), 'fo'),
+    Language(34, translate('common.languages', 'Fiji', 'Language code: fj'), 'fj'),
+    Language(35, translate('common.languages', 'Finnish', 'Language code: fi'), 'fi'),
+    Language(36, translate('common.languages', 'French', 'Language code: fr'), 'fr'),
+    Language(37, translate('common.languages', 'Frisian', 'Language code: fy'), 'fy'),
+    Language(38, translate('common.languages', 'Galician', 'Language code: gl'), 'gl'),
+    Language(39, translate('common.languages', 'Georgian', 'Language code: ka'), 'ka'),
+    Language(40, translate('common.languages', 'German', 'Language code: de'), 'de'),
+    Language(41, translate('common.languages', 'Greek', 'Language code: el'), 'el'),
+    Language(42, translate('common.languages', 'Greenlandic', 'Language code: kl'), 'kl'),
+    Language(43, translate('common.languages', 'Guarani', 'Language code: gn'), 'gn'),
+    Language(44, translate('common.languages', 'Gujarati', 'Language code: gu'), 'gu'),
+    Language(143, translate('common.languages', 'Haitian Creole', 'Language code: ht'), 'ht'),
+    Language(45, translate('common.languages', 'Hausa', 'Language code: ha'), 'ha'),
+    Language(46, translate('common.languages', 'Hebrew (former iw)', 'Language code: he'), 'he'),
+    Language(144, translate('common.languages', 'Hiligaynon', 'Language code: hil'), 'hil'),
+    Language(47, translate('common.languages', 'Hindi', 'Language code: hi'), 'hi'),
+    Language(48, translate('common.languages', 'Hungarian', 'Language code: hu'), 'hu'),
+    Language(49, translate('common.languages', 'Icelandic', 'Language code: is'), 'is'),
+    Language(50, translate('common.languages', 'Indonesian (former in)', 'Language code: id'), 'id'),
+    Language(51, translate('common.languages', 'Interlingua', 'Language code: ia'), 'ia'),
+    Language(52, translate('common.languages', 'Interlingue', 'Language code: ie'), 'ie'),
+    Language(54, translate('common.languages', 'Inuktitut (Eskimo)', 'Language code: iu'), 'iu'),
+    Language(53, translate('common.languages', 'Inupiak', 'Language code: ik'), 'ik'),
+    Language(55, translate('common.languages', 'Irish', 'Language code: ga'), 'ga'),
+    Language(56, translate('common.languages', 'Italian', 'Language code: it'), 'it'),
+    Language(145, translate('common.languages', 'Jakalteko', 'Language code: jac'), 'jac'),
+    Language(57, translate('common.languages', 'Japanese', 'Language code: ja'), 'ja'),
+    Language(58, translate('common.languages', 'Javanese', 'Language code: jw'), 'jw'),
+    Language(150, translate('common.languages', 'K\'iche\'', 'Language code: quc'), 'quc'),
+    Language(59, translate('common.languages', 'Kannada', 'Language code: kn'), 'kn'),
+    Language(60, translate('common.languages', 'Kashmiri', 'Language code: ks'), 'ks'),
+    Language(61, translate('common.languages', 'Kazakh', 'Language code: kk'), 'kk'),
+    Language(146, translate('common.languages', 'Kekchí ', 'Language code: kek'), 'kek'),
+    Language(62, translate('common.languages', 'Kinyarwanda', 'Language code: rw'), 'rw'),
+    Language(63, translate('common.languages', 'Kirghiz', 'Language code: ky'), 'ky'),
+    Language(64, translate('common.languages', 'Kirundi', 'Language code: rn'), 'rn'),
+    Language(65, translate('common.languages', 'Korean', 'Language code: ko'), 'ko'),
+    Language(66, translate('common.languages', 'Kurdish', 'Language code: ku'), 'ku'),
+    Language(67, translate('common.languages', 'Laothian', 'Language code: lo'), 'lo'),
+    Language(68, translate('common.languages', 'Latin', 'Language code: la'), 'la'),
+    Language(69, translate('common.languages', 'Latvian, Lettish', 'Language code: lv'), 'lv'),
+    Language(70, translate('common.languages', 'Lingala', 'Language code: ln'), 'ln'),
+    Language(71, translate('common.languages', 'Lithuanian', 'Language code: lt'), 'lt'),
+    Language(72, translate('common.languages', 'Macedonian', 'Language code: mk'), 'mk'),
+    Language(73, translate('common.languages', 'Malagasy', 'Language code: mg'), 'mg'),
+    Language(74, translate('common.languages', 'Malay', 'Language code: ms'), 'ms'),
+    Language(75, translate('common.languages', 'Malayalam', 'Language code: ml'), 'ml'),
+    Language(76, translate('common.languages', 'Maltese', 'Language code: mt'), 'mt'),
+    Language(148, translate('common.languages', 'Mam', 'Language code: mam'), 'mam'),
+    Language(77, translate('common.languages', 'Maori', 'Language code: mi'), 'mi'),
+    Language(147, translate('common.languages', 'Maori', 'Language code: mri'), 'mri'),
+    Language(78, translate('common.languages', 'Marathi', 'Language code: mr'), 'mr'),
+    Language(79, translate('common.languages', 'Moldavian', 'Language code: mo'), 'mo'),
+    Language(80, translate('common.languages', 'Mongolian', 'Language code: mn'), 'mn'),
+    Language(149, translate('common.languages', 'Nahuatl', 'Language code: nah'), 'nah'),
+    Language(81, translate('common.languages', 'Nauru', 'Language code: na'), 'na'),
+    Language(82, translate('common.languages', 'Nepali', 'Language code: ne'), 'ne'),
+    Language(83, translate('common.languages', 'Norwegian', 'Language code: no'), 'no'),
+    Language(84, translate('common.languages', 'Occitan', 'Language code: oc'), 'oc'),
+    Language(85, translate('common.languages', 'Oriya', 'Language code: or'), 'or'),
+    Language(86, translate('common.languages', 'Pashto, Pushto', 'Language code: ps'), 'ps'),
+    Language(87, translate('common.languages', 'Persian', 'Language code: fa'), 'fa'),
+    Language(151, translate('common.languages', 'Plautdietsch', 'Language code: pdt'), 'pdt'),
+    Language(88, translate('common.languages', 'Polish', 'Language code: pl'), 'pl'),
+    Language(89, translate('common.languages', 'Portuguese', 'Language code: pt'), 'pt'),
+    Language(90, translate('common.languages', 'Punjabi', 'Language code: pa'), 'pa'),
+    Language(91, translate('common.languages', 'Quechua', 'Language code: qu'), 'qu'),
+    Language(92, translate('common.languages', 'Rhaeto-Romance', 'Language code: rm'), 'rm'),
+    Language(93, translate('common.languages', 'Romanian', 'Language code: ro'), 'ro'),
+    Language(94, translate('common.languages', 'Russian', 'Language code: ru'), 'ru'),
+    Language(95, translate('common.languages', 'Samoan', 'Language code: sm'), 'sm'),
+    Language(96, translate('common.languages', 'Sangro', 'Language code: sg'), 'sg'),
+    Language(97, translate('common.languages', 'Sanskrit', 'Language code: sa'), 'sa'),
+    Language(98, translate('common.languages', 'Scots Gaelic', 'Language code: gd'), 'gd'),
+    Language(99, translate('common.languages', 'Serbian', 'Language code: sr'), 'sr'),
+    Language(100, translate('common.languages', 'Serbo-Croatian', 'Language code: sh'), 'sh'),
+    Language(101, translate('common.languages', 'Sesotho', 'Language code: st'), 'st'),
+    Language(102, translate('common.languages', 'Setswana', 'Language code: tn'), 'tn'),
+    Language(103, translate('common.languages', 'Shona', 'Language code: sn'), 'sn'),
+    Language(104, translate('common.languages', 'Sindhi', 'Language code: sd'), 'sd'),
+    Language(105, translate('common.languages', 'Singhalese', 'Language code: si'), 'si'),
+    Language(106, translate('common.languages', 'Siswati', 'Language code: ss'), 'ss'),
+    Language(107, translate('common.languages', 'Slovak', 'Language code: sk'), 'sk'),
+    Language(108, translate('common.languages', 'Slovenian', 'Language code: sl'), 'sl'),
+    Language(109, translate('common.languages', 'Somali', 'Language code: so'), 'so'),
+    Language(110, translate('common.languages', 'Spanish', 'Language code: es'), 'es'),
+    Language(111, translate('common.languages', 'Sudanese', 'Language code: su'), 'su'),
+    Language(112, translate('common.languages', 'Swahili', 'Language code: sw'), 'sw'),
+    Language(113, translate('common.languages', 'Swedish', 'Language code: sv'), 'sv'),
+    Language(114, translate('common.languages', 'Tagalog', 'Language code: tl'), 'tl'),
+    Language(115, translate('common.languages', 'Tajik', 'Language code: tg'), 'tg'),
+    Language(116, translate('common.languages', 'Tamil', 'Language code: ta'), 'ta'),
+    Language(117, translate('common.languages', 'Tatar', 'Language code: tt'), 'tt'),
+    Language(118, translate('common.languages', 'Tegulu', 'Language code: te'), 'te'),
+    Language(119, translate('common.languages', 'Thai', 'Language code: th'), 'th'),
+    Language(120, translate('common.languages', 'Tibetan', 'Language code: bo'), 'bo'),
+    Language(121, translate('common.languages', 'Tigrinya', 'Language code: ti'), 'ti'),
+    Language(122, translate('common.languages', 'Tonga', 'Language code: to'), 'to'),
+    Language(123, translate('common.languages', 'Tsonga', 'Language code: ts'), 'ts'),
+    Language(124, translate('common.languages', 'Turkish', 'Language code: tr'), 'tr'),
+    Language(125, translate('common.languages', 'Turkmen', 'Language code: tk'), 'tk'),
+    Language(126, translate('common.languages', 'Twi', 'Language code: tw'), 'tw'),
+    Language(127, translate('common.languages', 'Uigur', 'Language code: ug'), 'ug'),
+    Language(128, translate('common.languages', 'Ukrainian', 'Language code: uk'), 'uk'),
+    Language(129, translate('common.languages', 'Urdu', 'Language code: ur'), 'ur'),
+    Language(153, translate('common.languages', 'Uspanteco', 'Language code: usp'), 'usp'),
+    Language(130, translate('common.languages', 'Uzbek', 'Language code: uz'), 'uz'),
+    Language(131, translate('common.languages', 'Vietnamese', 'Language code: vi'), 'vi'),
+    Language(132, translate('common.languages', 'Volapuk', 'Language code: vo'), 'vo'),
+    Language(133, translate('common.languages', 'Welch', 'Language code: cy'), 'cy'),
+    Language(134, translate('common.languages', 'Wolof', 'Language code: wo'), 'wo'),
+    Language(135, translate('common.languages', 'Xhosa', 'Language code: xh'), 'xh'),
+    Language(136, translate('common.languages', 'Yiddish (former ji)', 'Language code: yi'), 'yi'),
+    Language(137, translate('common.languages', 'Yoruba', 'Language code: yo'), 'yo'),
+    Language(138, translate('common.languages', 'Zhuang', 'Language code: za'), 'za'),
+    Language(139, translate('common.languages', 'Zulu', 'Language code: zu'), 'zu')
+], key=lambda language: language.name)
+
+
+def get_language(name):
+    """
+    Find the language by its name or code.
+
+    :param name: The name or abbreviation of the language.
+    :return: The first match as a Language namedtuple or None
+    """
+    if name:
+        name_lower = name.lower()
+        name_title = name_lower[:1].upper() + name_lower[1:]
+        for language in languages:
+            if language.name == name_title or language.code == name_lower:
+                return language
+    return None

=== modified file 'openlp/core/common/openlpmixin.py'
--- openlp/core/common/openlpmixin.py	2016-12-31 11:05:48 +0000
+++ openlp/core/common/openlpmixin.py	2017-01-08 22:05:36 +0000
@@ -49,12 +49,13 @@
         Code to added debug wrapper to work on called functions within a decorated class.
         """
         def wrapped(*args, **kwargs):
-            parent.logger.debug("Entering %s" % func.__name__)
+            parent.logger.debug("Entering {function}".format(function=func.__name__))
             try:
                 return func(*args, **kwargs)
             except Exception as e:
                 if parent.logger.getEffectiveLevel() <= logging.ERROR:
-                    parent.logger.error('Exception in %s : %s' % (func.__name__, e))
+                    parent.logger.error('Exception in {function} : {error}'.format(function=func.__name__,
+                                                                                   error=e))
                 raise e
         return wrapped
 
@@ -70,6 +71,12 @@
         """
         self.logger.info(message)
 
+    def log_warning(self, message):
+        """
+        Common log warning handler
+        """
+        self.logger.warning(message)
+
     def log_error(self, message):
         """
         Common log error handler which prints the calling path

=== modified file 'openlp/core/common/registry.py'
--- openlp/core/common/registry.py	2016-12-31 11:05:48 +0000
+++ openlp/core/common/registry.py	2017-01-08 22:05:36 +0000
@@ -55,6 +55,7 @@
         registry = cls()
         registry.service_list = {}
         registry.functions_list = {}
+        registry.working_flags = {}
         # Allow the tests to remove Registry entries but not the live system
         registry.running_under_test = 'nose' in sys.argv[0]
         registry.initialising = True
@@ -71,8 +72,8 @@
         else:
             if not self.initialising:
                 trace_error_handler(log)
-                log.error('Service %s not found in list' % key)
-                raise KeyError('Service %s not found in list' % key)
+                log.error('Service {key} not found in list'.format(key=key))
+                raise KeyError('Service {key} not found in list'.format(key=key))
 
     def register(self, key, reference):
         """
@@ -83,15 +84,14 @@
         """
         if key in self.service_list:
             trace_error_handler(log)
-            log.error('Duplicate service exception %s' % key)
-            raise KeyError('Duplicate service exception %s' % key)
+            log.error('Duplicate service exception {key}'.format(key=key))
+            raise KeyError('Duplicate service exception {key}'.format(key=key))
         else:
             self.service_list[key] = reference
 
     def remove(self, key):
         """
-        Removes the registry value from the list based on the key passed in (Only valid and active for testing
-        framework).
+        Removes the registry value from the list based on the key passed in.
 
         :param key: The service to be deleted.
         """
@@ -140,8 +140,39 @@
                 except TypeError:
                     # Who has called me can help in debugging
                     trace_error_handler(log)
-                    log.exception('Exception for function %s', function)
+                    log.exception('Exception for function {function}'.format(function=function))
         else:
             trace_error_handler(log)
-            log.error("Event %s called but not registered" % event)
+            log.error("Event {event} called but not registered".format(event=event))
         return results
+
+    def get_flag(self, key):
+        """
+        Extracts the working_flag value from the list based on the key passed in
+
+        :param key: The flag to be retrieved.
+        """
+        if key in self.working_flags:
+            return self.working_flags[key]
+        else:
+            trace_error_handler(log)
+            log.error('Working Flag {key} not found in list'.format(key=key))
+            raise KeyError('Working Flag {key} not found in list'.format(key=key))
+
+    def set_flag(self, key, reference):
+        """
+        Sets a working_flag based on the key passed in.
+
+        :param key: The working_flag to be created this is usually a major class like "renderer" or "main_window" .
+        :param reference: The data to be saved.
+        """
+        self.working_flags[key] = reference
+
+    def remove_flag(self, key):
+        """
+        Removes the working flags value from the list based on the key passed.
+
+        :param key: The working_flag to be deleted.
+        """
+        if key in self.working_flags:
+            del self.working_flags[key]

=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2016-12-31 11:05:48 +0000
+++ openlp/core/common/settings.py	2017-01-08 22:05:36 +0000
@@ -26,7 +26,7 @@
 import logging
 import os
 
-from PyQt5 import QtCore, QtGui, QtWidgets
+from PyQt5 import QtCore, QtGui
 
 from openlp.core.common import ThemeLevel, SlideLimits, UiStrings, is_win, is_linux
 
@@ -107,10 +107,9 @@
     __default_settings__ = {
         'advanced/add page break': False,
         'advanced/alternate rows': not is_win(),
+        'advanced/autoscrolling': {'dist': 1, 'pos': 0},
         'advanced/current media plugin': -1,
         'advanced/data path': '',
-        'advanced/default color': '#ffffff',
-        'advanced/default image': ':/graphics/openlp-splash-screen.png',
         # 7 stands for now, 0 to 6 is Monday to Sunday.
         'advanced/default service day': 7,
         'advanced/default service enabled': True,
@@ -130,7 +129,9 @@
         'advanced/recent file count': 4,
         'advanced/save current plugin': False,
         'advanced/slide limits': SlideLimits.End,
+        'advanced/slide max height': -4,
         'advanced/single click preview': False,
+        'advanced/single click service preview': False,
         'advanced/x11 bypass wm': X11_BYPASS_DEFAULT,
         'advanced/search as type': True,
         'crashreport/last directory': '',
@@ -140,6 +141,7 @@
         'core/auto preview': False,
         'core/audio start paused': True,
         'core/auto unblank': False,
+        'core/click live slide to unblank': False,
         'core/blank warning': False,
         'core/ccli number': '',
         'core/has run wizard': False,
@@ -150,6 +152,9 @@
         'core/save prompt': False,
         'core/screen blank': False,
         'core/show splash': True,
+        'core/logo background color': '#ffffff',
+        'core/logo file': ':/graphics/openlp-splash-screen.png',
+        'core/logo hide on startup': False,
         'core/songselect password': '',
         'core/songselect username': '',
         'core/update check': True,
@@ -178,13 +183,15 @@
         'themes/wrap footer': False,
         'user interface/live panel': True,
         'user interface/live splitter geometry': QtCore.QByteArray(),
-        'user interface/lock panel': False,
+        'user interface/lock panel': True,
         'user interface/main window geometry': QtCore.QByteArray(),
         'user interface/main window position': QtCore.QPoint(0, 0),
         'user interface/main window splitter geometry': QtCore.QByteArray(),
         'user interface/main window state': QtCore.QByteArray(),
         'user interface/preview panel': True,
         'user interface/preview splitter geometry': QtCore.QByteArray(),
+        'user interface/is preset layout': False,
+        'projector/show after wizard': False,
         'projector/db type': 'sqlite',
         'projector/db username': '',
         'projector/db password': '',
@@ -205,7 +212,12 @@
         # ('general/recent files', 'core/recent files', [(recent_files_conv, None)]),
         ('songs/search as type', 'advanced/search as type', []),
         ('media/players', 'media/players_temp', [(media_players_conv, None)]),  # Convert phonon to system
-        ('media/players_temp', 'media/players', [])  # Move temp setting from above to correct setting
+        ('media/players_temp', 'media/players', []),  # Move temp setting from above to correct setting
+        ('advanced/default color', 'core/logo background color', []),  # Default image renamed + moved to general > 2.4.
+        ('advanced/default image', 'core/logo file', []),  # Default image renamed + moved to general after 2.4.
+        ('shortcuts/escapeItem', 'shortcuts/desktopScreenEnable', []),  # Escape item was removed in 2.6.
+        ('shortcuts/offlineHelpItem', 'shortcuts/userManualItem', []),  # Online and Offline help were combined in 2.6.
+        ('shortcuts/onlineHelpItem', 'shortcuts/userManualItem', [])  # Online and Offline help were combined in 2.6.
     ]
 
     @staticmethod
@@ -252,10 +264,10 @@
             'shortcuts/blankScreen': [QtGui.QKeySequence(QtCore.Qt.Key_Period)],
             'shortcuts/collapse': [QtGui.QKeySequence(QtCore.Qt.Key_Minus)],
             'shortcuts/desktopScreen': [QtGui.QKeySequence(QtCore.Qt.Key_D)],
+            'shortcuts/desktopScreenEnable': [QtGui.QKeySequence(QtCore.Qt.Key_Escape)],
             'shortcuts/delete': [QtGui.QKeySequence(QtGui.QKeySequence.Delete)],
             'shortcuts/down': [QtGui.QKeySequence(QtCore.Qt.Key_Down)],
             'shortcuts/editSong': [],
-            'shortcuts/escapeItem': [QtGui.QKeySequence(QtCore.Qt.Key_Escape)],
             'shortcuts/expand': [QtGui.QKeySequence(QtCore.Qt.Key_Plus)],
             'shortcuts/exportThemeItem': [],
             'shortcuts/fileNewItem': [QtGui.QKeySequence(QtGui.QKeySequence.New)],
@@ -264,6 +276,7 @@
             'shortcuts/fileSaveItem': [QtGui.QKeySequence(QtGui.QKeySequence.Save)],
             'shortcuts/fileOpenItem': [QtGui.QKeySequence(QtGui.QKeySequence.Open)],
             'shortcuts/goLive': [],
+            'shortcuts/userManualItem': [QtGui.QKeySequence(QtGui.QKeySequence.HelpContents)],
             'shortcuts/importThemeItem': [],
             'shortcuts/importBibleItem': [],
             'shortcuts/listViewBiblesDeleteItem': [QtGui.QKeySequence(QtGui.QKeySequence.Delete)],
@@ -324,8 +337,6 @@
                                            QtGui.QKeySequence(QtCore.Qt.Key_PageDown)],
             'shortcuts/nextService': [QtGui.QKeySequence(QtCore.Qt.Key_Right)],
             'shortcuts/newService': [],
-            'shortcuts/offlineHelpItem': [QtGui.QKeySequence(QtGui.QKeySequence.HelpContents)],
-            'shortcuts/onlineHelpItem': [QtGui.QKeySequence(QtGui.QKeySequence.HelpContents)],
             'shortcuts/openService': [],
             'shortcuts/saveService': [],
             'shortcuts/previousItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Up),
@@ -370,6 +381,7 @@
             'shortcuts/themeScreen': [QtGui.QKeySequence(QtCore.Qt.Key_T)],
             'shortcuts/toolsReindexItem': [],
             'shortcuts/toolsFindDuplicates': [],
+            'shortcuts/toolsSongListReport': [],
             'shortcuts/toolsAlertItem': [QtGui.QKeySequence(QtCore.Qt.Key_F7)],
             'shortcuts/toolsFirstTimeWizard': [],
             'shortcuts/toolsOpenDataFolder': [],
@@ -479,16 +491,16 @@
         # Do NOT do this anywhere else!
         settings = QtCore.QSettings(self.fileName(), Settings.IniFormat)
         settings.beginGroup(plugin.settings_section)
-        if settings.contains('%s count' % plugin.name):
+        if settings.contains('{name} count'.format(name=plugin.name)):
             # Get the count.
-            list_count = int(settings.value('%s count' % plugin.name, 0))
+            list_count = int(settings.value('{name} count'.format(name=plugin.name), 0))
             if list_count:
                 for counter in range(list_count):
                     # The keys were named e. g.: "image 0"
-                    item = settings.value('%s %d' % (plugin.name, counter), '')
+                    item = settings.value('{name} {counter:d}'.format(name=plugin.name, counter=counter), '')
                     if item:
                         files_list.append(item)
-                    settings.remove('%s %d' % (plugin.name, counter))
-            settings.remove('%s count' % plugin.name)
+                    settings.remove('{name} {counter:d}'.format(name=plugin.name, counter=counter))
+            settings.remove('{name} count'.format(name=plugin.name))
         settings.endGroup()
         return files_list

=== modified file 'openlp/core/common/uistrings.py'
--- openlp/core/common/uistrings.py	2016-12-31 11:05:48 +0000
+++ openlp/core/common/uistrings.py	2017-01-08 22:05:36 +0000
@@ -23,6 +23,7 @@
 The :mod:`uistrings` module provides standard strings for OpenLP.
 """
 import logging
+import itertools
 
 from openlp.core.common import translate
 
@@ -52,10 +53,12 @@
         self.About = translate('OpenLP.Ui', 'About')
         self.Add = translate('OpenLP.Ui', '&Add')
         self.AddGroup = translate('OpenLP.Ui', 'Add group')
+        self.AddGroupDot = translate('OpenLP.Ui', 'Add group.')
         self.Advanced = translate('OpenLP.Ui', 'Advanced')
         self.AllFiles = translate('OpenLP.Ui', 'All Files')
         self.Automatic = translate('OpenLP.Ui', 'Automatic')
         self.BackgroundColor = translate('OpenLP.Ui', 'Background Color')
+        self.BackgroundColorColon = translate('OpenLP.Ui', 'Background color:')
         self.Bottom = translate('OpenLP.Ui', 'Bottom')
         self.Browse = translate('OpenLP.Ui', 'Browse...')
         self.Cancel = translate('OpenLP.Ui', 'Cancel')
@@ -67,7 +70,7 @@
         self.Default = translate('OpenLP.Ui', 'Default')
         self.DefaultColor = translate('OpenLP.Ui', 'Default Color:')
         self.DefaultServiceName = translate('OpenLP.Ui', 'Service %Y-%m-%d %H-%M',
-                                            'This may not contain any of the following characters: /\\?*|<>\[\]":+\n'
+                                            'This may not contain any of the following characters: /\\?*|<>[]":+\n'
                                             'See http://docs.python.org/library/datetime'
                                             '.html#strftime-strptime-behavior for more information.')
         self.Delete = translate('OpenLP.Ui', '&Delete')
@@ -79,7 +82,8 @@
         self.Export = translate('OpenLP.Ui', 'Export')
         self.File = translate('OpenLP.Ui', 'File')
         self.FileNotFound = translate('OpenLP.Ui', 'File Not Found')
-        self.FileNotFoundMessage = translate('OpenLP.Ui', 'File %s not found.\nPlease try selecting it individually.')
+        self.FileNotFoundMessage = translate('OpenLP.Ui',
+                                             'File {name} not found.\nPlease try selecting it individually.')
         self.FontSizePtUnit = translate('OpenLP.Ui', 'pt', 'Abbreviated font pointsize unit')
         self.Help = translate('OpenLP.Ui', 'Help')
         self.Hours = translate('OpenLP.Ui', 'h', 'The abbreviated unit for hours')
@@ -108,9 +112,10 @@
         self.NFSp = translate('OpenLP.Ui', 'No Files Selected', 'Plural')
         self.NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular')
         self.NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural')
+        self.NoResults = translate('OpenLP.Ui', 'No Search Results')
         self.OLP = translate('OpenLP.Ui', 'OpenLP')
-        self.OLPV2 = "%s %s" % (self.OLP, "2")
-        self.OLPV2x = "%s %s" % (self.OLP, "2.4")
+        self.OLPV2 = "{name} {version}".format(name=self.OLP, version="2")
+        self.OLPV2x = "{name} {version}".format(name=self.OLP, version="2.4")
         self.OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. Do you wish to continue?')
         self.OpenService = translate('OpenLP.Ui', 'Open service.')
         self.PlaySlidesInLoop = translate('OpenLP.Ui', 'Play Slides in Loop')
@@ -135,10 +140,12 @@
         self.Settings = translate('OpenLP.Ui', 'Settings')
         self.SaveService = translate('OpenLP.Ui', 'Save Service')
         self.Service = translate('OpenLP.Ui', 'Service')
+        self.ShortResults = translate('OpenLP.Ui', 'Please type more text to use \'Search As You Type\'')
         self.Split = translate('OpenLP.Ui', 'Optional &Split')
         self.SplitToolTip = translate('OpenLP.Ui',
                                       'Split a slide into two only if it does not fit on the screen as one slide.')
-        self.StartTimeCode = translate('OpenLP.Ui', 'Start %s')
+        # TODO: WHERE is this used at? cannot find where it's used at in code.
+        self.StartTimeCode = translate('OpenLP.Ui', 'Start {code}')
         self.StopPlaySlidesInLoop = translate('OpenLP.Ui', 'Stop Play Slides in Loop')
         self.StopPlaySlidesToEnd = translate('OpenLP.Ui', 'Stop Play Slides to End')
         self.Theme = translate('OpenLP.Ui', 'Theme', 'Singular')
@@ -151,3 +158,31 @@
         self.Version = translate('OpenLP.Ui', 'Version')
         self.View = translate('OpenLP.Ui', 'View')
         self.ViewMode = translate('OpenLP.Ui', 'View Mode')
+        self.Video = translate('OpenLP.Ui', 'Video')
+        self.BibleShortSearchTitle = translate('OpenLP.Ui', 'Search is Empty or too Short')
+        self.BibleShortSearch = translate('OpenLP.Ui', '<strong>The search you have entered is empty or shorter '
+                                                       'than 3 characters long.</strong><br><br>Please try again with '
+                                                       'a longer search.')
+        self.BibleNoBiblesTitle = translate('OpenLP.Ui', 'No Bibles Available')
+        self.BibleNoBibles = translate('OpenLP.Ui', '<strong>There are no Bibles currently installed.</strong><br><br>'
+                                                    'Please use the Import Wizard to install one or more Bibles.')
+        book_chapter = translate('OpenLP.Ui', 'Book Chapter')
+        chapter = translate('OpenLP.Ui', 'Chapter')
+        verse = translate('OpenLP.Ui', 'Verse')
+        gap = ' | '
+        psalm = translate('OpenLP.Ui', 'Psalm')
+        may_shorten = translate('OpenLP.Ui', 'Book names may be shortened from full names, for an example Ps 23 = '
+                                             'Psalm 23')
+        bible_scripture_items = \
+            [book_chapter, gap, psalm, ' 23<br>',
+             book_chapter, '%(range)s', chapter, gap, psalm, ' 23%(range)s24<br>',
+             book_chapter, '%(verse)s', verse, '%(range)s', verse, gap, psalm, ' 23%(verse)s1%(range)s2<br>',
+             book_chapter, '%(verse)s', verse, '%(range)s', verse, '%(list)s', verse, '%(range)s', verse, gap, psalm,
+             ' 23%(verse)s1%(range)s2%(list)s5%(range)s6<br>',
+             book_chapter, '%(verse)s', verse, '%(range)s', verse, '%(list)s', chapter, '%(verse)s', verse, '%(range)s',
+             verse, gap, psalm, ' 23%(verse)s1%(range)s2%(list)s24%(verse)s1%(range)s3<br>',
+             book_chapter, '%(verse)s', verse, '%(range)s', chapter, '%(verse)s', verse, gap, psalm,
+             ' 23%(verse)s1%(range)s24%(verse)s1<br><br>', may_shorten]
+        itertools.chain.from_iterable(itertools.repeat(strings, 1) if isinstance(strings, str)
+                                      else strings for strings in bible_scripture_items)
+        self.BibleScriptureError = ''.join(str(joined) for joined in bible_scripture_items)

=== added file 'openlp/core/common/versionchecker.py'
--- openlp/core/common/versionchecker.py	1970-01-01 00:00:00 +0000
+++ openlp/core/common/versionchecker.py	2017-01-08 22:05:36 +0000
@@ -0,0 +1,173 @@
+import logging
+import os
+import platform
+import sys
+import time
+import urllib.error
+import urllib.parse
+import urllib.request
+from datetime import datetime
+from distutils.version import LooseVersion
+from subprocess import Popen, PIPE
+
+from PyQt5 import QtCore
+
+from openlp.core.common import AppLocation, Settings
+
+log = logging.getLogger(__name__)
+
+APPLICATION_VERSION = {}
+CONNECTION_TIMEOUT = 30
+CONNECTION_RETRIES = 2
+
+
+class VersionThread(QtCore.QThread):
+    """
+    A special Qt thread class to fetch the version of OpenLP from the website.
+    This is threaded so that it doesn't affect the loading time of OpenLP.
+    """
+    def __init__(self, main_window):
+        """
+        Constructor for the thread class.
+
+        :param main_window: The main window Object.
+        """
+        log.debug("VersionThread - Initialise")
+        super(VersionThread, self).__init__(None)
+        self.main_window = main_window
+
+    def run(self):
+        """
+        Run the thread.
+        """
+        self.sleep(1)
+        log.debug('Version thread - run')
+        app_version = get_application_version()
+        version = check_latest_version(app_version)
+        log.debug("Versions {version1} and {version2} ".format(version1=LooseVersion(str(version)),
+                                                               version2=LooseVersion(str(app_version['full']))))
+        if LooseVersion(str(version)) > LooseVersion(str(app_version['full'])):
+            self.main_window.openlp_version_check.emit('{version}'.format(version=version))
+
+
+def get_application_version():
+    """
+    Returns the application version of the running instance of OpenLP::
+
+        {'full': '1.9.4-bzr1249', 'version': '1.9.4', 'build': 'bzr1249'}
+    """
+    global APPLICATION_VERSION
+    if APPLICATION_VERSION:
+        return APPLICATION_VERSION
+    if '--dev-version' in sys.argv or '-d' in sys.argv:
+        # NOTE: The following code is a duplicate of the code in setup.py. Any fix applied here should also be applied
+        # there.
+
+        # Get the revision of this tree.
+        bzr = Popen(('bzr', 'revno'), stdout=PIPE)
+        tree_revision, error = bzr.communicate()
+        tree_revision = tree_revision.decode()
+        code = bzr.wait()
+        if code != 0:
+            raise Exception('Error running bzr log')
+
+        # Get all tags.
+        bzr = Popen(('bzr', 'tags'), stdout=PIPE)
+        output, error = bzr.communicate()
+        code = bzr.wait()
+        if code != 0:
+            raise Exception('Error running bzr tags')
+        tags = list(map(bytes.decode, output.splitlines()))
+        if not tags:
+            tag_version = '0.0.0'
+            tag_revision = '0'
+        else:
+            # Remove any tag that has "?" as revision number. A "?" as revision number indicates, that this tag is from
+            # another series.
+            tags = [tag for tag in tags if tag.split()[-1].strip() != '?']
+            # Get the last tag and split it in a revision and tag name.
+            tag_version, tag_revision = tags[-1].split()
+        # If they are equal, then this tree is tarball with the source for the release. We do not want the revision
+        # number in the full version.
+        if tree_revision == tag_revision:
+            full_version = tag_version.strip()
+        else:
+            full_version = '{tag}-bzr{tree}'.format(tag=tag_version.strip(), tree=tree_revision.strip())
+    else:
+        # We're not running the development version, let's use the file.
+        file_path = AppLocation.get_directory(AppLocation.VersionDir)
+        file_path = os.path.join(file_path, '.version')
+        version_file = None
+        try:
+            version_file = open(file_path, 'r')
+            full_version = str(version_file.read()).rstrip()
+        except IOError:
+            log.exception('Error in version file.')
+            full_version = '0.0.0-bzr000'
+        finally:
+            if version_file:
+                version_file.close()
+    bits = full_version.split('-')
+    APPLICATION_VERSION = {
+        'full': full_version,
+        'version': bits[0],
+        'build': bits[1] if len(bits) > 1 else None
+    }
+    if APPLICATION_VERSION['build']:
+        log.info('Openlp version {version} build {build}'.format(version=APPLICATION_VERSION['version'],
+                                                                 build=APPLICATION_VERSION['build']))
+    else:
+        log.info('Openlp version {version}'.format(version=APPLICATION_VERSION['version']))
+    return APPLICATION_VERSION
+
+
+def check_latest_version(current_version):
+    """
+    Check the latest version of OpenLP against the version file on the OpenLP
+    site.
+
+    **Rules around versions and version files:**
+
+    * If a version number has a build (i.e. -bzr1234), then it is a nightly.
+    * If a version number's minor version is an odd number, it is a development release.
+    * If a version number's minor version is an even number, it is a stable release.
+
+    :param current_version: The current version of OpenLP.
+    """
+    version_string = current_version['full']
+    # set to prod in the distribution config file.
+    settings = Settings()
+    settings.beginGroup('core')
+    last_test = settings.value('last version test')
+    this_test = str(datetime.now().date())
+    settings.setValue('last version test', this_test)
+    settings.endGroup()
+    if last_test != this_test:
+        if current_version['build']:
+            req = urllib.request.Request('http://www.openlp.org/files/nightly_version.txt')
+        else:
+            version_parts = current_version['version'].split('.')
+            if int(version_parts[1]) % 2 != 0:
+                req = urllib.request.Request('http://www.openlp.org/files/dev_version.txt')
+            else:
+                req = urllib.request.Request('http://www.openlp.org/files/version.txt')
+        req.add_header('User-Agent', 'OpenLP/{version} {system}/{release}; '.format(version=current_version['full'],
+                                                                                    system=platform.system(),
+                                                                                    release=platform.release()))
+        remote_version = None
+        retries = 0
+        while True:
+            try:
+                remote_version = str(urllib.request.urlopen(req, None,
+                                                            timeout=CONNECTION_TIMEOUT).read().decode()).strip()
+            except (urllib.error.URLError, ConnectionError):
+                if retries > CONNECTION_RETRIES:
+                    log.exception('Failed to download the latest OpenLP version file')
+                else:
+                    retries += 1
+                    time.sleep(0.1)
+                    continue
+            break
+        if remote_version:
+            version_string = remote_version
+    return version_string

=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/__init__.py	2017-01-08 22:05:36 +0000
@@ -24,13 +24,12 @@
 OpenLP work.
 """
 
-from distutils.version import LooseVersion
 import logging
 import os
+from distutils.version import LooseVersion
 
 from PyQt5 import QtCore, QtGui, Qt, QtWidgets
 
-
 from openlp.core.common import translate
 
 log = logging.getLogger(__name__ + '.__init__')
@@ -55,9 +54,13 @@
 
     ``Theme``
         This says, that the image is used by a theme.
+
+    ``CommandPlugins``
+        This states that an image is being used by a command plugin.
     """
     ImagePlugin = 1
     Theme = 2
+    CommandPlugins = 3
 
 
 class MediaType(object):
@@ -92,12 +95,12 @@
     content = None
     try:
         file_handle = open(text_file, 'r', encoding='utf-8')
-        if not file_handle.read(3) == '\xEF\xBB\xBF':
+        if file_handle.read(3) != '\xEF\xBB\xBF':
             # no BOM was found
             file_handle.seek(0)
         content = file_handle.read()
     except (IOError, UnicodeError):
-        log.exception('Failed to open text file %s' % text_file)
+        log.exception('Failed to open text file {text}'.format(text=text_file))
     finally:
         if file_handle:
             file_handle.close()
@@ -126,16 +129,16 @@
         location like ``/path/to/file.png``. However, the **recommended** way is to specify a resource string.
     :return: The build icon.
     """
+    if isinstance(icon, QtGui.QIcon):
+        return icon
+    pix_map = None
     button_icon = QtGui.QIcon()
-    if isinstance(icon, QtGui.QIcon):
-        button_icon = icon
-    elif isinstance(icon, str):
-        if icon.startswith(':/'):
-            button_icon.addPixmap(QtGui.QPixmap(icon), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        else:
-            button_icon.addPixmap(QtGui.QPixmap.fromImage(QtGui.QImage(icon)), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+    if isinstance(icon, str):
+        pix_map = QtGui.QPixmap(icon)
     elif isinstance(icon, QtGui.QImage):
-        button_icon.addPixmap(QtGui.QPixmap.fromImage(icon), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        pix_map = QtGui.QPixmap.fromImage(icon)
+    if pix_map:
+        button_icon.addPixmap(pix_map, QtGui.QIcon.Normal, QtGui.QIcon.Off)
     return button_icon
 
 
@@ -174,10 +177,30 @@
     ext = os.path.splitext(thumb_path)[1].lower()
     reader = QtGui.QImageReader(image_path)
     if size is None:
-        ratio = reader.size().width() / reader.size().height()
+        # No size given; use default height of 88
+        if reader.size().isEmpty():
+            ratio = 1
+        else:
+            ratio = reader.size().width() / reader.size().height()
         reader.setScaledSize(QtCore.QSize(int(ratio * 88), 88))
-    else:
+    elif size.isValid():
+        # Complete size given
         reader.setScaledSize(size)
+    else:
+        # Invalid size given
+        if reader.size().isEmpty():
+            ratio = 1
+        else:
+            ratio = reader.size().width() / reader.size().height()
+        if size.width() >= 0:
+            # Valid width; scale height
+            reader.setScaledSize(QtCore.QSize(size.width(), int(size.width() / ratio)))
+        elif size.height() >= 0:
+            # Valid height; scale width
+            reader.setScaledSize(QtCore.QSize(int(ratio * size.height()), size.height()))
+        else:
+            # Invalid; use default height of 88
+            reader.setScaledSize(QtCore.QSize(int(ratio * 88), 88))
     thumb = reader.read()
     thumb.save(thumb_path, ext[1:])
     if not return_icon:
@@ -287,46 +310,34 @@
 
 def create_separated_list(string_list):
     """
-    Returns a string that represents a join of a list of strings with a localized separator. This function corresponds
-
-    to QLocale::createSeparatedList which was introduced in Qt 4.8 and implements the algorithm from
-    http://www.unicode.org/reports/tr35/#ListPatterns
-
-     :param string_list: List of unicode strings
+    Returns a string that represents a join of a list of strings with a localized separator.
+    Localized separation will be done via the translate() function by the translators.
+
+    :param string_list: List of unicode strings
+    :return: Formatted string
     """
-    if LooseVersion(Qt.PYQT_VERSION_STR) >= LooseVersion('4.9') and LooseVersion(Qt.qVersion()) >= LooseVersion('4.8'):
-        return QtCore.QLocale().createSeparatedList(string_list)
-    if not string_list:
-        return ''
-    elif len(string_list) == 1:
-        return string_list[0]
-    elif len(string_list) == 2:
-        return translate('OpenLP.core.lib', '%s and %s',
-                         'Locale list separator: 2 items') % (string_list[0], string_list[1])
+    list_length = len(string_list)
+    if list_length == 1:
+        list_to_string = string_list[0]
+    elif list_length == 2:
+        list_to_string = translate('OpenLP.core.lib', '{one} and {two}').format(one=string_list[0], two=string_list[1])
+    elif list_length > 2:
+        list_to_string = translate('OpenLP.core.lib', '{first} and {last}').format(first=', '.join(string_list[:-1]),
+                                                                                   last=string_list[-1])
     else:
-        merged = translate('OpenLP.core.lib', '%s, and %s',
-                           'Locale list separator: end') % (string_list[-2], string_list[-1])
-        for index in reversed(list(range(1, len(string_list) - 2))):
-            merged = translate('OpenLP.core.lib', '%s, %s',
-                               'Locale list separator: middle') % (string_list[index], merged)
-        return translate('OpenLP.core.lib', '%s, %s', 'Locale list separator: start') % (string_list[0], merged)
-
-
-from .colorbutton import ColorButton
+        list_to_string = ''
+    return list_to_string
+
+
 from .exceptions import ValidationError
 from .filedialog import FileDialog
 from .screen import ScreenList
-from .listwidgetwithdnd import ListWidgetWithDnD
-from .treewidgetwithdnd import TreeWidgetWithDnD
 from .formattingtags import FormattingTags
-from .spelltextedit import SpellTextEdit
 from .plugin import PluginStatus, StringContent, Plugin
 from .pluginmanager import PluginManager
 from .settingstab import SettingsTab
 from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
 from .htmlbuilder import build_html, build_lyrics_format_css, build_lyrics_outline_css
-from .toolbar import OpenLPToolbar
-from .dockwidget import OpenLPDockWidget
 from .imagemanager import ImageManager
 from .renderer import Renderer
 from .mediamanageritem import MediaManagerItem

=== renamed file 'openlp/core/lib/colorbutton.py' => 'openlp/core/lib/colorbutton.py.THIS'
=== modified file 'openlp/core/lib/db.py'
--- openlp/core/lib/db.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/db.py	2017-01-08 22:05:36 +0000
@@ -34,9 +34,8 @@
 from alembic.migration import MigrationContext
 from alembic.operations import Operations
 
-from openlp.core.common import AppLocation, Settings, translate
+from openlp.core.common import AppLocation, Settings, translate, delete_file
 from openlp.core.lib.ui import critical_error_message_box
-from openlp.core.utils import delete_file
 
 log = logging.getLogger(__name__)
 
@@ -69,9 +68,11 @@
     :return: The path to the database as type str
     """
     if db_file_name is None:
-        return 'sqlite:///%s/%s.sqlite' % (AppLocation.get_section_data_path(plugin_name), plugin_name)
+        return 'sqlite:///{path}/{plugin}.sqlite'.format(path=AppLocation.get_section_data_path(plugin_name),
+                                                         plugin=plugin_name)
     else:
-        return 'sqlite:///%s/%s' % (AppLocation.get_section_data_path(plugin_name), db_file_name)
+        return 'sqlite:///{path}/{name}'.format(path=AppLocation.get_section_data_path(plugin_name),
+                                                name=db_file_name)
 
 
 def handle_db_error(plugin_name, db_file_name):
@@ -83,10 +84,10 @@
     :return: None
     """
     db_path = get_db_path(plugin_name, db_file_name)
-    log.exception('Error loading database: %s', db_path)
+    log.exception('Error loading database: {db}'.format(db=db_path))
     critical_error_message_box(translate('OpenLP.Manager', 'Database Error'),
-                               translate('OpenLP.Manager', 'OpenLP cannot load your database.\n\nDatabase: %s')
-                               % db_path)
+                               translate('OpenLP.Manager',
+                                         'OpenLP cannot load your database.\n\nDatabase: {db}').format(db=db_path))
 
 
 def init_url(plugin_name, db_file_name=None):
@@ -102,10 +103,11 @@
     if db_type == 'sqlite':
         db_url = get_db_path(plugin_name, db_file_name)
     else:
-        db_url = '%s://%s:%s@%s/%s' % (db_type, urlquote(settings.value('db username')),
-                                       urlquote(settings.value('db password')),
-                                       urlquote(settings.value('db hostname')),
-                                       urlquote(settings.value('db database')))
+        db_url = '{type}://{user}:{password}@{host}/{db}'.format(type=db_type,
+                                                                 user=urlquote(settings.value('db username')),
+                                                                 password=urlquote(settings.value('db password')),
+                                                                 host=urlquote(settings.value('db hostname')),
+                                                                 db=urlquote(settings.value('db database')))
     settings.endGroup()
     return db_url
 
@@ -120,6 +122,21 @@
     return Operations(context)
 
 
+class BaseModel(object):
+    """
+    BaseModel provides a base object with a set of generic functions
+    """
+    @classmethod
+    def populate(cls, **kwargs):
+        """
+        Creates an instance of a class and populates it, returning the instance
+        """
+        instance = cls()
+        for key, value in kwargs.items():
+            instance.__setattr__(key, value)
+        return instance
+
+
 def upgrade_db(url, upgrade):
     """
     Upgrade a database.
@@ -158,10 +175,10 @@
         return version, upgrade.__version__
     version += 1
     try:
-        while hasattr(upgrade, 'upgrade_%d' % version):
-            log.debug('Running upgrade_%d', version)
+        while hasattr(upgrade, 'upgrade_{version:d}'.format(version=version)):
+            log.debug('Running upgrade_{version:d}'.format(version=version))
             try:
-                upgrade_func = getattr(upgrade, 'upgrade_%d' % version)
+                upgrade_func = getattr(upgrade, 'upgrade_{version:d}'.format(version=version))
                 upgrade_func(session, metadata)
                 session.commit()
                 # Update the version number AFTER a commit so that we are sure the previous transaction happened
@@ -169,16 +186,16 @@
                 session.commit()
                 version += 1
             except (SQLAlchemyError, DBAPIError):
-                log.exception('Could not run database upgrade script "upgrade_%s", upgrade process has been halted.',
-                              version)
+                log.exception('Could not run database upgrade script '
+                              '"upgrade_{version:d}", upgrade process has been halted.'.format(version=version))
                 break
     except (SQLAlchemyError, DBAPIError):
         version_meta = Metadata.populate(key='version', value=int(upgrade.__version__))
         session.commit()
     upgrade_version = upgrade.__version__
-    version_meta = int(version_meta.value)
+    version = int(version_meta.value)
     session.close()
-    return version_meta, upgrade_version
+    return version, upgrade_version
 
 
 def delete_database(plugin_name, db_file_name=None):
@@ -195,21 +212,6 @@
     return delete_file(db_file_path)
 
 
-class BaseModel(object):
-    """
-    BaseModel provides a base object with a set of generic functions
-    """
-    @classmethod
-    def populate(cls, **kwargs):
-        """
-        Creates an instance of a class and populates it, returning the instance
-        """
-        instance = cls()
-        for key, value in kwargs.items():
-            instance.__setattr__(key, value)
-        return instance
-
-
 class Manager(object):
     """
     Provide generic object persistence management
@@ -243,9 +245,10 @@
                 critical_error_message_box(
                     translate('OpenLP.Manager', 'Database Error'),
                     translate('OpenLP.Manager', 'The database being loaded was created in a more recent version of '
-                              'OpenLP. The database is version %d, while OpenLP expects version %d. The database will '
-                              'not be loaded.\n\nDatabase: %s') % (db_ver, up_ver, self.db_url)
-                )
+                              'OpenLP. The database is version {db_ver}, while OpenLP expects version {db_up}. '
+                              'The database will not be loaded.\n\nDatabase: {db_name}').format(db_ver=db_ver,
+                                                                                                db_up=up_ver,
+                                                                                                db_name=self.db_url))
                 return
         if not session:
             try:
@@ -461,7 +464,7 @@
                     raise
             except InvalidRequestError:
                 self.session.rollback()
-                log.exception('Failed to delete %s records', object_class.__name__)
+                log.exception('Failed to delete {name} records'.format(name=object_class.__name__))
                 return False
             except:
                 self.session.rollback()

=== renamed file 'openlp/core/lib/dockwidget.py' => 'openlp/core/lib/dockwidget.py.THIS'
=== modified file 'openlp/core/lib/exceptions.py'
--- openlp/core/lib/exceptions.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/exceptions.py	2017-01-08 22:05:36 +0000
@@ -24,9 +24,15 @@
 """
 
 
+# TODO: Test  __init__ & __str__
 class ValidationError(Exception):
     """
     The :class:`~openlp.core.lib.exceptions.ValidationError` exception provides a custom exception for validating
     import files.
     """
-    pass
+
+    def __init__(self, msg="Validation Error"):
+        self.msg = msg
+
+    def __str__(self):
+        return '{error_message}'.format(error_message=self.msg)

=== modified file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/filedialog.py	2017-01-08 22:05:36 +0000
@@ -50,9 +50,9 @@
                 log.info('File not found. Attempting to unquote.')
                 file = parse.unquote(file)
                 if not os.path.exists(file):
-                    log.error('File %s not found.' % file)
+                    log.error('File {text} not found.'.format(text=file))
                     QtWidgets.QMessageBox.information(parent, UiStrings().FileNotFound,
-                                                      UiStrings().FileNotFoundMessage % file)
+                                                      UiStrings().FileNotFoundMessage.format(name=file))
                     continue
             file_list.append(file)
         return file_list

=== modified file 'openlp/core/lib/htmlbuilder.py'
--- openlp/core/lib/htmlbuilder.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/htmlbuilder.py	2017-01-08 22:05:36 +0000
@@ -389,6 +389,7 @@
 """
 import logging
 
+from string import Template
 from PyQt5 import QtWebKit
 
 from openlp.core.common import Settings
@@ -396,156 +397,200 @@
 
 log = logging.getLogger(__name__)
 
-HTMLSRC = """
-<!DOCTYPE html>
-<html>
-<head>
-<title>OpenLP Display</title>
-<style>
-*{
+HTML_SRC = Template("""
+    <!DOCTYPE html>
+    <html>
+    <head>
+    <title>OpenLP Display</title>
+    <style>
+    *{
+        margin: 0;
+        padding: 0;
+        border: 0;
+        overflow: hidden;
+        -webkit-user-select: none;
+    }
+    body {
+        ${bg_css};
+    }
+    .size {
+        position: absolute;
+        left: 0px;
+        top: 0px;
+        width: 100%;
+        height: 100%;
+    }
+    #black {
+        z-index: 8;
+        background-color: black;
+        display: none;
+    }
+    #bgimage {
+        z-index: 1;
+    }
+    #image {
+        z-index: 2;
+    }
+    ${css_additions}
+    #footer {
+        position: absolute;
+        z-index: 6;
+        ${footer_css}
+    }
+    /* lyric css */${lyrics_css}
+    sup {
+        font-size: 0.6em;
+        vertical-align: top;
+        position: relative;
+        top: -0.3em;
+    }
+    </style>
+    <script>
+        var timer = null;
+        var transition = ${transitions};
+        ${js_additions}
+
+        function show_image(src){
+            var img = document.getElementById('image');
+            img.src = src;
+            if(src == '')
+                img.style.display = 'none';
+            else
+                img.style.display = 'block';
+        }
+
+        function show_blank(state){
+            var black = 'none';
+            var lyrics = '';
+            switch(state){
+                case 'theme':
+                    lyrics = 'hidden';
+                    break;
+                case 'black':
+                    black = 'block';
+                    break;
+                case 'desktop':
+                    break;
+            }
+            document.getElementById('black').style.display = black;
+            document.getElementById('lyricsmain').style.visibility = lyrics;
+            document.getElementById('image').style.visibility = lyrics;
+            document.getElementById('footer').style.visibility = lyrics;
+        }
+
+        function show_footer(footertext){
+            document.getElementById('footer').innerHTML = footertext;
+        }
+
+        function show_text(new_text){
+            var match = /-webkit-text-fill-color:[^;\"]+/gi;
+            if(timer != null)
+                clearTimeout(timer);
+            /*
+            QtWebkit bug with outlines and justify causing outline alignment
+            problems. (Bug 859950) Surround each word with a <span> to workaround,
+            but only in this scenario.
+            */
+            var txt = document.getElementById('lyricsmain');
+            if(window.getComputedStyle(txt).textAlign == 'justify'){
+                if(window.getComputedStyle(txt).webkitTextStrokeWidth != '0px'){
+                    new_text = new_text.replace(/(\s|&nbsp;)+(?![^<]*>)/g,
+                        function(match) {
+                            return '</span>' + match + '<span>';
+                        });
+                    new_text = '<span>' + new_text + '</span>';
+                }
+            }
+            text_fade('lyricsmain', new_text);
+        }
+
+        function text_fade(id, new_text){
+            /*
+            Show the text.
+            */
+            var text = document.getElementById(id);
+            if(text == null) return;
+            if(!transition){
+                text.innerHTML = new_text;
+                return;
+            }
+            // Fade text out. 0.1 to minimize the time "nothing" is shown on the screen.
+            text.style.opacity = '0.1';
+            // Fade new text in after the old text has finished fading out.
+            timer = window.setTimeout(function(){_show_text(text, new_text)}, 400);
+        }
+
+        function _show_text(text, new_text) {
+            /*
+            Helper function to show the new_text delayed.
+            */
+            text.innerHTML = new_text;
+            text.style.opacity = '1';
+            // Wait until the text is completely visible. We want to save the timer id, to be able to call
+            // clearTimeout(timer) when the text has changed before finishing fading.
+            timer = window.setTimeout(function(){timer = null;}, 400);
+        }
+
+        function show_text_completed(){
+            return (timer == null);
+        }
+    </script>
+    </head>
+    <body>
+    <img id="bgimage" class="size" ${bg_image} />
+    <img id="image" class="size" ${image} />
+    ${html_additions}
+    <div class="lyricstable"><div id="lyricsmain" style="opacity:1" class="lyricscell lyricsmain"></div></div>
+    <div id="footer" class="footer"></div>
+    <div id="black" class="size"></div>
+    </body>
+    </html>
+    """)
+
+LYRICS_SRC = Template("""
+    .lyricstable {
+        z-index: 5;
+        position: absolute;
+        display: table;
+        ${stable}
+    }
+    .lyricscell {
+        display: table-cell;
+        word-wrap: break-word;
+        -webkit-transition: opacity 0.4s ease;
+        ${lyrics}
+    }
+    .lyricsmain {
+       ${main}
+    }
+    """)
+
+FOOTER_SRC = Template("""
+    left: ${left}px;
+    bottom: ${bottom}px;
+    width: ${width}px;
+    font-family: ${family};
+    font-size: ${size}pt;
+    color: ${color};
+    text-align: left;
+    white-space: ${space};
+    """)
+
+LYRICS_FORMAT_SRC = Template("""
+    ${justify}word-wrap: break-word;
+    text-align: ${align};
+    vertical-align: ${valign};
+    font-family: ${font};
+    font-size: ${size}pt;
+    color: ${color};
+    line-height: ${line}%;
     margin: 0;
     padding: 0;
-    border: 0;
-    overflow: hidden;
-    -webkit-user-select: none;
-}
-body {
-    %s;
-}
-.size {
-    position: absolute;
-    left: 0px;
-    top: 0px;
-    width: 100%%;
-    height: 100%%;
-}
-#black {
-    z-index: 8;
-    background-color: black;
-    display: none;
-}
-#bgimage {
-    z-index: 1;
-}
-#image {
-    z-index: 2;
-}
-%s
-#footer {
-    position: absolute;
-    z-index: 6;
-    %s
-}
-/* lyric css */
-%s
-sup {
-    font-size: 0.6em;
-    vertical-align: top;
-    position: relative;
-    top: -0.3em;
-}
-</style>
-<script>
-    var timer = null;
-    var transition = %s;
-    %s
-
-    function show_image(src){
-        var img = document.getElementById('image');
-        img.src = src;
-        if(src == '')
-            img.style.display = 'none';
-        else
-            img.style.display = 'block';
-    }
-
-    function show_blank(state){
-        var black = 'none';
-        var lyrics = '';
-        switch(state){
-            case 'theme':
-                lyrics = 'hidden';
-                break;
-            case 'black':
-                black = 'block';
-                break;
-            case 'desktop':
-                break;
-        }
-        document.getElementById('black').style.display = black;
-        document.getElementById('lyricsmain').style.visibility = lyrics;
-        document.getElementById('image').style.visibility = lyrics;
-        document.getElementById('footer').style.visibility = lyrics;
-    }
-
-    function show_footer(footertext){
-        document.getElementById('footer').innerHTML = footertext;
-    }
-
-    function show_text(new_text){
-        var match = /-webkit-text-fill-color:[^;\"]+/gi;
-        if(timer != null)
-            clearTimeout(timer);
-        /*
-        QtWebkit bug with outlines and justify causing outline alignment
-        problems. (Bug 859950) Surround each word with a <span> to workaround,
-        but only in this scenario.
-        */
-        var txt = document.getElementById('lyricsmain');
-        if(window.getComputedStyle(txt).textAlign == 'justify'){
-            if(window.getComputedStyle(txt).webkitTextStrokeWidth != '0px'){
-                new_text = new_text.replace(/(\s|&nbsp;)+(?![^<]*>)/g,
-                    function(match) {
-                        return '</span>' + match + '<span>';
-                    });
-                new_text = '<span>' + new_text + '</span>';
-            }
-        }
-        text_fade('lyricsmain', new_text);
-    }
-
-    function text_fade(id, new_text){
-        /*
-        Show the text.
-        */
-        var text = document.getElementById(id);
-        if(text == null) return;
-        if(!transition){
-            text.innerHTML = new_text;
-            return;
-        }
-        // Fade text out. 0.1 to minimize the time "nothing" is shown on the screen.
-        text.style.opacity = '0.1';
-        // Fade new text in after the old text has finished fading out.
-        timer = window.setTimeout(function(){_show_text(text, new_text)}, 400);
-    }
-
-    function _show_text(text, new_text) {
-        /*
-        Helper function to show the new_text delayed.
-        */
-        text.innerHTML = new_text;
-        text.style.opacity = '1';
-        // Wait until the text is completely visible. We want to save the timer id, to be able to call
-        // clearTimeout(timer) when the text has changed before finishing fading.
-        timer = window.setTimeout(function(){timer = null;}, 400);
-    }
-
-    function show_text_completed(){
-        return (timer == null);
-    }
-</script>
-</head>
-<body>
-<img id="bgimage" class="size" %s />
-<img id="image" class="size" %s />
-%s
-<div class="lyricstable"><div id="lyricsmain" style="opacity:1" class="lyricscell lyricsmain"></div></div>
-<div id="footer" class="footer"></div>
-<div id="black" class="size"></div>
-</body>
-</html>
-"""
+    padding-bottom: ${bottom};
+    padding-left: ${left}px;
+    width: ${width}px;
+    height: ${height}px;${font_style}${font_weight}
+    """)
 
 
 def build_html(item, screen, is_live, background, image=None, plugins=None):
@@ -564,13 +609,13 @@
     theme_data = item.theme_data
     # Image generated and poked in
     if background:
-        bgimage_src = 'src="data:image/png;base64,%s"' % background
+        bgimage_src = 'src="data:image/png;base64,{image}"'.format(image=background)
     elif item.bg_image_bytes:
-        bgimage_src = 'src="data:image/png;base64,%s"' % item.bg_image_bytes
+        bgimage_src = 'src="data:image/png;base64,{image}"'.format(image=item.bg_image_bytes)
     else:
         bgimage_src = 'style="display:none;"'
     if image:
-        image_src = 'src="data:image/png;base64,%s"' % image
+        image_src = 'src="data:image/png;base64,{image}"'.format(image=image)
     else:
         image_src = 'style="display:none;"'
     css_additions = ''
@@ -581,18 +626,17 @@
             css_additions += plugin.get_display_css()
             js_additions += plugin.get_display_javascript()
             html_additions += plugin.get_display_html()
-    html = HTMLSRC % (
-        build_background_css(item, width),
-        css_additions,
-        build_footer_css(item, height),
-        build_lyrics_css(item),
-        'true' if theme_data and theme_data.display_slide_transition and is_live else 'false',
-        js_additions,
-        bgimage_src,
-        image_src,
-        html_additions
-    )
-    return html
+    return HTML_SRC.substitute(bg_css=build_background_css(item, width),
+                               css_additions=css_additions,
+                               footer_css=build_footer_css(item, height),
+                               lyrics_css=build_lyrics_css(item),
+                               transitions='true' if (theme_data and
+                                                      theme_data.display_slide_transition and
+                                                      is_live) else 'false',
+                               js_additions=js_additions,
+                               bg_image=bgimage_src,
+                               image=image_src,
+                               html_additions=html_additions)
 
 
 def webkit_version():
@@ -601,9 +645,9 @@
     """
     try:
         webkit_ver = float(QtWebKit.qWebKitVersion())
-        log.debug('Webkit version = %s' % webkit_ver)
+        log.debug('Webkit version = {version}'.format(version=webkit_ver))
     except AttributeError:
-        webkit_ver = 0
+        webkit_ver = 0.0
     return webkit_ver
 
 
@@ -621,23 +665,25 @@
         if theme.background_type == BackgroundType.to_string(BackgroundType.Transparent):
             background = ''
         elif theme.background_type == BackgroundType.to_string(BackgroundType.Solid):
-            background = 'background-color: %s' % theme.background_color
+            background = 'background-color: {theme}'.format(theme=theme.background_color)
         else:
             if theme.background_direction == BackgroundGradientType.to_string(BackgroundGradientType.Horizontal):
-                background = 'background: -webkit-gradient(linear, left top, left bottom, from(%s), to(%s)) fixed' \
-                    % (theme.background_start_color, theme.background_end_color)
+                background = 'background: -webkit-gradient(linear, left top, left bottom, from({start}), to({end})) ' \
+                    'fixed'.format(start=theme.background_start_color, end=theme.background_end_color)
             elif theme.background_direction == BackgroundGradientType.to_string(BackgroundGradientType.LeftTop):
-                background = 'background: -webkit-gradient(linear, left top, right bottom, from(%s), to(%s)) fixed' \
-                    % (theme.background_start_color, theme.background_end_color)
+                background = 'background: -webkit-gradient(linear, left top, right bottom, from({start}), to({end})) ' \
+                    'fixed'.format(start=theme.background_start_color, end=theme.background_end_color)
             elif theme.background_direction == BackgroundGradientType.to_string(BackgroundGradientType.LeftBottom):
-                background = 'background: -webkit-gradient(linear, left bottom, right top, from(%s), to(%s)) fixed' \
-                    % (theme.background_start_color, theme.background_end_color)
+                background = 'background: -webkit-gradient(linear, left bottom, right top, from({start}), to({end})) ' \
+                    'fixed'.format(start=theme.background_start_color, end=theme.background_end_color)
             elif theme.background_direction == BackgroundGradientType.to_string(BackgroundGradientType.Vertical):
-                background = 'background: -webkit-gradient(linear, left top, right top, from(%s), to(%s)) fixed' % \
-                    (theme.background_start_color, theme.background_end_color)
+                background = 'background: -webkit-gradient(linear, left top, right top, from({start}), to({end})) ' \
+                    'fixed'.format(start=theme.background_start_color, end=theme.background_end_color)
             else:
-                background = 'background: -webkit-gradient(radial, %s 50%%, 100, %s 50%%, %s, from(%s), to(%s)) fixed'\
-                    % (width, width, width, theme.background_start_color, theme.background_end_color)
+                background = 'background: -webkit-gradient(radial, {width} 50%, 100, {width} 50%, {width}, ' \
+                    'from({start}), to({end})) fixed'.format(width=width,
+                                                             start=theme.background_start_color,
+                                                             end=theme.background_end_color)
     return background
 
 
@@ -647,36 +693,19 @@
 
     :param item: Service Item containing theme and location information
     """
-    style = """
-.lyricstable {
-    z-index: 5;
-    position: absolute;
-    display: table;
-    %s
-}
-.lyricscell {
-    display: table-cell;
-    word-wrap: break-word;
-    -webkit-transition: opacity 0.4s ease;
-    %s
-}
-.lyricsmain {
-    %s
-}
-"""
     theme_data = item.theme_data
     lyricstable = ''
     lyrics = ''
     lyricsmain = ''
     if theme_data and item.main:
-        lyricstable = 'left: %spx; top: %spx;' % (item.main.x(), item.main.y())
+        lyricstable = 'left: {left}px; top: {top}px;'.format(left=item.main.x(), top=item.main.y())
         lyrics = build_lyrics_format_css(theme_data, item.main.width(), item.main.height())
         lyricsmain += build_lyrics_outline_css(theme_data)
         if theme_data.font_main_shadow:
-            lyricsmain += ' text-shadow: %s %spx %spx;' % \
-                (theme_data.font_main_shadow_color, theme_data.font_main_shadow_size, theme_data.font_main_shadow_size)
-    lyrics_css = style % (lyricstable, lyrics, lyricsmain)
-    return lyrics_css
+            lyricsmain += ' text-shadow: {theme} {shadow}px ' \
+                '{shadow}px;'.format(theme=theme_data.font_main_shadow_color,
+                                     shadow=theme_data.font_main_shadow_size)
+    return LYRICS_SRC.substitute(stable=lyricstable, lyrics=lyrics, main=lyricsmain)
 
 
 def build_lyrics_outline_css(theme_data):
@@ -689,7 +718,9 @@
         size = float(theme_data.font_main_outline_size) / 16
         fill_color = theme_data.font_main_color
         outline_color = theme_data.font_main_outline_color
-        return ' -webkit-text-stroke: %sem %s; -webkit-text-fill-color: %s; ' % (size, outline_color, fill_color)
+        return ' -webkit-text-stroke: {size}em {color}; -webkit-text-fill-color: {fill}; '.format(size=size,
+                                                                                                  color=outline_color,
+                                                                                                  fill=fill_color)
     return ''
 
 
@@ -703,30 +734,23 @@
     """
     align = HorizontalType.Names[theme_data.display_horizontal_align]
     valign = VerticalType.Names[theme_data.display_vertical_align]
-    if theme_data.font_main_outline:
-        left_margin = int(theme_data.font_main_outline_size) * 2
-    else:
-        left_margin = 0
-    justify = 'white-space:pre-wrap;'
+    left_margin = (int(theme_data.font_main_outline_size) * 2) if theme_data.font_main_outline else 0
     # fix tag incompatibilities
-    if theme_data.display_horizontal_align == HorizontalType.Justify:
-        justify = ''
-    if theme_data.display_vertical_align == VerticalType.Bottom:
-        padding_bottom = '0.5em'
-    else:
-        padding_bottom = '0'
-    lyrics = '%s word-wrap: break-word; ' \
-             'text-align: %s; vertical-align: %s; font-family: %s; ' \
-             'font-size: %spt; color: %s; line-height: %d%%; margin: 0;' \
-             'padding: 0; padding-bottom: %s; padding-left: %spx; width: %spx; height: %spx; ' % \
-        (justify, align, valign, theme_data.font_main_name, theme_data.font_main_size,
-         theme_data.font_main_color, 100 + int(theme_data.font_main_line_adjustment), padding_bottom,
-         left_margin, width, height)
-    if theme_data.font_main_italics:
-        lyrics += 'font-style:italic; '
-    if theme_data.font_main_bold:
-        lyrics += 'font-weight:bold; '
-    return lyrics
+    justify = '' if (theme_data.display_horizontal_align == HorizontalType.Justify) else '    white-space: pre-wrap;\n'
+    padding_bottom = '0.5em' if (theme_data.display_vertical_align == VerticalType.Bottom) else '0'
+    return LYRICS_FORMAT_SRC.substitute(justify=justify,
+                                        align=align,
+                                        valign=valign,
+                                        font=theme_data.font_main_name,
+                                        size=theme_data.font_main_size,
+                                        color=theme_data.font_main_color,
+                                        line='{line:d}'.format(line=100 + int(theme_data.font_main_line_adjustment)),
+                                        bottom=padding_bottom,
+                                        left=left_margin,
+                                        width=width,
+                                        height=height,
+                                        font_style='\n    font-style: italic;' if theme_data.font_main_italics else '',
+                                        font_weight='\n    font-weight: bold;' if theme_data.font_main_bold else '')
 
 
 def build_footer_css(item, height):
@@ -736,21 +760,11 @@
     :param item: Service Item to be processed.
     :param height:
     """
-    style = """
-    left: %spx;
-    bottom: %spx;
-    width: %spx;
-    font-family: %s;
-    font-size: %spt;
-    color: %s;
-    text-align: left;
-    white-space: %s;
-    """
     theme = item.theme_data
     if not theme or not item.footer:
         return ''
     bottom = height - int(item.footer.y()) - int(item.footer.height())
     whitespace = 'normal' if Settings().value('themes/wrap footer') else 'nowrap'
-    lyrics_html = style % (item.footer.x(), bottom, item.footer.width(),
-                           theme.font_footer_name, theme.font_footer_size, theme.font_footer_color, whitespace)
-    return lyrics_html
+    return FOOTER_SRC.substitute(left=item.footer.x(), bottom=bottom, width=item.footer.width(),
+                                 family=theme.font_footer_name, size=theme.font_footer_size,
+                                 color=theme.font_footer_color, space=whitespace)

=== modified file 'openlp/core/lib/imagemanager.py'
--- openlp/core/lib/imagemanager.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/imagemanager.py	2017-01-08 22:05:36 +0000
@@ -236,7 +236,7 @@
         """
         Return the ``QImage`` from the cache. If not present wait for the background thread to process it.
         """
-        log.debug('getImage %s' % path)
+        log.debug('getImage {path}'.format(path=path))
         image = self._cache[(path, source, width, height)]
         if image.image is None:
             self._conversion_queue.modify_priority(image, Priority.High)
@@ -256,7 +256,7 @@
         """
         Returns the byte string for an image. If not present wait for the background thread to process it.
         """
-        log.debug('get_image_bytes %s' % path)
+        log.debug('get_image_bytes {path}'.format(path=path))
         image = self._cache[(path, source, width, height)]
         if image.image_bytes is None:
             self._conversion_queue.modify_priority(image, Priority.Urgent)
@@ -271,8 +271,8 @@
         """
         Add image to cache if it is not already there.
         """
-        log.debug('add_image %s' % path)
-        if not (path, source, width, height) in self._cache:
+        log.debug('add_image {path}'.format(path=path))
+        if (path, source, width, height) not in self._cache:
             image = Image(path, source, background, width, height)
             self._cache[(path, source, width, height)] = image
             self._conversion_queue.put((image.priority, image.secondary_priority, image))

=== renamed file 'openlp/core/lib/listwidgetwithdnd.py' => 'openlp/core/lib/listwidgetwithdnd.py.THIS'
=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/mediamanageritem.py	2017-01-08 22:05:36 +0000
@@ -29,10 +29,11 @@
 from PyQt5 import QtCore, QtGui, QtWidgets
 
 from openlp.core.common import Registry, RegistryProperties, Settings, UiStrings, translate
-from openlp.core.lib import FileDialog, OpenLPToolbar, ServiceItem, StringContent, ListWidgetWithDnD, \
-    ServiceItemContext
+from openlp.core.lib import FileDialog, ServiceItem, StringContent, ServiceItemContext
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import create_widget_action, critical_error_message_box
+from openlp.core.ui.lib.listwidgetwithdnd import ListWidgetWithDnD
+from openlp.core.ui.lib.toolbar import OpenLPToolbar
 
 log = logging.getLogger(__name__)
 
@@ -185,7 +186,7 @@
         for action in toolbar_actions:
             if action[0] == StringContent.Preview:
                 self.toolbar.addSeparator()
-            self.toolbar.add_toolbar_action('%s%sAction' % (self.plugin.name, action[0]),
+            self.toolbar.add_toolbar_action('{name}{action}Action'.format(name=self.plugin.name, action=action[0]),
                                             text=self.plugin.get_string(action[1])['title'], icon=action[2],
                                             tooltip=self.plugin.get_string(action[1])['tooltip'],
                                             triggers=action[3])
@@ -199,7 +200,7 @@
         self.list_view.setSpacing(1)
         self.list_view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
         self.list_view.setAlternatingRowColors(True)
-        self.list_view.setObjectName('%sListView' % self.plugin.name)
+        self.list_view.setObjectName('{name}ListView'.format(name=self.plugin.name))
         # Add to page_layout
         self.page_layout.addWidget(self.list_view)
         # define and add the context menu
@@ -211,19 +212,22 @@
                                  triggers=self.on_edit_click)
             create_widget_action(self.list_view, separator=True)
         create_widget_action(self.list_view,
-                             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Preview.title()),
+                             'listView{plugin}{preview}Item'.format(plugin=self.plugin.name.title(),
+                                                                    preview=StringContent.Preview.title()),
                              text=self.plugin.get_string(StringContent.Preview)['title'],
                              icon=':/general/general_preview.png',
                              can_shortcuts=True,
                              triggers=self.on_preview_click)
         create_widget_action(self.list_view,
-                             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Live.title()),
+                             'listView{plugin}{live}Item'.format(plugin=self.plugin.name.title(),
+                                                                 live=StringContent.Live.title()),
                              text=self.plugin.get_string(StringContent.Live)['title'],
                              icon=':/general/general_live.png',
                              can_shortcuts=True,
                              triggers=self.on_live_click)
         create_widget_action(self.list_view,
-                             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Service.title()),
+                             'listView{plugin}{service}Item'.format(plugin=self.plugin.name.title(),
+                                                                    service=StringContent.Service.title()),
                              can_shortcuts=True,
                              text=self.plugin.get_string(StringContent.Service)['title'],
                              icon=':/general/general_add.png',
@@ -231,7 +235,8 @@
         if self.has_delete_icon:
             create_widget_action(self.list_view, separator=True)
             create_widget_action(self.list_view,
-                                 'listView%s%sItem' % (self.plugin.name.title(), StringContent.Delete.title()),
+                                 'listView{plugin}{delete}Item'.format(plugin=self.plugin.name.title(),
+                                                                       delete=StringContent.Delete.title()),
                                  text=self.plugin.get_string(StringContent.Delete)['title'],
                                  icon=':/general/general_delete.png',
                                  can_shortcuts=True, triggers=self.on_delete_click)
@@ -261,7 +266,7 @@
         self.search_text_layout.setObjectName('search_text_layout')
         self.search_text_label = QtWidgets.QLabel(self.search_widget)
         self.search_text_label.setObjectName('search_text_label')
-        self.search_text_edit = SearchEdit(self.search_widget)
+        self.search_text_edit = SearchEdit(self.search_widget, self.settings_section)
         self.search_text_edit.setObjectName('search_text_edit')
         self.search_text_label.setBuddy(self.search_text_edit)
         self.search_text_layout.addRow(self.search_text_label, self.search_text_edit)
@@ -312,7 +317,7 @@
         files = FileDialog.getOpenFileNames(self, self.on_new_prompt,
                                             Settings().value(self.settings_section + '/last directory'),
                                             self.on_new_file_masks)
-        log.info('New files(s) %s' % files)
+        log.info('New files(s) {files}'.format(files=files))
         if files:
             self.application.set_busy_cursor()
             self.validate_and_load(files)
@@ -332,7 +337,8 @@
                 if not error_shown:
                     critical_error_message_box(translate('OpenLP.MediaManagerItem', 'Invalid File Type'),
                                                translate('OpenLP.MediaManagerItem',
-                                                         'Invalid File %s.\nSuffix not supported') % file_name)
+                                                         'Invalid File {name}.\n'
+                                                         'Suffix not supported').format(name=file_name))
                     error_shown = True
             else:
                 new_files.append(file_name)
@@ -374,7 +380,8 @@
             self.load_list(full_list, target_group)
             last_dir = os.path.split(files[0])[0]
             Settings().setValue(self.settings_section + '/last directory', last_dir)
-            Settings().setValue('%s/%s files' % (self.settings_section, self.settings_section), self.get_file_list())
+            Settings().setValue('{section}/{section} files'.format(section=self.settings_section),
+                                self.get_file_list())
         if duplicates_found:
             critical_error_message_box(UiStrings().Duplicate,
                                        translate('OpenLP.MediaManagerItem',
@@ -390,8 +397,6 @@
         # Decide if we have to show the context menu or not.
         if item is None:
             return
-        if not item.flags() & QtCore.Qt.ItemIsSelectable:
-            return
         self.menu.exec(self.list_view.mapToGlobal(point))
 
     def get_file_list(self):
@@ -481,6 +486,7 @@
                                                         'You must select one or more items to preview.'))
         else:
             log.debug('%s Preview requested' % self.plugin.name)
+            Registry().set_flag('has doubleclick added item to service', False)
             service_item = self.build_service_item()
             if service_item:
                 service_item.from_plugin = True
@@ -549,7 +555,7 @@
             # Is it possible to process multiple list items to generate
             # multiple service items?
             if self.single_service_item:
-                log.debug('%s Add requested', self.plugin.name)
+                log.debug('{plugin} Add requested'.format(plugin=self.plugin.name))
                 self.add_to_service(replace=self.remote_triggered)
             else:
                 items = self.list_view.selectedIndexes()
@@ -590,7 +596,7 @@
                                               translate('OpenLP.MediaManagerItem',
                                                         'You must select one or more items.'))
         else:
-            log.debug('%s Add requested', self.plugin.name)
+            log.debug('{plugin} Add requested'.format(plugin=self.plugin.name))
             service_item = self.service_manager.get_service_item()
             if not service_item:
                 QtWidgets.QMessageBox.information(self, UiStrings().NISs,
@@ -603,7 +609,8 @@
                 # Turn off the remote edit update message indicator
                 QtWidgets.QMessageBox.information(self, translate('OpenLP.MediaManagerItem', 'Invalid Service Item'),
                                                   translate('OpenLP.MediaManagerItem',
-                                                            'You must select a %s service item.') % self.title)
+                                                            'You must select a {title} '
+                                                            'service item.').format(title=self.title))
 
     def build_service_item(self, item=None, xml_version=False, remote=False, context=ServiceItemContext.Live):
         """
@@ -629,20 +636,6 @@
         """
         return item
 
-    def check_search_result(self):
-        """
-        Checks if the list_view is empty and adds a "No Search Results" item.
-        """
-        if self.list_view.count():
-            return
-        message = translate('OpenLP.MediaManagerItem', 'No Search Results')
-        item = QtWidgets.QListWidgetItem(message)
-        item.setFlags(QtCore.Qt.NoItemFlags)
-        font = QtGui.QFont()
-        font.setItalic(True)
-        item.setFont(font)
-        self.list_view.addItem(item)
-
     def _get_id_of_item_to_generate(self, item, remote_item):
         """
         Utility method to check items being submitted for slide generation.

=== modified file 'openlp/core/lib/plugin.py'
--- openlp/core/lib/plugin.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/plugin.py	2017-01-08 22:05:36 +0000
@@ -24,11 +24,10 @@
 """
 import logging
 
-
 from PyQt5 import QtCore
 
 from openlp.core.common import Registry, RegistryProperties, Settings, UiStrings
-from openlp.core.utils import get_application_version
+from openlp.core.common.versionchecker import get_application_version
 
 log = logging.getLogger(__name__)
 
@@ -131,7 +130,7 @@
         :param settings_tab_class: The class name of the plugin's settings tab.
         :param version: Defaults to *None*, which means that the same version number is used as OpenLP's version number.
         """
-        log.debug('Plugin %s initialised' % name)
+        log.debug('Plugin {plugin} initialised'.format(plugin=name))
         super(Plugin, self).__init__()
         self.name = name
         self.text_strings = {}
@@ -155,11 +154,11 @@
         # Append a setting for files in the mediamanager (note not all plugins
         # which have a mediamanager need this).
         if media_item_class is not None:
-            default_settings['%s/%s files' % (name, name)] = []
+            default_settings['{name}/{name} files'.format(name=name)] = []
         # Add settings to the dict of all settings.
         Settings.extend_default_settings(default_settings)
-        Registry().register_function('%s_add_service_item' % self.name, self.process_add_service_event)
-        Registry().register_function('%s_config_updated' % self.name, self.config_update)
+        Registry().register_function('{name}_add_service_item'.format(name=self.name), self.process_add_service_event)
+        Registry().register_function('{name}_config_updated'.format(name=self.name), self.config_update)
 
     def check_pre_conditions(self):
         """
@@ -257,7 +256,7 @@
         """
         Generic Drag and drop handler triggered from service_manager.
         """
-        log.debug('process_add_service_event event called for plugin %s' % self.name)
+        log.debug('process_add_service_event event called for plugin {name}'.format(name=self.name))
         if replace:
             self.media_item.on_add_edit_click()
         else:

=== modified file 'openlp/core/lib/pluginmanager.py'
--- openlp/core/lib/pluginmanager.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/pluginmanager.py	2017-01-08 22:05:36 +0000
@@ -23,7 +23,6 @@
 Provide plugin management
 """
 import os
-import sys
 import imp
 
 from openlp.core.lib import Plugin, PluginStatus
@@ -43,7 +42,7 @@
         super(PluginManager, self).__init__(parent)
         self.log_info('Plugin manager Initialising')
         self.base_path = os.path.abspath(AppLocation.get_directory(AppLocation.PluginsDir))
-        self.log_debug('Base path %s ' % self.base_path)
+        self.log_debug('Base path {path}'.format(path=self.base_path))
         self.plugins = []
         self.log_info('Plugin manager Initialised')
 
@@ -73,7 +72,7 @@
         """
         start_depth = len(os.path.abspath(self.base_path).split(os.sep))
         present_plugin_dir = os.path.join(self.base_path, 'presentations')
-        self.log_debug('finding plugins in %s at depth %d' % (self.base_path, start_depth))
+        self.log_debug('finding plugins in {path} at depth {depth:d}'.format(path=self.base_path, depth=start_depth))
         for root, dirs, files in os.walk(self.base_path):
             for name in files:
                 if name.endswith('.py') and not name.startswith('__'):
@@ -84,7 +83,9 @@
                         break
                     module_name = name[:-3]
                     # import the modules
-                    self.log_debug('Importing %s from %s. Depth %d' % (module_name, root, this_depth))
+                    self.log_debug('Importing {name} from {root}. Depth {depth:d}'.format(name=module_name,
+                                                                                          root=root,
+                                                                                          depth=this_depth))
                     try:
                         # Use the "imp" library to try to get around a problem with the PyUNO library which
                         # monkey-patches the __import__ function to do some magic. This causes issues with our tests.
@@ -93,21 +94,21 @@
                         # Then load the module (do the actual import) using the details from find_module()
                         imp.load_module(module_name, fp, path_name, description)
                     except ImportError as e:
-                        self.log_exception('Failed to import module %s on path %s: %s'
-                                           % (module_name, path, e.args[0]))
+                        self.log_exception('Failed to import module {name} on path {path}: '
+                                           '{args}'.format(name=module_name, path=path, args=e.args[0]))
         plugin_classes = Plugin.__subclasses__()
         plugin_objects = []
         for p in plugin_classes:
             try:
                 plugin = p()
-                self.log_debug('Loaded plugin %s' % str(p))
+                self.log_debug('Loaded plugin {plugin}'.format(plugin=str(p)))
                 plugin_objects.append(plugin)
             except TypeError:
-                self.log_exception('Failed to load plugin %s' % str(p))
+                self.log_exception('Failed to load plugin {plugin}'.format(plugin=str(p)))
         plugins_list = sorted(plugin_objects, key=lambda plugin: plugin.weight)
         for plugin in plugins_list:
             if plugin.check_pre_conditions():
-                self.log_debug('Plugin %s active' % str(plugin.name))
+                self.log_debug('Plugin {plugin} active'.format(plugin=str(plugin.name)))
                 plugin.set_status()
             else:
                 plugin.status = PluginStatus.Disabled
@@ -175,10 +176,11 @@
         Loop through all the plugins and give them an opportunity to initialise themselves.
         """
         for plugin in self.plugins:
-            self.log_info('initialising plugins %s in a %s state' % (plugin.name, plugin.is_active()))
+            self.log_info('initialising plugins {plugin} in a {state} state'.format(plugin=plugin.name,
+                                                                                    state=plugin.is_active()))
             if plugin.is_active():
                 plugin.initialise()
-                self.log_info('Initialisation Complete for %s ' % plugin.name)
+                self.log_info('Initialisation Complete for {plugin}'.format(plugin=plugin.name))
 
     def finalise_plugins(self):
         """
@@ -187,7 +189,7 @@
         for plugin in self.plugins:
             if plugin.is_active():
                 plugin.finalise()
-                self.log_info('Finalisation Complete for %s ' % plugin.name)
+                self.log_info('Finalisation Complete for {plugin}'.format(plugin=plugin.name))
 
     def get_plugin_by_name(self, name):
         """

=== modified file 'openlp/core/lib/projector/constants.py'
--- openlp/core/lib/projector/constants.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/projector/constants.py	2017-01-08 22:05:36 +0000
@@ -131,169 +131,181 @@
 S_NETWORK_SENDING = 400
 S_NETWORK_RECEIVED = 401
 
-CONNECTION_ERRORS = {E_NOT_CONNECTED, E_NO_AUTHENTICATION, E_AUTHENTICATION, E_CLASS,
-                     E_PREFIX, E_CONNECTION_REFUSED, E_REMOTE_HOST_CLOSED_CONNECTION,
-                     E_HOST_NOT_FOUND, E_SOCKET_ACCESS, E_SOCKET_RESOURCE, E_SOCKET_TIMEOUT,
-                     E_DATAGRAM_TOO_LARGE, E_NETWORK, E_ADDRESS_IN_USE, E_SOCKET_ADDRESS_NOT_AVAILABLE,
-                     E_UNSUPPORTED_SOCKET_OPERATION, E_PROXY_AUTHENTICATION_REQUIRED,
-                     E_SLS_HANDSHAKE_FAILED, E_UNFINISHED_SOCKET_OPERATION, E_PROXY_CONNECTION_REFUSED,
-                     E_PROXY_CONNECTION_CLOSED, E_PROXY_CONNECTION_TIMEOUT, E_PROXY_NOT_FOUND,
-                     E_PROXY_PROTOCOL, E_UNKNOWN_SOCKET_ERROR
-                     }
+CONNECTION_ERRORS = {
+    E_NOT_CONNECTED, E_NO_AUTHENTICATION, E_AUTHENTICATION, E_CLASS,
+    E_PREFIX, E_CONNECTION_REFUSED, E_REMOTE_HOST_CLOSED_CONNECTION,
+    E_HOST_NOT_FOUND, E_SOCKET_ACCESS, E_SOCKET_RESOURCE, E_SOCKET_TIMEOUT,
+    E_DATAGRAM_TOO_LARGE, E_NETWORK, E_ADDRESS_IN_USE, E_SOCKET_ADDRESS_NOT_AVAILABLE,
+    E_UNSUPPORTED_SOCKET_OPERATION, E_PROXY_AUTHENTICATION_REQUIRED,
+    E_SLS_HANDSHAKE_FAILED, E_UNFINISHED_SOCKET_OPERATION, E_PROXY_CONNECTION_REFUSED,
+    E_PROXY_CONNECTION_CLOSED, E_PROXY_CONNECTION_TIMEOUT, E_PROXY_NOT_FOUND,
+    E_PROXY_PROTOCOL, E_UNKNOWN_SOCKET_ERROR
+}
 
-PJLINK_ERRORS = {'ERRA': E_AUTHENTICATION,   # Authentication error
-                 'ERR1': E_UNDEFINED,        # Undefined command error
-                 'ERR2': E_PARAMETER,        # Invalid parameter error
-                 'ERR3': E_UNAVAILABLE,      # Projector busy
-                 'ERR4': E_PROJECTOR,        # Projector or display failure
-                 E_AUTHENTICATION: 'ERRA',
-                 E_UNDEFINED: 'ERR1',
-                 E_PARAMETER: 'ERR2',
-                 E_UNAVAILABLE: 'ERR3',
-                 E_PROJECTOR: 'ERR4'}
+PJLINK_ERRORS = {
+    'ERRA': E_AUTHENTICATION,   # Authentication error
+    'ERR1': E_UNDEFINED,        # Undefined command error
+    'ERR2': E_PARAMETER,        # Invalid parameter error
+    'ERR3': E_UNAVAILABLE,      # Projector busy
+    'ERR4': E_PROJECTOR,        # Projector or display failure
+    E_AUTHENTICATION: 'ERRA',
+    E_UNDEFINED: 'ERR1',
+    E_PARAMETER: 'ERR2',
+    E_UNAVAILABLE: 'ERR3',
+    E_PROJECTOR: 'ERR4'
+}
 
 # Map error/status codes to string
-ERROR_STRING = {0: 'S_OK',
-                E_GENERAL: 'E_GENERAL',
-                E_NOT_CONNECTED: 'E_NOT_CONNECTED',
-                E_FAN: 'E_FAN',
-                E_LAMP: 'E_LAMP',
-                E_TEMP: 'E_TEMP',
-                E_COVER: 'E_COVER',
-                E_FILTER: 'E_FILTER',
-                E_AUTHENTICATION: 'E_AUTHENTICATION',
-                E_NO_AUTHENTICATION: 'E_NO_AUTHENTICATION',
-                E_UNDEFINED: 'E_UNDEFINED',
-                E_PARAMETER: 'E_PARAMETER',
-                E_UNAVAILABLE: 'E_UNAVAILABLE',
-                E_PROJECTOR: 'E_PROJECTOR',
-                E_INVALID_DATA: 'E_INVALID_DATA',
-                E_WARN: 'E_WARN',
-                E_ERROR: 'E_ERROR',
-                E_CLASS: 'E_CLASS',
-                E_PREFIX: 'E_PREFIX',  # Last projector error
-                E_CONNECTION_REFUSED: 'E_CONNECTION_REFUSED',  # First QtSocket error
-                E_REMOTE_HOST_CLOSED_CONNECTION: 'E_REMOTE_HOST_CLOSED_CONNECTION',
-                E_HOST_NOT_FOUND: 'E_HOST_NOT_FOUND',
-                E_SOCKET_ACCESS: 'E_SOCKET_ACCESS',
-                E_SOCKET_RESOURCE: 'E_SOCKET_RESOURCE',
-                E_SOCKET_TIMEOUT: 'E_SOCKET_TIMEOUT',
-                E_DATAGRAM_TOO_LARGE: 'E_DATAGRAM_TOO_LARGE',
-                E_NETWORK: 'E_NETWORK',
-                E_ADDRESS_IN_USE: 'E_ADDRESS_IN_USE',
-                E_SOCKET_ADDRESS_NOT_AVAILABLE: 'E_SOCKET_ADDRESS_NOT_AVAILABLE',
-                E_UNSUPPORTED_SOCKET_OPERATION: 'E_UNSUPPORTED_SOCKET_OPERATION',
-                E_PROXY_AUTHENTICATION_REQUIRED: 'E_PROXY_AUTHENTICATION_REQUIRED',
-                E_SLS_HANDSHAKE_FAILED: 'E_SLS_HANDSHAKE_FAILED',
-                E_UNFINISHED_SOCKET_OPERATION: 'E_UNFINISHED_SOCKET_OPERATION',
-                E_PROXY_CONNECTION_REFUSED: 'E_PROXY_CONNECTION_REFUSED',
-                E_PROXY_CONNECTION_CLOSED: 'E_PROXY_CONNECTION_CLOSED',
-                E_PROXY_CONNECTION_TIMEOUT: 'E_PROXY_CONNECTION_TIMEOUT',
-                E_PROXY_NOT_FOUND: 'E_PROXY_NOT_FOUND',
-                E_PROXY_PROTOCOL: 'E_PROXY_PROTOCOL',
-                E_UNKNOWN_SOCKET_ERROR: 'E_UNKNOWN_SOCKET_ERROR'}
+ERROR_STRING = {
+    0: 'S_OK',
+    E_GENERAL: 'E_GENERAL',
+    E_NOT_CONNECTED: 'E_NOT_CONNECTED',
+    E_FAN: 'E_FAN',
+    E_LAMP: 'E_LAMP',
+    E_TEMP: 'E_TEMP',
+    E_COVER: 'E_COVER',
+    E_FILTER: 'E_FILTER',
+    E_AUTHENTICATION: 'E_AUTHENTICATION',
+    E_NO_AUTHENTICATION: 'E_NO_AUTHENTICATION',
+    E_UNDEFINED: 'E_UNDEFINED',
+    E_PARAMETER: 'E_PARAMETER',
+    E_UNAVAILABLE: 'E_UNAVAILABLE',
+    E_PROJECTOR: 'E_PROJECTOR',
+    E_INVALID_DATA: 'E_INVALID_DATA',
+    E_WARN: 'E_WARN',
+    E_ERROR: 'E_ERROR',
+    E_CLASS: 'E_CLASS',
+    E_PREFIX: 'E_PREFIX',  # Last projector error
+    E_CONNECTION_REFUSED: 'E_CONNECTION_REFUSED',  # First QtSocket error
+    E_REMOTE_HOST_CLOSED_CONNECTION: 'E_REMOTE_HOST_CLOSED_CONNECTION',
+    E_HOST_NOT_FOUND: 'E_HOST_NOT_FOUND',
+    E_SOCKET_ACCESS: 'E_SOCKET_ACCESS',
+    E_SOCKET_RESOURCE: 'E_SOCKET_RESOURCE',
+    E_SOCKET_TIMEOUT: 'E_SOCKET_TIMEOUT',
+    E_DATAGRAM_TOO_LARGE: 'E_DATAGRAM_TOO_LARGE',
+    E_NETWORK: 'E_NETWORK',
+    E_ADDRESS_IN_USE: 'E_ADDRESS_IN_USE',
+    E_SOCKET_ADDRESS_NOT_AVAILABLE: 'E_SOCKET_ADDRESS_NOT_AVAILABLE',
+    E_UNSUPPORTED_SOCKET_OPERATION: 'E_UNSUPPORTED_SOCKET_OPERATION',
+    E_PROXY_AUTHENTICATION_REQUIRED: 'E_PROXY_AUTHENTICATION_REQUIRED',
+    E_SLS_HANDSHAKE_FAILED: 'E_SLS_HANDSHAKE_FAILED',
+    E_UNFINISHED_SOCKET_OPERATION: 'E_UNFINISHED_SOCKET_OPERATION',
+    E_PROXY_CONNECTION_REFUSED: 'E_PROXY_CONNECTION_REFUSED',
+    E_PROXY_CONNECTION_CLOSED: 'E_PROXY_CONNECTION_CLOSED',
+    E_PROXY_CONNECTION_TIMEOUT: 'E_PROXY_CONNECTION_TIMEOUT',
+    E_PROXY_NOT_FOUND: 'E_PROXY_NOT_FOUND',
+    E_PROXY_PROTOCOL: 'E_PROXY_PROTOCOL',
+    E_UNKNOWN_SOCKET_ERROR: 'E_UNKNOWN_SOCKET_ERROR'
+}
 
-STATUS_STRING = {S_NOT_CONNECTED: 'S_NOT_CONNECTED',
-                 S_CONNECTING: 'S_CONNECTING',
-                 S_CONNECTED: 'S_CONNECTED',
-                 S_STATUS: 'S_STATUS',
-                 S_OFF: 'S_OFF',
-                 S_INITIALIZE: 'S_INITIALIZE',
-                 S_STANDBY: 'S_STANDBY',
-                 S_WARMUP: 'S_WARMUP',
-                 S_ON: 'S_ON',
-                 S_COOLDOWN: 'S_COOLDOWN',
-                 S_INFO: 'S_INFO',
-                 S_NETWORK_SENDING: 'S_NETWORK_SENDING',
-                 S_NETWORK_RECEIVED: 'S_NETWORK_RECEIVED'}
+STATUS_STRING = {
+    S_NOT_CONNECTED: 'S_NOT_CONNECTED',
+    S_CONNECTING: 'S_CONNECTING',
+    S_CONNECTED: 'S_CONNECTED',
+    S_STATUS: 'S_STATUS',
+    S_OFF: 'S_OFF',
+    S_INITIALIZE: 'S_INITIALIZE',
+    S_STANDBY: 'S_STANDBY',
+    S_WARMUP: 'S_WARMUP',
+    S_ON: 'S_ON',
+    S_COOLDOWN: 'S_COOLDOWN',
+    S_INFO: 'S_INFO',
+    S_NETWORK_SENDING: 'S_NETWORK_SENDING',
+    S_NETWORK_RECEIVED: 'S_NETWORK_RECEIVED'
+}
 
 # Map error/status codes to message strings
-ERROR_MSG = {E_OK: translate('OpenLP.ProjectorConstants', 'OK'),  # E_OK | S_OK
-             E_GENERAL: translate('OpenLP.ProjectorConstants', 'General projector error'),
-             E_NOT_CONNECTED: translate('OpenLP.ProjectorConstants', 'Not connected error'),
-             E_LAMP: translate('OpenLP.ProjectorConstants', 'Lamp error'),
-             E_FAN: translate('OpenLP.ProjectorConstants', 'Fan error'),
-             E_TEMP: translate('OpenLP.ProjectorConstants', 'High temperature detected'),
-             E_COVER: translate('OpenLP.ProjectorConstants', 'Cover open detected'),
-             E_FILTER: translate('OpenLP.ProjectorConstants', 'Check filter'),
-             E_AUTHENTICATION: translate('OpenLP.ProjectorConstants', 'Authentication Error'),
-             E_UNDEFINED: translate('OpenLP.ProjectorConstants', 'Undefined Command'),
-             E_PARAMETER: translate('OpenLP.ProjectorConstants', 'Invalid Parameter'),
-             E_UNAVAILABLE: translate('OpenLP.ProjectorConstants', 'Projector Busy'),
-             E_PROJECTOR: translate('OpenLP.ProjectorConstants', 'Projector/Display Error'),
-             E_INVALID_DATA: translate('OpenLP.ProjectorConstants', 'Invalid packet received'),
-             E_WARN: translate('OpenLP.ProjectorConstants', 'Warning condition detected'),
-             E_ERROR: translate('OpenLP.ProjectorConstants', 'Error condition detected'),
-             E_CLASS: translate('OpenLP.ProjectorConstants', 'PJLink class not supported'),
-             E_PREFIX: translate('OpenLP.ProjectorConstants', 'Invalid prefix character'),
-             E_CONNECTION_REFUSED: translate('OpenLP.ProjectorConstants',
-                                             'The connection was refused by the peer (or timed out)'),
-             E_REMOTE_HOST_CLOSED_CONNECTION: translate('OpenLP.ProjectorConstants',
-                                                        'The remote host closed the connection'),
-             E_HOST_NOT_FOUND: translate('OpenLP.ProjectorConstants', 'The host address was not found'),
-             E_SOCKET_ACCESS: translate('OpenLP.ProjectorConstants',
-                                        'The socket operation failed because the application '
-                                        'lacked the required privileges'),
-             E_SOCKET_RESOURCE: translate('OpenLP.ProjectorConstants',
-                                          'The local system ran out of resources (e.g., too many sockets)'),
-             E_SOCKET_TIMEOUT: translate('OpenLP.ProjectorConstants',
-                                         'The socket operation timed out'),
-             E_DATAGRAM_TOO_LARGE: translate('OpenLP.ProjectorConstants',
-                                             'The datagram was larger than the operating system\'s limit'),
-             E_NETWORK: translate('OpenLP.ProjectorConstants',
-                                  'An error occurred with the network (Possibly someone pulled the plug?)'),
-             E_ADDRESS_IN_USE: translate('OpenLP.ProjectorConstants',
-                                         'The address specified with socket.bind() '
-                                         'is already in use and was set to be exclusive'),
-             E_SOCKET_ADDRESS_NOT_AVAILABLE: translate('OpenLP.ProjectorConstants',
-                                                       'The address specified to socket.bind() '
-                                                       'does not belong to the host'),
-             E_UNSUPPORTED_SOCKET_OPERATION: translate('OpenLP.ProjectorConstants',
-                                                       'The requested socket operation is not supported by the local '
-                                                       'operating system (e.g., lack of IPv6 support)'),
-             E_PROXY_AUTHENTICATION_REQUIRED: translate('OpenLP.ProjectorConstants',
-                                                        'The socket is using a proxy, '
-                                                        'and the proxy requires authentication'),
-             E_SLS_HANDSHAKE_FAILED: translate('OpenLP.ProjectorConstants',
-                                               'The SSL/TLS handshake failed'),
-             E_UNFINISHED_SOCKET_OPERATION: translate('OpenLP.ProjectorConstants',
-                                                      'The last operation attempted has not finished yet '
-                                                      '(still in progress in the background)'),
-             E_PROXY_CONNECTION_REFUSED: translate('OpenLP.ProjectorConstants',
-                                                   'Could not contact the proxy server because the connection '
-                                                   'to that server was denied'),
-             E_PROXY_CONNECTION_CLOSED: translate('OpenLP.ProjectorConstants',
-                                                  'The connection to the proxy server was closed unexpectedly '
-                                                  '(before the connection to the final peer was established)'),
-             E_PROXY_CONNECTION_TIMEOUT: translate('OpenLP.ProjectorConstants',
-                                                   'The connection to the proxy server timed out or the proxy '
-                                                   'server stopped responding in the authentication phase.'),
-             E_PROXY_NOT_FOUND: translate('OpenLP.ProjectorConstants',
-                                          'The proxy address set with setProxy() was not found'),
-             E_PROXY_PROTOCOL: translate('OpenLP.ProjectorConstants',
-                                         'The connection negotiation with the proxy server failed because the '
-                                         'response from the proxy server could not be understood'),
-             E_UNKNOWN_SOCKET_ERROR: translate('OpenLP.ProjectorConstants', 'An unidentified error occurred'),
-             S_NOT_CONNECTED: translate('OpenLP.ProjectorConstants', 'Not connected'),
-             S_CONNECTING: translate('OpenLP.ProjectorConstants', 'Connecting'),
-             S_CONNECTED: translate('OpenLP.ProjectorConstants', 'Connected'),
-             S_STATUS: translate('OpenLP.ProjectorConstants', 'Getting status'),
-             S_OFF: translate('OpenLP.ProjectorConstants', 'Off'),
-             S_INITIALIZE: translate('OpenLP.ProjectorConstants', 'Initialize in progress'),
-             S_STANDBY: translate('OpenLP.ProjectorConstants', 'Power in standby'),
-             S_WARMUP: translate('OpenLP.ProjectorConstants', 'Warmup in progress'),
-             S_ON: translate('OpenLP.ProjectorConstants', 'Power is on'),
-             S_COOLDOWN: translate('OpenLP.ProjectorConstants', 'Cooldown in progress'),
-             S_INFO: translate('OpenLP.ProjectorConstants', 'Projector Information available'),
-             S_NETWORK_SENDING: translate('OpenLP.ProjectorConstants', 'Sending data'),
-             S_NETWORK_RECEIVED: translate('OpenLP.ProjectorConstants', 'Received data')}
+ERROR_MSG = {
+    E_OK: translate('OpenLP.ProjectorConstants', 'OK'),  # E_OK | S_OK
+    E_GENERAL: translate('OpenLP.ProjectorConstants', 'General projector error'),
+    E_NOT_CONNECTED: translate('OpenLP.ProjectorConstants', 'Not connected error'),
+    E_LAMP: translate('OpenLP.ProjectorConstants', 'Lamp error'),
+    E_FAN: translate('OpenLP.ProjectorConstants', 'Fan error'),
+    E_TEMP: translate('OpenLP.ProjectorConstants', 'High temperature detected'),
+    E_COVER: translate('OpenLP.ProjectorConstants', 'Cover open detected'),
+    E_FILTER: translate('OpenLP.ProjectorConstants', 'Check filter'),
+    E_AUTHENTICATION: translate('OpenLP.ProjectorConstants', 'Authentication Error'),
+    E_UNDEFINED: translate('OpenLP.ProjectorConstants', 'Undefined Command'),
+    E_PARAMETER: translate('OpenLP.ProjectorConstants', 'Invalid Parameter'),
+    E_UNAVAILABLE: translate('OpenLP.ProjectorConstants', 'Projector Busy'),
+    E_PROJECTOR: translate('OpenLP.ProjectorConstants', 'Projector/Display Error'),
+    E_INVALID_DATA: translate('OpenLP.ProjectorConstants', 'Invalid packet received'),
+    E_WARN: translate('OpenLP.ProjectorConstants', 'Warning condition detected'),
+    E_ERROR: translate('OpenLP.ProjectorConstants', 'Error condition detected'),
+    E_CLASS: translate('OpenLP.ProjectorConstants', 'PJLink class not supported'),
+    E_PREFIX: translate('OpenLP.ProjectorConstants', 'Invalid prefix character'),
+    E_CONNECTION_REFUSED: translate('OpenLP.ProjectorConstants',
+                                    'The connection was refused by the peer (or timed out)'),
+    E_REMOTE_HOST_CLOSED_CONNECTION: translate('OpenLP.ProjectorConstants',
+                                               'The remote host closed the connection'),
+    E_HOST_NOT_FOUND: translate('OpenLP.ProjectorConstants', 'The host address was not found'),
+    E_SOCKET_ACCESS: translate('OpenLP.ProjectorConstants',
+                               'The socket operation failed because the application '
+                               'lacked the required privileges'),
+    E_SOCKET_RESOURCE: translate('OpenLP.ProjectorConstants',
+                                 'The local system ran out of resources (e.g., too many sockets)'),
+    E_SOCKET_TIMEOUT: translate('OpenLP.ProjectorConstants',
+                                'The socket operation timed out'),
+    E_DATAGRAM_TOO_LARGE: translate('OpenLP.ProjectorConstants',
+                                    'The datagram was larger than the operating system\'s limit'),
+    E_NETWORK: translate('OpenLP.ProjectorConstants',
+                         'An error occurred with the network (Possibly someone pulled the plug?)'),
+    E_ADDRESS_IN_USE: translate('OpenLP.ProjectorConstants',
+                                'The address specified with socket.bind() '
+                                'is already in use and was set to be exclusive'),
+    E_SOCKET_ADDRESS_NOT_AVAILABLE: translate('OpenLP.ProjectorConstants',
+                                              'The address specified to socket.bind() '
+                                              'does not belong to the host'),
+    E_UNSUPPORTED_SOCKET_OPERATION: translate('OpenLP.ProjectorConstants',
+                                              'The requested socket operation is not supported by the local '
+                                              'operating system (e.g., lack of IPv6 support)'),
+    E_PROXY_AUTHENTICATION_REQUIRED: translate('OpenLP.ProjectorConstants',
+                                               'The socket is using a proxy, '
+                                               'and the proxy requires authentication'),
+    E_SLS_HANDSHAKE_FAILED: translate('OpenLP.ProjectorConstants',
+                                      'The SSL/TLS handshake failed'),
+    E_UNFINISHED_SOCKET_OPERATION: translate('OpenLP.ProjectorConstants',
+                                             'The last operation attempted has not finished yet '
+                                             '(still in progress in the background)'),
+    E_PROXY_CONNECTION_REFUSED: translate('OpenLP.ProjectorConstants',
+                                          'Could not contact the proxy server because the connection '
+                                          'to that server was denied'),
+    E_PROXY_CONNECTION_CLOSED: translate('OpenLP.ProjectorConstants',
+                                         'The connection to the proxy server was closed unexpectedly '
+                                         '(before the connection to the final peer was established)'),
+    E_PROXY_CONNECTION_TIMEOUT: translate('OpenLP.ProjectorConstants',
+                                          'The connection to the proxy server timed out or the proxy '
+                                          'server stopped responding in the authentication phase.'),
+    E_PROXY_NOT_FOUND: translate('OpenLP.ProjectorConstants',
+                                 'The proxy address set with setProxy() was not found'),
+    E_PROXY_PROTOCOL: translate('OpenLP.ProjectorConstants',
+                                'The connection negotiation with the proxy server failed because the '
+                                'response from the proxy server could not be understood'),
+    E_UNKNOWN_SOCKET_ERROR: translate('OpenLP.ProjectorConstants', 'An unidentified error occurred'),
+    S_NOT_CONNECTED: translate('OpenLP.ProjectorConstants', 'Not connected'),
+    S_CONNECTING: translate('OpenLP.ProjectorConstants', 'Connecting'),
+    S_CONNECTED: translate('OpenLP.ProjectorConstants', 'Connected'),
+    S_STATUS: translate('OpenLP.ProjectorConstants', 'Getting status'),
+    S_OFF: translate('OpenLP.ProjectorConstants', 'Off'),
+    S_INITIALIZE: translate('OpenLP.ProjectorConstants', 'Initialize in progress'),
+    S_STANDBY: translate('OpenLP.ProjectorConstants', 'Power in standby'),
+    S_WARMUP: translate('OpenLP.ProjectorConstants', 'Warmup in progress'),
+    S_ON: translate('OpenLP.ProjectorConstants', 'Power is on'),
+    S_COOLDOWN: translate('OpenLP.ProjectorConstants', 'Cooldown in progress'),
+    S_INFO: translate('OpenLP.ProjectorConstants', 'Projector Information available'),
+    S_NETWORK_SENDING: translate('OpenLP.ProjectorConstants', 'Sending data'),
+    S_NETWORK_RECEIVED: translate('OpenLP.ProjectorConstants', 'Received data')
+}
 
 # Map for ERST return codes to string
-PJLINK_ERST_STATUS = {'0': ERROR_STRING[E_OK],
-                      '1': ERROR_STRING[E_WARN],
-                      '2': ERROR_STRING[E_ERROR]}
+PJLINK_ERST_STATUS = {
+    '0': ERROR_STRING[E_OK],
+    '1': ERROR_STRING[E_WARN],
+    '2': ERROR_STRING[E_ERROR]
+}
 
 # Map for POWR return codes to status code
+<<<<<<< TREE
 PJLINK_POWR_STATUS = {'0': S_STANDBY,
                       '1': S_ON,
                       '2': S_COOLDOWN,
@@ -355,3 +367,71 @@
                         '58': translate('OpenLP.DB', 'Network 8'),
                         '59': translate('OpenLP.DB', 'Network 9')
                         }
+=======
+PJLINK_POWR_STATUS = {
+    '0': S_STANDBY,
+    '1': S_ON,
+    '2': S_COOLDOWN,
+    '3': S_WARMUP,
+    S_STANDBY: '0',
+    S_ON: '1',
+    S_COOLDOWN: '2',
+    S_WARMUP: '3'
+}
+
+PJLINK_DEFAULT_SOURCES = {
+    '1': translate('OpenLP.DB', 'RGB'),
+    '2': translate('OpenLP.DB', 'Video'),
+    '3': translate('OpenLP.DB', 'Digital'),
+    '4': translate('OpenLP.DB', 'Storage'),
+    '5': translate('OpenLP.DB', 'Network')
+}
+
+PJLINK_DEFAULT_CODES = {
+    '11': translate('OpenLP.DB', 'RGB 1'),
+    '12': translate('OpenLP.DB', 'RGB 2'),
+    '13': translate('OpenLP.DB', 'RGB 3'),
+    '14': translate('OpenLP.DB', 'RGB 4'),
+    '15': translate('OpenLP.DB', 'RGB 5'),
+    '16': translate('OpenLP.DB', 'RGB 6'),
+    '17': translate('OpenLP.DB', 'RGB 7'),
+    '18': translate('OpenLP.DB', 'RGB 8'),
+    '19': translate('OpenLP.DB', 'RGB 9'),
+    '21': translate('OpenLP.DB', 'Video 1'),
+    '22': translate('OpenLP.DB', 'Video 2'),
+    '23': translate('OpenLP.DB', 'Video 3'),
+    '24': translate('OpenLP.DB', 'Video 4'),
+    '25': translate('OpenLP.DB', 'Video 5'),
+    '26': translate('OpenLP.DB', 'Video 6'),
+    '27': translate('OpenLP.DB', 'Video 7'),
+    '28': translate('OpenLP.DB', 'Video 8'),
+    '29': translate('OpenLP.DB', 'Video 9'),
+    '31': translate('OpenLP.DB', 'Digital 1'),
+    '32': translate('OpenLP.DB', 'Digital 2'),
+    '33': translate('OpenLP.DB', 'Digital 3'),
+    '34': translate('OpenLP.DB', 'Digital 4'),
+    '35': translate('OpenLP.DB', 'Digital 5'),
+    '36': translate('OpenLP.DB', 'Digital 6'),
+    '37': translate('OpenLP.DB', 'Digital 7'),
+    '38': translate('OpenLP.DB', 'Digital 8'),
+    '39': translate('OpenLP.DB', 'Digital 9'),
+    '41': translate('OpenLP.DB', 'Storage 1'),
+    '42': translate('OpenLP.DB', 'Storage 2'),
+    '43': translate('OpenLP.DB', 'Storage 3'),
+    '44': translate('OpenLP.DB', 'Storage 4'),
+    '45': translate('OpenLP.DB', 'Storage 5'),
+    '46': translate('OpenLP.DB', 'Storage 6'),
+    '47': translate('OpenLP.DB', 'Storage 7'),
+    '48': translate('OpenLP.DB', 'Storage 8'),
+    '49': translate('OpenLP.DB', 'Storage 9'),
+    '51': translate('OpenLP.DB', 'Network 1'),
+    '52': translate('OpenLP.DB', 'Network 2'),
+    '53': translate('OpenLP.DB', 'Network 3'),
+    '54': translate('OpenLP.DB', 'Network 4'),
+    '55': translate('OpenLP.DB', 'Network 5'),
+    '56': translate('OpenLP.DB', 'Network 6'),
+    '57': translate('OpenLP.DB', 'Network 7'),
+    '58': translate('OpenLP.DB', 'Network 8'),
+    '59': translate('OpenLP.DB', 'Network 9')
+}
+>>>>>>> MERGE-SOURCE

=== modified file 'openlp/core/lib/projector/db.py'
--- openlp/core/lib/projector/db.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/projector/db.py	2017-01-08 22:05:36 +0000
@@ -40,13 +40,12 @@
 
 from sqlalchemy import Column, ForeignKey, Integer, MetaData, String, and_
 from sqlalchemy.ext.declarative import declarative_base, declared_attr
-from sqlalchemy.orm import backref, relationship
+from sqlalchemy.orm import relationship
 
 from openlp.core.lib.db import Manager, init_db, init_url
 from openlp.core.lib.projector.constants import PJLINK_DEFAULT_CODES
 
-metadata = MetaData()
-Base = declarative_base(metadata)
+Base = declarative_base(MetaData())
 
 
 class CommonBase(object):
@@ -54,8 +53,8 @@
     Base class to automate table name and ID column.
     """
     @declared_attr
-    def __tablename__(cls):
-        return cls.__name__.lower()
+    def __tablename__(self):
+        return self.__name__.lower()
 
     id = Column(Integer, primary_key=True)
 
@@ -74,7 +73,7 @@
         """
         Returns a basic representation of a Manufacturer table entry.
         """
-        return '<Manufacturer(name="%s")>' % self.name
+        return '<Manufacturer(name="{name}")>'.format(name=self.name)
 
     name = Column(String(30))
     models = relationship('Model',
@@ -101,7 +100,7 @@
         """
         Returns a basic representation of a Model table entry.
         """
-        return '<Model(name=%s)>' % self.name
+        return '<Model(name={name})>'.format(name=self.name)
 
     manufacturer_id = Column(Integer, ForeignKey('manufacturer.id'))
     name = Column(String(20))
@@ -131,8 +130,9 @@
         """
         Return basic representation of Source table entry.
         """
-        return '<Source(pjlink_name="%s", pjlink_code="%s", text="%s")>' % \
-            (self.pjlink_name, self.pjlink_code, self.text)
+        return '<Source(pjlink_name="{name}", pjlink_code="{code}", text="{text}")>'.format(name=self.pjlink_name,
+                                                                                            code=self.pjlink_code,
+                                                                                            text=self.text)
     model_id = Column(Integer, ForeignKey('model.id'))
     pjlink_name = Column(String(15))
     pjlink_code = Column(String(2))
@@ -162,11 +162,22 @@
         """
         Return basic representation of Source table entry.
         """
-        return '< Projector(id="%s", ip="%s", port="%s", pin="%s", name="%s", location="%s",' \
-            'notes="%s", pjlink_name="%s", manufacturer="%s", model="%s", other="%s",' \
-            'sources="%s", source_list="%s") >' % (self.id, self.ip, self.port, self.pin, self.name, self.location,
-                                                   self.notes, self.pjlink_name, self.manufacturer, self.model,
-                                                   self.other, self.sources, self.source_list)
+        return '< Projector(id="{data}", ip="{ip}", port="{port}", pin="{pin}", name="{name}", ' \
+            'location="{location}", notes="{notes}", pjlink_name="{pjlink_name}", ' \
+            'manufacturer="{manufacturer}", model="{model}", other="{other}", ' \
+            'sources="{sources}", source_list="{source_list}") >'.format(data=self.id,
+                                                                         ip=self.ip,
+                                                                         port=self.port,
+                                                                         pin=self.pin,
+                                                                         name=self.name,
+                                                                         location=self.location,
+                                                                         notes=self.notes,
+                                                                         pjlink_name=self.pjlink_name,
+                                                                         manufacturer=self.manufacturer,
+                                                                         model=self.model,
+                                                                         other=self.other,
+                                                                         sources=self.sources,
+                                                                         source_list=self.source_list)
     ip = Column(String(100))
     port = Column(String(8))
     pin = Column(String(20))
@@ -203,10 +214,11 @@
         """
         Return basic representation of Source table entry.
         """
-        return '<ProjectorSource(id="%s", code="%s", text="%s", projector_id="%s")>' % (self.id,
-                                                                                        self.code,
-                                                                                        self.text,
-                                                                                        self.projector_id)
+        return '<ProjectorSource(id="{data}", code="{code}", text="{text}", ' \
+            'projector_id="{projector_id}")>'.format(data=self.id,
+                                                     code=self.code,
+                                                     text=self.text,
+                                                     projector_id=self.projector_id)
     code = Column(String(3))
     text = Column(String(20))
     projector_id = Column(Integer, ForeignKey('projector.id'))
@@ -217,10 +229,10 @@
     Class to access the projector database.
     """
     def __init__(self, *args, **kwargs):
-        log.debug('ProjectorDB().__init__(args="%s", kwargs="%s")' % (args, kwargs))
+        log.debug('ProjectorDB().__init__(args="{arg}", kwargs="{kwarg}")'.format(arg=args, kwarg=kwargs))
         super().__init__(plugin_name='projector', init_schema=self.init_schema)
-        log.debug('ProjectorDB() Initialized using db url %s' % self.db_url)
-        log.debug('Session: %s', self.session)
+        log.debug('ProjectorDB() Initialized using db url {db}'.format(db=self.db_url))
+        log.debug('Session: {session}'.format(session=self.session))
 
     def init_schema(self, *args, **kwargs):
         """
@@ -240,13 +252,14 @@
         :param dbid: DB record id
         :returns: Projector() instance
         """
-        log.debug('get_projector_by_id(id="%s")' % dbid)
+        log.debug('get_projector_by_id(id="{data}")'.format(data=dbid))
         projector = self.get_object_filtered(Projector, Projector.id == dbid)
         if projector is None:
             # Not found
-            log.warn('get_projector_by_id() did not find %s' % id)
+            log.warning('get_projector_by_id() did not find {data}'.format(data=id))
             return None
-        log.debug('get_projectorby_id() returning 1 entry for "%s" id="%s"' % (dbid, projector.id))
+        log.debug('get_projectorby_id() returning 1 entry for "{entry}" id="{data}"'.format(entry=dbid,
+                                                                                            data=projector.id))
         return projector
 
     def get_projector_all(self):
@@ -262,7 +275,7 @@
             return return_list
         for new_projector in new_list:
             return_list.append(new_projector)
-        log.debug('get_all() returning %s item(s)' % len(return_list))
+        log.debug('get_all() returning {items} item(s)'.format(items=len(return_list)))
         return return_list
 
     def get_projector_by_ip(self, ip):
@@ -276,9 +289,10 @@
         projector = self.get_object_filtered(Projector, Projector.ip == ip)
         if projector is None:
             # Not found
-            log.warn('get_projector_by_ip() did not find %s' % ip)
+            log.warning('get_projector_by_ip() did not find {ip}'.format(ip=ip))
             return None
-        log.debug('get_projectorby_ip() returning 1 entry for "%s" id="%s"' % (ip, projector.id))
+        log.debug('get_projectorby_ip() returning 1 entry for "{ip}" id="{data}"'.format(ip=ip,
+                                                                                         data=projector.id))
         return projector
 
     def get_projector_by_name(self, name):
@@ -288,13 +302,14 @@
         :param name: Name of projector
         :returns: Projector() instance
         """
-        log.debug('get_projector_by_name(name="%s")' % name)
+        log.debug('get_projector_by_name(name="{name}")'.format(name=name))
         projector = self.get_object_filtered(Projector, Projector.name == name)
         if projector is None:
             # Not found
-            log.warn('get_projector_by_name() did not find "%s"' % name)
+            log.warning('get_projector_by_name() did not find "{name}"'.format(name=name))
             return None
-        log.debug('get_projector_by_name() returning one entry for "%s" id="%s"' % (name, projector.id))
+        log.debug('get_projector_by_name() returning one entry for "{name}" id="{data}"'.format(name=name,
+                                                                                                data=projector.id))
         return projector
 
     def add_projector(self, projector):
@@ -308,13 +323,13 @@
         """
         old_projector = self.get_object_filtered(Projector, Projector.ip == projector.ip)
         if old_projector is not None:
-            log.warn('add_new() skipping entry ip="%s" (Already saved)' % old_projector.ip)
+            log.warning('add_new() skipping entry ip="{ip}" (Already saved)'.format(ip=old_projector.ip))
             return False
         log.debug('add_new() saving new entry')
-        log.debug('ip="%s", name="%s", location="%s"' % (projector.ip,
-                                                         projector.name,
-                                                         projector.location))
-        log.debug('notes="%s"' % projector.notes)
+        log.debug('ip="{ip}", name="{name}", location="{location}"'.format(ip=projector.ip,
+                                                                           name=projector.name,
+                                                                           location=projector.location))
+        log.debug('notes="{notes}"'.format(notes=projector.notes))
         return self.save_object(projector)
 
     def update_projector(self, projector=None):
@@ -333,7 +348,7 @@
         if old_projector is None:
             log.error('Edit called on projector instance not in database - cancelled')
             return False
-        log.debug('(%s) Updating projector with dbid=%s' % (projector.ip, projector.id))
+        log.debug('({ip}) Updating projector with dbid={dbid}'.format(ip=projector.ip, dbid=projector.id))
         old_projector.ip = projector.ip
         old_projector.name = projector.name
         old_projector.location = projector.location
@@ -357,9 +372,9 @@
         """
         deleted = self.delete_object(Projector, projector.id)
         if deleted:
-            log.debug('delete_by_id() Removed entry id="%s"' % projector.id)
+            log.debug('delete_by_id() Removed entry id="{data}"'.format(data=projector.id))
         else:
-            log.error('delete_by_id() Entry id="%s" not deleted for some reason' % projector.id)
+            log.error('delete_by_id() Entry id="{data}" not deleted for some reason'.format(data=projector.id))
         return deleted
 
     def get_source_list(self, projector):
@@ -392,12 +407,12 @@
         :param source: ProjectorSource id
         :returns: ProjetorSource instance or None
         """
-        source_entry = self.get_object_filtered(ProjetorSource, ProjectorSource.id == source)
+        source_entry = self.get_object_filtered(ProjectorSource, ProjectorSource.id == source)
         if source_entry is None:
             # Not found
-            log.warn('get_source_by_id() did not find "%s"' % source)
+            log.warning('get_source_by_id() did not find "{source}"'.format(source=source))
             return None
-        log.debug('get_source_by_id() returning one entry for "%s""' % (source))
+        log.debug('get_source_by_id() returning one entry for "{source}""'.format(source=source))
         return source_entry
 
     def get_source_by_code(self, code, projector_id):
@@ -411,11 +426,14 @@
         source_entry = self.get_object_filtered(ProjectorSource,
                                                 and_(ProjectorSource.code == code,
                                                      ProjectorSource.projector_id == projector_id))
+
         if source_entry is None:
             # Not found
-            log.warn('get_source_by_id() did not find code="%s" projector_id="%s"' % (code, projector_id))
+            log.warning('get_source_by_id() not found')
+            log.warning('code="{code}" projector_id="{data}"'.format(code=code, data=projector_id))
             return None
-        log.debug('get_source_by_id() returning one entry for code="%s" projector_id="%s"' % (code, projector_id))
+        log.debug('get_source_by_id() returning one entry')
+        log.debug('code="{code}" projector_id="{data}"'.format(code=code, data=projector_id))
         return source_entry
 
     def add_source(self, source):
@@ -424,6 +442,6 @@
 
         :param source: ProjectorSource() instance to add
         """
-        log.debug('Saving ProjectorSource(projector_id="%s" code="%s" text="%s")' % (source.projector_id,
-                                                                                     source.code, source.text))
+        log.debug('Saving ProjectorSource(projector_id="{data}" '
+                  'code="{code}" text="{text}")'.format(data=source.projector_id, code=source.code, text=source.text))
         return self.save_object(source)

=== modified file 'openlp/core/lib/projector/pjlink1.py'
--- openlp/core/lib/projector/pjlink1.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/projector/pjlink1.py	2017-01-08 22:05:36 +0000
@@ -46,15 +46,24 @@
 
 from codecs import decode
 
-from PyQt5.QtCore import pyqtSignal, pyqtSlot
-from PyQt5.QtNetwork import QAbstractSocket, QTcpSocket
+from PyQt5 import QtCore, QtNetwork
 
+<<<<<<< TREE
 from openlp.core.common import translate, md5_hash
 from openlp.core.lib.projector.constants import *
+=======
+from openlp.core.common import translate, qmd5_hash
+from openlp.core.lib.projector.constants import CONNECTION_ERRORS, CR, ERROR_MSG, ERROR_STRING, \
+    E_AUTHENTICATION, E_CONNECTION_REFUSED, E_GENERAL, E_INVALID_DATA, E_NETWORK, E_NOT_CONNECTED, \
+    E_PARAMETER, E_PROJECTOR, E_SOCKET_TIMEOUT, E_UNAVAILABLE, E_UNDEFINED, PJLINK_ERRORS, \
+    PJLINK_ERST_STATUS, PJLINK_MAX_PACKET, PJLINK_PORT, PJLINK_POWR_STATUS, PJLINK_VALID_CMD, \
+    STATUS_STRING, S_CONNECTED, S_CONNECTING, S_NETWORK_RECEIVED, S_NETWORK_SENDING, S_NOT_CONNECTED, \
+    S_OFF, S_OK, S_ON, S_STATUS
+>>>>>>> MERGE-SOURCE
 
 # Shortcuts
-SocketError = QAbstractSocket.SocketError
-SocketSTate = QAbstractSocket.SocketState
+SocketError = QtNetwork.QAbstractSocket.SocketError
+SocketSTate = QtNetwork.QAbstractSocket.SocketState
 
 PJLINK_PREFIX = '%'
 PJLINK_CLASS = '1'
@@ -62,11 +71,12 @@
 PJLINK_SUFFIX = CR
 
 
-class PJLink1(QTcpSocket):
+class PJLink1(QtNetwork.QTcpSocket):
     """
     Socket service for connecting to a PJLink-capable projector.
     """
     # Signals sent by this module
+<<<<<<< TREE
     changeStatus = pyqtSignal(str, int, str)
     projectorNetwork = pyqtSignal(str, int)  # Projector network activity
     projectorStatus = pyqtSignal(int)  # Status update
@@ -74,6 +84,15 @@
     projectorNoAuthentication = pyqtSignal(str)  # PIN set and no authentication needed
     projectorReceivedData = pyqtSignal()  # Notify when received data finished processing
     projectorUpdateIcons = pyqtSignal()  # Update the status icons on toolbar
+=======
+    changeStatus = QtCore.pyqtSignal(str, int, str)
+    projectorNetwork = QtCore.pyqtSignal(int)  # Projector network activity
+    projectorStatus = QtCore.pyqtSignal(int)  # Status update
+    projectorAuthentication = QtCore.pyqtSignal(str)  # Authentication error
+    projectorNoAuthentication = QtCore.pyqtSignal(str)  # PIN set and no authentication needed
+    projectorReceivedData = QtCore.pyqtSignal()  # Notify when received data finished processing
+    projectorUpdateIcons = QtCore.pyqtSignal()  # Update the status icons on toolbar
+>>>>>>> MERGE-SOURCE
 
     def __init__(self, name=None, ip=None, port=PJLINK_PORT, pin=None, *args, **kwargs):
         """
@@ -116,8 +135,8 @@
         self.error_status = S_OK
         # Socket information
         # Add enough space to input buffer for extraneous \n \r
-        self.maxSize = PJLINK_MAX_PACKET + 2
-        self.setReadBufferSize(self.maxSize)
+        self.max_size = PJLINK_MAX_PACKET + 2
+        self.setReadBufferSize(self.max_size)
         # PJLink information
         self.pjlink_class = '1'  # Default class
         self.reset_information()
@@ -129,19 +148,20 @@
         # Socket timer for some possible brain-dead projectors or network cable pulled
         self.socket_timer = None
         # Map command to function
-        self.PJLINK1_FUNC = {'AVMT': self.process_avmt,
-                             'CLSS': self.process_clss,
-                             'ERST': self.process_erst,
-                             'INFO': self.process_info,
-                             'INF1': self.process_inf1,
-                             'INF2': self.process_inf2,
-                             'INPT': self.process_inpt,
-                             'INST': self.process_inst,
-                             'LAMP': self.process_lamp,
-                             'NAME': self.process_name,
-                             'PJLINK': self.check_login,
-                             'POWR': self.process_powr
-                             }
+        self.pjlink1_functions = {
+            'AVMT': self.process_avmt,
+            'CLSS': self.process_clss,
+            'ERST': self.process_erst,
+            'INFO': self.process_info,
+            'INF1': self.process_inf1,
+            'INF2': self.process_inf2,
+            'INPT': self.process_inpt,
+            'INST': self.process_inst,
+            'LAMP': self.process_lamp,
+            'NAME': self.process_name,
+            'PJLINK': self.check_login,
+            'POWR': self.process_powr
+        }
 
     def reset_information(self):
         """
@@ -291,7 +311,7 @@
                                                                     message=status_message if msg is None else msg))
         self.changeStatus.emit(self.ip, status, message)
 
-    @pyqtSlot()
+    @QtCore.pyqtSlot()
     def check_login(self, data=None):
         """
         Processes the initial connection and authentication (if needed).
@@ -309,8 +329,8 @@
                 log.error('({ip}) Socket timeout waiting for login'.format(ip=self.ip))
                 self.change_status(E_SOCKET_TIMEOUT)
                 return
-            read = self.readLine(self.maxSize)
-            dontcare = self.readLine(self.maxSize)  # Clean out the trailing \r\n
+            read = self.readLine(self.max_size)
+            dontcare = self.readLine(self.max_size)  # Clean out the trailing \r\n
             if read is None:
                 log.warning('({ip}) read is None - socket error?'.format(ip=self.ip))
                 return
@@ -320,8 +340,13 @@
             data = decode(read, 'ascii')
             # Possibility of extraneous data on input when reading.
             # Clean out extraneous characters in buffer.
+<<<<<<< TREE
             dontcare = self.readLine(self.maxSize)
             log.debug('({ip}) check_login() read "{data}"'.format(ip=self.ip, data=data.strip()))
+=======
+            dontcare = self.readLine(self.max_size)
+            log.debug('({ip}) check_login() read "{data}"'.format(ip=self.ip, data=data.strip()))
+>>>>>>> MERGE-SOURCE
         # At this point, we should only have the initial login prompt with
         # possible authentication
         # PJLink initial login will be:
@@ -354,6 +379,7 @@
             return
         elif data_check[1] == '1':
             # Authenticated login with salt
+<<<<<<< TREE
             if self.pin is None:
                 log.warning('({ip}) Authenticated connection but no pin set'.format(ip=self.name))
                 self.disconnect_from_host()
@@ -365,20 +391,34 @@
                 log.debug('({ip}) Setting hash with salt="{data}"'.format(ip=self.ip, data=data_check[2]))
                 log.debug('({ip}) pin="{data}"'.format(ip=self.ip, data=self.pin))
                 salt = md5_hash(salt=data_check[2].encode('ascii'), data=self.pin.encode('ascii'))
+=======
+            if self.pin is None:
+                log.warning('({ip}) Authenticated connection but no pin set'.format(ip=self.name))
+                self.disconnect_from_host()
+                self.change_status(E_AUTHENTICATION)
+                log.debug('({ip}) Emitting projectorAuthentication() signal'.format(ip=self.name))
+                self.projectorAuthentication.emit(self.name)
+                return
+            else:
+                log.debug('({ip}) Setting hash with salt="{data}"'.format(ip=self.ip, data=data_check[2]))
+                log.debug('({ip}) pin="{data}"'.format(ip=self.ip, data=self.pin))
+                data_hash = str(qmd5_hash(salt=data_check[2].encode('utf-8'), data=self.pin.encode('utf-8')),
+                                encoding='ascii')
+>>>>>>> MERGE-SOURCE
         else:
-            salt = None
-        # We're connected at this point, so go ahead and do regular I/O
+            data_hash = None
+        # We're connected at this point, so go ahead and setup regular I/O
         self.readyRead.connect(self.get_data)
         self.projectorReceivedData.connect(self._send_command)
         # Initial data we should know about
-        self.send_command(cmd='CLSS', salt=salt)
+        self.send_command(cmd='CLSS', salt=data_hash)
         self.waitForReadyRead()
         if (not self.no_poll) and (self.state() == self.ConnectedState):
             log.debug('({ip}) Starting timer'.format(ip=self.ip))
             self.timer.setInterval(2000)  # Set 2 seconds for initial information
             self.timer.start()
 
-    @pyqtSlot()
+    @QtCore.pyqtSlot()
     def get_data(self):
         """
         Socket interface to retrieve data.
@@ -388,7 +428,7 @@
             log.debug('({ip}) get_data(): Not connected - returning'.format(ip=self.ip))
             self.send_busy = False
             return
-        read = self.readLine(self.maxSize)
+        read = self.readLine(self.max_size)
         if read == -1:
             # No data available
             log.debug('({ip}) get_data(): No data available (-1)'.format(ip=self.ip))
@@ -435,7 +475,11 @@
             return
         return self.process_command(cmd, data)
 
+<<<<<<< TREE
     @pyqtSlot(QAbstractSocket.SocketError)
+=======
+    @QtCore.pyqtSlot(QtNetwork.QAbstractSocket.SocketError)
+>>>>>>> MERGE-SOURCE
     def get_error(self, err):
         """
         Process error from SocketError signal.
@@ -475,6 +519,7 @@
             log.warning('({ip}) send_command(): Not connected - returning'.format(ip=self.ip))
             self.send_queue = []
             return
+<<<<<<< TREE
         self.projectorNetwork.emit(self.ip, S_NETWORK_SENDING)
         log.debug('(%s) send_command(): Building cmd="%s" opts="%s" %s' % (self.ip,
                                                                            cmd,
@@ -484,6 +529,19 @@
             out = '%s%s %s%s' % (PJLINK_HEADER, cmd, opts, CR)
         else:
             out = '%s%s%s %s%s' % (salt, PJLINK_HEADER, cmd, opts, CR)
+=======
+        self.projectorNetwork.emit(S_NETWORK_SENDING)
+        log.debug('({ip}) send_command(): Building cmd="{command}" opts="{data}"{salt}'.format(ip=self.ip,
+                                                                                               command=cmd,
+                                                                                               data=opts,
+                                                                                               salt='' if salt is None
+                                                                                               else ' with hash'))
+        out = '{salt}{header}{command} {options}{suffix}'.format(salt="" if salt is None else salt,
+                                                                 header=PJLINK_HEADER,
+                                                                 command=cmd,
+                                                                 options=opts,
+                                                                 suffix=CR)
+>>>>>>> MERGE-SOURCE
         if out in self.send_queue:
             # Already there, so don't add
             log.debug('({ip}) send_command(out="{data}") Already in queue - skipping'.format(ip=self.ip,
@@ -501,7 +559,7 @@
             log.debug('({ip}) send_command() calling _send_string()'.format(ip=self.ip))
             self._send_command()
 
-    @pyqtSlot()
+    @QtCore.pyqtSlot()
     def _send_command(self, data=None):
         """
         Socket interface to send data. If data=None, then check queue.
@@ -533,6 +591,7 @@
         log.debug('({ip}) _send_string(): Sending "{data}"'.format(ip=self.ip, data=out.strip()))
         log.debug('({ip}) _send_string(): Queue = {data}'.format(ip=self.ip, data=self.send_queue))
         self.socket_timer.start()
+<<<<<<< TREE
         try:
             self.projectorNetwork.emit(self.ip, S_NETWORK_SENDING)
             sent = self.write(out.encode('ascii'))
@@ -546,6 +605,15 @@
             self.changeStatus(E_NETWORK,
                               translate('OpenLP.PJLink1', '{code} : {string}').format(code=e.error(),
                                                                                       string=e.errorString()))
+=======
+        self.projectorNetwork.emit(S_NETWORK_SENDING)
+        sent = self.write(out.encode('ascii'))
+        self.waitForBytesWritten(2000)  # 2 seconds should be enough
+        if sent == -1:
+            # Network error?
+            self.change_status(E_NETWORK,
+                               translate('OpenLP.PJLink1', 'Error while sending data to projector'))
+>>>>>>> MERGE-SOURCE
 
     def process_command(self, cmd, data):
         """
@@ -589,8 +657,8 @@
             self.projectorReceivedData.emit()
             return
 
-        if cmd in self.PJLINK1_FUNC:
-            self.PJLINK1_FUNC[cmd](data)
+        if cmd in self.pjlink1_functions:
+            self.pjlink1_functions[cmd](data)
         else:
             log.warning('({ip}) Invalid command {data}'.format(ip=self.ip, data=cmd))
         self.send_busy = False
@@ -815,9 +883,9 @@
             log.warning('({ip}) connect_to_host(): Already connected - returning'.format(ip=self.ip))
             return
         self.change_status(S_CONNECTING)
-        self.connectToHost(self.ip, self.port if type(self.port) is int else int(self.port))
+        self.connectToHost(self.ip, self.port if isinstance(self.port, int) else int(self.port))
 
-    @pyqtSlot()
+    @QtCore.pyqtSlot()
     def disconnect_from_host(self, abort=False):
         """
         Close socket and cleanup.

=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/renderer.py	2017-01-08 22:05:36 +0000
@@ -22,6 +22,7 @@
 
 import re
 
+from string import Template
 from PyQt5 import QtGui, QtCore, QtWebKitWidgets
 
 from openlp.core.common import Registry, RegistryProperties, OpenLPMixin, RegistryMixin, Settings
@@ -107,7 +108,7 @@
 
         :param theme_name: The theme name
         """
-        self.log_debug("_set_theme with theme %s" % theme_name)
+        self.log_debug("_set_theme with theme {theme}".format(theme=theme_name))
         if theme_name not in self._theme_dimensions:
             theme_data = self.theme_manager.get_theme_data(theme_name)
             main_rect = self.get_main_rectangle(theme_data)
@@ -183,7 +184,7 @@
 
         :param item_theme_name: The item theme's name.
         """
-        self.log_debug("set_item_theme with theme %s" % item_theme_name)
+        self.log_debug("set_item_theme with theme {theme}".format(theme=item_theme_name))
         self._set_theme(item_theme_name)
         self.item_theme_name = item_theme_name
 
@@ -317,7 +318,7 @@
         self.width = screen_size.width()
         self.height = screen_size.height()
         self.screen_ratio = self.height / self.width
-        self.log_debug('_calculate default %s, %f' % (screen_size, self.screen_ratio))
+        self.log_debug('_calculate default {size}, {ratio:f}'.format(size=screen_size, ratio=self.screen_ratio))
         # 90% is start of footer
         self.footer_start = int(self.height * 0.90)
 
@@ -354,7 +355,7 @@
         :param rect_main: The main text block.
         :param rect_footer: The footer text block.
         """
-        self.log_debug('_set_text_rectangle %s , %s' % (rect_main, rect_footer))
+        self.log_debug('_set_text_rectangle {main} , {footer}'.format(main=rect_main, footer=rect_footer))
         self._rect = rect_main
         self._rect_footer = rect_footer
         self.page_width = self._rect.width()
@@ -370,7 +371,7 @@
         self.web.resize(self.page_width, self.page_height)
         self.web_frame = self.web.page().mainFrame()
         # Adjust width and height to account for shadow. outline done in css.
-        html = """<!DOCTYPE html><html><head><script>
+        html = Template("""<!DOCTYPE html><html><head><script>
             function show_text(newtext) {
                 var main = document.getElementById('main');
                 main.innerHTML = newtext;
@@ -379,12 +380,16 @@
                 // returned value).
                 return main.offsetHeight;
             }
-            </script><style>*{margin: 0; padding: 0; border: 0;}
-            #main {position: absolute; top: 0px; %s %s}</style></head><body>
-            <div id="main"></div></body></html>""" % \
-            (build_lyrics_format_css(theme_data, self.page_width, self.page_height),
-             build_lyrics_outline_css(theme_data))
-        self.web.setHtml(html)
+            </script>
+            <style>
+                *{margin: 0; padding: 0; border: 0;}
+                #main {position: absolute; top: 0px; ${format_css} ${outline_css}}
+            </style></head>
+            <body><div id="main"></div></body></html>""")
+        self.web.setHtml(html.substitute(format_css=build_lyrics_format_css(theme_data,
+                                                                            self.page_width,
+                                                                            self.page_height),
+                                         outline_css=build_lyrics_outline_css(theme_data)))
         self.empty_height = self.web_frame.contentsSize().height()
 
     def _paginate_slide(self, lines, line_end):
@@ -518,7 +523,8 @@
 
         :param text:  The text to check. It may contain HTML tags.
         """
-        self.web_frame.evaluateJavaScript('show_text("%s")' % text.replace('\\', '\\\\').replace('\"', '\\\"'))
+        self.web_frame.evaluateJavaScript('show_text'
+                                          '("{text}")'.format(text=text.replace('\\', '\\\\').replace('\"', '\\\"')))
         return self.web_frame.contentsSize().height() <= self.empty_height
 
 
@@ -529,7 +535,7 @@
     :param line: Line to be split
     """
     # this parse we are to be wordy
-    return re.split('\s+', line)
+    return re.split(r'\s+', line)
 
 
 def get_start_tags(raw_text):

=== modified file 'openlp/core/lib/screen.py'
--- openlp/core/lib/screen.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/screen.py	2017-01-08 22:05:36 +0000
@@ -78,7 +78,7 @@
         ``number``
             The number of the screen, which size has changed.
         """
-        log.info('screen_resolution_changed %d' % number)
+        log.info('screen_resolution_changed {number:d}'.format(number=number))
         for screen in self.screen_list:
             if number == screen['number']:
                 new_screen = {
@@ -105,7 +105,7 @@
         """
         # Do not log at start up.
         if changed_screen != -1:
-            log.info('screen_count_changed %d' % self.desktop.screenCount())
+            log.info('screen_count_changed {count:d}'.format(count=self.desktop.screenCount()))
         # Remove unplugged screens.
         for screen in copy.deepcopy(self.screen_list):
             if screen['number'] == self.desktop.screenCount():
@@ -132,9 +132,11 @@
         """
         screen_list = []
         for screen in self.screen_list:
-            screen_name = '%s %d' % (translate('OpenLP.ScreenList', 'Screen'), screen['number'] + 1)
+            screen_name = '{name} {number:d}'.format(name=translate('OpenLP.ScreenList', 'Screen'),
+                                                     number=screen['number'] + 1)
             if screen['primary']:
-                screen_name = '%s (%s)' % (screen_name, translate('OpenLP.ScreenList', 'primary'))
+                screen_name = '{name} ({primary})'.format(name=screen_name,
+                                                          primary=translate('OpenLP.ScreenList', 'primary'))
             screen_list.append(screen_name)
         return screen_list
 
@@ -152,7 +154,7 @@
                     'size': PyQt5.QtCore.QRect(0, 0, 1024, 768)
                 }
         """
-        log.info('Screen %d found with resolution %s' % (screen['number'], screen['size']))
+        log.info('Screen {number:d} found with resolution {size}'.format(number=screen['number'], size=screen['size']))
         if screen['primary']:
             self.current = screen
             self.override = copy.deepcopy(self.current)
@@ -165,7 +167,7 @@
 
         :param number: The screen number (int).
         """
-        log.info('remove_screen %d' % number)
+        log.info('remove_screen {number:d}'.format(number=number))
         for screen in self.screen_list:
             if screen['number'] == number:
                 self.screen_list.remove(screen)
@@ -189,7 +191,7 @@
 
         :param number: The screen number (int).
         """
-        log.debug('set_current_display %s' % number)
+        log.debug('set_current_display {number}'.format(number=number))
         if number + 1 > self.display_count:
             self.current = self.screen_list[0]
         else:

=== modified file 'openlp/core/lib/searchedit.py'
--- openlp/core/lib/searchedit.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/searchedit.py	2017-01-08 22:05:36 +0000
@@ -26,6 +26,7 @@
 
 from openlp.core.lib import build_icon
 from openlp.core.lib.ui import create_widget_action
+from openlp.core.common import Settings
 
 log = logging.getLogger(__name__)
 
@@ -37,11 +38,12 @@
     searchTypeChanged = QtCore.pyqtSignal(QtCore.QVariant)
     cleared = QtCore.pyqtSignal()
 
-    def __init__(self, parent):
+    def __init__(self, parent, settings_section):
         """
         Constructor.
         """
-        super(SearchEdit, self).__init__(parent)
+        super().__init__(parent)
+        self.settings_section = settings_section
         self._current_search_type = -1
         self.clear_button = QtWidgets.QToolButton(self)
         self.clear_button.setIcon(build_icon(':/system/clear_shortcut.png'))
@@ -62,9 +64,10 @@
         right_padding = self.clear_button.width() + frame_width
         if hasattr(self, 'menu_button'):
             left_padding = self.menu_button.width()
-            stylesheet = 'QLineEdit { padding-left: %spx; padding-right: %spx; } ' % (left_padding, right_padding)
+            stylesheet = 'QLineEdit {{ padding-left:{left}px; padding-right: {right}px; }} '.format(left=left_padding,
+                                                                                                    right=right_padding)
         else:
-            stylesheet = 'QLineEdit { padding-right: %spx; } ' % right_padding
+            stylesheet = 'QLineEdit {{ padding-right: {right}px; }} '.format(right=right_padding)
         self.setStyleSheet(stylesheet)
         msz = self.minimumSizeHint()
         self.setMinimumSize(max(msz.width(), self.clear_button.width() + (frame_width * 2) + 2),
@@ -99,14 +102,10 @@
         menu = self.menu_button.menu()
         for action in menu.actions():
             if identifier == action.data():
-                # setPlaceholderText has been implemented in Qt 4.7 and in at least PyQt 4.9 (I am not sure, if it was
-                # implemented in PyQt 4.8).
-                try:
-                    self.setPlaceholderText(action.placeholder_text)
-                except AttributeError:
-                    pass
+                self.setPlaceholderText(action.placeholder_text)
                 self.menu_button.setDefaultAction(action)
                 self._current_search_type = identifier
+                Settings().setValue('{section}/last search type'.format(section=self.settings_section), identifier)
                 self.searchTypeChanged.emit(identifier)
                 return True
 
@@ -129,14 +128,10 @@
                     (2, ":/songs/authors.png", "Authors", "Search Authors...")
         """
         menu = QtWidgets.QMenu(self)
-        first = None
         for identifier, icon, title, placeholder in items:
             action = create_widget_action(
                 menu, text=title, icon=icon, data=identifier, triggers=self._on_menu_action_triggered)
             action.placeholder_text = placeholder
-            if first is None:
-                first = action
-                self._current_search_type = identifier
         if not hasattr(self, 'menu_button'):
             self.menu_button = QtWidgets.QToolButton(self)
             self.menu_button.setIcon(build_icon(':/system/clear_shortcut.png'))
@@ -145,7 +140,8 @@
             self.menu_button.setStyleSheet('QToolButton { border: none; padding: 0px 10px 0px 0px; }')
             self.menu_button.resize(QtCore.QSize(28, 18))
         self.menu_button.setMenu(menu)
-        self.menu_button.setDefaultAction(first)
+        self.set_current_search_type(
+            Settings().value('{section}/last search type'.format(section=self.settings_section)))
         self.menu_button.show()
         self._update_style_sheet()
 

=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/serviceitem.py	2017-01-08 22:05:36 +0000
@@ -34,7 +34,7 @@
 from PyQt5 import QtGui
 
 from openlp.core.common import RegistryProperties, Settings, translate, AppLocation, md5_hash
-from openlp.core.lib import ImageSource, build_icon, clean_tags, expand_tags, create_thumb
+from openlp.core.lib import ImageSource, build_icon, clean_tags, expand_tags
 
 log = logging.getLogger(__name__)
 
@@ -247,7 +247,7 @@
             self.renderer.set_item_theme(self.theme)
             self.theme_data, self.main, self.footer = self.renderer.pre_render()
         if self.service_item_type == ServiceItemType.Text:
-            log.debug('Formatting slides: %s' % self.title)
+            log.debug('Formatting slides: {title}'.format(title=self.title))
             # Save rendered pages to this dict. In the case that a slide is used twice we can use the pages saved to
             # the dict instead of rendering them again.
             previous_pages = {}
@@ -270,7 +270,7 @@
         elif self.service_item_type == ServiceItemType.Image or self.service_item_type == ServiceItemType.Command:
             pass
         else:
-            log.error('Invalid value renderer: %s' % self.service_item_type)
+            log.error('Invalid value renderer: {item}'.format(item=self.service_item_type))
         self.title = clean_tags(self.title)
         # The footer should never be None, but to be compatible with a few
         # nightly builds between 1.9.4 and 1.9.5, we have to correct this to
@@ -325,7 +325,8 @@
         self.service_item_type = ServiceItemType.Command
         # If the item should have a display title but this frame doesn't have one, we make one up
         if self.is_capable(ItemCapabilities.HasDisplayTitle) and not display_title:
-            display_title = translate('OpenLP.ServiceItem', '[slide %d]') % (len(self._raw_frames) + 1)
+            display_title = translate('OpenLP.ServiceItem',
+                                      '[slide {frame:d}]').format(frame=len(self._raw_frames) + 1)
         # Update image path to match servicemanager location if file was loaded from service
         if image and not self.has_original_files and self.name == 'presentations':
             file_location = os.path.join(path, file_name)
@@ -334,6 +335,8 @@
                                  file_location_hash, ntpath.basename(image))
         self._raw_frames.append({'title': file_name, 'image': image, 'path': path,
                                  'display_title': display_title, 'notes': notes})
+        if self.is_capable(ItemCapabilities.HasThumbnails):
+            self.image_manager.add_image(image, ImageSource.CommandPlugins, '#000000')
         self._new_item()
 
     def get_service_repr(self, lite_save):
@@ -390,7 +393,7 @@
         :param path: Defaults to *None*. This is the service manager path for things which have their files saved
             with them or None when the saved service is lite and the original file paths need to be preserved.
         """
-        log.debug('set_from_service called with path %s' % path)
+        log.debug('set_from_service called with path {path}'.format(path=path))
         header = service_item['serviceitem']['header']
         self.title = header['title']
         self.name = header['name']
@@ -606,11 +609,13 @@
         start = None
         end = None
         if self.start_time != 0:
-            start = translate('OpenLP.ServiceItem', '<strong>Start</strong>: %s') % \
-                str(datetime.timedelta(seconds=self.start_time))
+            time = str(datetime.timedelta(seconds=self.start_time))
+            start = translate('OpenLP.ServiceItem',
+                              '<strong>Start</strong>: {start}').format(start=time)
         if self.media_length != 0:
-            end = translate('OpenLP.ServiceItem', '<strong>Length</strong>: %s') % \
-                str(datetime.timedelta(seconds=self.media_length))
+            length = str(datetime.timedelta(seconds=self.media_length // 1000))
+            end = translate('OpenLP.ServiceItem', '<strong>Length</strong>: {length}').format(length=length)
+
         if not start and not end:
             return ''
         elif start and not end:
@@ -618,7 +623,7 @@
         elif not start and end:
             return end
         else:
-            return '%s <br>%s' % (start, end)
+            return '{start} <br>{end}'.format(start=start, end=end)
 
     def update_theme(self, theme):
         """

=== modified file 'openlp/core/lib/settingstab.py'
--- openlp/core/lib/settingstab.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/settingstab.py	2017-01-08 22:05:36 +0000
@@ -135,4 +135,4 @@
         """
         Tab has just been made visible to the user
         """
-        self.tab_visited = True
+        pass

=== renamed file 'openlp/core/lib/spelltextedit.py' => 'openlp/core/lib/spelltextedit.py.THIS'
=== modified file 'openlp/core/lib/theme.py'
--- openlp/core/lib/theme.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/theme.py	2017-01-08 22:05:36 +0000
@@ -23,7 +23,6 @@
 Provide the theme XML and handling functions for OpenLP v2 themes.
 """
 import os
-import re
 import logging
 import json
 
@@ -44,6 +43,7 @@
     Gradient = 1
     Image = 2
     Transparent = 3
+    Video = 4
 
     @staticmethod
     def to_string(background_type):
@@ -58,6 +58,8 @@
             return 'image'
         elif background_type == BackgroundType.Transparent:
             return 'transparent'
+        elif background_type == BackgroundType.Video:
+            return 'video'
 
     @staticmethod
     def from_string(type_string):
@@ -72,6 +74,8 @@
             return BackgroundType.Image
         elif type_string == 'transparent':
             return BackgroundType.Transparent
+        elif type_string == 'video':
+            return BackgroundType.Video
 
 
 class BackgroundGradientType(object):
@@ -160,6 +164,7 @@
         jsn = get_text_file_string(json_file)
         jsn = json.loads(jsn)
         self.expand_json(jsn)
+        self.background_filename = None
 
     def expand_json(self, var, prev=None):
         """
@@ -184,7 +189,7 @@
 
         :param path: The path name to be added.
         """
-        if self.background_type == 'image':
+        if self.background_type == 'image' or self.background_type == 'video':
             if self.background_filename and path:
                 self.theme_name = self.theme_name.strip()
                 self.background_filename = self.background_filename.strip()
@@ -255,6 +260,21 @@
         # Create endColor element
         self.child_element(background, 'borderColor', str(border_color))
 
+    def add_background_video(self, filename, border_color):
+        """
+        Add a video background.
+
+        :param filename: The file name of the video.
+        :param border_color:
+        """
+        background = self.theme_xml.createElement('background')
+        background.setAttribute('type', 'video')
+        self.theme.appendChild(background)
+        # Create Filename element
+        self.child_element(background, 'filename', filename)
+        # Create endColor element
+        self.child_element(background, 'borderColor', str(border_color))
+
     def add_font(self, name, color, size, override, fonttype='main', bold='False', italics='False',
                  line_adjustment=0, xpos=0, ypos=0, width=0, height=0, outline='False', outline_color='#ffffff',
                  outline_pixel=2, shadow='False', shadow_color='#ffffff', shadow_pixel=5):
@@ -407,7 +427,7 @@
         try:
             theme_xml = objectify.fromstring(xml)
         except etree.XMLSyntaxError:
-            log.exception('Invalid xml %s', xml)
+            log.exception('Invalid xml {text}'.format(text=xml))
             return
         xml_iter = theme_xml.getiterator()
         for element in xml_iter:
@@ -454,15 +474,16 @@
             if element.startswith('shadow') or element.startswith('outline'):
                 master = 'font_main'
         # fix bold font
+        ret_value = None
         if element == 'weight':
             element = 'bold'
             if value == 'Normal':
-                value = False
+                ret_value = False
             else:
-                value = True
+                ret_value = True
         if element == 'proportion':
             element = 'size'
-        return False, master, element, value
+        return False, master, element, ret_value if ret_value is not None else value
 
     def _create_attr(self, master, element, value):
         """
@@ -493,7 +514,8 @@
         theme_strings = []
         for key in dir(self):
             if key[0:1] != '_':
-                theme_strings.append('%30s: %s' % (key, getattr(self, key)))
+                # TODO: Due to bound methods returned, I don't know how to write a proper test
+                theme_strings.append('{key:>30}: {value}'.format(key=key, value=getattr(self, key)))
         return '\n'.join(theme_strings)
 
     def _build_xml_from_attrs(self):
@@ -512,6 +534,9 @@
         elif self.background_type == BackgroundType.to_string(BackgroundType.Image):
             filename = os.path.split(self.background_filename)[1]
             self.add_background_image(filename, self.background_border_color)
+        elif self.background_type == BackgroundType.to_string(BackgroundType.Video):
+            filename = os.path.split(self.background_filename)[1]
+            self.add_background_video(filename, self.background_border_color)
         elif self.background_type == BackgroundType.to_string(BackgroundType.Transparent):
             self.add_background_transparent()
         self.add_font(

=== renamed file 'openlp/core/lib/toolbar.py' => 'openlp/core/lib/toolbar.py.THIS'
=== renamed file 'openlp/core/lib/treewidgetwithdnd.py' => 'openlp/core/lib/treewidgetwithdnd.py.THIS'
=== modified file 'openlp/core/lib/ui.py'
--- openlp/core/lib/ui.py	2016-12-31 11:05:48 +0000
+++ openlp/core/lib/ui.py	2017-01-08 22:05:36 +0000
@@ -27,8 +27,8 @@
 from PyQt5 import QtCore, QtGui, QtWidgets
 
 from openlp.core.common import Registry, UiStrings, translate, is_macosx
+from openlp.core.common.actions import ActionList
 from openlp.core.lib import build_icon
-from openlp.core.utils.actions import ActionList
 
 
 log = logging.getLogger(__name__)
@@ -165,7 +165,7 @@
             kwargs.setdefault('icon', ':/services/service_down.png')
             kwargs.setdefault('tooltip', translate('OpenLP.Ui', 'Move selection down one position.'))
         else:
-            log.warning('The role "%s" is not defined in create_push_button().', role)
+            log.warning('The role "{role}" is not defined in create_push_button().'.format(role=role))
     if kwargs.pop('btn_class', '') == 'toolbutton':
         button = QtWidgets.QToolButton(parent)
     else:
@@ -183,7 +183,7 @@
         button.clicked.connect(kwargs.pop('click'))
     for key in list(kwargs.keys()):
         if key not in ['text', 'icon', 'tooltip', 'click']:
-            log.warning('Parameter %s was not consumed in create_button().', key)
+            log.warning('Parameter {key} was not consumed in create_button().'.format(key=key))
     return button
 
 
@@ -270,7 +270,7 @@
         action.triggered.connect(kwargs.pop('triggers'))
     for key in list(kwargs.keys()):
         if key not in ['text', 'icon', 'tooltip', 'statustip', 'checked', 'can_shortcuts', 'category', 'triggers']:
-            log.warning('Parameter %s was not consumed in create_action().' % key)
+            log.warning('Parameter {key} was not consumed in create_action().'.format(key=key))
     return action
 
 

=== modified file 'openlp/core/resources.py'
--- openlp/core/resources.py	2016-04-18 07:48:59 +0000
+++ openlp/core/resources.py	2017-01-08 22:05:36 +0000
@@ -4,7 +4,11 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
+<<<<<<< TREE
 # Copyright (c) 2008-2016 OpenLP Developers                                   #
+=======
+# Copyright (c) 2008-2017 OpenLP Developers                                   #
+>>>>>>> MERGE-SOURCE
 # --------------------------------------------------------------------------- #
 # 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  #
@@ -26,6 +30,7 @@
 from PyQt5 import QtCore
 
 qt_resource_data = b"\
+<<<<<<< TREE
 \x00\x00\x9a\x53\
 \x89\
 \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -22587,6 +22592,11016 @@
 \xcf\xfb\x9f\xff\xfc\x67\xef\xfd\xbf\xff\xfd\xef\xa0\x7f\x20\xa0\
 \x9d\x52\xf3\xff\x59\xe8\x8f\x49\x93\x58\x99\xcd\x00\x00\x00\x00\
 \x49\x45\x4e\x44\xae\x42\x60\x82\
+=======
+\x00\x00\x02\x4e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\
+\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xcb\x49\x44\
+\x41\x54\x38\x8d\xa5\x93\x3b\x6b\x94\x41\x14\x86\x9f\xd9\x8b\xab\
+\x59\x51\xd0\x20\x44\x4c\xd0\x34\xb1\xd5\xb5\x54\x74\xff\x82\x58\
+\x68\x97\xff\x62\x1f\x82\x82\xbf\xc1\x26\x76\x5e\xd0\x5a\x12\xc4\
+\x2d\x04\x6d\xc3\x4a\x10\x89\x49\x0a\x43\x76\xbf\x6f\xe6\xcc\x39\
+\xc7\xe2\xcb\xae\xab\xbb\xa9\x32\xcd\x19\x86\x79\xdf\x79\xce\x65\
+\x82\xbb\x73\x9a\xd5\x18\x6d\x5e\x3c\x7a\xf8\x39\xa6\xd4\x31\x35\
+\x4c\x33\x26\x19\xcb\x82\xa5\x2a\x6a\x4a\xa8\x64\x54\x12\x75\xc9\
+\xbd\xa7\xfd\xfe\x9d\x7f\x0c\x8a\xa2\xec\x74\x6f\x5c\xc7\x73\x25\
+\x56\x49\x68\x4c\x68\x8a\xe4\x18\xd1\xb2\x8a\x52\x96\x7c\xfc\xb5\
+\xd7\x99\x22\x30\x11\x2c\x46\x4c\x15\xcb\x19\x4d\x52\x11\x48\xc6\
+\xb2\x1e\x9f\x2b\xa8\xe2\x66\xd3\x29\x98\x48\xf5\x82\x64\xf6\x06\
+\x03\xce\xb8\x71\x54\x94\xb8\x1b\x97\xcc\xb1\x9c\xab\xd4\xfe\x33\
+\xa8\x8d\x36\x2a\x82\xc6\xc8\xef\xc1\x11\x2b\x8f\x9f\x90\xe7\xda\
+\x2c\x76\xbb\x5c\xb9\x75\x9b\x83\xe1\x90\xfd\x61\xc1\x5e\x51\x50\
+\x26\x39\x89\x20\x23\x65\xc4\x5b\x67\xa9\xb9\xb1\x74\xf7\x1e\x87\
+\xdf\xfb\x5c\xed\x74\xb8\xb0\xb0\x40\xad\xd9\xc4\xd5\xf8\xf2\xfc\
+\xd9\x09\x04\x59\x28\x8a\x82\xa5\xfb\x0f\x28\xf7\x0f\xb8\xb8\xb8\
+\x48\xa3\x56\x67\x77\x6b\x8b\xd6\xb9\x39\x5a\xed\xf3\xec\x7c\x78\
+\x4f\xdd\x99\x6d\x60\x22\x88\x2a\x36\x1c\xd2\xdf\xd8\xe0\xa0\xd7\
+\x23\xa8\xd2\xbe\x3c\xcf\xce\xbb\xb7\xec\x6e\x6e\x32\xbf\x72\x93\
+\x5a\x4a\xfc\x95\x4f\xa4\xa0\x22\x34\xca\x92\x1f\xaf\x36\x68\xba\
+\xf3\xf3\xcd\x6b\x5c\x15\x95\x8c\xe7\xcc\xe0\xeb\x37\x72\x4a\xd4\
+\x43\xc0\x42\x98\x5d\x03\x8d\x11\xcc\x31\x53\x5c\xab\xd6\x8d\xe6\
+\xc2\x44\x70\xc0\x00\x9f\x45\x60\x22\x68\x19\x71\x77\xdc\x6c\x6c\
+\x50\xb5\x4f\xb1\x63\xb1\x86\x80\xcf\x26\xa8\xe6\x80\x91\x81\x29\
+\xa6\x86\xb9\x57\xe2\x10\xc6\x51\x4f\xaa\xc1\xb5\xd5\x55\xda\xcb\
+\xcb\x30\x81\x39\x19\x1d\x38\xdc\xde\xe6\xd3\xfa\xfa\xb4\x41\xc3\
+\xbd\xf7\x72\x6d\x6d\x3c\xe3\x0e\x78\x08\x63\xa1\x8f\x08\x80\x46\
+\x08\xbd\xd1\xbd\x70\xda\xef\xfc\x07\x11\x4a\x6f\x13\xfe\x0f\xc3\
+\x88\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x02\x27\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xa4\x49\x44\
+\x41\x54\x38\x8d\x95\x93\x3f\x88\x13\x41\x14\x87\xbf\x37\x13\x35\
+\x31\x82\x32\x1a\xb0\x50\xd0\x42\x83\xa4\x48\x25\xb8\x81\x2d\xdc\
+\xd6\x32\xb5\x81\x2c\xd8\x88\xb5\x08\x82\xa2\xd8\xda\x0a\x69\x52\
+\x5a\xa4\x10\x2c\x6c\x0e\xbc\xc3\x62\xab\x58\x6e\x3a\xe5\xe4\x0e\
+\x2c\x94\x5b\x53\x78\x1c\xa7\x71\x9e\x85\xd9\xcd\x5d\x5c\xa3\x3e\
+\x18\x78\xcc\xfb\xbd\x6f\x7e\xf3\x4f\xd2\x34\xbd\x24\x22\x86\x92\
+\x18\x8d\x46\xb7\xda\xed\xf6\x8b\x66\xb3\xb9\x53\x56\x07\x90\xc1\
+\x60\xf0\xd1\x5a\x7b\xac\xac\xa8\xaa\x35\xe0\x9b\x88\xfc\x28\xab\
+\x7b\xef\x67\x95\x46\xa3\x71\x34\x0c\x43\x27\x22\x0b\xea\x81\x1c\
+\xa8\x2d\x41\x8b\x3c\x49\x92\xcc\x2c\x89\xff\x2b\x44\x84\x4a\x9e\
+\xe4\xa0\x55\xc0\x27\x6e\x17\x80\xfb\x3b\xc7\x8b\xb9\x4a\xde\xfc\
+\x2f\x80\x5d\x3e\xcf\x35\x17\x16\x80\x55\x0e\x1e\x9e\xca\x00\x78\
+\x34\x75\x73\xc0\xa7\xb9\xe6\xe2\xdf\x01\x22\xc2\x94\x4d\x00\x8c\
+\x39\xb3\x04\x90\x72\xc0\xdd\x93\xef\x01\x78\xfa\xf5\x32\x22\xc2\
+\x17\x3e\x00\x60\xed\xb5\x43\x5b\x30\xc6\xa0\xaa\x8b\x43\x34\xc6\
+\x60\x8c\x61\x93\x8d\x79\xc3\x15\x00\xa6\x05\xc0\xa2\xaa\x85\x03\
+\x6b\x2d\xde\xfb\xc5\x21\xe6\x80\x97\x7b\xb7\x31\xc6\x14\x36\x5f\
+\x7f\x7f\x50\x58\x55\x55\xd6\xf7\x1f\xa3\xaa\xc5\xea\x00\x95\xc9\
+\x64\xb2\x5d\xad\x56\x7f\x7b\xca\x22\xc2\x6c\x36\xab\x59\x6b\xf7\
+\x45\xc4\xe7\x90\x83\x91\xa6\xe9\x56\x41\x2c\x1b\xbd\x5e\xef\x5e\
+\xbf\xdf\x3f\xbb\x4a\x53\xfa\x89\x00\xe2\x38\x3e\xdf\x6a\xb5\xae\
+\x7a\xef\x6f\xc6\x71\x7c\xe4\x4f\x3a\x59\xb6\x15\xc7\x71\xa3\xd3\
+\xe9\xdc\x49\x92\x64\x2f\xcb\xb2\xd3\xf5\x7a\x7d\x2d\x0c\xc3\x1b\
+\xe3\xf1\xf8\x2d\xf0\x7c\x38\x1c\xfa\x43\x0d\xb9\x15\x40\x82\x20\
+\x78\x16\x04\xc1\xab\x28\x8a\xce\x01\x75\xe7\xdc\x1b\xe7\x5c\x17\
+\x38\xd1\xed\x76\xaf\x47\x51\xf4\xce\x39\xd7\xe6\xd7\xf5\x8b\xaa\
+\xf2\x13\xa3\xf2\xb5\x50\x77\x5a\x2a\xf8\x00\x00\x00\x00\x49\x45\
+\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x03\xb2\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x03\x2f\x49\x44\
+\x41\x54\x78\xda\x5d\x93\x4b\x4f\x1b\x67\x14\x86\xdf\xb9\x9a\xf1\
+\x35\xd4\x30\x80\x5d\x30\x34\x76\x0a\xa9\x62\x64\xa5\xc5\x11\x5d\
+\x21\x58\x75\x89\xba\xe9\xb6\xab\x4a\x49\xb7\x2c\xf9\x05\x20\xf5\
+\x0f\xb0\xa8\x14\x2a\xb5\xdd\x77\x81\x2a\x41\x43\x85\x6c\xab\x44\
+\x56\x2c\x5a\xda\x92\xc4\xe3\x00\x1e\xc0\xf1\x95\xf1\x65\x3e\xcf\
+\x4c\xcf\x58\x05\x45\x79\xa5\x33\x33\x8b\x73\xde\xef\x9c\xe7\x7c\
+\xc3\x39\x8e\x83\xf7\xc5\x71\x9c\x08\x60\x8c\x62\x26\x12\x89\xdc\
+\x5f\x5e\x5e\x7e\x34\x3f\x3f\x3f\xab\xeb\xba\xb9\xb1\xb1\xf1\xe5\
+\xe1\xe1\x61\x7b\x73\x73\x73\x74\x7b\x7b\x5b\xe3\x00\xf0\x14\x13\
+\xff\x27\xcf\xad\xac\xac\x3c\x4a\x26\x93\xb3\xe9\x74\x3a\x3e\x39\
+\x39\x19\x56\x14\x45\xb8\x31\x36\x0c\x83\xcd\xcd\xcd\x7d\xa1\xaa\
+\xea\x77\x13\x13\x13\x23\x9a\xa6\xbd\x12\x01\x3c\x7c\x4a\x5a\x5c\
+\x5c\xbc\x2b\xcb\xb2\xc0\x18\x73\x3b\x80\x28\x8a\x10\x04\x01\x1c\
+\xcf\xa3\xd1\x71\xf0\xf6\xda\x42\x62\xfc\x03\x69\x78\x78\x38\xb1\
+\xbe\xbe\x7e\x8f\x0e\x93\xf2\xf9\xbc\xe2\x1a\xe8\xd3\xd3\xd3\x2a\
+\xb3\x1c\xe1\x58\xbb\xc6\xc7\x11\x05\xf5\x36\x50\x31\xfa\x00\x1c\
+\x32\x72\x10\x0e\xc8\x98\x19\x1f\x82\xcf\x2b\x83\xba\xba\xbf\xb6\
+\xb6\xf6\x72\x75\x75\x75\x76\x6b\x6b\x4b\xe3\x01\x5c\x64\x32\x99\
+\xe3\x8b\xa6\x85\x17\xe7\x0c\x27\x57\x16\x15\x49\xf8\xf4\xa3\x20\
+\xd2\xf7\x42\x88\xa9\x5e\x74\x2d\x1e\x27\x97\x7d\x34\xa9\x93\x54\
+\x2a\xf5\x89\xdb\xa1\xc7\xe3\x19\xe0\xe2\x09\xa2\x49\x06\x85\xa9\
+\xb0\x8c\x58\xd8\x83\xa0\x4f\xc2\x95\xe1\x90\x99\x89\x3f\x29\x04\
+\x32\x4b\xcd\x04\xf0\x60\xca\x0f\x9e\x46\x5a\x5a\x5a\x9a\xa5\x62\
+\x81\xa7\xd1\x5c\x0d\x9e\x3b\x3b\x3b\x99\x76\x5f\x44\xb3\x4b\xed\
+\xfa\x3d\xf8\xec\x6e\x10\xb1\x11\x1f\x44\x49\x40\xb9\xc6\x70\xf8\
+\xfa\x1a\xc5\xab\x1e\x25\xdb\x88\xc7\xe3\xa3\xd1\x68\xd4\x13\x08\
+\x04\x1c\x00\x83\x75\xa1\xd9\x6c\xfe\x3b\x24\x58\xb6\x47\x16\xf9\
+\xfc\x9b\x2e\xc6\x5a\x0e\x3e\x0c\xfb\x10\x1f\xf3\xa2\x66\x58\xb8\
+\xa8\x77\xd1\x30\x4c\x74\xba\x26\x02\x7e\xbf\x48\x1c\x86\x6a\xb5\
+\x9a\x3d\x18\x01\x18\xe8\xf5\xd5\xa5\xde\x48\x46\xbd\xb0\x6c\x8e\
+\xe8\x8b\xd0\x9b\x26\x4a\x95\x1e\xbc\xb2\x83\x87\x33\x3e\xa4\x62\
+\x0a\x46\x83\x22\x5a\x6d\x06\xbf\xdf\x3f\x54\x2e\x97\xad\x77\x0d\
+\x2e\xf7\xf7\xf7\x8f\x43\x44\x3b\x44\x8b\x49\xc7\x83\x78\x30\x19\
+\x80\x28\x00\x27\x7a\x07\xd9\x93\x26\xf2\xc5\x6b\xf4\x58\x1f\x9c\
+\xcd\x40\xdc\xa4\x4a\xa5\x62\xdd\x32\x70\x41\x1e\x1c\x1c\x14\x44\
+\xaa\xd0\xde\xf6\x90\x7b\xd5\x82\x56\xe9\x42\x0d\x4a\x70\xe1\x0a\
+\x94\x45\x6b\xc6\x79\xb5\x07\xbd\xde\x43\xa9\x54\x12\xaa\xd5\x2a\
+\x13\x05\x5e\xb8\xbd\xca\xa1\x50\xe8\x6b\xed\xcd\xf9\xd6\x2f\x2f\
+\x1a\x98\x1e\x51\xe0\x0c\x8c\x6d\x8c\xf8\x05\x8c\x87\x24\x74\xcd\
+\x3e\x4a\x04\xb2\xd5\xe9\x80\x9d\x3e\x73\x54\x6f\x91\xfb\xf9\xa7\
+\xef\xff\x1a\x40\xbc\x01\xd9\xed\xb4\xed\xe8\xb0\x87\x8f\xa9\x0a\
+\xb1\x70\x70\x5a\x69\xa3\x5c\x67\x38\xab\xba\x2c\x78\x44\xee\x88\
+\x50\x15\x07\x3f\xee\x14\x59\xa7\x92\x91\x7f\xcd\xb6\xbe\xb9\x35\
+\x70\x41\x9e\x9d\x96\x9a\x4c\x9a\xba\xf3\xfb\x71\x1d\xe9\x44\x10\
+\xc9\x29\x5a\x25\x0f\xd8\xb6\x0d\x57\xad\x56\x8b\xfd\x71\x74\xa4\
+\x67\xb2\xcf\x8b\xcf\xf6\x7e\x4b\x54\xeb\xc6\xfe\xbb\x06\x17\xbb\
+\xbb\xbb\x47\x8f\x9f\x7c\xfb\xb9\xe5\xf0\x50\x64\xde\x21\x50\xac\
+\x50\x28\xe8\x04\x58\xcb\x66\xb3\x7f\xd3\x7d\xc9\xd1\xc8\x2f\x41\
+\x6c\x29\xce\x1d\xd2\xad\x01\x7d\xb3\x85\x85\x85\x6c\xa3\xd1\xb0\
+\x72\xb9\xdc\x3f\x7b\x7b\x7b\xcf\x4d\xd3\x74\x93\x8b\x14\x67\x14\
+\x06\xe5\xdc\xfc\xee\x5f\x01\x48\xd0\xfb\x87\xff\x00\xdf\x34\x7e\
+\xa9\xf2\x5a\xd3\x9b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\
+\x82\
+\x00\x00\x02\x16\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\
+\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x93\x49\x44\
+\x41\x54\x38\x8d\xa5\x91\x4f\x6b\x13\x41\x18\x87\x9f\xdd\x9d\x92\
+\xcd\x6e\x34\x69\xd5\x50\x85\xb6\xf1\xcf\xa5\xa1\x88\x39\x45\x50\
+\xf0\xd6\x8b\x57\x3f\x81\x67\x69\x6f\xe6\xdc\xe3\x7c\x02\x11\x04\
+\x5b\xbf\x81\x87\x82\x20\x08\xde\xec\x41\x68\xa3\x10\x0a\x92\x08\
+\x42\x12\x30\xdd\x98\x6d\xe9\xba\x99\xcc\x8e\x07\x6b\x93\x1a\x2b\
+\xa5\x79\x4f\x2f\x03\xcf\xc3\x6f\xde\x9f\x65\x8c\x61\x92\xb1\x27\
+\xa2\x01\x21\xa5\x9c\x28\x82\x00\xa8\x54\x2a\xe7\x82\xa5\x94\xbf\
+\x05\x00\x8f\xd7\x3e\x52\xea\x6d\xe1\x25\x35\xda\x49\x01\xaf\x65\
+\xf0\xf3\x79\x7e\xe6\xbe\x70\x29\xf5\x9d\xf4\x8f\x79\x36\xf4\x3d\
+\x0e\xb5\x83\xd6\x86\x77\xcf\xee\x03\x23\x37\xf0\x54\x8f\xc4\xa9\
+\xd3\x4b\x39\x24\xfd\x00\x1d\x84\x64\xc3\x01\x3b\x3a\x62\xf6\xee\
+\x55\xc4\x8d\x88\x47\x33\x7b\xc4\xc6\x26\xc6\x39\xf9\x05\x80\xae\
+\x93\x61\x37\xf1\x21\x52\xc4\xfb\x9a\x42\x18\x33\xe5\x29\xca\xea\
+\x0e\x9f\x23\x9b\xd9\x2b\x55\xaa\x7b\x39\xfa\x08\x34\xc3\xb3\x1d\
+\x27\xd8\xb7\x7c\x3a\xba\x4c\xf6\x43\xcc\x85\x86\xe2\x6b\x56\x13\
+\x1c\xc6\x2c\x75\x1d\x4a\xcf\xf3\x84\xd9\x65\xde\x07\x39\x06\xb6\
+\xa0\x6f\x89\xf1\x04\xf5\xc0\x60\x5b\xf3\x5c\x54\x21\xc5\xd6\x2e\
+\x4d\xe3\xf2\x7a\xe1\x13\xd7\xdd\x27\xa8\xe5\x03\x5e\xbc\x99\x23\
+\x42\x60\xac\x51\x6a\x64\x75\x33\x2e\x00\xdb\x0f\x2b\x6c\x35\x5e\
+\xe1\x35\x37\x29\x14\x1f\xb0\xbe\x38\x43\xad\x7d\x0d\x3c\x43\xea\
+\x1f\x4d\x1c\x0b\xd2\x47\x02\x00\xbf\x53\xe5\xd6\xcd\x22\x07\xb7\
+\x9f\xd2\xe8\x0e\x70\x33\xa7\x57\x39\x96\x00\x63\xe8\x38\xd3\xd4\
+\x06\x8b\xf8\x4a\x90\xce\x88\xd3\xd8\x93\x82\xb7\x2b\x97\x87\xaf\
+\xab\x2f\xff\x0b\x8d\x09\xa4\x94\x67\x06\xfe\x1e\x0b\x58\x00\xe6\
+\x18\x56\x6a\x9d\x81\x33\x40\x02\x7c\xfb\x53\xca\xd4\x39\x03\xa8\
+\x5f\xd3\x56\x89\xec\x63\x12\x58\x4f\x00\x00\x00\x00\x49\x45\x4e\
+\x44\xae\x42\x60\x82\
+\x00\x00\x03\x3e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\xbb\x49\x44\
+\x41\x54\x78\xda\xa5\x93\x7b\x48\x53\x51\x1c\xc7\x7f\x77\x0f\xbb\
+\xdb\x9c\x4a\x64\x39\xa6\xe6\x4a\xd4\xa4\x97\xf9\x8f\x4a\xe4\x1f\
+\x3d\xfc\xa7\x21\x54\xd0\x9f\xf9\x48\x87\x98\x42\x7f\xf6\x97\x42\
+\xff\xf5\x00\xf5\xfa\x60\x19\x81\xd0\x42\x7a\x61\x52\x08\x86\x4d\
+\xa8\x6d\x38\x1f\x9b\x33\x1f\x2c\x71\xb8\xcd\x2d\xf3\x6e\xb2\xdd\
+\xb9\xee\xbc\xbb\xf7\x74\xaf\xe1\xd2\xb2\xbf\x3c\x70\x38\xe7\xf7\
+\xfd\xfd\xce\x97\x0f\xe7\x77\x0e\x86\x10\x82\xfd\x0c\xc9\x5e\x62\
+\x5d\xa7\x43\x13\x07\xae\x14\x30\x38\x2b\xe2\x10\x87\x30\x91\x8d\
+\xe5\xe2\x96\xbe\xe6\x62\xf7\xdf\xb5\xbb\x08\x1a\xbb\xe7\x92\xa3\
+\x1c\xf3\xb0\x48\x93\xaa\x2b\xc8\x54\x62\x59\x87\x64\x20\xa4\x3d\
+\x64\x14\x66\xdd\x61\xf4\xd5\x43\x11\x52\x69\xfc\x9e\xbe\xbe\x38\
+\xfa\x8f\x81\xae\x6d\x52\x25\x4f\x95\x99\x6f\x9e\x57\xe7\xa4\x29\
+\x92\xc0\xea\x0c\x0a\x07\x19\x9e\x02\x3b\x9a\xae\x90\x94\x15\x1c\
+\x04\x2f\xf9\x13\x5e\x99\xbd\xce\x20\x03\x25\x86\x86\x53\xeb\xc2\
+\x39\xd1\xb6\x13\x9b\x24\xee\xad\xbb\x92\x93\xf3\x7d\x9d\x86\xc7\
+\xef\x9c\xa3\xa3\xb3\x81\x62\x77\x30\xac\x58\xf5\x61\xc9\xc6\x99\
+\xd5\xb2\x07\x6f\x9d\x16\x8a\x8e\x43\xed\x25\x4d\x1e\x8e\x58\x22\
+\x81\x2d\x10\x54\x77\x4c\xdd\x78\xf1\xd9\x87\x26\x96\xc2\xa8\x8a\
+\xb0\xbf\xe6\xc5\x2d\x32\xf4\x67\x85\xd6\x56\x24\xaa\xe9\xb2\xbd\
+\xb7\xbb\x28\xd4\x67\xf4\xa2\x6a\xc2\x5e\x21\xe8\xbf\x09\x30\x4c\
+\x2b\x20\x0e\x58\x56\xa2\x1c\x16\xd3\x21\x5e\x32\x5a\xad\x47\x9e\
+\xf7\xf7\xdf\xd7\xeb\xf5\x8d\x7e\xbf\x5f\xde\xd2\x02\x1c\x07\xcc\
+\xed\x81\x31\x1f\x5d\xc2\xd7\x02\xa0\x6b\x09\x82\x3b\x4f\x67\xe6\
+\x82\x11\x16\xd5\x10\xf6\x11\x21\x76\xb9\x5c\xf8\xd0\x47\xe3\x62\
+\x38\x42\xa3\x50\x28\x84\x0c\x06\xc3\x00\xaf\x4b\x85\x5c\x5d\xf7\
+\xb4\x39\x10\x61\x39\x5d\xcf\xf4\x64\x82\x20\x4d\x26\x55\x85\xe9\
+\x38\xe2\x30\xb4\x2c\xc4\xb1\x58\x4c\xa1\x52\xa9\x8e\x31\x2c\x0b\
+\x98\xe4\x00\xe4\xe7\xe7\x5f\xd8\x6e\x79\x9c\xe5\x16\x68\x86\x45\
+\xc9\x32\x49\x46\xe2\x12\x7f\x84\x63\xd3\x29\x32\x09\x92\x4b\xc5\
+\x1a\x21\x66\x59\x96\x1a\x33\x9b\x26\x22\xe1\x10\x6c\xd2\x51\x20\
+\x49\x72\x98\x97\x37\x85\x9c\x5c\x26\xe1\x92\xc4\xa2\xf9\x20\x15\
+\xb3\x25\x0c\x78\xc3\x71\xbe\x45\xe4\x89\x2c\x25\xd4\x76\xd9\x8e\
+\x17\x16\x16\x6e\xaa\x32\xd2\x2f\x1a\x47\x86\xa1\xa3\xbd\x0d\x70\
+\x1c\xaf\x12\x7c\xab\xbb\xec\xd9\x27\x33\x53\xc8\x65\x32\xea\x00\
+\xc0\x86\x12\x06\x2c\xc0\x93\xc1\x71\xbf\xf3\x7a\xa9\x7a\x51\x81\
+\x4b\x2f\xd7\xb6\x3b\x94\x5a\xad\x96\xe2\x8d\x40\xad\x56\x43\x79\
+\x79\x39\x7d\xab\x67\x4a\x9c\x8a\x4b\xf3\x2a\x4b\x54\x8b\x1f\xac\
+\xfe\x79\x31\x12\xf5\x27\x0c\xfa\x1a\xcf\x7c\x5b\xf2\x51\x8f\xcc\
+\x0b\x41\x7f\xf3\xd5\xdc\x8d\xec\x0c\xfc\xf0\xce\x36\x6f\xd5\x34\
+\x9c\x63\xef\x56\xe6\x7a\x3f\x39\xd6\x7c\xcb\x6b\x1b\x6f\x7a\x9b\
+\x4e\x07\x76\xfd\x85\x67\x4d\x45\x83\x40\xd8\x82\x2b\x81\xa8\xb2\
+\xbe\x42\xe3\x86\x3d\xc6\xcb\x2f\x2b\x9e\x79\x0f\xb5\xc1\xd7\x7a\
+\x76\x3e\xa4\x5d\xb3\xa6\x73\x4a\xb6\xbd\x37\x99\x4c\x0c\x41\x10\
+\x21\x61\xff\xbf\xb9\xef\xef\xfc\x0b\xa5\xaf\x95\x23\x5d\x97\x84\
+\x4f\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x02\x02\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x7f\x49\x44\
+\x41\x54\x78\xda\x8d\x93\xbf\x4b\xc3\x40\x14\xc7\xdf\x5d\x0a\x71\
+\xa8\xfd\x0b\x04\x17\x07\x27\xff\x83\xe6\x7f\xd0\xfc\x27\x1d\x54\
+\x68\x37\x17\x57\x87\xee\x42\xe7\x80\x75\x11\x71\x76\xab\x4b\xea\
+\xa8\xad\x53\x88\xc1\xd0\xa9\x81\x24\x6d\x9e\xef\x85\x3b\xae\x77\
+\x45\xf0\xc1\x37\xef\xee\xfd\xf8\xbc\x97\x40\x04\x00\x9c\x90\xce\
+\xe0\x7f\x16\x23\xe2\xc7\x6e\xa0\xc3\xcd\xdf\x59\x16\x21\x02\x78\
+\x9e\x04\x29\x04\x08\x29\x41\xb0\x67\x71\x15\x79\x49\xb1\xc3\x6e\
+\x37\xa4\xdb\x1e\x00\x54\x4d\x6b\x59\x96\xc1\x62\xb9\x64\x90\x8a\
+\x0b\x7e\xe8\xfb\x29\xdd\xfb\x60\xec\x8b\x00\x3c\xd9\x03\x40\x6c\
+\xa7\xc4\x71\x0c\x41\x10\xd0\x16\x1e\xc5\xcd\x26\x0c\x58\xad\x56\
+\x37\x74\x46\x3d\x71\x34\x1c\xde\xb6\x00\xa1\xd6\x96\x6a\x75\xae\
+\x90\x3c\x50\xe7\x8c\x24\xec\xbc\x56\xaf\xd7\xf3\x19\xa0\x1b\xd9\
+\xb3\x78\xa3\x56\xd2\x01\x4b\x05\x6a\x4d\x9d\x2d\x80\x67\x00\xec\
+\x8d\x14\xc8\x05\xb0\x19\x80\xf2\x8e\x18\x6a\x6d\x68\x99\x06\x08\
+\x96\x2a\x22\xe3\x49\xa6\xd9\x00\x74\xde\xf2\x1d\x7d\x90\x66\x82\
+\x5e\xd7\x69\x76\x01\x66\x03\x2b\xa9\x37\x70\x1b\x5d\x88\x01\xb8\
+\xa6\x81\x7f\x40\x10\x11\xaa\xaa\x82\xb2\xaa\x70\xfe\x3e\x4f\x18\
+\x80\x94\x41\x2a\x16\x8a\xee\x4e\xb2\x9a\x93\x24\x01\xdf\x3f\x80\
+\xbb\xf1\xf8\x65\xfa\x30\x9d\x70\xfe\x98\x74\x4e\xba\x60\xf5\x83\
+\xe0\xbe\x28\x0a\x2c\xcb\x12\x69\x12\x6e\x36\x1b\xdc\x6e\xb7\xd8\
+\x34\x0d\xae\xd7\x6b\x4c\xd3\x14\x07\x57\xd7\xaf\x54\x7b\xc4\x40\
+\xa6\x5a\x0a\xc3\x70\xa0\x01\x75\x5d\x5b\x80\x9f\x3c\x6f\x2e\x87\
+\xa3\x67\x6e\x26\x71\xfd\xfe\x37\x88\xa2\xe8\x49\xfd\x1f\xd2\xcd\
+\x7d\x2e\x16\xf9\xdb\x6c\xf6\x48\x8d\xb9\x8e\xfd\x02\x81\x94\x9d\
+\xac\x38\xaa\x49\xce\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\
+\x82\
+\x00\x00\x02\x5f\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xdc\x49\x44\
+\x41\x54\x38\x8d\xa5\x53\x4d\x6b\x13\x51\x14\x3d\xf7\xa5\xf3\xc1\
+\x64\x66\x60\x5a\x5a\x4b\xfd\x28\x96\x66\x51\xb1\xc5\x56\x02\x82\
+\x74\x11\xc4\x65\xdd\xfa\x13\x8a\xb8\x70\xe9\x4a\x14\x7f\x41\x57\
+\x2e\x0a\x82\xe0\x4a\xb2\xad\xae\x84\x86\x22\x88\x46\xe2\x47\xc1\
+\xd8\x42\x95\x68\x28\xd1\x36\xe9\x64\xd2\x24\xf3\xf5\xde\x73\x65\
+\x6a\xed\x34\x28\xde\xdd\xbd\xe7\x70\xee\xb9\xef\x71\x48\x4a\x89\
+\xff\xa9\x81\x7f\x21\xd3\x02\x9d\xd4\xf4\xd4\x05\xdb\x31\x8d\x1f\
+\xcb\x6e\x1e\x00\x28\xc9\x01\xe5\x48\x87\x89\x99\xb3\xd3\xa3\xf3\
+\x63\xe3\x43\xf3\xce\x88\x75\xde\xb1\xec\x53\x43\xb6\xa3\x0d\xa6\
+\x1d\xbc\x7a\x51\x7e\xb3\xb2\x58\xc8\x1e\xeb\x60\xf6\xda\xf8\xe2\
+\x95\x4b\xb9\x25\x06\x05\x7e\x10\xa1\xe3\x07\xe8\xb4\x7c\x7c\xa9\
+\x79\x58\x6f\xd5\x50\xa9\x7e\x6b\xf4\x3d\x41\xb1\x14\xac\xbe\x7d\
+\x87\x46\xe8\xa2\x19\x37\xe1\x86\x4d\x08\x2e\x02\x44\xf8\xc8\x38\
+\x6d\x29\x6d\xe6\xf5\x15\xf0\x29\x50\x36\xbf\x57\x5e\xfb\x6a\x54\
+\x80\x86\xf7\x50\xf1\x01\x6d\x7c\x92\xf7\x65\x3c\xf9\xe4\xc4\x65\
+\xaf\xd4\xb9\xd3\x57\xc0\x1e\xb6\x42\xb5\x50\x2f\x76\x1f\x87\xb7\
+\xff\xc4\x4c\xd2\x11\x30\x4e\x7d\x05\x0c\xa6\x33\x22\x50\x12\xa6\
+\xa5\x4c\xa6\xa7\xe2\x1e\xc6\x92\x48\x9c\x4b\x76\x0c\x84\x38\x8c\
+\x28\x12\x07\x3f\x97\xc8\x6a\x86\x5d\x70\xc1\x13\x05\xf6\xa2\x7d\
+\x74\xa2\x6e\xaf\x4f\x3c\xa1\x11\xb4\xc1\xa5\x38\x34\xcb\xed\x90\
+\x59\x5d\x43\xa6\xbe\xa1\x4e\x86\xf1\xc1\xde\x44\x07\x6e\xd0\x42\
+\x2c\xe2\x5e\x9f\x79\x40\xd7\x47\xb7\xe7\xaa\xe9\x09\x94\x54\x23\
+\x7c\xe8\x7f\xf6\xb5\x23\x0e\xe6\xf2\x34\xcc\xce\xe1\xde\x7e\x05\
+\xd3\xc1\x06\x46\xe2\x1d\xda\xfa\x85\x05\xbb\xc8\x96\xbf\x96\x2c\
+\x63\x96\xc1\x1a\xc3\x4b\x4f\x13\x37\x8f\x08\xd4\xb7\xf1\x74\x61\
+\xe6\x6a\xb6\x3c\x55\x84\xb7\xee\xc6\xed\x48\xde\x05\x00\x22\x32\
+\x00\x2c\xd7\x32\x28\x8a\x3d\xb2\xf9\x2e\xdf\x04\xd0\x22\x22\x26\
+\xa5\x14\xbd\x2c\x9c\xbe\xa5\x5e\x4c\x4f\x89\x1b\x03\x67\x10\xd6\
+\x1e\xf1\x67\xf5\x3c\x9e\x4b\x29\xfd\xc4\x97\xfc\xad\x0e\x85\x89\
+\x88\x52\x00\x08\x00\x97\x7f\x99\xf3\x9f\xf1\xc3\xc9\xfa\x1d\x76\
+\x03\xaf\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x02\xfa\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x77\x49\x44\
+\x41\x54\x38\x8d\x8d\x51\x5d\x48\x53\x61\x18\x7e\xbe\x1d\x27\xc5\
+\x38\xb2\xf2\x0f\xe7\xdc\xa6\xce\x99\x90\x08\x5e\x14\x87\x4c\xdc\
+\xa0\xa0\x2e\x02\x2f\x0a\x4f\x21\x11\xb4\xba\x0a\x8e\x81\x5d\x19\
+\x84\x79\x37\x08\xaa\x0b\x85\xf0\xa2\xc2\x20\xc8\x9b\xa8\x0c\xbb\
+\x31\xc1\x18\xd1\x4d\x08\x05\x2d\x2d\x37\x9b\xba\xb9\xb5\xce\xce\
+\xe6\x99\x9e\x73\xde\x2e\xdc\x16\x53\x09\x1f\x78\xf9\xf8\xbe\xef\
+\x79\xde\x9f\xe7\x65\x44\x84\x9d\x60\x8c\x31\x00\x0d\x00\x3c\xf9\
+\xa7\x6f\x00\x22\xb4\x17\x99\x88\x76\x05\x80\xd6\x40\x20\x30\x21\
+\xcb\x72\x42\x96\xe5\x44\x20\x10\x98\x00\xd0\xba\x27\x77\x0f\xb1\
+\x45\x14\xc5\x61\xc3\xd0\x75\xe5\xf7\x42\x26\x9b\x5a\xcc\x1a\x86\
+\xa1\x8b\xa2\x38\x0c\xc0\xf2\xdf\x04\x79\x08\xb1\x68\x68\x55\xcb\
+\x46\x48\x59\x1c\x25\xe5\xc7\x38\x69\x1b\x2b\x94\x58\x0b\xad\x03\
+\x10\x76\x76\x6d\xda\x31\x11\x2f\x49\x92\x58\x5d\xe7\xae\x55\x57\
+\x5e\x42\x57\x57\xa1\xab\x51\xe4\xd6\xa6\x70\xb8\xc6\x5d\x29\x49\
+\x92\x08\x80\x2f\xf1\xab\x50\x99\x31\x06\xab\xd5\xda\x3d\xff\xf9\
+\xe3\xd3\x1a\xfe\x8f\x43\x59\xb8\x8f\xf1\x37\x07\xc1\x71\x1c\xae\
+\x9c\xd1\x60\x69\xbc\x86\x84\xc2\x2f\xdb\x1c\x6d\x7d\x00\xe6\x8a\
+\x1d\x17\x5a\x31\x9b\xcd\xfc\xd0\xd0\xd0\x28\x11\x51\x6c\xd6\x47\
+\x2b\xd3\xad\xe4\xf5\x7a\xa9\xab\xab\x8b\xa2\x53\x4e\x8a\xcd\x7a\
+\x89\x88\x48\x92\xa4\x07\x00\xf8\x12\x0f\x00\xc0\x6e\xb7\xf7\x44\
+\x97\xbf\x2f\xe7\x12\x1f\x28\x32\x09\x8a\x4c\x82\x5c\x2e\x17\xb9\
+\x5c\xae\xe2\x5d\x8d\xcf\x50\x34\xfc\xe5\x17\x80\x13\x85\xe2\x26\
+\x00\xe8\xed\xed\xad\xf4\xfb\xfd\x7d\x75\xf5\xcd\xf5\xe9\xd0\x3d\
+\x80\x71\xdb\x86\xf0\x3c\x78\xfe\xdf\xc8\xf2\xd7\x3b\xa8\x6b\x68\
+\xb3\x0d\x0c\x0c\x5c\x28\x78\x61\x02\x60\xc9\x64\x32\xc7\xaf\xfb\
+\xfb\xcf\x6d\x26\x83\x50\x57\x5f\x03\xa4\x03\x00\x3a\x9b\x15\x74\
+\x36\x2b\xc5\x04\xb9\xf8\x0c\x72\xeb\xef\x71\xeb\xe6\xd5\xf3\x00\
+\xda\x19\x63\xe0\x04\x41\x70\x57\x54\x54\xf8\x4f\x9d\x3e\x7b\x32\
+\xf9\xe9\x32\x34\x25\x54\x14\xf8\x3a\x52\xf0\x75\xa4\x4a\xd6\xa4\
+\x67\x7f\xa2\xb6\x7d\x90\x97\x65\x39\x13\x0c\x06\xe7\x98\xc7\xe3\
+\xf1\xbd\x9b\x7e\xfb\xa8\xd6\x12\x6e\x8a\xcf\xf6\x94\x90\x6f\xdc\
+\xdd\x3e\x1f\xde\x2e\xdd\x75\x75\xf7\x0c\xe2\xd9\xfa\xa5\x06\x67\
+\xcb\x45\x53\x55\x55\xd5\x51\x87\xb3\xb1\x29\x15\x7e\x95\xc5\x3e\
+\xa1\x84\x9f\xeb\x76\x87\xdb\x29\x08\xc2\xb1\x32\x55\x55\x73\x86\
+\x61\x68\x16\xf7\xe0\x96\x5a\x7e\x48\x2d\xe7\xb6\x0e\x14\x88\x8f\
+\x9f\xed\x16\x6f\x6a\xe6\x8d\x32\xdb\x25\x95\x88\xac\x86\x61\x68\
+\x00\xd0\x32\x32\x32\xf2\x24\x95\x4a\xc5\x68\x9f\x48\xa7\xd3\xc9\
+\xb1\xb1\xb1\x17\x00\x8e\x30\x00\x0c\x80\x0d\x40\x1b\x80\x1a\x00\
+\xe5\x00\xcc\x00\xca\x00\x70\xf9\x7f\x02\xa0\xe5\x63\x0b\x40\x12\
+\xc0\x3c\x80\xa5\xbf\x0f\xbe\x92\x25\xee\x27\x61\x5e\x00\x00\x00\
+\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x03\x93\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
+\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x03\x10\x49\x44\
+\x41\x54\x38\x8d\x8d\x92\x4b\x68\x9c\x75\x14\xc5\xcf\xff\xf5\x8d\
+\x93\x49\x32\x43\x6a\x66\x52\xd2\x58\xc7\x45\x68\x25\x0b\xa3\x55\
+\xd1\x2c\xc4\x2a\x84\x46\x48\xcc\x42\x1a\x28\x48\x5d\x84\x16\x77\
+\xa6\x0a\x55\x49\xc9\xba\x8b\x71\x11\x5d\xb8\x91\x88\xb3\xe9\xc6\
+\x8d\x68\x8b\x15\x22\x56\x8b\xb1\xd0\x2a\x34\x10\x1b\x32\x69\x43\
+\x26\x69\x27\x4e\xe6\x99\x7c\xf3\xfd\x5f\xd7\x45\xec\x03\x17\xe2\
+\x85\xb3\xbb\xe7\x70\xb8\xf7\xc7\x88\x08\xff\x77\x66\x67\x67\x5f\
+\xdf\x28\x6e\xbe\x1b\x6f\x4b\xe4\xcf\x9d\xfb\xf8\x6b\x00\xe0\xff\
+\x65\x98\x9f\x9f\x3f\x74\xe6\xcc\xfb\x73\x27\x4e\xbc\xbd\xb2\xba\
+\x7a\x67\x7b\x74\x74\xec\x72\xa9\x54\x1b\xaf\x56\x9a\xef\xdd\xdf\
+\x61\x8f\x36\x20\xa2\xee\xe9\xe9\xe9\x0f\x0a\x85\xc2\xf8\xc8\xc8\
+\x1b\x5d\x13\x13\xc7\xbb\x3e\xfb\xf4\x73\xcc\xff\xf8\x0b\x3d\x79\
+\xb0\x6f\x5b\x48\x7b\xf1\xca\x95\x9f\x2f\x5d\xbb\xf6\xdb\x0f\x44\
+\x74\xef\xbe\x09\x93\x93\x93\x1f\xe5\xbf\xca\x6f\x7a\xef\xfd\x8d\
+\x1b\xbf\xd3\xd8\xd8\x5b\xfe\x9d\x93\xa7\x1a\x67\xcf\x7e\xf8\xed\
+\xf0\xf0\xf0\x69\x00\x87\x00\x08\x22\xc2\xbf\x25\x01\xa0\x5c\xae\
+\xa8\x0b\x17\xbe\xeb\xf9\x75\xe1\xfa\xb2\xd6\xcd\x6f\xaa\xd5\xd2\
+\x1f\xde\xb7\x6a\xdd\xe9\xe4\xd6\xd4\xd4\xd4\x76\x36\x9b\xed\x29\
+\x97\xcb\x4f\xe5\x72\xb9\xbb\x03\x03\x03\xbb\x73\x73\x73\x07\xfb\
+\xfb\xfb\x2f\xcf\xcc\xcc\x78\x10\x11\xce\x9f\xff\x64\xf0\xc8\x0b\
+\xaf\xd2\xf1\x89\x93\x54\x2e\x57\x68\xe4\xd8\x9b\x34\xf8\xcc\x8b\
+\xb4\xb4\xf4\x27\xad\xac\x14\xe8\xd9\xc1\x97\xe8\xb5\xa3\xc7\xa8\
+\x52\xa9\xd0\xa5\x8b\xdf\xd3\xd3\x87\x07\x29\x97\xfb\x22\x45\x44\
+\x7b\x37\x18\x1a\x3a\x7a\x38\xde\x16\x5f\xd8\xd7\x95\x6c\x30\xc6\
+\xb9\x8e\x74\x4c\x4a\x65\xe3\x6d\x31\x13\xb5\x8c\x32\x3a\x92\x32\
+\x50\x46\x4a\x61\xc3\x30\x0c\x8c\xb6\x22\x99\xea\x3c\x90\xcf\x7f\
+\xb9\x2b\x01\xc0\x98\xa8\x9e\x4d\x3f\xd1\x11\xc4\x62\x1d\x42\x48\
+\xc8\x2e\x05\x06\x06\xc6\x38\xda\xdb\x01\x4f\x1e\xd6\x3a\x38\x67\
+\x21\x65\x0c\x61\xd8\xc2\xad\x5b\xcb\xf4\xe0\x8d\xa5\x52\xc9\xad\
+\xde\xbe\x83\x74\x3a\x8d\x46\xbd\x01\x6f\x3d\x36\x37\xee\xa2\x56\
+\xad\xa2\xb7\x77\x3f\x3c\x01\x9b\x1b\x1b\x88\x05\x0a\xdd\x8f\xef\
+\xc3\xe2\xcd\x9b\x28\xdd\xdb\x7a\x18\xc0\x39\x87\xb5\x0e\x3b\xcd\
+\x1d\x64\x32\x19\x58\xef\xc1\xb8\xc0\xf8\xf8\x28\xfa\xfa\x0e\x40\
+\xb7\x34\x1a\xf5\x26\x52\xa9\x24\x00\x06\xe7\x1c\x38\xdf\x43\xe8\
+\x1f\x90\x18\x92\x9d\x1d\x38\xf2\xfc\x73\x58\x2f\x16\x61\xb4\x41\
+\xd4\xd2\x58\x58\xb8\x8e\xc5\xc5\x25\x44\x91\x81\x75\x0e\x20\xa0\
+\x5e\xaf\x03\x8c\x01\xec\x11\x90\x86\x5e\x7e\xa5\xb7\x33\x99\x5a\
+\x57\x32\x80\x90\x0a\x89\x44\x02\xce\x11\x98\x10\x48\x77\x67\x50\
+\xab\x6f\x23\x0a\x5b\xb0\xce\xa1\x5a\xab\xc1\x18\x8d\x28\xac\xb7\
+\x5d\xbd\xfa\x53\x28\x01\x60\xbd\x58\x74\xc1\xd6\x5f\x08\x54\x0c\
+\x2a\x08\xa0\xa4\x82\x94\x0a\x9c\x0b\x28\x29\xb1\xdb\xac\x83\x73\
+\x06\x06\x42\x71\x6d\x15\x5a\x6b\x68\x13\x11\x80\x3d\x90\x32\x99\
+\xb4\x68\x4f\x74\x40\x48\xb5\x27\x21\xc1\x39\x07\x63\x0c\x42\x49\
+\x84\x2d\x0d\xe7\x2c\xac\x73\xe8\xee\xd9\x0f\x63\x35\x74\xb8\xc3\
+\x1e\x04\xac\xad\xad\x39\xa5\x14\xa4\x0c\x20\xa5\x84\x14\x12\x5c\
+\x08\x30\xc6\x50\x58\x59\x06\x79\x82\xf7\x0e\xd6\x59\x58\x6b\x60\
+\x8d\x81\x31\xfa\x61\x03\x63\xf4\x16\x88\xb2\xde\x39\xde\x68\xe8\
+\x24\x91\x8f\x93\xa7\xb8\x27\xff\x18\x88\x38\xe3\x2c\x62\x8c\x87\
+\x8c\xb1\x50\x08\xd9\x60\x8c\x45\xd6\x9a\x08\x00\xfe\x06\x5b\x7b\
+\x9e\x53\x59\xbb\x17\xfa\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x58\x38\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x01\x90\x00\x00\x00\x73\x08\x06\x00\x00\x00\xb6\x18\x54\x54\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x03\x80\x00\x00\x03\x80\
+\x01\xfc\xf8\x3e\xf3\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x00\x52\x74\x45\
+\x58\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x00\x43\x43\x20\x41\
+\x74\x74\x72\x69\x62\x75\x74\x69\x6f\x6e\x2d\x53\x68\x61\x72\x65\
+\x41\x6c\x69\x6b\x65\x20\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\
+\x61\x74\x69\x76\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\
+\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x62\x79\x2d\x73\x61\x2f\
+\x33\x2e\x30\x2f\x5e\x83\x5a\xbc\x00\x00\x20\x00\x49\x44\x41\x54\
+\x78\x9c\xec\x9d\x77\x7c\x54\x55\xf6\xc0\xbf\xf7\xcd\xa4\xf7\x4a\
+\x42\xaf\xa1\x37\x41\x11\x48\x02\x21\x41\x04\x45\x58\x15\x56\x5d\
+\x7b\x41\x09\xe8\xda\x57\x57\xd7\x8d\xee\xcf\xb2\xae\xae\x05\x09\
+\xf6\xb2\xd6\x05\x5d\x15\x1b\x25\x8d\x24\x14\x0b\x28\x4a\x07\xe9\
+\x48\x49\x08\xe9\x75\xe6\x9d\xdf\x1f\x93\x84\x69\x49\x26\x1d\x75\
+\xbe\x9f\x75\x93\xb9\xef\xbc\xfb\xce\x7b\x64\xee\x79\xf7\xde\x53\
+\x14\xbf\x62\x26\xdf\xba\xa1\xbb\xa7\x41\xc5\xe8\xe8\x03\x05\x7d\
+\xa0\x88\x0c\x40\x08\x10\x11\x3f\x44\x82\x75\x25\xfe\x08\xfe\x20\
+\x3e\x88\x14\x0a\x52\x8a\x48\x29\x48\x99\x08\x85\x82\x9e\x8f\xa8\
+\x1d\x3a\xfa\x4e\x41\xdb\x19\x50\xa6\xef\x5a\xf5\xf6\xb4\xb2\xce\
+\xbe\x2f\x37\x6e\xdc\xb8\xf9\x35\xa0\x3a\x5b\x01\x57\x19\x7f\xc7\
+\x3a\x9f\x00\x83\x61\x3c\x30\x45\x74\x12\x04\x19\x8e\x48\x80\x20\
+\x58\xfe\x27\x20\x96\xff\x04\x6a\x7f\x36\xf1\x59\x04\x10\xc4\xd2\
+\x80\x88\x08\xe8\x87\x44\xd4\x06\x14\x19\xba\x32\x65\x7c\xfd\xd2\
+\xcc\xdd\x9d\x75\xcf\x6e\xdc\xb8\x71\x73\x26\x73\x46\x1b\x90\x19\
+\x77\xfe\x10\xa3\x1b\x4c\x73\x45\x97\x29\xa2\x18\x8f\x88\xb7\x73\
+\xa3\x80\x95\x31\x10\x2c\x87\x2c\x9f\x9d\x1a\x90\xd3\x06\x03\x3b\
+\x03\xe2\xf8\x59\xe4\xb0\x28\x95\x21\x66\xf3\x0a\xb3\x87\xfa\x74\
+\xe3\xcb\x33\xcb\x3b\xfc\x41\xb8\x71\xe3\xc6\xcd\x19\xc8\x19\x67\
+\x40\x66\xdf\xfe\x7d\x70\x95\x87\x5c\x24\x1a\x57\xa1\x4b\xa2\x20\
+\xaa\x99\xb3\x88\x86\x3f\x37\x60\x64\x9c\x7e\xb6\x9a\xd5\x58\xcd\
+\x72\x2a\x40\x3e\x17\xe4\xe5\x6f\x5f\x9f\x95\x0e\x4a\x3a\xf4\xe1\
+\xb8\x71\xe3\xc6\xcd\x19\xc4\x19\x63\x40\x2e\xbc\xef\xfb\xc9\x66\
+\x51\x0b\x41\x2e\x14\x11\x2f\x6b\x23\x60\x37\x88\x5b\x19\x0e\xd0\
+\x14\x44\x85\x79\xd2\x23\xc2\x97\x1e\x5d\xbc\x09\xf4\x35\xe2\xef\
+\x63\xc0\xdb\xd3\x80\x8f\x97\x01\x1f\x2f\x0d\x0f\xa3\x46\x65\xb5\
+\x99\xf2\x0a\x13\x65\x95\x26\x2a\xaa\xcc\x94\x57\x99\x39\x9a\x5f\
+\xce\x81\x63\x65\x1c\x38\x56\x4a\x51\x69\x4d\xdd\x8c\xc3\xf1\x5a\
+\x4e\x3e\x2b\xe1\x80\x8e\xbc\x69\x56\x35\x8b\xbf\x7f\x63\x6e\x5e\
+\xa7\x3e\x3c\x37\x6e\xdc\xb8\xe9\x04\x3a\xdd\x80\xcc\xfc\xcb\x0f\
+\xb1\x66\xa5\x1e\x06\x99\xe2\xca\x2c\xa2\x57\xa4\x37\x23\xfb\x07\
+\x30\xa2\x5f\x00\x7d\xa2\x7d\x89\x0e\xf3\xc6\x68\x68\xfd\x6d\x14\
+\x95\xd5\x70\xf0\x58\x19\xdb\xf7\x17\xb1\x71\x47\x3e\xdf\xef\x3c\
+\x49\x49\x85\xc9\x85\x59\x8f\x5e\x26\xba\xbc\x66\xd4\xd5\xbf\xbe\
+\x7e\xf7\x92\xc3\xad\x56\xc4\x8d\x1b\x37\x6e\x7e\x25\x74\x92\x01\
+\x11\x75\xc1\xfd\x5b\xfe\x00\xf2\x00\x70\x56\x63\x4b\x49\x7e\xde\
+\x06\x26\x0c\x0d\xe6\xac\x98\x00\x46\xf6\x0b\x24\x34\xd0\xa3\x43\
+\x34\xd4\x75\x61\xc7\x81\x22\x36\xee\x38\x49\xf6\x0f\xc7\xf8\x69\
+\x4f\x41\x53\xcb\x64\x55\x3a\xbc\x2e\x5a\xcd\x93\x3f\xbc\x79\xf9\
+\xfe\x0e\x51\xd2\x8d\x1b\x37\x6e\x3a\x91\x0e\x37\x20\x17\xfd\xf5\
+\xa7\x11\x3a\x6a\x09\xc8\x84\x86\xf6\x22\x40\x18\xd5\xdf\x9f\xc4\
+\xb3\x42\x99\x38\x2c\x04\x6f\x4f\xad\xa3\xd5\x74\xe0\x58\x41\x05\
+\xab\x36\x1c\xe1\xd3\xec\x03\x1c\x3a\x5e\x4a\x23\x7b\x27\x35\x22\
+\x2c\x31\x6b\x15\x7f\xfd\xf1\xed\xab\xdd\x2e\xc1\x6e\xdc\xb8\xf9\
+\xcd\xd2\x61\x06\xe4\xbc\xbb\x37\xfb\x79\x7b\x1b\xef\xd1\x45\xee\
+\x47\xf0\xac\x77\xbb\xb5\x7a\x93\x0f\xf2\x33\x30\x3b\x36\x82\xa9\
+\x63\x42\x09\x09\x68\xfe\x4c\x43\x04\x0a\x4b\x6b\x28\x2c\xad\xa6\
+\xb0\xb4\x06\x5d\x17\x2a\xab\x75\x14\xe0\xed\xa5\xe1\xe7\x6d\xc4\
+\xd7\xdb\xb2\x3f\x12\xec\xef\x81\x87\xb1\xf9\x86\x49\x04\x7e\xd8\
+\x75\x92\x0f\xd2\x7e\x26\xeb\xbb\x5f\xd0\xeb\x96\xb4\xec\xf6\x4a\
+\x44\xf4\xbd\x88\xba\xf5\x87\xf7\xfe\xf8\x65\xb3\x2f\xe2\xc6\x8d\
+\x1b\x37\xbf\x02\x3a\xc4\x80\xcc\x7a\x70\xc7\xa5\x3a\xfa\xb3\x88\
+\x74\x73\xb6\x21\x1d\x11\xe8\xc1\xc5\xf1\x11\x9c\x7f\x76\x28\x9e\
+\x1e\xae\x0d\xea\x47\x4f\x56\xb1\xe3\x60\x09\xbb\x0e\x96\x72\xe0\
+\x78\x05\x87\xf3\x2a\x38\x76\xb2\x02\x93\x59\x77\xc9\x03\x4b\x53\
+\x10\x1d\xe6\x4d\x8f\x2e\xbe\xf4\x8c\xf2\xa3\x67\xa4\x2f\x43\xfa\
+\x04\xd1\xaf\x5b\x00\xca\xc5\xa7\xb2\xef\x97\x12\x5e\x5f\xbe\x83\
+\x55\xdf\x1c\xc6\x6c\xd2\x9d\xc6\x9d\x28\xe1\x7f\xba\x51\xbb\x6d\
+\xf3\x7f\xe6\x1e\x69\xf6\x83\x73\xe3\xc6\x8d\x9b\x33\x98\x76\x35\
+\x20\x93\x53\xf6\x79\x07\x98\x2b\xff\xa9\x44\x6e\x73\xe6\x86\x1b\
+\x1e\x68\xe4\xf2\x29\x91\x24\x9e\x15\xd2\xe4\x46\x78\x49\xb9\x89\
+\xaf\xb7\x17\xb2\x69\x67\x11\x9b\x76\x15\x71\xb2\xb8\xba\x11\x37\
+\x5c\x4e\xb7\x37\xe2\x02\xec\x70\xae\x08\x41\x01\x1e\x9c\x15\x13\
+\xca\x59\x03\xc3\x38\x67\x48\x18\xdd\x23\xfd\x9a\xbc\xcf\xc3\x27\
+\xca\x78\x6d\xf9\x0e\x3e\xcf\xd9\x8f\x59\xd7\xc1\xee\x7a\xba\x70\
+\x52\x13\xae\xf9\xe1\x83\xcb\xbf\x68\xfe\x53\x74\xe3\xc6\x8d\x9b\
+\x33\x93\x76\x33\x20\x17\x3d\xb8\x63\xa0\x82\xa5\xa2\x64\x84\xfd\
+\x20\x6e\xd4\xe0\xc2\xf1\x61\xfc\x29\x31\xb2\xd1\xfd\x8d\xca\x6a\
+\x9d\xec\xcd\x05\xac\xd9\x5c\xc0\xf7\xbb\x8b\x31\x99\x74\x5a\x19\
+\xc7\xd1\xa8\x4b\xb0\x33\x23\x33\xb8\x77\x10\xd3\xc7\x77\x63\xea\
+\xb8\x6e\x04\xfb\x7b\x36\x7a\xcf\x5b\x7e\x2e\xe0\xb1\x37\x37\xb1\
+\x63\x7f\x41\xfd\xac\xa7\xee\x5a\x20\x22\x22\x8b\x3c\x02\x4b\xef\
+\xde\xf8\xf2\xcd\x35\xad\x79\xb6\x6e\xdc\xb8\x71\x73\x26\xd0\x2e\
+\x06\x64\xf6\x43\x3b\xaf\x12\x24\x55\x2c\x79\xa8\x6c\x06\xd2\x21\
+\xbd\x7d\xb8\x65\x66\x34\xbd\xbb\x78\x37\x78\xfe\xc1\xe3\x95\x2c\
+\x5f\x77\x82\x8c\xef\x0b\x28\xb3\x71\xa5\x75\x34\x02\xce\x96\xaa\
+\x5c\x89\xe3\xb0\xfc\xda\x78\x60\xa1\xb5\x41\x31\x1a\x34\xc6\x0f\
+\x8f\xe0\xd2\x29\x7d\x18\x37\x34\xa2\x41\xdd\x75\x5d\x58\x9a\xb6\
+\x87\xc5\x1f\x6e\xa1\xb4\xac\xda\xd9\xb2\xd6\xb7\xca\xac\xff\xf1\
+\xc7\x65\x57\xef\x6b\x93\x87\xed\xc6\x8d\x1b\x37\x9d\x44\x9b\x1a\
+\x90\x94\x14\xd1\x7e\x90\xdd\x4f\x8b\xc8\xed\xf6\x4b\x49\x9e\x1e\
+\x70\xe3\xf4\x28\xa6\x8d\x0d\x69\x70\x8f\xe1\xc0\xf1\x4a\xde\x5a\
+\xf9\x0b\x1b\xb6\x15\xa2\xeb\x6d\x37\x8b\x68\x3c\x8e\xa3\x89\xcf\
+\x56\xe7\x5b\x4e\x17\x86\xf5\x0d\xe6\xba\x99\x03\x89\x1d\x19\xd5\
+\xe0\xbd\x9c\x2c\xaa\xe4\xef\x2f\x7d\x43\xee\xe6\x5f\x9c\xe9\x92\
+\xa7\xa3\x2e\xd8\xfa\xdf\x2b\xbf\x6d\x83\xc7\xee\xc6\x8d\x1b\x37\
+\x9d\x82\xa1\xad\x3a\x9a\x9c\x92\x69\x2c\x94\x9a\x97\x81\xf9\xa7\
+\x5b\x2d\x83\x6e\xf7\x08\x4f\x1e\xb9\xa6\x17\x63\x63\xfc\x1b\xdd\
+\xa0\x36\x1a\x14\x6b\x36\x17\xf2\x4b\x7e\x95\xcd\xf9\xf6\xfd\xd9\
+\x7c\x16\xdb\xcf\xd2\x80\x64\xc3\x8d\x0d\xe0\x44\xb6\xae\xe9\xf8\
+\xa9\x0a\x56\x6e\x38\x44\xd6\xa6\xa3\x44\x84\x78\xd3\x2b\x3a\xc0\
+\x41\xd6\xd7\xdb\xc8\xf4\x09\xbd\xf0\xf4\xd0\xd8\xb8\xfd\x04\x7a\
+\xbd\x81\x03\xc0\x0f\x91\x2b\x22\x86\x5c\xbc\x29\x6f\xdb\xc7\x7b\
+\x9a\xa1\x95\x1b\x37\x6e\xdc\x9c\x31\xb4\xc9\x0c\x64\x66\xca\x2f\
+\xbe\x06\x29\x5d\x06\xcc\xb0\x7f\x93\x9f\x3c\x22\x90\xf9\x17\x45\
+\xb9\x1c\xcb\xa1\xeb\xc2\x9b\x2b\x7e\x61\xd9\x9a\x63\x88\xde\x7e\
+\xb3\x88\xb6\xdc\x3b\x89\x1d\x19\xc5\x3d\x57\x8d\xa4\x5b\x84\xf3\
+\x0d\xf7\x2d\x3f\x9f\xe4\x9e\xe7\x72\xf9\x25\xaf\xcc\xfe\xda\xd5\
+\xa2\x73\xcd\xd6\x0f\xaf\xfe\xa0\x99\x8f\xfc\x8c\x61\x72\x72\x66\
+\x7f\xb3\x98\x87\x09\xf4\x55\x9a\xea\x8d\x10\x8e\x88\x27\x4a\x0b\
+\x42\xa4\x52\x69\x54\xe8\xa2\x8a\x35\xe4\xb0\x8e\xda\x2b\xa2\x76\
+\x79\x54\xf0\x43\xd6\x9b\x09\x95\x9d\xad\xbb\x1b\x37\x6e\x5a\x47\
+\xab\x0d\xc8\x9c\x94\xad\xa1\xd5\xe2\xf1\x85\x82\x73\x2d\x2d\x96\
+\x41\x5b\x53\xc2\x4d\x33\xba\x30\xfd\x9c\xe0\x16\xf5\x9b\xf5\x43\
+\x01\xcf\x2c\xdd\x4f\x65\x8d\xd9\xe9\xa0\xdd\xd4\xfe\x45\x4b\x3c\
+\xb0\x5a\xb3\x77\xe2\xed\xa9\x71\xfd\x45\x83\xb8\x7a\xc6\x40\xa7\
+\xf1\x25\xa7\x8a\xab\xb8\xe3\xdf\x6b\xd8\xb4\x23\xcf\xea\x5c\x41\
+\x04\x1d\xf8\xf3\xd6\x65\xd7\xbc\xd0\xa2\x07\xd5\xc1\x4c\xbe\x3d\
+\x33\xd8\x5c\xad\xcf\x16\x98\x09\x4c\x54\xd0\xa5\x05\xdd\x54\x01\
+\x1b\x41\xd2\x0d\xba\x61\x69\xd6\x8b\x09\x5b\xda\x58\x4d\x37\x6e\
+\xea\x19\xf7\xe7\xb4\x2e\x1e\xd5\xda\xac\xc6\x64\x34\xf4\xaa\xec\
+\x25\x49\x6f\x75\x94\x4e\x8d\x11\x9f\xbc\xb2\x87\x2e\x1e\xd3\xdb\
+\xb2\x4f\xa5\xe9\xc5\x4a\xb4\x6a\x94\xe4\x8b\x49\xf2\xbd\x44\x8e\
+\xa4\xbd\x3c\xb5\xa8\xd5\xfd\xb6\xe6\xe4\x39\x77\x1c\xf2\xa9\x0e\
+\xaa\x5c\xad\x44\x26\xd6\x37\x8a\x60\x34\x2a\x6e\xbf\x38\x8a\x89\
+\x43\x1d\x97\x76\x9a\xc3\xbe\xa3\x15\xa4\xbc\xb9\x9b\xa3\x27\xab\
+\x9c\x0f\xfa\x6d\x38\x8b\x68\xab\xbd\x93\x81\xbd\x82\xf8\xe7\xc2\
+\x09\xf4\x8c\xf2\x77\xb8\x9f\xea\x1a\x33\xf7\x2d\x5a\x4b\xda\x37\
+\x07\xed\x67\x48\xa2\xa3\xcf\xdb\xfe\xe1\xf5\xaf\xb6\xea\x81\xb5\
+\x23\x93\x16\xa4\x8d\xd7\x45\xdd\x89\xc5\x70\x78\xb5\x65\xdf\x02\
+\x5b\x94\xb0\xd8\xe4\xed\xf3\xd6\xfa\x67\x26\x54\xb4\x65\xdf\x6e\
+\xdc\xd4\xfe\xed\xae\x6b\x54\x48\x51\x90\xb3\x38\x31\xac\x83\x54\
+\x6a\x94\xd8\xe4\xb4\xf3\x15\xea\xab\x0e\xb8\xd4\x09\x81\x9d\x4a\
+\xd8\xa8\x34\xb5\x5e\x34\x63\x66\xce\xa2\xf8\x66\x25\x86\x6d\xb1\
+\x01\x99\x37\xef\x3b\x8f\x13\xd1\x81\x9f\x00\x33\xac\xdb\xbd\x3c\
+\x14\xf7\x5d\x16\xcd\xa8\x7e\x4d\xc7\x4f\xb8\x42\x71\xb9\x89\xc7\
+\xde\xde\xc3\xa6\x5d\xc5\x0e\x46\xa0\xb1\xa5\x2a\x5b\x23\xe0\xda\
+\x2c\xc2\xfa\xb3\x4d\x5f\xae\x2c\x93\xd5\x1b\x2f\xc1\xd7\xdb\xc8\
+\x83\xd7\x8f\xe5\xfc\x09\x3d\x1d\xee\x47\xd7\x85\x47\x5e\xfd\x9a\
+\x8f\xd2\x77\xdb\xdf\x8b\x59\xc1\xdc\x2d\x1f\x5e\xf7\xbf\x36\x79\
+\x70\x6d\x44\x6c\xf2\xea\x58\x25\xda\x13\x28\x26\x36\x2d\xdd\x6a\
+\x4e\xa0\xd4\x53\x05\x27\xf2\x9f\xdb\xba\x6c\x6e\x75\x07\x5c\xcf\
+\xcd\xef\x00\xb7\x01\x71\x19\x33\xa8\xf5\x28\x79\xcf\x20\xda\xdb\
+\x59\xa9\x09\xa5\x4d\x9d\xd0\xc2\x24\x53\xa2\xf2\xba\x06\xbe\x84\
+\x9d\xf1\x08\xf2\x33\xf0\xe8\xf5\x3d\xda\xcc\x78\x00\x04\xfa\x1a\
+\x79\xf4\xa6\x81\xfc\x21\x2e\xca\x51\x8b\xba\x9f\x4d\x6e\x8e\x8b\
+\xdd\xaf\x4d\x6f\xce\xd7\x89\x49\x03\xc7\x1d\x3e\x5b\x35\x95\x55\
+\xd6\x70\xff\xe2\xf5\x3c\xf6\xe6\x46\xaa\x6b\x74\x1b\x49\x4d\x53\
+\xfc\xfd\xa6\x73\xb9\x76\xe6\x10\x9b\x5e\x04\x0c\x22\xf2\xce\x90\
+\x4b\xdf\x88\x6b\xea\x6e\x3a\x82\xc9\xc9\x99\x51\x71\xc9\xe9\x6f\
+\x2b\xb4\xec\x0e\x32\x1e\x00\x91\x88\x3c\x19\x1a\x11\xf6\x53\xdc\
+\xc2\x8c\x69\x1d\x74\x4d\x37\x6e\xdc\x58\x30\x80\xc4\x22\xa4\x9a\
+\xd1\x0f\xc7\x25\xa7\x3d\x32\x39\x39\xd3\x71\x29\xc5\x8a\x16\x19\
+\x90\x59\x29\xbb\xff\x29\xc2\x75\xd6\x6d\x3e\x5e\x1a\x0f\x5d\xd9\
+\x8d\x7e\xd1\x6d\xba\xba\x01\x80\x41\x53\xcc\x9f\xdd\x93\xfb\xff\
+\xd4\x1f\xaf\xfa\xcd\x78\xb1\x1b\xc7\xed\x3d\xb0\xec\x06\xf9\x26\
+\x8d\x4c\xe3\xb2\xd2\xd0\xa1\x46\xfa\x5d\xba\x7a\x37\x0b\xfe\x99\
+\x45\x59\x85\x6d\xdc\xa0\x52\x70\xd7\x95\x63\xb8\xea\x82\xc1\xb5\
+\x5d\x58\x3a\xd1\xc1\x47\x44\x3e\x1d\x72\xc9\xcb\x43\x9b\xa1\x6d\
+\x9b\x13\x3b\x3f\x2d\xc9\x8c\xfe\x3d\x70\x25\x9d\x93\xb1\x39\x06\
+\x5d\x56\xc4\xcd\x4f\xff\xcf\x98\x79\x9f\xf9\x76\xc2\xf5\xdd\xb8\
+\xf9\xbd\x13\x04\xea\x6f\x66\xcc\xbb\x1a\x7b\x99\x6b\xb6\x01\x99\
+\xf5\xd0\xce\x3f\x2a\xe1\x1e\xeb\x36\xa3\x41\x71\xef\xdc\x68\xfa\
+\xb6\x83\xf1\xb0\x66\xca\x59\x61\x3c\x7b\xeb\x50\xba\x04\xbb\x76\
+\x9d\xd6\xcc\x22\x9a\x92\xaf\x5f\xfa\x6a\x42\xfe\xdb\x6d\xc7\xb9\
+\xf1\x1f\xe9\x14\x14\x3b\x3a\x1d\xdd\x73\xf5\x58\xa6\x8d\xef\x6d\
+\x77\x9a\x84\x88\x68\x9f\xf6\x9d\xf3\x52\x90\xc3\x09\xed\x8e\xa8\
+\xb8\x05\x69\x8f\x29\xa5\x56\x01\x8e\x53\xbe\x8e\x46\x71\x95\x9f\
+\xd1\x67\x6d\xec\xbc\xd5\x8e\x6b\x81\x6e\xdc\xb8\xe9\x00\x54\x34\
+\xba\x7c\x15\x97\x9c\xf1\x37\x67\x47\x9b\x65\x40\x2e\x4a\xd9\xd3\
+\x5f\x29\xf5\xb2\x4d\xf7\x0a\xee\xb8\x38\x8a\x51\xfd\x6c\x5f\x14\
+\xab\x4d\x42\x7e\x51\xdb\x67\xec\xe8\xdf\xcd\x8f\x17\xee\x18\xce\
+\xb0\xbe\x81\x34\x3a\xc8\x3b\x59\xaa\x6a\xc9\x2c\xc2\x81\x06\x64\
+\x9d\xf6\x5d\xfb\x61\xdb\xbe\x02\xae\xf9\xfb\x2a\x8e\x9c\xb0\x5d\
+\x52\xd4\x94\xe2\xf1\x85\xb1\x8c\x1b\x16\x6d\xb3\x0e\x27\xd0\xcf\
+\xcb\xa4\xbd\xd2\x0c\xad\x5a\xcd\xe4\x94\x4c\x63\x6c\x72\xe6\x2b\
+\x88\xba\x9f\x33\xa0\xd0\x58\x1d\x82\x1a\xa5\x8c\x6a\xc3\x84\xe4\
+\xcc\x51\x9d\xad\x8b\x1b\x37\xbf\x53\x14\xc8\x23\xb1\xc9\xe9\x8f\
+\xdb\x1f\x70\xd9\x80\x4c\xbf\x75\xb7\x97\x86\xbe\x14\x08\xb4\x6e\
+\xbf\xe1\xfc\x08\x26\x0c\xb5\x5d\x26\x33\x9b\x85\x27\xff\x7b\x84\
+\x05\xcf\xef\x65\xd9\x9a\x7c\x6a\x4c\xcd\x19\xa1\x9b\x26\x24\xc0\
+\x83\xa7\x92\x87\x32\x73\xa2\x93\x97\xe4\x46\x2f\xe5\x7c\x16\xd1\
+\xf0\xc9\xcd\xdf\x3b\xa9\xfb\x51\x37\x3f\xa9\x93\x38\x78\xac\x84\
+\x1b\xfe\x91\x46\xde\x29\x5b\x27\x23\x4f\x0f\x03\xcf\xdf\x3b\x85\
+\x98\x5e\x21\xf6\x3d\xcd\x19\x74\xf1\xab\x37\x37\x70\x23\x6d\xca\
+\xd0\x39\x4b\x3d\xcd\x27\xf4\x4f\x15\x72\x43\x2b\xbb\x3a\x05\x7c\
+\x0b\x2a\x4d\xe0\x7f\xa0\x56\x00\x6b\x80\x03\x80\xde\xf8\xa9\x8d\
+\xa1\xa2\x0d\xe8\x99\x93\x92\xd3\xce\x6e\xa5\x7e\x6e\xdc\xb8\x69\
+\x21\x0a\xee\x8b\x5b\x90\x7e\xa3\x5d\x9b\x6b\xcc\x4e\xd9\x95\x8a\
+\x58\x47\x99\xc3\xc4\xa1\xfe\xdc\x3d\x27\xda\x46\x4e\x04\xfe\xfd\
+\xe1\x51\xb2\x7f\x2a\xaa\xf7\x32\x8a\x0e\xf5\xe4\xa6\x0b\xa2\x18\
+\x1b\xd3\xe8\x7e\x4c\x8b\x58\xfd\xed\x09\x9e\xfe\xef\x1e\xaa\xab\
+\xcd\x4d\xbb\xe1\x76\x80\x07\x56\xe3\xd7\x16\xfa\x75\x0f\xe6\xad\
+\x87\xcf\x23\xd0\xcf\x36\x31\xe3\xc1\x63\xc5\x5c\x7a\xcf\xa7\x94\
+\x96\xd7\x58\x7b\x8c\x55\x9a\xcd\xda\x84\x3d\xcb\x6f\xfc\xbe\xcd\
+\x1f\x5c\x2d\x73\xe6\x2c\x35\x1c\x8b\x08\xfb\x00\xb8\xb4\x05\xa7\
+\x57\x0a\x2c\xd7\x90\xe5\x9a\xc1\xb0\x26\x6b\x51\x42\x83\x25\x7d\
+\xc7\xdf\xb1\xce\xc7\xa3\xa2\x62\xbc\xae\x31\x55\x29\xae\x40\x68\
+\xc9\xb2\x54\x3e\x66\x99\x94\xf3\x52\xd2\xb6\x16\x9c\xeb\xe6\x77\
+\xca\x6f\xd4\x0b\x4b\x07\x5c\x8d\xe3\x08\x00\x8c\xad\xd3\xaa\x9e\
+\x0a\x11\x19\x96\xbb\x24\x69\x2f\xb8\x68\x40\x66\x3d\xb4\x7b\xa6\
+\x52\xb2\xdc\xba\x2d\x3a\xd4\x83\xa7\x6e\xee\x89\xaf\x97\xed\x24\
+\xe6\x95\x2f\x4f\xf0\xf9\x86\x02\x00\xec\x5d\x6c\xcf\x1d\x12\xc0\
+\x8d\x33\xa2\xe8\x12\xd2\x78\x56\xdb\xe6\xb2\x75\x5f\x31\x29\xaf\
+\x6d\x27\xbf\xb8\xaa\xf1\x41\xfc\x8c\x88\x5e\x87\x31\x83\x23\x79\
+\xe9\x81\x44\xbc\x3c\x6c\x33\xc9\x7c\x9e\xf3\x33\xf7\x3e\xbb\xc6\
+\x4a\x56\x00\xb6\x9b\xab\x2a\x47\xef\xf9\xea\xb6\x2a\xda\x81\xb8\
+\xe4\xf4\x25\xc0\x2d\xcd\x3c\x2d\x5f\xe0\x59\xa3\xa7\xb6\x38\xeb\
+\xd9\x84\xc2\x66\x5f\x34\x25\x45\x8b\xcd\x8b\x9d\xa1\x44\x3d\x08\
+\x8c\x6b\xce\xa9\x0a\x8e\x88\xc9\xe3\xec\x9c\x97\xe3\x8f\x36\xfb\
+\xba\x6e\x7e\x97\xfc\x36\x0d\x88\xda\x97\x93\x3a\xa5\xaf\xcb\x9d\
+\xa6\xa4\x68\x89\x79\xb1\x21\x35\x66\xe9\x89\xc1\x30\x40\x74\x7d\
+\x10\x4a\x25\x02\x13\x68\xa6\x71\x51\xf0\x59\x76\x6a\xe2\x45\xb5\
+\xbf\x37\xce\x9c\x3b\x0e\xf9\xd4\x04\x55\x6c\x45\xe8\x53\xd7\xe6\
+\x61\x54\x3c\x71\x43\x0f\x87\x4d\xf3\xd5\x1b\x8b\x58\xbc\xfc\x58\
+\xa3\x11\xde\x9e\x46\xc5\x9c\x49\xe1\x5c\x12\x1f\x89\xa7\xb1\xed\
+\x96\xda\xf3\x8b\xaa\x79\xe8\xd5\xad\x6c\xdb\x5f\x0c\x0e\x83\xb6\
+\xfd\xa0\x0f\xad\x99\x45\x34\x74\x6f\xcd\x89\x3b\x99\x3a\xae\x27\
+\x4f\xdf\x31\xc9\x21\x37\xd8\xdf\x52\x73\xf8\x30\x6d\x97\xbd\x7e\
+\x0f\xec\xfa\xf4\xe6\xc7\xda\xec\x61\xd5\x12\x9b\x9c\x71\xb5\x42\
+\x9a\x13\x7d\x2b\x4a\xc9\x2b\xba\xee\x75\x5f\xee\x92\xb8\x53\xad\
+\xd7\x40\x54\xfc\xfc\xf4\xab\x45\xa9\xa7\x80\xf0\x66\x9c\xb8\xc6\
+\x10\xa9\x25\x65\xa5\x24\x98\x5a\xaf\x83\x9b\xdf\x3a\x6e\x03\xd2\
+\xc8\xb5\xe6\xe7\x84\xa0\xd5\x5c\xa5\x44\xee\xa7\x19\x8e\x33\x62\
+\x50\xa3\x72\x17\x4d\xd9\xdc\xe4\x1e\x48\x4d\x50\xe5\xdf\xac\x8d\
+\x07\xc0\x35\x53\xc3\x1d\x8c\xc7\xce\x43\x95\xbc\xfc\xe5\x09\xab\
+\x2b\x38\xdf\x8c\xa8\xae\xd1\x79\x27\xed\x38\xc9\xcf\xee\xe4\x9b\
+\x1d\xc5\xae\xea\xdb\x24\xe1\x41\x9e\x3c\xf7\xe7\x91\x4c\x3f\xd7\
+\xf2\x0c\x6c\x3d\xb0\xec\xe9\x18\x0f\x2c\x1b\x45\xec\x58\xb5\xe1\
+\x00\xef\xad\xd8\xee\xd0\xfe\xc0\x0d\xe3\xe9\xd7\x23\xd8\xfe\x8c\
+\x07\x07\xce\x7c\xa5\x8f\x83\x70\x2b\x88\x4f\x5e\x3d\x58\x21\xa9\
+\xcd\x38\xa5\x50\x60\x56\xf6\xe2\xa4\x9b\xdb\xc6\x78\x00\x28\xc9\
+\x5e\x92\xf4\x96\xc1\xa0\x8d\x56\xc8\x86\x66\x9c\x38\xc9\x7c\x5c\
+\x1e\x6e\x1b\x1d\xdc\xb8\xf9\xfd\x92\xbb\x24\xee\x54\xee\xe2\x29\
+\xcf\x97\x9b\xca\xfb\x01\xcf\xb8\x7c\xa2\x99\x5b\xa1\x89\x4d\xf4\
+\x4b\x1e\xfc\x79\x00\xc8\x9d\xd6\x6d\x31\xdd\xbd\x99\xe1\x24\xbf\
+\x95\x20\xc4\x74\xf3\x6e\x64\x13\xdb\xf6\xc0\xd1\x93\x55\xa4\xbc\
+\xb9\x8f\x94\xb7\xf6\x5a\x52\x95\xb4\x01\x1e\x46\x8d\xbf\xfc\x69\
+\x20\xb7\x5d\x3a\x00\xa3\x5d\x9e\xe1\xba\xed\xec\x8e\xf6\xc0\x6a\
+\xec\x8c\xa7\xdf\xd9\xc8\xd6\x9f\xf3\x6d\x8e\x78\x7b\x19\x79\xf8\
+\x96\x89\xf5\x33\x93\x5a\xad\x7d\xc4\x60\x76\xfd\x1f\xb7\x49\x44\
+\x09\xda\x12\xc0\xd5\x88\xcf\xc3\x06\x4d\x1b\x9f\x9b\x9a\xf8\x59\
+\xdb\xe9\x70\x9a\xac\x45\x09\x87\xfd\x0c\xd5\x93\x2d\x1b\xef\x2e\
+\xa2\xe4\xde\xf8\x85\xab\x87\xb7\x87\x3e\x6e\xdc\xfc\xde\xd8\xf8\
+\xf2\xcc\xf2\x9c\xd4\xc4\x3b\x51\xea\x11\x57\xe4\x95\x92\x3f\x8c\
+\x99\xf7\x5d\xe3\x05\xc8\x4d\x06\xd3\xf3\xc8\xe9\xbc\x47\x4a\xc1\
+\x4d\xd3\x23\x9c\xa6\x64\x1f\xd4\xc3\x87\x47\xaf\xef\xc1\xe3\x37\
+\xf6\xe4\xec\x81\x75\x9b\xe5\x4d\x8c\xb8\xc0\x37\xdb\x8b\x99\xf7\
+\xf4\x76\x5e\xfa\xec\x30\x15\xd5\xad\x70\xd4\xb1\xe2\xe2\x49\xdd\
+\x78\xf6\xb6\xd1\x84\x04\x34\xbc\xd7\xd2\xfa\x59\x84\xeb\x1e\x58\
+\x0d\xc9\x57\x57\x9b\xb9\xeb\x99\x35\x94\x94\xdb\x66\xed\x18\x33\
+\x38\x8a\x59\x93\x07\xd8\x4a\xeb\xcc\x1a\x30\x73\xc9\x85\x8e\x77\
+\xd2\x7c\x62\x93\x33\xaf\x02\x26\xb9\x28\x7e\xd8\xa0\x6b\x71\x59\
+\x2f\x24\xec\x68\x8b\x6b\x37\xc4\x57\x8b\x66\x54\x19\x23\xb5\x3f\
+\x0a\x2c\x75\xf1\x14\xa3\xe8\x86\x54\x90\x33\xc6\xe5\xd8\x8d\x9b\
+\x5f\x3b\x86\x08\xf5\x0f\x85\xfc\xd0\xa4\xa0\x10\xea\xe7\x51\x34\
+\xbe\x41\x03\x32\xfb\xa1\x9d\xd3\x15\xea\x7c\xeb\xb6\xe9\x67\x07\
+\xd3\xbf\x5b\xc3\x95\x04\x01\x06\xf7\xf4\xe1\xc1\x3f\x75\xe7\xf1\
+\x1b\x7b\x31\xb2\xaf\xdd\x0b\x6e\x03\x6e\xb3\x26\xb3\xf0\x49\xee\
+\x09\x6e\x79\x7a\x2b\xeb\xb6\x34\x7f\x4f\xd6\x19\xc3\xfb\x05\xf1\
+\xd2\xbd\x63\x88\xe9\x61\x9d\xd0\xb1\xc1\x35\xad\x16\xcc\x22\x1a\
+\xe8\xc0\x95\xbe\xad\x64\x0f\x1d\x2f\xe1\x89\x37\xbe\x71\x38\xe7\
+\x9e\xab\xcf\x21\xd0\xdf\xcb\xf6\x24\xc5\xbf\x48\x49\x69\x61\xfa\
+\x19\x0b\x63\xe6\x7d\xe7\xa1\x94\xfc\xc3\x45\xf1\x62\x44\x2e\xc8\
+\x7a\x31\x61\x7f\x6b\xae\xe9\x2a\x59\x29\x09\xa6\x00\x43\xd5\xd5\
+\x58\x5c\x7f\x5d\x40\x62\x63\x93\x33\xda\xc4\xa8\xba\x71\xe3\xc6\
+\xf2\x1d\x54\x8a\x7b\x5d\x91\x15\xd4\xb8\x86\x77\xdf\x95\xfa\xab\
+\xf5\xc7\x60\x7f\x03\x57\x4c\x71\x7d\x8f\x69\x48\x2f\x5f\xfe\x71\
+\x5d\x2f\xb6\x1f\x2c\xe7\xc3\x35\xf9\x2e\xed\x77\x1c\x3f\x55\xcd\
+\x23\x6f\xfd\xcc\xc8\xfe\xfe\x2c\x98\xdd\x93\x9e\x5d\x7c\x5c\xbe\
+\x9e\x33\xba\x84\x7a\x93\x7a\xd7\x18\x9e\x7e\x7f\x07\x5f\xae\xff\
+\xc5\x89\x44\xd3\xb3\x88\x26\xe5\x9b\xb1\x77\x82\xc3\xac\xc7\xc2\
+\xa7\x59\xbb\x99\x9d\xd0\x9f\xb3\x87\x9c\xde\xc3\x0a\x0b\xf2\xe1\
+\xcf\x57\x8c\xe5\x91\x97\x72\xad\x45\x07\xf5\xff\x2e\xe2\xe2\x3d\
+\xf0\xa1\xfd\x9d\xb8\x8a\x9f\xa1\xf0\x0a\x11\xe5\x92\x0b\xad\xc0\
+\x2d\xb9\x4b\x92\x7e\x6c\xe9\xb5\x5a\xc2\x57\x8b\x66\x54\xc5\xdd\
+\x9a\x3d\x07\x73\xf5\x66\x50\xd1\x4d\xc9\x2b\x78\x00\x70\x79\x69\
+\x6d\xf2\xc2\xcc\x41\xba\xe8\x2e\x4d\xd3\xad\xd1\x05\xd1\x94\x14\
+\x0a\x5a\x29\x50\x8a\x50\xa8\x90\xad\x1a\xda\x8f\x59\xa9\x09\xc7\
+\x9a\xdb\x9f\x33\xe2\x92\xd3\xaf\x55\xca\x36\xbf\x5c\x7b\xa2\x89\
+\xf6\xd7\xac\xd4\x84\x46\x0b\x9a\xc5\x26\x67\x5c\xad\x29\x71\x6a\
+\xa4\x95\xc8\x92\x35\xa9\x49\x99\xed\xa1\x5b\x5c\x72\xfa\xcb\x4a\
+\xe1\xb0\x56\x2e\x22\x3b\x72\x52\x93\x1e\x6a\x8f\x6b\xba\xb1\xa0\
+\x22\x0c\x99\xe4\xe9\x05\x08\xa1\x8d\x0a\x8a\x8c\x76\x6a\x40\xfe\
+\xf0\xb7\xdd\x93\x04\x89\xb5\x6e\x9b\x3b\x29\x0c\x3f\xef\xe6\xbf\
+\xfc\x0e\xee\xe9\xcb\xdf\xae\xea\xc9\x8e\x83\xe5\xbc\x9f\x71\x82\
+\xef\x76\xd9\x1b\x12\xb1\xf9\x01\xc2\x0f\x7b\x4a\x48\x7e\x66\x2b\
+\x17\xc7\x47\x71\x45\x52\x57\x97\x8b\x51\x39\xc3\xd3\x43\xe3\xfe\
+\xab\x87\xd0\xa7\xab\x1f\x4b\x3e\xde\x8d\xd9\xdc\xc8\x32\x99\x93\
+\x59\x84\xd3\x99\x49\x03\xb2\xcd\xe9\xd7\xd2\x6c\x39\xa0\x0b\x3c\
+\xf6\xda\x06\x3e\x7c\xf2\x22\x0c\x86\xd3\xf7\x7a\xd9\xb4\xc1\xfc\
+\xe7\xb3\x9f\xd8\xff\x4b\x61\xfd\x19\x28\xf5\x20\xc8\x47\xa0\x9a\
+\xa3\x81\xd5\x35\xd5\x1d\x2e\x8a\xbe\x93\x9b\x9a\xf8\x7e\x4b\xae\
+\xd1\x5a\x72\x16\xc5\xe7\xc5\x26\xa7\x5d\xaf\xc0\x95\x8c\xa4\xe3\
+\x26\x2d\x48\x1b\xbf\x66\x71\xd2\x7a\x57\xfa\x36\xe9\xa6\x70\x85\
+\x36\xa7\xb9\x3a\x29\x40\x44\x61\xbf\xe8\x69\x46\x27\x2e\x39\xfd\
+\x84\x82\xb5\x3a\xea\x93\x0a\x53\xd9\x87\x1b\x5f\x9e\x59\xde\xdc\
+\xfe\x6b\x3b\x1c\x29\xd0\x6c\xdd\x5a\x8a\x59\xd7\x9f\x6a\x5a\x4a\
+\x46\x88\x38\xd7\x49\x50\x93\x27\xdf\x9a\x79\x56\x63\xf1\x3f\xad\
+\x60\xa6\x88\x33\xaf\x20\x2d\xd7\xb1\xcd\x4d\x5b\x92\x95\x92\x60\
+\x8a\x5f\x90\x9e\xee\xc2\xdf\x62\x6f\xa7\x23\xb3\x68\xe2\x30\xfb\
+\x48\x1c\x15\xe8\x4c\xd4\x65\x06\xf5\xf4\xe5\xe1\x6b\x7b\xb3\xe8\
+\xd6\x01\xc4\x0e\x0f\xaa\x77\x20\x6e\x28\x93\x6e\x8d\x49\xf8\x20\
+\xe3\x17\xae\x7b\x7c\x33\x69\x1b\xf3\x9d\x0b\x35\x83\xcb\x92\x7a\
+\xf1\xdc\xed\x63\x9c\xec\x8b\x74\xb4\x07\x96\xf3\x1b\xde\xb9\xbf\
+\x80\x77\xbf\xb2\xf5\xca\x32\x68\x8a\x79\x17\x3b\x64\xf0\x18\xd9\
+\x6f\xe6\x92\xf3\xed\x1b\x5d\x21\x6e\x7e\xda\x08\x14\x23\x5d\x10\
+\x2d\xc1\xe4\xe1\xd2\x34\xb6\xbd\xc8\x4d\x4d\x5a\xe1\xea\xa6\xba\
+\x08\x57\xb6\xb7\x3e\x4d\x10\x29\xf0\x07\x85\xbc\xe5\x6b\xf4\x3d\
+\x1c\x37\x3f\xed\xa1\xdf\x49\x12\xc8\x08\xdd\x6c\x5e\x36\x74\xce\
+\xd2\xb6\x0d\xec\x72\xd3\xe9\x88\xa8\x7d\x2e\x88\xf5\x70\x30\x20\
+\x17\xfd\x6d\xf7\x68\x14\x53\xad\xdb\x66\x8d\x0f\xc1\xd3\xa3\x6d\
+\xf6\x2a\xfb\x46\xfb\x70\xff\x15\xbd\x78\x26\x79\x00\xe7\x0c\x0e\
+\xac\xdd\x90\x6f\x38\x93\xee\xc9\xe2\x6a\xfe\xf9\xee\x1e\xfe\xf2\
+\xe2\x76\x0e\x1e\x6f\x5d\xad\xa1\x51\x03\x42\x78\xf1\xde\x73\xe8\
+\xd7\xcd\xdf\xfa\x62\xae\xd1\x6e\x7b\x27\xa7\x85\x17\x7d\xb0\x91\
+\xe2\x52\x5b\x8f\xb4\x59\x09\x03\x88\x8e\x08\xb0\xea\x57\x50\x22\
+\x2d\x9b\xc2\x6b\x5c\xe6\xa2\x4a\xcf\x9d\x09\x81\x7a\x22\xea\xaf\
+\xb8\x90\x02\x45\x50\x73\x26\xa7\x64\xb6\x55\xa4\x6d\x6b\x09\x41\
+\xa9\x87\x7d\x8d\xbe\x9b\xe3\x6f\x59\x3d\xba\xb3\x95\x69\x6f\x04\
+\x75\x6e\x68\x44\xd8\xd3\x9d\xad\x87\x9b\xb6\x45\x21\xae\x14\x96\
+\x0a\x70\x30\x20\x9a\xa6\xdf\x89\x9c\x0e\x30\xf4\xf7\x31\x30\x6d\
+\x6c\xdb\x27\x86\x8d\xe9\xee\x4b\xca\x35\x7d\x59\xfc\xe7\x41\xc4\
+\x8d\x08\x71\xf0\xec\xb2\x8f\xe3\xd8\xb4\xab\x88\x79\xff\xda\x4c\
+\xea\xc7\xfb\x28\xaf\x34\xb7\xf8\xba\xdd\x22\x7c\x79\xf1\xde\x71\
+\x24\x9c\xd5\xa5\x53\x3d\xb0\x9c\x19\x99\xd2\x8a\x1a\xde\xf9\xd2\
+\x36\x4b\x87\xd1\xa0\x71\xe3\xec\x11\x36\xbd\x08\x9c\xdb\x77\xc6\
+\xa2\xb1\x8e\x3d\x34\x81\xae\x5c\x59\x5f\xaf\x32\x2a\x6d\x71\xb3\
+\xfb\x6e\x07\xd6\x2e\x99\xb2\x13\x58\xde\xa4\x20\x44\x48\x9e\xf9\
+\x4c\xcb\x93\xd5\x5f\x34\x6d\x4d\xfc\x82\xf4\xf8\xce\x56\xa4\x03\
+\x58\x18\x3f\x3f\xe3\x8a\xce\x56\xc2\x4d\xdb\x21\x42\x93\xc5\xa4\
+\x00\x5f\x1b\x03\x72\xde\xdd\x9b\xfd\x40\xcd\xb6\x6e\x9b\x71\x4e\
+\x10\x3e\x5e\xad\x72\xfc\x69\x94\x3e\xd1\x3e\xfc\xf5\x4f\x7d\x78\
+\xe1\xb6\x41\x4c\x18\x1a\x6c\x31\x24\x4e\x06\x6d\x41\x30\x99\x85\
+\x8f\xb2\x8f\x72\xdd\xe3\x9b\xc8\xd8\xd4\xac\xca\x8b\x36\xf8\x78\
+\x19\xf8\xc7\xbc\x51\xdc\x3c\x3b\x06\x4d\xa9\x4e\xf3\xc0\x72\xd6\
+\xc1\xdb\x5f\x6c\xa1\xbc\xd2\x36\x8b\xf1\xa5\x53\x07\x11\x1e\xec\
+\x63\x23\xaf\x34\x75\x55\x33\x34\x24\x69\xde\xea\x20\x14\xc3\x5c\
+\x10\xfd\xaa\xad\x36\x85\xdb\x02\x81\xd7\x5d\x91\xd3\xd1\x62\x9b\
+\x96\xea\x70\x02\x04\x3e\x8e\x5f\xb8\xb2\x4d\x83\x40\xcf\x44\x44\
+\xc9\xcb\x13\x17\x64\x74\x6a\x1d\x1b\x37\x6d\x87\x33\x07\x06\x47\
+\x21\xc4\x66\xda\xef\xe7\xeb\x7d\xa9\x40\x7d\xc6\x43\xa5\x60\xea\
+\x59\x1d\x53\x96\xa2\x5f\x37\x5f\x1e\xba\xa6\x1f\xfb\x8f\x55\xb0\
+\x2c\xeb\x18\xe9\x9b\xf2\xd1\xcd\xce\x47\xe6\xfc\xa2\x6a\xfe\xef\
+\xad\x9d\x2c\xcf\x3d\xc6\x6d\x97\xf6\xa5\x6f\xd7\xe6\x57\x40\x54\
+\x0a\xae\x99\xd1\x97\x98\x9e\x01\x3c\xf4\xca\x0f\x94\xd6\xc5\x62\
+\xb4\x78\x16\xd1\x3c\x0f\x2c\xfb\xde\xeb\x28\x2c\xa9\xe2\x83\x15\
+\xdb\xb9\xbe\x76\xd6\x01\xe0\xed\x69\x64\x56\x42\x0c\xaf\xfe\xcf\
+\xc6\x3d\xfb\xf2\x31\x63\x5e\xba\x7b\xe3\xc6\x9b\x5d\xca\x99\x5f\
+\xed\x61\x98\x88\x88\xa1\x49\x41\x91\x8f\x5c\xe9\xaf\xa3\x08\x30\
+\x54\xad\x2a\x35\x7b\x15\x63\x97\x05\xda\x11\x89\x05\xfe\xd5\x9a\
+\x6b\x29\xc5\x32\x5d\x57\x69\xce\x8e\x69\xe8\x1e\x3a\xca\x1f\xf0\
+\x57\x8a\xee\x40\x0c\x30\x1a\x68\xdc\x55\x50\x08\x15\xdd\xb0\x04\
+\x68\xd1\xbe\x95\x55\x47\x5f\x28\xa5\x5a\xb6\x39\xdf\x00\x9a\xa6\
+\x15\xb4\x61\x77\x7e\x9a\xc8\x47\xe3\x6e\xfd\xf2\x9c\xaf\x17\xcd\
+\x68\xbb\x14\x13\x6e\x3a\x07\x85\x43\x3a\x0c\x07\x84\x0a\x1b\x03\
+\x22\x9a\xba\xca\xfa\xa4\x61\xbd\x7d\x09\x0f\xea\xd8\xa5\xe5\xde\
+\x51\x3e\xdc\x73\x59\x1f\x2e\x9d\xd4\x85\x77\x57\x1f\x21\xfb\xc7\
+\x02\xab\x6d\x02\xdb\x41\xfb\xc7\x9f\x0b\x99\xf7\xe4\xf7\x5c\x3c\
+\x29\x9a\x6b\xa6\xf7\xc6\xcf\xbb\xe9\xf1\xd1\x9e\xf1\xc3\x22\x78\
+\xed\xaf\x13\xb8\x77\xd1\x77\xec\x3f\xe6\x7c\xd6\xd6\x1e\x1e\x58\
+\xf6\x87\xc5\xea\xde\xde\x58\xfe\x13\x57\xcf\x1c\x86\xd1\xca\x23\
+\x6b\xf6\x64\x3b\x03\x22\x12\x71\x2a\xaa\xea\x3c\xe0\x0b\xd7\xf4\
+\xd0\x07\xbb\x92\x3b\xd3\x60\x34\x64\xb9\xd4\x5f\x07\xf1\xd5\xa2\
+\x19\x55\x71\xc9\x19\xeb\x40\x1a\x1f\x80\x85\xc1\xad\xbd\x96\x88\
+\x5a\x9f\xbb\x64\xca\xcb\x4d\x4b\x5a\x18\x7f\xc7\x3a\x1f\x43\x55\
+\x45\x92\x82\xbb\x81\x86\x97\xaa\x94\x9a\x16\xbf\x20\x3d\x3e\x7b\
+\x71\x62\x76\x4b\x75\x53\x98\xe7\x67\x2f\x9e\x76\xa8\xa5\xe7\x77\
+\x10\x03\x3d\xcd\x5e\xaf\x81\xcc\x6d\xa9\x97\xa0\x9b\x33\x03\xc1\
+\x85\xef\x93\xa2\xa8\x7e\x84\xba\xf0\x81\x9d\xdd\x80\xc9\xd6\xc7\
+\x13\x46\x06\xd8\x9f\xd2\x61\xf4\x89\xf6\xe5\xc1\xab\x07\xf0\xca\
+\x3d\x23\x98\x3a\x36\x02\xcd\x59\xf8\x3b\x60\xd6\x85\x65\x99\x47\
+\xb8\xea\x1f\xdf\xf0\xd9\xda\x5f\xd0\x9b\x2e\x90\xee\x40\xcf\x2e\
+\x7e\xbc\xfe\xe0\x44\x26\x9f\xd5\xc5\xee\x48\x7b\x7b\x60\xd9\xbb\
+\x30\x5b\x7e\xcd\x3b\x55\x4e\xee\xf7\xb6\x9e\x91\x03\x7b\x87\x31\
+\xa8\x77\x98\xad\xac\x34\x6b\x19\xab\xc9\xc4\x6b\x0a\x8e\xb4\x93\
+\x4b\x66\xeb\x10\xdd\x15\x17\xdd\xde\x73\xe6\x2c\x6d\xfe\x1b\x44\
+\x2b\x58\xff\xcc\x84\x8a\xdc\xd4\xc4\xcf\x72\x52\x13\x27\x29\xe4\
+\x46\xa0\xc1\xe4\x8e\xa2\xdb\x96\x42\xf8\x0d\x73\x69\x7c\x72\xfa\
+\x9d\x4d\x8b\xb9\x39\x73\x11\x85\x30\xbe\x49\x29\xe1\x40\xbd\x01\
+\xf1\xf0\xe0\x8f\x08\xf5\x5f\x40\x2f\x0f\xc5\xb9\x83\xdb\xbe\x7e\
+\x47\x73\xe9\xd5\xc5\x87\x7b\xaf\xe8\xc7\xab\xf7\x8e\x64\xea\xd9\
+\x11\x18\x1c\xb6\x63\x2c\x23\x6a\x41\x71\x35\x4f\xbf\xbf\x8b\xf9\
+\x4f\x6d\x62\xc7\x81\xe6\xcf\xa0\x7d\xbd\x8d\x3c\x3e\x7f\x2c\x0b\
+\x2e\x1d\xec\x68\xac\xda\xcd\x03\xab\xe1\x86\x4f\xb2\x76\x39\x88\
+\xcf\x4a\x88\xb1\xf9\xac\x94\xcc\xea\x3a\xf3\x25\x97\xdc\x45\x05\
+\xd5\xbb\x49\x19\x51\xbb\x5d\xe9\xab\xa3\x11\xe5\x92\x5e\x1e\x47\
+\x43\x42\xba\xb5\xbb\x32\x0d\x90\x9d\x9a\xf4\x9a\x82\xfb\x1b\x14\
+\x50\x5c\x30\x66\xde\x77\x1e\x1d\xa8\x52\xa7\x21\xa8\x27\x7e\x27\
+\xce\x03\xbf\x49\xe2\x6e\xc9\x38\x1b\x88\x68\x4a\x4e\x43\xf6\xd5\
+\x0f\xc7\x82\x96\x64\x7d\xf0\x9c\x41\xfe\x0e\x9b\xe7\xcb\xd7\x9f\
+\x62\xdf\xb1\x76\x29\x4b\xd1\x24\x3d\xbb\xf8\xf0\x97\x2b\x06\xf0\
+\xda\x7d\xa3\x49\x1a\x1b\x81\xa6\x59\x0d\xf2\x56\x03\xf1\x8e\x03\
+\xc5\xcc\x7f\x6a\x13\xcf\x2e\xdd\x45\x69\x45\xf3\xb2\x7d\x2b\x05\
+\x57\x4d\xef\xc7\xe3\xc9\x63\xf1\xf5\x36\x76\x90\x07\x96\x73\x8b\
+\x93\xf1\xcd\x01\x87\x1c\x59\x17\x4d\x1a\x80\xb2\x35\x6e\xde\x5e\
+\xe6\x9a\x89\x4e\x3b\x70\x40\x35\x19\xc8\xa3\x94\x7e\xd0\xb5\xbe\
+\x3a\x16\xcd\x52\xd1\xb0\x49\x8c\x9a\xb1\x75\xc1\x4a\xad\xa4\xcc\
+\x14\xf4\x1c\x0d\xeb\x1a\xe0\xed\x59\xe2\x4a\x0c\xce\x6f\x01\xa3\
+\x88\x7c\x30\x39\x39\xd3\xe5\xf4\xe0\x6e\xce\x20\x14\x2e\x05\x1b\
+\x0b\xea\x5b\x0d\x2c\xf5\xb0\xb1\x8b\x3c\x1f\xdd\xdf\xf6\xc5\xf6\
+\x68\x41\x0d\x6f\xac\xcc\xe7\xce\x17\x0f\x72\xf3\xb3\xfb\x79\x6d\
+\x45\x1e\x3b\x0e\xb6\x2e\x2e\xa3\x25\xf4\x88\xf4\xe1\xfe\x2b\x63\
+\x78\xfb\xc1\x31\x5c\x38\x3e\x0a\x83\x66\x1b\x1d\x0c\xa0\xeb\x3a\
+\xff\x5b\x73\x98\xcb\x1e\x5a\xc7\x87\x99\x87\x9a\xbd\xac\x35\xf9\
+\xac\x28\xde\x7c\x28\x9e\xde\xd1\x2e\xcc\xc0\x5a\xed\x81\xe5\xfc\
+\xac\xaa\x6a\x33\x2b\xd7\xed\xb5\x39\x12\x19\xea\xc7\xc0\xde\xa1\
+\x76\x7d\x9b\x13\x5c\xe9\x15\xa4\x49\x4f\x03\x5d\x69\x25\xae\xf5\
+\xd5\xc1\x68\xba\x4b\x7a\x99\xd1\x3b\x35\x78\x6f\xe3\xcb\x63\x6b\
+\x50\x0d\xbb\x1d\x6b\x66\xf3\xa0\x8e\xd4\xa7\xbd\x51\x8a\x65\x8d\
+\x1c\x8d\x36\xa3\xff\xf7\x0c\x8a\xcf\x71\xe3\x02\x93\x92\xd3\xce\
+\x46\x71\x89\x2b\xb2\x22\x6a\xbd\x06\x10\x44\x8f\x73\x10\x6c\x36\
+\x3c\x86\xf5\xb2\x75\x2e\xd9\xb0\xfd\xf4\x06\xf3\x89\xc2\x1a\x3e\
+\xdf\x50\xc8\xfd\xaf\x1f\x66\xde\x33\xfb\x78\xed\xab\x13\x6c\xef\
+\x60\x63\x12\x1d\xe6\xcd\x9d\x97\x0d\xe0\x9d\x87\xce\xe6\xc2\x89\
+\xd1\xb5\x86\xc4\x96\xe2\xb2\x1a\x9e\x5b\xba\x93\x79\x4f\x7c\xc3\
+\xb6\x7d\xae\x56\x7f\xb4\xd0\x2b\xca\x9f\x37\xfe\x36\x89\x49\xa3\
+\xa3\x69\x7f\x0f\x2c\xfb\xbd\x13\x0b\xe9\x5f\xef\x77\xd0\xeb\xdc\
+\x11\xdd\x6c\x64\x15\x4c\x71\xa6\xbf\x03\x0a\xaf\xa6\x45\xe8\x9c\
+\xe9\x65\x53\xd4\x48\xa5\x4b\x72\x4a\xb5\x2e\x79\x5a\x5b\x20\x6c\
+\x6a\xf0\x98\xd2\x9a\x5c\x16\xf8\x35\xa1\x89\xf6\x57\x1a\x4f\x7c\
+\x19\x6f\x3a\xa1\x3f\xd1\x51\xfa\xb8\x69\x1d\x93\x6f\xcf\x0c\xd6\
+\x45\xbd\x0f\xb8\xb0\xd4\xaa\x0e\xe5\x2e\x49\xd8\xa4\x01\x68\xba\
+\x6e\xf3\x16\x1b\x1d\xea\x41\x44\xb0\x6d\x1f\xdf\xee\x2c\x73\xda\
+\xcd\x89\xc2\x1a\x3e\xdb\x70\x8a\xfb\x5e\x3d\x40\xf2\x73\x7b\x79\
+\x37\x3d\x8f\xfd\xc7\x5c\xfb\xbe\xb7\x05\x51\xa1\xde\xdc\x75\x59\
+\x0c\x6f\xff\xed\x6c\xa6\x8f\x8f\xc6\x68\x70\xcc\x91\xb2\xf3\x60\
+\x31\xb7\x3c\xf9\x0d\x4f\xbd\xb7\x9d\xe2\x32\x97\xbc\x5e\x01\xf0\
+\xf3\x31\xf2\xcf\x85\xe7\x70\xcd\x05\x31\xa7\x1d\x98\xda\xc5\x03\
+\xcb\x5e\xd6\xf2\xe1\xdb\xad\x47\x1d\x72\x77\x8d\x1f\xd1\x1d\xbb\
+\xfc\x2f\x63\xfa\x4f\x7f\xbe\xe9\xa5\x1b\xa1\xc9\x7f\x14\x25\x7a\
+\xe3\xa9\x96\x3b\x09\xd1\x34\x97\x0c\x83\xa6\xf4\x36\x75\x73\x6d\
+\x09\x4a\xa9\x13\x0d\x1e\x94\x66\x55\x5d\x3c\xf3\xd1\x31\x19\xd0\
+\x2e\x03\x69\x30\x6b\x81\x82\x3b\xe3\x6e\xc9\x70\xe9\x8d\xd6\x4d\
+\xe7\x11\xbb\x20\x2d\x46\xaf\x36\x67\xa2\xe8\xe7\xd2\x09\xa2\x7f\
+\x00\x4a\x34\x00\xd1\xb0\x31\x20\xc3\xfa\xd8\xae\x04\x54\xd7\x08\
+\xbb\x8e\x38\x1b\x7f\x6c\xbd\x88\x8e\xe4\x57\xf1\xdf\xac\x7c\x6e\
+\x7b\x61\x2f\x37\x3e\xbd\x9b\x57\xbe\x38\xca\xb6\x03\x1d\xf3\x9d\
+\xee\x1a\xee\xc3\x5f\xfe\x34\x90\xf7\xfe\x7e\x2e\x97\x24\xf4\xc0\
+\xd3\xae\xd4\x89\x2e\xc2\x27\xd9\x87\x98\xfb\x60\x0e\xcb\x32\x0e\
+\xa0\xeb\xae\x59\x02\x4d\x53\x2c\x9c\x33\x94\xc7\xe6\x9f\x8d\x8f\
+\x97\xb1\x19\xb3\x88\xe6\x7a\x60\xd9\xa7\x73\x81\x92\xf2\x6a\xb6\
+\xee\xb5\xcd\x03\x76\xf6\xd0\xae\xf6\xb3\x2d\xa3\xae\xf4\x26\x37\
+\x2c\x05\x9c\xbf\x01\xd8\xc8\x34\xbd\x4f\xd2\x19\x88\x12\x97\xf4\
+\x32\x29\xad\xd3\x0d\x88\xb9\xb1\xf5\x52\x17\xef\xe3\xd7\x44\x56\
+\x6a\xc2\x31\x4d\xf8\x23\x0d\x7b\xa0\x29\x34\x79\x7d\xe2\xfc\x8c\
+\x81\x1d\xa9\x97\x1b\xd7\x88\x4d\x5e\x1d\x1b\x9f\x9c\xf6\x96\x12\
+\xb5\x59\x50\x0e\x89\xf7\x9c\xa2\xa8\x36\x18\x0d\xcf\x43\x5d\x31\
+\x75\xc1\x26\x67\xcf\xb0\xde\xb6\x2f\x7c\xbb\x7f\xa9\xc4\xec\x2c\
+\xa8\xaf\x91\x31\xf8\xf8\xa9\x6a\x96\xaf\x3b\xc9\xa7\xeb\x4e\xd2\
+\x3d\xdc\x93\xd8\x61\x41\xc4\x0e\x0f\xa2\x77\x54\xfb\xbe\xe4\x76\
+\x09\xf5\xe6\xb6\x4b\x07\x30\x77\x4a\x0f\xde\x59\xb9\x8f\x2f\xd7\
+\x1d\xa5\xda\x54\x9b\xfa\x44\x84\x92\xf2\x1a\x9e\xfd\x60\x3b\x2b\
+\x36\x1c\xe1\xae\xcb\x87\x30\xa4\x4f\xd3\x01\x97\x00\x53\xcf\xe9\
+\x4e\xaf\xa8\x00\xee\x7e\x6e\x3d\x47\xf2\x4e\x2f\xe7\xd9\xd8\x0a\
+\x57\x6c\x92\xcb\xb2\x16\x83\xb2\xfe\xc7\x23\x8c\x18\x10\x59\xdf\
+\x1a\xe0\xe7\xc9\xb0\xfe\x91\xfc\xb0\xeb\x74\xb0\xb8\x88\x1a\x0d\
+\x7c\xde\x58\x6f\x4a\x28\x6a\x3a\x0c\x44\xf5\x6e\x4a\xa2\x53\x50\
+\x5a\x1f\x57\x9e\xad\x6e\x96\xb6\x29\x26\xd3\x0a\x0c\xa8\x90\x86\
+\x82\x44\x45\xe8\x74\xfd\xda\x83\x35\x4b\x92\x72\xe2\x93\xd3\xee\
+\x13\x54\x43\xd9\x7d\x03\x95\x92\x0f\xcf\xbb\x7b\xe5\xb9\xab\x9e\
+\x9a\xd6\xe4\x8b\x8c\x1b\x57\x10\x9f\xd8\xf9\x69\x49\x4d\xcb\x59\
+\xd0\x94\x16\x88\xe8\x01\x80\xbf\x40\x2f\x94\x36\x1a\x64\x24\x10\
+\xd1\xdc\xc0\x07\x25\xf2\x62\x9d\xbb\xbf\x71\xce\xfd\xbb\x23\x6a\
+\x10\x9b\xbc\xef\xbd\xbb\xd8\x2e\x97\xef\x3a\xec\x7c\xf5\xc3\x3e\
+\x2a\x02\x67\x9f\x45\x38\x9c\x57\xc5\xfb\x19\xc7\x79\x3f\xe3\x18\
+\xdd\xc3\xbd\x88\x1b\x11\x4c\xec\xf0\xe0\x76\x35\x26\x51\xa1\xde\
+\xdc\x7d\xf9\x60\xae\x3e\xbf\x0f\x6f\xaf\xd8\xcf\xe7\x6b\x0f\x53\
+\x5d\x63\xae\xd7\x70\xfb\xfe\x22\xe6\x3d\xbe\x9e\x0b\x62\xbb\x33\
+\xff\xe2\x81\x04\xfb\x37\x9d\x50\x34\xa6\x67\x10\x6f\x3f\x3c\x85\
+\xfb\x16\x6f\xe0\xeb\x2d\xc7\x6d\x96\x92\x9a\xf4\xc0\x6a\xc9\xac\
+\x44\xe0\x9b\x9f\x7e\xe1\xe6\x4b\x6c\x73\xf2\x0d\xec\x13\x76\xda\
+\x80\x58\x64\x9b\x7c\xbb\x53\x4a\xf6\x4a\x93\x16\x44\x62\x9a\x10\
+\xe8\x14\x34\x61\xa0\x0b\x7f\xe4\x95\xeb\xa3\x72\x3a\x3f\x01\x24\
+\x34\x9c\xce\x43\x53\x2d\xcf\xbf\x73\x86\x93\x9d\x9a\xf8\xef\xf8\
+\x05\x19\xe3\x1a\x4a\xfd\xae\x60\x58\x45\x99\xf1\x55\xe0\xf2\x0e\
+\x56\xed\xb7\x4a\x94\x52\x6a\xb5\xab\xc2\x82\x60\x9b\x70\xb0\x85\
+\x71\x9e\x8a\x83\xe6\x0a\xef\x07\xeb\x3e\x1a\x4d\x5e\xfa\x40\xeb\
+\xaa\xa0\x9a\x66\xd9\x03\xb1\xa6\x6f\xb4\x17\x09\x23\x03\xd9\xb2\
+\xbf\x9c\xbc\x22\xc7\x99\x6a\x73\xe2\x21\x0e\xe5\x55\xf2\x5e\xfa\
+\x31\xde\x4d\x3b\x4a\x8f\x48\x2f\xe2\x86\x07\x13\x37\x22\x84\xde\
+\x51\xed\xb3\xff\x19\x19\xe2\xcd\x5d\x97\x0f\xe2\xaa\xf3\x7b\xf3\
+\xce\xca\x7d\x7c\x96\x7b\x88\xaa\x6a\x8b\x72\x66\x11\x96\xe7\x1c\
+\x24\x73\xe3\x51\x6e\x99\x3d\x90\xd9\x93\x7a\xda\xba\x07\x3b\x21\
+\xc8\xdf\x93\x17\xee\x8e\xe3\xd9\x0f\x7e\xe4\xdd\xaf\x76\x36\x28\
+\x57\xff\x4c\x5a\x19\x17\xb2\xf3\x80\x63\xb6\x89\x3e\xdd\x42\x6a\
+\xf7\xf1\xeb\xaf\xe2\xca\xf2\xc0\xde\xa6\x45\x88\x9c\x70\x6b\x7a\
+\xbf\x75\x8b\x12\x7f\x76\x41\xb6\xc3\x10\x51\x13\x5d\x08\x6c\xde\
+\x47\x4a\x4a\xdb\xd4\x44\x6e\x0d\xaa\xe1\x88\x74\x4d\xa7\xc5\x75\
+\x09\x44\x19\x73\xe3\x92\xd3\x9b\xe7\x97\xde\x00\xd5\x86\xaa\xd1\
+\x6d\x9f\x6e\x44\x49\x95\xf6\xe5\x8d\x9e\x66\xaf\x11\x34\xf4\x42\
+\xa3\xb8\x2c\x2e\x39\x7d\x6d\x4e\x6a\xe2\x0b\x6d\x7b\x6d\x37\x1d\
+\x44\x85\xa0\xe6\xae\x7d\x3d\xb6\xde\x2b\xd2\x28\xba\x36\xd0\xfa\
+\xcb\x19\x19\xec\x81\x87\xd1\x76\x10\x1d\xd9\xd7\x97\x91\x7d\x2d\
+\xfb\x22\xa7\x4a\x4c\x6c\x3f\x58\xc9\xe6\xbd\xe5\x6c\x3f\x58\xce\
+\xc1\x13\x55\xd8\xbf\x69\x8b\xc3\xdc\xc4\xf9\x9b\xf6\xa1\xe3\x95\
+\xbc\x7b\xfc\x28\xef\xae\xfe\x85\x2e\xa1\x5e\x8c\x1f\x12\x44\xdc\
+\xc8\x50\x86\xf6\x6e\xfb\x00\xc6\xc8\x10\x6f\xee\xbc\x6c\x30\xd7\
+\x5d\xd0\x8f\xf7\x57\xef\x67\x59\xfa\x7e\x2a\xab\x4d\x20\x16\x6f\
+\xad\x27\xdf\xf9\x89\x8f\xb3\xf7\x73\xf7\x15\xc3\x19\x39\xa0\xf1\
+\x42\x5c\x06\x83\xe2\xae\x3f\x8d\x64\x68\xdf\x10\x1e\x7e\xe5\x1b\
+\x2a\xab\xac\xb3\x03\x3b\xee\x6d\x58\x7f\x74\xba\x77\xd2\x88\xe5\
+\x3d\x51\x50\x46\x69\x79\x35\xfe\xbe\xa7\x67\x48\x7d\xbb\xdb\x2e\
+\xbb\x09\x0c\x04\x51\x8d\xa5\x8f\x10\xa5\x6d\x71\xc5\x9a\x69\x26\
+\x95\x08\x9c\x31\x06\x64\x72\x72\xa6\xbf\x19\x7d\x9c\x0b\xa2\x5b\
+\xdb\x5d\x99\x26\x98\x7c\x4b\xe6\x30\x33\x7a\xc3\x71\x39\x06\xf3\
+\x4f\x2d\xee\x5c\x70\xa9\x8a\xa4\x2b\xf8\x18\x7c\xda\x25\x3b\xea\
+\xd7\x8b\x66\x14\x4f\x9c\x9f\x31\x4b\x53\xf2\x2d\xd0\x50\x1a\x8b\
+\x7f\xc7\x26\xaf\xfe\x21\x37\x75\xaa\xbb\x30\xd4\xaf\x8b\x32\x41\
+\x2e\xcd\x5d\x9c\xf8\xb5\x75\xa3\x26\x9a\xed\xdb\x6b\xb7\xb0\xc6\
+\x97\x72\x42\x02\x8c\x4c\x18\xea\xcf\xfc\x99\x91\x3c\xbf\xa0\x37\
+\x6f\xdc\xdd\x8f\x7b\xff\xd8\x8d\x69\x63\x82\xe9\x19\xe9\xdc\x53\
+\xd4\x95\x78\x88\x63\x05\x55\x7c\x9c\x73\x9c\x3b\x5e\xd8\xc6\x35\
+\x8f\xfd\x40\xea\x27\x07\xd8\xba\xaf\xed\xc3\x12\x42\x02\x3c\x49\
+\xbe\x38\x86\xff\x3d\x31\x99\xab\xce\xef\x87\xb7\xa7\xa1\x5e\xa1\
+\x5d\x07\x8b\xb9\xf9\x89\x5c\x52\x5e\xfd\x9e\x82\xe2\xa6\x3d\x5a\
+\xcf\x1f\xdf\x93\x37\xff\x9e\x44\xd7\x08\xab\x10\x0b\x17\x67\x1c\
+\x75\x2b\x5a\x4d\x8b\x0b\xfb\x7f\xb1\x75\x41\xee\xdb\x2d\xc4\xbe\
+\xa7\x80\x5e\xd3\x9e\x6d\x34\x68\xcb\xc7\xa7\x66\x03\xd0\xa4\x0b\
+\x9a\x52\x32\xb7\x49\x95\x3a\x10\x5d\xe4\x22\x9a\x4a\x58\x08\x88\
+\x52\x39\x1d\xa0\x4e\x83\xcc\x99\xb3\xd4\x60\x56\xb2\x88\x86\x13\
+\x8e\x9d\xec\x72\xfc\xd4\xb6\x06\x8e\xfd\x66\x58\xbb\x64\xca\x4e\
+\x06\x42\xd0\x6b\x00\x00\x20\x00\x49\x44\x41\x54\x85\x34\x96\xb6\
+\xc5\x43\xa1\xbd\x1f\x77\x6b\xf6\x6f\xca\xa5\xf9\xb7\x8d\x3a\xa4\
+\x8b\x96\x94\x9b\x9a\xb4\xc2\xfe\x88\xa6\x41\x7f\xeb\x86\xae\x61\
+\xcd\xcb\xb6\x10\x12\x60\x64\xe2\xd0\x00\x92\x67\x45\xf1\xc2\xad\
+\x7d\x79\xfd\x9e\x01\xdc\x79\x69\x37\xa6\x8e\x0d\x26\xda\xc6\x18\
+\x89\xdd\xcb\x79\xc3\xfb\x05\x47\x4f\x56\xf1\x71\xf6\x31\x6e\x5f\
+\xb4\x95\x1b\xff\xb9\x99\xff\xac\x3c\xc4\x81\x63\x6d\xeb\x60\x13\
+\x12\xe0\x49\xf2\x25\x03\xf9\xe8\x89\x04\x2e\x3f\xaf\x6f\xad\x21\
+\xb1\x2c\x39\x7d\xb9\xee\x20\x73\xee\x4f\xe7\xbf\x69\x7b\x9d\x3b\
+\x0f\x58\x31\xb0\x57\x30\x6f\x3f\x92\xc4\x98\x81\xd6\xdf\x07\xd7\
+\xe2\x42\xac\x8f\xdb\x1a\x59\xdb\x19\xdd\xbe\x23\xb6\x7b\xaf\x3d\
+\xba\x04\x62\x34\xda\xbe\x44\x2a\xad\xf1\xfd\x8b\x55\x4f\x4d\x2b\
+\x43\xf1\x7d\x63\x32\xb5\x4c\x9e\x70\x6b\xba\x6b\xae\x7c\x1d\x80\
+\xc0\x4d\xae\xc8\x69\x66\x73\xa7\x19\x90\x31\xf3\x3e\xf3\x3d\x16\
+\x11\xf6\x26\x4a\x26\x37\x22\xf6\xbf\x65\xcb\xe6\xb6\xbc\x90\xcd\
+\xaf\x88\xec\xd4\xa4\x77\x45\xa9\xc6\x6a\xca\x74\xc7\x6c\x7a\xaf\
+\xa3\x73\x97\xb9\x69\x36\x66\x41\xbd\x66\xf0\x54\x23\xd6\x2e\x49\
+\xd8\xe0\x4c\xc0\x28\xd8\x16\x4e\x0f\x0d\x6c\x5d\xe0\x68\x78\x90\
+\x07\x09\xa3\x82\x49\x18\x65\x59\x66\x39\x59\x5c\xc3\x8f\x7b\xcb\
+\xd8\xb2\xb7\x94\x1f\xf7\x96\x72\x24\xdf\x71\x43\xde\xf9\x0a\x8e\
+\xe5\x97\xfd\xc7\xca\xd9\xbf\xa2\x8c\xb7\xbe\x3a\x48\xef\x28\x5f\
+\xe2\x47\x85\x31\x79\x54\x38\xbd\xa2\xda\x26\xe8\x38\x34\xd0\x8b\
+\x3f\xcf\x1d\xc2\xd5\xe7\xf7\xe3\x9d\x95\x3f\xf3\x51\xc6\x3e\xca\
+\x2b\x4d\x94\x94\xd7\xf0\xd4\x3b\x3f\xf2\xe9\x9a\xfd\xdc\x7b\xd5\
+\x48\x46\xc5\x84\x35\xd2\x87\x37\x2f\x3d\x90\xc0\xbf\xde\xde\xc4\
+\x07\x2b\x1d\x73\x58\x39\xde\x5b\xd3\x88\x95\xb1\x3d\x70\xd4\x76\
+\x06\x62\x34\x6a\x84\x07\xfb\x72\x34\xbf\xa4\x5e\x58\x09\xf6\x99\
+\x20\x9d\xf5\xb9\x5c\xc1\x39\x4d\x88\x19\x8c\x66\xb9\x13\x58\xe0\
+\xba\xb6\xed\x43\xec\x82\x8c\x71\x48\xa3\x83\xb2\x05\xc5\xc1\xec\
+\x17\x93\x7e\x68\x52\xae\x2d\x49\x49\xd1\x62\xf3\x62\xfb\x2b\x5d\
+\xbb\x04\x25\xf3\x80\xde\x8d\x48\xeb\xba\x52\xcf\x75\x90\x66\x67\
+\x04\xa7\x4e\xe4\xdf\x19\x1a\x11\x36\x16\x68\x60\xf9\x51\x92\x8e\
+\x85\x87\x3f\x02\x3c\xd0\x91\x7a\xb9\x71\x89\x2a\xe0\x7f\x06\x5d\
+\x7b\x2c\xeb\xc5\x84\x2d\x8d\x09\x1a\xed\x23\xd0\x7d\x3c\xdb\x76\
+\x79\x34\x2c\xd0\xd6\xa0\x14\x96\x9a\xf8\x69\x6f\x29\xdb\x0e\x94\
+\xb2\x65\x5f\x09\x7b\x8e\x94\x5b\x06\x4b\xa7\x7b\x27\xb6\xec\x3f\
+\x56\xce\xbe\xaf\xca\x78\xeb\xcb\x03\xf4\x8a\xf6\x61\xf2\xa8\x08\
+\x26\x8d\x8e\xa0\x77\x1b\x18\x93\x90\x40\x2f\x6e\x9d\x33\x84\xab\
+\xa6\xf7\x67\x59\xfa\x3e\xde\x5f\xb9\x87\x92\xf2\x1a\x76\x1f\x2a\
+\xe2\xc6\x47\xd7\x10\x3f\x3a\x8a\xbf\x5c\x3d\x9a\x2e\xa1\xce\x57\
+\x53\x8c\x06\x8d\xfb\xaf\x1d\xcb\x88\xfe\xe1\x3c\xfc\xca\x06\x2a\
+\xab\xac\xf6\x3b\x5b\x18\x17\x52\x47\x71\x99\xe3\x72\x9a\x9f\xb7\
+\x87\x4d\x17\xba\x72\x21\x48\x4d\xe4\x7d\x94\xfa\x07\x4d\xe4\x75\
+\x17\xd4\x4d\x13\xe7\x67\x3c\x5f\x5b\x11\xb0\x93\x10\xa5\x24\xe3\
+\x49\x17\x45\x3f\x68\x93\xf4\xe1\x22\xd7\xc4\x2f\x48\x6f\x30\x0b\
+\xa9\xe8\xf8\x80\xf2\x57\x4a\x0f\x96\x13\xaa\x3f\xe0\xef\xca\x65\
+\x95\x92\x57\xd7\x2e\x4e\xec\xf4\x3d\x9a\x8e\x64\xeb\xb2\xb9\xd5\
+\xf1\xc9\x2b\xe7\x08\xc6\x4d\xd0\xc0\xdf\xa6\x92\xfb\x63\x93\xd3\
+\x37\xe4\xa6\x26\x7e\xd6\xb1\xda\xb9\x71\x42\x95\x40\xb6\x26\xf2\
+\xa9\x49\xcc\xcb\xd6\xbd\x38\xad\xe1\x80\x58\x2b\x8c\xa0\xfc\xad\
+\x47\xa2\xf6\xac\x3e\x08\x10\xec\x6f\x24\x6e\x44\x30\x71\x23\x4e\
+\x1b\x94\x9d\x87\x4a\xd9\xb2\xb7\x94\x4d\xbb\x8b\xd8\x73\xb8\xcc\
+\xea\xed\xdb\xce\xa0\x58\x2d\xfd\xec\x3f\x5a\xce\x9b\xbf\xec\xe7\
+\x8d\x2f\xf7\xd3\x3b\xca\x97\xc9\xa3\x23\x48\x38\x2b\x82\x5e\x51\
+\xcd\x2f\x2e\x65\xab\x9f\x27\x37\xcd\x1a\xc8\xdc\xc4\x3e\x2c\x4d\
+\xdb\xcb\xfb\xab\xf6\x50\x5c\x56\x4d\xf6\xf7\x47\xf9\x66\x6b\x1e\
+\x57\xcf\x18\xc0\x75\x33\x07\xe1\x61\x74\xfe\x9c\x2e\x88\xed\x4d\
+\xdf\x6e\x81\xdc\xfe\xf4\x1a\x7e\xc9\x6b\x86\xcb\x7b\x23\xe3\x50\
+\x59\x85\xe3\xd6\x85\xaf\xaf\xdd\x52\xa3\x92\x10\x07\x21\x3b\x72\
+\x97\x24\xed\x8d\x4b\xce\x58\x8b\x5d\xde\x33\x27\x78\x68\x8a\x17\
+\x40\xce\xeb\xac\xba\x0e\xb1\xf3\x33\xae\xa5\xb1\x1a\x1b\xa7\x11\
+\xa5\x99\xdf\x69\x93\x8b\x2a\x46\x8a\xd0\x70\xc2\x43\x05\x96\xbf\
+\xca\xa6\xeb\xaa\x58\xb1\xb5\x4a\xab\xbe\xa7\x95\x9a\x81\xa6\x62\
+\xc5\xac\xb7\x89\x9b\x72\x56\xf0\x9a\x0e\x29\xf8\x94\x9d\x3a\xed\
+\xd0\xa4\x05\x69\x57\xe8\xa2\x56\x00\xce\xbe\x30\x4a\xc1\x5b\xb1\
+\xf3\xd3\xc6\xe6\x2e\x49\x72\xc5\x4b\xd0\x4d\x6b\x50\x54\x23\x72\
+\x12\x54\x3e\xa8\x23\x28\xd9\x2d\xa2\x76\xa0\xd8\x18\xa0\x55\xfe\
+\xf0\xd5\xa2\x19\xcd\x4e\x65\x64\x44\x49\x80\xf5\xe0\xd5\xd6\x33\
+\x90\xa6\x08\xf6\x37\x32\x6e\x70\x30\xe3\x06\x07\x73\x03\xdd\x29\
+\x2c\xad\x61\xc7\xc1\x32\xb6\xec\x2d\x66\xd3\xae\x42\x76\x1f\x2e\
+\x43\x6a\x9d\x33\x1b\x8a\xc1\xdb\x7f\xb4\x8c\x37\x8e\x96\xf2\xc6\
+\x17\x7b\xe9\x1d\xe5\xc7\xe4\xb3\x22\x99\x32\x26\xb2\x55\xc6\x24\
+\xc8\xdf\x93\x9b\x66\x0f\xe2\x8a\x69\xfd\xf9\x30\x63\x2f\x6f\x7d\
+\xbe\x93\xa2\xb2\x2a\x5e\xfa\xdf\x36\x56\xac\x3f\xc8\x3d\x57\x8d\
+\x62\xfc\x70\xe7\xfb\xd6\x83\xfb\x84\xf2\xc1\x63\xd3\xb9\xeb\x99\
+\x6c\xbe\xdd\x76\xbc\xc5\x1e\x58\x75\x9f\xcb\x2a\xaa\xb1\xc7\xcf\
+\xc7\xc3\xf6\x0c\x51\xae\x05\xd5\x28\x9e\x42\x70\xa1\xfc\xab\x24\
+\xc5\x27\x67\xdc\x95\x9d\x4a\x43\xc1\x61\xed\x46\xec\x82\xb4\x18\
+\x25\x3c\xef\x8a\xac\x82\x15\xd9\x2f\x4c\x6d\xb9\x77\x53\x7b\xa2\
+\xd8\x66\xd0\xb4\xf3\xdb\xc2\x65\x56\xe9\x35\x07\x73\x96\x9c\xf1\
+\x05\xa5\x1c\x58\xb3\x38\x69\x75\x5c\x72\x46\x0a\xc8\x23\x0d\x88\
+\x84\x68\x8a\x8f\xc6\xdf\xb1\x6e\xc2\xfa\x67\x26\x74\x7c\x76\xd6\
+\x5f\x2f\x07\x44\x3c\x47\x37\x2d\x06\x46\x65\xaa\xc9\x4a\x4d\x70\
+\xa5\xc6\x79\xb3\x71\x58\xc2\xf2\xee\x60\x03\x62\x4f\xb0\xbf\x07\
+\xe7\x0e\x09\xe6\xdc\x21\xc1\x40\x4f\x8a\x4a\x6b\xd8\x7e\xa0\x94\
+\x9f\xf6\x16\xb3\x71\xe7\x29\x76\x1f\x2e\xb1\xd9\x1f\xa8\x1f\x96\
+\x6b\xdb\xf6\x1d\x2d\x65\xdf\x17\xa5\xbc\xfe\xf9\xcf\xf4\x89\xae\
+\x35\x26\x63\xa3\xe8\xdd\x42\x63\xe2\xe7\x63\xe4\x9a\x0b\x62\x98\
+\x93\xd8\x97\xa5\x69\x3f\xf3\xd6\xe7\x3b\xd9\x7f\xb4\x84\x05\xff\
+\xcc\x26\xfe\xac\x68\xee\xbb\x66\x0c\x51\x61\x8e\x4b\x68\x21\x81\
+\xde\xbc\xf2\xe0\x54\xfe\xf5\xf6\x77\xbc\xf3\xe5\x76\x9b\x63\xae\
+\x7b\x60\x59\x28\x2b\x77\x9c\x81\xf8\xfb\x78\x62\xd7\x43\x93\xc9\
+\x12\x01\x72\x16\x27\x2c\x8f\x5b\x90\xb1\x0d\x61\x48\x53\xb2\x02\
+\x8f\xc7\x2d\xcc\xf8\x29\xe7\x85\x29\x2b\x5d\x54\xb5\xd5\x24\x2e\
+\x48\x0b\xab\x16\xb5\x1c\xab\xd2\xca\x8d\xa1\x44\x1e\x6f\x67\x95\
+\x5a\x82\xa0\xd4\x7f\xbc\x6a\xcc\x7f\x4e\x7b\x39\xb1\x79\x59\x3c\
+\x7f\x83\xe4\x44\x66\x3f\x1a\x77\x22\xee\x5c\x60\x86\xb3\xe3\x82\
+\x1a\x65\xac\xae\x58\x0c\x5c\xdf\xb1\x9a\xfd\x9a\x51\x7a\xee\x92\
+\xb8\x53\x9d\xad\x85\x86\xb2\x75\x91\xf4\xf2\x68\xd6\xf4\xbc\xdd\
+\x09\xf2\xf7\xe0\xdc\xa1\x21\xdc\x34\xb3\x17\x2f\xde\x3d\x8a\x8f\
+\x1f\x3d\x97\x47\x6e\x1c\xc2\x25\x93\xbb\xd1\xaf\x9b\xbf\xcd\xbc\
+\xd8\x7e\x86\xb2\xef\xa8\xc5\x90\x5c\x99\xb2\x96\x6b\xfe\xb1\x8e\
+\x37\xbf\xf8\x99\x83\xc7\x5a\x96\x49\xc1\xd7\xdb\xc8\xb5\x17\x0e\
+\xe4\xb3\x7f\x4f\x67\xfe\x25\x43\x09\xf2\xf7\x64\xcd\xa6\x5f\xb8\
+\xf4\xde\x2f\x79\xeb\xf3\x1d\x98\xcc\x8e\x31\x6c\x06\x83\xe2\xbe\
+\x6b\xcf\xe6\xa1\x9b\xce\x3d\xbd\xe4\xd5\x4c\x0f\x2c\x10\xca\x2b\
+\x1d\x0d\x88\xb7\x97\xad\xb3\x83\x12\x9a\x0e\xa5\xaf\x95\x54\x28\
+\x57\x97\x54\x8c\xe8\xb2\x6c\xe2\xfc\xcc\x73\x5d\x94\x6f\x15\xe3\
+\x6e\xfd\x32\xb0\xd6\x78\xb8\x98\x37\x49\x3e\x5d\xb3\x24\xa9\x53\
+\xdd\x77\xed\xa8\x44\xe4\x23\x5d\xb4\x09\x39\x8b\xa7\x5c\x9b\xf6\
+\xf2\xd4\xdf\xbd\xf1\x00\x20\x25\x45\x37\x55\xd5\x5c\x05\x6a\x5f\
+\x83\x32\xc2\x75\x71\xc9\xe9\x2e\x79\xdc\xb9\x39\x73\xd0\x10\x6c\
+\xa6\x8d\x55\x35\x9d\xb2\xe4\xed\x32\x81\x7e\x1e\xc4\x8d\x08\x63\
+\xe1\xc5\xfd\x78\xed\xbe\x31\x7c\xf2\xcf\x89\x3c\x3a\x6f\x18\x73\
+\x12\x7a\x30\xa0\x47\x40\x6d\x35\x41\xbb\xe0\x3d\x11\xf6\x1c\x2e\
+\xe1\x95\x4f\x77\x73\xd9\x43\xd9\x5c\xfd\x48\x2e\x6f\x7e\xb1\x87\
+\x83\xc7\x9b\x6f\x4c\xfc\x7d\x3d\xb8\x69\xf6\x10\x3e\x7f\xe6\x02\
+\x16\xce\x19\x8e\xc1\x68\xe0\x99\xf7\x7e\x60\xee\x7d\x2b\xf8\x66\
+\xeb\x71\xa7\xe7\xcc\x9d\x1a\xc3\x6b\x0f\x4d\x23\x2c\xc8\xb5\x68\
+\x7b\xdb\x19\x16\x78\x18\x1d\xbd\x1d\xab\xaa\xcd\x36\xc2\x22\x38\
+\xae\x73\x35\x40\xf6\xe2\x29\x5f\x2a\xf8\xd8\x45\xf1\x00\x4d\xe9\
+\xab\x27\x2d\x48\x9b\xea\x6a\xff\x2d\x21\xee\xd6\xec\x08\x2f\xb3\
+\x67\x3a\x30\xc1\xc5\x53\xca\x0d\xba\xe1\xf6\xf6\xd4\xc9\x05\x6a\
+\x80\x9f\x44\xf1\x9e\x28\x75\x83\x97\x49\x8f\xca\x59\x92\x74\x69\
+\x43\x2e\x8f\xbf\x67\xd6\xbf\x76\x7e\x41\x6d\x9a\x93\xc6\xb2\x42\
+\x3f\x1f\x3b\x3f\x63\x4c\x47\xe9\xe4\xa6\xf5\x18\x51\x94\x20\xa7\
+\x97\x0b\x2a\xaa\x3b\x3f\x1b\x44\x73\x08\xf4\xf5\x20\x76\x44\x38\
+\xb1\x23\x2c\x8e\x1e\x15\x55\x66\xb6\xee\x2b\xe2\xbb\xed\x05\xfc\
+\xf8\xf3\x29\xb6\xed\x2b\xa4\xc6\x64\x6b\x50\x76\x1f\x2a\x66\xf7\
+\xa1\x62\x5e\xfa\x78\x27\x7d\xba\xfa\x33\x65\x6c\x34\x49\x67\x77\
+\x75\xad\x80\x54\x2d\x7e\x3e\x1e\xdc\x30\x6b\x08\x57\x9c\x1f\xc3\
+\xc7\x99\x7b\x79\x6d\xf9\x56\x6e\xfa\xbf\x74\xe2\xcf\xea\xca\xfd\
+\xd7\x9d\x4d\xd7\x70\xdb\x25\xb3\xb3\x06\x45\xb2\xec\xc9\x99\xdc\
+\xfe\xaf\x0c\x36\xef\xb6\x77\x70\x68\xd8\x03\x0b\xc0\xcb\xcb\xd1\
+\x80\x94\x38\x7a\x66\x35\x6b\x03\x4c\x33\x68\xb7\x99\xcd\x7a\x3c\
+\xd0\xb0\x7f\xf2\x69\xfc\x75\x51\x5f\xc6\x25\xa7\x3d\x90\x93\x9a\
+\xf8\xaf\xb6\xde\x58\x8f\xbb\x25\xfd\x1c\xcc\xa6\x0f\x05\xd5\xc3\
+\xe5\x93\x14\x0f\x64\xbd\x98\xb0\xbf\x2d\xf5\x50\x8a\x65\xba\xae\
+\xd2\x9c\x1f\x13\x11\xa1\x50\x19\x54\x31\x50\x6a\x30\xa9\xa2\xbc\
+\x93\x79\xbb\xb6\x2e\x9b\xeb\xb2\xe1\xfe\xbd\x93\xbb\x64\xca\xc6\
+\xb8\xe4\xf4\xdb\x80\x97\x1b\x10\xf1\x56\x4a\x3e\x1c\x7f\xc3\x0a\
+\xb7\x11\xf9\x95\x60\x44\x54\x09\x48\x74\x5d\x43\x65\xd5\xaf\xcb\
+\x80\xd8\xe3\xe3\x65\x60\xec\xa0\x50\xc6\x0e\xb2\x84\xb7\x94\x56\
+\x98\xd8\xbc\xfb\x14\x3f\xec\x2e\x60\xd3\xce\x02\x76\x1d\x2c\xc2\
+\x64\xb6\xf8\x0d\x0b\xb0\xf7\x48\x09\x7b\x8f\x14\xf3\xca\x27\x3b\
+\x88\xe9\x19\x54\x6f\x4c\x7a\x74\x71\xcd\x98\xf8\x78\x19\xb9\xe2\
+\xfc\x18\xfe\x90\xd0\x97\xff\xae\xda\xcd\x9b\x9f\x6f\xe3\x0f\x77\
+\x7d\xc6\xcd\x17\x0f\xe7\xaa\x0b\x06\xdb\x78\x6b\x75\x09\xf5\xe5\
+\xcd\x47\xa6\xf3\xf0\x4b\xeb\xf8\x24\xd3\xaa\xcc\x77\x13\xc3\xb1\
+\xb7\xa7\x63\x6c\x4e\x79\x65\x8d\x5d\xaa\x18\x17\x8b\x2e\xd5\x92\
+\xb5\x28\xe1\x70\xfc\x82\x8c\xab\x45\xe4\x33\x9c\x7b\xc8\xd8\x63\
+\x04\xf5\xcf\xd8\xe4\x8c\x0b\x95\x39\xed\x96\x9c\x97\x92\x5a\x1d\
+\x55\x3d\x66\xde\x67\xbe\xbe\x46\xbf\xbf\x83\xdc\x01\xe2\x72\x04\
+\xab\x82\x8f\xb3\x17\x4f\x69\xf3\xb8\x0a\x11\xb5\x3e\x77\xc9\x94\
+\x86\x06\x37\x37\x6d\x40\x4e\x6a\xe2\x2b\x71\x0b\xd2\xc7\x23\x5c\
+\xd7\x80\x48\x6f\xa3\x97\xc7\xdb\xb8\xf6\x37\xe9\xa6\x93\x31\x82\
+\xd8\xec\xce\xff\xda\x66\x20\x4d\xe1\xef\x63\x64\xe2\x88\x08\x26\
+\x8e\xb0\x44\x8a\x97\x57\x9a\xf8\x61\xf7\x29\xbe\xdf\x79\x92\x4d\
+\xbb\x4e\xb2\x63\x5f\x21\xa6\xda\xda\x20\x3b\x0f\x16\xb1\xf3\x40\
+\x21\x4b\x3e\xda\x46\x4c\xcf\x20\x92\xce\xee\x46\xa2\x8b\xc6\xc4\
+\xc7\xcb\xc8\xb5\x33\x07\x73\xd9\x79\x03\x58\x9a\xb6\x9b\x37\x96\
+\x6f\xe5\xe3\xac\x3d\xdc\x7f\xed\xd9\x4c\x18\xd9\xb5\x5e\xce\xcb\
+\xc3\xc0\x63\x0b\xe3\x18\xd2\x27\x94\x27\xde\xfc\x06\xb3\xb9\x2e\
+\x38\xb9\xe1\x38\x91\xd0\x20\x47\x07\x2b\xeb\x8d\x75\x01\x94\x52\
+\x27\x5d\x7b\x22\xa7\xc9\x5e\x3c\xe5\xcb\xb8\x05\x19\xff\x87\xc8\
+\x43\xae\x9e\xa3\x20\x0e\x83\xfa\x31\x2e\x39\xfd\x7d\x33\xda\xd3\
+\xeb\x52\x13\x9a\x1d\xc0\x37\xfe\x86\x15\xa1\x1e\x5e\x1e\xd7\xeb\
+\x70\x37\x48\x93\x01\x90\xd6\x08\xec\x30\x78\x6a\xd7\x77\x96\x7b\
+\xb1\x9b\xd6\x63\x28\xd3\x92\xcd\xbe\xfa\x48\xe0\xac\x06\x44\x9c\
+\x6e\xb6\xbb\x39\xf3\xa8\x5b\xc2\xaa\xe7\xb7\x66\x40\xec\xf1\xf5\
+\x36\x32\x61\x78\x04\x13\x86\x5b\x0c\x4a\x45\x95\x89\x1f\x76\x17\
+\xf0\xfd\x8e\x93\x7c\xb7\x33\x8f\xed\x7b\x2d\x06\x65\xe7\x81\x42\
+\x76\xec\x3f\xc5\x0b\xcb\xb6\x30\xb0\x67\x10\x53\xc7\x75\x23\xe9\
+\x9c\xee\x74\x8f\x6c\xdc\x98\x78\x7b\x19\xb9\xfa\x82\xc1\xfc\x71\
+\x6a\x0c\x4b\xd3\x76\xf1\x40\xea\x5a\x46\xc5\x44\x70\xef\x35\x67\
+\x13\x6d\xb5\xac\x75\xe5\x05\x43\x19\xd0\x2b\x94\x3b\x9f\x4a\xe7\
+\x64\x51\x23\xde\x8b\x02\xe1\xc1\x8e\x5e\x5e\xa5\x15\xb6\x2b\x56\
+\xba\x92\x66\x1b\x10\x80\x9c\xc5\x09\x29\xb1\xc9\x99\x5d\x14\x72\
+\x73\x33\x4e\x33\x00\x57\x1a\xd0\xaf\x8c\x4b\x4e\xff\x09\x51\x9f\
+\x61\x20\x9b\x6a\xe3\x8f\x39\x2f\xc7\x3b\xc4\x2a\x9c\x77\xf7\x4a\
+\xbf\xca\x52\x2d\x46\x94\x16\x8b\x46\x12\x70\xbe\x08\x9e\xcd\x77\
+\xd7\x50\x87\x34\x6a\xce\xcb\x7a\x76\xda\x6f\xb2\xae\xc6\xef\x85\
+\xac\x37\x13\x2a\x27\x2c\x48\xbf\xd8\x20\x6c\xc4\xb5\x25\xd4\x8e\
+\xc0\x3f\x7e\x41\xfa\xd2\x76\xbd\x82\xf0\x4d\x76\x6a\x62\x87\xbb\
+\xc5\xb7\x27\x46\x05\x05\xd6\xaf\x72\x05\xc5\xb6\x19\xa3\x0b\x4b\
+\xcd\xfc\x27\x2d\x9f\x88\x20\x23\xa1\x01\x46\xc2\x02\x2d\xff\x85\
+\x06\x18\x09\xf2\xfb\xf5\xa7\xb2\xf1\xf1\x32\x32\x7e\x58\x24\xe3\
+\x87\x45\x02\x83\x29\xaf\x32\xb1\x79\x57\x01\x9b\x76\xe6\xb1\x71\
+\x47\x3e\xdb\xf6\x9e\x62\xc7\x81\x42\x76\x1c\x38\xc5\xf3\xff\xfd\
+\x89\x41\xbd\x43\x38\xef\x9c\xee\x24\x8d\x6b\xdc\x98\x78\x79\x1a\
+\xb8\x6a\xc6\x60\xe6\x4e\x8d\xe1\xc3\xb4\x5d\xdc\xf0\xc8\x4a\x66\
+\x4d\xea\xc7\x75\x17\x0d\xc3\xd3\xc3\xf2\xdc\xc6\x0d\x8b\x66\xd9\
+\xbf\x66\xb3\xf0\x89\x55\xb5\x95\x07\x1d\x3d\xb0\x00\x22\x43\x6d\
+\xf7\x53\x4c\x26\x9d\xfc\xc2\x72\x1b\x59\x4d\x6b\xa4\x94\x6a\xa3\
+\x28\x89\xce\x5b\xba\xe0\x68\x64\x58\x80\x12\xae\x68\x41\x07\xc3\
+\x51\x32\x1c\x9d\xbf\x62\xac\x21\x2e\x39\xbd\x1c\xd4\x49\x44\xaa\
+\x51\x28\x20\xa8\xa2\x9c\xb0\xfa\x05\x89\x16\xcf\x1b\xe4\xa8\x42\
+\x9f\x96\x9d\xfa\xeb\x8b\x85\x70\xe3\xc8\xba\xc5\x89\x07\x62\x17\
+\xa4\x5d\xab\x2c\x5e\x77\x9d\xef\xfa\x29\x78\x0a\xce\x6b\x99\xb4\
+\xdd\x25\xf8\xf5\x0f\x98\x76\x18\x45\xd8\x6d\xdd\x70\xe4\xa4\xad\
+\xcb\x68\x80\x8f\x46\xf6\x4f\x25\xa7\x93\x0a\x4a\x5d\xdc\x85\x60\
+\x30\x40\xa0\x8f\x46\x48\x80\x91\x2e\x21\x1e\x84\x06\x18\x09\x09\
+\x30\x10\x1a\x60\xf9\x3d\x2a\xd4\x93\xf0\x20\x8f\xd3\x75\xca\x7f\
+\x05\xf8\x7a\x19\x19\x3f\x3c\x92\xf1\xc3\x2d\x55\x00\x2b\xab\xcd\
+\xec\x3c\x50\xc8\xf7\x3b\xf3\xf9\x7a\xcb\x71\xbe\xdf\x99\xc7\x73\
+\xfb\x0a\x78\xee\x83\xcd\xf4\xed\x1e\xc8\xd4\x73\x7a\x30\x7d\x42\
+\x2f\x7a\x45\x3b\xcf\x5e\xed\xe5\x61\xe0\x4f\xd3\x07\x33\x77\xea\
+\x40\xbe\x5a\xbb\x8f\x05\x4f\xa4\x73\xe5\x8c\xc1\x4c\x1a\x63\xd9\
+\x2f\xee\x1a\xe1\xcf\xfb\x4f\xcc\xe2\xef\x4b\x72\xf8\x38\x63\xa7\
+\x83\x07\x16\x40\x9f\x6e\xb6\xe9\xdb\x0f\x1e\x2b\xc2\x64\xd2\x6d\
+\x5d\x82\x95\xa9\xc5\x69\x47\x2c\x49\xfe\xe4\xca\xf8\xe4\x8c\xdd\
+\x02\x7f\x6f\x69\x3f\xb5\xf8\x82\xf8\xb6\xf1\x90\xb0\xc7\x80\x61\
+\x7a\x56\x6a\xc2\x9e\x36\xed\xf5\x57\x84\x8e\x31\x36\x76\x7e\x5a\
+\x9b\x16\xa4\x32\x40\x55\x67\xba\x41\xe7\x2e\x4e\xfa\x3c\x6e\x41\
+\xda\x13\x88\xba\xbf\xb3\x74\x70\xd3\x3a\x8c\x4a\xa9\x9d\x62\x35\
+\x10\x1d\xc9\xb7\x75\x2a\x31\x18\x14\x51\x21\x1e\xf5\xed\xd6\xc1\
+\x7b\x26\xb3\x50\x50\x62\xe2\x64\x49\x0d\x7b\x8e\x54\x58\x5a\x45\
+\x90\x7a\xd7\x52\xcb\x66\xb5\x9f\xb7\x46\x58\xa0\x07\x21\xb5\x46\
+\x25\x34\xc0\x83\xd0\x40\x0f\xa2\x43\x3d\x09\x0b\xf4\x20\x3c\xc8\
+\x13\x5f\xef\x33\xd3\x38\x7b\x7b\x1a\x18\x39\x20\x8c\x91\x03\xc2\
+\xb8\xf6\xc2\x81\x54\x56\x9b\xd9\xb1\xff\x14\xdf\xef\xcc\x63\xc3\
+\x96\x63\xbc\xbe\x7c\x2b\x4b\x3e\xfa\x89\x7e\xdd\x02\x99\x7a\x6e\
+\x4f\x66\x4c\xe8\x45\xaf\x68\xc7\xd2\xd7\x1e\x46\x8d\x8b\x26\xf5\
+\x63\xfa\xc4\x3e\x7c\xb5\x76\x2f\x8f\xbf\xb1\x81\xab\x66\x0c\xa5\
+\x7b\x97\x00\xbc\x3c\x0c\x3c\x71\xdb\x64\x46\x0f\xea\x42\xca\x8b\
+\x39\x36\x19\x80\x05\xa1\xaf\x9d\x01\xd9\x7b\xd8\x21\x7e\xa8\x78\
+\xff\x97\xf7\x1e\xb3\x6f\x6c\x1e\x4a\xb2\x53\x49\x89\x9f\x9f\x96\
+\x27\x4a\x3d\x8d\x8b\x81\x89\x1d\xc0\x2a\x53\x55\xcd\xe5\x39\xaf\
+\x9d\xef\x58\x59\xeb\x77\x84\x82\xf7\x6c\x2b\xca\xb5\x1e\x1d\x0e\
+\x03\xae\x7b\xbe\xb5\x03\x39\x11\xb9\x0f\xc6\x9d\x88\x1b\x03\x9c\
+\xd7\x99\x7a\xb8\x69\x19\x46\xd0\x77\x59\xcf\x20\xf3\x8a\x6a\xa8\
+\x31\x89\x4d\x51\xa9\xee\xe1\x9e\x0e\x86\xa5\x0e\x9b\x20\xb8\x06\
+\x96\x27\x4a\x2b\xcc\x94\x56\x98\xd9\x7f\xac\xd6\xfb\x49\xe4\x74\
+\xf2\x44\x11\x04\x21\xc0\xc7\x48\x68\xa0\x91\xc8\x60\x4f\xc2\x82\
+\x3c\x08\x0f\xf2\x22\x22\xc8\x83\xd0\x40\x4f\x22\x43\xbc\x08\x0f\
+\xf2\x24\xc0\xb7\x75\x99\x82\xdb\x02\x6f\x4f\x03\xa3\x62\xc2\x19\
+\x15\x13\xce\x75\x33\x07\x53\x59\x65\x66\xf3\xee\x7c\xbe\xdb\x76\
+\x9c\x0d\x3f\x1d\xe5\xb5\x4f\xb6\x30\xa0\x47\x30\xe7\x9d\xdb\x93\
+\xf3\xc6\xf7\xa2\x5b\x84\xed\x32\x97\xc5\x90\xf4\x67\xfa\xc4\xbe\
+\x7c\xb5\x76\x2f\xdf\x6d\x3b\xc6\xf4\xd8\xbe\x78\x79\x18\xf8\xe3\
+\x79\x83\xe9\x16\xe1\xcf\x1d\x4f\xa5\x51\x58\x62\x71\xaa\x0a\x0d\
+\xf2\x21\xd4\x2e\x7e\x64\xdf\x91\x42\x1b\x0f\x2c\x85\xb4\x59\xd2\
+\xc3\xec\x25\x49\x8b\x27\x2e\xc8\xc8\x52\x22\x1f\x28\x18\xd6\x56\
+\xfd\xb6\x00\x93\x82\x47\xb3\x23\x73\x1e\x39\x23\x2a\x0d\xba\x69\
+\x1f\x52\x52\x74\xf3\x2d\x2b\xaf\x32\x68\xc6\x8d\x40\xf7\xce\x56\
+\xc7\x4d\xf3\x30\x1a\xab\xb4\x9d\x35\x9e\xa7\x87\x23\x5d\x87\xa3\
+\x05\x35\xf4\x8c\x3c\x1d\xd8\xdc\xbf\x9b\x17\x5f\xef\xb0\x4f\xa5\
+\xe2\x7c\xbd\x5e\x9c\x1d\xb7\xfe\xdc\x40\xac\x43\x49\x79\x0d\xc5\
+\xe5\x35\xec\x3f\x5a\x6e\x35\x93\xb1\xc8\xd5\xcd\x64\x8c\x06\x8d\
+\x40\x3f\x03\x61\x01\x9e\x44\x87\x7b\x13\x1e\xe8\x49\x68\x90\x27\
+\x5d\xc3\xbc\x09\x0b\xf2\x22\x2c\xc8\x93\x2e\xa1\xde\x18\x9a\x28\
+\x4b\xdb\x96\x78\x7b\x19\x18\x37\xac\x0b\xe3\x86\x75\x61\x01\x23\
+\xa8\xaa\x36\xb3\x6d\xdf\x49\xbe\xdf\x91\x47\xca\x8b\xeb\x29\x2a\
+\xab\x62\xf2\x98\xee\x5c\x10\xdb\xd7\x66\x66\x52\x67\x48\x4c\x66\
+\x9d\x1f\x77\x9f\xc0\xc7\xcb\x83\xc1\x7d\xc2\x88\x1d\xdd\x83\x4f\
+\x9f\x9d\xc3\x82\xc7\x57\xb0\x65\xcf\x09\x46\xc6\x44\x3a\x5c\xf3\
+\xe7\xc3\xa7\x5f\xc6\x05\x40\xd1\x48\x0e\xf9\xe6\xb3\x76\xf1\x94\
+\xad\x63\xe6\x7d\x36\xce\xc7\xe0\x7b\xbf\x52\xdc\x0d\xb4\x5f\xf1\
+\x7a\x27\x08\x64\x6a\x9a\xfe\xe7\x33\x36\xc7\x95\x9b\x36\x65\xdd\
+\x8b\xd3\x4e\x4c\x9c\x9f\x39\x47\xd3\xf4\x35\xb8\x9c\x51\xc1\xcd\
+\x99\x80\x71\xd9\xe3\x03\xf2\x66\xff\x7d\x57\x01\x56\x75\x41\xf6\
+\x1f\xaf\xb2\x31\x20\x83\x7b\x34\x10\x41\xdd\xc8\x86\xa8\x43\xe2\
+\xc3\xe6\x6c\x9e\x36\x20\x5b\x63\xd2\x39\x59\x64\x26\xbf\xb0\x8a\
+\x9d\x87\x8a\x6b\xd3\xc0\x5b\xcd\x6a\x00\x4d\x41\x68\x90\x27\x5d\
+\x42\xbc\x08\x0f\xf2\x22\x3c\xd8\x8b\xc8\x10\x6f\xc2\x83\xbc\x88\
+\x0c\xad\xfd\x19\xe2\xdd\x60\x36\xdd\xd6\xe2\xe5\x69\x60\xf4\xc0\
+\x48\x46\x0f\x8c\xe4\xfa\x59\x43\xa9\xaa\x36\xb3\x79\x57\x1e\x9f\
+\xe7\xec\xa5\xa2\xca\x44\x74\xb8\x2f\x09\x63\x7b\xd2\xb5\x76\x66\
+\x62\x34\x68\x9c\x35\x28\x0a\xb3\x59\xe7\x54\x71\x25\xc1\x01\xde\
+\x74\x8d\xf0\xe7\xdd\xc7\x66\xf1\x97\x67\x33\x18\xd8\xdb\xd1\x49\
+\x65\xc7\x3e\xbb\xd2\xda\x42\x9b\xa7\x5d\xdf\xf8\xf2\xcc\x72\xe0\
+\x6f\xf1\x0b\x57\xbe\x2e\xe2\xf1\x77\x90\xcb\x3b\xe0\xcb\xfd\x3d\
+\xba\x7a\x34\xf7\xc5\x29\x1f\xb5\xf3\x75\xdc\x9c\x61\xac\x5d\x92\
+\xb0\x21\x3e\x39\xed\x5e\x41\x3d\xdb\xd9\xba\xb8\x71\x9d\xba\x35\
+\xa1\x4d\x40\x52\x5d\xe3\x96\x7d\x15\xc4\x0f\x3f\xbd\x29\xdc\xbf\
+\x9b\x37\x06\x83\xc2\x6c\xb6\x4b\x8b\xeb\x4a\x8d\x0b\x67\x89\x0f\
+\x1b\x92\x77\x92\x27\xaa\x41\xec\x27\x40\xb5\x3f\xcd\xba\x90\x77\
+\xaa\x92\x13\x05\x15\xb5\x5d\x9e\x5e\x26\xb3\x5e\x36\x0b\x0e\xf0\
+\x24\x22\xd8\x8b\x88\x10\x6f\x22\x83\xbd\x09\x0f\xf1\x22\x2a\xd4\
+\xb7\xd6\xe0\xf8\xd0\x25\xd4\x07\x5f\xef\xd6\x2f\x99\x79\x79\x1a\
+\x38\x67\x58\x14\xe7\x0c\xb3\x64\xee\xad\xaa\x31\xf3\xe3\xae\x3c\
+\xf6\x1c\x3a\x45\x58\x90\x0f\x51\xe1\x7e\x84\x05\xf9\x60\x30\x68\
+\x84\x04\x9e\x7e\xd1\xf7\xf5\xf6\xe0\xf9\xbf\x4c\xa3\xa8\xd4\x36\
+\x3e\xb0\xa4\xac\x9a\xad\x7b\x4e\x60\xfb\x60\xf5\x4d\xad\x56\xb4\
+\x01\xb2\x5f\x98\xb6\x0f\xb8\x76\xfc\x2d\xe9\x0f\x18\x34\x16\x2a\
+\xb8\x1c\xe8\xd5\x86\x97\xa8\x54\xf0\x95\x2e\x92\x9a\xbb\x24\xc9\
+\x69\x14\xb8\x9b\xdf\x07\xd9\xa9\x49\xcf\xc5\xcd\x4f\x1f\x83\xe2\
+\xaa\xce\xd6\xc5\x8d\x6b\x18\x01\x94\x90\x25\xea\xb4\x01\xf9\x69\
+\xbf\x6d\xf9\x58\x2f\x0f\xc5\xbd\x73\xa3\x29\x2c\xb1\xb8\xf8\x96\
+\x56\x98\x11\x84\xaa\x6a\x9d\x1a\xb3\x60\x32\x09\x95\x35\x66\x44\
+\x84\xd2\x0a\x1d\x4b\x02\x40\x33\x66\x5d\xa8\x31\xe9\x54\x56\xeb\
+\xe8\xba\x4e\x59\xa5\x19\x04\xca\xaa\x4c\x98\xcd\x7a\xfd\x31\xd7\
+\x67\x27\xae\xa5\x3f\xb7\xce\x81\xe5\xec\x38\xc0\xa9\x92\x2a\x4e\
+\x15\x57\xb2\xf3\x60\x91\xd5\xc6\xbf\xed\xb2\x99\xaf\xb7\x81\x2e\
+\xa1\xbe\x44\x84\x78\x13\x11\xec\x4d\x97\x50\x1f\x22\x82\x7d\x88\
+\x0c\xb5\x18\x98\x88\x10\x1f\xc2\x9c\x04\xf9\x35\x86\x97\x87\x81\
+\xb3\x87\x9e\x4e\x03\x5f\x5d\x63\xa6\xba\xc6\x5c\xef\xda\x6b\x8d\
+\x52\x10\x1c\x60\xdb\xff\x37\x5b\x8e\x60\xd6\x6d\x9e\x83\xc9\x43\
+\xf3\x6a\x77\x4f\x9a\xf5\x2f\x26\x1e\x01\xee\x07\xf9\xeb\xc4\xf9\
+\x59\xe3\x0c\x4a\xbf\x50\x20\x0e\x38\x1b\x17\x6a\x96\xdb\xb1\x13\
+\xc5\x3a\x11\x56\x4b\xa5\xd7\xe7\x6b\x5f\x8f\x2d\x69\x7b\x8d\xdd\
+\xfc\x1a\x31\x28\x2d\xd9\xac\xf4\x31\xae\x64\x8b\x76\xd3\xf9\x58\
+\x5e\xb1\x45\x65\x58\x07\xf6\x1e\x2b\xa8\x21\xaf\xc8\x44\x44\xd0\
+\xe9\x37\xf0\x73\x06\xb6\xae\x50\x53\x63\xe8\xba\x50\x5e\x65\x89\
+\xc8\x2e\xad\xb0\x18\xa2\xaa\x6a\x9d\x6a\x93\x8e\x59\xb7\x18\x23\
+\xcb\x31\x13\x22\x42\x65\xb5\x99\x1a\x53\xad\x01\xaa\xd2\x11\x84\
+\xd2\x72\x4b\x6a\x8f\x8a\x4a\x33\x35\x66\x9d\x1a\x93\x99\xca\x2a\
+\x4b\x5f\x25\xe5\x35\x80\x50\x56\x61\xc2\xac\x0b\xd5\xd5\x66\x2a\
+\x6b\x4c\xe8\xba\xd5\xb1\xf2\x1a\xcb\xc0\x6c\x45\x79\xa5\x89\xbd\
+\x47\x8a\xd9\x7b\xa4\xc8\x6a\x26\x83\xd5\x8c\x46\xf0\xf0\xd0\x88\
+\x08\xf6\x21\x22\xc4\x9b\xa8\x30\xdf\xda\xd9\x8b\x1f\x91\xa1\x3e\
+\x44\x86\xf8\x10\x1d\xee\x4f\x78\xb0\x37\x06\x83\xf3\x25\x33\x67\
+\x86\xa3\x31\xd6\x6f\xb6\x0e\x83\x10\x10\xbe\xdb\xf3\xd5\x6d\x1d\
+\x52\x20\xc8\x82\x92\xb5\x4b\xd8\x00\x6c\x00\x18\x33\xef\x3b\x8f\
+\x00\xcf\x92\x7e\xba\x48\x5f\x11\xe9\x8b\x92\x40\x85\x0a\x14\xc1\
+\x0f\x54\x39\x8a\x4a\x25\x52\x22\x4a\x0e\x63\x56\x7b\x4d\x35\x35\
+\x7b\xd6\x77\xa2\x47\x95\x31\xd2\xb8\xc1\x74\xdc\x18\xea\xf4\x58\
+\x85\xa9\x53\xeb\x51\x94\x9b\xcb\x1f\xf0\x31\x04\x37\x54\x37\xa3\
+\xcd\xf1\x36\x57\x36\xe9\x9c\x60\xf6\xf2\xf9\x9b\xa1\xd2\xfc\xa8\
+\xb3\x63\x59\x51\xe9\x6d\x9e\x6d\x38\x2b\x35\xa1\x74\xf2\xb5\x99\
+\x63\x4c\x3e\x46\xa7\x2f\x25\x52\xa5\x4c\xce\xda\x1b\x43\x45\x18\
+\xbe\x95\x06\xfe\xcd\x3b\x12\xa3\x32\x39\xa6\xd5\x76\x42\x85\x29\
+\x38\xdd\xc7\x50\xd1\xa8\xbe\xae\xfc\xdb\x75\x04\x0a\x60\x72\x4a\
+\xa6\x31\x58\xba\x9d\x04\xea\x77\x79\x6f\x9b\xdd\x85\x84\x51\x8e\
+\xee\xa8\xbf\x75\xaa\x6b\xcc\x54\x56\xeb\xb5\xb3\xa9\x1a\xcb\x8c\
+\xa9\xd2\x32\x63\xaa\xaa\x31\x53\x55\x6d\x46\x17\x8b\xc1\xaa\x33\
+\x4a\xa6\xfa\x63\x75\x46\xa9\xba\xf6\xbc\x6a\xcc\x26\xa1\xda\x64\
+\x26\xc0\xd7\x83\xf0\x10\x1f\x7c\xbc\x8c\x44\x87\xfb\xe3\xe7\xe3\
+\x41\x58\x90\x37\xa1\x41\x3e\x04\xfa\x79\x62\x6c\xc0\xc0\xd8\x73\
+\xc1\xc2\xf7\xd8\xb6\x37\xcf\x6a\xef\x87\xc7\x0e\xac\xbc\xd3\x5d\
+\x57\xda\x8d\x1b\x37\x1d\x8e\x11\x20\x2b\x25\xc1\x34\xfb\xef\xbb\
+\x72\xb1\xca\x41\xb3\x69\x4f\xf9\xef\xd2\x80\x78\x7a\x18\xea\x67\
+\x05\x41\xfe\x67\x96\x43\xc8\xf1\x82\x32\x76\xec\x3b\x1d\x4b\x66\
+\x31\x21\x2a\xb3\xf3\x34\x72\xe3\xc6\xcd\xef\x99\xfa\xd7\x5e\x11\
+\xdb\x34\xd6\xdf\xec\x2c\xa5\xfc\xcc\x98\x25\xb9\xa9\xe5\xd3\xcc\
+\x9d\xf6\x7e\x06\x15\x26\x4f\xdf\x75\x9d\xa4\x8e\x1b\x37\x6e\x7e\
+\xe7\xd4\x6f\x72\x98\xcd\xfa\x52\xa3\x87\xfa\x17\x62\xc9\xd7\x52\
+\x5d\x23\x6c\xd8\x51\xca\x94\xdf\xe1\x2c\xa4\xbd\xa8\xaa\x31\x73\
+\xfc\x64\x19\x79\x05\xe5\xe4\x15\x56\x10\xe0\xeb\x41\x70\xa0\x37\
+\x21\x01\x5e\x84\x04\x5a\x96\xb7\x1a\xe3\x93\xcc\x1d\xb5\xbf\xd5\
+\x45\xfa\xab\xe5\xbf\x7c\x76\x73\x79\xc3\x67\xb8\x71\xe3\xc6\x4d\
+\xfb\x51\x3f\x62\x7d\xfe\xe8\xc0\x23\xb3\x53\x76\x65\x01\x89\x75\
+\x6d\x59\x9b\x8b\xdd\x06\xc4\x45\x4a\x2b\x6a\x38\x7e\xb2\x9c\xe3\
+\x05\x65\xe4\x15\x54\xf0\x4b\x7e\x19\x79\x05\x65\x1c\x2b\x28\xa7\
+\xbc\xa2\x9a\xb0\x60\x8b\x07\xd7\xa0\x3e\xa1\x0c\xea\x15\xca\x88\
+\x98\x48\xa7\xb1\x28\xdb\xf6\xe6\xf3\xcd\x96\x23\x5c\x33\x73\xa4\
+\x4d\xe6\x8a\xed\xfb\xf2\x4f\xc7\x7f\xd4\xce\x42\x14\xbc\xdd\x01\
+\xb7\xe6\xc6\x8d\x1b\x37\x4e\xb1\x79\xe5\x55\xba\xbc\x2d\x4a\xd5\
+\x1b\x90\x2d\xfb\x2b\xc8\x2f\x32\x11\x1e\xd4\xf9\x29\x44\x3a\x93\
+\xe2\xb2\x6a\xf2\x0b\x2b\xc9\x3b\x55\x41\x7e\x61\x05\x27\x4e\x55\
+\x70\xf8\x78\x29\x79\x85\x15\xe4\x15\x94\x73\xf0\x78\x49\x7d\x85\
+\xc0\x88\x60\x6f\x86\xf4\x09\x65\x70\xdf\x30\xc6\x0d\x8f\xa6\x7f\
+\x8f\x60\xfa\x76\x0b\x6e\x34\x8d\xd1\x9e\x43\xa7\xf8\x6a\xed\xcf\
+\x7c\x9e\xbd\x87\xbd\x87\x4f\x71\xd7\xd5\xe3\x1c\xe4\x3f\xc9\xd8\
+\x61\xef\xc2\x7c\x22\x3c\xdf\x6f\xd5\x81\x36\xbf\x5b\x37\x6e\xdc\
+\xb8\x71\x0d\x1b\xcb\x50\x56\x5e\xf9\xa1\xaf\x9f\xcf\x0b\x60\x29\
+\x71\x2b\x02\xab\x37\x15\x71\x79\xc2\x99\x92\xb2\xbf\x6d\x31\x99\
+\x75\xf2\x0b\xab\x38\x5e\x50\x41\xde\xa9\x0a\xf2\x0a\x2b\x38\x76\
+\xd2\xf2\xf3\x44\x41\x05\xc7\x4f\x96\x93\x77\xaa\x82\x6a\x93\xd9\
+\x21\x18\xd1\xdb\x53\xa3\x5f\xf7\x20\x86\xf4\x0d\x65\x76\x42\x5f\
+\x62\x7a\x86\x10\xd3\x33\x18\x3f\x1f\xd7\x0a\xeb\xfd\xb4\x27\x8f\
+\x95\xeb\xf6\xf1\xd5\xda\x9f\x39\x7c\xbc\xb8\x3e\x66\x25\xd0\xcf\
+\x8b\x3f\xcd\xb0\x4d\x41\x55\x59\x6d\xe2\xe3\x0c\xcb\xf2\x55\xbd\
+\x0d\x51\xbc\xbf\x71\xe3\xcd\x2e\xb9\x05\xba\x71\xe3\xc6\x4d\x7b\
+\x60\x63\x40\x56\x3d\x35\xb2\x6c\x76\xca\xce\x8f\x11\x55\x1f\x09\
+\xfa\xe5\x37\x85\xcc\x9a\x10\x82\xaf\xd7\xaf\xab\xc2\x64\x45\x95\
+\x99\xe3\x05\x15\x9c\x2c\xaa\xe2\xc4\xa9\x4a\x4e\x9c\xaa\x24\xbf\
+\xb0\x92\x63\x05\x15\xe4\x9f\xaa\xe0\xc4\xa9\x4a\x4e\x16\x55\xa0\
+\xd7\xa6\x43\xa9\x8b\xeb\x00\xc7\xe8\xf5\xf0\x60\x6f\x62\x7a\x04\
+\x11\xd3\x2b\x98\x81\xbd\x82\x89\xe9\x19\x4c\xaf\xa8\x00\xb4\x66\
+\xe4\xdc\x12\x39\x6d\x34\x56\xae\xdf\xc7\xe1\xe3\xc5\x9c\x0e\x5c\
+\xac\x97\xe2\xca\x0b\x86\x11\xe0\x6b\xeb\xfd\xb5\x74\xe5\xd6\xda\
+\xfa\x1f\xa7\x85\xcd\x8a\x77\x5a\xfc\x70\xdc\xb8\x71\xe3\xa6\x0d\
+\x70\x58\x9b\xd2\xcd\xda\x33\x9a\x41\xae\x44\x2c\x31\x22\xa5\x15\
+\x3a\x2b\xbe\x2d\xe4\xe2\xd8\x4e\x8f\xc3\xa9\xe7\x54\x49\x35\x27\
+\x8b\xaa\x39\x51\x58\x49\xde\xa9\x2a\x4e\x16\x55\x71\xac\xa0\x92\
+\x93\x85\x95\xb5\x6d\x95\xf5\x01\x82\xce\x32\xff\x9e\xfe\x0c\xd6\
+\x83\xb2\xc1\xa0\xe8\x15\xe5\x4f\x4c\x8f\x20\x06\xf4\x0c\x62\x60\
+\xcf\x20\x06\xf4\x0c\x26\x34\xb0\x65\x99\xcd\x45\xe0\xc7\xdd\x79\
+\xac\x5c\xbf\x8f\x55\xeb\xf7\x73\x24\xaf\xe4\xf4\xb5\x9d\xe0\xe3\
+\xed\xc1\x35\x33\x87\xdb\xb4\xd5\x98\xcc\xbc\xfc\x91\x7d\xa6\x12\
+\xb5\xe1\xd0\x97\x77\x7c\xd7\x22\xa5\xdc\xb8\xf9\x8d\x33\x66\xde\
+\x77\x1e\xbe\x94\x87\x9b\xb4\x1a\xad\x5a\x0f\x3a\xb1\xf1\xe5\xb1\
+\x4e\x67\xea\x71\xf3\xd3\xff\xa3\x34\xbc\x75\xd4\xd3\xb9\x8b\xa7\
+\x7c\xdd\xd1\x7a\xb6\x94\xb8\xe4\xf4\x45\x4a\xd1\x05\xe1\xd5\xec\
+\xd4\xc4\x55\x9d\xa9\x8b\x83\x01\x59\xfe\x8f\x01\xdf\xcf\xfe\xfb\
+\xae\xd5\x58\xe5\xe7\xff\x6c\xc3\x29\x2e\x1c\x17\x82\xa7\x47\xfb\
+\x66\xb9\x35\x99\x85\xe2\xb2\x1a\xf2\x8b\xaa\x29\x28\xae\x26\xbf\
+\xa8\x9a\xa3\x27\x2b\xc8\x2f\xb2\x18\x8c\xfc\xa2\x2a\x8e\x9f\xac\
+\xa0\xbc\xca\x64\x67\x14\x70\x98\x45\x00\x8d\xa6\x48\xf1\xf3\x31\
+\xd2\xbf\x5b\x00\x7d\xba\x06\xd0\xb7\x6b\x00\x83\x7a\x07\x31\xb0\
+\x57\x30\xde\x9e\xad\xaf\x4b\xf2\xf3\xe1\x22\x56\xae\xdf\xcf\xf2\
+\x35\x7b\x38\x74\xac\xb8\x5e\x3f\x7b\xa5\xec\xf3\x83\x25\xcf\x39\
+\xcb\x21\x75\xfb\xff\xd2\x77\x70\x34\xcf\x3a\x13\xb2\x20\x8a\x0e\
+\x8b\x56\x6e\x0e\x71\x0b\xd2\x6f\x47\xb8\xb2\x29\x39\x81\xa7\x73\
+\x53\x13\xdf\xef\x08\x9d\xdc\x58\x98\x9c\x9c\xe9\x6f\x16\xf9\x0c\
+\x25\x01\x0a\x3e\xcf\x4e\x4d\x4c\x71\x26\x37\xe1\x96\x95\x91\x46\
+\xcd\xf0\xa9\xa0\x3c\x10\xde\xca\x59\x92\xb8\xa8\x83\x55\x6d\x21\
+\xa2\xe2\x93\x33\xff\x20\x48\x32\x14\xc5\x02\x5e\x46\xc0\xa8\x15\
+\x99\xe2\x16\xa4\x67\x23\xb2\x24\x27\x35\xe9\x43\x9b\x53\x14\x7f\
+\x10\xc1\x5f\xe9\xfc\x17\xf8\xd5\x18\x10\x84\xe9\x02\xfd\x04\x95\
+\x05\x9c\x59\x06\x04\x40\x57\x3c\xaa\xc9\x69\x03\x52\x58\x62\x66\
+\xf5\xa6\x42\x2e\x18\x17\xd2\xe2\x0b\x55\x54\xeb\xe4\x15\xd6\x19\
+\x82\x6a\xcb\xef\xc5\x96\x9f\xf9\x85\x55\x9c\x2c\xaa\xa6\xa0\xa4\
+\x1a\x71\x52\x90\xca\x7e\x16\xe1\x88\x5d\x8a\x46\x3b\x99\xae\xe1\
+\x3e\xf4\xeb\x11\x40\x4c\xf7\x40\xfa\xf7\x08\x60\x40\x8f\x40\xba\
+\x86\x3b\xd6\x19\x6f\x29\xba\x08\x9b\x77\xe6\xb1\xea\xeb\x03\xac\
+\xfe\xfa\x00\xc7\xf2\xcb\x4f\x1b\x34\x57\x10\x4b\xd5\xc1\xeb\x67\
+\x8f\xb2\x69\x36\xeb\xc2\x4b\x1f\x6e\xb4\xbb\x18\x3f\x1c\x58\x79\
+\xfb\x0a\xb8\xa3\x8d\xb4\x6f\x3b\x44\xe8\xae\x60\x4c\x53\x72\x4a\
+\xd1\xa5\x23\xf4\x71\x73\x9a\xac\xd4\x84\xd2\xb8\xe4\x8c\xe5\xc0\
+\xbf\x05\x46\xc6\xcd\x4f\xfb\x5f\xce\x92\xa4\x1f\xed\xe5\x0c\x06\
+\xe3\x13\x22\x9c\x0b\x9c\x30\x55\xd7\xbc\xdb\xf1\x9a\x36\x9f\xd8\
+\xf9\x39\x21\x4a\x65\xbe\x27\xc8\xf9\x4e\x0e\x1b\x11\xa6\x80\x9a\
+\x12\x37\x3f\xfd\x73\x1f\x3f\xd3\x65\xab\x9e\x9a\x56\xd6\xe1\x4a\
+\xfe\x46\x71\x6a\x40\x96\xa7\xc4\x64\xcf\x4e\xd9\x95\x83\x10\x07\
+\x96\xe1\xf9\x83\xac\x93\xc4\x0f\x0f\x24\xc0\xd7\xf1\x0d\xbd\xb4\
+\xc2\x4c\x41\x89\x89\x82\xe2\x1a\x0a\x4a\x6a\x28\x28\xae\xe1\xe8\
+\xc9\x2a\x0a\x4a\x6a\x38\x59\x54\x43\x41\x89\xc5\x68\x40\xc3\xd9\
+\x71\x4f\x2f\x29\xd5\xd1\x78\xfd\x10\x67\xd3\x0b\xa3\xa6\xe8\xd1\
+\xc5\x8f\x81\x3d\x02\xe8\xdd\xd5\x9f\x3e\xd1\xfe\x0c\xed\x13\x44\
+\x70\x40\xdb\x47\x94\xeb\x22\xfc\xb8\x2b\x9f\x95\x5f\x1f\x64\xf5\
+\x86\x03\x9c\x28\x28\xaf\xbf\x37\x97\xb2\x14\xdb\x34\x0b\x0f\xdc\
+\x38\xd1\xc1\xad\xf7\x9d\xcf\x7f\xe4\xc0\xd1\x22\x9b\x67\x23\xa8\
+\xff\xc3\x3a\x71\xd9\x99\x49\x9e\x08\x4f\x37\x74\x50\x34\x2d\xb7\
+\x23\x95\x71\x63\xc1\x10\xa9\x16\x99\x8f\xcb\x35\x28\x46\x8a\x52\
+\x2f\x80\x4c\xb2\xfe\x5b\x9a\xb4\x20\x6d\xbc\x2e\x5c\x0b\xa0\x44\
+\xee\xed\xcc\x9c\x65\xae\x32\xf9\xda\x4c\x6f\xb3\xaa\xfe\x02\x18\
+\x5f\xdb\xb4\x4b\x21\x2f\xeb\xc2\x66\x0c\x62\x52\x66\x6d\x10\x8a\
+\xeb\x81\xb3\x51\x5c\x58\x5e\xee\x71\x09\xf0\x9f\xce\xd3\xf8\xb7\
+\x45\x83\xfe\xb9\x0a\xed\x31\x41\xff\xaa\xee\x73\x49\xb9\x99\x77\
+\x33\xf2\xb8\xe5\xc2\x28\x1b\xb9\x2f\xbf\x2e\x60\xc9\xf2\x5f\x9c\
+\xcf\x1a\xac\x3e\x5b\x3e\x34\xad\xd0\xe9\x4c\xba\x8d\xcb\x05\xfb\
+\x7b\xd0\xaf\x7b\x00\xfd\xbb\xf9\xd1\xbf\xbb\x3f\xfd\xbb\x07\xd0\
+\x2b\xca\xaf\x5d\x8b\x49\xe9\xba\xf0\xfd\xce\x3c\x56\x7d\x7d\x90\
+\xb4\x6f\x0e\x91\x7f\xca\x49\x19\x5f\x57\x3a\xb2\x13\x9a\x11\xdb\
+\x8f\xf8\xb3\x6c\x2b\x8b\xe6\x9d\x2a\xe7\x99\x77\xbf\xb6\x4f\x5b\
+\xbf\xed\xc0\xf8\xc2\x8f\x59\xd9\xba\xfb\xe8\x00\x0a\x72\x97\x24\
+\xfe\xd3\x15\xc1\xf8\xe4\xf4\x09\xba\xa8\x61\x82\x1c\x5a\xbb\x24\
+\xf1\xab\xf8\x85\x2b\xfb\x88\xee\x31\x1b\x21\x5c\x29\x7d\x6f\x95\
+\xa1\x7a\xd9\xd7\x8b\x66\x14\x03\x9c\x77\xf7\x4a\xbf\xca\x72\xc3\
+\x6c\x5d\xd4\x20\x85\xd4\x28\xa5\xd2\xb2\x53\x13\x1d\x22\xf1\xe3\
+\x92\xd3\xaf\x15\x51\x9e\xa0\xa7\xe5\x76\xc9\xdd\x1f\x9f\x17\x7f\
+\xbe\xc0\x38\x11\xd1\x41\xbe\x8e\xce\x2b\x58\x6d\xa9\x03\xdf\x80\
+\x4e\x37\xaf\x1a\x20\x06\xc3\x34\x81\x6e\x9a\xa2\x4c\x94\xfa\xd6\
+\x10\xae\xd2\xb3\x52\x12\xea\x13\xf9\x4d\x9c\x9f\x31\x50\xc1\x24\
+\x4d\xe9\xe6\xec\xd4\xc4\xd7\xed\x8d\x7a\xdc\x82\x8c\x59\xa2\xd3\
+\x05\xa5\x1f\xcc\x4d\x4d\x5a\x61\x7d\x6c\xcc\xbc\xef\x3c\x7c\x0c\
+\xc5\xd7\x01\xe8\x9a\xac\x5c\xb7\x38\xb1\xde\x1b\x7b\x72\x4a\xa6\
+\xd1\x7c\x5c\xa6\x89\x92\xb1\x4a\x89\x17\xa8\xbd\xba\x32\x7f\xb9\
+\xf6\x85\xf3\x7e\xb1\xee\x63\xe8\x9c\xa5\x9e\x21\xe1\xe1\xd7\x02\
+\xd4\x78\xea\x9f\x7e\xfd\x5c\xd2\xf1\xd8\xf9\x69\x49\x0a\xa2\x72\
+\x96\x24\x39\x75\xb0\xc8\x4a\x49\x30\x4d\x5a\x90\x36\x5f\x17\x95\
+\xab\x20\x2e\x76\x41\xc6\x95\xb9\x8b\x2d\xb1\x44\x73\xe6\x2c\x35\
+\x1c\x13\xf5\x02\x96\xfc\x78\xd9\xd9\x4b\x12\x6d\x06\xd9\xd8\xf9\
+\x39\x21\x8a\xaa\x0b\x50\xc4\x00\x20\xec\x12\xbc\xbe\xc8\x5d\x12\
+\xe7\x50\x5f\x39\x76\x7e\xfa\x1c\x50\x21\x9a\xc1\xbc\xde\xbe\x28\
+\x58\xd2\xbc\xd5\x41\x95\x06\xc3\x1f\x01\x6a\x8c\x95\x1f\xd4\xfd\
+\xdb\x4e\x5a\x90\x36\xde\xac\x6b\xc3\xeb\xfe\x0e\xe2\x6e\xcd\x8e\
+\xc0\x54\x73\x99\x98\xf5\x4f\x73\x5f\x9e\x7a\xd0\xd9\xfd\x00\x98\
+\xfd\xcc\x0f\x21\x6a\x7c\xad\x4e\xaf\x96\x9b\x83\x92\xed\xf6\x3c\
+\xb2\x40\x5e\x8a\x4b\x4e\xbf\x07\x21\x3c\xd7\xee\xbe\xea\x49\x49\
+\xd1\xe2\x4f\xc4\x25\x01\x13\x04\xd1\x14\x2a\x37\x3b\x75\xca\x6a\
+\xfb\x7f\xd7\xd8\xe4\x8c\xab\x11\xbc\x8d\x4a\x65\x64\xa5\x26\xec\
+\xb1\x3e\x36\x39\x39\x33\xca\x24\x72\x11\x80\xb1\x8b\x7a\xbd\xee\
+\xef\x25\x6e\x41\x46\xa2\xe8\xf4\xc3\x60\xde\x95\xfb\xc2\xd4\xac\
+\xc9\xb7\x66\x76\x37\x99\xcc\x73\xcd\xd5\xa6\x37\xed\x8d\x74\xec\
+\x82\x8c\x71\x0a\xe2\x15\x12\x26\x22\x05\xe8\x2a\x2b\xe7\xc5\xc4\
+\x6f\x1a\xba\x7f\x80\x49\xf3\xd3\xe2\x74\xa5\x4d\x16\x11\x4f\xa5\
+\xa9\xef\xa2\x4e\xe4\x7f\xde\xd8\xdf\x77\x5b\xd2\xa0\x01\xf9\x38\
+\xa5\xff\x8a\xd9\x29\xbb\xbf\x42\x64\x7a\x5d\xdb\x8a\x6f\x0b\x49\
+\x1c\x15\xcc\x80\xee\xa7\x53\x8c\x4f\x3f\x27\x94\x6f\x77\x96\xf0\
+\xed\x8e\x62\x27\x4b\x36\xcd\x9d\x45\x38\xce\x42\x04\x08\x0b\xf2\
+\x24\xa6\xbb\x3f\x31\x3d\xfd\x19\xd8\x23\x80\x5e\x51\xbe\x74\x0d\
+\x6f\x6e\x06\xf1\x96\xa1\x8b\xf0\xe3\xee\x93\xac\xfe\xfa\x10\xab\
+\x36\x1c\x22\xaf\xd0\x6e\x79\xaa\x01\x8b\x51\x77\xdc\x66\xc7\xc3\
+\xc9\x0c\x2b\x3c\xc4\x97\x07\x6e\x9c\xe8\x70\xfe\x13\xaf\xaf\xa5\
+\xa4\xac\xda\x46\x5e\x74\xb9\xf7\xb7\x56\xde\x55\x87\xb9\x4a\xc9\
+\x9f\x15\x7c\x19\x97\x9c\xde\x4f\x74\x9e\x01\x31\xa2\x40\x50\x78\
+\x9a\xbd\x52\xe2\x6f\x5e\x35\x45\x37\xa8\x2e\x15\xe5\xda\xfb\x40\
+\x77\x4b\x8c\x8c\x42\xe0\xe1\xb8\x05\xe9\x6f\xe4\x2c\x9e\x72\x83\
+\xdd\x17\xfd\x39\xa5\x24\x50\x09\xd7\xc6\x9e\x88\x7b\x51\x90\xa9\
+\x96\x33\x2c\xff\x7f\x34\x22\x6c\x4b\x7c\xf2\xea\xb9\xd9\xa9\x53\
+\xb7\x5b\xeb\x32\xf9\xda\x4c\x6f\xb3\xaf\xfe\xbc\xc0\x0d\x58\x6a\
+\x93\xd5\x17\x2d\x33\x9d\x90\x1d\xf1\xb7\xac\xbe\x22\xfb\xc5\xa9\
+\xdf\x03\x78\x28\x65\x36\xa3\xbf\x24\x28\x26\x2e\xcc\xda\xbc\xf6\
+\x05\xea\x9d\x1a\xce\xbb\x7b\xa5\x5f\x45\xb9\xbc\xa7\x14\xbe\xa0\
+\xf2\x27\xa7\x64\x46\x5b\x1b\x1f\x3f\x63\x51\x82\xc0\x4b\x80\xc9\
+\xa0\x79\x74\xad\x6b\x8f\xbb\x25\xfd\x1c\xf3\x09\xfd\x5d\x14\xfd\
+\x15\x80\x58\x34\xd6\x30\x54\xc7\x2d\xc8\x78\x22\x67\x71\x42\x4a\
+\xdd\x7d\xfa\x47\xf9\x7b\x2b\xb3\xbc\x04\xe0\x5d\xc3\xee\xf8\xe4\
+\xf4\x25\x02\x7f\x00\x95\x06\x0d\x7b\xe8\xad\x59\x9c\xb4\x3e\x2e\
+\x39\xfd\x35\xe0\x26\x25\x3c\x39\xee\xd6\x2f\x3f\xfd\x7a\xd1\x8c\
+\xe2\xa3\x11\xe1\x37\x2b\xe4\x2c\xa0\x46\x57\x2a\xd9\xfa\x79\xc6\
+\x2d\x48\xbf\x11\xa9\x7e\x0a\x54\x50\x7d\x47\x0a\x14\xd5\x45\xf1\
+\xc9\x69\x77\x65\xa7\x26\xbd\x66\x7d\x0d\xa5\x91\x82\xc8\x10\xdd\
+\xac\xee\x02\x6c\x0c\x48\xb5\x92\x48\xa5\x2c\x7a\x7b\x98\x3c\xd3\
+\x80\x62\x00\x5d\x57\x73\x95\x92\xdb\x15\x6a\x45\xdc\xc2\x0c\x1d\
+\x73\xcd\x52\x14\x81\x9a\x51\xdb\x08\x38\x35\x20\x13\xaf\xcf\x0d\
+\x40\xaa\xfe\x5c\xab\x4f\x46\x4e\x64\xce\xcd\xce\xbf\x1f\x4a\x72\
+\x52\x79\xb2\xa1\x67\x82\x26\x01\x71\x79\x71\xab\x05\xa6\xd4\xdd\
+\x9c\x00\x71\xc9\x99\x2b\x0c\xe5\x99\x7f\xc8\x7a\x33\xa1\xbe\x28\
+\x8f\x42\xfe\x8d\x22\x4c\x47\xbf\x12\xb0\x31\x20\x26\x4c\xfd\x95\
+\xd2\x5e\x02\xf0\x2c\xad\x79\x17\xb0\xfc\x9b\x8b\xdc\xa0\x14\x97\
+\x23\x86\xb7\xe2\x93\xd3\xba\x98\xcd\xfa\x9b\x4a\x29\x6f\xe5\xeb\
+\xf1\x29\x50\x00\x10\x3b\x3f\xad\xaf\x42\xfd\x07\x91\x89\x50\x37\
+\x3a\x28\xd0\x20\x36\x39\x3d\xd3\xac\x73\x55\x6d\x49\x85\xd3\x77\
+\xa5\xc4\x33\x36\x39\xfd\x23\x1d\x2e\x06\xb1\xc4\x8e\x89\x70\x3c\
+\x22\x74\x43\xd2\xbc\xd5\xe7\xa7\xbd\x3c\xb5\xcd\xb3\x25\xdb\xd3\
+\x68\x84\xa0\x8e\xba\x4d\xa1\xff\x44\x6d\x49\x53\x11\x78\xf1\xf3\
+\xa3\x3c\x75\x73\x9f\xfa\x40\x37\xa5\xe0\xcf\x97\x74\x63\xe1\x73\
+\xe5\x9c\x2a\xb5\x18\x7e\x57\x67\x11\x36\x08\x18\x0d\x8a\x6e\xe1\
+\x3e\xc4\xf4\xf0\x63\x40\x77\x3f\x62\x7a\xf8\xd3\x1d\x3c\x7b\x1a\
+\x00\x00\x17\x3f\x49\x44\x41\x54\xaf\x9b\x1f\x3e\x5e\xad\xdf\xd8\
+\x6e\x0e\xba\x2e\xfc\xf4\x73\x81\xc5\x68\x7c\x6d\x3b\xd3\xb0\xd6\
+\xd7\x95\x65\xb5\xba\x66\xc7\x2d\x74\x30\x68\x8a\xa7\xef\x98\x42\
+\x44\x88\xed\x7e\xcc\x77\xdb\x8e\xb2\x3c\xcb\xb6\xc8\xa0\x82\x8f\
+\x0f\xac\xbc\xe3\x8b\x16\xdc\xce\xaf\x85\x11\xc0\xf9\x58\x36\x33\
+\x37\xa0\xe8\x87\x70\x11\xd0\x5d\x0c\x86\xff\x2a\xe8\x07\x98\x15\
+\xf2\xba\xae\xb4\x0a\x65\x79\xb1\xe9\x8b\x70\x5d\xec\x82\xcc\xdc\
+\xdc\xc5\xbc\x6e\xdf\xa1\x28\xf5\x98\x82\x68\x44\x3e\x12\xa5\x7e\
+\x52\xc2\x20\x14\x97\x2a\x18\x26\x68\x19\xe3\x6f\x49\x1f\x5b\xf7\
+\xa5\x9c\x33\x67\xa9\xe1\x98\xaf\xf9\x43\x50\x17\xd4\x9e\x9e\x8e\
+\xc8\x26\xa5\xe8\x22\xa8\x99\x0a\x06\x89\xa6\xad\x89\x5f\xb8\x7a\
+\x62\xf6\x0b\x53\x7f\xca\x4a\x4d\xd8\x13\x9f\x9c\xf6\x9d\xa0\xc6\
+\x1a\x44\xbf\x14\x4e\x1b\x90\xf2\x32\xe3\x0c\x8b\xf1\x00\x20\xdc\
+\x9c\x27\x93\x80\xf4\x7a\xbd\xe0\x52\xcb\x2f\x92\x9e\xb3\x28\x3e\
+\x0f\x60\x42\x72\xe6\x28\xd0\xd3\xb1\xc4\x60\xed\x45\xd4\x07\x4a\
+\xc9\x29\x41\x62\x11\x35\x0b\xe4\xa1\xd8\xe4\x0c\xcf\xdc\x54\xee\
+\xb7\xbf\x4f\x1d\xf5\x38\x30\x4e\xe0\xb8\x52\xb2\xdd\xfe\xb8\x3d\
+\xa6\xaa\x9a\xfb\x8c\x5e\x1e\x7f\x00\xa2\x3c\x4d\x5e\x0f\xc7\xdd\
+\x9a\xfd\x18\xe6\x9a\xff\x03\x50\x8a\x7f\xaf\x5d\x3c\x65\x6b\x9d\
+\x6c\x5c\x72\xfa\x42\x84\x45\xb5\x7a\xef\x40\xa9\xf4\x5a\xdd\x13\
+\x15\x0c\x12\xd4\xab\x71\xc9\xe9\x3e\x39\xa9\x89\x2f\x34\x75\x5d\
+\x97\x50\xd2\x13\x9d\x65\x80\x2f\xc2\x66\x4d\xb4\x06\x4b\x15\x68\
+\x3e\xd5\x53\x90\xba\xe7\xac\x1e\x6b\xf1\xcb\x95\xe2\x61\x84\x48\
+\x51\xbc\xa7\x74\x4e\xa0\x48\x04\x86\x83\x9c\x6f\xf6\xd5\xff\x0a\
+\x3c\xd4\xa2\x7e\xed\x11\x19\x2e\x4a\x5d\x5e\xeb\xe1\xba\x49\x6a\
+\xa8\x04\x98\x7c\x4b\x66\x6f\xb3\xd2\xd7\x02\x51\x58\x86\x88\x6c\
+\x60\x1f\x8a\x21\x08\x67\x2b\x48\x30\x2a\x49\xc0\xf1\xc5\xe0\x0e\
+\x05\x5d\x11\xf9\x08\xa5\x0e\xa2\x98\x88\x70\x8e\xa0\xce\xad\xf6\
+\xe0\x49\xe0\xe6\x36\xd1\xbb\x11\x1a\x35\x20\xcb\x53\xfa\xef\x99\
+\x95\xb2\xe3\x69\x44\x3d\x50\x37\xf2\xed\x39\x52\xc9\xe7\x1b\x0a\
+\x98\x39\xfe\xb4\x5b\x6f\xb0\x9f\x91\xbb\xe6\xf4\xe0\xa1\xb7\xf6\
+\xa1\x9b\xed\x0b\x44\x89\xdd\xe0\x59\xfb\xe6\x1d\xe4\x49\xdf\x68\
+\x1f\xfa\x46\xfb\xd2\xaf\x9b\x2f\xfd\xba\xf9\xd1\x2d\xdc\xbb\xd1\
+\x88\xed\xf6\xc4\x6c\x16\xbe\xdb\x9e\x47\xfa\xb7\x47\xc8\xf8\xee\
+\x08\xa7\x4a\x2a\x9d\x2f\x4b\x35\xcb\x28\x36\x6c\x60\x04\xf8\xf3\
+\x15\x63\x39\x77\x44\x37\x1b\x89\x8a\x2a\x13\x0f\xbc\x90\x59\x5f\
+\xd8\xaa\x96\x72\x5d\xe4\xce\x66\x5c\xb9\xb3\xe9\x11\x97\x9c\xb1\
+\xda\xd9\x01\xa5\x64\x4d\xf6\xe2\xc4\xff\x73\x72\xa8\x3b\xa8\x87\
+\x72\x52\xa7\xfc\xa3\xae\x21\x2e\x39\xe3\x9f\x20\xf7\x02\xa3\x81\
+\xbd\x66\xdd\x34\x7e\xdd\x8b\xd3\x4e\x80\xe5\xed\x53\xf3\xae\xfa\
+\x11\xe8\x8d\xc8\x65\xe0\x68\x40\xb0\x18\x8f\x8b\x73\x96\x24\x7d\
+\x52\xd7\x10\xbf\x20\x7d\x89\x08\xab\x80\x28\x83\xa6\x1e\x06\x6e\
+\x04\x38\x1a\x19\x7e\x8d\x12\xb9\x00\x10\x85\x5c\x9e\x9d\x9a\xf4\
+\xdf\xba\x73\xc6\xdf\x92\xde\xcd\xa8\xb1\x12\x18\x2a\xa2\xbd\x0a\
+\x8c\xab\x3d\xf4\x01\x30\x56\x84\x4b\x80\xfb\x4e\xdf\x64\xad\x81\
+\xa8\x43\x97\x4b\xa8\x35\x20\x73\xe6\x2c\x35\x1c\x83\xd9\xb5\x0f\
+\xe3\x83\x3a\x11\x83\xe8\x2f\xa0\xf0\x57\xf0\xd9\xc9\xbc\x93\x97\
+\x6e\x5d\x36\xb7\x6e\xfa\xf9\x54\x5c\x72\xfa\x42\x60\x91\x82\xbb\
+\x27\xdf\x9a\xb9\x38\x6b\x51\xc2\x61\xbb\xfb\x1c\xa7\xe0\xfe\x9c\
+\xc8\x9c\x27\x5d\x19\x44\xd7\xbf\x76\x7e\x41\xec\xfc\xf4\x7b\x95\
+\xe2\x75\x14\x0b\xc5\x5c\x33\x54\x41\x08\x70\xc0\xdb\xc7\x54\xff\
+\xfc\x63\xe7\xad\xee\x09\x3c\x05\x80\xf0\x6a\x85\xd5\xf2\xd0\xd0\
+\x39\x4b\x3d\x43\x23\xc2\x5e\x02\xae\x05\xfe\x15\x3b\x6f\xf5\xf2\
+\xc6\x96\x9a\x5c\xc6\x52\x48\x6a\xbb\x88\x5c\x98\xbb\x24\x69\x6f\
+\x63\xa2\x4a\x64\x40\xdd\x37\xa4\xbc\xa6\x6c\x7d\x2b\xae\x19\x84\
+\x59\xc6\xe4\xbe\x94\xb4\x0d\x6a\xdd\x80\x8d\x45\x6b\x80\xf1\xa0\
+\x2e\xa7\xad\x0c\x08\x9c\xa5\x44\x36\x98\x35\xfd\x12\xeb\x25\x49\
+\xb3\xd2\x17\x61\x31\x1e\xc7\xd0\xd4\xa5\x39\x2f\x4c\x59\x5b\x77\
+\x2c\xfe\x96\xf4\x29\xba\xc6\xf8\x5c\x67\xcb\x92\x42\x17\x4d\x49\
+\xfc\x9a\xd4\x24\xcb\xbd\x5b\x96\xe1\x3e\x11\x98\x29\xa2\xfe\x48\
+\x4a\xca\xfc\xf6\x5e\xb1\x68\x32\x3a\xd0\xb3\xc8\xef\x51\x90\x7d\
+\xd6\x6d\x6f\xae\x3a\xce\x9e\x5f\x6c\x4b\xad\x8e\x1e\xe0\xcf\xf5\
+\xe7\xdb\xee\x8f\x80\x65\x56\xd1\x3b\xca\x87\x29\x67\x85\x72\xd3\
+\x85\xdd\x79\x62\xde\x40\x96\x3e\x3c\x9a\xf7\xfe\x36\x8a\xff\xbb\
+\x71\x20\xd7\xff\x7f\x7b\x67\x1e\x1e\x55\x75\x36\xf0\xdf\x7b\x67\
+\xb2\xb2\x0a\x06\x04\x11\x84\xaa\xb8\xaf\x55\x3f\x20\x09\x5b\x14\
+\x8a\xa2\x55\x8a\xda\xba\xb4\xd5\x4a\x25\x28\x82\x5b\xf9\xf4\xb3\
+\xa6\x2e\xfd\xac\x4b\xe9\x57\x05\x94\x6a\xb5\xda\x5a\x21\xd4\x0d\
+\x35\x5a\xc8\x62\x12\x83\x82\x88\x02\x01\x45\x96\x58\x30\x81\x10\
+\x08\x5b\xb6\xc9\xdc\xf3\x7e\x7f\xcc\x4c\x98\x2d\x93\x85\xb0\xb5\
+\xf7\xf7\x3c\xf3\x64\xce\x3d\xeb\xbd\x49\xce\x7b\xcf\x79\x97\x73\
+\xd9\x09\x0c\x3f\xb7\x27\xfd\x52\x0e\xbd\xf0\xf0\xda\x86\x4f\x57\
+\x57\xf2\xd8\x4b\x2b\x18\x3b\xed\x7d\xa6\x3c\x59\xcc\x1b\x05\x1b\
+\xa9\xde\xdb\x10\x54\x6a\xff\x56\x55\xb8\xd9\x6d\x48\x7e\x70\xba\
+\x15\x42\x26\xfd\xfc\x13\xb8\x75\xc2\xb9\x11\xd7\x7f\xf3\x5c\x21\
+\x1b\x36\x87\x6e\x2b\x0b\x3c\x52\xf6\xc1\xf4\xb2\x96\x5b\x3d\x62\
+\x48\x06\xcd\x88\xf6\x31\xca\x59\xcd\xd4\x29\x2f\xea\x55\x18\x72\
+\x70\x91\x8d\x34\x99\xfa\xaa\xc8\x63\x01\xe1\x01\xf0\xf1\x9f\x53\
+\xf7\xa2\xf2\x1a\x80\xc0\xc0\xe8\x4d\xca\x6b\xc1\xc2\x03\xa0\x70\
+\xd6\xe8\x42\x54\x9e\xf6\xd5\xd3\xab\xc9\xca\xb2\x00\xc4\xe8\xcd\
+\xbe\x8e\xf8\x6b\xb0\xf0\x00\xff\x69\x8c\x96\xfc\xd2\x9f\x7f\x51\
+\xfa\xed\x8b\xce\x02\xb0\x5c\xae\x79\x80\x01\x4e\x4a\xbd\x23\xef\
+\x1c\x80\x21\xd3\x4b\x92\xc4\x7f\x2c\x82\xc0\x9b\xbe\x61\x70\x55\
+\xa0\x9f\x6d\x3d\x7b\x0e\x07\x52\x80\x06\x57\xbc\xf5\x16\x40\x7a\
+\xe6\x87\x27\x20\x0c\x03\x30\xaa\xd3\x82\x84\x07\x00\x45\xb3\x47\
+\xcd\x02\xf6\x02\x6e\xdb\x6b\x8f\x88\x72\xa3\x85\x85\xb3\x47\x3f\
+\xde\x96\xc9\xa2\x78\xce\xa8\x97\x41\x8a\x01\xb7\xc0\x25\xbe\x71\
+\xca\x9d\xc1\x16\x4a\xe2\x72\x5d\x0f\x24\x08\x7c\xe7\x4d\x4c\x9a\
+\x1a\xac\x5b\x28\xcd\xbe\xc6\x53\xeb\xad\x9d\x02\x94\x03\x89\x96\
+\xdb\xfa\x49\x6b\xfb\x6e\x09\xb5\x4c\x66\x4b\xc2\x03\xc0\x40\xe0\
+\x94\x3b\x1d\x54\x5d\xd7\x10\xb3\x70\x0c\x04\x9e\x2d\xf2\x0b\x0f\
+\x00\xff\x7d\xbe\xe4\x4f\x9e\xd8\xb4\x97\x78\xe0\x18\x5b\xac\x5f\
+\x04\x0b\x8f\xa1\xb7\x7d\xd8\x0b\xf1\x1f\xa3\x61\xe4\xf6\x60\xe1\
+\x01\x50\xf8\xdc\xe8\xbc\xe2\xd9\xa3\xa3\x1e\xe8\x85\xf2\xea\x47\
+\xb3\x32\xf6\x0b\xce\xac\x2c\x83\xca\x0b\xfe\x54\xb7\x11\xe5\xc3\
+\x0f\xba\xf3\x5e\x8b\x41\xae\xb2\x67\x9e\x50\x77\x55\xd6\xda\xa9\
+\xb6\x2d\x0b\x03\xd7\x1a\xbd\xca\x13\xaf\x6f\x61\x66\xe6\x40\x3a\
+\x25\xee\xdf\x5e\xba\x2a\x35\x85\xdd\x35\x5e\x1a\x3c\x86\x81\x7d\
+\x92\x18\xd4\x27\x91\x01\xbd\x93\x88\x73\x1f\xa6\x65\x45\x14\xbc\
+\xb6\x61\xd9\x9a\x2a\x72\x3f\x2b\xe7\xa3\xcf\x2b\xd8\xbd\xaf\x21\
+\xfc\x6d\x3f\x94\x18\xc2\x20\x62\x5b\x2a\x6a\xd9\x48\x01\x73\xfa\
+\xa0\x9e\xcc\xbc\x7b\x34\x56\x98\xc4\x7c\x2b\xff\x6b\x16\x2c\x5e\
+\x1b\x56\x4b\xd7\x24\x75\xaa\xfe\x7d\xf3\xa3\x38\xf2\x50\xd8\x86\
+\x4a\x33\x6f\x6d\x26\xfa\xc4\x20\x7c\x15\x3e\x01\xda\x71\x76\x85\
+\xab\xb1\xe9\x19\x95\x46\x56\x52\xff\xf1\x8c\x12\xd5\xd3\x53\x85\
+\xbc\x68\xd7\x2d\x31\x8b\x0d\x72\x3f\x70\xcc\x88\xf2\xe1\x3d\x0a\
+\xa0\x0a\xe1\x4c\xff\xd8\xf3\xa3\xd5\x29\x3a\xb6\x70\x49\x5a\x65\
+\x5a\x2d\x90\x8c\xed\x3a\x0b\x58\x55\xf0\xcc\xc8\x2d\xa9\x99\xb9\
+\x1f\x0b\xa4\xe1\xd5\x1f\x01\x5f\xba\xeb\x6b\xc7\x20\xd2\x19\xa8\
+\xf6\x1a\xef\x6d\x2e\xcb\x3d\x0e\x38\x2e\x7d\x7b\x5a\x6a\x21\x14\
+\x62\xe9\x04\x9f\x36\x46\x3f\x28\xf8\xc3\xc8\x5d\xbe\x47\xe2\x3e\
+\x39\xf0\x2a\x27\x62\x3d\x9f\x96\x19\x3e\xec\x7c\xf0\xbf\xec\x45\
+\x35\x81\x96\xf6\x04\xd5\x14\x75\x99\xfc\xc9\xb6\xa5\x5f\x00\x2e\
+\xd0\xf7\x8a\x66\x8d\x7e\x3b\xb8\x84\x5a\x7a\xa6\xf8\xde\x87\x96\
+\x2c\x99\x39\x34\xe2\xb4\xc6\xe5\x73\xc7\xd7\xa6\x4d\x5e\xbc\x04\
+\x91\x09\x8a\x9c\x19\x9e\xdf\x4e\xb6\x14\x3f\x7b\x49\x41\xeb\x8a\
+\xca\x76\xff\x7f\x8a\x6c\xeb\xd1\x7d\x10\xf0\x4d\xbb\x7a\x54\x59\
+\x13\x71\x09\xdd\x2c\x3e\xad\x99\x7b\x44\x56\x81\xab\x20\x8b\x36\
+\x9f\x84\x18\x85\x15\xc1\xdb\x83\x00\x2e\x89\x3b\x0d\xd4\x02\xf0\
+\x36\x7a\xa2\xfe\xed\x35\x8b\x44\x8e\x1b\xb5\x37\x23\xbe\x3f\xa6\
+\x06\xcb\xb4\xcf\x03\xba\x0d\xb4\x2a\x4a\xe2\x9b\x59\xa7\xbd\x7b\
+\xe5\x83\x5f\xcd\x56\xc8\x0c\x4c\x6c\x15\x3b\x1b\x78\xf6\xcd\x72\
+\x7e\xf5\xe3\x50\xeb\xa1\x9f\x8d\xe9\xd3\xd1\x63\x3c\x60\x8c\x51\
+\x56\x6f\xdc\x45\xee\xb2\x72\x3e\x5c\xfa\x1d\xd5\xbb\x7d\xab\xa7\
+\xfd\xfe\x22\x2d\x2b\xf3\x23\xf2\x43\x92\xa1\x5b\x5d\xb1\xfc\x3f\
+\xfa\xf7\xee\xca\xdc\x07\xc7\xd2\x39\x2c\x5c\x49\x59\xf9\x6e\xb2\
+\x9e\x2b\x0c\xef\xa6\xde\x60\xae\x2f\xcd\xce\xf2\x70\x14\x21\xb0\
+\xab\x68\xce\xa8\xb9\x6d\xaa\xa4\xd4\x87\x5f\x4a\xaa\x73\xd9\xb6\
+\xdb\x2f\x53\x4c\x94\x7f\x60\x0b\x6f\xec\xd5\x9e\x46\xf5\x40\x36\
+\x96\xe5\xc1\x44\x54\xb4\x9a\xda\x8c\x46\xd6\x43\x4a\x66\x9e\xed\
+\x1b\xaa\x09\x5a\xb9\xcb\xeb\xa0\x69\x22\x4c\x00\x1e\x44\xac\x1f\
+\xf9\xd4\xff\xfa\x66\xc9\x73\x63\x2a\xd3\x32\x73\x73\x80\x1f\xa2\
+\x3a\x81\xac\xac\x62\xad\xe4\x2a\x5f\x35\x9a\xb6\xaf\x8c\xa8\xe5\
+\x9f\xac\xf0\xad\xd4\x62\xdc\x11\x44\x28\x04\xd5\x68\x59\xac\x3a\
+\xcd\x51\xf0\xdc\xc8\xd5\x69\x99\xb9\xb5\x40\x17\x94\x08\x4b\x1f\
+\x31\x58\xbe\x61\x49\xf3\x16\x3d\x62\xf9\xbc\x7a\xfd\x93\x60\x30\
+\x96\x48\xc4\x35\xc5\x8a\x19\x2c\x4e\x61\x53\xac\xfc\x90\xae\x45\
+\x3f\x69\xfa\xfd\xfb\x56\x4b\x59\xad\xad\x1b\xd2\xa7\x12\xb9\x7a\
+\x51\xbc\xc4\x78\xef\x35\x51\xee\xcd\x85\xc4\xb5\xb0\x04\x8c\xb8\
+\x37\x51\x75\x05\xd6\x37\x09\xae\xb6\xc5\x8b\x52\xa2\x8c\xdb\x8d\
+\x97\x43\x68\x66\xd3\xea\x01\x7b\x76\xb9\xee\x42\xf1\xc5\xd4\xf0\
+\xff\xd2\x8a\x57\xef\xe1\xed\x92\x1d\x07\x65\x60\x07\x4a\xa3\xd7\
+\x50\xb2\x6a\x3b\x8f\xbc\xb4\x92\xb1\xd3\x16\x31\xe9\xf1\x12\xe6\
+\x2d\xde\x44\xf5\x1e\xdf\x33\x6f\x4e\x74\xb4\x4d\xc7\xd1\xda\x6c\
+\x9f\x40\xea\xd5\x23\x99\x3f\x67\x8d\xe3\xd8\xee\xa1\x4a\xf3\xbd\
+\xb5\x1e\xa6\xfc\xef\x07\xd4\xd4\xf9\xe7\xbb\x26\x13\x68\xa6\x96\
+\xbd\x3f\xfd\x8b\x36\x8c\xc8\x21\x08\x51\x86\x46\xcd\xb0\x49\xf7\
+\x7f\xdb\x51\x30\x77\x44\xe0\x0f\xd8\x1f\xad\x52\x22\x4d\xe2\x80\
+\xf4\xdb\x16\x9f\x0b\x74\x01\xc0\xda\xff\xe6\x67\x4c\xe3\x02\x7c\
+\xd6\x36\xa7\xa5\xdf\xb6\xe8\x3c\xd0\xcb\x01\xc4\x2f\x20\x04\x7d\
+\x1d\x40\x91\xab\xd3\xb7\xa7\xa5\x82\xf4\x01\x6a\x92\x92\xec\x85\
+\x41\xcd\x37\xad\xca\xc4\x32\x67\xab\xc6\xf7\x68\xee\xe3\xaa\x75\
+\xfd\x31\x7c\x6c\x2e\x8b\x83\xe2\x18\xa7\x42\xe0\x00\x9a\x8b\x2e\
+\x98\xf4\x59\xc4\xc4\x7f\xc6\xc4\xf9\xf1\xa0\xff\xe5\x1f\xf9\x7e\
+\xe5\xbd\xfa\x84\xb0\x42\xdf\xf0\x3a\xe2\xb2\x4e\x8d\xd5\xa7\x20\
+\xad\xbe\x97\xa2\x59\xa3\x56\xe0\xb7\xf2\x52\xb8\x37\x6d\x4a\xee\
+\xf9\xcd\x95\x4d\xbf\x7d\xd1\x59\x23\xa6\xe5\x77\x6f\x6d\xdb\x31\
+\xf0\xfd\x93\x9a\xc8\x7b\x33\x22\x31\xef\x0d\x89\xbc\x37\xaf\x8b\
+\x0d\x4d\xdf\xdd\x3a\x2e\x3c\xff\x48\xa7\xd5\x02\x24\xe7\x99\x93\
+\x1b\x70\x9b\x6b\xf1\x9b\xdd\xf9\x50\x5e\x78\xbf\x82\xa2\x95\x07\
+\xdd\x5a\xac\x55\x34\x7a\x0d\x1f\xaf\xdc\xce\xa3\x2f\xad\xe2\xb2\
+\x7b\xf2\xb8\xe7\x8f\x9f\xf1\x7e\xc9\x96\xa6\xb8\x58\xa1\x84\x69\
+\x32\x22\x14\xe6\x31\xca\xb7\xca\x02\x2b\x54\x77\xd2\xab\x47\x32\
+\x2f\x3e\xf4\x03\xfa\xf5\xee\x12\x52\xca\xd3\x68\x93\xf9\x58\x0e\
+\xeb\xbe\xdd\x19\xd2\x84\xa0\xf3\x37\xe5\x4c\xfd\x53\xf4\x3b\x75\
+\x68\x25\xb7\xa4\x66\x2e\x4a\x0d\xbe\x30\x34\x33\xff\x5c\x44\xef\
+\x07\x10\xd1\x7f\x04\x99\xab\xbe\x02\x20\xe8\x2d\xc3\x33\x17\x8f\
+\x0c\xae\x33\x62\x5a\x7e\x77\x2c\x99\xed\x4f\xae\xf2\x4f\x5c\x00\
+\xf8\xf5\x32\xbe\x3d\x27\x5f\x99\x6e\x0a\xdb\x7a\x55\xee\xcc\x03\
+\x48\x4c\xb6\xdf\x05\x6a\x80\x7e\xa8\xfa\x7c\x63\x94\x85\xc1\xba\
+\x86\xe2\x39\x19\x1b\x05\xfd\x02\x40\x6d\xeb\xde\xe2\x39\xa9\xbb\
+\x8a\xe7\xa4\x55\x07\x3e\xd5\x55\x15\x35\x62\x35\x8c\x29\x9e\x93\
+\x56\x1d\x6c\x52\x7a\xb0\xb1\x6c\xfb\x35\xc0\x0b\x3a\x30\xc9\xbd\
+\xfb\xe1\x50\x5d\x80\x4a\x8f\x94\x9e\x8f\x01\x03\x00\xaf\xd8\xde\
+\xd7\x83\xf2\xfc\x5b\x8b\x5c\x3d\x64\x7a\x49\x93\xbd\xfd\x05\x93\
+\x16\x26\x2b\xfa\x40\xc7\x8d\x50\x54\x7d\xc6\x25\x36\x3e\xab\xad\
+\xbc\xd4\x29\xb9\x37\x4e\x9c\x38\xbf\x69\x95\x76\xc1\xa4\xcf\xe2\
+\x52\x33\xf3\x32\xd5\x58\x4b\x8c\xc7\xce\x19\x76\x73\x71\x97\xe6\
+\xdb\x6b\x45\x8f\xe8\x16\x00\x11\xae\x1d\x91\x95\xdf\xb4\x83\x33\
+\x62\x5a\x7e\x77\x94\x7b\xda\xda\x5e\xc9\xac\xd1\xdf\x0a\xfa\x89\
+\xbf\xed\xa7\x03\xba\xb4\x00\xa9\x93\x17\x0f\x4a\xcb\xcc\x7d\x26\
+\x9a\x00\x3f\x12\x68\xd3\x41\x1f\xef\x64\x9d\xb1\x7e\xfc\x83\xa5\
+\xb7\xa2\x34\x29\x19\x55\xe1\xe9\xec\xcd\x74\x4a\xb2\x38\xff\xe4\
+\x03\xfa\xdd\xb4\x8b\x46\xaf\x61\xd9\xda\x1d\xe4\x2d\xdf\x46\xf1\
+\x97\xdb\xd8\x5b\xeb\xa5\xad\x61\x44\x62\x5d\x6e\xbf\x05\xd6\xfe\
+\xaf\xdf\xeb\xd7\x9d\xb9\xff\x33\x86\xbe\x29\x9d\x43\x8a\x18\x55\
+\xee\x9d\x99\xc7\xa7\xab\xca\xc3\x1b\x5f\x2f\x86\x5b\xdb\xd0\xdb\
+\x91\xc6\x80\xb4\xcc\xdc\x58\xc1\x1e\xf3\x8b\x66\x8f\xbe\xf7\x10\
+\x8c\xc3\x12\xac\xbc\xb4\xcc\xdc\xbf\x09\xba\x1a\x38\x5d\x31\xd7\
+\x03\x09\x0a\xdb\x8c\x98\xdf\x04\x0a\xee\xdc\xbe\x63\x6e\x8f\x63\
+\x7b\x5e\x87\x30\xcc\x20\x8b\xd2\x26\xe7\x66\x63\xc9\xe7\xaa\xda\
+\xdb\xf6\x98\x6b\x41\xfa\x21\x78\x44\xb9\x2d\xdc\xb9\x4c\x45\xe6\
+\x89\xea\xa5\x8a\xf8\xde\xc6\x45\x16\x04\x1c\xb9\xfe\xf9\xd4\x98\
+\x9a\xb4\xcc\xdc\x77\x80\x1f\x37\xe5\x5b\xf2\x3a\xe1\x88\xdc\x89\
+\xb2\x18\xe1\xc6\xf4\xcc\xdc\xb3\x60\xf1\x5f\x0d\x52\x2e\xa2\x03\
+\x51\xb9\x09\x65\x70\xea\xe4\xbc\xae\xc5\x6d\xdd\x1a\x3c\x00\x0a\
+\x9f\xbf\xf4\x9b\xd4\xcc\xdc\x47\x05\xb2\x04\x66\xa4\x65\xe6\xa5\
+\x2b\xb9\xff\x04\x10\xf2\xc6\xe0\xf7\xfe\x56\x78\xb4\xe8\xf9\x4b\
+\x9b\xf4\x0f\x2a\xd6\x1b\x7e\x8b\xb6\x01\xee\x86\xba\x65\xe9\x99\
+\xb9\x0b\x0c\x24\x08\x72\x2d\x68\x87\x3a\x70\x15\xcf\xc9\x58\x9c\
+\x3e\x79\xf1\x9d\x2a\xf2\x47\xa0\x9b\x28\xaf\x6c\x4d\xe9\xf9\x74\
+\x5a\x66\xee\x1a\x14\x37\xb2\xfb\x0c\xa0\xbb\x6f\x9c\xd2\x47\x12\
+\xea\x53\xf0\x19\x24\xb4\x0b\x55\xeb\x0d\x44\xbf\x0f\x9c\x67\x2a\
+\xed\x25\xbe\xf0\x30\xda\xd5\xf6\x98\x16\x63\xc0\x35\x87\xc0\x54\
+\x85\x8f\x80\x63\xc5\xe8\xd2\xb4\xc9\xb9\x6f\x88\x45\xa9\xfa\xcc\
+\xd4\xaf\x05\x92\x93\xdd\xbb\xaa\xe9\x38\x6b\xb0\x0e\xa3\xcd\x31\
+\xda\x17\x3e\x72\xc6\x7c\x44\x82\xbc\x8c\x15\xaf\xad\xfc\xf6\x6f\
+\xdf\xb2\xfe\xbb\x08\x3d\xdb\x41\xc1\xd3\x68\x28\x59\x55\xc5\x63\
+\x7f\x29\x65\xfc\x7d\x85\xdc\x37\xfb\x0b\x3e\xf8\xa4\xdc\x27\x3c\
+\x38\x78\xab\x88\xb6\x5b\x60\x29\xe7\x9c\xd2\x8b\x57\x1f\xb9\x2c\
+\x42\x78\x00\xfc\xf6\x85\x12\x72\x3e\xde\x10\x22\xac\x04\x76\x8a\
+\xd1\x2b\xd7\xe7\x4c\x6d\xd6\xfe\xfd\x28\x20\x11\x5f\x4c\xac\xa8\
+\x1f\x85\x41\x87\x62\x10\xaa\x7a\x1f\xb0\x1a\xf8\x99\x22\x4f\x29\
+\x72\x33\x90\x00\xb2\x49\x54\x2f\x0d\xb6\x86\x29\xcd\xbe\xc6\xe3\
+\x4a\xb0\x2e\x07\x7d\x1b\x70\x21\x5c\x87\xea\x13\x02\x77\x03\xfd\
+\x80\x72\x90\x71\xd1\x3c\xdf\xdd\x71\xf2\x06\xc1\xfb\xd1\x6a\x87\
+\x08\x08\xd1\x10\x81\xb1\xab\xb3\x55\x1f\xe2\x99\x0e\x4d\xd6\x61\
+\x57\x01\x55\x8a\x9c\xab\xc8\x53\x02\xaf\xa1\xf2\x18\x30\x18\x28\
+\x74\xbb\xe5\xfd\x03\x79\x1e\xed\xa1\x78\xf6\xa8\x87\x11\x7d\x00\
+\xc1\x03\x0c\xf5\x0b\x93\x2c\x7c\xc2\xa3\x01\xd1\x07\x8a\x67\x8f\
+\x0a\x09\xee\x59\x9c\x52\xf8\xb2\xc2\x7c\x7f\xf2\x0c\x85\x87\x04\
+\x66\xa0\x6a\x44\xe4\x96\x8e\x1e\x63\xe1\x9c\x8c\x59\x58\x32\x4e\
+\x69\xda\x72\x4b\x01\x86\xfb\x2d\xdb\xba\x03\x88\x90\x8d\x37\x6e\
+\x48\x6b\xac\xbb\x62\xd1\xd9\x5d\xff\x7b\xbf\xb3\x26\x8a\x7c\x1f\
+\xf4\x61\xe0\x1e\xa0\x52\x95\xa9\xed\x69\xf3\xa3\xd9\x19\xcb\xd4\
+\x32\xe3\x80\x72\x94\x78\x84\xeb\x54\x79\x04\xe5\xe7\x40\x12\xca\
+\xab\xa6\x3e\xf1\xc9\x03\x19\xf7\xc1\xa2\x5d\x47\x0d\x2e\x7c\xf4\
+\xb4\xff\xbe\xfc\x81\x35\x29\xa0\x37\x07\x66\xbf\xba\x06\xc3\xaf\
+\x5f\xda\xc8\xc3\x3f\x1f\xc8\x49\xc7\x77\x5c\xa0\xc2\x00\x0d\x8d\
+\x86\xa5\x6b\x76\x50\xb0\xa2\x92\x8f\x57\x55\x51\x5b\xe7\xa5\xc9\
+\xb9\xaf\x99\x65\x42\x47\xae\x22\x9a\xcb\x8a\x65\x81\x35\x6e\xd8\
+\x20\x1e\x9d\x92\x16\x11\xe1\x57\x15\x9e\x78\x79\x09\xaf\xbc\xbb\
+\x2a\xac\x86\xd6\x19\x91\x2b\x37\xe6\x4c\x8d\xb4\xae\x38\x0a\xb0\
+\x0c\xef\x1b\x61\x7b\xcb\x05\x59\x17\xf8\x2a\x22\x0b\xd5\x68\x05\
+\x41\x7a\x80\x00\x0d\x9d\x12\x6a\x5c\xf5\x75\x33\x00\xdc\x22\xdf\
+\x85\xe7\x63\x74\xa9\x22\x33\x90\xe6\xde\x28\x65\xb3\xab\x97\x75\
+\x91\xa9\xb4\x27\x28\x92\xaa\x22\x62\x19\xb3\xcc\xaa\xb3\xe6\x15\
+\xbc\x9c\x11\xb1\x15\xe4\xb7\x8a\xfa\x61\xea\x94\xbc\x8b\x51\x1d\
+\x2b\x70\xbc\x42\xad\xa5\xb2\xb4\xc6\xae\x79\x6b\xf9\xdc\xf1\x51\
+\xcf\x9f\x2f\xf8\xc3\xc8\x5d\xa9\x53\x72\x6f\xc5\xd0\xd7\x12\xf5\
+\x16\xcd\xce\x08\x31\xc5\xec\xe4\xae\xff\x70\xaf\x37\x21\xe0\x27\
+\xb2\x31\xe7\x99\x71\x51\x4d\x4e\x8b\xe6\x8c\x7a\x6f\xd8\xcd\xc5\
+\x83\xac\xc4\x86\x09\x08\xe7\xa3\x24\xa2\xba\x25\x5a\xc8\x96\x1e\
+\xd0\xb0\x57\x7d\xbe\x27\x5e\xcb\x1c\xc0\xc1\x94\xf2\x90\xaa\xc6\
+\x8b\xab\xb9\xf8\x64\xa2\x45\xb3\xf8\x6d\x7a\xe6\x87\xaf\x82\xeb\
+\x6a\x55\x19\x0c\x20\xa2\x5f\x5b\x2e\xd7\x3f\xa2\xf8\xa4\x40\x56\
+\x96\x29\x46\xaf\x4b\x9f\x92\xff\x17\xa3\x7a\xa9\x28\xf1\x8a\x7c\
+\xe1\x16\x79\xcd\x6b\xdc\x71\xe0\xf1\xfd\x4e\x13\x5c\xfb\xc3\x78\
+\x58\xf2\xae\x1a\xdd\x6a\x59\xad\x57\xa2\x07\x53\xf4\xec\xa8\x0f\
+\x27\x4e\x9c\x7f\x66\x45\xef\x63\xd2\x30\xd6\x70\x90\x3e\x82\x36\
+\xaa\xea\x26\x2c\xde\x2d\x9a\x95\xb1\x2e\xb2\x96\xfc\x5a\x55\xe3\
+\x55\x58\x1d\x9e\xe3\x56\xd7\x7a\x2f\x66\x06\x40\x01\x1f\x35\xa9\
+\xa5\x73\x9e\x19\xd7\x40\x56\xd6\x98\xb4\xad\xe9\x57\x61\xe9\x08\
+\x41\x2d\x94\xa5\x56\x9d\x6b\x1e\x5d\x38\xd6\xeb\xf5\xd5\xd9\xb1\
+\xa7\x67\x93\xe1\x8b\xa8\xbc\x6e\xd0\x2f\x45\x23\xfb\x09\x50\xfc\
+\xec\x25\x05\x43\xa6\x97\x9c\x14\xd7\x50\x7b\x35\x70\x91\xc1\x4a\
+\xb0\xd0\x32\xb5\xf5\x9d\x60\x13\x63\x00\x11\x7d\xd2\xa8\x74\xb7\
+\xd4\x8e\xf0\x7d\x51\x49\xd8\xaa\xda\x38\x03\xc0\xf2\x24\x1c\xf4\
+\x97\xd0\x76\xdb\xd7\x4e\x9c\x38\xdf\x55\x7b\xf2\x69\xd9\xa8\x5e\
+\x05\xda\x64\x0a\x9b\x18\x27\x3c\x70\xe3\xc0\x0e\xd9\xce\xf2\x34\
+\x1a\x96\x7f\x5d\x4d\xc1\x8a\xed\x14\x7f\x59\xc5\xbe\xfa\x46\x42\
+\xc2\xb7\x37\xc5\xdd\xc2\xff\x33\x46\x3a\x28\xdc\x7b\xa0\xfe\xfe\
+\x32\xd0\x5c\xe4\xdf\xe6\x82\x3e\x46\xc4\xc0\x0a\xaa\x9f\x10\xe7\
+\xe2\xae\x1b\x2e\xe0\x86\x71\xa7\x47\xdc\x93\x6d\x94\x5f\xcf\x2e\
+\x62\xc1\xe2\xb5\xe1\x75\x6d\x55\x9d\xb8\xe1\xdd\xdb\xdf\x3c\xe0\
+\x07\xf7\x1f\x4e\x5a\x66\xee\x6e\xa0\xab\x2a\xd7\x14\xcf\x19\x9d\
+\x7d\xb8\xc7\xe3\xe0\xf0\xef\x4a\xbb\x0f\x3b\xcf\xce\xbe\xc6\x9e\
+\x38\xbd\xe4\xfa\xda\xa4\x2e\xff\x54\xd5\x26\x45\x65\x9d\xc7\x90\
+\xf5\xf2\x06\xee\xb9\x76\x00\xe9\x67\xb7\x3d\xfc\xbb\xa7\xd1\xb0\
+\x7c\xdd\xae\x26\xa1\x51\x53\xef\x25\x62\x6b\x28\x86\x87\x77\x44\
+\xfa\x00\x57\x11\x2d\x56\x0e\x63\xd0\xf1\xdd\x78\xfa\xae\x11\x9c\
+\xd2\x3f\xf2\xde\xeb\x1b\xbc\x4c\x7b\x72\x31\xf9\x9f\x05\x3b\xec\
+\x36\xed\xa5\xfd\xd2\x11\x1e\x0e\x0e\x0e\x47\x13\xed\x16\x20\x00\
+\xd9\x33\x87\xd6\x5d\x36\x63\xe5\x15\x2a\xbc\x27\xe8\x90\xc0\x9c\
+\xda\xe8\x55\x7e\xf7\xf7\x6f\xd9\xb5\xd7\xcb\x15\xc3\x52\x5a\x6c\
+\xa7\xc1\x63\xf8\x64\x4d\x35\x1f\x7d\x51\xc5\x27\xa5\x3b\xa9\xf7\
+\x78\x23\x9c\xfb\x02\xc9\x56\xcf\xf1\x31\xf7\xad\xc2\xd2\x1d\x60\
+\x81\x15\xe7\xb6\xb8\xe9\xb2\xd3\x98\x3c\xf1\xdc\xa8\x87\x52\xed\
+\xd8\x55\xc7\x94\xc7\x17\xb1\xe2\xeb\xad\xe1\x59\x06\xf4\x8e\xf5\
+\x0b\xa7\xbc\x18\x51\xc9\xc1\xc1\xc1\xe1\x08\xe6\x80\x04\x08\xc0\
+\x7b\x8f\x9f\x5d\x3d\x3e\xeb\xb3\x0c\xbb\xde\x3d\x1f\x25\x10\x88\
+\x0e\x63\x0c\xb3\xdf\xde\x4c\xe9\xb7\xfb\x98\x36\xa1\x7f\xb3\x01\
+\x11\x3f\x5d\x53\xcd\x63\xaf\xac\xf3\xaf\x34\xf6\x9b\xd3\xb6\x34\
+\x69\x47\x8d\x76\x1b\x72\xa1\x15\xa2\xa6\x83\x2c\xb0\x86\x9d\xd3\
+\x97\x19\x3f\xbb\x88\x13\xfb\x76\x8d\x9a\xbf\x74\x75\x05\x77\xcf\
+\xcc\x67\xfb\xce\x80\xe5\x66\x93\x32\xde\x23\xc8\x4f\xbf\x59\x98\
+\x19\x69\x95\xe3\xd0\x7e\x84\x87\xd4\x90\xe0\x76\x59\xe1\x4a\x26\
+\x07\x07\x87\x0e\xa4\xc3\x62\x8c\x4c\x9c\x38\xdf\xb5\x6f\xd0\x49\
+\x73\x41\x6e\x0e\xd7\x45\x1c\x7f\x6c\x02\xf7\xdf\x30\x88\xef\xf5\
+\x8d\xae\x5c\x2f\xab\xa8\xe5\xf9\x77\xca\x58\xba\xb6\xba\xc3\x74\
+\x11\xd1\x8e\xba\xed\x68\xdd\xc9\x80\x3e\x5d\x99\xfe\x93\xf3\x18\
+\x75\x61\xa8\x37\x7e\x00\xa3\xca\xf3\x0b\xbe\x60\xd6\xbc\xcf\xf1\
+\x1a\x0d\x6d\x4b\xd9\xa7\xa2\x3f\x5a\xff\xf6\xe4\x23\xff\x74\x0f\
+\x07\x07\x07\x87\x28\x74\x70\x90\x2a\x95\xb1\xbf\x5a\xf1\x14\xca\
+\x5d\xe1\x42\x20\xde\x25\x4c\xba\xe2\x04\x2e\x1f\xd2\xab\xd9\xa0\
+\x89\x2b\x37\xec\xe6\xf5\xdc\xef\xf8\xb4\x74\x07\x46\x5b\x10\x02\
+\xfb\x27\x62\x5a\x14\x02\x6d\x2c\xab\x2d\xf4\x3d\xf8\xc4\xee\xfc\
+\xe2\xca\x33\xc8\xb8\xb8\x7f\x44\x3c\xab\x00\x95\x3b\x6b\xb9\xff\
+\xd9\x22\x3e\xfe\x72\x4b\xa8\xc0\xf3\xf5\xb5\xcd\x16\x73\xd9\x86\
+\xb7\x32\x97\x47\xad\xec\xe0\xe0\xe0\x70\x14\x70\x50\xa2\x1c\x8e\
+\xfd\xd5\xf2\x1b\xb0\x99\xa3\xa2\x9d\xc3\x57\x0d\xa7\x0f\xe8\xcc\
+\xd4\x09\x27\x32\xa8\x99\xd5\x08\xc0\xa6\x8a\x1a\x16\x14\x7c\x47\
+\xc1\xe7\x95\xd4\xd4\xdb\xed\x12\x18\x1d\x6d\x81\x65\x09\x5c\x74\
+\x66\x6f\x6e\xfa\xc1\xa9\x0c\x3d\xa7\xf9\x78\x5f\xb6\x6d\xf8\x5b\
+\xce\x5a\x9e\x99\xf7\x39\x35\xb5\x9e\xb0\x55\x0f\xa8\xb2\xd4\x12\
+\xfb\xda\xaf\xde\x9a\x5c\x76\x40\x0f\xd9\xc1\xc1\xc1\xe1\x30\x73\
+\xd0\xc2\xe4\x8e\xbd\x6f\xd9\x60\x55\x99\x8f\xea\xd9\xe1\x6f\xf2\
+\x08\x8c\xbb\x38\x85\x49\xe3\x07\x90\x9c\xd8\xfc\x61\x51\x01\x33\
+\xde\x0f\x3e\xdd\xca\xc7\x2b\xab\x68\xf4\xda\xd1\x27\xfd\xf0\x74\
+\xcc\xad\xaf\xd0\xb1\x84\xac\x50\xa2\x6c\x93\x7d\xef\xf8\x6e\x64\
+\x5c\xdc\x8f\x2b\xd2\x06\xd2\x37\xa5\x53\xf4\x81\xfa\x29\xdd\x50\
+\xc5\xc3\x2f\x7c\xc2\xaa\x6f\xb6\x87\x8c\xc5\xff\x5d\x51\x7d\xa6\
+\x73\x6f\xee\x59\x3e\xf7\x97\x51\x83\xfc\x39\x38\x38\x38\x1c\x4d\
+\x1c\xd4\x38\xeb\x23\xb2\xf2\x13\xe3\xf7\x75\xfa\x1d\xc8\xd4\x68\
+\x93\x76\x8f\xae\x71\xdc\x70\xe9\xf1\x8c\xbd\xa8\x17\x71\xee\xd8\
+\x4e\xf1\xbb\xf7\x35\x52\xb2\xba\x8a\x15\xeb\xaa\x59\xb1\xae\x9a\
+\xad\x3b\xea\x88\x10\x20\xad\xd1\x95\x84\x6e\x25\x45\x08\xa0\x4e\
+\x49\x6e\xce\x1f\x9c\xc2\x85\xa7\xa5\x30\xf4\x9c\xe3\x18\xd8\x8c\
+\x62\x3c\x98\xb2\x8a\x3d\x3c\xff\x8f\x95\x2c\x2c\x5c\x8f\x9a\xa8\
+\x5b\x5f\x55\x6a\xf8\xe9\xba\xb7\x6f\x3d\xe4\x9e\xc4\x0e\x0e\x0e\
+\x0e\x07\x8b\x43\x72\x50\xc7\xd8\xbb\x97\x5e\x6d\xe0\xff\x54\xb5\
+\x5f\xb4\x49\xbb\x67\xd7\x38\xae\x19\x75\x3c\x97\x0f\x39\x8e\x84\
+\xf8\xd6\x45\x57\xd9\xba\xa3\x8e\xcf\xd7\x55\xb3\x61\xcb\x5e\x36\
+\x57\xd6\xb0\x79\x5b\x2d\x15\x55\xb5\x78\xbc\x76\xf4\x95\x46\x20\
+\x1d\xd4\x77\xaf\x1e\x89\xf4\xef\xdd\x89\xfe\xc7\x75\x66\x60\x9f\
+\x2e\x9c\x7d\x72\x4f\x4e\x1d\xd0\x1d\xcb\x6a\xdd\x63\x59\xbf\x79\
+\x17\x7f\x7a\x73\x15\x39\x25\x65\x18\xdb\x34\xb7\xca\x59\xa0\xb6\
+\x75\xe7\xd7\xef\xdc\x52\xde\x52\x7b\x0e\x0e\x0e\x0e\x47\x13\x87\
+\xec\xa4\xa7\xf1\x59\x9f\x25\x37\xec\xb1\xef\x33\xe8\x7f\xa3\x1a\
+\x0f\x91\xab\x80\x6e\x9d\xdd\x4c\x48\xef\xcb\xd8\x8b\x7b\xd3\xb3\
+\x5b\x7c\xac\xe6\xa2\x62\x1b\x65\x7b\x75\x3d\xbb\xf6\x79\xa8\xf7\
+\xd8\x34\x78\x6c\xf6\xd5\xf9\x1c\x11\xe3\xdd\x16\xc9\x89\x6e\x3a\
+\x25\xba\xe9\x9c\x1c\x47\x8f\xae\x09\x24\x27\xb6\xdd\x8a\xd9\xa8\
+\xb2\x7c\x6d\x25\xaf\xe5\x7c\x45\xee\xb2\x7f\xf9\x57\x1c\xd1\x56\
+\x39\xba\xc1\x36\x72\xc7\xba\xb7\x6e\xc9\x69\x73\x27\x0e\x0e\x0e\
+\x0e\x47\x01\x87\xfc\xa8\xc0\x91\x77\x2e\x1b\xec\xb2\xbc\xcf\x2a\
+\x9a\x11\x3c\xe9\x86\x28\xb8\x45\x39\x73\x60\x57\x2e\xb9\xb0\x37\
+\x19\xdf\xef\xd5\xac\x0f\xc9\xa1\xa4\xac\x62\x0f\x1f\x94\x7c\xcb\
+\xc2\xa2\x8d\x6c\xde\xba\x37\x96\xee\xc4\xa3\x30\xb3\xae\x8b\x64\
+\x95\xbd\xfc\xf3\x43\x16\x7a\xdb\xc1\xc1\xc1\xe1\x50\x73\x98\xce\
+\x9a\x55\xc9\x98\x5e\x72\x85\xaa\x3c\xa0\xaa\x17\x46\xdb\xd6\x0a\
+\x08\x94\xe4\x04\x8b\x61\x67\x1f\xcb\x85\xa7\x1e\xc3\x79\xa7\x1c\
+\x43\x4a\xf7\x83\x7e\x4a\x23\x00\xb6\xad\xac\xd9\xb4\x93\x4f\x4b\
+\xb7\xf1\xd1\xf2\x2d\xac\x5c\x5f\x15\x53\x77\xa2\xaa\xf5\x0a\x2f\
+\x5a\xe2\x7a\xa2\x34\xfb\xa6\x7f\xc5\x6c\xdc\xc1\xc1\xc1\xe1\xdf\
+\x80\xc3\x7e\x58\x79\xc6\x9d\xc5\xa9\x06\xc9\x52\x35\xa3\x63\x99\
+\xe1\x06\xae\xf5\xef\x9d\xcc\x79\xa7\x1c\xc3\xb9\x27\x77\x67\x50\
+\xdf\xce\xf4\xeb\x95\xdc\xa2\x02\xbe\x35\xec\xda\xdb\x40\x59\xc5\
+\x5e\x4a\x37\xee\x64\x69\x69\x25\xcb\xd7\x6e\xa3\x26\x28\xe2\x6f\
+\x0c\xeb\xaf\x1a\x55\x7d\xd1\x2b\xf2\xc4\xba\xec\x9f\x46\x46\x8c\
+\x75\x70\x70\x70\xf8\x37\xe5\xb0\x0b\x90\x00\x23\xef\x28\x1c\x2e\
+\xc2\xed\x46\x19\x0f\x9a\xd0\x92\x33\x5f\x60\x12\xb7\x2c\xe1\xb8\
+\x1e\x89\xf4\xef\x9d\xcc\x80\xe3\x3a\x71\x4c\x97\x78\x92\x13\xdd\
+\x24\x25\xb8\x48\x4a\x70\xd1\x29\xd1\x4d\x9c\xdb\xa2\xde\xe3\xa5\
+\xa6\xce\xcb\xbe\xba\x46\x6a\xeb\xbd\xd4\xd6\x7b\xf9\xae\x72\x1f\
+\x65\x15\x7b\xd9\x54\xbe\x97\x3d\x35\x0d\x4d\x42\xa1\x35\x7e\x27\
+\x46\xb5\x4c\xd0\x97\x3d\xae\xb8\x59\xeb\xfe\xfe\x93\xaa\xc3\xf1\
+\xcc\x1c\x1c\x1c\x1c\x0e\x27\x47\x8c\x00\x09\x90\x31\x69\x51\x37\
+\x3b\x21\xfe\x4a\xa3\x7a\x23\xaa\xa3\x15\x95\x98\x66\xb9\xd1\x26\
+\xfd\xe6\xd2\x51\x9d\x0d\x9b\xd9\x96\x0a\xea\x2b\x90\xa7\xe8\x1e\
+\x51\xde\x56\xb5\x5f\x59\x35\xff\xa6\xdc\xf0\x93\xe9\x1c\x1c\x1c\
+\x1c\xfe\x93\x38\xe2\x04\x48\x30\x23\x32\xf3\x4f\xb2\x45\x27\xa2\
+\x8c\x02\x1d\x86\x6a\x52\x4b\x7e\x1c\xb1\x9c\x05\xdb\x19\xc2\xe4\
+\x5b\x54\xf2\x11\xcd\x49\xf6\xba\x17\x2e\xc9\xbe\xe6\xd0\x1c\xbb\
+\xe8\xe0\xe0\xe0\x70\x84\x73\x44\x0b\x90\x60\x7e\x70\xc7\xfb\x09\
+\x7b\x1b\xe3\x86\x08\x3a\x4a\x85\x91\x6a\x38\x1b\xb4\x6b\x4b\x21\
+\x4c\x5a\x5c\x69\x04\x95\x55\x54\x51\xf3\x2f\x23\xb2\x44\x94\x3c\
+\xaf\x57\xf3\x56\xcf\xbb\x6e\xc3\x61\xb8\x5d\x07\x07\x07\x87\x23\
+\x9e\xa3\x46\x80\x44\x23\x6d\xd2\x07\x7d\x0c\x9c\x6a\xd0\x53\x50\
+\x06\x83\x39\x45\x95\x9e\xa8\xf6\x54\xe8\x89\xaa\x28\x7a\x8c\x7f\
+\x55\x51\x8f\x6a\x1d\x68\xbd\xaa\xee\x00\xaa\x54\xb5\x1c\x65\xad\
+\xaa\xae\x33\xc6\xac\x4b\x6a\xe4\x6b\x67\x85\xe1\xe0\xe0\xe0\xd0\
+\x3a\xfe\x1f\xf8\xaa\xbf\xdc\xaf\x85\x0e\x7d\x00\x00\x00\x00\x49\
+\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\xbe\x5e\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x01\x72\x00\x00\x01\x72\x08\x06\x00\x00\x00\xe8\x24\x51\x09\
+\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x4f\x00\x00\x0b\x4f\
+\x01\x6d\xd8\x46\xcc\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
+\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
+\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x20\x00\x49\x44\
+\x41\x54\x78\x9c\xec\xbd\x77\x7c\x5b\xc7\x95\x2f\xfe\x9d\x8b\x4e\
+\x80\x04\x49\x10\x60\xef\x62\x97\xa8\x42\xf5\x5e\x6d\xc9\xea\xb6\
+\xe5\x38\x8e\xed\xbc\x97\xdd\xec\x6e\xe2\xc8\xde\xdd\xb4\x4d\x5c\
+\x96\xc9\xbe\x64\x7f\xbf\xb7\xd9\xcd\xfb\xbd\xdd\x24\x9b\xe6\x64\
+\x63\x27\xd9\xc4\x49\x6c\x75\xb9\xc5\xb2\x55\xa8\x5e\x29\x8a\x4d\
+\x24\xc5\x4e\x82\x20\x08\x92\x20\x08\xa2\xcc\xef\x0f\x92\x22\x3a\
+\x70\x2f\x2e\x40\x80\xc4\xf7\x63\x53\xc0\xbd\x73\x66\xce\x1d\xdc\
+\xfb\xbd\x67\xce\x9c\x39\x43\x10\x43\x0c\x11\x07\x4a\x1e\xf9\xca\
+\x05\xb5\xdd\xca\xa8\x40\x6d\x2a\x1b\x25\x2a\x50\xbb\x0a\xa0\x2a\
+\x30\x8c\x1a\x94\xaa\x40\x69\x0a\x08\x92\x41\x21\xa3\x00\x28\x68\
+\x3c\x28\x84\x84\x80\x00\x48\x04\x05\x00\x2a\xa6\x80\x7c\xaa\x52\
+\x23\x40\x27\x26\x8f\x63\x08\x20\x94\xc2\x6e\x25\x04\x23\x00\x60\
+\xb7\xc3\x44\x00\x1d\x60\xd7\x51\x0a\x1d\x18\x46\x4b\x01\x1d\x81\
+\x4d\x47\x29\x74\x0c\xa0\xa3\x02\xcb\xc0\xd9\x7f\xdf\x35\x00\x10\
+\x3a\x1b\xbd\x12\x43\x0c\xde\x40\x66\x5b\x81\x18\xe6\x27\xd6\x7f\
+\xe1\x6c\x92\x48\x24\x2a\x20\xc4\x5e\x40\x18\x64\x10\xd0\x74\x3b\
+\x50\x00\x3b\x29\x00\xec\x25\x00\x14\x8e\xe5\x29\x75\xe5\x4e\xfa\
+\xf0\x1f\xea\xf8\xdd\xe9\x34\x75\x39\x4a\x1d\xc5\x9c\x65\xe8\xcc\
+\x07\x27\x19\xea\x5a\x03\x9d\x00\x45\x27\x80\x16\x50\xb4\x80\xa0\
+\x07\xc4\xde\x0d\x08\x5a\x00\xb4\x9c\x4b\x3d\xd7\x86\xea\x6a\xbb\
+\xef\xab\x8f\x21\x06\x7e\x11\x23\xf2\x18\x42\x8a\x1d\x5f\x3b\x97\
+\x41\xcd\xcc\x22\x4a\xc8\x62\x10\x2c\x02\xe8\x42\x00\x25\xa0\x90\
+\xcd\x94\x72\xa0\xd5\x99\x3f\x70\x3c\xef\xc6\xe3\x7e\x89\xdc\x95\
+\xc4\x9d\x0a\x3b\xcb\x38\x90\xb8\xfb\x57\x37\x22\x77\x39\xe4\xaa\
+\x3b\xc6\x00\xda\x08\xa0\x16\x14\xb7\xed\x0c\x73\x9b\x99\xa0\x77\
+\xce\xbf\xfe\x48\xb7\x9b\x3a\x31\xc4\xc0\x13\x62\x44\x1e\x03\x2f\
+\xd8\x5c\xfd\x91\x50\x38\xac\x58\xc4\x50\xfb\x32\x0a\xba\xc8\x0e\
+\x2c\x22\x0c\x16\xc3\x4e\x55\x8e\xe5\xa8\x1b\x79\xce\x7c\xe1\x8d\
+\xc8\x3d\x5a\xe3\x70\xb2\xae\x43\x48\xe4\xee\x32\x93\xed\xea\x40\
+\xe8\x2d\x80\xdc\x21\xa0\x77\xec\x84\x5e\x97\xa4\xc9\xee\x9c\xa9\
+\xde\x62\x75\x55\x33\x86\x18\xd8\x22\x46\xe4\x31\x70\xc2\xe6\x2f\
+\xde\x55\x08\x65\x23\x4b\x08\x21\xeb\x28\xc5\x7a\x42\xb1\x1e\xa0\
+\x89\x80\x2b\xcf\x79\x20\x42\xa7\x42\x2e\xe4\xea\x89\xc8\xdd\xac\
+\x6b\x57\x12\x77\x91\xf1\xe3\x56\x99\x29\xed\x8f\xc8\x3d\xb5\xea\
+\x8f\xc8\x3d\x8c\x03\xbc\xb8\x85\x28\x85\x11\xc0\x4d\x0a\x7a\x0e\
+\x76\x9c\x27\x60\xce\xd7\xfc\x7c\xe7\xa0\x5b\x05\x31\xc4\xe0\x07\
+\x31\x22\x8f\x21\x20\x3c\xf2\xf7\x97\xb3\x41\xb0\x11\xc0\x5a\x80\
+\xac\xa7\xa0\x15\x00\x15\x3c\x2c\xe0\x40\x62\x7e\x89\xdc\x03\x11\
+\x3a\x17\xf5\x68\xd1\xba\xcb\x84\x80\xc8\x7d\xeb\xee\x5e\x4f\x90\
+\x44\xee\xaa\xbb\x8d\x82\xd6\x12\xca\x9c\xa3\x84\xd6\x50\x8a\x8f\
+\x2f\xfd\xec\xb1\x4e\xb7\x0a\x63\x88\xc1\x05\x31\x22\x8f\xc1\x23\
+\x36\x57\x7f\x24\x94\x8e\xc4\xaf\xb6\x11\xba\x87\x00\xdb\x01\xba\
+\x0c\x00\x61\xe7\x63\xf6\xe4\xa5\xf6\x47\xe4\x81\x13\xa1\x77\xff\
+\xf8\xc3\x96\x9c\x0f\x3a\x11\xb9\x1b\xab\xbb\xcb\xf8\x1d\x4d\xcc\
+\x7c\x09\x7c\x34\x31\xa3\x4b\x20\x2f\x21\x02\xb4\x50\xe0\x38\xec\
+\xf4\x58\x92\x9c\x39\x7b\xea\xdf\x1f\x33\xbb\x55\x17\xc3\xbc\x47\
+\x8c\xc8\x63\x78\x88\xc7\xbe\x7a\x39\xcd\x06\xf2\x08\x28\xd9\x03\
+\xd0\x47\x28\xa0\x9c\x39\x1b\xbc\x6b\x62\xf2\x1c\x7f\x16\x2d\x57\
+\x22\x77\x93\x61\x43\xe4\x6e\xea\x79\xb5\xae\xbd\xe8\x3e\xa3\x4b\
+\xe0\xa3\x89\x87\x0d\x8c\x81\xe0\x02\xa5\xf4\xb8\x00\xcc\x3b\x17\
+\x7e\xbe\xfb\x81\x87\xca\x63\x98\x87\x88\x11\xf9\x3c\xc7\x8e\xaf\
+\xde\x58\x42\xa8\xed\x29\x42\x70\x00\x40\x19\x80\xa0\x2c\x5a\xe7\
+\xaf\x3c\x58\xb4\x88\xaa\x88\x15\x77\x19\x9e\xdd\x42\xce\x32\xa4\
+\x0e\x76\x7a\x84\x12\xfc\xee\xf2\xeb\x7b\x6f\x21\x86\x79\x8b\x18\
+\x91\xcf\x43\x3c\xfa\xf5\x9b\x15\x84\xda\x0e\x81\xe2\x53\x14\x28\
+\xe5\xd3\x35\xe1\xfc\x75\x16\x88\xdc\xb7\x45\xeb\xae\x65\x54\x13\
+\xb9\x53\xbb\x6d\x00\x8e\x02\xe4\xad\x4b\xaf\xef\x3d\x87\x18\xe6\
+\x15\x62\x44\x3e\x4f\xf0\xc8\x57\x6e\xe5\x13\x62\xdf\x47\x08\x7d\
+\x1e\x93\xfe\x6e\x9f\x16\xad\xfb\x51\x7f\x44\xee\x41\x26\x16\xb1\
+\xc2\xc9\x2d\xe4\xfe\x1a\xf2\x37\x9a\x98\xfc\xe2\x70\x29\x75\x20\
+\xf4\x2d\x86\xb1\xfd\xee\xe2\xcf\x1e\xbf\xe7\xa6\x54\x0c\x73\x0e\
+\x31\x22\x9f\xc3\xd8\xfd\x0f\xb7\x93\x6c\x76\xeb\x73\x00\x3e\x07\
+\x60\xf1\xcc\x19\x7f\x64\xe2\x9b\xc8\xbd\x59\xc1\x6e\x32\xb1\x88\
+\x15\x36\x11\x2b\x0e\x2a\x79\xfe\x3d\x7c\xe9\xee\xfe\xf5\xe1\xb7\
+\x9b\xa0\xe4\x75\xf1\x04\xf3\xe6\xb9\xdf\xec\xd1\xbb\x29\x18\xc3\
+\x9c\x40\x8c\xc8\xe7\x20\x76\xff\xc3\xb5\x2a\xbb\x9d\xf9\x2b\x10\
+\x3c\x0b\xd0\x38\xea\x81\x7c\xa6\x3f\x06\x46\xe4\xc1\x5b\xb4\x93\
+\xe7\xfc\x11\x39\x3f\x16\xad\x7f\x22\x77\x27\x4f\xff\x44\xee\xd9\
+\x0a\x76\x68\xd2\x83\x2e\xc1\x45\xac\x78\xd2\x85\x03\x91\x4f\x9f\
+\x35\x83\xe2\x28\x18\xfc\xe4\xca\xeb\xfb\x3f\x8c\xe5\x8b\x99\x5b\
+\x88\x11\xf9\x1c\xc1\xee\x7f\xb8\x9d\x64\x87\xfd\x10\xec\xf4\x30\
+\x08\x16\xce\x9c\x71\xf5\x31\x53\x0f\xff\xf0\x63\xd1\x3a\x7f\x0d\
+\x9c\xc8\xb9\x58\xb4\x0a\xa9\x10\x4a\x85\x08\x71\x52\x06\x0c\x21\
+\x90\xcb\x84\x00\x00\xb1\x90\x40\x22\x62\x40\x01\xc4\x49\x04\x10\
+\x08\x26\x6f\x71\x9b\x8d\x62\x6c\xdc\x0a\x0a\x60\xc2\x62\x83\xd9\
+\x32\x99\x0e\xc5\x68\xb2\x81\x52\x8a\x51\x93\x05\x43\xa3\x16\x8c\
+\x9a\xac\x1e\xf5\x9f\xbd\x88\x95\x90\x8c\x26\x1a\x09\xf0\xba\xd0\
+\x66\xff\xc5\x85\x37\x1e\xef\xf7\xa0\x64\x0c\x51\x86\x18\x91\x47\
+\x39\x1e\xfb\xfa\xed\x8d\x20\xf4\x4b\x94\xd2\xfd\x00\x15\xbb\x15\
+\xf0\xeb\x63\xe6\xcf\xa2\x75\xfe\xca\xde\xa2\x15\x09\x09\xd2\x92\
+\x25\x48\x4b\x96\x20\x35\x59\x0a\x4d\x92\x18\x49\xf1\x62\x24\xc8\
+\x85\x50\xc6\x89\x90\x20\x17\x4e\xfd\x2f\x82\x80\x09\xcd\xad\x6b\
+\xb3\x53\x18\x46\x2d\x18\x36\x4e\xfe\x3f\x34\xf5\x79\x70\xc4\x8c\
+\xfe\xc1\x71\xf4\xe8\xc6\xd1\x33\x60\x42\xef\xa0\x09\x16\xab\xdd\
+\xe5\xfd\xe3\x8f\xc8\x5d\xfb\xde\x45\xc6\x4f\xdf\xbb\xc9\x70\x27\
+\xf2\xe9\xa3\x13\x00\x39\x02\x4a\xfe\xe3\xca\x7f\xed\xff\x04\x31\
+\x44\x2d\x62\x44\x1e\x85\xa8\xae\xa6\xcc\x25\xd3\xed\xdd\x20\xf8\
+\x06\x01\x5d\x03\x78\x77\x4d\x44\x1a\x91\x8b\x04\x0c\x72\x53\x65\
+\xc8\xcf\x88\x43\x56\x8a\x14\x69\xaa\x49\xd2\x4e\x4f\x96\x20\x39\
+\x41\x0c\x12\x25\x77\x24\xa5\x80\x6e\xd8\x8c\x9e\x01\x13\xba\x07\
+\x4c\xe8\xd5\x99\xd0\xde\x37\x86\xd6\xee\x11\xb4\xf6\x18\x27\x49\
+\x3e\x24\x44\xee\xb9\xef\x7d\x13\x79\x20\xa3\x09\xdc\x00\xe8\xff\
+\x51\x3c\x48\xfa\xcd\x99\x33\xb1\xfc\x2f\xd1\x86\x28\x79\x6c\x62\
+\x00\x80\xcd\xd5\x77\x15\xf2\x71\xdb\x33\x14\xf4\xcb\x00\x8a\x9d\
+\xe8\xc0\x23\x91\x73\x8b\xc1\x76\x3f\xea\x8f\xc8\x3d\xc8\x50\x0a\
+\x55\x82\x18\xb9\x69\x32\xe4\xa6\xc9\x50\x94\x25\x47\x6e\x5a\x1c\
+\xf2\xd3\x64\x10\x09\x19\x9f\xd7\x19\xed\xb0\xd9\x29\xfa\x06\xc7\
+\xd1\xda\x3d\x8a\x86\xf6\x61\xb4\x76\x8f\xa2\xb5\x67\x14\x6d\x3d\
+\x23\x93\xdd\xeb\xe3\x25\xca\x43\xc4\x8a\x5b\xbd\xde\x88\xdc\xd3\
+\x68\x82\x02\x6d\xa0\xf8\x4f\x1b\x43\x7e\x7c\xf3\x97\x07\x87\x02\
+\xb9\xde\x18\x66\x1f\x31\x22\x8f\x02\x3c\xf6\xd5\xbb\x69\x8c\xc8\
+\xfa\x37\x76\x8a\xc3\xa0\x48\x9e\x39\xe3\xec\x9a\x08\x07\x91\x7b\
+\xb6\x0a\x29\x24\x62\x06\x25\xd9\x0a\x2c\x2c\x88\x47\x79\xae\x02\
+\xe5\x79\x0a\x28\xa6\xfc\xd6\x31\x4c\x62\x64\xcc\x82\xda\x96\x21\
+\xdc\x69\x1e\xc2\xad\x66\x3d\xee\xb5\x0d\x61\x7c\xc2\x36\x79\xd2\
+\xa3\x35\x0e\xf0\x34\xd1\xe9\xd3\xa5\xe5\x52\xe1\x74\xb3\xc3\xa0\
+\xf6\x5f\x32\x42\xe1\xf7\xae\xfc\xe2\x40\x47\x40\x17\x18\xc3\xac\
+\x21\x46\xe4\x11\x8c\x9d\xff\x70\x23\x4f\x00\xc1\xab\x20\x78\x0e\
+\xa0\x22\x6f\x0f\x5e\xe0\x44\xee\x4c\xc0\x81\x11\xb9\xab\x35\x3e\
+\xf9\x37\x39\x5e\x84\xe2\x6c\x39\x2a\xf2\xe2\xb1\x30\x5f\x81\xe2\
+\x6c\xf9\x9c\xb7\xb4\xf9\x86\xcd\x4e\xd1\xde\x67\xc4\xed\x26\x3d\
+\x6e\x37\xeb\x71\xa3\x51\x87\x1e\x9d\xc9\xb9\xd0\xac\x11\xf9\xc3\
+\xef\x13\x20\x78\xc3\x6e\xc1\x3f\xdd\xf8\xcd\x13\xb1\x94\x00\x11\
+\x8a\x18\x91\x47\x20\x76\x7d\xed\x56\x96\x40\x80\xaf\x52\x90\xbf\
+\x06\x20\x01\x1c\x6c\x35\x3e\x88\xdc\x8f\x75\xed\xc9\x1a\x17\x30\
+\x04\x65\xb9\x72\xac\x2c\x4f\xc4\xb2\xa2\x04\x2c\xc8\x94\x47\x8d\
+\x3f\x3b\x9a\xd0\xa5\x1d\xc3\x95\x7b\x03\x38\x7f\xbb\x1f\x97\xee\
+\x6a\x61\xb1\xcc\x6c\x36\xe4\x8d\xc8\x7d\xfb\xc7\xa7\xfe\xfa\x24\
+\x72\xb7\x71\x80\x27\xff\xbe\x85\x50\xfc\xc2\x42\xec\xdf\xbe\xf5\
+\xab\xa7\xba\x02\xbe\xa0\x18\xc2\x82\xd8\xa3\x18\x41\xd8\xf5\x8d\
+\xeb\x6a\x86\x88\xbf\x0c\xd8\x5f\x84\xd3\x0e\x3a\x7e\x88\xdc\xcb\
+\xc3\x18\xec\x44\x67\x5a\xb2\x04\xcb\x8a\xe3\xb1\x74\x41\x02\x96\
+\x97\x28\x11\x27\x15\x20\x86\xf0\x61\x7c\xc2\x86\x3b\xcd\x7a\x5c\
+\xb9\x37\x80\x8f\x6f\xf4\xe1\x41\xef\x28\xc2\x41\xe4\xde\xe6\x5b\
+\xa6\xfe\x9b\x00\xf0\x4b\x42\x49\xf5\xb5\x37\x9f\xe8\xe1\x70\x59\
+\x31\x84\x00\x31\x22\x8f\x00\x1c\xfc\xc6\x3d\x95\x85\x58\x0f\x53\
+\xe0\xef\x01\xc4\xcf\xe6\x62\x9a\x05\x99\x32\x6c\x5c\x92\x8c\xb5\
+\x15\x89\xc8\x52\x4b\xd9\x5e\x4a\x0c\x21\xc4\x83\xde\x51\x7c\x7c\
+\xa3\x17\x1f\x5c\xe9\x41\xe3\x03\xc3\xd4\xd1\x59\xcb\xd8\x38\x46\
+\x81\x9f\x89\xad\x96\xef\x5e\xfa\xed\x33\x7d\xec\xae\x24\x06\xbe\
+\x11\x23\xf2\x59\xc4\xde\xea\xab\x71\x30\xcb\xbe\x42\x89\xfd\x2b\
+\x00\xe2\x67\x9e\x2b\x0f\x2e\x92\xc9\x7f\x9c\x8e\x39\x17\xf7\xe7\
+\x56\x71\x28\xe3\x42\xe4\xb9\xa9\x32\x6c\xa8\x4c\xc2\xe6\x25\x49\
+\x31\xf2\x8e\x12\xf4\x0c\x8c\xe1\xec\xcd\x3e\x7c\x78\xb5\x1b\x37\
+\x9b\xa6\x36\x15\xf2\x64\x5d\x7b\x21\xf2\x00\xfd\xe3\x4e\x32\x2e\
+\x44\x3e\xfd\x61\x84\x02\xff\x5b\x3a\x4e\xff\xb5\xe6\xad\xa7\x4c\
+\x1e\x04\x63\x08\x03\x62\x44\x3e\x4b\xd8\xf3\x72\xed\x5e\x4a\xf1\
+\x7f\x09\x90\xe7\x3e\x61\x15\x38\x91\x07\xee\x1f\x77\x28\x43\x81\
+\xec\x54\x29\x36\x56\x26\x61\xe3\xe2\x24\xe4\x68\x62\xe4\x1d\xcd\
+\xe8\x1e\x18\xc3\x07\x57\xba\x71\xe2\x5c\x07\xda\x7a\x46\x1e\x1e\
+\xe7\x61\xa2\xd3\xf9\xbc\x67\x22\x9f\x3a\x4e\x3b\x01\xf2\xf2\x8d\
+\x37\x9f\x7c\x23\xb6\xfc\x3f\xfc\x88\x11\x79\x98\xb1\xfb\xd5\xdb\
+\x55\x84\x32\xdf\x07\xc5\x06\x57\x02\xf6\x46\xe4\x7c\x4d\x74\xca\
+\x24\x02\x6c\x5e\x92\x84\xed\xcb\x92\x51\x9e\xa7\x08\xe6\x32\x62\
+\x88\x50\xd4\xb7\x0d\xe1\xed\x8f\x1f\xe0\xbd\x4b\x5d\x30\x8e\x5b\
+\xc1\x27\x91\xfb\x8e\x80\x9a\xfa\x4e\x70\x19\x04\x7f\x7b\xe3\x57\
+\x4f\xd5\x04\x71\x19\x31\xb0\x44\x8c\xc8\xc3\x84\xc7\xbf\x59\x97\
+\x6e\x21\xb4\x9a\x02\x7f\x81\xe9\xbd\x2e\xc3\x44\xe4\x45\x99\x71\
+\xd8\xb5\x4a\x85\xcd\x4b\x93\x21\x13\xc7\x42\x04\xe7\x03\x26\x2c\
+\x76\x9c\xbd\xd9\x8b\xb7\x3f\x6e\xc3\xe5\xbb\x5a\x87\x33\xfe\x46\
+\x72\x81\x10\x39\x75\x3d\xe5\xe6\xa9\x07\xb5\xbf\x29\x14\x31\x5f\
+\xbb\xf2\xcb\xa7\x7a\x39\x5e\x42\x0c\x2c\x10\x23\xf2\x10\x63\xd7\
+\xe1\x26\x89\x30\x61\xe2\xcb\x00\xbe\x01\x40\xe1\x7f\x55\xa4\xbb\
+\x4f\x93\x4b\xc4\x8a\x5c\xc2\x60\xc3\xe2\x24\xec\x59\x9d\x82\x82\
+\x0c\x99\xdb\xf9\x18\xe6\x0f\xda\xba\x47\x70\xfc\x7c\x07\x8e\x7c\
+\xf2\x00\x86\xd1\xc9\x2d\x3f\xbd\x11\xb9\x9f\x88\x95\x99\xef\x2e\
+\x1f\x3d\xa5\xde\x25\xc0\x08\x05\xf9\xee\xc4\x04\xfe\xed\xee\x5b\
+\x4f\x4d\x04\x7f\x25\x31\x78\x43\x8c\xc8\x43\x88\xfd\x2f\xdf\x59\
+\x6b\x67\x98\x9f\xc2\x8e\x72\xc0\x85\xb2\x5d\x48\xd9\xbb\x7f\xdc\
+\xd3\x84\x95\x77\x22\xcf\x4c\x91\xe0\xe0\x06\x0d\xb6\x2f\x4b\x82\
+\x58\x34\xbf\xad\xef\x51\x93\xf5\x61\x77\xca\x65\x02\x30\xf3\x3c\
+\xf0\x7d\x7c\xc2\x86\x93\xe7\xdb\xf1\xe6\xbb\xf7\xd1\xd1\x3b\x3a\
+\x75\x34\xa8\x89\xce\x87\x2f\x03\xf7\xe9\x18\xc7\xfb\x9a\x36\x81\
+\xd0\xbf\xba\xf9\xe6\xa7\xcf\x04\xa1\x7e\x0c\x3e\x30\xbf\xef\xec\
+\x10\x61\x6f\xf5\xd5\x38\x58\xe3\x5e\x03\xe8\x57\x40\xf1\x30\xf8\
+\x9a\x4b\xb2\x29\x5f\x13\x9d\x33\xc5\x29\x16\xe6\xcb\xf1\xf8\x06\
+\x0d\x56\x95\x29\xe7\xc4\x42\x1d\xf3\x84\x1d\x83\x23\x13\xd0\x8f\
+\x58\x60\x18\xb5\x40\x3f\x3a\x81\xc1\xe1\xc9\x6c\x84\x43\xa3\x16\
+\x0c\x0e\x9b\x61\x34\x59\x31\x3a\x95\x86\xd6\x3c\x61\xc3\x84\xd5\
+\x0e\xab\x8d\xc2\x64\xb6\xc1\x75\x64\x33\xdd\xcb\x0c\x43\x20\x97\
+\x4c\xfe\x24\x62\x11\x81\x44\x24\x80\x5c\x26\x44\xa2\x42\x84\x04\
+\xb9\x08\x4a\xb9\xc3\xbf\x0a\x11\x92\xe3\x45\xd0\x24\x4b\x91\x9a\
+\x24\x9d\x33\x2b\x57\xed\x94\xe2\x93\x1b\xbd\xf8\xf5\xe9\x66\xdc\
+\x6c\x1c\x70\x3a\x17\x1a\x22\x9f\x3a\x40\xf0\x53\x93\x58\xf6\x95\
+\x86\xd7\xf7\x8f\xb8\x16\x8f\x21\x38\xcc\x81\x47\x3e\xb2\xb0\xe7\
+\x95\xba\xc7\x08\xf0\x23\x00\x39\xee\x64\xc2\x2f\x91\x13\x86\x60\
+\x5d\x85\x12\x8f\x6f\x50\xa3\x24\x3b\x8e\x9f\x0b\x08\x23\xcc\x13\
+\x76\x74\x6a\x4d\xe8\x1a\x18\x9f\xfc\x57\x6b\x42\xa7\x76\x1c\x1d\
+\xfd\x63\x18\x1a\xb1\x38\x94\xf4\x1f\x35\xe1\x4e\x26\x9e\x89\xdc\
+\x59\x34\xf0\xcd\x24\x18\x42\xa0\x4a\x14\x23\x5d\x25\x45\xba\x4a\
+\x86\xf4\x14\x19\xd2\x92\x65\xc8\x4c\x91\xa1\x20\x53\x81\x04\xb9\
+\x88\xc5\x95\x47\x0e\x6a\xef\xeb\xf1\xe6\xe9\x26\x7c\x74\xad\x1b\
+\x76\x3b\xe5\x1a\xb1\xe2\x2e\xe3\xda\xd5\x33\x07\xba\x29\xa1\x5f\
+\xba\xf5\xeb\x4f\xbf\xcd\xcf\x15\xc4\x00\xc4\x88\x9c\x37\x1c\xac\
+\xbe\xa5\xb1\x5b\x45\xdf\xb3\x03\xcf\xcd\x1c\xf5\x47\xe4\xdc\x26\
+\x3a\x45\x42\x82\x47\x57\xa8\x70\x70\x83\x1a\x69\x49\xee\x29\xc8\
+\x23\x11\x5d\x03\xe3\x68\x68\x1f\x45\x63\xc7\x28\xee\x77\x19\xd1\
+\xa1\x35\x41\xab\x9f\x00\x9b\xc9\xb6\x99\xee\x74\x9b\x44\x80\x2f\
+\x22\x77\x93\xe1\x40\xe4\xae\xc2\xae\x13\x7f\x9a\x24\x29\x0a\x32\
+\x15\x28\xcc\x50\xa0\x30\x2b\x1e\x85\x99\x0a\xe4\xa6\x29\x20\x14\
+\x44\xc7\x23\xd6\xa5\x35\xe2\xcd\x53\x4d\x78\xe7\xe3\x36\x58\xac\
+\x76\x87\x33\xae\xd7\x3b\x73\x6c\xfa\x63\xc0\x44\xee\x5c\xc7\x5b\
+\x76\x81\xe5\x4b\xb7\xdf\x78\x3e\xb6\xb1\x05\x0f\x88\x8e\xbb\x2c\
+\xc2\xb1\xef\xd5\xfa\x67\x41\xed\xff\x07\x80\xca\xb7\x55\x18\x1c\
+\x91\x0b\x05\x04\xdb\xab\x92\xf0\xf4\x16\x0d\xd4\x89\x91\x4b\xe0\
+\xda\xa1\x09\x34\x76\x8c\xa2\xa1\xdd\x88\x86\x8e\x11\x34\x76\x18\
+\x31\x32\x36\x9d\xe2\xda\x81\x56\xdd\x87\x1a\x93\xe7\xc2\x42\xe4\
+\xae\x23\x21\xf7\x7a\x83\xdd\x63\x54\x24\x64\x50\x98\xa9\xc0\xa2\
+\xc2\x44\x54\x16\x26\x61\xd1\x82\x44\xa8\x13\x23\x3b\x66\xbf\x67\
+\x60\x0c\x3f\x3b\x5a\x8f\xe3\xe7\x1e\xc0\x66\xa3\xf0\xf6\xe2\x72\
+\xfc\xc8\x7e\x8f\xd1\x87\x52\x03\x84\xe0\xa5\x9b\xbf\xfe\xf4\x6f\
+\xf8\xd2\x7f\xbe\x22\x46\xe4\x41\xe0\xd0\xd7\xef\x2b\xcd\x62\xf3\
+\x7f\x00\xe4\x59\x8f\x59\x03\x9d\x0f\x78\x25\x72\xef\x56\xcb\xa4\
+\x0c\x43\x08\xb6\x2c\x49\xc4\x33\xdb\x52\x91\x96\x1c\x79\x04\xae\
+\x1d\x9a\xc0\xf5\x46\x03\xae\x37\x1a\x70\xb3\xd9\x80\xc1\xe1\x49\
+\xb7\x08\xa7\x7d\x2e\xc1\x2d\xf5\xae\xbb\x88\x3f\x32\xe1\x4e\xe4\
+\xce\x45\xbd\x13\xb9\x27\xdd\xd3\x54\x32\x2c\x5e\x90\x88\x85\x05\
+\x89\x58\x5c\x94\x8c\xc2\xcc\xf8\x88\x9c\xd3\xe8\xe8\x1b\xc5\x4f\
+\x8f\xd4\xe3\x74\x4d\x3b\xec\x36\xc7\xfe\xe5\x87\xc8\x5d\x9e\x85\
+\xb7\xec\xc4\xfe\xd7\x77\x7e\xf3\x99\xd8\xe6\xd0\x1c\x11\x81\xb7\
+\x50\x74\x60\xcf\xab\xf7\xd6\x30\xc0\x9b\x00\x0a\x00\xc0\x1f\x91\
+\x07\x46\x26\xce\x0f\x04\x21\xc0\xda\x85\x09\x78\x6e\x7b\x1a\xb2\
+\xd4\x12\x1e\xb5\x0f\x0e\x26\xb3\x0d\xf7\x1e\x18\x71\xa3\xc9\x80\
+\x6b\x8d\x06\x34\x77\x19\xa7\x36\x4c\x60\xe1\x9a\x70\xfe\xe3\x2c\
+\xe5\x89\xc8\xa9\x87\xbe\x75\xa8\xc3\xf7\x48\xc8\x41\x26\xc0\xbe\
+\x7f\x78\x96\x95\xee\xec\x47\x13\x89\x0a\x31\x96\x96\x24\x63\x45\
+\x99\x0a\x1b\x16\xa7\x42\xa5\x8c\x9c\xdf\x19\x00\xda\x7a\x46\xf0\
+\x8b\x63\x0d\x38\x79\xa1\x1d\x76\xfb\x8c\x85\x0e\xc0\x4b\xdf\xc3\
+\xef\xb3\xe0\x26\x43\x01\x4a\xec\xed\x02\x4a\x9e\xbf\xf1\xdb\x67\
+\x3e\xe6\x51\xfd\x79\x83\x18\x91\xb3\xc4\xe6\xea\x8f\x84\x09\xf6\
+\xb4\x57\x40\xf1\x0a\x00\xb7\x85\x3d\xde\xac\x6b\xb6\x13\x9d\x4b\
+\x8b\x14\xf8\x8b\x5d\xe9\xc8\x4b\x8b\x8c\xa1\x78\x6b\xcf\x18\xce\
+\xdd\xd1\xe3\x6a\x83\x01\x0d\xed\x46\xd8\xed\x93\x7e\x54\xe7\x07\
+\xd2\x1f\x91\x53\x0f\x45\xfd\x59\xd7\xae\x44\xe8\x22\x13\xe5\x44\
+\x3e\x79\x7c\xf2\x18\xc3\x10\x54\xe4\x27\x62\xcd\x42\x35\x56\x2f\
+\x54\xa3\x24\x37\x21\x62\x42\x26\x9b\x3a\x0c\xf8\xfe\x6f\x6e\xe3\
+\xd2\x5d\x87\xfc\x58\x3c\x12\xf9\xd4\x1f\x3b\x08\xfd\x0f\xab\x45\
+\xf4\xd5\x58\xdc\x39\x3b\x44\xc6\x5d\x12\x25\xd8\xfb\x4a\x7d\x3e\
+\xc3\xe0\x4d\x4a\xe9\x5a\xa7\x13\x01\x91\x49\x60\x44\x9e\xa1\x92\
+\xe0\xf9\x47\x52\xb1\x7e\x91\x92\x47\xcd\xb9\xa1\xbd\xcf\x84\x4f\
+\x6e\xe9\x71\xe6\xd6\x20\xda\xfb\xc6\x26\x0f\x7a\xd5\xdd\xe9\xdb\
+\xd4\x21\xcf\x44\x08\x78\x27\x72\xbe\xf7\xb9\x74\x3b\xeb\x95\x4c\
+\xfc\xbd\x84\x66\xbe\x78\x27\x72\x3e\x46\x13\x33\xba\xa8\x93\xa4\
+\xd8\x52\x95\x8e\x6d\xcb\xd3\xb0\xa8\x30\x39\x22\x5c\x30\x97\xee\
+\xf6\xe3\x7b\x6f\xde\x44\x4b\xd7\xb0\xd3\x4b\x68\x06\x14\xee\x5d\
+\xe7\x8f\xc8\x9d\xeb\xb0\x13\x7a\x85\xb1\x09\x9e\xbd\xf5\xbb\xa7\
+\x1b\x79\x54\x7d\x4e\x23\x02\x6e\x8d\xe8\xc0\xbe\xd7\x1a\x3e\x4f\
+\x28\xfd\x3e\x05\xe4\x9e\xac\x48\xc0\x9d\xc6\x7c\x93\x89\xf3\x6d\
+\x2e\x15\x33\x78\x7c\x7d\x0a\x0e\x6d\x52\x43\x24\x9c\xbd\x9f\xa5\
+\xbd\xcf\x84\x4f\x6e\xeb\x71\xe6\x86\x0e\x1d\xfd\xe3\x0f\xf5\x63\
+\x6b\xd1\x4e\x9e\x0b\x8f\x45\xeb\x8b\xc8\xdd\x64\xf8\x20\xf2\x80\
+\x5f\x42\x33\xba\x70\x21\x72\x47\xfd\x35\x49\x52\x6c\x59\x96\x8e\
+\x6d\x2b\xd2\x67\x9d\xd4\xad\x36\x3b\xfe\xf0\x61\x0b\x7e\xf4\xc7\
+\xbb\x18\x19\x73\x35\x9c\xbd\x10\xb9\x4b\x3f\x7a\x33\x00\xe8\x4c\
+\xf9\x51\x4a\xc9\x8b\x77\x7e\xf7\xcc\x2f\xf8\xd5\x7e\x6e\x22\x46\
+\xe4\x7e\xb0\xb9\xba\x55\x9a\x60\x37\xff\x07\x01\xfe\xc2\x3b\x99\
+\x70\x27\x72\x86\x21\xd8\x51\x95\x84\xe7\x76\x68\xa0\x94\xcf\xce\
+\x1e\x97\x3a\xc3\x04\x4e\x5f\x1e\xc0\x07\xd7\x75\xe8\x1e\x30\xc3\
+\x5d\xf7\x99\xbf\x91\x47\xe4\xbe\xfb\xde\x33\x91\xbb\xea\xee\xa9\
+\x06\xcf\xba\x3b\x34\xe9\x2e\x13\x92\xd1\x84\x73\x3d\x00\x90\x91\
+\x22\xc3\xf6\x95\x99\xd8\xb7\x21\x1b\x59\x1a\x39\x66\x0b\x83\x86\
+\x71\xfc\xe0\x0f\xb5\x38\xf2\x71\x1b\xec\xd3\xd7\x1e\x78\xc4\x8a\
+\xc3\x71\x8f\x44\x3e\x8d\x37\xe4\x36\xd1\x5f\xc7\x52\xe4\xfa\x46\
+\x8c\xc8\x7d\x60\xff\xcb\xcd\xd9\x44\x60\xfd\x23\x05\x56\x00\x60\
+\x41\x26\xee\x37\xaf\x27\x22\x2f\xc9\x8e\xc3\x0b\xfb\x33\x90\x9f\
+\x1e\x7e\x3f\xb8\xdd\x4e\x71\xb9\x7e\x18\xa7\x2f\x69\x71\xb9\xde\
+\x00\x9b\xdd\xf1\x9a\xfc\xbd\x84\x66\x3e\x78\x23\xf2\x58\xc4\x8a\
+\x27\xdd\x5d\x64\xfc\x10\xb9\xf7\xfb\x69\x52\x86\x10\xa0\xaa\x34\
+\x05\xfb\x37\xe4\x60\x73\x55\x3a\xc4\xb3\xb4\xf2\xb4\xfe\xc1\x10\
+\xbe\xfb\x8b\x6b\xa8\xbd\x3f\x18\x50\xdf\xbb\x77\xab\x4f\x22\x07\
+\x60\xbf\x01\x1b\x7d\xe2\xf6\x5b\xcf\xb7\xf2\xab\xf9\xdc\x41\x8c\
+\xc8\xbd\x60\xdf\x6b\xf5\x5b\x08\xc8\x7f\x03\x54\xf3\xf0\x20\x47\
+\x22\x77\xbd\xa1\x25\x22\x06\x4f\x6f\x4d\xc1\xe3\xeb\x53\xc0\x30\
+\xe1\xfd\x09\x74\x06\x0b\x3e\xbc\xa1\xc3\xf1\x1a\x2d\xfa\xf5\x13\
+\x01\x5a\x85\x9e\x89\xdc\xf9\x81\x0c\x05\x91\x87\xc6\xa2\xf5\xff\
+\x12\x72\xaf\xc7\xbf\xee\x81\x10\xb9\xeb\x7d\xe3\xae\xbd\x3b\x91\
+\xfb\xe9\xfb\x29\x5d\xe2\xe3\x44\xd8\xb6\x22\x03\x4f\x6e\xcd\x47\
+\x51\x76\x82\x9b\x6e\xa1\x86\x9d\x52\xbc\x73\xa6\x15\xff\xf6\xeb\
+\x9b\x18\x1b\xb7\xfa\x7d\x09\x39\x9f\xf6\x47\xe4\x14\x00\x74\x76\
+\x8a\x67\x6a\x7f\xf7\xec\x7b\x3c\xab\x3e\x27\x10\x23\x72\x37\x50\
+\xb2\xff\xb5\x86\xaf\x01\xe4\x3b\x00\x04\xae\x0f\x92\x7b\xcc\xec\
+\xc3\x3f\xce\xb7\xa3\x17\x22\xac\x2a\x52\xe0\x8b\xfb\x33\xa0\x49\
+\x0c\xdf\x92\x6e\x4a\x81\x8b\x75\x06\x9c\xb8\xa8\xc5\xb5\x46\x83\
+\x33\x6f\x05\xe1\x16\xf2\x4b\xe4\x9e\x48\xd9\xa9\xa8\xfb\x0b\xd1\
+\x13\xa5\xce\x2b\x22\x0f\xd2\x35\x01\x00\x8b\x8b\x92\xf1\xe9\x47\
+\x0a\xb1\x69\x59\x5a\xd8\xa3\x5e\xba\xb5\x46\x7c\xe7\x17\xd7\x70\
+\xe1\xf6\x74\xf6\x5a\x7f\x44\xce\xaa\xef\x6d\x04\xf4\x7f\xdd\x2e\
+\xbd\xff\x6d\x54\x57\xdb\x11\xc3\x43\xc4\x88\xdc\x01\xfb\xbe\x56\
+\x1f\xcf\x48\xf1\x0b\x0a\xf2\xc4\xcc\x51\xea\xf2\x8f\x67\x22\xf7\
+\x47\x84\x0a\x99\x00\x9f\x7d\x24\x15\x3b\x57\x24\xf1\xae\xb7\x37\
+\x58\x6d\x14\x1f\xdf\xd2\xe3\xf7\x67\x7a\xd1\xde\x3b\xee\x85\x4c\
+\x7c\x13\x79\x60\x44\xe8\xa9\x06\x7f\x44\xce\x0f\x11\x06\xd2\xf7\
+\xee\x2a\x44\x7e\xc4\x8a\x4b\x8b\x01\xf7\xbd\x23\x11\x66\xa8\xe3\
+\xf0\xe9\x1d\x85\xd8\xb7\x31\x17\x32\x49\x78\x37\xce\x7e\xff\x52\
+\x07\xfe\xf9\xbf\xae\x43\x3f\x3c\xee\xa8\x18\x02\x22\x72\x3f\xf9\
+\x86\x28\xe8\x31\x89\x5d\xf2\xdc\xb5\xb7\x9e\x32\x20\x06\x00\x31\
+\x22\x7f\x88\x03\xaf\x34\x15\x42\x68\x3f\x01\x3b\x4a\x7c\x5b\x85\
+\xec\x88\x10\x00\x36\x2d\x4e\xc0\x5f\x3e\x96\x16\xb6\xc9\x4c\x93\
+\xd9\x86\x93\x97\x74\x78\xfb\x5c\x1f\x74\x06\x8b\x8b\x4a\xa1\xb7\
+\x68\x1f\xd6\x1a\x06\x8b\xd6\x97\xfe\x9e\xaf\xd7\x83\x4c\x84\x47\
+\xac\xf8\xd6\xdd\xb9\x5e\x47\x22\x9f\x86\x52\x21\xc2\x13\x5b\xf2\
+\xf1\xd4\xf6\x02\x24\x27\x84\x6f\xc1\xd1\xe0\xf0\x38\xfe\xe5\x8d\
+\x1b\x38\x7d\xa1\xdd\xe1\x28\xab\x89\x4e\x67\x19\x67\xc1\x3a\x62\
+\xa7\x7b\x62\x7e\xf3\x49\xc4\x88\x1c\xc0\xfe\x57\x1b\x57\x11\x06\
+\x47\x01\xaa\xe1\x32\xd9\xe6\x7e\x74\xb2\x70\xbc\x4c\x80\x2f\x1e\
+\x48\xc7\xba\x8a\xf0\xf8\x2c\x87\x46\xad\x38\x72\x5e\x8b\xe3\x35\
+\x5a\x8c\x9a\x6c\x70\x25\x81\xc8\x26\x72\x9e\x26\x3a\xfd\x12\xb9\
+\x6f\x8b\xd6\x97\xee\x53\x4d\xba\x1d\x9b\x3c\xee\xef\x25\xe4\x59\
+\x17\x2e\x7d\xef\xfb\x25\xe4\x5e\xcf\xf4\x17\x91\x90\xc1\x63\x6b\
+\x73\xf0\xb9\xbd\xc5\x48\x4f\x09\x5f\xb6\xcc\xf7\x2e\x76\xe0\x3b\
+\xaf\x5f\xc5\xb0\x71\x32\x49\x1a\x4f\x44\x0e\x10\xe8\x18\x1b\x3d\
+\x70\xeb\xad\xe7\xcf\x85\x44\xf1\x28\xc2\xbc\x27\xf2\x83\xd5\x8d\
+\x8f\x53\xe0\x4d\x50\xc8\xdc\xc9\xc4\xf9\xa9\x0a\x8c\xc8\x27\x3f\
+\x55\xe6\xcb\xf1\xb7\x4f\x66\x20\x25\x21\x3c\xbe\xf0\xf3\xb5\x06\
+\xfc\xcb\x7f\xb7\xc1\x6c\x71\xcf\x5c\xe7\x5d\xf7\xc9\x3f\xbe\xc9\
+\xc4\x8d\x59\xe0\x56\xdb\x6c\x44\xac\x78\xd4\xdd\x59\x97\xc0\x5e\
+\x42\xee\xba\x44\x43\xc4\x8a\x43\xc3\x1e\x5a\xf5\xa2\xff\xd4\x31\
+\x91\x90\x60\xff\xc6\x5c\x7c\x6e\x6f\x09\xd4\x49\xe1\xd9\x3d\xaa\
+\x57\x37\x86\x57\x7e\x74\x11\x57\xef\x39\x24\x3b\x0c\x88\xc8\xfd\
+\xf6\xfd\x38\xb5\xdb\xff\x47\xed\x5b\x9f\xfd\x1d\xcf\x2a\x47\x15\
+\xc2\xeb\x38\x8b\x30\x1c\x78\xad\xf1\x25\x00\x3f\x07\xc0\x5b\x26\
+\x2a\x01\x43\xf0\xf4\x16\x35\x0e\x1f\xc8\x80\x5c\x1a\xbe\xee\xcd\
+\x56\x4b\x21\x14\x10\xdc\xbc\x1f\x9e\x9c\xfd\xee\x96\x70\x90\xa5\
+\xfd\x92\x38\x4f\xed\xf8\x91\x09\xac\x86\xe0\xdb\x09\xac\x16\x3f\
+\x25\x3c\x9e\xf6\xdc\x61\x8e\x87\xec\x76\x8a\xba\xd6\x21\xfc\xfe\
+\xc3\x16\xf4\x0d\x9a\x50\x96\x97\x84\x38\x69\x68\xdd\x7e\x8a\x38\
+\x11\xf6\x6e\xc8\x87\x52\x21\xc6\xe5\xbb\x7d\x53\x79\x5b\x82\x07\
+\x05\x84\x00\x9e\xd0\x54\x1c\x20\xfd\x77\xdf\x39\xc3\x4b\xa5\x51\
+\x88\x79\x69\x91\x1f\x3a\x44\x05\x13\x15\xcd\xff\x1f\xa1\xf4\x05\
+\xe7\x33\xde\xc3\xdf\xa6\xce\xba\x16\x77\x3a\x9a\xa5\x16\xe3\xcb\
+\x4f\x66\xa2\x30\x63\xf6\xf2\xa3\x5c\xac\x33\xe0\x5f\x7e\xf7\x00\
+\x63\xe3\xce\xae\x95\xc0\x46\x13\x4e\x85\xbd\x5a\xc1\x6e\x32\x3c\
+\x44\xac\x44\x83\x6b\xc2\xfb\x68\xc2\xbb\xfe\xde\x23\x74\x3c\xdd\
+\x4f\xfe\x46\x13\x2e\xfa\x07\x64\xd1\x3a\xc8\x78\xd1\x45\x2a\x16\
+\xe0\xd0\xb6\x02\x7c\x76\x77\x31\x94\x8a\xd0\x67\xd7\xac\x6b\x19\
+\xc4\x37\x7e\x58\x83\x07\xdd\xc3\x2e\x5a\x4e\xfd\x0d\xf0\x7a\x81\
+\xe9\x2e\x9b\x3c\x46\x80\x9f\xaa\xfa\xb3\xbf\x78\xe6\xcc\x16\x2b\
+\xe6\x19\xe6\x9d\x45\x7e\xa8\xfa\xae\xc2\xa2\x1e\xfa\x03\x01\x9e\
+\x75\x3b\x19\x84\x91\xf0\xe8\xf2\x44\x7c\xf3\x99\x2c\xa8\xc3\x18\
+\x56\xe8\x09\x59\x6a\x29\xd6\x2e\x54\xe2\x46\xd3\x08\x86\xc7\x78\
+\xbc\x9f\xbd\xf5\x8d\xc7\x49\x3e\xae\x95\xcd\x31\x19\xaf\x7d\xc6\
+\x73\x3b\x41\xca\x58\xac\x76\xdc\x6a\xd2\xe1\x9d\x8f\x5b\x21\x12\
+\x0a\x50\x96\x9f\x18\xd2\xf5\x0d\xea\x24\x19\x0e\x6c\x2a\xc0\xa0\
+\xc1\x8c\xfa\x36\x97\xcc\xb5\x3e\xfb\xcc\x2f\xaa\xc6\xe4\xc3\xab\
+\x12\x96\x3c\x71\x74\xf0\xce\x9f\xcc\xc1\x69\x19\x5d\x98\x57\x44\
+\x7e\xa8\xfa\x6e\xb2\x05\xa2\xf7\x01\x6c\x71\x3f\xeb\xfb\x4e\xf1\
+\x7c\x96\x42\x2c\x24\xf8\xe2\xbe\x74\x3c\xbd\x45\x1d\x31\xbb\xc1\
+\x28\xe5\x42\xec\xa8\x4a\x46\x87\xd6\xfc\x30\x5f\x8a\x1b\x3c\x19\
+\x7b\xec\xfc\x18\xac\x11\xc2\xaa\xc3\xd3\x96\x37\xbe\x0e\xe3\x85\
+\x05\xdf\x94\xf7\x1a\xcc\x16\x3b\x6a\xee\xf4\xe1\xbd\x4b\x1d\x50\
+\x29\xa5\x28\xc8\x0c\xdd\x24\xbd\x48\xc8\x60\x73\x55\x26\xb2\x34\
+\xf1\x38\x7f\xbb\x07\x56\x87\x4d\x2c\xd8\xc1\x4d\x66\x81\xc8\x66\
+\xdf\x9a\xba\xe4\xd0\x1f\xfb\xef\xfc\xc9\xcb\xcd\x3f\xf7\x30\x6f\
+\x88\xfc\x60\x75\xb3\xc6\x06\xe6\x03\x50\x2c\xf3\x56\x86\xed\x6d\
+\x94\xa2\x14\xe1\x1f\x3f\x9b\x8d\x15\x25\xf1\x41\x6a\xc7\x3f\x44\
+\x42\x06\x1b\x2b\x93\x20\x11\x31\xb8\xd1\xcc\xd5\x6f\xce\xfe\xc1\
+\xf2\x14\x47\x12\x8a\x76\x58\xb5\xe4\xc3\xbd\xe1\x5f\x1d\x8f\x4e\
+\xa9\x40\x1b\xe4\x24\x13\xb8\x74\x68\x68\xdd\x30\x3a\x81\x0f\x2e\
+\x77\xe1\x66\xa3\x0e\xa5\x79\x49\x21\x0d\x59\x2c\xce\x4d\xc4\x86\
+\x25\x19\xa8\xb9\xdd\xeb\x21\x01\x17\x47\x10\x64\x51\x9b\x6d\x6f\
+\x4a\xe9\x13\x6f\x0f\xdc\x7b\x7b\x94\x9f\x4a\x23\x1b\xf3\x82\xc8\
+\x1f\xff\x66\x5d\x3a\x04\xe4\x43\x50\x2c\x0a\x5c\xca\xf7\x43\xb2\
+\x74\x81\x1c\xdf\xfe\x6c\x0e\xd2\x55\x91\xb7\x63\xcf\x34\x08\x01\
+\x2a\xf2\x14\x28\x48\x97\xe1\x72\xbd\x61\xca\xea\x99\x03\x08\x6e\
+\xf8\x3d\x3f\xc1\xc1\x35\xd6\xa9\x35\xe2\xed\x33\x6d\x18\x36\x4e\
+\x60\x71\x91\x0a\x62\x51\x68\xe8\x22\x25\x51\x86\xdd\xeb\xf3\x50\
+\xdf\xa6\x47\x67\xbf\x23\xef\x06\xf3\x42\x24\x6a\xc2\xd0\x3d\xe9\
+\xa5\x4f\xbe\xd3\x77\xef\x4f\xc3\x3e\x45\xe6\x00\xe6\x3c\x91\x1f\
+\xa8\xbe\x97\x47\x05\xc2\x33\xa0\x28\xe1\xa3\x3e\x42\x80\x27\x36\
+\xa8\x70\xf8\x40\x3a\xa4\xe2\xd9\x49\x52\xc4\x16\xd9\x1a\x29\x36\
+\x2c\x4a\xc4\xcd\xe6\x11\x18\x8c\xce\x7b\x67\xb2\x43\x88\xac\x53\
+\x0f\x93\x73\xd3\xff\x84\xd6\x3a\xf5\x34\xd1\x19\xfa\x76\x02\xab\
+\xc5\x4f\x09\x8f\xa7\x3d\x77\x58\x30\xef\x37\x3b\xa5\xb8\x73\x5f\
+\x87\x63\xe7\x1e\x20\x23\x45\x1e\x32\x77\x8b\x54\x22\xc4\xee\x75\
+\x79\x60\x18\x82\xeb\xf7\xb4\x01\xe9\xec\xb5\xcc\xcc\x89\x14\xca\
+\xd0\x27\x34\x15\x4f\x1c\xd7\xd6\xbd\x3d\xc8\x87\x9e\x91\x8a\x39\
+\x4d\xe4\x4f\x54\x37\x94\x52\xca\x7c\x04\x20\x8f\x73\x25\x0e\xc3\
+\x72\x99\x84\xc1\x57\x0e\x65\x60\xf7\xaa\xa4\x88\x48\xf2\xcf\x06\
+\x09\x72\x21\xb6\x2c\x55\xa1\xb5\xd7\x34\x95\xaa\xd6\x37\x82\x32\
+\x6e\x59\x5a\xcc\x51\xef\x3b\xe7\xa3\xad\x20\x47\x19\xde\xe6\x70\
+\xd8\xc3\xb3\xcc\xd8\xb8\x15\xef\x5f\xee\x44\x6b\xd7\x30\x96\x96\
+\xa4\x84\x24\x5c\x91\x10\x82\xe5\xe5\xa9\x28\xca\x4e\xc4\xd9\x9b\
+\xdd\xb0\x58\xed\x3e\xa3\x6d\x02\xbb\x3c\x9a\x08\xd0\xa7\x52\x16\
+\x3d\xfe\xee\xc0\xdd\xb7\xfb\xfd\x97\x8f\x4e\xcc\x59\x22\xdf\xfb\
+\x6a\x53\x05\x18\x7c\x08\x20\x33\x20\x01\x3f\x37\x45\x72\xbc\x10\
+\xdf\xfa\x6c\x36\x2a\xf3\x67\x2f\xff\x73\xb0\x10\x8b\x18\x6c\x59\
+\x92\x0c\x89\x98\xc1\xcd\x66\xd7\xd1\xa6\x8f\x0e\x88\x45\xac\xf8\
+\x10\x89\xe4\x88\x15\xfe\xd1\xd2\x39\x8c\xb7\xcf\xb4\x40\xa9\x10\
+\xa3\x34\x2f\x34\x06\x4d\x41\xa6\x12\x9b\xaa\x32\xf1\xc9\xf5\x2e\
+\x8c\x9a\x2c\x7c\x54\xa9\x20\x94\x3e\xa9\xa9\xd8\xff\x81\xb6\xee\
+\x48\xaf\xff\xe2\xd1\x87\x39\x49\xe4\x07\x5f\x6d\x58\x4c\x18\x9c\
+\x01\xa0\xf1\x57\x76\x12\xbe\x1f\x92\xbc\x34\x09\xbe\xf3\xb9\x1c\
+\x64\xa6\x44\xae\x3f\x3c\x50\x4c\xfb\xcd\x73\x53\x65\xb8\xd2\xe0\
+\xe2\x37\x8f\x45\xac\x44\xd1\x68\x22\xb4\x2f\x03\x5f\x53\xaf\x66\
+\x8b\x0d\x9f\xdc\xe8\xc1\xcd\xc6\x01\x2c\x2d\x51\x23\x41\xce\xff\
+\x73\xa1\x52\x4a\xf1\xc8\xea\x5c\x5c\xaa\xed\x85\xce\xe0\x2d\xf8\
+\x84\x55\x1f\xc8\x41\xc9\x53\x9a\x92\xbd\xef\x6a\xeb\x8f\xf6\xf9\
+\x2f\x1e\x5d\x98\x73\x44\x7e\xb0\xfa\x5e\xb1\x9d\x90\x0f\x09\x88\
+\x9a\x8d\x9c\xb7\x5b\x62\x49\xa1\x1c\xaf\x3d\x9f\x05\xa5\x7c\x6e\
+\x75\x55\x6e\xaa\x0c\xeb\x17\x25\xe1\x46\xd3\x30\x86\x8d\x9e\xe2\
+\xcd\xe7\x69\xc4\x8a\x87\x42\x91\x19\xb1\x12\x3c\x02\xf0\x31\xfb\
+\x3c\xde\xa5\x35\xe2\xc8\xc7\xad\x48\x54\x48\x50\x96\xcf\x7f\x56\
+\x4f\x85\x4c\x84\x3d\x1b\x0a\xd0\xf8\x60\x08\x0f\x7a\x03\x8f\xbc\
+\xf2\xd1\x87\x32\x30\xe4\x09\x4d\xc5\xfe\x13\xda\xba\x23\x5a\x1e\
+\x54\x8c\x18\xcc\x29\x76\xda\x5b\x7d\x3f\x87\x50\x7c\x44\x40\x02\
+\x73\xa7\x78\xc5\xe4\xad\xb0\x7d\x99\x12\x5f\x7e\x32\x1d\x12\x51\
+\x74\x4c\x6a\xb2\x45\x82\x5c\x88\xed\x55\x2a\xb4\xf7\x8f\xa3\x53\
+\x1b\x25\x21\xb7\xb1\x88\x15\x2f\x98\x1d\xd7\x98\xc5\x6a\xc7\x27\
+\x37\xba\xd1\xdc\x61\xc0\xaa\x85\xa9\x90\x8a\xf9\xa5\x14\x91\x90\
+\xc1\xce\xb5\xb9\x18\x1c\x1e\xc7\xdd\x16\x1d\x2b\xdd\xbc\x94\x90\
+\x13\x90\x03\x69\x65\xfb\xdf\xe9\xbf\x77\x44\xef\x57\x20\x4a\x30\
+\x67\x88\x7c\xcf\xcb\x0d\x99\x42\x01\xfd\x04\xc1\x4c\x6c\x4e\x81\
+\x10\xe0\xe9\x2d\x29\xf8\xdc\x4e\x4d\xd8\x77\xf0\x09\x37\x44\x42\
+\x06\x9b\x16\x27\x83\x10\x82\x3b\x2d\xbe\xac\x9e\x58\xc4\x4a\x64\
+\x47\xac\x78\x3e\x1e\xae\xf7\x5b\x6b\xf7\x30\x4e\xd7\xb4\xa3\x34\
+\x2f\x11\x19\x6a\x7e\xe7\x91\x08\x21\xd8\xb8\x2c\x13\x09\x0a\x31\
+\x6a\x6e\xf5\x80\x22\xe8\xd1\x44\x02\x25\xe4\x60\x4a\xe9\xde\xb7\
+\x07\xee\x1d\x9d\x13\x39\xcd\xe7\x04\x91\x1f\xfa\x46\x93\x1a\x62\
+\xfc\x19\x14\x45\xc1\xd6\x25\x60\x08\x5e\x7a\x3c\x0d\x7b\x56\x85\
+\x6f\x03\x88\xd9\x06\x21\x40\x65\x61\x3c\xb2\x35\x32\x5c\xa9\x37\
+\xc0\x12\x4c\xbc\x79\xd4\xf8\x98\x67\xa1\x2d\xb6\xa3\x09\x6f\x6e\
+\xa1\x80\xc4\x43\xe3\xe6\xf2\xf5\x5a\x1a\x35\x59\x70\xe2\xfc\x03\
+\x4c\x58\x6c\xa8\x2a\x55\xf3\x6e\x04\x55\x2e\x48\x41\xa6\x46\x81\
+\x33\xd7\x3a\x41\x03\xda\x1f\xc8\xe7\xf5\x28\x09\x61\x76\x6b\x2a\
+\x0e\xbc\xa5\xad\x3b\x12\xf5\x8b\x86\xa2\x9e\xc8\x0f\x54\xb7\x26\
+\xda\x85\xb6\x0f\xc0\x6a\xb1\x8f\x0b\xa6\x7e\x6f\xa1\x80\xe0\x2b\
+\x4f\xa5\x63\xfd\xc2\xc8\x5b\xa9\x19\x0e\xe4\xa5\xc9\xb0\xba\x3c\
+\x11\xd7\x1a\x87\x31\x6a\x9a\xf2\x9b\xc7\x22\x56\x7c\x88\x70\x79\
+\x3b\xcd\x6d\x1f\x10\xa5\xc0\x8d\x06\x2d\x2e\xd6\xf6\x61\x6d\x65\
+\x1a\x14\x32\x7e\x73\x0f\x95\xe4\x26\xa1\x30\x2b\x11\x7f\xbe\xd2\
+\xc1\x47\x06\x45\x15\xa5\xf6\x47\x52\x17\xee\xfb\xbd\xb6\xee\xa8\
+\x89\x0f\xfd\x66\x0b\x51\x4d\xe4\x87\xaa\xef\x2a\xec\xc0\x07\xa0\
+\xa8\xe2\x5e\xcb\xe4\xcd\x20\x12\x12\x7c\xed\x53\xe9\x58\x5d\xaa\
+\xe0\x49\xbb\xe8\x44\x52\xbc\x08\xdb\xab\x54\xb8\xdf\x35\x86\x1e\
+\x1d\x3f\x79\x87\x66\xdd\x12\x0e\x56\x38\xa4\xa3\x09\x2e\x4e\x9d\
+\xd9\x8b\x58\xf1\x5f\xed\xe4\x81\x7e\x9d\x09\xc7\xcf\x3d\x40\x59\
+\x5e\x12\xb2\x34\xfc\x3e\x53\x85\x59\x4a\x54\x14\x26\xe3\x83\xcb\
+\xed\xb0\xb1\x18\x3d\x7a\x9a\x22\x27\x40\x2a\x28\xd9\x9c\xbe\xfc\
+\x89\xdf\xf6\xdd\x7e\x9b\x97\x58\xc7\xd9\x40\xd4\x12\xf9\xa1\x43\
+\x54\x60\x55\x0f\xfd\x1e\xc0\xd6\x60\xeb\x92\x88\x19\xbc\xfc\x4c\
+\x26\xaa\x8a\xa2\x37\x46\x9c\x4f\x48\x44\x0c\xb6\x2e\x55\xc1\x62\
+\xa5\xa8\x6b\x0b\x6c\xd4\x19\x8b\x58\x61\x5f\x9a\x5f\x69\x9e\xda\
+\xe2\x71\x32\x79\x7c\xc2\x86\x93\x17\x1e\x40\x2c\x62\xb0\xa4\x58\
+\xcd\x6b\xcc\x79\x4e\x5a\x02\xaa\xca\x34\x78\xff\x52\x3b\x2c\xd6\
+\x19\x3f\x0b\xc7\x3e\xcc\xb2\x59\xec\x4b\x16\xa6\x2e\xfd\x7d\x5b\
+\xdb\x99\xa8\xdc\xd4\x39\x6a\x89\xbc\xe8\xa9\x67\xff\x1d\xc0\x73\
+\xc1\xd6\x23\x97\x32\xf8\xc7\xe7\xb2\x50\x91\x17\x9e\x9d\x52\xa2\
+\x05\x84\x10\x2c\x2b\x56\x22\x47\x23\xc3\x95\xfa\xa1\xc8\xc8\xd3\
+\x32\x2f\x22\x56\x38\xbe\x10\x59\xfb\xdf\xc3\xf3\xe2\xa5\x94\xe2\
+\x62\x6d\x1f\x1a\x1e\xe8\xb1\x7e\x71\x06\xaf\xf9\x5a\x32\xd4\x0a\
+\xac\xa9\x4c\xc7\x07\x97\xdb\x31\x3e\xc1\x21\x65\xb3\x73\x1f\x14\
+\x8d\xc5\x29\xd3\xb4\xf7\x8e\x1c\xe7\x4b\xbf\x70\x22\x2a\x89\xfc\
+\xe0\x6b\x8d\x5f\x05\xf0\x72\xb0\xf5\x24\xc8\x05\xf8\xd6\xf3\x59\
+\x28\xca\x9c\xbd\x8d\x20\x22\x1d\x79\x69\x32\xac\x2c\x4b\xc4\xd5\
+\x06\xc3\xd4\x3e\xa0\x81\x22\x16\xb1\xc2\x2d\x62\xc5\x4f\x41\x16\
+\x6a\x44\x84\x85\x3f\x85\xb6\x9e\x11\x7c\x7c\xa3\x1b\xab\x17\xa6\
+\x21\x31\x9e\xbf\x6c\x8a\x9a\xa4\xb8\x49\x32\xbf\xf4\x00\xe3\x66\
+\x2f\xf7\x67\xe0\x1d\x51\xa5\x2e\xdf\x3f\x3c\x70\xef\xc8\x45\x9e\
+\xd4\x0b\x1b\xa2\x8e\xc8\xf7\x57\x37\x3d\x09\xe0\xc7\x08\x72\x77\
+\xa3\x38\x29\x83\xea\xe7\xb2\x50\x98\x11\xbe\x5d\xc5\xa3\x15\xc9\
+\x09\x22\x6c\xaf\x4a\x41\xf3\xb4\xdf\x9c\x73\xf4\x45\x60\xc5\x43\
+\x81\x59\x6f\x8b\x7a\x39\xe3\x57\xb1\xe8\x88\x58\x09\x04\xfa\x61\
+\x33\x4e\x9e\x6b\xc3\xa2\x05\x29\xbc\x86\x28\xaa\x13\x65\x58\xbb\
+\x38\x13\xef\xd6\x3c\xc0\xf8\xc4\x34\x99\x73\x9e\x13\xd8\x91\x52\
+\xba\xb7\x76\xa0\xfe\xd8\x3d\xde\x14\x0c\x03\xa2\x8a\xc8\x1f\x7f\
+\xb5\x61\x05\x08\x8e\x20\xc8\x3d\x36\x25\x22\x82\xd7\x9e\xcd\x44\
+\x71\x56\xcc\x12\x0f\x14\x12\x31\x83\x6d\xcb\x54\xb0\xd8\x28\xee\
+\xb6\x72\xc9\x0a\x1a\xc1\xd1\x27\x61\x8b\x58\x99\xe7\xa0\x93\xcb\
+\xfb\x4f\x5d\x78\x80\x4c\xb5\x02\xc5\x39\x89\xbc\x55\x9d\x92\x28\
+\xc3\xf2\xf2\x54\x9c\xae\x79\xe0\xe4\x33\xe7\x00\x42\x40\xf6\xa5\
+\x94\xee\xff\xf3\x40\xfd\xd1\x4e\xbe\xf4\x0b\x35\xa2\x86\xc8\xf7\
+\xbe\x52\x9f\x4f\x04\xcc\x9f\x01\x04\xf5\xeb\x8b\x45\x04\xaf\x3c\
+\x93\x19\xf3\x89\x73\xc0\xb4\xdf\x3c\x5b\x2d\xc5\xe5\xfa\xa1\x80\
+\x22\x06\x66\xdd\x12\x0e\x56\x38\x60\xbe\x0e\xdd\x0b\x64\xd6\x23\
+\x56\x02\xee\x1b\xea\xe5\xb8\x33\xec\x76\x8a\x8f\xae\x76\x02\x20\
+\x58\x5e\x1e\x60\x3a\xa4\x00\x90\xaa\x92\xa3\xb2\x48\x8d\x77\x6b\
+\xda\x60\xb3\x39\x93\x39\xcb\xc9\x78\x11\x21\xd8\x9f\xba\x70\xdf\
+\xdb\xda\xba\xa3\x51\x91\xfe\x36\x2a\x88\xfc\xd0\xd7\xef\x2b\xa9\
+\x04\x67\x00\xe4\x06\x53\x8f\x50\x40\xf0\xf5\xa7\xd2\xb1\x64\x41\
+\x1c\x3f\x8a\xcd\x53\xe4\xa7\xc7\x61\x55\x59\x22\xae\x34\x18\x60\
+\x34\xd9\x62\x11\x2b\x3c\x20\xac\x6d\x85\x71\xd2\xd8\x57\x95\x57\
+\xee\xf5\xa3\x47\x6b\xc4\x86\xa5\x19\xbc\x2d\x1e\xca\xd2\x28\xb0\
+\xa8\x30\x05\xef\x5e\x7c\x00\x5b\x70\x71\xe6\x71\x94\x62\x87\xaa\
+\x68\xff\xaf\x74\x0d\x47\x79\xda\xba\x28\x74\x88\x82\x24\x22\x94\
+\x58\x64\xb6\x9f\x23\xc8\x8d\x21\x04\x0c\xc1\x97\x9f\x4c\x43\x55\
+\x71\x2c\xc4\x90\x0f\x14\x66\xca\xf1\x83\xbf\x5d\x88\xca\x42\x9e\
+\x37\x1a\xf0\x36\xd1\x39\xab\x11\x2b\xe1\x9a\xe8\x0c\x53\xc4\x4a\
+\x04\xb9\xac\x8e\x7c\xd2\x82\x17\xfe\xdf\x33\x30\xf2\x93\xae\x16\
+\x00\xb0\x76\x71\x06\xfe\x9f\xc3\x1b\x7c\xbf\x1c\x02\x73\x8d\x95\
+\x31\x22\xfa\x06\x40\x23\x3e\x4f\x47\xc4\x5b\xe4\x07\xaa\x3f\xf3\
+\x0a\x28\x5e\x08\xa6\x0e\x42\x80\x17\x0f\xa6\xcd\xdb\x15\x9b\xa1\
+\x82\x54\x2c\xc0\xf6\xe5\x29\x18\x35\x59\x51\xdf\xee\x65\x8b\x2e\
+\xb6\xc3\x72\x56\x08\x57\xc4\x4a\x98\x31\xc7\x22\x56\xfc\xa1\xb3\
+\x6f\x14\x17\x6b\xfb\xb0\x7d\x65\x0e\x6f\x49\xb7\x0a\xb3\x12\x91\
+\xa9\x56\xe0\xcf\x57\xda\x03\x94\xf0\xfa\xe2\x2d\x55\x97\xde\x30\
+\x0d\xd4\x1f\x3d\xcf\x8b\x62\x21\x42\x44\x13\xf9\xfe\xea\xc6\xed\
+\x04\xf8\x19\x82\x1c\x39\x3c\xbf\x23\x05\x3b\x57\x28\x79\xd2\x2a\
+\x06\x47\x30\x84\x60\x65\x59\x12\xb2\xd4\xb2\x80\xfd\xe6\x40\x74\
+\x11\x0d\x9b\x1a\x63\x11\x2b\x2c\xdb\x99\x3a\xa4\xd5\x9b\xf0\xf1\
+\xf5\x4e\x6c\x5b\x91\x0d\x39\x4f\xcb\xfa\x4b\xf2\x92\x21\x12\x08\
+\x70\xa9\xb6\x87\x8d\x46\xee\x20\xd8\x9a\x52\xbe\xe7\xd2\xc0\xbd\
+\x63\xf7\x79\x51\x2c\x04\x88\x58\x22\x7f\xfc\xe5\x96\x5c\x30\xf6\
+\xf7\x00\x04\xb5\xbe\x77\xc7\x32\x25\x9e\xdf\x91\xc2\x93\x56\x31\
+\x78\x43\x7e\x7a\x1c\x56\x95\x27\xe1\xca\xbd\x21\x18\xc7\x27\x17\
+\x67\x78\x9c\x38\x0b\x18\xec\x64\xb8\x7b\xb5\xb9\x2c\x72\xe1\xad\
+\x2a\xff\x6d\xf1\x5f\x65\x68\xdb\x0a\xb0\x6f\x3c\x15\xd3\x8f\x98\
+\xf1\xf1\xf5\x2e\x6c\x59\x9e\x0d\x45\x1c\x3f\x64\x5e\x55\x96\x0a\
+\x9d\x61\x1c\xb5\xf7\x07\x58\x4a\x3a\x69\x48\x40\xc9\x63\xaa\xa2\
+\xbd\x6f\xe9\x1a\x8f\x0d\xf1\xa2\x18\xcf\x88\x48\x22\xff\x1f\xd5\
+\xad\x52\x93\xc0\xfa\x2e\x80\x05\xc1\xd4\xb3\xac\x48\x8e\xbf\x7b\
+\x22\x15\x0c\x0f\x6b\x83\x29\x45\xd4\xed\xd3\x19\x6e\x24\x27\x88\
+\xb1\x75\x59\x0a\xea\x1f\x8c\xa2\x5f\xcf\x4f\x9e\x16\x5e\x11\x10\
+\xc9\x04\xe0\x16\x0a\xb8\xe2\x39\x20\x13\x66\xd7\x98\x61\xd4\x8c\
+\x0f\xaf\x74\x60\xd3\xb2\x2c\x28\x15\xfc\xec\x3c\xb4\x7e\x49\x06\
+\x6e\x35\x69\xd1\xd1\x17\xf8\xe6\x14\x1e\x20\x03\x83\x4d\xb2\x45\
+\x5b\x7e\x35\x5c\xf7\x2e\x87\x65\xa4\xa1\x45\x44\x12\x79\xfe\xe6\
+\x17\x7e\x02\x8a\xc7\x82\xaa\x23\x4d\x82\x57\x3f\x93\x01\x31\x0f\
+\x9b\x42\x74\x6a\x27\xf0\xb5\x9f\xb4\xc1\x6c\xa1\x28\xca\x94\x41\
+\x30\xc7\x73\x94\x07\x03\x99\x44\x80\xed\xcb\xd5\x18\x36\x5a\xd1\
+\xd0\xe1\x2d\x4f\x0b\x4f\x11\x2b\x7e\x49\x86\xbb\x8d\x19\x75\x96\
+\x70\xa0\x6d\x45\xc1\x68\x62\x64\xcc\x82\xf7\x2f\xb6\x63\xc3\xd2\
+\x0c\x24\x25\x04\xbf\xd6\x83\x61\x08\xb6\xae\xc8\xc1\x27\xd7\x3b\
+\xa7\xb6\x59\x7b\x7c\xdc\x00\x00\x20\x00\x49\x44\x41\x54\x8d\x63\
+\xa9\xd9\x94\x6b\x8c\x00\x69\x22\x9b\x38\x47\x57\x7f\xec\xed\xa0\
+\x95\xe2\x19\x11\x47\xe4\x07\x5f\x6b\xf8\x3c\x05\x79\x2d\x98\x3a\
+\x92\xe3\x85\xf8\xf6\x67\xf9\xd9\x9e\xad\x5b\x37\x81\x57\x7e\xd1\
+\x0e\xad\xc1\x8a\xdb\xf7\x8d\x38\x7b\x67\x18\x69\xc9\x62\x64\xcc\
+\x81\xfd\x3b\x43\x05\x86\x21\x58\x55\x9e\x84\xcc\x14\x29\xae\xdc\
+\x1b\x0a\x3c\x0c\x8c\x6d\xc4\x4a\x90\x08\x9d\x37\x7f\x76\x23\x56\
+\xbc\xb9\xe4\x83\x6a\x87\xc7\x33\x81\xb4\x33\x66\xb2\xe2\xbd\x8b\
+\xed\xd8\xb8\x2c\x93\x17\x32\x17\x8b\x04\xd8\xba\x22\x07\xef\x5e\
+\x68\xc3\xe8\x98\x97\x68\xc2\x00\x06\x22\x84\x90\xc5\x29\xa5\x7b\
+\x1f\x0c\xd4\x1f\xbb\x19\xb4\x52\x3c\x22\xa2\x88\x7c\x5f\x75\xf3\
+\x02\x02\xbc\x8d\x20\x56\x6e\xca\x24\x0c\xbe\xf5\x7c\x26\x2f\x1b\
+\x25\xf7\x0c\x4e\x92\xf8\xe0\x88\xf5\xe1\x2f\x3b\x6a\xb2\xe1\xe3\
+\xdb\xc3\xb8\xdf\x33\x8e\xe2\x6c\x19\x14\xb2\x88\xea\xc2\x88\x42\
+\x41\x86\x1c\x2b\xcb\x93\x70\xf9\x9e\x1e\xc6\x71\x87\x3c\x18\x11\
+\x12\xb1\x12\x91\x98\xd5\x30\xcb\xc8\x82\xc9\x6c\xc5\x47\x57\x3b\
+\xb0\x6d\x45\x36\x2f\x1b\x3c\xcb\x65\x22\xac\xad\xcc\xc0\x89\xb3\
+\x2d\x98\xb0\x38\xe6\x65\x61\x39\x1f\xc3\x90\x1d\xea\xd2\xbd\x7f\
+\x18\xa8\x3f\xe6\x6f\xef\xb9\xb0\x21\x62\x58\x68\x73\xf5\x47\x42\
+\x19\xe2\x8f\x03\x28\xe0\x5a\x07\x01\xf0\x77\x4f\xa4\x61\x51\x7e\
+\xf0\x0b\x7e\xb4\x06\x0b\x5e\xf9\x45\x07\x06\x0c\xce\xee\xb0\xe9\
+\x9f\xbc\x6b\x60\x02\xef\x5e\xd5\xc3\x64\xa6\x28\xcd\x96\x41\x28\
+\x88\xb9\x5b\x3c\x41\x95\x20\xc6\xf6\xe5\x6a\x34\xb4\x8f\xa2\x6f\
+\x70\xd2\x6f\x1e\x39\x6e\x8b\x30\x58\xa7\xb1\x88\x15\xef\x32\x7e\
+\x47\x13\x14\x46\x93\x05\x9f\x5c\xef\xc2\x23\xab\x73\x79\x89\x66\
+\x51\x29\x65\x28\xc8\x4a\xc4\xe9\x0b\xad\xc1\xdc\x87\x62\x50\xb2\
+\x26\x6f\xe3\x9e\x5f\xf6\x5c\x3b\x1e\x11\x69\x6f\x23\x86\xc8\x17\
+\x6f\xfa\xe6\x77\x08\xc8\xd3\xc1\xd4\xf1\xe4\x86\x64\x3c\xb6\x2a\
+\xf8\xfc\x0d\x83\x23\x56\x7c\xf3\xe7\xed\xe8\x1f\x72\x5c\xa4\xe0\
+\xfe\xb3\xdb\xec\x14\xf7\x1e\x8c\xe1\x93\xdb\x06\x68\x92\xc4\xc8\
+\x52\xc7\x12\x70\x79\x82\x54\x2c\xc0\xb6\x2a\x35\x86\x46\x2d\x68\
+\xf4\xea\x37\x77\x44\xb8\x22\x56\xd8\xab\x10\x0d\x3e\xe6\x59\x6b\
+\x2b\x88\x88\x15\x5f\x18\x36\x4e\xe0\xfc\xad\x6e\x3c\xba\x3a\x17\
+\x32\x89\x90\x8b\x66\x4e\xc8\xcf\x54\x62\x7c\xc2\x86\xeb\xf5\xfd\
+\x5e\x4a\x04\xa0\x21\xa1\x19\x13\x46\x06\xba\xfa\x63\x1f\x05\xad\
+\x10\x0f\x88\x08\x22\xdf\xff\x6a\xc3\x06\xc2\x90\x9f\x20\x88\x78\
+\xf1\xca\x82\x38\x7c\x69\x7f\x6a\xd0\x91\x25\x63\xe3\x76\xbc\xf6\
+\x5f\x1d\xe8\x1c\x08\x7c\x55\xae\x71\xdc\x8e\xb3\x77\x86\x51\xdb\
+\x66\x44\x71\xa6\x0c\x4a\x79\xf0\x37\xdb\x5c\x03\xc3\x10\xac\xa9\
+\x48\x46\x86\x4a\x8a\x2b\xf7\xf4\xc1\x2e\x9f\x0e\x00\x01\xb2\x87\
+\xb7\x88\x15\xae\xed\xcc\x25\x99\x30\x47\xac\xf8\x82\x7e\xd8\x8c\
+\x0b\xb7\xba\xf1\xe8\x9a\x5c\x48\xc5\xc1\x3f\x5f\xab\x16\xa5\xe3\
+\x76\x93\x16\xed\xbd\x41\x45\xb2\x6c\x50\x97\xee\xfb\x64\xa0\xfe\
+\x58\x5b\xd0\x0a\x05\x89\x59\x27\xf2\x03\xd5\xad\x89\x84\xb1\xbd\
+\x07\x4a\x38\xef\x76\xac\x49\x14\xa1\xfa\xb9\x4c\x48\xc5\xc1\x45\
+\xa8\x4c\x58\x28\xbe\xfd\x66\x27\x1a\xbb\xc6\x03\x28\xed\x7e\x23\
+\xf6\xe9\x27\xdd\x2d\x66\x8b\x1d\xa5\xd9\x71\x31\x77\x8b\x07\x14\
+\x66\xca\xb1\xb4\x48\x89\xcb\x75\x7a\x98\xbc\xe5\x8f\x76\x03\x97\
+\x88\x15\xee\x88\x3a\x4b\x38\xd0\xb6\x22\x7a\x34\xe1\x5f\x62\x60\
+\xc8\x84\xeb\xf5\xfd\xd8\xbd\x3e\x1f\x42\x41\x70\xcf\x3a\x21\x04\
+\xeb\x97\x66\xe2\xd4\xf9\xd6\xc9\xc9\x4f\x9f\x7d\xe3\x61\x45\xc4\
+\xe4\x07\x02\xd0\x6d\x19\x85\x8f\xfd\xb2\xbf\xe9\x44\x20\xa4\x11\
+\x32\xcc\x3a\x91\x97\x6e\x7e\xe1\x75\x50\xb2\x9e\xab\xbc\x48\x48\
+\xf0\x8f\xcf\x66\x22\x2d\x39\x38\xff\x99\xdd\x0e\xfc\xeb\x1f\x7a\
+\x70\xa3\xd9\xc8\x49\x7e\xfa\x07\xb6\x53\xa0\xae\x6d\x0c\x1f\xde\
+\x18\x42\xa2\x5c\x88\xbc\x34\x69\x2c\xfe\xdc\x05\x9a\x24\x09\xb6\
+\x55\xa9\x71\xb7\x75\x18\xda\xa1\xa9\x91\x0f\xab\x88\x95\xe0\x2d\
+\xc0\x58\xc4\x0a\x8b\x76\x78\x3c\xc3\x15\xd3\x35\xf6\xea\xc6\xd0\
+\xda\x6d\xc0\x8e\xd5\xb9\x20\x41\x3e\x58\x32\x89\x10\xab\x16\xa6\
+\xe3\xc8\x99\x26\xa7\x1d\xb0\xd8\x69\x4f\x94\x36\x81\xa0\x40\x57\
+\x7f\xec\xad\xa0\x94\x09\x12\xb3\x4a\xe4\x07\xaa\x9b\x9e\x05\x45\
+\x50\xa1\x86\x2f\xec\x4b\xe5\x65\xaf\xcd\x1f\x1e\xeb\xc5\xc7\xb7\
+\xa7\xf3\x6c\x07\x3f\x2c\x37\x99\xed\xa8\xa9\x1b\xc6\xdd\x36\x23\
+\x8a\xb2\xe2\x62\xee\x16\x17\xc4\x49\x05\xd8\xb1\x42\x03\xfd\xc8\
+\x04\x9a\x3a\x03\xdb\x17\x74\xce\x80\xad\x65\x3c\x0f\x23\x56\x7c\
+\x3d\x83\x2d\x5d\x06\x8c\x9b\xad\x58\x5b\x99\x11\x74\x2b\x29\x89\
+\x32\xa8\x12\xe3\xf0\x51\xc0\x39\x59\x3c\xe8\x06\x54\xa8\x4b\x77\
+\x37\x0e\xd4\x1f\xaf\x0d\x5a\x21\x8e\x98\x35\x22\xdf\x5b\xdd\x90\
+\xc2\x00\x47\x01\x70\x66\xe1\x1d\x55\x4a\x3c\xb5\x29\x39\x68\x5d\
+\xde\x3e\x37\x88\x3f\x9d\x1b\xf4\xfb\xc0\x70\x79\x9e\xfa\xf4\x16\
+\xbc\x7b\x55\x8f\x51\x93\x0d\xa5\x39\x72\x88\x84\x31\xf3\x7c\x1a\
+\x02\x86\x60\xed\x42\x15\x92\xe2\xc5\xb8\x5a\xaf\x07\x77\xb7\x39\
+\x97\x18\x0e\x1e\xad\x53\x9f\xa3\x09\xfe\xfd\xc7\xf3\x23\x62\xc5\
+\x37\x6e\x36\x6a\xa1\x52\x4a\xb1\xb0\x30\xf8\xf4\x1b\xe5\x05\x2a\
+\x74\x0f\x8c\xa2\xbe\x35\xa8\xd4\xe3\x9b\x13\xcb\x76\xff\x52\x5f\
+\x7f\x82\xdb\x90\x3e\x48\xcc\x1a\x91\x97\x6f\x7e\xe9\x75\x50\xac\
+\xe4\x2a\x9f\x9e\x2c\xc2\x3f\x3c\x9d\x1e\xb4\x1f\xfa\x6a\xa3\x11\
+\x3f\x38\xda\xfb\xd0\x7f\x18\x8a\x87\xc4\x4e\x81\xfa\x0e\x13\x3e\
+\xb8\x36\x88\x38\x89\x00\x85\x19\xb2\x98\xbb\xc5\x01\x25\x39\xf1\
+\x58\x5a\x9c\x38\xe5\x37\x67\xb7\xfa\x39\x24\xc6\x2a\xdb\x88\x95\
+\xf0\xa9\x10\xb9\x6d\xb1\x8a\x58\xe1\xe7\x65\x70\xee\x56\x17\x4a\
+\x73\x93\x91\x9f\x19\x7c\x42\xbc\xb5\x8b\x33\xf1\x7e\x4d\x1b\x86\
+\x46\xb8\xb8\xba\x29\x28\x10\xc7\x80\xa4\xeb\xea\x8f\xcf\xca\xaa\
+\xcf\x59\x21\xf2\xfd\xd5\x0d\x8f\x11\x8a\xef\x72\x95\x17\x08\x08\
+\x5e\xf9\x4c\x06\x52\x93\x82\xf3\x8b\xb7\xf4\x98\xf1\x4f\xbf\xee\
+\x82\xc5\x1a\x9e\xc7\x66\xdc\x6c\xc7\xe5\xfa\x11\x5c\x6d\x1c\x41\
+\x41\xba\x14\xaa\x04\x7e\x12\x03\xcd\x05\x4c\xfa\xcd\x35\xa8\x6d\
+\x1d\x86\x76\xc8\x31\x4f\x0b\x0f\x0f\x7d\x2c\x62\x85\xbd\x4c\x48\
+\x23\x56\xf8\x01\xa5\x93\x3b\x0d\xad\xa9\x4c\x47\x6a\x72\x70\x6b\
+\x47\x44\x42\x06\x4b\x4a\x34\x78\xe7\xa3\x26\xff\x11\x55\xde\xfb\
+\xa6\x32\xa9\x74\xcf\xf5\xc1\x86\xe3\x8d\x41\x29\xc3\x01\x61\x27\
+\xf2\x7d\x5f\xab\x8f\x67\x44\xcc\x29\x00\x9c\x5f\xa3\xcf\x6d\x4f\
+\xc1\xba\x8a\xe0\x72\x8b\x0f\x8e\x58\xf1\xea\x2f\x3b\x31\x32\xc6\
+\x25\xff\x4d\xe0\x37\xaf\xa7\x29\x94\xc1\x61\x2b\xde\xbf\x36\x04\
+\xfd\xa8\x05\x65\x39\x72\x5e\xf2\xc1\xcc\x05\xc4\x49\x05\xd8\xb1\
+\x5c\x03\xdd\xf0\x04\x9a\x1d\xfc\xe6\xb1\x88\x95\xe0\x2b\x0d\x5f\
+\xc4\x0a\x97\xfd\xa2\xb8\xbf\x74\x2c\x56\x3b\xce\xdd\xec\xc2\x9e\
+\x0d\x05\x88\x93\x06\x37\x0f\xa5\x49\x8e\x83\x80\x61\x70\xf1\x4e\
+\xb7\x43\x13\xec\x26\x41\x19\x90\x75\x69\x95\xbb\x7e\xa6\xad\x3b\
+\x19\xd6\x5d\x85\xc2\x4e\xe4\x65\xdb\x0f\x7f\x1f\x20\xdb\xb9\xca\
+\x97\xe7\xca\xf0\x85\x3d\xc1\xc5\x8b\xdb\x6c\x14\xff\xeb\xd7\xdd\
+\x68\xef\xe7\xa7\xaf\x03\x32\xec\x5c\x8d\x44\x0a\x34\x76\x8e\xe1\
+\xdd\x2b\x83\x10\x8b\x18\x14\x65\xca\x82\x9e\x85\x9f\x0b\x10\x08\
+\x08\xd6\x2d\x52\x21\x45\x29\xc6\x95\x3a\x3d\xec\x6e\x0c\x34\xcf\
+\x22\x56\xbc\x39\xdf\x03\x73\x3b\xb3\xd2\x84\x8d\x4c\x24\xbd\xf0\
+\x8c\x26\x0b\x6e\x36\xf6\x63\xdf\xa6\xc2\xa0\xb7\x8c\x5b\x5a\x96\
+\x8a\x6b\x75\xbd\xe8\xea\xe7\x3c\x01\xaf\xb4\x59\x49\xdc\x60\xc3\
+\xf1\x77\x83\x52\x84\x25\xc2\x4a\xe4\x8f\x57\x37\xad\xa6\xc0\x8f\
+\x30\xb9\x9a\x9e\x35\xe4\x52\x06\xd5\xcf\x67\x41\x21\x0b\xce\x82\
+\xfd\xc9\x49\x2d\x2e\xde\x0b\x30\x33\x5f\x88\x87\xe5\x13\x16\x8a\
+\x6b\x8d\x23\xb8\x5c\x3f\x82\xfc\x74\x29\x52\x94\xb1\x64\x5c\x00\
+\x50\x9c\x1d\x8f\xa5\x45\x89\xb8\x54\x37\xc8\x22\xde\x3c\x0a\x10\
+\xd5\x91\x29\xb3\xe4\x16\x0a\xa0\xcf\x7a\x75\x46\x98\xcc\x56\xac\
+\x5b\x9c\xc9\xa1\xbd\x19\x10\x42\xb0\xba\x32\x03\xef\x7c\xd4\x04\
+\xf3\x84\xa7\xfb\xce\xff\xf5\x10\x82\x95\xea\xd2\x7d\x1f\x0c\x34\
+\x1c\xeb\x08\x4a\x19\x16\x08\x1b\x91\x1f\xaa\xbe\x2b\xb6\x51\xe6\
+\x24\x00\xce\xdb\x66\xbf\x78\x20\x15\x65\x39\xb2\xa0\xf4\xf8\xe4\
+\xf6\x08\xde\xf8\xc0\x43\x92\xf9\x10\x44\xac\xb0\x81\x7e\xc4\x8a\
+\xf7\xaf\x0d\xa2\x77\x70\x02\x65\xb9\xf2\xa0\x17\x37\xcd\x05\xa4\
+\x26\x4b\xb1\xad\x4a\x83\x3b\x2d\x06\x0c\x18\xbc\x8d\x9e\x62\x11\
+\x2b\xe1\x8b\x58\xe1\x09\x41\x46\xac\x78\xc3\xad\x46\x2d\xb2\x34\
+\xf1\x28\xc9\x0b\x2e\x92\x4d\x11\x27\x46\x4e\x7a\x02\x4e\x9f\x6f\
+\xe5\x5a\x05\xa1\xa0\x2b\xd3\x2a\x9f\xff\xb9\xb6\xee\xad\xb0\x58\
+\x21\x61\x23\xf2\xa2\xcd\x2f\x7d\x3d\x98\x5c\x2a\x1b\x17\xc5\xe3\
+\x53\x9b\x55\x41\xe9\xd0\xd6\x6b\xc6\x3f\xff\xb6\x0b\x56\x2f\x69\
+\x6e\x22\x21\xac\xab\xb5\x67\x1c\xef\x5e\x1d\x84\x4c\xcc\x60\x41\
+\xcc\xdd\x82\x38\xa9\x10\x8f\xac\x48\x45\xbf\xde\x8c\xfb\x5d\xce\
+\x91\x5d\x11\xe1\x63\x0e\x9f\x0a\xb3\xdf\x96\xb7\xc9\x8a\x59\x88\
+\x58\xf1\x86\x9a\x3b\xdd\xd8\x5c\x95\x03\x95\x32\xb8\xd4\xb7\x85\
+\x59\x89\x68\xed\x32\xa0\xa9\x5d\xef\x57\x37\x2f\xda\xa5\xda\xac\
+\xe3\x23\x83\x0d\xc7\x2f\x04\xa5\x48\x80\x08\x0b\x91\xef\xfb\x66\
+\x4b\x2a\xc3\xd0\xdf\x01\xe0\x94\x55\x2a\x21\x4e\x80\x97\x9f\xc9\
+\x80\x24\x48\x2b\xf5\xe7\xa7\xb5\x68\xe9\x09\xdf\xce\x35\x5c\x1f\
+\xc8\x09\x2b\xc5\x95\xfa\x11\x5c\xac\x33\x20\x37\x4d\x06\x4d\xe2\
+\xfc\x76\xb7\x08\x04\x04\x1b\x16\xa7\x40\x11\x27\xc2\xb5\x06\xbd\
+\x1f\x52\x8d\x45\xac\x04\x2c\xe3\xad\x0f\xa2\xc2\xcd\xe3\x19\x16\
+\xab\x1d\x17\x6f\xf7\x60\xdf\xa6\x42\x48\x44\xc1\xd1\xdb\xf2\xf2\
+\x34\xfc\xe9\xcf\x8d\x18\x9f\xf0\x95\x82\xd9\xfb\x71\x42\xb0\x5a\
+\x53\xb1\xf7\x97\x03\xf7\x8e\x87\x7c\xc5\x5b\x58\x88\xbc\x7c\xeb\
+\x97\x7e\x08\x70\x8f\x19\xff\xc2\xde\x54\x94\x64\x07\x9f\x5c\x7e\
+\x6d\x79\x3c\xca\x72\x65\xe8\xd1\x4d\x40\x37\x6c\xc5\xac\x3f\x58\
+\x3e\x6f\x0a\x0a\xfd\xa8\x15\xef\x5f\x1d\x44\x73\xd7\x18\x2a\xf2\
+\x15\x90\x4b\x67\x3d\xa3\xc2\xac\xa2\x3c\x2f\x01\x4b\x8b\x93\x70\
+\xf1\xee\xa0\xf3\xc3\x05\xc4\x22\x56\x7c\x54\xca\x6d\x34\xc1\xed\
+\x3e\x0f\x67\xc4\x8a\x37\x49\xc3\x88\x19\x6d\x3d\xc3\xd8\xb5\x36\
+\x9f\x43\xdd\x33\x88\x93\x8a\xa0\x52\xca\xf0\xe1\xe5\x07\x9c\xe2\
+\xd4\x00\x48\x6c\x36\xaa\x1c\x6c\x3c\x71\x2c\x28\x45\x02\x40\xc8\
+\x99\xe1\xf1\xea\xa6\x65\x14\xf4\x3f\xc0\x71\x82\x73\xe9\x82\x38\
+\x7c\x96\xc7\xcd\x93\xd3\x92\x44\xd8\x51\xa5\xc4\xe2\xc2\x38\xf4\
+\x0f\x59\x5c\x52\xd5\xb2\x07\x97\x88\x15\xb6\xe8\x1a\x30\xe3\xf4\
+\x65\x1d\xac\x36\x8a\xf2\x5c\x79\xd0\x33\xf3\xd1\x8c\xd4\x64\x29\
+\xb6\x2d\xd7\xe0\xce\x7d\x5f\x7e\x73\x47\xc4\x22\x56\xf8\x7e\x6d\
+\x44\xf4\x0b\x6f\x4a\xa0\xa5\x6b\x08\x99\x1a\x05\x4a\x83\xf4\x97\
+\x97\xe5\xab\x70\xb3\xa1\x2f\x88\x2c\x89\x64\x89\xba\x64\xcf\x49\
+\x5d\xc3\xf1\xee\xa0\x14\xf1\x83\x10\x13\x39\x25\x25\x9b\x74\xbf\
+\x07\x90\xcb\x45\x5a\x22\x22\x78\xe5\x33\x99\x21\xd9\x85\x47\xad\
+\x14\x61\xeb\x12\x25\x16\x17\xca\xa1\x1d\xb2\xa0\x4f\x6f\x81\xb7\
+\x61\xb9\x37\xd7\xa0\x97\xb3\x01\x80\x7d\x58\x97\xd5\x66\xc7\xed\
+\xfb\xa3\xf8\xe4\x96\x1e\x99\x6a\x09\x32\x54\xf3\x37\xf7\xb9\x5c\
+\x2a\xc4\x23\x2b\xd3\x30\x60\x30\x3b\xc5\x9b\x4f\x23\x62\x89\x26\
+\xc8\x17\x3d\x7f\xd7\xc5\x7d\x0e\x87\xef\x76\xdc\x4b\xf1\xe7\x1a\
+\xab\xb9\xdd\x8d\x47\xd6\xe4\x21\x31\x3e\xb8\x67\xa5\xaa\x2c\x0d\
+\x7f\xf8\xa0\x11\x16\x2b\x97\x79\x4b\x4a\x00\x2c\xd4\x35\x1c\xff\
+\x05\xf0\xad\xa0\xf4\xf0\x85\x90\x12\xf9\xfe\xea\xcf\x3c\x43\x80\
+\xbf\xe3\x2a\xff\x3f\x1f\x55\x63\xe9\x82\xe0\x13\x62\xf9\x82\x5a\
+\x29\xc2\x96\x29\x42\x37\x18\x6d\xe8\xd6\x85\x35\x8e\x9f\x35\x46\
+\xc6\x6c\xf8\xf3\x0d\x3d\x9a\xbb\x4c\x28\xcf\x95\x43\x3e\x4f\xb7\
+\x9a\x13\x08\x08\xd6\x57\xa6\x20\x45\x29\xc1\xe5\x7b\x83\xb0\x07\
+\xbc\x4f\x4b\xf8\x5c\x63\xbc\xb5\xc3\xbb\x4c\x18\xc0\xf6\xa5\x15\
+\x82\xcb\xb0\xda\xec\xb8\xd5\xa8\xc5\xc1\x2d\x0b\x82\x1a\xc5\x26\
+\xc8\x25\x10\x09\x05\x38\x7f\xab\x93\x95\x9c\xc3\x25\x65\x27\x97\
+\x5c\xb9\x3b\xd8\x70\xa2\x8e\xb3\x12\x7e\x10\x32\x16\x38\xf4\x77\
+\x1d\x32\xbb\xd4\xf2\x36\x40\x38\x6d\xd9\x53\x94\x29\x0d\x7a\xe1\
+\x0f\x1b\xa8\x95\x22\x6c\xac\x4c\xc0\x12\x27\x42\x0f\x6f\xc4\x0a\
+\x1b\x74\x0d\x8c\xe3\xd4\xa5\x01\xd8\xec\x14\xa5\x39\x72\x08\xe6\
+\xa9\xbb\xa5\x24\x27\x1e\x4b\x8a\x12\x3d\xfb\xcd\xd9\x62\xde\x46\
+\xac\x04\xd0\x2a\xdb\x88\x15\x8f\xa5\xc3\xf3\xa2\x72\xf4\xd4\x6b\
+\xf5\x63\x20\x00\x56\x2e\x4c\xe7\xd0\xf6\x0c\x2a\x8b\x35\xf8\xe4\
+\x5a\x07\xfa\x07\xc7\xbc\xb4\xe4\x51\x91\x87\x20\x20\xab\xa5\xc5\
+\xfb\x7e\x3c\xd2\x78\x3c\x38\x5f\xae\x17\x84\x8c\xc8\x4b\x76\x7e\
+\xf1\x9b\xa0\x38\xc0\x45\x96\x61\x80\x57\x9e\xc9\x40\x52\x7c\xf8\
+\x53\xbf\x4e\x13\xfa\xd2\x42\x39\x74\xc3\x16\xf4\x0e\x72\xeb\x77\
+\xde\x1f\x48\x0f\x15\xda\xec\xf4\xa1\xbb\x25\x43\x25\x45\x66\xca\
+\xfc\x74\xb7\xa4\x25\x4b\xb1\x69\xa9\x06\x37\x1b\xf5\x18\x1c\x71\
+\x18\x51\xb1\x18\x96\xb3\xfb\xbd\x82\x23\x24\x8e\x13\x67\x9c\x64\
+\xbc\xd6\x10\x02\xcb\x38\x52\x5d\x5a\x37\xea\xfb\xb1\x7a\x51\x06\
+\xd2\x53\xb8\x8f\xee\x19\x42\x50\x51\x98\x82\x3f\xbc\xdf\xe0\xc7\
+\xd5\xea\x15\x4a\x31\x43\x4d\x83\x0d\x27\xce\x72\x56\xc2\x07\x42\
+\x42\xe4\x07\xbf\x71\x4f\x45\x85\xe4\xf7\xe0\x18\x6e\xb8\x63\x99\
+\x12\x3b\xaa\x82\xcf\x68\x16\x0c\x52\x94\x22\x6c\x5e\xa2\x44\x55\
+\xb1\x02\x83\xa3\x56\xee\x16\xba\x37\x73\x8e\xc7\x61\xf9\xf0\x98\
+\x0d\x1f\xdd\xd0\xe1\x7e\xb7\x09\xa5\x39\x72\x28\x64\xf3\x2f\xf7\
+\x79\x7c\x9c\x10\x8f\xae\x4a\x43\xcf\xc0\x38\x5a\x7a\x66\x25\x93\
+\xe8\xec\xc2\xeb\xfd\x14\xc9\x2e\x9e\x30\x59\xe8\x94\xe2\xf2\xdd\
+\x5e\x1c\xda\x5e\x0c\xa1\x90\x7b\x08\xb3\x26\x39\x0e\x5d\xda\x11\
+\xdc\x6b\xd5\x71\xd5\x6d\x79\x7a\xe5\xc1\x9f\x68\xeb\x8e\x9a\x38\
+\x2b\xe1\x05\x21\x21\xf2\x92\xed\x2f\x7d\x8b\x50\x6c\xe1\x22\x1b\
+\x27\x61\xf0\xf5\x4f\x65\x44\xcc\xca\x46\x55\x82\x08\x9b\x2a\x95\
+\x58\x53\x9e\x80\x61\x93\x0d\x9d\xfd\x33\x71\xe8\x41\xcf\x79\xb2\
+\x40\x20\xd5\x77\x6a\xc7\x71\xbc\x46\x8b\xe1\x31\x2b\x2a\xf2\xe2\
+\xe7\x5d\xee\x73\xa1\x80\xc1\xa6\xa5\x1a\xa8\x94\x12\x5c\xaa\xd3\
+\x81\xd2\x00\xad\x53\x0e\xa5\xfc\xc9\x44\x4e\xc4\x0a\xbf\x88\x88\
+\xb6\x38\xf8\xdf\x87\x8d\x13\xb0\x58\xed\x58\x1b\xe4\x12\xfe\x25\
+\xc5\xa9\x78\xeb\xfd\x7a\x4c\x58\x38\xb9\xf1\x24\x56\x9b\xcd\x3e\
+\xd8\x70\xe2\xc3\xa0\x94\xf0\x00\xde\x89\xfc\x50\x75\x6b\x9a\x9d\
+\xda\xdf\x04\xc0\x29\x47\xeb\xb3\xdb\x55\x58\x5c\x18\x5c\x4a\xca\
+\x50\x20\x51\x21\xc4\xfa\x85\x09\x58\x5b\x91\x00\xb3\xc5\x8e\xb6\
+\x3e\x33\xa7\xa8\x59\x2e\x11\x2b\x6c\x1e\x1f\x3b\x05\xea\xdb\x8d\
+\xf8\xf0\x9a\x0e\x4a\xb9\x10\x05\x19\x91\xd7\x97\xa1\xc6\xa4\xdf\
+\x3c\x09\x35\xb5\xba\xe0\xfd\xe6\x3e\x30\xfb\x11\x2b\x91\x3b\x87\
+\xc3\xea\xb5\x49\x9d\xbe\xb1\xac\x22\x70\xdd\x6e\x37\x69\xb1\x71\
+\x59\x16\x34\x41\xa4\xbc\x8d\x93\x8a\x40\x08\x41\xcd\xed\xae\x00\
+\xb4\x72\xd7\x8d\x00\xcb\x92\xca\xf7\xfc\x8c\xef\x0d\x28\x78\x27\
+\xf2\xa2\x4d\x2f\x7c\x87\x00\x9c\xf6\xe0\x4c\x4b\x16\xe1\xc5\x03\
+\x69\x11\x3d\x71\x97\xa8\x10\x62\x75\xf9\x24\xa1\x8f\x5b\xec\x78\
+\xd0\x6f\x0e\xeb\x64\x58\xa0\x18\x1b\xb7\xe1\x42\xed\x10\xee\xb4\
+\x8e\xa0\x24\x5b\x0e\xa5\x62\x7e\xe5\x3e\x4f\x53\x49\xb1\xb5\x2a\
+\x15\xb7\x9b\x87\xa0\x7b\x18\x6f\x1e\x99\xae\x31\xdf\x15\x46\x21\
+\xc2\x18\x99\xc2\x06\x76\x3a\x49\xe6\x4f\x6e\x2f\x0e\x2a\x8a\xa5\
+\xb2\x48\x83\x93\xe7\x5a\x60\x18\xe5\xb4\xdf\xb2\x18\x76\xca\x0c\
+\x36\x9e\x7c\x8f\xb3\x02\x1e\xc0\x2b\x91\xef\xab\xae\xcf\x60\x08\
+\xf9\x2f\x70\xb4\xc6\x5f\x3a\x98\x86\x6c\x75\x74\x2c\x47\x4f\x54\
+\x08\xb1\xa6\x3c\x01\xeb\x2a\x12\x30\x3e\x61\xc7\x83\x3e\xb3\xdb\
+\x50\xde\x13\xc2\x62\xed\x38\x04\x14\xf4\x0e\x4e\xe0\xd4\xa5\x01\
+\x8c\x8c\x59\x51\x91\xa7\x80\x28\x08\x1f\x61\xb4\x41\x21\x13\xe2\
+\xd1\x55\xe9\xe8\xd7\x8f\xe3\x7e\xd7\x54\xbc\x39\x4b\x92\x89\x08\
+\x57\x42\x08\x6a\x98\x0f\x11\x2b\x9e\xa0\x33\x8c\x43\x22\x16\xa0\
+\xaa\x2c\x8d\x83\x3e\x93\x10\x30\x04\x69\x2a\x39\x4e\x9e\xbf\xef\
+\x4b\x11\xcf\x07\x29\x00\x90\x65\x29\xc5\x7b\x7e\xa9\x6b\x3c\xc1\
+\x75\x95\x91\xbb\x4e\x7c\x55\x04\x00\xa5\x9b\x5e\xfc\xdf\x04\x58\
+\xc3\x45\xb6\xb2\x20\x0e\x9f\xd9\x1a\x5c\x52\xac\xd9\x80\x52\x3e\
+\x49\xe8\x5b\x96\x28\x61\xb1\x52\xb4\xf6\x8e\x73\xdf\x7b\x92\x83\
+\xef\x2f\x90\x87\x64\xd2\xdd\x32\x8a\xf7\xaf\x0c\x20\x51\x21\x42\
+\x7e\x7a\xdc\xbc\xd9\x6a\x4e\x28\x20\xd8\xb0\x58\x03\x89\x58\x80\
+\xeb\x8d\xae\x79\x5a\xe6\x5a\xc4\x4a\x80\x35\xcc\xa3\x88\x15\x4f\
+\xb8\x5e\xdf\x87\x47\x56\xe7\x21\x29\x81\x7b\xda\x8f\xc2\xac\xc4\
+\xc9\x15\x9f\x3d\xc3\xfe\x0b\xbb\x43\x48\x41\xc5\x83\x8d\x27\x4f\
+\x71\x56\xc0\x05\xbc\x11\xf9\xe3\x2f\xb7\xe4\x82\xb1\xbf\xce\xa5\
+\x4e\x42\x80\x6f\x3c\x9d\x8e\x44\x45\xf4\x46\x5b\x28\x64\x02\xac\
+\x2c\x8d\xc7\x86\x4a\x25\xc6\xcc\x76\xb4\xf7\x9b\x41\xbd\x31\x7a\
+\xa0\xc1\xa7\x3c\xc3\x64\xb6\xe3\x7c\xad\x1e\x77\x5a\x47\x51\x9c\
+\x25\x47\xe2\x3c\x71\xb7\x10\x02\x54\x16\x26\xa2\x3c\x4f\x89\x9a\
+\x5a\x1d\x26\x2c\x01\xaf\x1e\x8a\x20\xf8\xb8\x2f\x62\x11\x2b\x3e\
+\x44\xdc\x65\x6c\x76\x3b\x9a\xdb\x87\xb0\x7f\x73\x51\x50\x06\x4d\
+\x71\x6e\x32\x7e\xf7\xde\x3d\x6e\xba\x11\xb2\x44\x53\xbe\xe7\xcd\
+\x81\xfa\x13\x43\xdc\x35\x98\x01\x6f\x44\x5e\xb2\xf5\x85\x7f\x03\
+\xb0\x9c\x8b\xec\xfa\x85\xf1\xd8\xb5\x92\xd3\xba\xa1\x88\x43\x42\
+\xdc\xa4\x85\xbe\x75\x69\x22\x26\xac\x14\x6d\xc1\x58\xe8\x53\xe0\
+\x32\xc0\xf4\x85\xbe\x41\x33\x4e\x5c\xec\xc7\xc8\x98\x0d\xe5\x79\
+\x0a\x88\xe7\x89\xbb\x25\x4b\x1d\x87\xcd\xcb\x52\x71\xbd\x41\x0f\
+\xfd\x88\xa7\x15\xbc\x91\x1c\xb1\xe2\xf9\x78\x34\x59\xc2\xbc\xb4\
+\xc5\xd3\x68\xa2\xab\x7f\x14\x0b\xb2\x13\xb1\x20\x3b\x89\x9d\xa0\
+\x03\xd4\x49\x71\x68\x6c\xd7\xe3\x7e\x87\xa7\x54\xb7\x7e\xa7\xa7\
+\x05\x94\xda\xe3\x06\x1b\x4f\x1e\xe7\xac\x80\x03\x78\x21\xf2\x3d\
+\x2f\x37\x64\x32\x0c\xf9\x39\x97\xfa\x18\x06\xf8\xca\x93\xe9\x48\
+\x90\xcf\xad\xa5\xe6\x93\x16\x7a\x02\xb6\x2e\x4b\x02\xa5\x40\x4b\
+\x8f\x09\x76\x1f\x8c\xce\x47\xc4\x4a\xa0\xa0\x98\x8c\xad\x9d\x76\
+\xb7\xc4\x49\x05\x58\x90\x29\x9f\x17\xee\x96\x04\xb9\x08\x3b\x57\
+\xa7\xa3\xa3\x7f\x0c\x6d\x41\xc4\x9b\x7b\x73\x81\x06\x5e\xd8\xf1\
+\xb8\xef\xdf\x38\x16\xb1\x12\x5c\x3b\xce\x25\x67\x3e\xdd\x6a\xd2\
+\xe2\x53\x8f\x94\x06\x15\x5b\x5e\x94\x93\x84\xff\x3e\x7d\xcf\xc9\
+\x37\xcf\xa2\xc7\x16\xa6\x2e\xdc\xff\x73\x3e\xd2\xdc\xf2\xc2\x9e\
+\x65\xdb\x5e\x7c\x95\x00\x1b\xb9\xc8\x6e\xae\x4c\x98\xf5\xc5\x3f\
+\xa1\x84\x5c\x2a\x40\x55\x71\x3c\xb6\x2d\x9d\x24\xf4\xd6\x1e\x13\
+\x6c\x41\x8d\xec\x39\x3e\x58\x5e\xc4\x4c\x66\x3b\x2e\xd6\x0d\xe1\
+\xca\x3d\x3d\x0a\x33\xe2\xe6\xc5\x56\x73\x22\x21\x83\x2d\xcb\x52\
+\x27\xfd\xe6\x0d\x7a\x1f\xd6\x5f\x64\xb9\xc6\xa2\x02\x11\x1a\xb1\
+\xe2\x09\xa3\x63\x16\x48\xc4\x02\x2c\x2f\xe7\x3e\xf1\x99\xac\x94\
+\xa1\xad\xdb\x80\xc6\x07\x83\x7e\x4a\x7a\xec\x00\xa1\xdd\x4e\xcd\
+\x83\x8d\x27\xfe\xcc\x59\x81\x29\x04\x4d\xe4\xfb\xbe\x56\x1f\xcf\
+\x08\xc9\x9b\x00\x58\xcf\x1c\x08\x04\x04\x5f\x3d\x94\x1e\x92\xec\
+\x86\x91\x86\x87\x84\xbe\x2c\x79\x92\xd0\x7b\xc7\x61\x0b\x3c\xd3\
+\x93\x3b\xfc\x3c\x30\x6c\x9f\x1b\xdd\xf0\x04\x4e\x5f\xd6\xa2\x47\
+\x67\xc6\xc2\x82\x84\x88\x59\x90\x15\x2a\x4c\xfb\xcd\xcb\xf2\x12\
+\x50\x73\xc7\xb3\xdf\x9c\x1f\xee\x61\x61\x9d\x06\xd5\x72\x2c\x62\
+\x85\xcb\xba\x8e\x5b\x4d\xfd\xd8\xb7\x69\x01\xe2\xe3\xb8\x1b\x30\
+\x25\xb9\xc9\xf8\xcd\xe9\xba\x99\xa8\x35\x76\x2f\xb3\x85\xe9\x8b\
+\x77\xff\x40\x5b\x77\x32\xa8\x6c\x7d\x41\x33\x68\xe9\xb6\x97\x5e\
+\x20\x04\xfb\xb9\xc8\x6e\x5f\xa6\xc4\x96\x25\x09\xc1\xaa\x10\x55\
+\x98\x26\xf4\x9d\x2b\x92\xc1\x30\x04\xcd\xdd\x26\xd8\xec\xd3\x16\
+\x33\x3b\x27\x68\x28\x1e\x92\xfb\xdd\x63\x38\x75\x49\x0b\xb1\x88\
+\x41\x49\xb6\x7c\xce\x6f\x35\x97\xa5\x89\xc3\xe6\x65\x1a\x5c\x6b\
+\xd0\x63\xc8\xa3\xdf\xdc\x11\xc1\x51\xfb\x5c\xf2\x31\xf3\x24\x3a\
+\xeb\x6d\x59\x6d\x76\xe8\x87\xcd\xd8\xb1\x3a\x8f\x73\x1d\x89\xf1\
+\x52\x74\xf5\xfb\x5a\xba\xef\x09\x0f\xaf\x44\x66\x9d\x20\xbd\xfa\
+\xa6\x13\x97\x39\x2b\x80\x20\x89\xfc\xd0\x21\x2a\xb0\x6b\x74\x6f\
+\x00\x60\x3d\x63\x20\x14\x10\x7c\xe5\xc9\xb4\x79\x61\x8d\x7b\x82\
+\x54\xcc\x60\xe9\x82\x78\xec\x5c\xa1\x02\xc3\x10\xdc\xef\x9a\x22\
+\xf4\x08\xc0\x84\xc5\x8e\x2b\xf7\x86\x70\xa9\x6e\x08\xf9\xe9\x71\
+\x50\x27\xce\xed\x64\x5c\x09\x72\x11\x76\xad\xce\x40\x47\xdf\x18\
+\xda\x7a\x43\x9d\xa7\x85\x5f\xd7\x58\x2c\x62\xc5\x97\x48\x60\xae\
+\xb1\xc6\xf6\x41\xac\xa9\xcc\x44\x7a\x8a\x82\x7d\x1b\x53\x28\x2b\
+\x50\xe1\x37\xa7\xee\xfa\x9c\x07\xf3\x06\x02\x94\x56\x66\xac\xfc\
+\x41\x5b\xdb\x19\xce\x43\xf4\xa0\x58\xb4\xe4\xa9\x67\x3e\x05\x90\
+\xcf\x73\x91\x7d\x74\xb9\x12\x9b\x2a\xe7\x97\x35\xee\x09\x0f\x09\
+\x7d\xe5\x64\x0c\x7d\x6b\x8f\x09\x56\xdb\xf4\xcd\x30\xbb\x5b\x67\
+\x0d\x0e\x5b\xf0\xee\x65\x2d\xb4\x43\x13\x28\xcf\x53\x40\x2a\x9e\
+\xbb\x2f\x5d\x91\x90\xc1\x96\xaa\x34\x10\x02\xdc\x6a\x1a\xe2\xe4\
+\x10\xf1\x7c\x24\x60\x51\x96\x15\x44\xb7\x25\xcc\xa9\xad\x10\x8e\
+\x26\x1e\xf4\x18\xf0\xf8\xd6\x62\xce\xf5\xc4\xcb\x25\xe8\xd3\x8d\
+\xa1\xf6\xbe\xd6\xab\x42\x3e\xd4\x4c\x1a\x16\xc9\x6a\x07\x9b\x4e\
+\x71\xce\x57\x1e\xd4\x93\x59\xba\xf9\xc5\x9f\x01\xc8\x62\x2b\xc7\
+\x30\xc0\xdf\x3f\x31\x3f\x7c\xe3\x81\x42\x2a\x66\xb0\xac\x28\x1e\
+\xbb\x56\xaa\x20\x11\x33\x68\xe9\x36\xc1\x62\xe5\x3f\xde\x99\x4b\
+\x30\x40\x73\x97\x11\x27\x2e\xf6\x43\x22\x62\x50\x9c\xad\x00\x33\
+\x47\xdd\x2d\x84\x00\x4b\x8b\x93\x51\x9a\xa7\x44\x4d\xad\xd6\x6b\
+\xbc\xb9\xf7\x88\x15\x2e\xf1\x81\xb1\x88\x95\xd9\x88\x58\x71\x45\
+\xcf\x80\x11\x4b\x4b\x52\x91\x93\xc6\xdd\xb8\x2c\xca\x49\xc6\x9b\
+\x27\x6b\x03\x5a\xe1\xed\x0a\x4a\x90\xa7\x6f\x3c\xf9\x53\xae\x6d\
+\x73\x66\xd2\x83\xaf\x36\x6d\x02\xc1\x2b\x5c\x64\xd7\x96\x2b\xf0\
+\xc8\xf2\xb9\x1b\xa9\x12\x0c\x24\x62\x06\x95\x05\x0a\xec\x5c\xa9\
+\x82\x44\x24\xc0\xfd\x1e\x13\x2c\xd6\x19\x0b\x9d\x3d\x38\x0c\xcb\
+\x3d\x9c\x98\xb0\x4e\xba\x5b\x6a\x6a\xf5\xc8\x4b\x97\x21\x35\x69\
+\xee\xba\x5b\xb2\x35\x71\xd8\xbc\x34\x15\x57\xeb\x07\x31\x34\xea\
+\xe2\x37\x8f\x0c\xef\x57\x64\x22\x8a\x22\x56\x26\xe1\xac\x58\x4b\
+\xe7\x10\x0e\xed\x28\xe5\x1c\x86\x9b\xa0\x90\xa0\xbe\x4d\xe7\x21\
+\xae\x3c\xa0\x67\x30\x33\xa9\x64\xf7\x87\xfa\xc6\x93\xed\x5c\xda\
+\xe6\x4c\xe4\x65\x5b\x0e\x7f\x0f\x40\x39\x17\xd9\x2f\xed\x4f\x85\
+\x2a\x21\x7a\x57\x71\x86\x03\x12\xd1\x24\xa1\xef\x59\x9d\x02\x85\
+\x4c\x80\xa6\xae\x31\x4c\x4c\x5b\xe8\x3c\x47\xac\xb0\x81\x7e\x64\
+\xd2\xdd\xd2\xd4\x69\xc4\xa2\x82\x78\xc8\xa5\x73\xf3\x77\x9c\xf6\
+\x9b\xb7\xf7\x8d\xe1\x41\xaf\x11\x21\xb7\x4e\x59\xca\x70\x69\xc7\
+\xb9\x24\xf5\x74\xd0\x4f\xb5\x73\x2b\x62\xc5\x15\xfd\x83\x63\x58\
+\xb8\x20\x05\x79\x19\xdc\x8d\xcc\xac\xd4\x78\xfc\xfe\xe1\x6a\x4f\
+\x76\x20\x20\x72\x7d\xe3\xc9\x3f\x70\x91\xe5\x44\xe4\x7b\xab\x1b\
+\x52\x08\x21\x3f\x06\xc0\xfa\x29\x2e\xcf\x95\xe1\xa9\x4d\xc1\xed\
+\x6c\x3d\x9f\x20\x12\x32\xa8\xc8\x53\x60\xef\x9a\x14\xc8\xa5\x42\
+\x34\x77\x9b\x30\x61\xb1\xcf\xfa\x43\xd2\xa9\x35\xe1\x44\x4d\x1f\
+\xac\x76\x8a\x8a\xfc\x84\xa0\xb2\xc9\x45\x2a\x44\x42\x06\x5b\xab\
+\xd2\x26\xe3\xcd\xeb\x07\x83\xa2\x8a\xb0\xfa\x98\xc3\x68\x19\x47\
+\x84\xef\x9c\xb7\xca\x29\x9a\xda\xf5\xf8\xd4\xa3\xa5\x9c\xa3\xb5\
+\x52\x55\x72\x9c\xbf\xd9\x89\x9e\x01\x5f\x6b\x7c\xbc\xbe\xba\x8b\
+\x55\x85\x3b\x7f\x3c\xd8\x7c\x6a\x0c\x2c\xc1\x89\xc8\x2b\x36\xbe\
+\xf8\x02\x80\x5d\x5c\x64\xff\x72\x97\x06\x99\x29\x73\x7f\xd1\x09\
+\xdf\x98\x26\xf4\x3d\x6b\xd5\x48\x52\x08\x71\xbf\xcb\xc4\x6b\xae\
+\x6d\x2e\x0f\x89\xd5\x46\x71\xb3\x79\x18\x67\xae\xeb\x90\xa5\x96\
+\x22\x53\x2d\xe3\x4d\x9f\x48\x01\x21\x40\xe5\x82\x24\x94\xe6\x2a\
+\x51\x73\xc7\xd1\x6f\xce\xc5\xa3\xcc\x9f\x6b\xcc\x9b\x4b\x3e\xa8\
+\x76\x78\x3c\xc3\xa5\x1d\x5e\x65\x38\x2d\xe6\x02\x74\x06\x13\x4a\
+\x72\x93\x51\x18\xc4\xd2\xfd\x04\x85\x04\x27\xcf\xf9\xc8\x8c\xe8\
+\x1d\x02\x22\x60\x7a\x06\x1b\x4f\x5e\x64\x2d\xc8\xa5\xb5\xd2\x2d\
+\x87\x7f\x06\x40\xcd\x56\x2e\x5d\x25\xc2\xe7\x1f\xd3\xcc\x8b\xa5\
+\xe0\xa1\x82\x48\x40\x50\x9a\x23\xc7\xee\xd5\x29\x88\x93\x0a\xd0\
+\xda\x63\x82\xd9\x07\xb9\xf8\x47\x90\x32\x14\x18\x1e\xb3\xe2\x83\
+\x6b\x5a\x3c\xe8\x35\xa1\x3c\x6f\x6e\xba\x5b\xb2\x53\xe5\xd8\xb0\
+\x58\x83\x2b\x75\x03\x30\x18\x83\xdc\x3f\x37\xea\x7c\xc9\xe1\x43\
+\xe8\x22\x56\x02\x7f\xf1\x36\x77\x0c\xe1\xe9\x9d\x65\x9c\xad\xf2\
+\xbc\xcc\x44\x1c\xff\xa4\x19\x86\x51\x2f\xbb\x89\xf9\xd0\x84\x00\
+\xb9\x83\x8d\x27\x7e\x08\x7c\x8b\x55\x9b\xac\x89\x7c\x6a\x92\xf3\
+\xab\x6c\xe5\x00\xe0\xd9\x6d\x29\x58\x90\xc9\x3d\x75\x64\x0c\x33\
+\x10\x09\x19\x2c\xcc\x57\x60\xef\x5a\x0d\x92\x14\x22\xb4\xf4\x98\
+\x60\x32\xfb\xb6\xd0\x83\x0a\x06\x08\x40\xf8\x41\xef\x18\x8e\x5d\
+\xe8\x85\xcd\x06\x94\xe5\xc6\x43\x20\x98\x5b\x6f\xec\xc4\x78\x31\
+\x1e\x5b\x9b\x89\xb6\x1e\x23\x1e\xf4\x3a\x0c\x9d\x63\x11\x2b\xde\
+\x65\xfc\x8e\x26\xc2\x15\xb1\x12\x38\x06\x87\xc7\x51\x9a\xaf\x42\
+\x61\x16\xb7\x44\x7e\x0c\x21\x10\x30\x04\x1f\x5f\xe3\x34\x6f\x99\
+\x92\x5c\x78\xf9\x7d\x7d\xf3\xa9\x0e\x36\x42\xac\x89\xbc\x64\xeb\
+\xe1\xef\x10\xa0\x92\xad\x9c\x42\xc6\xe0\xc5\x83\x69\x10\xce\xb1\
+\x87\x7b\xb6\x21\x9c\xb2\xd0\xf7\xac\x51\x23\x21\x4e\x88\xfb\x3d\
+\x26\x8c\x4f\x38\x58\xe8\x3c\x44\xac\xf8\x2f\x39\xf3\xc9\x66\xa3\
+\xb8\xd5\x6c\xc0\x99\x1b\x03\xc8\x4c\x91\xcd\x39\x77\x8b\x48\xc8\
+\x60\xeb\xf2\x34\xd8\xec\x14\xb7\x9b\x3d\x65\xbd\x63\x87\xa8\xf3\
+\x31\x07\x78\x3f\x85\xf7\xba\xf8\x7f\xb9\xf5\xea\x8c\x78\x62\x5b\
+\x09\x37\x85\x00\x14\x65\x27\xe3\xd7\x27\x6b\x31\x61\xb1\xb2\x7f\
+\x06\x09\x04\xfa\xa6\x53\xef\xb0\x69\x8f\x15\x91\x1f\xa8\x6e\x4d\
+\x24\xd4\xfe\x53\x70\xd8\x01\x68\x47\x95\x12\x2b\x4b\xe4\x6c\xc5\
+\x62\x08\x10\x42\x01\x41\x59\xae\x02\x07\xd6\xa7\x42\xad\x14\xe3\
+\x7e\xb7\x09\x63\x7e\x2c\xf4\x50\x62\xd8\x68\xc1\x07\xd7\xb4\x68\
+\xec\x1c\x45\x79\x5e\x3c\xe2\xe3\xe6\x8e\xbb\x85\x10\x82\xe5\xa5\
+\x2a\x94\xe4\xf8\x8a\x37\x8f\x60\xff\x71\x30\x11\x2b\x5c\xdb\x09\
+\xa9\x0c\xff\xe8\x19\x30\x62\xfd\x92\x4c\xa4\x71\x5c\xed\x29\x12\
+\x32\xe8\x19\x18\xc5\x9d\xe6\x7e\x2e\xe2\x25\xf1\xc5\x7b\x7f\x68\
+\x68\x3a\x11\xf0\x5e\x72\xac\x88\xbc\x6c\xf3\x0b\x7f\x05\x60\x1f\
+\x6b\xb5\x00\x7c\x61\xaf\x06\x49\x51\xbc\x71\x44\xb4\x80\x61\x08\
+\x8a\xb2\xe4\xd8\xbf\x4e\x03\xb5\x52\x8c\x96\xee\x31\x8c\x8d\x4f\
+\x13\x7a\xb8\xc2\xba\x66\x64\x3a\xfb\x4d\x38\x7a\xae\x07\xc3\x46\
+\x2b\x16\x15\x24\xcc\xa9\xad\xe6\x72\xd2\xe4\xd8\xb4\x34\x0d\x57\
+\xee\x0d\xc0\xe0\x1a\x6f\xee\x80\x58\xc4\x4a\xf0\xad\xb0\x6b\x8b\
+\xa5\x66\x2e\xae\xb1\xe9\x4f\xc3\xc6\x09\xec\x5a\x57\xc0\xae\x2e\
+\x07\xa4\xa7\x28\xf0\xdb\xd3\x77\x7d\xea\xe6\x45\x53\x91\x10\xb4\
+\x7d\xb0\xe9\xd4\x95\x40\xdb\x62\x45\xe4\xa5\x9b\x0f\xff\x18\x00\
+\xeb\x9c\x8f\xc5\x59\x52\x1c\xda\x18\x0b\x39\x0c\x27\xa6\x09\x7d\
+\xdf\xba\x54\x64\xa9\xa5\x68\xe9\x19\xc3\x88\xc9\xea\xb1\x6c\xa8\
+\x1f\x48\x3b\x05\xee\x3d\x18\xc6\xfb\x97\xfb\xa1\x54\x88\x50\x98\
+\x39\x77\x46\x66\x4a\x85\x18\xbb\xd6\x64\xa2\xb5\x7b\x14\xed\x7d\
+\xbe\xf2\xb4\xc4\x22\x56\xb8\xcd\x09\xf0\xd8\x4c\x00\x03\x11\x47\
+\xb4\x76\x0e\x61\xef\xc6\x05\x50\xc6\x73\x5b\xfc\x96\x92\x18\x87\
+\x8f\xae\x3c\x40\xdf\x20\xeb\x68\x42\x00\x24\x4d\xdf\x74\xf2\x27\
+\x81\x96\x0e\x98\xc8\x9f\xa8\x6e\x28\xa5\x94\xfc\x13\x07\x8d\xf0\
+\xf4\x66\x15\x0a\xd2\xe7\xee\x4a\xc0\x48\x06\xc3\x10\x14\x64\xc4\
+\x61\xcf\x5a\x0d\x32\xd5\x52\xb4\xf5\x9a\x30\x32\x36\x4d\xe8\xe1\
+\x1d\x96\x8f\x8d\xdb\x70\xf6\xb6\x0e\xb7\xef\x0f\xa3\x34\x27\x7e\
+\xce\x6c\x35\x27\x16\x31\xd8\xbe\x22\x03\x12\x31\x83\xab\xf5\x7e\
+\x32\xe0\xc5\x22\x56\xbc\x23\xa0\xbe\x61\xc9\xc6\xec\x0a\x3a\xc9\
+\x50\x0a\xd8\xed\x14\x9b\xaa\x72\x38\xc8\xcf\xb4\xfc\xd1\x95\x07\
+\x7e\x4a\x78\x44\x46\x52\xc9\xce\xdf\xe8\x1b\x4f\xfb\x4b\x74\x0e\
+\x80\x05\x91\x97\x6c\x3e\xfc\x25\x80\x6c\x0e\xb4\xfc\x34\x64\x12\
+\x06\x87\x0f\xa4\xc6\x26\x39\x67\x19\x0f\x09\x7d\x8d\x06\x69\x2a\
+\x09\x1e\xf4\x98\xdc\x2d\x74\x9e\x48\xc6\x5f\xf1\x5e\xdd\x38\x8e\
+\x5f\xe8\x81\xd9\x62\x47\x45\x7e\x02\x84\x82\xe8\x77\xb7\x10\x02\
+\x2c\x5e\x90\x8c\xbc\x74\x05\x6a\x6a\xb5\xb0\xfa\xcd\x93\x13\x8b\
+\x58\x09\xf5\xdb\x8b\x8f\xda\x9b\x3a\xf4\x78\xfa\xd1\x32\x48\x25\
+\xdc\xdc\xc2\xf9\x99\x89\xf8\xd5\xf1\x3b\x81\xe7\x4d\x72\x7a\x4f\
+\x91\xbe\xa1\xa6\x53\x67\x03\x11\x0b\x98\xc8\x4b\x37\xbd\xf8\x03\
+\x70\x88\x1d\xdf\xba\x24\x01\x6b\xca\xb9\xa7\x87\x8c\x81\x5f\x30\
+\x0c\xc1\x82\x4c\x39\xf6\xaf\x4f\x43\x5e\x5a\x1c\x5a\x7a\xc6\x30\
+\x6c\x64\x6f\xa1\x7b\x8a\x58\x09\x1c\x14\x76\x0a\xdc\x69\x19\xc6\
+\xe9\x4b\x7d\x48\x54\x88\x50\x90\xa1\x98\x13\xeb\x0b\x0a\x32\xe2\
+\xb1\xae\x32\x15\x97\xef\x6a\x31\x32\xe6\x3b\xde\x3c\x16\xb1\x12\
+\x68\x03\xbe\x24\x42\x3b\xa1\x6a\xb5\xd9\xa1\x4a\x8c\xc3\xd2\x92\
+\x54\x0e\xed\x00\x62\x91\x00\xed\x3d\x06\xd4\xb5\x0c\x04\xa8\xc2\
+\xcc\x9c\x00\xa1\x34\x45\xdf\x74\xea\x3f\x03\x69\x27\x20\x22\xdf\
+\xff\xea\xbd\x45\x84\x30\xaf\x05\x52\xd6\x15\x7f\xb3\x57\x83\xe4\
+\xf8\xd8\x24\x67\xa4\x81\x10\x20\x37\x4d\x86\x7d\xeb\x26\x09\xbd\
+\xad\xd7\x04\xc3\x68\x90\x0b\x5d\x38\xc0\x64\xb6\xe1\xdc\x2d\x1d\
+\x6e\x36\x0d\xa1\x38\x27\x1e\x49\xf1\xd1\xbf\xea\x37\x39\x41\x82\
+\x9d\x6b\xb2\xd0\xd4\x31\x8c\x2e\x6d\xa0\xfe\xd1\x58\xc4\x4a\xa4\
+\xa2\x5b\x3b\x82\xcf\xec\xaa\xe0\x6c\x68\xa4\x24\xc6\xe1\xad\xf7\
+\x39\xe4\x5f\x21\x24\x55\xb5\x60\xd7\x5b\x83\xcd\xa7\xb4\xfe\x8a\
+\x06\x44\xe4\x65\x5b\x5e\x3a\x0c\x0e\x7b\x72\x66\xab\xc5\xf8\xcc\
+\xb6\x14\xb6\x62\x31\x84\x11\x0f\x09\x7d\x6d\x2a\xb2\x53\x65\xe8\
+\xe8\x37\x61\x68\x74\xd2\x42\x0f\xb5\xb5\xe3\x28\xd3\x3b\x38\xe9\
+\x6e\x19\x35\x59\x51\x91\x97\x00\xb1\x28\xba\xdd\x2d\x12\xb1\x00\
+\x8f\xac\xca\xc0\xf8\x84\x0d\x77\xee\x07\x1f\x6f\x1e\x08\x22\x3b\
+\x62\x85\xfb\xbd\xc4\x4b\xc4\x8a\xcf\xbe\xf1\x30\xbe\x74\x28\x3f\
+\x34\x62\xc6\x9a\xca\x4c\x64\xa8\xb9\x79\x16\xd2\x52\x14\x38\xfe\
+\x49\x33\x86\x46\x4c\x01\xa9\xe4\x5c\x86\x68\xf5\x4d\xa7\x3e\xf6\
+\x57\x2e\x20\x22\x2f\xd9\x7c\xf8\x87\x04\x60\xcd\xc8\xbb\x57\x25\
+\xa2\x22\x6f\x6e\x2d\x08\x99\xab\x20\x04\xc8\x4f\x8f\xc3\xde\xb5\
+\x69\x28\xce\x91\xa3\xb3\x7f\x1c\xba\xe1\xa0\xb6\x11\x74\x86\xb7\
+\xb5\x49\x8e\x06\x22\x05\xea\xda\x86\x71\xfa\x52\x2f\xe2\xa4\x02\
+\x14\x65\x2b\xa2\x7a\xab\x39\x42\x08\x56\x55\xa8\xa7\xfc\xe6\xfd\
+\x0e\x1b\x86\x04\x82\xb9\x16\xb1\xc2\x55\x0b\x96\x02\x01\x54\xc4\
+\x45\x7b\x3b\xa5\xd8\xbe\x2a\x8f\x83\xe4\x24\x74\x06\x13\xae\xdc\
+\xed\x66\x2f\x48\x68\x9a\xbe\xe9\xd4\x0f\xfc\x15\xf3\x4b\xe4\xfb\
+\x5e\x6d\x5a\xca\x10\xbc\xcc\x5e\x03\xe0\xaf\x77\x6b\x90\x20\x8f\
+\x6d\x1e\x11\x4d\x20\x04\xc8\x52\xcb\xf0\xd8\xea\x54\x94\xe4\x28\
+\xd0\xa9\x1d\x87\xce\x30\x4d\xe8\xe1\x19\x96\x9b\xcc\x36\xd4\xdc\
+\xd1\xe1\x52\xdd\x20\x0a\xb3\x14\x51\xbf\xd5\x5c\x41\xe6\xa4\xdf\
+\xfc\x52\xad\x17\xbf\xf9\xdc\xf1\x42\xb0\x40\x80\x8e\x75\x6f\x11\
+\x2b\x5c\xdb\xe1\x28\xd3\xd6\x6d\xc0\x33\xbb\xca\x21\x11\x73\x73\
+\x13\x27\x2b\x65\xf8\xcd\xa9\x5a\x2e\xba\xa5\x24\x17\xef\xfc\xa3\
+\xbe\xe9\xb4\xcf\x95\x45\x7e\x59\xb6\x74\xcb\x97\x5e\x22\x20\xeb\
+\x03\x69\xd1\x11\x79\xa9\x92\x58\xba\xda\x28\xc6\x34\xa1\xef\x5e\
+\x93\x8a\x85\x05\x09\x68\xef\x37\x39\x10\xba\x77\xf0\xc9\x49\x03\
+\x86\x09\x9c\xaa\xe9\x41\x97\xce\x84\xca\xc2\xc4\xa8\xde\x6a\x4e\
+\xa5\x94\x60\xe7\x9a\x4c\x34\xb4\x1b\xd0\xad\xf5\xbd\x2f\xe8\xfc\
+\x88\x58\x09\x2d\xf8\x6e\xc6\x6a\xb3\x23\x4d\xad\x40\x65\x91\x86\
+\x93\xbc\x2a\x51\x86\xd3\xe7\xef\x63\xd0\x60\xf2\x5e\xc8\xbb\x57\
+\x48\x37\xd4\x74\xfa\x23\x5f\xf5\xfb\x7d\x32\xca\xb6\xbc\xf8\xef\
+\xe0\x10\xad\xb2\x7b\x75\x22\xca\x73\x63\x6e\x95\xb9\x80\x74\x95\
+\xf4\x21\xa1\x77\x6a\xc7\xa1\xf5\x64\xa1\x07\x0c\x76\x32\x76\x00\
+\xf7\xbb\x46\x71\xe2\x42\x0f\x24\x22\x06\xa5\x39\xf1\x51\xeb\x6e\
+\x91\x8a\x05\xd8\xb9\x3a\x13\x13\x56\x3b\x6e\x35\x07\x14\x1e\xcc\
+\x0b\xc2\x1f\xb1\x12\x1e\xcb\x39\x9c\x73\x38\x14\x93\xf9\x57\x3e\
+\xbd\x93\xd3\x5e\x3a\x00\x00\xfd\xf0\x38\x2e\xdd\xe9\x0a\x28\x62\
+\xc5\x11\x84\x92\x24\x7f\xd1\x2b\x3e\x89\x7c\xff\xcb\xcd\xd9\x84\
+\xa1\xdf\x0d\x54\x51\x47\x7c\x61\x4f\x2a\xe2\xe3\xa2\xd7\x82\x8a\
+\xc1\x1d\xe9\x2a\x29\x1e\x5b\x9d\x8a\xaa\x92\x44\xf4\x0e\x9a\xd1\
+\x3b\x18\x70\x2a\x08\x1f\x08\xec\xc1\x32\x5b\xec\xb8\x54\x37\x88\
+\x9a\x3b\x3a\x14\x64\xc8\xa1\x49\x8a\xce\x2c\x9a\x84\x10\xac\x2c\
+\x57\x23\x37\x4d\x81\x9a\x3b\xd3\x7e\xf3\xb9\x16\xb1\x12\xe5\xf0\
+\x72\xc9\x3a\xbd\x09\x8f\xac\xce\x47\x4a\x22\x37\x03\x55\x9d\x14\
+\x87\x37\x4e\xdc\xe1\x22\x9a\x9a\x9c\xbf\xe7\x75\xfd\xfd\x93\xc3\
+\xde\x0a\xf8\x64\xda\xf2\x6d\x5f\x7a\x06\xc0\x1e\xb6\xad\x16\xa4\
+\x4b\xf0\xc4\x86\x98\x5b\x65\xae\x42\x93\x24\xc1\xa3\x2b\x35\xa8\
+\x2a\x49\x44\xdf\xa0\x19\xbd\x83\xd3\x79\x97\xb9\x3d\xf4\x01\x73\
+\x07\x05\x74\xc3\x13\x38\x75\xb1\x1b\xdd\x03\x26\x2c\x2c\x50\x42\
+\x26\x89\x4e\x63\xa1\x30\x2b\x01\xeb\x2a\x53\x71\xf1\xae\x16\xa3\
+\x7e\xe2\xcd\x9d\xe0\x6d\xf8\x1d\xb6\x88\x15\x2e\x76\x70\x94\x45\
+\xac\xf8\x40\x62\xbc\x04\xab\x2b\x33\x59\x69\x35\x8d\xa4\x04\x29\
+\xde\xaf\x69\xc1\xc0\x90\x29\xc0\xeb\x72\xd0\x4d\x80\xbb\x43\x4d\
+\xa7\x6e\x78\x2b\xe9\xf3\x29\x28\xdb\x74\xf8\x55\x00\xac\x73\x39\
+\xee\x59\x9d\x84\xb2\x1c\xf6\x6f\x2d\x9b\x8d\xe2\xbb\xbf\xed\xc1\
+\x88\xc9\x86\x14\xa5\x10\x32\x49\x74\x87\xa0\xcd\x75\x68\x92\x24\
+\x78\x64\xa5\x06\x95\x85\x4a\xf4\xe9\xcd\xe8\x73\xb3\xd0\xe9\xc3\
+\x7f\xfc\x45\xac\xf8\x39\xe8\x86\xfb\x5d\xa3\x38\x7e\xa1\x1b\x32\
+\x89\x00\x25\x51\xea\x6e\x51\x29\x25\x78\x74\x75\x16\xea\xda\x86\
+\xd0\x33\xe0\x18\x6f\xee\x23\x62\xc5\x2b\xc2\x15\xb1\xc2\x3f\x22\
+\x3d\x62\xc5\x11\x5a\xfd\x18\x9e\xdb\xb3\x90\xb3\xbc\x61\xd4\x8c\
+\x9a\x5b\x5d\xac\xe5\x08\xc1\x84\xbe\xe9\xd4\x5b\xde\xce\x7b\x25\
+\xf2\x43\xd5\x77\xc5\x36\x22\xf8\x11\x00\xd6\x21\x03\x7f\xf5\x98\
+\x1a\x09\x1c\xdc\x2a\xb7\x5a\x4c\xf8\xef\x33\x3a\x5c\x6f\x1e\xc3\
+\xb1\x8b\x43\xb8\xdd\x3a\x99\x5b\x3b\x46\xea\x91\x8d\x74\x95\x14\
+\x8f\xae\xd4\x60\x69\x91\x12\x7d\xfa\x09\xf4\xea\xf8\x70\xb9\xf8\
+\x87\xd9\x62\xc7\xc5\xbb\x3a\x9c\xbb\xad\x45\x7e\x86\x02\xa9\xc9\
+\xd1\xe7\x6e\x91\x49\x04\xd8\xb5\x26\x0b\xa3\x63\x56\xdc\x6d\x09\
+\x4f\xbc\xb9\x77\xcc\x52\x54\x48\x84\x47\xac\x38\xc2\x30\x6a\xc6\
+\xd6\x15\xb9\xd0\x24\xc7\x71\xa8\x1b\x48\x4a\x90\xe1\xd7\x27\x6a\
+\xb9\xe8\x96\x55\x90\x70\xe0\x5f\x7b\x7a\x8e\x7b\x5c\xeb\xef\x95\
+\x6d\x8b\x37\xbe\xb4\x19\x20\x9f\x67\xdb\x5a\x6a\x92\x08\xcf\x6c\
+\x55\xb1\x15\x03\x00\xfc\xf1\xec\x20\x5a\x7b\x67\xb6\x47\xd2\x1a\
+\xac\x6e\xa4\xae\x4a\x10\x22\x2e\x46\xea\x11\x89\xd4\x64\xe9\x43\
+\x97\x8b\xd6\x60\x46\xf7\x80\x17\x0b\x9d\x15\xfc\xc7\x70\x0c\x0e\
+\x4f\xe0\xd4\xc5\x1e\x74\x69\x4d\xa8\xc8\x57\x22\x2e\xca\xb6\x9a\
+\x63\x08\xc1\x9a\x45\x1a\x64\xa4\xc4\xe1\x42\x6d\x3f\x6c\x76\xd7\
+\x6b\x0e\x57\xc4\x0a\x4f\x98\x63\x11\x2b\xae\x88\x97\x8b\xb1\x6e\
+\x49\x16\x27\xd9\x64\xa5\x0c\x7f\xfc\xe0\x1e\x46\xc6\x5c\x22\xc0\
+\xfc\xbf\xcc\x24\xa6\x78\xdb\xfb\x43\x4d\xa7\x3c\x6e\x3b\xe4\x95\
+\xc8\xcb\x36\xbf\xf8\x45\x00\x6b\xd9\x2a\xba\x71\x51\x3c\xaa\x8a\
+\xd9\xa7\x29\xb5\xd9\x28\x7e\x70\xb4\x1f\x13\x56\xcf\x57\xe4\x48\
+\xea\xb7\x5a\x62\xa4\x1e\xc9\xd0\x24\x49\xb0\x63\x85\x06\x2b\xca\
+\x92\xa1\x1f\x9d\x40\x97\x36\x50\x9f\xa0\x33\xd8\xca\xdc\xef\x1a\
+\xc5\x91\xb3\x5d\xb0\xda\xec\x58\x58\xa0\x84\x80\x89\x2e\x77\x4b\
+\x71\x8e\x12\xeb\x16\xa7\xe2\x62\x6d\x3f\x3b\xbf\xb9\x0f\x04\x47\
+\x6a\xd4\xe9\x1f\x7f\x95\xcf\xe5\x88\x15\x47\xf4\xea\x46\xf1\xd9\
+\xbd\x95\x9c\x97\xec\xb7\x74\xea\x51\xdb\xec\xba\xea\x3e\x80\xde\
+\x23\xe8\x19\x6a\x3a\xf5\x67\x4f\xa7\xbc\x13\xf9\x96\xc3\xdf\x07\
+\xc0\x3a\x68\xf2\xa9\x4d\x2a\x64\xa6\xb0\xcf\x97\x71\xbd\x79\x0c\
+\x1f\xde\xf0\x3a\x29\xeb\x84\x01\x17\x52\x37\x18\x6d\x48\x8e\x17\
+\x42\x21\x8b\xce\x89\xaf\xb9\x0a\x75\xa2\x04\xdb\xaa\x34\x58\x5f\
+\x99\x82\xe1\x31\x0b\x1e\xf4\xb9\xe6\x1d\xe1\x61\xe2\xcc\xe5\xab\
+\xd5\x46\x71\xa3\x49\x8f\x3f\x5f\xed\x43\x96\x26\x0e\x59\x74\x23\
+\x51\xa6\x00\x00\x20\x00\x49\x44\x41\x54\x1a\x6e\x43\xe0\xd9\x42\
+\x8a\x52\x8a\x5d\x6b\xb2\x71\xaf\x6d\x08\xdd\x03\xde\xf2\xb4\x04\
+\xd8\x6b\xde\x5c\x13\x61\x9b\x18\x8d\x42\x04\xd0\x37\x23\x63\x13\
+\xd8\xb4\x3c\x07\xa9\x2a\x6e\x79\xf5\xad\x36\x3b\x4e\x9c\x6d\xe6\
+\x20\x49\x15\x43\x4d\xa7\x7f\xec\xe9\x8c\x47\xe6\xdb\xff\x72\x73\
+\x36\x18\xfa\xcf\x6c\x9b\x11\x09\x09\xfe\x66\x8f\x86\x53\xca\xda\
+\x3f\x9e\xd5\x3b\xb9\x55\x02\xc5\x80\xc1\x8a\xdb\x2d\x63\x38\x71\
+\x79\x08\x37\x5b\xc6\x60\x32\xdb\x91\x92\x20\x8a\x59\xea\x11\x84\
+\xe4\x04\x31\x36\x2f\x55\x63\xed\x42\x15\x06\x47\x26\xd0\xa9\x35\
+\xb1\x27\x13\x96\x24\x33\x6c\xb4\xe0\xbd\xcb\xbd\x68\xeb\x31\xa2\
+\xa2\x40\x09\xb9\x2c\x7a\xdc\x2d\x52\xb1\x00\x8f\xae\xce\xc2\xb0\
+\xd1\x82\xba\xd6\xa1\x99\x13\x6c\x23\x56\x7c\x82\x1f\xeb\x34\x54\
+\xed\xb0\x97\x0c\x7d\xc4\x8a\x63\x49\xa5\x42\xca\xd9\xbd\x92\xaa\
+\x92\xe3\x67\xef\xdc\x84\xdd\xcd\x85\xe6\xde\x8e\x0b\xd2\x94\x05\
+\x8f\xfe\xc4\x70\xff\xdd\x51\xd7\x13\x1e\x89\xbc\x6c\xdb\xe1\x7d\
+\x00\x1e\x67\xab\xe0\xa2\xbc\x38\x6c\x5f\xa6\x64\x2b\x06\x4a\x81\
+\x1f\x1d\xef\x87\xd9\x12\x9c\x49\x30\x60\xb0\xe0\x7a\xd3\x18\x8e\
+\xd6\xe8\x71\xa1\x6e\x04\x86\x31\x1b\xd4\x4a\x51\xcc\x52\x8f\x10\
+\xa8\x94\x62\x6c\xad\xd2\x60\xe3\x92\x14\x98\xcc\x76\xb4\xf6\x18\
+\x5d\x48\x28\xf8\xe1\xb2\x6b\x0d\x6d\x3d\x46\x1c\x3d\xdb\x09\x9b\
+\x9d\xa2\x22\x5f\x09\x41\x94\xe4\xc5\x67\x18\x82\x75\x95\xa9\xc8\
+\x4e\x55\xe0\xc2\x9d\x3e\x3f\x79\x5a\xf8\x35\xa5\x63\x11\x2b\xfe\
+\x31\x6a\x9a\xc0\x33\xbb\x2a\x38\xc9\x8a\x45\x02\x5c\xb8\xd5\x89\
+\xae\xfe\x11\x16\x52\x14\x00\x08\x61\xc8\xe5\xa1\x26\xb7\xfd\xe3\
+\x3c\x13\x79\xc9\xa6\xc3\x5f\x20\xc0\x72\xb6\x0a\xee\x5a\xa1\x44\
+\x69\x36\xfb\xb0\xc3\xe6\xee\x71\x1c\xbf\x38\xe4\xbf\x20\x0b\x18\
+\x8c\x36\xd4\xb6\x8d\xe1\xf8\x45\x3d\x2e\xdc\x1d\x85\xc1\x68\x43\
+\x4a\x8c\xd4\x23\x02\x49\xf1\x62\x6c\x58\x9c\x82\x4d\x4b\x52\x60\
+\x32\xdb\xd0\xda\x33\xc6\xca\xaa\x64\xfb\x40\x5a\x6d\x76\xdc\x68\
+\xd4\xe3\xc3\xab\x7d\xc8\x48\x89\x43\x76\x6a\xf4\xb8\x5b\x16\x64\
+\x27\x60\x5d\x65\x1a\x6a\xee\xb0\xf1\x9b\x73\x99\xe8\x0c\x9d\xcf\
+\xd9\xe7\xab\x36\x8a\x22\x56\x1c\xa1\x33\x98\xf0\xc4\xb6\x52\xc4\
+\xcb\xb9\xa5\x5d\xd6\x0e\x99\x70\xe1\x56\x27\x07\x75\x68\xcf\x50\
+\xd3\xe9\xd3\xae\x47\x3d\x5b\xe4\x5b\x5e\xfc\x67\x00\xac\x33\xa9\
+\x7f\x6e\xa7\x1a\x4a\x0e\x49\xb2\x3e\xb8\x3e\x8c\xda\x36\x1f\x39\
+\x08\x02\x85\x97\xdf\x61\x9a\xd4\x8f\x5d\x1c\xc4\x85\xbb\x23\x18\
+\x8e\x91\x7a\x44\x20\x71\x9a\xd0\x97\xaa\xa7\x08\x9d\x7f\x0b\xdd\
+\x11\xc3\x63\x16\xbc\x7f\xb9\x17\x0d\xed\xc3\xa8\xc8\x4f\x44\x7c\
+\x5c\x74\x6c\x35\x97\x92\x28\xc5\xae\xb5\xd9\xb8\xd7\xaa\xf7\xe1\
+\x37\x0f\x33\x42\xec\x1a\xe3\x8a\x70\x8e\x26\x8a\x72\x92\x51\x51\
+\xc8\x2d\x4d\xb7\x5c\x26\xc2\x6f\x4f\x4d\x19\xd6\x2c\x46\x13\x84\
+\x32\x22\x7d\xf3\x29\xb7\xbd\x3c\xdd\x98\x6c\x57\x75\x53\x82\x10\
+\xf4\x7b\x00\x58\x39\x99\x93\xe2\x85\x78\x7e\x3b\xb7\x8b\xfa\xd5\
+\xfb\x03\x18\x1c\xf1\xbc\x31\x70\xe0\x08\x6c\xb9\xc4\x34\xa9\x9f\
+\xb8\xa4\xc7\x8d\xe6\x51\x98\xcc\x53\xd1\x2f\xd2\x18\xa9\xcf\x16\
+\x12\x15\x22\x6c\x58\x9c\x82\x2d\xcb\x34\x18\x35\x59\xd1\xd6\x3b\
+\x06\x9f\xee\x43\x7f\xf0\x43\x26\x1d\x7d\x46\x1c\x39\xdb\x09\xab\
+\x8d\xa2\xa2\x20\x31\x2a\xb6\x21\x9c\xf6\x9b\x1b\x46\xcd\xce\x7e\
+\x73\x1f\x60\xe5\x01\x76\x2b\xe2\x27\x62\xc5\x63\xe9\xb9\x1f\xb1\
+\xe2\x08\x81\x80\xc1\x63\xeb\x0b\x39\xd4\x3b\xb9\xd9\xc4\x6f\x4e\
+\xd6\xc2\x64\xb6\x82\x55\xef\x11\x68\x52\xcb\xb6\x7c\x5f\xd7\xf0\
+\x81\x53\xfc\xa2\x1b\x7b\x55\x6c\x7c\x71\x33\x01\x9e\x67\xab\xd8\
+\xb2\xa2\x38\xac\xab\x88\x67\x2b\x86\x61\xa3\x0d\xaf\xbf\xeb\x77\
+\x03\x8c\x80\xc0\xf6\xa7\x1a\x30\x58\x70\xa3\xd9\x88\x23\x17\x06\
+\x71\xfe\xee\xb4\x4f\x3d\x16\xfd\x32\x5b\x50\x2a\x44\xd8\xb8\x44\
+\x8d\x47\x56\xa6\xc1\x6c\xb1\xe3\x7e\xd7\xe8\xa4\x85\xfe\xf0\x87\
+\x0d\x70\x58\xee\xa1\x90\x6b\x51\x9b\x9d\xe2\x66\x93\x1e\xa7\x2f\
+\x76\x43\xa9\x10\x61\x41\x16\xfb\x7b\x37\xdc\x10\x30\x04\xeb\x17\
+\xa7\x21\x5b\x33\xe9\x37\xb7\xd9\x7c\x10\x4d\x08\x2c\xe3\x88\xf6\
+\x9d\xf3\xd1\x16\xcb\x3e\xeb\xd3\x8d\xe1\x2f\x0e\x2e\x06\xc3\x21\
+\xcc\x95\x10\xe0\xfa\xbd\x5e\xb4\x74\x7a\x5a\x04\xe6\xf3\xea\x19\
+\xbb\x55\xf8\xa1\xbe\xf9\x74\xab\xe3\x41\x37\xc6\x2a\xdb\x72\xf8\
+\xb3\x00\x36\xb1\x55\x6c\x47\x95\x12\x25\x59\xec\x57\xd6\x5d\x6a\
+\x30\xa2\xa6\xce\x6d\x12\x96\x07\xb0\xbb\x15\x0c\x46\x1b\x6a\x5b\
+\x8d\x38\x7e\x69\x10\x37\x9a\x46\x31\x36\x1d\xfd\x12\xb3\xd4\xc3\
+\x8e\xf8\x38\x21\xd6\x2e\x52\x61\xc7\x8a\xd4\x49\x97\x4b\xb7\x31\
+\x38\x0b\xdd\x07\x8c\xe3\x56\x7c\x7c\xa3\x0f\x77\x5b\x0d\x28\xcf\
+\x53\x42\xa9\x88\xfc\xad\xe6\x8a\xb2\x95\x58\x51\xae\xc6\x85\xdb\
+\x7d\x30\x9a\xb8\xc4\x9b\x47\x9e\xcf\x39\x24\x32\x01\x46\xac\x70\
+\x6d\x67\xc2\x62\xc3\x9a\xca\x4c\x64\x6a\xb8\x19\x01\xbd\xba\x51\
+\x9c\xbb\xd1\xc1\x41\x0b\x72\x7f\xa8\xd9\x79\xd7\x20\x37\x96\x2a\
+\xdd\xf4\xe2\x2b\x00\xf2\xd9\x56\xfe\xe9\x2d\x2a\xa8\x12\xd8\x87\
+\x78\x9d\xbc\x6c\xc0\xfd\x1e\xf6\x61\x87\x21\x03\x9d\x0c\x69\xbc\
+\xd1\x64\xc4\x91\x9a\x41\x5c\x6f\x1e\xc5\xd8\xb8\x1d\xaa\x04\x11\
+\xe4\x31\x52\x0f\x2b\xe2\xe3\x44\x58\x5f\x99\x82\x47\xa7\x2c\xf4\
+\xd6\x6e\xa3\x4b\xc8\x96\xef\x88\x15\xcf\xf0\x5c\xaa\x4b\x3b\x86\
+\x23\x67\x3b\x61\x32\xdb\xb0\xb0\x20\x11\x22\x61\x64\x87\xaf\xa6\
+\x26\xcb\xf0\xe8\xea\x6c\xdc\xb9\x3f\x88\xbe\x41\x1e\xe6\x97\xa6\
+\x10\x11\x56\x77\x08\xfc\xef\xa1\xba\x2e\x75\x52\x1c\xd6\x2e\xe6\
+\x16\x86\x48\x08\x09\x70\x2f\x4f\x67\xed\x09\x60\x19\x6a\x3e\xfd\
+\xa6\xe3\x31\x27\x66\xda\x5c\xfd\x91\x50\x8a\xf8\x7f\x07\xc0\xca\
+\x2c\x91\x88\x08\xfe\x72\xa7\x9a\xd3\x10\xe3\xbf\xde\x1f\xc0\xc8\
+\x98\x8d\xb5\x5c\xc0\xf0\x33\x2c\xf7\x1d\xd4\x45\xa7\xdc\x2f\xa3\
+\x38\x72\x5e\x87\xf3\xb5\xc3\x18\x1e\xb3\x22\x25\x41\x14\x4b\xd1\
+\x1b\x46\x28\xe2\x84\x58\xbb\x28\x05\x8f\xae\x4a\x83\x1d\x40\x73\
+\xd7\xa8\x87\x65\xec\xc1\xc3\x6e\xa7\xb8\x7d\x7f\x08\x27\x6b\x3a\
+\x91\x14\x2f\x41\x61\x66\x3c\xe7\xd5\x7b\xe1\x40\x9c\x54\x88\x3d\
+\xeb\x72\x61\xb1\xda\x71\xab\x49\x37\x75\x34\x02\x23\x56\x78\x70\
+\x8d\xb1\x2b\x19\xfa\x91\xc0\xb4\xc3\xce\x4e\x29\x0e\xed\x28\xe3\
+\xd0\x1e\xa0\x4e\x8c\xc3\xcf\xdf\xb9\x09\xab\xd5\x43\xfa\x14\xea\
+\xf1\xe3\xf4\x17\xf5\xd0\xd2\xcf\xfd\x0b\xea\xde\x7a\x78\xca\x89\
+\x8d\x96\x6d\x7e\x65\x09\x05\x0e\xb3\x55\xa8\x3c\x57\x86\x6d\x4b\
+\xd9\xc7\x8f\x1b\x8c\x36\xbc\xf9\xc1\x00\x6b\x39\x8f\x08\x83\x29\
+\x61\x30\xda\x70\xa7\xd5\x88\x63\x35\x3a\x9c\xab\x35\xc0\x30\x66\
+\x8b\x91\x7a\x18\xa1\x90\x09\xb1\xaa\x5c\x85\x3d\xeb\x32\x20\x60\
+\x08\x1a\xdb\x87\x5d\x08\x9d\xc3\x4d\xe0\x21\xee\x71\x6c\xdc\x8a\
+\x4f\x6e\xf4\xe1\x7a\xe3\x20\x4a\x73\x13\x90\x9c\x10\xb9\x5b\xcd\
+\x31\x0c\xc1\xaa\x0a\x0d\xb2\x34\xf2\x29\xbf\xb9\xc7\x9c\x4a\xfc\
+\x62\x96\x23\x53\x22\x09\xba\x21\x13\xfe\xe2\xe0\x62\x08\x05\xec\
+\x47\x70\x0c\x43\x70\xf6\x5a\x3b\xba\xb5\x6c\xe2\xc9\x01\x80\x4a\
+\x92\xc6\x8d\x7f\x1a\xba\x7f\xaa\x6f\xfa\x88\x13\x03\x15\x6f\xfe\
+\xd2\x6e\x02\xb2\x8f\xad\x42\x9b\x2a\x13\xb0\x28\x9f\x7d\x6c\xee\
+\xb5\xa6\x31\x5c\xe0\xc5\x3f\x1e\x58\xc4\x0a\x1b\x19\x7f\x35\x3d\
+\x24\xf5\x0b\x03\x38\x57\x3b\xfc\x30\x4e\x3d\x46\xea\xa1\x87\x4c\
+\x22\xc0\xf2\xd2\x64\xec\x5d\x9f\x09\x01\x43\xd0\xd4\x31\x3a\xb3\
+\x60\x86\x25\xc9\xf8\xba\x0b\x7a\x74\x26\x1c\x3d\xdb\x89\x61\xa3\
+\x05\x0b\x0b\x93\x20\x16\x45\xae\xbb\xa5\x28\x47\x89\xb5\x95\x69\
+\xa8\xb9\xd3\x87\x51\x93\x25\x16\xb1\x12\x64\x3b\x7e\x5b\x9a\x3a\
+\x69\xb7\x53\x6c\x5c\x96\x83\x0c\xb5\x82\x43\x1b\x40\x5b\xf7\x10\
+\xae\xd6\xf5\xb0\xd6\x90\x30\xb8\xac\x6f\x3a\x7d\x73\xfa\xbb\x13\
+\xeb\x94\x6e\x7a\xf1\xb3\x04\x58\xc5\x56\x99\xc7\xd7\x27\x21\x43\
+\xc5\x7e\x92\xe8\xf4\x55\x03\x9a\xbb\xf8\x49\x79\x3a\x9b\xbe\x3d\
+\x83\xd1\x8a\x3b\xad\x46\x1c\xbf\xa8\xc3\xd5\xc6\x11\x18\xcd\xb6\
+\x98\x4f\x3d\x0c\x98\x26\xf4\xdd\x6b\x33\x40\xe9\xa4\xcb\xc5\x79\
+\x05\x24\x17\x8a\x71\xf1\xbb\x53\xe0\x6e\xeb\x10\x4e\x5e\xe8\x42\
+\x52\xbc\x18\x0b\xb2\x12\x22\xd6\xdd\xa2\x4e\x94\x62\xc7\xaa\x6c\
+\xdc\x69\xf2\xe2\x37\x8f\x45\xac\x78\xf7\xee\x04\x31\xca\xc8\xcf\
+\x54\xa2\xaa\x3c\x9d\x93\x3a\xe3\x13\x36\x1c\xfb\xb8\x91\x5d\x83\
+\x00\x28\x41\xcb\x50\xd3\xe9\x77\xa7\xbf\x3b\x31\x4d\xd9\xe6\xc3\
+\x5f\x07\x90\xc7\x46\x11\x02\xe0\xf3\x8f\x69\x20\x16\xb1\xbf\xbb\
+\xff\xfb\xa3\x41\x1e\xe2\xc7\x3d\x21\x4c\x6f\x6d\x0f\xc3\xf2\x81\
+\x61\x0b\x6e\x34\x8e\xe2\xe8\x85\x01\x5c\x6d\x18\x81\x71\xdc\x06\
+\x95\x32\x46\xea\xa1\x84\x4c\x22\xc0\xca\x72\x15\xf6\xae\x9b\xdc\
+\xb9\xe5\xbe\x1b\xa1\x07\x0f\x93\xd9\x86\x4f\x6e\xf6\xe1\xea\x3d\
+\x1d\x8a\x73\x12\xa0\x52\x46\xa6\xbb\x45\x2e\x15\x62\xd7\xba\x1c\
+\x0c\x1a\xcc\xa8\x6f\xf3\x14\x6f\x1e\x85\xd1\x27\x3e\x45\x38\x0c\
+\xb5\x78\xd6\x4d\x2a\x16\x62\xcf\xc6\x22\x0e\x75\x4e\xee\x1a\xf4\
+\x93\x3f\x5e\x67\x2d\x47\x08\x31\x0e\x35\x9d\x7e\x63\xfa\xbb\xb3\
+\x45\xbe\xf9\xf0\xf7\x00\xb0\xf2\x91\xa8\x13\x85\x9c\xb6\x75\xb3\
+\xda\x28\x5e\x7f\x57\x0b\x7b\x18\x5c\x7a\x01\xc3\xf7\x04\x03\x6b\
+\xe8\x86\x2d\xb8\xd1\x34\x82\x23\xe7\x07\x70\xbe\xd6\x80\xa1\xd1\
+\x69\x9f\x7a\xf4\x24\x70\x8a\x26\xc8\x24\x02\xac\x28\x53\x61\xdf\
+\x86\x2c\x48\xc5\x02\x34\x75\x8c\x60\xc2\x69\x22\x29\xf8\x07\xb8\
+\x6f\x70\x1c\x47\xce\x76\xa0\x4b\x3b\x86\xc5\x0b\x92\x21\x8d\xc0\
+\xad\xe6\x04\x0c\xc1\xc6\xa5\xe9\x50\x27\xca\x70\xb1\xb6\xcf\x4f\
+\x72\xa6\x19\x44\x84\xd5\x1d\x35\xf1\xef\x33\xb5\x0e\x0e\x8f\xe3\
+\x2f\x1f\x5f\xc2\x69\x97\x2a\xa9\x44\x88\xdf\xbf\x57\x87\x51\xd7\
+\xfc\xe4\x1e\xda\x71\x41\xfc\x50\xf3\xe9\x7f\x99\xfe\xf2\xf0\x2e\
+\xdc\xf3\x72\x43\x26\xc3\x90\x57\xd8\x2a\x52\x91\x2b\xc3\x86\x45\
+\xec\xe3\x28\x5b\x7a\xcd\x38\x7d\xc5\xc0\x5a\x8e\x15\x82\x88\x58\
+\xe1\xfb\xad\x3d\x64\xb4\xe2\x4e\xcb\x28\x8e\x5e\xd0\xe2\xdc\x9d\
+\x21\x18\x8c\xd6\x18\xa9\x87\x08\x52\xb1\x00\x4b\x8b\x93\xb0\x6f\
+\xbd\x03\xa1\x5b\xd8\x59\x0c\x1e\x7f\xc9\x87\xf7\x0d\x45\x73\xe7\
+\x08\x8e\x9d\xeb\x80\x44\x24\x40\x59\x9e\x32\x22\xb7\x9a\x2b\xcb\
+\x4f\xc2\x8a\x72\x0d\xce\xdf\xee\xc5\xd8\xf8\xe4\xc8\x37\x16\xb1\
+\x12\x5c\x3b\x9e\x4a\x9b\x27\x6c\xd8\xbd\x61\x01\x92\x13\xb8\x6d\
+\xca\x7c\xe1\x66\x07\xda\xba\x1d\xb8\x30\x30\x83\x52\x9e\x54\xbe\
+\xf3\x3f\x87\x1a\x4e\x1b\x01\x07\x22\x2f\xdf\x72\x78\x3d\x08\xf9\
+\x0c\x5b\x25\xd6\x96\xc7\xa3\xb2\x80\xfd\x44\xe7\x95\x06\x23\xae\
+\x36\x1a\x59\xcb\x79\x44\x94\xcd\x96\x1b\xa6\x48\xfd\x58\xcd\x00\
+\xae\xd4\x1b\x30\x6a\xb2\x43\x15\xcb\xfd\xc2\x3b\x24\x53\x84\xbe\
+\x7f\x43\x16\x24\x22\x06\x4d\x9d\x2e\x84\x1e\xe4\xb0\xdc\x6c\xb1\
+\xe3\x62\xad\x16\x35\x77\xfa\x51\x94\x9d\x00\x75\x52\xe4\x6d\x35\
+\x97\xa6\x8a\xc3\xa3\xab\xb3\x71\xab\x49\x87\x7e\x3e\xe2\xcd\xe7\
+\x45\xc4\x0a\xfb\x8b\xa9\x28\x54\xa3\xbc\x80\x5b\x8a\x92\x86\x36\
+\x1d\xae\xd6\xf5\x04\x58\xda\x89\xe5\xdf\x1b\x6a\x3a\xdd\x02\x38\
+\x10\x79\xc9\xa6\x97\x9e\x20\x04\xdb\xd9\x2a\xb1\x6b\xa5\x12\x39\
+\x1a\xf6\xfe\xc2\xf7\xae\x0d\xa3\x85\x97\x85\x40\xe1\x8f\x58\x09\
+\xbc\x84\x7f\x19\xdd\xb0\x05\xd7\x9b\x46\xf0\xce\x39\x2d\xae\xd4\
+\x0f\xc3\x38\x6e\x43\x72\x82\x38\x46\xea\x3c\x42\x22\x12\x60\x69\
+\x71\x32\x0e\x6c\xcc\x86\x54\x2c\x40\x73\xd7\x08\xcc\x16\x3b\x4f\
+\xdc\x43\x31\x30\x64\xc6\xf1\x73\x9d\xe8\xd3\x9b\xb0\xa8\x30\x29\
+\xe2\xdc\x2d\x72\x99\x08\xbb\xd7\xe7\x42\x37\x34\x8e\xfa\x07\x2e\
+\x4b\xc2\x63\x11\x2b\xde\xa5\x58\xbc\xb4\xb2\x52\xe3\xb1\x71\x59\
+\x0e\xa7\xb6\x06\x86\xc6\xf0\xee\x85\x16\xd6\x72\x76\xe0\x96\xa1\
+\xf9\x74\x0d\xe0\x40\xe4\xa5\x5b\x0e\x7f\x81\x00\x95\x6c\x2b\x7b\
+\x7a\xb3\x8a\x53\xc6\xc3\x96\x1e\x33\xb4\x06\x2b\x8c\xe3\xc1\x3b\
+\xc9\x23\xc2\xb7\x17\x90\xa0\x07\x69\x87\x43\x93\x3e\xf5\x61\x1c\
+\x39\xdf\x3f\x65\xa9\x4f\x46\xbf\x28\xa2\x68\x53\x84\x48\x86\x58\
+\xc4\x60\x49\x71\x12\x0e\x6e\xca\x86\x4c\x22\x44\x73\xe7\x08\xcc\
+\x13\x8e\x8b\xd1\xb8\xdf\x49\x14\x40\x43\xfb\x30\x8e\x9c\xed\x80\
+\x4c\x22\x40\x59\x6e\x64\xb9\x5b\x04\x0c\xc1\xa6\x65\x19\x48\x4a\
+\x90\x4e\xfa\xcd\x59\xe4\x0d\x8e\x8a\xe7\x8b\x43\xe5\x7e\x23\x56\
+\xbc\x09\x7a\x80\x4c\x2a\xc4\xc1\xad\x25\x1c\x94\x02\x08\x08\x7e\
+\x7d\x92\xcb\x86\xcc\xb4\x67\xa8\xf9\xdd\x77\x26\xeb\x98\xc2\x81\
+\xea\xc6\x9b\xa0\x58\xcc\xa6\x1a\x91\x90\xe0\xb7\xdf\x2c\x0c\x6a\
+\x6f\x44\xfd\x88\x15\xf7\xda\xc7\x71\xab\x65\x0c\xf5\x1d\x26\x74\
+\xf4\x4f\xb0\xf6\x58\x79\x4d\x7d\x4a\xbd\x58\x0c\xd4\xf5\xa8\xbb\
+\x15\x42\x5d\xea\x71\xab\xc9\xc3\x83\x40\x67\x1a\x74\xd3\x85\x7a\
+\x25\x72\x57\x3b\x63\x46\x97\xe9\x16\x73\x53\x65\xd8\x50\x99\x84\
+\x2d\x4b\x92\x90\xa9\x8e\xbc\xe1\x7b\xb4\xc2\x64\xb6\xe1\xf8\xf9\
+\x4e\xbc\x71\xba\x15\x3a\x83\x19\xee\x7d\x0f\xb8\xde\x4f\xee\x76\
+\x21\x75\xb9\x7d\x26\xff\x16\x65\x27\xe0\xcb\x9f\x5e\x88\x25\xc5\
+\xec\x03\x01\x42\x8d\x9b\x8d\x03\xf8\xea\xff\xad\x81\xce\x30\xee\
+\x74\x1f\x3b\xdd\xe1\x0e\x2c\xe7\x7e\x4b\x7b\x90\xf1\x70\xdf\xfb\
+\xf2\x91\x53\xb7\xe7\x67\x4a\xc6\xe7\xb3\xec\xf9\x39\x76\xd3\xc8\
+\xa5\x0e\x67\x15\x3c\xc8\x78\xd0\xc5\xb7\xee\xee\xc7\x92\x12\x24\
+\xb8\xf4\xc6\xff\x04\x17\x58\xad\x76\x2c\x7c\xf2\xc7\xb0\x58\xad\
+\x6e\xcd\x79\xe3\xa1\xa9\x4f\xd7\xdb\x4e\xfd\x6d\x15\xe0\x68\x91\
+\x4f\x46\xac\xb0\x0a\x06\xcf\x4b\x95\x60\xe7\x8a\x44\xf6\x9a\x3b\
+\x40\x26\x61\x90\xad\x11\x63\x45\x89\x1c\xbb\x56\x24\xe2\xd1\xe5\
+\x89\x28\xce\x94\x22\x39\x41\x08\x9b\x9d\x62\x68\x24\x84\xcb\xf7\
+\x1d\x11\xd8\x04\x43\x60\x15\xb0\x68\x34\x10\x29\x83\xd1\x8a\xdb\
+\x2d\x23\x38\x7a\x41\x8b\xb3\xb7\xf4\x30\x18\xad\x48\x4e\x10\x21\
+\x41\x1e\xb3\xd4\x83\x81\x48\xc8\xa0\x22\x3f\x11\x07\x36\x66\x23\
+\x39\x41\x8c\xe6\xae\x11\x8c\x8d\xfb\xb6\xd0\x03\xfd\x95\x07\x0d\
+\x66\x1c\x3f\xdf\x81\xfa\x07\x06\x2c\x2e\x4a\x86\x42\x16\x39\xb9\
+\xcf\xd3\x54\x71\xd8\xb9\x26\x07\x37\x1b\x07\x1e\xfa\xcd\x23\xc2\
+\xea\x0e\x81\xff\x9d\x8b\x43\x94\x4b\xad\xe3\x66\x2b\x9e\xde\x59\
+\x01\x39\x87\xdf\x99\x61\x08\x4e\x9d\x6b\xc6\xc0\x90\xfb\x9e\xb6\
+\x7e\x34\x50\x0c\x35\x9f\xfe\x67\x60\x8a\xc8\xf7\x7d\xb3\x25\x95\
+\x30\xf6\x6f\xb2\x55\x60\x49\xa1\x1c\xab\xfe\x7f\xf6\xde\x3b\xce\
+\x8d\xeb\x3a\x1b\x7e\x06\x75\xd1\xeb\x2e\xb6\x63\x7b\x63\x6f\x62\
+\xaf\x62\x51\x27\x25\x59\xc5\xb1\x9d\xd8\x72\x49\x64\x89\xb6\x8a\
+\x15\xcb\xf1\x6b\x8b\x71\xe2\x38\xd1\x97\xd8\x8e\x23\x3b\xb6\x6c\
+\xe9\x7d\x13\xcb\xb1\x15\x35\x52\x96\x58\x45\x89\xbd\x93\xbb\xac\
+\xcb\x5d\xee\x72\x7b\xc7\xa2\x2f\xb0\xa8\xf3\xfd\x31\x58\x2c\x16\
+\x18\x94\x19\x60\x0b\xc9\x79\x7e\x3f\x72\x81\x3b\xf7\xdc\x7b\x01\
+\xcc\x3c\xf7\xdc\x73\xcf\x3d\xa7\x96\xdd\x89\xa6\x78\xc8\x12\x51\
+\xc4\xbe\xb0\x42\x86\xcd\x8b\x54\xd8\xbc\x48\x85\x8a\x82\x2c\x28\
+\xa5\x7c\x78\x7c\x24\xec\xa9\xc6\x65\x89\xb7\x6e\x4a\xc9\x04\x98\
+\xd9\xdb\x3a\x93\xad\xd9\x9c\x3e\x5c\x6a\x75\x60\xd7\xf1\x41\x9c\
+\x6e\xb4\xc2\xe9\x0e\x40\xcb\x79\xbf\xa4\x85\x31\x42\x7f\x64\x5d\
+\x31\x54\x72\x11\x6e\x74\x3b\xe0\xf6\x44\xdd\x67\x29\x98\xc6\xe8\
+\xd0\x39\xe0\xc4\x9f\x8f\x75\x42\x28\xa0\xbc\x5b\xd8\xc4\x23\x9a\
+\x0c\xc8\x24\x42\xdc\xbf\xd2\x88\x41\x8b\x1b\x4d\x1d\x4c\xb2\x73\
+\xa5\x76\x37\x27\xd2\x68\x53\x6b\x82\x8d\xe9\x67\xf2\xa7\xa3\x44\
+\x3d\xac\x9c\x57\x04\x63\x1e\xf3\x50\x25\x00\x70\xfe\x5a\x3f\x9a\
+\xda\x4d\x4c\x15\x4a\xb1\xcc\xf8\xc0\x6b\x8e\xb6\xdd\x6e\x3e\x00\
+\xd4\xac\x7b\x66\x36\x41\xe0\x6b\x4c\x3b\x5f\x39\x4b\x8e\x3a\x23\
+\x3b\x97\x9b\x54\x21\x11\xf3\x50\x9c\x23\xc6\xe2\x2a\x19\xee\xbb\
+\x4b\x8d\x7b\x97\xa8\x31\xab\x44\x82\x6c\x95\x00\x5e\x3f\x09\xab\
+\xc3\x3f\xa5\xda\x44\xea\xc8\xcc\x4c\x9f\x08\x66\xbb\x0f\xf5\x37\
+\x6c\xd8\x79\x74\x00\x47\x2f\x59\x60\x73\x72\x9a\x7a\x3a\x10\xf0\
+\x79\x98\x5d\xa6\xc6\x63\x1b\x8c\x30\x68\xb2\x70\xa3\xcb\x8e\x91\
+\xd1\xf4\x0f\xac\xf9\xfc\x41\x9c\xba\x3a\x84\x4f\xce\xf4\xa2\xd8\
+\x20\x47\x61\x0e\xbb\xec\xeb\x99\x06\x9f\xcf\xc3\xba\x45\x05\xc8\
+\x56\x4b\x70\xf2\x72\x7f\x72\x7f\xf3\x49\xd0\x98\x27\x17\x93\xff\
+\x0c\x86\x65\x48\xa0\xa6\x44\x87\x85\xb5\xb9\x2c\xe4\x29\xcf\x95\
+\xd3\x97\x7b\x92\xf7\x13\x05\xa1\xc0\xff\x8e\xe5\xc6\xbe\x5e\x3e\
+\x00\xd4\x6d\x78\x76\x35\x40\x7c\x8e\x69\xe7\x1b\x17\xaa\x60\x34\
+\x4c\xed\x09\xb7\x2c\x11\x0f\xf9\x3a\x11\xe6\x95\x49\xb1\x79\x91\
+\x0a\x0f\x2e\xd7\x60\x6e\x99\x14\x5a\x45\x88\xd8\x9d\xe3\x0f\x1e\
+\xfd\x4f\x32\x39\x3f\x6e\x46\xef\xe5\x24\x0f\x0c\xdd\x65\x9b\xd3\
+\x1f\xd6\xd4\x8f\x5c\x32\xc3\xe6\xf4\x43\xa7\x10\x71\xa4\xce\x02\
+\x7c\x1e\x81\x1a\xa3\x0a\x8f\xae\x37\xa2\xd8\x20\x43\x4b\xb7\x03\
+\x8e\x11\xba\xb8\xdf\x0c\xb4\x53\x00\xb6\x11\x1f\xf6\x9e\xec\x42\
+\x53\x87\x0d\x73\x2b\xb4\x90\xcf\x90\x54\x73\xb5\xa5\x1a\x2c\xae\
+\xcd\xc1\xb1\x8b\xbd\x54\xc6\x9a\x14\x6f\x66\xda\xfd\x27\x06\x92\
+\xcc\x24\xa6\x6e\xb6\x88\xb7\xf8\x42\xa2\x72\x00\x7a\x8d\x14\x9b\
+\x97\x97\xb1\xea\xb3\x77\xc8\x81\xfd\x27\x99\x7b\xae\x00\x38\x60\
+\x6d\xd9\x77\x8d\x0f\x00\xb5\xeb\xbe\xfd\x00\xc0\xdc\xf5\x70\xeb\
+\x0a\x0d\xf4\xaa\xe9\x25\x0a\xa1\x80\x40\xae\x46\x88\x79\xe5\x52\
+\x6c\x59\xac\xc2\x03\x4b\x35\xa8\x2e\x92\x40\x23\x17\xc0\x17\x20\
+\x61\x73\xf9\x19\x25\xf6\x4d\x04\xd6\x4b\x38\x16\xcb\xf2\x74\x1e\
+\x92\x30\xa9\x1f\x1b\xc0\xc9\x6b\x56\x38\xdc\x7e\xce\xfc\xc2\x02\
+\x7c\x1e\x81\x8a\x42\x25\x1e\x5e\x5b\x0c\x83\x56\x82\x9b\x3d\x0e\
+\x38\xdc\xf4\x1a\x3a\x93\x5f\xaa\xb3\xdf\x89\x5d\x47\x3a\x40\x10\
+\x04\xea\xca\x34\x69\x39\x0b\x64\x0a\x79\x7a\x29\x36\x2f\x2b\x46\
+\x7d\x93\x09\x43\x96\x71\x7f\xf3\x19\x61\x3b\xcf\x58\xe3\x74\x1b\
+\x9d\x29\x09\xa6\x04\x91\x90\x8f\x27\xb6\xd4\x31\x1b\x57\x08\x4e\
+\x97\x17\xef\x7e\x92\x4a\x6c\xf2\x48\x90\x20\x48\xe2\x9c\xb5\x65\
+\xef\x89\x10\x91\x6f\xff\x22\x80\xc5\x4c\x3b\xff\xc2\x06\x1d\x24\
+\xe2\x99\x15\x11\x4e\x24\xe4\xa1\x50\x2f\xc2\xc2\x4a\x19\xee\x59\
+\xa2\xc6\xb6\x15\x5a\xcc\x2d\x95\x42\xab\x14\x82\x20\x28\x2f\x99\
+\x89\x2b\xc8\x18\x1f\x84\xe4\xc8\xd0\x12\x73\x2a\x1e\x92\x31\xf3\
+\xcb\x07\x47\x07\x70\xf4\x92\x99\xda\x28\x55\x08\xa1\x92\xcd\x0c\
+\x6d\xf0\x56\xc0\xb8\x86\x5e\x82\xa2\x1c\x19\x6e\xf6\x38\x61\x4f\
+\x43\x43\x07\xa8\x10\x15\x67\x1b\x4d\x38\x70\xba\x1b\x85\x39\x32\
+\x14\x1b\x32\xbb\xd7\xc4\x06\x72\xa9\x10\x0f\xae\x2e\x85\xc9\xe2\
+\xc6\xf5\x0e\x2b\xa6\xd4\x34\xc1\x58\x24\x8e\xcc\x34\x9a\x79\x7c\
+\x81\x20\xbe\xfe\xc8\x7c\x56\xb2\x3c\x1e\x81\x37\x77\x36\x24\xaf\
+\x18\x05\x02\xc4\x0d\x6b\xcb\xde\xdd\x94\x8d\x7c\xed\xf6\xed\x00\
+\x18\x65\x11\x15\x0a\x08\x7c\x69\xa3\x7e\xc6\x46\x82\x1b\x83\x80\
+\x4f\x20\x57\x2b\xc2\xbc\x72\x19\x36\x2e\x54\x63\xeb\x0a\x2d\xe6\
+\x96\xc9\x90\xab\x15\x81\xcf\x23\x30\x6c\xf7\x45\xc5\x7b\x89\xb7\
+\xdb\x90\x08\x33\xf8\x86\x8f\x90\xb1\x3a\xfd\xb8\xd8\x6a\xc7\xae\
+\x63\xfd\x38\x7a\x71\x38\x6c\x53\xe7\x48\x3d\x35\xf0\x78\x04\x2a\
+\x8b\x94\x78\x74\x83\x11\xe5\xf9\x0a\xb4\xf4\xd8\x61\x73\xd2\x10\
+\x3a\x83\x89\xde\x36\xe2\xc5\xbe\x93\xdd\xb8\xde\x61\xc3\x9c\x72\
+\x2d\x14\xd3\xfc\x5b\xf0\xf9\x04\x65\x37\xd7\x48\x70\xe2\x52\x3f\
+\x23\x7f\xf3\x54\x30\x79\x1e\x2b\x6c\x3c\x8c\x32\xf7\x0c\x92\x00\
+\xdc\x1e\x3f\xbe\xf6\xf0\x7c\x08\x05\xcc\xcf\xd5\xc8\x24\x42\xfc\
+\xe6\xdd\xf3\x08\x84\x83\xbd\xc5\xe7\xa1\x09\xab\x09\x12\x26\x6b\
+\xeb\xbe\x3f\x84\x36\x3b\xbf\xf5\x03\x00\x3a\x26\x1d\xe7\x69\x45\
+\xb8\x7f\x69\x7a\xae\x87\xd3\x81\x31\x62\x9f\x53\x2a\xc5\x86\xf9\
+\x2a\x6c\x5d\xa1\x9b\x48\xec\x8e\x68\x62\x4f\x0f\x33\x6e\x69\x1a\
+\xaa\x34\x4e\xea\x03\x38\x72\x71\x18\x56\x8e\xd4\x53\x06\x41\x10\
+\x28\xcd\x57\xe0\xd1\xf5\x46\x94\x17\x28\xd0\xda\xed\x80\xd5\x49\
+\x17\xf4\x28\x75\xdf\xa8\xce\x7e\x27\x3e\x38\xdc\x01\xd7\xa8\x0f\
+\x73\x2a\x74\xd3\x9e\x6a\xae\xae\x54\x8b\xc5\x75\x39\x38\xd6\xd0\
+\x17\xca\xf4\x0e\xa4\x6a\x1e\x9c\x1e\x8f\x95\xc9\x47\x2a\x7d\x3d\
+\xb8\xa6\x12\x3a\x35\x73\x07\x10\x82\x20\xf0\xfe\xc1\x46\xd8\x1c\
+\x9e\x94\xfb\x0a\xc1\x6f\x6d\xdd\xf7\x4b\x3e\x40\x12\xd5\xeb\x86\
+\x5f\x25\x00\x46\x06\xd4\x8a\x7c\x31\xd6\xce\x55\x32\x1a\xec\x4c\
+\xc4\x38\xb1\xcb\xb0\x61\x81\x1a\xdb\x56\xea\xb0\xb8\x4a\x81\x7c\
+\xbd\x18\x04\x00\xb3\xc3\x87\x64\x49\x57\xd8\x7b\x1b\x33\x97\x89\
+\x31\x04\x31\xd6\x64\x62\x2f\x58\x9d\x3e\x5c\x6c\xa1\x34\xf5\x23\
+\x17\xcd\xb0\x8e\xf8\xa0\x55\x8a\x38\x52\x4f\x82\x31\x42\x7f\x64\
+\xbd\x11\xb5\xa5\x6a\xb4\xf7\x3a\x30\x6c\x9f\x18\x76\x82\xc9\x9d\
+\x10\x08\x90\xb8\x78\x63\x18\xbb\x8f\x77\x41\xad\x10\xa3\xb2\x88\
+\x9d\x2b\x5b\xa6\x90\xa7\x97\xc5\xf8\x9b\x8f\x61\x6a\x09\x74\xea\
+\x56\xaf\x6c\xb6\x61\x23\x85\xd6\x2d\x36\xa2\xb4\x80\x9d\x82\xfb\
+\xe9\x99\x36\x74\xf6\xdb\xe3\xf7\x43\x07\x02\x72\x6b\xcb\xde\x7f\
+\xe2\x3f\xf6\xbd\x2f\x66\x07\xf9\xf8\x1e\xd3\x4e\xe7\x95\x49\xb1\
+\xb8\x6a\x66\xb8\x51\x65\x12\x02\x3e\x81\x6c\xb5\x10\x75\x46\x29\
+\x36\x2c\x50\xe3\xd1\x35\xd9\x58\x56\xab\x44\xae\x56\x04\x80\x80\
+\xd9\xe9\x8f\x58\xfe\x4c\x02\xa6\xd9\xc5\x8b\x22\x75\x1b\x76\x1d\
+\xeb\xc7\xe1\x8b\xc3\xb0\x39\x7d\xd0\x28\x44\x50\xc9\x39\x52\x8f\
+\x07\x82\x20\x50\x6c\x90\x61\xeb\xda\x62\xd4\x96\xaa\xd1\xd1\x3f\
+\x12\x3a\x29\x1a\x8d\xd4\x7e\xc4\x91\x51\x3f\x3e\xbb\xd0\x87\x86\
+\xe6\x61\xd4\x95\x6a\xa0\x51\x4c\x5f\xec\x73\xb9\x44\x88\xfb\x57\
+\x95\x60\xc8\xe2\x46\x53\x74\x9c\x96\x29\x23\xd8\x29\x46\x1a\xcf\
+\xe0\xfc\x1a\x03\xe6\x55\x19\x58\x75\x7b\xee\x6a\x2f\xae\xb4\x0c\
+\x31\x15\x13\xca\x8c\xe7\xff\x83\x5f\xbd\x6e\xbb\x11\x3c\x3c\xc3\
+\x54\x7a\x79\xed\xe4\xfb\x90\xcf\x04\xf0\x78\x04\xb4\x4a\x21\xea\
+\x8c\x94\xc6\xfe\xf0\x2a\x3d\x16\x54\xc8\x61\xd0\x8a\xc0\x23\x08\
+\x58\x9d\x7e\xf8\x13\xf9\xdf\x4e\xb1\xc7\x0a\x73\x89\xf8\x32\xe3\
+\x9a\x7a\x1f\x4e\x5c\x36\xc3\xe1\x1a\xf3\x53\xe7\x48\x9d\x0e\x14\
+\xa1\xcb\xb1\x75\x4d\x31\x2a\x0a\x95\xe8\xec\x77\xc6\x68\xe8\x4c\
+\xd0\x3b\xe4\xc2\xae\xc3\xed\xf0\xf8\x82\x98\x5d\xae\x9d\x36\x73\
+\x8b\x80\xcf\xc3\xfa\xc5\x85\x50\x48\x45\x38\x7d\xb5\x3f\x63\x5e\
+\x60\x14\xd8\xdc\xed\xe9\x79\x8d\x4d\x86\xc7\xca\x18\xca\x0b\xd5\
+\x58\xcd\x32\x78\xd6\xf5\x76\x13\x4e\x5e\xec\x4e\xb1\xf6\xf8\xd8\
+\x84\x42\xff\x1b\xfc\xea\xb5\xcf\xd6\x12\x04\xc1\x38\x48\xc0\xaa\
+\x39\x0a\x94\xe7\xdd\x79\x71\x3f\xf8\x3c\x02\x39\x1a\xca\x14\x73\
+\xf7\x42\x0d\x1e\x5d\x93\x8d\x45\x55\x0a\xe4\x69\xc5\xe0\xf1\x28\
+\xdb\x73\x2a\xd9\x69\x66\x9a\x6d\x2f\x19\xcc\x8e\x31\xef\x97\x3e\
+\x1c\xbf\x3c\x1c\xf2\x7e\x11\x71\xa4\x4e\x83\x31\x93\xcb\xc3\x6b\
+\x4b\x50\x5d\xac\x42\xd7\xc0\x08\x4c\xf1\x34\xf4\x24\x36\xe6\x40\
+\x90\x44\x43\xf3\x30\x76\x9f\xe8\x44\x8e\x56\x82\xb2\x82\xe9\x33\
+\x67\xce\xad\xd4\x63\x41\x75\x36\x8e\x36\xf4\x62\xd4\x4b\x77\xc2\
+\x3a\xf5\x3d\x81\xb4\x90\x82\xc6\x3c\x5d\xcf\x57\x8e\x56\x8a\xfb\
+\x57\x57\xb0\x6a\xe7\x66\xb7\x05\x9f\x9e\x69\x4f\xb9\xaf\x31\x04\
+\x03\xfc\x3f\xf1\x6b\x37\x6c\x5f\x08\x10\x4f\x32\xed\x74\xe3\x02\
+\x15\x0a\xf4\xcc\xf3\x74\xde\x6e\xe0\xf1\x08\x64\xab\x45\x98\x5d\
+\x2a\xc3\x86\x05\x1a\x3c\xb6\x36\x1b\xcb\xea\x54\x30\x1a\xb2\x20\
+\x11\xf3\x31\x6c\xf7\xc1\xe7\x8f\x36\xb2\xdf\x1a\x5e\x2e\xf1\xc4\
+\x2d\x76\x6f\x98\xd4\x0f\x37\x98\x28\x9b\xba\x42\xc8\x99\x5f\xa2\
+\x40\x10\x80\x31\x4f\x8e\x87\xd7\x1a\x31\xaf\x52\x8b\xce\xfe\x11\
+\x0c\x59\xd8\xe5\xa8\x1d\x71\xfb\x71\xf0\x6c\x0f\xce\x37\x9a\x50\
+\x57\xaa\x81\x56\x39\x3d\xe6\x96\x82\x1c\x39\xee\x5d\x69\xc4\x85\
+\xeb\x43\x13\xfc\xcd\x53\x42\x4a\x26\x8b\x5b\xdb\x6b\x4c\x21\x13\
+\xe1\xf1\xcd\xec\x7c\xc9\x7b\x06\x1d\xf8\xf8\xe8\x0d\xa4\xf4\x1d\
+\x44\x94\xf3\x78\xc1\x5d\xfc\xea\x75\xdb\x57\x11\x20\x1e\x62\xda\
+\xe9\x7d\x77\xa9\x90\xad\xe2\x1e\xdc\x68\x10\x04\x65\x8a\xa9\x2e\
+\x92\x62\xf5\x1c\x35\x3e\xb7\x86\x22\xf6\x62\x43\x16\xa4\x62\x3e\
+\x2c\x4e\x1f\xe3\x6c\x35\xa9\x60\xba\xfc\xdf\x29\xf3\x8b\x15\x3b\
+\xc7\x48\xdd\xe9\x87\x46\x29\x84\x9a\x23\xf5\x09\x28\xc8\x96\x61\
+\xeb\x1a\x23\xee\xaa\xcb\x46\xaf\xc9\x85\x5e\x53\x74\x80\x24\x20\
+\x95\x1f\xa2\xd7\x34\x82\x0f\x0e\xb7\xc1\xee\xf4\x61\x5e\xa5\x16\
+\x22\xe1\xd4\xc7\x3e\x97\x4b\x84\x78\x60\x75\x29\x06\xcd\xb1\x76\
+\xf3\x84\x1e\x2b\x19\xc6\x4c\x5c\xd5\x8a\x45\x7c\xfc\xe5\x83\x8c\
+\xa3\x81\x03\x00\x86\xad\x6e\xbc\xf7\x49\x23\xf3\xcf\x45\xe2\x00\
+\xbf\x66\xcd\xb7\x37\xb1\x49\x28\xb1\x6d\x85\x06\x4a\x16\x71\xc8\
+\xef\x34\x8c\x11\x7b\x4d\xb1\x0c\xab\xe7\xaa\xf1\xe8\xea\x1c\xac\
+\x99\xa7\x41\x59\x9e\x04\x22\x21\x0f\x56\x87\x1f\x1e\x5f\x6a\x81\
+\xc0\x26\xc3\x63\x25\x79\xcd\xd4\x65\xac\x0e\x1f\x1a\x5a\x6c\xd8\
+\x79\xb4\x17\x87\x1b\x86\xa8\x8d\x52\xa5\x88\x23\xf5\x08\xe4\xea\
+\x24\xb8\x7f\x65\x11\xee\xaa\xcb\x46\xbf\xd9\x8d\xde\x21\x3a\x42\
+\x4f\x0c\x92\x04\xae\xb4\x9a\xf1\xd1\xb1\x4e\x68\x95\x62\x54\x14\
+\xa9\xa6\xfc\x3c\xc7\x98\xdd\x3c\x5b\x23\xc1\x89\x8b\x7d\x29\xfa\
+\x9b\x67\x76\x0f\x27\x93\xfd\x64\xc2\x63\x65\xac\xec\x1b\x8f\x2e\
+\x64\xd1\x3f\xe0\x1a\xf5\xe1\x0f\x1f\x5f\xa6\xef\x27\x01\x08\x1e\
+\x71\x8c\x5f\xb3\x7e\xfb\x56\x02\x58\xc9\xb4\xd3\x27\xd7\xe9\x20\
+\x16\xcd\xac\x53\x9d\xb7\x02\x08\x82\x80\x4a\x26\x40\x65\xa1\x14\
+\xab\xe7\x6a\xf0\xd8\x3a\x03\x36\x2e\xd2\xc2\x68\x90\x40\x24\xe0\
+\xc1\xea\xf4\xc3\x13\xad\xb1\xdf\x02\x1b\xfd\xd1\xb0\x3a\x23\x48\
+\xbd\x7e\x28\xec\xfd\xc2\x91\x3a\x85\x5c\x9d\x04\xf7\xaf\x28\xc2\
+\x5d\xb3\x72\x60\x75\x78\xd1\xd9\xef\xa4\xa9\x95\xf8\x87\x77\x8d\
+\xfa\xf1\xd9\xf9\x1e\x9c\x6b\x1c\x42\x6d\x89\x06\x3a\xd5\xd4\xef\
+\x59\xd5\x95\x69\xb1\xb8\x36\x07\x47\xeb\x7b\x23\xfc\xcd\x6f\x61\
+\xa4\xb9\x6a\xf5\xfa\xfc\xf8\xe6\xe3\x8b\x58\x45\xb9\x0c\x92\xc0\
+\xef\xde\xaf\x67\x2c\x07\x10\x17\x88\x87\x77\x34\xbf\x49\x92\x60\
+\xb4\xd9\x49\x00\x78\xe7\x87\x15\x33\x22\x46\xc4\xed\x88\x3e\xb3\
+\x07\xf5\x37\x1c\xb8\xd6\xee\x44\x43\x8b\x03\x26\xab\x17\xb1\x1a\
+\xc3\x44\x6d\x20\x36\x00\xfd\xf8\x8b\xf1\xb7\xd1\x2d\x90\x51\xf5\
+\xa3\x64\x68\x3d\x6e\xa2\x13\x79\x44\xd4\x21\x63\x7a\x0c\xf7\x3b\
+\x56\x52\x92\x27\xc3\xba\x05\xd9\x58\xbf\x20\x1b\xc6\x5c\xe6\xb9\
+\x5e\x6f\x57\x5c\xbc\x61\xc6\x7f\xef\x6e\xc6\xd1\x86\xfe\xb8\xdf\
+\x3d\x7d\x72\x12\xea\x4b\x27\x08\x02\xf7\xad\x2c\xc6\xf3\x9f\x9f\
+\x03\xf5\x34\xb8\x2b\xf6\x0f\xbb\xf0\xc2\x4f\x8f\xe0\xca\xcd\xe1\
+\xb8\xa6\x95\x8c\x24\x93\x88\xb8\xef\x49\x9a\xb2\xb1\xf7\x13\x87\
+\x40\xe7\xb1\x42\x73\x5f\x4f\xac\x10\x35\xf6\xd8\xb2\xb1\x7e\xa3\
+\x5b\x3f\xf5\xfb\xaf\x40\xa7\x62\xee\xd1\xe7\xf7\x07\x51\xb3\xed\
+\x97\x13\x57\x37\xb4\xe3\x8f\x7e\xf6\xf1\x3b\x7e\xed\xda\xed\x4f\
+\x01\x60\x94\xa3\x48\x2e\xe1\xe1\xd1\xd5\x33\x2f\xf3\xc9\xed\x02\
+\x85\x84\xd2\xd8\x57\xcc\x56\xe3\x91\x35\x06\xdc\xbd\x48\x07\xa3\
+\x41\x02\x85\x54\x00\x87\x3b\x10\x95\xfc\x20\x31\xa6\x4c\x99\x8f\
+\x67\xe9\x89\x2a\xb4\x3a\x7d\x68\xb8\x61\xc1\xce\x23\x3d\x38\x54\
+\x3f\x04\x2b\xa7\xa9\x03\xa0\x34\xf4\x2d\xcb\x0a\xb1\x6c\x76\x0e\
+\xcc\x76\x0f\xba\x06\x98\x69\xe8\x24\x80\xe6\x4e\x1b\x76\x1e\x6e\
+\x43\x96\x88\x8f\xba\x32\xcd\x94\xa6\x9a\x93\x4b\x85\x78\x60\x4d\
+\x29\x06\x86\x5d\x34\xfe\xe6\x2c\xee\xc3\x34\x34\xe3\xe9\xb6\x9d\
+\x3f\xba\xb1\x16\x5a\x16\x44\xce\xe3\x11\x78\xe3\x83\x06\x78\xe3\
+\x98\x5a\xe3\x7d\x2e\x02\x44\x07\xbf\x66\xfd\xf6\x6f\x02\x30\x32\
+\xe9\x50\xa7\x12\xdc\x92\xc7\xf3\x6f\x55\x28\xa4\x02\x54\x16\xca\
+\xb0\x72\xb6\x06\x8f\xac\x31\x60\xe3\x22\x1d\xaa\x0a\x65\x50\xc9\
+\x05\xb0\x8d\xf8\x31\x42\x4b\xec\x93\xe3\xb1\x42\x67\x13\x64\x0b\
+\x8a\xd4\xad\xf8\xe0\x48\x0f\x0e\xd7\x0f\xc2\xea\xf4\x41\x2d\x17\
+\x42\xad\xb8\x73\xbd\xa1\x0c\x5a\x8a\xd0\xd7\x2e\xcc\x83\xdd\xe9\
+\x45\x5b\x9f\x83\x91\xbc\xc7\x17\xc0\x89\x4b\xfd\x38\xd6\xd0\x8f\
+\xca\x22\x35\x0c\xda\xa9\x3b\xeb\x21\xe0\xf3\xb0\x61\x49\x11\xb2\
+\x35\x52\x1c\xbb\xd8\x33\x51\xe9\x65\xea\xb1\x92\x32\x66\x9e\xcc\
+\x03\xab\x2b\x91\x9f\xa3\x60\xd1\x07\xf0\xf6\xbe\xab\xb0\x39\x3d\
+\x89\xbb\x8c\x7d\x06\x07\xf9\x35\xeb\xb6\x3f\x0d\xa0\x80\x49\x67\
+\x06\x8d\x10\x9b\x17\x4d\xef\xf1\xe1\x3b\x19\x0a\xa9\x00\x65\xf9\
+\x52\x2c\xab\x53\xe3\x91\x35\xb9\xd8\xb0\x50\x87\xb2\x3c\x29\x64\
+\x12\x3e\x9c\xf1\x34\xf6\x49\xf0\x58\xc9\x1c\xc8\x30\xa9\xef\x3c\
+\xd2\x13\xda\x28\xf5\x86\x34\xf5\x3b\x93\xd4\x75\xaa\x2c\x6c\xbc\
+\xab\x00\xab\xe6\xe7\x61\xd8\xe6\x41\xe7\x80\x33\xbe\x49\x8b\x06\
+\x26\xeb\x28\x3e\x3c\xdc\x8e\x21\xab\x1b\xf3\x2a\xf5\xc8\x12\x4d\
+\x9d\x63\x42\x5d\x99\x16\xf3\xaa\xb2\x71\xb4\xbe\x27\x2a\xb9\x75\
+\xe6\x30\xdd\x5a\x77\x22\x6c\xb8\xab\x04\xe5\x45\x1a\x56\x7d\xbd\
+\x77\xb0\x11\x43\x16\xc6\x1b\xe0\xfd\xfc\x9a\x75\xdb\x9f\x01\xc0\
+\x28\xad\x85\x41\x2d\xc4\xc6\x85\x1c\x91\xcf\x14\x28\x43\x1a\xfb\
+\xaa\x39\x5a\x3c\xba\x26\x17\xf7\x2f\xcf\x41\x8d\x51\x0e\xb9\x44\
+\x00\x9f\x3f\x18\x4a\xb6\x31\xb9\x1e\x2b\x74\xd2\x6c\x6b\x5b\x1d\
+\x3e\xd4\xdf\xb0\xe0\xfd\x23\x3d\x38\x14\xd2\xd4\x35\x72\xd1\x1d\
+\xa9\xa9\x67\xab\xb3\xb0\x65\x59\x21\xd6\x2f\x2e\x80\xdb\xe3\x47\
+\x6b\x8f\x3d\x86\xd0\xe3\xce\xd1\x24\x70\xad\xcd\x82\x0f\x0e\xb5\
+\x41\x2c\xe2\x63\x56\xa9\x76\xca\xcc\x2d\x45\x06\x05\xee\x5b\x59\
+\x8a\xf3\xd7\x07\x42\xfe\xe6\xb7\xb0\xc7\x4a\x3c\x9b\x61\x1c\xa1\
+\x0d\x4b\x4a\x50\x53\xca\x28\x06\x61\x18\xef\x1e\x68\x44\xff\x70\
+\xa4\x59\x2d\xa5\xcf\x33\xc4\xaf\x5e\xbb\xfd\xdb\x04\xa0\x67\xd2\
+\x59\xae\x56\x88\x0d\xf3\x6f\xfd\x80\x59\xb7\x2b\x24\x62\x3e\x8c\
+\xb9\x12\x2c\x9b\xa5\xc1\x43\x2b\x0d\x78\x60\xb9\x01\xb5\x46\x39\
+\x14\xd2\x48\x62\x9f\x2a\xa4\xf7\x30\x5a\x9d\x3e\x34\x34\x5b\xf1\
+\xc1\x91\x6e\x1c\xba\x30\x38\x6e\x53\xbf\xc3\x48\x5d\xab\x14\x63\
+\xfd\xa2\x7c\xdc\xbd\xa4\x00\xae\xd1\x31\x42\xa7\xdf\x3c\x8c\x7e\
+\x39\x66\x6e\x39\x52\xdf\x8b\xf2\x42\x15\x72\x75\x53\xb3\xc9\x2c\
+\x97\x0a\xf1\xe0\x9a\x32\xf4\xc7\xb1\x9b\x4f\x1b\x32\xb4\x3a\x8d\
+\x87\x75\x4b\x8c\x98\x55\x9e\xcd\x4a\xf6\xfd\x83\x8d\xe8\x1d\x62\
+\x66\x4e\x03\x60\xe6\xd7\xae\xdb\xfe\x02\x00\x46\xeb\x80\x7c\x9d\
+\x08\xeb\xe6\x71\x44\x7e\xab\x80\x22\x76\x69\x88\xd8\x73\xf1\xc0\
+\x0a\x03\x6a\x8c\x72\xe8\x55\x22\x04\x82\x24\xcc\x0e\xba\x24\x09\
+\x74\x60\x77\xa7\xa7\x6c\x11\x48\xd2\xfc\xd8\x46\xe9\x07\x47\xba\
+\xf1\xd9\x85\x81\x3b\x92\xd4\x35\x13\x08\x3d\x80\x9b\x3d\x76\x24\
+\x4b\xb5\x39\x06\x93\x6d\x14\x1f\x1e\x69\x43\xcf\xe0\x08\xe6\x56\
+\xea\x20\xcd\x9a\xfc\x8c\x51\x02\x3e\x0f\x77\x2f\x29\x42\x4e\x8c\
+\xdd\x9c\xd6\xbf\x29\x09\xe2\xd4\x4e\x78\x3f\xb1\x59\x5f\xa6\xa7\
+\x7c\xac\x59\x58\x8c\x39\x95\x39\x2c\xda\x00\x3e\x3c\xd4\x84\xae\
+\xb8\x11\x10\x27\xf6\x13\x51\x62\xe7\xd7\xac\xdb\xfe\x12\x00\x46\
+\xac\x5c\x94\x23\xc2\xea\x39\xec\x8c\xf9\x1c\xa6\x1f\x12\x31\x1f\
+\x25\xb9\x52\x2c\xa9\x51\xe3\xfe\xe5\x06\x3c\xb8\x22\x17\x35\xc5\
+\x63\xc4\x0e\x98\x1d\xde\x14\xef\xe5\x68\xb7\x43\xfa\xcb\x29\x14\
+\xa6\xd6\x4f\xc4\x3b\xab\xd3\x8b\xfa\x66\x0b\x3e\x38\xdc\x8d\x7d\
+\xa7\xfb\xd0\x37\xec\x86\x34\x4b\x00\x83\xf6\xce\x88\xff\x33\x46\
+\xe8\xf7\xad\x28\x86\xc7\x17\x40\x73\x97\x2d\xb1\x86\x1e\x51\xd4\
+\xdc\x69\xc5\x07\x87\x6e\x02\x20\x30\xbb\x5c\x3b\x25\x6e\xc4\x75\
+\x65\x3a\xcc\xa9\xd0\xe3\x68\x7d\x6f\x72\xbb\xf9\x2d\xec\xb1\x02\
+\x00\x2b\xe7\x15\x62\x7e\x0d\xbb\x24\xcc\x1f\x1f\xbd\x81\xf6\x5e\
+\x6b\xca\x7d\x01\x00\x08\x38\xf9\x35\xeb\xb7\x7f\x0f\x00\xa3\x78\
+\xb4\x46\x83\x18\x2b\x67\x71\x44\x7e\xbb\x20\x4c\xec\xb5\x1a\xdc\
+\xbf\xdc\x80\x87\x56\xe6\x62\x5e\xb9\x0a\x39\x1a\x31\xbc\xfe\x20\
+\x45\xec\xc0\xd4\x3e\x25\x0c\xe0\x70\xf9\x71\xad\xcd\x86\x8f\x4f\
+\xf4\x62\xef\xe9\x3e\xf4\x9a\xdc\x90\xdd\x21\xa4\xae\x94\x89\xb0\
+\x66\x41\x1e\xee\x5f\x65\x84\xc7\x1b\xc0\x8d\x2e\x5b\x82\x53\x96\
+\xe3\xe5\x1e\x5f\x10\xa7\xaf\x0e\xe0\xc0\xe9\x4e\x94\xe4\x2b\x50\
+\x98\x33\xf9\xa9\xe6\x8a\x73\x15\xd8\xb4\xac\x18\x67\xae\xf6\xc3\
+\x6c\x1b\xbd\x2d\x3d\x56\x00\x60\xf9\xdc\x42\x2c\xaa\xcb\x63\xd1\
+\x0f\xb0\xf7\x58\x0b\x5a\xbb\x2d\xcc\xbc\xc6\x08\x8c\xf2\x6b\xd6\
+\x6d\xff\x3e\x00\x46\x77\x7c\x69\xae\x18\xcb\xeb\xa6\x3f\xc7\x20\
+\x87\xc9\x41\x96\x88\x8f\xc2\x1c\x09\x16\x55\xab\xf1\xc0\x8a\x5c\
+\x3c\xb4\x2a\x0f\xf3\xca\x95\x14\xb1\xfb\x22\x88\x3d\x06\x99\x7b\
+\x48\x12\xb7\x14\xff\xea\x38\xa9\xf7\x60\xef\xa9\xde\x3b\x86\xd4\
+\x15\x52\x21\xd6\x2c\xc8\xc3\x03\xab\x8c\x94\x4f\x79\xbb\x35\x71\
+\x78\xe5\x10\xac\x4e\x0f\x3e\x3e\xd6\x81\xeb\x6d\x16\xcc\xaf\xce\
+\x86\x5c\x3a\xb9\xfe\xfc\x2a\xb9\x18\x0f\xae\x29\x47\x67\xbf\x1d\
+\xad\xdd\x36\x56\x6d\xcc\x04\xad\x3b\x91\xc0\x92\x59\xf9\xb8\x6b\
+\x76\x3e\xab\xfe\x0e\x9c\xbc\x89\xe6\x8e\x61\x86\x52\x84\x8f\x5f\
+\xb3\x6e\xfb\x0f\x01\x30\xfa\xf5\x2a\xf2\xb3\xb0\xb4\x86\x23\xf2\
+\x3b\x05\xd1\xc4\xfe\xd8\xfa\x02\x2c\xa8\x54\x43\xaf\x12\x51\x59\
+\x94\xec\xde\x94\xed\xb4\x91\x98\x94\x07\x32\xa2\xd1\x48\x52\xdf\
+\x73\xb2\xe7\x8e\x30\xbf\x28\xa4\x42\xac\x98\x9b\x8b\x07\x56\x1b\
+\x41\x92\x40\x53\xa7\x0d\x81\xb8\x3f\xce\xb8\x69\xac\xa3\xcf\x81\
+\xf7\x3f\xbd\x09\x7f\x20\x88\xb9\x15\x7a\xf0\xf9\x93\x67\x6e\x11\
+\x0a\x78\xd8\xbc\xac\x04\x59\x62\x7e\xdc\xf8\xe6\xb7\xaa\xc7\x0a\
+\x00\x2c\xac\xcb\xc3\xf2\xb9\x8c\x3c\xba\xc3\x38\x78\xa6\x0d\x8d\
+\x6d\xa6\x44\x9d\xd3\x0e\x88\x5f\xb3\x6e\xfb\xdf\x03\x60\x14\x34\
+\xa5\xb2\x20\x0b\x4b\xaa\x6f\xbf\xec\x40\x1c\x52\x83\x50\xc0\x43\
+\xbe\x3e\x0b\x8b\xaa\x35\xb8\x77\x59\x2e\x3e\xb7\xbe\x00\x0b\xaa\
+\xd4\xd0\xa9\x44\x20\x40\x44\x10\x7b\x06\x1e\xc6\x0c\x1d\x24\x71\
+\xb8\x7c\xb8\xda\x66\xc3\xc7\xc7\x7b\xb0\xe7\x54\x2f\xfa\x86\x5d\
+\x21\x52\xbf\x3d\x93\xa3\xc8\x43\x84\xfe\xe0\x2a\x8a\xd0\x9b\xbb\
+\x6c\x08\xc4\x84\x53\x9e\x08\x7f\x20\x88\x73\x8d\x83\xd8\x77\xaa\
+\x13\xc5\xb9\x0a\x14\xe7\x4e\x9e\xf9\x94\x20\x80\x05\x35\x39\x98\
+\x53\xa1\xc7\x91\x0b\x3d\x29\x07\x8e\x4b\x1b\x93\xec\xb1\x02\x00\
+\xf3\xaa\x0d\x58\xb5\xa0\x88\x95\xec\xa1\x73\x1d\xb8\xd2\x32\x18\
+\xe7\x6a\xdc\x41\xf2\xc6\x34\x72\x46\x44\x5e\x9e\xcf\x11\x39\x87\
+\x71\x44\x13\xfb\x63\xeb\x0b\xb1\xa0\x4a\x8d\x7c\xbd\x04\x3c\x1e\
+\x01\x93\xd5\x33\xae\xb1\x4f\xe2\x83\x94\x6a\x13\x4e\x97\x1f\x57\
+\xdb\xac\x14\xa9\x9f\xec\x41\xaf\xc9\x7d\xdb\x92\xfa\x18\xa1\x3f\
+\xb2\xbe\x0c\x3c\x1e\x81\xeb\xed\x96\x04\x89\x4f\x28\xed\xd4\xe6\
+\xf4\x62\xf7\xf1\x0e\x34\xb6\x59\x30\xaf\x52\x0f\x85\x6c\xf2\xbc\
+\x82\x8a\x73\x95\xd8\xb4\xcc\x88\x33\x57\xfa\x60\xb6\x27\x8a\xd5\
+\x7e\x6b\x78\xac\x00\xc0\x82\x9a\x5c\xd6\x44\x7e\xf0\x4c\x5b\x02\
+\x22\x8f\xdb\x33\xc9\xaf\x59\xb7\xfd\x65\x30\x34\xad\x18\x0d\x62\
+\xce\xb4\xc2\x21\x2e\x28\x62\x97\x60\x7e\xa5\x1a\x5b\xee\x32\xe0\
+\xf1\x0d\x63\xc4\x9e\x05\x3e\x8f\x80\xc9\xe6\x45\x30\x65\x5b\x4c\
+\xac\xc7\x0a\x53\x99\x44\xa0\x48\xdd\x86\x8f\x8e\x77\xdf\xd6\xa4\
+\x2e\x11\x0b\xb0\x74\xb6\x01\x8f\xac\x2f\x87\x44\x2c\x40\x63\xbb\
+\x15\x3e\x7f\x62\x2d\xb8\xa3\xcf\x81\x77\x3f\x6d\x41\x20\x40\x62\
+\x4e\xa5\x0e\x02\xfe\xe4\x44\x3b\x55\xc9\xc5\x78\x68\x6d\x05\x3a\
+\xfa\xec\x68\xed\x8a\x63\x37\xbf\x45\x3c\x56\x00\xe0\xae\x39\xf9\
+\x58\x31\xaf\x90\x55\xbb\x7b\x8e\xb7\x44\x98\x56\xa2\xfa\x8a\xe7\
+\xc7\x4b\x52\x9b\x9d\x2f\x81\xe1\x66\x67\x61\xb6\x88\xdb\xec\xe4\
+\x90\x32\x04\xfc\x08\x62\x5f\x9a\x8b\xc7\x37\x14\x62\xd9\x2c\x1d\
+\x8a\x72\xa8\x83\x29\xc3\x76\xef\x84\x84\xd6\xd3\xf5\x40\x3a\x42\
+\x9a\xfa\x47\xc7\xbb\xb1\xe7\x44\x0f\x7a\x4d\xb7\x9f\xf9\x45\x22\
+\x16\x60\x71\x6d\x0e\x1e\x59\x5f\x06\x89\x58\x80\xeb\x1d\x96\x04\
+\x89\x4e\x48\x04\x02\x24\x65\x6e\x39\xd9\x81\x42\x83\x1c\xc6\xbc\
+\xc9\x39\x3f\x12\xb6\x9b\x8b\x04\x38\x73\xa5\x3f\xae\xe5\x7a\x2a\
+\x4f\x1d\xb3\x95\x59\x36\x37\x1f\xcb\xe6\xb2\x23\xf2\x8f\x8f\xdc\
+\x40\x73\x3b\xe3\xcd\x4e\x27\xbf\x86\x3a\x10\xc4\xc8\x4e\x92\xaf\
+\x13\x61\xd5\x6c\xce\xfd\x90\x03\x3b\x08\xf8\x3c\xe4\x68\xb2\x30\
+\xa7\x5c\x85\x2d\x4b\x73\xf1\xc4\xdd\xc5\x58\x58\xa5\x41\xae\x2e\
+\x8b\xda\x3c\x75\x78\x93\x6f\xd0\x31\x02\xf3\x65\xb9\xc3\xe5\xc3\
+\x95\x10\xa9\x7f\x72\xb6\x0f\x66\xbb\x07\x2a\xb9\x70\xda\x52\xac\
+\x65\x1a\x59\x63\x84\xbe\xae\x0c\x02\x3e\x0f\xcd\x1d\x96\x89\x29\
+\x09\xa3\xbe\x1b\xfb\x88\x17\xbb\x4f\x74\xa0\xf1\xa6\x19\x73\x2a\
+\xf5\x50\x4e\x82\xb9\x85\x20\x80\x85\x35\x39\x98\x55\xae\xc3\x91\
+\xfa\xee\xb8\x51\x00\xa7\x0a\x6c\x3c\x56\x8b\xb0\xc0\x9a\x00\x00\
+\x20\x00\x49\x44\x41\x54\x00\x60\xd9\xdc\x42\x2c\x9d\xc3\x6e\xb3\
+\xf3\xc3\xc3\x4d\x68\xed\xb2\x30\xed\xdd\xce\xaf\x59\xbb\xfd\x5b\
+\x60\x78\x20\x28\x57\x2b\xc4\x1a\xee\x40\x10\x87\x0c\x41\xc0\x27\
+\x90\xa7\x97\x60\x41\x95\x06\xf7\x2e\xcb\xc3\x93\x77\x17\x63\x71\
+\x8d\x36\x4c\xec\x16\x7b\x22\x62\x8f\x40\x3c\xbe\x4e\x53\xc5\xb7\
+\x39\xbd\x68\xb8\x61\xc6\x07\x87\x3a\x70\xe0\x4c\x2f\x2c\x76\x0f\
+\x54\x72\xd1\x6d\x41\xea\x59\x62\x01\xee\x9a\x65\xc0\xa3\x77\x57\
+\x40\x28\xe4\xa1\xa9\xd3\x4a\xab\xa1\x8f\x9d\xc3\xec\xe8\x73\xe0\
+\xbd\x83\x2d\xf0\x85\xbc\x5b\x26\xc3\xdc\x62\xcc\x53\x62\xe3\x52\
+\x23\x4e\x5f\xee\x83\x25\xa1\xdd\x3c\x76\x84\xcc\x90\x79\x8f\x15\
+\x00\x58\x39\xbf\x10\x4b\x66\xb1\x73\x3f\xfc\xe0\xd3\xeb\x68\xef\
+\x89\x3d\x10\x94\x04\x66\x7e\xcd\xba\xed\xcf\x82\xe1\x11\xfd\x1c\
+\xb5\x90\x3b\xa2\xcf\x61\xd2\xc0\xe7\x13\xc8\xd5\x65\x61\x41\x25\
+\x45\xec\x5f\xd8\x52\x82\x55\x73\xb3\x91\xaf\x97\x40\x2c\xe4\xc3\
+\x6c\xf7\x46\x68\x8f\x19\x3c\xea\x9d\x82\x8c\xcd\xe9\x43\x7d\xb3\
+\x19\xef\x1f\xea\xc4\xee\x13\xdd\xe8\x35\xb9\x42\x7e\xea\xb7\xb6\
+\xf9\x25\x4b\xc4\xc7\x92\x3a\x03\x9e\xd8\x5c\x05\x85\x54\x88\xeb\
+\xed\x96\xb8\x27\x30\x03\x41\x12\xe7\x1b\x07\xf1\xe1\x91\x36\x68\
+\x94\x62\x54\x19\xd9\x45\xfa\x4b\x04\xb5\x42\x8c\xad\xeb\xca\xd1\
+\xde\x67\xc7\x4d\x96\xfe\xe6\x63\x88\x6f\x63\x4e\x52\xce\xb2\xaf\
+\x0d\x77\x95\x60\x01\xcb\x93\x9d\xef\x1e\xb8\x16\xe7\x88\x3e\xed\
+\xd1\xfc\x31\x0c\xf1\xab\xd7\x6d\x7f\x9a\x69\xd0\x2c\xbd\x4a\xc0\
+\x05\xcd\xe2\x30\x65\xe0\x11\x04\xf4\x2a\x31\xe6\x96\xab\xb1\x71\
+\x49\x2e\x3e\xbf\xc9\x88\x55\xf3\xb2\x51\x9a\x2f\x87\x54\xcc\x87\
+\xc9\xea\x81\x37\x89\x6b\xdd\x64\xc0\xe1\xf2\xe1\xea\x4d\x2b\xfe\
+\x7c\xb4\x2b\x4c\xea\x52\x89\x00\xb9\xb7\x30\xa9\x8b\x04\x3c\x2c\
+\xa8\xce\xc6\x13\x9b\x2a\xa1\x53\x49\x70\xbd\xdd\x12\x37\x85\xdb\
+\x88\xdb\x8b\x4f\xcf\x76\xe1\xfc\xf5\x21\xcc\x2a\xd3\x41\xab\xcc\
+\xac\x7f\xbe\x50\xc0\xc7\x96\xe5\xa5\xc8\x12\xf1\x71\xfa\x72\x1f\
+\xc3\x98\x3d\xd3\x67\x43\xdf\xb2\xbc\x0c\xb3\x2b\xd8\xc5\x5a\x79\
+\x7b\xdf\x55\xf4\x0e\x32\x0e\x9a\xd5\xc7\xaf\x5d\xbf\xfd\xeb\x60\
+\x18\xc6\x56\xab\x10\x70\x61\x6c\x39\x4c\x1b\xc6\x88\xbd\xae\x54\
+\x85\xf5\x8b\x0c\xf8\x8b\x4d\x25\x14\xb1\xe7\xc9\x21\xcd\xe2\x63\
+\xd8\xe6\x4d\xb0\x81\x47\x87\x84\xda\x4e\x4a\x32\x14\xa9\x5b\xf0\
+\xe7\x63\x63\xa4\x4e\x79\xbf\xe4\xea\x6e\x4d\x52\x17\x0a\x78\x98\
+\x53\xa1\xc3\x63\x1b\x29\x42\x6f\xea\xb0\xc2\x35\x4a\x1f\x5c\xad\
+\x67\xc8\x89\xf7\x0e\xb6\xc0\xea\xf4\x62\x41\x75\x36\x44\xc2\xcc\
+\xc5\x3e\xa7\xec\xe6\x06\xcc\xae\xd0\xe3\xc8\x85\xee\xb8\xfe\xe6\
+\x33\xc5\x63\x05\x20\xf1\xc0\xda\x4a\x54\x97\xb0\x0b\x63\xfb\xc7\
+\x3d\x57\xd0\x6f\x1a\x0f\x63\x9b\x82\xc7\x0a\x00\xf4\xf0\x6b\xd6\
+\x6d\x7f\x0a\x0c\x13\x4b\xa8\xe4\x7c\x2e\xb1\x04\x87\x19\x03\x22\
+\x44\xec\xb3\x4a\x55\xd8\xb0\x28\x17\x7f\xb1\xa9\x04\x2b\xe7\xe6\
+\xa0\xd8\x20\x85\x50\xc8\x83\xd9\xe1\x49\x60\xf7\x4d\x11\x0c\x96\
+\xe5\x0e\x97\x0f\x57\x5b\x2d\xf8\xf3\xb1\x4e\xec\x3f\xdd\x03\xb3\
+\x8d\xb2\xa9\xeb\x54\xb7\x9e\x4d\x7d\x8c\xd0\x1f\xdf\x58\x01\xa5\
+\x4c\x84\xe6\x4e\xeb\x04\x0d\x7d\x4c\xf9\x0d\x92\x24\x2e\xb7\x0c\
+\xe1\xa3\xa3\x6d\xc8\xd1\x4a\x51\x51\x94\xd9\x0c\x62\xc6\x3c\x25\
+\xee\x5e\x6a\xc4\xa9\x4b\xbd\xb0\x38\x52\xb5\x9b\x47\x82\x8d\xf1\
+\x8d\xdd\xf4\xf0\xf0\x86\x1a\x94\x15\xb2\x33\x37\xbd\xf5\xd1\x25\
+\xe6\x89\x25\x48\x74\xf0\x6b\xd6\x6d\xff\x12\x18\xa6\x7a\x13\x0b\
+\x79\x78\x80\x4b\xf5\xc6\x61\x86\x82\x20\x08\xe8\xd5\x62\xcc\x2e\
+\x57\x63\xd3\x92\x3c\x7c\x61\x4b\x29\xd6\xcc\xcf\x81\x31\x57\x0e\
+\x91\x80\x07\x9b\xd3\x0b\x8f\x37\x8e\xc6\x9e\xe1\x65\xb9\xcd\xe9\
+\x45\x43\xf3\x30\xde\x3b\xd4\x8e\x7d\xa7\xbb\x31\x6c\xf3\x40\x2d\
+\x17\x4d\x4b\xc6\xfb\x74\x20\x14\xf0\x30\xbf\x8a\x32\xb9\x68\x94\
+\x62\x34\xc7\xd1\xd0\x47\xdc\x3e\x1c\x38\xdd\x89\xf3\x8d\x03\xa8\
+\x2b\xd3\x41\x9b\xc1\xcf\xa9\x51\x64\xe1\xa1\x75\x15\x68\xe9\xb6\
+\xa2\xbd\x37\x3d\xbb\x79\xc6\x11\xf1\xf3\x3f\xb1\xa5\x0e\x45\x06\
+\x76\xa6\xe7\xdf\xbc\x7b\x1e\x76\x27\xe3\x89\xaa\x95\xd8\xb6\xa3\
+\x69\x27\x48\x62\x2b\x13\x29\x59\x16\x0f\x6f\xbd\x5c\xce\xb4\x33\
+\x0e\x1c\x66\x0c\x7a\x87\x5c\x38\xdb\x38\x8c\x4b\xad\x56\x9c\xbf\
+\x6e\xc2\xa0\x25\xf4\xf0\x84\x88\x3c\x76\x25\x1b\xed\xc1\x3c\x61\
+\x69\x1b\x2b\x43\x7b\xb2\x70\xdc\xe3\x21\x4f\x2f\xc5\xda\x05\xb9\
+\xb8\x7b\x49\x3e\xe6\x55\xb2\x5b\x86\x4f\x27\x7c\xfe\x20\x76\x1d\
+\xbe\x89\xdf\xbc\x7f\x19\x03\xc3\x63\x1a\xe4\xc4\x6f\x8d\xc7\x03\
+\x3e\xbf\xa5\x1a\xcf\x3c\x36\x3f\xa3\xc1\xb8\x48\x12\x78\x63\xd7\
+\x25\xfc\xfc\xad\xf3\xa1\x48\x8f\xcc\xbe\xfb\xb1\xd2\x58\xb3\x45\
+\x84\x0c\xed\x84\x4e\xd2\x38\xad\x90\x51\x7f\x48\xec\x7e\xed\xf3\
+\xa8\x32\xb2\x4b\x4e\x3f\xe7\xd1\x5f\x63\xc4\xed\x89\x6e\x9d\xc6\
+\xf5\x8a\x8c\xfc\x98\xef\x13\xdb\x5e\x69\x7e\x03\xc0\x53\x4c\x3a\
+\x23\x00\xbc\xf3\x83\x8a\x49\x0d\xac\xc3\x81\xc3\x54\x22\x4c\xec\
+\x2d\x16\x5c\x68\x32\xa1\xdf\x1c\xa9\x15\x91\xb1\xbc\x9d\x94\xc8\
+\xe9\x1e\xf7\x58\x32\x01\x80\x5c\xbd\x14\x6b\x17\xe4\x61\xe3\x2d\
+\x48\xea\x3e\x7f\x10\x7b\x4f\x76\xe0\xd7\xef\x5e\x42\xd7\xc0\xc4\
+\x4d\xba\xb1\xf8\xe8\x7a\xb5\x04\xcf\x3c\x36\x0f\x8f\xdc\x5d\x01\
+\x5e\x06\x53\xcd\x1d\x3e\xdf\x85\xbf\xfd\xf7\xc3\x70\x8c\x78\xe2\
+\x12\x79\x8a\x44\x18\x29\x18\x51\x3d\x19\x91\x93\xd1\x97\x00\x90\
+\x38\xf3\xd6\x53\xd0\xaa\x98\xef\x8d\xf8\xfc\x01\x54\x3f\xf4\x4b\
+\xc4\xf6\x10\xeb\xf2\x48\x4e\xbc\xff\x7e\xcb\xaf\x59\xb7\x7d\x25\
+\x80\x95\x4c\x3b\xbd\xf7\x2e\x35\xb2\x44\x93\x73\x64\x97\x03\x87\
+\xa9\x86\x42\x26\x44\x8d\x51\x85\xb5\x0b\x0c\x78\x72\x53\x29\x36\
+\x2e\xc9\x43\x79\x81\x02\xd2\x2c\x01\xec\x4e\x2f\x7d\x42\x6b\x46\
+\x88\x6f\xae\x71\x8c\xf8\x70\xa5\xd5\x82\x0f\x8f\x76\x60\xdf\xa9\
+\xee\x08\x9b\xfa\xcc\x37\xbf\xf0\x79\x04\xaa\x8d\x1a\x3c\xbe\xa9\
+\x0a\xb9\x3a\x29\x5a\xba\x6d\x70\x8c\x4c\x0c\x73\xec\x1a\xf5\xe3\
+\xf0\x85\x6e\x9c\xbe\xdc\x87\xda\x52\x2d\xf4\xea\xcc\x6c\x00\x97\
+\xe4\xab\x70\xf7\x92\x62\x9c\xbc\xd4\x0b\x8b\x23\x32\xf3\xfc\x54\
+\x79\xac\xc4\x82\xcf\xe7\xe1\x3b\x7f\xb5\x8c\x55\x6e\xd4\x61\xab\
+\x1b\xbf\x7b\xbf\x9e\xb1\x1c\x49\x12\xfb\xf9\x35\xeb\xb7\x2f\x04\
+\xb0\x89\xa9\xf0\xdd\x0b\x94\x50\xc9\xa6\x2e\x33\x37\x07\x0e\x53\
+\x09\xb5\x42\x84\xda\x12\x15\xd6\x2f\xca\xc5\x5f\x6c\x2e\xc3\xbd\
+\xcb\x0b\x51\x53\xa2\x86\x46\x21\x82\x6d\xc4\x0b\xa7\xcb\xc7\xdc\
+\x2f\x99\xa6\x3c\xba\xc8\xe6\xf4\xa2\xbe\x79\x18\xef\x7f\xd6\x86\
+\x8f\x8e\x76\x50\x7e\xea\x12\x01\x0c\x5a\x29\xa6\x28\x6f\x32\x2b\
+\xf0\x79\x04\xea\xca\x74\x78\x72\x73\x15\x8a\xf3\x14\x68\xe9\xb6\
+\xc1\xe6\xf0\x4c\xa8\xd3\x3f\x3c\x82\xf7\x3e\xb9\x81\xae\x41\x27\
+\x16\xd6\x1a\x20\x11\xa7\x9f\x6a\x4e\xa3\xcc\xc2\xb6\xf5\x95\xb8\
+\xd9\x63\xc5\xcd\x9e\x4c\xda\xcd\xe9\x7f\xc4\x64\x1e\x2b\xd9\x1a\
+\x29\xbe\xf6\xf0\x02\x56\x3d\x76\x0f\x38\xf0\x87\x8f\x2f\xc7\xf6\
+\x95\xd8\x63\x05\x04\x81\x5d\xfc\x9a\x35\xdf\xaa\x01\x81\x87\x98\
+\x76\xba\x6a\xb6\x02\xd9\xea\xc9\x0d\x42\xcf\x81\xc3\x4c\x81\x52\
+\x26\x44\x65\x91\x12\xab\xe6\x19\xf0\xe4\xc6\x52\x6c\x5b\x6b\xc4\
+\xac\x32\x0d\x94\x32\x21\xec\x23\x5e\x38\x5c\xf1\xf3\x9e\xb2\xa1\
+\x04\x20\x14\x26\xa0\xd5\x8c\x0f\x8f\x74\xe0\xe3\x63\x1d\xe8\x35\
+\x8d\x40\x26\x11\xce\x68\x52\xe7\x85\x34\xf4\x27\xb7\x54\xa1\xb2\
+\x48\x8d\xe6\x4e\x0b\xac\x11\x84\x4e\x92\x40\x53\x87\x05\xef\x7f\
+\xda\x82\x2c\x11\x1f\xb3\xcb\xf5\xac\xb4\xd7\x48\x88\x84\x7c\xdc\
+\xbb\xa2\x0c\x59\x22\x41\xc8\xdf\x9c\xc6\x24\xc2\x00\xe9\xe8\xe6\
+\x25\xf9\x6a\x7c\xfe\x9e\x59\xac\x64\x5b\x3a\xcd\x78\xef\x93\x46\
+\xc6\x72\x04\x41\xfe\x91\x5f\xbb\xf6\x5b\xc5\x20\xf0\x24\x53\xe1\
+\x25\xd5\x32\x14\x66\xdf\x39\x49\x6f\x39\x70\x88\x84\x34\x4b\x80\
+\xb2\x7c\x05\x56\xcd\x33\xe0\x89\x4d\x65\xd8\xb6\xce\x88\xd9\x65\
+\x1a\x28\x64\x22\x78\x7d\xc1\xf1\xa5\x7e\x86\x30\x4e\xea\xed\xf8\
+\xf8\x68\x07\x7a\x4c\xae\x19\x4d\xea\x04\x41\xa0\xbc\x50\x8d\x27\
+\xb7\x54\xa3\xb2\x48\x8d\x96\x2e\xeb\x04\xb7\x41\x8f\x37\x80\x63\
+\x0d\x3d\x38\x7c\xbe\x1b\x55\x46\x0d\x72\x75\xe9\x85\xc5\x26\x08\
+\x60\x61\x2d\xe5\x6f\x7e\xf8\x7c\x57\x92\x38\x2d\x19\x36\xbd\x44\
+\x5c\xaa\x2b\xcb\xc6\xd6\x75\x55\x2c\xda\x07\x2e\xdf\x18\xc4\xee\
+\xa3\xcd\x8c\xe5\x48\x12\x6f\xf0\x6b\xd7\x3f\x9b\x0d\x10\x8c\x36\
+\x3b\x01\x60\x5e\xb9\x14\xe5\x79\x33\xdf\x86\xc7\x81\xc3\x54\x60\
+\x8c\xd8\x57\xcf\x33\xe0\x73\x1b\x4a\xf0\x70\x98\xd8\x85\xf0\xfa\
+\x53\x21\xf6\xd4\xc9\xc5\x1e\x22\xf5\x5d\x47\xda\xf0\xd1\xb1\x31\
+\xf3\xcb\xcc\x24\xf5\x31\x42\x7f\x62\x73\x15\x66\x97\xeb\xd1\xd6\
+\x63\xc3\x90\xd5\x1d\xbe\x3e\x64\x75\xe3\x83\xcf\x6e\xa0\x7b\xc0\
+\x89\x05\xd5\x39\x90\x64\xa5\x67\x6e\x29\xc9\x57\x61\xd3\xb2\x12\
+\xca\xdf\x3c\x41\x9c\x96\x84\xa6\xf4\x34\x8e\xf2\x2f\x99\x95\x8f\
+\x8d\xcb\x4a\x93\x57\xa4\xc1\xd9\x2b\xbd\xf8\xf4\x4c\x1b\x63\x39\
+\x82\xc7\x7b\x8d\x3f\x6b\xdd\x76\x29\x09\xe2\x59\xa6\xc2\xd5\x85\
+\x59\xa8\x33\xde\x9a\xa7\xd6\x38\x70\x98\x6c\x48\xb3\x04\x28\x2b\
+\x50\x60\xf5\xfc\x5c\x7c\x6e\x43\x29\x1e\x5a\x6d\x44\xb5\x51\x05\
+\xa5\x5c\x04\x97\xdb\x0f\xfb\x48\xbc\xbc\xa7\x14\xe2\x72\x46\xd4\
+\x85\x31\x4d\x7d\xd7\xe1\x76\xec\x3d\xd9\x89\x61\xdb\x28\x94\x72\
+\x11\xf4\xea\x99\xa5\x64\x11\x04\x81\x92\x3c\x25\x1e\xdd\x58\x89\
+\xca\x62\x0d\xda\x7b\xed\x18\xb6\x8d\x13\x7a\x53\xbb\x05\xef\x1e\
+\x6c\x86\x4c\x22\x44\x5d\x99\x2e\x2d\xef\x16\xb5\x22\x0b\x0f\xae\
+\xa9\x40\x53\x87\x19\x1d\x7d\xf6\x14\x08\x38\x7d\x0d\x7d\xec\xdd\
+\xea\x85\xc5\x58\x39\x9f\x5d\x52\x89\x23\xe7\x3b\x70\xf2\x62\x57\
+\xc2\x7e\xe8\x4a\x02\x41\xff\xbf\xf0\x67\x2f\xff\x36\x11\xe4\xe3\
+\x25\xa6\x9d\xe6\xe9\x44\x58\x5c\xc5\x7c\x39\xd4\x63\xf2\x62\xd0\
+\xe2\x03\x41\x00\x59\x22\xde\x8c\xd3\x20\x38\x70\x98\x0c\xc8\x25\
+\x42\x54\x16\xa9\xb0\x66\x41\x2e\x65\x8a\x59\x5b\x82\x1a\xa3\x0a\
+\x2a\x99\x18\x6e\x8f\x1f\x36\x67\x14\xb1\xb3\x08\xd9\x68\x73\x7a\
+\x70\xa1\xc9\x84\xf7\x3e\xbd\x89\xdd\x27\x3a\x31\x6c\x1d\x85\x52\
+\x26\xca\x98\x97\x48\x26\x30\xa6\xa1\x3f\xbe\xa9\x1a\x35\xa5\x5a\
+\x74\xf6\x39\xc2\x1a\xba\xc7\x17\xc0\x91\x0b\xdd\xf8\xec\x5c\x17\
+\xaa\x8a\x35\xc8\xd3\xb3\x37\xb7\x88\x45\x7c\xdc\xbf\xba\x3c\x14\
+\xe0\xab\x3f\x53\xc3\x4f\x8a\x7b\x56\x94\xb3\x0e\x98\xb5\xf3\xd3\
+\x26\x46\xd9\x81\xc6\x10\x0c\x64\xfd\x3d\x01\x90\xc4\xd6\x57\x6e\
+\xb8\x08\x86\xc9\x25\x16\x54\x48\xf1\xc3\x2f\x32\x8f\xb9\xfb\xe7\
+\x53\x56\xbc\xb9\x77\x08\x00\xb5\xd3\xad\x96\xf3\x91\xad\x12\x40\
+\xab\x10\x40\xab\x14\x40\xa7\xa4\x5e\xeb\x43\x7f\x75\x4a\x01\x84\
+\x02\x8e\xed\x39\xdc\xde\x30\x59\x47\x71\xa1\xc9\x84\x0b\xd7\x4d\
+\xb8\xd0\x64\xc2\xcd\x9e\x38\x11\xf0\x12\xf8\x31\xc7\x3b\xc8\x54\
+\x64\x90\x63\xe3\xd2\x22\x6c\xba\xab\x10\x35\x25\x99\x8f\x54\x98\
+\x0e\x48\x92\xf2\x07\xff\xf5\x7b\x97\x70\xb9\x65\x28\x5c\x4e\x10\
+\xc0\x43\xab\xcb\xf1\xc2\x97\x16\xa7\x3d\x11\xed\x3f\xd9\x86\x97\
+\x7f\x71\x38\xe2\x24\x6a\xb4\x0f\x79\x94\x76\x4d\x3b\x89\x92\x51\
+\x73\x6b\xb4\x0f\x39\xf5\xfe\xb5\x97\xef\xc1\x3d\x2b\xd9\x1d\x96\
+\xfc\xcb\xef\xef\xc4\xb1\xfa\x8e\x89\xad\x27\xf3\x7f\x27\xe1\xee\
+\xd8\xff\xbc\x8c\x00\x80\x6d\xaf\xdc\x68\x02\x48\x46\x16\xfa\x02\
+\xbd\x08\xaf\x3d\x6b\x64\x3c\xd8\x73\xcd\x23\xf8\xf1\xff\xf4\x32\
+\x90\x20\x21\x14\x10\xd0\xc8\x05\xc8\xd5\x08\xa1\x55\xf2\xc7\x5f\
+\x2b\x04\xd0\x28\x28\xc2\x57\xcb\x05\x9c\x76\xcf\xe1\xb6\x81\xd9\
+\xee\xc1\xd5\x9b\x16\x34\x34\x9b\x70\xe6\xea\x20\xae\x77\x58\x10\
+\x3a\xc4\x98\xe0\x40\x0a\xfd\x01\x96\xc8\x9a\x79\x7a\x29\xd6\x2f\
+\x2a\xc0\xa6\xa5\x45\x98\x57\xa9\x9f\x51\xcf\x4c\xfd\xf5\x41\xfc\
+\xfb\x9f\x2e\xe0\xec\xd5\x90\x06\x4d\x92\x90\x88\x05\xf8\xca\xd6\
+\x39\xf8\xc6\x23\x73\x21\x14\xb0\x3f\xb7\xd2\xd6\x63\xc3\x33\x3f\
+\xd9\x8f\x9b\x3d\x56\x24\x22\x72\x32\xd4\x6f\x2c\x52\x23\xf2\x74\
+\x4e\x75\xae\xff\xda\x7f\xa3\xa3\xd7\x32\xb1\xf5\xe4\x07\x99\x1a\
+\x3b\xf6\xbd\x50\x17\x22\xf2\xe6\x7d\x00\x36\x33\xe9\x54\x28\x20\
+\xf0\xf6\xf7\x2b\x18\xdf\x08\x3d\x26\x2f\x9e\x7d\xad\x23\x75\x01\
+\x32\xfa\xf6\x8c\x3d\x12\x0b\x00\x22\x01\x41\x69\xf5\x21\x72\x1f\
+\x23\x78\x8a\xfc\x05\xd0\xc8\x05\xc8\x56\x0b\xc1\xe7\xcd\xa0\x3b\
+\x97\x03\x87\x14\x61\x71\x78\x70\xa5\xd5\x8c\x86\xe6\x61\x9c\xbe\
+\x32\x88\xa6\x0e\x2b\x82\xe4\xc4\x8c\x3e\xa9\x10\x79\x64\x41\x9e\
+\x5e\x86\xf5\x8b\xf3\xb1\x69\x69\xf1\x8c\x22\xf5\xfa\xeb\x83\xf8\
+\x8f\xb7\xeb\x71\xfa\x32\xa5\xf0\x91\x00\x4a\xf3\x55\xf8\xde\x53\
+\x4b\xb1\x6a\x3e\xbb\xcc\x3b\x00\xe0\x74\x79\xf1\xdd\x7f\x3f\x84\
+\x83\x67\xda\x19\x12\x79\xf4\x4a\x28\x42\x26\x82\x87\x78\x04\x81\
+\xcb\xef\xfe\x35\xc4\x22\xe6\xe7\x6b\x82\x24\x89\xba\x6d\xbf\x0c\
+\x7b\xdb\xa4\xae\x91\x93\xbb\x3b\xf6\xbf\x78\x3f\x01\x00\x0f\xef\
+\x68\xfe\x35\x49\xe2\xaf\x99\x76\xfe\xc6\x8b\xa5\xd0\x2a\x98\xed\
+\x32\xfb\x03\x24\x9e\xf8\x71\x0b\x82\x29\x45\x19\x4d\xfc\x05\x92\
+\x91\xef\xc3\x97\xe9\x4a\xc7\x1b\x91\x4b\xf8\x30\x84\xc8\x9d\x22\
+\x7e\x21\x34\x0a\x3e\x72\xb5\x22\xe8\x14\x42\xe8\x55\x42\x48\xc4\
+\xdc\x89\x55\x0e\x33\x1b\x23\x6e\x1f\xae\xdc\xb4\xe0\xcc\xd5\x01\
+\x8a\xd8\xdb\xad\x08\x90\x51\x0f\x55\xd2\xf8\x30\xd4\x1b\x12\x14\
+\xa9\x6f\x58\x54\x80\x4d\xcb\x8a\x30\xaf\x32\x7b\x46\x90\x7a\xfd\
+\xf5\x41\xfc\x6e\xe7\x25\x7c\x76\x6e\x6c\x03\x90\xc4\xfa\xc5\xc5\
+\xf8\xfe\x57\x97\x21\x3f\x9b\x5d\xce\x60\x92\x04\x7e\xf7\x41\x03\
+\x7e\xfa\xfb\xb3\xa1\x38\x2d\x54\xbb\x91\xd7\x63\xb7\x13\x53\x23\
+\xf2\xa2\x5c\x25\x3e\xfb\xed\x97\x58\x8d\xab\x6f\xc8\x81\x95\x7f\
+\xf5\x66\x74\xeb\x29\x10\x79\xf0\x57\x1d\xfb\xbf\xf3\x4c\x88\x85\
+\x89\x76\x36\x3b\xb7\x83\x56\x3f\x63\x22\x17\xf0\x09\xe8\x95\x42\
+\x0c\x5a\xe3\x1f\xa0\x88\x44\x3a\xce\xf9\x74\x70\xba\x03\x70\xb8\
+\xfd\xc0\x98\x75\x27\xe2\x5b\x19\xeb\x4b\x2e\xe1\x41\xab\x10\x86\
+\x89\x5e\xab\x14\x20\x57\x23\x0a\x91\xff\x98\x86\x2f\x9c\x11\x37\
+\x3b\x87\x3b\x13\x32\x89\x10\x4b\x67\xe5\x60\xe9\xac\x1c\x6c\x7f\
+\x9c\x3a\x06\x7f\xb9\x95\xd2\xd6\x1b\x9a\x4d\xb8\xd2\x6a\x86\xdf\
+\x9f\x3c\xac\xc0\xd8\x3d\xdf\x67\x1a\xc1\x1f\xf6\x36\xe3\x0f\x7b\
+\x9b\x28\x52\x5f\x5c\x38\xed\xa4\xbe\xa0\x26\x07\xbf\x7c\x79\x23\
+\x2e\x5c\x1f\xc4\x1b\x3b\x2f\xe1\xb3\x73\x9d\xf8\xec\x5c\x27\x4e\
+\x5e\xea\xc5\x57\xb7\xcd\xc1\xd7\x1f\x9e\xcb\x38\xf6\x39\x41\x00\
+\x5f\x7f\x64\x3e\xca\x8b\x34\x78\xe9\x67\x9f\xc1\xe9\x62\xe3\xef\
+\x4f\xef\xb1\x52\xce\x32\x74\x2d\x00\x74\x0d\x30\xce\x0a\x14\x02\
+\xd1\x06\x00\x21\x16\x0e\xb6\x53\xa1\xb0\x98\x61\xd0\xe2\x43\x4d\
+\x11\x73\x37\xa7\x02\x7d\xea\x44\x3e\x11\x99\x73\x13\x4a\x04\xa7\
+\x2b\x00\xa7\x2b\x80\xce\x81\x48\xb9\x89\x53\x72\x96\x88\x80\x5e\
+\x25\x84\x4e\x49\xfd\xd3\xab\x84\xd0\x2a\x84\xc8\x56\x87\xca\x54\
+\x42\x8e\xec\x39\x4c\x19\xa4\x59\x02\x2c\x9d\x65\xc0\xd2\x59\x06\
+\x00\x94\x5b\x62\xfd\xf5\x21\x9c\x6b\x1c\xc4\xf9\xeb\x43\xb8\xde\
+\x61\x45\x30\x26\xef\x29\xfd\xd3\x40\x91\x7a\x13\xde\xda\xdb\x84\
+\x22\x83\x0c\x9b\x96\x16\x63\xf3\xd2\x62\xd4\x96\xb2\xb3\xfd\xa6\
+\x8b\x85\x35\x39\x58\xf8\xf2\x46\x5c\xb8\x3e\x80\x5f\xbf\xd3\x80\
+\x63\x0d\x3d\xf8\xe5\xdb\xf5\xd8\x7d\xb4\x15\x7f\xf7\xb5\xe5\x58\
+\x39\x8f\xb9\xb9\x65\xc3\x12\x23\xfe\xf8\x93\x87\xf0\xcc\x4f\xf6\
+\xa1\x93\x36\xb5\x1a\x73\x94\x16\xb0\x0f\xed\xdd\x4d\x4b\xe4\xc9\
+\x41\x82\x6c\x07\x42\x44\x1e\x0c\x10\x6d\x04\x0b\x6b\x02\x3b\x32\
+\x06\x8a\x73\xc4\xa8\x6f\x61\x18\x3c\x3d\x1d\xa4\xe1\xe0\x1f\xaf\
+\xe2\xa8\x37\x88\xee\x21\x0f\xba\x87\x3c\x71\x97\x63\x24\x49\x99\
+\x72\xf2\xb4\x62\x68\x95\x94\x26\x1f\x7e\xad\xa0\x08\x3f\x5b\x23\
+\x82\x84\x0b\x3e\xc6\x21\xc3\x50\x48\x85\x58\xb3\x30\x1f\x6b\x16\
+\x52\x49\x80\x5d\xa3\x7e\x5c\x6e\x19\xc6\xe9\xab\x03\x68\x68\x1a\
+\xc2\x95\x56\x33\x7c\x29\x68\xec\x5d\x03\x4e\xbc\xb9\xeb\x1a\xde\
+\xdc\x75\x8d\xd2\xd4\x97\x14\x62\xf3\xd2\x62\xcc\xab\x9a\x7a\x4d\
+\x7d\x61\x8d\x01\xaf\xff\x60\x0b\xae\xb7\x99\xf1\x9b\xf7\x2f\x62\
+\xdf\xc9\x9b\xf8\xda\x8f\xf6\x62\xfd\xe2\x62\xfc\xdd\x53\xcb\x50\
+\x68\x60\x96\x10\xbe\xca\xa8\xc5\x07\x3f\x7d\x14\x2f\xfd\xfc\x33\
+\x7c\x7a\xa6\x3d\x54\x4a\x4f\x0a\x89\xa9\x82\xba\xca\x36\x99\x04\
+\x80\x09\x79\x3a\xe3\x38\xd3\x8c\x17\x4c\x2c\x1f\xd7\xc8\x79\x7c\
+\x5e\x1b\x19\x6d\x5f\x4b\x01\xbd\xc3\xec\x88\xdc\x98\x93\xe2\xd1\
+\xfe\xa4\x04\x1c\x6d\x1f\x4f\x2c\x96\xca\x55\xa6\x48\xd6\x9a\xd3\
+\x1d\xc0\x8d\x1e\x17\xd0\x13\x51\x3b\xca\xbe\xaf\x96\x0b\xa0\x53\
+\x8a\xa0\x57\x0a\xa0\x57\x8b\x28\xcd\x5e\x23\x82\x4e\x29\x42\xb6\
+\x4a\x08\x9d\x4a\x04\x59\x16\x17\xa0\x8c\x03\x7b\x48\xb3\x04\x58\
+\x3a\xdb\x80\xa5\xb3\x29\x8d\x7d\x64\xd4\x8f\x86\xa6\x90\xc6\xde\
+\x38\x88\xab\x6d\x66\x04\x92\xe4\x3d\xed\x33\x8d\xe0\x0f\x7b\xae\
+\xe3\xad\x3d\xd7\x51\x94\x23\xc7\xe6\x65\x46\x6c\x5e\x36\xf5\x9a\
+\x7a\x4d\xa9\x16\x3f\x7b\x71\x3d\xae\xb4\xce\xc1\xaf\xfe\xb7\x1e\
+\x87\xce\x53\xe6\x96\x6f\x3c\x32\x17\x4f\x6d\x9b\x0b\x31\x03\x73\
+\x8b\x5c\x2a\xc2\x6b\x2f\x6f\xc6\x4f\x7f\x7f\x06\xbf\xdb\xd9\x90\
+\x16\x3d\xa4\x63\x5a\x69\xef\xb5\xb2\x92\x0b\x04\xb2\xda\x81\x08\
+\x7b\xca\xb6\x1d\xcd\x4e\x90\x60\xe4\x81\x5f\x9a\x2b\xc6\x4f\xff\
+\xa6\x98\x71\xe7\x37\xfb\x3c\x78\xf1\x37\x9d\xc9\x2b\x26\xf0\x58\
+\x61\xb3\xd1\x49\xbd\x9b\xe8\x36\x44\xb3\x9f\x1f\xb3\xc1\x40\xc6\
+\xcc\x10\xd1\xbb\xdc\x34\x63\x41\x32\x77\x25\xfa\xf1\xc7\x1b\xbb\
+\x48\xc0\x83\x36\x64\xca\xd1\x2a\x85\xd0\x29\x44\xd0\x2a\x85\xc8\
+\xd3\x89\x43\x65\x22\x18\x34\x22\xf0\x38\xaf\x1c\x0e\x2c\xe0\xf6\
+\xf8\x71\xe9\x86\x09\xf5\x4d\x26\xd4\x37\x0d\xe1\x42\xd3\x20\x95\
+\x1e\x2f\xa9\xfb\x1b\x89\x7c\xbd\x0c\xeb\x97\x14\x61\xf3\x32\x23\
+\xe6\x4f\x83\xa6\xde\xdc\x61\xc1\x9b\xbb\x2e\xe1\xcf\x87\x5b\x50\
+\x90\x23\xc7\x0b\x5f\xba\x0b\xf7\xac\x60\x7e\x4c\x7e\xf7\xf1\x56\
+\x7c\xef\x17\x9f\xc1\x3d\x1a\x99\x6c\x3a\xb5\x8d\x4e\x00\x38\xf5\
+\xfb\xaf\x40\xaf\x96\xb2\xf9\x08\xb8\xe7\xe9\xb7\xd0\xdc\x31\x1c\
+\xd9\x6c\x2a\xdf\xbd\xa3\x63\xdf\x8b\x4a\x60\x22\x91\x37\x80\xc4\
+\x3c\x26\x9d\x0b\x05\x04\xfe\xf8\xbd\x72\xc6\x09\x26\x7c\x7e\x12\
+\x9f\xff\xa7\x56\x04\x62\x6c\x76\x13\x07\x9d\x69\x8f\x15\xea\xdd\
+\x34\x13\xf9\x84\x3f\xb1\x63\x49\x3c\xf6\xd8\x76\x22\x4b\x05\x7c\
+\x22\x64\xa7\xa7\xb4\x79\xbd\x4a\x14\xd2\xec\x85\xc8\x56\x89\xa1\
+\x57\x89\xa0\x53\x09\xd3\xf2\xc7\xe5\x70\x67\xc0\xed\xf1\xa3\xa1\
+\xd9\x84\xf3\x8d\x03\x38\x77\x6d\x10\x57\x5a\x87\xe1\xf3\x07\x41\
+\x47\xe4\x91\x28\xc8\x91\x61\xf3\x32\x23\xb6\x2c\x33\xa2\xae\x6c\
+\x6a\x93\x64\x34\x75\x98\xf1\xeb\x77\xea\xb1\xff\x64\x3b\x56\x2f\
+\x2c\xc4\xdf\x3d\xb5\x1c\xc5\x79\xcc\x52\xae\x35\xb5\x0f\xe3\x9b\
+\x3f\xd9\x17\x61\xea\x48\x8d\xc8\x95\x32\x31\x2e\xfc\xe9\x6b\xac\
+\xc6\xed\xf3\x07\x30\xfb\x91\xff\x0c\x9b\xba\x18\x10\xf9\x85\x8e\
+\x7d\x2f\x2e\x02\xc2\x9b\x9d\x00\x40\x5e\x02\x08\x46\x44\xee\xf3\
+\x93\xe8\x19\xf6\xa1\x38\x55\x53\x49\x08\x42\x01\x81\x3c\x9d\x10\
+\xdd\x43\x2c\xe3\x4d\xa4\x8c\xd4\x5b\xa0\xa1\x73\x06\x82\x34\x32\
+\x09\x9a\xa1\x9d\x84\x52\xef\x2c\x2e\xfc\x01\x12\x83\x16\x0f\x06\
+\x2d\x91\xa9\xa2\x62\xed\x4d\x0a\x29\x1f\x3a\xa5\x08\x1a\xa5\x10\
+\x7a\xa5\x08\x5a\xa5\x08\x79\x3a\x8a\xe8\xb5\x4a\x11\x74\x2a\x6a\
+\x22\xe0\x70\xe7\x42\x22\x16\x60\xf9\x9c\x5c\x2c\x9f\x43\x1d\x37\
+\xf7\x78\x03\x68\x6c\x33\xe3\x42\xd3\x10\x4e\x5d\xe9\x43\x7d\xe3\
+\x10\x6d\x46\xfb\xee\x01\x27\xde\xdc\x75\x15\x6f\xee\xba\x8a\xfc\
+\x6c\x19\x36\x84\x35\xf5\x9c\x49\xd7\xd4\xab\x8d\x5a\xfc\xec\x3b\
+\x77\xa3\xa5\xcb\x8a\xdf\x7d\x70\x11\x0f\x3d\xf7\x1e\x1e\xdf\x5c\
+\x83\xe7\xbe\xb0\x18\xd2\xac\xd4\x42\x6e\x57\x97\xe8\xf0\xfe\xbf\
+\x3d\x8a\xe7\xff\xf5\x13\x1c\xab\x8f\x8e\x7b\x02\xc4\xa1\x74\xcc\
+\x2a\xcf\x66\x3d\xee\x96\x4e\x0b\xcd\x7e\x45\xec\xb3\x4e\x53\x72\
+\x71\xec\x55\x98\xc8\x89\x20\x71\x99\x64\xf1\x45\x77\x0c\x78\x18\
+\x13\x39\x00\x94\xe5\x8a\x93\x12\xf9\x44\x64\x98\xd6\x93\xda\xdf\
+\xd3\xeb\x3e\xb3\x96\xf8\xcc\xf6\xe5\x70\xf9\xe1\x70\xf9\xd1\xd6\
+\x8f\x38\x13\x11\x89\x2c\x11\x1f\x39\x6a\x31\x74\x2a\x4a\xb3\xcf\
+\xd1\x88\xa0\x53\x8a\x91\xad\xa1\x08\x5f\xaf\x12\x41\xa3\x10\x71\
+\x5e\x39\x77\x08\xc4\x22\x3e\xe6\x57\x67\x63\x7e\x75\x36\x9e\x7a\
+\xa8\x0e\x1e\x6f\x00\x97\x5a\x4c\x38\x77\x6d\x00\xe7\xae\x0d\xe0\
+\xd2\x0d\x13\x46\xa3\x88\xbd\x77\x68\x04\x6f\xed\x6e\xc4\x5b\xbb\
+\x1b\x51\x90\xa3\xc0\x96\x65\x46\x6c\x59\x3e\xf9\x9a\x7a\x45\x91\
+\x1a\xff\xfc\xad\xb5\xf8\xc6\xa3\xf3\xf0\xeb\x77\xea\xb1\xf5\xb9\
+\xf7\xf0\xd2\x5f\x2d\xc5\xe6\xe5\xa9\x99\x5b\x54\x72\x31\x7e\xfb\
+\xc3\xfb\xf0\xaf\xff\x7d\x0a\x6f\x7c\xd0\x90\xd2\xf3\x35\xbb\x82\
+\x3d\x91\x8f\x99\x54\x80\x14\x9e\xe5\x88\x0a\x04\x89\x70\x16\x8a\
+\x30\x91\x07\x41\x5c\x22\x58\xd0\x4f\xc7\xa0\x17\xab\x19\x4b\x01\
+\x95\x05\x59\x38\x72\xd9\x91\xbc\x62\x5c\x44\x9b\x55\x52\xa9\x96\
+\x79\x2d\xf8\x96\x96\x49\xf0\x9d\xb9\x3d\x01\x74\x0c\xb8\xd0\x31\
+\xe0\x1a\xaf\x38\x61\x89\x49\x42\xc0\x27\xa0\x92\x53\xf6\x7a\xbd\
+\x4a\x04\xad\x4a\x84\x3c\x9d\x24\x64\xc2\xa1\xfe\x19\x34\x59\x90\
+\x88\xb9\x8d\xda\xdb\x0d\x62\x11\x1f\x4b\xea\x0c\x58\x52\x47\x6d\
+\x9e\x06\x02\x24\x9a\x3a\x2c\x38\x75\xb9\x0f\xf5\x4d\x83\x38\x77\
+\x6d\x00\x4e\x77\xc8\x19\x82\xa4\xb2\xdf\xbc\xb1\xeb\x0a\xde\xd8\
+\x75\x19\x79\x7a\x19\xee\xbe\xab\x18\x5b\x96\x95\x60\x7e\xf5\xe4\
+\x69\xea\x65\x05\x6a\xbc\xfa\xdc\x7a\x74\x0f\x38\xf0\xfa\xfb\x0d\
+\xf8\xd3\xbe\x46\x7c\xef\xa9\xe5\xa8\x2c\x4e\xbe\x29\xc9\xe7\x11\
+\xf8\xee\x97\x97\x63\x4e\x45\x36\x5e\xfe\xc5\x21\xb8\x47\xe3\x39\
+\x76\x50\x4f\xc4\xdc\xca\x1c\xd6\xe3\xbc\xde\x66\x8a\xd7\x6c\xa2\
+\x02\x04\x09\x7e\x2c\x91\x93\xbc\xc0\x65\x82\x64\x6e\x3b\x6d\x1f\
+\x60\x17\x40\xbf\xb2\x20\x89\xff\x39\x4b\xcd\x78\x26\x6b\xc2\x93\
+\xde\xd7\x14\xaf\x26\xfc\x01\x12\xc3\x36\x2f\x86\xad\x5e\x34\x77\
+\xc5\xb7\xef\x2b\xa4\x02\xe8\x54\x94\xdb\xa5\x5e\x2d\x86\x4e\x29\
+\x42\xbe\x4e\x02\x9d\x9a\xd2\xf2\xf5\x2a\x4a\xf3\xe7\x70\xeb\x82\
+\xcf\x27\x50\x57\xa6\x45\x5d\x99\x16\xc0\xac\x10\xb1\x9b\x29\x62\
+\xbf\x3e\x88\xb3\x8d\x83\x70\xba\xa8\x15\x78\x9f\x29\xa4\xa9\x7f\
+\xdc\x38\x4e\xea\xcb\x27\x8f\xd4\x0b\x0d\x0a\xfc\xe8\xe9\xd5\xe8\
+\x19\x74\xe0\xad\xdd\x57\xc1\x23\x08\x3c\xfd\xd8\x02\xc8\xa5\xc9\
+\xef\xb9\xfb\x56\x55\xa0\xac\x50\x83\xa7\x7f\xbc\x37\xa1\xaf\xf7\
+\x9c\x4c\x13\x79\x0a\x10\x92\xfe\x4b\x63\xaf\x27\x7c\x6d\xdb\x76\
+\x34\x0f\x82\x04\xa3\x35\x42\xb6\x4a\x80\xd7\x9f\x67\xbe\x43\xec\
+\xf3\x93\xf8\x8b\x9f\xb4\xc2\x1f\x88\x43\x1b\x9c\xc7\x0a\xa3\x8d\
+\x4e\xba\xb1\x87\xc7\x4f\x33\x96\xf8\x63\x07\x4d\xf4\xb7\x64\xdf\
+\x7d\xb8\x27\xda\xf1\xc7\xc8\x44\x8c\x7f\xec\xa5\x44\x4c\x99\x72\
+\xb2\xd5\x62\xe8\xd5\x62\xe4\x68\xb2\xa0\x53\x89\x90\xa3\x11\x23\
+\x5b\x95\x05\xbd\x5a\x0c\x2d\x67\xb7\xbf\x65\xe1\x0f\x04\x71\xa5\
+\x65\x18\x67\xaf\xf5\xe3\xdc\xb5\x7e\xd4\x37\x0d\xc2\xe5\xf6\x4f\
+\xb8\x6b\x0a\x73\xe4\xd8\xb2\xbc\x04\x5b\x96\x97\x60\x56\xb9\x7e\
+\xd2\xc6\xd2\x33\xe8\xc0\xce\xcf\x6e\xa0\xa2\x58\x8d\xcd\xcb\xca\
+\x52\x9a\x3c\xac\x8e\x51\x7c\xfb\xd5\x03\x38\x31\x16\x2f\x3c\x62\
+\xa3\x53\xa3\xcc\xc2\x99\xb7\xbe\xca\x7a\x12\x5a\xf1\x97\x6f\xa0\
+\xdf\xe4\x8c\x6c\x36\x95\x8d\xce\x81\x8e\x7d\x2f\x86\xe3\xe5\x4e\
+\x24\xf2\x57\x6e\x1c\x04\xc8\x0d\x4c\x07\xf2\xfb\xef\x96\x41\x2e\
+\x61\xbe\x7c\x7e\xe9\xf5\x2e\xb4\xf4\xd2\x65\xf1\x48\xbc\x53\x3c\
+\xe3\x89\x3c\x69\xa0\xaf\x28\x99\x24\x44\x18\x23\x73\x5b\x10\x79\
+\xf4\xd8\x63\xdb\x8d\x1e\xbb\x50\x40\x50\xbe\xf5\x9a\x2c\x64\xab\
+\xb3\xa0\x57\x89\x91\xa3\xa5\x34\xfa\x1c\x4d\x16\xb2\x35\x62\xe8\
+\x94\x62\xce\x2b\xe7\x16\x40\x20\x40\xe2\x4a\xab\x09\xe7\xae\xf5\
+\xe3\xec\xb5\x7e\x5c\xb8\x3e\x88\x91\xb0\x29\x86\x44\x61\x8e\x02\
+\x9b\x57\x50\xa4\x3e\x7b\x92\x48\xbd\xcf\xe4\x44\x43\xd3\x00\x6a\
+\x4b\xf5\x28\xc9\x57\xa5\x30\xe6\x20\x5e\xfd\xaf\x93\x78\x73\xe7\
+\xc5\x09\x44\x7e\xf7\xd2\x52\xfc\xe6\xff\xdc\xc7\x6a\x0c\x16\xbb\
+\x1b\x8b\x9e\x7c\x3d\xfc\x3e\x55\x22\x27\x40\x1e\x68\xdf\xf7\x62\
+\x38\xd0\xe1\xc4\x40\x29\x04\x79\x19\x24\x18\x13\x79\x53\xf7\x28\
+\x16\x55\x32\x0f\x02\x5f\x59\x20\x8e\x43\xe4\x71\x48\x9c\x11\x52\
+\x97\xa1\xa1\xf3\xd4\x9a\x8a\x43\x84\xc9\xfb\x9a\xdc\xcf\x33\x2e\
+\x31\x35\xfd\xd0\xf6\x94\xf0\x3b\x63\x07\x9f\x3f\x88\x7e\xf3\x28\
+\xfa\xcc\xa3\xb4\x13\x2b\x40\x4d\x42\x3a\x25\xa5\xd5\xeb\xd5\x62\
+\x18\xb4\x59\xd0\xa9\xc4\x30\x68\xb2\xa0\x57\x67\x21\x3b\xa4\xed\
+\x4b\xd3\x4c\x29\xc6\x21\x3d\xf0\xf9\x04\xe6\x55\x65\x63\x5e\x55\
+\x36\xbe\xba\x6d\x0e\x02\x81\x20\xae\xb5\x99\x71\xf6\x5a\x1f\xce\
+\x5d\x1d\xc0\xf9\x6b\xfd\x78\x63\xe7\x65\xbc\xb1\xf3\xf2\xb8\xa6\
+\xbe\xa2\x34\xa3\xa4\x9e\xa7\x97\x23\x4f\x2f\x87\xc9\xea\x46\x67\
+\xbf\x1d\xb9\x3a\x59\xc2\xd8\x2d\x7c\x3e\x0f\xdf\x7b\x6a\x25\x66\
+\x95\x65\xe3\xfb\xff\x71\x08\x6e\x2f\xe5\x6f\xbe\xa8\x96\x5d\x22\
+\x09\x00\xb8\x40\x9b\xf4\x82\x4e\x21\x8b\x7e\x4f\x5e\x8a\x7c\x3f\
+\xf1\x6e\x0e\x12\x97\x41\x30\x7f\xd2\xae\x77\xb2\x23\xf2\x3a\xa3\
+\x04\x7b\xce\xda\x18\xcb\xb1\x41\x3c\x4b\x47\xfc\x4a\x19\xea\x6b\
+\x92\x31\x65\x7d\xc5\xac\x90\x12\x0d\x20\xfd\x09\x24\xb5\x16\xe8\
+\x6b\x0d\xdb\x3d\x18\xb6\x7b\xd0\xd4\x19\x51\x27\x6a\x35\x21\xcd\
+\x12\xc0\x10\xd2\xec\x75\xea\x71\xa2\xcf\xd1\x64\x85\xcc\x3a\x62\
+\xe8\x54\x62\x16\x9f\x83\x03\x1b\xf0\xf9\x3c\xcc\xa9\xd0\x63\x4e\
+\x85\x1e\x4f\x3d\x34\x07\x81\x20\x89\xc6\xb6\x61\x9c\xbb\x36\x80\
+\xb3\x57\xfb\xf0\xbf\x07\x9a\x42\xa4\x4e\x69\xea\xf7\x64\x90\xd4\
+\xa9\xc4\x15\x92\x88\x68\x88\x89\xf1\xd0\xba\x2a\x54\x14\x6b\xf1\
+\xf4\x8f\xf7\xa0\x67\xd0\x8e\xc5\x75\xf9\xac\xfb\x3e\xdf\xd8\x17\
+\x7e\x9d\xb4\xf7\x88\x0a\x04\xc9\xbb\x1c\x79\x69\x02\x91\x07\x49\
+\x5c\x60\x73\x30\xb0\xb1\xcb\x9d\xbc\x12\x0d\x66\x97\x48\x41\x80\
+\x9d\xae\x99\xe8\x2d\x7d\xf9\xd4\x69\xa7\xb7\x84\x4c\xca\x93\xd9\
+\x54\x4e\x4b\x53\x07\xd7\xa8\x1f\x6d\x7d\x4e\xb4\xf5\x3a\x63\xd7\
+\x13\xa1\x07\x5a\x28\xe0\x51\xf9\x2f\x55\x54\x0e\x4c\xbd\x4a\x8c\
+\x82\x6c\x19\xa5\xed\xab\xc4\xd0\xab\xb3\x90\xab\x93\x72\x5e\x39\
+\x93\x00\x3e\x8f\xc0\xec\x72\x3d\x66\x97\xeb\xf1\xe5\x07\x67\x21\
+\x48\x92\x68\xeb\xb1\xe1\x7c\xe3\x00\x4e\x5e\xea\xc1\xd7\xff\x61\
+\x2f\x24\x62\x21\x36\x2d\x35\x62\xcb\x8a\x52\x2c\xa8\x36\xa4\xbd\
+\x51\xca\x24\x4f\x68\x5d\x99\x1e\xbb\x7e\xfe\x18\xfe\xf6\xe7\x07\
+\x31\xa7\x92\xbd\xeb\xe1\xd9\x2b\x3d\xb1\x85\x29\x3c\x83\x04\x41\
+\x36\x4c\x78\x1f\xf9\xe6\xb1\xc7\x48\xbe\x6f\xd6\x0d\x0b\x48\x30\
+\x8a\x3e\x23\x16\x12\xf8\xc3\xcb\xcc\x4f\x78\x02\xc0\xb3\xaf\x75\
+\xa0\xc7\x14\x9b\xaf\x30\xb1\x8d\x99\x99\x8d\x36\xe6\x6a\xca\x36\
+\xe6\x98\x6c\x1c\x13\x65\x68\x4d\x2b\xd1\x1b\x9d\x13\xc7\x4f\x6f\
+\x63\xa6\x2b\x8d\x63\x63\x8e\x3b\x76\xba\x16\xe8\xed\xe3\x11\x5d\
+\xc6\xca\x64\xd8\x3e\x1e\x73\x95\xa4\x2d\x8d\xf9\xee\xe9\x0e\x32\
+\xb1\xfe\xee\x27\x0c\x27\x7a\x2c\xf4\xe9\xd1\x68\x7a\xa4\xfd\xee\
+\x09\x02\xd0\x2a\xc4\x61\xbb\xbd\x41\x2b\x81\x5e\x9d\x05\x83\x96\
+\x7a\x9f\xad\xce\x82\x81\x23\xfb\x8c\x23\x48\x92\x68\xee\xb0\xe0\
+\xec\xd5\x3e\x9c\xb9\xd2\x87\x7e\x93\x13\x4b\xe7\xe4\x63\xcb\x8a\
+\x52\xcc\x49\xc3\xa7\x7b\x2a\xe1\xf5\x05\x30\xef\xb1\x5f\xc3\x13\
+\x32\xd1\x30\xe0\x21\x7b\x87\xb2\x50\x8b\x77\x1e\x0f\x3b\xee\x4f\
+\xd0\xc8\xdf\x79\x87\x08\x6c\x9b\xd5\x7c\x06\xc0\xdd\x4c\x06\xe4\
+\xf1\x91\xb8\xd9\xef\x49\xee\x52\x48\x83\xd9\x25\x92\x28\x22\x4f\
+\xac\x01\xd2\x5f\x9d\x1c\x8d\x36\xb9\xa5\x2a\x03\xfd\xd0\xf1\x55\
+\x5c\x3b\x46\x1a\xfd\xd0\xd6\x9c\x7c\x6d\x7b\x52\x7a\x88\xd3\x28\
+\x8b\x7c\xc5\x69\x0f\x81\x24\x81\x61\x9b\x07\xc3\xb6\x51\x5c\x9f\
+\x70\x6d\xe2\x6f\x28\x16\xf1\xa0\x57\x65\x85\x34\xfb\x2c\x14\xe4\
+\x48\xa9\xd7\x21\xb2\xd7\xab\xb3\x90\xa7\x97\xa6\x95\x3d\xfe\x4e\
+\x02\x8f\x20\x50\x53\xa2\x45\x4d\x89\x16\x5f\xba\x7f\x16\x00\xa0\
+\x6b\xc0\x81\x93\x17\x7b\x70\xf0\x4c\x07\x14\x52\x11\x16\xd4\x18\
+\x32\xa2\xa9\x4f\x16\xae\xb4\x0c\x86\x49\x9c\x09\x48\x90\x27\x23\
+\x49\x1c\x88\xb6\x91\x03\x20\x49\xf2\x38\x01\x82\x11\x91\x03\x40\
+\x63\xe7\x28\x6b\x22\xdf\x77\x6e\x6a\xec\xe4\x53\x82\x94\x4d\x16\
+\xb7\x0b\x32\x30\xb9\xdd\x01\xa6\x31\x8f\x37\x80\x9e\xa1\x11\x74\
+\x0f\x8d\xc4\x59\x4d\x50\xb1\x72\xd4\x72\xca\x8c\x53\x90\x23\x0b\
+\x13\xbc\x5e\x4d\x69\xf9\x85\xd9\x32\x18\x74\x12\x08\xf8\x9c\x57\
+\x0e\x1d\x8a\x0c\x0a\x14\x6d\xae\x09\xbf\xef\x1a\x70\xe0\x58\x43\
+\x17\xb4\x4a\x09\x34\xca\x2c\xe4\xe9\xe5\x33\x8a\xd4\xcf\x5e\x65\
+\x92\xbb\x78\x1c\x04\x70\x3c\xba\x2c\x86\xc8\x09\x82\x77\x9c\x8d\
+\x6a\x73\xbd\xcb\x8d\x87\x96\x33\x0f\xac\xbe\xb0\x42\x86\x67\xb7\
+\x1a\x10\x08\x92\xf0\xf9\x49\x78\x7c\x41\x90\x24\x30\x32\x4a\x85\
+\xd4\x74\x7b\x03\x08\x04\x01\xbf\x9f\x84\xc7\x1b\x44\x90\x04\x46\
+\x3c\xd4\x64\xe4\xf6\x04\x29\x39\x5f\x10\x5e\x5f\x10\x01\x12\x70\
+\x79\xa8\xc0\x3e\x2e\x4f\x00\xc1\xe4\xe1\x96\x93\x6b\xa7\x09\x49\
+\x86\xd9\xf7\x44\x6b\x9a\x60\x20\xc9\x4c\x62\xaa\x48\x8c\x81\x59\
+\x3d\x03\x93\xd9\x54\xce\x87\x53\xbd\x9a\xf0\xf9\x83\x18\xb2\x8e\
+\x62\xc8\x3a\x8a\xc6\x76\x2a\x49\x70\xb4\x59\x88\x47\x10\xd0\xaa\
+\xc4\x30\x68\x24\xc8\x56\x4b\x60\xd0\x4b\xa0\x57\x4b\x60\xd0\x4a\
+\x90\xa3\x91\x20\x5b\x23\x41\xae\x4e\x8a\x2c\x16\x79\x23\x6f\x37\
+\x14\x19\x14\x28\x8a\x88\x51\x3e\xea\xf5\x23\x4b\x34\x73\xbc\x95\
+\x2e\x5c\xeb\xa3\x29\x4d\xc1\x0e\x40\x06\x93\x13\xb9\x07\x38\x25\
+\x26\x10\x00\x09\x46\x77\x42\x63\x27\xbb\x0d\x4f\x69\x16\x0f\x77\
+\x2f\x60\x16\xa1\x8c\x09\xbc\x7e\x12\x5e\x1f\x35\x01\xb8\x46\x29\
+\x66\x77\x79\x82\x08\x06\x49\xea\x9a\x3f\x88\x60\x70\xfc\xda\xc8\
+\x68\x00\x24\x09\x78\xfd\x41\x78\x7d\x24\x02\x41\x6a\x52\x00\xa8\
+\x3a\x41\x12\xf0\xf8\x82\xf0\xf9\x48\x04\x82\x41\xb8\x3d\xd4\x84\
+\xe3\x0c\xc9\x8d\x7a\x03\xf0\xf9\x29\x39\xb7\x27\x00\x80\x0c\xb7\
+\x99\x69\x4c\x99\x61\x24\x9e\xa5\x27\xf5\xc2\xd4\xfa\x61\xd4\x42\
+\x66\x26\x2a\x36\x06\xb6\xe4\x97\xe9\xbf\x30\x36\x46\xc3\x68\x04\
+\x49\x12\x26\xeb\x28\x4c\x96\x51\x00\xe6\xb8\xf6\x7d\xb9\x54\x88\
+\x1c\xad\x04\x06\xad\x14\x39\x9a\x2c\x18\xb4\x52\x64\x6b\x28\xb2\
+\x37\xe8\xa4\xc8\xd1\x48\xa0\x56\xdc\x59\x5e\x39\x33\x89\xc4\x49\
+\x92\xb5\xc7\x8a\xdf\xe5\x95\x9e\x89\xbe\x1c\xf3\xc9\xf6\xec\xa8\
+\xb4\x6f\xdb\xd1\x7c\x05\x60\x16\xd2\xd6\xea\x0c\xa0\x73\xd0\xcb\
+\x2a\x80\xd6\x64\x42\x24\x20\x20\x12\x50\x73\x92\x52\x3a\xfd\x5a\
+\xca\xd8\x04\xe1\xf5\x05\xe1\xf1\x07\x81\x90\x26\xe6\xf1\x91\xa1\
+\x6b\x41\x78\xfd\x41\x78\xbc\xd4\x04\x41\xad\x52\x02\xf0\x86\x56\
+\x2b\xde\xd0\x3f\x00\xe3\xef\x43\xf5\xc7\xe4\xa9\x6b\x81\x50\xdd\
+\x90\x9c\x3f\x10\xbe\xe6\x70\xf9\x33\xc7\xc1\xb7\x1b\x6e\x69\xd3\
+\xd8\xf8\x20\x1d\x2e\x1f\x1c\x2e\x1f\x5a\xbb\x6d\x51\x97\xc6\xd7\
+\x6a\x22\x21\x0f\x2a\x99\x08\xd9\x6a\x09\x0a\x72\xe4\xc8\xd1\x48\
+\xa0\xd3\x64\x21\x47\x4d\x69\xf9\x85\x06\x39\xf2\x74\x32\x56\x4e\
+\x0c\x1c\x12\xa3\xb1\x6d\x08\x66\x1b\x8d\xf2\x9b\x6c\x79\x4b\xa0\
+\x61\xe8\xd0\x33\xce\xe8\x5a\xf4\x53\x14\x49\x1e\x67\x1a\xd2\x16\
+\x00\x2e\xb4\x8c\xcc\x38\x22\x9f\x69\x10\x09\x78\x10\x09\x00\xb0\
+\x38\x09\x9b\x69\x78\x7d\xc1\x10\xc9\x8f\x4f\x00\xe1\xb2\xc8\x6b\
+\xde\x20\x48\x20\x3c\x19\x4c\xac\x13\x88\x95\xf3\x06\xc2\x93\x8b\
+\x27\x62\x02\xf1\x7a\xc7\xea\x04\x30\xea\x0b\x84\xeb\xc7\x22\x83\
+\x66\xa1\x84\xab\x89\xcc\x9b\x9f\xa6\x77\x33\x9e\x19\xbc\xbe\x20\
+\x86\x2c\x6e\x0c\x59\xdc\xb8\xd6\x66\x1e\x6f\x33\x6a\xf9\xa8\x94\
+\x09\xa1\x0f\x99\x72\x0a\x73\xe4\xc8\x0e\x99\x70\xa8\xd7\x52\x18\
+\x74\x52\xc8\x25\xa9\x85\x89\xe5\x40\xe1\xf0\xb9\x0e\x56\x72\x04\
+\x19\x6b\x1f\x07\xe2\x10\x39\x49\x10\xc7\x09\x12\xdf\x64\xda\xc9\
+\x85\x1b\x2e\x6c\x5b\xc1\x3e\xdd\x11\x87\xa9\x85\x48\xc8\x83\x48\
+\x38\xfd\x1b\x67\x23\x6e\x7f\xc8\x64\x45\x91\x7e\x20\x48\xc2\x15\
+\xca\xd2\x32\x76\x8d\x32\x59\x05\x11\x08\x8c\x5f\x73\xb8\xfd\x00\
+\x49\x62\xd4\x4b\x4d\x0e\xfe\x00\x09\xb7\x67\xe2\x35\xb7\x87\x92\
+\x8b\xbc\x66\x77\xf9\x00\x12\x18\xf5\xf8\xe1\xf5\x07\xe1\x0f\x04\
+\x43\x66\xb0\xd4\x70\xeb\xd8\xe9\x69\x5d\xa2\xe2\x36\x1e\x6f\x0f\
+\xc7\x3e\xe2\x85\x6d\xc4\x8b\xd6\x2e\xdb\x84\x9a\x61\x39\x92\x84\
+\x4a\x2e\x46\xb6\x46\x82\x3c\xbd\x2c\xc2\x7c\x23\x45\xb6\x56\x1a\
+\x2e\x53\xc9\xef\x2c\x53\x4e\x22\x1c\x39\xdf\x01\x36\xbf\x6e\x90\
+\x20\x53\x27\x72\x3e\x88\x23\x41\x16\x9d\x34\x76\xba\xe1\xf6\x04\
+\x21\x11\x4f\x3f\x39\x70\xb8\x75\x20\x93\x50\xb7\xa1\x22\xce\x02\
+\x71\xaa\x31\xb6\xd2\xf0\x8c\xad\x2e\x42\xaf\xa9\x6b\x01\x8c\x7a\
+\x03\xe1\x3a\xd4\x2a\x83\x9a\x04\x3c\xbe\x00\xb5\x0a\xf1\x05\xa2\
+\xe4\xc8\xf1\x6b\xde\x40\x68\xc2\xa2\xea\x50\x72\x41\x6a\x52\xf1\
+\x51\xd7\xa8\x89\xc9\x1f\xdf\x6b\x67\x06\x9a\x7f\x6c\x4e\x0f\x6c\
+\x4e\x0f\x5a\xba\xc6\x72\x4f\xc6\x6e\xd4\x8a\x84\x7c\xa8\xe5\xe2\
+\xb0\xd9\x26\x47\x43\xd9\xed\x0b\x0d\x8a\xf0\xeb\x3c\xbd\x0c\xfc\
+\xdb\xdc\x2b\xc7\xe9\xf2\x4e\xb0\x8f\x8f\x23\xb9\xa5\x9c\xc7\x0b\
+\x1c\xa5\xbb\x10\xd7\xf8\xb5\xed\x95\xe6\xcb\x00\x66\xa7\x3e\x3c\
+\x0a\xdf\xfb\x7c\x3e\xee\xaa\x66\x7e\x5c\x9f\x03\x07\x0e\xb1\x98\
+\x30\x71\x84\x26\x81\xf1\x09\x20\x10\x9e\x4c\x46\x7d\x01\x78\xbd\
+\x13\xaf\x8d\x7a\xfd\x51\x72\xd4\xde\x48\xb8\x4d\x6f\x30\x54\x87\
+\x92\x23\x01\x78\x7c\x7e\x78\x3c\xe3\xfd\x78\xbc\x7e\x78\x7c\x81\
+\x28\x4b\x54\xac\x46\x3e\x11\x21\xdd\x3e\xc1\x44\x14\xeb\x55\x35\
+\xce\xfa\x0a\x99\x08\x45\x06\x05\x72\xb4\x52\x64\xab\x25\xc8\xd6\
+\x4a\x91\xad\x91\x86\xcb\x72\x75\x32\xc8\x6e\x61\x53\xce\xbe\x13\
+\xad\x78\xfa\x1f\x3f\x46\xac\xcf\x5c\xac\x1d\x30\xea\x60\xdc\x85\
+\x8e\x7d\x2f\x2c\xa2\x6b\x33\xae\x0a\x44\x12\xd8\x43\x90\xcc\x89\
+\xbc\xbe\x65\x84\x23\x72\x0e\x1c\x32\x04\x91\x90\x9f\x30\x90\xd3\
+\x54\x22\x4c\xee\x61\x92\x1f\x9b\x38\x48\xda\x6b\xa3\xa1\xc3\x2e\
+\x63\x13\x47\x78\x62\xa0\xbd\xe6\x8f\x91\xeb\x1a\x70\xa0\xa5\xd3\
+\x12\x9a\x94\x02\x18\xf5\xf8\xc2\xab\x9f\x2c\x21\x3f\xa4\xcd\x2b\
+\x29\xc2\xd7\x48\x43\x7f\x25\x28\x0a\x95\xe9\xd5\xd2\x19\xe5\x37\
+\x3e\x86\xc3\xe7\x27\xda\xc7\xe3\xcc\x8f\xe3\x05\xe3\xe5\x7b\xe3\
+\xb5\x19\x97\xc8\x79\x08\xee\x25\xc1\x7b\x89\xc9\x00\x01\xca\x4e\
+\xce\x81\x03\x87\xdb\x0f\x62\x21\x1f\xe2\x19\x30\xa9\x38\x5c\x5e\
+\x90\x41\x92\x9a\x00\x7c\x01\x04\x02\xc1\x70\x08\x5c\x87\xcb\x0b\
+\x9b\xd3\x83\x41\xf3\x08\x08\x1e\x81\x1c\x8d\x14\x32\x89\x10\x06\
+\x9d\x6c\xc6\xb8\x1f\xb2\xdd\xe8\x24\x89\xe0\x9e\x78\xd7\xe2\x7e\
+\x32\x01\x02\xc7\x7c\x04\xcf\x01\x86\x71\x57\x06\xad\x3e\x74\x0f\
+\x79\x51\x98\xcd\x79\xaf\x70\xe0\xc0\x21\xf3\x50\x84\x32\xfb\x4c\
+\xde\xe9\x93\xc9\x43\x73\xc7\x30\xfa\x86\x1c\x60\xb1\xa1\x61\xcf\
+\x1e\x52\x9c\xee\x8c\x73\x31\xee\xae\xc2\x3b\x3b\x66\x79\x01\xf2\
+\x53\xa6\xbd\x01\xc0\xe9\xeb\x31\x6e\x8e\x1c\x38\x70\xe0\x70\xc7\
+\x63\xdf\x89\x56\x76\x82\x04\xf6\x9f\x3f\xff\xd7\xf1\x12\x87\xc6\
+\x27\x72\x4a\x96\x88\x6b\x93\x49\x84\xe3\x57\x39\x22\xe7\xc0\x81\
+\x03\x87\x68\x7c\x7c\xf4\x46\x9c\x2b\x49\x4e\x1d\x07\x89\xb8\x66\
+\x15\x20\x09\x91\x07\x7d\xbc\x8f\x93\x0d\x8c\x0e\x6d\xfd\x1e\x74\
+\x0f\x79\x93\x57\xe4\xc0\x81\x03\x87\x3b\x04\xad\xdd\x16\x34\x77\
+\x0c\xb3\x11\x25\x03\x22\x72\x5f\xa2\x0a\x09\x89\x7c\xd7\x8f\x2b\
+\xba\x40\xa0\x91\x4d\xcf\x27\xae\x71\x5a\x39\x07\x0e\x1c\x38\x8c\
+\xe1\xa3\xc3\xcd\x31\x65\x29\x7a\xac\x5c\xee\xfe\xe8\x05\x9a\x0c\
+\x14\xe3\x48\xc1\xf3\x9e\xd8\x99\xbc\x4e\x2c\x8e\x5f\x75\xb0\x11\
+\xe3\xc0\x81\x03\x87\xdb\x12\xbb\x8f\xdd\x60\x75\x68\x8b\x00\x92\
+\x72\x70\x52\x22\x27\x02\xc1\xb7\x99\x77\x0d\x74\x0e\x7a\xd1\xc5\
+\x99\x57\x38\x70\xe0\x30\x03\xe1\x0e\x9d\xa4\x9d\x2a\x34\xb5\x0f\
+\xe3\x46\xa7\x39\xf4\x8e\x19\x9b\x07\x81\xff\x4d\x56\x27\xa9\x63\
+\xe5\x07\xff\x50\x7d\x71\xdb\x8e\xe6\x46\x90\xa8\x65\xd4\x3b\x28\
+\xad\xfc\xc9\x75\x3a\xa6\x62\x1c\x38\x70\xe0\xc0\x1a\x1e\x5f\x00\
+\x83\xe6\x11\x74\xf5\x3b\x30\x64\x71\xc1\x6c\x73\x43\x2a\x11\x22\
+\x47\x2b\x85\x58\x28\x80\x4a\x2e\x42\x7e\xb6\x02\x1a\x25\xf3\x44\
+\x38\x6c\xf1\xd1\x91\x58\xb3\x4a\x6a\x20\xaf\x74\xee\x7b\xf1\x6a\
+\xb2\x5a\xa9\x7a\xc8\xbf\x0b\xe0\x07\x4c\x87\x70\xec\x8a\x93\x23\
+\x72\x0e\x1c\x38\x64\x04\x39\x7e\x07\xed\x00\x00\x20\x00\x49\x44\
+\x41\x54\x81\x20\x09\x93\xd5\x8d\x7e\x93\x13\x43\x16\x17\xfa\x4c\
+\x23\x18\x30\x8f\x60\xd0\xec\x42\xdf\x90\x13\x03\xe6\x11\xf8\xfc\
+\x41\x94\xe6\xab\x50\x5b\xaa\x43\x4d\xa9\x0e\x75\x65\x3a\x94\x15\
+\xa8\xa7\x3d\x7e\x4b\x7c\x6f\x15\x20\xb1\xc7\x0a\x2f\xa9\x36\x0e\
+\xa4\x48\xe4\x7c\x90\xff\x13\x00\xc1\x98\xc8\x7b\x4c\x5e\xdc\xe8\
+\x61\x97\x02\x8e\x03\x07\x0e\x77\x0e\xbc\xbe\x00\x75\x22\xd3\xe2\
+\x46\xf7\x80\x1d\x43\x66\x37\x06\x2d\x2e\x0c\x59\x5c\x94\x76\x3d\
+\xe0\x40\xaf\x69\x04\x01\x3f\x15\x84\x8c\xcf\x23\x90\x9f\x2d\x47\
+\x79\xb1\x06\xb3\xca\xf4\xb8\x6f\x65\x19\xca\x8b\x34\x13\x32\x02\
+\xcd\x14\x5c\x68\xec\x43\x7b\xaf\x35\x79\x45\x3a\x04\xf0\x6e\x2a\
+\xd5\x52\x22\xf2\xf7\x76\x54\x5f\x7f\x78\x47\xf3\x55\x92\xc4\x2c\
+\xa6\xe3\x38\x70\xde\xce\x11\x39\x07\x0e\x77\x30\xec\x23\x5e\x0c\
+\x0c\xbb\xd0\x3f\x3c\x82\x41\x8b\x0b\x03\xc3\x23\x18\x30\xbb\x30\
+\x14\xd2\xa4\x07\x2d\x2e\x58\x1d\x9e\x89\x21\xa4\x22\x94\x54\x99\
+\x44\x80\xea\x12\x1d\x56\x2f\x2c\x42\x8d\x51\x8b\xda\x32\x1d\x2a\
+\x8a\xd4\x53\x72\xe4\xfe\x7a\xfb\x30\x40\x92\xa8\x29\xd5\xb3\x6e\
+\xe3\x4f\xfb\xe8\x2d\x23\x29\x78\xac\x34\x74\x7c\xf2\x7c\x4a\x5e\
+\x83\x0c\xbe\x09\xe2\x7f\x01\xf2\xef\x53\xaf\x4f\xe1\xe8\x15\x07\
+\xbe\xbc\x45\x0f\x29\x17\xda\x96\x03\x87\xdb\x0e\xf6\x11\x6f\x28\
+\x39\x85\x0b\xdd\x03\x0e\x0c\x59\xdc\x18\x0c\xbd\x1f\xb4\xb8\xd0\
+\xd9\xef\x80\xd3\xe5\x8d\xe0\xa6\xe8\xf0\x7e\x13\xa3\xa0\xe7\x68\
+\x25\x98\x55\xa6\x47\x79\xa1\x1a\x15\x45\x6a\xcc\x2a\xd7\xa3\xb4\
+\x40\x05\xde\x14\x46\xbf\x6a\xe9\xb2\x60\xcf\xb1\x56\x7c\x7c\xec\
+\x06\xda\x7b\x6d\xf8\xf4\xf5\x2f\xb2\x6e\xcb\xe9\xf2\x62\xf7\x98\
+\x59\x85\xa1\xc7\x0a\x41\x90\x29\x99\x55\x00\x06\x44\x1e\xf0\x07\
+\xde\xe6\xf1\x79\x8c\x89\x7c\xd4\x1b\xc4\xf1\x2b\x0e\x6c\x5a\xa4\
+\x62\x2a\xca\x81\x03\x87\x69\x82\xcf\x1f\x84\xd5\xe9\xc1\x90\xd9\
+\x8d\xee\x41\x27\x86\xac\x2e\x0c\x99\xdd\x18\xb2\x52\x19\x85\xba\
+\x06\x1c\xe8\x37\x8d\xc0\x1f\x88\xcc\xf0\x14\x1b\x83\x3c\x1e\x04\
+\x7c\x1e\x4a\xf2\x95\x98\x55\xaa\x43\x79\x91\x1a\xe5\x45\x6a\xcc\
+\xad\xcc\x86\x76\x0a\x37\x20\x23\xd1\xd2\x65\xc1\x9e\xe3\xad\xf8\
+\xf3\xe1\x1b\x68\xeb\x19\x8f\xa9\xfe\xc0\xea\x4a\xe4\x67\xcb\x59\
+\xb7\xbb\xeb\x50\x13\x5c\xa3\x91\x27\xeb\x53\x67\x73\x3f\x49\xbc\
+\x93\x6a\xdd\x94\x89\xfc\xc3\x7f\xac\x69\xda\xf6\x4a\x73\x03\x80\
+\xf9\x29\x8f\x24\x84\xfd\x17\xec\x1c\x91\x73\xe0\x30\x43\xe0\xf1\
+\x05\x30\x64\x71\xc3\x64\xa5\xb4\xe7\xee\x41\x27\x4c\xa1\x94\x6f\
+\xdd\x03\x4e\x0c\x59\xdd\x18\xb6\xba\x11\x20\xc9\xb8\xeb\xff\xd8\
+\x18\xe4\xf1\xa1\x94\x89\x50\x51\xa8\x46\x5d\x99\x0e\x75\xe5\x3a\
+\x94\x17\xaa\x51\x59\xa4\x9e\xf6\xf0\xbc\x91\xe4\xdd\xde\x6b\xa5\
+\x4d\x0b\xf8\xe5\xad\x73\xd3\xea\xe3\xed\xbd\x49\x1d\x4e\xe2\xe1\
+\x5c\xf7\xbe\x17\x5a\x52\xad\xcc\xcc\xc8\x44\xe2\x4d\x10\xf8\x05\
+\xd3\x11\xb5\xf4\x8c\xa2\xad\xdf\x83\xd2\x5c\x2e\xd5\x13\x07\x0e\
+\x93\x09\xfb\x88\x17\x26\xeb\x28\x45\xca\x83\x4e\x98\xac\xa3\x18\
+\xb4\xb8\xc2\x65\x5d\xfd\x4e\x38\x5c\x9e\x70\xfd\x78\x09\x0d\xd8\
+\x9c\x5c\xe1\xf1\x08\xe4\xe9\xe5\xa8\x28\x54\xa1\xae\x4c\x87\x59\
+\x65\x94\xd7\x48\xb6\x46\x92\xc6\x27\xca\x2c\x28\xf2\xbe\x89\x0f\
+\x0f\x35\xa3\xa3\xcf\x96\xa0\x26\x89\xc5\xb3\xf2\x30\xaf\xca\xc0\
+\xba\xaf\xc6\x36\x13\xae\xb4\x0e\x26\xa9\x45\xef\xb1\x42\x10\xe4\
+\x9b\x4c\xfa\x62\x46\xe4\x3c\xe1\xef\x41\xfa\xfe\x19\x80\x94\x91\
+\x1c\x80\x4f\x2e\xd8\xf1\xf5\xfb\xb2\x99\x8a\x71\xe0\xc0\x01\x94\
+\xa9\xc3\xe6\xf4\x86\x34\xe9\x51\x0c\x59\xdd\xe8\x1e\x1c\xa1\x34\
+\x69\x2b\x45\xda\xfd\xc3\x6e\xf8\x03\xa1\x43\x2e\x11\x9a\x74\xbc\
+\x44\x3d\xf1\x91\xbc\x92\x5c\x22\x44\x95\x51\x83\xb2\x42\x55\x48\
+\xdb\xd6\xa2\xb6\x44\x8b\x2c\xf1\xcc\x88\xf9\x3d\x86\x20\x49\xa2\
+\xf1\xa6\x09\x9f\x9d\xed\xc4\xae\x43\xcd\xe8\xec\xb7\x87\xcc\xf2\
+\xc9\x3f\xe3\x53\x5b\x19\x1b\x1f\x26\xe0\x8f\x7b\xae\xb0\x15\x75\
+\x43\xcc\xfb\x23\x13\x01\x46\xdf\xfa\xce\x1d\xa5\xd6\x6d\xaf\x34\
+\xbd\x0f\x10\x8c\xad\xff\x87\x2f\xd9\xf1\x97\x9b\xf4\x10\x0b\x67\
+\x60\xca\x0e\x0e\x1c\xa6\x11\xae\x51\x3f\xfa\x87\x5d\x18\xb2\x50\
+\x04\x3d\xf6\x7a\xd0\xe2\xc2\x80\xd9\x8d\x21\xeb\x28\xcc\xd6\x51\
+\xd0\x25\x48\x8b\xde\x2c\xcc\x34\x08\x02\x28\xc8\x96\xa3\xa6\x44\
+\x83\xca\x62\x35\xaa\x8d\x1a\x54\x1b\x35\x28\xc8\x61\x6f\x37\x9e\
+\x6c\x04\x49\x12\xe7\xaf\xf5\x63\xdf\x89\x36\xec\x3f\xd5\x86\x81\
+\xe1\xe8\xb8\x4f\xf4\xdf\x56\x64\xa9\x31\x4f\x85\xbb\x97\x96\xb0\
+\x1e\x83\x6b\xd4\x87\x0f\x0f\x5d\x8f\x7b\x3d\x91\xc7\x0a\x09\xe2\
+\xed\x8e\x9d\xcf\x33\xf2\x57\x64\x3c\x7d\x06\x09\xe2\xb7\x3c\x12\
+\x8c\x89\x7c\x64\x34\x88\x4f\x1b\xec\xb8\x77\x09\x67\x2b\xe7\x70\
+\xe7\x60\xd8\x36\x8a\x21\xeb\x28\x86\x2c\xa3\x18\x18\x76\xc1\x64\
+\x1b\xc5\x80\xd9\x4d\x11\xb4\x85\xfa\xeb\x1a\xf5\x23\x32\x48\x52\
+\xbc\xcd\xc2\x24\x81\x4e\x53\x44\x7c\x19\xb1\x88\x8f\x8a\x22\x35\
+\x6a\x8c\x6a\x54\x19\x35\xa8\x2e\xd6\xa0\xd2\xa8\x86\xfc\x16\xc8\
+\x8f\x19\x08\x92\x38\x77\xb5\x0f\xfb\x4e\xb6\x61\xff\xc9\x36\x0c\
+\x59\x5d\xb4\x1f\x35\xd5\x6f\xec\xcb\x0f\xcd\x4b\xcb\x53\xe6\xdd\
+\x03\x8d\xb0\x8f\x44\x84\x28\x61\xf0\x53\x11\xc1\xe0\x6f\x99\xf6\
+\xc7\x6a\xa4\xdb\x76\x34\x5f\x63\x73\x64\xdf\xa0\x11\xe2\x57\xdb\
+\x4b\xc0\xe3\x3c\x11\x39\xdc\xe2\xf0\xf9\x83\xb0\x8d\x78\x61\xb2\
+\x8c\xc2\x64\xa3\x88\xba\x67\x88\x22\x6a\x93\xc5\x0d\x93\x6d\x14\
+\xbd\x26\x17\xdc\xa3\x63\xf1\x3c\x52\x4b\x58\x1c\x97\xc8\x93\x24\
+\x2c\x8e\x91\xa1\x33\xad\x44\x98\x14\x94\x32\x11\xca\x0b\x55\xa8\
+\x2d\xd5\xa2\xae\x94\x32\x91\x54\x16\xa9\x21\x14\xdc\x3a\x0f\x67\
+\x20\x48\xe2\x62\xf3\x20\xf6\x1e\xbf\x89\x3d\xc7\x6f\x62\xc8\xe2\
+\x42\x84\xd5\x9f\x56\xed\xa5\xca\xe9\xbf\xc7\xb1\xd2\x6c\x8d\x14\
+\x07\x5f\xff\x02\x24\x2c\xcd\x44\x81\x20\x89\x8d\xdf\xf8\x3d\x3a\
+\xfa\x22\x94\xea\x28\x73\xce\xf8\xd0\x62\xc6\x72\xbd\x7d\xef\xf3\
+\x75\x00\xc1\x68\x96\x66\x35\x52\x12\x78\x93\x00\xfe\x3f\xa6\x72\
+\x03\x16\x1f\xce\x34\x39\xb1\xac\x76\xe6\x2e\xcb\x38\x70\xf0\xfa\
+\x82\x18\xb2\x8e\x86\xb5\x69\x93\xd5\x03\x93\x35\x44\xd4\x56\xca\
+\x46\xdd\x37\xec\x46\x30\x48\x8e\xd3\x06\x8d\x21\x3a\x15\x37\xbc\
+\x68\xc4\x23\xf1\x24\x95\x27\x16\x44\x94\xf3\xf9\x04\x8c\x79\x4a\
+\x94\x15\x28\x51\x5e\xa0\x42\x5d\x99\x06\x75\xa5\x5a\xe8\xd5\x33\
+\x67\x03\x92\x09\xc6\xc8\x7b\xdf\x89\x36\x7c\x7c\xac\x15\x26\x1a\
+\xcd\x3b\xa1\x09\x3c\x85\x9f\xe2\xe9\xc7\x17\xb1\x26\x71\x80\xca\
+\x02\xd4\x99\x70\x23\x35\x21\x5e\x67\x4a\xe2\x00\x4b\x22\x0f\x82\
+\xfc\x7f\x7c\x82\xf8\x47\x90\x60\xec\x86\xb2\xeb\x84\x85\x23\x72\
+\x0e\xd3\x86\x61\x9b\x07\xc3\x36\x0f\x06\x43\xf6\x68\x93\xc5\x83\
+\x7e\xb3\x1b\x26\x1b\x75\x3c\x7c\xd0\xe2\xc6\x88\xdb\x9f\x60\xb3\
+\x30\x7d\x6b\x74\xdc\x26\xd2\x6c\x5a\x29\x13\xa1\xaa\x58\x3d\xfe\
+\xcf\xa8\x46\x79\x81\x0a\x22\xe1\xad\xa3\x65\xd3\xc1\xe7\x0f\xe2\
+\xe4\xa5\x5e\xec\x3f\x79\x13\x07\xcf\x74\x4c\x3c\x05\x9a\xf4\x3b\
+\x63\xf6\xa5\xe6\xe9\xe5\x78\x62\x33\x63\x63\xc3\x04\xbc\xf9\x41\
+\x7d\x8a\x35\x63\xc6\xe6\x15\x10\x82\xb7\xd8\xf4\xc9\x8a\xc8\xff\
+\xbc\xa3\xda\xb4\x6d\x47\xf3\x87\x00\x1e\x63\x2a\x7b\xbd\x6b\x14\
+\x4d\x5d\xa3\xa8\x2e\xe2\x8e\xed\x73\xc8\x1c\x7c\xfe\x20\xec\x23\
+\x3e\x4a\x7b\xb6\x85\x34\x68\x93\x0b\xc3\xa1\xd7\x26\xab\x07\x7d\
+\xc3\x2e\xb8\x3d\x91\xa1\x4b\xa3\x4d\x13\x2c\x6d\xce\xf1\x6c\xb1\
+\x71\x9b\x4b\xdf\xb6\x9d\xad\x91\xa0\xb6\x44\x8d\xda\x12\x0d\xa5\
+\x6d\x17\xaa\x50\x9a\xaf\xc4\x14\x1e\x80\x9c\x54\x44\x6a\xde\x1f\
+\x1d\x6d\x85\xd9\x46\x6d\xf6\x4e\x36\x9e\x7e\x6c\x61\x5a\xfe\xed\
+\x67\xaf\xf6\xa2\xfe\x7a\x3f\x4b\x69\xe2\xfd\x96\x3d\xdf\x1a\x62\
+\x23\xc9\x7a\xfd\x10\x04\x5e\xe3\xb1\x20\x72\x00\xd8\x75\xd2\x82\
+\xbf\x2d\xca\x63\xdb\x35\x87\x3b\x0c\x5e\x5f\x10\xa6\x90\x26\x6d\
+\xb2\x7a\xd0\x6b\x72\x85\xc8\x7a\x9c\xb4\xfb\x87\xdd\x08\x92\x91\
+\xb6\xce\xd8\xf5\x36\x8d\xcf\x07\x3d\x26\x49\x63\x66\x03\xa1\x80\
+\x87\xe2\x1c\x39\x6a\x4b\xd5\xa8\x29\xa5\x48\xbb\xc6\xa8\x81\x4a\
+\x2e\x9a\xfa\xc1\x4c\x32\xbc\xbe\x00\x4e\x5c\xec\xc5\xbe\x93\x6d\
+\xf8\xf4\x4c\x27\xec\x11\xfe\xee\xf4\xc8\xdc\x66\x2f\x09\xa0\x20\
+\x47\x81\xcf\x6d\x4a\x4f\x1b\xff\xdd\xfb\x63\xda\x78\x7c\xd3\x58\
+\xbc\xd5\x44\x90\x20\x5f\x63\xdb\x2f\x6b\x22\xff\x70\x47\xd5\x91\
+\x6d\x3b\x9a\x4f\x83\xc4\x52\xa6\xb2\xa7\x1a\x9d\xe8\x33\xfb\x90\
+\xa7\x9d\xf9\xbb\xe1\x1c\x26\x17\x0e\x97\x9f\x22\x68\x9b\x07\xbd\
+\x26\x77\x98\xac\x87\xed\x1e\x0c\x59\x3d\xe8\x19\x74\xc1\xe9\x8e\
+\x4e\x1e\x4e\xd2\x98\x27\x12\xe8\xd4\xf1\xd4\xe3\x34\x97\xe5\xc9\
+\x9d\xd8\x52\xc5\xf8\x06\x64\x69\x81\x12\xb5\xa5\xea\xb0\xb6\x5d\
+\x92\xa7\x00\x8f\x77\x9b\xa8\xd9\x34\xf0\xf8\x02\x38\x79\xa9\x17\
+\xfb\x4e\xb4\xe1\xe0\x99\x0e\x38\x5d\x71\x13\xc5\xa7\x8d\x64\xbf\
+\xcc\x33\x4f\x2c\x4a\x6b\xb3\xb7\xbd\xd7\x8a\x4f\x4f\xb7\xa5\xd4\
+\x17\x0d\xce\x76\xee\x79\xfe\x38\xdb\xbe\xd3\xf2\xde\x27\x83\xe4\
+\xcf\x08\x82\xf8\x13\x63\x39\x92\xb2\x95\xff\xcd\x03\x39\xe9\x74\
+\xcf\x61\x06\xc3\xe3\x0b\x62\xd0\x32\x8a\x61\x9b\x17\x83\x96\xd1\
+\xb0\x06\x1d\x59\x66\xb6\x7b\xe1\x0f\x86\x62\x75\xc4\xdb\x2c\xa4\
+\xe3\xdf\x29\xd4\x98\x27\x43\x09\x17\xf0\x79\x28\xcd\x57\xa0\xb2\
+\x58\x85\xaa\x22\x15\xaa\x8a\xa9\x7f\x6a\xc5\x9d\x71\xf2\x79\xd4\
+\xe3\xc7\x91\x0b\xdd\xd8\x7f\xaa\x1d\x87\xce\x77\x87\x62\x91\xc4\
+\xf1\xe2\x61\x84\x94\xd7\x5c\x13\xfb\x21\x81\xe2\x5c\x25\x1e\xde\
+\x50\xcd\xa2\xcf\x71\xbc\xfe\xee\x05\x6a\x55\x18\xaf\x9f\x44\xa3\
+\x20\x89\x7f\x49\xa7\xef\xb4\x88\x5c\xd4\x58\xf5\xae\x6f\xd6\x8d\
+\x56\x90\x28\x67\x2a\xfb\x49\xbd\x0d\x0f\xaf\xd4\xc0\xa0\xe1\xb4\
+\xf2\x5b\x0d\x94\xa9\xc3\x8b\xbe\x61\x37\x86\x6d\xde\x90\xd9\x83\
+\xfa\x3b\x56\x36\x6c\xf3\x84\x4f\xd0\xd1\xb9\xbf\x4d\x00\x0d\x89\
+\xc7\x96\x27\x42\x66\xfd\xa9\x33\x29\x23\x97\x08\x50\x51\xa4\x44\
+\x69\xbe\x02\x65\x05\x4a\xd4\x96\x50\x7e\xda\x62\xd1\xf4\xc6\x19\
+\x99\x6a\x8c\x7a\x03\x38\x7d\xb9\x17\xfb\x4e\xb6\xe3\x93\x33\x9d\
+\x18\x71\x51\x3e\xd6\x93\x62\xad\x62\xc1\xa5\xdf\xf9\xab\x65\x10\
+\xa4\x91\x7c\xa2\x7b\xc0\x8e\xf7\x0f\xc6\x3f\x00\x94\x18\x64\x5b\
+\x87\xb2\x80\x55\x6e\xe4\x31\xa4\x45\xe4\xef\xbc\x43\x04\xb6\xd5\
+\x36\xff\x07\x08\xfc\x9c\xa9\x6c\x20\x40\xe2\x9d\x23\x66\x3c\xbb\
+\x95\x7d\x2c\x03\x0e\x99\x85\x3f\x40\xc2\x36\xe2\x0b\x11\xb1\x17\
+\xc3\x76\x0f\x7a\x4d\xa3\x18\xb6\x7b\x31\x6c\xf5\xc0\x64\xf7\x62\
+\xd0\x3c\x0a\xd7\xd8\x86\x61\x84\xf6\x31\xc1\xb0\x91\xba\x4b\x41\
+\x5c\x4c\xa5\x39\x3a\x53\x7d\x65\xab\xb3\x50\x53\xa2\x42\x4d\x89\
+\x1a\xa5\xf9\x0a\x94\x17\x28\x51\x92\xa7\xb8\x6d\x36\x20\x99\x62\
+\xd4\xe3\xc7\xe9\x2b\xfd\xd8\x77\xb2\x0d\x07\x4e\x77\x46\x44\x01\
+\x64\xf8\x8d\xc7\xf5\xc1\x4e\x49\x30\x29\x16\xd6\xe4\xe2\x9e\x15\
+\x8c\x75\xd1\x09\xf8\xf9\x1f\x4e\xc3\xe7\x67\x92\x03\x34\xe2\xf3\
+\x90\xc4\xbf\xe1\x9d\xc7\xd3\x4a\x20\x9a\x76\x60\x04\x97\xcb\xfd\
+\x3b\xa9\x5c\xf2\x03\x90\x60\x9c\xd3\xed\xd3\x06\x4a\x2b\x2f\xd0\
+\xdf\x7e\x1b\x37\x33\x0d\x5e\x5f\x90\x22\x64\x3b\x45\xd2\xbd\x26\
+\xca\xb4\x61\xb2\x79\x43\x7f\x3d\x18\x30\x7b\x10\x08\x8e\xdd\x60\
+\xd1\x9a\x31\x9b\x65\x6b\x34\xc8\x04\xef\x52\x93\x61\xd3\x4f\x6a\
+\xad\xa4\xde\x8f\x50\xc0\x43\x91\x41\x86\x6a\xa3\x0a\xb5\x46\x35\
+\x6a\x4a\xd4\xa8\x2c\x56\x42\x3a\xc3\xe2\x8c\x4c\x07\xc2\xe4\x7d\
+\xaa\x1d\x07\x4e\x75\xc0\x3d\xea\x8f\xbd\x73\x52\xd0\x98\xa7\x6a\
+\x22\xe7\x11\x04\xbe\xff\x8d\x55\x69\x4d\xb6\xed\xbd\x56\x7c\x78\
+\x38\xb5\x9c\x9c\x34\x9f\xcb\x2c\xf7\x88\xfe\x8b\x7d\xef\x14\xd2\
+\xbe\xf3\xf6\xff\xeb\xbc\x91\x87\x77\x34\xff\x8e\x04\xbe\xcb\x54\
+\x36\x18\x04\xfe\xf7\x88\x19\xcf\x3f\x92\x9b\xee\x30\xee\x68\x38\
+\xdc\x7e\x98\x6d\x3e\x0c\xdb\xbd\xe8\x1b\x1e\x0d\x93\xf5\x70\xb8\
+\xcc\x0d\x87\xcb\x3f\x2e\x40\x46\x3f\x5a\xb1\x07\x49\x92\x63\x1a\
+\x5c\x38\xa6\x02\x51\x1f\x4b\xaf\xce\x42\x59\xbe\x02\xa5\xf9\x0a\
+\xd4\x1a\x55\xa8\x29\x51\xc1\x98\x2b\xbf\xad\x37\x20\x99\xc2\x31\
+\xe2\xc5\xa1\xf3\xdd\x38\x74\xbe\x0b\x87\x2f\x74\x63\xd4\x13\xba\
+\xd7\x6e\x01\xd3\xd8\xa3\x1b\x6b\x30\xa7\x22\xbd\x60\x7e\x3f\x7b\
+\xeb\x34\x02\xd1\x71\xd9\xe3\x77\x39\xa1\x9c\x04\xf9\xab\xab\x87\
+\x9e\x89\x0e\x06\xc3\x18\x19\x51\x21\x02\x08\xfe\x82\x07\xde\xf3\
+\x00\x52\x57\xad\x43\x1f\xe4\xe8\x65\x3b\x1e\x5b\xad\x45\x61\x36\
+\xa7\x95\x47\xc3\xe7\x0f\xc2\xe1\x0a\x84\xc8\xd8\x13\x26\x68\xb3\
+\x7d\x9c\xb4\x07\xad\x1e\xf8\xfd\x91\x77\x4b\xe4\x92\x2d\xb6\x2c\
+\xf6\xdd\xe4\x82\x8d\xdf\x07\xab\x16\xe9\xdd\xb9\x53\xf6\x58\xe1\
+\xf3\x08\x18\x73\xe5\x28\xcd\x93\xa3\xb4\x40\x81\x1a\xa3\x0a\x75\
+\xa5\x6a\x68\x95\x77\xc6\x06\x24\x53\xd8\x47\xbc\x38\x7c\x9e\xda\
+\xb0\x3c\xde\xd0\x0b\xaf\x7f\x8c\xc8\x52\xff\x4d\xa7\xfb\x3e\x94\
+\x49\x84\x78\xee\x0b\x77\xa5\xd5\xee\x8d\x4e\x33\x95\x01\x88\xdd\
+\x6a\xc2\x03\x92\xf8\x55\x5a\x03\x08\x21\x23\x44\xfe\xe1\x8e\x9a\
+\xde\x6d\x3b\x9a\x7e\x0f\x92\xf8\x2a\x53\xd9\x60\x10\xf8\xe3\x67\
+\xc3\x78\xe9\xf1\x3b\xcb\xaf\xdc\xee\xf2\xc3\x6c\xf7\x61\xd0\xe2\
+\x85\xd9\xe1\xc5\x90\xd5\x47\x9d\x3a\x1c\x2b\xb3\x7b\x61\x1b\xa1\
+\x6c\x8a\xe3\x7c\x4c\x67\x32\x48\xe6\x04\x37\xf9\xda\x4e\x02\xc7\
+\x3f\xf6\x88\xc7\xd7\x19\xe8\x46\x25\x17\xa1\xb2\x50\x81\xca\x22\
+\x25\x2a\x0b\x15\xe1\xcd\x48\x01\x9f\xd3\xb2\x13\xc1\xe2\xf0\xe0\
+\xd3\xb3\x5d\x38\x70\xaa\x03\xa7\xaf\xf4\x87\xb2\x03\xc5\x9b\x41\
+\x29\xb0\x33\xc8\x4d\x8d\xc7\xca\x37\x1f\x5f\x88\x6c\x0d\xe3\x88\
+\xdc\x13\xf0\xb3\xb7\x4e\x27\xf0\x54\x19\x43\xdc\xeb\xff\xaf\x63\
+\xdf\xf3\x7d\x69\x0d\x20\x84\x8c\x19\xf5\x02\x10\xfc\x88\x4f\x04\
+\xbe\x88\x94\x8e\xed\x4f\xfc\x60\x27\xae\x39\xd0\xd6\xaf\xbd\x2d\
+\x12\x4f\x04\x82\x24\x2c\x0e\x3f\x86\xac\x63\xf6\x68\x1f\x86\x42\
+\x5a\xf4\xa0\x95\xfa\x6b\xb2\x79\xe1\xf1\x05\x68\x66\x71\x36\x26\
+\x8e\x99\x0a\xe6\x76\xd1\x4c\x4f\x3a\x3c\x82\x40\x61\x8e\x14\x15\
+\x45\x14\x69\x57\x84\xc8\x3b\x47\xc3\x9d\x2a\x4e\x15\x16\xfb\x28\
+\x0e\x9e\xed\xc2\xfe\x53\x9d\x38\x73\xb5\x0f\x81\xc0\x0c\xbf\x39\
+\x53\xf4\x58\x29\xce\x55\xe2\xaf\x1e\x4c\x2f\xfb\xcf\xd5\xd6\x21\
+\xec\x3f\xd9\xca\x56\xdc\xc3\x0f\x06\x7f\x9c\xd6\x00\x22\x90\x31\
+\x22\xff\xf3\x8e\xf2\xce\x6d\x3b\x9a\xdf\x04\xf0\x74\x2a\xf5\x27\
+\x18\x03\x48\x12\x6f\xee\x1d\xc4\x3f\x7c\xb9\x28\x53\xc3\x99\x14\
+\x78\xfd\x41\x98\xed\xfe\x90\x69\xc3\x07\xb3\x83\xfa\xdb\x6f\xf6\
+\x50\x65\x36\x8a\xac\x03\xc1\xe0\x44\xc1\x94\x36\x0b\xd9\x78\xc0\
+\x4e\xa3\xb6\x33\x89\xbe\xdc\x6c\x9a\x10\x0a\x78\x28\xc8\x91\xa2\
+\xc6\xa8\x42\x8d\x51\x89\xea\x62\x25\x2a\x8b\x94\x90\x88\xef\x2c\
+\x37\xbf\x4c\xc0\xea\xf0\xe0\x68\x43\x2f\xf6\x9f\xea\xc0\xf1\x86\
+\xde\x70\x5e\xce\x78\x11\x1b\xd9\xac\xdf\x52\x2d\x9e\x2c\x8f\x95\
+\x1d\x7f\xb3\x3a\xed\x54\x73\x3f\xfe\xed\x31\x46\x29\xef\xc6\x41\
+\x02\x20\x7f\xd3\xba\xff\xc5\xae\xb4\x06\x10\x81\x8c\x6e\xb3\xf3\
+\xbc\xfe\x7f\x08\x8a\x04\x5f\x06\x09\xc6\xa1\xd5\x2e\xb7\xb9\x70\
+\xfa\xba\x13\x4b\x6b\xa6\x27\xa0\x96\xd3\x1d\x80\xd9\xe1\x83\xd9\
+\xee\x83\xd9\x41\x91\x75\xdf\x30\x65\xf6\x18\xb6\xfb\x61\x09\x91\
+\x36\x10\xff\x86\x4e\xb2\xca\x64\x85\x29\xd3\x7f\x12\xda\x98\x53\
+\x2a\x4c\xde\x01\xe3\x16\xe8\x6b\xe9\xd5\x62\xca\x96\x9d\x2f\x47\
+\x75\xb1\x12\x35\x46\x25\x8a\x73\x65\x53\x9a\x69\xfd\x76\x83\xd5\
+\xe1\xc1\xb1\x86\x5e\xec\x3b\xd5\x81\x63\x0d\xbd\x21\xcd\x3b\x0d\
+\x03\x5d\x1a\x13\xfd\x64\xdf\xf3\x0f\x6f\xa8\xc6\xaa\x05\xe9\x29\
+\x8d\xbb\x8f\xb5\xe0\xf4\x95\x1e\x46\x32\xe3\x9f\x8b\x18\xf5\x0b\
+\xc8\x57\xd3\x1a\x40\x14\x32\x4a\xe4\xef\xff\x53\x5d\xdf\xb6\x57\
+\x9a\x7f\x03\xe0\x39\x36\xf2\x6f\xee\x1d\xc4\xc2\x0a\x19\x84\x82\
+\xcc\x3d\x90\xfe\x00\x09\xbb\x2b\x30\x81\xa0\xfb\x2d\x5e\x4a\xb3\
+\x76\x78\x61\x76\xf8\x31\x60\xf6\x62\xd4\x1b\xbb\x59\x43\x9f\x12\
+\x6a\xfa\x76\xd8\x19\xc9\xa4\xfc\x20\xcd\xdc\xa5\x32\x9f\x47\xa0\
+\x38\x57\x86\x92\x3c\x19\x4a\xf3\xe4\xa8\x31\x2a\x51\x63\x54\x41\
+\xab\xe4\x36\xc6\x33\x81\x01\xb3\x0b\x47\xeb\x7b\x71\xe4\x42\x0f\
+\x8e\x5d\xec\x41\x20\x40\x46\x28\xc0\xd3\x6f\x1a\x9b\x0c\x19\x8d\
+\x32\x0b\xdf\xfd\xf2\x32\x16\xf2\xe3\xf0\x78\x03\xf8\x97\xff\x7b\
+\x22\x61\x3f\xd1\x2f\x27\xd4\x20\xc9\xd7\xba\x3f\x7a\x81\xd9\x2c\
+\x90\x04\x19\x77\x7c\x15\x7a\x89\x7f\xf2\x89\xc8\xaf\x01\x88\xaf\
+\x5a\xc7\xf9\x80\x03\x66\x1f\x3e\x3a\x65\xc1\xc3\xab\xb4\xac\xfb\
+\x6f\xeb\x1f\xc5\xef\x0f\x0c\x62\xd8\x46\x99\x3e\xac\x4e\x7f\x82\
+\xcd\x42\x92\xf6\x9e\x4d\x30\xc4\x49\x41\x4a\xcf\x42\x86\x4c\x19\
+\x93\xf3\xb9\x92\x6d\xb8\x26\xbf\xaa\x94\x09\x51\x51\x28\x47\x45\
+\xa1\x82\xfa\x5b\xa0\x40\x69\xbe\x9c\xdb\x80\xcc\x30\xfa\x4d\x2e\
+\x1c\x38\x43\x6d\x58\x5e\x6a\x31\x4d\xf0\x6c\x8a\xf7\x2c\x4c\x06\
+\xa6\xeb\xf9\xfa\xe1\x37\x56\x41\xab\x4a\x2f\x16\xfb\x9b\x3b\xeb\
+\xd1\x3d\x60\xa7\xed\x20\x85\xcf\x35\x22\x08\xfa\x19\xe7\x72\x48\
+\x86\x8c\x13\xf9\x3b\x3f\xa9\x1c\xda\xf6\x4a\xf3\xaf\x00\xfc\x2d\
+\x7d\x8d\xc4\x1f\xf5\xed\xc3\xc3\x58\x37\x4f\x09\x8d\x82\xdd\xd0\
+\x4a\x0c\x59\xf0\x07\x48\xdc\xec\x73\x27\xad\x4b\xe7\x03\xc2\x1c\
+\x49\x64\x68\xf7\x2f\xd9\xd8\x60\xd8\xb8\x75\x4d\x95\xc7\x0a\x33\
+\xe8\x55\x62\x54\x15\x2b\x50\x5d\xac\x08\x6b\xdb\xc6\x5c\xd9\x1d\
+\x7b\x02\x72\xb2\xd1\x6f\x72\xe1\xd3\x73\xdd\x38\x70\xba\x13\xf5\
+\xcd\x43\x94\x69\x70\x12\xef\xbf\x71\x89\x99\xe5\xb1\xb2\x76\x51\
+\x31\xee\x5f\x5d\xc1\xa2\xfd\x71\x0c\x59\x5c\xf8\xcf\x77\x2e\x30\
+\x90\x98\x38\x32\x02\xf8\xf7\xd6\xfd\x2f\x0d\xa6\x35\x08\x1a\x4c\
+\xca\x51\x34\xc2\x1b\x78\x95\x14\xf1\xff\x06\x80\x92\xa9\xac\xdb\
+\x13\xc4\x1f\x0e\x9a\xf0\xec\x36\x76\x87\x84\x08\x02\x78\x76\x5b\
+\x3e\xb6\xff\xe2\x06\x5c\x9e\x60\x72\x01\xa6\x98\xc4\x4d\xbe\x99\
+\x09\xf6\x0f\xa3\x50\xc0\x43\x61\xb6\x04\xd5\x45\x8a\x30\x71\x57\
+\x14\x2a\xb8\x0d\xc8\x29\x40\x9f\x69\x04\x9f\x9d\xef\xc1\x81\x53\
+\x5d\x68\x68\x1e\x0c\x6b\xde\xb7\xc5\x6d\xca\x62\xd5\x2a\x93\x08\
+\xf1\xa3\x6f\xae\x49\xbb\xeb\x7f\xf9\xbf\xc7\x31\xe2\xf6\x26\xaf\
+\x48\x0b\xc2\xe6\x0b\x06\xfe\x2d\xed\x41\xd0\x60\x52\x88\xfc\x83\
+\x9f\xd4\x0e\x6f\xfb\x61\xf3\xbf\x82\xc0\x8f\xe8\xae\x27\xdb\xf6\
+\xfa\xa4\xde\x8a\x7b\x97\xaa\x51\x9e\xc7\xce\x4d\x2c\x47\x2d\xc4\
+\x57\xee\xcd\xc5\x2f\x77\xf6\x26\xd7\x4e\x53\xdc\x2d\x4f\x05\x6c\
+\xf6\xf0\x13\x0f\x22\x91\xc4\x54\x69\x3b\xa9\x99\xd5\xb3\xd5\x62\
+\x54\x14\xc8\x51\x5e\x20\x47\x65\xa1\x1c\xe5\x85\x72\x14\x64\x4b\
+\xb8\x0d\xc8\x29\x44\x67\xbf\x03\x9f\x9c\xe9\xc2\xfe\xd3\x5d\xb8\
+\xde\x6e\xa1\x0a\x53\xfa\xc9\xd9\xdf\x4b\xd3\xe2\xb1\xc2\xa2\x9f\
+\xbf\xfd\xf2\x72\xe4\xe9\xd3\x73\xa4\xb8\xd8\x3c\x80\x5d\x9f\x35\
+\x25\xec\x27\xf1\xa8\xc8\x57\xbb\xf7\xbd\x60\x4e\x6b\x10\x71\x30\
+\x69\xc1\x21\x84\x0e\xc9\xbf\xfa\x94\xee\xa7\x00\x94\x30\x95\x25\
+\x49\xe0\x3f\x3f\xec\xc7\xab\x5f\x67\x9f\xa8\x79\xcb\x62\x2d\x4e\
+\x5d\x73\xe0\x5c\xb3\x23\xd4\x28\xbb\x76\x62\xc6\x96\x99\x66\x66\
+\x48\x5f\x49\xbc\x6d\x68\x0a\xf9\x3c\xa0\x28\x47\x86\x92\x5c\x29\
+\x4a\xf2\x64\xa8\x2a\x56\xa0\xd6\xa8\x80\x46\xc1\x6d\x40\x4e\x07\
+\x7a\x86\x46\x70\xe4\x42\x0f\x0e\x9c\xee\x42\x7d\x93\x09\x6c\xa7\
+\xf8\x44\xb8\xd5\x3d\x56\xd6\x2c\x2a\xc2\x93\x5b\xea\xd2\x6a\x23\
+\x10\x08\xe2\x95\x5f\x1d\x66\x7d\x20\x8d\x24\xd0\x46\xb8\x54\x3f\
+\x4d\x6b\x10\x09\x30\xa9\xea\xd2\xd6\x1f\x36\x3d\x11\x1b\xaf\x3c\
+\x3a\x29\xc0\xc4\x9d\x82\xc8\xdb\xf0\xa9\x7b\x72\xb0\x75\x05\xfb\
+\x8d\xcf\x61\xbb\x0f\xdb\xff\xa3\x05\x76\x57\x20\xc5\x8d\xce\xe4\
+\x1e\x2b\xf1\x12\x1a\x8c\x93\x61\xf4\x6e\x3f\x5d\x29\x19\xf5\xb1\
+\xa3\x77\x4b\x68\x64\xc8\xe8\x16\xa2\xd9\x37\x7a\xec\xf4\x63\xa1\
+\x5d\x0d\x4d\x68\x6a\xfc\x95\x42\x22\x40\x45\xa1\x0c\xe5\x21\x4d\
+\xbb\xa2\x40\x06\x63\x9e\x14\xc2\x34\xc2\x7d\x72\x48\x1f\xad\xdd\
+\x36\x7c\x72\xa6\x1b\x9f\x9c\xe9\x46\x4b\x77\x28\x53\x7b\xf4\xa6\
+\x65\xf8\x2d\xdd\x2f\x4e\x7f\xef\x90\x13\xff\x8b\x6a\x22\xf6\x59\
+\x88\x77\xdf\x8c\xdf\x56\xf4\xcf\x42\x54\x8f\x29\x3d\x0b\xf1\xc7\
+\x1e\x21\x45\x73\xdf\x67\x6b\xa4\xf8\xf0\xe7\x9f\x4b\x7b\x83\xf3\
+\xf5\xf7\x2e\xe0\xd5\x90\xa7\x4a\xcc\x67\xa6\xfb\xee\xa3\x5e\x04\
+\x49\xf2\xd1\x8e\xbd\xcf\xbf\x9f\xd6\x20\x12\x60\xd2\xd7\xbd\x0f\
+\xbf\xd2\x7c\x98\x04\xc6\x8d\x53\x49\x02\x36\x45\x5e\x15\x0b\x79\
+\xf8\xc5\x33\xa5\xc8\x4d\x23\x93\xd0\xb9\x26\x07\xfe\xfe\xf7\x1d\
+\x20\x83\xb1\x37\x62\x3c\x22\x8f\x77\x43\x4f\x06\x91\xd3\xdf\xd0\
+\x24\xcd\x5b\xa6\x44\x1e\xab\x3a\x24\xf2\x7f\xd7\xaa\x44\xa8\x2e\
+\x92\xa3\xaa\x48\x0e\x63\xae\x14\xa5\x79\x32\x14\x1b\xa4\xdc\x06\
+\xe4\x0c\xc1\xcd\x1e\x7b\xc8\xdb\xa4\x0b\x37\x7b\xec\xa9\x91\x09\
+\x40\x4f\xe4\x49\x95\x9a\xc9\x25\xf2\xf8\x63\xcf\x2c\x91\x13\x04\
+\xf0\x9b\xff\x73\x2f\xd6\x2e\x2a\x8e\x16\x60\x84\xee\x01\x3b\xee\
+\x7d\xe6\x4f\x70\x8f\x46\xc7\x50\x4f\xa6\x90\x85\x5f\x1c\x6a\xdb\
+\xf3\xdc\xfa\xb4\x06\x91\x04\x93\x1e\x77\x33\x10\x24\x9e\xe3\xf1\
+\xc8\x73\x00\x78\x74\xe4\x12\x89\xe8\xab\x1e\x5f\x10\xbf\xdc\xd5\
+\x87\x1f\x7d\xb9\x98\x35\xa1\x2c\xae\x56\xe0\xc1\x65\x3a\x7c\x78\
+\xc2\x94\xb0\xaf\x64\x63\xa3\x47\x12\x99\xd8\xfb\x14\xf4\x37\x62\
+\x9a\xfd\x30\xa8\x29\xe0\x13\x28\xcc\x96\xa0\x2a\x82\xb4\xab\x8a\
+\xe4\x50\x48\xb9\x10\xac\x33\x0d\x14\x79\x77\x63\xff\xa9\x2e\xb4\
+\xf5\xda\x11\x4f\x93\x8e\xfb\xa3\x47\xf3\x68\xc2\xca\x89\xc0\x5c\
+\x66\x26\x78\xac\x3c\xb5\x75\x5e\xda\x24\x4e\x92\xc0\xf7\x5f\x3b\
+\x44\x43\xe2\xa9\x8d\x0d\x40\x90\xc7\x23\xbe\x93\xd6\x20\x52\xc0\
+\xa4\x3f\xbd\x1f\xfe\x43\x65\xfd\xc3\x3b\x9a\xff\x8b\x24\xf1\x15\
+\x80\xf9\x4f\x75\xe9\xe6\x08\x3e\x6b\xb0\x61\xc3\x02\x15\xeb\x31\
+\x7c\xe5\x9e\x5c\x5c\x6d\x1f\x41\x6b\x6f\x72\x97\xc4\x84\x48\xf1\
+\x81\x99\x29\x50\x48\x05\x61\xa2\xae\x2a\x94\xa1\xaa\x48\x8e\xa2\
+\x1c\x09\x17\x82\x75\x06\xe3\x66\x8f\x1d\x9f\x9c\xe9\xc6\xde\x93\
+\x5d\x68\xef\xb3\x4f\xbc\x38\x43\xef\xb3\x29\x45\x8a\xcf\x60\x5d\
+\x99\x1e\xcf\x7f\x31\xbd\xc8\x86\x00\xf0\xee\x27\xd7\x70\xbc\x81\
+\xfd\x49\x7a\x82\xc0\x6f\x5b\x3f\xfe\xf6\xf9\xb4\x07\x92\x04\x53\
+\xa2\x86\x05\xbc\x82\xef\xf1\x84\xfe\x47\x11\xe3\x8e\x98\xda\x9d\
+\xf9\xe6\xde\x01\x2c\xaa\x92\x41\x25\x63\x37\x5c\xa1\x80\xc0\x4b\
+\x4f\x16\xe1\xb9\xd7\x5a\x22\x4e\x70\x26\xe8\x3e\x8e\x69\x22\x11\
+\xa6\x53\xdb\x11\xf0\x09\x14\x1b\x24\x28\xcf\x97\xa1\xac\x40\x86\
+\xf2\x7c\x19\xca\x0b\xa4\x50\xc9\xb8\x34\x7a\x33\x1d\x24\x09\x5c\
+\x6b\x33\xe3\x93\x33\x3d\x38\x78\xb6\x1b\x3d\x43\x23\xac\xee\xbf\
+\x50\x6b\xac\xee\x26\x36\xfd\x30\x97\x8c\x53\x3b\xc5\x67\x90\xc9\
+\x9a\x54\x92\x25\xc0\xbf\xbd\x70\x77\x5a\x89\x94\x01\xca\x67\xfc\
+\x9f\xdf\x4c\xe1\x04\x67\x7c\xd8\x83\x10\xee\x48\x6b\x10\x29\x62\
+\xca\x54\xb3\x87\x77\xdc\x78\x99\x24\x83\x3f\x49\xbc\xd1\x19\x55\
+\x06\x84\xed\x6a\xab\xe6\x28\xf1\xd2\xe3\x05\x69\x8d\xe1\xe8\x65\
+\x1b\x5e\xfd\x53\x27\xa8\xf3\x10\x99\xb5\x31\xd3\x8f\x9d\xfa\x2f\
+\x91\x69\x25\x9e\x5d\x2d\x9e\x9d\x53\x2e\x11\xa0\xbc\x40\x8a\xf2\
+\x7c\x29\xca\x42\x84\x5d\x92\x2b\xe5\x4e\x40\xde\x42\x20\x49\xe0\
+\xca\x4d\x33\x0e\x9e\xe9\xc6\x27\x67\x7b\xd0\x67\x72\x21\xd6\xc6\
+\x4c\x17\xa8\x2c\x99\x8d\x39\xfa\xbe\xa1\xab\x4d\x7f\xdf\xc7\xb3\
+\x91\xc7\xb3\xa9\xc7\x16\x93\x51\x7f\xe8\x9f\xe3\x98\xd6\x19\xd9\
+\xc7\xe9\xc7\x12\x3d\xf6\x9f\xbe\x78\x77\xda\x07\x7f\x00\x60\xfb\
+\xbf\xec\xc3\x9e\x63\x2d\x13\xfa\x65\xf8\xdd\x7f\xa7\x6d\xcf\x73\
+\x93\xe2\x37\x1e\x8d\x29\x33\x8c\x0a\xe0\xfd\xa9\x9f\x10\x7c\x91\
+\x24\x31\x2b\xe6\x22\xcd\x0d\x14\xf9\x96\x04\x95\x80\x62\x69\x8d\
+\x02\x6b\xe6\x32\x3e\x63\x14\xc6\xea\x39\x2a\xdc\xe8\xd6\xe3\xfd\
+\xa3\x43\x71\xeb\xc4\x9f\x67\x33\xaf\x6d\xd3\x5f\x1d\x2f\xd5\x29\
+\x45\xa8\x2c\x92\xa1\xaa\x40\x0a\x63\xae\x04\xc6\x5c\x29\x8a\x73\
+\x24\xdc\x06\xe4\x2d\x88\x20\x49\xa2\xa9\xc3\x86\xa3\x0d\x7d\xd8\
+\x7d\xbc\x03\xdd\x83\x23\x09\xb7\x4b\xa6\x64\x0f\x87\xb6\x16\xfd\
+\x33\x98\x58\x68\xea\xec\xe1\xc9\xf0\xd5\x6d\xf3\x32\x42\xe2\x7b\
+\x8e\xb5\x8c\x93\x38\xd3\xe1\x50\xe5\x97\xb5\x83\x92\x5f\xb4\xa5\
+\x3d\x92\xd4\x30\xa5\x94\xb0\xf5\x07\xcd\x4b\x41\x90\xc7\x01\x84\
+\x8e\xf6\x25\x9b\xc5\x27\x96\x4a\xb3\x78\xf8\xc5\x33\x65\xc8\x51\
+\xb3\x37\x19\x04\x83\x24\x5e\xf9\xaf\x76\x5c\xb8\xe1\x48\xa2\x99\
+\xd0\xcc\xfc\xb1\x2a\x52\xf8\x4f\xa2\xd5\x44\x3c\x8d\x7c\xec\xaa\
+\x80\x4f\xa0\x40\x9f\x85\xaa\x42\x19\x2a\x0b\xa5\x28\x36\x48\x50\
+\x51\x20\x83\x92\xa5\x29\x89\xc3\xcc\x40\x90\x24\x71\xb9\x65\xcc\
+\x6c\xd2\x83\x41\xcb\xd8\x1e\x4d\xf4\x7d\x13\x51\x16\x2e\xa7\xd1\
+\x82\xa3\x95\xc0\x44\x5a\x21\xcd\x3d\x1c\x4f\xbb\x8e\xa7\x8d\x8f\
+\x57\xa7\x1f\x4b\xbc\xb1\x47\x8d\x24\xb2\xa1\x04\x63\x4f\x45\x23\
+\xa7\x9b\xf9\xc6\xc7\xbf\x6c\x6e\x3e\xde\x7c\xe5\x3e\xf0\xd3\x74\
+\x8f\xed\x33\x39\xf1\xc0\xf6\x3f\xc1\xe6\xf4\xc4\x8c\x25\xc5\xd5\
+\x44\x30\x48\x06\x57\x75\xec\x7d\xfe\x64\x5a\x03\x61\x80\x29\xd7\
+\xed\xb6\xfe\xb0\xe9\x17\x00\xb6\x53\xef\x98\x13\x61\x9d\x51\x82\
+\x7f\x7a\x8a\xfd\x41\x21\x00\x70\xb8\x02\xf8\xf6\x2f\x6f\x60\xc0\
+\x3c\x76\xd4\x36\x7a\x29\x49\x33\x96\x18\x22\x8f\x7e\xf0\x62\xcb\
+\x62\x6f\x67\x12\xf2\x2c\x01\x4a\x72\xb3\x50\x59\x28\x43\x45\x88\
+\xb8\x8b\xb2\xb3\xb8\x0d\xc8\xdb\x04\x61\xf2\x3e\xdb\x83\x83\x67\
+\x7a\x30\x64\x1d\x8d\x1f\xc7\x3b\xc1\x4a\x94\x8d\x0f\x76\x22\x22\
+\x4f\x85\x08\xe9\xc6\x42\x1f\x6f\x3b\x31\x91\xd3\x5a\xea\x27\xc9\
+\x2c\x34\xf6\x36\x5f\x2f\xc7\x7b\xff\xf6\x08\xb4\xca\xf4\x92\x86\
+\x04\x49\x12\x5f\xfc\xbb\x9d\x38\x73\xa5\x37\xc1\xd8\x63\xc7\x32\
+\x61\xf4\x41\xfc\xb4\x6d\xef\xb7\x5f\x4c\x6b\x20\x0c\x31\xe5\x2a\
+\x9f\xdb\x35\xfa\x3d\x89\x34\xeb\x01\x00\xa5\x6c\xe4\xaf\x75\xb8\
+\xf0\xde\x51\x13\x1e\x5b\xab\x67\x3d\x06\x85\x94\x8f\x97\x3f\x5f\
+\x8c\xef\xbe\x7e\x13\x5e\x5f\x8a\xf1\x58\x12\x2c\xa3\xe8\x2e\x09\
+\xf8\x04\x0a\x73\xb2\x50\x96\x27\x45\x59\xbe\x24\x64\xd3\x96\xb2\
+\xde\xb0\xe5\x30\x73\x11\x0c\x92\x38\x7f\xdd\x84\x83\x67\x7b\xf1\
+\xd9\xf9\x1e\x98\xed\x9e\xf0\xb5\x78\xb7\x4d\xa2\xfb\x89\x2d\xd2\
+\x10\xbd\x35\xfa\x8a\xd3\xa9\x58\xc8\xc7\x6b\x2f\x6f\x4e\x9b\xc4\
+\x01\xe0\x57\x6f\x9f\x9f\x48\xe2\x89\x47\x44\x87\x0e\xe9\xa8\xe0\
+\x95\xb4\x07\xc2\x10\xd3\xa2\x06\x6e\xfb\x61\xd3\xbd\x24\xc8\xdd\
+\xe1\x82\x94\x35\x72\xea\x15\x9f\x47\xe0\xd5\x6f\x94\xa0\xb2\x20\
+\xbd\xd3\x5a\xc7\x2e\xdb\xf0\xcf\x7f\xec\x98\xa0\x75\xc4\xdb\xe8\
+\x4c\x74\x90\x49\x26\xe1\xa3\x2c\x5f\x82\xb2\x3c\x09\xca\xf2\xa5\
+\x28\xcb\x93\xa0\x24\x57\xc2\x6d\x40\xde\xc6\x08\x04\x49\x9c\xbb\
+\x36\x84\x83\xe7\x7a\x71\xe8\x7c\x2f\x2c\x8e\xd8\xd5\x1d\xc0\x4e\
+\xa3\xa5\xd5\x69\x93\x6a\xe4\x99\xdf\xe8\xa4\x1f\x7f\xf4\x6a\x22\
+\x76\xfc\x29\x9b\x85\x18\xad\x26\x62\x3a\x0d\xcb\xfc\xf3\xf6\x75\
+\x78\x78\x43\x15\xd2\x45\x43\xd3\x00\x9e\xf8\xee\x07\x08\x04\x02\
+\x51\xdd\x24\x5b\x4d\x8c\x8f\x9e\x24\xc8\x7b\xda\x3f\x7e\x6e\x5f\
+\xda\x83\x61\x88\x69\x63\x9a\x87\x7e\xd8\xf4\x3f\x04\xc8\xcf\x03\
+\x60\x46\xe4\xa1\x37\xb9\x5a\x11\xfe\xfd\x99\x32\x48\xc4\xe9\xd9\
+\xc3\xde\xfe\x6c\x10\xff\xbd\x7f\x3c\xff\x69\x32\x8f\x15\x9d\x52\
+\x88\x8a\x02\x29\x2a\x0b\x25\x28\xce\xc9\x82\xd1\x20\x41\x51\x4e\
+\x16\xb7\x01\x79\x07\x20\x18\x24\x71\xb9\xd5\x82\x83\x67\x7b\xb0\
+\xff\xf4\x98\xe6\x9d\x79\xd3\x44\x22\x22\xcf\xb4\x69\x22\xb6\x6a\
+\x94\x0c\x1d\x91\xc7\xac\x42\xc9\xa8\x3f\xf4\xcf\x71\x4c\xeb\xf1\
+\x4c\x13\x0c\x88\xfc\x1b\x8f\xce\xc7\x0b\x19\xf0\x17\x77\x8d\xfa\
+\xb0\xf5\xdb\xff\x7f\x7b\x67\x1a\x18\x45\x95\xaf\xfd\xe7\x54\xa7\
+\xb3\x87\x10\x12\x20\x84\x25\x10\x36\x59\x65\x51\x51\x41\x16\x65\
+\x11\x05\x61\x64\xe0\x5e\xe0\x15\x95\x51\x44\x65\x11\x15\x75\x06\
+\xc4\x65\x46\x5f\x47\x5f\x67\x94\xeb\xcc\x3b\xa3\x5e\x75\xc6\x11\
+\xc5\x5c\x95\x45\x70\x50\x02\x21\x60\x40\x48\x48\x42\x12\xc2\x92\
+\x85\x25\xfb\x46\xf6\xad\xbb\xea\xdc\x0f\x9d\x4e\x77\x57\x9d\xea\
+\xae\xee\xae\xee\x74\x92\x7a\x3e\x74\x77\x9d\xaa\x53\xf5\xd4\xe9\
+\xaa\xdf\xf9\xd7\xa9\x53\xa7\xbe\x46\x41\x71\x8d\x74\xa6\xe2\xb2\
+\x27\xff\x2c\x38\xb8\xe9\x61\xb7\xcd\xb8\xa0\x4e\xbb\xce\xa7\x1c\
+\x36\x41\xc0\x5c\x42\xd1\xb7\x3d\x45\xb4\x00\x33\xb5\x43\xa5\xd5\
+\x6d\xf8\xf0\x40\x09\x36\x3f\xe8\x5e\x97\xc4\xff\x98\xd3\x0f\x45\
+\x95\x2d\x48\x38\x7b\xc3\x66\x5b\x01\x7a\x0e\x43\xa3\x03\x11\x37\
+\x20\x08\xc3\x06\x04\xb5\x7f\x07\x6a\x43\xb0\xf6\x30\xb5\x19\x05\
+\x9c\x39\x5f\x81\x84\x33\xc5\x38\x96\x5e\x82\xfa\x06\x83\xd5\x5c\
+\x57\x1a\x18\x1c\xe7\x61\x84\x11\x1e\xd9\x4e\xc7\x52\x72\x6d\x17\
+\x8a\x56\xa1\xdc\x1b\xb3\xe2\x72\x21\xb7\x59\x8b\x67\x8e\xc0\x96\
+\xd5\xee\x43\x1c\x00\x5e\xf9\xff\x49\xb8\x52\x5c\xeb\x92\x9d\xf6\
+\x9f\x95\x3a\x0a\x8f\x3f\xc1\x29\xa7\x4e\x8d\x23\x97\xbc\x9c\xb3\
+\x0a\x20\x5f\x00\xac\x5a\x9c\x95\x2a\xad\xc5\x37\x2c\x8d\xc1\x82\
+\x5b\x22\xdc\xf2\x61\x30\x52\xfc\x6d\x7f\x11\xc2\x82\x75\x1d\xc0\
+\x1e\x18\x19\xa0\xdd\x80\xec\xa1\x6a\x33\x08\xf8\x25\xbb\x1c\x09\
+\x29\xc5\x38\x9e\x56\x86\x86\x66\x83\xea\x4d\x13\xf6\x22\x72\xad\
+\xc7\x0a\x6b\x69\xdb\xb2\x9f\x36\x21\x06\x1f\xef\x58\xe8\xf6\x43\
+\x3f\x00\xb0\xeb\x87\x2c\xbc\xf2\xd7\x24\xbb\xde\x25\x8e\x44\xde\
+\x29\xa5\xff\x79\xe5\x87\x67\x76\xbb\x6d\xc6\x45\x75\x3a\xa9\x96\
+\xbc\x7c\xe1\x0b\x0a\xac\x92\x46\x03\xe2\x3f\xbf\x7d\x4a\x54\x80\
+\x7a\x3f\x82\x3f\x3e\x3e\xcc\xed\xf6\x72\x4d\x3d\x5b\xad\x6d\x3c\
+\x4e\x65\x9b\x22\xef\x13\xe7\xca\xd0\xd8\x64\xb0\x99\xaf\x0c\xe4\
+\x8c\x58\x5a\xeb\xb1\xe2\x44\xd3\x84\x32\xff\x23\x87\x44\xe0\x8b\
+\x37\x1f\x40\xaf\x10\xf7\x87\x4e\x4e\xbf\x58\x86\x55\xbf\xfd\x0e\
+\x86\xf6\x4e\x0f\x8e\x2b\x21\x5b\x2f\xed\x79\x3e\x2f\x38\xb8\x79\
+\x8d\xdb\x66\xdc\x50\xa7\x77\xa1\xf0\x6f\xd3\x3f\xd5\xea\x6f\xb8\
+\x13\x2e\x8c\x5b\x0e\x98\xa2\xe9\x37\x77\x5d\xc7\x7b\x4f\xc5\x69\
+\x3d\x42\x34\x39\xa5\x36\x83\x80\xd3\xe7\x2b\x70\x24\xa5\x04\xc7\
+\xd2\x4a\xd0\xd0\x6c\x54\x75\xfd\xb2\x0d\x08\x72\x33\x5c\x69\x71\
+\x70\x3f\xab\x6f\x6d\x4b\xae\x75\xa7\xfd\x47\xbf\x3e\xc1\xf8\x70\
+\xfb\xbd\xaa\x40\xbc\xaa\xb6\x19\x1b\xff\x78\x08\x06\xa3\x19\xe2\
+\x2e\x18\x04\x0a\x74\x94\x6c\x70\xdb\x8c\x9b\xea\xf4\x88\x1c\x00\
+\x16\x6f\xbb\x38\x83\x70\x42\x22\x3a\x1e\x14\x82\xd3\x97\x63\x37\
+\xc7\x85\xe0\xf5\x47\x62\xb5\xe6\x10\x4d\x76\xd5\xdc\xca\x23\x39\
+\xb3\x1c\x47\x52\x4b\x90\x7c\xae\x0c\xcd\x2d\xe6\x1e\x0a\x8e\x86\
+\x7f\x65\x47\xc1\xb6\x8b\xba\x1f\xd1\x32\x63\xda\xae\xdc\x63\x45\
+\x41\xd3\x84\xe3\xab\x09\xd3\x7a\xc2\x82\xfd\xf1\xf9\x1b\x8b\x70\
+\xd3\xd0\x48\xb8\x2b\x9e\x17\xf0\xf0\x8e\xfd\xf8\x25\xb3\x48\x64\
+\xc9\x51\x44\x6e\x53\xf6\x46\x42\xe8\xac\xbc\x03\x9b\xe5\x06\x64\
+\xf1\x9a\x7c\x86\x7a\x8b\x77\x9c\xff\x03\xa1\x64\x5b\x47\x82\x9d\
+\x1e\x2b\x96\x74\xdb\x03\x7a\xd9\xcc\x48\x3c\xb2\xc0\xb5\x77\x7d\
+\x6a\xea\xbe\x6a\x35\xf0\x48\xc9\xa9\x42\x42\x4a\x09\x8e\xa6\x96\
+\xa2\xb9\xd5\xaa\xd9\x84\x05\x43\x46\x33\x89\x74\x6c\x1e\xab\x3c\
+\x5e\x02\xb9\x5a\x4d\x13\xa2\x54\xa6\x7f\x6a\xb5\x5d\x79\xef\x52\
+\x2f\x9e\xea\xb1\x12\xe8\xaf\xc3\x47\x2f\xdf\x8b\x5b\xc7\x0d\x80\
+\x1a\xfa\xbf\x9f\x24\xe3\x93\x3d\xe9\x36\xdb\x75\xbe\x59\x88\xbe\
+\x96\x7f\x70\xf3\xab\xaa\x18\x72\x53\x3e\xd3\x16\x51\xcf\x95\xbd\
+\xda\x4b\x88\xbe\x07\x14\xb7\x33\x83\x1f\x89\xa4\x73\xbf\x3d\x5e\
+\x89\x11\x03\x83\x30\x63\xbc\xeb\x43\xde\x6a\xea\x1e\x6a\x69\xe3\
+\x91\x7a\xc1\x04\xef\xc4\xd4\x52\x34\xb7\x9a\x9a\x4d\xd8\xc1\xa4\
+\xb3\x47\x9a\xe3\x3c\xce\xac\xc9\xfe\x12\x9e\xd9\x4e\xc7\x52\x72\
+\x65\xa0\x68\x15\xca\xbd\x31\x2b\x2e\x85\x0a\xf4\xd7\xe1\xef\xdb\
+\x16\xa8\x06\xf1\x1f\x4f\x16\xe0\xd3\xbd\x19\xae\xaf\xc0\xb4\x0b\
+\x67\x22\xca\x02\xdf\x50\xc5\x90\x0a\xf2\x99\x88\x1c\x00\x96\x6e\
+\xbf\x3c\x5c\x20\xc6\x34\x50\x84\x49\xeb\x47\x47\xb5\xb8\xe9\x47\
+\x80\x9e\xc3\x9b\x8f\x0d\xc3\xa8\x41\xda\xcd\xcf\x9e\x26\x1b\x78\
+\x9f\x2d\x45\x73\x6b\x7b\xb3\x89\x82\xa6\x09\xe9\xa4\xe7\x9a\x26\
+\xec\x45\xe4\x5a\x8f\x15\xdb\x99\x7e\x7e\x1c\x3e\x78\x69\x1e\x66\
+\x4d\x19\x0c\x35\x94\x9d\x57\x81\x55\xbf\xdd\x8b\xa6\x16\x83\xc4\
+\x8b\xe2\xab\x09\xa0\x01\x84\x4e\xc9\xff\x7e\xf3\x65\x55\x4c\xa9\
+\x20\x9f\x02\x39\x00\x2c\xd9\x71\xe1\x51\x2a\x08\x9f\x00\x8c\xc3\
+\x51\xe1\x9f\x1f\x11\xe6\x87\x77\xd7\x0f\x47\x5f\x37\x06\xd7\xd2\
+\xd4\x35\xd4\xd0\x64\xc0\x89\x73\xe5\x38\x92\x52\x8a\x5f\xb2\x2b\
+\x61\x30\xf2\x0e\x8e\x1b\xcb\x27\x13\x84\x80\x04\x7a\xca\x40\xce\
+\x88\xa5\xb5\x1e\x2b\x0a\x40\x2e\xdf\x2c\xe4\xa7\xe3\xb0\xf3\x85\
+\xb9\x98\x73\xab\x7b\x6f\xf9\x31\xab\xac\xaa\x11\xbf\xde\xfa\x2d\
+\x4a\x2b\x1b\x98\x5e\x94\xf6\x58\xa1\x20\x0f\x15\x1c\xd8\xf8\x2f\
+\x55\x4c\xa9\x24\x9f\x03\x39\x00\x2c\xde\x76\xfe\x23\x42\

References