changeset 1000:dd54117d55b1

PSARC 2005/440 Atheros 802.11b/g driver 5050300 Solaris need Atheros AR5212 WiFi driver
author xc151355
date Sun, 27 Nov 2005 19:11:23 -0800
parents e4fc41bb3bfb
children 991c73813ffc
files usr/src/pkgdefs/Makefile usr/src/pkgdefs/SUNWatheros/Makefile usr/src/pkgdefs/SUNWatheros/depend usr/src/pkgdefs/SUNWatheros/pkginfo.tmpl usr/src/pkgdefs/SUNWatheros/postinstall usr/src/pkgdefs/SUNWatheros/postremove usr/src/pkgdefs/SUNWatheros/prototype_com usr/src/pkgdefs/SUNWatheros/prototype_i386 usr/src/uts/common/Makefile.files usr/src/uts/common/Makefile.rules usr/src/uts/common/io/ath/LICENSE usr/src/uts/common/io/ath/ath_aux.c usr/src/uts/common/io/ath/ath_aux.h usr/src/uts/common/io/ath/ath_hal.h usr/src/uts/common/io/ath/ath_ieee80211.c usr/src/uts/common/io/ath/ath_ieee80211.h usr/src/uts/common/io/ath/ath_impl.h usr/src/uts/common/io/ath/ath_main.c usr/src/uts/common/io/ath/ath_osdep.c usr/src/uts/common/io/ath/ath_rate.c usr/src/uts/common/io/ath/ath_rate.h usr/src/uts/common/io/ath/ath_wificonfig.c usr/src/uts/common/io/ath/hal_x86_32.o.uu usr/src/uts/common/io/ath/hal_x86_64.o.uu usr/src/uts/intel/Makefile.intel usr/src/uts/intel/ath/Makefile
diffstat 26 files changed, 17172 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/pkgdefs/Makefile	Sun Nov 27 18:29:20 2005 -0800
+++ b/usr/src/pkgdefs/Makefile	Sun Nov 27 19:11:23 2005 -0800
@@ -110,7 +110,8 @@
 	SUNWrmodr \
 	SUNWrmodu \
 	SUNWrtls \
-	SUNWvia823x
+	SUNWvia823x \
+	SUNWatheros
 
 i386_XMODS= \
 	SUNWadpu320 \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/Makefile	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,36 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+include ../Makefile.com
+
+.KEEP_STATE:
+
+all: $(FILES) depend postinstall postremove
+install: all pkg
+
+include ../Makefile.targ
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/depend	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,53 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# This package information file defines software dependencies associated
+# with the pkg.  You can define three types of pkg dependencies with this file:
+#	 P indicates a prerequisite for installation
+#	 I indicates an incompatible package
+#	 R indicates a reverse dependency
+# <pkg.abbr> see pkginfo(4), PKG parameter
+# <name> see pkginfo(4), NAME parameter
+# <version> see pkginfo(4), VERSION parameter
+# <arch> see pkginfo(4), ARCH parameter
+# <type> <pkg.abbr> <name>
+# 	(<arch>)<version>
+# 	(<arch>)<version>
+# 	...
+# <type> <pkg.abbr> <name>
+# ...
+
+P SUNWcar	Core Architecture, (Root)
+P SUNWcakr	Core Solaris Kernel Architecture (Root)
+P SUNWkvm	Core Architecture, (Kvm)
+P SUNWcsr	Core Solaris, (Root)
+P SUNWckr	Core Solaris Kernel (Root)
+P SUNWcnetr	Core Solaris Network Infrastructure (Root)
+P SUNWcsu	Core Solaris, (Usr)
+P SUNWcsd	Core Solaris Devices
+P SUNWcsl	Core Solaris Libraries
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/pkginfo.tmpl	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,46 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+PKG="SUNWatheros"
+NAME="Atheros 802.11b/g Wireless NIC Driver"
+ARCH="ISA"
+VERSION="ONVERS,REV=0.0.0"
+SUNW_PRODNAME="SunOS"
+SUNW_PRODVERS="RELEASE/VERSION"
+SUNW_PKGVERS="1.0"
+SUNW_PKGTYPE="root"
+MAXINST="1000"
+CATEGORY="system"
+VENDOR="Sun Microsystems, Inc."
+DESC="Atheros AR52xx 802.11b/g Wireless NIC Driver"
+CLASSES="none"
+HOTLINE="Please contact your local service provider"
+EMAIL=""
+BASEDIR=/
+SUNW_PKG_ALLZONES="true"
+SUNW_PKG_HOLLOW="true"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/postinstall	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,140 @@
+#! /usr/bin/sh
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+# Driver info
+DRV=ath
+DRVALIAS='"pci168c,13" "pci168c,1014"'
+
+BASEDIR=${BASEDIR:-/}
+
+# Function: check_add_drv()
+#
+# This function will check if add_drv has been executed.
+# If not simply calls add_drv. Otherwise adds entries to
+# driver_aliases, driver_classes and minor_perm if necessary.
+# The syntax of this function is the same as add_drv. 
+
+check_add_drv()
+{
+	CMD=$*
+	shift
+
+	ALIAS=""
+	CLASS=""
+	MPERM=""
+	ALIASDIR=${BASEDIR}/etc/driver_aliases
+	CLASSDIR=${BASEDIR}/etc/driver_classes
+	MPERMDIR=${BASEDIR}/etc/minor_perm
+	while getopts i:c:m opt 2>/dev/null; do
+		case "$opt" in
+			i)	ALIAS=`echo ${OPTARG} | /usr/bin/sed -e "s/'//g"`
+				;;
+			c)	CLASS=${OPTARG}
+				;;
+			m)	MPERM=${OPTARG}
+				;;
+		esac
+	done
+	shift `/usr/bin/expr ${OPTIND} - 1`
+	DRIVER=$1
+
+	# Make sure add_drv has not been previously executed
+	# before attempting to add the driver
+	/usr/bin/egrep -s "^${DRIVER}[ 	]" $BASEDIR/etc/name_to_major
+
+	if [ $? -ne 0 ]; then
+		eval ${CMD}
+		if [ $? -ne 0 ]; then
+			echo "Failed add_drv ${DRIVER}!\n" >&2
+			exit 1
+		fi
+	else
+		# Add driver entry if necessary
+		if [ -n "${ALIAS}" ]; then
+			for i in ${ALIAS}; do
+				/usr/bin/egrep -s "^${DRIVER}[ 	]+$i" ${ALIASDIR}
+				if [ $? -ne 0 ]; then
+					echo "${DRIVER} $i" >> ${ALIASDIR}
+				fi
+			done
+		fi
+
+		if [ -n "${CLASS}" ]; then
+			/usr/bin/egrep -s "^${DRIVER}[ 	]+${CLASS}" ${CLASSDIR}
+			if [ $? -ne 0 ]; then
+				echo "${DRIVER}\t${CLASS}" >> ${CLASSDIR}
+			fi
+		fi
+
+		if [ -n "${MPERM}" ]; then
+			/usr/bin/egrep -s "^${DRIVER}:" ${MPERMDIR}
+			if [ $? -ne 0 ]; then
+				echo "${DRIVER}:${PERM}" >> ${MPERMDIR}
+			fi
+		fi
+	fi
+}
+
+# Is the hardware there?
+hw_exists=0
+CLEANALIAS=`echo ${DRVALIAS} | /usr/bin/sed -e 's/\"//g'`
+for i in ${CLEANALIAS}
+do
+	prtconf -v | /usr/bin/egrep -s $i
+	if [ $? -eq 0 ]
+	then
+		hw_exists=1
+	fi
+done
+
+# Only attempt to attach the driver on a running
+# system with the hardware present
+if [ "$BASEDIR" = "/" ]
+then
+	case ${hw_exists} in
+		# On a running system with no hardware
+		# modify the system files only
+		0)	ADD_DRV="add_drv -n"
+			;;
+		# On a running system with hardware
+		# modify the system files and attach the driver
+		1)	ADD_DRV="add_drv"
+			;;
+	esac
+else
+	# On a client
+	# modify the sytem files and touch /reconfigure
+	# for reconfigure reboot
+	ADD_DRV="add_drv -b ${BASEDIR}"
+fi
+
+ARCH=`uname -p`
+if [ ${ARCH} = "i386" ]; then
+	check_add_drv ${ADD_DRV} -i "'${DRVALIAS}'" ${DRV}
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/postremove	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,52 @@
+#! /usr/bin/sh
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+DRV=ath
+BASEDIR=${BASEDIR:-/}
+
+# Select the correct rem_drv options to execute.
+# Only attempt to unload the driver on a running system
+if [ "$BASEDIR" = "/" ]; then
+	REM_DRV="rem_drv"
+else
+	REM_DRV="rem_drv -b ${BASEDIR}"
+fi
+
+# Make sure rem_drv has not been previously executed
+# before attempting to remove the driver
+/usr/bin/egrep -s "^${DRV}[ 	]" $BASEDIR/etc/name_to_major
+if [ $? -eq 0 ]; then
+	${REM_DRV} ${DRV}
+        if [ $? -ne 0 ]; then
+		echo "Failed rem_drv ${DRV}!\n" >&2
+                exit 1
+        fi
+fi
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/prototype_com	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,48 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+#
+# This required package information file contains a list of package contents.
+# The 'pkgmk' command uses this file to identify the contents of a package
+# and their location on the development machine when building the package.
+# Can be created via a text editor or through use of the 'pkgproto' command.
+
+#!search <pathname pathname ...>        # where to find pkg objects
+#!include <filename>                    # include another 'prototype' file
+#!default <mode> <owner> <group>        # default used if not specified on entry
+#!<param>=<value>                       # puts parameter in pkg environment
+
+#
+# SUNWatheros
+#
+
+i pkginfo
+i copyright
+i depend
+i postinstall
+i postremove
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/pkgdefs/SUNWatheros/prototype_i386	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,53 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+
+#
+# This required package information file contains a list of package contents.
+# The 'pkgmk' command uses this file to identify the contents of a package
+# and their location on the development machine when building the package.
+# Can be created via a text editor or through use of the 'pkgproto' command.
+
+#!search <pathname pathname ...>        # where to find pkg objects
+#!include <filename>                    # include another 'prototype' file
+#!default <mode> <owner> <group>        # default used if not specified on entry
+#!<param>=<value>                       # puts parameter in pkg environment
+
+#
+# SUNWatheros
+#
+
+# Include ISA independent files (prototype_com)
+#
+!include prototype_com
+
+# Atheros IEEE80211a/b/g NIC driver
+d none kernel 0755 root sys
+d none kernel/drv 0755 root sys
+f none kernel/drv/ath 0755 root sys
+d none kernel/drv/amd64 0755 root sys
+f none kernel/drv/amd64/ath 0755 root sys
--- a/usr/src/uts/common/Makefile.files	Sun Nov 27 18:29:20 2005 -0800
+++ b/usr/src/uts/common/Makefile.files	Sun Nov 27 19:11:23 2005 -0800
@@ -1294,6 +1294,9 @@
 		e1000g_tx.o e1000g_rx.o e1000g_stat.o
 RGE_OBJS += rge_main.o rge_chip.o rge_ndd.o rge_kstats.o rge_log.o rge_rxtx.o
 
+ATH_OBJS += ath_aux.o ath_ieee80211.o ath_main.o ath_osdep.o \
+		ath_rate.o ath_wificonfig.o
+
 #
 #	Build up defines and paths.
 #
--- a/usr/src/uts/common/Makefile.rules	Sun Nov 27 18:29:20 2005 -0800
+++ b/usr/src/uts/common/Makefile.rules	Sun Nov 27 19:11:23 2005 -0800
@@ -412,6 +412,10 @@
 	$(COMPILE.c) -o $@ $<
 	$(CTFCONVERT_O)
 
+$(OBJS_DIR)/%.o:               $(UTSBASE)/common/io/ath/%.c
+	$(COMPILE.c) -o $@ $<
+	$(CTFCONVERT_O)
+
 $(OBJS_DIR)/%.o:		$(UTSBASE)/common/io/audio/legacy/diaudio/%.c
 	$(COMPILE.c) -o $@ $<
 	$(CTFCONVERT_O)
@@ -1188,6 +1192,9 @@
 $(LINTS_DIR)/%.ln:		$(UTSBASE)/common/io/sbp2/%.c
 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
 
+$(LINTS_DIR)/%.ln:              $(UTSBASE)/common/io/ath/%.c
+	@($(LHEAD) $(LINT.c) $< $(LTAIL))
+
 $(LINTS_DIR)/%.ln:		$(UTSBASE)/common/io/audio/legacy/diaudio/%.c
 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/LICENSE	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,74 @@
+# ident	"%Z%%M%	%I%	%E% SMI"
+
+SOLARIS WIRELESS DRIVER FOR THE ATHEROS 52XX CHIPSET (ATH)
+
+LICENSE AGREEMENT
+
+Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+Use is subject to license terms.
+Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+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, without modification.
+2. Redistributions in binary form must reproduce at minimum a disclaimer
+   similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and
+   any redistribution must be conditioned upon including a substantially
+   similar Disclaimer requirement for further binary redistribution.
+3. Neither the names of the above-listed copyright holders nor the names
+   of any contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+NO WARRANTY
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
+BE LIABLE FOR 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 DAMAGES.
+
+-------------------------------------------------------------------------------
+
+License for the HAL (Hardware Abstraction Layer) component:
+
+Copyright (c) 2002-2005 Sam Leffler, Errno Consulting, Atheros Communications,
+Inc. All rights reserved.
+
+Use is subject to license terms.
+
+Redistribution and use in source and binary forms are permitted provided that
+the following conditions are met:
+
+1. The materials contained herein are unmodified and are used unmodified.
+2. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following NO ''WARRANTY'' disclaimer below
+   (''Disclaimer''), without modification.
+3. Redistributions in binary form must reproduce at minimum a disclaimer
+   similar to the Disclaimer below and any redistribution must be conditioned
+   upon including a substantially similar Disclaimer requirement for further
+   binary redistribution.
+4. Neither the names of the above-listed copyright holders nor the names of
+   any contributors may be used to endorse or promote product derived from
+   this software without specific prior written permission.
+
+NO WARRANTY
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS''
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_aux.c	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,601 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/stream.h>
+#include <sys/termio.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/cmn_err.h>
+#include <sys/stropts.h>
+#include <sys/strsubr.h>
+#include <sys/strtty.h>
+#include <sys/kbio.h>
+#include <sys/cred.h>
+#include <sys/stat.h>
+#include <sys/consdev.h>
+#include <sys/kmem.h>
+#include <sys/modctl.h>
+#include <sys/ddi.h>
+#include <sys/sunddi.h>
+#include <sys/pci.h>
+#include <sys/errno.h>
+#include <sys/gld.h>
+#include <sys/dlpi.h>
+#include <sys/ethernet.h>
+#include <sys/list.h>
+#include <sys/byteorder.h>
+#include <sys/strsun.h>
+#include <inet/common.h>
+#include <inet/nd.h>
+#include <inet/mi.h>
+#include <inet/wifi_ioctl.h>
+#include "ath_hal.h"
+#include "ath_impl.h"
+#include "ath_ieee80211.h"
+
+static const char *acnames[] = {
+	"WME_AC_BE",
+	"WME_AC_BK",
+	"WME_AC_VI",
+	"WME_AC_VO",
+	"WME_UPSD"
+};
+
+extern void ath_setup_desc(ath_t *asc, struct ath_buf *bf);
+
+uint32_t
+ath_calcrxfilter(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+	uint32_t rfilt;
+
+	rfilt = (ATH_HAL_GETRXFILTER(ah) & HAL_RX_FILTER_PHYERR)
+	    | HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST;
+	if (isc->isc_opmode != IEEE80211_M_STA)
+		rfilt |= HAL_RX_FILTER_PROBEREQ;
+	if (isc->isc_opmode != IEEE80211_M_HOSTAP &&
+	    (asc->asc_promisc & GLD_MAC_PROMISC_PHYS))	/* promiscuous */
+		rfilt |= HAL_RX_FILTER_PROM;
+	if (isc->isc_opmode == IEEE80211_M_STA ||
+	    isc->isc_opmode == IEEE80211_M_IBSS ||
+	    isc->isc_state == IEEE80211_S_SCAN)
+		rfilt |= HAL_RX_FILTER_BEACON;
+	return (rfilt);
+}
+
+static int
+ath_set_data_queue(ath_t *asc, int ac, int haltype)
+{
+	HAL_TXQ_INFO qi;
+	int qnum;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ath_txq *txq;
+
+	if (ac >= ATH_N(asc->asc_ac2q)) {
+		ATH_DEBUG((ATH_DBG_AUX, "ath: ath_set_data_queue(): "
+		    "ac %u out of range, max %u!\n",
+		    ac, ATH_N(asc->asc_ac2q)));
+		return (1);
+	}
+	(void) memset(&qi, 0, sizeof (qi));
+	qi.tqi_subtype = haltype;
+	/*
+	 * Enable interrupts only for EOL and DESC conditions.
+	 * We mark tx descriptors to receive a DESC interrupt
+	 * when a tx queue gets deep; otherwise waiting for the
+	 * EOL to reap descriptors.  Note that this is done to
+	 * reduce interrupt load and this only defers reaping
+	 * descriptors, never transmitting frames.  Aside from
+	 * reducing interrupts this also permits more concurrency.
+	 * The only potential downside is if the tx queue backs
+	 * up in which case the top half of the kernel may backup
+	 * due to a lack of tx descriptors.
+	 */
+	qi.tqi_qflags = TXQ_FLAG_TXEOLINT_ENABLE | TXQ_FLAG_TXDESCINT_ENABLE;
+	qnum = ATH_HAL_SETUPTXQUEUE(ah, HAL_TX_QUEUE_DATA, &qi);
+	if (qnum == -1) {
+		ATH_DEBUG((ATH_DBG_AUX, "ath: ath_set_data_queue(): "
+		    "Unable to setup hardware queue for %s traffic!\n",
+		    acnames[ac]));
+		return (1);
+	}
+	if (qnum >= ATH_N(asc->asc_txq)) {
+		ATH_DEBUG((ATH_DBG_AUX, "ath: ath_set_data_queue(): "
+		    "hal qnum %u out of range, max %u!\n",
+		    qnum, ATH_N(asc->asc_txq)));
+		return (1);
+	}
+	if (!ATH_TXQ_SETUP(asc, qnum)) {
+		txq = &asc->asc_txq[qnum];
+		txq->axq_qnum = qnum;
+		txq->axq_depth = 0;
+		txq->axq_intrcnt = 0;
+		txq->axq_link = NULL;
+		list_create(&txq->axq_list, sizeof (struct ath_buf),
+		    offsetof(struct ath_buf, bf_node));
+		mutex_init(&txq->axq_lock, NULL, MUTEX_DRIVER, NULL);
+		asc->asc_txqsetup |= 1<<qnum;
+	}
+	asc->asc_ac2q[ac] = &asc->asc_txq[qnum];
+	return (0);
+}
+
+int
+ath_txq_setup(ath_t *asc)
+{
+	if (ath_set_data_queue(asc, WME_AC_BE, HAL_WME_AC_BK) ||
+	    ath_set_data_queue(asc, WME_AC_BK, HAL_WME_AC_BE) ||
+	    ath_set_data_queue(asc, WME_AC_VI, HAL_WME_AC_VI) ||
+	    ath_set_data_queue(asc, WME_AC_VO, HAL_WME_AC_VO)) {
+		return (1);
+	}
+
+	return (0);
+}
+
+void
+ath_setcurmode(ath_t *asc, enum ieee80211_phymode mode)
+{
+	const HAL_RATE_TABLE *rt;
+	int i;
+
+	for (i = 0; i < sizeof (asc->asc_rixmap); i++)
+		asc->asc_rixmap[i] = 0xff;
+
+	rt = asc->asc_rates[mode];
+	ASSERT(rt != NULL);
+
+	for (i = 0; i < rt->rateCount; i++)
+		asc->asc_rixmap[rt->info[i].dot11Rate & IEEE80211_RATE_VAL] = i;
+
+	asc->asc_currates = rt;
+	asc->asc_curmode = mode;
+}
+
+/* Set correct parameters for a certain mode */
+void
+ath_mode_init(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+	uint32_t rfilt;
+
+	/* configure rx filter */
+	rfilt = ath_calcrxfilter(asc);
+	ATH_HAL_SETRXFILTER(ah, rfilt);
+	ATH_HAL_SETOPMODE(ah);
+	ATH_HAL_SETMCASTFILTER(ah, asc->asc_mfilt[0], asc->asc_mfilt[1]);
+	ATH_DEBUG((ATH_DBG_AUX, "ath: ath_mode_init(): "
+	    "mode =%d RX filter 0x%x, MC filter %08x:%08x\n",
+	    isc->isc_opmode, rfilt,
+	    asc->asc_mfilt[0], asc->asc_mfilt[1]));
+}
+
+
+/*
+ * Disable the receive h/w in preparation for a reset.
+ */
+void
+ath_stoprecv(ath_t *asc)
+{
+	ATH_HAL_STOPPCURECV(asc->asc_ah);	/* disable PCU */
+	ATH_HAL_SETRXFILTER(asc->asc_ah, 0);	/* clear recv filter */
+	ATH_HAL_STOPDMARECV(asc->asc_ah);	/* disable DMA engine */
+	drv_usecwait(3000);
+
+	ATH_DEBUG((ATH_DBG_AUX, "ath: ath_stoprecv(): rx queue %p, link %p\n",
+	    ATH_HAL_GETRXBUF(asc->asc_ah), asc->asc_rxlink));
+	asc->asc_rxlink = NULL;
+}
+
+uint32_t
+ath_chan2flags(ieee80211com_t *isc, struct ieee80211channel *chan)
+{
+	static const uint32_t modeflags[] = {
+	    0,				/* IEEE80211_MODE_AUTO */
+	    CHANNEL_A,			/* IEEE80211_MODE_11A */
+	    CHANNEL_B,			/* IEEE80211_MODE_11B */
+	    CHANNEL_PUREG,		/* IEEE80211_MODE_11G */
+	    CHANNEL_T			/* IEEE80211_MODE_TURBO */
+	};
+	return (modeflags[ieee80211_chan2mode(isc, chan)]);
+}
+
+
+int
+ath_getchannels(ath_t *asc, uint32_t cc, HAL_BOOL outdoor, HAL_BOOL xchanmode)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+	HAL_CHANNEL *chans;
+	int i, ix;
+	uint32_t nchan;
+
+	chans = (HAL_CHANNEL *)
+	    kmem_zalloc(IEEE80211_CHAN_MAX * sizeof (HAL_CHANNEL), KM_SLEEP);
+
+	if (!ath_hal_init_channels(ah, chans, IEEE80211_CHAN_MAX, &nchan,
+	    cc, HAL_MODE_ALL, outdoor, xchanmode)) {
+		ATH_DEBUG((ATH_DBG_AUX, "ath: ath_getchannels(): "
+		    "unable to get channel list\n");
+		kmem_free(chans, IEEE80211_CHAN_MAX * sizeof (HAL_CHANNEL)));
+		return (EINVAL);
+	}
+
+	/*
+	 * Convert HAL channels to ieee80211 ones and insert
+	 * them in the table according to their channel number.
+	 */
+	for (i = 0; i < nchan; i++) {
+		HAL_CHANNEL *c = &chans[i];
+		ix = ath_hal_mhz2ieee(c->channel, c->channelFlags);
+		if (ix > IEEE80211_CHAN_MAX) {
+			ATH_DEBUG((ATH_DBG_AUX, "ath: ath_getchannels(): "
+			    "bad hal channel %u (%u/%x) ignored\n",
+			    ix, c->channel, c->channelFlags));
+			continue;
+		}
+		/* NB: flags are known to be compatible */
+		if (isc->isc_channels[ix].ich_freq == 0) {
+			isc->isc_channels[ix].ich_freq = c->channel;
+			isc->isc_channels[ix].ich_flags = c->channelFlags;
+		} else {
+			/* channels overlap; e.g. 11g and 11b */
+			isc->isc_channels[ix].ich_flags |= c->channelFlags;
+		}
+		if ((c->channelFlags & CHANNEL_G) == CHANNEL_G)
+			asc->asc_have11g = 1;
+	}
+	kmem_free(chans, IEEE80211_CHAN_MAX * sizeof (HAL_CHANNEL));
+	return (0);
+}
+
+static void
+ath_drainq(ath_t *asc, struct ath_txq *txq)
+{
+	struct ath_buf *bf;
+
+	/*
+	 * This assumes output has been stopped.
+	 */
+	for (;;) {
+		mutex_enter(&txq->axq_lock);
+		bf = list_head(&txq->axq_list);
+		if (bf == NULL) {
+			txq->axq_link = NULL;
+			mutex_exit(&txq->axq_lock);
+			break;
+		}
+		list_remove(&txq->axq_list, bf);
+		mutex_exit(&txq->axq_lock);
+		bf->bf_in = NULL;
+		mutex_enter(&asc->asc_txbuflock);
+		list_insert_tail(&asc->asc_txbuf_list, bf);
+		mutex_exit(&asc->asc_txbuflock);
+	}
+}
+
+
+/*
+ * Drain the transmit queues and reclaim resources.
+ */
+void
+ath_draintxq(ath_t *asc)
+{
+	struct ath_hal *ah = asc->asc_ah;
+	struct ath_txq *txq;
+	int i;
+
+	if (!asc->asc_invalid) {
+		for (i = 0; i < HAL_NUM_TX_QUEUES; i++) {
+			if (ATH_TXQ_SETUP(asc, i)) {
+				txq = &asc->asc_txq[i];
+				(void) ATH_HAL_STOPTXDMA(ah, txq->axq_qnum);
+			}
+		}
+	}
+	for (i = 0; i < HAL_NUM_TX_QUEUES; i++) {
+		if (ATH_TXQ_SETUP(asc, i)) {
+			ath_drainq(asc, &asc->asc_txq[i]);
+		}
+	}
+}
+
+
+/* Enable the receive h/w following a reset */
+int
+ath_startrecv(ath_t *asc)
+{
+	struct ath_buf *bf;
+
+	asc->asc_rxlink = NULL;
+
+	bf = list_head(&asc->asc_rxbuf_list);
+	while (bf != NULL) {
+		ath_setup_desc(asc, bf);
+		bf = list_next(&asc->asc_rxbuf_list, bf);
+	}
+
+	bf = list_head(&asc->asc_rxbuf_list);
+	ATH_HAL_PUTRXBUF(asc->asc_ah, bf->bf_daddr);
+	ATH_HAL_RXENA(asc->asc_ah);		/* enable recv descriptors */
+	ath_mode_init(asc);			/* set filters, etc. */
+	ATH_HAL_STARTPCURECV(asc->asc_ah);	/* re-enable PCU/DMA engine */
+	return (0);
+}
+
+/*
+ * Set/change channels.  If the channel is really being changed,
+ * it's done by resetting the chip.  To accomplish this we must
+ * first cleanup any pending DMA.
+ */
+int
+ath_chan_set(ath_t *asc, struct ieee80211channel *chan)
+{
+	struct ath_hal *ah = asc->asc_ah;
+	ieee80211com_t *isc = &asc->asc_isc;
+
+	if (chan != isc->isc_ibss_chan) {
+		HAL_STATUS status;
+		HAL_CHANNEL hchan;
+		enum ieee80211_phymode mode;
+
+		/*
+		 * To switch channels clear any pending DMA operations;
+		 * wait long enough for the RX fifo to drain, reset the
+		 * hardware at the new frequency, and then re-enable
+		 * the relevant bits of the h/w.
+		 */
+		ATH_HAL_INTRSET(ah, 0);		/* disable interrupts */
+		ath_draintxq(asc);		/* clear pending tx frames */
+		ath_stoprecv(asc);		/* turn off frame recv */
+		/*
+		 * Convert to a HAL channel description with
+		 * the flags constrained to reflect the current
+		 * operating mode.
+		 */
+		hchan.channel = chan->ich_freq;
+		hchan.channelFlags = ath_chan2flags(isc, chan);
+		if (!ATH_HAL_RESET(ah, (HAL_OPMODE)isc->isc_opmode,
+		    &hchan, AH_TRUE, &status)) {
+			ATH_DEBUG((ATH_DBG_AUX, "ath: ath_chan_set():"
+			    "unable to reset channel %u (%uMhz)\n",
+			    ieee80211_chan2ieee(isc, chan), chan->ich_freq));
+			return (EIO);
+		}
+
+		/*
+		 * Re-enable rx framework.
+		 */
+		if (ath_startrecv(asc) != 0) {
+			ath_problem("ath: ath_chan_set(): "
+			    "restarting receiving logic failed\n");
+			return (EIO);
+		}
+
+		/*
+		 * Change channels and update the h/w rate map
+		 * if we're switching; e.g. 11a to 11b/g.
+		 */
+		isc->isc_ibss_chan = chan;
+		mode = ieee80211_chan2mode(isc, chan);
+		if (mode != asc->asc_curmode)
+			ath_setcurmode(asc, mode);
+		/*
+		 * Re-enable interrupts.
+		 */
+		ATH_HAL_INTRSET(ah, asc->asc_imask);
+	}
+	return (0);
+}
+
+
+/*
+ * Configure the beacon and sleep timers.
+ *
+ * When operating as an AP this resets the TSF and sets
+ * up the hardware to notify us when we need to issue beacons.
+ *
+ * When operating in station mode this sets up the beacon
+ * timers according to the timestamp of the last received
+ * beacon and the current TSF, configures PCF and DTIM
+ * handling, programs the sleep registers so the hardware
+ * will wakeup in time to receive beacons, and configures
+ * the beacon miss handling so we'll receive a BMISS
+ * interrupt when we stop seeing beacons from the AP
+ * we've associated with.
+ */
+void
+ath_beacon_config(ath_t *asc)
+{
+	struct ath_hal *ah = asc->asc_ah;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in = isc->isc_bss;
+	uint32_t nexttbtt;
+
+	nexttbtt = (ATH_LE_READ_4(in->in_tstamp + 4) << 22) |
+	    (ATH_LE_READ_4(in->in_tstamp) >> 10);
+	nexttbtt += in->in_intval;
+	if (isc->isc_opmode != IEEE80211_M_HOSTAP) {
+		HAL_BEACON_STATE bs;
+		uint32_t bmisstime;
+
+		/* NB: no PCF support right now */
+		bzero(&bs, sizeof (bs));
+		bs.bs_intval = in->in_intval;
+		bs.bs_nexttbtt = nexttbtt;
+		bs.bs_dtimperiod = bs.bs_intval;
+		bs.bs_nextdtim = nexttbtt;
+
+		/*
+		 * Calculate the number of consecutive beacons to miss
+		 * before taking a BMISS interrupt.  The configuration
+		 * is specified in ms, so we need to convert that to
+		 * TU's and then calculate based on the beacon interval.
+		 * Note that we clamp the result to at most 10 beacons.
+		 */
+		bmisstime = (isc->isc_bmisstimeout * 1000) / 1024;
+		bs.bs_bmissthreshold = howmany(bmisstime, in->in_intval);
+		if (bs.bs_bmissthreshold > 10)
+			bs.bs_bmissthreshold = 10;
+		else if (bs.bs_bmissthreshold <= 0)
+			bs.bs_bmissthreshold = 1;
+		/*
+		 * Calculate sleep duration.  The configuration is
+		 * given in ms.  We insure a multiple of the beacon
+		 * period is used.  Also, if the sleep duration is
+		 * greater than the DTIM period then it makes senses
+		 * to make it a multiple of that.
+		 */
+		bs.bs_sleepduration =
+		    roundup((100 * 1000) / 1024, bs.bs_intval);
+		if (bs.bs_sleepduration > bs.bs_dtimperiod)
+			bs.bs_sleepduration =
+			    roundup(bs.bs_sleepduration, bs.bs_dtimperiod);
+
+
+		ATH_DEBUG((ATH_DBG_AUX, "ath: ath_beacon_config(): "
+		    "intval %u nexttbtt %u dtim %u"
+		    " nextdtim %u bmiss %u sleep %u\n",
+		    bs.bs_intval,
+		    bs.bs_nexttbtt,
+		    bs.bs_dtimperiod,
+		    bs.bs_nextdtim,
+		    bs.bs_bmissthreshold,
+		    bs.bs_sleepduration));
+		ATH_HAL_INTRSET(ah, 0);
+		/*
+		 * Reset our tsf so the hardware will update the
+		 * tsf register to reflect timestamps found in
+		 * received beacons.
+		 */
+		ATH_HAL_RESETTSF(ah);
+		ATH_HAL_BEACONTIMERS(ah, &bs);
+		asc->asc_imask |= HAL_INT_BMISS;
+		ATH_HAL_INTRSET(ah, asc->asc_imask);
+	} else {
+		ATH_HAL_INTRSET(ah, 0);
+		ATH_HAL_BEACONINIT(ah, nexttbtt, in->in_intval);
+		asc->asc_imask |= HAL_INT_SWBA;	/* beacon prepare */
+		ATH_HAL_INTRSET(ah, asc->asc_imask);
+	}
+}
+
+
+
+/*
+ * Fill the hardware key cache with key entries.
+ */
+void
+ath_initkeytable(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+	int32_t i;
+
+	for (i = 0; i < IEEE80211_WEP_NKID; i++) {
+		struct ieee80211_wepkey *k = &isc->isc_nw_keys[i];
+		if (k->iwk_len == 0)
+			ATH_HAL_KEYRESET(ah, i);
+		else {
+			HAL_KEYVAL hk;
+
+#ifdef DEBUG
+			char tmp[200], stmp[10];
+			int j;
+			bzero(tmp, 200);
+			bzero(stmp, 10);
+			for (j = 0; j < k->iwk_len; j++) {
+				(void) sprintf(stmp, "0x%02x ", k->iwk_key[j]);
+				(void) strcat(tmp, stmp);
+			}
+			ATH_DEBUG((ATH_DBG_AUX, "ath: ath_initkeytable(): "
+			    "key%d val=%s\n", i, tmp));
+#endif /* DEBUG */
+			bzero(&hk, sizeof (hk));
+			hk.kv_type = HAL_CIPHER_WEP;
+			hk.kv_len = k->iwk_len;
+			bcopy(k->iwk_key, hk.kv_val, k->iwk_len);
+			ATH_HAL_KEYSET(ah, i, &hk);
+		}
+	}
+}
+
+void
+ath_reset(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ieee80211channel *ch;
+	HAL_STATUS status;
+	HAL_CHANNEL hchan;
+
+	/*
+	 * Convert to a HAL channel description with the flags
+	 * constrained to reflect the current operating mode.
+	 */
+	ch = isc->isc_ibss_chan;
+	hchan.channel = ch->ich_freq;
+	hchan.channelFlags = ath_chan2flags(isc, ch);
+
+	ATH_HAL_INTRSET(ah, 0);		/* disable interrupts */
+	ath_draintxq(asc);		/* stop xmit side */
+	if (asc->asc_invalid == 0)
+		ath_stoprecv(asc);		/* stop recv side */
+	/* indicate channel change so we do a full reset */
+	if (!ATH_HAL_RESET(ah, (HAL_OPMODE)isc->isc_opmode, &hchan,
+	    AH_TRUE, &status)) {
+		ath_problem("ath: ath_reset(): "
+		    "reseting hardware failed, HAL status %u\n", status);
+	}
+	if (asc->asc_invalid == 0) {
+		ath_initkeytable(asc);
+		if (ath_startrecv(asc) != 0)	/* restart recv */
+			ath_problem("ath: ath_reset(): "
+			    "starting receiving logic failed\n");
+		if (isc->isc_state == IEEE80211_S_RUN) {
+			ath_beacon_config(asc);	/* restart beacons */
+		}
+		ATH_HAL_INTRSET(ah, asc->asc_imask);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_aux.h	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ */
+
+#ifndef _ATH_AUX_H
+#define	_ATH_AUX_H
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "ath_hal.h"
+#include "ath_ieee80211.h"
+#include "ath_impl.h"
+
+uint32_t ath_calcrxfilter(ath_t *asc);
+void ath_beacon_config(ath_t *asc);
+void ath_reset(ath_t *asc);
+int32_t ath_startrecv(ath_t *asc);
+void ath_stoprecv(ath_t *asc);
+uint32_t ath_chan2flags(ieee80211com_t *isc,
+    struct ieee80211channel *chan);
+int32_t ath_getchannels(ath_t *asc, uint32_t cc,
+    HAL_BOOL outdoor, HAL_BOOL xchanmode);
+int32_t ath_chan_set(ath_t *asc, struct ieee80211channel *chan);
+int ath_txq_setup(ath_t *asc);
+void ath_rate_setup(ath_t *asc, uint32_t mode);
+void ath_setcurmode(ath_t *asc, enum ieee80211_phymode mode);
+void ath_mode_init(ath_t *asc);
+void ath_draintxq(ath_t *asc);
+void ath_initkeytable(ath_t *asc);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ATH_AUX_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_hal.h	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,973 @@
+/*
+ * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting, Atheros
+ * Communications, Inc.  All rights reserved.
+ *
+ * Use is subject to license terms.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the following conditions are met:
+ * 1. The materials contained herein are unmodified and are used
+ * unmodified.
+ * 2. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following NO
+ * ''WARRANTY'' disclaimer below (''Disclaimer''), without
+ * modification.
+ * 3. Redistributions in binary form must reproduce at minimum a
+ * disclaimer similar to the Disclaimer below and any redistribution
+ * must be conditioned upon including a substantially similar
+ * Disclaimer requirement for further binary redistribution.
+ * 4. Neither the names of the above-listed copyright holders nor the
+ * names of any contributors may be used to endorse or promote
+ * product derived from this software without specific prior written
+ * permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT,
+ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
+ * FOR 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 DAMAGES.
+ *
+ */
+
+#ifndef _ATH_HAL_H
+#define	_ATH_HAL_H
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+/*
+ * ath_hal.h is released by Atheros and used to describe the Atheros
+ * Hardware Access Layer(HAL) interface. All kinds of data structures,
+ * constant definition, APIs declaration are defined here.Clients of
+ * the HAL call ath_hal_attach() to obtain a reference to an ath_hal
+ * structure for use with the device. Hardware-related operations that
+ * follow must call back into the HAL through interface, supplying the
+ * reference as the first parameter.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HAL version of this release */
+#define	HAL_ABI_VERSION	0x04112900	/* YYMMDDnn */
+
+/* HAL data type definition */
+typedef void *		HAL_SOFTC;
+typedef int		HAL_BUS_TAG;
+typedef void *		HAL_BUS_HANDLE;
+typedef uint32_t 	HAL_BUS_ADDR;
+typedef uint16_t 	HAL_CTRY_CODE;	/* country code */
+typedef uint16_t 	HAL_REG_DOMAIN;	/* regulatory domain code */
+
+#define	HAL_NUM_TX_QUEUES	10		/* max number of tx queues */
+
+#define	HAL_BEACON_PERIOD	0x0000ffff	/* beacon interval period */
+#define	HAL_BEACON_ENA		0x00800000	/* beacon xmit enable */
+#define	HAL_BEACON_RESET_TSF	0x01000000	/* clear TSF */
+
+#define	CHANNEL_RAD_INT	0x0001	/* Radar interference detected on channel */
+#define	CHANNEL_CW_INT	0x0002	/* CW interference detected on channel */
+#define	CHANNEL_BUSY	0x0004	/* Busy, occupied or overlap with adjoin chan */
+#define	CHANNEL_TURBO	0x0010	/* Turbo Channel */
+#define	CHANNEL_CCK	0x0020	/* CCK channel */
+#define	CHANNEL_OFDM	0x0040	/* OFDM channel */
+#define	CHANNEL_2GHZ	0x0080	/* 2 GHz spectrum channel. */
+#define	CHANNEL_5GHZ	0x0100	/* 5 GHz spectrum channel */
+#define	CHANNEL_PASSIVE	0x0200	/* Only passive scan allowed in the channel */
+#define	CHANNEL_DYN	0x0400	/* dynamic CCK-OFDM channel */
+#define	CHANNEL_XR	0x0800	/* XR channel */
+#define	CHANNEL_AR	0x8000  /* Software use: radar detected */
+
+#define	CHANNEL_A	(CHANNEL_5GHZ|CHANNEL_OFDM)
+#define	CHANNEL_B	(CHANNEL_2GHZ|CHANNEL_CCK)
+#define	CHANNEL_PUREG	(CHANNEL_2GHZ|CHANNEL_OFDM)
+#define	CHANNEL_G	(CHANNEL_2GHZ|CHANNEL_OFDM)
+#define	CHANNEL_T	(CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_TURBO)
+#define	CHANNEL_108G	(CHANNEL_2GHZ|CHANNEL_OFDM|CHANNEL_TURBO)
+#define	CHANNEL_X	(CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_XR)
+#define	CHANNEL_ALL \
+	(CHANNEL_OFDM|CHANNEL_CCK|CHANNEL_5GHZ|CHANNEL_2GHZ|CHANNEL_TURBO)
+#define	CHANNEL_ALL_NOTURBO 	(CHANNEL_ALL &~ CHANNEL_TURBO)
+
+#define	HAL_RSSI_EP_MULTIPLIER	(1<<7)	/* pow2 to optimize out * and / */
+
+/* flags passed to tx descriptor setup methods */
+#define	HAL_TXDESC_CLRDMASK	0x0001	/* clear destination filter mask */
+#define	HAL_TXDESC_NOACK	0x0002	/* don't wait for ACK */
+#define	HAL_TXDESC_RTSENA	0x0004	/* enable RTS */
+#define	HAL_TXDESC_CTSENA	0x0008	/* enable CTS */
+#define	HAL_TXDESC_INTREQ	0x0010	/* enable per-descriptor interrupt */
+#define	HAL_TXDESC_VEOL		0x0020	/* mark virtual EOL */
+
+/* flags passed to rx descriptor setup methods */
+#define	HAL_RXDESC_INTREQ	0x0020	/* enable per-descriptor interrupt */
+
+/* tx error flags */
+#define	HAL_TXERR_XRETRY	0x01	/* excessive retries */
+#define	HAL_TXERR_FILT		0x02	/* blocked by tx filtering */
+#define	HAL_TXERR_FIFO		0x04	/* fifo underrun */
+#define	HAL_TXSTAT_ALTRATE	0x80	/* alternate xmit rate used */
+
+/* rx error flags */
+#define	HAL_RXERR_CRC		0x01	/* CRC error on frame */
+#define	HAL_RXERR_PHY		0x02	/* PHY error, rs_phyerr is valid */
+#define	HAL_RXERR_FIFO		0x04	/* fifo overrun */
+#define	HAL_RXERR_DECRYPT	0x08	/* non-Michael decrypt error */
+#define	HAL_RXERR_MIC		0x10	/* Michael MIC decrypt error */
+
+/* value found in rs_keyix to mark invalid entries */
+#define	HAL_RXKEYIX_INVALID	((uint8_t)-1)
+
+/* value used to specify no encryption key for xmit */
+#define	HAL_TXKEYIX_INVALID	((uint32_t)-1)
+
+/*
+ * Status codes that may be returned by the HAL.  Note that
+ * interfaces that return a status code set it only when an
+ * error occurs--i.e. you cannot check it for success.
+ */
+typedef enum {
+	HAL_OK		= 0,	/* No error */
+	HAL_ENXIO	= 1,	/* No hardware present */
+	HAL_ENOMEM	= 2,	/* Memory allocation failed */
+	HAL_EIO		= 3,	/* Hardware didn't respond as expected */
+	HAL_EEMAGIC	= 4,	/* EEPROM magic number invalid */
+	HAL_EEVERSION	= 5,	/* EEPROM version invalid */
+	HAL_EELOCKED	= 6,	/* EEPROM unreadable */
+	HAL_EEBADSUM	= 7,	/* EEPROM checksum invalid */
+	HAL_EEREAD	= 8,	/* EEPROM read problem */
+	HAL_EEBADMAC	= 9,	/* EEPROM mac address invalid */
+	HAL_EESIZE	= 10,	/* EEPROM size not supported */
+	HAL_EEWRITE	= 11,	/* Attempt to change write-locked EEPROM */
+	HAL_EINVAL	= 12,	/* Invalid parameter to function */
+	HAL_ENOTSUPP	= 13,	/* Hardware revision not supported */
+	HAL_ESELFTEST	= 14,	/* Hardware self-test failed */
+	HAL_EINPROGRESS	= 15	/* Operation incomplete */
+} HAL_STATUS;
+
+typedef enum {
+	AH_FALSE = 0,		/* NB: lots of code assumes false is zero */
+	AH_TRUE  = 1
+} HAL_BOOL;
+
+typedef enum {
+	HAL_CAP_REG_DMN		= 0,	/* current regulatory domain */
+	HAL_CAP_CIPHER		= 1,	/* hardware supports cipher */
+	HAL_CAP_TKIP_MIC	= 2,	/* handle TKIP MIC in hardware */
+	HAL_CAP_TKIP_SPLIT	= 3,	/* hardware TKIP uses split keys */
+	HAL_CAP_PHYCOUNTERS	= 4,	/* hardware PHY error counters */
+	HAL_CAP_DIVERSITY	= 5,	/* hardware supports fast diversity */
+	HAL_CAP_KEYCACHE_SIZE	= 6,	/* number of entries in key cache */
+	HAL_CAP_NUM_TXQUEUES	= 7,	/* number of hardware xmit queues */
+	HAL_CAP_VEOL		= 9,	/* hardware supports virtual EOL */
+	HAL_CAP_PSPOLL		= 10,	/* hardware has working PS-Poll */
+					/* support */
+	HAL_CAP_DIAG		= 11,	/* hardware diagnostic support */
+	HAL_CAP_COMPRESSION	= 12,	/* hardware supports compression */
+	HAL_CAP_BURST		= 13,	/* hardware supports packet bursting */
+	HAL_CAP_FASTFRAME	= 14,	/* hardware supoprts fast frames */
+	HAL_CAP_TXPOW		= 15,	/* global tx power limit  */
+	HAL_CAP_TPC		= 16	/* per-packet tx power control  */
+} HAL_CAPABILITY_TYPE;
+
+/*
+ * "States" for setting the LED.  These correspond to
+ * the possible 802.11 operational states and there may
+ * be a many-to-one mapping between these states and the
+ * actual hardware states for the LED's (i.e. the hardware
+ * may have fewer states).
+ */
+typedef enum {
+	HAL_LED_INIT	= 0,
+	HAL_LED_SCAN	= 1,
+	HAL_LED_AUTH	= 2,
+	HAL_LED_ASSOC	= 3,
+	HAL_LED_RUN	= 4
+} HAL_LED_STATE;
+
+/*
+ * Transmit queue types/numbers.  These are used to tag
+ * each transmit queue in the hardware and to identify a set
+ * of transmit queues for operations such as start/stop dma.
+ */
+typedef enum {
+	HAL_TX_QUEUE_INACTIVE	= 0,	/* queue is inactive/unused */
+	HAL_TX_QUEUE_DATA	= 1,	/* data xmit q's */
+	HAL_TX_QUEUE_BEACON	= 2,	/* beacon xmit q */
+	HAL_TX_QUEUE_CAB	= 3,	/* "crap after beacon" xmit q */
+	HAL_TX_QUEUE_PSPOLL	= 4	/* power-save poll xmit q */
+} HAL_TX_QUEUE;
+
+
+/*
+ * Transmit queue subtype.  These map directly to
+ * WME Access Categories (except for UPSD).  Refer
+ * to Table 5 of the WME spec.
+ */
+typedef enum {
+	HAL_WME_AC_BK	= 0,		/* background access category */
+	HAL_WME_AC_BE	= 1, 		/* best effort access category */
+	HAL_WME_AC_VI	= 2,		/* video access category */
+	HAL_WME_AC_VO	= 3,		/* voice access category */
+	HAL_WME_UPSD	= 4		/* uplink power save */
+} HAL_TX_QUEUE_SUBTYPE;
+
+/*
+ * Transmit queue flags that control various
+ * operational parameters.
+ */
+typedef enum {
+	TXQ_FLAG_TXOKINT_ENABLE	    = 0x0001,    /* enable TXOK interrupt */
+	TXQ_FLAG_TXERRINT_ENABLE    = 0x0001,    /* enable TXERR interrupt */
+	TXQ_FLAG_TXDESCINT_ENABLE   = 0x0002,    /* enable TXDESC interrupt */
+	TXQ_FLAG_TXEOLINT_ENABLE    = 0x0004,    /* enable TXEOL interrupt */
+	TXQ_FLAG_TXURNINT_ENABLE    = 0x0008,    /* enable TXURN interrupt */
+	TXQ_FLAG_BACKOFF_DISABLE    = 0x0010,    /* disable Post Backoff  */
+	TXQ_FLAG_COMPRESSION_ENABLE = 0x0020,    /* compression enabled */
+	/* enable ready time expiry policy */
+	TXQ_FLAG_RDYTIME_EXP_POLICY_ENABLE = 0x0040,
+	/* enable backoff while	sending fragment burst */
+	TXQ_FLAG_FRAG_BURST_BACKOFF_ENABLE = 0x0080
+} HAL_TX_QUEUE_FLAGS;
+
+typedef struct {
+	uint32_t	tqi_ver;		/* hal TXQ version */
+	HAL_TX_QUEUE_SUBTYPE tqi_subtype;	/* subtype if applicable */
+	HAL_TX_QUEUE_FLAGS tqi_qflags;		/* flags (see above) */
+	uint32_t	tqi_priority;		/* (not used) */
+	uint32_t	tqi_aifs;		/* AIFS shift */
+	int32_t		tqi_cwmin;		/* cwMin shift */
+	int32_t		tqi_cwmax;		/* cwMax shift */
+	uint16_t	tqi_shretry;		/* rts retry limit */
+	uint16_t	tqi_lgretry;		/* long retry limit(not used) */
+	uint32_t	tqi_cbrPeriod;
+	uint32_t	tqi_cbrOverflowLimit;
+	uint32_t	tqi_burstTime;
+	uint32_t	tqi_readyTime;
+} HAL_TXQ_INFO;
+
+/* token to use for aifs, cwmin, cwmax */
+#define	HAL_TXQ_USEDEFAULT	((uint32_t)-1)
+
+/*
+ * Transmit packet types.  This belongs in ah_desc.h, but
+ * is here so we can give a proper type to various parameters
+ * (and not require everyone include the file).
+ *
+ * NB: These values are intentionally assigned for
+ *     direct use when setting up h/w descriptors.
+ */
+typedef enum {
+	HAL_PKT_TYPE_NORMAL	= 0,
+	HAL_PKT_TYPE_ATIM	= 1,
+	HAL_PKT_TYPE_PSPOLL	= 2,
+	HAL_PKT_TYPE_BEACON	= 3,
+	HAL_PKT_TYPE_PROBE_RESP	= 4
+} HAL_PKT_TYPE;
+
+/* Rx Filter Frame Types */
+typedef enum {
+	HAL_RX_FILTER_UCAST	= 0x00000001,	/* Allow unicast frames */
+	HAL_RX_FILTER_MCAST	= 0x00000002,	/* Allow multicast frames */
+	HAL_RX_FILTER_BCAST	= 0x00000004,	/* Allow broadcast frames */
+	HAL_RX_FILTER_CONTROL	= 0x00000008,	/* Allow control frames */
+	HAL_RX_FILTER_BEACON	= 0x00000010,	/* Allow beacon frames */
+	HAL_RX_FILTER_PROM	= 0x00000020,	/* Promiscuous mode */
+	HAL_RX_FILTER_PROBEREQ	= 0x00000080,	/* Allow probe request frames */
+	HAL_RX_FILTER_PHYERR	= 0x00000100,	/* Allow phy errors */
+	HAL_RX_FILTER_PHYRADAR	= 0x00000200	/* Allow phy radar errors */
+} HAL_RX_FILTER;
+
+typedef enum {
+	HAL_PM_UNDEFINED	= 0,
+	HAL_PM_AUTO		= 1,
+	HAL_PM_AWAKE		= 2,
+	HAL_PM_FULL_SLEEP	= 3,
+	HAL_PM_NETWORK_SLEEP	= 4
+} HAL_POWER_MODE;
+
+/*
+ * NOTE WELL:
+ * These are mapped to take advantage of the common locations for many of
+ * the bits on all of the currently supported MAC chips. This is to make
+ * the ISR as efficient as possible, while still abstracting HW differences.
+ * When new hardware breaks this commonality this enumerated type, as well
+ * as the HAL functions using it, must be modified. All values are directly
+ * mapped unless commented otherwise.
+ */
+typedef enum {
+	HAL_INT_RX	= 0x00000001,	/* Non-common mapping */
+	HAL_INT_RXDESC	= 0x00000002,
+	HAL_INT_RXNOFRM	= 0x00000008,
+	HAL_INT_RXEOL	= 0x00000010,
+	HAL_INT_RXORN	= 0x00000020,
+	HAL_INT_TX	= 0x00000040,	/* Non-common mapping */
+	HAL_INT_TXDESC	= 0x00000080,
+	HAL_INT_TXURN	= 0x00000800,
+	HAL_INT_MIB	= 0x00001000,
+	HAL_INT_RXPHY	= 0x00004000,
+	HAL_INT_RXKCM	= 0x00008000,
+	HAL_INT_SWBA	= 0x00010000,
+	HAL_INT_BMISS	= 0x00040000,
+	HAL_INT_BNR	= 0x00100000,	/* Non-common mapping */
+	HAL_INT_GPIO	= 0x01000000,
+	HAL_INT_FATAL	= 0x40000000,	/* Non-common mapping */
+	HAL_INT_GLOBAL	= INT_MIN,	/* Set/clear IER */
+
+	/* Interrupt bits that map directly to ISR/IMR bits */
+	HAL_INT_COMMON  = HAL_INT_RXNOFRM
+			| HAL_INT_RXDESC
+			| HAL_INT_RXEOL
+			| HAL_INT_RXORN
+			| HAL_INT_TXURN
+			| HAL_INT_TXDESC
+			| HAL_INT_MIB
+			| HAL_INT_RXPHY
+			| HAL_INT_RXKCM
+			| HAL_INT_SWBA
+			| HAL_INT_BMISS
+			| HAL_INT_GPIO,
+	HAL_INT_NOCARD	= -1	/* To signal the card was removed */
+} HAL_INT;
+
+typedef enum {
+	HAL_RFGAIN_INACTIVE		= 0,
+	HAL_RFGAIN_READ_REQUESTED	= 1,
+	HAL_RFGAIN_NEED_CHANGE		= 2
+} HAL_RFGAIN;
+
+typedef enum {
+	HAL_PHYERR_UNDERRUN		= 0,	/* Transmit underrun */
+	HAL_PHYERR_TIMING		= 1,	/* Timing error */
+	HAL_PHYERR_PARITY		= 2,	/* Illegal parity */
+	HAL_PHYERR_RATE			= 3,	/* Illegal rate */
+	HAL_PHYERR_LENGTH		= 4,	/* Illegal length */
+	HAL_PHYERR_RADAR		= 5,	/* Radar detect */
+	HAL_PHYERR_SERVICE		= 6,	/* Illegal service */
+	HAL_PHYERR_TOR			= 7,	/* Transmit override receive */
+	/* NB: these are specific to the 5212 */
+	HAL_PHYERR_OFDM_TIMING		= 17,	/* */
+	HAL_PHYERR_OFDM_SIGNAL_PARITY	= 18,	/* */
+	HAL_PHYERR_OFDM_RATE_ILLEGAL	= 19,	/* */
+	HAL_PHYERR_OFDM_LENGTH_ILLEGAL	= 20,	/* */
+	HAL_PHYERR_OFDM_POWER_DROP	= 21,	/* */
+	HAL_PHYERR_OFDM_SERVICE		= 22,	/* */
+	HAL_PHYERR_OFDM_RESTART		= 23,	/* */
+	HAL_PHYERR_CCK_TIMING		= 25,	/* */
+	HAL_PHYERR_CCK_HEADER_CRC	= 26,	/* */
+	HAL_PHYERR_CCK_RATE_ILLEGAL	= 27,	/* */
+	HAL_PHYERR_CCK_SERVICE		= 30,	/* */
+	HAL_PHYERR_CCK_RESTART		= 31	/* */
+}HAL_PHYERR;
+
+/*
+ * Channels are specified by frequency.
+ */
+typedef struct {
+	uint16_t	channel;	/* setting in Mhz */
+	uint16_t	channelFlags;	/* see below */
+} HAL_CHANNEL;
+
+
+typedef struct {
+	uint32_t	ackrcv_bad;
+	uint32_t	rts_bad;
+	uint32_t	rts_good;
+	uint32_t	fcs_bad;
+	uint32_t	beacons;
+} HAL_MIB_STATS;
+
+
+enum {
+	CTRY_DEBUG	= 0x1ff,		/* debug country code */
+	CTRY_DEFAULT	= 0			/* default country code */
+};
+
+enum {
+	HAL_MODE_11A	= 0x001,
+	HAL_MODE_TURBO	= 0x002,
+	HAL_MODE_11B	= 0x004,
+	HAL_MODE_PUREG	= 0x008,
+	HAL_MODE_11G	= 0x008,
+	HAL_MODE_108G	= 0x020,
+	HAL_MODE_ALL	= 0xfff
+};
+
+typedef struct {
+	int		rateCount;		/* NB: for proper padding */
+	uint8_t	rateCodeToIndex[32];	/* back mapping */
+	struct {
+		uint8_t	valid;		/* valid for rate control use */
+		uint8_t	phy;		/* CCK/OFDM/XR */
+		uint16_t rateKbps;	/* transfer rate in kbs */
+		uint8_t	rateCode;	/* rate for h/w descriptors */
+		/* mask for enabling short preamble in CCK rate code */
+		uint8_t	shortPreamble;
+		/* value for supported rates info element of MLME */
+		uint8_t	dot11Rate;
+		/* index of next lower basic rate; used for dur. calcs */
+		uint8_t	controlRate;
+		uint16_t lpAckDuration;	/* long preamble ACK duration */
+		uint16_t spAckDuration;	/* short preamble ACK duration */
+	} info[32];
+} HAL_RATE_TABLE;
+
+typedef struct {
+	uint32_t	rs_count;	/* number of valid entries */
+	uint8_t	rs_rates[32];		/* rates */
+} HAL_RATE_SET;
+
+typedef enum {
+	HAL_ANT_VARIABLE = 0,		/* variable by programming */
+	HAL_ANT_FIXED_A	 = 1,		/* fixed to 11a frequencies */
+	HAL_ANT_FIXED_B	 = 2		/* fixed to 11b frequencies */
+} HAL_ANT_SETTING;
+
+typedef enum {
+	HAL_M_STA	= 1,		/* infrastructure station */
+	HAL_M_IBSS	= 0,		/* IBSS (adhoc) station */
+	HAL_M_HOSTAP	= 6,		/* Software Access Point */
+	HAL_M_MONITOR	= 8		/* Monitor mode */
+} HAL_OPMODE;
+
+typedef struct {
+	uint8_t	kv_type;		/* one of HAL_CIPHER */
+	uint8_t	kv_pad;
+	uint16_t	kv_len;		/* length in bits */
+	uint8_t	kv_val[16];		/* enough for 128-bit keys */
+	uint8_t	kv_mic[8];		/* TKIP MIC key */
+} HAL_KEYVAL;
+
+typedef enum {
+	HAL_CIPHER_WEP		= 0,
+	HAL_CIPHER_AES_OCB	= 1,
+	HAL_CIPHER_AES_CCM	= 2,
+	HAL_CIPHER_CKIP		= 3,
+	HAL_CIPHER_TKIP		= 4,
+	HAL_CIPHER_CLR		= 5,	/* no encryption */
+
+	HAL_CIPHER_MIC		= 127	/* TKIP-MIC, not a cipher */
+} HAL_CIPHER;
+
+enum {
+	HAL_SLOT_TIME_9	 = 9,
+	HAL_SLOT_TIME_20 = 20
+};
+
+/*
+ * Per-station beacon timer state.  Note that the specified
+ * beacon interval (given in TU's) can also include flags
+ * to force a TSF reset and to enable the beacon xmit logic.
+ * If bs_cfpmaxduration is non-zero the hardware is setup to
+ * coexist with a PCF-capable AP.
+ */
+typedef struct {
+	uint32_t	bs_nexttbtt;		/* next beacon in TU */
+	uint32_t	bs_nextdtim;		/* next DTIM in TU */
+	uint32_t	bs_intval;		/* beacon interval+flags */
+	uint32_t	bs_dtimperiod;
+	uint16_t	bs_cfpperiod;		/* CFP period in TU */
+	uint16_t	bs_cfpmaxduration;	/* max CFP duration in TU */
+	uint32_t	bs_cfpnext;		/* next CFP in TU */
+	uint16_t	bs_timoffset;		/* byte offset to TIM bitmap */
+	uint16_t	bs_bmissthreshold;	/* beacon miss threshold */
+	uint32_t	bs_sleepduration;	/* max sleep duration */
+} HAL_BEACON_STATE;
+
+/*
+ * Per-node statistics maintained by the driver for use in
+ * optimizing signal quality and other operational aspects.
+ */
+typedef struct {
+	uint32_t	ns_avgbrssi;	/* average beacon rssi */
+	uint32_t	ns_avgrssi;	/* average data rssi */
+	uint32_t	ns_avgtxrssi;	/* average tx rssi */
+} HAL_NODE_STATS;
+
+/*
+ * Transmit descriptor status.  This structure is filled
+ * in only after the tx descriptor process method finds a
+ * ``done'' descriptor; at which point it returns something
+ * other than HAL_EINPROGRESS.
+ *
+ * Note that ts_antenna may not be valid for all h/w.  It
+ * should be used only if non-zero.
+ */
+struct ath_tx_status {
+	uint16_t	ts_seqnum;	/* h/w assigned sequence number */
+	uint16_t	ts_tstamp;	/* h/w assigned timestamp */
+	uint8_t		ts_status;	/* frame status, 0 => xmit ok */
+	uint8_t		ts_rate;	/* h/w transmit rate index */
+	int8_t		ts_rssi;	/* tx ack RSSI */
+	uint8_t		ts_shortretry;	/* # short retries */
+	uint8_t		ts_longretry;	/* # long retries */
+	uint8_t		ts_virtcol;	/* virtual collision count */
+	uint8_t		ts_antenna;	/* antenna information */
+};
+
+
+/*
+ * Receive descriptor status.  This structure is filled
+ * in only after the rx descriptor process method finds a
+ * ``done'' descriptor; at which point it returns something
+ * other than HAL_EINPROGRESS.
+ *
+ * If rx_status is zero, then the frame was received ok;
+ * otherwise the error information is indicated and rs_phyerr
+ * contains a phy error code if HAL_RXERR_PHY is set.  In general
+ * the frame contents is undefined when an error occurred thought
+ * for some errors (e.g. a decryption error), it may be meaningful.
+ *
+ * Note that the receive timestamp is expanded using the TSF to
+ * a full 16 bits (regardless of what the h/w provides directly).
+ *
+ * rx_rssi is in units of dbm above the noise floor.  This value
+ * is measured during the preamble and PLCP; i.e. with the initial
+ * 4us of detection.  The noise floor is typically a consistent
+ * -96dBm absolute power in a 20MHz channel.
+ */
+struct ath_rx_status {
+	uint16_t	rs_datalen;	/* rx frame length */
+	uint16_t	rs_tstamp;	/* h/w assigned timestamp */
+	uint8_t		rs_status;	/* rx status, 0 => recv ok */
+	uint8_t		rs_phyerr;	/* phy error code */
+	int8_t		rs_rssi;	/* rx frame RSSI */
+	uint8_t		rs_keyix;	/* key cache index */
+	uint8_t		rs_rate;	/* h/w receive rate index */
+	uint8_t		rs_antenna;	/* antenna information */
+	uint8_t		rs_more;	/* see HAL_RXERR_XXX definition */
+};
+
+/*
+ * Definitions for the software frame/packet descriptors used by
+ * the Atheros HAL.  This definition obscures hardware-specific
+ * details from the driver.  Drivers are expected to fillin the
+ * portions of a descriptor that are not opaque then use HAL calls
+ * to complete the work.  Status for completed frames is returned
+ * in a device-independent format.
+ */
+#pragma pack(1)
+struct ath_desc {
+	/*
+	 * The following definitions are passed directly
+	 * the hardware and managed by the HAL.  Drivers
+	 * should not touch those elements marked opaque.
+	 */
+	uint32_t	ds_link;	/* phys address of next descriptor */
+	uint32_t	ds_data;	/* phys address of data buffer */
+	uint32_t	ds_ctl0;	/* opaque DMA control 0 */
+	uint32_t	ds_ctl1;	/* opaque DMA control 1 */
+	uint32_t	ds_hw[4];	/* opaque h/w region */
+	/*
+	 * The remaining definitions are managed by software;
+	 * these are valid only after the rx/tx process descriptor
+	 * methods return a non-EINPROGRESS  code.
+	 */
+	union {
+		struct ath_tx_status tx; /* xmit status */
+		struct ath_rx_status rx; /* recv status */
+	} ds_us;
+};
+#pragma pack()
+
+#define	ds_txstat	ds_us.tx
+#define	ds_rxstat	ds_us.rx
+
+/*
+ * Hardware Access Layer (HAL) API.
+ *
+ * Clients of the HAL call ath_hal_attach to obtain a reference to an
+ * ath_hal structure for use with the device.  Hardware-related operations
+ * that follow must call back into the HAL through interface, supplying
+ * the reference as the first parameter.  Note that before using the
+ * reference returned by ath_hal_attach the caller should verify the
+ * ABI version number.
+ */
+struct ath_hal {
+	uint32_t	ah_magic;	/* consistency check magic number */
+	uint32_t	ah_abi;		/* HAL ABI version */
+	uint16_t	ah_devid;	/* PCI device ID */
+	uint16_t	ah_subvendorid;	/* PCI subvendor ID */
+	HAL_SOFTC	ah_sc;		/* back pointer to driver/os state */
+	HAL_BUS_TAG	ah_st;		/* params for register r+w */
+	HAL_BUS_HANDLE	ah_sh;
+	HAL_CTRY_CODE	ah_countryCode;
+
+	uint32_t	ah_macVersion;	/* MAC version id */
+	uint16_t	ah_macRev;	/* MAC revision */
+	uint16_t	ah_phyRev;	/* PHY revision */
+	uint16_t	ah_analog5GhzRev; /* 2GHz radio revision */
+	uint16_t	ah_analog2GhzRev; /* 5GHz radio revision */
+
+	const HAL_RATE_TABLE *(*ah_getRateTable)(struct ath_hal *,
+				uint32_t mode);
+	void	  (*ah_detach) (struct ath_hal *);
+
+	/* Reset functions */
+	HAL_BOOL  (*ah_reset) (struct ath_hal *, HAL_OPMODE,
+				HAL_CHANNEL *, HAL_BOOL bChannelChange,
+				HAL_STATUS *status);
+	HAL_BOOL   (*ah_phyDisable) (struct ath_hal *);
+	void	   (*ah_setPCUConfig) (struct ath_hal *);
+	HAL_BOOL  (*ah_perCalibration) (struct ath_hal *, HAL_CHANNEL *);
+	HAL_BOOL  (*ah_setTxPowerLimit)(struct ath_hal *, uint32_t);
+
+	/* Transmit functions */
+	HAL_BOOL  (*ah_updateTxTrigLevel) (struct ath_hal *,
+				HAL_BOOL incTrigLevel);
+	int	  (*ah_setupTxQueue) (struct ath_hal *, HAL_TX_QUEUE,
+				const HAL_TXQ_INFO *qInfo);
+	HAL_BOOL  (*ah_setTxQueueProps) (struct ath_hal *, int q,
+				const HAL_TXQ_INFO *qInfo);
+	HAL_BOOL  (*ah_getTxQueueProps)(struct ath_hal *, int q,
+				HAL_TXQ_INFO *qInfo);
+	HAL_BOOL  (*ah_releaseTxQueue) (struct ath_hal *ah, uint32_t q);
+	HAL_BOOL  (*ah_resetTxQueue) (struct ath_hal *ah, uint32_t q);
+	uint32_t (*ah_getTxDP) (struct ath_hal *, uint32_t);
+	HAL_BOOL  (*ah_setTxDP) (struct ath_hal *, uint32_t, uint32_t txdp);
+	uint32_t (*ah_numTxPending)(struct ath_hal *, uint32_t q);
+	HAL_BOOL  (*ah_startTxDma) (struct ath_hal *, uint32_t);
+	HAL_BOOL  (*ah_stopTxDma) (struct ath_hal *, uint32_t);
+	HAL_BOOL  (*ah_updateCTSForBursting)(struct ath_hal *,
+				struct ath_desc *, struct ath_desc *,
+				struct ath_desc *, struct ath_desc *,
+				uint32_t, uint32_t);
+	HAL_BOOL  (*ah_setupTxDesc) (struct ath_hal *, struct ath_desc *,
+				uint32_t pktLen, uint32_t hdrLen,
+				HAL_PKT_TYPE type, uint32_t txPower,
+				uint32_t txRate0, uint32_t txTries0,
+				uint32_t keyIx, uint32_t antMode,
+				uint32_t flags, uint32_t rtsctsRate,
+				uint32_t rtsctsDuration);
+	HAL_BOOL  (*ah_setupXTxDesc) (struct ath_hal *, struct ath_desc *,
+				uint32_t txRate1, uint32_t txTries1,
+				uint32_t txRate2, uint32_t txTries2,
+				uint32_t txRate3, uint32_t txTries3);
+	HAL_BOOL  (*ah_fillTxDesc) (struct ath_hal *, struct ath_desc *,
+				uint32_t segLen, HAL_BOOL firstSeg,
+				HAL_BOOL lastSeg, const struct ath_desc *);
+	HAL_STATUS (*ah_procTxDesc) (struct ath_hal *, struct ath_desc *);
+	void	   (*ah_getTxIntrQueue)(struct ath_hal *, uint32_t *);
+
+	/* Receive Functions */
+	uint32_t (*ah_getRxDP) (struct ath_hal *);
+	void	  (*ah_setRxDP) (struct ath_hal *, uint32_t rxdp);
+	void	  (*ah_enableReceive) (struct ath_hal *);
+	HAL_BOOL  (*ah_stopDmaReceive) (struct ath_hal *);
+	void	  (*ah_startPcuReceive) (struct ath_hal *);
+	void	  (*ah_stopPcuReceive) (struct ath_hal *);
+	void	  (*ah_setMulticastFilter) (struct ath_hal *,
+				uint32_t filter0, uint32_t filter1);
+	HAL_BOOL  (*ah_setMulticastFilterIndex) (struct ath_hal *,
+				uint32_t index);
+	HAL_BOOL  (*ah_clrMulticastFilterIndex) (struct ath_hal *,
+				uint32_t index);
+	uint32_t (*ah_getRxFilter) (struct ath_hal *);
+	void	  (*ah_setRxFilter) (struct ath_hal *, uint32_t);
+	HAL_BOOL  (*ah_setupRxDesc) (struct ath_hal *, struct ath_desc *,
+				uint32_t size, uint32_t flags);
+	HAL_STATUS (*ah_procRxDesc) (struct ath_hal *, struct ath_desc *,
+				uint32_t phyAddr, struct ath_desc *next);
+	void	  (*ah_rxMonitor) (struct ath_hal *,
+				const HAL_NODE_STATS *);
+	void	  (*ah_procMibEvent) (struct ath_hal *,
+				const HAL_NODE_STATS *);
+
+	/* Misc Functions */
+	HAL_STATUS  (*ah_getCapability) (struct ath_hal *,
+				HAL_CAPABILITY_TYPE, uint32_t capability,
+				uint32_t *result);
+	HAL_BOOL    (*ah_setCapability) (struct ath_hal *,
+				HAL_CAPABILITY_TYPE, uint32_t capability,
+				uint32_t setting, HAL_STATUS *);
+	HAL_BOOL    (*ah_getDiagState) (struct ath_hal *, int request,
+				const void *args, uint32_t argsize,
+				void **result, uint32_t *resultsize);
+	void	  (*ah_getMacAddress) (struct ath_hal *, uint8_t *);
+	HAL_BOOL  (*ah_setMacAddress) (struct ath_hal *, const uint8_t *);
+	HAL_BOOL  (*ah_setRegulatoryDomain) (struct ath_hal *,
+				uint16_t, HAL_STATUS *);
+	void	  (*ah_setLedState) (struct ath_hal *, HAL_LED_STATE);
+	void	  (*ah_writeAssocid) (struct ath_hal *,
+				const uint8_t *bssid, uint16_t assocId);
+	HAL_BOOL  (*ah_gpioCfgOutput) (struct ath_hal *, uint32_t gpio);
+	HAL_BOOL  (*ah_gpioCfgInput) (struct ath_hal *, uint32_t gpio);
+	uint32_t (*ah_gpioGet) (struct ath_hal *, uint32_t gpio);
+	HAL_BOOL  (*ah_gpioSet) (struct ath_hal *,
+				uint32_t gpio, uint32_t val);
+	void	  (*ah_gpioSetIntr) (struct ath_hal *, uint32_t, uint32_t);
+	uint32_t (*ah_getTsf32) (struct ath_hal *);
+	uint64_t (*ah_getTsf64) (struct ath_hal *);
+	void	  (*ah_resetTsf) (struct ath_hal *);
+	HAL_BOOL  (*ah_detectCardPresent) (struct ath_hal *);
+	void	  (*ah_updateMibCounters) (struct ath_hal *, HAL_MIB_STATS *);
+	HAL_RFGAIN (*ah_getRfGain) (struct ath_hal *);
+	uint32_t  (*ah_getDefAntenna) (struct ath_hal *);
+	void	  (*ah_setDefAntenna) (struct ath_hal *, uint32_t);
+	HAL_BOOL  (*ah_setSlotTime) (struct ath_hal *, uint32_t);
+	uint32_t  (*ah_getSlotTime) (struct ath_hal *);
+	HAL_BOOL  (*ah_setAckTimeout) (struct ath_hal *, uint32_t);
+	uint32_t  (*ah_getAckTimeout) (struct ath_hal *);
+	HAL_BOOL  (*ah_setCTSTimeout) (struct ath_hal *, uint32_t);
+	uint32_t  (*ah_getCTSTimeout) (struct ath_hal *);
+
+	/* Key Cache Functions */
+	uint32_t (*ah_getKeyCacheSize) (struct ath_hal *);
+	HAL_BOOL  (*ah_resetKeyCacheEntry) (struct ath_hal *, uint16_t);
+	HAL_BOOL  (*ah_isKeyCacheEntryValid) (struct ath_hal *, uint16_t);
+	HAL_BOOL  (*ah_setKeyCacheEntry) (struct ath_hal *,
+				uint16_t, const HAL_KEYVAL *,
+				const uint8_t *, int);
+	HAL_BOOL  (*ah_setKeyCacheEntryMac) (struct ath_hal *,
+				uint16_t, const uint8_t *);
+
+	/* Power Management Functions */
+	HAL_BOOL  (*ah_setPowerMode) (struct ath_hal *,
+				HAL_POWER_MODE mode, int setChip,
+				uint16_t sleepDuration);
+	HAL_POWER_MODE (*ah_getPowerMode) (struct ath_hal *);
+	HAL_BOOL  (*ah_initPSPoll) (struct ath_hal *);
+	HAL_BOOL  (*ah_enablePSPoll) (struct ath_hal *,
+				uint8_t *, uint16_t);
+	HAL_BOOL  (*ah_disablePSPoll) (struct ath_hal *);
+
+	/* Beacon Management Functions */
+	void	  (*ah_beaconInit) (struct ath_hal *,
+				uint32_t nexttbtt, uint32_t intval);
+	void	  (*ah_setStationBeaconTimers) (struct ath_hal *,
+				const HAL_BEACON_STATE *);
+	void	  (*ah_resetStationBeaconTimers) (struct ath_hal *);
+	HAL_BOOL  (*ah_waitForBeaconDone) (struct ath_hal *,
+				HAL_BUS_ADDR);
+
+	/* Interrupt functions */
+	HAL_BOOL  (*ah_isInterruptPending) (struct ath_hal *);
+	HAL_BOOL  (*ah_getPendingInterrupts) (struct ath_hal *, HAL_INT *);
+	HAL_INT	  (*ah_getInterrupts) (struct ath_hal *);
+	HAL_INT	  (*ah_setInterrupts) (struct ath_hal *, HAL_INT);
+};
+
+/*
+ * Check the PCI vendor ID and device ID against Atheros' values
+ * and return a printable description for any Atheros hardware.
+ * AH_NULL is returned if the ID's do not describe Atheros hardware.
+ */
+extern	const char *ath_hal_probe(uint16_t vendorid, uint16_t devid);
+
+/*
+ * Attach the HAL for use with the specified device.  The device is
+ * defined by the PCI device ID.  The caller provides an opaque pointer
+ * to an upper-layer data structure (HAL_SOFTC) that is stored in the
+ * HAL state block for later use.  Hardware register accesses are done
+ * using the specified bus tag and handle.  On successful return a
+ * reference to a state block is returned that must be supplied in all
+ * subsequent HAL calls.  Storage associated with this reference is
+ * dynamically allocated and must be freed by calling the ah_detach
+ * method when the client is done.  If the attach operation fails a
+ * null (AH_NULL) reference will be returned and a status code will
+ * be returned if the status parameter is non-zero.
+ */
+extern	struct ath_hal *ath_hal_attach(uint16_t devid, HAL_SOFTC,
+		HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS *status);
+
+/*
+ * Return a list of channels available for use with the hardware.
+ * The list is based on what the hardware is capable of, the specified
+ * country code, the modeSelect mask, and whether or not outdoor
+ * channels are to be permitted.
+ *
+ * The channel list is returned in the supplied array.  maxchans
+ * defines the maximum size of this array.  nchans contains the actual
+ * number of channels returned.  If a problem occurred or there were
+ * no channels that met the criteria then AH_FALSE is returned.
+ */
+extern	HAL_BOOL  ath_hal_init_channels(struct ath_hal *,
+		HAL_CHANNEL *chans, uint32_t maxchans, uint32_t *nchans,
+		HAL_CTRY_CODE cc, uint16_t modeSelect,
+		HAL_BOOL enableOutdoor, HAL_BOOL enableExtendedChannels);
+
+/*
+ * Return bit mask of wireless modes supported by the hardware.
+ */
+extern	uint32_t  ath_hal_getwirelessmodes(struct ath_hal *, HAL_CTRY_CODE);
+
+/*
+ * Return rate table for specified mode (11a, 11b, 11g, etc).
+ */
+extern	const HAL_RATE_TABLE *  ath_hal_getratetable(struct ath_hal *,
+		uint32_t mode);
+
+/*
+ * Calculate the transmit duration of a frame.
+ */
+extern uint16_t  ath_hal_computetxtime(struct ath_hal *,
+		const HAL_RATE_TABLE *rates, uint32_t frameLen,
+		uint16_t rateix, HAL_BOOL shortPreamble);
+
+/*
+ * Convert between IEEE channel number and channel frequency
+ * using the specified channel flags; e.g. CHANNEL_2GHZ.
+ */
+extern	uint32_t  ath_hal_mhz2ieee(uint32_t mhz, uint32_t flags);
+extern	uint32_t  ath_hal_ieee2mhz(uint32_t ieee, uint32_t flags);
+
+/*
+ * Return a version string for the HAL release.
+ */
+extern	char ath_hal_version[];
+
+/*
+ * Return a NULL-terminated array of build/configuration options.
+ */
+extern	const char *ath_hal_buildopts[];
+
+/*
+ * Macros to encapsulated HAL functions.
+ */
+#define	ATH_HAL_RESET(_ah, _opmode, _chan, _outdoor, _pstatus) \
+	((*(_ah)->ah_reset)((_ah), (_opmode), (_chan), (_outdoor), (_pstatus)))
+#define	ATH_HAL_GETCAPABILITY(_ah, _cap, _param, _result) \
+	((*(_ah)->ah_getCapability)((_ah), (_cap), (_param), (_result)))
+#define	ATH_HAL_GETREGDOMAIN(_ah, _prd) \
+	ATH_HAL_GETCAPABILITY(_ah, HAL_CAP_REG_DMN, 0, (_prd))
+#define	ATH_HAL_GETCOUNTRYCODE(_ah, _pcc) \
+	(*(_pcc) = (_ah)->ah_countryCode)
+#define	ATH_HAL_GETRATETABLE(_ah, _mode) \
+	((*(_ah)->ah_getRateTable)((_ah), (_mode)))
+#define	ATH_HAL_GETMAC(_ah, _mac) \
+	((*(_ah)->ah_getMacAddress)((_ah), (_mac)))
+#define	ATH_HAL_SETMAC(_ah, _mac) \
+	((*(_ah)->ah_setMacAddress)((_ah), (_mac)))
+#define	ATH_HAL_INTRSET(_ah, _mask) \
+	((*(_ah)->ah_setInterrupts)((_ah), (_mask)))
+#define	ATH_HAL_INTRGET(_ah) \
+	((*(_ah)->ah_getInterrupts)((_ah)))
+#define	ATH_HAL_INTRPEND(_ah) \
+	((*(_ah)->ah_isInterruptPending)((_ah)))
+#define	ATH_HAL_GETISR(_ah, _pmask) \
+	((*(_ah)->ah_getPendingInterrupts)((_ah), (_pmask)))
+#define	ATH_HAL_UPDATETXTRIGLEVEL(_ah, _inc) \
+	((*(_ah)->ah_updateTxTrigLevel)((_ah), (_inc)))
+#define	ATH_HAL_SETPOWER(_ah, _mode, _sleepduration) \
+	((*(_ah)->ah_setPowerMode)((_ah), (_mode), AH_TRUE, (_sleepduration)))
+#define	ATH_HAL_KEYRESET(_ah, _ix) \
+	((*(_ah)->ah_resetKeyCacheEntry)((_ah), (_ix)))
+#define	ATH_HAL_KEYSET(_ah, _ix, _pk) \
+	((*(_ah)->ah_setKeyCacheEntry)((_ah), (_ix), (_pk), NULL, AH_FALSE))
+#define	ATH_HAL_KEYISVALID(_ah, _ix) \
+	(((*(_ah)->ah_isKeyCacheEntryValid)((_ah), (_ix))))
+#define	ATH_HAL_KEYSETMAC(_ah, _ix, _mac) \
+	((*(_ah)->ah_setKeyCacheEntryMac)((_ah), (_ix), (_mac)))
+#define	ATH_HAL_KEYCACHESIZE(_ah) \
+	((*(_ah)->ah_getKeyCacheSize)((_ah)))
+#define	ATH_HAL_GETRXFILTER(_ah) \
+	((*(_ah)->ah_getRxFilter)((_ah)))
+#define	ATH_HAL_SETRXFILTER(_ah, _filter) \
+	((*(_ah)->ah_setRxFilter)((_ah), (_filter)))
+#define	ATH_HAL_SETMCASTFILTER(_ah, _mfilt0, _mfilt1) \
+	((*(_ah)->ah_setMulticastFilter)((_ah), (_mfilt0), (_mfilt1)))
+#define	ATH_HAL_WAITFORBEACON(_ah, _bf) \
+	((*(_ah)->ah_waitForBeaconDone)((_ah), (_bf)->bf_daddr))
+#define	ATH_HAL_PUTRXBUF(_ah, _bufaddr) \
+	((*(_ah)->ah_setRxDP)((_ah), (_bufaddr)))
+#define	ATH_HAL_GETTSF32(_ah) \
+	((*(_ah)->ah_getTsf32)((_ah)))
+#define	ATH_HAL_GETTSF64(_ah) \
+	((*(_ah)->ah_getTsf64)((_ah)))
+#define	ATH_HAL_RESETTSF(_ah) \
+	((*(_ah)->ah_resetTsf)((_ah)))
+#define	ATH_HAL_RXENA(_ah) \
+	((*(_ah)->ah_enableReceive)((_ah)))
+#define	ATH_HAL_PUTTXBUF(_ah, _q, _bufaddr) \
+	((*(_ah)->ah_setTxDP)((_ah), (_q), (_bufaddr)))
+#define	ATH_HAL_GETTXBUF(_ah, _q) \
+	((*(_ah)->ah_getTxDP)((_ah), (_q)))
+#define	ATH_HAL_GETRXBUF(_ah) \
+	((*(_ah)->ah_getRxDP)((_ah)))
+#define	ATH_HAL_TXSTART(_ah, _q) \
+	((*(_ah)->ah_startTxDma)((_ah), (_q)))
+#define	ATH_HAL_SETCHANNEL(_ah, _chan) \
+	((*(_ah)->ah_setChannel)((_ah), (_chan)))
+#define	ATH_HAL_CALIBRATE(_ah, _chan) \
+	((*(_ah)->ah_perCalibration)((_ah), (_chan)))
+#define	ATH_HAL_SETLEDSTATE(_ah, _state) \
+	((*(_ah)->ah_setLedState)((_ah), (_state)))
+#define	ATH_HAL_BEACONINIT(_ah, _nextb, _bperiod) \
+	((*(_ah)->ah_beaconInit)((_ah), (_nextb), (_bperiod)))
+#define	ATH_HAL_BEACONRESET(_ah) \
+	((*(_ah)->ah_resetStationBeaconTimers)((_ah)))
+#define	ATH_HAL_BEACONTIMERS(_ah, _beacon_state) \
+	((*(_ah)->ah_setStationBeaconTimers)((_ah), (_beacon_state)))
+#define	ATH_HAL_SETASSOCID(_ah, _bss, _associd) \
+	((*(_ah)->ah_writeAssocid)((_ah), (_bss), (_associd)))
+#define	ATH_HAL_SETOPMODE(_ah) \
+	((*(_ah)->ah_setPCUConfig)((_ah)))
+#define	ATH_HAL_STOPTXDMA(_ah, _qnum) \
+	((*(_ah)->ah_stopTxDma)((_ah), (_qnum)))
+#define	ATH_HAL_STOPPCURECV(_ah) \
+	((*(_ah)->ah_stopPcuReceive)((_ah)))
+#define	ATH_HAL_STARTPCURECV(_ah) \
+	((*(_ah)->ah_startPcuReceive)((_ah)))
+#define	ATH_HAL_STOPDMARECV(_ah) \
+	((*(_ah)->ah_stopDmaReceive)((_ah)))
+#define	ATH_HAL_DUMPSTATE(_ah) \
+	((*(_ah)->ah_dumpState)((_ah)))
+#define	ATH_HAL_DUMPEEPROM(_ah) \
+	((*(_ah)->ah_dumpEeprom)((_ah)))
+#define	ATH_HAL_DUMPRFGAIN(_ah) \
+	((*(_ah)->ah_dumpRfGain)((_ah)))
+#define	ATH_HAL_DUMPANI(_ah) \
+	((*(_ah)->ah_dumpAni)((_ah)))
+#define	ATH_HAL_SETUPTXQUEUE(_ah, _type, _irq) \
+	((*(_ah)->ah_setupTxQueue)((_ah), (_type), (_irq)))
+#define	ATH_HAL_RESETTXQUEUE(_ah, _q) \
+	((*(_ah)->ah_resetTxQueue)((_ah), (_q)))
+#define	ATH_HAL_RELEASETXQUEUE(_ah, _q) \
+	((*(_ah)->ah_releaseTxQueue)((_ah), (_q)))
+#define	ATH_HAL_HASVEOL \
+	((*(_ah)->ah_hasVEOL)((_ah)))
+#define	ATH_HAL_GETRFGAIN(_ah) \
+	((*(_ah)->ah_getRfGain)((_ah)))
+#define	ATH_HAL_RXMONITOR(_ah, _arg) \
+	((*(_ah)->ah_rxMonitor)((_ah), (_arg)))
+#define	ATH_HAL_SETUPBEACONDESC(_ah, _ds, _opmode, _flen, _hlen, \
+		_rate, _antmode) \
+	((*(_ah)->ah_setupBeaconDesc)((_ah), (_ds), (_opmode), \
+		(_flen), (_hlen), (_rate), (_antmode)))
+#define	ATH_HAL_SETUPRXDESC(_ah, _ds, _size, _intreq) \
+	((*(_ah)->ah_setupRxDesc)((_ah), (_ds), (_size), (_intreq)))
+#define	ATH_HAL_RXPROCDESC(_ah, _ds, _dspa, _dsnext) \
+	((*(_ah)->ah_procRxDesc)((_ah), (_ds), (_dspa), (_dsnext)))
+#define	ATH_HAL_SETUPTXDESC(_ah, _ds, _plen, _hlen, _atype, _txpow, \
+		_txr0, _txtr0, _keyix, _ant, _flags, \
+		_rtsrate, _rtsdura) \
+	((*(_ah)->ah_setupTxDesc)((_ah), (_ds), (_plen), (_hlen), (_atype), \
+		(_txpow), (_txr0), (_txtr0), (_keyix), (_ant), \
+		(_flags), (_rtsrate), (_rtsdura)))
+#define	ATH_HAL_SETUPXTXDESC(_ah, _ds, \
+		_txr1, _txtr1, _txr2, _txtr2, _txr3, _txtr3) \
+	((*(_ah)->ah_setupXTxDesc)((_ah), (_ds), \
+		(_txr1), (_txtr1), (_txr2), (_txtr2), (_txr3), (_txtr3)))
+#define	ATH_HAL_FILLTXDESC(_ah, _ds, _l, _first, _last, _ath_desc) \
+	((*(_ah)->ah_fillTxDesc)((_ah), (_ds), (_l), (_first), (_last), \
+	(_ath_desc)))
+#define	ATH_HAL_TXPROCDESC(_ah, _ds) \
+	((*(_ah)->ah_procTxDesc)((_ah), (_ds)))
+#define	ATH_HAL_CIPHERSUPPORTED(_ah, _cipher) \
+	(ATH_HAL_GETCAPABILITY(_ah, HAL_CAP_CIPHER, _cipher, NULL) == HAL_OK)
+#define	ATH_HAL_TKIPSPLIT(_ah) \
+	(ATH_HAL_GETCAPABILITY(_ah, HAL_CAP_TKIP_SPLIT, 0, NULL) == HAL_OK)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ATH_HAL_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_ieee80211.c	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,2899 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+/*
+ * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+ * 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,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ *    redistribution must be conditioned upon including a substantially
+ *    similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ */
+
+/*
+ * IEEE 802.11 generic handler
+ *
+ * This code is derived from NetBSD code; their copyright notice follows.
+ */
+
+/*
+ * Copyright (c) 2001 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Atsushi Onoe.
+ *
+ * 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 the NetBSD
+ *        Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+ */
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/stream.h>
+#include <sys/termio.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/cmn_err.h>
+#include <sys/stropts.h>
+#include <sys/strsubr.h>
+#include <sys/strtty.h>
+#include <sys/kbio.h>
+#include <sys/cred.h>
+#include <sys/stat.h>
+#include <sys/consdev.h>
+#include <sys/kmem.h>
+#include <sys/modctl.h>
+#include <sys/ddi.h>
+#include <sys/sunddi.h>
+#include <sys/pci.h>
+#include <sys/errno.h>
+#include <sys/gld.h>
+#include <sys/dlpi.h>
+#include <sys/ethernet.h>
+#include <sys/byteorder.h>
+#include <sys/proc.h>
+#include <sys/note.h>
+#include <sys/strsun.h>
+#include <sys/list.h>
+#include <sys/byteorder.h>
+#include <inet/common.h>
+#include <inet/nd.h>
+#include <inet/mi.h>
+#include <inet/wifi_ioctl.h>
+#include "ath_ieee80211.h"
+#include "ath_impl.h"
+
+#define	list_empty(a) ((a)->list_head.list_next == &(a)->list_head)
+
+static const char *ieee80211_mgt_subtype_name[] = {
+	"assoc_req",	"assoc_resp",	"reassoc_req",	"reassoc_resp",
+	"probe_req",	"probe_resp",	"reserved#6",	"reserved#7",
+	"beacon",	"atim",		"disassoc",	"auth",
+	"deauth",	"reserved#13",	"reserved#14",	"reserved#15"
+};
+
+extern pri_t minclsyspri;
+
+static void
+ieee80211_unref_node(struct ieee80211_node **in)
+{
+	*in = NULL;
+}
+
+static uint8_t
+ieee80211_get_rssi(struct ieee80211_node *in)
+{
+	/* no recent samples, use last known value */
+	return (in->in_recv_hist[in->in_hist_cur].irh_rssi);
+}
+
+static void
+ieee80211_reset_recvhist(struct ieee80211_node *in)
+{
+	int i;
+
+	for (i = 0; i < IEEE80211_RECV_HIST_LEN; ++i) {
+		in->in_recv_hist[i].irh_jiffies = IEEE80211_JIFFIES_NONE;
+		in->in_recv_hist[i].irh_rssi = 0;
+		in->in_recv_hist[i].irh_rstamp = 0;
+		in->in_recv_hist[i].irh_rantenna = 0;
+	}
+	in->in_hist_cur = IEEE80211_RECV_HIST_LEN - 1;
+}
+
+
+static void
+ieee80211_add_recvhist(struct ieee80211_node *in, uint8_t rssi,
+    uint32_t rstamp, uint8_t rantenna)
+{
+	if (++in->in_hist_cur >= IEEE80211_RECV_HIST_LEN)
+		in->in_hist_cur = 0;
+	in->in_recv_hist[in->in_hist_cur].irh_rssi = rssi;
+	in->in_recv_hist[in->in_hist_cur].irh_rstamp = rstamp;
+	in->in_recv_hist[in->in_hist_cur].irh_rantenna = rantenna;
+}
+
+/*
+ * Convert MHz frequency to IEEE channel number.
+ */
+uint32_t
+ieee80211_mhz2ieee(uint32_t freq, uint32_t flags)
+{
+	if (flags & IEEE80211_CHAN_2GHZ) {	/* 2GHz band */
+		if (freq == 2484)
+			return (14);
+		if (freq < 2484)
+			return ((freq - 2407) / 5);
+		else
+			return (15 + ((freq - 2512) / 20));
+	} else if (flags & IEEE80211_CHAN_5GHZ) {	/* 5Ghz band */
+		return ((freq - 5000) / 5);
+	} else {				/* either, guess */
+		if (freq == 2484)
+			return (14);
+		if (freq < 2484)
+			return ((freq - 2407) / 5);
+		if (freq < 5000)
+			return (15 + ((freq - 2512) / 20));
+		return ((freq - 5000) / 5);
+	}
+}
+
+/*
+ * Convert channel to IEEE channel number.
+ */
+uint32_t
+ieee80211_chan2ieee(ieee80211com_t *isc, struct ieee80211channel *ch)
+{
+	if (isc->isc_channels <= ch &&
+	    ch <= &isc->isc_channels[IEEE80211_CHAN_MAX])
+		return (ch - isc->isc_channels);
+	else if (ch == IEEE80211_CHAN_ANYC)
+		return (IEEE80211_CHAN_ANY);
+	else {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_chan2ieee(): "
+		    "invalid channel freq %u flags %x\n",
+		    ch->ich_freq, ch->ich_flags));
+		return (0);
+	}
+}
+
+/*
+ * Convert IEEE channel number to MHz frequency.
+ */
+uint32_t
+ieee80211_ieee2mhz(uint32_t chan, uint32_t flags)
+{
+	if (flags & IEEE80211_CHAN_2GHZ) {	/* 2GHz band */
+		if (chan == 14)
+			return (2484);
+		if (chan < 14)
+			return (2407 + chan * 5);
+		else
+			return (2512 + ((chan-15) * 20));
+	} else if (flags & IEEE80211_CHAN_5GHZ) {	/* 5Ghz band */
+		return (5000 + (chan * 5));
+	} else {				/* either, guess */
+		if (chan == 14)
+			return (2484);
+		if (chan < 14)			/* 0-13 */
+			return (2407 + chan * 5);
+		if (chan < 27)			/* 15-26 */
+			return (2512 + ((chan-15) * 20));
+		return (5000 + (chan * 5));
+	}
+}
+
+static void
+ieee80211_free_node(ieee80211com_t *isc, struct ieee80211_node *in)
+{
+	int32_t i, done;
+	struct ieee80211_node *in1;
+
+	/* remove in from list of isc->isc_in_list */
+	list_remove(&isc->isc_in_list, in);
+
+	/* remove in from list of isc->isc_inhash_list */
+	done = 0;
+	for (i = 0; i < IEEE80211_NODE_HASHSIZE; i++) {
+		in1 = list_head(&isc->isc_inhash_list[i]);
+		while (in1 != NULL) {
+			if (in1 == in) {
+				list_remove(&isc->isc_inhash_list[i], in);
+				done = 1;
+				break;
+			}
+			in1 = list_next(&isc->isc_inhash_list[i], in1);
+		}
+		if (done)
+			break;
+	}
+
+	if (list_empty(&isc->isc_in_list))
+		isc->isc_inact_timeout = 0;
+	if (isc->isc_node_free != NULL)
+		(*isc->isc_node_free)(isc, in);
+}
+
+/*
+ * This function is only running in software interrupt thread,
+ * and it will probably call back to LLD by isc_mgmt_send() or isc_new_state(),
+ * to avoid recursive mutex entry, we must make sure that
+ * the callers have release all LLD mutexs before calling ieee80211_input().
+ */
+void
+ieee80211_input(ieee80211com_t *isc, mblk_t *mp,
+	int32_t rssi, uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_node *in;
+	gld_mac_info_t *gld_p = isc->isc_dev;
+	struct ieee80211_frame *wh;
+	void (*rh)(ieee80211com_t *, mblk_t *, int32_t, uint32_t, uint32_t);
+	uint8_t dir, subtype;
+	uint8_t *bssid;
+	uint16_t rxseq;
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	if ((wh->ifrm_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
+	    IEEE80211_FC0_VERSION_0) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_input(): "
+		    "discard pkt with wrong version"));
+		goto out;
+	}
+
+	dir = wh->ifrm_fc[1] & IEEE80211_FC1_DIR_MASK;
+
+	mutex_enter(&isc->isc_genlock);
+	if (isc->isc_state != IEEE80211_S_SCAN) {
+		switch (isc->isc_opmode) {
+		case IEEE80211_M_STA:
+			in = isc->isc_bss;
+			if (!IEEE80211_ADDR_EQ(wh->ifrm_addr2, in->in_bssid))
+				goto out_with_mutex;
+			break;
+		case IEEE80211_M_IBSS:
+		case IEEE80211_M_AHDEMO:
+		case IEEE80211_M_HOSTAP:
+			if (dir == IEEE80211_FC1_DIR_NODS)
+				bssid = wh->ifrm_addr3;
+			else
+				bssid = wh->ifrm_addr1;
+			if (!IEEE80211_ADDR_EQ(bssid, isc->isc_bss->in_bssid) &&
+			    !IEEE80211_ADDR_EQ(bssid,
+			    gld_p->gldm_broadcast_addr)) {
+				/* not interested in */
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "ieee80211_input(): other bss %s\n",
+				    ieee80211_ether_sprintf(wh->ifrm_addr3)));
+				goto out_with_mutex;
+			}
+			in = ieee80211_find_node(isc, wh->ifrm_addr2);
+			if (in == NULL) {
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "ieee80211_input(): unknown src %s\n",
+				    ieee80211_ether_sprintf(wh->ifrm_addr2)));
+				/*
+				 * NB: Node allocation is handled in the
+				 * management handling routines.  Just fake
+				 * up a reference to the hosts's node to do
+				 * the stuff below.
+				 */
+				in = isc->isc_bss;
+			}
+			break;
+		default:
+			/* catch bad values */
+			break;
+		}
+		ieee80211_add_recvhist(in, rssi, rstamp, rantenna);
+		rxseq = in->in_rxseq;
+		in->in_rxseq = LE_16(*(uint16_t *)wh->ifrm_seq)
+		    >> IEEE80211_SEQ_SEQ_SHIFT;
+		/* fragment */
+		if ((wh->ifrm_fc[1] & IEEE80211_FC1_RETRY) &&
+		    rxseq == in->in_rxseq) {
+			/* duplicate, silently discarded */
+			goto out_with_mutex;
+		}
+		in->in_inact = 0;
+	}
+
+	switch (wh->ifrm_fc[0] & IEEE80211_FC0_TYPE_MASK) {
+	case IEEE80211_FC0_TYPE_DATA:
+		switch (isc->isc_opmode) {
+		case IEEE80211_M_STA:
+			if (dir != IEEE80211_FC1_DIR_FROMDS) {
+				ATH_DEBUG((ATH_DBG_80211, "ath: ",
+				    "ieee80211_input(): discard frame "
+				    "with invalid direction %x\n", dir));
+				goto out_with_mutex;
+			}
+			if (IEEE80211_IS_MULTICAST(wh->ifrm_addr1) &&
+			    IEEE80211_ADDR_EQ(wh->ifrm_addr3,
+			    gld_p->gldm_vendor_addr)) {
+				/*
+				 * In IEEE802.11 network, multicast packet
+				 * sent from me is broadcasted from AP.
+				 * It should be silently discarded for
+				 * SIMPLEX interface.
+				 */
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "ieee80211_input(): "
+				    "discard multicast echo\n"));
+				goto out_with_mutex;
+			}
+			break;
+		case IEEE80211_M_IBSS:
+		case IEEE80211_M_AHDEMO:
+			if (dir != IEEE80211_FC1_DIR_NODS)
+				goto out_with_mutex;
+			break;
+		case IEEE80211_M_HOSTAP:
+			/* need more work to support HOSTAP */
+			break;
+		}
+
+		mutex_exit(&isc->isc_genlock);
+		/* copy to listener after decrypt */
+		mp = ieee80211_decap(mp);
+		if (mp == NULL) {
+			ATH_DEBUG((ATH_DBG_80211, "ath: ",
+			    "ieee80211_input(): decapsulation failed\n"));
+			goto out;
+		}
+		gld_recv(gld_p, mp);
+		return;
+
+	case IEEE80211_FC0_TYPE_MGT:
+		if (dir != IEEE80211_FC1_DIR_NODS)
+			goto out_with_mutex;
+		if (isc->isc_opmode == IEEE80211_M_AHDEMO)
+			goto out_with_mutex;
+		subtype = wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
+
+		/* drop uninteresting frames */
+		if (isc->isc_state == IEEE80211_S_SCAN) {
+			if (subtype != IEEE80211_FC0_SUBTYPE_BEACON &&
+			    subtype != IEEE80211_FC0_SUBTYPE_PROBE_RESP)
+				goto out_with_mutex;
+		} else {
+			if (isc->isc_opmode != IEEE80211_M_IBSS &&
+			    subtype == IEEE80211_FC0_SUBTYPE_BEACON)
+				goto out_with_mutex;
+		}
+
+		rh = isc->isc_recv_mgmt[subtype >> IEEE80211_FC0_SUBTYPE_SHIFT];
+		if (rh != NULL)
+			(*rh)(isc, mp, rssi, rstamp, rantenna);
+		goto out_with_mutex;
+
+	case IEEE80211_FC0_TYPE_CTL:
+	default:
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_input(): "
+		    "bad type %x\n", wh->ifrm_fc[0]));
+		break;
+	}
+out_with_mutex:
+	mutex_exit(&isc->isc_genlock);
+out:
+	if (mp != NULL)
+		freemsg(mp);	/* free the buffer alloced in ath_rx_handler */
+}
+
+static void
+ieee80211_free_allnodes(ieee80211com_t *isc)
+{
+	struct ieee80211_node *in;
+
+	in = list_head(&isc->isc_in_list);
+	while (in != NULL) {
+		ieee80211_free_node(isc, in);
+		in = list_head(&isc->isc_in_list);
+	}
+}
+
+/*
+ * Begin an active scan.
+ */
+static void
+ieee80211_begin_scan(ieee80211com_t *isc, struct ieee80211_node *in)
+{
+	ATH_DEBUG((ATH_DBG_80211, "ath: "
+	    "ieee80211_begin_scan(): begin %s scan\n",
+	    isc->isc_opmode != IEEE80211_M_HOSTAP ? "active" : "passive"));
+
+	/*
+	 * Initialize the active channel set based on the set
+	 * of available channels and the current PHY mode.
+	 */
+	bcopy(isc->isc_chan_active, isc->isc_chan_scan,
+	    sizeof (isc->isc_chan_active));
+
+	/*
+	 * Flush any previously seen AP's.  Note that this
+	 * assumes we don't act as both an AP and a station,
+	 * otherwise we'll potentially flush state of stations
+	 * associated with us.
+	 */
+	ieee80211_free_allnodes(isc);
+
+	clrbit(isc->isc_chan_scan, ieee80211_chan2ieee(isc, in->in_chan));
+	if (isc->isc_opmode != IEEE80211_M_HOSTAP) {
+		isc->isc_flags |= IEEE80211_F_ASCAN;
+		IEEE80211_SEND_MGMT(isc, in,
+		    IEEE80211_FC0_SUBTYPE_PROBE_REQ, 0);
+	}
+}
+
+static void
+ieee80211_create_ibss(ieee80211com_t *isc, struct ieee80211channel *chan)
+{
+	struct ieee80211_node *in;
+
+	in = isc->isc_bss;
+	ATH_DEBUG((ATH_DBG_80211, "ath: "
+	    "ieee80211_create_ibss(): creating ibss\n"));
+	isc->isc_flags |= IEEE80211_F_SIBSS;
+	in->in_chan = chan;
+	in->in_rates = isc->isc_sup_rates[
+	    ieee80211_chan2mode(isc, in->in_chan)];
+	IEEE80211_ADDR_COPY(in->in_macaddr, isc->isc_macaddr);
+	IEEE80211_ADDR_COPY(in->in_bssid, isc->isc_macaddr);
+
+	if (isc->isc_opmode == IEEE80211_M_IBSS)
+		in->in_bssid[0] |= 0x02;	/* local bit for IBSS */
+	in->in_esslen = isc->isc_des_esslen;
+	bcopy(isc->isc_des_essid, in->in_essid, in->in_esslen);
+	ieee80211_reset_recvhist(in);
+	bzero(in->in_tstamp, sizeof (in->in_tstamp));
+	in->in_intval = isc->isc_lintval;
+	in->in_capinfo = IEEE80211_CAPINFO_IBSS;
+	if (isc->isc_flags & IEEE80211_F_WEPON)
+		in->in_capinfo |= IEEE80211_CAPINFO_PRIVACY;
+	if (isc->isc_phytype == IEEE80211_T_FH) {
+		in->in_fhdwell = 200;
+		in->in_fhindex = 1;
+	}
+	(void) _ieee80211_new_state(isc, IEEE80211_S_RUN, -1);
+}
+
+
+/*
+ * The difference between _ieee80211_new_state() and ieee80211_new_state()
+ * is the former asserts isc_genlock is already held.
+ * _ieee80211_new_state() is called from Multi-func thread and GLD thread,
+ * because ic_genlock is already owned at its entry in those 2 types of thread.
+ * ieee80211_new_state() is just for software interrupt thread in LLD.
+ *
+ * Because of the reason to avoid recursive mutex entry, the caller can't hold
+ * any other LLD mutexs before calling ieee80211_new_state().
+ */
+int
+_ieee80211_new_state(ieee80211com_t *isc, enum ieee80211_state nstate,
+    int32_t mgt)
+{
+	gld_mac_info_t *gld_p = isc->isc_dev;
+	struct ieee80211_node *in;
+	int error, ostate;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	ostate = isc->isc_state;
+	if (isc->isc_new_state) {
+		error = (*isc->isc_new_state)(isc, nstate);
+		if (error == EINPROGRESS)
+			return (0);
+		if (error != 0)
+			return (error);
+	}
+
+	isc->isc_state = nstate;
+	in = isc->isc_bss;
+
+	/* state transition */
+	switch (nstate) {
+	case IEEE80211_S_INIT:
+		switch (ostate) {
+		case IEEE80211_S_INIT:
+			break;
+		case IEEE80211_S_RUN:
+			switch (isc->isc_opmode) {
+			case IEEE80211_M_STA:
+				IEEE80211_SEND_MGMT(isc, in,
+				    IEEE80211_FC0_SUBTYPE_DISASSOC,
+				    IEEE80211_REASON_ASSOC_LEAVE);
+				break;
+			default:
+				break;
+			}
+		case IEEE80211_S_ASSOC:
+			switch (isc->isc_opmode) {
+			case IEEE80211_M_STA:
+				IEEE80211_SEND_MGMT(isc, in,
+				    IEEE80211_FC0_SUBTYPE_DEAUTH,
+				    IEEE80211_REASON_AUTH_LEAVE);
+				break;
+			default:
+				break;
+			}
+		case IEEE80211_S_AUTH:
+		case IEEE80211_S_SCAN:
+			break;
+		}
+		isc->isc_mgt_timeout = 0;
+		isc->isc_inact_timeout = 0;
+		break;
+	case IEEE80211_S_SCAN:
+		isc->isc_flags &= ~IEEE80211_F_SIBSS;
+		/* initialize bss for probe request */
+		IEEE80211_ADDR_COPY(in->in_macaddr, gld_p->gldm_broadcast_addr);
+		IEEE80211_ADDR_COPY(in->in_bssid, gld_p->gldm_broadcast_addr);
+		in->in_rates = isc->isc_sup_rates[
+		    ieee80211_chan2mode(isc, in->in_chan)];
+		in->in_associd = 0;
+		ieee80211_reset_recvhist(in);
+		switch (ostate) {
+		case IEEE80211_S_INIT:
+			if ((isc->isc_opmode == IEEE80211_M_HOSTAP ||
+			    isc->isc_opmode == IEEE80211_M_IBSS) &&
+			    isc->isc_des_chan != IEEE80211_CHAN_ANYC) {
+				/*
+				 * AP operation and we already have a channel;
+				 * bypass the scan and startup immediately.
+				 * Same applies to ad-hoc mode.
+				 */
+				ieee80211_create_ibss(isc, isc->isc_des_chan);
+			} else {
+				ieee80211_begin_scan(isc, in);
+			}
+			break;
+		case IEEE80211_S_SCAN:
+			/* scan next */
+			if (isc->isc_flags & IEEE80211_F_ASCAN) {
+				IEEE80211_SEND_MGMT(isc, in,
+				    IEEE80211_FC0_SUBTYPE_PROBE_REQ, 0);
+			}
+			break;
+		case IEEE80211_S_RUN:
+			/* beacon miss */
+			ATH_DEBUG((ATH_DBG_80211, "ath: "
+			    "_ieee80211_new_state(): no recent beacons"
+			    " from %s; rescanning\n",
+			    ieee80211_ether_sprintf(isc->isc_bss->in_bssid)));
+			ieee80211_free_allnodes(isc);
+			break;
+		case IEEE80211_S_AUTH:
+		case IEEE80211_S_ASSOC:
+			/* timeout, restart scan */
+			in = ieee80211_find_node(isc, isc->isc_bss->in_macaddr);
+			if (in != NULL) {
+				in->in_fails++;
+			}
+			ieee80211_begin_scan(isc, isc->isc_bss);
+			break;
+		default:
+			break;
+		}
+		break;
+	case IEEE80211_S_AUTH:
+		switch (ostate) {
+		case IEEE80211_S_INIT:
+			ATH_DEBUG((ATH_DBG_80211, "ath(): "
+			    "_ieee80211_new_state(): invalid transition\n"));
+			break;
+		case IEEE80211_S_SCAN:
+			IEEE80211_SEND_MGMT(isc, in,
+			    IEEE80211_FC0_SUBTYPE_AUTH, 1);
+			break;
+		case IEEE80211_S_AUTH:
+		case IEEE80211_S_ASSOC:
+			switch (mgt) {
+			case IEEE80211_FC0_SUBTYPE_AUTH:
+				IEEE80211_SEND_MGMT(isc, in,
+				    IEEE80211_FC0_SUBTYPE_AUTH, 2);
+				break;
+			case IEEE80211_FC0_SUBTYPE_DEAUTH:
+				/* ignore and retry scan on timeout */
+				break;
+			}
+			break;
+		case IEEE80211_S_RUN:
+			switch (mgt) {
+			case IEEE80211_FC0_SUBTYPE_AUTH:
+				IEEE80211_SEND_MGMT(isc, in,
+				    IEEE80211_FC0_SUBTYPE_AUTH, 2);
+				isc->isc_state = ostate;	/* stay RUN */
+				break;
+			case IEEE80211_FC0_SUBTYPE_DEAUTH:
+				/* try to reauth */
+				IEEE80211_SEND_MGMT(isc, in,
+				    IEEE80211_FC0_SUBTYPE_AUTH, 1);
+				break;
+			}
+			break;
+		}
+		break;
+	case IEEE80211_S_ASSOC:
+		switch (ostate) {
+		case IEEE80211_S_INIT:
+		case IEEE80211_S_SCAN:
+		case IEEE80211_S_ASSOC:
+			ATH_DEBUG((ATH_DBG_80211, "ath: "
+			    "_ieee80211_new_state(): invalid transition\n"));
+			break;
+		case IEEE80211_S_AUTH:
+			IEEE80211_SEND_MGMT(isc, in,
+			    IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0);
+			break;
+		case IEEE80211_S_RUN:
+			IEEE80211_SEND_MGMT(isc, in,
+			    IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 1);
+			break;
+		}
+		break;
+	case IEEE80211_S_RUN:
+		switch (ostate) {
+		case IEEE80211_S_INIT:
+		case IEEE80211_S_AUTH:
+		case IEEE80211_S_RUN:
+			ATH_DEBUG((ATH_DBG_80211, "ath: "
+			    "_ieee80211_new_state(): invalid transition\n"));
+			break;
+		case IEEE80211_S_SCAN:		/* adhoc/hostap mode */
+		case IEEE80211_S_ASSOC:		/* infra mode */
+			if (isc->isc_opmode == IEEE80211_M_STA)
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "_ieee80211_new_state(): "
+				    "associated with %s\n",
+				    ieee80211_ether_sprintf(in->in_bssid)));
+			else
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "_ieee80211_new_state(): "
+				    "asynchronized with %s\n",
+				    ieee80211_ether_sprintf(in->in_bssid)));
+			ATH_DEBUG((ATH_DBG_80211, "ath: "
+			    "_ieee80211_new_state(): "
+			    "essid %s, channel %d, start %uMb\n",
+			    ieee80211_essid_sprintf(in->in_essid,
+			    in->in_esslen),
+			    ieee80211_chan2ieee(isc, in->in_chan),
+			    IEEE80211_RATE2MBS(in->in_rates.ir_rates[
+			    in->in_txrate])));
+			isc->isc_mgt_timeout = 0;
+			break;
+		}
+		break;
+	}
+	return (0);
+}
+
+int
+ieee80211_new_state(ieee80211com_t *isc, enum ieee80211_state nstate,
+    int32_t mgt)
+{
+	int result;
+
+	mutex_enter(&isc->isc_genlock);
+	result = _ieee80211_new_state(isc, nstate, mgt);
+	mutex_exit(&isc->isc_genlock);
+
+	return (result);
+}
+
+static void
+ieee80211_timeout_nodes(ieee80211com_t *isc)
+{
+	struct ieee80211_node *in, *nextbs;
+
+	for (in = list_head(&isc->isc_in_list); in != NULL; ) {
+		if (++in->in_inact <= IEEE80211_INACT_MAX) {
+			in = list_next(&isc->isc_in_list, in);
+			continue;
+		}
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "station %s timed out due to inactivity"
+		    " (%u secs)\n", ieee80211_ether_sprintf(in->in_macaddr),
+		    in->in_inact));
+		nextbs = list_next(&isc->isc_in_list, in);
+		IEEE80211_SEND_MGMT(isc, in,
+		    IEEE80211_FC0_SUBTYPE_DEAUTH,
+		    IEEE80211_REASON_AUTH_EXPIRE);
+		ieee80211_free_node(isc, in);
+		in = nextbs;
+	}
+	if (!list_empty(&isc->isc_in_list))
+		isc->isc_inact_timeout = IEEE80211_INACT_WAIT;
+}
+
+int
+ieee80211_mgmt_output(ieee80211com_t *isc, struct ieee80211_node *in,
+    mblk_t *mp, int type)
+{
+	struct ieee80211_frame *wh;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+	ASSERT(in != NULL);
+
+	in->in_inact = 0;
+	mp->b_rptr -= sizeof (struct ieee80211_frame);
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	wh->ifrm_fc[0] = IEEE80211_FC0_VERSION_0 |
+	    IEEE80211_FC0_TYPE_MGT | type;
+	wh->ifrm_fc[1] = IEEE80211_FC1_DIR_NODS;
+	*(uint16_t *)wh->ifrm_dur = 0;
+	*(uint16_t *)wh->ifrm_seq =
+	    LE_16(in->in_txseq << IEEE80211_SEQ_SEQ_SHIFT);
+	in->in_txseq++;
+	IEEE80211_ADDR_COPY(wh->ifrm_addr1, in->in_macaddr);
+	IEEE80211_ADDR_COPY(wh->ifrm_addr2, isc->isc_macaddr);
+	IEEE80211_ADDR_COPY(wh->ifrm_addr3, in->in_bssid);
+
+	(void) (*isc->isc_mgmt_send)(isc, mp);
+	return (0);
+}
+
+mblk_t *
+ieee80211_fill_header(ieee80211com_t *isc, mblk_t *mp_gld,
+	int32_t wep_txkey, struct ieee80211_node *in)
+{
+	struct ieee80211_frame *wh;
+	struct ieee80211_llc *llc;
+	struct ether_header *eh;
+	mblk_t *mp_header;
+	uint32_t iv;
+	uint8_t *ivp;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	/*
+	 * Alloc a new mblk struct for the whole IEEE80211 header.
+	 */
+	if ((mp_header = allocb(HEADERSPACE, BPRI_MED)) == NULL) {
+		ath_problem("ath: ieee80211_encap(): can't alloc mblk!\n");
+		return (NULL);
+	}
+	mp_header->b_wptr = mp_header->b_rptr +
+		sizeof (struct ieee80211_frame);
+
+	eh = (struct ether_header *)mp_gld->b_rptr;
+
+	/*
+	 * Fill 802.11 field.
+	 */
+	wh = (struct ieee80211_frame *)mp_header->b_rptr;
+	wh->ifrm_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_DATA;
+	*(uint16_t *)wh->ifrm_dur = 0;
+	*(uint16_t *)wh->ifrm_seq =
+	    LE_16(in->in_txseq << IEEE80211_SEQ_SEQ_SHIFT);
+	in->in_txseq++;
+	switch (isc->isc_opmode) {
+	case IEEE80211_M_STA:
+		wh->ifrm_fc[1] = IEEE80211_FC1_DIR_TODS;
+		IEEE80211_ADDR_COPY(wh->ifrm_addr1, in->in_bssid);
+		IEEE80211_ADDR_COPY(wh->ifrm_addr2,
+		    eh->ether_shost.ether_addr_octet);
+		IEEE80211_ADDR_COPY(wh->ifrm_addr3,
+		    eh->ether_dhost.ether_addr_octet);
+		break;
+	case IEEE80211_M_IBSS:
+	case IEEE80211_M_AHDEMO:
+		wh->ifrm_fc[1] = IEEE80211_FC1_DIR_NODS;
+		IEEE80211_ADDR_COPY(wh->ifrm_addr1,
+		    eh->ether_dhost.ether_addr_octet);
+		IEEE80211_ADDR_COPY(wh->ifrm_addr2,
+		    eh->ether_shost.ether_addr_octet);
+		IEEE80211_ADDR_COPY(wh->ifrm_addr3, in->in_bssid);
+		break;
+	case IEEE80211_M_HOSTAP:
+		wh->ifrm_fc[1] = IEEE80211_FC1_DIR_FROMDS;
+		IEEE80211_ADDR_COPY(wh->ifrm_addr1,
+		    eh->ether_dhost.ether_addr_octet);
+		IEEE80211_ADDR_COPY(wh->ifrm_addr2, in->in_bssid);
+		IEEE80211_ADDR_COPY(wh->ifrm_addr3,
+		    eh->ether_shost.ether_addr_octet);
+		break;
+	}
+
+	if (isc->isc_flags & IEEE80211_F_WEPON) {
+		wh->ifrm_fc[1] |= IEEE80211_FC1_WEP;
+		ivp = mp_header->b_rptr + sizeof (struct ieee80211_frame);
+		/*
+		 * IV must not duplicate during the lifetime of the key.
+		 * But no mechanism to renew keys is defined in IEEE 802.11
+		 * WEP.  And IV may be duplicated between other stations
+		 * because of the session key itself is shared.
+		 * So we use pseudo random IV for now, though it is not the
+		 * right way.
+		 */
+		iv = isc->isc_iv;
+		/*
+		 * Skip 'bad' IVs from Fluhrer/Mantin/Shamir:
+		 * (B, 255, N) with 3 <= B < 8
+		 */
+		if ((iv & 0xff00) == 0xff00) {
+			int B = (iv & 0xff0000) >> 16;
+			if (3 <= B && B < 16)
+				iv = (B+1) << 16;
+		}
+		isc->isc_iv = iv + 1;
+
+#ifdef ATH_HOST_BIG_ENDIAN
+		ivp[0] = iv >> 0;
+		ivp[1] = iv >> 8;
+		ivp[2] = iv >> 16;
+#else
+		ivp[2] = iv >> 0;
+		ivp[1] = iv >> 8;
+		ivp[0] = iv >> 16;
+#endif /* ATH_HOST_BIG_ENDIAN */
+
+		/* Key ID and pad */
+		ivp[IEEE80211_WEP_IVLEN] = wep_txkey << 6;
+		/*
+		 * The ICV length must be included into hdrlen and pktlen.
+		 */
+		mp_header->b_wptr +=
+			IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN;
+	}
+
+	/*
+	 * CRC are added by H/W, not encaped by driver,
+	 * but we must count it in pkt length.
+	 */
+
+	/*
+	 * fill LLC and SNAP fields.
+	 */
+	llc = (struct ieee80211_llc *)mp_header->b_wptr;
+	llc->illc_dsap = LLC_DSAP;
+	llc->illc_ssap = LLC_SSAP;
+	llc->illc_control = LLC_CONTROL;
+	llc->illc_oc[0] = SNAP_OC0;
+	llc->illc_oc[1] = SNAP_OC1;
+	llc->illc_oc[2] = SNAP_OC2;
+	llc->illc_ether_type = eh->ether_type;
+	mp_header->b_wptr += sizeof (struct ieee80211_llc);
+
+	return (mp_header);
+}
+
+mblk_t *
+ieee80211_decap(mblk_t *mp)
+{
+	struct ether_header *eh;
+	struct ieee80211_frame wh;
+	struct ieee80211_llc *llc;
+
+	if ((mp->b_wptr - mp->b_rptr) < (sizeof (wh) + sizeof (*llc))) {
+		freemsg(mp);
+		return (NULL);
+	}
+
+	bcopy(mp->b_rptr, &wh, sizeof (struct ieee80211_frame));
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+	llc = (struct ieee80211_llc *)mp->b_rptr;
+
+	if (llc->illc_dsap == LLC_DSAP && llc->illc_ssap == LLC_SSAP &&
+	    llc->illc_control == LLC_CONTROL && llc->illc_oc[0] == SNAP_OC0 &&
+	    llc->illc_oc[1] == SNAP_OC1 && llc->illc_oc[2] == SNAP_OC2) {
+		mp->b_rptr += sizeof (struct ieee80211_llc);
+		llc = NULL;
+	}
+	/*
+	 * we are sure that the size of ieee80211_frame plus llc is
+	 * larger than the size of ether_header,
+	 * so there has enough space to encap ether_header in this mblk.
+	 */
+	mp->b_rptr -= sizeof (struct ether_header);
+	eh = (struct ether_header *)mp->b_rptr;
+	switch (wh.ifrm_fc[1] & IEEE80211_FC1_DIR_MASK) {
+	case IEEE80211_FC1_DIR_NODS:
+		IEEE80211_ADDR_COPY(eh->ether_dhost.ether_addr_octet,
+		    wh.ifrm_addr1);
+		IEEE80211_ADDR_COPY(eh->ether_shost.ether_addr_octet,
+		    wh.ifrm_addr2);
+		break;
+	case IEEE80211_FC1_DIR_TODS:
+		IEEE80211_ADDR_COPY(eh->ether_dhost.ether_addr_octet,
+		    wh.ifrm_addr3);
+		IEEE80211_ADDR_COPY(eh->ether_shost.ether_addr_octet,
+		    wh.ifrm_addr2);
+		break;
+	case IEEE80211_FC1_DIR_FROMDS:
+		IEEE80211_ADDR_COPY(eh->ether_dhost.ether_addr_octet,
+		    wh.ifrm_addr1);
+		IEEE80211_ADDR_COPY(eh->ether_shost.ether_addr_octet,
+		    wh.ifrm_addr3);
+		break;
+	case IEEE80211_FC1_DIR_DSTODS:
+		/* not yet supported */
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "ieee80211_decap(): DS to DS\n"));
+		freemsg(mp);
+		return (NULL);
+	}
+
+	if (llc != NULL)
+		eh->ether_type = htons(mp->b_wptr - mp->b_rptr - sizeof (*eh));
+
+	return (mp);
+}
+
+/*
+ * This function doesn't need mutex protection.
+ */
+void
+ieee80211_dump_pkt(uint8_t *buf, int32_t len, int32_t rate, int32_t rssi)
+{
+	struct ieee80211_frame *wh;
+	int32_t i;
+	int8_t buf1[100], buf2[25];
+
+	bzero(buf1, sizeof (buf1));
+	bzero(buf2, sizeof (buf2));
+	wh = (struct ieee80211_frame *)buf;
+	switch (wh->ifrm_fc[1] & IEEE80211_FC1_DIR_MASK) {
+	case IEEE80211_FC1_DIR_NODS:
+		(void) sprintf(buf2, "NODS %s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "->%s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr1));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "(%s)",
+		    ieee80211_ether_sprintf(wh->ifrm_addr3));
+		(void) strcat(buf1, buf2);
+		break;
+	case IEEE80211_FC1_DIR_TODS:
+		(void) sprintf(buf2, "TODS %s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "->%s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr3));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "(%s)",
+		    ieee80211_ether_sprintf(wh->ifrm_addr1));
+		(void) strcat(buf1, buf2);
+		break;
+	case IEEE80211_FC1_DIR_FROMDS:
+		(void) sprintf(buf2, "FRDS %s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr3));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "->%s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr1));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "(%s)",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		(void) strcat(buf1, buf2);
+		break;
+	case IEEE80211_FC1_DIR_DSTODS:
+		(void) sprintf(buf2, "DSDS %s",
+		    ieee80211_ether_sprintf((uint8_t *)&wh[1]));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "->%s  ",
+		    ieee80211_ether_sprintf(wh->ifrm_addr3));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "%s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		(void) strcat(buf1, buf2);
+		(void) sprintf(buf2, "->%s",
+		    ieee80211_ether_sprintf(wh->ifrm_addr1));
+		(void) strcat(buf1, buf2);
+		break;
+	}
+	ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_dump_pkt(): %s", buf1));
+	bzero(buf1, sizeof (buf1));
+
+	switch (wh->ifrm_fc[0] & IEEE80211_FC0_TYPE_MASK) {
+	case IEEE80211_FC0_TYPE_DATA:
+		(void) sprintf(buf2, "data");
+		break;
+	case IEEE80211_FC0_TYPE_MGT:
+		(void) sprintf(buf2, "%s",
+		    ieee80211_mgt_subtype_name[
+		    (wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK)
+		    >> IEEE80211_FC0_SUBTYPE_SHIFT]);
+		break;
+	default:
+		(void) sprintf(buf2, "type#%d",
+		    wh->ifrm_fc[0] & IEEE80211_FC0_TYPE_MASK);
+		break;
+	}
+	(void) strcat(buf1, buf2);
+	if (wh->ifrm_fc[1] & IEEE80211_FC1_WEP) {
+		(void) sprintf(buf2, " WEP");
+		(void) strcat(buf1, buf2);
+	}
+	if (rate >= 0) {
+		(void) sprintf(buf2, " %dM", rate / 2);
+		(void) strcat(buf1, buf2);
+	}
+	if (rssi >= 0) {
+		(void) sprintf(buf2, " +%d", rssi);
+		(void) strcat(buf1, buf2);
+	}
+	ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_dump_pkt(): %s", buf1));
+	bzero(buf1, sizeof (buf1));
+
+	if (len > 0) {
+		for (i = 0; i < (len > 40 ? 40 : len); i++) {
+			if ((i & 0x03) == 0)
+				(void) strcat(buf1, " ");
+			(void) sprintf(buf2, "%02x", buf[i]);
+			(void) strcat(buf1, buf2);
+		}
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_dump_pkt(): %s",
+		    buf1));
+	}
+}
+
+/*
+ * Mark the basic rates for the 11g rate table based on the
+ * operating mode.  For real 11g we mark all the 11b rates
+ * and 6, 12, and 24 OFDM.  For 11b compatibility we mark only
+ * 11b rates.  There's also a pseudo 11a-mode used to mark only
+ * the basic OFDM rates.
+ */
+static void
+ieee80211_set11gbasicrates(struct ieee80211_rateset *rs,
+    enum ieee80211_phymode mode)
+{
+	static const struct ieee80211_rateset basic[] = {
+	    { 3, { 12, 24, 48 } },		/* IEEE80211_MODE_11A */
+	    { 4, { 2, 4, 11, 22 } },		/* IEEE80211_MODE_11B */
+	    { 7, { 2, 4, 11, 22, 12, 24, 48 } },	/* IEEE80211_MODE_11G */
+	    { 0 },				/* IEEE80211_MODE_TURBO	*/
+	};
+	int32_t i, j;
+
+	for (i = 0; i < rs->ir_nrates; i++) {
+		rs->ir_rates[i] &= IEEE80211_RATE_VAL;
+		for (j = 0; j < basic[mode].ir_nrates; j++)
+			if (basic[mode].ir_rates[j] == rs->ir_rates[i]) {
+				rs->ir_rates[i] |= IEEE80211_RATE_BASIC;
+				break;
+			}
+	}
+}
+
+/*
+ * Set the current phy mode and recalculate the active channel
+ * set based on the available channels for this mode.  Also
+ * select a new default/current channel if the current one is
+ * inappropriate for this mode.
+ */
+static int
+ieee80211_setmode(ieee80211com_t *isc, enum ieee80211_phymode mode)
+{
+	static const uint32_t chanflags[] = {
+		0,			/* IEEE80211_MODE_AUTO */
+		IEEE80211_CHAN_A,	/* IEEE80211_MODE_11A */
+		IEEE80211_CHAN_B,	/* IEEE80211_MODE_11B */
+		IEEE80211_CHAN_PUREG,	/* IEEE80211_MODE_11G */
+		IEEE80211_CHAN_T,	/* IEEE80211_MODE_TURBO	*/
+	};
+	struct ieee80211channel *ch;
+	uint32_t modeflags;
+	int32_t i;
+
+	/* validate new mode */
+	if ((isc->isc_modecaps & (1 << mode)) == 0) {
+		ath_problem("ath: ieee80211_setmode(): mode %u not supported"
+		    " (caps 0x%x)\n", mode, isc->isc_modecaps);
+		return (EINVAL);
+	}
+
+	/*
+	 * Verify at least one channel is present in the available
+	 * channel list before committing to the new mode.
+	 */
+	ASSERT(mode < ATH_N(chanflags));
+
+	modeflags = chanflags[mode];
+	/* isc_channels size is IEEE80211_CHAN_MAX + 1, so no problem */
+	for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
+		ch = &isc->isc_channels[i];
+		if (mode == IEEE80211_MODE_AUTO) {
+			/* ignore turbo channels for autoselect */
+			if ((ch->ich_flags & ~IEEE80211_CHAN_TURBO) != 0)
+				break;
+		} else {
+			if ((ch->ich_flags & modeflags) == modeflags)
+				break;
+		}
+	}
+	if (i > IEEE80211_CHAN_MAX) {
+		ath_problem("ath: ieee80211_setmode(): "
+		    "no channel found for mode %u\n", mode);
+		return (EINVAL);
+	}
+
+	/*
+	 * Calculate the active channel set.
+	 */
+	bzero(isc->isc_chan_active, sizeof (isc->isc_chan_active));
+	for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
+		ch = &isc->isc_channels[i];
+		if (mode == IEEE80211_MODE_AUTO) {
+			/* take anything but pure turbo channels */
+			if ((ch->ich_flags & ~IEEE80211_CHAN_TURBO) != 0)
+				setbit(isc->isc_chan_active, i);
+		} else {
+			if ((ch->ich_flags & modeflags) == modeflags)
+				setbit(isc->isc_chan_active, i);
+		}
+	}
+	/*
+	 * If no current/default channel is setup or the current
+	 * channel is wrong for the mode then pick the first
+	 * available channel from the active list.  This is likely
+	 * not the right one.
+	 */
+	if (isc->isc_ibss_chan == NULL ||
+	    isclr(isc->isc_chan_active,
+	    ieee80211_chan2ieee(isc, isc->isc_ibss_chan))) {
+		for (i = 0; i <= IEEE80211_CHAN_MAX; i++)
+			if (isset(isc->isc_chan_active, i)) {
+				isc->isc_ibss_chan = &isc->isc_channels[i];
+				break;
+			}
+	}
+
+	/*
+	 * Set/reset state flags that influence beacon contents, etc.
+	 */
+
+	if (isc->isc_caps & IEEE80211_C_SHPREAMBLE)
+		isc->isc_flags |= IEEE80211_F_SHPREAMBLE;
+	if (mode == IEEE80211_MODE_11G) {
+		if (isc->isc_caps & IEEE80211_C_SHSLOT)
+			isc->isc_flags |= IEEE80211_F_SHSLOT;
+		ieee80211_set11gbasicrates(&isc->isc_sup_rates[mode],
+		    IEEE80211_MODE_11G);
+	} else {
+		isc->isc_flags &= ~(IEEE80211_F_SHSLOT);
+	}
+
+	/*
+	 * Setup an initial rate set according to the
+	 * current/default channel.  This will be changed
+	 * when scanning but must exist now so drivers have
+	 * consistent state of ic_ibss_chan.
+	 */
+	if (isc->isc_bss)
+		isc->isc_bss->in_rates = isc->isc_sup_rates[mode];
+	isc->isc_curmode = mode;
+
+	return (0);
+}
+
+/*
+ * If (its return value & IEEE80211_RATE_BASIC != 0),
+ * the rate negotiation or fix rate is failed.
+ */
+static int
+ieee80211_fix_rate(ieee80211com_t *isc,
+    struct ieee80211_node *in, int32_t flags)
+{
+	int32_t i, j, ignore, error;
+	int32_t okrate, badrate;
+	struct ieee80211_rateset *srs, *nrs;
+	uint8_t r;
+
+	error = 0;
+	okrate = badrate = 0;
+	srs = &isc->isc_sup_rates[ieee80211_chan2mode(isc, in->in_chan)];
+	nrs = &in->in_rates;
+	for (i = 0; i < in->in_rates.ir_nrates; ) {
+		ignore = 0;
+		if (flags & IEEE80211_F_DOSORT) {
+			/*
+			 * Sort rates.
+			 */
+			for (j = i + 1; j < nrs->ir_nrates; j++) {
+				if (IEEE80211_RV(nrs->ir_rates[i]) >
+				    IEEE80211_RV(nrs->ir_rates[j])) {
+					r = nrs->ir_rates[i];
+					nrs->ir_rates[i] = nrs->ir_rates[j];
+					nrs->ir_rates[j] = r;
+				}
+			}
+		}
+		r = nrs->ir_rates[i] & IEEE80211_RATE_VAL;
+		badrate = r;
+		if (flags & IEEE80211_F_DOFRATE) {
+			/*
+			 * Apply fixed rate constraint.  Note that we do
+			 * not apply the constraint to basic rates as
+			 * otherwise we may not be able to associate if
+			 * the rate set we submit to the AP is invalid
+			 * (e.g. fix rate at 36Mb/s which is not a basic
+			 * rate for 11a operation).
+			 */
+			if ((nrs->ir_rates[i] & IEEE80211_RATE_BASIC) == 0 &&
+			    isc->isc_fixed_rate >= 0 &&
+			    r != IEEE80211_RV(srs->ir_rates
+			    [isc->isc_fixed_rate]))
+				ignore++;
+		}
+		if (flags & IEEE80211_F_DONEGO) {
+			/*
+			 * Check against supported rates.
+			 */
+			for (j = 0; j < srs->ir_nrates; j++) {
+				if (r == IEEE80211_RV(srs->ir_rates[j]))
+					break;
+			}
+			if (j == srs->ir_nrates) {
+				if (nrs->ir_rates[i] & IEEE80211_RATE_BASIC)
+					error++;
+				ignore++;
+			}
+		}
+		if (flags & IEEE80211_F_DODEL) {
+			/*
+			 * Delete unacceptable rates.
+			 */
+			if (ignore) {
+				nrs->ir_nrates--;
+				for (j = i; j < nrs->ir_nrates; j++)
+					nrs->ir_rates[j] = nrs->ir_rates[j + 1];
+				nrs->ir_rates[j] = 0;
+				continue;
+			}
+		}
+		if (!ignore)
+			okrate = nrs->ir_rates[i];
+		i++;
+	}
+	if (okrate == 0 || error != 0)
+		return (badrate | IEEE80211_RATE_BASIC);
+	else
+		return (IEEE80211_RV(okrate));
+}
+
+/*
+ * Complete a scan of potential channels.
+ */
+static void
+ieee80211_end_scan(ieee80211com_t *isc)
+{
+	struct ieee80211_node *in, *selbs;
+	uint8_t rate;
+	int32_t fail;
+
+	ASSERT(isc->isc_state == IEEE80211_S_SCAN);
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	isc->isc_flags &= ~IEEE80211_F_ASCAN;
+	cv_broadcast(&isc->isc_scan_cv);
+	in = list_head(&isc->isc_in_list);
+
+	if (in == NULL) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_end_scan(): "
+		    "no scan candidate\n"));
+notfound:
+		if (isc->isc_opmode == IEEE80211_M_IBSS &&
+		    (isc->isc_flags & IEEE80211_F_IBSSON) &&
+		    isc->isc_des_esslen != 0) {
+			ieee80211_create_ibss(isc, isc->isc_ibss_chan);
+			return;
+		}
+		mutex_exit(&isc->isc_genlock);
+		delay(drv_usectohz(200000));
+		mutex_enter(&isc->isc_genlock);
+		ieee80211_begin_scan(isc, isc->isc_bss);
+		return;
+	}
+
+	selbs = NULL;
+	for (; in != NULL; in = list_next(&isc->isc_in_list, in)) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "ieee80211_end_scan(): isc_bss->in_bssid=%s",
+		    ieee80211_ether_sprintf(in->in_bssid)));
+		if (in->in_fails) {
+			/*
+			 * The configuration of the access points may change
+			 * during my scan.  So delete the entry for the AP
+			 * and retry to associate if there is another beacon.
+			 */
+			if (in->in_fails++ > 2)
+				ieee80211_free_node(isc, in);
+			continue;
+		}
+		fail = 0;
+		if (in->in_chan == NULL || in->in_chan->ich_flags == 0)
+			fail |= 0x01;
+		if (isc->isc_des_chan !=
+		    (struct ieee80211channel *)IEEE80211_CHAN_ANY &&
+		    in->in_chan != isc->isc_des_chan)
+			fail |= 0x01;
+		if (isc->isc_opmode == IEEE80211_M_IBSS) {
+			if ((in->in_capinfo & IEEE80211_CAPINFO_IBSS) == 0)
+				fail |= 0x02;
+		} else {
+			if ((in->in_capinfo & IEEE80211_CAPINFO_ESS) == 0)
+				fail |= 0x02;
+		}
+
+		if (isc->isc_flags & IEEE80211_F_WEPON) {
+			if ((in->in_capinfo & IEEE80211_CAPINFO_PRIVACY) == 0)
+				fail |= 0x04;
+		} else {
+			if (in->in_capinfo & IEEE80211_CAPINFO_PRIVACY)
+				fail |= 0x04;
+		}
+
+		rate = ieee80211_fix_rate(isc, in, IEEE80211_F_DONEGO);
+		if (rate & IEEE80211_RATE_BASIC)
+			fail |= 0x08;
+		if (isc->isc_des_esslen != 0 &&
+		    (in->in_esslen != isc->isc_des_esslen ||
+		    bcmp(in->in_essid, isc->isc_des_essid,
+		    isc->isc_des_esslen) != 0))
+			fail |= 0x10;
+		if ((isc->isc_flags & IEEE80211_F_DESBSSID) &&
+		    !IEEE80211_ADDR_EQ(isc->isc_des_bssid, in->in_bssid))
+			fail |= 0x20;
+		if (!fail) {
+			if (selbs == NULL)
+				selbs = in;
+			else if (ieee80211_get_rssi(in) >
+			    ieee80211_get_rssi(selbs))
+				selbs = in;
+		}
+	}
+	if (selbs == NULL)
+		goto notfound;
+	bcopy(selbs, isc->isc_bss, sizeof (struct ieee80211_node));
+	if (isc->isc_opmode == IEEE80211_M_IBSS) {
+		(void) ieee80211_fix_rate(isc, isc->isc_bss,
+		    IEEE80211_F_DOFRATE | IEEE80211_F_DONEGO |
+		    IEEE80211_F_DODEL);
+		if (isc->isc_bss->in_rates.ir_nrates == 0) {
+			selbs->in_fails++;
+			goto notfound;
+		}
+		(void) _ieee80211_new_state(isc, IEEE80211_S_RUN, -1);
+	} else
+		(void) _ieee80211_new_state(isc, IEEE80211_S_AUTH, -1);
+}
+
+
+/*
+ * Switch to the next channel marked for scanning.
+ * This one is only called by multi-func thread.
+ */
+static void
+ieee80211_next_scan(ieee80211com_t *isc)
+{
+	struct ieee80211channel *chan;
+
+	ASSERT(isc->isc_state == IEEE80211_S_SCAN);
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	chan = isc->isc_bss->in_chan;
+	for (;;) {
+		if (++chan > &isc->isc_channels[IEEE80211_CHAN_MAX])
+			chan = &isc->isc_channels[0];
+		if (isset(isc->isc_chan_scan, ieee80211_chan2ieee(isc, chan))) {
+			/*
+			 * Honor channels marked passive-only
+			 * during an active scan.
+			 */
+			if ((isc->isc_flags & IEEE80211_F_ASCAN) == 0 ||
+			    (chan->ich_flags & IEEE80211_CHAN_PASSIVE) == 0)
+				break;
+		}
+		if (chan == isc->isc_bss->in_chan) {
+			ieee80211_end_scan(isc);
+			return;
+		}
+	}
+	clrbit(isc->isc_chan_scan, ieee80211_chan2ieee(isc, chan));
+
+	isc->isc_bss->in_chan = chan;
+	(void) _ieee80211_new_state(isc, IEEE80211_S_SCAN, -1);
+}
+
+
+static void
+ieee80211_setup_node(ieee80211com_t *isc,
+	struct ieee80211_node *in, uint8_t *macaddr)
+{
+	int32_t hash;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	IEEE80211_ADDR_COPY(in->in_macaddr, macaddr);
+	hash = IEEE80211_NODE_HASH(macaddr);
+	list_insert_tail(&isc->isc_in_list, in);
+	list_insert_tail(&isc->isc_inhash_list[hash], in);
+	/*
+	 * Note we don't enable the inactive timer when acting
+	 * as a station.  Nodes created in this mode represent
+	 * AP's identified while scanning.  If we time them out
+	 * then several things happen: we can't return the data
+	 * to users to show the list of AP's we encountered, and
+	 * more importantly, we'll incorrectly deauthenticate
+	 * ourself because the inactivity timer will kick us off.
+	 */
+	if (isc->isc_opmode != IEEE80211_M_STA)
+		isc->isc_inact_timeout = IEEE80211_INACT_WAIT;
+}
+
+static struct ieee80211_node *
+ieee80211_alloc_node(ieee80211com_t *isc, uint8_t *macaddr)
+{
+	struct ieee80211_node *in = (*isc->isc_node_alloc)(isc);
+	bzero(in, sizeof (struct ieee80211_node));
+	ieee80211_setup_node(isc, in, macaddr);
+	return (in);
+}
+
+static struct ieee80211_node *
+ieee80211_dup_bss(ieee80211com_t *isc, uint8_t *macaddr)
+{
+	struct ieee80211_node *in;
+
+	in = kmem_zalloc(sizeof (struct ieee80211_node), KM_SLEEP);
+	ieee80211_setup_node(isc, in, macaddr);
+	return (in);
+}
+
+/*
+ * Find a node state block given the mac address.  Note that
+ * this returns the first node found with the mac address.
+ */
+struct ieee80211_node *
+ieee80211_find_node(ieee80211com_t *isc, uint8_t *macaddr)
+{
+	struct ieee80211_node *in;
+	int32_t hash;
+
+	hash = IEEE80211_NODE_HASH(macaddr);
+	in = list_head(&isc->isc_inhash_list[hash]);
+	while (in != NULL) {
+		if (IEEE80211_ADDR_EQ(in->in_macaddr, macaddr))
+			break;
+		in = list_next(&isc->isc_inhash_list[hash], in);
+	}
+	return (in);
+}
+
+/*
+ * Like find but search based on the channel too.
+ */
+struct ieee80211_node *
+ieee80211_lookup_node(ieee80211com_t *isc, uint8_t *macaddr,
+    struct ieee80211channel *chan)
+{
+	struct ieee80211_node *in;
+	int32_t hash;
+
+	hash = IEEE80211_NODE_HASH(macaddr);
+	in = list_head(&isc->isc_inhash_list[hash]);
+	while (in != NULL) {
+		if (IEEE80211_ADDR_EQ(in->in_macaddr, macaddr) &&
+		    (in->in_chan == chan))
+			break;
+		in = list_next(&isc->isc_inhash_list[hash], in);
+	}
+	return (in);
+}
+
+
+
+/*
+ * Install received rate set information in the node's state block.
+ * If (its return value & IEEE80211_RATE_BASIC != 0),
+ * the rate negotiation or fix rate is failed.
+ */
+static int32_t
+ieee80211_setup_rates(ieee80211com_t *isc, struct ieee80211_node *in,
+	uint8_t *rates, uint8_t *xrates, int32_t flags)
+{
+	struct ieee80211_rateset *rs = &in->in_rates;
+
+	bzero(rs, sizeof (*rs));
+	rs->ir_nrates = rates[1];
+	bcopy(rates + 2, rs->ir_rates, rs->ir_nrates);
+	if (xrates != NULL) {
+		uint8_t nxrates;
+		/*
+		 * Tack on 11g extended supported rate element.
+		 */
+		nxrates = xrates[1];
+		if (rs->ir_nrates + nxrates > IEEE80211_RATE_MAXSIZE) {
+			nxrates = IEEE80211_RATE_MAXSIZE - rs->ir_nrates;
+			ATH_DEBUG((ATH_DBG_80211, "ath: "
+			    "ieee80211_setup_rates(): extended rate set"
+			    " too large; only using %u of %u rates\n",
+			    nxrates, xrates[1]));
+		}
+		bcopy(xrates + 2, rs->ir_rates + rs->ir_nrates, nxrates);
+		rs->ir_nrates += nxrates;
+	}
+	return (ieee80211_fix_rate(isc, in, flags));
+}
+
+
+/*
+ * Misc management frame encapsulation functions.
+ */
+static uint8_t *
+ieee80211_add_rates(uint8_t *frm, const struct ieee80211_rateset *rs)
+{
+	int32_t nrates;
+
+	*frm++ = IEEE80211_ELEMID_RATES;
+	nrates = rs->ir_nrates;
+	if (nrates > IEEE80211_RATE_SIZE)
+		nrates = IEEE80211_RATE_SIZE;
+	*frm++ = nrates;
+	bcopy(rs->ir_rates, frm, nrates);
+	return (frm + nrates);
+}
+
+static uint8_t *
+ieee80211_add_xrates(uint8_t *frm, const struct ieee80211_rateset *rs)
+{
+	/*
+	 * Add an extended supported rates element if operating in 11g mode.
+	 */
+	if (rs->ir_nrates > IEEE80211_RATE_SIZE) {
+		int32_t nrates = rs->ir_nrates - IEEE80211_RATE_SIZE;
+		*frm++ = IEEE80211_ELEMID_XRATES;
+		*frm++ = nrates;
+		bcopy(rs->ir_rates + IEEE80211_RATE_SIZE, frm, nrates);
+		frm += nrates;
+	}
+	return (frm);
+}
+
+static uint8_t *
+ieee80211_add_ssid(uint8_t *frm, const uint8_t *ssid, uint32_t len)
+{
+	*frm++ = IEEE80211_ELEMID_SSID;
+	*frm++ = len;
+	bcopy(ssid, frm, len);
+	return (frm + len);
+}
+
+/*
+ * Following functions are responsible for management frame encapsulation.
+ */
+static int32_t
+ieee80211_send_prreq(ieee80211com_t *isc, struct ieee80211_node *in,
+    int32_t type, int32_t dummy)
+{
+	int32_t ret, pktlen;
+	mblk_t *mp;
+	uint8_t *frm;
+	enum ieee80211_phymode mode;
+
+	_NOTE(ARGUNUSED(dummy));
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+	/*
+	 * prreq frame format
+	 *	[tlv] ssid
+	 *	[tlv] supported rates
+	 *	[tlv] extended supported rates
+	 */
+	pktlen = sizeof (struct ieee80211_frame) +
+	    2 + isc->isc_des_esslen +
+	    2 + IEEE80211_RATE_SIZE +
+	    2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_prreq(): no space\n");
+		return (ENOMEM);
+	}
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+
+	frm = mp->b_rptr;
+	frm = ieee80211_add_ssid(frm, isc->isc_des_essid, isc->isc_des_esslen);
+	mode = ieee80211_chan2mode(isc, in->in_chan);
+	frm = ieee80211_add_rates(frm, &isc->isc_sup_rates[mode]);
+	frm = ieee80211_add_xrates(frm, &isc->isc_sup_rates[mode]);
+	mp->b_wptr = frm;
+
+	ret = ieee80211_mgmt_output(isc, in, mp, type);
+	isc->isc_mgt_timeout = IEEE80211_TRANS_WAIT;
+
+	ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_send_prreq() "
+	    "channel=%u\n", ieee80211_chan2ieee(isc, in->in_chan)));
+
+	return (ret);
+}
+
+static int32_t
+ieee80211_send_prresp(ieee80211com_t *isc, struct ieee80211_node *bs0,
+    int32_t type, int32_t dummy)
+{
+	mblk_t *mp;
+	uint8_t *frm;
+	struct ieee80211_node *in = isc->isc_bss;
+	uint16_t capinfo;
+	int32_t pktlen;
+
+	_NOTE(ARGUNUSED(dummy));
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+	/*
+	 * probe response frame format
+	 *	[8] time stamp
+	 *	[2] beacon interval
+	 *	[2] cabability information
+	 *	[tlv] ssid
+	 *	[tlv] supported rates
+	 *	[tlv] parameter set (IBSS)
+	 *	[tlv] extended supported rates
+	 */
+	pktlen = sizeof (struct ieee80211_frame) +
+	    8 + 2 + 2 + 2 +
+	    2 + in->in_esslen +
+	    2 + IEEE80211_RATE_SIZE +
+	    6 +
+	    2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_prresp(): alloc failed.\n");
+		return (ENOMEM);
+	}
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+	frm = mp->b_rptr;
+
+	bzero(frm, 8);	/* timestamp */
+	frm += 8;
+
+	*(uint16_t *)frm = LE_16(in->in_intval);
+	frm += 2;
+
+	if (isc->isc_opmode == IEEE80211_M_IBSS)
+		capinfo = IEEE80211_CAPINFO_IBSS;
+	else
+		capinfo = IEEE80211_CAPINFO_ESS;
+	if (isc->isc_flags & IEEE80211_F_WEPON)
+		capinfo |= IEEE80211_CAPINFO_PRIVACY;
+	*(uint16_t *)frm = LE_16(capinfo);
+	frm += 2;
+
+	frm = ieee80211_add_ssid(frm, in->in_essid, in->in_esslen);
+	frm = ieee80211_add_rates(frm, &in->in_rates);
+
+	if (isc->isc_opmode == IEEE80211_M_IBSS) {
+		*frm++ = IEEE80211_ELEMID_IBSSPARMS;
+		*frm++ = 2;
+		*frm++ = 0; *frm++ = 0;		/* ATIM window */
+	} else {	/* IEEE80211_M_HOSTAP */
+		/* TIM */
+		*frm++ = IEEE80211_ELEMID_TIM;
+		*frm++ = 4;	/* length */
+		*frm++ = 0;	/* DTIM count */
+		*frm++ = 1;	/* DTIM period */
+		*frm++ = 0;	/* bitmap control */
+		*frm++ = 0;	/* Partial Virtual Bitmap (variable length) */
+	}
+	frm = ieee80211_add_xrates(frm, &in->in_rates);
+	mp->b_wptr = frm;
+
+	return (ieee80211_mgmt_output(isc, bs0, mp, type));
+}
+
+static int32_t
+ieee80211_send_auth(ieee80211com_t *isc, struct ieee80211_node *in,
+    int32_t type, int32_t seq)
+{
+	mblk_t *mp;
+	uint16_t *frm;
+	int32_t ret, pktlen;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	pktlen = sizeof (struct ieee80211_frame) + 3 * sizeof (uint16_t);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_auth(): allocb failed\n");
+		return (ENOMEM);
+	}
+	mp->b_wptr = mp->b_rptr + pktlen;
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+
+	frm = (uint16_t *)mp->b_rptr;
+	/* shared key auth */
+	frm[0] = LE_16(IEEE80211_AUTH_ALG_OPEN);
+	frm[1] = LE_16(seq);
+	frm[2] = 0;	/* status */
+	ret = ieee80211_mgmt_output(isc, in, mp, type);
+	if (isc->isc_opmode == IEEE80211_M_STA)
+		isc->isc_mgt_timeout = IEEE80211_TRANS_WAIT;
+	return (ret);
+}
+
+static int32_t
+ieee80211_send_deauth(ieee80211com_t *isc, struct ieee80211_node *in,
+    int32_t type, int32_t reason)
+{
+	mblk_t *mp;
+	uint16_t *frm;
+	int32_t pktlen;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+	ATH_DEBUG((ATH_DBG_80211, "ath: "
+	    "ieee80211_send_deauth(): station %s deauthenticate",
+	    " (reason %d)\n", ieee80211_ether_sprintf(in->in_macaddr), reason));
+	pktlen = sizeof (struct ieee80211_frame) + sizeof (uint16_t);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_deauth(): allocb failed\n");
+		return (ENOMEM);
+	}
+	mp->b_wptr = mp->b_rptr + pktlen;
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+
+	frm = (uint16_t *)mp->b_rptr;
+	frm[0] = LE_16(reason);
+
+	return (ieee80211_mgmt_output(isc, in, mp, type));
+}
+
+static int32_t
+ieee80211_send_asreq(ieee80211com_t *isc, struct ieee80211_node *in,
+    int32_t type, int32_t dummy)
+{
+	mblk_t *mp;
+	uint8_t *frm;
+	uint16_t capinfo = 0;
+	int32_t ret, pktlen;
+
+	_NOTE(ARGUNUSED(dummy));
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+	/*
+	 * asreq frame format
+	 *	[2] capability information
+	 *	[2] listen interval
+	 *	[6*] current AP address (reassoc only)
+	 *	[tlv] ssid
+	 *	[tlv] supported rates
+	 *	[tlv] extended supported rates
+	 */
+	pktlen = sizeof (struct ieee80211_frame) +
+	    sizeof (capinfo) + sizeof (uint16_t) + IEEE80211_ADDR_LEN +
+	    2 + in->in_esslen + 2 + IEEE80211_RATE_SIZE +
+	    2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_asreq: allocb failed\n");
+		return (ENOMEM);
+	}
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+
+	frm = (uint8_t *)mp->b_rptr;
+
+	capinfo = 0;
+	if (isc->isc_opmode == IEEE80211_M_IBSS)
+		capinfo |= IEEE80211_CAPINFO_IBSS;
+	else	/* IEEE80211_M_STA */
+		capinfo |= IEEE80211_CAPINFO_ESS;
+	if (isc->isc_flags & IEEE80211_F_WEPON)
+		capinfo |= IEEE80211_CAPINFO_PRIVACY;
+	if (isc->isc_flags & IEEE80211_F_SHPREAMBLE)
+		capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE;
+	if (isc->isc_flags & IEEE80211_F_SHSLOT)
+		capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME;
+	capinfo |= 0x0020;
+	*(uint16_t *)frm = LE_16(capinfo);
+	frm += 2;
+
+	*(uint16_t *)frm = LE_16(isc->isc_lintval);
+	frm += 2;
+
+	if (type == IEEE80211_FC0_SUBTYPE_REASSOC_REQ) {
+		IEEE80211_ADDR_COPY(frm, isc->isc_bss->in_bssid);
+		frm += IEEE80211_ADDR_LEN;
+	}
+
+	frm = ieee80211_add_ssid(frm, in->in_essid, in->in_esslen);
+	frm = ieee80211_add_rates(frm, &in->in_rates);
+	frm = ieee80211_add_xrates(frm, &in->in_rates);
+	mp->b_wptr = frm;
+	ret = ieee80211_mgmt_output(isc, in, mp, type);
+	isc->isc_mgt_timeout = IEEE80211_TRANS_WAIT;
+	return (ret);
+}
+
+static int32_t
+ieee80211_send_asresp(ieee80211com_t *isc, struct ieee80211_node *in,
+    int32_t type, int32_t status)
+{
+	mblk_t *mp;
+	uint8_t *frm;
+	uint16_t capinfo;
+	int32_t pktlen;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+	/*
+	 * asreq frame format
+	 *	[2] capability information
+	 *	[2] status
+	 *	[2] association ID
+	 *	[tlv] supported rates
+	 *	[tlv] extended supported rates
+	 */
+	pktlen = sizeof (struct ieee80211_frame) +
+	    sizeof (capinfo) +
+	    sizeof (uint16_t) +
+	    sizeof (uint16_t) +
+	    2 + IEEE80211_RATE_SIZE +
+	    2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_asresp: allocb failed\n");
+		return (ENOMEM);
+	}
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+	frm = (uint8_t *)mp->b_rptr;
+
+	capinfo = IEEE80211_CAPINFO_ESS;
+	if (isc->isc_flags & IEEE80211_F_WEPON)
+		capinfo |= IEEE80211_CAPINFO_PRIVACY;
+	*(uint16_t *)frm = LE_16(capinfo);
+	frm += 2;
+
+	*(uint16_t *)frm = LE_16(status);
+	frm += 2;
+
+	if (status == IEEE80211_STATUS_SUCCESS && in != NULL)
+		*(uint16_t *)frm = LE_16(in->in_associd);
+	else
+		*(uint16_t *)frm = LE_16(0);
+	frm += 2;
+
+	if (in != NULL) {
+		frm = ieee80211_add_rates(frm, &in->in_rates);
+		frm = ieee80211_add_xrates(frm, &in->in_rates);
+	} else {
+		frm = ieee80211_add_rates(frm, &isc->isc_bss->in_rates);
+		frm = ieee80211_add_xrates(frm, &isc->isc_bss->in_rates);
+	}
+	mp->b_wptr = frm;
+
+	return (ieee80211_mgmt_output(isc, in, mp, type));
+}
+
+static int32_t
+ieee80211_send_disassoc(ieee80211com_t *isc, struct ieee80211_node *in,
+    int32_t type, int32_t reason)
+{
+	mblk_t *mp;
+	uint16_t *frm;
+	int32_t pktlen;
+
+	_NOTE(ARGUNUSED(type))
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	ATH_DEBUG((ATH_DBG_80211, "ath: "
+	    "ieee80211_send_disassoc(): station %s disassociate",
+	    " (reason %d)\n", ieee80211_ether_sprintf(in->in_macaddr), reason));
+	pktlen = sizeof (struct ieee80211_frame) + sizeof (uint16_t);
+	mp = allocb(pktlen, BPRI_MED);
+	if (mp == NULL) {
+		ath_problem("ath: ieee80211_send_asresp: allocb failed\n");
+		return (ENOMEM);
+	}
+	mp->b_wptr = mp->b_rptr + pktlen;
+	mp->b_rptr += sizeof (struct ieee80211_frame);
+	frm = (uint16_t *)mp->b_rptr;
+	frm[0] = LE_16(reason);
+	return (ieee80211_mgmt_output(isc, in, mp,
+	    IEEE80211_FC0_SUBTYPE_DISASSOC));
+}
+
+/*
+ * This handles both beacon and probe response frames.
+ */
+static void
+ieee80211_recv_beacon(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_frame *wh;
+	struct ieee80211_node *in;
+	uint8_t *frm, *efrm, *tstamp, *bintval, *capinfo, *ssid;
+	uint8_t *rates, *xrates;
+	uint8_t chan, bchan, fhindex, erp;
+	uint16_t fhdwell;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	if (isc->isc_opmode != IEEE80211_M_IBSS &&
+	    isc->isc_state != IEEE80211_S_SCAN) {
+		return;
+	}
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	frm = (uint8_t *)&wh[1];
+	efrm = mp->b_wptr;
+	/*
+	 * beacon frame format
+	 *	[8] time stamp
+	 *	[2] beacon interval
+	 *	[2] cabability information
+	 *	[tlv] ssid
+	 *	[tlv] supported rates
+	 *	[tlv] country information
+	 *	[tlv] parameter set (FH/DS)
+	 *	[tlv] erp information
+	 *	[tlv] extended supported rates
+	 */
+	tstamp = frm;
+	frm += 8;
+	bintval = frm;
+	frm += 2;
+	capinfo = frm;
+	frm += 2;
+	ssid = rates = xrates = NULL;
+	bchan = ieee80211_chan2ieee(isc, isc->isc_bss->in_chan);
+	chan = bchan;
+	fhdwell = 0;
+	fhindex = 0;
+	erp = 0;
+	while (frm < efrm) {
+		switch (*frm) {
+		case IEEE80211_ELEMID_SSID:
+			ssid = frm;
+			break;
+		case IEEE80211_ELEMID_RATES:
+			rates = frm;
+			break;
+		case IEEE80211_ELEMID_COUNTRY:
+			/*
+			 * don't care 'country', otherwise,
+			 * just do:
+			 * country = frm;
+			 */
+			break;
+		case IEEE80211_ELEMID_FHPARMS:
+			if (isc->isc_phytype == IEEE80211_T_FH) {
+				fhdwell = (frm[3] << 8) | frm[2];
+				chan = IEEE80211_FH_CHAN(frm[4], frm[5]);
+				fhindex = frm[6];
+			}
+			break;
+		case IEEE80211_ELEMID_DSPARMS:
+			/*
+			 * hack this since depending on phytype
+			 * is problematic for multi-mode devices.
+			 */
+			if (isc->isc_phytype != IEEE80211_T_FH)
+				chan = frm[2];
+			break;
+		case IEEE80211_ELEMID_TIM:
+			break;
+		case IEEE80211_ELEMID_XRATES:
+			xrates = frm;
+			break;
+		case IEEE80211_ELEMID_ERP:
+			if (frm[1] != 1) {
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "ieee80211_recv_beacon(): "
+				    "%s: invalid ERP element; "
+				    "length %u, expecting 1\n",
+				    "ieee80211_recv_beacon", frm[1]));
+				break;
+			}
+			erp = frm[2];
+			break;
+		default:
+			break;
+		}
+		frm += frm[1] + 2;
+	}
+	IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_SIZE, wh);
+	IEEE80211_VERIFY_ELEMENT(ssid, IEEE80211_NWID_LEN, wh);
+
+	if (isclr(isc->isc_chan_active, chan)) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_beacon(): "
+		    "ignore %s with invalid channel %u\n",
+		    IEEE80211_ISPROBE(wh) ? "probe response" : "beacon", chan));
+		return;
+	}
+	if (chan != bchan && isc->isc_phytype != IEEE80211_T_FH) {
+		/*
+		 * Frame was received on a channel different from the
+		 * one indicated in the DS/FH params element id; silently
+		 * discard it.
+		 *
+		 * NB: this can happen due to signal leakage.
+		 */
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_beacon(): "
+		    "ignore %s phytype %u on channel %u marked for %u\n",
+		    IEEE80211_ISPROBE(wh) ? "probe response" : "beacon",
+		    isc->isc_phytype,
+		    bchan, chan));
+		return;
+	}
+
+	/*
+	 * Use mac and channel for lookup so we collect all
+	 * potential AP's when scanning.  Otherwise we may
+	 * see the same AP on multiple channels and will only
+	 * record the last one.  We could filter APs here based
+	 * on rssi, etc. but leave that to the end of the scan
+	 * so we can keep the selection criteria in one spot.
+	 * This may result in a bloat of the scanned AP list but
+	 * it shouldn't be too much.
+	 */
+	in = ieee80211_lookup_node(isc, wh->ifrm_addr2,
+	    &isc->isc_channels[chan]);
+	if (in == NULL || isc->isc_state == IEEE80211_S_SCAN) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "ieee80211_recv_beacon(): essid = %s\n",
+		    ieee80211_essid_sprintf(ssid + 2, ssid[1])));
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_beacon(): "
+		    "from %s\n", ieee80211_ether_sprintf(wh->ifrm_addr2)));
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "ieee80211_recv_beacon(): to %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr1)));
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_beacon(): "
+		    "caps 0x%x bintval %u erp 0x%x\n",
+		    LE_16(*(uint16_t *)capinfo),
+		    LE_16(*(uint16_t *)bintval), erp));
+	}
+
+	if (in == NULL) {
+		in = ieee80211_alloc_node(isc, wh->ifrm_addr2);
+		if (in == NULL)
+			return;
+		in->in_esslen = ssid[1];
+		bzero(in->in_essid, sizeof (in->in_essid));
+		bcopy(ssid + 2, in->in_essid, ssid[1]);
+	} else if (ssid[1] != 0 && IEEE80211_ISPROBE(wh)) {
+		/*
+		 * Update ESSID at probe response to adopt hidden AP by
+		 * Lucent/Cisco, which announces null ESSID in beacon.
+		 */
+		in->in_esslen = ssid[1];
+		bzero(in->in_essid, sizeof (in->in_essid));
+		bcopy(ssid + 2, in->in_essid, ssid[1]);
+	}
+
+	IEEE80211_ADDR_COPY(in->in_bssid, wh->ifrm_addr3);
+	ieee80211_add_recvhist(in, rssi, rstamp, rantenna);
+	bcopy(tstamp, in->in_tstamp, sizeof (in->in_tstamp));
+	in->in_intval = LE_16(*(uint16_t *)bintval);
+	in->in_capinfo = LE_16(*(uint16_t *)capinfo);
+	in->in_chan = &isc->isc_channels[chan];
+	in->in_fhdwell = fhdwell;
+	in->in_fhindex = fhindex;
+	in->in_erp = erp;
+	/* in_chan must have been setup */
+	(void) ieee80211_setup_rates(isc, in, rates, xrates,
+	    IEEE80211_F_DOSORT);
+}
+
+static void
+ieee80211_recv_prreq(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_frame *wh;
+	struct ieee80211_node *in;
+	uint8_t *frm, *efrm, *ssid, *rates, *xrates;
+	uint8_t rate;
+	int32_t allocbs;
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	if (isc->isc_opmode == IEEE80211_M_STA)
+		return;
+	if (isc->isc_state != IEEE80211_S_RUN)
+		return;
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	frm = (uint8_t *)&wh[1];
+	efrm = mp->b_wptr;
+	/*
+	 * prreq frame format
+	 *	[tlv] ssid
+	 *	[tlv] supported rates
+	 *	[tlv] extended supported rates
+	 */
+	ssid = rates = xrates = NULL;
+	while (frm < efrm) {
+		switch (*frm) {
+		case IEEE80211_ELEMID_SSID:
+			ssid = frm;
+			break;
+		case IEEE80211_ELEMID_RATES:
+			rates = frm;
+			break;
+		case IEEE80211_ELEMID_XRATES:
+			xrates = frm;
+			break;
+		}
+		frm += frm[1] + 2;
+	}
+	IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_SIZE, wh);
+	IEEE80211_VERIFY_ELEMENT(ssid, IEEE80211_NWID_LEN, wh);
+	if (ssid[1] != 0 &&
+	    (ssid[1] != isc->isc_bss->in_esslen ||
+	    bcmp(ssid + 2, isc->isc_bss->in_essid,
+	    isc->isc_bss->in_esslen) != 0)) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_prreq(): "
+		    "ssid unmatch %s from %s",
+		    ieee80211_essid_sprintf(ssid + 2, ssid[1]),
+		    ieee80211_ether_sprintf(wh->ifrm_addr2)));
+		return;
+	}
+
+	in = ieee80211_find_node(isc, wh->ifrm_addr2);
+	if (in == NULL) {
+		in = ieee80211_dup_bss(isc, wh->ifrm_addr2);
+		if (in == NULL) {
+			ath_problem("ath: ieee80211_recv_prreq(): "
+			    "dup bss failed\n");
+			return;
+		}
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "ieee80211_recv_prreq: new req from %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2)));
+		allocbs = 1;
+	} else
+		allocbs = 0;
+	ieee80211_add_recvhist(in, rssi, rstamp, rantenna);
+	rate = ieee80211_setup_rates(isc, in, rates, xrates,
+	    IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE
+	    | IEEE80211_F_DONEGO | IEEE80211_F_DODEL);
+	if (rate & IEEE80211_RATE_BASIC) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_prreq(): "
+		    "rate negotiation fail: %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2)));
+	} else {
+		IEEE80211_SEND_MGMT(isc, in, IEEE80211_FC0_SUBTYPE_PROBE_RESP,
+		    0);
+	}
+
+	if (allocbs && isc->isc_opmode == IEEE80211_M_HOSTAP)
+		ieee80211_free_node(isc, in);
+	else
+		ieee80211_unref_node(&in);
+}
+
+static void
+ieee80211_recv_auth(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_frame *wh;
+	struct ieee80211_node *in;
+	uint8_t *frm, *efrm;
+	uint16_t algo, seq, status;
+
+	_NOTE(ARGUNUSED(rssi))
+	_NOTE(ARGUNUSED(rstamp))
+	_NOTE(ARGUNUSED(rantenna))
+	_NOTE(ARGUNUSED(mp))
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	frm = (uint8_t *)&wh[1];
+	efrm = mp->b_wptr;
+	/*
+	 * auth frame format
+	 *	[2] algorithm
+	 *	[2] sequence
+	 *	[2] status
+	 *	[tlv*] challenge
+	 */
+	if (frm + 6 > efrm) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: "
+		    "ieee80211_recv_auth: too short from %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2)));
+		return;
+	}
+
+	algo = LE_16(*(uint16_t *)frm);
+	seq = LE_16(*(uint16_t *)(frm + 2));
+	status = LE_16(*(uint16_t *)(frm + 4));
+	if (algo != IEEE80211_AUTH_ALG_OPEN) {
+		/* shared key auth */
+		ath_problem("ath: ieee80211_recv_auth(): "
+		    "unsupported auth %d from %s\n",
+		    algo, ieee80211_ether_sprintf(wh->ifrm_addr2));
+		return;
+	}
+	switch (isc->isc_opmode) {
+	case IEEE80211_M_IBSS:
+		if (isc->isc_state != IEEE80211_S_RUN || seq != 1)
+			return;
+		(void) _ieee80211_new_state(isc, IEEE80211_S_AUTH,
+		    wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
+		break;
+
+	case IEEE80211_M_AHDEMO:
+		break;
+
+	case IEEE80211_M_HOSTAP:
+		break;
+
+	case IEEE80211_M_STA:
+		if (isc->isc_state != IEEE80211_S_AUTH || seq != 2)
+			return;
+		if (status != 0) {
+			ath_log("ath: ieee80211_recv_auth(): "
+			    "authentication failed (reason %d) for %s\n",
+			    status, ieee80211_ether_sprintf(wh->ifrm_addr3));
+			in = ieee80211_find_node(isc, wh->ifrm_addr2);
+			if (in != NULL)
+				in->in_fails++;
+			return;
+		}
+		(void) _ieee80211_new_state(isc, IEEE80211_S_ASSOC,
+		    wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
+		break;
+	}
+}
+
+static void
+ieee80211_recv_asreq(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	_NOTE(ARGUNUSED(isc))
+	_NOTE(ARGUNUSED(rssi))
+	_NOTE(ARGUNUSED(rstamp))
+	_NOTE(ARGUNUSED(rantenna))
+	_NOTE(ARGUNUSED(mp))
+
+	/* doesn't support HOST-AP mode yet */
+}
+
+static void
+ieee80211_recv_asresp(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_frame *wh;
+	struct ieee80211_node *in;
+	uint8_t *frm, *efrm, *rates, *xrates;
+	int32_t status;
+
+	_NOTE(ARGUNUSED(rssi))
+	_NOTE(ARGUNUSED(rstamp))
+	_NOTE(ARGUNUSED(rantenna))
+	_NOTE(ARGUNUSED(mp))
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	if (isc->isc_opmode != IEEE80211_M_STA ||
+	    isc->isc_state != IEEE80211_S_ASSOC)
+		return;
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	frm = (uint8_t *)&wh[1];
+	efrm = mp->b_wptr;
+	/*
+	 * asresp frame format
+	 *	[2] capability information
+	 *	[2] status
+	 *	[2] association ID
+	 *	[tlv] supported rates
+	 *	[tlv] extended supported rates
+	 */
+	if (frm + 6 > efrm) {
+		ath_log("ath: ieee80211_recv_asresp(): too short from %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		return;
+	}
+
+	in = isc->isc_bss;
+	in->in_capinfo = LE_16(*(uint16_t *)frm);
+	frm += 2;
+
+	status = LE_16(*(uint16_t *)frm);
+	frm += 2;
+
+	if (status != 0) {
+		ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_asresp(): "
+		    "association failed (reason %d)\n", status));
+		in = ieee80211_find_node(isc, wh->ifrm_addr2);
+		if (in != NULL) {
+			in->in_fails++;
+		}
+		return;
+	}
+
+	in->in_associd = LE_16(*(uint16_t *)frm);
+	frm += 2;
+
+	rates = xrates = NULL;
+	while (frm < efrm) {
+		switch (*frm) {
+		case IEEE80211_ELEMID_RATES:
+			rates = frm;
+			break;
+		case IEEE80211_ELEMID_XRATES:
+			xrates = frm;
+			break;
+		}
+		frm += frm[1] + 2;
+	}
+
+	IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_SIZE, wh);
+	(void) ieee80211_setup_rates(isc, in, rates, xrates,
+	    IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE |
+	    IEEE80211_F_DONEGO | IEEE80211_F_DODEL);
+	if (in->in_rates.ir_nrates != 0)
+		(void) _ieee80211_new_state(isc, IEEE80211_S_RUN,
+			wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
+}
+
+static void
+ieee80211_recv_disassoc(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_frame *wh;
+	uint8_t *frm, *efrm;
+	uint16_t reason;
+
+	_NOTE(ARGUNUSED(rssi))
+	_NOTE(ARGUNUSED(rstamp))
+	_NOTE(ARGUNUSED(rantenna))
+	_NOTE(ARGUNUSED(mp))
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	frm = (uint8_t *)&wh[1];
+	efrm = mp->b_wptr;
+	/*
+	 * disassoc frame format
+	 *	[2] reason
+	 */
+	if (frm + 2 > efrm) {
+		ath_log("ath: ieee80211_recv_disassoc(): too short from %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		return;
+	}
+	reason = LE_16(*(uint16_t *)frm);
+	ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_disassoc(): "
+	    "disassociation packet, reason:0x%x\n", reason));
+	switch (isc->isc_opmode) {
+	case IEEE80211_M_STA:
+		(void) _ieee80211_new_state(isc, IEEE80211_S_ASSOC,
+		    wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
+		break;
+	case IEEE80211_M_HOSTAP:
+		/* don't support HOSTAP */
+		break;
+	default:
+		break;
+	}
+}
+
+static void
+ieee80211_recv_deauth(ieee80211com_t *isc, mblk_t *mp, int32_t rssi,
+    uint32_t rstamp, uint32_t rantenna)
+{
+	struct ieee80211_frame *wh;
+	uint8_t *frm, *efrm;
+	uint16_t reason;
+
+	_NOTE(ARGUNUSED(rssi))
+	_NOTE(ARGUNUSED(rstamp))
+	_NOTE(ARGUNUSED(rantenna))
+	_NOTE(ARGUNUSED(mp))
+
+	ASSERT(mutex_owned(&isc->isc_genlock));
+
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	frm = (uint8_t *)&wh[1];
+	efrm = mp->b_wptr;
+	/*
+	 * dauth frame format
+	 *	[2] reason
+	 */
+	if (frm + 2 > efrm) {
+		ath_log("ath: ieee80211_recv_deauth(): too short from %s\n",
+		    ieee80211_ether_sprintf(wh->ifrm_addr2));
+		return;
+	}
+	reason = LE_16(*(uint16_t *)frm);
+	ATH_DEBUG((ATH_DBG_80211, "ath: ieee80211_recv_deauth(): "
+	    "deauthentication packet, reason: 0x%x\n", reason));
+	switch (isc->isc_opmode) {
+	case IEEE80211_M_STA:
+		(void) _ieee80211_new_state(isc, IEEE80211_S_AUTH,
+		    wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK);
+		break;
+	case IEEE80211_M_HOSTAP:
+		break;
+	default:
+		break;
+	}
+}
+
+/*
+ * Return the phy mode for with the specified channel so the
+ * caller can select a rate set.  This is problematic and the
+ * work here assumes how things work elsewhere in this code.
+ */
+enum ieee80211_phymode
+ieee80211_chan2mode(ieee80211com_t *isc, struct ieee80211channel *chan)
+{
+	/*
+	 * NB: this assumes the channel would not be supplied to us
+	 * unless it was already compatible with the current mode.
+	 */
+	if (isc->isc_curmode != IEEE80211_MODE_AUTO)
+		return (isc->isc_curmode);
+	/*
+	 * In autoselect mode; deduce a mode based on the channel
+	 * characteristics.  We assume that turbo-only channels
+	 * are not considered when the channel set is constructed.
+	 */
+	if (IEEE80211_IS_CHAN_5GHZ(chan))
+		return (IEEE80211_MODE_11A);
+	else if (chan->ich_flags & (IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN))
+		return (IEEE80211_MODE_11G);
+	else
+		return (IEEE80211_MODE_11B);
+}
+
+
+/*
+ * Format an Ethernet MAC for printing,
+ * and this function adds NULL byte at the end of string.
+ */
+const char *
+ieee80211_ether_sprintf(const uint8_t *mac)
+{
+	static char etherbuf[18];
+	(void) snprintf(etherbuf, sizeof (etherbuf),
+	    "%02x:%02x:%02x:%02x:%02x:%02x",
+	    mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
+	return (etherbuf);
+}
+
+/*
+ * Format an essid for printing,
+ * and this function adds NULL byte at the end of string.
+ */
+const int8_t *
+ieee80211_essid_sprintf(uint8_t *essid, uint32_t len)
+{
+	static int8_t essidbuf[IEEE80211_NWID_LEN * 2 + 1];
+	uint32_t i;
+	uint8_t *p;
+	int8_t tmp[3];
+
+	bzero(essidbuf, sizeof (essidbuf));
+	if (len > IEEE80211_NWID_LEN)
+		len = IEEE80211_NWID_LEN;
+	/* determine printable or not */
+	for (i = 0, p = essid; i < len; i++, p++) {
+		if (*p < ' ' || *p > 0x7e)
+			break;
+	}
+	if (i == len) {
+		for (i = 0; i < len; i++)
+			essidbuf[i] = essid[i];
+		essidbuf[i] = '\0';
+	} else {
+		for (i = 0; i < len; i++) {
+			(void) sprintf(tmp, "%02x", essid[i]);
+			(void) strcat(essidbuf, tmp);
+		}
+	}
+	return (essidbuf);
+}
+
+/*
+ * Following fucntions are registerd to GLD and intercepting
+ * the function calls from GLD to LLD to add appropriate ic_genlock protection.
+ *
+ * We have to protect ieee80211_gld_send() by isc_genlock,
+ * because there have many references to isc struct on this transimit path,
+ * and this may affect performace.
+ */
+static int32_t
+ieee80211_gld_send(gld_mac_info_t *gld_p, mblk_t *mp)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+	int32_t result;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_send)(gld_p, mp);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static int32_t
+ieee80211_gld_reset(gld_mac_info_t *gld_p)
+{
+	int32_t result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_reset)(gld_p);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+
+/*
+ * Following function is for Multi_func thread.
+ * The smallest timing unit is 100ms.
+ * It is created in ieee80211_gld_start(),
+ * and destroy in ieee80211_gld_stop().
+ */
+void
+ieee80211_mf_thread(ieee80211com_t *isc)
+{
+	struct ieee80211_node *in;
+	uint32_t scan_ticks = 0;
+	uint32_t ratectl_ticks = 0;
+	uint32_t cali_ticks = 0;
+	uint32_t mgt_ticks = 0;
+	enum ieee80211_state ostate = IEEE80211_S_INIT;
+
+	mutex_enter(&isc->isc_genlock);
+	while (isc->isc_mfthread_switch) {
+		if (isc->isc_state == IEEE80211_S_SCAN &&
+		    ostate != IEEE80211_S_SCAN)
+			scan_ticks = 0;
+
+		if (isc->isc_state == IEEE80211_S_SCAN) {
+			if (scan_ticks >= (isc->isc_scan_interval/100 - 1)) {
+				ieee80211_next_scan(isc);
+				scan_ticks = 0;
+			} else
+				scan_ticks++;
+		}
+
+		if (ratectl_ticks >= (isc->isc_ratectl_interval/100 - 1)) {
+			if (isc->isc_opmode == IEEE80211_M_STA)
+				(*isc->isc_rate_ctl)(isc, isc->isc_bss);
+			else {
+				in = list_head(&isc->isc_in_list);
+				while (in != NULL) {
+					(*isc->isc_rate_ctl)(isc, in);
+					in = list_next(&isc->isc_in_list, in);
+				}
+			}
+			ratectl_ticks = 0;
+		} else
+			ratectl_ticks++;
+
+		if (cali_ticks >= (isc->isc_cali_interval/100 - 1)) {
+			(*isc->isc_calibrate)(isc);
+			cali_ticks = 0;
+		} else
+			cali_ticks++;
+
+		if (mgt_ticks >= 10) { /* one second */
+			if (isc->isc_mgt_timeout &&
+			    --isc->isc_mgt_timeout == 0) {
+				(void) _ieee80211_new_state(isc,
+				    IEEE80211_S_SCAN, -1);
+			}
+			if (isc->isc_inact_timeout &&
+			    --isc->isc_inact_timeout == 0)
+				ieee80211_timeout_nodes(isc);
+			mgt_ticks = 0;
+		} else
+			mgt_ticks++;
+
+		ostate = isc->isc_state;
+		mutex_exit(&isc->isc_genlock);
+		delay(drv_usectohz(100000)); /* delay 100ms */
+		mutex_enter(&isc->isc_genlock);
+	}
+	isc->isc_mf_thread = NULL;
+	cv_broadcast(&isc->isc_mfthread_cv);
+	mutex_exit(&isc->isc_genlock);
+	thread_exit();
+}
+
+/*
+ * This function is responsible for creating multi-func thread.
+ */
+static int32_t
+ieee80211_gld_start(gld_mac_info_t *gld_p)
+{
+	int32_t result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	isc->isc_mfthread_switch = 1;
+	if (isc->isc_mf_thread == NULL)
+		isc->isc_mf_thread = thread_create((caddr_t)NULL, 0,
+		    ieee80211_mf_thread, isc, 0, &p0, TS_RUN, minclsyspri);
+	result = (*isc->isc_gld_start)(gld_p);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+/*
+ * This function is responsible for destory multi-func thread.
+ */
+static int32_t
+ieee80211_gld_stop(gld_mac_info_t *gld_p)
+{
+	int32_t result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	isc->isc_mfthread_switch = 0;
+	while (isc->isc_mf_thread != NULL) {
+		if (cv_wait_sig(&isc->isc_mfthread_cv, &isc->isc_genlock) == 0)
+			break;
+	}
+	result = (*isc->isc_gld_stop)(gld_p);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static int32_t
+ieee80211_gld_saddr(gld_mac_info_t *gld_p, uint8_t *macaddr)
+{
+	int32_t result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_saddr)(gld_p, macaddr);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static int
+ieee80211_gld_set_promiscuous(gld_mac_info_t *gld_p, int mode)
+{
+	int result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_set_promiscuous)(gld_p, mode);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static int32_t
+ieee80211_gld_gstat(gld_mac_info_t *gld_p, struct gld_stats *glds_p)
+{
+	int32_t result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_gstat)(gld_p, glds_p);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static int32_t
+ieee80211_gld_ioctl(gld_mac_info_t *gld_p, queue_t *wq, mblk_t *mp)
+{
+	int32_t result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_ioctl)(gld_p, wq, mp);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static int
+ieee80211_gld_set_multicast(gld_mac_info_t *gld_p, uint8_t *eth_p, int flag)
+{
+	int result;
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	mutex_enter(&isc->isc_genlock);
+	result = (*isc->isc_gld_set_multicast)(gld_p, eth_p, flag);
+	mutex_exit(&isc->isc_genlock);
+	return (result);
+}
+
+static uint32_t
+ieee80211_gld_intr(gld_mac_info_t *gld_p)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+	return ((*isc->isc_gld_intr)(gld_p));
+}
+
+
+
+int32_t
+ieee80211_ifattach(gld_mac_info_t *gld_p)
+{
+	ieee80211com_t *isc =
+	    (ieee80211com_t *)gld_p->gldm_private;
+	struct ieee80211channel *ch;
+	int32_t i;
+
+	mutex_init(&isc->isc_genlock, NULL, MUTEX_DRIVER, NULL);
+
+	/*
+	 * Fill in 802.11 available channel set, mark
+	 * all available channels as active, and pick
+	 * a default channel if not already specified.
+	 */
+	bzero(isc->isc_chan_avail, sizeof (isc->isc_chan_avail));
+	isc->isc_modecaps |= 1 << IEEE80211_MODE_AUTO;
+	for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
+		ch = &isc->isc_channels[i];
+		if (ch->ich_flags) {
+			setbit(isc->isc_chan_avail, i);
+			/*
+			 * Identify mode capabilities.
+			 */
+			if (IEEE80211_IS_CHAN_A(ch))
+				isc->isc_modecaps |= 1 << IEEE80211_MODE_11A;
+			if (IEEE80211_IS_CHAN_B(ch))
+				isc->isc_modecaps |= 1 << IEEE80211_MODE_11B;
+			if (IEEE80211_IS_CHAN_PUREG(ch))
+				isc->isc_modecaps |= 1 << IEEE80211_MODE_11G;
+			if (IEEE80211_IS_CHAN_T(ch))
+				isc->isc_modecaps |= 1 << IEEE80211_MODE_TURBO;
+		}
+	}
+
+	/* Start from auto mode */
+	(void) ieee80211_setmode(isc, IEEE80211_MODE_AUTO);
+
+	/* Initialize WEP related variable */
+	isc->isc_wep_txkey = 0;
+	isc->isc_iv = (int32_t)(gethrtime() & 0x00000000ffffffff);
+
+	/* Initialize some config variables */
+	isc->isc_rtsthreshold = IEEE80211_RTS_MAX;
+	isc->isc_fragthreshold = 2346;
+	isc->isc_des_chan = IEEE80211_CHAN_ANYC;	/* any channel is ok */
+	isc->isc_fixed_rate = -1;			/* no fixed rate */
+	if (isc->isc_lintval == 0)
+		isc->isc_lintval = 100;			/* default sleep */
+	isc->isc_txpower = IEEE80211_TXPOWER_MAX;	/* default tx power */
+	isc->isc_bmisstimeout = 7 * isc->isc_lintval;	/* default 7 beacons */
+
+	list_create(&isc->isc_in_list,
+	    sizeof (struct ieee80211_node),
+	    offsetof(struct ieee80211_node, in_node));
+	for (i = 0; i < IEEE80211_NODE_HASHSIZE; i++)
+		list_create(&isc->isc_inhash_list[i],
+		    sizeof (struct ieee80211_node),
+		    offsetof(struct ieee80211_node, in_hash_node));
+
+	/* Initialize management frame handlers */
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_PROBE_RESP
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_beacon;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_BEACON
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_beacon;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_PROBE_REQ
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_prreq;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_AUTH
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_auth;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_ASSOC_REQ
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_asreq;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_REASSOC_REQ
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_asreq;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_ASSOC_RESP
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_asresp;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_REASSOC_RESP
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_asresp;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_DEAUTH
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_deauth;
+	isc->isc_recv_mgmt[IEEE80211_FC0_SUBTYPE_DISASSOC
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_recv_disassoc;
+
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_PROBE_REQ
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_prreq;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_PROBE_RESP
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_prresp;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_AUTH
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_auth;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_DEAUTH
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_deauth;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_ASSOC_REQ
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_asreq;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_REASSOC_REQ
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_asreq;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_ASSOC_RESP
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_asresp;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_REASSOC_RESP
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_asresp;
+	isc->isc_send_mgmt[IEEE80211_FC0_SUBTYPE_DISASSOC
+	    >> IEEE80211_FC0_SUBTYPE_SHIFT] = ieee80211_send_disassoc;
+
+	cv_init(&isc->isc_scan_cv, NULL, CV_DRIVER, NULL);
+	cv_init(&isc->isc_mfthread_cv, NULL, CV_DRIVER, NULL);
+	isc->isc_mf_thread = NULL;
+	isc->isc_mfthread_switch = 0;
+
+	ASSERT(isc->isc_node_alloc != NULL);
+	isc->isc_bss = (*isc->isc_node_alloc)(isc);
+	isc->isc_bss->in_chan = IEEE80211_CHAN_ANYC;
+	isc->isc_bss->in_txpower = IEEE80211_TXPOWER_MAX;
+	isc->isc_scan_interval = 200;
+	isc->isc_cali_interval = 30000;
+	isc->isc_ratectl_interval = 500;
+
+	gld_p->gldm_reset		= ieee80211_gld_reset;
+	gld_p->gldm_start		= ieee80211_gld_start;
+	gld_p->gldm_stop		= ieee80211_gld_stop;
+	gld_p->gldm_set_mac_addr	= ieee80211_gld_saddr;
+	gld_p->gldm_send		= ieee80211_gld_send;
+	gld_p->gldm_set_promiscuous	= ieee80211_gld_set_promiscuous;
+	gld_p->gldm_get_stats		= ieee80211_gld_gstat;
+	gld_p->gldm_ioctl		= ieee80211_gld_ioctl;
+	gld_p->gldm_set_multicast	= ieee80211_gld_set_multicast;
+	gld_p->gldm_intr		= ieee80211_gld_intr;
+
+	return (0);
+}
+
+void
+ieee80211_ifdetach(gld_mac_info_t *gld_p)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)gld_p->gldm_private;
+
+	(*isc->isc_node_free)(isc, isc->isc_bss);
+	ieee80211_free_allnodes(isc);
+	cv_destroy(&isc->isc_mfthread_cv);
+	cv_destroy(&isc->isc_scan_cv);
+	mutex_destroy(&isc->isc_genlock);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_ieee80211.h	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,743 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ *    redistribution must be conditioned upon including a substantially
+ *    similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ */
+
+/*
+ * IEEE 802.11 generic handler definitions.
+ *
+ * This code is derived from NetBSD code; their copyright notice follows.
+ */
+
+/*
+ * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
+ * 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 the NetBSD
+ *        Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+ */
+
+
+/*
+ * The atheros IEEE80211a/b/g chipsets just implement a IEEE80211
+ * phisical layer protocol, all IEEE80211 MAC layer functions are
+ * done by the driver. These functions include scan, association/
+ * disassociation, authentication/deauthentication, probe request,
+ * beacon processing, WEP processing, etc. All the data structs,
+ * constant denifition and function declaration related to IEEE802.11
+ * are defined here. Actually, ath_ieee80211.h and ath_ieee80211.c
+ * are general for most 802.11a/b/g chipsets. GLDv3 should consider
+ * a WiFi extension and then all IEEE802.11 supporting would be
+ * integrated into GLDv3.
+ */
+
+#ifndef _ATH_IEEE80211_H
+#define	_ATH_IEEE80211_H
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/sysmacros.h>
+#include <sys/gld.h>
+#include <sys/stream.h>
+#include <sys/int_types.h>
+#include <sys/note.h>
+#include <sys/list.h>
+
+/* Bit map related macros. */
+#define	setbit(a, i)	((a)[(i)/NBBY] |= 1<<((i)%NBBY))
+#define	clrbit(a, i)	((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
+#define	isset(a, i)	((a)[(i)/NBBY] & (1<<((i)%NBBY)))
+#define	isclr(a, i)	(((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
+
+
+/*
+ * We always fill constant in LLC
+ * and SANP fields of the payload.
+ */
+#define	LLC_DSAP	0xAA
+#define	LLC_SSAP	0xAA
+#define	LLC_CONTROL	0x03
+#define	SNAP_OC0	0x0
+#define	SNAP_OC1	0x0
+#define	SNAP_OC2	0x0
+
+#define	IEEE80211_ADDR_LEN	6	/* size of 802.11 address */
+#define	IEEE80211_TXPOWER_MAX	100	/* .5 dbM */
+#define	IEEE80211_TXPOWER_MIN	0	/* kill radio */
+/*
+ * Size of an ACK control frame in bytes.
+ */
+#define	IEEE80211_ACK_SIZE	(2 + 2 + IEEE80211_ADDR_LEN + 4)
+
+
+/* Constant for "Frame Control" field of IEEE80211 frame header */
+#define	IEEE80211_FC0_VERSION_MASK		0x03
+#define	IEEE80211_FC0_VERSION_SHIFT		0
+#define	IEEE80211_FC0_VERSION_0			0x00
+#define	IEEE80211_FC0_TYPE_MASK			0x0c
+#define	IEEE80211_FC0_TYPE_SHIFT		2
+#define	IEEE80211_FC0_TYPE_MGT			0x00	/* management frame */
+#define	IEEE80211_FC0_TYPE_CTL			0x04	/* control frame */
+#define	IEEE80211_FC0_TYPE_DATA			0x08	/* data frame */
+#define	IEEE80211_FC0_SUBTYPE_MASK		0xf0
+#define	IEEE80211_FC0_SUBTYPE_SHIFT		4
+
+/* sub types of management frame(bit combination) */
+#define	IEEE80211_FC0_SUBTYPE_ASSOC_REQ		0x00
+#define	IEEE80211_FC0_SUBTYPE_ASSOC_RESP	0x10
+#define	IEEE80211_FC0_SUBTYPE_REASSOC_REQ	0x20
+#define	IEEE80211_FC0_SUBTYPE_REASSOC_RESP	0x30
+#define	IEEE80211_FC0_SUBTYPE_PROBE_REQ		0x40
+#define	IEEE80211_FC0_SUBTYPE_PROBE_RESP	0x50
+#define	IEEE80211_FC0_SUBTYPE_BEACON		0x80
+#define	IEEE80211_FC0_SUBTYPE_ATIM		0x90
+#define	IEEE80211_FC0_SUBTYPE_DISASSOC		0xa0
+#define	IEEE80211_FC0_SUBTYPE_AUTH		0xb0
+#define	IEEE80211_FC0_SUBTYPE_DEAUTH		0xc0
+
+/* sub types of control frame(bit combination) */
+#define	IEEE80211_FC0_SUBTYPE_PS_POLL		0xa0
+#define	IEEE80211_FC0_SUBTYPE_RTS		0xb0
+#define	IEEE80211_FC0_SUBTYPE_CTS		0xc0
+#define	IEEE80211_FC0_SUBTYPE_ACK		0xd0
+#define	IEEE80211_FC0_SUBTYPE_CF_END		0xe0
+#define	IEEE80211_FC0_SUBTYPE_CF_END_ACK	0xf0
+
+/* sub types of data frame(bit combination) */
+#define	IEEE80211_FC0_SUBTYPE_DATA		0x00
+#define	IEEE80211_FC0_SUBTYPE_CF_ACK		0x10
+#define	IEEE80211_FC0_SUBTYPE_CF_POLL		0x20
+#define	IEEE80211_FC0_SUBTYPE_CF_ACPL		0x30
+#define	IEEE80211_FC0_SUBTYPE_NODATA		0x40
+#define	IEEE80211_FC0_SUBTYPE_CFACK		0x50
+#define	IEEE80211_FC0_SUBTYPE_CFPOLL		0x60
+#define	IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK	0x70
+
+#define	IEEE80211_FC1_DIR_MASK			0x03
+#define	IEEE80211_FC1_DIR_NODS			0x00	/* STA->STA */
+#define	IEEE80211_FC1_DIR_TODS			0x01	/* STA->AP  */
+#define	IEEE80211_FC1_DIR_FROMDS		0x02	/* AP ->STA */
+#define	IEEE80211_FC1_DIR_DSTODS		0x03	/* AP ->AP  */
+
+#define	IEEE80211_FC1_MORE_FRAG			0x04
+#define	IEEE80211_FC1_RETRY			0x08
+#define	IEEE80211_FC1_PWR_MGT			0x10
+#define	IEEE80211_FC1_MORE_DATA			0x20
+#define	IEEE80211_FC1_WEP			0x40
+#define	IEEE80211_FC1_ORDER			0x80
+
+#define	IEEE80211_SEQ_FRAG_MASK			0x000f
+#define	IEEE80211_SEQ_FRAG_SHIFT		0
+#define	IEEE80211_SEQ_SEQ_MASK			0xfff0
+#define	IEEE80211_SEQ_SEQ_SHIFT			4
+
+#define	IEEE80211_NWID_LEN			32
+
+#define	IEEE80211_RATE2MBS(r)	(((r) & IEEE80211_RATE_VAL) / 2)
+#define	IEEE80211_IS_SUBTYPE(_fc, _type) \
+	(((_fc) & IEEE80211_FC0_SUBTYPE_MASK) == IEEE80211_FC0_SUBTYPE_##_type)
+
+#define	IEEE80211_BEACON_INTERVAL(beacon) \
+	((beacon)[8] | ((beacon)[9] << 8))
+#define	IEEE80211_BEACON_CAPABILITY(beacon) \
+	((beacon)[10] | ((beacon)[11] << 8))
+
+#define	IEEE80211_CAPINFO_ESS			0x0001
+#define	IEEE80211_CAPINFO_IBSS			0x0002
+#define	IEEE80211_CAPINFO_CF_POLLABLE		0x0004
+#define	IEEE80211_CAPINFO_CF_POLLREQ		0x0008
+#define	IEEE80211_CAPINFO_PRIVACY		0x0010
+#define	IEEE80211_CAPINFO_SHORT_PREAMBLE	0x0020
+#define	IEEE80211_CAPINFO_PBCC			0x0040
+#define	IEEE80211_CAPINFO_CHNL_AGILITY		0x0080
+/* bits 8-9 are reserved */
+#define	IEEE80211_CAPINFO_SHORT_SLOTTIME	0x0400
+/* bits 11-12 are reserved */
+#define	IEEE80211_CAPINFO_DSSSOFDM		0x2000
+/* bits 14-15 are reserved */
+
+/*
+ * Management information elements
+ */
+#define	IEEE80211_ELEMID_SSID			0
+#define	IEEE80211_ELEMID_RATES			1
+#define	IEEE80211_ELEMID_FHPARMS		2
+#define	IEEE80211_ELEMID_DSPARMS		3
+#define	IEEE80211_ELEMID_CFPARMS		4
+#define	IEEE80211_ELEMID_TIM			5
+#define	IEEE80211_ELEMID_IBSSPARMS		6
+#define	IEEE80211_ELEMID_COUNTRY		7
+#define	IEEE80211_ELEMID_CHALLENGE		16
+#define	IEEE80211_ELEMID_ERP			42
+#define	IEEE80211_ELEMID_XRATES			50
+
+
+/* Classes for WME streams */
+#define	WME_AC_BE	0
+#define	WME_AC_BK	1
+#define	WME_AC_VI	2
+#define	WME_AC_VO	3
+
+#define	IEEE80211_RATE_BASIC			0x80
+#define	IEEE80211_RATE_VAL			0x7f
+
+/* EPR information element flags */
+#define	IEEE80211_ERP_NON_ERP_PRESENT		0x01
+#define	IEEE80211_ERP_USE_PROTECTION		0x02
+#define	IEEE80211_ERP_BARKER_MODE		0x04
+
+/*
+ * AUTH management packets
+ *
+ *	octet algo[2]
+ *	octet seq[2]
+ *	octet status[2]
+ *	octet chal.id
+ *	octet chal.length
+ *	octet chal.text[253]
+ */
+
+#define	IEEE80211_AUTH_ALGORITHM(auth) \
+	((auth)[0] | ((auth)[1] << 8))
+#define	IEEE80211_AUTH_TRANSACTION(auth) \
+	((auth)[2] | ((auth)[3] << 8))
+#define	IEEE80211_AUTH_STATUS(auth) \
+	((auth)[4] | ((auth)[5] << 8))
+
+#define	IEEE80211_AUTH_ALG_OPEN			0x0000
+#define	IEEE80211_AUTH_ALG_SHARED		0x0001
+
+#define	IEEE80211_AUTH_OPEN_REQUEST		1
+#define	IEEE80211_AUTH_OPEN_RESPONSE		2
+
+#define	IEEE80211_AUTH_SHARED_REQUEST		1
+#define	IEEE80211_AUTH_SHARED_CHALLENGE		2
+#define	IEEE80211_AUTH_SHARED_RESPONSE		3
+#define	IEEE80211_AUTH_SHARED_PASS		4
+
+/*
+ * Reason codes
+ * Unlisted codes are reserved
+ */
+
+#define	IEEE80211_REASON_UNSPECIFIED		1
+#define	IEEE80211_REASON_AUTH_EXPIRE		2
+#define	IEEE80211_REASON_AUTH_LEAVE		3
+#define	IEEE80211_REASON_ASSOC_EXPIRE		4
+#define	IEEE80211_REASON_ASSOC_TOOMANY		5
+#define	IEEE80211_REASON_NOT_AUTHED		6
+#define	IEEE80211_REASON_NOT_ASSOCED		7
+#define	IEEE80211_REASON_ASSOC_LEAVE		8
+#define	IEEE80211_REASON_ASSOC_NOT_AUTHED	9
+
+#define	IEEE80211_STATUS_SUCCESS		0
+#define	IEEE80211_STATUS_UNSPECIFIED		1
+#define	IEEE80211_STATUS_CAPINFO		10
+#define	IEEE80211_STATUS_NOT_ASSOCED		11
+#define	IEEE80211_STATUS_OTHER			12
+#define	IEEE80211_STATUS_ALG			13
+#define	IEEE80211_STATUS_SEQUENCE		14
+#define	IEEE80211_STATUS_CHALLENGE		15
+#define	IEEE80211_STATUS_TIMEOUT		16
+#define	IEEE80211_STATUS_TOOMANY		17
+#define	IEEE80211_STATUS_BASIC_RATE		18
+#define	IEEE80211_STATUS_SP_REQUIRED		19
+#define	IEEE80211_STATUS_PBCC_REQUIRED		20
+#define	IEEE80211_STATUS_CA_REQUIRED		21
+#define	IEEE80211_STATUS_TOO_MANY_STATIONS	22
+#define	IEEE80211_STATUS_RATES			23
+#define	IEEE80211_STATUS_SHORTSLOT_REQUIRED	25
+#define	IEEE80211_STATUS_DSSSOFDM_REQUIRED	26
+
+#define	IEEE80211_WEP_KEYLEN			5	/* 40bit */
+#define	IEEE80211_WEP_IVLEN			3	/* 24bit */
+#define	IEEE80211_WEP_KIDLEN			1	/* 1 octet */
+#define	IEEE80211_WEP_CRCLEN			4	/* CRC-32 */
+#define	IEEE80211_WEP_NKID			4	/* number of key ids */
+
+#define	IEEE80211_CRC_LEN			4
+
+#define	IEEE80211_MTU				1500
+#define	IEEE80211_MAX_LEN			(2300 + IEEE80211_CRC_LEN + \
+	(IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + IEEE80211_WEP_CRCLEN))
+
+/*
+ * RTS frame length parameters.  The default is specified in
+ * the 802.11 spec.  The max may be wrong for jumbo frames.
+ */
+#define	IEEE80211_RTS_DEFAULT			512
+#define	IEEE80211_RTS_MIN			1
+#define	IEEE80211_RTS_MAX			IEEE80211_MAX_LEN
+
+#define	IEEE80211_CHAN_ANY	0xffff		/* token for ``any channel'' */
+
+#define	IEEE80211_AUTH_NONE	0
+#define	IEEE80211_AUTH_OPEN	1
+#define	IEEE80211_AUTH_SHARED	2
+
+#define	IEEE80211_PSCAN_WAIT 	5		/* passive scan wait */
+#define	IEEE80211_TRANS_WAIT 	5		/* transition wait */
+#define	IEEE80211_INACT_WAIT	5		/* inactivity timer interval */
+#define	IEEE80211_INACT_MAX	(300/IEEE80211_INACT_WAIT)
+
+/*
+ * Structure for IEEE 802.11 drivers.
+ */
+
+#define	IEEE80211_CHAN_MAX	255
+#define	IEEE80211_CHAN_ANYC \
+	((struct ieee80211channel *)IEEE80211_CHAN_ANY)
+
+#define	IEEE80211_RATE_SIZE	8		/* 802.11 standard */
+#define	IEEE80211_RATE_MAXSIZE	15		/* max rates we'll handle */
+#define	IEEE80211_KEYBUF_SIZE	16
+#define	IEEE80211_NODE_HASHSIZE	32
+/* simple hash is enough for variation of macaddr */
+#define	IEEE80211_NODE_HASH(addr)	\
+	(((uint8_t *)(addr))[IEEE80211_ADDR_LEN - 1] % IEEE80211_NODE_HASHSIZE)
+#define	IEEE80211_RV(v)	((v) & IEEE80211_RATE_VAL)
+#define	IEEE80211_ISPROBE(_wh)	IEEE80211_IS_SUBTYPE((_wh)->ifrm_fc[0], \
+	PROBE_RESP)
+#define	IEEE80211_RATE(_ix)	(in->in_rates.ir_rates[(_ix)] & \
+	IEEE80211_RATE_VAL)
+/* Verify the existence and length of __elem or get out. */
+#define	IEEE80211_VERIFY_ELEMENT(__elem, __maxlen, __wh) do {		\
+	if ((__elem) == NULL) {						\
+		ath_problem("ath: no #__elem \n");			\
+		return;							\
+	}								\
+	if ((__elem)[1] > (__maxlen)) {					\
+		ath_problem("ath: bad "#__elem " len %d from %s\n",	\
+		    (__elem)[1],					\
+		    ieee80211_ether_sprintf((__wh)->ifrm_addr2));	\
+		return;							\
+	}								\
+	_NOTE(CONSTANTCONDITION)					\
+} while (0)
+
+
+enum ieee80211_phytype {
+	IEEE80211_T_DS,			/* direct sequence spread spectrum */
+	IEEE80211_T_FH,			/* frequency hopping */
+	IEEE80211_T_OFDM,		/* frequency division multiplexing */
+	IEEE80211_T_TURBO		/* high rate OFDM, aka turbo mode */
+};
+#define	IEEE80211_T_CCK	IEEE80211_T_DS	/* more common nomenclature */
+
+/* not really a mode; there are really multiple PHY's */
+enum ieee80211_phymode {
+	IEEE80211_MODE_AUTO	= 0,	/* autoselect */
+	IEEE80211_MODE_11A	= 1,	/* 5GHz, OFDM */
+	IEEE80211_MODE_11B	= 2,	/* 2GHz, CCK */
+	IEEE80211_MODE_11G	= 3,	/* 2GHz, OFDM */
+	IEEE80211_MODE_TURBO	= 4	/* 5GHz, OFDM, 2x clock */
+};
+#define	IEEE80211_MODE_MAX	(IEEE80211_MODE_TURBO+1)
+
+enum ieee80211_opmode {
+	IEEE80211_M_STA		= 1,	/* infrastructure station */
+	IEEE80211_M_IBSS 	= 0,	/* IBSS (adhoc) station */
+	IEEE80211_M_AHDEMO	= 3,	/* Old lucent compatible adhoc demo */
+	IEEE80211_M_HOSTAP	= 6	/* Software Access Point */
+};
+
+enum ieee80211_state {
+	IEEE80211_S_INIT,		/* default state */
+	IEEE80211_S_SCAN,		/* scanning */
+	IEEE80211_S_AUTH,		/* try to authenticate */
+	IEEE80211_S_ASSOC,		/* try to assoc */
+	IEEE80211_S_RUN			/* associated */
+};
+
+/*
+ * Channels are specified by frequency and attributes.
+ */
+struct ieee80211channel {
+	uint16_t	ich_freq;	/* setting in Mhz */
+	uint16_t	ich_flags;	/* see below */
+};
+
+/* bits 0-3 are for private use by drivers */
+/* channel attributes */
+#define	IEEE80211_CHAN_TURBO	0x0010	/* Turbo channel */
+#define	IEEE80211_CHAN_CCK	0x0020	/* CCK channel */
+#define	IEEE80211_CHAN_OFDM	0x0040	/* OFDM channel */
+#define	IEEE80211_CHAN_2GHZ	0x0080	/* 2 GHz spectrum channel. */
+#define	IEEE80211_CHAN_5GHZ	0x0100	/* 5 GHz spectrum channel */
+#define	IEEE80211_CHAN_PASSIVE	0x0200	/* Only passive scan allowed */
+#define	IEEE80211_CHAN_DYN	0x0400	/* Dynamic CCK-OFDM channel */
+
+/*
+ * Useful combinations of channel characteristics.
+ */
+#define	IEEE80211_CHAN_A \
+	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
+#define	IEEE80211_CHAN_B \
+	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
+#define	IEEE80211_CHAN_PUREG \
+	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM)
+#define	IEEE80211_CHAN_G \
+	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
+#define	IEEE80211_CHAN_T \
+	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO)
+
+#define	IEEE80211_IS_CHAN_A(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A)
+#define	IEEE80211_IS_CHAN_B(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B)
+#define	IEEE80211_IS_CHAN_PUREG(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG)
+#define	IEEE80211_IS_CHAN_G(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G)
+#define	IEEE80211_IS_CHAN_T(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_T) == IEEE80211_CHAN_T)
+
+#define	IEEE80211_IS_CHAN_2GHZ(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_2GHZ) != 0)
+#define	IEEE80211_IS_CHAN_5GHZ(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_5GHZ) != 0)
+#define	IEEE80211_IS_CHAN_OFDM(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_OFDM) != 0)
+#define	IEEE80211_IS_CHAN_CCK(_ch) \
+	(((_ch)->ich_flags & IEEE80211_CHAN_CCK) != 0)
+
+#pragma pack(1)
+/* Header of IEEE 802.11 frame */
+struct ieee80211_frame {
+	uint8_t	ifrm_fc[2];
+	uint8_t	ifrm_dur[2];
+	uint8_t	ifrm_addr1[IEEE80211_ADDR_LEN];
+	uint8_t	ifrm_addr2[IEEE80211_ADDR_LEN];
+	uint8_t	ifrm_addr3[IEEE80211_ADDR_LEN];
+	uint8_t	ifrm_seq[2];
+	/*
+	 * i_addr4 is present only when it's a data
+	 * frame from one AP to another AP. The driver
+	 * doesn't work in AP mode, so we never transmit
+	 * or receive a frame containing i_addr4 field.
+	 */
+};
+
+/* Start part(LLC and SNAP) of payload of IEEE80211 frame */
+struct ieee80211_llc {
+	/* LLC */
+	uint8_t		illc_dsap;
+	uint8_t		illc_ssap;
+	uint8_t		illc_control;
+	/* SNAP */
+	uint8_t		illc_oc[3]; /* protocol ID or organization code */
+	uint16_t	illc_ether_type; /* ethernet type */
+};
+#pragma pack()
+
+struct ieee80211_rateset {
+	uint8_t		ir_nrates;
+	uint8_t		ir_rates[IEEE80211_RATE_MAXSIZE];
+};
+
+/* Number of history entries to keep (per node) */
+#define	IEEE80211_RECV_HIST_LEN		16
+#define	IEEE80211_JIFFIES_NONE		((uint32_t)(~0))
+
+struct ieee80211_recv_hist {
+	uint32_t	irh_jiffies;	/* kernel timestamp */
+	uint8_t		irh_rssi;	/* recv ssi */
+	uint32_t	irh_rstamp;	/* recv timestamp */
+	uint8_t		irh_rantenna;	/* recv antenna */
+};
+
+
+/*
+ * Node specific information.
+ */
+struct ieee80211_node {
+	/* hardware */
+	struct ieee80211_recv_hist in_recv_hist[IEEE80211_RECV_HIST_LEN];
+	int32_t			in_hist_cur;
+	uint16_t		in_txpower;	/* current transmit power */
+
+	/* header */
+	uint8_t			in_macaddr[IEEE80211_ADDR_LEN];
+	uint8_t			in_bssid[IEEE80211_ADDR_LEN];
+
+	/* beacon, probe response */
+	uint8_t			in_tstamp[8];	/* from last rcv'd beacon */
+	uint16_t		in_intval;	/* beacon interval */
+	uint16_t		in_capinfo;	/* capabilities */
+	uint8_t			in_esslen;
+	uint8_t			in_essid[IEEE80211_NWID_LEN];
+	struct ieee80211_rateset in_rates;	/* negotiated rate set */
+	uint8_t			*in_country;	/* country information */
+	struct ieee80211channel	*in_chan;
+	uint16_t		in_fhdwell;	/* FH only */
+	uint8_t			in_fhindex;	/* FH only */
+	uint8_t			in_erp;		/* 11g only */
+
+	/* DTIM and contention free period (CFP) */
+	uint8_t			in_dtimperiod;
+	uint8_t			in_cfpperiod;	/* # of DTIMs between CFPs */
+	uint16_t		in_cfpduremain;	/* remaining cfp duration */
+	uint16_t		in_cfpmaxduration; /* max CFP duration in TU */
+	uint16_t		in_nextdtim;	/* time to next DTIM */
+	uint16_t		in_timoffset;
+
+	/* others */
+	uint16_t		in_associd;	/* assoc response */
+	uint16_t		in_txseq;	/* seq to be transmitted */
+	uint16_t		in_rxseq;	/* seq previous received */
+	int32_t			in_fails;	/* failure count to associate */
+	int32_t			in_inact;	/* inactivity mark count */
+	int32_t			in_txrate;	/* index to in_rates[] */
+
+	/* we're in the list of isc->isc_in_list */
+	list_node_t		in_node;
+
+	/* we're in the list of isc->isc_inhash_list */
+	list_node_t		in_hash_node;
+};
+
+/* in_chan encoding for FH phy */
+#define	IEEE80211_FH_CHANMOD	80
+#define	IEEE80211_FH_CHAN(set, pat) \
+	(((set)-1) * IEEE80211_FH_CHANMOD + (pat))
+#define	IEEE80211_FH_CHANSET(chan)	((chan)/IEEE80211_FH_CHANMOD+1)
+#define	IEEE80211_FH_CHANPAT(chan)	((chan)%IEEE80211_FH_CHANMOD)
+
+#define	HEADERSPACE roundup(sizeof (struct ieee80211_frame) + \
+	    IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + \
+	    sizeof (struct ieee80211_llc) + 1, 4)
+
+struct ieee80211_wepkey {
+	int32_t			iwk_len;
+	uint8_t			iwk_key[IEEE80211_KEYBUF_SIZE];
+};
+
+typedef struct ieee80211com {
+	/* The following items are not changed during their lifetime */
+	gld_mac_info_t	*isc_dev;
+	struct ieee80211_rateset isc_sup_rates[IEEE80211_MODE_MAX];
+	struct ieee80211channel isc_channels[IEEE80211_CHAN_MAX + 1];
+	uint8_t		isc_chan_avail[
+			    roundup(IEEE80211_CHAN_MAX, NBBY)];
+	uint32_t	isc_caps;		/* capabilities */
+	uint16_t	isc_modecaps;		/* set of mode capabilities */
+	enum ieee80211_phytype isc_phytype;	/* wrong for multi-mode */
+	uint16_t	isc_bmisstimeout;	/* beacon miss threshold ms */
+	uint16_t	isc_scan_interval;	/* scan interval(ms) */
+	uint16_t	isc_cali_interval;	/* calibrate interval(ms) */
+	uint16_t	isc_ratectl_interval;	/* rate ctl interval(ms) */
+	int32_t		(*isc_mgmt_send)(struct ieee80211com *, mblk_t *);
+	void		(*isc_recv_mgmt[16])(struct ieee80211com *, mblk_t *,
+			    int32_t, uint32_t, uint32_t);
+	int32_t		(*isc_send_mgmt[16])(struct ieee80211com *,
+			    struct ieee80211_node *, int32_t, int32_t);
+	int32_t		(*isc_new_state)(struct ieee80211com *,
+			    enum ieee80211_state);
+	struct ieee80211_node *(*isc_node_alloc)(struct ieee80211com *);
+	void		(*isc_node_free)(struct ieee80211com *,
+			    struct ieee80211_node *);
+	void		(*isc_node_copy)(struct ieee80211_node *,
+			    const struct ieee80211_node *);
+	void		(*isc_calibrate)(struct ieee80211com *);
+	void		(*isc_rate_ctl)(struct ieee80211com *,
+			    struct ieee80211_node *);
+	int		(*isc_gld_send)(gld_mac_info_t *, mblk_t *);
+	int		(*isc_gld_reset)(gld_mac_info_t *);
+	int		(*isc_gld_start)(gld_mac_info_t *);
+	int		(*isc_gld_stop)(gld_mac_info_t *);
+	int32_t		(*isc_gld_saddr)(gld_mac_info_t *, uint8_t *macaddr);
+	int		(*isc_gld_set_promiscuous)(gld_mac_info_t *,
+			    int mode);
+	int		(*isc_gld_gstat)(gld_mac_info_t *,
+			    struct gld_stats *);
+	int		(*isc_gld_ioctl)(gld_mac_info_t *, queue_t *, mblk_t *);
+	int		(*isc_gld_set_multicast)(gld_mac_info_t *,
+			    uint8_t *, int);
+	uint32_t	(*isc_gld_intr)(gld_mac_info_t *);
+
+	/*
+	 * The following items could only be
+	 * changed by ioctl after initialization.
+	 */
+	uint8_t		isc_macaddr[IEEE80211_ADDR_LEN];
+	int32_t		isc_fixed_rate;		/* index to ic_sup_rates[] */
+	uint16_t	isc_rtsthreshold;
+	uint16_t	isc_fragthreshold;
+	uint16_t	isc_lintval;		/* listen interval */
+	uint16_t	isc_txpower;		/* tx power setting (dbM) */
+	int32_t		isc_des_esslen;
+	uint8_t		isc_des_essid[IEEE80211_NWID_LEN];
+	struct ieee80211channel *isc_des_chan;	/* desired channel */
+	uint8_t		isc_des_bssid[IEEE80211_ADDR_LEN];
+	struct ieee80211_wepkey isc_nw_keys[IEEE80211_WEP_NKID];
+	int32_t		isc_wep_txkey;		/* default tx key index */
+	uint8_t		isc_nickname[IEEE80211_NWID_LEN];
+	int32_t		isc_nicknamelen;
+
+	/* The following items are changed dynamically */
+	kthread_t	*isc_mf_thread;
+	uint32_t	isc_mfthread_switch;	/* 0/1 indicate off/on */
+	kcondvar_t	isc_mfthread_cv;
+	kcondvar_t	isc_scan_cv;
+	int32_t		isc_mgt_timeout;	/* mgmt timeout */
+	int32_t		isc_inact_timeout;	/* inactivity timer wait */
+	uint8_t		isc_chan_active[
+			    roundup(IEEE80211_CHAN_MAX, NBBY)];
+	uint8_t		isc_chan_scan[
+			    roundup(IEEE80211_CHAN_MAX, NBBY)];
+	uint32_t	isc_flags;		/* state flags */
+	uint16_t	isc_curmode;		/* current mode */
+	enum ieee80211_opmode isc_opmode;	/* operation mode */
+	enum ieee80211_state isc_state;		/* 802.11 state */
+	struct ieee80211_node *isc_bss;		/* info for this node */
+	struct ieee80211channel *isc_ibss_chan;	/* current channel */
+	list_t		isc_in_list;		/* information of all nodes */
+	list_t		isc_inhash_list[IEEE80211_NODE_HASHSIZE];
+	uint32_t	isc_iv;			/* initial vector for wep */
+	kmutex_t	isc_genlock;		/* mutex for the whole struct */
+}ieee80211com_t;
+
+#define	IEEE80211_SEND_MGMT(isc, in, type, arg)	do { \
+if ((isc)->isc_send_mgmt[(type)>>IEEE80211_FC0_SUBTYPE_SHIFT] != NULL) \
+	(*(isc)->isc_send_mgmt[(type)>>IEEE80211_FC0_SUBTYPE_SHIFT]) \
+	    (isc, in, type, arg); \
+_NOTE(CONSTANTCONDITION) \
+} while (0)
+
+#define	IEEE80211_ADDR_EQ(a1, a2)	(bcmp(a1, a2, IEEE80211_ADDR_LEN) == 0)
+#define	IEEE80211_ADDR_COPY(dst, src)	bcopy(src, dst, IEEE80211_ADDR_LEN)
+
+/* multicast, broadcast */
+#define	ETHER_IS_MULTICAST(addr)	(*(addr) & 0x01)
+#define	IEEE80211_IS_MULTICAST(a)	ETHER_IS_MULTICAST(a)
+
+/* ic_flags */
+#define	IEEE80211_F_ASCAN	0x00000001	/* STATUS: active scan */
+#define	IEEE80211_F_SIBSS	0x00000002	/* STATUS: start IBSS */
+#define	IEEE80211_F_WEPON	0x00000100	/* CONF: WEP enabled */
+#define	IEEE80211_F_IBSSON	0x00000200	/* CONF: IBSS creation enable */
+#define	IEEE80211_F_PMGTON	0x00000400	/* CONF: Power mgmt enable */
+#define	IEEE80211_F_DESBSSID	0x00000800	/* CONF: des_bssid is set */
+#define	IEEE80211_F_SCANAP	0x00001000	/* CONF: Scanning AP */
+#define	IEEE80211_F_ROAMING	0x00002000	/* CONF: roaming enabled */
+#define	IEEE80211_F_SWRETRY	0x00004000	/* CONF: sw tx retry enabled */
+#define	IEEE80211_F_TXPMGT	0x00018000	/* STATUS: tx power */
+#define	IEEE80211_F_TXPOW_OFF	0x00000000	/* TX Power: radio disabled */
+#define	IEEE80211_F_TXPOW_FIXED	0x00008000	/* TX Power: fixed rate */
+#define	IEEE80211_F_TXPOW_AUTO	0x00010000	/* TX Power: undefined */
+#define	IEEE80211_F_SHSLOT	0x00020000	/* CONF: short slot time */
+#define	IEEE80211_F_SHPREAMBLE	0x00040000	/* CONF: short preamble */
+
+/* ic_capabilities */
+#define	IEEE80211_C_WEP		0x00000001	/* CAPABILITY: WEP available */
+#define	IEEE80211_C_IBSS	0x00000002	/* CAPABILITY: IBSS available */
+#define	IEEE80211_C_PMGT	0x00000004	/* CAPABILITY: Power mgmt */
+#define	IEEE80211_C_HOSTAP	0x00000008	/* CAPABILITY: HOSTAP avail */
+#define	IEEE80211_C_AHDEMO	0x00000010	/* CAPABILITY: Old Adhoc Demo */
+#define	IEEE80211_C_SWRETRY	0x00000020	/* CAPABILITY: sw tx retry */
+#define	IEEE80211_C_TXPMGT	0x00000040	/* CAPABILITY: tx power mgmt */
+#define	IEEE80211_C_SHSLOT	0x00000080	/* CAPABILITY: short slottime */
+#define	IEEE80211_C_SHPREAMBLE	0x00000100	/* CAPABILITY: short preamble */
+
+/* flags for ieee80211_fix_rate() */
+#define	IEEE80211_F_DOSORT	0x00000001	/* sort rate list */
+#define	IEEE80211_F_DOFRATE	0x00000002	/* use fixed rate */
+#define	IEEE80211_F_DONEGO	0x00000004	/* calc negotiated rate */
+#define	IEEE80211_F_DODEL	0x00000008	/* delete ignore rate */
+
+int32_t ieee80211_ifattach(gld_mac_info_t *);
+void ieee80211_ifdetach(gld_mac_info_t *);
+void ieee80211_input(ieee80211com_t *, mblk_t *,
+    int32_t, uint32_t, uint32_t);
+int32_t	ieee80211_mgmt_output(ieee80211com_t *, struct ieee80211_node *,
+    mblk_t *, int32_t);
+mblk_t *ieee80211_fill_header(ieee80211com_t *isc, mblk_t *mp_gld,
+    int32_t wep_txkey, struct ieee80211_node *in);
+mblk_t *ieee80211_decap(mblk_t *);
+extern const int8_t *ieee80211_essid_sprintf(uint8_t *, uint32_t);
+void ieee80211_dump_pkt(uint8_t *, int32_t, int32_t, int32_t);
+struct ieee80211_node *ieee80211_find_node(ieee80211com_t *, uint8_t *);
+struct ieee80211_node *ieee80211_lookup_node(ieee80211com_t *,
+    uint8_t *macaddr, struct ieee80211channel *);
+
+/*
+ * The following functions are almost the same, except that we should
+ * already hold isc_genlock before calling _ieee80211_new_state.
+ */
+int ieee80211_new_state(ieee80211com_t *, enum ieee80211_state, int32_t);
+int _ieee80211_new_state(ieee80211com_t *, enum ieee80211_state, int32_t);
+
+uint32_t ieee80211_mhz2ieee(uint32_t, uint32_t);
+uint32_t ieee80211_chan2ieee(ieee80211com_t *, struct ieee80211channel *);
+uint32_t ieee80211_ieee2mhz(uint32_t, uint32_t);
+enum ieee80211_phymode ieee80211_chan2mode(ieee80211com_t *,
+    struct ieee80211channel *);
+const int8_t *ieee80211_ether_sprintf(const uint8_t *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ATH_IEEE80211_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_impl.h	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,309 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ *    redistribution must be conditioned upon including a substantially
+ *    similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ */
+
+/*
+ * ath_impl.h is a bridge between the HAL and the driver. It
+ * defines some data structures encapsulating the HAL interface
+ * and communicating with the IEEE80211 MAC layer and other
+ * driver components.
+ */
+
+#ifndef	_ATH_IMPL_H
+#define	_ATH_IMPL_H
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Defintions for the Atheros Wireless LAN controller driver.
+ */
+
+#include <sys/list.h>
+#include "ath_ieee80211.h"
+#include "ath_hal.h"
+
+/*
+ * Bit flags in the ath_dbg_flags
+ */
+#define	ATH_DBG_INIT		0x00000001	/* initialisation	*/
+#define	ATH_DBG_GLD		0x00000002	/* GLD entry points	*/
+#define	ATH_DBG_HAL		0x00000004	/* HAL related code	*/
+#define	ATH_DBG_INT		0x00000008	/* interrupt handler	*/
+#define	ATH_DBG_RECV		0x00000010	/* receive-side code	*/
+#define	ATH_DBG_SEND		0x00000020	/* packet-send code	*/
+#define	ATH_DBG_80211		0x00000040	/* 80211 state machine	*/
+#define	ATH_DBG_IOCTL		0x00000080	/* ioctl code		*/
+#define	ATH_DBG_STATS		0x00000100	/* statistics		*/
+#define	ATH_DBG_RATE		0x00000200	/* rate control		*/
+#define	ATH_DBG_AUX		0x00000400	/* for ath_aux.c	*/
+#define	ATH_DBG_WIFICFG		0x00000800	/* wificonfig		*/
+#define	ATH_DBG_OSDEP		0x00001000	/* osdep		*/
+#define	ATH_DBG_ATTACH		0x00002000	/* attach		*/
+#define	ATH_DBG_DETACH		0x00004000	/* detach		*/
+#define	ATH_DBG_ALL		0x00007fff	/* all			*/
+
+#ifdef DEBUG
+#define	ATH_DDB(command)	do {				\
+					{ command; }		\
+					_NOTE(CONSTANTCONDITION)\
+				} while (0)
+#else
+#define	ATH_DDB(command)
+#endif /* DEBUG */
+
+/*
+ * Node type of wifi device
+ */
+#ifndef DDI_NT_NET_WIFI
+#define	DDI_NT_NET_WIFI	"ddi_network:wifi"
+#endif
+#define	ATH_NODENAME	"ath"
+
+#define	ATH_DEBUG(args)		ATH_DDB(ath_dbg args)
+
+#define	list_empty(a) ((a)->list_head.list_next == &(a)->list_head)
+#define	ATH_LE_READ_4(p)						\
+	((uint32_t)							\
+	((((uint8_t *)(p))[0]) | (((uint8_t *)(p))[1] <<  8) |		\
+	(((uint8_t *)(p))[2] << 16) | (((uint8_t *)(p))[3] << 24)))
+#define	ATH_N(a)	(sizeof (a) / sizeof (a[0]))
+#define	ATH_TXQ_SETUP(asc, i)	((asc)->asc_txqsetup & (1<<i))
+#define	ATH_PA2DESC(_asc, _pa) \
+	((struct ath_desc *)((caddr_t)(_asc)->asc_desc + \
+	((_pa) - (_asc)->asc_desc_dma.cookie.dmac_address)))
+/*
+ * Sync a DMA area described by a dma_area_t
+ */
+#define	ATH_DMA_SYNC(area, flag)    ((void) ddi_dma_sync((area).dma_hdl,    \
+				(area).offset, (area).alength, (flag)))
+
+#define	ATH_TXINTR_PERIOD 5
+#define	ATH_TIMEOUT	1000
+#define	ATH_RXBUF	80		/* number of RX buffers */
+#define	ATH_TXBUF	200		/* number of TX buffers */
+#define	ATH_TXDESC	1		/* number of descriptors per buffer */
+#define	ATH_TXMAXTRY	11		/* max number of transmit attempts */
+
+/* driver-specific node state */
+struct ath_node {
+	struct ieee80211_node an_node;	/* base class */
+	uint32_t	an_tx_times;	/* rate ctl times on one rate */
+	uint32_t	an_tx_ok;	/* tx ok pkt */
+	uint32_t	an_tx_err;	/* tx !ok pkt */
+	uint32_t	an_tx_retr;	/* tx retry count */
+	int32_t		an_tx_upper;	/* tx upper rate req cnt */
+	uint32_t	an_tx_antenna;	/* antenna for last good frame */
+	uint8_t		an_tx_rix0;	/* series 0 rate index */
+	uint8_t		an_tx_try0;	/* series 0 try count */
+	uint8_t		an_tx_mgtrate;	/* h/w rate for management/ctl frames */
+	uint8_t		an_tx_mgtratesp; /* short preamble h/w rate for " " */
+	uint8_t		an_tx_rate0;	/* series 0 h/w rate */
+	uint8_t		an_tx_rate1;	/* series 1 h/w rate */
+	uint8_t		an_tx_rate2;	/* series 2 h/w rate */
+	uint8_t		an_tx_rate3;	/* series 3 h/w rate */
+	uint8_t		an_tx_rate0sp;	/* series 0 short preamble h/w rate */
+	uint8_t		an_tx_rate1sp;	/* series 1 short preamble h/w rate */
+	uint8_t		an_tx_rate2sp;	/* series 2 short preamble h/w rate */
+	uint8_t		an_tx_rate3sp;	/* series 3 short preamble h/w rate */
+};
+#define	ATH_NODE(_n)	((struct ath_node *)(_n))
+
+
+struct ath_stats {
+	uint32_t	ast_hardware;	/* fatal hardware error interrupts */
+	uint32_t	ast_rxorn;	/* rx overrun interrupts */
+	uint32_t	ast_rxeol;	/* rx eol interrupts */
+	uint32_t	ast_txurn;	/* tx underrun interrupts */
+	uint32_t	ast_tx_mgmt;	/* management frames transmitted */
+	uint32_t	ast_tx_discard;	/* frames discarded prior to assoc */
+	uint32_t	ast_tx_invalid; /* frames discarded 'cuz device gone */
+	uint32_t	ast_tx_qstop;	/* tx queue stopped 'cuz full */
+	uint32_t	ast_tx_nobuf;	/* tx failed 'cuz no tx buffer (data) */
+	uint32_t	ast_tx_nobufmgt; /* tx failed 'cuz no tx buffer(mgmt) */
+	uint32_t	ast_tx_xretries; /* tx failed 'cuz too many retries */
+	uint32_t	ast_tx_fifoerr;	/* tx failed 'cuz FIFO underrun */
+	uint32_t	ast_tx_filtered; /* tx failed 'cuz xmit filtered */
+	uint32_t	ast_tx_shortretry; /* tx on-chip retries (short) */
+	uint32_t	ast_tx_longretry; /* tx on-chip retries (long) */
+	uint32_t	ast_tx_noack;	/* tx frames with no ack marked */
+	uint32_t	ast_tx_rts;	/* tx frames with rts enabled */
+	uint32_t	ast_tx_shortpre; /* tx frames with short preamble */
+	uint32_t	ast_tx_altrate;	/* tx frames with alternate rate */
+	int16_t		ast_tx_rssi;	/* tx rssi of last ack */
+	int16_t		ast_tx_rssidelta; /* tx rssi delta */
+	uint32_t	ast_rx_crcerr;	/* rx failed 'cuz of bad CRC */
+	uint32_t	ast_rx_fifoerr;	/* rx failed 'cuz of FIFO overrun */
+	uint32_t	ast_rx_badcrypt; /* rx failed 'cuz decryption */
+	uint32_t	ast_rx_phyerr;	/* rx PHY error summary count */
+	uint32_t	ast_rx_phy[32];	/* rx PHY error per-code counts */
+	uint32_t	ast_rx_tooshort; /* rx discarded 'cuz frame too short */
+	uint32_t	ast_per_cal;	/* periodic calibration calls */
+	uint32_t	ast_per_calfail; /* periodic calibration failed */
+	uint32_t	ast_per_rfgain;	/* periodic calibration rfgain reset */
+	uint32_t	ast_rate_calls;	/* rate control checks */
+	uint32_t	ast_rate_raise;	/* rate control raised xmit rate */
+	uint32_t	ast_rate_drop;	/* rate control dropped xmit rate */
+};
+
+
+/*
+ * Describes one chunk of allocated DMA-able memory
+ *
+ * In some cases, this is a single chunk as allocated from the system;
+ * but we also use this structure to represent slices carved off such
+ * a chunk.  Even when we don't really need all the information, we
+ * use this structure as a convenient way of correlating the various
+ * ways of looking at a piece of memory (kernel VA, IO space DVMA,
+ * handle+offset, etc).
+ */
+struct dma_area {
+	ddi_acc_handle_t	acc_hdl;	/* handle for memory */
+	caddr_t			mem_va;		/* CPU VA of memory */
+	uint32_t		nslots;		/* number of slots */
+	uint32_t		size;		/* size per slot */
+	size_t			alength;	/* allocated size */
+						/* >= product of above */
+
+	ddi_dma_handle_t	dma_hdl;	/* DMA handle */
+	offset_t		offset;		/* relative to handle */
+	ddi_dma_cookie_t	cookie;		/* associated cookie */
+	uint32_t		ncookies;	/* must be 1 */
+	uint32_t		token;		/* arbitrary identifier */
+};						/* 0x50 (80) bytes */
+typedef struct dma_area dma_area_t;
+
+struct ath_buf {
+	struct ath_desc		*bf_desc;	/* virtual addr of desc */
+	uint32_t		bf_daddr;	/* physical addr of desc */
+	dma_area_t		bf_dma;		/* dma area for buf */
+	struct ieee80211_node	*bf_in;		/* pointer to the node */
+
+	/* we're in list of asc->asc_txbuf_list or asc->asc_rxbuf_list */
+	list_node_t		bf_node;
+};
+
+
+/*
+ * Data transmit queue state.  One of these exists for each
+ * hardware transmit queue.  Packets sent to us from above
+ * are assigned to queues based on their priority.  Not all
+ * devices support a complete set of hardware transmit queues.
+ * For those devices the array sc_ac2q will map multiple
+ * priorities to fewer hardware queues (typically all to one
+ * hardware queue).
+ */
+struct ath_txq {
+	uint_t		axq_qnum;	/* hardware q number */
+	uint_t		axq_depth;	/* queue depth (stat only) */
+	uint_t		axq_intrcnt;	/* interrupt count */
+	uint32_t	*axq_link;	/* link ptr in last TX desc */
+	list_t		axq_list;	/* transmit queue */
+	kmutex_t	axq_lock;	/* lock on q and link */
+};
+
+
+/*
+ * asc_isc must be the first element, for convience of
+ * casting between iee80211com and ath
+ */
+typedef struct ath {
+	ieee80211com_t		asc_isc;	/* IEEE 802.11 common */
+	dev_info_t		*asc_dev;	/* back pointer to dev_info_t */
+	struct ath_hal		*asc_ah;	/* Atheros HAL */
+	uint32_t		asc_invalid : 1, /* being detached */
+				asc_mrretry : 1, /* multi-rate retry support */
+				asc_have11g : 1, /* have 11g support */
+				asc_splitmic : 1; /* Split TKIP mic keys */
+	const HAL_RATE_TABLE	*asc_rates[IEEE80211_MODE_MAX]; /* h/w rate */
+
+	ddi_acc_handle_t	asc_cfg_handle;	/* DDI I/O handle */
+	ddi_acc_handle_t	asc_io_handle;	/* DDI I/O handle */
+	uint16_t		asc_cachelsz;	/* cache line size */
+	ddi_iblock_cookie_t	asc_iblock;
+	ddi_softintr_t		asc_softint_id;
+
+	struct ath_desc		*asc_desc;	/* TX/RX descriptors */
+	dma_area_t		asc_desc_dma;	/* descriptor structure */
+	/* pointer to the first "struct ath_buf" */
+	struct ath_buf		*asc_vbufptr;
+	/* length of all allocated "struct ath_buf" */
+	uint32_t		asc_vbuflen;
+	/* size of one DMA TX/RX buffer based on 802.11 MTU */
+	int32_t			asc_dmabuf_size;
+
+	list_t			asc_rxbuf_list;
+	kmutex_t		asc_rxbuflock;	/* recv lock for above data */
+	uint32_t		*asc_rxlink;	/* link ptr in last RX desc */
+	uint32_t		asc_rx_pend;
+
+	list_t			asc_txbuf_list;
+	kmutex_t		asc_txbuflock;	/* txbuf lock */
+
+	uint_t			asc_txqsetup;	/* h/w queues setup */
+	struct ath_txq		asc_txq[HAL_NUM_TX_QUEUES]; /* tx queues */
+	struct ath_txq		*asc_ac2q[5];	/* WME AC -> h/w qnum */
+
+	const HAL_RATE_TABLE	*asc_currates;	/* current rate table */
+	enum ieee80211_phymode	asc_curmode;	/* current phy mode */
+	uint8_t			asc_rixmap[256]; /* IEEE to h/w rate table ix */
+	HAL_INT			asc_imask;	/* interrupt mask copy */
+	struct ath_stats	asc_stats;	/* interface statistics */
+	int32_t			asc_promisc;	/* Promiscuous mode enabled */
+	uint8_t			asc_mcast_cnt[64];
+	uint32_t		asc_mfilt[2];
+	kmutex_t		asc_genlock;
+
+	uint32_t		asc_need_gld_sched;
+	kmutex_t		asc_gld_sched_lock;
+} ath_t;
+
+#define	ATH_STATE(macinfo)	((ath_t *)((macinfo)->gldm_private))
+
+/* Debug and log functions */
+void ath_dbg(uint32_t dbg_flags, const char *fmt, ...);	/* debug function */
+void ath_log(const char *fmt, ...);	/* event log function */
+void ath_problem(const char *fmt, ...);	/* run-time problem function */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ATH_IMPL_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_main.c	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,2205 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+/*
+ * Driver for the Atheros Wireless LAN controller.
+ *
+ * The Atheros driver can be devided into 2 parts: H/W related(we called LLD:
+ * Low Level Driver) and IEEE80211 protocol related(we called IEEE80211),
+ * and each part has several sub modules.
+ * The following is the high level structure of ath driver.
+ * (The arrows between modules indicate function call direction.)
+ *
+ *
+ *                     ^                                |
+ *                     |                                | GLD thread
+ *                     |                                V
+ *             ==================  =========================================
+ *             |[1]             |  |[2]                                    |
+ *             |                |  |    GLD Callback functions registered  |
+ *             |   IEEE80211    |  =========================       by      |
+ *             |                |          |               |   IEEE80211   |
+ *             |   Internal     |          V               |               |
+ * =========   |                |========================  |               |
+ * |[3]    |   |   Functions                            |  |               |
+ * |       |   |                                        |  |               |
+ * |Multi- |   ==========================================  =================
+ * |       |       ^           |                |                  |
+ * |Func   |       |           V                V                  V
+ * |       |   ======================   ------------------------------------
+ * |Thread |   |[4]                 |   |[5]                               |
+ * |       |-->| Functions exported |   |   IEEE80211 Callback functions   |
+ * |       |   |    by IEEE80211    |   |      registered by LLD           |
+ * =========   ======================   ------------------------------------
+ *                       ^                                |
+ *                       |                                V
+ *             -------------------------------------------------------------
+ *             |[6]                                                        |
+ *             |                LLD Internal functions                     |
+ *             |                                                           |
+ *             -------------------------------------------------------------
+ *                                        ^
+ *                                        | Software interrupt thread
+ *                                        |
+ *
+ * Modules 1/2/3/4 constitute part IEEE80211, and modules 5/6 constitute LLD.
+ * The short description of each module is as below:
+ *      Module 1: IEEE80211 Internal functions, including ieee80211 state
+ *                machine, convert functions between 802.3 frame and
+ *                802.11 frame, and node maintain function, etc.
+ *      Module 2: GLD callback functions, which are intercepting the calls from
+ *                GLD to LLD, and adding IEEE80211's mutex protection.
+ *      Module 3: Multi-func thread, which is responsible for scan timing,
+ *                rate control timing and calibrate timing.
+ *      Module 4: Functions exported by IEEE80211, which can be called from
+ *                other modules.
+ *      Module 5: IEEE80211 callback functions registered by LLD, which include
+ *                GLD related callbacks and some other functions needed by
+ *                IEEE80211.
+ *      Module 6: LLD Internal functions, which are responsible for allocing
+ *                descriptor/buffer, handling interrupt and other H/W
+ *                operations.
+ *
+ * All functions are running in 3 types of thread:
+ * 1. GLD callbacks threads, such as ioctl, intr, etc.
+ * 2. Multi-Func thread in IEEE80211 which is responsible for scan,
+ *    rate control and calibrate.
+ * 3. Software Interrupt thread originated in LLD.
+ *
+ * The lock strategy is as below:
+ * There have 4 queues for tx, each queue has one asc_txqlock[i] to
+ *      prevent conflicts access to queue resource from different thread.
+ *
+ * All the transmit buffers are contained in asc_txbuf which are
+ *      protected by asc_txbuflock.
+ *
+ * Each receive buffers are contained in asc_rxbuf which are protected
+ *      by asc_rxbuflock.
+ *
+ * In ath struct, asc_genlock is a general lock, protecting most other
+ *      operational data in ath_softc struct and HAL accesses.
+ *      It is acquired by the interupt handler and most "mode-ctrl" routines.
+ *
+ * In ieee80211com struct, isc_genlock is a general lock to protect
+ *      necessary data and functions in ieee80211_com struct. Some data in
+ *      ieee802.11_com don't need protection. For example, isc_dev is writen
+ *      only in ath_attach(), but read in many other functions, so protection
+ *      is not necessary.
+ *
+ * Any of the locks can be acquired singly, but where multiple
+ * locks are acquired, they *must* be in the order:
+ *
+ *    isc_genlock >> asc_genlock >> asc_txqlock[i] >>
+ *        asc_txbuflock >> asc_rxbuflock
+ *
+ * Note:
+ * 1. All the IEEE80211 callback functions(except isc_gld_intr)
+ *    registered by LLD in module [5] are protected by isc_genlock before
+ *    calling from IEEE80211.
+ * 2. Module [4] have 3 important functions ieee80211_input(),
+ *    ieee80211_new_state() and _ieee80211_new_state().
+ *    The functions in module [6] should avoid holding mutex or other locks
+ *    during the call to ieee80211_input().
+ *    In particular, the soft interrupt thread that calls ieee80211_input()
+ *    may in some cases carry out processing that includes sending an outgoing
+ *    packet, resulting in a call to the driver's ath_mgmt_send() routine.
+ *    If the ath_mgmt_send() routine were to try to acquire a mutex being held
+ *    by soft interrupt thread at the time it calls ieee80211_input(),
+ *    this could result in a panic due to recursive mutex entry.
+ *    ieee80211_new_state() and _ieee80211_new_state() are almost the same
+ *    except that the latter function asserts isc_genlock is owned in its entry.
+ *    so ieee80211_new_state() is only called by ath_bmiss_handler()
+ *    from soft interrupt handler thread.
+ *    As the same reason to ieee80211_input, we can't hold any other mutex.
+ * 3. *None* of these locks may be held across calls out to the
+ *    GLD routines gld_recv() in ieee80211_input().
+ *
+ */
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/stream.h>
+#include <sys/termio.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/cmn_err.h>
+#include <sys/stropts.h>
+#include <sys/strsubr.h>
+#include <sys/strtty.h>
+#include <sys/kbio.h>
+#include <sys/cred.h>
+#include <sys/stat.h>
+#include <sys/consdev.h>
+#include <sys/kmem.h>
+#include <sys/modctl.h>
+#include <sys/ddi.h>
+#include <sys/sunddi.h>
+#include <sys/pci.h>
+#include <sys/errno.h>
+#include <sys/gld.h>
+#include <sys/dlpi.h>
+#include <sys/ethernet.h>
+#include <sys/list.h>
+#include <sys/byteorder.h>
+#include <sys/strsun.h>
+#include <sys/policy.h>
+#include <inet/common.h>
+#include <inet/nd.h>
+#include <inet/mi.h>
+#include <inet/wifi_ioctl.h>
+#include "ath_hal.h"
+#include "ath_impl.h"
+#include "ath_aux.h"
+#include "ath_rate.h"
+
+extern void ath_halfix_init(void);
+extern void ath_halfix_finit(void);
+extern int32_t ath_getset(ath_t *asc, mblk_t *mp, uint32_t cmd);
+
+/*
+ * PIO access attributes for registers
+ */
+static ddi_device_acc_attr_t ath_reg_accattr = {
+	DDI_DEVICE_ATTR_V0,
+	DDI_STRUCTURE_LE_ACC,
+	DDI_STRICTORDER_ACC
+};
+
+/*
+ * DMA access attributes for descriptors: NOT to be byte swapped.
+ */
+static ddi_device_acc_attr_t ath_desc_accattr = {
+	DDI_DEVICE_ATTR_V0,
+	DDI_STRUCTURE_LE_ACC,
+	DDI_STRICTORDER_ACC
+};
+
+/*
+ * Describes the chip's DMA engine
+ */
+static ddi_dma_attr_t dma_attr = {
+	DMA_ATTR_V0,			/* dma_attr version */
+	0x0000000000000000ull,		/* dma_attr_addr_lo */
+	0xFFFFFFFFFFFFFFFFull,		/* dma_attr_addr_hi */
+	0x00000000FFFFFFFFull,		/* dma_attr_count_max */
+	0x0000000000000001ull,		/* dma_attr_align */
+	0x00000FFF,			/* dma_attr_burstsizes */
+	0x00000001,			/* dma_attr_minxfer */
+	0x000000000000FFFFull,		/* dma_attr_maxxfer */
+	0xFFFFFFFFFFFFFFFFull,		/* dma_attr_seg */
+	1,				/* dma_attr_sgllen */
+	0x00000001,			/* dma_attr_granular */
+	0				/* dma_attr_flags */
+};
+
+static uint8_t ath_broadcast_addr[] = {
+	0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+static kmutex_t ath_loglock;
+static void *ath_soft_state_p = NULL;
+
+/*
+ * Available debug flags:
+ * ATH_DBG_INIT, ATH_DBG_GLD, ATH_DBG_HAL, ATH_DBG_INT, ATH_DBG_ATTACH,
+ * ATH_DBG_DETACH, ATH_DBG_AUX, ATH_DBG_WIFICFG, ATH_DBG_OSDEP
+ */
+uint32_t ath_dbg_flags = 0;
+
+/*
+ * Exception/warning cases not leading to panic.
+ */
+void
+ath_problem(const int8_t *fmt, ...)
+{
+	va_list args;
+
+	mutex_enter(&ath_loglock);
+
+	va_start(args, fmt);
+	vcmn_err(CE_WARN, fmt, args);
+	va_end(args);
+
+	mutex_exit(&ath_loglock);
+}
+
+/*
+ * Normal log information independent of debug.
+ */
+void
+ath_log(const int8_t *fmt, ...)
+{
+	va_list args;
+
+	mutex_enter(&ath_loglock);
+
+	va_start(args, fmt);
+	vcmn_err(CE_CONT, fmt, args);
+	va_end(args);
+
+	mutex_exit(&ath_loglock);
+}
+
+void
+ath_dbg(uint32_t dbg_flags, const int8_t *fmt, ...)
+{
+	va_list args;
+
+	if (dbg_flags & ath_dbg_flags) {
+		mutex_enter(&ath_loglock);
+		va_start(args, fmt);
+		vcmn_err(CE_CONT, fmt, args);
+		va_end(args);
+		mutex_exit(&ath_loglock);
+	}
+}
+
+void
+ath_setup_desc(ath_t *asc, struct ath_buf *bf)
+{
+	struct ath_desc *ds;
+
+	ds = bf->bf_desc;
+	ds->ds_link = bf->bf_daddr;
+	ds->ds_data = bf->bf_dma.cookie.dmac_address;
+	ATH_HAL_SETUPRXDESC(asc->asc_ah, ds,
+	    bf->bf_dma.alength,		/* buffer size */
+	    0);
+
+	if (asc->asc_rxlink != NULL)
+		*asc->asc_rxlink = bf->bf_daddr;
+	asc->asc_rxlink = &ds->ds_link;
+}
+
+
+/*
+ * Allocate an area of memory and a DMA handle for accessing it
+ */
+static int
+ath_alloc_dma_mem(dev_info_t *devinfo, size_t memsize,
+	ddi_device_acc_attr_t *attr_p, uint_t alloc_flags,
+	uint_t bind_flags, dma_area_t *dma_p)
+{
+	int err;
+
+	/*
+	 * Allocate handle
+	 */
+	err = ddi_dma_alloc_handle(devinfo, &dma_attr,
+		DDI_DMA_SLEEP, NULL, &dma_p->dma_hdl);
+	if (err != DDI_SUCCESS)
+		return (DDI_FAILURE);
+
+	/*
+	 * Allocate memory
+	 */
+	err = ddi_dma_mem_alloc(dma_p->dma_hdl, memsize, attr_p,
+	    alloc_flags, DDI_DMA_SLEEP, NULL, &dma_p->mem_va,
+	    &dma_p->alength, &dma_p->acc_hdl);
+	if (err != DDI_SUCCESS)
+		return (DDI_FAILURE);
+
+	/*
+	 * Bind the two together
+	 */
+	err = ddi_dma_addr_bind_handle(dma_p->dma_hdl, NULL,
+		dma_p->mem_va, dma_p->alength, bind_flags,
+		DDI_DMA_SLEEP, NULL, &dma_p->cookie, &dma_p->ncookies);
+	if (err != DDI_DMA_MAPPED)
+		return (DDI_FAILURE);
+
+	dma_p->nslots = ~0U;
+	dma_p->size = ~0U;
+	dma_p->token = ~0U;
+	dma_p->offset = 0;
+	return (DDI_SUCCESS);
+}
+
+/*
+ * Free one allocated area of DMAable memory
+ */
+static void
+ath_free_dma_mem(dma_area_t *dma_p)
+{
+	if (dma_p->dma_hdl != NULL) {
+		(void) ddi_dma_unbind_handle(dma_p->dma_hdl);
+		if (dma_p->acc_hdl != NULL) {
+			ddi_dma_mem_free(&dma_p->acc_hdl);
+			dma_p->acc_hdl = NULL;
+		}
+		ddi_dma_free_handle(&dma_p->dma_hdl);
+		dma_p->ncookies = 0;
+		dma_p->dma_hdl = NULL;
+	}
+}
+
+
+static int
+ath_desc_alloc(dev_info_t *devinfo, ath_t *asc)
+{
+	int i, err;
+	size_t size;
+	struct ath_desc *ds;
+	struct ath_buf *bf;
+
+	size = sizeof (struct ath_desc) * (ATH_TXBUF + ATH_RXBUF);
+
+	err = ath_alloc_dma_mem(devinfo, size, &ath_desc_accattr,
+	    DDI_DMA_CONSISTENT, DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
+	    &asc->asc_desc_dma);
+
+	/* virtual address of the first descriptor */
+	asc->asc_desc = (struct ath_desc *)asc->asc_desc_dma.mem_va;
+
+	ds = asc->asc_desc;
+	ATH_DEBUG((ATH_DBG_INIT, "ath: ath_desc_alloc(): DMA map: "
+	    "%p (%d) -> %p\n",
+	    asc->asc_desc, asc->asc_desc_dma.alength,
+	    asc->asc_desc_dma.cookie.dmac_address));
+
+	/* allocate data structures to describe TX/RX DMA buffers */
+	asc->asc_vbuflen = sizeof (struct ath_buf) * (ATH_TXBUF + ATH_RXBUF);
+	bf = (struct ath_buf *)kmem_zalloc(asc->asc_vbuflen, KM_SLEEP);
+	asc->asc_vbufptr = bf;
+
+	/* DMA buffer size for each TX/RX packet */
+	asc->asc_dmabuf_size = roundup(1000 + sizeof (struct ieee80211_frame) +
+	    IEEE80211_MTU + IEEE80211_CRC_LEN +
+	    (IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN +
+	    IEEE80211_WEP_CRCLEN), asc->asc_cachelsz);
+
+	/* create RX buffer list and allocate DMA memory */
+	list_create(&asc->asc_rxbuf_list, sizeof (struct ath_buf),
+	    offsetof(struct ath_buf, bf_node));
+	for (i = 0; i < ATH_RXBUF; i++, bf++, ds++) {
+		bf->bf_desc = ds;
+		bf->bf_daddr = asc->asc_desc_dma.cookie.dmac_address +
+		    ((caddr_t)ds - (caddr_t)asc->asc_desc);
+		list_insert_tail(&asc->asc_rxbuf_list, bf);
+
+		/* alloc DMA memory */
+		err = ath_alloc_dma_mem(devinfo, asc->asc_dmabuf_size,
+		    &ath_desc_accattr,
+		    DDI_DMA_STREAMING, DDI_DMA_READ | DDI_DMA_STREAMING,
+		    &bf->bf_dma);
+		if (err != DDI_SUCCESS)
+			return (err);
+	}
+
+	/* create TX buffer list and allocate DMA memory */
+	list_create(&asc->asc_txbuf_list, sizeof (struct ath_buf),
+	    offsetof(struct ath_buf, bf_node));
+	for (i = 0; i < ATH_TXBUF; i++, bf++, ds++) {
+		bf->bf_desc = ds;
+		bf->bf_daddr = asc->asc_desc_dma.cookie.dmac_address +
+		    ((caddr_t)ds - (caddr_t)asc->asc_desc);
+		list_insert_tail(&asc->asc_txbuf_list, bf);
+
+		/* alloc DMA memory */
+		err = ath_alloc_dma_mem(devinfo, size, &ath_desc_accattr,
+		    DDI_DMA_STREAMING, DDI_DMA_STREAMING, &bf->bf_dma);
+		if (err != DDI_SUCCESS)
+			return (err);
+	}
+
+	return (DDI_SUCCESS);
+}
+
+static void
+ath_desc_free(ath_t *asc)
+{
+	struct ath_buf *bf;
+
+	/* Free TX DMA buffer */
+	bf = list_head(&asc->asc_txbuf_list);
+	while (bf != NULL) {
+		ath_free_dma_mem(&bf->bf_dma);
+		list_remove(&asc->asc_txbuf_list, bf);
+		bf = list_head(&asc->asc_txbuf_list);
+	}
+	list_destroy(&asc->asc_txbuf_list);
+
+	/* Free RX DMA uffer */
+	bf = list_head(&asc->asc_rxbuf_list);
+	while (bf != NULL) {
+		ath_free_dma_mem(&bf->bf_dma);
+		list_remove(&asc->asc_rxbuf_list, bf);
+		bf = list_head(&asc->asc_rxbuf_list);
+	}
+	list_destroy(&asc->asc_rxbuf_list);
+
+	/* Free descriptor DMA buffer */
+	ath_free_dma_mem(&asc->asc_desc_dma);
+
+	kmem_free((void *)asc->asc_vbufptr, asc->asc_vbuflen);
+	asc->asc_vbufptr = NULL;
+}
+
+static void
+ath_printrxbuf(struct ath_buf *bf, int32_t done)
+{
+	struct ath_desc *ds = bf->bf_desc;
+
+	ATH_DEBUG((ATH_DBG_RECV, "ath: R (%p %p) %08x %08x %08x "
+	    "%08x %08x %08x %c\n",
+	    ds, bf->bf_daddr,
+	    ds->ds_link, ds->ds_data,
+	    ds->ds_ctl0, ds->ds_ctl1,
+	    ds->ds_hw[0], ds->ds_hw[1],
+	    !done ? ' ' : (ds->ds_rxstat.rs_status == 0) ? '*' : '!'));
+}
+
+static void
+ath_rx_handler(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_buf *bf;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ath_desc *ds;
+	mblk_t *rx_mp;
+	struct ieee80211_frame *wh, whbuf;
+	int32_t len, loop = 1;
+	uint8_t phyerr;
+	HAL_STATUS status;
+	HAL_NODE_STATS hal_node_stats;
+
+	do {
+		mutex_enter(&asc->asc_rxbuflock);
+		bf = list_head(&asc->asc_rxbuf_list);
+		if (bf == NULL) {
+			ATH_DEBUG((ATH_DBG_RECV, "ath: ath_rx_handler(): "
+			    "no buffer\n"));
+			mutex_exit(&asc->asc_rxbuflock);
+			break;
+		}
+		ASSERT(bf->bf_dma.cookie.dmac_address != NULL);
+		ds = bf->bf_desc;
+		if (ds->ds_link == bf->bf_daddr) {
+			/*
+			 * Never process the self-linked entry at the end,
+			 * this may be met at heavy load.
+			 */
+			mutex_exit(&asc->asc_rxbuflock);
+			break;
+		}
+
+		status = ATH_HAL_RXPROCDESC(ah, ds,
+		    bf->bf_daddr,
+		    ATH_PA2DESC(asc, ds->ds_link));
+		if (status == HAL_EINPROGRESS) {
+			mutex_exit(&asc->asc_rxbuflock);
+			break;
+		}
+		list_remove(&asc->asc_rxbuf_list, bf);
+		mutex_exit(&asc->asc_rxbuflock);
+
+		if (ds->ds_rxstat.rs_status != 0) {
+			if (ds->ds_rxstat.rs_status & HAL_RXERR_CRC)
+				asc->asc_stats.ast_rx_crcerr++;
+			if (ds->ds_rxstat.rs_status & HAL_RXERR_FIFO)
+				asc->asc_stats.ast_rx_fifoerr++;
+			if (ds->ds_rxstat.rs_status & HAL_RXERR_DECRYPT)
+				asc->asc_stats.ast_rx_badcrypt++;
+			if (ds->ds_rxstat.rs_status & HAL_RXERR_PHY) {
+				asc->asc_stats.ast_rx_phyerr++;
+				phyerr = ds->ds_rxstat.rs_phyerr & 0x1f;
+				asc->asc_stats.ast_rx_phy[phyerr]++;
+			}
+			goto rx_next;
+		}
+		len = ds->ds_rxstat.rs_datalen;
+
+		/* less than sizeof(struct ieee80211_frame) */
+		if (len < 20) {
+			asc->asc_stats.ast_rx_tooshort++;
+			goto rx_next;
+		}
+
+		if ((rx_mp = allocb(asc->asc_dmabuf_size, BPRI_MED)) == NULL) {
+			ath_problem("ath: ath_rx_handler(): "
+			    "allocing mblk buffer failed.\n");
+			return;
+		}
+
+		ATH_DMA_SYNC(bf->bf_dma, DDI_DMA_SYNC_FORCPU);
+		bcopy(bf->bf_dma.mem_va, rx_mp->b_rptr, len);
+
+		rx_mp->b_wptr += len;
+		wh = (struct ieee80211_frame *)rx_mp->b_rptr;
+		if ((wh->ifrm_fc[0] & IEEE80211_FC0_TYPE_MASK) ==
+		    IEEE80211_FC0_TYPE_CTL) {
+			/*
+			 * Ignore control frame received in promisc mode.
+			 */
+			freemsg(rx_mp);
+			goto rx_next;
+		}
+		/* Remove the CRC at the end of IEEE80211 frame */
+		rx_mp->b_wptr -= IEEE80211_CRC_LEN;
+		if (wh->ifrm_fc[1] & IEEE80211_FC1_WEP) {
+			/*
+			 * WEP is decrypted by hardware. Clear WEP bit
+			 * and trim WEP header for ieee80211_input().
+			 */
+			wh->ifrm_fc[1] &= ~IEEE80211_FC1_WEP;
+			bcopy(wh, &whbuf, sizeof (whbuf));
+			/*
+			 * Remove WEP related fields between
+			 * header and payload.
+			 */
+			rx_mp->b_rptr += IEEE80211_WEP_IVLEN +
+			    IEEE80211_WEP_KIDLEN;
+			bcopy(&whbuf, rx_mp->b_rptr, sizeof (whbuf));
+			/*
+			 * Remove WEP CRC from the tail.
+			 */
+			rx_mp->b_wptr -= IEEE80211_WEP_CRCLEN;
+		}
+#ifdef DEBUG
+		ath_printrxbuf(bf, status == HAL_OK);
+#endif /* DEBUG */
+		ieee80211_input(isc, rx_mp,
+		    ds->ds_rxstat.rs_rssi,
+		    ds->ds_rxstat.rs_tstamp,
+		    ds->ds_rxstat.rs_antenna);
+rx_next:
+		mutex_enter(&asc->asc_rxbuflock);
+		list_insert_tail(&asc->asc_rxbuf_list, bf);
+		mutex_exit(&asc->asc_rxbuflock);
+		ath_setup_desc(asc, bf);
+	} while (loop);
+
+	/* rx signal state monitoring */
+	ATH_HAL_RXMONITOR(ah, &hal_node_stats);
+	ATH_HAL_RXENA(ah);	/* in case of RXEOL */
+}
+
+static void
+ath_printtxbuf(struct ath_buf *bf, int done)
+{
+	struct ath_desc *ds = bf->bf_desc;
+
+	ATH_DEBUG((ATH_DBG_SEND, "ath: T(%p %p) %08x %08x %08x %08x %08x"
+	    " %08x %08x %08x %c\n",
+	    ds, bf->bf_daddr,
+	    ds->ds_link, ds->ds_data,
+	    ds->ds_ctl0, ds->ds_ctl1,
+	    ds->ds_hw[0], ds->ds_hw[1], ds->ds_hw[2], ds->ds_hw[3],
+	    !done ? ' ' : (ds->ds_txstat.ts_status == 0) ? '*' : '!'));
+}
+
+/*
+ * The input parameter mp has following assumption:
+ * the first mblk is for ieee80211 header, and there has enough space left
+ * for WEP option at the end of this mblk.
+ * The continue mblks are for payload.
+ */
+static int32_t
+ath_xmit(ath_t *asc, struct ieee80211_node *in,
+    struct ath_buf *bf, mblk_t *mp, mblk_t *mp_header)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_frame *wh;
+	struct ath_hal *ah = asc->asc_ah;
+	uint32_t subtype, flags, ctsduration, antenna;
+	int32_t keyix, iswep, hdrlen, pktlen, mblen, mbslen, try0;
+	uint8_t rix, cix, txrate, ctsrate, *tmp_ptr;
+	struct ath_desc *ds;
+	struct ath_txq *txq;
+	HAL_PKT_TYPE atype;
+	const HAL_RATE_TABLE *rt;
+	HAL_BOOL shortPreamble;
+	mblk_t *mp0;
+	struct ath_node *an;
+
+	/*
+	 * CRC are added by H/W, not encaped by driver,
+	 * but we must count it in pkt length.
+	 */
+	pktlen = IEEE80211_CRC_LEN;
+
+	wh = (struct ieee80211_frame *)mp_header->b_rptr;
+	iswep = wh->ifrm_fc[1] & IEEE80211_FC1_WEP;
+	keyix = HAL_TXKEYIX_INVALID;
+	hdrlen = sizeof (struct ieee80211_frame);
+	if (iswep) {
+		hdrlen += IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN;
+		pktlen += IEEE80211_WEP_CRCLEN;
+		keyix = isc->isc_wep_txkey;
+	}
+	tmp_ptr = (uint8_t *)bf->bf_dma.mem_va;
+
+	/* Copy 80211 header from mblk to DMA txbuf */
+	mblen = mp_header->b_wptr - mp_header->b_rptr;
+	bcopy(mp_header->b_rptr, tmp_ptr, mblen);
+	tmp_ptr += mblen;
+	pktlen += mblen;
+	mbslen = mblen;
+
+	/*
+	 * If mp==NULL, then it's a management frame,
+	 * else it's a data frame.
+	 */
+	if (mp != NULL) {
+		/*
+		 * Copy the first mblk to DMA txbuf
+		 * (this mblk includes ether header).
+		 */
+		mblen = mp->b_wptr - mp->b_rptr - sizeof (struct ether_header);
+		bcopy(mp->b_rptr + sizeof (struct ether_header),
+			tmp_ptr, mblen);
+		tmp_ptr += mblen;
+		pktlen += mblen;
+		mbslen += mblen;
+
+		/* Copy subsequent mblks to DMA txbuf */
+		for (mp0 = mp->b_cont; mp0 != NULL; mp0 = mp0->b_cont) {
+			mblen = mp0->b_wptr - mp0->b_rptr;
+			bcopy(mp0->b_rptr, tmp_ptr, mblen);
+			tmp_ptr += mblen;
+			pktlen += mblen;
+			mbslen += mblen;
+		}
+	}
+
+	bf->bf_in = in;
+
+	/* setup descriptors */
+	ds = bf->bf_desc;
+	rt = asc->asc_currates;
+
+	/*
+	 * The 802.11 layer marks whether or not we should
+	 * use short preamble based on the current mode and
+	 * negotiated parameters.
+	 */
+	if ((isc->isc_flags & IEEE80211_F_SHPREAMBLE) &&
+	    (in->in_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE)) {
+		shortPreamble = AH_TRUE;
+		asc->asc_stats.ast_tx_shortpre++;
+	} else {
+		shortPreamble = AH_FALSE;
+	}
+
+	an = ATH_NODE(in);
+
+	/*
+	 * Calculate Atheros packet type from IEEE80211 packet header
+	 * and setup for rate calculations.
+	 */
+	switch (wh->ifrm_fc[0] & IEEE80211_FC0_TYPE_MASK) {
+	case IEEE80211_FC0_TYPE_MGT:
+		subtype = wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
+		if (subtype == IEEE80211_FC0_SUBTYPE_BEACON)
+			atype = HAL_PKT_TYPE_BEACON;
+		else if (subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP)
+			atype = HAL_PKT_TYPE_PROBE_RESP;
+		else if (subtype == IEEE80211_FC0_SUBTYPE_ATIM)
+			atype = HAL_PKT_TYPE_ATIM;
+		else
+			atype = HAL_PKT_TYPE_NORMAL;
+		rix = 0;	/* lowest rate */
+		try0 = ATH_TXMAXTRY;
+		if (shortPreamble)
+			txrate = an->an_tx_mgtratesp;
+		else
+			txrate = an->an_tx_mgtrate;
+		/* force all ctl frames to highest queue */
+		txq = asc->asc_ac2q[WME_AC_VO];
+		break;
+	case IEEE80211_FC0_TYPE_CTL:
+		atype = HAL_PKT_TYPE_PSPOLL;
+		subtype = wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
+		rix = 0;	/* lowest rate */
+		try0 = ATH_TXMAXTRY;
+		if (shortPreamble)
+			txrate = an->an_tx_mgtratesp;
+		else
+			txrate = an->an_tx_mgtrate;
+		/* force all ctl frames to highest queue */
+		txq = asc->asc_ac2q[WME_AC_VO];
+		break;
+	case IEEE80211_FC0_TYPE_DATA:
+		atype = HAL_PKT_TYPE_NORMAL;
+		rix = an->an_tx_rix0;
+		try0 = an->an_tx_try0;
+		if (shortPreamble)
+			txrate = an->an_tx_rate0sp;
+		else
+			txrate = an->an_tx_rate0;
+		/* Always use background queue */
+		txq = asc->asc_ac2q[WME_AC_BK];
+		break;
+	default:
+		/* Unknown 802.11 frame */
+		asc->asc_stats.ast_tx_invalid++;
+		return (1);
+	}
+	/*
+	 * Calculate miscellaneous flags.
+	 */
+	flags = HAL_TXDESC_CLRDMASK;
+	if (IEEE80211_IS_MULTICAST(wh->ifrm_addr1)) {
+		flags |= HAL_TXDESC_NOACK;	/* no ack on broad/multicast */
+		asc->asc_stats.ast_tx_noack++;
+	} else if (pktlen > isc->isc_rtsthreshold) {
+		flags |= HAL_TXDESC_RTSENA;	/* RTS based on frame length */
+		asc->asc_stats.ast_tx_rts++;
+	}
+
+	/*
+	 * Calculate duration.  This logically belongs in the 802.11
+	 * layer but it lacks sufficient information to calculate it.
+	 */
+	if ((flags & HAL_TXDESC_NOACK) == 0 &&
+	    (wh->ifrm_fc[0] & IEEE80211_FC0_TYPE_MASK) !=
+	    IEEE80211_FC0_TYPE_CTL) {
+		uint16_t dur;
+		dur = ath_hal_computetxtime(ah, rt, IEEE80211_ACK_SIZE,
+		    rix, shortPreamble);
+		*(uint16_t *)wh->ifrm_dur = LE_16(dur);
+	}
+
+	/*
+	 * Calculate RTS/CTS rate and duration if needed.
+	 */
+	ctsduration = 0;
+	if (flags & (HAL_TXDESC_RTSENA|HAL_TXDESC_CTSENA)) {
+		/*
+		 * CTS transmit rate is derived from the transmit rate
+		 * by looking in the h/w rate table.  We must also factor
+		 * in whether or not a short preamble is to be used.
+		 */
+		cix = rt->info[rix].controlRate;
+		ctsrate = rt->info[cix].rateCode;
+		if (shortPreamble)
+			ctsrate |= rt->info[cix].shortPreamble;
+		/*
+		 * Compute the transmit duration based on the size
+		 * of an ACK frame.  We call into the HAL to do the
+		 * computation since it depends on the characteristics
+		 * of the actual PHY being used.
+		 */
+		if (flags & HAL_TXDESC_RTSENA) {	/* SIFS + CTS */
+			ctsduration += ath_hal_computetxtime(ah,
+			    rt, IEEE80211_ACK_SIZE, cix, shortPreamble);
+		}
+		/* SIFS + data */
+		ctsduration += ath_hal_computetxtime(ah,
+		    rt, pktlen, rix, shortPreamble);
+		if ((flags & HAL_TXDESC_NOACK) == 0) {	/* SIFS + ACK */
+			ctsduration += ath_hal_computetxtime(ah,
+			    rt, IEEE80211_ACK_SIZE, cix, shortPreamble);
+		}
+	} else
+		ctsrate = 0;
+
+	/*
+	 * For now use the antenna on which the last good
+	 * frame was received on.  We assume this field is
+	 * initialized to 0 which gives us ``auto'' or the
+	 * ``default'' antenna.
+	 */
+	if (an->an_tx_antenna)
+		antenna = an->an_tx_antenna;
+	else
+		antenna = in->in_recv_hist[in->in_hist_cur].irh_rantenna;
+
+	if (++txq->axq_intrcnt >= ATH_TXINTR_PERIOD) {
+		flags |= HAL_TXDESC_INTREQ;
+		txq->axq_intrcnt = 0;
+	}
+
+	/*
+	 * Formulate first tx descriptor with tx controls.
+	 */
+	ATH_HAL_SETUPTXDESC(ah, ds,
+	    pktlen,			/* packet length */
+	    hdrlen,			/* header length */
+	    atype,			/* Atheros packet type */
+	    MIN(in->in_txpower, 60),	/* txpower */
+	    txrate, try0,		/* series 0 rate/tries */
+	    keyix,
+	    antenna,			/* antenna mode */
+	    flags,			/* flags */
+	    ctsrate,			/* rts/cts rate */
+	    ctsduration);		/* rts/cts duration */
+
+	ATH_DEBUG((ATH_DBG_SEND, "ath: ath_xmit(): to %s totlen=%d "
+	    "an->an_tx_rate1sp=%d tx_rate2sp=%d tx_rate3sp=%d "
+	    "qnum=%d rix=%d sht=%d dur = %d\n",
+	    ieee80211_ether_sprintf(wh->ifrm_addr1), mbslen, an->an_tx_rate1sp,
+	    an->an_tx_rate2sp, an->an_tx_rate3sp,
+	    txq->axq_qnum, rix, shortPreamble, *(uint16_t *)wh->ifrm_dur));
+
+	/*
+	 * Setup the multi-rate retry state only when we're
+	 * going to use it.  This assumes ath_hal_setuptxdesc
+	 * initializes the descriptors (so we don't have to)
+	 * when the hardware supports multi-rate retry and
+	 * we don't use it.
+	 */
+	if (try0 != ATH_TXMAXTRY)
+		ATH_HAL_SETUPXTXDESC(ah, ds,
+		    an->an_tx_rate1sp, 2,	/* series 1 */
+		    an->an_tx_rate2sp, 2,	/* series 2 */
+		    an->an_tx_rate3sp, 2);	/* series 3 */
+
+	ds->ds_link = 0;
+	ds->ds_data = bf->bf_dma.cookie.dmac_address;
+	ATH_HAL_FILLTXDESC(ah, ds,
+	    mbslen,		/* segment length */
+	    AH_TRUE,		/* first segment */
+	    AH_TRUE,		/* last segment */
+	    ds);		/* first descriptor */
+
+	ATH_DMA_SYNC(bf->bf_dma, DDI_DMA_SYNC_FORDEV);
+
+	mutex_enter(&txq->axq_lock);
+	list_insert_tail(&txq->axq_list, bf);
+	if (txq->axq_link == NULL) {
+		ATH_HAL_PUTTXBUF(ah, txq->axq_qnum, bf->bf_daddr);
+	} else {
+		*txq->axq_link = bf->bf_daddr;
+	}
+	txq->axq_link = &ds->ds_link;
+	mutex_exit(&txq->axq_lock);
+
+	ATH_HAL_TXSTART(ah, txq->axq_qnum);
+
+	return (0);
+}
+
+
+static int
+ath_gld_send(gld_mac_info_t *gld_p, mblk_t *mp)
+{
+	int err;
+	ath_t *asc = ATH_STATE(gld_p);
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in;
+	mblk_t *mp_header;
+	struct ath_buf *bf = NULL;
+
+	/*
+	 * No data frames go out unless we're associated; this
+	 * should not happen as the 802.11 layer does not enable
+	 * the xmit queue until we enter the RUN state.
+	 */
+	if (isc->isc_state != IEEE80211_S_RUN) {
+		ATH_DEBUG((ATH_DBG_SEND, "ath: ath_gld_send(): "
+		    "discard, state %u\n", isc->isc_state));
+		asc->asc_stats.ast_tx_discard++;
+		return (GLD_NOLINK);
+	}
+
+	/*
+	 * Only supports STA mode
+	 */
+	if (isc->isc_opmode != IEEE80211_M_STA)
+		return (GLD_NOLINK);
+
+	/*
+	 * Locate AP information, so we can fill MAC address.
+	 */
+	in = isc->isc_bss;
+	in->in_inact = 0;
+
+	/*
+	 * Grab a TX buffer.
+	 */
+	mutex_enter(&asc->asc_txbuflock);
+	bf = list_head(&asc->asc_txbuf_list);
+
+	if (bf != NULL)
+		list_remove(&asc->asc_txbuf_list, bf);
+	mutex_exit(&asc->asc_txbuflock);
+
+	if (bf == NULL) {
+		ATH_DEBUG((ATH_DBG_SEND, "ath: ath_gld_send(): "
+		    "no TX DMA buffer available: 100 times\n"));
+		asc->asc_stats.ast_tx_nobuf++;
+
+		mutex_enter(&asc->asc_gld_sched_lock);
+		asc->asc_need_gld_sched = 1;
+		mutex_exit(&asc->asc_gld_sched_lock);
+		return (GLD_NORESOURCES);
+	}
+
+	mp_header = ieee80211_fill_header(isc, mp, isc->isc_wep_txkey, in);
+	if (mp_header == NULL) {
+		/* Push back the TX buf */
+		mutex_enter(&asc->asc_txbuflock);
+		list_insert_tail(&asc->asc_txbuf_list, bf);
+		mutex_exit(&asc->asc_txbuflock);
+		return (GLD_FAILURE);
+	}
+
+	err = ath_xmit(asc, in, bf, mp, mp_header);
+	freemsg(mp_header);
+
+	if (!err) {
+		freemsg(mp);
+		return (GLD_SUCCESS);
+	} else {
+		return (GLD_FAILURE);
+	}
+}
+
+static void
+ath_tx_processq(ath_t *asc, struct ath_txq *txq)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ath_buf *bf;
+	struct ath_desc *ds;
+	struct ieee80211_node *in;
+	int32_t sr, lr;
+	HAL_STATUS status;
+	struct ath_node *an;
+
+	for (;;) {
+		mutex_enter(&txq->axq_lock);
+		bf = list_head(&txq->axq_list);
+		if (bf == NULL) {
+			txq->axq_link = NULL;
+			mutex_exit(&txq->axq_lock);
+			break;
+		}
+		ds = bf->bf_desc;	/* last decriptor */
+		status = ATH_HAL_TXPROCDESC(ah, ds);
+#ifdef DEBUG
+		ath_printtxbuf(bf, status == HAL_OK);
+#endif
+		if (status == HAL_EINPROGRESS) {
+			mutex_exit(&txq->axq_lock);
+			break;
+		}
+		list_remove(&txq->axq_list, bf);
+		mutex_exit(&txq->axq_lock);
+		in = bf->bf_in;
+		if (in != NULL) {
+			an = ATH_NODE(in);
+			/* Successful transmition */
+			if (ds->ds_txstat.ts_status == 0) {
+				an->an_tx_ok++;
+				an->an_tx_antenna =
+				    ds->ds_txstat.ts_antenna;
+				if (ds->ds_txstat.ts_rate &
+				    HAL_TXSTAT_ALTRATE)
+					asc->asc_stats.ast_tx_altrate++;
+				asc->asc_stats.ast_tx_rssidelta =
+				    ds->ds_txstat.ts_rssi -
+				    asc->asc_stats.ast_tx_rssi;
+				asc->asc_stats.ast_tx_rssi =
+				    ds->ds_txstat.ts_rssi;
+			} else {
+				an->an_tx_err++;
+				if (ds->ds_txstat.ts_status &
+				    HAL_TXERR_XRETRY)
+					asc->asc_stats.
+					    ast_tx_xretries++;
+				if (ds->ds_txstat.ts_status &
+				    HAL_TXERR_FIFO)
+					asc->asc_stats.ast_tx_fifoerr++;
+				if (ds->ds_txstat.ts_status &
+				    HAL_TXERR_FILT)
+					asc->asc_stats.
+					    ast_tx_filtered++;
+				an->an_tx_antenna = 0;	/* invalidate */
+			}
+			sr = ds->ds_txstat.ts_shortretry;
+			lr = ds->ds_txstat.ts_longretry;
+			asc->asc_stats.ast_tx_shortretry += sr;
+			asc->asc_stats.ast_tx_longretry += lr;
+			an->an_tx_retr += sr + lr;
+		}
+		bf->bf_in = NULL;
+		mutex_enter(&asc->asc_txbuflock);
+		list_insert_tail(&asc->asc_txbuf_list, bf);
+		mutex_exit(&asc->asc_txbuflock);
+		mutex_enter(&asc->asc_gld_sched_lock);
+		/*
+		 * Reschedule stalled outbound packets
+		 */
+		if (asc->asc_need_gld_sched) {
+			asc->asc_need_gld_sched = 0;
+			gld_sched(isc->isc_dev);
+		}
+		mutex_exit(&asc->asc_gld_sched_lock);
+	}
+}
+
+
+static void
+ath_tx_handler(ath_t *asc)
+{
+	int i;
+
+	/*
+	 * Process each active queue.
+	 */
+	for (i = 0; i < HAL_NUM_TX_QUEUES; i++) {
+		if (ATH_TXQ_SETUP(asc, i)) {
+			ath_tx_processq(asc, &asc->asc_txq[i]);
+		}
+	}
+}
+
+static struct ieee80211_node *
+ath_node_alloc(ieee80211com_t *isc)
+{
+	struct ath_node *an;
+	ath_t *asc = (ath_t *)isc;
+
+	an = kmem_zalloc(sizeof (struct ath_node), KM_SLEEP);
+	ath_rate_update(asc, &an->an_node, 0);
+	return (&an->an_node);
+}
+
+static void
+ath_node_free(ieee80211com_t *isc, struct ieee80211_node *in)
+{
+	ath_t *asc = (ath_t *)isc;
+	struct ath_buf *bf;
+	struct ath_txq *txq;
+	int32_t i;
+
+	for (i = 0; i < HAL_NUM_TX_QUEUES; i++) {
+		if (ATH_TXQ_SETUP(asc, i)) {
+			txq = &asc->asc_txq[i];
+			mutex_enter(&txq->axq_lock);
+			bf = list_head(&txq->axq_list);
+			while (bf != NULL) {
+				if (bf->bf_in == in) {
+					bf->bf_in = NULL;
+				}
+				bf = list_next(&txq->axq_list, bf);
+			}
+			mutex_exit(&txq->axq_lock);
+		}
+	}
+	kmem_free(in, sizeof (struct ath_node));
+}
+
+static void
+ath_node_copy(struct ieee80211_node *dst, const struct ieee80211_node *src)
+{
+	bcopy(src, dst, sizeof (struct ieee80211_node));
+}
+
+/*
+ * Transmit a management frame.  On failure we reclaim the skbuff.
+ * Note that management frames come directly from the 802.11 layer
+ * and do not honor the send queue flow control.  Need to investigate
+ * using priority queueing so management frames can bypass data.
+ */
+static int32_t
+ath_mgmt_send(ieee80211com_t *isc, mblk_t *mp)
+{
+	ath_t *asc = (ath_t *)isc;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ieee80211_node *in;
+	struct ath_buf *bf = NULL;
+	struct ieee80211_frame *wh;
+	int32_t error = 0;
+
+	/* Grab a TX buffer */
+	mutex_enter(&asc->asc_txbuflock);
+	bf = list_head(&asc->asc_txbuf_list);
+	if (bf != NULL)
+		list_remove(&asc->asc_txbuf_list, bf);
+	if (list_empty(&asc->asc_txbuf_list)) {
+		ATH_DEBUG((ATH_DBG_SEND, "ath: ath_mgmt_send(): "
+		    "stop queue\n"));
+		asc->asc_stats.ast_tx_qstop++;
+	}
+	mutex_exit(&asc->asc_txbuflock);
+	if (bf == NULL) {
+		ATH_DEBUG((ATH_DBG_SEND, "ath: ath_mgmt_send(): discard, "
+		    "no xmit buf\n"));
+		asc->asc_stats.ast_tx_nobufmgt++;
+		goto bad;
+	}
+	wh = (struct ieee80211_frame *)mp->b_rptr;
+	if ((wh->ifrm_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) ==
+	    IEEE80211_FC0_SUBTYPE_PROBE_RESP) {
+		/* fill time stamp */
+		uint64_t tsf;
+		uint32_t *tstamp;
+
+		tsf = ATH_HAL_GETTSF64(ah);
+		/* adjust 100us delay to xmit */
+		tsf += 100;
+		tstamp = (uint32_t *)&wh[1];
+		tstamp[0] = LE_32(tsf & 0xffffffff);
+		tstamp[1] = LE_32(tsf >> 32);
+	}
+	/*
+	 * Locate node state.  When operating
+	 * in station mode we always use ic_bss.
+	 */
+	if (isc->isc_opmode != IEEE80211_M_STA) {
+		in = ieee80211_find_node(isc, wh->ifrm_addr1);
+		if (in == NULL)
+			in = isc->isc_bss;
+	} else
+		in = isc->isc_bss;
+
+	error = ath_xmit(asc, in, bf, NULL, mp);
+	if (error == 0) {
+		asc->asc_stats.ast_tx_mgmt++;
+		freemsg(mp);
+		return (0);
+	}
+bad:
+	if (bf != NULL) {
+		mutex_enter(&asc->asc_txbuflock);
+		list_insert_tail(&asc->asc_txbuf_list, bf);
+		mutex_exit(&asc->asc_txbuflock);
+	}
+	freemsg(mp);
+	return (error);
+}
+
+static int32_t
+ath_new_state(ieee80211com_t *isc, enum ieee80211_state nstate)
+{
+	ath_t *asc = (ath_t *)isc;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ieee80211_node *in;
+	int32_t i, error;
+	uint8_t *bssid;
+	uint32_t rfilt;
+	enum ieee80211_state ostate;
+
+	static const HAL_LED_STATE leds[] = {
+	    HAL_LED_INIT,	/* IEEE80211_S_INIT */
+	    HAL_LED_SCAN,	/* IEEE80211_S_SCAN */
+	    HAL_LED_AUTH,	/* IEEE80211_S_AUTH */
+	    HAL_LED_ASSOC, 	/* IEEE80211_S_ASSOC */
+	    HAL_LED_RUN, 	/* IEEE80211_S_RUN */
+	};
+	if (asc->asc_invalid == 1)
+		return (0);
+
+	ostate = isc->isc_state;
+
+	ATH_HAL_SETLEDSTATE(ah, leds[nstate]);	/* set LED */
+
+	if (nstate == IEEE80211_S_INIT) {
+		asc->asc_imask &= ~(HAL_INT_SWBA | HAL_INT_BMISS);
+		ATH_HAL_INTRSET(ah, asc->asc_imask);
+		error = 0;			/* cheat + use error return */
+		goto bad;
+	}
+	in = isc->isc_bss;
+	error = ath_chan_set(asc, in->in_chan);
+	if (error != 0)
+		goto bad;
+
+	rfilt = ath_calcrxfilter(asc);
+	if (nstate == IEEE80211_S_SCAN)
+		bssid = isc->isc_macaddr;
+	else
+		bssid = in->in_bssid;
+	ATH_HAL_SETRXFILTER(ah, rfilt);
+
+	if (nstate == IEEE80211_S_RUN && isc->isc_opmode != IEEE80211_M_IBSS)
+		ATH_HAL_SETASSOCID(ah, bssid, in->in_associd);
+	else
+		ATH_HAL_SETASSOCID(ah, bssid, 0);
+	if (isc->isc_flags & IEEE80211_F_WEPON) {
+		for (i = 0; i < IEEE80211_WEP_NKID; i++) {
+			if (ATH_HAL_KEYISVALID(ah, i))
+				ATH_HAL_KEYSETMAC(ah, i, bssid);
+		}
+	}
+
+	if ((nstate == IEEE80211_S_RUN) &&
+	    (ostate != IEEE80211_S_RUN)) {
+		/* Configure the beacon and sleep timers. */
+		ath_beacon_config(asc);
+	} else {
+		asc->asc_imask &= ~(HAL_INT_SWBA | HAL_INT_BMISS);
+		ATH_HAL_INTRSET(ah, asc->asc_imask);
+	}
+	/*
+	 * Reset the rate control state.
+	 */
+	ath_rate_ctl_reset(asc, nstate);
+
+	if (nstate == IEEE80211_S_RUN) {
+		nvlist_t *attr_list = NULL;
+		sysevent_id_t eid;
+		int32_t err = 0;
+		char *str_name = "ATH";
+		char str_value[256] = {0};
+
+		ATH_DEBUG((ATH_DBG_80211, "ath: ath new state(RUN): "
+		    "ic_flags=0x%08x iv=%d"
+		    " bssid=%s capinfo=0x%04x chan=%d\n",
+		    isc->isc_flags,
+		    in->in_intval,
+		    ieee80211_ether_sprintf(in->in_bssid),
+		    in->in_capinfo,
+		    ieee80211_chan2ieee(isc, in->in_chan)));
+
+		(void) sprintf(str_value, "%s%s%d", "-i ",
+		    ddi_driver_name(asc->asc_dev),
+		    ddi_get_instance(asc->asc_dev));
+		if (nvlist_alloc(&attr_list,
+		    NV_UNIQUE_NAME_TYPE, KM_SLEEP) == 0) {
+			err = nvlist_add_string(attr_list,
+			    str_name, str_value);
+			if (err != DDI_SUCCESS)
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "ath_new_state: error log event\n"));
+			err = ddi_log_sysevent(asc->asc_dev,
+			    DDI_VENDOR_SUNW, "class",
+			    "subclass", attr_list,
+			    &eid, DDI_NOSLEEP);
+			if (err != DDI_SUCCESS)
+				ATH_DEBUG((ATH_DBG_80211, "ath: "
+				    "ath_new_state(): error log event\n"));
+			nvlist_free(attr_list);
+		}
+	}
+
+	return (0);
+bad:
+	return (error);
+}
+
+/*
+ * Periodically recalibrate the PHY to account
+ * for temperature/environment changes.
+ */
+static void
+ath_calibrate(ieee80211com_t *isc)
+{
+	ath_t *asc = (ath_t *)isc;
+	struct ath_hal *ah = asc->asc_ah;
+	struct ieee80211channel *ch;
+	HAL_CHANNEL hchan;
+
+	asc->asc_stats.ast_per_cal++;
+
+	/*
+	 * Convert to a HAL channel description with the flags
+	 * constrained to reflect the current operating mode.
+	 */
+	ch = isc->isc_ibss_chan;
+	hchan.channel = ch->ich_freq;
+	hchan.channelFlags = ath_chan2flags(isc, ch);
+
+	if (ATH_HAL_GETRFGAIN(ah) == HAL_RFGAIN_NEED_CHANGE) {
+		/*
+		 * Rfgain is out of bounds, reset the chip
+		 * to load new gain values.
+		 */
+		ATH_DEBUG((ATH_DBG_HAL, "ath: ath_calibrate(): "
+		    "Need change RFgain\n"));
+		asc->asc_stats.ast_per_rfgain++;
+		ath_reset(asc);
+	}
+	if (!ATH_HAL_CALIBRATE(ah, &hchan)) {
+		ATH_DEBUG((ATH_DBG_HAL, "ath: ath_calibrate(): "
+		    "calibration of channel %u failed\n",
+		    ch->ich_freq));
+		asc->asc_stats.ast_per_calfail++;
+	}
+}
+
+static uint_t
+ath_gld_intr(gld_mac_info_t *gld_p)
+{
+	ath_t *asc = ATH_STATE(gld_p);
+	struct ath_hal *ah = asc->asc_ah;
+	HAL_INT status;
+	enum ieee80211_state isc_state;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	mutex_enter(&asc->asc_genlock);
+
+	if (!ATH_HAL_INTRPEND(ah)) {	/* shared irq, not for us */
+		mutex_exit(&asc->asc_genlock);
+		return (DDI_INTR_UNCLAIMED);
+	}
+
+	ATH_HAL_GETISR(ah, &status);
+	status &= asc->asc_imask;
+	if (status & HAL_INT_FATAL) {
+		asc->asc_stats.ast_hardware++;
+		mutex_exit(&asc->asc_genlock);
+		goto reset;
+	} else if (status & HAL_INT_RXORN) {
+		asc->asc_stats.ast_rxorn++;
+		mutex_exit(&asc->asc_genlock);
+		goto reset;
+	} else {
+		if (status & HAL_INT_RXEOL) {
+			asc->asc_stats.ast_rxeol++;
+			asc->asc_rxlink = NULL;
+		}
+		if (status & HAL_INT_TXURN) {
+			asc->asc_stats.ast_txurn++;
+			ATH_HAL_UPDATETXTRIGLEVEL(ah, AH_TRUE);
+		}
+		if (status & HAL_INT_RX) {
+			asc->asc_rx_pend = 1;
+			ddi_trigger_softintr(asc->asc_softint_id);
+		}
+		if (status & HAL_INT_TX) {
+			ath_tx_handler(asc);
+		}
+
+		mutex_exit(&asc->asc_genlock);
+
+		if (status & HAL_INT_SWBA) {
+			/* This will occur only in Host-AP or Ad-Hoc mode */
+			return (DDI_INTR_CLAIMED);
+		}
+		if (status & HAL_INT_BMISS) {
+			mutex_enter(&isc->isc_genlock);
+			isc_state = isc->isc_state;
+			mutex_exit(&isc->isc_genlock);
+			if (isc_state == IEEE80211_S_RUN) {
+				(void) ieee80211_new_state(isc,
+				    IEEE80211_S_ASSOC, -1);
+			}
+		}
+	}
+
+	return (DDI_INTR_CLAIMED);
+reset:
+	mutex_enter(&isc->isc_genlock);
+	ath_reset(asc);
+	mutex_exit(&isc->isc_genlock);
+	return (DDI_INTR_CLAIMED);
+}
+
+static uint_t
+ath_softint_handler(caddr_t data)
+{
+	ath_t *asc = (ath_t *)data;
+
+	/*
+	 * Check if the soft interrupt is triggered by another
+	 * driver at the same level.
+	 */
+	mutex_enter(&asc->asc_genlock);
+	if (asc->asc_rx_pend) { /* Soft interrupt for this driver */
+		asc->asc_rx_pend = 0;
+		mutex_exit(&asc->asc_genlock);
+		ath_rx_handler((ath_t *)data);
+		return (DDI_INTR_CLAIMED);
+	}
+	mutex_exit(&asc->asc_genlock);
+	return (DDI_INTR_UNCLAIMED);
+}
+
+/*
+ * following are gld callback routine
+ * ath_gld_send, ath_gld_ioctl, ath_gld_gstat
+ * are listed in other corresponding sections.
+ * reset the hardware w/o losing operational state.  this is
+ * basically a more efficient way of doing ath_gld_stop, ath_gld_start,
+ * followed by state transitions to the current 802.11
+ * operational state.  used to recover from errors rx overrun
+ * and to reset the hardware when rf gain settings must be reset.
+ */
+
+static int
+ath_gld_reset(gld_mac_info_t *gld_p)
+{
+	ath_t *asc = ATH_STATE(gld_p);
+
+	ath_reset(asc);
+	return (GLD_SUCCESS);
+}
+
+
+static int
+ath_gld_stop(gld_mac_info_t *gld_p)
+{
+	ath_t *asc = ATH_STATE(gld_p);
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ath_hal *ah = asc->asc_ah;
+
+	(void) _ieee80211_new_state(isc, IEEE80211_S_INIT, -1);
+	ATH_HAL_INTRSET(ah, 0);
+	ath_draintxq(asc);
+	if (! asc->asc_invalid)
+		ath_stoprecv(asc);
+	else
+		asc->asc_rxlink = NULL;
+	ATH_HAL_SETPOWER(ah, HAL_PM_FULL_SLEEP, 0);
+
+	asc->asc_invalid = 1;
+
+	return (GLD_SUCCESS);
+}
+
+int
+ath_gld_start(gld_mac_info_t *gld_p)
+{
+	int ret;
+	ath_t *asc = ATH_STATE(gld_p);
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in;
+	enum ieee80211_phymode mode;
+	struct ath_hal *ah = asc->asc_ah;
+	HAL_STATUS status;
+	HAL_CHANNEL hchan;
+
+	/*
+	 * Stop anything previously setup.  This is safe
+	 * whether this is the first time through or not.
+	 */
+	ret = ath_gld_stop(gld_p);
+	if (ret != GLD_SUCCESS)
+		return (ret);
+
+	/*
+	 * The basic interface to setting the hardware in a good
+	 * state is ``reset''.  On return the hardware is known to
+	 * be powered up and with interrupts disabled.  This must
+	 * be followed by initialization of the appropriate bits
+	 * and then setup of the interrupt mask.
+	 */
+	hchan.channel = isc->isc_ibss_chan->ich_freq;
+	hchan.channelFlags = ath_chan2flags(isc, isc->isc_ibss_chan);
+	if (!ATH_HAL_RESET(ah, (HAL_OPMODE)isc->isc_opmode,
+	    &hchan, AH_FALSE, &status)) {
+		ATH_DEBUG((ATH_DBG_HAL, "ath: ath_gld_start(): "
+		    "unable to reset hardware, hal status %u\n", status));
+		return (GLD_FAILURE);
+	}
+	/*
+	 * Setup the hardware after reset: the key cache
+	 * is filled as needed and the receive engine is
+	 * set going.  Frame transmit is handled entirely
+	 * in the frame output path; there's nothing to do
+	 * here except setup the interrupt mask.
+	 */
+	ath_initkeytable(asc);
+
+	if (ath_startrecv(asc))
+		return (GLD_FAILURE);
+
+	/*
+	 * Enable interrupts.
+	 */
+	asc->asc_imask = HAL_INT_RX | HAL_INT_TX
+	    | HAL_INT_RXEOL | HAL_INT_RXORN
+	    | HAL_INT_FATAL | HAL_INT_GLOBAL;
+	ATH_HAL_INTRSET(ah, asc->asc_imask);
+
+	isc->isc_state = IEEE80211_S_INIT;
+
+	/*
+	 * The hardware should be ready to go now so it's safe
+	 * to kick the 802.11 state machine as it's likely to
+	 * immediately call back to us to send mgmt frames.
+	 */
+	in = isc->isc_bss;
+	in->in_chan = isc->isc_ibss_chan;
+	mode = ieee80211_chan2mode(isc, in->in_chan);
+	if (mode != asc->asc_curmode)
+		ath_setcurmode(asc, mode);
+	asc->asc_invalid = 0;
+	return (GLD_SUCCESS);
+}
+
+
+static int32_t
+ath_gld_saddr(gld_mac_info_t *gld_p, unsigned char *macaddr)
+{
+	ath_t *asc = ATH_STATE(gld_p);
+	struct ath_hal *ah = asc->asc_ah;
+
+	ATH_DEBUG((ATH_DBG_GLD, "ath: ath_gld_saddr(): "
+	    "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
+	    macaddr[0], macaddr[1], macaddr[2],
+	    macaddr[3], macaddr[4], macaddr[5]));
+
+	IEEE80211_ADDR_COPY(asc->asc_isc.isc_macaddr, macaddr);
+	ATH_HAL_SETMAC(ah, asc->asc_isc.isc_macaddr);
+
+	ath_reset(asc);
+	return (GLD_SUCCESS);
+}
+
+static int
+ath_gld_set_promiscuous(gld_mac_info_t *macinfo, int mode)
+{
+	ath_t *asc = ATH_STATE(macinfo);
+	struct ath_hal *ah = asc->asc_ah;
+	uint32_t rfilt;
+
+	rfilt = ATH_HAL_GETRXFILTER(ah);
+	switch (mode) {
+	case GLD_MAC_PROMISC_PHYS:
+		ATH_HAL_SETRXFILTER(ah, rfilt | HAL_RX_FILTER_PROM);
+		break;
+	case GLD_MAC_PROMISC_MULTI:
+		rfilt |= HAL_RX_FILTER_MCAST;
+		rfilt &= ~HAL_RX_FILTER_PROM;
+		ATH_HAL_SETRXFILTER(ah, rfilt);
+		break;
+	case GLD_MAC_PROMISC_NONE:
+		ATH_HAL_SETRXFILTER(ah, rfilt & (~HAL_RX_FILTER_PROM));
+		break;
+	default:
+		break;
+	}
+
+	return (GLD_SUCCESS);
+}
+
+static int
+ath_gld_set_multicast(gld_mac_info_t *macinfo, uchar_t *mca, int flag)
+{
+	uint32_t mfilt[2], val, rfilt;
+	uint8_t pos;
+	ath_t *asc = ATH_STATE(macinfo);
+	struct ath_hal *ah = asc->asc_ah;
+
+	rfilt = ATH_HAL_GETRXFILTER(ah);
+
+	/* disable multicast */
+	if (flag == GLD_MULTI_DISABLE) {
+		ATH_HAL_SETRXFILTER(ah, rfilt & (~HAL_RX_FILTER_MCAST));
+		return (GLD_SUCCESS);
+	}
+
+	/* enable multicast */
+	ATH_HAL_SETRXFILTER(ah, rfilt | HAL_RX_FILTER_MCAST);
+
+	mfilt[0] = mfilt[1] = 0;
+
+	/* calculate XOR of eight 6bit values */
+	val = ATH_LE_READ_4(mca + 0);
+	pos = (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
+	val = ATH_LE_READ_4(mca + 3);
+	pos ^= (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
+	pos &= 0x3f;
+	mfilt[pos / 32] |= (1 << (pos % 32));
+	ATH_HAL_SETMCASTFILTER(ah, mfilt[0], mfilt[1]);
+
+	return (GLD_SUCCESS);
+}
+
+static void
+ath_wlan_ioctl(ath_t *asc, queue_t *wq, mblk_t *mp, uint32_t cmd)
+{
+
+	struct iocblk *iocp = (struct iocblk *)mp->b_rptr;
+	uint32_t len, ret;
+	mblk_t *mp1;
+
+	/* sanity check */
+	if (iocp->ioc_count == 0 || !(mp1 = mp->b_cont)) {
+		miocnak(wq, mp, 0, EINVAL);
+		return;
+	}
+
+	/* assuming single data block */
+	if (mp1->b_cont) {
+		freemsg(mp1->b_cont);
+		mp1->b_cont = NULL;
+	}
+
+	/* we will overwrite everything */
+	mp1->b_wptr = mp1->b_rptr;
+
+	ret = ath_getset(asc, mp1, cmd);
+
+	len = msgdsize(mp1);
+
+	miocack(wq, mp, len, ret);
+}
+
+static int
+ath_gld_ioctl(gld_mac_info_t *gld_p, queue_t *wq, mblk_t *mp)
+{
+	struct iocblk *iocp;
+	int32_t cmd, err;
+	ath_t *asc = ATH_STATE(gld_p);
+	boolean_t need_privilege;
+
+	/*
+	 * Validate the command before bothering with the mutexen ...
+	 */
+	iocp = (struct iocblk *)mp->b_rptr;
+	cmd = iocp->ioc_cmd;
+	need_privilege = B_TRUE;
+	switch (cmd) {
+	case WLAN_SET_PARAM:
+	case WLAN_COMMAND:
+		break;
+	case WLAN_GET_PARAM:
+		need_privilege = B_FALSE;
+		break;
+	default:
+		ATH_DEBUG((ATH_DBG_GLD, "ath: ath_gld_ioctl(): "
+		    "unknown cmd 0x%x", cmd));
+		miocnak(wq, mp, 0, EINVAL);
+		return (GLD_SUCCESS);
+	}
+
+	if (need_privilege) {
+		/*
+		 * Check for specific net_config privilege on Solaris 10+.
+		 * Otherwise just check for root access ...
+		 */
+		if (secpolicy_net_config != NULL)
+			err = secpolicy_net_config(iocp->ioc_cr, B_FALSE);
+		else
+			err = drv_priv(iocp->ioc_cr);
+		if (err != 0) {
+			miocnak(wq, mp, 0, err);
+			return (GLD_SUCCESS);
+		}
+	}
+
+	ath_wlan_ioctl(asc, wq, mp, cmd);
+	return (GLD_SUCCESS);
+}
+
+static int
+ath_gld_gstat(gld_mac_info_t *gld_p, struct gld_stats *glds_p)
+{
+	ath_t *asc = ATH_STATE(gld_p);
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in = isc->isc_bss;
+	struct ath_node *an = ATH_NODE(in);
+	struct ieee80211_rateset *rs = &in->in_rates;
+
+	glds_p->glds_crc	= asc->asc_stats.ast_rx_crcerr;
+	glds_p->glds_multircv	= 0;
+	glds_p->glds_multixmt	= 0;
+	glds_p->glds_excoll	= 0;
+	glds_p->glds_xmtretry	= an->an_tx_retr;
+	glds_p->glds_defer	= 0;
+	glds_p->glds_noxmtbuf	= asc->asc_stats.ast_tx_nobuf;
+	glds_p->glds_norcvbuf	= asc->asc_stats.ast_rx_fifoerr;
+	glds_p->glds_short	= asc->asc_stats.ast_rx_tooshort;
+	glds_p->glds_missed	= asc->asc_stats.ast_rx_badcrypt;
+	glds_p->glds_speed	= 1000000*(rs->ir_rates[in->in_txrate] &
+	    IEEE80211_RATE_VAL) / 2;
+	glds_p->glds_duplex	= GLD_DUPLEX_FULL;
+
+	return (GLD_SUCCESS);
+}
+
+static int
+ath_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd)
+{
+	ath_t *asc;
+	ieee80211com_t *isc;
+	struct ath_hal *ah;
+	uint8_t csz;
+	HAL_STATUS status;
+	caddr_t regs;
+	uint32_t i, val;
+	uint16_t vendor_id, device_id, command;
+	const char *athname;
+	int32_t ath_countrycode = CTRY_DEFAULT;	/* country code */
+	int32_t err, ath_regdomain = 0; /* regulatory domain */
+	char strbuf[32];
+
+	switch (cmd) {
+	case DDI_RESUME:
+		return (DDI_FAILURE);
+	case DDI_ATTACH:
+		break;
+	default:
+		return (DDI_FAILURE);
+	}
+
+	if (ddi_soft_state_zalloc(ath_soft_state_p,
+	    ddi_get_instance(devinfo)) != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "Unable to alloc softstate\n"));
+		return (DDI_FAILURE);
+	}
+
+	asc = ddi_get_soft_state(ath_soft_state_p, ddi_get_instance(devinfo));
+	isc = (ieee80211com_t *)asc;
+	asc->asc_dev = devinfo;
+
+	ath_halfix_init();
+
+	mutex_init(&asc->asc_genlock, NULL, MUTEX_DRIVER, NULL);
+	mutex_init(&asc->asc_txbuflock, NULL, MUTEX_DRIVER, NULL);
+	mutex_init(&asc->asc_rxbuflock, NULL, MUTEX_DRIVER, NULL);
+	mutex_init(&asc->asc_gld_sched_lock, NULL, MUTEX_DRIVER, NULL);
+
+	err = pci_config_setup(devinfo, &asc->asc_cfg_handle);
+	if (err != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "pci_config_setup() failed"));
+		goto attach_fail0;
+	}
+
+	csz = pci_config_get8(asc->asc_cfg_handle, PCI_CONF_CACHE_LINESZ);
+	asc->asc_cachelsz = csz << 2;
+	vendor_id = pci_config_get16(asc->asc_cfg_handle, PCI_CONF_VENID);
+	device_id = pci_config_get16(asc->asc_cfg_handle, PCI_CONF_DEVID);
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): vendor 0x%x, "
+	    "device id 0x%x, cache size %d\n", vendor_id, device_id, csz));
+
+	athname = ath_hal_probe(vendor_id, device_id);
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): athname: %s\n",
+	    athname ? athname : "Atheros ???"));
+
+	/*
+	 * Enable response to memory space accesses,
+	 * and enabe bus master.
+	 */
+	command = PCI_COMM_MAE | PCI_COMM_ME;
+	pci_config_put16(asc->asc_cfg_handle, PCI_CONF_COMM, command);
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+	    "set command reg to 0x%x \n", command));
+
+	pci_config_put8(asc->asc_cfg_handle, PCI_CONF_LATENCY_TIMER, 0xa8);
+	val = pci_config_get32(asc->asc_cfg_handle, 0x40);
+	if ((val & 0x0000ff00) != 0)
+		pci_config_put32(asc->asc_cfg_handle, 0x40, val & 0xffff00ff);
+
+	err = ddi_regs_map_setup(devinfo, 1,
+	    &regs, 0, 0, &ath_reg_accattr, &asc->asc_io_handle);
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+	    "regs map1 = %x err=%d\n", regs, err));
+	if (err != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "ddi_regs_map_setup() failed"));
+		goto attach_fail1;
+	}
+
+	ah = ath_hal_attach(device_id, asc, 0, regs, &status);
+	if (ah == NULL) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "unable to attach hw; HAL status %u\n", status));
+		goto attach_fail2;
+	}
+	ATH_HAL_INTRSET(ah, 0);
+	asc->asc_ah = ah;
+
+	if (ah->ah_abi != HAL_ABI_VERSION) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "HAL ABI mismatch detected (0x%x != 0x%x)\n",
+		    ah->ah_abi, HAL_ABI_VERSION));
+		goto attach_fail3;
+	}
+
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+	    "HAL ABI version 0x%x\n", ah->ah_abi));
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+	    "HAL mac version %d.%d, phy version %d.%d\n",
+	    ah->ah_macVersion, ah->ah_macRev,
+	    ah->ah_phyRev >> 4, ah->ah_phyRev & 0xf));
+	if (ah->ah_analog5GhzRev)
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "HAL 5ghz radio version %d.%d\n",
+		    ah->ah_analog5GhzRev >> 4,
+		    ah->ah_analog5GhzRev & 0xf));
+	if (ah->ah_analog2GhzRev)
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "HAL 2ghz radio version %d.%d\n",
+		    ah->ah_analog2GhzRev >> 4,
+		    ah->ah_analog2GhzRev & 0xf));
+
+	/*
+	 * Check if the MAC has multi-rate retry support.
+	 * We do this by trying to setup a fake extended
+	 * descriptor.  MAC's that don't have support will
+	 * return false w/o doing anything.  MAC's that do
+	 * support it will return true w/o doing anything.
+	 */
+	asc->asc_mrretry = ATH_HAL_SETUPXTXDESC(ah, NULL, 0, 0, 0, 0, 0, 0);
+	ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+	    "multi rate retry support=%x\n",
+	    asc->asc_mrretry));
+
+	ATH_HAL_GETREGDOMAIN(ah, (uint32_t *)&ath_regdomain);
+	ATH_HAL_GETCOUNTRYCODE(ah, &ath_countrycode);
+	/*
+	 * Collect the channel list using the default country
+	 * code and including outdoor channels.  The 802.11 layer
+	 * is resposible for filtering this list to a set of
+	 * channels that it considers ok to use.
+	 */
+	asc->asc_have11g = 0;
+
+	/* enable outdoor use, enable extended channels */
+	err = ath_getchannels(asc, ath_countrycode, AH_FALSE, AH_TRUE);
+	if (err != 0)
+		goto attach_fail3;
+
+	/*
+	 * Setup rate tables for all potential media types.
+	 */
+	ath_rate_setup(asc, IEEE80211_MODE_11A);
+	ath_rate_setup(asc, IEEE80211_MODE_11B);
+	ath_rate_setup(asc, IEEE80211_MODE_11G);
+	ath_rate_setup(asc, IEEE80211_MODE_TURBO);
+
+	/* Setup here so ath_rate_update is happy */
+	ath_setcurmode(asc, IEEE80211_MODE_11A);
+
+	err = ath_desc_alloc(devinfo, asc);
+	if (err != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "failed to allocate descriptors: %d\n", err));
+		goto attach_fail3;
+	}
+
+	/* Setup transmit queues in the HAL */
+	if (ath_txq_setup(asc))
+		goto attach_fail4;
+
+	ATH_HAL_GETMAC(ah, asc->asc_isc.isc_macaddr);
+
+	/* setup gld */
+	if ((isc->isc_dev = gld_mac_alloc(devinfo)) == NULL) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		"gld_mac_alloc = %p\n", (void *)isc->isc_dev));
+		goto attach_fail4;
+	}
+
+	/* pre initialize some variables for isc */
+	isc->isc_dev->gldm_private	= (caddr_t)asc;
+
+	isc->isc_gld_reset		= ath_gld_reset;
+	isc->isc_gld_start		= ath_gld_start;
+	isc->isc_gld_stop		= ath_gld_stop;
+	isc->isc_gld_saddr		= ath_gld_saddr;
+	isc->isc_gld_send		= ath_gld_send;
+	isc->isc_gld_set_promiscuous	= ath_gld_set_promiscuous;
+	isc->isc_gld_gstat		= ath_gld_gstat;
+	isc->isc_gld_ioctl		= ath_gld_ioctl;
+	isc->isc_gld_set_multicast	= ath_gld_set_multicast;
+	isc->isc_gld_intr		= ath_gld_intr;
+
+	isc->isc_mgmt_send = ath_mgmt_send;
+	isc->isc_new_state = ath_new_state;
+	isc->isc_phytype = IEEE80211_T_OFDM;
+	isc->isc_opmode = IEEE80211_M_STA;
+	isc->isc_caps = IEEE80211_C_WEP | IEEE80211_C_IBSS |
+	    IEEE80211_C_HOSTAP;
+	/* 11g support is identified when we fetch the channel set */
+	if (asc->asc_have11g)
+		isc->isc_caps |= IEEE80211_C_SHPREAMBLE;
+	isc->isc_node_alloc = ath_node_alloc;
+	isc->isc_node_free = ath_node_free;
+	isc->isc_node_copy = ath_node_copy;
+	isc->isc_rate_ctl = ath_rate_ctl;
+	isc->isc_calibrate = ath_calibrate;
+	(void) ieee80211_ifattach(isc->isc_dev);
+
+	isc->isc_dev->gldm_devinfo		= devinfo;
+	isc->isc_dev->gldm_vendor_addr		= asc->asc_isc.isc_macaddr;
+	isc->isc_dev->gldm_broadcast_addr	= ath_broadcast_addr;
+	isc->isc_dev->gldm_ident		= "Atheros driver";
+	isc->isc_dev->gldm_type			= DL_ETHER;
+	isc->isc_dev->gldm_minpkt		= 0;
+	isc->isc_dev->gldm_maxpkt		= 1500;
+	isc->isc_dev->gldm_addrlen		= ETHERADDRL;
+	isc->isc_dev->gldm_saplen		= -2;
+	isc->isc_dev->gldm_ppa			= ddi_get_instance(devinfo);
+
+	asc->asc_rx_pend = 0;
+	ATH_HAL_INTRSET(ah, 0);
+	err = ddi_add_softintr(devinfo, DDI_SOFTINT_LOW,
+	    &asc->asc_softint_id, NULL, 0, ath_softint_handler, (caddr_t)asc);
+	if (err != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "ddi_add_softintr() failed"));
+		goto attach_fail5;
+	}
+
+	if (ddi_get_iblock_cookie(devinfo, 0, &asc->asc_iblock)
+	    != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "Can not get iblock cookie for INT\n"));
+		goto attach_fail6;
+	}
+
+	if (ddi_add_intr(devinfo, 0, NULL, NULL, gld_intr,
+	    (caddr_t)asc->asc_isc.isc_dev) != DDI_SUCCESS) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "Can not set intr for ATH driver\n"));
+		goto attach_fail6;
+	}
+	isc->isc_dev->gldm_cookie = asc->asc_iblock;
+
+	if (err = gld_register(devinfo, "ath", isc->isc_dev)) {
+		ATH_DEBUG((ATH_DBG_ATTACH, "ath: ath_attach(): "
+		    "gld_register err %x\n", err));
+		goto attach_fail7;
+	}
+
+	/* Create minor node of type DDI_NT_NET_WIFI */
+	(void) snprintf(strbuf, sizeof (strbuf), "%s%d",
+	    ATH_NODENAME, isc->isc_dev->gldm_ppa);
+	err = ddi_create_minor_node(devinfo, strbuf, S_IFCHR,
+	    isc->isc_dev->gldm_ppa + 1, DDI_NT_NET_WIFI, 0);
+	if (err != DDI_SUCCESS)
+		ATH_DEBUG((ATH_DBG_ATTACH, "WARN: ath: ath_attach(): "
+		    "Create minor node failed - %d\n", err));
+
+	asc->asc_invalid = 1;
+	return (DDI_SUCCESS);
+attach_fail7:
+	ddi_remove_intr(devinfo, 0, asc->asc_iblock);
+attach_fail6:
+	ddi_remove_softintr(asc->asc_softint_id);
+attach_fail5:
+	gld_mac_free(isc->isc_dev);
+attach_fail4:
+	ath_desc_free(asc);
+attach_fail3:
+	ah->ah_detach(asc->asc_ah);
+attach_fail2:
+	ddi_regs_map_free(&asc->asc_io_handle);
+attach_fail1:
+	pci_config_teardown(&asc->asc_cfg_handle);
+attach_fail0:
+	asc->asc_invalid = 1;
+	mutex_destroy(&asc->asc_txbuflock);
+	for (i = 0; i < HAL_NUM_TX_QUEUES; i++) {
+		if (ATH_TXQ_SETUP(asc, i)) {
+			struct ath_txq *txq = &asc->asc_txq[i];
+			mutex_destroy(&txq->axq_lock);
+		}
+	}
+	mutex_destroy(&asc->asc_rxbuflock);
+	mutex_destroy(&asc->asc_genlock);
+	mutex_destroy(&asc->asc_gld_sched_lock);
+	ddi_soft_state_free(ath_soft_state_p, ddi_get_instance(devinfo));
+
+	return (DDI_FAILURE);
+}
+
+static int32_t
+ath_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd)
+{
+	ath_t *asc;
+	int32_t i;
+
+	asc = ddi_get_soft_state(ath_soft_state_p, ddi_get_instance(devinfo));
+	ASSERT(asc != NULL);
+
+	switch (cmd) {
+	default:
+		return (DDI_FAILURE);
+
+	case DDI_SUSPEND:
+		return (DDI_FAILURE);
+
+	case DDI_DETACH:
+		break;
+	}
+
+	ASSERT(asc->asc_isc.isc_mf_thread == NULL);
+
+	/* disable interrupts */
+	ATH_HAL_INTRSET(asc->asc_ah, 0);
+
+	/* free intterrupt resources */
+	ddi_remove_intr(devinfo, 0, asc->asc_iblock);
+	ddi_remove_softintr(asc->asc_softint_id);
+
+	/* detach 802.11 and Atheros HAL */
+	ieee80211_ifdetach(asc->asc_isc.isc_dev);
+	ath_desc_free(asc);
+	asc->asc_ah->ah_detach(asc->asc_ah);
+	ath_halfix_finit();
+
+	/* detach gld */
+	if (gld_unregister(asc->asc_isc.isc_dev) != 0)
+		return (DDI_FAILURE);
+	gld_mac_free(asc->asc_isc.isc_dev);
+
+	/* free io handle */
+	ddi_regs_map_free(&asc->asc_io_handle);
+	pci_config_teardown(&asc->asc_cfg_handle);
+
+	/* destroy locks */
+	mutex_destroy(&asc->asc_txbuflock);
+	for (i = 0; i < HAL_NUM_TX_QUEUES; i++) {
+		if (ATH_TXQ_SETUP(asc, i)) {
+			struct ath_txq *txq = &asc->asc_txq[i];
+			mutex_destroy(&txq->axq_lock);
+		}
+	}
+	mutex_destroy(&asc->asc_rxbuflock);
+	mutex_destroy(&asc->asc_genlock);
+	mutex_destroy(&asc->asc_gld_sched_lock);
+
+	ddi_remove_minor_node(devinfo, NULL);
+	ddi_soft_state_free(ath_soft_state_p, ddi_get_instance(devinfo));
+
+	return (DDI_SUCCESS);
+}
+
+static struct module_info ath_module_info = {
+	0,	/* ATH_IDNUM, */
+	"ath",	/* ATH_DRIVER_NAME, */
+	0,
+	INFPSZ,
+	4096,	/* ATH_HIWAT, */
+	128,	/* ATH_LOWAT */
+};
+
+static struct qinit ath_r_qinit = {	/* read queues */
+	NULL,
+	gld_rsrv,
+	gld_open,
+	gld_close,
+	NULL,
+	&ath_module_info,
+	NULL
+};
+
+static struct qinit ath_w_qinit = {	/* write queues */
+	gld_wput,
+	gld_wsrv,
+	NULL,
+	NULL,
+	NULL,
+	&ath_module_info,
+	NULL
+};
+
+static struct streamtab ath_streamtab = {
+	&ath_r_qinit,
+	&ath_w_qinit,
+	NULL,
+	NULL
+};
+
+static struct cb_ops ath_cb_ops = {
+	nulldev,		/* cb_open */
+	nulldev,		/* cb_close */
+	nodev,			/* cb_strategy */
+	nodev,			/* cb_print */
+	nodev,			/* cb_dump */
+	nodev,			/* cb_read */
+	nodev,			/* cb_write */
+	nodev,			/* cb_ioctl */
+	nodev,			/* cb_devmap */
+	nodev,			/* cb_mmap */
+	nodev,			/* cb_segmap */
+	nochpoll,		/* cb_chpoll */
+	ddi_prop_op,		/* cb_prop_op */
+	&ath_streamtab,		/* cb_stream */
+	D_MP,			/* cb_flag */
+	0,			/* cb_rev */
+	nodev,			/* cb_aread */
+	nodev			/* cb_awrite */
+};
+
+static struct dev_ops ath_dev_ops = {
+	DEVO_REV,		/* devo_rev */
+	0,			/* devo_refcnt */
+	gld_getinfo,		/* devo_getinfo */
+	nulldev,		/* devo_identify */
+	nulldev,		/* devo_probe */
+	ath_attach,		/* devo_attach */
+	ath_detach,		/* devo_detach */
+	nodev,			/* devo_reset */
+	&ath_cb_ops,		/* devo_cb_ops */
+	(struct bus_ops *)NULL,	/* devo_bus_ops */
+	NULL			/* devo_power */
+};
+
+static struct modldrv ath_modldrv = {
+	&mod_driverops,		/* Type of module.  This one is a driver */
+	"ath driver 1.1",	/* short description */
+	&ath_dev_ops		/* driver specific ops */
+};
+
+static struct modlinkage modlinkage = {
+	MODREV_1, (void *)&ath_modldrv, NULL
+};
+
+
+int
+_info(struct modinfo *modinfop)
+{
+	return (mod_info(&modlinkage, modinfop));
+}
+
+int
+_init(void)
+{
+	int status;
+
+	status = ddi_soft_state_init(&ath_soft_state_p, sizeof (ath_t), 1);
+	if (status != 0)
+		return (status);
+
+	mutex_init(&ath_loglock, NULL, MUTEX_DRIVER, NULL);
+	status = mod_install(&modlinkage);
+	if (status != 0) {
+		ddi_soft_state_fini(&ath_soft_state_p);
+		mutex_destroy(&ath_loglock);
+	}
+
+	return (status);
+}
+
+int
+_fini(void)
+{
+	int status;
+
+	status = mod_remove(&modlinkage);
+	if (status == 0) {
+		ddi_soft_state_fini(&ath_soft_state_p);
+		mutex_destroy(&ath_loglock);
+	}
+	return (status);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_osdep.c	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/cmn_err.h>
+#include <sys/kmem.h>
+#include <sys/ddi.h>
+#include <sys/sunddi.h>
+#include <sys/varargs.h>
+#include "ath_hal.h"
+#include "ath_ieee80211.h"
+#include "ath_impl.h"
+
+struct ath_halfix {
+	void *p;
+	size_t size;
+	int malloced;
+	int freed;
+};
+
+static struct ath_halfix ath_halfix[32];
+
+/* HAL layer needs these definitions */
+int ath_hal_dma_beacon_response_time = 2;	/* in TU's */
+int ath_hal_sw_beacon_response_time = 10;	/* in TU's */
+int ath_hal_additional_swba_backoff = 0;	/* in TU's */
+
+/*
+ * Print/log message support.
+ */
+
+void
+ath_hal_printf(struct ath_hal *ah, const char *fmt, ...)
+{
+	va_list ap;
+
+	_NOTE(ARGUNUSED(ah))
+	va_start(ap, fmt);
+	vcmn_err(CE_CONT, fmt, ap);
+	va_end(ap);
+}
+
+/*
+ * Delay n microseconds.
+ */
+void
+ath_hal_delay(int n)
+{
+	drv_usecwait(n);
+}
+
+/*
+ * ath_hal_malloc() and ath_hal_free() are called
+ * within ath_hal.o. We must record the size of
+ * the memory alloced, so ath_hal_free() can get
+ * the size and then calls kmem_free().
+ */
+void *
+ath_hal_malloc(size_t size)
+{
+	void *p;
+	int i;
+
+	/* support 16 devices(max leakage of one device is 8) */
+	for (i = 0; i < 32; i++) {
+		if (ath_halfix[i].malloced == 0)
+			break;
+	}
+	if (i >= 32) {
+		ath_problem("ath: ath_hal_malloc(): too many malloc\n");
+		return (NULL);
+	}
+	p = kmem_zalloc(size, KM_SLEEP);
+	ath_halfix[i].p = p;
+	ath_halfix[i].size = size;
+	ath_halfix[i].malloced = 1;
+	ath_halfix[i].freed = 0;
+	ATH_DEBUG((ATH_DBG_OSDEP, "ath: ath_hal_malloc(): "
+	    "%d: p=%p, size=%d\n", i, p, size));
+	return (p);
+}
+
+void
+ath_hal_free(void* p)
+{
+	int i;
+	for (i = 0; i < 32; i++) {
+		if (ath_halfix[i].p == p)
+			break;
+	}
+	if (i >= 32) {
+		ath_problem("ath: ath_hal_free(): no record for %p\n", p);
+		return;
+	}
+	kmem_free(p, ath_halfix[i].size);
+	ath_halfix[i].malloced = 0;
+	ath_halfix[i].freed = 1;
+	ATH_DEBUG((ATH_DBG_OSDEP, "ath: ath_hal_free(): %d: p=%p, size=%d\n",
+	    i, p, ath_halfix[i].size));
+}
+
+void *
+ath_hal_memcpy(void *dst, const void *src, size_t n)
+{
+	bcopy(src, dst, n);
+	return (dst);
+}
+
+void
+ath_hal_memzero(void *dst, size_t n)
+{
+	bzero(dst, n);
+}
+
+/*
+ * So far as I know and test, hal.o has a bug that when attaching,
+ * it calls ath_hal_malloc() four times while detaching it calls
+ * ath_hal_free() only 3 times, so everytime when a pair of driver
+ * load/unload is done, a memory leak occurs. The function
+ * free_hal_leaked_mem() just help free the memory that alloced by
+ * hal.o but not freed by it. In fact, when attaching, hal.o only
+ * call ath_hal_alloc() four times, here assuming a maximum times of
+ * 8 just considers some special cases, we have no source after all!
+ */
+void
+ath_halfix_init(void)
+{
+	int i;
+
+	for (i = 0; i < 32; i++) {
+		ath_halfix[i].malloced = 0;
+	}
+}
+
+void
+ath_halfix_finit(void)
+{
+	int i;
+
+	for (i = 0; i < 32; i++) {
+		if ((ath_halfix[i].malloced == 1) &&
+		    (ath_halfix[i].freed == 0)) {
+			kmem_free(ath_halfix[i].p, ath_halfix[i].size);
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_rate.c	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,344 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/stream.h>
+#include <sys/termio.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/cmn_err.h>
+#include <sys/stropts.h>
+#include <sys/strsubr.h>
+#include <sys/strtty.h>
+#include <sys/kbio.h>
+#include <sys/cred.h>
+#include <sys/stat.h>
+#include <sys/consdev.h>
+#include <sys/kmem.h>
+#include <sys/modctl.h>
+#include <sys/ddi.h>
+#include <sys/sunddi.h>
+#include <sys/pci.h>
+#include <sys/errno.h>
+#include <sys/gld.h>
+#include <sys/dlpi.h>
+#include <sys/ethernet.h>
+#include <sys/list.h>
+#include <sys/byteorder.h>
+#include <sys/strsun.h>
+#include <inet/common.h>
+#include <inet/nd.h>
+#include <inet/mi.h>
+#include <inet/wifi_ioctl.h>
+#include "ath_hal.h"
+#include "ath_impl.h"
+#include "ath_ieee80211.h"
+
+void
+ath_rate_update(ath_t *asc, struct ieee80211_node *in, int32_t rate)
+{
+	struct ath_node *an = ATH_NODE(in);
+	const HAL_RATE_TABLE *rt = asc->asc_currates;
+	uint8_t rix;
+
+	in->in_txrate = rate;
+	/* management/control frames always go at the lowest speed */
+	an->an_tx_mgtrate = rt->info[0].rateCode;
+	an->an_tx_mgtratesp = an->an_tx_mgtrate | rt->info[0].shortPreamble;
+	ATH_DEBUG((ATH_DBG_RATE, "ath: ath_rate_update(): "
+	    "mgtrate=%d mgtratesp=%d\n",
+	    an->an_tx_mgtrate, an->an_tx_mgtratesp));
+	/*
+	 * Before associating a node has no rate set setup
+	 * so we can't calculate any transmit codes to use.
+	 * This is ok since we should never be sending anything
+	 * but management frames and those always go at the
+	 * lowest hardware rate.
+	 */
+	if (in->in_rates.ir_nrates == 0)
+		goto done;
+	an->an_tx_rix0 = asc->asc_rixmap[
+	    in->in_rates.ir_rates[rate] & IEEE80211_RATE_VAL];
+	an->an_tx_rate0 = rt->info[an->an_tx_rix0].rateCode;
+	an->an_tx_rate0sp = an->an_tx_rate0 |
+	    rt->info[an->an_tx_rix0].shortPreamble;
+	if (asc->asc_mrretry) {
+		/*
+		 * Hardware supports multi-rate retry; setup two
+		 * step-down retry rates and make the lowest rate
+		 * be the ``last chance''.  We use 4, 2, 2, 2 tries
+		 * respectively (4 is set here, the rest are fixed
+		 * in the xmit routine).
+		 */
+		an->an_tx_try0 = 1 + 3;		/* 4 tries at rate 0 */
+		if (--rate >= 0) {
+			rix = asc->asc_rixmap[
+			    in->in_rates.ir_rates[rate]&IEEE80211_RATE_VAL];
+			an->an_tx_rate1 = rt->info[rix].rateCode;
+			an->an_tx_rate1sp = an->an_tx_rate1 |
+			    rt->info[rix].shortPreamble;
+		} else {
+			an->an_tx_rate1 = an->an_tx_rate1sp = 0;
+		}
+		if (--rate >= 0) {
+			rix = asc->asc_rixmap[
+			    in->in_rates.ir_rates[rate]&IEEE80211_RATE_VAL];
+			an->an_tx_rate2 = rt->info[rix].rateCode;
+			an->an_tx_rate2sp = an->an_tx_rate2 |
+			    rt->info[rix].shortPreamble;
+		} else {
+			an->an_tx_rate2 = an->an_tx_rate2sp = 0;
+		}
+		if (rate > 0) {
+			an->an_tx_rate3 = rt->info[0].rateCode;
+			an->an_tx_rate3sp =
+			    an->an_tx_mgtrate | rt->info[0].shortPreamble;
+		} else {
+			an->an_tx_rate3 = an->an_tx_rate3sp = 0;
+		}
+	} else {
+		an->an_tx_try0 = ATH_TXMAXTRY;  /* max tries at rate 0 */
+		an->an_tx_rate1 = an->an_tx_rate1sp = 0;
+		an->an_tx_rate2 = an->an_tx_rate2sp = 0;
+		an->an_tx_rate3 = an->an_tx_rate3sp = 0;
+	}
+done:
+	an->an_tx_ok = an->an_tx_err = an->an_tx_retr = an->an_tx_upper = 0;
+}
+
+
+/*
+ * Set the starting transmit rate for a node.
+ */
+void
+ath_rate_ctl_start(ath_t *asc, struct ieee80211_node *in)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	int32_t srate;
+
+	if (isc->isc_fixed_rate == -1) {
+		/*
+		 * No fixed rate is requested. For 11b start with
+		 * the highest negotiated rate; otherwise, for 11g
+		 * and 11a, we start "in the middle" at 24Mb or 36Mb.
+		 */
+		srate = in->in_rates.ir_nrates - 1;
+		if (asc->asc_curmode != IEEE80211_MODE_11B) {
+			/*
+			 * Scan the negotiated rate set to find the
+			 * closest rate.
+			 */
+			/* NB: the rate set is assumed sorted */
+			for (; srate >= 0 && IEEE80211_RATE(srate) > 72;
+			    srate--);
+		}
+	} else {
+		/*
+		 * A fixed rate is to be used; ic_fixed_rate is an
+		 * index into the supported rate set.  Convert this
+		 * to the index into the negotiated rate set for
+		 * the node.  We know the rate is there because the
+		 * rate set is checked when the station associates.
+		 */
+		const struct ieee80211_rateset *rs =
+		    &isc->isc_sup_rates[isc->isc_curmode];
+		int32_t r = rs->ir_rates[isc->isc_fixed_rate] &
+		    IEEE80211_RATE_VAL;
+		/* NB: the rate set is assumed sorted */
+		srate = in->in_rates.ir_nrates - 1;
+		for (; srate >= 0 && IEEE80211_RATE(srate) != r; srate--);
+	}
+	ATH_DEBUG((ATH_DBG_RATE, "ath: ath_rate_ctl_start(): "
+	    "srate=%d rate=%d\n", srate, IEEE80211_RATE(srate)));
+	ath_rate_update(asc, in, srate);
+}
+
+
+/*
+ * Reset the rate control state for each 802.11 state transition.
+ */
+void
+ath_rate_ctl_reset(ath_t *asc, enum ieee80211_state state)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in;
+
+	if (isc->isc_opmode == IEEE80211_M_STA) {
+		/*
+		 * Reset local xmit state; this is really only
+		 * meaningful when operating in station mode.
+		 */
+		in = (struct ieee80211_node *)isc->isc_bss;
+		if (state == IEEE80211_S_RUN) {
+			ath_rate_ctl_start(asc, in);
+		} else {
+			ath_rate_update(asc, in, 0);
+		}
+	} else {
+		/*
+		 * When operating as a station the node table holds
+		 * the AP's that were discovered during scanning.
+		 * For any other operating mode we want to reset the
+		 * tx rate state of each node.
+		 */
+		in = list_head(&isc->isc_in_list);
+		while (in != NULL) {
+			ath_rate_update(asc, in, 0);
+			in = list_next(&isc->isc_in_list, in);
+		}
+		ath_rate_update(asc, isc->isc_bss, 0);
+	}
+}
+
+
+/*
+ * Examine and potentially adjust the transmit rate.
+ */
+void
+ath_rate_ctl(ieee80211com_t *isc, struct ieee80211_node *in)
+{
+	ath_t *asc = (ath_t *)isc;
+	struct ath_node *an = ATH_NODE(in);
+	struct ieee80211_rateset *rs = &in->in_rates;
+	int32_t mod = 0, nrate, enough;
+
+	/*
+	 * Rate control(very primitive version).
+	 */
+	asc->asc_stats.ast_rate_calls++;
+
+	enough = (an->an_tx_ok + an->an_tx_err >= 10);
+
+	/* no packet reached -> down */
+	if (an->an_tx_err > 0 && an->an_tx_ok == 0)
+		mod = -1;
+
+	/* all packets needs retry in average -> down */
+	if (enough && an->an_tx_ok < an->an_tx_retr)
+		mod = -1;
+
+	/* no error and less than 10% of packets needs retry -> up */
+	if (enough && an->an_tx_err == 0 && an->an_tx_ok > an->an_tx_retr * 10)
+		mod = 1;
+
+	nrate = in->in_txrate;
+	switch (mod) {
+	case 0:
+		if (enough && an->an_tx_upper > 0)
+			an->an_tx_upper--;
+		break;
+	case -1:
+		if (nrate > 0) {
+			nrate--;
+			asc->asc_stats.ast_rate_drop++;
+		}
+		an->an_tx_upper = 0;
+		break;
+	case 1:
+		if (++an->an_tx_upper < 10)
+			break;
+		an->an_tx_upper = 0;
+		if (nrate + 1 < rs->ir_nrates) {
+			nrate++;
+			asc->asc_stats.ast_rate_raise++;
+		}
+		break;
+	}
+
+	if (nrate != in->in_txrate) {
+		ATH_DEBUG((ATH_DBG_RATE, "ath: ath_rate_ctl(): %dM -> %dM "
+		    "(%d ok, %d err, %d retr)\n",
+		    (rs->ir_rates[in->in_txrate] & IEEE80211_RATE_VAL) / 2,
+		    (rs->ir_rates[nrate] & IEEE80211_RATE_VAL) / 2,
+		    an->an_tx_ok, an->an_tx_err, an->an_tx_retr));
+		ath_rate_update(asc, in, nrate);
+	} else if (enough)
+		an->an_tx_ok = an->an_tx_err = an->an_tx_retr = 0;
+}
+
+
+/*
+ * Read rate table from the HAL, and then
+ * copy the table to the driver's data structure.
+ */
+void
+ath_rate_setup(ath_t *asc, uint32_t mode)
+{
+	int32_t i, maxrates;
+	struct ieee80211_rateset *rs;
+	struct ath_hal *ah = asc->asc_ah;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	const HAL_RATE_TABLE *rt;
+
+	switch (mode) {
+	case IEEE80211_MODE_11A:
+		asc->asc_rates[mode] = ATH_HAL_GETRATETABLE(ah, HAL_MODE_11A);
+		break;
+	case IEEE80211_MODE_11B:
+		asc->asc_rates[mode] = ATH_HAL_GETRATETABLE(ah, HAL_MODE_11B);
+		break;
+	case IEEE80211_MODE_11G:
+		asc->asc_rates[mode] = ATH_HAL_GETRATETABLE(ah, HAL_MODE_11G);
+		break;
+	case IEEE80211_MODE_TURBO:
+		asc->asc_rates[mode] = ATH_HAL_GETRATETABLE(ah, HAL_MODE_TURBO);
+		break;
+	default:
+		ATH_DEBUG((ATH_DBG_RATE, "ath: ath_rate_setup(): "
+		    "invalid mode %u\n", mode));
+		return;
+	}
+
+	rt = asc->asc_rates[mode];
+	if (rt == NULL)
+		return;
+	if (rt->rateCount > IEEE80211_RATE_MAXSIZE) {
+		ATH_DEBUG((ATH_DBG_RATE, "ath: ath_rate_setup(): "
+		    "rate table too small (%u > %u)\n",
+		    rt->rateCount, IEEE80211_RATE_MAXSIZE));
+		maxrates = IEEE80211_RATE_MAXSIZE;
+	} else
+		maxrates = rt->rateCount;
+	rs = &isc->isc_sup_rates[mode];
+	for (i = 0; i < maxrates; i++)
+		rs->ir_rates[i] = rt->info[i].dot11Rate;
+	rs->ir_nrates = maxrates;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_rate.h	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ */
+
+#ifndef _ATH_RATE_H
+#define	_ATH_RATE_H
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "ath_ieee80211.h"
+#include "ath_impl.h"
+
+void ath_rate_ctl_start(ath_t *asc, struct ieee80211_node *in);
+void ath_rate_ctl_reset(ath_t *asc, enum ieee80211_state state);
+void ath_rate_ctl(ieee80211com_t *isc, struct ieee80211_node *in);
+void ath_rate_update(ath_t *asc, struct ieee80211_node *in, int32_t rate);
+void ath_rate_setup(ath_t *asc, uint32_t mode);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ATH_RATE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/ath_wificonfig.c	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,818 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * 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,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ */
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/signal.h>
+#include <sys/stream.h>
+#include <sys/termio.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/cmn_err.h>
+#include <sys/stropts.h>
+#include <sys/strsubr.h>
+#include <sys/strtty.h>
+#include <sys/kbio.h>
+#include <sys/cred.h>
+#include <sys/stat.h>
+#include <sys/consdev.h>
+#include <sys/kmem.h>
+#include <sys/modctl.h>
+#include <sys/ddi.h>
+#include <sys/sunddi.h>
+#include <sys/pci.h>
+#include <sys/errno.h>
+#include <sys/gld.h>
+#include <sys/dlpi.h>
+#include <sys/ethernet.h>
+#include <sys/note.h>
+#include <sys/strsun.h>
+#include <sys/list.h>
+#include <inet/common.h>
+#include <inet/nd.h>
+#include <inet/mi.h>
+#include <inet/wifi_ioctl.h>
+#include "ath_impl.h"
+#include "ath_hal.h"
+#include "ath_ieee80211.h"
+
+extern int
+ath_gld_start(gld_mac_info_t *gld_p);
+
+static int
+ath_wificfg_essid(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	char *value, *buf;
+	int len;
+	wldp_t *infp, *outfp;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+
+	outfp = (wldp_t *)buf;
+	infp = (wldp_t *)mp->b_rptr;
+
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	if (cmd == WLAN_GET_PARAM) {
+		if (mi_strlen((const char *)isc->isc_des_essid) == 0) {
+			outfp->wldp_length = offsetof(wldp_t, wldp_buf) +
+			    offsetof(wl_essid_t, wl_essid_essid) +
+			    mi_strlen((const char *)
+			    isc->isc_bss->in_essid);
+			((wl_essid_t *)(outfp->wldp_buf))->wl_essid_length =
+			    mi_strlen((const char *)
+			    isc->isc_bss->in_essid);
+			bcopy(isc->isc_bss->in_essid,
+			    buf + offsetof(wldp_t, wldp_buf) +
+			    offsetof(wl_essid_t, wl_essid_essid),
+			    mi_strlen((const char *)
+			    isc->isc_bss->in_essid));
+		} else {
+			outfp->wldp_length = offsetof(wldp_t, wldp_buf) +
+			    offsetof(wl_essid_t, wl_essid_essid) +
+			    mi_strlen((const char *)isc->isc_des_essid);
+			((wl_essid_t *)(outfp->wldp_buf))->wl_essid_length =
+			    mi_strlen((const char *)isc->isc_des_essid);
+			bcopy(isc->isc_des_essid,
+			    buf + offsetof(wldp_t, wldp_buf) +
+			    offsetof(wl_essid_t, wl_essid_essid),
+			    mi_strlen((const char *)
+			    isc->isc_des_essid));
+		}
+	} else if (cmd == WLAN_SET_PARAM) {
+		value = ((wl_essid_t *)(infp->wldp_buf))->wl_essid_essid;
+		bzero(isc->isc_des_essid, IEEE80211_NWID_LEN);
+		if (mi_strlen(value) == 0)
+			isc->isc_des_esslen = 0;
+		else {
+			len = mi_strlen((const char *)value);
+			if (len > IEEE80211_NWID_LEN)
+				len = IEEE80211_NWID_LEN;
+			bcopy(value, isc->isc_des_essid, len);
+			isc->isc_des_esslen = len;
+			ATH_DEBUG((ATH_DBG_WIFICFG,
+			    "ath: ath_wificfg_essid(): "
+			    "set essid=%s len=%d\n", value, len));
+		}
+		if (asc->asc_invalid == 0) {
+			(void) ath_gld_start(isc->isc_dev);
+			(void) _ieee80211_new_state(isc, IEEE80211_S_SCAN, -1);
+		}
+	}
+
+	outfp->wldp_result = WL_SUCCESS;
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (WL_SUCCESS);
+}
+
+static int
+ath_wificfg_bssid(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	char *buf;
+	wldp_t *outfp;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	outfp->wldp_length = WIFI_BUF_OFFSET + sizeof (wl_bssid_t);
+	if (cmd == WLAN_GET_PARAM) {
+		if (isc->isc_flags & IEEE80211_F_DESBSSID)
+			bcopy(isc->isc_des_bssid,
+			    buf + WIFI_BUF_OFFSET, sizeof (wl_bssid_t));
+		else
+			bcopy(isc->isc_bss->in_bssid,
+			    buf + WIFI_BUF_OFFSET, sizeof (wl_bssid_t));
+		outfp->wldp_result = WL_SUCCESS;
+
+		ATH_DEBUG((ATH_DBG_WIFICFG, "ath: ath_wificfg_bssid(): "
+		    "get bssid=%x %x %x %x %x %x\n",
+		    buf[WIFI_BUF_OFFSET+0], buf[WIFI_BUF_OFFSET+1],
+		    buf[WIFI_BUF_OFFSET+2], buf[WIFI_BUF_OFFSET+3],
+		    buf[WIFI_BUF_OFFSET+4], buf[WIFI_BUF_OFFSET+5]));
+	} else if (cmd == WLAN_SET_PARAM) {
+		outfp->wldp_result = WL_READONLY;
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (WL_SUCCESS);
+}
+
+static int
+ath_wificfg_nodename(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	char *value, *buf;
+	int iret, nickname_len;
+	uint32_t i;
+	wldp_t *infp, *outfp;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	ATH_DEBUG((ATH_DBG_WIFICFG, "ath: ath_wificfg_nodename(): "
+	    "nodename entry\n"));
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+	infp = (wldp_t *)mp->b_rptr;
+
+	nickname_len = MIN(isc->isc_nicknamelen, IEEE80211_NWID_LEN);
+
+	if (cmd == WLAN_GET_PARAM) {
+		outfp->wldp_length = WIFI_BUF_OFFSET +
+		    offsetof(wl_nodename_t, wl_nodename_name) + nickname_len;
+		((wl_nodename_t *)(buf + WIFI_BUF_OFFSET))->wl_nodename_length =
+		    nickname_len;
+		bcopy(isc->isc_nickname, buf + WIFI_BUF_OFFSET +
+		    offsetof(wl_nodename_t, wl_nodename_name), nickname_len);
+		outfp->wldp_result = WL_SUCCESS;
+		ATH_DEBUG((ATH_DBG_WIFICFG, "ath: ath_wificfg_nodename(): "
+		    "get nodename=%s\n", isc->isc_nickname));
+	} else if (cmd == WLAN_SET_PARAM) {
+		value = ((wl_nodename_t *)(infp->wldp_buf))->wl_nodename_name;
+		(void) strncpy((char *)isc->isc_nickname, value,
+		    MIN(32, strlen(value)));
+		isc->isc_nickname[strlen(value)] = '\0';
+		isc->isc_nicknamelen =
+		    ((wl_nodename_t *)(infp->wldp_buf))->wl_nodename_length;
+		outfp->wldp_length = WIFI_BUF_OFFSET;
+		outfp->wldp_result = WL_SUCCESS;
+		ATH_DEBUG((ATH_DBG_WIFICFG, "ath: ath_wificfg_nodename(): "
+		    "set nodename=%s\n", value));
+		ATH_DEBUG((ATH_DBG_WIFICFG, "ath: ath_wificfg_nodename(): "
+		    "set nodename_len=%d\n", isc->isc_nicknamelen));
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_encryption(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	char *buf;
+	int iret;
+	wldp_t *infp, *outfp;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+	infp = (wldp_t *)mp->b_rptr;
+	outfp->wldp_length = offsetof(wldp_t, wldp_buf) +
+	    sizeof (wl_encryption_t);
+	if (cmd == WLAN_GET_PARAM) {
+		*(wl_encryption_t *)(outfp->wldp_buf) =
+		    (isc->isc_flags & IEEE80211_F_WEPON) ? 1 : 0;
+		outfp->wldp_result = WL_SUCCESS;
+	} else if (cmd == WLAN_SET_PARAM) {
+		if (*(wl_encryption_t *)(infp->wldp_buf) ==
+		    WL_NOENCRYPTION) {
+			isc->isc_flags &= ~IEEE80211_F_WEPON;
+		} else if (*(wl_encryption_t *)(infp->wldp_buf) ==
+		    WL_ENC_WEP) {
+			isc->isc_flags |= IEEE80211_F_WEPON;
+		}
+		ATH_DEBUG((ATH_DBG_WIFICFG, "ath: "
+		    "ath_wificfg_encryption(): set encryption=%d\n",
+		    (isc->isc_flags & IEEE80211_F_WEPON) ? 1 : 0));
+		if (asc->asc_invalid == 0) {
+			(void) ath_gld_start(isc->isc_dev);
+			(void) _ieee80211_new_state(isc, IEEE80211_S_SCAN, -1);
+		}
+		outfp->wldp_result = WL_SUCCESS;
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_wepkey(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	wldp_t *infp, *outfp;
+	char *buf;
+	int iret;
+	wl_wep_key_t *p_wepkey_tab;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+	infp = (wldp_t *)mp->b_rptr;
+
+	outfp->wldp_length = offsetof(wldp_t, wldp_buf) +
+	    sizeof (wl_wep_key_tab_t);
+
+	if (cmd == WLAN_GET_PARAM) {
+		outfp->wldp_result = WL_WRITEONLY;
+	} else if (cmd == WLAN_SET_PARAM) {
+		p_wepkey_tab = (wl_wep_key_t *)(infp->wldp_buf);
+		for (i = 0; i < MAX_NWEPKEYS; i++) {
+			if (p_wepkey_tab[i].wl_wep_operation == WL_ADD) {
+				isc->isc_nw_keys[i].iwk_len =
+				    p_wepkey_tab[i].wl_wep_length;
+				bcopy(p_wepkey_tab[i].wl_wep_key,
+				    isc->isc_nw_keys[i].iwk_key,
+				    p_wepkey_tab[i].wl_wep_length);
+			}
+		}
+		if (asc->asc_invalid == 0) {
+			(void) ath_gld_start(isc->isc_dev);
+			(void) _ieee80211_new_state(isc, IEEE80211_S_SCAN, -1);
+		}
+		outfp->wldp_result = WL_SUCCESS;
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+
+}
+
+static int
+ath_wificfg_keyid(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	char *buf;
+	int iret;
+	wldp_t *infp, *outfp;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	wl_wep_key_id_t keyid;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+	infp = (wldp_t *)mp->b_rptr;
+
+	outfp->wldp_length = offsetof(wldp_t, wldp_buf) +
+	    sizeof (wl_wep_key_id_t);
+
+	if (cmd == WLAN_GET_PARAM) {
+		*(wl_wep_key_id_t *)(outfp->wldp_buf) =
+		    isc->isc_wep_txkey;
+		outfp->wldp_result = WL_SUCCESS;
+	} else if (cmd == WLAN_SET_PARAM) {
+		keyid = *(wl_wep_key_id_t *)(infp->wldp_buf);
+		if (keyid >= MAX_NWEPKEYS) {
+			outfp->wldp_result = WL_NOTSUPPORTED;
+		} else {
+			isc->isc_wep_txkey = keyid;
+			ATH_DEBUG((ATH_DBG_WIFICFG,
+			    "ath: ath_wificfg_keyid(): set wepkeyid=%d\n",
+			    isc->isc_wep_txkey));
+			if (asc->asc_invalid == 0) {
+				(void) ath_gld_start(isc->isc_dev);
+				(void) _ieee80211_new_state(isc,
+				    IEEE80211_S_SCAN, -1);
+			}
+			outfp->wldp_result = WL_SUCCESS;
+		}
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+/*
+ * Units are in db above the noise floor. That means the
+ * rssi values reported in the tx/rx descriptors in the
+ * driver are the SNR expressed in db.
+ */
+static void
+ath_getrssi(struct ieee80211_node *in, wl_rssi_t *rssi)
+{
+	wl_rssi_t val, max_val;
+
+	max_val = 63; /* Max rssi */
+	val = (wl_rssi_t)in->in_recv_hist[in->in_hist_cur].irh_rssi;
+	ATH_DEBUG((ATH_DBG_WIFICFG, "ath: ath_getrssi(): "
+	    "rssi: %d\n", val));
+	if (val > max_val)
+		val = max_val;	/* Max rssi */
+	if (max_val > MAX_RSSI)
+		*rssi = (wl_rssi_t)((val + (double)max_val / MAX_RSSI - 1) /
+			max_val * MAX_RSSI);
+	else
+		*rssi = (wl_rssi_t)((double)val / max_val * MAX_RSSI);
+}
+
+static void
+ath_wait_scan(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	while (isc->isc_flags & IEEE80211_F_ASCAN) {
+		if (cv_timedwait(&isc->isc_scan_cv, &isc->isc_genlock,
+		    ddi_get_lbolt() + drv_usectohz(6000000)) != 0)
+			break;
+	}
+}
+
+static int
+ath_wificfg_esslist(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	_NOTE(ARGUNUSED(cmd))
+
+	char *buf;
+	int iret;
+	uint32_t i, essid_num;
+	struct ieee80211_node *in;
+	wldp_t *outfp;
+	wl_ess_conf_t *p_ess_conf;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	/* Wait scan finish */
+	ath_wait_scan(asc);
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	essid_num = 0;
+	in = list_head(&isc->isc_in_list);
+	while (in != NULL) {
+		p_ess_conf = (wl_ess_conf_t *)
+		    (buf + offsetof(wldp_t, wldp_buf) +
+		    offsetof(wl_ess_list_t, wl_ess_list_ess) +
+		    essid_num * sizeof (wl_ess_conf_t));
+
+		if (p_ess_conf > (wl_ess_conf_t *)
+		    (buf + MAX_BUF_LEN - sizeof (wl_ess_conf_t)))
+			break;
+
+		bcopy(in->in_essid,
+		    p_ess_conf->wl_ess_conf_essid.wl_essid_essid,
+		    in->in_esslen);
+		bcopy(in->in_bssid, p_ess_conf->wl_ess_conf_bssid, 6);
+		(p_ess_conf->wl_phy_conf).wl_phy_dsss_conf.wl_dsss_subtype =
+		    WL_DSSS;
+		p_ess_conf->wl_ess_conf_wepenabled =
+		    (in->in_capinfo & IEEE80211_CAPINFO_PRIVACY ?
+		    WL_ENC_WEP : WL_NOENCRYPTION);
+		p_ess_conf->wl_ess_conf_bsstype =
+		    (in->in_capinfo & IEEE80211_CAPINFO_ESS ?
+		    WL_BSS_BSS : WL_BSS_IBSS);
+		ath_getrssi(in, &(p_ess_conf->wl_ess_conf_sl));
+
+		essid_num++;
+		in = list_next(&isc->isc_in_list, in);
+	}
+
+	((wl_ess_list_t *)(outfp->wldp_buf))->wl_ess_list_num = essid_num;
+	outfp->wldp_length = offsetof(wldp_t, wldp_buf) +
+	    offsetof(wl_ess_list_t, wl_ess_list_ess) +
+	    essid_num * sizeof (wl_ess_conf_t);
+	outfp->wldp_result = WL_SUCCESS;
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_supportrates(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	_NOTE(ARGUNUSED(asc))
+
+	uint16_t i;
+	wldp_t *outfp;
+	char *buf;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in = isc->isc_bss;
+	const struct ieee80211_rateset *rs;
+	wl_rates_t *rates;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	rs = &isc->isc_sup_rates[ieee80211_chan2mode(isc, in->in_chan)];
+	rates = (wl_rates_t *)(outfp->wldp_buf);
+	if (cmd == WLAN_GET_PARAM) {
+		rates->wl_rates_num = rs->ir_nrates;
+		for (i = 0; i < rs->ir_nrates; i++) {
+			rates->wl_rates_rates[i] = rs->ir_rates[i] &
+				IEEE80211_RATE_VAL;
+		}
+		outfp->wldp_length = WIFI_BUF_OFFSET +
+			offsetof(wl_rates_t, wl_rates_rates) +
+			rs->ir_nrates * sizeof (char);
+		outfp->wldp_result = WL_SUCCESS;
+		for (i = 0; i < (outfp->wldp_length); i++)
+			(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	}
+
+	kmem_free(buf, MAX_BUF_LEN);
+	return (WL_SUCCESS);
+}
+
+static int
+ath_wificfg_desiredrates(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	int rate, iret;
+	char *buf;
+	wldp_t *outfp;
+
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in = isc->isc_bss;
+	struct ieee80211_rateset *rs = &in->in_rates;
+
+	/*
+	 * Here rate is a full duplex speed, wificonfig will divide it
+	 * by 2 when display to user. From the wificonfig point of view,
+	 * 'rate' is just a transmiting rate.
+	 */
+	rate = (rs->ir_rates[in->in_txrate] & IEEE80211_RATE_VAL);
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	if (cmd == WLAN_GET_PARAM) {
+		((wl_rates_t *)(outfp->wldp_buf))->wl_rates_num = 1;
+		(((wl_rates_t *)(outfp->wldp_buf))->wl_rates_rates)[0] = rate;
+		outfp->wldp_length = WIFI_BUF_OFFSET +
+			offsetof(wl_rates_t, wl_rates_rates) + sizeof (char);
+		ATH_DEBUG((ATH_DBG_WIFICFG, "ath: "
+		    "ath_wificfg_desiredrates(): current rate=%dM\n", rate));
+		outfp->wldp_result = WL_SUCCESS;
+	} else if (cmd == WLAN_SET_PARAM) {
+		outfp->wldp_length = WIFI_BUF_OFFSET;
+		outfp->wldp_result = WL_SUCCESS;
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_authmode(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	_NOTE(ARGUNUSED(asc))
+
+	uint32_t i, authmode;
+	char *buf;
+	int iret;
+	wldp_t *infp, *outfp;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+	infp = (wldp_t *)mp->b_rptr;
+
+	outfp->wldp_length = WIFI_BUF_OFFSET + sizeof (wl_authmode_t);
+	outfp->wldp_result = WL_SUCCESS;
+	if (cmd == WLAN_GET_PARAM) {
+		*(wl_authmode_t *)(outfp->wldp_buf) = WL_OPENSYSTEM;
+	} else if (cmd == WLAN_SET_PARAM) {
+		authmode = *(wl_authmode_t *)(infp->wldp_buf);
+		if (authmode != WL_OPENSYSTEM) {
+			outfp->wldp_length = WIFI_BUF_OFFSET;
+			outfp->wldp_result = WL_LACK_FEATURE;
+		}
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_bsstype(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	_NOTE(ARGUNUSED(asc))
+
+	uint32_t i, bss_type;
+	char *buf;
+	int iret;
+	wldp_t *infp, *outfp;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+	infp = (wldp_t *)mp->b_rptr;
+	outfp->wldp_length = WIFI_BUF_OFFSET + sizeof (wl_bss_type_t);
+	outfp->wldp_result = WL_SUCCESS;
+	if (cmd == WLAN_GET_PARAM) {
+		*(wl_bss_type_t *)(outfp->wldp_buf) = WL_BSS_BSS;
+	} else if (cmd == WLAN_SET_PARAM) {
+		bss_type = (uint16_t)(*(wl_bss_type_t *)(infp->wldp_buf));
+		if (bss_type != WL_BSS_BSS) {
+			outfp->wldp_length = WIFI_BUF_OFFSET;
+			outfp->wldp_result = WL_LACK_FEATURE;
+		}
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_linkstatus(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	char *buf;
+	int iret;
+	wldp_t *outfp;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	outfp->wldp_length = WIFI_BUF_OFFSET + sizeof (wl_linkstatus_t);
+	outfp->wldp_result = WL_SUCCESS;
+
+	if (cmd == WLAN_GET_PARAM) {
+		*(wl_linkstatus_t *)(outfp->wldp_buf) =
+		    (IEEE80211_S_RUN == isc->isc_state) ?
+		    WL_CONNECTED : WL_NOTCONNECTED;
+	} else if (cmd == WLAN_SET_PARAM) {
+		outfp->wldp_length = WIFI_BUF_OFFSET;
+		outfp->wldp_result = WL_NOTSUPPORTED;
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_rssi(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i;
+	char *buf;
+	int iret;
+	wldp_t *outfp;
+
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in = isc->isc_bss;
+
+	buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+	outfp = (wldp_t *)buf;
+	bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+
+	outfp->wldp_length = WIFI_BUF_OFFSET + sizeof (wl_rssi_t);
+	outfp->wldp_result = WL_SUCCESS;
+
+	if (cmd == WLAN_GET_PARAM) {
+		ath_getrssi(in, (wl_rssi_t *)(outfp->wldp_buf));
+	} else if (cmd == WLAN_SET_PARAM) {
+		outfp->wldp_length = WIFI_BUF_OFFSET;
+		outfp->wldp_result = WL_NOTSUPPORTED;
+	}
+
+	for (i = 0; i < (outfp->wldp_length); i++)
+		(void) mi_mpprintf_putc((char *)mp, buf[i]);
+	iret = (int)(outfp->wldp_result);
+	kmem_free(buf, MAX_BUF_LEN);
+	return (iret);
+}
+
+static int
+ath_wificfg_scan(ath_t *asc)
+{
+	int iret = WL_SUCCESS;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	if (asc->asc_invalid == 0 && isc->isc_state == IEEE80211_S_INIT) {
+		(void) _ieee80211_new_state(isc, IEEE80211_S_SCAN, -1);
+		ath_wait_scan(asc);
+		(void) _ieee80211_new_state(isc, IEEE80211_S_INIT, -1);
+	}
+	return (iret);
+}
+
+static void
+ath_loaddefdata(ath_t *asc)
+{
+	int i;
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+	struct ieee80211_node *in = isc->isc_bss;
+	struct ieee80211_rateset *rs = &in->in_rates;
+
+	if (isc->isc_flags & IEEE80211_F_DESBSSID)
+		bzero(isc->isc_des_bssid, IEEE80211_ADDR_LEN);
+	else
+		bzero(isc->isc_bss->in_bssid, IEEE80211_ADDR_LEN);
+	isc->isc_des_esslen = 0;
+	isc->isc_des_essid[0] = 0;
+	isc->isc_bss->in_essid[0] = 0;
+	rs->ir_rates[in->in_txrate] = 0;	/* rate */
+	isc->isc_flags &= ~IEEE80211_F_WEPON;	/* encryption */
+	isc->isc_wep_txkey = 0;			/* wepkey id */
+	for (i = 0; i < MAX_NWEPKEYS; i++)	/* wepkey */
+		isc->isc_nw_keys[i].iwk_len = 0;
+	for (i = 0; i < IEEE80211_RECV_HIST_LEN; ++i)
+		in->in_recv_hist[i].irh_rssi = 0;
+	in->in_hist_cur = IEEE80211_RECV_HIST_LEN - 1;
+}
+
+static int
+ath_wificfg_loaddefaults(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	ath_loaddefdata(asc);
+
+	if (asc->asc_invalid == 0) {
+		(void) ath_gld_start(isc->isc_dev);
+		(void) _ieee80211_new_state(isc, IEEE80211_S_SCAN, -1);
+	}
+
+	return (WL_SUCCESS);
+}
+
+static int
+ath_wificfg_disassoc(ath_t *asc)
+{
+	ieee80211com_t *isc = (ieee80211com_t *)asc;
+
+	if (! asc->asc_invalid) {
+		(void) _ieee80211_new_state(isc, IEEE80211_S_INIT, -1);
+		ath_loaddefdata(asc);
+	}
+	return (WL_SUCCESS);
+}
+
+int32_t
+ath_getset(ath_t *asc, mblk_t *mp, uint32_t cmd)
+{
+	uint32_t i, id;
+	char *buf;
+	int ret;
+	wldp_t *infp, *outfp;
+
+	ret = WL_SUCCESS;
+	infp = (wldp_t *)mp->b_rptr;
+	id = infp->wldp_id;
+
+	switch (id) {
+	case WL_ESSID:
+		ret = ath_wificfg_essid(asc, mp, cmd);
+		break;
+	case WL_BSSID:
+		ret = ath_wificfg_bssid(asc, mp, cmd);
+		break;
+	case WL_NODE_NAME:
+		ret = ath_wificfg_nodename(asc, mp, cmd);
+		break;
+	case WL_ENCRYPTION:
+		ret = ath_wificfg_encryption(asc, mp, cmd);
+		break;
+	case WL_WEP_KEY_TAB:
+		ret = ath_wificfg_wepkey(asc, mp, cmd);
+		break;
+	case WL_WEP_KEY_ID:
+		ret = ath_wificfg_keyid(asc, mp, cmd);
+		break;
+	case WL_ESS_LIST:
+		ret = ath_wificfg_esslist(asc, mp, cmd);
+		break;
+	case WL_SUPPORTED_RATES:
+		ret = ath_wificfg_supportrates(asc, mp, cmd);
+		break;
+	case WL_DESIRED_RATES:
+		ret = ath_wificfg_desiredrates(asc, mp, cmd);
+		break;
+	case WL_AUTH_MODE:
+		ret = ath_wificfg_authmode(asc, mp, cmd);
+		break;
+	case WL_BSS_TYPE:
+		ret = ath_wificfg_bsstype(asc, mp, cmd);
+		break;
+	case WL_LINKSTATUS:
+		ret = ath_wificfg_linkstatus(asc, mp, cmd);
+		break;
+	case WL_RSSI:
+		ret = ath_wificfg_rssi(asc, mp, cmd);
+		break;
+	case WL_SCAN:
+		ret = ath_wificfg_scan(asc);
+		break;
+	case WL_LOAD_DEFAULTS:
+		ret = ath_wificfg_loaddefaults(asc);
+		break;
+	case WL_DISASSOCIATE:
+		ret = ath_wificfg_disassoc(asc);
+		break;
+	default:
+		buf = kmem_zalloc(MAX_BUF_LEN, KM_SLEEP);
+		outfp = (wldp_t *)buf;
+		bcopy(mp->b_rptr, buf,  sizeof (wldp_t));
+		outfp->wldp_length = offsetof(wldp_t, wldp_buf);
+		outfp->wldp_result = WL_LACK_FEATURE;
+		for (i = 0; i < (outfp->wldp_length); i++)
+			(void) mi_mpprintf_putc((char *)mp, buf[i]);
+		kmem_free(buf, MAX_BUF_LEN);
+		break;
+	}
+	return (ret);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/hal_x86_32.o.uu	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,3112 @@
+/*
+ * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting, Atheros
+ * Communications, Inc.  All rights reserved.
+ *
+ * Use is subject to license terms.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the following conditions are met:
+ * 1. The materials contained herein are unmodified and are used
+ *    unmodified.
+ * 2. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following NO
+ *    ''WARRANTY'' disclaimer below (''Disclaimer''), without
+ *    modification.
+ * 3. Redistributions in binary form must reproduce at minimum a
+ *    disclaimer similar to the Disclaimer below and any redistribution
+ *    must be conditioned upon including a substantially similar
+ *    Disclaimer requirement for further binary redistribution.
+ * 4. Neither the names of the above-listed copyright holders nor the
+ *    names of any contributors may be used to endorse or promote
+ *    product derived from this software without specific prior written
+ *    permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT,
+ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
+ * FOR 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 DAMAGES.
+ *
+ */
+#define	ATH_HAL_VERSION	"0.9.14.9"
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+begin-base64 644 hal.o
+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
+YQBhAGEAYgBiAGIAYwBjAGMAZABkAGQAZQBlAGUAZgBmAGYAZwBnAGcAaABoAGgAaQBp
+AGkAagBqAGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wECABAAABREFgUG
+cRbBFgUGAAAAAAAAAAAAAAAAUAEBABAAcRbBFh4AAAAAAAAAAAAAAAAAAAAAAAAAUAIB
+ABAAcRatFhcAAAAAAAAAAAAAAAAAAAAAAAAAUAMCABAAoBTIFBEGcRatFh4GAAAAAAAA
+AAAAAAAAUAQCABAAPBR4FBQAcRbBFhQAAAAAAAAAAAAAAAAAUAUCABAAcRbBFhEAAAAA
+AAAAAAAAAAAAAAAAAAAAMAECADAAPBTIFBQAfBVEFhsAAAAAAAAAAAAAAAAAMAIBADAA
+PBR4FBIAAAAAAAAAAAAAAAAAAAAAAAAAMAMBADAAPBTIFBQAAAAAAAAAAAAAAAAAAAAA
+AAAAMAQBADAAPBTIFBIAAAAAAAAAAAAAAAAAAAAAAAAAMAUBADAAPBR4FA8AAAAAAAAA
+AAAAAAAAAAAAAAAAMAYCADAAPBSgFBcAfBVEFh4AAAAAAAAAAAAAAAAAEAEDABAAjBTI
+FBcGPBR4FBEGcRbBFh4GAAAAAAAAIAECABAAPBTIFBcGcRbBFh4GAAAAAAAAAAAAAAAA
+YAEEABAAPBR4FBEGjBTIFBQGfBVEFhQGcRbBFh4GQAEBAEAAMhRuFBcAAAAAAAAAAAAA
+AAAAAAAAAAAAQAIDAEAAMhRuFBcAsBPYExcAOBN0ExcAAAAAAAAAAAD/AQIAEwAKFCYW
+BQYeFBIWBQYAAAAAAAAAAAAAAAAQAQMAEwCCFKoUFwZaFFoUEQaAFqgWHgYAAAAAAABg
+AQMAEwCCFKoUFwZaFFoUEQaAFqgWHgYAAAAAAABgAQQAEwB4FKAUFwZQFFAUEQaFFq0W
+HgakFRwWHgYQCgEAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wED
+AP8ACAlECQUGhQmFCQUG0AmsCgUGAAAAAAAAEAoBABQAhQmFCRQGAAAAAAAAAAAAAAAA
+AAAAAAAAMAoBADQAhQmFCRQGAAAAAAAAAAAAAAAAAAAAAAAAMAsBADQAhQmFCRQGAAAA
+AAAAAAAAAAAAAAAAAAAAMAwBADQAhQmFCRQGAAAAAAAAAAAAAAAAAAAAAAAAQAoBAEQA
+hQmFCRQGAAAAAAAAAAAAAAAAAAAAAAAAmQEBADQAhQmFCRQGAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAD/AQQA/wAICUQJBQZsCagJBQa0CbQJBQbQCawKBQZQDQIA
+/wBsCagJFAAICUQJFAAAAAAAAAAAAAAAAAAwCgEA/wCZCagJFAAAAAAAAAAAAAAAAAAA
+AAAAAAAwCwEAMQCACYoJFAAAAAAAAAAAAAAAAAAAAAAAAAAwDAEAMQBsCagJHgAAAAAA
+AAAAAAAAAAAAAAAAAAAQCgEAEQBsCZ4JGwYAAAAAAAAAAAAAAAAAAAAAAABACgIAQQBs
+CagJFAC0CbQJFAAAAAAAAAAAAAAAAACZAQEAMQBsCagJFAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABg
+AAAAAQAAAAAAAAAKAAAAOAEAAEABAABIAQAAaAEAAHABAAB4AQAAgAEAAIgBAACoAQAA
+sAEAAGYAAAABAAAAAAAAAAkAAAA4AQAAQAEAAFABAABoAQAAcAEAAHgBAACAAQAAkAEA
+ALABAAAAAAAAZwAAAAEAAAAAAAAACQAAADgBAABAAQAASAEAAGgBAABwAQAAeAEAAIAB
+AACIAQAAsAEAAAAAAABoAAAAAQAAAAAAAAAJAAAAOAEAAEABAABIAQAAaAEAAHABAAB4
+AQAAgAEAAIgBAACwAQAAAAAAAGEAAAAAAAAAAAAAAAgAAAA4AQAAQAEAAEgBAABoAQAA
+gAEAAIgBAACoAQAAsAEAAAAAAAAAAAAAYgAAAAIAAAAsAQAACgAAADgBAABAAQAASAEA
+AGgBAABwAQAAeAEAAIABAACIAQAAqAEAALABAABjAAAAAQAAAAAAAAAIAAAAOAEAAEAB
+AABIAQAAaAEAAHABAAB4AQAAiAEAALABAAAAAAAAAAAAAGQAAAAAAAAAAAAAAAcAAAA4
+AQAAWAEAAGgBAABwAQAAeAEAAJgBAACwAQAAAAAAAAAAAAAAAAAAZQAAAAAAAAAAAAAA
+BQAAADgBAABIAQAAaAEAAIgBAACwAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAAAAAA
+AAAAAAAIAAAAOAEAAFgBAABoAQAAcAEAAHgBAACAAQAAmAEAALABAAAAAAAAAAAAAGoA
+AAAAAAAAAAAAAAYAAAA4AQAASAEAAGgBAACAAQAAiAEAALABAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAEAAAAAAAAACQAAADgBAABAAQAA
+UAEAAGgBAABwAQAAeAEAAIABAACQAQAAsAEAAAAAAABmAAAAAQAAAAAAAAAJAAAAOAEA
+AEABAABQAQAAaAEAAHABAAB4AQAAgAEAAJABAACwAQAAAAAAAGcAAAABAAAAAAAAAAkA
+AAA4AQAAQAEAAEgBAABoAQAAcAEAAHgBAACAAQAAkAEAALABAAAAAAAAaAAAAAEAAAAA
+AAAACQAAADgBAABAAQAASAEAAGgBAABwAQAAeAEAAIABAACQAQAAsAEAAAAAAABhAAAA
+AAAAAAAAAAAHAAAAOAEAAEABAABQAQAAaAEAAIABAACQAQAAsAEAAAAAAAAAAAAAAAAA
+AGIAAAACAAAALAEAAAkAAAA4AQAAQAEAAFABAABoAQAAcAEAAHgBAACAAQAAkAEAALAB
+AAAAAAAAYwAAAAEAAAAAAAAACAAAADgBAABAAQAAUAEAAGgBAABwAQAAeAEAAJABAACw
+AQAAAAAAAAAAAABkAAAAAAAAAAAAAAAHAAAAOAEAAGABAABoAQAAcAEAAHgBAACgAQAA
+sAEAAAAAAAAAAAAAAAAAAGUAAAAAAAAAAAAAAAUAAAA4AQAAYAEAAGgBAACgAQAAsAEA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAaQAAAAAAAAAAAAAACAAAADgBAABgAQAAaAEAAHAB
+AAB4AQAAgAEAAKABAACwAQAAAAAAAAAAAABqAAAAAAAAAAAAAAAGAAAAOAEAAGABAABo
+AQAAgAEAAKABAACwAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAEABiAFAAQAAuAEAABABSANQAQAAwgEAADABEAJAAQAAzgEAAAIAUAEBAEABBACg
+AAgAwAAgANAAuDwAAJg8AACqPAAAuDwAAJ48AAC4PAAAuDwAALg8AACkPAAAuDwAALg8
+AAC4PAAAuDwAALg8AAC4PAAAuDwAALg8AAC4PAAAuDwAALg8AAC4PAAAuDwAALg8AAC4
+PAAAuDwAALg8AAC4PAAAuDwAALg8AAC4PAAAuDwAALg8AACwPAAAij0AAJE9AAC8PQAA
+mD0AALw9AAC8PQAAvD0AALw9AACfPQAAvD0AAKY9AACtPQAAjBSgFLQUyBQAAHwVkBWk
+FbgVzBXgFfQVCBYcFjAWRBYAAAAAQAECAMwWAADWFgAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAYAE6AEABAADwFgAAMAEAAEABAAAAAAAAMAIAAEABAAAA
+AAAAMAMAAEABAAAAAAAAMAQAAEABAAAAAAAAMAUAAEABAAAAAAAAMAYAAEABAAAAAAAA
+MAoAAEABAAAAAAAAMAsAAEABAAAAAAAAMAwAAEABAAAAAAAAaABoAEABAAAAAAAAQAJD
+AEABAAAAAAAAQApDAKAAAAAAAAAAQApDAMAAAAAAAAAAQAFBAEABAAAAAAAAQApBAKAA
+AAAAAAAAQApBAMAAAAAAAAAAQABDAEEASABKAEsAAAAAAAAAAAAkAZgZACkRBAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAA4FUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAABH
+AAAACJgAAAAAAAAMmAAApo6ECRCYAAAA4DI9FJgAAGsHAAAcmAAAAAAAACCYAAAAAgIC
+JJgAAA4OAAAomAAAAQICCiyYAAD8bwMAMJgAAAAAAAA0mAAADg4AADiYAAAHAAAAPJgA
+AAABAgBAmAAAAABjiUSYAACcFnITSJgAADO2GABMmAAAPGGEElCYAADguOgNVJgAAFlI
+BwBYmAAAur6AflyYAABeZjoxYJgAAAgdAABkmAAAAM4BAGiYAACQQZpAcJgAAA8AAAB0
+mAAAgAAAAHiYAAAEAAAAAJkAAAAAAAAEmQAAAAAAAAiZAAAAAAAADJkAAAAAgAAQmQAA
+AwAAAACbAAAAAAAABJsAACAAAAAImwAAEAAAAAybAAAwAAAAEJsAAAgAAAAUmwAAKAAA
+ABibAAAoAAAAHJsAAAQAAAAgmwAAJAAAACSbAAAUAAAAKJsAADQAAAAsmwAADAAAADCb
+AAAsAAAANJsAAAIAAAA4mwAAIgAAADybAAASAAAAQJsAADIAAABEmwAACgAAAEibAAAq
+AAAATJsAAAEAAABQmwAAIQAAAFSbAAARAAAAWJsAADEAAABcmwAACQAAAGCbAAApAAAA
+ZJsAAAUAAABomwAAJQAAAGybAAAVAAAAcJsAADUAAAB0mwAADQAAAHibAAAtAAAAfJsA
+AAMAAACAmwAAIwAAAISbAAATAAAAiJsAADMAAACMmwAACwAAAJCbAAArAAAAlJsAAAcA
+AACYmwAAJwAAAJybAAAXAAAAoJsAADcAAACkmwAADwAAAKibAAAvAAAArJsAAC8AAACw
+mwAALwAAALSbAAAvAAAAuJsAAC8AAAC8mwAALwAAAMCbAAAvAAAAxJsAAC8AAADImwAA
+LwAAAMybAAAvAAAA0JsAAC8AAADUmwAALwAAANibAAAvAAAA3JsAAC8AAADgmwAALwAA
+AOSbAAAvAAAA6JsAAC8AAADsmwAALwAAAPCbAAAvAAAA9JsAAC8AAAD4mwAALwAAAPyb
+AAAvAAAAAJoAAB0AAAAEmgAAXQAAAAiaAACdAAAADJoAAN0AAAAQmgAAHQEAABSaAAAh
+AAAAGJoAAGEAAAAcmgAAoQAAACCaAADhAAAAJJoAADEAAAAomgAAcQAAACyaAACxAAAA
+MJoAABwAAAA0mgAAXAAAADiaAAApAAAAPJoAAGkAAABAmgAAqQAAAESaAAAgAAAASJoA
+ABkAAABMmgAAWQAAAFCaAACZAAAAVJoAADAAAABYmgAABQAAAFyaAAAlAAAAYJoAAGUA
+AABkmgAApQAAAGiaAAAoAAAAbJoAAGgAAABwmgAAHwAAAHSaAAAeAAAAeJoAABgAAAB8
+mgAAWAAAAICaAACYAAAAhJoAAAMAAACImgAABAAAAIyaAABEAAAAkJoAAIQAAACUmgAA
+EwAAAJiaAAASAAAAnJoAAFIAAACgmgAAkgAAAKSaAADSAAAAqJoAACsAAACsmgAAKgAA
+ALCaAABqAAAAtJoAAKoAAAC4mgAAGwAAALyaAAAaAAAAwJoAAFoAAADEmgAAmgAAAMia
+AADaAAAAzJoAAAYAAADQmgAABgAAANSaAAAGAAAA2JoAAAYAAADcmgAABgAAAOCaAAAG
+AAAA5JoAAAYAAADomgAABgAAAOyaAAAGAAAA8JoAAAYAAAD0mgAABgAAAPiaAAAGAAAA
+/JoAAAYAAADUmAAAIAAAAMyYAAAEAAAAyJgAAAYBBgCcmAAAbQAAAMCYAAAAAAAA0JgA
+ABQAAAAJCQAAAAAAAgIGBgYGBgYCAgAAAAMABgAJADwAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAADwAAAAzAAAAAAAAAAAAAAAAAAAAAriAAAAIAAACgIAAAEY
+AAABAAAAQBgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRXGQApEQQAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAANyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsCY8J
+tAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAEAAAABAAAAAAAAG
+AAAABgAAAAYAMAAAABUAAAAVAAAAHQAAABUAAABAEAAAD/wvAA/8LwAf/C8AD/wvAEQQ
+AAAP/C8AD/wvAB/8LwAP/C8ASBAAAA/8LwAP/C8AH/wvAA/8LwBMEAAAD/wvAA/8LwAf
+/C8AD/wvAFAQAAAP/C8AD/wvAB/8LwAP/C8AVBAAAA/8LwAP/C8AH/wvAA/8LwBYEAAA
+D/wvAA/8LwAf/C8AD/wvAFwQAAAP/C8AD/wvAB/8LwAP/C8AYBAAAA/8LwAP/C8AH/wv
+AA/8LwBkEAAAD/wvAA/8LwAf/C8AD/wvAHAQAABoAQAA4AEAALgBAABoAQAAMBAAADAC
+AADgAQAAsAAAADACAACwEAAAmA0AAIARAABIHwAAmA0AAPAQAADgoAAAaEABAIBYAADg
+oAAAFIAAAAAEAAQACAAIADAAIAAEAAQcgAAAp4+NDs+PjQ6Vj2ABp4+NDgSYAAAAAAAA
+AwAAAAAAAAAAAAAAIJgAAAACAgIAAgICAAIBAgACAgIkmAAADg4AAA4OAAAHBwAADg4A
+ACiYAAABAAIKAQACCgAAAQUBAAIKNJgAAA4OAAAODgAADg4AAA4OAAA4mAAABwAAAAcA
+AAALAAAACwAAAESYAACcFnITpRZyE6gWchOcFnITSJgAAGe6GABnuhgAaboYAGm6GABQ
+mAAA4LQoDOC0KAzgtCgM4LQoDFiYAAAuDYB+Lg2Afi4NwH4uDYB+XJgAAF5dNzFeXTcx
+Xl06MV5dNzFgmAAAEL0AABC9AAA4vQAAEL0AAGSYAAAAzgEAAM4BAADOAQAAzgEAFJkA
+ABAnAAAQJwAAfBUAABAnAAAYmQAAkAEAAJABAACEAAAAkAEAAESZAAAgEOBvIBDgbyAJ
+4G8gEOBvgKEAAP8U/wX/FP8F/xT/Bf8Z/wXUmAAAEAAAABQAAAAQAAAAEAAAAAAAAAAM
+AAAAAAAAACgAAACcnISELAAAAHx8fHw0AAAABQAAAEAAAAAAAAAARAAAAAgAAABIAAAA
+CAAAAEwAAAAQAAAAUAAAAAAAAABUAAAAHwAAAAAIAAAAAAAABAgAAAAAAAAICAAAAAAA
+AAwIAAAAAAAAEAgAAAAAAAAUCAAAAAAAABgIAAAAAAAAHAgAAAAAAAAgCAAAAAAAACQI
+AAAAAAAAMBIAAAAAAAAEgAAAAAAAAAiAAAAAAAAADIAAAAAAAAAYgAAAAAAAACSAAAAA
+AAAAKIAAADAAAAAsgAAA//8HADCAAAD///8BNIAAADEAAAA4gAAAAAAAADyAAAAAAAAA
+QIAAAAAAAABEgAAAAgAAAEiAAAAAAAAAVIAAAAAAAABYgAAAAAAAAAiYAAAAAAAADJgA
+AJOQhC0QmAAAAOAyfRSYAABrDwAAHJgAAAAAAAAsmAAA/m8CADCYAAAAAAAAPJgAAAAB
+AgBAmAAAegFqIEyYAAA8YYQSVJgAAFkIAABomAAAkEGaQGyYAACBsAwFcJgAAA8AAAB0
+mAAAgAAAAHiYAAAMAAAAAJkAAAAAAAAEmQAAAAAAAAiZAAAAAAAADJkAAAAAgAAQmQAA
+AQAAAByZAAAqCQAAIJkAAAAAAAAkmQAABYoFACiZAAABAAAALJkAAAAAAAAwmQAAAAAA
+ADSZAAAAAAAAOJkAAAAAAAA8mQAAPwAAAECZAAAEAAAASJkAAAAAAABMmQAAAAAAAFCZ
+AAAAAAAAVJkAAEzxUF1YmQAAGAAAAFyZAACOaksAhKEAAP8F/waIoQAA/wf/B4yhAAD/
+CP8IkKEAAP8J/wmUoQAA/wr/CpihAAD/C/8LnKEAAP8M/wygoQAA/w3/DaShAAD/Dv8P
+qKEAAP8S/xKsoQAA/xP/FLChAAD/Ff8WtKEAAP8X/xm4oQAA/xr/G7yhAAD/Hf8ewKEA
+AP8g/yPEoQAA/yX/J8ihAAD/Kf8szKEAAP8v/zHQoQAA/zT/N9ShAAD/Ov862KEAAP86
+/zrcoQAA/zr/OuChAAD/Ov865KEAAP86/zrooQAA/zr/OuyhAAD/Ov868KEAAP86/zr0
+oQAA/zr/OvihAAD/Ov86/KEAAP86/zoAmwAAAAAAAASbAAAgAAAACJsAABAAAAAMmwAA
+MAAAABCbAAAIAAAAFJsAACgAAAAYmwAABAAAABybAAAkAAAAIJsAABQAAAAkmwAANAAA
+ACibAAAMAAAALJsAACwAAAAwmwAAAgAAADSbAAAiAAAAOJsAABIAAAA8mwAAMgAAAECb
+AAAKAAAARJsAACoAAABImwAABgAAAEybAAAmAAAAUJsAABYAAABUmwAANgAAAFibAAAO
+AAAAXJsAAC4AAABgmwAAAQAAAGSbAAAhAAAAaJsAABEAAABsmwAAMQAAAHCbAAAJAAAA
+dJsAACkAAAB4mwAABQAAAHybAAAlAAAAgJsAABUAAACEmwAANQAAAIibAAANAAAAjJsA
+AC0AAACQmwAAAwAAAJSbAAAjAAAAmJsAABMAAACcmwAAMwAAAKCbAAALAAAApJsAACsA
+AAComwAAKwAAAKybAAArAAAAsJsAACsAAAC0mwAAKwAAALibAAArAAAAvJsAACsAAADA
+mwAAKwAAAMSbAAArAAAAyJsAACsAAADMmwAAKwAAANCbAAArAAAA1JsAACsAAADYmwAA
+KwAAANybAAArAAAA4JsAACsAAADkmwAAKwAAAOibAAArAAAA7JsAACsAAADwmwAAKwAA
+APSbAAArAAAA+JsAAAIAAAD8mwAAFgAAANSYAAAgAAAA2JgAAGgQYAAAAAAAAAAAAACa
+AACpAQAAAAAAAASaAADpAQAAQAAAAAiaAAApAAAAgAAAAAyaAABpAAAAUAEAABCaAACZ
+AQAAkAEAABSaAADZAQAA0AEAABiaAAAZAAAAEAAAAByaAABZAAAARAAAACCaAACZAAAA
+hAAAACSaAAClAQAASAEAACiaAADlAQAAiAEAACyaAAAlAAAAyAEAADCaAADIAQAAFAAA
+ADSaAAAIAAAAQgAAADiaAABIAAAAggAAADyaAACIAAAAeAEAAECaAACYAQAAuAEAAESa
+AADYAQAA+AEAAEiaAAAYAAAAEgAAAEyaAABYAAAAUgAAAFCaAACYAAAAkgAAAFSaAACk
+AQAAfAEAAFiaAADkAQAAvAEAAFyaAAAkAAAA/AEAAGCaAABkAAAACgAAAGSaAACkAAAA
+SgAAAGiaAADkAAAAigAAAGyaAAAKAQAAWgEAAHCaAABKAQAAmgEAAHSaAACKAQAA2gEA
+AHiaAADKAQAADgAAAHyaAAAKAAAATgAAAICaAABKAAAAjgAAAISaAACKAAAAXgEAAIia
+AAC6AQAAngEAAIyaAAD6AQAA3gEAAJCaAAA6AAAACQAAAJSaAAB6AAAASQAAAJiaAACG
+AQAAiQAAAJyaAADGAQAAeQEAAKCaAAAGAAAAuQEAAKSaAABGAAAA+QEAAKiaAACGAAAA
+OQAAAKyaAADGAAAAeQAAALCaAADGAAAAuQAAALSaAADGAAAAvQEAALiaAADGAAAA/QEA
+ALyaAADGAAAAPQAAAMCaAADGAAAAfQAAAMSaAADGAAAAvQAAAMiaAADGAAAA/QAAAMya
+AADGAAAA/QAAANCaAADGAAAA/QAAANSaAADGAAAA/QAAANiaAADGAAAA/QAAANyaAADG
+AAAA/QAAAOCaAADGAAAA/QAAAOSaAADGAAAA/QAAAOiaAADGAAAA/QAAAOyaAADGAAAA
+/QAAAPCaAADGAAAA/QAAAPSaAADGAAAA/QAAAPiaAADGAAAA/QAAAPyaAADGAAAA/QAA
+AAEAAABGAAAAYAAAAAEAAABGAAAAYQAAAAEAAABGAAAAYgAAAAEAAABGAAAAYwAAAAEA
+AABGAAAAZAAAAAEAAABGAAAAZQAAAAEAAABGAAAAZgAAAAEAAABGAAAAZwAAAAEAAABG
+AAAAaAAAAAEAAABGAAAAaQAAAAEAAABGAAAAagAAAAEAAABGAAAAawAAAAEAAABGAAAA
+bAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAA
+AAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEA
+AABGAAAAdQAAAAEAAABGAAAAdgAAAAEAAABGAAAAdwAAAAEAAABGAAAAeAAAAAEAAABG
+AAAAeQAAAAEAAABGAAAAegAAAAEAAABGAAAAewAAAAEAAABGAAAAfAAAAAEAAABGAAAA
+fQAAAAEAAABGAAAAfgAAAAEAAABGAAAAfwAAAAEAAABGAAAAgAAAAAEAAABEAAAAfAAA
+AAEAAABGAAAAiAAAAAEAAABGAAAAjAAAAAEAAABGAAAAkAAAAAEAAABGAAAAlAAAAAEA
+AABGAAAAmAAAAAEAAABGAAAAnAAAAAEAAABGAAAAoAAAAAEAAABGAAAApAAAAAEAAABG
+AAAAqAAAAAEAAABGAAAArAAAAAEAAABGAAAAsAAAAAEAAABGAAAAtAAAAAACBwAAAAMA
+BgAJADwAAABjuwAAY7sAAI27AACNuwAAt7sAALe7AADhuwAA4bsAAAAAAAAAAAAACQAA
+AAQAAAAEAAEAAQABAAYAAABGRzgAAAAAAAAAAAAAAAAABAAAAAEAAQAEAAAARkc3AAAA
+AAAAAAAAAAAAAAMAAQABAAEAAwAAAEZHNgAAAAAAAAAAAAAAAAAEAAAAAAABAAEAAABG
+RzUAAAAAAAAAAAAAAAAABAABAAEAAAAAAAAARkc0AAAAAAAAAAAAAAAAAAQAAAABAAAA
+/v///0ZHMwAAAAAAAAAAAAAAAAADAAEAAQAAAP3///9GRzIAAAAAAAAAAAAAAAAABAAA
+AAAAAAD8////RkcxAAAAAAAAAAAAAAAAAAIAAQABAAAA+v///0ZHMAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBBUGQApEQQAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsCY8JtAkICWwJtAnJ
+////yf///8n////J////wv////L////y////8v////L////0////wP///8D////A////
+wP///7r///+y////sv///7L///+y////sP///y3iAADm4QAA8+EAAGziAAAM4gAAX+IA
+AAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAEAAAABAAAAAAAAGAAAABgAAAAYAfO8AANDu
+AAAO7wAAHe8AACTvAAAz7wAAfO8AAHzvAAB87wAAfO8AAHzvAAB87wAAfO8AAHzvAAB8
+7wAAfO8AAFrvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAAAA/8LwAP/C8A
+H/wvAA/8LwAP/C8ARBAAAA/8LwAP/C8AH/wvAA/8LwAP/C8ASBAAAA/8LwAP/C8AH/wv
+AA/8LwAP/C8ATBAAAA/8LwAP/C8AH/wvAA/8LwAP/C8AUBAAAA/8LwAP/C8AH/wvAA/8
+LwAP/C8AVBAAAA/8LwAP/C8AH/wvAA/8LwAP/C8AWBAAAA/8LwAP/C8AH/wvAA/8LwAP
+/C8AXBAAAA/8LwAP/C8AH/wvAA/8LwAP/C8AYBAAAA/8LwAP/C8AH/wvAA/8LwAP/C8A
+ZBAAAA/8LwAP/C8AH/wvAA/8LwAP/C8AMBAAADACAADgAQAAsAAAAGABAADgAQAAcBAA
+AGgBAADgAQAAuAEAAIwBAADgAQAAsBAAAGAOAACAEQAAHB8AADg+AACAEQAA8BAAAOCg
+AABoQAEAgFgAAOCwAABoQAEAFIAAAOgD6APgBuAGIAQgBEAIQAjgBuAGBJgAAAAAAAAD
+AAAAAAAAAAAAAAADAAAAIJgAAAACAgIAAgICAAIBAgACAgIAAgICJJgAAA4OAAAODgAA
+BwcAAA4OAAAODgAARJgAABwWchMlHHITKBdyE6IWchMlHHITYJgAABCdAAAQnQAAGJ0A
+ABidAAAQnQAAZJgAAADOAQAAzgEAAM4BAADOAQAAzgEAaJgAAJBBmkCQQZpAkEGaQJBB
+mkCQQZpAGJkAALgBAAC4AQAAhAAAAAgBAAC4AQAAJJkAAAWKBRAFigUQBYoFEAWKBRAF
+igUQMKIAAAAAAAAAAAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAMAAAAAAAAADQAAAAFAAAA
+QAAAAAAAAABEAAAACAAAAEgAAAAIAAAATAAAABAAAABQAAAAAAAAAFQAAAAfAAAAAAgA
+AAAAAAAECAAAAAAAAAgIAAAAAAAADAgAAAAAAAAQCAAAAAAAABQIAAAAAAAAGAgAAAAA
+AAAcCAAAAAAAACAIAAAAAAAAJAgAAAAAAABwEgAAAAAAADgQAAAAAAAAeBAAAAAAAAC4
+EAAAAAAAAPgQAAAAAAAAOBEAAAAAAAB4EQAAAAAAALgRAAAAAAAA+BEAAAAAAAA4EgAA
+AAAAAHgSAAAAAAAAuBIAAAAAAAD4EgAAAAAAADgTAAAAAAAAeBMAAAAAAAC4EwAAAAAA
+APgTAAAAAAAAOBQAAAAAAAB4FAAAAAAAALgUAAAAAAAA+BQAAAAAAAA4FQAAAAAAAHgV
+AAAAAAAAuBUAAAAAAAD4FQAAAAAAADgWAAAAAAAAeBYAAAAAAAC4FgAAAAAAAPgWAAAA
+AAAAOBcAAAAAAAB4FwAAAAAAALgXAAAAAAAA+BcAAAAAAAA8EAAAAAAAAHwQAAAAAAAA
+vBAAAAAAAAD8EAAAAAAAADwRAAAAAAAAfBEAAAAAAAC8EQAAAAAAAPwRAAAAAAAAPBIA
+AAAAAAB8EgAAAAAAALwSAAAAAAAA/BIAAAAAAAA8EwAAAAAAAHwTAAAAAAAAvBMAAAAA
+AAD8EwAAAAAAADwUAAAAAAAAfBQAAAAAAAAEgAAAAAAAAAiAAAAAAAAADIAAAAAAAAAY
+gAAAAAAAACCAAAAAAAAAJIAAAAAAAAAogAAAMAAAACyAAAD//wcAMIAAAP///wE0gAAA
+MQAAADiAAAAAAAAAPIAAAAAAAABIgAAAAAAAAFSAAAAAAAAAWIAAAAAAAABcgAAA/8f/
+/8CAAAAaMIIqxIAAAOAB3AXIgAAAECdAH8yAAAAAAPQB0IAAABweAADUgAAAqqoCANiA
+AABVVQAC3IAAAAAAAADggAAA/////+SAAAD//wAA6IAAAAAAAADsgAAAAAAAAPCAAAAA
+AAAA9IAAAAAAAAD4gAAAAAAAAPyAAACIAAAAAIcAAAAAAAAEhwAAjAAAAAiHAADkAAAA
+DIcAANUCAAAQhwAAAAAAABSHAAAAAAAAGIcAAKAAAAAchwAAyQEAACCHAAAsAAAAJIcA
+ACwAAAAohwAAMAAAACyHAAA8AAAAMIcAACwAAAA0hwAALAAAADiHAAAwAAAAPIcAADwA
+AABAhwAAAAAAAESHAAAAAAAASIcAAAAAAABMhwAAAAAAAFCHAAAAAAAAVIcAAAAAAABY
+hwAAAAAAAFyHAAAAAAAAYIcAANUAAABkhwAA3wAAAGiHAAACAQAAbIcAADoBAABwhwAA
+dQAAAHSHAAB/AAAAeIcAAKIAAAB8hwAAAAAAAACBAAACAAEABIEAAAEAAAAIgQAAwAAA
+AAyBAAAAAAAAEIEAAGgBAAAUgQAAAAAAAMCHAAAAAQIDxIcAAAQFBgfIhwAACAkKC8yH
+AAAMDQ4P0IcAABAREhPUhwAAFBUWF9iHAAAYGRob3IcAABwdHh/ghwAAAAECA+SHAAAE
+BQYH6IcAAAgJCgvshwAADA0OD/CHAAAQERIT9IcAABQVFhf4hwAAGBkaG/yHAAAcHR4f
+CJgAAAAAAAAMmAAAGY6ErRCYAAAA4Ch9FJgAAGufCpwcmAAAAAAAAECYAAB6AWogVJgA
+AFkIAAAAmQAAAAAAAASZAAAAAAAACJkAAAAAAAAMmQAAAACAABCZAAABAAAAHJkAAIAM
+AAAgmQAAAAAQBSiZAAABAAAALJkAAAQAAAA0mQAAIiAfHjiZAAANDAsKPJkAAD8AAABI
+mQAAErKAklSZAACI4VBdWJkAAP8AAABcmQAAjmpLAGiZAADOAwAAcJkAABW1Lxl4mQAA
+AQAAAHyZAAAAAAAAEKIAADNjgAAUogAAEGwQABiiAABgQJwAIKIAAMYwiAEkogAAAAQA
+ACyiAAAAAAAANKIAACAgICA4ogAAICAgIECiAAAgCkk4RKIAALZ7AABIogAA/D//DwCb
+AAAAAAAAKJsAAAwAAAA4mwAAEgAAAGSbAAAhAAAAjJsAAC0AAACcmwAAMwAAAAAAAwAG
+AAkAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAABAAAAAQAAQABAAEA
+AAAAAAAAAAAGAAAARkc4AAAAAAAAAAAAAAAAAAQAAAABAAEAAAAAAAAAAAAEAAAARkc3
+AAAAAAAAAAAAAAAAAAMAAQABAAEAAAAAAAAAAAADAAAARkc2AAAAAAAAAAAAAAAAAAQA
+AAAAAAEAAAAAAAAAAAABAAAARkc1AAAAAAAAAAAAAAAAAAQAAQABAAAAAAAAAAAAAAAA
+AAAARkc0AAAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAAAAAD+////RkczAAAAAAAAAAAA
+AAAAAAMAAQABAAAAAAAAAAAAAAD9////RkcyAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAA
+AAAAAAD8////RkcxAAAAAAAAAAAAAAAAAAIAAQABAAAAAAAAAAAAAAD6////RkcwAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAIAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAGAAAARkc3AAAAAAAAAAAA
+AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAARkc2AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAA
+AAAAAAD9////Rkc1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6////Rkc0AAAA
+AAAAAAAAAAAAAAAAAQABAAAAAAAAAAAAAAD4////RkczAAAAAAAAAAAAAAAAAAAAAQAB
+AAAAAQABAAAAAAD2////RkcyAAAAAAAAAAAAAAAAAAAAAQAAAAEAAQABAAAAAADz////
+RkcxAAAAAAAAAAAAAAAAAAAAAQAAAAEAAQAAAAEAAADw////RkcwAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAgAAAAKAAAADAAAAA4AAAAQ
+AAAAYC8BAForAQBELAEA+y0BAGUuAQDoLgEAYXI1MjEyQW5pUG9sbAAAAAAAAAAAAAAA
+MAAAABWAAAAVgAAAFYAAABWAAAAVgAAAHIAAAKePjRLPD4gJlQ/gBKsP4BLPD4gJKJgA
+AAEAAgoBAAIKAAEBBQEAAgoBAAIKNJgAAA4OAAAODgAADg4AAA4OAAAODgAAOJgAAAcA
+AAAHAAAACwAAAAsAAAALAAAASJgAAFraGABa2hgAacoYAGnKGABpyhgAUJgAAOC06A3g
+tOgN4LToDeC06A3gtOgNWJgAAC4NgH4uDYB+Lk3ofi5N6H4uDYB+XJgAAF5mNzFeZjcx
+XmY3MV5mNzFeYTcxbJgAAIGwDAWBsAwFgbAMBYCwDAWAsAwFFJkAABAnAAAQJwAAfBUA
+APgqAAAQJwAARJkAACAQuPcgELj3IA249yAQuPcgELj3DKIAAGpBLGRqQSxkakFAZGpB
+QGRqQUBkHKIAAAqAgxgKgIMYCoBzGAqAgxgKgIMYAAAAAAAAAAAAAAAAAAAAADASAAAA
+AAAALJgAAP4vAgA8mAAAAAECAEyYAAA8YYQSMJkAAINIAABAmQAABAAAAHSZAAAAAAAA
++JkAABgAAAAEogAAAAAAAAiiAACIZz7QKKIAALUBAAA8ogAAr4nIEwSbAAAgAAAACJsA
+ABAAAAAMmwAAMAAAABCbAAAIAAAAFJsAACgAAAAYmwAABAAAABybAAAkAAAAIJsAABQA
+AAAkmwAANAAAACybAAAsAAAAMJsAAAIAAAA0mwAAIgAAADybAAAyAAAAQJsAAAoAAABE
+mwAAKgAAAEibAAAGAAAATJsAACYAAABQmwAAFgAAAFSbAAA2AAAAWJsAAA4AAABcmwAA
+LgAAAGCbAAABAAAAaJsAABEAAABsmwAAMQAAAHCbAAAJAAAAdJsAACkAAAB4mwAABQAA
+AHybAAAlAAAAgJsAABUAAACEmwAANQAAAIibAAANAAAAkJsAAAMAAACUmwAAIwAAAJib
+AAATAAAAoJsAAAsAAACkmwAAKwAAAKibAAArAAAArJsAACsAAACwmwAAKwAAALSbAAAr
+AAAAuJsAACsAAAC8mwAAKwAAAMCbAAArAAAAxJsAACsAAADImwAAKwAAAMybAAArAAAA
+0JsAACsAAADUmwAAKwAAANibAAArAAAA3JsAACsAAADgmwAAKwAAAOSbAAArAAAA6JsA
+ACsAAADsmwAAKwAAAPCbAAArAAAA9JsAACsAAAD4mwAAAgAAAPybAAAWAAAAAAAAAAAA
+AAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyY
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAADgAAAA4AAAAOAAAADgAAAA4AJyYAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAA
+AMAAAACAAAAAgAAAAJyYAAD5AAQA+QAEAP8ABAD9AAQA/QAEANSYAAAAAAAAAAAAAAQA
+AAAEAAAABAAAAAAAAAAAAAAAAJoAAKkBAAAAAAAABJoAAOkBAABAAAAACJoAACkAAACA
+AAAADJoAAGkAAABQAQAAEJoAAJkBAACQAQAAFJoAANkBAADQAQAAGJoAABkAAAAQAAAA
+HJoAAFkAAABEAAAAIJoAAJkAAACEAAAAJJoAAKUBAABIAQAAKJoAAOUBAACIAQAALJoA
+ACUAAADIAQAAMJoAAMgBAAAUAAAANJoAAAgAAABCAAAAOJoAAEgAAACCAAAAPJoAAIgA
+AAB4AQAAQJoAAJgBAAC4AQAARJoAANgBAAD4AQAASJoAABgAAAASAAAATJoAAFgAAABS
+AAAAUJoAAJgAAACSAAAAVJoAAKQBAAB8AQAAWJoAAOQBAAC8AQAAXJoAACQAAAD8AQAA
+YJoAAGQAAAAKAAAAZJoAAKQAAABKAAAAaJoAAOQAAACKAAAAbJoAAAoBAABaAQAAcJoA
+AEoBAACaAQAAdJoAAIoBAADaAQAAeJoAAMoBAAAOAAAAfJoAAAoAAABOAAAAgJoAAEoA
+AACOAAAAhJoAAIoAAABeAQAAiJoAALoBAACeAQAAjJoAAPoBAADeAQAAkJoAADoAAAAJ
+AAAAlJoAAHoAAABJAAAAmJoAAIYBAACJAAAAnJoAAMYBAAB5AQAAoJoAAAYAAAC5AQAA
+pJoAAEYAAAD5AQAAqJoAAIYAAAA5AAAArJoAAMYAAAB5AAAAsJoAAMYAAAC5AAAAtJoA
+AMYAAAC9AQAAuJoAAMYAAAD9AQAAvJoAAMYAAAA9AAAAwJoAAMYAAAB9AAAAxJoAAMYA
+AAC9AAAAyJoAAMYAAAD9AAAAzJoAAMYAAAD9AAAA0JoAAMYAAAD9AAAA1JoAAMYAAAD9
+AAAA2JoAAMYAAAD9AAAA3JoAAMYAAAD9AAAA4JoAAMYAAAD9AAAA5JoAAMYAAAD9AAAA
+6JoAAMYAAAD9AAAA7JoAAMYAAAD9AAAA8JoAAMYAAAD9AAAA9JoAAMYAAAD9AAAA+JoA
+AMYAAAD9AAAA/JoAAMYAAAD9AAAA1JgAACAAAADUmAAAEAAAABQAAAAQAAAAEAAAABQA
+AADYmAAAaBBgAGgQYABoEGAAaBBgAGgQYAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AJyYAAAAAAAQAAAAEAAAABAAAAAQAAAAEJyYAAAAAAAEAAAABAAAAAQAAAAEAAAABJyY
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAoAAAAAAAAAAJyYAADAADgA
+gAA4AMAAOALAADgAwAA4AJyYAAAGAAIABgACAAYAAAAGAAIABgACAJyYAACJAAAAiQAA
+AIkAAACJAAAAiQAAAJyYAACgAAAAoAAAAKAAAACgAAAAoAAAAJyYAAAHAAQABwAEAAcA
+BAAHAAQABwAEANSYAAAaAAAAGgAAABoAAAAaAAAAGgAAAAAAAAAAAAAAnJgAAEAAAABI
+AAAAQAAAAEAAAABAAAAAnJgAABAAAAAQAAAAEAAAABAAAAAQAAAAnJgAAAgAAAAIAAAA
+CAAAAAgAAAAIAAAAnJgAAE8AAABPAAAATwAAAE8AAABPAAAAnJgAAPEAAADxAAAAYQAA
+APEAAADxAAAAnJgAAE+QAABPkAAATJAAAE+QAABPkAAAnJgAAFoSAABaEgAAmhIAAFoS
+AABaEgAAzJgAAA4AAAAOAAAADwAAAA4AAAAOAAAAAQAAAEYAAABgAAAAAQAAAEYAAABh
+AAAAAQAAAEYAAABiAAAAAQAAAEYAAABjAAAAAQAAAEYAAABkAAAAAQAAAEYAAABlAAAA
+AQAAAEYAAABmAAAAAQAAAEYAAABnAAAAAQAAAEYAAABoAAAAAQAAAEYAAABpAAAAAQAA
+AEYAAABqAAAAAQAAAEYAAABrAAAAAQAAAEYAAABsAAAAAQAAAEYAAAB0AAAAAQAAAEYA
+AAB0AAAAAQAAAEYAAAB0AAAAAQAAAEYAAAB0AAAAAQAAAEYAAAB0AAAAAQAAAEYAAAB0
+AAAAAQAAAEYAAAB0AAAAAQAAAEYAAAB0AAAAAQAAAEYAAAB1AAAAAQAAAEYAAAB2AAAA
+AQAAAEYAAAB3AAAAAQAAAEYAAAB4AAAAAQAAAEYAAAB5AAAAAQAAAEYAAAB6AAAAAQAA
+AEYAAAB7AAAAAQAAAEYAAAB8AAAAAQAAAEYAAAB9AAAAAQAAAEYAAAB+AAAAAQAAAEYA
+AAB/AAAAAQAAAEYAAACAAAAAAQAAAEQAAAB8AAAAAQAAAEYAAACIAAAAAQAAAEYAAACM
+AAAAAQAAAEYAAACQAAAAAQAAAEYAAACUAAAAAQAAAEYAAACYAAAAAQAAAEYAAACcAAAA
+AQAAAEYAAACgAAAAAQAAAEYAAACkAAAAAQAAAEYAAACoAAAAAQAAAEYAAACsAAAAAQAA
+AEYAAACwAAAAAQAAAEYAAAC0AAAAlToBAHg6AQB8OgEAgDoBAJA6AQCQOgEAhDoBAIg6
+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAFYAAABWAAAAVgAAAFYAAABWAAAAc
+gAAAp5ONEs8TiAmVE+AEqxPgEs8TiAkomAAAAQACCgEAAgoAAQIFAQACCgEAAgo0mAAA
+Dg4AAA4OAAAODgAADg4AAA4OAAA4mAAABwAAAAcAAAALAAAACwAAAAsAAABImAAAbdoY
+AG3aGAB1yhgAdcoYAHXKGABQmAAA4LToDeC06A3gtOgN4LToDeC06A1YmAAALg2Afi4N
+gH4uDeh+Lg3ofi4NgH5cmAAAXmY3MV5mNzFeZjcxXmY3MV5mNzFsmAAAgbAMBYGwDAWB
+sAwFgbAMBYGwDAUUmQAA0AcAANAHAABMBAAAmAgAANAHAABEmQAAIBC49yAQuPcQDbj3
+EBC49xAQuPcEogAAAAAAAAAAAAAIAAAACAAAAAgAAAAIogAAiGe+1ohnvtaIZz7QiGc+
+0IhnPtAMogAAQAEsZEABLGRgwUJkYMFCZGDBQmQcogAACoCDGAqAgxgKgHMYCoCDGAqA
+gxgwEgAAAAAAACyYAAD+LwIAPJgAAAABAgBMmAAAPGGEEjCZAACCSAAAQJkAAAQAAAB0
+mQAAAAAAACiiAAC1AQAAPKIAAK+JyBMEmwAAAQAAAAibAAACAAAADJsAAAMAAAAQmwAA
+BAAAABSbAAAFAAAAGJsAAAgAAAAcmwAACQAAACCbAAAKAAAAJJsAAAsAAAAsmwAADQAA
+ADCbAAAQAAAANJsAABEAAAA8mwAAEwAAAECbAAAUAAAARJsAABUAAABImwAAGAAAAEyb
+AAAZAAAAUJsAABoAAABUmwAAGwAAAFibAAAcAAAAXJsAAB0AAABgmwAAIAAAAGibAAAi
+AAAAbJsAACMAAABwmwAAJAAAAHSbAAAlAAAAeJsAACgAAAB8mwAAKQAAAICbAAAqAAAA
+hJsAACsAAACImwAALAAAAJCbAAAwAAAAlJsAADEAAACYmwAAMgAAAKCbAAA0AAAApJsA
+ADUAAAComwAANQAAAKybAAA1AAAAsJsAADUAAAC0mwAANQAAALibAAA1AAAAvJsAADUA
+AADAmwAANQAAAMSbAAA1AAAAyJsAADUAAADMmwAANQAAANCbAAA1AAAA1JsAADUAAADY
+mwAANQAAANybAAA1AAAA4JsAADUAAADkmwAANQAAAOibAAA1AAAA7JsAADUAAADwmwAA
+NQAAAPSbAAA1AAAA+JsAABAAAAD8mwAAGgAAAAAAAAAAAAAAAJoAAAcAAAAHAAAABJoA
+AEcAAABHAAAACJoAAIcAAACHAAAADJoAAKABAACgAQAAEJoAAOABAADgAQAAFJoAACAA
+AAAgAAAAGJoAAGAAAABgAAAAHJoAAKEBAAChAQAAIJoAAOEBAADhAQAAJJoAACEAAAAh
+AAAAKJoAAGEAAABhAAAALJoAAGIBAABiAQAAMJoAAKIBAACiAQAANJoAAOIBAADiAQAA
+OJoAACIAAAAiAAAAPJoAAGIAAABiAAAAQJoAAGMBAABjAQAARJoAAKMBAACjAQAASJoA
+AOMBAADjAQAATJoAACMAAAAjAAAAUJoAAGMAAABjAAAAVJoAAIQBAACEAQAAWJoAAMQB
+AADEAQAAXJoAAAQAAAAEAAAAYJoAAOoBAAALAAAAZJoAACoAAABLAAAAaJoAAGoAAACL
+AAAAbJoAAKoAAACsAQAAcJoAAKsBAADsAQAAdJoAAOsBAAAsAAAAeJoAACsAAAASAAAA
+fJoAAGsAAABSAAAAgJoAAKsAAACSAAAAhJoAAKwBAACTAQAAiJoAAOwBAADTAQAAjJoA
+ACwAAAATAAAAkJoAADoAAABTAAAAlJoAAHoAAACTAAAAmJoAALoAAACUAQAAnJoAALsB
+AADUAQAAoJoAAPsBAAAUAAAApJoAADsAAAA6AAAAqJoAAHsAAAB6AAAArJoAALsAAAC6
+AAAAsJoAALwBAAC7AQAAtJoAAPwBAAD7AQAAuJoAADwAAAA7AAAAvJoAAHwAAAB7AAAA
+wJoAALwAAAC7AAAAxJoAAPwAAAC8AQAAyJoAAPwAAAD8AQAAzJoAAPwAAAA8AAAA0JoA
+APwAAAB8AAAA1JoAAPwAAAC8AAAA2JoAAPwAAAD8AAAA3JoAAPwAAAD8AAAA4JoAAPwA
+AAD8AAAA5JoAAPwAAAD8AAAA6JoAAPwAAAD8AAAA7JoAAPwAAAD8AAAA8JoAAPwAAAD8
+AAAA9JoAAPwAAAD8AAAA+JoAAPwAAAD8AAAA/JoAAPwAAAD8AAAA1JgAACAAAADQmAAA
+CAQGAwgEBwMIBAYDCAQGAwgEBwPcmAAAwMCgAMDAoADAwOAAwMDgAMDA4AAAAAAAAAAA
+AJyYAAAAAAAPAAAADwAAAA8AAAAPAAAAD5yYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyY
+AAAAAIAAAACAAAAAgAAAAIAAAACAAJyYAAAAACoAAAAqAAAAKgAAACoAAAAqAJyYAAAA
+AAEAAAABAAAAAQAAAAEAAAABAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAABgA
+AAAYAAAAGAAAABgAAAAYAJyYAAAAAGAAAABgAAAAbgAAAG4AAABuAJyYAAAAAMcAAADH
+AAAAxwAAAMcAAADHAJyYAAAAAEsAAABLAAAASwAAAEsAAABLAJyYAAAAAEgEAABIBAAA
+SAQAAEgEAABIBJyYAAAAAEwAAABMAAAATAAAAEwAAABMAJyYAAAAAOQAAADkAAAA5AAA
+AOQAAADkAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAPwAAAD8AAAA/AAAAPwA
+AAD8AJyYAAAAAP8AAAD/AAAA/wAAAP8AAAD/AJyYAAAAAD8EAAA/BAAAPwQAAD8EAAA/
+BJyYAAAAAAwAAAAMAAAADAAAAAwAAAAMAJyYAAAAABkCAAAZAgAAGQIAABkCAAAZApyY
+AAAAACQAAAAkAAAAJAAAACQAAAAkAJyYAAAAALQAAAC0AAAAtAAAALQAAAC0AJyYAAAA
+AJkAAACZAAAAmQAAAJkAAACZAJyYAAAAAFAAAABQAAAAUAAAAFAAAABQAJyYAAAAACoA
+AAAqAAAAKgAAACoAAAAqAJyYAAAAABIAAAASAAAAEgAAABIAAAASAJyYAAAAADLAAAAy
+wAAAMsAAADLAAAAywJyYAAAAAHQBAAB0AQAAdAEAAHQBAAB0AZyYAAAAABEAAAARAAAA
+EQAAABEAAAARAJyYAAAAACiGAAAohgAAKIYAACiGAAAohpyYAAAAAIQxAACEMQAAhDEA
+AIQxAACEMZyYAACAAPIAgADyAIAA8gCAAPIAgADyAJyYAAAZACcAGQAnABkAJwAZACcA
+GQAnAJyYAAADAAAAAwAAAAMAAAADAAAAAwAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AJyYAACyAAAAsgAAALIAAACyAAAAsgAAAJyYAACEILAAhCCwAIQgsACEILAAhCCwAJyY
+AACkJUEApCVBAKQlQQCkJUEApCVBAJyYAAAgkhEAIJIRACCSEQAgkhEAIJIRAJyYAAAA
+SBoAAEgaAABIGgAASBoAAEgaANiYAAAwAgsAMAILADACCwAwAgsAMAILAJyYAACUAAAA
+lAAAAJQAAACUAAAAlAAAAJyYAACRAAAAkQAAAJEAAACRAAAAkQAAAJyYAAASAAAAEgAA
+ABIAAAASAAAAEgAAAJyYAACAAAAAgAAAAIAAAACAAAAAgAAAAJyYAADZAAAA2QAAANkA
+AADZAAAA2QAAAJyYAABgAAAAYAAAAGAAAABgAAAAYAAAAJyYAADwAAAA8AAAAPAAAADw
+AAAA8AAAAJyYAACiAAAAogAAAKIAAACiAAAAogAAAJyYAABSAAAAUgAAAFIAAABSAAAA
+UgAAAJyYAADUAAAA1AAAANQAAADUAAAA1AAAAJyYAADMFAAAzBQAAMwUAADMFAAAzBQA
+AJyYAACMBAAAjAQAAIwEAACMBAAAjAQAAMSYAAADAAAAAwAAAAMAAAADAAAAAwAAAOhK
+AQDtSgEA1EoBANhKAQDoSgEA6EoBANxKAQDgSgEAAAAAAAAAAAAwAAAAFQAAABUAAAAV
+AAAAFQAAABUAAAAcgAAAp5ONEs8TiAmVE+AEqxPgEs8TiAkomAAAAQACCgEAAgoAAAIF
+AQACCgEAAgo0mAAAAA4AAAAOAAAADgAAAA4AAAAOAAA4mAAAAgAAAAIAAAAKAAAACgAA
+AAoAAABImAAAbdoYAG3aGABkahoAZGoaAGRqGgBQmAAA4LToDeC06A3asOgN2rCYDNqw
+6A1YmAAALg2Afi4NgH4uDeh+Lg3Ifi4NgH5cmAAAXmY3MV5mNzFeZjcxXmA5MV5mNzFs
+mAAAgbAMBYGwDAWBsAwFgbAMBYGwDAUUmQAA0AcAANAHAABMBAAAmAgAANAHAABEmQAA
+ABC49wAQuPcADbj3ABC49wAQuPcEogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIogAAiGe+
+1ohnvtaIZz7QiGc+0IhnPtAMogAAQAEsAEABLABAwUIAQMFCAEDBQgAcogAACoCDGAqA
+gxgKgGMYCoCDGAqAgxgwEgAA4AMAAGCAAAAPAAAAGIEAAAAAAAAcgQAAAAAAACCBAAAA
+AAAAJIEAAAAAAAAogQAAAAAAACyBAAAAAAAAMIEAAAAAAAA0gQAAAAAAADiBAAAAAAAA
+PIEAAAAAAABAgQAAqAAAgESBAAAAAAAALJgAAACgAAA8mAAAAAQgAEyYAAA8I4QScJgA
+AB8AAAB0mAAAgAAAAHiYAAAOAAAAgJkAAAAAAACEmQAAAACAAqCZAAAAAAAA4JkAAAAA
+AADkmQAAqqqqquiZAAB4ZEY87JkAAKoAAADwmQAADAAAAPSZAAD/AAAA+JkAABQAAAAo
+ogAAtQkAADyiAACviciTTKIAAAEAAABQogAAAKAAAFSiAAAAAAAAWKIAAIBTxwxcogAA
+AQ8PD2CiAAABD2lfZKIAABGKQQBoogAAAAAAAGyiAABqwTAMcKIAACAIggB0ogAAqnwb
+AHiiAADOOeccfKIAAM4BFwUAowAAAAABGASjAAACJgMwCKMAAAY+B0gMowAACkwLVhCj
+AAAPYBpkFKMAABtuT3gYowAAWnyPhhyjAABbhs+OIKMAAA+XT50kowAAj6HPpSijAAAf
+r1+1LKMAAJ+5370wowAAP8d/zTSjAAC/0f/VOKMAAAAAAAA8owAAAAAAAECjAAAAAAAA
+RKMAAAAAAABIowAA////P0yjAAD///8/UKMAAP///z9UowAA//8DAFijAAAfqqh5XKMA
+AA9CbAZgowAAByIoD2SjAACFFmAXaKMAAAQRgB9sowAAAwygN3CjAACDCMQ/dKMAAAMI
+wFd4owAAggbYX3yjAACCBOB/gKMAALp7PH+EowAA8H8w8wSbAAABAAAACJsAAAIAAAAM
+mwAAAwAAABCbAAAEAAAAFJsAAAUAAAAYmwAACAAAABybAAAJAAAAIJsAAAoAAAAkmwAA
+CwAAACybAAANAAAAMJsAABAAAAA0mwAAEQAAADybAAATAAAAQJsAABQAAABEmwAAFQAA
+AEibAAAYAAAATJsAABkAAABQmwAAGgAAAFSbAAAbAAAAWJsAABwAAABcmwAAHQAAAGCb
+AAAgAAAAaJsAACIAAABsmwAAIwAAAHCbAAAkAAAAdJsAACUAAAB4mwAAKAAAAHybAAAp
+AAAAgJsAACoAAACEmwAAKwAAAIibAAAsAAAAkJsAADAAAACUmwAAMQAAAJibAAAyAAAA
+oJsAADQAAACkmwAANQAAAKibAAA1AAAArJsAADUAAACwmwAANQAAALSbAAA1AAAAuJsA
+ADUAAAC8mwAANQAAAMCbAAA1AAAAxJsAADUAAADImwAANQAAAMybAAA1AAAA0JsAADUA
+AADUmwAANQAAANibAAA1AAAA3JsAADUAAADgmwAANQAAAOSbAAA1AAAA6JsAADUAAADs
+mwAANQAAAPCbAAA1AAAA9JsAADUAAAD4mwAAEAAAAPybAAAaAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAJoAAAAAAAAAAAAABJoAAAAAAABAAAAACJoAAAAAAACAAAAADJoA
+AAAAAACBAQAAEJoAAAAAAADBAQAAFJoAAAAAAAABAAAAGJoAAAAAAABBAAAAHJoAAAAA
+AACBAAAAIJoAAAAAAABoAQAAJJoAAAAAAACoAQAAKJoAAAAAAADoAQAALJoAAAAAAAAo
+AAAAMJoAAAAAAABoAAAANJoAAAAAAACJAQAAOJoAAAAAAADJAQAAPJoAAAAAAAAJAAAA
+QJoAAAAAAABJAAAARJoAAAAAAACJAAAASJoAAAAAAACQAQAATJoAAAAAAADQAQAAUJoA
+AAAAAAAQAAAAVJoAAAAAAABQAAAAWJoAAAAAAACQAAAAXJoAAAAAAACRAQAAYJoAAAAA
+AADRAQAAZJoAAAAAAAARAAAAaJoAAAAAAABRAAAAbJoAAAAAAACRAAAAcJoAAAAAAAB4
+AQAAdJoAAAAAAAC4AQAAeJoAAAAAAAD4AQAAfJoAAAAAAAA4AAAAgJoAAAAAAAB4AAAA
+hJoAAAAAAACZAQAAiJoAAAAAAADZAQAAjJoAAAAAAAAZAAAAkJoAAAAAAABZAAAAlJoA
+AAAAAACZAAAAmJoAAAAAAADZAAAAnJoAAAAAAAD5AAAAoJoAAAAAAAD5AAAApJoAAAAA
+AAD5AAAAqJoAAAAAAAD5AAAArJoAAAAAAAD5AAAAsJoAAAAAAAD5AAAAtJoAAAAAAAD5
+AAAAuJoAAAAAAAD5AAAAvJoAAAAAAAD5AAAAwJoAAAAAAAD5AAAAxJoAAAAAAAD5AAAA
+yJoAAAAAAAD5AAAAzJoAAAAAAAD5AAAA0JoAAAAAAAD5AAAA1JoAAAAAAAD5AAAA2JoA
+AAAAAAD5AAAA3JoAAAAAAAD5AAAA4JoAAAAAAAD5AAAA5JoAAAAAAAD5AAAA6JoAAAAA
+AAD5AAAA7JoAAAAAAAD5AAAA8JoAAAAAAAD5AAAA9JoAAAAAAAD5AAAA+JoAAAAAAAD5
+AAAA/JoAAAAAAAD5AAAA1JgAACAAAADQmAAACBQAAggUAQIIFAACCBQAAggUAQLcmAAA
+wCCgAMAgoADAIOAAwCDgAMAg4AAAAAAAAAAAAJyYAAAAAADwAAAA8AAAAPAAAADwAAAA
+8JyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAADAAAAAwAAAAMAAAADAAAAA5yY
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAJyYAAAAAEBAAABAQAAAQEAAAEBAAABAQJyYAAAAAAVlAAAF
+ZQAABWUAAAVlAAAFZZyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAJyYAAAAAEIAAABCAAAAQgAAAEIAAABCAJyYAAAAALUAAAC1AAAAtQAA
+ALUAAAC1AJyYAAAAAAMAAAADAAAAAwAAAAMAAAADAJyYAAAAAPcAAAD3AAAA9wAAAPcA
+AAD3AJyYAAAAAJ0AAACdAAAAnQAAAJ0AAACdAJyYAAAAACIAAAAiAAAAIgAAACIAAAAi
+AJyYAAAAACIEAAAiBAAAIgQAACIEAAAiBJyYAAAYACMAGAAjABgAIwAYACMAGAAjAJyY
+AAAAACgAAAAoAGAAKABgACgAYAAoAJyYAADAAFAAwABQAMMAUADDAFAAwwBQAJyYAAB/
+AAQAfwAEAH8ABAB/AAQAfwAEAJyYAABYBAAAWAQAAFgEAABYBAAAWAQAAJyYAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAJyYAAAAwAAAAMAAAADAAAAAwAAAAMAAANiYAAAwAkAAMAJA
+ADACQAAwAkAAMAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAZAAAAGQAAABk
+AAAAZAAAAGQAAJyYAAAACAAAAAgAAAAIAAAACAAAAAgAAMyYAAAOAAAADgAAAA4AAAAO
+AAAADgAAAPRiAQD5YgEA5GIBAOhiAQD0YgEA9GIBAOxiAQDwYgEAQVI1MjEwAEFSNTIx
+MQBBUjUyMTIAUkY1MTExAFJGNTExMgBSRjI0MTMAQXRoZXJvcyAyMzEzIFdpU29DAEF0
+aGVyb3MgNTIxMiAoRlBHQSkAQXRoZXJvcyA1MjExIChGUEdBKQBBdGhlcm9zIDUyMTAA
+QXRoZXJvcyA1MjExAEF0aGVyb3MgNTMxMiBXaVNvQwBBdGhlcm9zIDUyMTIAREIAREVC
+VUcATkEATk9fQ09VTlRSWV9TRVQAQUwAQUxCQU5JQQBEWgBBTEdFUklBAEFSAEFSR0VO
+VElOQQBBTQBBUk1FTklBAEFVAEFVU1RSQUxJQQBBVABBVVNUUklBAEFaAEFaRVJCQUlK
+QU4AQkgAQkFIUkFJTgBCWQBCRUxBUlVTAEJFAEJFTEdJVU0AQloAQkVMSVpFAEJPAEJP
+TFZJQQBCUgBCUkFaSUwAQk4AQlJVTkVJIERBUlVTU0FMQU0AQkcAQlVMR0FSSUEAQ0EA
+Q0FOQURBAENMAENISUxFAENOAENISU5BAENPAENPTE9NQklBAENSAENPU1RBIFJJQ0EA
+SFIAQ1JPQVRJQQBDWQBDWVBSVVMAQ1oAQ1pFQ0ggUkVQVUJMSUMAREsAREVOTUFSSwBE
+TwBET01JTklDQU4gUkVQVUJMSUMARUMARUNVQURPUgBFRwBFR1lQVABTVgBFTCBTQUxW
+QURPUgBFRQBFU1RPTklBAEZJAEZJTkxBTkQARlIARlJBTkNFAEYyAEZSQU5DRV9SRVMA
+R0UAR0VPUkdJQQBERQBHRVJNQU5ZAEdSAEdSRUVDRQBHVABHVUFURU1BTEEASE4ASE9O
+RFVSQVMASEsASE9ORyBLT05HAEhVAEhVTkdBUlkASVMASUNFTEFORABJTgBJTkRJQQBJ
+RABJTkRPTkVTSUEASVIASVJBTgBJRQBJUkVMQU5EAElMAElTUkFFTABJVABJVEFMWQBK
+UABKQVBBTgBKMQBKQVBBTjEASjIASkFQQU4yAEozAEpBUEFOMwBKNABKQVBBTjQASjUA
+SkFQQU41AEpPAEpPUkRBTgBLWgBLQVpBS0hTVEFOAEtQAE5PUlRIIEtPUkVBAEtSAEtP
+UkVBIFJFUFVCTElDAEsyAEtPUkVBIFJFUFVCTElDMgBLVwBLVVdBSVQATFYATEFUVklB
+AExCAExFQkFOT04ATEkATElFQ0hURU5TVEVJTgBMVABMSVRIVUFOSUEATFUATFVYRU1C
+T1VSRwBNTwBNQUNBVQBNSwBNQUNFRE9OSUEATVkATUFMQVlTSUEATVgATUVYSUNPAE1D
+AE1PTkFDTwBNQQBNT1JPQ0NPAE5MAE5FVEhFUkxBTkRTAE5aAE5FVyBaRUFMQU5EAE5P
+AE5PUldBWQBPTQBPTUFOAFBLAFBBS0lTVEFOAFBBAFBBTkFNQQBQRQBQRVJVAFBIAFBI
+SUxJUFBJTkVTAFBMAFBPTEFORABQVABQT1JUVUdBTABQUgBQVUVSVE8gUklDTwBRQQBR
+QVRBUgBSTwBST01BTklBAFJVAFJVU1NJQQBTQQBTQVVESSBBUkFCSUEAU0cAU0lOR0FQ
+T1JFAFNLAFNMT1ZBSyBSRVBVQkxJQwBTSQBTTE9WRU5JQQBaQQBTT1VUSCBBRlJJQ0EA
+RVMAU1BBSU4AU0UAU1dFREVOAENIAFNXSVRaRVJMQU5EAFNZAFNZUklBAFRXAFRBSVdB
+TgBUSABUSEFJTEFORABUVABUUklOSURBRCAmIFRPQkFHTwBUTgBUVU5JU0lBAFRSAFRV
+UktFWQBVQQBVS1JBSU5FAEFFAFVOSVRFRCBBUkFCIEVNSVJBVEVTAEdCAFVOSVRFRCBL
+SU5HRE9NAFVTAFVOSVRFRCBTVEFURVMAVVkAVVJVR1VBWQBVWgBVWkJFS0lTVEFOAFZF
+AFZFTkVaVUVMQQBWTgBWSUVUIE5BTQBZRQBZRU1FTgBaVwBaSU1CQUJXRQAlczogcGh5
+Q250MSAweCV4LCByZXNldHRpbmcgY291bnRlciB2YWx1ZSB0byAweCV4CgAAJXM6IHBo
+eUNudDIgMHgleCwgcmVzZXR0aW5nIGNvdW50ZXIgdmFsdWUgdG8gMHgleAoAAAAAAAAw
+LjkuMTQuOQAAAAAAAAAABwAAAA4AAAAVAAAAHAAAACMAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAJBOIExEAiBPsExEAHhSCFA8AghTmFBIAXhVdFhQAXRbBFhQAwRba
+FhcAjBSgFLQUyBQ8FFAUZBR4FAAAMhRGFFoUbhQAAGwJhQmeCYoJqAkAAGwJhQmeCYoJ
+AABsCYUJngmKCQAAbAmFCZ4JigkAAHEWhRaZFq0WwRYAAFoUghSqFAAAgBaoFgAAfBWQ
+FaQVuBXMFeAV9BUIFhwWMBZEFgAAcQl2CXsJgAmPCZQJmQmjCQAAcQl2CXsJgAmPCZQJ
+mQkAAHEJdgl7CYAJjwmUCZkJAABxCXYJewmACY8JlAmZCQAAtAkAAIUJAAA8FFAUZBR4
+FAAAAAABAAAAagAAAAEAAAB8AAAABAAAAIYAAAAEAAAAkgAAAAQAAACcAAAABAAAAKYA
+AAABAAAAsAAAAAIAAAC8AAAAAgAAAMQAAAABAAAAygAAAAQAAADiAAAABAAAAPQAAAAE
+AAAABAEAAAQAAAAUAQAABAAAACQBAAAgAAAAKAEAADIURhRaFG4UAABaFIIUqhSAFqgW
+AAB8FZAVpBW4FcwV4BX0FQgWHBYwFkQWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AGAAAACoCQAAAQAAAKMJAAABAAAAtAkAAAEAAABnAAAAqAkAAAEAAACjCQAAAQAAALQJ
+AAABAAAAYQAAAKgJAAABAAAAowkAAAEAAAC0CQAAAQAAAGUAAACoCQAAAQAAAKMJAAAB
+AAAAtAkAAAEAAABKAAAAqAkAAAAAAACjCQAAAAAAALQJAAABAAAASwAAAKgJAAABAAAA
+owkAAAEAAAC0CQAAAQAAAGoAAACoCQAAAQAAAKMJAAABAAAAtAkAAAEAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAQJwFwsAjAAAAAAAAQIoIw8AEgAAAAAAAQLgLgoAmAIAAAAAAQJQRg4AJAIA
+AAAAAQLAXQkAsAQAAAAAAQKgjA0ASAQAAAAAAQKAuwgAYAQAAAAAAQLw0gwAbAQAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDcBcL
+AIwAAAAAAAEDKCMPABIAAAAAAAED4C4KAJgCAAAAAAEDUEYOACQCAAAAAAEDwF0JALAE
+AAAAAAEDoIwNAEgEAAAAAAEDgLsIAGAEAAAAAAED8NIMAGwEAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAnAXCwCMAAAAAAABAigj
+DwASAAAAAAABAuAuCgCYAgAAAAABAlBGDgAkAgAAAAABAsBdCQCwBAAAAAABAqCMDQBI
+BAAAAAABAoC7CABgBAAAAAABAvDSDABsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNwFwsAjAAAAAAAAQMoIw8AEgAAAAAAAQPg
+LgoAmAIAAAAAAQNQRg4AJAIAAAAAAQPAXQkAsAQAAAAAAQOgjA0ASAQAAAAAAQOAuwgA
+YAQAAAAAAQPw0gwAbAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAEA6AMLAIIAAAAAAAEA0AcKBIQBAAAAAAEAfBUJBIsBAAAAAAEA
++CoIBJYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAEogAAAAAAAAAAAAAIogAARkY+UEZGPlAMogAAbEGAZGxB
+gGQQogAAA6CZAQOgmQEUogAAENZMBBDWTAQYogAAQACAE0AAgBMcogAAYADgG2AA4Bsg
+ogAACoBTDAqAUwwkogAAO98UADvfFAAoogAAtQEAALUBAAAsogAAIAAAACAAAACcmAAA
+AAAAAAAAAACcmAAAAAAAAAAAAACcmAAAAAAAAAAAAACcmAAAAAAAAAAAAACcmAAAAAAA
+AAAAAACcmAAAAAAAAAAAAACcmAAAAAAAAAAAAACcmAAAAAAAAAAAAACcmAAAAAAAAAAA
+AACcmAAAAAAAAAAAAACcmAAAAAAAAAAAAACcmAAAAAA4AAAAOACcmAAAAAAAAAAAAACc
+mAAAAAAAAAAAAACcmAAAAAAAAAAAAACcmAAA+QAEAPkABADUmAAAAAAAAAQAAAAAAAAA
+AAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgA
+AAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAABAAAAAQnJgAAAAAAAQAAAAEnJgAAAAA
+AAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAKnJgAAIAAOACA
+ADgCnJgAAAYAAgAGAAAAnJgAAJIAAACSAAAAnJgAAKAAAACgAAAAnJgAAAcABAAHAAQA
+1JgAABoAAAAaAAAAnJgAAEgAAABIAAAAnJgAABAAAAAQAAAAnJgAAAgAAAAIAAAAnJgA
+AA8AAAAPAAAAnJgAAPIAAABiAAAAnJgAAE+QAABMkAAAnJgAAFoSAACaEgAAzJgAAA4A
+AAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAABAnAXCwCMAAAAAAABAigjDwASAAAAAAABAuAuCgCYAgAAAAABAlBG
+DgAkAgAAAAABAsBdCQCwBAAAAAABAqCMDQBIBAAAAAABAoC7CABgBAAAAAABAvDSDABs
+BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AQNwFwsAjAAAAAAAAQMoIw8AEgAAAAAAAQPgLgoAmAIAAAAAAQNQRg4AJAIAAAAAAQPA
+XQkAsAQAAAAAAQOgjA0ASAQAAAAAAQOAuwgAYAQAAAAAAQPw0gwAbAQAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA6AMbAIIAAAAA
+AAEA0AcaBIQBAAAAAAEAfBUZBIsBAAAAAAEA+CoYBJYBAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAOgDGwACAAAAAAABANAHGgQEAQAA
+AAABAHwVGQQLAgAAAAABAPgqGAQWAwAAAAAAAnAXCwAMBAAAAAAAAigjDwASBAAAAAAB
+AuAuCgAYBgAAAAABAlBGDgAkBgAAAAABAsBdCQAwCAAAAAABAqCMDQBICAAAAAABAoC7
+CABgCAAAAAABAvDSDABsCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAQT0AQcAgQAAAAAAAQToAwIAiwEAAAAAAQTQBwYAlgIA
+AAAAAQS4CwEAlgMAAAAAAQJwFwsAjAQAAAAAAQIoIw8AEgQAAAAAAQLgLgoAmAYAAAAA
+AQJQRg4AJAYAAAAAAQLAXQkAsAgAAAAAAQKgjA0ASAgAAAAAAQKAuwgAYAgAAAAAAQLw
+0gwAbAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAy
+MDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzog
+KEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtG
+cmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3
+MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUp
+IDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJT
+RF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABH
+Q0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQu
+MiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIw
+MDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAo
+R05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0Zy
+ZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcy
+OAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkg
+My40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNE
+XSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdD
+QzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4y
+IFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAw
+NDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChH
+TlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJl
+ZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4
+AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAz
+LjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0Rd
+IDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0ND
+OiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIg
+W0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0
+MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdO
+VSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVl
+QlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgA
+AEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6IChHTlUpIDMu
+NC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBbRnJlZUJTRF0g
+MjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQwNzI4AABHQ0M6
+IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05VKSAzLjQuMiBb
+RnJlZUJTRF0gMjAwNDA3MjgAAEdDQzogKEdOVSkgMy40LjIgW0ZyZWVCU0RdIDIwMDQw
+NzI4AABHQ0M6IChHTlUpIDMuNC4yIFtGcmVlQlNEXSAyMDA0MDcyOAAAR0NDOiAoR05V
+KSAzLjQuMiBbRnJlZUJTRF0gMjAwNDA3MjgAAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0
+YWIALnJlbC50ZXh0AC5yZWwucm9kYXRhAC5yb2RhdGEuc3RyMS4xAC5yb2RhdGEuc3Ry
+MS40AC5yZWwuZGF0YQAuYnNzAC5jb21tZW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAB8AAAABAAAABgAAAAAAAAA0AAAAYmwBAAAAAAAAAAAA
+BAAAAAAAAAAbAAAACQAAAAAAAAAAAAAAZDICAPAWAAAMAAAAAQAAAAQAAAAIAAAAKQAA
+AAEAAAACAAAAAAAAAKBsAQAIdwAAAAAAAAAAAAAgAAAAAAAAACUAAAAJAAAAAAAAAAAA
+AABUSQIAEBkAAAwAAAADAAAABAAAAAgAAAAxAAAAAQAAADIAAAAAAAAAqOMBAMwFAAAA
+AAAAAAAAAAEAAAABAAAAQAAAAAEAAAAyAAAAAAAAAHTpAQBnAAAAAAAAAAAAAAAEAAAA
+AQAAAFMAAAABAAAAAwAAAAAAAADg6QEA5BYAAAAAAAAAAAAAIAAAAAAAAABPAAAACQAA
+AAAAAAAAAAAAZGICALAAAAAMAAAABwAAAAQAAAAIAAAAWQAAAAgAAAADAAAAAAAAAOAA
+AgCwAQAAAAAAAAAAAAAgAAAAAAAAAF4AAAABAAAAAAAAAAAAAADgAAIAywYAAAAAAAAA
+AAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAAqwcCAGcAAAAAAAAAAAAAAAEAAAAAAAAA
+AQAAAAIAAAAAAAAAAAAAAEQKAgCgFwAADQAAAAgAAAAEAAAAEAAAAAkAAAADAAAAAAAA
+AAAAAADkIQIAgBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAwABAAAAAAAAAAAAAAAAAAMAAwAAAAAAAAAAAAAAAAADAAUAAAAAAAAAAAAA
+AAAAAwAGAAAAAAAAAAAAAAAAAAMABwAAAAAAAAAAAAAAAAADAAkAAAAAAAAAAAAAAAAA
+AwAKAAEAAADQiQAAqAAAABIAAQAMAAAARHsAAAYAAAASAAEAFwAAAJDvAAC7AAAAEgAB
+ACIAAABwYQAAdAAAABIAAQAtAAAA/OUAAI8AAAASAAEAOAAAAHRXAADbAAAAEgABAEMA
+AACoMwEA5AAAABIAAQBOAAAA4AIAAKQBAAARAAcAWQAAADjzAAAjAAAAEgABAGQAAABo
+WQAAMQAAABIAAQBvAAAAlE4AADwAAAASAAEAegAAAITsAAAlAAAAEgABAIUAAABU6QAA
+EwAAABIAAQCQAAAA2N8AAAwAAAASAAEAmwAAAPjNAAC6AAAAEgABAKYAAAB81gAA5QAA
+ABIAAQCxAAAAXAgAADwAAAASAAEAvAAAAITCAACWAAAAEgABAMcAAAA0rQAAiwAAABIA
+AQDSAAAAHJsAAAsAAAASAAEA3QAAABh/AAAlAAAAEgABAOgAAAAg8gAABgAAABIAAQDz
+AAAAjM0AAAYAAAASAAEA/gAAAEjeAAAXAAAAEgABAAkBAABY/gAAewAAABIAAQAUAQAA
+DAYAAHUAAAASAAEAHwEAAAyNAAAGAAAAEgABACoBAADIJgEAdQAAABIAAQA1AQAACIIA
+AAYAAAASAAEAQAEAACibAAAPAAAAEgABAEsBAABADgAApAEAABEABwBWAQAAPOsAAHQA
+AAASAAEAYQEAAAyAAABuAAAAEgABAGwBAAC8AgAALAAAABIAAQB3AQAAuCgBAFgAAAAS
+AAEAggEAAKirAAAhAAAAEgABAI0BAAAAAAAAAAAAABAAAACuAQAAiF4AAEEAAAASAAEA
+uQEAAPTEAACWAAAAEgABAMQBAABYYAAAJAAAABIAAQDPAQAA6JIAAEgAAAASAAEA2gEA
+AByWAAB4AAAAEgABAOUBAADIxQAAOQAAABIAAQDwAQAAEIIAAGEAAAASAAEA+wEAAMhd
+AAAzAAAAEgABAAYCAACIewAAOQAAABIAAQARAgAAZJgAAEoAAAASAAEAHAIAALDrAAAg
+AAAAEgABACcCAAC86gAAYAAAABIAAQAyAgAA6P4AADcAAAASAAEAPQIAALjOAABXAAAA
+EgABAEgCAABgWQAABgAAABIAAQBTAgAA0OsAAHgAAAASAAEAXgIAAAhQAADIBQAAEgAB
+AGkCAAAIlwAAHgEAABIAAQB0AgAAqOcAACYAAAASAAEAfwIAAGgCAABTAAAAEgABAIoC
+AAAc6wAAIAAAABIAAQCVAgAAvBcBAAIBAAASAAEAoAIAABjyAAAGAAAAEgABAKsCAABg
+3QAALAAAABIAAQC2AgAAnM8AAPEAAAASAAEAwQIAAABgAAAZAAAAEgABAMwCAABIjQAA
+mwAAABIAAQDXAgAAvJEAAHsAAAASAAEA4gIAAKR6AAAhAAAAEgABAO0CAABMHAEAiAAA
+ABIAAQD4AgAAhHAAAPIBAAASAAEAAwMAAKhiAAABAAAAEgABAA4DAADUHAEASAAAABIA
+AQAZAwAA4HwAADUCAAASAAEAJAMAABgBAABQAQAAEgABADMDAACsCQEA5gIAABIAAQA+
+AwAAKPIAAIcAAAASAAEASQMAANyWAAARAAAAEgABAFQDAAAUGwEAOAEAABIAAQBfAwAA
+4O0AAM4AAAASAAEAagMAALzyAAAPAAAAEgABAHUDAAAAlAAADgAAABIAAQCAAwAABMYA
+AN8AAAASAAEAiwMAAIzFAAA5AAAAEgABAJYDAAAIpwAAUwAAABIAAQChAwAA0FUAABAA
+AAASAAEArAMAABxgAAA7AAAAEgABALcDAADoAgAAKAEAABIAAQDNAwAAIAMBACEAAAAS
+AAEA2AMAAHSCAACWAAAAEgABAOMDAABQYQAAIAAAABIAAQDuAwAA5IsAABYAAAASAAEA
++QMAANT+AAASAAAAEgABAAQEAACgswAAKgAAABIAAQAPBAAAnOEAAIIDAAASAAEAGgQA
+ACjfAAALAAAAEgABACUEAAA4WgAAiAAAABIAAQAwBAAAxIoAADgAAAASAAEAOwQAANwq
+AQA9AAAAEgABAEYEAAAY4AAA+AAAABIAAQBRBAAAwJYAAAEAAAASAAEAXAQAACBeAABl
+AAAAEgABAGcEAAAwkQAAiwAAABIAAQByBAAAlMQAAF8AAAASAAEAfQQAAJDQAACnBQAA
+EgABAIgEAABsGgEApgAAABIAAQCTBAAANOkAAAYAAAASAAEAngQAAECQAAAhAAAAEgAB
+AKkEAADU8wAAVwAAABIAAQC0BAAAbCUBAPUAAAASAAEAvwQAAJicAABFAAAAEgABAMoE
+AAA4XQAAKQAAABIAAQDVBAAASOwAACMAAAASAAEA4AQAADjWAABBAAAAEgABAOsEAAAM
+zAAAHwAAABIAAQD2BAAAECkBAD4AAAASAAEAAQUAABDyAAAGAAAAEgABAAwFAAAAAAAA
+AAAAABAAAAAZBQAAgHwAAGAAAAASAAEAJAUAABhnAABFAAAAEgABAC8FAACwKQEACwAA
+ABIAAQA6BQAABOgAAHcAAAASAAEARQUAAGwEAADFAAAAEgABAFYFAABUHwEA8wMAABIA
+AQBhBQAAfGAAAEQAAAASAAEAbAUAALCAAACPAAAAEgABAHcFAABo6QAAEQAAABIAAQCC
+BQAAjDQBAHEAAAASAAEAjQUAAJBmAABXAAAAEgABAJgFAAAUjQAAMQAAABIAAQCjBQAA
+FKkAACABAAASAAEArgUAAMh6AAB5AAAAEgABALkFAAAAEAAApAEAABEABwDEBQAArPQA
+ADgAAAASAAEAzwUAAEzwAAAsAAAAEgABANoFAAB4igAASgAAABIAAQDlBQAA4JwAAOUA
+AAASAAEA8AUAAKzsAAA0AQAAEgABAPsFAAAMlQAAXAAAABIAAQAGBgAAyJYAABMAAAAS
+AAEAEQYAALDuAADgAAAAEgABABwGAABkHQEAAQEAABIAAQAnBgAAHCsBAFQEAAASAAEA
+MgYAACiYAAA6AAAAEgABAD0GAADEWAAACwAAABIAAQBIBgAA/IoAAOgAAAASAAEAUwYA
+ABzbAABKAAAAEgABAF4GAADs5gAAJwAAABIAAQBpBgAAMGMAACQAAAASAAEAdAYAAMBr
+AQCiAAAAEgABAH8GAAC46AAAOAAAABIAAQCKBgAAwBEAAKQBAAARAAcAlQYAAIzMAABl
+AAAAEgABAKAGAAA4mwAADwAAABIAAQCrBgAAYGcAAC0BAAASAAEAtgYAADzlAAAhAAAA
+EgABAMEGAAAU5wAAlAAAABIAAQDMBgAA1FYAAGgAAAASAAEA1wYAAMgpAQATAQAAEgAB
+AOIGAAAwbwAAFAAAABIAAQDtBgAAeGUAAA8AAAASAAEA+AYAABxfAACqAAAAEgABAAMH
+AAD4ZgAAHQAAABIAAQAOBwAAjOYAAF8AAAASAAEAGQcAALAAAQDxAQAAEgABACQHAAD0
+zAAABgAAABIAAQAvBwAA4CMBAFsAAAASAAEAOgcAAARlAAAjAAAAEgABAEUHAABgBgAA
+pAEAABEABwBQBwAAwFoAAIwBAAASAAEAWwcAAEx7AAA5AAAAEgABAGYHAADoZgAADgAA
+ABIAAQBxBwAAAAAAAAAAAAAQAAAAkQcAAJBoAAAwBgAAEgABAJwHAAAAAAAACQAAABEA
+BwCsBwAANAUAAHUAAAASAAEAvQcAADiSAAAqAAAAEgABAMgHAABk1wAAUgAAABIAAQDT
+BwAA4OcAACIAAAASAAEA3gcAAKxiAAABAAAAEgABAOkHAAC4lgAABgAAABIAAQD0BwAA
+nJoAAAsAAAASAAEA/wcAAOSNAACIAAAAEgABAAoIAACU6QAAHgEAABIAAQAVCAAA3GQA
+AAYAAAASAAEAIAgAAAAAAAAAAAAAEAAAAC8IAACQkgAAMwAAABIAAQA6CAAA/PEAABQA
+AAASAAEARQgAAOTxAAAWAAAAEgABAFAIAABo2wAAOAAAABIAAQBbCAAAwG4AAG4AAAAS
+AAEAZggAAIiVAAB0AAAAEgABAHEIAAA86QAAFwAAABIAAQB8CAAANN8AAKIAAAASAAEA
+hwgAAGzsAAAXAAAAEgABAJIIAADYkwAAJgAAABIAAQCdCAAAVPQAAFYAAAASAAEAqAgA
+ACAyAQCFAQAAEgABALMIAABsjgAAuAEAABIAAQC+CAAAAGYAABcAAAASAAEAyQgAAMCQ
+AABAAAAAEgABANQIAACsdAAAHwAAABIAAQDfCAAAfPMAAFcAAAASAAEA6ggAAGSSAAAs
+AAAAEgABAPUIAABYkwAAgAAAABIAAQAACQAAyF8AACYAAAASAAEACwkAAGAjAQAfAAAA
+EgABABYJAAAAAAAAAAAAABAAAAAlCQAAaFwAACEAAAASAAEAMAkAAKDlAABZAAAAEgAB
+ADsJAAAgCAAApAEAABEABwBGCQAAdJwAAA4AAAASAAEAUQkAAPyLAABgAAAAEgABAFwJ
+AADkAAAAMwAAABIAAQBqCQAAJF0AABIAAAASAAEAdQkAAKAEAACkAQAAEQAHAIAJAAAc
+nAAAVwAAABIAAQCLCQAAXIwAAAsAAAASAAEAlgkAAAwAAAAcAAAAEQAHAKgJAADMXgAA
+HAAAABIAAQCzCQAA5N8AADQAAAASAAEAvgkAAFhkAAB4AAAAEgABAMkJAAAwNgEADAIA
+ABIAAQDUCQAA0GQAAAsAAAASAAEA3wkAAAjzAAAtAAAAEgABAOoJAACYSQAAmQAAABIA
+AQD1CQAASCMBABYAAAASAAEAAAoAAMSbAABXAAAAEgABAAsKAACUlgAAIwAAABIAAQAW
+CgAA3PIAACkAAAASAAEAIQoAACzMAAAeAAAAEgABACwKAAAcHQEASAAAABIAAQA3CgAA
+/JUAACAAAAASAAEAQgoAAECBAAAGAAAAEgABAE0KAADECAEAsQAAABIAAQBYCgAAaIwA
+AKIAAAASAAEAYwoAAJTNAABhAAAAEgABAG4KAADgCQAApAEAABEABwB5CgAA6GUAABcA
+AAASAAEAhAoAALwpAQAKAAAAEgABAI8KAABoWAAAXAAAABIAAQCaCgAAKGUAAEMAAAAS
+AAEApQoAAMTHAAAtBAAAEgABALAKAADkYgAASgAAABIAAQC7CgAAsJoAAAYAAAASAAEA
+xgoAAKDbAAA4AQAAEgABANEKAACEnAAAEgAAABIAAQDcCgAAsEsAADcAAAASAAEA5woA
+AOTdAABiAAAAEgABAPIKAACYCgAAbwAAABIAAQD9CgAAqJoAAAYAAAASAAEACAsAABAH
+AABLAQAAEgABABMLAAA03QAAKgAAABIAAQAeCwAABGIAAHgAAAASAAEAKQsAAGxlAAAL
+AAAAEgABADQLAADklAAAKAAAABIAAQA/CwAAIBYBAHYAAAASAAEASgsAAJxdAAAsAAAA
+EgABAFULAAB4CQEANAAAABIAAQBgCwAAEAQAAFsAAAASAAEAawsAAGDlAABAAAAAEgAB
+AHYLAAAAAAAAAAAAABAAAACGCwAAzLMAAIQBAAASAAEAkQsAAFBYAAAWAAAAEgABAJwL
+AABkJgEAYgAAABIAAQCnCwAA/F0AACQAAAASAAEAsgsAABDhAACMAAAAEgABAL0LAACg
+lAAARAAAABIAAQDICwAA/MwAAI4AAAASAAEA0wsAAAAAAAAAAAAAEAAAAPMLAACEBgAA
+igAAABIAAQD+CwAAjFwAAE0AAAASAAEACQwAANxcAABAAAAAEgABABQMAAAAkQAALwAA
+ABIAAQAfDAAAnFkAAJsAAAASAAEAKgwAADCTAAAnAAAAEgABADUMAAC41wAAoQIAABIA
+AQBADAAA8JYAABUAAAASAAEASwwAAOT0AAARAQAAEgABAFYMAABMXAAAHAAAABIAAQBh
+DAAAAAAAAAAAAAAQAAAAbwwAACSQAAAcAAAAEgABAHoMAAD8CAAAUwAAABIAAQCFDAAA
+sGIAADIAAAASAAEAkAwAAKSbAAAfAAAAEgABAJsMAACwmAAALAAAABIAAQCmDAAAvG8A
+AMgAAAASAAEAsQwAABhmAAAfAAAAEgABALwMAADoXgAANAAAABIAAQDHDAAAIOUAABwA
+AAASAAEA0gwAAMzyAAAPAAAAEgABAN0MAADEkgAAJAAAABIAAQDoDAAAwN0AACQAAAAS
+AAEA8wwAALgEAQALBAAAEgABAP4MAADAYAAALgAAABIAAQAJDQAA8F8AAA4AAAASAAEA
+FA0AAMCaAABbAAAAEgABAB8NAAA8JAEALQEAABIAAQAqDQAAEJQAABkAAAASAAEANQ0A
+AEiBAADAAAAAEgABAEANAABkkAAAWQAAABIAAQBLDQAAxJYAAAEAAAASAAEAVg0AAMR7
+AAC7AAAAEgABAGENAACAEwAApAEAABEABwBsDQAAPFcAADgAAAASAAEAdw0AANBYAACO
+AAAAEgABAIINAACM3QAAMwAAABIAAQCNDQAAnCgBABsAAAASAAEAmA0AALTqAAAGAAAA
+EgABAKMNAABolAAAOAAAABIAAQCuDQAAuJoAAAYAAAASAAEAuQ0AAGAVAQDAAAAAEgAB
+AMQNAAAQmgAAjAAAABIAAQDPDQAAyJ0AACsJAAASAAEA2g0AAEAVAACkAQAAEQAHAOUN
+AABkXQAANQAAABIAAQDwDQAArAUAAF0AAAASAAEA+w0AAEAnAQBaAQAAEgABAAYOAADc
+HgEAdgAAABIAAQARDgAA5GQAAB4AAAASAAEAHA4AAIhlAAAPAAAAEgABACcOAABolQAA
+IAAAABIAAQAyDgAAsPIAAAsAAAASAAEAPQ4AAJhlAABNAAAAEgABAEgOAADkYQAAIAAA
+ABIAAQBTDgAA5IcAABAAAAASAAEAXg4AAFAJAABHAQAAEgABAGkOAAC0zgAAAQAAABIA
+AQB0DgAAQH8AAEoAAAASAAEAfw4AAHSbAAAXAAAAEgABAIoOAACgYgAABgAAABIAAQCV
+DgAAWMcAAGsAAAASAAEAoA4AAFzzAAAfAAAAEgABAKsOAAAARwEAogAAABIAAQC2DgAA
+fGIAACMAAAASAAEAwQ4AAFhPAABAAAAAEgABAMwOAAC0RQAA4gMAABIAAQDiDgAALPQA
+ACcAAAASAAEA7Q4AADhmAABXAAAAEgABAPgOAAD49QAAXggAABIAAQADDwAAYN4AAMYA
+AAASAAEADg8AAEzMAAA9AAAAEgABABkPAACMmwAAFwAAABIAAQAkDwAAjH8AAH0AAAAS
+AAEALw8AAGg4AAB8AAAAEgABADoPAABEbwAAdwAAABIAAQBFDwAASJsAACkAAAASAAEA
+UA8AAPSmAAASAAAAEgABAFsPAAA8VgAAlgAAABIAAQBmDwAADIMAAAEAAAASAAEAcQ8A
+APBgAABgAAAAEgABAHwPAACYwQAAPwAAABIAAQCHDwAAcPEAAHQAAAASAAEAkg8AAPDo
+AABEAAAAEgABAJ0PAAAslAAAOwAAABIAAQCoDwAAaIMAAHoEAAASAAEAsw8AAHB3AAC5
+AgAAEgABAL4PAAB86QAAFQAAABIAAQDJDwAA9MsAABYAAAASAAEA1A8AAHRcAQCqAAAA
+EgABAN8PAACwTAAAkAAAABIAAQDqDwAAfOgAADsAAAASAAEA9Q8AANjcAABZAAAAEgAB
+AAAQAAAg/wAAjgEAABIAAQALEAAAgCMBAB4AAAASAAEAFhAAAFzaAAC+AAAAEgABACEQ
+AAAAAAAAAAAAABAAAAAwEAAAHF0AAAYAAAASAAEAOxAAAHyAAAAzAAAAEgABAEYQAADQ
+5wAADgAAABIAAQBREAAAXKcAALgBAAASAAEAXBAAANBOAACGAAAAEgABAHUQAACgIwEA
+PQAAABIAAQAAenowMDViNTg0NgB6ejAwMmRiMTFjAHp6MDJkYmY4NzUAenowMmRiYjFi
+MgB6ejAwMmRiNDYwAHp6MGI3YjgzNjgAenowNWI4YzY1YQB6ejAwNWI0MGFkAHp6MDVi
+OTQyZWQAenowZDk0Y2QwNAB6ejAwMTlmNDcwAHp6MDJkYmU3M2QAenowMDViNjkyYgB6
+ejBiNmQyMzI1AHp6MDA1Yjg1M2QAenowMDE2ZDkyZQB6ejBjZmIxODc1AHp6MDAyZGIz
+MWMAenowMmRhYmJhYwB6ejAwMGI2YzY4AHp6MDAwYjZiZjgAenowMmRiNWJmMAB6ejAx
+NmUxZGZkAHp6MGI3MGU5OGMAenowNmUwZjZjMgB6ejAwNjdkMmIxAHp6MGI2Y2EzMjUA
+enowMDViNmNmZAB6ejAxNmUwZGZkAHp6MDAwYjZmNjgAenowMDViNDhhZAB6ejAyZGJm
+MWIyAHp6MDA1Yjg4Y2IAenowMzNlYzhiZgB6ejBkYjRjOTRkAHp6MDJkYjNiYWMAYXRo
+X2hhbF9kbWFfYmVhY29uX3Jlc3BvbnNlX3RpbWUAenowMGI2ZjE2MQB6ejBkYzU4NzE4
+AHp6MGRiMDkxMGUAenowMGI2ZTI3YQB6ejAyZGJiYWIyAHp6MGI2ZDFlZmYAenowMDVi
+NjRmZAB6ejAwMGI2ZDUyAHp6MGI2YzllZmYAenowMmRiZDg3NQB6ejAyZGIzMWIyAHp6
+MDBiNzA5MjMAenowMDBiNmQxZAB6ejAwYjZkNDUwAHp6MGI2YzIzMjUAenowMmRiZGFi
+MgB6ejAwMDViNjMyAHp6MDZkZjJmNTcAenowMDE2ZGE1MAB6ejAwMDY3ZDMyAHp6MDBi
+NmQ5MjMAenowMDJkYjUxYwB6ejAxNmRhN2YwAHp6MDE2ZGNiZmUAenowMDE2ZGVjMQB6
+ejAwMTZkZjJjAHp6MGI4MTQ2MTIAenowMTZkOTkyMAB6ejAyZGIxYmFjAHp6MGRjNzg3
+MTgAenowNWI3MDFlMAB6ejAwMGI2YjEwAHp6MGI3MDllZmYAenowMTZkZjg5YgBhdGhf
+aGFsX2F0dGFjaAB6ejA2ZTE0ZGQxAHp6MDE2ZGFiMmQAenowMmRiMTM1ZAB6ejBlMGI2
+ZjIzAHp6MDE2ZTI5MWQAenowMDBiNmZlOAB6ejAwMTZkOTQ4AHp6MDE2ZTIwOWIAenow
+YjcwMWVmZgB6ejAwMGI2YzlkAHp6MDAwNWI1YTIAenowMmRiMTcwYQBhdGhfaGFsX2Nv
+bXB1dGV0eHRpbWUAenowMmRiNWJhYwB6ejAwNWI4MTNkAHp6MDBiNmM5MjMAenowYjZj
+ZTk4YwB6ejAwNWI3ZjlkAHp6MGI3MDFkMDIAenowNmUwNDYwZQB6ejAyZGI1NzYzAHp6
+MDZmMjMyY2MAenowZTA3ODM3OQB6ejAwMmRhZjYyAHp6MGI4NTQ2MTIAenowMDBiNmI5
+MAB6ejAxNmQ5ZWZhAHp6MDAyZGIyNjAAenowMTZkZTA1MQB6ejAwMDViNmIyAHp6MDVi
+N2YxMTQAenowMzQ3NDZiNAB6ejAyZGJkZGZkAHp6MDA4ZWYzMDkAenowMGI3MTc3ZAB6
+ejAwYjcwZjNkAHp6MDE2ZDg5MjAAenowMmRiMWFiMgB6ejAwMDViNjIyAHp6MDAwYjZm
+NzgAenowYjZiNDk1MAB6ejAwNWI3NjMwAGF0aF9oYWxfZnJlZQB6ejA1Yjc5YjFiAHp6
+MDBiNzA3M2QAenowYjVmY2EyNgB6ejAxNmRmYmYxAGF0aF9oYWxfbWh6MmllZWUAenow
+MTZlMTg5YgB6ejBkYzM0OTRkAHp6MDAyZGM2MGIAenowMmRiMzM1ZAB6ejBiNmM1M2E0
+AHp6MGY4ZWYzMDgAenowZGE0Y2QwNAB6ejA1Yjc0MWUwAHp6MDJkYTliYWMAenowMTZl
+YzlhZAB6ejAwYjcxNzNkAHp6MDE2ZDlkNDEAenowZGMxMmMxZgB6ejAwNWI4NGZkAHp6
+MDA1YjhhYmQAenowMGI3MDEyMwB6ejAwNWI2NTJiAHp6MDJkYjM4NzUAenowMTZlMzA5
+YgB6ejAwNWI2MGIyAHp6MDJkYjE4NzUAenowMmRiMTc2MwB6ejBiN2Y4MzY4AHp6MGRj
+MzJjMWYAenowMGI3MDE2MQB6ejAxNmQ3ZDQxAHp6MDAxNmNkMzIAenowZGI0OTEwZQB6
+ejAwNWI0OGVkAHp6MDAyZGM4MGIAenowMmRiMzNlZAB6ejAwNWI4MGZkAHp6MDJkYmZk
+ZmQAenowMTZlNjQ4YQB6ejBkYmYyYzFmAHp6MDAyZGFmZjIAenowMDViNzc5ZAB6ejAw
+MGI2ZWU4AHp6MDE2ZTQ0OGEAenowMGI2ZjZiYwB6ejAxNmRhOTIwAHp6MDViNzgxZTAA
+enowZTI3M2E0ZAB6ejAwMmRjYTBiAHp6MDJkYjFiZjAAenowMDViNDRhZAB6ejA2ZGU0
+NjBlAHp6MGI2ZjllZmYAenowMGI2YzZiYwBhdGhfaGFsX2FkZGl0aW9uYWxfc3diYV9i
+YWNrb2ZmAHp6MDAwMmRiOTIAYXRoX2hhbF92ZXJzaW9uAGF0aF9oYWxfaWVlZTJtaHoA
+enowMmRiNzlhZQB6ejBiNmNmMDA5AHp6MDAxNmUxMmMAenowMDE2ZDllNAB6ejAwNWI1
+Y2IyAHp6MDE2ZGEyNTEAenowNmZhMzJjYwB6ejA2ZTAyZjU3AHp6MDA1YjZlMzAAYXRo
+X2hhbF9tYWxsb2MAenowMDBiNmRkMgB6ejA1YjZjYmQ1AHp6MDE2ZGIyNTEAenowZTE3
+ODM3OQB6ejAxNmRkMDUxAHp6MDJkYmQxYjIAenowZGE5YzRmNgB6ejAyZGMxNzYzAHp6
+MDE2ZGYwNTEAenowMDE2ZDk1MAB6ejAwYjcwNmJjAHp6MDAxNmQ4NzIAenowNmRmNDYw
+ZQB6ejA1YjhjMmVkAHp6MDZmZjE3ZTcAenowYjZmOWQwMgB6ejBkNGVmMzA4AHp6MDE2
+ZGJiZmUAenowMTZlNTQ4YQB6ejAwMTZkODUwAHp6MDAwYjZmZjgAYXRoX2hhbF9tZW1j
+cHkAenowMmRiYmRmZAB6ejA2ZGI1ZWI2AHp6MDE2ZWI5YWQAenowMGI2Y2ViYwB6ejBk
+OWI4Yjc5AGF0aF9oYWxfcHJvYmUAenowMDJkYjA2MAB6ejAxNmVhOWFkAHp6MDAwZWYz
+MDkAenowMmRiMzc2MwBhdGhfaGFsX2J1aWxkb3B0cwB6ejAyZGFmMzVkAHp6MGRiNGNk
+MDQAenowMTZkZjI1MQB6ejAwMGI2YzEwAHp6MDE2ZDkyNTEAenowYjcyMWFlZAB6ejA2
+N2NmY2FlAHp6MDAwYjZjZjgAenowY2NlZjMwOAB6ejAyZGFmYWIyAHp6MDViOTJhZWQA
+enowMDViOGNjYgB6ejBiNmQ5ZWZmAHp6MDJkYjExYjIAenowZTE3M2E0ZAB6ejAyZGJm
+ZmIxAHp6MDJkYmY3NjMAenowMDViNjhmZAB6ejAwNWI0NGVkAHp6MGI3MTFhZWQAenow
+YjVmY2EzNAB6ejBkOGI4Yjc5AHp6MDE2ZDhiMmQAenowMTZlMDg5YgB6ejAyZGJiODc1
+AHp6MDE2ZDk3ZjAAenowYjgzODM2OAB6ejAwYjZmZWJjAHp6MGU5OTkzMTMAenowMGI2
+ZWE3YQB6ejAzM2U4ZmJmAHp6MDA1YjcyMzAAenowY2ZhNTg3NQB6ejAyZGI5OWFlAHp6
+MDJkYjlhYjIAenowMDBiNmJlOAB6ejBkOTljNGY2AHp6MGRlZDhhNTcAenowMTZkYWJm
+ZQB6ejBiNzA5ZDAyAHp6MDE5ZjNhMDEAenowNzA3MTdlNwBhdGhfaGFsX21lbXplcm8A
+enowNmUwNGRkMQB6ejBiNjhlOThjAHp6MDE2ZTJkZmQAenowMDBiNmQyMgB6ejA3MDIz
+MmNjAHp6MGRjNTQ5NGQAenowMGI3MGY3ZABhdGhfaGFsX3N3X2JlYWNvbl9yZXNwb25z
+ZV90aW1lAHp6MDlmNjlkMmUAenowMDViNjU3YQB6ejA2ZjcxN2U3AHp6MDZkYTVlYjYA
+enowYjdkNDYxMgB6ejAwYjZmOTYxAHp6MGI2YjBjOTAAenowMmRiZDM1ZAB6ejAwNWI4
+OGZkAHp6MDJkYWZkZmQAYXRoX2hhbF9kZWxheQB6ejAyZGIxZGZkAHp6MDY3ZDJmNDEA
+enowMmRhZjg3NQB6ejBiODA3NzQxAHp6MDE2ZDhkNDEAenowMDJkYWU5MgB6ejBiN2M3
+NzQxAHp6MDJkYmIzNWQAenowMmRiM2RmZAB6ejAyZGI1M2VkAHp6MDAwYjZkYTIAenow
+MDBiNmUyMgB6ejA1YjgwMDQxAHp6MGQ4OWM0ZjYAenowMDE2ZDg0OAB6ejAxNmQ5YjJk
+AHp6MGUzNzNhNGQAenowMDE2ZTAyYwB6ejAwYjcwNzdkAHp6MDA1YjY5N2EAenowMDE2
+ZGFlNAB6ejAxNmUxMDliAHp6MDA1YjRhMmQAenowZGY3ODM3OQB6ejAyZGJkNzYzAHp6
+MDAwYjZlNTIAenowNWI2YzZkYgB6ejBjYTVmMzI5AHp6MGRiMjkxMGUAenowMmRiM2Jm
+MAB6ejA2ZDc4YTRjAHp6MDE2ZTAyNTEAenowMDAyZGJiMgB6ejAwMmRkODZkAHp6MDJk
+YjU5YWUAenowMDY3ZDIyMQB6ejAwNWI4OTNkAHp6MDViODFiMWIAenowMTZkODdmMAB6
+ejAyZGIxM2VkAHp6MDBiNmQxMjMAenowMDBiNmNlOAB6ejA1YjhhYWVkAHp6MDJkYWYx
+YjIAenowMDA1YjVlMgB6ejAzM2ViZmJmAHp6MDViNjg2ZGIAenowMDBiNmVmOAB6ejBi
+NzE5YWVkAHp6MDA1YjU4YjIAenowNWI3ZGIxYgB6ejBiODQ3NzQxAHp6MDAxNmQ3MzIA
+enowMmRhZGFiMgB6ejBmNGRlMzA3AGF0aF9oYWxfaW5pdF9jaGFubmVscwB6ejAwYjZk
+NmJjAHp6MGM0ZWYzMDgAenowMDAyZGJkMgB6ejBkYWI4Yjc5AHp6MDE2ZTBiODcAenow
+NWI5MDJlZAB6ejBkYzM4NzE4AHp6MGFhMmVlYzEAenowMDBiNmMxZAB6ejA1YjhlYWVk
+AHp6MDA1YjdiOWQAenowMDViNTQ0NgB6ejA1YjY0NmRiAHp6MDBiNmY5MjMAenowZGRk
+OGE1NwB6ejAxNmUxMjUxAHp6MGRjNzQ5NGQAenowMmRiMzcwYQB6ejAwMDViNjcyAHp6
+MDZkZjRkZDEAenowMmRiZjM1ZAB6ejAwMGI2Yzc4AHp6MDAxNmQ4MzIAenowM2U5NzM1
+MwB6ejAyZGI1NzBhAHp6MDA1YjZkN2EAenowMDJkYjI5MgB6ejAwNWI5MGNiAHp6MDA1
+YjVjNDYAYXRoX2hhbF9wcmludGYAenowNmQ5NWViNgB6ejAxNmRmYjg3AHp6MDAxNmRh
+NDgAenowMDJkYjA5MgBhdGhfaGFsX2dldHdpcmVsZXNzbW9kZXMAenowMTZlMWI4NwB5
+AAAAAQMAAJEAAAABAwAAsAAAAAEDAAC/AAAAAQMAAMUAAAABAwAAzQAAAAEDAADVAAAA
+AQMAAM0BAAACbQAA5AEAAAJoAQD8AQAAAj0AAJ4CAAACHQEA4AYAAAJcAAD2BgAAAlwA
+ADQHAAABAgAAHwsAAAECAAAyCwAAAQIAANMOAAACvgAAmhMAAAIKAQDgHwAAAgoBAOEq
+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
+AQAC/AAAjhEBAALUAAD/EgEAAjwBAD0UAQACPAEAPBYBAAECAABMFgEAAQIAAG0WAQAB
+AgAAeRYBAAECAADzGAEAAQIAAP0YAQABAgAAgRoBAAIpAAA8GwEAAlEAAHUbAQACXAAA
+oxsBAAJRAADpGwEAAlwAACQcAQACXAAAZRwBAALGAADAHAEAAsYAAAgdAQACSwEAUB0B
+AAL+AAALHgEAAgoBAFIeAQACTQAA1yEBAAESAQDdIQEAASwAAOshAQABsQAAByQBAAJ5
+AQAYJAEAAh0BAI0kAQACxgAAUiUBAALGAADJKAEAAmYBACspAQACZgEAAyoBAAIKAQC6
+KgEAAioAAPIqAQACeAAAVisBAAECAADxLgEAAQIAABEwAQACZgEAaTABAAKTAACIMAEA
+ApMAAMYwAQACkwAA0DABAAKTAADwMAEAApMAAAoxAQACkwAAITEBAAKTAAAwMQEAAggB
+AEsxAQACkwAAXjEBAAKTAACpMQEAApMAAOoxAQACkwAA+TEBAAIIAQAUMgEAApMAAGky
+AQACkwAAczIBAAKTAAB9MgEAApMAAIoyAQACkwAAlDIBAAKTAACdMgEAAlYBAKoyAQAC
+yQAAzzIBAAKTAADnMgEAApMAAAEzAQACkwAAFzMBAAKTAAAvMwEAApMAAEYzAQACVgEA
+UzMBAALJAACNMwEAAlYBAJozAQACyQAA2zMBAAJmAQBDNQEAApMAAFw1AQACkwAAeDUB
+AAKTAACUNQEAApMAALA1AQACkwAApDYBAAJmAQDRNgEAAQIAANY2AQABBAAA3DYBAAJz
+AQANNwEAAQIAABI3AQABBAAAGDcBAAJzAQBdOAEAAQIAAG84AQABAgAAhjgBAAIdAQCi
+OAEAAQIAAKk4AQABAgAAvDgBAAIdAQDZOAEAAQIAAOI4AQABAgAA9TgBAAIdAQAiOQEA
+An8AADo5AQABAgAARzkBAAIpAABYOQEAAQIAALw5AQACKQAA6jkBAAIpAAByOgEAAQIA
+APg8AQABAgAALz0BAAJuAABCPQEAAm4AAFk9AQABAgAAcz0BAAIdAQCNPQEAAQIAAJQ9
+AQABAgAAqj0BAAIdAQDLPQEAAQIAAN09AQABAgAA9z0BAAIdAQAYPgEAAQIAACo+AQAB
+AgAARD4BAAIdAQBZPgEAAQIAAKE+AQACbgAAuD4BAAJuAADUPgEAAm4AAOk+AQACbgAA
+/j4BAAJuAAATPwEAAm4AACk/AQABAgAAQz8BAAIdAQBdPwEAAQIAAIw/AQACbgAAoT8B
+AAJuAAC5PwEAAQIAANM/AQACHQEAkUEBAAIKAQC6RAEAAjwBAJpGAQACPAEAw0YBAAJ6
+AADnRgEAAnoAABNHAQACvgAAP0cBAAK+AABeRwEAAQEAAGhHAQABAQAAckcBAAEBAAB8
+RwEAAQEAAIZHAQABAQAAkEcBAAEBAADFRwEAAQIAANdHAQABAgAA7kcBAAIdAQAKSAEA
+AQIAABFIAQABAgAAJEgBAAIdAQBBSAEAAQIAAEpIAQABAgAAXUgBAAIdAQAqSQEAAikA
+AKhJAQACKQAAtkkBAAIpAAD8SQEAAikAAApKAQACKQAAUkoBAAIpAABgSgEAAikAAM5K
+AQABAgAAEk0BAAECAAAqTQEAAQIAAElNAQABAgAAaE0BAAECAACWTQEAAm4AALBNAQAC
+bgAAy00BAAJuAAD6TQEAAm4AABhOAQACbgAANk4BAAJuAABUTgEAAm4AAHJOAQACbgAA
+kE4BAAJuAAC4TgEAAm4AANBOAQACbgAA8E4BAAJuAAAITwEAAm4AAERPAQACbgAAVU8B
+AAJuAABmTwEAAm4AAHpPAQACbgAAnk8BAAJuAACvTwEAAm4AAMBPAQACbgAA1E8BAAJu
+AADoTwEAAm4AAPpPAQABAgAAPFABAAJuAABaUAEAAm4AAGxQAQABAgAAhVABAAIdAQCd
+UAEAAQIAALdQAQACHQEAz1ABAAECAADpUAEAAh0BAAFRAQABAgAAG1EBAAIdAQA5UQEA
+AQIAAFZRAQACHQEAilMBAALUAACfUwEAAtQAAPJTAQAC1AAAJVQBAALUAAA6VAEAAtQA
+AI1UAQAC1AAAuFQBAALUAADNVAEAAtQAACBVAQAC1AAAN1wBAAJ6AABbXAEAAnoAAIdc
+AQACvgAAs1wBAAK+AADcXAEAAQEAAOZcAQABAQAA8FwBAAEBAAD6XAEAAQEAAARdAQAB
+AQAADl0BAAEBAABBXQEAAQIAAFNdAQABAgAAbV0BAAIdAQCGXQEAAQIAAI1dAQABAgAA
+o10BAAIdAQDFXQEAAQIAAM5dAQABAgAA5F0BAAIdAQCyXgEAAikAADBfAQACKQAAPl8B
+AAIpAACEXwEAAikAAJJfAQACKQAA2l8BAAIpAADoXwEAAikAAOJgAQABAgAA+mABAAEC
+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
+AABkFgAAAQEAAGgWAAABAQAAbBYAAAEBAABwFgAAAQEAAHQWAAABAQAAeBYAAAEBAAB8
+FgAAAQEAAIAWAAABAQAAhBYAAAEBAACIFgAAAQEAAIwWAAABAQAAkBYAAAEBAACUFgAA
+AQEAAJgWAAABAQAAnBYAAAEBAACgFgAAAQEAAKQWAAABAQAAqBYAAAEBAACsFgAAAQEA
+ALAWAAABAQAAtBYAAAEBAAC4FgAAAQEAALwWAAABAQAAwBYAAAEBAADEFgAAAQEAAMgW
+AAABAQAA9BYAAAECAAD4FgAAAQIAACgXAAABAgAAKBgAAAH2AAAsGAAAAVoAADAYAAAB
+sgAANBgAAAGkAAA4GAAAAcMAADwYAAABSwAAQBgAAAHOAABEGAAAAVwBAEgYAAABMwEA
+TBgAAAGvAABQGAAAATUAAFQYAAABewAAWBgAAAFOAABcGAAAARwAAGAYAAABTQEAZBgA
+AAF1AQBoGAAAASgAAGwYAAABggAAcBgAAAHuAAB0GAAAATABAHgYAAABJAAAfBgAAAEz
+AACAGAAAAV4AAIQYAAABYgEAiBgAAAEDAQCMGAAAAaUAAJAYAAABRQEAlBgAAAFIAQCY
+GAAAAfMAAJwYAAABzAAAoBgAAAEkAQCkGAAAAYUAAKgYAAABVwEArBgAAAGwAACwGAAA
+AacAALQYAAABfAAAuBgAAAGfAAC8GAAAAUwAAMAYAAABuAAAxBgAAAEgAQDIGAAAAfgA
+AMwYAAABmQAA0BgAAAEcAQDUGAAAAdUAANgYAAABFQEA3BgAAAEtAADgGAAAAaYAAOQY
+AAABQAEA6BgAAAEGAQDsGAAAAQ4BAPAYAAABNAAA9BgAAAFqAAD4GAAAASwBAPwYAAAB
+0gAAABkAAAFGAAAEGQAAAS8AAAgZAAABgQAADBkAAAEJAAAQGQAAAeAAABQZAAABJQEA
+GBkAAAFjAQAcGQAAAV8AACAZAAABCwAAJBkAAAFJAQAoGQAAAQIBACwZAAABUwEAMBkA
+AAE7AAA0GQAAARcBADgZAAABEQAAPBkAAAGuAABAGQAAAWUAAEQZAAAB4gAASBkAAAHk
+AABMGQAAAb0AAFAZAAABRAEAVBkAAAGsAABYGQAAAWEBAFwZAAABDQAAYBkAAAE1AQBk
+GQAAAaIAAGgZAAABDAEAbBkAAAH1AABwGQAAAZUAAHQZAAABNgEAeBkAAAEBAAB8GQAA
+ASsBAIAZAAABdAEAhBkAAAEUAQCMGQAAAUABAJAZAAABBgEAlBkAAAEOAQCYGQAAATQA
+AJwZAAABagAA6CUAAAEtAQDsJQAAAUoBAPAlAAABPgEA9CUAAAFgAQD4JQAAAWwAAPwl
+AAABhwAAACYAAAFiAAAEJgAAAS4AAAgmAAABVwAADCYAAAFYAAAQJgAAATIAABQmAAAB
+UAEAGCYAAAH3AAAcJgAAAWsBACAmAAABdwAAJCYAAAFaAQAoJgAAAesAACwmAAABnQAA
+MCYAAAGqAAA0JgAAAREBADgmAAABHgAAPCYAAAHxAABAJgAAARYAAEQmAAABTAEASCYA
+AAEbAABMJgAAASUAAFAmAAABngAAVCYAAAFfAQBYJgAAAU4BAFwmAAABWwEAYCYAAAEh
+AQBkJgAAAd0AAGgmAAAB6AAAbCYAAAHYAABwJgAAAfsAAHQmAAABcwAAeCYAAAGNAAB8
+JgAAAWkAAIAmAAABMgEAhCYAAAGUAACIJgAAATYAAIwmAAABIgEAkCYAAAEeAQCUJgAA
+AXAAAJgmAAABzQAAnCYAAAEYAQCgJgAAAdEAAKQmAAABtQAAqCYAAAHQAACsJgAAASgB
+ALAmAAABvwAAtCYAAAEwAAC4JgAAAVYAALwmAAAByAAAwCYAAAEvAQDEJgAAAToBAMgm
+AAABEAEAzCYAAAEZAADQJgAAAVIAANQmAAABGgEA2CYAAAGPAADcJgAAAUYBAOAmAAAB
+xAAA5CYAAAHtAADoJgAAATEAAOwmAAAB6QAA8CYAAAEiAAD0JgAAAUcAAPgmAAABhgAA
+/CYAAAHLAAAAJwAAAbsAAAQnAAABPQEACCcAAAG6AAAMJwAAAf8AABAnAAAB+QAAFCcA
+AAE7AQAYJwAAAQgAABwnAAABlgAAICcAAAFmAAAkJwAAAYwAACgnAAABYAAALCcAAAHZ
+AAAwJwAAAd4AADQnAAAB8AAAOCcAAAEBAAA8JwAAAQQBAEAnAAABFgEARCcAAAExAQBM
+JwAAAbUAAFAnAAAB0AAAVCcAAAEoAQBYJwAAAb8AAFwnAAABMAAAWDsAAAEBAABcOwAA
+AQEAAGA7AAABAQAAZDsAAAEBAABoOwAAAQEAAGw7AAABAQAAcDsAAAEBAAB0OwAAAQEA
+AMg8AAABUQAAzDwAAAF2AADQPAAAAVgBANQ8AAABYQAA2DwAAAHHAADcPAAAAakAAOA8
+AAABBwEA5DwAAAFKAADoPAAAAZIAAOw8AAABTQAA8DwAAAHsAAD0PAAAAUMBAPg8AAAB
+gAAA/DwAAAHnAAAAPQAAAdMAAAQ9AAABeQEACD0AAAFxAQAMPQAAAasAABA9AAABLgEA
+FD0AAAFyAAAYPQAAAQ0BABw9AAABIwAAID0AAAFCAQAkPQAAATgBACg9AAABRwEALD0A
+AAFVAAAwPQAAAScBADQ9AAAB6gAAOD0AAAHlAAA8PQAAARAAAEA9AAABUQEARD0AAAFx
+AABIPQAAAc8AAEw9AAABVgEAUD0AAAHJAABUPQAAAYoAAFg9AAABGwEAXD0AAAHjAABg
+PQAAAQ4AAGQ9AAABkQAAaD0AAAEKAABsPQAAAYsAAHA9AAABJgEAdD0AAAGgAAB4PQAA
+AQkBAHw9AAABmAAAgD0AAAGhAACEPQAAAQEBAIg9AAABRAAAjD0AAAEpAQCQPQAAATcB
+AJQ9AAAB/QAAmD0AAAF2AQCcPQAAAT8AAKA9AAABtwAApD0AAAGbAACoPQAAAWYBAKw9
+AAABQgAAsD0AAAGDAAC0PQAAAWoBALg9AAABOAAAvD0AAAFBAADAPQAAAScAAMQ9AAAB
+NwAAyD0AAAE8AADMPQAAAXUAANA9AAABFQAA1D0AAAFoAADYPQAAAeEAANw9AAABYwAA
+4D0AAAEPAQDkPQAAAWUBAOg9AAABwQAA7D0AAAF5AADwPQAAAUMAAPQ9AAABHQAA+D0A
+AAFyAQD8PQAAAfoAAAA+AAABwgAABD4AAAGXAAAIPgAAAR8AAAw+AAABWQEAED4AAAFk
+AAAUPgAAAcYAABg+AAABtgAAHD4AAAHFAAAgPgAAAdYAACQ+AAABbwEALD4AAAEBAQAw
+PgAAAUQAADQ+AAABKQEAOD4AAAE3AQA8PgAAAf0AAPxEAAABAQAAAEUAAAEBAAAERQAA
+AQEAAAhFAAABAQAADEUAAAEBAAAQRQAAAQEAAEBFAAABAQAAREUAAAEBAABIRQAAAQEA
+AExFAAABAQAAUEUAAAEBAABURQAAAQEAAFhFAAABAQAAXEUAAAEBAABgRQAAAQEAAGRF
+AAABAQAAaEUAAAEBAABsRQAAAQEAAHBFAAABAQAAdEUAAAEBAAB4RQAAAQEAAHxFAAAB
+AQAAgEUAAAEBAABwUQAAAQEAAHRRAAABAQAAeFEAAAEBAAB8UQAAAQEAAIBRAAABAQAA
+hFEAAAEBAACoXgAAAQEAAKxeAAABAQAAsF4AAAEBAAC0XgAAAQEAALheAAABAQAAvF4A
+AAEBAADAXgAAAQEAAMReAAABAQAAuGoAAAEBAAC8agAAAQEAAMBqAAABAQAAxGoAAAEB
+AADIagAAAQEAAMxqAAABAQAA0GoAAAEBAADUagAAAQEAAOh2AAABAQAA7HYAAAEBAADw
+dgAAAQEAAPR2AAABAQAA+HYAAAEBAAD8dgAAAQEAAAB3AAABAQAABHcAAAEBAAAMAAAA
+AQMAABAAAAABAwAAFAAAAAEDAAAYAAAAAQMAABwAAAABAwAAIAAAAAEDAAA8AQAAAQUA
+AEQBAAABBQAATAEAAAEFAABUAQAAAQUAAFwBAAABBQAAZAEAAAEFAABsAQAAAQUAAHQB
+AAABBQAAfAEAAAEFAACEAQAAAQUAAIwBAAABBQAAlAEAAAEFAACcAQAAAQUAAKQBAAAB
+BQAArAEAAAEFAAC0AQAAAQUAAA==
+====
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/common/io/ath/hal_x86_64.o.uu	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,4237 @@
+/*
+ * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting, Atheros
+ * Communications, Inc.  All rights reserved.
+ *
+ * Use is subject to license terms.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the following conditions are met:
+ * 1. The materials contained herein are unmodified and are used
+ *    unmodified.
+ * 2. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following NO
+ *    ''WARRANTY'' disclaimer below (''Disclaimer''), without
+ *    modification.
+ * 3. Redistributions in binary form must reproduce at minimum a
+ *    disclaimer similar to the Disclaimer below and any redistribution
+ *    must be conditioned upon including a substantially similar
+ *    Disclaimer requirement for further binary redistribution.
+ * 4. Neither the names of the above-listed copyright holders nor the
+ *    names of any contributors may be used to endorse or promote
+ *    product derived from this software without specific prior written
+ *    permission.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT,
+ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
+ * FOR 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 DAMAGES.
+ *
+ */
+#define	ATH_HAL_VERSION	"0.9.14.9"
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+begin-base64 644 hal.o
+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
+AADEAAAAxQAAANAAAADaAAAA5AAAAAAAAAAAAAAAwgAAAMMAAADUAAAA8gAAAA0BAAAo
+AQAAAAAAAAAAAABOT05FAAAAAAAA/wFGQ0MAAAAAABAASANNS0sAAAAAAEAAiAFFVFNJ
+AAAAADcAOgMAAAAAAAAAAAAAAAAAAAAA/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+AAEAAAABAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAA
+AAAIAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAADAADAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAACAARwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAzADAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA
+AAEAAAAAAAAAJAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAACgA
+OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAfADAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAMAADAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AQAAAAAAAAABAAAAAAAAAHAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAA
+AAAAAAA4ADAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAVABVAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAEQAVQAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAEAAAABAAAAAQAAAAAAAABMAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAYABSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAA
+AGQANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAB8ACAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAmABYAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAEAAAAAAAAAAAAAAJwAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAA
+AQAAAAAAAACqABAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAvAAD
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAL8ANgAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAADEADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+AAAAAQAAAAEAAAAAAAAAywA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAANAANwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAADWABAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAA2gADAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAADIDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAA
+AAAAAQAAAAAAAADeAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAA
+6QA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAPYANwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAD6ADYAAAAAAAAAAAAAAAAAAAAAAAAA
+AAABAAAAAAAAAAEAAAAAAAAA/wA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAB
+AAAAAAAAAAwBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAUATcA
+AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAALAEDAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA
+AAABAAAAAQAAAAAAAABUAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAA
+AAAAWAEhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAFwBNQAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAABgATcAAAAAAAAAAAAAAAAAAAAA
+AAAAAAABAAAAAAAAAAEAAAAAAAAAZAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA
+AAABAAAAAAAAAGgBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAABs
+AVIAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAdAE3AAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAHgBAwAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAEAAAAAAAAAAQAAAAAAAAB8ATcAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEA
+AAAAAAAAiAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAIkBQQAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACKAUgAAAAAAAAAAAAAAAAA
+AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAiwFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+AAAAAAAAAAAAAAAAAIwBSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA
+AACNAUsAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkAEDAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAI4BAwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAEAAAAAAAAAAQAAAAAAAACYAUUAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
+AAEAAAAAAAAAmgFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAJsB
+SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACeAQMAAAAAAAAAAAAA
+AAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAArAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AQAAAAAAAAABAAAAAAAAAKYBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAA
+AAAAAAC2ATUAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAuAE3AAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAALoBNwAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAC+ASEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA
+AQAAAAEAAAAAAAAAJwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAA
+AMoBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkARAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAA7AEwAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAQAAAAEAAAABAAAAAAAAAPgBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA
+AQAAAAAAAAAQAjcAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAKgIi
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEICNwAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+AAAAAAAAAAEAAAAAAAAASgIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAA
+AAAAAE8CEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAABcAgMAAAAA
+AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAYAIRAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAQAAAAEAAAABAAAAAAAAAGgCNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAA
+AAAAAQAAAAAAAABsAjcAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAA
+dgIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAHoCAwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAACCAgMAAAAAAAAAAAAAAAAAAAAAAAAA
+AAABAAAAAAAAAAEAAAAAAAAAgwIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAB
+AAAAAAAAAKoCAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAC+AkIA
+AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAvwI2AAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAMECNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA
+AAAAAAAAAQAAAAAAAADGAjcAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAA
+AAAA1AI3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAPACNwAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAD0AjUAAAAAAAAAAAAAAAAAAAAA
+AAAAAAABAAAAAAAAAAEAAAAAAAAA+AIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA
+AAABAAAAAAAAAJ4ARwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAD8
+AkUAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAADAMwAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAABQDNgAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAEAAAAAAAAAAQAAAAAAAAAYAzYAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEA
+AAAAAAAAJAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAABADAwAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAA6AzcAAAAAAAAAAAAAAAAA
+AAAAAAAAAAABAAAAAAAAAAEAAAAAAAAASAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+AAEAAAABAAAAAAAAAFoDRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAA
+AABcAzoAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAXgNWAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAMACAwAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAEAAAAAAAAAAQAAAAAAAAB3AwMAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA
+AAEAAAAAAAAAzAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wH/AQMAmAGZAQcAmAEwCwgAmAEwDCAAIAEQ
+CiEAIAGZASIAIAEwDDoAYAEQCjcAMAGZATUAMAKZATYAMAOZATAAMASZATkAMAWZATQA
+MAaZATIAMAOZATEAMAOZAREAEAGZARAAEAEQClIAUAGZAUUAUAKZAUcAUAOZAUIAUASZ
+AVgAUAWZAVUAUAEwDFYAUAIwDEkAUAJQDUAAQAFACkEAQAFACkMAQAJACkgAQAEQCkoA
+QAFACksAQAFACmAAYABgAGEAYQBhAGIAYgBiAGMAYwBjAGQAZABkAGUAZQBlAGYAZgBm
+AGcAZwBnAGgAaABoAGkAaQBpAGoAagBqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAP8BAgAQAAAURBYFBnEWwRYFBgAAAAAAAAAAAAAAAFABAQAQAHEWwRYeAAAAAAAA
+AAAAAAAAAAAAAAAAAFACAQAQAHEWrRYXAAAAAAAAAAAAAAAAAAAAAAAAAFADAgAQAKAU
+yBQRBnEWrRYeBgAAAAAAAAAAAAAAAFAEAgAQADwUeBQUAHEWwRYUAAAAAAAAAAAAAAAA
+AFAFAgAQAHEWwRYRAAAAAAAAAAAAAAAAAAAAAAAAADABAgAwADwUyBQUAHwVRBYbAAAA
+AAAAAAAAAAAAADACAQAwADwUeBQSAAAAAAAAAAAAAAAAAAAAAAAAADADAQAwADwUyBQU
+AAAAAAAAAAAAAAAAAAAAAAAAADAEAQAwADwUyBQSAAAAAAAAAAAAAAAAAAAAAAAAADAF
+AQAwADwUeBQPAAAAAAAAAAAAAAAAAAAAAAAAADAGAgAwADwUoBQXAHwVRBYeAAAAAAAA
+AAAAAAAAABABAwAQAIwUyBQXBjwUeBQRBnEWwRYeBgAAAAAAACABAgAQADwUyBQXBnEW
+wRYeBgAAAAAAAAAAAAAAAGABBAAQADwUeBQRBowUyBQUBnwVRBYUBnEWwRYeBkABAQBA
+ADIUbhQXAAAAAAAAAAAAAAAAAAAAAAAAAEACAwBAADIUbhQXALAT2BMXADgTdBMXAAAA
+AAAAAAAA/wECABMAChQmFgUGHhQSFgUGAAAAAAAAAAAAAAAAEAEDABMAghSqFBcGWhRa
+FBEGgBaoFh4GAAAAAAAAYAEDABMAghSqFBcGWhRaFBEGgBaoFh4GAAAAAAAAAAAAAAAA
+YAEEABMAeBSgFBcGUBRQFBEGhRatFh4GpBUcFh4GAAAQCgEAEQAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAP8BAwD/AAgJRAkFBoUJhQkFBtAJrAoFBgAAAAAAABAKAQAUAIUJ
+hQkUBgAAAAAAAAAAAAAAAAAAAAAAADAKAQA0AIUJhQkUBgAAAAAAAAAAAAAAAAAAAAAA
+ADALAQA0AIUJhQkUBgAAAAAAAAAAAAAAAAAAAAAAADAMAQA0AIUJhQkUBgAAAAAAAAAA
+AAAAAAAAAAAAAEAKAQBEAIUJhQkUBgAAAAAAAAAAAAAAAAAAAAAAAJkBAQA0AIUJhQkU
+BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wEEAP8ACAlECQUGbAmoCQUG
+tAm0CQUG0AmsCgUGUA0CAP8AbAmoCRQACAlECRQAAAAAAAAAAAAAAAAAMAoBAP8AmQmo
+CRQAAAAAAAAAAAAAAAAAAAAAAAAAMAsBADEAgAmKCRQAAAAAAAAAAAAAAAAAAAAAAAAA
+MAwBADEAbAmoCR4AAAAAAAAAAAAAAAAAAAAAAAAAEAoBABEAbAmeCRsGAAAAAAAAAAAA
+AAAAAAAAAAAAQAoCAEEAbAmoCRQAtAm0CRQAAAAAAAAAAAAAAAAAmQEBADEAbAmoCRQA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAYAAAAAEAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAABmAAAAAQAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAGcAAAABAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAEAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGIAAAACAAAAAAAAAAAAAAAKAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAAAAAAABwAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUAAAAAAAAAAAAAAAAAAAAFAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaQAAAAAAAAAAAAAAAAAAAAgA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAAAAAAAAAAAAAAAAAA
+BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAEA
+AAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAAA
+AQAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGcA
+AAABAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+aAAAAAEAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AABhAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAGIAAAACAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAYwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAABkAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAGUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAaQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAABqAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAGIAUABAAAAAAAAAAAAABABSANQAQAAAAAA
+AAAAAAAwARACQAEAAAAAAAAAAAAAAgBQAQEAQAEEAKAACADAACAA0AAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjBSg
+FLQUyBQAAAAAAAAAAHwVkBWkFbgVzBXgFfQVCBYcFjAWRBYAAAAAAAAAAAAAQAECAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAGABOgBAAQAAAAAAAAAAAAAwAQAAQAEAAAAAAAAAAAAAMAIAAEABAAAAAAAA
+AAAAADADAABAAQAAAAAAAAAAAAAwBAAAQAEAAAAAAAAAAAAAMAUAAEABAAAAAAAAAAAA
+ADAGAABAAQAAAAAAAAAAAAAwCgAAQAEAAAAAAAAAAAAAMAsAAEABAAAAAAAAAAAAADAM
+AABAAQAAAAAAAAAAAABoAGgAQAEAAAAAAAAAAAAAQAJDAEABAAAAAAAAAAAAAEAKQwCg
+AAAAAAAAAAAAAABACkMAwAAAAAAAAAAAAAAAQAFBAEABAAAAAAAAAAAAAEAKQQCgAAAA
+AAAAAAAAAABACkEAwAAAAAAAAAAAAAAAQABDAEEASABKAEsAAAAAACQBmBkAKREEAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAmAAARwAAAAiYAAAAAAAADJgAAKaOhAkQmAAAAOAyPRSYAABrBwAAHJgAAAAA
+AAAgmAAAAAICAiSYAAAODgAAKJgAAAECAgosmAAA/G8DADCYAAAAAAAANJgAAA4OAAA4
+mAAABwAAADyYAAAAAQIAQJgAAAAAY4lEmAAAnBZyE0iYAAAzthgATJgAADxhhBJQmAAA
+4LjoDVSYAABZSAcAWJgAALq+gH5cmAAAXmY6MWCYAAAIHQAAZJgAAADOAQBomAAAkEGa
+QHCYAAAPAAAAdJgAAIAAAAB4mAAABAAAAACZAAAAAAAABJkAAAAAAAAImQAAAAAAAAyZ
+AAAAAIAAEJkAAAMAAAAAmwAAAAAAAASbAAAgAAAACJsAABAAAAAMmwAAMAAAABCbAAAI
+AAAAFJsAACgAAAAYmwAAKAAAABybAAAEAAAAIJsAACQAAAAkmwAAFAAAACibAAA0AAAA
+LJsAAAwAAAAwmwAALAAAADSbAAACAAAAOJsAACIAAAA8mwAAEgAAAECbAAAyAAAARJsA
+AAoAAABImwAAKgAAAEybAAABAAAAUJsAACEAAABUmwAAEQAAAFibAAAxAAAAXJsAAAkA
+AABgmwAAKQAAAGSbAAAFAAAAaJsAACUAAABsmwAAFQAAAHCbAAA1AAAAdJsAAA0AAAB4
+mwAALQAAAHybAAADAAAAgJsAACMAAACEmwAAEwAAAIibAAAzAAAAjJsAAAsAAACQmwAA
+KwAAAJSbAAAHAAAAmJsAACcAAACcmwAAFwAAAKCbAAA3AAAApJsAAA8AAAComwAALwAA
+AKybAAAvAAAAsJsAAC8AAAC0mwAALwAAALibAAAvAAAAvJsAAC8AAADAmwAALwAAAMSb
+AAAvAAAAyJsAAC8AAADMmwAALwAAANCbAAAvAAAA1JsAAC8AAADYmwAALwAAANybAAAv
+AAAA4JsAAC8AAADkmwAALwAAAOibAAAvAAAA7JsAAC8AAADwmwAALwAAAPSbAAAvAAAA
++JsAAC8AAAD8mwAALwAAAACaAAAdAAAABJoAAF0AAAAImgAAnQAAAAyaAADdAAAAEJoA
+AB0BAAAUmgAAIQAAABiaAABhAAAAHJoAAKEAAAAgmgAA4QAAACSaAAAxAAAAKJoAAHEA
+AAAsmgAAsQAAADCaAAAcAAAANJoAAFwAAAA4mgAAKQAAADyaAABpAAAAQJoAAKkAAABE
+mgAAIAAAAEiaAAAZAAAATJoAAFkAAABQmgAAmQAAAFSaAAAwAAAAWJoAAAUAAABcmgAA
+JQAAAGCaAABlAAAAZJoAAKUAAABomgAAKAAAAGyaAABoAAAAcJoAAB8AAAB0mgAAHgAA
+AHiaAAAYAAAAfJoAAFgAAACAmgAAmAAAAISaAAADAAAAiJoAAAQAAACMmgAARAAAAJCa
+AACEAAAAlJoAABMAAACYmgAAEgAAAJyaAABSAAAAoJoAAJIAAACkmgAA0gAAAKiaAAAr
+AAAArJoAACoAAACwmgAAagAAALSaAACqAAAAuJoAABsAAAC8mgAAGgAAAMCaAABaAAAA
+xJoAAJoAAADImgAA2gAAAMyaAAAGAAAA0JoAAAYAAADUmgAABgAAANiaAAAGAAAA3JoA
+AAYAAADgmgAABgAAAOSaAAAGAAAA6JoAAAYAAADsmgAABgAAAPCaAAAGAAAA9JoAAAYA
+AAD4mgAABgAAAPyaAAAGAAAA1JgAACAAAADMmAAABAAAAMiYAAAGAQYAnJgAAG0AAADA
+mAAAAAAAANCYAAAUAAAAAAAAAAAAAAAJCQAAAAAAAgIGBgYGBgYCAgAAAAMABgAJADwA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAMwAAAAAAAAAAAAAAAAAAAAK4gAA
+ACAAAAoCAAABGAAAAQAAAEAYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUE
+VxkAKREEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwJ
+jwm0CQAAAAAAAAAAAAAAAAAAIAAAACAAAABAAAAAQAAAAAAABgAAAAYAAAAGADAAAAAV
+AAAAFQAAAB0AAAAVAAAAQBAAAA/8LwAP/C8AH/wvAA/8LwBEEAAAD/wvAA/8LwAf/C8A
+D/wvAEgQAAAP/C8AD/wvAB/8LwAP/C8ATBAAAA/8LwAP/C8AH/wvAA/8LwBQEAAAD/wv
+AA/8LwAf/C8AD/wvAFQQAAAP/C8AD/wvAB/8LwAP/C8AWBAAAA/8LwAP/C8AH/wvAA/8
+LwBcEAAAD/wvAA/8LwAf/C8AD/wvAGAQAAAP/C8AD/wvAB/8LwAP/C8AZBAAAA/8LwAP
+/C8AH/wvAA/8LwBwEAAAaAEAAOABAAC4AQAAaAEAADAQAAAwAgAA4AEAALAAAAAwAgAA
+sBAAAJgNAACAEQAASB8AAJgNAADwEAAA4KAAAGhAAQCAWAAA4KAAABSAAAAABAAEAAgA
+CAAwACAABAAEHIAAAKePjQ7Pj40OlY9gAaePjQ4EmAAAAAAAAAMAAAAAAAAAAAAAACCY
+AAAAAgICAAICAgACAQIAAgICJJgAAA4OAAAODgAABwcAAA4OAAAomAAAAQACCgEAAgoA
+AAEFAQACCjSYAAAODgAADg4AAA4OAAAODgAAOJgAAAcAAAAHAAAACwAAAAsAAABEmAAA
+nBZyE6UWchOoFnITnBZyE0iYAABnuhgAZ7oYAGm6GABpuhgAUJgAAOC0KAzgtCgM4LQo
+DOC0KAxYmAAALg2Afi4NgH4uDcB+Lg2AflyYAABeXTcxXl03MV5dOjFeXTcxYJgAABC9
+AAAQvQAAOL0AABC9AABkmAAAAM4BAADOAQAAzgEAAM4BABSZAAAQJwAAECcAAHwVAAAQ
+JwAAGJkAAJABAACQAQAAhAAAAJABAABEmQAAIBDgbyAQ4G8gCeBvIBDgb4ChAAD/FP8F
+/xT/Bf8U/wX/Gf8F1JgAABAAAAAUAAAAEAAAABAAAAAAAAAADAAAAAAAAAAoAAAAnJyE
+hCwAAAB8fHx8NAAAAAUAAABAAAAAAAAAAEQAAAAIAAAASAAAAAgAAABMAAAAEAAAAFAA
+AAAAAAAAVAAAAB8AAAAACAAAAAAAAAQIAAAAAAAACAgAAAAAAAAMCAAAAAAAABAIAAAA
+AAAAFAgAAAAAAAAYCAAAAAAAABwIAAAAAAAAIAgAAAAAAAAkCAAAAAAAADASAAAAAAAA
+BIAAAAAAAAAIgAAAAAAAAAyAAAAAAAAAGIAAAAAAAAAkgAAAAAAAACiAAAAwAAAALIAA
+AP//BwAwgAAA////ATSAAAAxAAAAOIAAAAAAAAA8gAAAAAAAAECAAAAAAAAARIAAAAIA
+AABIgAAAAAAAAFSAAAAAAAAAWIAAAAAAAAAImAAAAAAAAAyYAACTkIQtEJgAAADgMn0U
+mAAAaw8AAByYAAAAAAAALJgAAP5vAgAwmAAAAAAAADyYAAAAAQIAQJgAAHoBaiBMmAAA
+PGGEElSYAABZCAAAaJgAAJBBmkBsmAAAgbAMBXCYAAAPAAAAdJgAAIAAAAB4mAAADAAA
+AACZAAAAAAAABJkAAAAAAAAImQAAAAAAAAyZAAAAAIAAEJkAAAEAAAAcmQAAKgkAACCZ
+AAAAAAAAJJkAAAWKBQAomQAAAQAAACyZAAAAAAAAMJkAAAAAAAA0mQAAAAAAADiZAAAA
+AAAAPJkAAD8AAABAmQAABAAAAEiZAAAAAAAATJkAAAAAAABQmQAAAAAAAFSZAABM8VBd
+WJkAABgAAABcmQAAjmpLAIShAAD/Bf8GiKEAAP8H/weMoQAA/wj/CJChAAD/Cf8JlKEA
+AP8K/wqYoQAA/wv/C5yhAAD/DP8MoKEAAP8N/w2koQAA/w7/D6ihAAD/Ev8SrKEAAP8T
+/xSwoQAA/xX/FrShAAD/F/8ZuKEAAP8a/xu8oQAA/x3/HsChAAD/IP8jxKEAAP8l/yfI
+oQAA/yn/LMyhAAD/L/8x0KEAAP80/zfUoQAA/zr/OtihAAD/Ov863KEAAP86/zrgoQAA
+/zr/OuShAAD/Ov866KEAAP86/zrsoQAA/zr/OvChAAD/Ov869KEAAP86/zr4oQAA/zr/
+OvyhAAD/Ov86AJsAAAAAAAAEmwAAIAAAAAibAAAQAAAADJsAADAAAAAQmwAACAAAABSb
+AAAoAAAAGJsAAAQAAAAcmwAAJAAAACCbAAAUAAAAJJsAADQAAAAomwAADAAAACybAAAs
+AAAAMJsAAAIAAAA0mwAAIgAAADibAAASAAAAPJsAADIAAABAmwAACgAAAESbAAAqAAAA
+SJsAAAYAAABMmwAAJgAAAFCbAAAWAAAAVJsAADYAAABYmwAADgAAAFybAAAuAAAAYJsA
+AAEAAABkmwAAIQAAAGibAAARAAAAbJsAADEAAABwmwAACQAAAHSbAAApAAAAeJsAAAUA
+AAB8mwAAJQAAAICbAAAVAAAAhJsAADUAAACImwAADQAAAIybAAAtAAAAkJsAAAMAAACU
+mwAAIwAAAJibAAATAAAAnJsAADMAAACgmwAACwAAAKSbAAArAAAAqJsAACsAAACsmwAA
+KwAAALCbAAArAAAAtJsAACsAAAC4mwAAKwAAALybAAArAAAAwJsAACsAAADEmwAAKwAA
+AMibAAArAAAAzJsAACsAAADQmwAAKwAAANSbAAArAAAA2JsAACsAAADcmwAAKwAAAOCb
+AAArAAAA5JsAACsAAADomwAAKwAAAOybAAArAAAA8JsAACsAAAD0mwAAKwAAAPibAAAC
+AAAA/JsAABYAAADUmAAAIAAAANiYAABoEGAAAAAAAAAAAAAAmgAAqQEAAAAAAAAEmgAA
+6QEAAEAAAAAImgAAKQAAAIAAAAAMmgAAaQAAAFABAAAQmgAAmQEAAJABAAAUmgAA2QEA
+ANABAAAYmgAAGQAAABAAAAAcmgAAWQAAAEQAAAAgmgAAmQAAAIQAAAAkmgAApQEAAEgB
+AAAomgAA5QEAAIgBAAAsmgAAJQAAAMgBAAAwmgAAyAEAABQAAAA0mgAACAAAAEIAAAA4
+mgAASAAAAIIAAAA8mgAAiAAAAHgBAABAmgAAmAEAALgBAABEmgAA2AEAAPgBAABImgAA
+GAAAABIAAABMmgAAWAAAAFIAAABQmgAAmAAAAJIAAABUmgAApAEAAHwBAABYmgAA5AEA
+ALwBAABcmgAAJAAAAPwBAABgmgAAZAAAAAoAAABkmgAApAAAAEoAAABomgAA5AAAAIoA
+AABsmgAACgEAAFoBAABwmgAASgEAAJoBAAB0mgAAigEAANoBAAB4mgAAygEAAA4AAAB8
+mgAACgAAAE4AAACAmgAASgAAAI4AAACEmgAAigAAAF4BAACImgAAugEAAJ4BAACMmgAA
++gEAAN4BAACQmgAAOgAAAAkAAACUmgAAegAAAEkAAACYmgAAhgEAAIkAAACcmgAAxgEA
+AHkBAACgmgAABgAAALkBAACkmgAARgAAAPkBAAComgAAhgAAADkAAACsmgAAxgAAAHkA
+AACwmgAAxgAAALkAAAC0mgAAxgAAAL0BAAC4mgAAxgAAAP0BAAC8mgAAxgAAAD0AAADA
+mgAAxgAAAH0AAADEmgAAxgAAAL0AAADImgAAxgAAAP0AAADMmgAAxgAAAP0AAADQmgAA
+xgAAAP0AAADUmgAAxgAAAP0AAADYmgAAxgAAAP0AAADcmgAAxgAAAP0AAADgmgAAxgAA
+AP0AAADkmgAAxgAAAP0AAADomgAAxgAAAP0AAADsmgAAxgAAAP0AAADwmgAAxgAAAP0A
+AAD0mgAAxgAAAP0AAAD4mgAAxgAAAP0AAAD8mgAAxgAAAP0AAAABAAAARgAAAGAAAAAB
+AAAARgAAAGEAAAABAAAARgAAAGIAAAABAAAARgAAAGMAAAABAAAARgAAAGQAAAABAAAA
+RgAAAGUAAAABAAAARgAAAGYAAAABAAAARgAAAGcAAAABAAAARgAAAGgAAAABAAAARgAA
+AGkAAAABAAAARgAAAGoAAAABAAAARgAAAGsAAAABAAAARgAAAGwAAAABAAAARgAAAHQA
+AAABAAAARgAAAHQAAAABAAAARgAAAHQAAAABAAAARgAAAHQAAAABAAAARgAAAHQAAAAB
+AAAARgAAAHQAAAABAAAARgAAAHQAAAABAAAARgAAAHQAAAABAAAARgAAAHUAAAABAAAA
+RgAAAHYAAAABAAAARgAAAHcAAAABAAAARgAAAHgAAAABAAAARgAAAHkAAAABAAAARgAA
+AHoAAAABAAAARgAAAHsAAAABAAAARgAAAHwAAAABAAAARgAAAH0AAAABAAAARgAAAH4A
+AAABAAAARgAAAH8AAAABAAAARgAAAIAAAAABAAAARAAAAHwAAAABAAAARgAAAIgAAAAB
+AAAARgAAAIwAAAABAAAARgAAAJAAAAABAAAARgAAAJQAAAABAAAARgAAAJgAAAABAAAA
+RgAAAJwAAAABAAAARgAAAKAAAAABAAAARgAAAKQAAAABAAAARgAAAKgAAAABAAAARgAA
+AKwAAAABAAAARgAAALAAAAABAAAARgAAALQAAAAAAgcAAAADAAYACQA8AAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAACQAAAAQAAAAEAAEAAQABAAYAAABGRzgAAAAAAAAAAAAAAAAA
+BAAAAAEAAQAEAAAARkc3AAAAAAAAAAAAAAAAAAMAAQABAAEAAwAAAEZHNgAAAAAAAAAA
+AAAAAAAEAAAAAAABAAEAAABGRzUAAAAAAAAAAAAAAAAABAABAAEAAAAAAAAARkc0AAAA
+AAAAAAAAAAAAAAQAAAABAAAA/v///0ZHMwAAAAAAAAAAAAAAAAADAAEAAQAAAP3///9G
+RzIAAAAAAAAAAAAAAAAABAAAAAAAAAD8////RkcxAAAAAAAAAAAAAAAAAAIAAQABAAAA
++v///0ZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBBU
+GQApEQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAmP
+CbQJCAlsCbQJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAABAAAAAQAAAAAAABgAA
+AAYAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAABAEAAAD/wvAA/8LwAf/C8AD/wvAA/8LwBEEAAAD/wvAA/8LwAf
+/C8AD/wvAA/8LwBIEAAAD/wvAA/8LwAf/C8AD/wvAA/8LwBMEAAAD/wvAA/8LwAf/C8A
+D/wvAA/8LwBQEAAAD/wvAA/8LwAf/C8AD/wvAA/8LwBUEAAAD/wvAA/8LwAf/C8AD/wv
+AA/8LwBYEAAAD/wvAA/8LwAf/C8AD/wvAA/8LwBcEAAAD/wvAA/8LwAf/C8AD/wvAA/8
+LwBgEAAAD/wvAA/8LwAf/C8AD/wvAA/8LwBkEAAAD/wvAA/8LwAf/C8AD/wvAA/8LwAw
+EAAAMAIAAOABAACwAAAAYAEAAOABAABwEAAAaAEAAOABAAC4AQAAjAEAAOABAACwEAAA
+YA4AAIARAAAcHwAAOD4AAIARAADwEAAA4KAAAGhAAQCAWAAA4LAAAGhAAQAUgAAA6APo
+A+AG4AYgBCAEQAhACOAG4AYEmAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAgmAAAAAICAgAC
+AgIAAgECAAICAgACAgIkmAAADg4AAA4OAAAHBwAADg4AAA4OAABEmAAAHBZyEyUcchMo
+F3ITohZyEyUcchNgmAAAEJ0AABCdAAAYnQAAGJ0AABCdAABkmAAAAM4BAADOAQAAzgEA
+AM4BAADOAQBomAAAkEGaQJBBmkCQQZpAkEGaQJBBmkAYmQAAuAEAALgBAACEAAAACAEA
+ALgBAAAkmQAABYoFEAWKBRAFigUQBYoFEAWKBRAwogAAAAAAAAAAAAAAAAAACAEAAAAA
+AAAAAAAAAAAAAAwAAAAAAAAANAAAAAUAAABAAAAAAAAAAEQAAAAIAAAASAAAAAgAAABM
+AAAAEAAAAFAAAAAAAAAAVAAAAB8AAAAACAAAAAAAAAQIAAAAAAAACAgAAAAAAAAMCAAA
+AAAAABAIAAAAAAAAFAgAAAAAAAAYCAAAAAAAABwIAAAAAAAAIAgAAAAAAAAkCAAAAAAA
+AHASAAAAAAAAOBAAAAAAAAB4EAAAAAAAALgQAAAAAAAA+BAAAAAAAAA4EQAAAAAAAHgR
+AAAAAAAAuBEAAAAAAAD4EQAAAAAAADgSAAAAAAAAeBIAAAAAAAC4EgAAAAAAAPgSAAAA
+AAAAOBMAAAAAAAB4EwAAAAAAALgTAAAAAAAA+BMAAAAAAAA4FAAAAAAAAHgUAAAAAAAA
+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
+AAAAAAAAAAAAAAAAAAAAAPr///9GRzQAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAA
+APj///9GRzMAAAAAAAAAAAAAAAAAAAABAAEAAAABAAEAAAAAAPb///9GRzIAAAAAAAAA
+AAAAAAAAAAABAAAAAQABAAEAAAAAAPP///9GRzEAAAAAAAAAAAAAAAAAAAABAAAAAQAB
+AAAAAQAAAPD///9GRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYXI1MjEy
+QW5pUG9sbAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAFYAAABWAAAAVgAAAFYAAABWAAAAc
+gAAAp4+NEs8PiAmVD+AEqw/gEs8PiAkomAAAAQACCgEAAgoAAQEFAQACCgEAAgo0mAAA
+Dg4AAA4OAAAODgAADg4AAA4OAAA4mAAABwAAAAcAAAALAAAACwAAAAsAAABImAAAWtoY
+AFraGABpyhgAacoYAGnKGABQmAAA4LToDeC06A3gtOgN4LToDeC06A1YmAAALg2Afi4N
+gH4uTeh+Lk3ofi4NgH5cmAAAXmY3MV5mNzFeZjcxXmY3MV5hNzFsmAAAgbAMBYGwDAWB
+sAwFgLAMBYCwDAUUmQAAECcAABAnAAB8FQAA+CoAABAnAABEmQAAIBC49yAQuPcgDbj3
+IBC49yAQuPcMogAAakEsZGpBLGRqQUBkakFAZGpBQGQcogAACoCDGAqAgxgKgHMYCoCD
+GAqAgxgAAAAAAAAAAAAAAAAAAAAAMBIAAAAAAAAsmAAA/i8CADyYAAAAAQIATJgAADxh
+hBIwmQAAg0gAAECZAAAEAAAAdJkAAAAAAAD4mQAAGAAAAASiAAAAAAAACKIAAIhnPtAo
+ogAAtQEAADyiAACvicgTBJsAACAAAAAImwAAEAAAAAybAAAwAAAAEJsAAAgAAAAUmwAA
+KAAAABibAAAEAAAAHJsAACQAAAAgmwAAFAAAACSbAAA0AAAALJsAACwAAAAwmwAAAgAA
+ADSbAAAiAAAAPJsAADIAAABAmwAACgAAAESbAAAqAAAASJsAAAYAAABMmwAAJgAAAFCb
+AAAWAAAAVJsAADYAAABYmwAADgAAAFybAAAuAAAAYJsAAAEAAABomwAAEQAAAGybAAAx
+AAAAcJsAAAkAAAB0mwAAKQAAAHibAAAFAAAAfJsAACUAAACAmwAAFQAAAISbAAA1AAAA
+iJsAAA0AAACQmwAAAwAAAJSbAAAjAAAAmJsAABMAAACgmwAACwAAAKSbAAArAAAAqJsA
+ACsAAACsmwAAKwAAALCbAAArAAAAtJsAACsAAAC4mwAAKwAAALybAAArAAAAwJsAACsA
+AADEmwAAKwAAAMibAAArAAAAzJsAACsAAADQmwAAKwAAANSbAAArAAAA2JsAACsAAADc
+mwAAKwAAAOCbAAArAAAA5JsAACsAAADomwAAKwAAAOybAAArAAAA8JsAACsAAAD0mwAA
+KwAAAPibAAACAAAA/JsAABYAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+nJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAA
+OAAAADgAAAA4AAAAOAAAADgAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAnJgAAAAAAAAAAAAAwAAAAIAAAACAAAAAnJgAAPkABAD5AAQA
+/wAEAP0ABAD9AAQA1JgAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAmgAAqQEA
+AAAAAAAEmgAA6QEAAEAAAAAImgAAKQAAAIAAAAAMmgAAaQAAAFABAAAQmgAAmQEAAJAB
+AAAUmgAA2QEAANABAAAYmgAAGQAAABAAAAAcmgAAWQAAAEQAAAAgmgAAmQAAAIQAAAAk
+mgAApQEAAEgBAAAomgAA5QEAAIgBAAAsmgAAJQAAAMgBAAAwmgAAyAEAABQAAAA0mgAA
+CAAAAEIAAAA4mgAASAAAAIIAAAA8mgAAiAAAAHgBAABAmgAAmAEAALgBAABEmgAA2AEA
+APgBAABImgAAGAAAABIAAABMmgAAWAAAAFIAAABQmgAAmAAAAJIAAABUmgAApAEAAHwB
+AABYmgAA5AEAALwBAABcmgAAJAAAAPwBAABgmgAAZAAAAAoAAABkmgAApAAAAEoAAABo
+mgAA5AAAAIoAAABsmgAACgEAAFoBAABwmgAASgEAAJoBAAB0mgAAigEAANoBAAB4mgAA
+ygEAAA4AAAB8mgAACgAAAE4AAACAmgAASgAAAI4AAACEmgAAigAAAF4BAACImgAAugEA
+AJ4BAACMmgAA+gEAAN4BAACQmgAAOgAAAAkAAACUmgAAegAAAEkAAACYmgAAhgEAAIkA
+AACcmgAAxgEAAHkBAACgmgAABgAAALkBAACkmgAARgAAAPkBAAComgAAhgAAADkAAACs
+mgAAxgAAAHkAAACwmgAAxgAAALkAAAC0mgAAxgAAAL0BAAC4mgAAxgAAAP0BAAC8mgAA
+xgAAAD0AAADAmgAAxgAAAH0AAADEmgAAxgAAAL0AAADImgAAxgAAAP0AAADMmgAAxgAA
+AP0AAADQmgAAxgAAAP0AAADUmgAAxgAAAP0AAADYmgAAxgAAAP0AAADcmgAAxgAAAP0A
+AADgmgAAxgAAAP0AAADkmgAAxgAAAP0AAADomgAAxgAAAP0AAADsmgAAxgAAAP0AAADw
+mgAAxgAAAP0AAAD0mgAAxgAAAP0AAAD4mgAAxgAAAP0AAAD8mgAAxgAAAP0AAADUmAAA
+IAAAAAAAAAAAAAAA1JgAABAAAAAUAAAAEAAAABAAAAAUAAAAAAAAAAAAAADYmAAAaBBg
+AGgQYABoEGAAaBBgAGgQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcmAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAACcmAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcmAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAACcmAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcmAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAACcmAAAAAAAEAAAABAAAAAQAAAAEAAAABCcmAAAAAAABAAAAAQAAAAEAAAA
+BAAAAAScmAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcmAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AACcmAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcmAAAAAAAAAAAAAAAAAAKAAAAAAAAAACc
+mAAAwAA4AIAAOADAADgCwAA4AMAAOACcmAAABgACAAYAAgAGAAAABgACAAYAAgCcmAAA
+iQAAAIkAAACJAAAAiQAAAIkAAACcmAAAoAAAAKAAAACgAAAAoAAAAKAAAACcmAAABwAE
+AAcABAAHAAQABwAEAAcABADUmAAAGgAAABoAAAAaAAAAGgAAABoAAAAAAAAAAAAAAJyY
+AABAAAAASAAAAEAAAABAAAAAQAAAAJyYAAAQAAAAEAAAABAAAAAQAAAAEAAAAJyYAAAI
+AAAACAAAAAgAAAAIAAAACAAAAJyYAABPAAAATwAAAE8AAABPAAAATwAAAJyYAADxAAAA
+8QAAAGEAAADxAAAA8QAAAJyYAABPkAAAT5AAAEyQAABPkAAAT5AAAJyYAABaEgAAWhIA
+AJoSAABaEgAAWhIAAMyYAAAOAAAADgAAAA8AAAAOAAAADgAAAAEAAABGAAAAYAAAAAEA
+AABGAAAAYQAAAAEAAABGAAAAYgAAAAEAAABGAAAAYwAAAAEAAABGAAAAZAAAAAEAAABG
+AAAAZQAAAAEAAABGAAAAZgAAAAEAAABGAAAAZwAAAAEAAABGAAAAaAAAAAEAAABGAAAA
+aQAAAAEAAABGAAAAagAAAAEAAABGAAAAawAAAAEAAABGAAAAbAAAAAEAAABGAAAAdAAA
+AAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEA
+AABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdAAAAAEAAABGAAAAdQAAAAEAAABG
+AAAAdgAAAAEAAABGAAAAdwAAAAEAAABGAAAAeAAAAAEAAABGAAAAeQAAAAEAAABGAAAA
+egAAAAEAAABGAAAAewAAAAEAAABGAAAAfAAAAAEAAABGAAAAfQAAAAEAAABGAAAAfgAA
+AAEAAABGAAAAfwAAAAEAAABGAAAAgAAAAAEAAABEAAAAfAAAAAEAAABGAAAAiAAAAAEA
+AABGAAAAjAAAAAEAAABGAAAAkAAAAAEAAABGAAAAlAAAAAEAAABGAAAAmAAAAAEAAABG
+AAAAnAAAAAEAAABGAAAAoAAAAAEAAABGAAAApAAAAAEAAABGAAAAqAAAAAEAAABGAAAA
+rAAAAAEAAABGAAAAsAAAAAEAAABGAAAAtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAwAAAAFYAAABWAAAAVgAAAFYAAABWAAAAcgAAAp5ONEs8TiAmV
+E+AEqxPgEs8TiAkomAAAAQACCgEAAgoAAQIFAQACCgEAAgo0mAAADg4AAA4OAAAODgAA
+Dg4AAA4OAAA4mAAABwAAAAcAAAALAAAACwAAAAsAAABImAAAbdoYAG3aGAB1yhgAdcoY
+AHXKGABQmAAA4LToDeC06A3gtOgN4LToDeC06A1YmAAALg2Afi4NgH4uDeh+Lg3ofi4N
+gH5cmAAAXmY3MV5mNzFeZjcxXmY3MV5mNzFsmAAAgbAMBYGwDAWBsAwFgbAMBYGwDAUU
+mQAA0AcAANAHAABMBAAAmAgAANAHAABEmQAAIBC49yAQuPcQDbj3EBC49xAQuPcEogAA
+AAAAAAAAAAAIAAAACAAAAAgAAAAIogAAiGe+1ohnvtaIZz7QiGc+0IhnPtAMogAAQAEs
+ZEABLGRgwUJkYMFCZGDBQmQcogAACoCDGAqAgxgKgHMYCoCDGAqAgxgwEgAAAAAAACyY
+AAD+LwIAPJgAAAABAgBMmAAAPGGEEjCZAACCSAAAQJkAAAQAAAB0mQAAAAAAACiiAAC1
+AQAAPKIAAK+JyBMEmwAAAQAAAAibAAACAAAADJsAAAMAAAAQmwAABAAAABSbAAAFAAAA
+GJsAAAgAAAAcmwAACQAAACCbAAAKAAAAJJsAAAsAAAAsmwAADQAAADCbAAAQAAAANJsA
+ABEAAAA8mwAAEwAAAECbAAAUAAAARJsAABUAAABImwAAGAAAAEybAAAZAAAAUJsAABoA
+AABUmwAAGwAAAFibAAAcAAAAXJsAAB0AAABgmwAAIAAAAGibAAAiAAAAbJsAACMAAABw
+mwAAJAAAAHSbAAAlAAAAeJsAACgAAAB8mwAAKQAAAICbAAAqAAAAhJsAACsAAACImwAA
+LAAAAJCbAAAwAAAAlJsAADEAAACYmwAAMgAAAKCbAAA0AAAApJsAADUAAAComwAANQAA
+AKybAAA1AAAAsJsAADUAAAC0mwAANQAAALibAAA1AAAAvJsAADUAAADAmwAANQAAAMSb
+AAA1AAAAyJsAADUAAADMmwAANQAAANCbAAA1AAAA1JsAADUAAADYmwAANQAAANybAAA1
+AAAA4JsAADUAAADkmwAANQAAAOibAAA1AAAA7JsAADUAAADwmwAANQAAAPSbAAA1AAAA
++JsAABAAAAD8mwAAGgAAAAAAAAAAAAAAAJoAAAcAAAAHAAAABJoAAEcAAABHAAAACJoA
+AIcAAACHAAAADJoAAKABAACgAQAAEJoAAOABAADgAQAAFJoAACAAAAAgAAAAGJoAAGAA
+AABgAAAAHJoAAKEBAAChAQAAIJoAAOEBAADhAQAAJJoAACEAAAAhAAAAKJoAAGEAAABh
+AAAALJoAAGIBAABiAQAAMJoAAKIBAACiAQAANJoAAOIBAADiAQAAOJoAACIAAAAiAAAA
+PJoAAGIAAABiAAAAQJoAAGMBAABjAQAARJoAAKMBAACjAQAASJoAAOMBAADjAQAATJoA
+ACMAAAAjAAAAUJoAAGMAAABjAAAAVJoAAIQBAACEAQAAWJoAAMQBAADEAQAAXJoAAAQA
+AAAEAAAAYJoAAOoBAAALAAAAZJoAACoAAABLAAAAaJoAAGoAAACLAAAAbJoAAKoAAACs
+AQAAcJoAAKsBAADsAQAAdJoAAOsBAAAsAAAAeJoAACsAAAASAAAAfJoAAGsAAABSAAAA
+gJoAAKsAAACSAAAAhJoAAKwBAACTAQAAiJoAAOwBAADTAQAAjJoAACwAAAATAAAAkJoA
+ADoAAABTAAAAlJoAAHoAAACTAAAAmJoAALoAAACUAQAAnJoAALsBAADUAQAAoJoAAPsB
+AAAUAAAApJoAADsAAAA6AAAAqJoAAHsAAAB6AAAArJoAALsAAAC6AAAAsJoAALwBAAC7
+AQAAtJoAAPwBAAD7AQAAuJoAADwAAAA7AAAAvJoAAHwAAAB7AAAAwJoAALwAAAC7AAAA
+xJoAAPwAAAC8AQAAyJoAAPwAAAD8AQAAzJoAAPwAAAA8AAAA0JoAAPwAAAB8AAAA1JoA
+APwAAAC8AAAA2JoAAPwAAAD8AAAA3JoAAPwAAAD8AAAA4JoAAPwAAAD8AAAA5JoAAPwA
+AAD8AAAA6JoAAPwAAAD8AAAA7JoAAPwAAAD8AAAA8JoAAPwAAAD8AAAA9JoAAPwAAAD8
+AAAA+JoAAPwAAAD8AAAA/JoAAPwAAAD8AAAA1JgAACAAAAAAAAAAAAAAANCYAAAIBAYD
+CAQHAwgEBgMIBAYDCAQHAwAAAAAAAAAA3JgAAMDAoADAwKAAwMDgAMDA4ADAwOAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAAA8AAAAPAAAADwAAAA8AAAAPnJgAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAnJgAAAAAgAAAAIAAAACAAAAAgAAAAIAAnJgAAAAAKgAA
+ACoAAAAqAAAAKgAAACoAnJgAAAAAAQAAAAEAAAABAAAAAQAAAAEAnJgAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAnJgAAAAAGAAAABgAAAAYAAAAGAAAABgAnJgAAAAAYAAAAGAAAABu
+AAAAbgAAAG4AnJgAAAAAxwAAAMcAAADHAAAAxwAAAMcAnJgAAAAASwAAAEsAAABLAAAA
+SwAAAEsAnJgAAAAASAQAAEgEAABIBAAASAQAAEgEnJgAAAAATAAAAEwAAABMAAAATAAA
+AEwAnJgAAAAA5AAAAOQAAADkAAAA5AAAAOQAnJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+nJgAAAAA/AAAAPwAAAD8AAAA/AAAAPwAnJgAAAAA/wAAAP8AAAD/AAAA/wAAAP8AnJgA
+AAAAPwQAAD8EAAA/BAAAPwQAAD8EnJgAAAAADAAAAAwAAAAMAAAADAAAAAwAnJgAAAAA
+GQIAABkCAAAZAgAAGQIAABkCnJgAAAAAJAAAACQAAAAkAAAAJAAAACQAnJgAAAAAtAAA
+ALQAAAC0AAAAtAAAALQAnJgAAAAAmQAAAJkAAACZAAAAmQAAAJkAnJgAAAAAUAAAAFAA
+AABQAAAAUAAAAFAAnJgAAAAAKgAAACoAAAAqAAAAKgAAACoAnJgAAAAAEgAAABIAAAAS
+AAAAEgAAABIAnJgAAAAAMsAAADLAAAAywAAAMsAAADLAnJgAAAAAdAEAAHQBAAB0AQAA
+dAEAAHQBnJgAAAAAEQAAABEAAAARAAAAEQAAABEAnJgAAAAAKIYAACiGAAAohgAAKIYA
+ACiGnJgAAAAAhDEAAIQxAACEMQAAhDEAAIQxnJgAAIAA8gCAAPIAgADyAIAA8gCAAPIA
+nJgAABkAJwAZACcAGQAnABkAJwAZACcAnJgAAAMAAAADAAAAAwAAAAMAAAADAAAAnJgA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAnJgAALIAAACyAAAAsgAAALIAAACyAAAAnJgAAIQg
+sACEILAAhCCwAIQgsACEILAAnJgAAKQlQQCkJUEApCVBAKQlQQCkJUEAnJgAACCSEQAg
+khEAIJIRACCSEQAgkhEAnJgAAABIGgAASBoAAEgaAABIGgAASBoA2JgAADACCwAwAgsA
+MAILADACCwAwAgsAnJgAAJQAAACUAAAAlAAAAJQAAACUAAAAnJgAAJEAAACRAAAAkQAA
+AJEAAACRAAAAnJgAABIAAAASAAAAEgAAABIAAAASAAAAnJgAAIAAAACAAAAAgAAAAIAA
+AACAAAAAnJgAANkAAADZAAAA2QAAANkAAADZAAAAnJgAAGAAAABgAAAAYAAAAGAAAABg
+AAAAnJgAAPAAAADwAAAA8AAAAPAAAADwAAAAnJgAAKIAAACiAAAAogAAAKIAAACiAAAA
+nJgAAFIAAABSAAAAUgAAAFIAAABSAAAAnJgAANQAAADUAAAA1AAAANQAAADUAAAAnJgA
+AMwUAADMFAAAzBQAAMwUAADMFAAAnJgAAIwEAACMBAAAjAQAAIwEAACMBAAAxJgAAAMA
+AAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABUAAAAVAAAA
+FQAAABUAAAAVAAAAHIAAAKeTjRLPE4gJlRPgBKsT4BLPE4gJKJgAAAEAAgoBAAIKAAAC
+BQEAAgoBAAIKNJgAAAAOAAAADgAAAA4AAAAOAAAADgAAOJgAAAIAAAACAAAACgAAAAoA
+AAAKAAAASJgAAG3aGABt2hgAZGoaAGRqGgBkahoAUJgAAOC06A3gtOgN2rDoDdqwmAza
+sOgNWJgAAC4NgH4uDYB+Lg3ofi4NyH4uDYB+XJgAAF5mNzFeZjcxXmY3MV5gOTFeZjcx
+bJgAAIGwDAWBsAwFgbAMBYGwDAWBsAwFFJkAANAHAADQBwAATAQAAJgIAADQBwAARJkA
+AAAQuPcAELj3AA249wAQuPcAELj3BKIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKIAAIhn
+vtaIZ77WiGc+0IhnPtCIZz7QDKIAAEABLABAASwAQMFCAEDBQgBAwUIAHKIAAAqAgxgK
+gIMYCoBjGAqAgxgKgIMYMBIAAOADAABggAAADwAAABiBAAAAAAAAHIEAAAAAAAAggQAA
+AAAAACSBAAAAAAAAKIEAAAAAAAAsgQAAAAAAADCBAAAAAAAANIEAAAAAAAA4gQAAAAAA
+ADyBAAAAAAAAQIEAAKgAAIBEgQAAAAAAACyYAAAAoAAAPJgAAAAEIABMmAAAPCOEEnCY
+AAAfAAAAdJgAAIAAAAB4mAAADgAAAICZAAAAAAAAhJkAAAAAgAKgmQAAAAAAAOCZAAAA
+AAAA5JkAAKqqqqromQAAeGRGPOyZAACqAAAA8JkAAAwAAAD0mQAA/wAAAPiZAAAUAAAA
+KKIAALUJAAA8ogAAr4nIk0yiAAABAAAAUKIAAACgAABUogAAAAAAAFiiAACAU8cMXKIA
+AAEPDw9gogAAAQ9pX2SiAAARikEAaKIAAAAAAABsogAAasEwDHCiAAAgCIIAdKIAAKp8
+GwB4ogAAzjnnHHyiAADOARcFAKMAAAAAARgEowAAAiYDMAijAAAGPgdIDKMAAApMC1YQ
+owAAD2AaZBSjAAAbbk94GKMAAFp8j4YcowAAW4bPjiCjAAAPl0+dJKMAAI+hz6UoowAA
+H69ftSyjAACfud+9MKMAAD/Hf800owAAv9H/1TijAAAAAAAAPKMAAAAAAABAowAAAAAA
+AESjAAAAAAAASKMAAP///z9MowAA////P1CjAAD///8/VKMAAP//AwBYowAAH6qoeVyj
+AAAPQmwGYKMAAAciKA9kowAAhRZgF2ijAAAEEYAfbKMAAAMMoDdwowAAgwjEP3SjAAAD
+CMBXeKMAAIIG2F98owAAggTgf4CjAAC6ezx/hKMAAPB/MPMEmwAAAQAAAAibAAACAAAA
+DJsAAAMAAAAQmwAABAAAABSbAAAFAAAAGJsAAAgAAAAcmwAACQAAACCbAAAKAAAAJJsA
+AAsAAAAsmwAADQAAADCbAAAQAAAANJsAABEAAAA8mwAAEwAAAECbAAAUAAAARJsAABUA
+AABImwAAGAAAAEybAAAZAAAAUJsAABoAAABUmwAAGwAAAFibAAAcAAAAXJsAAB0AAABg
+mwAAIAAAAGibAAAiAAAAbJsAACMAAABwmwAAJAAAAHSbAAAlAAAAeJsAACgAAAB8mwAA
+KQAAAICbAAAqAAAAhJsAACsAAACImwAALAAAAJCbAAAwAAAAlJsAADEAAACYmwAAMgAA
+AKCbAAA0AAAApJsAADUAAAComwAANQAAAKybAAA1AAAAsJsAADUAAAC0mwAANQAAALib
+AAA1AAAAvJsAADUAAADAmwAANQAAAMSbAAA1AAAAyJsAADUAAADMmwAANQAAANCbAAA1
+AAAA1JsAADUAAADYmwAANQAAANybAAA1AAAA4JsAADUAAADkmwAANQAAAOibAAA1AAAA
+7JsAADUAAADwmwAANQAAAPSbAAA1AAAA+JsAABAAAAD8mwAAGgAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAACaAAAAAAAAAAAAAASaAAAAAAAAQAAAAAiaAAAAAAAAgAAAAAya
+AAAAAAAAgQEAABCaAAAAAAAAwQEAABSaAAAAAAAAAQAAABiaAAAAAAAAQQAAAByaAAAA
+AAAAgQAAACCaAAAAAAAAaAEAACSaAAAAAAAAqAEAACiaAAAAAAAA6AEAACyaAAAAAAAA
+KAAAADCaAAAAAAAAaAAAADSaAAAAAAAAiQEAADiaAAAAAAAAyQEAADyaAAAAAAAACQAA
+AECaAAAAAAAASQAAAESaAAAAAAAAiQAAAEiaAAAAAAAAkAEAAEyaAAAAAAAA0AEAAFCa
+AAAAAAAAEAAAAFSaAAAAAAAAUAAAAFiaAAAAAAAAkAAAAFyaAAAAAAAAkQEAAGCaAAAA
+AAAA0QEAAGSaAAAAAAAAEQAAAGiaAAAAAAAAUQAAAGyaAAAAAAAAkQAAAHCaAAAAAAAA
+eAEAAHSaAAAAAAAAuAEAAHiaAAAAAAAA+AEAAHyaAAAAAAAAOAAAAICaAAAAAAAAeAAA
+AISaAAAAAAAAmQEAAIiaAAAAAAAA2QEAAIyaAAAAAAAAGQAAAJCaAAAAAAAAWQAAAJSa
+AAAAAAAAmQAAAJiaAAAAAAAA2QAAAJyaAAAAAAAA+QAAAKCaAAAAAAAA+QAAAKSaAAAA
+AAAA+QAAAKiaAAAAAAAA+QAAAKyaAAAAAAAA+QAAALCaAAAAAAAA+QAAALSaAAAAAAAA
++QAAALiaAAAAAAAA+QAAALyaAAAAAAAA+QAAAMCaAAAAAAAA+QAAAMSaAAAAAAAA+QAA
+AMiaAAAAAAAA+QAAAMyaAAAAAAAA+QAAANCaAAAAAAAA+QAAANSaAAAAAAAA+QAAANia
+AAAAAAAA+QAAANyaAAAAAAAA+QAAAOCaAAAAAAAA+QAAAOSaAAAAAAAA+QAAAOiaAAAA
+AAAA+QAAAOyaAAAAAAAA+QAAAPCaAAAAAAAA+QAAAPSaAAAAAAAA+QAAAPiaAAAAAAAA
++QAAAPyaAAAAAAAA+QAAANSYAAAgAAAAAAAAAAAAAADQmAAACBQAAggUAQIIFAACCBQA
+AggUAQIAAAAAAAAAANyYAADAIKAAwCCgAMAg4ADAIOAAwCDgAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAJyYAAAAAADwAAAA8AAAAPAAAADwAAAA8JyYAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAJyYAAAAAAADAAAAAwAAAAMAAAADAAAAA5yYAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyY
+AAAAAEBAAABAQAAAQEAAAEBAAABAQJyYAAAAAAVlAAAFZQAABWUAAAVlAAAFZZyYAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAAEIA
+AABCAAAAQgAAAEIAAABCAJyYAAAAALUAAAC1AAAAtQAAALUAAAC1AJyYAAAAAAMAAAAD
+AAAAAwAAAAMAAAADAJyYAAAAAPcAAAD3AAAA9wAAAPcAAAD3AJyYAAAAAJ0AAACdAAAA
+nQAAAJ0AAACdAJyYAAAAACIAAAAiAAAAIgAAACIAAAAiAJyYAAAAACIEAAAiBAAAIgQA
+ACIEAAAiBJyYAAAYACMAGAAjABgAIwAYACMAGAAjAJyYAAAAACgAAAAoAGAAKABgACgA
+YAAoAJyYAADAAFAAwABQAMMAUADDAFAAwwBQAJyYAAB/AAQAfwAEAH8ABAB/AAQAfwAE
+AJyYAABYBAAAWAQAAFgEAABYBAAAWAQAAJyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyY
+AAAAwAAAAMAAAADAAAAAwAAAAMAAANiYAAAwAkAAMAJAADACQAAwAkAAMAJAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAAZAAAAGQAAABkAAAAZAAAAGQAAJyYAAAACAAA
+AAgAAAAIAAAACAAAAAgAAMyYAAAOAAAADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AABBUjUyMTAAQVI1MjExAEFSNTIxMgBSRjUxMTEAUkY1MTEyAFJGMjQxMwBBdGhlcm9z
+IDIzMTMgV2lTb0MAQXRoZXJvcyA1MjEyIChGUEdBKQBBdGhlcm9zIDUyMTEgKEZQR0Ep
+AEF0aGVyb3MgNTIxMABBdGhlcm9zIDUyMTEAQXRoZXJvcyA1MzEyIFdpU29DAEF0aGVy
+b3MgNTIxMgBEQgBERUJVRwBOQQBOT19DT1VOVFJZX1NFVABBTABBTEJBTklBAERaAEFM
+R0VSSUEAQVIAQVJHRU5USU5BAEFNAEFSTUVOSUEAQVUAQVVTVFJBTElBAEFUAEFVU1RS
+SUEAQVoAQVpFUkJBSUpBTgBCSABCQUhSQUlOAEJZAEJFTEFSVVMAQkUAQkVMR0lVTQBC
+WgBCRUxJWkUAQk8AQk9MVklBAEJSAEJSQVpJTABCTgBCUlVORUkgREFSVVNTQUxBTQBC
+RwBCVUxHQVJJQQBDQQBDQU5BREEAQ0wAQ0hJTEUAQ04AQ0hJTkEAQ08AQ09MT01CSUEA
+Q1IAQ09TVEEgUklDQQBIUgBDUk9BVElBAENZAENZUFJVUwBDWgBDWkVDSCBSRVBVQkxJ
+QwBESwBERU5NQVJLAERPAERPTUlOSUNBTiBSRVBVQkxJQwBFQwBFQ1VBRE9SAEVHAEVH
+WVBUAFNWAEVMIFNBTFZBRE9SAEVFAEVTVE9OSUEARkkARklOTEFORABGUgBGUkFOQ0UA
+RjIARlJBTkNFX1JFUwBHRQBHRU9SR0lBAERFAEdFUk1BTlkAR1IAR1JFRUNFAEdUAEdV
+QVRFTUFMQQBITgBIT05EVVJBUwBISwBIT05HIEtPTkcASFUASFVOR0FSWQBJUwBJQ0VM
+QU5EAElOAElORElBAElEAElORE9ORVNJQQBJUgBJUkFOAElFAElSRUxBTkQASUwASVNS
+QUVMAElUAElUQUxZAEpQAEpBUEFOAEoxAEpBUEFOMQBKMgBKQVBBTjIASjMASkFQQU4z
+AEo0AEpBUEFONABKNQBKQVBBTjUASk8ASk9SREFOAEtaAEtBWkFLSFNUQU4AS1AATk9S
+VEggS09SRUEAS1IAS09SRUEgUkVQVUJMSUMASzIAS09SRUEgUkVQVUJMSUMyAEtXAEtV
+V0FJVABMVgBMQVRWSUEATEIATEVCQU5PTgBMSQBMSUVDSFRFTlNURUlOAExUAExJVEhV
+QU5JQQBMVQBMVVhFTUJPVVJHAE1PAE1BQ0FVAE1LAE1BQ0VET05JQQBNWQBNQUxBWVNJ
+QQBNWABNRVhJQ08ATUMATU9OQUNPAE1BAE1PUk9DQ08ATkwATkVUSEVSTEFORFMATloA
+TkVXIFpFQUxBTkQATk8ATk9SV0FZAE9NAE9NQU4AUEsAUEFLSVNUQU4AUEEAUEFOQU1B
+AFBFAFBFUlUAUEgAUEhJTElQUElORVMAUEwAUE9MQU5EAFBUAFBPUlRVR0FMAFBSAFBV
+RVJUTyBSSUNPAFFBAFFBVEFSAFJPAFJPTUFOSUEAUlUAUlVTU0lBAFNBAFNBVURJIEFS
+QUJJQQBTRwBTSU5HQVBPUkUAU0sAU0xPVkFLIFJFUFVCTElDAFNJAFNMT1ZFTklBAFpB
+AFNPVVRIIEFGUklDQQBFUwBTUEFJTgBTRQBTV0VERU4AQ0gAU1dJVFpFUkxBTkQAU1kA
+U1lSSUEAVFcAVEFJV0FOAFRIAFRIQUlMQU5EAFRUAFRSSU5JREFEICYgVE9CQUdPAFRO
+AFRVTklTSUEAVFIAVFVSS0VZAFVBAFVLUkFJTkUAQUUAVU5JVEVEIEFSQUIgRU1JUkFU
+RVMAR0IAVU5JVEVEIEtJTkdET00AVVMAVU5JVEVEIFNUQVRFUwBVWQBVUlVHVUFZAFVa
+AFVaQkVLSVNUQU4AVkUAVkVORVpVRUxBAFZOAFZJRVQgTkFNAFlFAFlFTUVOAFpXAFpJ
+TUJBQldFAAAAAAAAAAAAAAAAACVzOiBwaHlDbnQxIDB4JXgsIHJlc2V0dGluZyBjb3Vu
+dGVyIHZhbHVlIHRvIDB4JXgKAAAAAAAAAAAAAAAAAAAlczogcGh5Q250MiAweCV4LCBy
+ZXNldHRpbmcgY291bnRlciB2YWx1ZSB0byAweCV4CgAAAAAAAAAAAAAAAAAAMC45LjE0
+LjkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBOIExEAiBPsExEA
+HhSCFA8AghTmFBIAXhVdFhQAXRbBFhQAwRbaFhcAAAAAAAAAjBSgFLQUyBQ8FFAUZBR4
+FAAAMhRGFFoUbhQAAGwJhQmeCYoJqAkAAGwJhQmeCYoJAABsCYUJngmKCQAAbAmFCZ4J
+igkAAHEWhRaZFq0WwRYAAFoUghSqFAAAgBaoFgAAfBWQFaQVuBXMFeAV9BUIFhwWMBZE
+FgAAAAAAAAAAAABxCXYJewmACY8JlAmZCaMJAAAAAAAAAAAAAAAAAAAAAHEJdgl7CYAJ
+jwmUCZkJAABxCXYJewmACY8JlAmZCQAAcQl2CXsJgAmPCZQJmQkAALQJAACFCQAAPBRQ
+FGQUeBQAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA
+AAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAE
+AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAA
+AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAA
+AAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAA
+AAAAAAAAIAAAAAAAAAAAAAAAAAAAADIURhRaFG4UAABaFIIUqhSAFqgWAAAAAAAAAAAA
+AAAAfBWQFaQVuBXMFeAV9BUIFhwWMBZEFgAAAAAAAAAAAABgAAAAqAkAAAEAAACjCQAA
+AQAAALQJAAABAAAAZwAAAKgJAAABAAAAowkAAAEAAAC0CQAAAQAAAGEAAACoCQAAAQAA
+AKMJAAABAAAAtAkAAAEAAABlAAAAqAkAAAEAAACjCQAAAQAAALQJAAABAAAASgAAAKgJ
+AAAAAAAAowkAAAAAAAC0CQAAAQAAAEsAAACoCQAAAQAAAKMJAAABAAAAtAkAAAEAAABq
+AAAAqAkAAAEAAACjCQAAAQAAALQJAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECcBcLAIwAAAAA
+AAECKCMPABIAAAAAAAEC4C4KAJgCAAAAAAECUEYOACQCAAAAAAECwF0JALAEAAAAAAEC
+oIwNAEgEAAAAAAECgLsIAGAEAAAAAAEC8NIMAGwEAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA3AXCwCMAAAAAAABAygjDwASAAAA
+AAABA+AuCgCYAgAAAAABA1BGDgAkAgAAAAABA8BdCQCwBAAAAAABA6CMDQBIBAAAAAAB
+A4C7CABgBAAAAAABA/DSDABsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAQJwFwsAjAAAAAAAAQIoIw8AEgAAAAAAAQLgLgoAmAIA
+AAAAAQJQRg4AJAIAAAAAAQLAXQkAsAQAAAAAAQKgjA0ASAQAAAAAAQKAuwgAYAQAAAAA
+AQLw0gwAbAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAEDcBcLAIwAAAAAAAEDKCMPABIAAAAAAAED4C4KAJgCAAAAAAEDUEYOACQC
+AAAAAAEDwF0JALAEAAAAAAEDoIwNAEgEAAAAAAEDgLsIAGAEAAAAAAED8NIMAGwEAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAOgD
+CwCCAAAAAAABANAHCgSEAQAAAAABAHwVCQSLAQAAAAABAPgqCASWAQAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+BKIAAAAAAAAAAAAACKIAAEZGPlBGRj5QDKIAAGxBgGRsQYBkEKIAAAOgmQEDoJkBFKIA
+ABDWTAQQ1kwEGKIAAEAAgBNAAIATHKIAAGAA4BtgAOAbIKIAAAqAUwwKgFMMJKIAADvf
+FAA73xQAKKIAALUBAAC1AQAALKIAACAAAAAgAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAA
+AAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAA
+nJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgA
+AAAAAAAAAAAAnJgAAAAAOAAAADgAnJgAAAAAAAAAAAAAnJgAAAAAAAAAAAAAnJgAAAAA
+AAAAAAAAnJgAAPkABAD5AAQA1JgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAJyYAAAA
+AAAAAAAAAJyYAAAAAAAAAAAAAJyYAAAAAAAAAAAAAJyYAAAAAAAAAAAAAJyYAAAAAAAA
+AAAAAJyYAAAAAAAQAAAAEJyYAAAAAAAEAAAABJyYAAAAAAAAAAAAAJyYAAAAAAAAAAAA
+AJyYAAAAAAAAAAAAAJyYAAAAAAAAAAAACpyYAACAADgAgAA4ApyYAAAGAAIABgAAAJyY
+AACSAAAAkgAAAJyYAACgAAAAoAAAAJyYAAAHAAQABwAEANSYAAAaAAAAGgAAAJyYAABI
+AAAASAAAAJyYAAAQAAAAEAAAAJyYAAAIAAAACAAAAJyYAAAPAAAADwAAAJyYAADyAAAA
+YgAAAJyYAABPkAAATJAAAJyYAABaEgAAmhIAAMyYAAAOAAAADwAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQJwFwsA
+jAAAAAAAAQIoIw8AEgAAAAAAAQLgLgoAmAIAAAAAAQJQRg4AJAIAAAAAAQLAXQkAsAQA
+AAAAAQKgjA0ASAQAAAAAAQKAuwgAYAQAAAAAAQLw0gwAbAQAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDcBcLAIwAAAAAAAEDKCMP
+ABIAAAAAAAED4C4KAJgCAAAAAAEDUEYOACQCAAAAAAEDwF0JALAEAAAAAAEDoIwNAEgE
+AAAAAAEDgLsIAGAEAAAAAAED8NIMAGwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAOgDGwCCAAAAAAABANAHGgSEAQAAAAABAHwV
+GQSLAQAAAAABAPgqGASWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAQDoAxsAAgAAAAAAAQDQBxoEBAEAAAAAAQB8FRkECwIAAAAAAQD4
+KhgEFgMAAAAAAAJwFwsADAQAAAAAAAIoIw8AEgQAAAAAAQLgLgoAGAYAAAAAAQJQRg4A
+JAYAAAAAAQLAXQkAMAgAAAAAAQKgjA0ASAgAAAAAAQKAuwgAYAgAAAAAAQLw0gwAbAgA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAEE9AEHAIEAAAAAAAEE6AMCAIsBAAAAAAEE0AcGAJYCAAAAAAEEuAsBAJYDAAAAAAEC
+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
+AAAAABQAAABUAwAAAAAAAAAAAAAGAAAAAAAAABQAAABsAwAAAAAAAAAAAAABAAAAAAAA
+ABQAAACEAwAAAAAAAAAAAAABAAAAAAAAABwAAACcAwAAAAAAAAAAAAAkAAAAAAAAAEQO
+EAAAAAAAHAAAALwDAAAAAAAAAAAAAC8AAAAAAAAARA4QAAAAAAAcAAAA3AMAAAAAAAAA
+AAAADgAAAAAAAABEDhAAAAAAABQAAAAAAAAAAQABeBAMBwiQAQAAAAAAABQAAAAcAAAA
+AAAAAAAAAAAzAAAAAAAAABwAAAA0AAAAAAAAAAAAAACVAAAAAAAAAEQOIEqGAoMDFAAA
+AFQAAAAAAAAAAAAAAC0AAAAAAAAAJAAAAGwAAAAAAAAAAAAAAHsAAAAAAAAARA4gTowC
+hgODBAAAAAAAABQAAACUAAAAAAAAAAAAAAAHAAAAAAAAABQAAACsAAAAAAAAAAAAAAAG
+AAAAAAAAABQAAADEAAAAAAAAAAAAAAAbAAAAAAAAABQAAADcAAAAAAAAAAAAAAAgAAAA
+AAAAABQAAAAAAAAAAQABeBAMBwiQAQAAAAAAABwAAAAcAAAAAAAAAAAAAAAxAAAAAAAA
+AEEOEIMCAAAAFAAAAAAAAAABAAF4EAwHCJABAAAAAAAAFAAAABwAAAAAAAAAAAAAAAgA
+AAAAAAAAFAAAADQAAAAAAAAAAAAAAAgAAAAAAAAAFAAAAEwAAAAAAAAAAAAAAAwAAAAA
+AAAAJAAAAGQAAAAAAAAAAAAAAEsAAAAAAAAAQQ4QQQ4YRA4ggwOGAgAAABQAAACMAAAA
+AAAAAAAAAAAUAAAAAAAAABQAAACkAAAAAAAAAAAAAAAUAAAAAAAAABQAAAC8AAAAAAAA
+AAAAAAAVAAAAAAAAABQAAADUAAAAAAAAAAAAAABSAAAAAAAAABQAAADsAAAAAAAAAAAA
+AABSAAAAAAAAABQAAAAEAQAAAAAAAAAAAAALAAAAAAAAABQAAAAcAQAAAAAAAAAAAAAc
+AAAAAAAAABQAAAA0AQAAAAAAAAAAAAA7AAAAAAAAABQAAABMAQAAAAAAAAAAAAAfAQAA
+AAAAABQAAAAAAAAAAQABeBAMBwiQAQAAAAAAADwAAAAcAAAAAAAAAAAAAAAkBgAAAAAA
+AEIOEEIOGEIOIEIOKEEOMEEOOEQOQIMHhgaMBY0EjgOPAgAAAAAAAAAUAAAAXAAAAAAA
+AAAAAAAAXAAAAAAAAAAcAAAAdAAAAAAAAAAAAAAAGAAAAAAAAABEDhAAAAAAABwAAACU
+AAAAAAAAAAAAAABrAAAAAAAAAEEOEIMCAAAAHAAAALQAAAAAAAAAAAAAAOQAAAAAAAAA
+RA4gSoYCgwM8AAAA1AAAAAAAAAAAAAAA9gEAAAAAAABCDhBCDhhCDiBCDihBDjBBDjhE
+DkCDB4YGjAWNBI4DjwIAAAAAAAAAJAAAABQBAAAAAAAAAAAAAHQAAAAAAAAARA4gTowC
+hgODBAAAAAAAABQAAAA8AQAAAAAAAAAAAACtAAAAAAAAABwAAABUAQAAAAAAAAAAAADl
+AAAAAAAAAEEOEIMCAAAAFAAAAHQBAAAAAAAAAAAAABgAAAAAAAAAPAAAAIwBAAAAAAAA
+AAAAAOgCAAAAAAAAQg4QQg4YQg4gQg4oQQ4wQQ44RA5AgweGBowFjQSOA48CAAAAAAAA
+ACwAAADMAQAAAAAAAAAAAADKAgAAAAAAAEIOEEEOGEEOIEQOkAGDBIYDjAIAAAAAACQA
+AAD8AQAAAAAAAAAAAACPAAAAAAAAAEQOIE6MAoYDgwQAAAAAAAAUAAAAJAIAAAAAAAAA
+AAAAHAAAAAAAAAAkAAAAPAIAAAAAAAAAAAAAdwAAAAAAAABBDhBBDhhEDiCDA4YCAAAA
+FAAAAGQCAAAAAAAAAAAAAAYAAAAAAAAAFAAAAAAAAAABAAF4EAwHCJABAAAAAAAAHAAA
+ABwAAAAAAAAAAAAAAC0AAAAAAAAARA4QAAAAAAAcAAAAPAAAAAAAAAAAAAAAMwAAAAAA
+AABEDhAAAAAAACQAAABcAAAAAAAAAAAAAADdAAAAAAAAAEQOMFiOAo0DjASGBYMGAAAU
+AAAAhAAAAAAAAAAAAAAAXgAAAAAAAAAUAAAAnAAAAAAAAAAAAAAAYAIAAAAAAAAUAAAA
+tAAAAAAAAAAAAAAAKQAAAAAAAAAUAAAAzAAAAAAAAAAAAAAAQQAAAAAAAAAkAAAA5AAA
+AAAAAAAAAAAAkgAAAAAAAABEDiBOjAKGA4MEAAAAAAAAFAAAAAwBAAAAAAAAAAAAAGcA
+AAAAAAAAFAAAACQBAAAAAAAAAAAAADIAAAAAAAAAJAAAADwBAAAAAAAAAAAAAJgAAAAA
+AAAAQQ4QQQ4YRA4ggwOGAgAAABQAAABkAQAAAAAAAAAAAAAGAAAAAAAAABQAAAB8AQAA
+AAAAAAAAAACvAAAAAAAAABQAAACUAQAAAAAAAAAAAAAGAAAAAAAAABQAAACsAQAAAAAA
+AAAAAABKAAAAAAAAABQAAADEAQAAAAAAAAAAAACMAAAAAAAAABQAAADcAQAAAAAAAAAA
+AAABAAAAAAAAABQAAAAAAAAAAQABeBAMBwiQAQAAAAAAABwAAAAcAAAAAAAAAAAAAABb
+AAAAAAAAAEQOEAAAAAAAPAAAADwAAAAAAAAAAAAAAI4EAAAAAAAAQg4QQg4YQg4gQg4o
+QQ4wQQ44RA5QgweGBowFjQSOA48CAAAAAAAAABwAAAB8AAAAAAAAAAAAAAAOAAAAAAAA
+AEQOEAAAAAAAHAAAAJwAAAAAAAAAAAAAAPcAAAAAAAAAQQ4QRA4wgwIUAAAAvAAAAAAA
+AAAAAAAAOAAAAAAAAAAcAAAA1AAAAAAAAAAAAAAAqwAAAAAAAABEDiBKhgKDAxQAAAAA
+AAAAAQABeBAMBwiQAQAAAAAAABQAAAAcAAAAAAAAAAAAAACkAAAAAAAAACQAAAA0AAAA
+AAAAAAAAAABGAAAAAAAAAEEOEEEOGEQOIIMDhgIAAAAUAAAAXAAAAAAAAAAAAAAANwAA
+AAAAAAAUAAAAdAAAAAAAAAAAAAAA4wAAAAAAAAAUAAAAAAAAAAEAAXgQDAcIkAEAAAAA
+AAAUAAAAHAAAAAAAAAAAAAAAEwAAAAAAAAAUAAAANAAAAAAAAAAAAAAAVwAAAAAAAAAU
+AAAATAAAAAAAAAAAAAAABwAAAAAAAAAUAAAAZAAAAAAAAAAAAAAAngAAAAAAAAAUAAAA
+AAAAAAEAAXgQDAcIkAEAAAAAAAAUAAAAHAAAAAAAAAAAAAAABgAAAAAAAAAUAAAANAAA
+AAAAAAAAAAAALgAAAAAAAAAUAAAATAAAAAAAAAAAAAAAmQAAAAAAAAAUAAAAZAAAAAAA
+AAAAAAAAhwAAAAAAAAAsAAAAfAAAAAAAAAAAAAAAtwEAAAAAAABCDhBCDhhBDiBBDihE
+DjCDBYYEjAONAgAUAAAAAAAAAAEAAXgQDAcIkAEAAAAAAAAcAAAAHAAAAAAAAAAAAAAA
+IAAAAAAAAABEDhAAAAAAABwAAAA8AAAAAAAAAAAAAAAfAAAAAAAAAEQOEAAAAAAAHAAA
+AFwAAAAAAAAAAAAAAG0AAAAAAAAARA4gSoYCgwMUAAAAfAAAAAAAAAAAAAAAMQAAAAAA
+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
+AQABeBAMBwiQAQAAAAAAACQAAAAcAAAAAAAAAAAAAACpAAAAAAAAAEQOIE6MAoYDgwQA
+AAAAAAAcAAAARAAAAAAAAAAAAAAALQAAAAAAAABEDhAAAAAAABwAAABkAAAAAAAAAAAA
+AAAzAAAAAAAAAEQOEAAAAAAAJAAAAIQAAAAAAAAAAAAAAAEBAAAAAAAARA4wWI4CjQOM
+BIYFgwYAABQAAACsAAAAAAAAAAAAAABwAAAAAAAAABwAAADEAAAAAAAAAAAAAABxAAAA
+AAAAAEQOEAAAAAAAHAAAAOQAAAAAAAAAAAAAAO8DAAAAAAAARA4QAAAAAAAUAAAABAEA
+AAAAAAAAAAAADwAAAAAAAAAUAAAAHAEAAAAAAAAAAAAAFAAAAAAAAAAUAAAANAEAAAAA
+AAAAAAAAGQAAAAAAAAAUAAAATAEAAAAAAAAAAAAAMQAAAAAAAAAkAAAAZAEAAAAAAAAA
+AAAAZAAAAAAAAABCDhBBDhhBDiCDBIYDjAIAFAAAAIwBAAAAAAAAAAAAAAYAAAAAAAAA
+FAAAAKQBAAAAAAAAAAAAAJAAAAAAAAAAFAAAALwBAAAAAAAAAAAAAAYAAAAAAAAAFAAA
+ANQBAAAAAAAAAAAAAEoAAAAAAAAAFAAAAOwBAAAAAAAAAAAAALEAAAAAAAAAFAAAAAQC
+AAAAAAAAAAAAAAEAAAAAAAAAFAAAAAAAAAABAAF4EAwHCJABAAAAAAAAHAAAABwAAAAA
+AAAAAAAAAFsAAAAAAAAARA4QAAAAAAAcAAAAPAAAAAAAAAAAAAAA6AAAAAAAAABHDpAB
+AAAAADwAAABcAAAAAAAAAAAAAAAAAQAAAAAAAEIOEEIOGEIOIEIOKEEOMEEOOEQOQIMH
+hgaMBY0EjgOPAgAAAAAAAAA8AAAAnAAAAAAAAAAAAAAABwUAAAAAAABCDhBCDhhCDiBC
+DihBDjBBDjhEDkCDB4YGjAWNBI4DjwIAAAAAAAAAHAAAANwAAAAAAAAAAAAAAD0AAAAA
+AAAAQQ4QgwIAAAAcAAAA/AAAAAAAAAAAAAAA9wAAAAAAAABBDhBEDjCDAhQAAAAcAQAA
+AAAAAAAAAAA4AAAAAAAAACwAAAA0AQAAAAAAAAAAAAC+AgAAAAAAAEIOEEIOGEEOIEEO
+KEQOMIMFhgSMA40CABQAAAAAAAAAAQABeBAMBwiQAQAAAAAAABQAAAAcAAAAAAAAAAAA
+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
+AABEDjBYjgKNA4wEhgWDBgAAFAAAAKwAAAAAAAAAAAAAAHAAAAAAAAAAHAAAAMQAAAAA
+AAAAAAAAAHkAAAAAAAAARA4QAAAAAAAcAAAA5AAAAAAAAAAAAAAAtwMAAAAAAABBDhCD
+AgAAABQAAAAEAQAAAAAAAAAAAAAPAAAAAAAAABQAAAAcAQAAAAAAAAAAAAAUAAAAAAAA
+ABQAAAA0AQAAAAAAAAAAAAAZAAAAAAAAABQAAABMAQAAAAAAAAAAAAAxAAAAAAAAACQA
+AABkAQAAAAAAAAAAAABaAAAAAAAAAEIOEEEOGEEOIIMEhgOMAgAkAAAAjAEAAAAAAAAA
+AAAAYgEAAAAAAABEDlBejwKOA40EjAWGBoMHFAAAALQBAAAAAAAAAAAAAPgAAAAAAAAA
+FAAAAMwBAAAAAAAAAAAAAFUAAAAAAAAAFAAAAOQBAAAAAAAAAAAAAGkAAAAAAAAAFAAA
+APwBAAAAAAAAAAAAADsBAAAAAAAAFAAAABQCAAAAAAAAAAAAABMAAAAAAAAAFAAAAAAA
+AAABAAF4EAwHCJABAAAAAAAAHAAAABwAAAAAAAAAAAAAAFUAAAAAAAAAQQ4QgwIAAAAc
+AAAAPAAAAAAAAAAAAAAAOQAAAAAAAABBDhCDAgAAABQAAABcAAAAAAAAAAAAAABOAAAA
+AAAAABQAAAB0AAAAAAAAAAAAAAAIAAAAAAAAABQAAACMAAAAAAAAAAAAAAAIAAAAAAAA
+ACQAAACkAAAAAAAAAAAAAAAQAQAAAAAAAEEOEEEOGEQOIIMDhgIAAAAcAAAAzAAAAAAA
+AAAAAAAAMAAAAAAAAABBDhCDAgAAABwAAADsAAAAAAAAAAAAAAANBAAAAAAAAEQOgAEA
+AAAAHAAAAAwBAAAAAAAAAAAAAKcAAAAAAAAAQQ4QgwIAAAAcAAAALAEAAAAAAAAAAAAA
+HgEAAAAAAABEDiBKhgKDAxwAAABMAQAAAAAAAAAAAACsAAAAAAAAAEQOIEqGAoMDJAAA
+AGwBAAAAAAAAAAAAAK0BAAAAAAAAQg4QQQ4YQQ4ggwSGA4wCACQAAACUAQAAAAAAAAAA
+AADRAAAAAAAAAEIOEEEOGEEOIIMEhgOMAgAcAAAAvAEAAAAAAAAAAAAATwAAAAAAAABB
+DhCDAgAAABwAAADcAQAAAAAAAAAAAACGAAAAAAAAAEQOEAAAAAAAFAAAAPwBAAAAAAAA
+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
+AAB4hwIAAAAAAGhAAAAAAAAADwAAAAEAAAAIAAAAAAAAABgAAAAAAAAAKwAAAAEAAAAC
+AAAAAAAAAAAAAAAAAAAAQGIBAAAAAAAIiQAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA
+AAAAACYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAODHAgAAAAAAMEsAAAAAAAAPAAAAAwAA
+AAgAAAAAAAAAGAAAAAAAAAAzAAAAAQAAADIAAAAAAAAAAAAAAAAAAABI6wEAAAAAAMwF
+AAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAQgAAAAEAAAAyAAAAAAAAAAAAAAAA
+AAAAIPEBAAAAAABzAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAABAAAAAAAAAFcAAAABAAAA
+AwAAAAAAAAAAAAAAAAAAAKDxAQAAAAAApBcAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAA
+AAAAAABSAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQEwMAAAAAABACAAAAAAAADwAAAAcA
+AAAIAAAAAAAAABgAAAAAAAAAYgAAAAEAAAACAAAAAAAAAAAAAAAAAAAASAkCAAAAAADg
+QQAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAF0AAAAEAAAAAAAAAAAAAAAAAAAA
+AAAAACAVAwAAAAAAIC4AAAAAAAAPAAAACQAAAAgAAAAAAAAAGAAAAAAAAABsAAAACAAA
+AAMAAAAAAAAAAAAAAAAAAABASwIAAAAAALABAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAA
+AAAAAAAAcQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAQEsCAAAAAABOAwAAAAAAAAAAAAAA
+AAAAAQAAAAAAAAAAAAAAAAAAAHoAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAI5OAgAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAwAAAAAAAAAAAAAAAAAA
+AAAAAACOTgIAAAAAAIoAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAIA
+AAAAAAAAAAAAAAAAAAAAAAAAWFMCAAAAAACgIwAAAAAAABAAAAAKAAAACAAAAAAAAAAY
+AAAAAAAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAPh2AgAAAAAAgBAAAAAAAAAAAAAA
+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
+AACeBAAAEgABAHiMAAAAAAAAHwAAAAAAAACpBAAAEgABAPLqAAAAAAAAUgAAAAAAAAC0
+BAAAEgABAHAcAQAAAAAA+AAAAAAAAAC/BAAAEgABAPuXAAAAAAAAOwAAAAAAAADKBAAA
+EgABAGtaAAAAAAAAJQAAAAAAAADVBAAAEgABADLkAAAAAAAAIQAAAAAAAADgBAAAEgAB
+AKLOAAAAAAAAPQAAAAAAAADrBAAAEgABAP3EAAAAAAAAFAAAAAAAAAD2BAAAEgABAMkf
+AQAAAAAAOQAAAAAAAAABBQAAEgABAHLpAAAAAAAABgAAAAAAAAAMBQAAEAAAAAAAAAAA
+AAAAAAAAAAAAAAAZBQAAEgABAOV4AAAAAAAAXgAAAAAAAAAkBQAAEgABAHNjAAAAAAAA
+OwAAAAAAAAAvBQAAEgABAFAgAQAAAAAACAAAAAAAAAA6BQAAEgABANbfAAAAAAAAdwAA
+AAAAAABFBQAAEgABANwDAAAAAAAAkQAAAAAAAABWBQAAEgABAJAWAQAAAAAAtwMAAAAA
+AABhBQAAEgABAD9dAAAAAAAAQQAAAAAAAABsBQAAEgABADh9AAAAAAAAmAAAAAAAAAB3
+BQAAEgABACLhAAAAAAAADgAAAAAAAACCBQAAEgABAJwqAQAAAAAATwAAAAAAAACNBQAA
+EgABAPpiAAAAAAAAUgAAAAAAAACYBQAAEgABAFKJAAAAAAAALgAAAAAAAACjBQAAEgAB
+AOyjAAAAAAAABgEAAAAAAACuBQAAEgABACh3AAAAAAAAdwAAAAAAAAC5BQAAEQAHAMAQ
+AAAAAAAApAEAAAAAAADEBQAAEgABAMjrAAAAAAAAMAAAAAAAAADPBQAAEgABANDnAAAA
+AAAAFgAAAAAAAADaBQAAEgABANyGAAAAAAAARgAAAAAAAADlBQAAEgABADaYAAAAAAAA
+3AAAAAAAAADwBQAAEgABAInkAAAAAAAAOgEAAAAAAAD7BQAAEgABAP2QAAAAAAAAbgAA
+AAAAAAAGBgAAEgABAAGTAAAAAAAAEAAAAAAAAAARBgAAEgABAJLmAAAAAAAAqgAAAAAA
+AAAcBgAAEgABAHUUAQAAAAAAMgEAAAAAAAAnBgAAEgABAKAhAQAAAAAADQQAAAAAAAAy
+BgAAEgABADyUAAAAAAAAKQAAAAAAAAA9BgAAEgABAPZVAAAAAAAABwAAAAAAAABIBgAA
+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
+YjFiMgB6ejAwMmRiNDYwAHp6MGI3YjgzNjgAenowNWI4YzY1YQB6ejAwNWI0MGFkAHp6
+MDViOTQyZWQAenowZDk0Y2QwNAB6ejAwMTlmNDcwAHp6MDJkYmU3M2QAenowMDViNjky
+YgB6ejBiNmQyMzI1AHp6MDA1Yjg1M2QAenowMDE2ZDkyZQB6ejBjZmIxODc1AHp6MDAy
+ZGIzMWMAenowMmRhYmJhYwB6ejAwMGI2YzY4AHp6MDAwYjZiZjgAenowMmRiNWJmMAB6
+ejAxNmUxZGZkAHp6MGI3MGU5OGMAenowNmUwZjZjMgB6ejAwNjdkMmIxAHp6MGI2Y2Ez
+MjUAenowMDViNmNmZAB6ejAxNmUwZGZkAHp6MDAwYjZmNjgAenowMDViNDhhZAB6ejAy
+ZGJmMWIyAHp6MDA1Yjg4Y2IAenowMzNlYzhiZgB6ejBkYjRjOTRkAHp6MDJkYjNiYWMA
+YXRoX2hhbF9kbWFfYmVhY29uX3Jlc3BvbnNlX3RpbWUAenowMGI2ZjE2MQB6ejBkYzU4
+NzE4AHp6MGRiMDkxMGUAenowMGI2ZTI3YQB6ejAyZGJiYWIyAHp6MGI2ZDFlZmYAenow
+MDViNjRmZAB6ejAwMGI2ZDUyAHp6MGI2YzllZmYAenowMmRiZDg3NQB6ejAyZGIzMWIy
+AHp6MDBiNzA5MjMAenowMDBiNmQxZAB6ejAwYjZkNDUwAHp6MGI2YzIzMjUAenowMmRi
+ZGFiMgB6ejAwMDViNjMyAHp6MDZkZjJmNTcAenowMDE2ZGE1MAB6ejAwMDY3ZDMyAHp6
+MDBiNmQ5MjMAenowMDJkYjUxYwB6ejAxNmRhN2YwAHp6MDE2ZGNiZmUAenowMDE2ZGVj
+MQB6ejAwMTZkZjJjAHp6MGI4MTQ2MTIAenowMTZkOTkyMAB6ejAyZGIxYmFjAHp6MGRj
+Nzg3MTgAenowNWI3MDFlMAB6ejAwMGI2YjEwAHp6MGI3MDllZmYAenowMTZkZjg5YgBh
+dGhfaGFsX2F0dGFjaAB6ejA2ZTE0ZGQxAHp6MDE2ZGFiMmQAenowMmRiMTM1ZAB6ejBl
+MGI2ZjIzAHp6MDE2ZTI5MWQAenowMDBiNmZlOAB6ejAwMTZkOTQ4AHp6MDE2ZTIwOWIA
+enowYjcwMWVmZgB6ejAwMGI2YzlkAHp6MDAwNWI1YTIAenowMmRiMTcwYQBhdGhfaGFs
+X2NvbXB1dGV0eHRpbWUAenowMmRiNWJhYwB6ejAwNWI4MTNkAHp6MDBiNmM5MjMAenow
+YjZjZTk4YwB6ejAwNWI3ZjlkAHp6MGI3MDFkMDIAenowNmUwNDYwZQB6ejAyZGI1NzYz
+AHp6MDZmMjMyY2MAenowZTA3ODM3OQB6ejAwMmRhZjYyAHp6MGI4NTQ2MTIAenowMDBi
+NmI5MAB6ejAxNmQ5ZWZhAHp6MDAyZGIyNjAAenowMTZkZTA1MQB6ejAwMDViNmIyAHp6
+MDViN2YxMTQAenowMzQ3NDZiNAB6ejAyZGJkZGZkAHp6MDA4ZWYzMDkAenowMGI3MTc3
+ZAB6ejAwYjcwZjNkAHp6MDE2ZDg5MjAAenowMmRiMWFiMgB6ejAwMDViNjIyAHp6MDAw
+YjZmNzgAenowYjZiNDk1MAB6ejAwNWI3NjMwAGF0aF9oYWxfZnJlZQB6ejA1Yjc5YjFi
+AHp6MDBiNzA3M2QAenowYjVmY2EyNgB6ejAxNmRmYmYxAGF0aF9oYWxfbWh6MmllZWUA
+enowMTZlMTg5YgB6ejBkYzM0OTRkAHp6MDAyZGM2MGIAenowMmRiMzM1ZAB6ejBiNmM1
+M2E0AHp6MGY4ZWYzMDgAenowZGE0Y2QwNAB6ejA1Yjc0MWUwAHp6MDJkYTliYWMAenow
+MTZlYzlhZAB6ejAwYjcxNzNkAHp6MDE2ZDlkNDEAenowZGMxMmMxZgB6ejAwNWI4NGZk
+AHp6MDA1YjhhYmQAenowMGI3MDEyMwB6ejAwNWI2NTJiAHp6MDJkYjM4NzUAenowMTZl
+MzA5YgB6ejAwNWI2MGIyAHp6MDJkYjE4NzUAenowMmRiMTc2MwB6ejBiN2Y4MzY4AHp6
+MGRjMzJjMWYAenowMGI3MDE2MQB6ejAxNmQ3ZDQxAHp6MDAxNmNkMzIAenowZGI0OTEw
+ZQB6ejAwNWI0OGVkAHp6MDAyZGM4MGIAenowMmRiMzNlZAB6ejAwNWI4MGZkAHp6MDJk
+YmZkZmQAenowMTZlNjQ4YQB6ejBkYmYyYzFmAHp6MDAyZGFmZjIAenowMDViNzc5ZAB6
+ejAwMGI2ZWU4AHp6MDE2ZTQ0OGEAenowMGI2ZjZiYwB6ejAxNmRhOTIwAHp6MDViNzgx
+ZTAAenowZTI3M2E0ZAB6ejAwMmRjYTBiAHp6MDJkYjFiZjAAenowMDViNDRhZAB6ejA2
+ZGU0NjBlAHp6MGI2ZjllZmYAenowMGI2YzZiYwBhdGhfaGFsX2FkZGl0aW9uYWxfc3di
+YV9iYWNrb2ZmAHp6MDAwMmRiOTIAYXRoX2hhbF92ZXJzaW9uAGF0aF9oYWxfaWVlZTJt
+aHoAenowMmRiNzlhZQB6ejBiNmNmMDA5AHp6MDAxNmUxMmMAenowMDE2ZDllNAB6ejAw
+NWI1Y2IyAHp6MDE2ZGEyNTEAenowNmZhMzJjYwB6ejA2ZTAyZjU3AHp6MDA1YjZlMzAA
+YXRoX2hhbF9tYWxsb2MAenowMDBiNmRkMgB6ejA1YjZjYmQ1AHp6MDE2ZGIyNTEAenow
+ZTE3ODM3OQB6ejAxNmRkMDUxAHp6MDJkYmQxYjIAenowZGE5YzRmNgB6ejAyZGMxNzYz
+AHp6MDE2ZGYwNTEAenowMDE2ZDk1MAB6ejAwYjcwNmJjAHp6MDAxNmQ4NzIAenowNmRm
+NDYwZQB6ejA1YjhjMmVkAHp6MDZmZjE3ZTcAenowYjZmOWQwMgB6ejBkNGVmMzA4AHp6
+MDE2ZGJiZmUAenowMTZlNTQ4YQB6ejAwMTZkODUwAHp6MDAwYjZmZjgAYXRoX2hhbF9t
+ZW1jcHkAenowMmRiYmRmZAB6ejA2ZGI1ZWI2AHp6MDE2ZWI5YWQAenowMGI2Y2ViYwB6
+ejBkOWI4Yjc5AGF0aF9oYWxfcHJvYmUAenowMDJkYjA2MAB6ejAxNmVhOWFkAHp6MDAw
+ZWYzMDkAenowMmRiMzc2MwBhdGhfaGFsX2J1aWxkb3B0cwB6ejAyZGFmMzVkAHp6MGRi
+NGNkMDQAenowMTZkZjI1MQB6ejAwMGI2YzEwAHp6MDE2ZDkyNTEAenowYjcyMWFlZAB6
+ejA2N2NmY2FlAHp6MDAwYjZjZjgAenowY2NlZjMwOAB6ejAyZGFmYWIyAHp6MDViOTJh
+ZWQAenowMDViOGNjYgB6ejBiNmQ5ZWZmAHp6MDJkYjExYjIAenowZTE3M2E0ZAB6ejAy
+ZGJmZmIxAHp6MDJkYmY3NjMAenowMDViNjhmZAB6ejAwNWI0NGVkAHp6MGI3MTFhZWQA
+enowYjVmY2EzNAB6ejBkOGI4Yjc5AHp6MDE2ZDhiMmQAenowMTZlMDg5YgB6ejAyZGJi
+ODc1AHp6MDE2ZDk3ZjAAenowYjgzODM2OAB6ejAwYjZmZWJjAHp6MGU5OTkzMTMAenow
+MGI2ZWE3YQB6ejAzM2U4ZmJmAHp6MDA1YjcyMzAAenowY2ZhNTg3NQB6ejAyZGI5OWFl
+AHp6MDJkYjlhYjIAenowMDBiNmJlOAB6ejBkOTljNGY2AHp6MGRlZDhhNTcAenowMTZk
+YWJmZQB6ejBiNzA5ZDAyAHp6MDE5ZjNhMDEAenowNzA3MTdlNwBhdGhfaGFsX21lbXpl
+cm8AenowNmUwNGRkMQB6ejBiNjhlOThjAHp6MDE2ZTJkZmQAenowMDBiNmQyMgB6ejA3
+MDIzMmNjAHp6MGRjNTQ5NGQAenowMGI3MGY3ZABhdGhfaGFsX3N3X2JlYWNvbl9yZXNw
+b25zZV90aW1lAHp6MDlmNjlkMmUAenowMDViNjU3YQB6ejA2ZjcxN2U3AHp6MDZkYTVl
+YjYAenowYjdkNDYxMgB6ejAwYjZmOTYxAHp6MGI2YjBjOTAAenowMmRiZDM1ZAB6ejAw
+NWI4OGZkAHp6MDJkYWZkZmQAYXRoX2hhbF9kZWxheQB6ejAyZGIxZGZkAHp6MDY3ZDJm
+NDEAenowMmRhZjg3NQB6ejBiODA3NzQxAHp6MDE2ZDhkNDEAenowMDJkYWU5MgB6ejBi
+N2M3NzQxAHp6MDJkYmIzNWQAenowMmRiM2RmZAB6ejAyZGI1M2VkAHp6MDAwYjZkYTIA
+enowMDBiNmUyMgB6ejA1YjgwMDQxAHp6MGQ4OWM0ZjYAenowMDE2ZDg0OAB6ejAxNmQ5
+YjJkAHp6MGUzNzNhNGQAenowMDE2ZTAyYwB6ejAwYjcwNzdkAHp6MDA1YjY5N2EAenow
+MDE2ZGFlNAB6ejAxNmUxMDliAHp6MDA1YjRhMmQAenowZGY3ODM3OQB6ejAyZGJkNzYz
+AHp6MDAwYjZlNTIAenowNWI2YzZkYgB6ejBjYTVmMzI5AHp6MGRiMjkxMGUAenowMmRi
+M2JmMAB6ejA2ZDc4YTRjAHp6MDE2ZTAyNTEAenowMDAyZGJiMgB6ejAwMmRkODZkAHp6
+MDJkYjU5YWUAenowMDY3ZDIyMQB6ejAwNWI4OTNkAHp6MDViODFiMWIAenowMTZkODdm
+MAB6ejAyZGIxM2VkAHp6MDBiNmQxMjMAenowMDBiNmNlOAB6ejA1YjhhYWVkAHp6MDJk
+YWYxYjIAenowMDA1YjVlMgB6ejAzM2ViZmJmAHp6MDViNjg2ZGIAenowMDBiNmVmOAB6
+ejBiNzE5YWVkAHp6MDA1YjU4YjIAenowNWI3ZGIxYgB6ejBiODQ3NzQxAHp6MDAxNmQ3
+MzIAenowMmRhZGFiMgB6ejBmNGRlMzA3AGF0aF9oYWxfaW5pdF9jaGFubmVscwB6ejAw
+YjZkNmJjAHp6MGM0ZWYzMDgAenowMDAyZGJkMgB6ejBkYWI4Yjc5AHp6MDE2ZTBiODcA
+enowNWI5MDJlZAB6ejBkYzM4NzE4AHp6MGFhMmVlYzEAenowMDBiNmMxZAB6ejA1Yjhl
+YWVkAHp6MDA1YjdiOWQAenowMDViNTQ0NgB6ejA1YjY0NmRiAHp6MDBiNmY5MjMAenow
+ZGRkOGE1NwB6ejAxNmUxMjUxAHp6MGRjNzQ5NGQAenowMmRiMzcwYQB6ejAwMDViNjcy
+AHp6MDZkZjRkZDEAenowMmRiZjM1ZAB6ejAwMGI2Yzc4AHp6MDAxNmQ4MzIAenowM2U5
+NzM1MwB6ejAyZGI1NzBhAHp6MDA1YjZkN2EAenowMDJkYjI5MgB6ejAwNWI5MGNiAHp6
+MDA1YjVjNDYAYXRoX2hhbF9wcmludGYAenowNmQ5NWViNgB6ejAxNmRmYjg3AHp6MDAx
+NmRhNDgAenowMDJkYjA5MgBhdGhfaGFsX2dldHdpcmVsZXNzbW9kZXMAenowMTZlMWI4
+NwBkAAAAAAAAAAsAAAADAAAAKgAAAAAAAAB6AAAAAAAAAAsAAAADAAAAPQAAAAAAAACb
+AAAAAAAAAAsAAAADAAAAUQAAAAAAAACsAAAAAAAAAAsAAAADAAAAZQAAAAAAAAC0AAAA
+AAAAAAsAAAADAAAAcgAAAAAAAAC8AAAAAAAAAAsAAAADAAAAfwAAAAAAAADEAAAAAAAA
+AAsAAAADAAAAkgAAAAAAAABzAQAAAAAAAAIAAABvAAAA/P////////99AQAAAAAAAAIA
+AABqAQAA/P////////+HAQAAAAAAAAIAAAA/AAAA/P////////8nAgAAAAAAAAIAAAAf
+AQAA/P/////////8BQAAAAAAAAIAAABeAAAA/P////////8ZBgAAAAAAAAIAAABeAAAA
+/P////////9IBgAAAAAAAAsAAAACAAAAAAAAAAAAAABtCQAAAAAAAAsAAAACAAAAgAAA
+AAAAAAB2CQAAAAAAAAsAAAACAAAAoAAAAAAAAAD9DAAAAAAAAAIAAADAAAAA/P//////
+//+SEQAAAAAAAAIAAAAMAQAA/P////////+OHQAAAAAAAAIAAAAMAQAA/P////////95
+KAAAAAAAAAsAAAACAAAA4AAAAAAAAACLKAAAAAAAAAsAAAACAAAAwAAAAAAAAAAxNgAA
+AAAAAAsAAAACAAAAYBIAAAAAAABeNgAAAAAAAAsAAAACAAAAQAEAAAAAAACwNgAAAAAA
+AAsAAAACAAAAIBgAAAAAAADtNgAAAAAAAAIAAAACAAAAHBgAAAAAAABwNwAAAAAAAAsA
+AAACAAAAQgEAAAAAAACPNwAAAAAAAAsAAAACAAAAZBIAAAAAAAChNwAAAAAAAAsAAAAC
+AAAAYhIAAAAAAAAVOAAAAAAAAAsAAAACAAAAgBMAAAAAAAAcOAAAAAAAAAsAAAACAAAA
+gBUAAAAAAAA2OAAAAAAAAAsAAAACAAAAABcAAAAAAAA9OAAAAAAAAAsAAAACAAAAIBYA
+AAAAAABiOAAAAAAAAAsAAAACAAAAUCEAAAAAAABpOAAAAAAAAAsAAAACAAAAZCEAAAAA
+AACHOQAAAAAAAAsAAAACAAAAZCEAAAAAAACvOQAAAAAAAAsAAAACAAAAaCEAAAAAAAA+
+OgAAAAAAAAsAAAACAAAA8BcAAAAAAACBOgAAAAAAAAsAAAACAAAAQAEAAAAAAACtOgAA
+AAAAAAsAAAACAAAAcCIAAAAAAAAlOwAAAAAAAAsAAAACAAAAQAEAAAAAAABBOwAAAAAA
+AAsAAAACAAAAUAEAAAAAAACnOwAAAAAAAAsAAAACAAAAIBgAAAAAAACuOwAAAAAAAAsA
+AAACAAAAMBgAAAAAAADTOwAAAAAAAAsAAAACAAAAMBgAAAAAAAAHPAAAAAAAAAsAAAAC
+AAAAMBgAAAAAAABCPAAAAAAAAAsAAAACAAAAQAEAAAAAAABJPAAAAAAAAAsAAAACAAAA
+UAEAAAAAAAC4PAAAAAAAAAsAAAACAAAAYhIAAAAAAAAKPQAAAAAAAAsAAAACAAAAXAEA
+AAAAAAAYPQAAAAAAAAsAAAACAAAAQAEAAAAAAABIPQAAAAAAAAsAAAACAAAAQAEAAAAA
+AABfPQAAAAAAAAsAAAACAAAAYAEAAAAAAAClPQAAAAAAAAsAAAACAAAAQCMAAAAAAAAA
+PgAAAAAAAAsAAAACAAAAQCMAAAAAAACFPgAAAAAAAAsAAAAFAAAAwAIAAAAAAACmPgAA
+AAAAAAsAAAAFAAAAwAIAAAAAAABmPwAAAAAAAAsAAAACAAAAQAEAAAAAAAC0PwAAAAAA
+AAsAAAACAAAAQAEAAAAAAADbPwAAAAAAAAsAAAACAAAAYBIAAAAAAABUQAAAAAAAAAsA
+AAACAAAAJBgAAAAAAABqQAAAAAAAAAsAAAACAAAAoBwAAAAAAAB/QAAAAAAAAAsAAAAC
+AAAAIBgAAAAAAABHQwAAAAAAAAIAAAB6AQAA/P/////////GQwAAAAAAAAsAAAACAAAA
+UCEAAAAAAADNQwAAAAAAAAsAAAACAAAAZCEAAAAAAAABRgAAAAAAAAsAAAACAAAAZCEA
+AAAAAAATRgAAAAAAAAsAAAABAAAAikIAAAAAAACVRwAAAAAAAAsAAAACAAAAIBgAAAAA
+AABnSQAAAAAAAAIAAAC2AAAA/P/////////XSQAAAAAAAAsAAAAFAAAAYAAAAAAAAACv
+SgAAAAAAAAsAAAACAAAAIBgAAAAAAABwTAAAAAAAAAsAAAACAAAAUCQAAAAAAABFTQAA
+AAAAAAIAAADAAAAA/P////////9mTQAAAAAAAAsAAAACAAAAYCQAAAAAAABuTQAAAAAA
+AAIAAADWAAAA/P/////////hTQAAAAAAAAIAAAAlAQAA/P////////9hTgAAAAAAAAIA
+AAArAAAA/P////////+WTgAAAAAAAAIAAAAWAQAA/P/////////KTgAAAAAAAAIAAAAW
+AQAA/P/////////2TgAAAAAAAAIAAAAWAQAA/P////////9JTwAAAAAAAAIAAAAWAQAA
+/P////////+HTwAAAAAAAAIAAAAWAQAA/P////////+IUgAAAAAAAAIAAAAWAQAA/P//
+//////8KUwAAAAAAAAIAAAB8AAAA/P////////86UwAAAAAAAAIAAAB8AAAA/P//////
+//+xUwAAAAAAAAIAAAAuAAAA/P/////////GUwAAAAAAAAIAAAAUAQAA/P////////9J
+VAAAAAAAAAIAAAAfAQAA/P////////9lWQAAAAAAAAIAAABnAAAA/P////////+bWQAA
+AAAAAAIAAADWAAAA/P////////+1WQAAAAAAAAIAAADWAAAA/P/////////1WQAAAAAA
+AAIAAABCAAAA/P////////91WgAAAAAAAAIAAAAQAQAA/P////////+KWgAAAAAAAAIA
+AABsAAAA/P////////+KWwAAAAAAAAIAAAA4AQAA/P////////8kXAAAAAAAAAIAAADW
+AAAA/P////////+ZXAAAAAAAAAIAAABGAQAA/P////////+jXAAAAAAAAAIAAACuAAAA
+/P/////////SXQAAAAAAAAIAAAAjAAAA/P/////////zXQAAAAAAAAIAAABDAQAA/P//
+//////80XgAAAAAAAAIAAAAjAAAA/P////////9lXgAAAAAAAAIAAAAjAAAA/P//////
+//+YXgAAAAAAAAIAAABDAQAA/P/////////pXgAAAAAAAAIAAAAjAAAA/P////////8a
+XwAAAAAAAAIAAAAjAAAA/P////////9NXwAAAAAAAAIAAABDAQAA/P////////+kXwAA
+AAAAAAIAAAAjAAAA/P/////////QXwAAAAAAAAIAAAACAQAA/P//////////XwAAAAAA
+AAIAAAAaAAAA/P////////8NYAAAAAAAAAIAAAAhAQAA/P////////90YAAAAAAAAAIA
+AAAfAQAA/P////////+UYAAAAAAAAAIAAAAfAQAA/P/////////ZYQAAAAAAAAsAAADe
+AAAAAAAAAAAAAADnYQAAAAAAAAsAAAARAAAAAAAAAAAAAAD4YQAAAAAAAAIAAAAVAQAA
+/P////////9PYgAAAAAAAAIAAAAfAQAA/P////////8tZQAAAAAAAAIAAAAlAQAA/P//
+//////+uZwAAAAAAAAIAAACpAAAA/P////////9waAAAAAAAAAsAAAACAAAAAC4AAAAA
+AACsaAAAAAAAAAIAAABrAQAA/P/////////UaQAAAAAAAAIAAAAfAQAA/P/////////+
+aQAAAAAAAAIAAABCAAAA/P////////8JagAAAAAAAAIAAACKAAAA/P////////8sagAA
+AAAAAAIAAABQAAAA/P////////9GagAAAAAAAAIAAAB2AAAA/P////////92agAAAAAA
+AAIAAABlAQAA/P////////+RagAAAAAAAAIAAAANAAAA/P////////+sagAAAAAAAAIA
+AAAEAQAA/P////////98awAAAAAAAAIAAADkAAAA/P////////+qawAAAAAAAAIAAAAf
+AQAA/P/////////GawAAAAAAAAIAAAAfAQAA/P/////////3awAAAAAAAAIAAADkAAAA
+/P////////9JbAAAAAAAAAIAAAAfAQAA/P////////9ubAAAAAAAAAIAAAAfAQAA/P//
+//////+FbAAAAAAAAAIAAADkAAAA/P/////////9bAAAAAAAAAIAAAAfAQAA/P//////
+//8cbQAAAAAAAAIAAAAfAQAA/P////////8+bQAAAAAAAAIAAAAfAQAA/P////////+x
+bQAAAAAAAAIAAAAfAQAA/P/////////QbQAAAAAAAAIAAAAfAQAA/P/////////9bQAA
+AAAAAAIAAAAfAQAA/P////////8nbgAAAAAAAAIAAABCAAAA/P////////9SbgAAAAAA
+AAIAAACKAAAA/P////////9gbgAAAAAAAAIAAAAfAQAA/P////////9rbgAAAAAAAAIA
+AACKAAAA/P/////////ebgAAAAAAAAIAAAAfAQAA/P/////////1bgAAAAAAAAIAAABC
+AAAA/P////////9ecgAAAAAAAAsAAAACAAAAUjMAAAAAAADMcwAAAAAAAAsAAAACAAAA
+YDMAAAAAAADRcwAAAAAAAAIAAADWAAAA/P/////////icwAAAAAAAAsAAAACAAAAQDMA
+AAAAAADqcwAAAAAAAAIAAADWAAAA/P////////9GdAAAAAAAAAIAAAArAAAA/P//////
+//9tdAAAAAAAAAIAAAArAAAA/P/////////6dQAAAAAAAAIAAAArAAAA/P////////8V
+dgAAAAAAAAIAAAArAAAA/P////////8tdgAAAAAAAAIAAAArAAAA/P////////+WdgAA
+AAAAAAIAAADoAAAA/P/////////MdgAAAAAAAAIAAAArAAAA/P////////9UdwAAAAAA
+AAIAAABCAAAA/P////////9sdwAAAAAAAAIAAAAfAQAA/P////////90dwAAAAAAAAIA
+AABLAAAA/P/////////MdwAAAAAAAAIAAABNAQAA/P//////////dwAAAAAAAAIAAAAA
+AQAA/P////////+IeAAAAAAAAAIAAAAMAQAA/P/////////BeAAAAAAAAAIAAACxAAAA
+/P////////8lfAAAAAAAAAIAAACXAAAA/P////////84fAAAAAAAAAIAAAA4AQAA/P//
+//////9nfAAAAAAAAAIAAAA4AQAA/P////////+DfAAAAAAAAAIAAAA4AQAA/P//////
+//+HfQAAAAAAAAIAAAAfAQAA/P////////++fQAAAAAAAAIAAABCAAAA/P////////+2
+fwAAAAAAAAIAAAArAAAA/P/////////lfwAAAAAAAAIAAADAAAAA/P////////8GgAAA
+AAAAAAsAAAACAAAAwDMAAAAAAAAOgAAAAAAAAAIAAADWAAAA/P////////+CgAAAAAAA
+AAIAAAB5AQAA/P/////////BgAAAAAAAAAIAAAAfAQAA/P////////9PgQAAAAAAAAIA
+AAAfAQAA/P////////+HgQAAAAAAAAIAAAAzAQAA/P/////////mgQAAAAAAAAIAAAAz
+AQAA/P////////8hggAAAAAAAAIAAAAzAQAA/P////////+PggAAAAAAAAsAAAACAAAA
+UD0AAAAAAADXggAAAAAAAAIAAABfAQAA/P////////8QgwAAAAAAAAIAAAAfAQAA/P//
+//////83gwAAAAAAAAIAAAAfAQAA/P////////9vgwAAAAAAAAIAAAAzAQAA/P//////
+//+ggwAAAAAAAAIAAABmAQAA/P/////////FgwAAAAAAAAIAAAAzAQAA/P////////8n
+hAAAAAAAAAIAAABMAQAA/P////////9ShAAAAAAAAAIAAAB8AAAA/P////////9DhQAA
+AAAAAAIAAAAfAQAA/P////////+3hQAAAAAAAAIAAADPAAAA/P////////+HhgAAAAAA
+AAIAAAAuAAAA/P////////+chgAAAAAAAAIAAAAUAQAA/P/////////zhgAAAAAAAAIA
+AABcAQAA/P////////8BhwAAAAAAAAIAAAAfAQAA/P////////9IjAAAAAAAAAIAAAC9
+AAAA/P////////9vjAAAAAAAAAIAAADWAAAA/P////////+JjAAAAAAAAAIAAADWAAAA
+/P/////////TjAAAAAAAAAIAAABCAAAA/P////////+HjQAAAAAAAAIAAAAzAQAA/P//
+//////8AjgAAAAAAAAIAAAAqAQAA/P////////8VjgAAAAAAAAIAAAAyAAAA/P//////
+//8jjgAAAAAAAAIAAADSAAAA/P////////9EjgAAAAAAAAIAAAAqAQAA/P////////9k
+jgAAAAAAAAIAAADBAAAA/P////////81jwAAAAAAAAIAAADyAAAA/P////////9TjwAA
+AAAAAAsAAAACAAAAYD0AAAAAAAB+jwAAAAAAAAIAAADWAAAA/P/////////0kAAAAAAA
+AAIAAADyAAAA/P////////8ikQAAAAAAAAIAAAAjAAAA/P////////8/kQAAAAAAAAIA
+AABDAQAA/P////////+AkQAAAAAAAAIAAAAjAAAA/P////////+xkQAAAAAAAAIAAAAj
+AAAA/P/////////kkQAAAAAAAAIAAABDAQAA/P////////81kgAAAAAAAAIAAAAjAAAA
+/P////////9mkgAAAAAAAAIAAAAjAAAA/P////////+ZkgAAAAAAAAIAAABDAQAA/P//
+///////wkgAAAAAAAAIAAAAjAAAA/P////////9clAAAAAAAAAIAAAACAQAA/P//////
+//+LlAAAAAAAAAIAAAAaAAAA/P////////+ZlAAAAAAAAAIAAAAhAQAA/P////////8I
+lQAAAAAAAAIAAAAfAQAA/P////////8olQAAAAAAAAIAAAAfAQAA/P////////+MlgAA
+AAAAAAsAAACvAAAAAAAAAAAAAACVlgAAAAAAAAsAAAD0AAAAAAAAAAAAAACelgAAAAAA
+AAsAAADZAAAAAAAAAAAAAACvlgAAAAAAAAIAAAAVAQAA/P/////////zlgAAAAAAAAIA
+AABCAAAA/P////////+SmQAAAAAAAAIAAADoAAAA/P////////97mgAAAAAAAAIAAAB5
+AQAA/P////////9/mwAAAAAAAAIAAAArAAAA/P////////+RmwAAAAAAAAIAAAArAAAA
+/P////////+gmwAAAAAAAAsAAAAFAAAAjA0AAAAAAAC+mwAAAAAAAAsAAAAFAAAAmA0A
+AAAAAADqmwAAAAAAAAsAAAAFAAAAYAwAAAAAAAAknAAAAAAAAAsAAAACAAAAgD0AAAAA
+AABVnAAAAAAAAAsAAAACAAAAoEUAAAAAAACEnAAAAAAAAAsAAAACAAAAQEAAAAAAAACL
+nAAAAAAAAAsAAAACAAAAREAAAAAAAAAwnwAAAAAAAAIAAAANAQAA/P/////////VnwAA
+AAAAAAIAAAAfAQAA/P//////////nwAAAAAAAAIAAABCAAAA/P////////8KoAAAAAAA
+AAIAAAAcAAAA/P////////+CoAAAAAAAAAIAAAD5AAAA/P////////8foQAAAAAAAAIA
+AABtAAAA/P////////8roQAAAAAAAAIAAABKAAAA/P////////9boQAAAAAAAAIAAACR
+AAAA/P////////92oQAAAAAAAAIAAADGAAAA/P////////+RoQAAAAAAAAIAAAAzAAAA
+/P////////8DogAAAAAAAAIAAAA/AQAA/P////////8sogAAAAAAAAIAAAAfAQAA/P//
+//////9cogAAAAAAAAIAAAA/AQAA/P/////////vogAAAAAAAAIAAAAfAQAA/P//////
+//8kowAAAAAAAAIAAAAfAQAA/P////////96owAAAAAAAAIAAAAfAQAA/P////////+o
+owAAAAAAAAIAAAAfAQAA/P////////+/owAAAAAAAAIAAAA/AQAA/P////////+jpAAA
+AAAAAAIAAAAcAAAA/P////////+xpAAAAAAAAAIAAAAfAQAA/P////////+8pAAAAAAA
+AAIAAAAcAAAA/P////////8opQAAAAAAAAIAAAAfAQAA/P////////8/pQAAAAAAAAIA
+AABCAAAA/P////////+FpQAAAAAAAAIAAACBAAAA/P////////+dpQAAAAAAAAsAAAAC
+AAAAhEkAAAAAAACqpQAAAAAAAAIAAAArAAAA/P/////////hpQAAAAAAAAIAAAArAAAA
+/P////////8JpgAAAAAAAAIAAAArAAAA/P////////8IpwAAAAAAAAIAAAAfAQAA/P//
+//////8lpwAAAAAAAAIAAAAtAAAA/P/////////ypwAAAAAAAAIAAABWAQAA/P//////
+//8eqAAAAAAAAAsAAAACAAAAyEoAAAAAAACYqQAAAAAAAAsAAAAFAAAA/A0AAAAAAAC3
+qQAAAAAAAAsAAAAFAAAACA4AAAAAAADWqQAAAAAAAAsAAAAFAAAAvA4AAAAAAAB3qgAA
+AAAAAAsAAAAFAAAARA4AAAAAAACQqgAAAAAAAAIAAAArAAAA/P////////+vqgAAAAAA
+AAsAAAAFAAAAUA4AAAAAAADEqgAAAAAAAAIAAAArAAAA/P/////////mqgAAAAAAAAIA
+AAArAAAA/P/////////8qgAAAAAAAAsAAAAFAAAAXA4AAAAAAAARqwAAAAAAAAIAAAAr
+AAAA/P////////8vqwAAAAAAAAIAAAArAAAA/P////////9DqwAAAAAAAAsAAAAFAAAA
+jA4AAAAAAABmqwAAAAAAAAsAAAAFAAAAwA0AAAAAAACDrAAAAAAAAAIAAABAAAAA/P//
+//////9ZrwAAAAAAAAIAAAAUAAAA/P/////////trwAAAAAAAAsAAAAGAAAAAAAAAAAA
+AADyrwAAAAAAAAIAAAAMAQAA/P/////////+rwAAAAAAAAsAAAAGAAAAIAEAAAAAAAAD
+sAAAAAAAAAIAAAAMAQAA/P////////8KsAAAAAAAAAsAAAAGAAAACAAAAAAAAAARsAAA
+AAAAAAsAAAAGAAAAiAAAAAAAAAA0sAAAAAAAAAIAAAAGAAAAAgAAAAAAAAA7sAAAAAAA
+AAIAAAAGAAAA/P////////9EsAAAAAAAAAIAAAAGAAAA/v////////9SsAAAAAAAAAIA
+AAAGAAAAAgAAAAAAAAB2sAAAAAAAAAIAAAAGAAAAAgAAAAAAAACFsAAAAAAAAAIAAAAG
+AAAAAgAAAAAAAACXsAAAAAAAAAIAAAAGAAAAAgAAAAAAAAC6sAAAAAAAAAIAAAAGAAAA
+AgAAAAAAAADgsAAAAAAAAAIAAAAGAAAAAgAAAAAAAADusAAAAAAAAAIAAAAGAAAAAgAA
+AAAAAAD3sAAAAAAAAAIAAAAGAAAAAgAAAAAAAABksQAAAAAAAAsAAAAGAAAAIAEAAAAA
+AACksQAAAAAAAAIAAAAGAAAAAgAAAAAAAABSsgAAAAAAAAsAAAAGAAAAIAEAAAAAAABx
+sgAAAAAAAAIAAAAGAAAAAgAAAAAAAACLsgAAAAAAAAsAAAAGAAAAIAEAAAAAAACRsgAA
+AAAAAAEAAAAGAAAAHgEAAAAAAAC8sgAAAAAAAAsAAAAGAAAAIgEAAAAAAADDsgAAAAAA
+AAsAAAAGAAAAIAEAAAAAAABhswAAAAAAAAsAAAAGAAAAoAEAAAAAAABpswAAAAAAAAIA
+AABvAQAA/P////////+qswAAAAAAAAIAAAD+AAAA/P////////8BtQAAAAAAAAsAAAAC
+AAAA2EoAAAAAAAAntgAAAAAAAAsAAAACAAAAzEoAAAAAAABOtwAAAAAAAAIAAABkAAAA
+/P/////////SugAAAAAAAAIAAAACAAAAIEsAAAAAAADtugAAAAAAAAsAAAACAAAAKEsA
+AAAAAACAvAAAAAAAAAsAAAACAAAAKEsAAAAAAACuvAAAAAAAAAsAAAACAAAAIEsAAAAA
+AAC1vAAAAAAAAAsAAAACAAAAKEsAAAAAAAADvQAAAAAAAAIAAAACAAAAHEsAAAAAAAAg
+vQAAAAAAAAIAAAACAAAAHEsAAAAAAAAtvQAAAAAAAAsAAAACAAAAIEsAAAAAAAA0vQAA
+AAAAAAsAAAACAAAAKEsAAAAAAAAsvgAAAAAAAAIAAADgAAAA/P////////8/vgAAAAAA
+AAIAAADyAAAA/P////////92vgAAAAAAAAIAAADyAAAA/P////////+hvgAAAAAAAAIA
+AADyAAAA/P/////////hvgAAAAAAAAIAAABNAQAA/P////////8UvwAAAAAAAAIAAAAA
+AQAA/P////////+6vwAAAAAAAAIAAAAMAQAA/P/////////6vwAAAAAAAAIAAABaAAAA
+/P////////94wwAAAAAAAAIAAAAUAQAA/P////////9+wwAAAAAAAAIAAAAuAAAA/P//
+//////+PwwAAAAAAAAIAAACzAAAA/P////////+ExQAAAAAAAAIAAABcAQAA/P//////
+//+SxQAAAAAAAAIAAAAfAQAA/P////////+qxwAAAAAAAAIAAAArAAAA/P////////+9
+yAAAAAAAAAIAAADAAAAA/P/////////jyAAAAAAAAAsAAAACAAAAQEwAAAAAAADryAAA
+AAAAAAIAAADWAAAA/P////////+wyQAAAAAAAAIAAABHAAAA/P/////////byQAAAAAA
+AAIAAABnAQAA/P/////////syQAAAAAAAAIAAAByAQAA/P////////9dygAAAAAAAAIA
+AAAZAAAA/P////////+DygAAAAAAAAIAAAA8AAAA/P////////8fywAAAAAAAAIAAABx
+AQAA/P////////97ywAAAAAAAAIAAABxAQAA/P////////+hywAAAAAAAAIAAABxAQAA
+/P/////////UywAAAAAAAAIAAABxAQAA/P////////8YzAAAAAAAAAIAAABxAQAA/P//
+//////+EzAAAAAAAAAsAAAACAAAA0FUAAAAAAACLzAAAAAAAAAsAAAACAAAA1lUAAAAA
+AADXzAAAAAAAAAIAAABfAQAA/P////////8SzQAAAAAAAAIAAAAfAQAA/P////////8a
+zQAAAAAAAAIAAAA8AAAA/P////////85zQAAAAAAAAIAAAAfAQAA/P////////9ozQAA
+AAAAAAIAAABxAQAA/P////////+LzQAAAAAAAAIAAAAbAQAA/P////////+nzQAAAAAA
+AAIAAACcAAAA/P/////////FzQAAAAAAAAIAAABuAQAA/P/////////SzQAAAAAAAAIA
+AABUAQAA/P/////////izQAAAAAAAAIAAAAHAQAA/P////////8HzgAAAAAAAAIAAABx
+AQAA/P////////9lzgAAAAAAAAIAAAClAAAA/P////////9+zgAAAAAAAAIAAAB4AAAA
+/P////////+nzgAAAAAAAAIAAABpAAAA/P/////////RzgAAAAAAAAIAAABnAQAA/P//
+///////ZzgAAAAAAAAIAAAB8AAAA/P/////////HzwAAAAAAAAIAAAAfAQAA/P//////
+//8b0wAAAAAAAAIAAAAuAAAA/P////////8w0wAAAAAAAAIAAAAUAQAA/P////////+d
+0wAAAAAAAAIAAAB7AQAA/P////////+r0wAAAAAAAAIAAAAfAQAA/P////////901QAA
+AAAAAAIAAABCAAAA/P////////+T1gAAAAAAAAIAAADIAAAA/P////////8h2gAAAAAA
+AAsAAAACAAAA4FUAAAAAAADP2wAAAAAAAAIAAAARAQAA/P/////////93AAAAAAAAAIA
+AAARAQAA/P////////9D3QAAAAAAAAIAAADWAAAA/P////////9d3QAAAAAAAAIAAADW
+AAAA/P/////////w3gAAAAAAAAsAAAACAAAAIFYAAAAAAAAT3wAAAAAAAAIAAADWAAAA
+/P////////944gAAAAAAAAIAAAAjAAAA/P////////+Z4gAAAAAAAAIAAABDAQAA/P//
+///////a4gAAAAAAAAIAAAAjAAAA/P////////8L4wAAAAAAAAIAAAAjAAAA/P//////
+//8+4wAAAAAAAAIAAABDAQAA/P////////+P4wAAAAAAAAIAAAAjAAAA/P/////////A
+4wAAAAAAAAIAAAAjAAAA/P/////////z4wAAAAAAAAIAAABDAQAA/P////////9K5AAA
+AAAAAAIAAAAjAAAA/P////////9e5AAAAAAAAAIAAAAiAAAA/P////////+O5AAAAAAA
+AAIAAAAVAAAA/P/////////I5QAAAAAAAAIAAAAVAAAA/P////////+k5gAAAAAAAAsA
+AAACAAAAQFYAAAAAAAAz5wAAAAAAAAIAAAACAQAA/P/////////H5wAAAAAAAAIAAAAa
+AAAA/P/////////V5wAAAAAAAAIAAAAhAQAA/P////////8R6AAAAAAAAAIAAAAfAQAA
+/P////////8x6AAAAAAAAAIAAAAfAQAA/P////////+56QAAAAAAAAsAAAAoAAAAAAAA
+AAAAAADC6QAAAAAAAAsAAACeAAAAAAAAAAAAAADL6QAAAAAAAAsAAAA2AQAAAAAAAAAA
+AADU6QAAAAAAAAsAAACLAAAAAAAAAAAAAADd6QAAAAAAAAsAAABBAQAAAAAAAAAAAADu
+6QAAAAAAAAIAAAAVAQAA/P////////8z6gAAAAAAAAIAAABCAAAA/P////////9c6gAA
+AAAAAAIAAAAsAAAA/P////////9k6gAAAAAAAAIAAADMAAAA/P////////+C6gAAAAAA
+AAIAAAB6AAAA/P////////997AAAAAAAAAIAAACGAAAA/P////////957QAAAAAAAAIA
+AABnAQAA/P////////+R7QAAAAAAAAIAAADoAAAA/P////////9U7gAAAAAAAAIAAABW
+AAAA/P////////9c7gAAAAAAAAIAAABEAAAA/P////////9n7gAAAAAAAAIAAAByAQAA
+/P////////9E7wAAAAAAAAsAAAACAAAA4FYAAAAAAABT7wAAAAAAAAsAAAACAAAA4FYA
+AAAAAABp7wAAAAAAAAIAAAAfAQAA/P////////9/7wAAAAAAAAsAAAACAAAAQFkAAAAA
+AACj7wAAAAAAAAsAAAACAAAARFkAAAAAAAC57wAAAAAAAAIAAAAfAQAA/P/////////j
+7wAAAAAAAAIAAABVAAAA/P////////8L8QAAAAAAAAIAAABSAAAA/P////////9R8QAA
+AAAAAAIAAADxAAAA/P////////9e8QAAAAAAAAIAAAAsAQAA/P////////8C8gAAAAAA
+AAIAAAAiAAAA/P////////9N8wAAAAAAAAIAAAAfAQAA/P////////8L9AAAAAAAAAIA
+AACCAAAA/P////////9j9AAAAAAAAAIAAAAOAAAA/P////////9v9AAAAAAAAAIAAACq
+AAAA/P////////+G9AAAAAAAAAIAAABCAAAA/P////////+g9AAAAAAAAAIAAACQAAAA
+/P/////////O9AAAAAAAAAIAAAA6AAAA/P/////////n9AAAAAAAAAIAAAApAAAA/P//
+//////8A9QAAAAAAAAIAAAA+AAAA/P/////////q9QAAAAAAAAIAAABnAQAA/P//////
+//9S9gAAAAAAAAIAAABnAQAA/P////////9y9wAAAAAAAAIAAAAfAQAA/P////////+M
+9wAAAAAAAAIAAAAfAQAA/P/////////a9wAAAAAAAAIAAADoAAAA/P/////////M+QAA
+AAAAAAIAAAAfAQAA/P/////////j+QAAAAAAAAIAAABCAAAA/P////////8N+gAAAAAA
+AAIAAABnAQAA/P/////////O+gAAAAAAAAIAAABfAAAA/P////////+v+wAAAAAAAAIA
+AAArAAAA/P/////////e/AAAAAAAAAIAAAC+AAAA/P////////+pAAEAAAAAAAIAAABS
+AAAA/P/////////WAAEAAAAAAAIAAAAMAQAA/P/////////nAAEAAAAAAAIAAAAMAQAA
+/P////////8YAQEAAAAAAAsAAAACAAAAeF8AAAAAAAAKBAEAAAAAAAIAAABvAQAA/P//
+//////8wBAEAAAAAAAIAAAAUAAAA/P/////////ABQEAAAAAAAIAAAD+AAAA/P//////
+///cCAEAAAAAAAIAAADWAAAA/P////////8kCgEAAAAAAAIAAAA+AQAA/P////////9l
+CwEAAAAAAAIAAAA+AQAA/P/////////1DAEAAAAAAAIAAAACAAAAIGEAAAAAAAAJDQEA
+AAAAAAsAAAACAAAAKGEAAAAAAAApDQEAAAAAAAIAAAACAAAAoF8AAAAAAAA5DQEAAAAA
+AAsAAAACAAAAqF8AAAAAAACzDwEAAAAAAAsAAAACAAAAoF8AAAAAAAC6DwEAAAAAAAsA
+AAACAAAAIGEAAAAAAABrEQEAAAAAAAIAAAArAAAA/P////////8wEgEAAAAAAAIAAABT
+AAAA/P////////9yEgEAAAAAAAIAAABeAAAA/P////////+eEgEAAAAAAAIAAABTAAAA
+/P/////////uEgEAAAAAAAIAAABeAAAA/P////////8qEwEAAAAAAAIAAABeAAAA/P//
+//////9+EwEAAAAAAAIAAADIAAAA/P/////////bEwEAAAAAAAIAAADIAAAA/P//////
+//8rFAEAAAAAAAIAAABNAQAA/P////////9oFAEAAAAAAAIAAAAAAQAA/P////////9C
+FQEAAAAAAAIAAAAMAQAA/P////////+CFQEAAAAAAAIAAABPAAAA/P/////////nGAEA
+AAAAAAIAAAAUAQAA/P/////////tGAEAAAAAAAIAAAAuAAAA/P/////////8GAEAAAAA
+AAIAAACzAAAA/P/////////dGgEAAAAAAAIAAAB7AQAA/P/////////rGgEAAAAAAAIA
+AAAfAQAA/P////////91GwEAAAAAAAIAAADIAAAA/P////////9FHAEAAAAAAAIAAADI
+AAAA/P////////+AHwEAAAAAAAIAAABoAQAA/P/////////gHwEAAAAAAAIAAABoAQAA
+/P////////+cIAEAAAAAAAIAAAAMAQAA/P////////9RIQEAAAAAAAIAAAAsAAAA/P//
+//////9+IQEAAAAAAAIAAAB6AAAA/P/////////BIQEAAAAAAAsAAAACAAAAkGIAAAAA
+AABAJgEAAAAAAAIAAABoAQAA/P/////////oJgEAAAAAAAIAAACVAAAA/P////////8R
+JwEAAAAAAAIAAACVAAAA/P////////8nJwEAAAAAAAIAAAAKAQAA/P////////9HJwEA
+AAAAAAIAAACVAAAA/P////////9fJwEAAAAAAAIAAACVAAAA/P/////////rJwEAAAAA
+AAIAAAAKAQAA/P////////8LKAEAAAAAAAIAAACVAAAA/P////////93KAEAAAAAAAIA
+AACVAAAA/P////////+JKAEAAAAAAAIAAACVAAAA/P////////+bKAEAAAAAAAIAAACV
+AAAA/P////////+tKAEAAAAAAAIAAACVAAAA/P////////+/KAEAAAAAAAIAAACVAAAA
+/P/////////HKAEAAAAAAAIAAABYAQAA/P/////////XKAEAAAAAAAIAAADLAAAA/P//
+///////7KAEAAAAAAAIAAACVAAAA/P////////8SKQEAAAAAAAIAAACVAAAA/P//////
+//8rKQEAAAAAAAIAAACVAAAA/P////////9CKQEAAAAAAAIAAACVAAAA/P////////9Z
+KQEAAAAAAAIAAACVAAAA/P////////9sKQEAAAAAAAIAAABYAQAA/P////////98KQEA
+AAAAAAIAAADLAAAA/P////////+yKQEAAAAAAAIAAABYAQAA/P/////////CKQEAAAAA
+AAIAAADLAAAA/P/////////8KQEAAAAAAAIAAABoAQAA/P////////9oKwEAAAAAAAIA
+AACVAAAA/P////////9SLAEAAAAAAAIAAABoAQAA/P////////+ILAEAAAAAAAsAAAAC
+AAAAwGIAAAAAAACPLAEAAAAAAAsAAAAEAAAAAAAAAAAAAACcLAEAAAAAAAIAAAB1AQAA
+/P/////////TLAEAAAAAAAsAAAACAAAAwGIAAAAAAADaLAEAAAAAAAsAAAAEAAAAQAAA
+AAAAAADnLAEAAAAAAAIAAAB1AQAA/P////////9SLgEAAAAAAAsAAAACAAAA4GIAAAAA
+AACCLgEAAAAAAAIAAAAfAQAA/P////////+YLgEAAAAAAAsAAAACAAAAQGQAAAAAAACk
+LgEAAAAAAAsAAAACAAAARGQAAAAAAAC4LgEAAAAAAAIAAAAfAQAA/P/////////LLgEA
+AAAAAAsAAAACAAAAIGgAAAAAAAD5LgEAAAAAAAIAAAAfAQAA/P////////8tLwEAAAAA
+AAIAAACBAAAA/P////////9FLwEAAAAAAAsAAAACAAAAxG4AAAAAAABSLwEAAAAAAAIA
+AAArAAAA/P////////+yLwEAAAAAAAIAAAArAAAA/P/////////aLwEAAAAAAAIAAAAr
+AAAA/P////////9QMAEAAAAAAAsAAAACAAAACHAAAAAAAACxMgEAAAAAAAsAAAACAAAA
+gGYAAAAAAADyMgEAAAAAAAIAAABwAAAA/P////////8NMwEAAAAAAAIAAABwAAAA/P//
+//////8gMwEAAAAAAAsAAAACAAAAgGYAAAAAAAA9MwEAAAAAAAIAAAAfAQAA/P//////
+//9TMwEAAAAAAAsAAAACAAAAIGsAAAAAAABeMwEAAAAAAAsAAAACAAAAJGsAAAAAAABz
+MwEAAAAAAAIAAAAfAQAA/P////////+DMwEAAAAAAAsAAAACAAAAMGsAAAAAAAC1MwEA
+AAAAAAIAAAAfAQAA/P/////////FMwEAAAAAAAsAAAACAAAAUGsAAAAAAAD3MwEAAAAA
+AAIAAAAfAQAA/P////////8NNAEAAAAAAAsAAAACAAAAgGsAAAAAAABgNAEAAAAAAAIA
+AABwAAAA/P////////+ANAEAAAAAAAIAAABwAAAA/P////////+iNAEAAAAAAAIAAABw
+AAAA/P////////+/NAEAAAAAAAIAAABwAAAA/P/////////cNAEAAAAAAAIAAABwAAAA
+/P/////////5NAEAAAAAAAIAAABwAAAA/P////////8MNQEAAAAAAAsAAAACAAAAgGsA
+AAAAAAApNQEAAAAAAAIAAAAfAQAA/P////////9CNQEAAAAAAAsAAAACAAAAIG0AAAAA
+AAB9NQEAAAAAAAIAAABwAAAA/P////////+aNQEAAAAAAAIAAABwAAAA/P////////+t
+NQEAAAAAAAsAAAACAAAAIG0AAAAAAADKNQEAAAAAAAIAAAAfAQAA/P////////9oNwEA
+AAAAAAIAAAAMAQAA/P////////+FOgEAAAAAAAIAAAA+AQAA/P////////8vPAEAAAAA
+AAIAAAA+AQAA/P////////9OPAEAAAAAAAIAAAB8AAAA/P////////9vPAEAAAAAAAIA
+AAB8AAAA/P////////+aPAEAAAAAAAIAAADAAAAA/P////////+6PAEAAAAAAAIAAADA
+AAAA/P/////////fPAEAAAAAAAsAAAABAAAAODwBAAAAAADqPAEAAAAAAAsAAAABAAAA
+NC4BAAAAAAD1PAEAAAAAAAsAAAABAAAAPzABAAAAAAAAPQEAAAAAAAsAAAABAAAAEy8B
+AAAAAAALPQEAAAAAAAsAAAABAAAAejABAAAAAAAWPQEAAAAAAAsAAAABAAAAezYBAAAA
+AABOPQEAAAAAAAsAAAACAAAAYHAAAAAAAAB+PQEAAAAAAAIAAAAfAQAA/P////////+U
+PQEAAAAAAAsAAAACAAAA4HEAAAAAAACgPQEAAAAAAAsAAAACAAAA5HEAAAAAAAC0PQEA
+AAAAAAIAAAAfAQAA/P/////////HPQEAAAAAAAsAAAACAAAAAHQAAAAAAAD1PQEAAAAA
+AAIAAAAfAQAA/P/////////mPgEAAAAAAAIAAAArAAAA/P////////9jPwEAAAAAAAIA
+AAArAAAA/P////////+8PwEAAAAAAAIAAAArAAAA/P////////8WQAEAAAAAAAIAAAAr
+AAAA/P////////8nQAEAAAAAAAIAAAArAAAA/P////////+UQAEAAAAAAAsAAAACAAAA
+WHwAAAAAAABvQgEAAAAAAAsAAAACAAAABHcAAAAAAACPQgEAAAAAAAsAAAACAAAAEHcA
+AAAAAAC4QgEAAAAAAAsAAAACAAAAMHcAAAAAAADhQgEAAAAAAAsAAAACAAAAYHcAAAAA
+AAAaQwEAAAAAAAIAAABwAAAA/P////////86QwEAAAAAAAIAAABwAAAA/P////////9b
+QwEAAAAAAAIAAABwAAAA/P////////+KQwEAAAAAAAIAAABwAAAA/P////////+uQwEA
+AAAAAAIAAABwAAAA/P/////////SQwEAAAAAAAIAAABwAAAA/P/////////2QwEAAAAA
+AAIAAABwAAAA/P////////8aRAEAAAAAAAIAAABwAAAA/P////////8+RAEAAAAAAAIA
+AABwAAAA/P////////9mRAEAAAAAAAIAAABwAAAA/P////////+ZRAEAAAAAAAIAAABw
+AAAA/P////////+2RAEAAAAAAAIAAABwAAAA/P////////8DRQEAAAAAAAIAAABwAAAA
+/P////////8gRQEAAAAAAAIAAABwAAAA/P////////89RQEAAAAAAAIAAABwAAAA/P//
+//////9aRQEAAAAAAAIAAABwAAAA/P////////+KRQEAAAAAAAIAAABwAAAA/P//////
+//+nRQEAAAAAAAIAAABwAAAA/P/////////ERQEAAAAAAAIAAABwAAAA/P/////////h
+RQEAAAAAAAIAAABwAAAA/P/////////+RQEAAAAAAAIAAABwAAAA/P////////8QRgEA
+AAAAAAsAAAACAAAAIHsAAAAAAABaRgEAAAAAAAIAAABwAAAA/P////////97RgEAAAAA
+AAIAAABwAAAA/P////////+KRgEAAAAAAAsAAAACAAAAAHcAAAAAAACoRgEAAAAAAAIA
+AAAfAQAA/P////////+/RgEAAAAAAAsAAAACAAAAEHcAAAAAAADdRgEAAAAAAAIAAAAf
+AQAA/P/////////0RgEAAAAAAAsAAAACAAAAMHcAAAAAAAASRwEAAAAAAAIAAAAfAQAA
+/P////////8pRwEAAAAAAAsAAAACAAAAYHcAAAAAAABHRwEAAAAAAAIAAAAfAQAA/P//
+//////9hRwEAAAAAAAsAAAACAAAAIHsAAAAAAACCRwEAAAAAAAIAAAAfAQAA/P//////
+///DSQEAAAAAAAIAAADWAAAA/P/////////WSQEAAAAAAAIAAADWAAAA/P////////9M
+SgEAAAAAAAIAAADWAAAA/P////////9fSgEAAAAAAAIAAADWAAAA/P////////+xSgEA
+AAAAAAIAAADWAAAA/P/////////fSgEAAAAAAAIAAADWAAAA/P/////////ySgEAAAAA
+AAIAAADWAAAA/P////////9ASwEAAAAAAAIAAADWAAAA/P////////+5UQEAAAAAAAIA
+AAB8AAAA/P/////////aUQEAAAAAAAIAAAB8AAAA/P////////8FUgEAAAAAAAIAAADA
+AAAA/P////////8lUgEAAAAAAAIAAADAAAAA/P////////9UUgEAAAAAAAsAAAABAAAA
+o1EBAAAAAABfUgEAAAAAAAsAAAABAAAAMD0BAAAAAABqUgEAAAAAAAsAAAABAAAAg0AB
+AAAAAAB1UgEAAAAAAAsAAAABAAAADz4BAAAAAACAUgEAAAAAAAsAAAABAAAAuUABAAAA
+AACLUgEAAAAAAAsAAAABAAAArEcBAAAAAADCUgEAAAAAAAsAAAACAAAAoHwAAAAAAADy
+UgEAAAAAAAIAAAAfAQAA/P////////8IUwEAAAAAAAsAAAACAAAAIH4AAAAAAAAUUwEA
+AAAAAAsAAAACAAAAJH4AAAAAAAAoUwEAAAAAAAIAAAAfAQAA/P////////8+UwEAAAAA
+AAsAAAACAAAAgIIAAAAAAABsUwEAAAAAAAIAAAAfAQAA/P////////9dVAEAAAAAAAIA
+AAArAAAA/P/////////aVAEAAAAAAAIAAAArAAAA/P////////8zVQEAAAAAAAIAAAAr
+AAAA/P////////+NVQEAAAAAAAIAAAArAAAA/P////////+eVQEAAAAAAAIAAAArAAAA
+/P////////9/VgEAAAAAAAsAAAACAAAAhIUAAAAAAACdVgEAAAAAAAsAAAACAAAAkIUA
+AAAAAADFVgEAAAAAAAsAAAACAAAAsIUAAAAAAADtVgEAAAAAAAsAAAACAAAA4IUAAAAA
+AAAoVwEAAAAAAAIAAABwAAAA/P////////9FVwEAAAAAAAIAAABwAAAA/P////////9V
+VwEAAAAAAAsAAAACAAAAgIgAAAAAAAB+VwEAAAAAAAsAAAACAAAAgIUAAAAAAACbVwEA
+AAAAAAIAAAAfAQAA/P////////+yVwEAAAAAAAsAAAACAAAAkIUAAAAAAADQVwEAAAAA
+AAIAAAAfAQAA/P/////////nVwEAAAAAAAsAAAACAAAAsIUAAAAAAAAFWAEAAAAAAAIA
+AAAfAQAA/P////////8cWAEAAAAAAAsAAAACAAAA4IUAAAAAAAA6WAEAAAAAAAIAAAAf
+AQAA/P////////9UWAEAAAAAAAsAAAACAAAAgIgAAAAAAAByWAEAAAAAAAIAAAAfAQAA
+/P////////+tWAEAAAAAAAsAAAACAAAAyIgAAAAAAAARYQEAAAAAAAIAAAB8AAAA/P//
+//////8yYQEAAAAAAAIAAAB8AAAA/P////////9dYQEAAAAAAAIAAADAAAAA/P//////
+//99YQEAAAAAAAIAAADAAAAA/P////////+iYQEAAAAAAAsAAAABAAAA+2ABAAAAAACt
+YQEAAAAAAAsAAAABAAAApFIBAAAAAAC4YQEAAAAAAAsAAAABAAAAnFgBAAAAAADDYQEA
+AAAAAAsAAAABAAAAhlMBAAAAAADOYQEAAAAAAAsAAAABAAAA+lUBAAAAAADZYQEAAAAA
+AAsAAAABAAAAcV8BAAAAAAAAAAAAAAAAAAEAAAABAAAATAYAAAAAAAAIAAAAAAAAAAEA
+AAABAAAA4QYAAAAAAAAQAAAAAAAAAAEAAAABAAAA4QYAAAAAAAAYAAAAAAAAAAEAAAAB
+AAAA4QYAAAAAAAAgAAAAAAAAAAEAAAABAAAA5wYAAAAAAAAoAAAAAAAAAAEAAAABAAAA
+4QYAAAAAAAAwAAAAAAAAAAEAAAABAAAAVQYAAAAAAAA4AAAAAAAAAAEAAAABAAAAYgYA
+AAAAAABAAAAAAAAAAAEAAAABAAAA5wYAAAAAAABIAAAAAAAAAAEAAAABAAAAaQYAAAAA
+AABQAAAAAAAAAAEAAAABAAAAcAYAAAAAAABYAAAAAAAAAAEAAAABAAAAoQYAAAAAAABg
+AAAAAAAAAAEAAAABAAAAgwYAAAAAAABoAAAAAAAAAAEAAAABAAAAlQYAAAAAAABwAAAA
+AAAAAAEAAAABAAAAmwYAAAAAAAB4AAAAAAAAAAEAAAABAAAAqQYAAAAAAABIAQAAAAAA
+AAEAAAADAAAAnwAAAAAAAABQAQAAAAAAAAEAAAADAAAAogAAAAAAAABwAQAAAAAAAAEA
+AAADAAAAqAAAAAAAAAB4AQAAAAAAAAEAAAADAAAAqwAAAAAAAACYAQAAAAAAAAEAAAAD
+AAAAugAAAAAAAACgAQAAAAAAAAEAAAADAAAAvQAAAAAAAADAAQAAAAAAAAEAAAADAAAA
+xQAAAAAAAADIAQAAAAAAAAEAAAADAAAAyAAAAAAAAADoAQAAAAAAAAEAAAADAAAA0AAA
+AAAAAADwAQAAAAAAAAEAAAADAAAA0wAAAAAAAAAQAgAAAAAAAAEAAAADAAAA3QAAAAAA
+AAAYAgAAAAAAAAEAAAADAAAA4AAAAAAAAAA4AgAAAAAAAAEAAAADAAAA6AAAAAAAAABA
+AgAAAAAAAAEAAAADAAAA6wAAAAAAAABgAgAAAAAAAAEAAAADAAAA9QAAAAAAAABoAgAA
+AAAAAAEAAAADAAAA+AAAAAAAAACIAgAAAAAAAAEAAAADAAAAAAEAAAAAAACQAgAAAAAA
+AAEAAAADAAAAAwEAAAAAAACwAgAAAAAAAAEAAAADAAAADgEAAAAAAAC4AgAAAAAAAAEA
+AAADAAAAEQEAAAAAAADYAgAAAAAAAAEAAAADAAAAGQEAAAAAAADgAgAAAAAAAAEAAAAD
+AAAAHAEAAAAAAAAAAwAAAAAAAAEAAAADAAAAJAEAAAAAAAAIAwAAAAAAAAEAAAADAAAA
+JwEAAAAAAAAoAwAAAAAAAAEAAAADAAAALwEAAAAAAAAwAwAAAAAAAAEAAAADAAAAMgEA
+AAAAAABQAwAAAAAAAAEAAAADAAAAOQEAAAAAAABYAwAAAAAAAAEAAAADAAAAPAEAAAAA
+AAB4AwAAAAAAAAEAAAADAAAAQwEAAAAAAACAAwAAAAAAAAEAAAADAAAARgEAAAAAAACg
+AwAAAAAAAAEAAAADAAAATQEAAAAAAACoAwAAAAAAAAEAAAADAAAAUAEAAAAAAADIAwAA
+AAAAAAEAAAADAAAAYgEAAAAAAADQAwAAAAAAAAEAAAADAAAAZQEAAAAAAADwAwAAAAAA
+AAEAAAADAAAAbgEAAAAAAAD4AwAAAAAAAAEAAAADAAAAcQEAAAAAAAAYBAAAAAAAAAEA
+AAADAAAAeAEAAAAAAAAgBAAAAAAAAAEAAAADAAAAewEAAAAAAABABAAAAAAAAAEAAAAD
+AAAAgQEAAAAAAABIBAAAAAAAAAEAAAADAAAAhAEAAAAAAABoBAAAAAAAAAEAAAADAAAA
+igEAAAAAAABwBAAAAAAAAAEAAAADAAAAjQEAAAAAAACQBAAAAAAAAAEAAAADAAAAlgEA
+AAAAAACYBAAAAAAAAAEAAAADAAAAmQEAAAAAAAC4BAAAAAAAAAEAAAADAAAApAEAAAAA
+AADABAAAAAAAAAEAAAADAAAApwEAAAAAAADgBAAAAAAAAAEAAAADAAAArwEAAAAAAADo
+BAAAAAAAAAEAAAADAAAAsgEAAAAAAAAIBQAAAAAAAAEAAAADAAAAuQEAAAAAAAAQBQAA
+AAAAAAEAAAADAAAAvAEAAAAAAAAwBQAAAAAAAAEAAAADAAAAywEAAAAAAAA4BQAAAAAA
+AAEAAAADAAAAzgEAAAAAAABYBQAAAAAAAAEAAAADAAAA1gEAAAAAAABgBQAAAAAAAAEA
+AAADAAAA2QEAAAAAAACABQAAAAAAAAEAAAADAAAA7AEAAAAAAACIBQAAAAAAAAEAAAAD
+AAAA7wEAAAAAAACoBQAAAAAAAAEAAAADAAAA9wEAAAAAAACwBQAAAAAAAAEAAAADAAAA
++gEAAAAAAADQBQAAAAAAAAEAAAADAAAAAAIAAAAAAADYBQAAAAAAAAEAAAADAAAAAwIA
+AAAAAAD4BQAAAAAAAAEAAAADAAAADwIAAAAAAAAABgAAAAAAAAEAAAADAAAAEgIAAAAA
+AAAgBgAAAAAAAAEAAAADAAAAGgIAAAAAAAAoBgAAAAAAAAEAAAADAAAAHQIAAAAAAABI
+BgAAAAAAAAEAAAADAAAAJQIAAAAAAABQBgAAAAAAAAEAAAADAAAAKAIAAAAAAABwBgAA
+AAAAAAEAAAADAAAALwIAAAAAAAB4BgAAAAAAAAEAAAADAAAAMgIAAAAAAACYBgAAAAAA
+AAEAAAADAAAAPQIAAAAAAACgBgAAAAAAAAEAAAADAAAAQAIAAAAAAADABgAAAAAAAAEA
+AAADAAAASAIAAAAAAADIBgAAAAAAAAEAAAADAAAASwIAAAAAAADoBgAAAAAAAAEAAAAD
+AAAAUwIAAAAAAADwBgAAAAAAAAEAAAADAAAAVgIAAAAAAAAQBwAAAAAAAAEAAAADAAAA
+XQIAAAAAAAAYBwAAAAAAAAEAAAADAAAAYAIAAAAAAAA4BwAAAAAAAAEAAAADAAAAagIA
+AAAAAABABwAAAAAAAAEAAAADAAAAbQIAAAAAAABgBwAAAAAAAAEAAAADAAAAdgIAAAAA
+AABoBwAAAAAAAAEAAAADAAAAeQIAAAAAAACIBwAAAAAAAAEAAAADAAAAgwIAAAAAAACQ
+BwAAAAAAAAEAAAADAAAAhgIAAAAAAACwBwAAAAAAAAEAAAADAAAAjgIAAAAAAAC4BwAA
+AAAAAAEAAAADAAAAkQIAAAAAAADYBwAAAAAAAAEAAAADAAAAmQIAAAAAAADgBwAAAAAA
+AAEAAAADAAAAnAIAAAAAAAAACAAAAAAAAAEAAAADAAAAogIAAAAAAAAICAAAAAAAAAEA
+AAADAAAApQIAAAAAAAAoCAAAAAAAAAEAAAADAAAArwIAAAAAAAAwCAAAAAAAAAEAAAAD
+AAAAsgIAAAAAAABQCAAAAAAAAAEAAAADAAAAtwIAAAAAAABYCAAAAAAAAAEAAAADAAAA
+ugIAAAAAAAB4CAAAAAAAAAEAAAADAAAAwgIAAAAAAACACAAAAAAAAAEAAAADAAAAxQIA
+AAAAAACgCAAAAAAAAAEAAAADAAAAzAIAAAAAAACoCAAAAAAAAAEAAAADAAAAzwIAAAAA
+AADICAAAAAAAAAEAAAADAAAA1QIAAAAAAADQCAAAAAAAAAEAAAADAAAA2AIAAAAAAADw
+CAAAAAAAAAEAAAADAAAA3gIAAAAAAAD4CAAAAAAAAAEAAAADAAAA4QIAAAAAAAAYCQAA
+AAAAAAEAAAADAAAA6AIAAAAAAAAgCQAAAAAAAAEAAAADAAAA6wIAAAAAAABACQAAAAAA
+AAEAAAADAAAA8gIAAAAAAABICQAAAAAAAAEAAAADAAAA9QIAAAAAAABoCQAAAAAAAAEA
+AAADAAAA/AIAAAAAAABwCQAAAAAAAAEAAAADAAAA/wIAAAAAAACQCQAAAAAAAAEAAAAD
+AAAABgMAAAAAAACYCQAAAAAAAAEAAAADAAAACQMAAAAAAAC4CQAAAAAAAAEAAAADAAAA
+EAMAAAAAAADACQAAAAAAAAEAAAADAAAAEwMAAAAAAADgCQAAAAAAAAEAAAADAAAAGgMA
+AAAAAADoCQAAAAAAAAEAAAADAAAAHQMAAAAAAAAICgAAAAAAAAEAAAADAAAAKAMAAAAA
+AAAQCgAAAAAAAAEAAAADAAAAKwMAAAAAAAAwCgAAAAAAAAEAAAADAAAANwMAAAAAAAA4
+CgAAAAAAAAEAAAADAAAAOgMAAAAAAABYCgAAAAAAAAEAAAADAAAASQMAAAAAAABgCgAA
+AAAAAAEAAAADAAAATAMAAAAAAACACgAAAAAAAAEAAAADAAAAXAMAAAAAAACICgAAAAAA
+AAEAAAADAAAAXwMAAAAAAACoCgAAAAAAAAEAAAADAAAAZgMAAAAAAACwCgAAAAAAAAEA
+AAADAAAAaQMAAAAAAADQCgAAAAAAAAEAAAADAAAAcAMAAAAAAADYCgAAAAAAAAEAAAAD
+AAAAcwMAAAAAAAD4CgAAAAAAAAEAAAADAAAAewMAAAAAAAAACwAAAAAAAAEAAAADAAAA
+fgMAAAAAAAAgCwAAAAAAAAEAAAADAAAAjAMAAAAAAAAoCwAAAAAAAAEAAAADAAAAjwMA
+AAAAAABICwAAAAAAAAEAAAADAAAAmQMAAAAAAABQCwAAAAAAAAEAAAADAAAAnAMAAAAA
+AABwCwAAAAAAAAEAAAADAAAApwMAAAAAAAB4CwAAAAAAAAEAAAADAAAAqgMAAAAAAACY
+CwAAAAAAAAEAAAADAAAAsAMAAAAAAACgCwAAAAAAAAEAAAADAAAAswMAAAAAAADACwAA
+AAAAAAEAAAADAAAAvQMAAAAAAADICwAAAAAAAAEAAAADAAAAwAMAAAAAAADoCwAAAAAA
+AAEAAAADAAAAyQMAAAAAAADwCwAAAAAAAAEAAAADAAAAzAMAAAAAAAAQDAAAAAAAAAEA
+AAADAAAA0wMAAAAAAAAYDAAAAAAAAAEAAAADAAAA1gMAAAAAAAA4DAAAAAAAAAEAAAAD
+AAAA3QMAAAAAAABADAAAAAAAAAEAAAADAAAA4AMAAAAAAABgDAAAAAAAAAEAAAADAAAA
+6AMAAAAAAABoDAAAAAAAAAEAAAADAAAA6wMAAAAAAACIDAAAAAAAAAEAAAADAAAA9wMA
+AAAAAACQDAAAAAAAAAEAAAADAAAA+gMAAAAAAACwDAAAAAAAAAEAAAADAAAABgQAAAAA
+AAC4DAAAAAAAAAEAAAADAAAACQQAAAAAAADYDAAAAAAAAAEAAAADAAAAEAQAAAAAAADg
+DAAAAAAAAAEAAAADAAAAEwQAAAAAAAAADQAAAAAAAAEAAAADAAAAGAQAAAAAAAAIDQAA
+AAAAAAEAAAADAAAAGwQAAAAAAAAoDQAAAAAAAAEAAAADAAAAJAQAAAAAAAAwDQAAAAAA
+AAEAAAADAAAAJwQAAAAAAABQDQAAAAAAAAEAAAADAAAALgQAAAAAAABYDQAAAAAAAAEA
+AAADAAAAMQQAAAAAAAB4DQAAAAAAAAEAAAADAAAANgQAAAAAAACADQAAAAAAAAEAAAAD
+AAAAOQQAAAAAAACgDQAAAAAAAAEAAAADAAAARQQAAAAAAACoDQAAAAAAAAEAAAADAAAA
+SAQAAAAAAADIDQAAAAAAAAEAAAADAAAATwQAAAAAAADQDQAAAAAAAAEAAAADAAAAUgQA
+AAAAAADwDQAAAAAAAAEAAAADAAAAWwQAAAAAAAD4DQAAAAAAAAEAAAADAAAAXgQAAAAA
+AAAYDgAAAAAAAAEAAAADAAAAagQAAAAAAAAgDgAAAAAAAAEAAAADAAAAbQQAAAAAAABA
+DgAAAAAAAAEAAAADAAAAcwQAAAAAAABIDgAAAAAAAAEAAAADAAAAdgQAAAAAAABoDgAA
+AAAAAAEAAAADAAAAfgQAAAAAAABwDgAAAAAAAAEAAAADAAAAgQQAAAAAAACQDgAAAAAA
+AAEAAAADAAAAiAQAAAAAAACYDgAAAAAAAAEAAAADAAAAiwQAAAAAAAC4DgAAAAAAAAEA
+AAADAAAAmAQAAAAAAADADgAAAAAAAAEAAAADAAAAmwQAAAAAAADgDgAAAAAAAAEAAAAD
+AAAApQQAAAAAAADoDgAAAAAAAAEAAAADAAAAqAQAAAAAAAAIDwAAAAAAAAEAAAADAAAA
+uAQAAAAAAAAQDwAAAAAAAAEAAAADAAAAuwQAAAAAAAAwDwAAAAAAAAEAAAADAAAAxAQA
+AAAAAAA4DwAAAAAAAAEAAAADAAAAxwQAAAAAAABYDwAAAAAAAAEAAAADAAAA1AQAAAAA
+AABgDwAAAAAAAAEAAAADAAAA1wQAAAAAAACADwAAAAAAAAEAAAADAAAA3QQAAAAAAACI
+DwAAAAAAAAEAAAADAAAA4AQAAAAAAACoDwAAAAAAAAEAAAADAAAA5wQAAAAAAACwDwAA
+AAAAAAEAAAADAAAA6gQAAAAAAADQDwAAAAAAAAEAAAADAAAA9gQAAAAAAADYDwAAAAAA
+AAEAAAADAAAA+QQAAAAAAAD4DwAAAAAAAAEAAAADAAAA/wQAAAAAAAAAEAAAAAAAAAEA
+AAADAAAAAgUAAAAAAAAgEAAAAAAAAAEAAAADAAAACQUAAAAAAAAoEAAAAAAAAAEAAAAD
+AAAADAUAAAAAAABIEAAAAAAAAAEAAAADAAAAFQUAAAAAAABQEAAAAAAAAAEAAAADAAAA
+GAUAAAAAAABwEAAAAAAAAAEAAAADAAAAKgUAAAAAAAB4EAAAAAAAAAEAAAADAAAALQUA
+AAAAAACYEAAAAAAAAAEAAAADAAAANQUAAAAAAACgEAAAAAAAAAEAAAADAAAAOAUAAAAA
+AADAEAAAAAAAAAEAAAADAAAAPwUAAAAAAADIEAAAAAAAAAEAAAADAAAAQgUAAAAAAADo
+EAAAAAAAAAEAAAADAAAASgUAAAAAAADwEAAAAAAAAAEAAAADAAAATQUAAAAAAAAQEQAA
+AAAAAAEAAAADAAAAYgUAAAAAAAAYEQAAAAAAAAEAAAADAAAAZQUAAAAAAAA4EQAAAAAA
+AAEAAAADAAAAdAUAAAAAAABAEQAAAAAAAAEAAAADAAAAdwUAAAAAAABgEQAAAAAAAAEA
+AAADAAAAhQUAAAAAAABoEQAAAAAAAAEAAAADAAAAiAUAAAAAAACIEQAAAAAAAAEAAAAD
+AAAAkAUAAAAAAACQEQAAAAAAAAEAAAADAAAAkwUAAAAAAACwEQAAAAAAAAEAAAADAAAA
+ngUAAAAAAAC4EQAAAAAAAAEAAAADAAAAoQUAAAAAAADYEQAAAAAAAAEAAAADAAAAqwUA
+AAAAAADgEQAAAAAAAAEAAAADAAAArgUAAAAAAAAAEgAAAAAAAAEAAAADAAAAtwUAAAAA
+AAAIEgAAAAAAAAEAAAADAAAAugUAAAAAAAAoEgAAAAAAAAEAAAADAAAAwAUAAAAAAAAw
+EgAAAAAAAAEAAAADAAAAwwUAAAAAAAA4GAAAAAAAAAEAAAAFAAAAgAEAAAAAAABAGAAA
+AAAAAAEAAAAFAAAAkAEAAAAAAABIGAAAAAAAAAEAAAAFAAAAoAEAAAAAAABQGAAAAAAA
+AAEAAAAFAAAA4AEAAAAAAABYGAAAAAAAAAEAAAAFAAAA8AEAAAAAAABgGAAAAAAAAAEA
+AAAFAAAAAAIAAAAAAABoGAAAAAAAAAEAAAAFAAAAEAIAAAAAAABwGAAAAAAAAAEAAAAF
+AAAAIAIAAAAAAAB4GAAAAAAAAAEAAAAFAAAAYAIAAAAAAACAGAAAAAAAAAEAAAAFAAAA
+cAIAAAAAAACgGAAAAAAAAAEAAAAFAAAAgAEAAAAAAACoGAAAAAAAAAEAAAAFAAAAkAEA
+AAAAAACwGAAAAAAAAAEAAAAFAAAAsAEAAAAAAAC4GAAAAAAAAAEAAAAFAAAA4AEAAAAA
+AADAGAAAAAAAAAEAAAAFAAAA8AEAAAAAAADIGAAAAAAAAAEAAAAFAAAAAAIAAAAAAADQ
+GAAAAAAAAAEAAAAFAAAAEAIAAAAAAADYGAAAAAAAAAEAAAAFAAAAMAIAAAAAAADgGAAA
+AAAAAAEAAAAFAAAAcAIAAAAAAAAIGQAAAAAAAAEAAAAFAAAAgAEAAAAAAAAQGQAAAAAA
+AAEAAAAFAAAAkAEAAAAAAAAYGQAAAAAAAAEAAAAFAAAAoAEAAAAAAAAgGQAAAAAAAAEA
+AAAFAAAA4AEAAAAAAAAoGQAAAAAAAAEAAAAFAAAA8AEAAAAAAAAwGQAAAAAAAAEAAAAF
+AAAAAAIAAAAAAAA4GQAAAAAAAAEAAAAFAAAAEAIAAAAAAABAGQAAAAAAAAEAAAAFAAAA
+IAIAAAAAAABIGQAAAAAAAAEAAAAFAAAAcAIAAAAAAABwGQAAAAAAAAEAAAAFAAAAgAEA
+AAAAAAB4GQAAAAAAAAEAAAAFAAAAkAEAAAAAAACAGQAAAAAAAAEAAAAFAAAAoAEAAAAA
+AACIGQAAAAAAAAEAAAAFAAAA4AEAAAAAAACQGQAAAAAAAAEAAAAFAAAA8AEAAAAAAACY
+GQAAAAAAAAEAAAAFAAAAAAIAAAAAAACgGQAAAAAAAAEAAAAFAAAAEAIAAAAAAACoGQAA
+AAAAAAEAAAAFAAAAIAIAAAAAAACwGQAAAAAAAAEAAAAFAAAAcAIAAAAAAADYGQAAAAAA
+AAEAAAAFAAAAgAEAAAAAAADgGQAAAAAAAAEAAAAFAAAAkAEAAAAAAADoGQAAAAAAAAEA
+AAAFAAAAoAEAAAAAAADwGQAAAAAAAAEAAAAFAAAA4AEAAAAAAAD4GQAAAAAAAAEAAAAF
+AAAAEAIAAAAAAAAAGgAAAAAAAAEAAAAFAAAAIAIAAAAAAAAIGgAAAAAAAAEAAAAFAAAA
+YAIAAAAAAAAQGgAAAAAAAAEAAAAFAAAAcAIAAAAAAAAwGgAAAAAAAAEAAAAFAAAAaAEA
+AAAAAABAGgAAAAAAAAEAAAAFAAAAgAEAAAAAAABIGgAAAAAAAAEAAAAFAAAAkAEAAAAA
+AABQGgAAAAAAAAEAAAAFAAAAoAEAAAAAAABYGgAAAAAAAAEAAAAFAAAA4AEAAAAAAABg
+GgAAAAAAAAEAAAAFAAAA8AEAAAAAAABoGgAAAAAAAAEAAAAFAAAAAAIAAAAAAABwGgAA
+AAAAAAEAAAAFAAAAEAIAAAAAAAB4GgAAAAAAAAEAAAAFAAAAIAIAAAAAAACAGgAAAAAA
+AAEAAAAFAAAAYAIAAAAAAACIGgAAAAAAAAEAAAAFAAAAcAIAAAAAAACoGgAAAAAAAAEA
+AAAFAAAAgAEAAAAAAACwGgAAAAAAAAEAAAAFAAAAkAEAAAAAAAC4GgAAAAAAAAEAAAAF
+AAAAoAEAAAAAAADAGgAAAAAAAAEAAAAFAAAA4AEAAAAAAADIGgAAAAAAAAEAAAAFAAAA
+8AEAAAAAAADQGgAAAAAAAAEAAAAFAAAAAAIAAAAAAADYGgAAAAAAAAEAAAAFAAAAIAIA
+AAAAAADgGgAAAAAAAAEAAAAFAAAAcAIAAAAAAAAQGwAAAAAAAAEAAAAFAAAAgAEAAAAA
+AAAYGwAAAAAAAAEAAAAFAAAAwAEAAAAAAAAgGwAAAAAAAAEAAAAFAAAA4AEAAAAAAAAo
+GwAAAAAAAAEAAAAFAAAA8AEAAAAAAAAwGwAAAAAAAAEAAAAFAAAAAAIAAAAAAAA4GwAA
+AAAAAAEAAAAFAAAAQAIAAAAAAABAGwAAAAAAAAEAAAAFAAAAcAIAAAAAAAB4GwAAAAAA
+AAEAAAAFAAAAgAEAAAAAAACAGwAAAAAAAAEAAAAFAAAAoAEAAAAAAACIGwAAAAAAAAEA
+AAAFAAAA4AEAAAAAAACQGwAAAAAAAAEAAAAFAAAAIAIAAAAAAACYGwAAAAAAAAEAAAAF
+AAAAcAIAAAAAAADgGwAAAAAAAAEAAAAFAAAAgAEAAAAAAADoGwAAAAAAAAEAAAAFAAAA
+wAEAAAAAAADwGwAAAAAAAAEAAAAFAAAA4AEAAAAAAAD4GwAAAAAAAAEAAAAFAAAA8AEA
+AAAAAAAAHAAAAAAAAAEAAAAFAAAAAAIAAAAAAAAIHAAAAAAAAAEAAAAFAAAAEAIAAAAA
+AAAQHAAAAAAAAAEAAAAFAAAAQAIAAAAAAAAYHAAAAAAAAAEAAAAFAAAAcAIAAAAAAABI
+HAAAAAAAAAEAAAAFAAAAgAEAAAAAAABQHAAAAAAAAAEAAAAFAAAAoAEAAAAAAABYHAAA
+AAAAAAEAAAAFAAAA4AEAAAAAAABgHAAAAAAAAAEAAAAFAAAAEAIAAAAAAABoHAAAAAAA
+AAEAAAAFAAAAIAIAAAAAAABwHAAAAAAAAAEAAAAFAAAAcAIAAAAAAAC4HAAAAAAAAAEA
+AAAFAAAAgAEAAAAAAADAHAAAAAAAAAEAAAAFAAAAkAEAAAAAAADIHAAAAAAAAAEAAAAF
+AAAAsAEAAAAAAADQHAAAAAAAAAEAAAAFAAAA4AEAAAAAAADYHAAAAAAAAAEAAAAFAAAA
+8AEAAAAAAADgHAAAAAAAAAEAAAAFAAAAAAIAAAAAAADoHAAAAAAAAAEAAAAFAAAAEAIA
+AAAAAADwHAAAAAAAAAEAAAAFAAAAMAIAAAAAAAD4HAAAAAAAAAEAAAAFAAAAcAIAAAAA
+AAAgHQAAAAAAAAEAAAAFAAAAgAEAAAAAAAAoHQAAAAAAAAEAAAAFAAAAkAEAAAAAAAAw
+HQAAAAAAAAEAAAAFAAAAsAEAAAAAAAA4HQAAAAAAAAEAAAAFAAAA4AEAAAAAAABAHQAA
+AAAAAAEAAAAFAAAA8AEAAAAAAABIHQAAAAAAAAEAAAAFAAAAAAIAAAAAAABQHQAAAAAA
+AAEAAAAFAAAAEAIAAAAAAABYHQAAAAAAAAEAAAAFAAAAMAIAAAAAAABgHQAAAAAAAAEA
+AAAFAAAAcAIAAAAAAACIHQAAAAAAAAEAAAAFAAAAgAEAAAAAAACQHQAAAAAAAAEAAAAF
+AAAAkAEAAAAAAACYHQAAAAAAAAEAAAAFAAAAoAEAAAAAAACgHQAAAAAAAAEAAAAFAAAA
+4AEAAAAAAACoHQAAAAAAAAEAAAAFAAAA8AEAAAAAAACwHQAAAAAAAAEAAAAFAAAAAAIA
+AAAAAAC4HQAAAAAAAAEAAAAFAAAAEAIAAAAAAADAHQAAAAAAAAEAAAAFAAAAMAIAAAAA
+AADIHQAAAAAAAAEAAAAFAAAAcAIAAAAAAADwHQAAAAAAAAEAAAAFAAAAgAEAAAAAAAD4
+HQAAAAAAAAEAAAAFAAAAkAEAAAAAAAAAHgAAAAAAAAEAAAAFAAAAoAEAAAAAAAAIHgAA
+AAAAAAEAAAAFAAAA4AEAAAAAAAAQHgAAAAAAAAEAAAAFAAAA8AEAAAAAAAAYHgAAAAAA
+AAEAAAAFAAAAAAIAAAAAAAAgHgAAAAAAAAEAAAAFAAAAEAIAAAAAAAAoHgAAAAAAAAEA
+AAAFAAAAMAIAAAAAAAAwHgAAAAAAAAEAAAAFAAAAcAIAAAAAAABYHgAAAAAAAAEAAAAF
+AAAAgAEAAAAAAABgHgAAAAAAAAEAAAAFAAAAkAEAAAAAAABoHgAAAAAAAAEAAAAFAAAA
+sAEAAAAAAABwHgAAAAAAAAEAAAAFAAAA4AEAAAAAAAB4HgAAAAAAAAEAAAAFAAAAEAIA
+AAAAAACAHgAAAAAAAAEAAAAFAAAAMAIAAAAAAACIHgAAAAAAAAEAAAAFAAAAcAIAAAAA
+AACwHgAAAAAAAAEAAAAFAAAAaAEAAAAAAADAHgAAAAAAAAEAAAAFAAAAgAEAAAAAAADI
+HgAAAAAAAAEAAAAFAAAAkAEAAAAAAADQHgAAAAAAAAEAAAAFAAAAsAEAAAAAAADYHgAA
+AAAAAAEAAAAFAAAA4AEAAAAAAADgHgAAAAAAAAEAAAAFAAAA8AEAAAAAAADoHgAAAAAA
+AAEAAAAFAAAAAAIAAAAAAADwHgAAAAAAAAEAAAAFAAAAEAIAAAAAAAD4HgAAAAAAAAEA
+AAAFAAAAMAIAAAAAAAAAHwAAAAAAAAEAAAAFAAAAcAIAAAAAAAAoHwAAAAAAAAEAAAAF
+AAAAgAEAAAAAAAAwHwAAAAAAAAEAAAAFAAAAkAEAAAAAAAA4HwAAAAAAAAEAAAAFAAAA
+sAEAAAAAAABAHwAAAAAAAAEAAAAFAAAA4AEAAAAAAABIHwAAAAAAAAEAAAAFAAAA8AEA
+AAAAAABQHwAAAAAAAAEAAAAFAAAAAAIAAAAAAABYHwAAAAAAAAEAAAAFAAAAMAIAAAAA
+AABgHwAAAAAAAAEAAAAFAAAAcAIAAAAAAACQHwAAAAAAAAEAAAAFAAAAgAEAAAAAAACY
+HwAAAAAAAAEAAAAFAAAA0AEAAAAAAACgHwAAAAAAAAEAAAAFAAAA4AEAAAAAAACoHwAA
+AAAAAAEAAAAFAAAA8AEAAAAAAACwHwAAAAAAAAEAAAAFAAAAAAIAAAAAAAC4HwAAAAAA
+AAEAAAAFAAAAUAIAAAAAAADAHwAAAAAAAAEAAAAFAAAAcAIAAAAAAAD4HwAAAAAAAAEA
+AAAFAAAAgAEAAAAAAAAAIAAAAAAAAAEAAAAFAAAA0AEAAAAAAAAIIAAAAAAAAAEAAAAF
+AAAA4AEAAAAAAAAQIAAAAAAAAAEAAAAFAAAAUAIAAAAAAAAYIAAAAAAAAAEAAAAFAAAA
+cAIAAAAAAABgIAAAAAAAAAEAAAAFAAAAgAEAAAAAAABoIAAAAAAAAAEAAAAFAAAA0AEA
+AAAAAABwIAAAAAAAAAEAAAAFAAAA4AEAAAAAAAB4IAAAAAAAAAEAAAAFAAAA8AEAAAAA
+AACAIAAAAAAAAAEAAAAFAAAAAAIAAAAAAACIIAAAAAAAAAEAAAAFAAAAEAIAAAAAAACQ
+IAAAAAAAAAEAAAAFAAAAUAIAAAAAAACYIAAAAAAAAAEAAAAFAAAAcAIAAAAAAADIIAAA
+AAAAAAEAAAAFAAAAgAEAAAAAAADQIAAAAAAAAAEAAAAFAAAA0AEAAAAAAADYIAAAAAAA
+AAEAAAAFAAAA4AEAAAAAAADgIAAAAAAAAAEAAAAFAAAAEAIAAAAAAADoIAAAAAAAAAEA
+AAAFAAAAUAIAAAAAAADwIAAAAAAAAAEAAAAFAAAAcAIAAAAAAAAoIQAAAAAAAAEAAAAF
+AAAAgAIAAAAAAAA4IQAAAAAAAAEAAAAFAAAAigIAAAAAAABIIQAAAAAAAAEAAAAFAAAA
+oAIAAAAAAABoIQAAAAAAAAEAAAABAAAA0TkAAAAAAABwIQAAAAAAAAEAAAABAAAAszkA
+AAAAAAB4IQAAAAAAAAEAAAABAAAAxTkAAAAAAACAIQAAAAAAAAEAAAABAAAA0TkAAAAA
+AACIIQAAAAAAAAEAAAABAAAAuTkAAAAAAACQIQAAAAAAAAEAAAABAAAA0TkAAAAAAACY
+IQAAAAAAAAEAAAABAAAA0TkAAAAAAACgIQAAAAAAAAEAAAABAAAA0TkAAAAAAACoIQAA
+AAAAAAEAAAABAAAAvzkAAAAAAACwIQAAAAAAAAEAAAABAAAA0TkAAAAAAAC4IQAAAAAA
+AAEAAAABAAAA0TkAAAAAAADAIQAAAAAAAAEAAAABAAAA0TkAAAAAAADIIQAAAAAAAAEA
+AAABAAAA0TkAAAAAAADQIQAAAAAAAAEAAAABAAAA0TkAAAAAAADYIQAAAAAAAAEAAAAB
+AAAA0TkAAAAAAADgIQAAAAAAAAEAAAABAAAA0TkAAAAAAADoIQAAAAAAAAEAAAABAAAA
+0TkAAAAAAADwIQAAAAAAAAEAAAABAAAA0TkAAAAAAAD4IQAAAAAAAAEAAAABAAAA0TkA
+AAAAAAAAIgAAAAAAAAEAAAABAAAA0TkAAAAAAAAIIgAAAAAAAAEAAAABAAAA0TkAAAAA
+AAAQIgAAAAAAAAEAAAABAAAA0TkAAAAAAAAYIgAAAAAAAAEAAAABAAAA0TkAAAAAAAAg
+IgAAAAAAAAEAAAABAAAA0TkAAAAAAAAoIgAAAAAAAAEAAAABAAAA0TkAAAAAAAAwIgAA
+AAAAAAEAAAABAAAA0TkAAAAAAAA4IgAAAAAAAAEAAAABAAAA0TkAAAAAAABAIgAAAAAA
+AAEAAAABAAAA0TkAAAAAAABIIgAAAAAAAAEAAAABAAAA0TkAAAAAAABQIgAAAAAAAAEA
+AAABAAAA0TkAAAAAAABYIgAAAAAAAAEAAAABAAAA0TkAAAAAAABgIgAAAAAAAAEAAAAB
+AAAA0TkAAAAAAABoIgAAAAAAAAEAAAABAAAAyzkAAAAAAABwIgAAAAAAAAEAAAABAAAA
+sToAAAAAAAB4IgAAAAAAAAEAAAABAAAAsToAAAAAAACAIgAAAAAAAAEAAAABAAAA1DoA
+AAAAAACIIgAAAAAAAAEAAAABAAAAuDoAAAAAAACQIgAAAAAAAAEAAAABAAAA1DoAAAAA
+AACYIgAAAAAAAAEAAAABAAAA1DoAAAAAAACgIgAAAAAAAAEAAAABAAAA1DoAAAAAAACo
+IgAAAAAAAAEAAAABAAAA1DoAAAAAAACwIgAAAAAAAAEAAAABAAAAvzoAAAAAAAC4IgAA
+AAAAAAEAAAABAAAA1DoAAAAAAADAIgAAAAAAAAEAAAABAAAAxjoAAAAAAADIIgAAAAAA
+AAEAAAABAAAAzToAAAAAAAAIIwAAAAAAAAEAAAACAAAA0CIAAAAAAAAQIwAAAAAAAAEA
+AAACAAAA4CIAAAAAAABIIwAAAAAAAAEAAAACAAAAACMAAAAAAACYJAAAAAAAAAEAAAD4
+AAAAAAAAAAAAAACgJAAAAAAAAAEAAABcAAAAAAAAAAAAAACoJAAAAAAAAAEAAAC0AAAA
+AAAAAAAAAACwJAAAAAAAAAEAAACmAAAAAAAAAAAAAAC4JAAAAAAAAAEAAADFAAAAAAAA
+AAAAAADAJAAAAAAAAAEAAABNAAAAAAAAAAAAAADIJAAAAAAAAAEAAADQAAAAAAAAAAAA
+AADQJAAAAAAAAAEAAABeAQAAAAAAAAAAAADYJAAAAAAAAAEAAAA1AQAAAAAAAAAAAADg
+JAAAAAAAAAEAAACxAAAAAAAAAAAAAADoJAAAAAAAAAEAAAA3AAAAAAAAAAAAAADwJAAA
+AAAAAAEAAAB9AAAAAAAAAAAAAAD4JAAAAAAAAAEAAABQAAAAAAAAAAAAAAAAJQAAAAAA
+AAEAAAAeAAAAAAAAAAAAAAAIJQAAAAAAAAEAAABPAQAAAAAAAAAAAAAQJQAAAAAAAAEA
+AAB3AQAAAAAAAAAAAAAYJQAAAAAAAAEAAAAqAAAAAAAAAAAAAAAgJQAAAAAAAAEAAACE
+AAAAAAAAAAAAAAAoJQAAAAAAAAEAAADwAAAAAAAAAAAAAAAwJQAAAAAAAAEAAAAyAQAA
+AAAAAAAAAAA4JQAAAAAAAAEAAAAmAAAAAAAAAAAAAABAJQAAAAAAAAEAAAA1AAAAAAAA
+AAAAAABIJQAAAAAAAAEAAABgAAAAAAAAAAAAAABQJQAAAAAAAAEAAABkAQAAAAAAAAAA
+AABYJQAAAAAAAAEAAAAFAQAAAAAAAAAAAABgJQAAAAAAAAEAAACnAAAAAAAAAAAAAABo
+JQAAAAAAAAEAAABHAQAAAAAAAAAAAABwJQAAAAAAAAEAAABKAQAAAAAAAAAAAAB4JQAA
+AAAAAAEAAAD1AAAAAAAAAAAAAACAJQAAAAAAAAEAAADOAAAAAAAAAAAAAACIJQAAAAAA
+AAEAAAAmAQAAAAAAAAAAAACQJQAAAAAAAAEAAACHAAAAAAAAAAAAAACYJQAAAAAAAAEA
+AABZAQAAAAAAAAAAAACgJQAAAAAAAAEAAACyAAAAAAAAAAAAAACoJQAAAAAAAAEAAACp
+AAAAAAAAAAAAAACwJQAAAAAAAAEAAAB+AAAAAAAAAAAAAAC4JQAAAAAAAAEAAAChAAAA
+AAAAAAAAAADAJQAAAAAAAAEAAABOAAAAAAAAAAAAAADIJQAAAAAAAAEAAAC6AAAAAAAA
+AAAAAADQJQAAAAAAAAEAAAAiAQAAAAAAAAAAAADYJQAAAAAAAAEAAAD6AAAAAAAAAAAA
+AADgJQAAAAAAAAEAAACbAAAAAAAAAAAAAADoJQAAAAAAAAEAAAAeAQAAAAAAAAAAAADw
+JQAAAAAAAAEAAADXAAAAAAAAAAAAAAD4JQAAAAAAAAEAAAAXAQAAAAAAAAAAAAAAJgAA
+AAAAAAEAAAAvAAAAAAAAAAAAAAAIJgAAAAAAAAEAAACoAAAAAAAAAAAAAAAQJgAAAAAA
+AAEAAABCAQAAAAAAAAAAAAAYJgAAAAAAAAEAAAAIAQAAAAAAAAAAAAAgJgAAAAAAAAEA
+AAAQAQAAAAAAAAAAAAAoJgAAAAAAAAEAAAA2AAAAAAAAAAAAAAAwJgAAAAAAAAEAAABs
+AAAAAAAAAAAAAAA4JgAAAAAAAAEAAAAuAQAAAAAAAAAAAABAJgAAAAAAAAEAAADUAAAA
+AAAAAAAAAABIJgAAAAAAAAEAAABIAAAAAAAAAAAAAABQJgAAAAAAAAEAAAAxAAAAAAAA
+AAAAAABYJgAAAAAAAAEAAACDAAAAAAAAAAAAAABgJgAAAAAAAAEAAAALAAAAAAAAAAAA
+AABoJgAAAAAAAAEAAADiAAAAAAAAAAAAAABwJgAAAAAAAAEAAAAnAQAAAAAAAAAAAAB4
+JgAAAAAAAAEAAABlAQAAAAAAAAAAAACAJgAAAAAAAAEAAABhAAAAAAAAAAAAAACIJgAA
+AAAAAAEAAAANAAAAAAAAAAAAAACQJgAAAAAAAAEAAABLAQAAAAAAAAAAAACYJgAAAAAA
+AAEAAAAEAQAAAAAAAAAAAACgJgAAAAAAAAEAAABVAQAAAAAAAAAAAACoJgAAAAAAAAEA
+AAA9AAAAAAAAAAAAAACwJgAAAAAAAAEAAAAZAQAAAAAAAAAAAAC4JgAAAAAAAAEAAAAT
+AAAAAAAAAAAAAADAJgAAAAAAAAEAAACwAAAAAAAAAAAAAADIJgAAAAAAAAEAAABnAAAA
+AAAAAAAAAADQJgAAAAAAAAEAAADkAAAAAAAAAAAAAADYJgAAAAAAAAEAAADmAAAAAAAA
+AAAAAADgJgAAAAAAAAEAAAC/AAAAAAAAAAAAAADoJgAAAAAAAAEAAABGAQAAAAAAAAAA
+AADwJgAAAAAAAAEAAACuAAAAAAAAAAAAAAD4JgAAAAAAAAEAAABjAQAAAAAAAAAAAAAA
+JwAAAAAAAAEAAAAPAAAAAAAAAAAAAAAIJwAAAAAAAAEAAAA3AQAAAAAAAAAAAAAQJwAA
+AAAAAAEAAACkAAAAAAAAAAAAAAAYJwAAAAAAAAEAAAAOAQAAAAAAAAAAAAAgJwAAAAAA
+AAEAAAD3AAAAAAAAAAAAAAAoJwAAAAAAAAEAAACXAAAAAAAAAAAAAAAwJwAAAAAAAAEA
+AAA4AQAAAAAAAAAAAAA4JwAAAAAAAAEAAAABAAAAQ1MAAAAAAABAJwAAAAAAAAEAAAAt
+AQAAAAAAAAAAAABIJwAAAAAAAAEAAAB2AQAAAAAAAAAAAABQJwAAAAAAAAEAAAAWAQAA
+AAAAAAAAAABgJwAAAAAAAAEAAABCAQAAAAAAAAAAAABoJwAAAAAAAAEAAAAIAQAAAAAA
+AAAAAABwJwAAAAAAAAEAAAAQAQAAAAAAAAAAAAB4JwAAAAAAAAEAAAA2AAAAAAAAAAAA
+AACAJwAAAAAAAAEAAABsAAAAAAAAAAAAAAD4MwAAAAAAAAEAAAAvAQAAAAAAAAAAAAAA
+NAAAAAAAAAEAAABMAQAAAAAAAAAAAAAINAAAAAAAAAEAAABAAQAAAAAAAAAAAAAQNAAA
+AAAAAAEAAABiAQAAAAAAAAAAAAAYNAAAAAAAAAEAAABuAAAAAAAAAAAAAAAgNAAAAAAA
+AAEAAACJAAAAAAAAAAAAAAAoNAAAAAAAAAEAAABkAAAAAAAAAAAAAAAwNAAAAAAAAAEA
+AAAwAAAAAAAAAAAAAAA4NAAAAAAAAAEAAABZAAAAAAAAAAAAAABANAAAAAAAAAEAAABa
+AAAAAAAAAAAAAABINAAAAAAAAAEAAAA0AAAAAAAAAAAAAABQNAAAAAAAAAEAAABSAQAA
+AAAAAAAAAABYNAAAAAAAAAEAAAD5AAAAAAAAAAAAAABgNAAAAAAAAAEAAABtAQAAAAAA
+AAAAAABoNAAAAAAAAAEAAAB5AAAAAAAAAAAAAABwNAAAAAAAAAEAAABcAQAAAAAAAAAA
+AAB4NAAAAAAAAAEAAADtAAAAAAAAAAAAAACANAAAAAAAAAEAAACfAAAAAAAAAAAAAACI
+NAAAAAAAAAEAAACsAAAAAAAAAAAAAACQNAAAAAAAAAEAAAATAQAAAAAAAAAAAACYNAAA
+AAAAAAEAAAAgAAAAAAAAAAAAAACgNAAAAAAAAAEAAADzAAAAAAAAAAAAAACoNAAAAAAA
+AAEAAAAYAAAAAAAAAAAAAACwNAAAAAAAAAEAAABOAQAAAAAAAAAAAAC4NAAAAAAAAAEA
+AAAdAAAAAAAAAAAAAADANAAAAAAAAAEAAAAnAAAAAAAAAAAAAADINAAAAAAAAAEAAACg
+AAAAAAAAAAAAAADQNAAAAAAAAAEAAABhAQAAAAAAAAAAAADYNAAAAAAAAAEAAABQAQAA
+AAAAAAAAAADgNAAAAAAAAAEAAABdAQAAAAAAAAAAAADoNAAAAAAAAAEAAAAjAQAAAAAA
+AAAAAADwNAAAAAAAAAEAAADfAAAAAAAAAAAAAAD4NAAAAAAAAAEAAADqAAAAAAAAAAAA
+AAAANQAAAAAAAAEAAADaAAAAAAAAAAAAAAAINQAAAAAAAAEAAAD9AAAAAAAAAAAAAAAQ
+NQAAAAAAAAEAAAB1AAAAAAAAAAAAAAAYNQAAAAAAAAEAAACPAAAAAAAAAAAAAAAgNQAA
+AAAAAAEAAABrAAAAAAAAAAAAAAAoNQAAAAAAAAEAAAA0AQAAAAAAAAAAAAAwNQAAAAAA
+AAEAAACWAAAAAAAAAAAAAAA4NQAAAAAAAAEAAAA4AAAAAAAAAAAAAABANQAAAAAAAAEA
+AAAkAQAAAAAAAAAAAABINQAAAAAAAAEAAAAgAQAAAAAAAAAAAABQNQAAAAAAAAEAAABy
+AAAAAAAAAAAAAABYNQAAAAAAAAEAAADPAAAAAAAAAAAAAABgNQAAAAAAAAEAAAAaAQAA
+AAAAAAAAAABoNQAAAAAAAAEAAADTAAAAAAAAAAAAAABwNQAAAAAAAAEAAAC3AAAAAAAA
+AAAAAAB4NQAAAAAAAAEAAADSAAAAAAAAAAAAAACANQAAAAAAAAEAAAAqAQAAAAAAAAAA
+AACINQAAAAAAAAEAAADBAAAAAAAAAAAAAACQNQAAAAAAAAEAAAAyAAAAAAAAAAAAAACY
+NQAAAAAAAAEAAABYAAAAAAAAAAAAAACgNQAAAAAAAAEAAADKAAAAAAAAAAAAAACoNQAA
+AAAAAAEAAAAxAQAAAAAAAAAAAACwNQAAAAAAAAEAAAA8AQAAAAAAAAAAAAC4NQAAAAAA
+AAEAAAASAQAAAAAAAAAAAADANQAAAAAAAAEAAAAbAAAAAAAAAAAAAADINQAAAAAAAAEA
+AABUAAAAAAAAAAAAAADQNQAAAAAAAAEAAAAcAQAAAAAAAAAAAADYNQAAAAAAAAEAAACR
+AAAAAAAAAAAAAADgNQAAAAAAAAEAAABIAQAAAAAAAAAAAADoNQAAAAAAAAEAAADGAAAA
+AAAAAAAAAADwNQAAAAAAAAEAAADvAAAAAAAAAAAAAAD4NQAAAAAAAAEAAAAzAAAAAAAA
+AAAAAAAANgAAAAAAAAEAAADrAAAAAAAAAAAAAAAINgAAAAAAAAEAAAAkAAAAAAAAAAAA
+AAAQNgAAAAAAAAEAAABJAAAAAAAAAAAAAAAYNgAAAAAAAAEAAACIAAAAAAAAAAAAAAAg
+NgAAAAAAAAEAAADNAAAAAAAAAAAAAAAoNgAAAAAAAAEAAAC9AAAAAAAAAAAAAAAwNgAA
+AAAAAAEAAAA/AQAAAAAAAAAAAAA4NgAAAAAAAAEAAAC8AAAAAAAAAAAAAABANgAAAAAA
+AAEAAAABAQAAAAAAAAAAAABINgAAAAAAAAEAAAD7AAAAAAAAAAAAAABQNgAAAAAAAAEA
+AAA9AQAAAAAAAAAAAABYNgAAAAAAAAEAAAAKAAAAAAAAAAAAAABgNgAAAAAAAAEAAACY
+AAAAAAAAAAAAAABoNgAAAAAAAAEAAABoAAAAAAAAAAAAAABwNgAAAAAAAAEAAACOAAAA
+AAAAAAAAAAB4NgAAAAAAAAEAAABiAAAAAAAAAAAAAACANgAAAAAAAAEAAADbAAAAAAAA
+AAAAAACINgAAAAAAAAEAAADgAAAAAAAAAAAAAACQNgAAAAAAAAEAAADyAAAAAAAAAAAA
+AACYNgAAAAAAAAEAAAABAAAAUoUAAAAAAACgNgAAAAAAAAEAAAAGAQAAAAAAAAAAAACo
+NgAAAAAAAAEAAAAYAQAAAAAAAAAAAACwNgAAAAAAAAEAAAAzAQAAAAAAAAAAAADANgAA
+AAAAAAEAAAC3AAAAAAAAAAAAAADINgAAAAAAAAEAAADSAAAAAAAAAAAAAADQNgAAAAAA
+AAEAAAAqAQAAAAAAAAAAAADYNgAAAAAAAAEAAADBAAAAAAAAAAAAAADgNgAAAAAAAAEA
+AAAyAAAAAAAAAAAAAADYSgAAAAAAAAEAAAABAAAABbUAAAAAAADgSgAAAAAAAAEAAAAB
+AAAABbUAAAAAAADoSgAAAAAAAAEAAAABAAAALLUAAAAAAADwSgAAAAAAAAEAAAABAAAA
+LLUAAAAAAAD4SgAAAAAAAAEAAAABAAAAU7UAAAAAAAAASwAAAAAAAAEAAAABAAAAU7UA
+AAAAAAAISwAAAAAAAAEAAAABAAAAerUAAAAAAAAQSwAAAAAAAAEAAAABAAAAerUAAAAA
+AAB4TAAAAAAAAAEAAABTAAAAAAAAAAAAAACATAAAAAAAAAEAAAB4AAAAAAAAAAAAAACI
+TAAAAAAAAAEAAABaAQAAAAAAAAAAAACQTAAAAAAAAAEAAABjAAAAAAAAAAAAAACYTAAA
+AAAAAAEAAADJAAAAAAAAAAAAAACgTAAAAAAAAAEAAACrAAAAAAAAAAAAAACoTAAAAAAA
+AAEAAAAJAQAAAAAAAAAAAACwTAAAAAAAAAEAAABMAAAAAAAAAAAAAAC4TAAAAAAAAAEA
+AACUAAAAAAAAAAAAAADATAAAAAAAAAEAAABPAAAAAAAAAAAAAADITAAAAAAAAAEAAADu
+AAAAAAAAAAAAAADQTAAAAAAAAAEAAABFAQAAAAAAAAAAAADYTAAAAAAAAAEAAACCAAAA
+AAAAAAAAAADgTAAAAAAAAAEAAADpAAAAAAAAAAAAAADoTAAAAAAAAAEAAADVAAAAAAAA
+AAAAAADwTAAAAAAAAAEAAAB7AQAAAAAAAAAAAAD4TAAAAAAAAAEAAABzAQAAAAAAAAAA
+AAAATQAAAAAAAAEAAACtAAAAAAAAAAAAAAAITQAAAAAAAAEAAAAwAQAAAAAAAAAAAAAQ
+TQAAAAAAAAEAAAB0AAAAAAAAAAAAAAAYTQAAAAAAAAEAAAAPAQAAAAAAAAAAAAAgTQAA
+AAAAAAEAAAAlAAAAAAAAAAAAAAAoTQAAAAAAAAEAAABEAQAAAAAAAAAAAAAwTQAAAAAA
+AAEAAAA6AQAAAAAAAAAAAAA4TQAAAAAAAAEAAABJAQAAAAAAAAAAAABATQAAAAAAAAEA
+AABXAAAAAAAAAAAAAABITQAAAAAAAAEAAAApAQAAAAAAAAAAAABQTQAAAAAAAAEAAADs
+AAAAAAAAAAAAAABYTQAAAAAAAAEAAADnAAAAAAAAAAAAAABgTQAAAAAAAAEAAAASAAAA
+AAAAAAAAAABoTQAAAAAAAAEAAABTAQAAAAAAAAAAAABwTQAAAAAAAAEAAABzAAAAAAAA
+AAAAAAB4TQAAAAAAAAEAAADRAAAAAAAAAAAAAACATQAAAAAAAAEAAABYAQAAAAAAAAAA
+AACITQAAAAAAAAEAAADLAAAAAAAAAAAAAACQTQAAAAAAAAEAAACMAAAAAAAAAAAAAACY
+TQAAAAAAAAEAAAAdAQAAAAAAAAAAAACgTQAAAAAAAAEAAADlAAAAAAAAAAAAAACoTQAA
+AAAAAAEAAAAQAAAAAAAAAAAAAACwTQAAAAAAAAEAAACTAAAAAAAAAAAAAAC4TQAAAAAA
+AAEAAAAMAAAAAAAAAAAAAADATQAAAAAAAAEAAACNAAAAAAAAAAAAAADITQAAAAAAAAEA
+AAAoAQAAAAAAAAAAAADQTQAAAAAAAAEAAACiAAAAAAAAAAAAAADYTQAAAAAAAAEAAAAL
+AQAAAAAAAAAAAADgTQAAAAAAAAEAAACaAAAAAAAAAAAAAADoTQAAAAAAAAEAAACjAAAA
+AAAAAAAAAADwTQAAAAAAAAEAAAADAQAAAAAAAAAAAAD4TQAAAAAAAAEAAABGAAAAAAAA
+AAAAAAAATgAAAAAAAAEAAAArAQAAAAAAAAAAAAAITgAAAAAAAAEAAAA5AQAAAAAAAAAA
+AAAQTgAAAAAAAAEAAAD/AAAAAAAAAAAAAAAYTgAAAAAAAAEAAAB4AQAAAAAAAAAAAAAg
+TgAAAAAAAAEAAABBAAAAAAAAAAAAAAAoTgAAAAAAAAEAAAC5AAAAAAAAAAAAAAAwTgAA
+AAAAAAEAAACdAAAAAAAAAAAAAAA4TgAAAAAAAAEAAABoAQAAAAAAAAAAAABATgAAAAAA
+AAEAAABEAAAAAAAAAAAAAABITgAAAAAAAAEAAACFAAAAAAAAAAAAAABQTgAAAAAAAAEA
+AABsAQAAAAAAAAAAAABYTgAAAAAAAAEAAAA6AAAAAAAAAAAAAABgTgAAAAAAAAEAAABD
+AAAAAAAAAAAAAABoTgAAAAAAAAEAAAApAAAAAAAAAAAAAABwTgAAAAAAAAEAAAA5AAAA
+AAAAAAAAAAB4TgAAAAAAAAEAAAA+AAAAAAAAAAAAAACATgAAAAAAAAEAAAB3AAAAAAAA
+AAAAAACITgAAAAAAAAEAAAAXAAAAAAAAAAAAAACQTgAAAAAAAAEAAABqAAAAAAAAAAAA
+AACYTgAAAAAAAAEAAADjAAAAAAAAAAAAAACgTgAAAAAAAAEAAABlAAAAAAAAAAAAAACo
+TgAAAAAAAAEAAAARAQAAAAAAAAAAAACwTgAAAAAAAAEAAABnAQAAAAAAAAAAAAC4TgAA
+AAAAAAEAAADDAAAAAAAAAAAAAADATgAAAAAAAAEAAAB7AAAAAAAAAAAAAADITgAAAAAA
+AAEAAABFAAAAAAAAAAAAAADQTgAAAAAAAAEAAAAfAAAAAAAAAAAAAADYTgAAAAAAAAEA
+AAB0AQAAAAAAAAAAAADgTgAAAAAAAAEAAAD8AAAAAAAAAAAAAADoTgAAAAAAAAEAAADE
+AAAAAAAAAAAAAADwTgAAAAAAAAEAAACZAAAAAAAAAAAAAAD4TgAAAAAAAAEAAAAhAAAA
+AAAAAAAAAAAATwAAAAAAAAEAAABbAQAAAAAAAAAAAAAITwAAAAAAAAEAAABmAAAAAAAA
+AAAAAAAQTwAAAAAAAAEAAADIAAAAAAAAAAAAAAAYTwAAAAAAAAEAAAC4AAAAAAAAAAAA
+AAAgTwAAAAAAAAEAAADHAAAAAAAAAAAAAAAoTwAAAAAAAAEAAADYAAAAAAAAAAAAAAAw
+TwAAAAAAAAEAAABxAQAAAAAAAAAAAABATwAAAAAAAAEAAAADAQAAAAAAAAAAAABITwAA
+AAAAAAEAAABGAAAAAAAAAAAAAABQTwAAAAAAAAEAAAArAQAAAAAAAAAAAABYTwAAAAAA
+AAEAAAA5AQAAAAAAAAAAAABgTwAAAAAAAAEAAAD/AAAAAAAAAAAAAADgVQAAAAAAAAEA
+AAABAAAAWtoAAAAAAADoVQAAAAAAAAEAAAABAAAAJdoAAAAAAADwVQAAAAAAAAEAAAAB
+AAAALdoAAAAAAAD4VQAAAAAAAAEAAAABAAAAj9oAAAAAAAAAVgAAAAAAAAEAAAABAAAA
+O9oAAAAAAAAIVgAAAAAAAAEAAAABAAAAh9oAAAAAAABAVgAAAAAAAAEAAAABAAAAMucA
+AAAAAABIVgAAAAAAAAEAAAABAAAAqOYAAAAAAABQVgAAAAAAAAEAAAABAAAA1OYAAAAA
+AABYVgAAAAAAAAEAAAABAAAAK+cAAAAAAABgVgAAAAAAAAEAAAABAAAA3eYAAAAAAABo
+VgAAAAAAAAEAAAABAAAA5uYAAAAAAABwVgAAAAAAAAEAAAABAAAAMucAAAAAAAB4VgAA
+AAAAAAEAAAABAAAAMucAAAAAAACAVgAAAAAAAAEAAAABAAAAMucAAAAAAACIVgAAAAAA
+AAEAAAABAAAAMucAAAAAAACQVgAAAAAAAAEAAAABAAAAMucAAAAAAACYVgAAAAAAAAEA
+AAABAAAAMucAAAAAAACgVgAAAAAAAAEAAAABAAAAMucAAAAAAACoVgAAAAAAAAEAAAAB
+AAAAMucAAAAAAACwVgAAAAAAAAEAAAABAAAAMucAAAAAAAC4VgAAAAAAAAEAAAABAAAA
+MucAAAAAAADAVgAAAAAAAAEAAAABAAAADucAAAAAAACQYgAAAAAAAAEAAAABAAAAoyUB
+AAAAAACYYgAAAAAAAAEAAAABAAAAxSEBAAAAAACgYgAAAAAAAAEAAAABAAAAoCIBAAAA
+AACoYgAAAAAAAAEAAAABAAAAPCQBAAAAAACwYgAAAAAAAAEAAAABAAAAmiQBAAAAAAC4
+YgAAAAAAAAEAAAABAAAAESUBAAAAAAAIcAAAAAAAAAEAAAABAAAAVDABAAAAAAAQcAAA
+AAAAAAEAAAABAAAAWDABAAAAAAAYcAAAAAAAAAEAAAABAAAAXTABAAAAAAAgcAAAAAAA
+AAEAAAABAAAAYjABAAAAAAAocAAAAAAAAAEAAAABAAAAdDABAAAAAAAwcAAAAAAAAAEA
+AAABAAAAdDABAAAAAAA4cAAAAAAAAAEAAAABAAAAZzABAAAAAABAcAAAAAAAAAEAAAAB
+AAAAbDABAAAAAABYfAAAAAAAAAEAAAABAAAAs0ABAAAAAABgfAAAAAAAAAEAAAABAAAA
+mEABAAAAAABofAAAAAAAAAEAAAABAAAAnEABAAAAAABwfAAAAAAAAAEAAAABAAAAoUAB
+AAAAAAB4fAAAAAAAAAEAAAABAAAAs0ABAAAAAACAfAAAAAAAAAEAAAABAAAAs0ABAAAA
+AACIfAAAAAAAAAEAAAABAAAApkABAAAAAACQfAAAAAAAAAEAAAABAAAAq0ABAAAAAADI
+iAAAAAAAAAEAAAABAAAAyVgBAAAAAADQiAAAAAAAAAEAAAABAAAAsVgBAAAAAADYiAAA
+AAAAAAEAAAABAAAAtVgBAAAAAADgiAAAAAAAAAEAAAABAAAAulgBAAAAAADoiAAAAAAA
+AAEAAAABAAAAyVgBAAAAAADwiAAAAAAAAAEAAAABAAAAyVgBAAAAAAD4iAAAAAAAAAEA
+AAABAAAAv1gBAAAAAAAAiQAAAAAAAAEAAAABAAAAxFgBAAAAAAAgAAAAAAAAAAEAAAAD
+AAAAAAAAAAAAAAAoAAAAAAAAAAEAAAADAAAABwAAAAAAAAAwAAAAAAAAAAEAAAADAAAA
+DgAAAAAAAAA4AAAAAAAAAAEAAAADAAAAFQAAAAAAAABAAAAAAAAAAAEAAAADAAAAHAAA
+AAAAAABIAAAAAAAAAAEAAAADAAAAIwAAAAAAAACIAQAAAAAAAAEAAAAFAAAAkAAAAAAA
+AACYAQAAAAAAAAEAAAAFAAAAogAAAAAAAACoAQAAAAAAAAEAAAAFAAAArAAAAAAAAAC4
+AQAAAAAAAAEAAAAFAAAAuAAAAAAAAADIAQAAAAAAAAEAAAAFAAAAwgAAAAAAAADYAQAA
+AAAAAAEAAAAFAAAAzAAAAAAAAADoAQAAAAAAAAEAAAAFAAAA1gAAAAAAAAD4AQAAAAAA
+AAEAAAAFAAAA4gAAAAAAAAAIAgAAAAAAAAEAAAAFAAAA6gAAAAAAAAAYAgAAAAAAAAEA
+AAAFAAAA8AAAAAAAAAAoAgAAAAAAAAEAAAAFAAAAEAEAAAAAAAA4AgAAAAAAAAEAAAAF
+AAAAMAEAAAAAAABIAgAAAAAAAAEAAAAFAAAAQAEAAAAAAABYAgAAAAAAAAEAAAAFAAAA
+UAEAAAAAAABoAgAAAAAAAAEAAAAFAAAAYAEAAAAAAAB4AgAAAAAAAAEAAAAFAAAAZAEA
+AAAAAAAgAAAAAAAAAAEAAAABAAAAAAAAAAAAAAA4AAAAAAAAAAEAAAABAAAAzwAAAAAA
+AABYAAAAAAAAAAEAAAABAAAA/AAAAAAAAAB4AAAAAAAAAAEAAAABAAAA9AEAAAAAAACw
+AAAAAAAAAAEAAAABAAAARQIAAAAAAADIAAAAAAAAAAEAAAABAAAAZgIAAAAAAADgAAAA
+AAAAAAEAAAABAAAAiAMAAAAAAAD4AAAAAAAAAAEAAAABAAAA3AMAAAAAAAAQAQAAAAAA
+AAEAAAABAAAAbQQAAAAAAAAoAQAAAAAAAAEAAAABAAAAxQQAAAAAAABAAQAAAAAAAAEA
+AAABAAAADQUAAAAAAABYAQAAAAAAAAEAAAABAAAAgQUAAAAAAACQAQAAAAAAAAEAAAAB
+AAAAMwYAAAAAAACoAQAAAAAAAAEAAAABAAAA7QYAAAAAAADAAQAAAAAAAAEAAAABAAAA
+HAcAAAAAAADgAQAAAAAAAAEAAAABAAAAgAcAAAAAAAAAAgAAAAAAAAEAAAABAAAAwwcA
+AAAAAAAYAgAAAAAAAAEAAAABAAAA9wgAAAAAAABIAgAAAAAAAAEAAAABAAAAYAkAAAAA
+AABoAgAAAAAAAAEAAAABAAAAzAkAAAAAAACAAgAAAAAAAAEAAAABAAAAEAoAAAAAAACY
+AgAAAAAAAAEAAAABAAAANQoAAAAAAADIAgAAAAAAAAEAAAABAAAA0wwAAAAAAADwAgAA
+AAAAAAEAAAABAAAAtw0AAAAAAAAQAwAAAAAAAAEAAAABAAAAGhAAAAAAAABQAwAAAAAA
+AAEAAAABAAAAohQAAAAAAABoAwAAAAAAAAEAAAABAAAACxUAAAAAAACoAwAAAAAAAAEA
+AAABAAAA9RoAAAAAAADIAwAAAAAAAAEAAAABAAAA0RsAAAAAAAAIBAAAAAAAAAEAAAAB
+AAAAOx0AAAAAAAAwBAAAAAAAAAEAAAABAAAAxh4AAAAAAABwBAAAAAAAAAEAAAABAAAA
+7SEAAAAAAACwBAAAAAAAAAEAAAABAAAAQiQAAAAAAADwBAAAAAAAAAEAAAABAAAAUSgA
+AAAAAAAoBQAAAAAAAAEAAAABAAAAnjUAAAAAAABgBQAAAAAAAAEAAAABAAAAHDYAAAAA
+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
+AADoLAAAAAAAAAEAAAABAAAA+94AAAAAAAAQLQAAAAAAAAEAAAABAAAAkd8AAAAAAAAo
+LQAAAAAAAAEAAAABAAAAq98AAAAAAABALQAAAAAAAAEAAAABAAAAtt8AAAAAAABYLQAA
+AAAAAAEAAAABAAAA1t8AAAAAAABwLQAAAAAAAAEAAAABAAAATeAAAAAAAACILQAAAAAA
+AAEAAAABAAAAguAAAAAAAACgLQAAAAAAAAEAAAABAAAAt+AAAAAAAAC4LQAAAAAAAAEA
+AAABAAAA+OAAAAAAAADQLQAAAAAAAAEAAAABAAAA/uAAAAAAAADoLQAAAAAAAAEAAAAB
+AAAAEuEAAAAAAAAALgAAAAAAAAEAAAABAAAAIuEAAAAAAAAYLgAAAAAAAAEAAAABAAAA
+MOEAAAAAAAAwLgAAAAAAAAEAAAABAAAAPuEAAAAAAABILgAAAAAAAAEAAAABAAAATeIA
+AAAAAABgLgAAAAAAAAEAAAABAAAAU+IAAAAAAACILgAAAAAAAAEAAAABAAAAxeIAAAAA
+AACoLgAAAAAAAAEAAAABAAAA4+IAAAAAAADQLgAAAAAAAAEAAAABAAAAeuMAAAAAAADw
+LgAAAAAAAAEAAAABAAAAmOMAAAAAAAAYLwAAAAAAAAEAAAABAAAAMuQAAAAAAAA4LwAA
+AAAAAAEAAAABAAAAU+QAAAAAAABYLwAAAAAAAAEAAAABAAAAZ+QAAAAAAABwLwAAAAAA
+AAEAAAABAAAAieQAAAAAAACQLwAAAAAAAAEAAAABAAAAw+UAAAAAAACwLwAAAAAAAAEA
+AAABAAAAkuYAAAAAAADQLwAAAAAAAAEAAAABAAAAPOcAAAAAAADwLwAAAAAAAAEAAAAB
+AAAA0OcAAAAAAAAoMAAAAAAAAAEAAAABAAAA6OcAAAAAAABIMAAAAAAAAAEAAAABAAAA
+fegAAAAAAABgMAAAAAAAAAEAAAABAAAApegAAAAAAAB4MAAAAAAAAAEAAAABAAAA0+gA
+AAAAAACgMAAAAAAAAAEAAAABAAAATukAAAAAAAC4MAAAAAAAAAEAAAABAAAAYekAAAAA
+AADQMAAAAAAAAAEAAAABAAAAcukAAAAAAADoMAAAAAAAAAEAAAABAAAAeOkAAAAAAAAA
+MQAAAAAAAAEAAAABAAAAfukAAAAAAAAwMQAAAAAAAAEAAAABAAAAhOkAAAAAAABoMQAA
+AAAAAAEAAAABAAAA+OkAAAAAAACAMQAAAAAAAAEAAAABAAAAAOoAAAAAAACYMQAAAAAA
+AAEAAAABAAAACOoAAAAAAACwMQAAAAAAAAEAAAABAAAAFOoAAAAAAADQMQAAAAAAAAEA
+AAABAAAAROoAAAAAAADwMQAAAAAAAAEAAAABAAAAauoAAAAAAAAQMgAAAAAAAAEAAAAB
+AAAAi+oAAAAAAAAoMgAAAAAAAAEAAAABAAAAoOoAAAAAAABAMgAAAAAAAAEAAAABAAAA
+8uoAAAAAAABYMgAAAAAAAAEAAAABAAAAROsAAAAAAABwMgAAAAAAAAEAAAABAAAAbusA
+AAAAAACIMgAAAAAAAAEAAAABAAAAyOsAAAAAAACgMgAAAAAAAAEAAAABAAAA+OsAAAAA
+AADgMgAAAAAAAAEAAAABAAAA+OwAAAAAAAAgMwAAAAAAAAEAAAABAAAAUPUAAAAAAAA4
+MwAAAAAAAAEAAAABAAAAw/UAAAAAAABYMwAAAAAAAAEAAAABAAAA1vUAAAAAAAB4MwAA
+AAAAAAEAAAABAAAACvYAAAAAAACgMwAAAAAAAAEAAAABAAAAxvcAAAAAAADQMwAAAAAA
+AAEAAAABAAAAlvkAAAAAAAD4MwAAAAAAAAEAAAABAAAANfoAAAAAAAAQNAAAAAAAAAEA
+AAABAAAAUfoAAAAAAAAoNAAAAAAAAAEAAAABAAAAoPoAAAAAAABQNAAAAAAAAAEAAAAB
+AAAAE/sAAAAAAACANAAAAAAAAAEAAAABAAAAvvsAAAAAAADANAAAAAAAAAEAAAABAAAA
+yv8AAAAAAADYNAAAAAAAAAEAAAABAAAAhgABAAAAAAD4NAAAAAAAAAEAAAABAAAAsgAB
+AAAAAAAoNQAAAAAAAAEAAAABAAAAvQMBAAAAAABoNQAAAAAAAAEAAAABAAAAtwgBAAAA
+AACYNQAAAAAAAAEAAAABAAAA3gkBAAAAAADINQAAAAAAAAEAAAABAAAAhAoBAAAAAADo
+NQAAAAAAAAEAAAABAAAACwsBAAAAAAAoNgAAAAAAAAEAAAABAAAAYwwBAAAAAABANgAA
+AAAAAAEAAAABAAAA2wwBAAAAAABYNgAAAAAAAAEAAAABAAAAVw0BAAAAAAB4NgAAAAAA
+AAEAAAABAAAARg4BAAAAAACQNgAAAAAAAAEAAAABAAAAcw4BAAAAAAC4NgAAAAAAAAEA
+AAABAAAAiQ8BAAAAAADQNgAAAAAAAAEAAAABAAAAoQ8BAAAAAADoNgAAAAAAAAEAAAAB
+AAAAmRABAAAAAAAQNwAAAAAAAAEAAAABAAAAUREBAAAAAABANwAAAAAAAAEAAAABAAAA
+ChIBAAAAAACYNwAAAAAAAAEAAAABAAAAVBMBAAAAAADANwAAAAAAAAEAAAABAAAAARQB
+AAAAAADgNwAAAAAAAAEAAAABAAAAOBQBAAAAAAAAOAAAAAAAAAEAAAABAAAAdRQBAAAA
+AAAoOAAAAAAAAAEAAAABAAAApxUBAAAAAABAOAAAAAAAAAEAAAABAAAAFxYBAAAAAABg
+OAAAAAAAAAEAAAABAAAAkBYBAAAAAACAOAAAAAAAAAEAAAABAAAARxoBAAAAAACYOAAA
+AAAAAAEAAAABAAAAVhoBAAAAAACwOAAAAAAAAAEAAAABAAAAahoBAAAAAADIOAAAAAAA
+AAEAAAABAAAAgxoBAAAAAADgOAAAAAAAAAEAAAABAAAAtBoBAAAAAAAIOQAAAAAAAAEA
+AAABAAAADhsBAAAAAAAwOQAAAAAAAAEAAAABAAAAcBwBAAAAAABIOQAAAAAAAAEAAAAB
+AAAAaB0BAAAAAABgOQAAAAAAAAEAAAABAAAAvR0BAAAAAAB4OQAAAAAAAAEAAAABAAAA
+Jh4BAAAAAACQOQAAAAAAAAEAAAABAAAAYR8BAAAAAADAOQAAAAAAAAEAAAABAAAAdB8B
+AAAAAADgOQAAAAAAAAEAAAABAAAAyR8BAAAAAAAAOgAAAAAAAAEAAAABAAAAAiABAAAA
+AAAYOgAAAAAAAAEAAAABAAAAUCABAAAAAAAwOgAAAAAAAAEAAAABAAAAWCABAAAAAABI
+OgAAAAAAAAEAAAABAAAAYCABAAAAAABwOgAAAAAAAAEAAAABAAAAcCEBAAAAAACQOgAA
+AAAAAAEAAAABAAAAoCEBAAAAAACwOgAAAAAAAAEAAAABAAAArSUBAAAAAADQOgAAAAAA
+AAEAAAABAAAAVCYBAAAAAADwOgAAAAAAAAEAAAABAAAAcicBAAAAAAAQOwAAAAAAAAEA
+AAABAAAAHigBAAAAAAA4OwAAAAAAAAEAAAABAAAAyykBAAAAAABgOwAAAAAAAAEAAAAB
+AAAAnCoBAAAAAACAOwAAAAAAAAEAAAABAAAA6yoBAAAAAACgOwAAAAAAAAEAAAABAAAA
+cSsBAAAAAAC4OwAAAAAAAAEAAAABAAAA6SsBAAAAAAD4OwAAAAAAAAEAAAABAAAANC4B
+AAAAAAA4PAAAAAAAAAEAAAABAAAAEy8BAAAAAABoPAAAAAAAAAEAAAABAAAAPzABAAAA
+AACAPAAAAAAAAAEAAAABAAAAejABAAAAAADAPAAAAAAAAAEAAAABAAAA9DUBAAAAAADg
+PAAAAAAAAAEAAAABAAAAezYBAAAAAAAgPQAAAAAAAAEAAAABAAAALToBAAAAAABIPQAA
+AAAAAAEAAAABAAAAjTsBAAAAAABgPQAAAAAAAAEAAAABAAAA9TsBAAAAAACAPQAAAAAA
+AAEAAAABAAAAODwBAAAAAACgPQAAAAAAAAEAAAABAAAAgDwBAAAAAADYPQAAAAAAAAEA
+AAABAAAAMD0BAAAAAAAYPgAAAAAAAAEAAAABAAAADz4BAAAAAABQPgAAAAAAAAEAAAAB
+AAAAg0ABAAAAAABoPgAAAAAAAAEAAAABAAAAuUABAAAAAACoPgAAAAAAAAEAAAABAAAA
+rEcBAAAAAADoPgAAAAAAAAEAAAABAAAAfE4BAAAAAAAAPwAAAAAAAAEAAAABAAAAuU4B
+AAAAAAAYPwAAAAAAAAEAAAABAAAAKk8BAAAAAABYPwAAAAAAAAEAAAABAAAA8k8BAAAA
+AABwPwAAAAAAAAEAAAABAAAAqFABAAAAAACYPwAAAAAAAAEAAAABAAAAo1EBAAAAAAC4
+PwAAAAAAAAEAAAABAAAA61EBAAAAAADwPwAAAAAAAAEAAAABAAAApFIBAAAAAAAwQAAA
+AAAAAAEAAAABAAAAhlMBAAAAAABoQAAAAAAAAAEAAAABAAAA+lUBAAAAAACoQAAAAAAA
+AAEAAAABAAAAnFgBAAAAAADAQAAAAAAAAAEAAAABAAAAz1gBAAAAAADYQAAAAAAAAAEA
+AAABAAAAOFkBAAAAAAAYQQAAAAAAAAEAAAABAAAAW1oBAAAAAAAwQQAAAAAAAAEAAAAB
+AAAAmFoBAAAAAABwQQAAAAAAAAEAAAABAAAAcV8BAAAAAACoQQAAAAAAAAEAAAABAAAA
++2ABAAAAAADIQQAAAAAAAAEAAAABAAAAQ2EBAAAAAAA=
+====
+
--- a/usr/src/uts/intel/Makefile.intel	Sun Nov 27 18:29:20 2005 -0800
+++ b/usr/src/uts/intel/Makefile.intel	Sun Nov 27 19:11:23 2005 -0800
@@ -297,6 +297,7 @@
 DRV_KMODS	+= xge
 DRV_KMODS	+= chxge
 DRV_KMODS	+= zcons
+DRV_KMODS	+= ath
 
 #
 # Common code drivers
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/intel/ath/Makefile	Sun Nov 27 19:11:23 2005 -0800
@@ -0,0 +1,103 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License").  You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+
+#pragma ident	"%Z%%M%	%I%	%E% SMI"
+
+#
+#	This file makes the atheros driver for an intel system
+#
+#	intel architecture dependent
+#
+
+#
+#	Path to the base of the uts directory tree (usually /usr/src/uts).
+#
+UTSBASE	= ../..
+#
+#	Define the module and object file sets.
+#
+MODULE		= ath
+OBJECTS		= $(ATH_OBJS:%=$(OBJS_DIR)/%) $(OBJS_DIR)/hal.o
+LINTS		= $(LINTS_DIR)/ath_aux.ln \
+		$(LINTS_DIR)/ath_ieee80211.ln \
+		$(LINTS_DIR)/ath_main.ln \
+		$(LINTS_DIR)/ath_osdep.ln \
+		$(LINTS_DIR)/ath_rate.ln \
+		$(LINTS_DIR)/ath_wificonfig.ln
+
+ROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
+
+#
+#	Include common rules.
+#
+include $(UTSBASE)/intel/Makefile.intel
+
+#
+#	Define targets
+#
+ALL_TARGET	= $(BINARY)
+LINT_TARGET	= $(MODULE).lint
+INSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
+
+#
+#	Driver depends on GLD & IP.
+#
+LDFLAGS		+= -dy -Nmisc/gld -Ndrv/ip
+
+#
+#	Default build targets.
+#
+.KEEP_STATE:
+
+def:		$(DEF_DEPS)
+
+all:		$(ALL_DEPS)
+
+clean:		$(CLEAN_DEPS)
+
+clobber:	$(CLOBBER_DEPS)
+
+lint:		$(LINT_DEPS)
+
+modlintlib:	$(MODLINTLIB_DEPS)
+
+clean.lint:	$(CLEAN_LINT_DEPS)
+
+install:	$(INSTALL_DEPS)
+
+#
+#	Include common targets.
+#
+include $(UTSBASE)/intel/Makefile.targ
+
+#
+#	If you have any special case that general
+#	Makefile rules don't serve for you, just do
+#	it yourself.
+#
+ATHEROS_HAL=$(UTSBASE)/common/io/ath/hal_x86_$(CLASS).o.uu
+$(OBJS_DIR)/hal.o:     $(ATHEROS_HAL)
+	uudecode -o $@ $(ATHEROS_HAL)