Skip to contentSkip to conversation

Virtio-net: Support RSS

RFC In review Sameeh Jubran 5 participants 36 messages Aug 30, 2018 – Oct 4, 2018 Networking

lore
Share & tools
lore
#0 lore raw

cover Virtio-net: Support RSS

From: Sameeh Jubran <[email protected]>

This series implements the Steering Mode feature which was introduced on the virtio-dev list a while ago, which can be found here:
* https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html

The first three patches add some infrastructure support that is used in the following three patches.

The ebpf filter doesn't fully work yet as I'm having an issue with the verifier which needs to be fixed.

The patches still need some love as not all of the cases have been handled yet most of the functionality has been implemented.

Please share your thoughts and comments so I'll move forward with sending v1 along with a fully functioning ebpf code.

Sameeh Jubran (6):
Add bpf support to qemu
tap: Add support for bpf ioctls
vhost-net: Expose vhost_net_get_fd
virtio-net: implement steering mode feature
virtio-net: steering mode: Implement rss support
virtio-net: rss: Add bpf filter

 MAINTAINERS                                 |    5 +
 configure                                   |   44 +
 hw/net/rss_bpf_insns.h                      | 3992 +++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h                        |   37 +
 hw/net/rss_tap_bpf_program.c                |  172 ++
 hw/net/vhost_net.c                          |    2 +-
 hw/net/virtio-net.c                         |  250 +-
 include/hw/virtio/virtio-net.h              |    5 +
 include/net/net.h                           |    3 +-
 include/standard-headers/linux/virtio_net.h |   55 +
 net/tap-bsd.c                               |    5 +
 net/tap-linux.c                             |   29 +-
 net/tap-linux.h                             |    3 +-
 net/tap-solaris.c                           |    5 +
 net/tap-stub.c                              |    5 +
 net/tap.c                                   |    8 +
 net/tap_int.h                               |    1 +
 qapi/net.json                               |   11 +
 scripts/update-linux-headers.sh             |    8 +-
 19 files changed, 4627 insertions(+), 13 deletions(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c
Signature · 1 line
2.13.6
#1 lore raw

RFC 1/6 Add bpf support to qemu

From: Sameeh Jubran <[email protected]>

This commit adds the bpf header provided by Linux to Qemu.

---
 MAINTAINERS                     |  5 +++++
 configure                       | 44 +++++++++++++++++++++++++++++++++++++++++
 scripts/update-linux-headers.sh |  8 ++++++--
 3 files changed, 55 insertions(+), 2 deletions(-)
MAINTAINERS +5 -0
index 0fb5f38f9f..bf2619239c 100644
@@ -2126,6 +2126,11 @@ F: hw/rdma/*
 F: hw/rdma/vmw/*
 F: docs/pvrdma.txt
 
+BPF
+M: Sameeh Jubran <[email protected]>
+S: Maintained
+F: linux-headers/linux/bpf.h
+
 Build and test automation
 -------------------------
 Build and test automation
configure +44 -0

80 lines not on this page · raw message

scripts/update-linux-headers.sh +6 -2
index feb75390aa..57df8228af 100755
@@ -35,6 +35,8 @@ cp_portable() {
         grep '#include' "$f" | grep -v -e 'linux/virtio' \
                                      -e 'linux/types' \
                                      -e 'stdint' \
+                                     -e 'stdio' \
+                                     -e 'stdbool' \
                                      -e 'linux/if_ether' \
                                      -e 'input-event-codes' \
                                      -e 'sys/' \
@@ -44,6 +46,7 @@ cp_portable() {
                                      -e 'linux/kernel' \
                                      -e 'linux/sysinfo' \
                                      -e 'asm-generic/kvm_para' \
+                                     -e 'linux/bpf' \
                                      > /dev/null
     then
         echo "Unexpected #include in input file $f".
@@ -58,7 +61,7 @@ cp_portable() {
         -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
         -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
         -e 's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/' \
-        -e 's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/' \
+        -e 's/<linux\/\([^>]*(?!bpf)\)>/"standard-headers\/linux\/\1"/' \
         -e 's/__bitwise//' \
         -e 's/__attribute__((packed))/QEMU_PACKED/' \
         -e 's/__inline__/inline/' \
@@ -126,7 +129,8 @@ done
 rm -rf "$output/linux-headers/linux"
 mkdir -p "$output/linux-headers/linux"
 for header in kvm.h vfio.h vfio_ccw.h vhost.h \
-              psci.h psp-sev.h userfaultfd.h; do
+              psci.h psp-sev.h userfaultfd.h  \
+              bpf.h; do
     cp "$tmpdir/include/linux/$header" "$output/linux-headers/linux"
 done
 
Signature · 1 line
2.13.6
#2 lore raw

Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu

Quoted 3 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

This commit adds the bpf header provided by Linux to Qemu.

s/Qemu/QEMU/

Quoted 29 lines
---
 MAINTAINERS                     |  5 +++++
 configure                       | 44 +++++++++++++++++++++++++++++++++++++++++
 scripts/update-linux-headers.sh |  8 ++++++--
 3 files changed, 55 insertions(+), 2 deletions(-)
MAINTAINERS +5 -0
index 0fb5f38f9f..bf2619239c 100644
@@ -2126,6 +2126,11 @@ F: hw/rdma/*
 F: hw/rdma/vmw/*
 F: docs/pvrdma.txt
 
+BPF
+M: Sameeh Jubran <[email protected]>
+S: Maintained
+F: linux-headers/linux/bpf.h
+
 Build and test automation
 -------------------------
 Build and test automation
configure +0 -0
index a8c4094c87..21edaf59aa 100755

configure libattr="" · line 351

Quoted 4 lines
configure +1 -0
@@ -348,6 +348,7 @@ libattr=""
 xfs=""
 tcg="yes"
 membarrier=""
+bpf="no"

This should really default to "", with the check below automatically doing the right thing to automatically enable/disable it.

Quoted 23 lines
configure +5 -0
 vhost_net="no"
 vhost_crypto="no"
 vhost_scsi="no"
@@ -1173,6 +1174,10 @@ for opt do
   ;;
   --enable-membarrier) membarrier="yes"
   ;;
+  --disable-bpf) bpf="no"
+  ;;
+  --enable-bpf) bpf="yes"
+  ;;
   --disable-blobs) blobs="no"
   ;;
   --with-pkgversion=*) pkgversion="$optarg"
@@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
   brlapi          BrlAPI (Braile)
   curl            curl connectivity
   membarrier      membarrier system call (for Linux 4.14+ or Windows)
+  bpf             bpf system calls (for Linux 3.18+)
   fdt             fdt device tree
   bluez           bluez stack connectivity
   kvm             KVM acceleration support

configure else · line 5242

Quoted 5 lines
configure +2 -0
@@ -5232,6 +5238,38 @@ else
 fi
 
 ##########################################
+# check for usable bpf system call
+if test "$bpf" = "yes"; then

if test "x$bpf" != "xno"; then

Quoted 14 lines
configure +14 -0
+    have_bpf=no
+    if test "$linux" = "yes" ; then
+        cat > $TMPC << EOF
+    #include <sys/syscall.h>
+    #include "linux/bpf.h"
+    #include <unistd.h>
+    #include <stdlib.h>
+    #include <string.h>
+    int main(void) {
+        union bpf_attr * attr = NULL;
+        syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
+        exit(0);
+    }
+EOF

configure else · line 5266

Quoted 10 lines
configure +10 -0
+        bpf_include="-Iinclude/standard-headers/linux"
+        bpf_cflags=""
+        bpf_libs=""
+        if compile_prog "$bpf_include" "$bpf_libs" ; then
+            have_bpf=yes
+        fi
+    fi
+    if test "$have_bpf" = "no"; then
+      feature_not_found "bpf" "libelf libs are not available or else \
+the bpf system call is not available"

if test "$have_bpf" = "no"; then

    if test "x$bpf" = "xyes" ;
    then
       feature_not_found ....
    else
       bpf=no
    fi

else
bpf=yes
fi

configure else · line 5271

Quoted 5 lines
configure +5 -0
+    fi
+else
+    bpf=no
+fi
+

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#3 lore raw

Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu

Quoted 108 lines · Daniel P. Berrangé
Quoted 3 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

This commit adds the bpf header provided by Linux to Qemu.

s/Qemu/QEMU/

Quoted 29 lines
---
 MAINTAINERS                     |  5 +++++
 configure                       | 44 +++++++++++++++++++++++++++++++++++++++++
 scripts/update-linux-headers.sh |  8 ++++++--
 3 files changed, 55 insertions(+), 2 deletions(-)
MAINTAINERS +5 -0
index 0fb5f38f9f..bf2619239c 100644
@@ -2126,6 +2126,11 @@ F: hw/rdma/*
 F: hw/rdma/vmw/*
 F: docs/pvrdma.txt
 
+BPF
+M: Sameeh Jubran <[email protected]>
+S: Maintained
+F: linux-headers/linux/bpf.h
+
 Build and test automation
 -------------------------
 Build and test automation
configure +0 -0
index a8c4094c87..21edaf59aa 100755

configure libattr="" · line 351

Quoted 4 lines
configure +1 -0
@@ -348,6 +348,7 @@ libattr=""
 xfs=""
 tcg="yes"
 membarrier=""
+bpf="no"

This should really default to "", with the check below automatically doing the right thing to automatically enable/disable it.

Quoted 23 lines
configure +5 -0
 vhost_net="no"
 vhost_crypto="no"
 vhost_scsi="no"
@@ -1173,6 +1174,10 @@ for opt do
   ;;
   --enable-membarrier) membarrier="yes"
   ;;
+  --disable-bpf) bpf="no"
+  ;;
+  --enable-bpf) bpf="yes"
+  ;;
   --disable-blobs) blobs="no"
   ;;
   --with-pkgversion=*) pkgversion="$optarg"
@@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
   brlapi          BrlAPI (Braile)
   curl            curl connectivity
   membarrier      membarrier system call (for Linux 4.14+ or Windows)
+  bpf             bpf system calls (for Linux 3.18+)
   fdt             fdt device tree
   bluez           bluez stack connectivity
   kvm             KVM acceleration support

configure else · line 5242

Quoted 5 lines
configure +2 -0
@@ -5232,6 +5238,38 @@ else
 fi
 
 ##########################################
+# check for usable bpf system call
+if test "$bpf" = "yes"; then

if test "x$bpf" != "xno"; then

Quoted 14 lines
configure +14 -0
+    have_bpf=no
+    if test "$linux" = "yes" ; then
+        cat > $TMPC << EOF
+    #include <sys/syscall.h>
+    #include "linux/bpf.h"
+    #include <unistd.h>
+    #include <stdlib.h>
+    #include <string.h>
+    int main(void) {
+        union bpf_attr * attr = NULL;
+        syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
+        exit(0);
+    }
+EOF

configure else · line 5266

Quoted 10 lines
configure +10 -0
+        bpf_include="-Iinclude/standard-headers/linux"
+        bpf_cflags=""
+        bpf_libs=""
+        if compile_prog "$bpf_include" "$bpf_libs" ; then
+            have_bpf=yes
+        fi
+    fi
+    if test "$have_bpf" = "no"; then
+      feature_not_found "bpf" "libelf libs are not available or else \
+the bpf system call is not available"

if test "$have_bpf" = "no"; then

    if test "x$bpf" = "xyes" ;
    then
       feature_not_found ....
    else
       bpf=no
    fi
Quoted 3 lines

else
bpf=yes
fi

I'll use the x prefix, for anyone wondering why this is necessary ( I didn't realize this before), checkout the following explanation:
https://stackoverflow.com/questions/174119/why-do-shell-script-comparisons-often-use-xvar-xyes

Quoted 13 lines

configure else · line 5271

Quoted 6 lines
configure +5 -0
+    fi
+else
+    bpf=no
+fi
+

Regards,
Daniel
--

|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#4 lore raw

Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu

In reply to Daniel P. Berrangé
Quoted 5 lines · Daniel P. Berrangé

configure else · line 5242

Quoted 3 lines

##########################################

configure +2 -0
+# check for usable bpf system call
+if test "$bpf" = "yes"; then

if test "x$bpf" != "xno"; then

We don't use the leading-x thingy elsewhere in configure, why is this condition special?
(We can assume we don't have a broken shell, and we know that $bpf won't be a string starting with a hyphen.)

thanks
-- PMM

#5 lore raw

Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu

Quoted 8 lines · Peter Maydell
Quoted 5 lines · Daniel P. Berrangé

configure else · line 5242

Quoted 3 lines

##########################################

configure +2 -0
+# check for usable bpf system call
+if test "$bpf" = "yes"; then

if test "x$bpf" != "xno"; then

Quoted 4 lines

We don't use the leading-x thingy elsewhere in configure, why is this condition special?
(We can assume we don't have a broken shell, and we know that $bpf won't be a string starting with a hyphen.)

That's what Daniel suggested and I though it should be good for the reasons above. You have good points as well. Both approaches are okay with me :)

Quoted 3 lines

thanks
-- PMM

Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#6 lore raw

Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu

In reply to Peter Maydell
Quoted 8 lines · Peter Maydell
Quoted 5 lines · Daniel P. Berrangé

configure else · line 5242

Quoted 3 lines

##########################################

configure +2 -0
+# check for usable bpf system call
+if test "$bpf" = "yes"; then

if test "x$bpf" != "xno"; then

Quoted 4 lines

We don't use the leading-x thingy elsewhere in configure, why is this condition special?
(We can assume we don't have a broken shell, and we know that $bpf won't be a string starting with a hyphen.)

It is just my habit. Drop the 'x' prefix if that's not used in QEMU's configure script normally.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#7 lore raw

RFC 2/6 tap: Add support for bpf ioctls

In reply to Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and TUNSETFILTEREBPF.

---
 include/net/net.h |  3 ++-
 net/tap-bsd.c     |  5 +++++
 net/tap-linux.c   | 29 ++++++++++++++++++++++++++++-
 net/tap-linux.h   |  3 ++-
 net/tap-solaris.c |  5 +++++
 net/tap-stub.c    |  5 +++++
 net/tap.c         |  8 ++++++++
 net/tap_int.h     |  1 +
 qapi/net.json     | 11 +++++++++++
 9 files changed, 67 insertions(+), 3 deletions(-)
include/net/net.h +2 -1
index 1425960f76..e7d1baac10 100644
@@ -39,7 +39,6 @@ typedef struct NICConf {
     DEFINE_PROP_MACADDR("mac",   _state, _conf.macaddr),                \
     DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
 
-
 /* Net clients */
 
 typedef void (NetPoll)(NetClientState *, bool enable);
@@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
 typedef int (SetVnetBE)(NetClientState *, bool);
 typedef struct SocketReadState SocketReadState;
 typedef void (SocketReadStateFinalize)(SocketReadState *rs);
+typedef int (SetBPFFilter)(NetClientState *, int, BPFType);
 
 typedef struct NetClientInfo {
     NetClientDriver type;
@@ -80,6 +80,7 @@ typedef struct NetClientInfo {
     SetVnetHdrLen *set_vnet_hdr_len;
     SetVnetLE *set_vnet_le;
     SetVnetBE *set_vnet_be;
+    SetBPFFilter *set_bpf_filter;
 } NetClientInfo;
 
 struct NetClientState {
net/tap-bsd.c +5 -0
index 6c9692263d..fccf17bad0 100644
@@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     return -1;
 }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap-linux.c +28 -1
index 535b1ddb61..e8ee54f3b3 100644
@@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     struct ifreq ifr;
 
-    if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
+    if (ioctl(fd, TUNGETIFF, &ifr) != 0)
+    {
         error_report("TUNGETIFF ioctl() failed: %s",
                      strerror(errno));
         return -1;
@@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
     pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
     return 0;
 }
+
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    int ioctl_num = 0;
+    switch (type)
+    {
+        case BPF_TYPE_FILTER:
+        ioctl_num = TUNSETFILTEREBPF;
+        break;
+
+        case BPF_TYPE_STEERING:
+        ioctl_num = TUNSETSTEERINGEBPF;
+        break;
+
+        default:
+        error_report("Unknown bpf_type");
+        return -1;
+    }
+
+    if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
+        error_report("#%d ioctl() failed: %s", ioctl_num, strerror(errno));
+        return -1;
+    }
+    return 0;
+}
net/tap-linux.h +2 -1
index 2f36d100fc..7348169fc2 100644
@@ -31,7 +31,8 @@
 #define TUNSETQUEUE  _IOW('T', 217, int)
 #define TUNSETVNETLE _IOW('T', 220, int)
 #define TUNSETVNETBE _IOW('T', 222, int)
-
+#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
+#define TUNSETFILTEREBPF _IOR('T', 225, int)
 #endif
 
 /* TUNSETIFF ifr flags */
net/tap-solaris.c +5 -0
index a2a92356c1..a5a6248c7d 100644
@@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     return -1;
 }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap-stub.c +5 -0
index a9ab8f8293..d059a32435 100644
@@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     return -1;
 }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap.c +8 -0
index 2126f4882d..ee98fecd40 100644
@@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
     return s->fd;
 }
 
+static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType type)
+{
+    TAPState *s = DO_UPCAST(TAPState, nc, nc);
+    assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+    return tap_fd_load_bpf(s->fd, bpf_fd, type);
+}
+
 /* fd support */
 
 static NetClientInfo net_tap_info = {
@@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
     .set_vnet_hdr_len = tap_set_vnet_hdr_len,
     .set_vnet_le = tap_set_vnet_le,
     .set_vnet_be = tap_set_vnet_be,
+    .set_bpf_filter = tap_set_bpf_filter,
 };
 
 static TAPState *net_tap_fd_init(NetClientState *peer,
net/tap_int.h +1 -0
index 9f931d52d6..3e1603a88e 100644
@@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
 int tap_fd_enable(int fd);
 int tap_fd_disable(int fd);
 int tap_fd_get_ifname(int fd, char *ifname);
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
 
 #endif /* NET_TAP_INT_H */
qapi/net.json +11 -0
index 6b7d93cb59..ce0a688444 100644
@@ -692,3 +692,14 @@
 ##
 { 'event': 'NIC_RX_FILTER_CHANGED',
   'data': { '*name': 'str', 'path': 'str' } }
+
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
+# Since: 2.12
+#
+##
+{ 'enum': 'BPFType',
+  'data': [ 'filter', 'steering' ] }
Signature · 1 line
2.13.6
#8 lore raw

Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls

Quoted 10 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and TUNSETFILTEREBPF.

---

+++ b/qapi/net.json

qapi/net.json line 701

Quoted 10 lines
qapi/net.json +7 -0
@@ -692,3 +692,14 @@
  ##
  { 'event': 'NIC_RX_FILTER_CHANGED',
    'data': { '*name': 'str', 'path': 'str' } }
+
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
+# Since: 2.12

You missed 2.12 by a long shot; this should be 3.1.

qapi/net.json line 705

Quoted 4 lines
qapi/net.json +4 -0
+#
+##
+{ 'enum': 'BPFType',
+  'data': [ 'filter', 'steering' ] }

It might also be wise to document these two values in addition to the documentation of the enum as a whole.

Signature · 3 lines
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org
#9 lore raw

Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls

Quoted 11 lines · Eric Blake
Quoted 8 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and TUNSETFILTEREBPF.

---

Quoted 15 lines

qapi/net.json line 701

Quoted 12 lines

+++ b/qapi/net.json

qapi/net.json +7 -0
@@ -692,3 +692,14 @@
  ##
  { 'event': 'NIC_RX_FILTER_CHANGED',
    'data': { '*name': 'str', 'path': 'str' } }
+
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
+# Since: 2.12

You missed 2.12 by a long shot; this should be 3.1.

Yup, but it seems like I'm dropping this from QAPI, Thanks

Quoted 14 lines

qapi/net.json line 705

Quoted 5 lines
qapi/net.json +4 -0
+#
+##
+{ 'enum': 'BPFType',
+  'data': [ 'filter', 'steering' ] }

It might also be wise to document these two values in addition to the documentation of the enum as a whole.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org

Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#10 lore raw

Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls

In reply to Sameeh Jubran
Quoted 23 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and TUNSETFILTEREBPF.

---
  include/net/net.h |  3 ++-
  net/tap-bsd.c     |  5 +++++
  net/tap-linux.c   | 29 ++++++++++++++++++++++++++++-
  net/tap-linux.h   |  3 ++-
  net/tap-solaris.c |  5 +++++
  net/tap-stub.c    |  5 +++++
  net/tap.c         |  8 ++++++++
  net/tap_int.h     |  1 +
  qapi/net.json     | 11 +++++++++++
  9 files changed, 67 insertions(+), 3 deletions(-)
include/net/net.h +0 -0
index 1425960f76..e7d1baac10 100644

include/net/net.h typedef struct NICConf { · line 42

Quoted 4 lines
include/net/net.h +0 -1
@@ -39,7 +39,6 @@ typedef struct NICConf {
      DEFINE_PROP_MACADDR("mac",   _state, _conf.macaddr),                \
      DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
 
-

Looks unnecessary.

include/net/net.h typedef int (SetVnetLE)(NetClientState *, bool); · line 62

Quoted 8 lines
include/net/net.h +1 -0
  /* Net clients */
 
  typedef void (NetPoll)(NetClientState *, bool enable);
@@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
  typedef int (SetVnetBE)(NetClientState *, bool);
  typedef struct SocketReadState SocketReadState;
  typedef void (SocketReadStateFinalize)(SocketReadState *rs);
+typedef int (SetBPFFilter)(NetClientState *, int, BPFType);

Looks like SetBPFProg is better? Anyway steering prog is not a filter.

Quoted 29 lines
include/net/net.h +1 -0
  typedef struct NetClientInfo {
      NetClientDriver type;
@@ -80,6 +80,7 @@ typedef struct NetClientInfo {
      SetVnetHdrLen *set_vnet_hdr_len;
      SetVnetLE *set_vnet_le;
      SetVnetBE *set_vnet_be;
+    SetBPFFilter *set_bpf_filter;
  } NetClientInfo;
 
  struct NetClientState {
net/tap-bsd.c +5 -0
index 6c9692263d..fccf17bad0 100644
@@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      return -1;
  }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap-linux.c +0 -0
index 535b1ddb61..e8ee54f3b3 100644

net/tap-linux.c int tap_fd_get_ifname(int fd, char *ifname) · line 309

Quoted 6 lines
net/tap-linux.c +2 -1
@@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      struct ifreq ifr;
 
-    if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
+    if (ioctl(fd, TUNGETIFF, &ifr) != 0)
+    {

This looks unnecessary.

Quoted 16 lines
net/tap-linux.c +9 -0
          error_report("TUNGETIFF ioctl() failed: %s",
                       strerror(errno));
          return -1;
@@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
      pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
      return 0;
  }
+
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    int ioctl_num = 0;
+    switch (type)
+    {
+        case BPF_TYPE_FILTER:
+        ioctl_num = TUNSETFILTEREBPF;

net/tap-linux.c int tap_fd_get_ifname(int fd, char *ifname) · line 336

Quoted 10 lines
net/tap-linux.c +10 -0
+        break;
+
+        case BPF_TYPE_STEERING:
+        ioctl_num = TUNSETSTEERINGEBPF;
+        break;
+
+        default:
+        error_report("Unknown bpf_type");
+        return -1;
+    }

Indentation looks odd.

Quoted 93 lines
net/tap-linux.c +7 -0
+
+    if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
+        error_report("#%d ioctl() failed: %s", ioctl_num, strerror(errno));
+        return -1;
+    }
+    return 0;
+}
net/tap-linux.h +2 -1
index 2f36d100fc..7348169fc2 100644
@@ -31,7 +31,8 @@
  #define TUNSETQUEUE  _IOW('T', 217, int)
  #define TUNSETVNETLE _IOW('T', 220, int)
  #define TUNSETVNETBE _IOW('T', 222, int)
-
+#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
+#define TUNSETFILTEREBPF _IOR('T', 225, int)
  #endif
 
  /* TUNSETIFF ifr flags */
net/tap-solaris.c +5 -0
index a2a92356c1..a5a6248c7d 100644
@@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      return -1;
  }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap-stub.c +5 -0
index a9ab8f8293..d059a32435 100644
@@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      return -1;
  }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap.c +8 -0
index 2126f4882d..ee98fecd40 100644
@@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
      return s->fd;
  }
 
+static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType type)
+{
+    TAPState *s = DO_UPCAST(TAPState, nc, nc);
+    assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+    return tap_fd_load_bpf(s->fd, bpf_fd, type);
+}
+
  /* fd support */
 
  static NetClientInfo net_tap_info = {
@@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
      .set_vnet_hdr_len = tap_set_vnet_hdr_len,
      .set_vnet_le = tap_set_vnet_le,
      .set_vnet_be = tap_set_vnet_be,
+    .set_bpf_filter = tap_set_bpf_filter,
  };
 
  static TAPState *net_tap_fd_init(NetClientState *peer,
net/tap_int.h +1 -0
index 9f931d52d6..3e1603a88e 100644
@@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
  int tap_fd_enable(int fd);
  int tap_fd_disable(int fd);
  int tap_fd_get_ifname(int fd, char *ifname);
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
 
  #endif /* NET_TAP_INT_H */
qapi/net.json +1 -0
index 6b7d93cb59..ce0a688444 100644
@@ -692,3 +692,14 @@
  ##
  { 'event': 'NIC_RX_FILTER_CHANGED',
    'data': { '*name': 'str', 'path': 'str' } }
+

qapi/net.json line 705

Quoted 10 lines
qapi/net.json +10 -0
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
+# Since: 2.12
+#
+##
+{ 'enum': 'BPFType',
+  'data': [ 'filter', 'steering' ] }

I don't get why it needs to be exported as part of qapi.

Thanks

#11 lore raw

Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls

Quoted 22 lines · Jason Wang
Quoted 19 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and TUNSETFILTEREBPF.

---
  include/net/net.h |  3 ++-
  net/tap-bsd.c     |  5 +++++
  net/tap-linux.c   | 29 ++++++++++++++++++++++++++++-
  net/tap-linux.h   |  3 ++-
  net/tap-solaris.c |  5 +++++
  net/tap-stub.c    |  5 +++++
  net/tap.c         |  8 ++++++++
  net/tap_int.h     |  1 +
  qapi/net.json     | 11 +++++++++++
  9 files changed, 67 insertions(+), 3 deletions(-)
Quoted 12 lines

include/net/net.h typedef struct NICConf { · line 42

Quoted 9 lines
include/net/net.h +0 -0
index 1425960f76..e7d1baac10 100644
@@ -39,7 +39,6 @@ typedef struct NICConf {
      DEFINE_PROP_MACADDR("mac",   _state, _conf.macaddr),
 \
      DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
  -

Looks unnecessary.

yup

Quoted 11 lines

include/net/net.h typedef int (SetVnetLE)(NetClientState *, bool); · line 62

Quoted 8 lines
include/net/net.h +1 -0
  /* Net clients */
    typedef void (NetPoll)(NetClientState *, bool enable);
@@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
  typedef int (SetVnetBE)(NetClientState *, bool);
  typedef struct SocketReadState SocketReadState;
  typedef void (SocketReadStateFinalize)(SocketReadState *rs);
+typedef int (SetBPFFilter)(NetClientState *, int, BPFType);

Looks like SetBPFProg is better? Anyway steering prog is not a filter.

True

Quoted 29 lines
Quoted 29 lines
include/net/net.h +1 -0
    typedef struct NetClientInfo {
      NetClientDriver type;
@@ -80,6 +80,7 @@ typedef struct NetClientInfo {
      SetVnetHdrLen *set_vnet_hdr_len;
      SetVnetLE *set_vnet_le;
      SetVnetBE *set_vnet_be;
+    SetBPFFilter *set_bpf_filter;
  } NetClientInfo;
    struct NetClientState {
net/tap-bsd.c +5 -0
index 6c9692263d..fccf17bad0 100644
@@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      return -1;
  }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap-linux.c +0 -0
index 535b1ddb61..e8ee54f3b3 100644
@@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
Quoted 8 lines

net/tap-linux.c int tap_fd_get_ifname(int fd, char *ifname) · line 309

Quoted 5 lines
net/tap-linux.c +2 -0
  {
      struct ifreq ifr;
  -    if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
+    if (ioctl(fd, TUNGETIFF, &ifr) != 0)
+    {

This looks unnecessary.

True

Quoted 23 lines
Quoted 23 lines
net/tap-linux.c +14 -0
          error_report("TUNGETIFF ioctl() failed: %s",
                       strerror(errno));
          return -1;
@@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
      pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
      return 0;
  }
+
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    int ioctl_num = 0;
+    switch (type)
+    {
+        case BPF_TYPE_FILTER:
+        ioctl_num = TUNSETFILTEREBPF;
+        break;
+
+        case BPF_TYPE_STEERING:
+        ioctl_num = TUNSETSTEERINGEBPF;
+        break;
Quoted 8 lines

net/tap-linux.c int tap_fd_get_ifname(int fd, char *ifname) · line 336

Quoted 5 lines
net/tap-linux.c +5 -0
+
+        default:
+        error_report("Unknown bpf_type");
+        return -1;
+    }

Indentation looks odd.

Will fix

Quoted 97 lines
Quoted 97 lines
net/tap-linux.c +3 -0
+
+    if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
+        error_report("#%d ioctl() failed: %s", ioctl_num,

strerror(errno));

net/tap-linux.c +4 -0
+        return -1;
+    }
+    return 0;
+}
net/tap-linux.h +2 -1
index 2f36d100fc..7348169fc2 100644
@@ -31,7 +31,8 @@
  #define TUNSETQUEUE  _IOW('T', 217, int)
  #define TUNSETVNETLE _IOW('T', 220, int)
  #define TUNSETVNETBE _IOW('T', 222, int)
-
+#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
+#define TUNSETFILTEREBPF _IOR('T', 225, int)
  #endif
    /* TUNSETIFF ifr flags */
net/tap-solaris.c +5 -0
index a2a92356c1..a5a6248c7d 100644
@@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      return -1;
  }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap-stub.c +5 -0
index a9ab8f8293..d059a32435 100644
@@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
  {
      return -1;
  }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
net/tap.c +7 -0
index 2126f4882d..ee98fecd40 100644
@@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
      return s->fd;
  }
  +static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType
 type)
+{
+    TAPState *s = DO_UPCAST(TAPState, nc, nc);
+    assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+    return tap_fd_load_bpf(s->fd, bpf_fd, type);
+}
+
  /* fd support */
    static NetClientInfo net_tap_info = {
@@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
      .set_vnet_hdr_len = tap_set_vnet_hdr_len,
      .set_vnet_le = tap_set_vnet_le,
      .set_vnet_be = tap_set_vnet_be,
+    .set_bpf_filter = tap_set_bpf_filter,
  };
    static TAPState *net_tap_fd_init(NetClientState *peer,
net/tap_int.h +1 -0
index 9f931d52d6..3e1603a88e 100644
@@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
  int tap_fd_enable(int fd);
  int tap_fd_disable(int fd);
  int tap_fd_get_ifname(int fd, char *ifname);
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
    #endif /* NET_TAP_INT_H */
qapi/net.json +6 -0
index 6b7d93cb59..ce0a688444 100644
@@ -692,3 +692,14 @@
  ##
  { 'event': 'NIC_RX_FILTER_CHANGED',
    'data': { '*name': 'str', 'path': 'str' } }
+
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
Quoted 8 lines

qapi/net.json line 705

Quoted 5 lines
qapi/net.json +5 -0
+# Since: 2.12
+#
+##
+{ 'enum': 'BPFType',
+  'data': [ 'filter', 'steering' ] }

I don't get why it needs to be exported as part of qapi.

You are right, I have done this long time ago when I thought it is needed. But it seems to be superfluous now.

Quoted 2 lines

Thanks

Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#12 lore raw

RFC 3/6 vhost-net: Expose vhost_net_get_fd

In reply to Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/vhost_net.c             | 2 +-
 include/hw/virtio/virtio-net.h | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)
hw/net/vhost_net.c +1 -1
index e037db63a3..c0bff725c9 100644
@@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState *net)
     return net->dev.acked_features;
 }
 
-static int vhost_net_get_fd(NetClientState *backend)
+int vhost_net_get_fd(NetClientState *backend)
 {
     switch (backend->info->type) {
     case NET_CLIENT_DRIVER_TAP:
include/hw/virtio/virtio-net.h +2 -0
index 02484dc94c..a7b53edc96 100644
@@ -107,4 +107,6 @@ typedef struct VirtIONet {
 void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
                                    const char *type);
 
+int vhost_net_get_fd(NetClientState *backend);
+
 #endif
Signature · 1 line
2.13.6
#13 lore raw

Re: [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd

Quoted 3 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Better explain the motivation in the commit log.

Thanks

Quoted 29 lines
---
  hw/net/vhost_net.c             | 2 +-
  include/hw/virtio/virtio-net.h | 2 ++
  2 files changed, 3 insertions(+), 1 deletion(-)
hw/net/vhost_net.c +1 -1
index e037db63a3..c0bff725c9 100644
@@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState *net)
      return net->dev.acked_features;
  }
 
-static int vhost_net_get_fd(NetClientState *backend)
+int vhost_net_get_fd(NetClientState *backend)
  {
      switch (backend->info->type) {
      case NET_CLIENT_DRIVER_TAP:
include/hw/virtio/virtio-net.h +2 -0
index 02484dc94c..a7b53edc96 100644
@@ -107,4 +107,6 @@ typedef struct VirtIONet {
  void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
                                     const char *type);
 
+int vhost_net_get_fd(NetClientState *backend);
+
  #endif
#14 lore raw

Re: [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd

Quoted 10 lines · Jason Wang
Quoted 4 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

Better explain the motivation in the commit log.

I used to use this function in my initial implementation, but this is unneeded now and the patch can be dropped

Quoted 35 lines

Thanks

Quoted 29 lines
---
  hw/net/vhost_net.c             | 2 +-
  include/hw/virtio/virtio-net.h | 2 ++
  2 files changed, 3 insertions(+), 1 deletion(-)
hw/net/vhost_net.c +1 -0
index e037db63a3..c0bff725c9 100644
@@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState
 *net)
      return net->dev.acked_features;
  }
  -static int vhost_net_get_fd(NetClientState *backend)
+int vhost_net_get_fd(NetClientState *backend)
  {
      switch (backend->info->type) {
      case NET_CLIENT_DRIVER_TAP:
include/hw/virtio/virtio-net.h +1 -0
index 02484dc94c..a7b53edc96 100644
@@ -107,4 +107,6 @@ typedef struct VirtIONet {
  void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
                                     const char *type);
  +int vhost_net_get_fd(NetClientState *backend);
+
  #endif
Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#15 lore raw

RFC 4/6 virtio-net: implement steering mode feature

In reply to Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/virtio-net.c                         | 65 +++++++++++++++++++++++++----
 include/hw/virtio/virtio-net.h              |  3 ++
 include/standard-headers/linux/virtio_net.h | 55 ++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 7 deletions(-)
hw/net/virtio-net.c +58 -7
index 90502fca7c..e7c4ce6f66 100644
@@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
     return VIRTIO_NET_OK;
 }
 
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int iov_cnt_in,
+        size_t *size_in)
+{
+    size_t s;
+    struct virtio_net_steering_mode sm;
+
+    switch (cmd) {
+    case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
+          &n->supported_modes, sizeof(n->supported_modes));
+        if (s != sizeof(n->supported_modes) ||
+          !size_in) {
+            return VIRTIO_NET_ERR;
+        }
+                  *size_in = s;
+      break;
+    case VIRTIO_NET_CTRL_SM_CONTROL:
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
+                sizeof(union command_data));
+        if (s != sizeof(sm) - sizeof(union command_data)) {
+            return VIRTIO_NET_ERR;
+        }
+        /* switch (cmd)
+             {
+                dafault:
+                return VIRTIO_NET_ERR;
+         } */
+      break;
+    default:
+                return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
 static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
 {
     VirtIONet *n = VIRTIO_NET(vdev);
     struct virtio_net_ctrl_hdr ctrl;
     virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
     VirtQueueElement *elem;
-    size_t s;
+    size_t s, elem_in_size = 0;
     struct iovec *iov, *iov2;
     unsigned int iov_cnt;
 
@@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
         }
 
         iov_cnt = elem->out_num;
-        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) * elem->out_num);
+        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
+                elem->out_num);
         s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
         iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
         if (s != sizeof(ctrl)) {
@@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
             status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
         } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
             status = virtio_net_handle_offloads(n, ctrl.cmd, iov, iov_cnt);
+        } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
+            size_t size_in = 0;
+            status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov, iov_cnt,
+                   elem->in_sg, elem->in_num, &size_in);
+            if (status == VIRTIO_NET_OK  && size_in > 0) {
+                elem_in_size += size_in;
+        }
         }
 
-        s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status, sizeof(status));
+        s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size, &status,
+                sizeof(status));
         assert(s == sizeof(status));
-
-        virtqueue_push(vq, elem, sizeof(status));
+        elem_in_size += s;
+        virtqueue_push(vq, elem, elem_in_size);
         virtio_notify(vdev, vq);
         g_free(iov2);
         g_free(elem);
@@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue *q)
                                    n->guest_hdr_len, -1);
                 if (out_num == VIRTQUEUE_MAX_SIZE) {
                     goto drop;
-		}
+    }
                 out_num += 1;
                 out_sg = sg2;
-	    }
+      }
         }
         /*
          * If host wants to see the guest header as is, we can
@@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
         n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
     }
 
+        n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);
+
     if (n->net_conf.duplex_str) {
         if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
             n->net_conf.duplex = DUPLEX_HALF;
include/hw/virtio/virtio-net.h +3 -0
index a7b53edc96..809e85481c 100644
@@ -102,6 +102,9 @@ typedef struct VirtIONet {
     int announce_counter;
     bool needs_vnet_hdr_swap;
     bool mtu_bypass_backend;
+    struct virtio_net_steering_modes supported_modes;
+    struct virtio_net_steering_modes current_mode;
+    struct virtio_net_rss_conf *rss_conf;
 } VirtIONet;
 
 void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
include/standard-headers/linux/virtio_net.h +55 -0

59 lines not on this page · raw message

Signature · 1 line
2.13.6
#16 lore raw

Re: [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature

Quoted 24 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/virtio-net.c                         | 65 +++++++++++++++++++++++++----
  include/hw/virtio/virtio-net.h              |  3 ++
  include/standard-headers/linux/virtio_net.h | 55 ++++++++++++++++++++++++
  3 files changed, 116 insertions(+), 7 deletions(-)
hw/net/virtio-net.c +7 -0
index 90502fca7c..e7c4ce6f66 100644
@@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
      return VIRTIO_NET_OK;
  }
 
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int iov_cnt_in,
+        size_t *size_in)
+{
+    size_t s;
+    struct virtio_net_steering_mode sm;

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 991

Quoted 10 lines
hw/net/virtio-net.c +10 -0
+
+    switch (cmd) {
+    case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
+          &n->supported_modes, sizeof(n->supported_modes));
+        if (s != sizeof(n->supported_modes) ||
+          !size_in) {

size_in has been checked in the above I think?

Quoted 35 lines
hw/net/virtio-net.c +24 -1
+            return VIRTIO_NET_ERR;
+        }
+                  *size_in = s;
+      break;
+    case VIRTIO_NET_CTRL_SM_CONTROL:
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
+                sizeof(union command_data));
+        if (s != sizeof(sm) - sizeof(union command_data)) {
+            return VIRTIO_NET_ERR;
+        }
+        /* switch (cmd)
+             {
+                dafault:
+                return VIRTIO_NET_ERR;
+         } */
+      break;
+    default:
+                return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
  static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
  {
      VirtIONet *n = VIRTIO_NET(vdev);
      struct virtio_net_ctrl_hdr ctrl;
      virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
      VirtQueueElement *elem;
-    size_t s;
+    size_t s, elem_in_size = 0;
      struct iovec *iov, *iov2;
      unsigned int iov_cnt;
 

hw/net/virtio-net.c static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq) · line 1040

Quoted 6 lines
hw/net/virtio-net.c +2 -1
@@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
          }
 
          iov_cnt = elem->out_num;
-        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) * elem->out_num);
+        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
+                elem->out_num);

Still looks unnecessary.

Quoted 28 lines
hw/net/virtio-net.c +11 -3
          s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
          iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
          if (s != sizeof(ctrl)) {
@@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
              status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
          } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
              status = virtio_net_handle_offloads(n, ctrl.cmd, iov, iov_cnt);
+        } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
+            size_t size_in = 0;
+            status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov, iov_cnt,
+                   elem->in_sg, elem->in_num, &size_in);
+            if (status == VIRTIO_NET_OK  && size_in > 0) {
+                elem_in_size += size_in;
+        }
          }
 
-        s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status, sizeof(status));
+        s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size, &status,
+                sizeof(status));
          assert(s == sizeof(status));
-
-        virtqueue_push(vq, elem, sizeof(status));
+        elem_in_size += s;
+        virtqueue_push(vq, elem, elem_in_size);
          virtio_notify(vdev, vq);
          g_free(iov2);
          g_free(elem);

hw/net/virtio-net.c static int32_t virtio_net_flush_tx(VirtIONetQueue *q) · line 1430

Quoted 9 lines
hw/net/virtio-net.c +2 -2
@@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue *q)
                                     n->guest_hdr_len, -1);
                  if (out_num == VIRTQUEUE_MAX_SIZE) {
                      goto drop;
-		}
+    }
                  out_num += 1;
                  out_sg = sg2;
-	    }
+      }

Let's avoid mixing such possible style fixes.

hw/net/virtio-net.c static void virtio_net_device_realize(DeviceState *dev, Error **errp) · line 2009

Quoted 8 lines
hw/net/virtio-net.c +1 -0
          }
          /*
           * If host wants to see the guest header as is, we can
@@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
          n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
      }
 
+        n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);

I think we need a property for virtio-net and compat this for old machine types.

Quoted 44 lines
hw/net/virtio-net.c +1 -0
+
      if (n->net_conf.duplex_str) {
          if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
              n->net_conf.duplex = DUPLEX_HALF;
include/hw/virtio/virtio-net.h +3 -0
index a7b53edc96..809e85481c 100644
@@ -102,6 +102,9 @@ typedef struct VirtIONet {
      int announce_counter;
      bool needs_vnet_hdr_swap;
      bool mtu_bypass_backend;
+    struct virtio_net_steering_modes supported_modes;
+    struct virtio_net_steering_modes current_mode;
+    struct virtio_net_rss_conf *rss_conf;
  } VirtIONet;
 
  void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
include/standard-headers/linux/virtio_net.h +18 -0
index e9f255ea3f..fa399b97ab 100644
@@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
  #define VIRTIO_NET_CTRL_GUEST_OFFLOADS   5
  #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
 
+
+#define RSS_HASH_FUNCTION_TOEPLITZ       0x1
+#define RSS_HASH_FUNCTION_SYMMETRIC      0x2
+
+// Hash function fields
+#define RSS_HASH_FIELDS_IPV4             0x00000100
+#define RSS_HASH_FIELDS_TCP_IPV4         0x00000200
+#define RSS_HASH_FIELDS_IPV6             0x00000400
+#define RSS_HASH_FIELDS_IPV6_EX          0x00000800
+#define RSS_HASH_FIELDS_TCP_IPV6         0x00001000
+#define RSS_HASH_FIELDS_TCP_IPV6_EX      0x00002000
+
+struct virtio_net_rss_supported_hash{
+uint32_t hash_function;
+};
+
+struct virtio_net_rss_conf_ptrs {
+    uint8_t *hash_key;

include/standard-headers/linux/virtio_net.h struct virtio_net_ctrl_mq { · line 288

Quoted 10 lines
include/standard-headers/linux/virtio_net.h +10 -0
+    uint32_t  *indirection_table;
+};
+
+struct virtio_net_rss_conf {
+    uint32_t hash_function;
+    uint32_t hash_function_flags;
+    uint32_t hash_key_length;
+    uint32_t indirection_table_length;
+    struct virtio_net_rss_conf_ptrs ptrs;
+};

I think the RSS stuffs should go with an independent patch?

Quoted 13 lines
include/standard-headers/linux/virtio_net.h +13 -0
+
+#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS   0
+#define VIRTIO_NET_SM_CTRL_RSS_SET                       1
+
+
+struct virtio_net_steering_modes {
+    uint32_t steering_modes;
+};
+
+union command_data {
+    struct virtio_net_rss_conf rss;
+};
+

include/standard-headers/linux/virtio_net.h struct virtio_net_ctrl_mq { · line 311

Quoted 10 lines
include/standard-headers/linux/virtio_net.h +10 -0
+struct virtio_net_steering_mode {
+    uint32_t steering_mode;
+    uint32_t command;
+};
+
+#define VIRTIO_NET_F_CTRL_STEERING_MODE  60
+
+#define VIRTIO_NET_CTRL_STEERING_MODE             7
+#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES    0
+#define VIRTIO_NET_CTRL_SM_CONTROL                1

SM_CONTROL sounds pretty generic, maybe just SET_SUPPORTED_MODES?

Thanks

Quoted 5 lines
include/standard-headers/linux/virtio_net.h +4 -0
+
+#define STEERING_MODE_AUTO          0x1
+#define STEERING_MODE_RSS           0x2
+
  #endif /* _LINUX_VIRTIO_NET_H */
#17 lore raw

Re: [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature

Quoted 36 lines · Jason Wang
Quoted 33 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/virtio-net.c                         | 65
+++++++++++++++++++++++++----
  include/hw/virtio/virtio-net.h              |  3 ++
  include/standard-headers/linux/virtio_net.h | 55
++++++++++++++++++++++++
  3 files changed, 116 insertions(+), 7 deletions(-)
hw/net/virtio-net.c +11 -0
index 90502fca7c..e7c4ce6f66 100644
@@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n,
 uint8_t cmd,
      return VIRTIO_NET_OK;
  }
  +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int
 iov_cnt_in,
+        size_t *size_in)
+{
+    size_t s;
+    struct virtio_net_steering_mode sm;
+
+    switch (cmd) {
+    case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
Quoted 8 lines

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 991

Quoted 5 lines
hw/net/virtio-net.c +5 -0
+        }
+                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
+          &n->supported_modes, sizeof(n->supported_modes));
+        if (s != sizeof(n->supported_modes) ||
+          !size_in) {

size_in has been checked in the above I think?

true

Quoted 38 lines
Quoted 38 lines
hw/net/virtio-net.c +24 -1
+            return VIRTIO_NET_ERR;
+        }
+                  *size_in = s;
+      break;
+    case VIRTIO_NET_CTRL_SM_CONTROL:
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
+                sizeof(union command_data));
+        if (s != sizeof(sm) - sizeof(union command_data)) {
+            return VIRTIO_NET_ERR;
+        }
+        /* switch (cmd)
+             {
+                dafault:
+                return VIRTIO_NET_ERR;
+         } */
+      break;
+    default:
+                return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
  static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
  {
      VirtIONet *n = VIRTIO_NET(vdev);
      struct virtio_net_ctrl_hdr ctrl;
      virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
      VirtQueueElement *elem;
-    size_t s;
+    size_t s, elem_in_size = 0;
      struct iovec *iov, *iov2;
      unsigned int iov_cnt;
  @@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice

*vdev, VirtQueue *vq)

          }
Quoted 8 lines

hw/net/virtio-net.c static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq) · line 1040

Quoted 5 lines
            iov_cnt = elem->out_num;

- iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
elem->out_num);

hw/net/virtio-net.c +2 -0
+        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
+                elem->out_num);

Still looks unnecessary.

true

Quoted 39 lines
Quoted 39 lines

          s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
          iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
          if (s != sizeof(ctrl)) {
hw/net/virtio-net.c +11 -3
@@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice
 *vdev, VirtQueue *vq)
              status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
          } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
              status = virtio_net_handle_offloads(n, ctrl.cmd, iov,
 iov_cnt);
+        } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
+            size_t size_in = 0;
+            status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov,
 iov_cnt,
+                   elem->in_sg, elem->in_num, &size_in);
+            if (status == VIRTIO_NET_OK  && size_in > 0) {
+                elem_in_size += size_in;
+        }
          }
  -        s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status,
 sizeof(status));
+        s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size,
 &status,
+                sizeof(status));
          assert(s == sizeof(status));
-
-        virtqueue_push(vq, elem, sizeof(status));
+        elem_in_size += s;
+        virtqueue_push(vq, elem, elem_in_size);
          virtio_notify(vdev, vq);
          g_free(iov2);
          g_free(elem);
@@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue
 *q)
                                     n->guest_hdr_len, -1);
                  if (out_num == VIRTQUEUE_MAX_SIZE) {
                      goto drop;
-               }
Quoted 8 lines

hw/net/virtio-net.c static int32_t virtio_net_flush_tx(VirtIONetQueue *q) · line 1430

Quoted 5 lines
hw/net/virtio-net.c +2 -1
+    }
                  out_num += 1;
                  out_sg = sg2;
-           }
+      }

Let's avoid mixing such possible style fixes.

no problem

Quoted 13 lines

hw/net/virtio-net.c static void virtio_net_device_realize(DeviceState · line 2009

Quoted 9 lines
hw/net/virtio-net.c +0 -0
          }
          /*

* If host wants to see the guest header as is, we can

hw/net/virtio-net.c +0 -0
@@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState
 *dev, Error **errp)
          n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
      }
  +        n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);

I think we need a property for virtio-net and compat this for old machine types.

yup

Quoted 51 lines
Quoted 51 lines
hw/net/virtio-net.c +1 -0
+
      if (n->net_conf.duplex_str) {
          if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
              n->net_conf.duplex = DUPLEX_HALF;
include/hw/virtio/virtio-net.h +3 -0
index a7b53edc96..809e85481c 100644
@@ -102,6 +102,9 @@ typedef struct VirtIONet {
      int announce_counter;
      bool needs_vnet_hdr_swap;
      bool mtu_bypass_backend;
+    struct virtio_net_steering_modes supported_modes;
+    struct virtio_net_steering_modes current_mode;
+    struct virtio_net_rss_conf *rss_conf;
  } VirtIONet;
    void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
include/standard-headers/linux/virtio_net.h +22 -0
index e9f255ea3f..fa399b97ab 100644
@@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
  #define VIRTIO_NET_CTRL_GUEST_OFFLOADS   5
  #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
  +
+#define RSS_HASH_FUNCTION_TOEPLITZ       0x1
+#define RSS_HASH_FUNCTION_SYMMETRIC      0x2
+
+// Hash function fields
+#define RSS_HASH_FIELDS_IPV4             0x00000100
+#define RSS_HASH_FIELDS_TCP_IPV4         0x00000200
+#define RSS_HASH_FIELDS_IPV6             0x00000400
+#define RSS_HASH_FIELDS_IPV6_EX          0x00000800
+#define RSS_HASH_FIELDS_TCP_IPV6         0x00001000
+#define RSS_HASH_FIELDS_TCP_IPV6_EX      0x00002000
+
+struct virtio_net_rss_supported_hash{
+uint32_t hash_function;
+};
+
+struct virtio_net_rss_conf_ptrs {
+    uint8_t *hash_key;
+    uint32_t  *indirection_table;
+};
+
+struct virtio_net_rss_conf {
+    uint32_t hash_function;
Quoted 8 lines

include/standard-headers/linux/virtio_net.h struct virtio_net_ctrl_mq { · line 288

Quoted 5 lines
include/standard-headers/linux/virtio_net.h +5 -0
+    uint32_t hash_function_flags;
+    uint32_t hash_key_length;
+    uint32_t indirection_table_length;
+    struct virtio_net_rss_conf_ptrs ptrs;
+};

I think the RSS stuffs should go with an independent patch?

You are right

Quoted 19 lines
Quoted 19 lines
include/standard-headers/linux/virtio_net.h +18 -0
+
+#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS   0
+#define VIRTIO_NET_SM_CTRL_RSS_SET                       1
+
+
+struct virtio_net_steering_modes {
+    uint32_t steering_modes;
+};
+
+union command_data {
+    struct virtio_net_rss_conf rss;
+};
+
+struct virtio_net_steering_mode {
+    uint32_t steering_mode;
+    uint32_t command;
+};
+
Quoted 8 lines

include/standard-headers/linux/virtio_net.h struct virtio_net_ctrl_mq { · line 311

Quoted 5 lines
include/standard-headers/linux/virtio_net.h +5 -0
+#define VIRTIO_NET_F_CTRL_STEERING_MODE  60
+
+#define VIRTIO_NET_CTRL_STEERING_MODE             7
+#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES    0
+#define VIRTIO_NET_CTRL_SM_CONTROL                1

SM_CONTROL sounds pretty generic, maybe just SET_SUPPORTED_MODES?

It is generic, it is used to send control commands for the sub modes of the steering mode. such as setting the RSS parameters for the RSS steering mode. (checkout the usage in patch 5)

Quoted 11 lines

Thanks

Quoted 5 lines
include/standard-headers/linux/virtio_net.h +4 -0
+
+#define STEERING_MODE_AUTO          0x1
+#define STEERING_MODE_RSS           0x2
+
  #endif /* _LINUX_VIRTIO_NET_H */
Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#18 lore raw

RFC 5/6 virtio-net: steering mode: Implement rss support

In reply to Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/virtio-net.c | 122 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 105 insertions(+), 17 deletions(-)
hw/net/virtio-net.c +105 -17
index e7c4ce6f66..4a52a6a1d0 100644
@@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
     return VIRTIO_NET_OK;
 }
 
-static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+
+static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
                                 struct iovec *iov, unsigned int iov_cnt,
                                 struct iovec *iov_in, unsigned int iov_cnt_in,
-        size_t *size_in)
+                                size_t *size_in)
+{
+    size_t s;
+    uint32_t supported_hash_function = 0;
+
+    switch (cmd) {
+    case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
+        supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        s = iov_from_buf(iov_in, iov_cnt_in, 0,
+        &supported_hash_function,
+        supported_hash_function);
+        if (s != sizeof(n->supported_modes) ||
+        !size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        *size_in = s;
+        break;
+    case VIRTIO_NET_SM_CTRL_RSS_SET:
+        if (!n->rss_conf) {
+            n->rss_conf = g_malloc0(
+                    sizeof(struct virtio_net_rss_conf));
+        } else if (iov == NULL || iov_cnt == 0) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            g_free(n->rss_conf);
+            return VIRTIO_NET_OK;
+        }
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
+                sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs));
+
+        if (s != sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs)) {
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
+                n->rss_conf->hash_key_length);
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
+                sizeof(uint8_t) * n->rss_conf->hash_key_length);
+        if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.indirection_table
+            = g_malloc0(sizeof(uint32_t) *
+                    n->rss_conf->indirection_table_length);
+        s = iov_to_buf(iov, iov_cnt, 0,
+                n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length);
+        if (s != sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            return VIRTIO_NET_ERR;
+        }
+        /* do bpf magic */
+        break;
+    default:
+        return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int iov_in_cnt,
+                                size_t *size_in)
 {
     size_t s;
     struct virtio_net_steering_mode sm;
+    int status = 0;
+    size_t size_in_cmd = 0;
 
     switch (cmd) {
     case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
         if (!size_in) {
             return VIRTIO_NET_ERR;
         }
-                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
-          &n->supported_modes, sizeof(n->supported_modes));
+        n->supported_modes.steering_modes |= STEERING_MODE_RSS |
+            STEERING_MODE_AUTO;
+        s = iov_from_buf(iov_in, iov_in_cnt, 0,
+        &n->supported_modes,
+        sizeof(n->supported_modes));
         if (s != sizeof(n->supported_modes) ||
-          !size_in) {
+        !size_in) {
             return VIRTIO_NET_ERR;
         }
-                  *size_in = s;
-      break;
+        *size_in = s;
+         break;
     case VIRTIO_NET_CTRL_SM_CONTROL:
-        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
-                sizeof(union command_data));
-        if (s != sizeof(sm) - sizeof(union command_data)) {
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
+        if (s != sizeof(sm)) {
+            return VIRTIO_NET_ERR;
+        }
+        iov_discard_front(&iov, &iov_cnt, sizeof(sm));
+        /* TODO handle the case where we change mode, call the old */
+        /* mode function with null ptrs  should do the trick of */
+        /* freeing any resources */
+        switch (sm.steering_mode) {
+        case STEERING_MODE_AUTO:
+                    break;
+        case STEERING_MODE_RSS:
+            status = virtio_net_ctrl_sm_rss(n, sm.command,
+                   iov, iov_cnt, iov_in, iov_in_cnt,
+                   &size_in_cmd);
+            if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
+                *size_in += size_in_cmd;
+            }
+            break;
+        default:
             return VIRTIO_NET_ERR;
         }
-        /* switch (cmd)
-             {
-                dafault:
-                return VIRTIO_NET_ERR;
-         } */
-      break;
+        break;
     default:
-                return VIRTIO_NET_ERR;
+        return VIRTIO_NET_ERR;
     }
 
     return VIRTIO_NET_OK;
Signature · 1 line
2.13.6
#19 lore raw

Re: [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support

Quoted 25 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/virtio-net.c | 122 ++++++++++++++++++++++++++++++++++++++++++++--------
  1 file changed, 105 insertions(+), 17 deletions(-)
hw/net/virtio-net.c +6 -2
index e7c4ce6f66..4a52a6a1d0 100644
@@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
      return VIRTIO_NET_OK;
  }
 
-static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+
+static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
                                  struct iovec *iov, unsigned int iov_cnt,
                                  struct iovec *iov_in, unsigned int iov_cnt_in,
-        size_t *size_in)
+                                size_t *size_in)
+{
+    size_t s;
+    uint32_t supported_hash_function = 0;

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 992

Quoted 10 lines
hw/net/virtio-net.c +10 -0
+
+    switch (cmd) {
+    case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
+        supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        s = iov_from_buf(iov_in, iov_cnt_in, 0,
+        &supported_hash_function,
+        supported_hash_function);

Indentation looks wrong.

Quoted 16 lines
hw/net/virtio-net.c +16 -0
+        if (s != sizeof(n->supported_modes) ||
+        !size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        *size_in = s;
+        break;
+    case VIRTIO_NET_SM_CTRL_RSS_SET:
+        if (!n->rss_conf) {
+            n->rss_conf = g_malloc0(
+                    sizeof(struct virtio_net_rss_conf));
+        } else if (iov == NULL || iov_cnt == 0) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            g_free(n->rss_conf);
+            return VIRTIO_NET_OK;
+        }

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 1018

Quoted 10 lines
hw/net/virtio-net.c +10 -0
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
+                sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs));
+
+        if (s != sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs)) {
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
+                n->rss_conf->hash_key_length);

What happens if n->rss_conf != 0 && iov != NULL? Looks like a guest trigger-able OOM?

Btw e.g "conf_ptrs" sounds misleading, why not just embed hash key and indirection table pointers directly in rss_conf structure itself?

Quoted 36 lines
hw/net/virtio-net.c +33 -0
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
+                sizeof(uint8_t) * n->rss_conf->hash_key_length);
+        if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.indirection_table
+            = g_malloc0(sizeof(uint32_t) *
+                    n->rss_conf->indirection_table_length);
+        s = iov_to_buf(iov, iov_cnt, 0,
+                n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length);
+        if (s != sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            return VIRTIO_NET_ERR;
+        }
+        /* do bpf magic */
+        break;
+    default:
+        return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int iov_in_cnt,
+                                size_t *size_in)
  {
      size_t s;
      struct virtio_net_steering_mode sm;
+    int status = 0;
+    size_t size_in_cmd = 0;

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 1062

Quoted 10 lines
hw/net/virtio-net.c +2 -2
 
      switch (cmd) {
      case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
          if (!size_in) {
              return VIRTIO_NET_ERR;
          }
-                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
-          &n->supported_modes, sizeof(n->supported_modes));
+        n->supported_modes.steering_modes |= STEERING_MODE_RSS |
+            STEERING_MODE_AUTO;

We should have a property for RSS instead of hard coding it here.

Thanks

Quoted 51 lines
hw/net/virtio-net.c +28 -13
+        s = iov_from_buf(iov_in, iov_in_cnt, 0,
+        &n->supported_modes,
+        sizeof(n->supported_modes));
          if (s != sizeof(n->supported_modes) ||
-          !size_in) {
+        !size_in) {
              return VIRTIO_NET_ERR;
          }
-                  *size_in = s;
-      break;
+        *size_in = s;
+         break;
      case VIRTIO_NET_CTRL_SM_CONTROL:
-        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
-                sizeof(union command_data));
-        if (s != sizeof(sm) - sizeof(union command_data)) {
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
+        if (s != sizeof(sm)) {
+            return VIRTIO_NET_ERR;
+        }
+        iov_discard_front(&iov, &iov_cnt, sizeof(sm));
+        /* TODO handle the case where we change mode, call the old */
+        /* mode function with null ptrs  should do the trick of */
+        /* freeing any resources */
+        switch (sm.steering_mode) {
+        case STEERING_MODE_AUTO:
+                    break;
+        case STEERING_MODE_RSS:
+            status = virtio_net_ctrl_sm_rss(n, sm.command,
+                   iov, iov_cnt, iov_in, iov_in_cnt,
+                   &size_in_cmd);
+            if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
+                *size_in += size_in_cmd;
+            }
+            break;
+        default:
              return VIRTIO_NET_ERR;
          }
-        /* switch (cmd)
-             {
-                dafault:
-                return VIRTIO_NET_ERR;
-         } */
-      break;
+        break;
      default:
-                return VIRTIO_NET_ERR;
+        return VIRTIO_NET_ERR;
      }
 
      return VIRTIO_NET_OK;
#20 lore raw

Re: [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support

Quoted 74 lines · Jason Wang
Quoted 28 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/virtio-net.c | 122
++++++++++++++++++++++++++++++++++++++++++++--------
  1 file changed, 105 insertions(+), 17 deletions(-)
hw/net/virtio-net.c +6 -1
index e7c4ce6f66..4a52a6a1d0 100644
@@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n,
 uint8_t cmd,
      return VIRTIO_NET_OK;
  }
  -static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+
+static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
                                  struct iovec *iov, unsigned int iov_cnt,
                                  struct iovec *iov_in, unsigned int
 iov_cnt_in,
-        size_t *size_in)
+                                size_t *size_in)
+{
+    size_t s;
+    uint32_t supported_hash_function = 0;

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, · line 994

Quoted 10 lines
hw/net/virtio-net.c +10 -0
+
+    switch (cmd) {
+    case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
+        supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        s = iov_from_buf(iov_in, iov_cnt_in, 0,
+        &supported_hash_function,
+        supported_hash_function);

Indentation looks wrong.

Quoted 16 lines
hw/net/virtio-net.c +16 -0
+        if (s != sizeof(n->supported_modes) ||
+        !size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        *size_in = s;
+        break;
+    case VIRTIO_NET_SM_CTRL_RSS_SET:
+        if (!n->rss_conf) {
+            n->rss_conf = g_malloc0(
+                    sizeof(struct virtio_net_rss_conf));
+        } else if (iov == NULL || iov_cnt == 0) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            g_free(n->rss_conf);
+            return VIRTIO_NET_OK;
+        }

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 1018

Quoted 10 lines
hw/net/virtio-net.c +10 -0
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
+                sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs));
+
+        if (s != sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs)) {
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
+                n->rss_conf->hash_key_length);
Quoted 5 lines

What happens if n->rss_conf != 0 && iov != NULL? Looks like a guest trigger-able OOM?

Btw e.g "conf_ptrs" sounds misleading, why not just embed hash key and indirection table pointers directly in rss_conf structure itself?

It was neater to do it like this so I can use:
sizeof(struct virtio_net_rss_conf) - sizeof(struct virtio_net_rss_conf_ptrs) when reading from the iov, but yeah it not a big deal and I can put the pointers there as well

Quoted 43 lines
Quoted 43 lines
hw/net/virtio-net.c +33 -0
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
+                sizeof(uint8_t) * n->rss_conf->hash_key_length);
+        if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.indirection_table
+            = g_malloc0(sizeof(uint32_t) *
+                    n->rss_conf->indirection_table_length);
+        s = iov_to_buf(iov, iov_cnt, 0,
+                n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length);
+        if (s != sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            return VIRTIO_NET_ERR;
+        }
+        /* do bpf magic */
+        break;
+    default:
+        return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int
 iov_in_cnt,
+                                size_t *size_in)
  {
      size_t s;
      struct virtio_net_steering_mode sm;
+    int status = 0;
+    size_t size_in_cmd = 0;
        switch (cmd) {
      case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
          if (!size_in) {
              return VIRTIO_NET_ERR;
Quoted 8 lines

hw/net/virtio-net.c static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, · line 1062

Quoted 5 lines
hw/net/virtio-net.c +2 -2
          }
-                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
-          &n->supported_modes, sizeof(n->supported_modes));
+        n->supported_modes.steering_modes |= STEERING_MODE_RSS |
+            STEERING_MODE_AUTO;

We should have a property for RSS instead of hard coding it here.

Agree

Quoted 56 lines

Thanks

Quoted 50 lines
hw/net/virtio-net.c +28 -13
+        s = iov_from_buf(iov_in, iov_in_cnt, 0,
+        &n->supported_modes,
+        sizeof(n->supported_modes));
          if (s != sizeof(n->supported_modes) ||
-          !size_in) {
+        !size_in) {
              return VIRTIO_NET_ERR;
          }
-                  *size_in = s;
-      break;
+        *size_in = s;
+         break;
      case VIRTIO_NET_CTRL_SM_CONTROL:
-        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
-                sizeof(union command_data));
-        if (s != sizeof(sm) - sizeof(union command_data)) {
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
+        if (s != sizeof(sm)) {
+            return VIRTIO_NET_ERR;
+        }
+        iov_discard_front(&iov, &iov_cnt, sizeof(sm));
+        /* TODO handle the case where we change mode, call the old */
+        /* mode function with null ptrs  should do the trick of */
+        /* freeing any resources */
+        switch (sm.steering_mode) {
+        case STEERING_MODE_AUTO:
+                    break;
+        case STEERING_MODE_RSS:
+            status = virtio_net_ctrl_sm_rss(n, sm.command,
+                   iov, iov_cnt, iov_in, iov_in_cnt,
+                   &size_in_cmd);
+            if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
+                *size_in += size_in_cmd;
+            }
+            break;
+        default:
              return VIRTIO_NET_ERR;
          }
-        /* switch (cmd)
-             {
-                dafault:
-                return VIRTIO_NET_ERR;
-         } */
-      break;
+        break;
      default:
-                return VIRTIO_NET_ERR;
+        return VIRTIO_NET_ERR;
      }
        return VIRTIO_NET_OK;
Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#21 lore raw

RFC 6/6 virtio-net: rss: Add bpf filter

In reply to Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h         |   40 +
 hw/net/rss_tap_bpf_program.c |  175 ++
 hw/net/virtio-net.c          |   99 +-
 4 files changed, 4305 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h

1 line not shown · raw message

hw/net/rss_bpf_insns.h new file +3992 -0
new file mode 100644
index 0000000000..1a92110b8d
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
+{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
+{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
+{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
+{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
+{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
+{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
+{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
+{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0026 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x9 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x9 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x002b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x002a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

hw/net/rss_tap_bpf.h new file +40 -0
new file mode 100644
index 0000000000..54b88cfb76

Lines of this file are not shown. View the raw message.

hw/net/rss_tap_bpf_program.c new file +175 -0

175 lines not on this page · raw message

hw/net/virtio-net.c +98 -1

99 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

1 line not shown · raw message

Parts of this message are not shown here. View the raw message.

#22 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

hw/net/rss_tap_bpf_program.c

Quoted 4,136 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
  hw/net/rss_tap_bpf.h         |   40 +
  hw/net/rss_tap_bpf_program.c |  175 ++
  hw/net/virtio-net.c          |   99 +-
  4 files changed, 4305 insertions(+), 1 deletion(-)

create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c

hw/net/rss_bpf_insns.h new file +3992 -0
new file mode 100644
index 0000000000..1a92110b8d
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
+{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
+{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
+{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
+{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
+{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
+{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
+{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
+{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0026 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x9 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x9 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x002b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x002a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

hw/net/rss_tap_bpf.h new file +40 -0
new file mode 100644
index 0000000000..54b88cfb76

Lines of this file are not shown. View the raw message.

hw/net/rss_tap_bpf_program.c new file +73 -0
new file mode 100644
index 0000000000..2744436e86

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Should we drop "rte" prefix?

hw/net/rss_tap_bpf_program.c

Quoted 5 lines
hw/net/rss_tap_bpf_program.c new file +5 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

This looks tricky, consider the total number of instructions is limited. Maybe we should introduce bpf helpers to do this in the future.

hw/net/rss_tap_bpf_program.c

Quoted 84 lines
hw/net/rss_tap_bpf_program.c new file +84 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?

hw/net/virtio-net.c

Quoted 46 lines
hw/net/rss_tap_bpf_program.c new file +13 -0

Lines of this file are not shown. View the raw message.

hw/net/virtio-net.c +18 -0
index 4a52a6a1d0..66b2140cc7 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

This looks tricky as well, should we search the BPF_LD and replace the imm?

hw/net/virtio-net.c

Quoted 11 lines
hw/net/virtio-net.c +11 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

I believe those bpf helpers should be moved to tap-linux.c.

hw/net/virtio-net.c

Quoted 64 lines
hw/net/virtio-net.c +64 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

So vhost_net_get_fd() did nothing in fact?

18 lines not shown · raw message

Parts of this message are not shown here. View the raw message.

#23 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 1 line

I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?

makes sense, I'll convert it to map structure.

Quoted 1 line

This looks tricky as well, should we search the BPF_LD and replace the imm?

Hmm yes this approach is better I guess.

Quoted 1 line

I believe those bpf helpers should be moved to tap-linux.c.

All of them? I actually thought about moving them to a standalone file in the virtio-net.c dir.
Can you explain the motive for this?

Quoted 1 line

So vhost_net_get_fd() did nothing in fact?

You are correct, I'm dropping it

Quoted 1 line

STEERING BPF is per device not per queue, so setting this for queue 0 should be ok.

Oh, okay will do.

Quoted 2,163 lines · Jason Wang
Quoted 2,160 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/rss_bpf_insns.h       | 3992
++++++++++++++++++++++++++++++++++++++++++
  hw/net/rss_tap_bpf.h         |   40 +
  hw/net/rss_tap_bpf_program.c |  175 ++
  hw/net/virtio-net.c          |   99 +-
  4 files changed, 4305 insertions(+), 1 deletion(-)

create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c

hw/net/rss_bpf_insns.h new file +6 -0
new file mode 100644
index 0000000000..1a92110b8d
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or

later.
+ * See the COPYING file in the top-level directory.
+ *
+ */

hw/net/rss_bpf_insns.h new file +2129 -0
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
+{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
+{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
+{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
+{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
+{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
+{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
+{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
+{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#24 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 4 lines · Sameeh Jubran
Quoted 1 line

I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?

makes sense, I'll convert it to map structure.

Quoted 8 lines
Quoted 1 line

This looks tricky as well, should we search the BPF_LD and replace the imm?

Hmm yes this approach is better I guess.

Quoted 1 line

I believe those bpf helpers should be moved to tap-linux.c.

All of them? I actually thought about moving them to a standalone file in the virtio-net.c dir.
Can you explain the motive for this?

Because you're using Linux specific syscall, so it should be moved to Linux specific implementation.

Thakns

#25 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

In reply to Sameeh Jubran
Quoted 19 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h         |   40 +
 hw/net/rss_tap_bpf_program.c |  175 ++
 hw/net/virtio-net.c          |   99 +-
 4 files changed, 4305 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c
hw/net/rss_bpf_insns.h new file +0 -0
new file mode 100644
index 0000000000..1a92110b8d

hw/net/rss_bpf_insns.h line 4

Quoted 4 lines
hw/net/rss_bpf_insns.h new file +4 -0
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.

Why copyright RedHat ?

Quoted 16 lines
hw/net/rss_bpf_insns.h new file +16 -0
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 1 line

+};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

Quoted 8 lines
hw/net/rss_bpf_insns.h new file +2 -0
+
+#endif
hw/net/rss_tap_bpf.h new file +0 -0
new file mode 100644
index 0000000000..54b88cfb76

hw/net/rss_tap_bpf.h line 10

Quoted 10 lines
hw/net/rss_tap_bpf.h new file +10 -0
@@ -0,0 +1,40 @@
+/*
+ * RSS ebpf header for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/

There are alot of files in this directory, with varying different copyright claims on them, while you're claiming Red Hat copyright. This looks dubious.

Quoted 36 lines
hw/net/rss_tap_bpf.h new file +30 -0
+ *
+ */
+
+#ifndef RSS_TAP_BPF_H
+#define RSS_TAP_BPF_H
+
+/* hashed fields for RSS */
+enum hash_field {
+  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
+  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
+  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
+  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
+  HASH_FIELD_L3_SRC,  /* L3 src addr */
+  HASH_FIELD_L3_DST,  /* L3 dst addr */
+  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
+  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
+};
+
+struct rss_key {
+  __u32 hash_fields;
+  __u32 nb_queues;
+    __u32 *indirection_table;
+    __u32 indirection_table_size;
+  __u8 *key;
+  __u32 key_size;
+} __attribute__((packed));
+
+#endif
hw/net/rss_tap_bpf_program.c new file +0 -0
new file mode 100644
index 0000000000..2744436e86

hw/net/rss_tap_bpf_program.c line 10

Quoted 10 lines
hw/net/rss_tap_bpf_program.c new file +10 -0
@@ -0,0 +1,175 @@
+/*
+ * RSS ebpf code for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c

That file says

* Copyright 2017 Mellanox Technologies, Ltd

while you are claiming RedHat copyright. That can't be right attribution if this is indeed a derived work.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#26 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 127 lines · Daniel P. Berrangé
Quoted 19 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h         |   40 +
 hw/net/rss_tap_bpf_program.c |  175 ++
 hw/net/virtio-net.c          |   99 +-
 4 files changed, 4305 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c
hw/net/rss_bpf_insns.h new file +0 -0
new file mode 100644
index 0000000000..1a92110b8d

hw/net/rss_bpf_insns.h line 4

Quoted 4 lines
hw/net/rss_bpf_insns.h new file +4 -0
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.

Why copyright RedHat ?

Quoted 16 lines
hw/net/rss_bpf_insns.h new file +16 -0
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 1 line

+};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

Quoted 8 lines
hw/net/rss_bpf_insns.h new file +2 -0
+
+#endif
hw/net/rss_tap_bpf.h new file +0 -0
new file mode 100644
index 0000000000..54b88cfb76

hw/net/rss_tap_bpf.h line 10

Quoted 10 lines
hw/net/rss_tap_bpf.h new file +10 -0
@@ -0,0 +1,40 @@
+/*
+ * RSS ebpf header for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/

There are alot of files in this directory, with varying different copyright claims on them, while you're claiming Red Hat copyright. This looks dubious.

Quoted 36 lines
hw/net/rss_tap_bpf.h new file +30 -0
+ *
+ */
+
+#ifndef RSS_TAP_BPF_H
+#define RSS_TAP_BPF_H
+
+/* hashed fields for RSS */
+enum hash_field {
+  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
+  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
+  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
+  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
+  HASH_FIELD_L3_SRC,  /* L3 src addr */
+  HASH_FIELD_L3_DST,  /* L3 dst addr */
+  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
+  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
+};
+
+struct rss_key {
+  __u32 hash_fields;
+  __u32 nb_queues;
+    __u32 *indirection_table;
+    __u32 indirection_table_size;
+  __u8 *key;
+  __u32 key_size;
+} __attribute__((packed));
+
+#endif
hw/net/rss_tap_bpf_program.c new file +0 -0
new file mode 100644
index 0000000000..2744436e86

hw/net/rss_tap_bpf_program.c line 10

Quoted 10 lines
hw/net/rss_tap_bpf_program.c new file +10 -0
@@ -0,0 +1,175 @@
+/*
+ * RSS ebpf code for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c

That file says

Quoted 4 lines

* Copyright 2017 Mellanox Technologies, Ltd

while you are claiming RedHat copyright. That can't be right attribution if this is indeed a derived work.

I am not an expert when it comes to licensing, I gave credits Mellanox for the work but I have introduced some new changes as well to suit my usage.
Moreover the license for the original code is 3BSD or GPL, I have no idea how this is possible and which license I should take into account?
Anyways I'd love some guidance on this topic so I can give the appropriate credit where it is needed.

Thanks!

Quoted 7 lines

Regards,
Daniel
--

|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
#27 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 132 lines · Sameeh Jubran
Quoted 127 lines · Daniel P. Berrangé
Quoted 19 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h         |   40 +
 hw/net/rss_tap_bpf_program.c |  175 ++
 hw/net/virtio-net.c          |   99 +-
 4 files changed, 4305 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c
hw/net/rss_bpf_insns.h new file +0 -0
new file mode 100644
index 0000000000..1a92110b8d

hw/net/rss_bpf_insns.h line 4

Quoted 4 lines
hw/net/rss_bpf_insns.h new file +4 -0
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.

Why copyright RedHat ?

Quoted 16 lines
hw/net/rss_bpf_insns.h new file +16 -0
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 1 line

+};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

Quoted 8 lines
hw/net/rss_bpf_insns.h new file +2 -0
+
+#endif
hw/net/rss_tap_bpf.h new file +0 -0
new file mode 100644
index 0000000000..54b88cfb76

hw/net/rss_tap_bpf.h line 10

Quoted 10 lines
hw/net/rss_tap_bpf.h new file +10 -0
@@ -0,0 +1,40 @@
+/*
+ * RSS ebpf header for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/

There are alot of files in this directory, with varying different copyright claims on them, while you're claiming Red Hat copyright. This looks dubious.

Quoted 36 lines
hw/net/rss_tap_bpf.h new file +30 -0
+ *
+ */
+
+#ifndef RSS_TAP_BPF_H
+#define RSS_TAP_BPF_H
+
+/* hashed fields for RSS */
+enum hash_field {
+  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
+  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
+  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
+  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
+  HASH_FIELD_L3_SRC,  /* L3 src addr */
+  HASH_FIELD_L3_DST,  /* L3 dst addr */
+  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
+  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
+};
+
+struct rss_key {
+  __u32 hash_fields;
+  __u32 nb_queues;
+    __u32 *indirection_table;
+    __u32 indirection_table_size;
+  __u8 *key;
+  __u32 key_size;
+} __attribute__((packed));
+
+#endif
hw/net/rss_tap_bpf_program.c new file +0 -0
new file mode 100644
index 0000000000..2744436e86

hw/net/rss_tap_bpf_program.c line 10

Quoted 10 lines
hw/net/rss_tap_bpf_program.c new file +10 -0
@@ -0,0 +1,175 @@
+/*
+ * RSS ebpf code for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c

That file says

Quoted 4 lines

* Copyright 2017 Mellanox Technologies, Ltd

while you are claiming RedHat copyright. That can't be right attribution if this is indeed a derived work.

Quoted 8 lines

I am not an expert when it comes to licensing, I gave credits Mellanox for the work but I have introduced some new changes as well to suit my usage.
Moreover the license for the original code is 3BSD or GPL, I have no idea how this is possible and which license I should take into account?
Anyways I'd love some guidance on this topic so I can give the appropriate credit where it is needed.

I can't give legal advice - it is best to ask your own company's experts if you need such advice.

I will just say from a code review POV, I'd generally expect the original source license and copyright lines to be preserved, and extra copyright line added to reflect changes made.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#28 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

In reply to Daniel P. Berrangé
Quoted 18 lines · Daniel P. Berrangé
Quoted 16 lines

+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */

hw/net/rss_bpf_insns.h new file +11 -0
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 8 lines
Quoted 1 line

+};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

This is possible. But it depends on eBPF toolchain (e.g recent version of LLVM) to work which is inflexible or impossible to make it work on some distributions. Providing compiled bytecode does not have such limitation.

Thanks

#29 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 30 lines · Jason Wang
Quoted 18 lines · Daniel P. Berrangé
Quoted 16 lines

+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */

hw/net/rss_bpf_insns.h new file +11 -0
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 8 lines
Quoted 1 line

+};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

Quoted 3 lines

This is possible. But it depends on eBPF toolchain (e.g recent version of LLVM) to work which is inflexible or impossible to make it work on some distributions. Providing compiled bytecode does not have such limitation.

Those distros can fix their toolchain if they wish to have the BPF feature enabled when building QEMU, just like they would for any other dependancy that is needed by QEMU.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#30 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 28 lines · Daniel P. Berrangé
Quoted 27 lines · Jason Wang
Quoted 26 lines · Daniel P. Berrangé
Quoted 16 lines

+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */

hw/net/rss_bpf_insns.h new file +11 -0
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 1 line

+};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

Quoted 8 lines
Quoted 3 lines

This is possible. But it depends on eBPF toolchain (e.g recent version of LLVM) to work which is inflexible or impossible to make it work on some distributions. Providing compiled bytecode does not have such limitation.

Those distros can fix their toolchain if they wish to have the BPF feature enabled when building QEMU, just like they would for any other dependancy that is needed by QEMU.

Regards,

Well, since bytecode is architecture independent, it needs either emulator or JIT to work. So having eBPF toolchain looks unnecessary since we're sure it will generate exactly the same bytecodes everywhere. I think we can just treat it like some kind of virtio-net firmware and ship with bytecodes.

Thanks

#31 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

Quoted 38 lines · Jason Wang
Quoted 35 lines · Daniel P. Berrangé
Quoted 22 lines · Jason Wang
Quoted 21 lines · Daniel P. Berrangé
Quoted 16 lines

+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */

hw/net/rss_bpf_insns.h new file +11 -0
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

Quoted 1 line

+};

This massive array is presumably an auto-generated content.

Quoted 8 lines
Quoted 5 lines

We shouldn't be storing this in GIT. We need to store the original preferred source format, and providing makefile rules to generate it.

This is possible. But it depends on eBPF toolchain (e.g recent version of LLVM) to work which is inflexible or impossible to make it work on some distributions. Providing compiled bytecode does not have such limitation.

Those distros can fix their toolchain if they wish to have the BPF feature enabled when building QEMU, just like they would for any other dependancy that is needed by QEMU.

Quoted 6 lines
Quoted 1 line

Regards,

Well, since bytecode is architecture independent, it needs either emulator or JIT to work. So having eBPF toolchain looks unnecessary since we're sure it will generate exactly the same bytecodes everywhere. I think we can just treat it like some kind of virtio-net firmware and ship with bytecodes.

I don't find this rational very compelling. Lots of our generated files are architecture independant and so would have the same output everywhere. We still aim to generate them all at build from the master source using the relevant toolchain(s).

The main exception where we bundle pre-generated stuff is the various architecture dependant ROMs, since those need many cross-compilers. Most of the distro vendors will drop these pre-built ROMs and build them from source again for license compliance purposes.

So I still believe we should be building BPF code from the master source, not bundling any pre-generated content.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#32 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

In reply to Sameeh Jubran
Quoted 19 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
 hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h         |   40 +
 hw/net/rss_tap_bpf_program.c |  175 ++
 hw/net/virtio-net.c          |   99 +-
 4 files changed, 4305 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c
hw/net/virtio-net.c +0 -0
index 4a52a6a1d0..66b2140cc7 100644

hw/net/virtio-net.c line 31

Quoted 5 lines
hw/net/virtio-net.c +2 -0
@@ -27,6 +27,10 @@
 #include "hw/virtio/virtio-access.h"
 #include "migration/misc.h"
 #include "standard-headers/linux/ethtool.h"
+#include <sys/syscall.h>
+#include <linux/bpf.h>

This breaks the build on platforms without bpf.h - you checked for this in configure, but then never made use of the CONFIG_BPF conditional in the code.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
#33 lore raw

Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter

In reply to Sameeh Jubran
Quoted 19 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

---
  hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
  hw/net/rss_tap_bpf.h         |   40 +
  hw/net/rss_tap_bpf_program.c |  175 ++
  hw/net/virtio-net.c          |   99 +-
  4 files changed, 4305 insertions(+), 1 deletion(-)

create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c

hw/net/rss_bpf_insns.h new file +0 -0
new file mode 100644
index 0000000000..1a92110b8d

hw/net/rss_bpf_insns.h line 4

Quoted 4 lines
hw/net/rss_bpf_insns.h new file +4 -0
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.

Please spell it "Red Hat", as that is the proper name in use in all other places in the repository.

Quoted 5 lines
hw/net/rss_bpf_insns.h new file +5 -0
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */

hw/net/rss_bpf_insns.h line 19

Quoted 10 lines
hw/net/rss_bpf_insns.h new file +10 -0
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},

Is this file generated? If not, this long array of magic numbers can't be the preferred form for source editing (which would be in violation of GPL requirements); if so, why are we checking in a generated file into qemu.git? It can indeed be valid to check in a generated file if the program for generating it is not commonly available to developers, but the comments should make it clear that such is the case; and you would be wise to point to more than just 'tap_bpf_program.c', but also include comments stating how to reproduce this generated file.

Your commit then adds a file by a similar name, but not matching the one you called out here:

hw/net/rss_tap_bpf_program.c line 4

Quoted 7 lines
hw/net/rss_tap_bpf_program.c new file +4 -0
@@ -0,0 +1,175 @@
+/*
+ * RSS ebpf code for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.

Again, wrong spelling.

hw/net/rss_tap_bpf_program.c line 10

Quoted 6 lines
hw/net/rss_tap_bpf_program.c new file +6 -0
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c

Your choice of license might be incompatible. That file states:

/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0

but GPLv2-only is not the same as your choice of GPLv2+.

Perhaps you can get away with GPLv2+ being compatible with BSD-3-Clause, but it might be safer to state that this file is GPLv2-only (as an explicit choice of one of your two options from the source you were copying).

hw/net/rss_tap_bpf_program.c line 175

Quoted 4 lines
hw/net/rss_tap_bpf_program.c new file +4 -0
+
+RSS(l3_l4)
+
+BPF_LICENSE("Dual BSD/GPL");

And this is different from what you wrote above. So which license is this file?

hw/net/virtio-net.c line 31

Quoted 10 lines
hw/net/virtio-net.c +2 -0
index 4a52a6a1d0..66b2140cc7 100644
@@ -27,6 +27,10 @@
  #include "hw/virtio/virtio-access.h"
  #include "migration/misc.h"
  #include "standard-headers/linux/ethtool.h"
+#include <sys/syscall.h>
+#include <linux/bpf.h>

Is this going to cause compilation failure on non-Linux machines?

Signature · 3 lines
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org
#34 lore raw
In reply to Sameeh Jubran
Quoted 11 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

This series implements the Steering Mode feature which was introduced on the virtio-dev list a while ago, which can be found here:
* https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html

The first three patches add some infrastructure support that is used in the following three patches.

The ebpf filter doesn't fully work yet as I'm having an issue with the verifier which needs to be fixed.

What issues did you meet? You can attach a trace buffer and get verbose debug information from that. Btw, dpdk use cls bpf and we use socket filter.

Quoted 3 lines

The patches still need some love as not all of the cases have been handled yet most of the functionality has been implemented.

One question is how indirection table is implemented, I thought it should be a map but looks not. Please see comment on patch 6.

Thanks

Quoted 36 lines

Please share your thoughts and comments so I'll move forward with sending v1 along with a fully functioning ebpf code.

Sameeh Jubran (6):
Add bpf support to qemu
tap: Add support for bpf ioctls
vhost-net: Expose vhost_net_get_fd
virtio-net: implement steering mode feature
virtio-net: steering mode: Implement rss support
virtio-net: rss: Add bpf filter

  MAINTAINERS                                 |    5 +
  configure                                   |   44 +
  hw/net/rss_bpf_insns.h                      | 3992 +++++++++++++++++++++++++++
  hw/net/rss_tap_bpf.h                        |   37 +
  hw/net/rss_tap_bpf_program.c                |  172 ++
  hw/net/vhost_net.c                          |    2 +-
  hw/net/virtio-net.c                         |  250 +-
  include/hw/virtio/virtio-net.h              |    5 +
  include/net/net.h                           |    3 +-
  include/standard-headers/linux/virtio_net.h |   55 +
  net/tap-bsd.c                               |    5 +
  net/tap-linux.c                             |   29 +-
  net/tap-linux.h                             |    3 +-
  net/tap-solaris.c                           |    5 +
  net/tap-stub.c                              |    5 +
  net/tap.c                                   |    8 +
  net/tap_int.h                               |    1 +
  qapi/net.json                               |   11 +
  scripts/update-linux-headers.sh             |    8 +-
  19 files changed, 4627 insertions(+), 13 deletions(-)

create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c

#35 lore raw
Quoted 14 lines · Jason Wang
Quoted 11 lines · Sameeh Jubran

From: Sameeh Jubran <[email protected]>

This series implements the Steering Mode feature which was introduced on the
virtio-dev list a while ago, which can be found here:
* https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html

The first three patches add some infrastructure support that is used in the following three patches.

Quoted 6 lines
Quoted 2 lines

The ebpf filter doesn't fully work yet as I'm having an issue with the verifier which needs to be fixed.

What issues did you meet? You can attach a trace buffer and get verbose debug information from that. Btw, dpdk use cls bpf and we use socket filter.

I am using the buffer for debugging actually, I keep getting back edge from two consecutive instructions
in the instruction array which I have no idea how to troubleshoot! The instructions are generated from the
compiled code which compiles okay.
This didn't happen to me earlier and I have actually succeeded in inserting the bpf instructions with no issues.

Quoted 8 lines
Quoted 4 lines

The patches still need some love as not all of the cases have been handled yet most of the functionality has been implemented.

One question is how indirection table is implemented, I thought it should be a map but looks not. Please see comment on patch 6.

No it is a hash table.

Quoted 42 lines

Thanks

Quoted 37 lines

Please share your thoughts and comments so I'll move forward with sending v1 along with a fully functioning ebpf code.

Sameeh Jubran (6):
Add bpf support to qemu
tap: Add support for bpf ioctls
vhost-net: Expose vhost_net_get_fd
virtio-net: implement steering mode feature
virtio-net: steering mode: Implement rss support
virtio-net: rss: Add bpf filter

  MAINTAINERS                                 |    5 +
  configure                                   |   44 +
  hw/net/rss_bpf_insns.h                      | 3992
+++++++++++++++++++++++++++
  hw/net/rss_tap_bpf.h                        |   37 +
  hw/net/rss_tap_bpf_program.c                |  172 ++
  hw/net/vhost_net.c                          |    2 +-
  hw/net/virtio-net.c                         |  250 +-
  include/hw/virtio/virtio-net.h              |    5 +
  include/net/net.h                           |    3 +-
  include/standard-headers/linux/virtio_net.h |   55 +
  net/tap-bsd.c                               |    5 +
  net/tap-linux.c                             |   29 +-
  net/tap-linux.h                             |    3 +-
  net/tap-solaris.c                           |    5 +
  net/tap-stub.c                              |    5 +
  net/tap.c                                   |    8 +
  net/tap_int.h                               |    1 +
  qapi/net.json                               |   11 +
  scripts/update-linux-headers.sh             |    8 +-
  19 files changed, 4627 insertions(+), 13 deletions(-)

create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c

Signature · 4 lines
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.