[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] merge with xen-unstable.hg



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1208279386 21600
# Node ID 2b3d3aaf8be4395144414d4a1d9e4799e5485cab
# Parent  c0f77a6575475a1e6aa29ea4ed9f25893b8f19a0
# Parent  08e010c3f2519a585e2948871ab6be0fe25d93d4
merge with xen-unstable.hg
---
 tools/firmware/etherboot/make-eb-rom-list              |   11 
 tools/security/policies/DEFAULT-UL-security_policy.xml |   41 
 tools/xenstore/xsls.c                                  |  171 
 xen/drivers/passthrough/pci-direct.h                   |   48 
 xen/include/asm-ia64/linux-xen/linux/pci.h             |  820 --
 xen/include/asm-ia64/linux/asm/sn/pcidev.h             |   83 
 .hgignore                                              |    3 
 docs/misc/VMX_changes.txt                              |    2 
 docs/misc/hg-cheatsheet.txt                            |   14 
 docs/misc/vtpm.txt                                     |    2 
 docs/misc/xenstore.txt                                 |    3 
 docs/src/interface.tex                                 |   10 
 docs/src/user.tex                                      |    4 
 docs/xen-api/presentation.tex                          |    2 
 docs/xen-api/todo.tex                                  |    2 
 docs/xen-api/wire-protocol.tex                         |    6 
 docs/xen-api/xenapi-datamodel.tex                      |    8 
 extras/mini-os/blkfront.c                              |  188 
 extras/mini-os/include/blkfront.h                      |   12 
 extras/mini-os/kernel.c                                |   41 
 extras/mini-os/lib/xmalloc.c                           |   14 
 stubdom/stubdom-dm                                     |    2 
 tools/blktap/drivers/block-qcow.c                      |    2 
 tools/examples/xend-config-xenapi.sxp                  |   11 
 tools/examples/xend-config.sxp                         |   11 
 tools/firmware/Rules.mk                                |   17 
 tools/firmware/etherboot/Makefile                      |   15 
 tools/firmware/etherboot/eb-roms.h                     | 5695 ++++++++---------
 tools/firmware/extboot/Makefile                        |   14 
 tools/firmware/hvmloader/Makefile                      |   17 
 tools/firmware/hvmloader/acpi/Makefile                 |   12 
 tools/firmware/hvmloader/hvmloader.c                   |   93 
 tools/firmware/hvmloader/option_rom.h                  |   50 
 tools/firmware/hvmloader/smp.c                         |  132 
 tools/firmware/hvmloader/util.c                        |   38 
 tools/firmware/hvmloader/util.h                        |    5 
 tools/firmware/rombios/32bit/Makefile                  |    8 
 tools/firmware/rombios/32bit/tcgbios/Makefile          |    8 
 tools/firmware/rombios/32bit/tcgbios/tcgbios.c         |    2 
 tools/ioemu/Makefile                                   |   11 
 tools/ioemu/block-cow.c                                |    3 
 tools/ioemu/block-vbd.c                                |   48 
 tools/ioemu/block.c                                    |    4 
 tools/ioemu/hw/ide.c                                   |    5 
 tools/ioemu/hw/rtl8139.c                               |   18 
 tools/ioemu/hw/xen_machine_fv.c                        |    1 
 tools/ioemu/osdep.c                                    |    3 
 tools/ioemu/qemu-img.c                                 |    4 
 tools/ioemu/tapdisk-ioemu.c                            |  142 
 tools/ioemu/target-i386-dm/helper2.c                   |    2 
 tools/ioemu/vl.c                                       |   38 
 tools/ioemu/vl.h                                       |    4 
 tools/ioemu/xenstore.c                                 |   12 
 tools/libxc/xc_domain.c                                |   31 
 tools/libxc/xc_domain_restore.c                        |   28 
 tools/libxc/xc_domain_save.c                           |   62 
 tools/libxc/xc_evtchn.c                                |   24 
 tools/libxc/xc_hvm_build.c                             |   89 
 tools/libxc/xenctrl.h                                  |    3 
 tools/libxc/xg_private.c                               |   17 
 tools/libxc/xg_private.h                               |    2 
 tools/python/xen/util/acmpolicy.py                     |   26 
 tools/python/xen/util/xsm/acm/acm.py                   |   21 
 tools/python/xen/xend/XendConstants.py                 |    1 
 tools/python/xen/xend/XendDomainInfo.py                |   10 
 tools/python/xen/xend/XendOptions.py                   |    7 
 tools/python/xen/xend/balloon.py                       |   17 
 tools/python/xen/xend/image.py                         |    7 
 tools/python/xen/xm/main.py                            |   10 
 tools/python/xen/xm/shutdown.py                        |    2 
 tools/security/Makefile                                |    2 
 tools/tests/blowfish.mk                                |    8 
 tools/xcutils/Makefile                                 |    2 
 tools/xcutils/lsevtchn.c                               |   59 
 tools/xenstore/Makefile                                |   40 
 tools/xenstore/xenstore_client.c                       |  627 +
 tools/xenstore/xenstored_core.c                        |    2 
 tools/xenstore/xenstored_solaris.c                     |    1 
 tools/xenstore/xenstored_watch.c                       |    2 
 tools/xenstore/xs.c                                    |  108 
 xen/arch/ia64/linux-xen/sn/kernel/irq.c                |    2 
 xen/arch/ia64/vmx/vmx_hypercall.c                      |    5 
 xen/arch/ia64/xen/mm.c                                 |   10 
 xen/arch/ia64/xen/tlb_track.c                          |    4 
 xen/arch/ia64/xen/xensetup.c                           |    2 
 xen/arch/x86/Makefile                                  |    1 
 xen/arch/x86/acpi/boot.c                               |   62 
 xen/arch/x86/cpu/amd.c                                 |   18 
 xen/arch/x86/domain.c                                  |   25 
 xen/arch/x86/domain_build.c                            |    4 
 xen/arch/x86/hvm/emulate.c                             |   89 
 xen/arch/x86/hvm/hpet.c                                |   21 
 xen/arch/x86/hvm/hvm.c                                 |  194 
 xen/arch/x86/hvm/i8254.c                               |   68 
 xen/arch/x86/hvm/intercept.c                           |  191 
 xen/arch/x86/hvm/io.c                                  |   92 
 xen/arch/x86/hvm/mtrr.c                                |    2 
 xen/arch/x86/hvm/pmtimer.c                             |   12 
 xen/arch/x86/hvm/rtc.c                                 |   12 
 xen/arch/x86/hvm/stdvga.c                              |   28 
 xen/arch/x86/hvm/svm/svm.c                             |    7 
 xen/arch/x86/hvm/vioapic.c                             |   54 
 xen/arch/x86/hvm/vlapic.c                              |  327 
 xen/arch/x86/hvm/vmx/realmode.c                        |    2 
 xen/arch/x86/hvm/vmx/vmcs.c                            |   85 
 xen/arch/x86/hvm/vmx/vmx.c                             |  307 
 xen/arch/x86/hvm/vmx/x86_32/exits.S                    |    2 
 xen/arch/x86/hvm/vmx/x86_64/exits.S                    |    2 
 xen/arch/x86/hvm/vpic.c                                |   42 
 xen/arch/x86/io_apic.c                                 |    9 
 xen/arch/x86/mm.c                                      |   51 
 xen/arch/x86/mm/hap/Makefile                           |    1 
 xen/arch/x86/mm/hap/hap.c                              |   12 
 xen/arch/x86/mm/hap/p2m-ept.c                          |  257 
 xen/arch/x86/mm/p2m.c                                  |  377 -
 xen/arch/x86/mm/paging.c                               |   19 
 xen/arch/x86/mm/shadow/common.c                        |    8 
 xen/arch/x86/pci.c                                     |  118 
 xen/arch/x86/setup.c                                   |    2 
 xen/arch/x86/time.c                                    |  158 
 xen/arch/x86/traps.c                                   |  299 
 xen/arch/x86/x86_64/compat/mm.c                        |    4 
 xen/arch/x86/x86_64/mm.c                               |    8 
 xen/common/compat/domain.c                             |    4 
 xen/common/compat/grant_table.c                        |   20 
 xen/common/domain.c                                    |   10 
 xen/common/domctl.c                                    |    7 
 xen/common/event_channel.c                             |   12 
 xen/common/grant_table.c                               |    6 
 xen/common/keyhandler.c                                |    8 
 xen/common/memory.c                                    |   25 
 xen/common/page_alloc.c                                |   27 
 xen/common/softirq.c                                   |  102 
 xen/common/trace.c                                     |    9 
 xen/common/xencomm.c                                   |    1 
 xen/drivers/passthrough/amd/iommu_detect.c             |   37 
 xen/drivers/passthrough/amd/iommu_init.c               |    2 
 xen/drivers/passthrough/amd/iommu_map.c                |   76 
 xen/drivers/passthrough/amd/pci_amd_iommu.c            |   11 
 xen/drivers/passthrough/io.c                           |   74 
 xen/drivers/passthrough/iommu.c                        |    2 
 xen/drivers/passthrough/vtd/Makefile                   |    2 
 xen/drivers/passthrough/vtd/dmar.c                     |   30 
 xen/drivers/passthrough/vtd/dmar.h                     |    8 
 xen/drivers/passthrough/vtd/intremap.c                 |   68 
 xen/drivers/passthrough/vtd/iommu.c                    |  500 -
 xen/drivers/passthrough/vtd/iommu.h                    |    4 
 xen/drivers/passthrough/vtd/qinval.c                   |  105 
 xen/drivers/passthrough/vtd/utils.c                    |   79 
 xen/drivers/passthrough/vtd/vtd.h                      |    9 
 xen/drivers/passthrough/vtd/x86/Makefile               |    1 
 xen/drivers/passthrough/vtd/x86/vtd.c                  |  303 
 xen/include/asm-ia64/domain.h                          |    2 
 xen/include/asm-ia64/linux-xen/asm/sn/README.origin    |    1 
 xen/include/asm-ia64/linux-xen/asm/sn/pcibr_provider.h |    2 
 xen/include/asm-ia64/linux-xen/asm/sn/pcidev.h         |   87 
 xen/include/asm-ia64/linux-xen/linux/interrupt.h       |    2 
 xen/include/asm-ia64/linux-xen/linux/linux-pci.h       |  820 ++
 xen/include/asm-ia64/linux/asm/sn/README.origin        |    1 
 xen/include/asm-x86/domain.h                           |   26 
 xen/include/asm-x86/hvm/domain.h                       |   12 
 xen/include/asm-x86/hvm/hvm.h                          |    4 
 xen/include/asm-x86/hvm/io.h                           |   21 
 xen/include/asm-x86/hvm/svm/amd-iommu-proto.h          |    1 
 xen/include/asm-x86/hvm/svm/vmcb.h                     |    6 
 xen/include/asm-x86/hvm/vcpu.h                         |    6 
 xen/include/asm-x86/hvm/vlapic.h                       |    2 
 xen/include/asm-x86/hvm/vmx/vmcs.h                     |   47 
 xen/include/asm-x86/hvm/vmx/vmx.h                      |  128 
 xen/include/asm-x86/mm.h                               |    3 
 xen/include/asm-x86/numa.h                             |    1 
 xen/include/asm-x86/p2m.h                              |   80 
 xen/include/asm-x86/paging.h                           |    2 
 xen/include/public/hvm/params.h                        |    8 
 xen/include/xen/hvm/iommu.h                            |    5 
 xen/include/xen/hypercall.h                            |    1 
 xen/include/xen/iommu.h                                |    6 
 xen/include/xen/mm.h                                   |    7 
 xen/include/xen/numa.h                                 |    7 
 xen/include/xen/pci.h                                  |   29 
 xen/include/xen/sched.h                                |    9 
 xen/include/xen/softirq.h                              |   59 
 xen/include/xen/xencomm.h                              |    8 
 xen/xsm/acm/acm_chinesewall_hooks.c                    |    8 
 xen/xsm/acm/acm_simple_type_enforcement_hooks.c        |   12 
 185 files changed, 8535 insertions(+), 6533 deletions(-)

diff -r c0f77a657547 -r 2b3d3aaf8be4 .hgignore
--- a/.hgignore Mon Apr 14 14:04:58 2008 -0600
+++ b/.hgignore Tue Apr 15 11:09:46 2008 -0600
@@ -150,6 +150,7 @@
 ^tools/ioemu/qemu-tech\.html$
 ^tools/ioemu/qemu\.1$
 ^tools/ioemu/qemu\.pod$
+^tools/ioemu/tapdisk-ioemu$
 ^tools/libxc/ia64/asm/.*\.h$
 ^tools/libxc/ia64/acpi/.*\.h$
 ^tools/libxc/ia64/acpi/platform/.*\.h$
@@ -198,6 +199,7 @@
 ^tools/vtpm/tpm_emulator/.*$
 ^tools/vtpm/vtpm/.*$
 ^tools/vtpm_manager/manager/vtpm_managerd$
+^tools/xcutils/lsevtchn$
 ^tools/xcutils/xc_restore$
 ^tools/xcutils/xc_save$
 ^tools/xcutils/readnotes$
@@ -208,6 +210,7 @@
 ^tools/xenstat/xentop/xentop$
 ^tools/xenstore/testsuite/tmp/.*$
 ^tools/xenstore/xen$
+^tools/xenstore/xenstore$
 ^tools/xenstore/xenstore-chmod$
 ^tools/xenstore/xenstore-exists$
 ^tools/xenstore/xenstore-list$
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/misc/VMX_changes.txt
--- a/docs/misc/VMX_changes.txt Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/misc/VMX_changes.txt Tue Apr 15 11:09:46 2008 -0600
@@ -79,7 +79,7 @@ Changes to the existing code:
 
     * include/asm-x86/processor.h: struct arch_vmx_struct arch_vmx has
       been added to the thread_struct data structure. The arch_vmx has
-      the addtional VMX-related CPU context.
+      the additional VMX-related CPU context.
 
     * arch/x86/io_apic.c: reverse mapping between vector and irq has
       been added. We will revisit this code when considering MSI
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/misc/hg-cheatsheet.txt
--- a/docs/misc/hg-cheatsheet.txt       Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/misc/hg-cheatsheet.txt       Tue Apr 15 11:09:46 2008 -0600
@@ -12,7 +12,7 @@ running with the new tools as quickly as
 running with the new tools as quickly as possible, and is written from
 the perspective of someone who has been using BK.
 
-For a more detailed exposition, see the mecurial tutorial:
+For a more detailed exposition, see the mercurial tutorial:
  http://www.serpentine.com/mercurial/index.cgi?Tutorial
 
 The Hg manpage is available at:
@@ -69,7 +69,7 @@ actually pretty neat. For example, it wo
 actually pretty neat. For example, it would in principle enable you to
 have both the 2.0-testing and unstable trees in a single
 repository. We shyed away from doing this as we thought the risk of
-commiting to the wrong head was too great.
+committing to the wrong head was too great.
 
 One slightly confusing aspect of Hg is that many of the commands have
 aliases, and hence when looking things up in the man page its not
@@ -81,7 +81,7 @@ Getting Xen
 Getting Xen
 -----------
 
-The URL for the mainline Xen mercurial respository is:
+The URL for the mainline Xen mercurial repository is:
 
    http://xenbits.xensource.com/xen-unstable.hg
    (similarly for xen-2.0 and xen-2.0-testing)
@@ -273,9 +273,9 @@ Pushing changesets to a parent repositor
 
 Pushes changes up to a parent. You can't push if you pulled the
 repository off the web interface. In fact, you can currently only push
-to an ssh target -- filesystem drectory targets don't work, but this
+to an ssh target -- filesystem directory targets don't work, but this
 will be fixed soon.
-For now it is possible to set up assymetric pull/push paths. Pulls can
+For now it is possible to set up asymmetric pull/push paths. Pulls can
 be done via web interface while pushes via ssh. Example of .hg/hgrc config
 file:
   | [paths]
@@ -332,7 +332,7 @@ system. Hg will probably get fixed soon,
 system. Hg will probably get fixed soon, but in the meantime you can
 cleanup with "find -depth -type d -print | xargs -r rmdir".
 
-You can return to the tip by ommiting an explicit changeset id.
+You can return to the tip by omitting an explicit changeset id.
    
 The manifest command lets you see the contents of the repository for 
 the current changeset.
@@ -347,7 +347,7 @@ This will print a bunch of records of th
    | 7fc869aae2945a9f4626fad96552db3103e61cb9 644 README
    | ...
 
-This lists the hash of each file, its 1-bit 'executable' atribute
+This lists the hash of each file, its 1-bit 'executable' attribute
 (either file permission mode 644 or 755), and the file name.  So, to
 determine the files that change across two changesets, you would dump
 the respective manifests to files, and use diff.
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/misc/vtpm.txt
--- a/docs/misc/vtpm.txt        Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/misc/vtpm.txt        Tue Apr 15 11:09:46 2008 -0600
@@ -143,7 +143,7 @@ PCR-08: 00 00 00 00 00 00 00 00 00 00 00
 PCR-08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 [...]
 
-At this point the user domain has been sucessfully connected to its
+At this point the user domain has been successfully connected to its
 virtual TPM instance.
 
 For further information please read the documentation in 
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/misc/xenstore.txt
--- a/docs/misc/xenstore.txt    Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/misc/xenstore.txt    Tue Apr 15 11:09:46 2008 -0600
@@ -129,7 +129,7 @@ reply payloads as applicable:
 reply payloads as applicable:
 
 
----------- Database read, write and permissions operatons ----------
+---------- Database read, write and permissions operations ----------
 
 READ                   <path>|                 <value|>
 WRITE                  <path>|<value|>
@@ -206,7 +206,7 @@ WATCH_EVENT                                 <epath>|<token>|
        as described above.  req_id and tx_id are both 0.
 
        <epath> is the event's path, ie the actual path that was
-       modifed; however if the event was the recursive removal of an
+       modified; however if the event was the recursive removal of an
        parent of <wpath>, <epath> is just
        <wpath> (rather than the actual path which was removed).  So
        <epath> is a child of <wpath>, regardless.
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/src/interface.tex
--- a/docs/src/interface.tex    Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/src/interface.tex    Tue Apr 15 11:09:46 2008 -0600
@@ -470,7 +470,7 @@ typedef struct shared_info {
      * are delivered by this mechanism:
      *  1. Bi-directional inter- and intra-domain connections. Domains must
      *     arrange out-of-band to set up a connection (usually by allocating
-     *     an unbound 'listener' port and avertising that via a storage service
+     *     an unbound 'listener' port and advertising that via a storage 
service
      *     such as xenstore).
      *  2. Physical interrupts. A domain with suitable hardware-access
      *     privileges can bind an event-channel port to a physical interrupt
@@ -915,7 +915,7 @@ These activities include:
   (e.g. performance-related statistics, etc).
 \end{itemize}
 
-The store is arranged as a hierachical collection of key-value pairs.
+The store is arranged as a hierarchical collection of key-value pairs.
 Each domain has a directory hierarchy containing data related to its
 configuration.  Domains are permitted to register for notifications
 about changes in subtrees of the store, and to apply changes to the
@@ -1114,9 +1114,9 @@ This path contains:
           \end{description}
         \end{description}
        
-      \item[device-misc/] miscellanous information for devices 
+      \item[device-misc/] miscellaneous information for devices 
        \begin{description}
-       \item[vif/] miscellanous information for vif devices
+       \item[vif/] miscellaneous information for vif devices
          \begin{description}
          \item[nextDeviceID] the next device id to use 
          \end{description}
@@ -1511,7 +1511,7 @@ The virtual TPM implementation listens f
 The virtual TPM implementation listens for TPM request on /dev/vtpm. Since
 it must be able to apply the TPM request packet to the virtual TPM instance
 associated with the virtual machine, a 4-byte virtual TPM instance
-identifier is prepended to each packet by the backend driver (in network
+identifier is pretended to each packet by the backend driver (in network
 byte order) for internal routing of the request.
 
 \subsection{Virtual TPM ring interface}
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/src/user.tex
--- a/docs/src/user.tex Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/src/user.tex Tue Apr 15 11:09:46 2008 -0600
@@ -3394,7 +3394,7 @@ Alternatively, a system that has two har
 Alternatively, a system that has two hard-drives does not need a VIO
 domain but can directly assign one hardware storage device to each of
 the workloads if the platform offers an IO-MMU, cf
-Section~\ref{s:ddsecurity}.  Sharing hardware through virtualizated devices
+Section~\ref{s:ddsecurity}.  Sharing hardware through virtualized devices
 is a trade-off between the amount of trusted code (size of the trusted
 computing base) and the amount of acceptable over-provisioning. This
 holds both for peripherals and for system platforms.
@@ -4652,7 +4652,7 @@ answering the questions as follows:
 
 \begin{enumerate}
 \item When the program asks for \textbf{model},
-scroll down and selese \textbf{SummaSketch (MM Compatible)}.
+scroll down and select \textbf{SummaSketch (MM Compatible)}.
 
 \item When the program asks for \textbf{COM Port} specify \textbf{com2}.
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/xen-api/presentation.tex
--- a/docs/xen-api/presentation.tex     Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/xen-api/presentation.tex     Tue Apr 15 11:09:46 2008 -0600
@@ -69,7 +69,7 @@ The API reference explicitly lists the f
 The API reference explicitly lists the fields that are
 bound together in this way. It also contains a diagram that shows
 relationships between classes. In this diagram an edge signifies the
-existance of a pair of fields that are bound together, using standard
+existence of a pair of fields that are bound together, using standard
 crows-foot notation to signify the type of relationship (e.g.\
 one-many, many-many).
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/xen-api/todo.tex
--- a/docs/xen-api/todo.tex     Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/xen-api/todo.tex     Tue Apr 15 11:09:46 2008 -0600
@@ -32,7 +32,7 @@ code, potential error description, but o
 
 \item Clarify session behaviour wrt timeouts and disconnects.
 
-\item Clarify behaviour of progress field on asyncrhonous request polling when
+\item Clarify behaviour of progress field on asynchronous request polling when
 that request fails.
 
 \item Clarify which calls have asynchronous counterparts by marking them as 
such in the reference. (Individual getters and setters are too small and quick 
to justify having async versions)
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/xen-api/wire-protocol.tex
--- a/docs/xen-api/wire-protocol.tex    Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/xen-api/wire-protocol.tex    Tue Apr 15 11:09:46 2008 -0600
@@ -185,7 +185,7 @@ Where {\tt uname} and {\tt password} ref
 Where {\tt uname} and {\tt password} refer to your username and password
 respectively, as defined by the Xen administrator.
 The {\tt session\_id} returned by {\tt session.login\_with\_password} is passed
-to subequent RPC calls as an authentication token.
+to subsequent RPC calls as an authentication token.
 
 A session can be terminated with the {\tt session.logout} function:
 \begin{verbatim}
@@ -210,7 +210,7 @@ Async.VM.clone(...)}, that is non-blocki
 
 Instead of returning its result directly, an asynchronous RPC call
 returns a {\tt task-id}; this identifier is subsequently used
-to track the status of a running asynchronous RPC. Note that an asychronous
+to track the status of a running asynchronous RPC. Note that an asynchronous
 call may fail immediately, before a {\tt task-id} has even been created---to
 represent this eventuality, the returned {\tt task-id}
 is wrapped in an XML-RPC struct with a {\tt Status}, {\tt ErrorDescription} and
@@ -248,7 +248,7 @@ Create a python object referencing the r
 \end{verbatim}
 
 Acquire a session token by logging in with a username and password
-(error-handling ommitted for brevity; the session token is pointed to by the
+(error-handling omitted for brevity; the session token is pointed to by the
 key {\tt 'Value'} in the returned dictionary)
 
 \begin{verbatim}
diff -r c0f77a657547 -r 2b3d3aaf8be4 docs/xen-api/xenapi-datamodel.tex
--- a/docs/xen-api/xenapi-datamodel.tex Mon Apr 14 14:04:58 2008 -0600
+++ b/docs/xen-api/xenapi-datamodel.tex Tue Apr 15 11:09:46 2008 -0600
@@ -75,7 +75,7 @@ host.host\_CPUs & host\_cpu.host & many-
 \hline
 \end{tabular}\end{center}
 
-The following represents bound fields (as specified above) diagramatically, 
using crows-foot notation to specify one-to-one, one-to-many or many-to-many
+The following represents bound fields (as specified above) diagrammatically, 
using crows-foot notation to specify one-to-one, one-to-many or many-to-many
                    relationships:
 
 \begin{center}\resizebox{0.8\textwidth}{!}{
@@ -444,7 +444,7 @@ returned.  Also returned is a developer-
 
 \subsubsection{VLAN\_TAG\_INVALID}
 
-You tried to create a VLAN, but the tag you gave was invalid -- it mmust be
+You tried to create a VLAN, but the tag you gave was invalid -- it must be
 between 0 and 4095.  The parameter echoes the VLAN tag you gave.
 
 \vspace{0.3cm}
@@ -1390,7 +1390,7 @@ Quals & Field & Type & Description \\
 $\mathit{RW}$ &  {\tt memory/static\_max} & int & Statically-set (i.e. 
absolute) maximum (bytes) \\
 $\mathit{RW}$ &  {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
 $\mathit{RW}$ &  {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
-$\mathit{RW}$ &  {\tt memory/static\_min} & int & Statically-set (i.e. 
absolute) mininum (bytes) \\
+$\mathit{RW}$ &  {\tt memory/static\_min} & int & Statically-set (i.e. 
absolute) minimum (bytes) \\
 $\mathit{RW}$ &  {\tt VCPUs/params} & (string $\rightarrow$ string) Map & 
configuration parameters for the selected VCPU policy \\
 $\mathit{RW}$ &  {\tt VCPUs/max} & int & Max number of VCPUs \\
 $\mathit{RW}$ &  {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
@@ -14954,7 +14954,7 @@ Check whether a VM with the given securi
 \begin{tabular}{|c|c|p{7cm}|}
  \hline
 {\bf type} & {\bf name} & {\bf description} \\ \hline
-{\tt string } & security_label & reference to the object \\ \hline
+{\tt string } & security\_label & reference to the object \\ \hline
 
 \end{tabular}
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 extras/mini-os/blkfront.c
--- a/extras/mini-os/blkfront.c Mon Apr 14 14:04:58 2008 -0600
+++ b/extras/mini-os/blkfront.c Tue Apr 15 11:09:46 2008 -0600
@@ -48,11 +48,7 @@ struct blkfront_dev {
 
     char *nodename;
     char *backend;
-    unsigned sector_size;
-    unsigned sectors;
-    int mode;
-    int barrier;
-    int flush;
+    struct blkfront_info info;
 
 #ifdef HAVE_LIBC
     int fd;
@@ -70,7 +66,7 @@ void blkfront_handler(evtchn_port_t port
     wake_up(&blkfront_queue);
 }
 
-struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned 
*sector_size, int *mode, int *info)
+struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info)
 {
     xenbus_transaction_t xbt;
     char* err;
@@ -163,9 +159,9 @@ done:
             return NULL;
         }
         if (*c == 'w')
-            *mode = dev->mode = O_RDWR;
+            dev->info.mode = O_RDWR;
         else
-            *mode = dev->mode = O_RDONLY;
+            dev->info.mode = O_RDONLY;
         free(c);
 
         snprintf(path, sizeof(path), "%s/state", dev->backend);
@@ -177,24 +173,26 @@ done:
         xenbus_unwatch_path(XBT_NIL, path);
 
         snprintf(path, sizeof(path), "%s/info", dev->backend);
-        *info = xenbus_read_integer(path);
+        dev->info.info = xenbus_read_integer(path);
 
         snprintf(path, sizeof(path), "%s/sectors", dev->backend);
         // FIXME: read_integer returns an int, so disk size limited to 1TB for 
now
-        *sectors = dev->sectors = xenbus_read_integer(path);
+        dev->info.sectors = xenbus_read_integer(path);
 
         snprintf(path, sizeof(path), "%s/sector-size", dev->backend);
-        *sector_size = dev->sector_size = xenbus_read_integer(path);
+        dev->info.sector_size = xenbus_read_integer(path);
 
         snprintf(path, sizeof(path), "%s/feature-barrier", dev->backend);
-        dev->barrier = xenbus_read_integer(path);
+        dev->info.barrier = xenbus_read_integer(path);
 
         snprintf(path, sizeof(path), "%s/feature-flush-cache", dev->backend);
-        dev->flush = xenbus_read_integer(path);
+        dev->info.flush = xenbus_read_integer(path);
+
+        *info = dev->info;
     }
     unmask_evtchn(dev->evtchn);
 
-    printk("%u sectors of %u bytes\n", dev->sectors, dev->sector_size);
+    printk("%u sectors of %u bytes\n", dev->info.sectors, 
dev->info.sector_size);
     printk("**************************\n");
 
     return dev;
@@ -258,11 +256,11 @@ void blkfront_aio(struct blkfront_aiocb 
     uintptr_t start, end;
 
     // Can't io at non-sector-aligned location
-    ASSERT(!(aiocbp->aio_offset & (dev->sector_size-1)));
+    ASSERT(!(aiocbp->aio_offset & (dev->info.sector_size-1)));
     // Can't io non-sector-sized amounts
-    ASSERT(!(aiocbp->aio_nbytes & (dev->sector_size-1)));
+    ASSERT(!(aiocbp->aio_nbytes & (dev->info.sector_size-1)));
     // Can't io non-sector-aligned buffer
-    ASSERT(!((uintptr_t) aiocbp->aio_buf & (dev->sector_size-1)));
+    ASSERT(!((uintptr_t) aiocbp->aio_buf & (dev->info.sector_size-1)));
 
     start = (uintptr_t)aiocbp->aio_buf & PAGE_MASK;
     end = ((uintptr_t)aiocbp->aio_buf + aiocbp->aio_nbytes + PAGE_SIZE - 1) & 
PAGE_MASK;
@@ -280,7 +278,7 @@ void blkfront_aio(struct blkfront_aiocb 
     req->nr_segments = n;
     req->handle = dev->handle;
     req->id = (uintptr_t) aiocbp;
-    req->sector_number = aiocbp->aio_offset / dev->sector_size;
+    req->sector_number = aiocbp->aio_offset / dev->info.sector_size;
 
     for (j = 0; j < n; j++) {
        uintptr_t data = start + j * PAGE_SIZE;
@@ -292,10 +290,10 @@ void blkfront_aio(struct blkfront_aiocb 
        aiocbp->gref[j] = req->seg[j].gref =
             gnttab_grant_access(dev->dom, virtual_to_mfn(data), write);
        req->seg[j].first_sect = 0;
-       req->seg[j].last_sect = PAGE_SIZE / dev->sector_size - 1;
-    }
-    req->seg[0].first_sect = ((uintptr_t)aiocbp->aio_buf & ~PAGE_MASK) / 
dev->sector_size;
-    req->seg[n-1].last_sect = (((uintptr_t)aiocbp->aio_buf + 
aiocbp->aio_nbytes - 1) & ~PAGE_MASK) / dev->sector_size;
+       req->seg[j].last_sect = PAGE_SIZE / dev->info.sector_size - 1;
+    }
+    req->seg[0].first_sect = ((uintptr_t)aiocbp->aio_buf & ~PAGE_MASK) / 
dev->info.sector_size;
+    req->seg[n-1].last_sect = (((uintptr_t)aiocbp->aio_buf + 
aiocbp->aio_nbytes - 1) & ~PAGE_MASK) / dev->info.sector_size;
 
     dev->ring.req_prod_pvt = i + 1;
 
@@ -315,67 +313,7 @@ void blkfront_aio_read(struct blkfront_a
     blkfront_aio(aiocbp, 0);
 }
 
-int blkfront_aio_poll(struct blkfront_dev *dev)
-{
-    RING_IDX rp, cons;
-    struct blkif_response *rsp;
-    int more;
-
-moretodo:
-#ifdef HAVE_LIBC
-    files[dev->fd].read = 0;
-    mb(); /* Make sure to let the handler set read to 1 before we start 
looking at the ring */
-#endif
-
-    rp = dev->ring.sring->rsp_prod;
-    rmb(); /* Ensure we see queued responses up to 'rp'. */
-    cons = dev->ring.rsp_cons;
-
-    int nr_consumed = 0;
-    while ((cons != rp))
-    {
-       rsp = RING_GET_RESPONSE(&dev->ring, cons);
-       nr_consumed++;
-
-        if (rsp->status != BLKIF_RSP_OKAY)
-            printk("block error %d for op %d\n", rsp->status, rsp->operation);
-
-        switch (rsp->operation) {
-        case BLKIF_OP_READ:
-        case BLKIF_OP_WRITE:
-        {
-            struct blkfront_aiocb *aiocbp = (void*) (uintptr_t) rsp->id;
-            int status = rsp->status;
-            int j;
-
-            for (j = 0; j < aiocbp->n; j++)
-                gnttab_end_access(aiocbp->gref[j]);
-
-            dev->ring.rsp_cons = ++cons;
-            /* Nota: callback frees aiocbp itself */
-            aiocbp->aio_cb(aiocbp, status ? -EIO : 0);
-            if (dev->ring.rsp_cons != cons)
-                /* We reentered, we must not continue here */
-                goto out;
-            break;
-        }
-        default:
-            printk("unrecognized block operation %d response\n", 
rsp->operation);
-        case BLKIF_OP_WRITE_BARRIER:
-        case BLKIF_OP_FLUSH_DISKCACHE:
-            dev->ring.rsp_cons = ++cons;
-            break;
-        }
-    }
-
-out:
-    RING_FINAL_CHECK_FOR_RESPONSES(&dev->ring, more);
-    if (more) goto moretodo;
-
-    return nr_consumed;
-}
-
-static void blkfront_push_operation(struct blkfront_dev *dev, uint8_t op)
+static void blkfront_push_operation(struct blkfront_dev *dev, uint8_t op, 
uint64_t id)
 {
     int i;
     struct blkif_request *req;
@@ -387,8 +325,7 @@ static void blkfront_push_operation(stru
     req->operation = op;
     req->nr_segments = 0;
     req->handle = dev->handle;
-    /* Not used */
-    req->id = 0;
+    req->id = id;
     /* Not needed anyway, but the backend will check it */
     req->sector_number = 0;
     dev->ring.req_prod_pvt = i + 1;
@@ -397,16 +334,22 @@ static void blkfront_push_operation(stru
     if (notify) notify_remote_via_evtchn(dev->evtchn);
 }
 
+void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op)
+{
+    struct blkfront_dev *dev = aiocbp->aio_dev;
+    blkfront_push_operation(dev, op, (uintptr_t) aiocbp);
+}
+
 void blkfront_sync(struct blkfront_dev *dev)
 {
     unsigned long flags;
 
-    if (dev->mode == O_RDWR) {
-        if (dev->barrier == 1)
-            blkfront_push_operation(dev, BLKIF_OP_WRITE_BARRIER);
-
-        if (dev->flush == 1)
-            blkfront_push_operation(dev, BLKIF_OP_FLUSH_DISKCACHE);
+    if (dev->info.mode == O_RDWR) {
+        if (dev->info.barrier == 1)
+            blkfront_push_operation(dev, BLKIF_OP_WRITE_BARRIER, 0);
+
+        if (dev->info.flush == 1)
+            blkfront_push_operation(dev, BLKIF_OP_FLUSH_DISKCACHE, 0);
     }
 
     /* Note: This won't finish if another thread enqueues requests.  */
@@ -426,6 +369,69 @@ void blkfront_sync(struct blkfront_dev *
     local_irq_restore(flags);
 }
 
+int blkfront_aio_poll(struct blkfront_dev *dev)
+{
+    RING_IDX rp, cons;
+    struct blkif_response *rsp;
+    int more;
+
+moretodo:
+#ifdef HAVE_LIBC
+    files[dev->fd].read = 0;
+    mb(); /* Make sure to let the handler set read to 1 before we start 
looking at the ring */
+#endif
+
+    rp = dev->ring.sring->rsp_prod;
+    rmb(); /* Ensure we see queued responses up to 'rp'. */
+    cons = dev->ring.rsp_cons;
+
+    int nr_consumed = 0;
+    while ((cons != rp))
+    {
+       rsp = RING_GET_RESPONSE(&dev->ring, cons);
+       nr_consumed++;
+
+        struct blkfront_aiocb *aiocbp = (void*) (uintptr_t) rsp->id;
+        int status = rsp->status;
+
+        if (status != BLKIF_RSP_OKAY)
+            printk("block error %d for op %d\n", status, rsp->operation);
+
+        switch (rsp->operation) {
+        case BLKIF_OP_READ:
+        case BLKIF_OP_WRITE:
+        {
+            int j;
+
+            for (j = 0; j < aiocbp->n; j++)
+                gnttab_end_access(aiocbp->gref[j]);
+
+            break;
+        }
+
+        case BLKIF_OP_WRITE_BARRIER:
+        case BLKIF_OP_FLUSH_DISKCACHE:
+            break;
+
+        default:
+            printk("unrecognized block operation %d response\n", 
rsp->operation);
+        }
+
+        dev->ring.rsp_cons = ++cons;
+        /* Nota: callback frees aiocbp itself */
+        if (aiocbp && aiocbp->aio_cb)
+            aiocbp->aio_cb(aiocbp, status ? -EIO : 0);
+        if (dev->ring.rsp_cons != cons)
+            /* We reentered, we must not continue here */
+            break;
+    }
+
+    RING_FINAL_CHECK_FOR_RESPONSES(&dev->ring, more);
+    if (more) goto moretodo;
+
+    return nr_consumed;
+}
+
 #ifdef HAVE_LIBC
 int blkfront_open(struct blkfront_dev *dev)
 {
diff -r c0f77a657547 -r 2b3d3aaf8be4 extras/mini-os/include/blkfront.h
--- a/extras/mini-os/include/blkfront.h Mon Apr 14 14:04:58 2008 -0600
+++ b/extras/mini-os/include/blkfront.h Tue Apr 15 11:09:46 2008 -0600
@@ -15,13 +15,23 @@ struct blkfront_aiocb
 
     void (*aio_cb)(struct blkfront_aiocb *aiocb, int ret);
 };
-struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned 
*sector_size, int *mode, int *info);
+struct blkfront_info
+{
+    uint64_t sectors;
+    unsigned sector_size;
+    int mode;
+    int info;
+    int barrier;
+    int flush;
+};
+struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info);
 #ifdef HAVE_LIBC
 int blkfront_open(struct blkfront_dev *dev);
 #endif
 void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
 void blkfront_aio_read(struct blkfront_aiocb *aiocbp);
 void blkfront_aio_write(struct blkfront_aiocb *aiocbp);
+void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op);
 int blkfront_aio_poll(struct blkfront_dev *dev);
 void blkfront_sync(struct blkfront_dev *dev);
 void shutdown_blkfront(struct blkfront_dev *dev);
diff -r c0f77a657547 -r 2b3d3aaf8be4 extras/mini-os/kernel.c
--- a/extras/mini-os/kernel.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/extras/mini-os/kernel.c   Tue Apr 15 11:09:46 2008 -0600
@@ -91,9 +91,7 @@ static void netfront_thread(void *p)
 }
 
 static struct blkfront_dev *blk_dev;
-static uint64_t blk_sectors;
-static unsigned blk_sector_size;
-static int blk_mode;
+static struct blkfront_info blk_info;
 static uint64_t blk_size_read;
 static uint64_t blk_size_write;
 
@@ -111,9 +109,9 @@ static struct blk_req *blk_alloc_req(uin
 {
     struct blk_req *req = xmalloc(struct blk_req);
     req->aiocb.aio_dev = blk_dev;
-    req->aiocb.aio_buf = _xmalloc(blk_sector_size, blk_sector_size);
-    req->aiocb.aio_nbytes = blk_sector_size;
-    req->aiocb.aio_offset = sector * blk_sector_size;
+    req->aiocb.aio_buf = _xmalloc(blk_info.sector_size, blk_info.sector_size);
+    req->aiocb.aio_nbytes = blk_info.sector_size;
+    req->aiocb.aio_offset = sector * blk_info.sector_size;
     req->aiocb.data = req;
     req->next = NULL;
     return req;
@@ -125,7 +123,7 @@ static void blk_read_completed(struct bl
     if (ret)
         printk("got error code %d when reading at offset %ld\n", ret, 
aiocb->aio_offset);
     else
-        blk_size_read += blk_sector_size;
+        blk_size_read += blk_info.sector_size;
     free(aiocb->aio_buf);
     free(req);
 }
@@ -154,10 +152,10 @@ static void blk_write_read_completed(str
         free(req);
         return;
     }
-    blk_size_read += blk_sector_size;
+    blk_size_read += blk_info.sector_size;
     buf = (int*) aiocb->aio_buf;
     rand_value = req->rand_value;
-    for (i = 0; i < blk_sector_size / sizeof(int); i++) {
+    for (i = 0; i < blk_info.sector_size / sizeof(int); i++) {
         if (buf[i] != rand_value) {
             printk("bogus data at offset %ld\n", aiocb->aio_offset + i);
             break;
@@ -177,7 +175,7 @@ static void blk_write_completed(struct b
         free(req);
         return;
     }
-    blk_size_write += blk_sector_size;
+    blk_size_write += blk_info.sector_size;
     /* Push write check */
     req->next = blk_to_read;
     blk_to_read = req;
@@ -195,7 +193,7 @@ static void blk_write_sector(uint64_t se
     req->rand_value = rand_value = rand();
 
     buf = (int*) req->aiocb.aio_buf;
-    for (i = 0; i < blk_sector_size / sizeof(int); i++) {
+    for (i = 0; i < blk_info.sector_size / sizeof(int); i++) {
         buf[i] = rand_value;
         rand_value *= RAND_MIX;
     }
@@ -207,35 +205,34 @@ static void blkfront_thread(void *p)
 static void blkfront_thread(void *p)
 {
     time_t lasttime = 0;
-    int blk_info;
-
-    blk_dev = init_blkfront(NULL, &blk_sectors, &blk_sector_size, &blk_mode, 
&blk_info);
+
+    blk_dev = init_blkfront(NULL, &blk_info);
     if (!blk_dev)
         return;
 
-    if (blk_info & VDISK_CDROM)
+    if (blk_info.info & VDISK_CDROM)
         printk("Block device is a CDROM\n");
-    if (blk_info & VDISK_REMOVABLE)
+    if (blk_info.info & VDISK_REMOVABLE)
         printk("Block device is removable\n");
-    if (blk_info & VDISK_READONLY)
+    if (blk_info.info & VDISK_READONLY)
         printk("Block device is read-only\n");
 
 #ifdef BLKTEST_WRITE
-    if (blk_mode == O_RDWR) {
+    if (blk_info.mode == O_RDWR) {
         blk_write_sector(0);
-        blk_write_sector(blk_sectors-1);
+        blk_write_sector(blk_info.sectors-1);
     } else
 #endif
     {
         blk_read_sector(0);
-        blk_read_sector(blk_sectors-1);
+        blk_read_sector(blk_info.sectors-1);
     }
 
     while (1) {
-        uint64_t sector = rand() % blk_sectors;
+        uint64_t sector = rand() % blk_info.sectors;
         struct timeval tv;
 #ifdef BLKTEST_WRITE
-        if (blk_mode == O_RDWR)
+        if (blk_info.mode == O_RDWR)
             blk_write_sector(sector);
         else
 #endif
diff -r c0f77a657547 -r 2b3d3aaf8be4 extras/mini-os/lib/xmalloc.c
--- a/extras/mini-os/lib/xmalloc.c      Mon Apr 14 14:04:58 2008 -0600
+++ b/extras/mini-os/lib/xmalloc.c      Tue Apr 15 11:09:46 2008 -0600
@@ -208,6 +208,13 @@ void xfree(const void *p)
     pad = (struct xmalloc_pad *)p - 1;
     hdr = (struct xmalloc_hdr *)((char *)p - pad->hdr_size);
 
+    /* Big allocs free directly. */
+    if ( hdr->size >= PAGE_SIZE )
+    {
+        free_pages(hdr, get_order(hdr->size));
+        return;
+    }
+
     /* We know hdr will be on same page. */
     if(((long)p & PAGE_MASK) != ((long)hdr & PAGE_MASK))
     {
@@ -220,13 +227,6 @@ void xfree(const void *p)
     {
         printk("Should not be previously freed\n");
         *(int*)0=0;
-    }
-
-    /* Big allocs free directly. */
-    if ( hdr->size >= PAGE_SIZE )
-    {
-        free_pages(hdr, get_order(hdr->size));
-        return;
     }
 
     /* Merge with other free block, or put in list. */
diff -r c0f77a657547 -r 2b3d3aaf8be4 stubdom/stubdom-dm
--- a/stubdom/stubdom-dm        Mon Apr 14 14:04:58 2008 -0600
+++ b/stubdom/stubdom-dm        Tue Apr 15 11:09:46 2008 -0600
@@ -74,7 +74,7 @@ done
 
 creation="xm create -c stubdom-$domname target=$domid memory=32 
extra=\"$extra\""
 
-(while true ; do sleep 60 ; done) | $creation &
+(while true ; do sleep 60 ; done) | /bin/sh -c "$creation" &
 #xterm -geometry +0+0 -e /bin/sh -c "$creation ; echo ; echo press ENTER to 
shut down ; read" &
 consolepid=$!
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/blktap/drivers/block-qcow.c
--- a/tools/blktap/drivers/block-qcow.c Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/blktap/drivers/block-qcow.c Tue Apr 15 11:09:46 2008 -0600
@@ -1112,7 +1112,7 @@ int qcow_create(const char *filename, ui
        int shift, length, adjust, flags = 0, ret = 0;
        QCowHeader header;
        QCowHeader_ext exthdr;
-       char backing_filename[1024], *ptr;
+       char backing_filename[PATH_MAX], *ptr;
        uint64_t tmp, size, total_length;
        struct stat st;
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/examples/xend-config-xenapi.sxp
--- a/tools/examples/xend-config-xenapi.sxp     Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/examples/xend-config-xenapi.sxp     Tue Apr 15 11:09:46 2008 -0600
@@ -167,11 +167,14 @@
 #(network-script network-nat)
 #(vif-script     vif-nat)
 
+# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
+# This is a minimum both for auto-ballooning (as enabled by
+# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
+(dom0-min-mem 196)
 
-# Dom0 will balloon out when needed to free memory for domU.
-# dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
-# If dom0-min-mem=0, dom0 will never balloon out.
-(dom0-min-mem 196)
+# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
+# If enable-dom0-ballooning = no, dom0 will never balloon out.
+(enable-dom0-ballooning yes)
 
 # In SMP system, dom0 will use dom0-cpus # of CPUS
 # If dom0-cpus = 0, dom0 will take all cpus available
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/examples/xend-config.sxp
--- a/tools/examples/xend-config.sxp    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/examples/xend-config.sxp    Tue Apr 15 11:09:46 2008 -0600
@@ -165,11 +165,14 @@
 #(network-script network-nat)
 #(vif-script     vif-nat)
 
-
-# Dom0 will balloon out when needed to free memory for domU.
-# dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
-# If dom0-min-mem=0, dom0 will never balloon out.
+# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
+# This is a minimum both for auto-ballooning (as enabled by
+# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
 (dom0-min-mem 196)
+
+# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
+# If enable-dom0-ballooning = no, dom0 will never balloon out.
+(enable-dom0-ballooning yes)
 
 # In SMP system, dom0 will use dom0-cpus # of CPUS
 # If dom0-cpus = 0, dom0 will take all cpus available
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/Rules.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/firmware/Rules.mk   Tue Apr 15 11:09:46 2008 -0600
@@ -0,0 +1,17 @@
+# Firmware is a 32-bit target
+override XEN_TARGET_ARCH = x86_32
+
+# User-supplied CFLAGS are not useful here.
+CFLAGS :=
+
+include $(XEN_ROOT)/tools/Rules.mk
+
+CFLAGS += -Werror
+
+# Disable PIE/SSP if GCC supports them. They can break us.
+CFLAGS += $(call cc-option,$(CC),-nopie,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
+
+# Extra CFLAGS suitable for an embedded type of environment.
+CFLAGS += -fno-builtin -msoft-float
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/etherboot/Makefile
--- a/tools/firmware/etherboot/Makefile Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/etherboot/Makefile Tue Apr 15 11:09:46 2008 -0600
@@ -10,21 +10,16 @@ T=etherboot-$(EB_VERSION).tar.gz
 T=etherboot-$(EB_VERSION).tar.gz
 E=etherboot-build
 
-ROM_ZHS = $(addprefix eb-, $(addsuffix .zrom.h, $(NICS)))
+ROMS = $(addprefix $E/src/bin/, $(addsuffix .zrom, $(NICS)))
 
 .PHONY: all
 all: eb-roms.h
 
-eb-%.zrom.h: $E/src/Config
-       $(MAKE) -C $E/src bin/$*.zrom
-       ../hvmloader/mkhex etherboot_$* <$E/src/bin/$*.zrom >$@.new
-       mv -f $@.new $@
+%.zrom: $E/src/Config
+       $(MAKE) -C $E/src bin/$(*F).zrom
 
-eb-rom-list.h: make-eb-rom-list $E/src/bin/Roms
-       ./$^ $(NICS) >$@.new && mv -f $@.new $@
-
-eb-roms.h.new: eb-rom-list.h $(ROM_ZHS)
-       cat $^ >$@
+eb-roms.h.new: $(ROMS)
+       cat $^ | ../hvmloader/mkhex etherboot >$@
 
 eb-roms.h: Config
        $(MAKE) $@.new
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/etherboot/eb-roms.h
--- a/tools/firmware/etherboot/eb-roms.h        Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/etherboot/eb-roms.h        Tue Apr 15 11:09:46 2008 -0600
@@ -1,11 +1,5 @@
-/* autogenerated - do not edit */
-#define ETHERBOOT_ROM_LIST \
-  ETHERBOOT_ROM(rtl8139, 0x10ec,0x8139) \
-  ETHERBOOT_ROM(eepro100, 0x8086,0x1229) \
-
-/*end.*/
-unsigned etherboot_rtl8139[] = {
-0xeb40aa55, 0xbfe94b65, 0x68744500, 0x6f627265,
+unsigned etherboot[] = {
+0xeb40aa55, 0xbfe9ca65, 0x68744500, 0x6f627265,
 0x0000746f, 0x00540000, 0x0034001c, 0x52494350,
 0x813910ec, 0x00180000, 0x00000200, 0x00010040,
 0x00008000, 0x506e5024, 0x00000201, 0x00008a00,
@@ -24,7 +18,7 @@ 0x55506650, 0x468be589, 0x02468910, 0x89
 0x55506650, 0x468be589, 0x02468910, 0x8912468b,
 0x685d0446, 0x5066104d, 0x0f2e0e50, 0x000206b6,
 0x5009e0c1, 0xe6e8146a, 0x8f2e5800, 0x2e064a06,
-0x0648068f, 0xc72e6658, 0x00038406, 0x66000000,
+0x0648068f, 0xc72e6658, 0x00038006, 0x66000000,
 0x00020168, 0x50686600, 0xe8000178, 0xc4830010,
 0x89175b12, 0x3ce85bdc, 0x0002ca01, 0x6650006a,
 0xc0200f50, 0x586601a8, 0x832d7458, 0x0000247c,
@@ -39,18 +33,18 @@ 0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x66
 0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x6604e0c1,
 0x00038005, 0x0ba36600, 0x1f586604, 0x500179e9,
 0xbb061e60, 0xc38e0040, 0x131e8b26, 0x06e3c100,
-0x14d1eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
-0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x99878d15,
+0x1511eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
+0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0xd9878d15,
 0xbfc08e13, 0xc1831000, 0x8ecf291a, 0xfcfc89d0,
-0x6066a4f3, 0x1f0ec38e, 0x5f4fb966, 0x89660000,
+0x6066a4f3, 0x1f0ec38e, 0x5b7fb966, 0x89660000,
 0xcf8966ce, 0xf3fd4166, 0x66fca467, 0x66506661,
-0xd889c031, 0x04e0c166, 0x84a32666, 0xc7266603,
-0x10038006, 0x6600014d, 0x87e58958, 0x5e89165e,
+0xd889c031, 0x04e0c166, 0x80a32666, 0xc7266603,
+0x10038406, 0x66000151, 0x87e58958, 0x5e89165e,
 0x611f0714, 0xb80650cb, 0xc08e0040, 0x0013a126,
-0x0506e0c1, 0xe8c11510, 0x13a32606, 0xc3580700,
-0x0000e860, 0x815d0000, 0x0002b6ed, 0xfab9fd00,
-0x8d000058, 0x06530db4, 0xbc8d0000, 0x0050d90d,
-0xfca4f300, 0x50dab58d, 0xbd8d0000, 0x00000650,
+0x0506e0c1, 0xe8c11550, 0x13a32606, 0xc3580700,
+0x0000e860, 0x815d0000, 0x0002b6ed, 0x21b9fd00,
+0x8d000055, 0x06530db4, 0xbc8d0000, 0x0059320d,
+0xfca4f300, 0x5933b58d, 0xbd8d0000, 0x00000650,
 0xffffffbd, 0xa405ebff, 0x0775db01, 0xee831e8b,
 0x72db11fc, 0x40c031f2, 0x0775db01, 0xee831e8b,
 0x11db11fc, 0x75db01c0, 0x831e8b07, 0xdb11fcee,
@@ -106,7 +100,7 @@ 0x00000000, 0x00000000, 0x00000000, 0x00
 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 0x02000000, 0x0002bd01, 0x00000000, 0x90909090,
-0x000090ec, 0xffedffff, 0xf8835858, 0xcb017500,
+0x000094ec, 0xffedffff, 0xf8835858, 0xcb017500,
 0x0804c483, 0xcd027502, 0xfb18cd19, 0xfbfa9090,
 0x15cdf958, 0xbbf6edfd, 0x0eb4069c, 0x0001bb66,
 0x0c10cd00, 0x16cdc031, 0x4bffe430, 0xb407b973,
@@ -138,1398 +132,1398 @@ 0x0bfdc1c8, 0x500342dd, 0xc88c66d7, 0x04
 0x0bfdc1c8, 0x500342dd, 0xc88c66d7, 0x04244487,
 0xdda17d03, 0xec837eee, 0x08010f08, 0x02a80f66,
 0x435c66a0, 0x7eddb777, 0x600e6616, 0x8938128d,
-0x44070c03, 0xae3be850, 0x5dfdbedb, 0x050ced81,
-0x98ad8906, 0x168b0591, 0x6fffbca9, 0x7400fedf,
-0x90b58d21, 0xbd8d0739, 0x39054990, 0x390472f4,
-0x890d76fc, 0x76fdb9e6, 0x3248bbfc, 0xfc89cf29,
-0xe3e8a4f3, 0x362d8b51, 0xb3db6c29, 0xe868bdcd,
-0x3f450c4f, 0xb70f1220, 0x6db7240a, 0x5c046ff7,
-0x8d502624, 0x50608085, 0x7c548ffa, 0xfb7fd38e,
-0xec01fb6d, 0x936158cb, 0x66a102a9, 0xe61f6607,
-0x648b9d0c, 0xa37dd424, 0xf79cdcd0, 0xbe852696,
-0xca9dcb9d, 0xbff62db5, 0x57565507, 0x10247c8b,
-0x61983d2b, 0x8336a810, 0x68affbbb, 0xe8550e48,
-0x5b217cba, 0xd637df40, 0x42a30eed, 0xbe778904,
-0x29b4b923, 0xb6dbf77b, 0x732ea3f1, 0xf8ea2015,
-0xb8000881, 0x6ddd1c10, 0xd88ebfff, 0xd08ec08e,
-0xe88ee08e, 0xc35d5e5f, 0x89e64035, 0x77ee4435,
-0x3d05f9f3, 0x584c1d48, 0x250b50a3, 0xfbac0554,
-0xbb59e17b, 0x0300e968, 0x68535f1d, 0xe4514328,
-0xf770fbf7, 0x890bb1e8, 0xa5282ca5, 0x6ca52f20,
-0xde977b29, 0xe4cf615c, 0x8100768d, 0xa88fbcfc,
-0x74d7ba15, 0xed0c6020, 0x02341b22, 0xbb7b1919,
-0x17072db7, 0x7e8bd0ff, 0xf23b8b8b, 0x8b8b191c,
-0x3ca18b15, 0x28d0bb04, 0x8be2ffbc, 0x68d6da4c,
-0xfd025189, 0x597ff1b8, 0x08618904, 0x890c6989,
-0x14796071, 0x6dc3006f, 0x1bcd0bdb, 0x8b08431f,
-0x095a374a, 0xebf4f662, 0x0c6a08bf, 0x8b10728b,
-0x051c147a, 0x4389ffb8, 0xb6959c2d, 0xbea29c28,
-0x840c5401, 0xce8b664b, 0xb8bb188d, 0xef181f30,
-0x21a29687, 0x2e9d5d58, 0xc3c2e428, 0x2b07357b,
-0x38815080, 0x0f0d2300, 0x82858907, 0x68956ffa,
-0x921b11d7, 0x284f2907, 0xd4bd530c, 0x5350ee68,
-0x2c1d9da9, 0x2f024389, 0x03d4bedf, 0x88101f0a,
-0x0c020443, 0x0f076388, 0xc231585b, 0x90c3db8d,
-0xc6535600, 0x6cd6a10c, 0xbddaddfa, 0x70bb0010,
-0x29c62904, 0xb801006a, 0xe6dfc2e8, 0x2d062e66,
-0x056850e4, 0x6c0986e8, 0x38de176f, 0x18c03b80,
-0xc03903c6, 0xb0050f93, 0x7f5d6500, 0x0921188d,
-0x055a0603, 0x5bd30aa1, 0x145db6eb, 0x047f1887,
-0x13026a10, 0x6c7dd7b6, 0x1c065016, 0x4eefb850,
-0xe859602d, 0x793d2dbf, 0x66c2892c, 0x010a20f6,
-0xb10f0374, 0xb6c730ed, 0x8843bbc6, 0xce961203,
-0x3f7cb3c8, 0xefeffc1e, 0x95f7b072, 0x2e2c3f8e,
-0x250304bd, 0x282f6cf3, 0x32c8fc23, 0xb0b937b5,
-0x2d0c26c0, 0x30be0526, 0xa1e805fb, 0x83063126,
-0x19b901f0, 0x01b0b939, 0x0c0c152f, 0xecb0ccb9,
-0x29535671, 0x19e4b817, 0x47151539, 0x196d2f57,
-0x66287b7e, 0x8dca13c7, 0x0a6a1887, 0xbbeeef4a,
-0x2474db57, 0x2a24bb22, 0x3eeb8156, 0x2b186f0d,
-0xdcd805f0, 0x01181820, 0x35fb3975, 0x14881dfc,
-0x74d28566, 0x16186617, 0x0506e0a9, 0x6e0bad62,
-0x017220d2, 0xbd16f9d0, 0x20debec5, 0x24e475c0,
-0x10321d12, 0x1b07deeb, 0x0e6dfd73, 0x6cba8800,
-0x07b15d56, 0x22c5cdb1, 0x55404d3f, 0x636e8f9c,
-0x3b2c2c83, 0x06334440, 0xc36c619e, 0x31657df7,
-0x7f1e39ed, 0x1406500c, 0x3dafd986, 0xb0034673,
-0x65e805e1, 0x03fdb74b, 0x02d081db, 0xf63a75fb,
-0x34b22404, 0xb5deef91, 0x23e4405a, 0xb9fc0adf,
-0xa5f34e05, 0xae868343, 0x14c5dffb, 0x850c7d60,
-0x21a574db, 0x1b9db206, 0xdb5ae70d, 0x5f87d889,
-0x0e070939, 0xb07c08fc, 0xe81c8f5d, 0x140101ed,
-0xfffe98e8, 0x0bdbb9fd, 0x2f60a3ea, 0x0ab4e80f,
-0x6c682096, 0xdbf36d06, 0x1364a30e, 0x10c4ff3c,
-0xc2fb704e, 0x3284dcdb, 0x072a05d3, 0x74a3990a,
-0x7dc27608, 0x0d64a1b6, 0x086805c7, 0x90790924,
-0x003cbded, 0x15897009, 0x73db6378, 0x057c0f9b,
-0x19800911, 0x83b1b210, 0x23840975, 0x8c2288a3,
-0x1bedb73c, 0xa12c906c, 0xf8843159, 0xd8f9867c,
-0x0f726896, 0x89fc1489, 0xdb4f0805, 0x0c4e6bff,
-0x470ceb2b, 0x3914c183, 0xe7d91ff8, 0xefdb7fb9,
-0xeb756663, 0x837f918b, 0x928131fa, 0x5f3d5277,
-0xff86f0db, 0xbd4b772d, 0xf6318400, 0x372b941e,
-0xa9bf6bf8, 0x23d6391b, 0x770c72ce, 0xd876c53c,
-0x06ef12d8, 0xc30da98b, 0x3fc70729, 0xbdac3b16,
-0x19d20935, 0x2fef623d, 0xff4b472d, 0x8944777c,
-0x399903c3, 0xf7c2fc37, 0xb113d689, 0x0cab3b27,
-0x06772e72, 0x267608a3, 0x8d6ed977, 0x4367413b,
-0x77440d72, 0xd9b1cf3b, 0x260856dd, 0xd619218b,
-0x30333589, 0xf762c1c2, 0x862787d8, 0xf8675a1c,
-0x18a3cc8d, 0x34ace5e9, 0x64c82c14, 0x9879f65f,
-0x097481c7, 0x5d760c78, 0x4bb3eb3a, 0x2b9013b8,
-0xbc6fef05, 0x36b2c3a7, 0xeb9b14be, 0x6dc5811b,
-0x213fffeb, 0x75455246, 0x5703662e, 0x21116204,
-0xb58e044f, 0x3d09c344, 0x89d3aa3b, 0x4aeffdf1,
-0x170bb72d, 0x0ae7c1fa, 0x8166c729, 0xbadd80fa,
-0xcabb0b75, 0x8944c38e, 0x150369d3, 0xfc777d6c,
-0xffe28125, 0x1a8c8db8, 0xd6fc8906, 0x5c3768ea,
-0xf2893942, 0x772096a6, 0x465edf7f, 0x5c12ebc9,
-0x02c7044a, 0x00c2816c, 0x7549667c, 0xb772c40b,
-0x70e946ec, 0xcc42e4df, 0x5c3bb3af, 0xa109bdf2,
-0xb90408d0, 0x660d83ee, 0xc99c69b8, 0xf0662c89,
-0x33e8ed1a, 0x232404fd, 0xfbe177b5, 0x535723de,
-0xd3bf7705, 0x1ce88151, 0xfb85c826, 0x2bf9897b,
-0xebc1390d, 0x1676be0a, 0x915d0b73, 0xda832472,
-0x5fcad7e3, 0xd2b796db, 0xc2e2c117, 0xf31ecb07,
-0x140b60d7, 0x5f72a732, 0x0f63738d, 0x25742a72,
-0x5b9082a1, 0x37bb870d, 0x97032fb6, 0xe9821ca3,
-0xd2a6fc9e, 0x8a6b160d, 0x2e7c9d24, 0xbbb7ad61,
-0x51d1753b, 0x10883a68, 0x473058e7, 0xa6ee4dde,
-0xe8088cfe, 0x10b41e05, 0xbdb239e8, 0xb9db1a67,
-0xbc084657, 0xb1421983, 0xe8a77e1b, 0xd9e8f291,
-0x22c962fe, 0x23b82894, 0xc1781d7b, 0xdc11f0fd,
-0x9a8dd029, 0x00e3810b, 0x86ffe41b, 0x0d8bb705,
-0xecde8715, 0xc839ce29, 0xd8390c77, 0xa36df847,
-0x12fb6477, 0x0476000a, 0x56086e58, 0xfa4c5afd,
-0xe851d129, 0x2f4de497, 0x18473529, 0x1e44ef7b,
-0x438b599b, 0xcdb2c829, 0x07537899, 0x6904764f,
-0x74ddcfd8, 0xda34d039, 0xafb10574, 0xaf40ff08,
-0x05a97b30, 0x573fe852, 0x0d8b2c08, 0x06d549a3,
-0x140a602c, 0xc849db0c, 0xc0847a25, 0x5af60d75,
-0x8c675045, 0x1f845b34, 0xb95c0958, 0x2e5a7ce8,
-0x8b56c4a0, 0x086808c5, 0x2bcc2620, 0x99b5f1b6,
-0x5359563d, 0xb7efa412, 0x21856bef, 0x5230262d,
-0xbe7974ed, 0x6c1a1054, 0x892408fd, 0x89d729f7,
-0xdd0e0715, 0x54fe3eb1, 0xab898389, 0xf7839f82,
-0xdd36b80b, 0x2d8943de, 0x3354550f, 0xdefb8386,
-0x21fd2c5c, 0x8c8a1554, 0xeac1fed5, 0xb1e37d04,
-0x960313db, 0x43688b89, 0x352b0257, 0xe0db966f,
-0x3e060c59, 0x5b788fd9, 0xaa9d629c, 0x370f1d3a,
-0xfdd62946, 0xbb73061c, 0x6e36da92, 0x53e2f1a5,
-0x06047902, 0x685dfb0b, 0x007e1db4, 0x74b5153b,
-0x6d80d602, 0xea8177e7, 0x03828ba0, 0xa041585b,
-0xcb3ca114, 0x85b3ebc5, 0x2822191a, 0x11048ddb,
-0x7432377a, 0x47207b14, 0x8dcd87cd, 0x00be9691,
-0x2b9a1915, 0xd0408934, 0x4f1b56f4, 0x290c2bc7,
-0xf7fe91df, 0x28b5386c, 0xbf6687d3, 0x760d8f01,
-0x5678c7b0, 0xc65915e8, 0x180475ff, 0xdd0bc601,
-0x17bb22ed, 0xc31458fd, 0xf45e5502, 0xcf730403,
-0xc13321ad, 0x181be101, 0x305d0e93, 0xe0062da1,
-0x9fd917d8, 0x2f485721, 0xf8890603, 0x2b061712,
-0x095bcfb5, 0x1045fb43, 0x02a66e31, 0xc19946c9,
-0xde0d6203, 0x181c5b6a, 0x1c42d213, 0xad0cc903,
-0x3d03dee0, 0x3c497611, 0xe36c584b, 0xe7338190,
-0xdfd66189, 0xd2b01c76, 0x526e2d84, 0x5708b150,
-0xd7c74be8, 0xa495736e, 0x17e9910c, 0x3da7312d,
-0x2904d8b0, 0xbbeb4246, 0xb7c2d82e, 0x03ec0dbe,
-0x0ac9104d, 0x46fe26d4, 0x03014c2c, 0x9bfce183,
-0xa4c45504, 0x2910be8d, 0x5b5154cc, 0xaee27c84,
-0xf59ab745, 0x066bd054, 0x875dec89, 0xe860a13f,
-0x8b4c9294, 0x79a4249c, 0x6e015a9a, 0xc4f76435,
-0x4260b94b, 0x6cf85e2e, 0x7408998d, 0xc8979d65,
-0xe6815b12, 0x06ba0c05, 0xe85b51b8, 0x83d3c283,
-0x4f75cd0f, 0x5b71363f, 0xc2ef8b19, 0x8e886b04,
-0xddc1c695, 0xfec2835e, 0x17dd1f02, 0x8e108c42,
-0x1bdff0b0, 0x7cf13941, 0x535250f0, 0x70125955,
-0xf1fae381, 0x2a64f6ed, 0x4c0c2775, 0x75f0895b,
-0x427645c7, 0x266f458e, 0xd97411dd, 0x4fbf8b6c,
-0x00e8d10c, 0x6a20a86a, 0x8cf67c10, 0x02e47350,
-0xe8d0dfd0, 0x5fdc91e9, 0x83542036, 0x6ae903c0,
-0x90dbb3f5, 0xd1821301, 0x2cc51534, 0x9a36b75f,
-0x5bc9beff, 0xc8b30e76, 0x1ac118a4, 0xf0ec16bf,
-0x7b10bba9, 0x25008ba3, 0x09086841, 0x10cf08ff,
-0xa98045bb, 0x2b7b9856, 0x60a1b1c1, 0x0abef339,
-0x613f4ae2, 0xe20c5782, 0xebd93917, 0xa37e06db,
-0x1604c109, 0xbec10142, 0xc10b5bf5, 0x8b0f850a,
-0x40a1c85e, 0xa331ba2b, 0x651a36e5, 0x499cd330,
-0xbf020847, 0x7d9c6c30, 0x830f026e, 0x03e5f0e7,
-0x89ef4b86, 0xb964273d, 0xdce07580, 0x97257ef0,
-0x0e838d0f, 0x8e2d189d, 0x36fd3a18, 0x05b88d32,
-0x1ae19605, 0x76674098, 0x1e04d00b, 0x6f588289,
-0xad1ef785, 0xe58309cb, 0x1dfaa4f0, 0xa57328d0,
-0x68046a51, 0xb95d8855, 0xcfacfdb1, 0xf5c60555,
-0x0707c658, 0x5d73a464, 0x05d3431d, 0xaf490e08,
-0xa10c6c11, 0xba288883, 0x1c896c5b, 0x7b0aa62b,
-0x74162210, 0x28c6c44b, 0xff510514, 0x74601805,
-0x1c50adbb, 0x0d071d54, 0xc5b6cc1e, 0x283cb3ba,
-0x070f2003, 0xaeb2022a, 0x8222c18b, 0x26032e13,
-0x10ccdb6a, 0x7f11309b, 0x75321014, 0xe457b64f,
-0x3643057f, 0x3ec6405f, 0x43757413, 0x054680ae,
-0x06c6f948, 0x4e4a12f9, 0x52125005, 0x0436163b,
-0x01586ad3, 0x738d3c3d, 0xfd18e196, 0x05432860,
-0x68f104c7, 0x742b195a, 0xb5efff64, 0x06462554,
-0x46c60201, 0x46942c08, 0xee9276d9, 0x461486ae,
-0x5a0e2c0a, 0xec0f7583, 0x46ed1246, 0xe2140320,
-0xeb1b1946, 0x160322ba, 0x1a281822, 0xf6131c05,
-0x651e184a, 0x46e92446, 0x89560382, 0x46ac6526,
-0xb7db172a, 0xe3833a47, 0x285e0c0f, 0x70b42c6a,
-0x8f060868, 0x09462871, 0x8c80c768, 0xb63c77bf,
-0xdf891cc1, 0x24d23468, 0x9d76d6e8, 0x375389b1,
-0xd4df6a5a, 0x842c8971, 0x14ddac5c, 0x3b07f918,
-0x96e0c1dc, 0x24ba3030, 0x09c6d1f0, 0xf7592dd7,
-0x001ac225, 0xa705c2c0, 0xeb6b47dd, 0x6c8e62d9,
-0x685fbaf0, 0xe9e804e3, 0xf91d21f6, 0x441bcc02,
-0x235b1822, 0x36f415fb, 0x56567df8, 0x0b745339,
-0xdddd9a9a, 0xb095be87, 0x97047401, 0xe80e68be,
-0xf73df8da, 0x66241a14, 0xafcfc529, 0x4ef06e0f,
-0x48cdb503, 0x81cd250b, 0x8d0af4e1, 0x02090a94,
-0x9ad4f8e3, 0x4e83e0cd, 0x7f38de0b, 0x8a17a3c1,
-0xbad0361e, 0x75d044a9, 0x01f38e17, 0x4c835fd0,
-0x06296027, 0x80833062, 0xaeb4fc1d, 0x42845981,
-0xa4d2e743, 0x91d4a0da, 0x9eb1c082, 0xfbd0c811,
-0xeb291c1a, 0x70acb85a, 0xe3837d0b, 0x0b899392,
-0x684bbac0, 0xd61d31b1, 0x5d7c325c, 0xebba178c,
-0xe8671857, 0x23c3541b, 0x21dafc22, 0x05527716,
-0xefc4e82d, 0x3634222c, 0x1c6de3c7, 0xfb30d08a,
-0x7b6168d0, 0x66104f6b, 0x1102c010, 0x0af31982,
-0xde180c1a, 0xdad4a9a0, 0xb1fbe083, 0xd46c36e0,
-0x1204bef6, 0x800fe283, 0x106df6a9, 0x040e140a,
-0x02334fbc, 0xb508947c, 0x2f46464d, 0xaf343018,
-0xd8bf38ef, 0xcbeb2de8, 0xd820acd0, 0x4114abc6,
-0xad036019, 0x81c55424, 0x77052a38, 0x20e277c7,
-0x028b4676, 0x04428b43, 0xe898795c, 0x08076d8a,
-0xdc04f57a, 0x302d6d0b, 0xd14a6b23, 0x989a0471,
-0xe26f0ae0, 0x80c6b622, 0x8b0ddf83, 0x245d6317,
-0x68167d5b, 0x8b0db89b, 0x0640b243, 0xbee1e927,
-0x7fd76a6d, 0xaf09135b, 0x0a031072, 0x3790baeb,
-0x2d1b0c35, 0xcb3c8c68, 0x49fae8b3, 0x753b6f99,
-0x78cad904, 0xb05a15c4, 0x0bd9b239, 0x1fa8000a,
-0x4e42888b, 0x9c09b46f, 0x638e5728, 0xbe02f8c0,
-0xbbf4f8db, 0x07771aa1, 0xa085348b, 0xed147b27,
-0x77761940, 0x7718651b, 0x1b741e54, 0x07760a48,
-0xb81d6c7a, 0x19ff2cb8, 0x72db8c14, 0x02bae874,
-0x921d6f86, 0x0dddb87a, 0xb81789ad, 0x3a397440,
-0xd81ecdeb, 0xa73f0364, 0xa1247b8d, 0xf6530024,
-0x75ecf25c, 0x497a33ac, 0x0b2994b2, 0x35b86306,
-0xa0928e0c, 0x6a6461e2, 0x0c866303, 0x7d193153,
-0x037ba054, 0xc377906d, 0x85a3208d, 0x205c6868,
-0x851906bf, 0xc5ffffff, 0x09e7d350, 0xb0f631d7,
-0xeeea8980, 0xedee88b0, 0xc383cb89, 0x872f7804,
-0x4a2df05c, 0xd98877bc, 0xddb6f8d3, 0x89dedc3f,
-0x4ff7c019, 0x8ba602e0, 0xc8832414, 0xed778a29,
-0x080b7365, 0xd5794b8c, 0xbbed3e39, 0xeb65ee10,
-0x8cbf5276, 0xf80fb1f8, 0x3dece6d1, 0xf725f78b,
-0xc888c609, 0xeb7f9b24, 0xd426f7b0, 0xc49b306c,
-0xc35f9155, 0x060b9e97, 0x534307cb, 0x4fa9538b,
-0xb068c4df, 0x68ee37f1, 0xd4fb2e9a, 0xe31f4293,
-0x09d80ec1, 0xfe690ae8, 0x8d686b8b, 0xf528b698,
-0xa8ec3755, 0x48fc983c, 0x35c97f42, 0x3b13ec04,
-0x8a5c5b8b, 0xfd920b04, 0x0dffefed, 0x8341ee00,
-0xf27e05f9, 0x758d62bf, 0xf2899a37, 0x8400b9ee,
-0xd8df00b6, 0x63445d0c, 0xb8efda89, 0x6245038b,
-0x40e24f77, 0x99c8b4ef, 0xef30551a, 0xb858e028,
-0x4c0d20c5, 0x1aef7266, 0xeebfdef6, 0x0704a5d6,
-0x840eb866, 0x08210b3d, 0x08dd95bd, 0x05ef0c25,
-0xb8ef663c, 0xb2c0d0d0, 0xa32c74e1, 0x35d8e830,
-0x685c7bb8, 0x4be5bc9e, 0x85c243a5, 0x30559e16,
-0x68f2fc22, 0xb30cce8a, 0x4288fc0b, 0x321c896c,
-0xa3d7437e, 0x16d85c5a, 0xc0c85106, 0x0aee5206,
-0x95b83b81, 0x39e88971, 0x81293d5a, 0x5e25c280,
-0xb62694a8, 0x3fe15af8, 0x7296bc06, 0x8d57fb9b,
-0x3a610756, 0x46e31e1a, 0x1452a150, 0x5ebda8d5,
-0x3ebdca58, 0x17e47e58, 0x51224812, 0x9788ec58,
-0xd766140a, 0x666251b6, 0x6fb86ee0, 0x01c4f67d,
-0x31892eba, 0xfb0633ba, 0x9dbd8eeb, 0x0e38b852,
-0x50063bb8, 0x5c72ff98, 0x68da7b63, 0x0750935b,
-0x3029ec31, 0x3f04ccb4, 0xe852dc93, 0xc1a28041,
-0xa016b7df, 0x7504a85c, 0x00c7182c, 0x1afe7e59,
-0x40c776dc, 0x4c064948, 0x20501bf3, 0x1811061e,
-0x1a5fcc8c, 0xdb166204, 0x8d1c683d, 0xee4adb54,
-0x44fd301c, 0x2c0aa312, 0x0edec486, 0x3746b876,
-0x6a233b7c, 0x17425d06, 0x682ce3bb, 0x66e803dc,
-0x7712524d, 0x208a6454, 0x5411e2df, 0xf93bbbd8,
-0xe868d42e, 0x37534013, 0x11ea6838, 0xe7c0777e,
-0x7f0ec32e, 0x4a83c608, 0xfe014300, 0x3bebadf8,
-0x358bf376, 0xb5148d5b, 0xcff7f114, 0x6630d6e0,
-0x81687703, 0x6e8d25c1, 0x8182d620, 0xefea0bde,
-0x7230cb81, 0xde1ad910, 0x1eefc0b0, 0x1270faeb,
-0x3e614f8b, 0x157378ea, 0x2515f758, 0xef1b800c,
-0x95a186e0, 0x95500700, 0x870beae0, 0xf02537b9,
-0x6224db72, 0x5b1032b1, 0x850a0df1, 0x8d1374df,
-0xf0031846, 0xa3e10d06, 0xe81f93d8, 0x2be3e8f8,
-0x49488c05, 0x6ec0b642, 0x7942dc34, 0x0ceb664e,
-0x60c301a8, 0xc52d2580, 0x42f0f5aa, 0xb26dc7b3,
-0xdbb7840d, 0x15389082, 0x52e8db68, 0x35dd80ae,
-0x2d5c0d1e, 0xd47ad495, 0xad81fed5, 0xc11e252f,
-0x3ea810ef, 0xc0771140, 0xff83653f, 0x35860f3b,
-0x6deeff81, 0x1ed12ff7, 0x8d3a0e7d, 0x003dfc4f,
-0x644e2d20, 0x77f70d1b, 0xfcbb8d9b, 0x50d32941,
-0xcc828d53, 0x9bba1045, 0x6076d4a3, 0x29a80b21,
-0x1983a5d8, 0x05142bfa, 0x5e035e6c, 0xf1d7ff60,
-0xbc18cad7, 0x07478d79, 0xb60aa3db, 0xb8b83815,
-0x38a2cde3, 0xff618398, 0xac519fbe, 0x0001baef,
-0x4f031af7, 0x081447db, 0xc51f3f49, 0xf21b5825,
-0xfb1cf0c6, 0x23f5ffff, 0xecbc752d, 0xeb855153,
-0xdc088291, 0x6d028101, 0x06765113, 0xdbaf8008,
-0x9146cc97, 0x25ed8352, 0x49267fac, 0xdbc36f85,
-0xc3660374, 0xeb8a530d, 0x6fb01af6, 0xf02185e6,
-0xc3ee36c2, 0x76e8ae35, 0x23d7f1fb, 0x73987059,
-0xc864aae8, 0x988bdcbf, 0x09601719, 0xc0649be8,
-0xebc08887, 0xb9f42151, 0x3c173a19, 0x52a6fe96,
-0xd7765e68, 0x44ef0b15, 0xe819f840, 0x2e5be811,
-0xcf8c10da, 0x796aa1bf, 0x1d6d6faf, 0x080c89c7,
-0x0131f8ca, 0xfadb3b00, 0xc38aa5db, 0x0c4384db,
-0x08743a3c, 0x0b1eb343, 0x7e1eec2e, 0x64bff475,
-0x056c9486, 0xff791f73, 0x36243f37, 0xd114c03a,
-0x8331f24a, 0x57e108c7, 0x721e67e2, 0xf65653e1,
-0x3a526859, 0xf6fd1fa4, 0x5a04478a, 0x34986859,
-0xb229ef73, 0x41ec1a96, 0xaad24c85, 0x70589603,
-0xe928092d, 0xbc42461e, 0x50c3c344, 0x0843ba75,
-0x03428dfe, 0x4fe2ddc2, 0x037a8082, 0x25740d2f,
-0xd59377d2, 0xe851e847, 0x180c17c2, 0x3a388031,
-0x77e8f07e, 0x3980311f, 0x5280752f, 0x516568a8,
-0x56ebf764, 0x05e889a3, 0x3e585e84, 0xd3eb42f0,
-0xe9040500, 0x01402773, 0xfd0aaeb7, 0x756a525f,
-0x33815251, 0x78783917, 0xa308ee58, 0x92f3eb10,
-0x332d7f11, 0xfc053d36, 0x61a8dfb9, 0x47850343,
-0xb84af0e4, 0xbbb7bb17, 0xc604eb17, 0x903d4004,
-0xfff5726d, 0xa501bc1f, 0xbbe8fb69, 0x06153d65,
-0xc8c268f8, 0x6e56bc02, 0x9a8eeed1, 0x0462dbdd,
-0x74ed179a, 0x04e9f3e8, 0x8860c1f8, 0xaeeea093,
-0x02e647e8, 0x6ac61db3, 0xf479c03d, 0xf4b7b406,
-0x8515b2b4, 0xcd8c6447, 0x0b21db22, 0x0d1f99e0,
-0x2e26f75b, 0xf9097e3a, 0x01b58e0f, 0x8408fe72,
-0xbbda1ad9, 0x4a7f6f35, 0x6f09f685, 0xf17a1800,
-0xf3d1efdd, 0x04e4a13c, 0xbe0c50ff, 0xd8ec46ff,
-0x71f07519, 0x33219875, 0x375fc2c6, 0x09a1c202,
-0xb8f8658d, 0xa7bf66c9, 0x04feedcd, 0x8c020d4a,
-0x79fea9a2, 0x04f72774, 0x71b97c3e, 0x414599f0,
-0xbb33ec3d, 0xa10b4075, 0x3d927ffd, 0x742e0df0,
-0x9f7ef06b, 0x9beb621e, 0xba9290e3, 0xe5076c4f,
-0x053bd548, 0x08940418, 0x5029b41f, 0x926d1943,
-0x4755cc68, 0x7a58532d, 0x6bc14644, 0xe8a37731,
-0x4e22a443, 0x8e105b24, 0x95e005fc, 0x09badc09,
-0x30d8cdb7, 0x2ee90333, 0x73344553, 0x7666ec10,
-0xda46b9e0, 0x2e09befb, 0x49ca0406, 0xe78e7ab5,
-0x9429856e, 0x4df200ee, 0x5f85e9d9, 0x6b782b81,
-0x396fc985, 0x63d02042, 0xe75f3ec1, 0x9644b17a,
-0x75fbe991, 0xbec4ba87, 0xb80b57be, 0x7afdc4ca,
-0x0e047bf1, 0xe9103e63, 0xfdfe8c2d, 0xbbdf6360,
-0xb8fed002, 0xecae0356, 0xecd9d809, 0x18b7e9ef,
-0xfb011442, 0x22a753ae, 0xa10d873c, 0xe25e78a6,
-0x06bbdcde, 0x6a36147b, 0x8dd46801, 0x344c686e,
-0x3b63ba01, 0x2826fa3f, 0x6885f9e9, 0x1323ab23,
-0xc2ae3730, 0xfd9cccd4, 0xf0ea4860, 0xc86f2243,
-0x425e1318, 0x372be94b, 0x2231ef24, 0x2999084d,
-0x34d3880f, 0xb3cdb043, 0xfdc9ee01, 0x5d31fcd5,
-0xe19868ba, 0xacc746e8, 0xef87a5ae, 0xf1f829df,
-0x950c8d42, 0x16a3a162, 0xd3c5f02f, 0x7f0f05e8,
-0x21ebc107, 0xd0ac61f0, 0xa322d0fa, 0xc60a7e0f,
-0x17963719, 0x4f0d75e2, 0xf14ac503, 0x0ba1778e,
-0x89687fe6, 0xbecdb6c2, 0x6082058e, 0x8ba6a331,
-0x5bd8b50a, 0x14e77ae2, 0xbf7b86ab, 0x31fd8fb3,
-0x0d105089, 0xa11c5889, 0xbe8a2021, 0x7845a803,
-0xd301c767, 0x84fd3991, 0xebccc6c7, 0xfe98e9ec,
-0x3be802c9, 0x07849c15, 0x3634ac17, 0x2efa85dd,
-0x689dca78, 0xac4c9c2a, 0xfbb03fdd, 0x48fa81d1,
-0x247c7669, 0xbe0f1869, 0xb896401d, 0x6fe01621,
-0x746f4813, 0x7e307728, 0xc76f3855, 0x8d566172,
-0x4e87c5b6, 0x622005c6, 0x4d6ee483, 0x8c26425b,
-0x27613488, 0xfa2c047b, 0x74237850, 0x5f673a2d,
-0x27e87b0f, 0xf7caeb33, 0xaa012757, 0xe8ee91ee,
-0xb712fb58, 0x0bf308e8, 0xcf6893ab, 0x60fec36a,
-0xcb10e206, 0x83be017e, 0x3950783c, 0x4dc589da,
-0x07870f34, 0x061f0301, 0x0488af21, 0x1620d939,
-0x247a043f, 0x8ac4820f, 0x0e76cb39, 0x6db9aa39,
-0xf53985a0, 0x35010f17, 0x3396e51b, 0x28f4fe16,
-0x2c416c12, 0x98f56a3a, 0xcbb6bc1c, 0x0bd8cea8,
-0x27fe1e14, 0x03d421cc, 0x6c811ea3, 0xf50e01c1,
-0xde380d8a, 0xbb3dd6dd, 0x09789113, 0x390d8b2c,
-0x281f1c03, 0xf74dfba0, 0x7c76b972, 0x77142c0f,
-0x8b0a72ad, 0x1b753913, 0x77f3eede, 0x346c3ba1,
-0x34781376, 0xc82b092b, 0xa90c85d5, 0xc3d989c5,
-0x47c05f6a, 0x8d3eebe9, 0x80ee98b0, 0xc1fd3eab,
-0x5351561b, 0x10706855, 0xc42f40df, 0x3c3a1053,
-0xf69febfb, 0xff8bb122, 0xfac03119, 0xb4fb191b,
-0xa38bdce0, 0xd482d86f, 0xdf0471e9, 0x50ae9b61,
-0xd1eba446, 0xa90ddc54, 0x2de8f508, 0x98c29d24,
-0x80f47091, 0xa0794e53, 0xd080c155, 0x36f4d0d3,
-0x10ce3a2b, 0x500c0707, 0x80f990b8, 0x4d2d791d,
-0xd2ef4dce, 0x81baee17, 0x6838142d, 0x009f9aaf,
-0xb42ab14b, 0xe86cdb64, 0x3075f94c, 0x4899187a,
-0x5b08cb5f, 0x583d58c2, 0xbea4a1fa, 0xa19724d6,
-0x2422f1cb, 0xdda24aa1, 0x1b92ddf1, 0xb0291cb4,
-0x09cf8905, 0x1b7674d7, 0xd518a085, 0x392e2bee,
-0x6dda5df1, 0x0e726fdc, 0x3986821c, 0x037ab0c2,
-0x86085a5c, 0xa9249b29, 0x0ee0beb0, 0xb47a0876,
-0x08b8a109, 0x34743374, 0x445d4b3f, 0x77d8428a,
-0xbc329436, 0x5352c3df, 0xa1ba8d08, 0x24c62ca0,
-0x445220e8, 0xdbd632c3, 0x01c350b0, 0x1d1d01b7,
-0xada2663c, 0x4115a337, 0x5ea2e418, 0x8ce9d46b,
-0x69bd81ba, 0x416dbaca, 0x160ff7ac, 0x770269c2,
-0x6f442d0b, 0xa8efedee, 0xac2d131a, 0x72140324,
-0x1cc4a605, 0x700750b4, 0x1636460d, 0x5cea203d,
-0x7efe6fdd, 0xa0ba8363, 0x063a014a, 0x5aeb6f75,
-0xac1398b4, 0x60640edd, 0x823a37ff, 0x95398fdb,
-0x06774048, 0xf939c872, 0x7fdcc472, 0x742708e8,
-0xe0c15716, 0xa4808b05, 0xfef43526, 0x413970af,
-0x89a77340, 0x10458b35, 0x8d8e1067, 0x7f624661,
-0xd8c25b9d, 0x1b76dcd7, 0x8637e6c1, 0x8bdba3ac,
-0xf62ceda4, 0x8e8b31a9, 0xb0dbae4c, 0xff4c3611,
-0xea11f801, 0xd319c129, 0x8d0d1f42, 0x845b6dd6,
-0x440f991d, 0x392bb040, 0x5b09ea09, 0x085c7fab,
-0x1638821a, 0xfcfb1e01, 0x25f02835, 0xb7290900,
-0x3ddedf8b, 0xc1014f33, 0xcd01fb11, 0x5e4d5c11,
-0xf07dd43b, 0x09f8ac0f, 0x5b5d0c1d, 0x85740171,
-0x3a489e1a, 0x6d8dff38, 0x1584d7b4, 0xa34d8294,
-0xdc1a154e, 0xc143eda7, 0x780de31d, 0xb91c6a79,
-0x09dbfb82, 0x3db715bc, 0x88881072, 0x2e2c7c3e,
-0x55068406, 0x68346a08, 0x3aa3e84f, 0xd30a6d03,
-0x0e9458c7, 0x68746c5a, 0x6fc23218, 0xd6ed0c0e,
-0xde290598, 0x2f50c706, 0x06b82ded, 0x2dd8112e,
-0xaeb81127, 0x34d5b440, 0x3226f996, 0x088017f8,
-0x688dcf69, 0x31697e34, 0x9f91d4db, 0x58c3c049,
-0xea75bb83, 0xf0fe2304, 0xff57833a, 0xb9bab4b3,
-0x6d85f628, 0x55692051, 0xef9350e8, 0x867bd3d9,
-0x16726ca1, 0x38ab0351, 0x63a1aefb, 0xaea87f57,
-0x3966dfc0, 0x383474fa, 0xa24f7607, 0x8e0c3155,
-0x8e3cbebc, 0x02e14221, 0x5d6deb41, 0x026ce0f1,
-0x16e9b44e, 0xc889d29c, 0x2ad58e24, 0xe8671a39,
-0x25740e59, 0x6b0dc220, 0x72844005, 0x59de08c5,
-0x57e34bff, 0xa850e2b8, 0xec5b7eac, 0x052ee52d,
-0xcf1b7420, 0x604f3ce3, 0x4e6ff329, 0x55b0533b,
-0x63e952dc, 0xc8bb516c, 0x19da29de, 0xc61ca78f,
-0xa1b36918, 0x10ce154a, 0x2b5381b8, 0xfdebe928,
-0xc0ddb1df, 0x3d802cfd, 0x25377f45, 0x0544af81,
-0xec1c0d62, 0x2d021020, 0xe0a1ece0, 0x81146cc0,
-0xf8f4cbca, 0x402d0914, 0xa553b58e, 0xd6804d4f,
-0xed85ce48, 0xdd1bdb82, 0x1d8ad94f, 0x32eb1d44,
-0xfc4c8ac8, 0x87e1c1a3, 0x34ce488f, 0x38a3f887,
-0xdde25cc1, 0x881a99a2, 0x25992315, 0xb625e9f0,
-0xc1dce20e, 0x90148da8, 0xbbf0c8f3, 0x2d840cb1,
-0x84263c15, 0xb6bd2522, 0x7593dc06, 0xdc58756e,
-0x9808232f, 0x222017ea, 0x9f1c85a2, 0x4ae80268,
-0xb5a07304, 0x72b44ded, 0x7a8b47d5, 0x13468a0c,
-0xc0da5762, 0x7c0336b0, 0xad7af50a, 0xb61a376f,
-0x80186c4f, 0x047474e8, 0x0a7b7402, 0xa1bfe10c,
-0xe9c82992, 0xbd9bff58, 0x1d35c01a, 0x7544869b,
-0x7bc0486a, 0xe433a177, 0xeb89fb3b, 0x3ded0476,
-0xb1b7868c, 0x488fcda1, 0x743d9242, 0x97cf5b6d,
-0x2129945f, 0xaf509854, 0x254ab5e1, 0xa3ad269a,
-0x5f6de019, 0xfed3e9c3, 0x6e01faa1, 0x036d0be9,
-0x7d8484da, 0x251f10c0, 0xd5b86717, 0x28461213,
-0x71b1323b, 0x783424a4, 0x4b60522a, 0x16fd3c0c,
-0x3573282e, 0xb9d21b2c, 0x0d121e08, 0xda65a05b,
-0xf88c77db, 0x8d05eb00, 0x29522e90, 0x26b07030,
-0xdf940536, 0xd9733550, 0x07630763, 0x335a58a6,
-0xf69c3a1a, 0xdfba3c1b, 0x74932505, 0x5106e60a,
-0x1e2bbb88, 0x518973db, 0xd7169e0a, 0x82eefc04,
-0x6b400d50, 0x5031048d, 0x0dc1998d, 0x511cd0b8,
-0x845233a8, 0xd837f7e2, 0x756919e9, 0xd292d50f,
-0xc37c026a, 0x2b56507b, 0x1827901d, 0x3c70e853,
-0xa6bddc2e, 0x4a35c020, 0x5b5e0831, 0x3edc193b,
-0x05c35e6d, 0xd98c52e8, 0x87d809e5, 0x98a3683f,
-0x0e022404, 0x2e3a3deb, 0x6cae6fc5, 0x428d1c32,
-0x77d766fc, 0xf6706b07, 0xeb046dff, 0xe9a8e890,
-0x840bffff, 0x90420bf6, 0xeb1986ea, 0x49f8d5db,
-0x64c4d81b, 0x1033ff8c, 0x35347760, 0x2fd52829,
-0xa91b5e1b, 0x5553d59e, 0x6e3bd384, 0xb7f80d3d,
-0x457fffdf, 0x3e74464c, 0x752ec031, 0x7d8175d1,
-0x03133600, 0x31f4f11b, 0x60d639da, 0xbc75d389,
-0xbd8eb5af, 0xd6533c41, 0x2cc8bba2, 0xe105c73d,
-0xd6f16383, 0x1ca19bba, 0xb5b14525, 0x3d00bb41,
-0xb1350001, 0x36b17049, 0xe80bfb1a, 0xa3a2bc02,
-0x2dda9274, 0x7299b6e8, 0xb6340888, 0xa3238d75,
-0x2707742b, 0x058c0320, 0xbe60ee06, 0xe8776013,
-0x816a6bbb, 0x12d7cc06, 0x325e0bc0, 0xc2af0a8a,
-0x11151811, 0x3da2d0af, 0x006b811d, 0xd37d8c53,
-0x4e05a780, 0xbf0414ab, 0x7ccec46f, 0xc668cb47,
-0xb823203d, 0x9df276c0, 0xe6e9dcdd, 0x19de63fe,
-0xba128106, 0x2fbaf6dd, 0x093a1fba, 0x5920bf84,
-0x23f859b9, 0x5c00e7e8, 0x39106a53, 0x318dc320,
-0x883a99f6, 0x8b0ce82a, 0x78a3c6a5, 0x8c6af7d0,
-0xbc2e3e9f, 0xa352d405, 0xe8b9a38d, 0x167a71b0,
-0x5f31f58c, 0xc60ba984, 0xecea156a, 0xc10a0251,
-0x17b785be, 0x95548d27, 0x80021c3d, 0x7442be99,
-0x36ffe36a, 0x3907bd76, 0x514676df, 0x43924b8b,
-0x5fdde056, 0x010814cb, 0x0c5651f1, 0x51044b03,
-0xa5ad5647, 0x7c741ff8, 0x0303438a, 0x1ed90873,
-0x15f67b65, 0x5d5503b0, 0xb6755493, 0xc19ac524,
-0x2682219a, 0x7facb052, 0x555c6348, 0x0039bbd6,
-0xa224a100, 0x2e7ac5dc, 0x6e9c01e8, 0xc52aafba,
-0x25087c0c, 0x49dfe901, 0xb0b06051, 0x5009cb2b,
-0xcc298a52, 0xe0910a3d, 0xf7d63972, 0x0c0d8b06,
-0x5fdc9b5d, 0x41a4353f, 0xdb196368, 0x0ebc3cf6,
-0xf14da2df, 0xd4e91375, 0x2f015a13, 0x8d0fc339,
-0x89e0e128, 0xe5d86e19, 0x4a3faddc, 0xa46c4a3d,
-0xee407983, 0xf8b185c2, 0x8bd975da, 0x1e491298,
-0x60f30b04, 0x77fdb6d9, 0x1d5c8dc9, 0xcb0a0c21,
-0x1a833050, 0x9c301568, 0xdb81a728, 0x00c4ff12,
-0x60eb1572, 0x3987082f, 0xe214c103, 0x0c241a9b,
-0x8b277330, 0x3efd4613, 0x8dfb46fc, 0x348d0c4b,
-0x0ec08363, 0x762ef001, 0xbad94e9b, 0x76073930,
-0xd57417c6, 0x992cadc5, 0x281b1e74, 0x963f16a0,
-0x2c9e1f70, 0x44e4d203, 0x106b35c1, 0xde80119b,
-0xe84bb56d, 0x1fe9ed5d, 0x0026badd, 0x364a8e00,
-0xa8096d19, 0x3809ac0c, 0x2032b6c8, 0x39e9b809,
-0x90774304, 0x0c8e5c2c, 0x1d3c6434, 0x757db4a1,
-0xb8a4eb0e, 0x7d31ae01, 0x8410ab98, 0xe1c1c54b,
-0xb4ae232d, 0x2f423a5a, 0xdb6d407b, 0xa7fb703c,
-0xc181fd4f, 0x505b8b9d, 0x4902718b, 0xd406fc40,
-0x2203ceb0, 0x04ecdb20, 0xc6c60153, 0x516f1120,
-0x3df30ee8, 0xb7dced84, 0x4a31a1c3, 0xa1187466,
-0x8ded08c4, 0x20ff205e, 0x73a40d72, 0x70996609,
-0xc091616a, 0x4e89e3ea, 0x92db92c4, 0x688b801b,
-0x86443841, 0x376b518e, 0x5853a1bc, 0x4307eb3c,
-0x467d3c7e, 0x1fbdb4ac, 0xe2c13e8c, 0xe5757405,
-0x596c8a8d, 0x1aeee52f, 0x7348763c, 0x82132f04,
-0xdbb9bab4, 0x448663be, 0x1c440f76, 0x76400c50,
-0xd0ddd5b9, 0xb3eb40bd, 0xa248058b, 0x10c18540,
-0x2201941c, 0x94f545b4, 0x627ba378, 0x412ba6f7,
-0x3838f983, 0x41213486, 0x98050b80, 0x5dceaf86,
-0x47052601, 0x76101887, 0xae1121ee, 0x572eff17,
-0xe29a8334, 0x1411ed8d, 0x5a7b3339, 0x351ab845,
-0xdc9e011a, 0x1300f120, 0x039001a0, 0x120edba6,
-0x6e1392d1, 0x6c10bd77, 0x2df7f886, 0x2689a731,
-0xd1015905, 0x398bc839, 0x738dbff7, 0x76d03906,
-0x181e4102, 0x201ef70e, 0x0c137376, 0x1f23d088,
-0x6ec44b0a, 0x76953bc2, 0x0f108e0a, 0xebfc0739,
-0x7609108f, 0x68153b0c, 0x87eefe11, 0x546c0dc2,
-0x1c07ff02, 0xc221d0f7, 0xdd6cd139, 0x3efb8d86,
-0x3bd1297f, 0x55320b38, 0x570e250b, 0xd0bbde64,
-0xc0cae188, 0x42c04666, 0x7e83e3ec, 0x930105e3,
-0xca0e8b28, 0x0c234b47, 0xb87cc943, 0xbc72de15,
-0x46e9e381, 0x68084018, 0x1c7ef1fd, 0xb37cdc16,
-0x31aec035, 0xb23e0843, 0x4954a9bd, 0x10481e77,
-0x7c80049d, 0x6c01c930, 0x8f0d0d0d, 0x56dc2e60,
-0x86e9b1e0, 0x7d11eaca, 0x1edf8f08, 0x6d12ad93,
-0x66ee2906, 0xd84c57a3, 0x6eb1168f, 0x4f3f5de9,
-0x9d889dbb, 0xe29b8028, 0x7d032950, 0x4c69ba66,
-0x7c684c7e, 0x17e9c316, 0x65cc89fa, 0x12ac2927,
-0x26859404, 0x24703576, 0x02281501, 0x8f8546c0,
-0x00e800ce, 0x76160ca8, 0xe8bafe1b, 0x82fb3909,
-0x730c0835, 0xd410014d, 0x45afed16, 0x222e73eb,
-0xac7b05da, 0xc2f98ffe, 0x3109eac1, 0x19d629c9,
-0xd80142cf, 0xd2f62c89, 0x3f891b1b, 0x29882fa3,
-0x513989eb, 0xb8344922, 0xc8df6f27, 0xf06f06f1,
-0xfde4ad72, 0x09f031fa, 0xecef5b6d, 0x5e4074c2,
-0x09df3ea1, 0x58e80149, 0x295a36bf, 0x55304ec5,
-0x57001553, 0x41416338, 0x332a1561, 0x8c6dbd83,
-0x2594a191, 0xb2d8a592, 0x77f166c5, 0xb951e9b5,
-0x1e08293d, 0x090b6496, 0xd7e83d0c, 0x2c3bc2c4,
-0x5964a3b9, 0x250134f7, 0xe1550882, 0x71f82330,
-0x37e9c712, 0x8eda9090, 0xd2382960, 0x0ddcda31,
-0x73f02fda, 0xa0c1f625, 0x740e04b6, 0x2687b903,
-0xc2c33468, 0x95315b81, 0x46fed1a6, 0x2bfc1083,
-0xd93941d0, 0x9e0edb72, 0x7ea004e0, 0x0ccb54ea,
-0x2ad12edd, 0xd2f71cc1, 0xd8027416, 0x25475c05,
-0x02ba1cd2, 0x891d3d3d, 0x2d05efba, 0xc03df706,
-0x78c80de7, 0x787817ab, 0x55b85f69, 0xe9f713ed,
-0xa160dfdb, 0x1fc5c8b3, 0x290cfbc1, 0xdb5b35c3,
-0x026c475a, 0x6f07d583, 0xe086c309, 0x027ad0be,
-0xbbcbc129, 0xca2903e2, 0xdcdb4086, 0x16c24fd6,
-0x800223db, 0xddbdb115, 0xd17711c8, 0x89430be2,
-0xf67827d1, 0xeaac4149, 0xf5e8c05b, 0xbd0579d0,
-0x646dab69, 0x15bf0f40, 0x05b6c268, 0x100c6cde,
-0xab288aeb, 0xe3297f16, 0xb744700d, 0x841e8aa1,
-0xf8d6fc30, 0x74144346, 0x9f418a1c, 0x88da8818,
-0x06ff7ec8, 0x2bdf1c4b, 0x75c238df, 0x1f47460a,
-0xf0bfe475, 0x7d1bd52f, 0xc3be0fdf, 0x04dfe183,
-0x295ed1be, 0x721a3bd0, 0xdbf27814, 0x5b0a147f,
-0x5e01eef7, 0x5b0e744c, 0x229bce5e, 0xc2f6fad2,
-0x3842be06, 0x058d118a, 0xec76093c, 0x64b4382f,
-0xad0eee92, 0xe005f495, 0x18b0518e, 0x31e1ea89,
-0x15ff31f6, 0x884a184a, 0x7013644a, 0x021a00e5,
-0xd07d34b2, 0x9d68e11b, 0x9a3b74d1, 0xffff6f77,
-0x02ffa86f, 0x8942097f, 0x39802414, 0xc126752e,
-0x094708e6, 0x7e0313c6, 0xf6ebf1c4, 0x7bf089c2,
-0x0410c8c1, 0x8922c689, 0x0dc6bc30, 0x29a23947,
-0x4407a4e8, 0xd1430a1f, 0xe9cfdee1, 0xf8bfedd6,
-0x02eb1258, 0x64e460e4, 0xe1a8c09e, 0x0cd7a804,
-0x097b86e0, 0x6f18c5e8, 0x0cb5e872, 0x18f89ba9,
-0xe8f50168, 0x7f0bd00f, 0xfd51fbbf, 0xb097b8e8,
-0xe864e6d1, 0xe6df08af, 0x08f8ec60, 0xa6eb1576,
-0x834db627, 0x8b7bddfb, 0xf01d2e6e, 0x890d743a,
-0x26e94b0e, 0x10bd4dd1, 0xe80d0642, 0xe29d67d5,
-0xf619c3c8, 0xda3d80cf, 0x9bf9360e, 0xe82e2961,
-0x23e810ab, 0xe5db6f7d, 0xc0958842, 0x6f13c064,
-0x51cef7bb, 0x45eb5b7c, 0xe8187507, 0x92b34cff,
-0xef2921bb, 0xae08cfe8, 0xc059e217, 0xfbce74b7,
-0xfb07740d, 0x12280ab3, 0x74cb8c96, 0xf777fb70,
-0xe8f33c77, 0x1bf878a2, 0x04041174, 0x789bba74,
-0x75cc7dab, 0xff93badf, 0xba0b0aeb, 0x0f6baacf,
-0x527c61f0, 0xbecdbe13, 0x861061d0, 0xe8db8410,
-0x1361ce81, 0x1c5c1bf1, 0xe805eb58, 0xce72eb9a,
-0xa306ee52, 0x1462f218, 0x1f681c27, 0x9f15f6c2,
-0x1a2d708c, 0x07181a20, 0xd22ab041, 0xe05c8fb9,
-0xd41fa7c1, 0x8dd0868d, 0xe20626be, 0xf8d63e0e,
-0x688d08e4, 0xc1a350ed, 0xf00a818e, 0x433036ff,
-0x990e80fc, 0xb900b08f, 0xddc6d7c1, 0x14c3a7c1,
-0xa4a0c049, 0x4060cfbb, 0x8bedc19f, 0xdc831c93,
-0xbf6c873c, 0xd577403d, 0xc4747817, 0x9d9a016f,
-0x934b26bd, 0x4b4bc016, 0x04758385, 0x39f00af0,
-0x0d72dfc2, 0x9e6a735c, 0x9672ea99, 0x6c68dbf7,
-0x75e4c280, 0xa9656911, 0xefdfbf0a, 0xea8130c2,
-0x47e28107, 0x6d2c543b, 0xe4135fff, 0x14208d0c,
-0x40d70b61, 0xce7ea3af, 0x9e7f56e9, 0xe8066be3,
-0x39748976, 0xf75557f8, 0x03558ff1, 0x685350fc,
-0x864acfdc, 0x6e75e820, 0xe5a24553, 0xcb1a775f,
-0x2e00cb44, 0x4b629b01, 0x7f061cac, 0x72badc1b,
-0x0fff65e9, 0x62c6d61c, 0x540c3906, 0x8b810937,
-0x3058bc21, 0xd8a71301, 0xc993b20e, 0x426467fc,
-0xbb89d3f8, 0x0131fc2d, 0xc3a19148, 0x85bb267f,
-0x8be375ff, 0xe0a73ab3, 0xd9ad1230, 0x2abbff09,
-0x5db0febb, 0xf2f73905, 0x76f21fa4, 0x73113932,
-0xb7c2df2c, 0x66b439b9, 0x48fa139a, 0x0df88ea1,
-0xf5143a85, 0xbb14d338, 0x39b9b007, 0xe7893309,
-0xf73bf019, 0x9a77a068, 0x81750a77, 0x868d79a5,
-0x2a604b68, 0xa07ceee8, 0x168046bc, 0x18a26fd3,
-0xd8b1a81d, 0xba15cf02, 0x038275b6, 0x289f78fc,
-0x582b115e, 0x7d237d0e, 0x4be2e17a, 0x06a328a1,
-0x2041a27b, 0x52e0bffc, 0x0fbc0e04, 0x9c0d999f,
-0x0672e9d6, 0x8275035f, 0x32a13d08, 0xc2ae7e29,
-0x508dc8f1, 0x6a1c02fc, 0xc6821972, 0x51d31559,
-0x70269489, 0x1532b6f6, 0x4ec31024, 0x3b62dc5f,
-0x168b0cea, 0xb1da29e6, 0x2302b08d, 0x3ef84add,
-0x3e78230d, 0x42ec15db, 0x0afc42f1, 0x480d89b2,
-0x2c0cea60, 0x9604e722, 0x2f8cd062, 0x408bc2d9,
-0xd94687fc, 0x070d63a1, 0x3cc239ce, 0x1d4ca57d,
-0xf1bacaa8, 0x6817b5e2, 0x528b3050, 0xe87523f8,
-0xcea450ac, 0x78c12f8f, 0x8c766095, 0xa2e6a164,
-0x2289f417, 0x70d4dba4, 0x10b87ab5, 0xa71ae084,
-0xa8971021, 0xb99e92e8, 0xbafbd832, 0x03281a20,
-0xec230453, 0x35d30293, 0xf2086d20, 0x5f8f67b0,
-0xb2fb24db, 0x5fe4e84a, 0x26417e00, 0x603515f0,
-0xe8780375, 0x55bb4334, 0x375a5827, 0x4b1a0edf,
-0x114b68a2, 0x397ea143, 0xa10d3883, 0x66ec8f01,
-0xefbe7c83, 0x2256346a, 0x75337820, 0xee740fd4,
-0x1a74a17b, 0x0a4f5f08, 0xe6c75be8, 0xf4a722b6,
-0x2aa722cc, 0xa186df28, 0xebe80abf, 0x6128a9e0,
-0x0927dc43, 0x594f00b8, 0xdfe83658, 0x8b3be605,
-0x1d773ec8, 0x708b40be, 0xdc30be83, 0x17df305f,
-0x26d715b0, 0x939e1f84, 0xc821ac67, 0x8b91128e,
-0x8f633c83, 0x9d15b2e9, 0x551a3a75, 0x9f37320b,
-0x297891e3, 0x0806189a, 0x5b590637, 0x74036805,
-0x3d125e61, 0xf1761c04, 0x5b9be951, 0x21080007,
-0x0200147b, 0xffc42475, 0xaf049db0, 0x501c438d,
-0x422b13e8, 0xdb6c06f8, 0x140618ca, 0x8db63116,
-0x1a020084, 0x1ff39db0, 0x22a1c5d2, 0x94d3cdb0,
-0x403fa5a9, 0x18407209, 0x7e0946e0, 0xc6661c2b,
-0x59784503, 0xede25841, 0x8845fe28, 0x0143c603,
-0x05000437, 0xa689544c, 0x664ac88b, 0xa7c5f6c5,
-0xe74388ac, 0x10090618, 0x4148c3b5, 0xda1baca1,
-0x0fed0170, 0x14c46b06, 0xde899a07, 0xf6aae8b3,
-0x4cd42190, 0xfd12f8e5, 0xa2eb0342, 0x10fe1363,
-0x51a4e16d, 0x10403e0f, 0x410b0539, 0x643ef42b,
-0x02411f80, 0x324236a6, 0x2df620c0, 0xee78342d,
-0xaa14c294, 0x2feb29bf, 0xec2da8d1, 0xad4194b6,
-0xcd408a02, 0x02dbf6f0, 0x3c23f83c, 0xe9ec753c,
-0x46a56809, 0x609c76ee, 0x0fe302b6, 0xb074d4f0,
-0x68891b01, 0xe5737b31, 0xed15441c, 0x0c6d5b50,
-0x8819a370, 0x8a54d6db, 0x110688bf, 0xa89ad8c6,
-0x4379b377, 0xe514e883, 0x01db0c85, 0xe801a0fd,
-0x58c648e7, 0x5c16dd1e, 0x225a9837, 0xe8034356,
-0x30ed10cd, 0xc65219c8, 0x2f112686, 0xf79ee228,
-0x84e9c44e, 0x28272445, 0xa160991f, 0xb53f11ca,
-0x110fb1e8, 0x4bc37ea0, 0xb7727e8d, 0x46c3eedb,
-0xeb835114, 0x0edf860c, 0x5f030247, 0x0fc07304,
-0x79475d0b, 0x6e3de8f0, 0x4536ebd5, 0x8f110aaf,
-0x0623c35f, 0x823a7d07, 0x008925c4, 0x1f16c70f,
-0x4fe50ca3, 0xc702e804, 0x030e0369, 0x33e8017e,
-0x2a06eefc, 0xc7fa163c, 0x0df9834e, 0x5015e276,
-0x40b475bd, 0x66e40c4c, 0x090d5a07, 0x6e9db321,
-0xc066ed09, 0xd188002b, 0xad510bf6, 0x097d800a,
-0xd8640f11, 0xd827db53, 0xe4555600, 0x0340c4c3,
-0xcae76af6, 0x8f5dce54, 0x103cdfc6, 0xbd8d028c,
-0x785fb3b0, 0x74b52c0f, 0x05663d39, 0x26778d04,
-0x821fe336, 0x6f8db656, 0xfa3ee80e, 0x00d81330,
-0xbae77dda, 0x7eddca4b, 0x11088cdb, 0xc7f63b0f,
-0x51021b45, 0xdfb18eff, 0x531c5f38, 0x310ce856,
-0x1677de0c, 0x20c78356, 0x1b60e857, 0x27fad9ef,
-0x34680411, 0x5a0fea74, 0x06f336ec, 0xda316468,
-0x666a550f, 0xd6b708e0, 0x402d0792, 0xe0e979fb,
-0x26c08eda, 0xdbf70595, 0x0fc4852c, 0x16d18857,
-0x740cc58c, 0x0b6a1b81, 0xc0316243, 0x12212548,
-0xbff1bfc4, 0x0e6a8d38, 0xc60e528a, 0x0f0a3cbb,
-0x42fea087, 0xc6e28d53, 0x7b899390, 0xa755682c,
-0xb0544ecd, 0xa9433734, 0xf7fe7fbb, 0x2716c13f,
-0xc674821a, 0x6ac1c3f4, 0x6519617b, 0xaf8f0c84,
-0x62b380cf, 0xf4582478, 0x7046e91c, 0x1e7843a8,
-0x7bcd8f3a, 0x3afc6c9b, 0x8422c683, 0x04560845,
-0xa5df742b, 0xd6867572, 0x1387805c, 0x6be1836b,
-0x277e8501, 0x26e89706, 0x6316d839, 0x4e0f30fd,
-0xf88aaf6c, 0x0ba4f7b0, 0x4c1de3e9, 0xdb05dc3d,
-0xff6dc286, 0x3e13cf8f, 0x093414ea, 0x14cffdb8,
-0x0c8b74ae, 0x08748d24, 0x012278f3, 0x31cf12e0,
-0x73cfd129, 0x736db60e, 0x15297785, 0x2034450e,
-0x0efe030e, 0x0f7cf6f4, 0xfc15fdff, 0x01dfe7eb,
-0x623f3468, 0xc42ba04d, 0x186ee8fd, 0xf8982fc4,
-0x057e074c, 0xf81e07b9, 0x84a5fc52, 0xe8e3d3c3,
-0xc751f2f6, 0xaa071c71, 0xa437d3a5, 0x29f9f799,
-0xd1125fb1, 0xa4c1bbda, 0x8b54273c, 0xd6381048,
-0x77d341b1, 0xa173748f, 0xca12c134, 0xa04323c8,
-0xfe248b54, 0x96b5dbaa, 0xaa4f8db1, 0x460813b8,
-0x5b046ec4, 0x07fe766d, 0x6274a1f3, 0x0616fc78,
-0xe0d1c307, 0x1318bc80, 0xb6225ede, 0x05550618,
-0x0604f07e, 0x41e06174, 0x54c03af7, 0xb4682303,
-0x43c4cb80, 0x1917eb30, 0xec40b703, 0x54e72ba3,
-0xd486d91b, 0x61101980, 0xf8e6f8fc, 0x31770fa1,
-0x6851df03, 0x22a664c3, 0x01831487, 0xdc663804,
-0x397df6ae, 0x43120601, 0x0406146d, 0x1554ed8c,
-0x57171640, 0xd5b8c0a9, 0x55241414, 0x94cd252c,
-0x13dd2c8a, 0x7450182a, 0xa96c019a, 0x4f0ebe22,
-0x438d68d8, 0xf876506c, 0xb801b3d6, 0x217016e0,
-0xc3db0ada, 0x0b39638f, 0xf6810b86, 0x7c3045b6,
-0xb4199175, 0x2ee26b27, 0xb1df7526, 0x3e546856,
-0x5914b80c, 0xee526b60, 0x18ede9c3, 0x7d28b977,
-0x39197a5d, 0x3c6a78c5, 0xc69a50b8, 0x6604fc36,
-0xe8823ca3, 0x9318341b, 0xe22c0452, 0x5b14cdb1,
-0xc7000f5e, 0x9e6315d7, 0x1c02ea69, 0xe71a2971,
-0xbf1c4a24, 0x8cfc360b, 0x06427437, 0x32ff2550,
-0x6834df68, 0x2078e81e, 0x2be818ee, 0x592a1f1e,
-0x665ac442, 0x671fbe5b, 0xdd10e71e, 0xec473ae7,
-0xec112040, 0xc7220b14, 0x0722d9ef, 0x713a0224,
-0x1354cf04, 0xbfa805a0, 0xcdbddb88, 0x4413abc2,
-0x61932c35, 0xc5e8ff23, 0x23113b68, 0x22e9d99d,
-0x3de0f01a, 0xcd04e38e, 0xc7b4ce0a, 0x502bfa6e,
-0xd163e9ac, 0x19500176, 0xddb0b40d, 0x987ee013,
-0xfb2d9136, 0xee12c76a, 0xc7561544, 0x2ec5eb37,
-0xfa72e105, 0x0088e245, 0xb5b6dec9, 0x40b43de2,
-0x0ca3affa, 0x9764aed9, 0x5002efaa, 0xf100f4e0,
-0x6c14ef73, 0x5bc1ace8, 0x7b01ecfe, 0xba0750ee,
-0xfe5de8cc, 0x0e1b7d68, 0xcc45843c, 0x0d028b5b,
-0x71164848, 0x95dbdecc, 0xc1d4b8c2, 0x3d791302,
-0xe118c30e, 0xf1bdd59d, 0x08f6688d, 0x5aa34714,
-0x1ae9154a, 0x1c19e724, 0x6db10744, 0x204e0512,
-0xb2f0602c, 0x84c076c7, 0x200da8e9, 0x206aa0c1,
-0x984d9e10, 0x869a0263, 0x73ede4cd, 0xce04ed87,
-0xc60fd40d, 0x03b1b520, 0xfda7c09d, 0xeb3a4d79,
-0xc07fed04, 0x065d0fe9, 0x578da475, 0xc301492c,
-0x0873752e, 0x6aff101a, 0x2f03426c, 0x105c8dd9,
-0xf29ae732, 0x60c76ecc, 0x98fd61db, 0x16dc87a0,
-0x1b52c261, 0xd009d82f, 0x010e8bb3, 0x8af67360,
-0x2e1cef38, 0x13116c0d, 0x1f073622, 0x96a6ba29,
-0x01780d72, 0x38124c59, 0xbb16e284, 0xdaf07549,
-0x58c6bdeb, 0x7d05820a, 0xb05742b8, 0x1e10691d,
-0x0249d039, 0xc6c0f040, 0xd5192458, 0xef790206,
-0x12205e16, 0x2e472560, 0x69a1e789, 0x36f1b669,
-0xaa3da3a6, 0x528ca541, 0xfe42768e, 0xa6e74805,
-0x704d72d8, 0x85b19c0f, 0x7c0ac919, 0xb9c14188,
-0x9ae9885b, 0x0ec1bef1, 0x59950bc7, 0x8b832115,
-0xb4771aea, 0x4f72537e, 0x416dc50d, 0xce7d8a06,
-0x2038fece, 0x098461dc, 0x6c057363, 0x86d26e08,
-0xe0e8f197, 0x21c00d1a, 0x12107e42, 0xbf1e17c6,
-0x7878b64d, 0xfc18306c, 0x87c49d38, 0x063c36e8,
-0x7fd7e92d, 0xb1a58055, 0x5010da17, 0x26e857c5,
-0x9a1819ee, 0x14afd885, 0xb4e997ab, 0x202520ae,
-0xbd5285c2, 0x1a25522e, 0x809a9c1f, 0x531df08b,
-0x28cc7569, 0x1ffd84fe, 0x63e9018b, 0x6a1c6efd,
-0x35f65e80, 0x10a18a34, 0x0c040fb9, 0xd2c1c245,
-0x428258a3, 0xad74d3ed, 0xd05ba841, 0xeefbae5a,
-0xa3d84f63, 0xd703e535, 0x7e1adb31, 0xaf747df3,
-0xcc22a31a, 0x257d2097, 0x8291a12f, 0x6c21209f,
-0xfbf4fc8b, 0x8c24bce3, 0x8024b42f, 0xa4249c06,
-0xdfffff83, 0x981583c6, 0x1e1e2c8d, 0xd8841a9f,
-0x24d14f06, 0x44740b84, 0x7d3e0abc, 0x1801db04,
-0xd02ce380, 0xd2711a04, 0x9ebe945f, 0x0d020886,
-0xdb90a148, 0x44afc83d, 0x011f28a1, 0x520a9b4a,
-0x816c7d17, 0x511868a5, 0x0c553089, 0xec3e4153,
-0xc140ef61, 0x0131ec09, 0xc9f525c4, 0x47e83988,
-0x8eb7cb1f, 0xf9b16b94, 0xbc9da004, 0x2fc5a874,
-0xea0e8edb, 0x1b88b6f4, 0x0b73ee39, 0x3edd93bd,
-0x0a467786, 0x89b8f572, 0x2854a82d, 0x8e05afc5,
-0x20524c75, 0x2e186a15, 0xbd5744c2, 0x6c34e840,
-0xb8c868b8, 0x2c6c50be, 0x2e0452f4, 0x5c1ebb64,
-0x0141b67e, 0xbab60dbf, 0xf130047b, 0xd178225e,
-0x44de1bdd, 0x687700dd, 0x423a49a8, 0x15fffffe,
-0xd4c362c6, 0xa180d988, 0x27badf7e, 0x6a30a090,
-0x804bac84, 0x75d8313d, 0x56c33042, 0x541a7f02,
-0xe1b61135, 0x0330e5ff, 0x568a2b75, 0x03fa8001,
-0x8d131776, 0x8b9b8346, 0xba68c4fd, 0xee1e37e8,
-0xb3c2851b, 0xff0be027, 0x22e90230, 0xaf5c12c1,
-0x576a580b, 0x156e837b, 0xcaab9b49, 0x75d284f6,
-0xfb351a7f, 0x55bb3608, 0x08c050ac, 0x0801841d,
-0x196465df, 0xb3810e2b, 0xfd308001, 0xa02361db,
-0x961a9789, 0xff6a9275, 0xdfd805c6, 0x7318ee85,
-0x006a1246, 0xfdd0e88e, 0xaa1c05e6, 0x560019b3,
-0xc1f0ccdb, 0x8ee9b656, 0x01c18202, 0xdfb1eadf,
-0x08954e74, 0xeb948f01, 0x5256ed89, 0xad1f6fe8,
-0xa1791d0e, 0xff9ca47a, 0xbd287c22, 0x86cf0ba3,
-0xc735c589, 0x32d84461, 0x891a483d, 0x54d7e0cb,
-0xec04e96c, 0xfbad8a6e, 0x88609d09, 0x108b0e66,
-0x5eb70310, 0x1409c218, 0xfedae78c, 0x48aa5edb,
-0x311a7a86, 0x99ec8ec9, 0x95bfc1da, 0x73d13830,
-0x3200b817, 0xed1839e8, 0xaf1616df, 0x1144dd41,
-0xf980f372, 0x08487405, 0x09b68380, 0x31d14817,
-0x0bad7607, 0xc9148db5, 0xf23db92a, 0x4b4535df,
-0x4cd2c047, 0x3c02416c, 0x63db763c, 0xb002ebb5,
-0x5051a13c, 0x5003c08d, 0x54309ad4, 0xd51c8091,
-0x16e81964, 0x10bf3cd4, 0x510dd503, 0xa8cf4388,
-0xafa3e916, 0xfe1d1f83, 0xc9fef7c8, 0xabd3fd80,
-0x7e803e05, 0xea86a301, 0x9d981e00, 0x008680f0,
-0x9a4f6b62, 0x1b724762, 0x150625c6, 0x1346fe58,
-0x9c3df6e9, 0x285347b6, 0xa39a16a3, 0x3a31493d,
-0xe8476915, 0xaf4b1c27, 0x3b1f24b6, 0x8323db93,
-0xfb3e4e1e, 0x5ae904eb, 0x93143bfc, 0xa4b8e400,
-0xead1a16e, 0xce6f803b, 0x060af009, 0xf80f2479,
-0x31fbd731, 0x46e0dc37, 0x8d7d2771, 0x0180027e,
-0x55c139f8, 0x76c7aa3f, 0x758e5d83, 0x042c241d,
-0x25781f80, 0xbab83034, 0xef6e7408, 0x4b731c77,
-0x7b472843, 0x6f2d40ca, 0x7552385f, 0xb6641b44,
-0x877c5147, 0x175d3b03, 0x5e7cb7c0, 0xfae9a572,
-0x44c0b61e, 0x0f7520dd, 0x570dec09, 0xe871e827,
-0xbbe90d4f, 0xd3e9340f, 0x3dfffffc, 0xc425e80b,
-0x1af9dd36, 0x8842bd15, 0xbe01e998, 0xf8838952,
-0x6181e99c, 0x8db76f64, 0xa2d1f041, 0x2f5c1e21,
-0xadc518c0, 0x74c9ed20, 0x75631326, 0x85813316,
-0x0ed03115, 0x2a5ff899, 0xf8b41176, 0x1ba81d3c,
-0x2c3baf1b, 0x04290674, 0x036ff77c, 0x75022a7f,
-0x1a38a1f4, 0x75044339, 0x1456c3ea, 0x0fab816e,
-0xb000f269, 0xc3edc549, 0x3e47f7ec, 0x2e1a73f1,
-0x81a0b96d, 0xb49fc558, 0xe3260756, 0x1a599819,
-0x7d7ff511, 0x9d16ba82, 0xbfac1422, 0xa0c3636e,
-0xc03104de, 0x1a7a06b9, 0x85db6874, 0x4053783c,
-0xaa7076d2, 0x48570990, 0xd9a2fa3b, 0xf0a3e44b,
-0xc108afbe, 0x945bddc4, 0xba7f6b48, 0x107e21ff,
-0x55a83a3d, 0xba6630fb, 0x00c58ef7, 0xa5805829,
-0x5306c0bc, 0x118ab587, 0xa1573fda, 0x85e2acb6,
-0xf9b14800, 0xf01ddfe8, 0x13fd2ac4, 0xc1011a87,
-0xf8f602ef, 0xea848f44, 0xba0f49ec, 0x43aa8570,
-0x6e72685a, 0x2b6c388c, 0x44671396, 0x4e275718,
-0x244a66b8, 0x09210547, 0x0656558f, 0x27194be8,
-0xd385df0f, 0xe91a996e, 0xa314f2eb, 0xcf82f57e,
-0x047316ba, 0x52f5d7f3, 0x056c4359, 0x5660d02b,
-0xbba0c5ed, 0x57b1386e, 0x81d7c25c, 0x680078ec,
-0xe06dba9c, 0x1608d403, 0x0492a8ac, 0xe16e20a2,
-0xa1fa1f7c, 0x1e210aa4, 0x47803408, 0x22a2d8cf,
-0x3723a616, 0x2d7eedca, 0x24a21ab6, 0x4740b90c,
-0xeb95dba7, 0xc279ef82, 0x3d04013c, 0xf8184d0c,
-0x96e8063e, 0x51d02ab6, 0xd1ed91f3, 0x6e010c96,
-0x7818ff10, 0x1554c107, 0x18050385, 0x03958378,
-0x0fa3f7d3, 0x0261b669, 0x2d2f2295, 0x0d0c9ae6,
-0x73ce8d06, 0x3232182b, 0x5416c1f2, 0x3887e068,
-0x4dfbf201, 0x800f1037, 0x680d6a52, 0xe917931c,
-0xcd006017, 0xff8dc632, 0xf4e010dc, 0xe814bec7,
-0x713df15c, 0xed9b70e9, 0x89ba2e1c, 0x284b5ff7,
-0x31cba13b, 0x8f50fe9c, 0x7d581f9a, 0x242cfbfb,
-0x436afb68, 0xe8ffb66a, 0xcafaf2dc, 0x7ea26bbd,
-0x246a28ff, 0x6a561ce8, 0xc91bd175, 0xb58ee8c7,
-0x6c4838f2, 0x687f04f8, 0x5728eb00, 0x0c4ece0c,
-0xc4ddee51, 0x09cf587b, 0x1adc8ca1, 0xd8225ee8,
-0x892fde0d, 0x2dc729df, 0xd615d47f, 0x638455ab,
-0x5a7f0424, 0x85ee8484, 0x13570c03, 0x6384e32b,
-0xfa2b1cf1, 0x71611d16, 0x420760d6, 0x0416e31d,
-0x9192643a, 0xcc3d162e, 0x64109bf0, 0x43b543e4,
-0x66c27316, 0x319e99a4, 0x409a4cdb, 0xebff8b38,
-0x13fb8309, 0xf9858f0f, 0x0c581455, 0x02c7e118,
-0xf69f5f18, 0x010ec612, 0x0750f5f0, 0x4a11ed49,
-0x43c2767c, 0x05e5b108, 0x2426a875, 0xde3f65b6,
-0xf939f685, 0x4ae4bd81, 0x7548423c, 0x6c348143,
-0x025d0f82, 0x38ec3d8c, 0x16b70513, 0x970a6d45,
-0x20641d8e, 0x4ced9df3, 0x9a941d1a, 0xbb08ece7,
-0x5d1ab323, 0x3b703102, 0x5d008316, 0xffe53374,
-0x27536fb3, 0x838d993e, 0x00831f1b, 0xb6050807,
-0x2e7768df, 0x470412d3, 0xd78ed23c, 0xc36cbfad,
-0xcf483944, 0x42c8daa1, 0x50ba8110, 0x77024c03,
-0xc64784fb, 0x155abd51, 0xa068495a, 0xbc0dc22f,
-0x41575a92, 0xad86a7a3, 0x03841af0, 0xbe681535,
-0x03418df0, 0x02756dd2, 0x0267682e, 0x6899fa78,
-0x7342c5bc, 0x0d3411ae, 0x0e6aa3eb, 0x8158f796,
-0xa91f30c1, 0x78048368, 0xff3bf840, 0x28e82835,
-0x6ce89ef0, 0xf24c21ee, 0xebb49448, 0x307b6a8a,
-0xd0533642, 0x1482e8d9, 0x303d82d7, 0x0068453e,
-0xc9146b77, 0xc1c8c23b, 0xfffe3cbc, 0xbddc68de,
-0xfd848d67, 0x00001184, 0xe81e3fa7, 0xd81e48e4,
-0xc7a4ef83, 0xedaa0fed, 0xe9a2be88, 0xb21f69e2,
-0xf809a804, 0x39ba09bb, 0xf738e38e, 0x01029be2,
-0xc211eeb7, 0x20e7e944, 0xc0310090, 0x182144d1,
-0x3867f292, 0x3aa9044b, 0xd1d2ccca, 0x548c04f1,
-0xf6fb040f, 0x1d102d02, 0x132703a3, 0x7f16aaa9,
-0xd3518be1, 0x5c418bf2, 0x2ce50e77, 0x771806e8,
-0xc1ad8665, 0x451d51de, 0x8b150c7f, 0x80835457,
-0x0c8dfc5b, 0xd5891c76, 0xf78dd889, 0x51a96df5,
-0x07df57db, 0x1119cf32, 0xba69ba97, 0x446c277c,
-0x9f396868, 0xfdd86478, 0x7877c442, 0x7277df03,
-0x4213548b, 0x5008b758, 0x68e28a21, 0x316b5e72,
-0x1977b788, 0xa35876d8, 0x9788d44d, 0x6110ae80,
-0x4703e41c, 0x6ac1536c, 0xfe10786b, 0x2ce2d913,
-0xc77bdb15, 0x22ff5378, 0x04ac3860, 0x44f43c14,
-0x33906c38, 0x608207fc, 0xc3299b90, 0x4ae9d619,
-0x00db6f60, 0x04e1a37c, 0x77034651, 0x20c0336c,
-0x4e481197, 0x46528879, 0x79f858fc, 0x7b5650ad,
-0x0fe0f281, 0x3109e0c5, 0x89da486c, 0x751721c7,
-0xed31879b, 0xbd3bd62e, 0x7860d168, 0xe200aa8d,
-0xeb0e2034, 0xe86d16c6, 0x1f75d829, 0xecd65c07,
-0x07b7a0bb, 0xd875c289, 0xf7de75eb, 0x20a11889,
-0x3f505420, 0x18954bee, 0x0341ed50, 0x104c40ff,
-0x6e2b187c, 0x30c12a36, 0x1c42928b, 0x0038005f,
-0x8948dcde, 0x82277842, 0x4257001b, 0x41db6774,
-0x688b6774, 0x68b57c3e, 0x7360b19b, 0xa22ee4c0,
-0x0aa77838, 0x3642856d, 0x84358fe0, 0x40dc2076,
-0x3f45038b, 0x86eebb71, 0x4cf3a753, 0x4819db31,
-0x6f394c31, 0xd3c7ff86, 0x06720fb9, 0xc1396f77,
-0x441a6b77, 0xabb87451, 0xa7403609, 0xd17ee281,
-0xaafa5ac7, 0x4428d06e, 0x18131ca9, 0xc41d6c70,
-0xb32c2655, 0xec3ecf78, 0x66602558, 0xc3f6ae9c,
-0xb59d4b74, 0xfebddf6b, 0x2b514674, 0x86502826,
-0x9dc2a74c, 0x5a582bdd, 0x2c8f0c53, 0xee1bec78,
-0x8b5c46fe, 0xc8296056, 0xda194876, 0xc8014c56,
-0xd7a5da11, 0xe93e0f04, 0x36b3ff6e, 0x47588250,
-0x525470fc, 0x40ba4a50, 0x6efdd0c7, 0x280fc7bd,
-0xcd880f0c, 0xb717c3a6, 0x849ff1e0, 0xb18d71dd,
-0x203dfbec, 0xba50415e, 0x3a3db8d4, 0x28712360,
-0x4124b3fe, 0x3e4d8f84, 0x686e831c, 0x0dda53b3,
-0xe20e1da0, 0xbd392ba3, 0x0a025120, 0xbb36c1b1,
-0xd5781639, 0x02964ca0, 0xda8aa7e8, 0xfca5287b,
-0xdd6e5a83, 0x9b6a9d05, 0xd374a3e9, 0x9e9ace01,
-0x11625fa7, 0x0afa53df, 0x0a3df007, 0x29f137db,
-0xdad719c6, 0x4655cf01, 0xd29c1702, 0xbddc8b50,
-0x2fc217be, 0x41a279c9, 0x6c93100a, 0x2a41614e,
-0xfd4bdce0, 0x4041b458, 0x2c5b284b, 0x44f59ac4,
-0x961bd8f7, 0x300040c5, 0x55165763, 0xd76274bf,
-0x31de98b0, 0x7c887ff8, 0xdcaf8946, 0x855d202c,
-0x7bb1bec0, 0x94c60222, 0x50047a83, 0x0fb1c03d,
-0x25502823, 0x309cdd02, 0x46ddc8ee, 0x3c2d02ae,
-0x1b84bd2b, 0x76e80206, 0x072d3cdb, 0x3a800d89,
-0xa4c5ac3e, 0x7b8de78b, 0x41387c74, 0x0f200aec,
-0x3f6b0740, 0x5202c3b8, 0x89980954, 0x9b18502d,
-0x49a97c55, 0x36bab62d, 0x296bc043, 0x5c7c20a3,
-0xfc5330c0, 0x3a1da3be, 0x2715d772, 0xfbb7e203,
-0x05b83589, 0xc232b4a3, 0xed83adfc, 0x57be26f8,
-0x57206142, 0x4efc52c3, 0x41e8e11a, 0x481834dc,
-0x5484ab20, 0x19ad8ff6, 0x12c5987e, 0x00000bc7,
-0xf43c2141, 0x844a1c60, 0x9061e423, 0x7d0e91ea,
-0x8e061a42, 0xe7272470, 0xe54802db, 0x1d8376fe,
-0x71e952a4, 0xeb66e3db, 0xe82cd197, 0x8df909f9,
-0x108631b8, 0x842b66d0, 0x0ad871e3, 0xdb241e5a,
-0xdd1074dc, 0x7a80890d, 0xbefe4e1b, 0xaef17df7,
-0x72071111, 0x41d1e915, 0x87dfbb7c, 0x2b7838dd,
-0xfb813b43, 0x118779fe, 0x66c3f634, 0x07eeb7f4,
-0x2ba4df75, 0x57530eab, 0x5223d9e8, 0x8986bb18,
-0xb910cd8a, 0xe055ec24, 0x8d34f05f, 0xfdf8fd46,
-0xaddcb877, 0x1d56fa23, 0x10edc124, 0xba040899,
-0xec110a8d, 0x8d2b087b, 0x7954da0b, 0x18ba2d44,
-0xa805c1b7, 0xfa68bf15, 0xb678a030, 0x042c0c13,
-0x230a2706, 0x177384ed, 0x345c02a0, 0x051acf01,
-0xe9722468, 0x7f62cf04, 0x4274d2c4, 0x35731440,
-0xdf64ece0, 0x08e9c16e, 0x73280beb, 0xee753f21,
-0x8758235d, 0x3943dbed, 0x1ee175d5, 0x02b06105,
-0x21df4998, 0x1e2f014b, 0x5a303f4d, 0xe2980bba,
-0x2d428819, 0x066602c3, 0x7ba91d0a, 0x04428ddc,
-0x45060727, 0xf6dc306a, 0xc7c5d91a, 0xc9693023,
-0xee93c40a, 0x42b21758, 0x146ae814, 0x61d5a71f,
-0x643c9a01, 0xfb52be05, 0x24d6f04d, 0xeb0c2418,
-0x24fe8608, 0x56552e7f, 0xe089ff29, 0x45287da4,
-0x74fce283, 0xe1cda8e1, 0x7401ee4e, 0x268622dd,
-0xb0383579, 0x1050f0d0, 0x174fd27e, 0xd4873d42,
-0x612ddd02, 0x1a045019, 0x43424d55, 0x8a47236c,
-0xdd6a172c, 0x688446f5, 0xc418c30b, 0xdb5b547c,
-0xf758d488, 0x3bdbbc1a, 0xedafd76b, 0xd0b5e9fd,
-0x58456110, 0xb708ad0a, 0x1a700319, 0x1adf2ddd,
-0x0f0d837b, 0xf6e8def8, 0x5d544721, 0x74a68a7b,
-0x6dc6f842, 0xbc571903, 0xfb008af1, 0xbee9474f,
-0x468295b4, 0x18e44241, 0x52a3601a, 0x805b56db,
-0x7457c272, 0x410adfdf, 0x4c0e0c39, 0xc3ca44f7,
-0xe7ab7516, 0x44aece04, 0xb7b6d0d9, 0xce443970,
-0xd277e08d, 0xb1ae3c1c, 0xc8da76f0, 0x0816ae04,
-0xc8b62fd8, 0x3e39886d, 0xfd093b84, 0x6dec3e14,
-0x2fb5630d, 0xeb042f54, 0x4b090ed2, 0x3c15a7e1,
-0x01214705, 0x704901f0, 0x5e094053, 0xae06f58c,
-0xf9a6145e, 0x4329114a, 0x1b55de95, 0xca6f140e,
-0xd0398605, 0x4d9b1874, 0x26368b98, 0x8a4350ac,
-0x05ad901c, 0x20dd0d18, 0x6e08441a, 0x761f052d,
-0xd88273b8, 0xf821c264, 0x87178b1a, 0x6a8d3627,
-0xf9ac0849, 0x5350b05a, 0x824629b8, 0xc2e8a564,
-0xf6f48bee, 0x891af4c2, 0x6730a6a3, 0x1dd1fca6,
-0x034421dc, 0x3124a8d0, 0x013f0643, 0x075b1d7f,
-0xdaebf023, 0x04538d76, 0xb01905cb, 0x1a334e52,
-0x6717c15c, 0x2d560baf, 0x4614d0ac, 0x18b002f5,
-0x2de86100, 0x34d6f907, 0x9da40d97, 0xc756745c,
-0x0326ad60, 0x321419e4, 0x0c709361, 0xb72c0c17,
-0x68784aee, 0xf62d5634, 0x45e35463, 0x9913df6c,
-0xa341bee1, 0x980d9768, 0xc35ed021, 0xce40d082,
-0x0642f012, 0x62ebc0cc, 0x503b970a, 0x3145fcd6,
-0x1018f281, 0xeae60875, 0x2d7e0182, 0x05299c09,
-0x340326d7, 0x7e3c190c, 0x7f8026d2, 0x858b84e0,
-0x346a5508, 0xc064c77d, 0x083c0a29, 0x2fbe3f3c,
-0xdaad011d, 0x235b7623, 0xd80e88fa, 0x57137452,
-0xdb2e50e9, 0xdb70091e, 0xef3c0743, 0xec0f1d31,
-0x247bfb01, 0x08693e74, 0x4e2a5540, 0x042bafe8,
-0xc6d2b6cf, 0x775f0828, 0x2cc408a9, 0x338a2709,
-0xb1001ea6, 0xac8bee3d, 0x53d78e02, 0x84c39dbb,
-0xf89682c7, 0x731a1e6a, 0xc7596d67, 0x6c54e885,
-0x5fc38337, 0x57021d10, 0xe272e325, 0xdc85526a,
-0x689abfab, 0x29ff8c0e, 0x1eda1434, 0xff921481,
-0x4fa35e8d, 0xa0155c3f, 0x1574915b, 0xc1171a43,
-0xc2e99637, 0x46c7131f, 0xa0fae70c, 0x1113c09d,
-0x73651ac7, 0x5c0bbbb0, 0x3810466c, 0x483e3874,
-0x041bcf75, 0x729f1885, 0x405b5ae4, 0x16d8b3aa,
-0x4663f87b, 0xdb4d2224, 0x97076178, 0x05f0147e,
-0x135646ff, 0xbee100bb, 0x912172e5, 0xe0092fb0,
-0x023abe8d, 0xcb8b5859, 0x21560c70, 0x070563a1,
-0xea701775, 0x41eaa8d5, 0x37501734, 0x4112da62,
-0x527ec76b, 0xc26a892b, 0x76d688a5, 0x18bbd40d,
-0xe7922e1b, 0x18045015, 0x21636e26, 0x042689fc,
-0xc9ab1c1b, 0x0b2dd54a, 0x8f20071c, 0x7d8ce262,
-0xdf06d6d1, 0xce784d20, 0xc3023e03, 0x6601bcce,
-0x67048c3f, 0x09eb98db, 0x060c7e06, 0xcbe40884,
-0x44ae6d97, 0x5340e0ce, 0xea0e3fdf, 0xeb0a2724,
-0x49735694, 0x76ffd5b8, 0x371df7ae, 0x12422e33,
-0x7577160e, 0x68076988, 0x200326c1, 0x508b0623,
-0x439d139a, 0x4e4b8a43, 0xe91c669d, 0xa74a4b30,
-0x28137705, 0xe8510e84, 0xa84d5b04, 0xa3f35259,
-0xe0dff18a, 0xee8416d4, 0x1b74c784, 0x7425fa80,
-0xc006bb2f, 0xffed9914, 0x6b178829, 0x47df83c7,
-0xe5752046, 0xc60339a7, 0x06d13a43, 0xa0282540,
-0xb170ab1b, 0xf6a91ff6, 0x58a3583d, 0x0b432e61,
-0x62d815bc, 0x85731c01, 0x41bd2308, 0x30f5e800,
-0x11bcb94e, 0x19b9edcf, 0x086c0112, 0xdb6800b8,
-0x010af5be, 0x20c8f477, 0xb20c783c, 0x6465cf15,
-0xfa08641b, 0x2101bd40, 0x2c8cba47, 0x017763f9,
-0xe88830da, 0x3c43542f, 0x3930b345, 0x45830feb,
-0x0462b800, 0xb3f2280e, 0xa6dffa8f, 0x0788038a,
-0xe4eb4743, 0x83dd848b, 0xda26d806, 0x18188106,
-0x2e16843c, 0x0dccc0f0, 0x902c4f46, 0x6c576ebe,
-0x4ee81e6f, 0x30461dd3, 0x8608fef0, 0xda6b954c,
-0xe64d87a7, 0xc60a0a96, 0xb112042f, 0x1ef64602,
-0x64494e85, 0x65a00fa8, 0xaff9eb35, 0xec1b8225,
-0x84ebc980, 0x4149d3d8, 0x0ff1dffc, 0x3839808a,
-0x4588d009, 0xe9834500, 0x76e87904, 0xe5ee0e84,
-0xdef52750, 0x440850fe, 0xedf256a8, 0xab400dbf,
-0xeb89bfd2, 0x4ab9990d, 0x0abb176e, 0x38f9f71e,
-0xe6038a1c, 0x1605db00, 0x67f25514, 0x5ff70066,
-0x1e0c3a30, 0x2e0c8904, 0x6f5536c1, 0x0502fac0,
-0x02c22945, 0x6c37be75, 0xbd478d4b, 0x2a0aef0b,
-0xb60b8802, 0x4aff7343, 0x77da3943, 0x7dace9f1,
-0x58df5edb, 0x0a351d6b, 0x5430649b, 0x2d8b2604,
-0x37e9317b, 0x459b1ee8, 0xee231406, 0x73e9301e,
-0x63b03069, 0x0e3f85c1, 0x8fe995d2, 0xa980c1cb,
-0xc86a2c86, 0x1a0d86ba, 0x1e76d878, 0x4ab10341,
-0xedd67f16, 0x39e855e2, 0x3ac50169, 0xe2771d43,
-0xd419e94d, 0x44600ab7, 0x390653ff, 0xae91d9d3,
-0xde73aafd, 0x4e3f7351, 0xda79fcf9, 0x43b60e5a,
-0x3dbf503b, 0x776bfbdb, 0x45af3d86, 0xcdf45cf7,
-0xaabfe92d, 0x0e5c83b1, 0xb7d16303, 0x9c1314fd,
-0x4e450470, 0x16acf17b, 0x1ec5a12a, 0x50d890c3,
-0x1858018d, 0x52db85ba, 0xb808cfe1, 0x8a307414,
-0x6d32b907, 0x84d2d2f1, 0x74342628, 0x1b5f3822,
-0x0ba5e26f, 0x36c188d2, 0xe720488d, 0xd188c888,
-0x776fd10a, 0x38204a0b, 0x0375ca08, 0xe817754b,
-0x430d6d05, 0x7a15d202, 0x5eba27e1, 0xcb891508,
-0x4201808a, 0x88244541, 0x81f62ead, 0x4f09f452,
-0x89b94c1b, 0x8bb64ade, 0x74c2b7ba, 0x41034ea6,
-0x66f02343, 0x9d34d577, 0xd34c543d, 0x4204eb94,
-0x76eec06c, 0x24fa7505, 0x48424102, 0x43f6ce4c,
-0xc93746c1, 0x1b74d63f, 0x2cdfa52c, 0x74430307,
-0xf3754906, 0x5dda34c6, 0x955760b0, 0x1a2ac34a,
-0x15f4161e, 0xf0993a02, 0x0efdc2d3, 0x20da51b5,
-0xa8ef05eb, 0x025ed8a9, 0xd738108a, 0xa05728f5,
-0xa92db300, 0xbac1b05c, 0xa01ff144, 0xf7aef2df,
-0x38d849d1, 0x836d1510, 0x3b4827da, 0xab9d19f7,
-0xb8ab1cf8, 0x89d6384a, 0xe9501bbe, 0x111174c8,
-0xe4404a17, 0xdf868a05, 0xf4758002, 0x6ec3c829,
-0x6ed03a56, 0x31a2ba06, 0x60cf7cff, 0x752169a8,
-0x8e03f116, 0x2f6c3510, 0x74f18974, 0x106e161a,
-0xabb58d7f, 0x5bf5ae38, 0x74bbc39d, 0xcd3843f3,
-0x47356dde, 0xe9ebd5b1, 0x64f39556, 0xaf46c2e4,
-0x140d4323, 0x1bf02744, 0xe3752643, 0x30a35a73,
-0x8981384c, 0xbbaa79f0, 0x8130a025, 0xc301d864,
-0xba82ff59, 0x74584c17, 0x169b0f3c, 0x09745a5e,
-0x74117ea9, 0xa3e574b9, 0x552fa7f4, 0x8b3d58ef,
-0xdb540a1d, 0xbf7ef174, 0x282b7597, 0x64c4753b,
-0x001f05c7, 0x410b6200, 0x1ef21280, 0xb6c7672c,
-0x2f10bb0f, 0x595a5b3f, 0x447e8956, 0x5306b178,
-0xeba4f690, 0x8f0a9e06, 0x4301c21b, 0xe2362041,
-0x462c9d5b, 0x203520ca, 0x61855b08, 0xa46a986c,
-0x8265f685, 0x1b6d742b, 0x13020192, 0x4eecd018,
-0x7b170c61, 0x69ef754e, 0xb10c371a, 0xf6c2b636,
-0x02210b74, 0x2c428cc4, 0x06209ff5, 0x318e27d1,
-0xd0885c8b, 0x4e4e7854, 0x60f21815, 0xf502dfb4,
-0x74da89cd, 0xa8031227, 0x89fc4edb, 0x5514ebce,
-0x307ed490, 0x7ade944e, 0x71951761, 0x4fe87dee,
-0x008360b1, 0x7808daf9, 0xefbdbf4b, 0x58f98349,
-0x8d9fb30c, 0x428aff50, 0xa39e3821, 0x0a7e6df8,
-0xc2f27518, 0x1158c484, 0xb8b2f30f, 0x53803e36,
-0xf27753d0, 0x654b110d, 0x10b84080, 0x48822fa2,
-0x42d07989, 0xc81b8206, 0xfddf3d80, 0x8a5f88c3,
-0xe03d83f7, 0x01c84c08, 0x2a92b4a3, 0xe34500fe,
-0xffd2088b, 0x63b23dff, 0xb25c37c3, 0x05c74601,
-0xea07b21d, 0x82c79032, 0x88f10977, 0xaa004182,
-0x1aee2812, 0x12e84f54, 0x4b245bd2, 0x297c4456,
-0x788ac455, 0x45fa7ca8, 0xfe5d7064, 0x7c167457,
-0x3f0b608b, 0x1176c42c, 0xd8e013e8, 0x2138368a,
-0x07111dc3, 0xdb042f7b, 0x1085e89e, 0xab41e8ac,
-0xe56f170a, 0xe6eb7e88, 0xdbaa91e8, 0xc8eb010a,
-0x105820b7, 0x016a6cce, 0x447f0108, 0x92c4bf6f,
-0x556d4149, 0x0f75fb3c, 0x60126a0a, 0xb0a79e0a,
-0xdd63e401, 0xc2c287f0, 0xc1661639, 0xc5c508ea,
-0x15464075, 0xe89b51ac, 0x888c9c91, 0xf9b592d9,
-0xd8dee889, 0x909b5822, 0x1a53681b, 0x155e8c88,
-0xf860972d, 0xbeefbfa2, 0x35de1538, 0x0538b875,
-0xebb007dd, 0x5d4108df, 0x0693e630, 0x6f157bb1,
-0x360c753b, 0x0ba28c03, 0xa7d14921, 0x14c03100,
-0x056db047, 0x2dfed8b6, 0x112daa5b, 0x7c89902c,
-0x6361ec21, 0x741c5fd7, 0x6d853ee3, 0x6c3db081,
-0xb06c0f4f, 0x4a6dc548, 0x6832cffa, 0x2f254843,
-0x69f6fdd4, 0x7c99b648, 0xef30a36b, 0xf006b707,
-0x47b70f03, 0x5706f50a, 0x68a0c608, 0x2957f850,
-0x2a961774, 0x74bf7973, 0x056c2b12, 0x03446122,
-0xeffedf68, 0x02512b76, 0x10348d32, 0x7f80de29,
-0xf5890103, 0x34ba0911, 0x74980088, 0x4e10a91d,
-0xc04c2806, 0xda1fa4d6, 0xaa386ac8, 0x7e13691b,
-0xd1c51638, 0x29817d30, 0x8035b8a9, 0x97604831,
-0x553a4762, 0xcec25e51, 0x07bb43ed, 0xb83407c6,
-0xdeeb1f06, 0x4e8dc43e, 0xe71c73c4, 0x9b83f289,
-0x6ea94b88, 0x0ee9890e, 0x308187eb, 0x003416e9,
-0x4f5c4103, 0xb2e10250, 0x02ff21fc, 0x102d3ec3,
-0xf8e2fcde, 0x8d0124fa, 0x3a0a8430, 0xae400344,
-0x62b125b0, 0x01c8894f, 0x2908a1bc, 0x2d9b9578,
-0x0b0c1995, 0x06e82f41, 0x87dc37b1, 0xa23d0843,
-0x0a857336, 0x8f85895c, 0x5b1b2e59, 0x0c894dde,
-0xdd391c13, 0xa1b4f876, 0x008b86f8, 0x3a2c461c,
-0xc206c82e, 0x01304063, 0x71a4ec00, 0x0e5916c0,
-0x58fb8cc2, 0xef9038ca, 0x4982cd77, 0x57205d78,
-0x092ca142, 0xff787adb, 0x1f69fd15, 0xedb6b702,
-0x260f705d, 0xdde3c8a1, 0x56ca0903, 0x054f5e2b,
-0x482fa1a1, 0xd8c28558, 0x37880a07, 0x52ba424c,
-0xdd5487bf, 0x3d08e21c, 0x78aa0b2a, 0x0942dae8,
-0x0d140a76, 0xf142eeb6, 0x9beb3b72, 0x030a0358,
-0x011ba6bd, 0x08030728, 0xbe222409, 0xbba602a2,
-0x9e439157, 0x85bce01d, 0x54770bfa, 0xbbfb12b4,
-0x54680809, 0xa2138037, 0xdaa7418c, 0x2c547b8d,
-0x3f1ab7c0, 0x98968012, 0x50e01683, 0x976f882d,
-0x22f44620, 0xd8d70466, 0x04143aab, 0xe30ae3a0,
-0xa503f060, 0x76164774, 0x1180bb3e, 0x0c4f5a19,
-0x045b7543, 0x0ea069a0, 0x35d70f03, 0x752bbc05,
-0x4908257e, 0x8b1c0216, 0x03e13819, 0xef596f6c,
-0x3c50a408, 0xf0eb1f83, 0x5add7548, 0x8c18cb6d,
-0x22d587b1, 0x1f024e01, 0x59dc8859, 0xa752c5b1,
-0xb0f67b25, 0x313b0e41, 0xeb653a75, 0x046324d0,
-0x18223b0f, 0xeae6ca74, 0x05bb0582, 0x76247652,
-0x5e33b38f, 0x26c1b2d0, 0x36303150, 0xb7ebde8a,
-0xf204151e, 0x5877b533, 0xd9dd0608, 0x8d041073,
-0xff19c230, 0x20b10513, 0x59fec171, 0x0f12f752,
-0x41080d91, 0xbc160c86, 0xe78a8f0a, 0x885508eb,
-0xfb8d5488, 0xffbe1d13, 0x7f547423, 0x08003d45,
-0x0b7c4420, 0x8d2ff087, 0xf717e856, 0xe9589518,
-0x047384b0, 0xde131f85, 0x9e305f8a, 0xe0ca9636,
-0xbbcce9d6, 0xa7265fbb, 0x24bb7598, 0x05b9eb03,
-0xc607eb02, 0x79b38301, 0x04e3f85e, 0x02018fba,
-0x2e305575, 0xc9a4183c, 0x2e2f181a, 0xa024120d,
-0x57c6d746, 0x48136e8b, 0x77001156, 0xcc0844eb,
-0x9be08a83, 0xb87da237, 0x66260d0c, 0x75088f20,
-0xa28462b1, 0xdc02b444, 0xeb6c3991, 0xd7575018,
-0x154254d1, 0x43be00ec, 0x053ba9eb, 0x57b074eb,
-0x1291efc5, 0xeb18a302, 0x3da00597, 0x7041b2e4,
-0x4c6dbe74, 0xac5d8a00, 0x0e718966, 0x3f54d63d,
-0x7854666b, 0x8912184f, 0x0c3e9490, 0x1c600636,
-0xffb4980e, 0x50761174, 0x05a50fc1, 0xd6d6c79c,
-0xf58ad606, 0x5f8aea2e, 0x89003b20, 0x1bf72107,
-0x5ea02d24, 0xf32ca6c8, 0xf601b0f6, 0x2b7427b0,
-0xa6ba811c, 0x68d71f74, 0x08786d87, 0xd0979e50,
-0x752e3833, 0x1c4fbc55, 0x9c828dca, 0xd9c582af,
-0xe4c7e8af, 0x0c099882, 0x47087ecd, 0x90825113,
-0x4c2a0000, 0xbadf6206, 0x5e0e6ca3, 0x06539cdd,
-0x4b12cde3, 0x41bb8556, 0xed515216, 0x96c0e1d0,
-0xeef4f20a, 0x2778fc18, 0x53561d00, 0xfb509a9d,
-0x200f56f7, 0xb28b2eb0, 0x3e048d7a, 0xd518793b,
-0x7315100f, 0x8dc65128, 0x04ed9366, 0x3b504a33,
-0x250068bb, 0xe3632d7a, 0xa8dababc, 0xc8d1c132,
-0x621f5853, 0xd7498e50, 0x392cadf5, 0x5bbb0a1a,
-0x4551e355, 0xf1158f23, 0xfb53025e, 0x2fba88b0,
-0x868b5873, 0x8b5a1486, 0x422c7843, 0x968becc1,
-0x1841f482, 0xffd20984, 0xae8c0894, 0xf968c01a,
-0x2bd3e751, 0x3ba658b5, 0x08016a0e, 0xc522126d,
-0x9e5bde08, 0x6058cbe3, 0x04f53df0, 0xde82cd5b,
-0x756a00b2, 0x69906d50, 0x911e7c80, 0xa46b38d2,
-0xc7197f87, 0x01fd0026, 0x90163236, 0x898b3ca0,
-0x421d8123, 0xf4a06e28, 0x1fd8479c, 0x05748d29,
-0x013960a3, 0x42446639, 0x19f7205a, 0x2559201a,
-0x78bc8b07, 0x3b016ad7, 0x3b0b5afb, 0x516a1047,
-0x98138b04, 0xda8065aa, 0x12bed6b9, 0x256a6f4b,
-0x39f62ed2, 0x87e275d0, 0xeb342a0c, 0x018b3017,
-0x077062de, 0x8ddec7b6, 0x1018f870, 0xaf0a2b41,
-0x960f1c77, 0x73f0390e, 0x8e8e7e4e, 0x533cd66e,
-0x10ab1214, 0xa178c3a7, 0x51498568, 0x4da35208,
-0xf7d45d15, 0x377367f1, 0xb11207be, 0xff302c08,
-0xc8aa13f3, 0x0711d961, 0xec5aa961, 0xded08908,
-0x8f6aec0d, 0x707608b0, 0xab3276f4, 0x8ec1bbc8,
-0xd993558d, 0x2dd230fe, 0x460a811a, 0x517c1d6e,
-0x6789ee92, 0xba2b6014, 0x779e8905, 0xd3bf01b0,
-0x6d150a5f, 0xe7d18940, 0xbf005d2b, 0x0e0ebb2d,
-0x698d0c77, 0x61819d1c, 0xfd83fdd4, 0x7ec68973,
-0x7e063219, 0x7a3e8e74, 0xce1215bb, 0x6857f365,
-0x97e9d837, 0x83738bef, 0x7286a2c0, 0xf0ff396c,
-0xba5501fb, 0x8a11512d, 0x3e8b7791, 0x343803cc,
-0x4eed1e23, 0x551fa310, 0x74c0316e, 0x01e92d11,
-0x51bb6410, 0xefb4a264, 0xbfa724d7, 0x3d3b6909,
-0x960075db, 0x11ed0059, 0xfb59910f, 0x0ef02a7c,
-0x8ba08476, 0xf6f234cb, 0xd03e9e8d, 0xa8f53d3c,
-0xc6fe5e07, 0xa362ec86, 0x470212fa, 0xc606a501,
-0xc8934408, 0xa3057055, 0x80cd62da, 0xc8f2313a,
-0xa1100783, 0x74a1146a, 0x1e046018, 0xac86ab12,
-0x58ac0c7d, 0x0cc6afb7, 0x08002c4d, 0x2391dc04,
-0xeffc1c5b, 0x660068ef, 0x2876e798, 0x017c18b0,
-0x5122a8d6, 0x9c08041d, 0x5fb7505e, 0x04ec0a44,
-0x57113f74, 0xa6525806, 0xd2c6a680, 0xaff1cbd0,
-0x816184fb, 0xb941ecfa, 0x89027304, 0xadd497d1,
-0x9342bf14, 0x415bbaef, 0x5e81de3b, 0x75e23ef4,
-0x1b5056bc, 0xa764a758, 0x388a7736, 0x22c9da89,
-0x1603046d, 0xeb49dd18, 0x875eacc6, 0xa9866023,
-0xf10be4a4, 0x254054ac, 0x6d8fe840, 0xe1bbb7e8,
-0x76a433d8, 0xe831b7e8, 0xc911bd76, 0x9afb049d,
-0x8fcf66cd, 0xbed6a56f, 0x2a080965, 0xba2841d3,
-0x4ec00fe8, 0x0146d329, 0xdcb836dc, 0xc0d029b0,
-0x2f589865, 0xd42763a1, 0xf0741ef0, 0x883236c8,
-0x9111ff16, 0x9c022ce0, 0xd85bdd10, 0x60c0c581,
-0x291416c8, 0x3ac0c149, 0x86f43f14, 0xf6a1629b,
-0x840f3a12, 0xf4570b0b, 0x417fdb6c, 0xd70a080e,
-0xd48b6d78, 0xafa0d01d, 0x5201368f, 0xe0ab160e,
-0x0f3f036e, 0x4ddef58e, 0xa1bb3552, 0xd3e852f3,
-0x56be80b9, 0xf8562dc1, 0x7a406430, 0xd96c645d,
-0x4072200a, 0x469c6553, 0xa0151f63, 0x3b150ede,
-0xd84c4db6, 0xb003495c, 0x0d18b4eb, 0xdb103b65,
-0x5b361727, 0xb6fd0a0e, 0x3678b191, 0x100e0bcb,
-0x040cf8c6, 0x3fb2138a, 0xf3f2d21c, 0xdb73191b,
-0x42d0711b, 0xdf0e32ab, 0x0f6c646d, 0x0e339942,
-0x700802ba, 0x6e40f30a, 0x6b00d942, 0xd839acfc,
-0x8912810c, 0xb6551bf3, 0x0f6db191, 0x30464b37,
-0x8c600e10, 0x46c65a45, 0x304d9211, 0x936efb49,
-0x050e5ad0, 0x3301f324, 0x1ecb89d6, 0x84e611bb,
-0x75073319, 0x6e8a6362, 0xf093cd9d, 0x84b6feb7,
-0x65bb53d6, 0x0a7b64eb, 0x3d2b5d76, 0xd236ef4d,
-0x34756cbc, 0x89fd572d, 0xdb632222, 0x5d82d8c8,
-0x050e23d3, 0x1ec3255d, 0x44f066a4, 0x8f000302,
-0x64dfb03d, 0x44724e44, 0xf941e9fe, 0xd63d9772,
-0x73573112, 0xe917c475, 0x1d65ee45, 0xad9d0c27,
-0x2eee1516, 0xb09a6ec0, 0x9a234102, 0x12fdefe9,
-0xf3551c10, 0xe6dcf306, 0xdec9cfa4, 0xe95a2141,
-0xaa10fedd, 0xac27ccf0, 0xf147613b, 0x47a734f8,
-0x2361f623, 0x94127597, 0x36957b47, 0x37d84ee9,
-0x36709176, 0x5d12f4dd, 0x09cd2137, 0x5b4afabe,
-0x4e6909f9, 0xa81237d8, 0x776424f2, 0xf00fcd61,
-0x12ed2511, 0xb09bfcfe, 0xe992245d, 0x974b12eb,
-0xf65cf65c, 0xfbbbfcd8, 0xd8ccccd9, 0x03236137,
-0x34445ac8, 0x139a47a3, 0x80b44df6, 0xf8f61290,
-0xdf21307d, 0xefbf5acb, 0x97317e49, 0x3af6137d,
-0x12b93659, 0x90f83646, 0xfa9d1430, 0x6850ab5a,
-0xebe01c85, 0xea21b61c, 0xc6b80641, 0xba87268c,
-0x092dde00, 0x43e5831d, 0xc112f800, 0xfb9ce823,
-0x6ada8381, 0xc96fb78b, 0xb3d89746, 0x719056e8,
-0x8bd3bdeb, 0xb344de8f, 0x08e3c11c, 0xd6c20bb3,
-0x35f5dc44, 0x08b8b348, 0x2d870fb1, 0xff72df54,
-0xfad6ff0e, 0x094de8fc, 0x88e43044, 0xec160e0a,
-0xc4b62d1b, 0x383cc35f, 0x3e434c8a, 0x3c43d603,
-0x0286eb0b, 0x1090585b, 0x726d773a, 0x3a09ef92,
-0xb186d5b0, 0x605c85df, 0x3d0c8b78, 0xc82c0072,
-0x16789724, 0x0aef9264, 0x775c373a, 0x0177e43b,
-0x85fa3c0d, 0x2189771f, 0xd5700b15, 0x5e0b5417,
-0x15fb1f2d, 0x8e02ad5b, 0x1db633b0, 0x6b205ea2,
-0x80480e02, 0x5a8d837e, 0x29f3a80f, 0xfad839f0,
-0xf754519f, 0x811a7212, 0x32335f3b, 0x7d9bbd5f,
-0xf9b04cd8, 0x232510c3, 0x358be673, 0xeaae802e,
-0x9a0d5b25, 0xff64ddb6, 0x5024b8db, 0x70e84943,
-0x89099589, 0xdbd085d6, 0x9725edbe, 0x6f33348d,
-0x2fc02504, 0xabd6b789, 0x99931110, 0xac9d989f,
-0x32c2b1d4, 0xa1bc8562, 0xfe02e110, 0x703abd83,
-0x0c15542f, 0x4857fa81, 0x93dda808, 0x90205322,
-0x0be4ccf0, 0x34a4ec10, 0x2058a948, 0xc1561ee0,
-0xe9fd8c5e, 0xfaa920ab, 0x091f42c5, 0x8c438451,
-0xc156ff6f, 0x107dc24c, 0x42130c02, 0x84f87c07,
-0xb501350a, 0x8a4d92c9, 0xeaabd800, 0x8189d30a,
-0x027dddd1, 0x271218ba, 0x00433d04, 0xb9102177,
-0xa3f7d7a5, 0xd2fee719, 0x70661a51, 0xd6684463,
-0x1237c984, 0x3596542a, 0x91dfea6b, 0x95d3751d,
-0x80c21f15, 0xdfb94374, 0x528c9787, 0x68316850,
-0xe3fc3884, 0x7c0038a1, 0xf4d9c000, 0x23b7cc08,
-0x19ac680e, 0x27bf88e2, 0xe9ac8944, 0xebf08479,
-0x3726e2a0, 0xf4402be6, 0x61e45326, 0x7ff75188,
-0x83fd7b29, 0xd08801ca, 0xb0b261e6, 0xf11a4305,
-0xe67c4362, 0xdad9df42, 0x08df735c, 0xd6e9c3c3,
-0x105e29d9, 0xc454fd05, 0x8ddf6da8, 0xb682d504,
-0xd08f457d, 0xac028208, 0xc9adb82d, 0x033b0880,
-0x7a150410, 0xad0218a9, 0x864b83ba, 0x008eefb3,
-0x538907d8, 0x0002b0e9, 0xd9c83d00, 0x37d2b17f,
-0x4dd3ba3a, 0x06241062, 0xcd51083a, 0xbf10578b,
-0xc7442360, 0x03c46182, 0x06bf0add, 0x68ee11f8,
-0x1b058c78, 0xd54bb007, 0x0e1fdb33, 0x45226409,
-0xba642a68, 0x6a08e008, 0x57003979, 0x7c0739a8,
-0x542ba462, 0x74040939, 0x190f8ac5, 0xe57845b4,
-0x284514d4, 0x4ca7579a, 0xfddbb636, 0xa3219468,
-0x40886684, 0x75f2128c, 0x06099093, 0x1db13740,
-0x68fe84f0, 0xa01db3b0, 0x6eb8513d, 0x09a8a492,
-0x0c11dc8c, 0x9a2dac54, 0xa8edffff, 0x160c1afa,
-0xbc680368, 0x4fb036df, 0x54e4e29b, 0x48482e04,
-0xaa30761d, 0x2e4c6b2e, 0x2a5b5052, 0x0209d7d8,
-0x7131b048, 0x9d98317c, 0x606ce464, 0xf3ae2e64,
-0x1e675f20, 0x7e310309, 0x48826807, 0x80c8c937,
-0x07097874, 0xcd7d82a4, 0x4c31017c, 0x649bbbac,
-0x342490ac, 0xc1098c88, 0x80a13906, 0x66172e1f,
-0xd15725bf, 0x8ce26801, 0x2f14312f, 0x21d5461e,
-0x2f1cbc18, 0x13c72b61, 0xc0e5e85b, 0x87ce68b5,
-0x68e1d6c1, 0x18b0a2e1, 0x1072b575, 0x7be01284,
-0x6bd920e5, 0xa3ca1cea, 0xf8090e10, 0x20968b1b,
-0x8021e803, 0x075f5d12, 0x27e9903f, 0x0481be88,
-0x6e90f0ee, 0x5e18a380, 0x891afbcc, 0x88f46ba8,
-0x607a4b91, 0x2e95d880, 0x4b6eab96, 0x050f4475,
-0xf2573ec3, 0x88805bb7, 0x208a0f4a, 0xb70ee8e8,
-0x903a87b2, 0x000023f2, 0x6dd95ffb, 0x33224d57,
-0x866c0349, 0x7445e41e, 0xd8c813f8, 0x0000ff68,
-0x2b030135, 0xc0d04706, 0x617107fe, 0xadde0011,
-0xff03efbe, 0xe3fc4bff, 0x8701035e, 0x5850203c,
-0x696c4345, 0x3a746e65, 0x68637241, 0xeeb7613a,
-0x3a0030bf, 0x49444e55, 0x3102320a, 0x82585f00,
-0x02394fb0, 0x5f5bdc05, 0x36362caa, 0x0532bd36,
-0xfffd916b, 0x510e37f6, 0x3c112b0c, 0x83828180,
-0x87868584, 0x00670000, 0x017f6db0, 0xffff0d73,
-0xaf726484, 0x41544146, 0x4e203a4c, 0x6572206f,
-0x6ebb6c61, 0x6d2dffe9, 0x2065646f, 0x63617473,
-0x5021906b, 0x564e0300, 0xff736573, 0x6143002b,
-0x746f6e6e, 0x14762023, 0x7fd6fd24, 0x6e25213b,
-0x64006369, 0xa26b7369, 0x70706f6c, 0xfdbfed79,
-0x277230b6, 0x6c6f636f, 0x48445473, 0x54205043,
-0xd9045446, 0x266ff12e, 0x384c5452, 0x51393331,
-0x32076c74, 0x05b6ffdb, 0x663b620f, 0x38333565,
-0x636d7300, 0xed633116, 0x2d31ec36, 0x65180931,
-0x6133626c, 0xedb177ed, 0x55746464, 0x362e0b6e,
-0x78743039, 0xeb1f6f64, 0xd465bbb6, 0x1e787630,
-0x1d64f56c, 0x33776e66, 0xed63cd6f, 0x1e333036,
-0x30303809, 0x656e9763, 0xfb6d4a2d, 0x20006f60,
-0x751b202d, 0xe6fd8b31, 0x6636d816, 0x03023089,
-0x65207872, 0x6ff6f672, 0x207261bf, 0xaa586825,
-0x70746674, 0x756f4c00, 0x11676e69, 0xfb7b2ddd,
-0x73253a40, 0x2f2f3a32, 0x613c0f12, 0x6e6b5b62,
-0x3e742ebb, 0x1298572c, 0xe678ad16, 0x0c6ead0a,
-0x03366e55, 0x6edf8e18, 0x4120f12f, 0x2522b450,
-0x0a220163, 0x656c6970, 0x56b6e673, 0x3e207af8,
-0x073f6d20, 0x0591640f, 0xc35a2a94, 0x05294628,
-0x6c3fe1ff, 0x002e771b, 0x72673a20, 0x68206d61,
-0xd0a17b89, 0x468c4e5a, 0x67696294, 0x6c042f28,
-0x49424eb9, 0x72837f0a, 0x75bb6973, 0x3a446dcd,
-0x42401e0b, 0xc200742a, 0x1687b5b6, 0x2161a712,
-0x6f8469de, 0x69fbb6ee, 0x6967616d, 0x657f733c,
-0x693ead70, 0xff6d5f74, 0x705e7422, 0x662008f1,
-0x2ebc756f, 0xbddc22c1, 0x654d0a1a, 0x2c00404e,
-0xad6b0ab6, 0x0abc0ec5, 0x9243f0d9, 0xb75ee73d,
-0x20856c20, 0x094333d0, 0xb7376f67, 0x2d646d1b,
-0x77f86147, 0x523a7961, 0x0ad63dd8, 0x203b0abe,
-0x29062628, 0x6c68d800, 0x444d9fc9, 0x5a65a112,
-0x3fd0b09b, 0x3e796d2e, 0x16856e21, 0xbc73addb,
-0x614427a4, 0xc7342872, 0x74749bdb, 0xf046e563,
-0x53d6dad6, 0x1006745c, 0x657a6934, 0xc3582371,
-0x5b0b0158, 0xc4204346, 0x38dcbb38, 0x70004932,
-0xdd985dce, 0x3b28a9b6, 0x75130a29, 0xb5bd6e77,
-0x4bbd8b76, 0x4e57706d, 0x747562a4, 0x8da386ec,
-0x641d49c5, 0x0e7373dd, 0x6d0c130c, 0x1a613e53,
-0xd8c61819, 0x656317de, 0xf7641069, 0x3b696a62,
-0x6ec73774, 0x64973a75, 0x010ab98c, 0x14f6085f,
-0x09796441, 0x25783020, 0x8e6b5a1f, 0xc94b136c,
-0x6f66b7eb, 0x84c3464b, 0x0aec9072, 0xdb7b114d,
-0x6d4a2ed6, 0x27502743, 0xf7b4603d, 0x6f4a5bd8,
-0x75572066, 0x14966c72, 0x0ae6c2b5, 0x6e2f1964,
-0xb9baab1d, 0xac90ce0b, 0xd66e6b97, 0xd676650f,
-0x8750d861, 0x8970799f, 0x645a6247, 0x733b98db,
-0x5b5b9f61, 0x85175d07, 0x70f21adf, 0x32156963,
-0x36353433, 0xeb69633d, 0x424139fe, 0x46454443,
-0x68032ed2, 0x1e563a06, 0x6d5ad7dd, 0x2f00edcb,
-0xdc14395f, 0x205b3e37, 0x33534f8a, 0xf53f7032,
-0x91306fb6, 0x342e351e, 0x435b322e, 0x9b10be18,
-0x2037abec, 0x50478119, 0x3587294c, 0x746b3695,
-0x1c654454, 0x36f1ad2e, 0x44d90c0a, 0x0e57c9c5,
-0x377c2877, 0x0d0a8520, 0x08b74fee, 0x6ed4208e,
-0x51784500, 0x46c3b673, 0xc30e3ab0, 0x23c0aa6f,
-0xd0bc36ce, 0x7269c0a4, 0x202ce571, 0x37862112,
-0x7dd6e42c, 0x2d739270, 0x85e37564, 0x7f0d8c47,
-0x58b94300, 0xc61af1f7, 0x20b4c45a, 0x0a896f89,
-0xcdad0b8d, 0x61665fd7, 0xb70d63c4, 0x4938186e,
-0x65d84d4f, 0x9b74de67, 0x607dadb5, 0x67091f78,
-0x18210b28, 0x3d46dce6, 0x23540a63, 0x5b9cdb86,
-0x04846c56, 0xf1c96fe0, 0xb992c045, 0x6c1de27b,
-0xddf612c4, 0x9133340a, 0x94621d65, 0xf645f266,
-0x6ea67bd9, 0x799d2273, 0x37e0676c, 0xd22c2d6b,
-0x9966c120, 0x67a11492, 0x12825f46, 0xbbd8c6f6,
-0x75f53d21, 0xeac119fc, 0x17a03c36, 0x70736164,
-0x2dd0cb7f, 0x0e747b6c, 0xde25296e, 0x1a50b05e,
-0x870f91d6, 0x42b61b69, 0xb4ae2073, 0x6b0e6290,
-0xb521ac0a, 0x61621f63, 0xd38041a5, 0x76e18223,
-0xa5f57853, 0xb9f656bb, 0x2f004da0, 0x6b6e67a9,
-0xe26360b4, 0xd3893c69, 0xc1c1c66e, 0x3932ffc6,
-0x19aef776, 0x5fb88fb6, 0xa62c78be, 0x36bd92bb,
-0x4578f574, 0x0c942978, 0xe06c1adb, 0x6c45ce61,
-0x8348671f, 0x2b16c22e, 0x70cc3d61, 0x06bdb0af,
-0x72ffd89a, 0x7d67c2f0, 0xf2db5c91, 0x9ed27920,
-0x854f9cee, 0x07c0e876, 0x0a8c77c7, 0x5b56ed15,
-0x7419bb70, 0x66662746, 0x03b92319, 0xf5415e1b,
-0xe6003b89, 0x00a49eb6, 0x4f4f42c4, 0x339c2d60,
-0x81c08813, 0x509c1597, 0x00ac859a, 0xdb146b00,
-0x64381c62, 0x632c17f5, 0x88d1aedf, 0x010a3511,
-0x062db9d0, 0x1420af4b, 0xde88531f, 0x1de9b122,
-0x537978be, 0x657571b8, 0x19cb5eb5, 0x447cf981,
-0x6ee3bb06, 0x6c24196b, 0x623436e5, 0x5241424b,
-0xe1e37419, 0x7838307d, 0x52c3043a, 0x073a52d9,
-0xbb86b614, 0x54687916, 0x3c08a761, 0x10d8040f,
-0xdcf4cdd2, 0xf5b7003f, 0xf9736f4a, 0x0861c19b,
-0xc9162143, 0x168dbd67, 0x3aa4688c, 0x5e9976a3,
-0x6a2b9e09, 0xe02a2c30, 0xb80b0b18, 0x9964778a,
-0x606e4a3a, 0x58230ec1, 0x42215758, 0x7589016b,
-0x3f3a2d33, 0x206a71d1, 0xd7816158, 0x81b1736d,
-0x58ee48cb, 0x8c265440, 0x6f42edb0, 0x75292e6f,
-0x73822e6f, 0x55703e7c, 0x3300a0ae, 0xa2a9b741,
-0x031ac0a7, 0xc700e691, 0x3702fde8, 0x07914000,
-0x36cf9fbf, 0x076720d8, 0x93179b93, 0xc026db1f,
-0x02100056, 0x17fb837b, 0x037faed8, 0xec228884,
-0xaa812910, 0xd42e0788, 0x8139fcfd, 0x81388922,
-0xf0860fb2, 0x6bfdbb13, 0x1307ef9a, 0xc2121111,
-0x1543cc12, 0xbed41360, 0x07d96c7b, 0x27de4033,
-0x07ea1340, 0xab0613d1, 0x9b6efef4, 0x1712596f,
-0x14eafda1, 0x0789080f, 0x5712ab07, 0xfc6452f6,
-0x7f891c81, 0x0889b601, 0xd39dc265, 0x0b0d033c,
-0x50a5ee04, 0x0b40ac5b, 0xd74cc83f, 0x031d57a8,
-0x2d580f7a, 0x054fdfb2, 0x962d6704, 0x0056c2bd,
-0x1b033cd0, 0x00f511ca, 0xc15292bf, 0x65601bfd,
-0x82639f2b, 0x0b966353, 0xc81605af, 0xb1778f76,
-0x07390302, 0xf09f5f45, 0xa8547b2a, 0x07403755,
-0x85800000, 0x0002406d, 0xffffff00, 0xffffffff,
+0x44070c03, 0xeb3be850, 0x5dfdbc2e, 0x050ced81,
+0x98ad8906, 0x168b00a5, 0xdbffbca9, 0x7400bfb7,
+0x90b58d21, 0xbd8d073d, 0x39054d90, 0x390472f4,
+0x890d76fc, 0xeeff1dbf, 0x3248b9e6, 0xfc89cf29,
+0xe3e8a4f3, 0x362d8b51, 0x6cf66c29, 0xe8686f73,
+0x3f450caf, 0xb70f1220, 0xfddb6d0a, 0x5c0424db,
+0x8d502624, 0x50608085, 0x7c548ffa, 0xfedb7edf,
+0xec01d38e, 0x936158cb, 0x66a102a9, 0xe61f6607,
+0x648b9d0c, 0xf73428df, 0xf79cd424, 0xbe852696,
+0xca9dcb9d, 0x6ffd8b6d, 0x57565507, 0x10247c8b,
+0x61983d2b, 0xe0cda810, 0x68af7eee, 0xe8550e48,
+0x5b217cba, 0xbb758df7, 0x42a30e40, 0xbe778904,
+0xdeb4b923, 0x29edb6fd, 0x732ea3f1, 0xf8ea2015,
+0xb8000881, 0xffdb7710, 0xd88e1cef, 0xd08ec08e,
+0xe88ee08e, 0xc35d5e5f, 0x89e64035, 0xddfb4435,
+0x3d057e7c, 0x584c1d48, 0x250b50a3, 0xfeeb0554,
+0xbb59b85e, 0x0300e968, 0x68535f1d, 0xe4514328,
+0x3ddc3efd, 0x890bb1e8, 0xa5282ca5, 0x6ca52f20,
+0xd737a5de, 0xe4cf6129, 0x8100768d, 0x858fbcfc,
+0xa8dd35ee, 0xed0c6020, 0x02341b22, 0x6edec646,
+0x17072db7, 0x7e8bd0ff, 0x3c8e8b8b, 0x8b8b4647,
+0x3ca18b15, 0xef0a342e, 0x8be2ff04, 0x68d6da4c,
+0x6e3f5189, 0x5902dffc, 0x08618904, 0x890c6989,
+0x14796071, 0xdbc3006f, 0x1b7342f6, 0x8b08431f,
+0x095a374a, 0xfafd3d62, 0x0c6a086f, 0x8b10728b,
+0x051c147a, 0x0b89ffb8, 0x43ada567, 0xbea29c28,
+0xe10c5401, 0xce62d992, 0xb8bb188d, 0xfbc61f30,
+0x21a225a1, 0x2e9d5d58, 0xf0f0b928, 0x2b07351e,
+0x38815080, 0xc3c34800, 0x82858901, 0x75956ffa,
+0x68e486c4, 0x284f2907, 0x9a352f0c, 0x535053fb,
+0x2c1d9da9, 0xcb024389, 0x03752fb7, 0x88101f0a,
+0x0c020443, 0x0f076388, 0xf6e35b7f, 0x90c3585b,
+0xc6535600, 0xb8ab1525, 0x67a6046c, 0xc66577ff,
+0x70b0d629, 0xd329c389, 0xb801006a, 0x847132e8,
+0xe42dddbf, 0x05685004, 0x6e09e5e8, 0x6f0b3b80,
+0x0dc2bd6f, 0x057703c6, 0xb01097c0, 0x06131800,
+0xb1032e6d, 0x0a230b03, 0xa6d81457, 0x1881d6b7,
+0x6a100479, 0x50160d02, 0xe4679b06, 0xb8501cfb,
+0xe8e851ef, 0xe3c28993, 0x537046df, 0x0a23f666,
+0x0f037401, 0xc5b8c6b6, 0xa39ec1b6, 0x12038849,
+0xcf233d92, 0xfc1e45f2, 0xd24defef, 0x978dec9d,
+0x04bb782c, 0xc8fc2303, 0xfc33cc96, 0x26c03229,
+0xe77b5ed6, 0x05262b0c, 0x0b642694, 0x0631617c,
+0xb901f083, 0xcfb22f01, 0x0c1573c8, 0x5608d20c,
+0x59b26791, 0x151729af, 0x9e4b6f0c, 0x3426a815,
+0x9616c766, 0xc7b708b1, 0xd8170a6a, 0xe60c2422,
+0x1733f919, 0xe61c7417, 0x171a5bfa, 0x0e333518,
+0x367d8800, 0x50d8dde9, 0x39d06a3d, 0x836630eb,
+0xbbe5b4e7, 0x19755741, 0x17111607, 0x6faffbe4,
+0xe2c112ca, 0x01104306, 0x100febc2, 0x77e3f016,
+0xd0891419, 0x1e5755a1, 0x6fdebb3c, 0xa995ef7c,
+0x54513b07, 0x46b87d7d, 0xf48ba46c, 0xbdea71f5,
+0x7f1e9081, 0x06df835b, 0x04665024, 0xb3e82268,
+0x6c1f8407, 0x7b81c063, 0x07740e12, 0xd87956e7,
+0xf639eb7b, 0x8b2b0d7c, 0xdbeefdc8, 0x8d457cd6,
+0xb9fc1a37, 0xa5f31305, 0x14c58343, 0x8fd9f6c6,
+0xdb850b71, 0x96bc9d74, 0x3c4cd889, 0xb106c361,
+0x9f5a5fd6, 0x4bda1bfe, 0xb20df02f, 0xfffe84e8,
+0x3360a3fe, 0xfbf3e886, 0x0aa0bb73, 0x950964a3,
+0x136c6820, 0xfbefff2e, 0xc4684ffe, 0x75c08510,
+0x0c05c773, 0x2005db02, 0x63b042df, 0x097005e5,
+0xc1490508, 0xf77b9b73, 0x74a30ae0, 0x15899907,
+0x7c1f0678, 0x75832105, 0x8009db63, 0x84091029,
+0x6c9ba133, 0x3164b06c, 0x548c2a88, 0xbdbb3490,
+0x28bf0611, 0x8660773d, 0x5ee9055d, 0xa089a983,
+0x0b18145a, 0x19a04508, 0x1c180ca4, 0x88977b6b,
+0x79b9358d, 0x0c011740, 0xedf0d8a6, 0x0a870f1e,
+0xbdb98105, 0x4f7730ff, 0x587df08d, 0x2b0a064a,
+0xafba1299, 0x7dfd8e91, 0x77a4b7eb, 0xc8993b08,
+0x078b0676, 0x61b181c7, 0x2ef3c5cd, 0xe430f309,
+0x29b1b164, 0x6736191e, 0x67de00a2, 0x09ff9dd3,
+0x818b920f, 0x6822918b, 0x72dec738, 0x3803d689,
+0x10cbb113, 0x1bf06f02, 0xd639142d, 0xd8776a72,
+0x376476c3, 0x2dd8fd8e, 0x2f390c11, 0x08722c77,
+0x22773f39, 0x9ddb1b3b, 0x2b1c19db, 0x814f1b0f,
+0xec39194b, 0xeb9189f3, 0x89892128, 0x19108ec1,
+0x78815ec7, 0x08b63809, 0xc18347ed, 0xcca15d71,
+0xeebb1201, 0xc3267370, 0x2bd813b8, 0x42ee3305,
+0x7a9f61d3, 0x97d0850c, 0x230ac632, 0x084a75db,
+0x08a60acc, 0xc1fc607c, 0xff0cca3f, 0x727d9c35,
+0xec2e0000, 0x12dddd91, 0x8c2f6814, 0xeb5d5513,
+0x075203fe, 0xa36f6df6, 0x6efd2835, 0x3935590c,
+0x7420fd86, 0x97cca12c, 0xedcc8f80, 0xf15a9816,
+0x3ae81b9f, 0x8e077837, 0x446a166f, 0x8068d557,
+0x10f4ffb9, 0xc361ff05, 0xe80aebc1, 0xf4c81ee7,
+0xaa8450be, 0x3172189d, 0xb8b114ba, 0x16afacd0,
+0x2ea118a7, 0xb7f6c674, 0xc13ae9c2, 0xfa890ae7,
+0xcbceb809, 0x362da702, 0x55d78923, 0x7aa0dbaa,
+0x1ea19da6, 0x144ce88b, 0xe4db93ee, 0xe81c735e,
+0xa7460b85, 0x836206fc, 0x187b0c1d, 0x8856c35b,
+0x26661447, 0x35bbfbd0, 0x96e2811c, 0x061a8c8d,
+0xc0fc2e99, 0xf289336e, 0xa4227423, 0x0bff817e,
+0x74c98504, 0x2102c714, 0xfb455246, 0xc281044a,
+0xe0c05e00, 0x49669fef, 0x24e8ec75, 0x57711b00,
+0x75c66c32, 0xadc5e898, 0xf58b78a0, 0x1c1f369e,
+0x77d4bed5, 0x6c37fe74, 0x29f1893f, 0xbb01c2d1,
+0xd729c789, 0x80398166, 0xa85e7402, 0x3f4fb6fd,
+0x98187564, 0x044703e0, 0xd4bdf361, 0x4fb71d6d,
+0xebd8e604, 0xd23efbc5, 0x43c1d9b1, 0xc358828d,
+0xe300e381, 0x68ed8f08, 0xde0d0d8b, 0x2955ce29,
+0xb1bd1ad0, 0xc8393ffd, 0xd8392977, 0xfb812577,
+0x1d9c0a13, 0x61e9c889, 0x2719a1a1, 0x1d48ae56,
+0xb312211d, 0x04351c21, 0x2240ccab, 0xf48950b6,
+0xec56e13b, 0x4a4d81ef, 0x34053b52, 0x71393277,
+0x760d8b6e, 0xff522a75, 0xfaf05745, 0xd186d904,
+0x096705c7, 0x83838904, 0xa84f0b60, 0x23631bc8,
+0xc454c8c2, 0x86d7245d, 0xa3975c05, 0x5cef2e8c,
+0xc736ed88, 0x987fed46, 0xb81ec8a1, 0x811d9601,
+0x5b084087, 0x3a01b8c5, 0xb63d9bc6, 0x4c4b8c42,
+0xbbf0a12d, 0x8b7eec54, 0xe9815c36, 0x9654bf4a,
+0x78f23d4c, 0xf529fd35, 0x478979aa, 0xf21e11dd,
+0xf7813386, 0x3800b80b, 0x2dd9ccdd, 0x54f8fb0f,
+0xd6dd9b37, 0xa113fd0c, 0x18e44e8c, 0x30019d03,
+0xf38d0da3, 0x025d9bbe, 0xefd82066, 0xe507be6d,
+0xa9000189, 0x46c070a3, 0x74a2bacb, 0x85e59e56,
+0x8817ab5b, 0x0242e798, 0x2dacef48, 0x0112ee76,
+0x05d6c8e5, 0x436bf7b0, 0xb82e75fa, 0x81120054,
+0xc1ea8112, 0xefd9ac6f, 0x89af928b, 0x01db6810,
+0x060850aa, 0xd74fd087, 0x3575a9b5, 0x57204e6c,
+0x19285a24, 0xff8b74cd, 0x77df3d3a, 0x1a048d11,
+0xed152b90, 0xa8f6f587, 0xeb081d89, 0xe8052523,
+0xd622fbc0, 0xd048083a, 0x283a08ff, 0x3fed86d2,
+0x89dd29c5, 0x0c7f83ee, 0xff9c15be, 0xba395577,
+0xc4748150, 0xeed85be9, 0x0ba1c239, 0x01bfb18d,
+0xfc334c8f, 0xe856ee60, 0x01121bcd, 0xf45e8dc6,
+0x8dce33f0, 0x37395b6d, 0x0435b319, 0x4dfe1f10,
+0x02c3df9e, 0x9a01c132, 0x06548d12, 0x178054e0,
+0x818b56eb, 0x30ac018b, 0x03e833fb, 0x12e88906,
+0x7b6bd906, 0x081436c2, 0xa0107ff3, 0xd8172508,
+0xdb3414a8, 0x14475942, 0x6ddb3704, 0x47301c05,
+0x9174290c, 0x5b7c73ac, 0x03990d66, 0x750803dc,
+0x3fc4da97, 0x8303014c, 0x04e2fce1, 0xcc297155,
+0xc6c08db4, 0xabc35154, 0xf57e0c6c, 0xdddc5c24,
+0x2ce8d024, 0x5dec8906, 0xbd4ea1e7, 0x6140e194,
+0x94249c10, 0x77036308, 0x335437d8, 0xec40ec07,
+0x180d6f0d, 0x745836f7, 0x898f8d48, 0xa97c5b22,
+0x83d67778, 0x060018c2, 0x2f85aea5, 0x2c7630b0,
+0x12c7c2b4, 0x00adb6df, 0xc07c7964, 0xfec1c6d3,
+0x6f6e1602, 0xf1393ec1, 0x551b107d, 0x0f41108c,
+0xb00df07c, 0x52671b75, 0x98145f53, 0x62c631f9,
+0x240cc1b0, 0x264f2e63, 0xf43c58d1, 0xaa10a117,
+0x45f81eb8, 0xd02dd8f8, 0x01e80566, 0xc783c416,
+0x4b8dd6eb, 0x2d4640c4, 0x36241dce, 0x74d285bc,
+0x02c50610, 0xa1d03994, 0xd6284523, 0x8ba3bf49,
+0x05b72c06, 0x4a21041b, 0x6ae30f08, 0xe570f7b9,
+0x150db459, 0x52c9008b, 0xc3d84f86, 0xa7d10abe,
+0x93e8da74, 0x3982b9c4, 0xfe0b73d9, 0xf6f18304,
+0x42c11937, 0xf572da39, 0x5e5bc10a, 0x1bbe1cb4,
+0x3086746e, 0x982f408c, 0x07a10a74, 0x9b831de9,
+0x7599e509, 0x1325b620, 0xd86b822d, 0x80fa21be,
+0x1bf16ac2, 0xee6217fd, 0x23a6840f, 0x0f0264a9,
+0x29f0e783, 0x301989c7, 0x20448b1c, 0x326c80b9,
+0x6bfef0d0, 0x738d1205, 0x11838d60, 0xbefe18a6,
+0x816e2f0d, 0x81a58eef, 0x042d05c7, 0xfb049605,
+0x1bc6eb31, 0x0ad0e714, 0x07011883, 0x9b783fb7,
+0x32e42d12, 0x68056c8d, 0xd478f0e5, 0xe4a35828,
+0xafdb1b28, 0x046a1c6f, 0xad8c4a68, 0xc60558d1,
+0xd0ce58ac, 0x07c695d5, 0x0e431807, 0x91844605,
+0x0c0e0891, 0xfb16ac30, 0x9c05778c, 0x2b6612e2,
+0xb1060abd, 0x107beeb1, 0x142b1625, 0x6edd9405,
+0x05ffdd2b, 0x571c5318, 0x1e0d071d, 0x7690eeb1,
+0x1f97ccfb, 0x0f200328, 0x6dba775d, 0x22022a07,
+0x2e13bca1, 0x02d82603, 0x306a6536, 0xea320d11,
+0x54066c9e, 0x3643057c, 0xb6c6405c, 0x43ceec48,
+0x46078e42, 0xc6f94805, 0x4a12f906, 0x1250054e,
+0xdc2d3752, 0x6a055606, 0x35010158, 0x77054328,
+0xc7e3f0c9, 0x68eb2404, 0xbadf164f, 0x07742257,
+0x0646ffb0, 0x46c60201, 0x46fc2c08, 0x6014830c,
+0x4693b6cf, 0x570e2c0a, 0xd7e71246, 0x467bac1d,
+0xdc140320, 0x16032246, 0xd8c8f622, 0x1a281858,
+0x001e1c05, 0x38956200, 0xe6245361, 0x7b502646,
+0x60603824, 0x83a72a46, 0x8f0c0fe3, 0x5e7dbbb1,
+0xb42c6a28, 0x46c9fd37, 0x80c78e09, 0x08c36c8c,
+0xdf1fc106, 0xbf703a68, 0xe80f377a, 0x6a95fbdb,
+0x938bedf6, 0x2c6aa517, 0xfff91a15, 0xb1063cff,
+0x1cb320c6, 0x7adbf57d, 0xa9e81f6b, 0xdb4a1cf6,
+0x1d19e3c1, 0x060831dd, 0x3c55c7ed, 0x914823de,
+0x1434164c, 0x436762ea, 0x51ed9960, 0x89628eb8,
+0xfdf40d13, 0x7e0ff86c, 0xcba2708f, 0x95eb81d3,
+0x6deb68be, 0x6d063ffa, 0xcf29f789, 0x8389078b,
+0x04260b48, 0xe0bbad0a, 0x4e83ec8e, 0x4c83250c,
+0x60156006, 0x94d3ee83, 0xeac1180a, 0x35d05719,
+0xcd8d2285, 0x1bd04e76, 0xed84067f, 0xa9bad0e3,
+0x0620d0ee, 0x82c0010e, 0x4e810cb5, 0x53dfecb3,
+0xaf5274f6, 0x98ba3f74, 0x9598152b, 0x3bfdcc18,
+0x808b5f16, 0xe802899c, 0xb042c8ce, 0x7650d090,
+0x46687714, 0x8e519c2f, 0x3be86a18, 0x57b5c557,
+0x23740e2c, 0x88052378, 0x34e8d0d0, 0xe7c75cb7,
+0xb060e46c, 0xe8a6eb73, 0xb257ea56, 0x85526cf8,
+0x0b8d147a, 0x9fe662cc, 0x323a1bed, 0xe8d0de38,
+0x00c18960, 0x83024b0c, 0x27dd0de0, 0x01d30db5,
+0x063979f2, 0x5312e283, 0x810e2d80, 0x85086a04,
+0x0f78364d, 0xa24635e8, 0x77f9cc05, 0xda1d1dee,
+0xaee8206b, 0x1409b322, 0x74085e5b, 0x8b6d672d,
+0xdd24ec20, 0xe01bc777, 0x76a83881, 0x4d028b1f,
+0x6904428b, 0x35b62060, 0x72080762, 0x37ed1040,
+0x06a0fe28, 0x138b1beb, 0x362d4314, 0x82438fb0,
+0x93310640, 0x35bb51b0, 0xc109365f, 0x92c81315,
+0xff5a2c7a, 0xd001d144, 0x8370498b, 0xc60e506d,
+0x9466ce25, 0xdc09bddb, 0x18bf7c24, 0x9e908068,
+0x7c04516b, 0x0eb3639b, 0x774c094d, 0x5515b879,
+0xcecd9187, 0x27000a0b, 0xee2e7022, 0x3dce8c47,
+0xbeb7be51, 0x6f7d1486, 0x9f83aded, 0x900a7702,
+0xa0853493, 0x0fc07b72, 0x75f81bae, 0x8d6f9f17,
+0xadd1247b, 0x247e9e45, 0x75161c00, 0x6e0b0e1c,
+0xcc1b6deb, 0x7e144270, 0x17743b64, 0x310775e9,
+0x02219f02, 0x3c91a916, 0x062e4baa, 0xdb99ae68,
+0x76010f48, 0x580f0069, 0x506a4988, 0xb4834c5f,
+0xd190b90f, 0xff53e06f, 0x0003c713, 0x07dff724,
+0x3023d0de, 0x468b2c4e, 0x9768e15c, 0x5dbf64d8,
+0x5750bdba, 0xfbfce027, 0x88608a68, 0x1c896c46,
+0x4b8b18de, 0x2a4820b4, 0x568bf4b0, 0x865b6768,
+0xee52a317, 0xe20be76a, 0xd8373d55, 0x8129c360,
+0xbcc09454, 0x062d09e8, 0x018816c4, 0x8555fef9,
+0x1df6d78b, 0x478d021e, 0xb42d5007, 0x3c68a4b9,
+0x47305dfb, 0x7e02ff83, 0xec584bdd, 0xcfbb7657,
+0x0c0863b6, 0xbded6662, 0xf68a9bba, 0xbbb95ac4,
+0xba052017, 0xb85209a0, 0xb56a05a5, 0x75296ef6,
+0xff5008a8, 0x97695c76, 0xdc3efaeb, 0xe0686807,
+0x864fafa5, 0x8f019b14, 0x161f8fdd, 0x7404a858,
+0x9110e117, 0xaff88a24, 0xf8b83461, 0x00c720f4,
+0x3f521f43, 0x46d26f7f, 0x061db948, 0x501c9b4c,
+0x85541ef5, 0x1b4a1309, 0x82e6d62f, 0x2c761b04,
+0xd1423eb2, 0x78db1681, 0xcf4ec764, 0xbe8dffff,
+0x0be5d30e, 0x80b0596c, 0xb0eefa89, 0x89edee88,
+0x04c683ce, 0x68973878, 0x81ed68b4, 0xd3f10ec5,
+0x88e0bc6e, 0x19ab59f8, 0xe0e2f7c0, 0x152fb402,
+0x1c8ad23e, 0x8888cb2e, 0x76f6add8, 0x02f96db7,
+0x83138a32, 0x4e088cc8, 0x6c42cd79, 0x47bbbb0d,
+0x5a10beed, 0xb1d98cbd, 0xdddbe80f, 0x0c4ea1bd,
+0x49ece3d1, 0x0b89c309, 0x112cc888, 0x85bf7a7b,
+0xb0e37ff6, 0x10512ef7, 0x1f7f84b0, 0x13b96767,
+0x0eb804bb, 0x06b90084, 0x441d9d2b, 0x230807ef,
+0xe8360c09, 0xef37da61, 0xb01fc90a, 0x1aed6eac,
+0x3715573c, 0x97d429ee, 0x821b4fa7, 0x4c97d83c,
+0x6b0b2e9a, 0x082c42f1, 0x10682b68, 0xb8470974,
+0x1323ae04, 0x20b9eb3c, 0xfec35c77, 0x5f8bc6ff,
+0x8d0e0440, 0x41ee0b14, 0x7e05f983, 0x5a0cb0f3,
+0x0ac645ab, 0x0c578f86, 0xf427b0eb, 0x400c036c,
+0x9dc860ef, 0x10ec3f1e, 0x35ef30f6, 0x4c0bb866,
+0x9ee857ef, 0x0ba11845, 0x15de04c2, 0xba31663c,
+0x5fd4ea33, 0x24d81492, 0xd30af8ed, 0x862c620b,
+0x06a7fdc4, 0x3b826c22, 0xdc682c96, 0xed5031d1,
+0xe6ef9068, 0xe268b612, 0xdd021f11, 0x5bc77c9d,
+0x0b13e868, 0x68383753, 0xb4fe8dea, 0x4ff911f9,
+0xfb580ec3, 0x7c0d773b, 0x78d76cde, 0x760c554d,
+0xe110caf3, 0x47050ff7, 0x02e2c13f, 0x209a0366,
+0x91fc71ef, 0x081e406d, 0xe8ef1017, 0x9d28ea5a,
+0x45234cdd, 0x3ec412c6, 0xbf61d10d, 0x252d3119,
+0xffff800c, 0x05bbef12, 0x0edead57, 0x2d2c709d,
+0x1a2df039, 0xd372d91f, 0xc3f6ed47, 0xdf864bf8,
+0x40147d46, 0xeb08a38a, 0x3300bb0c, 0x16280b9e,
+0x282810fe, 0x1b86d8cc, 0xc90b20cf, 0x3188dc18,
+0x127aa867, 0x6c615c01, 0x3c8330c2, 0x42010269,
+0xb11b6d87, 0x5ae8d395, 0x9bef10ae, 0x8268f05a,
+0x8b502c2c, 0x8df03f82, 0xc14cbf0e, 0x922510ef,
+0x68753ea8, 0x0da50bea, 0x810811ef, 0x763beeff,
+0x3c2d7d7d, 0x6dac5197, 0x6034d7f6, 0x5e6e0c17,
+0x98e1fd7f, 0x97dd98e9, 0x472e7ae8, 0x3a98647f,
+0x3220003d, 0xae52ee38, 0x58fcbbdd, 0xec54d329,
+0x345ecc82, 0xfc4de11e, 0x4e7ae860, 0x29f88990,
+0xd7f02dfa, 0x7753861a, 0x2f605e03, 0x5806d861,
+0x18e6188a, 0x3264769b, 0x0d9b6315, 0x03321947,
+0x75fb1ade, 0xea075f6d, 0xa1660aa3, 0x7c92e810,
+0xbb3dc14b, 0x9851e2ef, 0x6924b486, 0x86818263,
+0xbe0c1761, 0x87e18e53, 0x9bd02e31, 0x26740204,
+0x81538b80, 0x0c37eef6, 0xf7f26926, 0x1dd021d2,
+0xf0090275, 0x2ece9918, 0xb18def1c, 0xc4360c01,
+0x30906da1, 0xba1c047d, 0x81a92674, 0x10b0b669,
+0x6f6f841c, 0x1c8325e4, 0xb05367b7, 0x869dcd67,
+0x8fbe19d0, 0xd4b53547, 0x0f18ce0b, 0x7396debe,
+0xeff68b05, 0xd1ef05e0, 0x486948b8, 0x05fa816f,
+0xf5776a6e, 0x77075aac, 0xeb0ce206, 0x70780d2f,
+0x7422a6f6, 0x2e25eb18, 0x6cfc7301, 0x3d2ad810,
+0x540e2c2a, 0xd8fffff8, 0x1df57ab6, 0x0350a4f4,
+0x3a3b48c5, 0x8d42705d, 0xffb8fd3c, 0x47b40681,
+0x768810ec, 0xd431005b, 0x3abb00aa, 0x9ba3e483,
+0x5d54cad8, 0xed023d2b, 0x2ad17ec6, 0xed0a96e6,
+0x410c75a1, 0x02df660b, 0x699ce808, 0x2afba5e0,
+0x74fcfd18, 0xf0556822, 0xdb1e0750, 0x70169edc,
+0x49c0913c, 0x66a1e82b, 0xedd7236e, 0x041a620c,
+0xe96e9c36, 0x741d8b04, 0xa5051ed6, 0xe6180544,
+0x61836ff0, 0x41bdf4f4, 0x1c5bffa8, 0x13b842b0,
+0x7512e320, 0xddbaf8ed, 0x29f84f03, 0xa1892ee8,
+0xa975c909, 0x3ee0a45e, 0x98fe7445, 0xe87deebd,
+0x68b518a3, 0x310a6435, 0x64f915a2, 0x6c877779,
+0x3d589763, 0x766b2efc, 0xffbf3dfc, 0x12e0bf02,
+0x7ea95874, 0x02fe8354, 0x10a14f7f, 0x9f7740c7,
+0x1d14bf78, 0xa50c1d8b, 0xff08e4a1, 0x71760450,
+0x23e7126c, 0x05417883, 0x8dfa3abe, 0x41fe5b11,
+0x68016a16, 0xd46a18d4, 0x79ddf126, 0x33de384c,
+0xeb7653d3, 0x469eb01c, 0x651a5c6e, 0xb1033974,
+0x0ff636dd, 0xfd10598f, 0xe9087219, 0xa0eb0d81,
+0x94049767, 0x8a8c0800, 0x47a1fe4d, 0x14db7ce1,
+0x975e2248, 0x350fa02f, 0xe81b74fc, 0xd10a19ac,
+0x621b12b7, 0xd5f7a26f, 0xe812ba17, 0x31b003bb,
+0x6b8eac16, 0x710c4ddc, 0x36fdeec1, 0xd9e8a33d,
+0x00c9f005, 0x9b6404be, 0xff3d8b10, 0xc1dc0c6d,
+0x541073ae, 0xe9c23009, 0x9859f610, 0x55658535,
+0x1cace884, 0x35a394da, 0x338d3b61, 0xcfd8fbe9,
+0x894157b8, 0x02e1c106, 0xa3d340a1, 0xa036a5dc,
+0xcbe2fe0f, 0xb60fec15, 0x4081ad78, 0x61223603,
+0xc22f0b0a, 0x031364d7, 0x16981285, 0x6b1d9d82,
+0x0d751208, 0x75c219b5, 0x15c5b7a9, 0x71151731,
+0x86bd168c, 0x8ffa59af, 0x1ea12371, 0x1dc3343a,
+0x60908d51, 0x84ab6a08, 0x9f95f082, 0x80cca30b,
+0x5884709f, 0x5089ba82, 0x1c5889c2, 0x08308c21,
+0x0c3e20ee, 0xfe10f0fc, 0x99be0dbe, 0x4f0111e9,
+0x430c1b2e, 0x15428233, 0xb08e1478, 0x55142384,
+0xeccce964, 0xe3c423b0, 0xec33745c, 0x74f4302a,
+0x7a8b6d84, 0x1a74763b, 0xf7cf5a19, 0x7db3fb05,
+0x90e03846, 0xd8860245, 0x0978c43b, 0x803c896e,
+0x3563c7ec, 0x69785208, 0x62ebb3be, 0xcd74231e,
+0x1e340c8e, 0x17eb3647, 0x408cde10, 0x7d83df04,
+0x4f92c20e, 0x7945ff67, 0x4434097f, 0x05b410ec,
+0xd8048d41, 0x9659a1c1, 0x6aa1a17a, 0x0390d6db,
+0x0c897f11, 0xb7f85408, 0x35c637ed, 0x2dbb6301,
+0x12dc3e80, 0x68743a04, 0x0dfb6ef1, 0x1e3c8043,
+0x3a05060b, 0x80bff375, 0xedca5a33, 0x0570ffe4,
+0x0194d808, 0xbd12c4de, 0xe814bf37, 0xb2274863,
+0x8205bb3f, 0x722408c7, 0x00b2e9df, 0xfdc0da31,
+0x036aa6e4, 0x8cb57568, 0x0c6dfa1e, 0x352d34db,
+0xd8a58892, 0x47386f03, 0x06a493b8, 0x2f388085,
+0xd70b1e1a, 0x331d4774, 0xe4cfe852, 0x9ce6b701,
+0x3403ce8b, 0x4020921d, 0x7beed8e1, 0x240a5429,
+0x318a5010, 0x3760f615, 0xe0cf9e29, 0x1f2d7546,
+0x959af03e, 0x687ef2a3, 0x44c83679, 0x04fd18ed,
+0x36a66806, 0x3e401480, 0xc3dd0afd, 0x25740457,
+0x2d905650, 0xa5f18568, 0x9e29f202, 0x001f2015,
+0x86e1e900, 0xe885f425, 0xfc971a13, 0x07759c97,
+0x6a143c24, 0xab02d0fe, 0x480288c1, 0x3e227c80,
+0x34180b7c, 0x3d80382f, 0x29749945, 0x0d631186,
+0xc2b80825, 0xb8775f7e, 0x860f3d46, 0x0bee52f9,
+0x6033c781, 0x8605f5ab, 0x97fabdbc, 0x31785bbb,
+0xf6218b33, 0x8a0c4405, 0x466b46c6, 0x0fd4129a,
+0x8c520a07, 0x26240df8, 0x6abc5c79, 0xa9ba6b6e,
+0x94808dce, 0x30dc5264, 0xee8b9c1a, 0x2c35ef6e,
+0xdf96e806, 0x62dbe0bc, 0x64100d9f, 0x593f43af,
+0xdd821d25, 0xbb3595d4, 0xdb85ffd4, 0xcf7ef608,
+0xd953401a, 0x040de028, 0xb14a5868, 0x28dcc180,
+0xfe47502c, 0x087725c1, 0xcb270001, 0xc695be3c,
+0x89932080, 0x40bc855a, 0x8bb24d85, 0x8b20e84a,
+0x996a0c42, 0x0d8b637a, 0xbb73bad9, 0x6816f895,
+0x9184d8a2, 0x09481d20, 0xb0af6a5b, 0x113248eb,
+0x0738b890, 0x876c64fa, 0x18a3042a, 0x1875022f,
+0xac1b81ca, 0xb91b2b45, 0x567dec3b, 0xa10e20f0,
+0xa1307c34, 0x636c1604, 0x4334a3f6, 0x6f723815,
+0x22b6bf86, 0x0fff243b, 0x543bf025, 0xc1d1bd8a,
+0x9014b0f8, 0x8203bb01, 0xb72fb261, 0xec830f75,
+0x8a3629d6, 0x1e1837f7, 0xa01a7584, 0x74ed8504,
+0x141d8b3a, 0xf6d88241, 0xe776f339, 0x63336bf3,
+0x2d4b1b4d, 0xad14f357, 0x19012129, 0xd763ebee,
+0xdf01de29, 0x04411d36, 0x62105a01, 0x1d5b34ca,
+0x28a09d4c, 0x38246eab, 0x07d419c4, 0x4ec29730,
+0x03416705, 0x6010428f, 0x2df48d13, 0xccb8300c,
+0x7d084d2d, 0x0531bdfd, 0x53e968e8, 0x8c591c3c,
+0xa7b3850f, 0x4cad5f2e, 0xd461e075, 0x614b5650,
+0xf08631f8, 0xbb05bb48, 0x0f1bf3ff, 0x93c22307,
+0x2601da41, 0xb4bc02de, 0xc28f89fb, 0x39d021c8,
+0x720cc405, 0xfa5bc015, 0x730b4fec, 0xc01a6609,
+0xa436c821, 0x14250562, 0x05b974bc, 0x03ad0e8e,
+0x7403df5c, 0x1fb86012, 0x34a5c728, 0x0b5e0508,
+0x73fbd00f, 0xd8bd1baa, 0x8dda8391, 0x62c2fb53,
+0xf12e348d, 0x0baa2e60, 0x9839302c, 0xa5a68587,
+0x3b351fd7, 0x0e767508, 0xd5b894ab, 0x335b19ba,
+0x5fc8cacc, 0x51aec02f, 0x50ce28a1, 0xf1077704,
+0x3b6a176f, 0x064bebf2, 0xeb287403, 0x7d148b44,
+0x180de160, 0xff307c80, 0xeb0f37e1, 0xcdd9bd31,
+0x04241281, 0xc3b11eeb, 0x1bde051d, 0xa3660637,
+0x205456d3, 0xbf761eed, 0xeb89e7a3, 0x2c568284,
+0x1f74b97c, 0xcda9173b, 0x3274c806, 0x68100351,
+0xafc46082, 0x40514c9c, 0x80305d1a, 0xc81c0d4b,
+0x1b111007, 0xa4e349dd, 0xc558ff54, 0xd7772343,
+0x0b0bb4dd, 0x6d05b005, 0x418dff5a, 0x1075345d,
+0x721a15ee, 0x39087728, 0x63909b1b, 0x291e721e,
+0xac241914, 0xe91c4efb, 0x010f7888, 0xd819c71e,
+0x39459d82, 0xb87309b4, 0x4417361a, 0x5c4368c9,
+0x8a5c1dcd, 0xd810f46d, 0xa0c2078b, 0x3dd4d0c2,
+0x3869cb86, 0xf6301840, 0x409a363d, 0x291ecd42,
+0x2b77012a, 0x81d2cb16, 0x010da850, 0x702f4767,
+0xd000d1b1, 0x627b0c9a, 0x253a8c52, 0x3a68b18b,
+0xa88b6ddc, 0xac151325, 0xeb548a52, 0xac8ebc59,
+0xbe40292d, 0x47ea02a0, 0x084a1b60, 0x8b413eb0,
+0x6fbea48e, 0xefb0573b, 0xd3392f55, 0x392972b1,
+0xe107bd6f, 0x442572c1, 0x07a11674, 0x968b0517,
+0x7efec41b, 0x05903b2c, 0x1e890673, 0x125fc661,
+0x1020a97e, 0x7ff839c5, 0x8b5a74a2, 0xb1975ef6,
+0x86e63435, 0x6cdd2fac, 0x06c03f5a, 0x19c129b1,
+0x76cec3d3, 0xb3591d68, 0xdab03a55, 0x3d110d44,
+0x82e63997, 0x759d8f21, 0x3458e865, 0xf02d3546,
+0xf7e70025, 0xa8157847, 0xd311c101, 0x11540d01,
+0xb3f11c1d, 0x0f1ab308, 0x5c09d0ac, 0xed60d8b1,
+0x2901ff2f, 0x721e40a3, 0x721d0d0f, 0xe8265038,
+0x9d207878, 0xeb2df535, 0xa9080a72, 0xb608ceb3,
+0x3473de20, 0x22a38306, 0xe90b63d4, 0x1f7269a6,
+0x3228865a, 0x1949e867, 0xa78a76ec, 0x30edc047,
+0x142b7ee8, 0x0c5b7eef, 0xd0892815, 0x34688d2a,
+0xa958e1bf, 0x00fa0e83, 0xbb83d693, 0x020297a7,
+0x838b373f, 0xb30600ac, 0xf6135ab4, 0xf0e87807,
+0x4955580a, 0xc7788fd8, 0x1eab0357, 0x8d20c3d1,
+0x21bd3a55, 0x3966b198, 0xb5ab6e35, 0x221ed73d,
+0xa50f1a2f, 0x309d0884, 0x3cff93f8, 0x70d9916e,
+0x89a31bb6, 0x7cdef608, 0x22004044, 0x22f163a1,
+0xfaf8231f, 0xe042505f, 0x146ea615, 0x1e92815d,
+0xbf8d4bac, 0x4378b635, 0x04e316aa, 0x53505033,
+0x91c184e8, 0x8530d088, 0x024d0ac0, 0x721edc2d,
+0xc356e6bc, 0x63c9786b, 0x3f2ae816, 0x1b473502,
+0x85b68cef, 0x57c0189b, 0x41985d99, 0xad1afd5d,
+0xf05fe879, 0x9eb341a3, 0x021085ed, 0xc05e20c8,
+0x07a283c0, 0xeab8bae8, 0x3bfc428d, 0x339456f0,
+0x62e8059e, 0xa0c27cc8, 0xb804a4d4, 0x48f5fd38,
+0x681858c0, 0x3be36db5, 0xab55b800, 0x6cba7d82,
+0x4186f74e, 0xf41b4c4d, 0x8ed1a15b, 0x2c82b386,
+0x44a1480c, 0xf30a4176, 0x3dbbd78d, 0x51e9e4a5,
+0x78e9ea90, 0x45e10701, 0x52f16803, 0x3073486a,
+0x3aebcc50, 0x363bade0, 0x07247640, 0x035cfa52,
+0xb87b2f15, 0x9ab46858, 0xe9204064, 0xc3bddaee,
+0x3b48f84e, 0x760a540d, 0x3b406634, 0xe865331d,
+0xd873f000, 0x36f90a02, 0x1c05daf8, 0x3fe86051,
+0x81308c24, 0x361ff703, 0x81d268be, 0x90920e15,
+0xf0561bf0, 0x8969120d, 0x4ad78c4c, 0x2c451656,
+0xaff053aa, 0x7510bfe0, 0x87878b56, 0xc14ff053,
+0x89c13797, 0x878f03d3, 0xef6c5d05, 0x3b0f789f,
+0xe61ca118, 0x93c0865b, 0x267256c3, 0x437d0477,
+0x8f208290, 0x12771c01, 0x47520672, 0x18fdddea,
+0xce990a77, 0x19014608, 0x2db7887c, 0xea9977f5,
+0x25011f75, 0x4cddddd0, 0x18684803, 0x3a4fe8a9,
+0xb789403a, 0x445b25dd, 0x76480339, 0x7a0d0016,
+0xb8e748d8, 0xdad929be, 0x409c1808, 0xe02d2c3b,
+0x0696df03, 0x458d596c, 0x854dbaff, 0x60849cc5,
+0x00f05f5d, 0x00d91195, 0x20801d03, 0xe2205eac,
+0x0d3103f5, 0xd8f7e852, 0x260ac20d, 0x95991a04,
+0xf0882b14, 0xca098103, 0xba25dac6, 0x297c77d6,
+0x211b7777, 0x305817b9, 0xd7011bfc, 0x47f80f07,
+0x0b16d039, 0xc7e91778, 0xe424348b, 0x153bf80e,
+0x090c73ed, 0x3bc21899, 0xbdb62c3d, 0x3b0eee47,
+0x8b2e0715, 0x63fb0d0f, 0x8c15df91, 0x548d0f3d,
+0x5423ff2a, 0x46c3789c, 0x72d7397c, 0x5ad0870a,
+0x43157320, 0x2ba47b3c, 0xff4a1d9c, 0xd089f7ff,
+0x4908683f, 0xb9301442, 0x5827ef89, 0xde89c278,
+0x0833fb5e, 0x3a4f08ab, 0x341116eb, 0x1095ec55,
+0xd75d3d81, 0x7f0d7fe8, 0x75464c45, 0x250a3549,
+0xfaf50052, 0x00896b42, 0xa16638b1, 0x2d638670,
+0x70ba2a7c, 0x74542977, 0x4b8320cc, 0x88346dd1,
+0x75433408, 0xd61fbf14, 0x3f5780e2, 0x0a740609,
+0x6382474f, 0x7a39e975, 0x6341cb68, 0xa46f99c0,
+0x0bd0e938, 0x7e027a57, 0xc33c415d, 0xd0af068a,
+0xe5fa4e3e, 0xf039a466, 0x2a24507a, 0xcfbaaf0a,
+0x25c4b82c, 0x8504e652, 0x86677d81, 0x4ed62118,
+0x30202108, 0x02c4ec7b, 0xf88952e6, 0x5f0bc04b,
+0x3aa7e230, 0xe703d107, 0x61c6294b, 0x184301a4,
+0xcc2e0141, 0x01f12188, 0x43259e00, 0x7708f4e2,
+0x4f687dc1, 0x9896073b, 0xd2b883c0, 0xf7d29071,
+0xfc1dee61, 0x89047318, 0x90032005, 0x7b8436b4,
+0xf3cac358, 0x6c0513d1, 0x05f83e12, 0x763ccd1e,
+0x50408b07, 0xbf03ffbd, 0x2e6ac519, 0x879c7c09,
+0xee048c3e, 0x53048548, 0x37290070, 0xc06e03d2,
+0xb8a2e5de, 0x2bd0152b, 0x981cd378, 0xf2e85110,
+0x1ee6bff1, 0x75ffd2dc, 0xf21c5832, 0x9236f137,
+0xad203333, 0xdccaa309, 0x3b99622e, 0xf3b92bc2,
+0xd8ec3b16, 0xbe237d10, 0x89afea01, 0x226c2756,
+0x6114dd7c, 0xd196c21e, 0x8d0f4bc5, 0x838ffae9,
+0x8d4f899d, 0x7a837590, 0xd8750440, 0xa817c5e0,
+0x888b5052, 0x8b11594e, 0xf95c3fc1, 0x51bd0e77,
+0xf4dde857, 0xb61c7399, 0x63b900ec, 0x51b78c5c,
+0xeca38061, 0xe3feb8b8, 0x8d62bb81, 0x0504170c,
+0x50488be2, 0xad81f901, 0x040def56, 0xd640708b,
+0x43b1146e, 0x52f86b70, 0x203b5156, 0xb7f9f678,
+0x825c0325, 0xe7ca848b, 0xc3b73cce, 0x580cc607,
+0x14f4171c, 0xf3b2bee4, 0x8c0f9db7, 0x93641774,
+0xc7e425f0, 0xac19a805, 0x2b6c8309, 0xb80974a3,
+0xf84609b8, 0xf029eec1, 0xeea0850f, 0xdba4e30b,
+0x36007d1f, 0x131b0313, 0xee540160, 0x261facf9,
+0x21350ef1, 0xfffb81ce, 0xe041d5f0, 0xbf053f6e,
+0xb93dbe20, 0x9a57f62c, 0x10f91766, 0x379be817,
+0x622e80b2, 0x46e12a31, 0x09b0e215, 0xd001b1ee,
+0x3ca30aa3, 0xd07ba1cc, 0x6a469164, 0x3d5207e0,
+0x78458bc0, 0x14f8e1e8, 0x3005fc69, 0xbf56f7c1,
+0x245ba11c, 0x85e0315b, 0x9d5c83e3, 0x012f2c00,
+0xa01bbfdc, 0x8d5fdac3, 0xd8392285, 0x9eb25576,
+0x91995bab, 0xae575079, 0xa5d98907, 0x3aff06c1,
+0xe25b85e8, 0xbf8df01e, 0x087b033b, 0x140343f6,
+0x03b60f25, 0x030f7f7d, 0x80939e16, 0x0a54021c,
+0x7fb1868d, 0xab7727b1, 0x4d742f8d, 0x1b0c07eb,
+0xc256e030, 0x68673ca1, 0xa4d9802a, 0xa8be56ed,
+0x4163ac0b, 0xe8d5c992, 0x0785017d, 0xd3badcb7,
+0xd2858745, 0x9c5165ae, 0xa8f49f15, 0x35406333,
+0x239f4216, 0x292d7cb8, 0x89900c48, 0x221f245c,
+0x36dc21d9, 0x082a4e75, 0x090cd5be, 0x3208011a,
+0x484f7b10, 0x791b8041, 0x96be00a3, 0x30b262ef,
+0x396efadf, 0x0637c96b, 0xa8b33db1, 0x4d15b109,
+0xe2a563b2, 0x61883572, 0xa41b2b72, 0x8bf3f63e,
+0x33d1310d, 0x75c10919, 0x96f81c53, 0x783b1b18,
+0x07355b77, 0xf142f773, 0x071d6db6, 0xc181d90d,
+0x3b1b1d1f, 0x42c889ec, 0x64193a29, 0x5f63e181,
+0x01884fa9, 0x292dc5d9, 0x6385eb3b, 0xa139de37,
+0x03093420, 0xe7c62953, 0x1276efbe, 0xffd020d4,
+0x20a3cc15, 0x80e24189, 0xc4f041c5, 0x7d9abc10,
+0x909243d5, 0x86b41046, 0xeb2d1023, 0xf373f205,
+0xf412b628, 0xc1f60b04, 0x680860b6, 0x21d0c060,
+0x1afde61f, 0x0a0b6350, 0x5c859d10, 0x98205db7,
+0xf70edb72, 0xb147c00b, 0x4d0605dd, 0xd2f70c0a,
+0x9ae6f611, 0x3881336a, 0x1dd28402, 0x7b04013d,
+0xea81064f, 0x3fda3407, 0x09c2e8b5, 0xe8197567,
+0x991bcf44, 0xc8d89bdc, 0xbf0f7564, 0x03066815,
+0xe15ffd0b, 0xb805491b, 0x1389c755, 0xc10be9f7,
+0xc37dad82, 0xf8220cfb, 0x8dc3291f, 0xad8302be,
+0x6cddadb6, 0x092a07e2, 0xe802a7c3, 0x1b6f57db,
+0x030f8941, 0x0903ca29, 0xc05bd178, 0x18e2b6e6,
+0x800225db, 0xda15e1d7, 0xc83902db, 0xc2294309,
+0xb637141d, 0x5855e37d, 0xab050a79, 0xa1697f77,
+0x70da8704, 0x80fd67a8, 0xe0ff543d, 0x3c74fa31,
+0xf00273e8, 0xcc3be833, 0x0c741bf8, 0x68d04b1b,
+0x03abe304, 0xf058eb95, 0xf40a8917, 0xfdba050b,
+0x83156292, 0xcdff52d1, 0x54b6a53f, 0xce209132,
+0xc54d3611, 0x348e6f52, 0x992deb58, 0xa92f5024,
+0xdb1172a5, 0x8e141df2, 0x1d84417d, 0x9d30c573,
+0x1a0fbdf5, 0x1c7203d8, 0x8511d492, 0xe82ef524,
+0xc22a017d, 0xc1b6d3f4, 0x3980bdac, 0x28972d1e,
+0xe377118a, 0xdf57b82d, 0x38df888a, 0x4341cec2,
+0x207eef19, 0x740e13cf, 0x08018ae6, 0x8ac0be0f,
+0xb9b16d08, 0xd2071513, 0x60ce5bdc, 0x200ed49c,
+0xbf3c0389, 0xcbab1d20, 0x3053d68a, 0x50f4c189,
+0x3984d705, 0x76651218, 0x127012e3, 0x7ffd3cfd,
+0x3fb01617, 0x0122d5b4, 0x2e3a80d9, 0xa51b1b74,
+0xc1207fb7, 0xce0908e6, 0x7e032147, 0xc12717ac,
+0xda08fa3f, 0x1a0410c8, 0xe829c502, 0x421b2714,
+0x00bad843, 0x61abab5d, 0x920a33e1, 0x6858e8b7,
+0x3c30f85b, 0xd0147709, 0xa111b692, 0x0e2ad142,
+0x761391d6, 0x03e2b5ec, 0x0bed2ee4, 0xe912ca89,
+0xfc6eb7cc, 0x12c349bf, 0x60e402eb, 0xc0d964e4,
+0xa80416a8, 0xaa5b96e1, 0x1ace5e02, 0xf6e872bc,
+0x042d4d84, 0xe8c70180, 0x1ff7bb12, 0x17365076,
+0xd1b0e0e8, 0xb1e864e6, 0xb09bda08, 0x60e6dff5,
+0x5bd9ff81, 0xa06d164b, 0x1d89d91b, 0x0afbd7f0,
+0xa1042d6f, 0xe2e80d3e, 0x102332ff, 0x8d9c436e,
+0xbb8a184b, 0x1253e8a8, 0x00fbf7db, 0x98cd2342,
+0x7415fb81, 0xd0acfb83, 0x750dfe30, 0x890ab302,
+0x286d83d8, 0x7b8024d5, 0xb2c0950f, 0x54fe0c12,
+0xa8ee9c3c, 0x89b58d0d, 0xf4eb29fb, 0xded8170d,
+0x81f0f60f, 0x76fff082, 0x90e0bf05, 0x7b66164a,
+0xe011a9e2, 0x910cd79d, 0x059c63ba, 0x0cbe06c5,
+0x22d6b116, 0xbadd1f44, 0xc90f473c, 0xa1d8c9c8,
+0x7494781c, 0x37d04e28, 0xc1825184, 0xebee6db1,
+0x831982b1, 0x04648809, 0x387bb1f0, 0xe0f057b5,
+0x730739d0, 0xb477b108, 0x2c384348, 0xf74b7204,
+0xbd9ea70d, 0x810afe00, 0x1deb1764, 0x54b66cba,
+0xa9d829ec, 0x206c0b16, 0x1ecd4a1e, 0x10724836,
+0xbe85e326, 0x8950b741, 0x4104bcc5, 0x58c9c283,
+0xceb61827, 0x1b76298f, 0x1013c598, 0x90ebda03,
+0x78311508, 0xaf5546e8, 0x6789d068, 0x1fe1812e,
+0xd9e820f0, 0xe85574e8, 0xed85c8c7, 0xfe1b8a40,
+0x90024d0a, 0x080cb000, 0x945ec252, 0x75af47d5,
+0xdc00aa4f, 0xc0763900, 0xfc3d4820, 0x1c22ac0a,
+0x6f1c2ee8, 0x4425d8d3, 0xee00de2f, 0xb2210cd1,
+0x0c86a21d, 0xce016cc4, 0x0cb706c6, 0x07aa1974,
+0x0d1e0111, 0x704605a9, 0xf9a5426d, 0x9b105c07,
+0x8abe17a9, 0x7614353b, 0x4613064c, 0x741d7762,
+0x6c9c1405, 0x2eeb6c0b, 0x6e813a07, 0x29109b88,
+0xcd14b0e8, 0xed57615d, 0x47720c3d, 0x8916eb35,
+0xb1bdf7eb, 0x0a0510b1, 0x3117043b, 0xd1bb2b2b,
+0x0c4f00fb, 0x7c392505, 0x31476c65, 0x561918ac,
+0xe1297c8b, 0xf5de01ed, 0x09b5de18, 0x0bb5ffff,
+0xa3184422, 0xaf6f190e, 0xf0c15c25, 0x2dea1d5e,
+0xdac588f0, 0x6851e02b, 0x118061e2, 0xa33c3522,
+0xa89a8076, 0xa1c5d421, 0xf81702f1, 0x83d9c28c,
+0xf0e2ceea, 0xfd1083b8, 0x72528026, 0x59892b19,
+0x08c023b3, 0x0442ae89, 0xa0dd3f10, 0x5d3e6c94,
+0xb2c2217c, 0x44b60725, 0x3b244108, 0x761d9a51,
+0x084c1889, 0xa2c79210, 0xb777e9ad, 0x31034727,
+0x0d01fc40, 0x9a83a51c, 0x58a868e7, 0x762f8cac,
+0xb56e39eb, 0x7d5dbc04, 0x0d03782a, 0xc746daff,
+0xfbfc422f, 0x01812cf8, 0x8d0d3bd1, 0x3260c8c8,
+0x08730d0d, 0x985162b8, 0x1cb6fe8a, 0xd981e431,
+0x4fc09e21, 0x010e12d4, 0x1c9308db, 0x0160dd7d,
+0x281a2050, 0x1aea5303, 0x2304ec19, 0x085c200c,
+0x03ea4560, 0xe548bbe5, 0xbf604c82, 0x5bb9e822,
+0xdbb42110, 0x930026fc, 0x6d042a37, 0xb8471a0b,
+0x38bb8467, 0x35e0181e, 0xff419e21, 0xf0c6b0f0,
+0x19f51d7e, 0x6035ff69, 0xf32a49aa, 0x1c4dbe29,
+0xec35e823, 0x12516862, 0x02dc96e0, 0x257e8c45,
+0xef9016ee, 0x0bc722f7, 0xc11e5c68, 0x5f3cf61e,
+0xab646a15, 0x0e377834, 0x0b4b7ef9, 0x8c1e6f68,
+0x5fbec374, 0x680b53c0, 0x536d1e7b, 0x02f148ee,
+0x3ee80aa3, 0x3dccb86b, 0x12bd50c2, 0x57f00559,
+0xdd3380bf, 0xe3653c27, 0xbecc0530, 0x3b889c0d,
+0x77ccc131, 0xc01297ac, 0x9e683fc5, 0xc203121e,
+0x34292907, 0x17fffff8, 0xb2d14898, 0xe53ac580,
+0xd378a338, 0x08060581, 0x24326375, 0x6a951b0f,
+0x0a952972, 0x40c37b20, 0x0eb0751b, 0x3c067b24,
+0xfedc523f, 0x8d0b6138, 0x92920e43, 0xd528852b,
+0x217503be, 0xba19061d, 0x9702a1c0, 0x8f8db606,
+0x0520e83e, 0xd52bf45b, 0x183110c4, 0x6c1bac50,
+0x4f01db3c, 0x8b54d337, 0xa30ca545, 0x4759551c,
+0x54b1fdd8, 0x84682268, 0xfdaabb8a, 0x8d5be915,
+0x5514d827, 0x0c25c538, 0xc5b087ad, 0xcb0523c3,
+0x5b122f39, 0xe2c5f609, 0x4707a1bd, 0x23b8261e,
+0x36d2f12c, 0x15461a10, 0xdbfe830a, 0xab4120f3,
+0x062b8305, 0xc3ea4060, 0x27ea27ab, 0xeba2fb4e,
+0xbc424365, 0x061e3c80, 0x05ed8168, 0xf47e055b,
+0xb52d0604, 0x0745d7db, 0x06017e08, 0x7cc6a912,
+0x715d76a8, 0x04150406, 0xf101006c, 0x03237a09,
+0xe8fa3d68, 0x5ece5949, 0x04e39788, 0x2a136068,
+0x2d8e0135, 0x788d101c, 0xd9897e22, 0x8f75b386,
+0x0495043a, 0x49102434, 0xb36f17f8, 0x6ade2601,
+0x1706681c, 0x82441b0f, 0xb442d792, 0xfa36bde1,
+0x33cb002b, 0xa956503c, 0x020ddf41, 0x0d9f10ed,
+0x14bb087f, 0x22ebbe7e, 0x096103b1, 0x474a9a59,
+0x521d580c, 0x54b33c80, 0x53c72df5, 0x8d2420d3,
+0x4506c6f3, 0x7eb6017c, 0x7d0379f6, 0x03006c03,
+0xaa7e43c6, 0xc86c350a, 0x43c7fa24, 0xf8031804,
+0x21067580, 0x53e82488, 0x434dfe55, 0x1c2d7109,
+0xf6a16f68, 0x43e8e027, 0x3b5b1a09, 0x56e24542,
+0x2a442da3, 0x9236555c, 0x518b100e, 0x9b026fd4,
+0xa1a96e88, 0x2f34b211, 0x0a1969e8, 0x8db90377,
+0x4229147e, 0xf867ff2c, 0x5b8b0776, 0x83024708,
+0xdf8614eb, 0xcd8ad75f, 0x82477f35, 0x18c92c58,
+0x44306bda, 0x0602d206, 0x7dee3f17, 0x87aca041,
+0x1a6e661c, 0x28f1defb, 0x5440a366, 0x3c6a5653,
+0x726c5067, 0x11b718bc, 0xe814182d, 0x3c9d7d57,
+0x05087552, 0x6e68750c, 0x560ba244, 0xf60c8b03,
+0x11631849, 0xe854450d, 0x6d158927, 0xf4787f15,
+0x10503b0d, 0x47433475, 0x7e58c1d1, 0xb308aec0,
+0xc2d8c01e, 0x8e5b3dc8, 0x182dea24, 0xb3acab51,
+0xbd0b55ad, 0x450440e1, 0x9806404e, 0x93eb8c05,
+0x1c22ab05, 0x51d60375, 0xfd58e0ec, 0x1cc0337e,
+0x7e812e00, 0xd0c7708c, 0x15352519, 0x02c6a6a8,
+0x0d1a1816, 0xb0e2ac44, 0x0585af67, 0x8649622e,
+0x3ee55aa9, 0x9e84bd2e, 0x8bfd184b, 0xdc62decf,
+0xca0000d5, 0x500646b4, 0x2536fff5, 0x68ddbb47,
+0x1e6863e4, 0x9894e81b, 0x99da0b57, 0x1e401f85,
+0x23c52030, 0x1d8b67bb, 0x07082205, 0xff120224,
+0x3b0b8105, 0x8be93488, 0x36a3a046, 0xb702d7cd,
+0x42007c14, 0x9c093b65, 0x0750dd93, 0x60349736,
+0xab5508ac, 0x6c5a5f8c, 0x9d16e890, 0x3dbb0307,
+0x7609375a, 0x5df5115b, 0x3d3407c7, 0x3f6bc51a,
+0x1e665079, 0xa85bf48a, 0x7e0825b6, 0x120636a0,
+0x1e1f4816, 0x5e006ab6, 0x7dbb8b68, 0xab9a210a,
+0x66727857, 0x9f1639ac, 0xf6e2dbd8, 0x14fa4108,
+0x4bba8f2c, 0x3b1db787, 0x83c1a166, 0x09a303d0,
+0x0388c16d, 0xfd8ec160, 0x1d11d02b, 0x023885ec,
+0xbd40e9bc, 0xb71bdd0d, 0x0ec15923, 0x1718417a,
+0x08f6588d, 0x6125d114, 0x1fc486c2, 0x001c1443,
+0x358817bb, 0x1d74051a, 0x060e7f04, 0xd9ad4cd8,
+0x9e477bf7, 0xc64c2f6e, 0x7406f8fe, 0x0194e92d,
+0x8db11e2a, 0x45862051, 0xe552b63f, 0x230b0dfb,
+0xeb47b6ef, 0x27c6deb6, 0x2867268d, 0x70bad4eb,
+0x056c2aa1, 0xbac3b7f4, 0x2b0edb87, 0xa900e9a8,
+0xc00c2546, 0x3ede251b, 0x7783ad55, 0xfdda395b,
+0x73742e04, 0x68103755, 0x1a588f0f, 0x700dd1f2,
+0x297591b0, 0x077a8052, 0x22013170, 0x8ca48ac2,
+0x775ba1e0, 0xaaa323cf, 0x6dd28aff, 0x2e7b4020,
+0xf16939f0, 0xabe11bb1, 0x6bffcb81, 0x3b69107e,
+0x8f198c6e, 0xc08d0f36, 0x0805854b, 0x9a227bb1,
+0x1703081e, 0x7020687e, 0x81f9e4c4, 0x95212212,
+0x46108f14, 0x008dc091, 0xef11affc, 0xe920ee21,
+0xf6f3db08, 0x42849f6e, 0x75d0393b, 0xa1d3064b,
+0x5ad15882, 0x5e02c1b8, 0x202f3c77, 0x73d6856a,
+0x4f28c1cf, 0x80615806, 0x42da1ac1, 0xc04405fe,
+0xd1829cae, 0x111066c4, 0xf80aa90c, 0xc046de1d,
+0x37a1f6bf, 0x7464ecde, 0x0ecdc6ef, 0x206a4520,
+0xc638e8b1, 0x3ffb4e21, 0x1aeb3f83, 0xf7006a24,
+0xd07b084b, 0x120e16d4, 0x3b807694, 0x2f0c329b,
+0x3c04d83c, 0x680984de, 0xd21f2525, 0x02862585,
+0xf723f184, 0x3701b004, 0x2802b46e, 0xd8013c3c,
+0xaa800270, 0x78c4b583, 0x29ce6e02, 0x871e5b08,
+0x2011b0f4, 0xa8026fb9, 0x2c1b10ce, 0xac152a02,
+0x1bfb640d, 0xe45c15ab, 0x0250b705, 0x463740db,
+0xaa0c4308, 0x01c842c2, 0x009b6d13, 0x0d0290eb,
+0x562167f9, 0x2f10cf8a, 0x37f14d3c, 0x5ca685c6,
+0x0fab3a3d, 0x628dff75, 0x838a66c0, 0xaa2baf73,
+0xc98af12d, 0x3ad17c85, 0xc14f87c0, 0x4353a142,
+0xf3f7f9e8, 0xff6f7c6d, 0xe3008068, 0x15ccea6c,
+0x83b313e3, 0xe964b945, 0x97723546, 0x8c6fb6c5,
+0x5814248a, 0x235835e8, 0x608b7893, 0x1c7bad22,
+0x63125457, 0x22c5b30d, 0x571920c5, 0x0ba0e4c4,
+0x39aee83b, 0x36d8aa85, 0xd9664288, 0xa2a3588b,
+0xa97ea0c1, 0xe83d6ebf, 0xd8f3c906, 0x181f6910,
+0xc17874a3, 0x105cb416, 0x82a3f36b, 0x278bb120,
+0x29c2f007, 0xce05dfe0, 0xba89c17e, 0x7ff869ff,
+0xa09b117e, 0xc9f49451, 0x25057e44, 0x0005ca6c,
+0x18c538d1, 0x3e2842f1, 0x000021e0, 0xa7096aad,
+0xef8efbe4, 0x7eaa33eb, 0x04ec828a, 0x090ecc55,
+0xf021984a, 0xf000883f, 0x2ecbc87b, 0xdb82ec81,
+0x136c8ed4, 0xa297c8a0, 0x19fb04ac, 0xc4df3b7b,
+0x08aead0a, 0xc613aea2, 0xe43b950c, 0x7608b0af,
+0xcf2286dd, 0x2d024072, 0x3d04013c, 0x3f829544,
+0xd8e8063e, 0x538fd83e, 0x2066bd93, 0x880fe827,
+0x8b108318, 0x40031538, 0xdeea12e8, 0x443004a3,
+0x3be06467, 0x20853684, 0x8474a467, 0x8147d822,
+0x16ca51a3, 0xdd8c8cdf, 0x168aa0fc, 0x9c8db338,
+0xba019024, 0x1d67dc25, 0x34a8680d, 0xc6169c27,
+0xda861420, 0x8c499d23, 0xea7425a0, 0xd54104e8,
+0x1ecf0932, 0xbf567332, 0x50284f60, 0x256d8cec,
+0x21513753, 0xf0afedf1, 0xf9582cd0, 0xb16a436a,
+0xf777e8ff, 0x63faa3b8, 0x6a46565f, 0x3e03e824,
+0xf4d7e8c3, 0xd46ff120, 0xdf01c789, 0xc2e805c6,
+0x2c7edba8, 0x3a8961b1, 0x0949b503, 0xd78103ce,
+0xb29a8622, 0x76183f72, 0xe82b7bfb, 0x29fb35a1,
+0xd47f2bc3, 0x01681f15, 0xa245f298, 0x86e81d0f,
+0x050b49df, 0x31483d3a, 0xd60a7402, 0xe8446b96,
+0x488512c0, 0x4c2138a7, 0x96337508, 0xb6101b1f,
+0xa061154e, 0x167f338b, 0x05bb1919, 0x16c2ec2d,
+0x4660683d, 0x43f0264e, 0x43919e51, 0x3a9d61d2,
+0x1dbbaa1f, 0x8a4106d5, 0xec555c24, 0x26081d41,
+0xe2a43850, 0x90943519, 0x0acfed43, 0x4421e241,
+0x02b31acf, 0x5874bbc9, 0xea011017, 0x01e8a605,
+0x0088abe4, 0xf68bd709, 0x661086ca, 0xac1e9df8,
+0x74ac0fd8, 0x86f81245, 0xab00001e, 0x6032603b,
+0xa88e2018, 0xb156dd1b, 0x242cc10d, 0xbe0f53b9,
+0xf6032144, 0x8fe81e67, 0xb6fffff5, 0xb0ea5f18,
+0x8001fc78, 0x7e13a105, 0x427080a9, 0x933db16d,
+0x3ec329a0, 0xf80a41d8, 0xd31b4ac4, 0xb72110c4,
+0x743a33e3, 0x40b31136, 0x02838b36, 0xb7ef9805,
+0x00833803, 0x34586807, 0x8c0ac415, 0xef441d11,
+0xb81d35ea, 0xa1cf1d11, 0xd050340a, 0x03d52602,
+0x4dca934c, 0x03803846, 0x3cb71d99, 0x2bc1f0de,
+0xe7bc59d0, 0x68496a11, 0x16b95be0, 0x243106e4,
+0x389d4904, 0xbec10930, 0x45ce9f02, 0x688ff87d,
+0x1a8e1944, 0x808e0e58, 0x6aa3d613, 0x23f78973,
+0x081b1dfc, 0x35ff0432, 0xf459e82b, 0x213909c8,
+0xc608e235, 0x62b5dc00, 0xddcf8e4c, 0xbb8e0f0b,
+0x4dda237f, 0xb78de822, 0xba0c0304, 0x38e38e39,
+0xd1755ebb, 0x021fe2f7, 0xfe832c26, 0x760b3d7a,
+0x15fc3024, 0x2cccc481, 0xf0b26af0, 0x0c240d1c,
+0x53c07ae0, 0x9b904325, 0x2d5b6d49, 0x88c58aa4,
+0x82c01107, 0x83f67117, 0x124b14e8, 0x14e2553d,
+0xe74e925d, 0x1616413b, 0x23e124ba, 0x21147850,
+0x13c15833, 0x0cf31ae5, 0xb0d49615, 0x11270cd2,
+0xc3e0af7f, 0xd4e8d120, 0xc0d8efb6, 0xc8750b15,
+0x1fb68ba5, 0x9e290742, 0x206aee91, 0x3a80f3e8,
+0xf141729a, 0x245a263c, 0xbfebaef8, 0x2e3b259f,
+0x4ae9cf76, 0x1385ba02, 0x760d1e8d, 0xfcb7d1c1,
+0xb7b5de09, 0xc1c3cf42, 0x0d099ce3, 0xc7bdc309,
+0x110a9609, 0xe9d61d81, 0x0e2551df, 0x8d47cc21,
+0x428a0e6a, 0xb7edc52d, 0x3c45bd0e, 0x2f81770a,
+0x14770e52, 0x028b6ea1, 0x04c13238, 0x89c4fd02,
+0x551c3fb1, 0x8ee65ce8, 0xdb460966, 0x66c74df6,
+0x3f0645f7, 0x284c2c1a, 0x02205140, 0x03c94174,
+0xfa7d1087, 0x84188a03, 0xe90cc528, 0xbf09f777,
+0x458b3322, 0x05dc3d2c, 0xff0e8f32, 0xa837dffb,
+0xef6e7c5d, 0x7410bb14, 0x8dbea13c, 0xd11df7fa,
+0x8d592250, 0xa10e0174, 0x29c189a8, 0x80aeedf9,
+0x6307098d, 0x170eeba4, 0x68581ad8, 0x370a8436,
+0x8afc0efd, 0x47afbc08, 0x1eb52605, 0x6037f82c,
+0x097d8063, 0xce5d7511, 0xf5358b54, 0xcb2c7452,
+0x045c22c6, 0x15c2d686, 0x860b1ac9, 0xec6e8134,
+0x8687b8ee, 0x7e839bfe, 0x892674a4, 0xf61c08d3,
+0x74ebfde3, 0x475d6257, 0xb7eceaf5, 0x9f59c817,
+0x601cce79, 0x4555566a, 0x9a54033a, 0x8e559e13,
+0x066ebc8f, 0x6177582c, 0x6e892cf6, 0x2deefe1f,
+0xd1620de2, 0x4c664dc2, 0xd88627c3, 0x2675e0b1,
+0x1a183056, 0xdb921161, 0x81b90bb6, 0x3f018d7f,
+0x00b389ec, 0xef22b9b3, 0x360ddd0e, 0x02edfb38,
+0x56905d3a, 0x336fdbff, 0x494f19a8, 0xc5835616,
+0xd8cfbf20, 0x1982c046, 0x21bf9279, 0x60c5b741,
+0x0faf31a0, 0xdd18f157, 0x3e2d5766, 0x80e96eec,
+0x6ab015fd, 0xfec43848, 0xfb30a146, 0xdf864fd1,
+0x0d3a00b1, 0xbfded4c0, 0x8a187355, 0xb82c0715,
+0x837a97fa, 0x4108742a, 0xd1384436, 0xf980f372,
+0xb6cf52ef, 0x752445b0, 0xa201431a, 0x54d55709,
+0x06d1541b, 0xd97dba04, 0x851c6f67, 0x0346bc33,
+0x048d1a50, 0x5c102585, 0x13040678, 0x96400119,
+0x5657f61f, 0x86c17f53, 0x5e1db3cd, 0x0819679a,
+0x6efbd343, 0xe4991d3a, 0xd3434190, 0xf3feb00c,
+0x89fb1116, 0x3c8df8f8, 0xa4360285, 0xe24ffe8a,
+0x468ac83d, 0x763c3c02, 0x2e3cb002, 0x7cf56b39,
+0x02d3a857, 0x4722a0c9, 0x62da186a, 0x5caeba23,
+0x78ae704a, 0xad0a7cdc, 0x60570416, 0x1b6957a4,
+0xe0b696a3, 0x53977432, 0x243d8717, 0x44dde460,
+0x08ec09c5, 0x35c83c49, 0x013d8801, 0x5202369f,
+0x1822c15c, 0x7bb9086f, 0xdc27ddb0, 0xe95d04c3,
+0x75015986, 0x5c9f3126, 0x17f003c8, 0x04ee8387,
+0xd0b74407, 0x304df089, 0x6ed23d77, 0x7663f357,
+0x93a0e022, 0x2ca190d6, 0xa8926018, 0x501f6c02,
+0xac400b78, 0x3335c920, 0x15cc3bc7, 0xa34056ff,
+0xf4adb004, 0x351dde96, 0x81b7ba8f, 0x916e34ec,
+0x84e31b82, 0xad52f355, 0x460d54c2, 0x6fa99a1b,
+0x9caedd40, 0x10038aab, 0x4306b80a, 0xd4bf87e9,
+0x800f84ba, 0x0d75cbba, 0x1d89df89, 0x87db2316,
+0x1370e9df, 0x7517343d, 0x22350869, 0x7b633576,
+0x381be025, 0xc83868df, 0x8cfd9d80, 0x34a416e7,
+0x4bec3533, 0x032c73ff, 0x7b802575, 0x117b0301,
+0x3d000002, 0xb53ec1d9, 0x3da9e89c, 0x488501f6,
+0x12f54776, 0xe9e80975, 0xc04d01e6, 0x365f61df,
+0x00000081, 0x35251551, 0xd97b0e75, 0x024c2e2f,
+0xbbe960a3, 0xac5a752a, 0x09903438, 0x60323536,
+0x6effb583, 0xc3263387, 0x1d1cf4ae, 0xa32ebf0c,
+0x3ec3bfa0, 0xa3af006c, 0x01580fe0, 0xffb7f080,
+0x2573ff6d, 0x8d2e7508, 0x6b200273, 0x39f50101,
+0x66960eee, 0x373754b1, 0x87e24dd5, 0xaa556c0b,
+0x03862002, 0x019e4870, 0xe872eefb, 0x353d1ae9,
+0x0c932409, 0x9100f972, 0xb90efe30, 0xaa00dcec,
+0x2b46363f, 0x50ac2f75, 0x0b06e801, 0xb95d53e0,
+0x6a77e031, 0x6a50b2ff, 0x834ceb7d, 0x189b1b25,
+0x854794f2, 0x6e33c080, 0x76059628, 0x8a80b128,
+0x67906db4, 0x0e153bb5, 0xc36b061f, 0x7b1a91df,
+0x3456eb21, 0x1e137581, 0xa708a7d8, 0xeb271e28,
+0xfdb69f3c, 0x2a33721d, 0x2375962b, 0xbd98347f,
+0x52572320, 0xd7631934, 0x03d54b8e, 0x64829b02,
+0xd13d89fd, 0xdba43b81, 0xacc52c05, 0x22eb064f,
+0x487612d0, 0x4a423019, 0x412daace, 0x0d4ac085,
+0x033c5b65, 0x18323399, 0xa7d10437, 0xfd20a091,
+0x11874ed0, 0x23a7811a, 0x8e5494a9, 0x24106409,
+0xd7a10e09, 0xe804c65c, 0x86eb1c17, 0xb9057e07,
+0x885f3807, 0xd36bc0be, 0x3f66e8e3, 0x1c71c7ba,
+0x06fc01c0, 0xf799d1f6, 0x8a3629f9, 0x9104d420,
+0x178ad49b, 0xbfc0c941, 0xd04dfb50, 0x83c8f541,
+0x76015478, 0xb4102b19, 0xc6c53247, 0x715471f7,
+0x8f7fffbb, 0xd519c7ca, 0x68703922, 0x05722a77,
+0x77645839, 0x8b20bd23, 0xc1186efc, 0x35305842,
+0x13644103, 0xa5e86851, 0x72724be0, 0x51227706,
+0x8107e81e, 0xca8c5a81, 0x6da82770, 0xff270761,
+0xa7c41152, 0x0a416cc2, 0x5028a516, 0xb13f2971,
+0x09530d74, 0x136c2840, 0x6446e830, 0x1388c911,
+0x0d059187, 0xbb0c38a3, 0x84fd51a9, 0x00bdcd83,
+0xc5393001, 0x460b1f73, 0x0e2461d0, 0x11eb01e0,
+0xddeffdd6, 0x7239ad7f, 0xbd117760, 0x0a775c5a,
+0x5c582bcd, 0xa860701b, 0x52ac780f, 0xfee6e89d,
+0x58aa1853, 0x144331d1, 0xfd631d45, 0x3074de82,
+0x797bb172, 0x0168cf12, 0x7689f59a, 0xc10fe2d4,
+0x58a39dff, 0x82449d98, 0x59c5b828, 0x5a2c7d74,
+0xb58d20ff, 0x23e1be88, 0x89b6fbff, 0x50d829e8,
+0xeb78224c, 0xe8060174, 0xb216d698, 0x6f437a07,
+0xdd75f339, 0xc5f218d8, 0x8b9d9a2b, 0x33eaca6c,
+0x8c0a3c2c, 0x36e838fe, 0x85dc224c, 0x48483039,
+0xb21ce989, 0xeb80fecd, 0xa1df11ce, 0xad6378f8,
+0x7070721c, 0x1abd2912, 0x01a2b05a, 0x3c0668df,
+0xfe2b3f00, 0xfe94e803, 0xb8977987, 0x68911200,
+0x620b6259, 0x851bea3f, 0xff03e01d, 0x9f644c40,
+0x8aaee8bd, 0x832c8554, 0x80b01c7a, 0x02471edf,
+0xc7784288, 0x46f47442, 0xc3ef7808, 0x90c4a8c5,
+0x1f260a66, 0x780e9f42, 0x95b4aa2d, 0xe0371282,
+0x0ced8c20, 0xde30497a, 0x5f741734, 0x3751de82,
+0x3c61380e, 0xdf0010b9, 0x2ac9ba2a, 0x413c3c38,
+0x76c13928, 0x801e25db, 0x4c412a24, 0xf0456051,
+0xd4ed0aa6, 0x1f1cd283, 0xb763202b, 0xda11d86d,
+0x38408c3d, 0x512ae8d1, 0x800d051d, 0xd0e70974,
+0x77058351, 0xd0293445, 0xf70a1850, 0x37f6e223,
+0x116dbee8, 0x29d54fa8, 0xcfaa7007, 0x04dfb144,
+0xf8832754, 0x2d2274fe, 0xf63a2901, 0x9021682f,
+0xabaec510, 0xaa60d498, 0x6248d891, 0xa05c1067,
+0xcb40644c, 0x8bc43175, 0x91ea408a, 0xda8c513a,
+0x83a18865, 0x688e7ad8, 0xe1945935, 0xed7b1e58,
+0x3a3f439d, 0x93e83fb9, 0x5ed0c2fd, 0xe1d588cd,
+0xb20e4326, 0x323479af, 0xdf87c060, 0x2d747060,
+0x1886a868, 0x1a86ba0d, 0x442c2f16, 0x7aba4885,
+0x6aa9dd97, 0x3c78ab20, 0x423520b3, 0xa0efc8f5,
+0xa854020f, 0x9e64c586, 0xc52ebe10, 0xa1827036,
+0x5e448c8b, 0xcc770f99, 0x0ca10438, 0xeb048773,
+0x8d872040, 0x25902510, 0x0f7cfa73, 0xeb060232,
+0x6bbaac1a, 0xb8a4ee0c, 0x910c7ea4, 0x0ea2920a,
+0x5028d8ef, 0xe7dc8c3f, 0xd8347b44, 0x742bcafe,
+0x722d0405, 0x1b6f08f4, 0xf00c903c, 0x442436a8,
+0xa0cd2024, 0x513a6433, 0x1454cd78, 0x01bd2e88,
+0x203546ea, 0xf278cfbf, 0xc526930b, 0xed77c80f,
+0x7cebd819, 0x289740bf, 0x2b083466, 0xd114157c,
+0xe2a75005, 0x230ee40b, 0x54ab7fe0, 0xe021ac09,
+0x502d6e03, 0xc15149a2, 0x3d17e0eb, 0xa36b95e8,
+0x3effc620, 0x94744902, 0x72381d39, 0xb83589d9,
+0x6a91f797, 0xa3083ec0, 0x9f3097b4, 0x767a4e94,
+0x1718a649, 0x909aba98, 0x1e1e3a20, 0x7cdf8b9c,
+0x4bdd6c1a, 0xba6331c0, 0xfa81d10c, 0x12730524,
+0x56fa8da5, 0x47753239, 0xaf4b0b8b, 0xa47b18dd,
+0xb938eb5c, 0x7ed27ad3, 0xaa5f6f2d, 0x3c2d4645,
+0x051e75c8, 0xb002c86c, 0x75d44fb9, 0x1c503a17,
+0x00c80916, 0xdf7b7ff1, 0xeb08420d, 0x4a39416b,
+0x36d37f10, 0x2aacf442, 0x9caa7255, 0xee906953,
+0x7a46074d, 0x08e9c118, 0x71043070, 0x212864fb,
+0x74945439, 0xa2564b1b, 0xcd1459b4, 0x015f63b1,
+0x0b26cb81, 0x4d1bc159, 0x2c825c18, 0x13002b76,
+0xd6c00b10, 0xa9441e60, 0x11808d1c, 0x78db70dc,
+0x4640851b, 0x1d1c52db, 0x1dcf1bb7, 0x1a58081a,
+0x00197003, 0x1da8dd2b, 0xc60eed1b, 0xdbf6f8e0,
+0x5b7f7423, 0xbc548723, 0x42c6441c, 0x8b19031a,
+0x8618c158, 0x3efae7df, 0xb1622ef4, 0xfe81f3e6,
+0x9187e8fe, 0xa8ef6083, 0x7507c32d, 0x6f4e4913,
+0xe878ce2e, 0x0b0d2396, 0x890f9a51, 0xc0180a59,
+0xb3a94850, 0xe9341729, 0xdfc6f31d, 0xb0118741,
+0x32bc013d, 0xc0e0340f, 0xe8d73df8, 0x6bd30406,
+0x0466bace, 0xba08380a, 0x2a6ae89b, 0x18262057,
+0xdb6054d6, 0x209f7144, 0xf5055022, 0x7bb811bc,
+0x64032cc0, 0x28c00ce8, 0xebb12ef2, 0xd75a920c,
+0xdc5a88aa, 0x6d4b88f8, 0xe5d0d117, 0x9d5b0289,
+0xba59a68b, 0x06426363, 0x57302062, 0x8381f0ed,
+0x3026f2c1, 0xd6771d07, 0x8f148afd, 0x391d146a,
+0xb1183c80, 0x644b875c, 0x1667be0c, 0x4e247f11,
+0x191f56ba, 0xe283e228, 0xa81174fc, 0xe80eded6,
+0xcc0d7401, 0x338bd089, 0xbe86f0f5, 0xfe24c6c1,
+0x05cc7e24, 0x3d6a5317, 0x3a1b740b, 0x50190216,
+0x5d6e1a04, 0x4488685b, 0xb1173639, 0x4f2b1f19,
+0x3d3c6486, 0x284f448a, 0xccdbe10c, 0x4327eb18,
+0xc7849ef0, 0x86904770, 0x4709fc6f, 0x06b0ff81,
+0x82708d42, 0x002c0e4f, 0xeb402df3, 0xa7d506b4,
+0x6b435c43, 0x1d4d7782, 0x8316be66, 0x39c405c8,
+0x1cc26c21, 0x201874b5, 0xec83ac26, 0x3fdd6c80,
+0xa00d1805, 0xb09bbc21, 0x1f053f02, 0x1c401677,
+0x82a0353b, 0xea053014, 0x0e410c23, 0x1c5717f8,
+0x4167cd66, 0x47d3462a, 0x00dc18a6, 0x0d073e35,
+0xf25bebfc, 0x60dc50be, 0xbf06e0a2, 0x578d4175,
+0x8396d80c, 0x3a529f29, 0xa1045498, 0x47e02a9a,
+0x104cf54f, 0x2d59f484, 0x27678907, 0x1beb0329,
+0xd609f04c, 0xd9c30b40, 0x48bf783e, 0x024828c9,
+0x6036f584, 0xa774b185, 0x2bd2e510, 0x5607266c,
+0xc914276a, 0xc581e45e, 0x20fe17d4, 0xecc5428b,
+0x2e9a16c0, 0x36dbe376, 0xea0c3d62, 0xa5f00605,
+0x1f8e6c04, 0x21daf7c2, 0xd0093fc2, 0x861e4fa4,
+0xbe5c3af4, 0xcc580030, 0x0e616c06, 0x54540688,
+0x20d4bb6b, 0x7d0eba55, 0xa928d384, 0x0d3a6603,
+0x1fee289f, 0xc16a8ecd, 0x7f091905, 0xd80c9ec7,
+0x6ab925b1, 0xebc82534, 0xcdd20323, 0xe90c27fe,
+0x14244a88, 0x1ad8efa3, 0xe2dc4e27, 0x3f0c0264,
+0x77605d76, 0xce80bdae, 0x0b2fbe1e, 0xb72e5250,
+0x74326019, 0x58342f0a, 0x817b1ddb, 0x9e74f809,
+0x318d4061, 0x1c2d5052, 0x4601b019, 0xa377075c,
+0x1861c503, 0x888fa772, 0xbbc0e940, 0x03650319,
+0xb323e25a, 0x01817d73, 0xb19ecf18, 0xc3140537,
+0xe2721d10, 0x9044b885, 0x5ed0cd80, 0xba418024,
+0x036832bf, 0x7e0a2c90, 0x85821c14, 0x5aa715be,
+0x6d75ed8c, 0x0c063724, 0x52fb1a3b, 0x20aa15b5,
+0x830a857b, 0x8f151003, 0x2a05c27d, 0x7f3b81d5,
+0x37038b61, 0x8ba97d8a, 0x7510463a, 0x462b2dd2,
+0xdb6fb820, 0x7007764e, 0xa3661693, 0x6dcfc058,
+0x89024d41, 0x80560c15, 0xbc420ed6, 0x50311474,
+0xbf68a918, 0x5389c0f1, 0x148c176e, 0x4cf12b1c,
+0x017adbd5, 0x2c1470cd, 0x7211c8c6, 0xff9001f6,
+0xc8c9040c, 0x1b183245, 0xef833904, 0x20d41d76,
+0x0b43ff01, 0x081cb143, 0x1c0743a5, 0x285d6c20,
+0x763fa702, 0xcb209f10, 0x2625ec16, 0x223e10c4,
+0x044a691c, 0xf608092e, 0x1dba4655, 0x4618dad4,
+0x06060904, 0xc613a87b, 0x841e08b2, 0x131b08bd,
+0x1c708432, 0x32201953, 0x93921127, 0x6c2168d4,
+0xe28fd530, 0xea24b48b, 0xeab724bc, 0x8608d4bb,
+0x0802e810, 0x661bf125, 0xcc14fa85, 0x0788068a,
+0xa051e947, 0x101115eb, 0xd68a1dbe, 0xd30c2d9d,
+0x4613b156, 0xb0f6f61e, 0x090ab0b1, 0x2e40f676,
+0xcc180175, 0x7305fe9e, 0x848b4575, 0x06832b24,
+0x1bdd7b0f, 0x3b80186c, 0x735f6578, 0x14ac8a07,
+0xeb039b63, 0x1a03700f, 0xfa607070, 0x752943ee,
+0x023ae9da, 0x6c7b8c69, 0x28e01a84, 0x23bd1c51,
+0xf6110975, 0x5ac3dbd8, 0x756c0d46, 0xeb461708,
+0x7bfe0c13, 0x7568fd9b, 0x170cb90e, 0x04b1030a,
+0x3c20c891, 0x4eca7578, 0xf97e17d9, 0x91137e1c,
+0xef1211eb, 0x875a1636, 0x7cade2cd, 0xc60e7472,
+0x76f52c45, 0x453000fb, 0x5843d088, 0x85450988,
+0xc379a7c9, 0xfb4f040f, 0x808acfd8, 0x7fbdab2e,
+0xd0096fff, 0x04e9831a, 0x5ce9e879, 0x0f649f01,
+0xfd52a485, 0x71d64620, 0xeb705e17, 0x20bf7715,
+0x79311681, 0x452d7309, 0xb81f70f7, 0xeb894f11,
+0x210ab903, 0x25036e05, 0x8a1c05c8, 0xb7b77003,
+0x55886d5b, 0x6667b870, 0x256cf700, 0x2644b777,
+0x038b79f7, 0x3202fac1, 0xa0b808ff, 0xbe75355d,
+0x39ff558d, 0xc4f86fda, 0x18c31212, 0x026d0abe,
+0x80430b88, 0x4ab7c23d, 0xe9f17712, 0x75404caf,
+0x55fd8c46, 0x9f2c7133, 0x76d88b03, 0xa1e17722,
+0xb6db0fc2, 0xf23f68a1, 0x40a03a1d, 0xc5631255,
+0xbfb784a9, 0x77240b00, 0x64eb4de2, 0x3d75214a,
+0xba854f4d, 0x06538da7, 0x92e52088, 0xb1926004,
+0x4368e30f, 0x563b8641, 0xcc6ba5c2, 0x63224172,
+0xe6f13075, 0xeb5d1fde, 0x07068a06, 0x73eb9094,
+0x3936f125, 0xd12a3f85, 0x46db7224, 0xf80661f6,
+0x671885e7, 0x07c6032e, 0x2d80c1dc, 0x842bf8f6,
+0xd46c270e, 0x17b80424, 0x13aa9ec0, 0xc4e82c31,
+0x585eb4fc, 0x1b304447, 0x0a19aab8, 0x732b4146,
+0xde206dcb, 0x1b5c569e, 0xcdb200b0, 0xfa378a30,
+0x1693be97, 0xae844647, 0x74d28426, 0xd1d03822,
+0xef97c188, 0x03c6137f, 0x8820488d, 0xf6d188c8,
+0xca4a0bc2, 0xfa66a038, 0x4b034f52, 0x02cdd075,
+0xbb15260f, 0xed5f5eb5, 0x2b6360ee, 0x028acbfe,
+0x41018842, 0x5b6df6ed, 0xa92c3fda, 0xde89e6c6,
+0x8ffa834a, 0x15bdd46e, 0x038820ce, 0xbdf02343,
+0x82975e5b, 0x543de9a6, 0x742ed34c, 0x9af6b006,
+0xfa344282, 0xea484b24, 0x5e1722be, 0xd6484c5f,
+0x005b036b, 0x4e2c2719, 0xd2ec3d2c, 0x4912741f,
+0x7ec60575, 0x75110aeb, 0xc16fb6ee, 0x56a16382,
+0x1a2ac388, 0xc558db18, 0xa527d7c2, 0x5fc37ef0,
+0xbf068055, 0x20103884, 0x246d683f, 0x40fb7928,
+0x3008200f, 0x5c30233b, 0xfbb121c2, 0xdf00807f,
+0xd1f7aef2, 0x19048d49, 0x5c480a35, 0x6fb83040,
+0x45daf773, 0x806dec68, 0x53c88939, 0xb1bf11f2,
+0x20058e12, 0xf461050b, 0x2c684929, 0x1047c888,
+0xdc11371f, 0x8925b800, 0x8a136cf2, 0x3dedfb08,
+0x740a3af6, 0xebf6db08, 0xd84d0605, 0x404309eb,
+0x10e0833b, 0xd889dbfb, 0xaccf59d1, 0x72d1da23,
+0x0c62da89, 0xd8d8d837, 0xe72b1164, 0xb36b5b93,
+0x322fb7e8, 0x8b0ff985, 0x0335f41d, 0x0d502dc8,
+0x708640fa, 0xb57778d1, 0x4dc4c5ad, 0x05c711c1,
+0x3dd0231f, 0x1eeb0484, 0x089d8c21, 0x0133e0ab,
+0x67047198, 0xaf622a13, 0x7b8d26a3, 0xb0e876c9,
+0x3019531e, 0x48445734, 0x892f2c76, 0xc2f0ba06,
+0x61570461, 0xf0ae0c13, 0xbc287b02, 0x5b0c1a0b,
+0x2c9b0424, 0x08243746, 0x30c152d6, 0xa1689426,
+0xc6db4570, 0x02139811, 0x98c56e01, 0x43e55f84,
+0xef754e41, 0x1a40542f, 0x90a36e0a, 0xb4210fe2,
+0x8b80c857, 0x78a595b8, 0xa1a6f175, 0x6e7c2069,
+0x1829e55c, 0xa3b0f1e7, 0xbacd891d, 0x88eb3a74,
+0xffa74034, 0xce890694, 0x187ce939, 0x4b85554e,
+0x24a88c5d, 0xd2d2f6a8, 0x68a458ee, 0x84e87dc2,
+0x631fa657, 0x6649302b, 0x8a20172b, 0x41420142,
+0x38bfbc68, 0x0bebd089, 0x19b4b216, 0x3f140d14,
+0xaf8acf0c, 0x77010fe8, 0xc03d8372, 0x07e2168f,
+0x02ad0cb9, 0x3d8053eb, 0xa08160ff, 0x53756703,
+0x06dc45d4, 0x331157ab, 0x26409700, 0xc82c8f78,
+0x8416a301, 0x7d662ac1, 0xd97b0a8d, 0xb00c5120,
+0x5d025414, 0x8db2baae, 0x305f4076, 0x76e14480,
+0x041ae845, 0x105524aa, 0x51600c28, 0xbbe80924,
+0xedb63801, 0x2db8230d, 0x79e807b8, 0x682141a7,
+0x7dbbc1fe, 0xe80957df, 0xeb0bfeff, 0x08ff8414,
+0x12b73e80, 0xa80d0a4e, 0xbb75d889, 0x185b4062,
+0xcbe4bb60, 0x0dc822bf, 0x9549d0e0, 0xb441b1ff,
+0x9d0699a5, 0x0dfc5710, 0x7c964280, 0x08eac166,
+0xda17c589, 0x0ad958f8, 0x1e1a5338, 0x31741838,
+0xc03b6c62, 0x068847c7, 0x0ac7ad18, 0x4c830942,
+0xb5bcae0e, 0x3b1b4216, 0x88e88932, 0x60620b55,
+0x620000c5, 0xd2072362, 0x03177d05, 0x2765850a,
+0x08300873, 0xc2382d5b, 0xe9d815b6, 0xbb5b2dfe,
+0x4ae2012d, 0x82248d26, 0x1b089b08, 0x2d454773,
+0x16d95a11, 0xee2d175b, 0x6fb03b23, 0xffcf0b47,
+0x681037ff, 0xc9520105, 0x8848fddc, 0x69f64c83,
+0xe90c2ead, 0x553d1bcd, 0x0a43efbf, 0xd0b153d2,
+0xe88fe00d, 0x032bc189, 0xee798366, 0xba08b1d8,
+0x796c270f, 0x462aa2e9, 0x41e47345, 0xc6025104,
+0xe3b83687, 0xba090d2d, 0x7b80c029, 0x1515f403,
+0x4de93bb9, 0xc2220406, 0xbaec152b, 0x34114a08,
+0x067f0417, 0x5472d00c, 0xda86140e, 0xb728e06e,
+0xaf28eb43, 0xff340a08, 0xb82d756e, 0xb8260606,
+0xdc1f8035, 0x3a0846df, 0xc63c0c84, 0xeb0ee929,
+0xf8225c0c, 0x16eb8e65, 0xa23a5156, 0x23c17fcd,
+0xf1e92225, 0x070300c7, 0x34050984, 0x9cfca96d,
+0x32094d05, 0xb0029c2c, 0x5f50b14d, 0xfad54f1c,
+0x422c1023, 0x545b07ec, 0x0ae4af4b, 0x4a5e548b,
+0x04c0a174, 0xbc288a99, 0xb3705810, 0x0b2c75a5,
+0x07dc263e, 0xc1a36150, 0x12807343, 0x06ec59b5,
+0x8b818500, 0xd972cd70, 0x0c852ad8, 0xa1161c13,
+0xa01df758, 0x2c453518, 0x163f2e39, 0x30f195b2,
+0xa6290001, 0xb01c600e, 0xfb85c445, 0x7d952391,
+0xcc79195b, 0x7267ffff, 0x26b16e32, 0x35355fbe,
+0xa37d77fb, 0x3e879be2, 0x8d4e757e, 0x6bae244e,
+0x022a6c2c, 0xd1598b1b, 0x23560703, 0x05069a16,
+0x3bff24f9, 0xdd0a17e1, 0x24880807, 0xc11a5139,
+0xae4108e2, 0x41b52bad, 0x0b208a19, 0xdd630934,
+0x0abe809e, 0x0f790dfc, 0x2329eb05, 0x53ddd6c0,
+0x501f7502, 0xcd031003, 0xd7c35c07, 0x09080374,
+0x04cd0b2a, 0x9017a41e, 0x27492d10, 0x07653057,
+0x37fffa85, 0xb3c137c2, 0x8690496a, 0x1209f5b0,
+0x83079680, 0x349880d8, 0x1a7bab16, 0x02726c45,
+0x04611007, 0xde980049, 0x041830ed, 0x0ec36b62,
+0x149fa2a7, 0x6b6b0f9b, 0x000001c0, 0x1014058b,
+0xbbb79c3e, 0x0e6ea7a7, 0x02b00f03, 0x7f04513d,
+0xd00e800a, 0xe913574f, 0x210ff672, 0x3704d9a2,
+0xca6bc564, 0x5460d9cc, 0xb6101822, 0xe4118ecf,
+0x4de9104e, 0xc3010268, 0x336c82b6, 0x33375642,
+0x6c548714, 0xeadee94d, 0x4d66e906, 0xa939152d,
+0x30581606, 0xeb40c16e, 0x08da24a1, 0x77c78d7d,
+0xd70eb506, 0xf1ff12c1, 0xfc8b1c54, 0xd49005f3,
+0xd9682b47, 0x1210f117, 0xb231004d, 0x7e160c01,
+0xa5e1564d, 0x2d3d14f1, 0xebc21f74, 0x7f06c7df,
+0x0d003d09, 0x3d1beb0b, 0xdd4a5b3d, 0x12ebe182,
+0x0510b82e, 0x28b5c002, 0x0305e876, 0x76898ef8,
+0xaf7fb0e1, 0xf6ece856, 0xeb5695e8, 0xb070fd44,
+0xc9957e08, 0x2d5dffff, 0x49d984c9, 0x000d3d87,
+0x1c061078, 0x62da1256, 0x710a950e, 0x576460c0,
+0x63f82eba, 0x5681c080, 0x4a85ad04, 0xf8d535da,
+0xf7ff6a3c, 0xbe8eb735, 0x0266dd60, 0x3b778bf8,
+0x362aca05, 0x1a743e11, 0x78d88364, 0x1ba31c5d,
+0x62b60aab, 0x3082ee10, 0xa1188a83, 0xadb11e83,
+0x731154e8, 0x49b74413, 0x00080891, 0xa0ac7602,
+0xf4c01460, 0x0376adcd, 0x613b073d, 0x89660e36,
+0xc10fe83c, 0x669eb822, 0x1b507854, 0x9a6b1ea3,
+0x90891218, 0x0e1ce394, 0x0608c402, 0x6574aa98,
+0x246cf09d, 0xf5ff9c05, 0x6078904e, 0x5f5b243d,
+0x4af6fa8a, 0x034535d2, 0xcc2d2cb2, 0x4849d042,
+0x2800a032, 0x0ec3f788, 0x75abba81, 0x80828d31,
+0x86bc44fb, 0xdcad8247, 0x7e099882, 0x0c3aa984,
+0x90820fff, 0x80b30684, 0x681b8bd7, 0x08f0d84a,
+0xccdbc650, 0xa7403e18, 0x7661910a, 0x0e1a242c,
+0xf9fd935a, 0x09260204, 0x04f306e8, 0xb905bb29,
+0xf451ff2a, 0x0980e6f5, 0xac607600, 0x72216229,
+0xd438dd83, 0x58a91b1c, 0xa33b3da2, 0x87623973,
+0x7439457d, 0xe0a78b2b, 0x26cdba4b, 0x53f3f35d,
+0x08949801, 0xfca47456, 0x425c001c, 0x14b01847,
+0xf5986174, 0x4021f2fc, 0x5efa7953, 0xd1165302,
+0x559d362d, 0xf58686a0, 0x58458f18, 0x968b7cdf,
+0x83081282, 0x1df06131, 0xda434094, 0xb8683c05,
+0xcb24e478, 0x1525c84e, 0x33199f0c, 0x1a4a6306,
+0x76f4ff16, 0xb2ec2d79, 0x986a0001, 0x077a600e,
+0x7cb77986, 0x24e9140b, 0x0ca41bb0, 0x8c13c716,
+0x8e42361d, 0x3c1b8903, 0x8a10ae8b, 0xb620898d,
+0xe91a7960, 0x9b1899ca, 0x6b607e08, 0x3b985725,
+0xea240924, 0x6a762905, 0x40280b18, 0x45c96162,
+0x9016b143, 0x119a029f, 0x6b1a9450, 0x8d3b1551,
+0x222b40c2, 0x261863ff, 0x942f011a, 0xc40148f7,
+0x24c41162, 0xbe2fc098, 0x478b686b, 0x018b840c,
+0xfdb81d45, 0xf01e6f95, 0x47b0ee83, 0xde9ead10,
+0x7630c071, 0xf0390ebb, 0xa3064173, 0x6aa9142b,
+0xcf121398, 0x3901f85d, 0x518d5610, 0x81555208,
+0xdd587df1, 0x0e73af44, 0x5bf0bbbe, 0x3a42c05e,
+0xf335c421, 0x08aa5196, 0x782a7823, 0xea23a02a,
+0x7ac7c352, 0x5304d5fb, 0x3102a494, 0x09eac011,
+0x4f00ba70, 0x20bf5b08, 0x26c508bb, 0xb7f2d95b,
+0xbe231c23, 0x460b8de9, 0xc789de0a, 0x5fec43aa,
+0x15bf05de, 0x0f1d1108, 0x6a66d1be, 0xc34e5ec6,
+0xd3fb811c, 0xbc183142, 0xebcd377e, 0xc81ba0b1,
+0x56e846d9, 0x6d100e0e, 0x450c8b68, 0x40f09481,
+0x387d534b, 0xc71e8d53, 0x0adc109a, 0xc7bc85c8,
+0x10559149, 0xd0014446, 0xb450aef4, 0xb72876a4,
+0x412ece46, 0xbea8fce0, 0x928a05db, 0x3911908d,
+0x11c7bb25, 0xfcc38128, 0xa1f1dbfd, 0x532185ba,
+0x88020324, 0x62eb42a2, 0x0306e701, 0x1161a144,
+0x34e1df4d, 0x6a84160f, 0x10077b80, 0xd0596aa1,
+0xa11423c8, 0x75d51874, 0x7768fd11, 0x2cd6ef9e,
+0x1486b144, 0xe644145e, 0xe81876e7, 0x00151984,
+0xab1b9104, 0x3a8d5a75, 0x9e186b87, 0xe412da0a,
+0x7e41480a, 0xdc54f444, 0x432d757a, 0xd8624775,
+0x0e08d485, 0xc10646df, 0x3474aadd, 0xecb91f04,
+0x37778f52, 0x0608a4e4, 0xfa81040b, 0x5281ed1c,
+0x562a73c1, 0xb0a76d53, 0xeefdc482, 0xf0b04997,
+0x18075b7c, 0x86073d84, 0xd2d67c2e, 0x4e7f76db,
+0x092d218e, 0x673982fa, 0x9a637c15, 0x012be823,
+0x7c60d076, 0x0d4b1f6c, 0x03ed99d7, 0x40b05297,
+0x6312586a, 0xbb0211f6, 0x1d03f389, 0x05bb89c0,
+0x974a510b, 0x94a16401, 0x1686eeb8, 0x25e89807,
+0x5ef911bc, 0x2dd9afbe, 0xe1048b6e, 0xd713b2a6,
+0x90543909, 0xe82aeea0, 0xa0e8be13, 0x3f16dd0c,
+0x1c0e48d6, 0x99d8e405, 0x945550d4, 0xb2f02551,
+0xf016beb8, 0xdcefbbbf, 0x345091d8, 0x11127358,
+0x084c19f0, 0xc0833d83, 0xd85b3860, 0x1416a781,
+0x598a1429, 0x3b7148c1, 0x66dd88ad, 0x2f021afc,
+0x231012f8, 0x02d8f3db, 0xc48f0800, 0x14110800,
+0x8d19c408, 0xb3567fd1, 0xb77fbcb1, 0x66a8d6c8,
+0x08810dcb, 0xa3f7898f, 0x9201a811, 0x039cd25f,
+0x56d9ea15, 0x015005d1, 0x2d8c8c08, 0xe92c5b63,
+0x0708a511, 0x36d8f6ad, 0x0d7328f2, 0x0d16ff0d,
+0x2304297f, 0xf2a5d8b7, 0x080dc184, 0xf20baa8c,
+0x116d8add, 0x84ef08c0, 0x2a3c36c5, 0x0f36ecf2,
+0x0801e40d, 0xa15fcd8c, 0xe055b6c6, 0x284d1108,
+0x731edb13, 0xc3a73023, 0x04577f30, 0x6dce0d20,
+0x201e647b, 0x1404207f, 0xd801ee0d, 0x08dc8db7,
+0x1115d48c, 0x24d73bed, 0xdb60f3db, 0x08120d22,
+0x2301f88c, 0xeb1a1111, 0x0825236e, 0xae280219,
+0xfb64710d, 0x084784da, 0x2d0d32c4, 0x5b91a235,
+0x33168c08, 0xb7d8cb15, 0x2e70088c, 0x750d7736,
+0xa8eb064a, 0x73180866, 0xb5735b1b, 0x7612c6db,
+0x3d08390d, 0xa80aa54d, 0xf8352c8f, 0xdce85202,
+0xc3c9c8ed, 0x103b07c6, 0x202aee56, 0x73720c87,
+0x0e419019, 0xad08c872, 0x3c9c01f7, 0xe6e49064,
+0x72d5ef01, 0x2b8720c8, 0xa47b48c4, 0x0db30ccd,
+0xe904b830, 0x23201ea5, 0xf02e0f27, 0x0c8c7094,
+0x6e86c872, 0x20c8f875, 0x0d678363, 0x1c8359f9,
+0x4bfac836, 0xf23af83a, 0x1e639390, 0x232cf125,
+0x1c8321f1, 0xc7101b76, 0xf20e4e0a, 0xf9f213e4,
+0xe8f3fd00, 0x43c9c879, 0x0fd7f41a, 0x0e4190f5,
+0xb52cc639, 0xf2721c83, 0xdca4f64e, 0xe4e43993,
+0x82f76521, 0x8e4e4690, 0x0d74eb3d, 0xb666f871,
+0x4191c9c8, 0x4af96858, 0xc832393b, 0xfabe3c94,
+0x0b6c0a2e, 0xc219609c, 0x1d0a2395, 0x83639307,
+0xfb1e2318, 0x8288c5b2, 0xdc000240, 0x5520c512,
+0xdfa804e3, 0x44743aee, 0x59e81959, 0xff0e3183,
+0x802dfad6, 0xe8fceead, 0xc589097e, 0x07f841b6,
+0xfa5d044b, 0xeb077458, 0xdd118820, 0x38eb2ba0,
+0xd4322357, 0x5b8b6828, 0xc4087412, 0x14761d7b,
+0x1e6c6790, 0x0d043d38, 0x8a17164a, 0xc88da0ed,
+0xa30be672, 0xdb0eb108, 0x4885f455, 0x8182d77a,
+0x57eda2fc, 0x027209ef, 0x88aee430, 0x97c4550a,
+0xa624d91c, 0x159a093c, 0xbf24c808, 0x325c930a,
+0x5c0a3d90, 0x2c8fd881, 0x4c8a3c20, 0xc8401c24,
+0x0b1c9724, 0x90c9401b, 0x3a772c85, 0x0e40260c,
+0x0581e079, 0x9272120d, 0x81caa54b, 0x0c7e3454,
+0x502468dc, 0x6bc84943, 0x58dbd49c, 0x632fa3c6,
+0x20410d47, 0xe8b64c82, 0xa88e3b69, 0xa9142c15,
+0x46fcd82f, 0x9e03b744, 0x203cfa81, 0xfa89d4b9,
+0x6fcd6030, 0x9250dfe4, 0xca180648, 0x42d82a83,
+0xed164468, 0x36d50bc1, 0x29260e02, 0x05f5b8d3,
+0xf7e642aa, 0x820fd839, 0x3ff8ad89, 0x5f3b8109,
+0x755f3233, 0x2009766a, 0xba88cf5b, 0xdeb16174,
+0x0ca87dc2, 0xdbff1558, 0x7c074213, 0x75c984f8,
+0x087b804a, 0x22dbf163, 0x022953dc, 0xe3ef7f94,
+0x9a2b58fe, 0x756db9d1, 0x047b8123, 0xf7c860ff,
+0x12765fed, 0xcb23dca3, 0x25bc10ac, 0x7525a3e0,
+0x9bb41c83, 0x8387a245, 0x3e02d678, 0x7441cfd0,
+0xe4d4e805, 0x2a055b08, 0x83303276, 0x02bce23d,
+0x22b166c6, 0x53620d29, 0xeb06a04d, 0x1362681b,
+0xe22c1f61, 0xd8f1b057, 0x61e4c301, 0x2c01df88,
+0xb5fd7b10, 0xb261e601, 0x8a9b15b0, 0x43e6086e,
+0xc942e6b5, 0xa1322575, 0x254210b7, 0xc0018e2a,
+0x4d056982, 0xc51bc3c3, 0x0445ee02, 0x7d39c1e8,
+0x8b87a5de, 0x83460870, 0x3edb6275, 0xd002d5a0,
+0xc2028208, 0x035c16d6, 0x033c0889, 0xda150410,
+0xa2020c54, 0xb0774b83, 0x3d448c15, 0xc5020407,
+0x824486ce, 0xdb3bd241, 0x3eff6602, 0x624dd3ba,
+0xa0602810, 0xed452128, 0xbfdd5706, 0xdfedfc60,
+0x03c4e284, 0xb0071239, 0x61090e1f, 0x6499e009,
+0xea680c16, 0x174c1400, 0x00a76a08, 0x2a0ae013,
+0x23052507, 0x092a015d, 0xa7c77404, 0x0b4cca78,
+0x78689d0a, 0x061448ad, 0x2241f0c7, 0x06c076c0,
+0x84a30180, 0xb0880513, 0x40c9926e, 0x0609908c,
+0xe4c05340, 0xa6af9419, 0x2aa4ec64, 0xa440a06a,
+0x9bb114ec, 0x028c09a8, 0xc9de9d9d, 0xb0405973,
+0xe322686e, 0xd53454bb, 0x16bc6843, 0x0761da57,
+0xc9323a29, 0x3b4f324c, 0x50dd566c, 0x482a0209,
+0x649d1254, 0x318381ac, 0x2a326460, 0xae986758,
+0x3103091e, 0x5be7cf24, 0x6c3171a9, 0xba74e3f3,
+0x78dd1548, 0x09c90709, 0xe79e4601, 0x680731c1,
+0x88c18077, 0x49ba1360, 0x1c80098c, 0x090af96d,
+0x3422f6a9, 0x8700068c, 0x1833141c, 0x137ea09d,
+0x5b331c1e, 0xc3680166, 0x8bbbba31, 0x31332068,
+0x6808d05a, 0xf00130de, 0xe8f168c3, 0x2036ae29,
+0xe770409c, 0x28f60991, 0xce819ee8, 0x045f2d20,
+0xf54ef16c, 0x7c290320, 0x87d5560d, 0x849ce8af,
+0xf10118f7, 0xef1a23b2, 0x82f01b84, 0x920f5dd5,
+0x1b8c73f9, 0xa8eb588d, 0xe8c33e9a, 0x114b5b03,
+0x24367dbf, 0x4b779d88, 0xdb475475, 0xda3a4d2d,
+0x9eb377fc, 0x0ed8e820, 0x9d7d887b, 0x004ef299,
+0x02841000, 0x603776c2, 0x44c46670, 0x00008a07,
+0x7e46409e, 0x687445e4, 0x013500ff, 0xffb03801,
+0xdc057585, 0xde001161, 0x03efbead, 0xa5ffff5d,
+0x035e00ee, 0x203c3401, 0x43455850, 0x6e65696c,
+0x72413a74, 0x5bff6863, 0x303adff7, 0x4e553a00,
+0x320a4944, 0x0d373102, 0x2b0c0301, 0x85e0803c,
+0x834406fd, 0x87868584, 0x0336035f, 0xee1ec580,
+0x0e6b0532, 0x3d812c09, 0x5fdf6c11, 0x03b2ab64,
+0x062b5f73, 0xca2c2747, 0xa463db62, 0xfff06e46,
+0x415441ff, 0x4e203a4c, 0x6572206f, 0x6d2d6c61,
+0x2065646f, 0x6b633073, 0x96ebbff7, 0x00412197,
+0x2b564e03, 0x6e614300, 0x23746f6e, 0x365733b7,
+0x24147620, 0x72502521, 0x6fdbfed6, 0x6f636f17,
+0x4444736c, 0x20504348, 0x04544654, 0xadffb716,
+0x63696eff, 0x73696400, 0x6f6cc06b, 0x00797070,
+0x0a202d20, 0xb9bf6c75, 0xfa6c8d6f, 0x31006665,
+0x72030230, 0x72652078, 0x6fdbfd9f, 0x2520723f,
+0x72325868, 0x31386c74, 0x33073932, 0xbec36239,
+0x663f6ffd, 0x38333565, 0x636d7300, 0x2d313116,
+0x85ed0931, 0x65186ed7, 0x02237d6c, 0x40746464,
+0xb177edbb, 0x362e0b6e, 0x78743039, 0xe0656864,
+0x6c7f7630, 0x1e78b5a1, 0x1d640170, 0x33776e66,
+0x35bd3036, 0x1e33b58f, 0x30303809, 0x656e9b63,
+0x8dd8fb2d, 0x54f16f82, 0x6e55074c, 0xf6b27573,
+0x955b6f12, 0x41203974, 0x25229b50, 0xb6de0163,
+0x9f22db77, 0x20676857, 0x787d6e69, 0x62613c0c,
+0xeb7ffb6e, 0x74083e21, 0x00707466, 0x002f2f3a,
+0x698c6f4c, 0xbde2ab20, 0x207325ec, 0x0e3a400b,
+0xab580827, 0x266f4270, 0x9b7523eb, 0x72465edb,
+0x3a506973, 0x8764440b, 0xf0ad6d0a, 0x6c6998bf,
+0x207a7365, 0x666d203e, 0xff280f07, 0x37c0db61,
+0x20002e90, 0x61726765, 0x4268206d, 0xa40ad0a1,
+0xaf712f7e, 0xf77b4334, 0x22676962, 0x2949424e,
+0xb6059005, 0x4a22d0f6, 0x5e61a74f, 0x5dcd69fa,
+0x69bedf76, 0x5867616d, 0x7065733c, 0x5fed7bac,
+0x7469ee84, 0xf170435f, 0x6f662008, 0xb99bd175,
+0x1a2eb5d6, 0x9541530f, 0x458f1011, 0x4d0a7bb8,
+0x00409c65, 0x200ad72c, 0xd8302628, 0x290675c1,
+0x521de512, 0xbb070b6b, 0x0b79618c, 0x77346147,
+0x6bb70c0d, 0x2145c285, 0x6c20a975, 0xcdedb9f4,
+0x65db205e, 0x966d1b09, 0xadb16b5b, 0xaf73a025,
+0x6135f397, 0xb6f1c310, 0x35748e72, 0xbb5a4656,
+0x7716bb11, 0x6d5f3d6e, 0xad5b1670, 0x61dee851,
+0x38747562, 0x0e739073, 0xb5b0b86b, 0x6b2d0674,
+0xa2657a46, 0xdb6d3364, 0x33503182, 0x2a292528,
+0x6085d2ec, 0x4346dc1f, 0x1e3238c9, 0xe925f68e,
+0x49901b00, 0x6f864634, 0x73da1b0d, 0x63060a88,
+0xf9766965, 0x1f0c1bba, 0x8cb462e3, 0x733a756e,
+0xadda9564, 0x09b2b51d, 0x50304455, 0xadd9c629,
+0x6d755827, 0x41ea0a4f, 0xec10bf1c, 0x20077f64,
+0x6c257830, 0xad0fc228, 0x2dd65415, 0x726f66f4,
+0xa3259690, 0x220ad161, 0x7374a111, 0x6e6b3117,
+0x7665f5f0, 0xadb6393c, 0x7079b0d0, 0x588b4a23,
+0xe1277927, 0x52f6b7b1, 0x666f5f89, 0x72756c20,
+0x73614e6c, 0x6e14da05, 0x3f6e4419, 0x5ae70eb1,
+0x2cc4b9c3, 0xdb275a62, 0x6173dcc6, 0x075b5bb3,
+0x6370175d, 0x90d6fc2f, 0x33320669, 0x19363534,
+0x1a424139, 0x43f75b4b, 0xe6464544, 0x8e68032e,
+0xba3cb43a, 0xcb58d687, 0x5f2f0001, 0x6fb82839,
+0x6f205b7c, 0x3233534f, 0x6dfb7ea4, 0x278161df,
+0x2e342e35, 0x18435b32, 0x8d360000, 0x202ec42f,
+0x50478618, 0xc26a294c, 0x74a54d61, 0x1c652425,
+0x2b570b2e, 0x44bd8dbd, 0xcc5605af, 0xc28770e8,
+0x0d098720, 0x74fb20d2, 0x81f9e08b, 0x8a784500,
+0x6d0e3a73, 0xc2046c3b, 0x23bfac6f, 0xc36ceea3,
+0x72690d1b, 0x202cea71, 0xe0d52112, 0x7642c378,
+0x2d73a570, 0xd5307564, 0x7ed8c478, 0x64864300,
+0x61af1a32, 0x20b3c3ac, 0x9a896f88, 0xd0b8d0a1,
+0x616649d6, 0xd76b4d91, 0x2486eb70, 0x65d74d4f,
+0x6074f167, 0xdadb59b4, 0x67091f78, 0x42210b28,
+0x8a6dc117, 0x4bd30a63, 0x16dbd764, 0x707285a4,
+0x42741c97, 0x5d62326e, 0x478d5a73, 0xde24ca0a,
+0x1c533b18, 0xc63d213f, 0xc30b8075, 0x3019c25a,
+0x826ca573, 0xd4738281, 0xe0663004, 0xdc12580a,
+0x1d32cb61, 0x1d906916, 0x2ed83333, 0x16d612c5,
+0x222f3093, 0x5e2d2695, 0x82927e65, 0x3d75cdae,
+0xd76f7a43, 0x6a9c67cf, 0x38787583, 0xbb6f7589,
+0x507342b6, 0xb42e1f4b, 0xb5216230, 0x6b0e1b63,
+0x61621f0a, 0xc520435c, 0x5407b42e, 0xdc696e67,
+0x8d0b78db, 0x3e77c184, 0x042f32b9, 0x220058c3,
+0x8ca88376, 0x2453a775, 0xb764b8b0, 0xd1f0b752,
+0xb7e17638, 0xac783a5f, 0x050ce9a5, 0x78c53772,
+0x7a486b78, 0x0c6f74d9, 0x736f000a, 0xf03866d2,
+0x49c2283a, 0xb0622007, 0x786ed229, 0xb279780d,
+0xdee72578, 0x65757186, 0x24df49d1, 0x66d88442,
+0x73638a2b, 0x58111e79, 0x64158572, 0xd88c2042,
+0x008960d6, 0x832c4531, 0x0d13dc67, 0x618fb611,
+0x1270d658, 0x05074785, 0x2072eaaf, 0xc2b0df26,
+0x2056678e, 0xd0873679, 0x9a1ee74f, 0x77130770,
+0xa48a7670, 0x0db56ed1, 0xd8467449, 0x3a196666,
+0xc2b07b92, 0x9e795741, 0x619a0000, 0x4227c9eb,
+0x2ddd4f4f, 0x20ce3300, 0x46370f02, 0x6ee1003c,
+0x0339b96b, 0x36816c49, 0x6ecb6234, 0x42bb7dee,
+0x30195241, 0x043a7838, 0x736f1320, 0x035eb80b,
+0x18598410, 0x0ce19d64, 0x7027350a, 0xf70aba81,
+0x00b08465, 0x5823d623, 0x7586003f, 0xf92839a9,
+0x063a5225, 0xb614073c, 0xc0c17961, 0xaf61b00f,
+0x10239d08, 0xbd62e832, 0x445e4057, 0xb5887555,
+0x61609016, 0x7472cf6e, 0x615f1a9c, 0x0c6db375,
+0xe06c5cd6, 0x574049cc, 0x5b5cff26, 0x2e6fedd8,
+0x470a7529, 0x5c60b846, 0x46a93830, 0xb86867ed,
+0xb46c3b42, 0x2e76b73c, 0xb6e03d60, 0x3a002da3,
+0x0319b0a7, 0x7dca95c0, 0x002c9995, 0x29400037,
+0x0e76ce41, 0xcf9f04b5, 0xad809307, 0x179bb06c,
+0xdb001f93, 0x104db575, 0x8b108702, 0x228c9003,
+0x02ff7f9f, 0x812910ec, 0x39078cba, 0x388d3281,
+0x85ddf381, 0x860fc2ba, 0x07cb13ec, 0x12111113,
+0x7fbb2dd2, 0x43dc124d, 0xe4136015, 0xee403307,
+0x8f77ddf7, 0xfa134027, 0x0613d107, 0x593f04ab,
+0x0da11712, 0xb1e6db07, 0x0f14ea6d, 0xab070718,
+0x5fffff22, 0xbb28412c, 0x017f8db2, 0x445b75c2,
+0x9a6ed31d, 0xa22e03f0, 0x7850aa26, 0x66464381,
+0x600d2dba, 0xbf0f7e03, 0x4ffd9601, 0x103f0405,
+0x63538263, 0x916a0b96, 0x05afd8fd, 0x0302b16b,
+0xec870000, 0x4dc2b615, 0x033f6800, 0xb7aa0e50,
+0xec0ab200, 0x52cfdb2b, 0x07d02bc5, 0x78427f45,
+0x59049d95, 0x6d0b4037, 0xc0000000, 0x00012000,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
@@ -2053,10 +2047,7 @@ 0xffffffff, 0x72ffffff, 0x31386c74, 0x7a
 0xffffffff, 0x72ffffff, 0x31386c74, 0x7a2e3933,
 0x206d6f72, 0x2e342e35, 0x47282032, 0x20294c50,
 0x65687465, 0x6f6f6272, 0x726f2e74, 0xffff0067,
-
-};
-unsigned etherboot_eepro100[] = {
-0xeb40aa55, 0xbfe9a865, 0x68744500, 0x6f627265,
+0xeb40aa55, 0xbfe9ab65, 0x68744500, 0x6f627265,
 0x0000746f, 0x00540000, 0x0034001c, 0x52494350,
 0x12298086, 0x00180000, 0x00000200, 0x00010040,
 0x00008000, 0x506e5024, 0x00000201, 0x00008b00,
@@ -2075,7 +2066,7 @@ 0x55506650, 0x468be589, 0x02468910, 0x89
 0x55506650, 0x468be589, 0x02468910, 0x8912468b,
 0x685d0446, 0x5066104d, 0x0f2e0e50, 0x000206b6,
 0x5009e0c1, 0xe6e8146a, 0x8f2e5800, 0x2e064a06,
-0x0648068f, 0xc72e6658, 0x00038406, 0x66000000,
+0x0648068f, 0xc72e6658, 0x00038006, 0x66000000,
 0x00020168, 0x50686600, 0xe8000178, 0xc4830010,
 0x89175b12, 0x3ce85bdc, 0x0002ca01, 0x6650006a,
 0xc0200f50, 0x586601a8, 0x832d7458, 0x0000247c,
@@ -2090,18 +2081,18 @@ 0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x66
 0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x6604e0c1,
 0x00038005, 0x0ba36600, 0x1f586604, 0x500179e9,
 0xbb061e60, 0xc38e0040, 0x131e8b26, 0x06e3c100,
-0x146beb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
-0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x33878d15,
+0x14b9eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
+0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x81878d15,
 0xbfc08e13, 0xc1831000, 0x8ecf291a, 0xfcfc89d0,
-0x6066a4f3, 0x1f0ec38e, 0x61dfb966, 0x89660000,
+0x6066a4f3, 0x1f0ec38e, 0x5dafb966, 0x89660000,
 0xcf8966ce, 0xf3fd4166, 0x66fca467, 0x66506661,
-0xd889c031, 0x04e0c166, 0x84a32666, 0xc7266603,
-0xb0038006, 0x66000146, 0x87e58958, 0x5e89165e,
+0xd889c031, 0x04e0c166, 0x80a32666, 0xc7266603,
+0x90038406, 0x6600014b, 0x87e58958, 0x5e89165e,
 0x611f0714, 0xb80650cb, 0xc08e0040, 0x0013a126,
-0x0506e0c1, 0xe8c114aa, 0x13a32606, 0xc3580700,
-0x0000e860, 0x815d0000, 0x0002b6ed, 0x89b9fd00,
-0x8d00005b, 0x06530db4, 0xbc8d0000, 0x0056060d,
-0xfca4f300, 0x5607b58d, 0xbd8d0000, 0x00000650,
+0x0506e0c1, 0xe8c114f8, 0x13a32606, 0xc3580700,
+0x0000e860, 0x815d0000, 0x0002b6ed, 0x5fb9fd00,
+0x8d000057, 0x06530db4, 0xbc8d0000, 0x005fac0d,
+0xfca4f300, 0x5fadb58d, 0xbd8d0000, 0x00000650,
 0xffffffbd, 0xa405ebff, 0x0775db01, 0xee831e8b,
 0x72db11fc, 0x40c031f2, 0x0775db01, 0xee831e8b,
 0x11db11fc, 0x75db01c0, 0x831e8b07, 0xdb11fcee,
@@ -2157,7 +2148,7 @@ 0x00000000, 0x00000000, 0x00000000, 0x00
 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 0x02000000, 0x0002bd01, 0x00000000, 0x90909090,
-0x000097cc, 0xffedffff, 0xf8835858, 0xcb017500,
+0x00009cac, 0xffedffff, 0xf8835858, 0xcb017500,
 0x0804c483, 0xcd027502, 0xfb18cd19, 0xfbfa9090,
 0x15cdf958, 0xbbf6edfd, 0x0eb4069c, 0x0001bb66,
 0x0c10cd00, 0x16cdc031, 0x4bffe430, 0xb407b973,
@@ -2190,1438 +2181,1438 @@ 0xdda17d03, 0xec837eee, 0x08010f08, 0x02
 0xdda17d03, 0xec837eee, 0x08010f08, 0x02a80f66,
 0x435c66a0, 0x7eddb777, 0x600e6616, 0x8938128d,
 0x44070c03, 0xae3be850, 0x5dfdbedb, 0x050ced81,
-0xd8ad8906, 0x168b0597, 0x6fffbca9, 0x7400fedf,
-0x30b58d21, 0xbd8d0733, 0x39054330, 0x390472f4,
+0x98ad8906, 0x168b059c, 0x6fffbca9, 0x7400fedf,
+0x10b58d21, 0xbd8d0738, 0x39054810, 0x390472f4,
 0x890d76fc, 0x76fdb9e6, 0x3248bbfc, 0xfc89cf29,
 0xe3e8a4f3, 0x362d8b51, 0xb3db6c29, 0xe868bdcd,
-0x3f450c4f, 0xb70f1220, 0x6db7240a, 0x5c046ff7,
+0x3f450caf, 0xb70f1220, 0x6db7240a, 0x5c046ff7,
 0x8d502624, 0x50608085, 0x7c548ffa, 0xfb7fd38e,
 0xec01fb6d, 0x936158cb, 0x66a102a9, 0xe61f6607,
 0x648b9d0c, 0xa37dd424, 0xf79cdcd0, 0xbe852696,
 0xca9dcb9d, 0xbff62db5, 0x57565507, 0x10247c8b,
-0x61983d2b, 0x8339a810, 0x68affbbb, 0xe8550e88,
-0x5b217cba, 0xdbac6fbf, 0x0482a30e, 0x23be7789,
-0xf129b4b9, 0x6db7eef7, 0x15732ea3, 0x81f8ea20,
-0x10b80008, 0xfedc361c, 0x8ed88e7f, 0x8ed08ec0,
-0x5fe88ee0, 0x35c35d5e, 0x35b832e0, 0xf9bbf7e4,
-0xe83d05fc, 0xa358ec1d, 0xf4250bf0, 0xbdfdd605,
-0x68bb5970, 0x1d0300e9, 0x2868535f, 0xf7e45143,
-0xe87bbbbb, 0xa5890bb1, 0xa58d23cc, 0x6ca52fc0,
-0xde977b29, 0xe4cf615c, 0x8100768d, 0xa88fbcfc,
-0x74d7ba15, 0xed0c6020, 0x02341b22, 0xbb7b1919,
-0x17072db7, 0x7e8bd0ff, 0xf23b8b8b, 0x8b8b191c,
-0xdca18b15, 0x28d0bb04, 0x8be2ffbc, 0x68d6da4c,
-0xfd025189, 0x597ff1b8, 0x08618904, 0x890c6989,
-0x14796071, 0x6dc3006f, 0x1bcd0bdb, 0x8b08431f,
-0x095a374a, 0xebf4f662, 0x0c6a08bf, 0x8b10728b,
-0x051c147a, 0x4389ffb8, 0xb6959c2d, 0xbea29c28,
-0x840c5401, 0xce8b664b, 0xb8bb188d, 0xef181f30,
-0x21a29687, 0x2e9d5d58, 0xc3c2e428, 0x2b07357b,
-0x38815080, 0x0f0d2300, 0x82858907, 0x68956ffa,
-0x921b11d7, 0x284f2907, 0xd4bd530c, 0x5350ee68,
-0x2c1d9da9, 0x2f024389, 0x03d4bedf, 0x88101f0a,
-0x0c020443, 0x0f076388, 0xc231585b, 0x90c3db8d,
-0xc6535600, 0x6cd6a10c, 0xbddaddfa, 0x70bb0010,
-0x29c62904, 0xb801006a, 0xe6dfc2e8, 0x2d062e66,
-0x056850e4, 0x6c0986e8, 0x38de176f, 0x18c03b80,
-0xa03903c6, 0xb0050f9a, 0x7f5d6500, 0x0921188d,
-0x055a0603, 0x5bd30aa1, 0x145db6eb, 0x047f1887,
-0x13026a10, 0x6c7dd7b6, 0x1c065016, 0x4eefb850,
-0xe859602d, 0x793d2dbf, 0x66c2892c, 0x010a20f6,
-0xb10f0374, 0xb6c730ed, 0x8843bbc6, 0xce961203,
-0x3f7cb3c8, 0xefeffc1e, 0x95f7b072, 0x2e2c3f8e,
-0x250304bd, 0x282f6cf3, 0x32c8fc23, 0xb0b937b5,
-0x2d0c26c0, 0x30be0526, 0xa1e805fb, 0x83063126,
-0x19b901f0, 0x01b0b939, 0x0c0c152f, 0xecb0ccb9,
-0x29535671, 0x19e4b817, 0x47151539, 0x196d2f57,
-0x66287b7e, 0x8dca13c7, 0x0a6a1887, 0xbbeeef4a,
-0x2474db57, 0x2a24bb22, 0x3eeb8156, 0x2b186f0d,
-0xdcd805f0, 0x01181820, 0x35fb3975, 0x14881dfc,
-0x74d28566, 0x16186617, 0x0506e0a9, 0x6e0bad62,
-0x017220d2, 0xbd16f9d0, 0x20debec5, 0x24e475c0,
-0x10321d12, 0x1b07deeb, 0x0e6dfd73, 0x6cba8800,
-0x07b15d56, 0x22c5cdb1, 0x55404d3f, 0x636e8f9c,
-0x3b2c2c83, 0x06334440, 0xc36c619e, 0x31657df7,
-0x7f1e39ed, 0x1406500c, 0x3dafd986, 0xb0034673,
-0x65e805e1, 0x03fdb74b, 0x02d081db, 0xf63a75fb,
-0x34b22404, 0xb5deef91, 0x23e4405a, 0xb9fc0adf,
-0xa5f34e05, 0xae868343, 0x14c5dffb, 0x850c7d60,
-0x21a574db, 0x1b9db206, 0xdb5ae70d, 0x5f87d889,
-0x0e070939, 0xb07c08fc, 0xe81c8f5d, 0x140101ed,
-0xfffe98e8, 0x0b1addcf, 0x0faaa3ea, 0x960ab4e8,
-0x8576fcdb, 0xa30e8b20, 0xff3c1304, 0xf04e10c4,
-0x7041b736, 0x05d33284, 0xed9f702a, 0x990a07be,
-0xa10814a3, 0x05c70d04, 0x7b640808, 0x09249daf,
-0x1009003c, 0x1e66dcf6, 0x0f181589, 0x0911051c,
-0xd8dd60ec, 0x09101920, 0x28a32324, 0x9b06fb22,
-0x303c2c6c, 0x3159a12c, 0xdc9a2584, 0x867cf86d,
-0x14890ff9, 0x1afff6fc, 0x080589b6, 0xeb2b0c4e,
-0xc183470c, 0x1ff83914, 0xd3d8fbf6, 0x66b9e7d9,
-0x918beb75, 0x31fa837f, 0xdfe1bc36, 0x52779281,
-0x772dff3d, 0x8400bd4b, 0xdafef631, 0x941ed7ef,
-0x391ba92b, 0x72ce23d6, 0xc4b6770c, 0xc53c0dfb,
-0xa98b0676, 0x0729c30d, 0x362f6b0e, 0x09353fc7,
-0xcb4b19d2, 0x623dc591, 0x777cff4b, 0xfbfdf0bf,
-0x03c38944, 0xd6893999, 0x3b27b113, 0x2e720cab,
-0x5bb60677, 0x08a30de3, 0x413b2676, 0x0d724367,
-0xcd02bb44, 0xcf3b775d, 0x192111e1, 0x62c583d6,
-0x333589b3, 0xf087d8f7, 0x2784611b, 0xa3cc1c86,
-0xbee5e918, 0xacceb5ec, 0x792c1434, 0x1481c798,
-0xc99074ba, 0xb3eb1809, 0x4f13b84b, 0x90ec1987,
-0xb2ef052b, 0xffd6be36, 0x9b1478df, 0x3f811beb,
-0x45524621, 0x03662e75, 0x89620457, 0x11db8b86,
-0x09044f21, 0x5a953b3d, 0xd3aa6b1c, 0x0bb7f189,
-0xdffa16eb, 0xe7c1fa17, 0x66c7290a, 0xbb80fa81,
-0x44c38eca, 0x75bbf8ee, 0x0369d389, 0xe2812515,
-0x8c8db8ff, 0xd8b86e1a, 0xfc8906fa, 0x893942d6,
-0xd4bdbef2, 0x2096a6d1, 0x12ebc946, 0xc7044a5c,
-0xef6ee502, 0xc2816cfe, 0x49667c00, 0xe946ec75,
-0xb877df70, 0x42e48816, 0x09bdf2ac, 0xcc1bb0a1,
-0x0408675e, 0xdc69b8b9, 0x07ddda35, 0xe82c89c9,
-0x2404fd33, 0xe0cdbdf7, 0x5723b523, 0xbf770553,
-0xeef7f7d3, 0xe88151c2, 0xf989261c, 0xc1390d2b,
-0x16be0aeb, 0x760b90ba, 0x83247291, 0x2d6f2dda,
-0xcad7e3e6, 0xe2c117d2, 0xbe6428c2, 0x1ecb07b6,
-0x1ea7d7f3, 0x7216c0e4, 0x742a8d5f, 0x6c6fa125,
-0x9082c6e7, 0x032f0d5b, 0x2c1ca397, 0x82770ed6,
-0xa6fc9ee9, 0x779d248a, 0x7c1ba477, 0xd175612e,
-0x8d1a6851, 0x5b4ddc10, 0x305d936f, 0x088cfe47,
-0x341e05e8, 0xb49bbdb6, 0xb239e810, 0x084657b9,
-0xcf7afc37, 0xa71983bc, 0xe8f291e8, 0x7051fed9,
-0xc9626285, 0x23c27b23, 0x781d2844, 0x8dd029dc,
-0xc1b7050d, 0x00e3813d, 0x0d8be41b, 0xa36d8715,
-0xecde86ff, 0xc839ce29, 0xd8390c77, 0x12fb6477,
-0xf847fa4c, 0x0476000a, 0x56086e58, 0xe851d129,
-0xef7be497, 0x2f4d5afd, 0x1e443529, 0x7899599b,
-0x438b1847, 0x0753c829, 0xcdb274dd, 0x6904764f,
-0xda34d039, 0xa97b0574, 0xafb1cfd8, 0x0540ff08,
-0x573fe852, 0x30af49a3, 0x06d52c08, 0x0d8bdb70,
-0xa849602c, 0x2bd835b5, 0x5a847a50, 0x607e5045,
-0x8c67d701, 0xb95c0934, 0x165f28e8, 0x2e116c23,
-0x0868a4a0, 0x5ad7c620, 0x99cc262d, 0xbe59563d,
-0x53d8adaf, 0x2185a412, 0xf530262d, 0x52dfbc23,
-0xbe7974ed, 0x89241054, 0x89d729f7, 0xb06bf8fa,
-0x540e0715, 0xab898389, 0x750f7b82, 0xf7839fc7,
-0x2d89b80b, 0xf4b4550f, 0x2cf474db, 0x21fb8386,
-0x2c8a1554, 0x737b6ec7, 0xeac1fe5e, 0x96031304,
-0x6e688b89, 0x438df783, 0x352b0257, 0x3e060c59,
-0x59bd8a71, 0xaa9d8fd9, 0x6de358a5, 0xfd0f1d3a,
-0x95b8061c, 0xbb7318de, 0x53e2f192, 0x6ad1a102,
-0x060479db, 0x007e1d0b, 0x77eddf9d, 0x74b5153b,
-0xea81d602, 0x52828ba0, 0x03b60284, 0xcb3c585b,
-0x81046a16, 0x282219c5, 0xcfac51d0, 0x11048ddb,
-0x5a207b7a, 0x47c8defa, 0x00cd87cd, 0x2b9a1915,
-0x46346d5a, 0x4f408934, 0x16a72bc7, 0xdf2cb69a,
-0xd328fe91, 0x9eee3187, 0x01bf660d, 0xe8560d8f,
-0xd74995c1, 0xff0cf60e, 0x01180475, 0xa9170bc6,
-0xbb776b73, 0x5502c314, 0x2103f45e, 0x1701c133,
-0x8ddcc10c, 0x2da1181b, 0xd5c8e006, 0x17d843a4,
-0xf66d4a48, 0x06032f67, 0xcf12f889, 0x85c0a95b,
-0xfb4309c1, 0x46c91045, 0x9b8c56da, 0x6203c199,
-0xb813181c, 0xd2b78377, 0xc9031c42, 0x76113d03,
-0x2b432438, 0x814b3c49, 0x162c0733, 0x6189e7db,
-0x2d84d2d6, 0x1db7e86d, 0xb150526e, 0xf7e85708,
-0x0c75375c, 0xdaf8e09b, 0x2d17e991, 0x4629a731,
-0x1607b6f8, 0xbebbeb42, 0xdf03ec0d, 0x4d5b05c8,
-0x2c0ac910, 0x8303014c, 0xc4da97d1, 0x049bfce1,
-0xcc291055, 0x96eb5154, 0x845bb498, 0x54f59a7c,
-0xc142fbd0, 0x89065dc4, 0x94e85dec, 0x0edc0292,
-0x9c8b4c7f, 0x3579a424, 0xbcc4f764, 0x4bb535f0,
-0x8d6c60b9, 0x65740899, 0x5c8502b6, 0x05e6979d,
-0x91d0b60c, 0x8306ba25, 0x0f83d3c2, 0xa370b6e2,
-0x194f75cd, 0x04c2ef8b, 0x6c7f8506, 0x958e886b,
-0x02fec1c6, 0xbfd1dd1f, 0x4217bdbb, 0x411b108c,
-0xf07cf139, 0x76535250, 0xd2b8477b, 0x817016b0,
-0x752a64e3, 0x22c60c27, 0x5b4cf8fd, 0xc775f089,
-0x89266f45, 0x42f60c4f, 0xd16cd974, 0x735000e8,
-0xa86abf8b, 0x7c106a20, 0x5fd002e4, 0xdf8cf636,
-0x20e9e8d0, 0x03c08354, 0xdc911301, 0xb3f56ae9,
-0x9a36d182, 0x153490db, 0xbeff2cc5, 0x5f1ac1c9,
-0x0e765bb7, 0x16bfc8b3, 0x18a47b10, 0x8ba3f0ec,
-0x45bb2500, 0x6841bba9, 0x08ff0908, 0x985b5580,
-0x10cf60a1, 0xf3392b7b, 0xb1c15782, 0x4ae20abe,
-0x3fa37e0c, 0x3917e261, 0xc109ebd9, 0x01421604,
-0xdb8b0fc1, 0x5bf5be06, 0xc85ec10b, 0x1a36e0a1,
-0xba24850a, 0xd3306531, 0xa36c309c, 0x084749e5,
-0xef4b7d9c, 0x026ebf02, 0xf0e7830f, 0x273d89e5,
-0x257eb964, 0x75808603, 0x8d0f97e0, 0xdc36fd83,
-0x189d0ef0, 0x8d328e2d, 0x960505b8, 0x3a187667,
-0xd00b1ae1, 0xf7851e04, 0x82894098, 0xa2cbad1e,
-0x096f5830, 0xa4f0e583, 0xed8d6401, 0x5188efd7,
-0x3568046a, 0x5a7bac8d, 0x9df5c605, 0x58caeaeb,
-0x1d0707c6, 0x0805d343, 0x2323608d, 0x83a10c0e,
-0x7a4c4b62, 0x2b1c2888, 0xd63622a6, 0x107b0add,
-0x14281622, 0xa56ddb05, 0x05ff515b, 0x541c5018,
-0xd60d071d, 0x1ea3059d, 0x03283ccc, 0x0c5d0f20,
-0x2a072db6, 0x13822202, 0x94d8862e, 0x6a260375,
-0xb27f1130, 0x1466dabd, 0x7fe43210, 0xaba09905,
-0x5f36437b, 0xae437540, 0xf637c836, 0x48054680,
-0x054e4a12, 0x37c83534, 0x56521250, 0xfa3158a5,
-0x3d012c77, 0x60738d3c, 0xc7054328, 0xdffef104,
-0x3a68c32d, 0x59612b19, 0x01064625, 0x0846c602,
-0xe9dd242c, 0xae4694c8, 0xd81e1486, 0x0a46edb3,
-0x465a0e2c, 0x2046ed12, 0xeb0775d6, 0x46e21403,
-0x22160322, 0x30952818, 0x051a3632, 0xac651e1c,
-0x46ec2712, 0x2646e924, 0x8f6fac65, 0x2a460704,
-0x0fe3833a, 0x6a285e0c, 0xb62ee31e, 0x6870b42c,
-0x68094628, 0x6c8c80c7, 0xbf0c1183, 0x68df891c,
-0x78ef1363, 0xe824d234, 0x5a375882, 0xbb58df6a,
-0x71d43aed, 0x18142c89, 0x613b07f9, 0xdcb90860,
-0xd709bac1, 0xf0242ddd, 0xf7fde8d1, 0x001ac225,
-0xc6dda705, 0xeb6b47c0, 0xbaf062d9, 0x688ec25f,
-0xe9e804e3, 0xf91d21f6, 0x6c182244, 0x235bac02,
-0x1b7df836, 0x565615fb, 0x0b745339, 0xbe87dd9a,
-0xb0959af4, 0x97047401, 0xe80e68be, 0xdd66241a,
-0xf73df8da, 0x6ecfc529, 0xaf144ef0, 0x48cdb503,
-0xf4e1810b, 0x8d0a250f, 0x02090a94, 0xcde0cd9a,
-0x4e83f8e3, 0xa338de0b, 0x7fd48a17, 0xbad0361e,
-0x177544a9, 0x01f3c18e, 0x4c835fd0, 0x83306027,
-0x0629d080, 0x5981fc1d, 0x42b46284, 0xd4a0e743,
-0xa4d2ae91, 0x9eb1c082, 0xda1c1afb, 0xeb29c811,
-0x0bacb85a, 0xe3d0837d, 0x0b899392, 0x31b168c0,
-0xd61dba70, 0x178c325c, 0xeb7c4bba, 0xe8671857,
-0xdac358c7, 0x235d1621, 0x05527722, 0xfc34222c,
-0x36c4e82d, 0x306de3c7, 0x1cefd0fb, 0x7b41688a,
-0x02105417, 0x66d08211, 0x0af31910, 0xc0a0de18,
-0xdad4a91a, 0x36fbe083, 0xb10cd46c, 0x1204bef6,
-0xf6a9e283, 0x100fe06d, 0x040e140a, 0x7c0233bc,
-0xb5089480, 0x3430184d, 0xaf46464f, 0x59a138ef,
-0xd8bf2d0b, 0xc6d824aa, 0x97d75a06, 0x244114ab,
-0xef8ec554, 0x3881c032, 0x7620e22a, 0x43028b46,
-0xee0adb15, 0x5c04428b, 0x7a080779, 0xd130605a,
-0x23dc04f5, 0x1615c16b, 0x71d14ada, 0x22e26f04,
-0x31341bbf, 0xc38bc6b6, 0x5b245d67, 0x07017136,
-0x438b0d7d, 0xd40640b2, 0x27d02dae, 0x5b7fe1e9,
-0x37760913, 0x72afdb7c, 0xeb0a0310, 0x682d90ba,
-0x1c9c9220, 0xd8e6df53, 0x4ea604ec, 0x78504d85,
-0x73061558, 0x0b33b364, 0x2454000a, 0x13688d6b,
-0x52ee6138, 0x638e5728, 0xdf77e9f1, 0xbe02f8c0,
-0x07771a81, 0xe085348b, 0xee147b27, 0xedb6ca36,
-0x77181940, 0x1b741e54, 0x703ad848, 0x07760aed,
-0x19ff2cb8, 0xd0e8e514, 0x02ba8cf5, 0x1bbb6f86,
-0x3e1db75a, 0xb817897a, 0x3a397440, 0x06c9cdeb,
-0xa71e707e, 0xa1247b8d, 0xe4b90024, 0x7553b1d9,
-0x4e2633ac, 0x70c60cb2, 0x352994ed, 0xc3928e0c,
-0xa016d4c8, 0x32866303, 0x0cc4a8fa, 0x037ba053,
-0x32b4346d, 0x4b17a344, 0x85e6d315, 0x0b1ef856,
-0xd01d244c, 0x0bc78553, 0x23c9816e, 0xbe10c3e7,
-0x858e74bd, 0xda89ee12, 0x2a1640ef, 0xfea5f66e,
-0x23231af4, 0xed10c2be, 0x85a99e4e, 0x0e78e03b,
-0xdc74bba9, 0x45c3725a, 0x30b0fa93, 0xbd4880fb,
-0xc0e4d551, 0x56e6ec3e, 0x09566753, 0xec0864c1,
-0x41019225, 0x31266463, 0x58a839e4, 0xb1c1ea01,
-0x392d3085, 0x77b30ec5, 0xbdd04b7f, 0xb8f21014,
-0xea654802, 0x10c1ef66, 0x026afba4, 0x0f6ddfe8,
-0xfe8bdd03, 0x89fec50f, 0x6dc8e8ee, 0xf989af49,
-0x01a8f8d3, 0xd8f006bb, 0x7523ee37, 0xd892b302,
-0x9e66f289, 0x16cb8302, 0xdf6ddb01, 0xd889289f,
-0xd8d4f93c, 0xd111bb75, 0x40f26f64, 0x2ca5ed66,
-0x2a2f1dd9, 0xc20901e0, 0x79b0794f, 0xd820703f,
-0x7c62e877, 0x1bde1200, 0x0521bc37, 0x00b9e277,
-0x8f7427ac, 0x1afc25ed, 0x00b81273, 0x02c20801,
-0xc04fc32c, 0x0fd96176, 0xeb3412c3, 0x16ae25e9,
-0x23d6616c, 0x2cf4fad8, 0x81a2831d, 0x8b25d5ee,
-0x2c7e06ee, 0x16058c5b, 0xf1ba0c1c, 0xd50684c0,
-0x6a77a6a5, 0x5c70ff28, 0xdb3812b1, 0x8fe3b752,
-0x82b01186, 0x8a799b50, 0xa3450540, 0xdf867a56,
-0x537ed601, 0x826ef77a, 0x48a34ddb, 0x2c3db911,
-0x0f581589, 0x6e5b7b19, 0xf7045ca3, 0x42082d05,
-0xbee6dfb6, 0x0d89400c, 0x4c0d0744, 0xa7208016,
-0xdc0fd235, 0x540f54f6, 0x538dbf05, 0xa96254de,
-0xb0efc8f6, 0x17eef16c, 0x305ffc6c, 0x06eb36d3,
-0x64f98341, 0x84ec3c7f, 0xe1b6f5b2, 0xbe0a6b57,
-0x5a2e9a9e, 0x73986be0, 0x663bc477, 0x097a64a1,
-0x0812d2e8, 0xac96a6b6, 0x561febec, 0x7eec45c3,
-0x0a85bbfb, 0x097441d8, 0x10f98141, 0xf27e1927,
-0xd8535150, 0xc0851f84, 0xdc4f3126, 0x7bbab6c1,
-0x2f9debe1, 0x09cca156, 0x7440148d, 0x9ae1b409,
-0x608248dd, 0x1164655d, 0x26047b99, 0x7275b3d0,
-0x28365a5a, 0x97bc28d0, 0x601002da, 0x895d2eb7,
-0x2450770c, 0x00009585, 0x87901676, 0x4eba561c,
-0x4d2fbc71, 0x6d400478, 0x848d0910, 0xda957710,
-0x0d0f3059, 0x6ac76b01, 0x6da37777, 0x166c82e3,
-0x5d3fff25, 0xb7296441, 0x38c3561b, 0x19700532,
-0x1d9cc1d4, 0xe860717e, 0x19b75123, 0x3c367e52,
-0x628070f7, 0x5508c070, 0x1d688071, 0x07e5ee84,
-0xa36c1277, 0xecc06e80, 0xf808de05, 0x96428d05,
-0x544203e0, 0xb61ec5d7, 0x003d03d2, 0xb8b35289,
-0x3c022d39, 0x5aef6284, 0x8ef69c77, 0x5cb0085c,
-0xbabc04b0, 0xecd95711, 0x7e6203ba, 0x873f4305,
-0x794a3edd, 0x0f0a4dd3, 0x4e29b08f, 0x513fb824,
-0x09d0e9f1, 0xd84d60d0, 0x59101d49, 0x148a7ae9,
-0x4b0b1baf, 0x081e8a2d, 0x14fe0253, 0x1b01cf48,
-0x15c169f5, 0xb0ad1f51, 0x4a518de9, 0x05c9ca89,
-0x1b8b1838, 0x3a5ba906, 0x8b54f43c, 0x22ad7953,
-0x88751a5d, 0x9c943cc4, 0x1de3868c, 0xe68350ed,
-0x04c68ffc, 0x702ee574, 0x977f6870, 0x8ac95344,
-0x0bfbeded, 0x6c428873, 0x5c001bba, 0x77e8d300,
-0x7a9687fb, 0x00794bdd, 0x3d9a0ffe, 0xff287d07,
-0x141b0e29, 0x9f0f40bd, 0xdb310180, 0xed8aff31,
-0xeb39f14a, 0x11732b7d, 0x833ef009, 0x2435dc5b,
-0x0ffb8339, 0xf3057ffd, 0xbf8bdbb5, 0x0143105c,
-0x3ec681d7, 0x32d77c2a, 0xfd68d85f, 0x5c508b86,
-0xb41f8076, 0xd1d98903, 0xf40b42eb, 0x01e183f8,
-0xe1164485, 0x0edfad03, 0x04887dbc, 0x053e431a,
-0x99fcd77e, 0x5c72ff58, 0xeed27fa1, 0x578eb468,
-0x813f4c38, 0x74babaff, 0xe9364a14, 0x77c71aba,
-0x5c1d1a93, 0xac9132f8, 0x68a69c52, 0x78bec57e,
-0x8b85e86b, 0x045618f3, 0xec3cd879, 0x4106b81b,
-0xb85e8d56, 0x0608c0da, 0xb806f00e, 0x1ed0b78b,
-0x878da67f, 0x833397e0, 0x87e12e40, 0x2dee590c,
-0x60978df1, 0x6023ada1, 0x38bbe3fc, 0x9b649089,
-0x1e3c913e, 0x81472464, 0x915b48c2, 0x4b4d63da,
-0xc676be79, 0xfd836069, 0x90adac1b, 0xa3c00862,
-0x018dad64, 0x200c86d6, 0x60238798, 0x603200c8,
-0xac9812a3, 0xee99c513, 0x4de30001, 0xf6a3ebc3,
-0x5c4254aa, 0x341b048a, 0x8360708c, 0xc0ea9735,
-0x2f16d01c, 0x6ad4cd6d, 0x9cfa833f, 0x966ebd84,
-0x0a0889ed, 0x98eca11b, 0xbb77110f, 0xe805781b,
-0x5d09a208, 0xdf9ac4a1, 0x6883bb13, 0xa00f0ca2,
-0x68c133c0, 0x7b3bb783, 0x9680c0c2, 0x02860da2,
-0x08400206, 0x3c36eeeb, 0x040d4796, 0x1705c607,
-0x70064805, 0x1b669668, 0xc5051d80, 0x22caf208,
-0x0105e179, 0x12725393, 0x58666679, 0xd5b54c66,
-0x3f1cfd44, 0xc2e6ca1f, 0x9a47391c, 0x0ff00b11,
-0xe5a8b843, 0x00c7b947, 0x7ef41e1b, 0x40c8defe,
-0x061c4748, 0x501b174c, 0x21611ada, 0x69eb14bd,
-0x00bd6e5c, 0x33a72701, 0xe9d285c5, 0x1752f7d3,
-0xabc0b87e, 0x15881ab8, 0x22cb07c8, 0x842dd404,
-0xc329da03, 0x3f57050b, 0x174a22b6, 0x4948d460,
-0xeb398175, 0x3a288d3e, 0x9e133b53, 0xfb7513b6,
-0xc7ded194, 0x8d4d1f18, 0x5f28e89a, 0x7a3a5c1c,
-0xafae9031, 0x0520c0be, 0xf075daa5, 0xbe4f08f6,
-0xea565155, 0xd7e91348, 0x726128fe, 0xc15005c8,
-0x947606a8, 0x57e6e93d, 0x43212e92, 0xe94393d8,
-0xb95734df, 0x5dd84ec0, 0x2efd3e63, 0xc1ba8153,
-0x39bb2e0e, 0xc1cd9028, 0x7cf11f40, 0x52fe42b3,
-0x1da2db41, 0x9bff68b0, 0x80ec28e4, 0x408b4219,
-0xe365e8bb, 0x26621b28, 0xf14a09ad, 0xf50aa120,
-0x6b0c89da, 0x088de91c, 0x012b986b, 0xf1068a93,
-0x58d8ee6f, 0x3a3c0cb8, 0x1ef3438d, 0x38bff442,
-0x265b7712, 0x05407017, 0x28501f73, 0xc3017561,
-0x93886637, 0x4aad9e4a, 0x8331fb3c, 0x721e08c7,
-0xc1a288e1, 0x597e1f6f, 0x8a94e868, 0x595a0447,
-0xec394468, 0x1f36a1d4, 0x31f129ef, 0xdd68b64c,
-0x6a51d21f, 0x28f76803, 0x42b9688d, 0xc3d355a0,
-0x73ba7550, 0xd5bbaa08, 0x03d4dabf, 0x037a802e,
-0x2574b92f, 0x8f82c3d2, 0xe8519495, 0x3ab817c2,
-0x18bbbbf0, 0x3a388031, 0x3980311f, 0x8380752f,
-0x9f75fbb2, 0x56fb6854, 0x05e889a3, 0x7b585e84,
-0xa02871a1, 0xe90405a7, 0x16dbeb73, 0x408dbbfc,
-0x6a525f01, 0x52fd8d0a, 0x87c33381, 0x811784ed,
-0x10a3144c, 0x2456aceb, 0xe8717e89, 0x84ed1d36,
-0xc3558bb3, 0x47315286, 0xb84af0e4, 0x7606eec0,
-0xda04ebc3, 0x6d303d40, 0xfa11f572, 0x75ab3456,
-0xbbe80865, 0x9a23f165, 0x02c8d260, 0x7d6e0278,
-0xb766c52e, 0x9a0462db, 0xbdf34117, 0x1f8ce547,
-0x9304ec66, 0xe8aecbff, 0x07e0e19b, 0x3d61db32,
-0x607c79c0, 0xb5ed14b6, 0x47854b68, 0x0b0b2110,
-0x68c8b363, 0x3a0d1f99, 0xa37afb7e, 0x0f55fc12,
-0xfe8eb58e, 0x7b609b08, 0x6f358477, 0xf6854a7f,
-0x8ed68609, 0x267eef7a, 0x3c9f1878, 0xff046ca1,
-0x62be0c50, 0xffa24ec7, 0x7571f021, 0xfe162198,
-0x023331ba, 0x8d09a1c2, 0xc9b8f865, 0x36bb7689,
-0x0d06fe66, 0xa28c4a02, 0xdfbb5222, 0x7479feaf,
-0x8f07b927, 0xe645992f, 0x7bbbaddf, 0x0233743d,
-0x7f2304be, 0x0d783d92, 0x5b896b7e, 0x62229f89,
-0x70e39beb, 0xada7dcbc, 0xd5489090, 0x041805cd,
-0x9fbf082a, 0x1943e8ca, 0x689970ee, 0x66d731dc,
-0x537a185f, 0x4370a346, 0xc5af7b61, 0xb34e22a4,
-0xc1956809, 0x0905b24c, 0x998a6064, 0x4253426e,
-0x3445532e, 0xbb07b040, 0x46b36876, 0xfb241c89,
-0xb84dfdbb, 0x4914433f, 0xff147ab5, 0xf200ee94,
-0x9e3a057e, 0xb22bd94d, 0xfbc9856b, 0x6f17e245,
-0x74204239, 0xb1e74c1c, 0xeab19644, 0xe991058e,
-0x77bebec4, 0x6dfb0f59, 0xc4cab80b, 0xfc637afd,
-0x8d43b3ac, 0xfe8c2ddf, 0xc20a02fd, 0xb1b077f6,
-0x0974ae03, 0x4218b7e9, 0xc3fb0114, 0xae6cec06,
-0xa6a1a753, 0x9e11b6ef, 0x01e25e78, 0x6a36144f,
-0x67d46801, 0x8d7378ed, 0x2dec686e, 0x1a26fa3f,
-0x427827f9, 0xcf688574, 0x9c5a02ca, 0xc28b607d,
-0xf057982c, 0x136f2243, 0xc8cc425e, 0x372be94b,
-0x184d2231, 0x29990824, 0xefb3cdb0, 0x34d3880f,
-0xfdc9ee01, 0x6031fcd5, 0x5d43e198, 0xacc746e8,
-0x06a2f7a3, 0xf1a4a55a, 0xc3e051a0, 0x62950c77,
-0xe8d3a3a1, 0x05f12aee, 0x07d7891a, 0x3c03ebc1,
-0xb58c3e12, 0x0fa32257, 0x67170a7e, 0xbfd0d19c,
-0xc5034f0d, 0xed0a8ba1, 0x7fe60b78, 0xd9625d68,
-0xe355b1d7, 0xa6a33140, 0x09d80a8b, 0x8e7abc1a,
-0x8fb386a1, 0x317bb5fd, 0x0d105089, 0xa11c5889,
-0x67784521, 0xbe8a20bf, 0xd301c703, 0x9ec70691,
-0xeb7839a0, 0x6498e9ec, 0x60170030, 0x58153bea,
-0x7849c9dc, 0x85dd3634, 0xd12a68fa, 0x480ba81b,
-0x81d1584c, 0xeeb748fa, 0x7ca5f81f, 0x0f186924,
-0x96201dbe, 0x6f4813b8, 0xf07502c2, 0x30772874,
-0x56e455e8, 0x8e12bd8d, 0x1dc5b6e5, 0x8820ce4e,
-0x4dbb920d, 0x8c26425b, 0x9d853488, 0xfa2c11ec,
-0x74237850, 0x7d9c3a2d, 0x27e8ec3d, 0xf7caeb33,
-0x74012757, 0xdb4b748f, 0xe8b712fb, 0xab0bee5c,
-0x05d59ed5, 0x5a60fe6f, 0x42fd10dd, 0x502725fc,
-0xc589da39, 0x870f34f9, 0x3e060107, 0x885b060c,
-0x20d93904, 0xf5187e0d, 0xc4820f24, 0x76cb3936,
-0x60aea10e, 0x393151db, 0x780f17f5, 0x803396e1,
-0xf4fec235, 0xa268b128, 0xf56c8675, 0x32be1cf6,
-0xba05ae80, 0x3cca140b, 0xfeed8030, 0x81cacc27,
-0x868bc00c, 0x3db96d01, 0xe40e23bb, 0x1891138a,
-0x4d8b2c09, 0x0dd6ddf7, 0x1f1c0339, 0x76b97228,
-0x142c0f7c, 0xf01d0776, 0x0a72ad77, 0x77f339ff,
-0x106c3ba1, 0x34f0dbad, 0x34781376, 0x072b092b,
-0xaa510a2c, 0x906f5b72, 0x7c40f6ac, 0xb08d3eeb,
-0x1b80ee44, 0x100bd3e0, 0xc06855d9, 0xd340df10,
-0xdb2ce02c, 0x55eb4b3c, 0x35c3dc2c, 0x4f19c561,
-0x86099c16, 0xd86fda45, 0x75d36c82, 0x71e9d49f,
-0xf4465004, 0x8954d1eb, 0x2c3dd2de, 0x24a90d94,
-0x88f0c09d, 0xff448018, 0x4c278a41, 0x7fd07971,
-0x04b75166, 0x10e566b9, 0xa9b14fb3, 0x500c07de,
-0x4d2d25b8, 0x29a94d7a, 0xe634363e, 0x14d83c17,
-0xd8a58838, 0x9a456877, 0xdb64b42a, 0xcf8c3aac,
-0xf94ce818, 0xe8544899, 0x16588213, 0xb844a1a6,
-0x4611178e, 0x2497248e, 0x08dc96a1, 0xdda24a5d,
-0x50291c54, 0xef8d1068, 0x09cf8905, 0x811874d7,
-0xdbb6e36e, 0x392e2bee, 0x0e726ff1, 0x0686821c,
-0x39d2ec31, 0x037ab0c2, 0x43b04729, 0xa924d2e0,
-0x547ab850, 0x01a3a109, 0x0858a177, 0x445d4b3f,
-0xa5e1b08a, 0x77d8429b, 0x5352c3df, 0x26034808,
-0xbac8d745, 0xf0522084, 0x3163c36f, 0xd82932c3,
-0x1d01b701, 0xdeb6ab1d, 0x15a33c58, 0x2b901841,
-0xa29ba701, 0x6981b42c, 0xac456d69, 0xbb43ca5e,
-0x442fbb16, 0x0269c2ba, 0x03edee6f, 0x131a483d,
-0xb923a32d, 0x31054cbb, 0x1ce5c7d2, 0xbb44460d,
-0x16fffb95, 0x3920c283, 0x83637ef0, 0x3d4a40ba,
-0xdf060082, 0x75b8b5d6, 0xac138be4, 0x60040edd,
-0x346ffedb, 0x95393b11, 0x06774048, 0xf939c872,
-0xea5fc472, 0x742711d0, 0x05d65716, 0xf444808b,
-0x267266fe, 0x404124ea, 0x3589a773, 0x8d8e108b,
-0x61104535, 0x9d7f6246, 0x76dcd75b, 0xc11bc267,
-0x4c8637e6, 0x6d8bdba3, 0xa48bd8b8, 0x4c8e1d4f,
-0x7fd30dae, 0x01b0db3b, 0x29ea11f8, 0x42d319c1,
-0x6116db1f, 0x1d8d0d84, 0x40440f99, 0xbb613c50,
-0x09392b75, 0x085c8924, 0xf738821a, 0x2910d63d,
-0x25f02835, 0x294c0c00, 0x5edf8bb7, 0x014f333d,
-0x01fb11c1, 0x4d5c11cd, 0x7dd43b5e, 0xf8ac0ff0,
-0x5d0c1d09, 0x7453715b, 0x489e1a85, 0xb4ff383a,
-0x5ed1b637, 0x4d829415, 0x43154ea3, 0xb69f706b,
-0x0de31dc1, 0x1c6a7918, 0xee0ae409, 0xb7155c6f,
-0x8810123d, 0x1ca9b088, 0x468406b0, 0x68683471,
-0x4ff88baa, 0xc77fa3e8, 0xa1d105b5, 0x5ab07861,
-0x406fc232, 0x0eb05663, 0xbdded50c, 0xb6737705,
-0x11b9e82f, 0xd7272dd8, 0x11b68a35, 0xf94234d5,
-0x46ff3226, 0x7b690110, 0x7e34688d, 0x38db3169,
-0xc00933f2, 0xbb8358c3, 0xf448ea75, 0x831f2687,
-0x54b3ff57, 0x2fb165b4, 0x2051236c, 0x50e85569,
-0x2f4f6793, 0x726cff56, 0xbb035116, 0xabbd8e86,
-0xa87f5738, 0x66df60ae, 0x893a6e39, 0x3474faee,
-0x5c315538, 0x3cbee8cb, 0x0702e142, 0x6deb418e,
-0x5e0af15d, 0xe9e021b5, 0xd58e4816, 0x897eec2a,
-0x671a39c8, 0x20ad59e8, 0x0d0e24c2, 0x08d43017,
-0xde400574, 0x8650ab59, 0x50f7013a, 0xc14bab54,
-0x5b7e58f8, 0x1b7420ec, 0xe652c0f9, 0x4e6f8c1b,
-0xc7d2533b, 0xa9b09ed8, 0xc8bb51d7, 0x19da29de,
-0xd2318c8f, 0xa1b3a7a4, 0x0370154a, 0xd7ce3a27,
-0xfdebe928, 0x21f89d4b, 0x3d802cdf, 0x813ed7e5,
-0x6d130358, 0x209844af, 0x687b3810, 0xc0e00281,
-0x1881146c, 0x7681513f, 0xb3e02db5, 0x02ba9f16,
-0x825344d7, 0xed85ce48, 0x4b77746f, 0x8a07be82,
-0xeb1de41d, 0x4c8ac832, 0x6e27a3fb, 0xaee8a3fc,
-0xa3f87dd4, 0xdde206d8, 0x1a9981c2, 0x25231588,
-0x995c0eb6, 0xdce2f025, 0xbbf0a8c1, 0x148de9b1,
-0x840cf390, 0x26dc152d, 0x4b6d2284, 0x9325c8dc,
-0x04fd6e75, 0x4c04dc58, 0x172f7bc0, 0x5f8e22cc,
-0x02a211b5, 0x73044a94, 0x42da26f6, 0x47d572a0,
-0x8a0c7a8b, 0xd8606d46, 0x366213da, 0xf50a7c03,
-0x2bdb0d1b, 0x6c4fad7a, 0x74e88018, 0xb7dff086,
-0x74020474, 0x2992a17b, 0xff58e9c8, 0x0e9ae89b,
-0x869bbd05, 0xf7087544, 0xf4f002ee, 0xfb3be4df,
-0x0476eb89, 0x6f0d18ed, 0xcda1b181, 0x2342488f,
-0x927b9eb6, 0x945f973d, 0xab5e4b29, 0x50985744,
-0xf6269a25, 0xad1afc35, 0xd3e919a3, 0x01faa1fe,
-0x20cda06e, 0x300be9de, 0xdb86717d, 0x1f10c436,
-0x461213d5, 0x725a31c6, 0x4cc43b28, 0xfd522a78,
-0xda81402e, 0x73c8356f, 0x0344cc35, 0xd2340f03,
-0x3f125bb9, 0xb9a08788, 0xefebacd5, 0xdb32148c,
-0x522e9077, 0x9b18d029, 0xdf4d60e0, 0xd4c73550,
-0xfd5a5846, 0x33183b1e, 0xf69c3a1a, 0x7493c505,
-0xe0db9e0a, 0x5106e6d1, 0x5189bb88, 0xd8f50c17,
-0x83169e0a, 0x58e00d50, 0x6b77da0a, 0x5031048d,
-0x51c8528d, 0x5fc12201, 0x895233a8, 0x5fe2e8d8,
-0xd8337b88, 0x92d50f69, 0x2b565026, 0x120f901d,
-0x1827c37d, 0x3c70e853, 0x35011861, 0x7bb87db8,
-0x5e08314a, 0xc35e6d5b, 0xa752e805, 0x8c326aea,
-0x44a3d02d, 0x449e231b, 0xab3deb61, 0x77ff32d2,
-0x8d1cbe89, 0x2a66fc42, 0x046d0777, 0xfce890eb,
-0x4028ffe4, 0x0bffb383, 0x161df684, 0x19dc0582,
-0xf881dbeb, 0xc0da4e64, 0x33ff8c26, 0x34776010,
-0x51166b2f, 0x530ac702, 0xab3c058d, 0x3bd38455,
-0xdbfc3d1a, 0x7f0dffef, 0x74464c45, 0x2ec0313e,
-0x8175d175, 0x1336007d, 0xfa781b03, 0xd6396d18,
-0x75d38960, 0xc74bafbc, 0x539e2a5e, 0x74bb4ed6,
-0x05c73d31, 0x78b1c1f0, 0xa19bbad6, 0xdada251c,
-0x0045dda0, 0x3500013d, 0x581049b1, 0x38fd8d1b,
-0xa2bc02e8, 0xa09214a3, 0x99db776c, 0x34082872,
-0x8d232000, 0x7742ba36, 0x8c032027, 0x77ee0605,
-0x013be60d, 0x6a6b51e8, 0x68115612, 0x5e0b7cc0,
-0xf00a2a32, 0x15811c2a, 0xa2d0af11, 0xb844d43d,
-0x298cff46, 0x5a7804d3, 0x0414abe0, 0x0dcb6fbf,
-0x9d56be64, 0x6ce5203d, 0x04bd9df2, 0xfee6e964,
-0x06197463, 0x76baf6dd, 0xba2f1281, 0x84093a1f,
-0xc5e226bf, 0xb923c08e, 0x18080a2c, 0x53fbfab3,
-0x6855106a, 0x3a99e812, 0x53a0e830, 0x8b0cdc3d,
-0x5c7da3a5, 0x8d169f78, 0x52d40590, 0xf4a38da3,
-0xb93f182c, 0x31f5b0e8, 0xb5a9845f, 0x0be3c00a,
-0x7802fdec, 0x0a62897b, 0x95548d69, 0x80021c3d,
-0x5be36ffe, 0x7442be99, 0x3907bd76, 0x514676df,
-0xfdde4b8b, 0x439236a5, 0x010814cb, 0x0c5651f1,
-0x51044b03, 0x0561fffa, 0x7c745647, 0x0303438a,
-0x04a80873, 0x5f671e75, 0x0365db01, 0x54935d55,
-0xac19ac75, 0x2124b6b9, 0xb0522682, 0x563487fa,
-0xbbd6555c, 0xa1000039, 0xe7ac5dc4, 0x01e8a2c2,
-0xccba6e9c, 0x5bc087c0, 0xe901252f, 0x065149df,
-0xcb52bb0b, 0x8a525009, 0x10a3cc29, 0x39720e09,
-0x1606f7d6, 0x9bd5d50f, 0xa435e0dc, 0x32c6d083,
-0x5c3cf6db, 0x817f750e, 0xe913ea1a, 0xe15a28d4,
-0x0fc339c6, 0xc250198d, 0xd86e13c1, 0xadf8dce5,
-0x8d4a7e3f, 0x7983a488, 0x75daee40, 0xfd988bd9,
-0x12b185c2, 0x0b041e49, 0x8dc977f3, 0x60681d5c,
-0x0c21b6d9, 0x1550cb0a, 0x8470ff30, 0x75289c1a,
-0x00c42444, 0x60eb1572, 0x12db811a, 0x3987082f,
-0xfc24c103, 0x0c9be217, 0x8b277330, 0xe0834613,
-0x0c4b8dfc, 0x4e9b348d, 0x83633efd, 0xf0010ec0,
-0x3930bad9, 0x762eadc5, 0x17c67607, 0x1e74992c,
-0xd5741f70, 0x16a0281b, 0xcc032c9e, 0xd2963f66,
-0x35c1447a, 0x577adeec, 0xb56d1afb, 0x66dd1fe9,
-0x4d00002b, 0x8e12db46, 0x4c0c4809, 0x928cadb2,
-0x58092009, 0x0e241dd0, 0xac2c39e9, 0x28340c94,
-0x64c11f6d, 0xeb0e753c, 0xae01b8a4, 0x4752e104,
-0xc5987d31, 0xd52de1c1, 0x232e11d2, 0x7b2f998d,
-0xdbdb6d40, 0x3ca27d3f, 0x9dc181fd, 0x8b505b8b,
-0x97490271, 0x408586a2, 0x202203ce, 0x0604ec87,
-0x53e378a9, 0xe851c601, 0x84e9f30e, 0x350e1dbe,
-0x664a31ed, 0x64a11874, 0xe146f46e, 0x7220ab08,
-0x0973a40d, 0x83a7612a, 0x4eeab86d, 0xe37092c4,
-0x5a1b92db, 0xf1c54c10, 0x0d8e8626, 0xfd2ae86f,
-0xeb3c5853, 0x3c7e4307, 0xdacfa307, 0xb4ac467d,
-0x7405e2c1, 0x8d77e575, 0x078da15e, 0x48763c59,
-0xb1df0473, 0x132f7297, 0x86b45482, 0x440f7644,
-0x6ddcdee8, 0x400c501c, 0xeb40b976, 0x48058bb3,
-0x6eeada11, 0xc18540a2, 0xf5451c10, 0xca7bb194,
-0x2ba67800, 0x85f98341, 0x383dd182, 0x21348638,
-0x20889398, 0xceaf86c0, 0x371561f3, 0x244c4300,
-0xed8d5a10, 0xff17ee76, 0x8334572e, 0x33391411,
-0x9a011a7b, 0xb8455ae2, 0x01a0dc9e, 0xf120351a,
-0xd1560390, 0x92a61300, 0x312d1a13, 0xbd770edb,
-0xa7860c10, 0xf8bff789, 0x590526f7, 0xc839d101,
-0x3906738d, 0x410276d0, 0x398b7620, 0x730e181e,
-0x6ec50c13, 0xd0881ef7, 0x3bc21f23, 0xfc0a7695,
-0x3a5b0b73, 0x0b8b0f10, 0x3b0c7609, 0x39c80f15,
-0x0d116807, 0x1dfd1b18, 0x490254c5, 0x21d0f71c,
-0xfbd139c2, 0xbad81c3e, 0xd1297f0d, 0x320b383b,
-0x16086557, 0xbbde644a, 0xc468416c, 0xc0466670,
-0xf621067e, 0x0105e3f1, 0x0e8b2893, 0xa3f143ca,
-0x7cc911a5, 0xe9de15b8, 0xde396e46, 0x084018c0,
-0x7cf19368, 0x3f0035b3, 0xaec00b0e, 0xc1084331,
-0xb037b647, 0x481e7749, 0x80049d10, 0x64d8307c,
-0x0d0dada0, 0xe92ed98f, 0x2b6e4986, 0x11eacaf0,
-0x8bad087d, 0x128f6fc7, 0xee29066d, 0xb157a366,
-0x47ec264e, 0x3f5de96e, 0x896d284f, 0x9b80c44e,
-0xf4032962, 0x4ca6e999, 0xcc684c7e, 0x17e9c316,
-0x9730a1fa, 0x12fc299d, 0x944d2e04, 0x60703570,
-0x45b82815, 0xce020b1f, 0x3dbae800, 0xc36ec2ac,
-0x09e8ba1f, 0x3582fb39, 0x4d730ca8, 0xadda2d01,
-0xdf07b0dc, 0xda222e73, 0xa91ffd58, 0xc1c2f905,
-0xc93109ea, 0xcf19d629, 0x3637a542, 0x89d801f6,
-0xa33f892c, 0x888b882f, 0xeb29ec45, 0xb8cf3989,
-0xc4c2a5e3, 0x72f01b6f, 0xd9dee4ad, 0xfafd91bf,
-0xc209f031, 0xa15e4074, 0x5b4daf3e, 0x01498aab,
-0x4ec5295a, 0xd63a1058, 0x15535530, 0x6d6141a0,
-0x15cfbc63, 0x913305c7, 0x362594a1, 0x92ec1f8b,
-0xb577d8a5, 0x3db951e9, 0x3c521d92, 0xe7a805c7,
-0x877809ac, 0xe83dc3c5, 0x64a3b9d7, 0x58906bf0,
-0x9b08f759, 0x2430fdc3, 0xc749c7e2, 0x909037e9,
-0x25889b86, 0xdaddd2e2, 0x37257388, 0xf6c0bf68,
-0x04b6a0c1, 0xb903740e, 0x9a81c287, 0x5b0cd1a0,
-0x10a69531, 0x0d1bfb46, 0x41d02bfc, 0xdb72d939,
-0x827a7e0e, 0x54968233, 0xbb7d0ccb, 0x1c6d2144,
-0x7416d2f7, 0xecc48602, 0x5f10ae02, 0x3d02ba1c,
-0xdd15633d, 0x062d0577, 0x10c03df7, 0x02f56f0d,
-0x697868af, 0xed55b85f, 0xd2e9f713, 0x5f406c1b,
-0xc11fc5c8, 0x475a45fb, 0x35c3db6c, 0xd583025b,
-0xd0be6f07, 0xc309db7a, 0xc1290286, 0x03e2bbcb,
-0xdcdbca29, 0x4f86e0d6, 0x23db16c2, 0xbd158002,
-0x1140c8dd, 0x0be2d177, 0x59d18943, 0x27b1ac44,
-0x6c5bea78, 0xf6ab69bd, 0x79cc49e8, 0x0f40046d,
-0xb60815bf, 0x4141de05, 0x8aeb100c, 0x7f16ab28,
-0xc244700d, 0xd6a1b729, 0x8ae346f8, 0x4330841e,
-0x8a1c7414, 0x06ff9f41, 0x8818fc4b, 0x1cc888da,
-0x38df2bdf, 0x460a75c2, 0xd52ff047, 0xe4751f7e,
-0x0fdf7d1b, 0xe183c3be, 0x41321adf, 0xd1be04bf,
-0x24d0295e, 0xeef7dbf2, 0x147f3b01, 0x744c5e0a,
-0xce5e5b0e, 0x5b06c2f6, 0xbed2229b, 0x118a3842,
-0xb438058d, 0x093cfa64, 0xee92ec76, 0xe20dad0e,
-0x51952f8e, 0xea8918b0, 0x4a184a4a, 0x31f631f4,
-0x644a88ff, 0x170532b8, 0x5ea8e813, 0x8de83e34,
-0xd19d6870, 0x779a3b74, 0xb7eb7ffd, 0x7f02ffa8,
-0x24684209, 0x752e3980, 0x08e6c126, 0xafc60947,
-0x13bf0bdb, 0x89c47e03, 0xc8c17bf0, 0xc6890410,
-0x1c371a22, 0xe53089d0, 0xa4e829a2, 0xf10c80fd,
-0x328dd107, 0xffb75bcb, 0x1258f812, 0x60e402eb,
-0xc09e64e4, 0x8204e1a8, 0xa8a5ee1b, 0x19e809d7,
-0xe8726f18, 0x93f1da90, 0x01681861, 0xcb633424,
-0x4fbbf70b, 0xb8e8a9d0, 0xe6d1b097, 0x08afe864,
-0xf7620f8e, 0x1560e6df, 0xb6d3a6eb, 0xe8b7bd4d,
-0x2efb83c6, 0x743a901d, 0x120e890d, 0x4bdbd4dd,
-0x064264e9, 0x67d5e80d, 0x6c393c53, 0x3d804a19,
-0x7f26c1da, 0x2e2961b3, 0xef10abe8, 0xe8dcbadd,
-0x95882877, 0x13c0b602, 0xa039de6f, 0xeb5bbbaf,
-0x187507f1, 0xb3b753e8, 0x7423c7dd, 0x0823e8ef,
-0x7417c389, 0x240dfbce, 0x74c409e8, 0x0ab3a707,
-0x12827777, 0x3c237496, 0x77fb70ab, 0x78a2e8f3,
-0x11741bf8, 0x7d740404, 0x9bba0fcc, 0xbadf7578,
-0x0aebff93, 0x15f0ba0b, 0x616baacf, 0x1213527c,
-0xd0b6b9c9, 0x84103221, 0x110fe0db, 0x07bf1576,
-0xe805eb58, 0xc9c6979a, 0x906ee952, 0x140ef2a0,
-0xb5681c27, 0x5f01368c, 0x1a2d70f1, 0xb9e9b220,
-0x91402088, 0x83c0f68f, 0x8d809f4f, 0xbe8dd086,
-0x1dc51d26, 0xe4f8d67c, 0x99688d08, 0x8346a281,
-0xfff00a1d, 0xf8873036, 0x3b453d14, 0x83b900b0,
-0xc1bb8daf, 0x4914c3a7, 0xbba4a0c0, 0x88c19fc1,
-0x938bed3e, 0x3ddc83c8, 0x7ed90e79, 0x17d57740,
-0xdfc41418, 0xbd3b3442, 0x1693f726, 0x96978883,
-0xf004750a, 0xc239f00a, 0x381b07fc, 0xc7916ac6,
-0xf79672ea, 0x6346dec2, 0x1175e403, 0x0aa96569,
-0x177efdf8, 0x07ea8130, 0x3b47e281, 0xff6d2c54,
-0x67229afb, 0x61c0208d, 0x29ced70b, 0xe9f51d7a,
-0xe39e7f56, 0x40335f35, 0xf83974b7, 0xf1f75557,
-0xd8afe850, 0x2c6853f0, 0x2c4a2595, 0xe575e894,
-0x9154dbbe, 0xc66e775f, 0xe8241c44, 0x277f4b62,
-0x89e02930, 0x65e972ba, 0x1c0608ff, 0x391c0f06,
-0x3ed6bc21, 0x0937540b, 0x1ed83058, 0x5e018b84,
-0xd3f8c993, 0x67fca713, 0x9c2dbb89, 0x267f012b,
-0x91484264, 0x75ff85bb, 0xa1ad12e3, 0x3ab38bc3,
-0xff09d9a7, 0x30e05db0, 0x39052abb, 0xb7a4f2f7,
-0x1ffebbb9, 0x393276f2, 0x392c7311, 0x139a66b4,
-0xc2df407a, 0x8ea148fa, 0xb9b7a1f8, 0xd338850d,
-0x33093914, 0xd0341789, 0x19d6ddbb, 0x779a3bf0,
-0xa581750a, 0x95302579, 0xe8868d7b, 0x0b4463ee,
-0xd3a07cb4, 0x58184e6f, 0x1d5e016c, 0xb6ba15cf,
-0xd43c7e01, 0x5ebe9f75, 0xbe582b11, 0x7ac13e91,
-0xa14be2e1, 0x20d1a328, 0xa2068710, 0xcf87debf,
-0x0452e03d, 0xd69c0d99, 0x3aa172e9, 0xb4060745,
-0xf8e417e9, 0x2932a1af, 0xfc508dc8, 0xace3c802,
-0x726a3f0a, 0x8951d319, 0x5b7b3894, 0x2415de44,
-0xb16ec310, 0xea4e131d, 0xe6168b0c, 0x9181da29,
-0x8db12fee, 0x0d3ef84a, 0x760a7823, 0xf13e5821,
-0xe10afc42, 0xb2ed960a, 0xa8480d89, 0xc980be33,
-0xc2d9966f, 0x87fc408b, 0x4188358e, 0x39ce0746,
-0x66a8f5c2, 0x767d3c87, 0x3295a05e, 0x3050f1ba,
-0x42f8528b, 0x23d7a0b1, 0x828f7a75, 0x2fb3a1d9,
-0xd4648cc1, 0xa155e2a7, 0xd6f8cee6, 0x0ea2e1fa,
-0x6884bc80, 0x2e28c380, 0xc8a81ae1, 0xf7b04a99,
-0x20b94f75, 0x5303281a, 0xa6112304, 0x20cc646b,
-0x1ecf086d, 0xdb9e66bf, 0x4ab2fb24, 0x417a38e8,
-0x5fd7b00e, 0xd0f015d0, 0x346c1401, 0x7955bbd9,
-0x6d0bb796, 0x88115a58, 0x43e100b8, 0xbd0869c5,
-0x01331ea1, 0x07bfec8f, 0x0a124f7c, 0x22ffec34,
-0x9d032d18, 0x7b7520fb, 0x081a14a1, 0xadb94f5f,
-0xe80af508, 0x6cf4a75b, 0xefe86122, 0x282aa7b1,
-0xe0ebe80a, 0xc02e02a9, 0x43f728b7, 0x58594fdc,
-0x49e2ce9b, 0xc433e836, 0xe8450d3e, 0x61dc80be,
-0xbe0028c1, 0x45f7dc30, 0x150b502c, 0x1f1ab9d7,
-0xcc22eb19, 0x128eb99e, 0xe3d8cf27, 0xb2e98be4,
-0xd0753315, 0x3a20cc8a, 0xa29789e3, 0x189a4b04,
-0x0d370806, 0x061e3617, 0x5e055b59, 0x1ce43d12,
-0x4a08ef29, 0xcaf176d0, 0x147b8115, 0x46c3ff00,
-0x9d7502a5, 0x438daf04, 0x13e8501c, 0x936db02b,
-0x18ca4210, 0xe0161406, 0x311be276, 0x00848db6,
-0x2ad21ff3, 0x9509b604, 0xa994abee, 0x280e45a5,
-0xc1183f54, 0x8c68056f, 0x03c6661c, 0x80597845,
-0x4128df5c, 0x03884558, 0x2e891dc6, 0x04e3dde8,
-0xc8370500, 0x5ca7c54a, 0x88ac1255, 0xd048c343,
-0x0618e7f6, 0xaca1ed09, 0xb540ed01, 0x8906bb1b,
-0x6b70dade, 0xe8b314c4, 0x1b90f6aa, 0x219a2070,
-0x16eb7687, 0xa28e54ce, 0x51a41363, 0xd40fef42,
-0x1040ea0f, 0x643e0539, 0xb445b423, 0x3241fc80,
-0x602ee7c0, 0x2df6206a, 0xaa14c294, 0x836a341a,
-0xed2d8abf, 0xd46897ed, 0x02ad4194, 0x3c02408a,
-0x7866dbf8, 0x3c3c23fb, 0x09e9ec75, 0xee463b68,
-0x180fe302, 0xf0304e3b, 0x01b074d4, 0x5588b57b,
-0x039173b4, 0xba8768ae, 0x700c407b, 0x51cd54a3,
-0xbf8ab6dc, 0xc6110688, 0x55d57943, 0x83439bbd,
-0x31e514e8, 0xe88ed90c, 0xe7e8ad47, 0x1e58c6f4,
-0xbae0b6ee, 0x56225a98, 0xcde80343, 0x87689619,
-0x86c65241, 0x59a1fc95, 0xa39e0bc5, 0x7153a845,
-0xd427243a, 0x582647e8, 0xb53f11ca, 0xec707ee8,
-0x4b6f8c43, 0x46727e8d, 0xb6edc214, 0xeb8351fb,
-0x0edf860c, 0x5f030247, 0x1ceb5d04, 0x7947c3f0,
-0x6e3de8f0, 0xf1110ad5, 0x3bd45dba, 0x0623c35f,
-0x8e9f4307, 0x00892520, 0x9ce5c263, 0x4f28c7c5,
-0xc256e804, 0x1c070169, 0xfcb96c06, 0x782a06ee,
-0x4e8ff42c, 0x760df983, 0x5b5015e2, 0x595d1d6f,
-0x66e40c42, 0x090d5a07, 0xc855ed09, 0xc066a76c,
-0x4988002b, 0x5906fdb4, 0x097d800a, 0xd8640f11,
-0xf152a9ec, 0xa9555600, 0x7b0340c4, 0x546573b5,
-0xc68f5dce, 0x46083cdf, 0xb0bd4681, 0x07bc2fb3,
-0x3974b516, 0x0405663d, 0xf19b778d, 0x5626c10f,
-0x0e6f8db6, 0x30fa3ee8, 0x6d006c09, 0x4bbae77d,
-0x6d883eca, 0x0f1108c6, 0x8e45143b, 0x1bdddfb1,
-0x5f385102, 0xe856531c, 0xde0c310c, 0xffd9ef1b,
-0x83561677, 0xe85720c7, 0x041127fa, 0xea743468,
-0x60f336ec, 0x0468060f, 0x550fda31, 0xd6b7086a,
-0x0792665a, 0x79fb402d, 0xe026c08e, 0x0595e0e9,
-0x852cdbf7, 0xdab6d188, 0xc1fb0fc4, 0x430b740c,
-0x1b815762, 0x2548c031, 0xbff1bf21, 0x8d38126a,
-0x528a0e6a, 0x3cbbc60e, 0x53870f0a, 0xa0c4e28d,
-0x932bc6fe, 0x42a7005a, 0xfacd7b89, 0x0b10cdcd,
-0x7fbba954, 0x89c5f7fe, 0x823f2c06, 0x5edab074,
-0x6194c6b0, 0x70846519, 0x5c627c56, 0x582478d1,
-0xef087594, 0x46e91c19, 0x938f3a1e, 0xcd0e1f8d,
-0x22c6833a, 0xae544584, 0x56086f6e, 0x86742b04,
-0xa02d5cd6, 0x8780bbf0, 0x7e836b13, 0x62db0627,
-0xe8977c2c, 0x0f30fd26, 0x277b6c4e, 0x694506bf,
-0x1de3240b, 0x86ddb74c, 0x05dc3d0f, 0x13cf8fff,
-0xeac8148b, 0x533ff614, 0xae09346c, 0x240c8b74,
-0xf308748d, 0xe33c4b80, 0x29312278, 0x0e73cfd1,
-0x8dde15cd, 0x0e152962, 0x3b203445, 0x0eb7dbd0,
-0xff0f7c03, 0xebfc15fd, 0x3501dfe7, 0x68f8ae81,
-0xfdc443e0, 0x60bf10e8, 0x4cf86e8a, 0xb9057e07,
-0x97f14b07, 0xc3843762, 0xf6e8e3d3, 0x96c751f2,
-0x71e0df4e, 0x99a4071c, 0xb129f9f7, 0x976b125f,
-0x44b72849, 0xd6381048, 0x45de2ec1, 0xa173748f,
-0xca89d9d4, 0xb18b54a0, 0xfe2423c8, 0x8db196aa,
-0xaa4fdb43, 0x460813b8, 0xb56d5b04, 0x07fe76c4,
-0x0616fcf3, 0x6274a16e, 0xe0d1c307, 0x7b18bc80,
-0x1378b622, 0xf0b40618, 0xebdd0704, 0x61740678,
-0x230354c0, 0x132eb468, 0xeb30810f, 0xee031917,
-0x2b028fb1, 0x681b54e7, 0x00d48b64, 0xfcc22033,
-0x42f8e6f8, 0x0362ee1f, 0x596851df, 0x8722a664,
-0x08030680, 0x5dba6638, 0x01a4fbed, 0x6d431206,
-0x15040614, 0x9946b630, 0x57176ddd, 0x56e303a9,
-0x55241453, 0x51cd252c, 0x1374b22a, 0xd250182a,
-0xa9b00669, 0x430ebe22, 0x35a3613d, 0xf876506c,
-0xe001b3d6, 0x21c05b82, 0xc3db0ada, 0x2ce6638f,
-0xf6812e18, 0xf0c345b6, 0xb41945d5, 0xb1e26b27,
-0x6d0f498b, 0xb8a56556, 0x9ad85914, 0xe9c3bb94,
-0xb97718ed, 0x5e975f28, 0x78c53906, 0x50b83c6a,
-0x7f0db1a6, 0xdca36604, 0x341be882, 0x13789318,
-0xcd52ac60, 0x7c3ac214, 0x4f83415d, 0xea699e63,
-0x7001a296, 0x4a24e702, 0x1c6f19bc, 0x42748008,
-0xb8255006, 0xfff8642b, 0x34756832, 0x2be818a4,
-0xe8e85b1e, 0x1b0a1f81, 0x671fbe42, 0x665ac447,
-0xec10e7be, 0x3ae7dd22, 0xec11c040, 0x74c20b14,
-0x07d9efc7, 0x713a02c4, 0xa068cf04, 0x6a9859b8,
-0x13ab3446, 0xb7376227, 0xe80c3544, 0x23e8ff23,
-0x6d18bc1e, 0x3de9d99d, 0x46782b8e, 0x2495e303,
-0xb1406ec7, 0x634a3152, 0xafeb76c2, 0x500176d1,
-0x7ee01319, 0xf1913698, 0x2dd0335c, 0x9b20bdfb,
-0x2c3e414b, 0x7245e3c7, 0x6d88e2fa, 0x00b178ad,
-0x40b43dc9, 0xa5d92bfa, 0x0ca3afb7, 0x5002efaa,
-0x5b053be0, 0xf100f4b6, 0xc0c1ace8, 0x5bdcfb9e,
-0xba0750fe, 0x0f0386cc, 0xfe5de87b, 0xcc458468,
-0x731d665b, 0x0d028bdf, 0x95dbde48, 0x6058bdc2,
-0x5da1b702, 0x0e3d79c3, 0x3a97bab3, 0x8df118c3,
-0x1408f668, 0x24835d47, 0x4a5aa3bc, 0x201c19e7,
-0x1222adb6, 0xf6204e05, 0x2ce88ed8, 0xe984c060,
-0xbac00da8, 0x1309b3a0, 0x63206a5e, 0xb0ee9a02,
-0xcd86c21d, 0x0dce04e4, 0x13a00fd4, 0x20c67db8,
-0x79fda7b5, 0x7e03ff4d, 0xe9357731, 0x75065d0f,
-0x2c578da4, 0x6823a976, 0x1a087349, 0x1a6aff10,
-0xd9180978, 0x32105c8d, 0x63063be7, 0xdbf29a13,
-0xa098fd61, 0x7660da96, 0x2f16dc87, 0x80d009d8,
-0xb3130b4f, 0x38848c8b, 0x384c45ef, 0x222ec884,
-0xb03002e5, 0x231f0736, 0x2d4d7576, 0x4c590178,
-0x75493812, 0x584428f0, 0x2fbd6888, 0x820a583b,
-0xb87d3145, 0x1db05742, 0x391e1069, 0x400249d0,
-0x58c6c0f0, 0x06d519c4, 0x16ef7902, 0x6012205e,
-0x892e4725, 0x6969a1e7, 0xa636f1b6, 0x41aa3da3,
-0x8e528ca5, 0x05fe4276, 0xd8a6e748, 0x0f704d72,
-0x1985b19c, 0x887c0ac9, 0x5bb9c141, 0xf19ae988,
-0xc70ec1be, 0x1559950b, 0xeaab8321, 0x7eb4771a,
-0x0d4f72ff, 0x06416dc5, 0xcece7d8a, 0xdcc03894,
-0x63098461, 0x086c0573, 0x97153693, 0x7ae0e8f1,
-0x484221c0, 0x7e70bb18, 0x4db8a01e, 0x40c1b1e1,
-0x38fc18b6, 0xf0c2a79d, 0x2d06c4e0, 0x7da17b02,
-0x10805588, 0xe857c550, 0xfd19ee26, 0x181a514a,
-0xe997ab9a, 0x585c22b4, 0x5220ae88, 0x25522ebd,
-0x167d383f, 0x1da3a27d, 0xfd756953, 0x09fc5198,
-0xe9018b1f, 0x386efd63, 0xf6be0a64, 0x428a9330,
-0x041f7283, 0x6dc2450c, 0x04b147d2, 0x74d3ed85,
-0x175083ad, 0xfbae06a8, 0x941235ee, 0x03e547b0,
-0xd7ba3e33, 0x1a7e1ab1, 0x97cc22a3, 0xc148d0b6,
-0x9f257df9, 0xf1fdfa20, 0x8b6c2197, 0x2f8c24bc,
-0x068024b4, 0xc1e3249c, 0x83a47e0a, 0x8d98ffff,
-0x831e1e2c, 0x9f6fea27, 0x8424841a, 0x3e4474b7,
-0xbc6c6d82, 0x8018010a, 0x1774cce3, 0x04d09f4b,
-0x9e32be1a, 0xe4020886, 0x0d9c4f76, 0x44afc898,
-0x821fc8a1, 0x012845d4, 0x816c7d4a, 0xa6d342d1,
-0x83f868a5, 0x41809e56, 0xef61ec3e, 0x8c09bae0,
-0x25c4012b, 0x3328c9f5, 0xcb1f47e8, 0x6b948eb7,
-0xa004f9b1, 0xa874bc9d, 0x8edb2fc5, 0xb6f4ea0e,
-0xee391b88, 0x93bd0b73, 0x77863edd, 0xf5720a46,
-0xa82d89b8, 0xafc52854, 0x4c758e05, 0x6a152052,
-0x44c22e18, 0xe840bd57, 0x68b86c34, 0x50beb8c8,
-0x52f42c6c, 0xbb642e04, 0xb67e5c1e, 0x0dbf0141,
-0x047bbab6, 0x225ef130, 0x1bddd1c8, 0x00dd54de,
-0x4e546877, 0xfffe42e6, 0x62c615ff, 0xd988d4c3,
-0xdf7ea180, 0xa09027ba, 0xac846ad0, 0xd13d804b,
-0x304275d8, 0x7f0256c3, 0x1135541a, 0xe5ffe1b6,
-0x2b750330, 0x8001568a, 0x177603fa, 0x83468d13,
-0xc4fd8b9b, 0x37e8ba68, 0x851bee1e, 0xe027b3c2,
-0x0230ff0b, 0x12c122e9, 0x580baf5c, 0x837b576a,
-0x9b49156e, 0x84f6caab, 0x1a7f75d2, 0x3608fb35,
-0x50ac55bb, 0x841d08c0, 0x65df0801, 0x0e2b1964,
-0x8001b381, 0x61dbfdd0, 0x9789a023, 0x9275961a,
-0x05c6ff6a, 0xee85dfd8, 0x12467318, 0xe88e006a,
-0x01e6fdd0, 0x19b3800f, 0x33360200, 0xb656707c,
-0x82028ee9, 0xec7ab7c1, 0x4e7401f7, 0x8f010895,
-0xed89eb94, 0xab475256, 0x6fe8c743, 0xa47aa179,
-0x4a1f089c, 0x0ba3ffef, 0xc58986cf, 0x11187135,
-0x483d32b6, 0x35f8891a, 0xe9cbdb15, 0x8a6eec04,
-0x2709fbad, 0x0e19a218, 0x0310108b, 0x708617ad,
-0xe78c1409, 0xd22a97b6, 0x7a86feda, 0x8ec9311a,
-0x6fe3ba8c, 0x383099e5, 0xb81773d1, 0x396647a0,
-0x16dfed18, 0xdd41af16, 0xf3721144, 0x7405f980,
-0x83800848, 0x481709b6, 0xc0e931d1, 0x8db50bee,
-0x2aa28514, 0x47f23db9, 0x6a2ebbfd, 0x6c4c7ec0,
-0x3c3c0241, 0x3cb00276, 0x76ac7b70, 0x8d5051a1,
-0xd45003c0, 0x03861c9a, 0x10d51220, 0x85d0323c,
-0x03104482, 0x10a21ad5, 0x16a8cf87, 0x075f46e9,
-0xc8fe1d3f, 0x80c9fef7, 0x0b57a7fd, 0x017e807c,
-0x00ea86a3, 0xe13b303d, 0x62008b60, 0x629a4f6b,
-0x8c36e48e, 0x58150625, 0xe91346fe, 0x6d387af6,
-0xa328538f, 0x7aa39a16, 0x15746292, 0x27e84769,
-0x6d5e971c, 0x933b1f49, 0xeb8323db, 0xf67c9c3d,
-0xfc5ae904, 0x0099f43b, 0xdca4b884, 0x3bd5a342,
-0x09ce6f80, 0xf20c0af0, 0xd1f81e48, 0x6fd1fbd7,
-0x718dc1b8, 0x7e8d7d27, 0xf8018002, 0xaae0c739,
-0x8322004f, 0x120e8e5d, 0x80758216, 0x1a25781f,
-0x08dd5c18, 0x77ef6e74, 0x21a5b91c, 0xca7b4714,
-0x0bb02de0, 0x446fb4c0, 0x47b6105c, 0xbf6f80ae,
-0x03877c51, 0x725e7c3b, 0xcafae9a5, 0xba1eea41,
-0x09e4c0b6, 0x27570dec, 0x05db910e, 0x340fe8fc,
-0xd4fdd336, 0xe80b3d90, 0xbd151af9, 0x6c425895,
-0xe9988842, 0xe01b7683, 0xe99cf82b, 0xf0418d81,
-0x1c51a2d1, 0x1e21f646, 0x02f1675c, 0xed20ad8c,
-0x332674c9, 0x313f8981, 0x31158556, 0x11762a5f,
-0xed01b1b4, 0xaf3cf890, 0x0875bf3b, 0x06742cb8,
-0x2a7f032b, 0xb8f47502, 0xa1ddf044, 0x43391ad8,
-0x2dea7504, 0x0f0f0fab, 0xf269515b, 0xf7ccb000,
-0x15260647, 0x73f13eb7, 0x67582e1a, 0xc582e5b4,
-0x9856b49f, 0x981c5a59, 0xf5111a8c, 0xf72a9d7f,
-0x1422ea09, 0x040ebfac, 0x9643633c, 0x141a0626,
-0xdb680918, 0xd2405385, 0x704b5776, 0x3b4890aa,
-0xfa94a3e4, 0xb890d9a2, 0x48c108af, 0x5bdde27b,
-0xffba7f6b, 0x3d107e21, 0xf7ba77bf, 0x55a83aa5,
-0xbc00c58e, 0x805829da, 0x875306c0, 0x8ab5003f,
-0xb6a15711, 0x85e2acc4, 0xe8f9b148, 0xf01ddf44,
-0x8713fd2a, 0xefc1011a, 0xf8f60285, 0xecea848f,
-0x0f6caa49, 0x5a4370ba, 0x962b7268, 0x388c6eb8,
-0x18446713, 0x57554a66, 0x47244e27, 0x216e5605,
-0xe8068f09, 0x0f27194b, 0xdf731a99, 0xebe9d385,
-0x1ea314f2, 0xf30422f5, 0x16bacf60, 0x5952f5d7,
-0xb1566c43, 0xedd02b05, 0x5c57a0c5, 0x386eb9a0,
-0xec81d7c2, 0xa1c10078, 0xd47c0d0d, 0x88ac1608,
-0xfa00a2d6, 0xf7ce16ed, 0x010a84a1, 0xa234081e,
-0xf5034602, 0x0386168c, 0x75136ce4, 0x1abf76e5,
-0xb90c04a2, 0xef824740, 0xcaedd3e0, 0x013cc279,
-0x063e3d04, 0xd8184d0d, 0xd02ab193, 0x2206f351,
-0x8614c3db, 0xf018ff10, 0x15a9820e, 0x18050385,
-0x072b06f0, 0x0fa3f7d3, 0x15c36cd2, 0x2d2f2241,
-0x1b040ce6, 0x34ce8d0c, 0x830b63ae, 0x5416b615,
-0x38168c59, 0x232374df, 0x800f1001, 0x680d6a52,
-0x232cd0fc, 0xe91799bf, 0xff8dc617, 0x060c7f4e,
-0xe814bedc, 0xb73df15c, 0x71010ed9, 0x89ba2e1c,
-0x1cba5ff7, 0x284b0e93, 0xb750fe9c, 0x8f13bfbf,
-0x242c1f9a, 0x436afb68, 0xe8ffb66a, 0xd58a26bb,
-0x7efaf2dc, 0x246a28ff, 0xdca1bd17, 0xc9561ce8,
-0xb0e2e8c7, 0xa7f04ff2, 0x68483856, 0x5728eb00,
-0x87bc7a0c, 0x0c5386c5, 0x09cfee51, 0xe0dd8ca1,
-0x1adc4ddd, 0x892fb2e8, 0x2dc729df, 0x475ed47f,
-0x63158228, 0x22043d83, 0x7fb77424, 0x570c0385,
-0x8b1c2713, 0x2b1c2bd7, 0x611d16fa, 0x6840ec1a,
-0x16e31da1, 0xd2324c04, 0x3d163ac5, 0x821390cc,
-0xb5439c8c, 0x8cd84e43, 0x9e991674, 0x9a4cdb31,
-0x7ff16708, 0xfb8309eb, 0x858f0f13, 0x8b1455f9,
-0xc71c2301, 0x9f5f1802, 0x01d8c25e, 0x50f5f001,
-0x89ed4907, 0x11d84ecf, 0xe5b10843, 0x26a87505,
-0x47ecb6c4, 0x39f685de, 0x895c81f9, 0x48bd8847,
-0x34814375, 0x4ba9186c, 0xe8d38c80, 0x516b7013,
-0x970a6d24, 0x32061d8e, 0xe2ed59df, 0x79941d1a,
-0xbb408ece, 0xf31aae77, 0x3163b702, 0x5d0031a8,
-0xffe53374, 0xe27536b3, 0x838d9903, 0xa0831f1b,
-0xfd16f6c0, 0xef0d6807, 0x0412d3e8, 0x17f5ba47,
-0x6cd23ca1, 0x483944c3, 0x5022a1cf, 0xc8daf1d7,
-0x024c0350, 0x0858c8f0, 0x5abd5177, 0x2b92bc15,
-0xaa495a9d, 0x84575a2f, 0x410dc203, 0xad8b87a3,
-0x03681535, 0xbe1af0d2, 0x02756df0, 0x418dfdd0,
-0x6899682e, 0x4290960c, 0x15cfd61a, 0x0aa3ae1f,
-0x2a61830e, 0xcbf79668, 0x77f068a9, 0x048302b0,
-0xe82835ff, 0x91e4f028, 0xe89e80f0, 0xb494ee6c,
-0x426c84eb, 0x536a8a98, 0xf67d81d0, 0x82e8d960,
-0x6845d714, 0x0e46c9e0, 0x146be416, 0xfffe3cbc,
-0x11dfec24, 0xbd2c68de, 0x00001184, 0x3ec0f2a7,
-0xe81e3f6b, 0xc7a4ef83, 0x25f447ed, 0xe9a20f47,
-0xdfc069e2, 0xad736d55, 0x39ba0904, 0xf738e38e,
-0x408f51e2, 0xc2029b4d, 0x82e7e944, 0x09337044,
-0x3ec03100, 0x144d1380, 0xca3867f2, 0x2c112d52,
-0x0fd1d237, 0x3013c474, 0xa3f6fb04, 0xb40bff03,
-0xa9132740, 0x3960518b, 0x5c418bf2, 0x6a3a2d77,
-0xb5e50e8b, 0x75cdd8ae, 0xada0b114, 0xf10c7fc1,
-0x15477a37, 0x8354578b, 0x891c760c, 0x46d889d5,
-0x8d6e036d, 0xdf57f5f7, 0xe9a63207, 0x19cfa5b6,
-0x6c277c11, 0x5f140b44, 0x396868ea, 0x7764789f,
-0x40dfaf78, 0x77f76085, 0x13548b72, 0x208a5842,
-0xe222dede, 0x775e7268, 0x5876d819, 0xc5aeba02,
-0x10d44da3, 0xadab1c61, 0x03e45e21, 0x10786c47,
-0x6cd913fe, 0xe2054def, 0xff5378c7, 0xd0386022,
-0xac54b113, 0x0a6c3804, 0x90f10482, 0x036d3c33,
-0x29473ff0, 0xe9d619c3, 0xe1a37c4a, 0x8300cd04,
-0x034651bd, 0x43119720, 0x48b1dfc4, 0x5288794e,
-0xda50ad79, 0x0fc466c3, 0xc50fe0f2, 0x9e09b748,
-0xc789da10, 0x2eed3187, 0x51721786, 0x8dbd3bd6,
-0xd1e200aa, 0x340d1686, 0x29e80e20, 0x6eb07bd8,
-0x071f756c, 0x89ecd65c, 0x59d875c2, 0xeb7a0bb0,
-0x89f7de75, 0x06259718, 0x50eb2201, 0xfb9b8aed,
-0xff034152, 0x36104c40, 0x1428bc7e, 0x8b30c61f,
-0x491c4292, 0x86f80a5c, 0x89480275, 0x42037842,
-0x7b3ba274, 0x688b1315, 0x26037c3e, 0x68b50edf,
-0xa22eb131, 0x9b042b68, 0x36427838, 0x3ee103e0,
-0x40358f55, 0x3445038b, 0x3fb4229c, 0x4cf3a771,
-0x003dde3f, 0x4c314877, 0x0fb9d339, 0x71b10672,
-0x6f77fc33, 0x6b77c139, 0x7451441a, 0xab6e40e7,
-0xd8e604e3, 0x28d0c7d1, 0xaafa5ac4, 0x131ca944,
-0x70255518, 0x2c261d6c, 0x60cf78b3, 0x58ec3edf,
-0xf6a9f066, 0xbd4b74c3, 0x514674fe, 0x6bb59ddd,
-0x5028262b, 0x582b4c86, 0xa7fe535a, 0xe30c9dc2,
-0x5c46782c, 0x2960568b, 0x1bec3ec8, 0x194876ee,
-0x014c56da, 0xa5da11c8, 0x70ff6ee9, 0xb30f04d7,
-0x54825036, 0x58285052, 0xba4afc47, 0xfdd0c0e0,
-0xc7bde06e, 0x880f0c0f, 0x20f1a6cd, 0x9fb717c3,
-0x8d71dd84, 0xfbec71b1, 0x50415e3d, 0x3db8d4ba,
-0x2aa7fe28, 0x24b32360, 0xe4ded341, 0x492703c3,
-0xa30dda53, 0x20e1da0b, 0x20bd392b, 0xa0251dc1,
-0xa0bb3610, 0x8163924c, 0xe8029657, 0xa8a6a5a7,
-0x83fc87bd, 0x6f9b6e5a, 0xe9800f41, 0x01d3747e,
-0xe9e7a6ce, 0xdf116257, 0x070afa53, 0x8df6c28f,
-0xc629f1f0, 0x01dad719, 0xc09155cf, 0x50d26705,
-0x85efdc8b, 0xc9bd8bf0, 0x0a41a279, 0x58539310,
-0xe06c8a90, 0x6d164bdc, 0x4bfd9010, 0xb1045b28,
-0xf7443d66, 0x19961bd8, 0x281b7633, 0xbaa92a9a,
-0xd7625774, 0xf80e8890, 0x467c8d5f, 0x2cdcaf89,
-0xc0855d20, 0x227bb1be, 0x8394c602, 0x3d50047a,
-0x230fb1c0, 0x02255028, 0x80309cdd, 0xae46ddc8,
-0x2b3c2d02, 0xda00edbd, 0x2d3c050f, 0x3a80d507,
-0xd75e2e93, 0xbf08ac3e, 0xd67c747b, 0x0805aea2,
-0x0904e00f, 0xe0b06e0f, 0x341c9a6c, 0xc6899809,
-0x2ddf1566, 0x2d49a930, 0x41cdbab6, 0xa3291af0,
-0x155c2820, 0xf472dbf0, 0x723a1d02, 0x1eedf8d7,
-0x89276dec, 0xa3059835, 0xfcc23294, 0x8a49be3b,
-0x4257be59, 0x93572061, 0xc360f846, 0xdc41e852,
-0x63481834, 0x20bf066b, 0x7e5484ab, 0x0f125b98,
-0xc7fd983d, 0x4100000b, 0x18644a1c, 0x23087aa4,
-0x427d0e91, 0x7909c91c, 0xdbe7061a, 0xa9076002,
-0xfee54823, 0xdb71e952, 0xddbe7a0b, 0x97eb6679,
-0xb88d8f09, 0x34760431, 0xb7002b66, 0x8ad056c3,
-0xdb241ee3, 0x6ee883dc, 0x7a808988, 0xbefe4e1b,
-0xa08d778b, 0x720711f7, 0x41d1e915, 0xeeec3efd,
-0x2b78387c, 0xfb813b43, 0x118779fe, 0xdf75bfa3,
-0x07c3f634, 0x2ba4df75, 0x57530eab, 0x5223d9e8,
-0x344c35d8, 0xb910cd8a, 0x82ff0224, 0x8d34ecc7,
-0xfdf8fd46, 0x1ddcb877, 0x1daab7d1, 0x10edc124,
-0xd46d0899, 0x980468a0, 0xa6d0087b, 0x8d2bd3ca,
-0x68ba2d44, 0x58ad402e, 0xfa68bfb7, 0x9db3c580,
-0x042cb80a, 0x69185106, 0x17733053, 0x785c02a0,
-0x34388256, 0xe9722414, 0x0bfb1678, 0x4274d2c4,
-0x35731440, 0x26fb2767, 0x08e9c16e, 0x73280beb,
-0xef753f21, 0x8702c11a, 0x3943dbed, 0x08e175d5,
-0x1e701583, 0x21df4998, 0x28f17817, 0x88c33f4d,
-0x980bba5a, 0x428819e2, 0x6602c32d, 0xa91d0a06,
-0x428ddc7b, 0x06072704, 0xdc306a45, 0xc5d91af6,
-0x693023c7, 0x93c40ac9, 0xb21758ee, 0x6ae81442,
-0xd5a71f14, 0x3c9a0161, 0x52be0564, 0xd6f04dfb,
-0x0c241824, 0xfe8608eb, 0x552e7f24, 0xa9ff2956,
-0x287da4e0, 0xfce283f1, 0xcda8e174, 0x01ee4ee1,
-0x8622dd74, 0x38357926, 0x50f0d0b0, 0x4fd27e10,
-0x873d4217, 0x2ddd02d4, 0x04501961, 0x424d551a,
-0x47236c43, 0x6a172c8a, 0x8446f5dd, 0x18c30b68,
-0x5b547cc4, 0x58d488db, 0xdbbc1af7, 0xafd76b3b,
-0xb5e9fded, 0x456110d0, 0x08ad0a58, 0x700319b7,
-0xdf2ddd1a, 0xb60dec6a, 0xe8def898, 0x544721f6,
-0x9a29ed76, 0xc6f84274, 0x0019036d, 0x2bc6f15d,
-0xe9474ffb, 0x5542b4be, 0x90104a0a, 0x8d806b18,
-0x5b56db4a, 0x0bdf7280, 0x0a7dd15f, 0x0e0c3941,
-0xca44f74c, 0x2d86e166, 0xce0439ea, 0x39d944ae,
-0xed8dce44, 0xe06f6da0, 0x3c1cd277, 0x1004c8da,
-0xaee1635d, 0x2fd80816, 0x916c1a39, 0x3b843edb,
-0x6314fd09, 0xdbd87dc2, 0x2f542fb5, 0xa7d2eb04,
-0x96121c92, 0x47053c15, 0xe0031821, 0xf5537003,
-0x12809506, 0x115eaebc, 0xf34c2a1c, 0xc0954329,
-0x36abbd17, 0x8605ca6f, 0x1874d039, 0x9b375b36,
-0x50ac2630, 0x0d180543, 0x203914dc, 0x052d20dd,
-0x3584761f, 0x73b81088, 0xb1054f21, 0xe21af8c9,
-0x2f17608d, 0x08496a0e, 0x59dd5350, 0x29b8b5f3,
-0x8b648246, 0x4b4cf6f4, 0xf4c285d1, 0xfca3891a,
-0x614d04d1, 0x21dc1dce, 0x00588324, 0x0643d54c,
-0xe027045b, 0xf02307af, 0x0b76daeb, 0x324b6032,
-0x1a334e52, 0x975ece2f, 0x2d560b5c, 0xfd51d0ac,
-0x18148368, 0x072d5650, 0x8365cd35, 0x5c9da4f9,
-0xab585674, 0xe4c780c9, 0xd84c1419, 0x170c1c24,
-0xbbb72c0c, 0x349a1e12, 0x63f62d56, 0x9b1178d5,
-0xe19913df, 0x1a28d06f, 0x21980d97, 0x34205ed0,
-0x12c3b390, 0x330142f0, 0x0a62baf0, 0x7f503b97,
-0xd6a04c55, 0x7510c4f2, 0x60bab908, 0x092d7e00,
-0xc9b5c19c, 0x0c342980, 0xb49f3c19, 0xe07f6009,
-0x08858b84, 0x31df6a55, 0x2934b019, 0x3c083c0a,
-0x252fbe3f, 0x2376ab68, 0x07235b76, 0x296c07ef,
-0x571388ba, 0xdb2e50e9, 0xedb8041e, 0xef3c0721,
-0x80f61d31, 0x240fbdfd, 0x08693e74, 0x4e2a5540,
-0xb32bafe8, 0xc6695b67, 0x775f0828, 0x1022b2a9,
-0x8a1607b3, 0x007a9b33, 0x8bee3dc4, 0x0ab1bb53,
-0xc39d5e38, 0x5829c784, 0x1a1eabe2, 0x6f036773,
-0xa029a3ac, 0x5fc3e96c, 0xab811d10, 0xe272f192,
-0xee42526a, 0x689a5f83, 0x294284a4, 0x8f6d0a34,
-0xff9214c0, 0x4fa35e8d, 0xd00aae3f, 0x1574912d,
-0xe2011a43, 0xc2e94b1b, 0x46c7131f, 0xd07d930c,
-0x1113e04e, 0x73651ac7, 0x2e05ddd8, 0x3810466c,
-0x483e3874, 0x821bcf75, 0x724f8c42, 0x405b5ae4,
-0x8b6c59aa, 0x4663f83d, 0x6d4d2224, 0x9783b0bc,
-0x05f0147e, 0x135646ff, 0xf2df7088, 0x91b772bb,
-0xf0042fb0, 0x02e65f46, 0xcb8b5859, 0xd0560c70,
-0x218382b1, 0xea701775, 0x9a20f5d5, 0x3750a88b,
-0xba35a062, 0x527ec735, 0x6a28940f, 0xa310b215,
-0xfc681b17, 0x50e7922e, 0x89bc1804, 0x6e0b0426,
-0x1c1b2163, 0x071cc9ab, 0x2dd54ad6, 0xe2628f20,
-0x8ccedf06, 0x4d20d17d, 0xbc03ce78, 0xc3023eeb,
-0x8c3f6601, 0x7e060904, 0x98db6744, 0x0884060c,
-0x9727cbe4, 0xe0ceae6d, 0x3fdf5340, 0xea0ed50a,
-0x5694eb24, 0x731676ff, 0xf7aeb849, 0x2e33371d,
-0x12420377, 0x6988750e, 0x68132007, 0x062326c1,
-0x508b1c9d, 0x8a43439a, 0x2a30e94b, 0x4b669d4e,
-0x1059a74a, 0x0e303377, 0xfe04e851, 0xa84d5bd4,
-0x168aa3f3, 0xdff14584, 0xc784eee0, 0xfa801b74,
-0xdf2f7425, 0x45c006bb, 0x8829ffed, 0x20464717,
-0xc76b4075, 0x39a7e583, 0xb143c603, 0x2506d13a,
-0x61f6a028, 0x1f70ab1b, 0x2e3df6a9, 0xa3581c43,
-0x15bc0b58, 0x62d8e873, 0x23088501, 0xbdb930f5,
-0xb94e0041, 0x011219bc, 0xedcf140a, 0x00b8086c,
-0xdb1bad68, 0xf477f5be, 0x783c20c8, 0x6415b20c,
-0x65cf2c08, 0xbd40fa64, 0x43f92101, 0x638cba47,
-0x30da0177, 0xe8043c88, 0xb345542f, 0x0feb3930,
-0xdf0e4583, 0x2862b800, 0x038aa6f2, 0x06430788,
-0x47fa8fb3, 0x848be4eb, 0x810683dd, 0xda26d80d,
-0x843c1818, 0x6f462e16, 0x4fccc0f0, 0x1ebe902c,
-0x6bd34ee8, 0x1d6c576e, 0xfef03046, 0xbba7da08,
-0x87954c86, 0xb137534d, 0x0f7b2304, 0x85b11273,
-0x0764494e, 0x350132d0, 0x0de0f9eb, 0x80afd476,
-0xd884ebc9, 0xbff8e8d3, 0x8a1da5e3, 0x0938cf80,
-0x004588d0, 0x04e98345, 0x1d08e879, 0x50e583dc,
-0x5088f527, 0xfedeecad, 0x801bf250, 0xd2ed1156,
-0xdceb89bf, 0x0d7f762e, 0x1e0ab999, 0x1c38f9f7,
-0x0bb6038a, 0x14e6942c, 0x6667f255, 0x7460f700,
-0x041e0018, 0xdeaa0c89, 0xc12ebf80, 0x450502fa,
-0x96d8c229, 0x75026d1a, 0x0bbd47be, 0xe6870aef,
-0x022a6ffe, 0x434a0b88, 0xf177da39, 0xdb7dace9,
-0xa3ad6f5e, 0x8358df6f, 0x306402c5, 0xe9310454,
-0xb164dd37, 0x9b1ee865, 0xd0301e45, 0xe9c46280,
-0x10306973, 0x3fb82c76, 0xe995d20e, 0x182fcb8f,
-0x6a2cd530, 0x76d8bac8, 0x41b0d81e, 0xb1034103,
-0xe85516e0, 0x226dd67f, 0x3ac501ab, 0xe2771d43,
-0xd419e94d, 0x44600ab7, 0x390653ff, 0xae91d9d3,
-0xde73aafd, 0xe43f7351, 0xda79fcf9, 0x43b60e5a,
-0x3dbf503b, 0x776bfbdb, 0x45af3d86, 0xcdf45cf7,
-0xaabfe92d, 0x0e5c83b1, 0xb7d16303, 0x9c1314fd,
-0x4e450470, 0x16acf17b, 0x1ec5a12a, 0x50d890c3,
-0x1804148d, 0x52db85ba, 0xb808cfe1, 0x8a307414,
-0x6d32b907, 0x84d2d2f1, 0x74342628, 0x1b5f3822,
-0x0ba5e26f, 0x36c188d2, 0xe720488d, 0xd188c888,
-0x776fd10a, 0x38204a0b, 0x0375ca08, 0xe817754b,
-0x430d6d05, 0x7a15d202, 0x5eba27e1, 0xcb891508,
-0x4201808a, 0x88ac4541, 0x2df62ead, 0x4f09f452,
-0x89b94c1b, 0x8bb64ade, 0x74c2b7ba, 0x41034ea6,
-0x66f02343, 0x9d34d577, 0xd34c543d, 0x4204eb94,
-0x76eec06c, 0x24fa7505, 0x48424102, 0xe976ce4c,
-0xc93746d0, 0x1b74fd1f, 0x2cdfa52c, 0x74430307,
-0xf3754906, 0x5dda34c6, 0x955760b0, 0x1a2ac34a,
-0x15f4161e, 0xf0993a02, 0x0efdc2d3, 0x20da51b5,
-0xa8ef05eb, 0x025ed8a9, 0xd738108a, 0xa05728f5,
-0xa92db300, 0xbac1b05c, 0xa01ff155, 0xf7aef2df,
-0x388449d1, 0x836d4010, 0x3b4827da, 0xab9d19f7,
-0xb8574cf8, 0x89d6384a, 0xfa0377c0, 0x801174c8,
-0x404a1739, 0xd10505e4, 0x75805bf0, 0xc3c829f4,
-0x0744566e, 0xa295cdda, 0xcf7cff31, 0x2d350c05,
-0x03f11675, 0xa215748e, 0xf189ed86, 0x6e161a74,
-0xafed3810, 0xf5ae76b1, 0xbbc39d5b, 0x3543f374,
-0xbbd9a708, 0xebd5b147, 0xf39556e9, 0x5c8c83af,
-0x0d4323d8, 0xe8874314, 0x75267e04, 0x815a73e3,
-0x09861474, 0x3079f089, 0x04b77542, 0x01d86481,
-0xee4c59c3, 0x58f7505f, 0x9b0f3c74, 0x745a5e16,
-0xc56bb909, 0xe574822f, 0x3d5d94a3, 0x1deaa5ee,
-0x540a1d8b, 0x2bf174db, 0xb2f7efd0, 0xc4753b28,
-0x1f05c764, 0x6c410000, 0xf2120821, 0xecf62c1e,
-0x10bbf6d8, 0x5a5b3f2f, 0x06895659, 0x088fc353,
-0xa4f6902f, 0xd9c206eb, 0x0171e153, 0x36204143,
-0xb3205be2, 0x3548c593, 0x6a5b0820, 0x0d8c30a3,
-0x65f685a4, 0x856f9282, 0x02016dae, 0xecd01813,
-0xef754e4e, 0x62e18c3e, 0x0c371a69, 0xda0b74b1,
-0x21d856c6, 0x428cc402, 0xef27f52c, 0x8e20c413,
-0x4e5c8b31, 0x0a9a1100, 0xf218154e, 0x5bf68c1f,
-0xda89cdf5, 0x03122774, 0x14ebce89, 0x89db750c,
-0x7ed49055, 0x80174e30, 0x952f5bd2, 0xe87dee71,
-0x6c163d4f, 0x08daf910, 0xf9834978, 0xf7b7e96d,
-0x9fb30c58, 0x8aff508d, 0x7e382142, 0xbf1473c1,
-0xf275180a, 0x18a284c2, 0x5ef3e2a1, 0x07c6d0b8,
-0x77537cf0, 0x628b0df2, 0xb8400ca9, 0xf4433510,
-0xd0791045, 0x40c850c8, 0xbf3d8070, 0x52e1c3fd,
-0x087256bc, 0xb201c84c, 0x6211403f, 0x088be399,
-0xd8ecffd2, 0x37ff8ab0, 0x4601b25c, 0x8c30284f,
-0xc7eb85ba, 0x643a8305, 0x00097782, 0x11e235dc,
-0xe84f54aa, 0x8a84d212, 0x28075464, 0x9648f150,
-0x60caa829, 0x09288a08, 0xf416c1fe, 0x16740301,
-0x6d152c3f, 0x76c416f8, 0x3813e811, 0xb608c321,
-0x111db1c1, 0x85e89e07, 0x6dedfa10, 0xa6e9ac55,
-0xe6eb170a, 0x50a5e5e8, 0xdb2395bc, 0xc8eb010a,
-0x6082dd11, 0x016a6c20, 0xfc0420f4, 0x99a4bf6f,
-0x0f75fb49, 0x05b50678, 0xb0a76ab6, 0x804bc301,
-0xc263e429, 0x04160d8b, 0x66f86ed9, 0xc508eac1,
-0xe84075c5, 0x2d98a290, 0xb5990240, 0x49c5822d,
-0x9be889a5, 0xe2d41090, 0x53681b8d, 0xfb97881a,
-0x0ce8cbee, 0xbe1538f8, 0x38b87535, 0xd407bd05,
-0xb0fa2305, 0x93e6dfeb, 0x83b6f106, 0x0c755d41,
-0x148c0336, 0xa257ba7d, 0xc031000b, 0x921b6056,
-0xfed84714, 0x0899022d, 0x2daa5bdb, 0x16361e7c,
-0x1c5fd7c1, 0x0816e374, 0x3d3ec21b, 0xdc544f6c,
-0x6c0fd856, 0x54cffa4a, 0x328b02f2, 0x64fdd468,
-0xf684399b, 0x30a36b7c, 0x86903f00, 0xb70f07ef,
-0x068a0a47, 0x06f56b75, 0x61f80857, 0x03a4680b,
-0xbf791f29, 0x7748220b, 0x6c2b1274, 0x02bb77aa,
-0x512b6831, 0x348d3202, 0x6f8eba10, 0x80de29ff,
-0x8901037f, 0xba0911f5, 0x10a98d14, 0x6b60064e,
-0x1fa44c00, 0x151dd5da, 0x1315c826, 0x40bc387e,
-0xc5161c35, 0x35b8a929, 0x4c0d8a3b, 0x3ab83bbe,
-0x06305155, 0xc25e14bb, 0x3407edce, 0x3dda1e22,
-0xeb1f06b8, 0x5c733ede, 0x1c746e22, 0xa9f289e7,
-0x18b70e6e, 0xe98944dc, 0x3487eb0e, 0x0f080300,
-0x5c414984, 0x8121fcb2, 0xff128278, 0x1c21de02,
-0xe2dc69f6, 0x0a24faf8, 0x682b2d3a, 0x5d034484,
-0x857205e9, 0xe8a14f62, 0x572a5b39, 0xec1924d1,
-0x2b620d0b, 0xdc374137, 0x5f0ae687, 0x3d0843d0,
-0x85895c0a, 0x6d44b636, 0x894dde8f, 0x6fc3130c,
-0x391c5cb3, 0x8b40d8a1, 0x1e101c00, 0x2c46b6eb,
-0x30402e3a, 0xb6ec0001, 0xa43642c8, 0x81c6c20e,
-0xfb8c038c, 0x82cd77ef, 0x52c2b902, 0xc3d64249,
-0x2ca1ebc3, 0x69fd15ff, 0x4b82e11f, 0x0fb702d8,
-0x24a8a126, 0x3b64f5e2, 0x05aa0903, 0x8c28a1a1,
-0x482fb56d, 0x37880a07, 0x55887bf5, 0xbd54424c,
-0x8708e21c, 0x3d2badae, 0x09420b2a, 0x2e140a76,
-0x0da08714, 0x9beb3b1e, 0xeb6011ba, 0x030a0358,
-0x08030728, 0x6bd02a2b, 0xbba62409, 0xe221d9e4,
-0x85bce057, 0x112b50fa, 0xbbfb0b39, 0x077a2138,
-0xea6808b5, 0x02a74191, 0xda037b7c, 0x3f1a7b8d,
-0x98968012, 0x4882d583, 0x976f16c5, 0x0e06622f,
-0xd8d70420, 0x446a08c1, 0x3f068fab, 0xa50a43a0,
-0x91164774, 0x760e35a1, 0x0c4fbb3e, 0x180a08c5,
-0xc0531543, 0x0ea0b75b, 0x752b0f03, 0x8108257e,
-0x495d7e13, 0x031c0216, 0xef596f6c, 0x98b1f833,
-0xf0eba408, 0x5add7548, 0xc5087b18, 0x22d5cb6d,
-0x9d024e01, 0x1fc18b15, 0xa752c559, 0xc8841d87,
-0xcb3b0e25, 0xb0f03af1, 0xeb6567b3, 0x182224d0,
-0x5bb0ca74, 0xeae64630, 0x76247652, 0x582d05e3,
-0x26c1b28f, 0x3b3dea03, 0xb7eb3150, 0x877bc11e,
-0xf2e46305, 0xd9dd0608, 0x533c2308, 0xff191073,
-0x54371213, 0xe8845283, 0x8012f752, 0x0f0b1441,
-0x1a027032, 0x93160cd9, 0xabc54888, 0xe18d08eb,
-0xfb855ffb, 0x7f547423, 0x08003d45, 0xff084420,
-0x8d7cd132, 0xf717e856, 0xb0473818, 0xe9589570,
-0xe3051f85, 0xde134b09, 0xe0ca9636, 0xfbabf777,
-0x1dcce9d6, 0xbb75983d, 0xb9eb0324, 0x6038c005,
-0xb3eb0270, 0xe3f85e79, 0xe04031f7, 0x30557504,
-0x5934832e, 0x2f183c43, 0x24120d2e, 0x18dae8d4,
-0x136e8b57, 0xe0025648, 0x08441d6e, 0xe08a83cc,
-0x0fb4469b, 0x260d0c37, 0x568f2066, 0x08f5018c,
-0x02604475, 0x6d8732dc, 0x5750183d, 0x4254d1d7,
-0x37c01d82, 0x3ba9eb43, 0xb074eb05, 0xb23dfa02,
-0x18a30212, 0x87b497eb, 0x41b1f65c, 0x6dbe7470,
-0x0bb14109, 0x718966ac, 0xea9ac7ba, 0x54666b87,
-0x12184f78, 0xc1879089, 0x6094a0c6, 0xb4980e1c,
-0xd82a0ec2, 0xa50f74ff, 0xdac79c05, 0x8a3ac0da,
-0x8aea2ef5, 0xf120065f, 0xf72120c0, 0xe07ec21b,
-0xf3af178a, 0x74272df6, 0x2b2adaa0, 0x786d811c,
-0xa6bab0f6, 0x08d71f74, 0xd0979e50, 0x87684fbd,
-0x1c2e3833, 0x9c828dca, 0x0435e8af, 0xe4c7825b,
-0xd9c308ff, 0x0c099882, 0x82c7df5b, 0x03260090,
-0xdf0066b1, 0xaf07a3ba, 0x539c156e, 0xc8cde306,
-0x123620dd, 0x5152164b, 0x054b60ed, 0xf4f27c21,
-0x8e8233ee, 0x56fc1870, 0xab7b4953, 0x509abc07,
-0x8b2eb020, 0x07ea7ab2, 0x048dfd88, 0x15793b3e,
-0xb3512873, 0xc68c76c9, 0x504a3304, 0xbd12803b,
-0x632dbb46, 0x37d5d5e2, 0x940f00e3, 0x53c8d1c1,
-0x8310fac0, 0xf5d7498e, 0xd1c960ad, 0x555bbb50,
-0x1a2951e3, 0x5ef1ac79, 0x73fb5302, 0x7dd50082,
-0x86868b58, 0x18375a14, 0xc11163c2, 0x82968bec,
-0x20c20ff4, 0x94ffd24c, 0x79a56808, 0x147630ee,
-0x2bd364dd, 0x26846a0e, 0x0e019900, 0x910978de,
-0xe39e5b62, 0x65d9f53d, 0x5b04302c, 0x66c06a00,
-0x50756f41, 0xc836c37c, 0xd2911e34, 0x359c487f,
-0x26c719d2, 0xa001fd00, 0x0b191b14, 0x23898b3c,
-0x210ec094, 0x9cf4a06e, 0x8fec2390, 0xa305748d,
-0x39013300, 0x21222c66, 0x8225f72d, 0x07900d0c,
-0xbc45bc8b, 0xfbe7b56b, 0x473b0b5a, 0x96b6a210,
-0x53701382, 0x895ad6b9, 0x126a396a, 0xc5fa2ed2,
-0x39f69bd2, 0x87e275d0, 0x018b300c, 0xcd0ab1ed,
-0x8dde62de, 0x1d18f870, 0x1081dc07, 0x960f2b41,
-0xc2b59b0e, 0x73f039eb, 0x533c7e4e, 0xa39a2814,
-0x10ab12a3, 0xf51785a7, 0x51495e30, 0xf7a35208,
-0x08b167f1, 0x0e7360a6, 0xc8302c3f, 0xff120761,
-0x5a11d9f3, 0x07aa13ec, 0xded08908, 0x6170760d,
-0x8f6aeca9, 0xab327ba0, 0xb0558dc8, 0xd993bb08,
-0x8ec1460a, 0x2dd230fe, 0x1a89ee6e, 0x677c1d81,
-0x9e896014, 0x772b9251, 0x40bf01b0, 0xd305ba89,
-0xbfd10a5f, 0xe76d416d, 0x0e0e672b, 0x698d0c77,
-0x5d83fd1c, 0xfd819d00, 0x7ec68973, 0x617a3e19,
-0x7e0632d4, 0xce1215bb, 0x8e74e9d8, 0x9757f365,
-0x23e86cef, 0x39c05628, 0xa211f0ff, 0x01fb7286,
-0xba238a55, 0x7791512d, 0x1ecc3e8b, 0x34388a55,
-0xc400c0ed, 0x316e47e8, 0x446874c0, 0x64107a4b,
-0x412ecfb4, 0x2483ef99, 0x75dbbfa7, 0x4eda4264,
-0x00599600, 0xc47b6859, 0x2a7cfb43, 0x838f8bf0,
-0x3477831d, 0x9e8df6f2, 0x340fbef5, 0x5e07a84f,
-0x1286c6fe, 0xd8bb3202, 0xa50147a8, 0x4618c606,
-0x1c5524d1, 0xb6a8c160, 0x073a80cd, 0xf23c8c44,
-0x140aa110, 0x2b1814a1, 0xab878118, 0x0c7dac86,
-0xd62b16c6, 0x2c4d0ced, 0x1c040800, 0xc8e4776c,
-0x68efeffc, 0xec686600, 0xcc0ea818, 0xd6017c73,
-0x2fdb0804, 0x449c9154, 0x7404ec0a, 0x4057113f,
-0x06aa0753, 0x7dd2c604, 0xd0532942, 0xfa8161cb,
-0xf88a56ec, 0x04b941d7, 0xd1890273, 0xc0ef42bf,
-0xef93ea4b, 0xf45e5bba, 0xa2840d3e, 0xbc75e21d,
-0xa11c4553, 0x895364a8, 0x9b6e8cda, 0x6d22c93b,
-0xc6eb4904, 0x01c330ac, 0x56a95e0b, 0xa411c3aa,
-0x402540e4, 0x7d44358e, 0xf896e3e8, 0xb7e876a4,
-0x1bbb766c, 0xbd76e831, 0x04991d11, 0xa56f8b23,
-0xd9afbba8, 0x0965bed6, 0x0fe82a08, 0x1d3b83c0,
-0xd329fa04, 0x3ab0dc46, 0x296dc016, 0x93b9c0d0,
-0x68f0d427, 0x1e12f581, 0x22c8f074, 0xaba92360,
-0x091c5811, 0xdd109cce, 0xacc860c0, 0x161d85b3,
-0x3f142914, 0x0c149a16, 0xb612f6f4, 0x3a29b86d,
-0x0b0b840f, 0x080e417f, 0x457d010a, 0x6d78d7cf,
-0x48b6eea0, 0x368fafdd, 0x030e5201, 0xf58e0f3f,
-0x0ab16a1b, 0x52f34dde, 0x55236ce8, 0x80b9d3b3,
-0x963026c3, 0x64156bed, 0x200a7a40, 0x45d15172,
-0x655340c6, 0x346d849c, 0x0edea0f6, 0x495c3b15,
-0xc4db6db1, 0xb4ebb003, 0x17270d18, 0xb65b1936,
-0x0a0e5b03, 0x21cb3678, 0x0b1b6fdb, 0xf8c6100e,
-0xb71c3f0c, 0xd238a04d, 0x711bf3f2, 0x91b6c6d0,
-0x32ab4231, 0x99420f0e, 0x46ddf6e4, 0x02ba0e33,
-0xd9427008, 0x30a0cd00, 0x81fc6b0f, 0x839ac6db,
-0x1bf38912, 0x4b370f55, 0x1b6c6546, 0x0e103019,
-0x09114660, 0x92a458cd, 0x5a49304d, 0xefb11b0e,
-0xf3240536, 0x89d63301, 0xbcd984e6, 0x3319b1ec,
-0x63627507, 0xfeb7f093, 0xd6e8aeb6, 0x64d684b6,
-0xcb760a7b, 0x5d5bb536, 0xef4d3d2b, 0x8c2d3475,
-0x57cd236d, 0x222289fd, 0x6ad35d82, 0x238db636,
-0x255d050e, 0xec364df0, 0x03024441, 0x4e448f00,
-0xfb03dd63, 0xe9fe4472, 0x3112f941, 0x22717357,
-0xc475d977, 0x0c45e917, 0xd65eeb09, 0x1516ad9d,
-0x41022eee, 0xa6ec0f35, 0xefe99a23, 0xf30612fd,
-0xc1041ddc, 0x21a4e651, 0x9cf6135a, 0xfedde9ec,
-0xccf0aa10, 0x7759f147, 0x34f8bac2, 0xf62347a7,
-0x7d479412, 0x7b723613, 0x91763695, 0xee909c70,
-0xf4dd3684, 0xfabe5d12, 0xd2137d84, 0x37f95b4a,
-0x909cd612, 0x24f2a8e6, 0x2511f00f, 0x17764245,
-0xfcfe12ed, 0xdb09bf65, 0x12ebe992, 0xfcd8974b,
-0x65c236bb, 0xccd9fbcf, 0x5ac803cc, 0x137d84df,
-0x47a33444, 0xbd9080b4, 0x126139ac, 0x5a7df8f6,
-0x0f61efbf, 0x7e49f213, 0x36593a31, 0x37d979d4,
-0x364612b9, 0x01c8faf8, 0xab060709, 0x041eebe0,
-0x061c5685, 0xa83b6de0, 0x26881a64, 0x712f092d,
-0x831d0ba8, 0xe823c1e5, 0x0438b69c, 0xb781fb80,
-0x085ac96f, 0xf4073570, 0x344d8950, 0xbde6b68b,
-0x5d1cb3d3, 0xc1e8f8bf, 0x0bb308e3, 0xb3e835c2,
-0xb7fb96b8, 0x53b108dd, 0x0e2d827c, 0xfcfad6ff,
-0x4409a1e8, 0xfaa8df60, 0x0a88e430, 0x5fc4b6d9,
-0xb0193cc3, 0x8a38b076, 0x0b3c434c, 0xe4990585,
-0x263a643f, 0x77b02ef9, 0x29043a09, 0x416b02e4,
-0xb08b78b1, 0x0c2efc87, 0xeb81c63d, 0x49907881,
-0x3a0a2bbe, 0xdf24b08b, 0x0d775805, 0xa90c4e3c,
-0x7773d858, 0xf05aa870, 0x1f2dd54a, 0x18156ad5,
-0x68b08ea7, 0xe0070224, 0x60dfbbd0, 0xb82ca3a3,
-0xf3a80f5a, 0x6739f029, 0xd8a01540, 0x6672bef7,
-0x1afeb61f, 0x335f3b81, 0xb04c5f32, 0x2510c3f9,
-0xef7aaba0, 0x8be67323, 0x0d5b2535, 0x0bbfec3b,
-0x24b8db9a, 0xe8494350, 0xe98980c4, 0xc4bdb709,
-0x85d689b6, 0x348d97d0, 0x25046f33, 0xdb622215,
-0xb7892fc0, 0xdec9d993, 0xb19f997a, 0xb63291e8,
-0x444dbc80, 0x7ffe802e, 0xbdc0e810, 0x810c1550,
-0x084857fa, 0x8a4f76a8, 0xf0967053, 0x402fe4cc,
-0xe8e093b0, 0xf42058a9, 0x587b8191, 0xabe9fd05,
-0x17eaa720, 0x51091f0b, 0xbe8c4384, 0x4c055bfd,
-0x02107dc2, 0x0742130c, 0xc984f87c, 0xd404d428,
-0x008a4d92, 0x2baaaf62, 0xd18189d3, 0xe809f777,
-0x04271218, 0x7700433d, 0xe0d0f721, 0x19a35e96,
-0x3cd2fee7, 0x34a22489, 0xd66844cc, 0x93083b2a,
-0x3596a46f, 0x95d3756b, 0x23bfd52f, 0x80c21f15,
-0x528c4374, 0x72006850, 0x68310fbf, 0xe3fc38d4,
-0x007047a1, 0xf4d9c0f8, 0x9810880e, 0x19fc686f,
-0x11cc89e2, 0xe9ac4f7f, 0xebf08479, 0xf1402ba0,
-0x446a8392, 0x61e4534b, 0xbffba088, 0x83fd7b14,
-0xd08801ca, 0xb0b261e6, 0xf11a4305, 0x040e8de2,
-0xd9df42e6, 0xdf735cd8, 0xe9c3c308, 0x5e29d9d6,
-0x153f0510, 0xdf190091, 0xa0d5048d, 0x3b550f6d,
-0x028208d0, 0xab6e0b6b, 0x3b0880c9, 0x85041003,
-0x02062a5e, 0x4b83baad, 0x23bbec86, 0x8907d840,
-0x02b0e953, 0x723d0000, 0xd2ec5ff6, 0xd3ba3a37,
-0x2410624d, 0x55020f06, 0xbc578b33, 0x182500bf,
-0x3105fa21, 0x0add03c4, 0x8fddbfd5, 0x151868ee,
-0x071b05c7, 0xa50e1fb0, 0xb642b9ea, 0x28452209,
-0x08c19ee4, 0x0a05c225, 0xc00e7908, 0x07e50015,
-0x02ba467c, 0x0409e500, 0x1f158b14, 0x7845056a,
-0x3b57d4e5, 0x4234459a, 0x9234687d, 0x2176c6c9,
-0x286624a3, 0x42502c40, 0x09306ebe, 0x49374006,
-0xfe9eeec6, 0x891d5068, 0x443d401d, 0xbae114ac,
-0xdc8c0948, 0x111a9a4e, 0xffff540c, 0x6dd7050c,
-0x29fa16f4, 0xc31a5c77, 0xb03efd51, 0xf46854e4,
-0x27e84827, 0x83b0eebe, 0x5227ec6b, 0x480209f0,
-0x52eec2b0, 0x127131c1, 0x280c3192, 0x1ecc331f,
-0x04312836, 0x091eae28, 0xaf90615f, 0x077e3103,
-0x2320314c, 0x142324dd, 0x1c070918, 0x35f60a92,
-0xac4c3101, 0xb1926ebb, 0x28342442, 0x1b07092c,
-0x1f8084e4, 0x01661728, 0x0db19268, 0xc0688e51,
-0x00b0b431, 0x5cb86c10, 0x5b0f2806, 0xe85b9e39,
-0x68b5c0e5, 0x878468ce, 0xe8e10fc1, 0x7518b01f,
-0xb5eae012, 0xe57b1072, 0xd9208b1c, 0x10a3ca6b,
-0x093d960e, 0x03201bf8, 0x127b75e8, 0xbe06e990,
-0xbe1c0a0e, 0xa64204d5, 0x8c51c037, 0xfbcc5e90,
-0x3515891a, 0x4b91447a, 0x720bb638, 0xb2ab96b9,
-0x0f754b6e, 0x3e80c305, 0x2ddbf257, 0xeb4a448c,
-0xe8208a87, 0x824d0ee8, 0xf2909d43, 0xecf2f423,
-0xdeefd046, 0x031d813a, 0x37ed1cde, 0x071f05b0,
-0x89038ee3, 0xdfa805ec, 0x008b4032, 0x1605fe00,
-0x7445e4f9, 0x351fff68, 0x062b0301, 0xf6f60647,
-0x1161a501, 0xefbead5d, 0xe25fff03, 0x035e178f,
-0x203cbb01, 0x43455850, 0x6e65696c, 0x75bb3a74,
-0x7241fdff, 0x303a6863, 0x4e553a00, 0x320a4944,
-0x5f003102, 0x0a7d8412, 0xdc050239, 0xb1b1655b,
-0xbd365fc1, 0xc26b0532, 0x3757b7ff, 0x2b0c510e,
-0x81803c11, 0x85848382, 0x015e8786, 0x7f45bac0,
-0x13ff7301, 0x720d9d92, 0x544146af, 0x203a4c41,
-0x5ffd2d4e, 0x72206ffa, 0x6d386165, 0x2065646f,
-0x63617473, 0x6c21c46b, 0x50d77fee, 0x564e0300,
-0x6143002b, 0x746f6e6e, 0xfa762023, 0x14ae676f,
-0x6e252124, 0x64006369, 0xb76b7369, 0xd6dfb6df,
-0x70706f6c, 0x27723079, 0x6c6f636f, 0x48445473,
-0xfdadfdbd, 0x54205043, 0x26045446, 0x52504545,
-0x0085314f, 0x7b7f6469, 0x3205bb1b, 0x0d330639,
-0x98383238, 0x006d6163, 0x584c6565, 0x3870b5d7,
-0x32162d1f, 0x4c84330d, 0x353484c8, 0xc84d9cdf,
-0x38633736, 0x65323635, 0x21d84d74, 0x62610e67,
-0x4ee6632c, 0x640d84c8, 0xf50b0065, 0xbfd8f7ec,
-0x71313538, 0x6539076d, 0x3536bb72, 0x6c1b360d,
-0x6d5d7859, 0x1b033d07, 0x3207b06c, 0x84587a17,
-0x4c6b2e19, 0x0da0350d, 0xb5336df8, 0x6e64521b,
-0x646120a8, 0x56db7264, 0x254c5868, 0xc4a1566b,
-0x6d6e0320, 0x6bc3c35b, 0x83658d20, 0x27730d62,
-0xdadb7f64, 0x66741bbf, 0x4c007074, 0x671d2c6f,
-0x253a402c, 0xed002073, 0x3aecb75b, 0x0f122f2f,
-0x726f2e3c, 0x6f2c3e74, 0x57b5cd0b, 0xec161267,
-0x6e550c78, 0x7378b773, 0x18b97585, 0x50412046,
-0xfd25229e, 0x63b6a376, 0x69122201, 0x207a616c,
-0xc36d203e, 0xcfad6db6, 0x33640f07, 0xfc280565,
-0x5a2ab41b, 0x13e90529, 0x3e16d62e, 0xf020006c,
-0x20c17267, 0x6f776885, 0x20b0b614, 0x69624afc,
-0x424e2867, 0x8085ed49, 0x437f0a2d, 0x44697372,
-0x74736d0a, 0x401073cb, 0xb1952a42, 0x13d6b9f6,
-0x61cfde3f, 0x0ae6e021, 0x6d69f76d, 0x3c696761,
-0xad117f73, 0x462ff63e, 0x5f7469f7, 0x08a7705e,
-0x756f6620, 0xddc62cbc, 0x0a1a2edb, 0x404e654d,
-0x0a6c2c00, 0x11ec5a1a, 0x1fd90a72, 0xaebdce65,
-0x853392e0, 0x4333d020, 0x7b6e6ede, 0x646d1b09,
-0xf861472d, 0x36796177, 0x3acfb588, 0x0a6c6552,
-0x3526743b, 0x06ed24b6, 0x4d550029, 0x56b1c844,
-0x65572c68, 0xb6ed2ef5, 0x6b5b62d0, 0x73ad213e,
-0x1e19a4bc, 0x4427adda, 0x949b7261, 0xb6d6ad65,
-0x46e5a152, 0x06745c09, 0x861ac110, 0x7a6934b7,
-0x0b5a5865, 0x56e946b3, 0x924346a7, 0xb5b64916,
-0x2600a458, 0x28a9750a, 0xc2ec5b3b, 0x130a29ec,
-0xbd6e7775, 0xec716d4b, 0x5770b5ad, 0x7562a44e,
-0x5049c574, 0x885b1b43, 0x0e73a41b, 0xb6613e53,
-0x1a04c337, 0x65631719, 0xdd641069, 0xad91860d,
-0x6ec76a62, 0x64973a75, 0x0eda453d, 0xb70ab98c,
-0xe39a64f7, 0x09798217, 0x25783020, 0x304b136c,
-0xc9d687e1, 0x6f66b7eb, 0xcbb59072, 0x0aecd192,
-0x6d4a114d, 0xb6ded6f6, 0x27502743, 0x6f4a603d,
-0xe6572066, 0x753ded1a, 0x14966c72, 0x0b2f19c7,
-0x6ec2b5ce, 0xac90ab1d, 0xadc36b97, 0xd66eb9bd,
-0x6976650f, 0x707920a4, 0xb1dcc689, 0x5a62470e,
-0x5b9f6173, 0x2790d25b, 0x175d07db, 0x1d696370,
-0xd6a50bfd, 0x3d4f0832, 0x43424139, 0xf7464544,
-0xd2d6fa4d, 0x6868032e, 0xed353a58, 0x8dd62f00,
-0x395f478f, 0x4f8a205b, 0x60de5753, 0x3f70b828,
-0x2e351e91, 0xfb2e2e34, 0x7295951a, 0x20350018,
-0xc42f8da5, 0x50477f17, 0x7469294c, 0x61c28d52,
-0x1c65424d, 0xf0d70a2e, 0x44bc6b40, 0x9755c7c3,
-0xdc3a3820, 0x0d0883a1, 0xc1d220ec, 0x6c22dd3e,
-0x4f784500, 0x6d0e3a73, 0x276c2f6b, 0x5f6f126d,
-0x287b3a77, 0x0c15b657, 0x963d7485, 0x10776da6,
-0xc7edec10, 0x3d20f468, 0x0a2e58da, 0x89028d27,
-0x8e2691ec, 0x1adb630b, 0x32c7500c, 0x611e78ac,
-0xe8e8e882, 0x69306d06, 0x63886cce, 0x5ba3da38,
-0x2ce97058, 0x93b4494e, 0x9172c96e, 0x6e499861,
-0x3197856b, 0xd74d9702, 0xa1452325, 0x2cb302b5,
-0x39f9e20e, 0x8eb9ad79, 0x65625c5b, 0x0e536505,
-0x6c20bd35, 0x69d31278, 0xa157be73, 0xe2a9605d,
-0x346a381b, 0x6dca3330, 0x7742a5bd, 0x553c635e,
-0x3ad68d2c, 0x67654386, 0x174b8f31, 0xb90a9c2b,
-0x7ac7ac8f, 0xb63af6a6, 0x74986721, 0xe196ca79,
-0x67ecda36, 0x320b6874, 0x380a63f7, 0x8ecc31b7,
-0x9d6c1023, 0x186ad604, 0x60911d28, 0x028f8509,
-0x1d9e8496, 0x96296181, 0x33340ab0, 0xae29654b,
-0xa036a447, 0xb2dc93b0, 0xdb6d8ad7, 0x379a9f79,
-0x62c2da6b, 0x67667b0d, 0x31093737, 0xdb3a4102,
-0x253d21bb, 0xaf48c0ec, 0x02195375, 0x5a3b42dd,
-0x7361ba19, 0x81833970, 0x2a7b0b42, 0x810ccee9,
-0x18980e03, 0xd133464b, 0x902afb32, 0x630b70ae,
-0x6290b61b, 0x1f0a6b0e, 0x2e65f162, 0xfb48604c,
-0x6c69973a, 0xb14ebdcf, 0xa05fafec, 0xb0db1b4d,
-0xf72f00b2, 0x69e26e67, 0xa95e963c, 0x6e8d8905,
-0x9db032b9, 0x5232d870, 0xbe5fe576, 0x73a1b078,
-0xbba62ccd, 0x784578f5, 0x970b7b29, 0x610cbeec,
-0x5452453e, 0x5b08ba1f, 0x2b48676c, 0x70cc3d61,
-0x2e075ce6, 0xde2dbd1f, 0x5cb1c2f0, 0xe367dadb,
-0x9ed27983, 0xc2e876a8, 0x074f9c7d, 0x0a8c7737,
-0x85705b56, 0x7419bb15, 0x41eee146, 0x6666ed83,
-0xaf8e2119, 0xeb278189, 0x0000f548, 0x4f4f427e,
-0x683c081a, 0x339c2d6e, 0xc859cf51, 0x0056833a,
-0x83c66bba, 0x1ed0a507, 0x18a617af, 0x632c2db1,
-0xb69335df, 0x6db96c18, 0xce2069d0, 0xc58b531f,
-0x1d88e7ae, 0xc3797878, 0x30c6f5b8, 0x6c757171,
-0xdd4440b8, 0xc0b4d771, 0xe56c7e68, 0x4b623436,
-0xba524142, 0x19bef0f1, 0x3a783830, 0xd952c304,
-0x0a093a52, 0xd075c35b, 0xb0f86879, 0x0f9e0457,
-0xeb1092be, 0x3fee7ae6, 0x4aafb700, 0xcdb3736f,
-0x430430e0, 0xdec91621, 0x67c60b46, 0xa33aa468,
-0x05af9976, 0x305895cf, 0x8ce0ce2c, 0x854c0d85,
-0x3a996431, 0x60b0374a, 0x58582307, 0xb5a12157,
-0xed754480, 0xa33f3a2d, 0x2315d4e3, 0x6dd78161,
-0xc25a1948, 0x4012a880, 0x76d846c4, 0x6f6f26a1,
-0x6f75292e, 0x3e39c117, 0xae55703e, 0xb6c100a0,
-0x8d8261ae, 0x98081e83, 0x3b131d02, 0x8b42ef56,
-0x1f079780, 0xb207cf9f, 0x933906c1, 0x1f93179b,
-0xb6012836, 0x1f5b5000, 0x73eba660, 0x0064035f,
-0x1e298086, 0x10efe479, 0x30078d8b, 0x10319210,
-0xa2103299, 0x4791e479, 0x34b01033, 0x1035be10,
-0x4791e4cc, 0xda10361e, 0x38e81037, 0x3f23f610,
-0x1039791f, 0x05103afd, 0x0c103b8e, 0xf23c8f3c,
-0x3d1510c8, 0x103e2310, 0x3f105131, 0x23c8f23c,
-0x09451059, 0x12274d12, 0x23c8f655, 0x5b12288f,
-0x49611229, 0xb02f6a24, 0x247b1e47, 0x245d0772,
-0x8210507a, 0x52d8f34f, 0xae078a6c, 0x52010798,
-0xd8477ba6, 0x0300086c, 0xf31c1600, 0x5568dffc,
-0x0060c399, 0x400048f2, 0x053f80f2, 0x458b20c5,
-0x2d82008f, 0x7fd10da0, 0x7255ae41, 0x83d81945,
-0x328def42, 0x4f28ddb3, 0x26035c09, 0xecad810f,
-0x04054f37, 0x96156747, 0x002d80c2, 0xecb7a8ae,
-0x0003417c, 0xdb2b04f3, 0xbaf2c654, 0xec68b72b,
-0x8263d3df, 0x0b966353, 0xb17705af, 0x8fd00039,
-0x07d902ca, 0x549f5f45, 0x5c24205a, 0x6de03765,
-0x00000000, 0x00900000, 0xffffffff, 0xffffffff,
+0x61983d2b, 0x8336a810, 0x68affbbb, 0xe8550e48,
+0x5b217cba, 0xd637df40, 0x42a30eed, 0xbe778904,
+0x29b4b923, 0xb6dbf77b, 0x732ea3f1, 0xf8ea2015,
+0xb8000881, 0x6e1b1c10, 0xd88ebfff, 0xd08ec08e,
+0xe88ee08e, 0xc35d5e5f, 0xb837c035, 0xddfbc435,
+0x3d057e7c, 0x58cc1dc8, 0x250bd0a3, 0xfeeb05d4,
+0xbb59b85e, 0x0300e968, 0x68535f1d, 0xe4514328,
+0x3dddddfb, 0x890bb1e8, 0x8d23aca5, 0xa52fa0a5,
+0x4bbd296c, 0xcf61ae6f, 0x00768de4, 0x8fbcfc81,
+0xba6bdd0a, 0x0c6020a8, 0x341b22ed, 0xbd8c8c02,
+0x072db7dd, 0x8bd0ff17, 0x1d8b8b7e, 0x8b8c8e79,
+0xa18b158b, 0x14685dbc, 0xe2ff04de, 0xd6da4c8b,
+0x7e518968, 0x02bff8dc, 0x61890459, 0x0c698908,
+0x79607189, 0xc3006f14, 0xe685edb6, 0x08431f1b,
+0x5a374a8b, 0xfa7b6209, 0x6a08dff5, 0x10728b0c,
+0x1c147a8b, 0x89ffb805, 0x4ace1643, 0xa29c285b,
+0x0c5401be, 0xc5b325c2, 0xbb188dce, 0x8c1f30b8,
+0xa24b43f7, 0x9d5d5821, 0xe172282e, 0x07353de1,
+0x8150802b, 0x86910038, 0x85890387, 0x956ffa82,
+0xc90d88eb, 0x4f290768, 0x5e530c28, 0x50f7346a,
+0x1d9da953, 0x0243892c, 0xea5f6f97, 0x101f0a03,
+0x02044388, 0x0763880c, 0xb6fe5b0f, 0xc358edc6,
+0x53560090, 0xab1525c6, 0x4d046cb8, 0x65effecf,
+0xb0d629c6, 0x29c38970, 0x01006ad3, 0x2d32e8b8,
+0xbb7f08e3, 0x685004e4, 0x09e5e805, 0xc23b806e,
+0x7adede17, 0x7703c60d, 0x109f8005, 0x131800b0,
+0x5cdb0306, 0x230b6206, 0x8114570a, 0xad6f4db1,
+0x10047918, 0x160d026a, 0xcf360650, 0x501cf7c8,
+0xe851efb8, 0xc28993e8, 0xe08dbfc7, 0x23f66653,
+0x0374010a, 0xb8c6b60f, 0x3d836d8b, 0x038849a3,
+0x7b459212, 0x1ee59e46, 0x4defeffc, 0xd93ba497,
+0xbb782c1b, 0xfc230304, 0x67992d91, 0xc03229fc,
+0xf6bdac26, 0x262b0cce, 0xc8269405, 0x31c2f816,
+0x01f08306, 0x642f01b9, 0x15e7919f, 0x08d20c0c,
+0x64cf2356, 0x1729afb3, 0xde191515, 0x26a83c96,
+0x16c76634, 0x6e11632d, 0x170a6ac7, 0x182422d8,
+0x33f233cc, 0x1c741717, 0x34b7f5cc, 0x33351817,
+0x7d88000e, 0xb1bbd236, 0xd06a3da1, 0x6630eb39,
+0xcb68e783, 0x75578377, 0x11160719, 0x5ff7c817,
+0xc112cadf, 0x104306e2, 0x0febc201, 0xc7e11610,
+0x891432ef, 0x5755a1d0, 0x95bb3c1e, 0xdef8dfbd,
+0x513b07a9, 0xb87d7d54, 0x17496c46, 0xea71ebe9,
+0x1e9081bd, 0xbf06b6fe, 0x66502406, 0xe8226804,
+0x3f0807b3, 0x81c0c6d8, 0x740e127b, 0xf2ade707,
+0x39ebf7b0, 0x2b0d7cf6, 0xddfbc88b, 0x457cadb7,
+0xfc1a378d, 0xf31305b9, 0xc58343a5, 0xed8d7114,
+0x850b1fb3, 0xbc9d74db, 0x4cd88996, 0x0d86613c,
+0x5a5fad62, 0xda1bfe9f, 0x1be05e97, 0xfe84e8b2,
+0xe0a3feff, 0xa0e8862d, 0x76e7f7e6, 0x09e4a30a,
+0xec682095, 0xdeff2e13, 0xe89ffdf7, 0xc08510c4,
+0x05c77375, 0x05db020c, 0x6085bf20, 0xf005e5c7,
+0x49050809, 0x36e7e0c1, 0xa30aeef7, 0x899907f4,
+0x1f06f815, 0x2d2105fc, 0x09b77dd2, 0x10072e00,
+0x1e000409, 0xa1d83bf6, 0x2e0831e4, 0x542e0c2a,
+0xbdbb2e10, 0xbf34ce11, 0x60773d28, 0xe9055d86,
+0x89a9835e, 0x18145aa0, 0xa045080b, 0x180ca419,
+0x977b6b1c, 0xb9358d88, 0x01174079, 0xf0d8a60c,
+0x870f1eed, 0xb981050a, 0x7730ffbd, 0x7df08d4f,
+0x0a064a58, 0xba12992b, 0xfd8e91af, 0xa4b7eb7d,
+0x993b0877, 0x8b0676c8, 0xb181c707, 0xf3c5cd61,
+0x30f3092e, 0xb1b164e4, 0x36191e29, 0xde00a267,
+0xff9dd367, 0x8b920f09, 0x22918b81, 0xdec73868,
+0x03d68972, 0xcbb11338, 0xf06f0210, 0x39142d1b,
+0x776a72d6, 0x6476c3d8, 0xd8fd8e37, 0x390c112d,
+0x722c772f, 0x773f3908, 0xdb1b3b22, 0x1c19db9d,
+0x4f1b0f2b, 0x39194b81, 0x9189f3ec, 0x892128eb,
+0x108ec189, 0x815ec719, 0xb63809f8, 0x8347ed08,
+0xa15d71c1, 0xbb1201cc, 0x267370ee, 0xd813b8c3,
+0xee33052b, 0x9f61d342, 0x90850c7a, 0x0ac6329f,
+0x4a75db23, 0xa60a8c08, 0xfc607c08, 0x0cca3fc1,
+0x7d9c35ff, 0x2e000072, 0xdddd91ec, 0xcf681412,
+0x62a51391, 0x5203feeb, 0x6f6df607, 0xfd2835a3,
+0x35590c6e, 0x20fd8639, 0x8ca12c74, 0x988f809f,
+0x5a9815fb, 0x3ae81bf1, 0x1c0f7837, 0x446a2cdf,
+0x0168d557, 0x10e9ff73, 0xc361ff05, 0xe80aebc1,
+0xe9c81ee7, 0xaa08a17d, 0x3172189d, 0x63af14ba,
+0x1659a171, 0x2ea118a7, 0xed8ce8c2, 0xc13ae96f,
+0xfa890ae7, 0xcbceb809, 0x6c5b4e05, 0x55d78923,
+0xf4a0dbaa, 0x1e433b4c, 0x144ce88b, 0xc9b726ee,
+0xe81c73bd, 0xa7460b85, 0x066206fc, 0x18f6183b,
+0x8856c35b, 0x26661447, 0x6b77f7a1, 0x96e2811c,
+0x061a8c8d, 0xf85d326e, 0xf2893381, 0xa4227423,
+0x17ff02fd, 0x74c98504, 0x2102c714, 0xfb455246,
+0xc281044a, 0xc180bd00, 0x49669fdf, 0x24e8ec75,
+0xae711b00, 0x758cd864, 0xadc5e898, 0xeb1678a0,
+0x1c1f6d3d, 0x77d4bed5, 0xd86ffd74, 0x29f1897e,
+0xbb01c2d1, 0xd729c789, 0x80398166, 0x50bd7402,
+0x3f4f6dfb, 0x98187564, 0x044703e0, 0xa97be6c3,
+0x4fb71d6d, 0xebd8e604, 0xa47dfbc5, 0x43c1b363,
+0xc358828d, 0xc600e381, 0x68db1e11, 0xde0d0d8b,
+0x2955ce29, 0x637b1ad0, 0xc8397ffb, 0xd8392977,
+0xfb812577, 0x1d9c0a13, 0xd219c889, 0x274342c3,
+0x1d48ae56, 0x6625211d, 0x04353843, 0x4440ccab,
+0xf412a16c, 0xd856e13b, 0x4a9b03df, 0x34053b52,
+0x71393277, 0xec1b16dd, 0xff522a75, 0xfaf05745,
+0x0fc612c7, 0xc76705a3, 0x0b000405, 0x0e0e2708,
+0xc8c8a84f, 0x8d8c6e5d, 0x245d8454, 0x1b8ca3d7,
+0x2e701619, 0xed885cef, 0xdbb61ecf, 0x88a1981c,
+0x4001b81e, 0x5ad85b08, 0xb8c50476, 0x8c423a01,
+0xf66f1bb1, 0xa12d4c4b, 0xc8368b7e, 0x5c52efc3,
+0xbf4ae981, 0x78357854, 0xfdf53258, 0x79aaf529,
+0x6786f289, 0x3347751f, 0xb80bf781, 0xfb0f2d00,
+0x3374e3f4, 0x9b31d4f8, 0x340ca113, 0xd7735b76,
+0x9d0318e4, 0xb7bef301, 0x9b368cc1, 0xbe66025d,
+0x811be507, 0x0189bf60, 0xbacba900, 0xc28c5ea2,
+0x9e567401, 0x15d888e5, 0xe798ad6e, 0xee480242,
+0xbfe90112, 0xc8e5b6b3, 0x75b005d6, 0x0054b82e,
+0xafdfbf12, 0x8112810d, 0x928bc1ea, 0x1c1089af,
+0x6866b1be, 0xd0aa01db, 0x2141b04f, 0x4eb5d718,
+0xd6a4eb20, 0x5a2457d5, 0x3dcd1928, 0x2dd3dbdf,
+0x8d1177fe, 0x2b901a04, 0x1d89a815, 0x18376a08,
+0x2523ebd6, 0x22fbc033, 0x4041d6b1, 0x3a08ffd0,
+0x6c369428, 0xdd29c5ff, 0x7f83ee89, 0x9c15be0c,
+0xcd5577ff, 0x740a85d1, 0xd86139c4, 0x11cf770b,
+0xbfb18d0e, 0x564c8f01, 0xe19a1de8, 0x121b7307,
+0x5e8dc601, 0x7633f0f4, 0x39db6c6e, 0x35031937,
+0xc31f1004, 0xf917fb02, 0x01c132fc, 0x8d1260ea,
+0x56e00654, 0xac5e0150, 0x018b818b, 0xcfecc2b0,
+0x890603e8, 0xd90612e8, 0xdb09edac, 0x7ff30814,
+0x2508a010, 0x52a3605d, 0x5942db34, 0xdc111447,
+0x1c05b76c, 0x290c4730, 0xceb09174, 0x0d666df1,
+0x03dc0399, 0x6a5f7508, 0x014cff13, 0xfce18303,
+0x715504e2, 0x5154cc29, 0x1b0236d3, 0x0c6cabc3,
+0x9324f57e, 0xd0777170, 0x89062ce8, 0xa1e75dec,
+0x8652f53b, 0x9c106140, 0x37089424, 0x61dc0d8c,
+0xec073354, 0xbc36ec40, 0x36f76035, 0x8d487458,
+0x8878898f, 0x77a5f16c, 0x18c283d6, 0xba960600,
+0x30b0be16, 0xc2b42c76, 0x7c4800c7, 0x7964b6db,
+0xc6d3c07c, 0x1602fec1, 0xfb05bdb8, 0x107df139,
+0x108c551b, 0xf07c0f41, 0x6dd6e8f0, 0x5f535267,
+0x12499814, 0x1b062fd2, 0x2e6324cc, 0x1f17264f,
+0xa143c58d, 0xd8b8aa10, 0x5f81ed2d, 0x0566d084,
+0xc41601e8, 0xbc783b8d, 0x40c44b6e, 0x85ce2d46,
+0x6241d2d2, 0x061074c3, 0x399402c5, 0x3a11d6d0,
+0xbf498452, 0xc7068ba3, 0x04b05b72, 0x0f084a21,
+0xa45f35e3, 0xb40f7b96, 0x008b150d, 0x652c9cd8,
+0x0abec3f8, 0xb974a7d1, 0x493e8da3, 0x73d93982,
+0x1904fe0b, 0x7f6f1837, 0xda3942c1, 0xc10af572,
+0x1cb45e5b, 0xe1bbe086, 0xc08c3046, 0x0a749829,
+0xdde907a1, 0xe599b831, 0xb6207599, 0x21be1325,
+0x86b822de, 0x6ac280fa, 0x840f1bf1, 0x217fd8a6,
+0x64a923e6, 0xe7830f02, 0x89c729f0, 0xc3019644,
+0x80b920b1, 0x0205326c, 0x12bfef0d, 0x8d60738d,
+0x18a61183, 0xdbefec6e, 0x8eef81f0, 0x05c781a5,
+0x9605042d, 0x1fb91b04, 0xe7146eb3, 0x18830ad0,
+0xfb750701, 0x2d12b783, 0x6c8d32e4, 0xf0e56805,
+0x828d4786, 0x1c28e4a3, 0xfafdb1b9, 0xea68046a,
+0x5e21ad91, 0x58acc605, 0x5d0ce9c6, 0x1807075d,
+0x08050e43, 0x19184467, 0xac300c0e, 0xcfb16e05,
+0x12e29c78, 0x0abd2b66, 0x106d107b, 0x1625eb1b,
+0x9405142b, 0xb6edd7ff, 0x531805d2, 0x071d571c,
+0x16fb1e0d, 0x8c690eeb, 0x03281f9f, 0xd6070f20,
+0x2adba775, 0xbca12202, 0x26032e13, 0x602d806a,
+0x0d113053, 0xc9eeae32, 0x057c5466, 0x405c3643,
+0x8b6c6fce, 0x8e4243c4, 0x48054607, 0x6c6f9012,
+0x054e4a90, 0x7e521250, 0x566dc2d3, 0x01586a05,
+0x43283501, 0x2404c705, 0x3d5a192e, 0xdf16c4eb,
+0x00ee5d0a, 0x4622fff6, 0xc6020106, 0xfc2c0846,
+0xec830c46, 0x149276d9, 0x0e2c0a46, 0xe7124657,
+0x0f7583ba, 0x14032046, 0x032246dc, 0x1b191e16,
+0x281822eb, 0x1e1c051a, 0x27120000, 0x2462ca6c,
+0x502646e6, 0xac07048f, 0xa72a4660, 0x310fe383,
+0x0c6fb776, 0x2c6a285e, 0xc9fd37b4, 0x6d8e0946,
+0xc7e0c118, 0x1fc18c80, 0x57f01fdf, 0x0f37688f,
+0xd25c2be8, 0xc5f6fb6a, 0x6aa51749, 0xf91a152c,
+0x833cffff, 0xb3106358, 0x6df57d1c, 0xe80fb5bd,
+0x4a1cf6a9, 0x19e3c1db, 0x5830411d, 0x90d3dde0,
+0x648a413c, 0x3416de8a, 0x021b3b14, 0xed99ea1b,
+0x4b8eb851, 0xf410689c, 0xf0f86cfd, 0xa213847b,
+0xeb81d3cb, 0xd368be95, 0xeb7831ff, 0x29f7896d,
+0x89078bcf, 0x260b4883, 0x6c7705dd, 0x83ec0a04,
+0x83250c4e, 0x1b60064c, 0x156e9f74, 0xc1180a94,
+0xd05719ea, 0x6c691435, 0xd04e7606, 0x1f6c201b,
+0xbad07f2f, 0x20d0eea9, 0xac160e06, 0x81013065,
+0x9effb34e, 0x527407b2, 0xba3f74af, 0x98152b98,
+0xb1dfee9c, 0x8b5f1860, 0x02899c80, 0x85c8cee8,
+0x42628684, 0x70771476, 0x68828ce1, 0xe86a188e,
+0xd162bd8b, 0x2a10748d, 0x84237823, 0x05af4686,
+0xc75cb734, 0x830723e7, 0xa6eb7345, 0xc592bfe8,
+0x57bcf667, 0x8d147a85, 0x57331660, 0xf11bed9f,
+0x3a5f4686, 0xc1896032, 0x024b0c00, 0xa93ee083,
+0xd30dc06d, 0x3979f201, 0x6ce28306, 0x12ec0871,
+0x086a0453, 0x7bf84d85, 0x46350740, 0x9ae805a2,
+0x77b9ddf9, 0x206bda74, 0xb327fee8, 0x5e5b1409,
+0x9cb5d023, 0xec208b6d, 0xdc81dd24, 0x38806f1d,
+0x8b1f76a8, 0x428b4d02, 0x81806904, 0x0762d6d8,
+0x42407208, 0xfea0dfb4, 0x1beb06a0, 0x8f14138b,
+0xc0d8b50c, 0x06408243, 0x46c19331, 0x365fd6ed,
+0x1315c109, 0xb1ea49c8, 0xd144ff68, 0x278bd001,
+0x50b60dc1, 0x1e25c60e, 0x5324946c, 0x7c7026f7,
+0xd46818bf, 0xa8bb9e96, 0x69b8e6ea, 0xe8b55ee8,
+0x79775159, 0xd91c970c, 0x56ff7b1c, 0x77000a0b,
+0x7e921027, 0x8dd72304, 0xbeb7be17, 0xded6f726,
+0x9f8314ea, 0x900a7702, 0xa0853493, 0xbae0fc72,
+0x75f87bd1, 0x8d6f9f17, 0x5add247b, 0x247e09e4,
+0x75161c00, 0xb6e0b01c, 0x1c1b6d1e, 0xb6144275,
+0x7ee17743, 0x310775e9, 0x02219f02, 0x43c91a91,
+0xe62e50fa, 0x066db99a, 0x76010f48, 0x850f0069,
+0x5086a498, 0xb4834c5f, 0x86fd180a, 0xff53e00f,
+0x0003c713, 0x8f5e1824, 0xa7be2791, 0x81913a5d,
+0x2e7a305f, 0xd00915e2, 0xbb84da0b, 0x6fb9e1bb,
+0x319fb015, 0x41ef10c2, 0xbd8b2ea5, 0x72dbe839,
+0x5ced173f, 0xe1f0f8cf, 0x5613794e, 0x7b293468,
+0xa9075255, 0x04d85a93, 0x63c97428, 0xe4a632c3,
+0x696d615b, 0xe4237108, 0x115c4819, 0x127cb08d,
+0x7c8b1835, 0x961d1fbd, 0x418f81be, 0x02b80ec3,
+0x66da89a5, 0x124c6aef, 0xed82183f, 0x0f03b85e,
+0xfde86ace, 0xe16fdd71, 0x06a05262, 0xbef8d3f9,
+0xeda81f06, 0x9f0bb1bd, 0xf038be05, 0xc83d9c2a,
+0xd4dfd81d, 0xc8830f71, 0x14bf3d01, 0x58916c68,
+0x16ee2d29, 0xd8b07bed, 0xe0b6b6df, 0xc509cd20,
+0x7aad794f, 0x1ac1423d, 0x052896ee, 0xc868847b,
+0x10fdac30, 0x955dacae, 0xfa85bbdd, 0x041d7401,
+0xc3f30672, 0x870936d8, 0x020835b8, 0xc20cc333,
+0x804f612c, 0xfd0f02cc, 0x2dabddf9, 0x8a152cd8,
+0x06f6a625, 0x0345d1b1, 0x0cfd2c81, 0xf74b96ff,
+0x8db98b6e, 0xff28ec06, 0x12155c70, 0xd2b41a80,
+0xdf861023, 0xb00d3f64, 0x25b7067b, 0x0567a020,
+0x400c0822, 0x082fdcdb, 0x24a31655, 0x212c1804,
+0xfb67b80b, 0x14022080, 0x48042830, 0xb703e214,
+0x1c0ca3bd, 0x03a90534, 0xef08f830, 0x381589c1,
+0xa32cfca0, 0x4b80a03c, 0x5f58b278, 0xb0ef04bc,
+0x1a130bef, 0xb7ee02c2, 0x2dec2bf5, 0x84adfee4,
+0x83412ccc, 0xf57e64f9, 0xf1f0210c, 0x10ff4d8e,
+0xf9814109, 0xf27e9110, 0x6856515e, 0xc0dabf84,
+0x52f61af8, 0x9adeff3b, 0x4ec4122e, 0x6fc71876,
+0x59e277a1, 0x09f73acb, 0x0812c1e8, 0x7b8f2cec,
+0x04364572, 0x04b07481, 0xc02085cf, 0x8300ba01,
+0x2d993b4f, 0x584080c2, 0x12b44807, 0xa1077788,
+0x4e806b4c, 0x4205f808, 0xbd915e05, 0x0301a961,
+0xec87d07e, 0xee0b4b51, 0x3fa04d84, 0x09764096,
+0x083c2436, 0x401084c2, 0x60aa017a, 0xe5020327,
+0x4b3c2454, 0x226d6218, 0xb87339b8, 0x00822bdb,
+0xcd0f67ca, 0x07b2d2b1, 0xd08e2ace, 0xeedd603b,
+0xb13fff25, 0x50936442, 0x1b50051d, 0xbf89d9de,
+0x6072ff50, 0x4f540de8, 0x24625219, 0x1b10dd3c,
+0x24c04208, 0x1e9760b0, 0xe02d428d, 0x8a309c03,
+0x00706ab5, 0x522e8542, 0x917841b1, 0xefdc380e,
+0x4a5078b0, 0xec25ebc2, 0x7805c5a4, 0x0c3d1601,
+0xc48524b9, 0x180222a2, 0x35a2106a, 0x4c2610e1,
+0x081bb14c, 0x07fa4a28, 0x6a0c026c, 0x6dc8e814,
+0x40a10000, 0x60592e1d, 0x941c510a, 0x57829a2b,
+0xb0f45496, 0x19ecc1a1, 0x8b3b2d64, 0xbbc53005,
+0x8a10c63d, 0x3436a3fc, 0x581d6db0, 0x93b46833,
+0xf18a0f47, 0xe1283bd0, 0x41881cec, 0x7b1b476c,
+0x257f01a9, 0x9415e806, 0x0ffe00d8, 0xef15b7e4,
+0x75073daf, 0x4286bd0f, 0xe2b02008, 0x0debfd87,
+0x0e0040bd, 0x00bb0180, 0x8106b68c, 0x7deb397e,
+0x1bbebe32, 0xc3f80bc6, 0xc63601ea, 0x0ffb833f,
+0xbdb8057f, 0x5c649bf8, 0x43d70110, 0x31c8c681,
+0x7625d37c, 0x5f998451, 0x6db45c50, 0x370b0bd0,
+0xd103741f, 0x5f443bf8, 0xed6f56e0, 0xb7e183d9,
+0x883103e1, 0x50431a04, 0x3f6f0780, 0x7bd77e05,
+0x4fa4e23c, 0x685ce0bc, 0x4f642837, 0x53608178,
+0xbac1d8b5, 0xc7b746bc, 0x58fb3091, 0x49a2bcc7,
+0xd802661a, 0xceb3a71f, 0x1f6c68e8, 0x37090a48,
+0x7206b8af, 0x565a1624, 0x724ec7af, 0xc0099f17,
+0x401690ba, 0x1197eb91, 0xde6264b3, 0xa640c281,
+0x1923200e, 0x63f2c123, 0x89fbab1d, 0x43074490,
+0x23c2811d, 0x0d8106fb, 0x40a3bb2c, 0x9642acb2,
+0x08fb37fd, 0xa359cfc0, 0x0000b244, 0x8d915e0e,
+0x85def590, 0x2760044d, 0x60b0a310, 0x8307065d,
+0x018527c9, 0x183c9700, 0xe0d24b3c, 0x28ba8c9c,
+0x0c77c6a0, 0xa74c4156, 0x048a5c41, 0x5a349118,
+0xbeed1e32, 0xe9c56aff, 0x5e4ba5ed, 0x04f53fe0,
+0x0a040574, 0x5d084f75, 0x17ea1ada, 0x1f162806,
+0xc4f7510a, 0x14037a13, 0x0422cb81, 0xaca43d2c,
+0xa07fbbdd, 0x01cf8003, 0x14685329, 0x4c929498,
+0x0ea65321, 0xaa38536c, 0xb4377459, 0x74f6f70b,
+0xe020be37, 0xc0199820, 0xf16353f7, 0x8159d0a5,
+0x342000e2, 0xb93794e0, 0xce4bb7ec, 0x006a5201,
+0x89da6f3a, 0xe25dbb65, 0x084002ce, 0x70e39ce0,
+0x1ab100c8, 0x6e9317e4, 0xd3deedf7, 0x08c4050a,
+0xac12e9a2, 0x09eca29e, 0xc3fabedb, 0xc061a8a0,
+0xdaeda280, 0x7e0258f8, 0x16f3bd9d, 0xf7a24911,
+0x5be0117c, 0x02bec1b0, 0xfba240e8, 0x0a140126,
+0x2145e1c0, 0xfda20df1, 0x4b599c9c, 0x21e4a755,
+0x68339331, 0x12f3682d, 0x0197261e, 0xbff5b923,
+0x12b0991f, 0x04a810a6, 0x4a502375, 0x83c5de92,
+0x734af836, 0x3ce85ceb, 0x946c77fa, 0x2829cc04,
+0x01c75016, 0xd67f4def, 0xc7c81ed4, 0x1dd14840,
+0x884c406b, 0x3518061b, 0x4050cc81, 0xe0256b46,
+0xd817ab54, 0x5ddb052e, 0x72143875, 0x30be0f18,
+0x86ff689e, 0x0505c3b7, 0x48b8d1bd, 0x816f4869,
+0x46f605fa, 0x5a1feb3c, 0x32067707, 0x0d2feb0c,
+0x80bb06b3, 0x6d187472, 0xec1b3d2e, 0x57563b1f,
+0x2c8c3de8, 0xedf3040e, 0xc08c688d, 0xb64490eb,
+0xd80350c1, 0xc581774d, 0xc6939817, 0xffffb831,
+0xa9da291e, 0xd57688d8, 0x94008100, 0x833a5dda,
+0x7005f0e4, 0xd017606b, 0x73523d7b, 0x0a40a90b,
+0x1c036df0, 0x75f1f572, 0xe808020c, 0xf824699c,
+0xc35c98dc, 0x682202c8, 0x75cf6ea5, 0x075040c4,
+0x984c7016, 0x61ac7bb7, 0xa1e82b25, 0x1a620c66,
+0x9776a104, 0xa2f2e668, 0x1e04e48b, 0x80ec2205,
+0xc468f54d, 0x40e0c855, 0x36fbb85c, 0x7e911208,
+0x20135bff, 0x912b01a1, 0x79751233, 0xfbb75f50,
+0x296035ff, 0xa1892ee8, 0x5b88c909, 0x3e308bc0,
+0x39fe7495, 0x38ebdd7b, 0x68b518a3, 0xd6836435,
+0x84909854, 0x2e648277, 0x36c87bf4, 0x3d64766b,
+0x58741248, 0xbfef0b78, 0x83547e6d, 0x4f7f02fe,
+0x14c610a1, 0x89f7701d, 0x400c9ed7, 0xff084ca1,
+0xc02a0450, 0x233708b1, 0xc6917883, 0xd4942352,
+0x16defe5b, 0x92f76350, 0xead468e9, 0x32cc688e,
+0xa0331879, 0x3689773a, 0x02469853, 0xdb1a5c0b,
+0xd39adec6, 0x8f0f0339, 0x19fd1059, 0xecf50872,
+0x81e9b632, 0x0094040d, 0x9f8a8c08, 0x9d4d7b6f,
+0x4814a1fe, 0x503d5e22, 0x1ff0d04d, 0xe81b742f,
+0xd10a19ac, 0x2ff61207, 0x05731f62, 0xe8129217,
+0xb3b003bb, 0xbb209708, 0x0cf4fedc, 0xd35fbddd,
+0x50f91c71, 0xc95805d9, 0x0004be00, 0xec426d90,
+0x0c6dff0e, 0xcebbba44, 0x30090541, 0x0210e9c2,
+0xfac16566, 0x8455cc2c, 0xd11cac50, 0x638e10af,
+0x33850f3b, 0x77c35708, 0x8941d889, 0xa102c506,
+0xe57fd340, 0x0f45da16, 0x4807e20e, 0xfb5f0f54,
+0x03901d6b, 0x7e022236, 0x0313640a, 0x08bc2dac,
+0x16981285, 0x0b161208, 0x0d757676, 0x15c219b5,
+0x9e08cd31, 0x8cf817d5, 0xd7704a16, 0xe91ad86b,
+0x1ea12371, 0x20908dcd, 0xcd0e8d7c, 0x62ab6a08,
+0xf621a30b, 0xd0cc2080, 0xc20cba82, 0x50891c27,
+0x1c5889c2, 0x6fbf20ee, 0x0c3e2308, 0x99be0dfc,
+0x208c11e9, 0x4f01843c, 0x15421b2e, 0xf8c2384b,
+0x14241c89, 0x423b5514, 0xe96408ec, 0x745ce3cc,
+0xd847ec33, 0x302a0ec6, 0x763b7a8b, 0xb05f1a74,
+0xb0194f4f, 0x38467db3, 0x8c4390e0, 0x02457cf7,
+0x896e0986, 0xbd8310fe, 0xa208803c, 0x01be6978,
+0xfb23b35d, 0x0c1e62c4, 0x84471e34, 0x3608e337,
+0xdf0440eb, 0xd3e4b083, 0xffbd7d05, 0x843b1d45,
+0x097f7983, 0x894105b4, 0xa31a6ef0, 0x108dda49,
+0xeaa1205a, 0x0a6035b6, 0x0c890e61, 0x91db5408,
+0x3078f188, 0x80466301, 0xf512dc3e, 0x046ff6dd,
+0x430d743a, 0x0b1e3c80, 0x753a0506, 0x6df8bff3,
+0x273216e4, 0x7ce000c9, 0x3c0ca5d8, 0xff530012,
+0x670d7037, 0x63c460b7, 0xc7827748, 0xb9722408,
+0xdff65c9f, 0x3100b2e9, 0x68036aa6, 0x618db5cb,
+0x1e461b5b, 0x92352d34, 0xbf472267, 0x03d8a588,
+0x4f06f4b5, 0x850dfae4, 0x742f3880, 0x52df1d47,
+0xc3401ce7, 0x01e4cfe8, 0x7634031e, 0x1d35bbdf,
+0x29402092, 0x10240a54, 0x0cf50950, 0x15318ac7,
+0x0730cff6, 0x46bb03de, 0xa3f82d75, 0xbf827ef2,
+0xcf68c3e2, 0x5644c836, 0xd03bf668, 0x9bc6dc3d,
+0x04573e40, 0x56502574, 0xafdf203e, 0xdb682d90,
+0xe8569e29, 0xa4f81f20, 0x104b2138, 0x1a13e8df,
+0x7a4957f5, 0x3f976497, 0x08fe6a14, 0xd09e1512,
+0xd055dbb2, 0x2d0d102f, 0x7f347b9a, 0x343d8038,
+0xc58c60d6, 0x0825295d, 0x6b8775b8, 0x3d461258,
+0xb6f9860f, 0x52f7ef5a, 0xc7810bee, 0xbdbc8605,
+0x2b349dd1, 0x218bc64a, 0x97466bf6, 0x8a0c106b,
+0xfdd4129a, 0x0f46c586, 0x7926bf07, 0x3aa5e95c,
+0xe0900c16, 0x54808db4, 0xb9bafc64, 0xb0dc52ad,
+0xac35ef1a, 0xfbda461d, 0xf75ee06c, 0xaf7410e0,
+0xeda63f43, 0xa55916c0, 0xd4bb7473, 0xec1422c7,
+0x08db85ff, 0xdad8d90a, 0x7ef6c7b3, 0x5868040d,
+0x50baa84a, 0x88310877, 0xb0014e47, 0xc5608a27,
+0xb8bccb25, 0x962961e3, 0x855ad946, 0xe84acc5c,
+0x546f18df, 0x0c428b70, 0x8ad90d8b, 0x6885de2d,
+0xa2034209, 0x15ed4dd8, 0x2075b776, 0xeb09c81d,
+0x90113248, 0x4b4f6d8c, 0x4402b8b8, 0x2f18a33d,
+0x9f0420dc, 0x95187502, 0xf7b01b2b, 0x10b90ed9,
+0xa10e2000, 0xb0307cb4, 0xa1efd98d, 0x43b4a304,
+0xfe72b815, 0x6f58a85a, 0x0fff248b, 0x14b5f025,
+0xc13b1bfb, 0x148d02f8, 0x03bb0190, 0x93e10f24,
+0x830f02bd, 0xd9d9d6ec, 0x848affff, 0x1bfbfb75,
+0x04a01a0c, 0x3a74ed85, 0x39141d8b, 0xa5e776f3,
+0xf36c4560, 0xb12d836b, 0x578da6b1, 0x29ad14f3,
+0x31d70121, 0x29f5f018, 0x36df01de, 0x89ba7f1d,
+0x44988c5a, 0x87a0341c, 0x28a2bc42, 0x1e2442fb,
+0x07755274, 0x9ec2e730, 0x0a5409d0, 0x361092df,
+0x7d3d2300, 0x1cb8300c, 0x0daf4d2d, 0x058181de,
+0x2353e4df, 0x3c8ae851, 0x9bb31420, 0xb380905f,
+0x504cad18, 0x382110a6, 0xf8614bf0, 0x18c7080b,
+0x1bfff3b2, 0x7eda4193, 0x018c1c3c, 0x3c02d8d6,
+0xa7217495, 0xd027815d, 0x720c1939, 0xc6284f15,
+0x730b67ab, 0xd9b7a109, 0x63440082, 0x2e3c1491,
+0x0e11c817, 0xdf5c03fd, 0x0d018603, 0xc7281f97,
+0x0bbf00a5, 0x461a16bc, 0x1baa73fb, 0x025d8dbd,
+0xfb53b557, 0x348d2e12, 0x03307897, 0x302c0bfa,
+0x85879839, 0x0febd2d3, 0x75083b35, 0xeaab0e76,
+0x8cdd6ab8, 0xcacc332d, 0x722f5fc8, 0x28d0bbb4,
+0x042674ce, 0x1df80777, 0xa5376ff4, 0x03064beb,
+0x44eb2874, 0x8068148b, 0xd6e07d81, 0x75a9307c,
+0x31eb0f37, 0xd9bd4b12, 0xeb0424cd, 0x0fc3b11e,
+0x051dbf06, 0xd3a366de, 0xa3205456, 0xcdeb89e7,
+0x84761eed, 0x7c2c5682, 0x061f74b9, 0x8039cec8,
+0x511e0646, 0xf4482103, 0xf26810eb, 0x6a40514c,
+0x820ac1e0, 0x6d181a15, 0x07752774, 0x5424e310,
+0x34c558ff, 0x0b5f7772, 0x050b0b34, 0xdf6d0530,
+0x5a35d558, 0x3e107534, 0xb1721a15, 0x28f63909,
+0x1e390877, 0x14291e72, 0xb1c4efba, 0x88e92419,
+0x1e010f78, 0x59d82dc7, 0x343919c4, 0x9b0d7309,
+0xc9388461, 0x5c439155, 0xc52e1dcd, 0xd8107a36,
+0x20c2078b, 0x1eea68bd, 0x3869cb43, 0xfb181840,
+0x409a1b1e, 0x291ecd42, 0x15bb012a, 0x81d2658b,
+0x010da850, 0xb803a367, 0x8d00d1d8, 0x889ec39a,
+0x3ab90cb4, 0x9ab18b25, 0x8b1b770e, 0x15132528,
+0x548a522c, 0x89af167b, 0x40292dfc, 0xe00a20be,
+0x0296db7f, 0x3d30084a, 0x8e8b4174, 0x3b6fb924,
+0x55fd1057, 0xb1d3392f, 0x6f392972, 0xc1e107bd,
+0x74442572, 0x1707a116, 0x1b968b05, 0x2c7efec4,
+0x7305903b, 0x611e8906, 0x7e125fc6, 0xc51020a9,
+0xa27ff839, 0xec8b6b74, 0x35b19775, 0x2c86e634,
+0x6cdda32e, 0x0d807eb4, 0x19c129b1, 0xed9cc3d3,
+0xb3593ad0, 0x6d303a55, 0x3d221a00, 0x82363997,
+0xbacec721, 0x3458e832, 0xf02d3546, 0x23fbf325,
+0xa81500bc, 0xd311c101, 0x11540d01, 0x59f8011d,
+0x0f1ab384, 0x8e09d0ac, 0x9dac1b16, 0x2901ff2f,
+0xe21e40a3, 0x7223a1a1, 0xe8265038, 0xca6b3af8,
+0xeb2df1f5, 0x75080af2, 0xa9416c46, 0x3404de20,
+0x9e0246e0, 0x390b6306, 0x87dc2b08, 0x2869e196,
+0x49e86732, 0xfa876e19, 0x3dc09702, 0xf47ee830,
+0x2bc5b7ee, 0x8928150c, 0x688d2ad0, 0x958ebf34,
+0xfa5e583a, 0x83d69300, 0xf88101bb, 0x8b37a713,
+0x10b92c83, 0xdc0a5b09, 0x090e34b3, 0xb82c580a,
+0xe855ec77, 0xab035726, 0xc394491e, 0xcc437a74,
+0x66b1988d, 0x9e6e3539, 0xaba0276b, 0x0f1a2f72,
+0xdafc184e, 0xff9394a5, 0xd4416e3c, 0x8444d18d,
+0xdef60870, 0x1178b1fc, 0x0040e3db, 0x21231f22,
+0xf8d08af0, 0x6ea65ffa, 0x284951ae, 0x1a4bfc1e,
+0x8da09c5b, 0xe316aa93, 0xdfc558e0, 0x50503304,
+0x80d0e853, 0x0301c085, 0xce0ac271, 0x35e647d3,
+0x5626e4bc, 0x2ae81663, 0x4635023f, 0x47e1c2db,
+0xc0189b1b, 0x7eae9957, 0x985d778d, 0x0fe879ad,
+0x7459d6f0, 0x4fd5a3aa, 0x781820c8, 0x07f26a90,
+0x5ab86ae8, 0xea0bd2a8, 0x33fc428d, 0xe93905ee,
+0xc842b40e, 0x4751047c, 0x388181a0, 0x8d6818c2,
+0x0bddd820, 0x3be34c94, 0xea0a7d00, 0x6c56e136,
+0x181bf74e, 0x70d15b96, 0x82f190d6, 0x60480c2c,
+0xa1da31be, 0x11d77644, 0x0582a53d, 0xe946483c,
+0x8b570178, 0xe18f4a97, 0x73486a45, 0x6f015030,
+0x3b1c415d, 0x24764036, 0xd04ceb43, 0x037e5207,
+0x439a9b58, 0x64d97a18, 0x4fe92040, 0x576bb8a1,
+0x0d3b4870, 0x6634763f, 0xcf1d3b40, 0x402ba194,
+0x0a02d873, 0x6be0dbe4, 0x60511c05, 0x31243ff8,
+0xf70e04c2, 0xa3be361f, 0x5e420749, 0xc50d9092,
+0x62c5086f, 0x334c8969, 0x66092b5e, 0x5faa2c45,
+0xbf8a1fc4, 0x8b567560, 0x5f97d787, 0x87117fc4,
+0x03d389c1, 0x409fd78f, 0xf8bdb174, 0xa1183b0f,
+0x265be61c, 0x5613f0c2, 0x04772672, 0x88b0437d,
+0x1c01df20, 0x06721277, 0xddea4752, 0x0a7718fd,
+0x4608ce99, 0x86174101, 0x77f52db7, 0x1f327499,
+0x9ddeec25, 0x48034c01, 0xd4992868, 0x89553a4f,
+0x6ca35db7, 0x0339445b, 0x00167648, 0x4408d87a,
+0x29beb837, 0x059c18d9, 0x2c992aad, 0x96df032d,
+0x596c0608, 0xbaff458d, 0x5d60844d, 0x5fc585e0,
+0x119500f0, 0x988c3522, 0xebfe42d9, 0x54266207,
+0xf7e8520d, 0x4c500dd8, 0x996ac518, 0x85e11146,
+0x098103e5, 0x755bb51a, 0x7c77d629, 0x1b777779,
+0x8df860b0, 0x011bb921, 0xf80f07d7, 0x2e2ef106,
+0xe9d03947, 0x24348bc7, 0xda82f734, 0x0c730e2d,
+0x6c18e909, 0xc2f08f7b, 0x0eee3d3b, 0x2e07153b,
+0x22c70f8b, 0x150d59bf, 0x8d0f380c, 0xff86f154,
+0x23ff2af6, 0xd7399c54, 0xf8890a72, 0x205ad029,
+0x78431573, 0xec4348f6, 0xffff4a1d, 0x7fd089f7,
+0x429210d0, 0x89b93014, 0xb04e89ef, 0x5ede84f0,
+0xab0833fb, 0xd6749e08, 0x5534112d, 0x811095ec,
+0xd1aebb3d, 0x457f0dff, 0x4975464c, 0x52250a35,
+0x80ed3d00, 0x0001b42f, 0xa16638b1, 0x02e819f0,
+0x3e168c6d, 0x54297770, 0x342077f4, 0x0f14b838,
+0x75d03435, 0x61f6bf14, 0x3f570e2d, 0x0a740609,
+0x2474fa75, 0x7a39e938, 0x63412168, 0xf99c0438,
+0x0b26e946, 0x063c7a57, 0xc315d7e2, 0xd0af060a,
+0xa4e3ecb6, 0xf039a45f, 0x2a24607a, 0xaaf0a82c,
+0x2b14b8fb, 0x8504e652, 0x6677d81e, 0x4e2c2118,
+0x02c42108, 0xc6159810, 0x4b3452e6, 0x182f85c0,
+0x073aa771, 0x62e703d1, 0x4ba2c61c, 0x01411829,
+0x9f12188c, 0x9e00012e, 0x8f4e2425, 0x7dc177c0,
+0x603b4f68, 0x833c0989, 0x9071d2b8, 0x71dee61f,
+0x7318fcd2, 0x20058904, 0x82349003, 0x367c3587,
+0x13d1f3ca, 0x017dec05, 0x1d316157, 0x8b07763c,
+0x0158a340, 0x6a810043, 0xe07dc02e, 0x9c7c0937,
+0x04854887, 0x9187d80d, 0x29008053, 0x4de5de37,
+0xa2c07a85, 0x980e2bb8, 0x8f437010, 0xf2e851e2,
+0x75ffd241, 0xb7e40632, 0x681c587b, 0x36f137b0,
+0x724d00ad, 0x99a30966, 0xdb995b1d, 0xb92bc28b,
+0x237d10f3, 0x8762cd84, 0xafea01be, 0xd13a3222,
+0x14dd7cea, 0xd3b0c561, 0x0f4bd843, 0x4f89e98d,
+0x71ff42f8, 0x8375908d, 0x7504407a, 0x8b5052a8,
+0x1b0b8788, 0x11594ebc, 0xbd0e77f9, 0xf831601d,
+0xdde85751, 0xb97399f4, 0x96c3900c, 0x708c5c63,
+0xa32a36f7, 0x62b8b8ec, 0xea170c8d, 0x043c7fdd,
+0x488be205, 0x0df90150, 0x40708b04, 0xd5b03f0d,
+0xb1146ed6, 0x3b515652, 0x22754d20, 0xf9f6786e,
+0xf0cae207, 0xe700c941, 0xec0cc6ce, 0x58edcf3c,
+0x14f4171c, 0x097c9db7, 0x8c0fafb9, 0xc7e41774,
+0x28ca2805, 0x2c1924d9, 0xf07e7409, 0x3809db20,
+0xf02f3eb8, 0x23fd850f, 0x36a01100, 0x36007d81,
+0x121b0313, 0x13ba4e3f, 0x44540160, 0x21350ef9,
+0x61fac6ee, 0xfffb81ce, 0xbf053ff0, 0x109ab8a0,
+0xb93d041c, 0xd8c4672c, 0x10f96967, 0xb2379ba0,
+0x980770aa, 0xb1857a62, 0x26a3d001, 0x0a4d8713,
+0x91ccbca3, 0xdd0bc246, 0x07e06a83, 0xe1e83d52,
+0x07be14f8, 0xfc692c5e, 0xa11cbf56, 0x09802c2f,
+0x83e3245b, 0x14009d5c, 0x2c018add, 0xcac3012f,
+0x2addfee4, 0x22858d5f, 0x5576d839, 0xf60d91b2,
+0x5079dd5c, 0x0607ae57, 0xcc4dfcff, 0x85e83a2e,
+0x033be25b, 0x43f6087b, 0x80f0b003, 0x0f25146f,
+0x9e7d03b6, 0x7bf93d93, 0x021c8018, 0x868d0a54,
+0x8ab7ab77, 0x2f8d8bfd, 0x07eb4d74, 0xbca1c20c,
+0x0180df6d, 0x562a6867, 0x064ca8be, 0xac0b26cc,
+0x1ee5e8d5, 0x017d920b, 0x874523ba, 0x87b83d12,
+0x4faed285, 0x67412765, 0x6333a8c5, 0x57b873c0,
+0xccd0858d, 0x24482932, 0x2260070d, 0xc9750a1f,
+0x4eb62b0e, 0x8c8e882a, 0x41047d09, 0xcb179088,
+0xc020a44f, 0x80a3790d, 0x31ef96b8, 0x506f9859,
+0xc96b396e, 0x1ed8ab1b, 0x0109a8b3, 0xb1d94d15,
+0x3572f416, 0x2b7261d8, 0xfb1f521b, 0x310d8b79,
+0x091933d1, 0x1c5375c1, 0x0d8c4b7c, 0x5b77783b,
+0x7b730735, 0x6d5b7a03, 0xd95d071d, 0x8e1fc181,
+0x89f61d8d, 0x3a2942c8, 0xe1816419, 0xa7d4afb1,
+0xc5d90188, 0x8e3b292d, 0xebef006d, 0x6a20a139,
+0xc6295303, 0x1449dbbe, 0xd020d4e7, 0xa3cc15ff,
+0xfb160389, 0xf0418920, 0x3dbc10c4, 0x92050f14,
+0xe110fe90, 0xb49eac42, 0xcefc245c, 0xa0f373f2,
+0x04bd40ad, 0x06c1f60b, 0x181a0860, 0x1f719430,
+0xd452fde6, 0x105a2058, 0x6dd7d59d, 0x72e88a37,
+0x0bf70edb, 0x476d47c0, 0xcd2e0238, 0x7311d2f7,
+0xf6899bdb, 0x86023881, 0x1dd21ac4, 0xbd820a3d,
+0xea810627, 0x9fed3407, 0xfb12f40a, 0xe8197567,
+0x4c1bc9f4, 0xc86d0dee, 0xbf0f8de4, 0x0306e815,
+0xf0affe85, 0xb805491b, 0x1389c755, 0xc10be9f7,
+0xc1e1bed6, 0xf8220cfb, 0x8dc3291f, 0x568302be,
+0x6c6ed6db, 0x092a07e2, 0xe802a7c3, 0x8db7abed,
+0x030f8941, 0x0903ca29, 0x73620d78, 0x18e2d1db,
+0x800225db, 0x6ded0a27, 0xc839e181, 0xc2294309,
+0xdb1b141d, 0x5855f1be, 0xab050a79, 0xa1697f77,
+0x5e1b5004, 0x80fd8bc1, 0x463c1f3d, 0x3c7454ff,
+0xf00273e8, 0xcc3be833, 0x9812c6f8, 0x0c741bea,
+0x9503abaa, 0xe245fc16, 0x0bf40aeb, 0x92fdba05,
+0x3460d108, 0x8fc8ff52, 0x8c952b92, 0x36e12091,
+0xb7a9682e, 0xeb58348e, 0x2e74992d, 0x00b80ba9,
+0xf2726411, 0x83d06a1d, 0xc5733f51, 0xe81c3230,
+0x81a0ffbd, 0x921c723d, 0x7de82ed4, 0x48511c01,
+0xacc22a52, 0x1b6d3f4b, 0x1e3980bd, 0x8a28972d,
+0x7cdf5711, 0x8a82de37, 0xc238df88, 0x194341ce,
+0x07eefb13, 0xe6740ef2, 0x0f08018a, 0x138ac0be,
+0x16d08015, 0xdcd2079b, 0xc9c5ce5b, 0x8920edaa,
+0x8bab0803, 0x3562155c, 0x3053d660, 0x0550f557,
+0x183984d7, 0x56766512, 0x4d027f8f, 0x02ff833c,
+0x2216177f, 0xd0fec1fe, 0x3a80d901, 0x201b742e,
+0x0908e6c1, 0x6f6847ce, 0x0321de94, 0x2717ac7e,
+0x0410c8c1, 0x89e8fd08, 0x29c5026a, 0x464a43e8,
+0xadd86c90, 0xbeb5df85, 0xb7920a33, 0x093c30e8,
+0x60d01477, 0x92b6858d, 0x42a111b6, 0x12ee1391,
+0xec76e88d, 0x890bed05, 0x7e2bffca, 0xc7996244,
+0xeb12c349, 0xfd60e402, 0xe4c6c40b, 0x46c0d964,
+0x7402a804, 0x177ee809, 0x1acb7082, 0xf6e872bc,
+0xc3240180, 0xc235c831, 0xe8173615, 0xfeb613e0,
+0xe6d1b0fe, 0x08b1e864, 0x8160e6df, 0x740dd9ff,
+0x4b5b7b43, 0x701d89d9, 0xd420fbd7, 0x6f0aa2c7,
+0xffe2e80d, 0xb1b38832, 0x4bc02385, 0xb1bb8a18,
+0xa86c7007, 0x421a03e8, 0xf8c398d3, 0xfb81df6f,
+0xfb837415, 0xb302750d, 0x83d8890a, 0xefee0093,
+0x28c7dae8, 0xb2c0950f, 0xf4430c12, 0xa8ee5670,
+0x37058d0d, 0x89fb605c, 0xdeeb29fb, 0x81f0f60f,
+0x76fff082, 0xd4092a43, 0x7bb6bf05, 0x82778046,
+0x910cd7e2, 0x1b1502ba, 0x0cbe63a4, 0x7d418b66,
+0xbaddb170, 0x2723478c, 0xa10f5b63, 0xf494f81c,
+0x24df503a, 0x11825184, 0x0bafb9b6, 0x83198201,
+0x04648809, 0x8016a70f, 0xd0e0f0dd, 0x29168e39,
+0x08730776, 0xb32c3843, 0x04f62017, 0x0df74b72,
+0x64810afe, 0xfd8a9617, 0xba1debd4, 0x16a9d829,
+0xc3d96c0b, 0x1e20cd86, 0x26107248, 0xa956e837,
+0xc58950e3, 0x044104bc, 0x83d0b6c3, 0x8fcec9c2,
+0x801b7629, 0x98e08c52, 0x354ab459, 0x3308c436,
+0x6aaf5557, 0x87c03f01, 0xb72d6789, 0x90e8d9e8,
+0x74fe1be2, 0xc377e855, 0xe8241c85, 0x03024d0a,
+0x903b5482, 0xf55ec200, 0x752c2bd1, 0x8e00aa4f,
+0xdc65301d, 0x7c3d4820, 0x7a07080a, 0x6f1c7e44,
+0xab0bd449, 0x3e00ded3, 0x762a0f6c, 0x0cd60cd1,
+0x41b1b3c4, 0x0cb76c88, 0x478019f4, 0x07aa8043,
+0x019b5ca9, 0xf9f50545, 0xaf85ea07, 0x8a105c11,
+0x7614353b, 0xdd075d4c, 0x46130666, 0x6c9c1405,
+0x3ba06c0b, 0x2eebd8a8, 0x2910eb07, 0x95d857e8,
+0xed14b04e, 0x47720c3d, 0x6c6c6f35, 0x8916eb73,
+0x0a0510eb, 0xf417043b, 0x317dc03e, 0x0c4f2b2b,
+0xeb0d0405, 0x7c39256e, 0x7b191865, 0xa6db3780,
+0xf5297c8b, 0x08b5de18, 0x09784611, 0xa3b5ffff,
+0x4709190e, 0x406f82f1, 0xf1623c5e, 0xdaea736b,
+0x6051e02b, 0x680b4884, 0xa33c35e2, 0x1845868e,
+0xc01c8a76, 0xa1a29e05, 0x83d9c2dc, 0x49bf50ea,
+0xf0e2cebc, 0x725280b8, 0xf008ec19, 0x08897b60,
+0x0442ae89, 0x5b252810, 0x5d3e3fd6, 0x376d81c9,
+0x44c2217c, 0x66244108, 0x3b6c9d87, 0x084c1889,
+0x7a6b6810, 0xb7779294, 0x03034727, 0x31b1e947,
+0x9a83fc40, 0x2b1668e7, 0x762f4063, 0xc04b39eb,
+0x7dad2001, 0xec746d2a, 0x0d037856, 0xfbfc422f,
+0xf60c8cf8, 0x01812caf, 0x320d3bd1, 0xaf020d0d,
+0xa5908c49, 0x472dfe8a, 0xd431390c, 0xb73c9e21,
+0x01808384, 0x1505c8db, 0x5582ebef, 0x03281aa5,
+0xd7510453, 0xcc2360c8, 0x05085c20, 0x355f522b,
+0x17e548bb, 0x22fb0264, 0xd05b69e8, 0xdda10c26,
+0x379a10e6, 0x0b6d042a, 0x3dc23a1a, 0x1e8ebb23,
+0x06ffe018, 0xf00cf106, 0x88a9c160, 0x53dd475f,
+0x9faae035, 0x9129f32a, 0xe8c7136f, 0x68626c35,
+0xa0e012a7, 0x8c40b10d, 0x167480fe, 0x3dfbe417,
+0xb2680b17, 0x9215c11e, 0xeacf3d87, 0xf834abba,
+0xbe43b031, 0xc5680bdf, 0x53f48c1e, 0x17efb0c0,
+0x1ed1680b, 0x3da2536d, 0x0aa3bc52, 0xb86b3ee8,
+0x111e324c, 0x59578026, 0xfab84005, 0x27dd9c05,
+0x30e3653c, 0x6df6602c, 0x313bde9c, 0xbe6112c1,
+0xc070bd63, 0x1ef4683f, 0x35221212, 0x41342948,
+0x165aa117, 0x3ac04870, 0x6f412735, 0x0605811a,
+0x82637508, 0x52a361e4, 0x9529720d, 0x687be00a,
+0xc3f60ea3, 0x067b240e, 0xdb8a3f3c, 0x0bb18f1f,
+0x920e438d, 0xdaa52b92, 0x75854077, 0x19061d21,
+0xe0543dba, 0x8db60612, 0xa6503e8f, 0x71b41262,
+0x9bfb822b, 0xd08ab018, 0x54d33c86, 0x80edd88b,
+0x0ca545a7, 0x59551ca3, 0x238a6854, 0x6822feec,
+0xaabb9024, 0x5be915fd, 0x6c4488dc, 0xfcbfb855,
+0x7b0523ad, 0xcb3c5b08, 0x5b122f39, 0x6307a109,
+0x47de2c5f, 0x23b8261e, 0x2f12c010, 0x15461a6d,
+0xdbfe830a, 0xb4120ef3, 0x062b835a, 0x0c089501,
+0xea5fed48, 0x42fb4e27, 0x6cbd7440, 0x1e3c80bc,
+0xc0b10706, 0x04f423f6, 0x43b52d06, 0xa2ebedae,
+0x1206017e, 0x8471c6a9, 0x06bb001f, 0xbc041504,
+0x31030100, 0x686f503e, 0x49e84a3d, 0xd9cb2397,
+0x6804e30b, 0x352a13e0, 0xb1c02710, 0x22788d85,
+0x86d9897e, 0xeeb66d04, 0x34049551, 0x01b31024,
+0xe2ff0930, 0x1c6ade26, 0x92170668, 0x488361e0,
+0xe1b442d7, 0x7feed0bd, 0x3c33cb05, 0x8d685650,
+0x0d9f1046, 0x20ddf096, 0x14bb087f, 0x22ebbe7e,
+0x3b182959, 0x474a9a10, 0xc53cd710, 0x541c0319,
+0x57eb20d3, 0x8d2472df, 0x4506c6f3, 0x7d0379f6,
+0x6017c350, 0x03006c03, 0xc86c43c6, 0xa021fa29,
+0x43c74a24, 0x6140c504, 0x2106e00c, 0xac6ffe88,
+0x439d17e8, 0xf6a1c109, 0x681c2d3b, 0x43e8e027,
+0x09404542, 0x56e25b1a, 0xb1412da3, 0x5286430a,
+0x62c403aa, 0x5a026f24, 0xa15ba806, 0x9434b211,
+0xee40731a, 0x7e8db906, 0x767d2914, 0xee9ff961,
+0x47240807, 0x14eb8302, 0x7f5fdf86, 0xae6c56ba,
+0x2c588247, 0xd50618c9, 0xd221835e, 0x3f170602,
+0x460bef77, 0x661c87fc, 0xa366286e, 0x8ef7d8d0,
+0x565354c0, 0x50673c6a, 0xc5e0726c, 0x182d8db8,
+0x7d57e814, 0x802c789d, 0xc50c0543, 0x4449be68,
+0x8b06ac17, 0x1849f60c, 0x8a1ac40a, 0x0827e854,
+0xfe885a77, 0x3b0df4f0, 0x84751050, 0x8385b443,
+0xaec07eb1, 0x8c01948e, 0xc83f342d, 0x248e5b3d,
+0xeab54582, 0xb803acea, 0xadde1bd0, 0x4e450440,
+0x05980640, 0x263ceb8c, 0x91c5560b, 0xb4d60375,
+0xfdb1c1d1, 0x1cc0337e, 0x04b817fd, 0x1df8f1fa,
+0x352519d0, 0x1a9a0015, 0x1a18160b, 0xe884540d,
+0xd5afb710, 0x86899028, 0x8e81c554, 0xbd296a78,
+0xf3e8cd84, 0x55b00c3d, 0xca069c8b, 0xbd9fbb76,
+0x500646b4, 0x6836fff5, 0x9e68633a, 0x3394e81b,
+0x988e4b0b, 0x9e401f57, 0x316c8b30, 0x08afa0aa,
+0xb82c07a2, 0x02a467bb, 0xf405ff12, 0xc4460259,
+0xa02e0452, 0x7ccdf6a3, 0xfbb27380, 0x503b1822,
+0xf49ef607, 0x813c0062, 0xaf50e860, 0xb05ba241,
+0x03079d5a, 0x6dd824bb, 0x115a3db1, 0x07c75df5,
+0xfdaf1134, 0x50793ddc, 0xb78a1e66, 0xb13db001,
+0x5636a07e, 0x3e901612, 0x006a6c3c, 0xbbdb685e,
+0x35210a7d, 0x72f0af57, 0x1639ac66, 0xc5b7b09f,
+0xfa4108ed, 0xba8f2c14, 0x3b6f144b, 0xc1a16676,
+0xa303d083, 0xabc46009, 0x8ec17dec, 0xa2e82bfd,
+0x3885f60e, 0x40e9bc02, 0x8dee0d0d, 0xc15911db,
+0x18417a0e, 0xf6588d17, 0x3092e808, 0xc48614e1,
+0x1c14431f, 0xc40bdd80, 0x74051a35, 0x0e7f041d,
+0x56a66c03, 0x477bf7d9, 0x26176e9e, 0x06f87f63,
+0x94e92d74, 0xb11e2a01, 0x4586518d, 0x5220db9b,
+0x0b9551e5, 0x47b6ef23, 0xc6deb6eb, 0x67268d27,
+0x446aeb28, 0x6c2aa16d, 0x0edb16b5, 0xa8bad42b,
+0x46a900e9, 0xde251b25, 0x553e0c87, 0xfb7783ad,
+0x5bc02e04, 0x55737439, 0x65681037, 0x60e01b58,
+0x91f21af5, 0x80522975, 0x4402627a, 0x8ac207a2,
+0xe0b743c1, 0x23cf77a4, 0xdbffaaa3, 0x8a188040,
+0x63f02e7b, 0x39a5c237, 0xcb81ab69, 0x107e6bff,
+0x1e331869, 0x0f363be3, 0x854bc08d, 0xdd3444f1,
+0x089e0805, 0x93076d03, 0xa081f3e7, 0xec212212,
+0x04e108f5, 0x008dc091, 0x6a19e2fc, 0x08242006,
+0x35f093ed, 0x3b42f3db, 0x4b75d039, 0xd8370b06,
+0x82a1d3de, 0x775e0258, 0x7a202f3c, 0x6a5a39ee,
+0x064f28c1, 0xd0bb4358, 0xfe426158, 0xaec04405,
+0x300cd89a, 0x0c11109c, 0x08db0aa9, 0xbff83058,
+0x8c37a1f6, 0xdec3bdee, 0x200ecdc6, 0x8438c745,
+0xb1206a9d, 0x833ffb4e, 0x1ee00d3f, 0x4b1aeb1d,
+0xc1d07b08, 0xd444928a, 0xdb0785c6, 0x9b3b80c2,
+0xde3c0432, 0x84b0ba84, 0x7b6809e1, 0x84028625,
+0x568d23f1, 0x04f743e0, 0x3c2801b0, 0xf896b03c,
+0x70d801c6, 0x02788002, 0xa429ce6e, 0x08701087,
+0xb920615b, 0xf160d86f, 0x02a80238, 0x58df152a,
+0x1981c58d, 0x05e45c15, 0x221842b7, 0xdb0250db,
+0xdbaa0cc0, 0xc231b804, 0xeb01c842, 0x52b10290,
+0xf90d689c, 0x31bf10cf, 0xbc2f0b3e, 0x3d5ca685,
+0x360fab3a, 0x758a6c53, 0x73838dff, 0x4c572baf,
+0x85aa0316, 0x160ad17c, 0xc03a896a, 0x42df53a1,
+0xe8437c3b, 0x3bfff7f9, 0xc16ce300, 0x50d0fba2,
+0xe3e82c68, 0xdb64b915, 0xe9d989b7, 0x2c723546,
+0x58142490, 0xcbb045e8, 0x23583562, 0x49d98622,
+0x1c7badbc, 0x22c55457, 0x891d85c5, 0x571920b1,
+0x39aee8c4, 0xd0728344, 0x55b6aa85, 0xd91b6c3f,
+0xa9a3588b, 0x6c37eebf, 0x3860d418, 0x5a1fb906,
+0x1879e4ae, 0x10f8f4a3, 0x60c5d86b, 0x27a3d40b,
+0x02bd7007, 0x29904167, 0x2889c17e, 0xbaeff04a,
+0x7ff869ff, 0x53f4117e, 0xc9d1f82e, 0x00057e57,
+0x29f142d1, 0x18bfb861, 0x000021e0, 0x8c77dfad,
+0xef096a17, 0xfeaa33eb, 0x243b028a, 0xec38923c,
+0x21984a04, 0x43c052f0, 0x1bc83535, 0x20fe3b1d,
+0x6cec812e, 0x0488a013, 0xdf3b7ba2, 0xa1a86caf,
+0xae6d0a84, 0x136ea208, 0x19e43b80, 0x08706f86,
+0x0733c8a1, 0x024072c6, 0x4ffc002d, 0x04013cb7,
+0xe8063e3d, 0xffffb688, 0x24d4e3f6, 0x2720e60d,
+0xc6880fe8, 0x3822c420, 0xba400315, 0xa337ba84,
+0x67443004, 0xa10ef864, 0x6720850d, 0x08847464,
+0xf328d1f6, 0x3616ca51, 0xfcb76323, 0x38169040,
+0x4b9c8db3, 0xf716cfb8, 0x680d1d01, 0x9c273468,
+0x75b50c28, 0x9d23c616, 0xd4e84b49, 0x04e88c41,
+0xb3c2d541, 0x28ee55ad, 0xe0bf5673, 0x26d8ceda,
+0x254f284c, 0xfe513753, 0x21c50f0a, 0xf9582cd0,
+0xc16a436a, 0xb1df163f, 0xf777e8ff, 0x6a46565f,
+0x0c03e824, 0x13e1bf89, 0x00b587a8, 0xc6df01c7,
+0xa8bd6805, 0x07a1d5d0, 0x032c7edb, 0x116b4eb0,
+0xce09d8c3, 0x72b29a03, 0xc0b6bfb7, 0x35602b3f,
+0x2bc329fb, 0xc0fad47f, 0x151561d7, 0x0fa28555,
+0xfc37421d, 0x3a050b4e, 0x0231c83d, 0xb0e80a74,
+0xc0235cb6, 0xa7c88512, 0x426109c2, 0x1f963375,
+0x2840ec15, 0x33696170, 0x6464167f, 0x6c2d16ec,
+0x683d16bd, 0x99391983, 0x61514370, 0x490e4679,
+0xaa1f3a9d, 0x1b004dbb, 0xac248a04, 0x1d54ec55,
+0x88502608, 0x3519e2a4, 0xed439094, 0xe2410acf,
+0x1acf4421, 0xbbc902b3, 0x10175874, 0xa605ea01,
+0xabe401e8, 0xd7090088, 0x86caf68b, 0x9df86610,
+0x7d86ac1e, 0x68457ec0, 0x86f89120, 0xab00001e,
+0x032603b0, 0xa88e3018, 0x1ad7591b, 0x242cc1db,
+0xbecc68b9, 0xc85e1e44, 0x8fe8fd80, 0xb6fffff5,
+0xec01fc18, 0x802c3a97, 0x7e13a105, 0x933d80a9,
+0x5b509c3e, 0x94c329a0, 0x0e1b4ac4, 0x230a1076,
+0x742110c4, 0xf8edc036, 0xc0b3118c, 0x82838b30,
+0xfbe60405, 0x808338ed, 0x34ae6807, 0x02b10415,
+0xef441d63, 0x07a811ea, 0xa1cf1d6e, 0x845d890a,
+0x4ca93016, 0x6903ca93, 0x9901c232, 0xd03cb71d,
+0x5e0f86d6, 0x1187bc59, 0x842b496a, 0x91c3dcad,
+0x042474c5, 0x4efcc149, 0x02be981c, 0x54688f9f,
+0x3e88676b, 0x901a8e19, 0xfeeaa30e, 0x09c11304,
+0x3273f789, 0x0d8efe10, 0x2b35ff04, 0x35f459e8,
+0x9c84e426, 0x00c608e2, 0xc6ee268e, 0x0b33b1a0,
+0x22bb8e0f, 0xed11bfe8, 0x04b23de8, 0x39ba0c03,
+0xf738e38e, 0xaf5dbbe2, 0x26021fba, 0x24fe832c,
+0xbd59fc30, 0x8115059e, 0x29f0ccc4, 0x1c357816,
+0x250c240d, 0xe03d7016, 0xa49b9043, 0xb6a4fb8a,
+0x0788c5ad, 0xe883c011, 0xc12e4b14, 0x3d12388b,
+0x49e74e92, 0x829815ca, 0x2dc0e114, 0x5023742c,
+0x33211478, 0xe0ac691a, 0x150c4301, 0x4b10270c,
+0x7f11586a, 0x61f05785, 0xb184e8d1, 0x0a4175ef,
+0xa5c88aee, 0x9eb175e8, 0xd087dca6, 0x206aee91,
+0xf141f3e8, 0x8ea03aeb, 0xbf5a263c, 0x2e3b254f,
+0xbe0907ab, 0x4ae9cf76, 0x760dba02, 0xded77ec1,
+0xfc089c16, 0xc1c3cf42, 0x2a099ce3, 0x0d782444,
+0xc7bdc309, 0x24389581, 0xe9d61d58, 0xdfb7cc21,
+0x8d47477e, 0x428a0e6a, 0x3c45bd0e, 0x2f81770a,
+0x0a2d0e52, 0x147714b4, 0xfe8a3238, 0x04c1ba84,
+0x551cfd02, 0x6fe65ce8, 0x8a444e22, 0xf766c709,
+0x33a00645, 0x1a3fb6da, 0x40a84c2c, 0xc7e9f441,
+0x7468c911, 0x84188a03, 0xa2f8bfa8, 0xe90c421e,
+0xee457022, 0x2c4fbbba, 0x3205dc3d, 0xfbff0e8f,
+0x14ef6e7c, 0x7bfa2389, 0x3c744e89, 0x508dbea1,
+0x51b05922, 0x748dbeff, 0xa8a10e01, 0xf929c189,
+0xad0b0709, 0xa4b350dd, 0x36170eeb, 0x15f70a84,
+0xfd37035b, 0x0547fc0e, 0x1146ff26, 0x6360b581,
+0x11097d80, 0xc58e5d75, 0x54ce0583, 0xc6cb358b,
+0x51ac9122, 0x04567ddf, 0x860bd686, 0x5c2eeec6,
+0x8687b834, 0x7e839bfe, 0x1f61c0a4, 0x892674e8,
+0x74ebfde3, 0x8d3eceaf, 0xb75db857, 0x9f59c817,
+0x004da980, 0x455556c9, 0x73395678, 0x8e54033a,
+0xd985bc8f, 0x066e4e6b, 0x6e892c2c, 0xdd630b45,
+0x2deefe1f, 0x4c664de2, 0x883782c7, 0x267527c3,
+0x1a183056, 0x00088a15, 0x72442168, 0x7f3eb6db,
+0xec3f018d, 0x601fb389, 0x0eef5736, 0xb502eddd,
+0x3a6706c1, 0xff56905d, 0x6dfb7019, 0x1649b456,
+0x20c58356, 0x0c19cfbf, 0x795808db, 0x2c21bf92,
+0xa018b6e8, 0x570faf31, 0xa31e2957, 0xec3e2ddb,
+0xfd80e96e, 0x5602a638, 0xd7fbc40d, 0xd11428df,
+0xb1df864f, 0x550d3a00, 0xfbebc152, 0x158a1873,
+0x7a21b807, 0xf52ff56d, 0x36410874, 0x72d13844,
+0xb0f980f3, 0xa5de3645, 0x1a75249e, 0x09a20143,
+0x23b7d154, 0x0406a9a0, 0x33851c0a, 0xb3ecbebc,
+0x500346bc, 0x85048d1a, 0x0a32fb06, 0x1913042e,
+0x53565751, 0xcb200c7f, 0xcd86c10f, 0x20081db3,
+0x43b3cd2f, 0x3a6efbd3, 0x724c8b1d, 0x0cd343c8,
+0xff587111, 0xf889fb79, 0x853c8df8, 0x3da43082,
+0x27ff457a, 0x02468ac8, 0x02763c3c, 0x237c3cb0,
+0x57b59c97, 0x6a82d3a8, 0x91e906ba, 0x5f5e5b18,
+0x704a5cd3, 0xe88d8810, 0x7cdc78ae, 0xb42a5a57,
+0x57a4605a, 0xa094e0b6, 0x74328c6d, 0xf90b5397,
+0xdd0487b0, 0x6c09bfc4, 0x210b0130, 0x38080789,
+0x22c19f01, 0x8a4046c4, 0xb9086f18, 0xfbb60f60,
+0x5d04c3dc, 0x015986e9, 0xd4312675, 0xf0790b93,
+0xee838717, 0x4a85bb1d, 0x77b04d81, 0x760ca03d,
+0xa21d3d76, 0xd6b3a622, 0x1caca190, 0x18e02c06,
+0x503cff6c, 0x1588016f, 0x3335c920, 0x02b98778,
+0xa34056ff, 0xd2de9504, 0x351db0fb, 0x81b7ba8f,
+0xb0522da8, 0x84e31bec, 0x0d54c255, 0x1b46c714,
+0xaedd409a, 0xab9ca9ad, 0x0a10038a, 0x6fbad4bf,
+0xe94306b8, 0xba800f84, 0x890d75cb, 0x87db89df,
+0x161d87df, 0x3d1370e9, 0x697517b4, 0x6335b508,
+0x2522237b, 0x80381be0, 0xdf76fd9d, 0xe78cb868,
+0x3334a416, 0xc873ff4b, 0x75032c35, 0x017b8025,
+0xc1117b03, 0x02ecb53e, 0x9c3d0000, 0xdd3da9e8,
+0xf6d9f004, 0x75128501, 0xe6e9df09, 0x17d87701,
+0x81364d92, 0x51000000, 0x8bf62515, 0x7535f00b,
+0xa3024c0e, 0x2abbe960, 0x5ec2640d, 0x36ac5a75,
+0x0e2d60d8, 0x876eff35, 0x873d2b33, 0x0c1d260c,
+0x35a12ebf, 0x60a3b022, 0x0f08bcc2, 0xf61b6ffd,
+0xff800158, 0x75082573, 0x02738d2e, 0xbf858b34,
+0x01016b20, 0x54ee39f5, 0x46813737, 0x4dd5b073,
+0x20bc16e2, 0x70ff6033, 0xee700386, 0x1ae9e872,
+0x4192353d, 0xf909c90e, 0x97219100, 0xdc30649d,
+0x2a3faa00, 0x36dfdd00, 0x2f752b46, 0x06e00b06,
+0x53158efc, 0xb2ff6a5d, 0x647d6a50, 0xeb373363,
+0x94f2184c, 0x650dc647, 0x968085b0, 0xb1287605,
+0x780cf20d, 0x3bb59020, 0x523b0e15, 0x061fb683,
+0xeb217b6b, 0xe1143456, 0x7581f874, 0x1e281e13,
+0xfb0e43bf, 0x9f3ceb27, 0x962b2a33, 0xcae46475,
+0xb47f23b6, 0xdab45298, 0x1917a971, 0x9b0203d5,
+0x74876482, 0x89fdec7b, 0xac05d13d, 0x044facbf,
+0x06702ada, 0xb51948c6, 0x305d6825, 0xc0854a42,
+0xd320674a, 0x33650d59, 0x12341832, 0x04378b74,
+0xf0e0fd20, 0x4efa2474, 0xe4a91187, 0x70098e59,
+0x64230418, 0xbf5c9110, 0xc64920e0, 0x7e0786eb,
+0xf807b905, 0x38402605, 0xe8e3d36b, 0xdf80df66,
+0xc7b62de0, 0xd1f61c71, 0x29f9f799, 0x38009a84,
+0xf19b9136, 0xc9114822, 0x9a09bfc0, 0xf541bf5a,
+0x547883c8, 0xf6197601, 0x2b6a0648, 0x71f7c6c5,
+0xefff7154, 0xc7ca8211, 0x3922d519, 0x2a776870,
+0x0d390572, 0x58f77823, 0xbd237764, 0x58428b20,
+0x897c1430, 0x410335df, 0x68511364, 0x77067272,
+0x01db7022, 0xe81e51be, 0x7007e007, 0x2db567ff,
+0xff772a6c, 0xa7c41152, 0xc1482dc2, 0x5028a502,
+0xae962771, 0x09532981, 0x136c2840, 0xf119222c,
+0x1346e830, 0x61a09187, 0xbb0c8714, 0x709faaa9,
+0x00bdcdb0, 0xc5393001, 0x08c16373, 0x0e24613a,
+0xbdff01e0, 0x11ebeffb, 0x7239add6, 0xbd117760,
+0x0a775c5a, 0x5c582bcd, 0x01f5701b, 0x5260b58f,
+0xfee6e89d, 0x2b151853, 0x1443063a, 0x5fac1d45,
+0x30745bd0, 0x797bb172, 0x02b0cf12, 0xcc68713e,
+0xdb0fe2d4, 0x6c8451ce, 0x82449d08, 0x6da2ce2d,
+0x5a545c79, 0x0df420ff, 0xb58dc11f, 0x89b6fbff,
+0x50d829e8, 0x475bc016, 0xe8060174, 0x3d26d698,
+0x6f621bd0, 0xdd75f339, 0xd15e18d8, 0x8bf294ec,
+0x61eaca6c, 0x8c2851e1, 0x36e838fe, 0x99cc2ee1,
+0x4848304c, 0x401ce989, 0xeb1407f0, 0x95df11ce,
+0x7d9ece43, 0x70f87839, 0x74560b70, 0xbd2912ac,
+0x6768df01, 0x06435fc5, 0x94e8033c, 0x267987fe,
+0x97aa4145, 0x46fa3510, 0x835a09e1, 0xff03e01d,
+0x22ab4c40, 0x4f648fd5, 0xe02c85b8, 0x83ba07b7,
+0x02471c7a, 0xc7784288, 0xdf007442, 0xc3f42c3b,
+0x0a5ca8c5, 0xff361f26, 0x9f42e668, 0x8295b40e,
+0x122d7866, 0x0cede037, 0x4920aa7a, 0x1734de30,
+0x8c3751de, 0x380e5f74, 0x10b93c61, 0xc9ba2a00,
+0x3c382a82, 0x801e253c, 0x392841df, 0x2a2476c1,
+0xed0a4c41, 0x6051dbd4, 0xd283f045, 0xb72b1f1c,
+0x20a6d86d, 0x8c3dda11, 0xe8d13840, 0x63e2b84a,
+0x8174512a, 0xa39a48e2, 0x45ee0b06, 0x50d02934,
+0xee15f618, 0xe887c513, 0x50226dbe, 0x0729aa9f,
+0x89cfa520, 0x5409bf62, 0xfef88327, 0x2f2d2274,
+0xec745203, 0x10902168, 0x575d10c5, 0x91a5a931,
+0x4c6248d8, 0xb70549d0, 0xc5c02652, 0xf13631c5,
+0x91ea22a2, 0x8da18865, 0x83a3144e, 0x9ea759d8,
+0xe1945a23, 0xc7b34358, 0x3a3f7b5e, 0x93e83fb9,
+0x30ab88fd, 0xe1d557b4, 0x90d87926, 0x3234ec83,
+0xea1e7060, 0x2d7437e1, 0x1886fe68, 0x0d750cfa,
+0x2c7a0065, 0x75488544, 0xa9bb2ef5, 0x78ab206a,
+0x6a20b33c, 0xef91ea84, 0x54020fa0, 0xc98b0d50,
+0x5cbe109e, 0x82e06d8a, 0x44922ba1, 0xee0f995e,
+0xa1087198, 0x0487730c, 0x0e4040eb, 0x3025211b,
+0x41fb7325, 0x0602641c, 0x9610cdeb, 0x497149ac,
+0x7e0c6bb5, 0xde1d910c, 0x920addb1, 0x8c3f5028,
+0x6844e7dc, 0xca45fdb0, 0x0405742b, 0x7836722d,
+0x08f4f720, 0x36a8f00c, 0xdec86741, 0x20244424,
+0x28a9513a, 0x2e789b10, 0x406a01bd, 0x25ea9b7e,
+0x930bf278, 0x8cef901c, 0xd8194326, 0x20d17ceb,
+0x9f001b14, 0xd8a27c2b, 0xa1159a19, 0x2005c012,
+0xcfed0877, 0x14b59f4c, 0x141d6009, 0x102d6e1f,
+0x0a5149fc, 0x3dbf075e, 0xa36b95e8, 0xf7fe3120,
+0x94749931, 0x72381d39, 0x783589d9, 0x548af79f,
+0xa308f603, 0x9f309f74, 0xb3d27094, 0x1718a64b,
+0x909ab548, 0xf0f1d114, 0x7cdf8b9c, 0x9b776c1a,
+0xbab38e02, 0x34fa361c, 0x39567305, 0xea36944a,
+0x8b477532, 0x75af4b0b, 0x5c91ec63, 0xd3b938eb,
+0x2d7ed27a, 0x16a97dbf, 0xc83c2d46, 0x6c051e75,
+0x177502c8, 0x513ee6c1, 0x161c503a, 0xc446c809,
+0x0ddfedff, 0x6beb0842, 0x104a3941, 0xd87ad37f,
+0x55b3d108, 0x539caa72, 0x37ba4169, 0x187a461d,
+0x7008e9c1, 0xedc45630, 0x39212893, 0x1b749454,
+0x89592ca9, 0xb1cd14d2, 0x04065f63, 0x590b9b2e,
+0x352c1bc1, 0x76097061, 0x1013002b, 0x835b002f,
+0x1ca9441e, 0x1b78808d, 0x6dc37047, 0xdb464085,
+0x741d1c52, 0x1a3c6edc, 0x031a5808, 0x2b001970,
+0x6c043546, 0xf8cc0eed, 0x1adbfbf6, 0x8723dbe9,
+0x441cbc54, 0x031a42c6, 0xa0c60ac4, 0xe7df8619,
+0x5b1177a1, 0xf3e6b1fa, 0xe8fefe81, 0xf5477b04,
+0xc32d9187, 0x49137507, 0x1bc67173, 0x2396e84e,
+0x9a510b0d, 0x7a8600c0, 0x4859890f, 0x49a0b9a9,
+0xf31db357, 0x1e82e6c6, 0xc43ddf4d, 0x1e060ad1,
+0x3dc28098, 0xf759cdd7, 0x0406e881, 0x380a0466,
+0x0ae5ba08, 0xe89b7a64, 0x021b1826, 0x54d64d4e,
+0x5022be9f, 0x6c0f7702, 0x2cc0f505, 0x0ce86403,
+0x819d76c0, 0x92f22837, 0x88aad75a, 0xda22ed5a,
+0x88f8dc25, 0x0289e5d0, 0xa96c774b, 0x638b9d5b,
+0x20620642, 0xd0703e30, 0xf2c15734, 0x5fba3026,
+0x1d071db1, 0x146a8f14, 0x6071391d, 0x3c80cee9,
+0x1c0c6418, 0x0cb1ba4e, 0x1f56115c, 0xe80e2819,
+0x83e2247f, 0x1174fce2, 0x0d7401a8, 0xd6c1becc,
+0x8bd089de, 0x24c6f533, 0xcc7e24fe, 0x86f03a1b,
+0x6a531705, 0x1902163d, 0x0b448850, 0x6e1a0474,
+0x6486395d, 0x1736685b, 0x3c1f19b1, 0x2bdbe13d,
+0x4f448a4f, 0x27eb18cc, 0x4770f043, 0x909e0c28,
+0x8dfc6f86, 0x09c78470, 0xb0ff8147, 0x2c0e4f82,
+0x4206eb40, 0xd506b400, 0x2df34d77, 0x435c43a7,
+0x16be661d, 0xb51cc883, 0xc405826b, 0x18742139,
+0x6cdd6c20, 0x83ac26c2, 0x0d18053f, 0x80ec3f02,
+0x05bc21a0, 0x4016771f, 0xb09b3110, 0x0c353b1c,
+0x6f82a041, 0x67cdf80e, 0x571723ea, 0xd3462a41,
+0x661c3500, 0x073ea647, 0xdc11618d, 0x5bebfc0d,
+0xd072a730, 0xbf068a17, 0x578d4175, 0x01935429,
+0x3a529fdb, 0x8a9ea998, 0x104c2a20, 0xd80a4984,
+0x0f9b04f5, 0x7003072d, 0xebd9e276, 0x09f04c1b,
+0x10783ed6, 0xbfd80049, 0xac84d801, 0x45593630,
+0xe510a774, 0xcd4ac0d2, 0x276c2b06, 0xd8b03c14,
+0x17d4c9e4, 0x1d9a20fe, 0x168b8bd8, 0x46db2e9a,
+0x3dc600cc, 0xcd05ea0c, 0x067c63f1, 0xf7c2a5f0,
+0x3fc221da, 0x90c3c909, 0x3af4d080, 0x8c2d805c,
+0x0030bef4, 0x06880e58, 0xa0841a54, 0x0a6b54d9,
+0x674cc00e, 0xd3847d97, 0x289f0d28, 0x7520b82d,
+0x19cd1fee, 0x3b017f09, 0x25c751d6, 0x25346ab9,
+0x93dfd9ba, 0x2723ebc8, 0x4a88e90c, 0xe35b1424,
+0x4ea34064, 0xce64e2dc, 0x021df7b5, 0x5d763f0c,
+0xbe1ece80, 0x064c032f, 0x52500bec, 0x630a742e,
+0x2f36f02f, 0xf8095834, 0x40619e74, 0xbb603603,
+0x5052318d, 0x075c462d, 0x23830c38, 0xa772a377,
+0xa8f81d28, 0x0319bbdf, 0x11047c4b, 0x7d73b365,
+0x3633d9d7, 0x05371955, 0x1d10c314, 0xe20b0c04,
+0x83afe272, 0xcdc25c5f, 0x32245ed0, 0x58cd5968,
+0x0aec1808, 0x15be7e2c, 0x21c0dbdb, 0x244651a7,
+0x6a0c0637, 0x3b18b42b, 0x7b20aa1a, 0xa5f60b84,
+0x03830a85, 0xfb2a1510, 0xd5fb1f52, 0x617f3b81,
+0x3a8b038b, 0xd2751046, 0x6e9db42d, 0x20462b14,
+0x02700776, 0x095afb85, 0x9d58a366, 0xdcfc0420,
+0x0c158902, 0x0bf6bc56, 0x1474ed68, 0xc0f15031,
+0x82b15389, 0x176e8a91, 0x48dc30f1, 0xdbd54cc1,
+0x21c66f7a, 0x01501f67, 0x5c1cff90, 0x041c8324,
+0x6ef87118, 0x1d048c97, 0xff0120d4, 0x9a508143,
+0x43430b33, 0x10228507, 0xa7201ccb, 0xc25ec13f,
+0x9f1076d6, 0x10c42620, 0xb092e03e, 0x691c226c,
+0x41dbf608, 0xda2551ad, 0x09044618, 0xa46c613a,
+0x08b20606, 0x0843841e, 0x08bd87b7, 0x19531c1b,
+0x39392120, 0x68d43221, 0x127e28fd, 0xb48b6c21,
+0x24bcea24, 0x53008d4b, 0xe81086b7, 0xbea85661,
+0xfa250802, 0x0ebacc14, 0x068abf15, 0xe9470788,
+0xddbe1061, 0x1d0512d9, 0xb156d30c, 0x1b0f4613,
+0xb01e68ab, 0xf676090a, 0x6f605fe9, 0x01752e40,
+0x45757318, 0x2b24848b, 0xecc1bdd7, 0x186c0683,
+0x65783b80, 0xf9b6315f, 0x8a0773b0, 0x700feb03,
+0xceefa603, 0x43701a4a, 0xe9da7529, 0x4669023a,
+0x8c0701a8, 0x1c5128e0, 0xc7bc3dbd, 0x097523bd,
+0x0d465a11, 0xb708756c, 0x178f6fd9, 0x0c13eb46,
+0xb90e7568, 0x030a170c, 0xe17d94b1, 0xc89104bf,
+0x75783c20, 0x7e1cf97e, 0xa1639113, 0x11ebeca5,
+0xe2cd8712, 0xffb76fad, 0x74727c6e, 0x0045c60e,
+0xd0884530, 0x09885843, 0x40c98545, 0xa752c4f0,
+0xf7d8fb79, 0xcffc36ff, 0xab84808a, 0x831ad009,
+0xe87904e9, 0x9f015ce9, 0xfbdd6462, 0xa4850f64,
+0x5e177152, 0x0fd8120b, 0x1615eb70, 0x711b8131,
+0x730979f7, 0x4ff7452d, 0x3603eb89, 0xb9f70250,
+0x05c8210a, 0x6f6e8a1c, 0x0403e42f, 0x70558830,
+0x006667b8, 0x896e6cf7, 0xf725e04c, 0x11038b79,
+0xc1ef4170, 0x5d3202fa, 0x2589f035, 0x8dbe75fe,
+0xda39ff55, 0xbe18c312, 0x6f847b0a, 0x88026ddf,
+0x124a430b, 0xafe9f177, 0x4675404c, 0xe261118c,
+0x049f2c00, 0xdacadee4, 0x2276d88b, 0xbba0500f,
+0xa1b62bf0, 0x55f29568, 0x0e805f12, 0xa9c5631d,
+0xe277240b, 0xc253dd4d, 0x4a64ebdb, 0x4d3d7521,
+0x8806538d, 0xa787d820, 0x0492e542, 0x419968e3,
+0xc93035d2, 0x72cc3b86, 0x0fef2241, 0x7563e12b,
+0x06eb5d30, 0x9c07068a, 0x947378c2, 0x2573eb90,
+0x03d12a3f, 0x249b78fc, 0xe746db72, 0x17671885,
+0x2e30f12a, 0x0200c603, 0x0c11842b, 0x270e62d8,
+0x6010d46c, 0x51c07888, 0x87a0b0c4, 0xb4fcc4aa,
+0x4cc1145d, 0xaa081b5e, 0x60828c95, 0x40dbcb19,
+0x5c563dbc, 0xb200b01b, 0x938a30cd, 0x7d2ff46e,
+0x84464716, 0xd28426ae, 0xd0382274, 0x2ec188d1,
+0xc626ffdf, 0x20488d03, 0xd188c888, 0x4a0bc2f6,
+0xcd4138ca, 0x034fa5f4, 0xcdd0754b, 0x2a4c1f02,
+0x5f5eb576, 0xafcbeeed, 0x8afc56c6, 0x01884202,
+0x6df6ed41, 0x72a9c3ab, 0xe6320315, 0x7da15bdd,
+0x834ade89, 0x20ce8ffa, 0x23430388, 0xa6827bf0,
+0x53edbd46, 0xa63d4c49, 0xd3a0a5e0, 0x4206742e,
+0xac05c834, 0x4b24fabd, 0x82365e48, 0x4c5fafba,
+0x2769d648, 0xc0dac7f4, 0x742c4e2c, 0x05754912,
+0x0f60b0c6, 0x0aeb7ebb, 0x63ee7511, 0xedb5f0a1,
+0xc388565b, 0xdb181a2a, 0xc1f0a527, 0x7eb1562f,
+0x38845fc3, 0x154a0910, 0x793f20a0, 0x5a08cefb,
+0x200f401b, 0x201f5c30, 0x21c2cc02, 0x0cf2df00,
+0xaefeec6e, 0x8d49d1f7, 0x0a351904, 0xf7736f48,
+0x17201bda, 0x89394510, 0x1a2384c8, 0x11f2537b,
+0x6fefe805, 0x050b20ac, 0xc829f461, 0x102474d3,
+0x4900dc11, 0x8925b81f, 0xf63dedf2, 0x8a136c37,
+0x740a3a08, 0xebf6db08, 0xe04d0605, 0xd8fbfb10,
+0x404309eb, 0xd889db3b, 0xda2359d1, 0x72cf83d1,
+0xd862da89, 0x0cac64d8, 0xe72b1137, 0x2fb7d193,
+0x326b5bd8, 0x8b0ff985, 0xa816741d, 0xfa036086,
+0xbb708640, 0xd1e456da, 0xc14dc4c5, 0x1ee8c711,
+0x1f05bc42, 0x211eeb04, 0x8099f08c, 0x98089d11,
+0xb1400471, 0xa36755d7, 0x743b8d26, 0x1ecb19d8,
+0x34301953, 0x64963b24, 0x06892f57, 0x2b8230ba,
+0x1361f022, 0x5e143d0c, 0x0bf0aee1, 0x4d5b0c1a,
+0x24812316, 0x60082437, 0xd6821318, 0x6da26894,
+0x11a1a963, 0x01021398, 0xb82fc24c, 0x4143e56e,
+0x2fef754e, 0xd1b70554, 0xe2904062, 0x45b4210f,
+0x570d4adc, 0x7578a5c8, 0x3e1034f1, 0x5c6ea6c0,
+0x8ed1d8e5, 0xe71829d0, 0x74bacd89, 0x7fd3eb3a,
+0x348878ca, 0x39ce8906, 0x4e187ce9, 0x462e8555,
+0xa824a054, 0xe13452f6, 0xeed2d2a5, 0x5784e87d,
+0x2c1815b1, 0x2b6649a6, 0xdfde3417, 0x428a208f,
+0x89384201, 0x160bebd0, 0x8a8e8ab2, 0x0c8fb420,
+0xac87f457, 0x7277011f, 0x8f803d83, 0xc5525c83,
+0xeb02fd16, 0xf101d858, 0xbf3d8053, 0xc60c7567,
+0xc1820d94, 0x9911572a, 0x788def10, 0x01c8e414,
+0xab3116a3, 0x8d943a03, 0x80627b0a, 0x14d9560d,
+0x0595d554, 0x768d52ab, 0x72ebb70a, 0x45305f40,
+0x82041ae8, 0xfaac0140, 0x2741590c, 0x01bb60a9,
+0x01186f88, 0xb82d0828, 0xa229e807, 0x6db6fbed,
+0xfe682141, 0xffe80957, 0x14eb0bfe, 0xde0895b9,
+0x4e08ff84, 0x80a2bd0a, 0x89f15084, 0x8037e2d8,
+0xbb3eddd7, 0xd0bfcba4, 0xd1ff9549, 0x99208a96,
+0x0a009d06, 0x571006c5, 0xf163e396, 0xc1667c37,
+0xc58908ea, 0x53380ad9, 0x00ed1e1a, 0x1838685f,
+0x47c73174, 0xa4250688, 0xad18b18a, 0x5ad69cc7,
+0x420e0828, 0x81323b1b, 0x89f2bb15, 0x005588e8,
+0xe9036200, 0x1c71ab06, 0x93b2177d, 0x0a0391b9,
+0x5b083008, 0xec0adb2d, 0xfee938c2, 0x71bb5b2d,
+0x2d611325, 0x844d248d, 0x7382008d, 0x6cad4547,
+0x5b2d840b, 0xd81d2d17, 0x47ee08b7, 0xffffcf0b,
+0xa9001037, 0xdc6891e4, 0xfb2641fd, 0xad694882,
+0xaa9e0c2e, 0xcde9c45f, 0xd20a43ef, 0xf447f053,
+0x89d0b18d, 0x66032bc1, 0x04587983, 0x0fee06dd,
+0xa8796c27, 0xe9ec7239, 0x04412aa2, 0x42c60251,
+0xd70916f0, 0xc9ba090d, 0x6dd277fc, 0x037b80f0,
+0x064d15f4, 0x94112204, 0x2bc2722a, 0x02651115,
+0x173475da, 0x5e067f04, 0xa01851c0, 0xfeb78614,
+0x43ddb4dd, 0x08af28eb, 0x06b82d75, 0x35b82606,
+0x14741080, 0x84dc1f68, 0xbecbf00c, 0x29c63c8d,
+0x0ceb0ee9, 0x5616eb8e, 0xb84a4751, 0xcda23a44,
+0x0a13e922, 0xc7f182fe, 0x9a340300, 0x6d080e12,
+0x2c32fca9, 0x0b38a169, 0xdc5f029c, 0x1d8845e2,
+0x23fad5f6, 0x5c545b07, 0x4b821161, 0x204a5e54,
+0x7495f107, 0x6ef4e8a1, 0x109814b6, 0x3e0bec75,
+0x0b146c2a, 0x43c1dc26, 0x7d8b3673, 0x0006d00a,
+0x2e8b8185, 0x70a25b1b, 0x130c852a, 0xb403be1c,
+0xd8a11659, 0xb62c4535, 0x39eb1e32, 0x01303f2e,
+0x03a62900, 0x0e42c8b6, 0x6fb285c4, 0x91fb8c0b,
+0xffcc7919, 0xd62d67ff, 0xbe72a464, 0x7d01355f,
+0xfb35c653, 0x7e3e8777, 0x2fad8a8d, 0x4e8d4ec5,
+0x1d022a24, 0x1aeba685, 0x0703d159, 0x42f90506,
+0x2488d5b7, 0x08073bff, 0x6d4a2488, 0x513985f8,
+0x08e2c11a, 0x8a194141, 0xeb6bafa0, 0x09340b20,
+0x0dfc0a63, 0xafb77775, 0xeb050fc9, 0x75025329,
+0x3503501f, 0x10b008dd, 0x0307cd03, 0x04240908,
+0x0b2af0d7, 0x2d1e04cd, 0x05e901d9, 0xfa852749,
+0x15daacff, 0x9fc2374c, 0xe0368696, 0xf5b0f04d,
+0x96801209, 0x9c163498, 0xab20c1c0, 0x10071a7b,
+0x9b116600, 0x1881de61, 0x6bed1241, 0x0c26c5c3,
+0x0fa70e06, 0xe884056b, 0x01c06b27, 0xa93e0000,
+0xec1022db, 0x0f030eb7, 0xeed3f4b0, 0x513d02e9,
+0x570a7f04, 0x6872e913, 0xf603a036, 0x18643704,
+0xc58843d5, 0x1122ca6b, 0x18367339, 0xd94eb610,
+0x6023b34a, 0xcd684de9, 0x86d84233, 0x3756056d,
+0x76e94d33, 0xdea90e0b, 0x157631ea, 0x906c1639,
+0x1606a96e, 0x877ceb40, 0xe4a1e305, 0xb50608da,
+0xd7d8b10e, 0x12c1d778, 0x7df3fcff, 0x05c54f11,
+0xf147d490, 0x8a101b10, 0x0c9d1296, 0x100e1516,
+0x7df1a523, 0x1464d7ec, 0x1f742d3d, 0x3d097f06,
+0xbc2e1800, 0xeb0b0dfe, 0x5b3d3d1b, 0x872e12eb,
+0xb82dd4ae, 0xc0020510, 0xfbf80305, 0x8e628b57,
+0xe856af89, 0xe0e8f6ec, 0x950e1767, 0xfd44eb56,
+0xffffc995, 0x8b070874, 0x3dc92d5d, 0x984da10d,
+0x1078009d, 0x460e6206, 0x952561c6, 0x181c570a,
+0x2eba0c07, 0x530456f8, 0xad08063d, 0xa60bf885,
+0x6a3c5da4, 0xdd35f7ff, 0xeb786c66, 0x8bf802e8,
+0xea053b77, 0xf11a74eb, 0x645594ba, 0xdc1ba31c,
+0xabb10705, 0x8330b60a, 0x5b62188a, 0xe8a120c5,
+0x22931154, 0x13733d07, 0x88c14508, 0x0200086e,
+0xec0e7a14, 0xcdf41018, 0x82613bad, 0x3606ec45,
+0x3c89660e, 0xd0d63db8, 0x54669e1f, 0x189a5078,
+0x94908912, 0x46360c11, 0x980e1ce3, 0x8804d9e1,
+0x052474aa, 0x7ac0ff9c, 0x4ef53aca, 0x8a5f5b24,
+0xf120068a, 0x934af6fa, 0xb26ba490, 0x32cc2d2c,
+0x0c1d87a0, 0x817800a2, 0x7875abba, 0x31ef110d,
+0x4780828d, 0x7553ad82, 0x82dc89f6, 0xff0c0998,
+0x08fd1066, 0x2790820f, 0x0d09e1b0, 0x50081b8b,
+0x15ccdbc6, 0x1894d122, 0x1c76613e, 0x2c4e8814,
+0xd102fde3, 0x04f93449, 0x720b4306, 0x2a044c05,
+0x520013ff, 0xf5f45176, 0xcce44276, 0x83ac6001,
+0x52b152dd, 0xa2d438c4, 0x388afb3d, 0x73a33b36,
+0x2b743939, 0x0ec59b74, 0x5d26a78b, 0x48e8f3f3,
+0x015397c1, 0x1cfc9498, 0x11603000, 0x74145cac,
+0x8e84a680, 0xfcf59861, 0xe46c5b79, 0x025efa43,
+0xa0559d53, 0x0cb08b86, 0xdf4586a8, 0x30c2637c,
+0x82968b1e, 0x0b1df012, 0x94061078, 0x7e086840,
+0x861b49e4, 0x4ecb24b4, 0x3301069f, 0x72058692,
+0xbbf4ff06, 0x7698c06c, 0x986a0079, 0x6181de0e,
+0x7cb7790b, 0x982c093a, 0x0ca41b0b, 0x8d87c716,
+0x8e134510, 0x841b8903, 0x3c632362, 0xb620898b,
+0x2bb2ba46, 0x9b189960, 0x6615c908, 0x3be07e9e,
+0xca417a24, 0x0276095a, 0x6a89100a, 0x504ed962,
+0x0fc961c7, 0x4a0666a4, 0x1162b58d, 0x8d3b1551,
+0x281115a0, 0x808d63ff, 0x94186117, 0x08b162f7,
+0x24c44813, 0x00df17e0, 0x478b686b, 0x018b840c,
+0x4c4afedc, 0xf01e6f45, 0x47b0ee83, 0xe038ef10,
+0x7630ad0e, 0xf0390ebb, 0x548a1573, 0x6a06414f,
+0x9c80fc98, 0xcf1213d1, 0x518d5610, 0x6eac5208,
+0x81552ea2, 0x0e73aff1, 0x9d21bbbe, 0x5bf03e90,
+0xf335c45e, 0x11845596, 0x782a7860, 0x28a963b8,
+0x6d17c32a, 0xc1d502e8, 0x02292514, 0x7ab01131,
+0x00ba1c02, 0xbf5b084f, 0x31422ec8, 0xf2d95b26,
+0x08c708ed, 0x0b8de9be, 0xeade0a46, 0x89d7fb10,
+0xbf05dec7, 0x1d110815, 0x99b46f83, 0x4e5ec66a,
+0xfb811cc3, 0x060c50d3, 0xcd377eef, 0x7206e8eb,
+0xe846b1b6, 0x450e0e56, 0x0c22da1b, 0xf0948145,
+0x4f54d2d1, 0x1e8d5388, 0xe084d2c7, 0x857634b6,
+0x4449c7bc, 0x3082ac8d, 0x72f4d001, 0x7625a80d,
+0x7234b778, 0xfce00976, 0x05dbbea8, 0x846c9501,
+0xd9293911, 0x81788e3d, 0xdbfdfcc3, 0x2dd50bf1,
+0x0324530c, 0x12018802, 0xe7175a15, 0xdf440306,
+0x6a030d0b, 0x79803431, 0x7b5420b0, 0xeaa11007,
+0x1e4682cb, 0x18f4a114, 0xea03a8d5, 0xef9e7747,
+0x8a232c26, 0x145ea435, 0x3f34ed18, 0x1984e8b7,
+0xcc040015, 0xdca0163a, 0x186b8758, 0xf6e20a34,
+0x4148d054, 0x2d757a7e, 0xa7a8042e, 0x08247543,
+0xc3123ba5, 0x0646df0e, 0x0d270434, 0xb91f56ee,
+0x088f52ec, 0xbbbe0a06, 0x81040b21, 0x24731cfa,
+0x2a940f6e, 0xfd6d5356, 0x38c097ee, 0xb0491585,
+0xe3b684f0, 0x073d3adb, 0x7f7c2e86, 0x1b2188fe,
+0x2dde96b3, 0x3982fa09, 0x38ff239a, 0x2be8e0ab,
+0x4bd07601, 0x941be80d, 0x1f181a90, 0x589703ed,
+0x2c148084, 0xd50bbb12, 0xf3897d98, 0x89c01d03,
+0x168692ec, 0x640105bb, 0x980794a1, 0xeebbbb35,
+0x11bc25e8, 0x4ee85ea9, 0xa6e10486, 0xddd502b2,
+0x09d713f7, 0x13e82a39, 0x5ba138be, 0xd68f0aa0,
+0x1d1c0e48, 0x2495033b, 0x518f0550, 0x62cbc034,
+0xf02324ab, 0x47efbbbf, 0xdc94d406, 0x6712c358,
+0x11602130, 0x6c833d83, 0xc0c20761, 0x1416a760,
+0x23056629, 0x3b7114e1, 0x299b7622, 0x2f021afc,
+0xcf6c12f8, 0x0210b763, 0xc48f0800, 0x14110800,
+0x8f463467, 0xb3567f08, 0x227fbcb1, 0x6612a35b,
+0x8f810dcb, 0x08dea046, 0x9201898f, 0x0b67d25f,
+0x039cdf51, 0x01a00515, 0x6d8c8c08, 0xe98ca8b1,
+0x0708a511, 0xb7c8db63, 0x0d7328ad, 0x0d16ff0d,
+0xab69762d, 0xf2f8147f, 0x080dc184, 0xc8db62b7,
+0x110baa8c, 0x84ef08c0, 0x8dbb3cc5, 0x0f3c367c,
+0x0801e40d, 0xb1a8cd8c, 0xe0558aad, 0xdcc71108,
+0x284d57c8, 0xc3a73013, 0x1edb7f30, 0x0457b6d9,
+0x201e0d20, 0x1404207f, 0xb7236d0d, 0x0801ee73,
+0x1115d48c, 0x36d83ced, 0x24d73bf6, 0x08120d22,
+0xba01f88c, 0x23f6c8db, 0x08251111, 0xae280219,
+0xc6a136be, 0x0847710d, 0xe46832c4, 0x2d0dd916,
+0x33168c08, 0x8d632df6, 0x2e700815, 0x3a0d7736,
+0x7532d9aa, 0x7318084a, 0xc1b1b6ed, 0x76125b1b,
+0x3d08390d, 0xcd4b234d, 0xf80aa55c, 0xb0f25202,
+0xdce8ea31, 0x103b07ed, 0x8321ee56, 0x732a721c,
+0x321c8319, 0xad0890c8, 0x64190ff7, 0xe6e40190,
+0xc832ef01, 0x2bd52721, 0x833369c4, 0x0db3481c,
+0xc9c8b830, 0xe9041ec3, 0xf02e1ea5, 0x321c8394,
+0x6e8670c8, 0x20d8c875, 0x0d67f823, 0x320d87f9,
+0x4bfa5932, 0xe4e4f83a, 0x1e3a20d8, 0x202cf125,
+0x233c9d87, 0xc7101bf1, 0xc8793c83, 0xf9f2130a,
+0xf272fd00, 0xe8f39390, 0x90d7f41a, 0x0f1e4e43,
+0x872cc6f5, 0xb5643c9c, 0xdca4f64e, 0x20c87939,
+0x82f76593, 0x0e4f6393, 0x0d74eb90, 0x6472f871,
+0xb6669190, 0x8ef96858, 0x4a72320c, 0xfabe3c94,
+0x4ed82702, 0xc2190a2e, 0x20d8e495, 0x1d0a23db,
+0xfb1e2318, 0xc1d020a2, 0x0c0002b2, 0xdc310042,
+0x43ae0433, 0xc4a85127, 0x57561959, 0x09e8edf8,
+0xff0e317e, 0xc8fcfad6, 0x25c58909, 0xb6c01682,
+0x506e5d41, 0x58fa83fc, 0x20eb0774, 0xbb38eb2b,
+0x5788c780, 0xd0246818, 0x7412e65c, 0x1d8f4159,
+0x67901476, 0x3d481e6c, 0x164a0d04, 0xa0ed8a17,
+0xe672c88d, 0xb108a30b, 0xf510db0e, 0x87cac885,
+0x8bac817d, 0x09ef57ed, 0xe4300272, 0x550a88ae,
+0x25c9b9c4, 0x093cd803, 0x0205644a, 0x3d0a6f32,
+0x0c9724c8, 0x07310c0a, 0x3c0b23f6, 0x1c244c8a,
+0x3c9b0b40, 0x7ccb25e4, 0x5c777cf0, 0x3a216432,
+0x1325900c, 0x0db59320, 0xc932160c, 0xa6dc7a55,
+0xa442f1a2, 0xc8494350, 0xa4e35c58, 0x2fa3c6de,
+0x410d4763, 0x35932088, 0x963e3b3a, 0xa9050a8a,
+0x44100c2f, 0x9e803b74, 0x203cfa81, 0x630fa89d,
+0x6fcd70b9, 0x8925dfe4, 0xca684524, 0x042d82aa,
+0x0016c468, 0x3db3504c, 0x82855527, 0xe6b882a6,
+0x4bea7ff1, 0x0fd83947, 0x3b810982, 0x5f32335f,
+0x75456a75, 0x09765b13, 0xb1617420, 0x9eb7b7fe,
+0xa87dc22e, 0x0742130c, 0xc984f87c, 0x7b804a75,
+0xb1b84508, 0x2953632a, 0xb7e33456, 0xef7fa402,
+0xefb9d1e3, 0x6db1fddb, 0x7b812375, 0x765fff04,
+0x23eca312, 0x90c04b78, 0x25a3e0cb, 0x21588b37,
+0x87a28375, 0x68399fa0, 0x41d67883, 0xd4e80574,
+0x7c0464ec, 0x305b08e4, 0xcde23d83, 0xbc540b62,
+0x0d0d2922, 0x628c05d6, 0x62681ba9, 0x9aafc413,
+0xf1b06140, 0x3e2058d8, 0xe4c30158, 0xfd7b8861,
+0x03bedc40, 0x61e601b5, 0xe608b0b2, 0x54c89543,
+0xe60430bc, 0x00b7a142, 0x10d7260b, 0x692a2542,
+0x3bb80b05, 0xc3c39d52, 0xc1e80445, 0x6dc22e39,
+0x08de7d14, 0x9680fb46, 0xd575831e, 0x7008d002,
+0x826d880d, 0x0889c202, 0x5b583153, 0x0410033c,
+0x1230a202, 0x4b836855, 0x1b073d77, 0x0456c112,
+0x98418202, 0xd23b17fd, 0xd3ba3e3b, 0x2810624d,
+0x0b6c1bb5, 0x5728a060, 0x13e0bfdd, 0x4c50878a,
+0x803903c4, 0x127fb667, 0x0e1fb007, 0x3016e409,
+0x0c25845d, 0xea08eae8, 0x50046b80, 0x74077aa7,
+0x254c008d, 0xe204097a, 0xf48c1729, 0x4f0a0b4c,
+0x9d9f1f40, 0xf0adf868, 0x80050caa, 0x01e74519,
+0xe286d879, 0x962a04a3, 0x0c402a08, 0xeb01cd2a,
+0x0609100e, 0xaf2a1440, 0x26029800, 0xd8c937a6,
+0x4020ba59, 0x65092824, 0x8c6229ef, 0x9d2a9d02,
+0x277c0140, 0x686e30cf, 0x33a26822, 0x681d4dbe,
+0xda57163c, 0x761dd52c, 0x2cccc990, 0x0209d04f,
+0x66c3b81a, 0x12d4482a, 0x49d98683, 0xe4e031c6,
+0xbe1eae2c, 0x097582a5, 0xc7a93103, 0x4dd1ec31,
+0xe3f37cf2, 0x0709f8f4, 0x548bac1e, 0x310109c9,
+0x0ecd6807, 0x007cd239, 0x2d08c12d, 0x4ecd480c,
+0x1c8009e8, 0xc9f66d2d, 0x224857c8, 0xe1948c34,
+0x98300521, 0x5b2d9ced, 0x37ea81b7, 0xdb680166,
+0x7031a068, 0x5ac63878, 0xde6808d0, 0x7070f168,
+0xaee0b005, 0x2081e786, 0x0991409c, 0x284ecef6,
+0x2d209ee8, 0x8720f55f, 0x03f56c04, 0xe8af76ee,
+0xc0118348, 0x18477f4c, 0xbc40641a, 0x1b7f9fec,
+0x4ff97da0, 0x7383d775, 0x588d1b8c, 0x3ae7e8c3,
+0x5b03a6aa, 0x7dbf114b, 0x090d8e77, 0x54754b62,
+0x9dfcda47, 0x77936ddb, 0xe8209e88, 0xf2990ed8,
+0x7d8121aa, 0x2000004e, 0xb06421cb, 0x03c606ad,
+0x6c44dbcb, 0xbd0b1f60, 0x8b3f4a14, 0x90b644fc,
+0x45e40000, 0x1fff6874, 0x02fa17fe, 0xc5010135,
+0x1161dc05, 0xbeadde00, 0xe3ba97ef, 0x505d03c0,
+0x8401035e, 0x7fdd203c, 0x5850ffff, 0x696c4345,
+0x3a746e65, 0x68637241, 0x3a00303a, 0x49444e55,
+0xfb0b320a, 0x31026fff, 0x03010d37, 0x803c2b0c,
+0x84838281, 0x5f878685, 0xc07d8b00, 0x323e3603,
+0x02586b05, 0x110e067b, 0x56c8df6c, 0x73031365,
+0xc594585f, 0x47062bbe, 0xffe063db, 0x46a44fff,
+0x4c415441, 0x6f4e203a, 0x61657220, 0x6f6d2d6c,
+0x73206564, 0xdd2dd77f, 0xe76b6380, 0x03004121,
+0x002b564e, 0x676e6143, 0x6eee6cae, 0x2023746f,
+0x21241476, 0x6edfb7fd, 0x17725025, 0x6c6f636f,
+0x48444473, 0x54205043, 0x02fe5446, 0x1604adff,
+0x0063696e, 0x6b736964, 0x706f6c10, 0xba007970,
+0x153bdbed, 0x656e7265, 0x64646142, 0x39252a72,
+0xdefbad56, 0x64696fde, 0x6b6e0320, 0x51655b20,
+0xdb630d62, 0x2773b6d6, 0x31181b64, 0x330639a4,
+0xfb7fb5bb, 0x32380030, 0x6163af38, 0x6565006d,
+0x30126e70, 0x4264162d, 0x0d32ac26, 0x64263433,
+0x36352642, 0x6ed67237, 0x353863ce, 0x0e9f3236,
+0x84d84c61, 0x632c621d, 0x0aff640d, 0x006584ee,
+0x35381b0b, 0x2c6d7131, 0x07636bf6, 0x36bbf239,
+0x58780d35, 0x5db60d9b, 0x073d076d, 0x360d81b5,
+0x587a1732, 0x0cc25b4c, 0xb7350d97, 0x17451b0d,
+0x45f7f85e, 0x524f5250, 0x75736e55, 0x74726f68,
+0x6d41203e, 0x508b7b61, 0x632522a1, 0x57492201,
+0x42db0a2c, 0x20676ee1, 0x0c78d764, 0xf85b613c,
+0x3e21eb7f, 0x74667408, 0x2f3a0070, 0x6f4c002f,
+0x00206990, 0x25bb2f7a, 0x400b2073, 0x15800e3a,
+0x422d5c28, 0x23f1986f, 0xb7b435b6, 0x697372e0,
+0x4473c050, 0x17ed0864, 0xd065d46e, 0x7aba6c69,
+0x6d203e20, 0x6e12dbd0, 0x280f076b, 0x002e9637,
+0x85856b20, 0x72671b1f, 0x40d220b6, 0xadf77b38,
+0x204d3450, 0x22676962, 0x2949424e, 0x35ad1c05,
+0x17054647, 0x8fbb1024, 0x61013ed1, 0x6d69125e,
+0x3c586761, 0x5cdee873, 0x7baceb2b, 0x435f7469,
+0xfedb5d70, 0x2008a7c5, 0xd1756f66, 0x530f1a2e,
+0x6b99b7bb, 0x10119541, 0x9c654d0a, 0xf75c0040,
+0x8d2c8c58, 0x2628200a, 0x0e122906, 0x9b3d83f6,
+0x6c65521d, 0x470b7961, 0xd7851d61, 0x0d773416,
+0x6583450c, 0x70d75ecd, 0x20f497a9, 0xadb165db,
+0x1b09edb9, 0xa025966d, 0xb47caf73, 0xf3976b5b,
+0x8e726135, 0x2ec565b9, 0xfcd270c4, 0x3d6e7716,
+0x2ed6b7ba, 0x16706d15, 0x7562615b, 0x6c733874,
+0x90152b6d, 0x06740e29, 0xcc226b2d, 0x7a462e1a,
+0x3364a265, 0xdb6b0705, 0x283380d6, 0x1f2a2925,
+0x67495200, 0x4346d68d, 0x001e147f, 0xd22143d1,
+0x5049902f, 0xc3887a4a, 0x0a5be193, 0x69656306,
+0x6299f976, 0xee876bb4, 0x756e8c06, 0xb564733a,
+0x6b7609b2, 0x445576ad, 0x58270630, 0x044f6d75,
+0x0a748a7b, 0x7f64f7a0, 0x2fc7056b, 0x78302007,
+0x54286c25, 0x98682dd6, 0x66f443f0, 0xd190726f,
+0x6585dc0a, 0x311122c9, 0x34f06e6b, 0xf5dd286c,
+0x39f27665, 0x4a237079, 0x2b6dbdad, 0x7927588b,
+0x5f895227, 0xec7876ad, 0x6c20666f, 0x4e6c7275,
+0x5ae70e14, 0x44197361, 0xb9c33f6e, 0xb1dcc6c4,
+0x5a622c0e, 0x5bb36173, 0x2790c65b, 0x175d07db,
+0xf7696370, 0xd2a50bfd, 0x1929e232, 0x43424139,
+0x3d464544, 0xe6d6facc, 0x6868032e, 0x01673a58,
+0xe3e37500, 0x395f2fd1, 0x4f6f205b, 0x0a187753,
+0x7ea431ae, 0x2e352781, 0x52bd9734, 0xca6f2ea5,
+0xd2203418, 0x166217c6, 0x4c504784, 0x23746829,
+0xa6b0e146, 0x2e1c6522, 0xa078bb09, 0xad44de95,
+0x20805403, 0x50ee1d1c, 0xd00d0785, 0x9f60f720,
+0x007f116e, 0x73887845, 0xd6db0e3a, 0x6d27b6de,
+0x775f6ffc, 0x57287a3a, 0x186b6d74, 0xaea93c0a,
+0x2110776d, 0x688fdbd8, 0xd93d20f3, 0x270a2e58,
+0x12051a90, 0x588d26d9, 0x1835b6c6, 0xac32da3a,
+0x8e611e78, 0x0dd1d1d0, 0xcb69306d, 0x3063946c,
+0x8bb747b4, 0x532ce870, 0xdd26f549, 0x3a9de592,
+0x6a6e4998, 0xb18cbc2d, 0x25184d3e, 0x0a2c4423,
+0x0e9815ad, 0x7839f9e1, 0xdc75cd6b, 0x0465625c,
+0x350e5365, 0x6105ed12, 0x7369bdc3, 0x0ae257f1,
+0x5c1b02ed, 0x30344338, 0xeb6cfd33, 0x2b76152d,
+0x2c8e3c63, 0xd6b46843, 0x31676431, 0x58bd4a8f,
+0x5cb854e1, 0x377ac7ab, 0x21b1d7b5, 0x7974ab67,
+0x746763ca, 0xd4b70c68, 0x44320b66, 0x6b8d0a63,
+0x3852b46b, 0x70d791ee, 0xe0706051, 0x4e5e7206,
+0x422c9402, 0x86ffcbc3, 0xd2303bc5, 0x213fd6ce,
+0x1075803d, 0x6b0c6d19, 0x5f733009, 0x0a061a6c,
+0x6d04edce, 0x25809aba, 0xd558b5a1, 0x06b11dee,
+0x33f3a3d9, 0x6d612c92, 0x30932e61, 0xc261562f,
+0xa9651856, 0xd7073c20, 0x34fd23c0, 0x041fd76f,
+0xe26bc781, 0x462f4538, 0xfb32d133, 0x702e8f05,
+0xb61b630b, 0x6b0e6230, 0xf1621f0a, 0x6d0bb165,
+0xc707fd48, 0xde696e67, 0x96582946, 0x3e777d3e,
+0x96c01621, 0x222f3273, 0x8a75eec7, 0xe96c6975,
+0xc2b86ade, 0x64b18709, 0xe57652b7, 0x33a63a5f,
+0xac78dc14, 0x78c53772, 0xc3b27590, 0x0cbe2978,
+0x0f29000a, 0x73c09c0e, 0x037c288c, 0x0cdac536,
+0x326e2007, 0x3e7978c7, 0x222c5bdc, 0x65757186,
+0x084008d1, 0x24f0cdb1, 0x73638a2b, 0xb92c1879,
+0x646d27a6, 0x2d4620fc, 0x00c5bdb6, 0x545245a1,
+0x8fdc6783, 0x844345c2, 0x70d65861, 0x8705c782,
+0x512d52eb, 0x75672620, 0xb0df70a6, 0x87367942,
+0x0d074fd0, 0x83ba1ee7, 0x8a767077, 0xb62549a4,
+0x4674b40b, 0x19666692, 0x63ac2b21, 0x791113b9,
+0xe1000058, 0x9e058668, 0x974f4f42, 0x3a33002d,
+0xf13c1883, 0x6e00f600, 0xf3ea6bb8, 0x816c7e68,
+0xcb623436, 0x82524142, 0x19df7b9b, 0x3a783830,
+0x6f132004, 0xa602c273, 0x2184d057, 0x6c3564d2,
+0xe1833867, 0x0aba8170, 0x7dce2300, 0x23d62119,
+0x28003f58, 0x6a5d6181, 0x3a5225f9, 0x73c11bc0,
+0xc1796141, 0x1b050f80, 0xdd578af6, 0x2e8b3210,
+0x5efa7bd6, 0x1a7555fe, 0x016b58ae, 0x17cf6e61,
+0xa71d1c06, 0x6db37561, 0xcd6e860c, 0x400312d0,
+0x6fff26c7, 0x85b5c32e, 0x0a7529dd, 0xa9b84647,
+0x8305c60b, 0x6867ed46, 0xb4223cb8, 0x76b746c3,
+0xc83d602e, 0x00dabb75, 0x1f1d278f, 0x51079d08,
+0xbfc0142d, 0xd9c84070, 0x1ff17ab1, 0x9307cf9f,
+0x360d95b0, 0x1f93179b, 0xb6016e00, 0x27021009,
+0xb2032bc0, 0x30d81760, 0x03082292, 0xfd468d00,
+0x8024168e, 0xfb9f9e32, 0x60f6f04b, 0xb648f200,
+0xba3f80f2, 0x10298086, 0x91079266, 0x30f91e47,
+0x10316d10, 0x7d103274, 0xe4791e47, 0x348b1033,
+0x10359910, 0x1e1036a7, 0xb591e479, 0x38c31037,
+0x1039d110, 0x91e479d8, 0xe0103a47, 0x3ce7103b,
+0xcfc8f010, 0x103d1e47, 0x0c103efe, 0x1a105193,
+0xf23c8f23, 0x09201059, 0x12272812, 0x3d9e2830,
+0x3612c8f2, 0x493c1229, 0x242f4524, 0x91ec1b4d,
+0x245d07c7, 0x5d105055, 0x1007654f, 0xfa14b63e,
+0x52010773, 0x40179381, 0x01ae1284, 0x14b50537,
+0x41be43d5, 0x2a1a0240, 0x037ef8b7, 0x664693f1,
+0xb0daadba, 0xbf0fce03, 0x4ffd9609, 0x803f0405,
+0x63538263, 0x51800b96, 0x05afd8f6, 0x0302b16b,
+0x9615ec87, 0xb8006dc2, 0x86550344, 0x2200b7aa,
+0xdb2bec0a, 0x2bbfd23f, 0x7f4507d0, 0x9d957842,
+0xc0375e54, 0x00006d05, 0x2000c000, 0xffff0001,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/etherboot/make-eb-rom-list
--- a/tools/firmware/etherboot/make-eb-rom-list Mon Apr 14 14:04:58 2008 -0600
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-#!/bin/bash
-set -e
-roms=$1; shift
-echo "/* autogenerated - do not edit */"
-echo "#define ETHERBOOT_ROM_LIST \\"
-for nic in "$@"; do
-       makerom=`grep "^MAKEROM_ID_$nic *= *-p *" <$roms`
-       echo "  ETHERBOOT_ROM($nic,${makerom#*-p}) \\"
-done
-echo
-echo "/*end.*/"
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/extboot/Makefile
--- a/tools/firmware/extboot/Makefile   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/extboot/Makefile   Tue Apr 15 11:09:46 2008 -0600
@@ -1,15 +1,7 @@
+XEN_ROOT = ../../..
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
-override XEN_TARGET_ARCH = x86_32
-XEN_ROOT = ../../..
-CFLAGS := -I$(XEN_ROOT)/tools/libxc -I.
-include $(XEN_ROOT)/tools/Rules.mk
-
-# Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
-
-CFLAGS  += -fno-builtin -O2 -msoft-float
+CFLAGS += -I$(XEN_ROOT)/tools/libxc -I.
 
 .PHONY: all
 all: extboot.bin
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/Makefile
--- a/tools/firmware/hvmloader/Makefile Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/hvmloader/Makefile Tue Apr 15 11:09:46 2008 -0600
@@ -18,33 +18,26 @@
 # Place - Suite 330, Boston, MA 02111-1307 USA.
 #
 
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 SUBDIRS := acpi
 
 # The HVM loader is started in 32-bit mode at the address below:
 LOADADDR = 0x100000
 
-# Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
+CFLAGS += $(CFLAGS_include) -I.
 
-CFLAGS  += -fno-builtin -O2 -msoft-float
-CFLAGS  += $(CFLAGS_include) -I.
-
-SRCS = hvmloader.c mp_tables.c util.c smbios.c 32bitbios_support.c
+SRCS = hvmloader.c mp_tables.c util.c smbios.c 32bitbios_support.c smp.c
 OBJS = $(patsubst %.c,%.o,$(SRCS))
 
 .PHONY: all
 all: hvmloader
 
+hvmloader.o: roms.h
 smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\""
 
-hvmloader: roms.h subdirs-all $(OBJS)
+hvmloader: subdirs-all $(OBJS)
        $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) \
                -o hvmloader.tmp $(OBJS) acpi/acpi.a
        $(OBJCOPY) hvmloader.tmp hvmloader
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/acpi/Makefile
--- a/tools/firmware/hvmloader/acpi/Makefile    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/hvmloader/acpi/Makefile    Tue Apr 15 11:09:46 2008 -0600
@@ -15,10 +15,8 @@
 # Place - Suite 330, Boston, MA 02111-1307 USA.
 #
 
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 C_SRC = build.c dsdt.c static_tables.c
 H_SRC = $(wildcard *.h)
@@ -27,13 +25,7 @@ IASL_VER = acpica-unix-20060707
 IASL_VER = acpica-unix-20060707
 IASL_URL = 
http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
 
-# Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
-
-CFLAGS  += -fno-builtin -O2 -msoft-float
-CFLAGS  += -I. -I.. $(CFLAGS_include)
+CFLAGS += -I. -I.. $(CFLAGS_include)
 
 vpath iasl $(PATH)
 all: acpi.a
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/hvmloader.c
--- a/tools/firmware/hvmloader/hvmloader.c      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/hvmloader/hvmloader.c      Tue Apr 15 11:09:46 2008 -0600
@@ -28,10 +28,11 @@
 #include "apic_regs.h"
 #include "pci_regs.h"
 #include "e820.h"
+#include "option_rom.h"
 #include <xen/version.h>
 #include <xen/hvm/params.h>
 
-asm(
+asm (
     "    .text                       \n"
     "    .globl _start               \n"
     "_start:                         \n"
@@ -97,6 +98,7 @@ asm(
     "stack_top:                      \n"
     );
 
+void smp_initialise(void);
 void create_mp_tables(void);
 int hvm_write_smbios_tables(void);
 
@@ -105,14 +107,6 @@ cirrus_check(void)
 {
     outw(0x3C4, 0x9206);
     return inb(0x3C5) == 0x12;
-}
-
-static void
-wrmsr(uint32_t idx, uint64_t v)
-{
-    __asm__ __volatile__ (
-        "wrmsr"
-        : : "c" (idx), "a" ((uint32_t)v), "d" ((uint32_t)(v>>32)) );
 }
 
 static void
@@ -130,11 +124,7 @@ init_hypercalls(void)
     *(uint32_t *)(signature + 8) = edx;
     signature[12] = '\0';
 
-    if ( strcmp("XenVMMXenVMM", signature) || (eax < 0x40000002) )
-    {
-        printf("FATAL: Xen hypervisor not detected\n");
-        __asm__ __volatile__( "ud2" );
-    }
+    BUG_ON(strcmp("XenVMMXenVMM", signature) || (eax < 0x40000002));
 
     /* Fill in hypercall transfer pages. */
     cpuid(0x40000002, &eax, &ebx, &ecx, &edx);
@@ -334,21 +324,13 @@ static int must_load_extboot(void)
  */
 static int scan_etherboot_nic(void *copy_rom_dest)
 {
-    static struct etherboots_table_entry {
-        char *name;
-        void *etherboot_rom;
-        int etherboot_sz;
-        uint16_t vendor, device;
-    } etherboots_table[] = {
-#define ETHERBOOT_ROM(name, vendor, device) \
-  { #name, etherboot_##name, sizeof(etherboot_##name), vendor, device },
-        ETHERBOOT_ROM_LIST
-        { 0 }
-    };
-
+    struct option_rom_header *rom;
+    struct option_rom_pnp_header *pnph;
+    struct option_rom_pci_header *pcih;
     uint32_t devfn;
     uint16_t class, vendor_id, device_id;
-    struct etherboots_table_entry *eb;
+    uint8_t csum;
+    int i;
 
     for ( devfn = 0; devfn < 128; devfn++ )
     {
@@ -359,21 +341,62 @@ static int scan_etherboot_nic(void *copy
         if ( (vendor_id == 0xffff) && (device_id == 0xffff) )
             continue;
 
-        if ( class != 0x0200 ) /* Not a NIC */
+        /* We're only interested in NICs. */
+        if ( class != 0x0200 )
             continue;
 
-        for ( eb = etherboots_table; eb->name; eb++ )
-            if (eb->vendor == vendor_id &&
-                eb->device == device_id)
+        rom = (struct option_rom_header *)etherboot;
+        for ( ; ; )
+        {
+            /* Invalid signature means we're out of option ROMs. */
+            if ( strncmp((char *)rom->signature, "\x55\xaa", 2) ||
+                 (rom->rom_size == 0) )
+                break;
+
+            /* Invalid checksum means we're out of option ROMs. */
+            csum = 0;
+            for ( i = 0; i < (rom->rom_size * 512); i++ )
+                csum += ((uint8_t *)rom)[i];
+            if ( csum != 0 )
+                break;
+
+            /* Check the PCI PnP header (if any) for a match. */
+            pcih = (struct option_rom_pci_header *)
+                ((char *)rom + rom->pci_header_offset);
+            if ( (rom->pci_header_offset != 0) &&
+                 !strncmp((char *)pcih->signature, "PCIR", 4) &&
+                 (pcih->vendor_id == vendor_id) &&
+                 (pcih->device_id == device_id) )
                 goto found;
+
+            rom = (struct option_rom_header *)
+                ((char *)rom + rom->rom_size * 512);
+        }
     }
 
     return 0;
 
  found:
-    printf("Loading %s Etherboot PXE ROM ...\n", eb->name);
-    memcpy(copy_rom_dest, eb->etherboot_rom, eb->etherboot_sz);
-    return eb->etherboot_sz;
+    /* Find the PnP expansion header (if any). */
+    pnph = ((rom->expansion_header_offset != 0)
+            ? ((struct option_rom_pnp_header *)
+               ((char *)rom + rom->expansion_header_offset))
+            : ((struct option_rom_pnp_header *)NULL));
+    while ( (pnph != NULL) && strncmp((char *)pnph->signature, "$PnP", 4) )
+        pnph = ((pnph->next_header_offset != 0)
+                ? ((struct option_rom_pnp_header *)
+                   ((char *)rom + pnph->next_header_offset))
+                : ((struct option_rom_pnp_header *)NULL));
+
+    printf("Loading PXE ROM ...\n");
+    if ( (pnph != NULL) && (pnph->manufacturer_name_offset != 0) )
+        printf(" - Manufacturer: %s\n",
+               (char *)rom + pnph->manufacturer_name_offset);
+    if ( (pnph != NULL) && (pnph->product_name_offset != 0) )
+        printf(" - Product name: %s\n",
+               (char *)rom + pnph->product_name_offset);
+    memcpy(copy_rom_dest, rom, rom->rom_size * 512);
+    return rom->rom_size * 512;
 }
 
 /* Replace possibly erroneous memory-size CMOS fields with correct values. */
@@ -421,6 +444,8 @@ int main(void)
     init_hypercalls();
 
     printf("CPU speed is %u MHz\n", get_cpu_mhz());
+
+    smp_initialise();
 
     printf("Writing SMBIOS tables ...\n");
     smbios_sz = hvm_write_smbios_tables();
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/option_rom.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/firmware/hvmloader/option_rom.h     Tue Apr 15 11:09:46 2008 -0600
@@ -0,0 +1,50 @@
+#ifndef __HVMLOADER_OPTION_ROM_H__
+#define __HVMLOADER_OPTION_ROM_H__
+
+#include <stdint.h>
+
+struct option_rom_header {
+    uint8_t signature[2]; /* "\x55\xaa" */
+    uint8_t rom_size; /* 512-byte increments */
+    uint32_t entry_point;
+    uint8_t reserved[17];
+    uint16_t pci_header_offset;
+    uint16_t expansion_header_offset;
+} __attribute__ ((packed));
+
+struct option_rom_pnp_header {
+    uint8_t signature[4]; /* "$PnP" */
+    uint8_t structure_revision;
+    uint8_t structure_length; /* 16-byte increments */
+    uint16_t next_header_offset;
+    uint8_t reserved;
+    uint8_t checksum;
+    uint32_t device_id;
+    uint16_t manufacturer_name_offset;
+    uint16_t product_name_offset;
+    uint8_t device_type_code[3];
+    uint8_t device_indicators;
+    uint16_t boot_connection_vector;
+    uint16_t disconnect_vector;
+    uint16_t bootstap_entry_vector;
+    uint16_t reserved2;
+    uint16_t static_resource_information_vector;
+} __attribute__ ((packed));
+        
+
+struct option_rom_pci_header {
+    uint8_t signature[4]; /* "PCIR" */
+    uint16_t vendor_id;
+    uint16_t device_id;
+    uint16_t vital_product_data_offset;
+    uint16_t structure_length;
+    uint8_t structure_revision;
+    uint8_t class_code[3];
+    uint16_t image_length;
+    uint16_t image_revision;
+    uint8_t code_type;
+    uint8_t indicator;
+    uint16_t reserved;
+} __attribute__ ((packed));
+
+#endif /* __HVMLOADER_OPTION_ROM_H__ */
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/smp.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/firmware/hvmloader/smp.c    Tue Apr 15 11:09:46 2008 -0600
@@ -0,0 +1,132 @@
+/*
+ * smp.c: Secondary processor bringup and initialisation.
+ *
+ * Copyright (c) 2008, Citrix Systems, Inc.
+ * 
+ * Authors:
+ *    Keir Fraser <keir.fraser@xxxxxxxxxx>
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope 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.
+ */
+
+#include "util.h"
+#include "config.h"
+#include "apic_regs.h"
+
+#define AP_BOOT_EIP 0x1000
+extern char ap_boot_start[], ap_boot_end[];
+
+static int ap_callin, ap_cpuid;
+
+asm (
+    "    .text                       \n"
+    "    .code16                     \n"
+    "ap_boot_start: .code16          \n"
+    "    mov   %cs,%ax               \n"
+    "    mov   %ax,%ds               \n"
+    "    lgdt  gdt_desr-ap_boot_start\n"
+    "    xor   %ax, %ax              \n"
+    "    inc   %ax                   \n"
+    "    lmsw  %ax                   \n"
+    "    ljmpl $0x08,$1f             \n"
+    "gdt_desr:                       \n"
+    "    .word gdt_end - gdt - 1     \n"
+    "    .long gdt                   \n"
+    "ap_boot_end: .code32            \n"
+    "1:  mov   $0x10,%eax            \n"
+    "    mov   %eax,%ds              \n"
+    "    mov   %eax,%es              \n"
+    "    mov   %eax,%ss              \n"
+    "    movl  $stack_top,%esp       \n"
+    "    movl  %esp,%ebp             \n"
+    "    call  ap_start              \n"
+    "1:  hlt                         \n"
+    "    jmp  1b                     \n"
+    "                                \n"
+    "    .align 8                    \n"
+    "gdt:                            \n"
+    "    .quad 0x0000000000000000    \n"
+    "    .quad 0x00cf9a000000ffff    \n" /* 0x08: Flat code segment */
+    "    .quad 0x00cf92000000ffff    \n" /* 0x10: Flat data segment */
+    "gdt_end:                        \n"
+    "                                \n"
+    "    .bss                        \n"
+    "    .align    8                 \n"
+    "stack:                          \n"
+    "    .skip    0x4000             \n"
+    "stack_top:                      \n"
+    );
+
+/*static*/ void ap_start(void)
+{
+    printf(" - CPU%d ... ", ap_cpuid);
+
+    printf("done.\n");
+    wmb();
+    ap_callin = 1;
+}
+
+static void lapic_wait_ready(void)
+{
+    while ( lapic_read(APIC_ICR) & APIC_ICR_BUSY )
+        cpu_relax();
+}
+
+static void boot_cpu(unsigned int cpu)
+{
+    unsigned int icr2 = SET_APIC_DEST_FIELD(LAPIC_ID(cpu));
+
+    /* Initialise shared variables. */
+    ap_cpuid = cpu;
+    ap_callin = 0;
+    wmb();
+
+    /* Wake up the secondary processor: INIT-SIPI-SIPI... */
+    lapic_wait_ready();
+    lapic_write(APIC_ICR2, icr2);
+    lapic_write(APIC_ICR, APIC_DM_INIT);
+    lapic_wait_ready();
+    lapic_write(APIC_ICR2, icr2);
+    lapic_write(APIC_ICR, APIC_DM_STARTUP | (AP_BOOT_EIP >> 12));
+    lapic_wait_ready();
+    lapic_write(APIC_ICR2, icr2);
+    lapic_write(APIC_ICR, APIC_DM_STARTUP | (AP_BOOT_EIP >> 12));
+    lapic_wait_ready();
+
+    /*
+     * Wait for the secondary processor to complete initialisation.
+     * Do not touch shared resources meanwhile.
+     */
+    while ( !ap_callin )
+        cpu_relax();
+
+    /* Take the secondary processor offline. */
+    lapic_write(APIC_ICR2, icr2);
+    lapic_write(APIC_ICR, APIC_DM_INIT);
+    lapic_wait_ready();    
+}
+
+void smp_initialise(void)
+{
+    unsigned int i, nr_cpus = get_vcpu_nr();
+
+    if ( nr_cpus <= 1 )
+        return;
+
+    memcpy((void *)AP_BOOT_EIP, ap_boot_start, ap_boot_end - ap_boot_start);
+
+    printf("Multiprocessor initialisation:\n");
+    for ( i = 1; i < nr_cpus; i++ )
+        boot_cpu(i);
+}
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/util.c
--- a/tools/firmware/hvmloader/util.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/hvmloader/util.c   Tue Apr 15 11:09:46 2008 -0600
@@ -27,39 +27,57 @@
 #include <xen/memory.h>
 #include <xen/hvm/hvm_info_table.h>
 
+void wrmsr(uint32_t idx, uint64_t v)
+{
+    asm volatile (
+        "wrmsr"
+        : : "c" (idx), "a" ((uint32_t)v), "d" ((uint32_t)(v>>32)) );
+}
+
+uint64_t rdmsr(uint32_t idx)
+{
+    uint32_t lo, hi;
+
+    asm volatile (
+        "rdmsr"
+        : "=a" (lo), "=d" (hi) : "c" (idx) );
+
+    return (lo | ((uint64_t)hi << 32));
+}
+
 void outb(uint16_t addr, uint8_t val)
 {
-    __asm__ __volatile__ ( "outb %%al, %%dx" : : "d" (addr), "a" (val) );
+    asm volatile ( "outb %%al, %%dx" : : "d" (addr), "a" (val) );
 }
 
 void outw(uint16_t addr, uint16_t val)
 {
-    __asm__ __volatile__ ( "outw %%ax, %%dx" : : "d" (addr), "a" (val) );
+    asm volatile ( "outw %%ax, %%dx" : : "d" (addr), "a" (val) );
 }
 
 void outl(uint16_t addr, uint32_t val)
 {
-    __asm__ __volatile__ ( "outl %%eax, %%dx" : : "d" (addr), "a" (val) );
+    asm volatile ( "outl %%eax, %%dx" : : "d" (addr), "a" (val) );
 }
 
 uint8_t inb(uint16_t addr)
 {
     uint8_t val;
-    __asm__ __volatile__ ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );
+    asm volatile ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );
     return val;
 }
 
 uint16_t inw(uint16_t addr)
 {
     uint16_t val;
-    __asm__ __volatile__ ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
+    asm volatile ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
     return val;
 }
 
 uint32_t inl(uint16_t addr)
 {
     uint32_t val;
-    __asm__ __volatile__ ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
+    asm volatile ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
     return val;
 }
 
@@ -118,7 +136,7 @@ void *memcpy(void *dest, const void *src
 {
     int t0, t1, t2;
 
-    __asm__ __volatile__ (
+    asm volatile (
         "cld\n"
         "rep; movsl\n"
         "testb $2,%b4\n"
@@ -219,7 +237,7 @@ void
 void
 cpuid(uint32_t idx, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
 {
-    __asm__ __volatile__ (
+    asm volatile (
         "cpuid"
         : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
         : "0" (idx) );
@@ -516,14 +534,14 @@ void __assert_failed(char *assertion, ch
     printf("HVMLoader assertion '%s' failed at %s:%d\n",
            assertion, file, line);
     for ( ; ; )
-        __asm__ __volatile__ ( "ud2" );
+        asm volatile ( "ud2" );
 }
 
 void __bug(char *file, int line)
 {
     printf("HVMLoader bug at %s:%d\n", file, line);
     for ( ; ; )
-        __asm__ __volatile__ ( "ud2" );
+        asm volatile ( "ud2" );
 }
 
 static int validate_hvm_info(struct hvm_info_table *t)
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/hvmloader/util.h
--- a/tools/firmware/hvmloader/util.h   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/hvmloader/util.h   Tue Apr 15 11:09:46 2008 -0600
@@ -18,6 +18,10 @@ void __bug(char *file, int line) __attri
 #define BUG() __bug(__FILE__, __LINE__)
 #define BUG_ON(p) do { if (p) BUG(); } while (0)
 #define BUILD_BUG_ON(p) ((void)sizeof(char[1 - 2 * !!(p)]))
+
+/* MSR access */
+void wrmsr(uint32_t idx, uint64_t v);
+uint64_t rdmsr(uint32_t idx);
 
 /* I/O output */
 void outb(uint16_t addr, uint8_t  val);
@@ -74,6 +78,7 @@ static inline void cpu_relax(void)
 #define barrier() asm volatile ( "" : : : "memory" )
 #define rmb()     barrier()
 #define wmb()     barrier()
+#define mb()      asm volatile ( "lock; addl $0,0(%%esp)" : : : "memory" )
 
 /*
  * Divide a 64-bit dividend by a 32-bit divisor.
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/firmware/rombios/32bit/Makefile
--- a/tools/firmware/rombios/32bit/Makefile     Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/firmware/rombios/32bit/Makefile     Tue Apr 15 11:09:46 2008 -0600
@@ -1,16 +1,10 @@
-
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 SOURCES = util.c
 TARGET = 32bitbios_flat.h
 
-CFLAGS += -fno-builtin -O2 -msoft-float -nostdlib
 CFLAGS += -I../ -DGCC_PROTOS
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
 
 SUBDIRS = tcgbios
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 
tools/firmware/rombios/32bit/tcgbios/Makefile
--- a/tools/firmware/rombios/32bit/tcgbios/Makefile     Mon Apr 14 14:04:58 
2008 -0600
+++ b/tools/firmware/rombios/32bit/tcgbios/Makefile     Tue Apr 15 11:09:46 
2008 -0600
@@ -1,16 +1,10 @@
-
-override XEN_TARGET_ARCH = x86_32
 XEN_ROOT = ../../../../..
-CFLAGS :=
-include $(XEN_ROOT)/tools/Rules.mk
+include $(XEN_ROOT)/tools/firmware/Rules.mk
 
 TARGET  = tcgbiosext.o
 FILES   = tcgbios tpm_drivers
 OBJECTS = $(foreach f,$(FILES),$(f).o)
 
-CFLAGS += -fno-builtin -O2 -msoft-float -nostdlib
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
 CFLAGS += -I../ -I../../ -DGCC_PROTOS
 
 .PHONY: all clean
diff -r c0f77a657547 -r 2b3d3aaf8be4 
tools/firmware/rombios/32bit/tcgbios/tcgbios.c
--- a/tools/firmware/rombios/32bit/tcgbios/tcgbios.c    Mon Apr 14 14:04:58 
2008 -0600
+++ b/tools/firmware/rombios/32bit/tcgbios/tcgbios.c    Tue Apr 15 11:09:46 
2008 -0600
@@ -923,7 +923,7 @@ uint32_t HashLogExtendEvent32(struct hle
        struct hlei hlei ; /* HashLogEventInput block */
        struct hleo hleo;  /* HashLogEventOutput block */
        struct hleei_long *hleei_l = (struct hleei_long *)hleei_s;
-       int sh;
+       int sh = 0;
        uint32_t logdataptr;
 
        if (TCG_IsShutdownPreBootInterface() != 0) {
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/Makefile
--- a/tools/ioemu/Makefile      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/Makefile      Tue Apr 15 11:09:46 2008 -0600
@@ -35,7 +35,7 @@ endif
 endif
 endif
 
-TOOLS=
+TOOLS=tapdisk-ioemu
 
 all: $(TOOLS) $(DOCS) recurse-all
 
@@ -43,6 +43,13 @@ subdir-%:
        $(MAKE) -C $(subst subdir-,,$@) all
 
 recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS))
+
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/include
+tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c 
block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c 
block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
+       $(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS) 
$(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
 
 qemu-img$(EXESUF): qemu-img.c cutils.c block.c block-raw.c block-cow.c 
block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c 
block-vpc.c block-vvfat.c block-qcow2.c
        $(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS) 
$(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
@@ -80,7 +87,7 @@ endif
 
 install: all $(if $(BUILD_DOCS),install-doc)
        mkdir -p "$(DESTDIR)$(bindir)"
-#      $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
+       $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(prefix)/sbin"
 #      mkdir -p "$(DESTDIR)$(datadir)"
 #      for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
 #              video.x openbios-sparc32 linux_boot.bin pxe-ne2k_pci.bin \
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/block-cow.c
--- a/tools/ioemu/block-cow.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/block-cow.c   Tue Apr 15 11:09:46 2008 -0600
@@ -246,10 +246,11 @@ static int cow_create(const char *filena
     return 0;
 }
 
-static void cow_flush(BlockDriverState *bs)
+static int cow_flush(BlockDriverState *bs)
 {
     BDRVCowState *s = bs->opaque;
     fsync(s->fd);
+    return 0;
 }
 
 BlockDriver bdrv_cow = {
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/block-vbd.c
--- a/tools/ioemu/block-vbd.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/block-vbd.c   Tue Apr 15 11:09:46 2008 -0600
@@ -49,11 +49,7 @@ typedef struct BDRVVbdState {
 typedef struct BDRVVbdState {
     struct blkfront_dev *dev;
     int fd;
-    int type;
-    int mode;
-    int info;
-    uint64_t sectors;
-    unsigned sector_size;
+    struct blkfront_info info;
     QEMU_LIST_ENTRY(BDRVVbdState) list;
 } BDRVVbdState;
 
@@ -81,13 +77,13 @@ static int vbd_open(BlockDriverState *bs
     //handy to test posix access
     //return -EIO;
 
-    s->dev = init_blkfront((char *) filename, &s->sectors, &s->sector_size, 
&s->mode, &s->info);
+    s->dev = init_blkfront((char *) filename, &s->info);
 
     if (!s->dev)
        return -EIO;
 
-    if (SECTOR_SIZE % s->sector_size) {
-       printf("sector size is %d, we only support sector sizes that divide 
%d\n", s->sector_size, SECTOR_SIZE);
+    if (SECTOR_SIZE % s->info.sector_size) {
+       printf("sector size is %d, we only support sector sizes that divide 
%d\n", s->info.sector_size, SECTOR_SIZE);
        return -EIO;
     }
 
@@ -267,6 +263,32 @@ static void vbd_aio_cancel(BlockDriverAI
     // Try to cancel. If can't, wait for it, drop the callback and call 
qemu_aio_release(acb)
 }
 
+static void vbd_nop_cb(void *opaque, int ret)
+{
+}
+
+static BlockDriverAIOCB *vbd_aio_flush(BlockDriverState *bs,
+        BlockDriverCompletionFunc *cb, void *opaque)
+{
+    BDRVVbdState *s = bs->opaque;
+    VbdAIOCB *acb = NULL;
+
+    if (s->info.barrier == 1) {
+        acb = vbd_aio_setup(bs, 0, NULL, 0,
+                s->info.flush == 1 ? vbd_nop_cb : cb, opaque);
+        if (!acb)
+            return NULL;
+        blkfront_aio_push_operation(&acb->aiocb, BLKIF_OP_WRITE_BARRIER);
+    }
+    if (s->info.flush == 1) {
+        acb = vbd_aio_setup(bs, 0, NULL, 0, cb, opaque);
+        if (!acb)
+            return NULL;
+        blkfront_aio_push_operation(&acb->aiocb, BLKIF_OP_FLUSH_DISKCACHE);
+    }
+    return &acb->common;
+}
+
 static void vbd_close(BlockDriverState *bs)
 {
     BDRVVbdState *s = bs->opaque;
@@ -282,13 +304,14 @@ static int64_t  vbd_getlength(BlockDrive
 static int64_t  vbd_getlength(BlockDriverState *bs)
 {
     BDRVVbdState *s = bs->opaque;
-    return s->sectors * s->sector_size;
-}
-
-static void vbd_flush(BlockDriverState *bs)
+    return s->info.sectors * s->info.sector_size;
+}
+
+static int vbd_flush(BlockDriverState *bs)
 {
     BDRVVbdState *s = bs->opaque;
     blkfront_sync(s->dev);
+    return 0;
 }
 
 /***********************************************/
@@ -333,6 +356,7 @@ BlockDriver bdrv_vbd = {
     .bdrv_aio_read = vbd_aio_read,
     .bdrv_aio_write = vbd_aio_write,
     .bdrv_aio_cancel = vbd_aio_cancel,
+    .bdrv_aio_flush = vbd_aio_flush,
     .aiocb_size = sizeof(VbdAIOCB),
     .bdrv_read = vbd_read,
     .bdrv_write = vbd_write,
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/block.c
--- a/tools/ioemu/block.c       Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/block.c       Tue Apr 15 11:09:46 2008 -0600
@@ -347,8 +347,8 @@ int bdrv_open2(BlockDriverState *bs, con
                BlockDriver *drv)
 {
     int ret, open_flags;
-    char tmp_filename[1024];
-    char backing_filename[1024];
+    char tmp_filename[PATH_MAX];
+    char backing_filename[PATH_MAX];
     
     bs->read_only = 0;
     bs->is_temporary = 0;
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/hw/ide.c
--- a/tools/ioemu/hw/ide.c      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/hw/ide.c      Tue Apr 15 11:09:46 2008 -0600
@@ -655,12 +655,13 @@ static void ide_identify(IDEState *s)
     put_le16(p + 68, 120);
     put_le16(p + 80, 0xf0); /* ata3 -> ata6 supported */
     put_le16(p + 81, 0x16); /* conforms to ata5 */
-    put_le16(p + 82, (1 << 14));
+    /* 14=nop 5=write_cache */
+    put_le16(p + 82, (1 << 14) | (1 << 5));
     /* 13=flush_cache_ext,12=flush_cache,10=lba48 */
     put_le16(p + 83, (1 << 14) | (1 << 13) | (1 <<12) | (1 << 10));
     put_le16(p + 84, (1 << 14));
     /* 14=nop 5=write_cache */
-    put_le16(p + 85, (1 << 14) | (1 << 5));
+    put_le16(p + 85, (1 << 14) | (s->write_cache << 5));
     /* 13=flush_cache_ext,12=flush_cache,10=lba48 */
     put_le16(p + 86, (1 << 14) | (1 << 13) | (1 <<12) | (1 << 10));
     put_le16(p + 87, (1 << 14));
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/hw/rtl8139.c
--- a/tools/ioemu/hw/rtl8139.c  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/hw/rtl8139.c  Tue Apr 15 11:09:46 2008 -0600
@@ -1416,12 +1416,28 @@ static uint32_t rtl8139_ChipCmd_read(RTL
 
 static void rtl8139_CpCmd_write(RTL8139State *s, uint32_t val)
 {
+    int i;
+
     val &= 0xffff;
 
     DEBUG_PRINT(("RTL8139C+ command register write(w) val=0x%04x\n", val));
 
     /* mask unwriteable bits */
     val = SET_MASKED(val, 0xff84, s->CpCmd);
+
+    if (  (s->CpCmd & CPlusTxEnb) &&
+         !(val      & CPlusTxEnb) )
+    {
+        /* Reset TX status when the transmitter drops from C+ to
+           non-C+ mode.  Windows has a habit of turning off C+ and
+           then waiting for the TX requests to clear as part of shut
+           down, and you get stuck forever if there are old DTCRs in
+           the registers. */
+        for (i = 0; i < 4; i++)
+        {
+            s->TxStatus[i] = TxHostOwns;
+        }
+    }
 
     s->CpCmd = val;
 }
@@ -1765,6 +1781,7 @@ static int rtl8139_transmit_one(RTL8139S
     {
         DEBUG_PRINT(("RTL8139: +++ cannot transmit from descriptor %d: 
transmitter disabled\n",
                      descriptor));
+        s->TxStatus[descriptor] = TxAborted | TxHostOwns;
         return 0;
     }
 
@@ -1772,6 +1789,7 @@ static int rtl8139_transmit_one(RTL8139S
     {
         DEBUG_PRINT(("RTL8139: +++ cannot transmit from descriptor %d: owned 
by host (%08x)\n",
                      descriptor, s->TxStatus[descriptor]));
+        s->TxStatus[descriptor] = TxAborted | TxHostOwns;
         return 0;
     }
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/hw/xen_machine_fv.c
--- a/tools/ioemu/hw/xen_machine_fv.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/hw/xen_machine_fv.c   Tue Apr 15 11:09:46 2008 -0600
@@ -205,6 +205,7 @@ static void xen_init_fv(uint64_t ram_siz
     }
 #endif
 
+    xc_set_hvm_param(xc_handle, domid, HVM_PARAM_DM_DOMAIN, DOMID_SELF);
     xc_get_hvm_param(xc_handle, domid, HVM_PARAM_IOREQ_PFN, &ioreq_pfn);
     fprintf(logfile, "shared page at pfn %lx\n", ioreq_pfn);
     shared_page = xc_map_foreign_range(xc_handle, domid, XC_PAGE_SIZE,
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/osdep.c
--- a/tools/ioemu/osdep.c       Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/osdep.c       Tue Apr 15 11:09:46 2008 -0600
@@ -21,6 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
+#include "config-host.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdarg.h>
@@ -32,7 +34,6 @@
 #include <sys/statvfs.h>
 #endif
 
-#include "cpu.h"
 #if defined(USE_KQEMU)
 #include "vl.h"
 #endif
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/qemu-img.c
--- a/tools/ioemu/qemu-img.c    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/qemu-img.c    Tue Apr 15 11:09:46 2008 -0600
@@ -594,8 +594,8 @@ static int img_info(int argc, char **arg
     BlockDriverState *bs;
     char fmt_name[128], size_buf[128], dsize_buf[128];
     int64_t total_sectors, allocated_size;
-    char backing_filename[1024];
-    char backing_filename2[1024];
+    char backing_filename[PATH_MAX];
+    char backing_filename2[PATH_MAX];
     BlockDriverInfo bdi;
 
     fmt = NULL;
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/tapdisk-ioemu.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/ioemu/tapdisk-ioemu.c       Tue Apr 15 11:09:46 2008 -0600
@@ -0,0 +1,142 @@
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <signal.h>
+#include <sys/time.h>
+
+#include <assert.h>
+
+extern int init_blktap(void);
+extern void qemu_aio_init(void);
+extern void qemu_aio_poll(void);
+extern void bdrv_init(void);
+
+extern void *qemu_mallocz(size_t size);
+extern void qemu_free(void *ptr);
+
+int domid = 0;
+FILE* logfile;
+
+void term_printf(const char *fmt, ...)
+{
+    va_list ap;
+    va_start(ap, fmt);
+    vprintf(fmt, ap);
+    va_end(ap);
+}
+
+void term_print_filename(const char *filename)
+{
+    term_printf(filename);
+}
+
+
+typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size);
+typedef int IOCanRWHandler(void *opaque);
+typedef void IOHandler(void *opaque);
+
+typedef struct IOHandlerRecord {
+    int fd;
+    IOCanRWHandler *fd_read_poll;
+    IOHandler *fd_read;
+    IOHandler *fd_write;
+    int deleted;
+    void *opaque;
+    /* temporary data */
+    struct pollfd *ufd;
+    struct IOHandlerRecord *next;
+} IOHandlerRecord;
+
+static IOHandlerRecord *first_io_handler;
+
+int qemu_set_fd_handler2(int fd, 
+                         IOCanRWHandler *fd_read_poll, 
+                         IOHandler *fd_read, 
+                         IOHandler *fd_write, 
+                         void *opaque)
+{
+    IOHandlerRecord *ioh;
+
+    /* This is a stripped down version of fd handling */
+    assert(fd_read_poll == NULL);
+    assert(fd_write == NULL);
+
+    for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
+        if (ioh->fd == fd)
+            goto found;
+    
+    if (!fd_read && !fd_write)
+        return 0;
+        
+    ioh = qemu_mallocz(sizeof(IOHandlerRecord));
+    if (!ioh)
+        return -1;
+    ioh->next = first_io_handler;
+    first_io_handler = ioh;
+
+found:
+    if (!fd_read && !fd_write) {
+        ioh->deleted = 1;
+    } else {
+        ioh->fd = fd;
+        ioh->fd_read = fd_read;
+        ioh->opaque = opaque;
+        ioh->deleted = 0;
+    }
+
+    return 0;
+}
+
+int main(void) 
+{
+    IOHandlerRecord *ioh, **pioh;
+    int max_fd;
+    fd_set rfds;
+    struct timeval tv;
+
+    logfile = stderr;
+    
+    bdrv_init();
+    qemu_aio_init();
+    init_blktap();
+   
+    /* 
+     * Main loop: Pass events to the corrsponding handlers and check for
+     * completed aio operations.
+     */
+    while (1) {
+        qemu_aio_poll();
+
+        max_fd = -1;
+        FD_ZERO(&rfds);
+        for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
+            if (!ioh->deleted) {
+                FD_SET(ioh->fd, &rfds);
+                max_fd = max_fd > ioh->fd ? max_fd : ioh->fd;
+            }
+
+        tv.tv_sec = 0;
+        tv.tv_usec = 10000;
+        if (select(max_fd + 1, &rfds, NULL, NULL, &tv) <= 0)
+            continue;
+            
+        /* Call handlers */
+        for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
+            if (FD_ISSET(ioh->fd, &rfds))
+                ioh->fd_read(ioh->opaque);
+
+        /* Remove deleted IO handlers */
+        pioh = &first_io_handler;
+        while (*pioh) {
+            ioh = *pioh;
+            if (ioh->deleted) {
+                *pioh = ioh->next;
+                qemu_free(ioh);
+            } else 
+                pioh = &ioh->next;
+        }
+    }
+    return 0;
+}
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/target-i386-dm/helper2.c
--- a/tools/ioemu/target-i386-dm/helper2.c      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/target-i386-dm/helper2.c      Tue Apr 15 11:09:46 2008 -0600
@@ -391,8 +391,6 @@ void timeoffset_get(void)
        fprintf(logfile, "Time offset set %ld\n", time_offset);
     else
        time_offset = 0;
-
-    xc_domain_set_time_offset(xc_handle, domid, time_offset);
 
     free(p);
 }
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/vl.c
--- a/tools/ioemu/vl.c  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/vl.c  Tue Apr 15 11:09:46 2008 -0600
@@ -1762,7 +1762,8 @@ static int store_dev_info(char *devName,
                           CharDriverState *cState, char *storeString)
 {
 #ifdef CONFIG_STUBDOM
-    return 0;
+    fprintf(logfile, "can't store dev %s name for domid %d in %s from a stub 
domain\n", devName, domid, storeString);
+    return ENOSYS;
 #else
     int xc_handle;
     struct xs_handle *xs;
@@ -7017,26 +7018,12 @@ int unset_mm_mapping(int xc_handle, uint
                      xen_pfn_t *extent_start)
 {
     int err = 0;
-    xc_dominfo_t info;
-
-    xc_domain_getinfo(xc_handle, domid, 1, &info);
-    if ((info.nr_pages - nr_pages) <= 0) {
-        fprintf(stderr, "unset_mm_mapping: error nr_pages\n");
-        err = -1;
-    }
 
     err = xc_domain_memory_decrease_reservation(xc_handle, domid,
                                                 nr_pages, 0, extent_start);
     if (err)
         fprintf(stderr, "Failed to decrease physmap\n");
 
-
-    if (xc_domain_setmaxmem(xc_handle, domid, (info.nr_pages - nr_pages) *
-                            PAGE_SIZE/1024) != 0) {
-        fprintf(logfile, "set maxmem returned error %d\n", errno);
-        err = -1;
-    }
-
     return err;
 }
 
@@ -7044,16 +7031,7 @@ int set_mm_mapping(int xc_handle, uint32
                    unsigned long nr_pages, unsigned int address_bits,
                    xen_pfn_t *extent_start)
 {
-    xc_dominfo_t info;
     int err = 0;
-
-    xc_domain_getinfo(xc_handle, domid, 1, &info);
-
-    if (xc_domain_setmaxmem(xc_handle, domid, info.max_memkb +
-                            nr_pages * PAGE_SIZE/1024) != 0) {
-        fprintf(logfile, "set maxmem returned error %d\n", errno);
-        return -1;
-    }
 
     err = xc_domain_memory_populate_physmap(xc_handle, domid, nr_pages, 0,
                                             address_bits, extent_start);
@@ -7688,11 +7666,13 @@ int main(int argc, char **argv)
     bdrv_init();
     xc_handle = xc_interface_open();
 #ifdef CONFIG_STUBDOM
-    char *domid_s, *msg;
-    if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
-        fprintf(stderr,"Can not read our own domid\n", msg);
-    else
-        xenstore_parse_domain_config(atoi(domid_s));
+    {
+        char *domid_s, *msg;
+        if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
+            fprintf(stderr,"Can not read our own domid: %s\n", msg);
+        else
+            xenstore_parse_domain_config(atoi(domid_s));
+    }
 #else /* CONFIG_STUBDOM */
     xenstore_parse_domain_config(domid);
 #endif /* CONFIG_STUBDOM */
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/vl.h
--- a/tools/ioemu/vl.h  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/vl.h  Tue Apr 15 11:09:46 2008 -0600
@@ -159,7 +159,7 @@ extern FILE *logfile;
 extern FILE *logfile;
 
 
-#if defined(__i386__) || defined(__x86_64__)
+#if (defined(__i386__) || defined(__x86_64__)) && !defined(QEMU_TOOL)
 #define MAPCACHE
 uint8_t *qemu_map_cache(target_phys_addr_t phys_addr);
 void     qemu_invalidate_map_cache(void);
@@ -1553,7 +1553,9 @@ void timeoffset_get(void);
 void timeoffset_get(void);
 
 /* xen_platform.c */
+#ifndef QEMU_TOOL
 void pci_xen_platform_init(PCIBus *bus);
+#endif
 
 
 void kqemu_record_dump(void);
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/ioemu/xenstore.c
--- a/tools/ioemu/xenstore.c    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/ioemu/xenstore.c    Tue Apr 15 11:09:46 2008 -0600
@@ -347,10 +347,6 @@ extern int vga_ram_size, bios_size;
 
 void xenstore_process_logdirty_event(void)
 {
-#ifdef CONFIG_STUBDOM
-    /* XXX we just can't use shm. */
-    return;
-#else
     char *act;
     static char *active_path = NULL;
     static char *next_active_path = NULL;
@@ -392,6 +388,12 @@ void xenstore_process_logdirty_event(voi
         /* Map the shared-memory segment */
         fprintf(logfile, "%s: key=%16.16llx size=%lu\n", __FUNCTION__,
                 (unsigned long long)key, logdirty_bitmap_size);
+
+#ifdef CONFIG_STUBDOM
+        /* XXX we just can't use shm. */
+        fprintf(logfile, "Log dirty is not implemented in stub domains!\n");
+        return;
+#else
         shmid = shmget(key, 2 * logdirty_bitmap_size, S_IRUSR|S_IWUSR);
         if (shmid == -1) {
             fprintf(logfile, "Log-dirty: shmget failed: segment %16.16llx "
@@ -417,6 +419,7 @@ void xenstore_process_logdirty_event(voi
             seg = NULL;
             return;
         }
+#endif
 
         /* Remember the paths for the next-active and active entries */
         if (pasprintf(&active_path, 
@@ -453,7 +456,6 @@ void xenstore_process_logdirty_event(voi
     /* Ack that we've switched */
     xs_write(xsh, XBT_NULL, active_path, act, len);
     free(act);
-#endif
 }
 
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xc_domain.c
--- a/tools/libxc/xc_domain.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xc_domain.c   Tue Apr 15 11:09:46 2008 -0600
@@ -7,6 +7,7 @@
  */
 
 #include "xc_private.h"
+#include "xg_save_restore.h"
 #include <xen/memory.h>
 #include <xen/hvm/hvm_op.h>
 
@@ -301,18 +302,27 @@ int xc_vcpu_getcontext(int xc_handle,
 {
     int rc;
     DECLARE_DOMCTL;
+    size_t sz = sizeof(vcpu_guest_context_either_t);
 
     domctl.cmd = XEN_DOMCTL_getvcpucontext;
     domctl.domain = (domid_t)domid;
     domctl.u.vcpucontext.vcpu   = (uint16_t)vcpu;
     set_xen_guest_handle(domctl.u.vcpucontext.ctxt, ctxt);
 
-    if ( (rc = lock_pages(ctxt, sizeof(*ctxt))) != 0 )
-        return rc;
+    /*
+     * We may be asked to lock either a 32-bit or a 64-bit context. Lock the
+     * larger of the two if possible, otherwise fall back to native size.
+     */
+    if ( (rc = lock_pages(ctxt, sz)) != 0 )
+    {
+        sz = sizeof(*ctxt);
+        if ( (rc = lock_pages(ctxt, sz)) != 0 )
+            return rc;
+    }
 
     rc = do_domctl(xc_handle, &domctl);
 
-    unlock_pages(ctxt, sizeof(*ctxt));
+    unlock_pages(ctxt, sz);
 
     return rc;
 }
@@ -620,19 +630,28 @@ int xc_vcpu_setcontext(int xc_handle,
 {
     DECLARE_DOMCTL;
     int rc;
+    size_t sz = sizeof(vcpu_guest_context_either_t);
 
     domctl.cmd = XEN_DOMCTL_setvcpucontext;
     domctl.domain = domid;
     domctl.u.vcpucontext.vcpu = vcpu;
     set_xen_guest_handle(domctl.u.vcpucontext.ctxt, ctxt);
 
-    if ( (ctxt != NULL) && ((rc = lock_pages(ctxt, sizeof(*ctxt))) != 0) )
-        return rc;
+    /*
+     * We may be asked to lock either a 32-bit or a 64-bit context. Lock the
+     * larger of the two if possible, otherwise fall back to native size.
+     */
+    if ( (ctxt != NULL) && (rc = lock_pages(ctxt, sz)) != 0 )
+    {
+        sz = sizeof(*ctxt);
+        if ( (rc = lock_pages(ctxt, sz)) != 0 )
+            return rc;
+    }
 
     rc = do_domctl(xc_handle, &domctl);
 
     if ( ctxt != NULL )
-        unlock_pages(ctxt, sizeof(*ctxt));
+        unlock_pages(ctxt, sz);
 
     return rc;
 }
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xc_domain_restore.c
--- a/tools/libxc/xc_domain_restore.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xc_domain_restore.c   Tue Apr 15 11:09:46 2008 -0600
@@ -284,7 +284,8 @@ int xc_domain_restore(int xc_handle, int
     /* The new domain's shared-info frame number. */
     unsigned long shared_info_frame;
     unsigned char shared_info_page[PAGE_SIZE]; /* saved contents from file */
-    shared_info_either_t *old_shared_info = (shared_info_either_t 
*)shared_info_page;
+    shared_info_either_t *old_shared_info = 
+        (shared_info_either_t *)shared_info_page;
     shared_info_either_t *new_shared_info;
 
     /* A copy of the CPU context of the guest. */
@@ -349,13 +350,6 @@ int xc_domain_restore(int xc_handle, int
     guest_width = sizeof(unsigned long);
     pt_levels = (guest_width == 8) ? 4 : (pt_levels == 2) ? 2 : 3; 
     
-    if ( lock_pages(&ctxt, sizeof(ctxt)) )
-    {
-        /* needed for build domctl, but might as well do early */
-        ERROR("Unable to lock ctxt");
-        return 1;
-    }
-
     if ( !hvm ) 
     {
         /* Load the p2m frame list, plus potential extended info chunk */
@@ -380,8 +374,11 @@ int xc_domain_restore(int xc_handle, int
     /* We want zeroed memory so use calloc rather than malloc. */
     p2m        = calloc(p2m_size, MAX(guest_width, sizeof (xen_pfn_t))); 
     pfn_type   = calloc(p2m_size, sizeof(unsigned long));
-    region_mfn = calloc(MAX_BATCH_SIZE, sizeof(xen_pfn_t));
-    p2m_batch  = calloc(MAX_BATCH_SIZE, sizeof(xen_pfn_t));
+
+    region_mfn = xg_memalign(PAGE_SIZE, ROUNDUP(
+                              MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT));
+    p2m_batch  = xg_memalign(PAGE_SIZE, ROUNDUP(
+                              MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT));
 
     if ( (p2m == NULL) || (pfn_type == NULL) ||
          (region_mfn == NULL) || (p2m_batch == NULL) )
@@ -390,6 +387,11 @@ int xc_domain_restore(int xc_handle, int
         errno = ENOMEM;
         goto out;
     }
+
+    memset(region_mfn, 0,
+           ROUNDUP(MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT)); 
+    memset(p2m_batch, 0,
+           ROUNDUP(MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT)); 
 
     if ( lock_pages(region_mfn, sizeof(xen_pfn_t) * MAX_BATCH_SIZE) )
     {
@@ -974,6 +976,12 @@ int xc_domain_restore(int xc_handle, int
             else
                 DPRINTF("Decreased reservation by %d pages\n", count);
         }
+    }
+
+    if ( lock_pages(&ctxt, sizeof(ctxt)) )
+    {
+        ERROR("Unable to lock ctxt");
+        return 1;
     }
 
     for ( i = 0; i <= max_vcpu_id; i++ )
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xc_domain_save.c
--- a/tools/libxc/xc_domain_save.c      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xc_domain_save.c      Tue Apr 15 11:09:46 2008 -0600
@@ -223,7 +223,7 @@ static int ratewrite(int io_fd, int live
                 {
                     budget += BURST_BUDGET;
                     last_put.tv_usec += burst_time_us;
-                    if ( last_put.tv_usec > 1000000 
+                    if ( last_put.tv_usec > 1000000 )
                     {
                         last_put.tv_usec -= 1000000;
                         last_put.tv_sec++;
@@ -939,9 +939,9 @@ int xc_domain_save(int xc_handle, int io
     sent_last_iter = p2m_size;
 
     /* Setup to_send / to_fix and to_skip bitmaps */
-    to_send = malloc(BITMAP_SIZE);
+    to_send = xg_memalign(PAGE_SIZE, ROUNDUP(BITMAP_SIZE, PAGE_SHIFT)); 
     to_fix  = calloc(1, BITMAP_SIZE);
-    to_skip = malloc(BITMAP_SIZE);
+    to_skip = xg_memalign(PAGE_SIZE, ROUNDUP(BITMAP_SIZE, PAGE_SHIFT)); 
 
     if ( !to_send || !to_fix || !to_skip )
     {
@@ -983,8 +983,8 @@ int xc_domain_save(int xc_handle, int io
 
     analysis_phase(xc_handle, dom, p2m_size, to_skip, 0);
 
-    /* We want zeroed memory so use calloc rather than malloc. */
-    pfn_type   = calloc(MAX_BATCH_SIZE, sizeof(*pfn_type));
+    pfn_type   = xg_memalign(PAGE_SIZE, ROUNDUP(
+                              MAX_BATCH_SIZE * sizeof(*pfn_type), PAGE_SHIFT));
     pfn_batch  = calloc(MAX_BATCH_SIZE, sizeof(*pfn_batch));
     if ( (pfn_type == NULL) || (pfn_batch == NULL) )
     {
@@ -992,10 +992,12 @@ int xc_domain_save(int xc_handle, int io
         errno = ENOMEM;
         goto out;
     }
+    memset(pfn_type, 0,
+           ROUNDUP(MAX_BATCH_SIZE * sizeof(*pfn_type), PAGE_SHIFT));
 
     if ( lock_pages(pfn_type, MAX_BATCH_SIZE * sizeof(*pfn_type)) )
     {
-        ERROR("Unable to lock");
+        ERROR("Unable to lock pfn_type array");
         goto out;
     }
 
@@ -1048,7 +1050,7 @@ int xc_domain_save(int xc_handle, int io
     /* Now write out each data page, canonicalising page tables as we go... */
     for ( ; ; )
     {
-        unsigned int prev_pc, sent_this_iter, N, batch;
+        unsigned int prev_pc, sent_this_iter, N, batch, run;
 
         iter++;
         sent_this_iter = 0;
@@ -1225,6 +1227,7 @@ int xc_domain_save(int xc_handle, int io
             }
 
             /* entering this loop, pfn_type is now in pfns (Not mfns) */
+            run = 0;
             for ( j = 0; j < batch; j++ )
             {
                 unsigned long pfn, pagetype;
@@ -1233,7 +1236,25 @@ int xc_domain_save(int xc_handle, int io
                 pfn      = pfn_type[j] & ~XEN_DOMCTL_PFINFO_LTAB_MASK;
                 pagetype = pfn_type[j] &  XEN_DOMCTL_PFINFO_LTAB_MASK;
 
-                /* write out pages in batch */
+                if ( pagetype != 0 )
+                {
+                    /* If the page is not a normal data page, write out any
+                       run of pages we may have previously acumulated */
+                    if ( run )
+                    {
+                        if ( ratewrite(io_fd, live, 
+                                       (char*)region_base+(PAGE_SIZE*(j-run)), 
+                                       PAGE_SIZE*run) != PAGE_SIZE*run )
+                        {
+                            ERROR("Error when writing to state file (4a)"
+                                  " (errno %d)", errno);
+                            goto out;
+                        }                        
+                        run = 0;
+                    }
+                }
+
+                /* skip pages that aren't present */
                 if ( pagetype == XEN_DOMCTL_PFINFO_XTAB )
                     continue;
 
@@ -1255,23 +1276,30 @@ int xc_domain_save(int xc_handle, int io
 
                     if ( ratewrite(io_fd, live, page, PAGE_SIZE) != PAGE_SIZE )
                     {
-                        ERROR("Error when writing to state file (4)"
+                        ERROR("Error when writing to state file (4b)"
                               " (errno %d)", errno);
                         goto out;
                     }
                 }
                 else
                 {
-                    /* We have a normal page: just write it directly. */
-                    if ( ratewrite(io_fd, live, spage, PAGE_SIZE) !=
-                         PAGE_SIZE )
-                    {
-                        ERROR("Error when writing to state file (5)"
-                              " (errno %d)", errno);
-                        goto out;
-                    }
+                    /* We have a normal page: accumulate it for writing. */
+                    run++;
                 }
             } /* end of the write out for this batch */
+
+            if ( run )
+            {
+                /* write out the last accumulated run of pages */
+                if ( ratewrite(io_fd, live, 
+                               (char*)region_base+(PAGE_SIZE*(j-run)), 
+                               PAGE_SIZE*run) != PAGE_SIZE*run )
+                {
+                    ERROR("Error when writing to state file (4c)"
+                          " (errno %d)", errno);
+                    goto out;
+                }                        
+            }
 
             sent_this_iter += batch;
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xc_evtchn.c
--- a/tools/libxc/xc_evtchn.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xc_evtchn.c   Tue Apr 15 11:09:46 2008 -0600
@@ -9,7 +9,8 @@
 #include "xc_private.h"
 
 
-static int do_evtchn_op(int xc_handle, int cmd, void *arg, size_t arg_size)
+static int do_evtchn_op(int xc_handle, int cmd, void *arg,
+                        size_t arg_size, int silently_fail)
 {
     int ret = -1;
     DECLARE_HYPERCALL;
@@ -24,7 +25,7 @@ static int do_evtchn_op(int xc_handle, i
         goto out;
     }
 
-    if ((ret = do_xen_hypercall(xc_handle, &hypercall)) < 0)
+    if ((ret = do_xen_hypercall(xc_handle, &hypercall)) < 0 && !silently_fail)
         ERROR("do_evtchn_op: HYPERVISOR_event_channel_op failed: %d", ret);
 
     unlock_pages(arg, arg_size);
@@ -44,7 +45,7 @@ xc_evtchn_alloc_unbound(int xc_handle,
         .remote_dom = (domid_t)remote_dom
     };
 
-    rc = do_evtchn_op(xc_handle, EVTCHNOP_alloc_unbound, &arg, sizeof(arg));
+    rc = do_evtchn_op(xc_handle, EVTCHNOP_alloc_unbound, &arg, sizeof(arg), 0);
     if ( rc == 0 )
         rc = arg.port;
 
@@ -55,5 +56,20 @@ int xc_evtchn_reset(int xc_handle,
                     uint32_t dom)
 {
     struct evtchn_reset arg = { .dom = (domid_t)dom };
-    return do_evtchn_op(xc_handle, EVTCHNOP_reset, &arg, sizeof(arg));
+    return do_evtchn_op(xc_handle, EVTCHNOP_reset, &arg, sizeof(arg), 0);
 }
+
+int xc_evtchn_status(int xc_handle,
+                     uint32_t dom,
+                     uint32_t port)
+{
+    int rc;
+    struct evtchn_status arg = { .dom = (domid_t)dom,
+                                 .port = (evtchn_port_t)port };
+
+    rc = do_evtchn_op(xc_handle, EVTCHNOP_status, &arg, sizeof(arg), 1);
+    if ( rc == 0 )
+        rc = arg.status;
+
+    return rc;
+}
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xc_hvm_build.c
--- a/tools/libxc/xc_hvm_build.c        Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xc_hvm_build.c        Tue Apr 15 11:09:46 2008 -0600
@@ -20,6 +20,13 @@
 #include <xen/libelf.h>
 
 #define SCRATCH_PFN 0xFFFFF
+
+#define SPECIALPAGE_GUARD    0
+#define SPECIALPAGE_BUFIOREQ 1
+#define SPECIALPAGE_XENSTORE 2
+#define SPECIALPAGE_IOREQ    3
+#define SPECIALPAGE_IDENT_PT 4
+#define NR_SPECIAL_PAGES     5
 
 static void build_e820map(void *e820_page, unsigned long long mem_size)
 {
@@ -77,21 +84,16 @@ static void build_e820map(void *e820_pag
     e820entry[nr_map].type = E820_RESERVED;
     nr_map++;
 
-    /*
-     * Low RAM goes here. Remove 4 pages for: ioreq, bufioreq, and xenstore.
-     *  1. Guard page.
-     *  2. Buffered ioreq.
-     *  3. Xenstore.
-     *  4. Normal ioreq.
-     */
+    /* Low RAM goes here. Reserve space for special pages. */
     e820entry[nr_map].addr = 0x100000;
-    e820entry[nr_map].size = mem_size - 0x100000 - PAGE_SIZE * 4;
+    e820entry[nr_map].size = (mem_size - 0x100000 -
+                              PAGE_SIZE * NR_SPECIAL_PAGES);
     e820entry[nr_map].type = E820_RAM;
     nr_map++;
 
-    /* Explicitly reserve space for special pages. */
-    e820entry[nr_map].addr = mem_size - PAGE_SIZE * 3;
-    e820entry[nr_map].size = PAGE_SIZE * 3;
+    /* Explicitly reserve space for special pages (excluding guard page). */
+    e820entry[nr_map].addr = mem_size - PAGE_SIZE * (NR_SPECIAL_PAGES - 1);
+    e820entry[nr_map].size = PAGE_SIZE * (NR_SPECIAL_PAGES - 1);
     e820entry[nr_map].type = E820_RESERVED;
     nr_map++;
 
@@ -156,10 +158,11 @@ static int setup_guest(int xc_handle,
 {
     xen_pfn_t *page_array = NULL;
     unsigned long i, nr_pages = (unsigned long)memsize << (20 - PAGE_SHIFT);
-    unsigned long shared_page_nr, entry_eip;
+    unsigned long special_page_nr, entry_eip, cur_pages;
     struct xen_add_to_physmap xatp;
     struct shared_info *shared_info;
     void *e820_page;
+    uint32_t *ident_pt;
     struct elf_binary elf;
     uint64_t v_start, v_end;
     int rc;
@@ -206,12 +209,23 @@ static int setup_guest(int xc_handle,
     for ( i = HVM_BELOW_4G_RAM_END >> PAGE_SHIFT; i < nr_pages; i++ )
         page_array[i] += HVM_BELOW_4G_MMIO_LENGTH >> PAGE_SHIFT;
 
-    /* Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000. */
+    /*
+     * Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000.
+     * We allocate pages in batches of no more than 2048 to ensure that
+     * we can be preempted and hence dom0 remains responsive.
+     */
     rc = xc_domain_memory_populate_physmap(
         xc_handle, dom, 0xa0, 0, 0, &page_array[0x00]);
-    if ( rc == 0 )
+    cur_pages = 0xc0;
+    while ( (rc == 0) && (nr_pages > cur_pages) )
+    {
+        unsigned long count = nr_pages - cur_pages;
+        if ( count > 2048 )
+            count = 2048;
         rc = xc_domain_memory_populate_physmap(
-            xc_handle, dom, nr_pages - 0xc0, 0, 0, &page_array[0xc0]);
+            xc_handle, dom, count, 0, 0, &page_array[cur_pages]);
+        cur_pages += count;
+    }
     if ( rc != 0 )
     {
         PERROR("Could not allocate memory for HVM guest.\n");
@@ -245,29 +259,46 @@ static int setup_guest(int xc_handle,
            sizeof(shared_info->evtchn_mask));
     munmap(shared_info, PAGE_SIZE);
 
-    if ( v_end > HVM_BELOW_4G_RAM_END )
-        shared_page_nr = (HVM_BELOW_4G_RAM_END >> PAGE_SHIFT) - 1;
-    else
-        shared_page_nr = (v_end >> PAGE_SHIFT) - 1;
+    special_page_nr = (((v_end > HVM_BELOW_4G_RAM_END)
+                        ? (HVM_BELOW_4G_RAM_END >> PAGE_SHIFT)
+                        : (v_end >> PAGE_SHIFT))
+                       - NR_SPECIAL_PAGES);
+
+    /* Paranoia: clean special pages. */
+    for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
+        if ( xc_clear_domain_page(xc_handle, dom, special_page_nr + i) )
+            goto error_out;
 
     /* Free the guard page that separates low RAM from special pages. */
     rc = xc_domain_memory_decrease_reservation(
-            xc_handle, dom, 1, 0, &page_array[shared_page_nr-3]);
+        xc_handle, dom, 1, 0, &page_array[special_page_nr]);
     if ( rc != 0 )
     {
         PERROR("Could not deallocate guard page for HVM guest.\n");
         goto error_out;
     }
 
-    /* Paranoia: clean pages. */
-    if ( xc_clear_domain_page(xc_handle, dom, shared_page_nr) ||
-         xc_clear_domain_page(xc_handle, dom, shared_page_nr-1) ||
-         xc_clear_domain_page(xc_handle, dom, shared_page_nr-2) )
-        goto error_out;
-
-    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_STORE_PFN, shared_page_nr-1);
-    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_BUFIOREQ_PFN, shared_page_nr-2);
-    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IOREQ_PFN, shared_page_nr);
+    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_STORE_PFN,
+                     special_page_nr + SPECIALPAGE_XENSTORE);
+    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_BUFIOREQ_PFN,
+                     special_page_nr + SPECIALPAGE_BUFIOREQ);
+    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IOREQ_PFN,
+                     special_page_nr + SPECIALPAGE_IOREQ);
+
+    /*
+     * Identity-map page table is required for running with CR0.PG=0 when
+     * using Intel EPT. Create a 32-bit non-PAE page directory of superpages.
+     */
+    if ( (ident_pt = xc_map_foreign_range(
+              xc_handle, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
+              special_page_nr + SPECIALPAGE_IDENT_PT)) == NULL )
+        goto error_out;
+    for ( i = 0; i < PAGE_SIZE / sizeof(*ident_pt); i++ )
+        ident_pt[i] = ((i << 22) | _PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
+                       _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
+    munmap(ident_pt, PAGE_SIZE);
+    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IDENT_PT,
+                     special_page_nr + SPECIALPAGE_IDENT_PT);
 
     /* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
     entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xenctrl.h     Tue Apr 15 11:09:46 2008 -0600
@@ -470,6 +470,9 @@ xc_evtchn_alloc_unbound(int xc_handle,
 
 int xc_evtchn_reset(int xc_handle,
                     uint32_t dom);
+int xc_evtchn_status(int xc_handle,
+                     uint32_t dom,
+                     uint32_t port);
 
 /*
  * Return a handle to the event channel driver, or -1 on failure, in which case
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xg_private.c
--- a/tools/libxc/xg_private.c  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xg_private.c  Tue Apr 15 11:09:46 2008 -0600
@@ -8,6 +8,7 @@
 #include <unistd.h>
 #include <zlib.h>
 #include <strings.h>
+#include <malloc.h>
 
 #include "xg_private.h"
 
@@ -196,6 +197,22 @@ __attribute__((weak))
 {
     errno = ENOSYS;
     return -1;
+}
+
+void *xg_memalign(size_t alignment, size_t size)
+{
+#if defined(_POSIX_C_SOURCE) && !defined(__sun__)
+    int ret;
+    void *ptr;
+    ret = posix_memalign(&ptr, alignment, size);
+    if (ret != 0)
+        return NULL;
+    return ptr;
+#elif defined(__NetBSD__) || defined(__OpenBSD__)
+    return valloc(size);
+#else
+    return memalign(alignment, size);
+#endif
 }
 
 /*
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/libxc/xg_private.h
--- a/tools/libxc/xg_private.h  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/libxc/xg_private.h  Tue Apr 15 11:09:46 2008 -0600
@@ -176,4 +176,6 @@ int pin_table(int xc_handle, unsigned in
 int pin_table(int xc_handle, unsigned int type, unsigned long mfn,
               domid_t dom);
 
+void *xg_memalign(size_t alignment, size_t size);
+
 #endif /* XG_PRIVATE_H */
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/util/acmpolicy.py
--- a/tools/python/xen/util/acmpolicy.py        Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/util/acmpolicy.py        Tue Apr 15 11:09:46 2008 -0600
@@ -76,6 +76,7 @@ DEFAULT_policy = \
 "  <SimpleTypeEnforcement>\n" +\
 "    <SimpleTypeEnforcementTypes>\n" +\
 "      <Type>SystemManagement</Type>\n" +\
+"      <Type>__UNLABELED__</Type>\n" +\
 "    </SimpleTypeEnforcementTypes>\n" +\
 "  </SimpleTypeEnforcement>\n" +\
 "  <ChineseWall>\n" +\
@@ -89,12 +90,30 @@ DEFAULT_policy = \
 "        <Name%s>SystemManagement</Name>\n" +\
 "        <SimpleTypeEnforcementTypes>\n" +\
 "          <Type>SystemManagement</Type>\n" +\
+"          <Type>__UNLABELED__</Type>\n" +\
+"        </SimpleTypeEnforcementTypes>\n" +\
+"        <ChineseWallTypes>\n" +\
+"          <Type/>\n" +\
+"        </ChineseWallTypes>\n" +\
+"      </VirtualMachineLabel>\n" +\
+"      <VirtualMachineLabel>\n" +\
+"        <Name>__UNLABELED__</Name>\n" +\
+"        <SimpleTypeEnforcementTypes>\n" +\
+"          <Type>__UNLABELED__</Type>\n" +\
 "        </SimpleTypeEnforcementTypes>\n" +\
 "        <ChineseWallTypes>\n" +\
 "          <Type/>\n" +\
 "        </ChineseWallTypes>\n" +\
 "      </VirtualMachineLabel>\n" +\
 "    </SubjectLabels>\n" +\
+"    <ObjectLabels>\n" +\
+"      <ResourceLabel>\n" +\
+"        <Name>__UNLABELED__</Name>\n" +\
+"        <SimpleTypeEnforcementTypes>\n" +\
+"          <Type>__UNLABELED__</Type>\n" +\
+"        </SimpleTypeEnforcementTypes>\n" +\
+"      </ResourceLabel>\n" +\
+"    </ObjectLabels>\n" +\
 "  </SecurityLabelTemplate>\n" +\
 "</SecurityPolicyDefinition>\n"
 
@@ -231,13 +250,14 @@ class ACMPolicy(XSPolicy):
         """
            Determine whether this is the default policy
         """
-        default = ['SystemManagement']
+        default = ['SystemManagement', ACM_LABEL_UNLABELED ]
         if self.policy_get_virtualmachinelabel_names() == default and \
            self.policy_get_bootstrap_vmlabel() == default[0] and \
            self.policy_get_stetypes_types() == default and \
            self.policy_get_stes_of_vmlabel(default[0]) == default and \
-           self.policy_get_resourcelabel_names() == [] and \
-           self.policy_get_chwall_types() == default and \
+           self.policy_get_stes_of_vmlabel(default[1]) == [default[1]] and \
+           self.policy_get_resourcelabel_names() == [default[1]] and \
+           self.policy_get_chwall_types() == [ default[0] ] and \
            self.get_name() == "DEFAULT":
             return True
         return False
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/util/xsm/acm/acm.py
--- a/tools/python/xen/util/xsm/acm/acm.py      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/util/xsm/acm/acm.py      Tue Apr 15 11:09:46 2008 -0600
@@ -1146,11 +1146,13 @@ def __resources_compatible_with_vmlabel(
     for key, value in resources.items():
         if key in [ 'vbd', 'tap' ]:
             for res in resources[key]:
-                try:
+                if not res in access_control:
+                    label = [xsconstants.ACM_POLICY_ID,
+                             xspol.get_name(),
+                             ACM_LABEL_UNLABELED]
+                else:
                     label = access_control[res]
-                    if not collect_labels(reslabels, label, polname):
-                        return False
-                except:
+                if not collect_labels(reslabels, label, polname):
                     return False
         elif key in [ 'vif' ]:
             for xapi_label in value:
@@ -1220,6 +1222,11 @@ def set_resource_label(resource, policyt
                 return -xsconstants.XSERR_BAD_LABEL
             if tmp[2] != oreslabel:
                 return -xsconstants.XSERR_BAD_LABEL
+        if resource.startswith('vlan:'):
+            for key, value in access_control.items():
+                if value == tuple([policytype, policyref, reslabel]) and \
+                   key.startswith('vlan:'):
+                    return -xsconstants.XSERR_BAD_LABEL
         if reslabel != "":
             new_entry = { resource : tuple([policytype, policyref, reslabel])}
             access_control.update(new_entry)
@@ -1402,6 +1409,8 @@ def change_acm_policy(bin_pol, del_array
         dominfos = XendDomain.instance().list('all')
 
         log.info("----------------------------------------------")
+
+        label_changes = []
         # relabel resources
 
         access_control = {}
@@ -1433,7 +1442,7 @@ def change_acm_policy(bin_pol, del_array
             elif label not in polnew_reslabels:
                 # label been removed
                 policytype = xsconstants.INVALID_POLICY_PREFIX + policytype
-                run_resource_label_change_script(key, "", "remove")
+                label_changes.append(key)
                 polname = policy
             else:
                 # no change to label
@@ -1501,6 +1510,8 @@ def change_acm_policy(bin_pol, del_array
 
         rc, errors = hv_chg_policy(bin_pol, del_array, chg_array)
         if rc == 0:
+            for key in label_changes:
+                run_resource_label_change_script(key, "", "remove")
             # Write the relabeled resources back into the file
             dictio.dict_write(access_control, "resources", res_label_filename)
             # Properly update all VMs to their new labels
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xend/XendConstants.py
--- a/tools/python/xen/xend/XendConstants.py    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xend/XendConstants.py    Tue Apr 15 11:09:46 2008 -0600
@@ -96,6 +96,7 @@ MINIMUM_RESTART_TIME = 20
 MINIMUM_RESTART_TIME = 20
 
 RESTART_IN_PROGRESS = 'xend/restart_in_progress'
+DUMPCORE_IN_PROGRESS = 'xend/dumpcore_in_progress'
 LAST_SHUTDOWN_REASON = 'xend/last_shutdown_reason'
 
 TRIGGER_NMI   = 0
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xend/XendDomainInfo.py   Tue Apr 15 11:09:46 2008 -0600
@@ -986,6 +986,13 @@ class XendDomainInfo:
                   self.info['name_label'], str(self.domid), target)
         
         MiB = 1024 * 1024
+
+        if self.domid == 0:
+            dom0_min_mem = xoptions.get_dom0_min_mem()
+            memory_cur = self.get_memory_dynamic_max() / MiB
+            if target < memory_cur and dom0_min_mem > target:
+                raise XendError("memory_dynamic_max too small")
+
         self._safe_set_memory('memory_dynamic_min', target * MiB)
         self._safe_set_memory('memory_dynamic_max', target * MiB)
 
@@ -1792,10 +1799,13 @@ class XendDomainInfo:
                 raise XendError("Cannot dump core in a directory: %s" %
                                 corefile)
             
+            self._writeVm(DUMPCORE_IN_PROGRESS, 'True')
             xc.domain_dumpcore(self.domid, corefile)
+            self._removeVm(DUMPCORE_IN_PROGRESS)
         except RuntimeError, ex:
             corefile_incomp = corefile+'-incomplete'
             os.rename(corefile, corefile_incomp)
+            self._removeVm(DUMPCORE_IN_PROGRESS)
             log.exception("XendDomainInfo.dumpCore failed: id = %s name = %s",
                           self.domid, self.info['name_label'])
             raise XendError("Failed to dump core: %s" %  str(ex))
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xend/XendOptions.py
--- a/tools/python/xen/xend/XendOptions.py      Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xend/XendOptions.py      Tue Apr 15 11:09:46 2008 -0600
@@ -278,6 +278,13 @@ class XendOptions:
 
     def get_dom0_min_mem(self):
         return self.get_config_int('dom0-min-mem', self.dom0_min_mem_default)
+
+    def get_enable_dom0_ballooning(self):
+        enable_dom0_ballooning_default = 'yes'
+        if self.get_dom0_min_mem() == 0:
+            enable_dom0_ballooning_default = 'no'
+        return self.get_config_bool('enable-dom0-ballooning',
+                                    enable_dom0_ballooning_default)
 
     def get_dom0_vcpus(self):
         return self.get_config_int('dom0-cpus', self.dom0_vcpus_default)
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xend/balloon.py
--- a/tools/python/xen/xend/balloon.py  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xend/balloon.py  Tue Apr 15 11:09:46 2008 -0600
@@ -81,8 +81,8 @@ def free(need_mem):
     # needs to balloon.  No matter where we expect the free memory to come
     # from, we need to wait for it to become available.
     #
-    # We are not allowed to balloon below dom0_min_mem, or if dom0_min_mem
-    # is 0, we cannot balloon at all.  Memory can still become available
+    # We are not allowed to balloon below dom0_min_mem, or if dom0_ballooning
+    # is False, we cannot balloon at all.  Memory can still become available
     # through a rebooting domain, however.
     #
     # Eventually, we time out (presumably because there really isn't enough
@@ -100,6 +100,7 @@ def free(need_mem):
 
     try:
         dom0_min_mem = xoptions.get_dom0_min_mem() * 1024
+        dom0_ballooning = xoptions.get_enable_dom0_ballooning()
         dom0_alloc = get_dom0_current_alloc()
 
         retries = 0
@@ -115,7 +116,7 @@ def free(need_mem):
         free_mem = physinfo['free_memory']
         scrub_mem = physinfo['scrub_memory']
         total_mem = physinfo['total_memory']
-        if dom0_min_mem > 0:
+        if dom0_ballooning:
             max_free_mem = total_mem - dom0_min_mem
         else:
             max_free_mem = total_mem - dom0_alloc
@@ -137,7 +138,7 @@ def free(need_mem):
                 log.debug("Balloon: %d KiB free; %d to scrub; need %d; 
retries: %d.",
                           free_mem, scrub_mem, need_mem, rlimit)
 
-            if dom0_min_mem > 0:
+            if dom0_ballooning:
                 dom0_alloc = get_dom0_current_alloc()
                 new_alloc = dom0_alloc - (need_mem - free_mem - scrub_mem)
 
@@ -163,10 +164,10 @@ def free(need_mem):
             last_free = free_mem + scrub_mem
 
         # Not enough memory; diagnose the problem.
-        if dom0_min_mem == 0:
-            raise VmError(('Not enough free memory and dom0_min_mem is 0, so '
-                           'I cannot release any more.  I need %d KiB but '
-                           'only have %d.') %
+        if not dom0_ballooning:
+            raise VmError(('Not enough free memory and enable-dom0-ballooning '
+                           'is False, so I cannot release any more.  '
+                           'I need %d KiB but only have %d.') %
                           (need_mem, free_mem))
         elif new_alloc < dom0_min_mem:
             raise VmError(
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xend/image.py    Tue Apr 15 11:09:46 2008 -0600
@@ -99,7 +99,9 @@ class ImageHandler:
         self.vncconsole = vmConfig['platform'].get('vncconsole')
         self.dmargs = self.parseDeviceModelArgs(vmConfig)
         self.pid = None
-
+        rtc_timeoffset = vmConfig['platform'].get('rtc_timeoffset')
+        if rtc_timeoffset is not None:
+            xc.domain_set_time_offset(self.vm.getDomid(), int(rtc_timeoffset))
 
 
     def cleanupBootloading(self):
@@ -419,9 +421,6 @@ class LinuxImageHandler(ImageHandler):
 
     def configure(self, vmConfig):
         ImageHandler.configure(self, vmConfig)
-        rtc_timeoffset = vmConfig['platform'].get('rtc_timeoffset')
-        if rtc_timeoffset is not None:
-            xc.domain_set_time_offset(self.vm.getDomid(), int(rtc_timeoffset))
 
     def buildDomain(self):
         store_evtchn = self.vm.getStorePort()
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xm/main.py
--- a/tools/python/xen/xm/main.py       Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xm/main.py       Tue Apr 15 11:09:46 2008 -0600
@@ -1294,13 +1294,13 @@ def xm_dump_core(args):
     try:
         print "Dumping core of domain: %s ..." % str(dom)
         server.xend.domain.dump(dom, filename, live, crash)
+
+        if crash:
+            print "Destroying domain: %s ..." % str(dom)
+            server.xend.domain.destroy(dom)
     finally:
-        if not live and ds == DOM_STATE_RUNNING:
+        if not live and not crash and ds == DOM_STATE_RUNNING:
             server.xend.domain.unpause(dom)
-
-    if crash:
-        print "Destroying domain: %s ..." % str(dom)
-        server.xend.domain.destroy(dom)
 
 def xm_rename(args):
     arg_check(args, "rename", 2)
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/python/xen/xm/shutdown.py
--- a/tools/python/xen/xm/shutdown.py   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/python/xen/xm/shutdown.py   Tue Apr 15 11:09:46 2008 -0600
@@ -144,7 +144,7 @@ def main_dom(opts, args):
 def main_dom(opts, args):
     if len(args) == 0: opts.err('No domain parameter given')
     if len(args) >  1: opts.err('No multiple domain parameters allowed')
-    dom = args[0]
+    dom = sxp.child_value(server.xend.domain(args[0]), 'name')
     if serverType == SERVER_XEN_API:
         dom = get_single_vm(dom)
     mode = shutdown_mode(opts)  
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/security/Makefile
--- a/tools/security/Makefile   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/security/Makefile   Tue Apr 15 11:09:46 2008 -0600
@@ -32,7 +32,7 @@ ACM_SECGEN_CGIDIR = $(ACM_SECGEN_HTMLDIR
 
 ACM_SCHEMA        = security_policy.xsd
 ACM_EXAMPLES      = client_v1 test
-ACM_DEF_POLICIES  = DEFAULT-UL
+ACM_DEF_POLICIES  =
 ACM_POLICY_SUFFIX = security_policy.xml
 
 ifeq ($(ACM_SECURITY),y)
diff -r c0f77a657547 -r 2b3d3aaf8be4 
tools/security/policies/DEFAULT-UL-security_policy.xml
--- a/tools/security/policies/DEFAULT-UL-security_policy.xml    Mon Apr 14 
14:04:58 2008 -0600
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" ?>
-<SecurityPolicyDefinition xmlns="http://www.ibm.com"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.ibm.com ../../security_policy.xsd">
-  <PolicyHeader>
-    <PolicyName>DEFAULT-UL</PolicyName>
-    <Version>1.0</Version>
-  </PolicyHeader>
-  <SimpleTypeEnforcement>
-    <SimpleTypeEnforcementTypes>
-      <Type>SystemManagement</Type>
-      <Type>__UNLABELED__</Type>
-    </SimpleTypeEnforcementTypes>
-  </SimpleTypeEnforcement>
-  <ChineseWall>
-    <ChineseWallTypes>
-      <Type>SystemManagement</Type>
-    </ChineseWallTypes>
-  </ChineseWall>
-  <SecurityLabelTemplate>
-    <SubjectLabels bootstrap="SystemManagement">
-      <VirtualMachineLabel>
-        <Name>SystemManagement</Name>
-        <SimpleTypeEnforcementTypes>
-          <Type>SystemManagement</Type>
-          <Type>__UNLABELED__</Type>
-        </SimpleTypeEnforcementTypes>
-        <ChineseWallTypes>
-          <Type/>
-        </ChineseWallTypes>
-      </VirtualMachineLabel>
-      <VirtualMachineLabel>
-        <Name>__UNLABELED__</Name>
-        <SimpleTypeEnforcementTypes>
-          <Type>__UNLABELED__</Type>
-        </SimpleTypeEnforcementTypes>
-        <ChineseWallTypes>
-          <Type/>
-        </ChineseWallTypes>
-      </VirtualMachineLabel>
-    </SubjectLabels>
-  </SecurityLabelTemplate>
-</SecurityPolicyDefinition>
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/tests/blowfish.mk
--- a/tools/tests/blowfish.mk   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/tests/blowfish.mk   Tue Apr 15 11:09:46 2008 -0600
@@ -5,11 +5,11 @@ include $(XEN_ROOT)/tools/Rules.mk
 include $(XEN_ROOT)/tools/Rules.mk
 
 # Disable PIE/SSP if GCC supports them. They can break us.
-CFLAGS  += $(call cc-option,$(CC),-nopie,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
-CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
+CFLAGS += $(call cc-option,$(CC),-nopie,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
 
-CFLAGS  += -fno-builtin -O2 -msoft-float
+CFLAGS += -fno-builtin -msoft-float
 
 .PHONY: all
 all: blowfish.bin
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xcutils/Makefile
--- a/tools/xcutils/Makefile    Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xcutils/Makefile    Tue Apr 15 11:09:46 2008 -0600
@@ -18,7 +18,7 @@ CFLAGS += -Wp,-MD,.$(@F).d
 CFLAGS += -Wp,-MD,.$(@F).d
 PROG_DEP = .*.d
 
-PROGRAMS = xc_restore xc_save readnotes
+PROGRAMS = xc_restore xc_save readnotes lsevtchn
 
 LDLIBS   = $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenguest) $(LDFLAGS_libxenstore)
 
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xcutils/lsevtchn.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/xcutils/lsevtchn.c  Tue Apr 15 11:09:46 2008 -0600
@@ -0,0 +1,59 @@
+#include <err.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <xs.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+
+int
+main(int argc, char **argv)
+{
+    int xc_fd;
+    int domid = 0, port = 0, status;
+    const char *msg;
+
+    if ( argc > 1 )
+        domid = strtol(argv[1], NULL, 10);
+
+    xc_fd = xc_interface_open();
+    if ( xc_fd < 0 )
+        errx(1, "failed to open control interface");
+
+    while ( (status = xc_evtchn_status(xc_fd, domid, port)) >= 0 )
+    {
+        switch ( status )
+        {
+        case EVTCHNSTAT_closed:
+            msg = "Channel is not in use.";
+            break;
+        case EVTCHNSTAT_unbound:
+            msg = "Channel is waiting interdom connection.";
+            break;
+        case EVTCHNSTAT_interdomain:
+            msg = "Channel is connected to remote domain.";
+            break;
+        case EVTCHNSTAT_pirq:
+            msg = "Channel is bound to a phys IRQ line.";
+            break;
+        case EVTCHNSTAT_virq:
+            msg = "Channel is bound to a virtual IRQ line.";
+            break;
+        case EVTCHNSTAT_ipi:
+            msg = "Channel is bound to a virtual IPI line.";
+            break;
+        default:
+            msg = "Unknown.";
+            break;
+
+        }
+        printf("%03d: %d: %s\n", port, status, msg);
+        port++;
+    }
+
+    xc_interface_close(xc_fd);
+
+    return 0;
+}
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xenstore/Makefile
--- a/tools/xenstore/Makefile   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xenstore/Makefile   Tue Apr 15 11:09:46 2008 -0600
@@ -13,8 +13,7 @@ DEP    = .*.d
 DEP    = .*.d
 
 CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm 
xenstore-chmod
-CLIENTS += xenstore-write
-CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
+CLIENTS += xenstore-write xenstore-ls
 
 XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o 
xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
 
@@ -24,8 +23,18 @@ XENSTORED_OBJS_$(CONFIG_NetBSD) = xensto
 
 XENSTORED_OBJS += $(XENSTORED_OBJS_y)
 
+ifneq ($(XENSTORE_STATIC_CLIENTS),y)
+LIBXENSTORE := libxenstore.so
+else
+LIBXENSTORE := libxenstore.a
+xenstore xenstore-control: CFLAGS += -static
+endif
+
 .PHONY: all
-all: libxenstore.so libxenstore.a xenstored $(CLIENTS) xs_tdb_dump 
xenstore-control xenstore-ls
+all: libxenstore.so libxenstore.a xenstored clients xs_tdb_dump 
+
+.PHONY: clients
+clients: xenstore $(CLIENTS) xenstore-control
 
 ifeq ($(CONFIG_SunOS),y)
 xenstored_probes.h: xenstored_probes.d
@@ -42,16 +51,13 @@ xenstored: $(XENSTORED_OBJS)
 xenstored: $(XENSTORED_OBJS)
        $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDFLAGS_libxenctrl) $(SOCKET_LIBS) -o $@
 
-$(CLIENTS): xenstore-%: xenstore_%.o libxenstore.so
+$(CLIENTS): xenstore
+       ln -f xenstore $@
+
+xenstore: xenstore_client.o $(LIBXENSTORE)
        $(CC) $(CFLAGS) $(LDFLAGS) $< -L. -lxenstore $(SOCKET_LIBS) -o $@
 
-$(CLIENTS_OBJS): xenstore_%.o: xenstore_client.c
-       $(COMPILE.c) -DCLIENT_$(*F) -o $@ $<
-
-xenstore-control: xenstore_control.o libxenstore.so
-       $(CC) $(CFLAGS) $(LDFLAGS) $< -L. -lxenstore $(SOCKET_LIBS) -o $@
-
-xenstore-ls: xsls.o libxenstore.so
+xenstore-control: xenstore_control.o $(LIBXENSTORE)
        $(CC) $(CFLAGS) $(LDFLAGS) $< -L. -lxenstore $(SOCKET_LIBS) -o $@
 
 xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
@@ -61,6 +67,8 @@ libxenstore.so: libxenstore.so.$(MAJOR)
        ln -sf $< $@
 libxenstore.so.$(MAJOR): libxenstore.so.$(MAJOR).$(MINOR)
        ln -sf $< $@
+
+xs.opic: CFLAGS += -DUSE_PTHREAD
 
 libxenstore.so.$(MAJOR).$(MINOR): xs.opic xs_lib.opic
        $(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) 
-Wl,libxenstore.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^ $(SOCKET_LIBS) -lpthread
@@ -72,8 +80,8 @@ clean:
 clean:
        rm -f *.a *.o *.opic *.so* xenstored_probes.h
        rm -f xenstored xs_random xs_stress xs_crashme
-       rm -f xs_tdb_dump xenstore-control xenstore-ls
-       rm -f $(CLIENTS)
+       rm -f xs_tdb_dump xenstore-control
+       rm -f xenstore $(CLIENTS)
        $(RM) $(DEP)
 
 .PHONY: TAGS
@@ -92,9 +100,11 @@ install: all
        $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
        $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
        $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
-       $(INSTALL_PROG) $(CLIENTS) $(DESTDIR)$(BINDIR)
        $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
-       $(INSTALL_PROG) xenstore-ls $(DESTDIR)$(BINDIR)
+       $(INSTALL_PROG) xenstore $(DESTDIR)/usr/bin
+       set -e ; for c in $(CLIENTS) ; do \
+               ln -f $(DESTDIR)/usr/bin/xenstore $(DESTDIR)/usr/bin/$${c} ; \
+       done
        $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
        $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
        ln -sf libxenstore.so.$(MAJOR).$(MINOR) 
$(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xenstore/xenstore_client.c  Tue Apr 15 11:09:46 2008 -0600
@@ -16,12 +16,31 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <termios.h>
+#include <unistd.h>
 #include <xs.h>
+
+#include <sys/ioctl.h>
+
+#define PATH_SEP '/'
+#define MAX_PATH_LEN 256
+
+#define MAX_PERMS 16
+
+enum mode {
+    MODE_unknown,
+    MODE_chmod,
+    MODE_exists,
+    MODE_list,
+    MODE_ls,
+    MODE_read,
+    MODE_rm,
+    MODE_write,
+};
 
 static char *output_buf = NULL;
 static int output_pos = 0;
 
-#if defined(CLIENT_read) || defined(CLIENT_list)
 static int output_size = 0;
 
 static void
@@ -47,26 +66,39 @@ output(const char *fmt, ...) {
     va_end(ap);
     output_pos += len;
 }
-#endif
 
 static void
-usage(const char *progname)
-{
-#if defined(CLIENT_read)
-    errx(1, "Usage: %s [-h] [-p] [-s] key [...]", progname);
-#elif defined(CLIENT_write)
-    errx(1, "Usage: %s [-h] [-s] key value [...]", progname);
-#elif defined(CLIENT_rm)
-    errx(1, "Usage: %s [-h] [-s] [-t] key [...]", progname);
-#elif defined(CLIENT_exists) || defined(CLIENT_list)
-    errx(1, "Usage: %s [-h] [-s] key [...]", progname);
-#elif defined(CLIENT_chmod)
-    errx(1, "Usage: %s [-h] [-s] key <mode [modes...]>", progname);
-#endif
-}
-
-
-#if defined(CLIENT_rm)
+usage(enum mode mode, int incl_mode, const char *progname)
+{
+    const char *mstr = NULL;
+
+    switch (mode) {
+    case MODE_unknown:
+       errx(1, "Usage: %s <mode> [-h] [...]", progname);
+    case MODE_read:
+       mstr = incl_mode ? "read " : "";
+       errx(1, "Usage: %s %s[-h] [-p] [-s] key [...]", progname, mstr);
+    case MODE_write:
+       mstr = incl_mode ? "write " : "";
+       errx(1, "Usage: %s %s[-h] [-s] key value [...]", progname, mstr);
+    case MODE_rm:
+       mstr = incl_mode ? "rm " : "";
+       errx(1, "Usage: %s %s[-h] [-s] [-t] key [...]", progname, mstr);
+    case MODE_exists:
+       mstr = incl_mode ? "exists " : "";
+    case MODE_list:
+       mstr = mstr ? : incl_mode ? "list " : "";
+       errx(1, "Usage: %s %s[-h] [-s] key [...]", progname, mstr);
+    case MODE_ls:
+       mstr = mstr ? : incl_mode ? "ls " : "";
+       errx(1, "Usage: %s %s[-h] [-s] [path]", progname, mstr);
+    case MODE_chmod:
+       mstr = incl_mode ? "chmod " : "";
+       errx(1, "Usage: %s %s[-h] [-s] key <mode [modes...]>", progname, mstr);
+    }
+}
+
+
 static int
 do_rm(char *path, struct xs_handle *xsh, xs_transaction_t xth)
 {
@@ -78,11 +110,111 @@ do_rm(char *path, struct xs_handle *xsh,
         return 1;
     }
 }
-#endif
-
-#if defined(CLIENT_chmod)
-#define PATH_SEP '/'
-#define MAX_PATH_LEN 256
+
+#define STRING_MAX XENSTORE_ABS_PATH_MAX+1024
+static int max_width = 80;
+static int desired_width = 60;
+static int show_whole_path = 0;
+
+#define TAG " = \"...\""
+#define TAG_LEN strlen(TAG)
+
+#define MIN(a, b) (((a) < (b))? (a) : (b))
+
+void do_ls(struct xs_handle *h, char *path, int cur_depth, int show_perms)
+{
+    static struct expanding_buffer ebuf;
+    char **e;
+    char newpath[STRING_MAX], *val;
+    int newpath_len;
+    int i;
+    unsigned int num, len;
+
+    e = xs_directory(h, XBT_NULL, path, &num);
+    if (e == NULL)
+        err(1, "xs_directory (%s)", path);
+
+    for (i = 0; i<num; i++) {
+        char buf[MAX_STRLEN(unsigned int)+1];
+        struct xs_permissions *perms;
+        unsigned int nperms;
+        int linewid;
+
+        /* Compose fullpath */
+        newpath_len = snprintf(newpath, sizeof(newpath), "%s%s%s", path, 
+                path[strlen(path)-1] == '/' ? "" : "/", 
+                e[i]);
+
+        /* Print indent and path basename */
+        linewid = 0;
+        if (show_whole_path) {
+            fputs(newpath, stdout);
+        } else {
+            for (; linewid<cur_depth; linewid++) {
+                putchar(' ');
+            }
+            linewid += printf("%.*s",
+                              (int) (max_width - TAG_LEN - linewid), e[i]);
+        }
+
+       /* Fetch value */
+        if ( newpath_len < sizeof(newpath) ) {
+            val = xs_read(h, XBT_NULL, newpath, &len);
+        }
+        else {
+            /* Path was truncated and thus invalid */
+            val = NULL;
+            len = 0;
+        }
+
+        /* Print value */
+        if (val == NULL) {
+            printf(":\n");
+        }
+        else {
+            if (max_width < (linewid + len + TAG_LEN)) {
+                printf(" = \"%.*s\\...\"",
+                       (int)(max_width - TAG_LEN - linewid),
+                      sanitise_value(&ebuf, val, len));
+            }
+            else {
+                linewid += printf(" = \"%s\"",
+                                 sanitise_value(&ebuf, val, len));
+                if (show_perms) {
+                    putchar(' ');
+                    for (linewid++;
+                         linewid < MIN(desired_width, max_width);
+                         linewid++)
+                        putchar((linewid & 1)? '.' : ' ');
+                }
+            }
+        }
+        free(val);
+
+        if (show_perms) {
+            perms = xs_get_permissions(h, XBT_NULL, newpath, &nperms);
+            if (perms == NULL) {
+                warn("\ncould not access permissions for %s", e[i]);
+            }
+            else {
+                int i;
+                fputs("  (", stdout);
+                for (i = 0; i < nperms; i++) {
+                    if (i)
+                        putchar(',');
+                    xs_perm_to_string(perms+i, buf, sizeof(buf));
+                    fputs(buf, stdout);
+                }
+                putchar(')');
+            }
+        }
+
+        putchar('\n');
+            
+        do_ls(h, newpath, cur_depth+1, show_perms); 
+    }
+    free(e);
+}
 
 static void
 do_chmod(char *path, struct xs_permissions *perms, int nperms, int upto,
@@ -130,145 +262,197 @@ do_chmod(char *path, struct xs_permissio
        }
     }
 }
-#endif
 
 static int
-perform(int optind, int argc, char **argv, struct xs_handle *xsh,
+perform(enum mode mode, int optind, int argc, char **argv, struct xs_handle 
*xsh,
         xs_transaction_t xth, int prefix, int tidy, int upto, int recurse)
 {
+    switch (mode) {
+    case MODE_ls:
+       if (optind == argc)
+       {
+           optind=0;
+           argc=1;
+           argv[0] = "/";
+       }
+       break;
+    default:
+       break;
+    }
+
     while (optind < argc) {
-#if defined(CLIENT_read)
-       static struct expanding_buffer ebuf;
-       unsigned len;
-       char *val = xs_read(xsh, xth, argv[optind], &len);
-       if (val == NULL) {
-           warnx("couldn't read path %s", argv[optind]);
-           return 1;
-       }
-       if (prefix)
-           output("%s: ", argv[optind]);
-       output("%s\n", sanitise_value(&ebuf, val, len));
-       free(val);
-       optind++;
-#elif defined(CLIENT_write)
-       static struct expanding_buffer ebuf;
-       char *val_spec = argv[optind + 1];
-       unsigned len;
-       expanding_buffer_ensure(&ebuf, strlen(val_spec)+1);
-       unsanitise_value(ebuf.buf, &len, val_spec);
-       if (!xs_write(xsh, xth, argv[optind], ebuf.buf, len)) {
-           warnx("could not write path %s", argv[optind]);
-           return 1;
-       }
-       optind += 2;
-#elif defined(CLIENT_rm)
-        /* Remove the specified path.  If the tidy flag is set, then also
-           remove any containing directories that are both empty and have no
-           value attached, and repeat, recursing all the way up to the root if
-           necessary.
-        */
-
-        char *slash, *path = argv[optind];
-
-        if (tidy) {
-            /* Copy path, because we can't modify argv because we will need it
-               again if xs_transaction_end gives us EAGAIN. */
-            char *p = malloc(strlen(path) + 1);
-            strcpy(p, path);
-            path = p;
-
-        again:
-            if (do_rm(path, xsh, xth)) {
+        switch (mode) {
+        case MODE_unknown:
+            /* CANNOT BE REACHED */
+            errx(1, "invalid mode %d", mode);
+        case MODE_read: {
+            static struct expanding_buffer ebuf;
+            unsigned len;
+            char *val = xs_read(xsh, xth, argv[optind], &len);
+            if (val == NULL) {
+                warnx("couldn't read path %s", argv[optind]);
                 return 1;
             }
-
-            slash = strrchr(p, '/');
-            if (slash) {
-                char *val;
-                unsigned len;
-                *slash = '\0';
-                val = xs_read(xsh, xth, p, &len);
-                if (val && len == 0) {
-                    unsigned int num;
-                    char ** list = xs_directory(xsh, xth, p, &num);
-
-                    if (list && num == 0) {
-                        goto again;
+            if (prefix)
+                output("%s: ", argv[optind]);
+            output("%s\n", sanitise_value(&ebuf, val, len));
+            free(val);
+            optind++;
+            break;
+        }
+        case MODE_write: {
+            static struct expanding_buffer ebuf;
+            char *val_spec = argv[optind + 1];
+            unsigned len;
+            expanding_buffer_ensure(&ebuf, strlen(val_spec)+1);
+            unsanitise_value(ebuf.buf, &len, val_spec);
+            if (!xs_write(xsh, xth, argv[optind], ebuf.buf, len)) {
+                warnx("could not write path %s", argv[optind]);
+                return 1;
+            }
+            optind += 2;
+        } break;
+        case MODE_rm: {
+            /* Remove the specified path.  If the tidy flag is set, then also
+               remove any containing directories that are both empty and have 
no
+               value attached, and repeat, recursing all the way up to the 
root if
+               necessary.
+            */
+
+            char *slash, *path = argv[optind];
+
+            if (tidy) {
+                /* Copy path, because we can't modify argv because we will 
need it
+                   again if xs_transaction_end gives us EAGAIN. */
+                char *p = malloc(strlen(path) + 1);
+                strcpy(p, path);
+                path = p;
+
+            again:
+                if (do_rm(path, xsh, xth)) {
+                    return 1;
+                }
+
+                slash = strrchr(p, '/');
+                if (slash) {
+                    char *val;
+                    unsigned len;
+                    *slash = '\0';
+                    val = xs_read(xsh, xth, p, &len);
+                    if (val && len == 0) {
+                        unsigned int num;
+                        char ** list = xs_directory(xsh, xth, p, &num);
+
+                        if (list && num == 0) {
+                            goto again;
+                        }
                     }
                 }
-            }
-
-            free(path);
-        }
-        else {
-            if (do_rm(path, xsh, xth)) {
+
+                free(path);
+            }
+            else {
+                if (do_rm(path, xsh, xth)) {
+                    return 1;
+                }
+            }
+
+            optind++;
+            break;
+        }
+        case MODE_exists: {
+            char *val = xs_read(xsh, xth, argv[optind], NULL);
+            if (val == NULL) {
                 return 1;
             }
-        }
-
-       optind++;
-#elif defined(CLIENT_exists)
-       char *val = xs_read(xsh, xth, argv[optind], NULL);
-       if (val == NULL) {
-           return 1;
-       }
-       free(val);
-       optind++;
-#elif defined(CLIENT_list)
-       unsigned int i, num;
-       char **list = xs_directory(xsh, xth, argv[optind], &num);
-       if (list == NULL) {
-           warnx("could not list path %s", argv[optind]);
-           return 1;
-       }
-       for (i = 0; i < num; i++) {
-           if (prefix)
-               output("%s/", argv[optind]);
-           output("%s\n", list[i]);
-       }
-       free(list);
-       optind++;
-#elif defined(CLIENT_chmod)
-#define MAX_PERMS 16
-       struct xs_permissions perms[MAX_PERMS];
-       int nperms = 0;
-       /* save path pointer: */
-       char *path = argv[optind++];
-       for (; argv[optind]; optind++, nperms++)
-       {
-           if (MAX_PERMS <= nperms)
-               errx(1, "Too many permissions specified.  "
-                    "Maximum per invocation is %d.", MAX_PERMS);
-
-           perms[nperms].id = atoi(argv[optind]+1);
-
-           switch (argv[optind][0])
-           {
-           case 'n':
-               perms[nperms].perms = XS_PERM_NONE;
-               break;
-           case 'r':
-               perms[nperms].perms = XS_PERM_READ;
-               break;
-           case 'w':
-               perms[nperms].perms = XS_PERM_WRITE;
-               break;
-           case 'b':
-               perms[nperms].perms = XS_PERM_READ | XS_PERM_WRITE;
-               break;
-           default:
-               errx(1, "Invalid permission specification: '%c'",
-                    argv[optind][0]);
-           }
-       }
-
-       do_chmod(path, perms, nperms, upto, recurse, xsh, xth);
-#endif
+            free(val);
+            optind++;
+            break;
+        }
+        case MODE_list: {
+            unsigned int i, num;
+            char **list = xs_directory(xsh, xth, argv[optind], &num);
+            if (list == NULL) {
+                warnx("could not list path %s", argv[optind]);
+                return 1;
+            }
+            for (i = 0; i < num; i++) {
+                if (prefix)
+                    output("%s/", argv[optind]);
+                output("%s\n", list[i]);
+            }
+            free(list);
+           optind++;
+           break;
+       }
+       case MODE_ls: {
+           do_ls(xsh, argv[optind], 0, prefix);
+           optind++;
+           break;
+        }
+        case MODE_chmod: {
+            struct xs_permissions perms[MAX_PERMS];
+            int nperms = 0;
+            /* save path pointer: */
+            char *path = argv[optind++];
+            for (; argv[optind]; optind++, nperms++)
+            {
+                if (MAX_PERMS <= nperms)
+                    errx(1, "Too many permissions specified.  "
+                        "Maximum per invocation is %d.", MAX_PERMS);
+
+                perms[nperms].id = atoi(argv[optind]+1);
+
+                switch (argv[optind][0])
+                {
+                case 'n':
+                    perms[nperms].perms = XS_PERM_NONE;
+                    break;
+                case 'r':
+                    perms[nperms].perms = XS_PERM_READ;
+                    break;
+                case 'w':
+                    perms[nperms].perms = XS_PERM_WRITE;
+                    break;
+                case 'b':
+                    perms[nperms].perms = XS_PERM_READ | XS_PERM_WRITE;
+                    break;
+                default:
+                    errx(1, "Invalid permission specification: '%c'",
+                        argv[optind][0]);
+                }
+            }
+
+            do_chmod(path, perms, nperms, upto, recurse, xsh, xth);
+            break;
+        }
+        }
     }
 
     return 0;
 }
 
+static enum mode lookup_mode(const char *m)
+{
+    if (strcmp(m, "read") == 0)
+       return MODE_read;
+    else if (strcmp(m, "chmod") == 0)
+       return MODE_chmod;
+    else if (strcmp(m, "exists") == 0)
+       return MODE_exists;
+    else if (strcmp(m, "list") == 0)
+       return MODE_list;
+    else if (strcmp(m, "ls") == 0)
+       return MODE_ls;
+    else if (strcmp(m, "rm") == 0)
+       return MODE_rm;
+    else if (strcmp(m, "write") == 0)
+       return MODE_write;
+    else if (strcmp(m, "read") == 0)
+       return MODE_read;
+    else
+       errx(1, "unknown mode %s\n", m);
+}
 
 int
 main(int argc, char **argv)
@@ -281,92 +465,139 @@ main(int argc, char **argv)
     int upto = 0;
     int recurse = 0;
     int transaction;
+    struct winsize ws;
+    enum mode mode;
+
+    const char *_command = strrchr(argv[0], '/');
+    const char *command = _command ? &_command[1] : argv[0];
+    int switch_argv = -1; /* which element of argv did we switch on */
+
+    if (strncmp(command, "xenstore-", strlen("xenstore-")) == 0)
+    {
+       switch_argv = 0;
+       command = command + strlen("xenstore-");
+    }
+    else if (argc < 2)
+       usage(MODE_unknown, 0, argv[0]);
+    else
+    {
+       command = argv[1];
+       switch_argv = 1;
+    }
+
+    mode = lookup_mode(command);
 
     while (1) {
        int c, index = 0;
        static struct option long_options[] = {
-           {"help", 0, 0, 'h'},
-            {"socket", 0, 0, 's'},
-#if defined(CLIENT_read) || defined(CLIENT_list)
-           {"prefix", 0, 0, 'p'},
-#elif defined(CLIENT_rm)
-            {"tidy",   0, 0, 't'},
-#elif defined(CLIENT_chmod)
-           {"upto",    0, 0, 'u'},
-           {"recurse", 0, 0, 'r'},
-#endif
+           {"help",    0, 0, 'h'},
+           {"socket",  0, 0, 's'},
+           {"prefix",  0, 0, 'p'}, /* MODE_read || MODE_list */
+           {"tidy",    0, 0, 't'}, /* MODE_rm */
+           {"upto",    0, 0, 'u'}, /* MODE_chmod */
+           {"recurse", 0, 0, 'r'}, /* MODE_chmod */
            {0, 0, 0, 0}
        };
 
-       c = getopt_long(argc, argv, "hs"
-#if defined(CLIENT_read) || defined(CLIENT_list)
-                       "p"
-#elif defined(CLIENT_rm)
-                        "t"
-#elif defined(CLIENT_chmod)
-                       "ur"
-#endif
-                       , long_options, &index);
+       c = getopt_long(argc - switch_argv, argv + switch_argv, "fhsptur",
+                       long_options, &index);
        if (c == -1)
            break;
 
        switch (c) {
        case 'h':
-           usage(argv[0]);
+           usage(mode, switch_argv, argv[0]);
            /* NOTREACHED */
+        case 'f':
+           if ( mode == MODE_read || mode == MODE_list || mode == MODE_ls ) {
+               max_width = INT_MAX/2;
+               desired_width = 0;
+               show_whole_path = 1;
+           } else {
+               usage(mode, switch_argv, argv[0]);
+           }
+            break;
         case 's':
             socket = 1;
             break;
-#if defined(CLIENT_read) || defined(CLIENT_list)
        case 'p':
-           prefix = 1;
+           if ( mode == MODE_read || mode == MODE_list || mode == MODE_ls )
+               prefix = 1;
+           else
+               usage(mode, switch_argv, argv[0]);
            break;
-#elif defined(CLIENT_rm)
        case 't':
-           tidy = 1;
+           if ( mode == MODE_rm )
+               tidy = 1;
+           else
+               usage(mode, switch_argv, argv[0]);
            break;
-#elif defined(CLIENT_chmod)
        case 'u':
-           upto = 1;
+           if ( mode == MODE_chmod )
+               upto = 1;
+           else
+               usage(mode, switch_argv, argv[0]);
            break;
        case 'r':
-           recurse = 1;
+           if ( mode == MODE_chmod )
+               recurse = 1;
+           else
+               usage(mode, switch_argv, argv[0]);
            break;
-#endif
-       }
-    }
-
-    if (optind == argc) {
-       usage(argv[0]);
-       /* NOTREACHED */
-    }
-#if defined(CLIENT_write)
-    if ((argc - optind) % 2 == 1) {
-       usage(argv[0]);
-       /* NOTREACHED */
-    }
-#endif
-
-#if defined(CLIENT_read)
-    transaction = (argc - optind) > 1;
-#elif defined(CLIENT_write)
-    transaction = (argc - optind) > 2;
-#else
-    transaction = 1;
-#endif
+       }
+    }
+
+    switch (mode) {
+    case MODE_ls:
+       break;
+    case MODE_write:
+       if ((argc - switch_argv - optind) % 2 == 1) {
+           usage(mode, switch_argv, argv[0]);
+           /* NOTREACHED */
+       }
+       /* DROP-THRU */
+    default:
+       if (optind == argc - switch_argv) {
+           usage(mode, switch_argv, argv[0]);
+           /* NOTREACHED */
+       }
+    }
+
+    switch (mode) {
+    case MODE_read:
+       transaction = (argc - switch_argv - optind) > 1;
+       break;
+    case MODE_write:
+       transaction = (argc - switch_argv - optind) > 2;
+       break;
+    case MODE_ls:
+       transaction = 0;
+       break;
+    default:
+       transaction = 1;
+       break;
+    }
+
+    if ( mode == MODE_ls )
+    {
+       memset(&ws, 0, sizeof(ws));
+       ret = ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws);
+       if (!ret)
+           max_width = ws.ws_col - 2;
+    }
 
     xsh = socket ? xs_daemon_open() : xs_domain_open();
     if (xsh == NULL)
        err(1, socket ? "xs_daemon_open" : "xs_domain_open");
 
-  again:
+again:
     if (transaction) {
        xth = xs_transaction_start(xsh);
        if (xth == XBT_NULL)
            errx(1, "couldn't start transaction");
     }
 
-    ret = perform(optind, argc, argv, xsh, xth, prefix, tidy, upto, recurse);
+    ret = perform(mode, optind, argc - switch_argv, argv + switch_argv, xsh, 
xth, prefix, tidy, upto, recurse);
 
     if (transaction && !xs_transaction_end(xsh, xth, ret)) {
        if (ret == 0 && errno == EAGAIN) {
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c   Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xenstore/xenstored_core.c   Tue Apr 15 11:09:46 2008 -0600
@@ -722,7 +722,7 @@ char *canonicalize(struct connection *co
 {
        const char *prefix;
 
-       if (!node || strstarts(node, "/"))
+       if (!node || (node[0] == '/') || (node[0] == '@'))
                return (char *)node;
        prefix = get_implicit_path(conn);
        if (prefix)
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xenstore/xenstored_solaris.c
--- a/tools/xenstore/xenstored_solaris.c        Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xenstore/xenstored_solaris.c        Tue Apr 15 11:09:46 2008 -0600
@@ -14,6 +14,7 @@
 #include <fcntl.h>
 #include <unistd.h>
 #include <stdlib.h>
+#include <stdarg.h>
 #include <sys/mman.h>
 #include <strings.h>
 #include <ucred.h>
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xenstore/xenstored_watch.c
--- a/tools/xenstore/xenstored_watch.c  Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xenstore/xenstored_watch.c  Tue Apr 15 11:09:46 2008 -0600
@@ -183,7 +183,7 @@ void do_unwatch(struct connection *conn,
                return;
        }
 
-       node = strstarts(vec[0], "@") ? vec[0] : canonicalize(conn, vec[0]);
+       node = canonicalize(conn, vec[0]);
        list_for_each_entry(watch, &conn->watches, list) {
                if (streq(watch->node, node) && streq(watch->token, vec[1])) {
                        list_del(&watch->list);
diff -r c0f77a657547 -r 2b3d3aaf8be4 tools/xenstore/xs.c
--- a/tools/xenstore/xs.c       Mon Apr 14 14:04:58 2008 -0600
+++ b/tools/xenstore/xs.c       Tue Apr 15 11:09:46 2008 -0600
@@ -32,7 +32,6 @@
 #include <signal.h>
 #include <stdint.h>
 #include <errno.h>
-#include <pthread.h>
 #include "xs.h"
 #include "list.h"
 #include "utils.h"
@@ -42,6 +41,10 @@ struct xs_stored_msg {
        struct xsd_sockmsg hdr;
        char *body;
 };
+
+#ifdef USE_PTHREAD
+
+#include <pthread.h>
 
 struct xs_handle {
        /* Communications channel to xenstore daemon. */
@@ -78,14 +81,37 @@ struct xs_handle {
        pthread_mutex_t request_mutex;
 };
 
+#define mutex_lock(m)          pthread_mutex_lock(m)
+#define mutex_unlock(m)                pthread_mutex_unlock(m)
+#define condvar_signal(c)      pthread_cond_signal(c)
+#define condvar_wait(c,m,hnd)  pthread_cond_wait(c,m)
+
+static void *read_thread(void *arg);
+
+#else /* !defined(USE_PTHREAD) */
+
+struct xs_handle {
+       int fd;
+       struct list_head reply_list;
+       struct list_head watch_list;
+       /* Clients can select() on this pipe to wait for a watch to fire. */
+       int watch_pipe[2];
+};
+
+#define mutex_lock(m)          ((void)0)
+#define mutex_unlock(m)                ((void)0)
+#define condvar_signal(c)      ((void)0)
+#define condvar_wait(c,m,hnd)  read_message(hnd)
+
+#endif
+
 static int read_message(struct xs_handle *h);
-static void *read_thread(void *arg);
 
 int xs_fileno(struct xs_handle *h)
 {
        char c = 0;
 
-       pthread_mutex_lock(&h->watch_mutex);
+       mutex_lock(&h->watch_mutex);
 
        if ((h->watch_pipe[0] == -1) && (pipe(h->watch_pipe) != -1)) {
                /* Kick things off if the watch list is already non-empty. */
@@ -94,7 +120,7 @@ int xs_fileno(struct xs_handle *h)
                                continue;
        }
 
-       pthread_mutex_unlock(&h->watch_mutex);
+       mutex_unlock(&h->watch_mutex);
 
        return h->watch_pipe[0];
 }
@@ -163,18 +189,21 @@ static struct xs_handle *get_handle(cons
 
        h->fd = fd;
 
+       INIT_LIST_HEAD(&h->reply_list);
+       INIT_LIST_HEAD(&h->watch_list);
+
        /* Watch pipe is allocated on demand in xs_fileno(). */
        h->watch_pipe[0] = h->watch_pipe[1] = -1;
 
-       INIT_LIST_HEAD(&h->watch_list);
+#ifdef USE_PTHREAD
        pthread_mutex_init(&h->watch_mutex, NULL);
        pthread_cond_init(&h->watch_condvar, NULL);
 
-       INIT_LIST_HEAD(&h->reply_list);
        pthread_mutex_init(&h->reply_mutex, NULL);
        pthread_cond_init(&h->reply_condvar, NULL);
 
        pthread_mutex_init(&h->request_mutex, NULL);
+#endif
 
        return h;
 }
@@ -198,15 +227,17 @@ void xs_daemon_close(struct xs_handle *h
 {
        struct xs_stored_msg *msg, *tmsg;
 
-       pthread_mutex_lock(&h->request_mutex);
-       pthread_mutex_lock(&h->reply_mutex);
-       pthread_mutex_lock(&h->watch_mutex);
-
+       mutex_lock(&h->request_mutex);
+       mutex_lock(&h->reply_mutex);
+       mutex_lock(&h->watch_mutex);
+
+#ifdef USE_PTHREAD
        if (h->read_thr_exists) {
                /* XXX FIXME: May leak an unpublished message buffer. */
                pthread_cancel(h->read_thr);
                pthread_join(h->read_thr, NULL);
        }
+#endif
 
        list_for_each_entry_safe(msg, tmsg, &h->reply_list, list) {
                free(msg->body);
@@ -218,9 +249,9 @@ void xs_daemon_close(struct xs_handle *h
                free(msg);
        }
 
-       pthread_mutex_unlock(&h->request_mutex);
-       pthread_mutex_unlock(&h->reply_mutex);
-       pthread_mutex_unlock(&h->watch_mutex);
+       mutex_unlock(&h->request_mutex);
+       mutex_unlock(&h->reply_mutex);
+       mutex_unlock(&h->watch_mutex);
 
        if (h->watch_pipe[0] != -1) {
                close(h->watch_pipe[0]);
@@ -277,17 +308,19 @@ static void *read_reply(
        struct xs_stored_msg *msg;
        char *body;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.