summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcvs2svn <cvs2svn@FreeBSD.org>1999-05-24 16:47:10 +0000
committercvs2svn <cvs2svn@FreeBSD.org>1999-05-24 16:47:10 +0000
commitc37538200ebdef38051ba82b76e6b2dab3bd2fdc (patch)
tree3c937e1c39e039ed95d3b8ead3defc46cf60cc04 /sys
parenta21d905bae94bc358756957b1c26e2ec3f487e82 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/conf/newvers.sh4
-rw-r--r--sys/contrib/dev/oltr/COPYRIGHT62
-rw-r--r--sys/contrib/dev/oltr/i386-elf.trlld.o.uu1840
-rw-r--r--sys/contrib/dev/oltr/if_oltr.c1515
-rw-r--r--sys/contrib/dev/oltr/trlld.h892
-rw-r--r--sys/contrib/dev/oltr/trlldbm.c2011
-rw-r--r--sys/contrib/dev/oltr/trlldhm.c1899
-rw-r--r--sys/contrib/dev/oltr/trlldmac.c1990
-rw-r--r--sys/contrib/softupdates/README320
-rw-r--r--sys/contrib/softupdates/softdep.h548
-rw-r--r--sys/dev/aic7xxx/aic7xxx.c966
-rw-r--r--sys/dev/aic7xxx/aic7xxx.h137
-rw-r--r--sys/dev/aic7xxx/aic7xxx.reg13
-rw-r--r--sys/dev/aic7xxx/aic7xxx.seq14
-rw-r--r--sys/dev/aic7xxx/aicasm_symbol.c20
-rw-r--r--sys/dev/pccard/if_xe.c2404
-rw-r--r--sys/dev/pccard/if_xereg.h296
-rw-r--r--sys/i386/eisa/ahc_eisa.c46
-rw-r--r--sys/i386/include/if_wavelan_ieee.h281
-rw-r--r--sys/i386/isa/if_wireg.h599
-rw-r--r--sys/modules/vinum/.gdbinit.crash4
-rw-r--r--sys/modules/vinum/.gdbinit.serial5
-rw-r--r--sys/net/if_iso88025subr.c410
-rw-r--r--sys/net/iso88025.h112
-rw-r--r--sys/pci/ahc_pci.c889
-rw-r--r--sys/pci/bt848_i2c.c11
-rw-r--r--sys/ufs/ffs/README320
-rw-r--r--sys/ufs/ffs/softdep.h548
28 files changed, 1386 insertions, 16770 deletions
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index e3a5dda7d67c..a57167741638 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,11 +32,11 @@
# SUCH DAMAGE.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
-# $Id: newvers.sh,v 1.41.2.6 1999/05/14 14:31:56 jkh Exp $
+# $Id: newvers.sh,v 1.41.2.5 1999/05/08 21:55:41 obrien Exp $
TYPE="FreeBSD"
REVISION="3.2"
-BRANCH="STABLE"
+BRANCH="RELEASE"
RELEASE="${REVISION}-${BRANCH}"
SNAPDATE=""
if [ "X${SNAPDATE}" != "X" ]; then
diff --git a/sys/contrib/dev/oltr/COPYRIGHT b/sys/contrib/dev/oltr/COPYRIGHT
deleted file mode 100644
index 668a6413c450..000000000000
--- a/sys/contrib/dev/oltr/COPYRIGHT
+++ /dev/null
@@ -1,62 +0,0 @@
-The oltr driver uses objects and microcode from Olicom's
-OC-3300 PowerMACH Works Kit.
-
-As the Linux driver says..
-==================================================================
-*
-* This driver uses the Token Ring Low Level Driver (TRlld,
-* PowerMach Works) as the lower level driver. The PMW kit is
-* (C) Olicom. The executable object may be distributed along
-* with this driver for the purpose of linking this driver.
-*
-=================================================================
-The low level driver is combined with a FreeBSD specific driver
-supplied in source, which provides all OS dependent functions.
-
-files from olicom are:
-
-trlld.o - Olicom low-level driver interface
-
-trlldmac.o - TMS 380 Microcode for Olicom TMS380 based cards
-trlldbm.o - "bullseye" Microcode for Olicom "bullseye" based cards
-trlldhm.o - "hawkeye" Microcode for Olicom "hawkeye" based cards
-
-The file trlld.o is stored in uuencode format as trlld.o.uu
-It represents a state machine of some kind that has no OS dependencies
-and communicates with the firmware on the cards via a proprietary interface.
-All communication with this module is achieved via functions supplied in
-the FreeBSD specific driver.
-
-The other 3 files have been encoded using file2c(1)
-and represent only microcode to be loaded into the appropriate board
-when found.
-
-Here is the release notice from Olicom regarding these files:
--------------------------------------------------------------------------------
-OC-3300 PowerMach Works and its components are wholly owned products of
-Olicom A/S
-Nybrovej 114
-2800 Lyngby
-Denmark
-(45) 45 27 00 00
-and are used and distributed with permission. (#SS022499)
--------------------------------------------------------------------------------
-
-A supporting email is also included.
----------- Forwarded message ----------
-Date: Wed, 24 Feb 1999 17:07:14 +0100
-From: Starla Scott <sscott@olicom.com>
-To: 'Larry Lile' <lile@stdio.com>
-Subject: RE: FreeBSD Token-ring driver
-
-Larry,
-
-You may freely distribute the driver and/or kit. However, we do request that
-you include an acknowledgement of Olicom's copyright and ownership as
-related to your driver.
-
-Thanks,
-Starla
-Olicom Tech Support
-------------------------------------------------------------------------------
-
diff --git a/sys/contrib/dev/oltr/i386-elf.trlld.o.uu b/sys/contrib/dev/oltr/i386-elf.trlld.o.uu
deleted file mode 100644
index c0aceefd4ffc..000000000000
--- a/sys/contrib/dev/oltr/i386-elf.trlld.o.uu
+++ /dev/null
@@ -1,1840 +0,0 @@
-begin 644 trlld.o
-M?T5,1@$!`0````````````$``P`!```````````````P00$``````#0`````
-M`"@`"P`'`````````````````(/L%%>+?"0<5E-5BT0D+"7__P``@\`$B]@E
-M__\``%#_5QR+\('C__\``$.!X___``!3_U<<P>`(@\0(9@OP@>;__P``9O?&
-M`0!FB70D(`^%>`(``(M$)"PE__\``%#_5QR(1"0G@\0$BT0D+"7__P``@\`"
-MB]@E__\``%#_5QR+\('C__\``$.!X___``!3_U<<BU0D*(/$",'@"('B__\`
-M`&8+\(M$)"`E__\``('F__\``(/``H/""HOH)?__```[P@^-\0```(M$)"PE
-M__\``(/`!&:+\(M$)"`E__\``(/`"HE$)!B+QB7__P``4/]7'(O8B\8E__\`
-M`$`E__\``%#_5QS!X`B#Q`AF"]B+Q8'C__\``"7__P``.\,/A:@!``"+1"0L
-M)?__``"#P`HE__\``%!7Z/1M``"#Q`B+U8'B__\``#O0#X5]`0``BT0D+"7_
-M_P``4/]7'(A$)"=J8?]7'(M$)#0E__\``(/``B7__P``4/]7'#/2@\0,BE0D
-M(SO0#X5!`0``BT0D+"7__P``@\`#)?__``!0_U<<BU0D'(/$!&:#Q0*+Q27_
-M_P``.\(/C"[___]F,_:-7QR)?"00BVPD+('E__\``(M$)"R#Q00E__\``(/`
-M"F:)1"0<C4<$B_B+QB7_````4(O%)?__``!0_Q=J8?\3BT0D*"7__P``4/\3
-MBM`SP(K"]]`E_P```%"+1"0P)?__``!0_Q=J8?\3B\4E__\``%#_$XK0,\"*
-MPHO6-?X```"#Q"`E__\``('B__\``#O"=7R#Q@)F@?X``7*-BW0D+(M\)!"+
-M1"0@@>;__P``)?\```"#Q@10B\8E__\``%#_5P2+1"0H@>;__P``)?__``!&
-MP?@(@>;__P``)?\```!05O]7!#/`@\00BD0D(U"+1"0P)?__``!0_U<$N`$`
-M``"#Q`A=6UY?@\04PSO_75M>,\!?@\04PSO_._^!_P````"#[%!7BWPD6%93
-M56:+AW(+``!FJ1``=$0SP&:+1Q:#P`PE__\``%"+AUP+``#_4!R+\#/`9HM'
-M%H/`#27__P``4(N'7`L``/]0','@"&8+\('F__\``(/$".LDD#/`9HM'%H/`
-M#"7__P``4(N'7`L``/]0((OP@>;__P``@\0$9HN'<@L``&:I$`!FB70D7G1#
-M,\!FBT<6@\`*)?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`LE__\``%"+AUP+
-M``#_4!S!X`AF"_"!YO__``"#Q`CK(S/`9HM'%H/`"B7__P``4(N'7`L``/]0
-M((OP@>;__P``@\0$9HN'<@L``&:I$`!FB70D7'0[:@$SP&:+1Q:#P`PE__\`
-M`%"+AUP+``#_4`1J`#/`9HM'%H/`#27__P``4(N'7`L``/]0!(/$$.L?._]J
-M`3/`9HM'%H/`#"7__P``4(N'7`L``/]0"(/$"&:+=S2+QH'F__\``,'F""7_
-M_P``P?@(@>8`_P``)?\````+QHOP9HN'<@L``('F__\``&:I$`!T3HO&)?\`
-M``!0,\!FBT<6@\`*)?__``!0BX=<"P``_U`$@>;__P``,\#!_@B!YO\```!6
-M9HM'%H/`"R7__P``4(N'7`L``/]0!(/$$.LCD('F__\``#/`5F:+1Q:#P`HE
-M__\``%"+AUP+``#_4`B#Q`AJ"HN'7`L``/]0-+Z\____@\0$O1````!FA:]R
-M"P``=$4SP&:+1Q:#P`(E__\``%"+AUP+``#_4!R+V#/`9HM'%H/``R7__P``
-M4(N'7`L``/]0','@"&8+V('C__\``(/$".LE._\SP&:+1Q:#P`(E__\``%"+
-MAUP+``#_4""+V('C__\``(/$!(O#@>/__P``P>,()?__``#!^`B!XP#_```E
-M_P````O#9HE$-%2#Q@(/C&'___]FBX=R"P``OD0```!FJ1``=$TSP(I$)%Y0
-M,\!FBT<6@\`,)?__``!0BX=<"P``_U`$,\!FBT0D9L'X""7_````4#/`9HM'
-M%H/`#27__P``4(N'7`L``/]0!(/$$.LDD#/`9HM$)%Y0,\!FBT<6@\`,)?__
-M``!0BX=<"P``_U`(@\0(9HN'<@L``&:I$`!T5(M$)%PE_P```%`SP&:+1Q:#
-MP`HE__\``%"+AUP+``#_4`2+1"1D)?__``#!^`@E_P```%`SP&:+1Q:#P`LE
-M__\``%"+AUP+``#_4`2#Q!#K*(/'`(M$)%PE__\``%`SP&:+1Q:#P`HE__\`
-M`%"+AUP+``#_4`B#Q`B+1"04B(?<$```BD0D%8B'W1```(I$)!:(A]X0``"*
-M1"07B(??$```BT0D&(B'X!```(I$)!F(A^$0``"+1"0\9HF'XA```&:+1"0V
-M9JD`0'11BD0D1HB'Y!```(I$)$>(A^40``"+1"1(B(?F$```BD0D28B'YQ``
-M`(I$)$J(A^@0``"*1"1+B(?I$```9HM$)#9FB8>."P``75M>7X/$4,.0,\F(
-MC^00``"(C^40``"(C^80``"(C^<0``"(C^@0``"(C^D0``#KPX'_`````('_
-M`````(/L&%>+?"0@9HN'H`L``&:I(``/A(\```!FQT<0``G'1V@`````9B7?
-M_V:)AZ`+``"+AY0+``")1Q(SP&B0````9HM'%H/`!R7__P``4(N'7`L``/]0
-M!(/$"%^#Q!C#D&;'1Q``",=':`````!F);__9HF'H`L``(N'D`L``(E'$C/`
-M:)````!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(7X/$&,,[_V:+AZ`+``!F
-MJ4``=:MFBX>@"P``9JF``'1F9B5__V:)AZ`+``!FBX=R"P``9JD`@'0&C4=8
-MZPJ0BX=D"P``@\!84.A!9P``9L='$``*B4<2,\"Z`````(/$!(E7:&B0````
-M9HM'%H/`!R7__P``4(N'7`L``/]0!(/$"%^#Q!C#9HN'H`L``&:I`(!T;V8E
-M_W]FB8>@"P``9HN'F@L``&:I`@!T"S/`9HN'F`L``.L.,\!FBX>8"P``#0``
-M`(!0Z,1F``!FQT<0``;'1V@`````B4<2,\"#Q`1HD````&:+1Q:#P`<E__\`
-M`%"+AUP+``#_4`2#Q`A?@\08PV:+AZ`+``!FJ0`!#X3L_O__9B7__C/)9HF'
-MH`L``&:+AW(+``!FJ0$`=01FN1``,\"*AWT+``")1"04J0$```!T!&:#R0*+
-M1"04J0(```!T!&:#R01FBX>:"P``9JD$`'4.9H/)0&:I"`!T!&:#R2!FQT<0
-M``W'1V@`````B\&!X?__``#!X0@E__\``,'X"('A`/\``"7_````"\$E__\`
-M`(E'$C/`:)````!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(7X/$&,,[_X/L
-M"%>+?"009HM'"F8]@`!T8F:+1P)F/4,`=%@SP&:+1PQ0,\!FBT<*4#/`9HM'
-M"%!J!&H!:@97Z(-<``"#Q!Q?@\0(PX/&`,=';`````!HB````#/`9HM'%H/`
-M!R7__P``4(N'7`L``/]0!(/$"%^#Q`C#BT=HA<!T#<=':`````!7_]"#Q`1F
-MBX>@"P``9H7`=-MFBT<"9CU0`'+19HM'$&:%P'6A5^CC_/__@\0$7X/$",.#
-MQP`[_X'_`````(/L$%>+?"085E-59HN'<@L``&:I$`!T/&H!,\!FBT<6@\`,
-M)?__``!0BX=<"P``_U`$:@`SP&:+1Q:#P`TE__\``%"+AUP+``#_4`2#Q!#K
-M((/'`&H!,\!FBT<6@\`,)?__``!0BX=<"P``_U`(@\0(9HN'<@L``&:I$`!T
-M/FC@````,\!FBT<6@\`*)?__``!0BX=<"P``_U`$:@4SP&:+1Q:#P`LE__\`
-M`%"+AUP+``#_4`2#Q!#K(CO_:.`%```SP&:+1Q:#P`HE__\``%"+AUP+``#_
-M4`B#Q`B^^/___[T0````9H6O<@L``'1%,\!FBT<6@\`")?__``!0BX=<"P``
-M_U`<B]@SP&:+1Q:#P`,E__\``%"+AUP+``#_4!S!X`AF"]B!X___``"#Q`CK
-M)3O_,\!FBT<6@\`")?__``!0BX=<"P``_U`@B]B!X___``"#Q`1FB5PT&(/&
-M`GR%,\"^"````&:+1"064(M$)!@E__\``%`SP&:+1"0:4(M$)!PE__\``%!J
-M`6H$5^AL6@``@\0<75M>7X/$$,.0@^PX5XM\)$!64U5FBX=R"P``9JD0`'0\
-M:(`````SP&:+1Q:#P`HE__\``%"+AUP+``#_4`1J$#/`9HM'%H/`"R7__P``
-M4(N'7`L``/]0!(/$$.L@:(`0```SP&:+1Q:#P`HE__\``%"+AUP+``#_4`B#
-MQ`AFBX=R"P``9JD0`'0W,\!FBT<6@\`")?__``!0BX=<"P``_U`<,\!FBT<6
-M@\`#)?__``!0BX=<"P``_U`<@\0(ZQT[_S/`9HM'%H/``B7__P``4(N'7`L`
-M`/]0((/$!&:+AW(+``!FJ1``=$0SP&:+1Q:#P`(E__\``%"+AUP+``#_4!R+
-M\#/`9HM'%H/``R7__P``4(N'7`L``/]0','@"&8+\('F__\``(/$".LDD#/`
-M9HM'%H/``B7__P``4(N'7`L``/]0((OP@>;__P``@\0$B\:(1"1&9HN'<@L`
-M`&:I$`!T1C/`9HM'%H/``B7__P``4(N'7`L``/]0'(OP,\!FBT<6@\`#)?__
-M``!0BX=<"P``_U`<P>`(9@OP@>;__P``@\0(ZR:#QP`SP&:+1Q:#P`(E__\`
-M`%"+AUP+``#_4""+\('F__\``(/$!(O&B$0D16:+AYH+``!FJ0$`='MFBX=R
-M"P``9JD0`'1%,\!FBT<6@\`")?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`,E
-M__\``%"+AUP+``#_4!S!X`AF"_"!YO__``"#Q`CK)3O_,\!FBT<6@\`")?__
-M``!0BX=<"P``_U`@B_"!YO__``"#Q`2+QHA$)$3&1"1#`3/`,]**1"1&BI>Z
-M"P``.\(/A%X#``"+[XV%F@L``(V]MPL``(E$)"R-A;H+``")1"0TB40D*(V%
-MF`L``(E$)#"+1"0TNA\```"*""+1BD0D0XORA,!U"(7V#X6.````C02UJ!``
-M`&:+\&:+A7(+``!FJ1``=%"+QB7_````4#/`9HM%%H/`"B7__P``4(N%7`L`
-M`/]0!('F__\``#/`P?X(@>;_````5F:+11:#P`LE__\``%"+A5P+``#_4`2#
-MQ!#K)8/'`('F__\``#/`5F:+11:#P`HE__\``%"+A5P+``#_4`B#Q`C&1"1#
-M`(M$)"C^`+H?````(A>-%%+!X@.-A!6\"P``B40D'&:+A7(+``!FJ1``=$8S
-MP&:+11:#P`(E__\``%"+A5P+``#_4!R+V#/`9HM%%H/``R7__P``4(N%7`L`
-M`/]0','@"&8+V('C__\``(/$".LF@\<`,\!FBT46@\`")?__``!0BX5<"P``
-M_U`@B]B!X___``"#Q`2+1"0<9HE8"F:+A7(+``!FJ1``=$0SP&:+11:#P`(E
-M__\``%"+A5P+``#_4!R+V#/`9HM%%H/``R7__P``4(N%7`L``/]0','@"&8+
-MV('C__\``(/$".LDD#/`9HM%%H/``B7__P``4(N%7`L``/]0((O8@>/__P``
-M@\0$9O?#`/YU"HM$)!S&0`X`ZR"*A7T+``"H!'0*N`(```#K"(/'`+@!````
-MBU0D'(A"#HM$)!R+5"0P9HM`"F:+$B7__P``@>+__P``.\)^#HM$)!S&0`X#
-M_X7$$```9O?#`!YU#6;WPP!`=`;_A<@0``!F]\,`$'0&_X7,$```N@,```"+
-M1"0<9B/3B%`/BT0D+&;W``(`=11F]\,`_G0NBT0D'&:+0`IFA<!U(8J5MPL`
-M`(M$)!S^PHB5MPL``,=`$`$```#ID0```(/'`#/2BT0D',=`$`````"+1"0P
-M9HL0BT0D'&:+2`J!X?__``"+PCO(?P*+P8O(BT0D'(E$)#B%R7Y&C9VW"P``
-MC7`0BT0D.+H?````9HM`""7__P``*\B*`_[`B`.*!R+0C112P>(#C805O`L`
-M`(E$)#B+1"0<BT`00(7)B09_PXM$)!QFBU`*9H/J!&:)4`HSP(M4)#2*1"1&
-MBA*!XO\````[P@^%SOS__XO]9HN'F@L``&:I`0`/A!$"``"*AYP+```\`G5S
-M,]*+1"1$)?\```"*E\,.```[PG16B7PD-(V?PPX``(VWPPX``(''O@X``(H+
-MN!\````BP8M,)#2-%$"*!L'B`O[`B`:-C!'$#@``9L=!!@``BA>*000"PC/2
-MB`>+1"1$)?\```"*$SO"=<!=6UY?@\0XP\9$)$,!,]*+1"1$)?\```"*E\,.
-M```[PG3>B^^-A;X.``"-G<,.``")1"0LC446C;W##@``B40D,(H3N!\````B
-MPHOPC11VP>("C805Q`X``(E$)"2*1"1#A,!U"(7V#X6*````C8:($```9HOP
-M9HN%<@L``&:I$`!T38O&)?\```!0,\!FBT46@\`*)?__``!0BX5<"P``_U`$
-M@>;__P``,\#!_@B!YO\```!69HM%%H/`"R7__P``4(N%7`L``/]0!(/$$.LB
-M@>;__P``,\!69HM%%H/`"B7__P``4(N%7`L``/]0"(/$",9$)$,`_@>+1"0P
-M9HL`)?__``"#P`(E__\``%"+A5P+``#_4!R#Q`0EB````#V(````=`Z+1"0D
-M9L=`!@(`ZSP[_XM$)#!FBP`E__\``(/``B7__P``4(N%7`L``/]0'(/$!(/@
-M1(/X1'0'N`,```#K`C/`BU0D)&:)0@:+1"0LBTPD)(H0BDD$`LHSTH@(BA.+
-M1"1$)?\````[P@^%K?[__UU;7E^#Q#C#,]*X'P```(J/PPX``(J7P`X``"+!
-MC01`P>`"C9P'Q`X``#/`BD0D13O"#X0T_O__B^N-G[X.``")?"0PC8?##@``
-MB40D-(VWP`X``(''P`X``#/`BE4%_L**PHA5!3/2BE4$.\)U*&;'108``(ML
-M)#"Y'P```/Z%PPX``(M4)#0B"HT,2<'A`HVL#<0.```STHM$)#"*@+X.``#^
-MP(@#BT0D,(J`P`X``/[`B`<SP(I$)$6*%CO"=9E=6UY?@\0XPX/'`%=6BW0D
-M#&:+?@J+QX'G__\``,'G""7__P``P?@(@><`_P``)?\````+QXOX@>?__P``
-M9O?'``5T7VH`:@!J`('G__\``%=J`&H#5NA@40``5N@:4```9L=&`D4`:@!6
-MBX9L"P``_U`$9L=&!`,`@\0H7E_#5NCV3P``9L=&`D4`:@!6BX9L"P``_U`$
-M9L=&!`,`@\0,7E_#:@!J`&H`B\<E__\``%!J`&H#5N@`40``@\0<9O?'``AU
-MNL:&CQ````=>7\.!_P````"!_P````"#[!0SP%>+?"0<5E/&1QH`QT0D%`$`
-M``!FBT<6@\`&)?__``!0BX=<"P``_U`<@\0$BMCVPX!U##/`6UY?@\04PX/'
-M`+A_````(L,E_P```%`SP&:+1Q:#P`8E__\``%"+AUP+``#_4`1FBX=R"P``
-M@\0(9JD"``^$F@$``&:I$`!T23/`9HM'%H/`""7__P``4(N'7`L``/]0'(OP
-M,\!FBT<6@\`))?__``!0BX=<"P``_U`<P>`(9@OP@>;__P``B70D&(/$".LF
-M._\SP&:+1Q:#P`@E__\``%"+AUP+``#_4"`E__\``(E$)!2#Q`2+1"009HE$
-M)!XE__\```T`"```9HE$)!IFBX=R"P``9JD0`'1/,\"*1"0:4#/`9HM'%H/`
-M""7__P``4(N'7`L``/]0!#/`9HM$)"+!^`@E_P```%`SP&:+1Q:#P`DE__\`
-M`%"+AUP+``#_4`2#Q!#K)H/'`#/`9HM$)!I0,\!FBT<6@\`()?__``!0BX=<
-M"P``_U`(@\0(,\!FBT0D'@T``0``9HE$)!IFBX=R"P``9JD0`'1/,\"*1"0:
-M4#/`9HM'%H/`""7__P``4(N'7`L``/]0!#/`9HM$)"+!^`@E_P```%`SP&:+
-M1Q:#P`DE__\``%"+AUP+``#_4`2#Q!#K)H/'`#/`9HM$)!I0,\!FBT<6@\`(
-M)?__``!0BX=<"P``_U`(@\0(N`\````BPX/X#'=V_R2%D````#O_5^BN\O__
-M@\0$ZV*05^A"]/__:@$SP&:+1Q:#P`<E__\``%"+AUP+``#_4`17Z"+T___'
-M1"0D`@```(/$$.LND%?HKO'__X/$!.LBD(M';(7`=!K'1VP`````5__0@\0$
-MZPL[_U?HFOS__X/$!&H@,\!FBT<6@\`')?__``!0BX=<"P``_U`$,\!FBT<6
-M@\`')?__``!0BX=<"P``_U`<@\0,J00```!U(&B$````,\!FBT<6@\`')?__
-M``!0BX=<"P``_U`$@\0(6UZ+1"0,7X/$%,.#["Q7BWPD-%:+="0\4XM<)$15
-MBH=Z"P``/`1U#XN':`L``&:+0!#K#8/&`(N':`L``&:+0!)FB4<8,\!H@```
-M`&:+1Q:#P`@E__\``%"+AUP+``#_4`1J#XN'7`L``/]0-#/`9HM'%H/`""7_
-M_P``4(N'7`L``/]0'(/@9(/$$(/(`8A$)#MFBX=R"P``9JD!`'4+BE0D.X#*
-M`HA4)#LSP(I$)#M0,\!FBT<6@\`()?__``!0BX=<"P``_U`$:AZ+AUP+``#_
-M4#1J`#/`9HM'%H/`"27__P``4(N'7`L``/]0!&H>BX=<"P``_U`T9L=$)%``
-MP&:+AW(+``"#Q!AFJ0`$="-FJ0`(=21F@4PD.``(9HM'!F8]"P!T$V:!3"0X
-M``SK"H/'`&:!3"0X`!"+ZXU<)#:-0P%05?_6@\0(A<!U"U-5_]:#Q`B%P'0*
-MQT0D(`$```#K",=$)"``````BT0D((7`#X3<````Z=\#``"#QP"-;"0VN`$`
-M```#Q5!3_]:#Q`B%P'4+55/_UH/$"(7`=`>]`0```.L",^V%[0^$<@(``.FE
-M`P``D(M$)#!F_TPD,&:%P`^$6@(``(OKC5PD-K@!`````\-05?_6@\0(A<!U
-M"U-5_]:#Q`B%P'0'NP$```#K`C/;A=L/A5X#``"+1"0P9O],)#!FA<!UP.M&
-M._]FBT0D+F:%P'2>Z6'___^0:B8SP&:+1Q:#P`@E__\``%"+AUP+``#_4`1F
-MQT<"(@!FQT<$```SP(/$"%U;7E^#Q"S#D(O=Z<D!``"0C6PD-K@!`````\50
-M4__6@\0(A<!U"U53_]:#Q`B%P'0'O0$```#K`C/MA>T/A<X"``"+1"0P9O],
-M)#!FA<`/A(0!``")="00OA````!FA;=R"P``B^MFBUPD-G1+,\"*PU`SP&:+
-M1Q:#P`(E__\``%"+AUP+``#_4`2!X___```SP,'["('C_P```%-FBT<6@\`#
-M)?__``!0BX=<"P``_U`$@\00ZR.0@>/__P``,\!39HM'%H/``B7__P``4(N'
-M7`L``/]0"(/$"(M$)#"+W6;_3"0P9H7`#X5O____BW0D$.GA````D(M$)#!F
-M_TPD,&:%P`^$S@```(OKC5PD-K@!`````\-05?_6@\0(A<!U"U-5_]:#Q`B%
-MP'0'NP$```#K`C/;A=L/A=(!``!FBX=R"P``9JD0`&:+7"0V=$PSP(K#4#/`
-M9HM'%H/``B7__P``4(N'7`L``/]0!('C__\``#/`P?L(@>/_````4V:+1Q:#
-MP`,E__\``%"+AUP+``#_4`2#Q!#K)#O_@>/__P``,\!39HM'%H/``B7__P``
-M4(N'7`L``/]0"(/$"(M$)#!F_TPD,&:%P`^%//___^DS_O__@\<`C6PD,K@!
-M`````\504__6@\0(A<!U"U53_]:#Q`B%P'0'O0$```#K`C/MA>T/A08!``"-
-M;"0TN`$````#Q5!3_]:#Q`B%P'4+55/_UH/$"(7`=`F]`0```.L$._\S[87M
-M#X72````C6PD,+@!`````\504__6@\0(A<!U"U53_]:#Q`B%P'0)O0$```#K
-M!#O_,^V%[0^%G@```+@!````9B-$)#!FB40D+HM$)#`E__\``,'X`6:)1"0P
-M9H7`#X0Y_?__BT0D.&:%1"0R#X4:_?__9HM$)#)FB40D*F:+AW(+``!FJ1``
-M=%\SP(I$)"I0,\!FBT<6@\`,)?__``!0BX=<"P``_U`$,\!FBT0D,L'X""7_
-M````4#/`9HM'%H/`#27__P``4(N'7`L``/]0!(/$$.LV@\<`75M>N`$```!?
-M@\0LPX/'`#/`9HM$)"I0,\!FBT<6@\`,)?__``!0BX=<"P``_U`(@\0(BT0D
-M-&:)1"0J9HN'<@L``&:I$`!T3S/`BD0D*E`SP&:+1Q:#P`HE__\``%"+AUP+
-M``#_4`0SP&:+1"0RP?@()?\```!0,\!FBT<6@\`+)?__``!0BX=<"P``_U`$
-M@\00ZR:#QP`SP&:+1"0J4#/`9HM'%H/`"B7__P``4(N'7`L``/]0"(/$"&:+
-M1"0N9H7`#X0?_?__Z3+\__\[_X/L(%>+1"0LQT0D$`````!6BW0D+%-5QD0D
-M+P%FBP`S_V:%P`^$Q`,``(V&F@L``(E$)!2+1"0XC5@$9HM#"&:%P`^$C@,`
-M`+@?````BHZ_#@``(L&+5"0<9HE$)"R*1"0O0H3`B50D'`^$P0```(M$)!1F
-M]P`0`'0*BT,$N@@```#K!8M#!#/2B!"+1"0L)?__``"-!,4`$@``9HE$)"AF
-MBX9R"P``9JD0`'13BT0D*"7_````4#/`9HM&%H/`!"7__P``4(N&7`L``/]0
-M!(M$)#`E__\``,'X""7_````4#/`9HM&%H/`!27__P``4(N&7`L``/]0!(/$
-M$.LG._^+1"0H)?__``!0,\!FBT86@\`$)?__``!0BX9<"P``_U`(@\0(QD0D
-M+P#IV0```)!FBX9R"P``9JD0`'0[:@`SP&:+1A:#P`(E__\``%"+AEP+``#_
-M4`1J$#/`9HM&%H/``R7__P``4(N&7`L``/]0!(/$$.LB._]H`!```#/`9HM&
-M%H/``B7__P``4(N&7`L``/]0"(/$"(M$)"QFA<!U9V:+AG(+``!FJ1``=#IJ
-M`#/`9HM&%H/`!"7__P``4(N&7`L``/]0!&H2,\!FBT86@\`%)?__``!0BX9<
-M"P``_U`$@\00ZR&0:``2```SP&:+1A:#P`0E__\``%"+AEP+``#_4`B#Q`@S
-MR6:+CG(+``#WP2((``!T!XMK!.L$._^+*XO%P>@0]\$0````9HE$)"AT5(M$
-M)"@E_P```%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`2+1"0P)?__``#!^`@E
-M_P```%`SP&:+1A:#P`,E__\``%"+AEP+``#_4`2#Q!#K*(/'`(M$)"@E__\`
-M`%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`B#Q`AFBX9R"P``9JD0`&:);"0H
-M=%&+1"0H)?\```!0,\!FBT86@\`")?__``!0BX9<"P``_U`$@>7__P``,\#!
-M_0B!Y?\```!59HM&%H/``R7__P``4(N&7`L``/]0!(/$$.LG._^+1"0H)?__
-M``!0,\!FBT86@\`")?__``!0BX9<"P``_U`(@\0(9HM#"&:)1"0H9HN&<@L`
-M`&:I$`!T48M$)"@E_P```%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`2+1"0P
-M)?__``#!^`@E_P```%`SP&:+1A:#P`,E__\``%"+AEP+``#_4`2#Q!#K)8M$
-M)"@E__\``%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`B#Q`AF_XZ\#@``BH:_
-M#@``_L"(AK\.``"#PPR+1"0X1V:+`"7__P``._@/C$W\__]FBX::"P``9JD!
-M`'0)9K\`<.L'@\<`9K\`T&:+AG(+``!FJ1``=%>+QR7_````4#/`9HM&%H/`
-M`B7__P``4(N&7`L``/]0!('G__\``#/`P?\(@>?_````5V:+1A:#P`,E__\`
-M`%"+AEP+``#_4`2#Q!!=6UZ+1"007X/$(,.!Y___```SP%=FBT86@\`")?__
-M``!0BX9<"P``_U`(@\0(Z]"#[!2X'P```%>+?"0<5E.*E[D+``"+7"0H(L(#
-MP(T$0`4H$0``9HOP9HN'<@L``&:I$`!T3XO&)?\```!0,\!FBT<6@\`$)?__
-M``!0BX=<"P``_U`$@>;__P``,\#!_@B!YO\```!69HM'%H/`!27__P``4(N'
-M7`L``/]0!(/$$.LD._^!YO__```SP%9FBT<6@\`$)?__``!0BX=<"P``_U`(
-M@\0(_H>Y"P``,\!FBX=R"P``B40D%*D""```=`2+,^L#BW,$B\;!Z!!FB40D
-M'(M$)!2I$````'14BT0D'"7_````4#/`9HM'%H/``B7__P``4(N'7`L``/]0
-M!(M$)"0E__\``,'X""7_````4#/`9HM'%H/``R7__P``4(N'7`L``/]0!(/$
-M$.LH@\<`BT0D'"7__P``4#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+
-MAW(+``!FJ1``=$Z+QB7_````4#/`9HM'%H/``B7__P``4(N'7`L``/]0!(O&
-M)?__``#!^`@E_P```%`SP&:+1Q:#P`,E__\``%"+AUP+``#_4`2#Q!#K))"+
-MQB7__P``4#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+AW(+``!FJ1``
-M9HMS"'10B\8E_P```%`SP&:+1Q:#P`(E__\``%"+AUP+``#_4`2+QB7__P``
-MP?@()?\```!0,\!FBT<6@\`#)?__``!0BX=<"P``_U`$@\00ZR:#QP"+QB7_
-M_P``4#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+1P)F/5``#X6*````
-M:@$SP&:+1Q:#P`<E__\``%"+AUP+``#_4`1FB[>@"P``@\0(B\9F#0"`9H7V
-M9HF'H`L``'5.9HM'`F8]4`!R1,:'NPL```!FBT<09H7`="O'1VP`````:(@`
-M```SP&:+1Q:#P`<E__\``%"+AUP+``#_4`2#Q`CK"SO_5^@:X?__@\0$9L='
-M`F``6UY?@\04PSO_._^!_P````"#[!!7BWPD&%939HN'<@L``&:I$`!T.6H!
-M,\!FBT<6@\`,)?__``!0BX=<"P``_U`$:@`SP&:+1Q:#P`TE__\``%"+AUP+
-M``#_4`2#Q!#K'6H!,\!FBT<6@\`,)?__``!0BX=<"P``_U`(@\0(9HN'<@L`
-M`&:I$`!T.FH`,\!FBT<6@\`*)?__``!0BX=<"P``_U`$:@HSP&:+1Q:#P`LE
-M__\``%"+AUP+``#_4`2#Q!#K(9!H``H``#/`9HM'%H/`"B7__P``4(N'7`L`
-M`/]0"(/$"&:+AW(+``!FJ1``=#]J`#/`9HM'%H/``B7__P``4(N'7`L``/]0
-M!&B?````,\!FBT<6@\`#)?__``!0BX=<"P``_U`$@\00ZR.#QP!H`)\``#/`
-M9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+AW(+``!FJ1``=#MJ`#/`9HM'
-M%H/``B7__P``4(N'7`L``/]0!&H`,\!FBT<6@\`#)?__``!0BX=<"P``_U`$
-M@\00ZQ\[_VH`,\!FBT<6@\`")?__``!0BX=<"P``_U`(@\0(9HN'<@L``&:I
-M$`!T.FH`,\!FBT<6@\`")?__``!0BX=<"P``_U`$:@`SP&:+1Q:#P`,E__\`
-M`%"+AUP+``#_4`2#Q!#K'I!J`#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$
-M"&:+AW(+``!FJ1``=#IJ`#/`9HM'%H/``B7__P``4(N'7`L``/]0!&H`,\!F
-MBT<6@\`#)?__``!0BX=<"P``_U`$@\00ZQZ0:@`SP&:+1Q:#P`(E__\``%"+
-MAUP+``#_4`B#Q`AFBX=R"P``9JD0`&:+=QAT3HO&)?\```!0,\!FBT<6@\`"
-M)?__``!0BX=<"P``_U`$B\8E__\``,'X""7_````4#/`9HM'%H/``R7__P``
-M4(N'7`L``/]0!(/$$.LDD(O&)?__``!0,\!FBT<6@\`")?__``!0BX=<"P``
-M_U`(@\0(9HN'<@L``&:I$`!FBW<8=%"+QB7_````4#/`9HM'%H/``B7__P``
-M4(N'7`L``/]0!('F__\``#/`P?X(@>;_````5F:+1Q:#P`,E__\``%"+AUP+
-M``#_4`2#Q!#K)8/'`('F__\``#/`5F:+1Q:#P`(E__\``%"+AUP+``#_4`B#
-MQ`AFBX=R"P``9JD0`'0Y:@4SP&:+1Q:#P`(E__\``%"+AUP+``#_4`1J!3/`
-M9HM'%H/``R7__P``4(N'7`L``/]0!(/$$.L@:`4%```SP&:+1Q:#P`(E__\`
-M`%"+AUP+``#_4`B#Q`@STF:+EW(+``#WP@"```!T"XUW$(U?".L/@\8`BX=D
-M"P``C7`0C5@(B\;!Z!#WPA````!FB40D&'12BT0D&"7_````4#/`9HM'%H/`
-M`B7__P``4(N'7`L``/]0!(M$)"`E__\``,'X""7_````4#/`9HM'%H/``R7_
-M_P``4(N'7`L``/]0!(/$$.LFD(M$)!@E__\``%`SP&:+1Q:#P`(E__\``%"+
-MAUP+``#_4`B#Q`AFBX=R"P``9JD0`'1.B\8E_P```%`SP&:+1Q:#P`(E__\`
-M`%"+AUP+``#_4`2+QB7__P``P?@()?\```!0,\!FBT<6@\`#)?__``!0BX=<
-M"P``_U`$@\00ZR20B\8E__\``%`SP&:+1Q:#P`(E__\``%"+AUP+``#_4`B#
-MQ`B+P\'H$&:+\&:+AW(+``!FJ1``=%"+QB7_````4#/`9HM'%H/``B7__P``
-M4(N'7`L``/]0!(O&)?__``#!^`@E_P```%`SP&:+1Q:#P`,E__\``%"+AUP+
-M``#_4`2#Q!#K)H/'`(O&)?__``!0,\!FBT<6@\`")?__``!0BX=<"P``_U`(
-M@\0(9HN'<@L``&:I$`!FB_-T38O&)?\```!0,\!FBT<6@\`")?__``!0BX=<
-M"P``_U`$@>;__P``,\#!_@B!YO\```!69HM'%H/``R7__P``4(N'7`L``/]0
-M!(/$$.LB@>;__P``,\!69HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+AW(+
-M``!FJ1``=$5H@````#/`9HM'%H/`!B7__P``4(N'7`L``/]0!&B0````,\!F
-MBT<6@\`')?__``!0BX=<"P``_U`$@\006UY?@\00PY!H@)```#/`9HM'%H/`
-M!B7__P``4(N'7`L``/]0"(/$"%M>7X/$$,.0._^!_P````"#[`Q7BWPD%%93
-M9HN'<@L``&:I$`!T13/`9HM'%H/`#"7__P``4(N'7`L``/]0'(OP,\!FBT<6
-M@\`-)?__``!0BX=<"P``_U`<P>`(9@OP@>;__P``@\0(ZR4[_S/`9HM'%H/`
-M#"7__P``4(N'7`L``/]0((OP@>;__P``@\0$9HN'<@L``&:I$`!T1#/`9HM'
-M%H/`"B7__P``4(N'7`L``/]0'(O8,\!FBT<6@\`+)?__``!0BX=<"P``_U`<
-MP>`(9@O8@>/__P``@\0(ZR20,\!FBT<6@\`*)?__``!0BX=<"P``_U`@B]B!
-MX___``"#Q`1FBX=R"P``9JD0`&:)7"06=#MJ`3/`9HM'%H/`#"7__P``4(N'
-M7`L``/]0!&H`,\!FBT<6@\`-)?__``!0BX=<"P``_U`$@\00ZQ\[_VH!,\!F
-MBT<6@\`,)?__``!0BX=<"P``_U`(@\0(9HN'<@L``&:I$`!T/FCN````,\!F
-MBT<6@\`*)?__``!0BX=<"P``_U`$:@4SP&:+1Q:#P`LE__\``%"+AUP+``#_
-M4`2#Q!#K(CO_:.X%```SP&:+1Q:#P`HE__\``%"+AUP+``#_4`B#Q`AJ"HN'
-M7`L``/]0-&:+AW(+``"#Q`1FJ1``=#DSP&:+1Q90BX=<"P``_U`<B]@SP&:+
-M1Q9`)?__``!0BX=<"P``_U`<P>`(9@O8@>/__P``@\0(ZQLSP&:+1Q90BX=<
-M"P``_U`@B]B!X___``"#Q`1FBX=R"P``9JD0`'10B\8E_P```%`SP&:+1Q:#
-MP`PE__\``%"+AUP+``#_4`2!YO__```SP,'^"('F_P```%9FBT<6@\`-)?__
-M``!0BX=<"P``_U`$@\00ZR6#QP"!YO__```SP%9FBT<6@\`,)?__``!0BX=<
-M"P``_U`(@\0(9HN'<@L``&:I$`!T63/`BD0D%E`SP&:+1Q:#P`HE__\``%"+
-MAUP+``#_4`0SP&:+1"0>P?@()?\```!0,\!FBT<6@\`+)?__``!0BX=<"P``
-M_U`$@\00B\-;7B7__P``7X/$#,.0,\!FBT0D%E`SP&:+1Q:#P`HE__\``%"+
-MAUP+``#_4`B#Q`CKS(/'`('_`````('_`````(/L#%>+?"045E-59HN'H`L`
-M`&:%P'0^9HM'$&:%P'0LQT=L`````&B(````,\!FBT<6@\`')?__``!0BX=<
-M"P``_U`$@\0(ZPR#QP!7Z,[6__^#Q`1FBX>T"P``9H7`#X3/````,^VX'P``
-M`"*'M@L``(OP9HN'M`L``&:%P'XIC9^T"P``C01VP>`#C80'O`L``%!7Z(;R
-M__]&@\0(@^8?10^_`SOH?-UJ`3/`9HM'%H/`!R7__P``4(N'7`L``/]0!&;'
-M1P)@`&:+MZ`+``"#Q`B+QF8-`(!FA?9FB8>@"P``=55FBT<"9CU0`')+QH>[
-M"P```&:+1Q!FA<!T*<=';`````!HB````#/`9HM'%H/`!R7__P``4(N'7`L`
-M`/]0!(/$".L25^CRU?__@\0$ZP>09L='`E``5^A`T?__9HNWC@L``(/$!(O&
-M@>;__P``P>8(:@`E__\``('F`/\``,'X""7_````"\:+\#/`@>;__P``BH><
-M"P``4&:+AW(+``!FJ0$`=`JX$````.L(@\<`N`0````E__\``%"+QB7__P``
-M4&H`:@!7Z)\T``"#Q!R*AWT+``"H`W1J5^CL^O__9HF'D!```(/$!&:+MZ`+
-M``"+QF8-``%FA?9FB8>@"P``=4%FBT<"9CU0`'(WQH>["P```&:+1Q!FA<!T
-M+\=';`````!HB````#/`9HM'%H/`!R7__P``4(N'7`L``/]0!(/$"%U;7E^#
-MQ`S#5^CJU/__@\0$75M>7X/$#,.#QP"!_P````"!_P````!0BU0D"(M$)`QF
-MBXJ@"P``9@O!9H7)9HF"H`L``'5!9HM"`F8]4`!R-\:"NPL```!FBT(09H7`
-M="O'0FP`````:(@````SP&:+0A:#P`<E__\``%"+@EP+``#_4`2#Q`B#Q`3#
-M4NAFU/__@\0$@\0$PX/'`('_`````('_`````(/L%+C_````5XM\)!Q39B-'
-M"HK8,\"*PSV`````#X2!````@_@"="1J`&H`:@`-``8``"7__P``4&H!:@)7
-MZ#TS``"#Q!Q;7X/$%,-J`&H`:@`SP&:+1PK!^`@-``<``"7__P``4&H`:@)7
-MZ!`S``!H_P```#/`9HM'%H/`!R7__P``4(N'7`L``/]0!&;'1P)%`&;'1P0%
-M`(/$)%M?@\04PSO_9HM'"F:I`(!T"L:'G`L```+K")#&AYP+```!9HN'<@L`
-M`&:I`@AT!#/`ZP6X`$```(E$)`AFBX>:"P``9JD!`'0*N`"```#K!8/'`#/`
-M9L='$``$QT=H``````M$)`B+R"7__P``P?@(@>'__P``P>$()?\```"!X0#_
-M```+P8E'$C/`:)````!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(,\#'1VP`
-M````9L='!`$`9L='`D0`:(@```!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(
-M6U^#Q!3#D(/L#%>+?"045E-FBX=R"P``9JD!`'0)9L='.```ZP>09L='.``0
-M9HN'F@L``&:I!`!U(F:+1SAF#0!`9HN7F@L``&;WP@@`9HE'.'0(9@T`(&:)
-M1SAFB[>8"P``N0`:``!FB4](BH>("P``9HE/2KD9````B$<ZBH>)"P``B$<[
-MBH>*"P``B$<\BH>+"P``B$<]BH>,"P``B$<^BH>-"P``B$<_BX>0"P``B4=`
-MBX>4"P``B4=$B\8E__\``('F__\``,'X"(A/4L'F""7_````@>8`_P``B$]3
-M"\8SR6:)1TR^`@```&:)3TYFB4]0H`````"(1QR@`0```(A''8J&`````(A$
-M-QR*A@$```"(1#<=BH8"````B$0W'HJ&`P```(/&!(/^$HA$-QM\T&:+AW(+
-M``!FJ0"`#X28````C7<<B]:+QL'J",'H&('B`/\```O"B];!X@C!YAB!X@``
-M_P`+P@O&C7<XB4=49L='$``#9L='!#P`9L='`D,`B]:+QL'H&+L`````P>H(
-MB5]H@>(`_P``"\*+UL'B",'F&('B``#_``O""\:)1Q(SP&B0````9HM'%H/`
-M!R7__P``4(N'7`L``/]0!(/$"%M>7X/$#,.#Q@"+AV0+``"^'`````/PB]:+
-MQL'J",'H&('B`/\```O"B];!X@C!YAB!X@``_P`+P@O&B4=4BX=D"P``C7`X
-MZ5/___\[_XUT)@"#[!@SP%>+?"0@5E-59HM'`H/X0P^$@00```^/6`0``(/X
-M)'1O#X\M`0``@_@B#X2(````#X^>````@_@A#X6=!P``,\!FBT<6@\`&)?__
-M``!0BX=<"P``_U`<BMBX<````(/$!"+#@_AP#X1D`@``5^@J,```9L='!```
-M9L='`B0`N.@#``"#Q`1=6UY?@\08PSO_9HM'!&;_1P1F/0(`=@QFQT<$``!F
-MQT<")0!=6UZXZ`,``%^#Q!C#D&:+1P1F_T<$9CT"`';D9L='!```9L='`B,`
-MZ]:#^",/A?\&``!FBT<$9O]'!&8]'@`/AXL````SP&:+1Q:#P`8E__\``%"+
-MAUP+``#_4!R*V+@P````@\0$(L.#^#`/A+4```"X?P```"+#@_A`#X6D`0``
-M9L='`C``:@!J`&H`:@!J`&H!5^B8+@``@\0<N.@#``!=6UY?@\08PX/X00^$
-MYP````^/V0(``(/X)0^%<`8``&:+1P1F_T<$9CT>`'8N9L='`A``:@!J`&H`
-M:``"``!J`&H!5^A'+@``@\0<N.@#``!=6UY?@\08PX/'`#/`9HM'%H/`!B7_
-M_P``4(N'7`L``/]0'(K8N#````"#Q`0BPX/X,'4[9L='`A``:@!J`&H`N!\`
-M```BPPT``0``)?__``!0:@!J`5?HXRT``(/$'+CH`P``75M>7X/$&,.#QP"X
-M?P```"+#@_A`#X6T````9L='`C``BY=@"P``4HN'7`L``/]0/(/$!+CH`P``
-M75M>7X/$&,,[_S/`9HM'%H/`!B7__P``4(N'7`L``/]0'(/$!(K8]L,0=#)J
-M`&H`:@"X#P```"+##0`!```E__\``%!J`6H"5^A4+0``@\0<N.@#``!=6UY?
-M@\08P_;#8'1#9HM'!&;_1P1F/60`=B5J`&H`:@!H``(``&H!:@)7Z!PM``"#
-MQ!RXZ`,``%U;7E^#Q!C#75M>N&0```!?@\08PX/&`&:+1Q!FA<!U/HM'$CW!
-MXM2+=30SP&:+1P@]__\``'4G,\!FBT<*/='7``!U&C/`9HM'##W%V0``=0TS
-MP&:+1PX]P]0``'1%:@!J`&H`9HN'<@L``&:I`(!T"K@`!```ZPB#QP"X``,`
-M`"7__P``4&H!:@)7Z(,L``"#Q!RXZ`,``%U;7E^#Q!C#@\<`:B`SP&:+1Q:#
-MP`<E__\``%"+AUP+``#_4`1HA````#/`9HM'%H/`!R7__P``4(N'7`L``/]0
-M!&;'1RX`"F;'1S`*`&:+AW(+``"#Q!!FJ0"`=`6-1R[K"8N'9`L``(/`+F;'
-M1Q``"V;'1P0"`&;'1P)"`(O(P>@8B]'!Z@B!X@#_```+PHO1P>((P>$8@>(`
-M`/\`"\*Z``````O!B5=HB4<2,\!HD````&:+1Q:#P`<E__\``%"+AUP+``#_
-M4`2#Q`BXZ`,``%U;7E^#Q!C#D(/X0@^%EP,``&:+1P1F_T\$9H7`#X54_/__
-M:@!J`&H`:``$``!J`6H"5^AQ*P``@\0<Z3?\__^0@_A0#X30`0``#X_!`0``
-M@_A%='P/CTX#``"#^$0/A44#``!FBT<$9O]/!&:%P`^%`OS__V:+AW(+``!F
-MJ1``#X3'````,\!FBT<6@\`()?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`DE
-M__\``%"+AUP+``#_4!S!X`AF"_"!YO__``")="0@@\0(Z:$```"09HM'!&;_
-M3P1FA<`/A97[__]FBT<&9CT+`'4\,\!FBT<6@\`()?__``!0BX=<"P``_U`<
-M@\@()?\```!0,\!FBT<6@\`()?__``!0BX=<"P``_U`$@\0,5^A+ZO__9L='
-M!```9L='`D$`@\0$N&0```!=6UY?@\08PX/'`#/`9HM'%H/`""7__P``4(N'
-M7`L``/]0("7__P``B40D'(/$!&:+AW(+``!FJ1``=$,SP&:+1Q:#P`8E__\`
-M`%"+AUP+``#_4!R+Z#/`9HM'%H/`!R7__P``4(N'7`L``/]0','@"&8+Z('E
-M__\``(/$".LC,\!FBT<6@\`&)?__``!0BX=<"P``_U`@B^B!Y?__``"#Q`2!
-MY?__``"+1"08527__P``4&H`:``%``!J`6H"5^BC*0``@\0<Z6GZ__^#QP"#
-M^&`/A8\!``!FBX>@"P``9H7`#X0_`0``BH>["P``BLC^P3P"B(^["P``#XXG
-M`0``9HN'<@L``&:I$`!T2C/`9HM'%H/`""7__P``4(N'7`L``/]0'(OP,\!F
-MBT<6@\`))?__``!0BX=<"P``_U`<P>`(9@OP@>;__P``B70D((/$".LG@\<`
-M,\!FBT<6@\`()?__``!0BX=<"P``_U`@)?__``")1"0<@\0$9HN'<@L``&:I
-M$`!T0S/`9HM'%H/`!B7__P``4(N'7`L``/]0'(OH,\!FBT<6@\`')?__``!0
-MBX=<"P``_U`<P>`(9@OH@>7__P``@\0(ZR,SP&:+1Q:#P`8E__\``%"+AUP+
-M``#_4""+Z('E__\``(/$!('E__\``(M$)!A5)?__``!0,\!FBX>@"P``4&H!
-M:@%J!U?H4B@``(/$'+CH`P``75M>7X/$&,,[_XI'&X3`#X0#^?__BD<:BM#^
-MPCP"B%<:#X[Q^/__:@!J`&H`:@-J`6H'5^@1*```@\0<N.@#``!=6UY?@\08
-MPY!=6UXSP%^#Q!C#._^-="8`@^P85XM\)"!6BW0D*%-5B\8E__\``%#_5QPS
-MTB7^````BA4`````"\(E^P```(K8,\"*PU"+QB7__P``4/]7!+@!````@\0,
-M(L.B`````(O&)?__``!0_U<<,](E_@```(H5``````O")?T```"*V#/`BL-0
-MB\8E__\``%#_5P2X`0```(/$#"+#H@````"+QB7__P``4/]7'#/2)?X```"*
-M%0`````+PB7^````BM@SP(K#4(O&)?__``!0_U<$N`$```"#Q`PBPZ(`````
-MB\8E__\``%#_5QPSTB7^````BA4`````"\(E[P```(K8,\"*PU"+QB7__P``
-M4/]7!+@!````@\0,(L.B`````(O&)?__``!0_U<<B\:#Q`0E__\``%#_5QR+
-MQH/$!"7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QPSTB7^
-M````BA4`````"\*#R!"*V#/`BL-0B\8E__\``%#_5P2X`0```(/$#"+#H@``
-M``"+QB7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QR+QH/$
-M!"7__P``4/]7'(O&@\0$)?__``!0_U<<,](E_@```(H5``````O"@\@"BM@S
-MP(K#4(O&)?__``!0_U<$N`$```"#Q`PBPZ(`````B\8E__\``%#_5QR+QH/$
-M!"7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QR+7"0X@\0$
-M@>/_````QT0D'`$```#!XPB!RX````!FA=L/A'<!``"+1"0<A<!T(8O&B^LE
-M__\``%#_5QPSTB7^````BA4`````"\*#R`'K(8O&B^LE__\``%#_5QPSTB7^
-M````BA4`````"\(E_@```(K8,\"*PU"+QB7__P``4/]7!+@!````@\0,(L.B
-M`````(O&)?__``!0_U<<,](E_@```(H5``````O")?T```"*V#/`BL-0B\8E
-M__\``%#_5P2X`0```(/$#"+#H@````"+QB7__P``4/]7'(O&@\0$)?__``!0
-M_U<<B\:#Q`0E__\``%#_5QR+QH/$!"7__P``4/]7'(O&@\0$)?__``!0_U<<
-M,](E_@```(H5``````O"@\@"BM@SP(K#4(O&)?__``!0_U<$N`$```"#Q`PB
-MPZ(`````B\8E__\``%#_5QR+QH/$!"7__P``4/]7'(O&@\0$)?__``!0_U<<
-MB\:#Q`0E__\``%#_5QR+Q8'E__\``"4`@```@\0$C5PM`(E$)!QFA=L/A8G^
-M__]=6UY?@\08PSO_._^!_P````"#[!17BWPD'%:+="0D4U6+QB7__P``4/]7
-M'(A$)"<E_P```(/(("7_````4(O&)?__``!0_U<$Q@4``````(M4)#RX/P``
-M`"+"#8`````E_P```%"+QB7__P``4%?HOOO__XM$)$R#Q!B%P(U0_XE4)#0/
-MA$P!```S[8EL)!B+QB7__P``4/]7'#/2)?X```"*%0`````+PB7]````BM@S
-MP(K#4(O&)?__``!0_U<$N`$```"#Q`PBPZ(`````B\8E__\``%#_5QR+QH/$
-M!"7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QR+QH/$!"7_
-M_P``4/]7'#/2)?X```"*%0`````+PH/(`HK8,\"*PU"+QB7__P``4/]7!+@!
-M````@\0,(L.B`````(O&)?__``!0_U<<B\:#Q`0E__\``%#_5QR+QH/$!"7_
-M_P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``('E__\``%#_5QP#[8/@
-M`3/;@\0$BMB%VW0$9H/-`8M,)!A!B4PD&(/Y$`^,V_[__XM$)#AFB2B-2`*+
-M1"0TB4PD.(7`C5#_B50D-`^%M/[__XO&)?__``!0_U<<,](E_@```(H5````
-M``O")>\```"*V#/`BL-0B\8E__\``%#_5P2X`0```(/$#"+#H@````"+QB7_
-M_P``4/]7'#/2)?X```"*%0`````+PB7[````BM@SP(K#4(O&)?__``!0_U<$
-MN`$```"#Q`PBPX'F__\``*(`````,\"*1"0C4%;_5P2#Q`A=6UY?@\04PX/L
-M#%>+?"045HMT)!R+QB7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\`
-M`%#_5QR#Q`2!YO__``!6_U<<@\0$7E^#Q`S#._^-="8`@^P(5U93BUPD&&8S
-M_X/#`HO/@\,"@\,"9HMS^HO&@>;__P``P>8()?__``#!^`B!Y@#_```E_P``
-M``O&B_!FBT/Z@>;__P``9@/^9@O(9HMS_(O&@>;__P``P>8()?__``#!^`B!
-MY@#_```E_P````O&B_!FBT/\@>;__P``9@/^9@O(9HMS_HO&@>;__P``P>8(
-M)?__``#!^`B!Y@#_```E_P````O&B_!FBT/^@>;__P``9@/^9@O(@>?__P``
-M9HLSB\:!YO__``#!Y@@E__\``,'X"('F`/\``"7_````"\:+\('F__\``#O^
-M=`DSP%M>7X/$",,STHO!9HL36R7__P``7@O"7X/$",.#QP"#["17BWPD+%93
-M58ML)$"+1"0\)?__``!0_U<<B$0D-X/$!(M$)#PE__\``(/`#&:)1"0JB]@E
-M__\``%#_5QR+\('C__\``$.!X___``!3_U<<P>`(@\0(9@OPBT0D/('F__\`
-M`&:)="0P)?__``"#P`IFB40D+(O8)?__``!0_U<<B_"!X___``!#@>/__P``
-M4_]7','@"(/$"&8+\&H`@>;__P``9HET)#)FBW0D+HO&)?__``!0_U<$:@"!
-MYO__``!&@>;__P``5O]7!(MT)#R#Q!"+QFH`)?__``!0_U<$:@"!YO__``!&
-M@>;__P``5O]7!(M$)$R#Q!`E__\``#/V@\`"C5\<9HO0BT0D/(EL)!`E__\`
-M`(E\)!2+^HUH`XO')?__``!0_Q.+Q27__P``4/\3B$0T((/$"$:#_@A\WV:+
-M="0JBWPD%(M$)#"+;"00)?\```!0B\8E__\``%#_5P2+1"0X@>;__P``)?__
-M``!&P?@(@>;__P``)?\```!05O]7!(MT)#R#Q!`SP(I$)"Y0B\8E__\``%#_
-M5P0SP('F__\``&:+1"0V1L'X"('F__\``"7_````4%;_5P0SP(/$$(I$)#-0
-MBT0D0"7__P``4/]7!(U$)"!0Z`W]__^#Q`R%P'0^B\5%BU0D&(@0B\5%BE0D
-M&8@0B\5%BE0D&H@0B\6*5"0;18@018M4)!R(5?^*5"0=B%4`75M>7X/$),.#
-MQP"X!@```(O]O@4```"%P'3EB\9.Q@<`1X7`=?5=6UY?@\0DPY"-="8`@^P<
-M,\E7BWPD+%9358M$)#1FBV@0BT0D-,9'`03&1S`!9L='$B``9HE/%H'E_/\`
-M`&:);Q!FB4\4BT`4@^#PB4<8A<!T#F;'1QP`(,9''F#K##O_9L=''```QD<>
-M(,9''P"-1"04B]U0:@1J/('C__\``(/#$8M4)#R!X___``"-=R)34NAF^?__
-MC40D*%#H#/S__X/$&(7`=#5&C5PD%$-&0T9#1D-#1HI#^XA&^XI#_(A&_(I#
-M_8A&_8I#_HA&_HI#_XA&_XH#B`;K'(/'`+@&````NP4```"%P'0+B\-+Q@8`
-M1H7`=?6+Q27__P``@\`0)?__``!0BT0D-/]0'(/$!*F`````=`;&1RP0ZP3&
-M1RP$B@^`^0IU)<9'(01=6UXSP%^#Q!S#@\8`QD<?`<9'(00SP%U;7E^#Q!S#
-M._^-1"0F@>7__P``4(M$)#1J`6H&@\41@>7__P``55#HC?C__S/`@\049HM$
-M)":I``$``'0<J0`"``!U#HM$)#1FBT`$9JD$`'4'N`$```#K`C/`A<!UEL9'
-M'P#&1R'_BD<>#`*(1QZ+1"0T9HM`!&:I!`!U$%U;7K@"````7X/$',.#QP!=
-M6UXSP%^#Q!S#._^#[`Q7BWPD((U$)`2+5"044(M$)"!J!"7_````4(M$)"0E
-M__\``%!2Z//W__^-1"084.B9^O__@\08A<!T-D>-3"0$04=!1T%'04%'BD'[
-MB$?[BD'\B$?\BD']B$?]BD'^B$?^BD'_B$?_B@&(!U^#Q`S#D+@&````N04`
-M``"%P'3LB\%)Q@<`1X7`=?5?@\0,PSO_@?\`````@?\`````@^P(5S/_5HMT
-M)!135<9&&P!J"%;HIR0``(/$"*D`"```#X2L````O1````"+QT<]Z`,``'XB
-M:@!J`&H`:@%J`6H&5NA(&P``N`$```"#Q!Q=6UY?@\0(PV:%KG(+``!T0S/`
-M9HM&%H/`""7__P``4(N&7`L``/]0'(O8,\!FBT86@\`))?__``!0BX9<"P``
-M_U`<P>`(9@O8@>/__P``@\0(ZR,SP&:+1A:#P`@E__\``%"+AEP+``#_4""+
-MV('C__\``(/$!/?#``@```^%6?___UU;7C/`7X/$",.#QP"#[`A7BWPD$%9F
-MBX=R"P``9JD0`'1&,\!FBT<6@\`&)?__``!0BX=<"P``_U`<B_`SP&:+1Q:#
-MP`<E__\``%"+AUP+``#_4!S!X`AF"_"+_H'G__\``(/$".LDD#/`9HM'%H/`
-M!B7__P``4(N'7`L``/]0((OX@>?__P``@\0$]\>`````7K@`````#Y7`7X/$
-M",.0@?\`````@?\`````@^P(5XM\)!!69HN'<@L``&:I$`!T1C/`9HM'%H/`
-M""7__P``4(N'7`L``/]0'(OP,\!FBT<6@\`))?__``!0BX=<"P``_U`<P>`(
-M9@OP@>;__P``@\0(ZR:#QP`SP&:+1Q:#P`@E__\``%"+AUP+``#_4""+\('F
-M__\``(/$!(O&@^#W9HOP9HN'<@L``&:I$`!T4(O&)?\```!0,\!FBT<6@\`(
-M)?__``!0BX=<"P``_U`$@>;__P``,\#!_@B!YO\```!69HM'%H/`"27__P``
-M4(N'7`L``/]0!(/$$.LE@\<`@>;__P``,\!69HM'%H/`""7__P``4(N'7`L`
-M`/]0"(/$"&:+AW(+``!FJ1``=$4SP&:+1Q:#P`8E__\``%"+AUP+``#_4!R+
-M\#/`9HM'%H/`!R7__P``4(N'7`L``/]0','@"&8+\(O^@>?__P``@\0(ZR,S
-MP&:+1Q:#P`8E__\``%"+AUP+``#_4""+^('G__\``(/$!/?'@````%ZX````
-M``^5P%^#Q`C#D(/L"%>+?"005F:+AW(+``!FJ1``=$8SP&:+1Q:#P`@E__\`
-M`%"+AUP+``#_4!R+\#/`9HM'%H/`"27__P``4(N'7`L``/]0','@"&8+\('F
-M__\``(/$".LF@\<`,\!FBT<6@\`()?__``!0BX=<"P``_U`@B_"!YO__``"#
-MQ`2+QH/("&:+\&:+AW(+``!FJ1``=%2+QB7_````4#/`9HM'%H/`""7__P``
-M4(N'7`L``/]0!('F__\``#/`P?X(@>;_````5F:+1Q:#P`DE__\``%"+AUP+
-M``#_4`2#Q!!>7X/$",.#QP"!YO__```SP%9FBT<6@\`()?__``!0BX=<"P``
-M_U`(@\0(7E^#Q`C#@^P,5XM\)!16BD<;A,`/A9@```!FBX=R"P``9JD0`'1'
-M,\!FBT<6@\`()?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`DE__\``%"+AUP+
-M``#_4!S!X`AF"_"!YO__``")="04@\0(ZR0SP&:+1Q:#P`@E__\``%"+AUP+
-M``#_4"`E__\``(E$)!"#Q`2+1"0,)0`+```]``,``'4<N`$```"(1QM>7X/$
-M#,,[_[@!````7E^#Q`S#D&:+AW(+``!FJ1``=$<SP&:+1Q:#P`8E__\``%"+
-MAUP+``#_4!R+\#/`9HM'%H/`!R7__P``4(N'7`L``/]0','@"&8+\(O^@>?_
-M_P``@\0(ZR4[_S/`9HM'%H/`!B7__P``4(N'7`L``/]0((OX@>?__P``@\0$
-M]\>`````#X5Q____7C/`7X/$#,.0@?\`````@?\`````@^P85XM\)"!64U5F
-MBX=R"P``9JD0`'1$,\!FBT<6@\`()?__``!0BX=<"P``_U`<B_`SP&:+1Q:#
-MP`DE__\``%"+AUP+``#_4!S!X`AF"_"!YO__``"#Q`CK))`SP&:+1Q:#P`@E
-M__\``%"+AUP+``#_4""+\('F__\``(/$!+@``P``9B/&/0`#```/A6P#``!F
-MBX=R"P``B]Z!X_?_``"!RP`(``!FJ1``=$LSP(K#4#/`9HM'%H/`""7__P``
-M4(N'7`L``/]0!('C__\``#/`P?L(@>/_````4V:+1Q:#P`DE__\``%"+AUP+
-M``#_4`2#Q!#K(Y"!X___```SP%-FBT<6@\`()?__``!0BX=<"P``_U`(@\0(
-M9HN'<@L``&:I$`!T13/`9HM'%H/`#B7__P``4(N'7`L``/]0'(OH,\!FBT<6
-M@\`/)?__``!0BX=<"P``_U`<P>`(9@OH@>7__P``@\0(ZR4[_S/`9HM'%H/`
-M#B7__P``4(N'7`L``/]0((OH@>7__P``@\0$9HEL)"9FA>T/A$\!``!FBX=R
-M"P``9JD0`'1&,\!FBT<6@\`&)?__``!0BX=<"P``_U`<B^@SP&:+1Q:#P`<E
-M__\``%"+AUP+``#_4!S!X`AF"^B!Y?__``"#Q`CK)H/'`#/`9HM'%H/`!B7_
-M_P``4(N'7`L``/]0((OH@>7__P``@\0$9HN'<@L``&:I$`!FB6PD)'1#,\!F
-MBT<6@\`$)?__``!0BX=<"P``_U`<B^@SP&:+1Q:#P`4E__\``%"+AUP+``#_
-M4!S!X`AF"^B!Y?__``"#Q`CK(S/`9HM'%H/`!"7__P``4(N'7`L``/]0((OH
-M@>7__P``@\0$@>7__P``BT0D)"7__P``P>`0"\5F]\8`!(E$)!AT(C/`BU0D
-M&&:+1"0F4#/`4F:+1Q90BX=<"P``_U`H@\0,ZR`SP(M,)!AFBT0D)E`SP%%F
-MBT<64(N'7`L``/]0$(/$#%?HGO?__X/$!(7`=`LSP%U;7E^#Q!C#D&:+AW(+
-M``!FJ1``=$,SP&:+1Q:#P`@E__\``%"+AUP+``#_4!R+\#/`9HM'%H/`"27_
-M_P``4(N'7`L``/]0','@"&8+\('F__\``(/$".LC,\!FBT<6@\`()?__``!0
-MBX=<"P``_U`@B_"!YO__``"#Q`2+QH/("&:+\&:+AW(+``!FJ1``=%"+QB7_
-M````4#/`9HM'%H/`""7__P``4(N'7`L``/]0!('F__\``#/`P?X(@>;_````
-M5F:+1Q:#P`DE__\``%"+AUP+``#_4`2#Q!#K)8/'`('F__\``#/`5F:+1Q:#
-MP`@E__\``%"+AUP+``#_4`B#Q`A7Z#S!__^#Q`2#R`%=6UY?@\08PSO_@?\`
-M````@?\`````@^P(5XM\)!!69HN'H`L``&:%P`^$[@(``#/`9HN'/@L``(/`
-M!`T```"`4#/`9HN'<`L``(/`%"7__P``4(N'7`L``/]0#&:+AZ`+``"#Q`AF
-MJ0(`=!YFQX>B"P```@!7Z&LT``"^`0```(/$!.DJ`@``._]FBX>@"P``9JD$
-M`'039L>'H@L```0`O@(```#I"`(``&:+AZ`+``!FJ0@`=!]FQX>B"P``"`!7
-MZ%`U``"^`P```(/$!.G?`0``@\8`9HN'H`L``&:I(`!T'V;'AZ(+```@`%?H
-MU#8``+X%````@\0$Z;,!``"#Q@!FBX>@"P``9JE``'0?9L>'H@L``$``5^CX
-M-@``O@8```"#Q`3IAP$``(/&`&:+AZ`+``!FJ8``=$=FQX>B"P``@`!J$C/`
-M9HN'<`L``(/`&"7__P``4(N'7`L``/]0#(/$"+X'````9HN'H`L``&8-`0!F
-MB8>@"P``Z3(!```[_V:+AZ`+``!FJ0`!=!]FQX>B"P````%7Z'@X``"^"```
-M`(/$!.D'`0``@\8`9HN'H`L``&:I$`!T,V;'AZ(+```0`&H(,\!FBX=P"P``
-M@\`8)?__``!0BX=<"P``_U`,@\0(O@0```#IQ````&:+AZ`+``!FJ0!`=#-F
-MQX>B"P```$!J"#/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0#(/$"+X.````
-MZ80```!FBX>@"P``9JD!`'0O9L>'H@L```$`:@@SP&:+AW`+``"#P!@E__\`
-M`%"+AUP+``#_4`R#Q`@S]NM*._]J`VH`,\!FBX>@"P``4&H%:@!J!E?HD@\`
-M`(/$'#/`9L>'H@L```$`:@AFBX=P"P``@\`8)?__``!0BX=<"P``_U`,@\0(
-M,_8SP&:+ASX+``!0,\!FBX=P"P``@\`4)?__``!0BX=<"P``_U`,5C/`9HN'
-M<`L``(/`&"7__P``4(N'7`L``/]0##/`,\EFBX>B"P``B(^["P``]]!F(X>@
-M"P``@\009HF'H`L``(B/3`L``%Y?@\0(PX/'`(/L"#/`BTPD#&:+00*#^$%T
-M=H/X0G1]@_A##X2`````@_A$#X2#````@_A%#X2&````@_A&#X2)````@_A0
-M=`6#^&!U/F;'00(S`&:+D:`+``!F@\H09HN!H@L``&:)D:`+``!FA<!U&F:+
-M00)F/3``<A#&@;L+````4>AP_/__@\0$@\0(PY!FQT$",0"#Q`C#._]FQT$"
-M,@"#Q`C#._]FQT$",P"#Q`C#._]FQT$"-`"#Q`C#._]FQT$"-0"#Q`C#._]F
-MQT$"-@"#Q`C#._^#[!@SP%>+?"0@4V:+1P*#^$0/A(P````/C]("``"#^#8/
-MA.$!```/CY\"``"#^#1T<@^/6`(``(/X(0^%LP0``&:+1P1F_T<$9CT*``^&
-MH00``#/`9HN'<`L``(/`,B7__P``4(N'7`L``/]0((/(#R7__P``4%>+AVP+
-M``#_4#1FQT<"$`!J`&H`:@!H``(``&H`:@%7Z(0-``"#Q"CI4`0``#/`9HN'
-M<`L``(/`,B7__P``4(N'7`L``/]0((/$!(O09O?"`@`/A?$```"*A[L+``"*
-MR/[!/`.(C[L+```/C@T$``!FQT<"$`!7Z.T-``"+AV`+``!0BX=<"P``_U`\
-M@\0(,\!J!&H`9HM'`E!J!6H`:@97Z`,-```SP&:+ASX+``!0,\!FBX=P"P``
-M@\`4)?__``!0BX=<"P``_U`,,\!FBX=`"P``4#/`9HN'<`L``(/`%"7__P``
-M4(N'7`L``/]0#(/$+&H/5XN';`L``/]0-&H`,\!FBX=P"P``@\`()?__``!0
-MBX=<"P``_U`,@\005^A$#0``BY=@"P``4HN'7`L``/]0/,>'4`L```````"#
-MQ`CI-@,``#O_@>+__P``@\H!@>+__P``4E>+AVP+``#_4#1F_T<",\EFB4\$
-MB8]0"P``5XN';`L``/]0+&;'1P0``&;_1P*#Q`SI[@(``#O_9HM'!&;_1P1F
-M/0H`#X;:`@``,\!FBX=P"P``@\`R)?__``!0BX=<"P``_U`@@\@!)?__``!0
-M5XN';`L``/]0-,>'4`L```````!FQT<"$`!J`&H`:@!H``(``&H`:@%7Z+,+
-M``"#Q"A7Z&H,``"+CV`+``!1BX=<"P``_U`\@\0(Z68"```[_X/X-0^%6P(`
-M`&:+1P1F_T<$9CT!``^&20(``%>+AVP+``#_4"QFQT<"-@!FQT<$``"#Q`3I
-M*P(``(/'`(/X0G0/#X\=`@``@_A!#X44`@``9HM'!&;_1P3I!P(``(/'`(/X
-M4`^$,P$``'\U@_A%#X7P`0``9HM'!&;_1P1F/04`#X;>`0``5XN';`L``/]0
-M+&;'1P)&`(/$!.G&`0``._^#^&`/A;L!``!FBX=R"P``BI=,"P``_L)FJ8``
-MB)=,"P``#X34````9HN'M`L``&:%P`^$Q````(J'3@L``*@!#X2V````:@$S
-MP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`0SP&:+AW`+``"#P!HE__\``%"+
-MAUP+``#_4"!J`"4`#P``B]@SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2#
-MQ!1F@_L!=E%FQT<"0P#_A]@0``!FBX>@"P``9@T0`&:)AZ`+``!FBX>B"P``
-M9H7`#X7K````9HM'`F8],``/@MT```#&A[L+````5^C\]___@\0$Z<@```!F
-MBX>@"P``9H7`=$2*A[L+``"*T/["/!Z(E[L+``!^,&H`,\!FBX>B"P``4#/`
-M9HN'H`L``%!J`6H!:@=7Z+()``"XZ`,``(/$'%M?@\08PS/`,]**A\$.``"*
-ME\(.```[PG0&_H=-"P``BX=$"P``J0$```"-4`&)ET0+``!T2&@4`P``,\!F
-MBX=P"P``@\`4)?__``!0BX=<"P``_U`,BX=$"P``P>@!4#/`9HN'<`L``(/`
-M&"7__P``4(N'7`L``/]0#(/$$%NXZ`,``%^#Q!C#D(/L#%>+?"04:@]7BX=L
-M"P``_U`TBT0D((/$"(7`=#EJ`#/`9HN'<`L``(/`""7__P``4(N'7`L``/]0
-M#(/$"%?HFPD``(N78`L``%*+AUP+``#_4#R#Q`C'AU`+````````7X/$#,.0
-M._^!_P````"#[#17BWPD/%9356:+1P)F/2$`=7)H``,`@#/`9HN'<`L``(/`
-M%"7__P``4(N'7`L``/]0#&H%C40D(%`SP&:+AW`+``"#P!@E__\``%"+AUP+
-M``#_4#"+1"0L9HF'/`L``&:+1"0N9HF'/@L``(M$)#!FB8=`"P``BT0D.&:)
-MAT(+``"#Q!0SP&:+AT`+```-````@%`SP&:+AW`+``"#P!0E__\``%"+AUP+
-M``#_4`PSP&:+AW`+``"#P!@E__\``%"+AUP+``#_4"2+\+C_````9B/&@\0,
-M2(/X!G=O_R2%Q````#O_,\!FBX=P"P``@\`8)?__``!0BX=<"P``_U`D@\0$
-MB]"#^@@/A)L```!FQT<"$`!J`"7__P``P>H04('B__\``%)H``$``&H`:@%7
-MZ'@'``"#Q!SK$8/'`(/X1G4)5^@E.```@\0$,\!FBX=`"P``4#/`9HN'<`L`
-M`(/`%"7__P``4(N'7`L``/]0#('F__\``#/`@<X`@```@>;__P``5F:+AW`+
-M``"#P!@E__\``%"+AUP+``#_4`B#Q!!=6UY?@\0TPS/`9HM'`H/X(70I@_@V
-M=81FQT<",`!7Z*@'``"+EV`+``!2BX=<"P``_U`\@\0(Z6[___]FQT<",`!J
-M`&H`:@!J`&H`:@%7Z+@&``"#Q!SI3O___S/`9HN'<`L``(/`&"7__P``4(N'
-M7`L``/]0),'H$&:)1"1$,\!FBT<"@\0$@_@R=#N#^$(/A((```"#^%!T"8/X
-M8`^%,`,``(M$)$!FJ0"`#X0B`P``9JD`"`^$'`(``,:'GPL``&3I+P(``(M$
-M)$!FJ0"`=#AFBX>@"P``9@T0`&:)AZ`+``!FBX>B"P``9H7`=1IFBT<"9CTP
-M`'(0QH>["P```%?H!?3__X/$!&;'1P(S`.F5_O__@\<`BT0D0&:I`(`/A"H!
-M``!FJ0`(=`S&AY\+``!DZR*#QP"+1"1`9JD``70*N!````#K"(/'`+@$````
-MB(>?"P``BT0D0&:I``)T"\:'G`L```+K"3O_QH><"P```6;'1P)0`,>'1`L`
-M``````"+AR@+``"-CR@+``")AS`+```STHF'+`L``(J'M@L``(B'MPL``(N?
-M*`L``&:)4P2+`8M;*#O8=?-FBX>T"P``9H7`=$\SV[@?````(H>V"P``B^AF
-MBX>T"P``9H7`?C2)="00C8>T"P``B_"-1&T`P>`#C80'O`L``%!7Z#@T``!%
-M@\0(@^4?0P^_!CO8?-R+="005^B?)@``:@`SP(J'G`L``%`SP(J'GPL``%`S
-MP&:+AXX+``!0:@!J`%?HQP0``(/$(.E=_?__@\8`9L='`D,`N`\```!F(T0D
-M0(/X#74SBH>>"P``B(>?"P``BH>>"P``A,!U46H`:@!J`&@`"```:@!J`E?H
-M?`0``(/$'.LW@\8`BH>="P``B(>?"P``:@!J`&H`N/\```!F(T0D3`T`!P``
-M)?__``!0:@!J`E?H0P0``(/$'&;'1P0``.G3_/__D(M$)$!FJ0`!=`JX$```
-M`.L(@\<`N`0```"(AY\+``"+1"1`9JD``G0+QH><"P```NL).__&AYP+```!
-M:@`SP(J'G`L``%`SP(J'GPL``%`SP&:+AXX+``!0:@!J`%?HT0,``(/$'.EG
-M_/__D#/`9HM'`H/X,W0Y@_A#="*#^%!T!8/X8'5V:@!J`&H`:``(``!J`&H#
-M5^B9`P``@\0<9L='`D0`5^A*`@``@\0$ZP>09L='`C0`9HN'H`L``&8-`$!F
-MB8>@"P``9HN'H@L``&:%P`^%^OO__V:+1P)F/3``#X+L^___QH>["P```%?H
-M0?'__X/$!.G7^___D&H`B\8E__\``%`SP&:+1P)0:@5J`&H&5^@;`P``@\0<
-MZ;'[__^#QP`SP&:+AW`+``"#P!@E__\``%"+AUP+``#_4"1J`&H`P>@0:@"+
-MV"7__P``4&H`:@-7Z-H"``!FBT<"@\0@9CU0``^"9_O__V;WPPL/=`YFQT<"
-M0P#I5?O__X/&`,:'CQ````?I1OO__\:'3`L```#I.OO__X'_`````('_````
-M`(/L##/`5XM\)!164V:+ASX+```-````@%`SP&:+AW`+``"#P!0E__\``%"+
-MAUP+``#_4`PSP&:+AW`+``"#P!@E__\``%"+AUP+``#_4"2+\#/`9HN'<`L`
-M`(/`&"7__P``4(N'7`L``/]0)#/2@\009HN7H@L``(O.@^%_N`$```#3X(O8
-M)?__```[PG0?:@$SP&:+PE"+PR7__P``4&H%:@!J!E?HY0$``(/$'&;'AZ(+
-M`````&:+1P)F/3$`=5-FQT<",`!7Z(,"``"+EV`+``!2BX=<"P``_U`\@\0(
-M6UY?@\0,PY"+QH/@?X/X!W4)5^CH)P``@\0$@^9_@_X.=`E7Z(?O__^#Q`1;
-M7E^#Q`S#D(O&P>@0J0`@``!UR&H"@>/__P``P>X0@>;__P``5E-J!6H`:@97
-MZ%$!``"#Q!Q;7E^#Q`S#@\<`C70F`(/L%#/2,\E7BWPD'%9358J7P0X``(J'
-MM@L``(B/N0L``(B'MPL``#/`BH?"#@``B(^Z"P``.\(/A(D```"+[XV%8`L`
-M`(VUP@X``(E$)!R-A<(.``"-O<$.``")1"08C9V\#@``BI7"#@``N1\````B
-MRFH!C0Q)P>$"C80-Q`X``(E$)!B+"(M$)"!1BP!0BX5<"P``_U!$BT0D)(/$
-M#(J5P@X``/["B!`STHM$)!1F#[9`!&8#`V:)`S/`B@:*%SO"=:&+_6:+E[P.
-M``"*A\(.``!F@_H@B(?##@``="0E_P```%`SP(J'P0X``%`SP&:+PE!J`FH!
-M:@97Z$````"#Q!QFQX>\#@``(``SR8B/O@X``(B/OPX``(B/P`X``(B/P0X`
-M`(B/PPX``(B/P@X``%U;7E^#Q!3#._^-="8`@^P05XM$)!Q6BW0D'&:)1"0(
-MBT0D)#/_B$0D"F:+AI@+``!FB40D#(M$)"AFB40D$(M$)"QFB40D$HM$)#!F
-MB40D%(M$)#1FB40D%HM$)"2$P'0NQH:<"P```&:+1@)FQT8",`!F/4``N```
-M```/E\!J`(OX5HN&;`L``/]0!(/$"(J&G`L``(A$)`N-1"0(4(N68`L``%*+
-MAEP+``#_4#B#Q`B%_W0)5N@2````@\0$7E^#Q!##D#O_@?\`````@^P4,\`S
-MTE>+?"0<5E-5BI>X"P``BH>V"P``.\(/A(@```"+[XV%7`L``(VUM@L``(E$
-M)""-A6`+``")1"0<C86V"P``C;VX"P``B40D&(V=M`L``(J5M@L``+D?````
-M(LIJ`8T,2<'A`XV$#;P+``"+2!2+1"0@46H!:@"+`%"+1"0TBP#_4$B+1"0L
-M@\04BI6V"P``_L*($#/29O\+,\"*!HH7.\)UK(O]9HN'M`L``&:%P'0K,\"*
-MA[H+``!0,\"*A[<+``!0,\!FBX>T"P``4&H#:@%J!E?H8?[__X/$'#/)9HF/
-MM`L``(B/M@L``(B/MPL``(B/N`L``%?H_?S__X/$!%U;7E^#Q!3#._]75HMT
-M)`RX'P```(M,)!`BAL$.``"-!$#!X`*-O`;$#@``BT0D%(D'BD0D&,9'!0"(
-M1PB*AL$.``#^P(B&P0X``%%6BX9L"P``_U`@B$<$@\0(7E_#@\<`._^!_P``
-M``#'!?P#``````#_@^P,5[^`````5E/'1"04`````%6+]X'F@("`@#/^B];!
-MZ@\#_S/Z]\:`````=`:!]P3!';>+3"08O@$```#3YKL``0``*]Z!^P`!```/
-MC:,```"+PXL,G0`````KQHO7,]%#B12%`````('[_0```'U=B\.+#)T`````
-M*\:+US/1B12%`````(O7B\.#PP0KQHTLA0````"+!)WT____,]")E00```"+
-MUS,4G?C___^)E0@```"+UXL,G?S___\ST8'[_0```(F5#````'RC@?L``0``
-M?1^+PXL,G0`````KQHO7,]%#B12%`````('[``$``'SABU0D&$*)5"08@_H(
-M#XP,____75M>7X/$#,,[_XUT)@!75E.+1"0858MT)!B+7"04@_X0BS@/C)(`
-M``#WPP,```!T)(O',]+!Z`B*$X'G_P```$XSUT,S!)4`````]\,#````B_AU
-MW(O&P?@"A<"-:/]T5X/#!#-[_(O'@>?_````P>@(,P2]`````(OXP>@(@>?_
-M````,P2]`````(OXP>@(@>?_````,P2]`````(OXP>@(@>?_````,P2]````
-M`(OXB\5-A<!UJ8/F`XO&3H7`="*+QS/2P>@(BA.!Y_\```!#,]<S!)4`````
-MB_B+QDZ%P'7>BT0D'(DX75M>7\.#QP"!_P````"!_P````!0BT0D%,<$)```
-M``!7OP$```!6C7#_4U6+;"0@A<!T4XM4)!R+7"08C40D$(U*`8/B'XE,)!R-
-M%%)0P>(#A?:-G!.\"P``=`@SP&:+0PCK`HO%*\=0BPL#^5?HL?[__S/`@\0,
-M9HM#"#/_*^B+QDZ%P'6M75M>BT0D!#TX^R*$N``````/E<!?@\0$PXUT)@!7
-M5E.+1"04BTPD$(LXBD`/J`$/A(<```"*1PBH@'0-NQ\```"*5PXBVNL#D#/;
-MBT0D%(U3%6:+0`HE__\``#O"=5V^^O___S/`,]**A#&("P``BE0W"#O"=4)&
-M?.HSP(U\'PZ^!@```(H')>\````]Y````'4I,\"*1P$E[P```#WD````=1B*
-M1P(\`W41BT<#/0`$D`=T$.L%._^#Q@8SP%M>7\.#QP!;7K@!````7\.#QP"!
-M_P````"!_P````!7BWPD#%:+="0,9HM'"&8]-0!S,HJ&?0L``"3\B(9]"P``
-M:``!``!6BX9L"P``_U`<:@!J`&H`:@-J`&H%5N@M^O__@\0D,\"+%XI"`27`
-M````@_A`=5E75NCB_O__@\0(A<!T,HJ&?0L``"3\B(9]"P``:``!``!6BX9L
-M"P``_U`<:@!J`&H`:@%J`&H%5NC<^?__@\0DBH9]"P``J`%U"XI'#Z@#=03&
-M1PX!7E_#D(J&?0L``*@"=?+K[(UT)@"#[!@SP#/25XM\)"!64U6*E\,.``"*
-MA\(.```[P@^$@@```(E\)""+QP7"#@``B40D)(ML)""-,(UX`8U8^HJ5P@X`
-M`+D?````(LJ-#$G!X0*-C`W$#@``9@^V001F`P-FB0.+1"0DBI7"#@``_L*(
-M$(I!"(3`=1TSP&:+0090BPE1BX5@"P``4(N%7`L``/]01(/$##/`,]**!HH7
-M.\)UG8M\)"`SP#/2BH>V"P``BI>W"P``.\(/A!H!``")?"00C8=@"P``B40D
-M((V'MPL``(E$)!R-AW(+``")1"08B\>-G[8+``"-N'T+``"-L+0+``"+5"00
-MN1\```"*@K8+```BR(M$)!B-#$G!X0-F]P"``(VL"KP+``!T4(I%#H3`=4F+
-M31`SP%%FBT4*4#/`BH*V"P``4%+HL_S__X/$$(7`=!R+1"00_X#($```BA?V
-MP@1T!\9%#@+K!9#&10X!9HM5"F:#Z@1FB54*BD40B@L"P8@#9HL&9BM%$&:)
-M!HH'J`-T#E6+5"044NBP_?__@\0(,\"*10Y0BTT448M%$%`SP&:+10I0BT0D
-M,(L0BT0D(%*+@%P+``#_4$B+5"0P@\04,\"*$HH#@>+_````.\(/A1S___]=
-M6UY?@\08PY"+1"0(BU0D!(7`C4C_=`N+P4G&`@!"A<!U]<.0C70F`&:+3"0$
-MB\&!X?__``#!X0@E__\``,'X"('A`/\``"7_````"\$E__\``,.0C70F`%<S
-MP&:+1"0,4(M$)`S_4!R+^#/`9HM$)!!`)?__``!0BT0D$/]0','@"&8+^(O'
-M)?__``"#Q`A?PX/'`(UT)@`SP(I$)`Q0,\!FBT0D#%"+1"0,_U`$,\!FBT0D
-M%,'X""7_````4#/`9HM$)!1`)?__``!0BT0D%/]0!(/$$,.0BTPD!(O1B\'!
-MZ@C!Z!B!X@#_```+PHO1P>((P>$8@>(``/\`"\(+P<.#QP"-="8`5XM\)`A6
-M9HN'<@L``&:I$`!T53/`,])FBT<69HM4)!`#PB7__P``4(N'7`L``/]0'(OP
-M,\!FBT<6,])FBU0D%(U$$`$E__\``%"+AUP+``#_4!S!X`AF"_"+QB7__P``
-M@\0(7E_#._\SP#/29HM'%F:+5"00`\(E__\``%"+AUP+``#_4"`E__\``(/$
-M!%Y?PX/'`('_`````('_`````%>+?"0(9HN'<@L``&:I$`!T6C/`,])FBU0D
-M#(I$)!!0,\!FBT<6`\(E__\``%"+AUP+``#_4`0SP#/29HM$)!C!^`AFBU0D
-M%"7_````4#/`9HM'%HU$`@$E__\``%"+AUP+``#_4`2#Q!!?PS/`,])FBT0D
-M$%`SP&:+1Q9FBU0D$`/")?__``!0BX=<"P``_U`(@\0(7\.0._^!_P````!7
-MBWPD"&C_````,\!FBT<6@\`')?__``!0BX=<"P``_U`$BT0D%(/$"(7`=%XS
-MP&:+1P:#^`)T6(/X`W5.:/X````SP&:+AW`+``"#P!TE__\``%"+AUP+``#_
-M4`1H@````#/`9HN'<`L``(/`'R7__P``4(N'7`L``/]0!&HRBX=<"P``_U`T
-M@\047\.#QP!J!S/`9HN'<`L``(/``B7__P``4(N'7`L``/]0!&B`````,\!F
-MBX=P"P``@\`#)?__``!0BX=<"P``_U`$:C*+AUP+``#_4#2#Q!1?PX/'`(M4
-M)`0SP&:+0A90BY)<"P``4NCIC?__@\0(PY"-="8`4%>+?"0,5^BTD/__,\"#
-MQ`2+EY00``"*1U@#PHN7H!```(F'E!```#/`BX^<$```BD=:`\&+CZP0``")
-MAYP0```SP(I'6P/"BY>H$```B8>@$```,\"*1UX#PHN7L!```(F'J!```#/`
-MBD=?`\&+C[P0``")AZP0```SP(I'8`/"BY>X$```B8>P$```,\"*1V(#PHN7
-MP!```(F'N!```#/`BD=D`\&)A[P0```SP(I'90/"B8?`$```BH=^"P``A,!T
-M(<:'?@L```"-AY00``!0BY=@"P``4HN'7`L``/]00(/$"%^#Q`3#._^-="8`
-M9HM,)`B+5"0$B\&!X?__``#!X0@E__\``,'X"('A`/\``"7_````"\%FB4(0
-MBT0D#(E"$HM$)!")0F@SP&B0````9HM"%H/`!R7__P``4(N"7`L``/]0!(/$
-M",.-="8`BU0D!&:+0A!FA<!T*\=";`````!HB````#/`9HM"%H/`!R7__P``
-M4(N"7`L``/]0!(/$",.#QP!2Z-*3__^#Q`3#._^!_P````"!_P````!0BU0D
-M"(M";(7`=`W'0FP`````4O_0@\0$@\0$PX/'`(M$)`R+5"0(0%!2_U0D#(/$
-M"(7`=16+3"0,BT0D"%%0_U0D#(/$"(7`=`FX`0```,.#QP`SP,.0._^!_P``
-M``!7BWPD"#/`,\EFBT<6B4]H9HF/H`L``(/`"(E/;"7__P``4(N'7`L``/]0
-M'(/(""7_````4#/`9HM'%H/`""7__P``4(N'7`L``/]0!&:+AW(+``"#Q`QF
-MJ0(`=#PSP&:+1Q:#P`DE__\``%"+AUP+``#_4!R#R`$E_P```%`SP&:+1Q:#
-MP`DE__\``%"+AUP+``#_4`2#Q`Q7Z,&Q__]FQT<"00!FQT<$``"#Q`1?PXM4
-M)`B+3"0$4E'H0?S__XM$)`QFQT`"(0"#Q`C#@\<`4(M$)`A75E.-6!Q5BVPD
-M'&8S_S/VB\4E__\``%#_$\'X!('G__\``,'G!(/$!`OX1H/^!'S?OOS___^+
-M3"0@B\>+T27__P``@>+__P``.\)T+HO'@>?__P``P?\$)?__``#!X`P+QT:+
-M^'S3O@0````SP%U;7E^#Q`3#D.L%._^#Q@1=6UZX`0```%^#Q`3#4S/`9HM$
-M)`Q0BT0D#/]0'#/2)?X```"*%0`````+PC/2BE0D%`O"BM@SP(K#4#/`9HM$
-M)!10BT0D%/]0!+@!````(L.#Q`RB`````%O#._]3,\!FBT0D#%"+1"0,_U`<
-M,](E_@```(H5``````O",]**5"04]]*!XO\````CPHK8,\"*PU`SP&:+1"04
-M4(M$)!3_4`2X`0```"+#@\0,H@````!;PSO_._^!_P`````SP&:+1"0(4(M$
-M)`C_4!R#X`&#Q`3#._\[_X'_`````(/L&%=64U5H-I0``(M$)#0E__\``(M4
-M)#"#P!XE__\``%!2Z'C^__^#Q`R%P'0=75M>N`,```!?@\08P[@"````75M>
-M7X/$&,.#QP!H1I(``(M$)#0E__\``(M,)#"#P`(E__\``%!1Z#/^__^#Q`R%
-MP'7(BT0D,"7__P``@\`#9HE$)"`E__\``%"+1"0P_U`<QD0D*0>*V(A$)"N+
-M1"0PBW0D)(/`!(E$)!R->!@SP(K#@^"_B40D&(/$!#/`,]**5"0EBL,SPB7_
-M````4(O&)?__``!0BT0D(/\0:F'_%XO&)?__``!0_Q<STH/$$(I4)"4SPHM4
-M)!2*V#/`BL.#X+\[T'4Q_DPD)76P,\"*1"0G4(M$)"0E__\``%"+1"0T_U`$
-M@\0(N`$```!=6UY?@\08PX/'`#/`BD0D)U"+1"0D)?__``!0BT0D-/]0!(M$
-M)#@E__\``(/``B7__P``4(M$)#C_4!R*V#/`B%PD,[D_````(MF(3"0QB%PD
-M,HK#4(M$)$`E__\``(/``B7__P``4(M$)$#_4`2+?"1$BT0D0('G__\``(/'
-M`HUP'(/`!(E$)"R#Q!0SP#/2BE0D)8K#,\(E_P```%"+QR7__P``4(M$)"#_
-M$&IA_Q:+QR7__P``4/\6,]*#Q!"*5"0E,\(STHK8,\"*1"0FBM,[P@^%J0``
-M`/Y,)"5UK3/`BD0D)U"+1"0T)?__``"#P`(E__\``%"+1"0T_U`$BT0D*"7_
-M_P``4(M$)#C_4!R*T(M$)#B_]O___X/$#(UP'(E<)!"+VHML)""+Q27__P``
-M4/\6,]*#Q`2*TSO"=3)'?.B+7"00OPH```#VPP9U#5U;7K@)````7X/$&,/V
-MPP1T0EU;7C/`7X/$&,.0ZP4[_X/'"EU;7KAC````7X/$&,,SP(I$)"=0BT0D
-M-"7__P``@\`")?__``!0BT0D-/]0!(/$"(M$)#`E__\``$!FB40D(B7__P``
-M4(M$)##_4!S&1"0I!XK8BT0D,&:+;"0FB%PD*XUX'(UP!#/`BL.#X+^)1"0<
-M@\0$,\`STHI4)"6*PS/")?\```!0B\4E__\``%#_%FIA_Q>+Q27__P``4/\7
-MBE0D-8/$$(K8B\,RPHM4)!B*V#/`BL.#X+\[T`^%Z0```/Y,)"5UKC/`BD0D
-M)U`SP&:+1"0F4(M$)#3_4`2_^/___XM$)#1FBVPD*HI<)"^(7"0NC7`<@\`$
-MB40D((/$"(I$)"8T0(A$)"8SP(K#@_!`)?\```!0B\4E__\``%"+1"0@_Q!J
-M8?\6B\4E__\``%#_%HK8@\00,\`STHI$)":*TSO"=31'?+<SP+\(````BD0D
-M)U`SP&:+1"0F4(M$)#3_4`2#Q`BX!P```%U;7E^#Q!C#.__K!3O_@\<(,\"*
-M1"0G);\```!0,\!FBT0D)E"+1"0T_U`$@\0(N`4```!=6UY?@\08PSO_,\"*
-M1"0G4#/`9HM$)"90BT0D-/]0!(/$"+AC````75M>7X/$&,,[_X'_`````('_
-M`````(/L"#/`5U:+="049HM&%H/`""7__P``4(N&7`L``/]0((/$!(OX9O?'
-M0`$/A18!``!H@````#/`9HM&%H/`""7__P``4(N&7`L``/]0!&@L`0``BX9<
-M"P``_U`T,\!FBT86@\`()?__``!0BX9<"P``_U`<N@,```"#X&1F(]<+T#/`
-MBL)0,\!FBT86@\`()?__``!0BX9<"P``_U`$,\!FBT86@\`5)?__``!0BX9<
-M"P``_U`<)?\```!0,\!FBT86@\`5)?__``!0BX9<"P``_U`$,\!FBT86@\`0
-M)?__``!0BX9<"P``_U`@@\0H)0@!```]"`$``'5,O^C___\SP&:+1A:#P!PE
-M__\``%"+AEP+``#_4"0SP&:+1A:#P!`E__\``%"+AEP+``#_4""#Q`BI``$`
-M`'0*1WS#OQ@```#K`X/'&#/`9HN&<`L``(/`$B7__P``4(N&7`L``/]0'(/@
-M/U`SP&:+AG`+``"#P!(E__\``%"+AEP+``#_4`2#Q`Q>7X/$",,[_XUT)@"#
-M[!0SP%>+?"0<5E-59HM'%H/`%27__P``4(N'7`L``/]0'(/$!(K8]L-`#X5G
-M`0``,\!FBT<6@\`0)?__``!0BX=<"P``_U`@@\0$B_!FJ0`!#X0S`0``,\!F
-MBT<6@\`8)?__``!0BX=<"P``_U`D,\!FBT<6@\`8)?__``!0BX=<"P``_U`D
-M,\!FBT<6@\`8)?__``!0BX=<"P``_U`D,\!FBT<6@\`8)?__``!0BX=<"P``
-M_U`D,\!FBT<6@\`8)?__``!0BX=<"P``_U`D,\!FBT<6@\`8)?__``!0BX=<
-M"P``_U`D@\08B^AF]\8(`'5TON+___\SP&:+1Q:#P!`E__\``%"+AUP+``#_
-M4"2#Q`0E"`$``#T``0``=6@SP&:+1Q:#P!@E__\``%"+AUP+``#_4"2#Q`0[
-MQ75)1GRW,\"^'@```&:+1Q:#P!4E__\``%"+AUP+``#_4!R*V(/$!.LR._]F
-MBX=R"P``9JD`"'4C._UW$HV'[!```#O%<Q7K!H/'`(/&'C/`75M>7X/$%,.#
-MQP`SP(K#4#/`9HM'%H/`%27__P``4(N'7`L``/]0!(/$"+@!````75M>7X/$
-M%,.#QP`[_X'_`````(/L)#/`5XM\)"Q64U7&1QL`9HM'%H/`$"7__P``4(N'
-M7`L``/]0'(A$)#<SP&:+1Q:#P`XE__\``%"+AUP+``#_4""+\#/`9HM'%H/`
-M&"7__P``4(N'7`L``/]0)(O8@\0,BD0D,Z@(#X5V`0``,\"*1"0SP?@$@^`#
-MB$0D,8J'>`L``(I4)#&$T`^$$`$``(/#!(M#_(E$)"0SP(K"]]B#X`-FB40D
-M*B7__P``@_@!=&J#^`(/A)4```"#^`,/A;L````SP#/29HM'%HI4)#&-1!`?
-M)?__``!0BX=<"P``_U`<BLB+1"0HP>@(,]**T<'B&`O",])0,\!FBT<6BE0D
-M.8U$$!PE__\``%"+AUP+``#_4`R#Q`SK93O_BT0D)#/2P>@8)?\```!0,\!F
-MBT<6BE0D-8U$$!PE__\``%"+AUP+``#_4`2#Q`CK,H/'`(M$)"0STL'H$"7_
-M_P``4#/`9HM'%HI4)#6-1!`<)?__``!0BX=<"P``_U`(@\0(,]*+QF:+5"0J
-M)?__```[PGP'9BORZP4[_V8S]L9$)#$`,\"*1"0Q@\`#9@/P9O?&_/]T)H'F
-M__\``#/`P?X"5E-FBT<6@\`<)?__``!0BX=<"P``_U`8@\0,75M>7X/$),.#
-MQP`SP(I$)#/!^`2#X`,+V&:%]G4-9L=$)"@!`.G=````D&;'1"0H``"+TXO&
-M@>+__P``)?__``#WVH/B`X/"7#O"#X^V````:F&+AUP+``#_4!QJ88N'7`L`
-M`/]0'#/`9HM'%H/`#B7__P``4(N'7`L``/]0((O()?__``"#Q`R+UH'B__\`
-M`#O"='*)7"00B]F]^/___V:%VW16:F&+AUP+``#_4!QJ88N'7`L``/]0'&IA
-MBX=<"P``_U`<:F&+AUP+``#_4!PSP&:+1Q:#P`XE__\``%"+AUP+``#_4""#
-MQ!1%B]A\K[T(````ZP:#QP"#Q0AF_T0D*(M<)!"+1"0H9H7`#X2"````,\!F
-MBT<6@\`$)?__``!0BX=<"P``_U`@B^@SP&@0`0``9HM'%H/`!"7__P``4(N'
-M7`L``/]0"#/`9HM'%E"+AUP+``#_4""+R(O#]]AF`\@SP('E__\``+K_````
-M58'F`/\``&:+1Q9F(]&#P`0+\B7__P``4(N'7`L``/]0"(/$&/?#`P```'1-
-M,\!FBT<6@\`<)?__``!0BX=<"P``_U`DB40D*(/$!(O#N@,```"#X`.-;"0D
-M9B/3`^B#^@1T%KD$````14-F3HI%_XA#_W0%0CO1=>]F]\;\_W0GB\8E__\`
-M`,'X`E`SP%-FBT<6@\`<)?__``!0BX=<"P``_U`P@\0,B\8E_/\```/89O?&
-M`P`/A-/]__\SP&:+1Q:#P!PE__\``%"+AUP+``#_4"2)1"0H@\0$,])F]\8#
-M`(U$)"0/CJ/]__^-:`&_`P```&8C_D**`(E4)!R-=_V(`T,[UGTKN00```"*
-M10!%B`-#BD4`18@#0XI%`$6(`T.*10`#T46(`T,[UGS>B50D'(M4)!P[UP^-
-M4/W__XM,)!R*10!%08@#B4PD'$,[SWSL75M>7X/$),.#QP`[_X'_`````&C`
-M````,\"+5"0(9HM"%H/`%"7__P``4(N"7`L``/]0!(/$",.#QP`[_X'_````
-M`%>+?"0(5HJ'?`L``(3`=1UJ`#/`9HM'%H/`%"7__P``4(N'7`L``/]0!(/$
-M"#/`,_9FBT<6@\`&)?__``!0BX=<"P``_U`@@\0$J8````!T$U?H:9+__X/(
-M`8/$!(OPZR6#Q@"*1QN$P'4-5^C?^/__@\0$A<!T#E?HHOK__[X!````@\0$
-MBH=\"P``A,!U(&C`````,\!FBT<6@\`4)?__``!0BX=<"P``_U`$@\0(B\9>
-M7\.#QP`[_X'_`````&C`````,\"+5"0(9HM"%H/`%"7__P``4(N"7`L``/]0
-M!(/$",.#QP`[_X'_`````%>+?"0(:@`SP&:+AW`+``"#P"XE__\``%"+AUP+
-M``#_4`1H````@#/`9HN'<`L``(/`%"7__P``4(N'7`L``/]0##/`9HN'<`L`
-M`(/`&"7__P``4(N'7`L``/]0)#/`9HN'<`L``(/`%"7__P``4(N'7`L``/]0
-M)(/$&#T$``"`N``````/E,!?PSO_C70F`%>+?"005C/V4XM<)!!5BVPD&(O'
-M1U!5_].#Q`B%P'0,N`$```!=6UY?PSO_1H/^!'S@75M>,\!?PX/'`(UT)@"#
-M["175E-5BT0D.(J03@L``(#BR(B03@L``&:+D'(+``!F]\*``'1`BX`4"P``
-M,]*)1"0P]]B#X`>)1"0DBT0D.(M,)"2+@!`+``")1"0LBT0D.(N`&`L``"O!
-MN2P```#W\8E$)"#K+<=$)"`@````BT0D.(N`9`L``(/`"(E$)##WV(/@!XE$
-M)"2+1"0X@\`(B40D+(M4)#`S]HM\)"0#UXE4)#"+5"0@.]8/CN````"+1"0X
-MBUPD,(E\)!"->O^)="04C;!R"P``BVPD)(M,)"P#Z3/2C5P3$(M,)!"+1"0L
-M`\AF]P:``'099L=!!@``9L=!!`"`9L<!$`")60CK$X/'`#/29HE1!F:)$8E1
-M"&:)402+5"00BT0D%(/"+#O'B50D$'459L=!`@``BU0D,(EI*(/*`XE1#.L]
-MBU0D%$*-!%*-%-4``````]#!X@*+1"0P`]")40QF]P:``'4&@\H#B5$,9L=!
-M`@``BU0D$(M$)"P#T(E1*(/#+(M,)!1!BT0D((E,)!0[R`^,2?___XM<)"2+
-M1"0XBU0D+#/V`]J+3"0@B9@H"P``.\Z+0RB+0"B+0"B+0"B+>"A^>HE?((M#
-M*(MO*$:)6"2->?V+6R@[]WU#B5T@BVTHBT,H@\8$._>)6"2+6RB)72"+;2B+
-M0RB)6"2+6RB)72"+;2B+0RB)6"2+6RB)72"+0RB+;2B)6"2+6RA\O8M$)"`[
-M\'T8B5T@BT,HBVTH1HE8)(M4)""+6R@[\GSHBT0D.(M4)#")D#0+``!FBX!R
-M"P``9JF``'0%,__K!I"_@`4``#/VBT0D.(N(9`L``(M$)#B-3#D(`_B+V??9
-M@^$'`]F-?`\(B7PD*#/_B5PD,#/)@\<LBU0D*(/^'XUL.M1FB4T"B4T(9HE-
-M`(E='&:)301U%F:)30:+5"0P@\H#B54,BU0D*.L:._]FB4T&BT0D,(T4.(M$
-M)"B#R@.)50R-%#B#PRQ&B54H@_X@?*2+7"0HBT0D.+[@____B9@<"P``BT,H
-MBT`HBT`HBT`HBW@HB5\@BW\HBT,H@\8$B5@DBULHB5\@BW\HBT,HB5@DBULH
-MB5\@BW\HBT,HB5@DBULHB5\@BT,HBW\HB5@DBULH?+^+1"0XOB````"+5"0P
-MB9`X"P``BI!."P``@,H(BX@<"P``B8@D"P``B8@@"P``B)!."P``75M>7X/$
-M),.0._^!_P````"#[$@SP%>+?"109HN'/`L```T```"`4#/`9HN'<`L``(/`
-M%"7__P``4(N'7`L``/]0#&H1C40D$%`SP&:+AW`+``"#P!@E__\``%"+AUP+
-M``#_4#"+1"0<@\04B(?<$```BD0D"8B'W1```(I$)`J(A]X0``"*1"0+B(??
-M$```BT0D#(B'X!```(I$)`V(A^$0``"+1"0P9HF'XA```&:+1"0J9JD`0'1/
-MBD0D.HB'Y!```(I$)#N(A^40``"+1"0\B(?F$```BD0D/8B'YQ```(I$)#Z(
-MA^@0``"*1"0_B(?I$```9HM$)"IFB8>."P``7X/$2,,[_S/)B(_D$```B(_E
-M$```B(_F$```B(_G$```B(_H$```B(_I$```Z\57BWPD"&H<,\!FBX=P"P``
-M@\`8)?__``!0BX=<"P``_U`,BI=X"P``N`$````BPB7_````4#/`9HN'F@L`
-M`%`SP(J'GPL``%"+AVP+``#_4#!0,\!FBX=P"P``@\`8)?__``!0BX=<"P``
-M_U`,BX^""P``,\!19HN'<`L``(/`&"7__P``4(N'7`L``/]0##/2,\!FBY>8
-M"P``9HN'A@L``(/"!,'B$`O"4#/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0
-M#&@```\`,\!FBX=P"P``@\`8)?__``!0BX=<"P``_U`,,\!FBX=P"P``@\`H
-M)?__``!0BX=<"P``_U`@)?#P``!0,\!FBX=P"P``@\`8)?__``!0BX=<"P``
-M_U`,@\1`7\,[_SO_@?\`````@^P(,\!7BWPD$%93:BIFBX=P"P``@\`8)?__
-M``!0BX=<"P``_U`,,_:#Q`AFB[>("P``BH>?"P``P>80@<X``0``/`1T`X/.
-M$#/;BI]]"P``]\,"````=`.#S@3WPP$```!T`X/.`C/;9HN?F@L``/?#0```
-M`'0&@<X`!```]\,@````=`:!S@"```!6,\!FBX=P"P``@\`8)?__``!0BX=<
-M"P``_U`,BY>*"P``,\!29HN'<`L``(/`&"7__P``4(N'7`L``/]0#(N/D`L`
-M`#/`46:+AW`+``"#P!@E__\``%"+AUP+``#_4`R+AY0+``!0,\!FBX=P"P``
-M@\`8)?__``!0BX=<"P``_U`,,_:#Q""+E@`````SP%)FBX=P"P``@\`8)?__
-M``!0BX=<"P``_U`,@\0(@\8$@_X2?--FQT<"0@!;7E^#Q`C#@\<`:@@SP(M4
-M)`AFBX)P"P``@\`8)?__``!0BX)<"P``_U`,@\0(PX/'`#O_@?\`````:@@S
-MP(M4)`AFBX)P"P``@\`8)?__``!0BX)<"P``_U`,@\0(PX/'`#O_@?\`````
-M5XM\)`AJ"C/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0#(N7E`L``#/`4F:+
-MAW`+``"#P!@E__\``%"+AUP+``#_4`R#Q!!?PX/'`(UT)@!7BWPD"&H*,\!F
-MBX=P"P``@\`8)?__``!0BX=<"P``_U`,BY>0"P``,\!29HN'<`L``(/`&"7_
-M_P``4(N'7`L``/]0#(/$$%_#@\<`C70F`%`SP%=6BW0D$&:+AG`+``"#P!@E
-M__\``%"+AEP+``#_4"2+^"7_````BY:4$```BXZ8$````\*+EIP0``")AI00
-M``"+Q\'H""7_`````\&)AI@0``"+Q\'H$,'O&"7_`````\*+EJ`0``")AIP0
-M```SP&:+AG`+``"!Y_\````#^H/`&(F^H!```"7__P``4(N&7`L``/]0)(OX
-M)?\```"+CJ00``"+EJ@0```#P8N.L!```(F&I!```(O'P>@()?\````#PHN6
-MK!```(F&J!```(O'P>@0P>\8)?\````#PH'G_P```(F&K!```#/`9HN&<`L`
-M``/Y@\`8B;ZP$```)?__``!0BX9<"P``_U`DB_@E_P```,'O"(N6M!````/"
-MBY:X$```@>?_````B8:T$````_J)OK@0``!6Z![Z__^#Q!"*AGX+``"$P'0A
-MQH9^"P```(V&E!```%"+CF`+``!1BX9<"P``_U!`@\0(7E^#Q`3#._\[_X'_
-M`````&H2,\"+5"0(9HN"<`L``(/`&"7__P``4(N"7`L``/]0#(/$",.#QP`[
-M_X'_`````%>+?"0(:@HSP&:+AW`+``"#P!@E__\``%"+AUP+``#_4`R#Q`B*
-MAY\+``"Z``$``#P$=`1F@\H0,\F*CWT+``#WP0(```!T!&:#R@3WP0$```!T
-M!&:#R@*!XO__```SP%)FBX=P"P``@\`8)?__``!0BX=<"P``_U`(@\0(7\.0
-M:@@SP(M4)`AFBX)P"P``@\`8)?__``!0BX)<"P``_U`,@\0(PX/'`#O_@?\`
-M````9HM$)`B+5"0$9@N"H`L``&:)@J`+``!FBX*B"P``9H7`=1IFBT("9CTP
-M`'(0QH*["P```%+H%L7__X/$!,,[_U>+?"0(5^C%U___BY=@"P``4HN'7`L`
-M`/]0/(/$"%_#@^P(5XM\)!!3,ML/OH=."P``J8````!T**D$````=!"*ATX+
-M```,((B'3@L``.L1BH=."P``)%^`RP2(ATX+``"*ATX+``"H0'0TJ`)T#0P0
-MB(=."P``ZR:#Q@"*ATX+```DKXB'3@L``(J'>`L``*@"=`B`RP'K!H/'`(#+
-M`H3;=",SP(K#4#/`9HN'<`L``(/`*"7__P``4(N'7`L``/]0!(/$"#/`BI=/
-M"P``BL/WT"+"B(=/"P``6U^#Q`C#@^P@5U935<=$)"P`````QT0D'`@````S
-M]HM$)#2+N"0+``"+1"0XB7PD*&:+`&:%P`^$T0```(M$)#@SR8U8!&:+0PB)
-M7"0@9H7`#X2;````,\!!9HM#"(M4)!R#P`8#T(M$)!2)1"00BT0D&(E$)!2)
-M5"0<9HM#"(E<)!AFB0>+`XE'"&:+1P9F)0`!9HE'!HM$)"B)1Q@[^'4X9HM'
-M!F8-``1FB4<&BT0D-&:+@)H+``!FJ1``=`QFBT<&9@T`0&:)1P9FBT<&9@T`
-M.&:)1P;K%)!FQT<$`("+1R2#P`R+$(/B_(D0B^^+?RB#PPR+1"0X1F:+`"7_
-M_P``._`/C#S___^)3"0L,_8SP&:+=0"+30AFBT4``_&#Y@,[\'X%,_9FB_"+
-M1"0TBU0D'(N`5`L``,'@`CO0#X;"`@``@_X##XVY`@``A?8/CK$"``!F@WT`
-M!'9B9HM5`(M$)!AF@^H$9HE5`(M5#(/B_(E5#(M4)!B+[V;'!P0`BT`$9HM2
-M"('B__\``(M$$/QFQT<$`(")1Q2+1"0HB4<8BU0D+&:+1P9F)0`!0F:)1P:)
-M5"0LZ4("``"#QP!F@WT``G91BT0D&&:+0`AF/0,`=2^+3"08BU0D&(M)!(M2
-M!&:+$HI)`H'A_P```('B__\``,'A$`O1B544Z?T!```[_XM4)!B+4@2+$HE5
-M%.GJ`0``@\<`,_^+121FBWT`9HLPB]:!XO__```#^H/_!'YMC5;^9HD0BT0D
-M&&:+50"#P@)FB54`9HM`"&8]`0!U$HM$)!B+0`2*`"7_````ZQ$[_XM$)!B+
-M0`1FBP`E__\``(M,)!2+5"04P>`09HM)"(M2!('A__\``&:+5`K^@>+__P``
-M"]")513I7P$``(/_`@^.@P```(O]BVTDBTPD+(M$)!1)BU4,@\H#B4PD+(E5
-M#&:+0`AF/0$`=2:+5"04BTPD&(M2!(M)!&:+"8H2@>+_````@>'__P``P>$(
-MZR0[_XM4)!2+3"08BU($BTD$9HL2B@F!XO__``"!X?\```#!X1`+T8E5%&:+
-M#V8#30!FB4T`Z=0```"0BT0D%(M4)!B+;22+0`2+4@2*"(H2@>'_````BT0D
-M+('B_P```$B)1"0LBT4DP>((B_D+^HM5#(/*`XE5#&:#.`)V/8M,)!"+5"00
-MP><0BT4D9HM)"(M2!('A__\``&:+5`K^@>+__P``"_J)?11FBQ!F@^H"9HD0
-M9L=%``0`ZU.+5"0LBVTD2HE4)"R+50R#R@-F@WT``8E5#'44P><(BTPD$(M)
-M!(H)@>'_````ZQ/!YQ"+3"00BTD$9HL)@>'__P``9HM5``OY@\("B7T49HE5
-M`(M5'(/"%(E5",9%$`"+1"0T9HN`<@L``&:I@`!T5XM5#(M,)"R#XOR)50QF
-MBU4&9H'*``)FB54&BVTHBU0D(&;'10`!`(L29L=%!`"`B54(9HM5!F:!X@`!
-M9HE5!F:!RH!&06:)50:+5"0HB548B4PD+.L.D&:+509F@<J``F:)50:+52B+
-M1"0TB9`D"P``BT0D*&;'0`0`@(M5#(/*`XE5#(M`)(/`#(L0@^+\B1"+1"0T
-MBI!."P``]L((='>`XO>(D$X+``"+D#@+``!2BH!X"P``J`)T";@X````ZP<[
-M_[@T````BU0D.&:+DG`+``"!XO__```#T(M$)#B!XO__``!2BX!<"P``_U`,
-M@\0(BT0D-&:+D+P.``!F*U0D+&:)D+P.``!=6UZ+1"0@7X/$(,,[_XM$)#2*
-MD$X+``"`RD"(D$X+``"+1"0HBT`@9HM`!&:I`(!UMXM,)#11Z.;Y__^#Q`3K
-MJ)!7BWPD#%:+="0,,\E39HE/"HE/$(A/#F:+AG(+``!FJ8``="AFQT<,``!F
-MBT8"9CU0``^%A````(N>*`L``(V^*`L``.F)````@\8`9HM'"(N>,`L``&:)
-M`XM'!&;'0P0`@(E#"(M##(/(`XE##(M#)(/`#(L0@^+\B1"+0RB)AC`+``!F
-MBT8"9CU0`'1M9HM&`F8]8`!U)(J&3@L```R`B(9."P``BT,@9HM`!&:I`(!U
-M"5;H)_G__X/$!%M>7\-FQT,"``"+0PR#X/R)0PR+6RAFQT,&``!FQT,$`(!F
-MQP,0`(M3*(L'.]!UU&;'0P(``(M##(/(`XE##(N.-`L``#/`46:+AG`+``"#
-MP#PE__\``%"+AEP+``#_4`QFQT8"8`"*ADX+```,!(/$"(B&3@L``%M>7\,[
-M_X'_`````%>+?"0(,\!FBX=""P``4#/`9HN'<`L``(/`%"7__P``4(N'7`L`
-M`/]0##/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0)"7__P``@\0,7\.05XM\
-M)`@SR6;'1P)!`&:)CZ(+``"*AYT+``"(AY\+```SP&;'AZ`+```.`&:)3P11
-M9HN'<`L``(/`+B7__P``4(N'7`L``/]0!%?H\;S__X/$#%_#@?\`````@?\`
-M````@^P@,])7BWPD*%9358E4)!@/OX>T"P``B50D$(E$)!R%P'0YBH^W"P``
-M@>'_````B\&#X!^-!$#!X`.-K`>\"P```TT0B4PD((/A'XT$2<'@`XV$![P+
-M``")1"0HB[<L"P``9HM&!&:I`$`/A.0"``"-GTX+``"+1"0<A<`/A%P!``"+
-M5"0HBT0D*#/)9HM2#&:+0`B!XO__``!FBPXE__\```/1.\(/C?<```!FBX>:
-M"P``9JD"`'1*BT0D*(M4)"C&10X#9HM`"&:+4@PE__\``('B__\``"O"#X3S
-M````4(M$)"PSTF:+4`R+"`/1C4804E#H_/___X/$#.G2````._^+1"0<BU40
-M0DB)1"0<A<")51!_#,9%#@'ILP```(/'`(M$)"B+5"0H9HM`"&:+4@PE__\`
-M`('B__\``"O"4(E$)"B+1"0LBP@#T8U&$%)0Z/S___^+1"0LBTPD,$`STHE$
-M)"R#X!]FBQ8KT8T$0,'@`XU,#A"-A`>\"P``B40D-&:)4`R!XO__``!2BT0D
-M.(L`4%'H_/___X/$&.LS@\<`,\`STF:+!E"+1"0L9HM0#(L(`]&-1A!24.C\
-M____9HL.BT0D-&8#2`R#Q`QFB4@,9HL.9@--"F:)30J*`R3^B`-FBT8$9JF`
-M&71-BT0D'(7`=!6*AWT+``"H!'0'QD4.`NL%D,9%#@%FBT8$9JF``'0&_X?,
-M$```9HM&!&:I``%T!O^'R!```&:+1@1FJ0`0=`;_A\00``!FBT8$9JD``@^$
-MLP```(M,)!"+1"0<087`B4PD$`^$G@```#/29HM6!H'B`/```,'Z"(A5#V:+
-M1@9FJ0`"=`:`R@*(50]FBT8&9JD`\'0)BE4/@,H!B%4/9HM&!F:I$`!T"8I5
-M#X#*!(A5#XM5$(M$)!Q"2(E5$(E$)!R*11"*E[<+```"PHB'MPL``+@?````
-M(H>W"P``C01`P>`#C:P'O`L``(M$)"!`B40D((/@'XT$0,'@`XV$![P+``")
-M1"0H9L=&!`"`9L<&$`"+1@R#R`.)1@R+1B2#P`R+$(/B_(D0BT8@9HM`!&:I
-M`(!T!/]$)!B*$XMV*/;"!'0.@.+[]L(@B!-T!/]$)!AFBT8$9JD`0`^%(OW_
-M_XM$)!B)MRP+``"%P'0)5^B']/__@\0$75M>BT0D!%^#Q"##._^!_P````"#
-M[`RX'P```%=64XM<)!S'1"04`````%6+LRP+```B@[<+``"-!$#!X`.-O`.\
-M"P``9HM&!&:I`$`/A$$!``"+[HVSMPL``(E<)!2!PTX+``#_1Q"*`R3^B`-F
-MBT4$9JF`&714BT0D%(J`?0L``*@$=`;&1PX"ZP3&1PX!9HM%!&:I@`!T"HM$
-M)!3_@,P0``!FBT4$9JD``70*BT0D%/^`R!```&:+101FJ0`0=`J+1"04_X#$
-M$```9HM%`&8#1PIFB4<*9HM%!&:I``)T<XH6BD<0`L*+3"08B`8SP&:+109!
-M)0#P``")3"08P?@(B$</9HM5!F;WP@`"=`4,`HA'#V:+109FJ0#P=`B*1P\,
-M`8A'#V:+109FJ1``=`B*1P\,!(A'#XM\)!2Y'P```"*/MPL``(T,2<'A`XV\
-M#[P+``!FBU4$9H'B_[]FB54$B@.H!(MM*'05)/NH((@#=`V+5"044N@'\___
-M@\0$9HM%!&:I`$`/A=?^__^+]8M<)!2)LRP+``!=6UZ+1"0,7X/$#,,[_X'_
-M`````('_`````(/L++@?````5XM\)#164U6+KR`+``#'1"0X`````"*'PPX`
-M`(T$0,'@`HV$!\0.``")1"0T9HM%!&:I`$!U#8M%*&:+0`1FJ0!`=`BX`0``
-M`.L#D#/`A<`/A%0!``"-ATX+``"-GR`+``"-MTT+``")1"08BX<@"P``9HM`
-M!&:I`$!U!O^'U!```,8&`(N'(`L``&:+0`1FJ0`@#X0?`0``_X?0$```BT0D
-M-,9`!0"+AR`+``"+<!B),XM&'#/;B40D,#/`9HN'<`L``(/`*27__P``4(N'
-M7`L``/]0'(OHBH=X"P``@\0$J`)T![@!````ZP6X`@```(7H=4B)="00C8=X
-M"P``B_`SP$-FBX=P"P``@\`I)?__``!0BX=<"P``_U`<@\0$B@[VP0*+Z'0'
-MN`$```#K!;@"````A>ATR(MT)!`SVXM$)#2*0`2$P'0<BTPD-+H`@```@\$$
-M9HE6!#/`0XH!BW8H.]A\\(M$)#!0BH=X"P``J`)T![@X````ZP6X-````#/2
-M9HN7<`L```/0@>+__P``4HN'7`L``/]0#(M$)""*$(#*`H/$"(@075M>BT0D
-M+%^#Q"S#._^+1"08BA#VP@)T$X#B_?;"$(@0=`E7Z/7P__^#Q`2+1"0TBE`%
-M_L*(4`4SP(K"BU0D-(I2!('B_P```#O"=2O^A\,.``"X'P```"*'PPX``(T$
-M0,'@`HV$!\0.``")1"0TBT0D.$")1"0XBX<@"P``9L=`!```BX<@"P``BT`H
-MB0.+KR`+``!FBT4$9JD`0'47BT4H9HM`!&:I`$"X``````^4P.L$._\SP(7`
-M#X0"_O__Z3O___^0._^!_P````"#[`A7BWPD$%93QT0D$``````SVV8YGT@+
-M``!T$V:+MT@+``!FB9]("P``ZR.#QP`SP&:+AW`+``"#P!`E__\``%"+AUP+
-M``#_4""+\(/$!&;WQO]N=15;7C/`7X/$",.X`@```%M>7X/$",-FBT<"9CU@
-M`'4E9HN'<@L``&:I@`!T#5?HU_?__XO8@\0$ZPM7Z$K[__^+V(/$!&;WQ@@`
-M=`E7Z`C$__^#Q`1F]\8@`'0SBH=X"P``J`)T"+@!````ZP:0N`(```"#R`2(
-MAT\+``"*ATX+``"HP'0)5^AN[___@\0$9HM'`F8]4`!R#5?HB_S__XE$)!2#
-MQ`1F]\8`('0)5^B'O?__@\0$9O?&`0!T?0^_A[0+```[PW889HM'`F8]8`!U
-M#HJ'3@L```P!B(=."P``:@$SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`1J
-M`#/`9HN'<`L``(/`&B7__P``4(N'7`L``/]0"&H`,\!FBX=P"P``@\`N)?__
-M``!0BX=<"P``_U`$@\08A=L/A<C^__^+1"00A<`/A;S^__];7E^X`0```(/$
-M",-7BWPD"&:+AT@+``!FA<!U*C/`9HN'<`L``(/`$"7__P``4(N'7`L``/]0
-M((/$!&:%P&:)AT@+``!T";@!````7\,[_S/`7\,[_X'_`````&H`,\"+5"0(
-M9HN"<`L``(/`""7__P``4(N"7`L``/]0##/`@\0(PY`[_X'_`````(/L#%>+
-M?"045E.*1P2H"'0C,\"+-XI'!(/@]XA'!(K8,\"*PU`SP&:+1@10BP;_4`2#
-MQ`B+%U+H%!@``(L/4>@,&```BS<SP(/$"&:+1@10BP;_4!PE_P```(/$!(I?
-M!(A$)!<SP(#+`8LWB%\$BL-0,\!FBT8$4(L&_U`$BP>#Q`A0Z,@7``"+%U+H
-MP!<``(L/@\0(4>BU%P``,\"+-XI?!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0
-M!(L'@\0(4.B+%P``BQ=2Z(,7``"*1"0?@\0(J(!T"+@!````ZP.0,\!;7B7_
-M````7X/$#,,[_X/L&%>+?"0@5E/&1"0C`(M$)"R+-R7_````P?@(BM@SP(I'
-M!(/@]XA'!(K0,\"*PE`SP&:+1@10BP;_4`0SP(LWBE<$@\0(@,H!B%<$BL)0
-M,\!FBT8$4(L&_U`$BQ>#Q`A2Z/D6``"+#U'H\18``(L'@\0(4.CF%@``,\"+
-M-XI'!(/$!(/("(A'!(K0,\"*PE`SP&:+1@10BP;_4`2+%X/$"%+HN!8``#/`
-MBS>*5P2#Q`2`XOZ(5P2*PE`SP&:+1@10BP;_4`2+#X/$"%'HCA8``(L'4.B&
-M%@``N`<```"#Q`@BPP/`B$0D(HK0,\"*P@V@````)?\```!05^@O"@``5^@)
-M_O__@\0,A<!T"KX"````Z>D```#&1"0?`(M<)"PSP(K#)8````"$P'0*,\"*
-M1P2#X/?K"#/`BD<$@\@(BM"+-XA'!#/`BL)0,\!FBT8$4(L&_U`$BQ>#Q`A2
-MZ/T5```SP(LWBE<$@\0$@,H!B%<$BL)0,\!FBT8$4(L&_U`$BP^#Q`A1Z-,5
-M``"+!U#HRQ4``(L7@\0(4NC`%0``,\"+-XI7!(/$!(#B_HA7!(K"4#/`9HM&
-M!%"+!O]0!(L/@\0(4>B6%0``BP=0Z(X5``"*5"0G@\0(,\#^PHK#B%0D'P/`
-M@/H(BM@/@C'___]7Z!K]__^+\('F_P```(/$!(7V#X7F````,\"+-XI'!(/@
-M]XA'!(K8,\"*PU`SP&:+1@10BP;_4`0SP(LWBE\$@\0(@,L!B%\$BL-0,\!F
-MBT8$4(L&_U`$BP^#Q`A1Z`T5``"+!U#H!14``(L7@\0(4NCZ%```,\"+-XI'
-M!(/$!(/("(A'!(K8,\"*PU`SP&:+1@10BP;_4`2+#X/$"%'HS!0``#/`BS>*
-M7P2#Q`2`X_Z(7P2*PU`SP&:+1@10BP;_4`2+!X/$"%#HHA0``(L74NB:%```
-MBEPD*H/$"#/`BL,-H0```"7_````4%?H3@@``%?H*/S__X/$#(7`=`VX_P``
-M`%M>7X/$&,.0,MLSP(I$)",#P(A$)"-7Z`#\__^*3"0G@\0$"LC^PXA,)".`
-M^PARVC/`BS>*1P2#X/>(1P2*V#/`BL-0,\!FBT8$4(L&_U`$,\"+-XI?!(/$
-M"(#+`8A?!(K#4#/`9HM&!%"+!O]0!(L'@\0(4.CR$P``BQ=2Z.H3``"+#X/$
-M"%'HWQ,``#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+1@10BP;_4`2+!X/$"%#H
-MM1,``(L74NBM$P``,\"+-XI'!(/$"(/("(A'!(K8,\"*PU`SP&:+1@10BP;_
-M4`0SP(LWBE\$@\0(@,L!B%\$BL-0,\!FBT8$4(L&_U`$BP^#Q`A1Z&`3``"+
-M!U#H6!,``(L7@\0(4NA-$P``,\"+-XI'!(/$!(/@]XA'!(K8,\"*PU`SP&:+
-M1@10BP;_4`2+#X/$"%'H'Q,``#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+1@10
-MBP;_4`2+!X/$"%#H]1(``(L74NCM$@``@\0(,\!;7HI$)!M?@\08PY"!_P``
-M``"!_P````"#[!`SP%>+?"085E.*1P2+-X/@]XA'!(K8,\"*PU`SP&:+1@10
-MBP;_4`0SP(LWBE\$@\0(@,L!B%\$BL-0,\!FBT8$4(L&_U`$BQ>#Q`A2Z'P2
-M``"+#U'H=!(``(L'@\0(4.AI$@``,\"+-XI'!(/$!(/("(A'!(K8,\"*PU`S
-MP&:+1@10BP;_4`2+%X/$"%+H.Q(``#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+
-M1@10BP;_4`2+#X/$"%'H$1(``(L'4.@)$@``BU0D,(/$"+@'````(L(#P(K0
-M,\"*P@V@````)?\```!05^BR!0``5^B,^?__@\0,A<!T#;@"````6UY?@\00
-MPY"+7"0DB%PD&S+;,\"*1"0;)8````"$P'0+,\"*1P2#X/?K"9`SP(I'!(/(
-M"(K0BS>(1P0SP(K"4#/`9HM&!%"+!O]0!(L/@\0(4>AY$0``,\"+-XI7!(/$
-M!(#*`8A7!(K"4#/`9HM&!%"+!O]0!(L'@\0(4.A/$0``BQ=2Z$<1``"+#X/$
-M"%'H/!$``#/`BS>*5P2#Q`2`XOZ(5P2*PE`SP&:+1@10BP;_4`2+!X/$"%#H
-M$A$``(L74N@*$0``,\"#Q`C^PXI$)!L#P(#["(A$)!L/@C+___]7Z)KX__^#
-MQ`0E_P```%M>7X/$$,.#QP`[_X'_`````(/L"#/`5XM\)!!64XI'!(LW@^#W
-MB$<$BM@SP(K#4#/`9HM&!%"+!O]0!#/`BS>*7P2#Q`B`RP&(7P2*PU`SP&:+
-M1@10BP;_4`2+%X/$"%+H?!```(L/4>AT$```BP>#Q`A0Z&D0```SP(LWBD<$
-M@\0$@\@(B$<$BM@SP(K#4#/`9HM&!%"+!O]0!(L7@\0(4N@[$```,\"+-XI?
-M!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0!(L/@\0(4>@1$```BP=0Z`D0``"#
-MQ`A;7E^#Q`C#@\<`@?\`````@?\`````@^P0,\!75E.+7"0D58ML)"2+="0P
-M9HM%!%"+10#_4!R);"04@\0$)?\```#&1"04!(A$)!\SP&H$9HM%!%"+10#_
-M4`0SP(/$"(K#`\"*V(M$)"R+T/[*A,"(5"0L=$F*P_[#)?\```!0C40D%%#H
-M'?C__XOXBL,E_P```/[#4(U$)!Q0Z`?X___!X`B#Q!!F"_AFB3Z+1"0L@\8"
-MB\C^R83`B$PD+'6W,\"*1"0?4#/`9HM%!%"+10#_4`2#Q`A=6UY?@\00PY`[
-M_X'_`````(/L$%>+?"085E-FBW0D)(O&@>;_````)?__``#!^`@E_P```%!6
-M5^@D_/__@\0,A<!T%5M>0%^#Q!##D+@!````6UY?@\00PXM<)"B(7"0;,MLS
-MP(I$)!LE@````(3`=`LSP(I'!(/@]^L)D#/`BD<$@\@(BM"+-XA'!#/`BL)0
-M,\!FBT8$4(L&_U`$BQ>#Q`A2Z(D.```SP(LWBE<$@\0$@,H!B%<$BL)0,\!F
-MBT8$4(L&_U`$BP^#Q`A1Z%\.``"+!U#H5PX``(L7@\0(4NA,#@``,\"+-XI7
-M!(/$!(#B_HA7!(K"4#/`9HM&!%"+!O]0!(L/@\0(4>@B#@``BP=0Z!H.```S
-MP(/$"/[#BD0D&P/`@/L(B$0D&P^",O___U?HJO7__X/$!(7`#X4+____,\"+
-M-XI'!(/("(A'!(K8,\"*PU`SP&:+1@10BP;_4`0SP(LWBE\$@\0(@,L!B%\$
-MBL-0,\!FBT8$4(L&_U`$BQ>#Q`A2Z*4-``"+#U'HG0T``(L'@\0(4.B2#0``
-M,\"+-XI'!(/$!(/@]XA'!(K8,\"*PU`SP&:+1@10BP;_4`2+%X/$"%+H9`T`
-M`#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+1@10BP;_4`2+#X/$"%'H.@T``(L'
-M4.@R#0``BS^#Q`AJ"HL'_U`T@\0$,\!;7E^#Q!##._\[_X'_`````(/L"#/`
-M5XM\)!!64XI'!(LW@\@(B$<$BM@SP(K#4#/`9HM&!%"+!O]0!#/`BS>*7P2#
-MQ`B`RP&(7P2*PU`SP&:+1@10BP;_4`2+%X/$"%+HO`P``(L/4>BT#```BP>#
-MQ`A0Z*D,```SP(LWBD<$@\0$@^#WB$<$BM@SP(K#4#/`9HM&!%"+!O]0!(L7
-M@\0(4NA[#```,\"+-XI?!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0!(L/@\0(
-M4>A1#```BP=0Z$D,``"#Q`A;7E^#Q`C#@\<`@?\`````@?\`````@^P,5XM\
-M)!164\9$)!<`BT0D("6`````A,!T##/`BD<$@^#WZPH[_S/`BD<$@\@(BMB+
-M-XA'!#/`BL-0,\!FBT8$4(L&_U`$BQ>#Q`A2Z-T+```SP(LWBE\$@\0$@,L!
-MB%\$BL-0,\!FBT8$4(L&_U`$BP^#Q`A1Z+,+``"+!U#HJPL``(L7@\0(4NB@
-M"P``,\"+-XI?!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0!(L/@\0(4>AV"P``
-MBP=0Z&X+``"+1"0H@\0()?\````#P(I4)!?^PHA$)""(5"07@/H(#X(H____
-M6UY?@\0,PSO_4#/`5XM\)`Q64XI?!(LW@,L!B%\$BL-0,\!FBT8$4(L&_U`$
-MBQ>#Q`A2Z!$+``"+#U'H"0L``(L'@\0(4.C^"@``,\"+-XI?!(/$!(#C_HA?
-M!(K#4#/`9HM&!%"+!O]0!(L7@\0(4NC4"@``BP]1Z,P*``"#Q`A;7E^#Q`3#
-M._]7BWPD"%93,\"+-XI?!(#+`8A?!(K#4#/`9HM&!%"+!O]0!(L7@\0(4NB2
-M"@``BP]1Z(H*``"#Q`A;7E_#@\<`5XM\)`A64S/`BS>*7P2`X_Z(7P2*PU`S
-MP&:+1@10BP;_4`2+%X/$"%+H4@H``(L/4>A*"@``@\0(6UY?PX/'`(I$)`A3
-MBTPD"(3`="<SP(I!!(/@]XK8BQ&(000SP(K#4#/`9HM"!%"+`O]0!(/$"%O#
-M._\SP(I!!(/(".O7._^#[!`SP%=64XM<)"15BVPD)(MT)#!FBT4$4(M%`/]0
-M'(EL)!2#Q`0E_P```,9$)!0$B$0D'S/`:@1FBT4$4(M%`/]0!(M$)#2#Q`B+
-MT/[*A,"(5"0L=&$SP(H&4(K#)?\```!&4(U$)!A0Z''Z___^PX/$#(OXA?]T
-M+C/`BD0D'U`SP&:+1010BT4`_U`$BT0D-(/$",'G""7_````0`O'75M>7X/$
-M$,.+1"0LB\C^R83`B$PD+'6?,\"*1"0?4#/`9HM%!%"+10#_4`2#Q`@SP%U;
-M7E^#Q!##@\<`C70F`(/L-#/)5XM\)$16BT0D1%-5BW0D2,9'`03&1S`#9HM`
-M$&;'1Q)``&:)3Q8E_/\``&:)1Q"+1"1,9HE/%(M`%&;'1QP`0,9''J*#X/")
-M1QB+1"1,BT`PB4<HBT<8A<!T%HM$)$QFBT`$9JD"`'0(BD<>#$"(1QYJ`#/`
-M9HM'$(/`+B7__P``4/]6!,9''Q`SP&:+1Q"#P`(E__\``%#_5AR#R`8E_P``
-M`%`SP&:+1Q"#P`(E__\``%#_5@0SP&:+1Q"#P!(E__\``%#_5B!FB40D5B7_
-M_P``@\@@)?__``!0,\!FBT<0@\`2)?__``!0_U8(B70D0#/`9HM'$&H"@\`P
-M9HE$)$@SP&:+1Q"#P"XE__\``%#_5@2-1"1`4(U$)$QJ!&H@4.@%^/__BT0D
-M4(/$.#/2)?__``!FBU0D&@/"BU0D'('B__\```/",])FBU0D'B7__P``.\)U
-M+(M$)!B(1R**1"09B$<CBD0D&HA')(I$)!N(1R6+1"0<B$<FBD0D'8A')^L.
-M,\EFB4\B9HE/)&:)3R:-;"0@,\#&1"1"`6:+102S%XET)#"-="1#4(M%`/]0
-M'(EL)!2#Q`2*T#/`QD0D%`2*PHA$)$$SP&H$9HM%!%"+10#_4`2#Q`BP`8K0
-M_LJ$P(A4)$)T*HK#_L,E_P```%"-1"044.C`[___B`:#Q`A&BD0D0HK(_LF$
-MP(A,)$)UUC/`BD0D05`SP&:+1010BT4`_U`$BW0D.(/$"+@'````(D0D0XJ`
-M`````,9'(?^(1RQJ`#/`9HM'$(/`+B7__P``4/]6!#/`9HM$)$90,\!FBT<0
-M@\`2)?__``!0_U8(BT0D7(/$$&:+0`1FJ00`=`HSP%U;7E^#Q#3#75M>N`(`
-M``!?@\0TPX/'`(/L%#/`5XM\)"A6BW0D(%.+7"0L9HM&!%"+!O]0'(ET)!"#
-MQ`2*T#/`QD0D$`2*PHA$)!\SP&H$9HM&!%"+!O]0!(K#_LN#Q`B$P'0JBT0D
-M*(O0)?\```!0C40D$/["B%0D+%#HM^[__X@'BL.#Q`A'_LN$P'76,\"*1"0?
-M4#/`9HM&!%"+!O]0!(/$"%M>7X/$%,.!_P````"!_P````"#[!!7BWPD&%93
-M58ML)"AFBT<"9CTP`'0?75M>N`$```!?@\00PSO_N`0```!=6UY?@\00PX/&
-M`(N'&`L``(7`=0UFBX=R"P``9JE``'79QH=]"P```(M$)"R)AY`+``"+1"0P
-MB8>4"P``9HN'<@L``&:I`0!T#6;'AY@+``!01NL+._]FQX>8"P``E!$SP(M4
-M)#1FBX>8"P``@>+__P``.\)^"XM$)#1FB8>8"P``N`D```!F(T0D.(/X"70/
-MN`P```!F(T0D.(/X#'4/75M>N`,```!?@\00PSO_BT0D.(7M9HF'F@L``'1%
-M5>A_1@``@\0$A<!U.(I%`$5%B(>("P``145%BD7\B(>)"P``BD7]B(>*"P``
-MBD7^B(>+"P``BD7_B(>,"P``BD4`ZT.0BH>""P``B(>("P``BH>#"P``B(>)
-M"P``BH>$"P``B(>*"P``BH>%"P``B(>+"P``BH>&"P``B(>,"P``BH>'"P``
-M,_8STHB'C0L``(V?B`L``$.*2_\ZRG06B50D&.L>75M>N`(```!?@\00PX/'
-M`$:#_@9\W,=$)!@!````BT0D&(7`==J*AX@+``"H@'70BX=H"P``BT@\A<ET
-M!U?_4#R#Q`2+AV@+``"*0`N(AW@+``!7BX=L"P``_U`49L>'O`X``"``,\F#
-MQ`0SP(B/M@L``&:)C[0+``"(C[<+``"(C[@+``"(C[H+``"(C[D+``"(C[X.
-M``"(C[\.``"(C\`.``"(C\$.``"(C\(.``"(C\,.``!=6UY?@\00PSO_@^P<
-M5U9358ML)#"+50"!^B"!``!T6EU;7C/`7X/$',-&@_X1<F@S]HM$)#B+WJD$
-M````#X3^````A=L/A/8```!FO@`*B\8E__\``%!5Z)U-``"#Q`B%P'16BT0D
-M*"7__P``]]!F(_CIJP```(/'`,=$)!P`````9L=$)"@PSHM$)#2_#P```(E$
-M)!0S]HL<M0````"%VW2-9HM#"&8]`P`/A7G___^+\^EZ____._]H-I0``(O&
-M)?__``"#P!XE__\``%!5Z,6]__^#Q`R%P'1&BTPD%(O&427__P``4%7_4Q2+
-M1"0H@\0,0(E$)!R+1"0\BU0D'#O0#XU&`0``BT0D*(M,)!0E__\``/?09B/X
-M@\$TB4PD%(M$)"B#QB`E__\``,'X!&:)1"0H9H'^X`L/A@[____'1"08````
-M`&;WQP$`#X3@````:$:2``"+1"0<9HL$10````!FB40D*B7__P``@\`")?__
-M``!05>@<O?__@\0,A<!U-V:+1"0F9JD$`'0*N!P```#K"(/'`+@0````,])F
-MBU0D)@/0@>+__P``4E7H]4?__X/$"(7`='@SP&:+1"0F4%7H,+[__X/$"#/V
-MB\B+'+4`````A=MT&#/`B]%FBT,(@>+__P``.\)T"$:#_A%RW3/;A=MT.HM$
-M)#B+$X70=#"+5"04,\!FBT0D)E)05?]3%(M,)"B#Q`Q!BT0D/(E,)!P[R'TF
-MBU0D%(/"-(E4)!2!Y___``"+3"08P?\!08E,)!B#^00/C/K^__^+1"0<75M>
-M7X/$',.#QP"!_P````"!_P````"#[`A75HM$)!2+$('Z(($``'057KC_____
-M7X/$",,[_S/`7E^#Q`C#N.`/``"+3"049B-$)!PE__\``%!1Z$Y+``"#Q`B%
-MP'77BT0D'"7__P``4(M$)!A0Z#.]__^#Q`B+R&:#^6-TN#/VBSRU`````(7_
-M=!@SP(O19HM'"('B__\``#O"=`A&@_X1<MTS_X7_=(V+5"08BT0D'%(E__\`
-M`%"+3"0<4?]7%(/$#%Y?@\0(PY"!_P````"!_P````"+3"0$,\"+D5`+``!2
-M9HN!<`L``(/`""7__P``4(N!7`L``/]0#(/$",,[_XUT)@"+5"0$,\!FBT($
-M4(L"_U`<)?\```"#Q`3#@\<`C70F`#/`BU0D!(I$)`A0,\!FBT($4(L"_U`$
-M@\0(PY"-="8`5XM\)`AJ88L'_U`<:F&+!_]0'&IABP?_4!QJ88L'_U`<@\00
-M7\,[_SO_@?\`````,\!FBT0D"%"+1"0(BP#_4#2#Q`3#@\<`._^!_P````"#
-M[!PSP%=64XMT)"Q5BUPD-&:+AG`+``"#P#(E__\``%"+AEP+``#_4""+TR7_
-M_P``@>+__P``(\*#R`*+^"7__P``4#/`9HN&<`L``(/`,B7__P``4(N&7`L`
-M`/]0"('C__\``#/`@\L"9HE<)#9H4```@&:+AG`+``"#P!0E__\``%"+AEP+
-M``#_4`R[]/___X/$%#/`9HN&<`L``(/`&"7__P``4(N&7`L``/]0)(E$'""#
-MQ`2#PP1\V<=$)"0`````,]*+QV:+5"0J)?__``"[#````#O"#X0B`0``B^\S
-M_V:+^L'G$('/QP<``&A0``"`,\!FBX9P"P``@\`4)?__``!0BX9<"P``_U`,
-M:+A`8(XSP&:+AG`+``"#P!@E__\``%"+AEP+``#_4`QHV+MR`#/`9HN&<`L`
-M`(/`&"7__P``4(N&7`L``/]0#%<SP&:+AG`+``"#P!@E__\``%"+AEP+``#_
-M4`R!Y?W_```SP%5FBX9P"P``@\`R)?__``!0BX9<"P``_U`(NT3]__^#Q"@S
-MP&:+AG`+``"#P!(E__\``%"+AEP+``#_4""#Q`1#?-\SP+N\`@``9HN&<`L`
-M`(/`,B7__P``4(N&7`L``/]0((M4)"B#Q`2+Z"7__P``0HE4)"0STF:+5"0J
-M.\)T#8M$)"2#^&0/C.[^__]H4```@#/`9HN&<`L``(/`%"7__P``4(N&7`L`
-M`/]0#+OT____@\0(BTP<'#/`46:+AG`+``"#P!@E__\``%"+AEP+``#_4`R#
-MQ`B#PP1\V%V[#````%M>7X/$',,[_X/L##/`5XM\)!164VH`9HN'<`L``(/`
-M+B7__P``4(N'7`L``/]0!#/`9HN'<`L``(/`,B7__P``4(N'7`L``/]0((OP
-M9H'F_O^+QB7__P``4#/`9HN'<`L``(/`,B7__P``4(N'7`L``/]0"&:!YOW_
-M,\"!YO__``!69HN'<`L``(/`,B7__P``4(N'7`L``/]0"(J'3@L``"3^B(=.
-M"P``,\!FBX=P"P``@\`2)?__``!0BX=<"P``_U`@@\0@B_!F@<X``KL/````
-M9H/.$&8CWH/[!WX%NP<```"%VW0,C4O_NP$```#3X^L%NP$```!F@>;_XXJ'
-M?PL``(3`="HSTHO#)?__``"*EW\+```[PGP79H'.`!AFBX>`"P``9JD0`'0%
-M9H'.``2!YO__```SP%9FBX=P"P``@\`2)?__``!0BX=<"P``_U`(@\0(BH=\
-M"P``A,!U(VB<(```,\!FBX=P"P``@\`()?__``!0BX=<"P``_U`,@\0(QX=0
-M"P``G"```('C__\``#/`0XJ'?PL``&:)7"04B_,[PWX)9@^VP&:)1"04@>;_
-M_P``N/T````KQHO8)?__``")AU0+``"+1"04)?__``#!X`@+QB7__P``4#/`
-M9HN'<`L``(/`(B7__P``4(N'7`L``/]0"('C__\``#/`@<L`?P``@>/__P``
-M4V:+AW`+``"#P"`E__\``%"+AUP+``#_4`AJ`#/`9HN'<`L``(/`'B7__P``
-M4(N'7`L``/]0"(/$&+Y<````9HN'<@L``&:I@`!U`X/.`E8SP&:+AW`+``"#
-MP"0E__\``%"+AUP+``#_4`QJ`#/`9HN'<`L``(/`!B7__P``4(N'7`L``/]0
-M"(N''`L``(/FXXF')`L``(F'(`L``(J'3@L```P(B(=."P``,\!69HN'<`L`
-M`(/`)"7__P``4(N'7`L``/]0#&;'AT@+`````(/$&%M>7X/$#,.#[`Q75E-5
-MC40D&(ML)"A058M4)"R+="0H4NCQQ/__@\0,A<`/A<8```!H````@(M$)!PE
-M__\``(UX`S/`9HN&<`L``,'_`H/`%"7__P``4(N&7`L``/]0#(M,)"`SP%%F
-MBX9P"P``@\`8)?__``!0BX9<"P``_U`,@\00NP$````[^WY&C40D&%"+1"0H
-M55#H>\3__X/$#(7`=`>-1_\[V'5-BU0D&#/`4F:+AG`+``"#P!@E__\``%"+
-MAEP+``#_4`R#Q`A#.]]\NE:+AFP+``#_4"QFQT8"(0!FQT8$```SP(/$!%U;
-M7E^#Q`S#._]=6UZX`0```%^#Q`S#@\<`4XI<)`AFBU0D#+G"````A-MU"8')
-M``(``.L,D(#[$'4&@<D``0``P>$0@<D`<P``9O?""`!T!H'A_^___V;WP@0`
-M=`:!X?_?__\SP(K#@_@0=`6#^`1U!H'A_[___XI$)!"$P'0#@\D$B\%;PX/'
-M`(/L'#/`,\E7BWPD+%:+="0L4XM<)"S&1P$$QD<P`F:+1A!FQT<20`!FB4\6
-M)?S_``!FB4<09HE/%(M&%&;'1QP`0,9''J*#X/")1QB+1C")1RB+1QB%P'02
-M9HM&!&:I`@!T"(I''@Q`B$<>:@`SP&:+1Q"#P"XE__\``%#_4P0SP&:+1Q"#
-MP"DE__\``%#_4QR#Q`PE\````(/X$'4&QD<?&.L$QD<?`#/`9HM'$(/`$B7_
-M_P``4/]3(&:)1"0H)?__``"#R"`E__\``%`SP&:+1Q"#P!(E__\``%#_4PB)
-M7"0D9HM'$&:)1"0HC40D'%"-1"0H:@1J(%#H$>C__XM$)"R#Q!PSTB7__P``
-M9HM4)!(#PHM4)!2!XO__```#PC/29HM4)!8E__\``#O"=2R+1"00B$<BBD0D
-M$8A'(XI$)!*(1R2*1"03B$<EBT0D%(A')HI$)!6(1R?K#C/)9HE/(F:)3R1F
-MB4\FC40D)E"-1"0<:@%J#5#HD^?__S/`@\009HM$)":)1"0,J0$```!T!C/`
-MZQL[_XM$)`RI`@```'0)N!````#K!SO_N`0```#&1R'_B$<LBT0D)"7__P``
-M4#/`9HM'$(/`$B7__P``4/]3"&:+1@2#Q`AFJ00`=`LSP%M>7X/$',,[_UM>
-M7[@"````@\0<PSO_@?\`````BT0D!,>`4`L```````##D(/L"#/`5U:+="04
-M9HN&<`L``(/`$B7__P``4(N&7`L``/]0((OX)?__``"#R"`E__\``%`SP&:+
-MAG`+``"#P!(E__\``%"+AEP+``#_4`B+AEP+``"+5"0DB40D%&:+AG`+``!2
-M:@AJ.&:)1"0DC40D(%#H^.___X'G__\``#/`5V:+AG`+``"#P!(E__\``%"+
-MAEP+``#_4`B#Q"1>7X/$",.0@?\`````@?\`````@^P(,\!75E.+="089HN&
-M<`L``(/`$B7__P``4(N&7`L``/]0((OX)?__``"#R"`E__\``%`SP&:+AG`+
-M``"#P!(E__\``%"+AEP+``#_4`B+AEP+``"+5"0HB40D&&:+AG`+``!2:@AJ
-M.&:)1"0HC40D)%#HQ^O__XO8,\"!Y___``!79HN&<`L``(/`$B7__P``4(N&
-M7`L``/]0"(/$)(O#6UY?@\0(PX/'`(UT)@"#[!!7,_]6BW0D'%-5BVPD*&:+
-M13!FJ0"`="2-73!J9(N&7`L``/]0-(O'1X/$!(/X9`^/D`(``&;W`P"`==]J
-M9(N&7`L``/]0-&H",\!FBX9P"P``@\`N)?__``!0BX9<"P``_U`$:A8SP&:+
-MAG`+``"#P!8E__\``%"+AEP+``#_4`1J!C/`9HN&<`L``(/`%B7__P``4(N&
-M7`L``/]0!&H`,\!FBX9P"P``@\`N)?__``!0BX9<"P``_U`$N0"````SP&:)
-M35QFB8V(````:@%FBX9P"P``@\`H)?__``!0BX9<"P``_U`(@\0L,_]FBX6(
-M````9JD`@'0GC9V(````:F2+AEP+``#_4#2+QT>#Q`2#^&0/CYL!``!F]P,`
-M@'7?:F2+AEP+``#_4#1J`C/`9HN&<`L``(/`+B7__P``4(N&7`L``/]0!&H6
-M,\!FBX9P"P``@\`6)?__``!0BX9<"P``_U`$:@8SP&:+AG`+``"#P!8E__\`
-M`%"+AEP+``#_4`1J`#/`9HN&<`L``(/`+B7__P``4(N&7`L``/]0!&;'A;0`
-M````@#/;@\0DC;W@````9O<'`(!U"8/'+$.#^P5\\(/[!74",]N-%%N-%-K!
-MX@*-A!7>````9HL09H'B``%FB1"-%%N-%-K!X@)FQX05X@``````C11;C13:
-MP>("C805X````(E$)!QFQP``@#/`:@5FBX9P"P``@\`H)?__``!0BX9<"P``
-M_U`(BT0D)(/$"#/_9O<``(!T)XE<)!"+V&IDBX9<"P``_U`TB\='@\0$@_AD
-M?TIF]P,`@'7CBUPD$#/`C0Q;9HN%L````#/2C0S9@\`$P>$"9HN4#=P````[
-MPG00N`0```!=6UY?@\00PX/'`%U;7C/`7X/$$,,[_UU;7K@#````7X/$$,.#
-MQP!=6UZX`@```%^#Q!##@\<`75M>N`$```!?@\00PX/'`#O_@?\`````@^QH
-M,\!7BWPD<%9356:+AW`+``!0BX=<"P``_U`@9HE$)'@SP&:+AW`+``"#P"0E
-M__\``%"+AUP+``#_4"2)1"1@,\!FBX=P"P``@\`$)?__``!0BX=<"P``_U`D
-MB40D8#/`9HN'<`L``(/`""7__P``4(N'7`L``/]0(&:)A"2"````,\!FBX=P
-M"P``@\`J)?__``!0BX=<"P``_U`@9HF$)(0````SP&:+AW`+``"#P!(E__\`
-M`%"+AUP+``#_4"!FB80DA@```#/`9HN'<`L``(/`#"7__P``4(N'7`L``/]0
-M)(N?%`L``(N7$`L``/?;B40D;#/`9HN'<`L``(/C!X/`$(N/%`L``(TT&B7_
-M_P``4(N'7`L```/9B9PD@````/]0(&C__P``,\!FBX=P"P``@\`0)?__``!0
-MBX=<"P``_U`(:@`SP&:+AW`+``!0BX=<"P``_U`(:!W@!P`SP&:+AW`+``"#
-MP"0E__\``%"+AUP+``#_4`QJ`#/`9HN'<`L``(/`!"7__P``4(N'7`L``/]0
-M#&H`,\!FBX=P"P``@\`()?__``!0BX=<"P``_U`(:@`SP&:+AW`+``"#P"HE
-M__\``%"+AUP+``#_4`@SP&:+AW`+``"#P#(E__\``%"+AUP+``#_4"`E_W\`
-M`%`SP&:+AW`+``"#P#(E__\``%"+AUP+``#_4`@SP&:+AW`+``"#P!(E__\`
-M`%"+AUP+``#_4"`E\.P``(/(`27__P``4#/`9HN'<`L``(/`$B7__P``4(N'
-M7`L``/]0"&H",\!FBX=P"P``@\`N)?__``!0BX=<"P``_U`$,\!FBX=P"P``
-M@\`6)?__``!0BX=<"P``_U`<BM@SP(K#@\@0B(0DZ@```"7_````4#/`9HN'
-M<`L``(/`%B7__P``4(N'7`L``/]0!&H`,\!FBX=P"P``@\`N)?__``!0BX=<
-M"P``_U`$,\!FBX=P"P``@\`,)?__``!0BX=<"P``_U`D)?__```-```#`%`S
-MP&:+AW`+``"#P`PE__\``%"+AUP+``#_4`QJ`C/`9HN'<`L``(/`+B7__P``
-M4(N'7`L``/]0!#/`BL.#X.^(A"0/`0``)?\```!0,\!FBX=P"P``@\`6)?__
-M``!0BX=<"P``_U`$:@`SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2!Q*@`
-M```SVXJ#`````$.#^PJ(A!ZW`0``<NTSVXE\)!"+1"1@C:[H````B40D:`7<
-M````B40D9(M$)&`%N`$``(ET)!2)1"1,BT0D8`7(`0``N2P```")1"1(C8;D
-M````B40D'(V&X@```(E$)""-AN````")1"0DC8;>````B40D*(V&W````(E$
-M)"R-1@R)1"0PC48(B40D-(U&!HE$)#B-1@2)1"0\C48"B_B+1"0\0V;'!A``
-MBU0D3&;'!P```_%FQP```(M$)#@#^6;'```&BT0D-(D0BT0D:`/!B40D:(M$
-M)#"+5"1H@\H!B1"+5"1(BT0D+&;'`!@`BT0D*&;'````BT0D)&;'``"`BT0D
-M(&;'````BT0D'(D0BU0D9`/1BT0D/`/!B54`B40D/(M$)#B)5"1DBU0D-`/!
-M`]&)1"0XBT0D,(E4)#2+5"0H`\$#T8E$)#"+1"0LB50D*(M4)!P#P0/1B40D
-M+(M$)"0#P0/IB40D)(M$)"`#P8/[!8E$)"")5"0<#XP>____BT0D8(MT)!2+
-M?"00@\@!B8:\````N0"```!FBX:V````9@T``6:)AK8```"+1"1@9HE.!`7<
-M````9HE.,(F&F`$``&:+AHX!``!F#0`!9HF&C@$``(M$)&`%W````%`SP&:+
-MAW`+``"#P#PE__\``%"+AUP+``#_4`R+3"1H,\!19HN'<`L``(/`."7__P``
-M4(N'7`L``/]0#%97Z&SW__^+\#/`9HN'<`L``(/`)"7__P``4(N'7`L``/]0
-M)`T````%4#/`9HN'<`L``(/`)"7__P``4(N'7`L``/]0#&IDBX=<"P``_U`T
-MBX0DG````"7__P``4#/`9HN'<`L``%"+AUP+``#_4`B+A"2(````4#/`9HN'
-M<`L``(/`)"7__P``4(N'7`L``/]0#(N4)(P````SP%)FBX=P"P``@\`$)?__
-M``!0BX=<"P``_U`,,\!FBX0DL@```%`SP&:+AW`+``"#P`@E__\``%"+AUP+
-M``#_4`B+A"2X````)?__``!0,\!FBX=P"P``@\`J)?__``!0BX=<"P``_U`(
-M,\!FBX0DO@```%`SP&:+AW`+``"#P!(E__\``%"+AUP+``#_4`AJ`C/`9HN'
-M<`L``(/`+B7__P``4(N'7`L``/]0!#/`BH0DU@```%`SP&:+AW`+``"#P!8E
-M__\``%"+AUP+``#_4`1J`#/`9HN'<`L``(/`+B7__P``4(N'7`L``/]0!(N,
-M),`````SP%%FBX=P"P``@\`,)?__``!0BX=<"P``_U`,:@(SP&:+AW`+``"#
-MP"XE__\``%"+AUP+``#_4`0SP(J$)/<```!0,\!FBX=P"P``@\`6)?__``!0
-MBX=<"P``_U`$:@`SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2!Q)````"%
-M]G0:75N+QEY?@\1HP[@&````75M>7X/$:,.#QP`SP&:+AW`+``"#P"0E__\`
-M`%"+AUP+``#_4"2#Q`2#X!2#^!1UREU;7C/`7X/$:,.-="8`,\"+5"0$9HM$
-M)`A0,\!FBX)P"P``@\`R)?__``!0BX)<"P``_U`(@\0(PY"-="8`@^P4,\!7
-MBWPD'%93:@!FBX=P"P``@\`N)?__``!0BX=<"P``_U`$,\!FBX=P"P``@\`R
-M)?__``!0BX=<"P``_U`@B_!F@>;^_XO&)?__``!0,\!FBX=P"P``@\`R)?__
-M``!0BX=<"P``_U`(9H'F_?\SP('F__\``%9FBX=P"P``@\`R)?__``!0BX=<
-M"P``_U`(BH=."P``)/Z(ATX+```SP&:+AW`+``"#P!(E__\``%"+AUP+``#_
-M4""#Q""+\&:#SA"[#P```&8CWH/["WX%NPL```"%VW0-C4O_NP$```#3X^L&
-MD+L!````9H'F_^.*AW\+``"$P'0J,]*+PR7__P``BI=_"P``.\)\%V:!S@`8
-M9HN'@`L``&:I$`!T!6:!S@`$@>;__P``,\!69HN'<`L``(/`$B7__P``4(N'
-M7`L``/]0"(/$"(J'?`L``(3`=2-H7"```#/`9HN'<`L``(/`""7__P``4(N'
-M7`L``/]0#(/$",>'4`L``%P@``"+\X'C__\``('F__\``#/`1HJ'?PL``$.)
-M="04.\-^!(E$)!2[``@``#/`*]Z)GU0+``!J`F:+AW`+``"#P"XE__\``%"+
-MAUP+``#_4`0SP&:+AW`+``"#P!8E__\``%"+AUP+``#_4!R(1"0K)?\```"#
-MR!`E_P```%`SP&:+AW`+``"#P!8E__\``%"+AUP+``#_4`1H#Q`/`#/`9HN'
-M<`L``(/`)"7__P``4(N'7`L``/]0#&@?$```,\!FBX=P"P``@\`H)?__``!0
-MBX=<"P``_U`,:@`SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2+1"1`P>@!
-M0,'@$`T``@``4#/`9HN'<`L``(/`#"7__P``4(N'7`L``/]0#,'K`C/`P>X!
-MNOH#``#!XQ`KU@O:4V:+AW`+``"#P"`E__\``%"+AUP+``#_4`QJ`C/`9HN'
-M<`L``(/`+B7__P``4(N'7`L``/]0!#/`BD0D8R7O````4#/`9HN'<`L``(/`
-M%B7__P``4(N'7`L``/]0!&H`,\!FBX=P"P``@\`N)?__``!0BX=<"P``_U`$
-M:@`SP&:+AW`+``!0BX=<"P``_U`(@\1<OD````!FBX=R"P``9JF``'4#@\X"
-M5C/`9HN'<`L``(/`)"7__P``4(N'7`L``/]0#&H`,\!FBX=P"P``@\`$)?__
-M``!0BX=<"P``_U`,@\00BX<<"P``B8<D"P``B8<@"P``BH=."P``#`B(ATX+
-M``"+AQ@+```]Z`$``'()5^CT\___@\0$@<X````',\!69HN'<`L``(/`)"7_
-M_P``4(N'7`L``/]0#&;'AT@+`````(/$"%M>7X/$%,.!_P````"!_P````"#
-M[`Q75E-5C40D&(M4)"A04HM,)"R+="0H4>CAL/__@\0,A<`/A2X!``!H````
-M@(M$)!PE__\``(UX`S/`9HN&<`L``,'_`H/`%"7__P``4(N&7`L``/]0#(M$
-M)"!0,\!FBX9P"P``@\`8)?__``!0BX9<"P``_U`,@\00NP$````[^WY1C:YP
-M"P``C40D&(M4)"A04HM,)"Q1Z&&P__^#Q`R%P'0+C4?_.]@/A:<```"+1"08
-M4#/`9HM%`(/`&"7__P``4(N&7`L``/]0#(/$"$,[WWRU:/"_`(`SP&:+AG`+
-M``"#P!0E__\``%"+AEP+``#_4`QHD.I0`#/`9HN&<`L``(/`&"7__P``4(N&
-M7`L``/]0#&H`,\!FBX9P"P``@\`8)?__``!0BX9<"P``_U`,5HN&;`L``/]0
-M+&;'1@(A`&;'1@0``#/`@\0<75M>7X/$#,,[_UU;7K@!````7X/$#,.#QP`[
-M_X'_`````%.*7"0(9HM4)`RYP@```(3;=0F!R0`0``#K')"`^Q!U"X')``$`
-M`.L.@\<`@/MD=0:!R0`"``#!X1"!R0!S``!F]\((`'0&@>'_[___9O?"!`!T
-M!H'A_]___S/`BL.#^!!T!8/X!'4&@>'_O___BD0D$(3`=`.#R02+P5O#@\<`
-M5XM\)`@SP,>'4`L```````!J`&:+AW`+``"#P"XE__\``%"+AUP+``#_4`0S
-MP&:+AW`+``"#P`(E__\``%"+AUP+``#_4!R#R`8E_P```%`SP&:+AW`+``"#
-MP`(E__\``%"+AUP+``#_4`2#Q!1?PX/L"#/`5U:+="049HN&<`L``(/`$B7_
-M_P``4(N&7`L``/]0((OX)?__``"#R"`E__\``%`SP&:+AG`+``"#P!(E__\`
-M`%"+AEP+``#_4`B+AEP+``")1"04,\!FBX9P"P``:@*#P#!FB40D'#/`9HN&
-M<`L``(/`+B7__P``4(N&7`L``/]0!(M4)"R-1"0<4FH(:CA0Z.;<__]J`#/`
-M9HN&<`L``(/`+B7__P``4(N&7`L``/]0!('G__\``#/`5V:+AG`+``"#P!(E
-M__\``%"+AEP+``#_4`B#Q#1>7X/$",,[_X'_`````('_`````(/L"#/`5U93
-MBW0D&&:+AG`+``"#P!(E__\``%"+AEP+``#_4""+^"7__P``@\@@)?__``!0
-M,\!FBX9P"P``@\`2)?__``!0BX9<"P``_U`(BX9<"P``B40D&#/`9HN&<`L`
-M`&H"@\`P9HE$)"`SP&:+AG`+``"#P"XE__\``%"+AEP+``#_4`2+5"0PC40D
-M(%)J"&HX4.AUV/__B]@SP&H`9HN&<`L``(/`+B7__P``4(N&7`L``/]0!('G
-M__\``#/`5V:+AG`+``"#P!(E__\``%"+AEP+``#_4`B#Q#2+PUM>7X/$",,[
-M_X'_`````%!75HM\)!A3N0$```"+="08B$\PB`^(3P%FB7<0N00```!FB4\2
-M9H7.=`FX'````.L'._^X$````&;'1Q80`(O6,\EFB4\<@>+__P```]"+QF:)
-M5Q0E__\``(/``HE/&"7__P``4(M$)!C_4!R*V(O&)?__``"#P`,E__\``%"+
-M1"0<_U`<B$0D%X/$"+@#````(L.*@`````"(1R"*1"0/J(!T$S/`BL,E_```
-M``T``0``B_#K!)!F,_:!YO__``#!Y@N)=RB*1"0/J`AT"<9'+!#K!X/&`,9'
-M+`3&1QX$,\!FBT<4@\`()?__``!0BT0D&/]0'(/$!*D"````=##&1R$$BD<>
-M#!B(1QZ-1R*+5"044#/`9HM'%%!2Z&]M__^#Q`RX`0```%M>7X/$!,,SP(I$
-M)`_!^`2#X`.*@`````"(1R$\!'4+BD<>#!"(1Q[KN9"*1QX,`XA''NNN._^#
-M[`RY`0```%>+?"0<5HMT)!A358A/`8A/,(M$)"2Y!````&:)1Q!FA<AFB4\2
-MQ@<"=`FX'````.L'._^X$````&;'1Q80`(M4)"0SR6:)3QR!XO__```#T(M$
-M)"1FB5<4)?__``"#P`*)3QB+V"7__P``4/]6'(A$)!MJ!8O#)?__``!0_U8$
-MBT0D,"7__P``@\`#B^@E__\``%#_5AR(1"0KB\-J!B7__P``4/]6!(O%)?__
-M``!0_U8<BE0D-X/$'/;"`8A$)!IU!*B`="7&1QX`:@*+PR7__P``4/]6!(O%
-M)?__``!0_U8<B$0D)6H#ZR.0QD<>!&H`B\,E__\``%#_5@2+Q27__P``4/]6
-M'(A$)"5J`8O#)?__``!0_U8$B\4E__\``%#_5AR(1"0P@\08N`<````B1"09
-MBH``````B$<@BT0D&*@!=`?&1RP0ZP60QD<L!(M$)!BH@'08N'@```"+5"08
-M(L(-``,``&:)1"04ZPB09L=$)!0``(M$)!0E__\``,'@"HE'*(I$)!JH0'0.
-MQD<A!(I''@P(B$<>ZQ4SP(I$)!G!^`.#X`>*@`````"(1R&*1R$\!'5,BD<>
-M#!"(1QYJ!HO#)?__``!0_U8$C4<B@>7__P``4&H\55;H:&___S/`@>/__P``
-MBD0D+U!3_U8$@\0@N`$```!=6UY?@\0,PX/&`(I''@P#Z[*0@?\`````@?\`
-M````5XM\)`@SP&:+AW`+``"#P`(E__\``%"+AUP+``#_4!PE]P```%`SP&:+
-MAW`+``"#P`(E__\``%"+AUP+``#_4`2#Q`Q?PSO_._^!_P````!7BWPD"&H%
-M,\!FBX=P"P``@\`")?__``!0BX=<"P``_U`$,\!FBX=P"P``@\`#)?__``!0
-MBX=<"P``_U`<)?<```!0,\!FBX=P"P``@\`#)?__``!0BX=<"P``_U`$@\04
-M7\.0@?\`````@?\`````4#/`5XM\)`QJ`F:+AW`+``"#P`(E__\``%"+AUP+
-M``#_4`0SP&:+AW`+``"#P`,E__\``%"+AUP+``#_4!R+5"0<@\0,BLBX!P``
-M`"+!@>+_````BH``````)?\````[PG16BT0D$"7_````BH``````B$0D!SP'
-M=@JX`P```%^#Q`3#,\`STHK!BE0D!R7X````"\(E_P```%`SP&:+AW`+``"#
-MP`,E__\``%"+AUP+``#_4`2#Q`@SP%^#Q`3#5XM\)`AJ`C/`9HN'<`L``(/`
-M`B7__P``4(N'7`L``/]0!#/`9HN'<`L``(/``R7__P``4(N'7`L``/]0'(K(
-M,\"#Q`R*P<'X`S/2@^`'BE0D#(J``````"7_````.\)T/HJ2`````#/`BL&!
-MXO\```#!X@,EQP````O")?\```!0,\!FBX=P"P``@\`#)?__``!0BX=<"P``
-M_U`$@\0(7\.#QP"!_P````"!_P````!7BWPD"&H`,\!FBT<6@\`>)?__``!0
-MBX=<"P``_U`$:@A7Z#F2__^#Q!`E``L``#T``P``=1*X`0```(A'&U_#N`$`
-M``!?PY!J!E?H$)+__X/$"*F`````=>8SP%_#._]J!#/`BU0D"&:+0A:#P!XE
-M__\``%"+@EP+``#_4`2#Q`C#._^!_P````"!_P````"#[!`SP%>+?"085E-5
-M9HN'<`L``(/`'B7__P``4(N'7`L``/]0'(K8N`$````BPR7_````4#/`9HN'
-M<`L``(/`'B7__P``4(N'7`L``/]0!#/`9HM'%H/`""7__P``4(N'7`L``/]0
-M((OPN``#``!F(\:#Q!`]``,```^%@`(``(O&)?__```-``@``"7__P``4#/`
-M9HM'%H/`""7__P``4(N'7`L``/]0"#/`9HM'%H/`#B7__P``4(N'7`L``/]0
-M(&:)1"0J@\0,9H7`#X0.`@``,\!FBT<6@\`&)?__``!0BX=<"P``_U`@9HE$
-M)"`SP&:+1Q:#P`0E__\``%"+AUP+``#_4""+;"0D@\0(@>7__P``)?__``#!
-MY1`+Z&:+AW(+``!FJ1``=%QF]\8`!'0I,\!FBT0D'E`SP%5FBT<6@\`0)?__
-M``!0BX=<"P``_U`H@\0,Z84!```SP&:+1"0>4#/`56:+1Q:#P!`E__\``%"+
-MAUP+``#_4!"#Q`SI7`$``(/'`#/`9HM$)![!^`)FB40D&+@#````9B-$)!YF
-M]\8`!&:)1"06#X2;````BT0D&&:%P'0P)?__``!0,\!59HM'%H/`$"7__P``
-M4(N'7`L``/]0,#/`9HM$)"HE_/\```/H@\0,9HM$)!9FJ0(`="(SP&:+1Q:#
-MP!`E__\``%"+AUP+``#_4""#Q0*#Q`1FB47^9HM$)!9FJ0$`#X2[````,\!F
-MBT<6@\`0)?__``!0BX=<"P``_U`<B$4`@\0$Z9@```"#QP"+1"089H7`=#`E
-M__\``%`SP%5FBT<6@\`0)?__``!0BX=<"P``_U`8,\!FBT0D*B7\_P```^B#
-MQ`QFBT0D%F:I`@!T)3/`9HM%`%`SP&:+1Q:#P!`E__\``%"+AUP+``#_4`B#
-MQ0*#Q`AFBT0D%F:I`0!T(3/`BD4`4#/`9HM'%H/`$"7__P``4(N'7`L``/]0
-M!(/$"%?H*6K__X/$!(7`=`HSP%U;7E^#Q!##O@$```#K#)!7Z+HT__^+\(/$
-M!#/`BL-0,\!FBX=P"P``@\`>)?__``!0BX=<"P``_U`$@\0(B\9=6UY?@\00
-MPSO_@?\`````5XM\)`AJ<3/`9HN'<`L``(/`'27__P``4(N'7`L``/]0!&H"
-M,\!FBX=P"P``@\`?)?__``!0BX=<"P``_U`$:/$````SP&:+AW`+``"#P!TE
-M__\``%"+AUP+``#_4`0SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4!R#R`0E
-M_P```%`SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4`0SP&:+AW`+``"#P!XE
-M__\``%"+AUP+``#_4!R#R`0E_P```%`SP&:+AW`+``"#P!XE__\``%"+AUP+
-M``#_4`2#Q#!?PSO_@?\`````@?\`````@^P@N0$```!7BWPD,%:+="0L4U6+
-M1"0XQ@<#)?__``"(3P&(3S!H-I0``(/`'6:)1"0NBT0D/"7__P``@\`>9HE$
-M)"R+1"0\)?__``"#P!]FB40D*HM$)"PE__\``%!6Z$N2__^#Q`R%P'4\75M>
-M,\!?@\0@PSO_0X'[``$```^,(P$``(MT)!2+?"00,\"*1"0N4#/`9HM$)"I0
-M_U8$@\0(Z4D!``"09L='!(T09L='!@$`BT0D*"7__P``4/]6'(A$)#,E]P``
-M`%"+1"0P)?__``!0_U8$:@8SP&:+1"0Z4/]6!#/`9HM$)#I0_U8<9L='$B``
-M9HE'#(M$)%!FB4<0,\!FBT0D0C/)9HE/%F:)3Q2)3QAFB4\<:G!0_U8$,\!F
-MBT0D1E#_5AR(1R!H^````#/`9HM$)%)0_U8$,\!FBT0D4E#_5AR(1"1>@\0P
-MJ"#'1"0@``````^$C````,9''P(EWP```%`SP&:+1"0J4/]6!(M$)$`E__\`
-M`%#_5AR-;AR)?"0<B70D((U6!(M$)$2[J@```"7__P``B_*#P`N#Q`R+^#/`
-MBL-0B\<E__\``%#_%FIA_U4`B\<E__\``%#_50`STH/$$(K3.\(/A*+^___'
-M1"0@`0```(MT)!2+?"00Z:+^__^0QD<?`(M$)"@E__\``%#_5AR#Q`2I`0``
-M`'4(BT0D((7`=!'&1QX(QD<?`L9'(03K)8/&`,9''@!J=#/`9HM$)"Y0_U8$
-M,\!FBT0D+E#_5AR(1R&#Q`R*1R$\!'0(BD<>#`.(1QYH_0```#/`9HM$)"Y0
-M_U8$C4<B4#/`9HM$)#)J/%!6Z,ME__]J0#/`9HM$)$90_U8$,\!FBT0D1E#_
-M5AS!X!")1RAJ03/`9HM$)%)0_U8$,\!FBT0D4E#_5AS!X`B+5R@+PHE'*&CW
-M````,\!FBT0D7E#_5@0SP&:+1"1>4/]6'(/$/*D!````=`G&1RP0ZP>#Q@#&
-M1RP$,\"*1"0O4(M$)"PE__\``%#_5@2X`0```(/$"%U;7E^#Q"##C70F`%>+
-M?"0(,\!FBX=P"P``@\`>)?__``!0BX=<"P``_U`<)?<```!0,\!FBX=P"P``
-M@\`>)?__``!0BX=<"P``_U`$:/X````SP&:+AW`+``"#P!TE__\``%"+AUP+
-M``#_4`0SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4!R#R$`E_P```%`SP&:+
-MAW`+``"#P!\E__\``%"+AUP+``#_4`1J%(N'7`L``/]0-(/$)%_#5XM\)`AJ
-M<#/`9HN'<`L``(/`'27__P``4(N'7`L``/]0!#/`BD0D%%`SP&:+AW`+``"#
-MP!\E__\``%"+AUP+``#_4`0SP(/$$%_#D(UT)@!7BWPD"%,SP&:+AW`+``"#
-MP!XE__\``%"+AUP+``#_4!R*V#/`BL,E]P```%`SP&:+AW`+``"#P!XE__\`
-M`%"+AUP+``#_4`1J=#/`9HN'<`L``(/`'27__P``4(N'7`L``/]0!#/`BD0D
-M)%`SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4`0SP(K#4#/`9HN'<`L``(/`
-M'B7__P``4(N'7`L``/]0!(/$)%M?PX/'`%"+1"085XM\)"!6BW0D%%.Y!```
-M`,9'`0/&1S`!B`>+1"0@9HE'!(M$)!QFB4<,9H7.9HEW$&:)3Q)T"+@<````
-MZP:0N!````!FQT<6$`"+UC/)9HE/'('B__\```/0B\9FB5<4)?__``")3QA0
-MBT0D&/]0'(K8B\8E__\``$`E__\``%"+1"0<_U`<B$0D%X/$"+AP````(D0D
-M#X/X<'4+QD<>,,9'(03K&I#&1QXBBT0D(&8]A`IU![`B#`&(1Q[&1R'_N`,`
-M```BPXJ``````(A'((I$)`^H@'03,\"*PR7\````#0`!``"+\.L$D&8S]H'F
-M__\``,'F"XEW*(I$)`^H"'0EQD<L$(U'(HM,)!10,\!FBT<44%'H0%[__X/$
-M#%M>7X/$!,,[_\9'+`3KV3O_@?\`````@?\`````@^P,5[\!````5E-5BVPD
-M(,=$)!@`````C74$BU0D)#OZ=&6-1P<E_P```%!HE@```/\6:`$!``#_51S!
-MX`AH``$``(O8_U4<@\00"\,]A`H```^$I````#V%"@``=`<]A@H``'4B:`(!
-M``#_51S!^`2#X`.+R+@!````T^`+1"0<B40D'(/$!$>#_PA^C6H`B_5HE@``
-M`/]6!#/;@\0(BVPD)(M\)"B+R[@!````T^"+5"08A=!U7#/`9HL$70````!0
-M5NA'C?__@\0(@_@%=4-7:@1HA`H``%4SP&:+!%T`````4%;HU?W__[@!````
-M@\0875M>7X/$#,.0:@!HE@```/\6@\0(,\!=6UY?@\0,PSO_0X/[!'R-75M>
-M,\!?@\0,PX'_`````('_`````%>+?"0(BT0D#(/`!R7_````4&B6````_U<$
-MBU0D&(M,)!12:@5HA0H``%%H`@$``/]7','X!%F#X`-FBP1%`````"7__P``
-M4%?H0OW__X/$(+@!````7\,[_X'_`````%>+?"0(BT0D#(/`!R7_````4&B6
-M````_U<$BU0D&(M,)!12:@9HA@H``%%H`@$``/]7','X!%F#X`-FBP1%````
-M`"7__P``4%?HXOS__VH`:)8```#_5P2#Q"BX`0```%_#._^!_P````"!_P``
-M``"#[!17OP$```!64U6+;"0HQT0D&`````"-=02-71R-1P<E_P```%!HE@``
-M`/\6:`$!``#_$\'@"(E$)!QH``$``/\3BU0D((/$$`O"9HE$)"(SP&:+1"0B
-M/80*```/A(T````]A0H```^$E@```#V&"@``#X2W````Z1H!```[_XM,)#"+
-M1"0<46H$:(0*``!0BT0D/"7__P``4%/H'_S__X/$&+@!````75M>7X/$%,.#
-MQP!J`&B6````_Q:+3"0X,\!1:@5FBT0D,E"+1"1`5R7__P``4%7HX_O__[@!
-M````@\0@75M>7X/$%,.#QP"+5"08B7PD'$*)5"08Z98````[_V@"`0``_U4<
-MBU0D,(/$!,'X!('B__\``(/@`V:+!$4`````)?__```[PG2$:`(!``#_51R+
-M5"0P@\0$P?@$@>+__P``@^`#9HL$10`````E__\``#O"=3QJ`&B6````_Q:+
-M1"0X4#/`:@9FBT0D,E"+1"1`5R7__P``4%7H._O__X/$(+@!````75M>7X/$
-M%,.#QP!'@_\(#XY\_O__:@"+W6B6````_U,$BT0D((/$"(7`=#>#^`$/A+[^
-M__^+5"0PBT0D+%)J!&B$"@``:@`E__\``%!3Z.#Z__^#Q!BX`0```%U;7E^#
-MQ!3#75M>,\!?@\04PSO_C70F`%>+?"0(9HN'<@L``&:I`@!T5S/`BH=["P``
-M@\`')?\```!0:)8```"+AUP+``#_4`1H`@$``(N'7`L``/]0'(/(#B7_````
-M4&@"`0``BX=<"P``_U`$:@!HE@```(N'7`L``/]0!(/$'%_#D(UT)@!05U:+
-M="044XM<)""+?"0D@?L]@PD!=0C&!P?K!H/&`,8'",9'`0+&1S`!9HEW$+D$
-M````9HE/$F:%SHM$)!R)7P1FB4<,=`BX'````.L&D+@0````9L='%A``B]8S
-MR6:)3QR!XO__```#T(O&9HE7%"7__P``B4\84(M$)!C_4!R(1"03B\8E__\`
-M`$`E__\``%"+1"0<_U`<BM@SP(/$"(K#P?@$B]:#X`.!XO__``!FBP1%````
-M`"7__P``.\)T"C/`6UY?@\0$PY"X`P```(I4)`\BPO;#0(J``````(A'('0+
-MQD<>,,9'(03K"9#&1QXBQD<A__;#@'07,\"*1"0/)?P````-``$``(OPZP:#
-MQP!F,_:!YO__``#!Y@OVPPB)=RAT",9'+!#K!CO_QD<L!(U'(HM,)!10,\!F
-MBT<44%'H9UC__X/$#+@!````6UY?@\0$PSO_@?\`````5U:+1"00P>`,B_@E
-M__\```6`#```)?__``!0BT0D$/]0)(/$!(OP@?X]@PD!=`B!_CV#"0)U(XO'
-M)?__```%A`P``"7__P``4(M$)!#_4!R#Q`2I`0```'4*N`$```!>7\,[_X'G
-M__\``(M$)`R!QX<,``"!Y___``!7_U`<P?@$BU0D&%)6@^`#BTPD'%%FBP1%
-M`````"7__P``4(M$)"!0Z/G]__^#Q!A>7\.#QP!7BT0D"%9353/_C5@DB\?!
-MX`R+\"7__P``!8`,```E__\``%#_$X/$!(OH@?T]@PD!=`R!_3V#"0(/A8$`
-M``"+QB7__P``!80,```E__\``%"+1"08_U`<@\0$J0$```!T7H'F__\``(M$
-M)!2!QH<,``"!YO__``!6_U`<P?@$@\0$@^`#,])FBU0D&&:+!$4`````)?__
-M```[PG4CBU0D'#/`4E57BTPD(&:+1"0D4%'H.OW__X/$%%U;7E_#._]'@_\0
-M#XQ#____75M>,\!?PX/'`('_`````('_`````%>+?"0(9HN'<@L``&:I`@!T
-M/C/`9HN'<`L``$`E__\``%"+AUP+``#_4!R#R$`E_P```%`SP&:+AW`+``!`
-M)?__``!0BX=<"P``_U`$@\0,7\,[_X'_`````('_`````%>+?"0(:@`SP&:+
-M1Q:#P!0E__\``%"+AUP+``#_4`0SP&:+1Q:#P`@E__\``%"+AUP+``#_4""#
-MQ`PE``L``#T``P``=1*X`0```(A'&U_#N`$```!?PY`SP&:+1Q:#P`8E__\`
-M`%"+AUP+``#_4""#Q`2I@````'76,\!?PSO_5XM\)`B*1QN$P'4B,\!FBT<6
-M@\`&)?__``!0BX=<"P``_U`@@\0$J8````!T'K@!````7\.#Q@#&1QL!5^AN
-MC?__N`$```"#Q`1?PU?HCHO__X/$!(7`==\SP%_#@\<`:@`SP(M4)`AFBT(6
-M@\`4)?__``!0BX)<"P``_U`$,\"#Q`C#@?\`````@?\`````:,`````SP(M4
-M)`AFBT(6@\`4)?__``!0BX)<"P``_U`$@\0(PX/'`#O_@?\`````5XM\)`@S
-MP&:+AW`+``"#P!(E__\``%"+AUP+``#_4!R#X#]0,\!FBX=P"P``@\`2)?__
-M``!0BX=<"P``_U`$@\0,7\.!_P````"!_P````!0BT0D"(I`&X3`=2J+1"0(
-M9HM`%B7__P``@\`5)?__``!0BT0D#(N`7`L``/]0'(/$!*C`=`JX`0```(/$
-M!,.0,\"#Q`3#._\[_X'_`````%>+?"0(:@`SP&:+1Q:#P!0E__\``%"+AUP+
-M``#_4`0SP&:+1Q:#P!4E__\``%"+AUP+``#_4!R#Q`RHP+@`````7P^5P,,[
-M_SO_@?\`````5S/_4V:+7"0,BPR]`````(7)=!@SP(O39HM!"('B__\``#O"
-M=`Y'@_\1<MTSP%M?PX/'`%N+P5_#@\<`C70F`%<S_U.+7"0,BPR]`````(7)
-M=`V+400[TW0.1X/_$7+H,\!;7\.#QP!;B\%?PX/'`%<S_U93,]**3"089HM\
-M)!3!YQ!FBU0D$`OZ,_:+'+4`````A=MT-XL3]\+`CP``=">+0P2+UR4`____
-M@>(`____.\)U$S/`,]**0PJ*T3O"=0:+PUM>7\-&@_X1<KY;7C/`7\.!_P``
-M``"!_P````"X[!```,,[_SO_@?\`````@^P(5XM$)!!6BW0D)(L0BWPD&('Z
-M(($``'097K@$````7X/$",,[_[@"````7E^#Q`C#D&CL$```5^B!>___9L='
-M`@``9L<'4I0SR8M$)!R(CYP+``")AUP+``"+1"0DB8=D"P``BT0D*(F'8`L`
-M`#/`B8\8"P``B@90Z)#^__^#Q`R%P(F':`L``'2;9@^V!F:)1P:+AV@+``"+
-M0$")AVP+``!FBT809HF'<`L``(N':`L``(M`0&:#.`)U&F:+1A1FA<!T"6:)
-M1Q;K"X/'`&:+1A!FB4<69HM&+F:)AX`+``"*1BV(AW\+``"+AVP+``"%P'0)
-M:@!7_U`$@\0(BX=H"P``BT@XA<ET!U?_4#B#Q`2*1B*(AX(+``"*1B.(AX,+
-M``"*1B2(AX0+``"*1B6(AX4+``"*1B:(AX8+``"*1B>(AX<+``"*1B&(AWH+
-M``"*1AZ(AWD+``"*1@R(AWL+``"*1BP\!'4-9L>'<@L`````ZPL[_V;'AW(+
-M```!`(I&'J@!="AFBX=R"P``9@T``6:)AW(+``"+1"0</13O_P!V"UZX`P``
-M`%^#Q`C#BD8>J`AT$F:+AW(+``!F#00`9HF'<@L``(I&'J@$=!)FBX=R"P``
-M9@T`(&:)AW(+``"*1A^H$'029HN'<@L``&8-0`!FB8=R"P``9HM'!F8]`P!U
-M-&:+1@QFA<!T$F:+AW(+``!F#0@`9HF'<@L``(I&'Z@"=!)FBX=R"P``9@T0
-M`&:)AW(+```SP&:+1P:#^`MT!8/X#'4'N`$```#K`C/`A<!T&8I&'Z@!=!)F
-MBX=R"P``9@T`$&:)AW(+``!FBT<&9CT-`'(>BD8?J`AT%V:+AW(+``!F#8``
-M9HF'<@L``.@I<___BX=L"P``A<!T%U?_4`R#Q`2%P'4,7K@!````7X/$",.0
-M9L='`A``BX=L"P``9H,X`74$QD<:`%XSP%^#Q`C#._\[_X'_`````%:+="0(
-M9HN&<@L``&:I`$!T"K@!````7L.#QP`SP&:+!CU2E```=21FBT8"9CT@`'8:
-MBH9\"P``A,!U"E;_EJ0+``"#Q`3^AGP+```SP%[#,\"+5"0$9HL"/5*4``!U
-M*F:+0@)F/2``=B"*@GP+``"$P'06_LB(@GP+``"$P'4*4O^2J`L``(/$!,.0
-MC70F`#/`BU0D!&:+`CU2E```=1AFBT("9CT@`'8.4O^2K`L``(/$!,.#QP`S
-MP,.0C70F`%<S_U:+="0,,\!FBP8]4I0``'4D9HM&`F8](`!V&E;_EK`+``"#
-MQ`2+^(/_`7X)5N@+=O__@\0$B\=>7\.#QP`SP(M4)`1FBP(]4I0``'4@9HM"
-M`F8](`!V%E+_DK`+``"#Q`2%P+@`````#Y7`PY`SP,.0@?\`````@?\`````
-M,\"+5"0$9HL"/5*4``!U$V:+0@)F/2``=@E2Z*!U__^#Q`3#@?\`````@?\`
-M````@^P0,\F+5"04BH$`````08/Y2XB$"D,0``!R[8J"@@L``(B"3!```(J"
-M@@L``(B"=1```(J"W!```(B"7Q```(J"@PL``(B"31```(J"@PL``(B"=A``
-M`(J"W1```(B"8!```(J"A`L``(B"3A```(J"A`L``(B"=Q```(J"WA```(B"
-M81```(J"A0L``(B"3Q```(J"A0L``(B">!```(J"WQ```(B"8A```(J"A@L`
-M`(B"4!```(J"A@L``(B">1```(J"X!```(B"8Q```(J"APL``(B"41```(J"
-MAPL``(B">A```(J"X1```(B"9!```(J"3!````R`B(),$```9L<$)`$`BX)D
-M"P``9L=$)`Q+``5$$```B40D!(V"1!```(E$)`AFBX*\#@``9H7`=!)J`6H`
-MC40D"%!2Z,UO__^#Q!"#Q!##._^-="8`4#/`5XM\)`Q69HM'`H7`#X2;````
-M@_@0#X2:````@_@P#X21````@_A0=`F#^&`/A<\```"*AWT+``"H`P^$FP``
-M`%>+AVP+``#_4"@STH/$!(OP)?__``!FBY>0$```*\)FB40D"&8]H`]V5XJ'
-M?0L``"3\B(=]"P``:``!``!7BX=L"P``_U`<:@`SP&:+AY`0``"!YO__``!0
-M5FH":@!J!5?H1VW__X/$).LP._\SP%Y?@\0$PUZXZ`,``%^#Q`3#D(M$)`AF
-M/;@+=A!FB;>0$```5^C5_?__@\0$BI>/$```BL+^PJ@'B)>/$```=1)H@```
-M`%>+AVP+``#_4!R#Q`A7BX=L"P``_U`0@\0$7E^#Q`3#D#O_@?\`````4XM$
-M)`AFBU`$9O](!&:%TG4*N/____];PX/'`(M4)`B+1"0,BPJ[`0````/9B1J*
-M$8@06S/`PY`[_X'_`````(/L#%:+="049HM&`F8]$`!U"HN&;`L``(7`=1A>
-MN`(```"#Q`S#._^X`0```%Z#Q`S#._^+1"089HL`)?__```]4I0``'7ABT0D
-M&(N6;`L``&:+0`)FBQ(E__\``('B__\``#O"=<&+1"08@\`$B40D!(M$)!AF
-MBT`$9HE$)`B*AGH+```\!'5?BXYH"P``BY9H"P``9HM)#('A__\``(')`(``
-M`&8+CG(+``!FB8YR"P``BU(@B9:L"P``BY9H"P``BU(8B9:P"P``BY9H"P``
-MBU(HB9:D"P``BY9H"P``BU(PZU&#QP"+CF@+``"+EF@+``!FBTD.9@N.<@L`
-M`&:)CG(+``"+4B2)EJP+``"+EF@+``"+4AR)EK`+``"+EF@+``"+4BR)EJ0+
-M``"+EF@+``"+4C2)EJ@+``"-1"0$4&@`````5HN&;`L``/]0&(/$#%Z#Q`S#
-M._^!_P````!0BT0D"%>*$(UX`832=29'BD__A,EU'D>*5_^$TG461XI7_X32
-M=0Y'BD__A,EU!HH'A,!T!S/`7X/$!,-?N`$```"#Q`3#._\[_X'_`````%>+
-M?"0(9HM'`F8]00!V/XM4)`Q25XN';`L``/]0"(M$)!2#Q`B%P'0E5^AQ:___
-MBX]@"P``48N'7`L``/]0/&;'1P0``&;'1P(B`(/$"%_#BU0D!(M$)`B)@I`+
-M``!FBT("9CU!`'(/:D!2BX)L"P``_U`<@\0(PSO_@?\`````BU0D!(M$)`B)
-M@I0+``!FBT("9CU!`'8/:B!2BX)L"P``_U`<@\0(PSO_@?\`````5XM\)`A3
-MBD0D$(J??0L``(B'?0L``&:+1P)F/4$`=D4/OL,STHI4)!`SPJD#````=!)H
-M``$``%>+AVP+``#_4!R#Q`B*1"00J`-T&?;#`W445XN';`L``/]0*&:)AY`0
-M``"#Q`1;7\,[_X'_`````%>+?"0(5F:+1P)F/4$`=BR+1"04A<!U),:'?@L`
-M``%H@````%>+AVP+``#_4!RX`0```(/$"%Y?PX/'`%>-MY00``"+1"04N18`
-M``"+^#/`\Z5?7E_#._\[_X'_`````(M$)`0/OX"\#@``PXUT)@"+3"0$9HM!
-M`F8]4`!S#K@!````P[@"````PSO_#[^1O`X``(M$)`A*9HL`)?__```[PGW@
-M:@"+5"004HM$)!!04>C::O__,\"#Q!##C70F`(M4)`2X(`````^_DK0+```K
-MPL.0@?\`````@?\`````5U:+="0,9HN&M`L``&8](`!\$5ZX`@```%_#D+@$
-M````7E_#9HN&<@L``&:I``%T$8M$)!B+5"04`\(]`````7?:9HM&`F8]00!S
-M"%ZX`0```%_#9HN&F@L``&:I`@!T&S/`BTPD&&:+AI@+```[R'T*7K@#````
-M7\,[_XJ&N`L``+D?````(LB+5"00C0Q)P>$#C;P.O`L``(D7BU0D%(E7!&:+
-M5"089HE7"(M4)!R)5Q1FBT8"9CU0`'(.5U:+AFP+``#_4"2#Q`AF_X:T"P``
-MBI:X"P``_L(SP(B6N`L``%Y?PX/'`#O_@?\`````:@&+5"0(4HN";`L``/]0
-M!(/$",.!_P````"!_P````!05E.+="00BGPD%&:+1@)F/1``=`M;N`$```!>
-M@\0$PV:+AG(+``!FJ0`@=4\SP(K'A<!T)X/X!'0L@_@0=">#^&1U"F:+1@9F
-M/1,`=!BX`@```%M>@\0$PX/'`(J&>0L``*B`=!8SP&:+1@9(@_@2=PK_)(4D
-M!P``@\<`6[@#````7H/$!,.0:@,SP&:+AG`+``"#P`(E__\``%"+AEP+``#_
-M4`0SP&:+AG`+``"#P`,E__\``%"+AEP+``#_4!R(1"07@\0,J`%T";@0````
-MZP<[_[@$````,]**USO"#X2?`0``,\"*1"0+@_`!)?\```!0,\!FBX9P"P``
-M@\`#)?__``!0BX9<"P``_U`$@\0(Z6T!``"0:/<````SP&:+AG`+``"#P!TE
-M__\``%"+AEP+``#_4`0SP&:+AG`+``"#P!\E__\``%"+AEP+``#_4!R#Q`R*
-MV/;#`70'N!````#K!;@$````,]**USO"#X0/`0``,\"*PX/P`27_````4#/`
-M9HN&<`L``(/`'R7__P``4(N&7`L``/]0!(/$".G?````@\<`,\!FBX9P"P``
-M0"7__P``4(N&7`L``/]0'(/$!(K8]L,(=`FX$````.L'._^X!````#/2BM<[
-MP@^$GP```#/`BL.#\`@E_P```%`SP&:+AG`+``!`)?__``!0BX9<"P``_U`$
-M@\0(ZW0SP&:+AG`+``"#P!`E__\``%"+AEP+``#_4!R#Q`2*V/;#@'0'N!``
-M``#K!;@$````,]**USO"=#LSP(K#-8`````E_P```%`SP&:+AG`+``"#P!`E
-M__\``%"+AEP+``#_4`2#Q`CK#(B^G0L``(B^G@L``(#_$'4/9HN6<@L``&:#
-MR@'K#CO_9HN6<@L``&:!XO[_9HF6<@L``%LSP%Z#Q`3#D('_`````('_````
-M`(M4)`2*3"0(9HM"`F8]$`!T#K@!````P[@"````PSO_9HN"<@L``&:I""!U
-M$H#Y#W?FBX)H"P``BT!$A<!U";@#````PX/'`#/`BL%04HN":`L``/]01#/`
-M@\0(PX/'`%:+="0(4XI<)!!FBT8"9CT0`'006[@!````7L.X`P```%M>PV:+
-MAG(+``!FJ0`@=>LSP(K#@_@'?@L]_P````^%ZP$``#/`9HM&!DB#^`MWR_\D
-MA7`'```SP(K#@_@"#X3+`0``@_@$#X2^````/?\````/A+<!``!FBX9R"P``
-M9JD$`'66BX9D"P``/13O_P!WB8J6>0L``(#*`XB6>0L``(#B[XB6>0L``.DW
-M`0``,\"*PX/X!'1#/?\````/A&P!``!FBX9R"P``9JD,``^%1____XN&9`L`
-M`#T4[_\`#X<V____BI9Y"P``@,H#B)9Y"P``Z>T````[_XJ6>0L``(#B_(B6
-M>0L``.G7````,\"*PX/X!'03/?\````/A&+____I!P$``(/'`(J6>0L``(#B
-M_(B6>0L``(#*$(B6>0L``.F>````@\<`,\"*PX/X!'0G/?\````/A=````"*
-MEGD+``"`R@*(EGD+``"`XN^(EGD+``#K;3O_BI9Y"P``@.+]B)9Y"P``@,H0
-MB)9Y"P``ZU$[_X#[!'1*Z8X````[_S/`BL.#^`1T*SW_````=7QFBX9R"P``
-M9JD`$`^%5_[__XJ6>0L``(#*`HB6>0L``.L1._^*EGD+``"`XOV(EGD+``"+
-MAF@+``"+0$B%P'02,\"*PU!6BX9H"P``_U!(@\0(BT0D%(B>>@L``(J6>0L`
-M`(@0BH9Y"P``J`%T%F:+EG(+``!F@<H``>L46[@"````7L-FBY9R"P``9H'B
-M__YFB99R"P``6S/`7L-0N/\#``!75E.+7"04BW0D&&8CQB7__P``/4`"```/
-MA/,````]@`(```^$Z````#W``@``#X3=````/0`#```/A-(````](`,```^$
-MQP```#U``P``#X2\````/6`#```/A+$```"+QB7__P``4/]3'(/$!"7B````
-M@_@B#X65````B\8E__\``(/``R7__P``4/]3'(/$!"7`````@_A`=76+QB7_
-M_P``@\`$)?__``!0_U,<@\0$J2````!U6(O&)?__``"#P`DE__\``%#_4QS!
-MX`B+^(O&)?__``"#P`@E__\``%#_4QR#Q`@+QV:%P'0C9JD!`'4=@>;__P``
-M@\8,@>;__P``5O]3'(/$!*D(````=`DSP%M>7X/$!,-;7E^X`0```(/$!,.-
-M="8`@^P05U9358U$)!^+;"0DB40D%&CX#```_U4<,_^#Q`2*V(UU'&IA_Q9H
-M^`P``/\6,]*#Q`B*TSO0=`F_`0```.L0._]'@_\R?-N+1"04,_^(&(7_#X7)
-M````BD0D'Z@!#X6]````C40D'XE$)!1H^@P``/]5'#/_@\0$BMB-=1QJ8?\6
-M:/H,``#_%C/2@\0(BM,[T'0*OP$```#K$8/'`$>#_S)\VHM$)!0S_X@8A?]U
-M<6CX#```_U4<B$0D(X/$!"7_````J?````!T$X/@#H/X"+@`````#Y3`ZP6#
-MQP`SP(7`=3UJ#FCX#```_U4$:F'_51QH^`P``/]5'(/$$(/X#G4>:@!H^`P`
-M`/]5!&IA_U4<:/@,``#_51R#Q!"%P'0-,\!=6UY?@\00PX/'`%U;7K@!````
-M7X/$$,.#QP"#[`Q6BW0D%%-6Z`$&``"#Q`2%P'4C5NBD_O__@\0$A<!T";H"
-M````ZQ@[_U;H7@8``(/$!(7`=`>Z`0```.L",]*%TG1"@_H!=$&#^@)U+FH0
-M:/@,``#_5@2+5"0LBTPD*%)1BT0D+%!6Z.$#``!J`(O8:/@,``#_5@2#Q""+
-MPUM>@\0,PSO_,]OK\HM4)"2+3"0@4E&+1"0D4%;HCP(``(O8@\00Z]8[_X'_
-M`````%>+1"0(5HMT)!2+$(M\)!"!^B"!``!T$%ZX`P```%_#N`$```!>7\,S
-MP(I&"%`SP&:+1@)0,\!FBP90Z/#J__^#Q`R+R(7)=->*1@Z$P'709HM&!&:I
-M`0!TQF:+%HM$)`QFB5<$9HM6`F:)5P:*5CR(5R"+5C"#XOR)5RB*5@R(5RUF
-MBU8$9HE7+HI1"(@75U90_U$4@\0,7E_#D(UT)@"#[`Q3BT0D%(L0@?H@@0``
-M=!);N/____^#Q`S#,\!;@\0,PY"+1"0<P>`,B]@E__\```6`#```)?__``!0
-MBT0D&/]0)%#H%NK__XE$)`R#Q`B%P'3',\!FB\,%A`P``"7__P``4(M$)!C_
-M4!R#Q`2I`0```'2FBTPD&(M$)!Q14(M4)!R+1"0,4O]03(/$#%N#Q`S#@?\`
-M````@?\`````@^P,5XM\)!13BQ>!^B"!``!T%5NX_____U^#Q`S#._\SP%M?
-M@\0,PXM$)""#P`<E_P```%!HE@```/]7!&@!`0``_U<<P>`(:``!``"+V/]7
-M'&H`"\.+V&B6````_U<$@>/__P``4^A4Z?__B40D*(/$'(7`=*F+3"0<BT0D
-M(%%05XM$)!C_4$R#Q`Q;7X/$#,,[_X'_`````('_`````%=64XMT)!0SP(M<
-M)"2*1@A0,\!FBT8"4#/`9HL&4.@MZ?__@\0,B_B%_W0*BT0D((L7A=!U"K@!
-M````6UY?PY!FBQ:+3"009HE3!&:+5@)FB5,&9@^V5"089HE3#&8/ME0D'&:)
-M4PZ*5CR(4R"+5C"#XOR)4RB*5@R(4RUFBU8$9HE3+HI7"(@34U91_U<4@\0,
-M6UY?PSO_._^!_P````"#[%@SR5=64U6+1"1PBW0D=(E$)&"+1"1LB4PD9('F
-MP(\``(E,)%B-6`R->"2+1"18P>`+#0```(!0B40D8&CX#```_Q,S[8/$"(ET
-M)!"+="1<C44`"\90:/@,``#_$VC\#```_Q>)1"P@@\0,@\4$@_U`?-V+5"1@
-MBW0D$%)6BT0D8(M,)'2#X!]0BT0D9,'X!27_````4(U$)"104>B]_O__@\08
-MA<!T-8/X`G5+BT0D7(/(!%!H^`P``/\3BT0D("7__P``@\@$)?\```!0BT0D
-M>&C\#```_U`$@\00_T0D9(M$)'B+5"1D.]!]'XM,)&"#P32)3"1@BT0D6$")
-M1"18/0`"```/C!____]=6UZ+1"187X/$6,,[_XUT)@"#[&`SR5=64U6+1"1X
-MB4PD:(E$)&"+1"1TB4PD9(UP!(UX((M$)&0E_P```%!H^@P``/\6QT0D9```
-M``"#Q`B+1"1<P>`(#0#```"+Z"7__P``4/\7@\0$/8T0```/A<H```")?"00
-MBT0D=(ET)!0S]HU8)+\0````B\6-%+4`````)?__```+PB7__P``4/\3B42T
-M'(/$!$8[]WS<B\Z+="04BU0D8('A_P```%*+A"2`````)<"/``"+?"044(M$
-M)&11BXPD@````"7_````4(U$)"A04>AD_?__@\08A<!T+(/X`G5%BT0D'('E
-M__\``"7__P``@\T$@\@$@>7__P``)?\```!05?\6@\0(_T0D:(N$)(````"+
-M5"1H.]!],HM,)&"#P32)3"1@BT0D7$")1"1<@_@0#XP`____BU0D9$*)5"1D
-M@?H``0``#XS/_O__75M>BT0D7%^#Q&##5U9356:+;"08BW0D%(O%)?__``!0
-M_U8<,_^#QAR*V(/$!&IA_Q:+Q27__P``4/\6,]*#Q`B*TSO0=`VX`0```%U;
-M7E_#@\<`1X/_,GS4BT0D'(@875M>,\!?PY"-="8`5XM\)`AH^`P``/]7)(/$
-M!*D```!_=4AH````@&CX#```_U<,:F'_5QQH^`P``/]7)(/$$#T```"`=21H
-MIP,`@&CX#```_U<,:F'_5QQH^`P``/]7)(/$$#VD`P"`=`4SP%_#D&H`:/@,
-M``#_5PR#Q`BX`0```%_#._^!_P````!7BWPD"&CX#```_U<D@\0$J0```']U
-M2&@```"`:/@,``#_5PQJ8?]7'&CX#```_U<D@\00/0```(!U)&BD`P"`:/@,
-M``#_5PQJ8?]7'&CX#```_U<D@\00/:0#`(!T!3/`7\.0:@!H^`P``/]7#(/$
-M"+@!````7\,[_X'_`````(M4)`12Z/;^__^#Q`2%P'47BTPD!%'HE??__X/$
-M!(7`=`ZX`@```,.X`0```,,[_XM$)`10Z$;___^#Q`2%P'7G,\##@?\`````
-M@?\`````BTPD!&:+00)F/1``=`ZX`0```,.X`P```,,[_V:+009F/0T`<NZ+
-M5"0(,\")D1`+``"+5"0,B9$4"P``BU0D$(F1&`L``,.058OL5E>+=0B+?0R+
-M31#SI%]>7<-`*",I=')L;&0N8R`D4F5V:7-I;VXZ("`@,2XP("`D`$]L:6-O
-M;2!44DQ,1"`Q+C(N,"`*)`I0"E0*,`I`"F`*<`H)`PH+0`*``L`"``,@`T`#
-M8`,"````````````````````````````````````````````````````````
-M``````````````````````#\%P``:1@``&D8``!I&```8!@``&D8``!(&```
-M:1@``#P8``!I&```:1@``&D8```(&```Z%X```!@``#H8@``H&,``$Y?```(
-M9```3E\```,`````````````````````````````````````````````````
-M`````````````````````````$#_______\`````!```````````````````
-M````````````````````````````````````````````````````````!!``
-M9`````D#"@L%!@<$`0`````````!````$D`0``P`#```````````````````
-M````````````````````````````````````````````````````````````
-M```)"@L,#P,%!P4&!P`!`P0$"`@`!0@&"`<(``$"`P@(!`,$!P4&``$"`@``
-M`$:2```"````$D`0``P`#```````````````````````````````````````
-M```````````````````````````````````````````$````-I0```,````"
-M````````````````````````````````````````````````````````````
-M``````````````````````````````@```"$"@``!`````)`````````````
-M````````````````````````````````````````````````````````````
-M````````````````"````(4*```%`````D``````````````````````````
-M````````````````````````````````````````````````````````````
-M```(````A@H```8````"0```````````````````````````````````````
-M`````````````````````````````````````````````````!`````]@PD!
-M!P```!)`$``,``P`````````````````````````````````````````````
-M````````````````````````````````````$````#V#"0((````$D`0``P`
-M#```````````````````````````````````````````````````````````
-M``````````````````````!`````C1`!``H``0`(#```````````````````
-M````````````````````````````````````````````````````````````
-M`````````$````"-$`$`"P`"`P@,*(3^__[_````````````````````````
-M````````````````````````````````````````````````````````@```
-M`(T0`0`,``,`"`P(!/[_````````````````````````````````````````
-M`````````````````````````````````````````````0``C1`$``T``@``
-M``@`````````````````````````````````````````````````````````
-M```````````````````````````````"``"-$`0`#@`#````"```````````
-M````````````````````````````````````````````````````````````
-M``````````````````0``(T0!P`/``$!```(````````````````````````
-M````````````````````````````````````````````````````````````
-M````@```C1`%`!(``@````@`````````````````````````````````````
-M```````````````````````````````````````````````````(``"-$`@`
-M$P`!`@``"```````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M```````00,`````@`(```````,)P]/0#`#B$`0`*0`,`````````!L`!``$`
-M!L`"@```#,`+$`!:>&M1````$D`,`#(P,C`R,#DV6#4W-@``7/\``&C_``#X
-M_P``B``!`(@``0"(``$`B``!`(@``0!<_P``\``!`/```0#P``$`6`$!`%@!
-M`0!8`0$`7/\``%S_``!8`0$`6`$!`!P"`0!8`@$`L`(!`!`#`0!,`P$`3`,!
-M`$P#`0!,`P$`'`(!`)@#`0"D`P$`I`,!``0````,`````0```%-#3P`!``$`
-M`0````@``0(``````````````````````0``````````````!`#Q_P``````
-M``````````,``0`````````````````#``(``````````````````P`#````
-M``````````````,`!``````````````````#``4``````````````````P`&
-M``````````````````,`!P`````````````````#``@`````````````````
-M`P`)``````````````````,`"@`,```````````````$`/'_%````-`-`0!$
-M`````@`!`",```!P#`$`7`````(``0`O````4`D!`)@````"``$`-@```/`)
-M`0`<`0```@`!`$`````0"P$`8`$```(``0!*````4`T!`'@````"``$`60``
-M`-`,`0!X`````@`!`&4```"`!0$`0`$```(``0!Q````X/D``#@````"``$`
-M>0```'#W``!,`0```@`!`(8```"@\@``9`````(``0"0````</(``#`````"
-M``$`F0```##R```\`````@`!`*0```"P[```6`$```(``0"U`````.<``#0!
-M```"``$`Q@```.#6``#H`````@`!`-T```#PU0``Y`````(``0#S````0,<`
-M``P(```"``$`_P```&#$``#8`@```@`!``H!``"PPP``K`````(``0`@`0``
-M`,,``*0````"``$`-0$``""Z```8`````@`!`#\!``#0N0``'`````(``0!)
-M`0``L+D``!P````"``$`4@$``%`$`0`L`0```@`!`&`!``"`^P``2`````(`
-M`0!G`0``<+,``)0````"``$`<P$``/"O``#<`````@`!`'\!``"PKP``0```
-M``(``0"*`0``<*\``$`````"``$`E@$``#"O``!``````@`!`*`!``"PK@``
-M@`````(``0"M`0``X*P``-0````"``$`N0$``-"J```(`@```@`!`,<!````
-MJ@``R`````(``0#3`0``(*D``-0````"``$`X`$``""G``#X`0```@`!`.T!
-M``#`K0``\`````(``0#Y`0``D*(``(0$```"``$`!`(``/"Y```H`````@`!
-M``P"``"@H0``\`````(``0`6`@``V`8``$L````!``(`)P(``)0&``!$````
-M`0`"`#,"``"`U0``<`````(``0!(`@``T+```*`"```"``$`6@(``$0&``!0
-M`````0`"`&8"``#T!0``4`````$``@!R`@``I`4``%`````!``(`?@(``%0%
-M``!0`````0`"`(H"``#PP@``$`````(``0">`@``@+D``"P````"``$`J0(`
-M`/#```#X`0```@`!`+H"```$!0``4`````$``@#&`@``X/$``$@````"``$`
-MT@(``)#Q``!(`````@`!`-X"``"T!```4`````$``@#H`@``$/$``"@````"
-M``$`\P(``.#P```D`````@`!`/\"``"`\```8`````(``0`+`P``9`0``%``
-M```!``(`%0,``$#Q``!$`````@`!`"8#````\```@`````(``0`R`P``%`0`
-M`%`````!``(`/`,``,0#``!0`````0`"`$<#```0[@``L`````(``0!4`P``
-MH.\``%0````"``$`80,``,#N``#4`````@`!`&H#``!T`P``4`````$``@!U
-M`P``T.D``&0````"``$`A`,``"0#``!0`````0`"`(X#``!PZ0``6`````(`
-M`0"=`P``U`(``%`````!``(`IP,``$#H```D`0```@`!`+8#``!`[```;```
-M``(``0#"`P``0.H``/P!```"``$`RP,``(0"``!0`````0`"`-4#``!0Y@``
-ML`````(``0#@`P```.8``$P````"``$`\0,``%#A``#D`````@`!```$``!0
-MY0``L`````(``0`1!```X-T``"0````"``$`'P0``(#=``!@`````@`!`"X$
-M```0W@``.`,```(``0`_!```0.(```P#```"``$`2`0``#0"``!0`````0`"
-M`%($``#0W```I`````(``0!=!```$-P``,`````"``$`;@0``*#;``!D````
-M`@`!`'T$``!0VP``2`````(``0".!```,-D``!0"```"``$`EP0``.0!``!0
-M`````0`"`*$$``#<`0``"`````$``@"M!```S`$``!`````!``(`N00``,0!
-M```(`````0`"`,$$``"\`0``"`````$``@#.!```T-<``&`!```"``$`UP0`
-M`&P!``!0`````0`"`.$$``!H`0``!`````$``@#H!```9`$```0````!``(`
-M]`0``%P!```(`````0`"`/T$``!0SP``+`````(``0`0!0```-4``(`````"
-M``$`)P4``(#/```$!````@`!`#<%``"0TP``:`$```(``0!,!0``)`$``#@`
-M```!``(`7@4``!@!```*`````0`"`'$%``!`N@``8`(```(``0"#!0``@,``
-M`'`````"``$`F04``*"\``#@`@```@`!`*@%``"`OP````$```(``0"\!0``
-MX````#@````!``(`S04``'"A```H`````@`!`-D%```@H0``2`````(``0#E
-M!0``<)\``+`!```"``$`]@4``/"<``!X`@```@`!``@&``!0FP``E`$```(`
-M`0`>!@``T)<``'@#```"``$`-`8``""7``!0`````@`!`$@&``"`D```8`4`
-M``(``0!=!@``P(\``,`````"``$`;P8``*"/```@`````@`!`(4&``!@CP``
-M0`````(``0"9!@``,(\``"@````"``$`K`8``(".```H`````@`!`,4&```P
-MC```*`````(``0#5!@```(P``"@````"``$`X@8``-"$``"(`P```@`!`/0&
-M``"0A```/`````(``0#\!@```(0``(P````"``$`!@<``-"#```H`````@`!
-M`!0'```0@P``N`````(``0`D!P``X((``"@````"``$`+@<``#!^``"H!```
-M`@`!`#<'``!@?```R`$```(``0!%!P``T'H``(P!```"``$`50<``%!V``!T
-M!````@`!`%T'```P=@``&`````(``0!E!P``T'4``%@````"``$`;0<``(!U
-M``!0`````@`!`','``#P=```D`````(``0![!P``X',``#@````"``$`AP<`
-M`,!S```@`````@`!`)`'``!P<P``1`````(``0"=!P``$',``%P````"``$`
-MJ`<``(!P``"8`````@`!`+$'``!P;P``0`````(``0"W!P```&\``"P````"
-M``$`P`<``.!N```<`````@`!`,P'````;0``X`$```(``0#C!P``0&P``+P`
-M```"``$`]`<``(!K``"T`````@`!``0(``#P:@``C`````(``0`-"````&H`
-M`.0````"``$`&`@`````````!````0`#`"$(``#@:```'`$```(``0`I"```
-M@&@``%@````"``$`-P@```"-``!X`0```@`!`$8(```@9```3`$```(``0!4
-M"```8(@``"`!```"``$`:@@``."5```X`0```@`!`'X(``!PEP``5`````(`
-M`0"-"````%X``!0&```"``$`G0@``)!=``!H`````@`!`*H(``"06`````4`
-M``(``0"V"```P%<``-`````"``$`QP@``+".``"``````@`!`-4(``"PC```
-M3`````(``0#E"```8(P``$P````"``$`^@@``+"*``!0`0```@`!``8)``"`
-MB0``*`$```(``0`2"0``L%0``!`#```"``$`)@D``)!0```4!````@`!`#8)
-M``!`3P``1`$```(``0!$"0``,$X``!`!```"``$`40D``*!,``"0`0```@`!
-M`%\)````3```E`````(``0!M"0``X&\``)0````"``$`=0D``"!+``#@````
-M`@`!`'T)``"`2@``E`````(``0"'"0``L$@``-`!```"``$`E`D``&!&``!,
-M`@```@`!`)P)``!010``$`$```(``0"E"0```$4``$P````"``$`K0D``*!"
-M``!@`@```@`!`+0)``#`/@``V`,```(``0#!"0``<&<``!`!```"``$`SPD`
-M`+`T```<`@```@`!`-P)```P,P``@`$```(``0#I"0``8#```$0"```"``$`
-M]@D``(`F``"(!@```@`!``@*``#0%0````,```(``0`5"@``<&4``#P!```"
-M``$`(@H````5``#$`````@`!`"T*``!0#```L`@```(``0`W"@``L`H``*`!
-M```"``$`1`H``+!F``"X`````@`!`$\*``#P"0``N`````(``0!@"@``('(`
-M`.P````"``$`<`H``+!O```L`````@`!`'@*``"`!P``<`(```(``0"""@``
-MX`(``)0$```"``$`D0H``#!O```\`````@`!`)8*````````V`(```(``0"?
-M"@``C`````$````!``(`J`H``!`M``!$`P```@`!`+@*``"`(P``^`(```(`
-M`0#("@``\!X``)`$```"``$`V0H``+`R``!T`````@`!`.D*``#0&```(`8`
-M``(``0#Y"@``('0``+`````"``$`!`L``-`V``#L!P```@`!``P+````<@``
-M'`````(``0`6"P``T'0``"`````"``$`(PL``"!Q``#@`````@`!`"P+``!4
-M````.`````$``@!#"P``1@````X````!``(`40L``$(````$`````0`"`%H+
-M```Z````"`````$``@!F"P``,@````@````!``(`;PL``"`````2`````0`"
-M`'<+````````(`````$``@!["P``8+8``%0"```2``$`A0L``$#W```D````
-M$@`!`)\+``!0_0``#````!(``0"Q"P``L/T``!0````2``$`P@L``%#V```\
-M````$@`!`,X+``#0^P``4````!(``0#9"P``\/P``%@````2``$`[`L``,`&
-M`0"H````$@`!`/D+``!0_```*````!(``0`3#```$+0``%`"```2``$`'0P`
-M`-#]``#H````$@`!`#(,``#`_@``%````!(``0!!#```(/P``"@````2``$`
-M5@P``+`(`0"4````$@`!`&D,``#`^```&`$``!(``0!S#```(`X!`$@````2
-M``$`@@P``&@.`0``````$``!`(P,````]P``-````!(``0"E#```X/X``+0"
-M```2``$`LPP``!`(`0"4````$@`!`,<,```@\P``V`(``!(``0#8#```<`<!
-M`)P````2``$`YPP``!#S```(````$@`!`/@,```@^@``6`$``!(``0`&#0``
-M@/P``&@````2``$`'@T``&#]``!,````$@`!`#$-``"@`0$`8````!(``0!#
-M#0``D/8``"P````2``$`60T``,"X``"T````$@`!`&X-````]@``4````!(`
-M`0![#0````(!`%`"```2``$`APT``,#V``!`````$@`!``!T<FQL9&5L9BYO
-M`'1R;&QD+F,`4$-)0DE/4U!R97-E;G0`4$-)0VAE8VM296<`06-C97!T`%!#
-M23%3=V5E<`!00TDR4W=E97``3VQD4$-),5!R97-E;G0`4$-),5!R97-E;G0`
-M4$-),E!R97-E;G0`1V5T0V]D90!396YD5%101G)A;64`4$-)3&]O:W5P`$QO
-M;VMU<$E$`$QO;VMU<%1Y<&4`0V]N9C,Q,S-3;&]T0F%S90!#;VYF,S$R.5-L
-M;W1"87-E`$)U;&QS97EE5W)I=&524$Q%15!R;VT`0G5L;'-E>65296%D4E!,
-M1450<F]M`$1R86EN4EA&:69O`&1R86EN7W1X<G@`2&%W:V5Y95=R:71E4E!,
-M1450<F]M`$AA=VME>65296%D4E!,1450<F]M`$5%35-$96QA>0!%15!O<G1/
-M=70`1450;W)T26X`3D4R,#`P4')E<V5N=`!Z97)O97,`07-I8T5%4F5A9$(`
-M07-I8T5%5W)I=&4`1457<FET94)I=`!%14-L;V-K1&]W;@!%14-L;V-K57``
-M145#;&]C:U!U;'-E`$5%5W)I=&53=&]P`$5%5W)I=&5286YD;VT`07-I8T5%
-M4F5A9%<`1457<FET95-T87)T`$5%1'5M;7E7<FET90!%15=R:71E0GET90!%
-M15)E861">71E`$5%1&5L87D`145296%D0FET`%12;&QD5%105&5M<&QA=&4`
-M061A<'1E<DQI<W0`0G5L;'-E>65(5T-O;F9I9TEN:70`0G5L;'-E>6500TE#
-M;VYF:6<`3T,S-30P5&%B;&4`3T,S,C4P5&%B;&4`3T,S,30Q5&%B;&4`3T,S
-M,30P5&%B;&4`2&%W:V5Y94A70V]N9FEG26YI=`!%;F%B;&500TDT`$AA=VME
-M>6500TE#;VYF:6<`3T,S,3,Y5&%B;&4`1&ES86)L95!#23,`4')E<V5N=%!#
-M23,`4$-),U1A8FQE`$5N86)L95!#23(`1&ES86)L95!#23(`4')E<V5N=%!#
-M23(`4$-),E1A8FQE`%!#23%(5T-O;F9I9TEN:70`1&ES86)L95!#23$`4$-)
-M,51A8FQE`$5)4T$R5&%B;&4`0V]N9C,Q,S-3;&]T`$5)4T%/<&5N26YI=`!#
-M;VYF,S$S,P!%25-!,51A8FQE`$U#03-3;&]T0V]N9FEG`$U#03-486)L90!-
-M0T$R4VQO=$-O;F9I9P!-0T$R5&%B;&4`34-!,5-L;W1#;VYF:6<`34-!3W!E
-M;DEN:70`0V]N9C,Q,CD`34-!,51A8FQE`$E303-3971$34$`25-!,U-E=$EN
-M=&5R<G5P=`!)4T$S2%=/<&5N26YI=`!)4T$S2%=#;VYF:6=);FET`$5N86)L
-M93,Q,3A024\`1&ES86)L93,Q,3A024\`25-!,U!)3TEN=&5R<G5P=`!#;VYF
-M,S$Q.`!)4T$S5&%B;&4`25-!,E-E=$1-00!)4T$R4V5T26YT97)R=7!T`$E3
-M03)(5T]P96Y);FET`$E303)(5T-O;F9I9TEN:70`0V]N9C,Q,3<`25-!,E1A
-M8FQE`$E303)$34%":71S`$E303));G1":71S`$E303)$34$`25-!,DEN=$QE
-M=F5L`$-O;F8S,3$U`$E303%486)L90!)4T%$34$`25-!26YT3&5V96P`145?
-M4U!%140`0G5L;'-E>65"87-I8U)E<V5T`$)U;&QS97EE0V]N;F5C=$]P=&EO
-M;G,`0G5L;'-E>65297-T87)T`$)U;&QS97EE0V]D941O=VYL;V%D`$)U;&QS
-M97EE26YT97)F86-E`%181')A:6Y&<F%M94AE861E<@!(87=K97EE0F%S:6-2
-M97-E=`!(87=K97EE0V]N;F5C=$]P=&EO;G,`2&%W:V5Y95)E<W1A<G0`2&%W
-M:V5Y94-O9&5$;W=N;&]A9`!(87=K97EE26YT97)F86-E`$1I<V%B;&500TDT
-M`%!R97-E;G100TDT`$AA=VME>65);G1E<G)U<'0`5')A;G-M:71);G1E<G)U
-M<'0`4W!I;C-296-E:79E26YT97)R=7!T`%-P:6XR4F5C96EV94EN=&5R<G5P
-M=`!(87=K97EE4F5A9$U!0U1I;65R`$AA=VME>653971U<%1R86YS;6ET`%-E
-M;F10;VQL26UM961I871E`$AA=VME>65#;&]S94-O;7!L971E9`!(87=K97EE
-M4V5T=7!#;VUM86YD`$AA=VME>65.;T]P97)A=&EO;@!(87=K97EE4F5A9$5R
-M<F]R0V]U;G1E<G,`2&%W:V5Y94U!0U)E<V5T`$AA=VME>65#;&]S90!(87=K
-M97EE2%=/<&5N26YI=`!'971,;VYG`$%S:6-#:&5C:P!00TE(5T]P96Y);FET
-M`%!#25!)3TEN=&5R<G5P=`!%;F%B;&500TD`1&]00TE024\`4$-)4$E/4')E
-M<V5N=`!00TE(5T-O;F9I9TEN:70`061P5'EP90!%14=E=$1/`$5%0VQE87(`
-M1453970`0VAE8VM)9`!'971435-3:&]R=`!30T)#;&5A<@!3=&%R=$-O;6UA
-M;F0`5$U30V]M;6%N9`!T;7-?;W5T,@!D;W5T,@!T;7-S:&]R=`!3=&]R95IE
-M<F]E<P!2971U<FY#;VUP;&5T961"=69F97)S`%!R;VUI<V-U;W5S0VAE8VL`
-M5')A8V54;V]L4F5M;W9E`$-20T-H96-K`$-O;7!U=&5#4D,`0U)#5&%B;&4`
-M0U)#26YI=`!3971U<%1R86YS;6ET`%5P9&%T94-O=6YT97)S`$5X96-);G1E
-M<G)U<'0`2&%W:V5Y95)E861087)A;65T97)S`$AA=VME>653971U<%)E8V5I
-M=F4`2&%W:V5Y94U!0TEN:70`4W1A='5S26YT97)R=7!T`$AA=VME>65297-E
-M=`!(87=K97EE4&]L;`!(87=K97EE57-E<D-L;W-E`$AA=VME>65296]P96X`
-M2&%W:V5Y95-E=$=R;W5P`$AA=VME>653971&=6YC=&EO;F%L`$AA=VME>65/
-M<&5N`$EN:71#;VUM86YD`$AA=VME>653=&%R=$-O;6UA;F0`3VQD4$E/26YT
-M97)R=7!T`%!R97-E;G1/;&1024\`16YA8FQE36%S=&5R`$1I<V%B;&5-87-T
-M97(`4')E<V5N=$UA<W1E<@!T;7-?:6XR`%=A:71024\`4F5A9$5%0DE!`%1-
-M4U!#24-O;F9I9P!296%D0DE!`$-H96-K0DE!`$5%4&%U<V4`145296%D`$5%
-M3W5T3F]R;4-M9`!2971U<FY"=69F97)S`%)E;W!E;E!H87-E,@!296]P96Y0
-M:&%S934`4F5O<&5N4&AA<V4V`%1R86YS9F5R26YI=$)L;V-K`%1-4TEN=&5R
-M<G5P=`!297-E=$)U9F9E<G,`4FEN9U-T871U<P!4>%)X4W=E97``061A<'1E
-M<D-H96-K`%-E;F13=&%T=7,`0V]M;6%N9$-O;7!L971E9`!297-P;VYD17)R
-M;W)L;V<`=&US;&]N9P!$;T-O;6UA;F0`4F5A9%!A<F%M971E<G,`9&EN,@!4
-M35-#:&5C:P!%141)0V]P>0!435-296%D34%#5&EM97(`5$U34V5T=7!296-E
-M:79E`%1-4U-E='5P5')A;G-M:70`5$U34V5T=7!#;VUM86YD`%1-4T-O9&5$
-M;W=N;&]A9`!435--04-);FET`%1-4U!O;&P`5$U37T-H96-K`%1-4U5S97)#
-M;&]S90!435-297-E=`!0;W=E<DU!0TA?5$U326YT97)F86-E`$Y%,C`P,%!O
-M<G1486(`26YT3&5V96P`:7AT;W1M<V)A<V4`:7AT;V)A<V4`5%)L;&1)1`!?
-M5E\`5%)L;&1&:6YD`%12;&QD26YT97)R=7!T4&]S=%-E<G9I8V4`5%)L;&14
-M<F%N<VUI=$9R964`5%)L;&1296-E:79E1G)E90!44FQL9$5N86)L90!44FQL
-M9$-L;W-E`%12;&QD1V5T4W1A=&ES=&EC<P!44FQL9$9I;F100TD`5%)L;&13
-M971&=6YC=&EO;F%L061D<F5S<P!44FQL9$]P96X`5%)L;&1296-E:79E1G)A
-M9VUE;G0`5%)L;&1%;65R9V5N8WD`5%)L;&13971'<F]U<$%D9')E<W,`5%)L
-M;&1-0T%3;&]T0V]N9FEG`%12;&QD4&]L;`!44FQL9$%D9$UE;6]R>0!44FQL
-M9$-O<'D`5%)L;&1);G1E<G)U<'10<F5397)V:6-E`%12;&QD4V5T4W!E960`
-M5%)L;&1%25-!4VQO=$-O;F9I9P!44FQL9$%D87!T97));FET`%12;&QD4$-)
-M0V]N9FEG`%12;&QD061A<'1E<E-I>F4`5%)L;&1$;W=N;&]A9`!44FQL9%-E
-M=%!R;VUI<V-U;W5S36]D90!44FQL9%1R86YS;6ET1G)A;64`5%)L;&13971)
-M;G1E<G)U<'0`5%)L;&1);G1E<G)U<'10<F5S96YT`%12;&QD24]!9&1R97-S
-M0V]N9FEG`%12;&QD1&ES86)L90!44FQL9%-E=$1-00!44FQL9$EN=&5R<G5P
-M=%-E<G9I8V4``"YT97AT`"YD871A`"YB<W,`+FYO=&4`+G-Y;71A8@`N<W1R
-M=&%B`"YS:'-T<G1A8@`N<F5L+G1E>'0`+G)E;"YD871A`"YC;VUM96YT`'L(
-M```!T@``.PH```'4``#V%P```0,``#@F```!U```@S````'4``!B,0```=0`
-M`&0R```!U```[#(```'4``![-````<D``*`U```!Z```J#4```'H``"Q-0``
-M`>@``+LU```!Z```Q34```'H``#/-0```>@``#<V```!R```UCH```''``#C
-M/@```=@```L_```!V```(S\```'8``!+/P```=@``&,_```!V```BS\```'8
-M``"C/P```=@``,L_```!V```&T````'8``!!0````=@``)%````!V```MT``
-M``'8```U00```=@``%9!```!V```?D$```'8``"600```=@``+Y!```!V```
-M#D(```'8```T0@```=@``-E"```!V```,D,```'8``!:0P```=@``*I#```!
-MV```T$,```'8``!X1````=@``*!$```!V```N$0```'8``#F1````=@``.)>
-M```!`P``XF@```&F``!":0```:8``%!I```!I@``86D```&F``!N:0```:8`
-M`(5I```!I@``C6D```&F``"6:0```:8``)QI```!I@``I6D```&F``"S:0``
-M`:8``,9I```!I@``U&D```&F```Y:@```:8``&=J```!I@``>6H```&F``"+
-M:@```:8``)UJ```!I@``R6H```&F``"`<P```=0``)EU```!V```R'4```'8
-M``#I=0```=@``"!V```!V```Q8L```'H``#&F````OH``"29```"^@``:)D`
-M``+Z``".F0```OH```RS```!<```\;8```$W``"WMP```><``"JX```!-P``
-M+;D```$W``#-R@```78``&;8```!;P``#MD```%N``!NV@```6L``.+:```!
-M:@``9MP```%K``!^W````6D``"3=```!:@``,]T```%H``#.YP```>4``/[H
-M```!YP``(.D```'G``"NZ0```><```[J```!YP``8^L```'G``"/ZP```><`
-M`&7M```!YP``C.T```'E``"C[@```><``%#O```!YP``//(```$W``![\@``
-M`3<``+_R```!-P``>_<```$V``!B^P```14``%7_```!`P``5`(!``$#``!8
-M`````>(``%P````!X0``8`````'@``!D`````=\``&@````!W@``;`````'=
-M``!P`````=P``'0````!VP``>`````':``!\`````=D``)`````!`@``E```
-M``$"``"8`````0(``)P````!`@``H`````$"``"D`````0(``*@````!`@``
-MK`````$"``"P`````0(``+0````!`@``N`````$"``"\`````0(``,`````!
-M`@``Q`````$"``#(`````0(``,P````!`@``T`````$"``#4`````0(``-@`
-M```!`@``W`````$"``#D`````:\``.@````!L0``[`````&-``#P`````;``
-M`/0````!K0``^`````%Z``#\`````88````!```!@P``!`$```&L```(`0``
-M`8(```P!```!>0``$`$```%X```4`0```7<``"@!```!KP``+`$```&Q```P
-M`0```8T``#0!```!L```.`$```&M```\`0```70``$`!```!A@``1`$```&#
-M``!(`0```:P``$P!```!@@``4`$```%S``!4`0```7(``%@!```!<0``@`$`
-M``%L``"$`0```;@``(@!```!RP``C`$```&Y``"0`0```;P``)@!```!NP``
-MH`$```&Z``"L`0```>,``/@!```!9@``_`$```&X`````@```<L```0"```!
-MN0``"`(```&\```0`@```;L``!@"```!N@``'`(```%E```@`@```60``"0"
-M```!XP``*`(```%C```L`@```6(``$@"```!8```3`(```%?``!0`@```<L`
-M`%0"```!N0``6`(```&\``!<`@```5X``&`"```!NP``9`(```%=``!H`@``
-M`;H``&P"```!7```<`(```%;``!T`@```>,``'@"```!6@``?`(```%9``"8
-M`@```5<``)P"```!N```H`(```'+``"D`@```;D``*@"```!O```L`(```&[
-M``"X`@```;H``,`"```!5@``Q`(```'C``#0`@```54``.@"```!5P``[`(`
-M``&X``#P`@```<L``/0"```!N0``^`(```&\`````P```;L```@#```!N@``
-M$`,```%6```4`P```>,``"`#```!4P``.`,```%7```\`P```;@``$`#```!
-MRP``1`,```&Y``!(`P```;P``%`#```!NP``6`,```&Z``!@`P```58``&0#
-M```!XP``<`,```%1``"(`P```4\``(P#```!N```D`,```'+``"4`P```;D`
-M`)@#```!O```H`,```&[``"H`P```;H``+`#```!3@``M`,```'C``#``P``
-M`4T``-@#```!3P``W`,```&X``#@`P```<L``.0#```!N0``Z`,```&\``#P
-M`P```;L``/@#```!N@````0```%.```$!````>,``!`$```!30``*`0```'`
-M```L!````8\``#0$```!N0``/`0```%*``!$!````9```$P$```!20``4`0`
-M``&.``!4!````>,``'@$```!P```?`0```&/``"`!````8\``(0$```!1P``
-MB`0```%'``",!````48``)`$```!1@``E`0```%%``"8!````44``)P$```!
-MDP``H`0```&.``"D!````>,``,@$```!P```S`0```&/``#0!````<L``-0$
-M```!0P``V`0```%#``#<!````4(``.`$```!0@``Y`0```&0``#H!````9``
-M`.P$```!DP``\`0```&.``#T!````>,``!@%```!0```(`4```%^```H!0``
-M`7T``#`%```!?```.`4```$_```\!0```3X``$`%```!BP``1`4```%[``!H
-M!0```4```'`%```!?@``>`4```%]``"`!0```7P``(@%```!/P``C`4```$^
-M``"0!0```8L``)0%```!>P``N`4```%```#`!0```7X``,@%```!?0``T`4`
-M``%\``#8!0```3\``-P%```!/@``X`4```&+``#D!0```7L```@&```!0```
-M$`8```%^```8!@```7T``"`&```!?```*`8```$_```L!@```3X``#`&```!
-MBP``-`8```%[``!8!@```3D``&`&```!?@``:`8```%]``!P!@```7P``'@&
-M```!/P``?`8```$X``"`!@```8L``(0&```!=0``E`8```%M``"8!@```6<`
-M`)P&```!80``H`8```%8``"D!@```50``*@&```!4@``K`8```%0``"P!@``
-M`4P``+0&```!2P``N`8```%(``"\!@```40``,`&```!00``Q`8```$]``#(
-M!@```3P``,P&```!.P``T`8```$Z```D!P```0(``"@'```!`@``+`<```$"
-M```P!P```0(``#0'```!`@``.`<```$"```\!P```0(``$`'```!`@``1`<`
-M``$"``!(!P```0(``$P'```!`@``4`<```$"``!4!P```0(``%@'```!`@``
-M7`<```$"``!@!P```0(``&0'```!`@``:`<```$"``!L!P```0(``'`'```!
-M`@``=`<```$"``!X!P```0(``'P'```!`@``@`<```$"``"$!P```0(``(@'
-M```!`@``C`<```$"``"0!P```0(``)0'```!`@``F`<```$"``"<!P```0(`
-M`'AP9S1P;'5S($`H(RD@<W1D9&5F+F@@,C`N,2`Y-"\Q,B\P-"``86-O;7`Z
-M(%)E;&5A<V4@-2XP+C!A(#$V36%R.34`;W!T:6TZ(%)E;&5A<V4@-2XP+C!A
-M(#$V36%R.34`:3,X-F%S.B!296QE87-E(#4N,"XP82`Q-DUA<CDU`$`H(RD@
-M=&-O<'DN<R`Q+C`@.3@O,#@O,3$`:3,X-F%S.B!296QE87-E(#4N,"XP82`Q
-M-DUA<CDU````````````````````````````````````````````````````
-M``````$````!````!@````````!`````?`X!````````````$``````````'
-M`````0````,`````````O`X!`*`'``````````````0`````````#0````@`
-M```#`````````%P6`0``!``````````````$`````````!(````'````````
-M``````!<%@$`'````````````````0`````````8`````@``````````````
-M>!8!`*`0```&````Z@````0````0````(`````,``````````````!@G`0"=
-M#0`````````````!`````````"@````#``````````````"U-`$`3P``````
-M`````````0`````````R````"0``````````````!#4!`%@#```%`````0``
-M``0````(````/`````D``````````````%PX`0`8"```!0````(````$````
-L"````$8````!``````````````!T0`$`N@```````````````0``````````
-`
-end
diff --git a/sys/contrib/dev/oltr/if_oltr.c b/sys/contrib/dev/oltr/if_oltr.c
deleted file mode 100644
index 268ad8a80204..000000000000
--- a/sys/contrib/dev/oltr/if_oltr.c
+++ /dev/null
@@ -1,1515 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * For latest sources and information on this driver, please
- * go to http://anarchy.stdio.com.
- *
- * Questions, comments or suggestions should be directed to
- * Larry Lile <lile@stdio.com>.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: if_oltr.c,v 1.4 1999/04/24 20:24:02 peter Exp $
- */
-
-
-#include "pci.h"
-#include "oltr.h"
-#include "opt_inet.h"
-#include "bpfilter.h"
-
-#if (NOLTR + NPCI) > 0
-
-/*#define TRlldInlineIO*/
-
-#define ISA_ADAPTERS (OC_3115 | OC_3117 | OC_3118)
-#define PCI_ADAPTERS (OC_3133 | OC_3136 | OC_3137 | \
- OC_3139 | OC_3140 | OC_3141 | \
- OC_3250 | OC_3540 )
-
-#define PCI_VENDOR_OLICOM 0x108D
-
-char *AdapterName[] = {
- /* 0 */ "Olicom XT Adapter [unsupported]",
- /* 1 */ "Olicom OC-3115",
- /* 2 */ "Olicom ISA 16/4 Adapter (OC-3117)",
- /* 3 */ "Olicom ISA 16/4 Adapter (OC-3118)",
- /* 4 */ "Olicom MCA 16/4 Adapter (OC-3129) [unsupported]",
- /* 5 */ "Olicom MCA 16/4 Adapter (OC-3129) [unsupported]",
- /* 6 */ "Olicom MCA 16/4 Adapter (OC-3129) [unsupported]",
- /* 7 */ "Olicom EISA 16/4 Adapter (OC-3133)",
- /* 8 */ "Olicom EISA 16/4 Adapter (OC-3133)",
- /* 9 */ "Olicom EISA 16/4 Server Adapter (OC-3135)",
- /* 10 */ "Olicom PCI 16/4 Adapter (OC-3136)",
- /* 11 */ "Olicom PCI 16/4 Adapter (OC-3136)",
- /* 12 */ "Olicom PCI/II 16/4 Adapter (OC-3137)",
- /* 13 */ "Olicom PCI 16/4 Adapter (OC-3139)",
- /* 14 */ "Olicom RapidFire 3140 16/4 PCI Adapter (OC-3140)",
- /* 15 */ "Olicom RapidFire 3141 Fiber Adapter (OC-3141)",
- /* 16 */ "Olicom PCMCIA 16/4 Adapter (OC-3220) [unsupported]",
- /* 17 */ "Olicom PCMCIA 16/4 Adapter (OC-3121, OC-3230, OC-3232) [unsupported]",
- /* 18 */ "Olicom PCMCIA 16/4 Adapter (OC-3250)",
- /* 19 */ "Olicom RapidFire 3540 4/16/100 Adapter (OC-3540)"
-};
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/sockio.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/syslog.h>
-#include <sys/kernel.h>
-#include <sys/interrupt.h>
-
-#include <net/ethernet.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/iso88025.h>
-#include <net/if_media.h>
-
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#endif
-
-#if NPNP > 0
-#include <i386/isa/pnp.h>
-#endif
-
-#include <machine/clock.h>
-#include <machine/md_var.h>
-#include <i386/isa/isa_device.h>
-
-#if NPCI > 0
-#include <pci/pcivar.h>
-#include <pci/pcireg.h>
-#endif
-
-#include "contrib/dev/oltr/trlld.h"
-
-#ifndef TRLLD_SPEED_AUTO
-#define TRLLD_SPEED_AUTO 0
-#endif
-
-#define MIN(A,B) (((A) < (B)) ? (A) : (B))
-#define MIN3(A,B,C) (MIN(A, (MIN(B, C))))
-
-void *oltr_malloc(ssize_t, TRlldAdapterConfig_t *);
-
-/*
- * Glue functions prototypes for PMW kit IO
- */
-
-#ifndef TRlldInlineIO
-static void DriverOutByte __P((unsigned short, unsigned char));
-static void DriverOutWord __P((unsigned short, unsigned short));
-static void DriverOutDword __P((unsigned short, unsigned long));
-static void DriverRepOutByte __P((unsigned short, unsigned char *, int));
-static void DriverRepOutWord __P((unsigned short, unsigned short *, int));
-static void DriverRepOutDword __P((unsigned short, unsigned long *, int));
-static unsigned char DriverInByte __P((unsigned short));
-static unsigned short DriverInWord __P((unsigned short));
-static unsigned long DriverInDword __P((unsigned short));
-static void DriverRepInByte __P((unsigned short, unsigned char *, int));
-static void DriverRepInWord __P((unsigned short, unsigned short *, int));
-static void DriverRepInDword __P((unsigned short, unsigned long *, int));
-#endif /*TRlldInlineIO*/
-static void DriverSuspend __P((unsigned short));
-static void DriverStatus __P((void *, TRlldStatus_t *));
-static void DriverCloseCompleted __P((void *));
-static void DriverStatistics __P((void *, TRlldStatistics_t *));
-static void DriverTransmitFrameCompleted __P((void *, void *, int));
-static void DriverReceiveFrameCompleted __P((void *, int, int, void *, int));
-
-typedef struct tx_buf {
- int index;
- int count;
- char *buf;
- struct mbuf *m;
-} tx_buf_t;
-
-typedef struct rx_buf {
- int index;
- char *buf;
-} rx_buf_t;
-
-#ifndef EXTRA_OLTR
-#if NPCI > 0
-#define EXTRA_OLTR 8
-#else
-#define EXTRA_OLTR 0
-#endif /* NPCI */
-#endif /* EXTRA_OLTR */
-
-#ifndef OLTR_PROMISC_MODE
-#define OLTR_PROMISC_MODE (TRLLD_PROM_LLC)
-#endif
-
-#define ALL_OPTIONS (IFM_TOK_ETR | IFM_TOK_SRCRT | IFM_TOK_ALLR | IFM_TOK_DTR | IFM_TOK_CLASSIC | IFM_TOK_AUTO)
-
-/* List sizes MUST be a power of 2 */
-#define TX_LIST_SIZE 16
-#define RX_LIST_SIZE 16
-#define TX_LIST_MASK (TX_LIST_SIZE - 1)
-#define RX_LIST_MASK (RX_LIST_SIZE - 1)
-#define RX_BUFFER_LEN (8*1024)
-#define TX_BUFFER_LEN (8*1024)
-
-struct oltr_softc {
- struct arpcom arpcom;
- struct ifmedia ifmedia;
- TRlldAdapterConfig_t *config;
- TRlldAdapter_t *TRlldAdapter;
- int unit;
- u_short PromiscMode;
- u_short AdapterMode;
- int hw_state;
-#define HW_UNKNOWN 0 /* initial/absent state */
-#define HW_FOUND 1 /* found, not initialized */
-#define HW_BAD 2 /* fatal error */
-#define HW_FAILED 3 /* closed eg. by remove, allow manual reopen */
-#define HW_LOADING 4
-#define HW_CLOSING 5
-#define HW_CLOSING2 6
-#define HW_CLOSED 7
-#define HW_OPENING 8
-#define HW_OPEN 9
-#define HW_ERROR 10 /* temporary error */
-
- u_long GroupAddress;
- u_long FunctionalAddress;
- int poll_adapter;
-
- int tx_next;
- int tx_avail;
- tx_buf_t tx_buffer[TX_LIST_SIZE];
- TRlldTransmit_t tx_frame;
-
- int rx_next;
- int rx_avail;
- rx_buf_t rx_buffer[RX_LIST_SIZE];
-
- struct callout_handle oltr_ch;
- struct callout_handle poll_ch;
-
-};
-
-static struct oltr_softc oltr_softc[NOLTR + EXTRA_OLTR];
-
-/*
- * Driver function prototypes
- */
-
-static int oltr_probe __P((struct isa_device *));
-static int oltr_attach __P((struct isa_device *));
-static void oltr_init __P((struct oltr_softc *));
-static void oltr_intr __P((int));
-static void oltr_start __P((struct ifnet *));
-static void oltr_stop __P((struct oltr_softc *));
-static int oltr_ioctl __P((struct ifnet *, u_long, caddr_t));
-
-static int oltr_attach_common __P((struct oltr_softc *));
-
-void oltr_timeout __P((void *));
-void adapter_poll __P((void *));
-
-struct isa_driver oltrdriver = {
- oltr_probe,
- oltr_attach,
- "oltr",
- 0
-};
-
-int isa_cards = 0;
-
-#if NPCI > 0
-static u_long oltr_count = NOLTR;
-static const char *oltr_pci_probe __P((pcici_t, pcidi_t));
-static void oltr_pci_attach __P((pcici_t, int));
-static void oltr_pci_intr __P((void *));
-static void oltr_pci_shutdown __P((int, void *));
-
-static struct pci_device oltr_device = {
- "oltr",
- oltr_pci_probe,
- oltr_pci_attach,
- &oltr_count,
- NULL
-};
-
-COMPAT_PCI_DRIVER(oltr_pci, oltr_device);
-int pci_cards = 0;
-#endif /* NPCI */
-
-static int oltr_ifmedia_upd __P((struct ifnet *));
-static void oltr_ifmedia_sts __P((struct ifnet *, struct ifmediareq *));
-
-static TRlldDriver_t oltrLldDriver = {
- TRLLD_VERSION,
-#ifndef TRlldInlineIO
- DriverOutByte,
- DriverOutWord,
- DriverOutDword,
- DriverRepOutByte,
- DriverRepOutWord,
- DriverRepOutDword,
- DriverInByte,
- DriverInWord,
- DriverInDword,
- DriverRepInByte,
- DriverRepInWord,
- DriverRepInDword,
-#endif /*TRlldInlineIO*/
- DriverSuspend,
- DriverStatus,
- DriverCloseCompleted,
- DriverStatistics,
- DriverTransmitFrameCompleted,
- DriverReceiveFrameCompleted,
-};
-
-TRlldAdapterConfig_t oltr_config[NOLTR + EXTRA_OLTR];
-
-void *
-oltr_malloc(Size, Adapter)
- ssize_t Size;
- TRlldAdapterConfig_t *Adapter;
-{
-
- /* If the adapter needs memory below 16M for DMA then use contigmalloc */
- if (Adapter->mode & TRLLD_MODE_16M) /* Adapter using ISA DMA buffer below 16M */
- return(contigmalloc(Size, M_DEVBUF, M_NOWAIT, 0ul, 0xfffffful, 1ul, 0x10000ul));
- else
- return(malloc(Size, M_DEVBUF, M_NOWAIT));
-}
-
-/*
- * Driver Functions
- */
-
-static int
-oltr_probe(is)
- struct isa_device *is;
-{
- static int find_completed = 0, assigned[NOLTR];
- struct oltr_softc *sc = &oltr_softc[is->id_unit];
- int i;
-
- printf("oltr%d: oltr_probe\n", is->id_unit);
-
- /* Make life easy, use the Olicom supplied find function on the first probe
- * to probe all of the ISA adapters. Then give them to each unit as requested.
- * Try to match the adapters to units based on the iobase, but if iobase? then
- * just give out the next available adapter.
- */
- if (!find_completed) {
- isa_cards = TRlldFind(&oltrLldDriver, &oltr_config[0], ISA_ADAPTERS, NOLTR);
- /*for (i = 0; i < isa_cards; i++) {
- printf("TRlldFind: card %d - %s MAC %6D\n", i + 1, AdapterName[oltr_config[i].type], oltr_config[i].macaddress, ":");
- }*/
- for (i = 0; i < NOLTR; i++)
- assigned[i] = 0;
- find_completed = 1;
- }
-
- sc->unit = is->id_unit;
- sc->hw_state = HW_UNKNOWN;
-
- if (find_completed && ((isa_cards == 0) || (is->id_unit > isa_cards)))
- return(0);
-
- if (((is->id_iobase < 0xa00) || (is->id_iobase > 0xbe0)) && (is->id_iobase != 0xffffffff)) {
- printf("oltr%d: port address impossible (0x%X)\n", is->id_unit, is->id_iobase);
- return(0);
- }
-
- /* Auto assign lowest available card not already in use */
- if (is->id_iobase == 0xffffffff) {
- printf("oltr%d: auto assigning card.\n", is->id_unit);
- for (i = 0; assigned[i]; i++);
- assigned[i] = 1;
- sc->config = &oltr_config[i];
- is->id_iobase = sc->config->iobase0; /* Claim our port space */
- if (!is->id_irq)
- is->id_irq = (1 << sc->config->interruptlevel); /* Claim our interrupt */
- is->id_intr = (inthand2_t *)oltr_intr;
- if ((is->id_drq == 0xffffffff) && (sc->config->dmalevel != TRLLD_DMA_PIO))
- is->id_drq = sc->config->dmalevel; /* Claim our dma channel */
- printf("oltr%d: <%s> [%6D]\n", is->id_unit, AdapterName[sc->config->type], sc->config->macaddress, ":");
- sc->hw_state = HW_FOUND;
- return(1);
- } else {
- /* Assign based on iobase address provided in kernel config */
- for (i = 0; i < NOLTR; i++) {
- if (is->id_iobase == oltr_config[i].iobase0) {
- if (assigned[i]) {
- printf("oltr%d: adapter (0x%X) already assigned.\n", is->id_unit, is->id_iobase);
- return(0);
- }
- assigned[i] = 1;
- sc->config = &oltr_config[i];
- if (is->id_irq == 0)
- is->id_irq = (1 << sc->config->interruptlevel); /* Claim our interrupt */
- is->id_intr = (inthand2_t *)oltr_intr;
- if ((is->id_drq == 0xffffffff) && (sc->config->dmalevel != TRLLD_DMA_PIO))
- is->id_drq = sc->config->dmalevel; /* Claim our dma channel */
- printf("oltr%d: <%s> [%6D]\n", is->id_unit, AdapterName[sc->config->type], sc->config->macaddress, ":");
- sc->hw_state = HW_FOUND;
- return(1);
- }
- }
- }
- return(0); /* Card was not found */
-}
-
-#if NPCI > 0
-static const char *
-oltr_pci_probe(config_id, device_id)
- pcici_t config_id;
- pcidi_t device_id;
-{
- u_char PCIConfigurationSpace[64];
- u_long command;
- int i, j, rc;
-
- printf("oltr: oltr_pci_probe\n");
-
- j = NOLTR + pci_cards;
-
- if (pci_cards == EXTRA_OLTR)
- return(NULL);
-
- if (((device_id & 0xffff) == PCI_VENDOR_OLICOM) &&
- ((((device_id >> 16) & 0xffff) == 0x0001) ||
- (((device_id >> 16) & 0xffff) == 0x0004) ||
- (((device_id >> 16) & 0xffff) == 0x0005) ||
- (((device_id >> 16) & 0xffff) == 0x0007) ||
- (((device_id >> 16) & 0xffff) == 0x0008))) {
-
- for (i = 0; i < 64; i++)
- PCIConfigurationSpace[i] = pci_cfgread(config_id, i, /*bytes*/1);
-
- rc = TRlldPCIConfig(&oltrLldDriver, &oltr_config[j], PCIConfigurationSpace);
-
- if ((rc == TRLLD_PCICONFIG_OK) || (rc == TRLLD_PCICONFIG_SET_COMMAND)) {
- if (rc == TRLLD_PCICONFIG_SET_COMMAND) {
- printf("oltr: setting bus-master mode\n");
- command = pci_conf_read(config_id, PCIR_COMMAND);
- pci_conf_write(config_id, PCIR_COMMAND, (command | PCIM_CMD_BUSMASTEREN));
- }
- pci_cards++;
- return (AdapterName[oltr_config[j].type]);
- } else {
- if (rc == TRLLD_PCICONFIG_FAIL)
- printf("oltr: TRlldPCIConfig failed!\n");
- if (rc == TRLLD_PCICONFIG_VERSION)
- printf("oltr: wrong LLD version\n");
- }
- }
- return(NULL);
-}
-#endif /* NPCI */
-
-static int
-oltr_attach(is)
- struct isa_device *is;
-{
- struct oltr_softc *sc = &oltr_softc[is->id_unit];
- int rc;
-
- sc->unit = is->id_unit;
-
- if (!oltr_attach_common(sc))
- return(0);
-
- /* If the kernel config does not match the current card configuration then
- * adjust the card settings to match the kernel.
- */
- if ((ffs(is->id_irq) - 1) != sc->config->interruptlevel) {
- rc = TRlldSetInterrupt(sc->TRlldAdapter, is->id_irq);
- if (rc != TRLLD_CONFIG_OK) {
- printf("oltr%d: Unable to change adapter interrupt level (%x)\n", sc->unit, rc);
- return(0);
- }
- }
-
- /* Set dma level, fall back to pio if possible. (following SCO driver example) */
- if (is->id_drq != sc->config->dmalevel) {
- rc = TRlldSetDMA(sc->TRlldAdapter, is->id_drq, &sc->config->mode);
- if (rc != TRLLD_CONFIG_OK) {
- if ((sc->config->dmalevel != TRLLD_DMA_PIO) &&
- (TRlldSetDMA(sc->TRlldAdapter, TRLLD_DMA_PIO, &sc->config->mode) != TRLLD_CONFIG_OK)) {
- printf("oltr%d: unable to change dma level from %d to %d (%x)\n", sc->unit,
- sc->config->dmalevel, is->id_drq, rc);
- }
- printf("oltr%d: Unable to change adapter dma level, using PIO mode (%x)\n", sc->unit, rc);
- sc->config->dmalevel = TRLLD_DMA_PIO;
- rc = TRlldSetDMA(sc->TRlldAdapter, is->id_drq, &sc->config->mode);
- }
- is->id_irq = sc->config->dmalevel;
- }
- return(1);
-}
-
-#if NPCI > 0
-static void
-oltr_pci_attach(config_id, unit)
- pcici_t config_id;
- int unit;
-{
- struct oltr_softc *sc = &oltr_softc[unit];
-
- sc->unit = unit;
- sc->config = &oltr_config[unit];
- sc->hw_state = HW_FOUND;
-
- printf("oltr%d: mac address [%6D]\n", sc->unit, sc->config->macaddress, ":");
-
- if (!oltr_attach_common(sc))
- return;
-
- /* Map our interrupt */
- if (!pci_map_int(config_id, oltr_pci_intr, sc, &net_imask)) {
- printf("oltr%d: couldn't map interrupt\n", unit);
- return;
- }
-}
-#endif /* NPCI */
-
-static int
-oltr_attach_common(sc)
- struct oltr_softc *sc;
-{
- struct ifnet *ifp = &sc->arpcom.ac_if;
- u_int bufsize;
- int rc, i, j;
-
- /*printf("oltr%d: attach_common called\n", sc->unit);*/
-
- /* Allocate adapter memory buffer */
- bufsize = TRlldAdapterSize();
- sc->TRlldAdapter = (TRlldAdapter_t *)oltr_malloc(bufsize, sc->config);
- if (sc->TRlldAdapter == NULL) {
- printf("oltr%d: Unable to allocate adapter memory block (%d bytes)\n", sc->unit, bufsize);
- }
- /*printf("oltr%d: Adapter memory block (%p %d bytes)\n", sc->unit, sc->TRlldAdapter, bufsize);*/
-
- /* Setup transmit pool */
- for (i = 0; i < TX_LIST_SIZE; i++) {
- sc->tx_buffer[i].index = i;
- sc->tx_buffer[i].buf = (char *)oltr_malloc(TX_BUFFER_LEN, sc->config);
- /* If we have a failure then free everything and get out */
- if (!sc->tx_buffer[i].buf) {
- printf("oltr%d: Unable to allocate transmit buffers.\n", sc->unit);
- for (j = 0; j < i; j++)
- free(sc->tx_buffer[j].buf, M_DEVBUF);
- return(0);
- }
- }
- sc->tx_next = 0;
- sc->tx_avail = TX_LIST_SIZE;
- sc->tx_frame.FragmentCount = 0;
-
- /* Setup receive pool */
- for (i = 0; i < RX_LIST_SIZE; i++) {
- sc->rx_buffer[i].index = i;
- sc->rx_buffer[i].buf = (char *)oltr_malloc(RX_BUFFER_LEN, sc->config);
- /* If we have a failure then free everything and get out */
- if (!sc->rx_buffer[i].buf) {
- printf("oltr%d: Unable to allocate receive buffers.\n", sc->unit);
- for (j = 0; j < i; j++)
- free(sc->rx_buffer[j].buf, M_DEVBUF);
- return(0);
- }
- }
- sc->rx_next = 0;
- sc->rx_avail = RX_LIST_SIZE;
- /*printf("oltr%d: Allocated receive buffers\n", sc->unit); */
-
- /* Set up adapter polling mechanism */
- sc->poll_adapter = 1;
- callout_handle_init(&sc->poll_ch);
- sc->poll_ch = timeout(adapter_poll, (void *)sc->unit, (1*hz)/1000);
- callout_handle_init(&sc->oltr_ch);
-
- /* Initialize adapter */
- rc = TRlldAdapterInit(&oltrLldDriver, sc->TRlldAdapter, kvtop(sc->TRlldAdapter),
- (void *)sc->unit, sc->config);
- if (rc != TRLLD_INIT_OK) {
- switch (rc) {
- case TRLLD_INIT_NOT_FOUND:
- printf("oltr%d: Adapter not found or malfunctioning.\n", sc->unit);
- sc->hw_state = HW_BAD;
- return(0);
- case TRLLD_INIT_UNSUPPORTED:
- printf("oltr%d: Adapter not supported by low level driver.\n", sc->unit);
- sc->hw_state = HW_UNKNOWN;
- return(0);
- case TRLLD_INIT_PHYS16:
- printf("oltr%d: Adapter memory block above 16M, must be below 16M.\n", sc->unit);
- return(0);
- case TRLLD_INIT_VERSION:
- printf("oltr%d: Low level driver version mismatch.\n", sc->unit);
- return(0);
- default:
- printf("oltr%d: Unknown initilization error occoured (%x).\n", sc->unit, rc);
- return(0);
- }
- }
-
- /* Download Adapter Microcode */
- /*printf("oltr%d: Downloading adapter microcode...", sc->unit);*/
- sc->hw_state = HW_LOADING;
- switch(sc->config->mactype) {
- case TRLLD_MAC_TMS: /* TMS microcode */
- rc = TRlldDownload(sc->TRlldAdapter, TRlldMacCode);
- break;
- case TRLLD_MAC_HAWKEYE: /* Hawkeye microcode */
- rc = TRlldDownload(sc->TRlldAdapter, TRlldHawkeyeMac);
- break;
- case TRLLD_MAC_BULLSEYE: /* Bullseye microcode */
- rc = TRlldDownload(sc->TRlldAdapter, TRlldBullseyeMac);
- break;
- default:
- printf("oltr%d: unknown mactype %d\n", sc->unit, sc->config->mactype);
- return(0);
- }
- /*if (rc == TRLLD_DOWNLOAD_OK)
- printf("done\n");*/
- if ((rc == TRLLD_DOWNLOAD_ERROR) || (rc == TRLLD_STATE)) {
- printf("oltr%d: Adapter microcode download failed! (rc = %x)\n", sc->unit, rc);
- sc->hw_state = HW_BAD;
- return(0);
- }
-
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_AUTO);
-
- sc->PromiscMode = 0;
- sc->AdapterMode = 0;
-
- /* Do the ifnet initialization */
- ifp->if_softc = sc;
- ifp->if_unit = sc->unit;
- ifp->if_name = "oltr";
- ifp->if_output = iso88025_output;
- ifp->if_init = (if_init_f_t *)oltr_init;
- ifp->if_start = oltr_start;
- ifp->if_ioctl = oltr_ioctl;
- ifp->if_flags = IFF_BROADCAST | IFF_MULTICAST | IFF_SIMPLEX;
- bcopy(sc->config->macaddress, sc->arpcom.ac_enaddr, sizeof(sc->config->macaddress));
-
- /* Set up common ifmedia options */
- ifmedia_init(&sc->ifmedia, 0, oltr_ifmedia_upd, oltr_ifmedia_sts);
-
- ifmedia_add(&sc->ifmedia, IFM_TOKEN | IFM_AUTO, 0 , NULL);
- ifmedia_add(&sc->ifmedia, IFM_TOKEN | IFM_TOK_UTP4, 0 , NULL);
- ifmedia_add(&sc->ifmedia, IFM_TOKEN | IFM_TOK_UTP16, 0 , NULL);
-
- ifmedia_set(&sc->ifmedia, IFM_TOKEN | IFM_AUTO);
-
- if_attach(ifp);
- iso88025_ifattach(ifp);
-
-#if NBPFILTER > 0
- bpfattach(ifp, DLT_IEEE802, sizeof(struct iso88025_header));
-#endif
-
- printf("oltr%d: Adapter modes - ", sc->unit);
- if (sc->config->mode & TRLLD_MODE_16M) printf("TRLLD_MODE_16M ");
- if (sc->config->mode & TRLLD_MODE_PHYSICAL) printf("TRLLD_MODE_PHYSICAL ");
- if (sc->config->mode & TRLLD_MODE_FIXED_CFG) printf("TRLLD_MODE_FIXED_CFG ");
- if (sc->config->mode & TRLLD_MODE_SHORT_SLOT) printf("TRLLD_MODE_SHORT_SLOT ");
- if (sc->config->mode & TRLLD_MODE_CANNOT_DISABLE) printf("TRLLD_MODE_CANNOT_DISABLE ");
- if (sc->config->mode & TRLLD_MODE_SHARE_INTERRUPT) printf("TRLLD_MODE_SHARE_INTERRUPT ");
- if (sc->config->mode & TRLLD_MODE_MEMORY) printf("TRLLD_MODE_MEMORY ");
- printf("\n");
-
- return(1);
-}
-
-#if NPCI > 0
-static void
-oltr_pci_shutdown(howto, sc)
- int howto;
- void *sc;
-{
- printf("oltr: oltr_pci_shutdown called\n");
-}
-#endif /* NPCI */
-
-static int
-oltr_ifmedia_upd(ifp)
- struct ifnet *ifp;
-{
- struct oltr_softc *sc = ifp->if_softc;
- struct ifmedia *ifm = &sc->ifmedia;
-
- if (IFM_TYPE(ifm->ifm_media) != IFM_TOKEN)
- return(EINVAL);
-
- switch(IFM_SUBTYPE(ifm->ifm_media)) {
- case IFM_AUTO:
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_AUTO);
- break;
- case IFM_TOK_UTP4:
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_4MBPS);
- break;
- case IFM_TOK_UTP16:
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_16MBPS);
- break;
- default:
- return(EINVAL);
- }
-
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_ETR)
- printf("oltr%d: ETR not implemented\n", sc->unit);
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_SRCRT)
- printf("oltr%d: source-routing not implemented\n", sc->unit);
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_ALLR)
- printf("oltr%d: all source routes not implemented\n", sc->unit);
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_DTR) {
- sc->AdapterMode |= TRLLD_MODE_FORCE_TXI;
- sc->AdapterMode &= ~TRLLD_MODE_FORCE_TKP;
- }
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_CLASSIC) {
- sc->AdapterMode |= TRLLD_MODE_FORCE_TKP;
- sc->AdapterMode &= ~TRLLD_MODE_FORCE_TXI;
- }
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_AUTO)
- sc->AdapterMode &= ~(TRLLD_MODE_FORCE_TXI | TRLLD_MODE_FORCE_TKP);
-
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & ~ALL_OPTIONS)
- return(EINVAL);
-
- return(0);
-}
-
-static void
-oltr_ifmedia_sts(ifp, ifmr)
- struct ifnet *ifp;
- struct ifmediareq *ifmr;
-{
- struct oltr_softc *sc = ifp->if_softc;
- struct ifmedia *ifm = &sc->ifmedia;
-
- ifmr->ifm_active = IFM_TYPE(ifm->ifm_media)|IFM_SUBTYPE(ifm->ifm_media)|IFM_TYPE_OPTIONS(ifm->ifm_media);
-
- return;
-}
-
-void
-oltr_timeout(token)
- void *token;
-{
- struct oltr_softc *sc = &oltr_softc[(int)token];
- int unit = (int)token, s;
-
- s = splimp();
-
- printf("oltr%d: adapter timed out (%x)\n", unit, sc->hw_state);
-
- splx(s);
-}
-
-
-void
-adapter_poll(token)
- void *token;
-{
- int unit = (int)token, poll_timeout = 0, s;
- struct oltr_softc *sc = &oltr_softc[unit];
-#if 0
- static int rx_buffers = 0, tx_buffers = 0, rc;
-#endif
-
- s = splimp();
-
- /* Check to make sure we are not polling a dead card */
- if ((sc->hw_state == HW_BAD) || (sc->hw_state == HW_UNKNOWN)) {
- sc->poll_adapter = -1;
- splx(s);
- return;
- }
-
- /*printf("oltr%d: adapter poll.\n", unit);*/
-
- /* If the adapter is to be polled again, then set up
- * next timeout poll
- */
- if (sc->poll_adapter) {
- poll_timeout = TRlldPoll(sc->TRlldAdapter);
- sc->poll_ch = timeout(adapter_poll, (void *)unit, (poll_timeout * hz)/1000);
- }
-#if 0
- rc = TRlldReceiveFree(sc->TRlldAdapter);
- if (rx_buffers != rc) {
- printf("oltr%d: %d receive buffers available\n", sc->unit, rc);
- rx_buffers = rc;
- }
- rc = TRlldTransmitFree(sc->TRlldAdapter);
- if (tx_buffers != rc) {
- printf("oltr%d: %d transmit buffers available\n", sc->unit, rc);
- tx_buffers = rc;
- }
-#endif
-
- splx(s);
-}
-
-static void
-oltr_init(sc)
- struct oltr_softc *sc;
-{
- struct ifnet *ifp = &sc->arpcom.ac_if;
- int i, rc;
-
- /*printf("oltr%d: oltr_init\n", sc->unit);*/
-
- /*
- * Adapter should be freshly downloaded or previously closed before
- * bringing it back on line.
- */
- if ((sc->hw_state != HW_CLOSED) && (sc->hw_state != HW_LOADING) && (sc->hw_state != HW_CLOSING2)) {
- printf("oltr%d: adapter not ready to be opened (%d).\n", sc->unit, sc->hw_state);
- return;
- }
-
- /* Allocate and set up the DMA channel */
- if (sc->config->dmalevel != TRLLD_DMA_PIO) {
- rc = isa_dma_acquire(sc->config->dmalevel);
- isa_dmacascade(sc->config->dmalevel);
- }
-
- /* Open the adapter */
- sc->hw_state = HW_OPENING;
- rc = TRlldOpen(sc->TRlldAdapter, sc->arpcom.ac_enaddr, sc->GroupAddress,
- sc->FunctionalAddress, ifp->if_mtu + 52, sc->AdapterMode);
- if (rc != TRLLD_OPEN_OK) {
- printf("oltr%d: Adapter failed to open (rc = %x)\n", sc->unit, rc);
- sc->hw_state = HW_FAILED;
- } else {
- /*printf("oltr%d: adapter opening...\n", sc->unit);*/
- /*ifp->if_flags |= (IFF_UP | IFF_RUNNING);*/
- ifp->if_flags &= ~IFF_OACTIVE;
- }
- sc->oltr_ch = timeout(oltr_timeout, (void *)sc->unit, 30*hz);
- tsleep((void *)sc->unit, 1, "oltrop", 30*hz);
-
- /* Give the receive buffers to the adapter */
- for (i = 0; i < RX_LIST_SIZE; i++) {
- rc = TRlldReceiveFragment(sc->TRlldAdapter,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf,
- kvtop(sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf),
- RX_BUFFER_LEN,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].index);
- if (rc != TRLLD_RECEIVE_OK) {
- printf("oltr%d: Adapter refused fragment %d (rc = %d).\n", sc->unit, i, rc);
- break;
- } else {
- sc->rx_avail--;
- }
- sc->rx_next++;
- }
- sc->tx_frame.FragmentCount = 0;
-
- return;
-}
-
-static void
-oltr_intr(unit)
- int unit;
-{
- struct oltr_softc *sc = &oltr_softc[unit];
- int rc;
-
- /*printf("oltr%d: oltr_intr\n", unit);*/ /* Too noisy */
- rc= TRlldInterruptService(sc->TRlldAdapter);
- if (rc == TRLLD_NO_INTERRUPT)
- printf("oltr%d: interrupt not serviced.\n", unit);
-}
-
-#if NPCI > 0
-static void
-oltr_pci_intr(psc)
- void *psc;
-{
- struct oltr_softc *sc = (struct oltr_softc *)psc;
- int rc = 0;
-
- /*printf("oltr%d: oltr_pci_intr\n", sc->unit);*/ /* Too noisy */
- rc = TRlldInterruptService(sc->TRlldAdapter);
- if (rc == TRLLD_NO_INTERRUPT)
- printf("oltr%d: pci interrupt not serviced.\n", sc->unit);
-}
-#endif /* NPCI */
-
-static void
-oltr_start(ifp)
- struct ifnet *ifp;
-{
- struct oltr_softc *sc = &oltr_softc[ifp->if_unit];
- struct mbuf *m0, *m;
- int len, i, k, rc;
-
- /*printf("oltr%d: oltr_start\n", sc->unit);*/
-
-outloop:
-
- i = (sc->tx_next & TX_LIST_MASK); /* Just to shorten thing up */
-
- /* Check to see if we have enough room to transmit */
- if (sc->tx_avail <= 0) {
- /* No free buffers, hold off the upper layers */
- /*printf("oltr%d: transmit queue full.\n", sc->unit);*/
- ifp->if_flags |= IFF_OACTIVE;
- return;
- }
-
- if (sc->tx_frame.FragmentCount > 0) {
- if (!(sc->config->mode & TRLLD_MODE_16M)) {
- sc->tx_next++;
- m0 = sc->tx_buffer[i].m;
- goto restart;
- }
- }
-
- IF_DEQUEUE(&ifp->if_snd, m);
- if (m == 0) {
- /*printf("oltr%d: oltr_start NULL packet dequeued.\n", sc->unit);*/
- ifp->if_flags &= ~IFF_OACTIVE;
- return;
- }
-
- /* Keep a pointer to the head of the packet */
- m0 = m;
-
- if (sc->config->mode & TRLLD_MODE_16M) { /* ISA Adapters - bounce buffers */
-
- for (len = 0; m != 0; m = m->m_next) {
- sc->tx_frame.TransmitFragment[0].VirtualAddress = sc->tx_buffer[i].buf;
- sc->tx_frame.TransmitFragment[0].PhysicalAddress = kvtop(sc->tx_buffer[i].buf);
- bcopy(mtod(m, caddr_t), sc->tx_buffer[i].buf + len, m->m_len);
- len += m->m_len;
- }
- sc->tx_frame.FragmentCount = 1;
- sc->tx_frame.TransmitFragment[0].count = len;
-
- sc->tx_next++;
- sc->tx_avail--;
-
- } else { /* PCI Adapters w/DMA */
-
- for (k = 0; m!= 0; m = m->m_next) {
- sc->tx_frame.TransmitFragment[k].VirtualAddress = mtod(m, caddr_t);
- sc->tx_frame.TransmitFragment[k].PhysicalAddress = kvtop(mtod(m, caddr_t));
- sc->tx_frame.TransmitFragment[k].count = m->m_len;
- k++;
- sc->tx_avail--;
- }
- sc->tx_frame.FragmentCount = k;
- sc->tx_buffer[i].count = k;
- sc->tx_buffer[i].m = m0;
-
- if (sc->tx_avail < 0) {
- /*printf("oltr%d: transmit buffers exhausted.\n", sc->unit);*/
- goto nobuffers;
- }
- sc->tx_next++;
- }
-
-restart:
- rc = TRlldTransmitFrame(sc->TRlldAdapter, &sc->tx_frame, (void *)sc->tx_buffer[i].index);
- sc->tx_frame.FragmentCount = 0;
-
- if (rc != TRLLD_TRANSMIT_OK) {
- printf("oltr%d: TRlldTransmitFrame returned (%x)\n", sc->unit, rc);
- ifp->if_oerrors++;
- goto bad;
- }
-
-#if NBPFILTER > 0
- if (ifp->if_bpf)
- bpf_mtap(ifp, m0);
-#endif
-
-bad:
-
- if (sc->config->mode & TRLLD_MODE_16M) {
- m_freem(m0);
- }
-
- goto outloop;
-
-nobuffers:
-
- ifp->if_flags |= IFF_OACTIVE;
-
- return;
-}
-
-static void
-oltr_stop(sc)
- struct oltr_softc *sc;
-{
- struct ifnet *ifp = &sc->arpcom.ac_if;
- printf("oltr%d: otlr_stop\n", sc->unit);
- ifp->if_flags &= ~(IFF_UP | IFF_RUNNING | IFF_OACTIVE);
- sc->hw_state = HW_CLOSING;
- TRlldClose(sc->TRlldAdapter, 0);
- sc->oltr_ch = timeout(oltr_timeout, (void *)sc->unit, 30*hz);
- tsleep((void *)sc->unit, 1, "oltrcl", 30*hz);
-}
-
-static int
-oltr_ioctl(ifp, cmd, data)
- struct ifnet *ifp;
- u_long cmd;
- caddr_t data;
-{
- struct oltr_softc *sc = &oltr_softc[ifp->if_unit];
- struct ifreq *ifr = (struct ifreq *)data;
- int error = 0, s;
-
- /*printf("oltr%d: oltr_ioctl\n", ifp->if_unit);*/
-
- s = splimp();
-
- switch (cmd) {
-
- case SIOCSIFADDR:
- case SIOCGIFADDR:
- case SIOCSIFMTU:
- error = iso88025_ioctl(ifp, cmd, data);
- break;
-
- case SIOCSIFFLAGS:
- /*
- * If the interface is marked up and stopped, then start it.
- * If it is marked down and running, then stop it.
- */
- if (ifp->if_flags & IFF_UP) {
- if ((ifp->if_flags & IFF_RUNNING) == 0)
- oltr_init(sc);
- } else {
- if (ifp->if_flags & IFF_RUNNING) {
- oltr_stop(sc);
- ifp->if_flags &= ~IFF_RUNNING;
- }
- }
-
- if ((ifp->if_flags & IFF_PROMISC) != sc->PromiscMode) {
- if (ifp->if_flags & IFF_PROMISC)
- TRlldSetPromiscuousMode(sc->TRlldAdapter, OLTR_PROMISC_MODE);
- else
- TRlldSetPromiscuousMode(sc->TRlldAdapter, 0);
- sc->PromiscMode = (ifp->if_flags & IFF_PROMISC);
- }
-
- break;
- case SIOCGIFMEDIA:
- case SIOCSIFMEDIA:
- error = ifmedia_ioctl(ifp, ifr, &sc->ifmedia, cmd);
- break;
- default:
- error = EINVAL;
- }
- splx(s);
- return(error);
-}
-
-/*
- * PMW Callback functions ----------------------------------------------------
- */
-
-static void
-DriverSuspend(MicroSeconds)
- unsigned short MicroSeconds;
-{
- DELAY(MicroSeconds);
-}
-
-
-static void
-DriverStatus(DriverHandle, Status)
- void *DriverHandle;
- TRlldStatus_t *Status;
-{
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- switch (Status->Type) {
- case TRLLD_STS_ON_WIRE:
- if (sc->hw_state == HW_OPENING) {
- sc->hw_state = HW_OPEN;
- ifp->if_flags |= (IFF_UP | IFF_RUNNING);
- /*printf("oltr%d: Adapter inserted.\n", sc->unit);*/
- untimeout(oltr_timeout, (void *)sc->unit, sc->oltr_ch);
- wakeup_one((void *)sc->unit);
- }
- break;
- case TRLLD_STS_SELFTEST_STATUS:
- if (Status->Specification.SelftestStatus == TRLLD_ST_OK) {
- printf("oltr%d: adapter status good. (close completed/self-test)\n", sc->unit);
- if ((sc->hw_state == HW_LOADING) || (sc->hw_state == HW_CLOSING) || (sc->hw_state == HW_CLOSING2)) {
- sc->hw_state = HW_CLOSED;
- break;
- }
- } else {
- printf("oltr%d: Self test failed: ", sc->unit);
- switch (Status->Specification.SelftestStatus) {
- case TRLLD_ST_ERROR + 0: printf("Initial Test Error\n"); break;
- case TRLLD_ST_ERROR + 1: printf("Adapter Software Checksum Error\n"); break;
- case TRLLD_ST_ERROR + 2: printf("Adapter RAM Error\n"); break;
- case TRLLD_ST_ERROR + 4: printf("Instruction Test Error\n"); break;
- case TRLLD_ST_ERROR + 5: printf("Protocol Handler/RI Hw Error\n"); break;
- case TRLLD_ST_ERROR + 6: printf("System Interface Register Error\n"); break;
- case TRLLD_ST_TIMEOUT: printf("Selftest did not complete\n"); break;
- default: printf("Unknown error (%x)\n", Status->Specification.SelftestStatus);
- }
- }
- break;
- case TRLLD_STS_INIT_STATUS:
- printf("oltr%d: Adapter initialization failed: ", sc->unit);
- switch(Status->Specification.InitStatus) {
- case TRLLD_INIT_ERROR + 0x01: printf("Invalid init block (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x02: printf("Invalid options (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x03: printf("Invalid rcv burst (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x04: printf("Invalid xmt burst (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x05: printf("Invalid DMA threshold (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x06: printf("Invalid scb addr\n"); break;
- case TRLLD_INIT_ERROR + 0x07: printf("Invalid ssb addr\n"); break;
- case TRLLD_INIT_ERROR + 0x08: printf("DIO parity error (HW error)\n"); break;
- case TRLLD_INIT_ERROR + 0x09: printf("DMA timeout (May be interrupt failing if PIO mode or PCI2)\n"); break;
- case TRLLD_INIT_ERROR + 0x0A: printf("DMA parity error (HW error)\n"); break;
- case TRLLD_INIT_ERROR + 0x0B: printf("DMA bus error (HW error)\n"); break;
- case TRLLD_INIT_ERROR + 0x0C: printf("DMA data error\n"); break;
- case TRLLD_INIT_ERROR + 0x0D: printf("Adapter Check\n"); break;
- case TRLLD_INIT_TIMEOUT: printf("Adapter initialization did not complete\n"); break;
- case TRLLD_INIT_DMA_ERROR: printf("Adapter cannot access system memory\n"); break;
- case TRLLD_INIT_INTR_ERROR: printf("Adapter cannot interrupt\n"); break;
- case TRLLD_OPEN_TIMEOUT: printf("Adapter did not complete open within 30 seconds\n"); break;
- case TRLLD_OPEN_ERROR + 0x01: printf("Invalid open options (LLD error)\n"); break;
- case TRLLD_OPEN_ERROR + 0x04: printf("TxBuffer count error (LLD error)\n"); break;
- case TRLLD_OPEN_ERROR + 0x10: printf("Buffer size error (LLD error)\n"); break;
- case TRLLD_OPEN_ERROR + 0x20: printf("List size error (LLD error)\n"); break;
- default:
- if (Status->Specification.InitStatus & 0x700) {
- switch (Status->Specification.InitStatus & 0x70F) {
- case TRLLD_OPEN_REPEAT + 0x01: printf("Lobe media test - "); break;
- case TRLLD_OPEN_REPEAT + 0x02: printf("Physical insertion - "); break;
- case TRLLD_OPEN_REPEAT + 0x03: printf("Address verification - "); break;
- case TRLLD_OPEN_REPEAT + 0x04: printf("Participation in ring poll - "); break;
- case TRLLD_OPEN_REPEAT + 0x05: printf("Request initialization - "); break;
- case TRLLD_OPEN_REPEAT + 0x09: printf("Request registration (TXI) - "); break;
- case TRLLD_OPEN_REPEAT + 0x0A: printf("Lobe media test (TXI) - "); break;
- default: printf("Unknown phase (%x) - ", Status->Specification.InitStatus & 0x00F);
- }
- switch (Status->Specification.InitStatus & 0x7F0) {
- case TRLLD_OPEN_REPEAT + 0x10: printf("Function failure (No cable?)\n"); break;
- case TRLLD_OPEN_REPEAT + 0x20: printf("Signal loss\n"); break;
- case TRLLD_OPEN_REPEAT + 0x50: printf("Timeout\n"); break;
- case TRLLD_OPEN_REPEAT + 0x60: printf("Ring failure (TKP) / Protocol error (TXI)\n"); break;
- case TRLLD_OPEN_REPEAT + 0x70: printf("Ring beaconing\n"); break;
- case TRLLD_OPEN_REPEAT + 0x80: printf("Duplicate node address (TKP) / Insert denied (TXI)\n"); break;
- case TRLLD_OPEN_REPEAT + 0x90: printf("Request initialization (TKP)\n"); break;
- case TRLLD_OPEN_REPEAT + 0xa0: printf("Remove received\n"); break;
- case TRLLD_OPEN_REPEAT + 0xb0: printf("C-port address changed (TXI)\n"); break;
- default: printf("Unknown type (%x)\n", Status->Specification.InitStatus & 0x0F0);
- }
- } else {
- printf("Unknown error (%x)\n", Status->Specification.InitStatus);
- }
- }
- break;
- case TRLLD_STS_RING_STATUS:
- if (Status->Specification.RingStatus != 0) {
- printf("oltr%d: Ring status change: ", sc->unit);
- if (Status->Specification.RingStatus & TRLLD_RS_HARD_ERROR) printf("[Hard error] ");
- if (Status->Specification.RingStatus & TRLLD_RS_SOFT_ERROR) printf("[Soft error] ");
- if (Status->Specification.RingStatus & TRLLD_RS_TRANSMIT_BEACON) printf("[Transmit beacon] ");
- if (Status->Specification.RingStatus & TRLLD_RS_LOBE_WIRE_FAULT) printf("[Wire fault] ");
- if (Status->Specification.RingStatus & TRLLD_RS_AUTO_REMOVAL_ERROR) printf("[Auto removal] ");
- if (Status->Specification.RingStatus & TRLLD_RS_REMOVE_RECEIVED) printf("[Remove received] ");
- if (Status->Specification.RingStatus & TRLLD_RS_COUNTER_OVERFLOW) printf("[Counter overflow] ");
- if (Status->Specification.RingStatus & TRLLD_RS_SINGLE_STATION) printf("[Single station] ");
- if (Status->Specification.RingStatus & TRLLD_RS_RING_RECOVERY) printf("[Ring recovery] ");
- printf("\n");
- }
- break;
- case TRLLD_STS_ADAPTER_CHECK:
- printf("oltr%d: Adapter check (%x %x %x %x)\n", sc->unit, Status->Specification.AdapterCheck[0],
- Status->Specification.AdapterCheck[1], Status->Specification.AdapterCheck[2],
- Status->Specification.AdapterCheck[3]);
- break;
- case TRLLD_STS_PROMISCUOUS_STOPPED:
- printf("oltr%d: Promiscuous mode stopped: ", sc->unit);
- switch(Status->Specification.PromRemovedCause) {
- case TRLLD_PROM_REMOVE_RECEIVED: printf("Remove received\n"); break;
- case TRLLD_PROM_POLL_FAILURE: printf("Poll failure\n"); break;
- default: printf("Unknown (%x)\n", Status->Specification.PromRemovedCause);
- }
- break;
- case TRLLD_STS_LLD_ERROR:
- printf("oltr%d: LLD error (%x %x %x %x) ", sc->unit, Status->Specification.InternalError[0],
- Status->Specification.InternalError[1], Status->Specification.InternalError[2],
- Status->Specification.InternalError[3]);
- break;
- case TRLLD_STS_ADAPTER_TIMEOUT:
- printf("oltr%d: Adapter operation timed out: ", sc->unit);
- switch(Status->Specification.AdapterTimeout) {
- case TRLLD_COMMAND_TIMEOUT: printf("Command\n");
- case TRLLD_TRANSMIT_TIMEOUT: printf("Transmit\n");
- case TRLLD_INTERRUPT_TIMEOUT: printf("Interrupt\n");
- default: printf("Unknown (%x)\n", Status->Specification.AdapterTimeout);
- }
- break;
- default:
- printf("oltr%d: Unknown status type (%x)\n", sc->unit, Status->Type);
-
- }
- if (Status->Closed) {
- if (sc->hw_state > HW_BAD) {
- sc->hw_state = HW_FAILED;
- printf("oltr%d: closing adapter due to failure.\n", sc->unit);
- oltr_stop(sc);
- }
- }
-}
-
-static void
-DriverCloseCompleted(DriverHandle)
- void *DriverHandle;
-{
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
-
- printf("oltr%d: DriverCloseCompleted\n", sc->unit);
-
- untimeout(oltr_timeout, (void *)sc->unit, sc->oltr_ch);
- wakeup_one((void *)sc->unit);
-
- if ((sc->hw_state != HW_CLOSING) && (sc->hw_state != HW_CLOSING2) && (sc->hw_state != HW_CLOSED)) {
- printf("oltr%d: adapter close complete called in wrong state (%d)\n", sc->unit, sc->hw_state);
- return;
- }
- sc->hw_state = HW_CLOSING2;
- if (sc->config->dmalevel != TRLLD_DMA_PIO)
- isa_dma_release(sc->config->dmalevel);
-
-}
-
-static void
-DriverStatistics(DriverHandle, Statistics)
- void *DriverHandle;
- TRlldStatistics_t *Statistics;
-{
- printf("oltr: DriverStatistics\n");
-}
-
-static void
-DriverTransmitFrameCompleted(DriverHandle, FrameHandle, TransmitStatus)
- void *DriverHandle;
- void *FrameHandle;
- int TransmitStatus;
-{
- int frame = (int)FrameHandle;
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- /*printf("oltr%d: transmit complete frame %d\n", sc->unit, frame);*/
- if (TransmitStatus == TRLLD_TRANSMIT_OK) {
- ifp->if_opackets++;
- } else {
- printf("oltr%d: DriverTransmitFrameCompleted (frame %d status %x)\n", sc->unit, frame, TransmitStatus);
- ifp->if_oerrors++;
- }
-
- if ((frame < 0) || (frame > TX_LIST_SIZE)) {
- printf("oltr%d: bogus transmit frame. (%d)\n", sc->unit, frame);
- return;
- }
-
- if (sc->config->mode & TRLLD_MODE_16M) {
- sc->tx_avail++;
- } else {
- m_freem(sc->tx_buffer[frame].m);
- sc->tx_avail += sc->tx_buffer[frame].count;
- }
-
- if ((ifp->if_flags & IFF_OACTIVE) && (sc->tx_avail > 0)) {
- ifp->if_flags &= ~(IFF_OACTIVE);
- oltr_start(ifp);
- }
-
-}
-
-static void
-DriverReceiveFrameCompleted(DriverHandle, ByteCount, FragmentCount, FragmentHandle, ReceiveStatus)
- void *DriverHandle;
- int ByteCount;
- int FragmentCount;
- void *FragmentHandle;
- int ReceiveStatus;
-{
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
- struct ifnet *ifp = &sc->arpcom.ac_if;
- struct iso88025_header *th;
- struct mbuf *m0, *m1, *m;
- int j = (int)FragmentHandle, rc, frame_len = ByteCount, mac_hdr_len;
- int mbuf_offset, mbuf_size, frag_offset, length;
- char *frag = sc->rx_buffer[j].buf;
-
- /*printf("oltr%d: ReceiveFrameCompleted (Size %d Count %d Start %d)\n", sc->unit, ByteCount, FragmentCount, j);*/
-
- if (sc->hw_state >= HW_OPEN) { /* Hardware operating normally */
- if (frag != sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf) {
- printf("oltr%d: ring buffer pointer blown\n", sc->unit);
- oltr_stop(sc);
- return;
- }
- if (ReceiveStatus == TRLLD_RCV_OK) { /* Receive good frame */
- MGETHDR(m0, M_DONTWAIT, MT_DATA);
- mbuf_size = MHLEN;
- if (m0 == NULL) {
- ifp->if_ierrors++;
- goto out;
- }
- if (ByteCount + 2 > MHLEN) {
- MCLGET(m0, M_DONTWAIT);
- mbuf_size = MCLBYTES;
- if ((m0->m_flags & M_EXT) == 0) {
- m_freem(m0);
- ifp->if_ierrors++;
- goto out;
- }
- }
-
- m0->m_pkthdr.rcvif = &sc->arpcom.ac_if;
- m0->m_pkthdr.len = ByteCount;
- m0->m_len = 0;
- m0->m_data += 2;
- mbuf_size -=2;
- th = mtod(m0, struct iso88025_header *);
- m0->m_pkthdr.header = (void *)th;
-
- m = m0; mbuf_offset = 0; frag_offset = 0;
- while (frame_len > 0) {
- length = MIN3(frame_len, (RX_BUFFER_LEN - frag_offset), (mbuf_size - mbuf_offset));
- bcopy(frag + frag_offset, mtod(m, char *) + mbuf_offset, length);
- m->m_len += length;
- mbuf_offset += length;
- frag_offset += length;
- frame_len -= length;
- if (frag_offset == RX_BUFFER_LEN) {
- frag = sc->rx_buffer[++j].buf;
- frag_offset = 0;
- }
- if ((mbuf_offset == mbuf_size) && (frame_len > 0)) {
- MGET(m1, M_DONTWAIT, MT_DATA);
- mbuf_size = MHLEN;
- if (m1 == NULL) {
- ifp->if_ierrors++;
- m_freem(m0);
- goto out;
- }
- if (frame_len > MHLEN) {
- MCLGET(m1, M_DONTWAIT);
- mbuf_size = MCLBYTES;
- if ((m1->m_flags & M_EXT) == 0) {
- m_freem(m0);
- m_freem(m1);
- ifp->if_ierrors++;
- goto out;
- }
- }
- m->m_next = m1;
- m = m1;
- mbuf_offset = 0;
- m->m_len = 0;
- }
- }
- ifp->if_ipackets++;
-
-#if NBPFILTER > 0
- if (ifp->if_bpf)
- bpf_mtap(ifp, m0);
-#endif
-
- if (ifp->if_flags & IFF_PROMISC)
- if (bcmp(th->iso88025_dhost, etherbroadcastaddr, sizeof(th->iso88025_dhost)) != 0) {
- if (((th->iso88025_dhost[0] & 0x7f) != sc->arpcom.ac_enaddr[0]) ||
- (bcmp(th->iso88025_dhost + 1, sc->arpcom.ac_enaddr + 1, ISO88025_ADDR_LEN - 1))) {
- m_freem(m0);
- goto out;
- }
- }
-
- mac_hdr_len = ISO88025_HDR_LEN;
- if (th->iso88025_shost[0] & 0x80) /* Check for source routing info */
- mac_hdr_len += (ntohs(th->rcf) & 0x1f00) >> 8;
-
- m0->m_pkthdr.len -= mac_hdr_len;
- m0->m_len -= mac_hdr_len;
- m0->m_data += mac_hdr_len;
-
- iso88025_input(&sc->arpcom.ac_if, th, m0);
-
- } else {
- if (ReceiveStatus != TRLLD_RCV_NO_DATA) {
- printf("oltr%d: receive error. (ReceiveStatus=%d)\n", sc->unit, ReceiveStatus);
- ifp->if_ierrors++;
- }
- }
-out:
- while (FragmentCount > 0) {
- rc = TRlldReceiveFragment(sc->TRlldAdapter,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf,
- kvtop(sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf),
- RX_BUFFER_LEN,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].index);
- if (rc == TRLLD_RECEIVE_OK) {
- sc->rx_next++;
- FragmentCount--;
- } else {
- printf("oltr%d: Adapter refused fragment (%d).\n", sc->unit, sc->rx_next - 1);
- sc->rx_avail += FragmentCount;
- break;
- }
- }
- } else { /* Hardware being closed */
- if (frag != sc->rx_buffer[sc->rx_next++ & RX_LIST_MASK].buf) {
- printf("oltr%d: ring buffer pointer blown\n", sc->unit);
- }
- sc->rx_avail += FragmentCount;
- }
-
-}
-
-
-/*
- * ---------------------------- PMW Glue -------------------------------
- */
-
-#ifndef TRlldInlineIO
-
-static void
-DriverOutByte(IOAddress, value)
- unsigned short IOAddress;
- unsigned char value;
-{
- outb(IOAddress, value);
-}
-
-static void
-DriverOutWord(IOAddress, value)
- unsigned short IOAddress;
- unsigned short value;
-{
- outw(IOAddress, value);
-}
-
-static void
-DriverOutDword(IOAddress, value)
- unsigned short IOAddress;
- unsigned long value;
-{
- outl(IOAddress, value);
-}
-
-static void
-DriverRepOutByte(IOAddress, DataPointer, ByteCount)
- unsigned short IOAddress;
- unsigned char *DataPointer;
- int ByteCount;
-{
- outsb(IOAddress, (void *)DataPointer, ByteCount);
-}
-
-static void
-DriverRepOutWord(IOAddress, DataPointer, WordCount)
- unsigned short IOAddress;
- unsigned short *DataPointer;
- int WordCount;
-{
- outsw(IOAddress, (void *)DataPointer, WordCount);
-}
-
-static void
-DriverRepOutDword(IOAddress, DataPointer, DWordCount)
- unsigned short IOAddress;
- unsigned long *DataPointer;
- int DWordCount;
-{
- outsl(IOAddress, (void *)DataPointer, DWordCount);
-}
-
-static unsigned char
-DriverInByte(IOAddress)
- unsigned short IOAddress;
-{
- return(inb(IOAddress));
-}
-
-static unsigned short
-DriverInWord(IOAddress)
- unsigned short IOAddress;
-{
- return(inw(IOAddress));
-}
-
-static unsigned long
-DriverInDword(IOAddress)
- unsigned short IOAddress;
-{
- return(inl(IOAddress));
-}
-
-static void
-DriverRepInByte(IOAddress, DataPointer, ByteCount)
- unsigned short IOAddress;
- unsigned char *DataPointer;
- int ByteCount;
-{
- insb(IOAddress, (void *)DataPointer, ByteCount);
-}
-
-static void
-DriverRepInWord(IOAddress, DataPointer, WordCount)
- unsigned short IOAddress;
- unsigned short *DataPointer;
- int WordCount;
-{
- insw(IOAddress, (void *)DataPointer, WordCount);
-}
-static void
-DriverRepInDword(IOAddress, DataPointer, DWordCount)
- unsigned short IOAddress;
- unsigned long *DataPointer;
- int DWordCount;
-{
- insl(IOAddress, (void *)DataPointer, DWordCount);
-}
-#endif /* TRlldInlineIO */
-
-#endif /* NOLTR */
diff --git a/sys/contrib/dev/oltr/trlld.h b/sys/contrib/dev/oltr/trlld.h
deleted file mode 100644
index d61893e2ab77..000000000000
--- a/sys/contrib/dev/oltr/trlld.h
+++ /dev/null
@@ -1,892 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: PowerMACH Works header file
- *
- *---------------------------------------------------------------------------
- * $Log: O:/USR/PROJECT/trlld/libsrc/include/trlld.h_v $
- *
- * Rev 1.8 10 Dec 1998 12:24:52 JHM
- * version 1.2.0,prominfo structure with shorts.
- *
- * Rev 1.7 25 Nov 1998 16:18:48 JHM
- * Bullseye mac, 100MBPS, mactype in config structure,
- * 3540 adapter, TRlldTransmitFree, TRlldReceiveFree,
- * TRlldAdapterName
- *
- * Rev 1.6 23 Oct 1998 16:00:36 JHM
- * hawkeye adapter types
- *
- * Rev 1.5 11 Aug 1998 12:22:06 JHM
- * split hawkeye types into PCI4,5,6
- *
- * Rev 1.4 10 Jul 1998 14:39:22 JHM
- * OC_3140,OC_3250
- *
- * Rev 1.3 18 Jun 1998 11:32:20 JHM
- * AddMemory,OC_3250
- *
- * Rev 1.2 18 Apr 1998 15:11:20 JHM
- *
- * Rev 1.1 09 Dec 1997 18:17:52 JHM
- * rel111: TRlldDataPtr_t
- *
- * Rev 1.0 24 Nov 1997 11:08:58 JHM
- * Initial revision.
-
- Rev 1.5 18 Jun 1997 11:31:36 JHM
- Checks for version
-
- Rev 1.4 13 Jun 1997 13:47:34 JHM
-
- Rev 1.3 13 Jun 1997 13:27:56 JHM
- DTR support, version change
-
- Rev 1.2 12 Jun 1997 11:43:20 JHM
- TRLLD_INTERRUPT_TIMEOUT defined
-
- Rev 1.1 11 Apr 1997 15:24:18 JHM
- replaced tabs with spaces
-
- Rev 1.0 11 Apr 1997 14:43:04 JHM
- Initial revision.
- *
- ****************************************************************************
-*/
-
-#ifndef TRLLD_H
-#define TRLLD_H
-
-/* Data buffer pointers are always 32 bits.
- For 16:16 it is segment:offset while it for 32:32 is a linear address. */
-
-#ifdef TRlldSmall
-#define TRlldDataPtr_t unsigned char far *
-#define TRlldWordDataPtr_t unsigned short far *
-#define TRlldDWordDataPtr_t unsigned long far *
-#else
-#define TRlldDataPtr_t unsigned char *
-#define TRlldWordDataPtr_t unsigned short *
-#define TRlldDWordDataPtr_t unsigned long *
-#endif
-
-#ifdef __WATCOMC__
-#define CDECL _cdecl
-#else
-#define CDECL
-#endif
-
-/*****************************************************************************/
-/* */
-/* Firmware */
-/* */
-/*****************************************************************************/
-
-extern unsigned char TRlldMacCode[]; /* 3115,17,18,29,33,36,37 */
-extern unsigned char TRlldHawkeyeMac[]; /* 3139,3140,3141,3250 */
-extern unsigned char TRlldBullseyeMac[]; /* 3540 */
-
-/*****************************************************************************/
-/* */
-/* Maximal numbers of concurrent receive and transmit slots */
-/* */
-/*****************************************************************************/
-
-#define TRLLD_MAX_RECEIVE 32
-#define TRLLD_MAX_TRANSMIT 32
-
-/*****************************************************************************/
-/* */
-/* Maximal frame sizes */
-/* */
-/*****************************************************************************/
-
-#define TRLLD_MAXFRAME_100MBPS 18000
-#define TRLLD_MAXFRAME_16MBPS 18000
-#define TRLLD_MAXFRAME_4MBPS 4500
-
-/*****************************************************************************/
-/* */
-/* TRlldStatus contains the adapter status used in a DriverStatus call-back. */
-/* */
-/*****************************************************************************/
-
-struct OnWireInformation {
- unsigned short RingStatus;
- unsigned short Speed;
- unsigned short AccessProtocol;
- unsigned short Reserved;
-};
-
-typedef struct TRlldStatus {
- unsigned short Type;
- unsigned char Closed;
- unsigned char AccessProtocol;
- unsigned short MaxFrameSize;
- unsigned short Reserved;
- union {
- unsigned short OnWireRingStatus; /* for compability */
- unsigned short SelftestStatus;
- unsigned short InitStatus;
- unsigned short RingStatus;
- unsigned short AdapterCheck[4];
- unsigned short InternalError[4];
- unsigned short PromRemovedCause;
- unsigned short AdapterTimeout;
- struct OnWireInformation OnWireInformation;
- } Specification;
-} TRlldStatus_t;
-
-/* values of TRlldStatus.Type */
-
-#define TRLLD_STS_ON_WIRE 0
-#define TRLLD_STS_SELFTEST_STATUS 1
-#define TRLLD_STS_INIT_STATUS 2
-#define TRLLD_STS_RING_STATUS 3
-#define TRLLD_STS_ADAPTER_CHECK 4
-#define TRLLD_STS_PROMISCUOUS_STOPPED 5
-#define TRLLD_STS_LLD_ERROR 6
-#define TRLLD_STS_ADAPTER_TIMEOUT 7
-
-/* values of TRlldStatus.Closed */
-
-#define TRLLD_STS_STATUS_OK 0
-#define TRLLD_STS_STATUS_CLOSED 1
-
-/* values of TRlldStatus.AccessProtocol */
-
-#define TRLLD_ACCESS_UNKNOWN 0
-#define TRLLD_ACCESS_TKP 1
-#define TRLLD_ACCESS_TXI 2
-
-/* values of TRlldStatus.SelftestStatus */
-
-#define TRLLD_ST_OK 0
-#define TRLLD_ST_ERROR 0x0100 /* actual errors are 010x, where x is */
- /* 0: Initial Test Error */
- /* 1: Adapter Software Checksum Error */
- /* 2: Adapter RAM Error */
- /* 4: Instruction Test Error */
- /* 5: Protocol Handler/RI Hw Error */
- /* 6: System Interface Register Error */
-
-#define TRLLD_ST_TIMEOUT 0x0200 /* The adapter did not complete */
- /* selftest after download */
-
-/* values of TRlldStatus.Specification.InitStatus */
-
-/* the most likely cause of an init error (whatever the code) is a wrong */
-/* physical or virtual address of the adapter block in TRlldAdapterInit */
-
-#define TRLLD_INIT_ERROR 0x100 /* actual errors are 010x, where x is */
- /* 1: Invalid init block (LLD error) */
- /* 2: Invalid options (LLD error) */
- /* 3: Invalid rcv burst (LLD error) */
- /* 4: Invalid xmt burst (LLD error) */
- /* 5: Invalid DMA threshold (LLDerror)*/
- /* 6: Invalid scb addr */
- /* 7: Invalid ssb addr */
- /* 8: DIO parity error (HW error) */
- /* 9: DMA timeout (May be interrupt
- failing if PIO mode or PCI2) */
- /* A: DMA parity error (HW error) */
- /* B: DMA bus error (HW error) */
- /* C: DMA data error */
- /* D: Adapter check */
-
-#define TRLLD_INIT_TIMEOUT 0x200 /* adapter init did not complete */
-#define TRLLD_INIT_DMA_ERROR 0x300 /* adapter cannot access sys memory */
-#define TRLLD_INIT_INTR_ERROR 0x400 /* adapter cannot interrupt */
-#define TRLLD_OPEN_TIMEOUT 0x500 /* adapter open did not complete */
- /* within 30 seconds */
-
-#define TRLLD_OPEN_ERROR 0x600 /* actual errors are 06xx, where the */
- /* bits in x mean: */
- /* 01: Invalid open options (LLDerror)*/
- /* 04: TxBuffer count error (LLDerror)*/
- /* 10: Buffer size error (LLD error) */
- /* 20: List size error (LLD error) */
- /* 40: Node address error */
-
-#define TRLLD_OPEN_REPEAT 0x700 /* actual errors are 07xy, where */
- /* x is the open phase: */
- /* 1: Lobe media test */
- /* 2: Physical Insertion */
- /* 3: Address verification */
- /* 4: Participation in ring poll */
- /* 5: Request Initialization */
- /* 9: Request registration (TXI) */
- /* A: Lobe Media Test (TXI) */
- /* B: Address verification (TXI) */
- /* y is the type of error: */
- /* 1: Function failure (No Cable ?) */
- /* 2: Signal loss */
- /* 5: Timeout */
- /* 6: Ring failure (TKP) */
- /* 6: Protocol error (TXI) */
- /* 7: Ring beaconing */
- /* 8: Duplicate Node Address (TKP) */
- /* 8: Insert Denied (TXI) */
- /* 9: Request Initialization (TKP) */
- /* 9: Heart beat failure (TXI) */
- /* A: Remove received */
- /* B: C-port address changed (TXI) */
- /* C: Wire Fault (TKP) */
- /* D: Auto Speed, 1. on ring (TKP) */
- /* E: Speed sense failed */
-
-/* When opening with FORCE_TXI and only classic token ring attachment is */
-/* possible, the error is Request Registration/Timeout or 0x795 */
-
-#define TRLLD_OPEN_1ST_ON_RING 0x800 /* Speed sense is active, but no other*/
- /* station is present to set the speed*/
-
-
-/* values of TRlldStatus.Specification.RingStatus */
-
-#define TRLLD_RS_SIGNAL_LOSS 0x8000
-#define TRLLD_RS_HARD_ERROR 0x4000
-#define TRLLD_RS_SOFT_ERROR 0x2000
-#define TRLLD_RS_TRANSMIT_BEACON 0x1000
-#define TRLLD_RS_LOBE_WIRE_FAULT 0x0800
-#define TRLLD_RS_AUTO_REMOVAL_ERROR 0x0400
-#define TRLLD_RS_REMOVE_RECEIVED 0x0100
-#define TRLLD_RS_COUNTER_OVERFLOW 0x0080
-#define TRLLD_RS_SINGLE_STATION 0x0040
-#define TRLLD_RS_RING_RECOVERY 0x0020
-
-/* values of TRlldStatus.Specification.AdapterCheck */
-/* MISSING */
-
-/* values of TRlldStatus.Specification.PromRemovedCause */
-
-#define TRLLD_PROM_REMOVE_RECEIVED 1
-#define TRLLD_PROM_POLL_FAILURE 2
-#define TRLLD_PROM_BUFFER_SIZE 3
-
-/* values of TRlldStatus.Specification.InternalError */
-
-#define TRLLD_INTERNAL_PIO 1 /* A PIO transfer to or from adapter */
- /* did not complete */
-#define TRLLD_INTERNAL_TX 2 /* Trouble with clean up of tx frames */
-#define TRLLD_INTERNAL_RX 3 /* Trouble with clean up of receive */
- /* fragments */
-#define TRLLD_INTERNAL_CMD 4 /* error response from adapter */
-#define TRLLD_INTERNAL_STATE 5 /* event happened in unexpected state */
-
-/* values of TRlldStatus.Specification.AdapterTimeout */
-
-#define TRLLD_COMMAND_TIMEOUT 1
-#define TRLLD_TRANSMIT_TIMEOUT 2
-#define TRLLD_INTERRUPT_TIMEOUT 3
-
-
-/*****************************************************************************/
-/* */
-/* TRlldStatistics contains the adapter statistics returned to Driver */
-/* in TRlldStatistics calls and DriverStatistics call-backs */
-/* */
-/*****************************************************************************/
-
-typedef struct TRlldStatistics {
- unsigned long LineErrors;
- unsigned long InternalErrors; /* Not maintained by TMS based boards */
- unsigned long BurstErrors;
- unsigned long ARIFCIErrors;
- unsigned long AbortDelimiters; /* Not maintained by TMS based boards */
- unsigned long LostFrames;
- unsigned long CongestionErrors;
- unsigned long FrameCopiedErrors;
- unsigned long FrequencyErrors; /* Not maintained by TMS based boards */
- unsigned long TokenErrors;
- unsigned long DMABusErrors; /* Not maintained by 3139 */
- unsigned long DMAParityErrors; /* Not maintained by 3139 */
- unsigned long ReceiveLongFrame; /* Not maintained by TMS based boards */
- unsigned long ReceiveCRCErrors; /* Not maintained by TMS based boards */
- unsigned long ReceiveOverflow; /* Not maintained by TMS based boards */
- unsigned long TransmitUnderrun; /* Not maintained by TMS based boards */
- unsigned long UnderrunLock; /* Not maintained by TMS based boards */
- unsigned long OverflowReset;
- unsigned char UpstreamNeighbour[6];
- unsigned short RingNumber;
- unsigned char BeaconingUpstreamNeighbour[6];
- unsigned short padding;
-} TRlldStatistics_t;
-
-
-/*****************************************************************************/
-/* */
-/* TRlldDriver contains the Driver call-backs */
-/* */
-/*****************************************************************************/
-
-typedef struct TRlldDriver {
- unsigned long TRlldVersion;
-#ifndef TRlldInlineIO
- void (CDECL * DriverOutByte)(unsigned short IOAddress,
- unsigned char Value);
- void (CDECL * DriverOutWord)(unsigned short IOAddress,
- unsigned short Value);
- void (CDECL * DriverOutDWord)(unsigned short IOAddress,
- unsigned long Value);
- void (CDECL * DriverRepOutByte)(unsigned short IOAddress,
- TRlldDataPtr_t DataPointer,
- int ByteCount);
- void (CDECL * DriverRepOutWord)(unsigned short IOAddress,
- TRlldWordDataPtr_t DataPointer,
- int WordCount);
- void (CDECL * DriverRepOutDWord)(unsigned short IOAddress,
- TRlldDWordDataPtr_t DataPointer,
- int DWordCount);
- unsigned char (CDECL * DriverInByte)(unsigned short IOAddress);
- unsigned short (CDECL * DriverInWord)(unsigned short IOAddress);
- unsigned long (CDECL * DriverInDWord)(unsigned short IOAddress);
- void (CDECL * DriverRepInByte)(unsigned short IOAddress,
- TRlldDataPtr_t DataPointer,
- int ByteCount);
- void (CDECL * DriverRepInWord)(unsigned short IOAddress,
- TRlldWordDataPtr_t DataPointer,
- int WordCount);
- void (CDECL * DriverRepInDWord)(unsigned short IOAddress,
- TRlldDWordDataPtr_t DataPointer,
- int DWordCount);
-#endif
- void (CDECL * DriverSuspend)(unsigned short MicroSeconds);
- void (CDECL * DriverStatus)(void * DriverHandle,
- TRlldStatus_t * Status);
- void (CDECL * DriverCloseCmpltd)(void * DriverHandle);
- void (CDECL * DriverStatistics)(void * DriverHandle,
- TRlldStatistics_t * Statistics);
- void (CDECL * DriverTxFrameCmpltd)(void * DriverHandle,
- void * FrameHandle,
- int TxStatus);
- void (CDECL * DriverRcvFrameCmpltd)(void * DriverHandle,
- int ByteCount,
- int FragmentCount,
- void * FragmentHandle,
- int RcvStatus);
-} TRlldDriver_t;
-
-/* Version and model control */
-
-#define TRLLD_VERSION_INLINEIO 0x8000
-#define TRLLD_VERSION_SMALL 0x4000
-#ifdef TRlldInlineIO
-#ifdef TRlldSmall
-#define TRLLD_VERSION 0x4120
-#else
-#define TRLLD_VERSION 0x0120
-#endif
-#else
-#ifdef TRlldSmall
-#define TRLLD_VERSION 0xC120
-#else
-#define TRLLD_VERSION 0x8120
-#endif
-#endif
-
-
-/*****************************************************************************/
-/* */
-/* TRlldAdapterConfig contains the properties found for an adapter */
-/* used when finding and defining adapters to use */
-/* */
-/*****************************************************************************/
-
-
-struct pnp_id {
- unsigned short vendor;
- unsigned short device;
-};
-
-struct pci_id {
- unsigned short vendor;
- unsigned short device;
- unsigned char revision;
- unsigned char reserved_byte;
- unsigned short reserved_word;
-};
-
-struct pcmcia_id {
- /* unknown as yet */
- unsigned char x;
-};
-
-struct pci_slot {
- unsigned short bus_no;
- unsigned short device_no;
-};
-
-struct pcmcia_socket {
- /* unknown as yet */
- unsigned char x;
-};
-
-typedef struct TRlldAdapterConfig {
- unsigned char type;
- unsigned char bus;
- unsigned short magic;
- union {
- struct pnp_id pnp;
- unsigned long eisa;
- unsigned short mca;
- struct pci_id pci;
- struct pcmcia_id pcmcia;
- } id;
- union {
- unsigned short csn;
- unsigned short eisa;
- unsigned short mca;
- struct pci_slot pci;
- struct pcmcia_socket pcmcia;
- } slot;
- unsigned short iobase0;
- unsigned short iolength0;
- unsigned short iobase1;
- unsigned short iolength1;
- unsigned long memorybase;
- unsigned short memorylength;
- unsigned char mode;
- unsigned char xmode;
- unsigned char interruptlevel;
- unsigned char dmalevel;
- unsigned char macaddress[6];
- unsigned long prombase;
- unsigned char speed;
- unsigned char cachelinesize;
- unsigned short pcicommand;
- unsigned char mactype;
- unsigned char reserved[3];
-} TRlldAdapterConfig_t;
-
-/* values of TRlldAdapterConfig.Type */
-
-#define TRLLD_ADAPTER_XT 0 /* not supported */
-#define TRLLD_ADAPTER_ISA1 1 /* OC-3115 */
-#define TRLLD_ADAPTER_ISA2 2 /* OC-3117 */
-#define TRLLD_ADAPTER_ISA3 3 /* OC-3118 */
-#define TRLLD_ADAPTER_MCA1 4 /* OC-3129 id A84 */
-#define TRLLD_ADAPTER_MCA2 5 /* OC-3129 id A85 */
-#define TRLLD_ADAPTER_MCA3 6 /* OC-3129 id A86 */
-#define TRLLD_ADAPTER_EISA1 7 /* OC-3133 id 0109833D */
-#define TRLLD_ADAPTER_EISA2 8 /* OC-3133 id 0209833D */
-#define TRLLD_ADAPTER_EISA3 9 /* OC-3135 not supported */
-#define TRLLD_ADAPTER_PCI1 10 /* OC-3136 id 108d0001 rev 1 */
-#define TRLLD_ADAPTER_PCI2 11 /* OC-3136 id 108d0001 rev 2 */
-#define TRLLD_ADAPTER_PCI3 12 /* OC-3137 id 108d0001 rev 3 */
-#define TRLLD_ADAPTER_PCI4 13 /* OC-3139 id 108d0004 rev 2 */
-#define TRLLD_ADAPTER_PCI5 14 /* OC-3140 id 108d0004 rev 3 */
-#define TRLLD_ADAPTER_PCI6 15 /* OC-3141 id 108d0007 rev 1 */
-#define TRLLD_ADAPTER_PCI7 19 /* OC-3540 id 108d0008 rev 1 */
-#ifdef PCMCIA
-#define TRLLD_ADAPTER_PCCARD1 16 /* OC-3220 */
-#define TRLLD_ADAPTER_PCCARD2 17 /* OC-3221,OC-3230,OC-3232 */
-#endif
-#define TRLLD_ADAPTER_PCCARD3 18 /* OC-3250 id 108d0005 rev 1 */
-
-/* values of TRlldAdapterConfig.Bus */
-
-#define TRLLD_BUS_ISA 1
-#define TRLLD_BUS_EISA 2
-#define TRLLD_BUS_MCA 3
-#define TRLLD_BUS_PCI 4
-#define TRLLD_BUS_PCMCIA 5
-
-/* values of TRlldAdapterConfig.mode */
-
-#define TRLLD_MODE_16M 0x01 /* needs data buffers below 16 M */
-#define TRLLD_MODE_PHYSICAL 0x02 /* needs valid physical addresses */
-#define TRLLD_MODE_FIXED_CFG 0x04 /* cannot be reconfigured */
-#define TRLLD_MODE_SHORT_SLOT 0x08 /* in short ISA slot, cannot use DMA */
-#define TRLLD_MODE_CANNOT_DISABLE 0x10 /* can not disable interrupt */
-#define TRLLD_MODE_SHARE_INTERRUPT 0x20 /* may share interrupt */
-#define TRLLD_MODE_MEMORY 0x40 /* is configured with a memory window*/
-
-/* values of TRlldAdapterConfig.dma */
-
-#define TRLLD_DMA_PIO 4 /* other values signifies the DMA channel */
-#define TRLLD_DMA_MASTER 0xff /* to use */
-
-/* values of TRlldAdapterConfig.mactype */
-
- /* download with: */
-#define TRLLD_MAC_TMS 1 /* TRlldMACCode */
-#define TRLLD_MAC_HAWKEYE 2 /* TRlldHawkeyeMAC */
-#define TRLLD_MAC_BULLSEYE 3 /* TRlldBullseyeMAC */
-
-
-typedef void * TRlldAdapter_t;
-typedef void * TRlldAdapterType_t;
-
-#ifndef MAX_FRAGMENTS
-#define MAX_FRAGMENTS 32
-#endif
-
-typedef struct TRlldTransmit {
- unsigned short FragmentCount;
- unsigned short TRlldTransmitReserved;
- struct TRlldTransmitFragment {
- unsigned long PhysicalAddress;
- TRlldDataPtr_t VirtualAddress;
- unsigned short count;
- unsigned short TRlldTransmitFragmentReserved;
- } TransmitFragment[MAX_FRAGMENTS];
-} TRlldTransmit_t;
-
-int CDECL TRlldAdapterSize(void);
-
-int CDECL TRlldInit(int TypeCount,
- TRlldAdapterType_t * AdapterTypeTable);
-
-extern TRlldAdapterType_t CDECL TRlld3115; /* ISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3117;
-extern TRlldAdapterType_t CDECL TRlld3118;
-extern TRlldAdapterType_t CDECL TRlld3129; /* MCA adapters */
-extern TRlldAdapterType_t CDECL TRlld3133; /* EISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3136; /* PCI adapters */
-extern TRlldAdapterType_t CDECL TRlld3137;
-extern TRlldAdapterType_t CDECL TRlld3139; /* Hawkeye adapters */
-extern TRlldAdapterType_t CDECL TRlld3540; /* BUllseye adapter */
-
-#define T3115 &TRlld3115
-#define T3117 &TRlld3117
-#define T3118 &TRlld3118
-#define T3129 &TRlld3129
-#define T3133 &TRlld3133
-#define T3136 &TRlld3136
-#define T3137 &TRlld3137
-#define T3139 &TRlld3139
-#define T3540 &TRlld3540
-
-/* Only for Boot Prom Page Zero code */
-
-extern TRlldAdapterType_t CDECL TRlld3115Boot; /* ISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3117Boot;
-extern TRlldAdapterType_t CDECL TRlld3118Boot;
-extern TRlldAdapterType_t CDECL TRlld3129Boot; /* MCA adapters */
-extern TRlldAdapterType_t CDECL TRlld3133Boot; /* EISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3136Boot; /* PCI adapters */
-extern TRlldAdapterType_t CDECL TRlld3137Boot;
-extern TRlldAdapterType_t CDECL TRlld3139Boot; /* Hawkeye adapters */
-extern TRlldAdapterType_t CDECL TRlld3540Boot; /* Bullseye adapters */
-
-#define B3115 &TRlld3115Boot
-#define B3117 &TRlld3117Boot
-#define B3118 &TRlld3118Boot
-#define B3129 &TRlld3129Boot
-#define B3133 &TRlld3133Boot
-#define B3136 &TRlld3136Boot
-#define B3137 &TRlld3137Boot
-#define B3139 &TRlld3139Boot
-#define B3540 &TRlld3540Boot
-
-#define TRLLD_INIT_OK 0
-#define TRLLD_INIT_UNKNOWN 5
-
-int CDECL TRlldAdapterInit(TRlldDriver_t * DriverDefinition,
- TRlldAdapter_t * TRlldAdapter,
- unsigned long TRlldAdapterPhysical,
- void * DriverHandle,
- TRlldAdapterConfig_t * config);
-
-#define TRLLD_INIT_OK 0
-#define TRLLD_INIT_NOT_FOUND 1
-#define TRLLD_INIT_UNSUPPORTED 2
-#define TRLLD_INIT_PHYS16 3
-#define TRLLD_INIT_VERSION 4
-
-int CDECL TRlldSetSpeed(TRlldAdapter_t * adapter,
- unsigned char speed);
-
-#define TRLLD_SPEED_4MBPS 4
-#define TRLLD_SPEED_16MBPS 16
-#define TRLLD_SPEED_100MBPS 100
-
-int CDECL TRlldSetInterrupt(TRlldAdapter_t * adapter,
- unsigned char interruptlevel);
-
-int CDECL TRlldSetDMA(TRlldAdapter_t * adapter,
- unsigned char dma, unsigned char * mode);
-
-#define TRLLD_CONFIG_OK 0
-#define TRLLD_CONFIG_STATE 1
-#define TRLLD_CONFIG_ILLEGAL 2
-#define TRLLD_CONFIG_FAILED 3
-
-int CDECL TRlldSetSpecial(TRlldAdapter_t * adapter,
- unsigned short param1, unsigned short param2,
- unsigned short param3, unsigned short param4);
-
-int CDECL TRlldAddMemory(TRlldAdapter_t * adapter,
- TRlldDataPtr_t virtual,
- unsigned long physical,
- long size);
-
-int CDECL TRlldDisable(TRlldAdapter_t * adapter);
-
-#define TRLLD_OK 0
-#define TRLLD_NOT_SUPPORTED 1
-
-void CDECL TRlldEnable(TRlldAdapter_t * adapter);
-
-int CDECL TRlldInterruptPresent(TRlldAdapter_t * adapter);
-
-#define TRLLD_NO_INTERRUPT 0
-#define TRLLD_INTERRUPT 1
-
-int CDECL TRlldInterruptService(TRlldAdapter_t * adapter);
-
-int CDECL TRlldInterruptPreService(TRlldAdapter_t * adapter);
-
-void CDECL TRlldInterruptPostService(TRlldAdapter_t * adapter);
-
-
-int CDECL TRlldPoll(TRlldAdapter_t * adapter);
-
-int CDECL TRlldDownload(TRlldAdapter_t * adapter,
- char * DownLoadCode);
-
-#define TRLLD_DOWNLOAD_OK 0
-#define TRLLD_DOWNLOAD_ERROR 1
-#define TRLLD_STATE 2
-
-typedef int (CDECL * GetCode_t)(void * handle, unsigned char * maccodebyte);
-
-int CDECL TRlldStreamDownload(TRlldAdapter_t * adapter,
- GetCode_t procedure, void * handle);
-
-int CDECL TRlldOpen(TRlldAdapter_t * adapter,
- unsigned char * MACAddress,
- unsigned long GroupAddress,
- unsigned long FunctionalAddress,
- unsigned short MaxFrameSize,
- unsigned short OpenModes);
-
-#define TRLLD_OPEN_OK 0
-#define TRLLD_OPEN_STATE 1
-#define TRLLD_OPEN_ADDRESS_ERROR 2
-#define TRLLD_OPEN_MODE_ERROR 3
-#define TRLLD_OPEN_MEMORY 4
-
-#define TRLLD_MODE_TX_STATUS 0x01
-#define TRLLD_MODE_RX_SINGLE 0x02
-#define TRLLD_MODE_FORCE_TKP 0x04
-#define TRLLD_MODE_FORCE_TXI 0x08
-#define TRLLD_MODE_TX_CRC 0x10
-
-void CDECL TRlldClose(TRlldAdapter_t * adapter, int immediate);
-
-void CDECL TRlldSetGroupAddress(TRlldAdapter_t * adapter,
- unsigned long GroupAddress);
-
-void CDECL TRlldSetFunctionalAddress(TRlldAdapter_t * adapter,
- unsigned long FunctionalAddress);
-
-void CDECL TRlldSetPromiscuousMode(TRlldAdapter_t * adapter,
- unsigned char mode);
-
-/* mode bits */
-
-#define TRLLD_PROM_LLC 1
-#define TRLLD_PROM_MAC 2
-#define TRLLD_PROM_ERRORFRAMES 4
-
-int CDECL TRlldGetStatistics(TRlldAdapter_t * adapter,
- TRlldStatistics_t * statistics,
- int immediate);
-
-#define TRLLD_IMMEDIATE_STATISTICS 1
-
-#define TRLLD_STATISTICS_RETRIEVED 0
-#define TRLLD_STATISTICS_PENDING 1
-
-int CDECL TRlldTransmitFrame(TRlldAdapter_t * adapter,
- TRlldTransmit_t * TransmitFrame,
- void * FrameHandle);
-
-#define TRLLD_TRANSMIT_OK 0
-#define TRLLD_TRANSMIT_NOT_OPEN 1
-#define TRLLD_TRANSMIT_TOO_MANY 2
-#define TRLLD_TRANSMIT_MAX16 3
-#define TRLLD_TRANSMIT_SIZE 4
-#define TRLLD_TRANSMIT_EMPTY 5
-
-/* completion flags */
-
-#define TRLLD_TX_OK 0
-#define TRLLD_TX_NOT_PROCESSED 1
-#define TRLLD_TX_NOT_RECOGNIZED 2
-#define TRLLD_TX_NOT_COPIED 3
-
-/* number of free transmit fragments */
-
-int CDECL TRlldTransmitFree(TRlldAdapter_t * adapter);
-
-int CDECL TRlldReceiveFragment(TRlldAdapter_t * adapter,
- TRlldDataPtr_t FragmentStart,
- unsigned long FragmentPhysical,
- int count,
- void * FragmentHandle);
-
-#define TRLLD_RECEIVE_OK 0
-#define TRLLD_RECEIVE_NOT_OPEN 1
-#define TRLLD_RECEIVE_TOO_MANY 2
-#define TRLLD_RECEIVE_SIZE 3
-#define TRLLD_RECEIVE_MAX16 4
-
-/* completion flags */
-
-#define TRLLD_RCV_OK 0
-#define TRLLD_RCV_NO_DATA 1
-#define TRLLD_RCV_ERROR 2 /* Only when TRLLD_PROM_ERRORFRAMES */
-#define TRLLD_RCV_LONG 3
-
-/* number of free receive fragments */
-
-int CDECL TRlldReceiveFree(TRlldAdapter_t * adapter);
-
-int CDECL TRlldFind(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config_table,
- unsigned long type_mask,
- int max);
-
-/* type mask bits */
-
-#define OC_3115 0x0001
-#define OC_3117 0x0002
-#define OC_3118 0x0004
-#define OC_3129 0x0008
-#define OC_3133 0x0010
-#define OC_3136 0x0040
-#define OC_3137 0x0080
-#define OC_3139 0x0100
-#define OC_3140 0x0200
-#define OC_3141 0x0400
-#define OC_3540 0x0800
-
-#ifdef PCMCIA
-#define OC_3220 0x0800
-#define OC_3221 0x1000
-#define OC_3230 0x2000
-#define OC_3232 0x4000
-#endif
-
-#define OC_3250 0x8000
-
-int CDECL TRlldIOAddressConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- unsigned short address);
-
-
-#define TRLLD_FIND_OK 1
-#define TRLLD_FIND_ERROR 0
-#define TRLLD_FIND_VERSION -1
-
-int CDECL TRlldEISASlotConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- int slot);
-
-int CDECL TRlldMCASlotConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- int slot);
-
-int CDECL TRlldPCIConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- char * PCIConfigurationSpace);
-
-#define TRLLD_PCICONFIG_OK 0
-#define TRLLD_PCICONFIG_FAIL 1
-#define TRLLD_PCICONFIG_SET_COMMAND 2
-#define TRLLD_PCICONFIG_VERSION 3
-
-
-int CDECL TRlldFindPCI(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config_table,
- unsigned long type_mask,
- int max);
-
-#ifdef PCMCIA
-typedef void * PCCardHandle_t;
-
-typedef int (CDECL * GetTupleData_t)(PCCardHandle_t handle,
- unsigned short TupleIdent,
- char * TupleData,
- int length);
-
-int CDECL TRlldPCCardConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- unsigned short address,
- int irq,
- GetTupleData_t GetTuple,
- PCCardHandle_t handle);
-
-#define TRLLD_PCCARD_CONFIG_OK 0
-#define TRLLD_PCCARD_CONFIG_FAIL 1
-#endif
-
-/* Boot Prom Support */
-
-typedef struct TRlldPromInfo {
- unsigned short PromIdent;
- short PromPages;
- short PromPageSize;
-} TRlldPromInfo_t;
-
-int CDECL TRlldMapBootProm(TRlldAdapter_t * adapter,
- TRlldDataPtr_t prompointer);
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_FAILED 3
-
-int CDECL TRlldGetPromInfo(TRlldAdapter_t * adapter, TRlldPromInfo_t * info);
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_NOT_MOUNTED 1
-#define TRLLD_PROM_NOT_MAPPED 2
-
-void CDECL TRlldSetPromPage(TRlldAdapter_t * adapter, int page);
-
-int CDECL TRlldSetMemoryUse(TRlldAdapter_t * adapter, int use);
-
-#define TRLLD_PROM_TO_MEMORY 0
-#define TRLLD_REGISTERS_TO_MEMORY 1
-
-#define TRLLD_MEMORY_USE_OK 0
-#define TRLLD_MEMORY_USE_NO_MEMORY 1
-#define TRLLD_MEMORY_USE_STATE 2
-#define TRLLD_MEMORY_USE_ILLEGAL 3
-
-int CDECL TRlldPromErase(TRlldAdapter_t * adapter,
- void (CDECL * delay)(int milliseconds));
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_NOT_MOUNTED 1
-#define TRLLD_PROM_NOT_MAPPED 2
-#define TRLLD_PROM_FAILED 3
-
-int CDECL TRlldPromWrite(TRlldAdapter_t * adapter, char * data,
- int offset, int count);
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_NOT_MOUNTED 1
-#define TRLLD_PROM_NOT_MAPPED 2
-#define TRLLD_PROM_FAILED 3
-#define TRLLD_PROM_ILLEGAL 4
-
-void CDECL TRlldEmergency(TRlldAdapter_t * adapter);
-
-/* Convert from TRlldAdapterConfig.type to name string */
-char * CDECL TRlldAdapterName(int type);
-#endif
diff --git a/sys/contrib/dev/oltr/trlldbm.c b/sys/contrib/dev/oltr/trlldbm.c
deleted file mode 100644
index c4400f383e11..000000000000
--- a/sys/contrib/dev/oltr/trlldbm.c
+++ /dev/null
@@ -1,2011 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: Olicom Bullseye adapter micro-code
- *
- *---------------------------------------------------------------------------
- */
-
-#include "opt_oltr.h"
-
-#ifndef OLTR_NO_BULLSEYE_MAC
-
-unsigned char TRlldBullseyeMac[] = { 0x52, 0x94, 0x03, 0x00, 0x02, 0x7c, 0x7d, 0xb7, 0x4f, 0x43, 0x53, 0x4d, 0x41, 0x43, 0x2e, 0x42,
- 0x55, 0x4c, 0x4c, 0x53, 0x45, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xea, 0x55, 0x00, 0x00, 0x00, 0xfc, 0xfa, 0xb8, 0x00, 0x00, 0xbb, 0x00,
- 0x00, 0xb9, 0x00, 0x00, 0xba, 0x00, 0x00, 0xbe, 0x00, 0x00, 0xbf, 0x00, 0x00, 0xbd, 0x00, 0x00,
- 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xd0, 0xb8, 0x7e, 0x5e, 0x8b, 0xe0, 0x83, 0x3e, 0x4e,
- 0x00, 0x00, 0x75, 0x1c, 0x2b, 0xdb, 0x8b, 0xf3, 0xad, 0x8b, 0xd8, 0x8b, 0xc8, 0xd1, 0xe9, 0x49,
- 0x49, 0xad, 0x03, 0xd8, 0xe2, 0xfb, 0x0b, 0xdb, 0x74, 0x06, 0xc7, 0x06, 0x50, 0x5d, 0x01, 0x00,
- 0xb8, 0x00, 0x00, 0x8e, 0xd8, 0xc7, 0x06, 0x0c, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x0e, 0x00, 0xc7,
- 0x06, 0x04, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x06, 0x00, 0xc7, 0x06, 0x14, 0x00, 0x9a, 0x01, 0x8c,
- 0x0e, 0x14, 0x00, 0xc7, 0x06, 0x08, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x08, 0x00, 0x90, 0x90, 0x90,
- 0xc7, 0x06, 0x20, 0x00, 0xf2, 0x23, 0x8c, 0x0e, 0x22, 0x00, 0x2b, 0xc0, 0xe7, 0x06, 0xc7, 0x06,
- 0x30, 0x00, 0xe4, 0x0d, 0x8c, 0x0e, 0x32, 0x00, 0xc7, 0x06, 0x34, 0x00, 0xde, 0x0e, 0x8c, 0x0e,
- 0x36, 0x00, 0xc7, 0x06, 0x38, 0x00, 0x10, 0x0f, 0x8c, 0x0e, 0x3a, 0x00, 0xc7, 0x06, 0x3c, 0x00,
- 0x9a, 0x01, 0x8c, 0x0e, 0x3e, 0x00, 0xc7, 0x06, 0x08, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x0a, 0x00,
- 0xc7, 0x06, 0x14, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x16, 0x00, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26,
- 0x83, 0x0e, 0x32, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26,
- 0x32, 0x00, 0xf7, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x0e, 0x32, 0x00,
- 0x08, 0x2a, 0xe4, 0xb0, 0x13, 0xe6, 0x10, 0x90, 0x90, 0x90, 0xb0, 0x08, 0xe6, 0x12, 0x90, 0x90,
- 0x90, 0xb0, 0x09, 0xe6, 0x12, 0x90, 0x90, 0x90, 0xb0, 0xff, 0xe6, 0x12, 0x90, 0x90, 0x90, 0x26,
- 0x83, 0x26, 0x32, 0x00, 0xf7, 0x90, 0x90, 0x90, 0x33, 0xc0, 0x26, 0xc7, 0x06, 0x44, 0x00, 0xff,
- 0xff, 0x26, 0xc7, 0x06, 0x46, 0x00, 0xff, 0xff, 0x26, 0x09, 0x06, 0x48, 0x00, 0x26, 0x09, 0x06,
- 0x4a, 0x00, 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0x0f, 0x27, 0xe7, 0x00, 0xb8, 0x09, 0x00, 0xe7,
- 0x06, 0xb0, 0x11, 0xe8, 0x7f, 0x0a, 0xe8, 0xbd, 0x0a, 0xfb, 0xe9, 0x67, 0x0b, 0x90, 0x50, 0xb0,
- 0xa0, 0xe6, 0x10, 0x58, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xf0, 0xf0, 0xf0, 0xf0, 0xe7, 0xe7, 0xe7, 0x31, 0x36,
- 0x31, 0x32, 0x39, 0x38, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28,
- 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x38, 0x20, 0x4f, 0x6c, 0x69, 0x63, 0x6f, 0x6d, 0x2e, 0x20,
- 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x64, 0x20, 0x2c, 0x21, 0x2c, 0x21, 0x6e, 0x37, 0x1f, 0x3b, 0x1b, 0x3d, 0x61, 0x3e,
- 0xa3, 0x3f, 0xeb, 0x42, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x54, 0x41, 0xaa, 0x41, 0x3b, 0x42,
- 0xb8, 0x42, 0xbd, 0x42, 0xc2, 0x42, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x83, 0x3a,
- 0x2c, 0x21, 0x2c, 0x21, 0x03, 0x39, 0x63, 0x39, 0x63, 0x39, 0x40, 0x3a, 0x63, 0x39, 0x68, 0x3a,
- 0xa4, 0x3a, 0x2c, 0x21, 0x2c, 0x21, 0x54, 0x41, 0xaa, 0x41, 0x3b, 0x42, 0xb8, 0x42, 0xbd, 0x42,
- 0xc2, 0x42, 0x2c, 0x21, 0x7d, 0x39, 0x2c, 0x21, 0x08, 0x3a, 0x2c, 0x21, 0xd9, 0x3a, 0xff, 0x3a,
- 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0x74, 0x35, 0x9f, 0x36, 0xaa, 0x34, 0x86, 0x35,
- 0x32, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36,
- 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36,
- 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36,
- 0xde, 0x35, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0x11, 0x36, 0xaa, 0x34,
- 0xaa, 0x34, 0x23, 0x36, 0xaa, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x04, 0x04, 0x05, 0xff, 0xff, 0xff, 0x00, 0x03, 0x00, 0x03, 0x03, 0x00, 0x03, 0x0d, 0x06,
- 0xff, 0xff, 0x18, 0x06, 0x28, 0x06, 0x28, 0x06, 0x28, 0x06, 0x28, 0x06, 0x00, 0x00, 0x33, 0x06,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x39, 0x06, 0x58, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06,
- 0x6d, 0x06, 0x7d, 0x06, 0x00, 0x00, 0x83, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x2c, 0x21, 0x73, 0x43, 0x3e, 0x17, 0x5f, 0x34, 0xd5, 0x27, 0x0d, 0x4a, 0x2c, 0x21, 0xad, 0x43,
- 0x86, 0x47, 0xcf, 0x45, 0xcf, 0x43, 0x42, 0x45, 0x47, 0x47, 0x0b, 0x45, 0xff, 0x46, 0x0d, 0x48,
- 0x57, 0x48, 0x44, 0x48, 0x26, 0x47, 0x64, 0x48, 0x89, 0x48, 0xb4, 0x48, 0x47, 0x48, 0xd2, 0x48,
- 0x16, 0x03, 0x3c, 0x03, 0x5c, 0x03, 0x88, 0x03, 0xae, 0x03, 0x26, 0x04, 0x8c, 0x04, 0xc6, 0x04,
- 0x10, 0x05, 0x02, 0x06, 0xe8, 0x01, 0x10, 0x03, 0x36, 0x03, 0x64, 0x03, 0x82, 0x03, 0xa8, 0x03,
- 0x86, 0x04, 0xc0, 0x04, 0x0a, 0x05, 0xfc, 0x05, 0xe4, 0x01, 0x2e, 0x04, 0x94, 0x04, 0x00, 0x03,
- 0x2a, 0x03, 0x50, 0x03, 0x76, 0x03, 0x9c, 0x03, 0xc2, 0x03, 0xbc, 0x03, 0xda, 0x03, 0x98, 0x05,
- 0x0e, 0x04, 0x7a, 0x04, 0xb4, 0x04, 0xda, 0x04, 0xfa, 0x04, 0xe0, 0x05, 0x24, 0x05, 0x48, 0x05,
- 0x64, 0x05, 0x7c, 0x05, 0xf4, 0x03, 0xb0, 0x05, 0xc8, 0x05, 0x20, 0x5c, 0x28, 0x5c, 0x34, 0x5c,
- 0x3c, 0x5c, 0x44, 0x5c, 0x6a, 0x5c, 0x7e, 0x5c, 0x86, 0x5c, 0x92, 0x5c, 0xb8, 0x5c, 0xcc, 0x5c,
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6,
- 0xe6, 0x1d, 0x50, 0x1e, 0x7c, 0x1e, 0xf2, 0x1e, 0x14, 0x1f, 0xa6, 0x1f, 0x04, 0x20, 0x2c, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x30, 0x20, 0x58, 0x20, 0xc4, 0x20, 0xe8, 0x20, 0x24, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0xde, 0x16, 0x0e, 0x18, 0x92, 0x18, 0x94, 0x18, 0xb0, 0x18, 0xd6, 0x18,
- 0xf2, 0x18, 0x80, 0x19, 0xf8, 0x19, 0x48, 0x1b, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0x58, 0x22, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0x84, 0x1b, 0xf4, 0x1b, 0x9e, 0x1c, 0xea, 0x1c, 0x6c, 0x1d, 0x8c, 0x1d,
- 0xba, 0x1d, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0xaa, 0x55, 0x00, 0xff, 0xf6, 0x46, 0x01, 0x01, 0x75, 0x48, 0xc6, 0x86, 0x0e, 0x01, 0x05, 0xe8,
- 0x73, 0x01, 0xe8, 0x0d, 0x06, 0xe8, 0x02, 0x03, 0xe8, 0x5c, 0x03, 0x73, 0x19, 0xfe, 0x8e, 0x0e,
- 0x01, 0x74, 0x0d, 0xe8, 0xaa, 0x03, 0x8b, 0x86, 0x0f, 0x01, 0x26, 0xa3, 0x42, 0x00, 0xeb, 0xdf,
- 0xc7, 0x06, 0x50, 0x5d, 0x02, 0x00, 0x32, 0xe4, 0x8a, 0x46, 0x00, 0xe8, 0x48, 0x04, 0x83, 0x3e,
- 0x4e, 0x00, 0x02, 0x72, 0x03, 0xe8, 0x61, 0x03, 0xa1, 0x50, 0x5d, 0xe8, 0xb3, 0x42, 0xc6, 0x46,
- 0x01, 0x01, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x27, 0xf6, 0x86, 0x6c, 0x01, 0x01, 0x74, 0x03,
- 0xe8, 0x16, 0x55, 0xf6, 0x86, 0x6d, 0x01, 0x01, 0x74, 0x03, 0xe8, 0x64, 0x55, 0xf7, 0x86, 0x82,
- 0x01, 0x01, 0x00, 0x75, 0x08, 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x03, 0xe8, 0x40, 0x52,
- 0xe8, 0x5a, 0x05, 0xe8, 0x26, 0x05, 0xe8, 0x9e, 0x04, 0xe8, 0x43, 0x04, 0xf6, 0x86, 0x95, 0x02,
- 0x01, 0x74, 0x03, 0xe8, 0x78, 0x1c, 0x33, 0xdb, 0xf6, 0x86, 0xae, 0x02, 0x01, 0x74, 0x16, 0x8a,
- 0x5e, 0x09, 0x8a, 0x7e, 0x08, 0x38, 0xfb, 0x75, 0x30, 0x80, 0xfb, 0x00, 0x74, 0x07, 0x80, 0xfb,
- 0x1e, 0x74, 0x02, 0xeb, 0x22, 0x80, 0x7e, 0x06, 0x1e, 0x74, 0x1e, 0x33, 0xdb, 0x8a, 0x5e, 0x07,
- 0x3a, 0x5e, 0x06, 0x74, 0x14, 0xfa, 0x50, 0x8b, 0x46, 0x06, 0x89, 0x46, 0x0c, 0x58, 0x88, 0x5e,
- 0x06, 0x32, 0xff, 0xff, 0x97, 0x9e, 0x05, 0xeb, 0x32, 0x8a, 0x5e, 0x09, 0x3a, 0x5e, 0x08, 0x74,
- 0x2a, 0x50, 0x8b, 0x46, 0x08, 0x89, 0x46, 0x0e, 0x58, 0x80, 0xfb, 0x1e, 0x74, 0x12, 0x80, 0xfb,
- 0x00, 0x74, 0x0d, 0x80, 0xfb, 0x0c, 0x74, 0x08, 0x80, 0xfb, 0x16, 0x74, 0x03, 0xe8, 0x31, 0x2c,
- 0x88, 0x5e, 0x08, 0x32, 0xff, 0xfa, 0xff, 0x97, 0x7c, 0x05, 0xfb, 0xfa, 0xf7, 0x86, 0xf0, 0x00,
- 0xff, 0xff, 0x74, 0x0f, 0x8b, 0xb6, 0xf0, 0x00, 0x8b, 0x4c, 0x04, 0xe8, 0xce, 0x09, 0xfb, 0xff,
- 0xd1, 0xeb, 0x5c, 0xfb, 0xf7, 0x46, 0x16, 0xff, 0xff, 0x74, 0x27, 0x8d, 0x7e, 0x16, 0xe8, 0x64,
- 0x06, 0x56, 0x8b, 0x5c, 0x02, 0xd1, 0xe3, 0xff, 0x97, 0xcc, 0x04, 0x5e, 0xe8, 0x68, 0x06, 0xf7,
- 0x86, 0xcc, 0x01, 0x01, 0x00, 0x74, 0x09, 0xe8, 0xbf, 0x25, 0xc7, 0x86, 0xcc, 0x01, 0x00, 0x00,
- 0xeb, 0x2d, 0xfa, 0xf7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x75, 0x13, 0xf6, 0x86, 0xc4, 0x15, 0x80,
- 0x75, 0x0c, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0xfb, 0xe8, 0x0b, 0x3c, 0xeb, 0x11, 0xfa, 0x8b,
- 0x86, 0x67, 0x02, 0x38, 0xc4, 0x74, 0x07, 0x88, 0x86, 0x68, 0x02, 0xe8, 0xe5, 0x1a, 0xfb, 0xe8,
- 0xcd, 0x05, 0xe9, 0xcd, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x44, 0x00, 0xff, 0xcb, 0x8e,
- 0x46, 0x02, 0x26, 0xc7, 0x06, 0x48, 0x00, 0xff, 0xfb, 0xe8, 0xa1, 0x02, 0x33, 0xc0, 0x88, 0x86,
- 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa2, 0x5a, 0x00, 0x89, 0x86, 0x18,
- 0x02, 0x89, 0x86, 0x0a, 0x02, 0x89, 0x86, 0x3a, 0x02, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x4c,
- 0x00, 0x30, 0x01, 0x8d, 0x86, 0xa8, 0x08, 0x89, 0x86, 0xc0, 0x01, 0x89, 0x86, 0xc2, 0x01, 0xc7,
- 0x86, 0xc4, 0x01, 0x01, 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0x58, 0x02, 0xb9,
- 0x52, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0xd1, 0xd1, 0xf3, 0xaa, 0x8d, 0xbe, 0xec, 0x05, 0xab, 0xab,
- 0xaa, 0x8d, 0xbe, 0xf4, 0x05, 0xab, 0xab, 0xaa, 0x8d, 0xbe, 0xb8, 0x02, 0xb9, 0x0b, 0x00, 0xf3,
- 0xab, 0xc7, 0x86, 0xc8, 0x01, 0x14, 0x00, 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0xbb, 0xfc, 0x04,
- 0xb9, 0x0b, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0xab, 0xab, 0x43, 0x43, 0xe2, 0xf5, 0xbb, 0x12,
- 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0xab, 0x43, 0x43, 0xe2, 0xf6, 0xb8, 0x02,
- 0x00, 0x03, 0x06, 0x2a, 0x5d, 0xe8, 0x19, 0x05, 0x39, 0x06, 0x2a, 0x5d, 0x75, 0xf7, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x02, 0xc7, 0x86, 0x0c, 0x02, 0xc8, 0x00, 0xc7, 0x86, 0xfc,
- 0x01, 0xff, 0xff, 0xc7, 0x86, 0xfa, 0x01, 0x07, 0x00, 0xc6, 0x86, 0x8c, 0x02, 0x00, 0xe8, 0x01,
- 0x00, 0xc3, 0x8e, 0x46, 0x02, 0x33, 0xc0, 0xfa, 0x89, 0x86, 0xb6, 0x01, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x50, 0x00, 0x8b, 0x86, 0xa8, 0x15, 0x26, 0xa3, 0x70, 0x00, 0x89, 0x86, 0xb2, 0x01, 0x93,
- 0xc7, 0x07, 0x00, 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0x93, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x74,
- 0x00, 0x8b, 0x86, 0xaa, 0x15, 0x26, 0xa3, 0x78, 0x00, 0x26, 0xa1, 0x78, 0x00, 0x93, 0xc7, 0x47,
- 0xfc, 0xde, 0xad, 0xc7, 0x47, 0xfe, 0xbe, 0xaf, 0x93, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x76, 0x00,
- 0x33, 0xc0, 0xc6, 0x86, 0x87, 0x02, 0x01, 0x8d, 0xb6, 0xa8, 0x09, 0xc7, 0x86, 0xa6, 0x01, 0xb0,
- 0x09, 0x01, 0xae, 0xa6, 0x01, 0x89, 0xb6, 0xa8, 0x01, 0x89, 0xb6, 0xaa, 0x01, 0xc7, 0x04, 0x30,
- 0x80, 0xc7, 0x44, 0x04, 0x00, 0x00, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xfb, 0xe8, 0xa7, 0x08, 0x80,
- 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x33, 0xb8, 0x00, 0x40, 0x80, 0xbe, 0xfe, 0x00, 0x00, 0x74, 0x13,
- 0x25, 0xff, 0x1f, 0x0d, 0x00, 0xa0, 0x83, 0xe0, 0xfd, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c,
- 0x00, 0x80, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x40, 0x00, 0xa1, 0x2a, 0x5d, 0x83, 0xc0, 0x02,
- 0xe8, 0x3e, 0x04, 0x39, 0x06, 0x2a, 0x5d, 0x75, 0xf7, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06,
- 0x40, 0x00, 0x08, 0xbe, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x42, 0x00, 0xc8, 0x8e, 0x46, 0x02,
- 0x26, 0xc7, 0x06, 0x4c, 0x00, 0xa0, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x50, 0x00, 0x04,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x40, 0x00, 0x7f, 0xff, 0x90, 0x90, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x40, 0x00, 0x80, 0x00, 0x90, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x40,
- 0x00, 0x7f, 0xff, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x68, 0x00, 0x18, 0x00, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0xc3, 0xc6, 0x86, 0x0c, 0x01, 0x01, 0xc6, 0x86, 0x0d, 0x01,
- 0x00, 0xe8, 0xcc, 0x27, 0xa1, 0x2a, 0x5d, 0x83, 0xc0, 0x02, 0x0b, 0xc0, 0x0b, 0xc0, 0x0b, 0xc0,
- 0x0b, 0xc0, 0x39, 0x06, 0x2a, 0x5d, 0x72, 0xf2, 0x80, 0xbe, 0x0d, 0x01, 0x01, 0x74, 0x03, 0xf9,
- 0xeb, 0x01, 0xf8, 0xc6, 0x86, 0x0c, 0x01, 0x00, 0xc3, 0xb8, 0x00, 0x00, 0x88, 0x86, 0x06, 0x01,
- 0x88, 0x86, 0x07, 0x01, 0x88, 0x86, 0x08, 0x01, 0x88, 0x86, 0x09, 0x01, 0x89, 0x86, 0x0a, 0x01,
- 0x88, 0x86, 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x88, 0x86, 0xd1, 0x01, 0xa2, 0x81, 0x5e, 0xc3,
- 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0x26, 0x83, 0x0e, 0x32, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x32, 0x00, 0xf7, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x0e, 0x32, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x26, 0x83, 0x26, 0x32, 0x00, 0xf7, 0xc3, 0x50, 0x53, 0x52, 0xc6, 0x46, 0x01, 0x00, 0x32,
- 0xe4, 0x8a, 0x46, 0x00, 0xbb, 0x00, 0xbd, 0x81, 0xeb, 0x00, 0x7c, 0x81, 0xe3, 0x00, 0xff, 0x89,
- 0x9e, 0xac, 0x15, 0x81, 0xc3, 0x00, 0x01, 0xf7, 0xe3, 0x05, 0x00, 0x7c, 0x89, 0x86, 0xa8, 0x15,
- 0x03, 0x86, 0xac, 0x15, 0x48, 0x89, 0x86, 0xaa, 0x15, 0x5a, 0x5b, 0x58, 0xc3, 0x51, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfc, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x80,
- 0x00, 0x75, 0x1e, 0xb9, 0xf4, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c, 0x00, 0x00, 0x08,
- 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x80, 0x00, 0x75, 0x05, 0xe8, 0xe2, 0x02, 0xe2,
- 0xe5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x4c, 0x00, 0xff, 0xf7, 0x59, 0x8e, 0x46, 0x02, 0x26,
- 0x83, 0x0e, 0x4c, 0x00, 0x02, 0xc3, 0x50, 0x53, 0xc1, 0xe0, 0x05, 0x05, 0x00, 0x03, 0x8b, 0xd8,
- 0x8d, 0x86, 0x00, 0x01, 0x89, 0x07, 0x8d, 0x86, 0xd4, 0x01, 0x89, 0x47, 0x02, 0x8d, 0x86, 0xe4,
- 0x01, 0x89, 0x47, 0x04, 0x8d, 0x86, 0xb0, 0x15, 0x89, 0x47, 0x08, 0x8d, 0x86, 0xc4, 0x15, 0x89,
- 0x47, 0x06, 0x8d, 0x86, 0xc0, 0x01, 0x89, 0x47, 0x0a, 0xc7, 0x47, 0x0c, 0x94, 0x5e, 0x8d, 0x86,
- 0x40, 0x02, 0x89, 0x47, 0x0e, 0x8d, 0x06, 0x2a, 0x5d, 0x89, 0x47, 0x10, 0x5b, 0x58, 0xc3, 0x50,
- 0xf7, 0x86, 0xf6, 0x00, 0x02, 0x00, 0x75, 0x02, 0xeb, 0x4b, 0xf6, 0x86, 0x64, 0x02, 0x01, 0x75,
- 0x07, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x3d, 0xf6, 0x86, 0x89, 0x02, 0x01, 0x74, 0x36, 0xc6,
- 0x86, 0x89, 0x02, 0x00, 0x8b, 0x86, 0x0a, 0x02, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x40, 0x74, 0x03,
- 0x25, 0xff, 0xaf, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x20, 0x74, 0x03, 0x25, 0xff, 0xdf, 0x89, 0x86,
- 0x0a, 0x02, 0x3b, 0x86, 0x3a, 0x02, 0x74, 0x0d, 0x89, 0x86, 0x3a, 0x02, 0x81, 0xa6, 0x3a, 0x02,
- 0x7f, 0xdf, 0xe8, 0xe0, 0x3e, 0x58, 0xc3, 0x57, 0x56, 0x50, 0x8b, 0x86, 0xe6, 0x02, 0xa9, 0xff,
- 0xff, 0x74, 0x40, 0x8d, 0xbe, 0xdc, 0x02, 0x8d, 0xb6, 0xec, 0x05, 0xb9, 0x0a, 0x00, 0x83, 0xf9,
- 0x05, 0x75, 0x04, 0x8d, 0xb6, 0xf4, 0x05, 0xa9, 0x01, 0x00, 0x74, 0x1e, 0x80, 0x3d, 0xff, 0x74,
- 0x12, 0xfe, 0x05, 0x80, 0x3d, 0xff, 0x75, 0x0b, 0x81, 0x8e, 0x0a, 0x02, 0x80, 0x00, 0xc6, 0x86,
- 0x89, 0x02, 0x01, 0x80, 0x3c, 0xff, 0x74, 0x02, 0xfe, 0x04, 0xd1, 0xe8, 0x47, 0x46, 0xe2, 0xce,
- 0xe8, 0x0a, 0x00, 0xc7, 0x86, 0xe6, 0x02, 0x00, 0x00, 0x58, 0x5e, 0x5f, 0xc3, 0xf6, 0x86, 0x5a,
- 0x02, 0x01, 0x75, 0x27, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x64, 0x02, 0x01,
- 0x74, 0x19, 0xc6, 0x86, 0x5a, 0x02, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x75, 0x0c, 0xbe,
- 0x07, 0x4c, 0xe8, 0xa1, 0x03, 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0xc3, 0xf7, 0x86, 0xb0, 0x15,
- 0x00, 0x80, 0x75, 0x02, 0xeb, 0x26, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e, 0x01, 0x74, 0x1c,
- 0x46, 0x83, 0xe6, 0x07, 0x89, 0xb6, 0x60, 0x01, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6,
- 0x3e, 0x01, 0x03, 0xf1, 0x8b, 0x04, 0x8b, 0x54, 0x02, 0xe9, 0xd0, 0x3e, 0xc3, 0xbb, 0x00, 0x03,
- 0x83, 0x7f, 0x12, 0x00, 0x74, 0x08, 0xe8, 0x4b, 0x3e, 0xc7, 0x47, 0x12, 0x00, 0x00, 0xc3, 0x53,
- 0x50, 0x33, 0xc0, 0x88, 0x86, 0xcf, 0x01, 0xa3, 0x92, 0x5e, 0xbb, 0x94, 0x5e, 0x89, 0x1e, 0x8a,
- 0x5e, 0x89, 0x07, 0x89, 0x47, 0x02, 0x89, 0x47, 0x04, 0xa3, 0x8c, 0x5e, 0xa3, 0x8e, 0x5e, 0xa3,
- 0x90, 0x5e, 0x58, 0x5b, 0xc3, 0x50, 0x8a, 0xe0, 0xe4, 0x12, 0xf6, 0xd4, 0x22, 0xc4, 0xe6, 0x12,
- 0x58, 0xc3, 0xc6, 0x46, 0x06, 0x00, 0xc6, 0x46, 0x07, 0x00, 0xc6, 0x46, 0x08, 0x00, 0xc6, 0x46,
- 0x09, 0x00, 0xc6, 0x86, 0xc4, 0x15, 0x80, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd8, 0x8e, 0xc0, 0xab,
- 0xab, 0xab, 0xc3, 0x51, 0x53, 0xb9, 0x10, 0x00, 0xd1, 0xe0, 0xd1, 0xdb, 0xe2, 0xfa, 0x8b, 0xc3,
- 0x86, 0xc4, 0x5b, 0x59, 0xc3, 0x90, 0x50, 0x53, 0x51, 0x52, 0x57, 0x56, 0x8d, 0x1e, 0x6c, 0x05,
- 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0xff, 0x06, 0x4e, 0x00, 0xc7, 0x06, 0x46, 0x5d, 0x00, 0x00, 0xc6,
- 0x06, 0x4a, 0x5d, 0x00, 0xc7, 0x06, 0x4e, 0x5d, 0x30, 0x00, 0x8d, 0x3e, 0x48, 0x5d, 0xb8, 0xa4,
- 0x65, 0x89, 0x05, 0x06, 0x33, 0xc0, 0x8e, 0xc0, 0xa3, 0x2a, 0x5d, 0xa3, 0x2c, 0x5d, 0xa3, 0x2e,
- 0x5d, 0x8d, 0x3e, 0x3e, 0x5d, 0xb9, 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x8d, 0x3e, 0x42, 0x5d,
- 0xb9, 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x07, 0x8b, 0xd4, 0xb9, 0x01, 0x00, 0xbb, 0x00, 0x00,
- 0xbd, 0xa4, 0x65, 0x88, 0x5e, 0x00, 0x8b, 0xc3, 0xd1, 0xe0, 0xd1, 0xe0, 0x05, 0x40, 0x60, 0x89,
- 0x46, 0x02, 0x06, 0x51, 0x8c, 0xd8, 0x8e, 0xc0, 0xbe, 0x80, 0x03, 0x8d, 0xbe, 0x1a, 0x04, 0xb9,
- 0x05, 0x00, 0xf3, 0xa5, 0x59, 0x07, 0xe8, 0x2f, 0xfd, 0xe8, 0xe2, 0x00, 0x8b, 0xc5, 0x05, 0xa4,
- 0x08, 0x89, 0x86, 0xa6, 0x08, 0x83, 0xc0, 0x02, 0x8b, 0xe0, 0x68, 0x00, 0x06, 0x81, 0xc5, 0x44,
- 0x16, 0x43, 0xe2, 0xbf, 0x8b, 0xe2, 0x33, 0xed, 0x5e, 0x5f, 0x5a, 0x59, 0x5b, 0x58, 0xc3, 0x3e,
- 0x89, 0xa6, 0xa6, 0x08, 0x33, 0xed, 0xbc, 0x7e, 0x5e, 0xfa, 0x83, 0x0e, 0x42, 0x5d, 0x00, 0x74,
- 0x0d, 0x8b, 0x36, 0x42, 0x5d, 0x8b, 0x4c, 0x04, 0xe8, 0xd1, 0x03, 0xfb, 0xff, 0xd1, 0xfb, 0x32,
- 0xff, 0x8a, 0x1e, 0x46, 0x5d, 0x80, 0x8f, 0x4c, 0x5d, 0x00, 0x75, 0x21, 0xd1, 0xe3, 0x8b, 0xaf,
- 0x48, 0x5d, 0x81, 0xbe, 0xa4, 0x06, 0xa5, 0xa5, 0x74, 0x0c, 0xd1, 0xeb, 0xc6, 0x87, 0x4c, 0x5d,
- 0x01, 0xe8, 0xdb, 0x06, 0xeb, 0x07, 0x8b, 0x86, 0xa6, 0x08, 0x8b, 0xe0, 0xc3, 0xeb, 0xb5, 0xeb,
- 0xae, 0x60, 0x9c, 0xe8, 0xa9, 0xff, 0x0e, 0xe8, 0x02, 0x00, 0xeb, 0x01, 0xcf, 0x61, 0xc3, 0x50,
- 0xfa, 0x8b, 0x76, 0x1a, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0x8b, 0x04, 0x89, 0x46, 0x1a, 0x0b,
- 0xc0, 0x75, 0x03, 0x89, 0x46, 0x1c, 0xc7, 0x04, 0x00, 0x00, 0xfb, 0x58, 0xc3, 0x53, 0xfa, 0xc7,
- 0x04, 0x00, 0x00, 0x8b, 0x5d, 0x02, 0x89, 0x37, 0x89, 0x75, 0x02, 0x83, 0x3d, 0x00, 0x75, 0x02,
- 0x89, 0x35, 0xfb, 0x5b, 0xc3, 0x50, 0xfa, 0x8b, 0x35, 0x8b, 0x04, 0x89, 0x05, 0x0b, 0xc0, 0x75,
- 0x03, 0x89, 0x45, 0x02, 0xfb, 0x58, 0xc3, 0x50, 0xfa, 0x8b, 0x46, 0x1a, 0x89, 0x04, 0x89, 0x76,
- 0x1a, 0xf7, 0x46, 0x1a, 0xff, 0xff, 0x75, 0x03, 0x89, 0x76, 0x1a, 0xfb, 0x58, 0xc3, 0x50, 0x53,
- 0x51, 0x8b, 0xc5, 0x83, 0xc0, 0x1e, 0x89, 0x46, 0x1a, 0x83, 0xc0, 0x48, 0x89, 0x46, 0x1c, 0xb9,
- 0x09, 0x00, 0x8b, 0xdd, 0x8b, 0xc5, 0x83, 0xc0, 0x26, 0x89, 0x47, 0x1e, 0x83, 0xc3, 0x08, 0x83,
- 0xc0, 0x08, 0xe2, 0xf5, 0x59, 0x5b, 0x58, 0xc3, 0x60, 0x06, 0x1e, 0xfa, 0x33, 0xdb, 0x8e, 0xdb,
- 0x83, 0x06, 0x2a, 0x5d, 0x01, 0x73, 0x04, 0x11, 0x1e, 0x2c, 0x5d, 0xb9, 0x01, 0x00, 0x8b, 0xaf,
- 0x48, 0x5d, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x03, 0xe8, 0x60, 0x46, 0xf7, 0x86, 0xa8, 0x02,
- 0x01, 0x00, 0x74, 0x30, 0xfe, 0x86, 0x6b, 0x01, 0x80, 0xbe, 0x6b, 0x01, 0x02, 0x73, 0x02, 0xeb,
- 0x23, 0xc6, 0x86, 0x6b, 0x01, 0x00, 0xf7, 0x86, 0x1c, 0x01, 0x01, 0x00, 0x75, 0x0a, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32, 0xfe, 0x81, 0xa6, 0x18, 0x01, 0x32, 0xfe, 0xc7, 0x86,
- 0xa8, 0x02, 0x00, 0x00, 0xc6, 0x86, 0x6a, 0x01, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x48, 0x00,
- 0x25, 0x00, 0x02, 0x74, 0x03, 0xe8, 0x30, 0x17, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0x2e, 0x46, 0x8b, 0x86, 0xf6, 0x00, 0x25, 0xd0, 0xe3, 0x89, 0x86, 0x30, 0x02, 0x8a, 0x46, 0x08,
- 0x3c, 0x06, 0x74, 0x08, 0x3c, 0x0a, 0x74, 0x04, 0x3c, 0x18, 0x75, 0x04, 0xff, 0x86, 0x4a, 0x02,
- 0x83, 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0x75, 0xff, 0xf7, 0x06, 0x3e, 0x5d, 0xff, 0xff, 0x74,
- 0x1f, 0xff, 0x0e, 0x2e, 0x5d, 0x75, 0x19, 0xe8, 0x14, 0x02, 0x8b, 0x1e, 0x3e, 0x5d, 0x0b, 0xdb,
- 0x74, 0x0e, 0x8b, 0x47, 0x08, 0xa3, 0x2e, 0x5d, 0xf7, 0x06, 0x2e, 0x5d, 0xff, 0xff, 0x74, 0xe7,
- 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x1f, 0x07, 0x61, 0xcf, 0x60, 0x06, 0x1e, 0xfa, 0x8d, 0x36,
- 0x32, 0x5d, 0x83, 0x04, 0x01, 0x83, 0x54, 0x02, 0x00, 0xe8, 0x64, 0x4a, 0xa0, 0x30, 0x5d, 0xfe,
- 0xc0, 0x3c, 0x04, 0x72, 0x08, 0xc6, 0x06, 0x30, 0x5d, 0x00, 0xe9, 0x0f, 0xff, 0xa2, 0x30, 0x5d,
- 0xeb, 0xce, 0x50, 0x57, 0x56, 0xfa, 0x8d, 0x36, 0x36, 0x5d, 0x83, 0x04, 0x01, 0x83, 0x54, 0x02,
- 0x00, 0x80, 0x3e, 0x81, 0x5e, 0x01, 0x75, 0x0d, 0x8b, 0x36, 0x84, 0x5e, 0x83, 0xfe, 0x14, 0x77,
- 0x0e, 0xff, 0x94, 0x56, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x5e, 0x5f, 0x58, 0xcf, 0xe8,
- 0x12, 0x4d, 0xeb, 0xf1, 0x57, 0x56, 0x50, 0xfa, 0x8d, 0x36, 0x3a, 0x5d, 0x83, 0x04, 0x01, 0x83,
- 0x54, 0x02, 0x00, 0x80, 0x3e, 0x81, 0x5e, 0x01, 0x75, 0x0d, 0x8b, 0x36, 0x84, 0x5e, 0x83, 0xfe,
- 0x14, 0x77, 0x0e, 0xff, 0x94, 0x56, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x58, 0x5e, 0x5f,
- 0xcf, 0xe8, 0xe0, 0x4c, 0xeb, 0xf1, 0x50, 0x53, 0x51, 0x57, 0xe8, 0xab, 0x00, 0xfa, 0x8b, 0x3c,
- 0x03, 0xfd, 0x89, 0x6d, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x45, 0x04, 0x8b, 0x44, 0x04, 0x89, 0x45,
- 0x06, 0x0b, 0xc0, 0x75, 0x0e, 0x8b, 0x86, 0x0c, 0x02, 0x0b, 0xc0, 0x75, 0x03, 0xb8, 0xc8, 0x00,
- 0x89, 0x45, 0x06, 0xf7, 0x06, 0x3e, 0x5d, 0xff, 0xff, 0x75, 0x14, 0x89, 0x3e, 0x3e, 0x5d, 0x89,
- 0x3e, 0x40, 0x5d, 0xc7, 0x05, 0x00, 0x00, 0x89, 0x45, 0x08, 0xa3, 0x2e, 0x5d, 0xeb, 0x63, 0x8b,
- 0x3e, 0x3e, 0x5d, 0x8b, 0x0e, 0x2e, 0x5d, 0x33, 0xdb, 0x3b, 0xc8, 0x72, 0x35, 0x0b, 0xdb, 0x75,
- 0x17, 0x2b, 0xc8, 0x89, 0x4d, 0x08, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x89, 0x3c, 0x89,
- 0x36, 0x3e, 0x5d, 0xa3, 0x2e, 0x5d, 0xeb, 0x3a, 0x2b, 0x4d, 0x08, 0x2b, 0xc1, 0x8b, 0x34, 0x03,
- 0xf5, 0x89, 0x44, 0x08, 0x8b, 0x4d, 0x08, 0x2b, 0xc8, 0x89, 0x4d, 0x08, 0x89, 0x37, 0x89, 0x3c,
- 0xeb, 0x20, 0x8b, 0xdf, 0x8b, 0x3d, 0x0b, 0xff, 0x74, 0x05, 0x03, 0x4d, 0x08, 0xeb, 0xba, 0x2b,
- 0xc1, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x89, 0x37, 0xc7, 0x04, 0x00, 0x00, 0x89, 0x36,
- 0x40, 0x5d, 0xfb, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x57, 0x53, 0x50, 0x56, 0xfa, 0x8b, 0x1e, 0x3e,
- 0x5d, 0x33, 0xff, 0x8b, 0x34, 0x03, 0xf5, 0x83, 0x7c, 0x02, 0xff, 0x74, 0x4b, 0x3b, 0xde, 0x75,
- 0x49, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x07, 0x89, 0x05, 0x0b, 0xc0, 0x75, 0x06, 0x89, 0x3e, 0x40,
- 0x5d, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x8b, 0xf8, 0x01, 0x4d, 0x08, 0xeb, 0x22, 0x8b, 0x3f, 0x89,
- 0x3e, 0x3e, 0x5d, 0x0b, 0xff, 0x75, 0x0c, 0x89, 0x3e, 0x40, 0x5d, 0xc7, 0x06, 0x2e, 0x5d, 0xff,
- 0xff, 0xeb, 0x0c, 0xa1, 0x2e, 0x5d, 0x01, 0x45, 0x08, 0x8b, 0x45, 0x08, 0xa3, 0x2e, 0x5d, 0xc7,
- 0x47, 0x02, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0xeb, 0x4e, 0x83, 0xcb, 0x00, 0x74, 0x06, 0x8b,
- 0xfb, 0x8b, 0x1f, 0xeb, 0xa8, 0x83, 0xfd, 0x00, 0x75, 0x05, 0xbb, 0x42, 0x5d, 0xeb, 0x04, 0x8d,
- 0x9e, 0xf0, 0x00, 0x8b, 0x1f, 0x83, 0xfb, 0x00, 0x74, 0x2e, 0x3b, 0xde, 0x75, 0x05, 0xe8, 0x6b,
- 0x00, 0xeb, 0x25, 0x8b, 0xfb, 0x8b, 0x1f, 0x83, 0xcb, 0x00, 0x74, 0x1c, 0x3b, 0xde, 0x75, 0xf3,
- 0x8b, 0x07, 0x89, 0x05, 0x83, 0xc8, 0x00, 0x75, 0x04, 0x89, 0xbe, 0xf2, 0x00, 0xc7, 0x07, 0x00,
- 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0xfb, 0x5e, 0x58, 0x5b, 0x5f, 0xc3, 0x50, 0x53,
- 0x56, 0x55, 0x8b, 0x1e, 0x3e, 0x5d, 0x8b, 0x6f, 0x02, 0x0b, 0xed, 0x74, 0x06, 0x81, 0xc5, 0xf0,
- 0x00, 0xeb, 0x03, 0xbd, 0x42, 0x5d, 0x8b, 0x76, 0x02, 0x8b, 0x07, 0xa3, 0x3e, 0x5d, 0x0b, 0xc0,
- 0x75, 0x03, 0xa3, 0x40, 0x5d, 0x89, 0x5e, 0x02, 0x89, 0x1c, 0xc7, 0x07, 0x00, 0x00, 0x83, 0x4e,
- 0x00, 0x00, 0x75, 0x03, 0x89, 0x5e, 0x00, 0x5d, 0x5e, 0x5b, 0x58, 0xc3, 0x55, 0x53, 0x50, 0x0b,
- 0xed, 0x74, 0x06, 0x81, 0xc5, 0xf0, 0x00, 0xeb, 0x03, 0xbd, 0x42, 0x5d, 0x8b, 0x5e, 0x00, 0xc7,
- 0x47, 0x02, 0xff, 0xff, 0x8b, 0x07, 0xc7, 0x07, 0x00, 0x00, 0x8b, 0xd8, 0x89, 0x5e, 0x00, 0x0b,
- 0xdb, 0x75, 0x03, 0x89, 0x5e, 0x02, 0x58, 0x5b, 0x5d, 0xc3, 0x50, 0x53, 0x51, 0x57, 0x56, 0xfa,
- 0x8b, 0x1e, 0x3e, 0x5d, 0x33, 0xff, 0x83, 0xcb, 0x00, 0x74, 0x54, 0x8b, 0xc3, 0x39, 0x6f, 0x02,
- 0x75, 0x47, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x37, 0x89, 0x35, 0x8b, 0xc7, 0x0b, 0xf6, 0x75, 0x06,
- 0x89, 0x3e, 0x40, 0x5d, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x01, 0x4c, 0x08, 0xeb, 0x24, 0x8b, 0x37,
- 0x89, 0x36, 0x3e, 0x5d, 0x0b, 0xf6, 0x75, 0x0c, 0x89, 0x36, 0x40, 0x5d, 0xc7, 0x06, 0x2e, 0x5d,
- 0xff, 0xff, 0xeb, 0x0e, 0xa1, 0x2e, 0x5d, 0x01, 0x44, 0x08, 0x8b, 0x44, 0x08, 0xa3, 0x2e, 0x5d,
- 0x33, 0xc0, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0x8b, 0xf8, 0x8b, 0x1f, 0xeb, 0xa7, 0xfb,
- 0x5e, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x52, 0x8a, 0x8e, 0xad, 0x02, 0x8e, 0x46,
- 0x02, 0x26, 0xa1, 0x32, 0x00, 0x8a, 0x9e, 0x7d, 0x02, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x57,
- 0xf6, 0x86, 0xb3, 0x02, 0x01, 0x75, 0x4e, 0x0d, 0x74, 0x80, 0x25, 0x7f, 0x9f, 0x26, 0xa3, 0x32,
- 0x00, 0xb8, 0x01, 0x00, 0xe8, 0x16, 0x05, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x04, 0xc6, 0x86, 0xb4,
- 0x02, 0x00, 0x26, 0xa1, 0x32, 0x00, 0x0d, 0x00, 0x60, 0x26, 0xa3, 0x32, 0x00, 0xb8, 0x00, 0x00,
- 0xe8, 0xfa, 0x04, 0x26, 0xa1, 0x32, 0x00, 0x83, 0xe0, 0xdf, 0x26, 0xa3, 0x32, 0x00, 0xb8, 0x00,
- 0x00, 0xe8, 0xe9, 0x04, 0xe8, 0x6c, 0x01, 0x26, 0xa1, 0x8c, 0x00, 0x25, 0xff, 0x07, 0x0d, 0x00,
- 0xd0, 0x26, 0xa3, 0x8c, 0x00, 0xeb, 0x3c, 0xf6, 0x86, 0xb4, 0x02, 0x01, 0x75, 0x35, 0x26, 0x83,
- 0x26, 0x42, 0x00, 0xfb, 0x26, 0xa1, 0x32, 0x00, 0x0d, 0xb4, 0x80, 0x25, 0xbf, 0x9f, 0x26, 0xa3,
- 0x32, 0x00, 0xc6, 0x86, 0xb3, 0x02, 0x00, 0xb8, 0x01, 0x00, 0xe8, 0xb0, 0x04, 0x26, 0xa1, 0x32,
- 0x00, 0x83, 0xe0, 0xef, 0x26, 0xa3, 0x32, 0x00, 0xc6, 0x86, 0xb4, 0x02, 0x01, 0xb8, 0x00, 0x00,
- 0xe8, 0x9a, 0x04, 0x26, 0xa1, 0x40, 0x00, 0x8b, 0xd8, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x75, 0x10,
- 0x83, 0xe0, 0xfd, 0xc6, 0x86, 0x7d, 0x02, 0x01, 0x25, 0xff, 0x1f, 0x0d, 0x00, 0x80, 0xeb, 0x0e,
- 0x25, 0xff, 0x1f, 0x0d, 0x00, 0x20, 0x83, 0xc8, 0x02, 0xc6, 0x86, 0x7d, 0x02, 0x00, 0xe8, 0x96,
- 0x02, 0x0d, 0x00, 0x08, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x03, 0x25, 0xff, 0xf7, 0x33, 0xd8,
- 0x74, 0x04, 0x26, 0xa3, 0x40, 0x00, 0x26, 0xa1, 0x4c, 0x00, 0x8a, 0x9e, 0x7d, 0x02, 0x8b, 0xd8,
- 0xf7, 0x86, 0x12, 0x01, 0x10, 0x00, 0x74, 0x05, 0x0d, 0x00, 0x10, 0xeb, 0x03, 0x25, 0xff, 0xef,
- 0x8a, 0xae, 0x6d, 0x02, 0x80, 0xf9, 0x01, 0x75, 0x04, 0x8a, 0xae, 0x6e, 0x02, 0xf6, 0xc5, 0x01,
- 0x74, 0x05, 0x83, 0xc8, 0x10, 0xeb, 0x03, 0x83, 0xe0, 0xef, 0xf6, 0x86, 0x6f, 0x02, 0x01, 0x74,
- 0x0a, 0x83, 0xc8, 0x20, 0xc6, 0x86, 0x7e, 0x02, 0x00, 0xeb, 0x08, 0x83, 0xe0, 0xdf, 0xc6, 0x86,
- 0x7e, 0x02, 0x01, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x0a, 0xc6, 0x86, 0x7e, 0x02, 0x00, 0x83,
- 0xc8, 0x40, 0xeb, 0x03, 0x83, 0xe0, 0xbf, 0xf6, 0x86, 0x7d, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x80,
- 0x00, 0xeb, 0x03, 0x25, 0x7f, 0xff, 0xf6, 0x86, 0x7c, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x01,
- 0xeb, 0x03, 0x25, 0xff, 0xfe, 0xf6, 0x86, 0x7e, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x20, 0xeb,
- 0x03, 0x25, 0xff, 0xdf, 0x33, 0xd8, 0x74, 0x12, 0xf7, 0xc3, 0x20, 0x00, 0x74, 0x05, 0xc6, 0x06,
- 0x4e, 0x13, 0x01, 0x25, 0xff, 0xf7, 0x26, 0xa3, 0x4c, 0x00, 0x26, 0xa1, 0x50, 0x00, 0x8b, 0xd8,
- 0x33, 0xd8, 0x74, 0x04, 0x26, 0xa3, 0x50, 0x00, 0xf6, 0x06, 0x4e, 0x13, 0x01, 0x74, 0x1e, 0xc6,
- 0x06, 0x4e, 0x13, 0x00, 0x26, 0x81, 0x26, 0x40, 0x00, 0x7f, 0xff, 0x90, 0x90, 0x26, 0x81, 0x0e,
- 0x40, 0x00, 0x80, 0x00, 0x90, 0x90, 0x26, 0x81, 0x26, 0x40, 0x00, 0x7f, 0xff, 0x5a, 0x59, 0x5b,
- 0x58, 0xc3, 0x00, 0xf6, 0x86, 0xb3, 0x02, 0x01, 0x75, 0x42, 0x50, 0xe8, 0x50, 0x03, 0xb3, 0x00,
- 0x8a, 0x3e, 0x80, 0x5e, 0xb8, 0x00, 0x80, 0xe8, 0xdf, 0x02, 0x8b, 0xc0, 0x8b, 0xc0, 0x8b, 0xc0,
- 0xb3, 0x00, 0x8a, 0x3e, 0x80, 0x5e, 0xb8, 0x00, 0x21, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x04, 0x74,
- 0x03, 0x0d, 0x00, 0x40, 0xe8, 0xc2, 0x02, 0xb3, 0x1b, 0x8a, 0x3e, 0x80, 0x5e, 0xe8, 0x12, 0x02,
- 0x83, 0xc8, 0x10, 0xe8, 0xb3, 0x02, 0xc6, 0x86, 0xb3, 0x02, 0x01, 0x58, 0xc3, 0x8e, 0x46, 0x02,
- 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x74, 0x0b, 0xc6, 0x06, 0x81, 0x5e, 0x01, 0x26, 0x83, 0x0e,
- 0x42, 0x00, 0x02, 0xc6, 0x86, 0xb0, 0x02, 0x00, 0xc6, 0x86, 0xb1, 0x02, 0x00, 0xa8, 0x02, 0x74,
- 0x26, 0x26, 0x83, 0x26, 0x42, 0x00, 0xcf, 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x75, 0x14, 0xf7,
- 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x0c, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x05, 0xc6, 0x86,
- 0xb0, 0x02, 0x01, 0xb0, 0x02, 0xeb, 0x2a, 0xa8, 0x04, 0x74, 0x0e, 0x26, 0x83, 0x0e, 0x42, 0x00,
- 0x20, 0x26, 0x83, 0x26, 0x42, 0x00, 0xef, 0xeb, 0x18, 0xa8, 0x08, 0x74, 0x08, 0x26, 0x83, 0x0e,
- 0x42, 0x00, 0x30, 0xeb, 0x0c, 0xa8, 0x10, 0x74, 0x08, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x30, 0xeb,
- 0x00, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x06, 0x26, 0x83, 0x26, 0x42, 0x00, 0xcf, 0xc3, 0xc3,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c, 0x00, 0x00, 0x01, 0x90, 0x90, 0x90, 0x90, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x4c, 0x00, 0xff, 0xfe, 0xc3, 0x8e, 0x46, 0x02, 0x80, 0xbe, 0xfe, 0x00,
- 0x02, 0x74, 0x1e, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x0f, 0x80, 0xbe, 0xb0, 0x02, 0x01, 0x75,
- 0x10, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x02, 0xeb, 0x08, 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xe8, 0x18,
- 0x47, 0xc3, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x09, 0x26, 0x81, 0x26,
- 0x42, 0x00, 0xff, 0xef, 0xeb, 0x07, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x10, 0xc3, 0x8e, 0x46,
- 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x09, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x10,
- 0xeb, 0x07, 0x26, 0x81, 0x26, 0x42, 0x00, 0xff, 0xef, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e,
- 0x42, 0x00, 0x00, 0x80, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x42, 0x00, 0xff, 0x7f, 0xc3,
- 0xf7, 0x86, 0xf4, 0x00, 0x08, 0x00, 0x74, 0x13, 0xe8, 0xdf, 0xff, 0xeb, 0x39, 0x80, 0x7e, 0x06,
- 0x0e, 0x74, 0x1d, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x23, 0xeb, 0x2b, 0xe8, 0xd7, 0xff, 0x8e, 0x46,
- 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00, 0x75, 0xe4, 0x80, 0xbe, 0xfe, 0x00, 0x00, 0x75, 0x0c,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x26, 0x42, 0x00, 0xff, 0xbf, 0xc3, 0x83, 0xe0, 0xf7, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x04,
- 0x74, 0x03, 0x83, 0xc8, 0x08, 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x0a, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x50, 0x00, 0x04, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x90, 0x00, 0x04,
- 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x50, 0x00,
- 0xfb, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x90, 0x00, 0xfb, 0xc3, 0x51, 0x50, 0xfa, 0x8e,
- 0x46, 0x02, 0x26, 0x83, 0x26, 0x92, 0x00, 0xfb, 0x26, 0x83, 0x26, 0x92, 0x00, 0xfe, 0x90, 0x90,
- 0x90, 0x90, 0x26, 0x83, 0x0e, 0x92, 0x00, 0x01, 0x90, 0x90, 0x90, 0x90, 0x26, 0xa1, 0x92, 0x00,
- 0x83, 0xc8, 0x02, 0xb9, 0x20, 0x00, 0xe8, 0x06, 0x00, 0xe2, 0xfb, 0xfb, 0x58, 0x59, 0xc3, 0x53,
- 0x8e, 0x46, 0x02, 0x24, 0xfe, 0x26, 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x90, 0x0c, 0x01, 0x26,
- 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x5b, 0xc3, 0x51, 0xb1, 0x03, 0xd2, 0xe5, 0xb1, 0x05, 0xd0,
- 0xe5, 0x72, 0x04, 0x24, 0xfd, 0xeb, 0x02, 0x0c, 0x02, 0xe8, 0xd3, 0xff, 0xfe, 0xc9, 0x75, 0xef,
- 0x59, 0xc3, 0x9c, 0xfa, 0x51, 0x52, 0xfa, 0x8e, 0x46, 0x02, 0xe8, 0x8f, 0xff, 0x26, 0xa1, 0x92,
- 0x00, 0x83, 0xe0, 0xfd, 0x83, 0xc8, 0x01, 0x26, 0xa3, 0x92, 0x00, 0x83, 0xc8, 0x04, 0x26, 0xa3,
- 0x92, 0x00, 0xe8, 0xaa, 0xff, 0x83, 0xc8, 0x02, 0xe8, 0xa4, 0xff, 0x83, 0xc8, 0x02, 0xe8, 0x9e,
- 0xff, 0x83, 0xe0, 0xfd, 0xe8, 0x98, 0xff, 0x8a, 0xef, 0xe8, 0xac, 0xff, 0x8a, 0xeb, 0xe8, 0xa7,
- 0xff, 0x83, 0xe0, 0xfb, 0xe8, 0x88, 0xff, 0x83, 0xe0, 0xfe, 0x26, 0xa3, 0x92, 0x00, 0x90, 0x90,
- 0x26, 0x8b, 0x0e, 0x92, 0x00, 0xf7, 0xc1, 0x02, 0x00, 0x74, 0x12, 0xa8, 0x02, 0x74, 0x0e, 0xb9,
- 0x12, 0x00, 0xe8, 0x6a, 0xff, 0xe2, 0xfb, 0xfb, 0x5a, 0x59, 0x9d, 0xf9, 0xc3, 0x0c, 0x01, 0x26,
- 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x90, 0xb1, 0x10, 0x53, 0x33, 0xdb, 0x24, 0xfe, 0x26, 0xa3,
- 0x92, 0x00, 0x26, 0xa1, 0x92, 0x00, 0xd1, 0xe3, 0xa8, 0x02, 0x74, 0x03, 0x83, 0xcb, 0x01, 0x0c,
- 0x01, 0x26, 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x90, 0xfe, 0xc9, 0x75, 0xdf, 0xe8, 0x2f, 0xff,
- 0x8b, 0xc3, 0x5b, 0xfb, 0x5a, 0x59, 0x9d, 0xf8, 0xc3, 0x9c, 0xfa, 0x51, 0x53, 0x52, 0x50, 0xfa,
- 0xe8, 0xe9, 0xfe, 0x26, 0xa1, 0x92, 0x00, 0x83, 0xe0, 0xfd, 0x83, 0xc8, 0x01, 0x26, 0xa3, 0x92,
- 0x00, 0x83, 0xc8, 0x04, 0x26, 0xa3, 0x92, 0x00, 0xe8, 0x04, 0xff, 0x83, 0xc8, 0x02, 0xe8, 0xfe,
- 0xfe, 0x24, 0xfd, 0xe8, 0xf9, 0xfe, 0x0c, 0x02, 0xe8, 0xf4, 0xfe, 0x8a, 0xef, 0xe8, 0x08, 0xff,
- 0x8a, 0xeb, 0xe8, 0x03, 0xff, 0x0c, 0x02, 0xe8, 0xe5, 0xfe, 0x24, 0xfd, 0xe8, 0xe0, 0xfe, 0x5b,
- 0xb1, 0x10, 0xd1, 0xe3, 0x72, 0x04, 0x24, 0xfd, 0xeb, 0x02, 0x0c, 0x02, 0xe8, 0xd0, 0xfe, 0xfe,
- 0xc9, 0x75, 0xef, 0x24, 0xfb, 0xe8, 0xc7, 0xfe, 0xfb, 0x5a, 0x5b, 0x59, 0x9d, 0xc3, 0x50, 0xe8,
- 0x8a, 0xfe, 0xb7, 0x00, 0xb3, 0x02, 0xe8, 0xe9, 0xfe, 0x83, 0xf8, 0xff, 0x75, 0x09, 0xfe, 0xc7,
- 0x80, 0xff, 0x20, 0x75, 0xf1, 0xb7, 0xff, 0x88, 0x3e, 0x80, 0x5e, 0x58, 0xc3, 0x53, 0x40, 0x03,
- 0x06, 0x2a, 0x5d, 0x8b, 0xd8, 0xe8, 0x79, 0xf6, 0xa1, 0x2a, 0x5d, 0x3b, 0xc3, 0x75, 0xf6, 0x5b,
- 0xc3, 0x90, 0xe8, 0xa0, 0xf0, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0x8e,
- 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0x80,
- 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x0b, 0xc6, 0x86, 0x7c, 0x02, 0x00, 0xe8, 0x78, 0xfa, 0xe8, 0xf5,
- 0xfd, 0x33, 0xc0, 0x88, 0x86, 0x8d, 0x02, 0x88, 0x86, 0x8e, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01,
- 0xc7, 0x86, 0x64, 0x01, 0xfc, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xbe, 0x67, 0x4c, 0xe8, 0x15,
- 0xf8, 0xbe, 0x61, 0x4c, 0xe8, 0x0f, 0xf8, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32,
- 0xfe, 0xc3, 0xc6, 0x86, 0x63, 0x01, 0x00, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0d, 0xe8, 0x34,
- 0xf0, 0xe8, 0x4b, 0x30, 0xc6, 0x46, 0x07, 0x00, 0xe9, 0xb6, 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0x97,
- 0xf8, 0xbe, 0x61, 0x4c, 0xe8, 0x91, 0xf8, 0xc6, 0x86, 0x8d, 0x02, 0x01, 0x80, 0x7e, 0x06, 0x02,
- 0x74, 0x08, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x09, 0xeb, 0x1c, 0xc6, 0x46, 0x07, 0x04, 0xe9, 0x90,
- 0x00, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x74, 0x07, 0xc6, 0x46, 0x07, 0x4e, 0xe9, 0x81, 0x00,
- 0xc6, 0x46, 0x07, 0x46, 0xeb, 0x7b, 0x80, 0x7e, 0x08, 0x08, 0x75, 0xf8, 0xc6, 0x86, 0x85, 0x02,
- 0x01, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x61, 0x02, 0x00, 0xc6, 0x86, 0x60, 0x02, 0x00,
- 0xc6, 0x86, 0x63, 0x02, 0x01, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xc6, 0x86, 0x70, 0x02, 0x01, 0xf6,
- 0x86, 0x5c, 0x02, 0x01, 0x74, 0x17, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x2c, 0xc6, 0x46, 0x09,
- 0x0a, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0xeb, 0x1c, 0xf6, 0x86, 0x5d,
- 0x02, 0x01, 0x74, 0x15, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x0e, 0xc6, 0x46, 0x09, 0x06, 0xc6,
- 0x86, 0x5c, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x8a, 0xf9, 0xe8, 0x3a, 0xfc, 0xbe,
- 0x49, 0x4c, 0xe8, 0x41, 0xf7, 0xbe, 0x0d, 0x4c, 0xe8, 0x3b, 0xf7, 0xbe, 0x4f, 0x4c, 0xe8, 0x35,
- 0xf7, 0xc3, 0xc6, 0x46, 0x09, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32, 0xfe,
- 0xbe, 0x6d, 0x4c, 0xe8, 0x20, 0xf7, 0xc7, 0x86, 0xc8, 0x01, 0x14, 0x00, 0xc7, 0x86, 0xcc, 0x02,
- 0x00, 0x00, 0xbe, 0x55, 0x4c, 0xe8, 0x0e, 0xf7, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f,
- 0x02, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xc6, 0x86, 0x70, 0x02, 0x01, 0xe8, 0x37, 0xf9, 0xbe,
- 0x13, 0x4c, 0xe8, 0xf1, 0xf6, 0xbe, 0x49, 0x4c, 0xe8, 0xeb, 0xf6, 0x33, 0xc0, 0x89, 0x86, 0xf2,
- 0x01, 0x89, 0x86, 0xf4, 0x01, 0x89, 0x86, 0xf6, 0x01, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x0a,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0xff, 0xf7, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x20,
- 0x74, 0x10, 0xbe, 0x4f, 0x4c, 0xe8, 0xbe, 0xf6, 0xc6, 0x86, 0x61, 0x02, 0x00, 0xc6, 0x86, 0x60,
- 0x02, 0x00, 0xe8, 0xa4, 0xfb, 0xc3, 0xc3, 0x90, 0xc6, 0x86, 0x5b, 0x02, 0x01, 0xc7, 0x86, 0xce,
- 0x02, 0x00, 0x00, 0xc7, 0x86, 0xd0, 0x02, 0x00, 0x00, 0xbe, 0x13, 0x4c, 0xe8, 0x97, 0xf6, 0xe8,
- 0xc7, 0x14, 0xc3, 0x90, 0xc6, 0x86, 0x5f, 0x02, 0x01, 0xf6, 0x86, 0x88, 0x02, 0x01, 0x74, 0x08,
- 0xe8, 0x0a, 0x17, 0xc6, 0x86, 0x88, 0x02, 0x00, 0xbe, 0x13, 0x4c, 0xe8, 0x78, 0xf6, 0xf6, 0x86,
- 0x67, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x07, 0x0c, 0xc3, 0xbe, 0x13, 0x4c, 0xe8, 0x66, 0xf6,
- 0xbe, 0x31, 0x4c, 0xe8, 0x60, 0xf6, 0xc7, 0x86, 0xc2, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xc4, 0x02,
- 0x01, 0x00, 0xe8, 0x50, 0x15, 0xc3, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc8, 0x01,
- 0x14, 0x00, 0xc6, 0x86, 0x08, 0x01, 0x00, 0x81, 0xa6, 0x0a, 0x02, 0xdf, 0xbf, 0xc6, 0x86, 0x64,
- 0x02, 0x01, 0xc7, 0x86, 0x2a, 0x02, 0xff, 0xff, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x20, 0x75, 0x18,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x10, 0xbe, 0x4f, 0x4c, 0xe8, 0x18, 0xf6, 0xc6, 0x86,
- 0x61, 0x02, 0x00, 0xc6, 0x86, 0x60, 0x02, 0x00, 0xbe, 0x13, 0x4c, 0xe8, 0xba, 0xf6, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81, 0x26, 0x32, 0x00, 0xff, 0x7f, 0xb8, 0x00,
- 0x80, 0xe8, 0xb6, 0x2f, 0xe8, 0x59, 0xfb, 0xe8, 0x08, 0xfb, 0xc6, 0x86, 0x62, 0x02, 0x01, 0xc6,
- 0x86, 0xce, 0x01, 0x00, 0xf7, 0x86, 0xf6, 0x00, 0x04, 0x00, 0x74, 0x05, 0xc6, 0x86, 0xce, 0x01,
- 0x01, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x06, 0xbe, 0x1f, 0x4c, 0xe8, 0xc8, 0xf5, 0xff, 0x86,
- 0xfc, 0x00, 0xc3, 0x90, 0xe8, 0x9a, 0xfb, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xc6, 0x46, 0x09, 0x00,
- 0xc6, 0x46, 0x0b, 0x00, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86,
- 0x62, 0x02, 0x00, 0xc6, 0x86, 0x64, 0x02, 0x00, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x86, 0x67,
- 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6e, 0x02,
- 0x00, 0xe8, 0xc2, 0xf7, 0xf6, 0x86, 0x70, 0x02, 0x01, 0x74, 0x0c, 0x83, 0xbe, 0x22, 0x01, 0x0e,
- 0x75, 0x28, 0xe8, 0x65, 0x08, 0xeb, 0x23, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75,
- 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xe0,
- 0x41, 0xe8, 0x26, 0xf7, 0xbe, 0x2b, 0x4c, 0xe8, 0x4c, 0xf5, 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02,
- 0x02, 0x00, 0xe8, 0x1c, 0xfb, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81,
- 0x0e, 0x32, 0x00, 0x00, 0x80, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26,
- 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xa2, 0x41, 0xc6,
- 0x86, 0x08, 0x01, 0x00, 0xc7, 0x86, 0x22, 0x01, 0x00, 0x00, 0xe8, 0x41, 0xfa, 0xe8, 0x65, 0xfa,
- 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00, 0x74, 0x14, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x0c,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x26, 0x42, 0x00, 0xff, 0xbf, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x05, 0xc6, 0x86, 0xfe,
- 0x00, 0x01, 0xf6, 0x86, 0xbd, 0x01, 0x01, 0x75, 0x02, 0xeb, 0x71, 0x26, 0xff, 0x36, 0x5e, 0x00,
- 0x26, 0xff, 0x36, 0x60, 0x00, 0x26, 0xff, 0x36, 0x62, 0x00, 0x26, 0xff, 0x36, 0x64, 0x00, 0x26,
- 0xff, 0x36, 0x66, 0x00, 0x26, 0xff, 0x36, 0x7a, 0x00, 0x26, 0xff, 0x36, 0x7c, 0x00, 0x26, 0xff,
- 0x36, 0x7e, 0x00, 0x26, 0xff, 0x36, 0x52, 0x00, 0x26, 0xff, 0x36, 0x6a, 0x00, 0x26, 0xff, 0x36,
- 0x68, 0x00, 0xe8, 0x1b, 0xef, 0x26, 0x8f, 0x06, 0x68, 0x00, 0x26, 0x8f, 0x06, 0x6a, 0x00, 0x26,
- 0x8f, 0x06, 0x52, 0x00, 0x26, 0x8f, 0x06, 0x7e, 0x00, 0x26, 0x8f, 0x06, 0x7c, 0x00, 0x26, 0x8f,
- 0x06, 0x7a, 0x00, 0x26, 0x8f, 0x06, 0x66, 0x00, 0x26, 0x8f, 0x06, 0x64, 0x00, 0x26, 0x8f, 0x06,
- 0x62, 0x00, 0x26, 0x8f, 0x06, 0x60, 0x00, 0x26, 0x8f, 0x06, 0x5e, 0x00, 0xe8, 0x96, 0xec, 0xe8,
- 0xb5, 0x2e, 0xc6, 0x86, 0xb2, 0x02, 0x00, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd8, 0x8e, 0xc0, 0xab,
- 0xab, 0xab, 0xf6, 0x86, 0xab, 0x02, 0x01, 0x74, 0x12, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x42,
- 0x00, 0x04, 0xc6, 0x86, 0xb4, 0x02, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0x8e, 0x46, 0x02, 0x26, 0xc7,
- 0x06, 0x44, 0x00, 0xff, 0xfb, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x02, 0x74, 0x10, 0xf7, 0x86, 0x20,
- 0x01, 0x80, 0x00, 0x75, 0x08, 0xbe, 0xd3, 0x4c, 0xe8, 0x0b, 0xf4, 0xeb, 0x0d, 0x8e, 0x46, 0x02,
- 0x33, 0xc0, 0x26, 0xa3, 0x64, 0x00, 0x26, 0xa3, 0x66, 0x00, 0xc3, 0x90, 0x33, 0xc0, 0x88, 0x86,
- 0x5f, 0x02, 0x88, 0x86, 0x62, 0x02, 0x88, 0x86, 0x64, 0x02, 0x88, 0x86, 0x67, 0x02, 0x88, 0x86,
- 0x6c, 0x02, 0xbe, 0x5b, 0x4c, 0xe8, 0xde, 0xf3, 0xc6, 0x86, 0xb2, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6,
- 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x4a, 0x40, 0xc3, 0xc7, 0x86, 0x32, 0x02, 0x03, 0x00, 0xe8, 0xf4,
- 0xeb, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xe8, 0xf5, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00, 0x1e, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x15,
- 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x40, 0x74, 0x0d, 0xf7, 0x86, 0xf6, 0x00, 0x20, 0x00, 0x74, 0x05,
- 0xc6, 0x86, 0x78, 0x02, 0x01, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x06, 0xbe, 0xc7, 0x4c, 0xe8,
- 0x74, 0xf3, 0xe8, 0x31, 0xf9, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x74, 0x06, 0xc6, 0x46, 0x07,
- 0x44, 0xeb, 0x06, 0xbe, 0x79, 0x4c, 0xe8, 0x5d, 0xf3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44,
- 0x00, 0x32, 0xfe, 0xe8, 0x8f, 0x06, 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02, 0x04, 0x00, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xc6, 0x86,
- 0x6f, 0x02, 0x01, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x7c, 0x02, 0x00, 0xe8, 0x66, 0xf5,
- 0xe8, 0xe3, 0xf8, 0xb0, 0x00, 0xe8, 0x2a, 0x17, 0x33, 0xc0, 0x88, 0x86, 0x8d, 0x02, 0x88, 0x86,
- 0x8e, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64, 0x01, 0xfc, 0x05, 0xc6, 0x86, 0x69,
- 0x01, 0x02, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x2c, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86,
- 0x66, 0x01, 0x60, 0x04, 0xc6, 0x86, 0x76, 0x02, 0x01, 0xbe, 0xc7, 0x4c, 0xe8, 0xe7, 0xf2, 0xbe,
- 0x19, 0x4c, 0xe8, 0xe1, 0xf2, 0xbe, 0x73, 0x4c, 0xe8, 0xdb, 0xf2, 0xbe, 0xc1, 0x4c, 0xe8, 0xd5,
- 0xf2, 0xe8, 0x80, 0x14, 0xc3, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20, 0x03,
- 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x5c, 0x00, 0x00, 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0xb6, 0xf2,
- 0xbe, 0x73, 0x4c, 0xe8, 0xb0, 0xf2, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xe8, 0xf2, 0x10,
- 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02, 0x05, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x08, 0xc6,
- 0x86, 0x6d, 0x02, 0x01, 0xe8, 0xcf, 0xf4, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x75, 0x04, 0xc6, 0x46,
- 0x09, 0x16, 0xc6, 0x86, 0x73, 0x02, 0x01, 0xbe, 0x97, 0x4c, 0xe8, 0x79, 0xf2, 0xbe, 0x9d, 0x4c,
- 0xe8, 0x73, 0xf2, 0xbe, 0x85, 0x4c, 0xe8, 0x6d, 0xf2, 0xbe, 0xaf, 0x4c, 0xe8, 0x67, 0xf2, 0xc7,
- 0x86, 0xd6, 0x02, 0x01, 0x00, 0xc6, 0x86, 0x7a, 0x02, 0x01, 0xe8, 0xcd, 0x13, 0xc3, 0xc7, 0x86,
- 0x32, 0x02, 0x07, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xc6, 0x86, 0x60, 0x02, 0x00, 0xc6, 0x86,
- 0x61, 0x02, 0x00, 0xbe, 0x4f, 0x4c, 0xe8, 0x3d, 0xf2, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x75, 0x0d,
- 0xc6, 0x86, 0x72, 0x02, 0x01, 0xb8, 0x00, 0x80, 0xe8, 0xef, 0x2b, 0xeb, 0x0a, 0x83, 0xa6, 0x0a,
- 0x02, 0xdf, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xe8, 0x81, 0xf7, 0xe8,
- 0x30, 0xf7, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44,
- 0x00, 0xff, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81, 0x26, 0x32,
- 0x00, 0xff, 0x7f, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x15, 0xe8, 0xdc, 0xf6, 0xc7, 0x86, 0xc8,
- 0x01, 0x14, 0x00, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xbe, 0x55, 0x4c, 0xe8, 0xd7, 0xf1, 0xc3,
- 0xbe, 0xb5, 0x4c, 0xe8, 0xd0, 0xf1, 0xc6, 0x86, 0x78, 0x02, 0x00, 0xc6, 0x86, 0x74, 0x02, 0x00,
- 0xc6, 0x86, 0xfe, 0x00, 0x02, 0xe8, 0xfe, 0xf3, 0xbe, 0xc7, 0x4c, 0xe8, 0xb8, 0xf1, 0xc3, 0x90,
- 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c,
- 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xc7, 0x86, 0xda, 0x02, 0x05, 0x00, 0xbe,
- 0xbb, 0x4c, 0xe8, 0x91, 0xf1, 0xb0, 0x00, 0xe8, 0x98, 0x15, 0xe8, 0x53, 0x13, 0xc3, 0xb8, 0x00,
- 0x80, 0xe8, 0x46, 0x2b, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xe8, 0xe4, 0xf6, 0xe8, 0x93, 0xf6, 0x8e,
- 0x46, 0x02, 0x26, 0xc7, 0x06, 0x68, 0x00, 0x18, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c,
- 0x00, 0x01, 0x26, 0x81, 0x26, 0x32, 0x00, 0xff, 0x7f, 0xc3, 0xc7, 0x86, 0x36, 0x02, 0x01, 0x00,
- 0xc7, 0x86, 0xc6, 0x01, 0xff, 0xff, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc8, 0x01,
- 0x14, 0x00, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x4b, 0xb0, 0x00, 0xe8, 0x45, 0x15, 0x80, 0x7e, 0x06,
- 0x0e, 0x74, 0x02, 0xeb, 0x3e, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81,
- 0x26, 0x32, 0x00, 0xff, 0x7f, 0x83, 0xa6, 0x0a, 0x02, 0xdf, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xf6,
- 0x86, 0x5f, 0x02, 0x01, 0x74, 0x1d, 0xf6, 0x86, 0x6a, 0x02, 0x01, 0x74, 0x16, 0xf6, 0x86, 0x67,
- 0x02, 0x01, 0x75, 0x0f, 0xc6, 0x86, 0x67, 0x02, 0x01, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x03,
- 0xe8, 0xfb, 0x0e, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e,
- 0x32, 0x00, 0x00, 0x80, 0xc7, 0x86, 0x36, 0x02, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8,
- 0x14, 0xf3, 0xe8, 0xab, 0xf5, 0xbe, 0x37, 0x4c, 0xe8, 0xcb, 0xf0, 0xe8, 0x8b, 0x0e, 0xc3, 0x90,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80,
- 0xc7, 0x86, 0x36, 0x02, 0x03, 0x00, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc8, 0x01,
- 0x0a, 0x00, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x0f, 0xc6, 0x86, 0x58, 0x02, 0x00, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x5e, 0x02, 0x00, 0xc6, 0x86, 0x6d,
- 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xbc, 0xf2, 0x81, 0xa6, 0x0a, 0x02, 0xff, 0x2f,
- 0x83, 0x8e, 0x0a, 0x02, 0x20, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xbe, 0x01, 0x4c, 0xe8, 0x66, 0xf0,
- 0xbe, 0x25, 0x4c, 0xe8, 0x60, 0xf0, 0xc7, 0x86, 0xbc, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xbe, 0x02,
- 0x01, 0x00, 0xe8, 0xc3, 0x0d, 0xc3, 0xff, 0x86, 0x48, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xe8, 0xf9, 0xf5, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x75, 0x03, 0xe8, 0x67, 0x0d, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00,
- 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x75, 0x20, 0xc6,
- 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x45,
- 0xf2, 0xe8, 0xd6, 0xf1, 0xbe, 0x2b, 0x4c, 0xe8, 0xfc, 0xef, 0xe8, 0xd4, 0xf5, 0xeb, 0x59, 0xc6,
- 0x86, 0x71, 0x02, 0x01, 0xf6, 0x86, 0x70, 0x02, 0x01, 0x75, 0x4d, 0xe8, 0xbc, 0xf1, 0xe8, 0x01,
- 0xe9, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86, 0x71, 0x02, 0x00, 0xbe, 0x2b, 0x4c, 0xe8, 0xd5,
- 0xef, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00,
- 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x46, 0x3c, 0xe8, 0x78, 0xf5, 0x33, 0xc0,
- 0x88, 0x86, 0x8d, 0x02, 0x88, 0x86, 0x8e, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64,
- 0x01, 0xfc, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xc3, 0x90, 0xff, 0x86, 0x48, 0x02, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xe8, 0x45,
- 0xf5, 0xc7, 0x86, 0xb8, 0x02, 0x02, 0x00, 0xc7, 0x86, 0xba, 0x02, 0x08, 0x00, 0xc6, 0x86, 0x58,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x6d, 0x02,
- 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x9d, 0xf1, 0xf6, 0x86, 0x85, 0x02, 0x01, 0x75, 0x06,
- 0xbe, 0xf5, 0x4b, 0xe8, 0x50, 0xef, 0x81, 0xa6, 0x0a, 0x02, 0xff, 0x6f, 0x81, 0x8e, 0x0a, 0x02,
- 0x00, 0x40, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00,
- 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0x83, 0xbe, 0xca, 0x01, 0x00, 0x74, 0x0d, 0x8b,
- 0x86, 0xca, 0x01, 0xc7, 0x86, 0xca, 0x01, 0x00, 0x00, 0xe8, 0xfc, 0x0f, 0xbe, 0x01, 0x4c, 0xe8,
- 0x14, 0xef, 0xc3, 0x90, 0xc7, 0x86, 0x36, 0x02, 0x01, 0x00, 0xc7, 0x86, 0x34, 0x02, 0x02, 0x00,
- 0xb0, 0x00, 0xe8, 0x0d, 0x13, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x10, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81, 0x26, 0x32, 0x00, 0xff, 0x7f, 0xc3, 0xc7, 0x86, 0x34, 0x02,
- 0x03, 0x00, 0xff, 0x86, 0x48, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26,
- 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86, 0x73, 0x02, 0x00,
- 0xbe, 0x7f, 0x4c, 0xe8, 0xc0, 0xee, 0xbe, 0x8b, 0x4c, 0xe8, 0xba, 0xee, 0xbe, 0xa3, 0x4c, 0xe8,
- 0xb4, 0xee, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x08, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xe5,
- 0xf0, 0x81, 0x8e, 0x0a, 0x02, 0x04, 0x50, 0xc6, 0x86, 0x89, 0x02, 0x01, 0x80, 0xbe, 0xfe, 0x00,
- 0x02, 0x74, 0x0d, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x74, 0x06, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x80,
- 0xe8, 0xcd, 0x2f, 0xe8, 0xb8, 0x0b, 0xc3, 0x90, 0xc7, 0x86, 0x34, 0x02, 0x04, 0x00, 0xbe, 0x7f,
- 0x4c, 0xe8, 0x72, 0xee, 0xbe, 0x8b, 0x4c, 0xe8, 0x6c, 0xee, 0x81, 0xa6, 0x0a, 0x02, 0xfb, 0x6f,
- 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x40, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc3, 0xc7, 0x86, 0x34, 0x02,
- 0x05, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x1a, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e,
- 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01,
- 0xe8, 0xbe, 0x3a, 0x81, 0xa6, 0x0a, 0x02, 0xfb, 0x2f, 0x83, 0x8e, 0x0a, 0x02, 0x20, 0xc6, 0x86,
- 0x89, 0x02, 0x01, 0xe8, 0x5e, 0x01, 0xc3, 0x90, 0xc7, 0x86, 0x34, 0x02, 0x01, 0x00, 0xc3, 0x90,
- 0xc3, 0x53, 0x50, 0x89, 0x86, 0x22, 0x01, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0f, 0x50, 0xe8,
- 0x43, 0xe6, 0xe8, 0x67, 0x26, 0xc6, 0x46, 0x07, 0x00, 0x58, 0xe9, 0xea, 0x00, 0xf6, 0x86, 0x08,
- 0x01, 0x01, 0x74, 0x05, 0xe8, 0xb3, 0x27, 0xeb, 0x6c, 0x83, 0xf8, 0x10, 0x75, 0x08, 0x81, 0x8e,
- 0x1e, 0x01, 0x00, 0x80, 0xeb, 0x5f, 0x83, 0x8e, 0x1e, 0x01, 0x02, 0x8b, 0x9e, 0x0a, 0x02, 0x83,
- 0xf8, 0x01, 0x75, 0x04, 0x81, 0xcb, 0x00, 0x04, 0x83, 0xf8, 0x0c, 0x75, 0x04, 0x81, 0xcb, 0x00,
- 0x08, 0x83, 0xf8, 0x0b, 0x75, 0x03, 0x83, 0xcb, 0x02, 0x83, 0xf8, 0x09, 0x75, 0x03, 0x83, 0xcb,
- 0x04, 0x83, 0xf8, 0x0a, 0x75, 0x09, 0x81, 0xcb, 0x00, 0x01, 0x83, 0x8e, 0x1e, 0x01, 0x04, 0x83,
- 0xf8, 0x06, 0x75, 0x03, 0x83, 0xcb, 0x01, 0x83, 0xf8, 0x0f, 0x74, 0x19, 0x83, 0xf8, 0x02, 0x75,
- 0x03, 0x83, 0xcb, 0x08, 0x83, 0xf8, 0x03, 0x75, 0x03, 0x83, 0xcb, 0x08, 0x89, 0x9e, 0x0a, 0x02,
- 0xc6, 0x86, 0x89, 0x02, 0x01, 0x8a, 0x4e, 0x06, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x72, 0x2e, 0xf7,
- 0x86, 0x0a, 0x02, 0x08, 0x00, 0x75, 0x1c, 0x80, 0xf9, 0x48, 0x74, 0x11, 0xf6, 0x86, 0x72, 0x02,
- 0x01, 0x74, 0x10, 0x80, 0xf9, 0x44, 0x74, 0x05, 0x80, 0xf9, 0x46, 0x75, 0x06, 0xc6, 0x46, 0x07,
- 0x4c, 0xeb, 0x44, 0xc6, 0x46, 0x07, 0x12, 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0x3a, 0xc6, 0x46, 0x07,
- 0x12, 0xc6, 0x46, 0x09, 0x1e, 0xf6, 0x86, 0xac, 0x02, 0x01, 0x74, 0x1a, 0x8e, 0x46, 0x02, 0xf6,
- 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86,
- 0x6d, 0x01, 0x01, 0xe8, 0xab, 0x39, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x02, 0xeb, 0x08, 0xc6,
- 0x46, 0x07, 0x10, 0xc6, 0x46, 0x09, 0x00, 0x58, 0x5b, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06,
- 0x40, 0x00, 0x02, 0x00, 0x74, 0x0b, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x40, 0x00, 0xfd, 0xeb,
- 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x40, 0x00, 0x02, 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02,
- 0x01, 0x00, 0xc3, 0xb9, 0x01, 0x01, 0x38, 0xc8, 0x75, 0x19, 0x8b, 0xb6, 0xf6, 0x00, 0x81, 0xe6,
- 0x00, 0xc0, 0x81, 0xfe, 0x00, 0x80, 0x75, 0x0b, 0xc6, 0x86, 0x5a, 0x02, 0x01, 0xbe, 0x07, 0x4c,
- 0xe8, 0xc3, 0xec, 0xc3, 0xc3, 0x50, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x18, 0xf7, 0x86, 0xf6,
- 0x00, 0x00, 0x10, 0x74, 0x05, 0xc6, 0x86, 0xfe, 0x00, 0x01, 0xc6, 0x86, 0x95, 0x02, 0x01, 0xe8,
- 0x05, 0x00, 0xe8, 0xe1, 0xee, 0x58, 0xc3, 0xc7, 0x86, 0x98, 0x02, 0x00, 0x00, 0xc7, 0x86, 0x9c,
- 0x02, 0x05, 0x00, 0xc6, 0x86, 0x96, 0x02, 0x00, 0xa1, 0x2a, 0x5d, 0x89, 0x86, 0x9a, 0x02, 0x40,
- 0x89, 0x86, 0x9e, 0x02, 0xc3, 0xc6, 0x86, 0x95, 0x02, 0x00, 0xc6, 0x86, 0x96, 0x02, 0x00, 0xc3,
- 0x50, 0x53, 0xf6, 0x86, 0x96, 0x02, 0x01, 0x75, 0x1c, 0xa1, 0x2a, 0x5d, 0x8b, 0x9e, 0x9a, 0x02,
- 0x3b, 0xc3, 0x74, 0x11, 0x43, 0x3b, 0xc3, 0x74, 0x0c, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x9a, 0x02,
- 0xc6, 0x86, 0x96, 0x02, 0x01, 0x5b, 0x58, 0xc3, 0xc7, 0x86, 0x98, 0x02, 0x00, 0x00, 0xa1, 0x2a,
- 0x5d, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x9a, 0x02, 0xc6, 0x86, 0x96, 0x02, 0x01, 0xc3, 0xa1, 0x2a,
- 0x5d, 0x3b, 0x86, 0x9e, 0x02, 0x74, 0x3a, 0x40, 0x3b, 0x86, 0x9e, 0x02, 0x74, 0x33, 0x48, 0xf6,
- 0x86, 0x96, 0x02, 0x01, 0x74, 0x42, 0x3b, 0x86, 0x9a, 0x02, 0x75, 0x3c, 0x81, 0xbe, 0x98, 0x02,
- 0x04, 0x01, 0x75, 0x0a, 0x80, 0xbe, 0xfe, 0x00, 0x00, 0x75, 0x03, 0xe9, 0xa5, 0x00, 0x83, 0xbe,
- 0x98, 0x02, 0x04, 0x75, 0x11, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x09, 0xe8, 0xaa, 0xff, 0xe9, 0xa4,
- 0x00, 0xe9, 0xa1, 0x00, 0xeb, 0x0c, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x06, 0xe8, 0x26, 0xff, 0xe9,
- 0x93, 0x00, 0xe8, 0x60, 0xff, 0xe9, 0x8d, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x54, 0x00, 0x25,
- 0x24, 0x01, 0x8b, 0xd8, 0x33, 0x86, 0x98, 0x02, 0x75, 0x02, 0xeb, 0x79, 0xa9, 0x04, 0x00, 0x74,
- 0x15, 0xe8, 0x4c, 0xff, 0xf7, 0xc3, 0x04, 0x00, 0x74, 0x07, 0xc6, 0x86, 0x97, 0x02, 0x01, 0xeb,
- 0x05, 0xc6, 0x86, 0x97, 0x02, 0x00, 0xa9, 0x00, 0x01, 0x74, 0x14, 0xf7, 0xc3, 0x00, 0x01, 0x74,
- 0x0b, 0xf7, 0xc3, 0x20, 0x00, 0x75, 0x20, 0xe8, 0x26, 0xff, 0xeb, 0x03, 0xe8, 0x21, 0xff, 0xa9,
- 0x20, 0x00, 0x74, 0x2d, 0xf7, 0xc3, 0x20, 0x00, 0x74, 0x34, 0xf6, 0x86, 0x96, 0x02, 0x01, 0x74,
- 0x30, 0xf7, 0xc3, 0x00, 0x01, 0x74, 0x2a, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x14, 0x80,
- 0xbe, 0xfe, 0x00, 0x00, 0x74, 0x0d, 0xe8, 0x1f, 0xff, 0xc6, 0x86, 0xfe, 0x00, 0x00, 0xe8, 0xa5,
- 0xed, 0xeb, 0x0e, 0xe8, 0xdf, 0xfe, 0xb8, 0x0e, 0x00, 0xe8, 0x45, 0xfd, 0xeb, 0x03, 0xe8, 0xdf,
- 0xfe, 0x89, 0x9e, 0x98, 0x02, 0xc3, 0x55, 0x1e, 0x06, 0x33, 0xed, 0x8e, 0xdd, 0x8b, 0x2e, 0x48,
- 0x5d, 0x8e, 0x46, 0x02, 0xeb, 0x00, 0x60, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x44, 0x00, 0x89,
- 0x86, 0x18, 0x01, 0xc7, 0x86, 0x1c, 0x01, 0x01, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x46, 0x00,
- 0x89, 0x86, 0x1a, 0x01, 0xb8, 0x07, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x46, 0x00, 0xb8, 0xff,
- 0xff, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x44, 0x00, 0xfb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x48, 0x00,
- 0x8b, 0xd8, 0x81, 0xe3, 0xff, 0xfc, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x48, 0x00, 0x8e, 0x46,
- 0x02, 0x26, 0x8b, 0x1e, 0x4a, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x4a, 0x00, 0x50, 0xb0,
- 0xa0, 0xe6, 0x10, 0x58, 0xa9, 0x00, 0x08, 0x74, 0x0f, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x05,
- 0xe8, 0xe8, 0x35, 0xeb, 0x03, 0xe8, 0x74, 0x30, 0xa9, 0x00, 0x01, 0x75, 0x22, 0xf7, 0x86, 0xa8,
- 0x02, 0x01, 0x00, 0x75, 0x21, 0xa9, 0xcd, 0x01, 0x74, 0x1c, 0x80, 0xbe, 0x6a, 0x01, 0x0a, 0x72,
- 0x0e, 0xc7, 0x86, 0xa8, 0x02, 0x01, 0x00, 0x81, 0x8e, 0x18, 0x01, 0xcd, 0x00, 0xeb, 0x07, 0xfe,
- 0x86, 0x6a, 0x01, 0xe8, 0x6c, 0x32, 0xa9, 0x00, 0x04, 0x74, 0x29, 0xf7, 0x86, 0x0a, 0x01, 0x01,
- 0x00, 0x75, 0x21, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x44, 0x00, 0x00, 0x04, 0xe8, 0x9f, 0xe8,
- 0xc7, 0x44, 0x02, 0x01, 0x00, 0x89, 0x44, 0x04, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x8d, 0x7e,
- 0x16, 0xe8, 0xa9, 0xe8, 0xa9, 0x00, 0x10, 0x74, 0x27, 0x80, 0xbe, 0x0c, 0x01, 0x01, 0x74, 0x20,
- 0xf6, 0x86, 0xb8, 0x01, 0x01, 0x75, 0x19, 0xe8, 0x75, 0xe8, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10,
- 0xc7, 0x44, 0x02, 0x03, 0x00, 0xc6, 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x7d, 0xe8,
- 0xa9, 0x00, 0x20, 0x74, 0x61, 0x80, 0xbe, 0x0c, 0x01, 0x01, 0x75, 0x07, 0xc6, 0x86, 0x0d, 0x01,
- 0x01, 0xeb, 0x53, 0x50, 0x26, 0xa1, 0x78, 0x00, 0x26, 0x8b, 0x1e, 0x70, 0x00, 0x3b, 0xc3, 0x77,
- 0x10, 0x2b, 0x86, 0xa8, 0x15, 0x8b, 0xc8, 0x8b, 0x86, 0xaa, 0x15, 0x2b, 0xc3, 0x03, 0xc1, 0xeb,
- 0x02, 0x2b, 0xc3, 0x3d, 0x00, 0x02, 0x77, 0x0d, 0xe8, 0xe6, 0xef, 0xc6, 0x86, 0xbc, 0x01, 0x01,
- 0x83, 0x8e, 0xe6, 0x02, 0x40, 0x58, 0xf6, 0x86, 0xb9, 0x01, 0x01, 0x75, 0x19, 0xe8, 0x0f, 0xe8,
- 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0xc7, 0x44, 0x02, 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01,
- 0x8d, 0x7e, 0x16, 0xe8, 0x17, 0xe8, 0xfa, 0x8b, 0x86, 0x18, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3,
- 0x44, 0x00, 0xc7, 0x86, 0x1c, 0x01, 0x00, 0x00, 0x8b, 0x86, 0x1a, 0x01, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x46, 0x00, 0x61, 0x07, 0x1f, 0x5d, 0xcf, 0x50, 0x25, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x48, 0x00, 0x8b, 0x86, 0xcc, 0x02, 0x40, 0x89, 0x86, 0xcc, 0x02, 0x83, 0xf8, 0x01, 0x75,
- 0x08, 0x56, 0xbe, 0x55, 0x4c, 0xe8, 0x9e, 0xe9, 0x5e, 0x3b, 0x86, 0xc8, 0x01, 0x76, 0x0a, 0x80,
- 0xbe, 0x65, 0x02, 0x01, 0x74, 0x03, 0xe8, 0x3e, 0x32, 0x58, 0xc3, 0x8d, 0x71, 0x18, 0x8b, 0x49,
- 0x14, 0x86, 0xcd, 0x83, 0xe9, 0x04, 0x7e, 0x1b, 0x33, 0xc0, 0x03, 0xf0, 0x8a, 0x04, 0x0a, 0xc0,
- 0x74, 0x11, 0x3a, 0x54, 0x01, 0x74, 0x17, 0x32, 0xe4, 0x3c, 0xff, 0x74, 0x0a, 0x2b, 0xc8, 0x72,
- 0x02, 0x77, 0xe7, 0x33, 0xc0, 0xf9, 0xc3, 0x8b, 0x44, 0x02, 0x86, 0xc4, 0xeb, 0xef, 0x0a, 0xe4,
- 0x75, 0xf1, 0x38, 0xf0, 0x75, 0xed, 0x8d, 0x74, 0x02, 0xf8, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b,
- 0xb6, 0xa8, 0x15, 0x8b, 0xbe, 0xaa, 0x15, 0x47, 0xa5, 0xa5, 0xa5, 0x8b, 0x4f, 0x04, 0x83, 0xc1,
- 0x07, 0x80, 0xe1, 0xfe, 0x8b, 0xc7, 0x2b, 0xc3, 0x2b, 0xc8, 0x76, 0x0a, 0x81, 0xf9, 0x00, 0x01,
- 0x73, 0x09, 0xd1, 0xe9, 0xf3, 0xa5, 0x8b, 0x07, 0xe9, 0xd1, 0x01, 0xb9, 0x19, 0x00, 0xf3, 0xa5,
- 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x74, 0x0e, 0x8b, 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x0f,
- 0xa8, 0x01, 0x75, 0x0b, 0x8b, 0xf8, 0xba, 0x80, 0x09, 0x68, 0xe9, 0x28, 0xe9, 0x65, 0x05, 0xe9,
- 0x9b, 0x02, 0xc3, 0x80, 0x7f, 0x17, 0x02, 0x75, 0xf9, 0x50, 0x56, 0x8b, 0xb6, 0x1a, 0x06, 0x8b,
- 0x04, 0x5e, 0x3b, 0x86, 0xc6, 0x01, 0x74, 0x07, 0x89, 0x86, 0xc6, 0x01, 0x58, 0xeb, 0x3d, 0x58,
- 0xeb, 0x12, 0x8a, 0x4f, 0x07, 0x80, 0xe1, 0x3f, 0x74, 0xd8, 0x8a, 0xe9, 0x86, 0x8e, 0xfe, 0x01,
- 0x38, 0xcd, 0x75, 0x18, 0x57, 0x51, 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0x77, 0x0e, 0x8c, 0xd9, 0x8e,
- 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x06, 0x59, 0x5f, 0xeb, 0xb6, 0x57, 0x51, 0x8d, 0xbe,
- 0x00, 0x02, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x59, 0x5f, 0xeb, 0x0d, 0x8b, 0x7e,
- 0x04, 0x58, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00, 0x74, 0xf7, 0x80, 0x7e, 0x06, 0x0e, 0x74,
- 0x08, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x02, 0xeb, 0xe9, 0x50, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0x07,
- 0xa9, 0x00, 0x40, 0x75, 0xdc, 0x0d, 0x00, 0x40, 0x89, 0x07, 0xe8, 0x8a, 0x00, 0x8b, 0x4f, 0x04,
- 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x89, 0x7e, 0x04, 0x8b, 0xbe, 0xc2, 0x01, 0x3b, 0xfe, 0x72,
- 0x11, 0x8d, 0x86, 0xa8, 0x08, 0x05, 0xff, 0x00, 0x2b, 0xc7, 0x3b, 0xc1, 0x7d, 0x0a, 0x8d, 0xbe,
- 0xa8, 0x08, 0x2b, 0xf7, 0x3b, 0xf1, 0x7c, 0xa6, 0x8b, 0xd7, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0,
- 0x8b, 0xf3, 0xd1, 0xe9, 0x83, 0xc7, 0x02, 0x49, 0xad, 0xf3, 0xa5, 0x8b, 0xcf, 0xc7, 0x05, 0x00,
- 0x00, 0x8b, 0xfa, 0x89, 0x4d, 0x02, 0x51, 0x8b, 0x4d, 0x04, 0x83, 0xe9, 0x04, 0x89, 0x4d, 0x04,
- 0x59, 0x89, 0x05, 0x8d, 0x86, 0xa8, 0x08, 0x3b, 0xf8, 0x75, 0x0e, 0x8b, 0x86, 0xc0, 0x01, 0x3b,
- 0x86, 0xc2, 0x01, 0x75, 0x1c, 0x89, 0xbe, 0xc0, 0x01, 0x89, 0x8e, 0xc2, 0x01, 0x8b, 0x7e, 0x04,
- 0xc7, 0x86, 0xc4, 0x01, 0x00, 0x00, 0xb9, 0x40, 0x60, 0x8e, 0xc1, 0xe8, 0xd1, 0x22, 0xe9, 0x4d,
- 0xff, 0x97, 0x89, 0x45, 0x02, 0xeb, 0xe2, 0x8b, 0xb6, 0xc0, 0x01, 0xf7, 0x86, 0xc4, 0x01, 0x01,
- 0x00, 0x75, 0x0f, 0x81, 0x3c, 0x00, 0x80, 0x75, 0x05, 0x8b, 0x74, 0x02, 0xeb, 0xf5, 0x89, 0xb6,
- 0xc0, 0x01, 0xc3, 0xf7, 0x07, 0x01, 0x09, 0x74, 0x03, 0xe9, 0x61, 0x01, 0xf7, 0x07, 0x00, 0x10,
- 0x75, 0x34, 0x68, 0xf8, 0x27, 0xe9, 0xae, 0x26, 0xa8, 0x02, 0x74, 0x22, 0x80, 0x7e, 0x08, 0x00,
- 0x75, 0x1c, 0x80, 0xbe, 0x62, 0x02, 0x00, 0x74, 0x15, 0x24, 0x28, 0x3c, 0x28, 0x75, 0x0f, 0xf6,
- 0x47, 0x0e, 0x80, 0x75, 0x64, 0x81, 0x8e, 0xe6, 0x02, 0x80, 0x00, 0xeb, 0x5c, 0x90, 0xeb, 0x59,
- 0xe9, 0x38, 0xfe, 0x90, 0xeb, 0xd2, 0xeb, 0x34, 0x8b, 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x06,
- 0xa8, 0x01, 0x8b, 0xf8, 0x74, 0x4b, 0xe9, 0x14, 0x01, 0x50, 0x8b, 0x9e, 0xb2, 0x01, 0x8b, 0x07,
- 0xa9, 0x00, 0x80, 0x75, 0x02, 0x58, 0xc3, 0xa9, 0x00, 0x20, 0x74, 0x0b, 0xff, 0x86, 0x40, 0x02,
- 0x8b, 0x4f, 0x04, 0x01, 0x8e, 0x42, 0x02, 0xe8, 0x92, 0x03, 0x75, 0xc4, 0xf7, 0x86, 0xb6, 0x01,
- 0x00, 0x02, 0x75, 0x11, 0xa9, 0x01, 0x09, 0x75, 0x40, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x3a, 0x80,
- 0x7e, 0x07, 0x12, 0x74, 0x34, 0xa8, 0x28, 0x75, 0xab, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x75,
- 0xa7, 0x8b, 0x47, 0x04, 0x83, 0xf8, 0x12, 0x77, 0x05, 0x33, 0xc0, 0xe9, 0x99, 0x01, 0x83, 0xe8,
- 0x12, 0x2b, 0xc7, 0x83, 0xf8, 0x04, 0x7c, 0x38, 0x8b, 0x49, 0x16, 0x88, 0xae, 0x08, 0x02, 0x51,
- 0x80, 0xe1, 0xf0, 0x80, 0xf9, 0x00, 0x74, 0x04, 0x59, 0xe9, 0xa1, 0x00, 0x59, 0x0b, 0xff, 0x74,
- 0x0f, 0xf6, 0xc1, 0x0f, 0x74, 0xf3, 0x80, 0xf9, 0x33, 0x74, 0xee, 0x80, 0xf9, 0x03, 0x74, 0xe9,
- 0x86, 0xc4, 0x39, 0x41, 0x14, 0x86, 0xc4, 0x75, 0x03, 0xeb, 0x0d, 0x90, 0xe9, 0x53, 0x01, 0x90,
- 0xe9, 0x54, 0x01, 0x90, 0xe9, 0x5c, 0x01, 0x90, 0xf6, 0x86, 0x95, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0x43, 0xfa, 0x80, 0xfd, 0x17, 0x77, 0x11, 0x80, 0xfd, 0x01, 0x74, 0xe8, 0x80, 0xfd, 0x09, 0x74,
- 0xe3, 0x80, 0xfd, 0x0a, 0x74, 0xde, 0xeb, 0x11, 0x80, 0xfd, 0x20, 0x72, 0xd7, 0x80, 0xfd, 0x29,
- 0x77, 0xd2, 0x80, 0xfd, 0x21, 0x74, 0xcd, 0xeb, 0xa0, 0x80, 0xfd, 0x10, 0x76, 0x02, 0xeb, 0x05,
- 0x80, 0xfd, 0x0e, 0x73, 0x1d, 0x53, 0x8b, 0xd9, 0xc1, 0xeb, 0x08, 0x80, 0xe1, 0x0f, 0x3a, 0x8f,
- 0x72, 0x04, 0x74, 0x23, 0x83, 0xfb, 0x0b, 0x74, 0x19, 0x83, 0xfb, 0x0c, 0x74, 0x14, 0x5b, 0xe9,
- 0xfa, 0x00, 0x80, 0xe1, 0x0f, 0x80, 0xf9, 0x00, 0x74, 0xf5, 0x80, 0xf9, 0x03, 0x74, 0xf0, 0xe9,
- 0xa1, 0x01, 0x80, 0xf9, 0x08, 0x75, 0xe7, 0x5b, 0xe9, 0x98, 0x01, 0x5b, 0x5f, 0x8b, 0x9e, 0xb2,
- 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00, 0x74, 0x28, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80,
- 0x7e, 0x06, 0x48, 0x75, 0x1c, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x08, 0x74, 0x06, 0x68, 0x1d, 0x29,
- 0xe9, 0x5f, 0xfd, 0xf7, 0x86, 0x12, 0x01, 0x80, 0x00, 0x74, 0x06, 0x68, 0x1d, 0x29, 0xe9, 0x32,
- 0xfd, 0x8b, 0x5f, 0x02, 0x89, 0x9e, 0xb2, 0x01, 0x8b, 0xc3, 0x83, 0xe8, 0x02, 0x3b, 0x86, 0xa8,
- 0x15, 0x77, 0x04, 0x8b, 0x86, 0xaa, 0x15, 0x8e, 0x46, 0x02, 0x53, 0x26, 0x8b, 0x1e, 0x78, 0x00,
- 0x81, 0x7f, 0xfc, 0xde, 0xad, 0x75, 0x07, 0x81, 0x7f, 0xfe, 0xbe, 0xaf, 0x74, 0x05, 0xc6, 0x86,
- 0xbd, 0x01, 0x01, 0x5b, 0x26, 0xa3, 0x78, 0x00, 0x26, 0xa1, 0x78, 0x00, 0x93, 0xc7, 0x47, 0xfc,
- 0xde, 0xad, 0xc7, 0x47, 0xfe, 0xbe, 0xaf, 0x93, 0xfa, 0x8b, 0x07, 0xa9, 0x00, 0x80, 0x74, 0x17,
- 0xfb, 0xff, 0x86, 0x3c, 0x01, 0x83, 0xbe, 0x3c, 0x01, 0x05, 0x77, 0x2b, 0x8a, 0x4e, 0x09, 0x3a,
- 0x4e, 0x08, 0x75, 0x23, 0xe9, 0x60, 0xfe, 0xc6, 0x86, 0xb9, 0x01, 0x00, 0xfb, 0xf6, 0x86, 0xbc,
- 0x01, 0x01, 0x74, 0x08, 0xc6, 0x86, 0xbc, 0x01, 0x00, 0xe8, 0x6a, 0xeb, 0xc7, 0x86, 0x3c, 0x01,
- 0x00, 0x00, 0x58, 0xc3, 0xe9, 0x46, 0xff, 0xe8, 0xb5, 0xe3, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0xd7,
- 0xc7, 0x44, 0x02, 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0xbd, 0xe3,
- 0xeb, 0xcb, 0xba, 0x80, 0x02, 0xeb, 0x1d, 0xba, 0x80, 0x01, 0xeb, 0x18, 0xba, 0x80, 0x04, 0xeb,
- 0x13, 0x5f, 0x5b, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x10, 0x74, 0x06, 0x68, 0x1d, 0x29, 0xe9, 0xd2,
- 0xfc, 0xba, 0x80, 0x03, 0x33, 0xc0, 0x8e, 0xc0, 0x68, 0xe9, 0x28, 0xe9, 0xc6, 0x01, 0x33, 0xd2,
- 0x32, 0xed, 0x8a, 0x4d, 0xff, 0x89, 0x55, 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x74, 0x38, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x46, 0x09, 0x04, 0xc6, 0x86,
- 0x63, 0x02, 0x00, 0xeb, 0x24, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x21, 0xc6, 0x86, 0x63, 0x02, 0x00,
- 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8, 0x5e, 0xe7, 0xbe, 0x25, 0x4c, 0xe8, 0x18, 0xe5, 0x50, 0x53,
- 0x33, 0xc0, 0x8e, 0xc0, 0xe8, 0x47, 0x02, 0x5b, 0x58, 0xbb, 0x00, 0x00, 0x8b, 0xf8, 0x8b, 0xf3,
- 0x5b, 0x57, 0x53, 0x68, 0xe7, 0x28, 0xff, 0x66, 0x12, 0xeb, 0x87, 0x8b, 0xc7, 0x8b, 0xbf, 0x8a,
- 0x04, 0x0b, 0xff, 0x78, 0xf4, 0x74, 0xa6, 0x03, 0xfd, 0xf6, 0x45, 0x01, 0x80, 0x75, 0x02, 0xeb,
- 0x8d, 0xe9, 0x21, 0x01, 0xe9, 0x03, 0x01, 0x5f, 0x5b, 0xba, 0x80, 0x08, 0xe9, 0x75, 0xff, 0x8b,
- 0x54, 0x02, 0x86, 0xd6, 0x83, 0xc6, 0x02, 0xb0, 0x04, 0xeb, 0x51, 0x5f, 0x5b, 0xba, 0x80, 0x05,
- 0xe9, 0x61, 0xff, 0x53, 0x8d, 0x71, 0x18, 0x32, 0xff, 0x8a, 0xdd, 0xd1, 0xe3, 0x83, 0xe8, 0x04,
- 0x0b, 0xc0, 0x74, 0xb7, 0x89, 0x46, 0x04, 0x57, 0x8b, 0xbf, 0x8a, 0x04, 0x0b, 0xff, 0x74, 0xc4,
- 0x79, 0x03, 0xe9, 0x2c, 0xff, 0x03, 0xfd, 0x8e, 0xc7, 0x33, 0xc0, 0x32, 0xed, 0x8a, 0x4d, 0xff,
- 0x89, 0x45, 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0x33, 0xd2, 0x03, 0xf2, 0x8a, 0x4c, 0x01, 0x8a,
- 0x14, 0x0a, 0xd2, 0x74, 0xb6, 0x80, 0xfa, 0xff, 0x74, 0xa5, 0xb0, 0x02, 0x29, 0x56, 0x04, 0x72,
- 0xaa, 0x0a, 0xc9, 0x78, 0x92, 0x8a, 0xe1, 0x80, 0xe1, 0x3f, 0x8c, 0xc7, 0x8a, 0x6d, 0xff, 0xeb,
- 0x12, 0x80, 0x7d, 0x04, 0xff, 0x74, 0x15, 0xeb, 0x92, 0xe9, 0x7b, 0xff, 0xfe, 0xcd, 0x74, 0xf9,
- 0x83, 0xc7, 0x05, 0x3a, 0x0d, 0x75, 0xf5, 0x3a, 0x55, 0x04, 0x75, 0xe5, 0x8d, 0x44, 0x02, 0x87,
- 0x45, 0x02, 0x0b, 0xc0, 0x74, 0x09, 0xf6, 0x45, 0x01, 0x80, 0x75, 0xdd, 0x89, 0x45, 0x02, 0x83,
- 0x7e, 0x04, 0x00, 0x75, 0xa5, 0x33, 0xc0, 0x8c, 0xc6, 0xf6, 0x44, 0x01, 0x80, 0x74, 0x0e, 0x39,
- 0x44, 0x02, 0x74, 0x60, 0x83, 0xc6, 0x05, 0xf6, 0x44, 0x01, 0x80, 0x75, 0xf2, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x74, 0x36, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x86, 0x63, 0x02, 0x00, 0xc6,
- 0x46, 0x09, 0x04, 0xeb, 0x22, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x1f, 0xc6, 0x86, 0x63, 0x02, 0x00,
- 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8, 0x2e, 0xe6, 0xbe, 0x25, 0x4c, 0xe8, 0xe8, 0xe3, 0x33, 0xc0,
- 0x8e, 0xc0, 0x53, 0xe8, 0x18, 0x01, 0x5b, 0xbb, 0x00, 0x00, 0x89, 0x5e, 0x04, 0x8b, 0xf3, 0x5f,
- 0x5b, 0x33, 0xc0, 0x8e, 0xc0, 0x3b, 0xb6, 0xba, 0x01, 0x73, 0x06, 0x68, 0xe9, 0x28, 0xff, 0x66,
- 0x12, 0xe9, 0x69, 0xfd, 0x5f, 0x5b, 0xba, 0x80, 0x07, 0xe9, 0x58, 0xfe, 0x56, 0x57, 0x50, 0x33,
- 0xc0, 0x8e, 0xc0, 0x8b, 0xb6, 0xa8, 0x15, 0x8b, 0xbe, 0xaa, 0x15, 0x83, 0xc7, 0x01, 0xa5, 0xa5,
- 0xa5, 0x8b, 0xc3, 0x03, 0x47, 0x04, 0x8b, 0xbe, 0xaa, 0x15, 0x3b, 0xc7, 0x7f, 0x02, 0x32, 0xc0,
- 0x58, 0x5f, 0x5e, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xf6, 0x41, 0x16, 0x0f, 0x74, 0x60, 0x89, 0x96,
- 0xee, 0x02, 0x81, 0xfa, 0x80, 0x02, 0x74, 0x13, 0xba, 0x09, 0x04, 0xe8, 0xed, 0xf9, 0x72, 0x0b,
- 0xad, 0x86, 0xe0, 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0xeb, 0x06, 0x8b, 0x86, 0x18, 0x02, 0x86,
- 0xe0, 0x89, 0x86, 0xea, 0x02, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x4d, 0x22, 0x57, 0x53, 0xe8, 0x2b,
- 0x06, 0x5a, 0x5f, 0x72, 0x29, 0x57, 0xe8, 0x26, 0x00, 0xb8, 0x00, 0x0e, 0xab, 0x47, 0xb0, 0x00,
- 0xaa, 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0xec, 0x02, 0xa5, 0xa5, 0x55, 0x8b, 0xea,
- 0x8a, 0x47, 0x16, 0x8a, 0x66, 0x17, 0xab, 0x5d, 0xe8, 0xa1, 0x06, 0x8b, 0xda, 0x5f, 0xc3, 0x55,
- 0x8b, 0xea, 0x8a, 0x43, 0x16, 0xc0, 0xe0, 0x04, 0x88, 0x41, 0x16, 0xc7, 0x47, 0x06, 0xe0, 0x00,
- 0x83, 0xe9, 0x06, 0x89, 0x4f, 0x04, 0x0b, 0xff, 0x75, 0x18, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x8d, 0xb6, 0x00, 0x03, 0xa5, 0xa5,
- 0xa5, 0xc3, 0x8b, 0xcf, 0xd1, 0xe9, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xad, 0x24, 0x7f, 0xab, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x56, 0x8d, 0xb6, 0x00, 0x03, 0xad, 0x0c,
- 0x80, 0xab, 0xa5, 0xa5, 0x5e, 0xad, 0x80, 0xcc, 0x80, 0xab, 0x49, 0xf3, 0xa5, 0xc3, 0x8b, 0x86,
- 0x0c, 0x03, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x89, 0x86, 0x06, 0x02, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0xb6, 0x00, 0x03, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0xb9, 0x2a, 0x00,
- 0xe8, 0x5f, 0x05, 0x72, 0xd8, 0x8d, 0xb6, 0xf2, 0x02, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1,
- 0xe9, 0xf3, 0xa5, 0xe9, 0x0d, 0x06, 0xeb, 0x6a, 0xb9, 0x26, 0x00, 0xe8, 0x44, 0x05, 0x72, 0xf6,
- 0x8d, 0xb6, 0x1c, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xf2,
- 0x05, 0x8d, 0x7f, 0x08, 0x8b, 0x4f, 0x04, 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x57, 0xe8, 0x21,
- 0x05, 0x5f, 0x8b, 0xd7, 0x72, 0x22, 0x83, 0xe9, 0x08, 0x8d, 0x7f, 0x04, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8b, 0xc1, 0xab, 0x8b, 0x86, 0x22, 0x03, 0xab, 0x8b, 0xf2, 0xd1, 0xe9, 0x49, 0xf3, 0xa5, 0xbe,
- 0x01, 0x4c, 0xe8, 0x41, 0xe2, 0xe9, 0xbb, 0x05, 0xc3, 0xb9, 0x26, 0x00, 0xe8, 0xf3, 0x04, 0x72,
- 0x11, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xb6, 0x42, 0x03, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9,
- 0xa1, 0x05, 0xc3, 0xb9, 0x26, 0x00, 0xe8, 0xf3, 0x04, 0x72, 0xf7, 0x8d, 0xb6, 0x68, 0x03, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xc6, 0x86, 0x67, 0x02, 0x01, 0x80, 0xbe,
- 0x87, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x74, 0x05, 0x68, 0x6d, 0x31, 0xe9, 0x6e, 0x05, 0xb9, 0x26,
- 0x00, 0xe8, 0xc8, 0x04, 0x72, 0xcc, 0x8d, 0xb6, 0x8e, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xc6, 0x86, 0x67, 0x02, 0x01, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x03,
- 0xe9, 0x49, 0x05, 0x68, 0x6d, 0x31, 0xe9, 0x43, 0x05, 0xb9, 0x18, 0x00, 0xe8, 0x9d, 0x04, 0x72,
- 0xa1, 0x8d, 0xb6, 0xb4, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9,
- 0x2a, 0x05, 0x83, 0xc1, 0x1c, 0x56, 0x57, 0x52, 0xe8, 0x81, 0x04, 0x5a, 0x5f, 0x5e, 0x72, 0x53,
- 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x83, 0xe9, 0x08, 0x8b, 0xc1, 0x8d, 0x7f, 0x04, 0xab, 0xba, 0xe0,
- 0x00, 0x8b, 0xc2, 0xab, 0x8d, 0xb6, 0xd4, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x00, 0x03, 0x80,
- 0xbe, 0x62, 0x01, 0x01, 0x75, 0x04, 0x8d, 0xb6, 0x00, 0x01, 0xa5, 0xa5, 0xa5, 0x83, 0xe9, 0x0e,
- 0x80, 0xbe, 0x63, 0x01, 0x02, 0x75, 0x03, 0x83, 0xe9, 0x04, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0xb8,
- 0x00, 0x08, 0xab, 0x83, 0xe9, 0x04, 0xb8, 0xff, 0x26, 0xab, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0x5e,
- 0xe9, 0xc9, 0x04, 0xeb, 0x69, 0xf6, 0x86, 0x8b, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xfb, 0x04, 0x83,
- 0xc1, 0x1a, 0x57, 0x52, 0xe8, 0x15, 0x04, 0x5a, 0x5f, 0x72, 0x53, 0x8c, 0xd8, 0x8e, 0xc0, 0x83,
- 0xe9, 0x08, 0x8b, 0xc1, 0x8d, 0x7f, 0x04, 0xab, 0xb9, 0x07, 0x00, 0x8d, 0xb6, 0xec, 0x03, 0xf3,
- 0xa5, 0x83, 0xe8, 0x0e, 0x8b, 0xc8, 0x86, 0xe0, 0xab, 0xb8, 0x00, 0x08, 0xab, 0x83, 0xe9, 0x04,
- 0x8b, 0xc1, 0xb4, 0x26, 0xab, 0xbe, 0x80, 0x03, 0xb9, 0x20, 0x00, 0xf3, 0xa5, 0xc6, 0x86, 0x8b,
- 0x02, 0x00, 0xe9, 0x77, 0x04, 0xb9, 0x44, 0x00, 0xe8, 0xd1, 0x03, 0x72, 0x11, 0x8d, 0xb6, 0x00,
- 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe8, 0x5e, 0x04, 0xc3, 0xb9,
- 0x36, 0x00, 0xe8, 0xb7, 0x03, 0x72, 0xf7, 0xff, 0x86, 0x56, 0x02, 0x8d, 0xb6, 0xd2, 0x05, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0xbe, 0xec, 0x05, 0xab,
- 0xab, 0xaa, 0x8d, 0xbe, 0xf4, 0x05, 0xab, 0xab, 0xaa, 0xe9, 0x30, 0x04, 0x8d, 0x4d, 0x3a, 0x57,
- 0x53, 0xe8, 0x88, 0x03, 0x5a, 0x5f, 0x72, 0x5b, 0x57, 0xe8, 0x83, 0xfd, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xb8, 0x00, 0x26, 0xab, 0x47, 0xb0, 0x22, 0xaa, 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6,
- 0x0e, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x14, 0x03, 0xa5, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x44,
- 0x04, 0xa5, 0xa5, 0x8d, 0xb6, 0x48, 0x04, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x4e, 0x04, 0xa5, 0x53,
- 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x66, 0x00, 0xe8, 0x67, 0xdd, 0x8e, 0xc3, 0xab, 0x8e,
- 0x46, 0x02, 0x26, 0xa1, 0x64, 0x00, 0xe8, 0x5a, 0xdd, 0x8e, 0xc3, 0xab, 0x5b, 0xe8, 0xcc, 0x03,
- 0x8b, 0xda, 0x5f, 0xc3, 0x8d, 0x4d, 0x38, 0x57, 0x53, 0xe8, 0x20, 0x03, 0x5a, 0x5f, 0x72, 0xf3,
- 0x57, 0xe8, 0x1b, 0xfd, 0x8c, 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x24, 0xab, 0x47, 0xb0, 0x23, 0xaa,
- 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0x18, 0x04, 0xb9, 0x06, 0x00, 0xf3, 0xa5, 0x8d,
- 0xb6, 0x5c, 0x04, 0xa5, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x54, 0x04, 0xa5, 0xa5, 0xa5, 0xa5, 0xe8,
- 0x8a, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0x8d, 0x4d, 0x3e, 0x57, 0x53, 0xe8, 0xde, 0x02, 0x5a, 0x5f,
- 0x72, 0x64, 0x57, 0xe8, 0xd9, 0xfc, 0x8c, 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x2a, 0xab, 0x47, 0xb0,
- 0x24, 0xaa, 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0x2c, 0x04, 0xb9, 0x0a, 0x00, 0xf3,
- 0xa5, 0x8d, 0xb6, 0x4e, 0x04, 0xa5, 0x53, 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x66, 0x00,
- 0xe8, 0xd0, 0xdc, 0x8e, 0xc3, 0xab, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x64, 0x00, 0xe8, 0xc3, 0xdc,
- 0x8e, 0xc3, 0xab, 0x5b, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xb6, 0x64, 0x04, 0xa5, 0x8b, 0x86, 0xfc,
- 0x01, 0x86, 0xc4, 0xab, 0x8d, 0xb6, 0x68, 0x04, 0xa5, 0x8b, 0x86, 0xfa, 0x01, 0x86, 0xc4, 0xab,
- 0xe8, 0x19, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0xb9, 0x3a, 0x00, 0xe8, 0x6f, 0x02, 0x72, 0xf7, 0x8d,
- 0xb6, 0x6c, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87,
- 0x02, 0x01, 0x75, 0x03, 0xe9, 0xf5, 0x02, 0x68, 0x6d, 0x31, 0xe9, 0xef, 0x02, 0xb9, 0x26, 0x00,
- 0xe8, 0x49, 0x02, 0x72, 0xd1, 0xff, 0x86, 0x52, 0x02, 0x8d, 0xb6, 0xa6, 0x04, 0x8b, 0xfb, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xcb,
- 0x02, 0x68, 0x6d, 0x31, 0xe9, 0xc5, 0x02, 0xb9, 0x20, 0x00, 0xe8, 0x1f, 0x02, 0x72, 0xa7, 0x8d,
- 0xb6, 0xf2, 0x01, 0x8d, 0xbe, 0xe6, 0x04, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6,
- 0xcc, 0x04, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x03, 0xe9,
- 0x9a, 0x02, 0x68, 0x6d, 0x31, 0xe9, 0x94, 0x02, 0x89, 0x86, 0x06, 0x05, 0x86, 0xc4, 0x89, 0x86,
- 0x12, 0x02, 0xb9, 0x2a, 0x00, 0xe8, 0xe4, 0x01, 0x72, 0x18, 0x8d, 0xb6, 0xec, 0x04, 0x8b, 0xfb,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x07, 0xe9,
- 0x6a, 0x02, 0xe9, 0x5a, 0x01, 0x90, 0x68, 0x6d, 0x31, 0xe9, 0x60, 0x02, 0xb9, 0x18, 0x00, 0xe8,
- 0xba, 0x01, 0x73, 0x03, 0xe9, 0x3f, 0xff, 0x8d, 0xb6, 0x8a, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x44, 0x02, 0xb9, 0x24, 0x00, 0xe8, 0x9e, 0x01, 0x73, 0x03,
- 0xe9, 0x23, 0xff, 0x8b, 0x86, 0x34, 0x05, 0x86, 0xc4, 0x89, 0x86, 0x2a, 0x02, 0x8d, 0xb6, 0x16,
- 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x1e, 0x02, 0xb9, 0x1c,
- 0x00, 0xe8, 0x78, 0x01, 0x73, 0x03, 0xe9, 0xfd, 0xfe, 0x8d, 0xb6, 0x3a, 0x05, 0x8b, 0xfb, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x02, 0x02, 0xb9, 0x18, 0x00, 0xe8, 0x5c, 0x01,
- 0x73, 0x03, 0xe9, 0xe1, 0xfe, 0x8d, 0xb6, 0x56, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1,
- 0xe9, 0xf3, 0xa5, 0xe9, 0xe6, 0x01, 0xb9, 0x1c, 0x00, 0x50, 0xe8, 0x3f, 0x01, 0x58, 0x73, 0x03,
- 0xe9, 0xc3, 0xfe, 0x8d, 0xb6, 0x6e, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3,
- 0xa5, 0xe9, 0xc8, 0x01, 0xb9, 0x18, 0x00, 0xe8, 0x22, 0x01, 0x73, 0x03, 0xe9, 0xa7, 0xfe, 0x8d,
- 0xb6, 0xa2, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xac, 0x01,
- 0xb9, 0x18, 0x00, 0xe8, 0x06, 0x01, 0x73, 0x03, 0xe9, 0x8b, 0xfe, 0x8d, 0xb6, 0xba, 0x05, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x90, 0x01, 0x8b, 0x4f, 0x04, 0x53,
- 0xe8, 0xe9, 0x00, 0x5e, 0x72, 0x17, 0x89, 0x9e, 0x3c, 0x02, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xc7, 0x86, 0x3e, 0x02, 0x01, 0x00, 0xe9, 0x6f, 0x01, 0xe9, 0x61, 0x12,
- 0xb9, 0x18, 0x00, 0xe8, 0xc6, 0x00, 0x8d, 0xb6, 0xb4, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0x7f, 0x08, 0xb9, 0x06, 0x00, 0xf3, 0xab, 0xe9, 0x4b,
- 0x01, 0x53, 0x8b, 0x9e, 0xb0, 0x01, 0x8b, 0xb6, 0xae, 0x01, 0x3b, 0xde, 0x74, 0x15, 0x8a, 0x47,
- 0x17, 0xf6, 0x44, 0x0e, 0x80, 0x75, 0x0e, 0x38, 0x44, 0x17, 0x75, 0x09, 0x8b, 0x74, 0x02, 0x89,
- 0xb6, 0xae, 0x01, 0xeb, 0x1a, 0x8b, 0xfe, 0x8b, 0x74, 0x02, 0x3b, 0xde, 0x74, 0x11, 0xf6, 0x44,
- 0x0e, 0x80, 0x75, 0xf1, 0x38, 0x44, 0x17, 0x75, 0xec, 0x8b, 0x44, 0x02, 0x89, 0x45, 0x02, 0x5b,
- 0xc3, 0xe8, 0x89, 0xd8, 0xc6, 0x86, 0x87, 0x02, 0x00, 0x8d, 0xb6, 0xa6, 0x01, 0x8d, 0xbe, 0xac,
- 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00,
- 0x00, 0x16, 0x8d, 0x9e, 0xa8, 0x12, 0x89, 0x9e, 0xa8, 0x01, 0x89, 0x9e, 0xaa, 0x01, 0xc7, 0x07,
- 0x30, 0x80, 0xc7, 0x47, 0x04, 0x00, 0x00, 0x83, 0xc3, 0x08, 0x89, 0x9e, 0xa6, 0x01, 0xc6, 0x86,
- 0x8a, 0x02, 0x01, 0x83, 0xc1, 0x02, 0xeb, 0x4a, 0x8b, 0x9e, 0xac, 0x01, 0x8b, 0xb6, 0xae, 0x01,
- 0xeb, 0x29, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x74, 0xa8, 0x8d, 0x96, 0xa8, 0x15, 0x8d, 0xbe, 0xa8,
- 0x12, 0x8b, 0x9e, 0xa6, 0x01, 0x8b, 0xb6, 0xa8, 0x01, 0xeb, 0x18, 0x90, 0x8b, 0x9e, 0xa6, 0x01,
- 0x8b, 0xb6, 0xa8, 0x01, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0xcd, 0x8d, 0x96, 0xa8, 0x12, 0x8d,
- 0xbe, 0xa8, 0x09, 0x83, 0xc1, 0x02, 0x3b, 0xde, 0x73, 0x17, 0x8b, 0xc6, 0x2b, 0xc3, 0x3b, 0xc1,
- 0x72, 0x25, 0xc7, 0x07, 0x00, 0x00, 0x83, 0xc3, 0x02, 0xc7, 0x07, 0x00, 0x00, 0x83, 0xe9, 0x02,
- 0xc3, 0x8b, 0xc2, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xe7, 0x8b, 0xdf, 0x8b, 0xc6, 0x2b,
- 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xdb, 0x3b, 0xb6, 0xae, 0x01, 0x74, 0x11, 0x80, 0xbe, 0x62,
- 0x02, 0x01, 0x75, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x02, 0xe8, 0x82, 0x01, 0xf9, 0xc3, 0x8b, 0x74,
- 0x02, 0x89, 0xb6, 0xae, 0x01, 0x3b, 0xdd, 0x74, 0x04, 0x3b, 0xde, 0x77, 0xc4, 0x8b, 0xc6, 0x2b,
- 0xc3, 0x3b, 0xc1, 0x72, 0xe9, 0x89, 0xb6, 0xae, 0x01, 0xeb, 0xa7, 0x8b, 0xb6, 0xb0, 0x01, 0x89,
- 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x89, 0x9e, 0xb0, 0x01, 0x03, 0x5f, 0x04, 0x83, 0xc3, 0x06,
- 0x89, 0x9e, 0xac, 0x01, 0xc6, 0x86, 0x8c, 0x02, 0x01, 0xc3, 0xeb, 0xdf, 0x80, 0xbe, 0x87, 0x02,
- 0x01, 0x75, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x4c, 0x00, 0x0c, 0x02, 0x80, 0xbe, 0x8a, 0x02,
- 0x01, 0x74, 0x45, 0x8b, 0xb6, 0xaa, 0x01, 0x89, 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x83, 0xc8,
- 0x04, 0x25, 0xff, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x4c, 0x00, 0x89, 0x9e, 0xaa, 0x01, 0x03,
- 0x5f, 0x04, 0x83, 0xc3, 0x06, 0x89, 0x9e, 0xa6, 0x01, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x4c,
- 0x00, 0x0c, 0x02, 0x8b, 0x9e, 0xaa, 0x01, 0xc7, 0x07, 0x00, 0x00, 0x26, 0x89, 0x1e, 0x6c, 0x00,
- 0x83, 0xc8, 0x08, 0x25, 0xff, 0xf7, 0xeb, 0xcc, 0x8e, 0x46, 0x02, 0x89, 0x9e, 0xa8, 0x01, 0x26,
- 0x89, 0x1e, 0x6c, 0x00, 0x83, 0xc8, 0x08, 0x25, 0xff, 0xf7, 0xc6, 0x86, 0x8a, 0x02, 0x00, 0xeb,
- 0xb3, 0x53, 0xf6, 0x86, 0x87, 0x02, 0x01, 0x74, 0x13, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c,
- 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xe8, 0x65, 0xfe, 0x5b, 0xc3, 0xe9, 0xac,
- 0x00, 0x90, 0x80, 0xbe, 0x87, 0x02, 0x00, 0x75, 0xf5, 0x50, 0xfa, 0x8d, 0xb6, 0xac, 0x01, 0x8d,
- 0xbe, 0xa6, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x80, 0xbe, 0x63, 0x01, 0x01, 0x75,
- 0x16, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x81,
- 0x26, 0x40, 0x00, 0xff, 0xe3, 0xeb, 0x27, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00,
- 0x02, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00,
- 0x00, 0x1c, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x40, 0x00, 0xff, 0xe3, 0x33, 0xc0,
- 0x89, 0x86, 0xae, 0x01, 0x40, 0x88, 0x86, 0x87, 0x02, 0x58, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74,
- 0x0a, 0xe8, 0x5c, 0xe0, 0x8e, 0x46, 0x02, 0x26, 0xa2, 0x5c, 0x00, 0x8b, 0x9e, 0xa8, 0x01, 0x83,
- 0x3f, 0x00, 0x74, 0x03, 0xe8, 0x90, 0x00, 0xf6, 0x86, 0x8c, 0x02, 0x01, 0x74, 0x19, 0x8e, 0x46,
- 0x02, 0x26, 0x89, 0x1e, 0x6c, 0x00, 0xc6, 0x86, 0x8c, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x4c, 0x00, 0x08, 0xfb, 0xeb, 0x06, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xfb, 0xc3, 0x56, 0x8d,
- 0xb6, 0xa8, 0x09, 0xc7, 0x86, 0xa6, 0x01, 0xb0, 0x09, 0x01, 0xae, 0xa6, 0x01, 0x89, 0xb6, 0xa8,
- 0x01, 0x89, 0xb6, 0xaa, 0x01, 0xc7, 0x04, 0x30, 0x80, 0xc7, 0x44, 0x04, 0x00, 0x00, 0xc6, 0x86,
- 0x8a, 0x02, 0x01, 0x5e, 0xc3, 0xff, 0xa4, 0x1c, 0x04, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x32,
- 0x80, 0x7e, 0x06, 0x46, 0x75, 0x1c, 0xf6, 0x86, 0x7a, 0x02, 0x01, 0x74, 0x15, 0xff, 0x8e, 0xd6,
- 0x02, 0x75, 0x0f, 0xc6, 0x86, 0x7a, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x36, 0xdd,
- 0xeb, 0x10, 0x83, 0xfe, 0x10, 0x74, 0x07, 0x83, 0xfe, 0x0e, 0x74, 0x02, 0xeb, 0x04, 0xff, 0xa4,
- 0x1c, 0x04, 0xc3, 0x8b, 0x9e, 0xa8, 0x01, 0x8b, 0x07, 0xfb, 0xa9, 0x00, 0x80, 0x75, 0x46, 0x8b,
- 0x77, 0x17, 0x81, 0xe6, 0xff, 0x00, 0xf7, 0x86, 0x3e, 0x02, 0x01, 0x00, 0x74, 0x1b, 0x3b, 0x9e,
- 0x3c, 0x02, 0x75, 0x15, 0x89, 0x86, 0xcc, 0x15, 0x50, 0x53, 0x56, 0xe8, 0x23, 0x0f, 0x5e, 0x5b,
- 0x58, 0xc7, 0x86, 0x3e, 0x02, 0x00, 0x00, 0xeb, 0x18, 0xf7, 0x46, 0x14, 0xff, 0xff, 0x74, 0x11,
- 0x83, 0xfe, 0x2a, 0x77, 0x0c, 0xd1, 0xe6, 0x68, 0xad, 0x34, 0xff, 0x66, 0x14, 0x5b, 0x83, 0xc4,
- 0x02, 0x81, 0x0f, 0x00, 0x80, 0xfa, 0xf6, 0x47, 0x05, 0x80, 0x74, 0x1a, 0x8b, 0x5f, 0x02, 0x89,
- 0x9e, 0xa8, 0x01, 0xf7, 0x07, 0x10, 0x00, 0x74, 0x0d, 0xff, 0x86, 0x3a, 0x01, 0x83, 0xbe, 0x3a,
- 0x01, 0x06, 0x77, 0x0f, 0xeb, 0x91, 0xc6, 0x86, 0xb8, 0x01, 0x00, 0xc7, 0x86, 0x3a, 0x01, 0x00,
- 0x00, 0xfb, 0xc3, 0xe8, 0x79, 0xd8, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0xea, 0xc7, 0x44, 0x02, 0x03,
- 0x00, 0xc6, 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x81, 0xd8, 0xeb, 0xdd, 0xa9, 0x20,
- 0x00, 0x75, 0x74, 0xf7, 0x47, 0x04, 0x00, 0x80, 0x74, 0x05, 0xe8, 0x08, 0x00, 0x72, 0x9f, 0x53,
- 0x68, 0xa9, 0x34, 0xff, 0xe6, 0x8a, 0x47, 0x17, 0x8b, 0xfb, 0x8b, 0x7d, 0x02, 0x38, 0x45, 0x17,
- 0x74, 0x09, 0xf7, 0x45, 0x04, 0x00, 0x80, 0x75, 0xf1, 0xf8, 0xc3, 0xf9, 0xc3, 0xa9, 0x20, 0x00,
- 0x75, 0x05, 0xa9, 0x00, 0x10, 0x75, 0x0c, 0x33, 0xc9, 0xa9, 0x05, 0x00, 0x75, 0x0a, 0xa9, 0x0a,
- 0x04, 0x74, 0x05, 0x8b, 0x0d, 0xe3, 0x01, 0x49, 0x89, 0x0d, 0xc3, 0x53, 0x8b, 0x4f, 0x04, 0x80,
- 0xe5, 0x7f, 0x89, 0x4f, 0x04, 0x83, 0xc1, 0x06, 0xe8, 0xc1, 0xfc, 0x72, 0x19, 0x5e, 0x56, 0x8b,
- 0xfb, 0xd1, 0xe9, 0x83, 0xe9, 0x02, 0x83, 0xc6, 0x04, 0x83, 0xc7, 0x04, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xf3, 0xa5, 0xe8, 0x47, 0xfd, 0xf8, 0x5b, 0xc3, 0x80, 0x7e, 0x08, 0x02, 0x75, 0x0b, 0xa9, 0x20,
- 0x00, 0x75, 0x06, 0xc7, 0x86, 0xcc, 0x01, 0x01, 0x00, 0xc3, 0x8a, 0x56, 0x06, 0x80, 0xfa, 0x02,
- 0x74, 0x17, 0x80, 0xfa, 0x44, 0x74, 0x12, 0x83, 0x7e, 0x08, 0x08, 0x75, 0x18, 0x80, 0xfa, 0x0c,
- 0x74, 0x07, 0x80, 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x0b, 0xa9, 0x20, 0x00, 0x75, 0x06, 0xb8, 0x01,
- 0x00, 0xe8, 0x7d, 0xeb, 0xc3, 0xb9, 0x05, 0x00, 0xa9, 0x20, 0x00, 0x74, 0x09, 0xb9, 0x08, 0x00,
- 0xa9, 0x0f, 0x00, 0x75, 0x01, 0xc3, 0xff, 0x86, 0xce, 0x02, 0x83, 0xbe, 0xce, 0x02, 0x02, 0x72,
- 0x06, 0x8b, 0xc1, 0xe8, 0x5b, 0xeb, 0xc3, 0xe8, 0x9f, 0xf7, 0xc3, 0x53, 0x68, 0xa9, 0x34, 0xe9,
- 0x63, 0xf8, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x1d, 0xa9, 0x00, 0x10, 0x75, 0xee, 0xa9, 0x20, 0x00,
- 0x75, 0x00, 0xa8, 0x0a, 0x75, 0x10, 0xff, 0x86, 0xc4, 0x02, 0x83, 0xbe, 0xc4, 0x02, 0x04, 0x72,
- 0xda, 0xc6, 0x46, 0x07, 0x0e, 0xc3, 0x83, 0xbe, 0xc2, 0x02, 0x04, 0x73, 0xf8, 0xbe, 0x31, 0x4c,
- 0xe8, 0x33, 0xd9, 0xeb, 0xf0, 0x8d, 0xbe, 0xc8, 0x02, 0xe8, 0x11, 0xff, 0x0b, 0xc9, 0x74, 0xe5,
- 0x53, 0x68, 0xa9, 0x34, 0xe9, 0x1e, 0xf8, 0x8d, 0xbe, 0xc0, 0x02, 0xe8, 0xff, 0xfe, 0x0b, 0xc9,
- 0x74, 0x03, 0xe9, 0x16, 0xff, 0xc3, 0x53, 0x8a, 0x56, 0x06, 0x80, 0xfa, 0x02, 0x74, 0x17, 0x80,
- 0xfa, 0x44, 0x74, 0x12, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x34, 0x80, 0xfa, 0x0c, 0x74, 0x07, 0x80,
- 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x28, 0xa9, 0x20, 0x00, 0x74, 0x25, 0x80, 0xbe, 0xfe, 0x00, 0x02,
- 0x74, 0x1c, 0x8b, 0x96, 0x66, 0x01, 0x4a, 0x89, 0x96, 0x66, 0x01, 0x83, 0xfa, 0x01, 0x77, 0x1b,
- 0xbe, 0x19, 0x4c, 0xe8, 0xd0, 0xd8, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xe8, 0xfb, 0xf6, 0x5b, 0xc3,
- 0xfe, 0x8e, 0x68, 0x01, 0x75, 0x05, 0xe8, 0x15, 0x20, 0xeb, 0xf3, 0xbe, 0x19, 0x4c, 0xe8, 0xb5,
- 0xd8, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xfa, 0xe8, 0xf1,
- 0xf6, 0xeb, 0xdb, 0xa9, 0x20, 0x00, 0x74, 0x41, 0xa9, 0x0f, 0x00, 0x75, 0x25, 0xc6, 0x86, 0x69,
- 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e,
- 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0x8b, 0x86, 0x0a, 0x02, 0x83, 0x8e, 0x0a, 0x02, 0x40,
- 0xeb, 0x17, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5,
- 0x8b, 0x86, 0x0a, 0x02, 0x83, 0xa6, 0x0a, 0x02, 0xbf, 0x33, 0x86, 0x0a, 0x02, 0x74, 0x05, 0xc6,
- 0x86, 0x89, 0x02, 0x01, 0xc3, 0xfb, 0xc3, 0xff, 0xa4, 0xc0, 0x03, 0x53, 0x56, 0x8b, 0xc7, 0xf7,
- 0x07, 0x00, 0x10, 0x75, 0x18, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xd4, 0x01, 0x8c, 0xd9, 0x8e, 0xc1,
- 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x8b, 0xf8, 0x75, 0x0c, 0x81, 0x0f, 0x00, 0x10, 0x80, 0x7e, 0x06,
- 0x44, 0x74, 0x47, 0xeb, 0x42, 0x8b, 0x49, 0x16, 0x80, 0xf9, 0x00, 0x74, 0x05, 0x80, 0xf9, 0x03,
- 0x75, 0x38, 0x8d, 0xbe, 0x16, 0x03, 0x83, 0x3d, 0x00, 0x75, 0x0c, 0x83, 0x7d, 0x02, 0x00, 0x75,
- 0x06, 0x83, 0x7d, 0x04, 0x00, 0x74, 0x23, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd9,
- 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x8b, 0xf8, 0x74, 0x0f, 0xc7, 0x86, 0x2e, 0x02, 0x0e,
- 0x00, 0xb8, 0x0b, 0x00, 0xe8, 0xca, 0xe9, 0x5e, 0x5b, 0xc3, 0x8b, 0xf8, 0x5e, 0x5b, 0xff, 0xa4,
- 0xec, 0x03, 0xff, 0x86, 0x4c, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x06, 0x00, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x8b, 0xb6, 0x1a, 0x06,
- 0x8b, 0x04, 0x86, 0xe0, 0x89, 0x86, 0x06, 0x02, 0x89, 0x86, 0x16, 0x02, 0x8b, 0xb6, 0x1f, 0x06,
- 0x8b, 0x04, 0x89, 0x86, 0x1a, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x86, 0x1c, 0x02, 0x8b, 0x44, 0x04,
- 0x89, 0x86, 0x1e, 0x02, 0x8b, 0xb6, 0x24, 0x06, 0x8b, 0x04, 0x89, 0x86, 0x24, 0x02, 0x8b, 0x44,
- 0x02, 0x89, 0x86, 0x26, 0x02, 0x8b, 0xb6, 0x1a, 0x06, 0x8b, 0x04, 0x80, 0x7e, 0x08, 0x06, 0x75,
- 0x56, 0xf7, 0x07, 0x00, 0x10, 0x74, 0x14, 0xf6, 0x47, 0x06, 0x08, 0x75, 0x0b, 0x80, 0xbe, 0x63,
- 0x02, 0x00, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x04, 0xe9, 0x1b, 0x01, 0x3b, 0x86, 0x0c, 0x03, 0x77,
- 0xf7, 0x80, 0xbe, 0x62, 0x02, 0x01, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0xea, 0xc6, 0x46,
- 0x07, 0x10, 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0xe0, 0x80, 0xbe, 0x63, 0x02, 0x00, 0x75, 0xd9, 0xc6,
- 0x46, 0x09, 0x0a, 0xf6, 0x86, 0x0b, 0x02, 0x10, 0x74, 0xce, 0x80, 0xa6, 0x0b, 0x02, 0x6f, 0xc6,
- 0x86, 0x89, 0x02, 0x01, 0xe9, 0xdf, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x5b, 0xc6, 0x86, 0x58,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xbf, 0xbe, 0xf5, 0x4b, 0xe8, 0x05,
- 0xd7, 0x8b, 0xb6, 0x1f, 0x06, 0x8d, 0xbe, 0x00, 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00,
- 0xf3, 0xa7, 0x75, 0x21, 0x83, 0xf8, 0x01, 0x74, 0x1c, 0xff, 0x8e, 0xba, 0x02, 0x75, 0x13, 0xf6,
- 0x86, 0x5c, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x86, 0x5c, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x08, 0xe9,
- 0x94, 0x00, 0xe9, 0x91, 0x00, 0xc7, 0x86, 0xba, 0x02, 0x08, 0x00, 0x83, 0xf8, 0x01, 0x75, 0x0a,
- 0xc7, 0x86, 0xb8, 0x02, 0x02, 0x00, 0xeb, 0x7e, 0xeb, 0x2e, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x16,
- 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0xe4, 0xff, 0x8e, 0xb8, 0x02,
- 0x75, 0x14, 0xc7, 0x86, 0xb8, 0x02, 0x02, 0x00, 0xc6, 0x86, 0x58, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x40, 0xeb, 0x4e, 0x80, 0xbe, 0x62, 0x02, 0x00, 0x74, 0x0c, 0x80,
- 0x7e, 0x08, 0x08, 0x74, 0x41, 0xc6, 0x46, 0x09, 0x0a, 0xeb, 0x3b, 0xb7, 0x10, 0x8a, 0x5e, 0x06,
- 0x80, 0xfb, 0x06, 0x74, 0x1f, 0x80, 0xfb, 0x08, 0x74, 0x1a, 0x80, 0xfb, 0x04, 0x74, 0x15, 0x80,
- 0xfb, 0x0c, 0x74, 0x10, 0x80, 0xfb, 0x0a, 0x75, 0x07, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xeb, 0x04,
- 0xb7, 0x12, 0xeb, 0x12, 0x88, 0x7e, 0x07, 0x80, 0xff, 0x12, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1e,
- 0xb8, 0x07, 0x00, 0xe8, 0x2b, 0xe8, 0xc3, 0xff, 0x86, 0x4c, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x06,
- 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3,
- 0xa5, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x04, 0xe8, 0xeb, 0x37, 0xf6,
- 0x86, 0x72, 0x02, 0x01, 0x74, 0x26, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x20, 0xc6, 0x46, 0x09, 0x1a,
- 0xc6, 0x86, 0x73, 0x02, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xeb, 0x0a, 0x80, 0x7e, 0x08, 0x18,
- 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1a, 0xc3, 0x8a, 0x4e, 0x06, 0x80, 0xbe, 0xac, 0x02, 0x01, 0x74,
- 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8, 0xb8, 0xe7, 0xc3, 0xe9, 0x8e, 0x00, 0xeb, 0x6e, 0xeb,
- 0x64, 0x80, 0x7e, 0x06, 0x42, 0x75, 0xf3, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75, 0xee, 0x80,
- 0xbe, 0xfe, 0x00, 0x02, 0x74, 0xe9, 0xf6, 0x86, 0x78, 0x02, 0x01, 0x74, 0x29, 0xc6, 0x86, 0x78,
- 0x02, 0x00, 0xc6, 0x86, 0xb0, 0x02, 0x01, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x02, 0xc7, 0x86, 0xd8,
- 0x02, 0x05, 0x00, 0xbe, 0xa9, 0x4c, 0xe8, 0x8d, 0xd5, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x08, 0x74,
- 0x03, 0xe8, 0xb4, 0xf6, 0xeb, 0x45, 0xf6, 0x86, 0x82, 0x02, 0x01, 0x75, 0x18, 0xf7, 0x86, 0xf4,
- 0x00, 0x00, 0x10, 0x74, 0x10, 0xb8, 0x02, 0x00, 0xe8, 0x9a, 0x11, 0xc6, 0x46, 0x09, 0x1e, 0xc6,
- 0x46, 0x07, 0x02, 0xeb, 0x26, 0xb8, 0x06, 0x00, 0xe8, 0x46, 0xe7, 0xeb, 0x1e, 0x3d, 0x00, 0x02,
- 0x75, 0x10, 0xc6, 0x86, 0x7b, 0x02, 0x01, 0xe8, 0xf1, 0x06, 0xbe, 0x91, 0x4c, 0xe8, 0x46, 0xd5,
- 0xeb, 0x09, 0x3d, 0x00, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x4a, 0xc3, 0xc7, 0x86, 0x2e, 0x02,
- 0x02, 0x00, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x2b, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75, 0x10,
- 0xc6, 0x46, 0x07, 0x48, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x19, 0xc6, 0x46, 0x09, 0x16, 0xeb, 0x13,
- 0x86, 0xc4, 0x3d, 0x20, 0x80, 0x75, 0x0c, 0xc7, 0x86, 0x2e, 0x02, 0x11, 0x00, 0xb8, 0x08, 0x00,
- 0xe8, 0xee, 0xe6, 0xc3, 0xc7, 0x86, 0x2e, 0x02, 0x0f, 0x00, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x06,
- 0x80, 0x7e, 0x06, 0x42, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0xd5, 0xe6, 0xeb, 0x0d, 0xf6, 0x86,
- 0x73, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x9d, 0x4c, 0xe8, 0xdb, 0xd4, 0xc3, 0x80, 0x7e, 0x06, 0x44,
- 0x75, 0x14, 0xe8, 0xea, 0xd2, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0xfd, 0xd2,
- 0xbe, 0x19, 0x4c, 0xe8, 0x72, 0xd5, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x40, 0x00, 0x74, 0x18, 0xf7,
- 0x86, 0xf4, 0x00, 0x00, 0x20, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0a, 0x80, 0x7e, 0x06,
- 0x0e, 0x77, 0x04, 0xc6, 0x46, 0x07, 0x14, 0xc3, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x2e, 0xff, 0x8e,
- 0x66, 0x01, 0x75, 0x1d, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x64, 0x00, 0xfd, 0xf7, 0x86, 0x12,
- 0x01, 0x00, 0x84, 0x74, 0x06, 0xc6, 0x46, 0x07, 0x4e, 0xeb, 0x11, 0xc6, 0x46, 0x07, 0x46, 0xeb,
- 0x0b, 0xc6, 0x86, 0x77, 0x02, 0x01, 0xb9, 0x5a, 0x00, 0xe8, 0x19, 0xf3, 0xc3, 0x80, 0x7e, 0x06,
- 0x44, 0x75, 0x1f, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x64, 0x00, 0x02, 0xc6, 0x86, 0x76, 0x02,
- 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0x4f, 0xd4, 0xb9, 0x5a, 0x00, 0xc6, 0x86, 0x8b, 0x02, 0x01, 0xe8,
- 0xf3, 0xf2, 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x72, 0x18, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x44,
- 0x74, 0x0a, 0x80, 0xf9, 0x46, 0x74, 0x05, 0x80, 0xf9, 0x48, 0x75, 0x06, 0xb8, 0x03, 0x00, 0xe8,
- 0x0f, 0xe6, 0xc3, 0xff, 0x86, 0x50, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x0b, 0x00, 0x8a, 0x86, 0x58,
- 0x02, 0x88, 0x86, 0x84, 0x02, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc6, 0x86, 0x65, 0x02, 0x00,
- 0x83, 0x8e, 0x0a, 0x02, 0x20, 0x81, 0xa6, 0x0a, 0x02, 0xff, 0x2f, 0xc6, 0x86, 0x89, 0x02, 0x01,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x38, 0xc6, 0x86, 0x84, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0a, 0xc6, 0x86, 0x6d, 0x02,
- 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0x8a, 0xa6, 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x05,
- 0xd6, 0x88, 0x86, 0x58, 0x02, 0xc6, 0x46, 0x09, 0x0c, 0xc7, 0x86, 0xca, 0x01, 0x00, 0x01, 0x80,
- 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x06, 0x80, 0x7e, 0x08, 0x02, 0x75, 0x04, 0xc6,
- 0x46, 0x09, 0x0c, 0x80, 0x7e, 0x08, 0x06, 0x74, 0x05, 0xc6, 0x86, 0x5e, 0x02, 0x01, 0x8d, 0x77,
- 0x0e, 0x8d, 0xbe, 0x00, 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x06, 0x00, 0xf3, 0xa6, 0x74, 0x08,
- 0x77, 0x03, 0xe9, 0x95, 0x00, 0xe9, 0xfe, 0x00, 0xf6, 0x47, 0x06, 0x08, 0x75, 0x59, 0x80, 0x7e,
- 0x08, 0x04, 0x75, 0x53, 0x8b, 0xb6, 0x2a, 0x06, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd9, 0x8e, 0xc1,
- 0xb9, 0x03, 0x00, 0xb8, 0x01, 0x00, 0xf3, 0xa7, 0x74, 0x02, 0xeb, 0x3e, 0xff, 0x86, 0xbe, 0x02,
- 0x83, 0xbe, 0xbe, 0x02, 0x03, 0x72, 0x30, 0x83, 0xbe, 0xbc, 0x02, 0x03, 0x72, 0x29, 0xc6, 0x46,
- 0x09, 0x02, 0xc6, 0x86, 0x84, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x64, 0x00, 0x00,
- 0x80, 0x8a, 0x86, 0x58, 0x02, 0x8a, 0xa6, 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x66, 0xd5,
- 0x88, 0x86, 0x58, 0x02, 0xe8, 0x80, 0xf3, 0xe9, 0xec, 0x00, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x1d,
- 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0x8a, 0x86, 0x58, 0x02, 0x8a, 0xa6,
- 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x3d, 0xd5, 0x88, 0x86, 0x58, 0x02, 0xc6, 0x46, 0x09,
- 0x0c, 0xb8, 0x00, 0x03, 0xe8, 0xd1, 0xf3, 0xe9, 0xbc, 0x00, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x3d,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x16, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74, 0x16, 0xf6, 0x86,
- 0x62, 0x02, 0x01, 0x74, 0x08, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01, 0x75, 0x16, 0xc6, 0x46, 0x09,
- 0x0c, 0xe9, 0x92, 0x00, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x9c, 0xf7, 0x86, 0x12, 0x01, 0x00,
- 0x01, 0x74, 0x94, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86, 0x4e, 0x02, 0xeb, 0x79, 0x80, 0x7e, 0x08,
- 0x0a, 0x75, 0x73, 0xf6, 0x86, 0x63, 0x02, 0x01, 0x75, 0x0e, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01,
- 0x75, 0x06, 0xc6, 0x46, 0x09, 0x0c, 0xeb, 0x5e, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01, 0x74, 0x56,
- 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x50, 0x80, 0x7e, 0x08, 0x04, 0x75, 0x2c, 0xc6, 0x46, 0x09, 0x0c,
- 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x1d, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00,
- 0x8a, 0x86, 0x58, 0x02, 0x8a, 0xa6, 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x97, 0xd4, 0x88,
- 0x86, 0x58, 0x02, 0xe8, 0xdb, 0xef, 0xeb, 0x1e, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x09, 0xf6, 0x86,
- 0x6c, 0x02, 0x01, 0x74, 0x02, 0xeb, 0xab, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x09, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x75, 0x02, 0xeb, 0x9c, 0x8a, 0x86, 0x84, 0x02, 0x88, 0x86, 0x58, 0x02, 0xc3, 0xc7,
- 0x86, 0xc6, 0x02, 0x02, 0x00, 0xff, 0x86, 0x46, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x0c, 0x00, 0x80,
- 0x7e, 0x06, 0x04, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x06, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x56, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x3b, 0xc6, 0x86, 0x58, 0x02,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xb8, 0x00, 0x02, 0xe8, 0xc7,
- 0xf2, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x0c, 0xbe, 0x1f, 0x4c, 0xe8, 0xd8, 0xd1, 0xbe, 0x3d,
- 0x4c, 0xe8, 0xd2, 0xd1, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0d, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6,
- 0x86, 0x6f, 0x02, 0x00, 0xe8, 0xff, 0xd3, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x34, 0xc6, 0x86,
- 0x5c, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xe9, 0xc9, 0x00, 0x80, 0x7e, 0x08, 0x0c, 0x75,
- 0x24, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x16, 0xbe, 0x1f, 0x4c, 0xe8,
- 0x94, 0xd1, 0xbe, 0x3d, 0x4c, 0xe8, 0x8e, 0xd1, 0xc6, 0x86, 0x5c, 0x02, 0x00, 0xc6, 0x86, 0x5d,
- 0x02, 0x00, 0xe9, 0x9f, 0x00, 0x80, 0x7e, 0x08, 0x02, 0x75, 0xf7, 0xc7, 0x86, 0xcc, 0x01, 0x00,
- 0x00, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x0a, 0xc6, 0x86, 0x5c, 0x02,
- 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x00, 0x03, 0x8c, 0xd9, 0x8e,
- 0xc1, 0xb9, 0x06, 0x00, 0xf3, 0xa6, 0x74, 0x2e, 0xc6, 0x86, 0x58, 0x02, 0x00, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0a, 0xc6, 0x86, 0x6d,
- 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x6c, 0xd3, 0xb8, 0x00, 0x02, 0xe8, 0x08, 0xf2,
- 0xc6, 0x46, 0x09, 0x00, 0xeb, 0x3e, 0x8e, 0x46, 0x02, 0x26, 0xa0, 0x5c, 0x00, 0xc6, 0x46, 0x09,
- 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x00,
- 0xe8, 0x43, 0xd3, 0x24, 0x07, 0xe8, 0x0a, 0xf5, 0xbe, 0xef, 0x4b, 0xe8, 0xf8, 0xd0, 0x8c, 0xd8,
- 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0xe8, 0xc5, 0xee, 0xbe, 0x3d,
- 0x4c, 0xe8, 0xe2, 0xd0, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xff, 0x86, 0x54, 0x02, 0xc7, 0x86, 0x2e,
- 0x02, 0x0f, 0x00, 0xf6, 0x86, 0xce, 0x01, 0x01, 0x74, 0x3b, 0xb8, 0x94, 0x5e, 0xa3, 0x8a, 0x5e,
- 0x8d, 0x77, 0x0e, 0x8b, 0xf8, 0xa5, 0xa5, 0xa5, 0xc7, 0x06, 0x92, 0x5e, 0x01, 0x00, 0xc6, 0x86,
- 0xcf, 0x01, 0x00, 0x33, 0xff, 0xba, 0x02, 0x08, 0xe8, 0x20, 0xe7, 0xbf, 0x8c, 0x5e, 0xb9, 0x03,
- 0x00, 0xf3, 0xa5, 0x8d, 0x77, 0x0e, 0xbf, 0x8c, 0x5e, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x05,
- 0xe8, 0x8b, 0x04, 0xeb, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xa5, 0xa5, 0xa5, 0x80,
- 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0x8b, 0x8e, 0xc6, 0x02, 0xe3, 0x05, 0x49,
- 0x89, 0x8e, 0xc6, 0x02, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0a, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74,
- 0x03, 0xe8, 0x07, 0x02, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x93, 0x00, 0xbe, 0x3d,
- 0x4c, 0xe8, 0x52, 0xd0, 0xf7, 0x07, 0x00, 0x10, 0x75, 0x37, 0xc6, 0x86, 0x58, 0x02, 0x00, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xb8, 0x00, 0x02, 0xe8, 0x19, 0xf1, 0xf6,
- 0x86, 0x62, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x1f, 0x4c, 0xe8, 0x2a, 0xd0, 0x80, 0x7e, 0x0a, 0x00,
- 0x75, 0x38, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x57, 0xd2, 0xeb,
- 0x29, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x33, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02,
- 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab,
- 0xab, 0x8b, 0x86, 0x0a, 0x02, 0xa9, 0x40, 0x00, 0x74, 0x02, 0xeb, 0x48, 0x83, 0xc8, 0x40, 0x89,
- 0x86, 0x0a, 0x02, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xeb, 0x3a, 0x83, 0xa6, 0x0a, 0x02, 0xbf, 0x8c,
- 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xa5, 0xa5, 0xa5, 0xeb,
- 0x23, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x3d, 0x4c, 0xe8, 0xb8, 0xcf, 0xc6, 0x86,
- 0x6b, 0x02, 0x00, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0b, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xbe, 0x25,
- 0x4c, 0xe8, 0xa2, 0xcf, 0xc3, 0xeb, 0x61, 0x8c, 0xd8, 0x8e, 0xc0, 0xc7, 0x86, 0x2e, 0x02, 0x0d,
- 0x00, 0xf6, 0x86, 0xce, 0x01, 0x01, 0x74, 0x50, 0x33, 0xff, 0xba, 0x02, 0x08, 0xe8, 0xfb, 0xe5,
- 0x8b, 0x3e, 0x8a, 0x5e, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x3d, 0x81, 0xff, 0xa2, 0x65, 0x73,
- 0x6f, 0x89, 0x3e, 0x8a, 0x5e, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x74, 0x05, 0xc6,
- 0x86, 0xd0, 0x01, 0x01, 0x81, 0xff, 0xa2, 0x65, 0x73, 0x56, 0x89, 0x3e, 0x8a, 0x5e, 0x8d, 0x77,
- 0x0e, 0xa5, 0xa5, 0xa5, 0xff, 0x06, 0x92, 0x5e, 0x8d, 0x77, 0x0e, 0xbf, 0x8c, 0x5e, 0xb9, 0x03,
- 0x00, 0xf3, 0xa7, 0x75, 0x03, 0xe8, 0x36, 0x03, 0x8a, 0x86, 0x0a, 0x02, 0xa8, 0x40, 0x75, 0x3d,
- 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x3a,
- 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74, 0x35, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x07, 0xf6, 0x86,
- 0x69, 0x02, 0x01, 0x75, 0x27, 0xe8, 0xb3, 0x00, 0xc7, 0x86, 0xc8, 0x02, 0x01, 0x00, 0xeb, 0x1c,
- 0xbf, 0x9c, 0x65, 0x33, 0xc0, 0xab, 0xab, 0xab, 0xe8, 0xf3, 0x02, 0xeb, 0xbb, 0x24, 0xbf, 0x88,
- 0x86, 0x0a, 0x02, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xeb, 0xb6, 0xeb, 0x79, 0xf6, 0x86, 0x58, 0x02,
- 0x01, 0x74, 0x3c, 0xf6, 0x86, 0x69, 0x02, 0x01, 0x74, 0x19, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74,
- 0x12, 0x83, 0xbe, 0xc6, 0x02, 0x00, 0x75, 0x0b, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x05, 0x83, 0x8e,
- 0xe6, 0x02, 0x08, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02, 0x01, 0x8c, 0xd8, 0x8e,
- 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0xeb, 0x4b, 0xf6,
- 0x86, 0x6c, 0x02, 0x01, 0x74, 0x44, 0xf6, 0x86, 0x6b, 0x02, 0x01, 0x75, 0x0d, 0xc6, 0x86, 0x6b,
- 0x02, 0x01, 0xbe, 0x25, 0x4c, 0xe8, 0x8e, 0xce, 0xeb, 0x30, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74,
- 0x12, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x0c, 0x83, 0xbe, 0xc6, 0x02, 0x00, 0x75, 0x05, 0x83, 0x8e,
- 0xe6, 0x02, 0x08, 0xeb, 0x15, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x0e, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xa5, 0xa5, 0xa5, 0xc3, 0x53, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7,
- 0x74, 0x54, 0x8b, 0x44, 0xfe, 0x89, 0x45, 0xfe, 0xf3, 0xa5, 0xbb, 0xfc, 0x04, 0xb9, 0x0b, 0x00,
- 0x8d, 0xb6, 0x16, 0x03, 0xad, 0x8b, 0x14, 0x8b, 0x74, 0x02, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0x89,
- 0x15, 0x89, 0x75, 0x02, 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x26,
- 0x8b, 0xb6, 0x2f, 0x06, 0x8d, 0xbe, 0xee, 0x01, 0xa5, 0xa5, 0x80, 0x7e, 0x06, 0x08, 0x76, 0x0b,
- 0xc7, 0x86, 0xc8, 0x02, 0x04, 0x00, 0xe8, 0x84, 0xee, 0xeb, 0x0b, 0xc6, 0x86, 0x88, 0x02, 0x01,
- 0xc7, 0x86, 0xc8, 0x02, 0x01, 0x00, 0x5b, 0xc3, 0xb8, 0x80, 0x0a, 0xf6, 0x86, 0xab, 0x02, 0x01,
- 0x75, 0x45, 0xf6, 0x86, 0xad, 0x02, 0x01, 0x75, 0x3e, 0xf7, 0x86, 0xf6, 0x00, 0x10, 0x00, 0x75,
- 0x36, 0xf7, 0x07, 0x82, 0x00, 0x74, 0x2f, 0xc7, 0x86, 0x2e, 0x02, 0x07, 0x00, 0xc6, 0x86, 0x16,
- 0x01, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x01, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xf6, 0x86, 0xac,
- 0x02, 0x01, 0x75, 0x0c, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0c, 0x80, 0x7e, 0x06, 0x0e, 0x77, 0x06,
- 0xb8, 0x0a, 0x00, 0xe8, 0x8b, 0xdf, 0xc3, 0x89, 0x86, 0xee, 0x02, 0xe9, 0x37, 0xea, 0xf7, 0x07,
- 0x02, 0x00, 0x74, 0x0f, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x09, 0xc6, 0x86, 0x64, 0x02, 0x01, 0xc6,
- 0x46, 0x07, 0x0e, 0x8b, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0x54, 0x06, 0x0b, 0xf6, 0x74,
- 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xea, 0x02, 0x8b, 0xb6,
- 0x3b, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0x10, 0x02, 0x8b, 0xb6, 0x40,
- 0x06, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0xa2, 0x00, 0x8b, 0xb6, 0x45, 0x06, 0x0b, 0xf6,
- 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x0c, 0x02, 0x8b, 0xb6, 0x4a, 0x06, 0x0b, 0xf6, 0x74,
- 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0xfc, 0x01, 0x8b, 0xb6, 0x4f, 0x06, 0x0b, 0xf6, 0x74, 0x07,
- 0xad, 0x86, 0xc4, 0x89, 0x86, 0xfa, 0x01, 0x8b, 0x07, 0xa9, 0x02, 0x00, 0x75, 0x07, 0xa8, 0x28,
- 0x74, 0x03, 0xe9, 0x71, 0xff, 0xc7, 0x86, 0xee, 0x02, 0x00, 0x01, 0xe9, 0xa7, 0xe9, 0xc3, 0xf7,
- 0x07, 0x02, 0x02, 0x74, 0xf9, 0x8b, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0x69, 0x06, 0x0b,
- 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xea, 0x02,
- 0x8b, 0xb6, 0x5a, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0x10, 0x02, 0x8b,
- 0xb6, 0x5f, 0x06, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0x20, 0x00, 0x8b, 0xb6, 0x64, 0x06,
- 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x0c, 0x02, 0x80, 0x7e, 0x06, 0x0c, 0x75,
- 0x96, 0xc6, 0x86, 0x64, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0e, 0xeb, 0x8b, 0x53, 0x57, 0x8c, 0xdb,
- 0x8e, 0xc3, 0xbb, 0x12, 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0xf0, 0xad, 0x8b, 0x34, 0x8b, 0x3f, 0x03,
- 0xfd, 0xab, 0x89, 0x35, 0x83, 0xc3, 0x02, 0xe2, 0xf4, 0x5f, 0x5b, 0xc3, 0x68, 0x88, 0x2e, 0xeb,
- 0x08, 0x68, 0xf0, 0x2e, 0xeb, 0x03, 0x68, 0x32, 0x2f, 0xf7, 0x07, 0x82, 0x02, 0x74, 0x1c, 0x8b,
- 0x86, 0x18, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0xa0, 0x06, 0x0b, 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0,
- 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xea, 0x02, 0xc3, 0x83, 0xc4, 0x02, 0xc3, 0x8b,
- 0x07, 0xf6, 0x86, 0x63, 0x01, 0x01, 0x74, 0x1e, 0xa9, 0x00, 0x20, 0x74, 0x40, 0x56, 0x57, 0xe8,
- 0x5d, 0xca, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0x70, 0xca, 0xbe, 0x19, 0x4c,
- 0xe8, 0xe5, 0xcc, 0x5f, 0x5e, 0xc3, 0x80, 0x7e, 0x06, 0x08, 0x75, 0x21, 0xa9, 0x00, 0x10, 0x74,
- 0x1c, 0xa9, 0x3c, 0x00, 0x75, 0x17, 0xff, 0x86, 0xd2, 0x02, 0xff, 0x86, 0xd0, 0x02, 0x83, 0xbe,
- 0xd0, 0x02, 0x02, 0x72, 0x05, 0xc6, 0x46, 0x07, 0x0a, 0xc3, 0xe8, 0x3c, 0xea, 0xc3, 0x8c, 0xd8,
- 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0x3e, 0x8a, 0x5e, 0x83, 0xc7, 0x06, 0x81, 0xff, 0xa2, 0x65, 0x72,
- 0x03, 0xbf, 0x9c, 0x65, 0xab, 0xab, 0xab, 0xf6, 0x86, 0xd0, 0x01, 0x01, 0x74, 0x18, 0xc6, 0x86,
- 0xcf, 0x01, 0x01, 0xe8, 0xf9, 0xc9, 0xc7, 0x44, 0x02, 0x05, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0x0c,
- 0xca, 0xc6, 0x86, 0xce, 0x01, 0x00, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x06, 0xbe,
- 0xdf, 0x4c, 0xe8, 0xc1, 0xcb, 0x8d, 0xb6, 0xc4, 0x15, 0x8e, 0x46, 0x02, 0x8a, 0x1c, 0xf6, 0xc3,
- 0x80, 0x75, 0x0d, 0x80, 0xfb, 0x10, 0x77, 0x14, 0x32, 0xff, 0xd1, 0xe3, 0xff, 0xa7, 0xda, 0x04,
- 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0xc3, 0xb8, 0x00, 0x80, 0xeb, 0x08, 0xb8, 0x00, 0x80, 0xeb,
- 0x03, 0xb8, 0x00, 0x20, 0x8d, 0xb6, 0xc4, 0x15, 0x89, 0x44, 0x02, 0x80, 0x0c, 0x80, 0xb8, 0x40,
- 0x60, 0x8e, 0xc0, 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0x26, 0xc7, 0x06, 0x30, 0x00, 0x08, 0x00,
- 0xc3, 0xeb, 0xe1, 0xb8, 0x04, 0x00, 0x80, 0xbe, 0x06, 0x01, 0x01, 0x75, 0xf4, 0xb8, 0x05, 0x00,
- 0x80, 0xbe, 0x07, 0x01, 0x01, 0x74, 0xea, 0xc6, 0x86, 0x08, 0x01, 0x01, 0xc6, 0x86, 0xd1, 0x01,
- 0x00, 0xc6, 0x86, 0x09, 0x01, 0x00, 0x8b, 0x86, 0xf8, 0x00, 0x89, 0x86, 0xf6, 0x00, 0x8d, 0xb6,
- 0xce, 0x15, 0xb8, 0x03, 0x00, 0xf6, 0x04, 0x80, 0x75, 0xc7, 0x33, 0xc0, 0x39, 0x04, 0x75, 0x1e,
- 0x39, 0x44, 0x02, 0x75, 0x19, 0x39, 0x44, 0x04, 0x75, 0x14, 0x8b, 0x86, 0x00, 0x01, 0x89, 0x04,
- 0x8b, 0x86, 0x02, 0x01, 0x89, 0x44, 0x02, 0x8b, 0x86, 0x04, 0x01, 0x89, 0x44, 0x04, 0xad, 0x8b,
- 0x14, 0x8b, 0x74, 0x02, 0x89, 0x86, 0xd4, 0x01, 0x89, 0x96, 0xd6, 0x01, 0x89, 0xb6, 0xd8, 0x01,
- 0x8e, 0x46, 0x02, 0x50, 0xe8, 0xfc, 0xc7, 0x26, 0xa3, 0x5e, 0x00, 0x8b, 0xc2, 0xe8, 0xf3, 0xc7,
- 0x26, 0xa3, 0x60, 0x00, 0x8b, 0xc6, 0xe8, 0xea, 0xc7, 0x26, 0xa3, 0x62, 0x00, 0x58, 0xbb, 0x2a,
- 0x05, 0xb9, 0x16, 0x00, 0x1e, 0x07, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0x89, 0x15, 0x89, 0x75, 0x02,
- 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xbb, 0x26, 0x05, 0x8d, 0x96, 0xdc, 0x15, 0xb8, 0x02, 0x00, 0x8b,
- 0x3f, 0x03, 0xfd, 0x8b, 0xf2, 0xb9, 0x09, 0x00, 0xf3, 0xa5, 0x83, 0xc3, 0x02, 0x48, 0x75, 0xef,
- 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x06, 0xbe, 0xdf, 0x4c, 0xe8, 0xa8, 0xca, 0x8d, 0xb6,
- 0xc4, 0x15, 0x8b, 0x44, 0x08, 0x89, 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0xf7, 0x86, 0x12,
- 0x01, 0x01, 0x00, 0x74, 0x08, 0xc7, 0x06, 0x17, 0x4c, 0x58, 0x02, 0xeb, 0x06, 0xc7, 0x06, 0x17,
- 0x4c, 0x08, 0x07, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x1e, 0x68, 0x00, 0x81, 0xe3, 0xff, 0xf4, 0xa9,
- 0x04, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00,
- 0x03, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x68, 0x00, 0x8d, 0xb6, 0xd8, 0x15, 0xe8, 0x64, 0x02,
- 0x8d, 0xb6, 0xd4, 0x15, 0xe8, 0x23, 0x00, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x03, 0xe8, 0x5e,
- 0x16, 0xc6, 0x86, 0x07, 0x01, 0x01, 0xe8, 0xd0, 0x03, 0xe8, 0xc7, 0x05, 0xe9, 0xa2, 0xfe, 0x56,
- 0x83, 0xc6, 0x08, 0xe8, 0x04, 0x00, 0x5e, 0xe9, 0x97, 0xfe, 0x8e, 0x46, 0x02, 0xb8, 0xc0, 0x00,
- 0xe8, 0x20, 0xc7, 0x26, 0xa3, 0x7a, 0x00, 0x8b, 0x04, 0x0d, 0x80, 0x00, 0x89, 0x86, 0xda, 0x01,
- 0xe8, 0x10, 0xc7, 0x26, 0xa3, 0x7c, 0x00, 0x8b, 0x44, 0x02, 0x89, 0x86, 0xdc, 0x01, 0xe8, 0x02,
- 0xc7, 0x26, 0xa3, 0x7e, 0x00, 0xc3, 0x83, 0x8e, 0x1e, 0x01, 0x01, 0xc6, 0x86, 0x16, 0x01, 0x00,
- 0x8a, 0x46, 0x06, 0x3c, 0x00, 0x74, 0x46, 0x3c, 0x10, 0x75, 0x03, 0xe9, 0x53, 0xfe, 0x3c, 0x12,
- 0x74, 0x3b, 0x3c, 0x4c, 0x75, 0x03, 0xe9, 0x48, 0xfe, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x72, 0x1a,
- 0x3c, 0x48, 0x74, 0x0f, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x17, 0x3c, 0x44, 0x74, 0x04, 0x3c,
- 0x46, 0x75, 0x28, 0xc6, 0x46, 0x07, 0x4c, 0xe9, 0x27, 0xfe, 0x3c, 0x0e, 0x74, 0x17, 0x3c, 0x48,
- 0x74, 0x19, 0xe8, 0x1c, 0xfe, 0xb8, 0x0f, 0x00, 0xe8, 0x96, 0xdb, 0xeb, 0x35, 0xe8, 0x11, 0xfe,
- 0xe8, 0x04, 0x04, 0xeb, 0x2d, 0xc6, 0x46, 0x07, 0x10, 0xeb, 0x20, 0x8e, 0x46, 0x02, 0xf6, 0x06,
- 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d,
- 0x01, 0x01, 0xe8, 0x0c, 0x16, 0xc6, 0x46, 0x07, 0x12, 0xeb, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0xe9,
- 0xdf, 0xfd, 0xc3, 0xc6, 0x86, 0x06, 0x01, 0x00, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01,
- 0x75, 0x03, 0xe9, 0xcf, 0xfd, 0x8b, 0x44, 0x08, 0x89, 0x86, 0xf4, 0x00, 0x8b, 0x44, 0x0a, 0xa9,
- 0x00, 0x10, 0x74, 0x03, 0x0d, 0x00, 0x01, 0x89, 0x86, 0xf6, 0x00, 0x89, 0x86, 0xf8, 0x00, 0x8b,
- 0x44, 0x12, 0x0b, 0xc0, 0x75, 0x21, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x40, 0x74, 0x0b, 0xb8, 0x1f,
- 0x47, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x12, 0x75, 0x0e, 0xb8, 0x18, 0x47, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x01, 0x75, 0x03, 0xb8, 0xc6, 0x11, 0x89, 0x86, 0xfa, 0x00, 0xe8, 0xab, 0x02, 0x8d, 0xbe,
- 0x56, 0x04, 0x8b, 0x44, 0x0c, 0x89, 0x05, 0x89, 0x86, 0x00, 0x01, 0x8b, 0x44, 0x0e, 0x89, 0x45,
- 0x02, 0x89, 0x86, 0x02, 0x01, 0x8b, 0x44, 0x10, 0x89, 0x45, 0x04, 0x89, 0x86, 0x04, 0x01, 0x80,
- 0xbe, 0x62, 0x01, 0x01, 0x75, 0x21, 0x8b, 0x44, 0x0c, 0x89, 0x86, 0xbc, 0x03, 0x89, 0x86, 0xc2,
- 0x03, 0x8b, 0x44, 0x0e, 0x89, 0x86, 0xbe, 0x03, 0x89, 0x86, 0xc4, 0x03, 0x8b, 0x44, 0x10, 0x89,
- 0x86, 0xc0, 0x03, 0x89, 0x86, 0xc6, 0x03, 0x8e, 0x46, 0x02, 0x8b, 0x86, 0xfa, 0x00, 0x26, 0xa3,
- 0x52, 0x00, 0x8b, 0x44, 0x14, 0x26, 0xa3, 0x6a, 0x00, 0x8b, 0x44, 0x16, 0x25, 0xff, 0xf4, 0x83,
- 0xc8, 0x30, 0x26, 0xa3, 0x68, 0x00, 0x8d, 0x1e, 0x6c, 0x05, 0x8b, 0x44, 0x18, 0xc1, 0xe8, 0x04,
- 0x83, 0xe0, 0x0f, 0xd7, 0xa2, 0x87, 0x03, 0x8b, 0x44, 0x18, 0xc1, 0xe8, 0x0c, 0x83, 0xe0, 0x0f,
- 0xd7, 0xa2, 0x88, 0x03, 0x33, 0xc0, 0xd7, 0xa2, 0x89, 0x03, 0x06, 0x51, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xbe, 0x80, 0x03, 0x8d, 0xbe, 0x1a, 0x04, 0xb9, 0x05, 0x00, 0xf3, 0xa5, 0x59, 0x07, 0x8b, 0x86,
- 0xf4, 0x00, 0x25, 0xff, 0xfe, 0xc1, 0xe8, 0x08, 0x89, 0x86, 0x28, 0x02, 0xf7, 0x86, 0xf4, 0x00,
- 0x04, 0x00, 0x74, 0x0f, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0xc6, 0x06, 0x81, 0x5e, 0x01,
- 0xe8, 0xa7, 0x11, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x01, 0xc3, 0xc6, 0x86, 0x06, 0x01, 0x01,
- 0xe9, 0xae, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x7c, 0x08, 0x8d, 0xb6, 0xdc, 0x02, 0xb9,
- 0x05, 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe, 0xdc, 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab,
- 0x81, 0xa6, 0x0a, 0x02, 0x7f, 0xdf, 0x5e, 0xe9, 0x87, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d,
- 0x7c, 0x08, 0x8d, 0xb6, 0x40, 0x02, 0xb9, 0x0c, 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe, 0x40,
- 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab, 0x5e, 0xe9, 0x66, 0xfc, 0x83, 0xc6, 0x08, 0xe8, 0x03,
- 0x00, 0xe9, 0x5d, 0xfc, 0x06, 0x8e, 0x46, 0x02, 0x8b, 0x04, 0x89, 0x86, 0xde, 0x01, 0xe8, 0xe2,
- 0xc4, 0x26, 0xa3, 0x66, 0x00, 0x8b, 0x44, 0x02, 0x23, 0x86, 0xfc, 0x01, 0xe8, 0xd4, 0xc4, 0x25,
- 0xff, 0x7f, 0x26, 0x8b, 0x0e, 0x64, 0x00, 0x81, 0xe1, 0x00, 0x80, 0x0b, 0xc1, 0x26, 0xa3, 0x64,
- 0x00, 0xe8, 0xbf, 0xc4, 0x89, 0x86, 0xe0, 0x01, 0x07, 0xc3, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07,
- 0x01, 0x01, 0x75, 0x03, 0xe9, 0x1d, 0xfc, 0xc6, 0x86, 0x62, 0x01, 0x01, 0xe8, 0x34, 0xfe, 0xc6,
- 0x86, 0x62, 0x01, 0x00, 0xc6, 0x86, 0x06, 0x01, 0x01, 0xe9, 0x05, 0xfc, 0xb8, 0x11, 0x00, 0xc6,
- 0x86, 0x62, 0x01, 0x00, 0xe9, 0xfd, 0xfb, 0xc3, 0x8b, 0xd8, 0x26, 0x8b, 0x04, 0x50, 0x33, 0xc0,
- 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58,
- 0x75, 0x3c, 0x05, 0x55, 0x55, 0x73, 0xe9, 0xb8, 0x01, 0x00, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26,
- 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58, 0x75, 0x22, 0xd1, 0xc0, 0x73, 0xea,
- 0xf7, 0xd0, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b,
- 0xc1, 0x58, 0x75, 0x0a, 0xd1, 0xc0, 0x72, 0xea, 0xf8, 0x58, 0x26, 0x89, 0x04, 0xc3, 0xf9, 0xeb,
- 0xf8, 0x8b, 0x44, 0x08, 0x25, 0xff, 0x7b, 0x89, 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0x8e,
- 0x46, 0x02, 0x26, 0x8b, 0x1e, 0x68, 0x00, 0x81, 0xe3, 0xff, 0xf4, 0xa9, 0x04, 0x00, 0x74, 0x04,
- 0x81, 0xcb, 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x03, 0x8e, 0x46, 0x02,
- 0x26, 0x89, 0x1e, 0x68, 0x00, 0xe9, 0x69, 0xfb, 0xe9, 0x61, 0xfb, 0x8b, 0x44, 0x08, 0x89, 0x86,
- 0x30, 0x01, 0xbe, 0xcd, 0x4c, 0xe8, 0xee, 0xc6, 0xe9, 0x56, 0xfb, 0x8b, 0x44, 0x08, 0x8e, 0x46,
- 0x02, 0x26, 0xa3, 0x6a, 0x00, 0xe9, 0x49, 0xfb, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e,
- 0x06, 0x48, 0x75, 0x13, 0x80, 0x7e, 0x08, 0x00, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x07,
- 0x8d, 0x5c, 0x08, 0xe8, 0xa6, 0xe8, 0xc3, 0xb8, 0x00, 0x10, 0xe9, 0x27, 0xfb, 0xb8, 0x04, 0x00,
- 0xf6, 0x86, 0x07, 0x01, 0x01, 0x74, 0x1e, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x68, 0x00, 0x8b, 0x5c,
- 0x08, 0x81, 0xe3, 0xff, 0xf4, 0x25, 0x00, 0x0b, 0x0b, 0xd8, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e,
- 0x68, 0x00, 0xb8, 0x00, 0x20, 0xe9, 0xfc, 0xfa, 0xb8, 0x05, 0x00, 0xf6, 0x86, 0x07, 0x01, 0x01,
- 0x75, 0x11, 0xfa, 0xe8, 0x54, 0xc8, 0xfa, 0xe8, 0xe7, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e,
- 0x32, 0x00, 0x02, 0xe9, 0xde, 0xfa, 0xe9, 0xd8, 0xfa, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x40, 0x74,
- 0x0d, 0xc6, 0x86, 0xfe, 0x00, 0x02, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x12, 0x75, 0x12, 0xc6, 0x86,
- 0xfe, 0x00, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x11, 0x75, 0x05, 0xc6, 0x86, 0xfe, 0x00, 0x00,
- 0xc3, 0x8b, 0xd0, 0xb8, 0x01, 0x00, 0xe9, 0xa3, 0x01, 0xc3, 0x80, 0xbe, 0xb2, 0x02, 0x01, 0x74,
- 0x0e, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x75, 0xf1, 0x80, 0xbe, 0x09, 0x01, 0x01, 0x74, 0xea, 0xc6,
- 0x86, 0x09, 0x01, 0x01, 0xc6, 0x86, 0xb2, 0x02, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x74, 0x0c,
- 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x08, 0x0d, 0x00, 0x08, 0xeb, 0x03, 0x0d, 0x00, 0x01, 0x80,
- 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xac, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00, 0x04,
- 0x80, 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00,
- 0x02, 0xf7, 0x86, 0xa6, 0x02, 0x01, 0x00, 0x74, 0x03, 0x0d, 0x00, 0x08, 0xa9, 0x00, 0x80, 0x74,
- 0x1d, 0xc7, 0x86, 0x2e, 0x01, 0x02, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01, 0x74, 0x1d, 0x53, 0xbb,
- 0x40, 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x02, 0x5b, 0xeb, 0x0d, 0x8a, 0x56,
- 0x06, 0xd0, 0xe2, 0xd0, 0xe2, 0xd0, 0xe2, 0x24, 0x0f, 0x0a, 0xc2, 0x89, 0x86, 0x38, 0x02, 0x8b,
- 0xd0, 0xb8, 0x02, 0x00, 0xe9, 0x92, 0x00, 0x8b, 0x96, 0x1e, 0x01, 0x8b, 0x86, 0x12, 0x01, 0xa9,
- 0x00, 0x02, 0x74, 0x06, 0xf7, 0xc2, 0x05, 0x80, 0x74, 0x0e, 0xc6, 0x86, 0x07, 0x01, 0x00, 0xc6,
- 0x86, 0x16, 0x01, 0x00, 0x81, 0xca, 0x80, 0x00, 0x33, 0xc0, 0x89, 0x86, 0x1e, 0x01, 0x89, 0x96,
- 0x20, 0x01, 0xc7, 0x86, 0x38, 0x02, 0x00, 0x00, 0xf7, 0xc2, 0x01, 0x00, 0x75, 0x22, 0x83, 0xbe,
- 0x2e, 0x01, 0x03, 0x74, 0x1b, 0xc7, 0x86, 0x2e, 0x01, 0x03, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01,
- 0x74, 0x0e, 0x53, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x02, 0x5b,
- 0xb8, 0x03, 0x00, 0xeb, 0x34, 0x3b, 0xc0, 0x74, 0x00, 0x8b, 0xd0, 0xb8, 0x04, 0x00, 0xeb, 0x29,
- 0xc3, 0xc6, 0x86, 0xce, 0x01, 0x00, 0xc6, 0x86, 0xcf, 0x01, 0x00, 0x55, 0x33, 0xed, 0xbe, 0x7a,
- 0x5d, 0xe8, 0x22, 0xc5, 0x5d, 0xb8, 0x05, 0x00, 0xeb, 0x0f, 0xb8, 0x06, 0x00, 0xeb, 0x0a, 0xb8,
- 0x07, 0x00, 0xeb, 0x05, 0xb8, 0x08, 0x00, 0xeb, 0x00, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e,
- 0x01, 0x75, 0x0a, 0xf7, 0x86, 0xb0, 0x15, 0x00, 0x80, 0x74, 0x02, 0xeb, 0x5f, 0x8b, 0x8e, 0x5e,
- 0x01, 0x41, 0x80, 0xe1, 0x07, 0x3b, 0xf1, 0x75, 0x20, 0x46, 0x83, 0xe6, 0x07, 0x89, 0xb6, 0x60,
- 0x01, 0x51, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x8b, 0x0c,
- 0x83, 0xf9, 0x05, 0x74, 0x03, 0x0d, 0x00, 0x01, 0x59, 0x83, 0xf8, 0x04, 0x75, 0x1a, 0x51, 0xb9,
- 0x08, 0x00, 0x8d, 0xb6, 0x3e, 0x01, 0x39, 0x04, 0x74, 0x08, 0x83, 0xc6, 0x04, 0xe2, 0xf7, 0x59,
- 0xeb, 0x06, 0x89, 0x54, 0x02, 0x59, 0xeb, 0x13, 0x89, 0x8e, 0x5e, 0x01, 0xd1, 0xe1, 0xd1, 0xe1,
- 0x8d, 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x89, 0x04, 0x89, 0x54, 0x02, 0xc3, 0x8d, 0xb6, 0xb0, 0x15,
- 0x89, 0x54, 0x06, 0xc7, 0x44, 0x04, 0x08, 0x00, 0x3c, 0x05, 0x75, 0x05, 0xc7, 0x44, 0x04, 0x06,
- 0x00, 0x25, 0xff, 0x7f, 0x89, 0x04, 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0x26, 0xc7, 0x06, 0x30, 0x00,
- 0x00, 0x20, 0xc3, 0x8b, 0x86, 0x14, 0x01, 0x89, 0x86, 0x12, 0x01, 0xc6, 0x46, 0x09, 0x1e, 0xc6,
- 0x46, 0x08, 0x1e, 0xc6, 0x46, 0x0b, 0x00, 0xc7, 0x86, 0x28, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x2a,
- 0x01, 0x00, 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xe4, 0x01, 0xb9, 0x2b, 0x00,
- 0xf3, 0xab, 0xc7, 0x86, 0x2a, 0x02, 0xff, 0xff, 0x8e, 0x46, 0x02, 0xb8, 0x02, 0x00, 0xf7, 0x86,
- 0xf4, 0x00, 0x80, 0x00, 0x74, 0x03, 0x83, 0xc8, 0x01, 0xf7, 0x86, 0xf4, 0x00, 0x40, 0x00, 0x74,
- 0x03, 0x83, 0xc8, 0x04, 0xf7, 0x86, 0xf4, 0x00, 0x20, 0x00, 0x74, 0x03, 0x83, 0xc8, 0x08, 0x26,
- 0xa3, 0x4e, 0x00, 0xb0, 0x02, 0xe8, 0x65, 0xc8, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x20, 0x74, 0x28,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x74, 0x0c, 0xb8, 0x05, 0x00, 0xe8, 0x27, 0x00, 0xc6, 0x46,
- 0x07, 0x42, 0xeb, 0x20, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x0c, 0xb8, 0x05, 0x00, 0xe8,
- 0x13, 0x00, 0xc6, 0x46, 0x07, 0x42, 0xeb, 0x0c, 0xb8, 0x02, 0x00, 0xe8, 0x07, 0x00, 0xc6, 0x46,
- 0x07, 0x02, 0xeb, 0x00, 0xc3, 0x50, 0xb0, 0x00, 0x88, 0x86, 0xaa, 0x02, 0x88, 0x86, 0xab, 0x02,
- 0x88, 0x86, 0xac, 0x02, 0x88, 0x86, 0xad, 0x02, 0x88, 0x86, 0xaf, 0x02, 0x88, 0x86, 0xae, 0x02,
- 0x58, 0x9c, 0xfa, 0x83, 0xf8, 0x02, 0x74, 0x13, 0x83, 0xf8, 0x05, 0x74, 0x0c, 0xc7, 0x46, 0x12,
- 0x2c, 0x21, 0xc7, 0x46, 0x14, 0x2c, 0x21, 0xeb, 0x42, 0xeb, 0x21, 0xc6, 0x86, 0xaa, 0x02, 0x01,
- 0xc6, 0x86, 0xae, 0x02, 0x01, 0xc6, 0x86, 0xaf, 0x02, 0x00, 0xc7, 0x46, 0x12, 0xf3, 0x36, 0xc7,
- 0x46, 0x14, 0x21, 0x34, 0xc7, 0x86, 0xba, 0x01, 0x2c, 0x00, 0xeb, 0x1f, 0xc6, 0x86, 0xac, 0x02,
- 0x01, 0xc6, 0x86, 0xae, 0x02, 0x00, 0xc6, 0x86, 0xaf, 0x02, 0x01, 0xc7, 0x46, 0x12, 0xf7, 0x36,
- 0xc7, 0x46, 0x14, 0x25, 0x34, 0xc7, 0x86, 0xba, 0x01, 0x30, 0x00, 0x0e, 0xe8, 0x02, 0x00, 0xeb,
- 0x01, 0xcf, 0xc3, 0x8c, 0x00, 0xf8, 0x4c, 0xbc, 0x02, 0x96, 0x00, 0x2e, 0x4d, 0x14, 0x00, 0x96,
- 0x00, 0x42, 0x4d, 0x08, 0x07, 0x96, 0x00, 0x80, 0x4d, 0x6e, 0x00, 0x78, 0x00, 0xd2, 0x4f, 0x00,
- 0x00, 0x6e, 0x00, 0x42, 0x4e, 0xf4, 0x01, 0x6e, 0x00, 0x72, 0x4e, 0x08, 0x07, 0x6e, 0x00, 0x8a,
- 0x51, 0x02, 0x00, 0xaa, 0x00, 0xa6, 0x4e, 0xfa, 0x00, 0x8c, 0x00, 0xf6, 0x4e, 0x02, 0x00, 0x8c,
- 0x00, 0x0c, 0x4e, 0x3c, 0x00, 0x78, 0x00, 0x62, 0x4f, 0x04, 0x01, 0x96, 0x00, 0x8e, 0x4f, 0x64,
- 0x00, 0x96, 0x00, 0xb2, 0x4f, 0xdc, 0x05, 0xbe, 0x00, 0xe0, 0x50, 0xf4, 0x01, 0xa0, 0x00, 0x5c,
- 0x52, 0xf4, 0x01, 0xbe, 0x00, 0x0a, 0x51, 0xf4, 0x01, 0x82, 0x00, 0x22, 0x55, 0x19, 0x00, 0x6e,
- 0x00, 0x42, 0x52, 0x14, 0x00, 0x78, 0x00, 0x1e, 0x51, 0xc4, 0x09, 0x6e, 0x00, 0x32, 0x51, 0x02,
- 0x00, 0xd2, 0x00, 0xac, 0x55, 0x2c, 0x01, 0x78, 0x00, 0x34, 0x54, 0xf0, 0x00, 0x6e, 0x00, 0xb4,
- 0x52, 0x32, 0x00, 0xa0, 0x00, 0x16, 0x53, 0xbc, 0x02, 0x6e, 0x00, 0x28, 0x53, 0x08, 0x07, 0x6e,
- 0x00, 0x36, 0x53, 0xe8, 0x03, 0x6e, 0x00, 0x48, 0x53, 0x14, 0x00, 0x96, 0x00, 0x54, 0x53, 0x64,
- 0x00, 0xa0, 0x00, 0x42, 0x54, 0xf4, 0x01, 0xc8, 0x00, 0xe0, 0x4e, 0x02, 0x00, 0x6e, 0x00, 0x84,
- 0x53, 0x04, 0x00, 0x8c, 0x00, 0x0c, 0x54, 0x14, 0x00, 0x6e, 0x00, 0xe6, 0x55, 0x84, 0x03, 0x96,
- 0x00, 0xf4, 0x55, 0x02, 0x00, 0x82, 0x00, 0x34, 0x52, 0x14, 0x00, 0xb4, 0x00, 0x20, 0x56, 0x02,
- 0x00, 0xdc, 0x00, 0xdc, 0x55, 0x64, 0x00, 0xa0, 0x00, 0x47, 0x55, 0x64, 0x00, 0xc8, 0x00, 0x5e,
- 0x55, 0x03, 0x00, 0xd2, 0x00, 0xb0, 0x55, 0xf4, 0x01, 0xd2, 0x00, 0xc2, 0x55, 0x4c, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x80, 0xbe, 0x58, 0x02,
- 0x01, 0x75, 0x28, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x22, 0xf6, 0x86, 0x69, 0x02, 0x01, 0x74, 0x1c,
- 0xe8, 0x10, 0xe0, 0xbe, 0xef, 0x4b, 0xe8, 0x2d, 0xc2, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d,
- 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc3, 0xe8, 0xc8, 0xe2, 0xeb,
- 0xdf, 0x90, 0x8a, 0x46, 0x08, 0x3c, 0x0a, 0x75, 0x0b, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x04,
- 0xc6, 0x46, 0x09, 0x04, 0xc3, 0x90, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x32, 0x80, 0x7e, 0x08,
- 0x06, 0x75, 0x2c, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x0f, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x08,
- 0xb8, 0x07, 0x00, 0xe8, 0xcb, 0xd3, 0xeb, 0x17, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x10, 0xf6,
- 0x86, 0x5d, 0x02, 0x01, 0x75, 0x09, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x08, 0xc3,
- 0xe9, 0x84, 0x00, 0x90, 0x8a, 0x4e, 0x06, 0x8a, 0x56, 0x08, 0x80, 0xf9, 0x06, 0x74, 0xf1, 0x80,
- 0xf9, 0x08, 0x74, 0x05, 0x80, 0xf9, 0x0a, 0x75, 0x0a, 0x80, 0xfa, 0x0c, 0x74, 0xe2, 0x80, 0xfa,
- 0x04, 0x74, 0xdd, 0x80, 0xfa, 0x0c, 0x74, 0x05, 0x80, 0xfa, 0x04, 0x75, 0x59, 0xf6, 0x86, 0x67,
- 0x02, 0x01, 0x74, 0x52, 0xe8, 0xd9, 0x02, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x74, 0x0b, 0x81, 0x8e,
- 0x0a, 0x02, 0x00, 0x80, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x06, 0x81, 0x8e, 0x0a,
- 0x02, 0x00, 0x50, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc6, 0x86, 0x6e, 0x02, 0x01, 0xc6, 0x86, 0x6d,
- 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x9c, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xbe, 0xfb, 0x4b, 0xe8, 0x46, 0xc1,
- 0xbe, 0x25, 0x4c, 0xe8, 0x40, 0xc1, 0xc3, 0xb8, 0x07, 0x00, 0xe8, 0x24, 0xd3, 0xeb, 0xf7, 0x90,
- 0x80, 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x02, 0xeb, 0x2b, 0x80, 0x7e, 0x06, 0x10, 0x75, 0x06, 0xc6,
- 0x46, 0x07, 0x12, 0xeb, 0x1f, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x19, 0xc6, 0x86, 0x6d, 0x02, 0x01,
- 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x4e, 0xc3, 0xbe, 0x61, 0x4c, 0xe8, 0x08, 0xc1, 0xbe, 0x67,
- 0x4c, 0xe8, 0x02, 0xc1, 0xc3, 0x90, 0xf6, 0x86, 0x63, 0x02, 0x01, 0x74, 0x28, 0xc6, 0x86, 0x63,
- 0x02, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x17, 0x80, 0x7e,
- 0x08, 0x06, 0x75, 0x11, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8, 0x1a, 0xc3, 0xbe, 0x25, 0x4c, 0xe8,
- 0xd4, 0xc0, 0xe8, 0x09, 0xde, 0xc3, 0x8a, 0x46, 0x06, 0x3c, 0x04, 0x75, 0x1e, 0xf7, 0x86, 0xf6,
- 0x00, 0x00, 0x10, 0x75, 0x0e, 0xc6, 0x46, 0x07, 0x06, 0xc6, 0x46, 0x06, 0x06, 0xc6, 0x46, 0x09,
- 0x04, 0xeb, 0x16, 0xb8, 0x0d, 0x00, 0xe8, 0x98, 0xd2, 0xeb, 0x0e, 0x3c, 0x08, 0x72, 0x0a, 0x3c,
- 0x0c, 0x77, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x88, 0xd2, 0xc3, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x33,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x2c, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x25, 0x8e, 0x46,
- 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x03, 0x00, 0x74, 0x11, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x54, 0x00, 0x03, 0xbe, 0x1f, 0x4c, 0xe8, 0x6d, 0xc0, 0xeb, 0x08, 0xc6, 0x46, 0x09, 0x04, 0xff,
- 0x86, 0x4e, 0x02, 0xc3, 0x80, 0x7e, 0x08, 0x18, 0x75, 0x0e, 0xbe, 0xa3, 0x4c, 0xe8, 0x56, 0xc0,
- 0xe8, 0x9d, 0x01, 0xe8, 0x88, 0xdd, 0xeb, 0x00, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x35,
- 0x80, 0xbe, 0x5f, 0x02, 0x01, 0x75, 0x58, 0x80, 0xbe, 0x58, 0x02, 0x01, 0x74, 0x1f, 0xe8, 0x3d,
- 0xde, 0x80, 0x7e, 0x06, 0x0a, 0x75, 0x16, 0xc6, 0x86, 0x67, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0c,
- 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x40, 0x75, 0x05, 0xc6, 0x86, 0x62, 0x02, 0x01, 0xc3, 0xbe, 0x25,
- 0x4c, 0xe8, 0x12, 0xc0, 0xc3, 0x8a, 0x46, 0x08, 0x3c, 0x04, 0x75, 0x0e, 0xbe, 0x25, 0x4c, 0xe8,
- 0x04, 0xc0, 0xff, 0x86, 0xbc, 0x02, 0xe8, 0x6f, 0xdd, 0xc3, 0x3c, 0x06, 0x75, 0xdf, 0xf6, 0x86,
- 0x63, 0x02, 0x01, 0x75, 0xd8, 0xbe, 0x25, 0x4c, 0xe8, 0xeb, 0xbf, 0xe8, 0x20, 0xdd, 0xc3, 0xc6,
- 0x86, 0x6a, 0x02, 0x01, 0xc3, 0x90, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x22, 0x80, 0x7e, 0x06,
- 0x0c, 0x75, 0x1b, 0xff, 0x86, 0xc2, 0x02, 0x83, 0xbe, 0xc2, 0x02, 0x04, 0x77, 0x0a, 0xbe, 0x31,
- 0x4c, 0xe8, 0xc2, 0xbf, 0xe8, 0xbe, 0xde, 0xc3, 0xb8, 0x09, 0x00, 0xe8, 0xa3, 0xd1, 0xc3, 0xeb,
- 0xfd, 0x90, 0x80, 0x7e, 0x08, 0x02, 0x75, 0x1d, 0x80, 0xbe, 0x62, 0x02, 0x01, 0x74, 0x08, 0xb8,
- 0x05, 0x00, 0xe8, 0x8c, 0xd1, 0xeb, 0x0e, 0xff, 0x86, 0x4e, 0x02, 0xc6, 0x46, 0x09, 0x04, 0xb8,
- 0x00, 0x01, 0xe8, 0x73, 0xe0, 0xc3, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x16, 0x80, 0xbe, 0x58, 0x02,
- 0x01, 0x74, 0x07, 0x80, 0xbe, 0x62, 0x02, 0x00, 0x74, 0x08, 0xff, 0x86, 0x4e, 0x02, 0xc6, 0x46,
- 0x09, 0x04, 0xc3, 0xe9, 0xb8, 0x00, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x62,
- 0x02, 0x01, 0x74, 0xef, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x74, 0x06, 0xbe, 0x07, 0x4c, 0xe8,
- 0x54, 0xbf, 0x8d, 0xbe, 0xdc, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x05, 0x00, 0x33, 0xc0, 0xf3,
- 0xaf, 0x74, 0xd0, 0x80, 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x45, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74,
- 0x5f, 0x80, 0xbe, 0xac, 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0xad, 0x02, 0x01, 0x74, 0x51, 0xeb,
- 0x6d, 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x89,
- 0x02, 0x01, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x14, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x0e, 0xc6,
- 0x86, 0x5a, 0x02, 0x00, 0xe8, 0x18, 0xde, 0xc7, 0x86, 0x2e, 0x02, 0x03, 0x00, 0xeb, 0x3f, 0xc7,
- 0x86, 0xc0, 0x02, 0x04, 0x00, 0xc6, 0x86, 0x5a, 0x02, 0x00, 0xe8, 0x02, 0xde, 0xc7, 0x86, 0x2e,
- 0x02, 0x03, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xeb, 0x1e,
- 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x89, 0x02,
- 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x75, 0x05, 0xc6, 0x86, 0x5a, 0x02, 0x00, 0xc3, 0x90,
- 0xc7, 0x86, 0x36, 0x02, 0x06, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x18, 0xb8, 0x00, 0x02,
- 0x80, 0xbe, 0x65, 0x02, 0x01, 0x74, 0x37, 0xf6, 0x86, 0xac, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86,
- 0xad, 0x02, 0x01, 0x74, 0x05, 0xb8, 0x00, 0x05, 0xeb, 0x24, 0xb8, 0x00, 0x04, 0xc7, 0x86, 0x36,
- 0x02, 0x04, 0x00, 0x8a, 0x4e, 0x08, 0x80, 0xf9, 0x0c, 0x74, 0x13, 0xb8, 0x00, 0x04, 0x80, 0xbe,
- 0x5e, 0x02, 0x01, 0x74, 0x09, 0xb8, 0x00, 0x03, 0xc7, 0x86, 0x36, 0x02, 0x07, 0x00, 0x89, 0x86,
- 0x0c, 0x03, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x08, 0x74, 0x23, 0x8a, 0x46, 0x06, 0x3c, 0x04, 0x72,
- 0x1c, 0x3c, 0x48, 0x74, 0x04, 0x3c, 0x0e, 0x77, 0x14, 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x0d,
- 0xf6, 0x86, 0x60, 0x02, 0x01, 0x74, 0x06, 0xb8, 0x0c, 0x00, 0xe8, 0x24, 0xd0, 0xc3, 0xc6, 0x86,
- 0x61, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0xff, 0xf7, 0xe8, 0xcc, 0x03,
- 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x02, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x06, 0xb8, 0x01,
- 0x00, 0xe8, 0xfd, 0xcf, 0xc3, 0x90, 0x51, 0x52, 0x56, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x02,
- 0xeb, 0x48, 0x33, 0xd2, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xe8, 0x3a, 0xc0, 0x8d, 0xb6, 0xa6, 0x01,
- 0x8d, 0xbe, 0xac, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0xc6, 0x86, 0x87, 0x02, 0x00,
- 0xb0, 0x00, 0xe8, 0xed, 0xe1, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20, 0x03,
- 0xbe, 0x19, 0x4c, 0xe8, 0xd0, 0xbd, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0x8e, 0x46, 0x02,
- 0x26, 0xc7, 0x06, 0x5c, 0x00, 0x00, 0x00, 0xe8, 0x08, 0xdc, 0x5e, 0x5a, 0x59, 0xc3, 0x80, 0x7e,
- 0x06, 0x02, 0x74, 0x0f, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x09, 0x80, 0x7e, 0x08, 0x08, 0x74, 0x03,
- 0xe9, 0x94, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x26, 0xf6, 0x86, 0x76, 0x02, 0x01, 0x74,
- 0x0b, 0xbe, 0x19, 0x4c, 0xe8, 0x8f, 0xbd, 0xe8, 0x3a, 0xdf, 0xeb, 0x7b, 0xf6, 0x86, 0x77, 0x02,
- 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x77, 0x02, 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0x78, 0xbd, 0xeb, 0x67,
- 0xfe, 0x8e, 0x68, 0x01, 0x75, 0x05, 0xe8, 0xc5, 0x04, 0xeb, 0x5c, 0xbe, 0x19, 0x4c, 0xe8, 0x65,
- 0xbd, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x08, 0xb9, 0x5a, 0x00, 0xe8, 0x07, 0xdc, 0xeb, 0x47,
- 0xe8, 0x4a, 0xb8, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c, 0x00, 0x00, 0x01, 0x90, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x4c, 0x00, 0xff, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x5c, 0x00,
- 0x00, 0x00, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0x83, 0xbe,
- 0x66, 0x01, 0x01, 0x75, 0x07, 0xe8, 0x51, 0xdb, 0xeb, 0x0d, 0xeb, 0x05, 0xe8, 0x63, 0xdb, 0xeb,
- 0x06, 0xb8, 0x01, 0x00, 0xe8, 0xfa, 0xce, 0xc3, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x07, 0xf6, 0x86,
- 0x76, 0x02, 0x01, 0x75, 0xec, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x10, 0x80, 0x7e,
- 0x06, 0x14, 0x75, 0x0a, 0xb8, 0x05, 0x00, 0xe8, 0x1b, 0xf9, 0xc6, 0x46, 0x07, 0x42, 0xc3, 0x90,
- 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x4e, 0xc6, 0x86, 0x70, 0x02, 0x00, 0x80, 0x7e, 0x08, 0x08,
- 0x75, 0x2c, 0xf6, 0x86, 0x71, 0x02, 0x01, 0x74, 0x25, 0xe9, 0xdf, 0xcc, 0xbe, 0x2b, 0x4c, 0xe8,
- 0xc4, 0xbc, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42,
- 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x35, 0x09, 0xeb, 0x16, 0x80, 0x7e,
- 0x06, 0x10, 0x75, 0x10, 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x6c,
- 0x02, 0x00, 0xeb, 0xc8, 0xc3, 0xeb, 0xfd, 0x90, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x14, 0x80, 0xbe,
- 0xfe, 0x00, 0x02, 0x72, 0x27, 0xf6, 0x86, 0x74, 0x02, 0x01, 0x75, 0x08, 0xb8, 0x02, 0x00, 0xe8,
- 0x02, 0x04, 0xeb, 0x45, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x02, 0xc7, 0x86, 0x30, 0x05, 0x00, 0x02,
- 0xc6, 0x86, 0x79, 0x02, 0x01, 0xc6, 0x86, 0xb0, 0x02, 0x00, 0xeb, 0x1e, 0xc6, 0x86, 0xb0, 0x02,
- 0x01, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x02, 0xc7, 0x86, 0x30, 0x05, 0x00, 0x01, 0xf6, 0x86, 0x78,
- 0x02, 0x01, 0x74, 0x06, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x06, 0xc7, 0x86, 0xd8, 0x02, 0x05, 0x00,
- 0xbe, 0xa9, 0x4c, 0xe8, 0x30, 0xbc, 0xe8, 0x5f, 0xdd, 0xc3, 0x80, 0x7e, 0x08, 0x18, 0x74, 0x06,
- 0x80, 0x7e, 0x08, 0x1a, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1c, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46,
- 0x75, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0xf9, 0xcd, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x0a,
- 0x80, 0x7e, 0x06, 0x48, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x42,
- 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0xf6, 0x86, 0x73, 0x02, 0x01, 0x74, 0x27, 0xf6,
- 0x46, 0x06, 0x46, 0x75, 0x18, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x11, 0xc6, 0x86, 0x6f, 0x02,
- 0x01, 0xc6, 0x86, 0x7a, 0x02, 0x01, 0xe8, 0x0d, 0xbe, 0xff, 0x86, 0xd6, 0x02, 0xe8, 0xce, 0xd9,
- 0xbe, 0x97, 0x4c, 0xe8, 0xc0, 0xbb, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x35, 0xf6, 0x86,
- 0x7b, 0x02, 0x01, 0x75, 0x2e, 0x83, 0xbe, 0xd8, 0x02, 0x00, 0x74, 0x29, 0xff, 0x8e, 0xd8, 0x02,
- 0xbe, 0xa9, 0x4c, 0xe8, 0xa0, 0xbb, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x13, 0xc7, 0x86, 0x34,
- 0x05, 0x00, 0x02, 0xf6, 0x86, 0x78, 0x02, 0x01, 0x74, 0x06, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x06,
- 0xe8, 0xb5, 0xdc, 0xeb, 0x49, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x1c, 0x80, 0xbe, 0xfe,
- 0x00, 0x00, 0x74, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0xfa, 0x02, 0xeb, 0x32, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x10, 0x74, 0x05, 0xc6, 0x86, 0xfe, 0x00, 0x01, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x18,
- 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10, 0x74, 0x10, 0xb8, 0x02, 0x00, 0xe8, 0x77, 0xf7, 0xc6, 0x46,
- 0x09, 0x1e, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8, 0x23, 0xcd, 0xc3, 0x90,
- 0x80, 0x7e, 0x06, 0x46, 0x75, 0x21, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x11, 0xc6, 0x86, 0x6f,
- 0x02, 0x01, 0xc6, 0x86, 0x7a, 0x02, 0x01, 0xe8, 0x5c, 0xbd, 0xff, 0x86, 0xd6, 0x02, 0xbe, 0xaf,
- 0x4c, 0xe8, 0x12, 0xbb, 0xe8, 0x83, 0xdc, 0xc3, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x06, 0xb8, 0x05,
- 0x00, 0xe8, 0xed, 0xcc, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8,
- 0xdf, 0xcc, 0xeb, 0x17, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x11, 0xc7, 0x86, 0x2e, 0x02, 0x04, 0x00,
- 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x09, 0x18, 0xc3, 0x8e, 0x46, 0x02, 0x26,
- 0x8b, 0x16, 0x42, 0x00, 0xf7, 0xc2, 0x02, 0x00, 0x74, 0x14, 0x8b, 0xc2, 0x83, 0xe0, 0xfd, 0x8e,
- 0x46, 0x02, 0x26, 0xa3, 0x42, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x16, 0x42, 0x00, 0xc3, 0x90,
- 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x03, 0x00, 0x74, 0x10, 0x8e, 0x46, 0x02, 0x26,
- 0x83, 0x26, 0x54, 0x00, 0x03, 0xc6, 0x86, 0x59, 0x02, 0x01, 0xeb, 0x00, 0xf6, 0x86, 0x59, 0x02,
- 0x01, 0x75, 0x14, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x0e, 0xc6, 0x46, 0x09, 0x02, 0xff, 0x86, 0x44,
- 0x02, 0x81, 0x8e, 0xe6, 0x02, 0x00, 0x02, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xc3, 0x90, 0xf7, 0x86,
- 0xf4, 0x00, 0x00, 0x10, 0x75, 0x15, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x03, 0x00,
- 0x74, 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x54, 0x00, 0x03, 0xc3, 0x80, 0xbe, 0xb0, 0x02,
- 0x01, 0x75, 0x32, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x08, 0x00, 0x74, 0x21, 0xf6,
- 0x86, 0x61, 0x02, 0x01, 0x74, 0x1f, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x75, 0x18, 0xc7, 0x86, 0x2e,
- 0x02, 0x0a, 0x00, 0xbe, 0x43, 0x4c, 0xe8, 0x2d, 0xba, 0xc6, 0x86, 0x60, 0x02, 0x01, 0xeb, 0x05,
- 0xc6, 0x86, 0x60, 0x02, 0x00, 0xc3, 0xbe, 0x55, 0x4c, 0xe8, 0x1a, 0xba, 0x33, 0xc0, 0x87, 0x86,
- 0xcc, 0x02, 0x0b, 0xc0, 0x75, 0x14, 0x80, 0xbe, 0x65, 0x02, 0x00, 0x74, 0x0d, 0xc6, 0x86, 0x65,
- 0x02, 0x00, 0x80, 0xa6, 0x0b, 0x02, 0x7f, 0xe8, 0x46, 0xfb, 0xc3, 0x80, 0x7e, 0x06, 0x12, 0x75,
- 0x10, 0xc6, 0x86, 0x08, 0x01, 0x01, 0xc6, 0x86, 0x09, 0x01, 0x00, 0xe8, 0x7b, 0xf3, 0xe8, 0x72,
- 0xf5, 0xc3, 0xf6, 0x86, 0x6e, 0x01, 0x01, 0x74, 0x15, 0x80, 0xbe, 0x70, 0x01, 0x03, 0x73, 0x07,
- 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xeb, 0x23, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xeb, 0x1c, 0xf6, 0x86,
- 0x6f, 0x01, 0x01, 0x74, 0x15, 0x80, 0xbe, 0x71, 0x01, 0x03, 0x73, 0x07, 0xc6, 0x86, 0x6d, 0x01,
- 0x01, 0xeb, 0x07, 0xc6, 0x86, 0x6f, 0x01, 0x00, 0xeb, 0x00, 0xc3, 0xf7, 0x86, 0xb0, 0x15, 0x00,
- 0x80, 0x75, 0x07, 0x83, 0xbe, 0xb0, 0x15, 0x05, 0x74, 0x05, 0xc6, 0x86, 0xce, 0x01, 0x01, 0xc3,
- 0xe8, 0xd2, 0xcc, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x09, 0xe8, 0x6b, 0xf4, 0xbe,
- 0xe5, 0x4c, 0xe8, 0x81, 0xb9, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x11, 0x81, 0x8e,
- 0x0a, 0x02, 0x00, 0x04, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xb8, 0x10, 0x00, 0xe8, 0x52, 0xcb, 0xc3,
- 0x8b, 0x86, 0x30, 0x01, 0x88, 0xa6, 0x2c, 0x01, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x4a, 0x75, 0x06,
- 0xb8, 0x04, 0x00, 0xe8, 0x3b, 0xcb, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x4c, 0x75, 0x25, 0xf6, 0x86,
- 0x74, 0x02, 0x01, 0x74, 0x07, 0x83, 0xbe, 0xda, 0x02, 0x00, 0x75, 0x0a, 0xc6, 0x46, 0x07, 0x12,
- 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0x0d, 0xff, 0x8e, 0xda, 0x02, 0xbe, 0xbb, 0x4c, 0xe8, 0x26, 0xb9,
- 0xe8, 0xed, 0xda, 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x2e, 0x8a, 0x3e, 0x80, 0x5e, 0xb3,
- 0x01, 0xe8, 0x6e, 0xbf, 0xf6, 0x86, 0x74, 0x02, 0x01, 0x74, 0x24, 0xa9, 0x04, 0x00, 0x75, 0x1d,
- 0xff, 0x8e, 0xb5, 0x02, 0x75, 0x15, 0xc6, 0x86, 0x74, 0x02, 0x00, 0x8a, 0x4e, 0x06, 0x80, 0xf9,
- 0x42, 0x74, 0x08, 0xb8, 0x02, 0x00, 0xe8, 0xd8, 0xca, 0xeb, 0x41, 0xeb, 0x39, 0xeb, 0x31, 0xa9,
- 0x04, 0x00, 0x74, 0x2c, 0xc6, 0x86, 0x74, 0x02, 0x01, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x4a, 0x75,
- 0x1d, 0xc6, 0x46, 0x07, 0x42, 0xc6, 0x46, 0x06, 0x42, 0xe8, 0x8a, 0xbe, 0xbe, 0x79, 0x4c, 0xe8,
- 0xc4, 0xb8, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32, 0xfe, 0xeb, 0x08, 0xeb, 0x06,
- 0xc7, 0x86, 0xb5, 0x02, 0x02, 0x00, 0xbe, 0xc7, 0x4c, 0xe8, 0xaa, 0xb8, 0xc3, 0x90, 0xf7, 0x86,
- 0xf6, 0x00, 0x00, 0x10, 0x74, 0x26, 0x80, 0x8e, 0xfe, 0x00, 0x00, 0x74, 0x1f, 0xfe, 0x8e, 0xfe,
- 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xc8, 0xba, 0xbe, 0x61,
- 0x4c, 0xe8, 0x82, 0xb8, 0xbe, 0x67, 0x4c, 0xe8, 0x7c, 0xb8, 0xeb, 0x06, 0xb8, 0x01, 0x00, 0xe8,
- 0x5f, 0xca, 0xc3, 0x90, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x32, 0x80, 0x8e, 0xfe, 0x00,
- 0x00, 0x74, 0x2b, 0xfe, 0x8e, 0xfe, 0x00, 0xbe, 0x79, 0x4c, 0xe8, 0x59, 0xb8, 0xb0, 0x02, 0xe8,
- 0xab, 0xbc, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x87, 0xba, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00, 0x1e, 0xe8, 0xfa, 0xbd, 0xeb, 0x03, 0xe8, 0x20,
- 0xca, 0xc3, 0xf6, 0x86, 0x95, 0x02, 0x01, 0x74, 0x07, 0xa8, 0x24, 0x74, 0x03, 0xe8, 0xb0, 0xcb,
- 0xf6, 0x86, 0xae, 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0x62, 0x02, 0x01, 0x75, 0x58, 0xeb, 0x09,
- 0xf6, 0x86, 0x72, 0x02, 0x01, 0x75, 0x10, 0xeb, 0x52, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x02, 0xeb,
- 0x45, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x3f, 0xa8, 0x01, 0x74, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x10,
- 0xa8, 0x04, 0x74, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x04, 0xa8, 0x08, 0x74, 0x05, 0x83, 0x8e, 0xe6,
- 0x02, 0x40, 0xa8, 0x20, 0x74, 0x10, 0x81, 0x8e, 0xe6, 0x02, 0x00, 0x01, 0xf6, 0x86, 0x58, 0x02,
- 0x01, 0x75, 0x03, 0xe8, 0xaa, 0xbc, 0xa8, 0x40, 0x74, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x01, 0xa8,
- 0x80, 0x74, 0x03, 0xe8, 0x52, 0x00, 0xa9, 0x00, 0x01, 0x75, 0x01, 0xc3, 0x50, 0x80, 0x7e, 0x08,
- 0x0a, 0x75, 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x1b, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x23, 0xc6,
- 0x46, 0x09, 0x02, 0xff, 0x86, 0x44, 0x02, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x06, 0x81, 0x8e,
- 0xe6, 0x02, 0x00, 0x02, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c,
- 0x00, 0x10, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x48, 0x00, 0x00, 0x00, 0x8e, 0x46, 0x02, 0x26,
- 0xc7, 0x06, 0x48, 0x00, 0x00, 0x01, 0x58, 0xc3, 0x83, 0x8e, 0xe6, 0x02, 0x20, 0x83, 0x7e, 0x06,
- 0x08, 0x75, 0x13, 0x8b, 0x8e, 0xce, 0x02, 0x41, 0x89, 0x8e, 0xce, 0x02, 0x80, 0xf9, 0x02, 0x75,
- 0x05, 0x50, 0xe8, 0x84, 0xd5, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x0e,
- 0x74, 0x1e, 0x80, 0xf9, 0x48, 0x74, 0x19, 0x80, 0xbe, 0x58, 0x02, 0x01, 0x74, 0x46, 0x80, 0xf9,
- 0x08, 0x72, 0x41, 0x80, 0xf9, 0x0e, 0x77, 0x3c, 0xb8, 0x02, 0x00, 0xe8, 0x13, 0xc9, 0xeb, 0x34,
- 0xc7, 0x86, 0x2e, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x65, 0x02, 0x01, 0x8a, 0x46, 0x08, 0x3c, 0x06,
- 0x74, 0x26, 0x3c, 0x02, 0x74, 0x51, 0x3c, 0x08, 0x74, 0x1a, 0x3c, 0x04, 0x74, 0x16, 0xf6, 0x86,
- 0xac, 0x02, 0x01, 0x75, 0x13, 0xf6, 0x86, 0xad, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x46, 0x09, 0x04,
- 0xff, 0x86, 0x4e, 0x02, 0x59, 0x5b, 0x58, 0xc3, 0x8b, 0x86, 0x0a, 0x02, 0xf6, 0xc4, 0x80, 0x75,
- 0x0c, 0x80, 0xcc, 0x80, 0x89, 0x86, 0x0a, 0x02, 0xc6, 0x86, 0x89, 0x02, 0x01, 0x81, 0xbe, 0x0c,
- 0x03, 0x00, 0x02, 0x74, 0xdf, 0xc7, 0x86, 0x0c, 0x03, 0x00, 0x02, 0xf6, 0x86, 0xaa, 0x02, 0x01,
- 0x74, 0xd2, 0xe8, 0xf9, 0xd3, 0xeb, 0xcd, 0xb8, 0x00, 0x01, 0xe8, 0x9b, 0xd7, 0xf6, 0x86, 0x62,
- 0x02, 0x01, 0x74, 0xc0, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0xba, 0xfa, 0xc7, 0x06, 0x30, 0x00, 0xb6,
- 0x0e, 0x8c, 0x0e, 0x32, 0x00, 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0xea, 0x09, 0xe7, 0x00, 0xb8,
- 0x09, 0x00, 0xe7, 0x06, 0xb0, 0x7f, 0xe8, 0x5c, 0xb3, 0xc6, 0x06, 0x82, 0x5e, 0x80, 0xfb, 0xc3,
- 0xf7, 0x86, 0x82, 0x01, 0x01, 0x00, 0x74, 0x1a, 0xc7, 0x86, 0x82, 0x01, 0x00, 0x00, 0xf6, 0x86,
- 0x6e, 0x01, 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xbe, 0xd9, 0x4c, 0xe8, 0x18, 0xb7,
- 0xeb, 0x00, 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x45, 0xc7, 0x86, 0x8a, 0x01, 0x00, 0x00,
- 0xf6, 0x86, 0x6f, 0x01, 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6f, 0x01, 0x00, 0xbe, 0xd9, 0x4c, 0xe8,
- 0xf6, 0xb6, 0xeb, 0x2b, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x1f,
- 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x18, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x75, 0x11, 0xc6, 0x86,
- 0x60, 0x02, 0x01, 0xc7, 0x86, 0x2e, 0x02, 0x0a, 0x00, 0xb8, 0x0c, 0x00, 0xe8, 0x02, 0xc8, 0xc3,
- 0xb9, 0x01, 0x00, 0x33, 0xdb, 0x8b, 0xaf, 0x48, 0x5d, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x16, 0x54,
- 0x00, 0x83, 0xe2, 0x08, 0x26, 0xa1, 0x72, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0xf7, 0xc2,
- 0x08, 0x00, 0x75, 0x02, 0xeb, 0x67, 0x83, 0xbe, 0x74, 0x01, 0x00, 0x75, 0x04, 0x88, 0xa6, 0x78,
- 0x01, 0x81, 0xbe, 0x74, 0x01, 0xbc, 0x02, 0x72, 0x06, 0xc7, 0x86, 0x74, 0x01, 0xf4, 0x01, 0x8a,
- 0xc4, 0x2a, 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x74, 0x01, 0xbe, 0xeb, 0x09, 0xf7,
- 0xe6, 0xbe, 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x78, 0x01, 0x89, 0x86, 0x7c, 0x01, 0xff, 0x86,
- 0x74, 0x01, 0x83, 0xbe, 0x7c, 0x01, 0x7d, 0x72, 0x21, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a,
- 0xc7, 0x86, 0x88, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0x32, 0x5d, 0x89,
- 0x86, 0x8c, 0x01, 0xa1, 0x34, 0x5d, 0x89, 0x86, 0x8e, 0x01, 0xe9, 0x94, 0x00, 0x83, 0xbe, 0x76,
- 0x01, 0x00, 0x75, 0x04, 0x88, 0x86, 0x7a, 0x01, 0x81, 0xbe, 0x76, 0x01, 0xbc, 0x02, 0x72, 0x06,
- 0xc7, 0x86, 0x76, 0x01, 0xf4, 0x01, 0x2a, 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x76,
- 0x01, 0xbe, 0xeb, 0x09, 0xf7, 0xe6, 0xbe, 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x7a, 0x01, 0x89,
- 0x86, 0x7e, 0x01, 0xff, 0x86, 0x76, 0x01, 0x83, 0xbe, 0x80, 0x01, 0x01, 0x74, 0x53, 0x83, 0xf8,
- 0x1f, 0x72, 0x4e, 0x8d, 0xb6, 0x96, 0x01, 0x83, 0x3c, 0x12, 0x72, 0x45, 0x83, 0x3c, 0x23, 0x77,
- 0x40, 0x83, 0x7c, 0x02, 0x1f, 0x72, 0x3a, 0x83, 0x7c, 0x02, 0x45, 0x77, 0x34, 0x83, 0x7c, 0x04,
- 0x12, 0x72, 0x2e, 0x90, 0x83, 0x7c, 0x04, 0x23, 0x77, 0x27, 0x81, 0x7c, 0x06, 0x9c, 0x00, 0x72,
- 0x20, 0xc7, 0x86, 0x80, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x82, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x88,
- 0x01, 0x00, 0x00, 0xa1, 0x32, 0x5d, 0x89, 0x86, 0x84, 0x01, 0xa1, 0x34, 0x5d, 0x89, 0x86, 0x86,
- 0x01, 0x83, 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0xdb, 0xfe, 0xc3, 0x50, 0x51, 0x52, 0x56, 0x57,
- 0x8e, 0x46, 0x02, 0x83, 0x86, 0x90, 0x01, 0x01, 0x83, 0x96, 0x92, 0x01, 0x00, 0xc7, 0x86, 0x80,
- 0x01, 0x00, 0x00, 0x26, 0xa1, 0x72, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0x8d, 0xb6, 0x96,
- 0x01, 0x26, 0x8b, 0x0e, 0x54, 0x00, 0x83, 0xe1, 0x08, 0x89, 0x8e, 0x94, 0x01, 0xf7, 0xc1, 0x08,
- 0x00, 0x74, 0x4f, 0x8b, 0x4c, 0x0a, 0x89, 0x4c, 0x0e, 0x8b, 0x4c, 0x06, 0x89, 0x4c, 0x0a, 0x8b,
- 0x4c, 0x02, 0x89, 0x4c, 0x06, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x19, 0xb0, 0x0a,
- 0xe6, 0x10, 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7e, 0x01, 0x8b, 0xc8, 0xe4, 0x10,
- 0xa8, 0x10, 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0xc1, 0x89, 0x44, 0x02, 0xc7, 0x86, 0x7e, 0x01,
- 0x00, 0x00, 0xc7, 0x86, 0x76, 0x01, 0x00, 0x00, 0xeb, 0x7f, 0xc7, 0x86, 0x88, 0x01, 0x00, 0x00,
- 0xeb, 0x77, 0x8b, 0x4c, 0x08, 0x89, 0x4c, 0x0c, 0x8b, 0x4c, 0x04, 0x89, 0x4c, 0x08, 0x8b, 0x0c,
- 0x89, 0x4c, 0x04, 0x8a, 0xc4, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x25, 0xb0, 0x0a,
- 0xe6, 0x10, 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7c, 0x01, 0x8b, 0xc8, 0xe4, 0x10,
- 0xa8, 0x10, 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0x96, 0x7c, 0x01, 0x83, 0xf9, 0x7f, 0x77, 0x03,
- 0x83, 0xc1, 0x4f, 0x8b, 0xc1, 0x89, 0x04, 0xc7, 0x86, 0x7c, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x74,
- 0x01, 0x00, 0x00, 0x83, 0xf8, 0x7d, 0x72, 0xa2, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a, 0xc7,
- 0x86, 0x88, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0x32, 0x5d, 0x89, 0x86,
- 0x84, 0x01, 0xa1, 0x34, 0x5d, 0x89, 0x86, 0x86, 0x01, 0x5f, 0x5e, 0x5a, 0x59, 0x58, 0xc3, 0x50,
- 0x51, 0x57, 0x06, 0xfa, 0x8c, 0xd8, 0x8e, 0xc0, 0x2b, 0xc0, 0x8d, 0xbe, 0x72, 0x01, 0xb9, 0x1a,
- 0x00, 0xf3, 0xab, 0xfb, 0x07, 0x5f, 0x59, 0x58, 0xc3, 0xfa, 0xf6, 0x06, 0x82, 0x5e, 0x80, 0x74,
- 0x4e, 0xc6, 0x86, 0x6c, 0x01, 0x00, 0xc6, 0x86, 0x6e, 0x01, 0x01, 0xfe, 0x86, 0x70, 0x01, 0x8a,
- 0x46, 0x00, 0xa2, 0x82, 0x5e, 0xc7, 0x06, 0x84, 0x5e, 0x02, 0x00, 0xc7, 0x06, 0x86, 0x5e, 0x01,
- 0x00, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0x8b, 0xc8, 0xb8, 0xd6, 0x13, 0xe7, 0x02, 0xb8,
- 0x4e, 0x03, 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b, 0xc1, 0xe7, 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x42, 0x00, 0x01, 0xbe, 0xd9, 0x4c, 0xe8, 0x7c, 0xb3, 0xc6, 0x86, 0x61, 0x02, 0x01, 0xfb,
- 0xc3, 0xfa, 0xf6, 0x06, 0x82, 0x5e, 0x80, 0x74, 0x49, 0xc6, 0x86, 0x6d, 0x01, 0x00, 0xc6, 0x86,
- 0x6f, 0x01, 0x01, 0xfe, 0x86, 0x71, 0x01, 0x8a, 0x46, 0x00, 0xa2, 0x82, 0x5e, 0xc7, 0x06, 0x84,
- 0x5e, 0x0e, 0x00, 0xc7, 0x06, 0x86, 0x5e, 0x02, 0x00, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06,
- 0x8b, 0xc8, 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xb8, 0xd6, 0x13, 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b,
- 0xc1, 0xe7, 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x01, 0xbe, 0xd9, 0x4c, 0xe8,
- 0x24, 0xb3, 0xfb, 0xc3, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0x9d, 0x06, 0xe7,
- 0x02, 0xc7, 0x06, 0x84, 0x5e, 0x04, 0x00, 0xc3, 0xc7, 0x06, 0x84, 0x5e, 0x06, 0x00, 0xc3, 0x90,
- 0xc7, 0x06, 0x84, 0x5e, 0x08, 0x00, 0xc3, 0x90, 0x53, 0xc7, 0x06, 0x84, 0x5e, 0x0a, 0x00, 0x33,
- 0xdb, 0x8a, 0x1e, 0x82, 0x5e, 0xd0, 0xe3, 0x8b, 0x9f, 0x48, 0x5d, 0x06, 0x8e, 0x47, 0x02, 0x26,
- 0x83, 0x26, 0x42, 0x00, 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06,
- 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc7, 0x06, 0x84, 0x5e, 0x0c, 0x00, 0xc6, 0x06, 0x82, 0x5e, 0x80,
- 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xc7,
- 0x06, 0x84, 0x5e, 0x10, 0x00, 0xc3, 0x53, 0xc7, 0x06, 0x84, 0x5e, 0x12, 0x00, 0x33, 0xdb, 0x8a,
- 0x1e, 0x82, 0x5e, 0xd0, 0xe3, 0x8b, 0x9f, 0x48, 0x5d, 0x06, 0x8e, 0x47, 0x02, 0x26, 0x83, 0x26,
- 0x42, 0x00, 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0,
- 0x09, 0xe7, 0x06, 0xc7, 0x06, 0x84, 0x5e, 0x14, 0x00, 0xc6, 0x06, 0x82, 0x5e, 0x80, 0xc3, 0x90,
- 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0x4e, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54,
- 0x78, 0x74, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x34, 0x12, 0x45, 0x23,
- 0x56, 0x34, 0x00, 0x00, 0x00, 0x00, 0xcd, 0xab, 0xde, 0xbc, 0xef, 0xcd, 0x00, 0x00, 0x00, 0x00,
- 0x4e, 0x6f, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x00, 0x54,
- 0x69, 0x6d, 0x65, 0x72, 0x30, 0x00, 0x00, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x31, 0x00, 0x00, 0x54,
- 0x65, 0x73, 0x74, 0x31, 0x00, 0x00, 0x54, 0x65, 0x73, 0x74, 0x32, 0x00, 0x00, 0x90, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x5d,
- 0x97, 0x55, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x09, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0xe0, 0x02, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x02, 0x04, 0x01, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x03, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x03, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
- 0xe0, 0x04, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
- 0x00, 0x04, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x05, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x05, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x06, 0xc0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x06, 0x06, 0x0b,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x12, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x02, 0x26, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0xe0, 0x08, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x1c, 0x26, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xe0, 0x00,
- 0xc0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x50, 0x20,
- 0x0c, 0x23, 0x30, 0x30, 0x30, 0x30, 0xf3, 0xf0, 0xf0, 0xf8, 0xf9, 0xf6, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00,
- 0x06, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x28, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x29, 0x20, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x06, 0x00, 0x00,
- 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x40, 0x25, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x20, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x12, 0x40, 0x26, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x60, 0x27, 0x08, 0x0a, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x60, 0x28, 0x04, 0x30, 0x00, 0x00,
- 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1e, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x30, 0x11, 0x04, 0x0c, 0x00, 0x01, 0x04, 0x0e, 0x00, 0x02, 0x04, 0x21,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x12, 0x04, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x30, 0x13, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xe0, 0x00, 0xc0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x14, 0x04, 0x0d,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x15, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00,
- 0xe0, 0x08, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x07, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x17, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
- 0x60, 0x29, 0x08, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x2a, 0x00, 0x00, 0x02, 0x20, 0x80, 0x00, 0x00, 0x06, 0x09, 0x00, 0x00, 0x00, 0x04, 0x03,
- 0x01, 0x80, 0x00, 0x00, 0x04, 0x02, 0x80, 0x00, 0x00, 0x08, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x02,
- 0x02, 0x80, 0x00, 0x00, 0x08, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x01, 0x26, 0x80, 0x00, 0x00, 0xff,
- 0x06, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x00, 0x04,
- 0x06, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x04, 0x04,
- 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x00, 0x04, 0x09,
- 0x00, 0x00, 0x00, 0x04, 0x03, 0x0c, 0x80, 0x00, 0x00, 0x04, 0x0e, 0x80, 0x00, 0x00, 0x04, 0x21,
- 0x00, 0x00, 0x00, 0x04, 0x01, 0x0f, 0x80, 0x00, 0x00, 0x04, 0x01, 0x0d, 0x80, 0x00, 0x00, 0x04,
- 0x04, 0x02, 0x80, 0x00, 0x00, 0x08, 0x22, 0x00, 0x00, 0x00, 0xff, 0x23, 0x00, 0x00, 0x00, 0xff,
- 0x21, 0x00, 0x00, 0x00, 0x04, 0x01, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0xa5, 0xa5, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
-#endif /* OLTR_NO_BULLSEYE_MAC */
diff --git a/sys/contrib/dev/oltr/trlldhm.c b/sys/contrib/dev/oltr/trlldhm.c
deleted file mode 100644
index 633eea215421..000000000000
--- a/sys/contrib/dev/oltr/trlldhm.c
+++ /dev/null
@@ -1,1899 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: Olicom Hawkeye adapter micro-code
- *
- *---------------------------------------------------------------------------
- */
-
-#include "opt_oltr.h"
-
-#ifndef OLTR_NO_HAWKEYE_MAC
-
-unsigned char TRlldHawkeyeMac[] = { 0x52, 0x94, 0x03, 0x00, 0x02, 0x75, 0xfb, 0xbb, 0x4f, 0x43, 0x53, 0x4d, 0x41, 0x43, 0x2e, 0x48,
- 0x41, 0x57, 0x4b, 0x45, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xea, 0x55, 0x00, 0x00, 0x00, 0xfc, 0xfa, 0xb8, 0x00, 0x00, 0xbb, 0x00,
- 0x00, 0xb9, 0x00, 0x00, 0xba, 0x00, 0x00, 0xbe, 0x00, 0x00, 0xbf, 0x00, 0x00, 0xbd, 0x00, 0x00,
- 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xd0, 0xb8, 0x1c, 0x56, 0x8b, 0xe0, 0x83, 0x3e, 0x4e,
- 0x00, 0x00, 0x75, 0x1c, 0x2b, 0xdb, 0x8b, 0xf3, 0xad, 0x8b, 0xd8, 0x8b, 0xc8, 0xd1, 0xe9, 0x49,
- 0x49, 0xad, 0x03, 0xd8, 0xe2, 0xfb, 0x0b, 0xdb, 0x74, 0x06, 0xc7, 0x06, 0xee, 0x54, 0x01, 0x00,
- 0xc7, 0x06, 0x0c, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x0e, 0x00, 0xc7, 0x06, 0x04, 0x00, 0xa8, 0x01,
- 0x8c, 0x0e, 0x06, 0x00, 0xc7, 0x06, 0x14, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x14, 0x00, 0xc7, 0x06,
- 0x08, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x08, 0x00, 0x90, 0x90, 0x90, 0xc7, 0x06, 0x20, 0x00, 0x6e,
- 0x1f, 0x8c, 0x0e, 0x22, 0x00, 0x2b, 0xc0, 0xe7, 0x06, 0xc7, 0x06, 0x30, 0x00, 0x20, 0x0e, 0x8c,
- 0x0e, 0x32, 0x00, 0xc7, 0x06, 0x34, 0x00, 0x32, 0x0f, 0x8c, 0x0e, 0x36, 0x00, 0xc7, 0x06, 0x38,
- 0x00, 0x64, 0x0f, 0x8c, 0x0e, 0x3a, 0x00, 0xc7, 0x06, 0x3c, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x3e,
- 0x00, 0xc7, 0x06, 0x08, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x0a, 0x00, 0xc7, 0x06, 0x14, 0x00, 0xa8,
- 0x01, 0x8c, 0x0e, 0x16, 0x00, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26, 0xa1, 0x02, 0x00, 0x25, 0x00,
- 0x50, 0x89, 0x86, 0x0f, 0x01, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x72, 0x00, 0xf7, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x08, 0x2a, 0xe4, 0xb0, 0x13, 0xe6, 0x10, 0x90, 0x90, 0x90,
- 0xb0, 0x08, 0xe6, 0x12, 0x90, 0x90, 0x90, 0xb0, 0x09, 0xe6, 0x12, 0x90, 0x90, 0x90, 0xb0, 0xff,
- 0xe6, 0x12, 0x90, 0x90, 0x90, 0x26, 0x83, 0x26, 0x72, 0x00, 0xf7, 0x8b, 0x86, 0x0f, 0x01, 0x26,
- 0xa3, 0x02, 0x00, 0x90, 0x90, 0x90, 0x33, 0xc0, 0x26, 0xc7, 0x06, 0x04, 0x00, 0xff, 0xff, 0x26,
- 0xc7, 0x06, 0x06, 0x00, 0xff, 0xff, 0x26, 0x09, 0x06, 0x08, 0x00, 0x26, 0x09, 0x06, 0x0a, 0x00,
- 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0x0f, 0x27, 0xe7, 0x00, 0xb8, 0x09, 0x00, 0xe7, 0x06, 0xb0,
- 0x11, 0xe8, 0xae, 0x0a, 0xe8, 0xeb, 0x0a, 0xfb, 0xe9, 0x94, 0x0b, 0x90, 0x50, 0xb0, 0xa0, 0xe6,
- 0x10, 0x58, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xe7, 0xe7, 0xe7, 0x31, 0x36,
- 0x31, 0x32, 0x39, 0x38, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28,
- 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x37, 0x2c, 0x20, 0x31, 0x39, 0x39, 0x38, 0x20, 0x4f, 0x6c,
- 0x69, 0x63, 0x6f, 0x6d, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73,
- 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0xf8, 0x1c, 0xf8, 0x1c, 0x2e, 0x32,
- 0x14, 0x35, 0x10, 0x37, 0x56, 0x38, 0x98, 0x39, 0xe0, 0x3c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0x49, 0x3b, 0x9f, 0x3b, 0x30, 0x3c, 0xad, 0x3c, 0xb2, 0x3c, 0xb7, 0x3c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf3, 0x34, 0xf8, 0x1c, 0xf8, 0x1c, 0xc3, 0x33, 0x1c, 0x34, 0x1c, 0x34,
- 0xb0, 0x34, 0x1c, 0x34, 0xd8, 0x34, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0x49, 0x3b, 0x9f, 0x3b,
- 0x30, 0x3c, 0xad, 0x3c, 0xb2, 0x3c, 0xb7, 0x3c, 0xf8, 0x1c, 0x2f, 0x34, 0xf8, 0x1c, 0x78, 0x34,
- 0xf8, 0x1c, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x49, 0x30, 0x75, 0x31, 0x7f, 0x2f,
- 0x5b, 0x30, 0x07, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31,
- 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31,
- 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31,
- 0xc7, 0x31, 0xb3, 0x30, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0xe6, 0x30,
- 0x7f, 0x2f, 0x7f, 0x2f, 0xf8, 0x30, 0x7f, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0x04, 0x04, 0x05, 0xff, 0xff, 0xff, 0x00, 0x03, 0x00, 0x03, 0x03, 0xb7, 0x05,
- 0xff, 0xff, 0xc2, 0x05, 0xd2, 0x05, 0xd2, 0x05, 0xd2, 0x05, 0xd2, 0x05, 0x00, 0x00, 0xdd, 0x05,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xe3, 0x05, 0x02, 0x06, 0x48, 0x06, 0x48, 0x06, 0x48, 0x06,
- 0x17, 0x06, 0x27, 0x06, 0x00, 0x00, 0x2d, 0x06, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xf8, 0x1c, 0x68, 0x3d, 0xde, 0x14, 0x34, 0x2f, 0x1b, 0x23, 0xac, 0x43, 0xf8, 0x1c, 0xa2, 0x3d,
- 0x2e, 0x41, 0xab, 0x3f, 0xc4, 0x3d, 0x49, 0x3f, 0xef, 0x40, 0x12, 0x3f, 0xa7, 0x40, 0xb5, 0x41,
- 0x1d, 0x42, 0xec, 0x41, 0xce, 0x40, 0x2a, 0x42, 0x4f, 0x42, 0x7a, 0x42, 0x0d, 0x42, 0x98, 0x42,
- 0x0a, 0x03, 0x30, 0x03, 0x50, 0x03, 0x7c, 0x03, 0xa2, 0x03, 0x00, 0x04, 0x66, 0x04, 0xa0, 0x04,
- 0xea, 0x04, 0xac, 0x05, 0xe4, 0x01, 0x04, 0x03, 0x2a, 0x03, 0x58, 0x03, 0x76, 0x03, 0x9c, 0x03,
- 0x60, 0x04, 0x9a, 0x04, 0xe4, 0x04, 0xa6, 0x05, 0xe0, 0x01, 0x08, 0x04, 0x6e, 0x04, 0xf4, 0x02,
- 0x1e, 0x03, 0x44, 0x03, 0x6a, 0x03, 0x90, 0x03, 0xb6, 0x03, 0xb0, 0x03, 0xce, 0x03, 0x72, 0x05,
- 0xe8, 0x03, 0x54, 0x04, 0x8e, 0x04, 0xb4, 0x04, 0xd4, 0x04, 0x8a, 0x05, 0xfe, 0x04, 0x22, 0x05,
- 0x3e, 0x05, 0x56, 0x05, 0xbe, 0x53, 0xc6, 0x53, 0xd2, 0x53, 0xda, 0x53, 0xe2, 0x53, 0x08, 0x54,
- 0x1c, 0x54, 0x24, 0x54, 0x30, 0x54, 0x56, 0x54, 0x6a, 0x54, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5,
- 0xf6, 0xf7, 0xf8, 0xf9, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xec, 0x19, 0x50, 0x1a, 0x74, 0x1a,
- 0xe4, 0x1a, 0x06, 0x1b, 0x9e, 0x1b, 0xfc, 0x1b, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0x20, 0x1c, 0x42, 0x1c, 0x98, 0x1c, 0xbc, 0x1c, 0xf0, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0x7c, 0x14,
- 0xa0, 0x15, 0x24, 0x16, 0x26, 0x16, 0x42, 0x16, 0x68, 0x16, 0x84, 0x16, 0x0e, 0x17, 0x8c, 0x17,
- 0x3e, 0x18, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xd6, 0x1d, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0x7a, 0x18,
- 0xb8, 0x18, 0x2e, 0x19, 0x74, 0x19, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xaa, 0x55, 0x00, 0xff, 0xf6, 0x46,
- 0x01, 0x01, 0x75, 0x6a, 0xc6, 0x86, 0x0e, 0x01, 0x05, 0xe8, 0x90, 0x01, 0xe8, 0x50, 0x06, 0xe8,
- 0xfc, 0x02, 0xe8, 0x56, 0x03, 0x73, 0x3a, 0xfe, 0x8e, 0x0e, 0x01, 0x74, 0x2e, 0x26, 0x83, 0x0e,
- 0x72, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x72, 0x00, 0xf7, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x72, 0x00,
- 0xf7, 0x8b, 0x86, 0x0f, 0x01, 0x26, 0xa3, 0x02, 0x00, 0xeb, 0xbe, 0xc7, 0x06, 0xee, 0x54, 0x02,
- 0x00, 0x32, 0xe4, 0x8a, 0x46, 0x00, 0xe8, 0xf6, 0x03, 0x83, 0x3e, 0x4e, 0x00, 0x02, 0x72, 0x03,
- 0xe8, 0x3a, 0x03, 0xa1, 0xee, 0x54, 0xe8, 0x36, 0x3c, 0xc6, 0x46, 0x01, 0x01, 0x90, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x74, 0x27, 0xf6, 0x86, 0x6c, 0x01, 0x01, 0x74, 0x03, 0xe8, 0x98, 0x4c, 0xf6,
- 0x86, 0x6d, 0x01, 0x01, 0x74, 0x03, 0xe8, 0xe6, 0x4c, 0xf7, 0x86, 0x82, 0x01, 0x01, 0x00, 0x75,
- 0x08, 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x03, 0xe8, 0xc2, 0x49, 0xe8, 0x7b, 0x05, 0xe8,
- 0x47, 0x05, 0xe8, 0xbf, 0x04, 0xe8, 0x64, 0x04, 0xf6, 0x86, 0x90, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0xd4, 0x17, 0x33, 0xdb, 0xf6, 0x86, 0xa9, 0x02, 0x01, 0x74, 0x16, 0x8a, 0x5e, 0x09, 0x8a, 0x7e,
- 0x08, 0x38, 0xfb, 0x75, 0x30, 0x80, 0xfb, 0x00, 0x74, 0x07, 0x80, 0xfb, 0x1e, 0x74, 0x02, 0xeb,
- 0x22, 0x80, 0x7e, 0x06, 0x1e, 0x74, 0x1e, 0x33, 0xdb, 0x8a, 0x5e, 0x07, 0x3a, 0x5e, 0x06, 0x74,
- 0x14, 0xfa, 0x50, 0x8b, 0x46, 0x06, 0x89, 0x46, 0x0c, 0x58, 0x88, 0x5e, 0x06, 0x32, 0xff, 0xff,
- 0x97, 0x98, 0x05, 0xeb, 0x2d, 0x8a, 0x5e, 0x09, 0x3a, 0x5e, 0x08, 0x74, 0x25, 0x50, 0x8b, 0x46,
- 0x08, 0x89, 0x46, 0x0e, 0x58, 0x80, 0xfb, 0x1e, 0x74, 0x0d, 0x80, 0xfb, 0x00, 0x74, 0x08, 0x80,
- 0xfb, 0x16, 0x74, 0x03, 0xe8, 0xfc, 0x26, 0x88, 0x5e, 0x08, 0x32, 0xff, 0xfa, 0xff, 0x97, 0x76,
- 0x05, 0xfb, 0xfa, 0xf7, 0x86, 0xf0, 0x00, 0xff, 0xff, 0x74, 0x0f, 0x8b, 0xb6, 0xf0, 0x00, 0x8b,
- 0x4c, 0x04, 0xe8, 0x0b, 0x0a, 0xfb, 0xff, 0xd1, 0xeb, 0x5c, 0xfb, 0xf7, 0x46, 0x16, 0xff, 0xff,
- 0x74, 0x27, 0x8d, 0x7e, 0x16, 0xe8, 0x88, 0x06, 0x56, 0x8b, 0x5c, 0x02, 0xd1, 0xe3, 0xff, 0x97,
- 0xcc, 0x04, 0x5e, 0xe8, 0x8c, 0x06, 0xf7, 0x86, 0xc8, 0x01, 0x01, 0x00, 0x74, 0x09, 0xe8, 0x33,
- 0x21, 0xc7, 0x86, 0xc8, 0x01, 0x00, 0x00, 0xeb, 0x2d, 0xfa, 0xf7, 0x86, 0x0a, 0x01, 0x01, 0x00,
- 0x75, 0x13, 0xf6, 0x86, 0x6c, 0x15, 0x80, 0x75, 0x0c, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0xfb,
- 0xe8, 0xe9, 0x35, 0xeb, 0x11, 0xfa, 0x8b, 0x86, 0x63, 0x02, 0x38, 0xc4, 0x74, 0x07, 0x88, 0x86,
- 0x64, 0x02, 0xe8, 0x4c, 0x16, 0xfb, 0xe8, 0xf1, 0x05, 0xe9, 0xd2, 0xfe, 0x8e, 0x46, 0x02, 0x26,
- 0xc7, 0x06, 0x04, 0x00, 0xff, 0xcb, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x08, 0x00, 0xff, 0xfb,
- 0xe8, 0x53, 0x02, 0x33, 0xc0, 0x88, 0x86, 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0xa2, 0x1a, 0x00, 0x89, 0x86, 0x14, 0x02, 0x89, 0x86, 0x06, 0x02, 0x89, 0x86, 0x36, 0x02,
- 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x0c, 0x00, 0x30, 0x01, 0x8d, 0x86, 0x52, 0x08, 0x89, 0x86,
- 0xbc, 0x01, 0x89, 0x86, 0xbe, 0x01, 0xc7, 0x86, 0xc0, 0x01, 0x01, 0x00, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x33, 0xc0, 0x8d, 0xbe, 0x54, 0x02, 0xb9, 0x51, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0xd1, 0xd1, 0xf3,
- 0xaa, 0x8d, 0xbe, 0x96, 0x05, 0xab, 0xab, 0xaa, 0x8d, 0xbe, 0x9e, 0x05, 0xab, 0xab, 0xaa, 0x8d,
- 0xbe, 0xae, 0x02, 0xb9, 0x0b, 0x00, 0xf3, 0xab, 0xc7, 0x86, 0xc4, 0x01, 0x14, 0x00, 0xc7, 0x86,
- 0xb6, 0x02, 0x04, 0x00, 0xbb, 0xfc, 0x04, 0xb9, 0x0b, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0xab,
- 0xab, 0x43, 0x43, 0xe2, 0xf5, 0xbb, 0x12, 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab,
- 0xab, 0x43, 0x43, 0xe2, 0xf6, 0xb8, 0x02, 0x00, 0x03, 0x06, 0xc8, 0x54, 0xe8, 0x3d, 0x05, 0x39,
- 0x06, 0xc8, 0x54, 0x75, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x02, 0xc7, 0x86,
- 0x08, 0x02, 0xc8, 0x00, 0xc7, 0x86, 0xf8, 0x01, 0xff, 0xff, 0xc7, 0x86, 0xf6, 0x01, 0x07, 0x00,
- 0xc6, 0x86, 0x87, 0x02, 0x00, 0xe8, 0x01, 0x00, 0xc3, 0x8e, 0x46, 0x02, 0x33, 0xc0, 0x89, 0x86,
- 0xb6, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x10, 0x00, 0x8b, 0x86, 0x52, 0x15, 0x26, 0xa3, 0x30,
- 0x00, 0x89, 0x86, 0xb2, 0x01, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x34, 0x00, 0x8b, 0x86, 0x54, 0x15,
- 0x26, 0xa3, 0x38, 0x00, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x36, 0x00, 0x33, 0xc0, 0xc6, 0x86, 0x83,
- 0x02, 0x01, 0x8d, 0xb6, 0x52, 0x09, 0xc7, 0x86, 0xa6, 0x01, 0x5a, 0x09, 0x01, 0xae, 0xa6, 0x01,
- 0x89, 0xb6, 0xa8, 0x01, 0x89, 0xb6, 0xaa, 0x01, 0xc7, 0x04, 0x30, 0x80, 0xc7, 0x44, 0x04, 0x00,
- 0x00, 0xc6, 0x86, 0x86, 0x02, 0x01, 0xe8, 0x01, 0x09, 0xb8, 0x00, 0x40, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x01, 0x74, 0x13, 0x25, 0xff, 0x1f, 0x0d, 0x00, 0xa0, 0x83, 0xe0, 0xfd, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x80, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x00, 0x00, 0xa1, 0xc8,
- 0x54, 0x83, 0xc0, 0x02, 0xe8, 0x85, 0x04, 0x39, 0x06, 0xc8, 0x54, 0x75, 0xf7, 0xc3, 0x8e, 0x46,
- 0x02, 0x26, 0xc7, 0x06, 0x00, 0x00, 0x08, 0xbe, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x02, 0x00,
- 0xc8, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x0c, 0x00, 0xa0, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xc7,
- 0x06, 0x10, 0x00, 0x04, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x90,
- 0x90, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x80, 0x00, 0x90, 0x90, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x28, 0x00, 0x18,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x01, 0xc3, 0xc6, 0x86, 0x0c, 0x01, 0x01,
- 0xc6, 0x86, 0x0d, 0x01, 0x00, 0xe8, 0xda, 0x22, 0xa1, 0xc8, 0x54, 0x83, 0xc0, 0x02, 0x0b, 0xc0,
- 0x0b, 0xc0, 0x0b, 0xc0, 0x0b, 0xc0, 0x39, 0x06, 0xc8, 0x54, 0x72, 0xf2, 0x80, 0xbe, 0x0d, 0x01,
- 0x01, 0x74, 0x03, 0xf9, 0xeb, 0x01, 0xf8, 0xc6, 0x86, 0x0c, 0x01, 0x00, 0xc3, 0xb8, 0x00, 0x00,
- 0x88, 0x86, 0x06, 0x01, 0x88, 0x86, 0x07, 0x01, 0x88, 0x86, 0x08, 0x01, 0x88, 0x86, 0x09, 0x01,
- 0x89, 0x86, 0x0a, 0x01, 0x88, 0x86, 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x88, 0x86, 0xcd, 0x01,
- 0xa2, 0x1e, 0x56, 0xc3, 0x50, 0x53, 0x52, 0xc6, 0x46, 0x01, 0x00, 0x32, 0xe4, 0x8a, 0x46, 0x00,
- 0xbb, 0x00, 0xfd, 0xbb, 0x00, 0xee, 0x83, 0x3e, 0xec, 0x54, 0x20, 0x75, 0x03, 0xbb, 0x00, 0x7d,
- 0x81, 0xeb, 0x00, 0x75, 0x81, 0xe3, 0x00, 0xff, 0x89, 0x9e, 0x56, 0x15, 0x81, 0xc3, 0x00, 0x01,
- 0xf7, 0xe3, 0x05, 0x00, 0x75, 0x89, 0x86, 0x52, 0x15, 0x03, 0x86, 0x56, 0x15, 0x48, 0x89, 0x86,
- 0x54, 0x15, 0x5a, 0x5b, 0x58, 0xc3, 0x51, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfc,
- 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x80, 0x00, 0x75, 0x1e, 0xb9, 0xf4, 0x01, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x00, 0x08, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14,
- 0x00, 0x80, 0x00, 0x75, 0x05, 0xe8, 0x54, 0x03, 0xe2, 0xe5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26,
- 0x0c, 0x00, 0xff, 0xf7, 0x59, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x02, 0xc3, 0x50,
- 0x53, 0xc1, 0xe0, 0x05, 0x05, 0x00, 0x03, 0x8b, 0xd8, 0x8d, 0x86, 0x00, 0x01, 0x89, 0x07, 0x8d,
- 0x86, 0xd0, 0x01, 0x89, 0x47, 0x02, 0x8d, 0x86, 0xe0, 0x01, 0x89, 0x47, 0x04, 0x8d, 0x86, 0x58,
- 0x15, 0x89, 0x47, 0x08, 0x8d, 0x86, 0x6c, 0x15, 0x89, 0x47, 0x06, 0x8d, 0x86, 0xbc, 0x01, 0x89,
- 0x47, 0x0a, 0xc7, 0x47, 0x0c, 0x30, 0x56, 0x8d, 0x86, 0x3c, 0x02, 0x89, 0x47, 0x0e, 0x8d, 0x06,
- 0xc8, 0x54, 0x89, 0x47, 0x10, 0xc7, 0x47, 0x14, 0x00, 0x00, 0xc7, 0x47, 0x16, 0x00, 0x00, 0x8d,
- 0x86, 0xec, 0x15, 0x89, 0x47, 0x18, 0x5b, 0x58, 0xc3, 0x8e, 0x46, 0x02, 0x80, 0xbe, 0x2d, 0x01,
- 0x01, 0x75, 0x40, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0x26, 0xa1, 0x38, 0x00,
- 0x2d, 0x00, 0x02, 0x3b, 0x86, 0x52, 0x15, 0x73, 0x0c, 0x8b, 0xd8, 0x2b, 0x9e, 0x52, 0x15, 0x8b,
- 0x86, 0x54, 0x15, 0x2b, 0xc3, 0x26, 0xa3, 0x6c, 0x00, 0x26, 0xa1, 0x12, 0x00, 0x89, 0x86, 0x32,
- 0x01, 0x26, 0xc7, 0x06, 0x12, 0x00, 0x00, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00,
- 0x05, 0xeb, 0x18, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfe, 0x8b, 0x86, 0x32, 0x01,
- 0x26, 0xa3, 0x12, 0x00, 0xb8, 0xff, 0xff, 0x26, 0xa3, 0x6c, 0x00, 0xc3, 0x50, 0xf7, 0x86, 0xf6,
- 0x00, 0x02, 0x00, 0x75, 0x02, 0xeb, 0x4b, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86,
- 0x6e, 0x02, 0x01, 0x74, 0x3d, 0xf6, 0x86, 0x85, 0x02, 0x01, 0x74, 0x36, 0xc6, 0x86, 0x85, 0x02,
- 0x00, 0x8b, 0x86, 0x06, 0x02, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x40, 0x74, 0x03, 0x25, 0xff, 0xaf,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x20, 0x74, 0x03, 0x25, 0xff, 0xdf, 0x89, 0x86, 0x06, 0x02, 0x3b,
- 0x86, 0x36, 0x02, 0x74, 0x0d, 0x89, 0x86, 0x36, 0x02, 0x81, 0xa6, 0x36, 0x02, 0x7f, 0xdf, 0xe8,
- 0x42, 0x38, 0x58, 0xc3, 0x57, 0x56, 0x50, 0x8b, 0x86, 0xda, 0x02, 0xa9, 0xff, 0xff, 0x74, 0x40,
- 0x8d, 0xbe, 0xd0, 0x02, 0x8d, 0xb6, 0x96, 0x05, 0xb9, 0x0a, 0x00, 0x83, 0xf9, 0x05, 0x75, 0x04,
- 0x8d, 0xb6, 0x9e, 0x05, 0xa9, 0x01, 0x00, 0x74, 0x1e, 0x80, 0x3d, 0xff, 0x74, 0x12, 0xfe, 0x05,
- 0x80, 0x3d, 0xff, 0x75, 0x0b, 0x81, 0x8e, 0x06, 0x02, 0x80, 0x00, 0xc6, 0x86, 0x85, 0x02, 0x01,
- 0x80, 0x3c, 0xff, 0x74, 0x02, 0xfe, 0x04, 0xd1, 0xe8, 0x47, 0x46, 0xe2, 0xce, 0xe8, 0x0a, 0x00,
- 0xc7, 0x86, 0xda, 0x02, 0x00, 0x00, 0x58, 0x5e, 0x5f, 0xc3, 0xf6, 0x86, 0x56, 0x02, 0x01, 0x75,
- 0x27, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x74, 0x19, 0xc6,
- 0x86, 0x56, 0x02, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x75, 0x0c, 0xbe, 0x5b, 0x45, 0xe8,
- 0xb8, 0x03, 0xc7, 0x86, 0xb6, 0x02, 0x04, 0x00, 0xc3, 0xf7, 0x86, 0x58, 0x15, 0x00, 0x80, 0x75,
- 0x02, 0xeb, 0x26, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e, 0x01, 0x74, 0x1c, 0x46, 0x83, 0xe6,
- 0x07, 0x89, 0xb6, 0x60, 0x01, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6, 0x3e, 0x01, 0x03,
- 0xf1, 0x8b, 0x04, 0x8b, 0x54, 0x02, 0xe9, 0x32, 0x38, 0xc3, 0xbb, 0x00, 0x03, 0x83, 0x7f, 0x12,
- 0x00, 0x74, 0x08, 0xe8, 0xad, 0x37, 0xc7, 0x47, 0x12, 0x00, 0x00, 0xc3, 0x53, 0x50, 0x33, 0xc0,
- 0x88, 0x86, 0xcb, 0x01, 0xa3, 0x2e, 0x56, 0xbb, 0x30, 0x56, 0x89, 0x1e, 0x26, 0x56, 0x89, 0x07,
- 0x89, 0x47, 0x02, 0x89, 0x47, 0x04, 0xa3, 0x28, 0x56, 0xa3, 0x2a, 0x56, 0xa3, 0x2c, 0x56, 0x58,
- 0x5b, 0xc3, 0x50, 0x8a, 0xe0, 0xe4, 0x12, 0xf6, 0xd4, 0x22, 0xc4, 0xe6, 0x12, 0x58, 0xc3, 0xc6,
- 0x46, 0x06, 0x00, 0xc6, 0x46, 0x07, 0x00, 0xc6, 0x46, 0x08, 0x00, 0xc6, 0x46, 0x09, 0x00, 0xc6,
- 0x86, 0x6c, 0x15, 0x80, 0x8d, 0xbe, 0x0a, 0x03, 0x8c, 0xd8, 0x8e, 0xc0, 0xab, 0xab, 0xab, 0xc3,
- 0x51, 0x53, 0xb9, 0x10, 0x00, 0xd1, 0xe0, 0xd1, 0xdb, 0xe2, 0xfa, 0x8b, 0xc3, 0x86, 0xc4, 0x5b,
- 0x59, 0xc3, 0x50, 0x53, 0x51, 0x52, 0x57, 0x56, 0x8d, 0x1e, 0x66, 0x05, 0xb8, 0x40, 0x60, 0x8e,
- 0xc0, 0xff, 0x06, 0x4e, 0x00, 0xc7, 0x06, 0xe4, 0x54, 0x00, 0x00, 0xc6, 0x06, 0xe8, 0x54, 0x00,
- 0xc7, 0x06, 0xec, 0x54, 0x20, 0x00, 0xbb, 0xfe, 0x0c, 0x8b, 0x07, 0x81, 0xc3, 0x00, 0x80, 0x3b,
- 0x07, 0x74, 0x06, 0xc7, 0x06, 0xec, 0x54, 0x40, 0x00, 0x8d, 0x3e, 0xe6, 0x54, 0xb8, 0x40, 0x5d,
- 0x89, 0x05, 0x06, 0x33, 0xc0, 0x8e, 0xc0, 0xa3, 0xc8, 0x54, 0xa3, 0xca, 0x54, 0xa3, 0xcc, 0x54,
- 0x8d, 0x3e, 0xdc, 0x54, 0xb9, 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x8d, 0x3e, 0xe0, 0x54, 0xb9,
- 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x07, 0x8b, 0xd4, 0xb9, 0x01, 0x00, 0xbb, 0x00, 0x00, 0xbd,
- 0x40, 0x5d, 0x88, 0x5e, 0x00, 0x8b, 0xc3, 0xd1, 0xe0, 0xd1, 0xe0, 0x05, 0x40, 0x60, 0x89, 0x46,
- 0x02, 0xe8, 0xb0, 0xfc, 0xe8, 0xe2, 0x00, 0x8b, 0xc5, 0x05, 0x4e, 0x08, 0x89, 0x86, 0x50, 0x08,
- 0x83, 0xc0, 0x02, 0x8b, 0xe0, 0x68, 0xfa, 0x05, 0x81, 0xc5, 0xec, 0x16, 0x43, 0xe2, 0xd3, 0x8b,
- 0xe2, 0x33, 0xed, 0x5e, 0x5f, 0x5a, 0x59, 0x5b, 0x58, 0xc3, 0x3e, 0x89, 0xa6, 0x50, 0x08, 0x33,
- 0xed, 0xbc, 0x1c, 0x56, 0xfa, 0x83, 0x0e, 0xe0, 0x54, 0x00, 0x74, 0x0d, 0x8b, 0x36, 0xe0, 0x54,
- 0x8b, 0x4c, 0x04, 0xe8, 0xea, 0x03, 0xfb, 0xff, 0xd1, 0xfb, 0x32, 0xff, 0x8a, 0x1e, 0xe4, 0x54,
- 0x80, 0x8f, 0xea, 0x54, 0x00, 0x75, 0x21, 0xd1, 0xe3, 0x8b, 0xaf, 0xe6, 0x54, 0x81, 0xbe, 0x4e,
- 0x06, 0xa5, 0xa5, 0x74, 0x0c, 0xd1, 0xeb, 0xc6, 0x87, 0xea, 0x54, 0x01, 0xe8, 0x21, 0x06, 0xeb,
- 0x07, 0x8b, 0x86, 0x50, 0x08, 0x8b, 0xe0, 0xc3, 0xeb, 0xb5, 0xeb, 0xae, 0x60, 0x9c, 0xe8, 0xa9,
- 0xff, 0x0e, 0xe8, 0x02, 0x00, 0xeb, 0x01, 0xcf, 0x61, 0xc3, 0x50, 0xfa, 0x8b, 0x76, 0x1a, 0xf7,
- 0xc6, 0xff, 0xff, 0x74, 0x10, 0x8b, 0x04, 0x89, 0x46, 0x1a, 0x0b, 0xc0, 0x75, 0x03, 0x89, 0x46,
- 0x1c, 0xc7, 0x04, 0x00, 0x00, 0xfb, 0x58, 0xc3, 0x53, 0xfa, 0xc7, 0x04, 0x00, 0x00, 0x8b, 0x5d,
- 0x02, 0x89, 0x37, 0x89, 0x75, 0x02, 0x83, 0x3d, 0x00, 0x75, 0x02, 0x89, 0x35, 0xfb, 0x5b, 0xc3,
- 0x50, 0xfa, 0x8b, 0x35, 0x8b, 0x04, 0x89, 0x05, 0x0b, 0xc0, 0x75, 0x03, 0x89, 0x45, 0x02, 0xfb,
- 0x58, 0xc3, 0x50, 0xfa, 0x8b, 0x46, 0x1a, 0x89, 0x04, 0x89, 0x76, 0x1a, 0xf7, 0x46, 0x1a, 0xff,
- 0xff, 0x75, 0x03, 0x89, 0x76, 0x1a, 0xfb, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x8b, 0xc5, 0x83, 0xc0,
- 0x1e, 0x89, 0x46, 0x1a, 0x83, 0xc0, 0x48, 0x89, 0x46, 0x1c, 0xb9, 0x09, 0x00, 0x8b, 0xdd, 0x8b,
- 0xc5, 0x83, 0xc0, 0x26, 0x89, 0x47, 0x1e, 0x83, 0xc3, 0x08, 0x83, 0xc0, 0x08, 0xe2, 0xf5, 0x59,
- 0x5b, 0x58, 0xc3, 0x90, 0x60, 0x06, 0x1e, 0xfa, 0x33, 0xdb, 0x8e, 0xdb, 0x83, 0x06, 0xc8, 0x54,
- 0x01, 0x73, 0x04, 0x11, 0x1e, 0xca, 0x54, 0xb9, 0x01, 0x00, 0x8b, 0xaf, 0xe6, 0x54, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x75, 0x03, 0xe8, 0x80, 0x3e, 0xf7, 0x06, 0xc8, 0x54, 0x07, 0x00, 0x74, 0x10,
- 0x80, 0xbe, 0x2d, 0x01, 0x01, 0x75, 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x01,
- 0xf7, 0x86, 0xa3, 0x02, 0x01, 0x00, 0x74, 0x30, 0xfe, 0x86, 0x6b, 0x01, 0x80, 0xbe, 0x6b, 0x01,
- 0x02, 0x73, 0x02, 0xeb, 0x23, 0xc6, 0x86, 0x6b, 0x01, 0x00, 0xf7, 0x86, 0x1c, 0x01, 0x01, 0x00,
- 0x75, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0x32, 0xfe, 0x81, 0xa6, 0x18, 0x01,
- 0x32, 0xfe, 0xc7, 0x86, 0xa3, 0x02, 0x00, 0x00, 0xc6, 0x86, 0x6a, 0x01, 0x00, 0x8e, 0x46, 0x02,
- 0x26, 0xa1, 0x08, 0x00, 0x25, 0x00, 0x02, 0x74, 0x03, 0xe8, 0x23, 0x12, 0xf6, 0x86, 0x54, 0x02,
- 0x01, 0x74, 0x03, 0xe8, 0x36, 0x3e, 0x8b, 0x86, 0xf6, 0x00, 0x25, 0xd0, 0xe5, 0x89, 0x86, 0x2c,
- 0x02, 0x8a, 0x46, 0x08, 0x3c, 0x06, 0x74, 0x08, 0x3c, 0x0a, 0x74, 0x04, 0x3c, 0x18, 0x75, 0x04,
- 0xff, 0x86, 0x46, 0x02, 0x83, 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0x5d, 0xff, 0xf7, 0x06, 0xdc,
- 0x54, 0xff, 0xff, 0x74, 0x1f, 0xff, 0x0e, 0xcc, 0x54, 0x75, 0x19, 0xe8, 0x14, 0x02, 0x8b, 0x1e,
- 0xdc, 0x54, 0x0b, 0xdb, 0x74, 0x0e, 0x8b, 0x47, 0x08, 0xa3, 0xcc, 0x54, 0xf7, 0x06, 0xcc, 0x54,
- 0xff, 0xff, 0x74, 0xe7, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x1f, 0x07, 0x61, 0xcf, 0x60, 0x06,
- 0x1e, 0xfa, 0x8d, 0x36, 0xd0, 0x54, 0x83, 0x04, 0x01, 0x83, 0x54, 0x02, 0x00, 0xe8, 0xae, 0x41,
- 0xa0, 0xce, 0x54, 0xfe, 0xc0, 0x3c, 0x04, 0x72, 0x08, 0xc6, 0x06, 0xce, 0x54, 0x00, 0xe9, 0xf7,
- 0xfe, 0xa2, 0xce, 0x54, 0xeb, 0xce, 0x50, 0x57, 0x56, 0xfa, 0x8d, 0x36, 0xd4, 0x54, 0x83, 0x04,
- 0x01, 0x83, 0x54, 0x02, 0x00, 0x80, 0x3e, 0x1e, 0x56, 0x01, 0x75, 0x0d, 0x8b, 0x36, 0x20, 0x56,
- 0x83, 0xfe, 0x14, 0x77, 0x0e, 0xff, 0x94, 0x50, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x5e,
- 0x5f, 0x58, 0xcf, 0xe8, 0x5c, 0x44, 0xeb, 0xf1, 0x57, 0x56, 0x50, 0xfa, 0x8d, 0x36, 0xd8, 0x54,
- 0x83, 0x04, 0x01, 0x83, 0x54, 0x02, 0x00, 0x80, 0x3e, 0x1e, 0x56, 0x01, 0x75, 0x0d, 0x8b, 0x36,
- 0x20, 0x56, 0x83, 0xfe, 0x14, 0x77, 0x0e, 0xff, 0x94, 0x50, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10,
- 0x58, 0x58, 0x5e, 0x5f, 0xcf, 0xe8, 0x2a, 0x44, 0xeb, 0xf1, 0x50, 0x53, 0x51, 0x57, 0xe8, 0xab,
- 0x00, 0xfa, 0x8b, 0x3c, 0x03, 0xfd, 0x89, 0x6d, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x45, 0x04, 0x8b,
- 0x44, 0x04, 0x89, 0x45, 0x06, 0x0b, 0xc0, 0x75, 0x0e, 0x8b, 0x86, 0x08, 0x02, 0x0b, 0xc0, 0x75,
- 0x03, 0xb8, 0xc8, 0x00, 0x89, 0x45, 0x06, 0xf7, 0x06, 0xdc, 0x54, 0xff, 0xff, 0x75, 0x14, 0x89,
- 0x3e, 0xdc, 0x54, 0x89, 0x3e, 0xde, 0x54, 0xc7, 0x05, 0x00, 0x00, 0x89, 0x45, 0x08, 0xa3, 0xcc,
- 0x54, 0xeb, 0x63, 0x8b, 0x3e, 0xdc, 0x54, 0x8b, 0x0e, 0xcc, 0x54, 0x33, 0xdb, 0x3b, 0xc8, 0x72,
- 0x35, 0x0b, 0xdb, 0x75, 0x17, 0x2b, 0xc8, 0x89, 0x4d, 0x08, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44,
- 0x08, 0x89, 0x3c, 0x89, 0x36, 0xdc, 0x54, 0xa3, 0xcc, 0x54, 0xeb, 0x3a, 0x2b, 0x4d, 0x08, 0x2b,
- 0xc1, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x8b, 0x4d, 0x08, 0x2b, 0xc8, 0x89, 0x4d, 0x08,
- 0x89, 0x37, 0x89, 0x3c, 0xeb, 0x20, 0x8b, 0xdf, 0x8b, 0x3d, 0x0b, 0xff, 0x74, 0x05, 0x03, 0x4d,
- 0x08, 0xeb, 0xba, 0x2b, 0xc1, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x89, 0x37, 0xc7, 0x04,
- 0x00, 0x00, 0x89, 0x36, 0xde, 0x54, 0xfb, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x57, 0x53, 0x50, 0x56,
- 0xfa, 0x8b, 0x1e, 0xdc, 0x54, 0x33, 0xff, 0x8b, 0x34, 0x03, 0xf5, 0x83, 0x7c, 0x02, 0xff, 0x74,
- 0x4b, 0x3b, 0xde, 0x75, 0x49, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x07, 0x89, 0x05, 0x0b, 0xc0, 0x75,
- 0x06, 0x89, 0x3e, 0xde, 0x54, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x8b, 0xf8, 0x01, 0x4d, 0x08, 0xeb,
- 0x22, 0x8b, 0x3f, 0x89, 0x3e, 0xdc, 0x54, 0x0b, 0xff, 0x75, 0x0c, 0x89, 0x3e, 0xde, 0x54, 0xc7,
- 0x06, 0xcc, 0x54, 0xff, 0xff, 0xeb, 0x0c, 0xa1, 0xcc, 0x54, 0x01, 0x45, 0x08, 0x8b, 0x45, 0x08,
- 0xa3, 0xcc, 0x54, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0xeb, 0x4e, 0x83, 0xcb,
- 0x00, 0x74, 0x06, 0x8b, 0xfb, 0x8b, 0x1f, 0xeb, 0xa8, 0x83, 0xfd, 0x00, 0x75, 0x05, 0xbb, 0xe0,
- 0x54, 0xeb, 0x04, 0x8d, 0x9e, 0xf0, 0x00, 0x8b, 0x1f, 0x83, 0xfb, 0x00, 0x74, 0x2e, 0x3b, 0xde,
- 0x75, 0x05, 0xe8, 0x6b, 0x00, 0xeb, 0x25, 0x8b, 0xfb, 0x8b, 0x1f, 0x83, 0xcb, 0x00, 0x74, 0x1c,
- 0x3b, 0xde, 0x75, 0xf3, 0x8b, 0x07, 0x89, 0x05, 0x83, 0xc8, 0x00, 0x75, 0x04, 0x89, 0xbe, 0xf2,
- 0x00, 0xc7, 0x07, 0x00, 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0xfb, 0x5e, 0x58, 0x5b,
- 0x5f, 0xc3, 0x50, 0x53, 0x56, 0x55, 0x8b, 0x1e, 0xdc, 0x54, 0x8b, 0x6f, 0x02, 0x0b, 0xed, 0x74,
- 0x06, 0x81, 0xc5, 0xf0, 0x00, 0xeb, 0x03, 0xbd, 0xe0, 0x54, 0x8b, 0x76, 0x02, 0x8b, 0x07, 0xa3,
- 0xdc, 0x54, 0x0b, 0xc0, 0x75, 0x03, 0xa3, 0xde, 0x54, 0x89, 0x5e, 0x02, 0x89, 0x1c, 0xc7, 0x07,
- 0x00, 0x00, 0x83, 0x4e, 0x00, 0x00, 0x75, 0x03, 0x89, 0x5e, 0x00, 0x5d, 0x5e, 0x5b, 0x58, 0xc3,
- 0x55, 0x53, 0x50, 0x0b, 0xed, 0x74, 0x06, 0x81, 0xc5, 0xf0, 0x00, 0xeb, 0x03, 0xbd, 0xe0, 0x54,
- 0x8b, 0x5e, 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0x8b, 0x07, 0xc7, 0x07, 0x00, 0x00, 0x8b, 0xd8,
- 0x89, 0x5e, 0x00, 0x0b, 0xdb, 0x75, 0x03, 0x89, 0x5e, 0x02, 0x58, 0x5b, 0x5d, 0xc3, 0x50, 0x53,
- 0x51, 0x57, 0x56, 0xfa, 0x8b, 0x1e, 0xdc, 0x54, 0x33, 0xff, 0x83, 0xcb, 0x00, 0x74, 0x54, 0x8b,
- 0xc3, 0x39, 0x6f, 0x02, 0x75, 0x47, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x37, 0x89, 0x35, 0x8b, 0xc7,
- 0x0b, 0xf6, 0x75, 0x06, 0x89, 0x3e, 0xde, 0x54, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x01, 0x4c, 0x08,
- 0xeb, 0x24, 0x8b, 0x37, 0x89, 0x36, 0xdc, 0x54, 0x0b, 0xf6, 0x75, 0x0c, 0x89, 0x36, 0xde, 0x54,
- 0xc7, 0x06, 0xcc, 0x54, 0xff, 0xff, 0xeb, 0x0e, 0xa1, 0xcc, 0x54, 0x01, 0x44, 0x08, 0x8b, 0x44,
- 0x08, 0xa3, 0xcc, 0x54, 0x33, 0xc0, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0x8b, 0xf8, 0x8b,
- 0x1f, 0xeb, 0xa7, 0xfb, 0x5e, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x52, 0x8a, 0x8e,
- 0xa8, 0x02, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x00, 0x00, 0x8b, 0xd8, 0xf7, 0x86, 0xf6, 0x00, 0x00,
- 0x01, 0x74, 0x10, 0x83, 0xe0, 0xfd, 0xc6, 0x86, 0x79, 0x02, 0x01, 0x25, 0xff, 0x1f, 0x0d, 0x00,
- 0x80, 0xeb, 0x0e, 0x25, 0xff, 0x1f, 0x0d, 0x00, 0x20, 0x83, 0xc8, 0x02, 0xc6, 0x86, 0x79, 0x02,
- 0x00, 0xe8, 0x5c, 0x02, 0x0d, 0x00, 0x08, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x03, 0x25, 0xff,
- 0xf7, 0x33, 0xd8, 0x74, 0x04, 0x26, 0xa3, 0x00, 0x00, 0x26, 0xa1, 0x0c, 0x00, 0x8b, 0xd8, 0xf7,
- 0x86, 0x12, 0x01, 0x10, 0x00, 0x74, 0x05, 0x0d, 0x00, 0x10, 0xeb, 0x03, 0x25, 0xff, 0xef, 0x8a,
- 0xae, 0x69, 0x02, 0x80, 0xf9, 0x01, 0x75, 0x04, 0x8a, 0xae, 0x6a, 0x02, 0xf6, 0xc5, 0x01, 0x74,
- 0x05, 0x83, 0xc8, 0x10, 0xeb, 0x03, 0x83, 0xe0, 0xef, 0xf6, 0x86, 0x6b, 0x02, 0x01, 0x74, 0x0a,
- 0x83, 0xc8, 0x20, 0xc6, 0x86, 0x7a, 0x02, 0x00, 0xeb, 0x08, 0x83, 0xe0, 0xdf, 0xc6, 0x86, 0x7a,
- 0x02, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x0a, 0xc6, 0x86, 0x7a, 0x02, 0x00, 0x83, 0xc8,
- 0x40, 0xeb, 0x03, 0x83, 0xe0, 0xbf, 0xf6, 0x86, 0x79, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x80, 0x00,
- 0xeb, 0x03, 0x25, 0x7f, 0xff, 0xf6, 0x86, 0x78, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x01, 0xeb,
- 0x03, 0x25, 0xff, 0xfe, 0xf6, 0x86, 0x7a, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x20, 0xeb, 0x03,
- 0x25, 0xff, 0xdf, 0x33, 0xd8, 0x74, 0x12, 0xf7, 0xc3, 0x20, 0x00, 0x74, 0x05, 0xc6, 0x06, 0xfd,
- 0x12, 0x01, 0x25, 0xff, 0xf7, 0x26, 0xa3, 0x0c, 0x00, 0x26, 0xa1, 0x10, 0x00, 0x8b, 0xd8, 0x33,
- 0xd8, 0x74, 0x04, 0x26, 0xa3, 0x10, 0x00, 0xf6, 0x06, 0xfd, 0x12, 0x01, 0x74, 0x1e, 0xc6, 0x06,
- 0xfd, 0x12, 0x00, 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x90, 0x90, 0x26, 0x81, 0x0e, 0x00,
- 0x00, 0x80, 0x00, 0x90, 0x90, 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x5a, 0x59, 0x5b, 0x58,
- 0xc3, 0x00, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x74, 0x0b, 0xc6, 0x06, 0x1e,
- 0x56, 0x01, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x02, 0xc6, 0x86, 0xab, 0x02, 0x00, 0xc6, 0x86, 0xac,
- 0x02, 0x00, 0x81, 0xa6, 0xf6, 0x00, 0xff, 0xfb, 0xa8, 0x01, 0x74, 0x19, 0x81, 0x8e, 0xf6, 0x00,
- 0x00, 0x04, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x20, 0x26, 0x83, 0x26, 0x02, 0x00, 0xef, 0xc6, 0x86,
- 0xac, 0x02, 0x01, 0xeb, 0x4d, 0xa8, 0x02, 0x74, 0x1f, 0x26, 0x83, 0x26, 0x02, 0x00, 0xcf, 0xf7,
- 0x86, 0xf4, 0x00, 0x04, 0x00, 0x75, 0x0d, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x05, 0xc6,
- 0x86, 0xab, 0x02, 0x01, 0xb0, 0x02, 0xeb, 0x2a, 0xa8, 0x04, 0x74, 0x0e, 0x26, 0x83, 0x0e, 0x02,
- 0x00, 0x20, 0x26, 0x83, 0x26, 0x02, 0x00, 0xef, 0xeb, 0x18, 0xa8, 0x08, 0x74, 0x08, 0x26, 0x83,
- 0x0e, 0x02, 0x00, 0x30, 0xeb, 0x0c, 0xa8, 0x10, 0x74, 0x08, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x30,
- 0xeb, 0x00, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x74, 0x06, 0x26, 0x83, 0x26, 0x02, 0x00, 0xcf, 0xc3,
- 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x00, 0x01, 0x90, 0x90, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x0c, 0x00, 0xff, 0xfe, 0xc3, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01,
- 0x75, 0x0f, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x75, 0x10, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x02, 0xeb,
- 0x08, 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xe8, 0x3e, 0x3f, 0xc3, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4,
- 0x00, 0x02, 0x00, 0x74, 0x09, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0xef, 0xeb, 0x07, 0x26, 0x81,
- 0x0e, 0x02, 0x00, 0x00, 0x10, 0xc3, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74,
- 0x09, 0x26, 0x81, 0x0e, 0x02, 0x00, 0x00, 0x10, 0xeb, 0x07, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff,
- 0xef, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x02, 0x00, 0x00, 0x80, 0xc3, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0x7f, 0xc3, 0xf7, 0x86, 0xf4, 0x00, 0x08, 0x00, 0x74, 0x13,
- 0xe8, 0xdf, 0xff, 0xeb, 0x3a, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x1e, 0x80, 0x7e, 0x06, 0x48, 0x74,
- 0x24, 0xeb, 0x2c, 0xe8, 0xd7, 0xff, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00, 0x75,
- 0xe4, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x01, 0x75, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x02,
- 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0xbf, 0xc3,
- 0x83, 0xe0, 0xf7, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x04, 0x74, 0x03, 0x83, 0xc8, 0x08, 0xc3, 0x90,
- 0xe8, 0x19, 0xf3, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc6, 0x86, 0x78, 0x02, 0x00, 0xe8, 0x3c, 0xfd, 0x8e, 0x46,
- 0x02, 0x26, 0xc7, 0x06, 0x10, 0x00, 0x04, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00,
- 0x04, 0x33, 0xc0, 0x88, 0x86, 0x88, 0x02, 0x88, 0x86, 0x89, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01,
- 0xc7, 0x86, 0x64, 0x01, 0xf6, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xbe, 0xbb, 0x45, 0xe8, 0xc9,
- 0xfa, 0xbe, 0xb5, 0x45, 0xe8, 0xc3, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0x32,
- 0xfe, 0xc3, 0xc6, 0x86, 0x63, 0x01, 0x00, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0d, 0xe8, 0xab,
- 0xf2, 0xe8, 0x53, 0x2c, 0xc6, 0x46, 0x07, 0x00, 0xe9, 0xa7, 0x00, 0xbe, 0x6d, 0x45, 0xe8, 0x4b,
- 0xfb, 0xbe, 0xb5, 0x45, 0xe8, 0x45, 0xfb, 0xc6, 0x86, 0x88, 0x02, 0x01, 0x80, 0x7e, 0x06, 0x02,
- 0x74, 0x08, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x09, 0xeb, 0x0d, 0xc6, 0x46, 0x07, 0x04, 0xe9, 0x81,
- 0x00, 0xc6, 0x46, 0x07, 0x46, 0xeb, 0x7b, 0x80, 0x7e, 0x08, 0x08, 0x75, 0xf8, 0xc6, 0x86, 0x81,
- 0x02, 0x01, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xc6, 0x86, 0x5c, 0x02,
- 0x00, 0xc6, 0x86, 0x5f, 0x02, 0x01, 0xc6, 0x86, 0x68, 0x02, 0x01, 0xc6, 0x86, 0x6c, 0x02, 0x01,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x17, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x2c, 0xc6, 0x46,
- 0x09, 0x0a, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x01, 0xeb, 0x1c, 0xf6, 0x86,
- 0x59, 0x02, 0x01, 0x74, 0x15, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x0e, 0xc6, 0x46, 0x09, 0x06,
- 0xc6, 0x86, 0x58, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x4d, 0xfc, 0xe8, 0x28, 0xfe,
- 0xbe, 0x9d, 0x45, 0xe8, 0x04, 0xfa, 0xbe, 0x61, 0x45, 0xe8, 0xfe, 0xf9, 0xbe, 0xa3, 0x45, 0xe8,
- 0xf8, 0xf9, 0xc3, 0x90, 0xc6, 0x46, 0x09, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00,
- 0x32, 0xfe, 0xbe, 0xc1, 0x45, 0xe8, 0xe2, 0xf9, 0xc7, 0x86, 0xc4, 0x01, 0x14, 0x00, 0xc7, 0x86,
- 0xc2, 0x02, 0x00, 0x00, 0xbe, 0xa9, 0x45, 0xe8, 0xd0, 0xf9, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6,
- 0x86, 0x6b, 0x02, 0x00, 0xc6, 0x86, 0x68, 0x02, 0x01, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xe8, 0xf9,
- 0xfb, 0xbe, 0x67, 0x45, 0xe8, 0xb3, 0xf9, 0xbe, 0x9d, 0x45, 0xe8, 0xad, 0xf9, 0x33, 0xc0, 0x89,
- 0x86, 0xee, 0x01, 0x89, 0x86, 0xf0, 0x01, 0x89, 0x86, 0xf2, 0x01, 0xf6, 0x06, 0x1e, 0x56, 0x01,
- 0x74, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0xff, 0xf7, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x20, 0x74, 0x10, 0xbe, 0xa3, 0x45, 0xe8, 0x80, 0xf9, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xc6,
- 0x86, 0x5c, 0x02, 0x00, 0xe8, 0x91, 0xfd, 0xc3, 0xc3, 0x90, 0xc6, 0x86, 0x57, 0x02, 0x01, 0xc7,
- 0x86, 0xc4, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc6, 0x02, 0x00, 0x00, 0xbe, 0x67, 0x45, 0xe8, 0x59,
- 0xf9, 0xe8, 0xc0, 0x12, 0xc3, 0x90, 0xc6, 0x86, 0x5b, 0x02, 0x01, 0xf6, 0x86, 0x84, 0x02, 0x01,
- 0x74, 0x08, 0xe8, 0xb1, 0x14, 0xc6, 0x86, 0x84, 0x02, 0x00, 0xbe, 0x67, 0x45, 0xe8, 0x3a, 0xf9,
- 0xf6, 0x86, 0x63, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x07, 0x0c, 0xc3, 0xbe, 0x67, 0x45, 0xe8,
- 0x28, 0xf9, 0xbe, 0x85, 0x45, 0xe8, 0x22, 0xf9, 0xc7, 0x86, 0xb8, 0x02, 0x01, 0x00, 0xc7, 0x86,
- 0xba, 0x02, 0x01, 0x00, 0xe8, 0xf7, 0x12, 0xc3, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00, 0xc7, 0x86,
- 0xc4, 0x01, 0x14, 0x00, 0xc6, 0x86, 0x08, 0x01, 0x00, 0x81, 0xa6, 0x06, 0x02, 0xdf, 0xbf, 0xc6,
- 0x86, 0x60, 0x02, 0x01, 0xc7, 0x86, 0x26, 0x02, 0xff, 0xff, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x20,
- 0x75, 0x18, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x10, 0xbe, 0xa3, 0x45, 0xe8, 0xda, 0xf8,
- 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xc6, 0x86, 0x5c, 0x02, 0x00, 0xbe, 0x67, 0x45, 0xe8, 0x7c, 0xf9,
- 0xb8, 0x00, 0x80, 0xe8, 0xd2, 0x2b, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x01, 0xe8,
- 0x46, 0xfd, 0xe8, 0xf5, 0xfc, 0xc6, 0x86, 0x5e, 0x02, 0x01, 0xc6, 0x86, 0xca, 0x01, 0x00, 0xf7,
- 0x86, 0xf6, 0x00, 0x04, 0x00, 0x74, 0x05, 0xc6, 0x86, 0xca, 0x01, 0x01, 0xe8, 0xaa, 0xf3, 0xf6,
- 0x86, 0x54, 0x02, 0x01, 0x75, 0x06, 0xbe, 0x73, 0x45, 0xe8, 0x8e, 0xf8, 0xff, 0x86, 0xfc, 0x00,
- 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0xc6, 0x86, 0x08, 0x01, 0x00,
- 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x46, 0x0b, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x00, 0xc6, 0x86, 0x68,
- 0x02, 0x00, 0xc6, 0x86, 0x5e, 0x02, 0x00, 0xc6, 0x86, 0x60, 0x02, 0x00, 0xc6, 0x86, 0x5b, 0x02,
- 0x00, 0xc6, 0x86, 0x63, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x00,
- 0xc6, 0x86, 0x6a, 0x02, 0x00, 0xe8, 0x82, 0xfa, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74, 0x0c, 0x83,
- 0xbe, 0x22, 0x01, 0x0e, 0x75, 0x28, 0xe8, 0x50, 0x06, 0xeb, 0x23, 0x8e, 0x46, 0x02, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d,
- 0x01, 0x01, 0xe8, 0xea, 0x3b, 0xe8, 0xe6, 0xf9, 0xbe, 0x7f, 0x45, 0xe8, 0x0c, 0xf8, 0xc3, 0x90,
- 0xc7, 0x86, 0x2e, 0x02, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0x8e,
- 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb,
- 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xb6, 0x3b, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xc7, 0x86,
- 0x22, 0x01, 0x00, 0x00, 0xe8, 0x2f, 0xfc, 0xe8, 0x53, 0xfc, 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00,
- 0x74, 0x14, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e,
- 0x02, 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0xbf,
- 0xe8, 0xa9, 0xef, 0xe8, 0x50, 0x2b, 0xc6, 0x86, 0xad, 0x02, 0x00, 0x8d, 0xbe, 0x0a, 0x03, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xab, 0xab, 0xab, 0xf6, 0x86, 0xa6, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x09,
- 0x1e, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x04, 0x00, 0xff, 0xfb, 0xf7, 0x86, 0x12, 0x01, 0x00,
- 0x02, 0x74, 0x10, 0xf7, 0x86, 0x20, 0x01, 0x80, 0x00, 0x75, 0x08, 0xbe, 0x0f, 0x46, 0xe8, 0x69,
- 0xf7, 0xeb, 0x0d, 0x8e, 0x46, 0x02, 0x33, 0xc0, 0x26, 0xa3, 0x24, 0x00, 0x26, 0xa3, 0x26, 0x00,
- 0xc3, 0x90, 0x33, 0xc0, 0x88, 0x86, 0x5b, 0x02, 0x88, 0x86, 0x5e, 0x02, 0x88, 0x86, 0x60, 0x02,
- 0x88, 0x86, 0x63, 0x02, 0x88, 0x86, 0x68, 0x02, 0xbe, 0xaf, 0x45, 0xe8, 0x3c, 0xf7, 0xc6, 0x86,
- 0xad, 0x02, 0x01, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26,
- 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xf2, 0x3a, 0xc3, 0xc7, 0x86,
- 0x2e, 0x02, 0x03, 0x00, 0xe8, 0x15, 0xef, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02,
- 0x01, 0xe8, 0x46, 0xf9, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x1e, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x04, 0xbe, 0xcd, 0x45, 0xe8, 0xed, 0xf6, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x04, 0x00, 0x32, 0xfe, 0xe8, 0x49, 0x05, 0xc3, 0x90, 0xc7, 0x86, 0x2e, 0x02,
- 0x04, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc6, 0x86, 0x6b, 0x02, 0x01,
- 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x78, 0x02, 0x00, 0xe8, 0xfd, 0xf8, 0x8e, 0x46, 0x02,
- 0x26, 0xc7, 0x06, 0x10, 0x00, 0x04, 0x00, 0x32, 0xc0, 0xe8, 0x42, 0x15, 0x33, 0xc0, 0x88, 0x86,
- 0x88, 0x02, 0x88, 0x86, 0x89, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64, 0x01, 0xf6,
- 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20,
- 0x03, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x1c, 0x00, 0x00, 0x00, 0xbe, 0x6d, 0x45, 0xe8, 0x79,
- 0xf6, 0xbe, 0xc7, 0x45, 0xe8, 0x73, 0xf6, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xe8, 0xec,
- 0x0f, 0xc3, 0xc7, 0x86, 0x2e, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xe8, 0x9a, 0xf8,
- 0xf6, 0x86, 0x6e, 0x02, 0x01, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x16, 0xc6, 0x86, 0x72, 0x02, 0x01,
- 0xbe, 0xeb, 0x45, 0xe8, 0x44, 0xf6, 0xbe, 0xf1, 0x45, 0xe8, 0x3e, 0xf6, 0xbe, 0xd9, 0x45, 0xe8,
- 0x38, 0xf6, 0xbe, 0x03, 0x46, 0xe8, 0x32, 0xf6, 0xc7, 0x86, 0xcc, 0x02, 0x01, 0x00, 0xc6, 0x86,
- 0x76, 0x02, 0x01, 0xe8, 0x7e, 0x12, 0xc3, 0x90, 0xc7, 0x86, 0x2e, 0x02, 0x07, 0x00, 0xc6, 0x86,
- 0x68, 0x02, 0x01, 0xc6, 0x86, 0x5c, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xbe, 0xa3, 0x45,
- 0xe8, 0x07, 0xf6, 0xf6, 0x86, 0x6e, 0x02, 0x01, 0x75, 0x0d, 0xc6, 0x86, 0x6e, 0x02, 0x01, 0xb8,
- 0x00, 0x80, 0xe8, 0x03, 0x29, 0xeb, 0x0a, 0x83, 0xa6, 0x06, 0x02, 0xdf, 0xc6, 0x86, 0x85, 0x02,
- 0x01, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xe8, 0x6f, 0xfa, 0xe8, 0x1e, 0xfa, 0xf6, 0x06, 0x1e, 0x56,
- 0x01, 0x74, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0xff, 0xf7, 0xe8, 0xe8, 0xf9,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x01, 0xe8, 0xcd, 0xf0, 0xc7, 0x86, 0xc4, 0x01,
- 0x14, 0x00, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00, 0xbe, 0xa9, 0x45, 0xe8, 0xac, 0xf5, 0xc3, 0x90,
- 0xc7, 0x86, 0x32, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xc2, 0x01, 0xff, 0xff, 0xc7, 0x86, 0xc2, 0x02,
- 0x00, 0x00, 0xc7, 0x86, 0xc4, 0x01, 0x14, 0x00, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x44, 0x32, 0xc0,
- 0xe8, 0x1b, 0x14, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x02, 0xeb, 0x37, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x0c, 0x00, 0x01, 0x83, 0xa6, 0x06, 0x02, 0xdf, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86,
- 0x5b, 0x02, 0x01, 0x74, 0x1d, 0xf6, 0x86, 0x66, 0x02, 0x01, 0x74, 0x16, 0xf6, 0x86, 0x63, 0x02,
- 0x01, 0x75, 0x0f, 0xc6, 0x86, 0x63, 0x02, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x03, 0xe8,
- 0x87, 0x0e, 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc7, 0x86, 0x32,
- 0x02, 0x02, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xe8, 0x6f, 0xf7, 0xe8, 0x33, 0xf9, 0xbe, 0x8b,
- 0x45, 0xe8, 0x26, 0xf5, 0xe8, 0x1d, 0x0e, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00,
- 0xfe, 0xc7, 0x86, 0x32, 0x02, 0x03, 0x00, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc4,
- 0x01, 0x0a, 0x00, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x0f, 0xc6, 0x86, 0x54, 0x02, 0x00, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x5a, 0x02, 0x00, 0xc6, 0x86,
- 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x1f, 0xf7, 0x81, 0xa6, 0x06, 0x02, 0xff,
- 0x2f, 0x83, 0x8e, 0x06, 0x02, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xbe, 0x55, 0x45, 0xe8, 0xc9,
- 0xf4, 0xbe, 0x79, 0x45, 0xe8, 0xc3, 0xf4, 0xc7, 0x86, 0xb2, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xb4,
- 0x02, 0x01, 0x00, 0xe8, 0x5d, 0x0d, 0xc3, 0x90, 0xff, 0x86, 0x44, 0x02, 0x8e, 0x46, 0x02, 0x26,
- 0x83, 0x26, 0x0c, 0x00, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x04, 0xf6, 0x86,
- 0x5f, 0x02, 0x01, 0x75, 0x03, 0xe8, 0x03, 0x0d, 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x0c, 0x00, 0xfe, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x75, 0x26, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xc6,
- 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0xae, 0xf6, 0xe8, 0x3f, 0xf6, 0xbe,
- 0x7f, 0x45, 0xe8, 0x65, 0xf4, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0xeb, 0x60,
- 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x75, 0x54, 0xe8, 0x1f, 0xf6, 0xe8,
- 0x27, 0xed, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xbe, 0x7f, 0x45, 0xe8,
- 0x38, 0xf4, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02,
- 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xf3, 0x37, 0x8e, 0x46, 0x02, 0x26,
- 0xc7, 0x06, 0x10, 0x00, 0x04, 0x00, 0x33, 0xc0, 0x88, 0x86, 0x88, 0x02, 0x88, 0x86, 0x89, 0x02,
- 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64, 0x01, 0xf6, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02,
- 0xc3, 0x90, 0xff, 0x86, 0x44, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0x8e,
- 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x04, 0xc7, 0x86, 0xae, 0x02, 0x02, 0x00, 0xc7, 0x86,
- 0xb0, 0x02, 0x08, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24,
- 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0xfa, 0xf5,
- 0xf6, 0x86, 0x81, 0x02, 0x01, 0x75, 0x06, 0xbe, 0x49, 0x45, 0xe8, 0xad, 0xf3, 0x81, 0xa6, 0x06,
- 0x02, 0xff, 0x6f, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x40, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc3, 0x90,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0x83, 0xbe, 0xc6, 0x01, 0x00, 0x74, 0x0d,
- 0x8b, 0x86, 0xc6, 0x01, 0xc7, 0x86, 0xc6, 0x01, 0x00, 0x00, 0xe8, 0x44, 0x0f, 0xbe, 0x55, 0x45,
- 0xe8, 0x77, 0xf3, 0xc3, 0xc7, 0x86, 0x32, 0x02, 0x01, 0x00, 0xc7, 0x86, 0x30, 0x02, 0x02, 0x00,
- 0x32, 0xc0, 0xe8, 0xf9, 0x11, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x0c, 0x00, 0x01, 0xc3, 0x90, 0xc7, 0x86, 0x30, 0x02, 0x03, 0x00, 0xff, 0x86, 0x44, 0x02,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xc6, 0x86,
- 0x72, 0x02, 0x00, 0xbe, 0xd3, 0x45, 0xe8, 0x31, 0xf3, 0xbe, 0xdf, 0x45, 0xe8, 0x2b, 0xf3, 0xbe,
- 0xf7, 0x45, 0xe8, 0x25, 0xf3, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x5d, 0xf5, 0x81, 0x8e, 0x06,
- 0x02, 0x04, 0x50, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x06, 0x81,
- 0x8e, 0x06, 0x02, 0x00, 0x80, 0xe8, 0x54, 0x2d, 0xe8, 0x70, 0x0b, 0xc3, 0xc7, 0x86, 0x30, 0x02,
- 0x04, 0x00, 0xbe, 0xd3, 0x45, 0xe8, 0xf2, 0xf2, 0xbe, 0xdf, 0x45, 0xe8, 0xec, 0xf2, 0x81, 0xa6,
- 0x06, 0x02, 0xfb, 0x6f, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x40, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc3,
- 0xc7, 0x86, 0x30, 0x02, 0x05, 0x00, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08,
- 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x8f, 0x36,
- 0x81, 0xa6, 0x06, 0x02, 0xfb, 0x2f, 0x83, 0x8e, 0x06, 0x02, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01,
- 0xe8, 0x0f, 0x01, 0xc3, 0xc7, 0x86, 0x30, 0x02, 0x01, 0x00, 0xc3, 0x90, 0xc3, 0x53, 0x50, 0x89,
- 0x86, 0x22, 0x01, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0f, 0x50, 0xe8, 0x8e, 0xea, 0xe8, 0x43,
- 0x24, 0xc6, 0x46, 0x07, 0x00, 0x58, 0xe9, 0x9d, 0x00, 0xf6, 0x86, 0x08, 0x01, 0x01, 0x74, 0x05,
- 0xe8, 0x85, 0x25, 0xeb, 0x57, 0x83, 0xf8, 0x10, 0x75, 0x08, 0x81, 0x8e, 0x1e, 0x01, 0x00, 0x80,
- 0xeb, 0x4a, 0x83, 0x8e, 0x1e, 0x01, 0x02, 0x8b, 0x9e, 0x06, 0x02, 0x83, 0xf8, 0x01, 0x75, 0x04,
- 0x81, 0xcb, 0x00, 0x04, 0x83, 0xf8, 0x0c, 0x75, 0x04, 0x81, 0xcb, 0x00, 0x08, 0x83, 0xf8, 0x0b,
- 0x75, 0x03, 0x83, 0xcb, 0x02, 0x83, 0xf8, 0x09, 0x75, 0x03, 0x83, 0xcb, 0x04, 0x83, 0xf8, 0x0a,
- 0x75, 0x04, 0x81, 0xcb, 0x00, 0x01, 0x83, 0xf8, 0x06, 0x75, 0x03, 0x83, 0xcb, 0x01, 0x83, 0xf8,
- 0x0f, 0x74, 0x09, 0x89, 0x9e, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x12,
- 0xc6, 0x46, 0x09, 0x1e, 0xf6, 0x86, 0xa7, 0x02, 0x01, 0x74, 0x1a, 0x8e, 0x46, 0x02, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d,
- 0x01, 0x01, 0xe8, 0xca, 0x35, 0xf6, 0x86, 0xa5, 0x02, 0x01, 0x75, 0x02, 0xeb, 0x08, 0xc6, 0x46,
- 0x07, 0x10, 0xc6, 0x46, 0x09, 0x00, 0x58, 0x5b, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x00,
- 0x00, 0x02, 0x00, 0x74, 0x0b, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x00, 0x00, 0xfd, 0xeb, 0x09,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x00, 0x00, 0x02, 0xc3, 0xc7, 0x86, 0x2e, 0x02, 0x01, 0x00,
- 0xc3, 0xb9, 0x01, 0x01, 0x38, 0xc8, 0x75, 0x19, 0x8b, 0xb6, 0xf6, 0x00, 0x81, 0xe6, 0x00, 0xc0,
- 0x81, 0xfe, 0x00, 0x80, 0x75, 0x0b, 0xc6, 0x86, 0x56, 0x02, 0x01, 0xbe, 0x5b, 0x45, 0xe8, 0x99,
- 0xf1, 0xc3, 0xc3, 0x50, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x02, 0x74, 0x06, 0x81, 0x8e, 0xf6, 0x00,
- 0x00, 0x01, 0xc6, 0x86, 0x90, 0x02, 0x01, 0xe8, 0x05, 0x00, 0xe8, 0xbd, 0xf3, 0x58, 0xc3, 0xc7,
- 0x86, 0x93, 0x02, 0x00, 0x00, 0xc7, 0x86, 0x97, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x91, 0x02, 0x00,
- 0xa1, 0xc8, 0x54, 0x89, 0x86, 0x95, 0x02, 0x40, 0x89, 0x86, 0x99, 0x02, 0xc3, 0xc6, 0x86, 0x90,
- 0x02, 0x00, 0xc6, 0x86, 0x91, 0x02, 0x00, 0xc3, 0x50, 0x53, 0xf6, 0x86, 0x91, 0x02, 0x01, 0x75,
- 0x1c, 0xa1, 0xc8, 0x54, 0x8b, 0x9e, 0x95, 0x02, 0x3b, 0xc3, 0x74, 0x11, 0x43, 0x3b, 0xc3, 0x74,
- 0x0c, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x95, 0x02, 0xc6, 0x86, 0x91, 0x02, 0x01, 0x5b, 0x58, 0xc3,
- 0xc7, 0x86, 0x93, 0x02, 0x00, 0x00, 0xa1, 0xc8, 0x54, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x95, 0x02,
- 0xc6, 0x86, 0x91, 0x02, 0x01, 0xc3, 0xa1, 0xc8, 0x54, 0x3b, 0x86, 0x99, 0x02, 0x74, 0x3b, 0x40,
- 0x3b, 0x86, 0x99, 0x02, 0x74, 0x34, 0x48, 0xf6, 0x86, 0x91, 0x02, 0x01, 0x74, 0x43, 0x3b, 0x86,
- 0x95, 0x02, 0x75, 0x3d, 0x81, 0xbe, 0x93, 0x02, 0x04, 0x01, 0x75, 0x0b, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x01, 0x75, 0x03, 0xe9, 0xa7, 0x00, 0x83, 0xbe, 0x93, 0x02, 0x04, 0x75, 0x11, 0x80, 0x7e,
- 0x06, 0x04, 0x75, 0x09, 0xe8, 0xa9, 0xff, 0xe9, 0xa6, 0x00, 0xe9, 0xa3, 0x00, 0xeb, 0x0c, 0x80,
- 0x7e, 0x06, 0x04, 0x75, 0x06, 0xe8, 0x2b, 0xff, 0xe9, 0x95, 0x00, 0xe8, 0x5f, 0xff, 0xe9, 0x8f,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x14, 0x00, 0x25, 0x24, 0x01, 0x8b, 0xd8, 0x33, 0x86, 0x93,
- 0x02, 0x75, 0x02, 0xeb, 0x7b, 0xa9, 0x04, 0x00, 0x74, 0x15, 0xe8, 0x4b, 0xff, 0xf7, 0xc3, 0x04,
- 0x00, 0x74, 0x07, 0xc6, 0x86, 0x92, 0x02, 0x01, 0xeb, 0x05, 0xc6, 0x86, 0x92, 0x02, 0x00, 0xa9,
- 0x00, 0x01, 0x74, 0x14, 0xf7, 0xc3, 0x00, 0x01, 0x74, 0x0b, 0xf7, 0xc3, 0x20, 0x00, 0x75, 0x20,
- 0xe8, 0x25, 0xff, 0xeb, 0x03, 0xe8, 0x20, 0xff, 0xa9, 0x20, 0x00, 0x74, 0x2f, 0xf7, 0xc3, 0x20,
- 0x00, 0x74, 0x36, 0xf6, 0x86, 0x91, 0x02, 0x01, 0x74, 0x32, 0xf7, 0xc3, 0x00, 0x01, 0x74, 0x2c,
- 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x02, 0x74, 0x16, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x01, 0x74, 0x0e,
- 0xe8, 0x1d, 0xff, 0x81, 0xa6, 0xf6, 0x00, 0xff, 0xfe, 0xe8, 0x7e, 0xf2, 0xeb, 0x0e, 0xe8, 0xdc,
- 0xfe, 0xb8, 0x0e, 0x00, 0xe8, 0x96, 0xfd, 0xeb, 0x03, 0xe8, 0xdc, 0xfe, 0x89, 0x9e, 0x93, 0x02,
- 0xc3, 0x90, 0x55, 0x1e, 0x06, 0x33, 0xed, 0x8e, 0xdd, 0x8b, 0x2e, 0xe6, 0x54, 0x8e, 0x46, 0x02,
- 0xeb, 0x00, 0x60, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x04, 0x00, 0x89, 0x86, 0x18, 0x01, 0xc7,
- 0x86, 0x1c, 0x01, 0x01, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x06, 0x00, 0x89, 0x86, 0x1a, 0x01,
- 0xb8, 0x07, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x06, 0x00, 0xb8, 0xff, 0xff, 0x8e, 0x46, 0x02,
- 0x26, 0xa3, 0x04, 0x00, 0xfb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x08, 0x00, 0x8b, 0xd8, 0x81, 0xe3,
- 0xff, 0xfc, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x08, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x1e,
- 0x0a, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x0a, 0x00, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58,
- 0xa9, 0x00, 0x08, 0x74, 0x0f, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x74, 0x05, 0xe8, 0x0a, 0x32, 0xeb,
- 0x03, 0xe8, 0x54, 0x2d, 0xa9, 0x00, 0x01, 0x75, 0x20, 0xf7, 0x86, 0xa3, 0x02, 0x01, 0x00, 0x75,
- 0x1f, 0xa9, 0xcd, 0x01, 0x74, 0x1a, 0x80, 0xbe, 0x6a, 0x01, 0x0a, 0x72, 0x0c, 0xc7, 0x86, 0xa3,
- 0x02, 0x01, 0x00, 0x81, 0x8e, 0x18, 0x01, 0xcd, 0x00, 0xfe, 0x86, 0x6a, 0x01, 0xe8, 0x90, 0x2e,
- 0xa9, 0x00, 0x04, 0x74, 0x29, 0xf7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x75, 0x21, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x04, 0x00, 0x00, 0x04, 0xe8, 0x60, 0xed, 0xc7, 0x44, 0x02, 0x01, 0x00, 0x89,
- 0x44, 0x04, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0x6a, 0xed, 0xa9, 0x00,
- 0x10, 0x74, 0x27, 0x80, 0xbe, 0x0c, 0x01, 0x01, 0x74, 0x20, 0xf6, 0x86, 0xb8, 0x01, 0x01, 0x75,
- 0x19, 0xe8, 0x36, 0xed, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0xc7, 0x44, 0x02, 0x03, 0x00, 0xc6,
- 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x3e, 0xed, 0xa9, 0x00, 0x20, 0x74, 0x2e, 0x80,
- 0xbe, 0x0c, 0x01, 0x01, 0x75, 0x07, 0xc6, 0x86, 0x0d, 0x01, 0x01, 0xeb, 0x20, 0xf6, 0x86, 0xb9,
- 0x01, 0x01, 0x75, 0x19, 0xe8, 0x03, 0xed, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0xc7, 0x44, 0x02,
- 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x0b, 0xed, 0xfa, 0x8b, 0x86,
- 0x18, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x04, 0x00, 0xc7, 0x86, 0x1c, 0x01, 0x00, 0x00, 0x8b,
- 0x86, 0x1a, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x06, 0x00, 0x61, 0x07, 0x1f, 0x5d, 0xcf, 0x50,
- 0x25, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x08, 0x00, 0x8b, 0x86, 0xc2, 0x02, 0x40, 0x89,
- 0x86, 0xc2, 0x02, 0x83, 0xf8, 0x01, 0x75, 0x08, 0x56, 0xbe, 0xa9, 0x45, 0xe8, 0xab, 0xee, 0x5e,
- 0x3b, 0x86, 0xc4, 0x01, 0x76, 0x0a, 0x80, 0xbe, 0x61, 0x02, 0x01, 0x74, 0x03, 0xe8, 0x95, 0x2e,
- 0x58, 0xc3, 0x8d, 0x71, 0x18, 0x8b, 0x49, 0x14, 0x86, 0xcd, 0x83, 0xe9, 0x04, 0x7e, 0x1b, 0x33,
- 0xc0, 0x03, 0xf0, 0x8a, 0x04, 0x0a, 0xc0, 0x74, 0x11, 0x3a, 0x54, 0x01, 0x74, 0x17, 0x32, 0xe4,
- 0x3c, 0xff, 0x74, 0x0a, 0x2b, 0xc8, 0x72, 0x02, 0x77, 0xe7, 0x33, 0xc0, 0xf9, 0xc3, 0x8b, 0x44,
- 0x02, 0x86, 0xc4, 0xeb, 0xef, 0x0a, 0xe4, 0x75, 0xf1, 0x38, 0xf0, 0x75, 0xed, 0x8d, 0x74, 0x02,
- 0xf8, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0xb6, 0x52, 0x15, 0x8b, 0xbe, 0x54, 0x15, 0x47, 0xa5,
- 0xa5, 0xa5, 0x8b, 0x4f, 0x04, 0x83, 0xc1, 0x07, 0x80, 0xe1, 0xfe, 0x8b, 0xc7, 0x2b, 0xc3, 0x2b,
- 0xc8, 0x76, 0x0a, 0x81, 0xf9, 0x00, 0x01, 0x73, 0x09, 0xd1, 0xe9, 0xf3, 0xa5, 0x8b, 0x07, 0xe9,
- 0xc9, 0x01, 0xb9, 0x19, 0x00, 0xf3, 0xa5, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x74, 0x0e, 0x8b,
- 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x0f, 0xa8, 0x01, 0x75, 0x0b, 0x8b, 0xf8, 0xba, 0x80, 0x09,
- 0x68, 0x2e, 0x24, 0xe9, 0xab, 0x05, 0xe9, 0x99, 0x02, 0xc3, 0x80, 0x7f, 0x17, 0x02, 0x75, 0xf9,
- 0x50, 0x56, 0x8b, 0xb6, 0xc4, 0x05, 0x8b, 0x04, 0x5e, 0x3b, 0x86, 0xc2, 0x01, 0x74, 0x07, 0x89,
- 0x86, 0xc2, 0x01, 0x58, 0xeb, 0x3d, 0x58, 0xeb, 0x12, 0x8a, 0x4f, 0x07, 0x80, 0xe1, 0x3f, 0x74,
- 0xd8, 0x8a, 0xe9, 0x86, 0x8e, 0xfa, 0x01, 0x38, 0xcd, 0x75, 0x18, 0x57, 0x51, 0x8d, 0xbe, 0xfc,
- 0x01, 0x8d, 0x77, 0x0e, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x06, 0x59,
- 0x5f, 0xeb, 0xb6, 0x57, 0x51, 0x8d, 0xbe, 0xfc, 0x01, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3,
- 0xa5, 0x59, 0x5f, 0xeb, 0x0d, 0x8b, 0x7e, 0x04, 0x58, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00,
- 0x74, 0xf7, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x08, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x02, 0xeb, 0xe9,
- 0x50, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0x07, 0xa9, 0x00, 0x40, 0x75, 0xdc, 0x0d, 0x00, 0x40, 0x89,
- 0x07, 0xe8, 0x8a, 0x00, 0x8b, 0x4f, 0x04, 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x89, 0x7e, 0x04,
- 0x8b, 0xbe, 0xbe, 0x01, 0x3b, 0xfe, 0x72, 0x11, 0x8d, 0x86, 0x52, 0x08, 0x05, 0xff, 0x00, 0x2b,
- 0xc7, 0x3b, 0xc1, 0x7d, 0x0a, 0x8d, 0xbe, 0x52, 0x08, 0x2b, 0xf7, 0x3b, 0xf1, 0x7c, 0xa6, 0x8b,
- 0xd7, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0xf3, 0xd1, 0xe9, 0x83, 0xc7, 0x02, 0x49, 0xad,
- 0xf3, 0xa5, 0x8b, 0xcf, 0xc7, 0x05, 0x00, 0x00, 0x8b, 0xfa, 0x89, 0x4d, 0x02, 0x51, 0x8b, 0x4d,
- 0x04, 0x83, 0xe9, 0x04, 0x89, 0x4d, 0x04, 0x59, 0x89, 0x05, 0x8d, 0x86, 0x52, 0x08, 0x3b, 0xf8,
- 0x75, 0x0e, 0x8b, 0x86, 0xbc, 0x01, 0x3b, 0x86, 0xbe, 0x01, 0x75, 0x1c, 0x89, 0xbe, 0xbc, 0x01,
- 0x89, 0x8e, 0xbe, 0x01, 0x8b, 0x7e, 0x04, 0xc7, 0x86, 0xc0, 0x01, 0x00, 0x00, 0xb9, 0x40, 0x60,
- 0x8e, 0xc1, 0xe8, 0x29, 0x21, 0xe9, 0x4d, 0xff, 0x97, 0x89, 0x45, 0x02, 0xeb, 0xe2, 0x8b, 0xb6,
- 0xbc, 0x01, 0xf7, 0x86, 0xc0, 0x01, 0x01, 0x00, 0x75, 0x0f, 0x81, 0x3c, 0x00, 0x80, 0x75, 0x05,
- 0x8b, 0x74, 0x02, 0xeb, 0xf5, 0x89, 0xb6, 0xbc, 0x01, 0xc3, 0xf7, 0x07, 0x01, 0x09, 0x74, 0x03,
- 0xe9, 0x5f, 0x01, 0xf7, 0x07, 0x00, 0x10, 0x75, 0x33, 0x68, 0x42, 0x23, 0xe9, 0x9d, 0x24, 0xa8,
- 0x02, 0x74, 0x21, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x1b, 0x80, 0xbe, 0x5e, 0x02, 0x00, 0x74, 0x14,
- 0x24, 0x28, 0x3c, 0x28, 0x75, 0x0e, 0xf6, 0x47, 0x0e, 0x80, 0x75, 0x67, 0x81, 0x8e, 0xda, 0x02,
- 0x80, 0x00, 0xeb, 0x5f, 0xeb, 0x5d, 0xe9, 0x39, 0xfe, 0x90, 0xeb, 0xd3, 0xeb, 0x38, 0x8b, 0x47,
- 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x06, 0xa8, 0x01, 0x8b, 0xf8, 0x74, 0x4f, 0xe9, 0x13, 0x01, 0x50,
- 0x8b, 0x9e, 0xb2, 0x01, 0x8b, 0x07, 0xa9, 0x00, 0x20, 0x74, 0x0b, 0xff, 0x86, 0x3c, 0x02, 0x8b,
- 0x4f, 0x04, 0x01, 0x8e, 0x3e, 0x02, 0xe8, 0x81, 0x03, 0x75, 0xcb, 0xf6, 0x47, 0x07, 0x40, 0x74,
- 0x05, 0xe8, 0x9e, 0x03, 0xeb, 0x78, 0xf7, 0x86, 0xb6, 0x01, 0x00, 0x02, 0x75, 0x11, 0xa9, 0x01,
- 0x09, 0x75, 0x6b, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x65, 0x80, 0x7e, 0x07, 0x12, 0x74, 0x5f, 0xa8,
- 0x28, 0x75, 0xa7, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x75, 0xa3, 0x8b, 0x47, 0x04, 0x83, 0xf8,
- 0x12, 0x77, 0x05, 0x33, 0xc0, 0xe9, 0x7d, 0x01, 0x83, 0xe8, 0x12, 0x2b, 0xc7, 0x83, 0xf8, 0x04,
- 0x7c, 0x3e, 0x8b, 0x49, 0x16, 0x88, 0xae, 0x04, 0x02, 0x51, 0x80, 0xe1, 0xf0, 0x80, 0xf9, 0x00,
- 0x74, 0x09, 0x80, 0xf9, 0x30, 0x74, 0x04, 0x59, 0xe9, 0x97, 0x00, 0x59, 0x0b, 0xff, 0x74, 0x0f,
- 0xf6, 0xc1, 0x0f, 0x74, 0x19, 0x80, 0xf9, 0x33, 0x74, 0x14, 0x80, 0xf9, 0x03, 0x74, 0x0f, 0x86,
- 0xc4, 0x39, 0x41, 0x14, 0x86, 0xc4, 0x75, 0x02, 0xeb, 0x0e, 0xe9, 0x33, 0x01, 0x90, 0xeb, 0x72,
- 0xe9, 0x32, 0x01, 0x90, 0xe9, 0x3a, 0x01, 0x90, 0xf6, 0x86, 0x90, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0x6b, 0xfa, 0x80, 0xfd, 0x15, 0x77, 0x11, 0x80, 0xfd, 0x01, 0x74, 0xe8, 0x80, 0xfd, 0x09, 0x74,
- 0xe3, 0x80, 0xfd, 0x0a, 0x74, 0xde, 0xeb, 0x11, 0x80, 0xfd, 0x20, 0x72, 0xd7, 0x80, 0xfd, 0x29,
- 0x77, 0xd2, 0x80, 0xfd, 0x21, 0x74, 0xcd, 0xeb, 0xc5, 0x80, 0xfd, 0x10, 0x76, 0x02, 0xeb, 0x0a,
- 0x80, 0xfd, 0x0e, 0x73, 0x28, 0x80, 0xfd, 0x15, 0x77, 0x23, 0x53, 0x8b, 0xd9, 0xc1, 0xeb, 0x08,
- 0x80, 0xe1, 0x0f, 0x3a, 0x8f, 0x74, 0x04, 0x74, 0x13, 0x83, 0xfb, 0x0b, 0x74, 0x09, 0x83, 0xfb,
- 0x0c, 0x74, 0x04, 0x5b, 0xe9, 0xd3, 0x00, 0x80, 0xf9, 0x08, 0x75, 0xf7, 0x5b, 0xe9, 0x81, 0x01,
- 0x5b, 0x5f, 0x8b, 0x9e, 0xb2, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00, 0x74, 0x28, 0x80, 0x7e,
- 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x1c, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x08,
- 0x74, 0x06, 0x68, 0x62, 0x24, 0xe9, 0x61, 0xfd, 0xf7, 0x86, 0x12, 0x01, 0x80, 0x00, 0x74, 0x06,
- 0x68, 0x62, 0x24, 0xe9, 0x34, 0xfd, 0x8b, 0x5f, 0x02, 0x89, 0x9e, 0xb2, 0x01, 0x8b, 0xc3, 0x83,
- 0xe8, 0x02, 0x3b, 0x86, 0x52, 0x15, 0x77, 0x04, 0x8b, 0x86, 0x54, 0x15, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x38, 0x00, 0x80, 0xbe, 0x2d, 0x01, 0x01, 0x75, 0x1b, 0x2d, 0x00, 0x02, 0x3b, 0x86, 0x52,
- 0x15, 0x73, 0x0e, 0x53, 0x8b, 0xd8, 0x2b, 0x9e, 0x52, 0x15, 0x8b, 0x86, 0x54, 0x15, 0x2b, 0xc3,
- 0x5b, 0x26, 0xa3, 0x6c, 0x00, 0xfa, 0x8b, 0x07, 0xa9, 0x00, 0x80, 0x74, 0x17, 0xfb, 0xff, 0x86,
- 0x3c, 0x01, 0x83, 0xbe, 0x3c, 0x01, 0x05, 0x77, 0x1c, 0x8a, 0x4e, 0x09, 0x3a, 0x4e, 0x08, 0x75,
- 0x14, 0xe9, 0x62, 0xfe, 0xc6, 0x86, 0xb9, 0x01, 0x00, 0xfb, 0xc7, 0x86, 0x3c, 0x01, 0x00, 0x00,
- 0x58, 0xc3, 0xe9, 0x5d, 0xff, 0xe8, 0xc2, 0xe8, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0xe6, 0xc7, 0x44,
- 0x02, 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0xca, 0xe8, 0xeb, 0xda,
- 0xba, 0x80, 0x02, 0xeb, 0x1d, 0xba, 0x80, 0x01, 0xeb, 0x18, 0xba, 0x80, 0x04, 0xeb, 0x13, 0x5f,
- 0x5b, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x10, 0x74, 0x06, 0x68, 0x62, 0x24, 0xe9, 0xeb, 0xfc, 0xba,
- 0x80, 0x03, 0x33, 0xc0, 0x8e, 0xc0, 0x68, 0x2e, 0x24, 0xe9, 0x25, 0x02, 0x33, 0xd2, 0x32, 0xed,
- 0x8a, 0x4d, 0xff, 0x89, 0x55, 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0xf6, 0x86, 0x5f, 0x02, 0x01,
- 0x74, 0x38, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x46, 0x09, 0x04, 0xc6, 0x86, 0x5f, 0x02,
- 0x00, 0xeb, 0x24, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x21, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x86,
- 0x69, 0x02, 0x01, 0xe8, 0x84, 0xec, 0xbe, 0x79, 0x45, 0xe8, 0x3e, 0xea, 0x50, 0x53, 0x33, 0xc0,
- 0x8e, 0xc0, 0xe8, 0xa6, 0x02, 0x5b, 0x58, 0xbb, 0x00, 0x00, 0x8b, 0xf8, 0x8b, 0xf3, 0x5b, 0x57,
- 0x53, 0x68, 0x2c, 0x24, 0xff, 0x66, 0x12, 0xeb, 0x87, 0x8b, 0xc7, 0x8b, 0xbf, 0x8a, 0x04, 0x0b,
- 0xff, 0x78, 0xf4, 0x74, 0xa6, 0x03, 0xfd, 0xf6, 0x45, 0x01, 0x80, 0x75, 0x02, 0xeb, 0x8d, 0xe9,
- 0x21, 0x01, 0xe9, 0x03, 0x01, 0x5f, 0x5b, 0xba, 0x80, 0x08, 0xe9, 0x75, 0xff, 0x8b, 0x54, 0x02,
- 0x86, 0xd6, 0x83, 0xc6, 0x02, 0xb0, 0x04, 0xeb, 0x51, 0x5f, 0x5b, 0xba, 0x80, 0x05, 0xe9, 0x61,
- 0xff, 0x53, 0x8d, 0x71, 0x18, 0x32, 0xff, 0x8a, 0xdd, 0xd1, 0xe3, 0x83, 0xe8, 0x04, 0x0b, 0xc0,
- 0x74, 0xb7, 0x89, 0x46, 0x04, 0x57, 0x8b, 0xbf, 0x8a, 0x04, 0x0b, 0xff, 0x74, 0xc4, 0x79, 0x03,
- 0xe9, 0x2c, 0xff, 0x03, 0xfd, 0x8e, 0xc7, 0x33, 0xc0, 0x32, 0xed, 0x8a, 0x4d, 0xff, 0x89, 0x45,
- 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0x33, 0xd2, 0x03, 0xf2, 0x8a, 0x4c, 0x01, 0x8a, 0x14, 0x0a,
- 0xd2, 0x74, 0xb6, 0x80, 0xfa, 0xff, 0x74, 0xa5, 0xb0, 0x02, 0x29, 0x56, 0x04, 0x72, 0xaa, 0x0a,
- 0xc9, 0x78, 0x92, 0x8a, 0xe1, 0x80, 0xe1, 0x3f, 0x8c, 0xc7, 0x8a, 0x6d, 0xff, 0xeb, 0x12, 0x80,
- 0x7d, 0x04, 0xff, 0x74, 0x15, 0xeb, 0x92, 0xe9, 0x7b, 0xff, 0xfe, 0xcd, 0x74, 0xf9, 0x83, 0xc7,
- 0x05, 0x3a, 0x0d, 0x75, 0xf5, 0x3a, 0x55, 0x04, 0x75, 0xe5, 0x8d, 0x44, 0x02, 0x87, 0x45, 0x02,
- 0x0b, 0xc0, 0x74, 0x09, 0xf6, 0x45, 0x01, 0x80, 0x75, 0xdd, 0x89, 0x45, 0x02, 0x83, 0x7e, 0x04,
- 0x00, 0x75, 0xa5, 0x33, 0xc0, 0x8c, 0xc6, 0xf6, 0x44, 0x01, 0x80, 0x74, 0x0e, 0x39, 0x44, 0x02,
- 0x74, 0x60, 0x83, 0xc6, 0x05, 0xf6, 0x44, 0x01, 0x80, 0x75, 0xf2, 0xf6, 0x86, 0x5f, 0x02, 0x01,
- 0x74, 0x36, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x46, 0x09,
- 0x04, 0xeb, 0x22, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x1f, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x86,
- 0x69, 0x02, 0x01, 0xe8, 0x54, 0xeb, 0xbe, 0x79, 0x45, 0xe8, 0x0e, 0xe9, 0x33, 0xc0, 0x8e, 0xc0,
- 0x53, 0xe8, 0x77, 0x01, 0x5b, 0xbb, 0x00, 0x00, 0x89, 0x5e, 0x04, 0x8b, 0xf3, 0x5f, 0x5b, 0x33,
- 0xc0, 0x8e, 0xc0, 0x3b, 0xb6, 0xba, 0x01, 0x73, 0x06, 0x68, 0x2e, 0x24, 0xff, 0x66, 0x12, 0xe9,
- 0x80, 0xfd, 0x5f, 0x5b, 0xba, 0x80, 0x07, 0xe9, 0x58, 0xfe, 0x56, 0x57, 0x50, 0x33, 0xc0, 0x8e,
- 0xc0, 0x8b, 0xb6, 0x52, 0x15, 0x8b, 0xbe, 0x54, 0x15, 0x83, 0xc7, 0x01, 0xa5, 0xa5, 0xa5, 0x8b,
- 0xc3, 0x03, 0x47, 0x04, 0x8b, 0xbe, 0x54, 0x15, 0x3b, 0xc7, 0x7f, 0x02, 0x32, 0xc0, 0x58, 0x5f,
- 0x5e, 0xc3, 0x80, 0xbe, 0x2d, 0x01, 0x01, 0x75, 0x57, 0x53, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80,
- 0x74, 0x0e, 0x8b, 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x45, 0xa8, 0x01, 0x75, 0x41, 0x8b, 0xf8,
- 0x83, 0xc3, 0x06, 0x8d, 0xb6, 0xec, 0x15, 0x33, 0xc0, 0x33, 0xc9, 0x8a, 0x0c, 0x80, 0xf9, 0x00,
- 0x74, 0x2d, 0x53, 0x46, 0x8a, 0x04, 0x03, 0xd8, 0x80, 0x3c, 0x0e, 0x72, 0x02, 0x03, 0xdf, 0x46,
- 0x8a, 0x04, 0x3a, 0x07, 0x75, 0x07, 0x5b, 0xfe, 0xc9, 0x74, 0x0a, 0xeb, 0xe5, 0x5b, 0x03, 0xf1,
- 0x03, 0xf1, 0x4e, 0xeb, 0xd6, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x72, 0x00, 0x00, 0x01, 0x5b,
- 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xf6, 0x41, 0x16, 0x0f, 0x74, 0x60, 0x89, 0x96, 0xe2, 0x02, 0x81,
- 0xfa, 0x80, 0x02, 0x74, 0x13, 0xba, 0x09, 0x04, 0xe8, 0xa7, 0xf9, 0x72, 0x0b, 0xad, 0x86, 0xe0,
- 0x89, 0x86, 0x14, 0x02, 0x86, 0xe0, 0xeb, 0x06, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x89, 0x86,
- 0xde, 0x02, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x4d, 0x22, 0x57, 0x53, 0xe8, 0xa0, 0x05, 0x5a, 0x5f,
- 0x72, 0x29, 0x57, 0xe8, 0x26, 0x00, 0xb8, 0x00, 0x0e, 0xab, 0x47, 0xb0, 0x00, 0xaa, 0x8d, 0xb6,
- 0xdc, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0xe0, 0x02, 0xa5, 0xa5, 0x55, 0x8b, 0xea, 0x8a, 0x47, 0x16,
- 0x8a, 0x66, 0x17, 0xab, 0x5d, 0xe8, 0x14, 0x06, 0x8b, 0xda, 0x5f, 0xc3, 0x55, 0x8b, 0xea, 0x8a,
- 0x43, 0x16, 0xc0, 0xe0, 0x04, 0x88, 0x41, 0x16, 0xc7, 0x47, 0x06, 0xe0, 0x00, 0x83, 0xe9, 0x06,
- 0x89, 0x4f, 0x04, 0x0b, 0xff, 0x75, 0x18, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xa5, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x8d, 0xb6, 0xf4, 0x02, 0xa5, 0xa5, 0xa5, 0xc3, 0x8b,
- 0xcf, 0xd1, 0xe9, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08, 0x8c, 0xd8, 0x8e, 0xc0, 0xad, 0x24, 0x7f,
- 0xab, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x56, 0x8d, 0xb6, 0xf4, 0x02, 0xad, 0x0c, 0x80, 0xab, 0xa5,
- 0xa5, 0x5e, 0xad, 0x80, 0xcc, 0x80, 0xab, 0x49, 0xf3, 0xa5, 0xc3, 0x8b, 0x86, 0x00, 0x03, 0x86,
- 0xe0, 0x89, 0x86, 0x10, 0x02, 0x89, 0x86, 0x02, 0x02, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xbe, 0xfc,
- 0x01, 0x8d, 0xb6, 0xf4, 0x02, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0xb9, 0x2a, 0x00, 0xe8, 0xd4, 0x04,
- 0x72, 0xd8, 0x8d, 0xb6, 0xe6, 0x02, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5,
- 0xe9, 0x80, 0x05, 0xb9, 0x26, 0x00, 0xe8, 0xbb, 0x04, 0x72, 0x62, 0x8d, 0xb6, 0x10, 0x03, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x67, 0x05, 0x8d, 0x7f, 0x08, 0x8b,
- 0x4f, 0x04, 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x57, 0xe8, 0x98, 0x04, 0x5f, 0x8b, 0xd7, 0x72,
- 0x22, 0x83, 0xe9, 0x08, 0x8d, 0x7f, 0x04, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0xc1, 0xab, 0x8b, 0x86,
- 0x16, 0x03, 0xab, 0x8b, 0xf2, 0xd1, 0xe9, 0x49, 0xf3, 0xa5, 0xbe, 0x55, 0x45, 0xe8, 0x0a, 0xe7,
- 0xe9, 0x30, 0x05, 0xc3, 0xb9, 0x26, 0x00, 0xe8, 0x6a, 0x04, 0x72, 0x11, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xb6, 0x36, 0x03, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x16, 0x05, 0xc3, 0xb9, 0x26,
- 0x00, 0xe8, 0x6a, 0x04, 0x72, 0xf7, 0x8d, 0xb6, 0x5c, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xc6, 0x86, 0x63, 0x02, 0x01, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03,
- 0xe9, 0xe9, 0x04, 0x68, 0x6f, 0x2c, 0xe9, 0xe3, 0x04, 0xb9, 0x26, 0x00, 0xe8, 0x3f, 0x04, 0x72,
- 0xcc, 0x8d, 0xb6, 0x82, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xc6,
- 0x86, 0x63, 0x02, 0x01, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xbe, 0x04, 0x68, 0x6f,
- 0x2c, 0xe9, 0xb8, 0x04, 0xb9, 0x18, 0x00, 0xe8, 0x14, 0x04, 0x72, 0xa1, 0x8d, 0xb6, 0xa8, 0x03,
- 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x9f, 0x04, 0x83, 0xc1, 0x1c,
- 0x56, 0x57, 0x52, 0xe8, 0xf8, 0x03, 0x5a, 0x5f, 0x5e, 0x72, 0x6c, 0x56, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x83, 0xe9, 0x08, 0x8b, 0xc1, 0x8d, 0x7f, 0x04, 0xab, 0xba, 0xe0, 0x00, 0x8b, 0xc2, 0xab, 0x8d,
- 0xb6, 0xc8, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0xf4, 0x02, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75,
- 0x04, 0x8d, 0xb6, 0x00, 0x01, 0xa5, 0xa5, 0xa5, 0x83, 0xe9, 0x0e, 0x80, 0xbe, 0x63, 0x01, 0x02,
- 0x75, 0x03, 0x83, 0xe9, 0x04, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0xb8, 0x00, 0x08, 0xab, 0xb8, 0xff,
- 0x26, 0xab, 0x83, 0xe9, 0x04, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0x5e, 0xe9, 0x3e, 0x04, 0xb9, 0x44,
- 0x00, 0xe8, 0x9a, 0x03, 0x72, 0x11, 0x8d, 0xb6, 0xda, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xe8, 0x25, 0x04, 0xc3, 0xb9, 0x36, 0x00, 0xe8, 0x80, 0x03, 0x72, 0xf7,
- 0xff, 0x86, 0x52, 0x02, 0x8d, 0xb6, 0x7c, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9,
- 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0xbe, 0x96, 0x05, 0xab, 0xab, 0xaa, 0x8d, 0xbe, 0x9e, 0x05, 0xab,
- 0xab, 0xaa, 0xe9, 0xf7, 0x03, 0x8d, 0x4d, 0x3a, 0x57, 0x53, 0xe8, 0x51, 0x03, 0x5a, 0x5f, 0x72,
- 0x5b, 0x57, 0xe8, 0xd7, 0xfd, 0x8c, 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x26, 0xab, 0x47, 0xb0, 0x22,
- 0xaa, 0x8d, 0xb6, 0xdc, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0x02, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6,
- 0x08, 0x03, 0xa5, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x1e, 0x04, 0xa5, 0xa5, 0x8d, 0xb6, 0x22, 0x04,
- 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x28, 0x04, 0xa5, 0x53, 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1,
- 0x26, 0x00, 0xe8, 0x6b, 0xe2, 0x8e, 0xc3, 0xab, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x24, 0x00, 0xe8,
- 0x5e, 0xe2, 0x8e, 0xc3, 0xab, 0x5b, 0xe8, 0x93, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0x8d, 0x4d, 0x38,
- 0x57, 0x53, 0xe8, 0xe9, 0x02, 0x5a, 0x5f, 0x72, 0xf3, 0x57, 0xe8, 0x6f, 0xfd, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xb8, 0x00, 0x24, 0xab, 0x47, 0xb0, 0x23, 0xaa, 0x8d, 0xb6, 0xdc, 0x02, 0xa5, 0xa5, 0x8d,
- 0xb6, 0xf2, 0x03, 0xb9, 0x06, 0x00, 0xf3, 0xa5, 0x8d, 0xb6, 0x36, 0x04, 0xa5, 0xa5, 0xa5, 0xa5,
- 0x8d, 0xb6, 0x2e, 0x04, 0xa5, 0xa5, 0xa5, 0xa5, 0xe8, 0x51, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0x8d,
- 0x4d, 0x3e, 0x57, 0x53, 0xe8, 0xa7, 0x02, 0x5a, 0x5f, 0x72, 0x64, 0x57, 0xe8, 0x2d, 0xfd, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x2a, 0xab, 0x47, 0xb0, 0x24, 0xaa, 0x8d, 0xb6, 0xdc, 0x02, 0xa5,
- 0xa5, 0x8d, 0xb6, 0x06, 0x04, 0xb9, 0x0a, 0x00, 0xf3, 0xa5, 0x8d, 0xb6, 0x28, 0x04, 0xa5, 0x53,
- 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x26, 0x00, 0xe8, 0xd4, 0xe1, 0x8e, 0xc3, 0xab, 0x8e,
- 0x46, 0x02, 0x26, 0xa1, 0x24, 0x00, 0xe8, 0xc7, 0xe1, 0x8e, 0xc3, 0xab, 0x5b, 0x8c, 0xd8, 0x8e,
- 0xc0, 0x8d, 0xb6, 0x3e, 0x04, 0xa5, 0x8b, 0x86, 0xf8, 0x01, 0x86, 0xc4, 0xab, 0x8d, 0xb6, 0x42,
- 0x04, 0xa5, 0x8b, 0x86, 0xf6, 0x01, 0x86, 0xc4, 0xab, 0xe8, 0xe0, 0x02, 0x8b, 0xda, 0x5f, 0xc3,
- 0xb9, 0x3a, 0x00, 0xe8, 0x38, 0x02, 0x72, 0xf7, 0x8d, 0xb6, 0x46, 0x04, 0x8b, 0xfb, 0x8c, 0xd8,
- 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xbc, 0x02,
- 0x68, 0x6f, 0x2c, 0xe9, 0xb6, 0x02, 0xb9, 0x26, 0x00, 0xe8, 0x12, 0x02, 0x72, 0xd1, 0xff, 0x86,
- 0x4e, 0x02, 0x8d, 0xb6, 0x80, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5,
- 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x92, 0x02, 0x68, 0x6f, 0x2c, 0xe9, 0x8c, 0x02,
- 0xb9, 0x20, 0x00, 0xe8, 0xe8, 0x01, 0x72, 0xa7, 0x8d, 0xb6, 0xee, 0x01, 0x8d, 0xbe, 0xc0, 0x04,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0xa6, 0x04, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3,
- 0xa5, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x61, 0x02, 0x68, 0x6f, 0x2c, 0xe9, 0x5b,
- 0x02, 0x89, 0x86, 0xe0, 0x04, 0x86, 0xc4, 0x89, 0x86, 0x0e, 0x02, 0xb9, 0x2a, 0x00, 0xe8, 0xad,
- 0x01, 0x72, 0x19, 0x8d, 0xb6, 0xc6, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3,
- 0xa5, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x08, 0xe9, 0x31, 0x02, 0x90, 0xe9, 0x22, 0x01, 0x90,
- 0x68, 0x6f, 0x2c, 0xe9, 0x26, 0x02, 0xb9, 0x18, 0x00, 0xe8, 0x82, 0x01, 0x73, 0x03, 0xe9, 0x3e,
- 0xff, 0x8d, 0xb6, 0x64, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9,
- 0x0a, 0x02, 0xb9, 0x24, 0x00, 0xe8, 0x66, 0x01, 0x73, 0x03, 0xe9, 0x22, 0xff, 0x8b, 0x86, 0x0e,
- 0x05, 0x86, 0xc4, 0x89, 0x86, 0x26, 0x02, 0x8d, 0xb6, 0xf0, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xe4, 0x01, 0xb9, 0x1c, 0x00, 0xe8, 0x40, 0x01, 0x73, 0x03,
- 0xe9, 0xfc, 0xfe, 0x8d, 0xb6, 0x14, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3,
- 0xa5, 0xe9, 0xc8, 0x01, 0xb9, 0x18, 0x00, 0xe8, 0x24, 0x01, 0x73, 0x03, 0xe9, 0xe0, 0xfe, 0x8d,
- 0xb6, 0x30, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xac, 0x01,
- 0xb9, 0x1c, 0x00, 0x50, 0xe8, 0x07, 0x01, 0x58, 0x73, 0x03, 0xe9, 0xc2, 0xfe, 0x8d, 0xb6, 0x48,
- 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x8e, 0x01, 0x8b, 0x4f,
- 0x04, 0x53, 0xe8, 0xe9, 0x00, 0x5e, 0x72, 0x17, 0x89, 0x9e, 0x38, 0x02, 0x8b, 0xfb, 0x8c, 0xd8,
- 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xc7, 0x86, 0x3a, 0x02, 0x01, 0x00, 0xe9, 0x6d, 0x01, 0xe9,
- 0x54, 0x11, 0xb9, 0x18, 0x00, 0xe8, 0xc6, 0x00, 0x8d, 0xb6, 0xa8, 0x03, 0x8b, 0xfb, 0x8c, 0xd8,
- 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0x7f, 0x08, 0xb9, 0x06, 0x00, 0xf3, 0xab,
- 0xe9, 0x49, 0x01, 0x53, 0x8b, 0x9e, 0xb0, 0x01, 0x8b, 0xb6, 0xae, 0x01, 0x3b, 0xde, 0x74, 0x15,
- 0x8a, 0x47, 0x17, 0xf6, 0x44, 0x0e, 0x80, 0x75, 0x0e, 0x38, 0x44, 0x17, 0x75, 0x09, 0x8b, 0x74,
- 0x02, 0x89, 0xb6, 0xae, 0x01, 0xeb, 0x1a, 0x8b, 0xfe, 0x8b, 0x74, 0x02, 0x3b, 0xde, 0x74, 0x11,
- 0xf6, 0x44, 0x0e, 0x80, 0x75, 0xf1, 0x38, 0x44, 0x17, 0x75, 0xec, 0x8b, 0x44, 0x02, 0x89, 0x45,
- 0x02, 0x5b, 0xc3, 0xe8, 0x50, 0xdd, 0xc6, 0x86, 0x83, 0x02, 0x00, 0x8d, 0xb6, 0xa6, 0x01, 0x8d,
- 0xbe, 0xac, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e,
- 0x00, 0x00, 0x00, 0x16, 0x8d, 0x9e, 0x52, 0x12, 0x89, 0x9e, 0xa8, 0x01, 0x89, 0x9e, 0xaa, 0x01,
- 0xc7, 0x07, 0x30, 0x80, 0xc7, 0x47, 0x04, 0x00, 0x00, 0x83, 0xc3, 0x08, 0x89, 0x9e, 0xa6, 0x01,
- 0xc6, 0x86, 0x86, 0x02, 0x01, 0x83, 0xc1, 0x02, 0xeb, 0x4a, 0x8b, 0x9e, 0xac, 0x01, 0x8b, 0xb6,
- 0xae, 0x01, 0xeb, 0x29, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x74, 0xa8, 0x8d, 0x96, 0x52, 0x15, 0x8d,
- 0xbe, 0x52, 0x12, 0x8b, 0x9e, 0xa6, 0x01, 0x8b, 0xb6, 0xa8, 0x01, 0xeb, 0x18, 0x90, 0x8b, 0x9e,
- 0xa6, 0x01, 0x8b, 0xb6, 0xa8, 0x01, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0xcd, 0x8d, 0x96, 0x52,
- 0x12, 0x8d, 0xbe, 0x52, 0x09, 0x83, 0xc1, 0x02, 0x3b, 0xde, 0x73, 0x17, 0x8b, 0xc6, 0x2b, 0xc3,
- 0x3b, 0xc1, 0x72, 0x25, 0xc7, 0x07, 0x00, 0x00, 0x83, 0xc3, 0x02, 0xc7, 0x07, 0x00, 0x00, 0x83,
- 0xe9, 0x02, 0xc3, 0x8b, 0xc2, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xe7, 0x8b, 0xdf, 0x8b,
- 0xc6, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xdb, 0x3b, 0xb6, 0xae, 0x01, 0x74, 0x11, 0x80,
- 0xbe, 0x5e, 0x02, 0x01, 0x75, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x02, 0xe8, 0x5c, 0x01, 0xf9, 0xc3,
- 0x8b, 0x74, 0x02, 0x89, 0xb6, 0xae, 0x01, 0x3b, 0xdd, 0x74, 0x04, 0x3b, 0xde, 0x77, 0xc4, 0x8b,
- 0xc6, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0xe9, 0x89, 0xb6, 0xae, 0x01, 0xeb, 0xa7, 0x8b, 0xb6, 0xb0,
- 0x01, 0x89, 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x89, 0x9e, 0xb0, 0x01, 0x03, 0x5f, 0x04, 0x83,
- 0xc3, 0x06, 0x89, 0x9e, 0xac, 0x01, 0xc6, 0x86, 0x87, 0x02, 0x01, 0xc3, 0x80, 0xbe, 0x83, 0x02,
- 0x01, 0x75, 0xda, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x0c, 0x00, 0x0c, 0x02, 0x80, 0xbe, 0x86, 0x02,
- 0x01, 0x74, 0x27, 0x8b, 0xb6, 0xaa, 0x01, 0x89, 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x83, 0xc8,
- 0x04, 0x25, 0xff, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x0c, 0x00, 0x89, 0x9e, 0xaa, 0x01, 0x03,
- 0x5f, 0x04, 0x83, 0xc3, 0x06, 0x89, 0x9e, 0xa6, 0x01, 0xc3, 0x8e, 0x46, 0x02, 0x89, 0x9e, 0xa8,
- 0x01, 0x26, 0x89, 0x1e, 0x2c, 0x00, 0x83, 0xc8, 0x08, 0x25, 0xff, 0xf7, 0xc6, 0x86, 0x86, 0x02,
- 0x00, 0xeb, 0xd1, 0x53, 0xf6, 0x86, 0x83, 0x02, 0x01, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x26, 0x0c, 0x00, 0xfe, 0xe8, 0x8c, 0xfe, 0x5b, 0xc3, 0x90, 0xe9, 0xac, 0x00, 0x90, 0x80, 0xbe,
- 0x83, 0x02, 0x00, 0x75, 0xf5, 0x50, 0xfa, 0x8d, 0xb6, 0xac, 0x01, 0x8d, 0xbe, 0xa6, 0x01, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x80, 0xbe, 0x63, 0x01, 0x01, 0x75, 0x16, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x00, 0x00, 0xff,
- 0xe3, 0xeb, 0x27, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x02, 0xf6, 0x86, 0xaa,
- 0x02, 0x01, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x1c, 0xeb, 0x0a,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x00, 0x00, 0xff, 0xe3, 0x33, 0xc0, 0x89, 0x86, 0xae, 0x01,
- 0x40, 0x88, 0x86, 0x83, 0x02, 0x58, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x0a, 0xe8, 0x01, 0xe5,
- 0x8e, 0x46, 0x02, 0x26, 0xa2, 0x1c, 0x00, 0x8b, 0x9e, 0xa8, 0x01, 0x83, 0x3f, 0x00, 0x74, 0x03,
- 0xe8, 0x89, 0x00, 0xf6, 0x86, 0x87, 0x02, 0x01, 0x74, 0x19, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e,
- 0x2c, 0x00, 0xc6, 0x86, 0x87, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x08,
- 0xfb, 0xeb, 0x06, 0xc6, 0x86, 0x86, 0x02, 0x01, 0xfb, 0xc3, 0x56, 0x8d, 0xb6, 0x52, 0x09, 0xc7,
- 0x86, 0xa6, 0x01, 0x5a, 0x09, 0x01, 0xae, 0xa6, 0x01, 0x89, 0xb6, 0xa8, 0x01, 0x89, 0xb6, 0xaa,
- 0x01, 0xc7, 0x04, 0x30, 0x80, 0xc7, 0x44, 0x04, 0x00, 0x00, 0xc6, 0x86, 0x86, 0x02, 0x01, 0x5e,
- 0xc3, 0xff, 0xa4, 0x1e, 0x04, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x1c, 0xf6, 0x86, 0x76, 0x02, 0x01,
- 0x74, 0x15, 0xff, 0x8e, 0xcc, 0x02, 0x75, 0x0f, 0xc6, 0x86, 0x76, 0x02, 0x00, 0xc6, 0x86, 0x6b,
- 0x02, 0x00, 0xe8, 0xb5, 0xe2, 0xeb, 0x10, 0x83, 0xfe, 0x10, 0x74, 0x07, 0x83, 0xfe, 0x0e, 0x74,
- 0x02, 0xeb, 0x04, 0xff, 0xa4, 0x1e, 0x04, 0xc3, 0x8b, 0x9e, 0xa8, 0x01, 0x8b, 0x07, 0xfb, 0xa9,
- 0x00, 0x80, 0x75, 0x46, 0x8b, 0x77, 0x17, 0x81, 0xe6, 0xff, 0x00, 0xf7, 0x86, 0x3a, 0x02, 0x01,
- 0x00, 0x74, 0x1b, 0x3b, 0x9e, 0x38, 0x02, 0x75, 0x15, 0x89, 0x86, 0x74, 0x15, 0x50, 0x53, 0x56,
- 0xe8, 0x43, 0x0e, 0x5e, 0x5b, 0x58, 0xc7, 0x86, 0x3a, 0x02, 0x00, 0x00, 0xeb, 0x18, 0xf7, 0x46,
- 0x14, 0xff, 0xff, 0x74, 0x11, 0x83, 0xfe, 0x2a, 0x77, 0x0c, 0xd1, 0xe6, 0x68, 0x82, 0x2f, 0xff,
- 0x66, 0x14, 0x5b, 0x83, 0xc4, 0x02, 0x81, 0x0f, 0x00, 0x80, 0xfa, 0xf6, 0x47, 0x05, 0x80, 0x74,
- 0x1a, 0x8b, 0x5f, 0x02, 0x89, 0x9e, 0xa8, 0x01, 0xf7, 0x07, 0x10, 0x00, 0x74, 0x0d, 0xff, 0x86,
- 0x3a, 0x01, 0x83, 0xbe, 0x3a, 0x01, 0x06, 0x77, 0x0f, 0xeb, 0x91, 0xc6, 0x86, 0xb8, 0x01, 0x00,
- 0xc7, 0x86, 0x3a, 0x01, 0x00, 0x00, 0xfb, 0xc3, 0xe8, 0xdf, 0xdd, 0xf7, 0xc6, 0xff, 0xff, 0x74,
- 0xea, 0xc7, 0x44, 0x02, 0x03, 0x00, 0xc6, 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0xe7,
- 0xdd, 0xeb, 0xdd, 0xa9, 0x20, 0x00, 0x75, 0x74, 0xf7, 0x47, 0x04, 0x00, 0x80, 0x74, 0x05, 0xe8,
- 0x08, 0x00, 0x72, 0x9f, 0x53, 0x68, 0x7e, 0x2f, 0xff, 0xe6, 0x8a, 0x47, 0x17, 0x8b, 0xfb, 0x8b,
- 0x7d, 0x02, 0x38, 0x45, 0x17, 0x74, 0x09, 0xf7, 0x45, 0x04, 0x00, 0x80, 0x75, 0xf1, 0xf8, 0xc3,
- 0xf9, 0xc3, 0xa9, 0x20, 0x00, 0x75, 0x05, 0xa9, 0x00, 0x10, 0x75, 0x0c, 0x33, 0xc9, 0xa9, 0x05,
- 0x00, 0x75, 0x0a, 0xa9, 0x0a, 0x04, 0x74, 0x05, 0x8b, 0x0d, 0xe3, 0x01, 0x49, 0x89, 0x0d, 0xc3,
- 0x53, 0x8b, 0x4f, 0x04, 0x80, 0xe5, 0x7f, 0x89, 0x4f, 0x04, 0x83, 0xc1, 0x06, 0xe8, 0xee, 0xfc,
- 0x72, 0x19, 0x5e, 0x56, 0x8b, 0xfb, 0xd1, 0xe9, 0x83, 0xe9, 0x02, 0x83, 0xc6, 0x04, 0x83, 0xc7,
- 0x04, 0x8c, 0xd8, 0x8e, 0xc0, 0xf3, 0xa5, 0xe8, 0x72, 0xfd, 0xf8, 0x5b, 0xc3, 0x80, 0x7e, 0x08,
- 0x02, 0x75, 0x0b, 0xa9, 0x20, 0x00, 0x75, 0x06, 0xc7, 0x86, 0xc8, 0x01, 0x01, 0x00, 0xc3, 0x8a,
- 0x56, 0x06, 0x80, 0xfa, 0x02, 0x74, 0x17, 0x80, 0xfa, 0x44, 0x74, 0x12, 0x83, 0x7e, 0x08, 0x08,
- 0x75, 0x18, 0x80, 0xfa, 0x0c, 0x74, 0x07, 0x80, 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x0b, 0xa9, 0x20,
- 0x00, 0x75, 0x06, 0xb8, 0x01, 0x00, 0xe8, 0x74, 0xec, 0xc3, 0xb9, 0x05, 0x00, 0xa9, 0x20, 0x00,
- 0x74, 0x09, 0xb9, 0x08, 0x00, 0xa9, 0x0f, 0x00, 0x75, 0x01, 0xc3, 0xff, 0x86, 0xc4, 0x02, 0x83,
- 0xbe, 0xc4, 0x02, 0x02, 0x72, 0x06, 0x8b, 0xc1, 0xe8, 0x52, 0xec, 0xc3, 0xe8, 0x55, 0xf8, 0xc3,
- 0x53, 0x68, 0x7e, 0x2f, 0xe9, 0xc7, 0xf8, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x1d, 0xa9, 0x00, 0x10,
- 0x75, 0xee, 0xa9, 0x20, 0x00, 0x75, 0x00, 0xa8, 0x0a, 0x75, 0x10, 0xff, 0x86, 0xba, 0x02, 0x83,
- 0xbe, 0xba, 0x02, 0x04, 0x72, 0xda, 0xc6, 0x46, 0x07, 0x0e, 0xc3, 0x83, 0xbe, 0xb8, 0x02, 0x04,
- 0x73, 0xf8, 0xbe, 0x85, 0x45, 0xe8, 0xb2, 0xde, 0xeb, 0xf0, 0x8d, 0xbe, 0xbe, 0x02, 0xe8, 0x11,
- 0xff, 0x0b, 0xc9, 0x74, 0xe5, 0x53, 0x68, 0x7e, 0x2f, 0xe9, 0x82, 0xf8, 0x8d, 0xbe, 0xb6, 0x02,
- 0xe8, 0xff, 0xfe, 0x0b, 0xc9, 0x74, 0x03, 0xe9, 0x16, 0xff, 0xc3, 0x53, 0x8a, 0x56, 0x06, 0x80,
- 0xfa, 0x02, 0x74, 0x17, 0x80, 0xfa, 0x44, 0x74, 0x12, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x2d, 0x80,
- 0xfa, 0x0c, 0x74, 0x07, 0x80, 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x21, 0xa9, 0x20, 0x00, 0x74, 0x1e,
- 0x8b, 0x96, 0x66, 0x01, 0x4a, 0x89, 0x96, 0x66, 0x01, 0x83, 0xfa, 0x01, 0x77, 0x23, 0xbe, 0x6d,
- 0x45, 0xe8, 0x56, 0xde, 0xc6, 0x86, 0x86, 0x02, 0x01, 0xe8, 0xb8, 0xf7, 0x5b, 0xc3, 0xfe, 0x8e,
- 0x68, 0x01, 0x80, 0x8e, 0x68, 0x01, 0x00, 0x75, 0x08, 0xb8, 0x01, 0x00, 0xe8, 0x9e, 0xeb, 0xeb,
- 0xeb, 0xbe, 0x6d, 0x45, 0xe8, 0x33, 0xde, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86,
- 0x86, 0x02, 0x01, 0xfa, 0xe8, 0xa6, 0xf7, 0xeb, 0xd3, 0xa9, 0x20, 0x00, 0x74, 0x41, 0xa9, 0x0f,
- 0x00, 0x75, 0x25, 0xc6, 0x86, 0x65, 0x02, 0x01, 0xc6, 0x86, 0x66, 0x02, 0x01, 0x8c, 0xd8, 0x8e,
- 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab, 0x8b, 0x86, 0x06,
- 0x02, 0x83, 0x8e, 0x06, 0x02, 0x40, 0xeb, 0x17, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8b, 0x86, 0x06, 0x02, 0x83, 0xa6, 0x06, 0x02, 0xbf, 0x33,
- 0x86, 0x06, 0x02, 0x74, 0x05, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc3, 0xfb, 0xc3, 0xff, 0xa4, 0xc6,
- 0x03, 0x53, 0x56, 0xf7, 0x07, 0x00, 0x10, 0x74, 0x0a, 0x8b, 0xc7, 0x80, 0x7e, 0x06, 0x44, 0x74,
- 0x49, 0xeb, 0x44, 0x8b, 0xc7, 0x8b, 0x49, 0x16, 0x80, 0xf9, 0x00, 0x74, 0x05, 0x80, 0xf9, 0x03,
- 0x75, 0x38, 0x8d, 0xbe, 0x0a, 0x03, 0x83, 0x3d, 0x00, 0x75, 0x0c, 0x83, 0x7d, 0x02, 0x00, 0x75,
- 0x06, 0x83, 0x7d, 0x04, 0x00, 0x74, 0x23, 0x8b, 0xf8, 0x8d, 0x71, 0x0e, 0x8d, 0xbe, 0x0a, 0x03,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x74, 0x0f, 0xc7, 0x86, 0x2a, 0x02, 0x0e,
- 0x00, 0xb8, 0x0b, 0x00, 0xe8, 0xd6, 0xea, 0x5e, 0x5b, 0xc3, 0x8b, 0xf8, 0x5e, 0x5b, 0xff, 0xa4,
- 0xf2, 0x03, 0xff, 0x86, 0x48, 0x02, 0xc7, 0x86, 0x2a, 0x02, 0x06, 0x00, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xbe, 0xfc, 0x01, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x8b, 0xb6, 0xc4, 0x05,
- 0x8b, 0x04, 0x86, 0xe0, 0x89, 0x86, 0x02, 0x02, 0x89, 0x86, 0x12, 0x02, 0x8b, 0xb6, 0xc9, 0x05,
- 0x8b, 0x04, 0x89, 0x86, 0x16, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x86, 0x18, 0x02, 0x8b, 0x44, 0x04,
- 0x89, 0x86, 0x1a, 0x02, 0x8b, 0xb6, 0xce, 0x05, 0x8b, 0x04, 0x89, 0x86, 0x20, 0x02, 0x8b, 0x44,
- 0x02, 0x89, 0x86, 0x22, 0x02, 0x8b, 0xb6, 0xc4, 0x05, 0x8b, 0x04, 0x80, 0x7e, 0x08, 0x06, 0x75,
- 0x56, 0xf7, 0x07, 0x00, 0x10, 0x74, 0x14, 0xf6, 0x47, 0x06, 0x08, 0x75, 0x0b, 0x80, 0xbe, 0x5f,
- 0x02, 0x00, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x04, 0xe9, 0x1b, 0x01, 0x3b, 0x86, 0x00, 0x03, 0x77,
- 0xf7, 0x80, 0xbe, 0x5e, 0x02, 0x01, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0xea, 0xc6, 0x46,
- 0x07, 0x10, 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0xe0, 0x80, 0xbe, 0x5f, 0x02, 0x00, 0x75, 0xd9, 0xc6,
- 0x46, 0x09, 0x0a, 0xf6, 0x86, 0x07, 0x02, 0x10, 0x74, 0xce, 0x80, 0xa6, 0x07, 0x02, 0x6f, 0xc6,
- 0x86, 0x85, 0x02, 0x01, 0xe9, 0xdf, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x5b, 0xc6, 0x86, 0x54,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xbf, 0xbe, 0x49, 0x45, 0xe8, 0x99,
- 0xdc, 0x8b, 0xb6, 0xc9, 0x05, 0x8d, 0xbe, 0xf4, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00,
- 0xf3, 0xa7, 0x75, 0x21, 0x83, 0xf8, 0x01, 0x74, 0x1c, 0xff, 0x8e, 0xb0, 0x02, 0x75, 0x13, 0xf6,
- 0x86, 0x58, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x86, 0x58, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x08, 0xe9,
- 0x94, 0x00, 0xe9, 0x91, 0x00, 0xc7, 0x86, 0xb0, 0x02, 0x08, 0x00, 0x83, 0xf8, 0x01, 0x75, 0x0a,
- 0xc7, 0x86, 0xae, 0x02, 0x02, 0x00, 0xeb, 0x7e, 0xeb, 0x2e, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x0a,
- 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0xe4, 0xff, 0x8e, 0xae, 0x02,
- 0x75, 0x14, 0xc7, 0x86, 0xae, 0x02, 0x02, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x40, 0xeb, 0x4e, 0x80, 0xbe, 0x5e, 0x02, 0x00, 0x74, 0x0c, 0x80,
- 0x7e, 0x08, 0x08, 0x74, 0x41, 0xc6, 0x46, 0x09, 0x0a, 0xeb, 0x3b, 0xb7, 0x10, 0x8a, 0x5e, 0x06,
- 0x80, 0xfb, 0x06, 0x74, 0x1f, 0x80, 0xfb, 0x08, 0x74, 0x1a, 0x80, 0xfb, 0x04, 0x74, 0x15, 0x80,
- 0xfb, 0x0c, 0x74, 0x10, 0x80, 0xfb, 0x0a, 0x75, 0x07, 0xc6, 0x86, 0x5b, 0x02, 0x00, 0xeb, 0x04,
- 0xb7, 0x12, 0xeb, 0x12, 0x88, 0x7e, 0x07, 0x80, 0xff, 0x12, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1e,
- 0xb8, 0x07, 0x00, 0xe8, 0x37, 0xe9, 0xc3, 0xff, 0x86, 0x48, 0x02, 0xc7, 0x86, 0x2a, 0x02, 0x06,
- 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xbe, 0xfc, 0x01, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3,
- 0xa5, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x10, 0xe9, 0xeb, 0x30, 0xf6,
- 0x86, 0x6e, 0x02, 0x01, 0x74, 0x1f, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x19, 0xc6, 0x46, 0x09, 0x1a,
- 0xc6, 0x86, 0x72, 0x02, 0x00, 0xc6, 0x86, 0x68, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x0c, 0x00, 0xfe, 0xeb, 0x0a, 0x80, 0x7e, 0x08, 0x18, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1a, 0xc3,
- 0x8a, 0x4e, 0x06, 0x80, 0xbe, 0xa7, 0x02, 0x01, 0x74, 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8,
- 0xcb, 0xe8, 0xc3, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x42, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75,
- 0x27, 0xf6, 0x86, 0x7e, 0x02, 0x01, 0x75, 0x18, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10, 0x74, 0x10,
- 0xb8, 0x02, 0x00, 0xe8, 0x73, 0x10, 0xc6, 0x46, 0x09, 0x1e, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x1b,
- 0xb8, 0x06, 0x00, 0xe8, 0x97, 0xe8, 0xeb, 0x13, 0x3d, 0x00, 0x02, 0x75, 0x0e, 0xc6, 0x86, 0x77,
- 0x02, 0x01, 0xe8, 0x6b, 0x06, 0xbe, 0xe5, 0x45, 0xe8, 0x1f, 0xdb, 0xc3, 0xc7, 0x86, 0x2a, 0x02,
- 0x02, 0x00, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x2b, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75, 0x10,
- 0xc6, 0x46, 0x07, 0x48, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x19, 0xc6, 0x46, 0x09, 0x16, 0xeb, 0x13,
- 0x86, 0xc4, 0x3d, 0x20, 0x80, 0x75, 0x0c, 0xc7, 0x86, 0x2a, 0x02, 0x11, 0x00, 0xb8, 0x08, 0x00,
- 0xe8, 0x4a, 0xe8, 0xc3, 0xc7, 0x86, 0x2a, 0x02, 0x0f, 0x00, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x06,
- 0x80, 0x7e, 0x06, 0x42, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x31, 0xe8, 0xeb, 0x0d, 0xf6, 0x86,
- 0x72, 0x02, 0x01, 0x74, 0x06, 0xbe, 0xf1, 0x45, 0xe8, 0xbf, 0xda, 0xc3, 0x80, 0x7e, 0x06, 0x44,
- 0x75, 0x14, 0xe8, 0xb5, 0xd8, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0xc8, 0xd8,
- 0xbe, 0x6d, 0x45, 0xe8, 0x56, 0xdb, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x40, 0x00, 0x74, 0x18, 0xf7,
- 0x86, 0xf4, 0x00, 0x00, 0x20, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0a, 0x80, 0x7e, 0x06,
- 0x0e, 0x77, 0x04, 0xc6, 0x46, 0x07, 0x14, 0xc3, 0xff, 0x86, 0x4c, 0x02, 0xc7, 0x86, 0x2a, 0x02,
- 0x0b, 0x00, 0x8a, 0x86, 0x54, 0x02, 0x88, 0x86, 0x80, 0x02, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00,
- 0xc6, 0x86, 0x61, 0x02, 0x00, 0x83, 0x8e, 0x06, 0x02, 0x20, 0x81, 0xa6, 0x06, 0x02, 0xff, 0x2f,
- 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x38, 0xc6, 0x86, 0x80, 0x02,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00, 0x75,
- 0x0a, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0x8a, 0xa6, 0x80, 0x02, 0x88,
- 0xa6, 0x54, 0x02, 0xe8, 0x64, 0xdc, 0x88, 0x86, 0x54, 0x02, 0xc6, 0x46, 0x09, 0x0c, 0xc7, 0x86,
- 0xc6, 0x01, 0x00, 0x01, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x06, 0x80, 0x7e,
- 0x08, 0x02, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x0c, 0x80, 0x7e, 0x08, 0x06, 0x74, 0x05, 0xc6, 0x86,
- 0x5a, 0x02, 0x01, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf4, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x06,
- 0x00, 0xf3, 0xa6, 0x74, 0x08, 0x77, 0x03, 0xe9, 0x95, 0x00, 0xe9, 0xfe, 0x00, 0xf6, 0x47, 0x06,
- 0x08, 0x75, 0x59, 0x80, 0x7e, 0x08, 0x04, 0x75, 0x53, 0x8b, 0xb6, 0xd4, 0x05, 0x8d, 0xbe, 0x0a,
- 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xb8, 0x01, 0x00, 0xf3, 0xa7, 0x74, 0x02, 0xeb,
- 0x3e, 0xff, 0x86, 0xb4, 0x02, 0x83, 0xbe, 0xb4, 0x02, 0x03, 0x72, 0x30, 0x83, 0xbe, 0xb2, 0x02,
- 0x03, 0x72, 0x29, 0xc6, 0x46, 0x09, 0x02, 0xc6, 0x86, 0x80, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x0e, 0x24, 0x00, 0x00, 0x80, 0x8a, 0x86, 0x54, 0x02, 0x8a, 0xa6, 0x80, 0x02, 0x88, 0xa6,
- 0x54, 0x02, 0xe8, 0xc5, 0xdb, 0x88, 0x86, 0x54, 0x02, 0xe8, 0xc4, 0xf4, 0xe9, 0xec, 0x00, 0x80,
- 0x7e, 0x0a, 0x00, 0x75, 0x1d, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0x8a,
- 0x86, 0x54, 0x02, 0x8a, 0xa6, 0x80, 0x02, 0x88, 0xa6, 0x54, 0x02, 0xe8, 0x9c, 0xdb, 0x88, 0x86,
- 0x54, 0x02, 0xc6, 0x46, 0x09, 0x0c, 0xb8, 0x00, 0x03, 0xe8, 0x15, 0xf5, 0xe9, 0xbc, 0x00, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x3d, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x16, 0xf6, 0x86, 0x68, 0x02,
- 0x01, 0x74, 0x16, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x08, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01,
- 0x75, 0x16, 0xc6, 0x46, 0x09, 0x0c, 0xe9, 0x92, 0x00, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x9c,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01, 0x74, 0x94, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86, 0x4a, 0x02,
- 0xeb, 0x79, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x73, 0xf6, 0x86, 0x5f, 0x02, 0x01, 0x75, 0x0e, 0xf7,
- 0x86, 0x12, 0x01, 0x00, 0x01, 0x75, 0x06, 0xc6, 0x46, 0x09, 0x0c, 0xeb, 0x5e, 0xf7, 0x86, 0x12,
- 0x01, 0x00, 0x01, 0x74, 0x56, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x50, 0x80, 0x7e, 0x08, 0x04, 0x75,
- 0x2c, 0xc6, 0x46, 0x09, 0x0c, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x1d, 0xc6, 0x86, 0x69, 0x02, 0x00,
- 0xc6, 0x86, 0x6b, 0x02, 0x00, 0x8a, 0x86, 0x54, 0x02, 0x8a, 0xa6, 0x80, 0x02, 0x88, 0xa6, 0x54,
- 0x02, 0xe8, 0xf6, 0xda, 0x88, 0x86, 0x54, 0x02, 0xe8, 0x71, 0xf1, 0xeb, 0x1e, 0x80, 0x7e, 0x08,
- 0x00, 0x75, 0x09, 0xf6, 0x86, 0x68, 0x02, 0x01, 0x74, 0x02, 0xeb, 0xab, 0x80, 0x7e, 0x08, 0x0a,
- 0x75, 0x09, 0xf6, 0x86, 0x5f, 0x02, 0x01, 0x75, 0x02, 0xeb, 0x9c, 0x8a, 0x86, 0x80, 0x02, 0x88,
- 0x86, 0x54, 0x02, 0xc3, 0xc7, 0x86, 0xbc, 0x02, 0x02, 0x00, 0xff, 0x86, 0x42, 0x02, 0xc7, 0x86,
- 0x2a, 0x02, 0x0c, 0x00, 0x80, 0x7e, 0x06, 0x04, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x06, 0x75, 0x04,
- 0xc6, 0x46, 0x07, 0x08, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x56, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74,
- 0x3b, 0xc6, 0x86, 0x54, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f,
- 0xb8, 0x00, 0x02, 0xe8, 0x0b, 0xf4, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x0c, 0xbe, 0x73, 0x45,
- 0xe8, 0x37, 0xd8, 0xbe, 0x91, 0x45, 0xe8, 0x31, 0xd8, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0d, 0xc6,
- 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0x5e, 0xda, 0xf6, 0x86, 0x5e, 0x02,
- 0x01, 0x74, 0x34, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xe9, 0xc9, 0x00,
- 0x80, 0x7e, 0x08, 0x0c, 0x75, 0x24, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74,
- 0x16, 0xbe, 0x73, 0x45, 0xe8, 0xf3, 0xd7, 0xbe, 0x91, 0x45, 0xe8, 0xed, 0xd7, 0xc6, 0x86, 0x58,
- 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xe9, 0x9f, 0x00, 0x80, 0x7e, 0x08, 0x02, 0x75, 0xf7,
- 0xc7, 0x86, 0xc8, 0x01, 0x00, 0x00, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74,
- 0x0a, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe,
- 0xf4, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x06, 0x00, 0xf3, 0xa6, 0x74, 0x2e, 0xc6, 0x86, 0x54,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00,
- 0x75, 0x0a, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0xcb, 0xd9, 0xb8,
- 0x00, 0x02, 0xe8, 0x4c, 0xf3, 0xc6, 0x46, 0x09, 0x00, 0xeb, 0x3e, 0x8e, 0x46, 0x02, 0x26, 0xa0,
- 0x1c, 0x00, 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x55, 0x02, 0x00,
- 0xc6, 0x86, 0x65, 0x02, 0x00, 0xe8, 0xa2, 0xd9, 0x24, 0x07, 0xe8, 0xf1, 0xf5, 0xbe, 0x43, 0x45,
- 0xe8, 0x57, 0xd7, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab,
- 0xe8, 0x5b, 0xf0, 0xbe, 0x91, 0x45, 0xe8, 0x41, 0xd7, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xff, 0x86,
- 0x50, 0x02, 0xc7, 0x86, 0x2a, 0x02, 0x0f, 0x00, 0xf6, 0x86, 0xca, 0x01, 0x01, 0x74, 0x3b, 0xb8,
- 0x30, 0x56, 0xa3, 0x26, 0x56, 0x8d, 0x77, 0x0e, 0x8b, 0xf8, 0xa5, 0xa5, 0xa5, 0xc7, 0x06, 0x2e,
- 0x56, 0x01, 0x00, 0xc6, 0x86, 0xcb, 0x01, 0x00, 0x33, 0xff, 0xba, 0x02, 0x08, 0xe8, 0x72, 0xe8,
- 0xbf, 0x28, 0x56, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x8d, 0x77, 0x0e, 0xbf, 0x28, 0x56, 0xb9, 0x03,
- 0x00, 0xf3, 0xa7, 0x75, 0x05, 0xe8, 0x8b, 0x04, 0xeb, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee,
- 0x01, 0xa5, 0xa5, 0xa5, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0x8b, 0x8e,
- 0xbc, 0x02, 0xe3, 0x05, 0x49, 0x89, 0x8e, 0xbc, 0x02, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0a, 0xf6,
- 0x86, 0x68, 0x02, 0x01, 0x74, 0x03, 0xe8, 0x07, 0x02, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x03,
- 0xe9, 0x93, 0x00, 0xbe, 0x91, 0x45, 0xe8, 0xb1, 0xd6, 0xf7, 0x07, 0x00, 0x10, 0x75, 0x37, 0xc6,
- 0x86, 0x54, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0xb8, 0x00,
- 0x02, 0xe8, 0x5d, 0xf2, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x73, 0x45, 0xe8, 0x89,
- 0xd6, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x38, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02,
- 0x00, 0xe8, 0xb6, 0xd8, 0xeb, 0x29, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x33, 0xc6, 0x86, 0x65, 0x02,
- 0x01, 0xc6, 0x86, 0x66, 0x02, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d,
- 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab, 0x8b, 0x86, 0x06, 0x02, 0xa9, 0x40, 0x00, 0x74, 0x02, 0xeb,
- 0x48, 0x83, 0xc8, 0x40, 0x89, 0x86, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xeb, 0x3a, 0x83,
- 0xa6, 0x06, 0x02, 0xbf, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee,
- 0x01, 0xa5, 0xa5, 0xa5, 0xeb, 0x23, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x91, 0x45,
- 0xe8, 0x17, 0xd6, 0xc6, 0x86, 0x67, 0x02, 0x00, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0b, 0xc6, 0x86,
- 0x67, 0x02, 0x01, 0xbe, 0x79, 0x45, 0xe8, 0x01, 0xd6, 0xc3, 0xeb, 0x61, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xc7, 0x86, 0x2a, 0x02, 0x0d, 0x00, 0xf6, 0x86, 0xca, 0x01, 0x01, 0x74, 0x50, 0x33, 0xff, 0xba,
- 0x02, 0x08, 0xe8, 0x4d, 0xe7, 0x8b, 0x3e, 0x26, 0x56, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x3d,
- 0x81, 0xff, 0x3e, 0x5d, 0x73, 0x6f, 0x89, 0x3e, 0x26, 0x56, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00,
- 0xf3, 0xa7, 0x74, 0x05, 0xc6, 0x86, 0xcc, 0x01, 0x01, 0x81, 0xff, 0x3e, 0x5d, 0x73, 0x56, 0x89,
- 0x3e, 0x26, 0x56, 0x8d, 0x77, 0x0e, 0xa5, 0xa5, 0xa5, 0xff, 0x06, 0x2e, 0x56, 0x8d, 0x77, 0x0e,
- 0xbf, 0x28, 0x56, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x03, 0xe8, 0x36, 0x03, 0x8a, 0x86, 0x06,
- 0x02, 0xa8, 0x40, 0x75, 0x3d, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0xf7,
- 0x07, 0x3c, 0x00, 0x75, 0x3a, 0xf6, 0x86, 0x68, 0x02, 0x01, 0x74, 0x35, 0xf6, 0x86, 0x54, 0x02,
- 0x01, 0x74, 0x07, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x75, 0x27, 0xe8, 0xb3, 0x00, 0xc7, 0x86, 0xbe,
- 0x02, 0x01, 0x00, 0xeb, 0x1c, 0xbf, 0x38, 0x5d, 0x33, 0xc0, 0xab, 0xab, 0xab, 0xe8, 0xf3, 0x02,
- 0xeb, 0xbb, 0x24, 0xbf, 0x88, 0x86, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xeb, 0xb6, 0xeb,
- 0x79, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x3c, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x74, 0x19, 0xf6,
- 0x86, 0x5e, 0x02, 0x01, 0x74, 0x12, 0x83, 0xbe, 0xbc, 0x02, 0x00, 0x75, 0x0b, 0x80, 0x7e, 0x08,
- 0x00, 0x75, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x08, 0xc6, 0x86, 0x65, 0x02, 0x01, 0xc6, 0x86, 0x66,
- 0x02, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0xab,
- 0xab, 0xab, 0xeb, 0x4b, 0xf6, 0x86, 0x68, 0x02, 0x01, 0x74, 0x44, 0xf6, 0x86, 0x67, 0x02, 0x01,
- 0x75, 0x0d, 0xc6, 0x86, 0x67, 0x02, 0x01, 0xbe, 0x79, 0x45, 0xe8, 0xed, 0xd4, 0xeb, 0x30, 0xf6,
- 0x86, 0x5e, 0x02, 0x01, 0x74, 0x12, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x0c, 0x83, 0xbe, 0xbc, 0x02,
- 0x00, 0x75, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x08, 0xeb, 0x15, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74,
- 0x0e, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0xa5, 0xa5, 0xa5, 0xc3,
- 0x53, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x0a, 0x03, 0x8c, 0xd9, 0x8e, 0xc1,
- 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x74, 0x54, 0x8b, 0x44, 0xfe, 0x89, 0x45, 0xfe, 0xf3, 0xa5, 0xbb,
- 0xfc, 0x04, 0xb9, 0x0b, 0x00, 0x8d, 0xb6, 0x0a, 0x03, 0xad, 0x8b, 0x14, 0x8b, 0x74, 0x02, 0x8b,
- 0x3f, 0x03, 0xfd, 0xab, 0x89, 0x15, 0x89, 0x75, 0x02, 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xf6, 0x86,
- 0xaa, 0x02, 0x01, 0x75, 0x26, 0x8b, 0xb6, 0xd9, 0x05, 0x8d, 0xbe, 0xea, 0x01, 0xa5, 0xa5, 0x80,
- 0x7e, 0x06, 0x08, 0x76, 0x0b, 0xc7, 0x86, 0xbe, 0x02, 0x04, 0x00, 0xe8, 0xc8, 0xef, 0xeb, 0x0b,
- 0xc6, 0x86, 0x84, 0x02, 0x01, 0xc7, 0x86, 0xbe, 0x02, 0x01, 0x00, 0x5b, 0xc3, 0xb8, 0x80, 0x0a,
- 0xf6, 0x86, 0xa6, 0x02, 0x01, 0x75, 0x45, 0xf6, 0x86, 0xa8, 0x02, 0x01, 0x75, 0x3e, 0xf7, 0x86,
- 0xf6, 0x00, 0x10, 0x00, 0x75, 0x36, 0xf7, 0x07, 0x82, 0x00, 0x74, 0x2f, 0xc7, 0x86, 0x2a, 0x02,
- 0x07, 0x00, 0xc6, 0x86, 0x16, 0x01, 0x00, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x01, 0xc6, 0x86, 0x85,
- 0x02, 0x01, 0xf6, 0x86, 0xa7, 0x02, 0x01, 0x75, 0x0c, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0c, 0x80,
- 0x7e, 0x06, 0x0e, 0x77, 0x06, 0xb8, 0x0a, 0x00, 0xe8, 0x62, 0xe1, 0xc3, 0x89, 0x86, 0xe2, 0x02,
- 0xe9, 0xcf, 0xeb, 0xf7, 0x07, 0x02, 0x00, 0x74, 0x0f, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x09, 0xc6,
- 0x86, 0x60, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0e, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x8b, 0xb6,
- 0xfe, 0x05, 0x0b, 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x89,
- 0x86, 0xde, 0x02, 0x8b, 0xb6, 0xe5, 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86,
- 0x0c, 0x02, 0x8b, 0xb6, 0xea, 0x05, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0xa2, 0x00, 0x8b,
- 0xb6, 0xef, 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x08, 0x02, 0x8b, 0xb6,
- 0xf4, 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0xf8, 0x01, 0x8b, 0xb6, 0xf9,
- 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0xf6, 0x01, 0x8b, 0x07, 0xa9, 0x02,
- 0x00, 0x75, 0x07, 0xa8, 0x28, 0x74, 0x03, 0xe9, 0x71, 0xff, 0xc7, 0x86, 0xe2, 0x02, 0x00, 0x01,
- 0xe9, 0x3f, 0xeb, 0xc3, 0xf7, 0x07, 0x02, 0x02, 0x74, 0xf9, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0,
- 0x8b, 0xb6, 0x13, 0x06, 0x0b, 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x86,
- 0xe0, 0x89, 0x86, 0xde, 0x02, 0x8b, 0xb6, 0x04, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4,
- 0x89, 0x86, 0x0c, 0x02, 0x8b, 0xb6, 0x09, 0x06, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0x20,
- 0x00, 0x8b, 0xb6, 0x0e, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x08, 0x02,
- 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x96, 0xc6, 0x86, 0x60, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0e, 0xeb,
- 0x8b, 0x53, 0x57, 0x8c, 0xdb, 0x8e, 0xc3, 0xbb, 0x12, 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0xf0, 0xad,
- 0x8b, 0x34, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0x89, 0x35, 0x83, 0xc3, 0x02, 0xe2, 0xf4, 0x5f, 0x5b,
- 0xc3, 0x68, 0xc1, 0x29, 0xeb, 0x08, 0x68, 0x29, 0x2a, 0xeb, 0x03, 0x68, 0x6b, 0x2a, 0xf7, 0x07,
- 0x82, 0x02, 0x74, 0x1c, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0x4a, 0x06, 0x0b, 0xf6,
- 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xde, 0x02, 0xc3,
- 0x83, 0xc4, 0x02, 0xc3, 0x8b, 0x07, 0xf6, 0x86, 0x63, 0x01, 0x01, 0x74, 0x1e, 0xa9, 0x00, 0x20,
- 0x74, 0x40, 0x56, 0x57, 0xe8, 0xa3, 0xd0, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8,
- 0xb6, 0xd0, 0xbe, 0x6d, 0x45, 0xe8, 0x44, 0xd3, 0x5f, 0x5e, 0xc3, 0x80, 0x7e, 0x06, 0x08, 0x75,
- 0x21, 0xa9, 0x00, 0x10, 0x74, 0x1c, 0xa9, 0x3c, 0x00, 0x75, 0x17, 0xff, 0x86, 0xc8, 0x02, 0xff,
- 0x86, 0xc6, 0x02, 0x83, 0xbe, 0xc6, 0x02, 0x02, 0x72, 0x05, 0xc6, 0x46, 0x07, 0x0a, 0xc3, 0xe8,
- 0xd2, 0xeb, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0x3e, 0x26, 0x56, 0x83, 0xc7, 0x06,
- 0x81, 0xff, 0x3e, 0x5d, 0x72, 0x03, 0xbf, 0x38, 0x5d, 0xab, 0xab, 0xab, 0xf6, 0x86, 0xcc, 0x01,
- 0x01, 0x74, 0x18, 0xc6, 0x86, 0xcb, 0x01, 0x01, 0xe8, 0x3f, 0xd0, 0xc7, 0x44, 0x02, 0x05, 0x00,
- 0x8d, 0x7e, 0x16, 0xe8, 0x52, 0xd0, 0xc6, 0x86, 0xca, 0x01, 0x00, 0xc3, 0xf7, 0x86, 0xf6, 0x00,
- 0x08, 0x00, 0x74, 0x06, 0xbe, 0x1b, 0x46, 0xe8, 0x20, 0xd2, 0x8d, 0xb6, 0x6c, 0x15, 0x8e, 0x46,
- 0x02, 0x8a, 0x1c, 0xf6, 0xc3, 0x80, 0x75, 0x0d, 0x80, 0xfb, 0x10, 0x77, 0x14, 0x32, 0xff, 0xd1,
- 0xe3, 0xff, 0xa7, 0xda, 0x04, 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0xc3, 0xb8, 0x00, 0x80, 0xeb,
- 0x08, 0xb8, 0x00, 0x80, 0xeb, 0x03, 0xb8, 0x00, 0x20, 0x8d, 0xb6, 0x6c, 0x15, 0x89, 0x44, 0x02,
- 0x80, 0x0c, 0x80, 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0x26, 0xc7,
- 0x06, 0x70, 0x00, 0x08, 0x00, 0xc3, 0xeb, 0xe1, 0xb8, 0x04, 0x00, 0x80, 0xbe, 0x06, 0x01, 0x01,
- 0x75, 0xf4, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x74, 0xea, 0xc6, 0x86, 0x08, 0x01,
- 0x01, 0xc6, 0x86, 0xcd, 0x01, 0x00, 0xc6, 0x86, 0x09, 0x01, 0x00, 0x8b, 0x86, 0xf8, 0x00, 0x89,
- 0x86, 0xf6, 0x00, 0x8d, 0xb6, 0x76, 0x15, 0xb8, 0x03, 0x00, 0xf6, 0x04, 0x80, 0x75, 0xc7, 0x33,
- 0xc0, 0x39, 0x04, 0x75, 0x1e, 0x39, 0x44, 0x02, 0x75, 0x19, 0x39, 0x44, 0x04, 0x75, 0x14, 0x8b,
- 0x86, 0x00, 0x01, 0x89, 0x04, 0x8b, 0x86, 0x02, 0x01, 0x89, 0x44, 0x02, 0x8b, 0x86, 0x04, 0x01,
- 0x89, 0x44, 0x04, 0xad, 0x8b, 0x14, 0x8b, 0x74, 0x02, 0x89, 0x86, 0xd0, 0x01, 0x89, 0x96, 0xd2,
- 0x01, 0x89, 0xb6, 0xd4, 0x01, 0x8e, 0x46, 0x02, 0x50, 0xe8, 0x44, 0xce, 0x26, 0xa3, 0x1e, 0x00,
- 0x8b, 0xc2, 0xe8, 0x3b, 0xce, 0x26, 0xa3, 0x20, 0x00, 0x8b, 0xc6, 0xe8, 0x32, 0xce, 0x26, 0xa3,
- 0x22, 0x00, 0x58, 0xbb, 0x2a, 0x05, 0xb9, 0x13, 0x00, 0x1e, 0x07, 0x8b, 0x3f, 0x03, 0xfd, 0xab,
- 0x89, 0x15, 0x89, 0x75, 0x02, 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xbb, 0x26, 0x05, 0x8d, 0x96, 0x84,
- 0x15, 0xb8, 0x02, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0x8b, 0xf2, 0xb9, 0x09, 0x00, 0xf3, 0xa5, 0x83,
- 0xc3, 0x02, 0x48, 0x75, 0xef, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x06, 0xbe, 0x1b, 0x46,
- 0xe8, 0x07, 0xd1, 0x8d, 0xb6, 0x6c, 0x15, 0x8b, 0x44, 0x08, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x20,
- 0x75, 0x0a, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x0c, 0x75, 0x02, 0xeb, 0x03, 0x25, 0xff, 0x7b, 0x89,
- 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0xf7, 0x86, 0x12, 0x01, 0x01, 0x00, 0x74, 0x08, 0xc7,
- 0x06, 0x6b, 0x45, 0x58, 0x02, 0xeb, 0x06, 0xc7, 0x06, 0x6b, 0x45, 0x08, 0x07, 0x8e, 0x46, 0x02,
- 0x26, 0x8b, 0x1e, 0x28, 0x00, 0x81, 0xe3, 0xff, 0xf4, 0xa9, 0x04, 0x00, 0x74, 0x04, 0x81, 0xcb,
- 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x03, 0x8e, 0x46, 0x02, 0x26, 0x89,
- 0x1e, 0x28, 0x00, 0x8d, 0xb6, 0x80, 0x15, 0xe8, 0x02, 0x02, 0x8d, 0xb6, 0x7c, 0x15, 0xe8, 0x20,
- 0x00, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x74, 0x03, 0xe8, 0xf2, 0x13, 0xc6, 0x86, 0x07, 0x01, 0x01,
- 0xe8, 0x5f, 0x05, 0xe9, 0x90, 0xfe, 0x56, 0x83, 0xc6, 0x08, 0xe8, 0x04, 0x00, 0x5e, 0xe9, 0x85,
- 0xfe, 0x8e, 0x46, 0x02, 0xb8, 0xc0, 0x00, 0xe8, 0x56, 0xcd, 0x26, 0xa3, 0x3a, 0x00, 0x8b, 0x04,
- 0x0d, 0x80, 0x00, 0x89, 0x86, 0xd6, 0x01, 0xe8, 0x46, 0xcd, 0x26, 0xa3, 0x3c, 0x00, 0x8b, 0x44,
- 0x02, 0x89, 0x86, 0xd8, 0x01, 0xe8, 0x38, 0xcd, 0x26, 0xa3, 0x3e, 0x00, 0xc3, 0x83, 0x8e, 0x1e,
- 0x01, 0x01, 0xc6, 0x86, 0x16, 0x01, 0x00, 0x8a, 0x46, 0x06, 0x3c, 0x00, 0x74, 0x1b, 0x3c, 0x10,
- 0x74, 0x17, 0x3c, 0x12, 0x74, 0x13, 0x3c, 0x0e, 0x74, 0x17, 0x3c, 0x48, 0x74, 0x19, 0xe8, 0x35,
- 0xfe, 0xb8, 0x0f, 0x00, 0xe8, 0x86, 0xdd, 0xeb, 0x35, 0xe8, 0x2a, 0xfe, 0xe8, 0xc7, 0x03, 0xeb,
- 0x2d, 0xc6, 0x46, 0x07, 0x10, 0xeb, 0x20, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75,
- 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xce,
- 0x13, 0xc6, 0x46, 0x07, 0x12, 0xeb, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0xe9, 0xf8, 0xfd, 0xc3, 0xc6,
- 0x86, 0x06, 0x01, 0x00, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x75, 0x03, 0xe9, 0xe8,
- 0xfd, 0x8b, 0x44, 0x08, 0x89, 0x86, 0xf4, 0x00, 0x8b, 0x44, 0x0a, 0xa9, 0x00, 0x02, 0x74, 0x03,
- 0x0d, 0x00, 0x01, 0x89, 0x86, 0xf6, 0x00, 0x89, 0x86, 0xf8, 0x00, 0xf7, 0x86, 0xf6, 0x00, 0x00,
- 0x04, 0x74, 0x06, 0xb8, 0x01, 0x00, 0xe9, 0xc0, 0xfd, 0x8b, 0x44, 0x12, 0x0b, 0xc0, 0x75, 0x16,
- 0xb8, 0x18, 0x47, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x01, 0x75, 0x0b, 0xf7, 0x86, 0xf6, 0x00, 0x00,
- 0x02, 0x75, 0x03, 0xb8, 0xc6, 0x11, 0x89, 0x86, 0xfa, 0x00, 0x89, 0x86, 0x32, 0x01, 0x8d, 0xbe,
- 0x30, 0x04, 0x8b, 0x44, 0x0c, 0x89, 0x05, 0x89, 0x86, 0x00, 0x01, 0x8b, 0x44, 0x0e, 0x89, 0x45,
- 0x02, 0x89, 0x86, 0x02, 0x01, 0x8b, 0x44, 0x10, 0x89, 0x45, 0x04, 0x89, 0x86, 0x04, 0x01, 0x80,
- 0xbe, 0x62, 0x01, 0x01, 0x75, 0x21, 0x8b, 0x44, 0x0c, 0x89, 0x86, 0xb0, 0x03, 0x89, 0x86, 0xb6,
- 0x03, 0x8b, 0x44, 0x0e, 0x89, 0x86, 0xb2, 0x03, 0x89, 0x86, 0xb8, 0x03, 0x8b, 0x44, 0x10, 0x89,
- 0x86, 0xb4, 0x03, 0x89, 0x86, 0xba, 0x03, 0x8e, 0x46, 0x02, 0x8b, 0x86, 0xfa, 0x00, 0x26, 0xa3,
- 0x12, 0x00, 0x8b, 0x44, 0x14, 0x26, 0xa3, 0x2a, 0x00, 0x8b, 0x44, 0x16, 0x25, 0xff, 0xf4, 0x83,
- 0xc8, 0x30, 0x26, 0xa3, 0x28, 0x00, 0x8b, 0x86, 0xf4, 0x00, 0x25, 0xff, 0xfe, 0xc1, 0xe8, 0x08,
- 0x89, 0x86, 0x24, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x74, 0x0f, 0xf6, 0x06, 0x1e, 0x56,
- 0x01, 0x75, 0x08, 0xc6, 0x06, 0x1e, 0x56, 0x01, 0xe8, 0x9d, 0x0f, 0x80, 0xbe, 0x62, 0x01, 0x01,
- 0x75, 0x01, 0xc3, 0xc6, 0x86, 0x06, 0x01, 0x01, 0xe9, 0xfb, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0x7c, 0x08, 0x8d, 0xb6, 0xd0, 0x02, 0xb9, 0x05, 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe,
- 0xd0, 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab, 0x81, 0xa6, 0x06, 0x02, 0x7f, 0xdf, 0x5e, 0xe9,
- 0xd4, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x7c, 0x08, 0x8d, 0xb6, 0x3c, 0x02, 0xb9, 0x0c,
- 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe, 0x3c, 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab, 0x5e,
- 0xe9, 0xb3, 0xfc, 0x83, 0xc6, 0x08, 0xe8, 0x03, 0x00, 0xe9, 0xaa, 0xfc, 0x06, 0x8e, 0x46, 0x02,
- 0x8b, 0x04, 0x89, 0x86, 0xda, 0x01, 0xe8, 0x77, 0xcb, 0x26, 0xa3, 0x26, 0x00, 0x8b, 0x44, 0x02,
- 0x23, 0x86, 0xf8, 0x01, 0xe8, 0x69, 0xcb, 0x25, 0xff, 0x7f, 0x26, 0x8b, 0x0e, 0x24, 0x00, 0x81,
- 0xe1, 0x00, 0x80, 0x0b, 0xc1, 0x26, 0xa3, 0x24, 0x00, 0xe8, 0x54, 0xcb, 0x89, 0x86, 0xdc, 0x01,
- 0x07, 0xc3, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x75, 0x03, 0xe9, 0x6a, 0xfc, 0xc6,
- 0x86, 0x62, 0x01, 0x01, 0xe8, 0x68, 0xfe, 0xc6, 0x86, 0x62, 0x01, 0x00, 0xc6, 0x86, 0x06, 0x01,
- 0x01, 0xe9, 0x52, 0xfc, 0xb8, 0x11, 0x00, 0xc6, 0x86, 0x62, 0x01, 0x00, 0xe9, 0x4a, 0xfc, 0xc3,
- 0x8b, 0xd8, 0x26, 0x8b, 0x04, 0x50, 0x33, 0xc0, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04,
- 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58, 0x75, 0x3c, 0x05, 0x55, 0x55, 0x73, 0xe9, 0xb8,
- 0x01, 0x00, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b,
- 0xc1, 0x58, 0x75, 0x22, 0xd1, 0xc0, 0x73, 0xea, 0xf7, 0xd0, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26,
- 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58, 0x75, 0x0a, 0xd1, 0xc0, 0x72, 0xea,
- 0xf8, 0x58, 0x26, 0x89, 0x04, 0xc3, 0xf9, 0xeb, 0xf8, 0x8b, 0x44, 0x08, 0x25, 0xff, 0x7b, 0x89,
- 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x1e, 0x28, 0x00, 0x81,
- 0xe3, 0xff, 0xf4, 0xa9, 0x04, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74,
- 0x04, 0x81, 0xcb, 0x00, 0x03, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x28, 0x00, 0xe9, 0xb6, 0xfb,
- 0x8b, 0x44, 0x08, 0x89, 0x86, 0x28, 0x02, 0x86, 0xc4, 0x89, 0x86, 0x62, 0x05, 0xf6, 0x86, 0x73,
- 0x02, 0x01, 0x75, 0x05, 0xc6, 0x86, 0x74, 0x02, 0x01, 0xc6, 0x86, 0x73, 0x02, 0x00, 0xe9, 0x95,
- 0xfb, 0x8b, 0x44, 0x08, 0x89, 0x86, 0x30, 0x01, 0xbe, 0x09, 0x46, 0xe8, 0x7c, 0xcd, 0xe9, 0x85,
- 0xfb, 0x8b, 0x44, 0x08, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x2a, 0x00, 0xe9, 0x78, 0xfb, 0x80, 0x7e,
- 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x13, 0x80, 0x7e, 0x08, 0x00, 0x74, 0x06,
- 0x80, 0x7e, 0x08, 0x16, 0x75, 0x07, 0x8d, 0x5c, 0x08, 0xe8, 0xe2, 0xe9, 0xc3, 0xb8, 0x00, 0x10,
- 0xe9, 0x56, 0xfb, 0xb8, 0x04, 0x00, 0xf6, 0x86, 0x07, 0x01, 0x01, 0x74, 0x1e, 0x8e, 0x46, 0x02,
- 0x26, 0xa1, 0x28, 0x00, 0x8b, 0x5c, 0x08, 0x81, 0xe3, 0xff, 0xf4, 0x25, 0x00, 0x0b, 0x0b, 0xd8,
- 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x28, 0x00, 0xb8, 0x00, 0x20, 0xe9, 0x2b, 0xfb, 0xb8, 0x05,
- 0x00, 0xf6, 0x86, 0x07, 0x01, 0x01, 0x75, 0x11, 0xfa, 0xe8, 0xe2, 0xce, 0xfa, 0xe8, 0x16, 0xfb,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x02, 0xe9, 0x0d, 0xfb, 0xe9, 0x07, 0xfb, 0x8b,
- 0xd0, 0xb8, 0x01, 0x00, 0xe9, 0xa4, 0x01, 0xc3, 0x80, 0xbe, 0xad, 0x02, 0x01, 0x74, 0x0e, 0x80,
- 0xbe, 0x07, 0x01, 0x01, 0x75, 0xf1, 0x80, 0xbe, 0x09, 0x01, 0x01, 0x74, 0xea, 0xc6, 0x86, 0x09,
- 0x01, 0x01, 0xc6, 0x86, 0xad, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x00, 0x00, 0x02,
- 0x00, 0x74, 0x08, 0xbe, 0x27, 0x46, 0xe8, 0xc1, 0xcc, 0xeb, 0x03, 0x0d, 0x00, 0x01, 0x80, 0xbe,
- 0xa5, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xa7, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00, 0x04, 0x80,
- 0xbe, 0xa5, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00, 0x02,
- 0xf7, 0x86, 0xa1, 0x02, 0x01, 0x00, 0x74, 0x03, 0x0d, 0x00, 0x08, 0xa9, 0x00, 0x80, 0x74, 0x1d,
- 0xc7, 0x86, 0x2e, 0x01, 0x02, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01, 0x74, 0x1d, 0x53, 0xbb, 0x40,
- 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x72, 0x00, 0x00, 0x02, 0x5b, 0xeb, 0x0d, 0x8a, 0x56, 0x06,
- 0xd0, 0xe2, 0xd0, 0xe2, 0xd0, 0xe2, 0x24, 0x0f, 0x0a, 0xc2, 0x89, 0x86, 0x34, 0x02, 0x8b, 0xd0,
- 0xb8, 0x02, 0x00, 0xe9, 0x92, 0x00, 0x8b, 0x96, 0x1e, 0x01, 0x8b, 0x86, 0x12, 0x01, 0xa9, 0x00,
- 0x02, 0x74, 0x06, 0xf7, 0xc2, 0x05, 0x80, 0x74, 0x0e, 0xc6, 0x86, 0x07, 0x01, 0x00, 0xc6, 0x86,
- 0x16, 0x01, 0x00, 0x81, 0xca, 0x80, 0x00, 0x33, 0xc0, 0x89, 0x86, 0x1e, 0x01, 0x89, 0x96, 0x20,
- 0x01, 0xc7, 0x86, 0x34, 0x02, 0x00, 0x00, 0xf7, 0xc2, 0x01, 0x00, 0x75, 0x22, 0x83, 0xbe, 0x2e,
- 0x01, 0x03, 0x74, 0x1b, 0xc7, 0x86, 0x2e, 0x01, 0x03, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01, 0x74,
- 0x0e, 0x53, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x72, 0x00, 0x00, 0x02, 0x5b, 0xb8,
- 0x03, 0x00, 0xeb, 0x34, 0x3b, 0xc0, 0x74, 0x00, 0x8b, 0xd0, 0xb8, 0x04, 0x00, 0xeb, 0x29, 0xc3,
- 0xc6, 0x86, 0xca, 0x01, 0x00, 0xc6, 0x86, 0xcb, 0x01, 0x00, 0x55, 0x33, 0xed, 0xbe, 0x18, 0x55,
- 0xe8, 0xd7, 0xcb, 0x5d, 0xb8, 0x05, 0x00, 0xeb, 0x0f, 0xb8, 0x06, 0x00, 0xeb, 0x0a, 0xb8, 0x07,
- 0x00, 0xeb, 0x05, 0xb8, 0x08, 0x00, 0xeb, 0x00, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e, 0x01,
- 0x75, 0x0a, 0xf7, 0x86, 0x58, 0x15, 0x00, 0x80, 0x74, 0x02, 0xeb, 0x5f, 0x8b, 0x8e, 0x5e, 0x01,
- 0x41, 0x80, 0xe1, 0x07, 0x3b, 0xf1, 0x75, 0x20, 0x46, 0x83, 0xe6, 0x07, 0x89, 0xb6, 0x60, 0x01,
- 0x51, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x8b, 0x0c, 0x83,
- 0xf9, 0x05, 0x74, 0x03, 0x0d, 0x00, 0x01, 0x59, 0x83, 0xf8, 0x04, 0x75, 0x1a, 0x51, 0xb9, 0x08,
- 0x00, 0x8d, 0xb6, 0x3e, 0x01, 0x39, 0x04, 0x74, 0x08, 0x83, 0xc6, 0x04, 0xe2, 0xf7, 0x59, 0xeb,
- 0x06, 0x89, 0x54, 0x02, 0x59, 0xeb, 0x13, 0x89, 0x8e, 0x5e, 0x01, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d,
- 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x89, 0x04, 0x89, 0x54, 0x02, 0xc3, 0x8d, 0xb6, 0x58, 0x15, 0x89,
- 0x54, 0x06, 0xc7, 0x44, 0x04, 0x08, 0x00, 0x3c, 0x05, 0x75, 0x05, 0xc7, 0x44, 0x04, 0x06, 0x00,
- 0x25, 0xff, 0x7f, 0x89, 0x04, 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0x26, 0xc7, 0x06, 0x70, 0x00, 0x00,
- 0x20, 0xc3, 0x8b, 0x86, 0x14, 0x01, 0x89, 0x86, 0x12, 0x01, 0xc6, 0x46, 0x09, 0x1e, 0xc6, 0x46,
- 0x08, 0x1e, 0xc7, 0x86, 0x28, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x2a, 0x01, 0x00, 0x00, 0x8c, 0xd8,
- 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xe0, 0x01, 0xb9, 0x2b, 0x00, 0xf3, 0xab, 0xc7, 0x86, 0x26,
- 0x02, 0xff, 0xff, 0xb0, 0x02, 0xe8, 0x5a, 0xce, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x0c,
- 0xb8, 0x05, 0x00, 0xe8, 0x13, 0x00, 0xc6, 0x46, 0x07, 0x42, 0xeb, 0x0c, 0xb8, 0x02, 0x00, 0xe8,
- 0x07, 0x00, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x00, 0xc3, 0x50, 0xb0, 0x00, 0x88, 0x86, 0xa5, 0x02,
- 0x88, 0x86, 0xa6, 0x02, 0x88, 0x86, 0xa7, 0x02, 0x88, 0x86, 0xa8, 0x02, 0x88, 0x86, 0xaa, 0x02,
- 0x88, 0x86, 0xa9, 0x02, 0x58, 0x9c, 0xfa, 0x83, 0xf8, 0x02, 0x74, 0x13, 0x83, 0xf8, 0x05, 0x74,
- 0x0c, 0xc7, 0x46, 0x12, 0xf8, 0x1c, 0xc7, 0x46, 0x14, 0xf8, 0x1c, 0xeb, 0x42, 0xeb, 0x21, 0xc6,
- 0x86, 0xa5, 0x02, 0x01, 0xc6, 0x86, 0xa9, 0x02, 0x01, 0xc6, 0x86, 0xaa, 0x02, 0x00, 0xc7, 0x46,
- 0x12, 0xc9, 0x31, 0xc7, 0x46, 0x14, 0xfd, 0x2e, 0xc7, 0x86, 0xba, 0x01, 0x2c, 0x00, 0xeb, 0x1f,
- 0xc6, 0x86, 0xa7, 0x02, 0x01, 0xc6, 0x86, 0xa9, 0x02, 0x00, 0xc6, 0x86, 0xaa, 0x02, 0x01, 0xc7,
- 0x46, 0x12, 0xcd, 0x31, 0xc7, 0x46, 0x14, 0x01, 0x2f, 0xc7, 0x86, 0xba, 0x01, 0x2c, 0x00, 0x0e,
- 0xe8, 0x02, 0x00, 0xeb, 0x01, 0xcf, 0xc3, 0x8c, 0x00, 0x3a, 0x46, 0xbc, 0x02, 0x96, 0x00, 0x70,
- 0x46, 0x14, 0x00, 0x96, 0x00, 0x84, 0x46, 0x08, 0x07, 0x96, 0x00, 0xbe, 0x46, 0x6e, 0x00, 0x78,
- 0x00, 0x2e, 0x49, 0x00, 0x00, 0x6e, 0x00, 0x78, 0x47, 0xf4, 0x01, 0x6e, 0x00, 0xa8, 0x47, 0x08,
- 0x07, 0x6e, 0x00, 0xd6, 0x4a, 0x05, 0x00, 0xaa, 0x00, 0xdc, 0x47, 0xfa, 0x00, 0x8c, 0x00, 0x52,
- 0x48, 0x02, 0x00, 0x8c, 0x00, 0x42, 0x47, 0x3c, 0x00, 0x78, 0x00, 0xbe, 0x48, 0x04, 0x01, 0x96,
- 0x00, 0xea, 0x48, 0x64, 0x00, 0x96, 0x00, 0x0e, 0x49, 0xdc, 0x05, 0xbe, 0x00, 0x34, 0x4a, 0xf4,
- 0x01, 0xa0, 0x00, 0x58, 0x4b, 0xf4, 0x01, 0xbe, 0x00, 0x5e, 0x4a, 0xf4, 0x01, 0x82, 0x00, 0x7e,
- 0x4d, 0x19, 0x00, 0x6e, 0x00, 0x3f, 0x4b, 0x14, 0x00, 0x78, 0x00, 0x72, 0x4a, 0xc4, 0x09, 0x6e,
- 0x00, 0x86, 0x4a, 0x02, 0x00, 0xd2, 0x00, 0x06, 0x4e, 0x2c, 0x01, 0x78, 0x00, 0x90, 0x4c, 0xf0,
- 0x00, 0x6e, 0x00, 0xaf, 0x4b, 0x04, 0x00, 0xa0, 0x00, 0xc6, 0x4b, 0xbc, 0x02, 0x6e, 0x00, 0xd8,
- 0x4b, 0x08, 0x07, 0x6e, 0x00, 0xe6, 0x4b, 0xe8, 0x03, 0x6e, 0x00, 0xf8, 0x4b, 0x14, 0x00, 0x96,
- 0x00, 0x04, 0x4c, 0x64, 0x00, 0xa0, 0x00, 0x9e, 0x4c, 0xf4, 0x01, 0xc8, 0x00, 0x16, 0x48, 0x02,
- 0x00, 0x6e, 0x00, 0x2c, 0x4c, 0x04, 0x00, 0x8c, 0x00, 0x6e, 0x4c, 0x14, 0x00, 0xb4, 0x00, 0x8a,
- 0x4e, 0x64, 0x00, 0xa0, 0x00, 0xa3, 0x4d, 0x05, 0x00, 0xc8, 0x00, 0xb8, 0x4d, 0x03, 0x00, 0xd2,
- 0x00, 0x0a, 0x4e, 0xf4, 0x01, 0xd2, 0x00, 0x1c, 0x4e, 0x4c, 0x04, 0xdc, 0x00, 0x36, 0x4e, 0xfa,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x80, 0xbe,
- 0x54, 0x02, 0x01, 0x75, 0x28, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x22, 0xf6, 0x86, 0x65, 0x02, 0x01,
- 0x74, 0x1c, 0xe8, 0x59, 0xe2, 0xbe, 0x43, 0x45, 0xe8, 0x3f, 0xc9, 0x8c, 0xd8, 0x8e, 0xc0, 0x33,
- 0xc0, 0x8d, 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab, 0xc6, 0x86, 0x65, 0x02, 0x00, 0xc3, 0xe8, 0xbf,
- 0xe4, 0xeb, 0xdf, 0x90, 0x8a, 0x46, 0x08, 0x3c, 0x0a, 0x75, 0x0b, 0xf6, 0x86, 0x5e, 0x02, 0x01,
- 0x74, 0x04, 0xc6, 0x46, 0x09, 0x04, 0xc3, 0x90, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x32, 0x80,
- 0x7e, 0x08, 0x06, 0x75, 0x2c, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x0f, 0xf6, 0x86, 0x5e, 0x02, 0x01,
- 0x74, 0x08, 0xb8, 0x07, 0x00, 0xe8, 0x55, 0xd6, 0xeb, 0x17, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74,
- 0x10, 0xf6, 0x86, 0x59, 0x02, 0x01, 0x75, 0x09, 0xc6, 0x86, 0x59, 0x02, 0x01, 0xc6, 0x46, 0x09,
- 0x08, 0xc3, 0x8a, 0x4e, 0x06, 0x8a, 0x56, 0x08, 0x80, 0xf9, 0x06, 0x74, 0x71, 0x80, 0xf9, 0x08,
- 0x74, 0x05, 0x80, 0xf9, 0x0a, 0x75, 0x0a, 0x80, 0xfa, 0x0c, 0x74, 0x62, 0x80, 0xfa, 0x04, 0x74,
- 0x5d, 0x80, 0xfa, 0x0c, 0x74, 0x05, 0x80, 0xfa, 0x04, 0x75, 0x52, 0xf6, 0x86, 0x63, 0x02, 0x01,
- 0x74, 0x4b, 0xe8, 0xf7, 0x02, 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x0b, 0x81, 0x8e, 0x06, 0x02,
- 0x00, 0x80, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x06, 0x81, 0x8e, 0x06, 0x02, 0x00,
- 0x50, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02, 0x01, 0xc6, 0x86, 0x69, 0x02, 0x01,
- 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0xb2, 0xca, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00,
- 0xfe, 0xbe, 0x4f, 0x45, 0xe8, 0x63, 0xc8, 0xbe, 0x79, 0x45, 0xe8, 0x5d, 0xc8, 0xc3, 0xb8, 0x07,
- 0x00, 0xe8, 0xb9, 0xd5, 0xeb, 0xf7, 0x80, 0xbe, 0xa5, 0x02, 0x01, 0x74, 0x02, 0xeb, 0x2b, 0x80,
- 0x7e, 0x06, 0x10, 0x75, 0x06, 0xc6, 0x46, 0x07, 0x12, 0xeb, 0x1f, 0x80, 0x7e, 0x08, 0x08, 0x75,
- 0x19, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x6c, 0xca, 0xbe, 0xb5,
- 0x45, 0xe8, 0x26, 0xc8, 0xbe, 0xbb, 0x45, 0xe8, 0x20, 0xc8, 0xc3, 0x90, 0xf6, 0x86, 0x5f, 0x02,
- 0x01, 0x74, 0x28, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x06, 0xc6, 0x46,
- 0x09, 0x04, 0xeb, 0x17, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x11, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xe8,
- 0x38, 0xca, 0xbe, 0x79, 0x45, 0xe8, 0xf2, 0xc7, 0xe8, 0x60, 0xe0, 0xc3, 0x8a, 0x46, 0x06, 0x3c,
- 0x04, 0x75, 0x1e, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x02, 0x75, 0x0e, 0xc6, 0x46, 0x07, 0x06, 0xc6,
- 0x46, 0x06, 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x16, 0xb8, 0x0d, 0x00, 0xe8, 0x2e, 0xd5, 0xeb,
- 0x0e, 0x3c, 0x08, 0x72, 0x0a, 0x3c, 0x0c, 0x77, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x1e, 0xd5, 0xc3,
- 0x80, 0x7e, 0x08, 0x00, 0x75, 0x33, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x2c, 0xf6, 0x86, 0x5e,
- 0x02, 0x01, 0x74, 0x25, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x03, 0x00, 0x74, 0x11,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x14, 0x00, 0x03, 0xbe, 0x73, 0x45, 0xe8, 0x8b, 0xc7, 0xeb,
- 0x08, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86, 0x4a, 0x02, 0xc3, 0x80, 0x7e, 0x08, 0x18, 0x75, 0x0e,
- 0xbe, 0xf7, 0x45, 0xe8, 0x74, 0xc7, 0xe8, 0xc3, 0x01, 0xe8, 0xdf, 0xdf, 0xeb, 0x00, 0xc3, 0xf6,
- 0x86, 0x7c, 0x02, 0x01, 0x75, 0x1e, 0x80, 0xbe, 0x68, 0x02, 0x01, 0x75, 0x17, 0xc6, 0x46, 0x07,
- 0x12, 0xc6, 0x46, 0x09, 0x1e, 0x83, 0x8e, 0x06, 0x02, 0x08, 0x83, 0x8e, 0x1e, 0x01, 0x02, 0xc6,
- 0x86, 0x85, 0x02, 0x01, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x35, 0x80, 0xbe, 0x5b, 0x02,
- 0x01, 0x75, 0x58, 0x80, 0xbe, 0x54, 0x02, 0x01, 0x74, 0x1f, 0xe8, 0x6c, 0xe0, 0x80, 0x7e, 0x06,
- 0x0a, 0x75, 0x16, 0xc6, 0x86, 0x63, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0c, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x40, 0x75, 0x05, 0xc6, 0x86, 0x5e, 0x02, 0x01, 0xc3, 0xbe, 0x79, 0x45, 0xe8, 0x0a, 0xc7,
- 0xc3, 0x8a, 0x46, 0x08, 0x3c, 0x04, 0x75, 0x0e, 0xbe, 0x79, 0x45, 0xe8, 0xfc, 0xc6, 0xff, 0x86,
- 0xb2, 0x02, 0xe8, 0x9e, 0xdf, 0xc3, 0x3c, 0x06, 0x75, 0xdf, 0xf6, 0x86, 0x5f, 0x02, 0x01, 0x75,
- 0xd8, 0xbe, 0x79, 0x45, 0xe8, 0xe3, 0xc6, 0xe8, 0x51, 0xdf, 0xc3, 0xc6, 0x86, 0x66, 0x02, 0x01,
- 0xc3, 0x90, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x22, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x1b, 0xff,
- 0x86, 0xb8, 0x02, 0x83, 0xbe, 0xb8, 0x02, 0x04, 0x77, 0x0a, 0xbe, 0x85, 0x45, 0xe8, 0xba, 0xc6,
- 0xe8, 0x9b, 0xe0, 0xc3, 0xb8, 0x09, 0x00, 0xe8, 0x13, 0xd4, 0xc3, 0xeb, 0xfd, 0x90, 0x80, 0x7e,
- 0x08, 0x02, 0x75, 0x1d, 0x80, 0xbe, 0x5e, 0x02, 0x01, 0x74, 0x08, 0xb8, 0x05, 0x00, 0xe8, 0xfc,
- 0xd3, 0xeb, 0x0e, 0xff, 0x86, 0x4a, 0x02, 0xc6, 0x46, 0x09, 0x04, 0xb8, 0x00, 0x01, 0xe8, 0x50,
- 0xe2, 0xc3, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x16, 0x80, 0xbe, 0x54, 0x02, 0x01, 0x74, 0x07, 0x80,
- 0xbe, 0x5e, 0x02, 0x00, 0x74, 0x08, 0xff, 0x86, 0x4a, 0x02, 0xc6, 0x46, 0x09, 0x04, 0xc3, 0xe9,
- 0xb8, 0x00, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0xef,
- 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x74, 0x06, 0xbe, 0x5b, 0x45, 0xe8, 0x4c, 0xc6, 0x8d, 0xbe,
- 0xd0, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x05, 0x00, 0x33, 0xc0, 0xf3, 0xaf, 0x74, 0xd0, 0x80,
- 0xbe, 0xa5, 0x02, 0x01, 0x74, 0x45, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x5f, 0x80, 0xbe, 0xa7,
- 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0xa8, 0x02, 0x01, 0x74, 0x51, 0xeb, 0x6d, 0xc7, 0x86, 0xb6,
- 0x02, 0x04, 0x00, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86,
- 0x6e, 0x02, 0x01, 0x74, 0x14, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x0e, 0xc6, 0x86, 0x56, 0x02, 0x00,
- 0xe8, 0xf5, 0xdf, 0xc7, 0x86, 0x2a, 0x02, 0x03, 0x00, 0xeb, 0x3f, 0xc7, 0x86, 0xb6, 0x02, 0x04,
- 0x00, 0xc6, 0x86, 0x56, 0x02, 0x00, 0xe8, 0xdf, 0xdf, 0xc7, 0x86, 0x2a, 0x02, 0x03, 0x00, 0x81,
- 0x8e, 0x06, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xeb, 0x1e, 0xc7, 0x86, 0xb6, 0x02,
- 0x04, 0x00, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf7, 0x86, 0xf6,
- 0x00, 0x00, 0x80, 0x75, 0x05, 0xc6, 0x86, 0x56, 0x02, 0x00, 0xc3, 0x90, 0xb8, 0x00, 0x02, 0xc7,
- 0x86, 0x32, 0x02, 0x06, 0x00, 0x80, 0xbe, 0x61, 0x02, 0x01, 0x74, 0x37, 0xf6, 0x86, 0xa7, 0x02,
- 0x01, 0x75, 0x07, 0xf6, 0x86, 0xa8, 0x02, 0x01, 0x74, 0x05, 0xb8, 0x00, 0x05, 0xeb, 0x24, 0xb8,
- 0x00, 0x04, 0xc7, 0x86, 0x32, 0x02, 0x04, 0x00, 0x8a, 0x4e, 0x08, 0x80, 0xf9, 0x0c, 0x74, 0x13,
- 0xb8, 0x00, 0x04, 0x80, 0xbe, 0x5a, 0x02, 0x01, 0x74, 0x09, 0xb8, 0x00, 0x03, 0xc7, 0x86, 0x32,
- 0x02, 0x07, 0x00, 0x89, 0x86, 0x00, 0x03, 0xc3, 0x80, 0x7e, 0x08, 0x08, 0x74, 0x23, 0x8a, 0x46,
- 0x06, 0x3c, 0x04, 0x72, 0x1c, 0x3c, 0x48, 0x74, 0x04, 0x3c, 0x0e, 0x77, 0x14, 0xf6, 0x86, 0x5d,
- 0x02, 0x01, 0x74, 0x0d, 0xf6, 0x86, 0x5c, 0x02, 0x01, 0x74, 0x06, 0xb8, 0x0c, 0x00, 0xe8, 0x9c,
- 0xd2, 0xc3, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0xff,
- 0xf7, 0xe8, 0xd4, 0x02, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x02, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x08,
- 0x75, 0x06, 0xb8, 0x01, 0x00, 0xe8, 0x75, 0xd2, 0xc3, 0x90, 0x51, 0x52, 0x56, 0x33, 0xd2, 0xc6,
- 0x86, 0x69, 0x02, 0x00, 0xe8, 0x43, 0xc7, 0x8d, 0xb6, 0xa6, 0x01, 0x8d, 0xbe, 0xac, 0x01, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0xc6, 0x86, 0x83, 0x02, 0x00, 0x32, 0xc0, 0xe8, 0x7e, 0xe3,
- 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20, 0x03, 0xbe, 0x6d, 0x45, 0xe8, 0xd9,
- 0xc4, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x1c, 0x00,
- 0x00, 0x00, 0xe8, 0x48, 0xde, 0x5e, 0x5a, 0x59, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x02, 0x74, 0x0c,
- 0x80, 0x7e, 0x06, 0x44, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x56, 0xfe, 0x8e, 0x68, 0x01,
- 0x80, 0x8e, 0x68, 0x01, 0x00, 0x74, 0x45, 0xbe, 0x6d, 0x45, 0xe8, 0x9d, 0xc4, 0xe8, 0x06, 0xbf,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x00, 0x01, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x81,
- 0x26, 0x0c, 0x00, 0xff, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x8b,
- 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86, 0x86, 0x02, 0x01, 0x83, 0xbe, 0x66, 0x01, 0x01,
- 0x75, 0x05, 0xe8, 0xcf, 0xdd, 0xeb, 0x0b, 0xe8, 0xe3, 0xdd, 0xeb, 0x06, 0xb8, 0x01, 0x00, 0xe8,
- 0xbb, 0xd1, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x14, 0x75,
- 0x0a, 0xb8, 0x05, 0x00, 0xe8, 0x72, 0xf9, 0xc6, 0x46, 0x07, 0x42, 0xc3, 0x80, 0xbe, 0xa6, 0x02,
- 0x01, 0x74, 0x4e, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x2c, 0xf6, 0x86,
- 0x6d, 0x02, 0x01, 0x74, 0x25, 0xe9, 0xd4, 0xcf, 0xbe, 0x7f, 0x45, 0xe8, 0x1c, 0xc4, 0x8e, 0x46,
- 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08,
- 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xd7, 0x07, 0xeb, 0x16, 0x80, 0x7e, 0x06, 0x10, 0x75, 0x10,
- 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x00, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xeb, 0xc8,
- 0xc3, 0xeb, 0xfd, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x0f, 0xc7, 0x86, 0xce, 0x02, 0x05, 0x00, 0xbe,
- 0xfd, 0x45, 0xe8, 0xd5, 0xc3, 0xe8, 0xea, 0xdf, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x18, 0x74, 0x06,
- 0x80, 0x7e, 0x08, 0x1a, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1c, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46,
- 0x75, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x15, 0xd1, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x0a,
- 0x80, 0x7e, 0x06, 0x48, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x42,
- 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x20, 0xf6,
- 0x46, 0x06, 0x46, 0x75, 0x11, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xc6, 0x86, 0x76, 0x02, 0x01, 0xe8,
- 0xb8, 0xc5, 0xff, 0x86, 0xcc, 0x02, 0xe8, 0xb0, 0xdc, 0xbe, 0xeb, 0x45, 0xe8, 0x6b, 0xc3, 0xc3,
- 0x80, 0x7e, 0x06, 0x42, 0x75, 0x3b, 0xf6, 0x86, 0x77, 0x02, 0x01, 0x75, 0x34, 0x83, 0xbe, 0xce,
- 0x02, 0x00, 0x74, 0x0f, 0xff, 0x8e, 0xce, 0x02, 0xbe, 0xfd, 0x45, 0xe8, 0x4c, 0xc3, 0xe8, 0x61,
- 0xdf, 0xeb, 0x1e, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10, 0x74, 0x10, 0xb8, 0x02, 0x00, 0xe8, 0x68,
- 0xf8, 0xc6, 0x46, 0x09, 0x1e, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8, 0x8c,
- 0xd0, 0xc3, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x1a, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xc6, 0x86, 0x76,
- 0x02, 0x01, 0xe8, 0x55, 0xc5, 0xff, 0x86, 0xcc, 0x02, 0xbe, 0x03, 0x46, 0xe8, 0x0b, 0xc3, 0xe8,
- 0x62, 0xdf, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x5d, 0xd0,
- 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x4f, 0xd0, 0xeb, 0x17,
- 0x80, 0x7e, 0x08, 0x16, 0x75, 0x11, 0xc7, 0x86, 0x2a, 0x02, 0x04, 0x00, 0xf6, 0x86, 0x6e, 0x02,
- 0x01, 0x74, 0x04, 0xc6, 0x46, 0x09, 0x18, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x16, 0x02, 0x00,
- 0xf7, 0xc2, 0x02, 0x00, 0x74, 0x14, 0x8b, 0xc2, 0x83, 0xe0, 0xfd, 0x8e, 0x46, 0x02, 0x26, 0xa3,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x16, 0x02, 0x00, 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26,
- 0xf7, 0x06, 0x14, 0x00, 0x03, 0x00, 0x74, 0x10, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x14, 0x00,
- 0x03, 0xc6, 0x86, 0x55, 0x02, 0x01, 0xeb, 0x00, 0xf6, 0x86, 0x55, 0x02, 0x01, 0x75, 0x14, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x0e, 0xc6, 0x46, 0x09, 0x02, 0xff, 0x86, 0x40, 0x02, 0x81, 0x8e, 0xda,
- 0x02, 0x00, 0x02, 0xc6, 0x86, 0x55, 0x02, 0x00, 0xc3, 0x90, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10,
- 0x75, 0x15, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x03, 0x00, 0x74, 0x09, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x14, 0x00, 0x03, 0xc3, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x75, 0x32, 0x8e,
- 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x08, 0x00, 0x74, 0x21, 0xf6, 0x86, 0x5d, 0x02, 0x01,
- 0x74, 0x1f, 0xf6, 0x86, 0x5c, 0x02, 0x01, 0x75, 0x18, 0xc7, 0x86, 0x2a, 0x02, 0x0a, 0x00, 0xbe,
- 0x97, 0x45, 0xe8, 0x25, 0xc2, 0xc6, 0x86, 0x5c, 0x02, 0x01, 0xeb, 0x05, 0xc6, 0x86, 0x5c, 0x02,
- 0x00, 0xc3, 0xbe, 0xa9, 0x45, 0xe8, 0x12, 0xc2, 0x33, 0xc0, 0x87, 0x86, 0xc2, 0x02, 0x0b, 0xc0,
- 0x75, 0x14, 0x80, 0xbe, 0x61, 0x02, 0x00, 0x74, 0x0d, 0xc6, 0x86, 0x61, 0x02, 0x00, 0x80, 0xa6,
- 0x07, 0x02, 0x7f, 0xe8, 0x46, 0xfc, 0xc3, 0x80, 0x7e, 0x06, 0x12, 0x75, 0x0d, 0xc6, 0x86, 0x08,
- 0x01, 0x01, 0xc6, 0x86, 0x09, 0x01, 0x00, 0xe8, 0xb8, 0xf6, 0xc3, 0x90, 0xf6, 0x86, 0x6e, 0x01,
- 0x01, 0x74, 0x15, 0x80, 0xbe, 0x70, 0x01, 0x03, 0x73, 0x07, 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xeb,
- 0x23, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xeb, 0x1c, 0xf6, 0x86, 0x6f, 0x01, 0x01, 0x74, 0x15, 0x80,
- 0xbe, 0x71, 0x01, 0x03, 0x73, 0x07, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xeb, 0x07, 0xc6, 0x86, 0x6f,
- 0x01, 0x00, 0xeb, 0x00, 0xc3, 0xf7, 0x86, 0x58, 0x15, 0x00, 0x80, 0x75, 0x07, 0x83, 0xbe, 0x58,
- 0x15, 0x05, 0x74, 0x05, 0xc6, 0x86, 0xca, 0x01, 0x01, 0xc3, 0xe8, 0xf6, 0xcf, 0xc3, 0xf7, 0x86,
- 0xf6, 0x00, 0x08, 0x00, 0x74, 0x09, 0xe8, 0xb0, 0xf5, 0xbe, 0x21, 0x46, 0xe8, 0x7b, 0xc1, 0xc3,
- 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x11, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x04, 0xc6, 0x86,
- 0x85, 0x02, 0x01, 0xb8, 0x10, 0x00, 0xe8, 0xc4, 0xce, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06,
- 0x00, 0x00, 0x02, 0x00, 0x74, 0x41, 0xbb, 0x00, 0x03, 0x8b, 0x47, 0x14, 0x83, 0xf8, 0x00, 0x74,
- 0x36, 0x3b, 0x86, 0x2a, 0x01, 0x74, 0x0c, 0x89, 0x86, 0x2a, 0x01, 0xc7, 0x86, 0x28, 0x01, 0x00,
- 0x00, 0xeb, 0x24, 0xff, 0x86, 0x28, 0x01, 0x83, 0xbe, 0x28, 0x01, 0x02, 0x72, 0x19, 0x83, 0xbe,
- 0x28, 0x01, 0x18, 0x73, 0x0c, 0x80, 0x7e, 0x08, 0x00, 0x74, 0x0c, 0x80, 0x7e, 0x08, 0x16, 0x74,
- 0x06, 0xb8, 0x10, 0x00, 0xe8, 0x76, 0xce, 0xbe, 0x27, 0x46, 0xe8, 0x0d, 0xc1, 0xc3, 0x8b, 0x86,
- 0x30, 0x01, 0x88, 0xa6, 0x2c, 0x01, 0x86, 0x86, 0x2d, 0x01, 0x32, 0x86, 0x2d, 0x01, 0x74, 0x0f,
- 0xf6, 0x46, 0x06, 0x0e, 0x74, 0x06, 0xf6, 0x46, 0x06, 0x48, 0x75, 0x03, 0xe8, 0xfa, 0xbb, 0xc3,
- 0xf6, 0x86, 0x90, 0x02, 0x01, 0x74, 0x07, 0xa8, 0x24, 0x74, 0x03, 0xe8, 0x8a, 0xcf, 0xf6, 0x86,
- 0xa9, 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0x5e, 0x02, 0x01, 0x75, 0x58, 0xeb, 0x09, 0xf6, 0x86,
- 0x6e, 0x02, 0x01, 0x75, 0x10, 0xeb, 0x52, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x02, 0xeb, 0x45, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x3f, 0xa8, 0x01, 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x10, 0xa8, 0x04,
- 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x04, 0xa8, 0x08, 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x40,
- 0xa8, 0x20, 0x74, 0x10, 0x81, 0x8e, 0xda, 0x02, 0x00, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75,
- 0x03, 0xe8, 0x8d, 0xc4, 0xa8, 0x40, 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x01, 0xa8, 0x80, 0x74,
- 0x03, 0xe8, 0x52, 0x00, 0xa9, 0x00, 0x01, 0x75, 0x01, 0xc3, 0x50, 0x80, 0x7e, 0x08, 0x0a, 0x75,
- 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x1b, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x23, 0xc6, 0x46, 0x09,
- 0x02, 0xff, 0x86, 0x40, 0x02, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x06, 0x81, 0x8e, 0xda, 0x02,
- 0x00, 0x02, 0xc6, 0x86, 0x69, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x10,
- 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06,
- 0x08, 0x00, 0x00, 0x01, 0x58, 0xc3, 0x83, 0x8e, 0xda, 0x02, 0x20, 0x83, 0x7e, 0x06, 0x08, 0x75,
- 0x13, 0x8b, 0x8e, 0xc4, 0x02, 0x41, 0x89, 0x8e, 0xc4, 0x02, 0x80, 0xf9, 0x02, 0x75, 0x05, 0x50,
- 0xe8, 0x71, 0xd9, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x0e, 0x74, 0x1e,
- 0x80, 0xf9, 0x48, 0x74, 0x19, 0x80, 0xbe, 0x54, 0x02, 0x01, 0x74, 0x46, 0x80, 0xf9, 0x08, 0x72,
- 0x41, 0x80, 0xf9, 0x0e, 0x77, 0x3c, 0xb8, 0x02, 0x00, 0xe8, 0x41, 0xcd, 0xeb, 0x34, 0xc7, 0x86,
- 0x2a, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x61, 0x02, 0x01, 0x8a, 0x46, 0x08, 0x3c, 0x06, 0x74, 0x26,
- 0x3c, 0x02, 0x74, 0x51, 0x3c, 0x08, 0x74, 0x1a, 0x3c, 0x04, 0x74, 0x16, 0xf6, 0x86, 0xa7, 0x02,
- 0x01, 0x75, 0x13, 0xf6, 0x86, 0xa8, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86,
- 0x4a, 0x02, 0x59, 0x5b, 0x58, 0xc3, 0x8b, 0x86, 0x06, 0x02, 0xf6, 0xc4, 0x80, 0x75, 0x0c, 0x80,
- 0xcc, 0x80, 0x89, 0x86, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0x81, 0xbe, 0x00, 0x03, 0x00,
- 0x02, 0x74, 0xdf, 0xc7, 0x86, 0x00, 0x03, 0x00, 0x02, 0xf6, 0x86, 0xa5, 0x02, 0x01, 0x74, 0xd2,
- 0xe8, 0xe8, 0xd7, 0xeb, 0xcd, 0xb8, 0x00, 0x01, 0xe8, 0x36, 0xdb, 0xf6, 0x86, 0x5e, 0x02, 0x01,
- 0x74, 0xc0, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0xba, 0xfa, 0xc7, 0x06, 0x30, 0x00, 0x0a, 0x0f, 0x8c,
- 0x0e, 0x32, 0x00, 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0xea, 0x09, 0xe7, 0x00, 0xb8, 0x09, 0x00,
- 0xe7, 0x06, 0xb0, 0x7f, 0xe8, 0xfb, 0xbb, 0xc6, 0x06, 0x1f, 0x56, 0x80, 0xfb, 0xc3, 0xf7, 0x86,
- 0x82, 0x01, 0x01, 0x00, 0x74, 0x1a, 0xc7, 0x86, 0x82, 0x01, 0x00, 0x00, 0xf6, 0x86, 0x6e, 0x01,
- 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xbe, 0x15, 0x46, 0xe8, 0xce, 0xbf, 0xeb, 0x00,
- 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x45, 0xc7, 0x86, 0x8a, 0x01, 0x00, 0x00, 0xf6, 0x86,
- 0x6f, 0x01, 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6f, 0x01, 0x00, 0xbe, 0x15, 0x46, 0xe8, 0xac, 0xbf,
- 0xeb, 0x2b, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x1f, 0xf6, 0x86,
- 0x5d, 0x02, 0x01, 0x74, 0x18, 0xf6, 0x86, 0x5c, 0x02, 0x01, 0x75, 0x11, 0xc6, 0x86, 0x5c, 0x02,
- 0x01, 0xc7, 0x86, 0x2a, 0x02, 0x0a, 0x00, 0xb8, 0x0c, 0x00, 0xe8, 0x30, 0xcc, 0xc3, 0xb9, 0x01,
- 0x00, 0x33, 0xdb, 0x8b, 0xaf, 0xe6, 0x54, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x16, 0x14, 0x00, 0x83,
- 0xe2, 0x08, 0x26, 0xa1, 0x32, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0xf7, 0xc2, 0x08, 0x00,
- 0x75, 0x02, 0xeb, 0x67, 0x83, 0xbe, 0x74, 0x01, 0x00, 0x75, 0x04, 0x88, 0xa6, 0x78, 0x01, 0x81,
- 0xbe, 0x74, 0x01, 0xbc, 0x02, 0x72, 0x06, 0xc7, 0x86, 0x74, 0x01, 0xf4, 0x01, 0x8a, 0xc4, 0x2a,
- 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x74, 0x01, 0xbe, 0xeb, 0x09, 0xf7, 0xe6, 0xbe,
- 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x78, 0x01, 0x89, 0x86, 0x7c, 0x01, 0xff, 0x86, 0x74, 0x01,
- 0x83, 0xbe, 0x7c, 0x01, 0x7d, 0x72, 0x21, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a, 0xc7, 0x86,
- 0x88, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0xd0, 0x54, 0x89, 0x86, 0x8c,
- 0x01, 0xa1, 0xd2, 0x54, 0x89, 0x86, 0x8e, 0x01, 0xe9, 0x94, 0x00, 0x83, 0xbe, 0x76, 0x01, 0x00,
- 0x75, 0x04, 0x88, 0x86, 0x7a, 0x01, 0x81, 0xbe, 0x76, 0x01, 0xbc, 0x02, 0x72, 0x06, 0xc7, 0x86,
- 0x76, 0x01, 0xf4, 0x01, 0x2a, 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x76, 0x01, 0xbe,
- 0xeb, 0x09, 0xf7, 0xe6, 0xbe, 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x7a, 0x01, 0x89, 0x86, 0x7e,
- 0x01, 0xff, 0x86, 0x76, 0x01, 0x83, 0xbe, 0x80, 0x01, 0x01, 0x74, 0x53, 0x83, 0xf8, 0x1f, 0x72,
- 0x4e, 0x8d, 0xb6, 0x96, 0x01, 0x83, 0x3c, 0x12, 0x72, 0x45, 0x83, 0x3c, 0x23, 0x77, 0x40, 0x83,
- 0x7c, 0x02, 0x1f, 0x72, 0x3a, 0x83, 0x7c, 0x02, 0x45, 0x77, 0x34, 0x83, 0x7c, 0x04, 0x12, 0x72,
- 0x2e, 0x90, 0x83, 0x7c, 0x04, 0x23, 0x77, 0x27, 0x81, 0x7c, 0x06, 0x9c, 0x00, 0x72, 0x20, 0xc7,
- 0x86, 0x80, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x82, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x88, 0x01, 0x00,
- 0x00, 0xa1, 0xd0, 0x54, 0x89, 0x86, 0x84, 0x01, 0xa1, 0xd2, 0x54, 0x89, 0x86, 0x86, 0x01, 0x83,
- 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0xdb, 0xfe, 0xc3, 0x50, 0x51, 0x52, 0x56, 0x57, 0x8e, 0x46,
- 0x02, 0x83, 0x86, 0x90, 0x01, 0x01, 0x83, 0x96, 0x92, 0x01, 0x00, 0xc7, 0x86, 0x80, 0x01, 0x00,
- 0x00, 0x26, 0xa1, 0x32, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0x8d, 0xb6, 0x96, 0x01, 0x26,
- 0x8b, 0x0e, 0x14, 0x00, 0x83, 0xe1, 0x08, 0x89, 0x8e, 0x94, 0x01, 0xf7, 0xc1, 0x08, 0x00, 0x74,
- 0x4f, 0x8b, 0x4c, 0x0a, 0x89, 0x4c, 0x0e, 0x8b, 0x4c, 0x06, 0x89, 0x4c, 0x0a, 0x8b, 0x4c, 0x02,
- 0x89, 0x4c, 0x06, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x19, 0xb0, 0x0a, 0xe6, 0x10,
- 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7e, 0x01, 0x8b, 0xc8, 0xe4, 0x10, 0xa8, 0x10,
- 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0xc1, 0x89, 0x44, 0x02, 0xc7, 0x86, 0x7e, 0x01, 0x00, 0x00,
- 0xc7, 0x86, 0x76, 0x01, 0x00, 0x00, 0xeb, 0x7f, 0xc7, 0x86, 0x88, 0x01, 0x00, 0x00, 0xeb, 0x77,
- 0x8b, 0x4c, 0x08, 0x89, 0x4c, 0x0c, 0x8b, 0x4c, 0x04, 0x89, 0x4c, 0x08, 0x8b, 0x0c, 0x89, 0x4c,
- 0x04, 0x8a, 0xc4, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x25, 0xb0, 0x0a, 0xe6, 0x10,
- 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7c, 0x01, 0x8b, 0xc8, 0xe4, 0x10, 0xa8, 0x10,
- 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0x96, 0x7c, 0x01, 0x83, 0xf9, 0x7f, 0x77, 0x03, 0x83, 0xc1,
- 0x4f, 0x8b, 0xc1, 0x89, 0x04, 0xc7, 0x86, 0x7c, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x74, 0x01, 0x00,
- 0x00, 0x83, 0xf8, 0x7d, 0x72, 0xa2, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a, 0xc7, 0x86, 0x88,
- 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0xd0, 0x54, 0x89, 0x86, 0x84, 0x01,
- 0xa1, 0xd2, 0x54, 0x89, 0x86, 0x86, 0x01, 0x5f, 0x5e, 0x5a, 0x59, 0x58, 0xc3, 0x50, 0x51, 0x57,
- 0x06, 0xfa, 0x8c, 0xd8, 0x8e, 0xc0, 0x2b, 0xc0, 0x8d, 0xbe, 0x72, 0x01, 0xb9, 0x1a, 0x00, 0xf3,
- 0xab, 0xfb, 0x07, 0x5f, 0x59, 0x58, 0xc3, 0xfa, 0xf6, 0x06, 0x1f, 0x56, 0x80, 0x74, 0x4e, 0xc6,
- 0x86, 0x6c, 0x01, 0x00, 0xc6, 0x86, 0x6e, 0x01, 0x01, 0xfe, 0x86, 0x70, 0x01, 0x8a, 0x46, 0x00,
- 0xa2, 0x1f, 0x56, 0xc7, 0x06, 0x20, 0x56, 0x02, 0x00, 0xc7, 0x06, 0x22, 0x56, 0x01, 0x00, 0xe5,
- 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0x8b, 0xc8, 0xb8, 0xd6, 0x13, 0xe7, 0x02, 0xb8, 0x4e, 0x03,
- 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b, 0xc1, 0xe7, 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x02,
- 0x00, 0x01, 0xbe, 0x15, 0x46, 0xe8, 0x32, 0xbc, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0xfb, 0xc3, 0xfa,
- 0xf6, 0x06, 0x1f, 0x56, 0x80, 0x74, 0x49, 0xc6, 0x86, 0x6d, 0x01, 0x00, 0xc6, 0x86, 0x6f, 0x01,
- 0x01, 0xfe, 0x86, 0x71, 0x01, 0x8a, 0x46, 0x00, 0xa2, 0x1f, 0x56, 0xc7, 0x06, 0x20, 0x56, 0x0e,
- 0x00, 0xc7, 0x06, 0x22, 0x56, 0x02, 0x00, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0x8b, 0xc8,
- 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xb8, 0xd6, 0x13, 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b, 0xc1, 0xe7,
- 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x01, 0xbe, 0x15, 0x46, 0xe8, 0xda, 0xbb,
- 0xfb, 0xc3, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0xc7,
- 0x06, 0x20, 0x56, 0x04, 0x00, 0xc3, 0xc7, 0x06, 0x20, 0x56, 0x06, 0x00, 0xc3, 0x90, 0xc7, 0x06,
- 0x20, 0x56, 0x08, 0x00, 0xc3, 0x90, 0x53, 0xc7, 0x06, 0x20, 0x56, 0x0a, 0x00, 0x33, 0xdb, 0x8a,
- 0x1e, 0x1f, 0x56, 0xd0, 0xe3, 0x8b, 0x9f, 0xe6, 0x54, 0x06, 0x8e, 0x47, 0x02, 0x26, 0x83, 0x26,
- 0x02, 0x00, 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0,
- 0x09, 0xe7, 0x06, 0xc7, 0x06, 0x20, 0x56, 0x0c, 0x00, 0xc6, 0x06, 0x1f, 0x56, 0x80, 0xc3, 0x90,
- 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xc7, 0x06, 0x20,
- 0x56, 0x10, 0x00, 0xc3, 0x53, 0xc7, 0x06, 0x20, 0x56, 0x12, 0x00, 0x33, 0xdb, 0x8a, 0x1e, 0x1f,
- 0x56, 0xd0, 0xe3, 0x8b, 0x9f, 0xe6, 0x54, 0x06, 0x8e, 0x47, 0x02, 0x26, 0x83, 0x26, 0x02, 0x00,
- 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7,
- 0x06, 0xc7, 0x06, 0x20, 0x56, 0x14, 0x00, 0xc6, 0x06, 0x1f, 0x56, 0x80, 0xc3, 0x90, 0xe5, 0x06,
- 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0x4e, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x78, 0x74,
- 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x34, 0x12, 0x45, 0x23, 0x56, 0x34,
- 0x00, 0x00, 0x00, 0x00, 0xcd, 0xab, 0xde, 0xbc, 0xef, 0xcd, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x6f,
- 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x00, 0x54, 0x69, 0x6d,
- 0x65, 0x72, 0x30, 0x00, 0x00, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x31, 0x00, 0x00, 0x54, 0x65, 0x73,
- 0x74, 0x31, 0x00, 0x00, 0x54, 0x65, 0x73, 0x74, 0x32, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x55, 0xf1, 0x4d,
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x09, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0xe0, 0x02, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x02, 0x04, 0x01, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x03, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x03, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
- 0xe0, 0x04, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
- 0x00, 0x04, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x05, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x05, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x06, 0xc0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x06, 0x06, 0x0b,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x12, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x02, 0x26, 0x00, 0x00,
- 0x00, 0x00, 0x3e, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x50, 0x20, 0x0c, 0x23, 0x30, 0x30, 0x30, 0x30, 0xf3, 0xf0, 0xf0, 0xf8,
- 0xf9, 0xf6, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21,
- 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x06, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2c, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x29, 0x20, 0x00, 0x08, 0x00,
- 0x01, 0x00, 0x04, 0x06, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26,
- 0x40, 0x25, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, 0x26, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
- 0x60, 0x27, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
- 0x60, 0x28, 0x04, 0x30, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x11, 0x04, 0x0c, 0x00, 0x01,
- 0x04, 0x0e, 0x00, 0x02, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xe0, 0x00,
- 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x12,
- 0x04, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x13, 0x00, 0x00, 0x00, 0x00,
- 0x16, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x03, 0x14, 0x04, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00,
- 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x15,
- 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x60, 0x29, 0x08, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2a, 0x00, 0x00, 0x02, 0x20, 0x80, 0x00, 0x00, 0x06,
- 0x09, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x80, 0x00, 0x00, 0x04, 0x02, 0x80, 0x00, 0x00, 0x08,
- 0x0b, 0x00, 0x00, 0x00, 0x06, 0x02, 0x02, 0x80, 0x00, 0x00, 0x08, 0x0b, 0x00, 0x00, 0x00, 0x06,
- 0x01, 0x26, 0x80, 0x00, 0x00, 0xff, 0x06, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
- 0x06, 0x05, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x04,
- 0x09, 0x00, 0x00, 0x00, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06,
- 0x05, 0x00, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x04, 0x03, 0x0c, 0x80, 0x00, 0x00, 0x04,
- 0x0e, 0x80, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x00, 0x04, 0x01, 0x0f, 0x80, 0x00, 0x00, 0x04,
- 0x01, 0x0d, 0x80, 0x00, 0x00, 0x04, 0x04, 0x02, 0x80, 0x00, 0x00, 0x08, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x23, 0x00, 0x00, 0x00, 0xff, 0x21, 0x00, 0x00, 0x00, 0x04, 0x01, 0x09, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0xa5, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
-#endif /* OLTR_NO_HAWKEYE_MAC */
diff --git a/sys/contrib/dev/oltr/trlldmac.c b/sys/contrib/dev/oltr/trlldmac.c
deleted file mode 100644
index 158848854793..000000000000
--- a/sys/contrib/dev/oltr/trlldmac.c
+++ /dev/null
@@ -1,1990 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: Olicom TMS-380 adapter microcode
- *
- *---------------------------------------------------------------------------
- */
-
-#include "opt_oltr.h"
-
-#ifndef OLTR_NO_TMS_MAC
-
-unsigned char TRlldMacCode[] = { 0x52, 0x94, 0x02, 0x00, 0xba, 0x7a, 0x00, 0x00, 0xa0, 0x00, 0x01, 0xc8, 0xe2, 0x28, 0xd4, 0xdb,
- 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00,
- 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01,
- 0xff, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x7f, 0xff, 0x00, 0x03,
- 0x00, 0x00, 0x00, 0xd4, 0xe7, 0xe7, 0xe7, 0xf2, 0xf2, 0xf8, 0x28, 0x43, 0x29, 0x20, 0x43, 0x4f,
- 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x20, 0x49, 0x42, 0x4d, 0x20, 0x31, 0x39, 0x38, 0x33,
- 0x2c, 0x34, 0x2c, 0x35, 0x2c, 0x36, 0x28, 0x43, 0x29, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49,
- 0x47, 0x48, 0x54, 0x20, 0x54, 0x49, 0x20, 0x31, 0x39, 0x38, 0x33, 0x2d, 0x38, 0x39, 0x2c, 0x39,
- 0x30, 0x2d, 0x39, 0x34, 0x00, 0x00, 0x7b, 0x63, 0xf6, 0xde, 0xf1, 0xcc, 0xed, 0x9c, 0xf7, 0xe2,
- 0x00, 0x00, 0x00, 0xc4, 0xbd, 0x24, 0x06, 0x4a, 0x06, 0x50, 0x06, 0x4c, 0xda, 0x00, 0x06, 0x4e,
- 0x00, 0x0f, 0x06, 0x32, 0x00, 0x01, 0x07, 0x50, 0x07, 0x58, 0x07, 0x52, 0xc2, 0xce, 0x07, 0x54,
- 0x00, 0x0f, 0x07, 0x38, 0x00, 0x01, 0x00, 0xba, 0x00, 0xa0, 0x00, 0xbc, 0xf7, 0xf0, 0x00, 0xbe,
- 0x00, 0x0f, 0x07, 0x5e, 0x07, 0x3a, 0x07, 0x62, 0x80, 0x40, 0x07, 0x64, 0xc7, 0xb2, 0x07, 0x66,
- 0xc7, 0x94, 0x07, 0x68, 0xc5, 0x9e, 0x07, 0x98, 0x80, 0x00, 0x07, 0x78, 0x80, 0x00, 0x08, 0xe2,
- 0x00, 0x04, 0x08, 0xe4, 0x00, 0x01, 0x08, 0xec, 0x00, 0x08, 0x08, 0xf6, 0x00, 0x0a, 0x08, 0xf8,
- 0x00, 0x06, 0x09, 0x00, 0x00, 0x0c, 0x09, 0x02, 0x00, 0x04, 0x01, 0xae, 0x00, 0x00, 0x09, 0x1e,
- 0x00, 0x00, 0x09, 0x66, 0x00, 0x00, 0x06, 0x0c, 0x00, 0x13, 0x06, 0x0a, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb2, 0xe6, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb5, 0x02,
- 0x00, 0xe0, 0xb6, 0x5e, 0x00, 0xe0, 0xb9, 0x3c, 0x00, 0xe0, 0xb4, 0x12, 0x00, 0xc0, 0xb4, 0x22,
- 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xc0, 0xb4, 0x74, 0x00, 0xe0, 0xb3, 0x86,
- 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86,
- 0x00, 0xc0, 0xbd, 0x4a, 0x00, 0xc0, 0xbd, 0xb4, 0x00, 0xc0, 0xbd, 0xf0, 0x00, 0xc0, 0xbe, 0x60,
- 0x00, 0xc0, 0xbe, 0xe2, 0x00, 0xe0, 0xc0, 0x50, 0x00, 0xe0, 0xbf, 0xf6, 0x00, 0xe0, 0xc1, 0x52,
- 0x00, 0xe0, 0xc0, 0xe8, 0x00, 0xe0, 0xba, 0x90, 0x00, 0xc0, 0xbb, 0x00, 0x00, 0xc0, 0xbb, 0x5a,
- 0x00, 0xc0, 0xbb, 0x8c, 0x00, 0xc0, 0xba, 0xb4, 0x00, 0xc0, 0xb3, 0x80, 0x00, 0xc0, 0xb3, 0x80,
- 0x3f, 0x00, 0x7f, 0x00, 0x5e, 0x00, 0x00, 0x30, 0x00, 0x28, 0x00, 0x43, 0xb6, 0xb6, 0xb6, 0xb6,
- 0xb5, 0x1c, 0xb5, 0x14, 0xb5, 0x46, 0xb5, 0x46, 0xb5, 0x62, 0xb6, 0xb6, 0x40, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x08, 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00,
- 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x14, 0x10, 0x0e, 0x0c, 0x0c,
- 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0xa1, 0xc8, 0x00, 0x09, 0x08, 0x08, 0x00, 0x00, 0xa1, 0xd0,
- 0x00, 0x11, 0x06, 0x06, 0x00, 0x00, 0xa1, 0xe0, 0x00, 0x21, 0x04, 0x04, 0x00, 0x00, 0xa2, 0x00,
- 0x00, 0x41, 0x02, 0x02, 0x00, 0x00, 0xa2, 0x40, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0xa2, 0xc0,
- 0x06, 0xd8, 0x07, 0x98, 0xd7, 0xa2, 0x07, 0x58, 0xc6, 0x56, 0x07, 0x58, 0xc5, 0x5c, 0x07, 0x58,
- 0xc6, 0xc6, 0x07, 0x58, 0xc6, 0x2e, 0x07, 0x98, 0xd4, 0x7e, 0x07, 0x98, 0xd4, 0x76, 0x07, 0x78,
- 0xce, 0xea, 0x07, 0x58, 0xc6, 0x8e, 0x07, 0x98, 0xd7, 0x5c, 0x07, 0x78, 0xcf, 0xbe, 0x07, 0x58,
- 0xd4, 0x8e, 0x07, 0x58, 0xc6, 0x3e, 0x07, 0x58, 0xc6, 0x7c, 0x07, 0x58, 0xc7, 0x40, 0x07, 0x98,
- 0xd8, 0xd2, 0x07, 0x98, 0xd4, 0xb2, 0x07, 0x78, 0xcf, 0x7e, 0x07, 0xb8, 0xd9, 0x38, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0xce, 0x3e, 0xce, 0xf2, 0xd3, 0xfa, 0xca, 0xba, 0xca, 0xf2,
- 0xcb, 0x10, 0xcb, 0x9a, 0xcb, 0xbe, 0xcb, 0xda, 0xcc, 0x52, 0xcc, 0x52, 0xcb, 0x86, 0xcc, 0xf0,
- 0xcb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0xfe, 0xff, 0x58, 0x00,
- 0x0e, 0x00, 0xfe, 0xff, 0x00, 0x0e, 0x70, 0x00, 0x80, 0x40, 0x5e, 0x00, 0xc0, 0xa0, 0xff, 0xdf,
- 0x18, 0x00, 0xe0, 0x00, 0x78, 0x00, 0x50, 0x00, 0x60, 0x00, 0x70, 0x00, 0x0c, 0x00, 0x00, 0x06,
- 0x00, 0x00, 0xe3, 0x84, 0x07, 0xe6, 0x07, 0xf4, 0x00, 0x08, 0x00, 0x00, 0xe3, 0x8a, 0x07, 0xea,
- 0x07, 0xf4, 0x00, 0x06, 0x00, 0x40, 0x0a, 0x00, 0x07, 0xe6, 0x07, 0xee, 0x00, 0x08, 0x00, 0x40,
- 0x0a, 0x06, 0x07, 0xea, 0x07, 0xee, 0x00, 0x00, 0xc1, 0xe2, 0xd4, 0x8b, 0xff, 0xff, 0xd1, 0xd7,
- 0xc5, 0xd9, 0xc3, 0xd4, 0x59, 0x3b, 0x09, 0x34, 0x05, 0xfc, 0x09, 0x6c, 0x06, 0xd8, 0x04, 0x06,
- 0xea, 0x7a, 0x09, 0x30, 0x04, 0x48, 0x08, 0x80, 0x00, 0x06, 0x06, 0x0a, 0x0c, 0x0e, 0xdb, 0xa8,
- 0xe8, 0x7c, 0xe8, 0xa4, 0xe9, 0x8a, 0xea, 0x8c, 0xea, 0xe6, 0xeb, 0x40, 0xeb, 0xf2, 0xdb, 0xa8,
- 0xec, 0x74, 0xec, 0x04, 0xe8, 0x62, 0xec, 0x10, 0xec, 0x10, 0xed, 0x3a, 0xed, 0x44, 0xed, 0x4e,
- 0xe5, 0x62, 0xe7, 0xea, 0xdb, 0x9e, 0xe5, 0xb4, 0xe6, 0x82, 0xe6, 0xf2, 0xe7, 0x6e, 0xe7, 0x92,
- 0xdb, 0xf6, 0xdb, 0x9e, 0xe4, 0xd2, 0xe4, 0xb4, 0xe4, 0x6e, 0xdb, 0x9e, 0xe7, 0xf6, 0xdb, 0x9e,
- 0x06, 0x72, 0xdf, 0xa2, 0x07, 0x08, 0x06, 0x72, 0xdf, 0x00, 0x01, 0xf4, 0x06, 0x72, 0xde, 0xe0,
- 0x07, 0x08, 0x06, 0x7c, 0xe6, 0x5a, 0x00, 0x04, 0x06, 0x7c, 0xdf, 0x24, 0x00, 0x00, 0x06, 0x7c,
- 0xe7, 0xd8, 0x00, 0xfa, 0x06, 0x86, 0xde, 0x70, 0x00, 0x05, 0x06, 0x90, 0xe8, 0x28, 0x00, 0x28,
- 0x06, 0x90, 0xdf, 0xfc, 0x01, 0x04, 0x06, 0x90, 0x00, 0x00, 0x00, 0x02, 0x06, 0x90, 0xdf, 0x2c,
- 0x02, 0xbc, 0x06, 0x9a, 0xdf, 0xb2, 0x05, 0xdc, 0x06, 0x9a, 0xdf, 0x56, 0x00, 0x64, 0x06, 0x9a,
- 0xdf, 0xb6, 0x00, 0x14, 0x06, 0x9a, 0xe9, 0x1c, 0x06, 0x40, 0x06, 0x9a, 0xdf, 0xbe, 0x00, 0x64,
- 0x00, 0x00, 0x07, 0x0a, 0x07, 0x0e, 0x07, 0x04, 0x06, 0xd8, 0x07, 0x00, 0x06, 0xf0, 0x06, 0xee,
- 0x06, 0xec, 0x07, 0x0c, 0x06, 0xe6, 0x07, 0x18, 0x50, 0x00, 0x00, 0xcc, 0x00, 0x03, 0x84, 0x00,
- 0xa8, 0x00, 0xa0, 0x00, 0x20, 0x00, 0x80, 0x00, 0x40, 0x00, 0x08, 0x00, 0x40, 0x00, 0x80, 0x00,
- 0x40, 0x00, 0x10, 0x00, 0xf4, 0x40, 0xf3, 0x06, 0xf3, 0x20, 0xf3, 0x3a, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0xf3, 0xa8, 0xf3, 0x10, 0xf3, 0x26, 0xf3, 0x40, 0x01, 0x40,
- 0x01, 0x42, 0x01, 0x42, 0x01, 0x42, 0x00, 0x00, 0x00, 0x7f, 0x00, 0xa0, 0x00, 0xff, 0x02, 0x10,
- 0x02, 0x1f, 0x02, 0x30, 0x02, 0x3f, 0x02, 0x50, 0x02, 0x5f, 0x02, 0x70, 0x02, 0x7f, 0x02, 0x90,
- 0x02, 0x9f, 0x02, 0xb0, 0x02, 0xbf, 0x02, 0xd0, 0x02, 0xdf, 0x02, 0xe1, 0x02, 0xff, 0x03, 0x01,
- 0x03, 0x7f, 0x03, 0x81, 0x03, 0x8f, 0x03, 0x91, 0x03, 0x9f, 0x03, 0xa1, 0x03, 0xaf, 0x03, 0xb1,
- 0x03, 0xbf, 0x03, 0xc1, 0x03, 0xcf, 0x03, 0xe1, 0x03, 0xff, 0x07, 0xc0, 0x07, 0xff, 0x0c, 0x00,
- 0x0f, 0xff, 0x30, 0x00, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbc, 0x00, 0x07, 0x02, 0x5e,
- 0x01, 0x00, 0xba, 0xff, 0xba, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x01, 0x0a,
- 0x01, 0x0e, 0x01, 0x10, 0x01, 0x14, 0x00, 0x00, 0x01, 0x12, 0xf8, 0x00, 0x01, 0x16, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x0a, 0x01, 0x1c, 0x01, 0x82, 0x96, 0x66, 0x96, 0x66, 0x55, 0x55,
- 0x00, 0x00, 0x01, 0x82, 0x8a, 0x2a, 0x8a, 0x2a, 0xc9, 0x18, 0xc9, 0x18, 0x01, 0x86, 0xa2, 0xaa,
- 0xa0, 0x1e, 0x55, 0x55, 0x54, 0x1e, 0x01, 0x8a, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00,
- 0x01, 0x8c, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x8e, 0x50, 0x00, 0x00, 0x00,
- 0xa8, 0x00, 0x00, 0x00, 0x01, 0x90, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x92,
- 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x94, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00,
- 0x00, 0x00, 0x01, 0x96, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x98, 0x50, 0x00,
- 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x9a, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00,
- 0x01, 0x9c, 0x55, 0x55, 0x7f, 0xc0, 0xaa, 0xaa, 0x7f, 0xc0, 0x00, 0x00, 0x01, 0xa2, 0x01, 0xa4,
- 0x01, 0xa8, 0x01, 0xaa, 0x01, 0xae, 0x01, 0xb0, 0x01, 0xb2, 0x01, 0x80, 0x00, 0x00, 0x01, 0x88,
- 0xff, 0x00, 0x01, 0x9e, 0x00, 0xff, 0x01, 0xa0, 0x80, 0x00, 0x01, 0xac, 0x80, 0x00, 0x00, 0x00,
- 0x01, 0xa6, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0xbc, 0x88, 0x00, 0x06, 0x00, 0xc8, 0x00,
- 0x00, 0x00, 0x80, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x44, 0xf2, 0x50,
- 0x00, 0x48, 0xf2, 0x56, 0x00, 0x50, 0xf2, 0x5c, 0x00, 0x60, 0xf2, 0x62, 0x00, 0x78, 0xf2, 0x68,
- 0xef, 0xc8, 0xee, 0xd6, 0xe9, 0xfc, 0xee, 0xe8, 0x55, 0x14, 0x01, 0xa0, 0xee, 0xaa, 0xe9, 0x90,
- 0xef, 0x04, 0xef, 0x5e, 0xee, 0xbe, 0xf0, 0x16, 0x00, 0x00, 0x00, 0x1e, 0xef, 0x04, 0xef, 0x50,
- 0x41, 0x00, 0x41, 0x01, 0xef, 0x74, 0xea, 0x33, 0xee, 0xd6, 0xea, 0x08, 0xee, 0xaa, 0xe9, 0xc4,
- 0xef, 0x14, 0xef, 0x20, 0xef, 0x74, 0xea, 0x2e, 0xf0, 0x20, 0x00, 0x00, 0xef, 0xf4, 0xee, 0xaa,
- 0xe9, 0xba, 0xef, 0x14, 0xef, 0x20, 0xef, 0xf4, 0xf0, 0x20, 0x00, 0x00, 0xee, 0xaa, 0xe9, 0xb0,
- 0xee, 0xca, 0xef, 0x08, 0xef, 0x20, 0xef, 0xf4, 0xee, 0xaa, 0xe9, 0xba, 0xef, 0x14, 0xef, 0x20,
- 0xef, 0xf4, 0xf0, 0x20, 0x20, 0x00, 0xee, 0xe8, 0x55, 0x14, 0x01, 0xa0, 0xee, 0xd6, 0xea, 0x10,
- 0xee, 0xaa, 0xe9, 0x90, 0xf0, 0x16, 0x55, 0x50, 0x00, 0x0c, 0xef, 0x04, 0xef, 0x50, 0x01, 0x00,
- 0x00, 0x00, 0xef, 0x74, 0xea, 0x35, 0xee, 0xbe, 0xf0, 0x16, 0x55, 0x55, 0x00, 0x0c, 0xef, 0x14,
- 0xef, 0x5e, 0xee, 0xbe, 0xf0, 0x16, 0xff, 0xff, 0x00, 0x08, 0xf0, 0x16, 0x10, 0x02, 0x00, 0x06,
- 0xef, 0x04, 0xef, 0x50, 0x01, 0x00, 0x01, 0x01, 0xef, 0x74, 0xea, 0x40, 0xee, 0xbe, 0xf0, 0x16,
- 0xc0, 0x00, 0x00, 0x08, 0xf0, 0x16, 0xff, 0xff, 0x00, 0x0a, 0xf0, 0x16, 0xff, 0xff, 0x00, 0x0c,
- 0xf0, 0x16, 0x10, 0x0d, 0x00, 0x06, 0xef, 0x04, 0xef, 0x50, 0x01, 0x00, 0x01, 0x01, 0xef, 0x74,
- 0xea, 0x34, 0xf0, 0x20, 0x20, 0x08, 0xee, 0xbe, 0xf0, 0x10, 0x01, 0x82, 0xc9, 0x02, 0xef, 0x04,
- 0xef, 0x74, 0xea, 0x40, 0xf0, 0x20, 0x20, 0x34, 0xee, 0xbe, 0xf0, 0x16, 0x10, 0x00, 0x00, 0x06,
- 0xef, 0x04, 0xf0, 0x84, 0xef, 0x74, 0xea, 0x38, 0xf0, 0x10, 0x01, 0x9c, 0x00, 0x40, 0xee, 0xd6,
- 0xea, 0x10, 0xee, 0xe8, 0x00, 0xff, 0x07, 0x80, 0xf0, 0xe4, 0x00, 0x03, 0xf1, 0x24, 0xf1, 0x32,
- 0xe9, 0xd2, 0xf0, 0xf6, 0x00, 0x00, 0xf1, 0x32, 0xe9, 0xdc, 0xf0, 0xf6, 0x00, 0x04, 0xf1, 0x32,
- 0xe9, 0xe4, 0xf0, 0xf6, 0x00, 0x07, 0xf1, 0x32, 0xe9, 0xec, 0xf0, 0xe4, 0x00, 0x01, 0xf1, 0x32,
- 0xe9, 0xf4, 0xf0, 0xf6, 0x00, 0x02, 0xf1, 0x32, 0xe9, 0xf4, 0xf0, 0xf6, 0x00, 0x06, 0xf1, 0x32,
- 0xe9, 0xf4, 0xf0, 0xf6, 0x00, 0x05, 0xf1, 0x32, 0xe9, 0xf4, 0xf0, 0xe4, 0x00, 0x01, 0xf1, 0x08,
- 0xf0, 0xe4, 0x00, 0x03, 0xf1, 0x16, 0xef, 0x20, 0xf0, 0xa4, 0xe9, 0x98, 0x00, 0x01, 0xf0, 0xa4,
- 0xe9, 0xe5, 0x00, 0x02, 0xf0, 0xa4, 0xe9, 0xef, 0x00, 0x06, 0xf0, 0xa4, 0xe9, 0xfa, 0x00, 0x05,
- 0xef, 0x74, 0xea, 0x34, 0xef, 0xf4, 0xee, 0xaa, 0xe9, 0x90, 0xef, 0x14, 0xf0, 0x84, 0xee, 0xca,
- 0xef, 0x50, 0x01, 0x00, 0x80, 0x00, 0xef, 0x74, 0xea, 0x38, 0xee, 0xbe, 0xf0, 0xbc, 0xf0, 0x10,
- 0x01, 0x80, 0x8e, 0x41, 0xef, 0x08, 0xef, 0x50, 0x01, 0x00, 0x1b, 0x01, 0xf0, 0xc4, 0xff, 0xe4,
- 0xef, 0x74, 0xea, 0x3c, 0xf0, 0x7c, 0xee, 0xd6, 0xea, 0x16, 0xee, 0xca, 0xf0, 0x28, 0xee, 0xfa,
- 0xe0, 0x00, 0xf0, 0x84, 0xef, 0x74, 0xea, 0x46, 0xee, 0xfa, 0xe8, 0x00, 0xef, 0x20, 0xef, 0x74,
- 0xea, 0x45, 0xee, 0xfa, 0x08, 0x00, 0xf0, 0x84, 0xef, 0x74, 0xea, 0x46, 0xee, 0xfa, 0xf8, 0x00,
- 0xef, 0x20, 0xef, 0x74, 0xea, 0x45, 0xf0, 0x10, 0x01, 0x80, 0x02, 0x00, 0xee, 0xfa, 0xe0, 0x00,
- 0xef, 0x20, 0xef, 0x74, 0xea, 0x45, 0xf0, 0x10, 0x01, 0x84, 0x00, 0x00, 0xf0, 0x20, 0x00, 0x34,
- 0xee, 0xfa, 0x00, 0x00, 0xf0, 0x84, 0xf0, 0x20, 0x60, 0x34, 0xf0, 0xcc, 0xf0, 0x10, 0x01, 0x84,
- 0x00, 0x00, 0xef, 0x74, 0xea, 0x46, 0xf0, 0x10, 0x01, 0x82, 0xc8, 0x00, 0xee, 0xfa, 0xe0, 0x00,
- 0xf0, 0x84, 0xee, 0xfa, 0x10, 0x00, 0xf0, 0x84, 0xf0, 0x20, 0x60, 0x34, 0xf0, 0x10, 0x01, 0x80,
- 0x06, 0x00, 0xee, 0xfa, 0x00, 0x10, 0xf0, 0x36, 0xef, 0xf4, 0xf0, 0x10, 0x01, 0x84, 0x00, 0x00,
- 0xf0, 0x20, 0x00, 0x34, 0xee, 0xaa, 0xe9, 0x90, 0xee, 0xd6, 0xea, 0x1c, 0xf0, 0x8e, 0xe9, 0x52,
- 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0xf0, 0x40, 0x00, 0x06, 0xc7, 0x00, 0xef, 0x5e, 0xf0, 0x9a,
- 0xe0, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0xd0, 0x40, 0x00, 0x06, 0xe0, 0x00, 0xef, 0x5e,
- 0xf0, 0x9a, 0xc0, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x90, 0x40, 0x00, 0x06, 0xa0, 0x00,
- 0xef, 0x5e, 0xf0, 0x9a, 0x80, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x50, 0x40, 0x00, 0x06,
- 0x60, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0x40, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x10, 0x40,
- 0x00, 0x06, 0x20, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0x00, 0x00, 0xf0, 0x8e, 0xe9, 0x52, 0xee, 0xbe,
- 0xee, 0xca, 0xef, 0x2e, 0xd0, 0x40, 0x00, 0x06, 0xa6, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0xc0, 0x00,
- 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x90, 0x40, 0x00, 0x06, 0xc0, 0x00, 0xef, 0x5e, 0xf0, 0x9a,
- 0x80, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x50, 0x40, 0x00, 0x06, 0x40, 0x00, 0xef, 0x5e,
- 0xf0, 0x9a, 0x40, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x70, 0x40, 0x00, 0x06, 0x60, 0x00,
- 0xef, 0x5e, 0xf0, 0x9a, 0x60, 0x00, 0xf1, 0x3c, 0xe9, 0x50, 0xee, 0xd6, 0xea, 0x22, 0xee, 0xaa,
- 0xe9, 0x90, 0xf0, 0x62, 0x55, 0x55, 0x00, 0x16, 0xef, 0x04, 0xef, 0x50, 0x00, 0x00, 0x00, 0x00,
- 0xef, 0x74, 0xea, 0x4b, 0xef, 0xc8, 0xee, 0xd6, 0xea, 0x22, 0xf0, 0x16, 0x55, 0x55, 0x00, 0x16,
- 0xee, 0xbe, 0xef, 0x04, 0xef, 0x5e, 0xee, 0xe8, 0x00, 0xff, 0x08, 0x00, 0xee, 0xe8, 0x00, 0xff,
- 0x0c, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x10, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x14, 0x00, 0xee, 0xe8,
- 0x00, 0xff, 0x18, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x1c, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x20, 0x00,
- 0xee, 0xe8, 0x00, 0xff, 0x24, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x28, 0x00, 0xee, 0xe8, 0x00, 0xff,
- 0x2c, 0x00, 0xef, 0x90, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x30, 0x40, 0x00, 0x06, 0x01, 0x00,
- 0xef, 0x5e, 0xf0, 0x9a, 0x20, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x70, 0x40, 0x00, 0x06,
- 0x43, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0x60, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0xb0, 0x40,
- 0x00, 0x06, 0x85, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0xa0, 0x00, 0xf0, 0x96, 0x01, 0x00, 0x01, 0x03,
- 0x01, 0x01, 0x00, 0x00, 0x81, 0x00, 0x00, 0x1a, 0x10, 0x40, 0x00, 0x00, 0xa9, 0x98, 0x00, 0x0d,
- 0x55, 0x55, 0x00, 0x00, 0xa9, 0xa4, 0x00, 0xaa, 0x82, 0x72, 0xa9, 0x4a, 0x5a, 0xa5, 0xe7, 0xda,
- 0x09, 0x03, 0x9d, 0x11, 0x00, 0x00, 0x81, 0x00, 0x00, 0x04, 0x90, 0xd8, 0x10, 0x00, 0x00, 0x00,
- 0x81, 0x00, 0x00, 0x04, 0x90, 0xd8, 0xb4, 0xd8, 0x00, 0x00, 0x81, 0x00, 0x00, 0x08, 0x90, 0xd8,
- 0x16, 0x46, 0x40, 0x00, 0xb4, 0xd8, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x13, 0x10, 0x40,
- 0x00, 0x16, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f,
- 0x00, 0x15, 0x00, 0x00, 0x81, 0x00, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x00, 0x12,
- 0x80, 0x0a, 0x9e, 0x40, 0xc8, 0x00, 0x00, 0x00, 0x80, 0x5e, 0x00, 0x0f, 0x80, 0x06, 0xfe, 0x40,
- 0xcc, 0x00, 0x00, 0x00, 0x80, 0x04, 0x8e, 0x40, 0xc9, 0x00, 0x80, 0x04, 0x06, 0x00, 0xcc, 0x00,
- 0x80, 0x04, 0x0a, 0x40, 0xc8, 0x00, 0x80, 0x0a, 0x8a, 0x40, 0xc8, 0x00, 0x00, 0x00, 0x80, 0x5e,
- 0x00, 0x0f, 0x08, 0x0a, 0x1c, 0x80, 0x00, 0x0a, 0x1a, 0x1c, 0x80, 0x00, 0x0c, 0x1c, 0x80, 0x00,
- 0x1a, 0x1c, 0x80, 0x00, 0x0e, 0x1a, 0x1c, 0x80, 0x00, 0x04, 0x80, 0x00, 0x02, 0x80, 0x00, 0x02,
- 0x80, 0x00, 0x00, 0x00, 0xaa, 0x4e, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x7a, 0x00, 0x4e,
- 0x07, 0x58, 0xc5, 0x6a, 0xe0, 0x16, 0x08, 0xe2, 0x08, 0xec, 0x08, 0xf6, 0xe0, 0x16, 0x09, 0x00,
- 0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe2, 0x00, 0x00, 0x08, 0xec, 0x08, 0xf6, 0x09, 0x00,
- 0x00, 0x00, 0x07, 0xb8, 0xd8, 0xee, 0x02, 0x80, 0x07, 0xb8, 0xd9, 0x0c, 0xff, 0x84, 0x07, 0xb8,
- 0xd9, 0x2e, 0x07, 0xb8, 0xd9, 0xa8, 0xda, 0x88, 0xda, 0x7c, 0xda, 0xa2, 0xda, 0xa6, 0xda, 0x9e,
- 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xda, 0xa8, 0xda, 0xb2, 0xdb, 0x2e, 0xdb, 0x78, 0x00, 0x00,
- 0xaa, 0xc8, 0x00, 0x09, 0xdb, 0x86, 0x00, 0x00, 0xaa, 0xd0, 0x02, 0xb0, 0x00, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x08, 0x08, 0x05, 0x08, 0x08, 0x08, 0x00, 0x00, 0x02,
- 0x04, 0x04, 0x04, 0x04, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x04, 0x0b, 0x06, 0xc2, 0x08, 0xe6, 0x00, 0xe7, 0x00, 0x06, 0x04, 0x07, 0x04, 0x03, 0x04,
- 0x04, 0x06, 0x05, 0x04, 0x88, 0x04, 0x00, 0x03, 0x00, 0x1c, 0x0c, 0x00, 0x80, 0x00, 0xe3, 0xfc,
- 0xe4, 0x04, 0xe4, 0x48, 0xe4, 0x08, 0xe4, 0x14, 0xe4, 0x1a, 0xe4, 0x3e, 0xe4, 0x0e, 0xe4, 0x5c,
- 0x06, 0x00, 0x00, 0x00, 0x07, 0x06, 0x0e, 0x14, 0x14, 0x1e, 0x2a, 0x4c, 0x38, 0x7c, 0x3e, 0x78,
- 0x43, 0x92, 0x58, 0x9c, 0x4d, 0xb2, 0x2f, 0x64, 0x1d, 0x34, 0x6c, 0xd0, 0x23, 0x3e, 0x1d, 0x2a,
- 0x65, 0xc0, 0x72, 0xe0, 0x78, 0xee, 0x7f, 0xfc, 0x01, 0x32, 0x57, 0x01, 0x11, 0x32, 0x51, 0x81,
- 0x56, 0x02, 0x55, 0x03, 0x11, 0x54, 0x81, 0x56, 0x02, 0x55, 0x02, 0x54, 0x81, 0x56, 0x76, 0x01,
- 0x34, 0x02, 0x55, 0x02, 0x54, 0x81, 0x58, 0x02, 0x55, 0x02, 0x54, 0x81, 0x58, 0x02, 0x12, 0x11,
- 0x52, 0x02, 0x83, 0x58, 0x05, 0x52, 0x04, 0x81, 0x58, 0x05, 0x52, 0x03, 0x15, 0x5c, 0x5b, 0x53,
- 0x87, 0x52, 0x03, 0x11, 0x51, 0x41, 0x51, 0x78, 0x11, 0x34, 0x11, 0x81, 0x31, 0x20, 0x57, 0x54,
- 0x53, 0x01, 0x12, 0x5a, 0x51, 0x81, 0x31, 0x20, 0x57, 0x5b, 0x5a, 0x01, 0x11, 0x01, 0x11, 0x51,
- 0x81, 0x31, 0x20, 0x57, 0x01, 0x15, 0x01, 0x13, 0x01, 0x11, 0x11, 0x11, 0x51, 0x81, 0x58, 0x05,
- 0x52, 0x02, 0x54, 0x5b, 0x81, 0x5d, 0x05, 0x52, 0x02, 0x54, 0x81, 0x58, 0x02, 0x50, 0x03, 0x13,
- 0x81, 0x58, 0x02, 0x50, 0x03, 0x11, 0x54, 0x81, 0x5d, 0x72, 0x03, 0x50, 0x03, 0x13, 0x01, 0x13,
- 0x54, 0x40, 0x00, 0x0e, 0x06, 0x20, 0x06, 0x56, 0xe5, 0x2a, 0x00, 0x24, 0x10, 0x02, 0x00, 0x16,
- 0x00, 0x02, 0x04, 0x01, 0x07, 0x08, 0xe5, 0x2a, 0x00, 0x20, 0x10, 0x03, 0x00, 0x12, 0x00, 0x03,
- 0xe4, 0x78, 0x8e, 0x14, 0x00, 0x20, 0x10, 0x04, 0x00, 0x12, 0x00, 0x04, 0xdb, 0xc0, 0x00, 0x20,
- 0xe0, 0x05, 0x00, 0x12, 0x00, 0x05, 0xdb, 0xc0, 0x00, 0x20, 0xe0, 0x06, 0x00, 0x12, 0x00, 0x06,
- 0xe7, 0x22, 0x00, 0x12, 0xe0, 0x01, 0x09, 0x6c, 0x06, 0xcc, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00,
- 0x06, 0x30, 0xe6, 0x42, 0x05, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xe2,
- 0x00, 0x08, 0xff, 0x26, 0x05, 0xdc, 0xe7, 0xae, 0x00, 0x3e, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x30, 0x50, 0x20, 0x0c, 0x23, 0x05, 0xfc, 0x06, 0x52, 0x06, 0x56, 0x00, 0x00,
- 0x81, 0x00, 0x00, 0x16, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x40, 0x2a,
- 0x04, 0x2a, 0x06, 0x56, 0x00, 0x26, 0xec, 0x71, 0x06, 0x2b, 0x09, 0x72, 0x00, 0x22, 0x00, 0x24,
- 0xec, 0x87, 0x0c, 0x23, 0x05, 0xfc, 0x08, 0x28, 0x09, 0x34, 0x08, 0x29, 0x07, 0x58, 0x07, 0x78,
- 0x07, 0x98, 0x00, 0x23, 0x00, 0x2a, 0xec, 0x95, 0x04, 0x06, 0x06, 0xf0, 0x04, 0x07, 0x06, 0xee,
- 0x00, 0x24, 0xdb, 0xc0, 0x00, 0x34, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x26,
- 0x40, 0x25, 0xdb, 0xc0, 0x00, 0x20, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12,
- 0x40, 0x26, 0xdb, 0xc0, 0x00, 0x1a, 0xe0, 0x00, 0x00, 0x0c, 0x60, 0x27, 0x08, 0x0a, 0x06, 0xe6,
- 0xdb, 0xc0, 0x00, 0x24, 0xe0, 0x00, 0x00, 0x16, 0x60, 0x28, 0x04, 0x30, 0x07, 0x06, 0xdc, 0x16,
- 0x81, 0x00, 0x00, 0x30, 0xe0, 0x00, 0x00, 0x22, 0x60, 0x29, 0x08, 0x2d, 0x07, 0x1c, 0x08, 0x2e,
- 0x07, 0x22, 0x00, 0x00, 0x02, 0x08, 0x01, 0x06, 0x06, 0x14, 0x08, 0x18, 0x0c, 0x20, 0x0e, 0x26,
- 0x0f, 0x30, 0x11, 0x34, 0x12, 0x3e, 0x14, 0x42, 0x16, 0x46, 0x0a, 0x1c, 0x18, 0x4a, 0x03, 0x13,
- 0x83, 0x11, 0x11, 0x01, 0x81, 0x11, 0x81, 0x12, 0x01, 0x13, 0x83, 0x52, 0x85, 0x81, 0x11, 0x85,
- 0x81, 0x12, 0x81, 0x12, 0x81, 0x19, 0x85, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x6c,
- 0x00, 0x00, 0x06, 0x30, 0xec, 0xfc, 0x06, 0x54, 0x06, 0x50, 0x02, 0x38, 0x04, 0x21, 0x09, 0x1e,
- 0x06, 0x0b, 0x06, 0xd8, 0x08, 0x02, 0x06, 0xdc, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x41,
- 0x00, 0x41, 0xae, 0x14, 0x00, 0x00, 0x81, 0x00, 0x04, 0x09, 0x07, 0x0c, 0x00, 0x41, 0x00, 0x41,
- 0x02, 0x14, 0x00, 0x00, 0x81, 0x00, 0x06, 0x0b, 0x06, 0xd8, 0x06, 0x2c, 0x09, 0x76, 0x14, 0x22,
- 0x09, 0x3a, 0x00, 0x41, 0x00, 0x41, 0x02, 0x54, 0x00, 0x00, 0x81, 0x00, 0x06, 0xd8, 0x84, 0x00,
- 0x48, 0x00, 0xff, 0xfc, 0x00, 0x09, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0xad, 0x80,
- 0x02, 0x81, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x06, 0x44, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63,
- 0x6f, 0x64, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20,
- 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x4f, 0x6e,
- 0x6c, 0x79, 0x2c, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72,
- 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0x01, 0x60, 0x01, 0x42, 0x08, 0x00, 0x16, 0x08,
- 0x03, 0xb0, 0x04, 0xe0, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0xff, 0xff, 0x13, 0xfc, 0x03, 0x80,
- 0x07, 0xa0, 0x01, 0x42, 0x08, 0x00, 0x07, 0x20, 0x00, 0x00, 0x04, 0xe0, 0x01, 0x00, 0x07, 0x8b,
- 0x3d, 0x00, 0x01, 0x60, 0x01, 0x42, 0x00, 0x80, 0x13, 0x09, 0x07, 0x8b, 0x2d, 0x00, 0xc0, 0x20,
- 0x01, 0x4e, 0x02, 0x80, 0x0f, 0x41, 0x11, 0x02, 0x07, 0x8b, 0x3d, 0x00, 0xc8, 0x0b, 0x01, 0x4a,
- 0x02, 0x00, 0xa0, 0x00, 0x09, 0xa0, 0xc8, 0x00, 0x01, 0x66, 0x02, 0xe0, 0x00, 0xa0, 0x07, 0xa0,
- 0x01, 0x04, 0x00, 0x20, 0x01, 0xa0, 0x01, 0x40, 0xfe, 0x00, 0x48, 0x20, 0xe0, 0x2a, 0x01, 0x42,
- 0x04, 0xe0, 0x01, 0x02, 0x04, 0xe0, 0x09, 0x60, 0x04, 0xe0, 0x01, 0x82, 0x01, 0x60, 0x01, 0x1c,
- 0x00, 0x04, 0x16, 0x03, 0x01, 0xe0, 0x01, 0x40, 0x0c, 0x00, 0x06, 0xa0, 0xb1, 0xbc, 0x07, 0xa0,
- 0x01, 0x04, 0x00, 0x2d, 0xc2, 0x20, 0xe0, 0x00, 0x02, 0x88, 0xe2, 0x28, 0x16, 0x14, 0x07, 0xa0,
- 0x01, 0x04, 0x00, 0x2e, 0x01, 0x60, 0x01, 0x42, 0x03, 0x00, 0x16, 0x0d, 0x07, 0xa0, 0x01, 0x04,
- 0x00, 0x21, 0x07, 0x88, 0xb0, 0x00, 0x07, 0x89, 0xff, 0xfe, 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a,
- 0xe0, 0x02, 0x06, 0xa0, 0xf4, 0x42, 0x10, 0x56, 0x07, 0x88, 0xa0, 0x00, 0x07, 0x89, 0xaf, 0xfe,
- 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a, 0xe0, 0x78, 0x06, 0xa0, 0xf4, 0x42, 0x10, 0x4b, 0x05, 0xa0,
- 0x01, 0x04, 0x07, 0x88, 0x00, 0x08, 0x07, 0x89, 0x00, 0x7a, 0x03, 0x00, 0x00, 0x01, 0x06, 0xa0,
- 0xf4, 0x7c, 0x10, 0x40, 0x06, 0xa0, 0xb1, 0xbc, 0x02, 0xe0, 0x03, 0xf4, 0x07, 0x88, 0x00, 0xa0,
- 0x07, 0x89, 0x00, 0xfe, 0x06, 0xa0, 0xf4, 0x7c, 0x10, 0x35, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0xe0,
- 0x01, 0x7e, 0x04, 0xc8, 0x02, 0x09, 0x03, 0xf2, 0x62, 0x48, 0xc1, 0xe0, 0x01, 0x40, 0x01, 0xa0,
- 0x01, 0x40, 0x04, 0x00, 0xce, 0x18, 0x06, 0x09, 0x16, 0xfd, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00,
- 0xc8, 0x07, 0x01, 0x40, 0x07, 0x88, 0x03, 0xf4, 0x07, 0x89, 0x3f, 0xfe, 0x06, 0xa0, 0xf4, 0x7c,
- 0x10, 0x19, 0x02, 0xe0, 0x00, 0xa0, 0x06, 0xa0, 0xf5, 0xa4, 0x10, 0x14, 0xc8, 0x08, 0x04, 0x44,
- 0xc8, 0x09, 0x04, 0x46, 0x06, 0xa0, 0xf4, 0xd2, 0x10, 0x0d, 0x07, 0x81, 0xe0, 0x7c, 0xc0, 0xb1,
- 0x13, 0x26, 0xc8, 0x01, 0x00, 0xe0, 0x05, 0xa0, 0x01, 0x04, 0x06, 0x92, 0x10, 0x03, 0xc0, 0x60,
- 0x00, 0xe0, 0x10, 0xf5, 0x01, 0xe0, 0x01, 0x04, 0x00, 0x10, 0x03, 0xb0, 0x10, 0xff, 0x01, 0xa0,
- 0x01, 0x04, 0x80, 0x00, 0x03, 0x80, 0x07, 0x80, 0x00, 0xa0, 0x04, 0xc2, 0xcc, 0x80, 0x07, 0x81,
- 0xb1, 0xaa, 0x02, 0x82, 0x00, 0x1e, 0x16, 0x02, 0x07, 0x81, 0xb1, 0xb4, 0xc4, 0x81, 0x8c, 0x81,
- 0x16, 0xe9, 0x02, 0x82, 0x00, 0x7c, 0x16, 0xf2, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x5b, 0x07, 0x81,
- 0xe1, 0x08, 0x07, 0x82, 0x00, 0x04, 0x04, 0xe0, 0x01, 0x80, 0x04, 0xe0, 0x01, 0x82, 0xc4, 0x91,
- 0x8c, 0xb1, 0x16, 0xd8, 0x02, 0x82, 0x00, 0x7c, 0x16, 0xfa, 0xc8, 0x20, 0xe0, 0x04, 0x01, 0x82,
- 0xe8, 0x20, 0xe0, 0x0c, 0x01, 0x82, 0xc8, 0x20, 0xe0, 0x10, 0x01, 0x80, 0x07, 0x81, 0xe0, 0x86,
- 0xc0, 0xb1, 0x13, 0x07, 0xc4, 0xb1, 0x10, 0xfc, 0x07, 0xa0, 0x01, 0x04, 0x00, 0x2e, 0x04, 0x60,
- 0xb1, 0xaa, 0x07, 0x81, 0xe0, 0x34, 0x07, 0x82, 0x05, 0xfc, 0x07, 0x83, 0x00, 0x0a, 0xcc, 0xb1,
- 0x06, 0x43, 0x16, 0xfd, 0x02, 0x02, 0x06, 0x00, 0xd0, 0x60, 0x01, 0x4e, 0x13, 0xed, 0x02, 0x21,
- 0xf7, 0x00, 0x02, 0x21, 0xc0, 0x00, 0xdc, 0x81, 0xd0, 0x60, 0x01, 0x4f, 0xc0, 0xc1, 0x09, 0x41,
- 0x02, 0x21, 0xf0, 0x00, 0xdc, 0x81, 0x02, 0x43, 0x0f, 0x00, 0x02, 0x23, 0xf0, 0x00, 0xdc, 0x83,
- 0x02, 0x01, 0x0c, 0x32, 0xc0, 0xa0, 0x04, 0x44, 0xc0, 0xe0, 0x04, 0x46, 0xc1, 0x03, 0x61, 0x02,
- 0x05, 0x84, 0xc8, 0x04, 0x04, 0x48, 0xc1, 0x03, 0x05, 0x84, 0xa1, 0x04, 0xa1, 0x01, 0xc8, 0x04,
- 0x0c, 0x30, 0xc1, 0x03, 0x05, 0x84, 0x04, 0xf1, 0x06, 0x04, 0x16, 0xfd, 0x02, 0x08, 0xb0, 0x00,
- 0x09, 0xa8, 0xc2, 0x60, 0x0c, 0x30, 0x02, 0x29, 0x03, 0xff, 0x09, 0xa9, 0x02, 0x29, 0x00, 0x40,
- 0x07, 0x80, 0xa0, 0x00, 0x09, 0xa0, 0x07, 0x8a, 0xaf, 0xfe, 0x02, 0x2a, 0x03, 0xff, 0x09, 0xaa,
- 0x02, 0x01, 0x0c, 0x32, 0x02, 0x05, 0x00, 0x00, 0xc1, 0x03, 0x05, 0x84, 0x07, 0x11, 0x05, 0xc1,
- 0x05, 0x85, 0x06, 0x04, 0x13, 0x0b, 0x80, 0x85, 0x1a, 0xf9, 0x80, 0x05, 0x1a, 0xf8, 0x82, 0x85,
- 0x1a, 0xf5, 0x82, 0x05, 0x1a, 0xf4, 0x82, 0x45, 0x1a, 0xf1, 0x10, 0xf1, 0x2d, 0x20, 0x00, 0x02,
- 0x01, 0x60, 0x01, 0x40, 0x40, 0x00, 0x16, 0x06, 0x07, 0x8a, 0x08, 0x00, 0x01, 0xa0, 0x01, 0x40,
- 0x40, 0x00, 0x10, 0x48, 0x01, 0x60, 0x01, 0x42, 0x80, 0x00, 0x16, 0x06, 0x07, 0x8a, 0x10, 0x00,
- 0x01, 0xa0, 0x01, 0x42, 0x80, 0x00, 0x10, 0x3e, 0x01, 0x60, 0x01, 0x02, 0x10, 0x00, 0x16, 0x0a,
- 0x01, 0x60, 0x01, 0x00, 0x04, 0x00, 0x16, 0x06, 0x07, 0x8a, 0x80, 0x00, 0x01, 0xa0, 0x01, 0x02,
- 0x10, 0x00, 0x10, 0x30, 0x01, 0x60, 0x01, 0x02, 0x08, 0x00, 0x16, 0x0a, 0x01, 0x60, 0x01, 0x00,
- 0x04, 0x00, 0x16, 0x06, 0x01, 0xa0, 0x01, 0x02, 0x08, 0x00, 0x02, 0x0d, 0x00, 0x01, 0x10, 0x0d,
- 0x01, 0x60, 0x01, 0x02, 0x04, 0x00, 0x16, 0x16, 0x01, 0x60, 0x01, 0x00, 0x08, 0x00, 0x16, 0x12,
- 0x01, 0xa0, 0x01, 0x02, 0x04, 0x00, 0x02, 0x0d, 0x00, 0x02, 0xc3, 0xa0, 0x01, 0x0e, 0xc3, 0xe0,
- 0x01, 0x10, 0x07, 0x8a, 0x20, 0x00, 0x01, 0x60, 0x01, 0x00, 0x80, 0x00, 0x13, 0x0b, 0x07, 0x8a,
- 0x40, 0x00, 0x10, 0x08, 0x07, 0x8a, 0x00, 0x04, 0x10, 0x05, 0x07, 0x8a, 0x00, 0x02, 0x10, 0x02,
- 0x07, 0x8a, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x04, 0xe0, 0x01, 0x82, 0x07, 0x8b, 0x05, 0xe0,
- 0xce, 0xca, 0xce, 0xcd, 0xce, 0xce, 0xc6, 0xcf, 0xc3, 0x20, 0x07, 0x58, 0x23, 0x20, 0xe0, 0x04,
- 0x13, 0x12, 0x07, 0x8b, 0xff, 0x18, 0x02, 0x8a, 0x80, 0x00, 0x13, 0x0a, 0x05, 0x8b, 0xa2, 0xcd,
- 0x02, 0x8a, 0x40, 0x00, 0x13, 0x05, 0x02, 0x8a, 0x20, 0x00, 0x13, 0x02, 0x07, 0x8b, 0xff, 0x1d,
- 0xc8, 0x0b, 0x01, 0x04, 0x10, 0x0d, 0xd3, 0x20, 0x01, 0x05, 0x11, 0xfd, 0xd8, 0x20, 0x07, 0xdf,
- 0x01, 0x17, 0x07, 0x8b, 0xff, 0x80, 0xc8, 0x0b, 0x01, 0x04, 0xe8, 0x20, 0xe0, 0x0a, 0x01, 0x00,
- 0xc2, 0xe0, 0x01, 0x04, 0x22, 0xe0, 0xe1, 0x86, 0x16, 0xfb, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0xe0,
- 0x01, 0x82, 0xe8, 0x20, 0xe0, 0x0a, 0x01, 0x00, 0xc2, 0xe0, 0x01, 0x00, 0x22, 0xe0, 0xe0, 0x06,
- 0x13, 0xf8, 0x01, 0xa0, 0x01, 0x40, 0xf6, 0x00, 0x04, 0x60, 0xb0, 0x90, 0x03, 0x00, 0x00, 0x02,
- 0x07, 0xa0, 0x01, 0x02, 0xdf, 0xff, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02,
- 0x07, 0x09, 0xc2, 0xa0, 0x01, 0x04, 0x01, 0x8a, 0x00, 0x80, 0x52, 0x4a, 0xd2, 0x89, 0xc8, 0x0a,
- 0x01, 0x04, 0xd2, 0xa0, 0x01, 0x04, 0x16, 0xf9, 0x05, 0x49, 0x01, 0x89, 0x80, 0x00, 0x01, 0x49,
- 0x40, 0x00, 0x13, 0x0e, 0xf8, 0x09, 0x07, 0x3a, 0xc2, 0x60, 0x07, 0x36, 0x16, 0x03, 0x03, 0x90,
- 0xff, 0xff, 0x03, 0x80, 0x04, 0xe0, 0x07, 0x36, 0x04, 0x54, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80,
- 0x22, 0x60, 0xe1, 0x86, 0x13, 0xc2, 0x04, 0xe0, 0x01, 0x82, 0x04, 0x60, 0xb3, 0xe0, 0x03, 0x00,
- 0x00, 0x02, 0x07, 0xa0, 0x09, 0x62, 0x03, 0xe8, 0x04, 0xc9, 0xc1, 0xa0, 0x06, 0x34, 0x16, 0x04,
- 0x06, 0xa0, 0xc2, 0xae, 0x04, 0xe0, 0x09, 0x20, 0x07, 0x86, 0x05, 0xe8, 0x01, 0xa0, 0x01, 0x40,
- 0x80, 0x00, 0xc2, 0x20, 0x01, 0x84, 0x48, 0x20, 0xe0, 0x08, 0x01, 0x84, 0x22, 0x20, 0xe0, 0x08,
- 0x13, 0x08, 0x01, 0x60, 0x01, 0xae, 0x00, 0x01, 0x16, 0x04, 0x01, 0xe0, 0x06, 0x34, 0x80, 0x00,
- 0x10, 0x06, 0xc2, 0x20, 0x09, 0x32, 0x13, 0x06, 0x01, 0xe0, 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0,
- 0x06, 0x30, 0x07, 0x09, 0x05, 0xa0, 0x05, 0xee, 0x06, 0x20, 0x05, 0xec, 0x16, 0x02, 0xc2, 0x16,
- 0x16, 0x03, 0xc2, 0x49, 0x16, 0x12, 0x03, 0x80, 0xc5, 0x98, 0xc1, 0xe8, 0x00, 0x02, 0xe9, 0xe0,
- 0xe0, 0x14, 0x00, 0x04, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x08, 0x06, 0xa0, 0xc2, 0x44, 0xc2, 0x16,
- 0x13, 0x04, 0xc8, 0x28, 0x00, 0x08, 0x05, 0xec, 0x13, 0xef, 0x04, 0x54, 0x03, 0x00, 0x00, 0x02,
- 0xc1, 0xe0, 0x01, 0x86, 0x02, 0x47, 0x00, 0x0e, 0xc2, 0xa7, 0xe1, 0x90, 0x04, 0x5a, 0x07, 0x8a,
- 0xa0, 0x00, 0xc8, 0x0a, 0x01, 0x86, 0xa1, 0xc7, 0x02, 0x27, 0xe1, 0x98, 0xe8, 0x37, 0x06, 0x34,
- 0xe8, 0x17, 0x06, 0xd2, 0x04, 0xe0, 0x06, 0x30, 0x04, 0x60, 0xb9, 0xc0, 0xe8, 0x0a, 0x06, 0xd2,
- 0x01, 0xe0, 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0, 0x06, 0x30, 0xe0, 0x20, 0xe0, 0x18, 0x04, 0x5b,
- 0x05, 0xa0, 0x09, 0x20, 0x88, 0x20, 0x09, 0x20, 0xe0, 0x16, 0x1a, 0xe5, 0x04, 0xe0, 0x09, 0x20,
- 0x06, 0xa0, 0xe1, 0x18, 0x03, 0x80, 0x05, 0xa0, 0x09, 0x32, 0x03, 0x80, 0xc3, 0x01, 0x13, 0xfb,
- 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01, 0x13, 0x78, 0x05, 0xa0, 0x09, 0x32, 0x10, 0x75, 0xc0, 0x41,
- 0x13, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02, 0x11, 0x01, 0x10, 0x7b, 0x01, 0x60,
- 0x01, 0x9c, 0x00, 0x40, 0x16, 0x79, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0xc0, 0x41, 0x13, 0x04,
- 0xc8, 0x01, 0x01, 0x8a, 0xc8, 0x01, 0x09, 0x18, 0x07, 0x86, 0x00, 0x43, 0xc8, 0x06, 0x01, 0x6c,
- 0x02, 0x07, 0xfc, 0x02, 0xc2, 0x17, 0x04, 0x60, 0xb6, 0xfa, 0x04, 0xe0, 0x09, 0x18, 0x61, 0xc7,
- 0x07, 0x08, 0x01, 0x60, 0xfc, 0x06, 0x00, 0x40, 0x13, 0x02, 0x02, 0x08, 0x00, 0x01, 0x10, 0x09,
- 0xc2, 0x4c, 0xc3, 0x20, 0xfc, 0x00, 0x13, 0x2a, 0xc8, 0x0c, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02,
- 0x11, 0x1b, 0x01, 0x4b, 0x01, 0x00, 0x16, 0xf4, 0x22, 0xc8, 0x13, 0x12, 0x01, 0xcb, 0x40, 0x00,
- 0xc8, 0x0b, 0xfc, 0x02, 0x10, 0x0d, 0xc1, 0xe0, 0x09, 0x18, 0xc3, 0x01, 0x13, 0x21, 0xc2, 0x4c,
- 0x13, 0x15, 0xc8, 0x0c, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02, 0x11, 0x06, 0x81, 0xcc, 0x13, 0xd5,
- 0xc2, 0x4c, 0xc3, 0x20, 0xfc, 0x00, 0x10, 0xf4, 0xc8, 0x09, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02,
- 0x16, 0x1e, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0xc3, 0x09, 0x10, 0x19, 0xc8, 0x09, 0x01, 0x6c,
- 0xc2, 0xe0, 0xfc, 0x02, 0x16, 0x05, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0xc3, 0x09, 0x10, 0x0f,
- 0xc2, 0xe0, 0x0c, 0x02, 0x11, 0x01, 0x10, 0x1e, 0xd8, 0x20, 0xe2, 0x00, 0x01, 0x83, 0x00, 0x00,
- 0xb6, 0x44, 0x00, 0x09, 0x09, 0x8b, 0x00, 0x00, 0xb6, 0x4c, 0x0b, 0x36, 0x07, 0xa0, 0x01, 0x8a,
- 0x00, 0x43, 0x10, 0x13, 0xc8, 0x0c, 0x01, 0x8a, 0xc8, 0x0c, 0x09, 0x18, 0x10, 0x0e, 0x03, 0x00,
- 0x00, 0x02, 0xc0, 0xe0, 0x01, 0x6c, 0xc3, 0x20, 0x01, 0x8a, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00,
- 0x13, 0x81, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x13, 0xb9, 0x83, 0x01, 0x16, 0x31, 0xc8, 0x03,
- 0x01, 0x6c, 0x01, 0x40, 0x00, 0x10, 0x16, 0x14, 0xc2, 0xe0, 0x06, 0x2e, 0x13, 0x11, 0xc2, 0xe0,
- 0x05, 0xf8, 0x13, 0x0e, 0x01, 0xe0, 0x07, 0x3a, 0x80, 0x00, 0x01, 0x80, 0x00, 0x10, 0xc2, 0xe0,
- 0x07, 0x36, 0x13, 0x06, 0x04, 0xe0, 0x07, 0x36, 0x01, 0x80, 0x00, 0x20, 0x04, 0x60, 0xb9, 0xc0,
- 0x01, 0x40, 0x00, 0x20, 0x13, 0xf9, 0x03, 0x90, 0x11, 0xff, 0x03, 0x80, 0x01, 0x08, 0x04, 0x00,
- 0x16, 0x19, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01, 0x16, 0x15, 0x01, 0x88, 0x1a, 0x00, 0x01, 0xc8,
- 0x01, 0x00, 0xc5, 0xc8, 0x10, 0x0f, 0x04, 0xe0, 0x09, 0x18, 0x01, 0xc0, 0x00, 0x04, 0x10, 0x15,
- 0xc1, 0x81, 0xc8, 0x01, 0x01, 0x6c, 0x02, 0x07, 0xfc, 0x00, 0xc0, 0x77, 0xc2, 0x17, 0x01, 0x48,
- 0x18, 0x00, 0x13, 0xe4, 0x01, 0x40, 0x00, 0x40, 0x16, 0x15, 0x01, 0x80, 0x00, 0x45, 0xc1, 0x46,
- 0xd0, 0x20, 0xfc, 0x07, 0x81, 0x60, 0x09, 0x18, 0x13, 0xe6, 0xc2, 0xe0, 0xfc, 0x08, 0x11, 0x08,
- 0xc2, 0xe0, 0xfc, 0x0e, 0x15, 0x07, 0x13, 0x06, 0xc2, 0xe0, 0xfc, 0x14, 0x15, 0x03, 0x13, 0x02,
- 0x01, 0xc0, 0x00, 0x01, 0x01, 0x48, 0x01, 0x00, 0x13, 0x11, 0x01, 0x40, 0x40, 0x80, 0x13, 0x5b,
- 0x04, 0x60, 0xb6, 0x66, 0x01, 0x48, 0x00, 0x01, 0x16, 0x03, 0x01, 0x40, 0x40, 0x00, 0x16, 0x0b,
- 0x01, 0xc8, 0x40, 0x00, 0x05, 0xa0, 0x09, 0x32, 0xc5, 0xc8, 0x10, 0x05, 0x01, 0xc0, 0x00, 0x40,
- 0x01, 0x40, 0x00, 0x04, 0x13, 0xef, 0x05, 0xc7, 0xc2, 0xd7, 0x62, 0xc4, 0x05, 0x0b, 0x02, 0x2b,
- 0xff, 0xfc, 0xc5, 0xcb, 0x15, 0x02, 0x81, 0x46, 0x13, 0x5d, 0x01, 0x08, 0x5e, 0x00, 0x16, 0x5a,
- 0x01, 0x08, 0x00, 0x88, 0x16, 0x13, 0x02, 0x86, 0x00, 0x43, 0x16, 0x1e, 0x01, 0x40, 0x40, 0x00,
- 0x13, 0x0b, 0x01, 0x08, 0x00, 0x03, 0x13, 0x08, 0xc2, 0x84, 0x02, 0x2a, 0xff, 0xd8, 0xc8, 0x06,
- 0x01, 0x6c, 0x68, 0x0a, 0xfc, 0x04, 0x10, 0x66, 0x04, 0x60, 0xb8, 0xa8, 0x01, 0x40, 0x00, 0x01,
- 0x13, 0xea, 0x01, 0x08, 0x00, 0x02, 0x16, 0xe7, 0x01, 0x48, 0x00, 0x01, 0x16, 0xe4, 0x07, 0x8a,
- 0x00, 0x80, 0x06, 0xa0, 0xb5, 0x32, 0x10, 0xdf, 0xc0, 0x00, 0x11, 0xee, 0xc2, 0x60, 0x09, 0x6a,
- 0x01, 0x40, 0x40, 0x00, 0x13, 0x0a, 0x01, 0x48, 0x00, 0x01, 0x13, 0x2e, 0x01, 0x48, 0x00, 0x02,
- 0x13, 0x04, 0x01, 0x49, 0x00, 0x04, 0x16, 0xe0, 0x10, 0x00, 0x01, 0x49, 0x00, 0x01, 0x13, 0x12,
- 0x01, 0x40, 0x40, 0x80, 0x16, 0x01, 0xc1, 0x46, 0x04, 0xe0, 0xfc, 0x00, 0x07, 0x87, 0x05, 0xf8,
- 0xc2, 0x17, 0x13, 0x14, 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6c, 0xc8, 0x05, 0xfc, 0x00, 0xc5, 0xc6,
- 0x04, 0x60, 0xb6, 0x66, 0x02, 0x07, 0xfc, 0x02, 0xa1, 0xe0, 0x09, 0x2c, 0xcd, 0xe0, 0x05, 0xee,
- 0xc5, 0xe0, 0xfc, 0x04, 0xc8, 0x20, 0x09, 0x2c, 0xfc, 0x04, 0x10, 0xe2, 0xcd, 0xc5, 0xc5, 0xc6,
- 0x04, 0x60, 0xb6, 0x66, 0x04, 0x60, 0xb8, 0x8c, 0xc8, 0x06, 0x01, 0x6c, 0x81, 0x85, 0x13, 0x1a,
- 0xc2, 0xe0, 0xfc, 0x04, 0x15, 0x17, 0xc2, 0x86, 0xa2, 0x8a, 0xc1, 0xaa, 0x0c, 0x32, 0xc8, 0x06,
- 0x01, 0x6c, 0xa8, 0x0b, 0xfc, 0x04, 0x09, 0x1a, 0xc8, 0x0a, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02,
- 0x04, 0xe0, 0xfc, 0x00, 0xc8, 0x06, 0x01, 0x6c, 0xc8, 0x0b, 0xfc, 0x02, 0x06, 0xa0, 0xc1, 0x9c,
- 0xc8, 0x06, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00, 0x01, 0xa0, 0xfc, 0x02, 0x00, 0x02, 0x07, 0x87,
- 0x06, 0x30, 0x01, 0xe7, 0x00, 0x04, 0x00, 0x40, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x0c, 0xc2, 0x05,
- 0x06, 0xa0, 0xc2, 0x5a, 0x01, 0xc0, 0x00, 0x20, 0x04, 0x60, 0xb6, 0x66, 0x01, 0x48, 0x18, 0x00,
- 0x13, 0x03, 0x01, 0x48, 0x10, 0x00, 0x16, 0x02, 0x05, 0xa0, 0x09, 0x32, 0x02, 0x86, 0x00, 0x43,
- 0x13, 0x03, 0x01, 0x40, 0x40, 0x80, 0x13, 0x9f, 0xc8, 0x06, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00,
- 0xc2, 0x85, 0x06, 0xa0, 0xc1, 0x9c, 0x06, 0x20, 0x09, 0x62, 0x16, 0xe6, 0x06, 0xa0, 0xe1, 0x18,
- 0x10, 0xe3, 0xc2, 0xa0, 0x05, 0xf6, 0x16, 0x52, 0xc8, 0x19, 0x05, 0xf0, 0xc2, 0xa9, 0x00, 0x0a,
- 0x11, 0x0d, 0xf2, 0xa0, 0x09, 0x2e, 0xd8, 0x0a, 0x01, 0x80, 0xc8, 0x29, 0x00, 0x06, 0x01, 0x8c,
- 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04, 0xc8, 0x09, 0x05, 0xf4, 0x10, 0x42, 0xc8, 0x29, 0x00, 0x06,
- 0x01, 0x6c, 0xc8, 0x20, 0xfc, 0x0e, 0x01, 0xbc, 0xc8, 0x20, 0xfc, 0x10, 0x01, 0xb0, 0xc8, 0x20,
- 0xfc, 0x12, 0x01, 0xb2, 0xf2, 0xa0, 0x09, 0x2e, 0x01, 0x8a, 0x10, 0x00, 0x01, 0xa0, 0x01, 0x80,
- 0xc4, 0x00, 0x10, 0xe1, 0x01, 0x47, 0x00, 0x08, 0x16, 0x06, 0xc2, 0xa8, 0x00, 0x06, 0x06, 0xa0,
- 0xc1, 0x9c, 0x04, 0xe8, 0x00, 0x06, 0x01, 0x07, 0x00, 0x20, 0x13, 0x2d, 0x04, 0xe8, 0x00, 0x02,
- 0x10, 0x37, 0x04, 0xe0, 0xfc, 0x00, 0x06, 0xa0, 0xc1, 0x9c, 0x10, 0x25, 0x03, 0x00, 0x00, 0x02,
- 0xc2, 0x20, 0x01, 0x8c, 0xc0, 0xe0, 0x01, 0x6c, 0xc2, 0x20, 0x05, 0xf4, 0xc8, 0x28, 0x00, 0x08,
- 0x01, 0x6c, 0xc1, 0xe8, 0x00, 0x0a, 0xc3, 0x20, 0xfc, 0x02, 0x01, 0x0c, 0xfe, 0x00, 0x16, 0x3b,
- 0x01, 0x47, 0x00, 0x40, 0x13, 0x50, 0xc2, 0x60, 0x05, 0xf0, 0x16, 0xab, 0x04, 0xe0, 0x05, 0xf4,
- 0xca, 0x0c, 0x00, 0x08, 0x01, 0x47, 0x00, 0x80, 0x16, 0xcd, 0xc8, 0x28, 0x00, 0x06, 0x01, 0x6c,
- 0xc2, 0xa0, 0xfc, 0x00, 0x16, 0xd6, 0xc1, 0xe8, 0x00, 0x02, 0xc2, 0xd7, 0x16, 0x0f, 0x02, 0x27,
- 0x00, 0x10, 0x04, 0xd8, 0xc2, 0x57, 0x13, 0x0e, 0x05, 0xc7, 0xc2, 0x57, 0xc6, 0x48, 0xc5, 0xc8,
- 0xc8, 0x03, 0x01, 0x6c, 0x11, 0x0d, 0x03, 0x90, 0x11, 0xff, 0x03, 0x80, 0x04, 0xd7, 0x01, 0xc3,
- 0x80, 0x00, 0x10, 0xed, 0x01, 0xe7, 0xff, 0xf4, 0x00, 0x20, 0xcd, 0xc8, 0xc5, 0xc8, 0x10, 0xf0,
- 0x03, 0x90, 0x11, 0xf8, 0x02, 0xe0, 0x00, 0xc0, 0xc3, 0x60, 0x00, 0xfa, 0xc3, 0xa0, 0x00, 0xfc,
- 0xc3, 0xe0, 0x00, 0xfe, 0x04, 0x54, 0xc2, 0xe8, 0x00, 0x08, 0xc2, 0xa8, 0x00, 0x06, 0xc3, 0x0c,
- 0x11, 0x33, 0x23, 0x20, 0xe0, 0x0a, 0x13, 0x45, 0x23, 0x20, 0xe0, 0x10, 0x13, 0x46, 0x23, 0x20,
- 0xe0, 0x0e, 0x13, 0x13, 0x21, 0xe0, 0xe0, 0x16, 0x16, 0xb6, 0x23, 0x20, 0xe0, 0x06, 0x16, 0x03,
- 0x27, 0x20, 0xe4, 0x68, 0x13, 0x0a, 0xc2, 0xe8, 0x00, 0x08, 0xc2, 0xa8, 0x00, 0x06, 0x01, 0x4c,
- 0x00, 0x88, 0x16, 0xa9, 0x01, 0x0c, 0x00, 0x44, 0x16, 0xa6, 0x06, 0x20, 0x09, 0x16, 0x13, 0xa3,
- 0xc8, 0x0a, 0x01, 0x6c, 0xc8, 0x20, 0xe0, 0x04, 0xfc, 0x02, 0xc8, 0x0b, 0x01, 0x6c, 0x07, 0xa0,
- 0xfc, 0x02, 0x81, 0x00, 0xc3, 0x20, 0x01, 0x80, 0x01, 0xa0, 0x01, 0x80, 0xc4, 0x00, 0xc8, 0x0c,
- 0x01, 0x80, 0xc8, 0x0a, 0x01, 0x8c, 0x10, 0xac, 0xc2, 0x0a, 0x13, 0x0f, 0xc8, 0x08, 0x01, 0x6c,
- 0xc2, 0xa0, 0xfc, 0x00, 0xc3, 0x20, 0xfc, 0x02, 0x23, 0x20, 0xe0, 0x12, 0x16, 0xf5, 0xc8, 0x0b,
- 0x01, 0x6c, 0xc8, 0x0c, 0xfc, 0x02, 0x04, 0x60, 0xb9, 0x48, 0x07, 0x8a, 0x04, 0x00, 0x04, 0x60,
- 0xb3, 0x8a, 0x07, 0x8a, 0x00, 0x20, 0x04, 0x60, 0xb3, 0x8a, 0x07, 0x8a, 0x02, 0x00, 0x27, 0x20,
- 0xe0, 0x0e, 0x16, 0x02, 0x06, 0xa0, 0xb5, 0x32, 0xc2, 0xa8, 0x00, 0x06, 0x04, 0x60, 0xb9, 0x66,
- 0x03, 0x00, 0x00, 0x02, 0x01, 0xc0, 0x00, 0x10, 0xc2, 0xe0, 0x06, 0x2e, 0x13, 0x08, 0xc2, 0xe0,
- 0x05, 0xf8, 0x13, 0x05, 0x01, 0xe0, 0x07, 0x3a, 0x80, 0x00, 0x01, 0x80, 0x00, 0x10, 0x03, 0x90,
- 0x7f, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc2, 0x20, 0x05, 0xf6, 0xe2, 0x20, 0x05, 0xf4,
- 0x16, 0x0e, 0xd8, 0x20, 0x09, 0x2e, 0x01, 0x80, 0xc8, 0x2b, 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0,
- 0x09, 0x16, 0x00, 0x04, 0xc8, 0x0b, 0x05, 0xf4, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x07, 0x87,
- 0x05, 0xf0, 0x04, 0xdb, 0xc2, 0x57, 0x16, 0x05, 0xcd, 0xcb, 0xc5, 0xcb, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0x05, 0xc7, 0xc2, 0x57, 0xc6, 0x4b, 0xc5, 0xcb, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0xc2, 0x0b, 0xc3, 0x20, 0x05, 0xf4, 0x13, 0x0f, 0xc2, 0xa8, 0x00, 0x0a,
- 0x01, 0x4a, 0x00, 0x10, 0x16, 0x16, 0x22, 0xa0, 0xe0, 0x04, 0x16, 0x1a, 0xc3, 0x08, 0x06, 0xa0,
- 0xbb, 0xfe, 0xc2, 0x0c, 0xc3, 0x20, 0x05, 0xf4, 0x16, 0x13, 0x01, 0x68, 0x00, 0x0a, 0x00, 0x10,
- 0x13, 0x03, 0xc2, 0xe0, 0x05, 0xf6, 0x16, 0x05, 0x06, 0xa0, 0xbc, 0x40, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x44, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80,
- 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x8a, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x07, 0x87,
- 0x05, 0xf0, 0xc2, 0xcb, 0x16, 0x08, 0x06, 0xa0, 0xbb, 0xfe, 0x07, 0x20, 0x05, 0xf6, 0xcb, 0x60,
- 0x05, 0xf4, 0x00, 0x02, 0x03, 0x80, 0x04, 0xe0, 0x05, 0xf6, 0xc2, 0x20, 0x05, 0xf4, 0x16, 0x05,
- 0xc2, 0x17, 0x13, 0x03, 0xc5, 0xd8, 0x06, 0xa0, 0xbc, 0x40, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02,
- 0xc2, 0x8b, 0x06, 0xa0, 0xbb, 0xfe, 0xc1, 0xca, 0x02, 0x27, 0x00, 0x10, 0x07, 0x88, 0x05, 0xf0,
- 0xc1, 0x88, 0xc2, 0x18, 0x13, 0x26, 0x82, 0xa8, 0x00, 0x02, 0x16, 0xfa, 0xc2, 0xe8, 0x00, 0x0a,
- 0x22, 0xe0, 0xe0, 0x1e, 0x16, 0xf5, 0xc5, 0x98, 0x22, 0xe0, 0xe0, 0x1c, 0x16, 0x0b, 0xc8, 0x28,
- 0x00, 0x06, 0x00, 0xf4, 0x02, 0xe0, 0x00, 0xe0, 0x06, 0xa0, 0xc1, 0x9c, 0x02, 0xe0, 0x00, 0xc0,
- 0x04, 0xe8, 0x00, 0x06, 0x22, 0xe0, 0xe0, 0x18, 0x13, 0xe4, 0xea, 0x20, 0xe0, 0x22, 0x00, 0x0a,
- 0xea, 0xa0, 0xe0, 0x18, 0x00, 0x04, 0x04, 0xda, 0x06, 0xa0, 0xc2, 0x44, 0x06, 0x47, 0xc2, 0x06,
- 0x10, 0xd8, 0xc8, 0x06, 0x05, 0xf2, 0xcb, 0x60, 0x05, 0xf4, 0x00, 0x02, 0x04, 0x54, 0xc2, 0x20,
- 0x05, 0xf4, 0x13, 0x13, 0x01, 0xe0, 0x01, 0x9c, 0x40, 0x00, 0x0b, 0x8b, 0x0b, 0x8b, 0x01, 0x60,
- 0x01, 0x9c, 0x40, 0x00, 0x16, 0x0a, 0xc2, 0x60, 0x01, 0x6c, 0xc8, 0x28, 0x00, 0x06, 0x01, 0x6c,
- 0xc2, 0xa0, 0xfc, 0x02, 0x11, 0x03, 0xc8, 0x09, 0x01, 0x6c, 0x04, 0x5b, 0xc8, 0x09, 0x01, 0x6c,
- 0xc2, 0x4b, 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x8a, 0x04, 0xe0, 0x05, 0xf4, 0x04, 0x59,
- 0xc2, 0xa8, 0x00, 0x0a, 0x11, 0x0d, 0xf2, 0xa0, 0x09, 0x2e, 0xd8, 0x0a, 0x01, 0x80, 0xc8, 0x28,
- 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04, 0xc8, 0x08, 0x05, 0xf4, 0x04, 0x5b,
- 0xc3, 0x20, 0x01, 0x6c, 0xc8, 0x28, 0x00, 0x06, 0x01, 0x6c, 0xc8, 0x20, 0xfc, 0x0e, 0x01, 0xbc,
- 0xc8, 0x20, 0xfc, 0x10, 0x01, 0xb0, 0xc8, 0x20, 0xfc, 0x12, 0x01, 0xb2, 0xc8, 0x0c, 0x01, 0x6c,
- 0xf2, 0xa0, 0x09, 0x2e, 0x01, 0x8a, 0x10, 0x00, 0x01, 0xa0, 0x01, 0x80, 0xc4, 0x00, 0x10, 0xdd,
- 0x07, 0x33, 0x07, 0x33, 0x10, 0x0c, 0x07, 0x13, 0x07, 0x23, 0x00, 0x02, 0xc8, 0xcb, 0x00, 0x06,
- 0x02, 0x23, 0x00, 0x18, 0xcc, 0xe0, 0x01, 0x6c, 0xcc, 0xcd, 0xcc, 0xce, 0xcc, 0xcf, 0x07, 0x83,
- 0x06, 0x30, 0xc1, 0xd3, 0x13, 0x0a, 0x07, 0x83, 0x07, 0x36, 0xc1, 0xd3, 0x13, 0x06, 0x07, 0x83,
- 0x00, 0xa0, 0x00, 0x93, 0xc8, 0x0c, 0x01, 0x6c, 0x03, 0x80, 0x07, 0x63, 0x00, 0x02, 0x15, 0x2a,
- 0xc2, 0x63, 0x00, 0x04, 0x42, 0x63, 0x00, 0x06, 0x13, 0xdb, 0xc3, 0x63, 0x00, 0x1a, 0xd2, 0x49,
- 0x13, 0x0c, 0x06, 0xc9, 0x72, 0x49, 0xd2, 0x69, 0xe1, 0xc0, 0x06, 0xc9, 0x72, 0x49, 0x48, 0xe9,
- 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49, 0x00, 0x02, 0x04, 0x52, 0xc2, 0x69, 0xe1, 0xc0, 0x72, 0x49,
- 0x02, 0x29, 0x00, 0x10, 0xc2, 0xc3, 0xa2, 0xe9, 0xe1, 0xa8, 0xc3, 0x1b, 0x02, 0x89, 0x00, 0x12,
- 0x13, 0x0f, 0xc6, 0xdc, 0x16, 0x03, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49, 0x00, 0x02,
- 0xcb, 0x4c, 0x00, 0x04, 0x03, 0x90, 0x01, 0xff, 0x00, 0x93, 0xc8, 0x0c, 0x01, 0x6c, 0x03, 0x80,
- 0xc8, 0x0c, 0x01, 0x6c, 0xc6, 0xe0, 0xfc, 0x00, 0x16, 0xf1, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04,
- 0xcb, 0x49, 0x00, 0x02, 0xcb, 0x4c, 0x00, 0x04, 0x10, 0xed, 0x03, 0x00, 0x00, 0x02, 0xc2, 0xdb,
- 0xc2, 0x63, 0x00, 0x04, 0x42, 0x4b, 0x13, 0x9f, 0xd2, 0x49, 0x13, 0x0e, 0x06, 0xc9, 0x72, 0x49,
- 0xd2, 0x69, 0xe1, 0xc0, 0x06, 0xc9, 0x72, 0x49, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49,
- 0x00, 0x02, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xc2, 0x69, 0xe1, 0xc0, 0x72, 0x49, 0x02, 0x29,
- 0x00, 0x10, 0xc2, 0xc3, 0xa2, 0xe9, 0xe1, 0xa8, 0xc3, 0x1b, 0x02, 0x89, 0x00, 0x12, 0x13, 0x0c,
- 0xc6, 0xdc, 0x16, 0x03, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49, 0x00, 0x02, 0xcb, 0x4c,
- 0x00, 0x04, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xc8, 0x0c, 0x01, 0x6c, 0xc6, 0xe0, 0xfc, 0x00,
- 0x16, 0xf4, 0x10, 0xf0, 0x03, 0x00, 0x00, 0x02, 0xc2, 0xbb, 0xc1, 0xbb, 0xd1, 0x86, 0x13, 0x03,
- 0xea, 0x86, 0x00, 0x04, 0x10, 0x13, 0xd1, 0xa6, 0xe1, 0xc0, 0x06, 0xc6, 0x71, 0x86, 0xc1, 0xca,
- 0xa1, 0xe6, 0xe1, 0xb8, 0xea, 0xa6, 0xe0, 0x14, 0x00, 0x04, 0xc2, 0x1b, 0x02, 0x86, 0x00, 0x02,
- 0x16, 0x03, 0x06, 0xa0, 0xc2, 0x6a, 0x10, 0x02, 0x06, 0xa0, 0xc2, 0x44, 0x04, 0xda, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0xc2, 0xab, 0x00, 0x06, 0x07, 0x8c, 0x05, 0xe8, 0xc2, 0x5c, 0x13, 0x16,
- 0xc1, 0xa0, 0x05, 0xec, 0x81, 0x8a, 0x1a, 0x1a, 0xc1, 0xc6, 0xc2, 0x09, 0xc2, 0x59, 0x13, 0x20,
- 0xa1, 0xe9, 0x00, 0x08, 0x82, 0x87, 0x12, 0xf9, 0xa2, 0xa9, 0x00, 0x08, 0x62, 0x87, 0xca, 0xca,
- 0x00, 0x08, 0x6a, 0x4a, 0x00, 0x08, 0xc6, 0xc9, 0xc6, 0x0b, 0x03, 0x80, 0xca, 0xca, 0x00, 0x08,
- 0xc8, 0x0a, 0x05, 0xec, 0x04, 0xdb, 0xcf, 0x0b, 0xc7, 0x0b, 0x03, 0x80, 0x61, 0x8a, 0xca, 0x46,
- 0x00, 0x08, 0xca, 0xca, 0x00, 0x08, 0xc8, 0x0a, 0x05, 0xec, 0xc6, 0xc9, 0xc7, 0x0b, 0x03, 0x80,
- 0x62, 0x87, 0xca, 0xca, 0x00, 0x08, 0x04, 0xdb, 0xc6, 0x0b, 0xcb, 0x0b, 0x00, 0x02, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0xc1, 0xbb, 0xc2, 0xdb, 0x07, 0x8c, 0x05, 0xe8, 0xc2, 0x4c, 0x04, 0xed,
- 0x00, 0x02, 0xc2, 0x09, 0xc2, 0x59, 0x13, 0x18, 0x81, 0xa9, 0x00, 0x02, 0x16, 0xfa, 0x82, 0xe9,
- 0x00, 0x04, 0x16, 0xf7, 0xcb, 0x49, 0x00, 0x04, 0xc2, 0x99, 0xc6, 0x0a, 0x13, 0x0a, 0x83, 0x08,
- 0x13, 0x04, 0xaa, 0xa9, 0x00, 0x08, 0x00, 0x08, 0x03, 0x80, 0xa8, 0x2a, 0x00, 0x08, 0x05, 0xec,
- 0x03, 0x80, 0xcb, 0x08, 0x00, 0x02, 0x03, 0x80, 0x07, 0x2d, 0x00, 0x02, 0x07, 0x8c, 0x00, 0x08,
- 0xa3, 0x06, 0xc2, 0x4c, 0xc2, 0x09, 0xc2, 0x59, 0x13, 0x13, 0x82, 0xe9, 0x00, 0x04, 0x16, 0xfa,
- 0x07, 0xad, 0x00, 0x02, 0x00, 0x01, 0xcb, 0x49, 0x00, 0x04, 0xc6, 0x19, 0x13, 0x01, 0x03, 0x80,
- 0x83, 0x08, 0x16, 0x04, 0x49, 0xa0, 0xe0, 0x14, 0x00, 0x04, 0x03, 0x80, 0xcb, 0x08, 0x00, 0x02,
- 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x06, 0x0b, 0x11, 0x1f, 0x13, 0x4d, 0x07, 0x8b, 0x4e, 0x00,
- 0x01, 0x60, 0x01, 0x42, 0x00, 0x80, 0x13, 0x09, 0x07, 0x8b, 0x3a, 0x00, 0xc1, 0x20, 0x01, 0x4e,
- 0x02, 0x84, 0x0f, 0x41, 0x11, 0x02, 0x07, 0x8b, 0x4e, 0x00, 0xc8, 0x0b, 0x01, 0x44, 0x07, 0xa0,
- 0x09, 0x62, 0x03, 0xe8, 0x01, 0xe0, 0x01, 0x40, 0x02, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x20, 0x00,
- 0x07, 0x84, 0xbc, 0xa0, 0x04, 0x60, 0xbc, 0xae, 0xc8, 0x20, 0xe0, 0x16, 0x00, 0xe0, 0xc2, 0xe0,
- 0x09, 0x6a, 0x22, 0xe0, 0xe0, 0x10, 0x13, 0x03, 0xe8, 0x20, 0xe0, 0x14, 0x00, 0xe0, 0xc8, 0x20,
- 0xe0, 0x04, 0x01, 0x82, 0xc8, 0x20, 0x00, 0xe2, 0x01, 0x8a, 0x04, 0xe0, 0x09, 0x18, 0x04, 0xe0,
- 0x05, 0xf4, 0x04, 0xe0, 0x05, 0xf8, 0x04, 0xe0, 0x05, 0xf0, 0x04, 0xe0, 0x07, 0x42, 0x07, 0xa0,
- 0x01, 0x88, 0x00, 0x20, 0xc2, 0xe0, 0x09, 0x30, 0x13, 0x09, 0x07, 0xa0, 0x01, 0x88, 0x00, 0x80,
- 0xe8, 0x20, 0xe0, 0x16, 0x01, 0x80, 0x01, 0xe0, 0x01, 0x82, 0x03, 0x00, 0x07, 0x8b, 0xa0, 0x00,
- 0xe8, 0x0b, 0x01, 0x86, 0x03, 0x80, 0x04, 0xe0, 0x01, 0x86, 0x01, 0xe0, 0x01, 0x9c, 0x00, 0x40,
- 0x01, 0xe0, 0x01, 0x9c, 0x40, 0x00, 0x04, 0xcb, 0x03, 0xb0, 0x06, 0x0b, 0x13, 0x04, 0x01, 0x60,
- 0x01, 0x9c, 0x40, 0x00, 0x16, 0xf9, 0x04, 0xe0, 0x01, 0x82, 0xe8, 0x20, 0xe0, 0x08, 0x09, 0x6a,
- 0x07, 0x8b, 0x80, 0x00, 0xc8, 0x0b, 0x07, 0x98, 0xc8, 0x0b, 0x07, 0x78, 0xc8, 0x20, 0xe0, 0x04,
- 0x01, 0x82, 0x07, 0x8b, 0x87, 0x6f, 0x48, 0x0b, 0x07, 0x3a, 0xc2, 0xe0, 0x07, 0x50, 0x02, 0x8b,
- 0x07, 0x58, 0x13, 0x10, 0xe8, 0x20, 0xe0, 0x0a, 0x01, 0x00, 0xc2, 0xe0, 0x01, 0x00, 0x22, 0xe0,
- 0xe0, 0x06, 0x13, 0xf8, 0x07, 0x8b, 0x07, 0x58, 0xc8, 0x0b, 0x07, 0x50, 0x07, 0x8b, 0xc5, 0x6a,
- 0xc8, 0x0b, 0x07, 0x52, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc2, 0xe0, 0x09, 0x1a, 0x13, 0x0c,
- 0x06, 0x20, 0x09, 0x1c, 0xc8, 0x0b, 0x01, 0x6c, 0xc8, 0x20, 0xfc, 0x00, 0x09, 0x1a, 0xcb, 0x4b,
- 0x00, 0x02, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xc0, 0x41, 0x13, 0x0f, 0x80, 0x81, 0x13, 0x0d,
- 0xa0, 0x82, 0xc2, 0xe2, 0x0c, 0x32, 0x09, 0x12, 0xc8, 0x0b, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00,
- 0xc3, 0x20, 0xfc, 0x02, 0x11, 0x07, 0xc8, 0x02, 0xfc, 0x00, 0x04, 0xed, 0x00, 0x02, 0x04, 0xe0,
- 0x01, 0x6c, 0x03, 0x80, 0xcb, 0x42, 0x00, 0x02, 0xc8, 0x02, 0x01, 0x6c, 0xc0, 0x8b, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0x07, 0x83, 0x80, 0x00, 0xc2, 0x60, 0x09, 0x7e, 0xc1, 0x09, 0x02, 0x24,
- 0xff, 0xf8, 0x08, 0xa9, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x0b, 0x00, 0x00,
- 0x02, 0x0c, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00, 0xcb, 0x2c, 0x0c, 0x32, 0x0c, 0x32, 0x13, 0x06,
- 0x05, 0x8b, 0x05, 0xcc, 0x88, 0x0b, 0x04, 0x46, 0x1b, 0x27, 0x10, 0xf6, 0xc2, 0x09, 0xc2, 0x8b,
- 0x06, 0x08, 0x13, 0x0a, 0x05, 0x8b, 0x05, 0xcc, 0x88, 0x0b, 0x04, 0x46, 0x1b, 0x1d, 0xcb, 0x2c,
- 0x0c, 0x32, 0x0c, 0x32, 0x16, 0xed, 0x10, 0xf4, 0xc0, 0x82, 0x13, 0x14, 0xc8, 0x02, 0x01, 0x6c,
- 0xc8, 0x0a, 0xfc, 0x00, 0xc8, 0x0a, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00, 0x07, 0xa0, 0xfc, 0x02,
- 0x80, 0x00, 0xc8, 0x04, 0xfc, 0x04, 0xc2, 0x0a, 0xa2, 0x08, 0xca, 0x02, 0x0c, 0x32, 0xc0, 0x8a,
- 0x05, 0x87, 0x10, 0xd6, 0xc0, 0x4a, 0x10, 0xee, 0xcb, 0x47, 0x00, 0x02, 0x04, 0xe0, 0x01, 0x6c,
- 0x07, 0x8b, 0x00, 0x43, 0x04, 0xe0, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x02, 0xc8, 0x0b, 0x01, 0x6c,
- 0xc2, 0x8b, 0x06, 0xa0, 0xc1, 0xa0, 0x03, 0x90, 0x00, 0x7f, 0x03, 0x80, 0x01, 0xa0, 0xfc, 0x02,
- 0x00, 0x20, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01, 0x16, 0x0b, 0x02, 0x0a, 0xfc, 0x02, 0xa2, 0xa0,
- 0x09, 0x2c, 0xce, 0xa0, 0x05, 0xee, 0xc6, 0xa0, 0xfc, 0x04, 0xc8, 0x20, 0x09, 0x2c, 0xfc, 0x04,
- 0x07, 0x8a, 0x05, 0xf8, 0xc2, 0x5a, 0x13, 0x08, 0x05, 0xca, 0xc2, 0x5a, 0xc8, 0x09, 0x01, 0x6c,
- 0xc8, 0x0b, 0xfc, 0x00, 0xc6, 0x8b, 0x10, 0x02, 0xce, 0x8b, 0xc6, 0x8b, 0x20, 0x20, 0xe0, 0x1a,
- 0x16, 0x05, 0xe8, 0x20, 0xe0, 0x04, 0x07, 0x3a, 0x04, 0xe0, 0x07, 0x36, 0x03, 0x90, 0x00, 0x7f,
- 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc8, 0x0b, 0x01, 0x6c, 0x04, 0xcc, 0x04, 0xe0, 0xfc, 0x00,
- 0xc2, 0x8b, 0x06, 0xa0, 0xc1, 0xae, 0x03, 0x90, 0x00, 0x7f, 0x03, 0x80, 0x07, 0xa0, 0xfc, 0x02,
- 0x80, 0x00, 0xc8, 0x20, 0xe1, 0x8c, 0xfc, 0x04, 0xc0, 0x41, 0x16, 0x0f, 0xd8, 0x20, 0xe2, 0x00,
- 0x01, 0x83, 0x00, 0x00, 0xc1, 0x82, 0x00, 0x15, 0x0b, 0x8b, 0x00, 0x00, 0xc1, 0x96, 0x0c, 0xa8,
- 0xc8, 0x0a, 0x01, 0x8a, 0x04, 0x5b, 0xc8, 0x0a, 0x01, 0x6c, 0xc3, 0x20, 0xfc, 0x00, 0x04, 0xe0,
- 0xfc, 0x00, 0x02, 0x8a, 0x00, 0x43, 0x13, 0xdf, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0xc8, 0x04,
- 0xfc, 0x04, 0x98, 0x20, 0x09, 0x84, 0x09, 0x1d, 0x13, 0x0a, 0xc8, 0x20, 0x09, 0x1a, 0xfc, 0x00,
- 0xc8, 0x0a, 0x09, 0x1a, 0x05, 0xa0, 0x09, 0x1c, 0xc2, 0x8c, 0x16, 0xe5, 0x04, 0x5b, 0xc0, 0x41,
- 0x13, 0x10, 0xa2, 0x8a, 0xca, 0x82, 0x0c, 0x32, 0x09, 0x1a, 0xc8, 0x02, 0x01, 0x6c, 0xc8, 0x0a,
- 0xfc, 0x00, 0xc0, 0x8a, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00, 0x13, 0x09, 0xc2, 0x8c, 0x16, 0xd3,
- 0x04, 0x5b, 0xc0, 0x4a, 0xc0, 0x8a, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00, 0x16, 0x1b, 0x01, 0xe0,
- 0x01, 0x9c, 0x00, 0x40, 0x07, 0xa0, 0x09, 0x64, 0x70, 0x00, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40,
- 0x13, 0x07, 0x06, 0x20, 0x09, 0x64, 0x16, 0xf9, 0x02, 0x0a, 0x01, 0x00, 0x04, 0x60, 0xb3, 0x8a,
- 0x01, 0x60, 0x0c, 0x02, 0x01, 0x00, 0x13, 0xe2, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0x07, 0xa0,
- 0x0c, 0x02, 0x80, 0x00, 0xc8, 0x0a, 0x01, 0x8a, 0xc8, 0x0a, 0x09, 0x18, 0x10, 0xd7, 0x04, 0xd8,
- 0xc2, 0x57, 0x16, 0x03, 0xcd, 0xc8, 0xc5, 0xc8, 0x04, 0x5b, 0x05, 0xc7, 0xc2, 0x57, 0xc6, 0x48,
- 0xc5, 0xc8, 0x04, 0x5b, 0xc8, 0x08, 0x01, 0x6c, 0xa2, 0x08, 0xca, 0x20, 0xfc, 0x00, 0x0c, 0x32,
- 0x09, 0x18, 0x10, 0x02, 0xc8, 0x08, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00, 0xc2, 0x57, 0x16, 0x03,
- 0xcd, 0xc8, 0xc5, 0xc8, 0x04, 0x5b, 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6c, 0xc8, 0x08, 0xfc, 0x00,
- 0xc5, 0xc8, 0x04, 0x5b, 0xc6, 0x17, 0x16, 0x02, 0xc9, 0xc8, 0x00, 0x02, 0xc5, 0xc8, 0x04, 0x5b,
- 0xc2, 0x17, 0xc8, 0x08, 0x01, 0x6c, 0x13, 0x07, 0xc5, 0xe0, 0xfc, 0x00, 0xa2, 0x08, 0xc8, 0x28,
- 0x0c, 0x32, 0xfc, 0x00, 0x09, 0x18, 0x04, 0x5b, 0x01, 0x60, 0x01, 0x82, 0x20, 0x00, 0x16, 0x0a,
- 0xc2, 0x60, 0x01, 0x84, 0x01, 0xa0, 0x01, 0x82, 0x20, 0x00, 0x01, 0xe0, 0x01, 0x82, 0x20, 0x00,
- 0xc8, 0x09, 0x01, 0x84, 0x04, 0xc9, 0x04, 0x5b, 0x06, 0xa0, 0xc5, 0x1c, 0x04, 0xd3, 0x04, 0xe0,
- 0x01, 0x02, 0xe8, 0x20, 0xe0, 0x14, 0x01, 0x00, 0xc8, 0x20, 0xe0, 0x16, 0x01, 0x04, 0x2c, 0x05,
- 0x48, 0x20, 0xe0, 0x14, 0x01, 0x00, 0x07, 0x8c, 0x0a, 0x00, 0x07, 0x8d, 0x07, 0xd8, 0x07, 0x8e,
- 0x00, 0x18, 0xcf, 0x7c, 0x06, 0x4e, 0x16, 0xfd, 0x02, 0xe0, 0x07, 0xd8, 0x07, 0x8f, 0xff, 0x11,
- 0x02, 0x8b, 0x59, 0x3b, 0x16, 0x21, 0x02, 0x8a, 0x59, 0x3b, 0x13, 0x1e, 0x05, 0x8f, 0x20, 0x20,
- 0xe0, 0x16, 0x16, 0x01, 0x10, 0x19, 0x20, 0x20, 0xe0, 0x04, 0x16, 0x16, 0x01, 0x00, 0x00, 0xbf,
- 0x16, 0x13, 0x07, 0x8b, 0x40, 0xc0, 0x01, 0x00, 0x60, 0x00, 0x13, 0x10, 0x01, 0x40, 0x60, 0x00,
- 0x16, 0x0b, 0x07, 0x8b, 0x44, 0xc4, 0xc3, 0xa0, 0x01, 0x02, 0x48, 0x0e, 0x01, 0x02, 0x01, 0x4e,
- 0x10, 0x00, 0x16, 0x04, 0x07, 0x8f, 0xff, 0x18, 0x04, 0x60, 0xc4, 0xf2, 0xc3, 0x0b, 0xc3, 0x4b,
- 0x20, 0x20, 0xe0, 0x0a, 0x16, 0x02, 0x02, 0x6b, 0x20, 0x20, 0x20, 0x20, 0xe0, 0x0c, 0x16, 0x02,
- 0x02, 0x6c, 0x20, 0x00, 0x20, 0x20, 0xe0, 0x0e, 0x16, 0x02, 0x02, 0x6c, 0x00, 0x20, 0x05, 0x8f,
- 0x20, 0x20, 0xe0, 0x10, 0x16, 0x07, 0x02, 0x6d, 0x00, 0x20, 0x21, 0x20, 0xe0, 0x22, 0x13, 0xe4,
- 0xc1, 0x04, 0x16, 0x02, 0x07, 0x84, 0x7f, 0xfe, 0x05, 0x8f, 0x20, 0x20, 0xe0, 0x12, 0x16, 0x02,
- 0x02, 0x6d, 0x20, 0x00, 0x21, 0x60, 0xe0, 0x22, 0x13, 0xd7, 0xc1, 0x45, 0x16, 0x02, 0x07, 0x85,
- 0x7f, 0xfe, 0x05, 0x8f, 0xd1, 0x86, 0x13, 0x0b, 0x25, 0xa0, 0xe0, 0x26, 0x13, 0x08, 0x05, 0x8f,
- 0x26, 0x20, 0xe0, 0x22, 0x16, 0x04, 0x05, 0x8f, 0x26, 0xa0, 0xe0, 0x22, 0x13, 0x02, 0x04, 0x60,
- 0xc4, 0xf2, 0xd8, 0x01, 0x08, 0xec, 0xd8, 0x20, 0x07, 0xdb, 0x09, 0x00, 0xd8, 0x02, 0x08, 0xf6,
- 0xd8, 0x20, 0x07, 0xdd, 0x08, 0xe2, 0x02, 0xe0, 0x07, 0x58, 0xd8, 0x20, 0x07, 0xef, 0x07, 0xf4,
- 0xd8, 0x20, 0x07, 0xf1, 0x07, 0xf6, 0xd8, 0x20, 0x07, 0xf3, 0x07, 0xf8, 0x02, 0x09, 0x00, 0x06,
- 0x04, 0xcb, 0x02, 0x0f, 0x07, 0xee, 0x05, 0x8f, 0xdf, 0xcb, 0x06, 0x09, 0x16, 0xfc, 0x06, 0xa0,
- 0xc5, 0x1c, 0x07, 0x89, 0xe3, 0x5c, 0x04, 0xe0, 0x01, 0x1a, 0xc8, 0x20, 0x07, 0xe4, 0x01, 0x18,
- 0xc8, 0x19, 0x01, 0x0c, 0xc8, 0x39, 0x01, 0x0a, 0xc8, 0x39, 0x01, 0x12, 0x16, 0x09, 0xc3, 0x79,
- 0x02, 0x0f, 0xe0, 0x00, 0x63, 0x4f, 0x02, 0x2d, 0xa0, 0x00, 0xc8, 0x0d, 0x01, 0x14, 0x10, 0x02,
- 0xc8, 0x39, 0x01, 0x14, 0xc3, 0xf9, 0xc8, 0x3f, 0x01, 0x0e, 0xc8, 0x1f, 0x01, 0x10, 0x04, 0xe0,
- 0x09, 0x14, 0xc2, 0xb9, 0xc8, 0x1a, 0x01, 0x00, 0x06, 0x96, 0x02, 0x89, 0xe3, 0x84, 0x16, 0xe0,
- 0x07, 0x8f, 0xff, 0x1c, 0x07, 0x8c, 0x0a, 0x00, 0x07, 0x8d, 0xe3, 0x84, 0x07, 0x8e, 0x00, 0x10,
- 0x8f, 0x7c, 0x16, 0x44, 0x06, 0x4e, 0x16, 0xfc, 0xc3, 0xa0, 0x07, 0xe2, 0xc3, 0xe0, 0x07, 0xe0,
- 0x83, 0xce, 0x14, 0x01, 0xc3, 0xce, 0xc8, 0x0f, 0x01, 0x1a, 0x07, 0x8c, 0xe3, 0x94, 0x07, 0x8d,
- 0x0a, 0x00, 0x07, 0x8e, 0xe3, 0xa4, 0x63, 0x8c, 0xcf, 0x7c, 0x06, 0x4e, 0x16, 0xfd, 0x04, 0xe0,
- 0x09, 0x30, 0x01, 0x20, 0x01, 0x42, 0x04, 0x00, 0x16, 0x02, 0x07, 0x20, 0x09, 0x30, 0xc2, 0x60,
- 0x01, 0x62, 0x04, 0xe0, 0x01, 0x62, 0x07, 0x8e, 0x80, 0x00, 0x07, 0x8c, 0x09, 0x34, 0x07, 0x8d,
- 0x00, 0x06, 0xdf, 0x3e, 0x05, 0x8e, 0x06, 0x0d, 0x16, 0xfc, 0xd3, 0xfe, 0x06, 0xcf, 0x05, 0x8e,
- 0xd3, 0xfe, 0x06, 0xcf, 0x07, 0x8c, 0x09, 0x34, 0xc8, 0x09, 0x01, 0x62, 0x04, 0xc9, 0xa3, 0x5c,
- 0xe2, 0x7c, 0xa3, 0x5c, 0xe2, 0x7c, 0xa3, 0x5c, 0xe2, 0x7c, 0x13, 0x02, 0x83, 0xcd, 0x13, 0x09,
- 0x07, 0x20, 0x09, 0x34, 0x10, 0x06, 0x07, 0x8f, 0xff, 0x19, 0xa3, 0xcd, 0xc8, 0x0f, 0x01, 0x04,
- 0x10, 0xff, 0x01, 0xa0, 0x01, 0x02, 0x10, 0x00, 0xc3, 0xe0, 0x07, 0xee, 0x43, 0xe0, 0xe0, 0x06,
- 0xc8, 0x0f, 0x01, 0x00, 0xc0, 0x20, 0xe0, 0x04, 0x04, 0xe0, 0x06, 0xfe, 0x04, 0xd3, 0x04, 0xe0,
- 0x01, 0x04, 0x04, 0x60, 0xc5, 0x6a, 0x07, 0x8c, 0x0a, 0x00, 0x07, 0x8d, 0x00, 0x18, 0x07, 0x8e,
- 0x59, 0x3b, 0xcf, 0x0e, 0x06, 0x4d, 0x16, 0xfd, 0x04, 0x5b, 0x01, 0x93, 0x80, 0x00, 0x04, 0x20,
- 0xe2, 0xc0, 0xd0, 0x60, 0x07, 0x98, 0x13, 0x1c, 0x03, 0x00, 0x00, 0x02, 0xc0, 0xa0, 0x07, 0x46,
- 0xc8, 0x12, 0x07, 0x46, 0x16, 0x02, 0x01, 0x93, 0x00, 0x20, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x20,
- 0xe2, 0xe8, 0x01, 0x93, 0x20, 0x00, 0x01, 0x80, 0x40, 0x00, 0x01, 0x00, 0x00, 0xfe, 0x16, 0x49,
- 0xc3, 0xc4, 0x16, 0x25, 0xc3, 0xd3, 0x43, 0xc5, 0x16, 0x0c, 0xc3, 0xe0, 0x07, 0x98, 0x11, 0x03,
- 0x02, 0xe0, 0x07, 0x98, 0x04, 0x51, 0xc3, 0xe0, 0x07, 0x78, 0x11, 0x0a, 0x02, 0xe0, 0x07, 0x78,
- 0x04, 0x51, 0x11, 0xd3, 0x01, 0x4f, 0x20, 0x00, 0x13, 0xe4, 0x01, 0x4f, 0x00, 0x20, 0x13, 0xd1,
- 0x2c, 0x05, 0xa0, 0x41, 0x04, 0x21, 0xe2, 0xc0, 0x07, 0x8b, 0xc5, 0x6a, 0x01, 0x00, 0x40, 0x00,
- 0x13, 0x0f, 0xc3, 0xdd, 0x02, 0x4f, 0x00, 0x0f, 0xe1, 0x2f, 0xe0, 0x14, 0x04, 0x5b, 0xc3, 0xe4,
- 0xe1, 0xc0, 0x73, 0xcf, 0x41, 0x2f, 0xe0, 0x14, 0xc3, 0x6f, 0xea, 0x8c, 0x07, 0x8b, 0xc5, 0x6a,
- 0xc2, 0x4b, 0xc2, 0xa0, 0x07, 0xf4, 0x07, 0x8c, 0x00, 0x08, 0xc0, 0xbd, 0xc3, 0xa0, 0x07, 0xea,
- 0xc3, 0xe0, 0x07, 0xec, 0x06, 0xa0, 0xc7, 0x5e, 0x01, 0xc0, 0x40, 0x00, 0xd8, 0x02, 0x01, 0x17,
- 0x02, 0x62, 0xff, 0x80, 0x06, 0xa0, 0xc7, 0xb2, 0xc8, 0x02, 0x01, 0x04, 0x03, 0x90, 0x60, 0x3f,
- 0x04, 0x59, 0xc3, 0xc0, 0x73, 0xcf, 0xc3, 0xef, 0xe1, 0xc0, 0x73, 0xcf, 0xc3, 0xaf, 0xea, 0x7e,
- 0xc3, 0x9e, 0x02, 0x4e, 0x00, 0x0f, 0x21, 0x2e, 0xe0, 0x14, 0x13, 0x08, 0x40, 0x2f, 0xe0, 0x14,
- 0xa3, 0xcf, 0x04, 0x2f, 0xe2, 0xf0, 0x01, 0x40, 0x40, 0x00, 0x13, 0xa4, 0xc3, 0xc4, 0x16, 0xc7,
- 0x01, 0x00, 0x00, 0xfe, 0x16, 0xe6, 0x10, 0x9e, 0x01, 0x40, 0x40, 0x00, 0x16, 0x05, 0xe0, 0x20,
- 0xe0, 0x14, 0x02, 0x65, 0x58, 0x00, 0x10, 0x96, 0xd8, 0x20, 0x07, 0xde, 0x01, 0x17, 0x07, 0x8f,
- 0xff, 0x86, 0xc8, 0x0f, 0x01, 0x04, 0x01, 0xc0, 0x40, 0x00, 0x02, 0x45, 0xa7, 0xff, 0x10, 0x8a,
- 0xc3, 0x20, 0x06, 0xfe, 0x27, 0x20, 0xe3, 0x38, 0x13, 0x07, 0x23, 0x20, 0xe0, 0x22, 0x13, 0x1a,
- 0x02, 0x65, 0xdf, 0xff, 0x40, 0x20, 0xe0, 0x14, 0xe0, 0x20, 0xe0, 0x16, 0xc8, 0x0c, 0x08, 0xe6,
- 0x07, 0x8d, 0x08, 0xe2, 0x04, 0x58, 0x48, 0x20, 0xe0, 0x08, 0x06, 0xfe, 0xc3, 0x20, 0x08, 0xe6,
- 0x27, 0x20, 0xe3, 0x38, 0x16, 0x19, 0x03, 0x80, 0xc3, 0x02, 0xc2, 0x6c, 0x00, 0x0a, 0x06, 0x99,
- 0x04, 0x60, 0xc5, 0x6a, 0xc2, 0xa0, 0x07, 0xf4, 0x07, 0x8c, 0x00, 0x01, 0x07, 0x8d, 0x06, 0x06,
- 0x04, 0xce, 0xc3, 0xe0, 0x06, 0x08, 0x13, 0x01, 0x06, 0x97, 0xd8, 0x20, 0x06, 0x07, 0x01, 0x17,
- 0x07, 0x8b, 0xff, 0x82, 0xc8, 0x0b, 0x01, 0x04, 0x06, 0xa0, 0xcb, 0xe4, 0x04, 0x60, 0xc5, 0x6a,
- 0xc2, 0xa0, 0x07, 0xee, 0x07, 0x8c, 0x00, 0x06, 0x07, 0x8d, 0x08, 0xee, 0xc3, 0xa0, 0x07, 0xe6,
- 0xc3, 0xe0, 0x07, 0xe8, 0x06, 0x97, 0xc2, 0xa0, 0x07, 0xf4, 0x07, 0x8d, 0x08, 0xf4, 0x04, 0xdd,
- 0x07, 0x8c, 0x00, 0x02, 0x06, 0x97, 0x07, 0x8d, 0x80, 0x00, 0xc2, 0xa0, 0x08, 0xee, 0x88, 0x0a,
- 0x06, 0x0c, 0x1b, 0x14, 0x07, 0x82, 0xc7, 0x2e, 0xc3, 0xa0, 0x08, 0xf0, 0xc3, 0xe0, 0x08, 0xf2,
- 0x07, 0x8b, 0xe3, 0x0c, 0x02, 0x8a, 0x00, 0x14, 0x1a, 0x04, 0x07, 0x8b, 0xea, 0x7a, 0x02, 0x2a,
- 0xff, 0xec, 0xa2, 0x8a, 0xa2, 0xca, 0xc2, 0xdb, 0x13, 0x01, 0x06, 0x9b, 0xc8, 0x20, 0x08, 0xee,
- 0x08, 0xf2, 0xc8, 0x20, 0xe0, 0x20, 0x08, 0xee, 0xc8, 0x0d, 0x08, 0xf0, 0x07, 0x8d, 0x08, 0xec,
- 0xe0, 0x20, 0xe0, 0x18, 0x02, 0x65, 0x58, 0x00, 0x04, 0x58, 0x02, 0x45, 0xa7, 0xff, 0x03, 0x80,
- 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02, 0x00, 0x06, 0x16, 0x07,
- 0x88, 0x01, 0x05, 0xee, 0x16, 0xf9, 0x10, 0x39, 0xd0, 0x60, 0x01, 0x03, 0x13, 0xf1, 0x02, 0x01,
- 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e, 0xcc, 0x4f, 0x07, 0xb1, 0x00, 0x40, 0xcc, 0x4d,
- 0xc8, 0x0a, 0x01, 0x00, 0x04, 0x5b, 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20,
- 0x01, 0x02, 0x00, 0x06, 0x16, 0x07, 0x88, 0x01, 0x05, 0xee, 0x16, 0xf9, 0x10, 0x1e, 0xd0, 0x60,
- 0x01, 0x03, 0x13, 0xf1, 0x02, 0x01, 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e, 0xcc, 0x4f,
- 0x07, 0xb1, 0x00, 0x40, 0xcc, 0x4d, 0xc8, 0x0a, 0x01, 0x00, 0x03, 0xa0, 0xd0, 0x60, 0x01, 0x03,
- 0x13, 0x01, 0x04, 0x5b, 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02,
- 0x00, 0x06, 0x16, 0xf7, 0x88, 0x01, 0x05, 0xee, 0x16, 0xf9, 0x04, 0xcd, 0x07, 0x8a, 0x40, 0x00,
- 0xc3, 0x20, 0x01, 0x00, 0x01, 0x0c, 0x80, 0x00, 0x13, 0x02, 0x07, 0x8a, 0x20, 0x00, 0xc3, 0xa0,
- 0x01, 0x0e, 0xc3, 0xe0, 0x01, 0x10, 0x03, 0xb0, 0xc3, 0x20, 0x07, 0x58, 0x23, 0x20, 0xe0, 0x04,
- 0x13, 0x02, 0x04, 0x60, 0xc4, 0xec, 0x04, 0x60, 0xb3, 0x8a, 0x07, 0x8d, 0x20, 0x00, 0x20, 0x20,
- 0xe0, 0x0a, 0x16, 0x01, 0x04, 0x5b, 0x02, 0x0d, 0x0c, 0x32, 0xc2, 0x5d, 0x11, 0x01, 0x04, 0xdd,
- 0x05, 0xcd, 0x88, 0x0d, 0x0c, 0x30, 0x16, 0xf9, 0xc2, 0x60, 0x06, 0x0a, 0x07, 0x8d, 0x09, 0x6a,
- 0x06, 0xa0, 0xcc, 0x24, 0x02, 0x09, 0x00, 0x6e, 0xc3, 0xe0, 0x09, 0x30, 0x16, 0x03, 0x01, 0xe0,
- 0x09, 0x6a, 0x00, 0x10, 0xc2, 0xe0, 0x09, 0x6a, 0x02, 0x0f, 0x01, 0x00, 0x26, 0xc9, 0x13, 0x02,
- 0x04, 0x60, 0xca, 0xb6, 0x02, 0x09, 0x12, 0x00, 0x01, 0x4b, 0x00, 0x10, 0x13, 0x02, 0x02, 0x09,
- 0x13, 0x00, 0xd8, 0x09, 0x09, 0x2e, 0x07, 0x8f, 0x40, 0x00, 0x07, 0x89, 0x09, 0x6c, 0x04, 0xcb,
- 0xe2, 0xf9, 0xe2, 0xf9, 0xe2, 0xf9, 0x16, 0x07, 0x07, 0x8b, 0x09, 0x34, 0x07, 0x8c, 0x09, 0x6c,
- 0xcf, 0x3b, 0xcf, 0x3b, 0xc7, 0x1b, 0xc3, 0x20, 0x09, 0x6c, 0x11, 0x19, 0x07, 0x8f, 0x20, 0x00,
- 0x07, 0x89, 0x09, 0x7a, 0x06, 0xa0, 0xc8, 0x98, 0x06, 0xa0, 0xc8, 0x98, 0x10, 0x12, 0xce, 0x4c,
- 0x04, 0x5b, 0xc3, 0x19, 0x16, 0x02, 0x07, 0x8c, 0x00, 0x1a, 0xc3, 0x4c, 0x02, 0x2d, 0xff, 0xf8,
- 0x02, 0x0a, 0x00, 0x09, 0x02, 0x2d, 0xff, 0xfa, 0x13, 0xf2, 0x06, 0x0a, 0x16, 0xfb, 0x04, 0x60,
- 0xca, 0xb6, 0x07, 0x8f, 0x10, 0x00, 0xc2, 0xd9, 0x11, 0xfa, 0x16, 0x02, 0x07, 0x8b, 0x04, 0x00,
- 0xc3, 0x4b, 0x02, 0x8d, 0x00, 0x20, 0x14, 0x02, 0x02, 0x0d, 0x00, 0x20, 0x02, 0x8d, 0x04, 0x00,
- 0x12, 0x02, 0x02, 0x0d, 0x04, 0x00, 0x02, 0x2d, 0xff, 0xf8, 0xc8, 0x0d, 0x09, 0x2c, 0x02, 0x2b,
- 0x03, 0xff, 0x01, 0x8b, 0x03, 0xff, 0xce, 0x4b, 0x04, 0xcb, 0x04, 0xe0, 0x05, 0xf8, 0x04, 0xe0,
- 0x09, 0x66, 0xc8, 0x20, 0x0c, 0x30, 0x09, 0x80, 0x07, 0xa0, 0x09, 0x82, 0xdf, 0xfe, 0x07, 0x8d,
- 0xdf, 0xfe, 0xc3, 0xe0, 0x07, 0xd8, 0x23, 0xe0, 0xe0, 0x16, 0x16, 0x24, 0xc3, 0xe0, 0x0c, 0x30,
- 0x63, 0x4f, 0x04, 0xff, 0x04, 0xff, 0x06, 0x4d, 0x16, 0xfd, 0x07, 0x8d, 0xdf, 0xfe, 0x04, 0x20,
- 0xea, 0x62, 0xc3, 0xa0, 0xea, 0x62, 0xc3, 0xee, 0x00, 0x12, 0x16, 0xc1, 0xc3, 0x6e, 0x00, 0x18,
- 0x09, 0xad, 0x07, 0x8c, 0xe0, 0x00, 0x09, 0xac, 0x63, 0x0d, 0x13, 0x0c, 0xc3, 0x6e, 0x00, 0x18,
- 0x09, 0xad, 0x02, 0x2d, 0x00, 0x40, 0x0a, 0x1d, 0x02, 0x2d, 0x0c, 0x32, 0x07, 0xbd, 0x7f, 0xff,
- 0x06, 0x0c, 0x16, 0xfc, 0xc3, 0x20, 0x04, 0x46, 0x02, 0x8c, 0x00, 0x80, 0x1a, 0x13, 0x02, 0xac,
- 0xc8, 0x0c, 0x00, 0x9a, 0x02, 0xe0, 0x00, 0x80, 0x07, 0x88, 0x00, 0x80, 0xc2, 0x60, 0x04, 0x46,
- 0x06, 0xa0, 0xf4, 0xd2, 0x10, 0x02, 0x00, 0x9d, 0x10, 0x05, 0x00, 0x9d, 0x07, 0x8f, 0x08, 0x00,
- 0x04, 0x60, 0xca, 0xb6, 0x2d, 0x4b, 0xc3, 0x81, 0x05, 0xc9, 0x07, 0x8f, 0x10, 0x00, 0x02, 0x8e,
- 0x00, 0x02, 0x11, 0xf6, 0x07, 0x8f, 0x04, 0x00, 0x05, 0xc9, 0xc2, 0xd9, 0x26, 0xe0, 0xe0, 0x26,
- 0x16, 0x02, 0x02, 0x2b, 0x00, 0x06, 0xc6, 0x4b, 0xc3, 0x4b, 0x72, 0xcb, 0x02, 0x2e, 0xff, 0xfe,
- 0x83, 0x8b, 0x1b, 0xe6, 0x06, 0xcd, 0x73, 0x4d, 0x82, 0xcd, 0x1b, 0xe2, 0x04, 0xe0, 0x09, 0x1a,
- 0x04, 0xe0, 0x09, 0x1c, 0xc3, 0x4d, 0x13, 0x02, 0x66, 0x60, 0xe0, 0x12, 0x05, 0xc9, 0x04, 0xcf,
- 0x2d, 0x81, 0xc8, 0x01, 0x01, 0x6c, 0x13, 0xd4, 0xc8, 0x0f, 0xfc, 0x00, 0xc3, 0xc1, 0x06, 0x0d,
- 0x15, 0xf7, 0x02, 0x0d, 0x07, 0x36, 0x02, 0x0e, 0x08, 0x98, 0x02, 0x0c, 0x00, 0x03, 0xcb, 0x8d,
- 0x00, 0x02, 0x2d, 0x81, 0xcb, 0x81, 0x00, 0x06, 0x13, 0xc3, 0x04, 0xee, 0x00, 0x0c, 0x02, 0x2e,
- 0x00, 0x18, 0x06, 0x0c, 0x16, 0xf4, 0x04, 0xe0, 0x08, 0x96, 0x2e, 0x1f, 0xc3, 0xb9, 0xc3, 0xd9,
- 0x07, 0x89, 0x00, 0x12, 0x07, 0x8d, 0x09, 0x3a, 0x06, 0xa0, 0xcc, 0x24, 0xc3, 0x60, 0x07, 0xd8,
- 0x23, 0x60, 0xe0, 0x16, 0x16, 0x09, 0xe8, 0x20, 0xe0, 0x10, 0x09, 0x6a, 0xe8, 0x20, 0xe0, 0x18,
- 0x07, 0x98, 0xe8, 0x20, 0xe0, 0x12, 0x07, 0x78, 0xc3, 0x60, 0x09, 0x6a, 0x23, 0x60, 0xe0, 0x1e,
- 0x16, 0x03, 0x48, 0x20, 0xe3, 0xa4, 0x09, 0x6a, 0x23, 0x60, 0xe0, 0x22, 0x13, 0x06, 0x27, 0x60,
- 0xe3, 0xa6, 0x13, 0x03, 0xe8, 0x20, 0xe0, 0x10, 0x09, 0x6a, 0x2d, 0x20, 0x00, 0x00, 0x07, 0x8e,
- 0x00, 0x00, 0x06, 0xa0, 0xcc, 0x04, 0x05, 0x4e, 0x2c, 0x0e, 0xc0, 0xa0, 0x08, 0x04, 0xc3, 0xef,
- 0x00, 0x06, 0x16, 0x1b, 0xc3, 0xa0, 0x09, 0x72, 0xc3, 0xe0, 0x09, 0x74, 0x06, 0xa0, 0xca, 0xf2,
- 0xc3, 0xa0, 0x09, 0x76, 0xc3, 0xe0, 0x09, 0x78, 0x06, 0xa0, 0xcb, 0x10, 0xe0, 0x20, 0xe0, 0x0a,
- 0xc3, 0x60, 0x07, 0xd8, 0x23, 0x60, 0xe0, 0x16, 0x16, 0x05, 0x04, 0xe0, 0x06, 0x2e, 0x41, 0x60,
- 0xe0, 0x04, 0x2e, 0x4d, 0x07, 0x8d, 0x80, 0x00, 0x04, 0x52, 0x73, 0xcf, 0x02, 0x2f, 0x02, 0x00,
- 0xc3, 0x4f, 0x04, 0x52, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x03, 0x07, 0x8d, 0x10, 0x00, 0x04, 0x5b,
- 0x40, 0x20, 0xe0, 0x0a, 0x02, 0x40, 0xf0, 0xff, 0x07, 0x8e, 0x00, 0x02, 0x06, 0xa0, 0xcc, 0x04,
- 0x05, 0x4e, 0x2c, 0x0e, 0xc0, 0xa0, 0x08, 0x04, 0x06, 0xa0, 0xcb, 0xe4, 0xc3, 0x60, 0x07, 0xd8,
- 0x23, 0x60, 0xe0, 0x16, 0x16, 0x66, 0x04, 0x20, 0xea, 0x76, 0x10, 0x63, 0x02, 0x6e, 0x80, 0x00,
- 0x07, 0x8d, 0xc0, 0x00, 0xc8, 0x0d, 0x01, 0xa6, 0xc8, 0x0e, 0x09, 0x72, 0xc8, 0x0f, 0x09, 0x74,
- 0xc8, 0x0e, 0x01, 0xa8, 0xc8, 0x0f, 0x01, 0xaa, 0x10, 0x12, 0x01, 0x8f, 0x00, 0x01, 0x07, 0x8a,
- 0x09, 0x76, 0xe3, 0xa0, 0x09, 0x4e, 0xce, 0x8e, 0x01, 0x9a, 0xff, 0xfe, 0xe3, 0xe0, 0x09, 0x50,
- 0xe6, 0x8f, 0x07, 0x8a, 0x01, 0xac, 0xce, 0x8e, 0x01, 0x9a, 0xff, 0xfe, 0xe6, 0x8f, 0x20, 0x20,
- 0xe0, 0x0a, 0x13, 0x3f, 0x07, 0x8d, 0x10, 0x00, 0x04, 0x5b, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x03,
- 0x02, 0x0d, 0x10, 0x00, 0x04, 0x5b, 0xc3, 0x8e, 0x13, 0x04, 0x01, 0xe0, 0x09, 0x50, 0x01, 0x00,
- 0x10, 0x06, 0x01, 0xa0, 0x09, 0x50, 0x01, 0x00, 0x01, 0xa0, 0x09, 0x78, 0x01, 0x00, 0xc3, 0xa0,
- 0x09, 0x76, 0xc3, 0xe0, 0x09, 0x78, 0xe3, 0xa0, 0x09, 0x4e, 0xe3, 0xe0, 0x09, 0x50, 0xc8, 0x0e,
- 0x01, 0xac, 0xc8, 0x0f, 0x01, 0xae, 0xc8, 0x0e, 0x09, 0x76, 0xc8, 0x0f, 0x09, 0x78, 0x10, 0x19,
- 0x02, 0x6e, 0x80, 0x00, 0xc8, 0x0e, 0x01, 0xa6, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x12, 0x02, 0x0d,
- 0x10, 0x00, 0x04, 0x5b, 0x07, 0x8d, 0x07, 0x28, 0x07, 0x89, 0x00, 0x0e, 0x06, 0xa0, 0xcc, 0x2a,
- 0x07, 0x8d, 0x07, 0x28, 0x04, 0xfd, 0x02, 0x8d, 0x07, 0x36, 0x16, 0xfc, 0x48, 0x20, 0xe0, 0x14,
- 0x06, 0xfe, 0x07, 0x8d, 0x80, 0x00, 0x04, 0x52, 0xc2, 0xa0, 0x07, 0xee, 0x07, 0x8c, 0x00, 0x04,
- 0x07, 0x8d, 0x08, 0xf0, 0x06, 0x97, 0xc2, 0x7d, 0xc3, 0x5d, 0x43, 0x60, 0xe0, 0x22, 0x06, 0xa0,
- 0xcc, 0x2a, 0x10, 0xef, 0xc8, 0x0e, 0x06, 0x06, 0xc8, 0x0f, 0x06, 0x08, 0x10, 0xea, 0x03, 0xb0,
- 0x01, 0xa0, 0x07, 0x60, 0x00, 0x26, 0x02, 0x40, 0xc0, 0x00, 0x04, 0xe0, 0x06, 0x06, 0x07, 0x8c,
- 0x40, 0x10, 0x44, 0xcc, 0x04, 0xe0, 0x06, 0xfe, 0x07, 0x85, 0x80, 0x40, 0x04, 0x5b, 0xc8, 0x02,
- 0x08, 0x04, 0x07, 0x8f, 0x07, 0xfa, 0xcb, 0xce, 0x00, 0x02, 0x07, 0x8e, 0x07, 0x36, 0xcb, 0xce,
- 0x00, 0x04, 0x07, 0x8d, 0x06, 0x30, 0x07, 0x8e, 0x00, 0x10, 0x2c, 0x4d, 0x04, 0x5b, 0xc2, 0xa0,
- 0x07, 0xf2, 0x10, 0x02, 0xc2, 0xa0, 0x07, 0xf8, 0xc8, 0x0b, 0x08, 0xea, 0xc3, 0x09, 0x13, 0x0a,
- 0x06, 0xa0, 0xc7, 0x94, 0xc2, 0xa0, 0x01, 0x00, 0xe2, 0xa0, 0xe0, 0x06, 0xa3, 0x4c, 0xa3, 0xcc,
- 0x17, 0x01, 0x05, 0x8e, 0x62, 0x4c, 0xc2, 0xe0, 0x08, 0xea, 0x04, 0x5b, 0x07, 0x8d, 0x10, 0x00,
- 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x01, 0x04, 0x5b, 0x02, 0x0d, 0x00, 0x6e, 0xc3, 0xe0, 0x09, 0x30,
- 0x16, 0x02, 0x01, 0xce, 0x00, 0x10, 0x27, 0x8d, 0x13, 0x03, 0x02, 0x0d, 0x01, 0x00, 0x04, 0x52,
- 0x03, 0x00, 0x00, 0x02, 0xc3, 0x60, 0x09, 0x6a, 0x02, 0x4d, 0x80, 0x08, 0x02, 0x4e, 0x7f, 0xf7,
- 0xe3, 0x8d, 0xc3, 0xe0, 0x07, 0xd8, 0x23, 0xe0, 0xe0, 0x16, 0x13, 0x04, 0x07, 0x8d, 0x00, 0x06,
- 0x27, 0x8d, 0x13, 0x02, 0xe3, 0xa0, 0xe0, 0x10, 0xc8, 0x0e, 0x09, 0x6a, 0x02, 0x0d, 0x12, 0x00,
- 0x01, 0x4e, 0x00, 0x10, 0x13, 0x02, 0x02, 0x0d, 0x13, 0x00, 0xd8, 0x0d, 0x09, 0x2e, 0xc3, 0x60,
- 0x01, 0x80, 0x02, 0x4e, 0x00, 0x01, 0x02, 0x4d, 0xff, 0xfe, 0xe3, 0x4e, 0xc8, 0x0d, 0x01, 0x80,
- 0xd8, 0x20, 0xe2, 0x40, 0x09, 0x2f, 0x01, 0x20, 0x09, 0x6a, 0x00, 0x06, 0x13, 0x03, 0xd8, 0x20,
- 0xe1, 0xd0, 0x09, 0x2f, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00, 0x13, 0x03, 0xd8, 0x20, 0x09, 0x2f,
- 0x01, 0x83, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xcb, 0xb8, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x03,
- 0x02, 0x0d, 0x10, 0x00, 0x04, 0x5b, 0x02, 0x09, 0x00, 0x08, 0x02, 0x0d, 0x09, 0x58, 0x06, 0xa0,
- 0xcc, 0x24, 0x07, 0xa0, 0x02, 0x02, 0x00, 0x00, 0x02, 0x0d, 0x04, 0x00, 0xc3, 0xe0, 0x09, 0x58,
- 0x01, 0x0f, 0x7c, 0x00, 0x13, 0x01, 0x04, 0x52, 0xc3, 0x8f, 0x02, 0x4e, 0x00, 0x0f, 0x13, 0xfb,
- 0x02, 0x8e, 0x00, 0x0f, 0x13, 0xf8, 0x02, 0x0d, 0x40, 0x00, 0xc2, 0x4f, 0x09, 0x49, 0x02, 0x49,
- 0x00, 0x3f, 0x01, 0x09, 0x00, 0x01, 0x16, 0xef, 0x02, 0x89, 0x00, 0x06, 0x1a, 0xec, 0x02, 0x89,
- 0x00, 0x20, 0x14, 0xe9, 0x06, 0xc9, 0x09, 0x1f, 0x02, 0x4f, 0x40, 0x00, 0xe2, 0x4f, 0x02, 0x69,
- 0x80, 0x00, 0xc8, 0x09, 0x09, 0x58, 0x02, 0x0f, 0xff, 0xff, 0xc2, 0x4e, 0x09, 0x1f, 0x06, 0x09,
- 0x16, 0xfd, 0x05, 0x4f, 0x02, 0x0d, 0x20, 0x00, 0xc2, 0x60, 0x09, 0x5a, 0x13, 0xd4, 0x26, 0x4f,
- 0x16, 0xd2, 0x02, 0x0d, 0x10, 0x00, 0xc2, 0x60, 0x09, 0x5c, 0x13, 0xcd, 0x26, 0x4f, 0x16, 0xcb,
- 0x02, 0x0d, 0x30, 0x00, 0x88, 0x20, 0x09, 0x5a, 0x09, 0x5c, 0x13, 0xc5, 0xc3, 0xe0, 0x09, 0x5a,
- 0xc2, 0x4e, 0x0a, 0x1f, 0x06, 0x09, 0x16, 0xfd, 0xe3, 0xe0, 0x09, 0x5e, 0xc8, 0x0f, 0x09, 0x5a,
- 0xc3, 0xe0, 0x09, 0x5c, 0xc2, 0x4e, 0x0a, 0x1f, 0x06, 0x09, 0x16, 0xfd, 0xe3, 0xe0, 0x09, 0x5e,
- 0xc8, 0x0f, 0x09, 0x5c, 0x02, 0x0f, 0xff, 0xff, 0xc2, 0x4e, 0x0a, 0x1f, 0x06, 0x09, 0x16, 0xfd,
- 0x02, 0x0d, 0x08, 0x00, 0xc2, 0x60, 0x09, 0x5e, 0x26, 0x4f, 0x16, 0xa5, 0x05, 0x4f, 0xc8, 0x0f,
- 0x09, 0x5e, 0x02, 0x0f, 0x02, 0x02, 0x02, 0x0e, 0x00, 0x03, 0xc3, 0x60, 0x01, 0x40, 0x02, 0x0c,
- 0xce, 0x26, 0x01, 0xa0, 0x01, 0x40, 0x04, 0x00, 0x05, 0xcf, 0x02, 0x09, 0x55, 0x55, 0x06, 0x9c,
- 0x05, 0x49, 0x06, 0x9c, 0x07, 0x09, 0x06, 0x9c, 0x05, 0x49, 0x06, 0x9c, 0x06, 0x0e, 0x16, 0xf4,
- 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0xc8, 0x0d, 0x01, 0x40, 0x02, 0x09, 0x00, 0x08, 0x02, 0x0e,
- 0x09, 0x58, 0x02, 0x0f, 0x02, 0x02, 0xcf, 0xfe, 0x06, 0x49, 0x16, 0xfd, 0x04, 0x60, 0xcb, 0xb8,
- 0xc7, 0xc9, 0x82, 0x5f, 0x16, 0x01, 0x04, 0x5b, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0xc8, 0x0d,
- 0x01, 0x40, 0x02, 0x0d, 0x01, 0x00, 0x04, 0x52, 0x00, 0x00, 0xd8, 0xee, 0x00, 0x92, 0xc2, 0xad,
- 0x00, 0x02, 0xc2, 0x6d, 0x00, 0x00, 0x16, 0x05, 0x07, 0xaa, 0x00, 0x02, 0x07, 0x36, 0x2c, 0x9a,
- 0x03, 0x80, 0x2c, 0xea, 0x00, 0x02, 0xcb, 0x41, 0x00, 0x00, 0x03, 0x80, 0xc3, 0x2d, 0x00, 0x18,
- 0x07, 0xac, 0x00, 0x02, 0x07, 0x36, 0x4b, 0x20, 0xea, 0xa6, 0x00, 0x0a, 0xeb, 0x20, 0xea, 0xa0,
- 0x00, 0x0a, 0x2e, 0x9c, 0x03, 0x80, 0xc2, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xb3, 0x8a, 0xc0, 0xed,
- 0x00, 0x18, 0x06, 0xa0, 0xd9, 0x5e, 0x03, 0x80, 0xc2, 0x44, 0xc0, 0xc3, 0x13, 0x02, 0x06, 0xa0,
- 0xd9, 0x5e, 0xc3, 0x19, 0xcb, 0x09, 0x00, 0x18, 0x05, 0xc9, 0xcb, 0x19, 0x00, 0x16, 0xc2, 0x4c,
- 0x02, 0x2c, 0x00, 0x1a, 0xcf, 0x0d, 0xcf, 0x0e, 0xc7, 0x0f, 0x00, 0x99, 0x04, 0x5b, 0x07, 0x8c,
- 0x09, 0x0a, 0xc2, 0x9c, 0x22, 0xa0, 0xe0, 0x14, 0x13, 0x06, 0xc2, 0xa0, 0x07, 0x58, 0x22, 0xa0,
- 0xe0, 0x20, 0x16, 0x01, 0x03, 0x80, 0xc1, 0x03, 0x04, 0xc3, 0x07, 0x8a, 0x00, 0x04, 0xa2, 0x84,
- 0x00, 0x00, 0xd9, 0x80, 0x00, 0x0b, 0xcf, 0x3a, 0x00, 0x00, 0xd9, 0x8a, 0x00, 0xb2, 0x02, 0xe0,
- 0x07, 0x58, 0x07, 0x8d, 0x09, 0x0a, 0xc8, 0x0b, 0x07, 0xc2, 0x06, 0xa0, 0xc5, 0xa2, 0xc2, 0xe0,
- 0x07, 0xc2, 0xe0, 0x20, 0xe0, 0x20, 0x02, 0xe0, 0x07, 0xb8, 0x04, 0x5b, 0xc3, 0x2d, 0x00, 0x18,
- 0xc2, 0x8c, 0xc2, 0x60, 0x01, 0x6c, 0xc8, 0x0a, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x00, 0x13, 0x02,
- 0xc2, 0x8b, 0x10, 0xf9, 0xc8, 0x09, 0x01, 0x6c, 0x07, 0x8b, 0x05, 0xf8, 0xc2, 0x5b, 0x13, 0x0c,
- 0x05, 0xcb, 0xc2, 0x5b, 0xc6, 0xca, 0xc2, 0xe0, 0x01, 0x6c, 0xc8, 0x09, 0x01, 0x6c, 0xc8, 0x0c,
- 0xfc, 0x00, 0xc8, 0x0b, 0x01, 0x6c, 0x10, 0x02, 0xce, 0xcc, 0xc6, 0xca, 0xc2, 0xa0, 0x00, 0xe0,
- 0x22, 0xa0, 0xe0, 0x1a, 0x16, 0x06, 0xe8, 0x20, 0xe0, 0x04, 0x07, 0x3a, 0x48, 0x20, 0xe0, 0x1a,
- 0x00, 0xe0, 0x03, 0x80, 0xd3, 0xe0, 0xe3, 0xab, 0xc1, 0xe0, 0x06, 0xa8, 0x16, 0x05, 0x02, 0x07,
- 0x06, 0xa2, 0x06, 0xa0, 0xc2, 0x96, 0x16, 0x0b, 0xc1, 0xe0, 0x06, 0xba, 0x16, 0x20, 0x02, 0x07,
- 0x06, 0xb4, 0x06, 0xa0, 0xc2, 0x96, 0x13, 0x1b, 0x02, 0x07, 0x06, 0xb8, 0x10, 0x02, 0x02, 0x07,
- 0x06, 0xa6, 0xc1, 0x60, 0xfc, 0x02, 0xc8, 0x25, 0x00, 0x0c, 0xfc, 0x02, 0xc9, 0xc5, 0x00, 0x0c,
- 0x00, 0x00, 0xda, 0x3c, 0x00, 0x0b, 0xcd, 0xf5, 0x00, 0x00, 0xda, 0x46, 0x19, 0x3a, 0xc5, 0xf5,
- 0x01, 0xb7, 0x00, 0x28, 0x02, 0x27, 0xff, 0xf4, 0x07, 0xa7, 0x00, 0x04, 0xdb, 0x48, 0x2e, 0x97,
- 0x10, 0xd5, 0x03, 0x00, 0x00, 0x02, 0x06, 0xa0, 0xc2, 0xae, 0x03, 0x00, 0x00, 0x0f, 0x2c, 0x20,
- 0xed, 0x48, 0x93, 0xe0, 0xe3, 0xab, 0x16, 0x03, 0x02, 0x81, 0x00, 0x16, 0x16, 0xc7, 0xc1, 0x21,
- 0xea, 0xb0, 0x04, 0x54, 0x93, 0xe0, 0xe0, 0x10, 0x16, 0x03, 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0x0b,
- 0xd3, 0xcf, 0x16, 0x09, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x06, 0x07, 0x84, 0x00, 0x20, 0xe8, 0x04,
- 0x06, 0xd2, 0xd2, 0xa0, 0xe0, 0x0c, 0x04, 0x60, 0xdb, 0xc0, 0x04, 0x60, 0xde, 0x34, 0x10, 0x7b,
- 0xc1, 0x22, 0x00, 0x04, 0x04, 0xe2, 0x00, 0x02, 0x04, 0x54, 0xc8, 0x02, 0x01, 0x6c, 0xa0, 0x82,
- 0xc8, 0x22, 0x0c, 0x32, 0xfc, 0x00, 0x02, 0x02, 0xfc, 0x00, 0x93, 0xe0, 0xe3, 0xaa, 0x13, 0x70,
- 0x06, 0xa0, 0xdc, 0xc6, 0x48, 0xa0, 0xe0, 0x04, 0x00, 0x0e, 0x02, 0x85, 0x00, 0x07, 0x13, 0x0e,
- 0x01, 0x0e, 0x00, 0x03, 0x13, 0x0b, 0x23, 0xa0, 0xe0, 0x22, 0x16, 0x03, 0xd2, 0xa0, 0xe0, 0x0e,
- 0x10, 0x02, 0xd2, 0xa0, 0xe3, 0xa8, 0x01, 0x8e, 0x00, 0x03, 0x10, 0x5a, 0xc8, 0x05, 0x06, 0xfc,
- 0xc0, 0xc3, 0x16, 0x53, 0x43, 0xa0, 0xe0, 0x10, 0x88, 0x22, 0x00, 0x0e, 0x09, 0x6c, 0x16, 0x0a,
- 0x88, 0x22, 0x00, 0x10, 0x09, 0x6e, 0x16, 0x06, 0x88, 0x22, 0x00, 0x12, 0x09, 0x70, 0x16, 0x02,
- 0xe3, 0xa0, 0xe0, 0x10, 0x02, 0x85, 0x00, 0x09, 0x13, 0x02, 0x06, 0xa0, 0xe2, 0xe4, 0xa1, 0x45,
- 0xc1, 0x65, 0xe3, 0xac, 0x04, 0x55, 0xc0, 0x62, 0x00, 0x04, 0xc8, 0x22, 0x00, 0x06, 0x01, 0x6c,
- 0x02, 0x82, 0x04, 0x48, 0x1b, 0x02, 0x43, 0xa0, 0xe0, 0x0c, 0xc1, 0x22, 0x00, 0x0e, 0x04, 0x51,
- 0xc0, 0x42, 0x04, 0xe1, 0x00, 0x02, 0xc0, 0xa2, 0x00, 0x0c, 0xc1, 0x22, 0x00, 0x0a, 0x21, 0x20,
- 0xe0, 0x18, 0x13, 0x07, 0xc8, 0xa1, 0x00, 0x0a, 0x00, 0x0a, 0xc8, 0xa1, 0x00, 0x08, 0x00, 0x08,
- 0x10, 0xe2, 0xc8, 0x22, 0x00, 0x06, 0x01, 0x6c, 0x06, 0xa0, 0xe1, 0xa2, 0x04, 0x60, 0xdb, 0x9e,
- 0xc8, 0x02, 0x06, 0xd4, 0xc1, 0x62, 0x00, 0x02, 0xc1, 0x65, 0xe3, 0xce, 0x04, 0x55, 0x10, 0x0b,
- 0x07, 0x85, 0x03, 0xf4, 0x04, 0xf5, 0xcd, 0x60, 0xed, 0x26, 0x06, 0xa0, 0xe3, 0xce, 0xe3, 0xa0,
- 0xe0, 0x0c, 0x2e, 0xa0, 0x03, 0xf4, 0x04, 0x60, 0xda, 0x04, 0x06, 0xa0, 0xe0, 0x6e, 0x10, 0x0c,
- 0x06, 0xa0, 0xe1, 0xa2, 0x10, 0x09, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x06, 0x06, 0xa0, 0xe1, 0xa2,
- 0xc8, 0x03, 0x09, 0x2a, 0xd2, 0xa0, 0xe3, 0xaa, 0x06, 0xa0, 0xdc, 0x32, 0x92, 0xa0, 0xe0, 0x26,
- 0x16, 0x0c, 0xd3, 0xe0, 0xe0, 0x26, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x0a, 0xc1, 0x0a, 0x83, 0xc4,
- 0x13, 0x07, 0xc3, 0xc4, 0xc1, 0x24, 0xe3, 0xd2, 0x04, 0x54, 0x93, 0xca, 0x13, 0xdc, 0xd3, 0xca,
- 0x03, 0xb0, 0xd8, 0x0f, 0x06, 0x59, 0x71, 0x04, 0xc1, 0x24, 0xe3, 0xde, 0x04, 0x54, 0x23, 0xa0,
- 0xe0, 0x0c, 0x13, 0xd1, 0xc3, 0x4d, 0x13, 0xcf, 0x07, 0x86, 0x00, 0x02, 0x07, 0x84, 0x00, 0x26,
- 0x23, 0x46, 0x13, 0x03, 0x06, 0x44, 0xa1, 0x86, 0x10, 0xfb, 0x43, 0x46, 0x10, 0xb9, 0x07, 0x85,
- 0x07, 0x1c, 0x07, 0x86, 0x04, 0x1a, 0x6d, 0x76, 0x6d, 0x76, 0x6d, 0x76, 0x05, 0xc6, 0x6d, 0x76,
- 0x6d, 0x76, 0x6d, 0x76, 0x07, 0x83, 0x90, 0x00, 0x10, 0xbe, 0xc3, 0x0b, 0x07, 0x86, 0x01, 0x00,
- 0x07, 0x85, 0x80, 0x00, 0xc1, 0x20, 0x06, 0xd2, 0x13, 0x37, 0x04, 0xc4, 0xc0, 0x60, 0x06, 0xd2,
- 0x20, 0x45, 0x13, 0x04, 0x05, 0x84, 0x09, 0x15, 0x16, 0xf9, 0x10, 0x2e, 0xd3, 0xcf, 0x16, 0x06,
- 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x03, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x03, 0x04, 0xe0, 0x06, 0xd2,
- 0x10, 0x23, 0xd0, 0x64, 0x07, 0x1c, 0xb0, 0x46, 0x18, 0x10, 0xd9, 0x01, 0x07, 0x1c, 0x23, 0x60,
- 0xe0, 0x20, 0x13, 0x0b, 0x07, 0x81, 0x00, 0x18, 0xc0, 0x61, 0xe3, 0xee, 0x88, 0x11, 0xed, 0x26,
- 0x13, 0x04, 0x02, 0x08, 0x80, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0xd0, 0x64, 0x07, 0x28, 0xb0, 0x46,
- 0x18, 0x08, 0xd9, 0x01, 0x07, 0x28, 0xb0, 0x46, 0x17, 0x04, 0x07, 0x83, 0x80, 0x40, 0x06, 0xa0,
- 0xe3, 0x56, 0x48, 0x05, 0x06, 0xd2, 0x16, 0xca, 0xc1, 0x20, 0x09, 0x32, 0x16, 0x01, 0x04, 0x5c,
- 0x02, 0x04, 0x00, 0x07, 0x06, 0x20, 0x09, 0x32, 0x02, 0x05, 0x01, 0x00, 0x10, 0xc7, 0xc3, 0x0b,
- 0x04, 0xc5, 0xc0, 0x42, 0x04, 0xc7, 0xc2, 0x20, 0x01, 0x6c, 0xa1, 0xe1, 0x00, 0x04, 0xc8, 0x11,
- 0x01, 0x6c, 0x16, 0xfb, 0xc8, 0x08, 0x01, 0x6c, 0x04, 0xc8, 0x43, 0xa0, 0xe0, 0x1a, 0xc1, 0x22,
- 0x00, 0x0e, 0x15, 0x0d, 0x13, 0x0c, 0xe3, 0xa0, 0xe0, 0x1a, 0x06, 0xa0, 0xe3, 0x40, 0xc2, 0x08,
- 0x13, 0x48, 0x02, 0x88, 0x00, 0x12, 0x1b, 0x45, 0x22, 0x20, 0xe0, 0x22, 0x13, 0x42, 0xc1, 0x02,
- 0xa1, 0x08, 0x05, 0x08, 0x02, 0x28, 0xff, 0xf2, 0xa2, 0x07, 0x07, 0x83, 0x80, 0x01, 0x02, 0x88,
- 0x00, 0x04, 0x11, 0x6e, 0xc2, 0x64, 0x00, 0x16, 0xd2, 0x49, 0x16, 0x02, 0x81, 0x02, 0x16, 0x31,
- 0x01, 0x09, 0xf0, 0x00, 0x16, 0x28, 0xc1, 0x49, 0x71, 0x45, 0x04, 0xc3, 0x02, 0x85, 0x00, 0x09,
- 0x13, 0x7c, 0x07, 0x83, 0x80, 0x02, 0xc1, 0xa4, 0x00, 0x14, 0x81, 0x88, 0x16, 0x76, 0x05, 0x83,
- 0x02, 0x85, 0x00, 0x10, 0x1b, 0x13, 0x05, 0x83, 0x99, 0x49, 0xea, 0xd0, 0x13, 0x0a, 0x98, 0x09,
- 0xe0, 0x0e, 0x16, 0x6b, 0x98, 0x25, 0xea, 0xd0, 0xe0, 0x0c, 0x16, 0x67, 0xc1, 0xe0, 0x06, 0xec,
- 0x16, 0x64, 0x04, 0xc3, 0xc2, 0x52, 0x13, 0x0f, 0x07, 0x83, 0x80, 0x09, 0xc1, 0xe0, 0x09, 0x6a,
- 0x01, 0x47, 0x10, 0x00, 0x16, 0x5a, 0xc0, 0xa0, 0x01, 0x6c, 0x06, 0xa0, 0xe1, 0xfa, 0x04, 0x60,
- 0xdb, 0x9e, 0x04, 0x60, 0xdb, 0xa8, 0x07, 0x89, 0x07, 0x0e, 0x04, 0xc7, 0xd1, 0xe5, 0xea, 0xe1,
- 0x13, 0x05, 0x06, 0xc7, 0x02, 0x27, 0xea, 0xf2, 0xce, 0x77, 0x15, 0xfe, 0xc0, 0x44, 0x02, 0x21,
- 0x00, 0x18, 0x02, 0x28, 0xff, 0xfc, 0x13, 0x36, 0xc1, 0x91, 0xd1, 0x86, 0x13, 0x1f, 0x06, 0xc6,
- 0x07, 0x87, 0x07, 0x0e, 0xc0, 0xf7, 0x02, 0x46, 0xbf, 0xff, 0x02, 0x43, 0x3f, 0xff, 0x91, 0xa0,
- 0xed, 0x4d, 0x16, 0x09, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x5d, 0x16, 0x0f, 0xc8, 0x21,
- 0x00, 0x02, 0x07, 0x0c, 0x10, 0x17, 0x82, 0x47, 0x1b, 0x0c, 0x90, 0xc6, 0x16, 0xeb, 0x06, 0x47,
- 0x04, 0xf7, 0x03, 0xb0, 0x98, 0x20, 0x06, 0x5d, 0x06, 0x57, 0x13, 0x0c, 0x07, 0x83, 0x80, 0x05,
- 0x10, 0x1c, 0xc0, 0xd1, 0x20, 0xe0, 0xe0, 0x16, 0x16, 0x03, 0x07, 0x83, 0x80, 0x08, 0x10, 0x15,
- 0x44, 0x60, 0xe0, 0x26, 0x71, 0x86, 0xa0, 0x46, 0x62, 0x06, 0x07, 0x83, 0x80, 0x05, 0xc2, 0x08,
- 0x15, 0xcb, 0x16, 0x0b, 0x04, 0xc3, 0x07, 0x87, 0x07, 0x0e, 0xc0, 0x77, 0x82, 0x47, 0x1b, 0x05,
- 0x20, 0x60, 0xe0, 0x06, 0x16, 0xfa, 0x07, 0x83, 0x80, 0x07, 0x04, 0x5c, 0x92, 0xa0, 0xe0, 0x0e,
- 0x16, 0x11, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x08, 0x04, 0xe0, 0x01, 0x84, 0x05, 0x60, 0x07, 0x02,
- 0x13, 0x3f, 0x48, 0x20, 0xe0, 0x06, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18, 0x07, 0x83, 0xc0, 0x00,
- 0x06, 0xa0, 0xe3, 0x56, 0xc8, 0x20, 0xe0, 0x1e, 0x07, 0x02, 0xe3, 0xa0, 0xe0, 0x04, 0x02, 0x08,
- 0x80, 0x24, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x36, 0xc1, 0x20, 0x01, 0x84, 0x02, 0x44, 0x88, 0x00,
- 0x13, 0x1e, 0x48, 0x04, 0x01, 0x84, 0x06, 0x20, 0x07, 0x02, 0x16, 0xf1, 0x23, 0xa0, 0xe0, 0x22,
- 0x16, 0x05, 0x43, 0xa0, 0xe0, 0x22, 0xd2, 0xa0, 0xe0, 0x0e, 0x10, 0xd3, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0x04, 0x98, 0x20, 0xe3, 0xa9, 0x06, 0x65, 0x16, 0x06, 0x92, 0xa0, 0xe0, 0x0e, 0x13, 0xc9,
- 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0xd7, 0x07, 0x83, 0x00, 0x02, 0x04, 0x60, 0xdb, 0xb8, 0xe8, 0x20,
- 0xe0, 0x06, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18, 0x07, 0x20, 0x07, 0x02, 0x43, 0xa0, 0xe0, 0x04,
- 0xc8, 0x20, 0xe4, 0x6e, 0x01, 0x86, 0x88, 0x20, 0xe0, 0x20, 0x07, 0x08, 0x16, 0x03, 0xc8, 0x20,
- 0xeb, 0x0a, 0x07, 0x08, 0x04, 0x60, 0xdb, 0xc0, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x16, 0xd3, 0xcf,
- 0x16, 0x08, 0x23, 0xa0, 0xe0, 0x20, 0x16, 0x03, 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0x02, 0xd2, 0xa0,
- 0xe0, 0x0e, 0x01, 0x8e, 0x00, 0x03, 0x10, 0x09, 0xc1, 0x60, 0x01, 0x84, 0x21, 0x60, 0xe0, 0x0a,
- 0x16, 0x04, 0x07, 0x83, 0x84, 0x00, 0x04, 0x60, 0xdb, 0xb8, 0xc8, 0x20, 0xe0, 0x2e, 0x01, 0x84,
- 0x02, 0x08, 0x80, 0x06, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xc0, 0xe3, 0x60, 0xe0, 0x20,
- 0x04, 0x60, 0xdb, 0xc0, 0x93, 0xe0, 0xe0, 0x26, 0x16, 0x10, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x0d,
- 0x23, 0xa0, 0xe0, 0x06, 0x13, 0x02, 0xe3, 0x60, 0xe0, 0x1c, 0xe3, 0x60, 0xe0, 0x18, 0x43, 0xa0,
- 0xe0, 0x06, 0x02, 0x08, 0x80, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xc0, 0x92, 0xa0,
- 0xe3, 0xa8, 0x13, 0x03, 0x92, 0xa0, 0xe3, 0xa9, 0x16, 0x1e, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x08,
- 0x98, 0x20, 0xe3, 0xa9, 0x06, 0x65, 0x13, 0x04, 0x07, 0x83, 0x00, 0x07, 0x04, 0x60, 0xdb, 0xb8,
- 0xd2, 0xa0, 0xe0, 0x0e, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x08, 0x27, 0xa0, 0xe0, 0x04, 0x16, 0x0b,
- 0xc8, 0x20, 0xe0, 0x1e, 0x07, 0x08, 0x93, 0xe0, 0xe3, 0xa8, 0x16, 0x05, 0x23, 0xa0, 0xe0, 0x12,
- 0x13, 0x02, 0x06, 0x20, 0x07, 0x08, 0x04, 0x60, 0xdb, 0xc0, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x36,
- 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x6f, 0x16, 0x0f, 0xd3, 0xcf, 0x16, 0x2f, 0xd2, 0xa0,
- 0xe3, 0xa8, 0x04, 0x60, 0xdb, 0xc0, 0x92, 0xa0, 0xe0, 0x0c, 0x16, 0x28, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0xf6, 0x07, 0x83, 0x00, 0x06, 0x10, 0x07, 0x07, 0x83, 0x00, 0x05, 0x93, 0xe0, 0xe0, 0x0e,
- 0x16, 0x02, 0x07, 0x83, 0x00, 0x07, 0x04, 0x60, 0xdb, 0xb8, 0xe3, 0x60, 0xe0, 0x12, 0x23, 0xe0,
- 0xe0, 0x14, 0x13, 0x0d, 0x98, 0x20, 0xe0, 0x0c, 0x06, 0x65, 0x16, 0x03, 0xd8, 0x20, 0xe3, 0xa9,
- 0x06, 0x65, 0x10, 0x0c, 0xc1, 0x20, 0x01, 0x84, 0x21, 0x20, 0xe0, 0x06, 0x16, 0xd6, 0x48, 0x20,
- 0xe0, 0x06, 0x01, 0x84, 0x02, 0x08, 0x80, 0x30, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xc0,
- 0x02, 0x04, 0x00, 0x64, 0x06, 0x04, 0x16, 0xfe, 0x04, 0x5b, 0xe3, 0xa0, 0xe0, 0x0a, 0xc2, 0x08,
- 0x11, 0x02, 0x43, 0xa0, 0xe0, 0x0a, 0x42, 0x20, 0xe0, 0x04, 0x02, 0x28, 0xe3, 0xee, 0xc0, 0x58,
- 0xc0, 0x02, 0x88, 0x11, 0xed, 0x26, 0x16, 0x03, 0x2c, 0xd1, 0xc0, 0x58, 0x04, 0xd1, 0xc0, 0x80,
- 0x01, 0x0e, 0x10, 0x00, 0x13, 0x0f, 0xcc, 0x60, 0xed, 0x26, 0x05, 0xc8, 0xcc, 0x78, 0x16, 0x03,
- 0x06, 0x41, 0xcc, 0x60, 0x06, 0xd6, 0xc4, 0x58, 0x16, 0x02, 0xc4, 0x60, 0x07, 0x00, 0x02, 0x21,
- 0xff, 0xfa, 0x2c, 0x91, 0x04, 0x5b, 0xc3, 0x0b, 0x06, 0xa0, 0xe1, 0x0a, 0x06, 0xa0, 0xe0, 0xe4,
- 0xc2, 0x08, 0x16, 0x05, 0xc2, 0x62, 0x00, 0x02, 0x26, 0x60, 0xe4, 0x68, 0x16, 0x0d, 0xc2, 0x42,
- 0x05, 0xc9, 0xce, 0x60, 0xed, 0x4a, 0xc6, 0x60, 0xeb, 0x0c, 0x06, 0xa0, 0xe1, 0x4c, 0xca, 0x18,
- 0x00, 0x0a, 0x46, 0x20, 0xe0, 0x26, 0x16, 0x04, 0xc0, 0xa0, 0x01, 0x6c, 0x2e, 0x12, 0x10, 0x1d,
- 0xc1, 0x12, 0x13, 0x05, 0xc1, 0x60, 0x01, 0x6c, 0x2e, 0x14, 0xc8, 0x05, 0x01, 0x6c, 0x04, 0xd2,
- 0x06, 0x48, 0x07, 0x84, 0x00, 0x02, 0xc1, 0x48, 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0x06, 0xa0,
- 0xe3, 0xce, 0xc5, 0x60, 0xfc, 0x02, 0x02, 0x07, 0x06, 0xa2, 0x02, 0x25, 0xff, 0xf4, 0xc8, 0x05,
- 0xfc, 0x02, 0xc2, 0x20, 0x01, 0x6c, 0x06, 0xa0, 0xc2, 0x5a, 0x04, 0x5c, 0xc2, 0x42, 0x02, 0x29,
- 0x00, 0x08, 0xc2, 0x39, 0x02, 0x48, 0xc0, 0x00, 0x02, 0x88, 0xc0, 0x00, 0x16, 0x08, 0x8e, 0x60,
- 0xe0, 0x2e, 0x16, 0x05, 0x86, 0x60, 0xe0, 0x2e, 0x16, 0x02, 0x04, 0xc8, 0x04, 0x5b, 0x07, 0x08,
- 0x04, 0x5b, 0x88, 0x20, 0xe1, 0x8e, 0x01, 0x6c, 0x16, 0x02, 0x04, 0x60, 0xdb, 0xa8, 0x04, 0x5b,
- 0x07, 0x88, 0x01, 0xae, 0xe8, 0x20, 0xe0, 0x0e, 0x01, 0x80, 0x06, 0x08, 0x16, 0xfe, 0x48, 0x20,
- 0xe0, 0x0e, 0x01, 0x80, 0x04, 0x5b, 0x04, 0xc2, 0x23, 0xa0, 0xe0, 0x0c, 0x16, 0x0a, 0x2f, 0x20,
- 0x06, 0x30, 0x07, 0x82, 0xff, 0xdf, 0x2c, 0x02, 0x02, 0x82, 0x03, 0xf4, 0x16, 0xfa, 0x43, 0xa0,
- 0xe0, 0x0c, 0x04, 0x5b, 0xc2, 0x42, 0x07, 0x88, 0x00, 0x0e, 0xa2, 0x09, 0x02, 0x29, 0x00, 0x08,
- 0xce, 0x78, 0xce, 0x78, 0xce, 0x78, 0xce, 0x60, 0x09, 0x6c, 0xce, 0x60, 0x09, 0x6e, 0xce, 0x60,
- 0x09, 0x70, 0x23, 0xa0, 0xe0, 0x1a, 0x16, 0x0f, 0xc2, 0x58, 0x02, 0x49, 0x1f, 0x80, 0x2a, 0x60,
- 0xe0, 0x14, 0xe8, 0xa0, 0xe0, 0x04, 0x00, 0x0e, 0xc6, 0x09, 0x02, 0x49, 0x1f, 0x00, 0x06, 0xc9,
- 0xa2, 0x09, 0xa8, 0x89, 0x00, 0x04, 0x02, 0x28, 0x00, 0x02, 0xc2, 0x58, 0x0a, 0x49, 0x02, 0x49,
- 0xf0, 0x00, 0xd6, 0x09, 0x04, 0xe2, 0x00, 0x06, 0x04, 0x5b, 0x07, 0x00, 0xc0, 0x82, 0x13, 0x53,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc1, 0xa0, 0xfc, 0x06, 0x02, 0x46, 0x00, 0x0f, 0x02, 0x86, 0x00, 0x01,
- 0x12, 0x3d, 0x88, 0x06, 0x06, 0xf2, 0x16, 0x12, 0x02, 0x01, 0xfc, 0x0e, 0x88, 0x31, 0x06, 0xf4,
- 0x16, 0x0d, 0x88, 0x31, 0x06, 0xf6, 0x16, 0x0a, 0x88, 0x31, 0x06, 0xf8, 0x16, 0x07, 0x02, 0x86,
- 0x00, 0x02, 0x16, 0x2c, 0x88, 0x20, 0x07, 0x0a, 0x06, 0xfa, 0x13, 0x28, 0xc1, 0x20, 0x09, 0x6a,
- 0x01, 0x44, 0x08, 0x00, 0x13, 0x06, 0x02, 0x86, 0x00, 0x02, 0x16, 0x20, 0x01, 0x44, 0x00, 0x80,
- 0x16, 0x1d, 0x07, 0x00, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x19, 0x02, 0x82, 0x00, 0x43, 0x13, 0x16,
- 0x02, 0x00, 0xfc, 0x02, 0xc0, 0x40, 0x01, 0xb0, 0x00, 0x20, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01,
- 0x16, 0x07, 0xa0, 0x60, 0x09, 0x2c, 0xcc, 0x60, 0x05, 0xee, 0xc4, 0x50, 0xc4, 0x20, 0x09, 0x2c,
- 0x07, 0x80, 0x07, 0x36, 0x07, 0x81, 0x00, 0x40, 0x2c, 0x40, 0x04, 0xc0, 0x07, 0x84, 0x06, 0xf2,
- 0xcd, 0x06, 0x02, 0x01, 0xfc, 0x0e, 0xcd, 0x31, 0xcd, 0x31, 0xcd, 0x31, 0xc5, 0x20, 0x07, 0x0a,
- 0xc0, 0x00, 0x13, 0x01, 0x2e, 0x12, 0x04, 0xe0, 0x01, 0x6c, 0x04, 0x5b, 0xc8, 0x0b, 0x09, 0x22,
- 0x06, 0xa0, 0xe2, 0x72, 0x02, 0x08, 0x80, 0x42, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0x80, 0x30,
- 0x06, 0xa0, 0xe0, 0x22, 0xc2, 0xe0, 0x09, 0x22, 0x04, 0x5b, 0xc3, 0x0b, 0x48, 0x20, 0xeb, 0x0e,
- 0x01, 0x82, 0x48, 0x20, 0xe4, 0x6c, 0x01, 0x80, 0x48, 0x20, 0xe0, 0x22, 0x01, 0xae, 0x48, 0x20,
- 0xe0, 0x22, 0x09, 0x78, 0x43, 0x60, 0xe0, 0x18, 0x43, 0xa0, 0xe0, 0x08, 0x02, 0x08, 0x00, 0x42,
- 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x5c, 0xc3, 0x0b, 0xe8, 0x20, 0xe0, 0x0e, 0x01, 0x82, 0xe8, 0x20,
- 0xe0, 0x22, 0x01, 0xae, 0xe8, 0x20, 0xe0, 0x22, 0x09, 0x78, 0xe3, 0xa0, 0xe0, 0x08, 0xe3, 0x60,
- 0xe0, 0x18, 0x43, 0xa0, 0xe0, 0x06, 0x02, 0x08, 0x80, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08,
- 0x80, 0x42, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x5c, 0xc3, 0x0b, 0x07, 0x83, 0x68, 0x00, 0x06, 0xa0,
- 0xe3, 0x56, 0x07, 0x83, 0x80, 0x10, 0x06, 0xa0, 0xe3, 0x56, 0x04, 0x5c, 0xc3, 0x0b, 0x06, 0xa0,
- 0xe3, 0x40, 0xa2, 0x02, 0xc2, 0x68, 0x00, 0x14, 0x02, 0x29, 0xff, 0xfc, 0x13, 0x24, 0x02, 0x28,
- 0x00, 0x18, 0x07, 0x87, 0x00, 0x0e, 0x07, 0x81, 0x07, 0x0e, 0x04, 0xf1, 0x06, 0x47, 0x15, 0xfd,
- 0xc0, 0x58, 0x03, 0xb0, 0x78, 0x01, 0x06, 0x63, 0x02, 0x41, 0x00, 0x3f, 0x13, 0x0e, 0x02, 0x81,
- 0x00, 0x1f, 0x1b, 0x0b, 0xa0, 0x41, 0xc0, 0x61, 0xe4, 0x4e, 0xc1, 0xf8, 0x06, 0xc7, 0x71, 0xc7,
- 0x06, 0x47, 0xcc, 0x78, 0x06, 0x47, 0x15, 0xfd, 0x10, 0x04, 0xc0, 0x58, 0x06, 0xc1, 0x70, 0x41,
- 0xa2, 0x01, 0xc2, 0x49, 0x15, 0xe5, 0x04, 0x5c, 0x23, 0xa0, 0xe0, 0x1a, 0x13, 0x02, 0x04, 0xc8,
- 0x04, 0x5b, 0xc2, 0x22, 0x00, 0x14, 0x02, 0x48, 0x1f, 0x00, 0x06, 0xc8, 0x04, 0x5b, 0x02, 0x83,
- 0x00, 0x0f, 0x1b, 0x17, 0xc1, 0xa0, 0x06, 0xd4, 0x13, 0x35, 0x02, 0x26, 0x00, 0x04, 0xcd, 0xa0,
- 0xed, 0x26, 0xc5, 0x83, 0x13, 0x04, 0xc2, 0x4a, 0x0a, 0x39, 0xe0, 0xc9, 0xc5, 0x83, 0x07, 0x86,
- 0x07, 0x36, 0x07, 0x87, 0x00, 0x10, 0xc2, 0x20, 0x06, 0xd4, 0x04, 0xe0, 0x06, 0xd4, 0x2c, 0x46,
- 0x04, 0x5b, 0xc0, 0x60, 0x06, 0xfe, 0xc2, 0x20, 0x09, 0x6a, 0x02, 0x48, 0x60, 0x00, 0x22, 0x20,
- 0xe0, 0x06, 0x16, 0x04, 0xe2, 0x20, 0xe0, 0x0a, 0xe2, 0x20, 0xe0, 0x18, 0x0a, 0x13, 0x18, 0x04,
- 0x05, 0x41, 0x48, 0x03, 0x06, 0xfe, 0x10, 0x06, 0x02, 0x83, 0x00, 0x02, 0x16, 0x01, 0x09, 0x13,
- 0xe8, 0x03, 0x06, 0xfe, 0x40, 0xc8, 0x40, 0xc1, 0x13, 0x05, 0x07, 0x88, 0x07, 0x36, 0x07, 0x89,
- 0x40, 0x00, 0x2c, 0x48, 0x04, 0x5b, 0x04, 0xc9, 0xc1, 0x24, 0xeb, 0x24, 0xc1, 0x84, 0x71, 0x86,
- 0x02, 0x26, 0xeb, 0xd6, 0x06, 0xc4, 0x71, 0x04, 0x02, 0x24, 0xeb, 0x4c, 0xd2, 0x14, 0x09, 0xc8,
- 0xa2, 0x08, 0x03, 0xb0, 0xd8, 0x34, 0x06, 0x5f, 0x02, 0x47, 0x00, 0x0f, 0xa1, 0xc7, 0xc2, 0x28,
- 0xeb, 0x12, 0x04, 0x58, 0xcd, 0x76, 0x06, 0x47, 0x16, 0xfd, 0x10, 0x32, 0xc2, 0x36, 0x10, 0x26,
- 0x09, 0x17, 0xa1, 0x47, 0x10, 0x2d, 0x09, 0x17, 0x61, 0x47, 0x10, 0x2a, 0x43, 0xa0, 0xe0, 0x16,
- 0x04, 0x5b, 0x43, 0xa0, 0xe0, 0x16, 0xc2, 0x49, 0x16, 0x03, 0xc2, 0x44, 0xc8, 0x06, 0x09, 0x22,
- 0xc1, 0x27, 0xec, 0xe6, 0xc1, 0x84, 0x71, 0x86, 0x02, 0x26, 0xed, 0x1c, 0x06, 0xc4, 0x71, 0x04,
- 0x02, 0x24, 0xed, 0x02, 0x10, 0xd3, 0xc1, 0x09, 0xc1, 0xa0, 0x09, 0x22, 0x04, 0xc9, 0x10, 0x10,
- 0xc2, 0x36, 0xd5, 0x78, 0x41, 0x60, 0xe0, 0x22, 0x05, 0xc5, 0x10, 0x0a, 0xcd, 0x78, 0x06, 0x47,
- 0x15, 0xfd, 0x10, 0x06, 0x23, 0xa0, 0xe0, 0x16, 0x16, 0xcd, 0xc2, 0x49, 0x16, 0xec, 0x10, 0xd6,
- 0xe3, 0xa0, 0xe0, 0x16, 0x10, 0xbb, 0x02, 0x08, 0x80, 0x5a, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x3e,
- 0x92, 0xa0, 0xe0, 0x0c, 0x16, 0x15, 0x02, 0x44, 0x5e, 0x00, 0x16, 0x14, 0x48, 0x20, 0xe4, 0x6c,
- 0x01, 0x80, 0x06, 0xa0, 0xe2, 0x9e, 0xc8, 0x20, 0x01, 0x9e, 0x01, 0x9e, 0x2e, 0xe0, 0x00, 0x01,
- 0x43, 0xa0, 0xe0, 0x18, 0xd2, 0xa0, 0xe0, 0x26, 0x07, 0x83, 0x00, 0x10, 0x06, 0xa0, 0xe3, 0x56,
- 0x04, 0x60, 0xdb, 0xc0, 0x07, 0x84, 0x00, 0x08, 0x04, 0x60, 0xdb, 0x88, 0x07, 0x85, 0x02, 0x03,
- 0xc8, 0x05, 0x06, 0xce, 0x43, 0xa0, 0xe0, 0x12, 0x04, 0xe0, 0x06, 0xfa, 0x06, 0xa0, 0xe2, 0xd0,
- 0x02, 0x08, 0x80, 0x48, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x11, 0x27, 0xa0, 0xe0, 0x2c, 0x16, 0x04,
- 0x02, 0x08, 0x80, 0x54, 0x06, 0xa0, 0xe0, 0x22, 0x07, 0x83, 0xa8, 0x00, 0x88, 0x20, 0x07, 0x08,
- 0xe0, 0x20, 0x16, 0x02, 0x07, 0x83, 0xe8, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x02, 0x08, 0x00, 0x36,
- 0x06, 0xa0, 0xe0, 0x22, 0xe8, 0x20, 0xe0, 0x0c, 0x01, 0x82, 0x23, 0xa0, 0xe0, 0x18, 0x13, 0x06,
- 0xe3, 0xa0, 0xe0, 0x18, 0x2e, 0xe0, 0x00, 0x00, 0xc0, 0x41, 0x16, 0xfa, 0x06, 0xa0, 0xe1, 0x2e,
- 0xc0, 0x82, 0x13, 0x02, 0x02, 0x4f, 0xff, 0x80, 0x04, 0xc4, 0xd1, 0x0f, 0x06, 0xc4, 0x04, 0x60,
- 0xdb, 0x88, 0x06, 0xa0, 0xe5, 0x50, 0x02, 0x08, 0x80, 0x36, 0x07, 0xa0, 0x06, 0xd6, 0xe5, 0x3e,
- 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x10, 0x06, 0xa0, 0xe5, 0x50, 0xd1, 0x20, 0x06, 0xce, 0x13, 0xe6,
- 0x78, 0x20, 0xe0, 0x12, 0x06, 0xce, 0x10, 0xe2, 0xc1, 0x20, 0x04, 0x16, 0x0a, 0x14, 0x06, 0xc4,
- 0x91, 0x0a, 0x16, 0x01, 0x04, 0x5b, 0x04, 0x60, 0xdb, 0xc0, 0x04, 0xca, 0x04, 0xcd, 0x04, 0xce,
- 0x04, 0xcf, 0x04, 0xe0, 0x06, 0xa8, 0x04, 0xe0, 0x06, 0xba, 0x07, 0x84, 0x01, 0xa0, 0x07, 0x85,
- 0x00, 0x10, 0x04, 0xf4, 0x06, 0x45, 0x15, 0xfd, 0x07, 0x84, 0x06, 0xd8, 0x07, 0x85, 0x07, 0x34,
- 0x61, 0x44, 0x04, 0xf4, 0x06, 0x45, 0x15, 0xfd, 0x07, 0x84, 0x00, 0xc8, 0xc8, 0x04, 0x07, 0x00,
- 0x07, 0x84, 0x7f, 0xff, 0xc8, 0x04, 0x06, 0xf0, 0x07, 0x84, 0x00, 0x06, 0xc8, 0x04, 0x06, 0xee,
- 0x03, 0xb0, 0xd8, 0x20, 0xe0, 0x10, 0x06, 0x65, 0x04, 0x60, 0xdb, 0xc0, 0xf8, 0x20, 0xed, 0x71,
- 0x01, 0x82, 0xc8, 0x20, 0xe0, 0x10, 0x06, 0xc6, 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xc8, 0x2e, 0xe0,
- 0x00, 0x00, 0x06, 0xa0, 0xe1, 0x2e, 0xc8, 0x20, 0x09, 0x6c, 0x01, 0xa0, 0xc8, 0x20, 0x09, 0x6e,
- 0x01, 0xa2, 0xc8, 0x20, 0x09, 0x70, 0x01, 0xa4, 0xc8, 0x20, 0x09, 0x6e, 0x01, 0xb0, 0xc8, 0x20,
- 0x09, 0x70, 0x01, 0xb2, 0xc8, 0x20, 0x09, 0x70, 0x06, 0xcc, 0xf8, 0x20, 0xed, 0x70, 0x01, 0x80,
- 0x06, 0xa0, 0xe1, 0x18, 0x48, 0x20, 0xe0, 0x04, 0x01, 0x80, 0x04, 0xe0, 0x01, 0x9e, 0x02, 0x08,
- 0x80, 0x12, 0x06, 0xa0, 0xe0, 0x22, 0x07, 0x84, 0x00, 0x0a, 0x07, 0x85, 0x03, 0xf4, 0x88, 0x20,
- 0x06, 0xc6, 0xe0, 0x20, 0x1b, 0x04, 0x07, 0x84, 0x00, 0x1c, 0x07, 0x85, 0x03, 0xf8, 0x06, 0xa0,
- 0xe3, 0xce, 0x07, 0x85, 0xe6, 0x42, 0xc8, 0x05, 0x03, 0xf8, 0x23, 0xa0, 0xe0, 0x0c, 0x13, 0x23,
- 0xe3, 0xa0, 0xe0, 0x0c, 0x2e, 0xa0, 0x03, 0xf4, 0x10, 0x1e, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x10,
- 0x06, 0x65, 0x16, 0x19, 0x02, 0x44, 0x5e, 0x00, 0x16, 0x04, 0x06, 0x20, 0x06, 0xc6, 0x16, 0xd7,
- 0x10, 0x08, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x10, 0x06, 0x65, 0x16, 0x0d, 0x06, 0x20, 0x06, 0xc8,
- 0x16, 0xc4, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x03, 0x07, 0x83, 0x82, 0x00, 0x10, 0x02, 0x07, 0x83,
- 0x00, 0x01, 0x04, 0x60, 0xdb, 0xb8, 0x04, 0x60, 0xdb, 0x9e, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x0a,
- 0x02, 0x08, 0x80, 0x0c, 0x06, 0xa0, 0xe0, 0x22, 0xe3, 0xe0, 0xe0, 0x14, 0xc8, 0x20, 0xe4, 0x6e,
- 0x01, 0x86, 0x10, 0x26, 0x48, 0x20, 0xe0, 0x0c, 0x01, 0x82, 0x2e, 0xe0, 0x00, 0x01, 0xc1, 0x60,
- 0x09, 0x1e, 0x0a, 0x35, 0xe8, 0x05, 0x01, 0x82, 0xc1, 0x20, 0x09, 0x6a, 0x01, 0x04, 0x00, 0x06,
- 0x13, 0x06, 0xd8, 0x20, 0xe1, 0xd0, 0x09, 0x2f, 0xd8, 0x20, 0xe1, 0xd0, 0x01, 0x83, 0x21, 0x20,
- 0xe0, 0x22, 0x16, 0x03, 0xe8, 0x20, 0xe0, 0x22, 0x01, 0x80, 0x21, 0x20, 0xe0, 0x04, 0x16, 0x04,
- 0xe3, 0xa0, 0xe0, 0x14, 0x04, 0x60, 0xdf, 0xb6, 0x02, 0x08, 0x80, 0x00, 0x06, 0xa0, 0xe0, 0x22,
- 0xe8, 0x20, 0xe0, 0x08, 0x01, 0x82, 0x04, 0x60, 0xdb, 0x9e, 0xc8, 0x20, 0xe4, 0x6e, 0x01, 0x86,
- 0x02, 0x08, 0x80, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0xc2, 0x20, 0x09, 0x1e, 0xa2, 0x08, 0x05, 0x08,
- 0xc8, 0x28, 0xe0, 0x22, 0x06, 0xca, 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xc6, 0xc8, 0x20, 0xe0, 0x20,
- 0x06, 0xc8, 0xe3, 0x60, 0xe0, 0x16, 0x04, 0x60, 0xdb, 0xc0, 0xc1, 0x44, 0x02, 0x44, 0x5e, 0x00,
- 0x16, 0xf8, 0x25, 0x60, 0xe4, 0x68, 0x16, 0x0f, 0x06, 0x20, 0x06, 0xc6, 0x16, 0xf2, 0x06, 0x20,
- 0x06, 0xca, 0x13, 0x03, 0x05, 0xa0, 0x06, 0xcc, 0x10, 0xe6, 0x03, 0xb0, 0xd8, 0x20, 0xe0, 0x0c,
- 0x06, 0x65, 0x04, 0x60, 0xdb, 0xc0, 0x06, 0x20, 0x06, 0xc8, 0x16, 0xe3, 0x88, 0x20, 0x09, 0x70,
- 0x06, 0xcc, 0x16, 0x03, 0x07, 0x83, 0x00, 0x08, 0x10, 0x02, 0x07, 0x83, 0x00, 0x0c, 0x04, 0x60,
- 0xdb, 0xb8, 0x04, 0x60, 0xdb, 0xc0, 0x23, 0xa0, 0xe0, 0x08, 0x13, 0x03, 0x23, 0x60, 0xe0, 0x12,
- 0x16, 0x06, 0x03, 0xb0, 0xd8, 0x20, 0xe3, 0xa9, 0x06, 0x65, 0x04, 0x60, 0xdb, 0xc0, 0x02, 0x08,
- 0x80, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0x9e, 0x02, 0x08, 0x80, 0x00, 0x06, 0xa0,
- 0xe0, 0x22, 0xc8, 0x20, 0xe0, 0x1e, 0x06, 0xc6, 0xc8, 0x20, 0xe0, 0x1e, 0x06, 0xc8, 0xe3, 0x60,
- 0xe0, 0x10, 0x04, 0x60, 0xdb, 0xc0, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x19, 0xc1, 0x44, 0x02, 0x44,
- 0x1e, 0x00, 0x16, 0xf5, 0x25, 0x60, 0xe4, 0x68, 0x16, 0x06, 0x06, 0x20, 0x06, 0xc8, 0x16, 0xef,
- 0x04, 0xc2, 0x04, 0x60, 0xec, 0x20, 0x02, 0x08, 0x80, 0x1e, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x07,
- 0x06, 0x20, 0x06, 0xc6, 0x16, 0xe4, 0x07, 0x83, 0x00, 0x09, 0x06, 0xa0, 0xdb, 0xb8, 0x04, 0x60,
- 0xdb, 0x9e, 0x04, 0xce, 0x04, 0xe0, 0x09, 0x2a, 0xd3, 0xe0, 0xe3, 0xaa, 0xc2, 0x8f, 0xc8, 0x20,
- 0xe4, 0x70, 0x01, 0x86, 0x48, 0x20, 0xe0, 0x08, 0x01, 0x82, 0x07, 0x86, 0x00, 0x05, 0x07, 0x84,
- 0x06, 0x72, 0xc1, 0x54, 0x13, 0x01, 0x2c, 0xd4, 0x02, 0x24, 0x00, 0x0a, 0x06, 0x06, 0x16, 0xf9,
- 0x02, 0x08, 0x80, 0x2a, 0x06, 0xa0, 0xe0, 0x22, 0x2c, 0x20, 0xe0, 0x1a, 0x04, 0x60, 0xda, 0x6a,
- 0x06, 0xa0, 0xe2, 0x72, 0x04, 0xcd, 0x23, 0xa0, 0xe0, 0x1c, 0x13, 0x0d, 0x01, 0x0e, 0x00, 0x03,
- 0x13, 0x0a, 0xe3, 0xa0, 0xe0, 0x1c, 0x03, 0xb0, 0xd8, 0x20, 0xe0, 0x10, 0x06, 0x65, 0xd2, 0xa0,
- 0xe0, 0x26, 0x04, 0xcf, 0x10, 0x08, 0x2d, 0x20, 0x00, 0x01, 0xc0, 0xe0, 0x09, 0x2a, 0x06, 0xa0,
- 0xe3, 0x56, 0xd2, 0xa0, 0xe3, 0xab, 0x04, 0x60, 0xdb, 0xc0, 0x06, 0xa0, 0xe0, 0xe4, 0xc2, 0x08,
- 0x13, 0x19, 0x07, 0x83, 0x80, 0x80, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x02, 0x07, 0x83, 0x00, 0x0a,
- 0x04, 0x60, 0xdb, 0xb4, 0xc1, 0x20, 0x06, 0x06, 0x13, 0x0d, 0x06, 0xa0, 0xe0, 0xe4, 0xc2, 0x08,
- 0x13, 0x09, 0x07, 0x83, 0x00, 0x0b, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x02, 0x07, 0x83, 0x80, 0x01,
- 0x04, 0x60, 0xdb, 0xb4, 0x07, 0x83, 0x80, 0x0a, 0x04, 0x60, 0xdb, 0xa2, 0x93, 0xe0, 0xe0, 0x0e,
- 0x13, 0x5e, 0x93, 0xe0, 0xe0, 0x10, 0x13, 0x17, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x04, 0x07, 0x83,
- 0x00, 0x07, 0x04, 0x60, 0xdb, 0xb4, 0x07, 0x83, 0xa0, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x07, 0x83,
- 0x48, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0xd2, 0xa0, 0xe0, 0x10, 0xc8, 0x20, 0xe0, 0x1c, 0x06, 0xca,
- 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xcc, 0x06, 0xa0, 0xe2, 0x72, 0x02, 0x08, 0x80, 0x4e, 0x06, 0xa0,
- 0xe0, 0x22, 0x23, 0xa0, 0xe0, 0x1c, 0x13, 0x20, 0x88, 0x20, 0x09, 0x6c, 0x07, 0x0e, 0x16, 0x1c,
- 0x88, 0x20, 0x09, 0x6e, 0x07, 0x10, 0x16, 0x18, 0x88, 0x20, 0x09, 0x70, 0x07, 0x12, 0x16, 0x14,
- 0x88, 0x20, 0x07, 0x0a, 0xe0, 0x22, 0x13, 0x10, 0x06, 0x20, 0x06, 0xca, 0x16, 0x38, 0xe3, 0xa0,
- 0xe0, 0x20, 0x10, 0x06, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0xca, 0xe3, 0xa0, 0xe0, 0x22, 0x04, 0xc2,
- 0xd2, 0xa0, 0xe3, 0xaa, 0x04, 0x60, 0xdb, 0xa8, 0xc8, 0x20, 0xe0, 0x1c, 0x06, 0xca, 0x88, 0xa0,
- 0x06, 0xdc, 0x00, 0x0e, 0x16, 0x10, 0x88, 0xa0, 0x06, 0xde, 0x00, 0x10, 0x16, 0x0c, 0x88, 0xa0,
- 0x06, 0xe0, 0x00, 0x12, 0x16, 0x08, 0x06, 0x20, 0x06, 0xcc, 0x16, 0x19, 0xe8, 0x20, 0xe0, 0x0e,
- 0x01, 0x82, 0xe3, 0xa0, 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xcc, 0x10, 0x10, 0x23, 0xa0,
- 0xe0, 0x10, 0x16, 0x08, 0xc1, 0x64, 0x00, 0x06, 0x21, 0x60, 0xe0, 0x0c, 0x13, 0x08, 0xd2, 0xa0,
- 0xe3, 0xa8, 0x10, 0x05, 0x88, 0x20, 0x07, 0x0a, 0x07, 0x08, 0x12, 0x96, 0x10, 0x00, 0x04, 0x60,
- 0xdb, 0xa8, 0x93, 0xe0, 0xe0, 0x0e, 0x13, 0x50, 0x93, 0xe0, 0xe3, 0xa9, 0x13, 0x4d, 0x93, 0xe0,
- 0xe3, 0xa8, 0x13, 0x1c, 0x06, 0xa0, 0xe2, 0xd0, 0x23, 0xa0, 0xe0, 0x10, 0x13, 0x45, 0x23, 0xa0,
- 0xe0, 0x08, 0x16, 0x06, 0xe3, 0x60, 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x22, 0x07, 0x06, 0x10, 0x34,
- 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x31, 0xc1, 0x60, 0x09, 0x6a, 0x21, 0x60, 0xe0, 0x12, 0x16, 0x2c,
- 0x06, 0xa0, 0xea, 0x34, 0x10, 0x31, 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0x2e, 0xe3, 0xa0, 0xe0, 0x12,
- 0x06, 0xa0, 0xea, 0x34, 0xc1, 0x64, 0x00, 0x06, 0x21, 0x60, 0xe0, 0x0c, 0x13, 0x25, 0x88, 0x20,
- 0x07, 0x0e, 0x06, 0xdc, 0x16, 0x14, 0x88, 0x20, 0x07, 0x10, 0x06, 0xde, 0x16, 0x10, 0x88, 0x20,
- 0x07, 0x12, 0x06, 0xe0, 0x16, 0x0c, 0x98, 0x20, 0x06, 0xce, 0x06, 0xcf, 0x13, 0x15, 0x06, 0x20,
- 0x06, 0xce, 0x16, 0x12, 0xe3, 0x60, 0xe0, 0x1a, 0xd2, 0xa0, 0xe0, 0x0c, 0x10, 0x0d, 0xe3, 0x60,
- 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x32, 0x07, 0x06, 0x06, 0xa0, 0xe2, 0x72, 0x02, 0x08, 0x80, 0x48,
- 0x06, 0xa0, 0xe0, 0x22, 0xd2, 0xa0, 0xe3, 0xa9, 0x04, 0x60, 0xdb, 0xa8, 0x88, 0x22, 0x00, 0x0e,
- 0x09, 0x6c, 0x1a, 0xc9, 0x1b, 0x0b, 0x88, 0x22, 0x00, 0x10, 0x09, 0x6e, 0x1a, 0xc4, 0x1b, 0x06,
- 0x88, 0x22, 0x00, 0x12, 0x09, 0x70, 0x1a, 0xbf, 0x1b, 0x01, 0x04, 0x5b, 0xc1, 0x60, 0x01, 0x6c,
- 0x02, 0x85, 0x00, 0x43, 0x13, 0xe1, 0x93, 0xe0, 0xe3, 0xa8, 0x16, 0xde, 0xc8, 0xa0, 0xed, 0x58,
- 0x00, 0x02, 0x07, 0x84, 0x00, 0x0e, 0xc1, 0x42, 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0x02, 0x25,
- 0x00, 0x48, 0x07, 0x81, 0xea, 0x86, 0x07, 0x83, 0xae, 0x14, 0x04, 0x60, 0xed, 0x92, 0x02, 0x02,
- 0xfc, 0x00, 0x10, 0xca, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x03, 0xd8, 0x20, 0xe3, 0xa8,
- 0x06, 0x65, 0x93, 0xe0, 0xe3, 0xa9, 0x13, 0x0d, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x19, 0x23, 0xa0,
- 0xe0, 0x10, 0x13, 0x16, 0xe3, 0x60, 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x06, 0x06, 0xa0,
- 0xe2, 0x72, 0x43, 0xa0, 0xe0, 0x18, 0x2e, 0xe0, 0x00, 0x01, 0xd2, 0xa0, 0xe0, 0x26, 0x07, 0x83,
- 0x00, 0x10, 0x06, 0xa0, 0xe3, 0x56, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x02, 0x06, 0xa0, 0xe2, 0x54,
- 0x43, 0xa0, 0xe0, 0x2c, 0xc8, 0x20, 0xe0, 0x20, 0x09, 0x24, 0x04, 0x60, 0xdb, 0xa8, 0x43, 0xa0,
- 0xe0, 0x0e, 0xc1, 0xa0, 0x09, 0x24, 0x13, 0x02, 0x06, 0x20, 0x09, 0x24, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0x03, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x26, 0x02, 0x08, 0x80, 0x42, 0x06, 0xa0, 0xe0, 0x22,
- 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x1f, 0x23, 0xa0, 0xe0, 0x10, 0x16, 0x0a, 0xc1, 0x22, 0x00, 0x02,
- 0x25, 0x20, 0xe4, 0x68, 0x16, 0x23, 0x07, 0x83, 0x80, 0x20, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x12,
- 0x06, 0xa0, 0xe2, 0x72, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x02, 0x06, 0xa0, 0xe2, 0x54, 0xe3, 0x60,
- 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x06, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x03, 0x23, 0xa0,
- 0xe0, 0x06, 0x13, 0x51, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x03, 0xd8, 0x20, 0xe3, 0xa8,
- 0x06, 0x65, 0xc1, 0x22, 0x00, 0x02, 0x25, 0x20, 0xe4, 0x68, 0x13, 0x0e, 0x07, 0x83, 0x00, 0x20,
- 0x06, 0xa0, 0xe3, 0x56, 0xc8, 0x22, 0x00, 0x0e, 0x06, 0xe6, 0xc8, 0x22, 0x00, 0x10, 0x06, 0xe8,
- 0xc8, 0x22, 0x00, 0x12, 0x06, 0xea, 0x10, 0x37, 0x88, 0x22, 0x00, 0x0e, 0x06, 0xdc, 0x16, 0x08,
- 0x88, 0x22, 0x00, 0x10, 0x06, 0xde, 0x16, 0x04, 0x88, 0x22, 0x00, 0x12, 0x06, 0xe0, 0x13, 0x0b,
- 0xc8, 0x22, 0x00, 0x0e, 0x06, 0xdc, 0xc8, 0x22, 0x00, 0x10, 0x06, 0xde, 0xc8, 0x22, 0x00, 0x12,
- 0x06, 0xe0, 0xe3, 0x60, 0xe0, 0x14, 0x23, 0xa0, 0xe0, 0x0e, 0x16, 0x08, 0xc1, 0xa0, 0x09, 0x24,
- 0x16, 0x1a, 0x07, 0x86, 0x10, 0x00, 0xe8, 0x06, 0x06, 0xd2, 0x10, 0x15, 0xe3, 0xa0, 0xe0, 0x0e,
- 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x09, 0xe3, 0xa0, 0xe0, 0x06, 0x04, 0xe0, 0x06, 0xe6, 0x04, 0xe0,
- 0x06, 0xe8, 0x04, 0xe0, 0x06, 0xea, 0x10, 0x07, 0x02, 0x08, 0x80, 0x36, 0x07, 0xa0, 0x06, 0xd6,
- 0xdf, 0xe2, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xa8, 0x98, 0x20, 0x06, 0x65, 0xe0, 0x10,
- 0x16, 0x03, 0xd8, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x04, 0x60, 0xdb, 0xa8, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0x02, 0x04, 0x60, 0xdb, 0xa8, 0x10, 0x2e, 0x03, 0xb0, 0x98, 0x20, 0xe3, 0xa9, 0x06, 0x6f,
- 0x16, 0x19, 0xc2, 0x24, 0x00, 0x08, 0x11, 0x16, 0xe3, 0xe0, 0xe0, 0x14, 0x07, 0x83, 0x00, 0x00,
- 0x06, 0xa0, 0xe3, 0x56, 0x23, 0xa0, 0xe0, 0x14, 0x13, 0x04, 0x02, 0x08, 0x80, 0x06, 0x06, 0xa0,
- 0xe0, 0x22, 0x02, 0x08, 0x00, 0x1e, 0x06, 0xa0, 0xe0, 0x22, 0x23, 0xa0, 0xe0, 0x08, 0x13, 0x02,
- 0x06, 0xa0, 0xe2, 0x54, 0xc0, 0x82, 0x16, 0x02, 0x04, 0x60, 0xdb, 0xc0, 0xe8, 0x20, 0xed, 0x74,
- 0x06, 0xf0, 0x99, 0x20, 0xe0, 0x0e, 0x00, 0x16, 0x16, 0x05, 0x04, 0xe0, 0x06, 0xec, 0x48, 0x20,
- 0xe0, 0x14, 0x06, 0xf0, 0x07, 0x83, 0x00, 0x01, 0x04, 0x60, 0xdb, 0xa2, 0xc2, 0x64, 0x00, 0x14,
- 0x02, 0x24, 0x00, 0x18, 0xc1, 0xc4, 0x61, 0xc2, 0x02, 0x27, 0xff, 0xfc, 0xc1, 0x74, 0xc1, 0x85,
- 0x71, 0x45, 0x02, 0x85, 0x00, 0x27, 0x16, 0x46, 0xc1, 0x54, 0x02, 0x45, 0xff, 0xcf, 0x16, 0x42,
- 0x04, 0xc8, 0xc1, 0x64, 0x00, 0x08, 0x15, 0x06, 0x13, 0x05, 0xc2, 0x24, 0x00, 0x0e, 0x02, 0x48,
- 0x1f, 0x00, 0x06, 0xc8, 0x02, 0x28, 0x00, 0x11, 0xa2, 0x04, 0x98, 0x18, 0xed, 0x79, 0x16, 0x32,
- 0xc1, 0x42, 0x02, 0x25, 0x00, 0x04, 0x65, 0x47, 0xc2, 0x35, 0xcd, 0x74, 0x06, 0x48, 0x15, 0xfd,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc1, 0x02, 0xc8, 0x04, 0x01, 0x6c, 0xc1, 0xa0, 0xfc, 0x00, 0x13, 0x05,
- 0xc8, 0x20, 0xeb, 0x10, 0xfc, 0x02, 0xc1, 0x06, 0x10, 0xf6, 0xc8, 0x02, 0x01, 0x6c, 0xc8, 0x20,
- 0xed, 0x58, 0xfc, 0x02, 0x07, 0x81, 0xec, 0xfc, 0xc0, 0x04, 0x07, 0x83, 0x02, 0x10, 0x07, 0x84,
- 0x00, 0x0e, 0x10, 0x3b, 0x07, 0x84, 0x00, 0x0c, 0xc0, 0xe2, 0x00, 0x08, 0x02, 0x05, 0xfc, 0x00,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0xc1, 0xa0, 0xfc, 0x00, 0x13, 0x2f, 0x04, 0xe0, 0xfc, 0x00,
- 0x2e, 0x16, 0x10, 0x2b, 0xc8, 0xa0, 0xed, 0x7a, 0x00, 0x0e, 0xc8, 0xa0, 0xed, 0x7c, 0x00, 0x10,
- 0xc8, 0xa0, 0xed, 0x7e, 0x00, 0x12, 0x07, 0x83, 0x80, 0x06, 0x04, 0x60, 0xdb, 0xa2, 0x04, 0x60,
- 0xdb, 0xc0, 0x07, 0x84, 0x00, 0x10, 0x07, 0x85, 0x00, 0x34, 0x10, 0x09, 0x07, 0x84, 0x00, 0x12,
- 0x07, 0x85, 0x00, 0x32, 0x10, 0x04, 0x07, 0x84, 0x00, 0x14, 0x07, 0x85, 0x00, 0x38, 0x06, 0xa0,
- 0xe1, 0x0a, 0xc8, 0x85, 0x00, 0x04, 0x06, 0xa0, 0xe1, 0x4c, 0xc8, 0xa0, 0xed, 0x58, 0x00, 0x02,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0x06, 0x48, 0xc1, 0x48, 0x06, 0xa0, 0xe3, 0xce, 0x02, 0x07,
- 0x06, 0xa2, 0xc5, 0x60, 0xfc, 0x02, 0x02, 0x25, 0xff, 0xf4, 0xc8, 0x05, 0xfc, 0x02, 0xc2, 0x20,
- 0x01, 0x6c, 0x06, 0xa0, 0xc2, 0x5a, 0x04, 0x60, 0xdb, 0x9e, 0x06, 0xa0, 0xe3, 0xce, 0x02, 0x07,
- 0x06, 0xb4, 0x10, 0xef, 0xc3, 0x0b, 0x03, 0x00, 0x00, 0x02, 0x07, 0x82, 0x00, 0xc0, 0xc8, 0x20,
- 0x00, 0x0c, 0x00, 0xc0, 0xc8, 0x20, 0x00, 0x0e, 0x00, 0xc2, 0xc8, 0x20, 0x00, 0x10, 0x00, 0xc4,
- 0xc8, 0x20, 0x00, 0x12, 0x00, 0xc6, 0xc8, 0x20, 0x00, 0x14, 0x00, 0xc8, 0xc8, 0x20, 0x00, 0x16,
- 0x00, 0xca, 0xc8, 0x20, 0x00, 0x04, 0x00, 0xcc, 0xc8, 0x20, 0x00, 0x06, 0x00, 0xce, 0xc8, 0x02,
- 0x00, 0x0c, 0x07, 0xa0, 0x00, 0x0e, 0xee, 0x3c, 0xc8, 0x02, 0x00, 0x10, 0x07, 0xa0, 0x00, 0x12,
- 0xee, 0x46, 0xc8, 0x02, 0x00, 0x14, 0x07, 0xa0, 0x00, 0x16, 0xee, 0x76, 0xc8, 0x02, 0x00, 0x04,
- 0x07, 0xa0, 0x00, 0x06, 0xee, 0x8c, 0x01, 0x60, 0x01, 0x1c, 0x00, 0x04, 0x16, 0x09, 0x01, 0xe0,
- 0x01, 0x40, 0x08, 0x00, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x04, 0x00,
- 0x06, 0xa0, 0xf1, 0x4c, 0x02, 0x05, 0x80, 0x00, 0xd8, 0x05, 0x04, 0x80, 0x04, 0xc7, 0x03, 0x00,
- 0x00, 0x0f, 0x07, 0x88, 0x10, 0x00, 0x02, 0x09, 0x20, 0x00, 0x07, 0x8a, 0xee, 0xa4, 0x02, 0x03,
- 0xe5, 0xfe, 0x04, 0x5a, 0x03, 0x00, 0x00, 0x00, 0xd2, 0x20, 0x01, 0x87, 0x10, 0x06, 0x03, 0x00,
- 0x00, 0x00, 0xc2, 0x20, 0x01, 0x8a, 0x02, 0x08, 0x1a, 0x00, 0xc2, 0x60, 0x00, 0xae, 0xda, 0x48,
- 0x04, 0x80, 0x05, 0x89, 0x02, 0x89, 0x00, 0x06, 0x15, 0x07, 0x07, 0x88, 0x80, 0x00, 0xda, 0x48,
- 0x04, 0x80, 0xc8, 0x09, 0x00, 0xae, 0x03, 0x80, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0x5c, 0x03, 0x00,
- 0x00, 0x00, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x20, 0x13, 0xe2, 0xc2, 0x20, 0x01, 0x8c, 0x02, 0x08,
- 0x1c, 0x00, 0x10, 0xe3, 0x03, 0x00, 0x00, 0x00, 0x01, 0x60, 0x01, 0x40, 0x40, 0x00, 0x16, 0xec,
- 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0x02, 0x08, 0x02, 0x00, 0x10, 0xd7, 0xc0, 0xb3, 0x06, 0x92,
- 0x10, 0xfd, 0xc0, 0xb3, 0xc0, 0x48, 0xcc, 0x72, 0xcc, 0x72, 0xc1, 0x32, 0xcc, 0x44, 0xdc, 0x72,
- 0x06, 0x04, 0x16, 0xfd, 0x04, 0x5b, 0xc0, 0x48, 0x02, 0x02, 0xe9, 0x90, 0x07, 0x84, 0x00, 0x06,
- 0x10, 0xf6, 0x02, 0x02, 0xe5, 0xde, 0xc0, 0x49, 0x07, 0x84, 0x00, 0x06, 0x10, 0xf0, 0xc0, 0xb3,
- 0xc1, 0x32, 0x02, 0x01, 0x00, 0x01, 0xd0, 0x44, 0x06, 0xc1, 0x02, 0x44, 0x00, 0xff, 0x10, 0xe7,
- 0xc1, 0x33, 0xc0, 0x73, 0xd1, 0x44, 0x02, 0x44, 0x00, 0xff, 0xdc, 0x45, 0x06, 0x04, 0x16, 0xfd,
- 0x04, 0x5a, 0x06, 0xa0, 0xf0, 0xcc, 0xc8, 0x33, 0x01, 0x9e, 0x04, 0x5a, 0x06, 0xa0, 0xee, 0xca,
- 0xc1, 0x89, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0xc1, 0x88, 0x09, 0xa6,
- 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8c, 0x04, 0xc2, 0xc1, 0xc7, 0x16, 0x03, 0x06, 0x02,
- 0x16, 0xfc, 0x10, 0x4d, 0x04, 0x5a, 0x06, 0xa0, 0xf0, 0x16, 0xc1, 0x89, 0x09, 0xa6, 0x02, 0x66,
- 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0xc1, 0x88, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06,
- 0x01, 0x8c, 0xc8, 0x33, 0x01, 0x9e, 0x10, 0xe8, 0x8a, 0x33, 0x00, 0x02, 0x16, 0x38, 0x8a, 0x73,
- 0x00, 0x02, 0x16, 0x35, 0x04, 0x5a, 0x8a, 0x20, 0xe9, 0x8a, 0x00, 0x02, 0x16, 0x30, 0x8a, 0x60,
- 0xe9, 0x8e, 0x00, 0x02, 0x16, 0x2c, 0x07, 0x82, 0xea, 0x34, 0x10, 0x01, 0xc0, 0xb3, 0x02, 0x04,
- 0x04, 0x80, 0xd1, 0x52, 0x13, 0x03, 0x9d, 0x32, 0x16, 0x22, 0x10, 0xfb, 0x07, 0x85, 0x80, 0x00,
- 0xd8, 0x05, 0x04, 0x80, 0x04, 0xc7, 0x04, 0x5a, 0xc8, 0x20, 0x00, 0xc0, 0x00, 0x0c, 0xc8, 0x20,
- 0x00, 0xc2, 0x00, 0x0e, 0xc8, 0x20, 0x00, 0xc4, 0x00, 0x10, 0xc8, 0x20, 0x00, 0xc6, 0x00, 0x12,
- 0xc8, 0x20, 0x00, 0xc8, 0x00, 0x14, 0xc8, 0x20, 0x00, 0xca, 0x00, 0x16, 0xc8, 0x20, 0x00, 0xcc,
- 0x00, 0x04, 0xc8, 0x20, 0x00, 0xce, 0x00, 0x06, 0x03, 0x00, 0x00, 0x0f, 0x05, 0xcc, 0x04, 0x5c,
- 0x04, 0xe0, 0x01, 0x82, 0x02, 0x02, 0xe5, 0xd8, 0xc8, 0x32, 0x01, 0x82, 0xc8, 0x32, 0x01, 0x80,
- 0x06, 0xa0, 0xef, 0xe2, 0xc8, 0x12, 0x01, 0x82, 0xc2, 0xca, 0x07, 0x84, 0x07, 0xd0, 0x04, 0xe0,
- 0x01, 0x84, 0x06, 0x04, 0x16, 0xfc, 0xc1, 0x20, 0x01, 0x84, 0x16, 0xe9, 0x02, 0x04, 0x00, 0x32,
- 0x07, 0x85, 0x80, 0x00, 0xd8, 0x05, 0x04, 0x80, 0x04, 0xc7, 0xc1, 0x60, 0x01, 0x86, 0x06, 0x04,
- 0x16, 0xfc, 0xc1, 0x20, 0x01, 0x84, 0x04, 0x5b, 0xc0, 0xb3, 0xc4, 0xb3, 0x04, 0x5b, 0xc0, 0x48,
- 0xc0, 0xb3, 0xa0, 0x73, 0xc4, 0x42, 0x04, 0x5b, 0x88, 0x33, 0x01, 0x84, 0x16, 0xe6, 0x04, 0x5a,
- 0xc1, 0x89, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0x04, 0x5b, 0x04, 0xc5,
- 0x07, 0xa0, 0x01, 0x9c, 0x00, 0x40, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x13, 0x03, 0x06, 0x05,
- 0x16, 0xf7, 0x04, 0x5c, 0x04, 0x5b, 0x06, 0xa0, 0xf0, 0x6a, 0xc0, 0x60, 0x01, 0x40, 0xc8, 0x05,
- 0x01, 0x40, 0xc5, 0x02, 0xc8, 0x01, 0x01, 0x40, 0x04, 0x5a, 0x06, 0xa0, 0xf0, 0x6a, 0xa1, 0x08,
- 0x10, 0xf4, 0xc0, 0xb3, 0xc1, 0x33, 0xc1, 0x60, 0x01, 0x40, 0x01, 0x85, 0x04, 0x00, 0x01, 0xc5,
- 0x10, 0x00, 0x04, 0x5b, 0xc1, 0x08, 0xc2, 0x09, 0xc2, 0x44, 0x04, 0x5b, 0x02, 0x05, 0x00, 0xc8,
- 0x06, 0x05, 0x16, 0xfe, 0x04, 0x5b, 0xc1, 0x33, 0xc0, 0x03, 0xc0, 0xc4, 0x04, 0x5b, 0xc0, 0xc0,
- 0x04, 0x5b, 0x94, 0xe0, 0x01, 0x9e, 0x16, 0xc2, 0x05, 0xc3, 0x04, 0x5b, 0xc0, 0x73, 0x06, 0xa0,
- 0xf0, 0xe4, 0x02, 0x2d, 0x00, 0x08, 0x07, 0x85, 0x00, 0x08, 0x9f, 0x71, 0x16, 0xb7, 0x06, 0x05,
- 0x16, 0xfc, 0x04, 0x5a, 0x02, 0x02, 0xe5, 0xe4, 0x04, 0x60, 0xee, 0xce, 0x8c, 0xe9, 0x00, 0x04,
- 0x16, 0xad, 0x04, 0x5b, 0xc1, 0x20, 0x01, 0x80, 0x07, 0x85, 0x07, 0xd0, 0x01, 0xe0, 0x01, 0x80,
- 0x04, 0x00, 0x06, 0x45, 0x16, 0xfe, 0xc8, 0x04, 0x01, 0x80, 0x04, 0x5b, 0xc1, 0x33, 0xc3, 0x48,
- 0xc1, 0x04, 0x13, 0x04, 0x02, 0x2d, 0x04, 0x00, 0x06, 0x04, 0x16, 0xfc, 0x04, 0x5b, 0xc3, 0x8d,
- 0x06, 0xa0, 0xf0, 0xe4, 0xc1, 0x8d, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc7, 0x86, 0x04, 0x5a,
- 0xc1, 0x8d, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0x04, 0x5b, 0xc1, 0x8d,
- 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8c, 0x04, 0x5b, 0xc0, 0x4d, 0x02, 0x04,
- 0x00, 0x28, 0x07, 0x85, 0x55, 0x00, 0x04, 0x60, 0xee, 0xf2, 0xc0, 0x4d, 0xc0, 0xb3, 0xc1, 0x32,
- 0x04, 0x60, 0xee, 0xb6, 0xc1, 0x33, 0x01, 0x60, 0x01, 0x1c, 0x00, 0x04, 0x16, 0x01, 0x04, 0x5b,
- 0xc0, 0xc4, 0x04, 0x5b, 0x07, 0x89, 0xe5, 0x26, 0xc2, 0x39, 0x13, 0x07, 0xc6, 0x39, 0x86, 0x39,
- 0x16, 0x25, 0xc6, 0x39, 0x86, 0x39, 0x16, 0x22, 0x10, 0xf7, 0x02, 0x02, 0xf1, 0x6a, 0x04, 0xc4,
- 0x04, 0xc5, 0xc2, 0x39, 0x13, 0x02, 0x04, 0x60, 0xf1, 0xa6, 0x02, 0x02, 0xf1, 0x78, 0x04, 0xc4,
- 0xc2, 0x39, 0x13, 0x03, 0xc1, 0x79, 0x04, 0x60, 0xf1, 0xa6, 0x02, 0x02, 0xf1, 0x88, 0x04, 0xc5,
- 0xc2, 0x39, 0x13, 0x03, 0xc1, 0x39, 0x04, 0x60, 0xf1, 0xa6, 0xc0, 0x79, 0xc0, 0xb9, 0x60, 0x81,
- 0x05, 0xc2, 0x09, 0x12, 0x04, 0xf1, 0x06, 0x02, 0x16, 0xfd, 0x04, 0x5b, 0x04, 0x5c, 0x02, 0x01,
- 0xaa, 0xaa, 0xc6, 0x01, 0xe0, 0x44, 0x40, 0x45, 0x80, 0x58, 0x16, 0xf8, 0x02, 0x01, 0x00, 0x14,
- 0x06, 0x01, 0x16, 0xfe, 0x02, 0x01, 0x55, 0x55, 0xc6, 0x01, 0xe0, 0x44, 0x40, 0x45, 0x80, 0x58,
- 0x16, 0xed, 0x04, 0x52, 0x02, 0xe0, 0x00, 0xa0, 0x07, 0x88, 0x00, 0xc0, 0x02, 0x09, 0xf2, 0x20,
- 0x07, 0x84, 0xe5, 0xea, 0x02, 0x05, 0x00, 0x01, 0xc2, 0x8b, 0x04, 0xcc, 0x06, 0xa0, 0xf2, 0x2a,
- 0x2c, 0x60, 0x00, 0x01, 0x06, 0x99, 0x2c, 0xa0, 0x00, 0x02, 0x06, 0x99, 0x2d, 0x20, 0x00, 0x04,
- 0x06, 0x99, 0x2e, 0x20, 0x00, 0x08, 0x06, 0x99, 0x2f, 0xa0, 0x00, 0x10, 0x05, 0x8c, 0x16, 0x09,
- 0xcc, 0x80, 0xc4, 0x81, 0x07, 0x83, 0xf2, 0x6e, 0xc0, 0x88, 0x04, 0x02, 0x05, 0x8c, 0x16, 0x01,
- 0x10, 0x33, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0x5a, 0x05, 0x8c, 0x16, 0xfb, 0xcc, 0x80, 0xc4, 0x81,
- 0x0a, 0x15, 0xc0, 0xb4, 0xc0, 0x12, 0xcc, 0x88, 0xc0, 0x52, 0xc4, 0xb4, 0x06, 0x42, 0x04, 0x5b,
- 0x07, 0x2d, 0x00, 0x18, 0x8b, 0x41, 0x00, 0x0a, 0x16, 0xec, 0x82, 0xc1, 0x16, 0xea, 0x02, 0xc2,
- 0x02, 0x42, 0x02, 0x00, 0x16, 0xe6, 0x03, 0x80, 0x07, 0x81, 0x00, 0x01, 0x10, 0xf1, 0x02, 0x01,
- 0x00, 0x02, 0x10, 0xee, 0x02, 0x01, 0x00, 0x04, 0x10, 0xeb, 0x02, 0x01, 0x00, 0x08, 0x10, 0xe8,
- 0x02, 0x01, 0x00, 0x10, 0x10, 0xe5, 0x02, 0xa1, 0x8b, 0x41, 0x00, 0x10, 0x13, 0x02, 0x04, 0x60,
- 0xf2, 0x1a, 0x07, 0x2d, 0x00, 0x18, 0x03, 0x80, 0x02, 0x09, 0x08, 0x00, 0x02, 0x03, 0x00, 0x04,
- 0x04, 0xc7, 0x06, 0xa0, 0xf3, 0x9a, 0x01, 0x60, 0x01, 0x1c, 0x00, 0x04, 0x16, 0x1c, 0x01, 0xa0,
- 0x01, 0x40, 0x08, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x10, 0x00, 0x02, 0x04, 0x00, 0x01, 0xce, 0x44,
- 0x06, 0xc4, 0xc6, 0x44, 0x01, 0xa0, 0x01, 0x40, 0x10, 0x00, 0x06, 0x49, 0x01, 0xa0, 0x01, 0x40,
- 0x40, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x04, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x08, 0x00, 0x06, 0xa0,
- 0xf4, 0x38, 0x06, 0xa0, 0xf4, 0x38, 0x05, 0xc7, 0x02, 0x04, 0xe4, 0xa4, 0x04, 0xe0, 0x03, 0xd0,
- 0xc1, 0x74, 0xc1, 0xb4, 0x05, 0x86, 0x13, 0x1c, 0x02, 0xe0, 0x00, 0xc0, 0x02, 0x00, 0x00, 0x00,
- 0xc0, 0x40, 0xc0, 0x80, 0xc0, 0xc0, 0xc1, 0x00, 0xc1, 0x40, 0xc1, 0x80, 0xc1, 0xc0, 0xc2, 0x00,
- 0xc2, 0x40, 0xc2, 0x80, 0xc2, 0xc0, 0xc3, 0x00, 0xc3, 0x40, 0xc3, 0x80, 0xc3, 0xc0, 0x04, 0xa0,
- 0x00, 0xaa, 0x03, 0xd0, 0x03, 0xd0, 0x10, 0x3f, 0x05, 0x85, 0x81, 0x85, 0x13, 0xe1, 0x10, 0xe4,
- 0x05, 0xc7, 0x02, 0x05, 0x7f, 0xff, 0xa1, 0x45, 0x03, 0xd0, 0x03, 0xd0, 0x10, 0x34, 0xcc, 0xc0,
- 0xc4, 0xc1, 0x02, 0x03, 0x00, 0x28, 0x06, 0xa0, 0xf3, 0x9a, 0x01, 0xe0, 0x01, 0x42, 0x10, 0x00,
- 0x05, 0xc7, 0x03, 0xd0, 0x03, 0xd0, 0x10, 0x27, 0x05, 0xc7, 0xc1, 0xa0, 0x01, 0x4a, 0x07, 0xa0,
- 0x01, 0x4a, 0x0e, 0x00, 0x01, 0xa0, 0x01, 0x40, 0x02, 0x00, 0x07, 0x20, 0x01, 0x44, 0xc1, 0x60,
- 0x01, 0x44, 0x02, 0x85, 0xff, 0x00, 0x16, 0x17, 0x01, 0xe0, 0x01, 0x40, 0x22, 0x00, 0x02, 0x05,
- 0x00, 0xc0, 0x06, 0x05, 0x03, 0xd0, 0x16, 0xfd, 0xc1, 0x60, 0x01, 0x46, 0x02, 0x85, 0xff, 0x00,
- 0x13, 0x0a, 0x02, 0x05, 0x33, 0x93, 0x06, 0x05, 0x00, 0x00, 0xf3, 0x80, 0x00, 0x0b, 0x10, 0x00,
- 0x00, 0x00, 0xf3, 0x8a, 0x04, 0x9c, 0x03, 0xd0, 0x16, 0xf8, 0x10, 0x51, 0xc8, 0x06, 0x01, 0x4a,
- 0xcc, 0xc0, 0xc4, 0xc1, 0x10, 0x4b, 0xc0, 0x13, 0xcc, 0xc8, 0xc0, 0x53, 0x02, 0x02, 0xf3, 0xaa,
- 0xc4, 0xc2, 0x06, 0x43, 0x04, 0x5b, 0xc0, 0x60, 0x00, 0xae, 0x02, 0xc4, 0x02, 0x44, 0x00, 0x0f,
- 0x88, 0x44, 0xe4, 0x8a, 0x16, 0x3c, 0x02, 0x81, 0x00, 0x08, 0x13, 0x27, 0xc1, 0x21, 0xe4, 0x9c,
- 0xc1, 0x14, 0x21, 0x21, 0xe4, 0x7a, 0x16, 0x33, 0xc1, 0x21, 0xe4, 0x82, 0x02, 0x81, 0x00, 0x00,
- 0x13, 0x0b, 0x02, 0x0d, 0x00, 0xa0, 0x83, 0x84, 0x13, 0x09, 0x05, 0xc4, 0x83, 0x84, 0x13, 0x06,
- 0x05, 0xc4, 0x83, 0x84, 0x13, 0x03, 0x10, 0x23, 0x81, 0x0e, 0x16, 0x21, 0xc1, 0x21, 0xe4, 0x9c,
- 0x45, 0x21, 0xe4, 0x7a, 0x01, 0xe0, 0x01, 0x42, 0x10, 0x00, 0x01, 0xa0, 0x01, 0x42, 0x10, 0x00,
- 0xc3, 0xa1, 0xe4, 0x94, 0x02, 0x0f, 0x00, 0x2f, 0x03, 0x80, 0x01, 0xa0, 0x01, 0x40, 0x02, 0x00,
- 0x01, 0xa0, 0x01, 0x40, 0x80, 0x00, 0xc0, 0x6d, 0x00, 0x0a, 0x13, 0x09, 0x02, 0x81, 0x12, 0x5c,
- 0x1b, 0x06, 0x02, 0x0e, 0xf3, 0x90, 0x02, 0x0f, 0x00, 0x0f, 0x03, 0x80, 0x05, 0xca, 0x02, 0xe0,
- 0x00, 0xa0, 0x04, 0x5a, 0xce, 0x59, 0x88, 0x20, 0xe4, 0xa4, 0xe4, 0xa4, 0x10, 0xf8, 0x04, 0xc1,
- 0x62, 0x48, 0x05, 0x89, 0xc0, 0xa0, 0x01, 0x6c, 0xc8, 0x08, 0x01, 0x6c, 0x02, 0x03, 0xfc, 0x00,
- 0x02, 0x04, 0x02, 0x00, 0xa0, 0x73, 0x06, 0x04, 0x16, 0xfd, 0x05, 0x88, 0x06, 0x09, 0x16, 0xf4,
- 0xc8, 0x02, 0x01, 0x6c, 0x86, 0x81, 0x16, 0x02, 0x03, 0xd0, 0x05, 0xcb, 0x04, 0x5b, 0xc0, 0x48,
- 0xc0, 0x89, 0x60, 0x81, 0x05, 0xc2, 0x04, 0x5b, 0xc3, 0x0b, 0x06, 0xa0, 0xf4, 0x72, 0xcc, 0x41,
- 0x06, 0x42, 0x16, 0xfd, 0x06, 0xa0, 0xf4, 0x72, 0xc1, 0x01, 0x8c, 0x44, 0x16, 0x12, 0x05, 0xc4,
- 0x06, 0x42, 0x16, 0xfb, 0x02, 0x04, 0xf4, 0xb8, 0x02, 0x03, 0x01, 0x01, 0x06, 0x94, 0x02, 0x03,
- 0x5a, 0x5a, 0x06, 0x94, 0x05, 0x43, 0x06, 0x94, 0x07, 0x03, 0x06, 0x94, 0x04, 0xc3, 0x06, 0x94,
- 0x05, 0xcc, 0x04, 0x5c, 0xc1, 0xcb, 0x06, 0xa0, 0xf4, 0x72, 0xcc, 0x43, 0x06, 0x42, 0x16, 0xfd,
- 0x06, 0xa0, 0xf4, 0x72, 0x8c, 0x43, 0x16, 0xf5, 0x06, 0x42, 0x16, 0xfc, 0x04, 0x57, 0xc2, 0x8b,
- 0xc0, 0x08, 0xc1, 0x49, 0x05, 0x85, 0x02, 0x80, 0x00, 0x40, 0x11, 0x03, 0x02, 0x80, 0x00, 0x4f,
- 0x12, 0x45, 0x02, 0x01, 0xf4, 0x72, 0x09, 0xa1, 0x80, 0x01, 0x13, 0x40, 0x02, 0x01, 0xf5, 0xa2,
- 0x09, 0xa1, 0x80, 0x01, 0x13, 0x3b, 0xc0, 0x60, 0x00, 0x06, 0x09, 0xa1, 0x80, 0x01, 0x13, 0x36,
- 0x05, 0x81, 0x80, 0x01, 0x13, 0x33, 0xc0, 0x4a, 0x09, 0xa1, 0x80, 0x01, 0x13, 0x2f, 0xc8, 0x00,
- 0x01, 0x6a, 0x02, 0x80, 0x00, 0x80, 0x14, 0x17, 0x02, 0x01, 0xf8, 0x00, 0xc1, 0xa0, 0x01, 0x40,
- 0x01, 0xa0, 0x01, 0x40, 0x04, 0x00, 0x02, 0x02, 0x10, 0x00, 0x02, 0x03, 0x04, 0x00, 0xcc, 0xb1,
- 0x06, 0x43, 0x16, 0xfd, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0x02, 0x08, 0xf8, 0x10, 0xc8, 0x06,
- 0x01, 0x40, 0xc0, 0x00, 0x13, 0x02, 0x02, 0x08, 0xf8, 0x00, 0x02, 0x09, 0xfb, 0xfe, 0x06, 0xa0,
- 0xf4, 0x7c, 0x10, 0x25, 0x02, 0x80, 0x00, 0x80, 0x14, 0x09, 0x02, 0x01, 0xf8, 0x00, 0x02, 0x02,
- 0x10, 0x00, 0x02, 0x03, 0x04, 0x00, 0xcc, 0x72, 0x06, 0x43, 0x16, 0xfd, 0x05, 0x80, 0x02, 0x80,
- 0x00, 0x80, 0x12, 0x04, 0x01, 0x60, 0x01, 0x04, 0x00, 0x20, 0x13, 0x05, 0x81, 0x40, 0x16, 0xab,
- 0x02, 0x80, 0x00, 0x80, 0x14, 0x0b, 0x07, 0xa0, 0x01, 0x6a, 0x00, 0x7e, 0x02, 0x02, 0x10, 0x00,
- 0x02, 0x03, 0x04, 0x00, 0x04, 0xc1, 0xcc, 0x81, 0x06, 0x43, 0x16, 0xfd, 0x05, 0xca, 0x04, 0x5a,
- 0x02, 0x00, 0xf5, 0x94, 0x02, 0x01, 0xf6, 0xc4, 0x02, 0x40, 0xfc, 0x00, 0x02, 0x41, 0xfc, 0x00,
- 0x80, 0x40, 0x13, 0x04, 0x07, 0xa0, 0x01, 0x04, 0x00, 0x3c, 0x04, 0x5b, 0x04, 0xc0, 0x02, 0x01,
- 0x00, 0x08, 0x02, 0x02, 0x12, 0x00, 0xc1, 0xe0, 0x01, 0x40, 0x01, 0xa0, 0x01, 0x40, 0x04, 0x00,
- 0x02, 0x03, 0x01, 0x00, 0xc8, 0x00, 0x01, 0x6a, 0xcc, 0xa0, 0xf8, 0x10, 0x05, 0x80, 0x06, 0x03,
- 0x16, 0xf9, 0x02, 0x22, 0x02, 0x00, 0x06, 0x01, 0x16, 0xf3, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00,
- 0xc8, 0x07, 0x01, 0x40, 0x02, 0x00, 0x08, 0x00, 0xc0, 0x40, 0x06, 0x01, 0xc8, 0x01, 0x01, 0x6a,
- 0x02, 0x61, 0x80, 0x00, 0xc8, 0x01, 0xf8, 0x10, 0x06, 0x00, 0x16, 0xf6, 0x04, 0xc0, 0x04, 0xc8,
- 0x04, 0xc9, 0x02, 0x03, 0x08, 0x00, 0xc8, 0x00, 0x01, 0x6a, 0xc1, 0x80, 0x02, 0x66, 0x80, 0x00,
- 0xc1, 0x20, 0xf8, 0x10, 0x81, 0x06, 0x16, 0x15, 0xc2, 0x08, 0x13, 0x06, 0x05, 0x80, 0x06, 0x03,
- 0x16, 0xf2, 0xc2, 0x08, 0x13, 0x0d, 0x10, 0x19, 0x07, 0xa0, 0xf8, 0x10, 0x55, 0x55, 0xc1, 0x20,
- 0xf8, 0x10, 0x02, 0x84, 0x55, 0x55, 0x16, 0x02, 0xc2, 0x06, 0x10, 0xf0, 0x81, 0x06, 0x13, 0xee,
- 0x04, 0x5b, 0x07, 0xa0, 0xf8, 0x10, 0x55, 0x55, 0xc1, 0x60, 0xf8, 0x10, 0x81, 0x05, 0x13, 0x03,
- 0x02, 0x85, 0x55, 0x55, 0x16, 0xf5, 0xc2, 0x08, 0x13, 0xe1, 0xc2, 0x40, 0x06, 0x09, 0x02, 0x48,
- 0x07, 0xff, 0x04, 0xc0, 0x02, 0x01, 0x00, 0x08, 0x02, 0x02, 0x12, 0x00, 0x02, 0x03, 0x01, 0x00,
- 0xc8, 0x00, 0x01, 0x6a, 0xc8, 0x32, 0xf8, 0x10, 0x05, 0x80, 0x06, 0x03, 0x16, 0xf9, 0x02, 0x22,
- 0x02, 0x00, 0x06, 0x01, 0x16, 0xf3, 0x02, 0x88, 0x00, 0x40, 0x15, 0x13, 0x02, 0x89, 0x00, 0x4f,
- 0x11, 0x10, 0x04, 0xc0, 0x02, 0x02, 0x12, 0x00, 0x02, 0x01, 0x00, 0x08, 0x02, 0x03, 0x01, 0x00,
- 0xcc, 0x80, 0x06, 0x03, 0x16, 0xfd, 0x02, 0x22, 0x02, 0x00, 0x06, 0x01, 0x16, 0xf7, 0x05, 0xcb,
- 0x04, 0x5b, 0x07, 0xa0, 0x01, 0x04, 0x00, 0x37, 0x04, 0x5b, 0x28, 0x43, 0x29, 0x31, 0x39, 0x38,
- 0x33, 0x2d, 0x38, 0x38, 0x20, 0x42, 0x59, 0x20, 0x54, 0x49, 0xc2, 0x4b, 0x02, 0xa8, 0x00, 0x98,
- 0x07, 0x83, 0x00, 0x02, 0x02, 0x28, 0x00, 0x08, 0xc6, 0x23, 0xe4, 0xf6, 0x06, 0x48, 0xc0, 0xc4,
- 0x0a, 0x73, 0x17, 0x65, 0x06, 0xa0, 0xf7, 0xc4, 0xc1, 0xc8, 0x05, 0xc7, 0x02, 0x03, 0x00, 0xa5,
- 0x03, 0xb0, 0xcd, 0xf8, 0xcd, 0xf8, 0x02, 0xa6, 0x62, 0x06, 0x02, 0x88, 0x00, 0x0a, 0x16, 0x57,
- 0x29, 0x03, 0x16, 0x55, 0x29, 0x05, 0x80, 0xc4, 0x16, 0x52, 0x09, 0x15, 0x17, 0x50, 0x09, 0x15,
- 0x18, 0x4e, 0x02, 0x85, 0x00, 0x29, 0x16, 0x4b, 0x05, 0xc6, 0x00, 0x96, 0x07, 0x03, 0x04, 0xc4,
- 0x06, 0x45, 0x00, 0x95, 0x05, 0x44, 0x16, 0x43, 0x81, 0x44, 0x16, 0x41, 0x03, 0x00, 0x00, 0x05,
- 0x02, 0xc4, 0x03, 0x00, 0x00, 0x0a, 0x02, 0x44, 0x00, 0x0f, 0x02, 0x84, 0x00, 0x05, 0x16, 0x37,
- 0x02, 0xc4, 0x03, 0x00, 0x00, 0x0f, 0x02, 0x44, 0x00, 0x0f, 0x02, 0x84, 0x00, 0x0a, 0x16, 0x2f,
- 0x02, 0x04, 0xff, 0xfe, 0x13, 0x2c, 0x15, 0x2b, 0x1a, 0x2a, 0x05, 0x84, 0x12, 0x28, 0x15, 0x27,
- 0x1a, 0x26, 0x18, 0x25, 0x05, 0x84, 0x16, 0x23, 0x1b, 0x22, 0x17, 0x21, 0x05, 0x84, 0x13, 0x1f,
- 0x1a, 0x1e, 0x11, 0x1d, 0x06, 0x04, 0x16, 0x1b, 0x02, 0xa5, 0xc1, 0xc5, 0x02, 0x25, 0x00, 0x06,
- 0x02, 0x03, 0xa5, 0xa5, 0xc1, 0x83, 0x00, 0x95, 0x38, 0x03, 0x00, 0x94, 0x02, 0x83, 0x6b, 0x2e,
- 0x16, 0x0e, 0x02, 0x84, 0x1c, 0x59, 0x16, 0x0b, 0x02, 0x24, 0x00, 0x69, 0x00, 0x95, 0x3c, 0x03,
- 0x00, 0x94, 0x81, 0x83, 0x16, 0x04, 0x02, 0x84, 0x00, 0x69, 0x16, 0x01, 0x05, 0xc9, 0x04, 0x59,
- 0xd0, 0xc3, 0x13, 0xfd, 0x1c, 0x01, 0x10, 0xfb, 0x90, 0xe0, 0xe4, 0xfd, 0x16, 0xf8, 0x06, 0xc3,
- 0xd0, 0xc3, 0x1c, 0xf5, 0x16, 0xf4, 0x90, 0xe0, 0xe4, 0xfa, 0x16, 0xf1, 0x04, 0x5b, 0xc3, 0x0b,
- 0x02, 0x09, 0xe4, 0xfe, 0x06, 0xa0, 0xf1, 0x50, 0x05, 0xcc, 0x04, 0x5c, 0x07, 0x88, 0xb0, 0x00,
- 0x07, 0x89, 0xff, 0xfe, 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a, 0xe0, 0x02, 0x06, 0xa0, 0xf4, 0x42,
- 0x00, 0x00, 0x07, 0x88, 0xa0, 0x00, 0x07, 0x89, 0xaf, 0xfe, 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a,
- 0xe0, 0x78, 0x06, 0xa0, 0xf4, 0x42, 0x00, 0x00, 0x06, 0xa0, 0xf6, 0xde, 0x00, 0x00, 0x10, 0xe6,
- 0x10, 0xe5, 0x00, 0x00, 0xf8, 0x26, 0x07, 0x93, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb8, 0x00, 0x48,
- 0x28, 0x43, 0x29, 0x31, 0x39, 0x38, 0x33, 0x2d, 0x38, 0x39, 0x2c, 0x39, 0x30, 0x2d, 0x39, 0x34,
- 0x20, 0x54, 0x65, 0x78, 0x61, 0x73, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e,
- 0x74, 0x73, 0x0a, 0x28, 0x43, 0x29, 0x31, 0x39, 0x38, 0x33, 0x2c, 0x34, 0x2c, 0x35, 0x2c, 0x36,
- 0x20, 0x49, 0x42, 0x4d, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xa0, 0x34, 0xff, 0xb8, 0x00, 0x80, 0xb0, 0x3e, 0x20, 0x00, 0x90, 0x00, 0x0d, 0xd2, 0x45, 0x4f,
- 0x20, 0x56, 0x32, 0x32, 0x38, 0x2e, 0x31, 0x30, 0x2e, 0x31, 0x38, 0x20, 0x20, 0x28, 0x43, 0x29,
- 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4f, 0x6c, 0x69, 0x63, 0x6f,
- 0x6d, 0x20, 0x31, 0x39, 0x39, 0x38, 0x2e, 0x00, 0x03, 0x00, 0x00, 0x02, 0xc0, 0xa0, 0x01, 0x6a,
- 0xc3, 0x0e, 0x09, 0xac, 0xc8, 0x0c, 0x01, 0x6a, 0xc3, 0x0e, 0x02, 0x4c, 0x03, 0xff, 0xd8, 0xec,
- 0xf8, 0x00, 0x13, 0xc0, 0x05, 0x83, 0x02, 0x43, 0x00, 0x3f, 0xd8, 0xec, 0xf8, 0x01, 0x13, 0xc0,
- 0xc8, 0x02, 0x01, 0x6a, 0x05, 0xce, 0x03, 0x90, 0xef, 0xff, 0x03, 0x80, 0x11, 0x08, 0xc3, 0xbc,
- 0xdf, 0xbc, 0x06, 0x0d, 0x16, 0xfd, 0x05, 0x8c, 0x01, 0x8c, 0x00, 0x01, 0x10, 0x12, 0xc3, 0xbc,
- 0xc3, 0xfc, 0x01, 0x8d, 0x80, 0x00, 0x13, 0x0d, 0x01, 0x0d, 0x40, 0x00, 0x16, 0x04, 0xdf, 0x8f,
- 0x06, 0x0d, 0x16, 0xfd, 0x10, 0x06, 0x01, 0x8d, 0x40, 0x01, 0x13, 0x03, 0xcf, 0x8f, 0x06, 0x4d,
- 0x16, 0xfd, 0xc3, 0x7c, 0x16, 0xe3, 0x04, 0x5b, 0xc1, 0x60, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78,
- 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x0e,
- 0xc8, 0x0d, 0x01, 0x6c, 0x07, 0x0f, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02,
- 0x88, 0x0f, 0xfc, 0x06, 0x13, 0xf8, 0xd8, 0x20, 0xe0, 0x0a, 0xfc, 0x06, 0xc8, 0x05, 0x01, 0x6c,
- 0x07, 0x8f, 0xfc, 0x00, 0xc1, 0x5f, 0x13, 0xe0, 0x04, 0xff, 0x07, 0xbf, 0x81, 0x00, 0x07, 0x20,
- 0xff, 0xfe, 0xc7, 0xc2, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0,
- 0x01, 0x03, 0x13, 0xf8, 0xc2, 0x8a, 0x16, 0x23, 0xc8, 0x0d, 0x01, 0x8c, 0xc2, 0xcd, 0xc3, 0x20,
- 0x01, 0x6c, 0x07, 0x8a, 0x00, 0x01, 0xd2, 0x8e, 0x15, 0x2d, 0x05, 0xa0, 0x10, 0x84, 0x07, 0x8d,
- 0x01, 0x04, 0x01, 0x5d, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9d, 0xde, 0x8c, 0x10, 0x25, 0x01, 0x5d,
- 0x01, 0x00, 0x16, 0x22, 0xc3, 0xdd, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x4f,
- 0x01, 0x5d, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xe0, 0x07, 0x78, 0x80, 0x00, 0x10, 0x15, 0xc3, 0xe0,
- 0x01, 0x6c, 0xc8, 0x09, 0x01, 0x6c, 0x13, 0x08, 0xc8, 0x0d, 0xfc, 0x00, 0xc2, 0x4f, 0x05, 0x87,
- 0xf1, 0xce, 0xc3, 0x8e, 0x11, 0xda, 0x10, 0x06, 0xc2, 0x0d, 0xc2, 0x4f, 0x07, 0x87, 0x00, 0x01,
- 0xd1, 0xce, 0x11, 0xd3, 0x05, 0xa0, 0x10, 0x84, 0xc8, 0x06, 0x07, 0x92, 0x07, 0x81, 0x01, 0x0a,
- 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x04, 0xc8, 0x05, 0x01, 0x6c, 0x07, 0x20, 0xfc, 0x06,
- 0x03, 0x90, 0xa0, 0x07, 0x02, 0xe0, 0x07, 0x78, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xcc, 0x66,
- 0x00, 0x04, 0xcc, 0x43, 0xcc, 0x76, 0xcc, 0x76, 0xc8, 0x44, 0x00, 0x02, 0xc4, 0x45, 0x07, 0xa1,
- 0xff, 0xee, 0x60, 0x81, 0xc3, 0x45, 0xc0, 0xb6, 0x80, 0xc2, 0x1b, 0x63, 0xc3, 0x96, 0x04, 0xf6,
- 0x02, 0x46, 0xfe, 0xf8, 0x01, 0x4e, 0x40, 0x00, 0x16, 0x02, 0x04, 0x60, 0x90, 0xaa, 0x07, 0x81,
- 0x01, 0x0a, 0xa1, 0x02, 0xc0, 0x83, 0x02, 0x22, 0x00, 0x06, 0x60, 0x84, 0x15, 0x25, 0x07, 0x84,
- 0x00, 0x06, 0xc0, 0x83, 0xc8, 0x05, 0x01, 0x6c, 0xc8, 0x02, 0xfc, 0x04, 0x07, 0xa0, 0xfc, 0x02,
- 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0xc1, 0x60, 0x01, 0x6c, 0xc8, 0x06, 0x07, 0x92, 0x02, 0xe0,
- 0x07, 0x78, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xc8, 0x05, 0x01, 0x6c, 0xc1, 0x60, 0xfc, 0x00,
- 0x16, 0x16, 0x10, 0xf1, 0xc8, 0x06, 0x07, 0x92, 0x03, 0x90, 0x80, 0x03, 0x02, 0xe0, 0x07, 0x78,
- 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0x10, 0x0b, 0xc3, 0xe6, 0x00, 0x06, 0x13, 0xf3, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xcc, 0x66,
- 0x00, 0x04, 0xcc, 0x42, 0xcc, 0x76, 0xcc, 0x76, 0xc8, 0x44, 0x00, 0x02, 0xc4, 0x45, 0x07, 0xa1,
- 0xff, 0xee, 0x60, 0x81, 0x05, 0xa0, 0x10, 0x84, 0x65, 0x82, 0x15, 0x0e, 0xa0, 0xb6, 0xc3, 0x96,
- 0x04, 0xf6, 0x02, 0x46, 0xfe, 0xf8, 0x01, 0x4e, 0x40, 0x00, 0x16, 0xb1, 0xa0, 0x84, 0x07, 0x84,
- 0x00, 0x06, 0x60, 0x84, 0x04, 0x60, 0x90, 0xaa, 0x02, 0x26, 0xff, 0xfc, 0xc0, 0x36, 0xc0, 0x76,
- 0x10, 0x06, 0x02, 0x26, 0xff, 0xfa, 0xc0, 0x36, 0xc0, 0x76, 0xc0, 0x83, 0x65, 0x82, 0x07, 0x84,
- 0x00, 0x06, 0xa0, 0x42, 0x17, 0x01, 0x05, 0x80, 0xc8, 0x05, 0x01, 0x6c, 0x07, 0x8f, 0xfc, 0x00,
- 0xc1, 0x7f, 0x16, 0x09, 0xc1, 0x60, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b,
- 0x02, 0xe0, 0x08, 0x5c, 0x10, 0xf1, 0x07, 0xbf, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0xc7, 0xc3,
- 0xc0, 0xb6, 0xc3, 0x96, 0x04, 0xf6, 0x02, 0x46, 0xfe, 0xf8, 0x27, 0xa0, 0x08, 0x98, 0x13, 0x0d,
- 0xc3, 0xc5, 0xc8, 0x0e, 0x08, 0x8e, 0xc3, 0xa0, 0x08, 0x90, 0xc0, 0xee, 0xff, 0xfe, 0x05, 0xa0,
- 0x08, 0xa0, 0x16, 0x32, 0x05, 0xa0, 0x08, 0x9e, 0x10, 0x2f, 0x07, 0x83, 0x03, 0xf8, 0x06, 0x20,
- 0x08, 0x9c, 0x13, 0x02, 0x04, 0x60, 0x95, 0x0c, 0xc3, 0xe0, 0x08, 0x9a, 0x83, 0xe0, 0x08, 0x98,
- 0x13, 0x08, 0xc8, 0x0f, 0x08, 0x98, 0x04, 0xe0, 0x08, 0x9e, 0x04, 0xe0, 0x08, 0xa0, 0x27, 0x8f,
- 0x16, 0xdf, 0x04, 0x60, 0x95, 0x0c, 0xc8, 0x0f, 0x01, 0x6c, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00,
- 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0xc8, 0x3e, 0xfc, 0x06, 0xc3, 0xe0, 0xfc, 0x00,
- 0x16, 0x0b, 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0,
- 0x08, 0x5c, 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0x60, 0x9e, 0x87, 0x82, 0x15, 0xe4, 0xa0, 0x9e,
- 0x02, 0x82, 0x00, 0xe0, 0x15, 0x1b, 0x02, 0x82, 0x00, 0x70, 0x15, 0x35, 0xc3, 0xa0, 0x08, 0x8e,
- 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8,
- 0x07, 0x8f, 0x01, 0x0a, 0xcf, 0xc2, 0x07, 0x3f, 0xcf, 0xc0, 0xcf, 0xc1, 0xcb, 0xc4, 0x00, 0x02,
- 0xc7, 0xc5, 0x07, 0xaf, 0xff, 0xee, 0x60, 0x81, 0x04, 0x60, 0x90, 0xaa, 0xc8, 0x0f, 0x01, 0x6c,
- 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0xc3, 0xc2,
- 0x09, 0x2f, 0xa3, 0xcf, 0xc8, 0x0f, 0xfc, 0x06, 0x60, 0x8f, 0xc3, 0xe0, 0xfc, 0x00, 0x16, 0x0b,
- 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c,
- 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0xc8, 0x0f, 0x01, 0x6c, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00,
- 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0x01, 0xc2, 0x80, 0x00, 0xc8, 0x02, 0xfc, 0x06,
- 0xc3, 0xe0, 0xfc, 0x00, 0x16, 0x0b, 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd,
- 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0xc8, 0x0f, 0x01, 0x6c,
- 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0xc3, 0x8f,
- 0xc3, 0xe0, 0xfc, 0x00, 0x16, 0x0b, 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd,
- 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0xc8, 0x05, 0x01, 0x6c,
- 0xc0, 0xa0, 0xfc, 0x06, 0x15, 0x0f, 0x01, 0x82, 0x80, 0x00, 0xc3, 0xc2, 0x06, 0x0f, 0x01, 0x8f,
- 0x00, 0x01, 0xc8, 0x0f, 0x08, 0x5a, 0xc8, 0x0f, 0xfc, 0x04, 0x63, 0xc2, 0x05, 0x0f, 0xc8, 0x0f,
- 0x08, 0x58, 0x10, 0x05, 0x07, 0xa0, 0x00, 0x1a, 0x95, 0x3e, 0xc8, 0x02, 0xfc, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x04, 0xe0,
- 0x01, 0x02, 0x07, 0x8f, 0x01, 0x0a, 0x07, 0x3f, 0xcf, 0xc2, 0xcf, 0xc0, 0xcf, 0xc1, 0xcb, 0xc4,
- 0x00, 0x02, 0xc7, 0xc5, 0x07, 0xaf, 0xff, 0xee, 0x68, 0x81, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00,
- 0x16, 0x05, 0xc8, 0x0d, 0x01, 0x6c, 0xd8, 0x20, 0xe0, 0x0a, 0xfc, 0x06, 0xc2, 0x8a, 0x16, 0x13,
- 0xc8, 0x0d, 0x01, 0x8c, 0xc2, 0xcd, 0xc3, 0x0e, 0x07, 0x8a, 0x00, 0x01, 0xc3, 0xa0, 0x08, 0x8e,
- 0xd2, 0x8e, 0x03, 0x00, 0x00, 0x0f, 0x01, 0x60, 0x01, 0x00, 0x08, 0x00, 0x13, 0xfc, 0x03, 0x00,
- 0x00, 0x02, 0x04, 0x60, 0x91, 0x54, 0xc8, 0x09, 0x01, 0x6c, 0x13, 0x08, 0xc8, 0x0d, 0xfc, 0x00,
- 0xc2, 0x4e, 0x05, 0x87, 0xc3, 0xa0, 0x08, 0x8e, 0xf1, 0xce, 0x10, 0xeb, 0xc2, 0x0d, 0xc2, 0x4e,
- 0x07, 0x87, 0x00, 0x01, 0xc3, 0xa0, 0x08, 0x8e, 0xd1, 0xce, 0x10, 0xe3, 0xa0, 0x43, 0x17, 0x01,
- 0x05, 0x80, 0xc8, 0x05, 0x01, 0x6c, 0x07, 0x8f, 0xfc, 0x00, 0xc1, 0x7f, 0x16, 0x09, 0xc1, 0x60,
- 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0x10, 0xf1,
- 0x07, 0xbf, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0xc7, 0xc3, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0,
- 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x07, 0x8f, 0x01, 0x0a, 0xcf, 0xc2,
- 0xcf, 0xc3, 0xcf, 0xc0, 0xcf, 0xc1, 0xcb, 0xc4, 0x00, 0x02, 0xc7, 0xc5, 0x07, 0xaf, 0xff, 0xee,
- 0x60, 0x81, 0x60, 0x83, 0x15, 0xd3, 0xa0, 0x83, 0x04, 0x60, 0x91, 0xb6, 0x03, 0x00, 0x00, 0x02,
- 0xc8, 0x0c, 0x01, 0x6a, 0xc3, 0x20, 0xf8, 0x00, 0xc8, 0x0c, 0x01, 0x6a, 0xc1, 0xa0, 0xf8, 0x06,
- 0x11, 0x10, 0xc8, 0x06, 0xf8, 0x04, 0x04, 0xe4, 0xff, 0xf6, 0xcd, 0x06, 0x02, 0x24, 0x00, 0x04,
- 0xc9, 0x0b, 0x00, 0x02, 0xc5, 0x0c, 0x07, 0xa4, 0xff, 0xee, 0x68, 0x81, 0x03, 0x90, 0x0a, 0x07,
- 0x03, 0x80, 0x01, 0x86, 0x80, 0x00, 0xc1, 0x46, 0x06, 0x06, 0x01, 0x86, 0x00, 0x01, 0xc8, 0x06,
- 0xf8, 0x04, 0x04, 0xe4, 0xff, 0xf6, 0xcd, 0x05, 0x02, 0x24, 0x00, 0x04, 0xc9, 0x0b, 0x00, 0x02,
- 0xc5, 0x0c, 0x07, 0xa4, 0xff, 0xee, 0x68, 0x81, 0x61, 0x46, 0x07, 0xa0, 0x00, 0x1a, 0x95, 0xa8,
- 0x03, 0x90, 0x08, 0x07, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc8, 0x0c, 0x01, 0x6a, 0xc1, 0xa6,
- 0xf8, 0x06, 0xc3, 0x20, 0xf8, 0x00, 0xc8, 0x0c, 0x01, 0x6a, 0xc8, 0x06, 0xf8, 0x06, 0xc8, 0x05,
- 0xf8, 0x04, 0xc3, 0x20, 0xf8, 0x00, 0x04, 0xe0, 0xf8, 0x00, 0x07, 0xa0, 0xf8, 0x02, 0x81, 0x00,
- 0x07, 0x20, 0xfb, 0xfe, 0x07, 0xa0, 0x01, 0x00, 0x20, 0x81, 0x03, 0x90, 0x02, 0x07, 0x03, 0x80,
- 0xc2, 0x84, 0xc3, 0x0a, 0xc8, 0x0a, 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x02, 0x81, 0x00, 0x13, 0x09,
- 0x01, 0x20, 0xf8, 0x02, 0xfe, 0x00, 0x16, 0x0a, 0xc2, 0xa0, 0xf8, 0x00, 0x16, 0xf2, 0x06, 0xa0,
- 0x97, 0xb6, 0xc2, 0xa0, 0xf8, 0x00, 0x16, 0xee, 0x06, 0xa0, 0x97, 0xb6, 0xc2, 0xa0, 0xf8, 0x02,
- 0x11, 0x09, 0x01, 0x0a, 0x02, 0x00, 0x16, 0x55, 0x01, 0x0a, 0x14, 0x00, 0x13, 0x5f, 0x01, 0x4a,
- 0x10, 0x00, 0x16, 0x33, 0x07, 0x0a, 0x26, 0xa0, 0x08, 0x9e, 0x16, 0x02, 0xc2, 0xa0, 0x08, 0xa0,
- 0x09, 0x5a, 0x05, 0x0a, 0x02, 0x2a, 0x08, 0x10, 0xc8, 0x0a, 0x08, 0x9c, 0x04, 0xe0, 0x08, 0x98,
- 0x07, 0x8a, 0x7f, 0xfe, 0x98, 0x0a, 0x07, 0x2c, 0x13, 0x0a, 0x98, 0x0a, 0x07, 0x20, 0x13, 0x07,
- 0x06, 0xca, 0x98, 0x0a, 0x07, 0x2c, 0x13, 0x03, 0x98, 0x0a, 0x07, 0x20, 0x16, 0x0a, 0x01, 0xe0,
- 0x06, 0xd2, 0x08, 0x00, 0x01, 0xe0, 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0, 0x06, 0x30, 0x04, 0xcb,
- 0x10, 0x0c, 0x07, 0x8a, 0x01, 0x00, 0xb8, 0x0a, 0x07, 0x2c, 0x17, 0x02, 0x78, 0x0a, 0x07, 0x2c,
- 0xb8, 0x0a, 0x07, 0x20, 0x17, 0x02, 0x78, 0x0a, 0x07, 0x20, 0xc2, 0xa0, 0xfb, 0xfe, 0x02, 0x4a,
- 0x01, 0x00, 0x01, 0xca, 0x80, 0x00, 0xc8, 0x0a, 0xf8, 0x02, 0xc8, 0x0c, 0x01, 0x6a, 0xc2, 0xa0,
- 0xf8, 0x02, 0x11, 0x07, 0x07, 0xa0, 0xf8, 0x02, 0x80, 0x00, 0xc8, 0x20, 0xf8, 0x00, 0x01, 0x6a,
- 0x10, 0xf6, 0x07, 0x8a, 0x01, 0x8c, 0xc6, 0x8c, 0xc2, 0xcb, 0x03, 0x90, 0xff, 0xdf, 0x13, 0x32,
- 0x03, 0x80, 0x01, 0x4a, 0x06, 0x00, 0x13, 0x0a, 0x01, 0xe0, 0x06, 0xd2, 0x02, 0x00, 0x01, 0xe0,
- 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0, 0x06, 0x30, 0x01, 0xcb, 0x00, 0x01, 0x88, 0x05, 0x01, 0x6a,
- 0x13, 0x1a, 0xc3, 0x20, 0xfb, 0xfe, 0x16, 0x08, 0x04, 0xe0, 0xf8, 0x02, 0xc8, 0x20, 0xf8, 0x00,
- 0x01, 0x6a, 0x16, 0xf4, 0x06, 0xa0, 0x97, 0xb6, 0xd2, 0xa0, 0xe0, 0x12, 0xc8, 0x0a, 0xf8, 0x02,
- 0xc3, 0x20, 0xf8, 0x00, 0x13, 0x06, 0xc2, 0xa0, 0xf8, 0x02, 0x11, 0xd3, 0xc2, 0x8c, 0x04, 0x60,
- 0x95, 0xe6, 0x06, 0xa0, 0x97, 0xb6, 0xc8, 0x0a, 0xf8, 0x02, 0x07, 0x8a, 0x01, 0x8c, 0x01, 0x4b,
- 0x00, 0x01, 0x04, 0x5b, 0x07, 0x8b, 0x00, 0xda, 0xce, 0xcd, 0xce, 0xce, 0xc6, 0xcf, 0x02, 0xe0,
- 0x00, 0xc0, 0x04, 0x54, 0x06, 0xa0, 0x95, 0xe2, 0x16, 0x25, 0xc0, 0x82, 0x13, 0x0b, 0xc6, 0x81,
- 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2,
- 0xc0, 0xc0, 0x10, 0xe8, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x04, 0xc3,
- 0x10, 0xe1, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x86, 0x8a, 0x01, 0x60,
- 0x01, 0x9c, 0x40, 0x00, 0x16, 0xf6, 0x86, 0x8a, 0xc8, 0x05, 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x02,
- 0xfe, 0x00, 0x16, 0xd8, 0xc0, 0x82, 0x13, 0x0d, 0xc6, 0x81, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04,
- 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2, 0xc0, 0xc0, 0x03, 0x90, 0x00, 0x1f,
- 0x03, 0x80, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x04, 0xc3, 0x03, 0x90,
- 0x00, 0x1f, 0x03, 0x80, 0x02, 0xe0, 0x08, 0x6a, 0xc2, 0x8b, 0x02, 0x2a, 0xff, 0xfc, 0x04, 0x60,
- 0xb3, 0x8a, 0xc0, 0x82, 0x13, 0x07, 0xc6, 0x81, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00,
- 0xc2, 0x45, 0x10, 0x06, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x04, 0xc0,
- 0x06, 0xa0, 0x99, 0x16, 0xc0, 0xc0, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2, 0x10, 0x9b, 0x03, 0x90,
- 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x86, 0x8a, 0x01, 0x60, 0x01, 0x9c, 0x40, 0x00,
- 0x16, 0xf6, 0x86, 0x8a, 0xc8, 0x05, 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x02, 0xfe, 0x00, 0x13, 0x03,
- 0x06, 0xa0, 0x95, 0xe2, 0x13, 0xd6, 0xc0, 0x82, 0x13, 0x07, 0xc6, 0x81, 0xc8, 0x09, 0x01, 0x6a,
- 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x10, 0x06, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00,
- 0xc2, 0x45, 0x04, 0xc0, 0x06, 0xa0, 0x99, 0x16, 0xc0, 0xc0, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2,
- 0x03, 0x90, 0x00, 0x1f, 0x03, 0x80, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02,
- 0x88, 0x08, 0x01, 0x8c, 0x01, 0x60, 0x01, 0x9c, 0x40, 0x00, 0x16, 0xf5, 0x88, 0x08, 0x01, 0x8c,
- 0xc0, 0xe0, 0x01, 0x6c, 0xc2, 0x20, 0x05, 0xf4, 0x13, 0x02, 0x04, 0x60, 0xb9, 0x4c, 0x02, 0xe0,
- 0x08, 0x6a, 0x01, 0x03, 0x00, 0xff, 0x13, 0x11, 0x01, 0x43, 0x04, 0x00, 0x13, 0x0e, 0xc8, 0x09,
- 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x60, 0x08, 0x96, 0x02, 0x85, 0x97, 0xf6,
- 0x16, 0x02, 0x06, 0xa0, 0x99, 0x16, 0x02, 0x43, 0x03, 0x00, 0x02, 0xe0, 0x00, 0xe0, 0x01, 0x20,
- 0x08, 0x70, 0x01, 0x00, 0x16, 0x2f, 0xc2, 0x20, 0x05, 0xf4, 0x16, 0x2c, 0xc2, 0x60, 0x05, 0xf0,
- 0x13, 0x12, 0xc8, 0x19, 0x05, 0xf0, 0xc2, 0xa9, 0x00, 0x0a, 0x11, 0x02, 0xf2, 0xa0, 0x09, 0x2e,
- 0xd8, 0x0a, 0x01, 0x80, 0xc8, 0x29, 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04,
- 0xc8, 0x09, 0x05, 0xf4, 0x10, 0x17, 0x02, 0xe0, 0x08, 0x6a, 0x01, 0x83, 0x06, 0x00, 0x16, 0x05,
- 0xc1, 0x42, 0x13, 0x08, 0xc0, 0xc0, 0xc1, 0x01, 0x04, 0xc2, 0xd8, 0x20, 0x09, 0x2e, 0x01, 0x80,
- 0xc8, 0x04, 0x01, 0x8c, 0x02, 0xe0, 0x00, 0xe0, 0x07, 0xa0, 0x00, 0x14, 0x08, 0x6a, 0xc8, 0x20,
- 0x08, 0x96, 0x00, 0x16, 0xc8, 0x03, 0x01, 0x6c, 0x11, 0x03, 0x03, 0x90, 0x11, 0xff, 0x03, 0x80,
- 0x04, 0x60, 0xb9, 0xc0, 0xc8, 0x04, 0x01, 0x6a, 0x10, 0x03, 0xc8, 0x20, 0xf8, 0x00, 0x01, 0x6a,
- 0xc3, 0x20, 0xf8, 0x02, 0x01, 0x4c, 0x01, 0x00, 0x16, 0xf8, 0xc1, 0x60, 0x10, 0x86, 0x02, 0x45,
- 0x00, 0x1f, 0x06, 0xcc, 0xd9, 0x4c, 0x10, 0x88, 0x13, 0x0d, 0x05, 0xa0, 0x10, 0x86, 0x06, 0x03,
- 0x01, 0x03, 0x00, 0xff, 0x13, 0x52, 0xc1, 0x20, 0xf8, 0x00, 0xc8, 0x04, 0x01, 0x6a, 0x16, 0xe8,
- 0x06, 0xa0, 0x97, 0xb6, 0x01, 0x0c, 0x00, 0xfe, 0x16, 0xf0, 0xc3, 0x20, 0x01, 0x6a, 0xc8, 0x04,
- 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x0e, 0x80, 0x00, 0x13, 0x07, 0xc1, 0x20, 0xf8, 0x14, 0x01, 0x84,
- 0x60, 0xff, 0x02, 0x84, 0x02, 0x00, 0x1b, 0x33, 0xc1, 0x20, 0xf8, 0x08, 0x11, 0x0c, 0x88, 0x20,
- 0xf8, 0x0c, 0x01, 0xa4, 0x16, 0x2f, 0x88, 0x20, 0xf8, 0x0a, 0x01, 0xa2, 0x16, 0x2b, 0x88, 0x04,
- 0x01, 0xa0, 0x13, 0x25, 0x10, 0x27, 0xc1, 0x20, 0xf8, 0x0a, 0x11, 0x09, 0x25, 0x20, 0x01, 0xac,
- 0x16, 0x1e, 0xc1, 0x20, 0xf8, 0x0c, 0x25, 0x20, 0x01, 0xae, 0x16, 0x19, 0x10, 0x1b, 0x02, 0x84,
- 0xff, 0xff, 0x16, 0x0a, 0x88, 0x04, 0xf8, 0x0c, 0x16, 0x07, 0x41, 0x20, 0xf8, 0x08, 0x13, 0x0f,
- 0x02, 0x84, 0x3f, 0xff, 0x13, 0x0c, 0x10, 0x0e, 0x88, 0x04, 0x01, 0xa8, 0x16, 0x0b, 0x88, 0x20,
- 0xf8, 0x0c, 0x01, 0xaa, 0x16, 0x07, 0x88, 0x20, 0xf8, 0x08, 0x01, 0xa6, 0x16, 0x03, 0xd9, 0x60,
- 0xee, 0xa8, 0x10, 0x88, 0xc8, 0x0c, 0x01, 0x6a, 0x10, 0xa8, 0x01, 0x43, 0x20, 0x00, 0x16, 0x07,
- 0x07, 0x85, 0x01, 0x04, 0x01, 0x55, 0x21, 0x00, 0x16, 0x03, 0x07, 0x95, 0xde, 0x8c, 0x04, 0x5b,
- 0x01, 0x55, 0x01, 0x00, 0x16, 0xfc, 0xc1, 0x15, 0x01, 0xc4, 0xff, 0x00, 0x01, 0x84, 0x04, 0x80,
- 0xc5, 0x44, 0x01, 0x55, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xe0, 0x07, 0x78, 0x80, 0x00, 0x04, 0x5b,
- 0x03, 0x00, 0x00, 0x02, 0xc2, 0x0b, 0xc3, 0x20, 0x05, 0xf4, 0x16, 0x08, 0xc3, 0x20, 0x08, 0x70,
- 0x01, 0x0c, 0x00, 0xff, 0x13, 0x1a, 0x01, 0x4c, 0x04, 0x00, 0x13, 0x17, 0xc2, 0xa8, 0x00, 0x0a,
- 0x01, 0x4a, 0x00, 0x10, 0x16, 0x46, 0x01, 0x4a, 0x80, 0x00, 0x16, 0x19, 0xc3, 0x08, 0x06, 0xa0,
- 0x9a, 0xf4, 0xc2, 0x0c, 0xc3, 0x20, 0x05, 0xf4, 0x16, 0x12, 0xc3, 0x20, 0x08, 0x70, 0x01, 0x0c,
- 0x00, 0xff, 0x13, 0x03, 0x01, 0x4c, 0x04, 0x00, 0x16, 0x0a, 0x01, 0x68, 0x00, 0x0a, 0x00, 0x10,
- 0x13, 0x03, 0x01, 0x0c, 0x01, 0x00, 0x16, 0x2d, 0x06, 0xa0, 0xbc, 0x40, 0x10, 0x04, 0x07, 0x87,
- 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x8a, 0x01, 0xe0, 0x08, 0x70, 0x02, 0x00, 0x07, 0xa0, 0x00, 0x14,
- 0x00, 0xe0, 0x07, 0xa0, 0x00, 0x16, 0x98, 0x4e, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xa8, 0xc3,
- 0xa9, 0xa0, 0xcf, 0xec, 0xe9, 0xe3, 0xef, 0xed, 0xa0, 0xb1, 0xb9, 0xb9, 0xb6, 0x00, 0x03, 0x00,
- 0x00, 0x02, 0xc2, 0x20, 0x08, 0x70, 0x16, 0x0c, 0xd8, 0x20, 0x09, 0x2e, 0x01, 0x80, 0xc8, 0x2b,
- 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04, 0xc8, 0x0b, 0x05, 0xf4, 0x10, 0x05,
- 0xc2, 0x0b, 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x44, 0x01, 0xe0, 0x08, 0x70, 0x02, 0x00,
- 0x07, 0xa0, 0x00, 0x14, 0x00, 0xe0, 0x07, 0xa0, 0x00, 0x16, 0x98, 0x4e, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0xc2, 0x20, 0x05, 0xf4, 0x13, 0x02, 0x04, 0x60, 0xbc, 0x04, 0x02, 0xa8, 0xc8, 0x08,
- 0x08, 0x84, 0x02, 0xe0, 0x08, 0x6a, 0x01, 0x03, 0x00, 0xff, 0x13, 0x22, 0x01, 0x43, 0x04, 0x00,
- 0x13, 0x1f, 0x01, 0xe0, 0x01, 0x9c, 0x40, 0x00, 0x0b, 0xab, 0x0b, 0xab, 0x01, 0x60, 0x01, 0x9c,
- 0x40, 0x00, 0x16, 0x16, 0xc8, 0x04, 0x01, 0x6a, 0xc2, 0xe0, 0xf8, 0x02, 0x11, 0x0f, 0xc8, 0x09,
- 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x60, 0x08, 0x96, 0x02, 0x85, 0x97, 0xf6,
- 0x16, 0x02, 0x06, 0xa0, 0x99, 0x16, 0x02, 0x43, 0x03, 0x00, 0x10, 0x02, 0x01, 0xc3, 0x04, 0x00,
- 0x00, 0x9d, 0x04, 0x5b, 0x03, 0x00, 0x00, 0x02, 0x07, 0x87, 0x05, 0xf0, 0xc2, 0xcb, 0x16, 0x0f,
- 0x06, 0xa0, 0x9a, 0xf4, 0x01, 0xe0, 0x08, 0x70, 0x01, 0x00, 0x07, 0xa0, 0x00, 0x14, 0x00, 0xe0,
- 0x07, 0xa0, 0x00, 0x16, 0x98, 0x4e, 0xcb, 0x60, 0x05, 0xf4, 0x00, 0x02, 0x03, 0x80, 0xc2, 0x20,
- 0x08, 0x70, 0x01, 0x88, 0x01, 0x00, 0xc8, 0x08, 0x08, 0x70, 0x01, 0x08, 0x04, 0x00, 0x16, 0x03,
- 0x01, 0x08, 0x00, 0xff, 0x16, 0x08, 0xc2, 0x20, 0x05, 0xf4, 0x16, 0x05, 0xc2, 0x17, 0x13, 0x04,
- 0xc5, 0xd8, 0x06, 0xa0, 0xbc, 0x40, 0x03, 0x80, 0x02, 0xe0, 0x08, 0x6a, 0x01, 0x83, 0x06, 0x00,
- 0x16, 0x05, 0xc1, 0x42, 0x13, 0x08, 0xc0, 0xc0, 0xc1, 0x01, 0x04, 0xc2, 0xd8, 0x20, 0x09, 0x2e,
- 0x01, 0x80, 0xc8, 0x04, 0x01, 0x8c, 0x02, 0xe0, 0x00, 0xc0, 0x07, 0xa0, 0x00, 0x14, 0x08, 0x6a,
- 0xc8, 0x20, 0x08, 0x96, 0x00, 0x16, 0x03, 0x80, 0xc8, 0x01, 0x01, 0x6a, 0x13, 0x05, 0xc2, 0xe0,
- 0xf8, 0x02, 0x11, 0x02, 0x06, 0xa0, 0x97, 0xb6, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x13, 0x01,
- 0x03, 0x80, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0xc0, 0x41, 0x13, 0x04, 0xc8, 0x01, 0x01, 0x8a,
- 0xc8, 0x01, 0x09, 0x18, 0x07, 0x85, 0x00, 0x43, 0x01, 0x20, 0x0c, 0x06, 0x00, 0xc0, 0x16, 0x20,
- 0xc2, 0x20, 0x0c, 0x02, 0x06, 0x08, 0x01, 0x08, 0xfe, 0x03, 0x16, 0x1a, 0x07, 0x8a, 0x00, 0x24,
- 0x62, 0xa0, 0x0c, 0x04, 0xc8, 0x0a, 0x0c, 0x04, 0x07, 0x87, 0x06, 0x30, 0x01, 0xe7, 0x00, 0x04,
- 0x00, 0x40, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x0c, 0xc2, 0x57, 0x16, 0x04, 0xcd, 0xc5, 0xc5, 0xc5,
- 0x04, 0x60, 0xb9, 0xc0, 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0x10, 0xf7,
- 0x04, 0x60, 0xf8, 0xfe, 0x03, 0x00, 0x00, 0x02, 0xc3, 0x20, 0x01, 0x8a, 0x98, 0x20, 0xe0, 0x10,
- 0x01, 0x83, 0x13, 0xba, 0x01, 0x20, 0x01, 0x9c, 0x00, 0x40, 0x13, 0x02, 0x06, 0xa0, 0xd7, 0xd8,
- 0xc1, 0x41, 0x83, 0x05, 0x16, 0x01, 0x03, 0x80, 0xc8, 0x05, 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02,
- 0x01, 0x40, 0x00, 0x40, 0x16, 0x12, 0x88, 0x01, 0x09, 0x18, 0x16, 0x07, 0xc8, 0x20, 0x09, 0x1a,
- 0x09, 0x18, 0x04, 0xe0, 0x09, 0x1a, 0x01, 0xc0, 0x00, 0x04, 0x01, 0x80, 0x40, 0x40, 0x01, 0x20,
- 0xf8, 0x06, 0x00, 0xc0, 0x16, 0x02, 0x01, 0xc0, 0x40, 0x00, 0x01, 0x48, 0x01, 0x00, 0x16, 0x55,
- 0x01, 0xc0, 0x00, 0x40, 0x01, 0x00, 0x40, 0x04, 0x13, 0x50, 0x01, 0x40, 0x40, 0x00, 0x16, 0x48,
- 0x01, 0xa0, 0x07, 0x78, 0x40, 0x00, 0x01, 0x80, 0x40, 0x00, 0x01, 0x48, 0x00, 0x01, 0x16, 0x3d,
- 0x01, 0x80, 0x00, 0x04, 0xc1, 0x41, 0xc0, 0x60, 0xf8, 0x00, 0x04, 0xe0, 0xf8, 0x00, 0x07, 0x8b,
- 0x03, 0xea, 0x62, 0xe0, 0xf8, 0x04, 0xc8, 0x0b, 0xf8, 0x04, 0x85, 0x05, 0x16, 0x02, 0xc5, 0x01,
- 0x10, 0x10, 0xc8, 0x14, 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x13, 0x06, 0xc8, 0x20, 0xf8, 0x00,
- 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x16, 0xfa, 0xc8, 0x01, 0xf8, 0x00, 0x16, 0x02, 0xc0, 0xa0,
- 0x01, 0x6a, 0x01, 0x08, 0xfe, 0x00, 0x16, 0x4a, 0xc8, 0x05, 0x01, 0x6a, 0x07, 0x87, 0x06, 0x30,
- 0x01, 0xe7, 0x00, 0x04, 0x00, 0x40, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x0c, 0xa1, 0x45, 0xc9, 0x60,
- 0xf8, 0x00, 0x0c, 0x32, 0x04, 0xe0, 0xf8, 0x00, 0x09, 0x15, 0xc2, 0x57, 0x16, 0x31, 0xcd, 0xc5,
- 0xc5, 0xc5, 0x01, 0xc0, 0x00, 0x20, 0xc1, 0x41, 0x10, 0x0e, 0x01, 0x40, 0x00, 0x04, 0x16, 0x05,
- 0x01, 0x80, 0x00, 0x04, 0x01, 0xe0, 0xf8, 0x02, 0x40, 0x00, 0xc1, 0x60, 0xf8, 0x00, 0x01, 0x00,
- 0x40, 0x00, 0x16, 0x01, 0xc0, 0x45, 0x83, 0x05, 0x16, 0x87, 0xc2, 0xe0, 0x09, 0x18, 0x16, 0x10,
- 0x01, 0x00, 0x00, 0x04, 0x16, 0x0d, 0x98, 0x20, 0xe0, 0x10, 0x01, 0x83, 0x13, 0x09, 0x07, 0x8b,
- 0xd7, 0x5e, 0x01, 0x40, 0x00, 0x40, 0x13, 0x02, 0x07, 0x8b, 0xd7, 0xa4, 0xc8, 0x0b, 0x00, 0x12,
- 0x01, 0x00, 0x00, 0x20, 0x16, 0x01, 0x03, 0x80, 0x01, 0x80, 0x00, 0x20, 0x04, 0x60, 0xb9, 0xc0,
- 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0x10, 0xca, 0xc1, 0x81, 0x06, 0xa0,
- 0xf9, 0x32, 0xc1, 0x46, 0x10, 0xd8, 0x05, 0xa0, 0x09, 0x32, 0xc0, 0x41, 0x16, 0x01, 0x03, 0x80,
- 0xc3, 0x20, 0x00, 0x12, 0x04, 0x5c, 0x03, 0x00, 0x00, 0x00, 0x03, 0xb0, 0x10, 0xff, 0x03, 0x80,
- 0x20, 0x00, 0x9d, 0xd2, 0x02, 0x2f, 0x00, 0x00, 0x20, 0x00, 0xc7, 0x46, 0x00, 0x88, 0xc0, 0x60,
- 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02, 0x00, 0x06, 0x13, 0x04, 0x01, 0x20,
- 0x01, 0x00, 0x08, 0x00, 0x13, 0x04, 0x88, 0x01, 0x05, 0xee, 0x16, 0xf5, 0x10, 0x35, 0x07, 0x81,
- 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e, 0xcc, 0x4f, 0x07, 0xb1, 0x00, 0x40, 0xc4, 0x4d,
- 0xc8, 0x0a, 0x01, 0x00, 0x04, 0x5b, 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20,
- 0x01, 0x02, 0x00, 0x06, 0x13, 0x04, 0x01, 0x20, 0x01, 0x00, 0x08, 0x00, 0x13, 0x04, 0x88, 0x01,
- 0x05, 0xee, 0x16, 0xf5, 0x10, 0x19, 0x07, 0x81, 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e,
- 0xcc, 0x4f, 0x07, 0xb1, 0x00, 0x40, 0xc4, 0x4d, 0xc8, 0x0a, 0x01, 0x00, 0xc0, 0x60, 0x05, 0xee,
- 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02, 0x00, 0x06, 0x13, 0x01, 0x04, 0x5b, 0x88, 0x01,
- 0x05, 0xee, 0x16, 0xf8, 0x10, 0x01, 0x20, 0x00, 0xce, 0x3e, 0x0a, 0x32, 0x07, 0x8d, 0x10, 0x00,
- 0x20, 0x0d, 0x16, 0x28, 0x07, 0x8d, 0x08, 0x00, 0x01, 0x40, 0x02, 0x00, 0x13, 0x23, 0x01, 0xc0,
- 0x02, 0x00, 0x07, 0x8f, 0x97, 0xf6, 0xc3, 0x8e, 0x11, 0x02, 0x07, 0x8f, 0x97, 0x6a, 0xc8, 0x0f,
- 0x08, 0x96, 0xc3, 0x60, 0x00, 0x16, 0x02, 0x8d, 0x98, 0x4e, 0x13, 0x02, 0xc8, 0x0f, 0x00, 0x16,
- 0x07, 0x8f, 0x03, 0xf8, 0x02, 0x4e, 0x40, 0x00, 0xc8, 0x0e, 0x08, 0x98, 0xc8, 0x0e, 0x08, 0x9a,
- 0x13, 0x05, 0x07, 0x8e, 0xee, 0x60, 0xc3, 0xfe, 0xc8, 0x0e, 0x08, 0x90, 0xc8, 0x0f, 0x08, 0x62,
- 0x04, 0x20, 0xea, 0x7a, 0x04, 0x5b, 0x07, 0x8d, 0x10, 0x00, 0x20, 0x0d, 0x16, 0xfb, 0x07, 0x8d,
- 0x08, 0x00, 0x01, 0x40, 0x04, 0x00, 0x13, 0xf6, 0x07, 0x8d, 0x40, 0x00, 0x01, 0x0e, 0x00, 0x01,
- 0x16, 0xf1, 0x01, 0xc0, 0x04, 0x00, 0x06, 0x0f, 0x01, 0x8f, 0x80, 0x00, 0xc8, 0x0f, 0x08, 0x8c,
- 0xc3, 0xce, 0x01, 0x8e, 0xe0, 0x00, 0x05, 0x0e, 0xc8, 0x0e, 0x08, 0x4c, 0xa8, 0x0e, 0x08, 0x8c,
- 0x09, 0xdf, 0x02, 0x4f, 0x00, 0x04, 0x02, 0x2f, 0x03, 0xf0, 0xc8, 0x0f, 0x08, 0x8a, 0x01, 0x85,
- 0x00, 0x40, 0x04, 0x20, 0xea, 0x7a, 0xc0, 0x41, 0x13, 0xfe, 0x03, 0x00, 0x00, 0x02, 0x88, 0x01,
- 0x00, 0xe2, 0x13, 0x36, 0xc8, 0x01, 0x01, 0x6c, 0x01, 0x20, 0xfc, 0x06, 0x00, 0xc0, 0x13, 0x30,
- 0xc0, 0xe0, 0xfc, 0x02, 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0xa0, 0xfc, 0x04, 0x03, 0xee,
- 0xc8, 0x04, 0xfc, 0x76, 0xc8, 0x04, 0xfc, 0xe6, 0xc8, 0x04, 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6,
- 0xc8, 0x04, 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6, 0xc8, 0x04, 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86,
- 0x07, 0x8e, 0xfc, 0x00, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4, 0x01, 0x6c, 0xc8, 0x06,
- 0xfc, 0x00, 0xc8, 0x06, 0x00, 0xe4, 0x01, 0x43, 0x01, 0x00, 0x13, 0x0a, 0x03, 0x00, 0x00, 0x0f,
- 0x03, 0x00, 0x00, 0x02, 0x88, 0x01, 0x00, 0xe2, 0x13, 0xf9, 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xd0,
- 0x03, 0x00, 0x00, 0x0f, 0x01, 0x60, 0x07, 0x58, 0x14, 0x00, 0x16, 0xbf, 0x07, 0x83, 0xfc, 0x76,
- 0x02, 0xe0, 0x08, 0x5c, 0x04, 0x60, 0x91, 0x6a, 0x02, 0x2d, 0x00, 0x06, 0xc0, 0xa0, 0x08, 0x4c,
- 0x04, 0x60, 0xd3, 0x36, 0x01, 0x00, 0x07, 0xff, 0x16, 0x11, 0x01, 0xc0, 0x07, 0xff, 0x01, 0x00,
- 0x20, 0x00, 0x16, 0x29, 0x01, 0xc0, 0x20, 0x00, 0x07, 0x8f, 0x08, 0x92, 0xc7, 0xc1, 0xc8, 0x0f,
- 0x00, 0xe8, 0xc0, 0x60, 0x05, 0xf8, 0x04, 0xe0, 0x05, 0xf8, 0x10, 0x1f, 0x01, 0x40, 0x20, 0x00,
- 0x16, 0x0b, 0xc0, 0x60, 0x05, 0xf8, 0x16, 0xf7, 0x01, 0x80, 0x20, 0x00, 0x07, 0xa0, 0x00, 0xe8,
- 0x07, 0x7a, 0xc0, 0x60, 0x08, 0x92, 0x10, 0x0f, 0xc3, 0xdd, 0x13, 0x05, 0x03, 0x90, 0x00, 0x17,
- 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02,
- 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x24, 0x40, 0x13, 0xcd, 0xc8, 0x01, 0x01, 0x6c, 0x88, 0x01,
- 0x00, 0xe2, 0x16, 0x24, 0xc3, 0xdd, 0x16, 0xea, 0x84, 0xc4, 0x13, 0xed, 0x01, 0x20, 0xfc, 0x06,
- 0x00, 0xc0, 0x16, 0x53, 0x01, 0xc0, 0x40, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00,
- 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x01, 0x40, 0x40, 0x00, 0x16, 0xe4, 0xc3, 0xdd,
- 0x13, 0xf3, 0x03, 0x90, 0x00, 0x17, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c,
- 0x10, 0xeb, 0x07, 0x86, 0x03, 0xf4, 0x61, 0x89, 0x04, 0x60, 0xd4, 0x28, 0xc0, 0xe0, 0xfc, 0x02,
- 0x13, 0xf8, 0xc1, 0xa0, 0x08, 0x8a, 0x61, 0x89, 0x61, 0xa0, 0xfc, 0x04, 0x15, 0x0a, 0x04, 0x60,
- 0xd2, 0x78, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03,
- 0x13, 0xf8, 0xcd, 0x4a, 0xcd, 0x46, 0xcd, 0x47, 0xcd, 0x48, 0xc9, 0x49, 0x00, 0x02, 0xc5, 0x41,
- 0x07, 0xa5, 0xff, 0xee, 0xe0, 0x81, 0x02, 0x25, 0xff, 0xf8, 0x04, 0x60, 0xd2, 0x74, 0x03, 0x90,
- 0x00, 0x17, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0x03, 0x00, 0x00, 0x0f,
- 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x88, 0x01, 0x00, 0xe2,
- 0x16, 0xcd, 0xc3, 0xdd, 0x16, 0xec, 0x84, 0xc4, 0x13, 0xf1, 0x61, 0x83, 0x02, 0x23, 0x00, 0x70,
- 0x84, 0xc4, 0x16, 0xfc, 0xa1, 0x83, 0xcd, 0x4a, 0xcd, 0x46, 0xcd, 0x47, 0xcd, 0x48, 0xc9, 0x49,
- 0x00, 0x02, 0xc5, 0x41, 0x07, 0xa5, 0xff, 0xee, 0xe0, 0x81, 0x02, 0x25, 0xff, 0xf8, 0x62, 0x86,
- 0x15, 0x43, 0xa1, 0x8a, 0xa2, 0x46, 0xa0, 0x86, 0x17, 0x21, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x05, 0xa0,
- 0x10, 0x80, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x11, 0x01, 0x5e,
- 0x01, 0x00, 0x16, 0x0e, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0x10, 0x02, 0x05, 0xa0, 0x10, 0x80,
- 0xc1, 0x8a, 0x88, 0x02, 0x08, 0x8c, 0x15, 0x3f, 0xc2, 0xac, 0x00, 0x04, 0x13, 0x3e, 0x01, 0x8a,
- 0x80, 0x00, 0xc1, 0xfc, 0xc2, 0x3c, 0x04, 0xfc, 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c,
- 0x11, 0x28, 0x05, 0x06, 0x13, 0xa3, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02,
- 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x10, 0xaf, 0xa2, 0x46, 0xa2, 0x06, 0x17, 0x01, 0x05, 0x87,
- 0xa0, 0x86, 0x04, 0xc6, 0x17, 0x93, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0,
- 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03,
- 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x8b, 0x01, 0x5e, 0x01, 0x00, 0x16, 0x88, 0xc3, 0xde, 0x01, 0xcf,
- 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0,
- 0x80, 0x00, 0x04, 0x60, 0xd0, 0x9e, 0x04, 0x60, 0xd5, 0xa0, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0,
- 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xc2, 0xac, 0x00, 0x04, 0x16, 0xb7,
- 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90, 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01,
- 0x01, 0x6c, 0x10, 0xeb, 0xa1, 0x8a, 0xa2, 0x46, 0xa0, 0x86, 0x17, 0x21, 0x07, 0x8e, 0x01, 0x04,
- 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8,
- 0x05, 0xa0, 0x10, 0x80, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x11,
- 0x01, 0x5e, 0x01, 0x00, 0x16, 0x0e, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80,
- 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0x10, 0x02, 0x05, 0xa0,
- 0x10, 0x80, 0xc1, 0x8a, 0x88, 0x02, 0x08, 0x8c, 0x15, 0x15, 0xc2, 0xac, 0x00, 0x04, 0x16, 0x14,
- 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8,
- 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90, 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01,
- 0x01, 0x6c, 0x10, 0xeb, 0x04, 0x60, 0xd5, 0xa0, 0x01, 0x8a, 0x80, 0x00, 0xc1, 0xfc, 0xc2, 0x3c,
- 0x04, 0xfc, 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0x05, 0x06, 0x04, 0x60,
- 0xd0, 0x54, 0x62, 0x86, 0x17, 0xaf, 0xa1, 0x82, 0xc0, 0xa0, 0x08, 0x4c, 0x61, 0x82, 0xc3, 0xe0,
- 0x10, 0x82, 0x02, 0x4f, 0x00, 0x1f, 0x0a, 0x2f, 0xcb, 0xc6, 0x10, 0xa8, 0xcb, 0xc3, 0x10, 0xaa,
- 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0xa0, 0xfc, 0x04, 0x03, 0xee, 0x07, 0x83, 0xfc, 0x76,
- 0x07, 0x89, 0x00, 0x06, 0xc2, 0xac, 0x00, 0x04, 0x13, 0x08, 0xc1, 0xfc, 0xc2, 0x3c, 0x04, 0xfc,
- 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x05, 0xa0,
- 0x10, 0x82, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x3b, 0x07, 0x9e, 0xde, 0x8c, 0x05, 0xa0, 0x10, 0x80,
- 0xc4, 0xc4, 0xc8, 0x04, 0xfc, 0xe6, 0xc8, 0x04, 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6, 0xc8, 0x04,
- 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6, 0xc8, 0x04, 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86, 0x07, 0x8e,
- 0xfc, 0x00, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4, 0x01, 0x6c, 0xc3, 0xe0, 0x00, 0xe2,
- 0x13, 0x40, 0xc7, 0x86, 0xc8, 0x06, 0x00, 0xe4, 0x04, 0xc6, 0xc2, 0x8a, 0x15, 0x31, 0x13, 0x0a,
- 0x05, 0xa0, 0x10, 0x80, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0,
- 0x01, 0x03, 0x13, 0xf8, 0xc2, 0xac, 0x00, 0x04, 0x16, 0x19, 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90,
- 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xeb, 0x01, 0x5e,
- 0x01, 0x00, 0x16, 0xc4, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0xb9, 0x01, 0xc0, 0x80, 0x00, 0x10, 0xb8, 0xc1, 0xfc, 0xc2, 0x3c,
- 0x04, 0xfc, 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0xc2, 0x8a, 0x11, 0xd0,
- 0xc3, 0xdd, 0x16, 0x02, 0x04, 0x60, 0xcf, 0xe8, 0x03, 0x90, 0x00, 0x17, 0x06, 0x9b, 0x04, 0x60,
- 0xcf, 0xd4, 0x07, 0x8e, 0xd3, 0x1a, 0xc8, 0x20, 0x08, 0x94, 0x01, 0x6a, 0x16, 0x03, 0xc8, 0x06,
- 0x08, 0x94, 0x04, 0x5e, 0xc8, 0x06, 0xf8, 0x00, 0xc8, 0x06, 0x00, 0xe4, 0xc1, 0xa0, 0x08, 0x94,
- 0x98, 0x20, 0xe0, 0x10, 0x01, 0x83, 0x16, 0x19, 0x01, 0xe0, 0x01, 0x9c, 0x00, 0x40, 0x07, 0x8f,
- 0x03, 0xe8, 0x0b, 0x8f, 0x0b, 0x8f, 0x06, 0x0f, 0x13, 0x1a, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40,
- 0x16, 0xf8, 0x01, 0x60, 0x0c, 0x02, 0x01, 0x00, 0x13, 0x12, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83,
- 0x07, 0xa0, 0x0c, 0x02, 0x80, 0x00, 0x0b, 0x8f, 0x0b, 0x8f, 0xc8, 0x06, 0x01, 0x8a, 0xc8, 0x06,
- 0x09, 0x18, 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x40, 0x04, 0xe0,
- 0x08, 0x94, 0xc8, 0x06, 0x00, 0xe2, 0x01, 0x40, 0x20, 0x00, 0x13, 0x07, 0xc0, 0x41, 0x13, 0x03,
- 0xc8, 0x06, 0xfc, 0x00, 0x04, 0x5e, 0xc0, 0x46, 0x04, 0x5e, 0xc3, 0xe0, 0x08, 0x92, 0x16, 0xf8,
- 0xc8, 0x06, 0x08, 0x92, 0x04, 0x5e, 0xcd, 0x4a, 0xcd, 0x46, 0xcd, 0x47, 0xcd, 0x48, 0xc9, 0x49,
- 0x00, 0x02, 0xc5, 0x41, 0x07, 0xa5, 0xff, 0xee, 0xe0, 0x81, 0x02, 0x25, 0xff, 0xf8, 0x62, 0x86,
- 0x15, 0x57, 0xa1, 0x8a, 0xa2, 0x46, 0xa0, 0x86, 0x17, 0x21, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x05, 0xa0,
- 0x10, 0x80, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x11, 0x01, 0x5e,
- 0x01, 0x00, 0x16, 0x0e, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0x10, 0x02, 0x05, 0xa0, 0x10, 0x80,
- 0xc1, 0x8a, 0x88, 0x02, 0x08, 0x8c, 0x15, 0x15, 0xc2, 0xac, 0x00, 0x04, 0x16, 0x14, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xc3, 0xdd,
- 0x13, 0xf3, 0x03, 0x90, 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c,
- 0x10, 0xeb, 0x04, 0x60, 0xd5, 0xa0, 0x01, 0x8a, 0x80, 0x00, 0xc1, 0xfc, 0xc2, 0x3c, 0x04, 0xfc,
- 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0x05, 0x06, 0x13, 0x09, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xa0, 0x01, 0x03, 0x13, 0xf8, 0x10, 0x9b,
- 0xa2, 0x06, 0x17, 0x01, 0x05, 0x87, 0xa0, 0x86, 0x17, 0x1e, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x01, 0x5e,
- 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x0e, 0x01, 0x5e, 0x01, 0x00, 0x16, 0x0b,
- 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00,
- 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0x83, 0xfc, 0x76,
- 0x07, 0x89, 0x00, 0x06, 0x07, 0x8e, 0xfc, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00,
- 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xc4, 0xc4, 0xc8, 0x04, 0xfc, 0xe6, 0xc8, 0x04,
- 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6, 0xc8, 0x04, 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6, 0xc8, 0x04,
- 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4, 0x01, 0x6c,
- 0xc3, 0xe0, 0x00, 0xe2, 0x13, 0x08, 0xc7, 0x86, 0xc8, 0x06, 0x00, 0xe4, 0x04, 0xc6, 0xc8, 0x01,
- 0x01, 0x6c, 0x04, 0x60, 0xd0, 0x9e, 0x07, 0x8e, 0xd5, 0x8e, 0x04, 0x60, 0xd3, 0x98, 0x62, 0x46,
- 0x60, 0x86, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03,
- 0x13, 0xf8, 0x88, 0x01, 0x00, 0xe2, 0x16, 0x0a, 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90, 0x00, 0x17,
- 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xeb, 0xc0, 0xe0, 0xfc, 0x02,
- 0x13, 0x09, 0xc1, 0xa0, 0x08, 0x8a, 0x61, 0x89, 0x61, 0xa0, 0xfc, 0x04, 0x06, 0x20, 0x10, 0x80,
- 0x04, 0x60, 0xd2, 0x78, 0x07, 0x86, 0x03, 0xf4, 0x61, 0x89, 0xa0, 0x86, 0x15, 0x02, 0x07, 0x82,
- 0x7f, 0xff, 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0xa0, 0xfc, 0x04, 0x03, 0xee, 0x07, 0x83,
- 0xfc, 0x76, 0x07, 0x89, 0x00, 0x06, 0x07, 0x8e, 0xfc, 0x00, 0xc4, 0xc4, 0xc8, 0x04, 0xfc, 0xe6,
- 0xc8, 0x04, 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6, 0xc8, 0x04, 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6,
- 0xc8, 0x04, 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4,
- 0x01, 0x6c, 0xc3, 0xe0, 0x00, 0xe2, 0x13, 0x07, 0xc7, 0x86, 0xc8, 0x06, 0x00, 0xe4, 0x04, 0xc6,
- 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xae, 0x07, 0x8e, 0xd6, 0x40, 0x04, 0x60, 0xd3, 0x98, 0xc1, 0x60,
- 0xf8, 0x00, 0x83, 0x05, 0x13, 0x0c, 0xc8, 0x05, 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02, 0x13, 0xf7,
- 0x15, 0x14, 0x06, 0xa0, 0x97, 0xb6, 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0x6d, 0x04, 0x60,
- 0xb9, 0xc0, 0x06, 0xa0, 0xf9, 0x32, 0x80, 0x45, 0x16, 0x4f, 0x04, 0x60, 0xb9, 0xc0, 0x06, 0xa0,
- 0x97, 0xb6, 0xc2, 0x20, 0xf8, 0x02, 0x11, 0xfb, 0x13, 0xe2, 0x01, 0xa0, 0x07, 0x78, 0x40, 0x00,
- 0xc1, 0x41, 0xc0, 0x60, 0xf8, 0x00, 0x01, 0x48, 0x00, 0x01, 0x16, 0x3e, 0x04, 0xe0, 0xf8, 0x00,
- 0x07, 0x8b, 0x03, 0xea, 0x62, 0xe0, 0xf8, 0x04, 0xc8, 0x0b, 0xf8, 0x04, 0x85, 0x05, 0x16, 0x02,
- 0xc5, 0x01, 0x10, 0x10, 0xc8, 0x14, 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x13, 0x06, 0xc8, 0x20,
- 0xf8, 0x00, 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x16, 0xfa, 0xc8, 0x01, 0xf8, 0x00, 0x16, 0x02,
- 0xc0, 0xa0, 0x01, 0x6a, 0x01, 0x08, 0xfe, 0x00, 0x16, 0xcc, 0xc8, 0x05, 0x01, 0x6a, 0x01, 0xe0,
- 0xf8, 0x02, 0x00, 0x20, 0x07, 0x87, 0x06, 0x30, 0x01, 0xe7, 0x00, 0x04, 0x00, 0x40, 0x04, 0xd7,
- 0x02, 0x27, 0x00, 0x0c, 0xa1, 0x45, 0xc9, 0x60, 0xf8, 0x00, 0x0c, 0x32, 0x04, 0xe0, 0xf8, 0x00,
- 0x09, 0x15, 0xc2, 0x57, 0x16, 0x03, 0xcd, 0xc5, 0xc5, 0xc5, 0x10, 0x06, 0x05, 0xc7, 0xc8, 0x17,
- 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0xc5, 0xc5, 0x83, 0x01, 0x13, 0xa9, 0xc8, 0x01, 0x01, 0x6a,
- 0x01, 0x20, 0xf8, 0x06, 0x00, 0xc0, 0x13, 0xad, 0x01, 0x60, 0xf8, 0x02, 0x01, 0x00, 0x16, 0x05,
- 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0xf2, 0x10, 0x9a, 0x07, 0xa0, 0x00, 0x12, 0xd7, 0xa4,
- 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x13, 0x93, 0xc8, 0x01, 0x01, 0x6a, 0x01, 0x60, 0xf8, 0x02,
- 0x01, 0x00, 0x16, 0x89, 0x07, 0xa0, 0x00, 0x12, 0xd7, 0x5e, 0x10, 0xea, 0x03, 0x00, 0x00, 0x02,
- 0xc3, 0x20, 0x01, 0x8a, 0x13, 0x1d, 0x83, 0x01, 0x13, 0x0e, 0xc8, 0x01, 0x01, 0x6a, 0x01, 0x20,
- 0xf8, 0x06, 0x00, 0xc0, 0x13, 0x86, 0x01, 0x60, 0xf8, 0x02, 0x01, 0x00, 0x16, 0x07, 0xc0, 0x60,
- 0xf8, 0x00, 0x83, 0x01, 0x16, 0xf2, 0x03, 0x90, 0xbf, 0xff, 0x03, 0x80, 0x07, 0xa0, 0x00, 0x12,
- 0xd7, 0xa4, 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0x0b, 0x03, 0x90, 0xbf, 0xff, 0x03, 0x80,
- 0x10, 0x18, 0x03, 0x00, 0x00, 0x02, 0xc3, 0x20, 0x01, 0x8a, 0x13, 0x13, 0x83, 0x01, 0x13, 0x0e,
- 0xc8, 0x01, 0x01, 0x6a, 0x01, 0x60, 0xf8, 0x02, 0x01, 0x00, 0x16, 0x04, 0x07, 0xa0, 0x00, 0x12,
- 0xd7, 0x5e, 0x10, 0xdd, 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0xf2, 0x03, 0x90, 0xbf, 0xff,
- 0x03, 0x80, 0x07, 0x8b, 0x9c, 0x72, 0xc3, 0x01, 0x13, 0x39, 0xc2, 0x4c, 0xc8, 0x0c, 0x01, 0x6a,
- 0xc2, 0x20, 0xf8, 0x02, 0x11, 0x2d, 0xc2, 0x4c, 0xc3, 0x20, 0xf8, 0x00, 0x16, 0xf7, 0xc8, 0x09,
- 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02, 0x16, 0x2a, 0x01, 0xe0, 0xf8, 0x02, 0x19, 0x00, 0x05, 0xa0,
- 0x13, 0x80, 0x10, 0x24, 0x01, 0xe0, 0xf8, 0x02, 0x19, 0x00, 0x05, 0xa0, 0x13, 0x80, 0xc8, 0x0c,
- 0x01, 0x8a, 0x07, 0x89, 0x09, 0x18, 0xc2, 0x19, 0x13, 0x01, 0x05, 0xc9, 0xc6, 0x4c, 0xc2, 0x20,
- 0x00, 0x12, 0x02, 0x88, 0xd7, 0x5e, 0x16, 0x03, 0x01, 0xc0, 0x00, 0x40, 0x10, 0x05, 0x02, 0x88,
- 0xd7, 0xa4, 0x16, 0x05, 0x01, 0x80, 0x40, 0x40, 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x04, 0x5b,
- 0xc8, 0x09, 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02, 0x16, 0xe2, 0x10, 0xdc, 0xc2, 0x20, 0x0c, 0x02,
- 0x11, 0x01, 0x10, 0xe5, 0xd8, 0x20, 0xe0, 0x10, 0x01, 0x83, 0x07, 0x88, 0x00, 0x05, 0x0b, 0x88,
- 0x0b, 0x88, 0x06, 0x08, 0x16, 0xfc, 0x07, 0xa0, 0x01, 0x8a, 0x00, 0x43, 0x10, 0xd8, 0x20, 0x00,
- 0xd8, 0x70, 0x00, 0x7f, 0x00, 0x00, 0x20, 0x00, 0xf8, 0x30, 0x05, 0xec, 0x68, 0x04, 0x09, 0x32,
- 0xd3, 0xcf, 0x16, 0x30, 0x01, 0x4f, 0x00, 0x80, 0x16, 0x2d, 0x01, 0x0e, 0x00, 0x03, 0x16, 0x2a,
- 0xd1, 0x04, 0x13, 0x01, 0x07, 0x04, 0x06, 0xc4, 0x07, 0x03, 0x07, 0x88, 0x07, 0x23, 0xb6, 0x04,
- 0x18, 0x0d, 0x01, 0x4d, 0x00, 0x02, 0x13, 0x0f, 0xc0, 0x60, 0x06, 0x7c, 0x02, 0x81, 0x06, 0x30,
- 0x13, 0x0a, 0x07, 0x88, 0x80, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x05, 0x76, 0x04, 0x96, 0x03,
- 0x13, 0x02, 0xd6, 0x01, 0x10, 0xee, 0x07, 0x88, 0x07, 0x2f, 0xb6, 0x04, 0x18, 0x03, 0x96, 0x03,
- 0x13, 0x05, 0x04, 0x5c, 0x76, 0x04, 0x96, 0x03, 0x13, 0x05, 0xd6, 0x03, 0x07, 0x83, 0x80, 0x40,
- 0x06, 0xa0, 0xe3, 0x56, 0x04, 0x5c, 0x03, 0x00, 0x00, 0x02, 0xc1, 0x4b, 0x02, 0x85, 0x00, 0x43,
- 0x13, 0x2c, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x04, 0x16, 0x06, 0xc8, 0x05, 0x01, 0x6c, 0x01, 0x60,
- 0xfc, 0x02, 0x00, 0x20, 0x13, 0x07, 0x06, 0xa0, 0xf9, 0x32, 0x03, 0x90, 0x04, 0x77, 0x03, 0x80,
- 0xc8, 0x0a, 0x01, 0x6c, 0xc2, 0xa0, 0xfc, 0x00, 0x16, 0xfb, 0xc2, 0xa0, 0x01, 0x6c, 0x07, 0x89,
- 0x03, 0xea, 0x62, 0x60, 0xfc, 0x04, 0xc8, 0x09, 0xfc, 0x04, 0x07, 0x89, 0x05, 0xf8, 0xc2, 0xd9,
- 0x16, 0x02, 0xce, 0x45, 0x10, 0x05, 0x05, 0xc9, 0xc8, 0x19, 0x01, 0x6c, 0xc8, 0x05, 0xfc, 0x00,
- 0xc6, 0x4a, 0x01, 0xa0, 0x07, 0x78, 0x07, 0xff, 0x10, 0xe0, 0x07, 0xa0, 0x0c, 0x02, 0x80, 0x00,
- 0x07, 0xa0, 0x0c, 0x04, 0x00, 0x28, 0xc0, 0x41, 0x16, 0xd8, 0xd8, 0x20, 0xe0, 0x10, 0x01, 0x83,
- 0x07, 0x89, 0x00, 0x05, 0x0b, 0x89, 0x0b, 0x89, 0x06, 0x09, 0x16, 0xfc, 0xc8, 0x05, 0x01, 0x8a,
- 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x40, 0x10, 0xc6, 0xc2, 0x85,
- 0xc2, 0x60, 0x07, 0x80, 0xc8, 0x0a, 0x01, 0x6a, 0x07, 0x20, 0xf8, 0x02, 0x07, 0xa0, 0xf8, 0x04,
- 0x03, 0xee, 0xc8, 0x09, 0xf8, 0x76, 0xc8, 0x09, 0xf8, 0xe6, 0xc8, 0x09, 0xf9, 0x56, 0xc8, 0x09,
- 0xf9, 0xc6, 0xc8, 0x09, 0xfa, 0x36, 0xc8, 0x09, 0xfa, 0xa6, 0xc8, 0x09, 0xfb, 0x16, 0xc8, 0x09,
- 0xfb, 0x86, 0xc8, 0x09, 0xfb, 0xf6, 0xc2, 0xa0, 0xf8, 0x00, 0x16, 0xe4, 0xc2, 0xa0, 0x01, 0x6a,
- 0xc0, 0x41, 0x13, 0x06, 0xc8, 0x02, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0xc0, 0x8a, 0x04, 0x5b,
- 0xc8, 0x20, 0x08, 0x94, 0x01, 0x6a, 0x16, 0x05, 0x82, 0x85, 0x16, 0x07, 0xc8, 0x05, 0x08, 0x94,
- 0x04, 0x5b, 0xc8, 0x05, 0xf8, 0x00, 0xc1, 0x60, 0x08, 0x94, 0x98, 0x20, 0xe0, 0x10, 0x01, 0x83,
- 0x16, 0x19, 0x01, 0xe0, 0x01, 0x9c, 0x00, 0x40, 0x07, 0x89, 0x03, 0xe8, 0x0b, 0x89, 0x0b, 0x89,
- 0x06, 0x09, 0x13, 0x14, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x16, 0xf8, 0x01, 0x60, 0x0c, 0x02,
- 0x01, 0x00, 0x13, 0x0c, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0x07, 0xa0, 0x0c, 0x02, 0x80, 0x00,
- 0x0b, 0x89, 0x0b, 0x89, 0xc8, 0x05, 0x01, 0x8a, 0xc8, 0x05, 0x09, 0x18, 0x04, 0xe0, 0x08, 0x94,
- 0xc0, 0x54, 0x16, 0x02, 0xc5, 0x05, 0x10, 0x04, 0xc8, 0x02, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00,
- 0xc0, 0x45, 0xc0, 0x8a, 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x40,
- 0x04, 0x5b, 0x07, 0x20, 0x0c, 0xb8, 0x07, 0x83, 0x80, 0x00, 0x04, 0x5b, 0x07, 0xa0, 0xfc, 0x04,
- 0x03, 0xee, 0xc2, 0x20, 0x07, 0x80, 0xc8, 0x08, 0xfc, 0x76, 0xc8, 0x08, 0xfc, 0xe6, 0xc8, 0x08,
- 0xfd, 0x56, 0xc8, 0x08, 0xfd, 0xc6, 0xc8, 0x08, 0xfe, 0x36, 0xc8, 0x08, 0xfe, 0xa6, 0xc8, 0x08,
- 0xff, 0x16, 0xc8, 0x08, 0xff, 0x86, 0xc8, 0x08, 0xff, 0xf6, 0x04, 0x60, 0xc0, 0xc6, 0xc3, 0xa0,
- 0x00, 0xe2, 0xc8, 0x0e, 0x08, 0x66, 0xc8, 0x0e, 0x01, 0x6c, 0xc3, 0xa0, 0xfc, 0x00, 0x06, 0x0d,
- 0x16, 0xfa, 0x04, 0xe0, 0xfc, 0x00, 0xc8, 0x20, 0x01, 0x6c, 0x08, 0x7c, 0xc8, 0x0e, 0x00, 0xe2,
- 0xc8, 0x0e, 0x07, 0x7a, 0x04, 0xe0, 0x08, 0x94, 0x04, 0xe0, 0x0c, 0xb8, 0x07, 0x8d, 0x00, 0x10,
- 0x04, 0x5b, 0x03, 0x00, 0x00, 0x02, 0x07, 0x09, 0xc2, 0xa0, 0x01, 0x04, 0x01, 0x8a, 0x00, 0x80,
- 0x52, 0x4a, 0xd2, 0x89, 0x01, 0xca, 0x25, 0x00, 0xc8, 0x0a, 0x01, 0x04, 0xd2, 0xa0, 0x01, 0x04,
- 0x01, 0x0a, 0xda, 0x00, 0x16, 0xf5, 0x52, 0x4a, 0x01, 0xa0, 0x08, 0xa0, 0xff, 0x00, 0x07, 0xa0,
- 0x08, 0xa8, 0x10, 0x00, 0x01, 0xc9, 0x05, 0x00, 0x07, 0x8a, 0x07, 0x78, 0x02, 0x89, 0x5f, 0xff,
- 0x16, 0x19, 0x01, 0x5a, 0x80, 0x00, 0x16, 0x0f, 0x07, 0x89, 0xde, 0x8c, 0x01, 0x20, 0x07, 0x58,
- 0x20, 0xfe, 0x13, 0x02, 0x01, 0x89, 0x04, 0x00, 0xc8, 0x09, 0x01, 0x04, 0x01, 0x9a, 0x80, 0x00,
- 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x01, 0x20, 0x07, 0x58, 0x20, 0xfe, 0x16, 0x22, 0x03, 0x90,
- 0xff, 0xff, 0x03, 0x80, 0x05, 0x49, 0x01, 0x89, 0x80, 0x00, 0x01, 0x49, 0x40, 0x00, 0x13, 0x23,
- 0x01, 0x49, 0x20, 0x00, 0x16, 0x2f, 0x01, 0x5a, 0x80, 0x00, 0x16, 0x0e, 0x01, 0x9a, 0x80, 0x00,
- 0x07, 0x8a, 0xde, 0x8c, 0x01, 0x20, 0x07, 0x58, 0x20, 0xfe, 0x13, 0x02, 0x01, 0x8a, 0x04, 0x00,
- 0xc8, 0x0a, 0x01, 0x04, 0x01, 0x89, 0x20, 0x00, 0xd2, 0x49, 0x16, 0x05, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0x07, 0x89, 0x20, 0x00, 0xf8, 0x09, 0x07, 0x3a, 0xc2, 0x60, 0x07, 0x36, 0x13, 0xf6,
- 0x04, 0xe0, 0x07, 0x36, 0x04, 0x54, 0x04, 0xca, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a,
- 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x06, 0x0a, 0x16, 0xf4,
- 0x04, 0x60, 0xb3, 0xf0, 0x01, 0x5a, 0x80, 0x00, 0x13, 0x04, 0x01, 0x20, 0x07, 0x58, 0x20, 0xfe,
- 0x13, 0xdb, 0xc2, 0xa0, 0x01, 0x04, 0x01, 0xca, 0xff, 0x00, 0x01, 0x8a, 0x04, 0x80, 0xc8, 0x0a,
- 0x01, 0x04, 0x01, 0x60, 0x01, 0x04, 0x20, 0x00, 0x16, 0xcf, 0x01, 0xc9, 0x20, 0x00, 0x07, 0x8a,
- 0x07, 0x78, 0x10, 0xb9, 0x01, 0x60, 0x07, 0x58, 0x10, 0x00, 0x16, 0x13, 0x01, 0x20, 0x05, 0xee,
- 0x00, 0x07, 0x16, 0x0f, 0xc1, 0xa0, 0x08, 0xa0, 0x06, 0xc6, 0xd1, 0xe0, 0x01, 0x03, 0x13, 0x14,
- 0x71, 0x86, 0x06, 0xc6, 0x01, 0x20, 0x01, 0x04, 0x20, 0x00, 0x13, 0x22, 0x71, 0x86, 0xc8, 0x06,
- 0x08, 0xa0, 0x01, 0x60, 0x01, 0x82, 0x20, 0x00, 0x16, 0x06, 0x01, 0xa0, 0x01, 0x82, 0x20, 0x00,
- 0x01, 0xe0, 0x01, 0x82, 0x20, 0x00, 0x04, 0x5b, 0x07, 0x87, 0x01, 0x0c, 0x07, 0x88, 0x08, 0xa2,
- 0x02, 0x26, 0xff, 0x00, 0x18, 0x04, 0xce, 0x37, 0xce, 0x37, 0xc6, 0x17, 0x10, 0xe2, 0x8e, 0x37,
- 0x16, 0xdf, 0x8e, 0x37, 0x16, 0xdd, 0x86, 0x17, 0x16, 0xdb, 0xd1, 0x86, 0x16, 0xda, 0x10, 0x11,
- 0x02, 0x26, 0x01, 0x00, 0x18, 0x0e, 0x19, 0xdb, 0xc1, 0xe0, 0x01, 0x04, 0x01, 0xc7, 0xff, 0x00,
- 0x01, 0x87, 0x04, 0x80, 0xc8, 0x07, 0x01, 0x04, 0x01, 0x20, 0x01, 0x04, 0x20, 0x00, 0x16, 0xce,
- 0x10, 0xce, 0x04, 0xe0, 0x08, 0xa8, 0x04, 0x5b, 0xc0, 0xe0, 0x07, 0x5c, 0xc8, 0x03, 0x01, 0x6c,
- 0xc3, 0x43, 0xc2, 0xc3, 0xa2, 0xcb, 0xc2, 0xeb, 0x0c, 0x32, 0xc8, 0x0b, 0xfc, 0x00, 0x13, 0x07,
- 0xc8, 0x0b, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x00, 0x16, 0xfb, 0xc3, 0x60, 0x01, 0x6c, 0x07, 0x8b,
- 0x03, 0xea, 0x62, 0xe0, 0xfc, 0x04, 0xc8, 0x0b, 0xfc, 0x04, 0x07, 0x8b, 0x05, 0xf8, 0x03, 0x00,
- 0x00, 0x02, 0xc3, 0x9b, 0x16, 0x02, 0xce, 0xc3, 0x10, 0x05, 0x05, 0xcb, 0xc8, 0x1b, 0x01, 0x6c,
- 0xc8, 0x03, 0xfc, 0x00, 0xc6, 0xcd, 0x01, 0xa0, 0x07, 0x78, 0x07, 0xff, 0x03, 0x00, 0x00, 0x0f,
- 0x04, 0x20, 0xea, 0x7a, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x02, 0xc3, 0xde, 0x01, 0x4f,
- 0x20, 0x00, 0x16, 0x08, 0x01, 0x20, 0x07, 0x78, 0x80, 0x00, 0x16, 0x04, 0x03, 0x00, 0x00, 0x0f,
- 0x04, 0x60, 0xc5, 0xc6, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e,
- 0x20, 0x00, 0x16, 0x04, 0x01, 0x60, 0x07, 0x78, 0x80, 0x00, 0x16, 0xf0, 0xc3, 0xdd, 0x02, 0x4f,
- 0x00, 0x0f, 0xe1, 0x2f, 0xe0, 0x14, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x5b, 0x03, 0x00, 0x00, 0x0f,
- 0x10, 0x08, 0x06, 0xa0, 0xc7, 0x7e, 0x01, 0xc2, 0xff, 0x80, 0x01, 0x82, 0x24, 0x00, 0x07, 0x8e,
- 0x01, 0x04, 0x03, 0x00, 0x00, 0x02, 0x01, 0x5e, 0x20, 0x00, 0x16, 0xf0, 0xc7, 0x82, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0x90, 0x60, 0x3f, 0x04, 0x59, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x02,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0x06, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80,
- 0xc7, 0x8f, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xc5, 0x60, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x02, 0x01, 0x5e, 0x20, 0x00, 0x16, 0x10, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xc6, 0x22,
- 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x02, 0x01, 0x5e, 0x20, 0x00, 0x16, 0x09, 0x07, 0xa0,
- 0x01, 0x04, 0xdb, 0x86, 0x01, 0x85, 0x58, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xc5, 0x6a,
- 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00,
- 0x13, 0xee, 0x01, 0xc0, 0x00, 0x80, 0x01, 0xc5, 0x58, 0x00, 0x10, 0xee, 0x07, 0x8e, 0x80, 0x20,
- 0xc2, 0x60, 0x01, 0x62, 0x04, 0xe0, 0x01, 0x62, 0x07, 0x8c, 0x09, 0x34, 0xcf, 0x1e, 0x11, 0x16,
- 0xc3, 0x5e, 0xc3, 0xfe, 0xcf, 0x1e, 0xe3, 0x5e, 0xa3, 0xfe, 0xcf, 0x1e, 0xe3, 0x5e, 0x13, 0x0e,
- 0xa3, 0xfe, 0x83, 0xfe, 0x16, 0x0b, 0xc3, 0x7e, 0x05, 0x4d, 0x83, 0x6e, 0xff, 0xf6, 0x16, 0x06,
- 0x02, 0x8e, 0x80, 0x30, 0x16, 0xf8, 0xc8, 0x09, 0x01, 0x62, 0x04, 0x5b, 0xc8, 0x09, 0x01, 0x62,
- 0x07, 0x20, 0x09, 0x34, 0x04, 0x5b, 0x04, 0xe0, 0x01, 0x68, 0xc8, 0x20, 0x07, 0xe4, 0x01, 0x18,
- 0xc3, 0x60, 0x07, 0xe2, 0x07, 0x8f, 0x00, 0x81, 0xd3, 0xe0, 0x07, 0xf4, 0x01, 0x4d, 0x40, 0x00,
- 0x16, 0x01, 0x05, 0x8f, 0xc8, 0x0f, 0x07, 0xf8, 0x07, 0x8f, 0x00, 0x81, 0xd3, 0xe0, 0x07, 0xee,
- 0x01, 0x4d, 0x80, 0x00, 0x16, 0x01, 0x05, 0x8f, 0xc8, 0x0f, 0x07, 0xee, 0x01, 0x8d, 0xc0, 0x00,
- 0xc8, 0x0d, 0x01, 0x1a, 0x04, 0x60, 0xc4, 0x16, 0x07, 0x8c, 0xee, 0x00, 0x06, 0xa0, 0x90, 0x94,
- 0x07, 0x8c, 0xed, 0x90, 0x06, 0xa0, 0x90, 0x94, 0x04, 0xe0, 0x01, 0x04, 0x04, 0x60, 0xc5, 0x6a,
- 0x02, 0x85, 0x00, 0x0e, 0x1a, 0x05, 0x01, 0x09, 0x0f, 0x00, 0x13, 0x02, 0x04, 0x60, 0xdd, 0x6a,
- 0x99, 0x49, 0xea, 0xd0, 0x04, 0x60, 0xdd, 0x54, 0x20, 0x00, 0xb3, 0xcc, 0x00, 0x14, 0x07, 0x8b,
- 0x01, 0x04, 0x01, 0x5b, 0x20, 0x00, 0x16, 0xfd, 0xd8, 0x20, 0x07, 0xdf, 0x01, 0x17, 0x07, 0x9b,
- 0xdf, 0x80, 0x20, 0x00, 0xff, 0xc0, 0x00, 0x2a, 0x03, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x01, 0x00,
- 0x00, 0x80, 0x06, 0x4e, 0x02, 0x01, 0xef, 0xfa, 0xcc, 0x4d, 0xcc, 0x4e, 0xc4, 0x4f, 0x02, 0x00,
- 0x00, 0x01, 0xc8, 0x00, 0xef, 0xe0, 0x88, 0x00, 0xef, 0xe0, 0x13, 0xfd, 0x02, 0xe0, 0xef, 0xe0,
- 0x03, 0x80, 0x20, 0x00, 0xae, 0x00, 0x00, 0xaa, 0xc3, 0xce, 0x10, 0x32, 0x00, 0x00, 0xc0, 0x3c,
- 0x08, 0x4e, 0x00, 0x00, 0xc0, 0x20, 0x07, 0x78, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x01, 0x0c,
- 0x00, 0x08, 0x08, 0x62, 0x03, 0xf8, 0x00, 0x06, 0x00, 0x00, 0x12, 0x00, 0x00, 0x02, 0x08, 0x7e,
- 0x01, 0x8c, 0x00, 0x02, 0x07, 0x78, 0x07, 0xff, 0x00, 0x06, 0x07, 0x7e, 0xfc, 0x76, 0xbe, 0xad,
- 0x01, 0x0a, 0x00, 0x08, 0x07, 0x8a, 0x00, 0x06, 0x00, 0x00, 0xcf, 0x7a, 0x11, 0x28, 0x00, 0x04,
- 0x13, 0xa0, 0x13, 0xa0, 0x90, 0x2a, 0x00, 0x02, 0x08, 0x96, 0x97, 0x6a, 0xc0, 0x04, 0x08, 0x9e,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9d, 0xc8, 0x01, 0x80, 0x01, 0x00, 0x01, 0x38, 0x01, 0x7c,
- 0x01, 0xce, 0x02, 0x32, 0x02, 0xae, 0x03, 0x42, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0xcc, 0x00, 0x20, 0x00, 0xb2, 0x98, 0x00, 0x04, 0x02, 0x09, 0x14, 0x00, 0x20, 0x00, 0xb2, 0xa8,
- 0x00, 0x02, 0x90, 0x00, 0x20, 0x00, 0xb1, 0x00, 0x00, 0x02, 0x90, 0x00, 0x20, 0x00, 0xf8, 0x08,
- 0x00, 0x02, 0x90, 0x00, 0x20, 0x00, 0xc8, 0xbe, 0x00, 0x04, 0xc2, 0xcb, 0xc2, 0xcb, 0x20, 0x00,
- 0xbf, 0xb4, 0x00, 0x08, 0x88, 0x0b, 0x07, 0x98, 0x88, 0x0b, 0x07, 0x78, 0x20, 0x00, 0xc0, 0x54,
- 0x00, 0x04, 0x06, 0xa0, 0xfa, 0x06, 0x20, 0x00, 0xc0, 0x5e, 0x00, 0x04, 0x07, 0x84, 0x07, 0x7a,
- 0x20, 0x00, 0xc0, 0xc2, 0x00, 0x04, 0x04, 0x60, 0xfa, 0x10, 0x20, 0x00, 0xc9, 0xc0, 0x00, 0x02,
- 0x16, 0xe2, 0x20, 0x00, 0xc9, 0xc2, 0x00, 0x04, 0x06, 0xa0, 0xfa, 0x42, 0x20, 0x00, 0xc9, 0xe8,
- 0x00, 0x04, 0x04, 0x60, 0xca, 0x0c, 0x20, 0x00, 0xb9, 0xa0, 0x00, 0x04, 0x04, 0x60, 0x98, 0xa0,
- 0x20, 0x00, 0xbb, 0x92, 0x00, 0x04, 0x06, 0xa0, 0x9a, 0xf4, 0x20, 0x00, 0xbc, 0x20, 0x00, 0x04,
- 0xc1, 0xe0, 0xfc, 0x02, 0x20, 0x00, 0xc5, 0x5c, 0x00, 0x04, 0x04, 0x60, 0xfc, 0xec, 0x20, 0x00,
- 0xc5, 0xa2, 0x00, 0x04, 0x04, 0x60, 0xfc, 0x78, 0x20, 0x00, 0xc5, 0xda, 0x00, 0x04, 0x04, 0x60,
- 0xfc, 0xc6, 0x20, 0x00, 0xc6, 0x1c, 0x00, 0x04, 0x04, 0x60, 0xfd, 0x0e, 0x20, 0x00, 0xc2, 0xe6,
- 0x00, 0x06, 0x01, 0x20, 0x01, 0x00, 0x00, 0x80, 0x20, 0x00, 0xc3, 0xd4, 0x00, 0x02, 0x01, 0x17,
- 0x20, 0x00, 0xa2, 0xca, 0x00, 0x02, 0xc5, 0x60, 0x20, 0x00, 0xa2, 0xd2, 0x00, 0x02, 0xfd, 0x24,
- 0x20, 0x00, 0xa2, 0xf2, 0x00, 0x02, 0xfd, 0x24, 0x20, 0x00, 0xa3, 0x18, 0x00, 0x02, 0xce, 0x98,
- 0x20, 0x00, 0xc5, 0x6e, 0x00, 0x02, 0x10, 0x0c, 0x20, 0x00, 0xc4, 0x0c, 0x00, 0x04, 0x06, 0xa0,
- 0xfd, 0xaa, 0x20, 0x00, 0xcc, 0x38, 0x00, 0x02, 0xc7, 0x7e, 0x20, 0x00, 0xa0, 0xc4, 0x00, 0x02,
- 0xc7, 0x7e, 0x20, 0x00, 0xc5, 0xec, 0x00, 0x02, 0xc7, 0xb4, 0x20, 0x00, 0xa0, 0xc0, 0x00, 0x02,
- 0xc7, 0xb4, 0x20, 0x00, 0xc5, 0x14, 0x00, 0x04, 0x04, 0x60, 0xfd, 0xec, 0x20, 0x00, 0xc4, 0xe6,
- 0x00, 0x04, 0x06, 0xa0, 0xfd, 0x60, 0x20, 0x00, 0xc8, 0x2c, 0x00, 0x02, 0x06, 0x69, 0x20, 0x00,
- 0xcc, 0x60, 0x00, 0x02, 0x06, 0x69, 0x20, 0x00, 0xdc, 0x68, 0x00, 0x02, 0x04, 0x5c, 0x20, 0x00,
- 0xdc, 0xb8, 0x00, 0x04, 0x04, 0x60, 0xf8, 0x30, 0x20, 0x00, 0xdd, 0x50, 0x00, 0x04, 0x04, 0x60,
- 0xfe, 0x04, 0x20, 0x80, 0xb4, 0x88, 0x00, 0x02, 0xfb, 0x88, 0x20, 0x80, 0xdf, 0x06, 0x00, 0x02,
- 0x08, 0xa8, 0x20, 0x00, 0xa0, 0x34, 0x00, 0x0a, 0x00, 0x02, 0x28, 0xf1, 0xf0, 0xf1, 0xf8, 0xe7,
- 0xe7, 0xe7, 0x20, 0x00, 0xb2, 0x3c, 0x00, 0x02, 0x06, 0x03, 0x20, 0x00, 0xa1, 0x16, 0x00, 0x02,
- 0x9c, 0x56, 0x20, 0x00, 0xa1, 0x1a, 0x00, 0x02, 0x98, 0x4e, 0x20, 0x00, 0xa1, 0x1c, 0x00, 0x04,
- 0x08, 0x4e, 0x95, 0xa8, 0x20, 0x00, 0xa1, 0x22, 0x00, 0x02, 0xfa, 0x76, 0x20, 0x00, 0xa1, 0x66,
- 0x00, 0x02, 0xf8, 0x9a, 0x20, 0x00, 0xa1, 0x6e, 0x00, 0x02, 0x9a, 0x22, 0x20, 0x00, 0xa1, 0x72,
- 0x00, 0x02, 0x9b, 0x56, 0x20, 0x00, 0xa1, 0x7a, 0x00, 0x02, 0x9a, 0xb0, 0x20, 0x00, 0xa1, 0x80,
- 0x00, 0x04, 0xef, 0xc0, 0xff, 0xc0, 0x20, 0x00, 0xa1, 0x9c, 0x00, 0x02, 0x9d, 0xb8, 0x20, 0x00,
- 0xa0, 0xb0, 0x00, 0x02, 0xce, 0xe8, 0x20, 0x00, 0xa0, 0xac, 0x00, 0x02, 0x07, 0x78, 0x20, 0x00,
- 0xa2, 0xe6, 0x00, 0x02, 0xfc, 0x1c, 0x20, 0x00, 0xf5, 0xc4, 0x00, 0x02, 0x00, 0x02, 0x20, 0x00,
- 0xf6, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x20, 0x00, 0xf6, 0xae, 0x00, 0x02, 0x00, 0x02, 0x20, 0x00,
- 0xf5, 0xfa, 0x00, 0x02, 0x02, 0x00, 0x20, 0x00, 0xf6, 0x18, 0x00, 0x02, 0x02, 0x00, 0x20, 0x00,
- 0xc5, 0xc8, 0x00, 0x04, 0xc2, 0xa0, 0x07, 0xf8, 0x20, 0x00, 0xc6, 0x9a, 0x00, 0x04, 0xc2, 0xa0,
- 0x07, 0xf8, 0x20, 0x00, 0xc6, 0xdc, 0x00, 0x04, 0xc2, 0xa0, 0x07, 0xf8, 0x20, 0x00, 0xcc, 0x24,
- 0x00, 0x04, 0xc2, 0xa0, 0x07, 0xee, 0x20, 0x00, 0xa3, 0x64, 0x00, 0x02, 0x07, 0xf8, 0x20, 0x00,
- 0xa3, 0x6e, 0x00, 0x02, 0x07, 0xf8, 0x20, 0x00, 0xc3, 0xa6, 0x00, 0x02, 0x3f, 0xfe, 0x20, 0x00,
- 0xa4, 0x46, 0x00, 0x02, 0x07, 0x08, 0x30, 0x00, 0x90, 0xf0, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0x92, 0x2a, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0x93, 0x5c, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0x94, 0x5a, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0x95, 0x16, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xcf, 0xe2, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd0, 0x14, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd0, 0x5e, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd0, 0x98, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd0, 0xea, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd1, 0x52, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd1, 0x76, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd1, 0xb6, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd1, 0xec, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd2, 0x3c, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd2, 0xca, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd3, 0x30, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd4, 0x5a, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd4, 0xaa, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd4, 0xea, 0x00, 0x06,
- 0xc3, 0xa0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd5, 0x0a, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd5, 0x54, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd5, 0xae, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xfb, 0x9e, 0x00, 0x06,
- 0xc1, 0xe0, 0xf0, 0x00, 0x11, 0x14, 0x30, 0x00, 0xc7, 0x4e, 0x00, 0x06, 0x01, 0x60, 0xf0, 0x00,
- 0x80, 0x00, 0x30, 0x00, 0xc7, 0x86, 0x00, 0x06, 0x01, 0x60, 0xf0, 0x00, 0x80, 0x00, 0x30, 0x00,
- 0xc7, 0xbc, 0x00, 0x06, 0x01, 0x60, 0xf0, 0x00, 0x80, 0x00, 0x30, 0x00, 0x95, 0x5e, 0x00, 0x04,
- 0xed, 0x03, 0xed, 0x03, 0x30, 0x00, 0x95, 0x8a, 0x00, 0x04, 0xed, 0x03, 0xed, 0x03, 0x34, 0x00,
- 0x91, 0xa4, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00, 0x92, 0x44, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00,
- 0x93, 0x78, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00, 0x94, 0x7a, 0x00, 0x02, 0x68, 0x82, 0x34, 0x00,
- 0x95, 0x32, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00, 0x95, 0x6c, 0x00, 0x02, 0x68, 0x82, 0x34, 0x00,
- 0x95, 0x98, 0x00, 0x02, 0x68, 0x82, 0x34, 0x00, 0x95, 0xda, 0x00, 0x02, 0x20, 0x82, 0x38, 0x00,
- 0xd0, 0x76, 0x00, 0x02, 0xe0, 0x82, 0x38, 0x00, 0xd0, 0xca, 0x00, 0x02, 0xe0, 0x82, 0x38, 0x00,
- 0xd4, 0x3a, 0x00, 0x02, 0xe0, 0x82, 0x20, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xf9, 0xe0, 0x20, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0xe5, 0x18, 0x20, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x5b, 0x58, 0x20, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0x83, 0xa0, 0x30, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xae, 0x4f, 0x30, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0x2f, 0xfc, 0x30, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x0f, 0xc7, 0x30, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0xce, 0x84, 0x34, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xae, 0x4f, 0x34, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0x2f, 0xf4, 0x34, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x0f, 0xc7, 0x34, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0xce, 0x7c, 0x38, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xae, 0x52, 0x38, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0x2f, 0xf1, 0x38, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x0f, 0xca, 0x38, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0xce, 0x79, 0x00, 0x00, 0x80, 0x00, 0x09, 0xfc, 0x53, 0x4d, 0x41, 0x43,
- 0x2e, 0x30, 0x30, 0x2e, 0x33, 0x38, 0x20, 0x20, 0x28, 0x43, 0x29, 0x20, 0x43, 0x6f, 0x70, 0x79,
- 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4f, 0x6c, 0x69, 0x63, 0x6f, 0x6d, 0x20, 0x31, 0x39, 0x39,
- 0x38, 0x2e, 0x00, 0x00, 0x07, 0xa0, 0x13, 0x04, 0xc4, 0x00, 0x01, 0x60, 0x09, 0x6a, 0x80, 0x00,
- 0x16, 0x03, 0x01, 0xa0, 0x09, 0x6a, 0x00, 0x60, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x40, 0x16, 0x34,
- 0x01, 0x20, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x30, 0xd8, 0x20, 0x09, 0x2e, 0x13, 0x06, 0xd8, 0x20,
- 0x01, 0x80, 0x13, 0x08, 0xd8, 0x20, 0x01, 0x82, 0x13, 0x0a, 0x07, 0xa0, 0x13, 0x00, 0x87, 0xe0,
- 0x07, 0xa0, 0x13, 0x02, 0xed, 0xb6, 0x07, 0xa0, 0x13, 0x14, 0x00, 0x04, 0x06, 0xa0, 0x84, 0xd0,
- 0x07, 0xa0, 0x13, 0x0c, 0x04, 0x00, 0xd8, 0x20, 0xef, 0x54, 0x09, 0x2e, 0x01, 0xe0, 0x13, 0x0c,
- 0x10, 0x00, 0x01, 0xa0, 0x13, 0x0c, 0x28, 0x00, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x20, 0x16, 0x03,
- 0x01, 0xe0, 0x13, 0x0c, 0x28, 0x00, 0x07, 0xa0, 0x13, 0x4c, 0x00, 0x02, 0x02, 0x0a, 0x00, 0x02,
- 0x01, 0xe0, 0x13, 0x0e, 0x01, 0x80, 0x10, 0x09, 0x07, 0xa0, 0x13, 0x00, 0xdb, 0xc4, 0x07, 0xa0,
- 0x13, 0x02, 0xea, 0xb0, 0x01, 0xa0, 0x13, 0x0c, 0x38, 0x00, 0x06, 0xa0, 0xdc, 0x32, 0xc2, 0xe0,
- 0x13, 0x00, 0x04, 0x5b, 0x01, 0x4e, 0x00, 0x40, 0x16, 0x02, 0x04, 0x60, 0xcc, 0xb4, 0x02, 0x0d,
- 0x12, 0x00, 0x04, 0x60, 0xcc, 0xa6, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x13, 0x02, 0x04, 0x60,
- 0xe3, 0xce, 0xc8, 0x0b, 0x13, 0x52, 0x06, 0xa0, 0xe3, 0xce, 0xd8, 0x20, 0xe0, 0x0a, 0xfc, 0x06,
- 0xc2, 0xe0, 0x13, 0x52, 0x04, 0x5b, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x06, 0x02, 0x84,
- 0x00, 0x12, 0x13, 0x15, 0x02, 0x84, 0x00, 0x14, 0x13, 0x2d, 0x06, 0xa0, 0xe3, 0xce, 0x01, 0x60,
- 0x13, 0x0c, 0x10, 0x00, 0x16, 0x0a, 0xd8, 0x20, 0xe0, 0x0a, 0x04, 0x06, 0x88, 0x20, 0x13, 0x54,
- 0x03, 0xf8, 0x13, 0x03, 0x07, 0xa0, 0x03, 0xf8, 0x81, 0x8c, 0x04, 0x60, 0xdb, 0x96, 0x02, 0x04,
- 0x00, 0x08, 0x06, 0xa0, 0xe3, 0xce, 0x07, 0xa0, 0x03, 0xf8, 0x81, 0x8c, 0x02, 0x05, 0x04, 0x04,
- 0x02, 0x06, 0xef, 0x5c, 0xcd, 0x76, 0xcd, 0x76, 0x02, 0x25, 0x00, 0x0c, 0xcd, 0x76, 0xcd, 0x76,
- 0xcd, 0x76, 0xcd, 0x60, 0x13, 0x12, 0xcd, 0x76, 0xcd, 0x60, 0x13, 0x4c, 0xcd, 0x76, 0xc5, 0x60,
- 0x09, 0x1e, 0x10, 0xe3, 0x02, 0x04, 0x00, 0x08, 0x06, 0xa0, 0xe3, 0xce, 0x07, 0xa0, 0x03, 0xf8,
- 0x81, 0x8c, 0x02, 0x05, 0x04, 0x04, 0x02, 0x06, 0xef, 0x6a, 0xcd, 0x76, 0xcd, 0x76, 0x02, 0x25,
- 0x00, 0x0c, 0xcd, 0x76, 0xcd, 0x76, 0x10, 0xd1, 0x04, 0x60, 0x87, 0xe0, 0x01, 0x4f, 0x00, 0x0a,
- 0x16, 0x03, 0x01, 0x4f, 0x00, 0x80, 0x04, 0x5b, 0x04, 0x60, 0xda, 0x04, 0xc0, 0xc3, 0x13, 0x06,
- 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x02, 0x01, 0xd6, 0x00, 0x80, 0x07, 0x86, 0x07, 0x36,
- 0x04, 0x60, 0xe3, 0x7a, 0xa0, 0x60, 0x13, 0x02, 0xc1, 0x11, 0x04, 0x54, 0x01, 0x48, 0x40, 0x00,
- 0x16, 0x06, 0x01, 0x88, 0x40, 0x00, 0x02, 0x28, 0xef, 0x00, 0x04, 0x60, 0xe0, 0x36, 0x02, 0x28,
- 0xe3, 0xee, 0x04, 0x60, 0xe0, 0x36, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x06, 0x02, 0x85,
- 0x00, 0x12, 0x13, 0x0a, 0x02, 0x85, 0x00, 0x14, 0x13, 0x07, 0x02, 0x85, 0x00, 0x15, 0x13, 0x24,
- 0x02, 0x85, 0x00, 0x10, 0x04, 0x60, 0xdd, 0x4c, 0x02, 0x03, 0x80, 0x02, 0x88, 0x24, 0x00, 0x14,
- 0xe0, 0x1c, 0x16, 0x19, 0x05, 0x83, 0x05, 0x83, 0x92, 0x60, 0xef, 0x9e, 0x16, 0x14, 0x05, 0x83,
- 0x99, 0x20, 0xe0, 0x0e, 0x00, 0x18, 0x16, 0x0f, 0x05, 0x83, 0x05, 0x83, 0x02, 0x85, 0x00, 0x12,
- 0x16, 0x05, 0x99, 0x20, 0xef, 0xa0, 0x00, 0x19, 0x16, 0x06, 0x10, 0x04, 0x99, 0x20, 0xef, 0xa1,
- 0x00, 0x19, 0x16, 0x01, 0x04, 0xc3, 0x04, 0x5c, 0x02, 0x03, 0x80, 0x02, 0x88, 0x24, 0x00, 0x14,
- 0xe0, 0x1e, 0x16, 0xf9, 0x05, 0x83, 0x05, 0x83, 0x92, 0x60, 0xef, 0x9e, 0x16, 0xf4, 0x04, 0xc3,
- 0x10, 0xf2, 0x02, 0x85, 0x00, 0x15, 0x13, 0x09, 0x02, 0x85, 0x00, 0x09, 0x13, 0x02, 0x06, 0xa0,
- 0xe2, 0xe4, 0xa1, 0x45, 0xc1, 0x65, 0xe3, 0xac, 0x04, 0x55, 0x06, 0xa0, 0xe1, 0xa2, 0x01, 0x60,
- 0x13, 0x0c, 0x04, 0x00, 0x16, 0x19, 0x01, 0x4f, 0x00, 0x80, 0x16, 0x09, 0x01, 0xe0, 0x13, 0x0e,
- 0x20, 0x00, 0x02, 0x03, 0x80, 0x10, 0x06, 0xa0, 0xe3, 0x56, 0x06, 0xa0, 0xe2, 0x72, 0x01, 0xe0,
- 0x13, 0x0e, 0x00, 0x10, 0x07, 0xa0, 0x13, 0x00, 0x87, 0xe0, 0x07, 0xa0, 0x13, 0x02, 0xed, 0xb6,
- 0x01, 0x8f, 0x00, 0x80, 0x02, 0x0a, 0x00, 0x08, 0x04, 0x60, 0x80, 0xbe, 0x02, 0x0d, 0x80, 0x00,
- 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x02, 0x02, 0x0d, 0x80, 0x80, 0x04, 0x52, 0x01, 0x60,
- 0x13, 0x0e, 0x20, 0x00, 0x16, 0x02, 0x02, 0x03, 0x82, 0x00, 0x04, 0x60, 0xdb, 0xb8, 0x02, 0x8f,
- 0x00, 0x06, 0x16, 0x56, 0x01, 0xe0, 0x13, 0x0e, 0x00, 0xa0, 0x05, 0xa0, 0x13, 0x16, 0x06, 0xa0,
- 0x85, 0x30, 0x02, 0x08, 0xc0, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd, 0x04, 0x00, 0x10, 0x48,
- 0x02, 0x8f, 0x00, 0x02, 0x16, 0x45, 0x02, 0x08, 0xc0, 0x42, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd,
- 0x08, 0x00, 0x10, 0x3e, 0x93, 0xe0, 0xef, 0xa3, 0x13, 0x03, 0x93, 0xe0, 0xef, 0xa4, 0x16, 0x38,
- 0xd2, 0xa0, 0xef, 0xa5, 0x10, 0x35, 0x02, 0x8f, 0x00, 0x06, 0x16, 0x32, 0x02, 0x03, 0x00, 0x03,
- 0x04, 0x60, 0x82, 0xc2, 0x93, 0xe0, 0xef, 0xa5, 0x16, 0x2b, 0x01, 0xe0, 0x13, 0x0e, 0x00, 0x80,
- 0x06, 0xa0, 0x85, 0x30, 0x04, 0xcf, 0x02, 0x0a, 0x00, 0x04, 0x02, 0x08, 0xc0, 0x1e, 0x06, 0xa0,
- 0xe0, 0x22, 0x02, 0x03, 0x68, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x02, 0x03, 0x80, 0x10, 0x06, 0xa0,
- 0xe3, 0x56, 0x10, 0x16, 0x02, 0x8f, 0x00, 0x04, 0x16, 0x13, 0x02, 0x03, 0x00, 0x03, 0x04, 0x60,
- 0x82, 0xc2, 0x02, 0x8f, 0x00, 0x02, 0x16, 0x7a, 0x01, 0x60, 0x13, 0x0e, 0x00, 0x08, 0x16, 0x02,
- 0x04, 0x60, 0x85, 0x56, 0x02, 0x0a, 0x00, 0x04, 0x02, 0x08, 0xc0, 0x1e, 0x06, 0xa0, 0xe0, 0x22,
- 0x10, 0x6d, 0x01, 0x60, 0x13, 0x0e, 0x40, 0x00, 0x16, 0x69, 0x02, 0x8f, 0x00, 0x06, 0x16, 0x07,
- 0x01, 0xe0, 0x13, 0x0e, 0x00, 0xa0, 0x05, 0xa0, 0x13, 0x16, 0x06, 0xa0, 0x85, 0x30, 0x02, 0x08,
- 0xc0, 0x30, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd, 0x01, 0x00, 0x10, 0x58, 0x93, 0xe0, 0xef, 0xa3,
- 0x16, 0x55, 0x02, 0x08, 0xc0, 0x36, 0x06, 0xa0, 0xe0, 0x22, 0x07, 0xa0, 0x07, 0x08, 0x00, 0x05,
- 0x01, 0x60, 0x13, 0x0e, 0x04, 0x00, 0x16, 0x03, 0x07, 0xa0, 0x07, 0x08, 0x00, 0x02, 0x02, 0x05,
- 0x03, 0xf8, 0x02, 0x04, 0x00, 0x04, 0x04, 0x60, 0x80, 0xfa, 0xc1, 0x20, 0x01, 0x84, 0x02, 0x44,
- 0x88, 0x00, 0x13, 0x12, 0x48, 0x04, 0x01, 0x84, 0x06, 0x20, 0x07, 0x02, 0x16, 0x08, 0x01, 0xe0,
- 0x13, 0x0e, 0x04, 0x00, 0x07, 0x83, 0xc0, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x2f, 0x02, 0x08,
- 0xc0, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x2a, 0x01, 0xe0, 0x01, 0x82, 0x40, 0x00, 0x06, 0xa0,
- 0xe0, 0x18, 0x07, 0x20, 0x07, 0x02, 0x01, 0x8e, 0x80, 0x00, 0x01, 0xa0, 0x13, 0x0e, 0x06, 0x00,
- 0x10, 0x1d, 0x02, 0x8f, 0x00, 0x02, 0x16, 0x1a, 0x01, 0x20, 0x13, 0x0e, 0x00, 0x40, 0x16, 0x16,
- 0xc2, 0x20, 0x13, 0x14, 0x13, 0x09, 0x06, 0x20, 0x13, 0x14, 0x02, 0x08, 0xc0, 0x42, 0x06, 0xa0,
- 0xe0, 0x22, 0x01, 0xcd, 0x08, 0x00, 0x10, 0x0a, 0x01, 0x60, 0x13, 0x0c, 0x20, 0x00, 0x13, 0x02,
- 0x04, 0x60, 0x85, 0x56, 0x02, 0x03, 0x00, 0x05, 0x04, 0x60, 0x82, 0xc2, 0x04, 0x60, 0x87, 0xe0,
- 0x02, 0x8f, 0x00, 0x06, 0x16, 0x04, 0x02, 0x03, 0x00, 0x05, 0x04, 0x60, 0x82, 0xc2, 0x01, 0x60,
- 0x13, 0x0e, 0x20, 0x00, 0x16, 0xf3, 0x93, 0xe0, 0xef, 0xa2, 0x16, 0xf0, 0x01, 0xa0, 0x13, 0x0e,
- 0x50, 0x80, 0x06, 0xa0, 0x85, 0x30, 0x01, 0xce, 0x00, 0x01, 0xd2, 0xa0, 0xef, 0xa3, 0x07, 0xa0,
- 0x07, 0x08, 0x00, 0x05, 0x01, 0x60, 0x13, 0x0e, 0x04, 0x00, 0x16, 0x03, 0x07, 0xa0, 0x07, 0x08,
- 0x00, 0x02, 0x02, 0x08, 0xc0, 0x36, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x0c, 0x06, 0xa0,
- 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0xd0, 0x02, 0x8f, 0x00, 0x08,
- 0x16, 0xcd, 0x07, 0xa0, 0x13, 0x14, 0x00, 0x0c, 0x04, 0x60, 0x80, 0x74, 0xc3, 0x0b, 0x06, 0xa0,
- 0x85, 0x48, 0x06, 0xa0, 0x84, 0xf2, 0xc2, 0xcc, 0x04, 0xe0, 0x13, 0x0e, 0x04, 0xe0, 0x13, 0x16,
- 0x04, 0xe0, 0x06, 0xdc, 0x04, 0xe0, 0x06, 0xde, 0x04, 0xe0, 0x06, 0xe0, 0x04, 0x5b, 0x02, 0x06,
- 0x00, 0x05, 0x02, 0x04, 0x13, 0x1a, 0xc1, 0x54, 0x13, 0x01, 0x2c, 0xd4, 0x02, 0x24, 0x00, 0x0a,
- 0x06, 0x06, 0x16, 0xf9, 0x04, 0x5b, 0x02, 0x06, 0x00, 0x05, 0x02, 0x04, 0x06, 0x72, 0xc1, 0x54,
- 0x13, 0x01, 0x2c, 0xd4, 0x02, 0x24, 0x00, 0x0a, 0x06, 0x06, 0x16, 0xf9, 0x04, 0x5b, 0x01, 0x60,
- 0x13, 0x0e, 0x08, 0x00, 0x16, 0x03, 0x01, 0xe0, 0x01, 0x82, 0x20, 0x00, 0x01, 0x60, 0x13, 0x0e,
- 0x00, 0x80, 0x16, 0x04, 0x01, 0xe0, 0x01, 0x82, 0x0a, 0x00, 0x10, 0x03, 0x01, 0xa0, 0x01, 0x82,
- 0x0a, 0x00, 0x04, 0x5b, 0x01, 0xa0, 0x01, 0x82, 0x28, 0x00, 0x01, 0xe0, 0x01, 0x82, 0x10, 0x00,
- 0x04, 0x5b, 0x06, 0xa0, 0x84, 0xf2, 0x04, 0xe0, 0x13, 0x0e, 0xd8, 0x20, 0x13, 0x06, 0x09, 0x2e,
- 0xd8, 0x20, 0x13, 0x08, 0x01, 0x80, 0xd8, 0x20, 0x13, 0x0a, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18,
- 0x04, 0x60, 0xe5, 0x62, 0xc0, 0x62, 0x00, 0x04, 0xc8, 0x22, 0x00, 0x06, 0x01, 0x6c, 0x02, 0x82,
- 0x04, 0x00, 0x1b, 0x0d, 0x01, 0x8e, 0x08, 0x00, 0x02, 0x8f, 0x00, 0x06, 0x16, 0x08, 0x06, 0x20,
- 0x13, 0x16, 0x16, 0x05, 0x01, 0xa0, 0x13, 0x0e, 0x00, 0xa0, 0x06, 0xa0, 0x85, 0x30, 0xc1, 0x22,
- 0x00, 0x0e, 0x04, 0x51, 0xc8, 0x02, 0x01, 0x6c, 0xa0, 0x82, 0xc8, 0x22, 0x0c, 0x32, 0xfc, 0x00,
- 0x02, 0x02, 0xfc, 0x00, 0x93, 0xe0, 0xe3, 0xaa, 0x13, 0x71, 0x06, 0xa0, 0xdc, 0xc6, 0x01, 0xa2,
- 0x00, 0x0e, 0x80, 0x00, 0xc8, 0x05, 0x06, 0xfc, 0xc0, 0xc3, 0x16, 0x43, 0x01, 0x22, 0x00, 0x16,
- 0x0f, 0x00, 0x16, 0x10, 0x88, 0x22, 0x00, 0x0e, 0x09, 0x6c, 0x16, 0x0c, 0x88, 0x22, 0x00, 0x10,
- 0x09, 0x6e, 0x16, 0x08, 0x88, 0x22, 0x00, 0x12, 0x09, 0x70, 0x16, 0x04, 0x06, 0xa0, 0xe1, 0xa2,
- 0x04, 0x60, 0x87, 0xe0, 0x98, 0xa0, 0xef, 0xa6, 0x00, 0x16, 0x13, 0x04, 0x98, 0xa0, 0xef, 0xa7,
- 0x00, 0x16, 0x16, 0x15, 0xc2, 0xe0, 0x06, 0xdc, 0x16, 0x06, 0xc2, 0xe0, 0x06, 0xde, 0x16, 0x03,
- 0xc2, 0xe0, 0x06, 0xe0, 0x13, 0x0c, 0x88, 0x22, 0x00, 0x0e, 0x06, 0xdc, 0x16, 0x71, 0x88, 0x22,
- 0x00, 0x10, 0x06, 0xde, 0x16, 0x6d, 0x88, 0x22, 0x00, 0x12, 0x06, 0xe0, 0x16, 0x69, 0x02, 0x85,
- 0x00, 0x09, 0x13, 0x0b, 0x02, 0x85, 0x00, 0x15, 0x13, 0x08, 0x02, 0x85, 0x00, 0x12, 0x13, 0x0d,
- 0x02, 0x85, 0x00, 0x14, 0x13, 0x0e, 0x06, 0xa0, 0xe2, 0xe4, 0xa1, 0x45, 0xc1, 0x65, 0xef, 0x72,
- 0x04, 0x55, 0x06, 0xa0, 0xe0, 0x6e, 0x04, 0x60, 0x87, 0xe0, 0xc8, 0x24, 0x00, 0x1a, 0x13, 0x4e,
- 0x10, 0xf4, 0xc8, 0x24, 0x00, 0x1a, 0x13, 0x50, 0x10, 0xf0, 0x01, 0x20, 0x13, 0x0e, 0x02, 0x00,
- 0x16, 0x07, 0x04, 0xe0, 0x01, 0x84, 0x01, 0xa0, 0x01, 0x82, 0x40, 0x00, 0x06, 0xa0, 0xe0, 0x18,
- 0x07, 0xa0, 0x07, 0x02, 0x00, 0x04, 0x01, 0xe0, 0x13, 0x0e, 0x02, 0x00, 0x01, 0xce, 0x80, 0x00,
- 0x02, 0x08, 0xc0, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0x87, 0xe0, 0x06, 0xa0, 0xe1, 0xa2,
- 0x04, 0x60, 0x87, 0xe0, 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x03, 0x00, 0x05, 0x01, 0x4f, 0x00, 0x80,
- 0x16, 0x02, 0x02, 0x03, 0x82, 0x00, 0x04, 0x60, 0x82, 0xc2, 0x01, 0x60, 0x13, 0x0e, 0x20, 0x00,
- 0x16, 0x24, 0x93, 0xe0, 0xef, 0xa2, 0x16, 0x0c, 0x01, 0x60, 0x13, 0x0e, 0x20, 0x00, 0x16, 0x28,
- 0x02, 0x03, 0xa0, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x01, 0xa0, 0x13, 0x0e, 0x50, 0x00, 0x10, 0x03,
- 0x93, 0xe0, 0xef, 0xa3, 0x16, 0x1d, 0x01, 0xce, 0x00, 0x02, 0xd2, 0xa0, 0xef, 0xa4, 0x02, 0x08,
- 0xc0, 0x0c, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x10,
- 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x03, 0x00, 0x0b, 0x10, 0x04, 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x03,
- 0x00, 0x05, 0x01, 0x4f, 0x00, 0x80, 0x16, 0x02, 0x02, 0x03, 0x82, 0x00, 0x04, 0x60, 0x82, 0xc2,
- 0x10, 0xbd, 0x02, 0x8f, 0x00, 0x02, 0x13, 0xf1, 0x02, 0x8f, 0x00, 0x04, 0x13, 0xee, 0x01, 0x60,
- 0x13, 0x0e, 0x40, 0x00, 0x16, 0xf5, 0x02, 0x08, 0xc0, 0x48, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0xf0,
- 0x02, 0x8f, 0x00, 0x02, 0x16, 0xab, 0xc0, 0xe0, 0x13, 0x4e, 0x16, 0x0e, 0x01, 0x60, 0x13, 0x0c,
- 0x08, 0x00, 0x13, 0xa8, 0x01, 0xe0, 0x13, 0x0e, 0x00, 0x48, 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x08,
- 0xc0, 0x24, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x22, 0x02, 0x83, 0x00, 0x02, 0x16, 0xd9, 0xc8, 0x24,
- 0x00, 0x0e, 0x06, 0xdc, 0xc8, 0x24, 0x00, 0x10, 0x06, 0xde, 0xc8, 0x24, 0x00, 0x12, 0x06, 0xe0,
- 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x08, 0xc0, 0x24, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xe0, 0x13, 0x0e,
- 0x00, 0x40, 0xc0, 0xe0, 0x13, 0x12, 0x16, 0x04, 0x01, 0xa0, 0x13, 0x0e, 0x08, 0x01, 0x10, 0x06,
- 0x02, 0x83, 0x00, 0x01, 0x16, 0x03, 0x01, 0xe0, 0x13, 0x0e, 0x08, 0x01, 0x10, 0x17, 0x02, 0x8f,
- 0x00, 0x06, 0x16, 0xb6, 0xc0, 0xe0, 0x13, 0x50, 0x02, 0x83, 0x00, 0x00, 0x16, 0x05, 0x06, 0xa0,
- 0xe1, 0xa2, 0x02, 0x0a, 0x00, 0x0a, 0x10, 0x0a, 0x02, 0x83, 0x80, 0x20, 0x16, 0x04, 0x02, 0x03,
- 0x00, 0x08, 0x04, 0x60, 0x82, 0xc2, 0x16, 0xa4, 0x04, 0x60, 0xda, 0x04, 0x92, 0xa0, 0xe0, 0x26,
- 0x16, 0x0d, 0xd3, 0xe0, 0xe0, 0x26, 0x01, 0x4f, 0x00, 0x80, 0x13, 0x07, 0xc1, 0x0a, 0x83, 0xc4,
- 0x13, 0x08, 0xc3, 0xc4, 0xc1, 0x24, 0xed, 0xd6, 0x04, 0x54, 0x10, 0x03, 0x93, 0xca, 0x13, 0xec,
- 0xd3, 0xca, 0x03, 0xb0, 0xd8, 0x0f, 0x06, 0x59, 0x71, 0x04, 0xc1, 0x24, 0xed, 0xe2, 0x04, 0x54,
- 0xf8, 0x20, 0xef, 0x54, 0x01, 0x80, 0xf8, 0x20, 0xef, 0x56, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18,
- 0x2e, 0xe0, 0x00, 0x00, 0xc8, 0x20, 0x09, 0x6c, 0x01, 0xa0, 0xc8, 0x20, 0x09, 0x6e, 0x01, 0xa2,
- 0xc8, 0x20, 0x09, 0x70, 0x01, 0xa4, 0x02, 0x08, 0xc0, 0x06, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0xcc,
- 0x07, 0xa0, 0x06, 0xc6, 0x02, 0x00, 0x07, 0xa0, 0x06, 0xc8, 0x00, 0x02, 0xd8, 0x20, 0xef, 0x58,
- 0x09, 0x2e, 0xd8, 0x20, 0xef, 0x58, 0x01, 0x80, 0xd8, 0x20, 0xef, 0x5a, 0x01, 0x82, 0x06, 0xa0,
- 0xe0, 0x18, 0x04, 0xe0, 0x01, 0x9e, 0x02, 0x08, 0xc0, 0x2a, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x04,
- 0x00, 0x0a, 0x02, 0x05, 0x03, 0xf4, 0x06, 0xa0, 0xe3, 0xce, 0x07, 0xa0, 0x03, 0xf8, 0x88, 0x94,
- 0x01, 0x4e, 0x08, 0x00, 0x13, 0xa9, 0x01, 0xce, 0x08, 0x00, 0x2e, 0xa0, 0x03, 0xf4, 0x10, 0xa4,
- 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x9f, 0x92, 0xa0, 0xe0, 0x26, 0x16, 0x9c,
- 0x02, 0x44, 0x5e, 0x00, 0x16, 0x0b, 0x06, 0x20, 0x06, 0xc6, 0x16, 0xdd, 0x02, 0x0a, 0x00, 0x06,
- 0x10, 0x95, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x8e, 0x06, 0x20, 0x06, 0xc8,
- 0x16, 0xc5, 0x04, 0x60, 0xe6, 0x6a, 0xd8, 0x20, 0xef, 0x54, 0x09, 0x2e, 0xd8, 0x20, 0xef, 0x54,
- 0x01, 0x80, 0xd8, 0x20, 0xef, 0x56, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18, 0x01, 0xe0, 0x13, 0x0e,
- 0x40, 0x20, 0x07, 0xa0, 0x13, 0x16, 0x00, 0x01, 0x02, 0x08, 0xc0, 0x30, 0x06, 0xa0, 0xe0, 0x22,
- 0x02, 0x08, 0xc0, 0x48, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x12, 0x06, 0xa0, 0xe0, 0x22,
- 0x02, 0x08, 0xc0, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd, 0x04, 0x00, 0x04, 0x60, 0x87, 0xe0,
- 0x06, 0xa0, 0x85, 0x48, 0x01, 0xce, 0x00, 0x20, 0x2e, 0xe0, 0x00, 0x00, 0x04, 0xcd, 0x06, 0xa0,
- 0x85, 0x0a, 0x02, 0x08, 0xc0, 0x4e, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0x87, 0xe0, 0x01, 0xa0,
- 0x13, 0x0e, 0x00, 0x80, 0x06, 0xa0, 0x85, 0x22, 0x01, 0xcf, 0x00, 0x80, 0x01, 0xe0, 0x13, 0x0e,
- 0x10, 0x00, 0x01, 0x60, 0x13, 0x0e, 0x00, 0x01, 0x16, 0x04, 0x07, 0x88, 0x80, 0x06, 0x06, 0xa0,
- 0xe0, 0x22, 0x01, 0x20, 0x13, 0x0e, 0x20, 0x00, 0x16, 0x07, 0x01, 0xe0, 0x13, 0x0e, 0x20, 0x00,
- 0x04, 0xc3, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x0e, 0x01, 0x8e, 0x00, 0x03, 0x02, 0x03, 0x00, 0x10,
- 0x06, 0xa0, 0xe3, 0x56, 0x01, 0x60, 0x13, 0x0e, 0x00, 0x10, 0x16, 0x04, 0x02, 0x03, 0x80, 0x08,
- 0x06, 0xa0, 0xe3, 0x56, 0xc8, 0x20, 0xe4, 0x6e, 0x01, 0x86, 0x2e, 0xe0, 0x00, 0x01, 0x01, 0x8e,
- 0x00, 0x20, 0x04, 0x60, 0x87, 0xdc, 0x02, 0x03, 0xa8, 0x00, 0x01, 0x60, 0x07, 0x08, 0x00, 0x02,
- 0x16, 0x02, 0x02, 0x03, 0xe8, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x01, 0x4e, 0x00, 0x20, 0x13, 0x06,
- 0x01, 0xce, 0x00, 0x20, 0x2e, 0xe0, 0x00, 0x00, 0xc0, 0x41, 0x16, 0xfa, 0x06, 0xa0, 0xe1, 0x2e,
- 0x02, 0x4a, 0xff, 0x00, 0x02, 0x4f, 0xff, 0x80, 0x02, 0x05, 0x03, 0xf8, 0x02, 0x04, 0x00, 0x04,
- 0x04, 0x60, 0x80, 0xfa, 0x02, 0x4a, 0xff, 0x00, 0x02, 0x4f, 0xff, 0x80, 0x04, 0x60, 0x87, 0xdc,
- 0x06, 0xa0, 0x85, 0x48, 0x04, 0x60, 0x87, 0xdc, 0x06, 0xa0, 0x84, 0xf2, 0x04, 0xe0, 0x13, 0x0e,
- 0x01, 0xce, 0x00, 0x08, 0x04, 0x60, 0xe7, 0xf6, 0x00, 0x00, 0x89, 0xfc, 0x06, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0xad, 0x90, 0x00, 0x62, 0xc0, 0x80, 0x13, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x00,
- 0xdb, 0xc4, 0x00, 0x02, 0x13, 0x02, 0xea, 0xb0, 0x00, 0x02, 0x13, 0x54, 0xdc, 0x16, 0x00, 0x02,
- 0x09, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x13, 0x12, 0x00, 0x01, 0x00, 0x00, 0xda, 0x88, 0xda, 0x7c,
- 0x86, 0x6e, 0xda, 0xa6, 0xda, 0x9e, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xda, 0xa8, 0x85, 0xa8,
- 0x85, 0x78, 0xdb, 0x78, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x9e, 0x88, 0x14,
- 0x88, 0x44, 0x88, 0xca, 0x89, 0x14, 0x89, 0x32, 0xdb, 0xf6, 0x89, 0x9a, 0x89, 0xd8, 0x89, 0xe4,
- 0xe4, 0x6e, 0xdb, 0x9e, 0x89, 0xec, 0xdb, 0x9e, 0x00, 0x00, 0xaf, 0x00, 0x00, 0xa8, 0x13, 0x24,
- 0x82, 0xd2, 0x00, 0x14, 0x13, 0x1a, 0x82, 0xf4, 0x00, 0x04, 0x13, 0x38, 0x83, 0x08, 0x02, 0xbc,
- 0x13, 0x1a, 0x83, 0x1a, 0x07, 0x08, 0x13, 0x1a, 0x83, 0x28, 0x03, 0xe8, 0x13, 0x1a, 0x83, 0x58,
- 0x00, 0xf0, 0x13, 0x1a, 0x83, 0x66, 0x00, 0x14, 0x13, 0x24, 0x88, 0xb6, 0x00, 0x04, 0x13, 0x2e,
- 0x83, 0x86, 0x00, 0x64, 0x13, 0x2e, 0x83, 0xb0, 0x00, 0x02, 0x13, 0x42, 0x83, 0xde, 0x00, 0x05,
- 0x13, 0x1a, 0x84, 0x26, 0x00, 0x04, 0x13, 0x38, 0x84, 0x64, 0x01, 0xf4, 0x13, 0x1a, 0x84, 0xc0,
- 0x00, 0x14, 0xae, 0x00, 0xd9, 0x00, 0x02, 0x00, 0xd9, 0x00, 0x00, 0x1e, 0x10, 0x00, 0x00, 0x10,
- 0x30, 0x11, 0x04, 0x0c, 0x04, 0x0e, 0x04, 0x21, 0x00, 0x12, 0x10, 0x00, 0x00, 0x04, 0x30, 0x13,
- 0xdb, 0xa8, 0xe8, 0x7c, 0x86, 0xbe, 0x86, 0xa8, 0x86, 0xa8, 0x87, 0x26, 0x86, 0xa8, 0xeb, 0xf2,
- 0xdb, 0xa8, 0x86, 0xa0, 0xec, 0x04, 0xe8, 0x62, 0xec, 0x10, 0xec, 0x10, 0xed, 0x3a, 0xed, 0x44,
- 0xed, 0x4e, 0x86, 0xa0, 0x87, 0x44, 0x86, 0xa0, 0x87, 0xb2, 0x86, 0xa0, 0x03, 0x00, 0x0f, 0x0d,
- 0x00, 0x02, 0x04, 0x06, 0x00, 0x03, 0x00, 0x00, 0xb2, 0xa8, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00,
- 0xb1, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00,
- 0xb9, 0x0c, 0x00, 0x06, 0x48, 0x20, 0x13, 0x04, 0x01, 0x80, 0x00, 0x00, 0xba, 0x38, 0x00, 0x06,
- 0x48, 0x20, 0x13, 0x04, 0x01, 0x80, 0x00, 0x00, 0xbc, 0x88, 0x00, 0x06, 0x48, 0x20, 0x13, 0x04,
- 0x01, 0x80, 0x00, 0x00, 0xca, 0xaa, 0x00, 0x04, 0x04, 0x60, 0x82, 0xb0, 0x00, 0x00, 0xc8, 0x2c,
- 0x00, 0x02, 0x06, 0x09, 0x00, 0x00, 0xcc, 0x60, 0x00, 0x02, 0x06, 0x09, 0x00, 0x00, 0xdb, 0x1c,
- 0x00, 0x04, 0x04, 0x60, 0x82, 0x56, 0x00, 0x00, 0xe0, 0xc8, 0x00, 0x02, 0x80, 0xda, 0x00, 0x00,
- 0xed, 0x74, 0x00, 0x02, 0x80, 0xda, 0x00, 0x00, 0xed, 0x94, 0x00, 0x02, 0x80, 0xda, 0x00, 0x00,
- 0xe7, 0xae, 0x00, 0x04, 0x06, 0xa0, 0x81, 0x90, 0x00, 0x00, 0xe5, 0xb0, 0x00, 0x04, 0x04, 0x60,
- 0x80, 0x28, 0x00, 0x00, 0xdb, 0xc0, 0x00, 0x04, 0x04, 0x60, 0x80, 0xbe, 0x00, 0x00, 0xda, 0x76,
- 0x00, 0x04, 0x04, 0x60, 0x81, 0xb8, 0x00, 0x00, 0xe0, 0x32, 0x00, 0x04, 0x04, 0x60, 0x81, 0xc0,
- 0x00, 0x00, 0xdb, 0x92, 0x00, 0x04, 0x04, 0x60, 0x80, 0xfa, 0x00, 0x00, 0xe3, 0x76, 0x00, 0x04,
- 0x04, 0x60, 0x81, 0xa0, 0x00, 0x00, 0xdd, 0x48, 0x00, 0x04, 0x04, 0x60, 0x81, 0xda, 0x00, 0x00,
- 0xcc, 0xa2, 0x00, 0x04, 0x04, 0x60, 0x80, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 };
-
-#endif /* OLTR_NO_TMS_MAC */
diff --git a/sys/contrib/softupdates/README b/sys/contrib/softupdates/README
deleted file mode 100644
index 8a7433b61e9e..000000000000
--- a/sys/contrib/softupdates/README
+++ /dev/null
@@ -1,320 +0,0 @@
-Introduction
-
-This package constitutes the alpha distribution of the soft update
-code updates for the fast filesystem.
-
-For More information on what Soft Updates is, see:
-http://www.ece.cmu.edu/~ganger/papers/CSE-TR-254-95/
-
-Status
-
-My `filesystem torture tests' (described below) run for days without
-a hitch (no panic's, hangs, filesystem corruption, or memory leaks).
-However, I have had several panic's reported to me by folks that
-are field testing the code which I have not yet been able to
-reproduce or fix. Although these panic's are rare and do not cause
-filesystem corruption, the code should only be put into production
-on systems where the system administrator is aware that it is being
-run, and knows how to turn it off if problems arise. Thus, you may
-hand out this code to others, but please ensure that this status
-message is included with any distributions. Please also include
-the file ffs_softdep.stub.c in any distributions so that folks that
-cannot abide by the need to redistribute source will not be left
-with a kernel that will not link. It will resolve all the calls
-into the soft update code and simply ignores the request to enable
-them. Thus you will be able to ensure that your other hooks have
-not broken anything and that your kernel is softdep-ready for those
-that wish to use them. Please report problems back to me with
-kernel backtraces of panics if possible. This is massively complex
-code, and people only have to have their filesystems hosed once or
-twice to avoid future changes like the plague. I want to find and
-fix as many bugs as soon as possible so as to get the code rock
-solid before it gets widely released. Please report any bugs that
-you uncover to mckusick@mckusick.com.
-
-Performance
-
-Running the Andrew Benchmarks yields the following raw data:
-
- Phase Normal Softdep What it does
- 1 3s <1s Creating directories
- 2 8s 4s Copying files
- 3 6s 6s Recursive directory stats
- 4 8s 9s Scanning each file
- 5 25s 25s Compilation
-
- Normal: 19.9u 29.2s 0:52.8 135+630io
- Softdep: 20.3u 28.5s 0:47.8 103+363io
-
-Another interesting datapoint are my `filesystem torture tests'.
-They consist of 1000 runs of the andrew benchmarks, 1000 copy and
-removes of /etc with randomly selected pauses of 0-60 seconds
-between each copy and remove, and 500 find from / with randomly
-selected pauses of 100 seconds between each run). The run of the
-torture test compares as follows:
-
-With soft updates: writes: 6 sync, 1,113,686 async; run time 19hr, 50min
-Normal filesystem: writes: 1,459,147 sync, 487,031 async; run time 27hr, 15min
-
-The upshot is 42% less I/O and 28% shorter running time.
-
-Another interesting test point is a full MAKEDEV. Because it runs
-as a shell script, it becomes mostly limited by the execution speed
-of the machine on which it runs. Here are the numbers:
-
-With soft updates:
-
- labrat# time ./MAKEDEV std
- 2.2u 32.6s 0:34.82 100.0% 0+0k 11+36io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Without soft updates:
-
- labrat# time ./MAKEDEV std
- 2.0u 40.5s 0:42.53 100.0% 0+0k 11+1221io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Of course, some of the system time is being pushed
-to the syncer process, but that is a different story.
-
-To show a benchmark designed to highlight the soft update code
-consider a tar of zero-sized files and an rm -rf of a directory tree
-that has at least 50 files or so at each level. Running a test with
-a directory tree containing 28 directories holding 202 empty files
-produces the following numbers:
-
-With soft updates:
-tar: 0.0u 0.5s 0:00.65 76.9% 0+0k 0+44io 0pf+0w (0 sync, 33 async writes)
-rm: 0.0u 0.2s 0:00.20 100.0% 0+0k 0+37io 0pf+0w (0 sync, 72 async writes)
-
-Normal filesystem:
-tar: 0.0u 1.1s 0:07.27 16.5% 0+0k 60+586io 0pf+0w (523 sync, 0 async writes)
-rm: 0.0u 0.5s 0:01.84 29.3% 0+0k 0+318io 0pf+0w (258 sync, 65 async writes)
-
-The large reduction in writes is because inodes are clustered, so
-most of a block gets allocated, then the whole block is written
-out once rather than having the same block written once for each
-inode allocated from it. Similarly each directory block is written
-once rather than once for each new directory entry. Effectively
-what the update code is doing is allocating a bunch of inodes
-and directory entries without writing anything, then ensuring that
-the block containing the inodes is written first followed by the
-directory block that references them. If there were data in the
-files it would further ensure that the data blocks were written
-before their inodes claimed them.
-
-Copyright Restrictions
-
-Please familiarize yourself with the copyright restrictions
-contained at the top of either the sys/ufs/ffs/softdep.h or
-sys/ufs/ffs/ffs_softdep.c file. The key provision is similar
-to the one used by the DB 2.0 package and goes as follows:
-
- Redistributions in any form must be accompanied by information
- on how to obtain complete source code for any accompanying
- software that uses the this software. This source code must
- either be included in the distribution or be available for
- no more than the cost of distribution plus a nominal fee,
- and must be freely redistributable under reasonable
- conditions. For an executable file, complete source code
- means the source code for all modules it contains. It does
- not mean source code for modules or files that typically
- accompany the operating system on which the executable file
- runs, e.g., standard library modules or system header files.
-
-The idea is to allow those of you freely redistributing your source
-to use it while retaining for myself the right to peddle it for
-money to the commercial UNIX vendors. Note that I have included a
-stub file ffs_softdep.c.stub that is freely redistributable so that
-you can put in all the necessary hooks to run the full soft updates
-code, but still allow vendors that want to maintain proprietary
-source to have a working system. I do plan to release the code with
-a `Berkeley style' copyright once I have peddled it around to the
-commercial vendors. If you have concerns about this copyright,
-feel free to contact me with them and we can try to resolve any
-difficulties.
-
-Soft Dependency Operation
-
-The soft update implementation does NOT require ANY changes
-to the on-disk format of your filesystems. Furthermore it is
-not used by default for any filesystems. It must be enabled on
-a filesystem by filesystem basis by running tunefs to set a
-bit in the superblock indicating that the filesystem should be
-managed using soft updates. If you wish to stop using
-soft updates due to performance or reliability reasons,
-you can simply run tunefs on it again to turn off the bit and
-revert to normal operation. The additional dynamic memory load
-placed on the kernel malloc arena is approximately equal to
-the amount of memory used by vnodes plus inodes (for a system
-with 1000 vnodes, the additional peak memory load is about 300K).
-
-Kernel Changes
-
-There are two new changes to the kernel functionality that are not
-contained in in the soft update files. The first is a `trickle
-sync' facility running in the kernel as process 3. This trickle
-sync process replaces the traditional `update' program (which should
-be commented out of the /etc/rc startup script). When a vnode is
-first written it is placed 30 seconds down on the trickle sync
-queue. If it still exists and has dirty data when it reaches the
-top of the queue, it is sync'ed. This approach evens out the load
-on the underlying I/O system and avoids writing short-lived files.
-The papers on trickle-sync tend to favor aging based on buffers
-rather than files. However, I sync on file age rather than buffer
-age because the data structures are much smaller as there are
-typically far fewer files than buffers. Although this can make the
-I/O spikey when a big file times out, it is still much better than
-the wholesale sync's that were happening before. It also adapts
-much better to the soft update code where I want to control
-aging to improve performance (inodes age in 10 seconds, directories
-in 15 seconds, files in 30 seconds). This ensures that most
-dependencies are gone (e.g., inodes are written when directory
-entries want to go to disk) reducing the amount of rollback that
-is needed.
-
-The other main kernel change is to split the vnode freelist into
-two separate lists. One for vnodes that are still being used to
-identify buffers and the other for those vnodes no longer identifying
-any buffers. The latter list is used by getnewvnode in preference
-to the former.
-
-Packaging of Kernel Changes
-
-The sys subdirectory contains the changes and additions to the
-kernel. My goal in writing this code was to minimize the changes
-that need to be made to the kernel. Thus, most of the new code
-is contained in the two new files softdep.h and ffs_softdep.c.
-The rest of the kernel changes are simply inserting hooks to
-call into these two new files. Although there has been some
-structural reorganization of the filesystem code to accommodate
-gathering the information required by the soft update code,
-the actual ordering of filesystem operations when soft updates
-are disabled is unchanged.
-
-The kernel changes are packaged as a set of diffs. As I am
-doing my development in BSD/OS, the diffs are relative to the
-BSD/OS versions of the files. Because BSD/OS recently had
-4.4BSD-Lite2 merged into it, the Lite2 files are a good starting
-point for figuring out the changes. There are 40 files that
-require change plus the two new files. Most of these files have
-only a few lines of changes in them. However, four files have
-fairly extensive changes: kern/vfs_subr.c, ufs/ufs/ufs_lookup.c,
-ufs/ufs/ufs_vnops.c, and ufs/ffs/ffs_alloc.c. For these four
-files, I have provided the original Lite2 version, the Lite2
-version with the diffs merged in, and the diffs between the
-BSD/OS and merged version. Even so, I expect that there will
-be some difficulty in doing the merge; I am certainly willing
-to assist in helping get the code merged into your system.
-
-Packaging of Utility Changes
-
-The utilities subdirectory contains the changes and additions
-to the utilities. There are diffs to three utilities enclosed:
-
- tunefs - add a flag to enable and disable soft updates
-
- mount - print out whether soft updates are enabled and
- also statistics on number of sync and async writes
-
- fsck - tighter checks on acceptable errors and a slightly
- different policy for what to put in lost+found on
- filesystems using soft updates
-
-In addition you should recompile vmstat so as to get reports
-on the 13 new memory types used by the soft update code.
-It is not necessary to use the new version of fsck, however it
-would aid in my debugging if you do. Also, because of the time
-lag between deleting a directory entry and the inode it
-references, you will find a lot more files showing up in your
-lost+found if you do not use the new version. Note that the
-new version checks for the soft update flag in the superblock
-and only uses the new algorithms if it is set. So, it will run
-unchanged on the filesystems that are not using soft updates.
-
-Operation
-
-Once you have booted a kernel that incorporates the soft update
-code and installed the updated utilities, do the following:
-
-1) Comment out the update program in /etc/rc.
-
-2) Run `tunefs -n enable' on one or more test filesystems.
-
-3) Mount these filesystems and then type `mount' to ensure that
- they have been enabled for soft updates.
-
-4) Copy the test directory to a softdep filesystem, chdir into
- it and run `./doit'. You may want to check out each of the
- three subtests individually first: doit1 - andrew benchmarks,
- doit2 - copy and removal of /etc, doit3 - find from /.
-
-====
-Additional notes from Feb 13
-
-hen removing huge directories of files, it is possible to get
-the incore state arbitrarily far ahead of the disk. Maintaining
-all the associated depedency information can exhaust the kernel
-malloc arena. To avoid this senario, I have put some limits on
-the soft update code so that it will not be allowed to rampage
-through all of the kernel memory. I enclose below the relevant
-patches to vnode.h and vfs_subr.c (which allow the soft update
-code to speed up the filesystem syncer process). I have also
-included the diffs for ffs_softdep.c. I hope to make a pass over
-ffs_softdep.c to isolate the differences with my standard version
-so that these diffs are less painful to incorporate.
-
-Since I know you like to play with tuning, I have put the relevant
-knobs on sysctl debug variables. The tuning knobs can be viewed
-with `sysctl debug' and set with `sysctl -w debug.<name>=value'.
-The knobs are as follows:
-
- debug.max_softdeps - limit on any given resource
- debug.tickdelay - ticks to delay before allocating
- debug.max_limit_hit - number of times tickdelay imposed
- debug.rush_requests - number of rush requests to filesystem syncer
-
-The max_softdeps limit is derived from vnodesdesired which in
-turn is sized based on the amount of memory on the machine.
-When the limit is hit, a process requesting a resource first
-tries to speed up the filesystem syncer process. Such a
-request is recorded as a rush_request. After syncdelay / 2
-unserviced rush requests (typically 15) are in the filesystem
-syncers queue (i.e., it is more than 15 seconds behind in its
-work), the process requesting the memory is put to sleep for
-tickdelay seconds. Such a delay is recorded in max_limit_hit.
-Following this delay it is granted its memory without further
-delay. I have tried the following experiments in which I
-delete an MH directory containing 16,703 files:
-
-Run # 1 2 3
-
-max_softdeps 4496 4496 4496
-tickdelay 100 == 1 sec 20 == 0.2 sec 2 == 0.02 sec
-max_limit_hit 16 == 16 sec 27 == 5.4 sec 203 == 4.1 sec
-rush_requests 147 102 93
-run time 57 sec 46 sec 45 sec
-I/O's 781 859 936
-
-When run with no limits, it completes in 40 seconds. So, the
-time spent in delay is directly added to the bottom line.
-Shortening the tick delay does cut down the total running time,
-but at the expense of generating more total I/O operations
-due to the rush orders being sent to the filesystem syncer.
-Although the number of rush orders decreases with a shorter
-tick delay, there are more requests in each order, hence the
-increase in I/O count. Also, although the I/O count does rise
-with a shorter delay, it is still at least an order of magnitude
-less than without soft updates. Anyway, you may want to play
-around with these value to see what works best and to see if
-you can get an insight into how best to tune them. If you get
-out of memory panic's, then you have max_softdeps set too high.
-The max_limit_hit and rush_requests show be reset to zero
-before each run. The minimum legal value for tickdelay is 2
-(if you set it below that, the code will use 2).
-
-
diff --git a/sys/contrib/softupdates/softdep.h b/sys/contrib/softupdates/softdep.h
deleted file mode 100644
index 5d5ce5ec5cda..000000000000
--- a/sys/contrib/softupdates/softdep.h
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * Copyright 1998 Marshall Kirk McKusick. All Rights Reserved.
- *
- * The soft updates code is derived from the appendix of a University
- * of Michigan technical report (Gregory R. Ganger and Yale N. Patt,
- * "Soft Updates: A Solution to the Metadata Update Problem in File
- * Systems", CSE-TR-254-95, August 1995).
- *
- * The following are the copyrights and redistribution conditions that
- * apply to this copy of the soft update software. For a license
- * to use, redistribute or sell the soft update software under
- * conditions other than those described here, please contact the
- * author at one of the following addresses:
- *
- * Marshall Kirk McKusick mckusick@mckusick.com
- * 1614 Oxford Street +1-510-843-9542
- * Berkeley, CA 94709-1608
- * USA
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. None of the names of McKusick, Ganger, Patt, or the University of
- * Michigan may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 4. Redistributions in any form must be accompanied by information on
- * how to obtain complete source code for any accompanying software
- * that uses this software. This source code must either be included
- * in the distribution or be available for no more than the cost of
- * distribution plus a nominal fee, and must be freely redistributable
- * under reasonable conditions. For an executable file, complete
- * source code means the source code for all modules it contains.
- * It does not mean source code for modules or files that typically
- * accompany the operating system on which the executable file runs,
- * e.g., standard library modules or system header files.
- *
- * THIS SOFTWARE IS PROVIDED BY MARSHALL KIRK MCKUSICK ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL MARSHALL KIRK MCKUSICK BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)softdep.h 9.6 (McKusick) 2/25/99
- * $Id: softdep.h,v 1.5 1999/03/02 00:19:47 mckusick Exp $
- */
-
-#include <sys/queue.h>
-
-/*
- * Allocation dependencies are handled with undo/redo on the in-memory
- * copy of the data. A particular data dependency is eliminated when
- * it is ALLCOMPLETE: that is ATTACHED, DEPCOMPLETE, and COMPLETE.
- *
- * ATTACHED means that the data is not currently being written to
- * disk. UNDONE means that the data has been rolled back to a safe
- * state for writing to the disk. When the I/O completes, the data is
- * restored to its current form and the state reverts to ATTACHED.
- * The data must be locked throughout the rollback, I/O, and roll
- * forward so that the rolled back information is never visible to
- * user processes. The COMPLETE flag indicates that the item has been
- * written. For example, a dependency that requires that an inode be
- * written will be marked COMPLETE after the inode has been written
- * to disk. The DEPCOMPLETE flag indicates the completion of any other
- * dependencies such as the writing of a cylinder group map has been
- * completed. A dependency structure may be freed only when both it
- * and its dependencies have completed and any rollbacks that are in
- * progress have finished as indicated by the set of ALLCOMPLETE flags
- * all being set. The two MKDIR flags indicate additional dependencies
- * that must be done when creating a new directory. MKDIR_BODY is
- * cleared when the directory data block containing the "." and ".."
- * entries has been written. MKDIR_PARENT is cleared when the parent
- * inode with the increased link count for ".." has been written. When
- * both MKDIR flags have been cleared, the DEPCOMPLETE flag is set to
- * indicate that the directory dependencies have been completed. The
- * writing of the directory inode itself sets the COMPLETE flag which
- * then allows the directory entry for the new directory to be written
- * to disk. The RMDIR flag marks a dirrem structure as representing
- * the removal of a directory rather than a file. When the removal
- * dependencies are completed, additional work needs to be done
- * (truncation of the "." and ".." entries, an additional decrement
- * of the associated inode, and a decrement of the parent inode). The
- * DIRCHG flag marks a diradd structure as representing the changing
- * of an existing entry rather than the addition of a new one. When
- * the update is complete the dirrem associated with the inode for
- * the old name must be added to the worklist to do the necessary
- * reference count decrement. The GOINGAWAY flag indicates that the
- * data structure is frozen from further change until its dependencies
- * have been completed and its resources freed after which it will be
- * discarded. The IOSTARTED flag prevents multiple calls to the I/O
- * start routine from doing multiple rollbacks. The ONWORKLIST flag
- * shows whether the structure is currently linked onto a worklist.
- */
-#define ATTACHED 0x0001
-#define UNDONE 0x0002
-#define COMPLETE 0x0004
-#define DEPCOMPLETE 0x0008
-#define MKDIR_PARENT 0x0010
-#define MKDIR_BODY 0x0020
-#define RMDIR 0x0040
-#define DIRCHG 0x0080
-#define GOINGAWAY 0x0100
-#define IOSTARTED 0x0200
-#define ONWORKLIST 0x8000
-
-#define ALLCOMPLETE (ATTACHED | COMPLETE | DEPCOMPLETE)
-
-/*
- * The workitem queue.
- *
- * It is sometimes useful and/or necessary to clean up certain dependencies
- * in the background rather than during execution of an application process
- * or interrupt service routine. To realize this, we append dependency
- * structures corresponding to such tasks to a "workitem" queue. In a soft
- * updates implementation, most pending workitems should not wait for more
- * than a couple of seconds, so the filesystem syncer process awakens once
- * per second to process the items on the queue.
- */
-
-/* LIST_HEAD(workhead, worklist); -- declared in buf.h */
-
-/*
- * Each request can be linked onto a work queue through its worklist structure.
- * To avoid the need for a pointer to the structure itself, this structure
- * MUST be declared FIRST in each type in which it appears! If more than one
- * worklist is needed in the structure, then a wk_data field must be added
- * and the macros below changed to use it.
- */
-struct worklist {
- LIST_ENTRY(worklist) wk_list; /* list of work requests */
- unsigned short wk_type; /* type of request */
- unsigned short wk_state; /* state flags */
-};
-#define WK_DATA(wk) ((void *)(wk))
-#define WK_PAGEDEP(wk) ((struct pagedep *)(wk))
-#define WK_INODEDEP(wk) ((struct inodedep *)(wk))
-#define WK_NEWBLK(wk) ((struct newblk *)(wk))
-#define WK_BMSAFEMAP(wk) ((struct bmsafemap *)(wk))
-#define WK_ALLOCDIRECT(wk) ((struct allocdirect *)(wk))
-#define WK_INDIRDEP(wk) ((struct indirdep *)(wk))
-#define WK_ALLOCINDIR(wk) ((struct allocindir *)(wk))
-#define WK_FREEFRAG(wk) ((struct freefrag *)(wk))
-#define WK_FREEBLKS(wk) ((struct freeblks *)(wk))
-#define WK_FREEFILE(wk) ((struct freefile *)(wk))
-#define WK_DIRADD(wk) ((struct diradd *)(wk))
-#define WK_MKDIR(wk) ((struct mkdir *)(wk))
-#define WK_DIRREM(wk) ((struct dirrem *)(wk))
-
-/*
- * Various types of lists
- */
-LIST_HEAD(dirremhd, dirrem);
-LIST_HEAD(diraddhd, diradd);
-LIST_HEAD(newblkhd, newblk);
-LIST_HEAD(inodedephd, inodedep);
-LIST_HEAD(allocindirhd, allocindir);
-LIST_HEAD(allocdirecthd, allocdirect);
-TAILQ_HEAD(allocdirectlst, allocdirect);
-
-/*
- * The "pagedep" structure tracks the various dependencies related to
- * a particular directory page. If a directory page has any dependencies,
- * it will have a pagedep linked to its associated buffer. The
- * pd_dirremhd list holds the list of dirrem requests which decrement
- * inode reference counts. These requests are processed after the
- * directory page with the corresponding zero'ed entries has been
- * written. The pd_diraddhd list maintains the list of diradd requests
- * which cannot be committed until their corresponding inode has been
- * written to disk. Because a directory may have many new entries
- * being created, several lists are maintained hashed on bits of the
- * offset of the entry into the directory page to keep the lists from
- * getting too long. Once a new directory entry has been cleared to
- * be written, it is moved to the pd_pendinghd list. After the new
- * entry has been written to disk it is removed from the pd_pendinghd
- * list, any removed operations are done, and the dependency structure
- * is freed.
- */
-#define DAHASHSZ 6
-#define DIRADDHASH(offset) (((offset) >> 2) % DAHASHSZ)
-struct pagedep {
- struct worklist pd_list; /* page buffer */
-# define pd_state pd_list.wk_state /* check for multiple I/O starts */
- LIST_ENTRY(pagedep) pd_hash; /* hashed lookup */
- struct mount *pd_mnt; /* associated mount point */
- ino_t pd_ino; /* associated file */
- ufs_lbn_t pd_lbn; /* block within file */
- struct dirremhd pd_dirremhd; /* dirrem's waiting for page */
- struct diraddhd pd_diraddhd[DAHASHSZ]; /* diradd dir entry updates */
- struct diraddhd pd_pendinghd; /* directory entries awaiting write */
-};
-
-/*
- * The "inodedep" structure tracks the set of dependencies associated
- * with an inode. One task that it must manage is delayed operations
- * (i.e., work requests that must be held until the inodedep's associated
- * inode has been written to disk). Getting an inode from its incore
- * state to the disk requires two steps to be taken by the filesystem
- * in this order: first the inode must be copied to its disk buffer by
- * the VOP_UPDATE operation; second the inode's buffer must be written
- * to disk. To ensure that both operations have happened in the required
- * order, the inodedep maintains two lists. Delayed operations are
- * placed on the id_inowait list. When the VOP_UPDATE is done, all
- * operations on the id_inowait list are moved to the id_bufwait list.
- * When the buffer is written, the items on the id_bufwait list can be
- * safely moved to the work queue to be processed. A second task of the
- * inodedep structure is to track the status of block allocation within
- * the inode. Each block that is allocated is represented by an
- * "allocdirect" structure (see below). It is linked onto the id_newinoupdt
- * list until both its contents and its allocation in the cylinder
- * group map have been written to disk. Once these dependencies have been
- * satisfied, it is removed from the id_newinoupdt list and any followup
- * actions such as releasing the previous block or fragment are placed
- * on the id_inowait list. When an inode is updated (a VOP_UPDATE is
- * done), the "inodedep" structure is linked onto the buffer through
- * its worklist. Thus, it will be notified when the buffer is about
- * to be written and when it is done. At the update time, all the
- * elements on the id_newinoupdt list are moved to the id_inoupdt list
- * since those changes are now relevant to the copy of the inode in the
- * buffer. Also at update time, the tasks on the id_inowait list are
- * moved to the id_bufwait list so that they will be executed when
- * the updated inode has been written to disk. When the buffer containing
- * the inode is written to disk, any updates listed on the id_inoupdt
- * list are rolled back as they are not yet safe. Following the write,
- * the changes are once again rolled forward and any actions on the
- * id_bufwait list are processed (since those actions are now safe).
- * The entries on the id_inoupdt and id_newinoupdt lists must be kept
- * sorted by logical block number to speed the calculation of the size
- * of the rolled back inode (see explanation in initiate_write_inodeblock).
- * When a directory entry is created, it is represented by a diradd.
- * The diradd is added to the id_inowait list as it cannot be safely
- * written to disk until the inode that it represents is on disk. After
- * the inode is written, the id_bufwait list is processed and the diradd
- * entries are moved to the id_pendinghd list where they remain until
- * the directory block containing the name has been written to disk.
- * The purpose of keeping the entries on the id_pendinghd list is so that
- * the softdep_fsync function can find and push the inode's directory
- * name(s) as part of the fsync operation for that file.
- */
-struct inodedep {
- struct worklist id_list; /* buffer holding inode block */
-# define id_state id_list.wk_state /* inode dependency state */
- LIST_ENTRY(inodedep) id_hash; /* hashed lookup */
- struct fs *id_fs; /* associated filesystem */
- ino_t id_ino; /* dependent inode */
- nlink_t id_nlinkdelta; /* saved effective link count */
- struct dinode *id_savedino; /* saved dinode contents */
- LIST_ENTRY(inodedep) id_deps; /* bmsafemap's list of inodedep's */
- struct buf *id_buf; /* related bmsafemap (if pending) */
- off_t id_savedsize; /* file size saved during rollback */
- struct workhead id_pendinghd; /* entries awaiting directory write */
- struct workhead id_bufwait; /* operations after inode written */
- struct workhead id_inowait; /* operations waiting inode update */
- struct allocdirectlst id_inoupdt; /* updates before inode written */
- struct allocdirectlst id_newinoupdt; /* updates when inode written */
-};
-
-/*
- * A "newblk" structure is attached to a bmsafemap structure when a block
- * or fragment is allocated from a cylinder group. Its state is set to
- * DEPCOMPLETE when its cylinder group map is written. It is consumed by
- * an associated allocdirect or allocindir allocation which will attach
- * themselves to the bmsafemap structure if the newblk's DEPCOMPLETE flag
- * is not set (i.e., its cylinder group map has not been written).
- */
-struct newblk {
- LIST_ENTRY(newblk) nb_hash; /* hashed lookup */
- struct fs *nb_fs; /* associated filesystem */
- ufs_daddr_t nb_newblkno; /* allocated block number */
- int nb_state; /* state of bitmap dependency */
- LIST_ENTRY(newblk) nb_deps; /* bmsafemap's list of newblk's */
- struct bmsafemap *nb_bmsafemap; /* associated bmsafemap */
-};
-
-/*
- * A "bmsafemap" structure maintains a list of dependency structures
- * that depend on the update of a particular cylinder group map.
- * It has lists for newblks, allocdirects, allocindirs, and inodedeps.
- * It is attached to the buffer of a cylinder group block when any of
- * these things are allocated from the cylinder group. It is freed
- * after the cylinder group map is written and the state of its
- * dependencies are updated with DEPCOMPLETE to indicate that it has
- * been processed.
- */
-struct bmsafemap {
- struct worklist sm_list; /* cylgrp buffer */
- struct buf *sm_buf; /* associated buffer */
- struct allocdirecthd sm_allocdirecthd; /* allocdirect deps */
- struct allocindirhd sm_allocindirhd; /* allocindir deps */
- struct inodedephd sm_inodedephd; /* inodedep deps */
- struct newblkhd sm_newblkhd; /* newblk deps */
-};
-
-/*
- * An "allocdirect" structure is attached to an "inodedep" when a new block
- * or fragment is allocated and pointed to by the inode described by
- * "inodedep". The worklist is linked to the buffer that holds the block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ad_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the inode
- * that claims the block. If there was a previous fragment that had been
- * allocated before the file was increased in size, the old fragment may
- * be freed once the inode claiming the new block is written to disk.
- * This ad_fragfree request is attached to the id_inowait list of the
- * associated inodedep (pointed to by ad_inodedep) for processing after
- * the inode is written.
- */
-struct allocdirect {
- struct worklist ad_list; /* buffer holding block */
-# define ad_state ad_list.wk_state /* block pointer state */
- TAILQ_ENTRY(allocdirect) ad_next; /* inodedep's list of allocdirect's */
- ufs_lbn_t ad_lbn; /* block within file */
- ufs_daddr_t ad_newblkno; /* new value of block pointer */
- ufs_daddr_t ad_oldblkno; /* old value of block pointer */
- long ad_newsize; /* size of new block */
- long ad_oldsize; /* size of old block */
- LIST_ENTRY(allocdirect) ad_deps; /* bmsafemap's list of allocdirect's */
- struct buf *ad_buf; /* cylgrp buffer (if pending) */
- struct inodedep *ad_inodedep; /* associated inodedep */
- struct freefrag *ad_freefrag; /* fragment to be freed (if any) */
-};
-
-/*
- * A single "indirdep" structure manages all allocation dependencies for
- * pointers in an indirect block. The up-to-date state of the indirect
- * block is stored in ir_savedata. The set of pointers that may be safely
- * written to the disk is stored in ir_safecopy. The state field is used
- * only to track whether the buffer is currently being written (in which
- * case it is not safe to update ir_safecopy). Ir_deplisthd contains the
- * list of allocindir structures, one for each block that needs to be
- * written to disk. Once the block and its bitmap allocation have been
- * written the safecopy can be updated to reflect the allocation and the
- * allocindir structure freed. If ir_state indicates that an I/O on the
- * indirect block is in progress when ir_safecopy is to be updated, the
- * update is deferred by placing the allocindir on the ir_donehd list.
- * When the I/O on the indirect block completes, the entries on the
- * ir_donehd list are processed by updating their corresponding ir_safecopy
- * pointers and then freeing the allocindir structure.
- */
-struct indirdep {
- struct worklist ir_list; /* buffer holding indirect block */
-# define ir_state ir_list.wk_state /* indirect block pointer state */
- caddr_t ir_saveddata; /* buffer cache contents */
- struct buf *ir_savebp; /* buffer holding safe copy */
- struct allocindirhd ir_donehd; /* done waiting to update safecopy */
- struct allocindirhd ir_deplisthd; /* allocindir deps for this block */
-};
-
-/*
- * An "allocindir" structure is attached to an "indirdep" when a new block
- * is allocated and pointed to by the indirect block described by the
- * "indirdep". The worklist is linked to the buffer that holds the new block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ai_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the entry in
- * the indirect block that claims the block; the "allocindir" dependency
- * can then be freed as it is no longer applicable.
- */
-struct allocindir {
- struct worklist ai_list; /* buffer holding indirect block */
-# define ai_state ai_list.wk_state /* indirect block pointer state */
- LIST_ENTRY(allocindir) ai_next; /* indirdep's list of allocindir's */
- int ai_offset; /* pointer offset in indirect block */
- ufs_daddr_t ai_newblkno; /* new block pointer value */
- ufs_daddr_t ai_oldblkno; /* old block pointer value */
- struct freefrag *ai_freefrag; /* block to be freed when complete */
- struct indirdep *ai_indirdep; /* address of associated indirdep */
- LIST_ENTRY(allocindir) ai_deps; /* bmsafemap's list of allocindir's */
- struct buf *ai_buf; /* cylgrp buffer (if pending) */
-};
-
-/*
- * A "freefrag" structure is attached to an "inodedep" when a previously
- * allocated fragment is replaced with a larger fragment, rather than extended.
- * The "freefrag" structure is constructed and attached when the replacement
- * block is first allocated. It is processed after the inode claiming the
- * bigger block that replaces it has been written to disk. Note that the
- * ff_state field is is used to store the uid, so may lose data. However,
- * the uid is used only in printing an error message, so is not critical.
- * Keeping it in a short keeps the data structure down to 32 bytes.
- */
-struct freefrag {
- struct worklist ff_list; /* id_inowait or delayed worklist */
-# define ff_state ff_list.wk_state /* owning user; should be uid_t */
- struct vnode *ff_devvp; /* filesystem device vnode */
- struct fs *ff_fs; /* addr of superblock */
- ufs_daddr_t ff_blkno; /* fragment physical block number */
- long ff_fragsize; /* size of fragment being deleted */
- ino_t ff_inum; /* owning inode number */
-};
-
-/*
- * A "freeblks" structure is attached to an "inodedep" when the
- * corresponding file's length is reduced to zero. It records all
- * the information needed to free the blocks of a file after its
- * zero'ed inode has been written to disk.
- */
-struct freeblks {
- struct worklist fb_list; /* id_inowait or delayed worklist */
- ino_t fb_previousinum; /* inode of previous owner of blocks */
- struct vnode *fb_devvp; /* filesystem device vnode */
- struct fs *fb_fs; /* addr of superblock */
- off_t fb_oldsize; /* previous file size */
- off_t fb_newsize; /* new file size */
- int fb_chkcnt; /* used to check cnt of blks released */
- uid_t fb_uid; /* uid of previous owner of blocks */
- ufs_daddr_t fb_dblks[NDADDR]; /* direct blk ptrs to deallocate */
- ufs_daddr_t fb_iblks[NIADDR]; /* indirect blk ptrs to deallocate */
-};
-
-/*
- * A "freefile" structure is attached to an inode when its
- * link count is reduced to zero. It marks the inode as free in
- * the cylinder group map after the zero'ed inode has been written
- * to disk and any associated blocks and fragments have been freed.
- */
-struct freefile {
- struct worklist fx_list; /* id_inowait or delayed worklist */
- mode_t fx_mode; /* mode of inode */
- ino_t fx_oldinum; /* inum of the unlinked file */
- struct vnode *fx_devvp; /* filesystem device vnode */
- struct fs *fx_fs; /* addr of superblock */
-};
-
-/*
- * A "diradd" structure is linked to an "inodedep" id_inowait list when a
- * new directory entry is allocated that references the inode described
- * by "inodedep". When the inode itself is written (either the initial
- * allocation for new inodes or with the increased link count for
- * existing inodes), the COMPLETE flag is set in da_state. If the entry
- * is for a newly allocated inode, the "inodedep" structure is associated
- * with a bmsafemap which prevents the inode from being written to disk
- * until the cylinder group has been updated. Thus the da_state COMPLETE
- * flag cannot be set until the inode bitmap dependency has been removed.
- * When creating a new file, it is safe to write the directory entry that
- * claims the inode once the referenced inode has been written. Since
- * writing the inode clears the bitmap dependencies, the DEPCOMPLETE flag
- * in the diradd can be set unconditionally when creating a file. When
- * creating a directory, there are two additional dependencies described by
- * mkdir structures (see their description below). When these dependencies
- * are resolved the DEPCOMPLETE flag is set in the diradd structure.
- * If there are multiple links created to the same inode, there will be
- * a separate diradd structure created for each link. The diradd is
- * linked onto the pg_diraddhd list of the pagedep for the directory
- * page that contains the entry. When a directory page is written,
- * the pg_diraddhd list is traversed to rollback any entries that are
- * not yet ready to be written to disk. If a directory entry is being
- * changed (by rename) rather than added, the DIRCHG flag is set and
- * the da_previous entry points to the entry that will be "removed"
- * once the new entry has been committed. During rollback, entries
- * with da_previous are replaced with the previous inode number rather
- * than zero.
- *
- * The overlaying of da_pagedep and da_previous is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. If a
- * da_previous entry is present, the pointer to its pagedep is available
- * in the associated dirrem entry. If the DIRCHG flag is set, the
- * da_previous entry is valid; if not set the da_pagedep entry is valid.
- * The DIRCHG flag never changes; it is set when the structure is created
- * if appropriate and is never cleared.
- */
-struct diradd {
- struct worklist da_list; /* id_inowait or id_pendinghd list */
-# define da_state da_list.wk_state /* state of the new directory entry */
- LIST_ENTRY(diradd) da_pdlist; /* pagedep holding directory block */
- doff_t da_offset; /* offset of new dir entry in dir blk */
- ino_t da_newinum; /* inode number for the new dir entry */
- union {
- struct dirrem *dau_previous; /* entry being replaced in dir change */
- struct pagedep *dau_pagedep; /* pagedep dependency for addition */
- } da_un;
-};
-#define da_previous da_un.dau_previous
-#define da_pagedep da_un.dau_pagedep
-
-/*
- * Two "mkdir" structures are needed to track the additional dependencies
- * associated with creating a new directory entry. Normally a directory
- * addition can be committed as soon as the newly referenced inode has been
- * written to disk with its increased link count. When a directory is
- * created there are two additional dependencies: writing the directory
- * data block containing the "." and ".." entries (MKDIR_BODY) and writing
- * the parent inode with the increased link count for ".." (MKDIR_PARENT).
- * These additional dependencies are tracked by two mkdir structures that
- * reference the associated "diradd" structure. When they have completed,
- * they set the DEPCOMPLETE flag on the diradd so that it knows that its
- * extra dependencies have been completed. The md_state field is used only
- * to identify which type of dependency the mkdir structure is tracking.
- * It is not used in the mainline code for any purpose other than consistency
- * checking. All the mkdir structures in the system are linked together on
- * a list. This list is needed so that a diradd can find its associated
- * mkdir structures and deallocate them if it is prematurely freed (as for
- * example if a mkdir is immediately followed by a rmdir of the same directory).
- * Here, the free of the diradd must traverse the list to find the associated
- * mkdir structures that reference it. The deletion would be faster if the
- * diradd structure were simply augmented to have two pointers that referenced
- * the associated mkdir's. However, this would increase the size of the diradd
- * structure from 32 to 64-bits to speed a very infrequent operation.
- */
-struct mkdir {
- struct worklist md_list; /* id_inowait or buffer holding dir */
-# define md_state md_list.wk_state /* type: MKDIR_PARENT or MKDIR_BODY */
- struct diradd *md_diradd; /* associated diradd */
- struct buf *md_buf; /* MKDIR_BODY: buffer holding dir */
- LIST_ENTRY(mkdir) md_mkdirs; /* list of all mkdirs */
-};
-LIST_HEAD(mkdirlist, mkdir) mkdirlisthd;
-
-/*
- * A "dirrem" structure describes an operation to decrement the link
- * count on an inode. The dirrem structure is attached to the pg_dirremhd
- * list of the pagedep for the directory page that contains the entry.
- * It is processed after the directory page with the deleted entry has
- * been written to disk.
- *
- * The overlaying of dm_pagedep and dm_dirinum is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. It works
- * because they are never used concurrently.
- */
-struct dirrem {
- struct worklist dm_list; /* delayed worklist */
-# define dm_state dm_list.wk_state /* state of the old directory entry */
- LIST_ENTRY(dirrem) dm_next; /* pagedep's list of dirrem's */
- struct mount *dm_mnt; /* associated mount point */
- ino_t dm_oldinum; /* inum of the removed dir entry */
- union {
- struct pagedep *dmu_pagedep; /* pagedep dependency for remove */
- ino_t dmu_dirinum; /* parent inode number (for rmdir) */
- } dm_un;
-};
-#define dm_pagedep dm_un.dmu_pagedep
-#define dm_dirinum dm_un.dmu_dirinum
diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c
index b0dbf367c293..8da50f326580 100644
--- a/sys/dev/aic7xxx/aic7xxx.c
+++ b/sys/dev/aic7xxx/aic7xxx.c
@@ -36,7 +36,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.c,v 1.16.2.6 1999/04/19 21:37:50 gibbs Exp $
+ * $Id: aic7xxx.c,v 1.16.2.7 1999/05/07 00:43:26 ken Exp $
*/
/*
* A few notes on features of the driver.
@@ -192,7 +192,7 @@ typedef enum {
SEARCH_REMOVE
} ahc_search_action;
-u_long ahc_unit = 0;
+u_long ahc_unit;
#ifdef AHC_DEBUG
static int ahc_debug = AHC_DEBUG;
@@ -202,6 +202,11 @@ static int ahc_debug = AHC_DEBUG;
void ahc_pci_intr(struct ahc_softc *ahc);
#endif
+static int ahcinitscbdata(struct ahc_softc *ahc);
+static void ahcfiniscbdata(struct ahc_softc *ahc);
+
+static bus_dmamap_callback_t ahcdmamapcb;
+
#if UNUSED
static void ahc_dump_targcmd(struct target_cmd *cmd);
#endif
@@ -221,11 +226,7 @@ static void ahc_poll(struct cam_sim *sim);
static void ahc_setup_data(struct ahc_softc *ahc,
struct ccb_scsiio *csio, struct scb *scb);
static void ahc_freeze_devq(struct ahc_softc *ahc, struct cam_path *path);
-static struct scb *
- ahc_get_scb(struct ahc_softc *ahc);
-static void ahc_free_scb(struct ahc_softc *ahc, struct scb *scb);
-static struct scb *
- ahc_alloc_scb(struct ahc_softc *ahc);
+static void ahcallocscbs(struct ahc_softc *ahc);
static void ahc_scb_devinfo(struct ahc_softc *ahc,
struct ahc_devinfo *devinfo,
struct scb *scb);
@@ -350,8 +351,8 @@ static __inline void ahc_busy_tcl(struct ahc_softc *ahc, struct scb *scb);
static __inline void ahc_freeze_ccb(union ccb* ccb);
static __inline cam_status ahc_ccb_status(union ccb* ccb);
-static __inline void ahc_set_ccb_status(union ccb* ccb,
- cam_status status);
+static __inline void ahcsetccbstatus(union ccb* ccb,
+ cam_status status);
static __inline void ahc_run_tqinfifo(struct ahc_softc *ahc);
static __inline struct ahc_initiator_tinfo *
@@ -359,11 +360,16 @@ static __inline struct ahc_initiator_tinfo *
char channel,
u_int our_id, u_int target,
struct tmode_tstate **tstate);
+static __inline void
+ ahcfreescb(struct ahc_softc *ahc, struct scb *scb);
+static __inline struct scb *
+ ahcgetscb(struct ahc_softc *ahc);
static __inline u_int32_t
ahc_hscb_busaddr(struct ahc_softc *ahc, u_int index)
{
- return (ahc->hscb_busaddr + (sizeof(struct hardware_scb) * index));
+ return (ahc->scb_data->hscb_busaddr
+ + (sizeof(struct hardware_scb) * index));
}
#define AHC_BUSRESET_DELAY 25 /* Reset delay in us */
@@ -440,7 +446,7 @@ ahc_ccb_status(union ccb* ccb)
}
static __inline void
-ahc_set_ccb_status(union ccb* ccb, cam_status status)
+ahcsetccbstatus(union ccb* ccb, cam_status status)
{
ccb->ccb_h.status &= ~CAM_STATUS_MASK;
ccb->ccb_h.status |= status;
@@ -491,6 +497,62 @@ ahc_run_tqinfifo(struct ahc_softc *ahc)
}
}
+/*
+ * An scb (and hence an scb entry on the board) is put onto the
+ * free list.
+ */
+static __inline void
+ahcfreescb(struct ahc_softc *ahc, struct scb *scb)
+{
+ struct hardware_scb *hscb;
+ int opri;
+
+ hscb = scb->hscb;
+
+ opri = splcam();
+
+ if ((ahc->flags & AHC_RESOURCE_SHORTAGE) != 0
+ && (scb->ccb->ccb_h.status & CAM_RELEASE_SIMQ) == 0) {
+ scb->ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
+ ahc->flags &= ~AHC_RESOURCE_SHORTAGE;
+ }
+
+ /* Clean up for the next user */
+ scb->flags = SCB_FREE;
+ hscb->control = 0;
+ hscb->status = 0;
+
+ SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links);
+ splx(opri);
+}
+
+/*
+ * Get a free scb, either one already assigned to a hardware slot
+ * on the adapter or one that will require an SCB to be paged out before
+ * use. If there are none, see if we can allocate a new SCB. Otherwise
+ * either return an error or sleep.
+ */
+static __inline struct scb *
+ahcgetscb(struct ahc_softc *ahc)
+{
+ struct scb *scbp;
+ int opri;
+
+ opri = splcam();
+ if ((scbp = SLIST_FIRST(&ahc->scb_data->free_scbs))) {
+ SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links);
+ } else {
+ ahcallocscbs(ahc);
+ scbp = SLIST_FIRST(&ahc->scb_data->free_scbs);
+ if (scbp != NULL)
+ SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links);
+ }
+
+ splx(opri);
+
+ return (scbp);
+}
+
char *
ahc_name(struct ahc_softc *ahc)
{
@@ -518,8 +580,8 @@ ahc_print_scb(struct scb *scb)
hscb->SG_count,
hscb->SG_pointer);
printf(" sg_addr:%lx sg_len:%ld\n",
- scb->ahc_dma[0].addr,
- scb->ahc_dma[0].len);
+ scb->sg_list[0].addr,
+ scb->sg_list[0].len);
printf(" cdb:%x %x %x %x %x %x %x %x %x %x %x %x\n",
hscb->cmdstore[0], hscb->cmdstore[1], hscb->cmdstore[2],
hscb->cmdstore[3], hscb->cmdstore[4], hscb->cmdstore[5],
@@ -573,8 +635,9 @@ static struct ahc_syncrate ahc_syncrates[] = {
* Allocate a controller structure for a new device and initialize it.
*/
struct ahc_softc *
-ahc_alloc(int unit, u_int32_t iobase, vm_offset_t maddr, ahc_chip chip,
- ahc_feature features, ahc_flag flags, struct scb_data *scb_data)
+ahc_alloc(int unit, u_int32_t io_base, vm_offset_t maddr,
+ bus_dma_tag_t parent_dmat, ahc_chip chip, ahc_feature features,
+ ahc_flag flags, struct scb_data *scb_data)
{
/*
* find unit and check we have that many defined
@@ -595,19 +658,12 @@ ahc_alloc(int unit, u_int32_t iobase, vm_offset_t maddr, ahc_chip chip,
alloc_size = sizeof(struct ahc_softc);
ahc = malloc(alloc_size, M_DEVBUF, M_NOWAIT);
if (!ahc) {
- printf("ahc%d: cannot malloc!\n", unit);
+ printf("ahc%d: cannot malloc softc!\n", ahc->unit);
return NULL;
}
bzero(ahc, alloc_size);
- if (scb_data == NULL) {
- struct full_ahc_softc* full_softc = (struct full_ahc_softc*)ahc;
- ahc->scb_data = &full_softc->scb_data_storage;
- STAILQ_INIT(&ahc->scb_data->free_scbs);
- } else
- ahc->scb_data = scb_data;
LIST_INIT(&ahc->pending_ccbs);
ahc->unit = unit;
-
/*
* XXX This should be done by the bus specific probe stubs with
* the bus layer providing the bsh and tag. Unfortunately,
@@ -619,17 +675,23 @@ ahc_alloc(int unit, u_int32_t iobase, vm_offset_t maddr, ahc_chip chip,
ahc->bsh = (bus_space_handle_t)maddr;
} else {
ahc->tag = I386_BUS_SPACE_IO;
- ahc->bsh = (bus_space_handle_t)iobase;
+ ahc->bsh = (bus_space_handle_t)io_base;
}
ahc->chip = chip;
ahc->features = features;
- ahc->flags = flags;
+ ahc->flags = flags;
+ ahc->parent_dmat = parent_dmat;
+ if (scb_data == NULL) {
+ struct full_ahc_softc* full_softc = (struct full_ahc_softc*)ahc;
+ ahc->scb_data = &full_softc->scb_data_storage;
+ } else
+ ahc->scb_data = scb_data;
+
ahc->unpause = (ahc_inb(ahc, HCNTRL) & IRQMS) | INTEN;
/* The IRQMS bit is only valid on VL and EISA chips */
if ((ahc->chip & AHC_PCI) != 0)
ahc->unpause &= ~IRQMS;
ahc->pause = ahc->unpause | PAUSE;
-
return (ahc);
}
@@ -637,10 +699,239 @@ void
ahc_free(ahc)
struct ahc_softc *ahc;
{
+ ahcfiniscbdata(ahc);
+ switch (ahc->init_level) {
+ case 3:
+ bus_dmamap_unload(ahc->shared_data_dmat,
+ ahc->shared_data_dmamap);
+ case 2:
+ bus_dmamem_free(ahc->shared_data_dmat, ahc->qoutfifo,
+ ahc->shared_data_dmamap);
+ bus_dmamap_destroy(ahc->shared_data_dmat,
+ ahc->shared_data_dmamap);
+ case 1:
+ bus_dma_tag_destroy(ahc->buffer_dmat);
+ break;
+ }
+
+ /*
+ * XXX We punt on releasing our register space and interrupt.
+ * This is addressed in -current.
+ */
+
free(ahc, M_DEVBUF);
return;
}
+static int
+ahcinitscbdata(struct ahc_softc *ahc)
+{
+ struct scb_data *scb_data;
+ int i;
+
+ scb_data = ahc->scb_data;
+ SLIST_INIT(&scb_data->free_scbs);
+ SLIST_INIT(&scb_data->sg_maps);
+
+ /* Allocate SCB resources */
+ scb_data->scbarray =
+ (struct scb *)malloc(sizeof(struct scb) * AHC_SCB_MAX,
+ M_DEVBUF, M_NOWAIT);
+ if (scb_data->scbarray == NULL)
+ return (ENOMEM);
+ bzero(scb_data->scbarray, sizeof(struct scb) * AHC_SCB_MAX);
+
+ /* Determine the number of hardware SCBs and initialize them */
+
+ scb_data->maxhscbs = ahc_probe_scbs(ahc);
+ /* SCB 0 heads the free list */
+ ahc_outb(ahc, FREE_SCBH, 0);
+ for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
+ ahc_outb(ahc, SCBPTR, i);
+
+ /* Clear the control byte. */
+ ahc_outb(ahc, SCB_CONTROL, 0);
+
+ /* Set the next pointer */
+ ahc_outb(ahc, SCB_NEXT, i+1);
+
+ /* Make the tag number invalid */
+ ahc_outb(ahc, SCB_TAG, SCB_LIST_NULL);
+ }
+
+ /* Make sure that the last SCB terminates the free list */
+ ahc_outb(ahc, SCBPTR, i-1);
+ ahc_outb(ahc, SCB_NEXT, SCB_LIST_NULL);
+
+ /* Ensure we clear the 0 SCB's control byte. */
+ ahc_outb(ahc, SCBPTR, 0);
+ ahc_outb(ahc, SCB_CONTROL, 0);
+
+ scb_data->maxhscbs = i;
+
+ if (ahc->scb_data->maxhscbs == 0)
+ panic("%s: No SCB space found", ahc_name(ahc));
+
+ /*
+ * Create our DMA tags. These tags define the kinds of device
+ * accessable memory allocations and memory mappings we will
+ * need to perform during normal operation.
+ *
+ * Unless we need to further restrict the allocation, we rely
+ * on the restrictions of the parent dmat, hence the common
+ * use of MAXADDR and MAXSIZE.
+ */
+
+ /* DMA tag for our hardware scb structures */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ AHC_SCB_MAX * sizeof(struct hardware_scb),
+ /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &scb_data->hscb_dmat) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* Allocation for our ccbs */
+ if (bus_dmamem_alloc(scb_data->hscb_dmat, (void **)&scb_data->hscbs,
+ BUS_DMA_NOWAIT, &scb_data->hscb_dmamap) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* And permanently map them */
+ bus_dmamap_load(scb_data->hscb_dmat, scb_data->hscb_dmamap,
+ scb_data->hscbs,
+ AHC_SCB_MAX * sizeof(struct hardware_scb),
+ ahcdmamapcb, &scb_data->hscb_busaddr, /*flags*/0);
+
+ scb_data->init_level++;
+
+ /* DMA tag for our sense buffers */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ AHC_SCB_MAX * sizeof(struct scsi_sense_data),
+ /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &scb_data->sense_dmat) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* Allocate them */
+ if (bus_dmamem_alloc(scb_data->sense_dmat, (void **)&scb_data->sense,
+ BUS_DMA_NOWAIT, &scb_data->sense_dmamap) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* And permanently map them */
+ bus_dmamap_load(scb_data->sense_dmat, scb_data->sense_dmamap,
+ scb_data->sense,
+ AHC_SCB_MAX * sizeof(struct scsi_sense_data),
+ ahcdmamapcb, &scb_data->sense_busaddr, /*flags*/0);
+
+ scb_data->init_level++;
+
+ /* DMA tag for our S/G structures. We allocate in page sized chunks */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ PAGE_SIZE, /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &scb_data->sg_dmat) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* Perform initial CCB allocation */
+ bzero(scb_data->hscbs, AHC_SCB_MAX * sizeof(struct hardware_scb));
+ ahcallocscbs(ahc);
+
+ if (scb_data->numscbs == 0) {
+ printf("%s: ahc_init_scb_data - "
+ "Unable to allocate initial scbs\n",
+ ahc_name(ahc));
+ goto error_exit;
+ }
+
+ /*
+ * Note that we were successfull
+ */
+ return 0;
+
+error_exit:
+
+ return ENOMEM;
+}
+
+static void
+ahcfiniscbdata(struct ahc_softc *ahc)
+{
+ struct scb_data *scb_data;
+
+ scb_data = ahc->scb_data;
+
+ switch (scb_data->init_level) {
+ default:
+ case 7:
+ {
+ struct sg_map_node *sg_map;
+
+ while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) {
+ SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
+ bus_dmamap_unload(scb_data->sg_dmat,
+ sg_map->sg_dmamap);
+ bus_dmamem_free(scb_data->sg_dmat, sg_map->sg_vaddr,
+ sg_map->sg_dmamap);
+ free(sg_map, M_DEVBUF);
+ }
+ bus_dma_tag_destroy(scb_data->sg_dmat);
+ }
+ case 6:
+ bus_dmamap_unload(scb_data->sense_dmat,
+ scb_data->sense_dmamap);
+ case 5:
+ bus_dmamem_free(scb_data->sense_dmat, scb_data->sense,
+ scb_data->sense_dmamap);
+ bus_dmamap_destroy(scb_data->sense_dmat,
+ scb_data->sense_dmamap);
+ case 4:
+ bus_dma_tag_destroy(scb_data->sense_dmat);
+ case 3:
+ bus_dmamap_unload(scb_data->hscb_dmat, scb_data->hscb_dmamap);
+ case 2:
+ bus_dmamem_free(scb_data->hscb_dmat, scb_data->hscbs,
+ scb_data->hscb_dmamap);
+ bus_dmamap_destroy(scb_data->hscb_dmat, scb_data->hscb_dmamap);
+ case 1:
+ bus_dma_tag_destroy(scb_data->hscb_dmat);
+ break;
+ }
+ if (scb_data->scbarray != NULL)
+ free(scb_data->scbarray, M_DEVBUF);
+}
+
+static void
+ahcdmamapcb(void *arg, bus_dma_segment_t *segs, int nseg, int error)
+{
+ bus_addr_t *baddr;
+
+ baddr = (bus_addr_t *)arg;
+ *baddr = segs->ds_addr;
+}
+
int
ahc_reset(struct ahc_softc *ahc)
{
@@ -822,18 +1113,27 @@ ahc_update_target_msg_request(struct ahc_softc *ahc,
if (ahc->targ_msg_req != targ_msg_req_orig) {
/* Update the message request bit for this target */
- if (!paused) {
- pause_sequencer(ahc);
- DELAY(1000);
- }
+ if ((ahc->features & AHC_HS_MAILBOX) != 0) {
+ if (paused) {
+ ahc_outb(ahc, TARGET_MSG_REQUEST,
+ ahc->targ_msg_req & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
+ (ahc->targ_msg_req >> 8) & 0xFF);
+ } else {
+ ahc_outb(ahc, HS_MAILBOX,
+ 0x01 << HOST_MAILBOX_SHIFT);
+ }
+ } else {
+ if (!paused)
+ pause_sequencer(ahc);
- ahc_outb(ahc, TARGET_MSG_REQUEST, ahc->targ_msg_req & 0xFF);
- ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
- (ahc->targ_msg_req >> 8) & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST,
+ ahc->targ_msg_req & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
+ (ahc->targ_msg_req >> 8) & 0xFF);
- if (!paused) {
- unpause_sequencer(ahc, /*unpause always*/FALSE);
- DELAY(1000);
+ if (!paused)
+ unpause_sequencer(ahc, /*unpause always*/FALSE);
}
}
}
@@ -1083,11 +1383,13 @@ ahc_attach(struct ahc_softc *ahc)
struct cam_path *path;
struct cam_path *path2;
int count;
+ int s;
count = 0;
sim = NULL;
sim2 = NULL;
+ s = splcam();
/*
* Attach secondary channel first if the user has
* declared it the primary channel.
@@ -1103,7 +1405,7 @@ ahc_attach(struct ahc_softc *ahc)
/*
* Create the device queue for our SIM(s).
*/
- devq = cam_simq_alloc(ahc->scb_data->maxscbs);
+ devq = cam_simq_alloc(AHC_SCB_MAX);
if (devq == NULL)
goto fail;
@@ -1111,7 +1413,7 @@ ahc_attach(struct ahc_softc *ahc)
* Construct our first channel SIM entry
*/
sim = cam_sim_alloc(ahc_action, ahc_poll, "ahc", ahc, ahc->unit,
- 1, ahc->scb_data->maxscbs, devq);
+ 1, AHC_SCB_MAX, devq);
if (sim == NULL) {
cam_simq_free(devq);
goto fail;
@@ -1143,7 +1445,7 @@ ahc_attach(struct ahc_softc *ahc)
if (ahc->features & AHC_TWIN) {
sim2 = cam_sim_alloc(ahc_action, ahc_poll, "ahc",
ahc, ahc->unit, 1,
- ahc->scb_data->maxscbs, devq);
+ AHC_SCB_MAX, devq);
if (sim2 == NULL) {
printf("ahc_attach: Unable to attach second "
@@ -1179,6 +1481,7 @@ ahc_attach(struct ahc_softc *ahc)
xpt_action((union ccb *)&csa);
count++;
}
+
fail:
if ((ahc->flags & AHC_CHANNEL_B_PRIMARY) != 0) {
ahc->sim_b = sim;
@@ -1191,6 +1494,7 @@ fail:
ahc->sim_b = sim2;
ahc->path_b = path2;
}
+ splx(s);
return (count);
}
@@ -1299,8 +1603,9 @@ ahc_intr(void *arg)
scb_index = ahc->qoutfifo[ahc->qoutfifonext];
ahc->qoutfifo[ahc->qoutfifonext++] = SCB_LIST_NULL;
- scb = ahc->scb_data->scbarray[scb_index];
- if (!scb || !(scb->flags & SCB_ACTIVE)) {
+ scb = &ahc->scb_data->scbarray[scb_index];
+ if (scb_index >= ahc->scb_data->numscbs
+ || (scb->flags & SCB_ACTIVE) == 0) {
printf("%s: WARNING no command for scb %d "
"(cmdcmplt)\nQOUTPOS = %d\n",
ahc_name(ahc), scb_index,
@@ -1787,6 +2092,12 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
ahc_outb(ahc, SCSISIGO, ahc_inb(ahc, LASTPHASE) | ATNO);
break;
}
+ case UPDATE_TMSG_REQ:
+ ahc_outb(ahc, TARGET_MSG_REQUEST, ahc->targ_msg_req & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
+ (ahc->targ_msg_req >> 8) & 0xFF);
+ ahc_outb(ahc, HS_MAILBOX, 0);
+ break;
case SEND_REJECT:
{
u_int rejbyte = ahc_inb(ahc, ACCUM);
@@ -1844,7 +2155,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* the in kernel copy directly.
*/
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
hscb = scb->hscb;
/*
@@ -1853,7 +2164,8 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* this if needed.
*/
ahc_outb(ahc, RETURN_1, 0);
- if (!(scb && (scb->flags & SCB_ACTIVE))) {
+ if (!(scb_index < ahc->scb_data->numscbs
+ && (scb->flags & SCB_ACTIVE) != 0)) {
printf("%s:%c:%d: ahc_intr - referenced scb "
"not valid during seqint 0x%x scb(%d)\n",
ahc_name(ahc), devinfo.channel,
@@ -1869,10 +2181,10 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* complete.
*/
scb->flags &= ~SCB_SENSE;
- ahc_set_ccb_status(scb->ccb, CAM_AUTOSENSE_FAIL);
+ ahcsetccbstatus(scb->ccb, CAM_AUTOSENSE_FAIL);
break;
}
- ahc_set_ccb_status(scb->ccb, CAM_SCSI_STATUS_ERROR);
+ ahcsetccbstatus(scb->ccb, CAM_SCSI_STATUS_ERROR);
/* Freeze the queue unit the client sees the error. */
ahc_freeze_devq(ahc, scb->ccb->ccb_h.path);
ahc_freeze_ccb(scb->ccb);
@@ -1894,12 +2206,13 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
#endif
if ((csio->ccb_h.flags & CAM_DIS_AUTOSENSE) == 0) {
- struct ahc_dma_seg *sg = scb->ahc_dma;
- struct scsi_sense *sc =
- (struct scsi_sense *)(&hscb->cmdstore);
+ struct ahc_dma_seg *sg;
+ struct scsi_sense *sc;
struct ahc_initiator_tinfo *tinfo;
struct tmode_tstate *tstate;
+ sg = scb->sg_list;
+ sc = (struct scsi_sense *)(&hscb->cmdstore);
/*
* Save off the residual if there is one.
*/
@@ -1912,24 +2225,18 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
printf("Sending Sense\n");
}
#endif
- /*
- * bzero from the sense data before having
- * the drive fill it. The SCSI spec mandates
- * that any untransfered data should be
- * assumed to be zero.
- */
- bzero(&csio->sense_data,
- sizeof(csio->sense_data));
+ sg->addr = ahc->scb_data->sense_busaddr
+ + (hscb->tag*sizeof(struct scsi_sense_data));
+ sg->len = MIN(sizeof(struct scsi_sense_data),
+ csio->sense_len);
+
sc->opcode = REQUEST_SENSE;
sc->byte2 = SCB_LUN(scb) << 5;
sc->unused[0] = 0;
sc->unused[1] = 0;
- sc->length = csio->sense_len;
+ sc->length = sg->len;
sc->control = 0;
- sg->addr = vtophys(&csio->sense_data);
- sg->len = csio->sense_len;
-
/*
* Would be nice to preserve DISCENB here,
* but due to the way we page SCBs, we can't.
@@ -1953,7 +2260,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
/*paused*/TRUE);
hscb->status = 0;
hscb->SG_count = 1;
- hscb->SG_pointer = scb->ahc_dmaphys;
+ hscb->SG_pointer = scb->sg_list_phys;
hscb->data = sg->addr;
hscb->datalen = sg->len;
hscb->cmdpointer = hscb->cmdstore_busaddr;
@@ -2033,7 +2340,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
u_int scb_index;
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if (bus_phase == P_MESGOUT)
ahc_setup_initiator_msgout(ahc,
@@ -2073,7 +2380,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
u_int lastphase = ahc_inb(ahc, LASTPHASE);
int i;
- scb = ahc->scb_data->scbarray[scbindex];
+ scb = &ahc->scb_data->scbarray[scbindex];
xpt_print_path(scb->ccb->ccb_h.path);
printf("data overrun detected in %s phase."
" Tag == 0x%x.\n",
@@ -2087,8 +2394,8 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
for (i = 0; i < scb->sg_count - 1; i++) {
printf("sg[%d] - Addr 0x%x : Length %d\n",
i,
- scb->ahc_dma[i].addr,
- scb->ahc_dma[i].len);
+ scb->sg_list[i].addr,
+ scb->sg_list[i].len);
}
}
/*
@@ -2096,7 +2403,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* target does a command complete.
*/
ahc_freeze_devq(ahc, scb->ccb->ccb_h.path);
- ahc_set_ccb_status(scb->ccb, CAM_DATA_RUN_ERR);
+ ahcsetccbstatus(scb->ccb, CAM_DATA_RUN_ERR);
ahc_freeze_ccb(scb->ccb);
break;
}
@@ -2180,7 +2487,7 @@ ahc_handle_scsiint(struct ahc_softc *ahc, u_int intstat)
scb_index = ahc_inb(ahc, SCB_TAG);
if (scb_index < ahc->scb_data->numscbs) {
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if ((scb->flags & SCB_ACTIVE) == 0)
scb = NULL;
} else
@@ -2222,8 +2529,8 @@ ahc_handle_scsiint(struct ahc_softc *ahc, u_int intstat)
scb->hscb->tag, tag == SCB_LIST_NULL ?
"" : "Tag");
if ((scb->flags & SCB_RECOVERY_SCB) != 0) {
- ahc_set_ccb_status(scb->ccb,
- CAM_REQ_ABORTED);
+ ahcsetccbstatus(scb->ccb,
+ CAM_REQ_ABORTED);
ahc_done(ahc, scb);
}
printerror = 0;
@@ -2284,7 +2591,7 @@ ahc_handle_scsiint(struct ahc_softc *ahc, u_int intstat)
scb_index = ahc_inb(ahc, SCB_TAG);
if (scb_index < ahc->scb_data->numscbs) {
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if ((scb->flags & SCB_ACTIVE) == 0)
scb = NULL;
} else
@@ -2532,7 +2839,7 @@ ahc_handle_msg_reject(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
int response = 0;
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
/* Might be necessary */
last_msg = ahc_inb(ahc, LAST_MSG);
@@ -3182,7 +3489,7 @@ ahc_handle_ign_wide_residue(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
struct scb *scb;
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if ((ahc_inb(ahc, SEQ_FLAGS) & DPHASE) == 0
|| (scb->ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_IN) {
/*
@@ -3228,18 +3535,18 @@ ahc_handle_ign_wide_residue(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
sg_index = scb->sg_count - resid_sgcnt;
/*
- * scb->ahc_dma starts with the second S/G entry.
+ * scb->sg_list starts with the second S/G entry.
*/
if (sg_index-- != 0
- && (scb->ahc_dma[sg_index].len < data_cnt)) {
+ && (scb->sg_list[sg_index].len < data_cnt)) {
u_int sg_addr;
data_cnt = 1;
- data_addr = scb->ahc_dma[sg_index - 1].addr
- + scb->ahc_dma[sg_index - 1].len - 1;
+ data_addr = scb->sg_list[sg_index - 1].addr
+ + scb->sg_list[sg_index - 1].len - 1;
- sg_addr = scb->ahc_dmaphys
- + (sg_index * sizeof(*scb->ahc_dma));
+ sg_addr = scb->sg_list_phys
+ + (sg_index * sizeof(*scb->sg_list));
ahc_outb(ahc, SG_NEXT + 3, sg_addr >> 24);
ahc_outb(ahc, SG_NEXT + 2, sg_addr >> 16);
ahc_outb(ahc, SG_NEXT + 1, sg_addr >> 8);
@@ -3318,8 +3625,8 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
op = BUS_DMASYNC_POSTREAD;
else
op = BUS_DMASYNC_POSTWRITE;
- bus_dmamap_sync(ahc->dmat, scb->dmamap, op);
- bus_dmamap_unload(ahc->dmat, scb->dmamap);
+ bus_dmamap_sync(ahc->buffer_dmat, scb->dmamap, op);
+ bus_dmamap_unload(ahc->buffer_dmat, scb->dmamap);
}
/*
@@ -3331,7 +3638,7 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
if (ccb->ccb_h.func_code == XPT_CONT_TARGET_IO) {
ccb->ccb_h.status = CAM_REQ_CMP;
- ahc_free_scb(ahc, scb);
+ ahcfreescb(ahc, scb);
xpt_done(ccb);
return;
}
@@ -3368,7 +3675,7 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
SCB_LUN(scb), scb->hscb->tag, /*status*/0,
SEARCH_REMOVE);
if (ahc_ccb_status(ccb) == CAM_BDR_SENT)
- ahc_set_ccb_status(ccb, CAM_CMD_TIMEOUT);
+ ahcsetccbstatus(ccb, CAM_CMD_TIMEOUT);
xpt_print_path(ccb->ccb_h.path);
printf("no longer in timeout, status = %x\n",
ccb->ccb_h.status);
@@ -3378,11 +3685,24 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
if (ahc_ccb_status(ccb) == CAM_REQ_INPROG) {
ccb->ccb_h.status |= CAM_REQ_CMP;
} else if ((scb->flags & SCB_SENSE) != 0) {
- /* We performed autosense retrieval */
+ /*
+ * We performed autosense retrieval.
+ *
+ * bzero the sense data before having
+ * the drive fill it. The SCSI spec mandates
+ * that any untransfered data should be
+ * assumed to be zero. Complete the 'bounce'
+ * of sense information through buffers accessible
+ * via bus-space by copying it into the clients
+ * csio.
+ */
+ bzero(&ccb->csio.sense_data, sizeof(ccb->csio.sense_data));
+ bcopy(&ahc->scb_data->sense[scb->hscb->tag],
+ &ccb->csio.sense_data, scb->sg_list->len);
scb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
}
ccb->ccb_h.status &= ~CAM_SIM_QUEUED;
- ahc_free_scb(ahc, scb);
+ ahcfreescb(ahc, scb);
xpt_done(ccb);
}
@@ -3412,14 +3732,16 @@ ahc_probe_scbs(struct ahc_softc *ahc) {
int
ahc_init(struct ahc_softc *ahc)
{
- int max_targ = 15;
- int i;
- int term;
- u_int scsi_conf;
- u_int scsiseq_template;
- u_int ultraenb;
- u_int discenable;
- u_int tagenable;
+ int max_targ = 15;
+ int i;
+ int term;
+ u_int scsi_conf;
+ u_int scsiseq_template;
+ u_int ultraenb;
+ u_int discenable;
+ u_int tagenable;
+ size_t driver_data_size;
+ u_int32_t physaddr;
#ifdef AHC_PRINT_SRAM
printf("Scratch Ram:");
@@ -3470,6 +3792,85 @@ ahc_init(struct ahc_softc *ahc)
ahc->flags &= ~AHC_INITIATORMODE;
}
+ /* DMA tag for mapping buffers into device visible space. */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ /*maxsize*/MAXBSIZE, /*nsegments*/AHC_NSEG,
+ /*maxsegsz*/AHC_MAXTRANSFER_SIZE,
+ /*flags*/BUS_DMA_ALLOCNOW,
+ &ahc->buffer_dmat) != 0) {
+ return (ENOMEM);
+ }
+
+ ahc->init_level++;
+
+ /*
+ * DMA tag for our command fifos and other data in system memory
+ * the card's sequencer must be able to access. For initiator
+ * roles, we need to allocate space for the qinfifo, qoutfifo,
+ * and untagged_scb arrays each of which are composed of 256
+ * 1 byte elements. When providing for the target mode role,
+ * we additionally must provide space for the incoming target
+ * command fifo.
+ */
+ driver_data_size = 3 * 256 * sizeof(u_int8_t);
+ if ((ahc->flags & AHC_TARGETMODE) != 0)
+ driver_data_size += AHC_TMODE_CMDS * sizeof(struct target_cmd);
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ driver_data_size,
+ /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &ahc->shared_data_dmat) != 0) {
+ return (ENOMEM);
+ }
+
+ ahc->init_level++;
+
+ /* Allocation of driver data */
+ if (bus_dmamem_alloc(ahc->shared_data_dmat, (void **)&ahc->qoutfifo,
+ BUS_DMA_NOWAIT, &ahc->shared_data_dmamap) != 0) {
+ return (ENOMEM);
+ }
+
+ ahc->init_level++;
+
+ /* And permanently map it in */
+ bus_dmamap_load(ahc->shared_data_dmat, ahc->shared_data_dmamap,
+ ahc->qoutfifo, driver_data_size,
+ ahcdmamapcb, &ahc->shared_data_busaddr, /*flags*/0);
+
+ ahc->init_level++;
+
+ /* Allocate SCB data now that buffer_dmat is initialized) */
+ if (ahc->scb_data->maxhscbs == 0)
+ if (ahcinitscbdata(ahc) != 0)
+ return (ENOMEM);
+
+ ahc->qinfifo = &ahc->qoutfifo[256];
+ ahc->untagged_scbs = &ahc->qinfifo[256];
+ /* There are no untagged SCBs active yet. */
+ for (i = 0; i < 256; i++)
+ ahc->untagged_scbs[i] = SCB_LIST_NULL;
+
+ /* All of our queues are empty */
+ for (i = 0; i < 256; i++)
+ ahc->qoutfifo[i] = SCB_LIST_NULL;
+
+ if ((ahc->flags & AHC_TARGETMODE) != 0) {
+ ahc->targetcmds = (struct target_cmd *)&ahc->untagged_scbs[256];
+
+ /* All target command blocks start out invalid. */
+ for (i = 0; i < AHC_TMODE_CMDS; i++)
+ ahc->targetcmds[i].cmd_valid = 0;
+ ahc_outb(ahc, KERNEL_TQINPOS, ahc->tqinfifonext - 1);
+ ahc_outb(ahc, TQINPOS, 0);
+ }
+
/*
* Allocate a tstate to house information for our
* initiator presence on the bus as well as the user
@@ -3501,46 +3902,10 @@ ahc_init(struct ahc_softc *ahc)
ahc_outb(ahc, SEQ_FLAGS, 0);
- /* Determine the number of SCBs and initialize them */
-
- if (ahc->scb_data->maxhscbs == 0) {
- ahc->scb_data->maxhscbs = ahc_probe_scbs(ahc);
- /* SCB 0 heads the free list */
- ahc_outb(ahc, FREE_SCBH, 0);
- for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
- ahc_outb(ahc, SCBPTR, i);
-
- /* Clear the control byte. */
- ahc_outb(ahc, SCB_CONTROL, 0);
-
- /* Set the next pointer */
- ahc_outb(ahc, SCB_NEXT, i+1);
-
- /* Make the tag number invalid */
- ahc_outb(ahc, SCB_TAG, SCB_LIST_NULL);
- }
-
- /* Make that the last SCB terminates the free list */
- ahc_outb(ahc, SCBPTR, i-1);
- ahc_outb(ahc, SCB_NEXT, SCB_LIST_NULL);
-
- /* Ensure we clear the 0 SCB's control byte. */
- ahc_outb(ahc, SCBPTR, 0);
- ahc_outb(ahc, SCB_CONTROL, 0);
-
- ahc->scb_data->maxhscbs = i;
- }
-
- if (ahc->scb_data->maxhscbs == 0)
- panic("%s: No SCB space found", ahc_name(ahc));
-
if (ahc->scb_data->maxhscbs < AHC_SCB_MAX) {
ahc->flags |= AHC_PAGESCBS;
- ahc->scb_data->maxscbs = AHC_SCB_MAX;
- printf("%d/%d SCBs\n", ahc->scb_data->maxhscbs,
- ahc->scb_data->maxscbs);
+ printf("%d/%d SCBs\n", ahc->scb_data->maxhscbs, AHC_SCB_MAX);
} else {
- ahc->scb_data->maxscbs = ahc->scb_data->maxhscbs;
ahc->flags &= ~AHC_PAGESCBS;
printf("%d SCBs\n", ahc->scb_data->maxhscbs);
}
@@ -3702,10 +4067,8 @@ ahc_init(struct ahc_softc *ahc)
(ultraenb & mask)
? AHC_SYNCRATE_ULTRA
: AHC_SYNCRATE_FAST);
- if ((scsirate & SOFS) != 0
- && tinfo->user.period != 0) {
+ if (tinfo->user.period != 0)
tinfo->user.offset = ~0;
- }
}
if ((scsirate & WIDEXFER) != 0
&& (ahc->features & AHC_WIDE) != 0)
@@ -3716,119 +4079,55 @@ ahc_init(struct ahc_softc *ahc)
tstate->tagenable = tagenable;
}
-#ifdef AHC_DEBUG
- if (ahc_debug & AHC_SHOWMISC)
- printf("NEEDSDTR == 0x%x\nNEEDWDTR == 0x%x\n"
- "DISCENABLE == 0x%x\nULTRAENB == 0x%x\n",
- ahc->needsdtr_orig, ahc->needwdtr_orig,
- discenable, ultraenb);
-#endif
/*
- * Allocate enough "hardware scbs" to handle
- * the maximum number of concurrent transactions
- * we can have active. We have to use contigmalloc
- * if this array crosses a page boundary since the
- * sequencer depends on this array being physically
- * contiguous.
+ * Tell the sequencer where it can find the our arrays in memory.
*/
- if (ahc->scb_data->hscbs == NULL) {
- size_t array_size;
+ physaddr = ahc->scb_data->hscb_busaddr;
+ ahc_outb(ahc, HSCB_ADDR, physaddr & 0xFF);
+ ahc_outb(ahc, HSCB_ADDR + 1, (physaddr >> 8) & 0xFF);
+ ahc_outb(ahc, HSCB_ADDR + 2, (physaddr >> 16) & 0xFF);
+ ahc_outb(ahc, HSCB_ADDR + 3, (physaddr >> 24) & 0xFF);
- array_size = ahc->scb_data->maxscbs*sizeof(struct hardware_scb);
- if (array_size > PAGE_SIZE) {
- ahc->scb_data->hscbs = (struct hardware_scb *)
- contigmalloc(array_size, M_DEVBUF,
- M_NOWAIT, 0ul, 0xffffffff,
- PAGE_SIZE, 0x10000);
- } else {
- ahc->scb_data->hscbs = (struct hardware_scb *)
- malloc(array_size, M_DEVBUF, M_NOWAIT);
- }
-
- if (ahc->scb_data->hscbs == NULL) {
- printf("%s: unable to allocate hardware SCB array. "
- "Failing attach\n", ahc_name(ahc));
- return (-1);
- }
- /* At least the control byte of each hscb needs to be zeroed */
- bzero(ahc->scb_data->hscbs, array_size);
- }
-
- if ((ahc->flags & AHC_TARGETMODE) != 0) {
- size_t array_size;
-
- array_size = AHC_TMODE_CMDS * sizeof(struct target_cmd);
- ahc->targetcmds = contigmalloc(array_size, M_DEVBUF,
- M_NOWAIT, 0ul, 0xffffffff,
- PAGE_SIZE, 0x10000);
-
- if (ahc->targetcmds == NULL) {
- printf("%s: unable to allocate targetcmd array. "
- "Failing attach\n", ahc_name(ahc));
- return (-1);
- }
+ physaddr = ahc->shared_data_busaddr;
+ ahc_outb(ahc, SCBID_ADDR, physaddr & 0xFF);
+ ahc_outb(ahc, SCBID_ADDR + 1, (physaddr >> 8) & 0xFF);
+ ahc_outb(ahc, SCBID_ADDR + 2, (physaddr >> 16) & 0xFF);
+ ahc_outb(ahc, SCBID_ADDR + 3, (physaddr >> 24) & 0xFF);
- /* All target command blocks start out invalid. */
- for (i = 0; i < AHC_TMODE_CMDS; i++)
- ahc->targetcmds[i].cmd_valid = 0;
- ahc_outb(ahc, KERNEL_TQINPOS, ahc->tqinfifonext - 1);
- ahc_outb(ahc, TQINPOS, 0);
- }
+ /* Target mode incomding command fifo */
+ physaddr += 3 * 256 * sizeof(u_int8_t);
+ ahc_outb(ahc, TMODE_CMDADDR, physaddr & 0xFF);
+ ahc_outb(ahc, TMODE_CMDADDR + 1, (physaddr >> 8) & 0xFF);
+ ahc_outb(ahc, TMODE_CMDADDR + 2, (physaddr >> 16) & 0xFF);
+ ahc_outb(ahc, TMODE_CMDADDR + 3, (physaddr >> 24) & 0xFF);
/*
- * Tell the sequencer where it can find the our arrays in memory.
+ * Initialize the group code to command length table.
+ * This overrides the values in TARG_SCSIRATE, so only
+ * setup the table after we have processed that information.
*/
- {
- u_int32_t physaddr;
-
- /* Tell the sequencer where it can find the hscb array. */
- physaddr = vtophys(ahc->scb_data->hscbs);
- ahc_outb(ahc, HSCB_ADDR, physaddr & 0xFF);
- ahc_outb(ahc, HSCB_ADDR + 1, (physaddr >> 8) & 0xFF);
- ahc_outb(ahc, HSCB_ADDR + 2, (physaddr >> 16) & 0xFF);
- ahc_outb(ahc, HSCB_ADDR + 3, (physaddr >> 24) & 0xFF);
- ahc->hscb_busaddr = physaddr;
-
- physaddr = vtophys(ahc->qoutfifo);
- ahc_outb(ahc, SCBID_ADDR, physaddr & 0xFF);
- ahc_outb(ahc, SCBID_ADDR + 1, (physaddr >> 8) & 0xFF);
- ahc_outb(ahc, SCBID_ADDR + 2, (physaddr >> 16) & 0xFF);
- ahc_outb(ahc, SCBID_ADDR + 3, (physaddr >> 24) & 0xFF);
-
- if ((ahc->flags & AHC_TARGETMODE) != 0) {
- physaddr = vtophys(ahc->targetcmds);
- ahc_outb(ahc, TMODE_CMDADDR, physaddr & 0xFF);
- ahc_outb(ahc, TMODE_CMDADDR + 1,
- (physaddr >> 8) & 0xFF);
- ahc_outb(ahc, TMODE_CMDADDR + 2,
- (physaddr >> 16) & 0xFF);
- ahc_outb(ahc, TMODE_CMDADDR + 3,
- (physaddr >> 24) & 0xFF);
-
- ahc_outb(ahc, CMDSIZE_TABLE, 5);
- ahc_outb(ahc, CMDSIZE_TABLE + 1, 9);
- ahc_outb(ahc, CMDSIZE_TABLE + 2, 9);
- ahc_outb(ahc, CMDSIZE_TABLE + 3, 0);
- ahc_outb(ahc, CMDSIZE_TABLE + 4, 15);
- ahc_outb(ahc, CMDSIZE_TABLE + 5, 11);
- ahc_outb(ahc, CMDSIZE_TABLE + 6, 0);
- ahc_outb(ahc, CMDSIZE_TABLE + 7, 0);
- }
+ ahc_outb(ahc, CMDSIZE_TABLE, 5);
+ ahc_outb(ahc, CMDSIZE_TABLE + 1, 9);
+ ahc_outb(ahc, CMDSIZE_TABLE + 2, 9);
+ ahc_outb(ahc, CMDSIZE_TABLE + 3, 0);
+ ahc_outb(ahc, CMDSIZE_TABLE + 4, 15);
+ ahc_outb(ahc, CMDSIZE_TABLE + 5, 11);
+ ahc_outb(ahc, CMDSIZE_TABLE + 6, 0);
+ ahc_outb(ahc, CMDSIZE_TABLE + 7, 0);
- /* There are no untagged SCBs active yet. */
- for (i = 0; i < sizeof(ahc->untagged_scbs); i++) {
- ahc->untagged_scbs[i] = SCB_LIST_NULL;
- }
- for (i = 0; i < sizeof(ahc->qoutfifo); i++) {
- ahc->qoutfifo[i] = SCB_LIST_NULL;
- }
- }
-
- /* Our Q FIFOs are empty. */
+ /* Tell the sequencer of our initial queue positions */
ahc_outb(ahc, KERNEL_QINPOS, 0);
ahc_outb(ahc, QINPOS, 0);
ahc_outb(ahc, QOUTPOS, 0);
+#ifdef AHC_DEBUG
+ if (ahc_debug & AHC_SHOWMISC)
+ printf("NEEDSDTR == 0x%x\nNEEDWDTR == 0x%x\n"
+ "DISCENABLE == 0x%x\nULTRAENB == 0x%x\n",
+ ahc->needsdtr_orig, ahc->needwdtr_orig,
+ discenable, ultraenb);
+#endif
+
/* Don't have any special messages to send to targets */
ahc_outb(ahc, TARGET_MSG_REQUEST, 0);
ahc_outb(ahc, TARGET_MSG_REQUEST + 1, 0);
@@ -4029,14 +4328,14 @@ ahc_action(struct cam_sim *sim, union ccb *ccb)
/*
* get an scb to use.
*/
- if ((scb = ahc_get_scb(ahc)) == NULL) {
+ if ((scb = ahcgetscb(ahc)) == NULL) {
int s;
s = splcam();
ahc->flags |= AHC_RESOURCE_SHORTAGE;
splx(s);
xpt_freeze_simq(ahc->sim, /*count*/1);
- ahc_set_ccb_status(ccb, CAM_REQUEUE_REQ);
+ ahcsetccbstatus(ccb, CAM_REQUEUE_REQ);
xpt_done(ccb);
return;
}
@@ -4444,13 +4743,13 @@ ahc_execute_scb(void *arg, bus_dma_segment_t *dm_segs, int nsegments,
end_seg = dm_segs + nsegments;
/* Copy the first SG into the data pointer area */
- scb->hscb->SG_pointer = scb->ahc_dmaphys;
+ scb->hscb->SG_pointer = scb->sg_list_phys;
scb->hscb->data = dm_segs->ds_addr;
scb->hscb->datalen = dm_segs->ds_len;
dm_segs++;
/* Copy the remaining segments into our SG list */
- sg = scb->ahc_dma;
+ sg = scb->sg_list;
while (dm_segs < end_seg) {
sg->addr = dm_segs->ds_addr;
sg->len = dm_segs->ds_len;
@@ -4463,7 +4762,7 @@ ahc_execute_scb(void *arg, bus_dma_segment_t *dm_segs, int nsegments,
else
op = BUS_DMASYNC_PREWRITE;
- bus_dmamap_sync(ahc->dmat, scb->dmamap, op);
+ bus_dmamap_sync(ahc->buffer_dmat, scb->dmamap, op);
if (ccb->ccb_h.func_code == XPT_CONT_TARGET_IO) {
scb->hscb->cmdpointer |= DPHASE_PENDING;
@@ -4486,8 +4785,8 @@ ahc_execute_scb(void *arg, bus_dma_segment_t *dm_segs, int nsegments,
*/
if (ahc_ccb_status(ccb) != CAM_REQ_INPROG) {
if (nsegments != 0)
- bus_dmamap_unload(ahc->dmat, scb->dmamap);
- ahc_free_scb(ahc, scb);
+ bus_dmamap_unload(ahc->buffer_dmat, scb->dmamap);
+ ahcfreescb(ahc, scb);
xpt_done(ccb);
splx(s);
return;
@@ -4560,12 +4859,16 @@ ahc_setup_data(struct ahc_softc *ahc, struct ccb_scsiio *csio,
hscb->cmdlen);
hscb->cmdpointer =
hscb->cmdstore_busaddr;
- } else
- hscb->cmdpointer =
- vtophys(csio->cdb_io.cdb_ptr);
+ } else {
+ ahcsetccbstatus(scb->ccb,
+ CAM_REQ_INVALID);
+ xpt_done(scb->ccb);
+ ahcfreescb(ahc, scb);
+ return;
+ }
else
hscb->cmdpointer =
- (u_int32_t)csio->cdb_io.cdb_ptr;
+ ((intptr_t)csio->cdb_io.cdb_ptr) & 0xffffffff;
} else {
/*
* CCB CDB Data Storage area is only 16 bytes
@@ -4586,7 +4889,7 @@ ahc_setup_data(struct ahc_softc *ahc, struct ccb_scsiio *csio,
int error;
s = splsoftvm();
- error = bus_dmamap_load(ahc->dmat,
+ error = bus_dmamap_load(ahc->buffer_dmat,
scb->dmamap,
csio->data_ptr,
csio->dxfer_len,
@@ -4653,124 +4956,67 @@ ahc_freeze_devq(struct ahc_softc *ahc, struct cam_path *path)
SEARCH_COMPLETE);
}
-/*
- * An scb (and hence an scb entry on the board) is put onto the
- * free list.
- */
static void
-ahc_free_scb(struct ahc_softc *ahc, struct scb *scb)
-{
- struct hardware_scb *hscb;
- int opri;
-
- hscb = scb->hscb;
-
- opri = splcam();
+ahcallocscbs(struct ahc_softc *ahc)
+{
+ struct scb_data *scb_data;
+ struct scb *next_scb;
+ struct sg_map_node *sg_map;
+ bus_addr_t physaddr;
+ struct ahc_dma_seg *segs;
+ int newcount;
+ int i;
- if ((ahc->flags & AHC_RESOURCE_SHORTAGE) != 0
- && (scb->ccb->ccb_h.status & CAM_RELEASE_SIMQ) == 0) {
- scb->ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
- ahc->flags &= ~AHC_RESOURCE_SHORTAGE;
- }
+ scb_data = ahc->scb_data;
+ if (scb_data->numscbs >= AHC_SCB_MAX)
+ /* Can't allocate any more */
+ return;
- /* Clean up for the next user */
- scb->flags = SCB_FREE;
- hscb->control = 0;
- hscb->status = 0;
+ next_scb = &scb_data->scbarray[scb_data->numscbs];
- STAILQ_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links);
- splx(opri);
-}
+ sg_map = malloc(sizeof(*sg_map), M_DEVBUF, M_NOWAIT);
-/*
- * Get a free scb, either one already assigned to a hardware slot
- * on the adapter or one that will require an SCB to be paged out before
- * use. If there are none, see if we can allocate a new SCB. Otherwise
- * either return an error or sleep.
- */
-static struct scb *
-ahc_get_scb(struct ahc_softc *ahc)
-{
- struct scb *scbp;
- int opri;
+ if (sg_map == NULL)
+ return;
- opri = splcam();
- if ((scbp = STAILQ_FIRST(&ahc->scb_data->free_scbs))) {
- STAILQ_REMOVE_HEAD(&ahc->scb_data->free_scbs, links);
- } else if (ahc->scb_data->numscbs < ahc->scb_data->maxscbs) {
- scbp = ahc_alloc_scb(ahc);
- if (scbp == NULL)
- printf("%s: Can't malloc SCB\n", ahc_name(ahc));
+ /* Allocate S/G space for the next batch of SCBS */
+ if (bus_dmamem_alloc(scb_data->sg_dmat, (void **)&sg_map->sg_vaddr,
+ BUS_DMA_NOWAIT, &sg_map->sg_dmamap) != 0) {
+ free(sg_map, M_DEVBUF);
+ return;
}
- splx(opri);
+ SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
- return (scbp);
-}
+ bus_dmamap_load(scb_data->sg_dmat, sg_map->sg_dmamap, sg_map->sg_vaddr,
+ PAGE_SIZE, ahcdmamapcb, &sg_map->sg_physaddr,
+ /*flags*/0);
+ segs = sg_map->sg_vaddr;
+ physaddr = sg_map->sg_physaddr;
-static struct scb *
-ahc_alloc_scb(struct ahc_softc *ahc)
-{
- static struct ahc_dma_seg *next_sg_array = NULL;
- static int sg_arrays_free = 0;
- struct scb *newscb;
- int error;
+ newcount = (PAGE_SIZE / (AHC_NSEG * sizeof(struct ahc_dma_seg)));
+ for (i = 0; scb_data->numscbs < AHC_SCB_MAX && i < newcount; i++) {
+ int error;
- newscb = (struct scb *) malloc(sizeof(struct scb), M_DEVBUF, M_NOWAIT);
- if (newscb != NULL) {
- bzero(newscb, sizeof(struct scb));
- error = bus_dmamap_create(ahc->dmat, /*flags*/0,
- &newscb->dmamap);
+ next_scb->sg_list = segs;
+ next_scb->sg_list_phys = physaddr;
+ next_scb->flags = SCB_FREE;
+ error = bus_dmamap_create(ahc->buffer_dmat, /*flags*/0,
+ &next_scb->dmamap);
if (error != 0)
- printf("%s: Unable to allocate SCB dmamap - error %d\n",
- ahc_name(ahc), error);
-
- if (error == 0 && next_sg_array == NULL) {
- size_t alloc_size = sizeof(struct ahc_dma_seg)
- * AHC_NSEG;
- sg_arrays_free = PAGE_SIZE / alloc_size;
- alloc_size *= sg_arrays_free;
- if (alloc_size == 0)
- panic("%s: SG list doesn't fit in a page",
- ahc_name(ahc));
- next_sg_array = (struct ahc_dma_seg *)
- malloc(alloc_size, M_DEVBUF, M_NOWAIT);
- }
- if (error == 0 && next_sg_array != NULL) {
- struct hardware_scb *hscb;
-
- newscb->ahc_dma = next_sg_array;
- newscb->ahc_dmaphys = vtophys(next_sg_array);
- sg_arrays_free--;
- if (sg_arrays_free == 0)
- next_sg_array = NULL;
- else
- next_sg_array = &next_sg_array[AHC_NSEG];
- hscb = &ahc->scb_data->hscbs[ahc->scb_data->numscbs];
- newscb->hscb = hscb;
- hscb->control = 0;
- hscb->status = 0;
- hscb->tag = ahc->scb_data->numscbs;
- hscb->residual_data_count[2] = 0;
- hscb->residual_data_count[1] = 0;
- hscb->residual_data_count[0] = 0;
- hscb->residual_SG_count = 0;
- hscb->cmdstore_busaddr =
- ahc_hscb_busaddr(ahc, hscb->tag)
- + offsetof(struct hardware_scb, cmdstore);
- /*
- * Place in the scbarray
- * Never is removed.
- */
- ahc->scb_data->scbarray[hscb->tag] = newscb;
- ahc->scb_data->numscbs++;
- } else {
- free(newscb, M_DEVBUF);
- newscb = NULL;
- }
+ break;
+ next_scb->hscb = &scb_data->hscbs[scb_data->numscbs];
+ next_scb->hscb->tag = ahc->scb_data->numscbs;
+ next_scb->hscb->cmdstore_busaddr =
+ ahc_hscb_busaddr(ahc, next_scb->hscb->tag)
+ + offsetof(struct hardware_scb, cmdstore);
+ SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, next_scb, links);
+ segs += AHC_NSEG;
+ physaddr += (AHC_NSEG * sizeof(struct ahc_dma_seg));
+ next_scb++;
+ ahc->scb_data->numscbs++;
}
- return newscb;
}
static void
@@ -5092,7 +5338,7 @@ ahc_timeout(void *arg)
* Do a full bus reset.
*/
bus_reset:
- ahc_set_ccb_status(scb->ccb, CAM_CMD_TIMEOUT);
+ ahcsetccbstatus(scb->ccb, CAM_CMD_TIMEOUT);
found = ahc_reset_channel(ahc, channel, /*Initiate Reset*/TRUE);
printf("%s: Issued Channel %c Bus Reset. "
"%d SCBs aborted\n", ahc_name(ahc), channel, found);
@@ -5133,7 +5379,7 @@ bus_reset:
* and wait for it's timeout to expire before
* taking additional action.
*/
- active_scb = ahc->scb_data->scbarray[active_scb_index];
+ active_scb = &ahc->scb_data->scbarray[active_scb_index];
if (active_scb->hscb->tcl != scb->hscb->tcl
&& (scb->flags & SCB_OTHERTCL_TIMEOUT) == 0) {
struct ccb_hdr *ccbh;
@@ -5160,7 +5406,7 @@ bus_reset:
* and properly record the error condition.
*/
ahc_freeze_devq(ahc, scb->ccb->ccb_h.path);
- ahc_set_ccb_status(scb->ccb, CAM_CMD_TIMEOUT);
+ ahcsetccbstatus(scb->ccb, CAM_CMD_TIMEOUT);
ahc_freeze_ccb(scb->ccb);
ahc_done(ahc, scb);
@@ -5283,7 +5529,7 @@ ahc_search_qinfifo(struct ahc_softc *ahc, int target, char channel,
ahc->qinfifonext = qinpos;
while (qinpos != qintail) {
- scbp = ahc->scb_data->scbarray[ahc->qinfifo[qinpos]];
+ scbp = &ahc->scb_data->scbarray[ahc->qinfifo[qinpos]];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
/*
* We found an scb that needs to be removed.
@@ -5291,7 +5537,7 @@ ahc_search_qinfifo(struct ahc_softc *ahc, int target, char channel,
switch (action) {
case SEARCH_COMPLETE:
if (ahc_ccb_status(scbp->ccb) == CAM_REQ_INPROG)
- ahc_set_ccb_status(scbp->ccb, status);
+ ahcsetccbstatus(scbp->ccb, status);
ahc_freeze_ccb(scbp->ccb);
ahc_done(ahc, scbp);
break;
@@ -5441,7 +5687,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
"SCB index == %d, yet numscbs == %d.",
scb_index, ahc->scb_data->numscbs);
}
- scbp = ahc->scb_data->scbarray[scb_index];
+ scbp = &ahc->scb_data->scbarray[scb_index];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
next = ahc_abort_wscb(ahc, next, prev);
@@ -5468,7 +5714,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
ahc_outb(ahc, SCBPTR, i);
scbid = ahc_inb(ahc, SCB_TAG);
if (scbid < ahc->scb_data->numscbs) {
- scbp = ahc->scb_data->scbarray[scbid];
+ scbp = &ahc->scb_data->scbarray[scbid];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
ahc_add_curscb_to_free_list(ahc);
}
@@ -5491,7 +5737,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
ccb_h = ccb_h->sim_links.le.le_next;
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
if (ahc_ccb_status(scbp->ccb) == CAM_REQ_INPROG)
- ahc_set_ccb_status(scbp->ccb, status);
+ ahcsetccbstatus(scbp->ccb, status);
ahc_freeze_ccb(scbp->ccb);
ahc_done(ahc, scbp);
found++;
@@ -5529,7 +5775,7 @@ ahc_search_disc_list(struct ahc_softc *ahc, int target, char channel,
"SCB index == %d, yet numscbs == %d.",
scb_index, ahc->scb_data->numscbs);
}
- scbp = ahc->scb_data->scbarray[scb_index];
+ scbp = &ahc->scb_data->scbarray[scb_index];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
next = ahc_rem_scb_from_disc_list(ahc, prev,
next);
@@ -5816,7 +6062,7 @@ ahc_calc_residual(struct scb *scb)
sg = scb->sg_count - resid_sgs - 1/*first SG*/;
while (resid_sgs > 0) {
- resid += scb->ahc_dma[sg].len;
+ resid += scb->sg_list[sg].len;
sg++;
resid_sgs--;
}
@@ -5915,7 +6161,7 @@ ahc_update_pending_syncrates(struct ahc_softc *ahc)
u_int our_id, remote_id;
u_int control;
- pending_scb = ahc->scb_data->scbarray[scb_tag];
+ pending_scb = &ahc->scb_data->scbarray[scb_tag];
if (pending_scb->flags == SCB_FREE)
continue;
pending_hscb = pending_scb->hscb;
diff --git a/sys/dev/aic7xxx/aic7xxx.h b/sys/dev/aic7xxx/aic7xxx.h
index cf3037aaa07d..4cc4c8802bf1 100644
--- a/sys/dev/aic7xxx/aic7xxx.h
+++ b/sys/dev/aic7xxx/aic7xxx.h
@@ -3,7 +3,7 @@
* SCSI controllers. This is used to implement product specific
* probe and attach routines.
*
- * Copyright (c) 1994, 1995, 1996, 1997, 1998 Justin T. Gibbs.
+ * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999 Justin T. Gibbs.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.h,v 1.5 1999/01/14 06:14:15 gibbs Exp $
+ * $Id: aic7xxx.h,v 1.5.2.1 1999/03/07 00:40:47 gibbs Exp $
*/
#ifndef _AIC7XXX_H_
@@ -45,20 +45,29 @@
#include <pci/pcivar.h> /* for pcici_t */
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+/*
+ * The maximum transfer per S/G segment.
+ */
#define AHC_MAXTRANSFER_SIZE 0x00ffffff /* limited by 24bit counter */
-#define AHC_NSEG 32 /* The number of dma segments supported.
- * AHC_NSEG can be maxed out at 256 entries,
- * but the kernel will never need to transfer
- * such a large (1MB) request. To reduce the
- * driver's memory consumption, we reduce the
- * max to 32. 16 would work if all transfers
- * are paged alined since the kernel will only
- * generate at most a 64k transfer, but to
- * handle non-page aligned transfers, you need
- * 17, so we round to the next power of two
- * to make allocating SG space easy and
- * efficient.
- */
+
+/*
+ * The number of dma segments supported. The current implementation limits
+ * us to 255 S/G entries (this may change to be unlimited at some point).
+ * To reduce the driver's memory consumption, we further limit the number
+ * supported to be sufficient to handle the largest mapping supported by
+ * the kernel, MAXPHYS. Assuming the transfer is as fragmented as possible
+ * and unaligned, this turns out to be the number of paged sized transfers
+ * in MAXPHYS plus an extra element to handle any unaligned residual.
+ */
+#define AHC_NSEG (MIN(btoc(MAXPHYS) + 1, 255))
#define AHC_SCB_MAX 255 /*
* Up to 255 SCBs on some types of aic7xxx
@@ -75,9 +84,7 @@
* wrap point of an 8bit counter.
*/
-#if defined(__FreeBSD__)
extern u_long ahc_unit;
-#endif
struct ahc_dma_seg {
u_int32_t addr;
@@ -112,16 +119,17 @@ typedef enum {
AHC_SG_PRELOAD = 0x0080, /* Can perform auto-SG preload */
AHC_SPIOCAP = 0x0100, /* Has a Serial Port I/O Cap Register */
AHC_MULTI_TID = 0x0200, /* Has bitmask of TIDs for select-in */
+ AHC_HS_MAILBOX = 0x0400, /* Has HS_MAILBOX register */
AHC_AIC7770_FE = AHC_FENONE,
AHC_AIC7850_FE = AHC_FENONE|AHC_SPIOCAP,
AHC_AIC7860_FE = AHC_ULTRA|AHC_SPIOCAP,
AHC_AIC7870_FE = AHC_FENONE,
AHC_AIC7880_FE = AHC_ULTRA,
AHC_AIC7890_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA2|AHC_QUEUE_REGS
- |AHC_SG_PRELOAD|AHC_MULTI_TID,
+ |AHC_SG_PRELOAD|AHC_MULTI_TID|AHC_HS_MAILBOX,
AHC_AIC7895_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA,
AHC_AIC7896_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA2|AHC_QUEUE_REGS
- |AHC_SG_PRELOAD|AHC_MULTI_TID,
+ |AHC_SG_PRELOAD|AHC_MULTI_TID|AHC_HS_MAILBOX,
} ahc_feature;
typedef enum {
@@ -138,7 +146,6 @@ typedef enum {
* SRAM, we use the default target
* settings.
*/
- AHC_INDIRECT_PAGING = 0x008,
AHC_SHARED_SRAM = 0x010,
AHC_LARGE_SEEPROM = 0x020,/* Uses C56_66 not C46 */
AHC_RESET_BUS_A = 0x040,
@@ -228,28 +235,13 @@ struct hardware_scb {
struct scb {
struct hardware_scb *hscb;
- STAILQ_ENTRY(scb) links; /* for chaining */
+ SLIST_ENTRY(scb) links; /* for chaining */
union ccb *ccb; /* the ccb for this cmd */
- scb_flag flags;
- bus_dmamap_t dmamap;
- struct ahc_dma_seg *ahc_dma;/* Pointer to SG segments */
- u_int32_t ahc_dmaphys;/* Phsical address of SG list */
- u_int sg_count;/* How full ahc_dma_seg is */
-};
-
-struct scb_data {
- struct hardware_scb *hscbs; /* Array of hardware SCBs */
- struct scb *scbarray[AHC_SCB_MAX]; /* Array of kernel SCBs */
- STAILQ_HEAD(, scb) free_scbs; /*
- * Pool of SCBs ready to be assigned
- * commands to execute.
- */
- u_int8_t numscbs;
- u_int8_t maxhscbs; /* Number of SCBs on the card */
- u_int8_t maxscbs; /*
- * Max SCBs we allocate total including
- * any that will force us to page SCBs
- */
+ scb_flag flags;
+ bus_dmamap_t dmamap;
+ struct ahc_dma_seg *sg_list;
+ bus_addr_t sg_list_phys;
+ u_int sg_count;/* How full ahc_dma_seg is */
};
/*
@@ -402,10 +394,45 @@ typedef enum {
MSG_TYPE_TARGET_MSGIN = 0x04
} ahc_msg_type;
+struct sg_map_node {
+ bus_dmamap_t sg_dmamap;
+ bus_addr_t sg_physaddr;
+ struct ahc_dma_seg* sg_vaddr;
+ SLIST_ENTRY(sg_map_node) links;
+};
+
+struct scb_data {
+ struct hardware_scb *hscbs; /* Array of hardware SCBs */
+ struct scb *scbarray; /* Array of kernel SCBs */
+ SLIST_HEAD(, scb) free_scbs; /*
+ * Pool of SCBs ready to be assigned
+ * commands to execute.
+ */
+ struct scsi_sense_data *sense; /* Per SCB sense data */
+
+ /*
+ * "Bus" addresses of our data structures.
+ */
+ bus_dma_tag_t hscb_dmat; /* dmat for our hardware SCB array */
+ bus_dmamap_t hscb_dmamap;
+ bus_addr_t hscb_busaddr;
+ bus_dma_tag_t sense_dmat;
+ bus_dmamap_t sense_dmamap;
+ bus_addr_t sense_busaddr;
+ bus_dma_tag_t sg_dmat; /* dmat for our sg segments */
+ SLIST_HEAD(, sg_map_node) sg_maps;
+ u_int8_t numscbs;
+ u_int8_t maxhscbs; /* Number of SCBs on the card */
+ u_int8_t init_level; /*
+ * How far we've initialized
+ * this structure.
+ */
+};
+
struct ahc_softc {
bus_space_tag_t tag;
bus_space_handle_t bsh;
- bus_dma_tag_t dmat;
+ bus_dma_tag_t buffer_dmat; /* dmat for buffer I/O */
struct scb_data *scb_data;
/*
@@ -447,14 +474,14 @@ struct ahc_softc {
/* Command Queues */
u_int8_t qoutfifonext;
u_int8_t qinfifonext;
- u_int8_t qoutfifo[256];
- u_int8_t qinfifo[256];
+ u_int8_t *qoutfifo;
+ u_int8_t *qinfifo;
/*
* 256 byte array storing the SCBID of outstanding
* untagged SCBs indexed by TCL.
*/
- u_int8_t untagged_scbs[256];
+ u_int8_t *untagged_scbs;
/*
* Hooks into the XPT.
@@ -501,13 +528,16 @@ struct ahc_softc {
u_int msgout_index; /* Current index in msgout */
u_int msgin_index; /* Current index in msgin */
+ bus_dma_tag_t parent_dmat;
+ bus_dma_tag_t shared_data_dmat;
+ bus_dmamap_t shared_data_dmamap;
+ bus_addr_t shared_data_busaddr;
+
/* Number of enabled target mode device on this card */
u_int enabled_luns;
- /*
- * "Bus" addresses of our data structures.
- */
- u_int32_t hscb_busaddr;
+ /* Initialization level of this data structure */
+ u_int init_level;
};
struct full_ahc_softc {
@@ -530,10 +560,11 @@ extern int ahc_debug; /* Initialized in i386/scsi/aic7xxx.c */
char *ahc_name(struct ahc_softc *ahc);
-struct ahc_softc *ahc_alloc(int unit, u_int32_t io_base,
- vm_offset_t maddr, ahc_chip chip,
- ahc_feature features, ahc_flag flags,
- struct scb_data *scb_data);
+struct ahc_softc*
+ ahc_alloc(int unit, u_int32_t io_base, vm_offset_t maddr,
+ bus_dma_tag_t parent_dmat, ahc_chip chip,
+ ahc_feature features, ahc_flag flags,
+ struct scb_data *scb_data);
int ahc_reset(struct ahc_softc *ahc);
void ahc_free(struct ahc_softc *);
int ahc_probe_scbs(struct ahc_softc *);
diff --git a/sys/dev/aic7xxx/aic7xxx.reg b/sys/dev/aic7xxx/aic7xxx.reg
index 1edd241456e1..1922b15a39d6 100644
--- a/sys/dev/aic7xxx/aic7xxx.reg
+++ b/sys/dev/aic7xxx/aic7xxx.reg
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.reg,v 1.12.2.1 1999/03/07 00:40:47 gibbs Exp $
+ * $Id: aic7xxx.reg,v 1.12.2.2 1999/03/08 22:44:36 gibbs Exp $
*/
/*
@@ -669,6 +669,16 @@ register DSPCISTATUS {
mask DFTHRSH_100 0xc0
}
+/* aic7890/91/96/97 only */
+register HS_MAILBOX {
+ address 0x086
+ mask HOST_MAILBOX 0xF0
+ mask SEQ_MAILBOX 0x0F
+}
+
+const HOST_MAILBOX_SHIFT 4
+const SEQ_MAILBOX_SHIFT 0
+
/*
* Host Control (p. 3-47) R/W
* Overall host control of the device.
@@ -727,6 +737,7 @@ register INTSTAT {
mask NO_IDENT 0x20|SEQINT /* no IDENTIFY after reconnect*/
mask NO_MATCH 0x30|SEQINT /* no cmd match for reconnect */
mask ABORT_REQUESTED 0x50|SEQINT /* Reconect of aborted SCB */
+ mask UPDATE_TMSG_REQ 0x60|SEQINT /* Update TMSG_REQ values */
mask BAD_STATUS 0x70|SEQINT /* Bad status from target */
mask RESIDUAL 0x80|SEQINT /* Residual byte count != 0 */
mask TRACE_POINT 0x90|SEQINT
diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq
index e0753ea6050a..7dad1d293bb2 100644
--- a/sys/dev/aic7xxx/aic7xxx.seq
+++ b/sys/dev/aic7xxx/aic7xxx.seq
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.seq,v 1.84.2.2 1999/03/07 00:40:47 gibbs Exp $
+ * $Id: aic7xxx.seq,v 1.84.2.3 1999/03/23 07:41:27 gibbs Exp $
*/
#include <dev/aic7xxx/aic7xxx.reg>
@@ -1025,6 +1025,18 @@ p_mesgout:
mov FUNCTION1, SCB_TCL;
mov A, FUNCTION1;
mov SINDEX, TARGET_MSG_REQUEST[0];
+ if ((ahc->features & AHC_HS_MAILBOX) != 0) {
+ /*
+ * Work around a pausing bug in at least the aic7890.
+ * If the host needs to update the TARGET_MSG_REQUEST
+ * bit field, it will set the HS_MAILBOX to 1. In
+ * response, we pause with a specific interrupt code
+ * asking for the mask to be updated before we continue.
+ * Ugh.
+ */
+ test HS_MAILBOX, 0xF0 jz . + 2;
+ mvi INTSTAT, UPDATE_TMSG_REQ;
+ }
if ((ahc->features & AHC_TWIN) != 0) {
/* Second Channel uses high byte bits */
test SCB_TCL, SELBUSB jz . + 2;
diff --git a/sys/dev/aic7xxx/aicasm_symbol.c b/sys/dev/aic7xxx/aicasm_symbol.c
index f808e8900d31..0704baa0942e 100644
--- a/sys/dev/aic7xxx/aicasm_symbol.c
+++ b/sys/dev/aic7xxx/aicasm_symbol.c
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aicasm_symbol.c,v 1.4 1997/09/27 19:37:30 gibbs Exp $
+ * $Id: aicasm_symbol.c,v 1.5 1998/09/15 07:24:17 gibbs Exp $
*/
@@ -128,10 +128,10 @@ symtable_close()
DBT data;
while (symtable->seq(symtable, &key, &data, R_FIRST) == 0) {
- symbol_t *cursym;
+ symbol_t *stored_ptr;
- cursym = *(symbol_t **)data.data;
- symbol_delete(cursym);
+ memcpy(&stored_ptr, data.data, sizeof(stored_ptr));
+ symbol_delete(stored_ptr);
}
symtable->close(symtable);
}
@@ -145,9 +145,10 @@ symbol_t *
symtable_get(name)
char *name;
{
- DBT key;
- DBT data;
- int retval;
+ symbol_t *stored_ptr;
+ DBT key;
+ DBT data;
+ int retval;
key.data = (void *)name;
key.size = strlen(name);
@@ -176,7 +177,8 @@ symtable_get(name)
/* NOTREACHED */
}
}
- return (*(symbol_t **)data.data);
+ memcpy(&stored_ptr, data.data, sizeof(stored_ptr));
+ return (stored_ptr);
}
symbol_node_t *
@@ -327,7 +329,7 @@ symtable_dump(ofile)
while (symtable->seq(symtable, &key, &data, flag) == 0) {
symbol_t *cursym;
- cursym = *(symbol_t **)data.data;
+ memcpy(&cursym, data.data, sizeof(cursym));
switch(cursym->type) {
case REGISTER:
case SCBLOC:
diff --git a/sys/dev/pccard/if_xe.c b/sys/dev/pccard/if_xe.c
deleted file mode 100644
index 1836f89332d5..000000000000
--- a/sys/dev/pccard/if_xe.c
+++ /dev/null
@@ -1,2404 +0,0 @@
-/*-
- * Copyright (c) 1998, 1999 Scott Mitchell
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Author_Id: if_xe.c,v 1.19 1999/04/15 22:15:53 scott Exp $
- * $Id: if_xe.c,v 1.19 1999/04/15 22:15:53 scott Exp $
- */
-
-/*
- * Portions of this software were derived from Werner Koch's xirc2ps driver
- * for Linux under the terms of the following license (from v1.30 of the
- * xirc2ps driver):
- *
- * Copyright (c) 1997 by Werner Koch (dd9jn)
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, and the entire permission notice in its entirety,
- * including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- * products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * FreeBSD device driver for Xircom CreditCard PCMCIA Ethernet adapters. The
- * following cards are currently known to work with the driver:
- * Xircom CreditCard 10/100 (CE3)
- * Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)
- * Xircom RealPort Ethernet 10/100
- * Xircom RealPort Ethernet 10/100 + Modem 56 (REM56, REM56G)
- * Intel EtherExpress Pro/100 PC Card Mobile Adapter 16 (Pro/100 M16A)
- * Compaq Netelligent 10/100 PC Card (CPQ-10/100)
- *
- * Some other cards *should* work, but support for them is either broken or in
- * an unknown state at the moment. I'm always interested in hearing from
- * people who own any of these cards:
- * Xircom CreditCard 10Base-T (PS-CE2-10)
- * Xircom CreditCard Ethernet + ModemII (CEM2)
- * Xircom CEM28 and CEM33 Ethernet/Modem cards (may be variants of CEM2?)
- *
- * Thanks to all who assisted with the development and testing of the driver,
- * especially: Werner Koch, Duke Kamstra, Duncan Barclay, Jason George, Dru
- * Nelson, Mike Kephart, Bill Rainey and Douglas Rand. Apologies if I've left
- * out anyone who deserves a mention here.
- *
- * Special thanks to Ade Lovett for both hosting the mailing list and doing
- * the CEM56/REM56 support code; and the FreeBSD UK Users' Group for hosting
- * the web pages.
- *
- * Contact points:
- *
- * Driver web page: http://ukug.uk.freebsd.org/~scott/xe_drv/
- *
- * Mailing list: http://www.lovett.com/lists/freebsd-xircom/
- * or send "subscribe freebsd-xircom" to <majordomo@lovett.com>
- *
- * Author email: <scott@uk.freebsd.org>
- */
-
-
-#define XE_DEBUG 1
-
-#include "xe.h"
-#include "card.h"
-#include "apm.h"
-#include "bpfilter.h"
-
-#if NXE > 0
-
-#if NCARD > 0
-
-#include <sys/param.h>
-#include <sys/cdefs.h>
-#include <sys/conf.h>
-#include <sys/errno.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/select.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/systm.h>
-#include <sys/uio.h>
-
-#include <net/ethernet.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/if_dl.h>
-#include <net/if_media.h>
-#include <net/if_mib.h>
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#endif /* NBPFILTER > 0 */
-
-#include <i386/isa/isa.h>
-#include <i386/isa/isa_device.h>
-#include <dev/pccard/if_xereg.h>
-#include <machine/clock.h>
-#if NAPM > 0
-#include <machine/apm_bios.h>
-#endif /* NAPM > 0 */
-
-#include <pccard/cardinfo.h>
-#include <pccard/cis.h>
-#include <pccard/driver.h>
-#include <pccard/slot.h>
-
-
-
-/*
- * One of these structures per allocated device
- */
-struct xe_softc {
- struct arpcom arpcom;
- struct ifmedia ifmedia;
- struct callout_handle chand;
- struct ifmib_iso_8802_3 mibdata;
- struct isa_device *dev;
- struct pccard_devinfo *crd;
- struct ifnet *ifp;
- struct ifmedia *ifm;
- char *card_type; /* Card model name */
- char *vendor; /* Card manufacturer */
- int unit; /* Unit number, from dev->id_unit */
- int srev; /* Silicon revision */
- int tx_queued; /* Packets currently waiting to transmit */
- int tx_ptr; /* Last value of PTR reg on card */
- int tx_collisions; /* Collisions since last successful send */
- int tx_timeouts; /* Count of transmit timeouts */
- int autoneg_status; /* Autonegotiation progress state */
- int media; /* Private media word */
- u_char modem; /* 1 = Multifunction card with modem */
- u_char ce3; /* 1 = CE3 class (100Mbit) adapter */
- u_char cem56; /* 1 = CEM56 class (CE3 + 56Kbps modem) adapter */
- u_char phy_ok; /* 1 = MII-compliant PHY found and initialised */
- u_char gone; /* 1 = Card bailed out */
-#if NAPM > 0
- struct apmhook suspend_hook;
- struct apmhook resume_hook;
-#endif /* NAPM > 0 */
-};
-
-static struct xe_softc *sca[MAXSLOT];
-static int iob[MAXSLOT]; /* XXX - very gross */
-
-
-/*
- * MII command structure
- */
-struct xe_mii_frame {
- u_int8_t mii_stdelim;
- u_int8_t mii_opcode;
- u_int8_t mii_phyaddr;
- u_int8_t mii_regaddr;
- u_int8_t mii_turnaround;
- u_int16_t mii_data;
-};
-
-/*
- * For accessing card registers
- */
-#define XE_INB(r) inb(scp->dev->id_iobase+(r))
-#define XE_INW(r) inw(scp->dev->id_iobase+(r))
-#define XE_OUTB(r, b) outb(scp->dev->id_iobase+(r), (b))
-#define XE_OUTW(r, w) outw(scp->dev->id_iobase+(r), (w))
-#define XE_SELECT_PAGE(p) XE_OUTB(XE_PSR, (p))
-
-/*
- * Horrid stuff for accessing CIS tuples
- */
-#define CARD_MAJOR 50
-#define CISTPL_BUFSIZE 512
-#define CISTPL_TYPE(tpl) tpl[0]
-#define CISTPL_LEN(tpl) tpl[2]
-#define CISTPL_DATA(tpl,pos) tpl[4 + ((pos)<<1)]
-
-/*
- * Media autonegotiation progress constants
- */
-#define XE_AUTONEG_NONE 0 /* No autonegotiation in progress */
-#define XE_AUTONEG_WAITING 1 /* Waiting for transmitter to go idle */
-#define XE_AUTONEG_STARTED 2 /* Waiting for autonegotiation to complete */
-#define XE_AUTONEG_100TX 3 /* Trying to force 100baseTX link */
-#define XE_AUTONEG_FAIL 4 /* Autonegotiation failed */
-
-
-/*
- * Prototypes start here
- */
-static int xe_probe (struct isa_device *dev);
-static int xe_card_init (struct pccard_devinfo *devi);
-static int xe_attach (struct isa_device *dev);
-static void xe_init (void *xscp);
-static void xe_start (struct ifnet *ifp);
-static int xe_ioctl (struct ifnet *ifp, u_long command, caddr_t data);
-static int xe_card_intr (struct pccard_devinfo *devi);
-static void xe_watchdog (struct ifnet *ifp);
-static int xe_media_change (struct ifnet *ifp);
-static void xe_media_status (struct ifnet *ifp, struct ifmediareq *mrp);
-static timeout_t xe_setmedia;
-static void xe_hard_reset (struct xe_softc *scp);
-static void xe_soft_reset (struct xe_softc *scp);
-static void xe_stop (struct xe_softc *scp);
-static void xe_enable_intr (struct xe_softc *scp);
-static void xe_disable_intr (struct xe_softc *scp);
-static void xe_setmulti (struct xe_softc *scp);
-static void xe_setaddrs (struct xe_softc *scp);
-static int xe_pio_write_packet (struct xe_softc *scp, struct mbuf *mbp);
-static void xe_card_unload (struct pccard_devinfo *devi);
-
-/*
- * MII functions
- */
-static void xe_mii_sync (struct xe_softc *scp);
-static int xe_mii_init (struct xe_softc *scp);
-static void xe_mii_send (struct xe_softc *scp, u_int32_t bits, int cnt);
-static int xe_mii_readreg (struct xe_softc *scp, struct xe_mii_frame *frame);
-static int xe_mii_writereg (struct xe_softc *scp, struct xe_mii_frame *frame);
-static u_int16_t xe_phy_readreg (struct xe_softc *scp, u_int16_t reg);
-static void xe_phy_writereg (struct xe_softc *scp, u_int16_t reg, u_int16_t data);
-
-/*
- * Debug functions
- */
-#ifdef XE_DEBUG
-#define XE_REG_DUMP(scp) xe_reg_dump((scp))
-#define XE_MII_DUMP(scp) xe_mii_dump((scp))
-static void xe_reg_dump (struct xe_softc *scp);
-static void xe_mii_dump (struct xe_softc *scp);
-#else
-#define XE_REG_DUMP(scp)
-#define XE_MII_DUMP(scp)
-#endif
-
-#if NAPM > 0
-/*
- * APM hook functions
- */
-static int xe_suspend (void *xunit);
-static int xe_resume (void *xunit);
-#endif /* NAPM > 0 */
-
-
-/*
- * PCMCIA driver hooks
- */
-#ifdef PCCARD_MODULE
-PCCARD_MODULE(xe, xe_card_init, xe_card_unload, xe_card_intr, 0, net_imask);
-#else
-static struct pccard_device xe_info = { /* For pre 3.1-STABLE code */
- "xe",
- xe_card_init,
- xe_card_unload,
- xe_card_intr,
- 0,
- &net_imask
-};
-DATA_SET(pccarddrv_set, xe_info);
-#endif /* PCCARD_MODULE */
-
-
-/*
- * ISA driver hooks. I'd like to do without these but the kernel config stuff
- * seems to require them.
- */
-struct isa_driver xedriver = {
- xe_probe,
- xe_attach,
- "xe"
-};
-
-
-
-/*
- * ISA probe routine.
- * All of the supported devices are PCMCIA cards. I have no idea if it's even
- * possible to successfully probe/attach these at boot time (pccardd normally
- * does a lot of setup work) so I don't even bother trying.
- */
-static int
-xe_probe (struct isa_device *dev) {
-#ifdef XE_DEBUG
- printf("xe%d: probe, iobase = %#x\n", dev->id_unit, dev->id_iobase);
-#endif
- bzero(sca, MAXSLOT * sizeof(sca[0]));
- iob[dev->id_unit] = dev->id_iobase;
- return 0;
-}
-
-
-/*
- * Two routines to read from/write to the attribute memory
- * the write portion is used only for fixing up the RealPort cards,
- * the reader portion was needed for debugging info, and duplicated some
- * code in xe_card_init(), so it appears here instead with suitable
- * modifications to xe_card_init()
- * -aDe Lovett
- */
-static int
-xe_memwrite(struct pccard_devinfo *devi, off_t offset, u_char byte)
-{
- struct iovec iov;
- struct uio uios;
-
- iov.iov_base = &byte;
- iov.iov_len = sizeof(byte);
-
- uios.uio_iov = &iov;
- uios.uio_iovcnt = 1;
- uios.uio_offset = offset;
- uios.uio_resid = sizeof(byte);
- uios.uio_segflg = UIO_SYSSPACE;
- uios.uio_rw = UIO_WRITE;
- uios.uio_procp = 0;
-
- return cdevsw[CARD_MAJOR]->d_write(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
-}
-
-
-static int
-xe_memread(struct pccard_devinfo *devi, off_t offset, u_char *buf, int size)
-{
- struct iovec iov;
- struct uio uios;
-
- iov.iov_base = buf;
- iov.iov_len = size;
-
- uios.uio_iov = &iov;
- uios.uio_iovcnt = 1;
- uios.uio_offset = offset;
- uios.uio_resid = size;
- uios.uio_segflg = UIO_SYSSPACE;
- uios.uio_rw = UIO_READ;
- uios.uio_procp = 0;
-
- return cdevsw[CARD_MAJOR]->d_read(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
-}
-
-
-/*
- * Hacking for RealPort cards
- */
-static int
-xe_cem56fix(struct xe_softc *scp)
-{
- struct pccard_devinfo *devi;
- struct slot *slt;
- struct slot_ctrl *ctrl;
- int ioport, fail;
-
- /* initialise a few variables */
- devi = scp->crd;
- slt = devi->slt;
- ctrl = slt->ctrl;
-
- /* allocate a new I/O slot for the ethernet */
- /* XXX: ctrl->mapio() always appears to return 0 (success), so
- * this may cause problems if another device is listening
- * on 0x300 already
- */
- slt->io[1].window = 1;
- slt->io[1].flags = IODF_WS|IODF_16BIT|IODF_ZEROWS|IODF_ACTIVE;
- slt->io[1].size = 0x10;
- if (iob[scp->unit] == -1) {
- for (ioport = 0x300; ioport < 0x400; ioport += 0x10) {
- slt->io[1].start = ioport;
- if ((fail = ctrl->mapio( slt, 1 )) == 0)
- break;
- }
- }
- else {
- ioport = iob[scp->unit];
- slt->io[1].start = ioport;
- fail = ctrl->mapio(slt, 1);
- }
-
- /* did we find one? */
- if (fail) {
- printf( "xe%d: xe_cem56fix: no free address space\n", scp->unit );
- return -1;
- }
-
-
- /* munge the id_iobase entry for use by the rest of the driver */
-#ifdef XE_DEBUG
- printf( "xe%d: using 0x%x for RealPort ethernet\n", scp->unit, ioport );
-#endif
- scp->dev->id_iobase = ioport;
- scp->dev->id_alive = 0x10;
-
- /* magic to set up the ethernet */
- xe_memwrite( devi, 0x800, 0x47 );
- xe_memwrite( devi, 0x80a, ioport & 0xff );
- xe_memwrite( devi, 0x80c, (ioport >> 8) & 0xff );
-
- xe_memwrite( devi, 0x820, 0x01 );
- xe_memwrite( devi, 0x822, 0x0c );
- xe_memwrite( devi, 0x824, 0x00 );
- xe_memwrite( devi, 0x826, 0x00 );
- xe_memwrite( devi, 0x828, 0x00 );
-
- /* success! */
- return 0;
-}
-
-
-/*
- * PCMCIA probe routine.
- * Probe and identify the device. Called by the slot manager when the card is
- * inserted or the machine wakes up from suspend mode. Assmes that the slot
- * structure has been initialised already.
- */
-static int
-xe_card_init(struct pccard_devinfo *devi)
-{
- struct xe_softc *scp;
- struct isa_device *dev;
- u_char buf[CISTPL_BUFSIZE];
- u_char ver_str[CISTPL_BUFSIZE>>1];
- off_t offs;
- int unit, success, rc, i;
-
- unit = devi->isahd.id_unit;
- scp = sca[unit];
- dev = &devi->isahd;
- success = 0;
-
-#ifdef XE_DEBUG
- printf("xe: Probing for unit %d\n", unit);
-#endif
-
- /* Check that unit number is OK */
- if (unit > MAXSLOT) {
- printf("xe: bad unit (%d)\n", unit);
- return (ENODEV);
- }
-
- /* Don't attach an active device */
- if (scp && !scp->gone) {
- printf("xe: unit already attached (%d)\n", unit);
- return (EBUSY);
- }
-
- /* Allocate per-instance storage */
- if (!scp) {
- if ((scp = malloc(sizeof(*scp), M_DEVBUF, M_NOWAIT)) == NULL) {
- printf("xe%d: failed to allocage driver storage\n", unit);
- return (ENOMEM);
- }
- bzero(scp, sizeof(*scp));
- }
-
- /* Re-attach an existing device */
- if (scp->gone) {
- scp->gone = 0;
- return 0;
- }
-
- /* Grep through CIS looking for relevant tuples */
- offs = 0;
- do {
- u_int16_t vendor;
- u_int8_t rev, media, prod;
-
- /*
- * Read tuples one at a time into buf. Sucks, but it only happens once.
- * XXX - If the stuff we need isn't in attribute memory, or (worse yet)
- * XXX - attribute memory isn't mapped, we're FUBAR. Maybe need to do an
- * XXX - ioctl on the card device and follow links?
- * XXX - Not really the driver's problem, PCCARD should handle all this!
- */
- if ((rc = xe_memread( devi, offs, buf, CISTPL_BUFSIZE )) == 0) {
-
- switch (CISTPL_TYPE(buf)) {
-
- case 0x15: /* Grab version string (needed to ID some weird CE2's) */
-#ifdef XE_DEBUG
- printf("xe%d: Got version string (0x15)\n", unit);
-#endif
- for (i = 0; i < CISTPL_LEN(buf); ver_str[i] = CISTPL_DATA(buf, i++));
- ver_str[i] = '\0';
- ver_str[(CISTPL_BUFSIZE>>1) - 1] = CISTPL_LEN(buf);
- success++;
- break;
-
- case 0x20: /* Figure out what type of card we have */
-#ifdef XE_DEBUG
- printf("xe%d: Got card ID (0x20)\n", unit);
-#endif
- vendor = CISTPL_DATA(buf, 0) + (CISTPL_DATA(buf, 1) << 8);
- rev = CISTPL_DATA(buf, 2);
- media = CISTPL_DATA(buf, 3);
- prod = CISTPL_DATA(buf, 4);
-
- switch (vendor) { /* Get vendor ID */
- case 0x0105:
- scp->vendor = "Xircom"; break;
- case 0x0138:
- case 0x0183:
- scp->vendor = "Compaq"; break;
- case 0x0089:
- scp->vendor = "Intel"; break;
- default:
- scp->vendor = "Unknown";
- }
-
- if (!((prod & 0x40) && (media & 0x01))) {
-#ifdef XE_DEBUG
- printf("xe%d: Not a PCMCIA Ethernet card!\n", unit);
-#endif
- rc = ENODEV; /* Not a PCMCIA Ethernet device */
- }
- else {
- if (media & 0x10) { /* Ethernet/modem cards */
-#ifdef XE_DEBUG
- printf("xe%d: Card is Ethernet/modem combo\n", unit);
-#endif
- scp->modem = 1;
- switch (prod & 0x0f) {
- case 1:
- scp->card_type = "CEM"; break;
- case 2:
- scp->card_type = "CEM2"; break;
- case 3:
- scp->card_type = "CEM3"; break;
- case 4:
- scp->card_type = "CEM33"; break;
- case 5:
- scp->ce3 = 1;
- scp->card_type = "CEM56M"; break;
- case 6:
- case 7: /* Some kind of RealPort card */
- scp->ce3 = 1;
- scp->cem56 = 1;
- scp->card_type = "CEM56"; break;
- default:
- rc = ENODEV;
- }
- }
- else { /* Ethernet-only cards */
-#ifdef XE_DEBUG
- printf("xe%d: Card is Ethernet only\n", unit);
-#endif
- switch (prod & 0x0f) {
- case 1:
- scp->card_type = "CE"; break;
- case 2:
- scp->card_type = "CE2"; break;
- case 3:
- scp->ce3 = 1;
- scp->card_type = "CE3"; break;
- default:
- rc = ENODEV;
- }
- }
- }
- success++;
- break;
-
- case 0x22: /* Get MAC address */
-#ifdef XE_DEBUG
- printf("xe%d: Got MAC address (0x22)\n", unit);
-#endif
- if ((CISTPL_LEN(buf) == 8) &&
- (CISTPL_DATA(buf, 0) == 0x04) &&
- (CISTPL_DATA(buf, 1) == ETHER_ADDR_LEN)) {
- for (i = 0; i < ETHER_ADDR_LEN; scp->arpcom.ac_enaddr[i] = CISTPL_DATA(buf, i+2), i++);
- }
- success++;
- break;
- default:
- }
- }
-
- /* Skip to next tuple */
- offs += ((CISTPL_LEN(buf) + 2) << 1);
-
- } while ((CISTPL_TYPE(buf) != 0xff) && (CISTPL_LEN(buf) != 0xff) && (rc == 0));
-
-
- /* Die now if something went wrong above */
- if ((rc != 0) || (success < 3)) {
- free(scp, M_DEVBUF);
- return rc;
- }
-
- /* Check for certain strange CE2's that look like CE's */
- if (strcmp(scp->card_type, "CE") == 0) {
- u_char *str = ver_str;
-#ifdef XE_DEBUG
- printf("xe%d: Checking for weird CE2 string\n", unit);
-#endif
- str += strlen(str) + 1; /* Skip forward to 3rd version string */
- str += strlen(str) + 1;
- str += strlen(str) + 1;
- for (i = 0; i < strlen(str) - 2; i++) {
- if (bcmp(&str[i], "CE2", 3) ==0) { /* Look for "CE2" string */
- scp->card_type = "CE2";
- }
- }
- }
-
- /* Reject unsupported cards */
- if (strcmp(scp->card_type, "CE") == 0 || strcmp(scp->card_type, "CEM") == 0) {
- printf("xe%d: Sorry, your %s card is not supported :(\n", unit, scp->card_type);
- free(scp, M_DEVBUF);
- return ENODEV;
- }
-
- /* Fill in some private data */
- sca[unit] = scp;
- scp->dev = &devi->isahd;
- scp->crd = devi;
- scp->ifp = &scp->arpcom.ac_if;
- scp->ifm = &scp->ifmedia;
- scp->unit = unit;
- scp->autoneg_status = 0;
-
- /* Hack RealPorts into submission */
- if (scp->cem56 && xe_cem56fix(scp) < 0) {
- printf( "xe%d: Unable to fix your RealPort\n", unit );
- sca[unit] = 0;
- free(scp, M_DEVBUF);
- return ENODEV;
- }
-
- /* Attempt to attach the device */
- if (!xe_attach(scp->dev)) {
- sca[unit] = 0;
- free(scp, M_DEVBUF);
- return ENXIO;
- }
-
-#if NAPM > 0
- /* Establish APM hooks once device attached */
- scp->suspend_hook.ah_name = "xe_suspend";
- scp->suspend_hook.ah_fun = xe_suspend;
- scp->suspend_hook.ah_arg = (void *)unit;
- scp->suspend_hook.ah_order = APM_MIN_ORDER;
- apm_hook_establish(APM_HOOK_SUSPEND, &scp->suspend_hook);
- scp->resume_hook.ah_name = "xe_resume";
- scp->resume_hook.ah_fun = xe_resume;
- scp->resume_hook.ah_arg = (void *)unit;
- scp->resume_hook.ah_order = APM_MIN_ORDER;
- apm_hook_establish(APM_HOOK_RESUME, &scp->resume_hook);
-#endif /* NAPM > 0 */
-
- /* Success */
- return 0;
-}
-
-
-/*
- * Attach a device (called when xe_card_init succeeds). Assume that the probe
- * routine has set up the softc structure correctly and that we can trust the
- * unit number.
- */
-static int
-xe_attach (struct isa_device *dev) {
- struct xe_softc *scp = sca[dev->id_unit];
- int i;
-
-#ifdef XE_DEBUG
- printf("xe%d: attach\n", scp->unit);
-#endif
-
- /* Initialise the ifnet structure */
- if (!scp->ifp->if_name) {
- scp->ifp->if_softc = scp;
- scp->ifp->if_name = "xe";
- scp->ifp->if_unit = scp->unit;
- scp->ifp->if_timer = 0;
- scp->ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST);
- scp->ifp->if_linkmib = &scp->mibdata;
- scp->ifp->if_linkmiblen = sizeof scp->mibdata;
- scp->ifp->if_output = ether_output;
- scp->ifp->if_start = xe_start;
- scp->ifp->if_ioctl = xe_ioctl;
- scp->ifp->if_watchdog = xe_watchdog;
- scp->ifp->if_init = xe_init;
- scp->ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
- }
-
- /* Initialise the ifmedia structure */
- ifmedia_init(scp->ifm, 0, xe_media_change, xe_media_status);
- callout_handle_init(&scp->chand);
-
- /*
- * Fill in supported media types. Some cards _do_ support full duplex
- * operation, but this driver doesn't, yet. Therefore we leave those modes
- * out of the list. We support some form of autoselection in all cases.
- */
- if (scp->ce3) {
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_100_TX, 0, NULL);
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL);
- }
- else {
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL);
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_2, 0, NULL);
- }
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_AUTO, 0, NULL);
-
- /* Default is to autoselect best supported media type */
- ifmedia_set(scp->ifm, IFM_ETHER|IFM_AUTO);
-
- /* Print some useful information */
- printf("\nxe%d: %s %s%s%s\n",
- scp->unit,
- scp->vendor,
- scp->card_type,
- scp->ce3 ? ", 100Mbps capable" : "",
- scp->cem56 ? ", with modem" : "");
- printf("xe%d: Ethernet address %02x", scp->unit, scp->arpcom.ac_enaddr[0]);
- for (i = 1; i < ETHER_ADDR_LEN; i++) {
- printf(":%02x", scp->arpcom.ac_enaddr[i]);
- }
- printf("\n");
-
- /* Attach the interface */
- if_attach(scp->ifp);
- ether_ifattach(scp->ifp);
-
-#if NBPFILTER > 0
- /* If BPF is in the kernel, call the attach for it */
-#ifdef XE_DEBUG
- printf("xe%d: BPF listener attached\n", scp->unit);
-#endif
- bpfattach(scp->ifp, DLT_EN10MB, sizeof(struct ether_header));
-#endif
-
- /* Done */
- return 1;
-}
-
-
-/*
- * Initialize device. Completes the reset procedure on the card and starts
- * output. If there's an autonegotiation in progress we DON'T do anything;
- * the media selection code will call us again when it's done.
- */
-static void
-xe_init(void *xscp) {
- struct xe_softc *scp = xscp;
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: init\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- if (TAILQ_EMPTY(&scp->ifp->if_addrhead)) return;
-
- /* Reset transmitter flags */
- scp->tx_queued = 0;
- scp->tx_ptr = 0;
- scp->tx_collisions = 0;
- scp->ifp->if_timer = 0;
-
- s = splimp();
-
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC0, 0x20); /* Disable source insertion (WTF is that?) */
-
- /*
- * Set the 'local memory dividing line' -- splits the 32K card memory into
- * 8K for transmit buffers and 24K for receive. This is done automatically
- * on newer revision cards.
- */
- if (scp->srev != 1) {
- XE_SELECT_PAGE(2);
- XE_OUTW(XE_RBS, 0x2000);
- }
-
- /* Set up multicast addresses */
- xe_setmulti(scp);
-
- /* Fix the data offset register -- reset leaves it off-by-one */
- XE_SELECT_PAGE(0);
- XE_OUTW(XE_DOR, 0x2000);
-
- /*
- * Set MAC interrupt masks and clear status regs. The bit names are direct
- * from the Linux code; I have no idea what most of them do.
- */
- XE_SELECT_PAGE(0x40); /* Bit 7..0 */
- XE_OUTB(XE_RXM0, 0xff); /* ROK, RAB, rsv, RO, CRC, AE, PTL, MP */
- XE_OUTB(XE_TXM0, 0xff); /* TOK, TAB, SQE, LL, TU, JAB, EXC, CRS */
- XE_OUTB(XE_TXM1, 0xb0); /* rsv, rsv, PTD, EXT, rsv, rsv, rsv, rsv */
- XE_OUTB(XE_RXS0, 0x00); /* ROK, RAB, REN, RO, CRC, AE, PTL, MP */
- XE_OUTB(XE_TXS0, 0x00); /* TOK, TAB, SQE, LL, TU, JAB, EXC, CRS */
- XE_OUTB(XE_TXS1, 0x00); /* TEN, rsv, PTD, EXT, retry_counter:4 */
-
- /*
- * Check for an in-progress autonegotiation. If one is active, just set
- * IFF_RUNNING and return. The media selection code will call us again when
- * it's done.
- */
- if (scp->autoneg_status) {
- scp->ifp->if_flags |= IFF_RUNNING;
- }
- else {
- /* Enable receiver, put MAC online */
- XE_SELECT_PAGE(0x40);
- XE_OUTB(XE_OCR, XE_OCR_RX_ENABLE|XE_OCR_ONLINE);
-
- /* Set up IMR, enable interrupts */
- xe_enable_intr(scp);
-
- /* Attempt to start output */
- scp->ifp->if_flags |= IFF_RUNNING;
- scp->ifp->if_flags &= ~IFF_OACTIVE;
- xe_start(scp->ifp);
- }
-
- (void)splx(s);
-}
-
-
-/*
- * Start output on interface. We make two assumptions here:
- * 1) that the current priority is set to splimp _before_ this code
- * is called *and* is returned to the appropriate priority after
- * return
- * 2) that the IFF_OACTIVE flag is checked before this code is called
- * (i.e. that the output part of the interface is idle)
- */
-static void
-xe_start(struct ifnet *ifp) {
- struct xe_softc *scp = ifp->if_softc;
- struct mbuf *mbp;
-
- if (scp->gone) return;
-
- /*
- * Loop while there are packets to be sent, and space to send them.
- */
- while (1) {
- IF_DEQUEUE(&ifp->if_snd, mbp); /* Suck a packet off the send queue */
-
- if (mbp == NULL) {
- /*
- * We are using the !OACTIVE flag to indicate to the outside world that
- * we can accept an additional packet rather than that the transmitter
- * is _actually_ active. Indeed, the transmitter may be active, but if
- * we haven't filled all the buffers with data then we still want to
- * accept more.
- */
- ifp->if_flags &= ~IFF_OACTIVE;
- return;
- }
-
- if (xe_pio_write_packet(scp, mbp) != 0) {
- IF_PREPEND(&ifp->if_snd, mbp); /* Push the packet back onto the queue */
- ifp->if_flags |= IFF_OACTIVE;
- return;
- }
-
-#if NBPFILTER > 0
- /* Tap off here if there is a bpf listener */
- if (ifp->if_bpf) {
-#if XE_DEBUG > 1
- printf("xe%d: sending output packet to BPF\n", scp->unit);
-#endif
- bpf_mtap(ifp, mbp);
- }
-#endif /* NBPFILTER > 0 */
-
- ifp->if_timer = 5; /* In case we don't hear from the card again */
- scp->tx_queued++;
-
- m_freem(mbp);
- }
-}
-
-
-/*
- * Process an ioctl request. Adapted from the ed driver.
- */
-static int
-xe_ioctl (register struct ifnet *ifp, u_long command, caddr_t data) {
- struct xe_softc *scp;
- int s, error;
-
- scp = ifp->if_softc;
- error = 0;
-
- if (scp->gone) {
- return ENXIO;
- }
-
- s = splimp();
-
- switch (command) {
-
- case SIOCSIFADDR:
- case SIOCGIFADDR:
- case SIOCSIFMTU:
- error = ether_ioctl(ifp, command, data);
- break;
-
- case SIOCSIFFLAGS:
- /*
- * If the interface is marked up and stopped, then start it. If it is
- * marked down and running, then stop it.
- */
- if (ifp->if_flags & IFF_UP) {
- if (!(ifp->if_flags & IFF_RUNNING)) {
- xe_hard_reset(scp);
- xe_setmedia(scp);
- xe_init(scp);
- }
- }
- else {
- if (ifp->if_flags & IFF_RUNNING)
- xe_stop(scp);
- }
-
- case SIOCADDMULTI:
- case SIOCDELMULTI:
- /*
- * Multicast list has (maybe) changed; set the hardware filter
- * accordingly. This also serves to deal with promiscuous mode if we have
- * a BPF listener active.
- */
- xe_setmulti(scp);
- error = 0;
- break;
-
- case SIOCSIFMEDIA:
- case SIOCGIFMEDIA:
- /*
- * Someone wants to get/set media options.
- */
- error = ifmedia_ioctl(ifp, (struct ifreq *)data, &scp->ifmedia, command);
- break;
-
- default:
- error = EINVAL;
- }
-
- (void)splx(s);
-
- return error;
-}
-
-
-/*
- * Card interrupt handler: should return true if the interrupt was for us, in
- * case we are sharing our IRQ line with other devices (this will probably be
- * the case for multifunction cards).
- *
- * This function is probably more complicated than it needs to be, as it
- * attempts to deal with the case where multiple packets get sent between
- * interrupts. This is especially annoying when working out the collision
- * stats. Not sure whether this case ever really happens or not (maybe on a
- * slow/heavily loaded machine?) so it's probably best to leave this like it
- * is.
- *
- * Note that the crappy PIO used to get packets on and off the card means that
- * you will spend a lot of time in this routine -- I can get my P150 to spend
- * 90% of its time servicing interrupts if I really hammer the network. Could
- * fix this, but then you'd start dropping/losing packets. The moral of this
- * story? If you want good network performance _and_ some cycles left over to
- * get your work done, don't buy a Xircom card. Or convince them to tell me
- * how to do memory-mapped I/O :)
- */
-static int
-xe_card_intr(struct pccard_devinfo *devi) {
- struct xe_softc *scp;
- struct ifnet *ifp;
- int unit, result;
- u_int16_t rx_bytes, rxs, txs;
- u_int8_t psr, isr, esr, rsr;
-
- unit = devi->isahd.id_unit;
- scp = sca[unit];
- ifp = &scp->arpcom.ac_if;
- rx_bytes = 0; /* Bytes received on this interrupt */
- result = 0; /* Set true if the interrupt is for us */
-
- if (scp->gone)
- return 0;
-
- if (scp->ce3) {
- XE_OUTB(XE_CR, 0); /* Disable interrupts */
- }
-
- psr = XE_INB(XE_PSR); /* Stash the current register page */
-
- /*
- * Read ISR to see what caused this interrupt. Note that this clears the
- * ISR on CE2 type cards.
- */
- if ((isr = XE_INB(XE_ISR)) && isr != 0xff) {
-
- result = 1; /* This device did generate an int */
- esr = XE_INB(XE_ESR); /* Read the other status registers */
- XE_SELECT_PAGE(0x40);
- rxs = XE_INB(XE_RXS0);
- XE_OUTB(XE_RXS0, ~rxs & 0xff);
- txs = XE_INB(XE_TXS0);
- txs |= XE_INB(XE_TXS1) << 8;
- XE_OUTB(XE_TXS0, 0);
- XE_OUTB(XE_TXS1, 0);
- XE_SELECT_PAGE(0);
-
-#if XE_DEBUG > 3
- printf("xe%d: ISR=%#2.2x ESR=%#2.2x RXS=%#2.2x TXS=%#4.4x\n", unit, isr, esr, rxs, txs);
-#endif
-
- /*
- * Handle transmit interrupts
- */
- if (isr & XE_ISR_TX_PACKET) {
- u_int8_t new_ptr, sent;
-
- if ((new_ptr = XE_INB(XE_PTR)) < scp->tx_ptr) /* Update packet count */
- sent = (0xff - scp->tx_ptr) + new_ptr; /* PTR rolled over */
- else
- sent = new_ptr - scp->tx_ptr;
-
- if (sent > 0) { /* Packets sent since last interrupt */
- scp->tx_ptr = new_ptr;
- scp->tx_queued -= sent;
- ifp->if_opackets += sent;
- ifp->if_collisions += scp->tx_collisions;
-
- /*
- * Collision stats are a PITA. If multiples frames have been sent, we
- * distribute any outstanding collision count equally amongst them.
- * However, if we're missing interrupts we're quite likely to also
- * miss some collisions; thus the total count will be off anyway.
- * Likewise, if we miss a frame dropped due to excessive collisions
- * any outstanding collisions count will be held against the next
- * frame to be successfully sent. Hopefully it averages out in the
- * end!
- * XXX - This will screw up if tx_collisions/sent > 14. FIX IT!
- */
- switch (scp->tx_collisions) {
- case 0:
- break;
- case 1:
- scp->mibdata.dot3StatsSingleCollisionFrames++;
- scp->mibdata.dot3StatsCollFrequencies[0]++;
- break;
- default:
- if (sent == 1) {
- scp->mibdata.dot3StatsMultipleCollisionFrames++;
- scp->mibdata.dot3StatsCollFrequencies[scp->tx_collisions-1]++;
- }
- else { /* Distribute across multiple frames */
- scp->mibdata.dot3StatsMultipleCollisionFrames += sent;
- scp->mibdata.
- dot3StatsCollFrequencies[scp->tx_collisions/sent] += sent - scp->tx_collisions%sent;
- scp->mibdata.
- dot3StatsCollFrequencies[scp->tx_collisions/sent + 1] += scp->tx_collisions%sent;
- }
- }
- scp->tx_collisions = 0;
- }
- ifp->if_timer = 0;
- ifp->if_flags &= ~IFF_OACTIVE;
- }
- if (txs & 0x0002) { /* Excessive collisions (packet dropped) */
- ifp->if_collisions += 16;
- ifp->if_oerrors++;
- scp->tx_collisions = 0;
- scp->mibdata.dot3StatsExcessiveCollisions++;
- scp->mibdata.dot3StatsMultipleCollisionFrames++;
- scp->mibdata.dot3StatsCollFrequencies[15]++;
- XE_OUTB(XE_CR, XE_CR_RESTART_TX);
- }
- if (txs & 0x0040) /* Transmit aborted -- probably collisions */
- scp->tx_collisions++;
-
-
- /*
- * Handle receive interrupts
- */
- while ((esr = XE_INB(XE_ESR)) & XE_ESR_FULL_PKT_RX) {
-
- if ((rsr = XE_INB(XE_RSR)) & XE_RSR_RX_OK) {
- struct ether_header *ehp;
- struct mbuf *mbp;
- u_int16_t len;
-
- len = XE_INW(XE_RBC);
-
- if (len == 0)
- continue;
-
-#if 0
- /*
- * Limit the amount of time we spend in this loop, dropping packets if
- * necessary. The Linux code does this with considerably more
- * finesse, adjusting the threshold dynamically.
- */
- if ((rx_bytes += len) > 22000) {
- ifp->if_iqdrops++;
- scp->mibData.dot3StatsMissedFrames++;
- XE_OUTW(XE_DOR, 0x8000);
- continue;
- }
-#endif
-
- if (len & 0x01)
- len++;
-
- MGETHDR(mbp, M_DONTWAIT, MT_DATA); /* Allocate a header mbuf */
- if (mbp != NULL) {
- mbp->m_pkthdr.rcvif = ifp;
- mbp->m_pkthdr.len = mbp->m_len = len;
-
- /*
- * If the mbuf header isn't big enough for the packet, attach an
- * mbuf cluster to hold it. The +2 is to allow for the nasty little
- * alignment hack below.
- */
- if (len + 2 > MHLEN) {
- MCLGET(mbp, M_DONTWAIT);
- if ((mbp->m_flags & M_EXT) == 0) {
- m_freem(mbp);
- mbp = NULL;
- }
- }
- }
-
- if (mbp != NULL) {
- /*
- * The Ethernet header is 14 bytes long; thus the actual packet data
- * won't be 32-bit aligned when it's dumped into the mbuf. We
- * offset everything by 2 bytes to fix this. Apparently the
- * alignment is important for NFS, damn its eyes.
- */
- mbp->m_data += 2;
- ehp = mtod(mbp, struct ether_header *);
-
- /*
- * Now get the packet, including the Ethernet header and trailer (?)
- * We use programmed I/O, because we don't know how to do shared
- * memory with these cards. So yes, it's real slow, and heavy on
- * the interrupts (CPU on my P150 maxed out at ~950KBps incoming).
- */
- if (scp->srev == 0) { /* Workaround a bug in old cards */
- u_short rhs;
-
- XE_SELECT_PAGE(5);
- rhs = XE_INW(XE_RHS);
- XE_SELECT_PAGE(0);
-
- rhs += 3; /* Skip control info */
-
- if (rhs >= 0x8000)
- rhs = 0;
-
- if (rhs + len > 0x8000) {
- int i;
-
- /*
- * XXX - This i-- seems very wrong, but it's what the Linux guys
- * XXX - do. Need someone with an old CE2 to test this for me.
- * XXX - 99/3/28: Changed the first i-- to an i++, maybe that'll
- * XXX - fix it? It seems as though the previous version would
- * XXX - have caused an infinite loop (what, another one?).
- */
- for (i = 0; i < len; i++, rhs++) {
- ((char *)ehp)[i] = XE_INB(XE_EDP);
- if (rhs == 0x8000) {
- rhs = 0;
- i--;
- }
- }
- }
- else
- insw(scp->dev->id_iobase+XE_EDP, ehp, len >> 1);
- }
- else
- insw(scp->dev->id_iobase+XE_EDP, ehp, len >> 1);
-
-#if NBPFILTER > 0
- /*
- * Check if there's a BPF listener on this interface. If so, hand
- * off the raw packet to bpf.
- */
- if (ifp->if_bpf) {
-#if XE_DEBUG > 1
- printf("xe%d: passing input packet to BPF\n", scp->unit);
-#endif
- bpf_mtap(ifp, mbp);
-
- /*
- * Note that the interface cannot be in promiscuous mode if there
- * are no BPF listeners. And if we are in promiscuous mode, we
- * have to check if this packet is really ours.
- */
- if ((ifp->if_flags & IFF_PROMISC) &&
- bcmp(ehp->ether_dhost, scp->arpcom.ac_enaddr, sizeof(ehp->ether_dhost)) != 0 &&
- (rsr & XE_RSR_PHYS_PKT)) {
- m_freem(mbp);
- mbp = NULL;
- }
- }
-#endif /* NBPFILTER > 0 */
-
- if (mbp != NULL) {
- mbp->m_pkthdr.len = mbp->m_len = len - ETHER_HDR_LEN;
- mbp->m_data += ETHER_HDR_LEN; /* Strip off Ethernet header */
- ether_input(ifp, ehp, mbp); /* Send the packet on its way */
- ifp->if_ipackets++; /* Success! */
- }
- XE_OUTW(XE_DOR, 0x8000); /* skip_rx_packet command */
- }
- }
- else if (rsr & XE_RSR_LONG_PKT) { /* Packet length >1518 bytes */
- scp->mibdata.dot3StatsFrameTooLongs++;
- ifp->if_ierrors++;
- }
- else if (rsr & XE_RSR_CRC_ERR) { /* Bad checksum on packet */
- scp->mibdata.dot3StatsFCSErrors++;
- ifp->if_ierrors++;
- }
- else if (rsr & XE_RSR_ALIGN_ERR) { /* Packet alignment error */
- scp->mibdata.dot3StatsAlignmentErrors++;
- ifp->if_ierrors++;
- }
- }
- if (rxs & 0x10) { /* Receiver overrun */
- scp->mibdata.dot3StatsInternalMacReceiveErrors++;
- ifp->if_ierrors++;
- XE_OUTB(XE_CR, XE_CR_CLEAR_OVERRUN);
- }
- }
-
- XE_SELECT_PAGE(psr); /* Restore saved page */
- XE_OUTB(XE_CR, XE_CR_ENABLE_INTR); /* Re-enable interrupts */
-
- /* XXX - Could force an int here, instead of dropping packets? */
- /* XXX - XE_OUTB(XE_CR, XE_CR_ENABLE_INTR|XE_CE_FORCE_INTR); */
-
- return result;
-}
-
-
-/*
- * Device timeout/watchdog routine. Called automatically if we queue a packet
- * for transmission but don't get an interrupt within a specified timeout
- * (usually 5 seconds). When this happens we assume the worst and reset the
- * card.
- */
-static void
-xe_watchdog(struct ifnet *ifp) {
- struct xe_softc *scp = ifp->if_softc;
-
- if (scp->gone) return;
-
- printf("xe%d: watchdog timeout; resetting card\n", scp->unit);
- scp->tx_timeouts++;
- ifp->if_oerrors += scp->tx_queued;
- xe_stop(scp);
- xe_hard_reset(scp);
- xe_setmedia(scp);
- xe_init(scp);
-}
-
-
-/*
- * Change media selection.
- */
-static int
-xe_media_change(struct ifnet *ifp) {
- struct xe_softc *scp = ifp->if_softc;
-
-#ifdef XE_DEBUG
- printf("xe%d: media_change\n", ifp->if_unit);
-#endif
-
- if (IFM_TYPE(scp->ifm->ifm_media) != IFM_ETHER)
- return(EINVAL);
-
- /*
- * Some card/media combos aren't always possible -- filter those out here.
- */
- if ((IFM_SUBTYPE(scp->ifm->ifm_media) == IFM_AUTO ||
- IFM_SUBTYPE(scp->ifm->ifm_media) == IFM_100_TX) && !scp->phy_ok)
- return (EINVAL);
-
- xe_setmedia(scp);
-
- return 0;
-}
-
-
-/*
- * Return current media selection.
- */
-static void
-xe_media_status(struct ifnet *ifp, struct ifmediareq *mrp) {
-
-#ifdef XE_DEBUG
- printf("xe%d: media_status\n", ifp->if_unit);
-#endif
-
- mrp->ifm_active = ((struct xe_softc *)ifp->if_softc)->media;
-
- return;
-}
-
-
-/*
- * Select active media.
- */
-static void xe_setmedia(void *xscp) {
- struct xe_softc *scp = xscp;
- u_int16_t bmcr, bmsr, anar, lpar;
-
-#ifdef XE_DEBUG
- printf("xe%d: setmedia\n", scp->unit);
-#endif
-
- /* Cancel any pending timeout */
- untimeout(xe_setmedia, scp, scp->chand);
- xe_disable_intr(scp);
-
- /* Select media */
- scp->media = IFM_ETHER;
- switch (IFM_SUBTYPE(scp->ifm->ifm_media)) {
-
- case IFM_AUTO: /* Autoselect media */
- scp->media = IFM_ETHER|IFM_AUTO;
-
- /*
- * Autoselection is really awful. It goes something like this:
- *
- * Wait until the transmitter goes idle (2sec timeout).
- * Reset card
- * IF a 100Mbit PHY exists
- * Start NWAY autonegotiation (3.5sec timeout)
- * IF that succeeds
- * Select 100baseTX or 10baseT, whichever was detected
- * ELSE
- * Reset card
- * IF a 100Mbit PHY exists
- * Try to force a 100baseTX link (3sec timeout)
- * IF that succeeds
- * Select 100baseTX
- * ELSE
- * Disable the PHY
- * ENDIF
- * ENDIF
- * ENDIF
- * ENDIF
- * IF nothing selected so far
- * IF a 100Mbit PHY exists
- * Select 10baseT
- * ELSE
- * Select 10baseT or 10base2, whichever is connected
- * ENDIF
- * ENDIF
- */
- switch (scp->autoneg_status) {
-
- case XE_AUTONEG_NONE:
-#ifdef XE_DEBUG
- printf("xe%d: Waiting for idle transmitter\n", scp->unit);
-#endif
- scp->arpcom.ac_if.if_flags |= IFF_OACTIVE;
- scp->autoneg_status = XE_AUTONEG_WAITING;
- scp->chand = timeout(xe_setmedia, scp, hz * 2);
- return;
-
- case XE_AUTONEG_WAITING:
- xe_soft_reset(scp);
- if (scp->phy_ok) {
-#ifdef XE_DEBUG
- printf("xe%d: Starting autonegotiation\n", scp->unit);
-#endif
- bmcr = xe_phy_readreg(scp, PHY_BMCR);
- bmcr &= ~(PHY_BMCR_AUTONEGENBL);
- xe_phy_writereg(scp, PHY_BMCR, bmcr);
- anar = xe_phy_readreg(scp, PHY_ANAR);
- anar &= ~(PHY_ANAR_100BT4|PHY_ANAR_100BTXFULL|PHY_ANAR_10BTFULL);
- anar |= PHY_ANAR_100BTXHALF|PHY_ANAR_10BTHALF;
- xe_phy_writereg(scp, PHY_ANAR, anar);
- bmcr |= PHY_BMCR_AUTONEGENBL|PHY_BMCR_AUTONEGRSTR;
- xe_phy_writereg(scp, PHY_BMCR, bmcr);
- scp->autoneg_status = XE_AUTONEG_STARTED;
- scp->chand = timeout(xe_setmedia, scp, hz * 7/2);
- return;
- }
- else {
- scp->autoneg_status = XE_AUTONEG_FAIL;
- }
- break;
-
- case XE_AUTONEG_STARTED:
- bmsr = xe_phy_readreg(scp, PHY_BMSR);
- lpar = xe_phy_readreg(scp, PHY_LPAR);
- if (bmsr & (PHY_BMSR_AUTONEGCOMP|PHY_BMSR_LINKSTAT)) {
-#ifdef XE_DEBUG
- printf("xe%d: Autonegotiation complete!\n", scp->unit);
-#endif
- /*
- * XXX - Shouldn't have to do this, but (on my hub at least) the
- * XXX - transmitter won't work after a successful autoneg. So we see
- * XXX - what the negotiation result was and force that mode. I'm
- * XXX - sure there is an easy fix for this.
- */
- if (lpar & PHY_LPAR_100BTXHALF) {
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_SPEEDSEL);
- XE_MII_DUMP(scp);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- scp->media = IFM_ETHER|IFM_100_TX;
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- else {
- /*
- * XXX - Bit of a hack going on in here.
- * XXX - This is derived from Ken Hughes patch to the Linux driver
- * XXX - to make it work with 10Mbit _autonegotiated_ links on CE3B
- * XXX - cards. What's a CE3B and how's it differ from a plain CE3?
- * XXX - these are the things we need to find out.
- */
- xe_phy_writereg(scp, PHY_BMCR, 0x0000);
- XE_SELECT_PAGE(2);
- /* BEGIN HACK */
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x80);
- scp->media = IFM_ETHER|IFM_10_T;
- scp->autoneg_status = XE_AUTONEG_NONE;
- /* END HACK */
- /*XE_OUTB(XE_MSR, XE_INB(XE_MSR) & ~0x08);*/ /* Disable PHY? */
- /*scp->autoneg_status = XE_AUTONEG_FAIL;*/
- }
- }
- else {
-#ifdef XE_DEBUG
- printf("xe%d: Autonegotiation failed; trying 100baseTX\n", scp->unit);
-#endif
- XE_MII_DUMP(scp);
- xe_soft_reset(scp);
- if (scp->phy_ok) {
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_SPEEDSEL);
- scp->autoneg_status = XE_AUTONEG_100TX;
- scp->chand = timeout(xe_setmedia, scp, hz * 3);
- return;
- }
- else {
- scp->autoneg_status = XE_AUTONEG_FAIL;
- }
- }
- break;
-
- case XE_AUTONEG_100TX:
- (void)xe_phy_readreg(scp, PHY_BMSR);
- bmsr = xe_phy_readreg(scp, PHY_BMSR);
- if (bmsr & PHY_BMSR_LINKSTAT) {
-#ifdef XE_DEBUG
- printf("xe%d: Got 100baseTX link!\n", scp->unit);
-#endif
- XE_MII_DUMP(scp);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- scp->media = IFM_ETHER|IFM_100_TX;
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- else {
-#ifdef XE_DEBUG
- printf("xe%d: Autonegotiation failed; disabling PHY\n", scp->unit);
-#endif
- XE_MII_DUMP(scp);
- xe_phy_writereg(scp, PHY_BMCR, 0x0000);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) & ~0x08); /* Disable PHY? */
- scp->autoneg_status = XE_AUTONEG_FAIL;
- }
- break;
- }
-
- /*
- * If we got down here _and_ autoneg_status is XE_AUTONEG_FAIL, then
- * either autonegotiation failed, or never got started to begin with. In
- * either case, select a suitable 10Mbit media and hope it works. We
- * don't need to reset the card again, since it will have been done
- * already by the big switch above.
- */
- if (scp->autoneg_status == XE_AUTONEG_FAIL) {
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 10baseX\n", scp->unit);
-#endif
- if (scp->ce3) {
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x80);
- scp->media = IFM_ETHER|IFM_10_T;
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- else {
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR0, 4);
- DELAY(50000);
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, (XE_INB(XE_ESR) & XE_ESR_MEDIA_SELECT) ? 0x80 : 0xc0);
- scp->media = IFM_ETHER|((XE_INB(XE_ESR) & XE_ESR_MEDIA_SELECT) ? IFM_10_T : IFM_10_2);
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- }
- break;
-
-
- /*
- * If a specific media has been requested, we just reset the card and
- * select it (one small exception -- if 100baseTX is requested by there is
- * no PHY, we fall back to 10baseT operation).
- */
- case IFM_100_TX: /* Force 100baseTX */
- xe_soft_reset(scp);
- if (scp->phy_ok) {
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 100baseTX\n", scp->unit);
-#endif
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0);
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_SPEEDSEL);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- scp->media |= IFM_100_TX;
- break;
- }
- /* FALLTHROUGH */
-
- case IFM_10_T: /* Force 10baseT */
- xe_soft_reset(scp);
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 10baseT\n", scp->unit);
-#endif
- if (scp->phy_ok) {
- xe_phy_writereg(scp, PHY_BMCR, 0x0000);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) & ~0x08); /* Disable PHY */
- }
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x80);
- scp->media |= IFM_10_T;
- break;
-
- case IFM_10_2:
- xe_soft_reset(scp);
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 10base2\n", scp->unit);
-#endif
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0xc0);
- scp->media |= IFM_10_2;
- break;
- }
-
-
- /*
- * Finally, the LEDs are set to match whatever media was chosen and the
- * transmitter is unblocked.
- */
-#ifdef XE_DEBUG
- printf("xe%d: Setting LEDs\n", scp->unit);
-#endif
- XE_SELECT_PAGE(2);
- switch (IFM_SUBTYPE(scp->media)) {
- case IFM_100_TX:
- case IFM_10_T:
- XE_OUTB(XE_LED, 0x3b);
- if (scp->cem56)
- XE_OUTB(0x0b, 0x04); /* 100Mbit LED */
- break;
-
- case IFM_10_2:
- XE_OUTB(XE_LED, 0x3a);
- break;
- }
-
- /* Restart output? */
- scp->ifp->if_flags &= ~IFF_OACTIVE;
- xe_init(scp);
-}
-
-
-/*
- * Hard reset (power cycle) the card.
- */
-static void
-xe_hard_reset(struct xe_softc *scp) {
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: hard_reset\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- s = splimp();
-
- /*
- * Power cycle the card.
- */
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR1, 0); /* Power off */
- DELAY(40000);
-
- if (scp->ce3)
- XE_OUTB(XE_GPR1, 1); /* And back on again */
- else
- XE_OUTB(XE_GPR1, 5); /* Also set AIC bit, whatever that is */
- DELAY(40000);
- XE_SELECT_PAGE(0);
-
- (void)splx(s);
-}
-
-
-/*
- * Soft reset the card. Also makes sure that the ML6692 and 10Mbit controller
- * are powered up, sets the silicon revision number in softc, disables
- * interrupts and checks for the prescence of a 100Mbit PHY. This should
- * leave us in a position where we can access the PHY and do media
- * selection. The function imposes a 0.5s delay while the hardware powers up.
- */
-static void
-xe_soft_reset(struct xe_softc *scp) {
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: soft_reset\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- s = splimp();
-
- /*
- * Reset the card, (again).
- */
- XE_SELECT_PAGE(0);
- XE_OUTB(XE_CR, XE_CR_SOFT_RESET);
- DELAY(40000);
- XE_OUTB(XE_CR, 0);
- DELAY(40000);
-
- if (scp->ce3) {
- /*
- * set GP1 and GP2 as outputs (bits 2 & 3)
- * set GP1 low to power on the ML6692 (bit 0)
- * set GP2 high to power on the 10Mhz chip (bit 1)
- */
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR0, 0x0e);
- }
-
- /*
- * Wait for everything to wake up.
- */
- DELAY(500000);
-
- /*
- * Get silicon revision number.
- */
- XE_SELECT_PAGE(4);
- if (scp->ce3)
- scp->srev = (XE_INB(XE_BOV) & 0x70) >> 4;
- else
- scp->srev = (XE_INB(XE_BOV) & 0x30) >> 4;
-#ifdef XE_DEBUG
- printf("xe%d: silicon revision = %d\n", scp->unit, scp->srev);
-#endif
-
- /*
- * Shut off interrupts.
- */
- xe_disable_intr(scp);
-
- /*
- * Check for PHY.
- */
- if (scp->ce3) {
- scp->phy_ok = xe_mii_init(scp);
- }
-
- XE_SELECT_PAGE(0);
-
- (void)splx(s);
-}
-
-
-/*
- * Take interface offline. This is done by powering down the device, which I
- * assume means just shutting down the transceiver and Ethernet logic. This
- * requires a _hard_ reset to recover from, as we need to power up again.
- */
-static void
-xe_stop(struct xe_softc *scp) {
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: stop\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- s = splimp();
-
- /*
- * Shut off interrupts.
- */
- xe_disable_intr(scp);
-
- /*
- * Power down.
- */
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR1, 0);
- XE_SELECT_PAGE(0);
-
- /*
- * ~IFF_RUNNING == interface down.
- */
- scp->ifp->if_flags &= ~IFF_RUNNING;
- scp->ifp->if_flags &= ~IFF_OACTIVE;
- scp->ifp->if_timer = 0;
-
- (void)splx(s);
-}
-
-
-/*
- * Enable Ethernet interrupts from the card.
- */
-static void
-xe_enable_intr(struct xe_softc *scp) {
-#ifdef XE_DEBUG
- printf("xe%d: enable_intr\n", scp->unit);
-#endif
-
- XE_SELECT_PAGE(1);
- XE_OUTB(XE_IMR0, 0xff); /* Unmask everything */
- XE_OUTB(XE_IMR1, 0x01); /* Unmask TX underrun detection */
- DELAY(1);
-
- XE_SELECT_PAGE(0);
- XE_OUTB(XE_CR, XE_CR_ENABLE_INTR); /* Enable interrupts */
- if (scp->modem && !scp->cem56) { /* This bit is just magic */
- if (!(XE_INB(0x10) & 0x01)) {
- XE_OUTB(0x10, 0x11); /* Unmask master int enable bit */
- }
- }
-}
-
-
-/*
- * Disable all Ethernet interrupts from the card.
- */
-static void
-xe_disable_intr(struct xe_softc *scp) {
-#ifdef XE_DEBUG
- printf("xe%d: disable_intr\n", scp->unit);
-#endif
-
- XE_SELECT_PAGE(0);
- XE_OUTB(XE_CR, 0); /* Disable interrupts */
- if (scp->modem && !scp->cem56) { /* More magic (does this work?) */
- XE_OUTB(0x10, 0x10); /* Mask the master int enable bit */
- }
-
- XE_SELECT_PAGE(1);
- XE_OUTB(XE_IMR0, 0); /* Forbid all interrupts */
- XE_OUTB(XE_IMR1, 0);
- XE_SELECT_PAGE(0);
-}
-
-
-/*
- * Set up multicast filter and promiscuous mode
- */
-static void
-xe_setmulti(struct xe_softc *scp) {
- struct ifnet *ifp;
- struct ifmultiaddr *maddr;
- int count;
-
- ifp = &scp->arpcom.ac_if;
- maddr = ifp->if_multiaddrs.lh_first;
-
- /* Get length of multicast list */
- for (count = 0; maddr != NULL; maddr = maddr->ifma_link.le_next, count++);
-
- if ((ifp->if_flags & IFF_PROMISC) || (ifp->if_flags & IFF_ALLMULTI) || (count > 9)) {
- /*
- * Go into promiscuous mode if either of the PROMISC or ALLMULTI flags are
- * set, or if we have been asked to deal with more than 9 multicast
- * addresses. To do this: set MPE and PME in SWC1
- */
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x06);
- }
- else if ((ifp->if_flags & IFF_MULTICAST) && (count > 0)) {
- /*
- * Program the filters for up to 9 addresses
- */
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x01);
- XE_SELECT_PAGE(0x40);
- XE_OUTB(XE_OCR, XE_OCR_OFFLINE);
- /*xe_reg_dump(scp);*/
- xe_setaddrs(scp);
- /*xe_reg_dump(scp);*/
- XE_SELECT_PAGE(0x40);
- XE_OUTB(XE_OCR, XE_OCR_RX_ENABLE|XE_OCR_ONLINE);
- }
- else {
- /*
- * No multicast operation (default)
- */
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0);
- }
- XE_SELECT_PAGE(0);
-}
-
-
-/*
- * Set up all on-chip addresses (for multicast). AFAICS, there are 10
- * of these things; the first is our MAC address, the other 9 are mcast
- * addresses, padded with the MAC address if there aren't enough.
- * XXX - This doesn't work right, but I'm not sure why yet. We seem to be
- * XXX - doing much the same as the Linux code, which is weird enough that
- * XXX - it's probably right (despite my earlier comments to the contrary).
- * XXX - I wonder if this thing has a multicast hash filter like most other
- * XXX - Ethernet hardware seems to?
- */
-static void
-xe_setaddrs(struct xe_softc *scp) {
- struct ifmultiaddr *maddr;
- u_int8_t *addr;
- u_int8_t page, slot, byte, i;
-
- maddr = scp->arpcom.ac_if.if_multiaddrs.lh_first;
-
- XE_SELECT_PAGE(page = 0x50);
-
- for (slot = 0, byte = 8; slot < 10; slot++) {
-
- if (slot == 0)
- addr = (u_int8_t *)(&scp->arpcom.ac_enaddr);
- else {
- while (maddr != NULL && maddr->ifma_addr->sa_family != AF_LINK)
- maddr = maddr->ifma_link.le_next;
- if (maddr != NULL)
- addr = LLADDR((struct sockaddr_dl *)maddr->ifma_addr);
- else
- addr = (u_int8_t *)(&scp->arpcom.ac_enaddr);
- }
-
- for (i = 0; i < 6; i++, byte++) {
-#if XE_DEBUG > 1
- if (i)
- printf(":%x", addr[i]);
- else
- printf("xe%d: individual addresses %d: %x", scp->unit, slot, addr[0]);
-#endif
-
- if (byte > 15) {
- page++;
- byte = 8;
- XE_SELECT_PAGE(page);
- }
-
- if (scp->ce3)
- XE_OUTB(byte, addr[5 - i]);
- else
- XE_OUTB(byte, addr[i]);
- }
-#if XE_DEBUG > 1
- printf("\n");
-#endif
- }
-
- XE_SELECT_PAGE(0);
-}
-
-
-/*
- * Write an outgoing packet to the card using programmed I/O.
- */
-static int
-xe_pio_write_packet(struct xe_softc *scp, struct mbuf *mbp) {
- struct mbuf *mbp2;
- u_int16_t len, pad, free, ok;
- u_int8_t *data;
- u_int8_t savebyte[2], wantbyte;
-
- /* Get total packet length */
- for (len = 0, mbp2 = mbp; mbp2 != NULL; len += mbp2->m_len, mbp2 = mbp2->m_next);
-
- /* Packets < minimum length may need to be padded out */
- pad = 0;
- if (len < ETHER_MIN_LEN - ETHER_CRC_LEN) {
- pad = (ETHER_MIN_LEN - ETHER_CRC_LEN - len + 1) >> 1;
- len = ETHER_MIN_LEN - ETHER_CRC_LEN;
- }
-
- /* Check transmit buffer space */
- XE_SELECT_PAGE(0);
- XE_OUTW(XE_TRS, len+2);
- free = XE_INW(XE_TSO);
- ok = free & 0x8000;
- free &= 0x7fff;
- if (free <= len + 2)
- return 1;
-
- /* Send packet length to card */
- XE_OUTW(XE_EDP, len);
-
- /*
- * Write packet to card using PIO (code stolen from the ed driver)
- */
- wantbyte = 0;
- while (mbp != NULL) {
- len = mbp->m_len;
- if (len > 0) {
- data = mtod(mbp, caddr_t);
- if (wantbyte) { /* Finish the last word */
- savebyte[1] = *data;
- XE_OUTW(XE_EDP, *(u_short *)savebyte);
- data++;
- len--;
- wantbyte = 0;
- }
- if (len > 1) { /* Output contiguous words */
- outsw(scp->dev->id_iobase+XE_EDP, data, len >> 1);
- data += len & ~1;
- len &= 1;
- }
- if (len == 1) { /* Save last byte, if necessary */
- savebyte[0] = *data;
- wantbyte = 1;
- }
- }
- mbp = mbp->m_next;
- }
- if (wantbyte) /* Last byte for odd-length packets */
- XE_OUTW(XE_EDP, *(u_short *)savebyte);
-
- /*
- * For CE3 cards, just tell 'em to send -- apparently the card will pad out
- * short packets with random cruft. Otherwise, write nonsense words to fill
- * out the packet. I guess it is then sent automatically (?)
- */
- if (scp->ce3)
- XE_OUTB(XE_CR, XE_CR_TX_PACKET|XE_CR_ENABLE_INTR);
- else
- while (pad > 0) {
- XE_OUTW(XE_EDP, 0xdead);
- pad--;
- }
-
- return 0;
-}
-
-
-/*
- * The device entry is being removed, probably because someone ejected the
- * card. The interface should have been brought down manually before calling
- * this function; if not you may well lose packets. In any case, I shut down
- * the card and the interface, and hope for the best. The 'gone' flag is set,
- * so hopefully no-one else will try to access the missing card.
- */
-static void
-xe_card_unload(struct pccard_devinfo *devi) {
- struct xe_softc *scp;
- struct ifnet *ifp;
- int unit;
-
- unit = devi->isahd.id_unit;
- scp = sca[unit];
- ifp = &scp->arpcom.ac_if;
-
- if (scp->gone) {
- printf("xe%d: already unloaded\n", unit);
- return;
- }
-
- if_down(ifp);
- ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE);
- xe_stop(scp);
- scp->gone = 1;
-}
-
-
-
-/**************************************************************
- * *
- * M I I F U N C T I O N S *
- * *
- **************************************************************/
-
-/*
- * Alternative MII/PHY handling code adapted from the xl driver. It doesn't
- * seem to work any better than the xirc2_ps stuff, but it's cleaner code.
- */
-#define XE_MII_SET(x) XE_OUTB(XE_GPR2, (XE_INB(XE_GPR2) | 0x04) | (x))
-#define XE_MII_CLR(x) XE_OUTB(XE_GPR2, (XE_INB(XE_GPR2) | 0x04) & ~(x))
-
-
-/*
- * Sync the PHYs by setting data bit and strobing the clock 32 times.
- */
-static void
-xe_mii_sync(struct xe_softc *scp) {
- register int i;
-
- XE_SELECT_PAGE(2);
- XE_MII_SET(XE_MII_DIR|XE_MII_WRD);
-
- for (i = 0; i < 32; i++) {
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- }
-}
-
-
-/*
- * Look for a MII-compliant PHY. If we find one, reset it.
- */
-static int
-xe_mii_init(struct xe_softc *scp) {
- u_int16_t status;
-
- status = xe_phy_readreg(scp, PHY_BMSR);
- if ((status & 0xff00) != 0x7800) {
-#ifdef XE_DEBUG
- printf("xe%d: no PHY found, %0x\n", scp->unit, status);
-#endif
- return 0;
- }
- else {
-#ifdef XE_DEBUG
- printf("xe%d: PHY OK!\n", scp->unit);
-#endif
-
- /* Reset the PHY */
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_RESET);
- DELAY(500);
- while(xe_phy_readreg(scp, PHY_BMCR) & PHY_BMCR_RESET);
- XE_MII_DUMP(scp);
- return 1;
- }
-}
-
-
-/*
- * Clock a series of bits through the MII.
- */
-static void
-xe_mii_send(struct xe_softc *scp, u_int32_t bits, int cnt) {
- int i;
-
- XE_SELECT_PAGE(2);
- XE_MII_CLR(XE_MII_CLK);
-
- for (i = (0x1 << (cnt - 1)); i; i >>= 1) {
- if (bits & i) {
- XE_MII_SET(XE_MII_WRD);
- } else {
- XE_MII_CLR(XE_MII_WRD);
- }
- DELAY(1);
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- }
-}
-
-
-/*
- * Read an PHY register through the MII.
- */
-static int
-xe_mii_readreg(struct xe_softc *scp, struct xe_mii_frame *frame) {
- int i, ack, s;
-
- s = splimp();
-
- /*
- * Set up frame for RX.
- */
- frame->mii_stdelim = XE_MII_STARTDELIM;
- frame->mii_opcode = XE_MII_READOP;
- frame->mii_turnaround = 0;
- frame->mii_data = 0;
-
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_GPR2, 0);
-
- /*
- * Turn on data xmit.
- */
- XE_MII_SET(XE_MII_DIR);
-
- xe_mii_sync(scp);
-
- /*
- * Send command/address info.
- */
- xe_mii_send(scp, frame->mii_stdelim, 2);
- xe_mii_send(scp, frame->mii_opcode, 2);
- xe_mii_send(scp, frame->mii_phyaddr, 5);
- xe_mii_send(scp, frame->mii_regaddr, 5);
-
- /* Idle bit */
- XE_MII_CLR((XE_MII_CLK|XE_MII_WRD));
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
-
- /* Turn off xmit. */
- XE_MII_CLR(XE_MII_DIR);
-
- /* Check for ack */
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- ack = XE_INB(XE_GPR2) & XE_MII_RDD;
-
- /*
- * Now try reading data bits. If the ack failed, we still
- * need to clock through 16 cycles to keep the PHY(s) in sync.
- */
- if (ack) {
- for(i = 0; i < 16; i++) {
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- }
- goto fail;
- }
-
- for (i = 0x8000; i; i >>= 1) {
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- if (!ack) {
- if (XE_INB(XE_GPR2) & XE_MII_RDD)
- frame->mii_data |= i;
- DELAY(1);
- }
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- }
-
-fail:
-
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
-
- splx(s);
-
- if (ack)
- return(1);
- return(0);
-}
-
-
-/*
- * Write to a PHY register through the MII.
- */
-static int
-xe_mii_writereg(struct xe_softc *scp, struct xe_mii_frame *frame) {
- int s;
-
- s = splimp();
-
- /*
- * Set up frame for TX.
- */
- frame->mii_stdelim = XE_MII_STARTDELIM;
- frame->mii_opcode = XE_MII_WRITEOP;
- frame->mii_turnaround = XE_MII_TURNAROUND;
-
- XE_SELECT_PAGE(2);
-
- /*
- * Turn on data output.
- */
- XE_MII_SET(XE_MII_DIR);
-
- xe_mii_sync(scp);
-
- xe_mii_send(scp, frame->mii_stdelim, 2);
- xe_mii_send(scp, frame->mii_opcode, 2);
- xe_mii_send(scp, frame->mii_phyaddr, 5);
- xe_mii_send(scp, frame->mii_regaddr, 5);
- xe_mii_send(scp, frame->mii_turnaround, 2);
- xe_mii_send(scp, frame->mii_data, 16);
-
- /* Idle bit. */
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
-
- /*
- * Turn off xmit.
- */
- XE_MII_CLR(XE_MII_DIR);
-
- splx(s);
-
- return(0);
-}
-
-
-/*
- * Read a register from the PHY.
- */
-static u_int16_t
-xe_phy_readreg(struct xe_softc *scp, u_int16_t reg) {
- struct xe_mii_frame frame;
-
- bzero((char *)&frame, sizeof(frame));
-
- frame.mii_phyaddr = 0;
- frame.mii_regaddr = reg;
- xe_mii_readreg(scp, &frame);
-
- return(frame.mii_data);
-}
-
-
-/*
- * Write to a PHY register.
- */
-static void
-xe_phy_writereg(struct xe_softc *scp, u_int16_t reg, u_int16_t data) {
- struct xe_mii_frame frame;
-
- bzero((char *)&frame, sizeof(frame));
-
- frame.mii_phyaddr = 0;
- frame.mii_regaddr = reg;
- frame.mii_data = data;
- xe_mii_writereg(scp, &frame);
-
- return;
-}
-
-
-#ifdef XE_DEBUG
-/*
- * A bit of debugging code.
- */
-static void
-xe_mii_dump(struct xe_softc *scp) {
- int i, s;
-
- s = splimp();
-
- printf("xe%d: MII registers: ", scp->unit);
- for (i = 0; i < 2; i++) {
- printf(" %d:%04x", i, xe_phy_readreg(scp, i));
- }
- for (i = 4; i < 7; i++) {
- printf(" %d:%04x", i, xe_phy_readreg(scp, i));
- }
- printf("\n");
-
- (void)splx(s);
-}
-
-static void
-xe_reg_dump(struct xe_softc *scp) {
- int page, i, s;
-
- s = splimp();
-
- printf("xe%d: Common registers: ", scp->unit);
- for (i = 0; i < 8; i++) {
- printf(" %2.2x", XE_INB(i));
- }
- printf("\n");
-
- for (page = 0; page <= 8; page++) {
- printf("xe%d: Register page %2.2x: ", scp->unit, page);
- XE_SELECT_PAGE(page);
- for (i = 8; i < 16; i++) {
- printf(" %2.2x", XE_INB(i));
- }
- printf("\n");
- }
-
- for (page = 0x10; page < 0x5f; page++) {
- if ((page >= 0x11 && page <= 0x3f) ||
- (page == 0x41) ||
- (page >= 0x43 && page <= 0x4f) ||
- (page >= 0x59))
- continue;
- printf("xe%d: Register page %2.2x: ", scp->unit, page);
- XE_SELECT_PAGE(page);
- for (i = 8; i < 16; i++) {
- printf(" %2.2x", XE_INB(i));
- }
- printf("\n");
- }
-
- (void)splx(s);
-}
-#endif
-
-
-
-#if NAPM > 0
-/**************************************************************
- * *
- * A P M F U N C T I O N S *
- * *
- **************************************************************/
-
-/*
- * This is called when we go into suspend/standby mode
- */
-static int
-xe_suspend(void *xunit) {
-
-#ifdef XE_DEBUG
- struct xe_softc *scp = sca[(int)xunit];
-
- printf("xe%d: APM suspend\n", scp->unit);
-#endif
-
- return 0;
-}
-
-/*
- * This is called when we wake up again
- */
-static int
-xe_resume(void *xunit) {
-
-#ifdef XE_DEBUG
- struct xe_softc *scp = sca[(int)xunit];
-
- printf("xe%d: APM resume\n", scp->unit);
-#endif
-
- return 0;
-}
-
-#endif /* NAPM > 0 */
-
-#endif /* NCARD > 0 */
-
-#endif /* NXE > 0 */
diff --git a/sys/dev/pccard/if_xereg.h b/sys/dev/pccard/if_xereg.h
deleted file mode 100644
index 07cb0b1bbb59..000000000000
--- a/sys/dev/pccard/if_xereg.h
+++ /dev/null
@@ -1,296 +0,0 @@
-/*-
- * Copyright (c) 1998, 1999 Scott Mitchell
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: if_xereg.h,v 1.3 1999/02/22 14:00:53 root Exp $
- */
-
-/*
- * Register definitions for Xircom CreditCard Ethernet adapters. See if_xe.c
- * for details of supported hardware. Adapted from Werner Koch's 'xirc2ps'
- * driver for Linux and the FreeBSD 'xl' driver (for the MII support).
- */
-
-#include "xe.h"
-#if NXE > 0
-
-
-/*
- * Common registers
- */
-#define XE_CR 0 /* Command register (write) */
-#define XE_ESR 0 /* Ethernet status register (read) */
-#define XE_PSR 1 /* Page select register */
-#define XE_EDP 4 /* Ethernet data port */
-#define XE_ISR 6 /* Interrupt status register */
-
-/*
- * Command register values
- */
-#define XE_CR_TX_PACKET 0x01
-#define XE_CR_SOFT_RESET 0x02
-#define XE_CR_ENABLE_INTR 0x04
-#define XE_CR_FORCE_INTR 0x08
-#define XE_CR_CLEAR_FIFO 0x10
-#define XE_CR_CLEAR_OVERRUN 0x20
-#define XE_CR_RESTART_TX 0x40
-
-/*
- * Status register values
- */
-#define XE_ESR_FULL_PKT_RX 0x01
-#define XE_ESR_PKT_REJECT 0x04
-#define XE_ESR_TX_PENDING 0x08
-#define XE_ESR_BAD_POLARITY 0x10
-#define XE_ESR_MEDIA_SELECT 0x20
-
-/*
- * Interrupt register values
- */
-#define XE_ISR_TX_OVERFLOW 0x01
-#define XE_ISR_TX_PACKET 0x02
-#define XE_ISR_MAC_INTR 0x04
-#define XE_ISR_TX_RES 0x08
-#define XE_ISR_RX_PACKET 0x20
-#define XE_ISR_RX_REJECT 0x40
-#define XE_ISR_FORCE_INTR 0x80
-
-
-/*
- * Page 0 registers
- */
-#define XE_TSO 8 /* Transmit space open */
-#define XE_TRS 10 /* Transmit reservation size */
-#define XE_DOR 12 /* Data offset register (write) */
-#define XE_RSR 12 /* Receive status register (read) */
-#define XE_PTR 13 /* Packets transmitted register (read) */
-#define XE_RBC 14 /* Received byte count (read) */
-
-/*
- * RSR values
- */
-#define XE_RSR_PHYS_PKT 0x01
-#define XE_RSR_BCAST_PKT 0x02
-#define XE_RSR_LONG_PKT 0x04
-#define XE_RSR_ALIGN_ERR 0x10
-#define XE_RSR_CRC_ERR 0x20
-#define XE_RSR_RX_OK 0x80
-
-
-/*
- * Page 1 registers
- */
-#define XE_IMR0 12 /* Interrupt mask register, part 1 */
-#define XE_IMR1 13 /* Interrupt mask register, part 2 */
-#define XE_ECR 14 /* Ethernet configuration register */
-
-/*
- * ECR values
- */
-#define XE_ECR_FULL_DUPLEX 0x04
-#define XE_ECR_LONG_TPCABLE 0x08
-#define XE_ECR_NO_POLCOL 0x10
-#define XE_ECR_NO_LINKPULSE 0x20
-#define XE_ECR_NO_AUTOTX 0x40
-
-
-/*
- * Page 2 registers
- */
-#define XE_RBS 8 /* Receive buffer start */
-#define XE_LED 10 /* LED configuration register */
-#define XE_MSR 12 /* Mohawk specfic register (Mohawk = CE3) */
-#define XE_GPR2 13 /* General purpose register 2 */
-
-
-/*
- * Page 4 registers
- */
-#define XE_GPR0 8 /* General purpose register 0 */
-#define XE_GPR1 9 /* General purpose register 1 */
-#define XE_BOV 10 /* Bonding version register */
-#define XE_LMA 12 /* Local memory address */
-#define XE_LMD 14 /* Local memory data */
-
-
-/*
- * Page 5 registers
- */
-#define XE_RHS 10 /* Receive host start address */
-
-
-/*
- * Page 0x40 registers
- */
-#define XE_OCR 8 /* The Other command register */
-#define XE_RXS0 9 /* Receive status 0 */
-#define XE_TXS0 11 /* Transmit status 0 */
-#define XE_TXS1 12 /* Transmit status 1 */
-#define XE_RXM0 13 /* Receive mask register 0 */
-#define XE_TXM0 14 /* Transmit mask register 0 */
-#define XE_TXM1 15 /* Transmit mask register 1 */
-
-/*
- * OCR values
- */
-#define XE_OCR_TX 0x01
-#define XE_OCR_RX_ENABLE 0x04
-#define XE_OCR_RX_DISABLE 0x08
-#define XE_OCR_ABORT 0x10
-#define XE_OCR_ONLINE 0x20
-#define XE_OCR_ACK_INTR 0x40
-#define XE_OCR_OFFLINE 0x80
-
-
-/*
- * Page 0x42 registers
- */
-#define XE_SWC0 8 /* Software configuration register 0 */
-#define XE_SWC1 9 /* Software configuration register 1 */
-#define XE_BOC 10 /* Back-off configuration */
-
-
-/*
- * Page 0x44 registers
- */
-#define XE_TDR0 8 /* Time domain reflectometry register 0 */
-#define XE_TDR1 9 /* Time domain reflectometry register 1 */
-#define XE_RXC0 10 /* Receive byte count low */
-#define XE_RXC1 11 /* Receive byte count high */
-
-
-/*
- * Page 0x45 registers
- */
-#define XE_REV 15 /* Revision (read) */
-
-
-/*
- * Page 0x50 registers
- */
-#define XE_IAR 8 /* Individual address register */
-
-
-/*
- * Pages 0x43, 0x46-0x4f and 0x51-0x5e apparently don't exist.
- * The remainder of 0x0-0x8 and 0x40-0x5f exist, but I have no
- * idea what's on most of them.
- */
-
-
-
-/*
- * Definitions for the Micro Linear ML6692 100Base-TX PHY, which handles the
- * 100Mbit functionality of CE3 type cards, including media autonegotiation.
- * It appears to be mostly compatible with the National Semiconductor
- * DP83840A, but with a much smaller register set. Please refer to the data
- * sheets for these devices for the definitive word on what all this stuff
- * means :)
- *
- * Note that the ML6692 has no 10Mbit capability -- that is handled by another
- * chip that we don't know anything about.
- *
- * Most of these definitions were adapted from the xl driver.
- */
-
-/*
- * Masks for the MII-related bits in GPR2. For some reason read and write
- * data are on separate bits.
- */
-#define XE_MII_CLK 0x01
-#define XE_MII_DIR 0x08
-#define XE_MII_WRD 0x02
-#define XE_MII_RDD 0x20
-
-/*
- * MII command (etc) bit strings.
- */
-#define XE_MII_STARTDELIM 0x01
-#define XE_MII_READOP 0x02
-#define XE_MII_WRITEOP 0x01
-#define XE_MII_TURNAROUND 0x02
-
-/*
- * PHY registers.
- */
-#define PHY_BMCR 0x00 /* Basic Mode Control Register */
-#define PHY_BMSR 0x01 /* Basic Mode Status Register */
-#define PHY_ANAR 0x04 /* Auto-Negotiation Advertisment Register */
-#define PHY_LPAR 0x05 /* Auto-Negotiation Link Partner Ability Register */
-#define PHY_ANER 0x06 /* Auto-Negotiation Expansion Register */
-
-#define PHY_BMCR_RESET 0x8000 /* Soft reset PHY. Self-clearing */
-#define PHY_BMCR_LOOPBK 0x4000 /* Enable loopback */
-#define PHY_BMCR_SPEEDSEL 0x2000 /* 1=100Mbps, 0=10Mbps */
-#define PHY_BMCR_AUTONEGENBL 0x1000 /* Auto-negotiation enabled */
-#define PHY_BMCR_ISOLATE 0x0400 /* Isolate ML6692 from MII */
-#define PHY_BMCR_AUTONEGRSTR 0x0200 /* Restart auto-negotiation. Self-clearing */
-#define PHY_BMCR_DUPLEX 0x0100 /* Full duplex operation */
-#define PHY_BMCR_COLLTEST 0x0080 /* Enable collision test */
-
-#define PHY_BMSR_100BT4 0x8000 /* 100Base-T4 capable */
-#define PHY_BMSR_100BTXFULL 0x4000 /* 100Base-TX full duplex capable */
-#define PHY_BMSR_100BTXHALF 0x2000 /* 100Base-TX half duplex capable */
-#define PHY_BMSR_10BTFULL 0x1000 /* 10Base-T full duplex capable */
-#define PHY_BMSR_10BTHALF 0x0800 /* 10Base-T half duplex capable */
-#define PHY_BMSR_AUTONEGCOMP 0x0020 /* Auto-negotiation complete */
-#define PHY_BMSR_CANAUTONEG 0x0008 /* Auto-negotiation supported */
-#define PHY_BMSR_LINKSTAT 0x0004 /* Link is up */
-#define PHY_BMSR_EXTENDED 0x0001 /* Extended register capabilities */
-
-#define PHY_ANAR_NEXTPAGE 0x8000 /* Additional link code word pages */
-#define PHY_ANAR_TLRFLT 0x2000 /* Remote wire fault detected */
-#define PHY_ANAR_100BT4 0x0200 /* 100Base-T4 capable */
-#define PHY_ANAR_100BTXFULL 0x0100 /* 100Base-TX full duplex capable */
-#define PHY_ANAR_100BTXHALF 0x0080 /* 100Base-TX half duplex capable */
-#define PHY_ANAR_10BTFULL 0x0040 /* 10Base-T full duplex capable */
-#define PHY_ANAR_10BTHALF 0x0020 /* 10Base-T half duplex capable */
-#define PHY_ANAR_PROTO4 0x0010 /* Protocol selection (00001 = 802.3) */
-#define PHY_ANAR_PROTO3 0x0008
-#define PHY_ANAR_PROTO2 0x0004
-#define PHY_ANAR_PROTO1 0x0002
-#define PHY_ANAR_PROTO0 0x0001
-
-#define PHY_LPAR_NEXTPAGE 0x8000 /* Additional link code word pages */
-#define PHY_LPAR_LPACK 0x4000 /* Link partner acknowledged receipt */
-#define PHY_LPAR_TLRFLT 0x2000 /* Remote wire fault detected */
-#define PHY_LPAR_100BT4 0x0200 /* 100Base-T4 capable */
-#define PHY_LPAR_100BTXFULL 0x0100 /* 100Base-TX full duplex capable */
-#define PHY_LPAR_100BTXHALF 0x0080 /* 100Base-TX half duplex capable */
-#define PHY_LPAR_10BTFULL 0x0040 /* 10Base-T full duplex capable */
-#define PHY_LPAR_10BTHALF 0x0020 /* 10Base-T half duplex capable */
-#define PHY_LPAR_PROTO4 0x0010 /* Protocol selection (00001 = 802.3) */
-#define PHY_LPAR_PROTO3 0x0008
-#define PHY_LPAR_PROTO2 0x0004
-#define PHY_LPAR_PROTO1 0x0002
-#define PHY_LPAR_PROTO0 0x0001
-
-#define PHY_ANER_MLFAULT 0x0010 /* More than one link is up! */
-#define PHY_ANER_LPNPABLE 0x0008 /* Link partner supports next page */
-#define PHY_ANER_NPABLE 0x0004 /* Local port supports next page */
-#define PHY_ANER_PAGERX 0x0002 /* Page received */
-#define PHY_ANER_LPAUTONEG 0x0001 /* Link partner can auto-negotiate */
-
-
-#endif /* NXE > 0 */
diff --git a/sys/i386/eisa/ahc_eisa.c b/sys/i386/eisa/ahc_eisa.c
index cdfd7b9704f6..419330d6386b 100644
--- a/sys/i386/eisa/ahc_eisa.c
+++ b/sys/i386/eisa/ahc_eisa.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ahc_eisa.c,v 1.4 1998/12/15 08:24:45 gibbs Exp $
+ * $Id: ahc_eisa.c,v 1.4.2.1 1999/03/07 00:41:38 gibbs Exp $
*/
#include "eisa.h"
@@ -61,14 +61,14 @@
#define AHC_EISA_IOSIZE 0x100
#define INTDEF 0x5cul /* Interrupt Definition Register */
-static int aic7770probe(void);
-static int aic7770_attach(struct eisa_device *e_dev);
+static int aic7770_probe(void);
+static int aic7770_attach(struct eisa_device *e_dev);
static void aha2840_load_seeprom(struct ahc_softc *ahc);
static struct eisa_driver ahc_eisa_driver =
{
"ahc",
- aic7770probe,
+ aic7770_probe,
aic7770_attach,
/*shutdown*/NULL,
&ahc_unit
@@ -79,8 +79,7 @@ DATA_SET (eisadriver_set, ahc_eisa_driver);
static const char *aic7770_match(eisa_id_t type);
static const char*
-aic7770_match(type)
- eisa_id_t type;
+aic7770_match(eisa_id_t type)
{
switch (type) {
case EISA_DEVICE_ID_ADAPTEC_AIC7770:
@@ -100,20 +99,20 @@ aic7770_match(type)
}
static int
-aic7770probe(void)
+aic7770_probe()
{
u_int32_t iobase;
u_int32_t irq;
u_int8_t intdef;
u_int8_t hcntrl;
struct eisa_device *e_dev;
- int count;
+ int count;
e_dev = NULL;
count = 0;
while ((e_dev = eisa_match_dev(e_dev, aic7770_match))) {
iobase = (e_dev->ioconf.slot * EISA_SLOT_SIZE)
- + AHC_EISA_SLOT_OFFSET;
+ + AHC_EISA_SLOT_OFFSET;
/* Pause the card preseving the IRQ type */
hcntrl = inb(iobase + HCNTRL) & IRQMS;
@@ -124,7 +123,7 @@ aic7770probe(void)
intdef = inb(INTDEF + iobase);
irq = intdef & 0xf;
switch (irq) {
- case 9:
+ case 9:
case 10:
case 11:
case 12:
@@ -134,7 +133,7 @@ aic7770probe(void)
default:
printf("aic7770 at slot %d: illegal "
"irq setting %d\n", e_dev->ioconf.slot,
- intdef);
+ intdef);
irq = 0;
break;
}
@@ -151,7 +150,7 @@ static int
aic7770_attach(struct eisa_device *e_dev)
{
ahc_chip chip;
-
+ bus_dma_tag_t parent_dmat;
struct ahc_softc *ahc;
resvaddr_t *iospace;
int unit = e_dev->unit;
@@ -180,15 +179,8 @@ aic7770_attach(struct eisa_device *e_dev)
default:
printf("aic7770_attach: Unknown device type!\n");
return -1;
- break;
}
- if (!(ahc = ahc_alloc(unit, iospace->addr, NULL,
- chip, AHC_AIC7770_FE, AHC_FNONE, NULL)))
- return -1;
-
- ahc->channel = 'A';
- ahc->channel_b = 'B';
/* XXX Should be a child of the EISA bus dma tag */
error = bus_dma_tag_create(/*parent*/NULL, /*alignment*/0,
/*boundary*/0,
@@ -198,15 +190,20 @@ aic7770_attach(struct eisa_device *e_dev)
/*maxsize*/MAXBSIZE,
/*nsegments*/AHC_NSEG,
/*maxsegsz*/AHC_MAXTRANSFER_SIZE,
- /*flags*/BUS_DMA_ALLOCNOW, &ahc->dmat);
+ /*flags*/BUS_DMA_ALLOCNOW, &parent_dmat);
if (error != 0) {
- printf("%s: Could not allocate DMA tag - error %d\n",
- ahc_name(ahc), error);
- ahc_free(ahc);
+ printf("ahc_eisa_attach: Could not allocate DMA tag "
+ "- error %d\n", error);
return -1;
}
+ if (!(ahc = ahc_alloc(unit, iospace->addr, NULL, parent_dmat,
+ chip, AHC_AIC7770_FE, AHC_FNONE, NULL)))
+ return -1;
+
+ ahc->channel = 'A';
+ ahc->channel_b = 'B';
eisa_reg_start(e_dev);
if (eisa_reg_iospace(e_dev, iospace)) {
@@ -224,7 +221,7 @@ aic7770_attach(struct eisa_device *e_dev)
* IRQ sharing if it's set.
*/
if (eisa_reg_intr(e_dev, irq, ahc_intr, (void *)ahc, &cam_imask,
- /*shared ==*/ahc->pause & IRQMS)) {
+ /*shared ==*/ahc->pause & IRQMS)) {
ahc_free(ahc);
return -1;
}
@@ -473,5 +470,4 @@ aha2840_load_seeprom(struct ahc_softc *ahc)
ahc->flags |= AHC_TERM_ENB_A;
}
}
-
#endif /* NEISA > 0 */
diff --git a/sys/i386/include/if_wavelan_ieee.h b/sys/i386/include/if_wavelan_ieee.h
deleted file mode 100644
index f002933a9bdc..000000000000
--- a/sys/i386/include/if_wavelan_ieee.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright (c) 1997, 1998, 1999
- * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Bill Paul.
- * 4. Neither the name of the author nor the names of any co-contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: if_wavelan_ieee.h,v 1.4 1999/04/27 02:02:41 wpaul Exp $
- */
-
-#ifndef _IF_WAVELAN_IEEE_H
-#define _IF_WAVELAN_IEEE_H
-
-/*
- * This header defines a simple command interface to the FreeBSD
- * WaveLAN/IEEE driver (wi) driver, which is used to set certain
- * device-specific parameters which can't be easily managed through
- * ifconfig(8). No, sysctl(2) is not the answer. I said a _simple_
- * interface, didn't I.
- */
-
-#ifndef SIOCSWAVELAN
-#define SIOCSWAVELAN SIOCSIFGENERIC
-#endif
-
-#ifndef SIOCGWAVELAN
-#define SIOCGWAVELAN SIOCGIFGENERIC
-#endif
-
-/*
- * Technically I don't think there's a limit to a record
- * length. The largest record is the one that contains the CIS
- * data, which is 240 words long, so 256 should be a safe
- * value.
- */
-#define WI_MAX_DATALEN 512
-
-struct wi_req {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_val[WI_MAX_DATALEN];
-};
-
-/*
- * Private LTV records (interpreted only by the driver). This is
- * a minor kludge to allow reading the interface statistics from
- * the driver.
- */
-#define WI_RID_IFACE_STATS 0x0100
-#define WI_RID_MGMT_XMIT 0x0200
-
-struct wi_80211_hdr {
- u_int16_t frame_ctl;
- u_int16_t dur_id;
- u_int8_t addr1[6];
- u_int8_t addr2[6];
- u_int8_t addr3[6];
- u_int16_t seq_ctl;
- u_int8_t addr4[6];
-};
-
-#define WI_FCTL_VERS 0x0002
-#define WI_FCTL_FTYPE 0x000C
-#define WI_FCTL_STYPE 0x00F0
-#define WI_FCTL_TODS 0x0100
-#define WI_FCTL_FROMDS 0x0200
-#define WI_FCTL_MOREFRAGS 0x0400
-#define WI_FCTL_RETRY 0x0800
-#define WI_FCTL_PM 0x1000
-#define WI_FCTL_MOREDATA 0x2000
-#define WI_FCTL_WEP 0x4000
-#define WI_FCTL_ORDER 0x8000
-
-#define WI_FTYPE_MGMT 0x0000
-#define WI_FTYPE_CTL 0x0004
-#define WI_FTYPE_DATA 0x0008
-
-#define WI_STYPE_MGMT_ASREQ 0x0000 /* association request */
-#define WI_STYPE_MGMT_ASRESP 0x0010 /* association response */
-#define WI_STYPE_MGMT_REASREQ 0x0020 /* reassociation request */
-#define WI_STYPE_MGMT_REASRESP 0x0030 /* reassociation response */
-#define WI_STYPE_MGMT_PROBEREQ 0x0040 /* probe request */
-#define WI_STYPE_MGMT_PROBERESP 0x0050 /* probe response */
-#define WI_STYPE_MGMT_BEACON 0x0080 /* beacon */
-#define WI_STYPE_MGMT_ATIM 0x0090 /* announcement traffic ind msg */
-#define WI_STYPE_MGMT_DISAS 0x00A0 /* disassociation */
-#define WI_STYPE_MGMT_AUTH 0x00B0 /* authentication */
-#define WI_STYPE_MGMT_DEAUTH 0x00C0 /* deauthentication */
-
-struct wi_mgmt_hdr {
- u_int16_t frame_ctl;
- u_int16_t duration;
- u_int8_t dst_addr[6];
- u_int8_t src_addr[6];
- u_int8_t bssid[6];
- u_int16_t seq_ctl;
-};
-
-#ifndef KERNEL
-struct wi_counters {
- u_int32_t wi_tx_unicast_frames;
- u_int32_t wi_tx_multicast_frames;
- u_int32_t wi_tx_fragments;
- u_int32_t wi_tx_unicast_octets;
- u_int32_t wi_tx_multicast_octets;
- u_int32_t wi_tx_deferred_xmits;
- u_int32_t wi_tx_single_retries;
- u_int32_t wi_tx_multi_retries;
- u_int32_t wi_tx_retry_limit;
- u_int32_t wi_tx_discards;
- u_int32_t wi_rx_unicast_frames;
- u_int32_t wi_rx_multicast_frames;
- u_int32_t wi_rx_fragments;
- u_int32_t wi_rx_unicast_octets;
- u_int32_t wi_rx_multicast_octets;
- u_int32_t wi_rx_fcs_errors;
- u_int32_t wi_rx_discards_nobuf;
- u_int32_t wi_tx_discards_wrong_sa;
- u_int32_t wi_rx_WEP_cant_decrypt;
- u_int32_t wi_rx_msg_in_msg_frags;
- u_int32_t wi_rx_msg_in_bad_msg_frags;
-};
-
-/*
- * These are all the LTV record types that we can read or write
- * from the WaveLAN. Not all of them are temendously useful, but I
- * list as many as I know about here for completeness.
- */
-
-#define WI_RID_DNLD_BUF 0xFD01
-#define WI_RID_MEMSZ 0xFD02
-#define WI_RID_DOMAINS 0xFD11
-#define WI_RID_CIS 0xFD13
-#define WI_RID_COMMQUAL 0xFD43
-#define WI_RID_SCALETHRESH 0xFD46
-#define WI_RID_PCF 0xFD87
-
-/*
- * Network parameters, static configuration entities.
- */
-#define WI_RID_PORTTYPE 0xFC00 /* Connection control characteristics */
-#define WI_RID_MAC_NODE 0xFC01 /* MAC address of this station */
-#define WI_RID_DESIRED_SSID 0xFC02 /* Service Set ID for connection */
-#define WI_RID_OWN_CHNL 0xFC03 /* Comm channel for BSS creation */
-#define WI_RID_OWN_SSID 0xFC04 /* IBSS creation ID */
-#define WI_RID_OWN_ATIM_WIN 0xFC05 /* ATIM window time for IBSS creation */
-#define WI_RID_SYSTEM_SCALE 0xFC06 /* scale that specifies AP density */
-#define WI_RID_MAX_DATALEN 0xFC07 /* Max len of MAC frame body data */
-#define WI_RID_MAC_WDS 0xFC08 /* MAC addr of corresponding WDS node */
-#define WI_RID_PM_ENABLED 0xFC09 /* ESS power management enable */
-#define WI_RID_PM_EPS 0xFC0A /* PM EPS/PS mode */
-#define WI_RID_MCAST_RX 0xFC0B /* ESS PM mcast reception */
-#define WI_RID_MAX_SLEEP 0xFC0C /* max sleep time for ESS PM */
-#define WI_RID_HOLDOVER 0xFC0D /* holdover time for ESS PM */
-#define WI_RID_NODENAME 0xFC0E /* ID name of this node for diag */
-#define WI_RID_DTIM_PERIOD 0xFC10 /* beacon interval between DTIMs */
-#define WI_RID_WDS_ADDR1 0xFC11 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR2 0xFC12 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR3 0xFC13 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR4 0xFC14 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR5 0xFC15 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR6 0xFC16 /* port 1 MAC of WDS link node */
-#define WI_RID_MCAST_PM_BUF 0xFC17 /* PM buffering of mcast */
-
-/*
- * Network parameters, dynamic configuration entities
- */
-#define WI_RID_MCAST_LIST 0xFC80 /* list of multicast addrs */
-#define WI_RID_CREATE_IBSS 0xFC81 /* create IBSS */
-#define WI_RID_FRAG_THRESH 0xFC82 /* frag len, unicast msg xmit */
-#define WI_RID_RTS_THRESH 0xFC83 /* frame len for RTS/CTS handshake */
-#define WI_RID_TX_RATE 0xFC84 /* data rate for message xmit */
-#define WI_RID_PROMISC 0xFC85 /* enable promisc mode */
-#define WI_RID_FRAG_THRESH0 0xFC90
-#define WI_RID_FRAG_THRESH1 0xFC91
-#define WI_RID_FRAG_THRESH2 0xFC92
-#define WI_RID_FRAG_THRESH3 0xFC93
-#define WI_RID_FRAG_THRESH4 0xFC94
-#define WI_RID_FRAG_THRESH5 0xFC95
-#define WI_RID_FRAG_THRESH6 0xFC96
-#define WI_RID_RTS_THRESH0 0xFC97
-#define WI_RID_RTS_THRESH1 0xFC98
-#define WI_RID_RTS_THRESH2 0xFC99
-#define WI_RID_RTS_THRESH3 0xFC9A
-#define WI_RID_RTS_THRESH4 0xFC9B
-#define WI_RID_RTS_THRESH5 0xFC9C
-#define WI_RID_RTS_THRESH6 0xFC9D
-#define WI_RID_TX_RATE0 0xFC9E
-#define WI_RID_TX_RATE1 0xFC9F
-#define WI_RID_TX_RATE2 0xFCA0
-#define WI_RID_TX_RATE3 0xFCA1
-#define WI_RID_TX_RATE4 0xFCA2
-#define WI_RID_TX_RATE5 0xFCA3
-#define WI_RID_TX_RATE6 0xFCA4
-#define WI_RID_TICK_TIME 0xFCE0
-
-/*
- * NIC information
- */
-#define WI_RID_FIRM_ID 0xFD02 /* Primary func firmware ID. */
-#define WI_RID_PRI_SUP_RANGE 0xFD03 /* primary supplier compatibility */
-#define WI_RID_CIF_ACT_RANGE 0xFD04 /* controller sup. compatibility */
-#define WI_RID_SERIALNO 0xFD0A /* card serial number */
-#define WI_RID_CARD_ID 0xFD0B /* card identification */
-#define WI_RID_MFI_SUP_RANGE 0xFD0C /* modem supplier compatibility */
-#define WI_RID_CFI_SUP_RANGE 0xFD0D /* controller sup. compatibility */
-#define WI_RID_CHANNEL_LIST 0xFD10 /* allowd comm. frequencies. */
-#define WI_RID_REG_DOMAINS 0xFD11 /* list of intendted regulatory doms */
-#define WI_RID_TEMP_TYPE 0xFD12 /* hw temp range code */
-#define WI_RID_CIS 0xFD13 /* PC card info struct */
-#define WI_RID_STA_IDENEITY 0xFD20 /* station funcs firmware ident */
-#define WI_RID_STA_SUP_RANGE 0xFD21 /* station supplier compat */
-#define WI_RID_MFI_ACT_RANGE 0xFD22
-#define WI_RID_CFI_ACT_RANGE 0xFD33
-
-/*
- * MAC information
- */
-#define WI_RID_PORT_STAT 0xFD40 /* actual MAC port con control stat */
-#define WI_RID_CURRENT_SSID 0xFD41 /* ID of actually connected SS */
-#define WI_RID_CURRENT_BSSID 0xFD42 /* ID of actually connected BSS */
-#define WI_RID_COMMS_QUALITY 0xFD43 /* quality of BSS connection */
-#define WI_RID_CUR_TX_RATE 0xFD44 /* current TX rate */
-#define WI_RID_OWN_BEACON_INT 0xFD45 /* beacon xmit time for BSS creation */
-#define WI_RID_CUR_SCALE_THRESH 0xFD46 /* actual system scane thresh setting */
-#define WI_RID_PROT_RESP_TIME 0xFD47 /* time to wait for resp to req msg */
-#define WI_RID_SHORT_RTR_LIM 0xFD48 /* max tx attempts for short frames */
-#define WI_RID_LONG_RTS_LIM 0xFD49 /* max tx attempts for long frames */
-#define WI_RID_MAX_TX_LIFE 0xFD4A /* max tx frame handling duration */
-#define WI_RID_MAX_RX_LIFE 0xFD4B /* max rx frame handling duration */
-#define WI_RID_CF_POLL 0xFD4C /* contention free pollable ind */
-#define WI_RID_AUTH_ALGS 0xFD4D /* auth algorithms available */
-#define WI_RID_AUTH_TYPE 0xFD4E /* availanle auth types */
-#define WI_RID_WEP_AVAIL 0xFD4F /* WEP privacy option available */
-#define WI_RID_CUR_TX_RATE1 0xFD80
-#define WI_RID_CUR_TX_RATE2 0xFD81
-#define WI_RID_CUR_TX_RATE3 0xFD82
-#define WI_RID_CUR_TX_RATE4 0xFD83
-#define WI_RID_CUR_TX_RATE5 0xFD84
-#define WI_RID_CUR_TX_RATE6 0xFD85
-#define WI_RID_OWN_MAC 0xFD86 /* unique local MAC addr */
-#define WI_RID_PCI_INFO 0xFD87 /* point coordination func cap */
-
-/*
- * Modem information
- */
-#define WI_RID_PHY_TYPE 0xFDC0 /* phys layer type indication */
-#define WI_RID_CURRENT_CHAN 0xFDC1 /* current frequency */
-#define WI_RID_PWR_STATE 0xFDC2 /* pwr consumption status */
-#define WI_RID_CCA_MODE 0xFDC3 /* clear chan assess mode indication */
-#define WI_RID_CCA_TIME 0xFDC4 /* clear chan assess time */
-#define WI_RID_MAC_PROC_DELAY 0xFDC5 /* MAC processing delay time */
-#define WI_RID_DATA_RATES 0xFDC6 /* supported data rates */
-#endif
-
-
-#endif
diff --git a/sys/i386/isa/if_wireg.h b/sys/i386/isa/if_wireg.h
deleted file mode 100644
index 8c9c6e6797c5..000000000000
--- a/sys/i386/isa/if_wireg.h
+++ /dev/null
@@ -1,599 +0,0 @@
-/*
- * Copyright (c) 1997, 1998, 1999
- * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Bill Paul.
- * 4. Neither the name of the author nor the names of any co-contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: if_wireg.h,v 1.31 1999/05/07 03:14:21 wpaul Exp $
- */
-
-struct wi_counters {
- u_int32_t wi_tx_unicast_frames;
- u_int32_t wi_tx_multicast_frames;
- u_int32_t wi_tx_fragments;
- u_int32_t wi_tx_unicast_octets;
- u_int32_t wi_tx_multicast_octets;
- u_int32_t wi_tx_deferred_xmits;
- u_int32_t wi_tx_single_retries;
- u_int32_t wi_tx_multi_retries;
- u_int32_t wi_tx_retry_limit;
- u_int32_t wi_tx_discards;
- u_int32_t wi_rx_unicast_frames;
- u_int32_t wi_rx_multicast_frames;
- u_int32_t wi_rx_fragments;
- u_int32_t wi_rx_unicast_octets;
- u_int32_t wi_rx_multicast_octets;
- u_int32_t wi_rx_fcs_errors;
- u_int32_t wi_rx_discards_nobuf;
- u_int32_t wi_tx_discards_wrong_sa;
- u_int32_t wi_rx_WEP_cant_decrypt;
- u_int32_t wi_rx_msg_in_msg_frags;
- u_int32_t wi_rx_msg_in_bad_msg_frags;
-};
-
-struct wi_softc {
- struct arpcom arpcom;
- struct ifmedia ifmedia;
- int wi_unit;
- bus_space_handle_t wi_bhandle;
- bus_space_tag_t wi_btag;
- int wi_tx_data_id;
- int wi_tx_mgmt_id;
- int wi_gone;
- int wi_if_flags;
- u_int16_t wi_ptype;
- u_int16_t wi_portnum;
- u_int16_t wi_max_data_len;
- u_int16_t wi_rts_thresh;
- u_int16_t wi_ap_density;
- u_int16_t wi_tx_rate;
- u_int16_t wi_create_ibss;
- u_int16_t wi_channel;
- u_int16_t wi_pm_enabled;
- u_int16_t wi_max_sleep;
- char wi_node_name[32];
- char wi_net_name[32];
- char wi_ibss_name[32];
- u_int8_t wi_txbuf[1536];
- struct wi_counters wi_stats;
- struct callout_handle wi_stat_ch;
-};
-
-#define WI_TIMEOUT 65536
-
-#define WI_PORT0 0
-#define WI_PORT1 1
-#define WI_PORT2 2
-#define WI_PORT3 3
-#define WI_PORT4 4
-#define WI_PORT5 5
-
-/* Default port: 0 (only 0 exists on stations) */
-#define WI_DEFAULT_PORT (WI_PORT0 << 8)
-
-/* Default TX rate: 2Mbps, auto fallback */
-#define WI_DEFAULT_TX_RATE 3
-
-/* Default network name: ANY */
-#define WI_DEFAULT_NETNAME "ANY"
-
-#define WI_DEFAULT_AP_DENSITY 1
-
-#define WI_DEFAULT_RTS_THRESH 2347
-
-#define WI_DEFAULT_DATALEN 2304
-
-#define WI_DEFAULT_CREATE_IBSS 0
-
-#define WI_DEFAULT_PM_ENABLED 0
-
-#define WI_DEFAULT_MAX_SLEEP 100
-
-#define WI_DEFAULT_NODENAME "FreeBSD WaveLAN/IEEE node"
-
-#define WI_DEFAULT_IBSS "FreeBSD IBSS"
-
-#define WI_DEFAULT_CHAN 3
-
-/*
- * register space access macros
- */
-#define CSR_WRITE_4(sc, reg, val) \
- bus_space_write_4(sc->wi_btag, sc->wi_bhandle, reg, val)
-#define CSR_WRITE_2(sc, reg, val) \
- bus_space_write_2(sc->wi_btag, sc->wi_bhandle, reg, val)
-#define CSR_WRITE_1(sc, reg, val) \
- bus_space_write_1(sc->wi_btag, sc->wi_bhandle, reg, val)
-
-#define CSR_READ_4(sc, reg) \
- bus_space_read_4(sc->wi_btag, sc->wi_bhandle, reg)
-#define CSR_READ_2(sc, reg) \
- bus_space_read_2(sc->wi_btag, sc->wi_bhandle, reg)
-#define CSR_READ_1(sc, reg) \
- bus_space_read_1(sc->wi_btag, sc->wi_bhandle, reg)
-
-/*
- * The WaveLAN/IEEE cards contain an 802.11 MAC controller which Lucent
- * calls 'Hermes.' In typical fashion, getting documentation about this
- * controller is about as easy as squeezing blood from a stone. Here
- * is more or less what I know:
- *
- * - The Hermes controller is firmware driven, and the host interacts
- * with the Hermes via a firmware interface, which can change.
- *
- * - The Hermes is described in a document called: "Hermes Firmware
- * WaveLAN/IEEE Station Functions," document #010245, which of course
- * Lucent will not release without an NDA.
- *
- * - Lucent has created a library called HCF (Hardware Control Functions)
- * though which it wants developers to interact with the card. The HCF
- * is needlessly complex, ill conceived and badly documented. Actually,
- * the comments in the HCP code itself aren't bad, but the publically
- * available manual that comes with it is awful, probably due largely to
- * the fact that it has been emasculated in order to hide information
- * that Lucent wants to keep proprietary. The purpose of the HCF seems
- * to be to insulate the driver programmer from the Hermes itself so that
- * Lucent has an excuse not to release programming in for it.
- *
- * - Lucent only makes available documentation and code for 'HCF Light'
- * which is a stripped down version of HCF with certain features not
- * implemented, most notably support for 802.11 frames.
- *
- * - The HCF code which I have seen blows goats. Whoever decided to
- * use a 132 column format should be shot.
- *
- * Rather than actually use the Lucent HCF library, I have stripped all
- * the useful information from it and used it to create a driver in the
- * usual BSD form. Note: I don't want to hear anybody whining about the
- * fact that the Lucent code is GPLed and mine isn't. I did not actually
- * put any of Lucent's code in this driver: I only used it as a reference
- * to obtain information about the underlying hardware. The Hermes
- * programming interface is not GPLed, so bite me.
- */
-
-/*
- * Size of Hermes I/O space.
- */
-#define WI_IOSIZ 0x40
-
-/*
- * Hermes register definitions and what little I know about them.
- */
-
-/* Hermes command/status registers. */
-#define WI_COMMAND 0x00
-#define WI_PARAM0 0x02
-#define WI_PARAM1 0x04
-#define WI_PARAM2 0x06
-#define WI_STATUS 0x08
-#define WI_RESP0 0x0A
-#define WI_RESP1 0x0C
-#define WI_RESP2 0x0E
-
-/* Command register values. */
-#define WI_CMD_BUSY 0x8000 /* busy bit */
-#define WI_CMD_INI 0x0000 /* initialize */
-#define WI_CMD_ENABLE 0x0001 /* enable */
-#define WI_CMD_DISABLE 0x0002 /* disable */
-#define WI_CMD_DIAG 0x0003
-#define WI_CMD_ALLOC_MEM 0x000A /* allocate NIC memory */
-#define WI_CMD_TX 0x000B /* transmit */
-#define WI_CMD_NOTIFY 0x0010
-#define WI_CMD_INQUIRE 0x0011
-#define WI_CMD_ACCESS 0x0021
-#define WI_CMD_PROGRAM 0x0022
-
-#define WI_CMD_CODE_MASK 0x003F
-
-/*
- * Reclaim qualifier bit, applicable to the
- * TX and INQUIRE commands.
- */
-#define WI_RECLAIM 0x0100 /* reclaim NIC memory */
-
-/*
- * ACCESS command qualifier bits.
- */
-#define WI_ACCESS_READ 0x0000
-#define WI_ACCESS_WRITE 0x0100
-
-/*
- * PROGRAM command qualifier bits.
- */
-#define WI_PROGRAM_DISABLE 0x0000
-#define WI_PROGRAM_ENABLE_RAM 0x0100
-#define WI_PROGRAM_ENABLE_NVRAM 0x0200
-#define WI_PROGRAM_NVRAM 0x0300
-
-/* Status register values */
-#define WI_STAT_CMD_CODE 0x003F
-#define WI_STAT_DIAG_ERR 0x0100
-#define WI_STAT_INQ_ERR 0x0500
-#define WI_STAT_CMD_RESULT 0x7F00
-
-/* memory handle management registers */
-#define WI_INFO_FID 0x10
-#define WI_RX_FID 0x20
-#define WI_ALLOC_FID 0x22
-#define WI_TX_CMP_FID 0x24
-
-/*
- * Buffer Access Path (BAP) registers.
- * These are I/O channels. I believe you can use each one for
- * any desired purpose independently of the other. In general
- * though, we use BAP1 for reading and writing LTV records and
- * reading received data frames, and BAP0 for writing transmit
- * frames. This is a convention though, not a rule.
- */
-#define WI_SEL0 0x18
-#define WI_SEL1 0x1A
-#define WI_OFF0 0x1C
-#define WI_OFF1 0x1E
-#define WI_DATA0 0x36
-#define WI_DATA1 0x38
-#define WI_BAP0 WI_DATA0
-#define WI_BAP1 WI_DATA1
-
-#define WI_OFF_BUSY 0x8000
-#define WI_OFF_ERR 0x4000
-#define WI_OFF_DATAOFF 0x0FFF
-
-/* Event registers */
-#define WI_EVENT_STAT 0x30 /* Event status */
-#define WI_INT_EN 0x32 /* Interrupt enable/disable */
-#define WI_EVENT_ACK 0x34 /* Ack event */
-
-/* Events */
-#define WI_EV_TICK 0x8000 /* aux timer tick */
-#define WI_EV_RES 0x4000 /* controller h/w error (time out) */
-#define WI_EV_INFO_DROP 0x2000 /* no RAM to build unsolicited frame */
-#define WI_EV_NO_CARD 0x0800 /* card removed (hunh?) */
-#define WI_EV_DUIF_RX 0x0400 /* wavelan management packet received */
-#define WI_EV_INFO 0x0080 /* async info frame */
-#define WI_EV_CMD 0x0010 /* command completed */
-#define WI_EV_ALLOC 0x0008 /* async alloc/reclaim completed */
-#define WI_EV_TX_EXC 0x0004 /* async xmit completed with failure */
-#define WI_EV_TX 0x0002 /* async xmit completed succesfully */
-#define WI_EV_RX 0x0001 /* async rx completed */
-
-#define WI_INTRS \
- (WI_EV_RX|WI_EV_TX|WI_EV_TX_EXC|WI_EV_ALLOC|WI_EV_INFO|WI_EV_INFO_DROP)
-
-/* Host software registers */
-#define WI_SW0 0x28
-#define WI_SW1 0x2A
-#define WI_SW2 0x2C
-#define WI_SW3 0x2E
-
-#define WI_CNTL 0x14
-
-#define WI_CNTL_AUX_ENA 0xC000
-#define WI_CNTL_AUX_ENA_STAT 0xC000
-#define WI_CNTL_AUX_DIS_STAT 0x0000
-#define WI_CNTL_AUX_ENA_CNTL 0x8000
-#define WI_CNTL_AUX_DIS_CNTL 0x4000
-
-#define WI_AUX_PAGE 0x3A
-#define WI_AUX_OFFSET 0x3C
-#define WI_AUX_DATA 0x3E
-
-/*
- * One form of communication with the Hermes is with what Lucent calls
- * LTV records, where LTV stands for Length, Type and Value. The length
- * and type are 16 bits and are in native byte order. The value is in
- * multiples of 16 bits and is in little endian byte order.
- */
-struct wi_ltv_gen {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_val;
-};
-
-struct wi_ltv_str {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_str[17];
-};
-
-#define WI_SETVAL(recno, val) \
- do { \
- struct wi_ltv_gen g; \
- \
- g.wi_len = 2; \
- g.wi_type = recno; \
- g.wi_val = val; \
- wi_write_record(sc, &g); \
- } while (0)
-
-#define WI_SETSTR(recno, str) \
- do { \
- struct wi_ltv_str s; \
- int l; \
- \
- l = (strlen(str) + 1) & ~0x1; \
- bzero((char *)&s, sizeof(s)); \
- s.wi_len = (l / 2) + 2; \
- s.wi_type = recno; \
- s.wi_str[0] = strlen(str); \
- bcopy(str, (char *)&s.wi_str[1], strlen(str)); \
- wi_write_record(sc, (struct wi_ltv_gen *)&s); \
- } while (0)
-
-/*
- * Download buffer location and length (0xFD01).
- */
-#define WI_RID_DNLD_BUF 0xFD01
-struct wi_ltv_dnld_buf {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_buf_pg; /* page addr of intermediate dl buf*/
- u_int16_t wi_buf_off; /* offset of idb */
- u_int16_t wi_buf_len; /* len of idb */
-};
-
-/*
- * Mem sizes (0xFD02).
- */
-#define WI_RID_MEMSZ 0xFD02
-struct wi_ltv_memsz {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_mem_ram;
- u_int16_t wi_mem_nvram;
-};
-
-/*
- * List of intended regulatory domains (0xFD11).
- */
-#define WI_RID_DOMAINS 0xFD11
-struct wi_ltv_domains {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_domains[6];
-};
-
-/*
- * CIS struct (0xFD13).
- */
-#define WI_RID_CIS 0xFD13
-struct wi_ltv_cis {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_cis[240];
-};
-
-/*
- * Communications quality (0xFD43).
- */
-#define WI_RID_COMMQUAL 0xFD43
-struct wi_ltv_commqual {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_coms_qual;
- u_int16_t wi_sig_lvl;
- u_int16_t wi_noise_lvl;
-};
-
-/*
- * Actual system scale thresholds (0xFD46).
- */
-#define WI_RID_SYSTEM_SCALE 0xFC06
-#define WI_RID_SCALETHRESH 0xFD46
-struct wi_ltv_scalethresh {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_energy_detect;
- u_int16_t wi_carrier_detect;
- u_int16_t wi_defer;
- u_int16_t wi_cell_search;
- u_int16_t wi_out_of_range;
- u_int16_t wi_delta_snr;
-};
-
-/*
- * PCF info struct (0xFD87).
- */
-#define WI_RID_PCF 0xFD87
-struct wi_ltv_pcf {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_energy_detect;
- u_int16_t wi_carrier_detect;
- u_int16_t wi_defer;
- u_int16_t wi_cell_search;
- u_int16_t wi_range;
-};
-
-/*
- * Connection control characteristics.
- * 1 == Basic Service Set (BSS)
- * 2 == Wireless Distribudion System (WDS)
- * 3 == Pseudo IBSS
- */
-#define WI_RID_PORTTYPE 0xFC00
-#define WI_PORTTYPE_BSS 0x1
-#define WI_PORTTYPE_WDS 0x2
-#define WI_PORTTYPE_ADHOC 0x3
-
-/*
- * Mac addresses.
- */
-#define WI_RID_MAC_NODE 0xFC01
-#define WI_RID_MAC_WDS 0xFC08
-struct wi_ltv_macaddr {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_mac_addr[3];
-};
-
-/*
- * Station set identification (SSID).
- */
-#define WI_RID_DESIRED_SSID 0xFC02
-#define WI_RID_OWN_SSID 0xFC04
-struct wi_ltv_ssid {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_id[17];
-};
-
-/*
- * Set communications channel (radio frequency).
- */
-#define WI_RID_OWN_CHNL 0xFC03
-
-/*
- * Frame data size.
- */
-#define WI_RID_MAX_DATALEN 0xFC07
-
-/*
- * ESS power management enable
- */
-#define WI_RID_PM_ENABLED 0xFC09
-
-/*
- * ESS max PM sleep internal
- */
-#define WI_RID_MAX_SLEEP 0xFC0C
-
-/*
- * Set our station name.
- */
-#define WI_RID_NODENAME 0xFC0E
-struct wi_ltv_nodename {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_nodename[17];
-};
-
-/*
- * Multicast addresses to be put in filter. We're
- * allowed up to 16 addresses in the filter.
- */
-#define WI_RID_MCAST 0xFC80
-struct wi_ltv_mcast {
- u_int16_t wi_len;
- u_int16_t wi_type;
- struct ether_addr wi_mcast[16];
-};
-
-/*
- * Create IBSS.
- */
-#define WI_RID_CREATE_IBSS 0xFC81
-
-#define WI_RID_FRAG_THRESH 0xFC82
-#define WI_RID_RTS_THRESH 0xFC83
-
-/*
- * TX rate control
- * 0 == Fixed 1mbps
- * 1 == Fixed 2mbps
- * 2 == auto fallback
- */
-#define WI_RID_TX_RATE 0xFC84
-
-/*
- * promiscuous mode.
- */
-#define WI_RID_PROMISC 0xFC85
-
-/*
- * Auxiliary Timer tick interval
- */
-#define WI_RID_TICK_TIME 0xFCE0
-
-/*
- * Information frame types.
- */
-#define WI_INFO_NOTIFY 0xF000 /* Handover address */
-#define WI_INFO_COUNTERS 0xF100 /* Statistics counters */
-#define WI_INFO_SCAN_RESULTS 0xF101 /* Scan results */
-#define WI_INFO_LINK_STAT 0xF200 /* Link status */
-#define WI_INFO_ASSOC_STAT 0xF201 /* Association status */
-
-/*
- * Hermes transmit/receive frame structure
- */
-struct wi_frame {
- u_int16_t wi_status; /* 0x00 */
- u_int32_t wi_rsvd0; /* 0x02 */
- u_int16_t wi_q_info; /* 0x06 */
- u_int16_t wi_rsvd1; /* 0x08 */
- u_int16_t wi_tx_ctl; /* 0x0C */
- u_int16_t wi_frame_ctl; /* 0x0E */
- u_int16_t wi_id; /* 0x10 */
- u_int8_t wi_addr1[6]; /* 0x12 */
- u_int8_t wi_addr2[6]; /* 0x18 */
- u_int8_t wi_addr3[6]; /* 0x1E */
- u_int16_t wi_seq_ctl; /* 0x24 */
- u_int8_t wi_addr4[6]; /* 0x26 */
- u_int16_t wi_dat_len; /* 0x2C */
- u_int8_t wi_dst_addr[6]; /* 0x2E */
- u_int8_t wi_src_addr[6]; /* 0x34 */
- u_int16_t wi_len; /* 0x3A */
- u_int16_t wi_dat[3]; /* 0x3C */ /* SNAP header */
- u_int16_t wi_type; /* 0x42 */
-};
-
-#define WI_802_3_OFFSET 0x2E
-#define WI_802_11_OFFSET 0x44
-#define WI_802_11_OFFSET_RAW 0x3C
-
-#define WI_STAT_BADCRC 0x0001
-#define WI_STAT_UNDECRYPTABLE 0x0002
-#define WI_STAT_ERRSTAT 0x0003
-#define WI_STAT_MAC_PORT 0x0700
-#define WI_STAT_1042 0x2000 /* RFC1042 encoded */
-#define WI_STAT_TUNNEL 0x4000 /* Bridge-tunnel encoded */
-#define WI_STAT_WMP_MSG 0x6000 /* WaveLAN-II management protocol */
-#define WI_RXSTAT_MSG_TYPE 0xE000
-
-#define WI_ENC_TX_802_3 0x00
-#define WI_ENC_TX_802_11 0x11
-#define WI_ENC_TX_E_II 0x0E
-
-#define WI_ENC_TX_1042 0x00
-#define WI_ENC_TX_TUNNEL 0xF8
-
-#define WI_TXCNTL_MACPORT 0x00FF
-#define WI_TXCNTL_STRUCTTYPE 0xFF00
-
-/*
- * SNAP (sub-network access protocol) constants for transmission
- * of IP datagrams over IEEE 802 networks, taken from RFC1042.
- * We need these for the LLC/SNAP header fields in the TX/RX frame
- * structure.
- */
-#define WI_SNAP_K1 0xaa /* assigned global SAP for SNAP */
-#define WI_SNAP_K2 0x00
-#define WI_SNAP_CONTROL 0x03 /* unnumbered information format */
-#define WI_SNAP_WORD0 (WI_SNAP_K1 | (WI_SNAP_K1 << 8))
-#define WI_SNAP_WORD1 (WI_SNAP_K2 | (WI_SNAP_CONTROL << 8))
-#define WI_SNAPHDR_LEN 0x6
diff --git a/sys/modules/vinum/.gdbinit.crash b/sys/modules/vinum/.gdbinit.crash
deleted file mode 100644
index f3e643671cb8..000000000000
--- a/sys/modules/vinum/.gdbinit.crash
+++ /dev/null
@@ -1,4 +0,0 @@
-source .gdbinit.kernel
-source .gdbinit.vinum.paths
-source .gdbinit.vinum
-asf
diff --git a/sys/modules/vinum/.gdbinit.serial b/sys/modules/vinum/.gdbinit.serial
deleted file mode 100644
index d302f8aff479..000000000000
--- a/sys/modules/vinum/.gdbinit.serial
+++ /dev/null
@@ -1,5 +0,0 @@
-source .gdbinit.kernel
-source .gdbinit.vinum.paths
-source .gdbinit.vinum
-tr
-asf
diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c
deleted file mode 100644
index 1999a3f0490f..000000000000
--- a/sys/net/if_iso88025subr.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * For latest sources and information on this driver, please
- * go to http://anarchy.stdio.com.
- *
- * Questions, comments or suggestions should be directed to
- * Larry Lile <lile@stdio.com>.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: if_iso88025subr.c,v 1.5 1999/01/09 22:45:58 lile Exp $
- *
- */
-
-/*
- *
- * General ISO 802.5 (Token Ring) support routines
- *
- */
-
-#include "opt_inet.h"
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/sysctl.h>
-
-#include <net/if.h>
-#include <net/netisr.h>
-#include <net/route.h>
-#include <net/if_llc.h>
-#include <net/if_dl.h>
-#include <net/if_types.h>
-
-#include <net/if_arp.h>
-
-#include <net/iso88025.h>
-
-#ifdef INET
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-#include <netinet/if_ether.h>
-#endif
-
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#include <net/bpfdesc.h>
-#endif
-
-#include <machine/clock.h>
-#include <machine/md_var.h>
-
-#include <i386/isa/isa_device.h>
-
-#include <vm/vm.h>
-#include <vm/vm_param.h>
-#include <vm/pmap.h>
-
-#include <sys/kernel.h>
-#include <net/iso88025.h>
-
-void
-iso88025_ifattach(ifp)
- register struct ifnet *ifp;
-{
- register struct ifaddr *ifa = NULL;
- register struct sockaddr_dl *sdl;
-
- ifp->if_type = IFT_ISO88025;
- ifp->if_addrlen = 6;
- ifp->if_hdrlen=18;
- if (ifp->if_baudrate == 0)
- ifp->if_baudrate = 16000000; /* 1, 4, or 16Mbit default? */
- if (ifp->if_mtu == 0)
- ifp->if_mtu = ISO88025_DEFAULT_MTU;
-
- ifa = ifnet_addrs[ifp->if_index - 1];
- if (ifa == 0) {
- printf("iso88025_ifattach: no lladdr!\n");
- return;
- }
- sdl = (struct sockaddr_dl *)ifa->ifa_addr;
- sdl->sdl_type = IFT_ISO88025;
- sdl->sdl_alen = ifp->if_addrlen;
- bcopy(((struct arpcom *)ifp)->ac_enaddr, LLADDR(sdl), ifp->if_addrlen);
-}
-
-int
-iso88025_ioctl(struct ifnet *ifp, int command, caddr_t data)
-{
- struct ifaddr *ifa = (struct ifaddr *) data;
- struct ifreq *ifr = (struct ifreq *) data;
- int error = 0;
-
- switch (command) {
- case SIOCSIFADDR:
- ifp->if_flags |= IFF_UP;
-
- switch (ifa->ifa_addr->sa_family) {
-#ifdef INET
- case AF_INET:
- ifp->if_init(ifp->if_softc); /* before arpwhohas */
- arp_ifinit((struct arpcom *)ifp, ifa);
- break;
-#endif
- default:
- ifp->if_init(ifp->if_softc);
- break;
- }
- break;
-
- case SIOCGIFADDR:
- {
- struct sockaddr *sa;
-
- sa = (struct sockaddr *) & ifr->ifr_data;
- bcopy(((struct arpcom *)ifp->if_softc)->ac_enaddr,
- (caddr_t) sa->sa_data, ISO88025_ADDR_LEN);
- }
- break;
-
- case SIOCSIFMTU:
- /*
- * Set the interface MTU.
- */
- if (ifr->ifr_mtu > ISO88025MTU) {
- error = EINVAL;
- } else {
- ifp->if_mtu = ifr->ifr_mtu;
- }
- break;
- }
- return (error);
-}
-
-/*
- * ISO88025 encapsulation
- */
-int
-iso88025_output(ifp, m0, dst, rt0)
- register struct ifnet *ifp;
- struct mbuf *m0;
- struct sockaddr *dst;
- struct rtentry *rt0;
-{
- register struct iso88025_header *th;
- struct iso88025_header gen_th;
- register struct iso88025_sockaddr_data *sd = (struct iso88025_sockaddr_data *)dst->sa_data;
- register struct llc *l;
- register struct sockaddr_dl *sdl = NULL;
- int s, error = 0, rif_len = 0;
- u_char edst[6];
- register struct mbuf *m = m0;
- register struct rtentry *rt;
- int len = m->m_pkthdr.len, loop_copy = 0;
- struct arpcom *ac = (struct arpcom *)ifp;
-
- if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
- senderr(ENETDOWN);
- rt = rt0;
- if (rt) {
- if ((rt->rt_flags & RTF_UP) == 0) {
- rt0 = rt = rtalloc1(dst, 1, 0UL);
- if (rt0)
- rt->rt_refcnt--;
- else
- senderr(EHOSTUNREACH);
- }
- if (rt->rt_flags & RTF_GATEWAY) {
- if (rt->rt_gwroute == 0)
- goto lookup;
- if (((rt = rt->rt_gwroute)->rt_flags & RTF_UP) == 0) {
- rtfree(rt); rt = rt0;
- lookup: rt->rt_gwroute = rtalloc1(rt->rt_gateway, 1,
- 0UL);
- if ((rt = rt->rt_gwroute) == 0)
- senderr(EHOSTUNREACH);
- }
- }
- if (rt->rt_flags & RTF_REJECT)
- if (rt->rt_rmx.rmx_expire == 0 ||
- time_second < rt->rt_rmx.rmx_expire)
- senderr(rt == rt0 ? EHOSTDOWN : EHOSTUNREACH);
- }
-
- /* Calculate routing info length based on arp table entry */
- if (rt && (sdl = (struct sockaddr_dl *)rt->rt_gateway))
- if (sdl->sdl_rcf != NULL)
- rif_len = (ntohs(sdl->sdl_rcf) & 0x1f00) >> 8;
-
- /* Generate a generic 802.5 header for the packet */
- gen_th.ac = 0x10;
- gen_th.fc = 0x40;
- memcpy(gen_th.iso88025_shost, ac->ac_enaddr, sizeof(ac->ac_enaddr));
- if (rif_len) {
- gen_th.iso88025_shost[0] |= 0x80;
- if (rif_len > 2) {
- gen_th.rcf = sdl->sdl_rcf;
- memcpy(gen_th.rseg, sdl->sdl_route, rif_len - 2);
- }
- }
-
-
- switch (dst->sa_family) {
-#ifdef INET
- case AF_INET:
- if (!arpresolve(ac, rt, m, dst, edst, rt0))
- return (0); /* if not yet resolved */
- /* Add LLC and SNAP headers */
- M_PREPEND(m, 8, M_DONTWAIT)
- if (m == 0)
- senderr(ENOBUFS);
- l = mtod(m, struct llc *);
- l->llc_un.type_snap.ether_type = htons(ETHERTYPE_IP);
- l->llc_dsap = 0xaa;
- l->llc_ssap = 0xaa;
- l->llc_un.type_snap.control = 0x3;
- l->llc_un.type_snap.org_code[0] = 0x0;
- l->llc_un.type_snap.org_code[1] = 0x0;
- l->llc_un.type_snap.org_code[2] = 0x0;
- memcpy(gen_th.iso88025_dhost, edst, sizeof(edst));
- break;
-#endif
-
- case AF_UNSPEC:
- /*
- * For AF_UNSPEC sockaddr.sa_data must contain all of the
- * mac information needed to send the packet. This allows
- * full mac, llc, and source routing function to be controlled.
- * llc and source routing information must already be in the
- * mbuf provided, ac/fc are set in sa_data. sockaddr.sa_data
- * should be a iso88025_sockaddr_data structure see iso88025.h
- */
- loop_copy = -1;
- sd = (struct iso88025_sockaddr_data *)dst->sa_data;
- gen_th.ac = sd->ac;
- gen_th.fc = sd->fc;
- memcpy(gen_th.iso88025_dhost, sd->ether_dhost, sizeof(sd->ether_dhost));
- memcpy(gen_th.iso88025_shost, sd->ether_shost, sizeof(sd->ether_shost));
- rif_len = 0;
- break;
-
- default:
- printf("%s%d: can't handle af%d\n", ifp->if_name, ifp->if_unit,
- dst->sa_family);
- senderr(EAFNOSUPPORT);
- }
-
- /*
- * Add local net header. If no space in first mbuf,
- * allocate another.
- */
-
- M_PREPEND(m, ISO88025_HDR_LEN + rif_len, M_DONTWAIT);
- if (m == 0)
- senderr(ENOBUFS);
-
- /* Copy as much of the generic header as is needed into the mbuf */
- th = mtod(m, struct iso88025_header *);
- memcpy(th, &gen_th, ISO88025_HDR_LEN + rif_len);
-
- /*
- * If a simplex interface, and the packet is being sent to our
- * Ethernet address or a broadcast address, loopback a copy.
- * XXX To make a simplex device behave exactly like a duplex
- * device, we should copy in the case of sending to our own
- * ethernet address (thus letting the original actually appear
- * on the wire). However, we don't do that here for security
- * reasons and compatibility with the original behavior.
- */
- if ((ifp->if_flags & IFF_SIMPLEX) &&
- (loop_copy != -1)) {
- if ((m->m_flags & M_BCAST) || (loop_copy > 0)) {
- struct mbuf *n = m_copy(m, 0, (int)M_COPYALL);
- /*printf("iso88025_output: if_simloop broadcast.\n");*/
- (void) if_simloop(ifp, n, dst, ISO88025_HDR_LEN);
- } else if (bcmp(th->iso88025_dhost,
- th->iso88025_shost, ETHER_ADDR_LEN) == 0) {
- /*printf("iso88025_output: if_simloop to ourselves.\n");*/
- (void) if_simloop(ifp, m, dst, ISO88025_HDR_LEN);
- return(0); /* XXX */
- }
- }
-
- s = splimp();
- /*
- * Queue message on interface, and start output if interface
- * not yet active.
- */
- if (IF_QFULL(&ifp->if_snd)) {
- printf("iso88025_output: packet dropped QFULL.\n");
- IF_DROP(&ifp->if_snd);
- splx(s);
- senderr(ENOBUFS);
- }
- IF_ENQUEUE(&ifp->if_snd, m);
- /*printf("iso88025_output: packet queued.\n");*/
- if ((ifp->if_flags & IFF_OACTIVE) == 0)
- (*ifp->if_start)(ifp);
- splx(s);
- ifp->if_obytes += len + ISO88025_HDR_LEN + 8;
- if (m->m_flags & M_MCAST)
- ifp->if_omcasts++;
- return (error);
-
-bad:
- if (m)
- m_freem(m);
- /*printf("iso88025_output: something went wrong, bailing to bad.\n");*/
- return (error);
-}
-
-/*
- * ISO 88025 de-encapsulation
- */
-void
-iso88025_input(ifp, th, m)
- struct ifnet *ifp;
- register struct iso88025_header *th;
- struct mbuf *m;
-{
- register struct ifqueue *inq;
- u_short ether_type;
- int s;
- register struct llc *l = mtod(m, struct llc *);
-
- /*printf("iso88025_input: entered.\n");*/
-
- /*m->m_pkthdr.len = m->m_len = m->m_len - 8;*/ /* Length of LLC header in our case */
- m->m_pkthdr.len -= 8;
- m->m_len -= 8;
- m->m_data += 8; /* Length of LLC header in our case */
-
- if ((ifp->if_flags & IFF_UP) == 0) {
- m_freem(m);
- return;
- }
- ifp->if_ibytes += m->m_pkthdr.len + sizeof (*th);
- if (th->iso88025_dhost[0] & 1) {
- if (bcmp((caddr_t)etherbroadcastaddr, (caddr_t)th->iso88025_dhost,
- sizeof(etherbroadcastaddr)) == 0)
- m->m_flags |= M_BCAST;
- else
- m->m_flags |= M_MCAST;
- }
- if (m->m_flags & (M_BCAST|M_MCAST))
- ifp->if_imcasts++;
-
- ether_type = ntohs(l->llc_un.type_snap.ether_type);
-
- /*printf("iso88025_input: source %6D dest %6D ethertype %x\n", th->iso88025_shost, ":", th->iso88025_dhost, ":", ether_type);*/
-
- switch (ether_type) {
-#ifdef INET
- case ETHERTYPE_IP:
- /*printf("iso88025_input: IP Packet\n");*/
- th->iso88025_shost[0] &= ~(0x80); /* Turn off source route bit XXX */
- if (ipflow_fastforward(m))
- return;
- schednetisr(NETISR_IP);
- inq = &ipintrq;
- break;
-
- case ETHERTYPE_ARP:
- /*printf("iso88025_input: ARP Packet\n");*/
- schednetisr(NETISR_ARP);
- inq = &arpintrq;
- break;
-#endif
- default:
- m_freem(m);
- return;
- }
-
- s = splimp();
- if (IF_QFULL(inq)) {
- IF_DROP(inq);
- m_freem(m);
- printf("iso88025_input: Packet dropped (Queue full).\n");
- } else
- IF_ENQUEUE(inq, m);
- /*printf("iso88025_input: Packet queued.\n");*/
- splx(s);
-}
diff --git a/sys/net/iso88025.h b/sys/net/iso88025.h
deleted file mode 100644
index 70ecdc0c016f..000000000000
--- a/sys/net/iso88025.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * For latest sources and information on this driver, please
- * go to http://anarchy.stdio.com.
- *
- * Questions, comments or suggestions should be directed to
- * Larry Lile <lile@stdio.com>.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: iso88025.h,v 1.10 1999/01/09 19:01:58 lile Exp $
- *
- * Information gathered from tokenring@freebsd, /sys/net/ethernet.h and
- * the Mach token ring driver.
- */
-
-/*
- * Fundamental constants relating to iso 802.5
- */
-
-#ifndef _NET_ISO88025_H_
-#define _NET_ISO88025_H_
-
-/*
- * The number of bytes in an iso 802.5 (MAC) address.
- */
-#define ISO88025_ADDR_LEN 6
-
-/*
- */
-#define ISO88025_HDR_LEN (ISO88025_CF_LEN + ISO88025_ADDR_LEN*2)
-#define ISO88025_CF_LEN 2
-#define RCF_LEN 2
-#define RIF_LEN 16
-
-
-/*
- * The minimum packet length.
- */
-#define ISO88025_MIN_LEN 0 /* This offends my morality */
-
-/*
- * The maximum packet length.
- */
-#define ISO88025_MAX_LEN 17960
-
-/*
- * A macro to validate a length with
- */
-#define ISO88025_IS_VALID_LEN(foo) \
- ((foo) >= ISO88025_MIN_LEN && (foo) <= ISO88025_MAX_LEN)
-
-/*
- * ISO 802.5 physical header
- */
-struct iso88025_header {
- u_char ac; /* access control field */
- u_char fc; /* frame control field */
- u_char iso88025_dhost[ISO88025_ADDR_LEN]; /* destination address */
- u_char iso88025_shost[ISO88025_ADDR_LEN]; /* source address */
- u_short rcf; /* route control field */
- u_short rseg[RIF_LEN]; /* routing registers */
-};
-
-struct iso88025_sockaddr_data {
- u_char ether_dhost[ISO88025_ADDR_LEN];
- u_char ether_shost[ISO88025_ADDR_LEN];
- u_char ac;
- u_char fc;
-};
-
-/*
- * Structure of a 48-bit iso 802.5 address.
- * ( We could also add the 16 bit addresses as a union)
- */
-struct iso88025_addr {
- u_char octet[ISO88025_ADDR_LEN];
-};
-
-#define ISO88025MTU 18000
-#define ISO88025_DEFAULT_MTU 1500
-#define senderr(e) { error = (e); goto bad;}
-
-void iso88025_ifattach __P((struct ifnet *));
-int iso88025_ioctl __P((struct ifnet *, int , caddr_t ));
-int iso88025_output __P((struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *));
-void iso88025_input __P((struct ifnet *, struct iso88025_header *, struct mbuf *));
-
-
-#endif
diff --git a/sys/pci/ahc_pci.c b/sys/pci/ahc_pci.c
index eb892a053703..aa7d168cc462 100644
--- a/sys/pci/ahc_pci.c
+++ b/sys/pci/ahc_pci.c
@@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ahc_pci.c,v 1.5.2.2 1999/03/07 00:42:43 gibbs Exp $
+ * $Id: ahc_pci.c,v 1.5.2.4 1999/05/16 00:07:45 gibbs Exp $
*/
#include <pci.h>
@@ -42,7 +42,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/queue.h>
#include <pci/pcireg.h>
#include <pci/pcivar.h>
@@ -64,33 +63,369 @@
#include <aic7xxx_reg.h>
-#define PCI_BASEADR0 PCI_MAP_REG_START /* I/O Address */
-#define PCI_BASEADR1 PCI_MAP_REG_START + 4 /* Mem I/O Address */
+#define AHC_PCI_IOADDR PCIR_MAPS /* I/O Address */
+#define AHC_PCI_MEMADDR (PCIR_MAPS + 4) /* Mem I/O Address */
-#define PCI_DEVICE_ID_ADAPTEC_398XU 0x83789004ul
-#define PCI_DEVICE_ID_ADAPTEC_3940U 0x82789004ul
-#define PCI_DEVICE_ID_ADAPTEC_3950U2 0x00509005ul
-#define PCI_DEVICE_ID_ADAPTEC_2944U 0x84789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940U 0x81789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940AU 0x61789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940U2 0x00109005ul
-#define PCI_DEVICE_ID_ADAPTEC_2930U2 0x00119005ul
-#define PCI_DEVICE_ID_ADAPTEC_398X 0x73789004ul
-#define PCI_DEVICE_ID_ADAPTEC_3940 0x72789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2944 0x74789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940 0x71789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7890 0x001F9005ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7895C 0x78939004ul /* RAID Port */
-#define PCI_DEVICE_ID_ADAPTEC_AIC7895 0x78959004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7896 0x005F9005ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7880 0x80789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7870 0x70789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7860 0x60789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7855 0x55789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7850 0x50789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7810 0x10789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7815 0x15789004ul
+static __inline u_int64_t
+ahc_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
+{
+ u_int64_t id;
+
+ id = subvendor
+ | (subdevice << 16)
+ | ((u_int64_t)vendor << 32)
+ | ((u_int64_t)device << 48);
+
+ return (id);
+}
+
+#define ID_ALL_MASK 0xFFFFFFFFFFFFFFFFull
+#define ID_DEV_VENDOR_MASK 0xFFFFFFFF00000000ull
+#define ID_AIC7850 0x5078900400000000ull
+#define ID_AHA_2910_15_20_30C 0x5078900478509004ull
+#define ID_AIC7855 0x5578900400000000ull
+#define ID_AIC7860 0x6078900400000000ull
+#define ID_AIC7860C 0x6078900478609004ull
+#define ID_AHA_2940AU_0 0x6178900400000000ull
+#define ID_AHA_2940AU_1 0x6178900478619004ull
+#define ID_AHA_2930C_VAR 0x6038900438689004ull
+
+#define ID_AIC7870 0x7078900400000000ull
+#define ID_AHA_2940 0x7178900400000000ull
+#define ID_AHA_3940 0x7278900400000000ull
+#define ID_AHA_398X 0x7378900400000000ull
+#define ID_AHA_2944 0x7478900400000000ull
+#define ID_AHA_3944 0x7578900400000000ull
+
+#define ID_AIC7880 0x8078900400000000ull
+#define ID_AIC7880_B 0x8078900478809004ull
+#define ID_AHA_2940AU_CN 0x2178900478219004ull
+#define ID_AHA_2940U 0x8178900400000000ull
+#define ID_AHA_3940U 0x8278900400000000ull
+#define ID_AHA_2944U 0x8478900400000000ull
+#define ID_AHA_3944U 0x8578900400000000ull
+#define ID_AHA_398XU 0x8378900400000000ull
+#define ID_AHA_4944U 0x8678900400000000ull
+#define ID_AHA_2940UB 0x8178900478819004ull
+#define ID_AHA_2930U 0x8878900478889004ull
+#define ID_AHA_2940U_PRO 0x8778900478879004ull
+#define ID_AHA_2940U_CN 0x0078900478009004ull
+
+#define ID_AIC7895 0x7895900478959004ull
+#define ID_AIC7895_RAID_PORT 0x7893900478939004ull
+#define ID_AHA_2940U_DUAL 0x7895900478919004ull
+#define ID_AHA_3940AU 0x7895900478929004ull
+#define ID_AHA_3944AU 0x7895900478949004ull
+
+#define ID_AIC7890 0x001F9005000F9005ull
+#define ID_AHA_2930U2 0x0011900501819005ull
+#define ID_AHA_2940U2B 0x00109005A1009005ull
+#define ID_AHA_2940U2_OEM 0x0010900521809005ull
+#define ID_AHA_2940U2 0x00109005A1809005ull
+#define ID_AHA_2950U2B 0x00109005E1009005ull
+
+#define ID_AIC7896 0x005F9005FFFF9005ull
+#define ID_AHA_3950U2B_0 0x00509005FFFF9005ull
+#define ID_AHA_3950U2B_1 0x00509005F5009005ull
+#define ID_AHA_3950U2D_0 0x00519005FFFF9005ull
+#define ID_AHA_3950U2D_1 0x00519005B5009005ull
+
+#define ID_AIC7810 0x1078900400000000ull
+#define ID_AIC7815 0x1578900400000000ull
+
+typedef int (ahc_device_setup_t)(pcici_t, char *, ahc_chip *,
+ ahc_feature *, ahc_flag *);
+
+static ahc_device_setup_t ahc_aic7850_setup;
+static ahc_device_setup_t ahc_aic7860_setup;
+static ahc_device_setup_t ahc_aic7870_setup;
+static ahc_device_setup_t ahc_aha394X_setup;
+static ahc_device_setup_t ahc_aha398X_setup;
+static ahc_device_setup_t ahc_aic7880_setup;
+static ahc_device_setup_t ahc_aha394XU_setup;
+static ahc_device_setup_t ahc_aha398XU_setup;
+static ahc_device_setup_t ahc_aic7890_setup;
+static ahc_device_setup_t ahc_aic7895_setup;
+static ahc_device_setup_t ahc_aic7896_setup;
+static ahc_device_setup_t ahc_raid_setup;
+static ahc_device_setup_t ahc_aha394XX_setup;
+static ahc_device_setup_t ahc_aha398XX_setup;
+
+struct ahc_pci_identity {
+ u_int64_t full_id;
+ u_int64_t id_mask;
+ char *name;
+ ahc_device_setup_t *setup;
+};
+struct ahc_pci_identity ahc_pci_ident_table [] =
+{
+ /* aic7850 based controllers */
+ {
+ ID_AHA_2910_15_20_30C,
+ ID_ALL_MASK,
+ "Adaptec 2910/15/20/30C SCSI adapter",
+ ahc_aic7850_setup
+ },
+ /* aic7860 based controllers */
+ {
+ ID_AHA_2940AU_0 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec 2940A Ultra SCSI adapter",
+ ahc_aic7860_setup
+ },
+ {
+ ID_AHA_2930C_VAR,
+ ID_ALL_MASK,
+ "Adaptec 2930C SCSI adapter (VAR)",
+ ahc_aic7860_setup
+ },
+ /* aic7870 based controllers */
+ {
+ ID_AHA_2940,
+ ID_ALL_MASK,
+ "Adaptec 2940 SCSI adapter",
+ ahc_aic7870_setup
+ },
+ {
+ ID_AHA_3940,
+ ID_ALL_MASK,
+ "Adaptec 3940 SCSI adapter",
+ ahc_aha394X_setup
+ },
+ {
+ ID_AHA_398X,
+ ID_ALL_MASK,
+ "Adaptec 398X SCSI RAID adapter",
+ ahc_aha398X_setup
+ },
+ {
+ ID_AHA_2944,
+ ID_ALL_MASK,
+ "Adaptec 2944 SCSI adapter",
+ ahc_aic7870_setup
+ },
+ {
+ ID_AHA_3944,
+ ID_ALL_MASK,
+ "Adaptec 3944 SCSI adapter",
+ ahc_aha394X_setup
+ },
+ /* aic7880 based controllers */
+ {
+ ID_AHA_2940AU_CN,
+ ID_ALL_MASK,
+ "Adaptec 2940A/CN Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940U,
+ ID_ALL_MASK,
+ "Adaptec 2940 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_3940U,
+ ID_ALL_MASK,
+ "Adaptec 3940 Ultra SCSI adapter",
+ ahc_aha394XU_setup
+ },
+ {
+ ID_AHA_2944U,
+ ID_ALL_MASK,
+ "Adaptec 2944 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_3944U,
+ ID_ALL_MASK,
+ "Adaptec 3944 Ultra SCSI adapter",
+ ahc_aha394XU_setup
+ },
+ {
+ ID_AHA_398XU,
+ ID_ALL_MASK,
+ "Adaptec 398X Ultra SCSI RAID adapter",
+ ahc_aha398XU_setup
+ },
+ {
+ /* XXX Don't know the slot numbers so can't identify channels */
+ ID_AHA_4944U,
+ ID_ALL_MASK,
+ "Adaptec 4944 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940UB,
+ ID_ALL_MASK,
+ "Adaptec 2940B Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2930U,
+ ID_ALL_MASK,
+ "Adaptec 2930 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940U_PRO,
+ ID_ALL_MASK,
+ "Adaptec 2940 Pro Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940U_CN,
+ ID_ALL_MASK,
+ "Adaptec 2940/CN Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ /* aic7890 based controllers */
+ {
+ ID_AHA_2930U2,
+ ID_ALL_MASK,
+ "Adaptec 2930 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2940U2B,
+ ID_ALL_MASK,
+ "Adaptec 2940B Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2940U2_OEM,
+ ID_ALL_MASK,
+ "Adaptec 2940 Ultra2 SCSI adapter (OEM)",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2940U2,
+ ID_ALL_MASK,
+ "Adaptec 2940 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2950U2B,
+ ID_ALL_MASK,
+ "Adaptec 2950 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ /* aic7895 based controllers */
+ {
+ ID_AHA_2940U_DUAL,
+ ID_ALL_MASK,
+ "Adaptec 2940/DUAL Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AHA_3940AU,
+ ID_ALL_MASK,
+ "Adaptec 3940A Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AHA_3944AU,
+ ID_ALL_MASK,
+ "Adaptec 3944A Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ /* aic7896/97 based controllers */
+ {
+ ID_AHA_3950U2B_0,
+ ID_ALL_MASK,
+ "Adaptec 3950B Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AHA_3950U2B_1,
+ ID_ALL_MASK,
+ "Adaptec 3950B Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AHA_3950U2D_0,
+ ID_ALL_MASK,
+ "Adaptec 3950D Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AHA_3950U2D_1,
+ ID_ALL_MASK,
+ "Adaptec 3950D Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ /* Generic chip probes for devices we don't know 'exactly' */
+ {
+ ID_AIC7850 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7850 SCSI adapter",
+ ahc_aic7850_setup
+ },
+ {
+ ID_AIC7855 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7855 SCSI adapter",
+ ahc_aic7850_setup
+ },
+ {
+ ID_AIC7860 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7860 SCSI adapter",
+ ahc_aic7860_setup
+ },
+ {
+ ID_AIC7870 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7870 SCSI adapter",
+ ahc_aic7870_setup
+ },
+ {
+ ID_AIC7880 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7880 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AIC7890 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7890/91 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AIC7895 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7895 Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AIC7895_RAID_PORT & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7895 Ultra SCSI adapter (RAID PORT)",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AIC7896 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7896/97 Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AIC7810 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7810 RAID memory controller",
+ ahc_raid_setup
+ },
+ {
+ ID_AIC7815 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7815 RAID memory controller",
+ ahc_raid_setup
+ }
+};
+
+static const int ahc_num_pci_devs =
+ sizeof(ahc_pci_ident_table) / sizeof(*ahc_pci_ident_table);
+
#define AHC_394X_SLOT_CHANNEL_A 4
#define AHC_394X_SLOT_CHANNEL_B 5
@@ -116,6 +451,7 @@
#define CACHESIZE 0x0000003ful /* only 5 bits */
#define LATTIME 0x0000ff00ul
+static struct ahc_pci_identity *ahc_find_pci_device(pcici_t tag);
static void check_extport(struct ahc_softc *ahc, u_int *sxfrctl1);
static void configure_termination(struct ahc_softc *ahc,
struct seeprom_config *sc,
@@ -149,246 +485,100 @@ static void ahc_pci_attach(pcici_t config_id, int unit);
/* Exported for use in the ahc_intr routine */
void ahc_pci_intr(struct ahc_softc *ahc);
-static struct pci_device ahc_pci_driver = {
+static struct pci_device ahc_pci_driver = {
"ahc",
- ahc_pci_probe,
- ahc_pci_attach,
- &ahc_unit,
+ ahc_pci_probe,
+ ahc_pci_attach,
+ &ahc_unit,
NULL
-};
+};
DATA_SET (pcidevice_set, ahc_pci_driver);
-static const char*
-ahc_pci_probe (pcici_t tag, pcidi_t type)
+static struct ahc_pci_identity *
+ahc_find_pci_device(pcici_t tag)
{
- switch (type) {
- case PCI_DEVICE_ID_ADAPTEC_398XU:
- return ("Adaptec 398X Ultra SCSI RAID adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_3940U:
- return ("Adaptec 3940 Ultra SCSI host adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_398X:
- return ("Adaptec 398X SCSI RAID adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_3940:
- return ("Adaptec 3940 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_3950U2:
- return ("Adaptec 3950 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2930U2:
- return ("Adaptec 2930 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2944U:
- return ("Adaptec 2944 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940U:
- return ("Adaptec 2940 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940U2:
- return ("Adaptec 2940 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2944:
- return ("Adaptec 2944 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940:
- return ("Adaptec 2940 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940AU:
- return ("Adaptec 2940A Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7895:
- return ("Adaptec aic7895 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7895C:
- return ("Adaptec aic7895 `Raid Port' Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7890:
- return ("Adaptec aic7890/91 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7896:
- return ("Adaptec aic7896/97 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7880:
- return ("Adaptec aic7880 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7870:
- return ("Adaptec aic7870 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7860:
- return ("Adaptec aic7860 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7855:
- return ("Adaptec aic7855 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7850:
- return ("Adaptec aic7850 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7810:
- return ("Adaptec aic7810 RAID memory controller");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7815:
- return ("Adaptec aic7815 RAID memory controller");
- break;
- default:
- break;
+ u_int64_t full_id;
+ struct ahc_pci_identity *entry;
+ u_int deviceid;
+ u_int vendorid;
+ u_int subdeviceid;
+ u_int subvendorid;
+ u_int i;
+
+ deviceid = pci_cfgread(tag, PCIR_DEVICE, /*bytes*/2);
+ vendorid = pci_cfgread(tag, PCIR_VENDOR, /*bytes*/2);
+ subdeviceid = pci_cfgread(tag, PCIR_SUBDEV_0, /*bytes*/2);
+ subvendorid = pci_cfgread(tag, PCIR_SUBVEND_0, /*bytes*/2);
+ full_id = ahc_compose_id(deviceid,
+ vendorid,
+ subdeviceid,
+ subvendorid);
+
+ for (i = 0; i < ahc_num_pci_devs; i++) {
+ entry = &ahc_pci_ident_table[i];
+ if (entry->full_id == (full_id & entry->id_mask))
+ return (entry);
}
- return (0);
+ return (NULL);
+}
+
+static const char*
+ahc_pci_probe(pcici_t tag, pcidi_t type)
+{
+ struct ahc_pci_identity *entry;
+ entry = ahc_find_pci_device(tag);
+ if (entry != NULL)
+ return (entry->name);
+ return (NULL);
}
static void
ahc_pci_attach(pcici_t config_id, int unit)
{
- pci_port_t io_port;
- struct ahc_softc *ahc;
- u_int32_t id;
- u_int32_t command;
- struct scb_data *shared_scb_data;
- int opri;
- ahc_chip ahc_t = AHC_NONE;
- ahc_feature ahc_fe = AHC_FENONE;
- ahc_flag ahc_f = AHC_FNONE;
- vm_offset_t vaddr;
- vm_offset_t paddr;
- u_int our_id = 0;
- u_int sxfrctl1;
- u_int scsiseq;
- int error;
- char channel;
+ pci_port_t io_port;
+ bus_dma_tag_t parent_dmat;
+ struct ahc_softc *ahc;
+ struct ahc_pci_identity *entry;
+ vm_offset_t vaddr;
+#ifdef AHC_ALLOW_MEMIO
+ vm_offset_t paddr;
+#endif
+ u_int command;
+ struct scb_data *shared_scb_data;
+ ahc_chip ahc_t = AHC_NONE;
+ ahc_feature ahc_fe = AHC_FENONE;
+ ahc_flag ahc_f = AHC_FNONE;
+ u_int our_id = 0;
+ u_int sxfrctl1;
+ u_int scsiseq;
+ int error;
+ int opri;
+ char channel;
- if (config_id->func == 1)
- channel = 'B';
- else
- channel = 'A';
shared_scb_data = NULL;
+ command = pci_cfgread(config_id, PCIR_COMMAND, /*bytes*/1);
+ entry = ahc_find_pci_device(config_id);
+ if (entry == NULL)
+ return;
+
+ error = entry->setup(config_id, &channel, &ahc_t, &ahc_fe, &ahc_f);
+ if (error != 0)
+ return;
+
vaddr = NULL;
- paddr = NULL;
- io_port = 0;
- command = pci_conf_read(config_id, PCI_COMMAND_STATUS_REG);
#ifdef AHC_ALLOW_MEMIO
if ((command & PCI_COMMAND_MEM_ENABLE) == 0
- || (pci_map_mem(config_id, PCI_BASEADR1, &vaddr, &paddr)) == 0)
+ || (pci_map_mem(config_id, AHC_PCI_MEMADDR, &vaddr, &paddr)) == 0)
#endif
if ((command & PCI_COMMAND_IO_ENABLE) == 0
- || (pci_map_port(config_id, PCI_BASEADR0, &io_port)) == 0)
+ || (pci_map_port(config_id, AHC_PCI_IOADDR, &io_port)) == 0)
return;
- switch ((id = pci_conf_read(config_id, PCI_ID_REG))) {
- case PCI_DEVICE_ID_ADAPTEC_398XU:
- case PCI_DEVICE_ID_ADAPTEC_398X:
- if (id == PCI_DEVICE_ID_ADAPTEC_398XU) {
- ahc_t = AHC_AIC7880;
- ahc_fe = AHC_AIC7880_FE;
- } else {
- ahc_t = AHC_AIC7870;
- ahc_fe = AHC_AIC7870_FE;
- }
-
- switch (config_id->slot) {
- case AHC_398X_SLOT_CHANNEL_A:
- break;
- case AHC_398X_SLOT_CHANNEL_B:
- channel = 'B';
- break;
- case AHC_398X_SLOT_CHANNEL_C:
- channel = 'C';
- break;
- default:
- printf("adapter at unexpected slot %d\n"
- "unable to map to a channel\n",
- config_id->slot);
- }
- ahc_f |= AHC_LARGE_SEEPROM;
- break;
- case PCI_DEVICE_ID_ADAPTEC_3940U:
- case PCI_DEVICE_ID_ADAPTEC_3940:
- if (id == PCI_DEVICE_ID_ADAPTEC_3940U) {
- ahc_t = AHC_AIC7880;
- ahc_fe = AHC_AIC7880_FE;
- } else {
- ahc_t = AHC_AIC7870;
- ahc_fe = AHC_AIC7870_FE;
- }
-
- switch (config_id->slot) {
- case AHC_394X_SLOT_CHANNEL_A:
- break;
- case AHC_394X_SLOT_CHANNEL_B:
- channel = 'B';
- break;
- default:
- printf("adapter at unexpected slot %d\n"
- "unable to map to a channel\n",
- config_id->slot);
- }
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7890:
- case PCI_DEVICE_ID_ADAPTEC_2940U2:
- case PCI_DEVICE_ID_ADAPTEC_2930U2:
- {
- ahc_t = AHC_AIC7890;
- ahc_fe = AHC_AIC7890_FE;
- break;
- }
- case PCI_DEVICE_ID_ADAPTEC_AIC7896:
- case PCI_DEVICE_ID_ADAPTEC_3950U2:
- {
- ahc_t = AHC_AIC7896;
- ahc_fe = AHC_AIC7896_FE;
- break;
- }
- case PCI_DEVICE_ID_ADAPTEC_2944U:
- case PCI_DEVICE_ID_ADAPTEC_2940U:
- case PCI_DEVICE_ID_ADAPTEC_AIC7880:
- ahc_t = AHC_AIC7880;
- ahc_fe = AHC_AIC7880_FE;
- break;
- case PCI_DEVICE_ID_ADAPTEC_2944:
- case PCI_DEVICE_ID_ADAPTEC_2940:
- case PCI_DEVICE_ID_ADAPTEC_AIC7870:
- ahc_t = AHC_AIC7870;
- ahc_fe = AHC_AIC7870_FE;
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940AU:
- case PCI_DEVICE_ID_ADAPTEC_AIC7860:
- ahc_fe = AHC_AIC7860_FE;
- ahc_t = AHC_AIC7860;
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7895:
- case PCI_DEVICE_ID_ADAPTEC_AIC7895C:
- {
- u_int32_t devconfig;
-
- ahc_t = AHC_AIC7895;
- ahc_fe = AHC_AIC7895_FE;
- devconfig = pci_conf_read(config_id, DEVCONFIG);
- devconfig &= ~SCBSIZE32;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
- break;
- }
- case PCI_DEVICE_ID_ADAPTEC_AIC7855:
- case PCI_DEVICE_ID_ADAPTEC_AIC7850:
- ahc_t = AHC_AIC7850;
- ahc_fe = AHC_AIC7850_FE;
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7810:
- case PCI_DEVICE_ID_ADAPTEC_AIC7815:
- printf("RAID functionality unsupported\n");
- return;
- default:
- break;
- }
-
- /* On all PCI adapters, we allow SCB paging */
- ahc_f |= AHC_PAGESCBS;
- if ((ahc = ahc_alloc(unit, io_port, vaddr, ahc_t|AHC_PCI, ahc_fe, ahc_f,
- shared_scb_data)) == NULL)
- return; /* XXX PCI code should take return status */
-
- ahc->channel = channel;
+ /* Ensure busmastering is enabled */
+ command |= PCIM_CMD_BUSMASTEREN;
+ pci_cfgwrite(config_id, PCIR_COMMAND, command, /*bytes*/1);
/* Allocate a dmatag for our SCB DMA maps */
/* XXX Should be a child of the PCI bus dma tag */
@@ -399,15 +589,22 @@ ahc_pci_attach(pcici_t config_id, int unit)
/*filter*/NULL, /*filterarg*/NULL,
/*maxsize*/MAXBSIZE, /*nsegments*/AHC_NSEG,
/*maxsegsz*/AHC_MAXTRANSFER_SIZE,
- /*flags*/BUS_DMA_ALLOCNOW, &ahc->dmat);
+ /*flags*/BUS_DMA_ALLOCNOW, &parent_dmat);
if (error != 0) {
- printf("%s: Could not allocate DMA tag - error %d\n",
- ahc_name(ahc), error);
- ahc_free(ahc);
+ printf("ahc_pci_attach: Could not allocate DMA tag "
+ "- error %d\n", error);
return;
}
+ /* On all PCI adapters, we allow SCB paging */
+ ahc_f |= AHC_PAGESCBS;
+ if ((ahc = ahc_alloc(unit, io_port, vaddr, parent_dmat,
+ ahc_t|AHC_PCI, ahc_fe, ahc_f,
+ shared_scb_data)) == NULL)
+ return;
+
+ ahc->channel = channel;
/* Store our PCI bus information for use in our PCI error handler */
ahc->pci_config_id = config_id;
@@ -439,7 +636,8 @@ ahc_pci_attach(pcici_t config_id, int unit)
if ((dscommand0 & RAMPS) != 0) {
u_int32_t devconfig;
- devconfig = pci_conf_read(config_id, DEVCONFIG);
+ devconfig = pci_cfgread(config_id, DEVCONFIG,
+ /*bytes*/4);
if ((devconfig & MPORTMODE) != 0) {
/* Single user mode */
@@ -448,7 +646,8 @@ ahc_pci_attach(pcici_t config_id, int unit)
* parity checking
*/
devconfig |= EXTSCBPEN;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
+ pci_cfgwrite(config_id, DEVCONFIG,
+ devconfig, /*bytes*/4);
/*
* Set the bank select apropriately.
@@ -474,7 +673,9 @@ ahc_pci_attach(pcici_t config_id, int unit)
}
} else if ((ahc->chip & AHC_CHIPID_MASK) >= AHC_AIC7870) {
- u_int32_t devconfig = pci_conf_read(config_id, DEVCONFIG);
+ u_int32_t devconfig;
+
+ devconfig = pci_cfgread(config_id, DEVCONFIG, /*bytes*/4);
if ((devconfig & RAMPSM) != 0
&& (devconfig & MPORTMODE) != 0) {
@@ -496,12 +697,14 @@ ahc_pci_attach(pcici_t config_id, int unit)
/* Select external SRAM */
devconfig &= ~SCBRAMSEL;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
+ pci_cfgwrite(config_id, DEVCONFIG,
+ devconfig, /*bytes*/4);
if (ahc_probe_scbs(ahc) == 0) {
/* External ram isn't really there */
devconfig |= SCBRAMSEL;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
+ pci_cfgwrite(config_id, DEVCONFIG,
+ devconfig, /*bytes*/4);
} else if (bootverbose)
printf("%s: External SRAM bank%d\n",
ahc_name(ahc),
@@ -513,6 +716,7 @@ ahc_pci_attach(pcici_t config_id, int unit)
ahc_free(ahc);
return;
}
+
/*
* Protect ourself from spurrious interrupts during
* intialization.
@@ -637,7 +841,7 @@ ahc_pci_attach(pcici_t config_id, int unit)
if (ahc_init(ahc)) {
ahc_free(ahc);
splx(opri);
- return; /* XXX PCI code should take return status */
+ return;
}
/* XXX Crude hack - fix sometime */
@@ -1103,7 +1307,7 @@ acquire_seeprom(struct ahc_softc *ahc, struct seeprom_descriptor *sd)
if ((ahc->features & AHC_SPIOCAP) != 0
&& (ahc_inb(ahc, SPIOCAP) & SEEPROM) == 0)
- return (0);
+ return (0);
/*
* Request access of the memory port. When access is
@@ -1230,4 +1434,177 @@ ahc_pci_intr(struct ahc_softc *ahc)
}
}
+static int
+ahc_aic7850_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7850;
+ *features = AHC_AIC7850_FE;
+ return (0);
+}
+
+static int
+ahc_aic7860_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7860;
+ *features = AHC_AIC7860_FE;
+ return (0);
+}
+
+static int
+ahc_aic7870_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7870;
+ *features = AHC_AIC7870_FE;
+ return (0);
+}
+
+static int
+ahc_aha394X_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7870_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha394XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aha398X_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7870_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha398XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aic7880_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7880;
+ *features = AHC_AIC7880_FE;
+ return (0);
+}
+
+static int
+ahc_aha394XU_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7880_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha394XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aha398XU_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7880_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha398XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aic7890_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7890;
+ *features = AHC_AIC7890_FE;
+ return (0);
+}
+
+static int
+ahc_aic7895_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ u_int32_t devconfig;
+
+ *channel = dev->func == 1 ? 'B' : 'A';
+ *chip = AHC_AIC7895;
+ *features = AHC_AIC7895_FE;
+ devconfig = pci_cfgread(dev, DEVCONFIG, /*bytes*/4);
+ devconfig &= ~SCBSIZE32;
+ pci_cfgwrite(dev, DEVCONFIG, devconfig, /*bytes*/4);
+ return (0);
+}
+
+static int
+ahc_aic7896_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = dev->func == 1 ? 'B' : 'A';
+ *chip = AHC_AIC7896;
+ *features = AHC_AIC7896_FE;
+ return (0);
+}
+
+static int
+ahc_raid_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ printf("RAID functionality unsupported\n");
+ return (ENXIO);
+}
+
+static int
+ahc_aha394XX_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ switch (dev->slot) {
+ case AHC_394X_SLOT_CHANNEL_A:
+ *channel = 'A';
+ break;
+ case AHC_394X_SLOT_CHANNEL_B:
+ *channel = 'B';
+ break;
+ default:
+ printf("adapter at unexpected slot %d\n"
+ "unable to map to a channel\n",
+ dev->slot);
+ }
+ return (0);
+}
+
+static int
+ahc_aha398XX_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ switch (dev->slot) {
+ case AHC_398X_SLOT_CHANNEL_A:
+ *channel = 'A';
+ break;
+ case AHC_398X_SLOT_CHANNEL_B:
+ *channel = 'B';
+ break;
+ case AHC_398X_SLOT_CHANNEL_C:
+ *channel = 'C';
+ break;
+ default:
+ printf("adapter at unexpected slot %d\n"
+ "unable to map to a channel\n",
+ dev->slot);
+ }
+ *flags |= AHC_LARGE_SEEPROM;
+ return (0);
+}
+
#endif /* NPCI > 0 */
diff --git a/sys/pci/bt848_i2c.c b/sys/pci/bt848_i2c.c
index 47cc1d25f091..176d069a837f 100644
--- a/sys/pci/bt848_i2c.c
+++ b/sys/pci/bt848_i2c.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bt848_i2c.c,v 1.2.2.1 1999/05/15 12:25:33 roger Exp $
+ * $Id: bt848_i2c.c,v 1.1 1998/10/31 11:26:38 nsouch Exp $
*
*/
@@ -33,12 +33,6 @@
* From brooktree848.c <fsmp@freefall.org>
*/
-#include "pci.h"
-#include "bktr.h"
-#include "smbus.h"
-
-#if (NBKTR > 0 && NPCI > 0 && NSMBUS > 0)
-
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/systm.h>
@@ -67,7 +61,10 @@
#include "iicbb_if.h"
#include "smbus_if.h"
+#include "pci.h"
+#include "bktr.h"
+#if (NBKTR > 0 && NPCI > 0)
#define I2C_DELAY 40
diff --git a/sys/ufs/ffs/README b/sys/ufs/ffs/README
deleted file mode 100644
index 8a7433b61e9e..000000000000
--- a/sys/ufs/ffs/README
+++ /dev/null
@@ -1,320 +0,0 @@
-Introduction
-
-This package constitutes the alpha distribution of the soft update
-code updates for the fast filesystem.
-
-For More information on what Soft Updates is, see:
-http://www.ece.cmu.edu/~ganger/papers/CSE-TR-254-95/
-
-Status
-
-My `filesystem torture tests' (described below) run for days without
-a hitch (no panic's, hangs, filesystem corruption, or memory leaks).
-However, I have had several panic's reported to me by folks that
-are field testing the code which I have not yet been able to
-reproduce or fix. Although these panic's are rare and do not cause
-filesystem corruption, the code should only be put into production
-on systems where the system administrator is aware that it is being
-run, and knows how to turn it off if problems arise. Thus, you may
-hand out this code to others, but please ensure that this status
-message is included with any distributions. Please also include
-the file ffs_softdep.stub.c in any distributions so that folks that
-cannot abide by the need to redistribute source will not be left
-with a kernel that will not link. It will resolve all the calls
-into the soft update code and simply ignores the request to enable
-them. Thus you will be able to ensure that your other hooks have
-not broken anything and that your kernel is softdep-ready for those
-that wish to use them. Please report problems back to me with
-kernel backtraces of panics if possible. This is massively complex
-code, and people only have to have their filesystems hosed once or
-twice to avoid future changes like the plague. I want to find and
-fix as many bugs as soon as possible so as to get the code rock
-solid before it gets widely released. Please report any bugs that
-you uncover to mckusick@mckusick.com.
-
-Performance
-
-Running the Andrew Benchmarks yields the following raw data:
-
- Phase Normal Softdep What it does
- 1 3s <1s Creating directories
- 2 8s 4s Copying files
- 3 6s 6s Recursive directory stats
- 4 8s 9s Scanning each file
- 5 25s 25s Compilation
-
- Normal: 19.9u 29.2s 0:52.8 135+630io
- Softdep: 20.3u 28.5s 0:47.8 103+363io
-
-Another interesting datapoint are my `filesystem torture tests'.
-They consist of 1000 runs of the andrew benchmarks, 1000 copy and
-removes of /etc with randomly selected pauses of 0-60 seconds
-between each copy and remove, and 500 find from / with randomly
-selected pauses of 100 seconds between each run). The run of the
-torture test compares as follows:
-
-With soft updates: writes: 6 sync, 1,113,686 async; run time 19hr, 50min
-Normal filesystem: writes: 1,459,147 sync, 487,031 async; run time 27hr, 15min
-
-The upshot is 42% less I/O and 28% shorter running time.
-
-Another interesting test point is a full MAKEDEV. Because it runs
-as a shell script, it becomes mostly limited by the execution speed
-of the machine on which it runs. Here are the numbers:
-
-With soft updates:
-
- labrat# time ./MAKEDEV std
- 2.2u 32.6s 0:34.82 100.0% 0+0k 11+36io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Without soft updates:
-
- labrat# time ./MAKEDEV std
- 2.0u 40.5s 0:42.53 100.0% 0+0k 11+1221io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Of course, some of the system time is being pushed
-to the syncer process, but that is a different story.
-
-To show a benchmark designed to highlight the soft update code
-consider a tar of zero-sized files and an rm -rf of a directory tree
-that has at least 50 files or so at each level. Running a test with
-a directory tree containing 28 directories holding 202 empty files
-produces the following numbers:
-
-With soft updates:
-tar: 0.0u 0.5s 0:00.65 76.9% 0+0k 0+44io 0pf+0w (0 sync, 33 async writes)
-rm: 0.0u 0.2s 0:00.20 100.0% 0+0k 0+37io 0pf+0w (0 sync, 72 async writes)
-
-Normal filesystem:
-tar: 0.0u 1.1s 0:07.27 16.5% 0+0k 60+586io 0pf+0w (523 sync, 0 async writes)
-rm: 0.0u 0.5s 0:01.84 29.3% 0+0k 0+318io 0pf+0w (258 sync, 65 async writes)
-
-The large reduction in writes is because inodes are clustered, so
-most of a block gets allocated, then the whole block is written
-out once rather than having the same block written once for each
-inode allocated from it. Similarly each directory block is written
-once rather than once for each new directory entry. Effectively
-what the update code is doing is allocating a bunch of inodes
-and directory entries without writing anything, then ensuring that
-the block containing the inodes is written first followed by the
-directory block that references them. If there were data in the
-files it would further ensure that the data blocks were written
-before their inodes claimed them.
-
-Copyright Restrictions
-
-Please familiarize yourself with the copyright restrictions
-contained at the top of either the sys/ufs/ffs/softdep.h or
-sys/ufs/ffs/ffs_softdep.c file. The key provision is similar
-to the one used by the DB 2.0 package and goes as follows:
-
- Redistributions in any form must be accompanied by information
- on how to obtain complete source code for any accompanying
- software that uses the this software. This source code must
- either be included in the distribution or be available for
- no more than the cost of distribution plus a nominal fee,
- and must be freely redistributable under reasonable
- conditions. For an executable file, complete source code
- means the source code for all modules it contains. It does
- not mean source code for modules or files that typically
- accompany the operating system on which the executable file
- runs, e.g., standard library modules or system header files.
-
-The idea is to allow those of you freely redistributing your source
-to use it while retaining for myself the right to peddle it for
-money to the commercial UNIX vendors. Note that I have included a
-stub file ffs_softdep.c.stub that is freely redistributable so that
-you can put in all the necessary hooks to run the full soft updates
-code, but still allow vendors that want to maintain proprietary
-source to have a working system. I do plan to release the code with
-a `Berkeley style' copyright once I have peddled it around to the
-commercial vendors. If you have concerns about this copyright,
-feel free to contact me with them and we can try to resolve any
-difficulties.
-
-Soft Dependency Operation
-
-The soft update implementation does NOT require ANY changes
-to the on-disk format of your filesystems. Furthermore it is
-not used by default for any filesystems. It must be enabled on
-a filesystem by filesystem basis by running tunefs to set a
-bit in the superblock indicating that the filesystem should be
-managed using soft updates. If you wish to stop using
-soft updates due to performance or reliability reasons,
-you can simply run tunefs on it again to turn off the bit and
-revert to normal operation. The additional dynamic memory load
-placed on the kernel malloc arena is approximately equal to
-the amount of memory used by vnodes plus inodes (for a system
-with 1000 vnodes, the additional peak memory load is about 300K).
-
-Kernel Changes
-
-There are two new changes to the kernel functionality that are not
-contained in in the soft update files. The first is a `trickle
-sync' facility running in the kernel as process 3. This trickle
-sync process replaces the traditional `update' program (which should
-be commented out of the /etc/rc startup script). When a vnode is
-first written it is placed 30 seconds down on the trickle sync
-queue. If it still exists and has dirty data when it reaches the
-top of the queue, it is sync'ed. This approach evens out the load
-on the underlying I/O system and avoids writing short-lived files.
-The papers on trickle-sync tend to favor aging based on buffers
-rather than files. However, I sync on file age rather than buffer
-age because the data structures are much smaller as there are
-typically far fewer files than buffers. Although this can make the
-I/O spikey when a big file times out, it is still much better than
-the wholesale sync's that were happening before. It also adapts
-much better to the soft update code where I want to control
-aging to improve performance (inodes age in 10 seconds, directories
-in 15 seconds, files in 30 seconds). This ensures that most
-dependencies are gone (e.g., inodes are written when directory
-entries want to go to disk) reducing the amount of rollback that
-is needed.
-
-The other main kernel change is to split the vnode freelist into
-two separate lists. One for vnodes that are still being used to
-identify buffers and the other for those vnodes no longer identifying
-any buffers. The latter list is used by getnewvnode in preference
-to the former.
-
-Packaging of Kernel Changes
-
-The sys subdirectory contains the changes and additions to the
-kernel. My goal in writing this code was to minimize the changes
-that need to be made to the kernel. Thus, most of the new code
-is contained in the two new files softdep.h and ffs_softdep.c.
-The rest of the kernel changes are simply inserting hooks to
-call into these two new files. Although there has been some
-structural reorganization of the filesystem code to accommodate
-gathering the information required by the soft update code,
-the actual ordering of filesystem operations when soft updates
-are disabled is unchanged.
-
-The kernel changes are packaged as a set of diffs. As I am
-doing my development in BSD/OS, the diffs are relative to the
-BSD/OS versions of the files. Because BSD/OS recently had
-4.4BSD-Lite2 merged into it, the Lite2 files are a good starting
-point for figuring out the changes. There are 40 files that
-require change plus the two new files. Most of these files have
-only a few lines of changes in them. However, four files have
-fairly extensive changes: kern/vfs_subr.c, ufs/ufs/ufs_lookup.c,
-ufs/ufs/ufs_vnops.c, and ufs/ffs/ffs_alloc.c. For these four
-files, I have provided the original Lite2 version, the Lite2
-version with the diffs merged in, and the diffs between the
-BSD/OS and merged version. Even so, I expect that there will
-be some difficulty in doing the merge; I am certainly willing
-to assist in helping get the code merged into your system.
-
-Packaging of Utility Changes
-
-The utilities subdirectory contains the changes and additions
-to the utilities. There are diffs to three utilities enclosed:
-
- tunefs - add a flag to enable and disable soft updates
-
- mount - print out whether soft updates are enabled and
- also statistics on number of sync and async writes
-
- fsck - tighter checks on acceptable errors and a slightly
- different policy for what to put in lost+found on
- filesystems using soft updates
-
-In addition you should recompile vmstat so as to get reports
-on the 13 new memory types used by the soft update code.
-It is not necessary to use the new version of fsck, however it
-would aid in my debugging if you do. Also, because of the time
-lag between deleting a directory entry and the inode it
-references, you will find a lot more files showing up in your
-lost+found if you do not use the new version. Note that the
-new version checks for the soft update flag in the superblock
-and only uses the new algorithms if it is set. So, it will run
-unchanged on the filesystems that are not using soft updates.
-
-Operation
-
-Once you have booted a kernel that incorporates the soft update
-code and installed the updated utilities, do the following:
-
-1) Comment out the update program in /etc/rc.
-
-2) Run `tunefs -n enable' on one or more test filesystems.
-
-3) Mount these filesystems and then type `mount' to ensure that
- they have been enabled for soft updates.
-
-4) Copy the test directory to a softdep filesystem, chdir into
- it and run `./doit'. You may want to check out each of the
- three subtests individually first: doit1 - andrew benchmarks,
- doit2 - copy and removal of /etc, doit3 - find from /.
-
-====
-Additional notes from Feb 13
-
-hen removing huge directories of files, it is possible to get
-the incore state arbitrarily far ahead of the disk. Maintaining
-all the associated depedency information can exhaust the kernel
-malloc arena. To avoid this senario, I have put some limits on
-the soft update code so that it will not be allowed to rampage
-through all of the kernel memory. I enclose below the relevant
-patches to vnode.h and vfs_subr.c (which allow the soft update
-code to speed up the filesystem syncer process). I have also
-included the diffs for ffs_softdep.c. I hope to make a pass over
-ffs_softdep.c to isolate the differences with my standard version
-so that these diffs are less painful to incorporate.
-
-Since I know you like to play with tuning, I have put the relevant
-knobs on sysctl debug variables. The tuning knobs can be viewed
-with `sysctl debug' and set with `sysctl -w debug.<name>=value'.
-The knobs are as follows:
-
- debug.max_softdeps - limit on any given resource
- debug.tickdelay - ticks to delay before allocating
- debug.max_limit_hit - number of times tickdelay imposed
- debug.rush_requests - number of rush requests to filesystem syncer
-
-The max_softdeps limit is derived from vnodesdesired which in
-turn is sized based on the amount of memory on the machine.
-When the limit is hit, a process requesting a resource first
-tries to speed up the filesystem syncer process. Such a
-request is recorded as a rush_request. After syncdelay / 2
-unserviced rush requests (typically 15) are in the filesystem
-syncers queue (i.e., it is more than 15 seconds behind in its
-work), the process requesting the memory is put to sleep for
-tickdelay seconds. Such a delay is recorded in max_limit_hit.
-Following this delay it is granted its memory without further
-delay. I have tried the following experiments in which I
-delete an MH directory containing 16,703 files:
-
-Run # 1 2 3
-
-max_softdeps 4496 4496 4496
-tickdelay 100 == 1 sec 20 == 0.2 sec 2 == 0.02 sec
-max_limit_hit 16 == 16 sec 27 == 5.4 sec 203 == 4.1 sec
-rush_requests 147 102 93
-run time 57 sec 46 sec 45 sec
-I/O's 781 859 936
-
-When run with no limits, it completes in 40 seconds. So, the
-time spent in delay is directly added to the bottom line.
-Shortening the tick delay does cut down the total running time,
-but at the expense of generating more total I/O operations
-due to the rush orders being sent to the filesystem syncer.
-Although the number of rush orders decreases with a shorter
-tick delay, there are more requests in each order, hence the
-increase in I/O count. Also, although the I/O count does rise
-with a shorter delay, it is still at least an order of magnitude
-less than without soft updates. Anyway, you may want to play
-around with these value to see what works best and to see if
-you can get an insight into how best to tune them. If you get
-out of memory panic's, then you have max_softdeps set too high.
-The max_limit_hit and rush_requests show be reset to zero
-before each run. The minimum legal value for tickdelay is 2
-(if you set it below that, the code will use 2).
-
-
diff --git a/sys/ufs/ffs/softdep.h b/sys/ufs/ffs/softdep.h
deleted file mode 100644
index 5d5ce5ec5cda..000000000000
--- a/sys/ufs/ffs/softdep.h
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * Copyright 1998 Marshall Kirk McKusick. All Rights Reserved.
- *
- * The soft updates code is derived from the appendix of a University
- * of Michigan technical report (Gregory R. Ganger and Yale N. Patt,
- * "Soft Updates: A Solution to the Metadata Update Problem in File
- * Systems", CSE-TR-254-95, August 1995).
- *
- * The following are the copyrights and redistribution conditions that
- * apply to this copy of the soft update software. For a license
- * to use, redistribute or sell the soft update software under
- * conditions other than those described here, please contact the
- * author at one of the following addresses:
- *
- * Marshall Kirk McKusick mckusick@mckusick.com
- * 1614 Oxford Street +1-510-843-9542
- * Berkeley, CA 94709-1608
- * USA
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. None of the names of McKusick, Ganger, Patt, or the University of
- * Michigan may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 4. Redistributions in any form must be accompanied by information on
- * how to obtain complete source code for any accompanying software
- * that uses this software. This source code must either be included
- * in the distribution or be available for no more than the cost of
- * distribution plus a nominal fee, and must be freely redistributable
- * under reasonable conditions. For an executable file, complete
- * source code means the source code for all modules it contains.
- * It does not mean source code for modules or files that typically
- * accompany the operating system on which the executable file runs,
- * e.g., standard library modules or system header files.
- *
- * THIS SOFTWARE IS PROVIDED BY MARSHALL KIRK MCKUSICK ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL MARSHALL KIRK MCKUSICK BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)softdep.h 9.6 (McKusick) 2/25/99
- * $Id: softdep.h,v 1.5 1999/03/02 00:19:47 mckusick Exp $
- */
-
-#include <sys/queue.h>
-
-/*
- * Allocation dependencies are handled with undo/redo on the in-memory
- * copy of the data. A particular data dependency is eliminated when
- * it is ALLCOMPLETE: that is ATTACHED, DEPCOMPLETE, and COMPLETE.
- *
- * ATTACHED means that the data is not currently being written to
- * disk. UNDONE means that the data has been rolled back to a safe
- * state for writing to the disk. When the I/O completes, the data is
- * restored to its current form and the state reverts to ATTACHED.
- * The data must be locked throughout the rollback, I/O, and roll
- * forward so that the rolled back information is never visible to
- * user processes. The COMPLETE flag indicates that the item has been
- * written. For example, a dependency that requires that an inode be
- * written will be marked COMPLETE after the inode has been written
- * to disk. The DEPCOMPLETE flag indicates the completion of any other
- * dependencies such as the writing of a cylinder group map has been
- * completed. A dependency structure may be freed only when both it
- * and its dependencies have completed and any rollbacks that are in
- * progress have finished as indicated by the set of ALLCOMPLETE flags
- * all being set. The two MKDIR flags indicate additional dependencies
- * that must be done when creating a new directory. MKDIR_BODY is
- * cleared when the directory data block containing the "." and ".."
- * entries has been written. MKDIR_PARENT is cleared when the parent
- * inode with the increased link count for ".." has been written. When
- * both MKDIR flags have been cleared, the DEPCOMPLETE flag is set to
- * indicate that the directory dependencies have been completed. The
- * writing of the directory inode itself sets the COMPLETE flag which
- * then allows the directory entry for the new directory to be written
- * to disk. The RMDIR flag marks a dirrem structure as representing
- * the removal of a directory rather than a file. When the removal
- * dependencies are completed, additional work needs to be done
- * (truncation of the "." and ".." entries, an additional decrement
- * of the associated inode, and a decrement of the parent inode). The
- * DIRCHG flag marks a diradd structure as representing the changing
- * of an existing entry rather than the addition of a new one. When
- * the update is complete the dirrem associated with the inode for
- * the old name must be added to the worklist to do the necessary
- * reference count decrement. The GOINGAWAY flag indicates that the
- * data structure is frozen from further change until its dependencies
- * have been completed and its resources freed after which it will be
- * discarded. The IOSTARTED flag prevents multiple calls to the I/O
- * start routine from doing multiple rollbacks. The ONWORKLIST flag
- * shows whether the structure is currently linked onto a worklist.
- */
-#define ATTACHED 0x0001
-#define UNDONE 0x0002
-#define COMPLETE 0x0004
-#define DEPCOMPLETE 0x0008
-#define MKDIR_PARENT 0x0010
-#define MKDIR_BODY 0x0020
-#define RMDIR 0x0040
-#define DIRCHG 0x0080
-#define GOINGAWAY 0x0100
-#define IOSTARTED 0x0200
-#define ONWORKLIST 0x8000
-
-#define ALLCOMPLETE (ATTACHED | COMPLETE | DEPCOMPLETE)
-
-/*
- * The workitem queue.
- *
- * It is sometimes useful and/or necessary to clean up certain dependencies
- * in the background rather than during execution of an application process
- * or interrupt service routine. To realize this, we append dependency
- * structures corresponding to such tasks to a "workitem" queue. In a soft
- * updates implementation, most pending workitems should not wait for more
- * than a couple of seconds, so the filesystem syncer process awakens once
- * per second to process the items on the queue.
- */
-
-/* LIST_HEAD(workhead, worklist); -- declared in buf.h */
-
-/*
- * Each request can be linked onto a work queue through its worklist structure.
- * To avoid the need for a pointer to the structure itself, this structure
- * MUST be declared FIRST in each type in which it appears! If more than one
- * worklist is needed in the structure, then a wk_data field must be added
- * and the macros below changed to use it.
- */
-struct worklist {
- LIST_ENTRY(worklist) wk_list; /* list of work requests */
- unsigned short wk_type; /* type of request */
- unsigned short wk_state; /* state flags */
-};
-#define WK_DATA(wk) ((void *)(wk))
-#define WK_PAGEDEP(wk) ((struct pagedep *)(wk))
-#define WK_INODEDEP(wk) ((struct inodedep *)(wk))
-#define WK_NEWBLK(wk) ((struct newblk *)(wk))
-#define WK_BMSAFEMAP(wk) ((struct bmsafemap *)(wk))
-#define WK_ALLOCDIRECT(wk) ((struct allocdirect *)(wk))
-#define WK_INDIRDEP(wk) ((struct indirdep *)(wk))
-#define WK_ALLOCINDIR(wk) ((struct allocindir *)(wk))
-#define WK_FREEFRAG(wk) ((struct freefrag *)(wk))
-#define WK_FREEBLKS(wk) ((struct freeblks *)(wk))
-#define WK_FREEFILE(wk) ((struct freefile *)(wk))
-#define WK_DIRADD(wk) ((struct diradd *)(wk))
-#define WK_MKDIR(wk) ((struct mkdir *)(wk))
-#define WK_DIRREM(wk) ((struct dirrem *)(wk))
-
-/*
- * Various types of lists
- */
-LIST_HEAD(dirremhd, dirrem);
-LIST_HEAD(diraddhd, diradd);
-LIST_HEAD(newblkhd, newblk);
-LIST_HEAD(inodedephd, inodedep);
-LIST_HEAD(allocindirhd, allocindir);
-LIST_HEAD(allocdirecthd, allocdirect);
-TAILQ_HEAD(allocdirectlst, allocdirect);
-
-/*
- * The "pagedep" structure tracks the various dependencies related to
- * a particular directory page. If a directory page has any dependencies,
- * it will have a pagedep linked to its associated buffer. The
- * pd_dirremhd list holds the list of dirrem requests which decrement
- * inode reference counts. These requests are processed after the
- * directory page with the corresponding zero'ed entries has been
- * written. The pd_diraddhd list maintains the list of diradd requests
- * which cannot be committed until their corresponding inode has been
- * written to disk. Because a directory may have many new entries
- * being created, several lists are maintained hashed on bits of the
- * offset of the entry into the directory page to keep the lists from
- * getting too long. Once a new directory entry has been cleared to
- * be written, it is moved to the pd_pendinghd list. After the new
- * entry has been written to disk it is removed from the pd_pendinghd
- * list, any removed operations are done, and the dependency structure
- * is freed.
- */
-#define DAHASHSZ 6
-#define DIRADDHASH(offset) (((offset) >> 2) % DAHASHSZ)
-struct pagedep {
- struct worklist pd_list; /* page buffer */
-# define pd_state pd_list.wk_state /* check for multiple I/O starts */
- LIST_ENTRY(pagedep) pd_hash; /* hashed lookup */
- struct mount *pd_mnt; /* associated mount point */
- ino_t pd_ino; /* associated file */
- ufs_lbn_t pd_lbn; /* block within file */
- struct dirremhd pd_dirremhd; /* dirrem's waiting for page */
- struct diraddhd pd_diraddhd[DAHASHSZ]; /* diradd dir entry updates */
- struct diraddhd pd_pendinghd; /* directory entries awaiting write */
-};
-
-/*
- * The "inodedep" structure tracks the set of dependencies associated
- * with an inode. One task that it must manage is delayed operations
- * (i.e., work requests that must be held until the inodedep's associated
- * inode has been written to disk). Getting an inode from its incore
- * state to the disk requires two steps to be taken by the filesystem
- * in this order: first the inode must be copied to its disk buffer by
- * the VOP_UPDATE operation; second the inode's buffer must be written
- * to disk. To ensure that both operations have happened in the required
- * order, the inodedep maintains two lists. Delayed operations are
- * placed on the id_inowait list. When the VOP_UPDATE is done, all
- * operations on the id_inowait list are moved to the id_bufwait list.
- * When the buffer is written, the items on the id_bufwait list can be
- * safely moved to the work queue to be processed. A second task of the
- * inodedep structure is to track the status of block allocation within
- * the inode. Each block that is allocated is represented by an
- * "allocdirect" structure (see below). It is linked onto the id_newinoupdt
- * list until both its contents and its allocation in the cylinder
- * group map have been written to disk. Once these dependencies have been
- * satisfied, it is removed from the id_newinoupdt list and any followup
- * actions such as releasing the previous block or fragment are placed
- * on the id_inowait list. When an inode is updated (a VOP_UPDATE is
- * done), the "inodedep" structure is linked onto the buffer through
- * its worklist. Thus, it will be notified when the buffer is about
- * to be written and when it is done. At the update time, all the
- * elements on the id_newinoupdt list are moved to the id_inoupdt list
- * since those changes are now relevant to the copy of the inode in the
- * buffer. Also at update time, the tasks on the id_inowait list are
- * moved to the id_bufwait list so that they will be executed when
- * the updated inode has been written to disk. When the buffer containing
- * the inode is written to disk, any updates listed on the id_inoupdt
- * list are rolled back as they are not yet safe. Following the write,
- * the changes are once again rolled forward and any actions on the
- * id_bufwait list are processed (since those actions are now safe).
- * The entries on the id_inoupdt and id_newinoupdt lists must be kept
- * sorted by logical block number to speed the calculation of the size
- * of the rolled back inode (see explanation in initiate_write_inodeblock).
- * When a directory entry is created, it is represented by a diradd.
- * The diradd is added to the id_inowait list as it cannot be safely
- * written to disk until the inode that it represents is on disk. After
- * the inode is written, the id_bufwait list is processed and the diradd
- * entries are moved to the id_pendinghd list where they remain until
- * the directory block containing the name has been written to disk.
- * The purpose of keeping the entries on the id_pendinghd list is so that
- * the softdep_fsync function can find and push the inode's directory
- * name(s) as part of the fsync operation for that file.
- */
-struct inodedep {
- struct worklist id_list; /* buffer holding inode block */
-# define id_state id_list.wk_state /* inode dependency state */
- LIST_ENTRY(inodedep) id_hash; /* hashed lookup */
- struct fs *id_fs; /* associated filesystem */
- ino_t id_ino; /* dependent inode */
- nlink_t id_nlinkdelta; /* saved effective link count */
- struct dinode *id_savedino; /* saved dinode contents */
- LIST_ENTRY(inodedep) id_deps; /* bmsafemap's list of inodedep's */
- struct buf *id_buf; /* related bmsafemap (if pending) */
- off_t id_savedsize; /* file size saved during rollback */
- struct workhead id_pendinghd; /* entries awaiting directory write */
- struct workhead id_bufwait; /* operations after inode written */
- struct workhead id_inowait; /* operations waiting inode update */
- struct allocdirectlst id_inoupdt; /* updates before inode written */
- struct allocdirectlst id_newinoupdt; /* updates when inode written */
-};
-
-/*
- * A "newblk" structure is attached to a bmsafemap structure when a block
- * or fragment is allocated from a cylinder group. Its state is set to
- * DEPCOMPLETE when its cylinder group map is written. It is consumed by
- * an associated allocdirect or allocindir allocation which will attach
- * themselves to the bmsafemap structure if the newblk's DEPCOMPLETE flag
- * is not set (i.e., its cylinder group map has not been written).
- */
-struct newblk {
- LIST_ENTRY(newblk) nb_hash; /* hashed lookup */
- struct fs *nb_fs; /* associated filesystem */
- ufs_daddr_t nb_newblkno; /* allocated block number */
- int nb_state; /* state of bitmap dependency */
- LIST_ENTRY(newblk) nb_deps; /* bmsafemap's list of newblk's */
- struct bmsafemap *nb_bmsafemap; /* associated bmsafemap */
-};
-
-/*
- * A "bmsafemap" structure maintains a list of dependency structures
- * that depend on the update of a particular cylinder group map.
- * It has lists for newblks, allocdirects, allocindirs, and inodedeps.
- * It is attached to the buffer of a cylinder group block when any of
- * these things are allocated from the cylinder group. It is freed
- * after the cylinder group map is written and the state of its
- * dependencies are updated with DEPCOMPLETE to indicate that it has
- * been processed.
- */
-struct bmsafemap {
- struct worklist sm_list; /* cylgrp buffer */
- struct buf *sm_buf; /* associated buffer */
- struct allocdirecthd sm_allocdirecthd; /* allocdirect deps */
- struct allocindirhd sm_allocindirhd; /* allocindir deps */
- struct inodedephd sm_inodedephd; /* inodedep deps */
- struct newblkhd sm_newblkhd; /* newblk deps */
-};
-
-/*
- * An "allocdirect" structure is attached to an "inodedep" when a new block
- * or fragment is allocated and pointed to by the inode described by
- * "inodedep". The worklist is linked to the buffer that holds the block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ad_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the inode
- * that claims the block. If there was a previous fragment that had been
- * allocated before the file was increased in size, the old fragment may
- * be freed once the inode claiming the new block is written to disk.
- * This ad_fragfree request is attached to the id_inowait list of the
- * associated inodedep (pointed to by ad_inodedep) for processing after
- * the inode is written.
- */
-struct allocdirect {
- struct worklist ad_list; /* buffer holding block */
-# define ad_state ad_list.wk_state /* block pointer state */
- TAILQ_ENTRY(allocdirect) ad_next; /* inodedep's list of allocdirect's */
- ufs_lbn_t ad_lbn; /* block within file */
- ufs_daddr_t ad_newblkno; /* new value of block pointer */
- ufs_daddr_t ad_oldblkno; /* old value of block pointer */
- long ad_newsize; /* size of new block */
- long ad_oldsize; /* size of old block */
- LIST_ENTRY(allocdirect) ad_deps; /* bmsafemap's list of allocdirect's */
- struct buf *ad_buf; /* cylgrp buffer (if pending) */
- struct inodedep *ad_inodedep; /* associated inodedep */
- struct freefrag *ad_freefrag; /* fragment to be freed (if any) */
-};
-
-/*
- * A single "indirdep" structure manages all allocation dependencies for
- * pointers in an indirect block. The up-to-date state of the indirect
- * block is stored in ir_savedata. The set of pointers that may be safely
- * written to the disk is stored in ir_safecopy. The state field is used
- * only to track whether the buffer is currently being written (in which
- * case it is not safe to update ir_safecopy). Ir_deplisthd contains the
- * list of allocindir structures, one for each block that needs to be
- * written to disk. Once the block and its bitmap allocation have been
- * written the safecopy can be updated to reflect the allocation and the
- * allocindir structure freed. If ir_state indicates that an I/O on the
- * indirect block is in progress when ir_safecopy is to be updated, the
- * update is deferred by placing the allocindir on the ir_donehd list.
- * When the I/O on the indirect block completes, the entries on the
- * ir_donehd list are processed by updating their corresponding ir_safecopy
- * pointers and then freeing the allocindir structure.
- */
-struct indirdep {
- struct worklist ir_list; /* buffer holding indirect block */
-# define ir_state ir_list.wk_state /* indirect block pointer state */
- caddr_t ir_saveddata; /* buffer cache contents */
- struct buf *ir_savebp; /* buffer holding safe copy */
- struct allocindirhd ir_donehd; /* done waiting to update safecopy */
- struct allocindirhd ir_deplisthd; /* allocindir deps for this block */
-};
-
-/*
- * An "allocindir" structure is attached to an "indirdep" when a new block
- * is allocated and pointed to by the indirect block described by the
- * "indirdep". The worklist is linked to the buffer that holds the new block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ai_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the entry in
- * the indirect block that claims the block; the "allocindir" dependency
- * can then be freed as it is no longer applicable.
- */
-struct allocindir {
- struct worklist ai_list; /* buffer holding indirect block */
-# define ai_state ai_list.wk_state /* indirect block pointer state */
- LIST_ENTRY(allocindir) ai_next; /* indirdep's list of allocindir's */
- int ai_offset; /* pointer offset in indirect block */
- ufs_daddr_t ai_newblkno; /* new block pointer value */
- ufs_daddr_t ai_oldblkno; /* old block pointer value */
- struct freefrag *ai_freefrag; /* block to be freed when complete */
- struct indirdep *ai_indirdep; /* address of associated indirdep */
- LIST_ENTRY(allocindir) ai_deps; /* bmsafemap's list of allocindir's */
- struct buf *ai_buf; /* cylgrp buffer (if pending) */
-};
-
-/*
- * A "freefrag" structure is attached to an "inodedep" when a previously
- * allocated fragment is replaced with a larger fragment, rather than extended.
- * The "freefrag" structure is constructed and attached when the replacement
- * block is first allocated. It is processed after the inode claiming the
- * bigger block that replaces it has been written to disk. Note that the
- * ff_state field is is used to store the uid, so may lose data. However,
- * the uid is used only in printing an error message, so is not critical.
- * Keeping it in a short keeps the data structure down to 32 bytes.
- */
-struct freefrag {
- struct worklist ff_list; /* id_inowait or delayed worklist */
-# define ff_state ff_list.wk_state /* owning user; should be uid_t */
- struct vnode *ff_devvp; /* filesystem device vnode */
- struct fs *ff_fs; /* addr of superblock */
- ufs_daddr_t ff_blkno; /* fragment physical block number */
- long ff_fragsize; /* size of fragment being deleted */
- ino_t ff_inum; /* owning inode number */
-};
-
-/*
- * A "freeblks" structure is attached to an "inodedep" when the
- * corresponding file's length is reduced to zero. It records all
- * the information needed to free the blocks of a file after its
- * zero'ed inode has been written to disk.
- */
-struct freeblks {
- struct worklist fb_list; /* id_inowait or delayed worklist */
- ino_t fb_previousinum; /* inode of previous owner of blocks */
- struct vnode *fb_devvp; /* filesystem device vnode */
- struct fs *fb_fs; /* addr of superblock */
- off_t fb_oldsize; /* previous file size */
- off_t fb_newsize; /* new file size */
- int fb_chkcnt; /* used to check cnt of blks released */
- uid_t fb_uid; /* uid of previous owner of blocks */
- ufs_daddr_t fb_dblks[NDADDR]; /* direct blk ptrs to deallocate */
- ufs_daddr_t fb_iblks[NIADDR]; /* indirect blk ptrs to deallocate */
-};
-
-/*
- * A "freefile" structure is attached to an inode when its
- * link count is reduced to zero. It marks the inode as free in
- * the cylinder group map after the zero'ed inode has been written
- * to disk and any associated blocks and fragments have been freed.
- */
-struct freefile {
- struct worklist fx_list; /* id_inowait or delayed worklist */
- mode_t fx_mode; /* mode of inode */
- ino_t fx_oldinum; /* inum of the unlinked file */
- struct vnode *fx_devvp; /* filesystem device vnode */
- struct fs *fx_fs; /* addr of superblock */
-};
-
-/*
- * A "diradd" structure is linked to an "inodedep" id_inowait list when a
- * new directory entry is allocated that references the inode described
- * by "inodedep". When the inode itself is written (either the initial
- * allocation for new inodes or with the increased link count for
- * existing inodes), the COMPLETE flag is set in da_state. If the entry
- * is for a newly allocated inode, the "inodedep" structure is associated
- * with a bmsafemap which prevents the inode from being written to disk
- * until the cylinder group has been updated. Thus the da_state COMPLETE
- * flag cannot be set until the inode bitmap dependency has been removed.
- * When creating a new file, it is safe to write the directory entry that
- * claims the inode once the referenced inode has been written. Since
- * writing the inode clears the bitmap dependencies, the DEPCOMPLETE flag
- * in the diradd can be set unconditionally when creating a file. When
- * creating a directory, there are two additional dependencies described by
- * mkdir structures (see their description below). When these dependencies
- * are resolved the DEPCOMPLETE flag is set in the diradd structure.
- * If there are multiple links created to the same inode, there will be
- * a separate diradd structure created for each link. The diradd is
- * linked onto the pg_diraddhd list of the pagedep for the directory
- * page that contains the entry. When a directory page is written,
- * the pg_diraddhd list is traversed to rollback any entries that are
- * not yet ready to be written to disk. If a directory entry is being
- * changed (by rename) rather than added, the DIRCHG flag is set and
- * the da_previous entry points to the entry that will be "removed"
- * once the new entry has been committed. During rollback, entries
- * with da_previous are replaced with the previous inode number rather
- * than zero.
- *
- * The overlaying of da_pagedep and da_previous is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. If a
- * da_previous entry is present, the pointer to its pagedep is available
- * in the associated dirrem entry. If the DIRCHG flag is set, the
- * da_previous entry is valid; if not set the da_pagedep entry is valid.
- * The DIRCHG flag never changes; it is set when the structure is created
- * if appropriate and is never cleared.
- */
-struct diradd {
- struct worklist da_list; /* id_inowait or id_pendinghd list */
-# define da_state da_list.wk_state /* state of the new directory entry */
- LIST_ENTRY(diradd) da_pdlist; /* pagedep holding directory block */
- doff_t da_offset; /* offset of new dir entry in dir blk */
- ino_t da_newinum; /* inode number for the new dir entry */
- union {
- struct dirrem *dau_previous; /* entry being replaced in dir change */
- struct pagedep *dau_pagedep; /* pagedep dependency for addition */
- } da_un;
-};
-#define da_previous da_un.dau_previous
-#define da_pagedep da_un.dau_pagedep
-
-/*
- * Two "mkdir" structures are needed to track the additional dependencies
- * associated with creating a new directory entry. Normally a directory
- * addition can be committed as soon as the newly referenced inode has been
- * written to disk with its increased link count. When a directory is
- * created there are two additional dependencies: writing the directory
- * data block containing the "." and ".." entries (MKDIR_BODY) and writing
- * the parent inode with the increased link count for ".." (MKDIR_PARENT).
- * These additional dependencies are tracked by two mkdir structures that
- * reference the associated "diradd" structure. When they have completed,
- * they set the DEPCOMPLETE flag on the diradd so that it knows that its
- * extra dependencies have been completed. The md_state field is used only
- * to identify which type of dependency the mkdir structure is tracking.
- * It is not used in the mainline code for any purpose other than consistency
- * checking. All the mkdir structures in the system are linked together on
- * a list. This list is needed so that a diradd can find its associated
- * mkdir structures and deallocate them if it is prematurely freed (as for
- * example if a mkdir is immediately followed by a rmdir of the same directory).
- * Here, the free of the diradd must traverse the list to find the associated
- * mkdir structures that reference it. The deletion would be faster if the
- * diradd structure were simply augmented to have two pointers that referenced
- * the associated mkdir's. However, this would increase the size of the diradd
- * structure from 32 to 64-bits to speed a very infrequent operation.
- */
-struct mkdir {
- struct worklist md_list; /* id_inowait or buffer holding dir */
-# define md_state md_list.wk_state /* type: MKDIR_PARENT or MKDIR_BODY */
- struct diradd *md_diradd; /* associated diradd */
- struct buf *md_buf; /* MKDIR_BODY: buffer holding dir */
- LIST_ENTRY(mkdir) md_mkdirs; /* list of all mkdirs */
-};
-LIST_HEAD(mkdirlist, mkdir) mkdirlisthd;
-
-/*
- * A "dirrem" structure describes an operation to decrement the link
- * count on an inode. The dirrem structure is attached to the pg_dirremhd
- * list of the pagedep for the directory page that contains the entry.
- * It is processed after the directory page with the deleted entry has
- * been written to disk.
- *
- * The overlaying of dm_pagedep and dm_dirinum is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. It works
- * because they are never used concurrently.
- */
-struct dirrem {
- struct worklist dm_list; /* delayed worklist */
-# define dm_state dm_list.wk_state /* state of the old directory entry */
- LIST_ENTRY(dirrem) dm_next; /* pagedep's list of dirrem's */
- struct mount *dm_mnt; /* associated mount point */
- ino_t dm_oldinum; /* inum of the removed dir entry */
- union {
- struct pagedep *dmu_pagedep; /* pagedep dependency for remove */
- ino_t dmu_dirinum; /* parent inode number (for rmdir) */
- } dm_un;
-};
-#define dm_pagedep dm_un.dmu_pagedep
-#define dm_dirinum dm_un.dmu_dirinum