From owner-acpi-jp@jp.freebsd.org  Tue Oct 30 20:44:55 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id UAA01864;
	Tue, 30 Oct 2001 20:44:55 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from webcom.it ([213.140.20.183])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with SMTP id UAA01857
	for <acpi-jp@jp.freebsd.org>; Tue, 30 Oct 2001 20:44:51 +0900 (JST)
	(envelope-from andrea@webcom.it)
Received: (qmail 902 invoked by uid 1000); 30 Oct 2001 11:44:45 -0000
Date: Tue, 30 Oct 2001 12:44:45 +0100
From: Andrea Campi <andrea@webcom.it>
To: acpi-jp@jp.freebsd.org
Message-ID: <20011030124445.A734@webcom.it>
References: <20011029193759.B61888@webcom.it> <20011030.041216.71091836.iwasaki@jp.FreeBSD.org> <20011029231831.A64584@webcom.it> <20011030.135406.74756709.iwasaki@jp.FreeBSD.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="tThc/1wpZn/ma/RB"
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <20011030.135406.74756709.iwasaki@jp.FreeBSD.org>; from iwasaki@jp.freebsd.org on Tue, Oct 30, 2001 at 01:54:06PM +0900
X-Echelon: BND CIA NSA Mossad KGB MI6 IRA detonator nuclear assault strike
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: acpi-jp 1409
Subject: [acpi-jp 1409] Re: acpi_thermal: small improvement, delayed cooler off and verbose
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: andrea@webcom.it


--tThc/1wpZn/ma/RB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Oct 30, 2001 at 01:54:06PM +0900, Mitsuru IWASAKI wrote:
> > What I meant is, do you think it's possible that we get 2 events going from
> > NONE->AC0 without a transition from AC0->NONE in between? That would explain
> > what we're seeing. This might be a bug in my BIOS; after all, thermal is the
> 
> Could you try attached patch and see when does zone resetting occur?
> And please send me output of `sysctl hw.acpi' and ASL/DSDT.

[boot]
Oct 30 12:14:28 brian /boot/kernel/kernel: cardbus1: detach_card: no card to detach!
Oct 30 12:14:28 brian /boot/kernel/kernel: pccbb1: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
Oct 30 12:14:31 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
Oct 30 12:14:31 brian /boot/kernel/kernel: acpi_tz0: _AC0: temperature 73.8 >= setpoint 65.0
Oct 30 12:14:31 brian /boot/kernel/kernel: acpi_tz0: switched from NONE to _AC0: 73.8C
Oct 30 12:14:31 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
Oct 30 12:14:39 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
[login, launch cvs update ports from local repo]
Oct 30 12:17:13 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
Oct 30 12:18:19 brian /boot/kernel/kernel: acpi_tz0: _AC0: temperature 70.8 >= setpoint 69.0
Oct 30 12:18:19 brian /boot/kernel/kernel: acpi_tz0: switched from NONE to _AC0:
 70.8C
Oct 30 12:23:19 brian /boot/kernel/kernel: acpi_tz0: switched from _AC0 to NONE:
 66.8C
Oct 30 12:24:39 brian /boot/kernel/kernel: acpi_tz0: _AC0: temperature 69.8 >= setpoint 69.0
Oct 30 12:24:39 brian /boot/kernel/kernel: acpi_tz0: switched from NONE to _AC0:
 69.8C
Oct 30 12:29:02 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
Oct 30 12:33:16 brian /boot/kernel/kernel: acpi_tz0: _AC0: temperature 69.8 >= setpoint 69.0
Oct 30 12:33:16 brian /boot/kernel/kernel: acpi_tz0: switched from NONE to _AC0: 69.8C
Oct 30 12:33:16 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
Oct 30 12:33:19 brian /boot/kernel/kernel: acpi_tz0: _AC0: temperature 69.8 >= setpoint 69.0
Oct 30 12:33:19 brian /boot/kernel/kernel: acpi_tz0: switched from NONE to _AC0: 69.8C
[cvs update ports ends]
Oct 30 12:38:22 brian /boot/kernel/kernel: acpi_tz0: switched from _AC0 to NONE: 56.8C
Oct 30 12:38:22 brian /boot/kernel/kernel: acpi_tz0: switched from _AC0 to NONE: 56.8C
Oct 30 12:38:22 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.
Oct 30 12:38:22 brian /boot/kernel/kernel: acpi_tz0: entire thermal zone was reset.


# sysctl hw.acpi
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S1
hw.acpi.lid_switch_state: S1
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.verbose: 1
hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 8
hw.acpi.cpu.performance_speed: 8
hw.acpi.cpu.economy_speed: 4
hw.acpi.thermal.min_runtime: 300
hw.acpi.thermal.tz0.temperature: 3250
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 3632
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 3732
hw.acpi.thermal.tz0._AC0: 3422
hw.acpi.thermal.tz0._AC1: -1
hw.acpi.thermal.tz0._AC2: -1
hw.acpi.thermal.tz0._AC3: -1
hw.acpi.thermal.tz0._AC4: -1
hw.acpi.thermal.tz0._AC5: -1
hw.acpi.thermal.tz0._AC6: -1
hw.acpi.thermal.tz0._AC7: -1
hw.acpi.thermal.tz0._AC8: -1
hw.acpi.thermal.tz0._AC9: -1
hw.acpi.acline: 1
hw.acpi.battery.life: 98
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 2

Oh, and by the way, what about applying this patch:

Index: acpi.c
===================================================================
RCS file: /u/ncvs/src/sys/dev/acpica/acpi.c,v
retrieving revision 1.44
diff -u -r1.44 acpi.c
--- acpi.c      29 Oct 2001 18:09:43 -0000      1.44
+++ acpi.c      30 Oct 2001 11:35:03 -0000
@@ -384,6 +384,8 @@
        &sc->acpi_verbose, 0, "verbose mode");
     if (bootverbose)
        sc->acpi_verbose = 1;
+    else
+       sc->acpi_verbose = 0;

     /*
      * Dispatch the default sleep state to devices.


Otherwise hw.acpi.verbose is not initialized.

About DSDT/AML, you should be able to find it in the archives, but anyway, here
they are attached.

> 
> > only thing which is working fine on my Thinkpad right now (no suspend, heck
> > even unplugging causes instant freeze), so yours is good work no matter what ;-)
> 
> My Thinkpad i1620 also won't sleep (almost freezes).  I'll investigate
> this when I get enough time.

OK.

Bye,
	Andrea

-- 
              The best things in life are free, but the
                expensive ones are still worth a look.

--tThc/1wpZn/ma/RB
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="TP570E.dsdt"
Content-Transfer-Encoding: base64

RFNEVHNRAAABsklCTSAgIFZJUEVSICAgAAAEBk1TRlQEAAABCF9TMF8SBgIKBQoFCF9TMV8S
BgIKBAoECF9TM18SBgIKAQoBCF9TNF8SBgIKAAoACF9TNV8SBgIKAAoAEBJfUFJfW4MLQ1BV
XwAQEAAABhBJGl9TSV8UQhpfU1NUAaBBBpNoCgCgP5NcU1NMVgoAXC8FX1NCX1BDSV9JU0Ff
RUNfX1NMRUQKgAoAXC8FX1NCX1BDSV9JU0FfRUNfX1NMRUQKAQoAXC8FX1NCX1BDSV9JU0Ff
RUNfX0JFRVAKBwoAoEIGk2gKAVwvBV9TQl9QQ0lfSVNBX0VDX19TTEVECoAKAFwvBV9TQl9Q
Q0lfSVNBX0VDX19TTEVECgEKAaAlkpNcU1NMVgoAXC8FX1NCX1BDSV9JU0FfRUNfX0JFRVAK
BQoAoEoGk2gKA6AtkZNcU1NMVgoDk1xTU0xWCgBcLwVfU0JfUENJX0lTQV9FQ19fU0xFRAoB
CgBcLwVfU0JfUENJX0lTQV9FQ19fU0xFRAqACgFcLwVfU0JfUENJX0lTQV9FQ19fQkVFUAoD
CgCgSgaTaAoEoC2Rk1xTU0xWCgOTXFNTTFYKAFwvBV9TQl9QQ0lfSVNBX0VDX19TTEVECgEK
AFwvBV9TQl9QQ0lfSVNBX0VDX19TTEVECoAKAFwvBV9TQl9QQ0lfSVNBX0VDX19CRUVQCgMK
ABBMIl9UWl9bhUAZVEhNMAhfVEMxCgEIX1RDMgoDCF9UU1ALLAEUC19DUlQApENSVEwUJ19Q
U1YAoBlcLwRfU0JfUENJX1BXUl9USFRFpFBTVkyhBqRQU1ZIFC9fQUMwAKAhe1wvBV9TQl9Q
Q0lfSVNBX0VDX19HRkFOCgcApEFDMEyhBqRBQzBIFEULX1RNUABwXC8FX1NCX1BDSV9JU0Ff
RUNfX0dIOEFgcFwvBV9TQl9QQ0lfSVNBX0VDX19TTVJBYAoEYItgCgBUTVAwcFRNUDBgcFwv
BV9TQl9QQ0lfSVNBX0VDX19HVEhaYaAZk2EKAKATkpVgQUMwTHBBQzBMYHRgCgUAoBp7YQoB
AKATkpRgQUMwTHBBQzBIYHJgCgUAoBp7YQoCAKATkpRgUFNWTHBQU1ZIYHJgCgUApGAUE19T
Q1ABhlwuX1RaX1RITTAKgQhfQUwwEgYBRkFOXwhfUFNMEgwBXC5fUFJfQ1BVXwhDUlRMC5QO
CFBTVkgLMA4IUFNWTAswDghBQzBIC14NCEFDMEwLNg1bhEUHRkFOUAAAABQrX1NUQQCgH3tc
LwVfU0JfUENJX0lTQV9FQ19fR0ZBTgoHAKQKAaEEpAoAFB9fT05fAFwvBV9TQl9QQ0lfSVNB
X0VDX19TRkFOCgcUH19PRkYAXC8FX1NCX1BDSV9JU0FfRUNfX1NGQU4KAFuCG0ZBTl8IX0hJ
RAxB0AwLCF9QUjASBgFGQU5QEEdLX0dQRRQtX0wwMACAXC8EX1NCX1BDSV9QV1JfVFBPTFwv
BF9TQl9QQ0lfUFdSX1RQT0wUGF9MMDgAhlwvA19TQl9QQ0lfVVNCXwoCFEY4X0wwOQBwXC8F
X1NCX1BDSV9JU0FfRUNfX0VDUUVgokU2YKAck2AKEVwvBV9TQl9QQ0lfSVNBX0VDX19fUTEx
oByTYAoTXC8FX1NCX1BDSV9JU0FfRUNfX19RMTOgHJNgChZcLwVfU0JfUENJX0lTQV9FQ19f
X1ExNqAck2AKF1wvBV9TQl9QQ0lfSVNBX0VDX19fUTE3oByTYAobXC8FX1NCX1BDSV9JU0Ff
RUNfX19RMUKgHJNgChxcLwVfU0JfUENJX0lTQV9FQ19fX1ExQ6Ack2AKHVwvBV9TQl9QQ0lf
SVNBX0VDX19fUTFEoByTYAoeXC8FX1NCX1BDSV9JU0FfRUNfX19RMUWgHJNgCiBcLwVfU0Jf
UENJX0lTQV9FQ19fX1EyMKAck2AKIVwvBV9TQl9QQ0lfSVNBX0VDX19fUTIxoByTYAoiXC8F
X1NCX1BDSV9JU0FfRUNfX19RMjKgHJNgCiNcLwVfU0JfUENJX0lTQV9FQ19fX1EyM6Ack2AK
JFwvBV9TQl9QQ0lfSVNBX0VDX19fUTI0oByTYAolXC8FX1NCX1BDSV9JU0FfRUNfX19RMjWg
HJNgCiZcLwVfU0JfUENJX0lTQV9FQ19fX1EyNqAck2AKJ1wvBV9TQl9QQ0lfSVNBX0VDX19f
UTI3oByTYAoqXC8FX1NCX1BDSV9JU0FfRUNfX19RMkGgHJNgCitcLwVfU0JfUENJX0lTQV9F
Q19fX1EyQqAck2AKMFwvBV9TQl9QQ0lfSVNBX0VDX19fUTMwoByTYAoxXC8FX1NCX1BDSV9J
U0FfRUNfX19RMzGgHJNgCjJcLwVfU0JfUENJX0lTQV9FQ19fX1EzMqAck2AKN1wvBV9TQl9Q
Q0lfSVNBX0VDX19fUTM3oByTYAo5XC8FX1NCX1BDSV9JU0FfRUNfX19RMzmgHJNgCj5cLwVf
U0JfUENJX0lTQV9FQ19fX1EzRaAck2AKQFwvBV9TQl9QQ0lfSVNBX0VDX19fUTQwoByTYApQ
XC8FX1NCX1BDSV9JU0FfRUNfX19RNTCgHJNgClFcLwVfU0JfUENJX0lTQV9FQ19fX1E1MaAc
k2AKUlwvBV9TQl9QQ0lfSVNBX0VDX19fUTUyoByTYApTXC8FX1NCX1BDSV9JU0FfRUNfX19R
NTNwXC8FX1NCX1BDSV9JU0FfRUNfX0VDUUVgFEIOX0wwQgBwXC8FX1NCX1BDSV9JU0FfRUNf
X0dXRVNgoCp7YAoBAIZcLl9TQl9QQ0lfCgJcLwVfU0JfUENJX0lTQV9FQ19fR1dFU6ATe2AK
AgCGXC5fU0JfTElEXwqAoBN7YAoEAIZcLl9TQl9TTFBCCgKgGHtgCggAhlwvA19TQl9QQ0lf
TU9ETQoCoCp7YAoQAIZcLl9TQl9TTFBCCgJcLwVfU0JfUENJX0lTQV9FQ19fX1E1MKAqe2AK
IACGXC5fU0JfU0xQQgoCXC8FX1NCX1BDSV9JU0FfRUNfX19RNTEQhFQEX1NCX1uAUEhTRAAM
vP7/CwwAAQAAW4EWUEhTRABCQ01ECERJRF8gSU5GT0B9W4ENUEhTRAAAKElORl8IW4EOUEhT
RAAAKElORjJAQFuAUEhTSQEMAP4AAAwCAAAAW4ELUEhTSQBTTUlDCFsBTVBIUwAUTgRQU0NT
CVsjTVBIU///cABJTkZPcAoAQkNNRHBoRElEX3AAU01JQ6ILgERJRF8AWyIKAnAAQkNNRHAA
RElEX3BJTkZPYFsnTVBIU6RgFEYEUFNTUwpbI01QSFP//3AKAUJDTURwaERJRF9waUlORk9w
AFNNSUOiC4BESURfAFsiCgJwAEJDTURwAERJRF9bJ01QSFMUTwRQU1BTCVsjTVBIU///cAoA
SU5GT3AKAkJDTURwaERJRF9wAFNNSUOiC4BESURfAFsiCgJwAEJDTURwAERJRF9wSU5GT2Bb
J01QSFOkYBQ/UFNESQlbI01QSFP//3AKA0JDTURwaERJRF9wAFNNSUOiC4BESURfAFsiCgJw
AEJDTURwAERJRF9bJ01QSFMUTwRQU1NUCVsjTVBIU///cAoASU5GX3AKBEJDTURwaERJRF9w
AFNNSUOiC4BESURfAFsiCgJwAEJDTURwAERJRF9wSU5GX2BbJ01QSFOkYBRHBFBIU18JWyNN
UEhT//9waEJDTURwAERJRF9wAFNNSUOiC4BESURfAFsiCgJwAEJDTURwAERJRF9wSU5GX2Bb
J01QSFOkYBRNBFBIUzIKWyNNUEhT//9waEJDTURwaUlORl9wAERJRF9wAFNNSUOiC4BESURf
AFsiCgJwAEJDTURwAERJRF9wSU5GMmBbJ01QSFOkYFuCSARBQ19fCF9ISUQNQUNQSTAwMDMA
CF9TVEEKDwhfUENMEgcBXF9TQl8UHl9QU1IApFwvBV9TQl9QQ0lfSVNBX0VDX19BQ1NUW4JK
MEJBVDEIX0hJRAxB0AwKCF9VSUQKAQhCSUZCEiMNCgAM/////wz/////CgELMCoKAAoACgAK
AQ0ADQANAA0ACEJTVEISEwQKAAz/////DP////8M/////whfUENMEgcBXF9TQl8IX1NUQQoP
FEUQX0JJRgBwXC8FX1NCX1BDSV9JU0FfRUNfX0dIOEFgcFwvBV9TQl9QQ0lfSVNBX0VDX19T
TVJBYAoQYIxgCgBQV1VUimAKBERDQVCKYAoIRkNBUItgChBWT0xUoEYEk1BXVVQK/3AKAIhC
SUZCCgAAcAz/////iEJJRkIKAQBwDP////+IQklGQgoCAHAKAIhCSUZCCgUAcAoAiEJJRkIK
BgChTQRwUFdVVIhCSUZCCgAAcERDQVCIQklGQgoBAHBGQ0FQiEJJRkIKAgBweERDQVAKCgAA
iEJJRkIKBQBweERDQVAKFAAAiEJJRkIKBgBwDUxJT04AiEJJRkIKCwCkQklGQhROFV9CU1QA
cABgoCN7XC8FX1NCX1BDSV9JU0FfRUNfX0JUU1QKAApAAH0KAWBgoCN7XC8FX1NCX1BDSV9J
U0FfRUNfX0JUU1QKAAogAH0KAmBgoCeSlHtcLwVfU0JfUENJX0lTQV9FQ19fQlRTVAoACg8A
CgN9CgRgYHBgiEJTVEIKAABwXC8FX1NCX1BDSV9JU0FfRUNfX0dIOEFgcFwvBV9TQl9QQ0lf
SVNBX0VDX19TTVJBYAoQYIxgCgBQV1VUimAKDENBUEGLYAoQVk9MVItgChJDVVJSe0NVUlIL
AP9hoA+SlWELAIB0DAAAAQBhYaAek1BXVVQKAHB4d2FWT0xUAAvoAwAAiEJTVEIKAQChLaAS
k1BXVVQKAXBhiEJTVEIKAQChGKAWk1BXVVQK/3AM/////4hCU1RCCgEAcENBUEGIQlNUQgoC
AHBWT0xUiEJTVEIKAwCkQlNUQhQ3X0lOSQCgMHtcLwVfU0JfUENJX0lTQV9FQ19fQlRTVAoA
CoAAcAofXC8DX1NCX0JBVDFfU1RBW4JBMUJBVDIIX0hJRAxB0AwKCF9VSUQKAghCSUZCEiMN
CgAM/////wz/////CgELMCoKAAoACgAKAQ0ADQANAA0ACEJTVEISEwQKAAz/////DP////8M
/////whfUENMEgcBXF9TQl8IX1NUQQoPFEUQX0JJRgBwXC8FX1NCX1BDSV9JU0FfRUNfX0dI
OEFgcFwvBV9TQl9QQ0lfSVNBX0VDX19TTVJBYAoRYIxgCgBQV1VUimAKBERDQVCKYAoIRkNB
UItgChBWT0xUoEYEk1BXVVQK/3AKAIhCSUZCCgAAcAz/////iEJJRkIKAQBwDP////+IQklG
QgoCAHAKAIhCSUZCCgUAcAoAiEJJRkIKBgChTQRwUFdVVIhCSUZCCgAAcERDQVCIQklGQgoB
AHBGQ0FQiEJJRkIKAgBweERDQVAKCgAAiEJJRkIKBQBweERDQVAKFAAAiEJJRkIKBgBwDUxJ
T04AiEJJRkIKCwCkQklGQhRFFl9CU1QAcABgoCN7XC8FX1NCX1BDSV9JU0FfRUNfX0JUU1QK
AQpAAH0KAWBgoCN7XC8FX1NCX1BDSV9JU0FfRUNfX0JUU1QKAQogAH0KAmBgoCeSlHtcLwVf
U0JfUENJX0lTQV9FQ19fQlRTVAoBCg8ACgN9CgRgYHBgiEJTVEIKAABwXC8FX1NCX1BDSV9J
U0FfRUNfX0dIOEFgcFwvBV9TQl9QQ0lfSVNBX0VDX19TTVJBYAoRYIxgCgBQV1VUimAKDENB
UEGLYAoQVk9MVItgChJDVVJSoBeSlUNVUlILAIBwdAwAAAEAQ1VSUgBhoQdwQ1VSUmGgHpNQ
V1VUCgBweHdhVk9MVAAL6AMAAIhCU1RCCgEAoS2gEpNQV1VUCgFwYYhCU1RCCgEAoRigFpNQ
V1VUCv9wDP////+IQlNUQgoBAHBDQVBBiEJTVEIKAgBwVk9MVIhCU1RCCgMApEJTVEIUN19J
TkkAoDB7XC8FX1NCX1BDSV9JU0FfRUNfX0JUU1QKAQqAAHAKH1wvA19TQl9CQVQyX1NUQVuC
QgRMSURfCF9ISUQMQdAMDQhfU1RBCg8IX1BSVxIGAgoLCgQUHl9MSUQApFwvBV9TQl9QQ0lf
SVNBX0VDX19HTElEW4IiU0xQQghfSElEDEHQDA4IX1NUQQoPCF9QUlcSBgIKCwoEW4KCqgNQ
Q0lfCF9ISUQMQdAKAwhfQkJOCgAIX0FEUgoAW4BSRUdTAgpACsBbgUAHUkVHUwMASAxQQU0w
CFBBTTEIUEFNMghQQU0zCFBBTTQIUEFNNQhQQU02CERSQjAIRFJCMQhEUkIyCERSQjMIRFJC
NAhEUkI1CERSQjYIRFJCNwgABkhFTl8CAEAFVF9FTgFUX1NaAgA1Q1JTVAEIUlNSQxFHHQvS
AYgOAAIMAAAAAAD/AAAAAAEARwH4DPgMAQiIDgABDAMAAAAA9wwAAPgMAIcYAAAMAwAAAAAA
AAoA//8LAAAAAAAAAAIAAIcYAAAMAwAAAAAAAAwA/z8MAAAAAAAAQAAAAIcYAAAMAwAAAAAA
QAwA/38MAAAAAAAAQAAAAIcYAAAMAwAAAAAAgAwA/78MAAAAAAAAQAAAAIcYAAAMAwAAAAAA
wAwA//8MAAAAAAAAQAAAAIcYAAAMAwAAAAAAAA0A/z8NAAAAAAAAQAAAAIcYAAAMAwAAAAAA
QA0A/38NAAAAAAAAQAAAAIcYAAAMAwAAAAAAgA0A/78NAAAAAAAAQAAAAIcYAAAMAwAAAAAA
wA0A//8NAAAAAAAAQAAAAIcYAAAMAwAAAAAAAA4A/z8OAAAAAAAAQAAAAIcYAAAMAwAAAAAA
QA4A/38OAAAAAAAAQAAAAIcYAAAMAwAAAAAAgA4A/78OAAAAAAAAQAAAAIcYAAAMAwAAAAAA
wA4A//8OAAAAAAAAQAAAAIcYAAAMAwAAAAAAAAAAAAAAAAAAAAAAAAAAAIcYAAAMAwAAAAAA
AAAAAAAAAAAAAAAAAAAAAIgOAAEMAwAAAA3//wAAAPMAeQAUSVdfQ1JTCHAAYaARVF9FTnkK
AXJUX1NaChEAYYpSU1JDC5MBQlRNTopSU1JDC5cBQlRNWIpSU1JDC58BQlRMTndEUkI3DAAA
gABgoCBUX0VOdGBhYnBiQlRNTnRyYAwAAAAQAEJUTU5CVExOoSNwYEJUTU50DAAA4P9gQlRM
TnRyQlRNTkJUTE4ACgFCVE1YilJTUkMLrgFBVE1OilJTUkMLsgFBVE1YilJTUkMLugFBVExO
oDRUX0VOcnJCVE1OQlRMTgBhQVRNTnQMAADg/0FUTU5BVExOdHJBVE1OQVRMTgAKAUFUTVih
B3AAQVRMTo1SU1JDC1ACQzBSV4pSU1JDCk9DME1OilJTUkMKU0MwTViKUlNSQwpbQzBMTnAB
QzBSV6ASk3tQQU0xCgMACgFwAEMwUldwAEMwTE6gEpJ7UEFNMQoDAHALAEBDMExOjVJTUkML
KANDNFJXilJTUkMKakM0TU6KUlNSQwpuQzRNWIpSU1JDCnZDNExOcAFDNFJXoBKTe1BBTTEK
MAAKEHAAQzRSV3AAQzRMTqASkntQQU0xCjAAcAsAQEM0TE6NUlNSQwsABEM4UleKUlNSQwqF
QzhNTopSU1JDColDOE1YilJTUkMKkUM4TE5wAUM4UlegEpN7UEFNMgoDAAoBcABDOFJXcABD
OExOoBKSe1BBTTIKAwBwCwBAQzhMTo1SU1JDC9gEQ0NSV4pSU1JDCqBDQ01OilJTUkMKpEND
TViKUlNSQwqsQ0NMTnABQ0NSV6ASk3tQQU0yCjAAChBwAENDUldwAENDTE6gEpJ7UEFNMgow
AHALAEBDQ0xOjVJTUkMLsAVEMFJXilJTUkMKu0QwTU6KUlNSQwq/RDBNWIpSU1JDCsdEMExO
cAFEMFJXoBKTe1BBTTMKAwAKAXAARDBSV3AARDBMTqASkntQQU0zCgMAcAsAQEQwTE6NUlNS
QwuIBkQ0UleKUlNSQwrWRDRNTopSU1JDCtpENE1YilJTUkMK4kQ0TE5wAUQ0UlegEpN7UEFN
MwowAAoQcABENFJXcABENExOoBKSe1BBTTMKMABwCwBARDRMTo1SU1JDC2AHRDhSV4pSU1JD
CvFEOE1OilJTUkMK9UQ4TViKUlNSQwr9RDhMTnABRDhSV6ASk3tQQU00CgMACgFwAEQ4Uldw
AEQ4TE6gEpJ7UEFNNAoDAHALAEBEOExOjVJTUkMLOAhEQ1JXilJTUkMLDAFEQ01OilJTUkML
EAFEQ01YilJTUkMLGAFEQ0xOcAFEQ1JXoBKTe1BBTTQKMAAKEHAARENSV3AARENMTqASkntQ
QU00CjAAcAsAQERDTE6NUlNSQwsQCUUwUleKUlNSQwsnAUUwTU6KUlNSQwsrAUUwTViKUlNS
QwszAUUwTE5wAUUwUlegEpN7UEFNNQoDAAoBcABFMFJXcABFMExOoBKSe1BBTTUKAwBwCwBA
RTBMTo1SU1JDC+gJRTRSV4pSU1JDC0IBRTRNTopSU1JDC0YBRTRNWIpSU1JDC04BRTRMTnAB
RTRSV6ASk3tQQU01CjAAChBwAEU0UldwAEU0TE6gEpJ7UEFNNQowAHALAEBFNExOjVJTUkML
wApFOFJXilJTUkMLXQFFOE1OilJTUkMLYQFFOE1YilJTUkMLaQFFOExOcAFFOFJXoBKTe1BB
TTYKAwAKAXAARThSV3AARThMTqASkntQQU02CgMAcAsAQEU4TE6NUlNSQwuYC0VDUleKUlNS
Qwt4AUVDTU6KUlNSQwt8AUVDTViKUlNSQwuEAUVDTE5wAUVDUlegEpN7UEFNNgowAAoQcABF
Q1JXcABFQ0xOoBKSe1BBTTYKMABwCwBARUNMTqRSU1JDCF9QUlQSSw8IEh4EDP//AQAKAFwv
BF9TQl9QQ0lfSVNBX0xOS0EKABIeBAz//wEACgFcLwRfU0JfUENJX0lTQV9MTktCCgASHgQM
//8CAAoAXC8EX1NCX1BDSV9JU0FfTE5LQQoAEh4EDP//AgAKAVwvBF9TQl9QQ0lfSVNBX0xO
S0IKABIeBAz//wUACgBcLwRfU0JfUENJX0lTQV9MTktBCgASHgQM//8GAAoDXC8EX1NCX1BD
SV9JU0FfTE5LRAoAEh4EDP//BwAKAFwvBF9TQl9QQ0lfSVNBX0xOS0MKABIeBAz//wcACgFc
LwRfU0JfUENJX0lTQV9MTktECgBbgkduQUdQXwhfQURSDAAAAQBbgkVtVkdBXwhfQURSCgAU
QQpfSU5JAHB7XC5fU0JfUEhTXwqHCgMAXC8FX1NCX1BDSV9BR1BfVkdBX0dEQ1Nwe1wvBV9T
Ql9QQ0lfQUdQX1ZHQV9HRENTCgEAXC8GX1NCX1BDSV9BR1BfVkdBX0xDRF9fRENTcHp7XC8F
X1NCX1BDSV9BR1BfVkdBX0dEQ1MKAgAKAQBcLwZfU0JfUENJX0FHUF9WR0FfQ1JUX19EQ1MU
DF9ET1MBcGhTV0lUCF9ET0QSDAIMAAEBAAwQAQEAFE8RU1JWTwGgRxF7XC5fU0JfUEhTXwqH
CjAAoEAHaKBMBpKTRERHUwoAcHtEREdTCgEAXC8GX1NCX1BDSV9BR1BfVkdBX0xDRF9fREdT
cHp7RERHUwoCAAoBAFwvBl9TQl9QQ0lfQUdQX1ZHQV9DUlRfX0RHU4ZcLwRfU0JfUENJX0FH
UF9WR0FfCoChQwlwfXlcLwZfU0JfUENJX0FHUF9WR0FfQ1JUX19EQ1MKAQBcLwZfU0JfUENJ
X0FHUF9WR0FfTENEX19EQ1MARERHU3ABXC8GX1NCX1BDSV9BR1BfVkdBX0xDRF9fREdTcABc
LwZfU0JfUENJX0FHUF9WR0FfQ1JUX19ER1OGXC8EX1NCX1BDSV9BR1BfVkdBXwqAW4JCGENS
VF8IX0FEUgsAAQhfRENTCh8IX0RHUwoAFDdfRERDAaAUk2gKAaRcLl9TQl9QSFMyCooKAKAb
k2gKAnNcLl9TQl9QSFMyCooKAEREQzBgpGAUTRJfRFNTAX17XC8FX1NCX1BDSV9BR1BfVkdB
X0dER1MKAQB5e2gKAQAKAQBcLwVfU0JfUENJX0FHUF9WR0FfR0RHU6BJDntoDAAAAMAAcEdE
R1NHRENToEMMk3toDAAAAEAACgBcLl9TQl9QSFMyCot9R0RDUwqAAHB7XC5fU0JfUEhTXwqH
CgMAYKAnk3tgCgEACgFwCh9cLwZfU0JfUENJX0FHUF9WR0FfTENEX19EQ1OhH3AKHVwvBl9T
Ql9QQ0lfQUdQX1ZHQV9MQ0RfX0RDU6Ank3tgCgIACgJwCh9cLwZfU0JfUENJX0FHUF9WR0Ff
Q1JUX19EQ1OhH3AKHVwvBl9TQl9QQ0lfQUdQX1ZHQV9DUlRfX0RDU6ERXC5fU0JfUEhTMgqL
R0RDU1uCRxpMQ0RfCF9BRFILEAEIX0RDUwofCF9ER1MKARRABl9EREMBoCOTaAoBoBZ7XC5f
U0JfUEhTXwqHCkAApEREQzGhBqREREMyoDGTaAoCoB17XC5fU0JfUEhTXwqHCkAAc0REQzFE
REMwYKRgoQ1zRERDMkREQzBgpGCkCgAUSRJfRFNTAX17XC8FX1NCX1BDSV9BR1BfVkdBX0dE
R1MKAgB7aAoBAFwvBV9TQl9QQ0lfQUdQX1ZHQV9HREdToEkOe2gMAAAAwABwR0RHU0dEQ1Og
QwyTe2gMAAAAQAAKAFwuX1NCX1BIUzIKi31HRENTCoAAcHtcLl9TQl9QSFNfCocKAwBgoCeT
e2AKAQAKAXAKH1wvBl9TQl9QQ0lfQUdQX1ZHQV9MQ0RfX0RDU6EfcAodXC8GX1NCX1BDSV9B
R1BfVkdBX0xDRF9fRENToCeTe2AKAgAKAnAKH1wvBl9TQl9QQ0lfQUdQX1ZHQV9DUlRfX0RD
U6EfcAodXC8GX1NCX1BDSV9BR1BfVkdBX0NSVF9fRENToRFcLl9TQl9QSFMyCotHRENTCFNX
SVQKAQhHRENTCgIIR0RHUwoCCERER1MKAAhEREMwEUQICoAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAhEREMxEUQICoAA////////ACRNVQoBAQEBIwkBAoAhGADqDfugV0eYJxJNUaEIAAAAAAAA
AAAAAAAAAAAAAABkGQBAQQAmMBiINgAOyxAAABoAAAD8AFRoaW5rUGFkIExDRCAAAAD8ADEw
MjR4NzY4ICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAMwhEREMyEUQICoAA////////ACRNSwoB
AQEBIwkBAoAhGADqDfugV0eYJxJNUaEIAAAAAAAAAAAAAAAAAAAAAACQASAAMVgcICiAAQD2
uAAAABoAAAD8AFRoaW5rUGFkIExDRCAAAAD8ADgwMHg2MDAgICAgICAAAAAAAAAAAAAAAAAA
AAAAAAAAoVuCTQpDUkQwCF9BRFIMAAACAAhfUFJXEgYCCgsKBFuAUENJQwIKAAsAAVuBPVBD
SUMDACBDTURfEABABUFERDAgAEAUSU5UTAgAOExBREQgAEAcUE1SSQEATxFQV1JTAgAGAAdQ
TUVTARQfX0lOSQB9SU5UTAr/SU5UTHtMQUREDAAA//9MQUREFBhfUFMwAHAAUFdSU3ABUE1S
SXABUE1FUxQMX1BTMwBwAFBNUklbgk0KQ1JEMQhfQURSDAEAAgBbgFBDSUMCCgALAAFbgT1Q
Q0lDAwAgQ01EXxAAQAVBREQwIABAFElOVEwIADhMQUREIABAHFBNUkkBAE8RUFdSUwIABgAH
UE1FUwEIX1BSVxIGAgoLCgQUH19JTkkAfUlOVEwK/0lOVEx7TEFERAwAAP//TEFERBQYX1BT
MABwAFBXUlNwAVBNUklwAVBNRVMUDF9QUzMAcABQTVJJW4JGQ09BS18IX0FEUgwAAAQACF9F
SkQNX1NCXy5QQ0lfLklTQV8uU0xDRQAIX1BSVBJMBQMSHAQL//8KAFwvBF9TQl9QQ0lfSVNB
X0xOS0EKABIcBAv//woBXC8EX1NCX1BDSV9JU0FfTE5LQQoAEh4EDP//AQAKAFwvBF9TQl9Q
Q0lfSVNBX0xOS0IKAFuAUENJXwIKAAsAAVuBC1BDSV8DVklEXyAUDF9CRE4ApAwkTQBDFE4F
X1VJRABwAGB9YFwvBF9TQl9QQ0lfUFdSX1JFMlIKAmB5YAoIYH1gXC8EX1NCX1BDSV9QV1Jf
UkUyUgoBYHlgCghgfWBcLwRfU0JfUENJX1BXUl9SRTJSCgBgpGAUQQdfRENLAXAAXC8FX1NC
X1BDSV9JU0FfUE1HQUxPS0WgG2hwAFwvBV9TQl9QQ0lfSVNBX1BNR0FET0tDoRpwAVwvBV9T
Ql9QQ0lfSVNBX1BNR0FET0tDXC8FX1NCX1BDSV9BR1BfVkdBX1NSVk9opGgURgVfRUowAXAB
XC8FX1NCX1BDSV9JU0FfUE1HQVVET0OiHFwvBV9TQl9QQ0lfSVNBX1BNR0FET0tTWyIKAXAA
XC8FX1NCX1BDSV9JU0FfUE1HQVVET0MURAlfU1RBAHAKAGCgNlwvBV9TQl9QQ0lfSVNBX1BN
R0FET0tToB2TXC8EX1NCX1BDSV9QV1JfUkUyUgoDCiBwCg9goBtgcABcLwVfU0JfUENJX0lT
QV9QTUdBTE9LRaEacAFcLwVfU0JfUENJX0lTQV9QTUdBTE9LRXAAXC8FX1NCX1BDSV9JU0Ff
UE1HQURPS0OkYBRKBFNEQ0sBoEIEaKA+XC8FX1NCX1BDSV9JU0FfUE1HQUVYUFOgJZNcLwRf
U0JfUENJX1BXUl9SRTJSCgMKIFwuX1NCX1BIU18KhluCSgpDUkQwCF9BRFIKAAhfUFJXEgYC
CgsKBFuAUENJQwIKAAsAAVuBPVBDSUMDACBDTURfEABABUFERDAgAEAUSU5UTAgAOExBREQg
AEAcUE1SSQEATxFQV1JTAgAGAAdQTUVTARQfX0lOSQB9SU5UTAr/SU5UTHtMQUREDAAA//9M
QUREFBhfUFMwAHAAUFdSU3ABUE1SSXABUE1FUxQMX1BTMwBwAFBNUklbgkELQ1JEMQhfQURS
CgEIX1BTQwoACF9QUlcSBgIKCwoEW4BQQ0lDAgoACwABW4E9UENJQwMAIENNRF8QAEAFQURE
MCAAQBRJTlRMCAA4TEFERCAAQBxQTVJJAQBPEVBXUlMCAAYAB1BNRVMBFB9fSU5JAH1JTlRM
Cv9JTlRMe0xBREQMAAD//0xBREQUGF9QUzAAcABQV1JTcAFQTVJJcAFQTUVTFAxfUFMzAHAA
UE1SSVuCG0xBTl8IX0FEUgwAAAEACF9QUlcSBgIKCwoEW4IPQVVEXwhfQURSDAAABQBbgowT
AklTQV8IX0FEUgwAAAYAW4I1RE1BQwhfSElEDEHQAgAIX0NSUxEgCh1HAQAAAAABEEcBgQCB
AAEPRwHAAMAAASAqEAJ5AFuCNlBJQ18IX0hJRAxB0AABCF9DUlMRIQoeRwEgACAAAQJHAaAA
oAABAkcB0ATQBAECIwQAAXkAW4IlVElNRQhfSElEDEHQAQAIX0NSUxEQCg1HAUAAQAABBCIB
AHkAW4IlUlRDXwhfSElEDEHQCwAIX0NSUxEQCg1HAXAAcAABAiIAAXkAW4IiU1BLUghfSElE
DEHQCAAIX0NSUxENCgpHAWEAYQABAXkAW4ImTUFUSAhfSElEDEHQDAQIX0NSUxERCg5HAfAA
8AABECMAIAF5AFuCPk1FTV8IX0hJRAxB0AwBCF9DUlMRKQomhgkAAQAAAAAAAAoAhgkAAAAA
DgAAAAIAhgkAAAAA+P8AAAgAeQBbgi1LQkNfCF9ISUQMQdADAwhfQ1JTERgKFUcBYABgAAEB
RwFkAGQAAQEiAgB5AFuCTwVNT1VTCF9ISUQMJE03gAhfQ0lEDEHQDxMUDV9DUlMApFBTQ1MK
FhQNX1NSUwFQU1NTChZoFA1fUFJTAKRQU1BTChYUDF9ESVMAUFNESQoWFA1fU1RBAKRQU1NU
ChZbgEdFTl8CCrAKBFuBD0dFTl8DAAgABFNJREUBW4JFC0xOS0EIX0hJRAxB0AwPCF9VSUQK
AQhfUFJTEQkKBiO4jhh5AAhSU1JDEQkKBiMAABh5ABQRX0RJUwB9UElSQQqAUElSQRQtX0NS
UwCLUlNSQwoBSVJRMHtQSVJBCg9geQoBYElSUTBwUlNSQ1sxpFJTUkMUKF9TUlMBcGhbMYto
CgFJUlEwgklSUTBgdmB9YHtQSVJBCnAAUElSQRQWX1NUQQCgDHtQSVJBCoAApAoJpAoLW4JK
CkxOS0IIX0hJRAxB0AwPCF9VSUQKAghfUFJTEQkKBiO4jhh5AAhSU1JDEQkKBiMAABh5ABQR
X0RJUwB9UElSQgqAUElSQhQmX0NSUwCLUlNSQwoBSVJRMHtQSVJCCg9geQoBYElSUTCkUlNS
QxQkX1NSUwGLaAoBSVJRMIJJUlEwYHZgfWB7UElSQgpwAFBJUkIUFl9TVEEAoAx7UElSQgqA
AKQKCaQKC1uCSgpMTktDCF9ISUQMQdAMDwhfVUlECgMIX1BSUxEJCgYjuI4YeQAIUlNSQxEJ
CgYjAAAYeQAUEV9ESVMAfVBJUkMKgFBJUkMUJl9DUlMAi1JTUkMKAUlSUTB7UElSQwoPYHkK
AWBJUlEwpFJTUkMUJF9TUlMBi2gKAUlSUTCCSVJRMGB2YH1ge1BJUkMKcABQSVJDFBZfU1RB
AKAMe1BJUkMKgACkCgmkCgtbgkoKTE5LRAhfSElEDEHQDA8IX1VJRAoECF9QUlMRCQoGI7iO
GHkACFJTUkMRCQoGIwAAGHkAFBFfRElTAH1QSVJECoBQSVJEFCZfQ1JTAItSU1JDCgFJUlEw
e1BJUkQKD2B5CgFgSVJRMKRSU1JDFCRfU1JTAYtoCgFJUlEwgklSUTBgdmB9YHtQSVJECnAA
UElSRBQWX1NUQQCgDHtQSVJECoAApAoJpAoLW4BQSVJYAgpgCgRbgR1QSVJYAwEBAFBJUkEI
UElSQghQSVJDCFBJUkQIW4JBDFBNR0EIX0hJRAxB0AoFCF9VSUQKAVuAR0FJTwEL7hUKAluB
EEdBSU8BUE1JWAhQTURBCFuGQQRQTUlYUE1EQQEABkJSRU4BAEEWVURPQwFET0tDAUxPS0UB
AAFET0tTAUVYUFMBAApCQVlFAUJBWVABQkFZUgEIX1NUQQoLFDNTQkFZAaAeaHAAQkFZUnAA
QkFZUFsiCgpwAEJBWUVwAUJBWVKhDXABQkFZRXABQkFZUBQNR0JBWQCkgEJBWUUAW4JBk1NJ
T18IX0hJRAxB0AoFCF9VSUQKAghfU1RBCgsIUkRFMREQCg1HAQAAAAABACIAAHkACFJERTIR
EwoQRwEAAAAAAQAiAAAqAAB5AAhSREUzERsKGEcBAAAAAAEARwEAAAAAAQAiAAAqAAB5AFuC
TQdDT01BCF9ISUQMQdAFAQhfVUlECgEIX0VKRA1fU0JfLlBDSV8uT0FLXwAUDV9DUlMApFBT
Q1MKEhQNX1NSUwFQU1NTChJoFA1fUFJTAKRQU1BTChIUDF9ESVMAUFNESQoSFA1fU1RBAKRQ
U1NUChIIX1BSVxIGAgoLCgNbgk8FRklSXwhfSElEDCRNAHEIX0NJRAxB0AURFA1fQ1JTAKRQ
U0NTChMUDV9TUlMBUFNTUwoTaBQNX1BSUwCkUFNQUwoTFAxfRElTAFBTREkKExQNX1NUQQCk
UFNTVAoTW4JHJkxQVF8IX0hJRAxB0AQACF9VSUQKAQhNQ0RfChcIX1NUQQoACEJfUFIRTwQK
SzBHAXgDeAMBCCKAADBHAXgDeAMBCCIgADBHAXgCeAIBCCKAADBHAXgCeAIBCCIgADBHAbwD
vAMBBCKAADBHAbwDvAMBBCIgADh5AAhDUlNCERAKDUcBAAAAAAEIIgAAeQAURAtfQ1JTAFsj
XC5fU0JfTVBIU///oEsIk19TVEEKD4tDUlNCCgJJTzFCi0NSU0IKBElPMkKLQ1JTQgoGSU8z
QotDUlNCCglJUlFCfXl7UjQzMAr8AAoIAHlSNDIwCgIASU8xQnBJTzFCSU8yQqARk0lPMUIL
vANwCwEESU8zQnAASVJRQnpSRUFEChsK8AoEYKAKYHkKAWBJUlFCpENSU0KhBqRSREUxWydc
Ll9TQl9NUEhTFEUNQl9TUgFbI1wuX1NCX01QSFP//whYUkZJEiIQCgAKAAoACgAKAAoHCgAK
AQoACgIKAwoECgAKAAoFCgaLaAoCSU8xQYtoCglJUlFCV1JJVAoACv4KAFBSREP/V1JJVApC
CgB6SU8xQQoCAFdSSVQKQwoDeklPMUEKCACCSVJRQmCgIWB2YFdSSVQKGwoPeWAKBABXUklU
ChsK+IOIWFJGSWAAoQtXUklUChsKCAoAV1JJVAoACv4KAVBSRENJTzFBcAoPX1NUQVsnXC5f
U0JfTVBIUxQ2Ql9ESQBbI1wuX1NCX01QSFP//1dSSVQKAAr+CgBQUkRD/3AKDV9TVEFbJ1wu
X1NCX01QSFMIX0VKRA1fU0JfLlBDSV8uT0FLXwBbgk0mTFBUQghfSElEDEHQBAAIX1VJRAoC
CE1DRF8KGAhfU1RBCg8IX1BSUxFFBQpRMEcBeAN4AwEII4AAATBHAXgDeAMBCCMgAAEwRwF4
AngCAQgjgAABMEcBeAJ4AgEIIyAAATBHAbwDvAMBBCOAAAEwRwG8A7wDAQQjIAABOHkACENS
U0IREAoNRwEAAAAAAQgiAAB5ABREC19DUlMAWyNcLl9TQl9NUEhT//+gSwiTX1NUQQoPi0NS
U0IKAklPMUKLQ1JTQgoESU8yQotDUlNCCgZJTzNCi0NSU0IKCUlSUUJ9eXtSNDMwCvwACggA
eVI0MjAKAgBJTzFCcElPMUJJTzJCoBGTSU8xQgu8A3ALAQRJTzNCcABJUlFCelJFQUQKGwrw
CgRgoApgeQoBYElSUUKkQ1JTQqEGpFJERTFbJ1wuX1NCX01QSFMURQ1fU1JTAVsjXC5fU0Jf
TVBIU///CFhSRkkSIhAKAAoACgAKAAoACgcKAAoBCgAKAgoDCgQKAAoACgUKBotoCgJJTzFB
i2gKCUlSUUJXUklUCgAK/goAUFJEQ/9XUklUCkIKAHpJTzFBCgIAV1JJVApDCgN6SU8xQQoI
AIJJUlFCYKAhYHZgV1JJVAobCg95YAoEAFdSSVQKGwr4g4hYUkZJYAChC1dSSVQKGwoICgBX
UklUCgAK/goBUFJEQ0lPMUFwCg9fU1RBWydcLl9TQl9NUEhTFDZfRElTAFsjXC5fU0JfTVBI
U///V1JJVAoACv4KAFBSREP/cAoNX1NUQVsnXC5fU0JfTVBIUwhfRUpEDV9TQl8uUENJXy5P
QUtfAFuCSgdFQ1BfCF9ISUQMQdAEARQdX0NSUwCgD5NfU1RBCg+kUFNDUwoUoQakUkRFMxQN
X1NSUwFQU1NTChRoFA1fUFJTAKRQU1BTChQUDF9ESVMAUFNESQoUFA1fU1RBAKRQU1NUChQI
X0VKRA1fU0JfLlBDSV8uT0FLXwBbgkEIRVBQXwhfSElEDEHQBAAIX1VJRAoDFB1fQ1JTAKAP
k19TVEEKD6RQU0NTChWhBqRSREUxFA1fU1JTAVBTU1MKFWgUDV9QUlMApFBTUFMKFRQMX0RJ
UwBQU0RJChUUDV9TVEEApFBTU1QKFQhfRUpEDV9TQl8uUENJXy5PQUtfAFuCTgxGRENfCF9I
SUQMQdAHAFuARkRDUgEL8AMKB1uBDUZEQ1IBABhURFJfCBQNX0NSUwCkUFNDUwoRFEsGX1NS
UwFQU1NTChFooEsEklwvBF9TQl9QQ0lfUFdSX0dJMTOgI1wvBV9TQl9QQ0lfSVNBX1BNR0FH
QkFZe1REUl8K81REUl+hEH17VERSXwrzAAoEVERSX6EQfXtURFJfCvMACgRURFJfFA1fUFJT
AKRQU1BTChEUDF9ESVMAUFNESQoRFA1fU1RBAKRQU1NUChFbgFNJT1IBCi4KAluBEFNJT1IB
SU5EWAhEQVRBCFuGQAVJTkRYREFUQQFSMDAwCAAIUjAyMAgACFIwNDAIAEgeUjQyMAhSNDMw
CFI0NDAIUjQ1MAhSNDYwCFI0NzAIUjQ4MAhSNDkwCAAoUjRGMAgUFFJFQUQCcGhJTkRYpHtE
QVRBaQAUKFdSSVQDcGhJTkRYfXtEQVRBaQBqYHBoSU5EWHBgREFUQXBgREFUQQhMUFQxEgsD
C7wDC3gDC3gCFE0HUFJEQwGgGZNo/3AAXC8EX1NCX1BDSV9QV1JfTFBURaFLBXCHTFBUMWCi
QQVgdmCgSwSTaIOITFBUMWAAcGBcLwRfU0JfUENJX1BXUl9MUFRBcAFcLwRfU0JfUENJX1BX
Ul9MUFRFcAFcLwRfU0JfUENJX1BXUl9MUFRNW4JKxEVDX18IX0hJRAxB0AoFCF9VSUQKAwhC
RUpQCgAIX0NSUxEVChJHAWIAYgABAUcBZgBmAAEBeQAIX0dQRQoJW4BFQ1AwAQpiCgFbgQtF
Q1AwAUVDREEIW4BFQ1AxAQpmCgFbgQtFQ1AxAUVDU1QIW4ELRUNQMQFFQ0NNCFsBRUNNQgAU
FFdJQkUIog17RUNTVAoCAFshCgEUFVdPQkYIog6Se0VDU1QKAQBbIQoBFEAFRUNSRAlbI0VD
TUL//1dJQkVwCtJFQ0NNV0lCRXAKgEVDQ01XSUJFcGhFQ0RBV0lCRVdPQkZwRUNEQWBwCtNF
Q0NNV0lCRVsnRUNNQqRgFE4ERUNXUgpbI0VDTUL//1dJQkVwCtJFQ0NNV0lCRXAKgUVDQ01X
SUJFcGhFQ0RBV0lCRXBpRUNEQVdJQkVwCtNFQ0NNV0lCRVsnRUNNQhRGBkVDUUUIWyNFQ01C
//9wCmRhohhhdmF7RUNTVAogYKAFYHAAYaEFWyIKAaAxYFdJQkVwCtJFQ0NNV0lCRXAKhEVD
Q01XSUJFV09CRnBFQ0RBYHAK00VDQ01XSUJFWydFQ01CpGAUEl9RMTEAXC5fU0JfUEhTXwqA
FBNfUTEzAIZcLl9TQl9TTFBCCoAUQhlfUTE2AHANPT09PT0gRm5GNyA9PT09PQBbMaBFF5N7
XC5fU0JfUEhTXwqHCggACgCgRxOTXC8FX1NCX1BDSV9BR1BfVkdBX1NXSVQKAKBGBZNcLwVf
U0JfUENJX0FHUF9WR0FfR0RDUwoBcABcLwZfU0JfUENJX0FHUF9WR0FfTENEX19ER1NwAVwv
Bl9TQl9QQ0lfQUdQX1ZHQV9DUlRfX0RHU6BGBZNcLwVfU0JfUENJX0FHUF9WR0FfR0RDUwoC
cAFcLwZfU0JfUENJX0FHUF9WR0FfTENEX19ER1NwAVwvBl9TQl9QQ0lfQUdQX1ZHQV9DUlRf
X0RHU6BGBZNcLwVfU0JfUENJX0FHUF9WR0FfR0RDUwoDcAFcLwZfU0JfUENJX0FHUF9WR0Ff
TENEX19ER1NwAFwvBl9TQl9QQ0lfQUdQX1ZHQV9DUlRfX0RHU4ZcLwRfU0JfUENJX0FHUF9W
R0FfCoCgJ5NcLwVfU0JfUENJX0FHUF9WR0FfU1dJVAoBXC5fU0JfUEhTXwqBFBJfUTE3AFwu
X1NCX1BIU18KghQGX1ExQgAUEl9RMUMAXC5fU0JfUEhTXwqDFBJfUTFEAFwuX1NCX1BIU18K
hBQSX1ExRQBcLl9TQl9QSFNfCoUUIF9RMjAAhlwuX1NCX0JBVDEKgIZcLl9TQl9CQVQyCoAU
IF9RMjEAhlwuX1NCX0JBVDEKgIZcLl9TQl9CQVQyCoAUIF9RMjIAhlwuX1NCX0JBVDEKgIZc
Ll9TQl9CQVQyCoAUQiFfUTIzAHAAYKBBC3tcLwVfU0JfUENJX0lTQV9FQ19fQlRTVAoACoAA
oEEJk1wvA19TQl9CQVQxX1NUQQoPcFwvBV9TQl9QQ0lfSVNBX0VDX19HSDhBYXBcLwVfU0Jf
UENJX0lTQV9FQ19fU01SQWEKEGKMYgogQlNUMaIok0JTVDEKAFsiCgpwXC8FX1NCX1BDSV9J
U0FfRUNfX1NNUkFhChBicAofXC8DX1NCX0JBVDFfU1RBfQoBYGChLKAqk1wvA19TQl9CQVQx
X1NUQQofcAoPXC8DX1NCX0JBVDFfU1RBfQoBYGCgQQt7XC8FX1NCX1BDSV9JU0FfRUNfX0JU
U1QKAQqAAKBBCZNcLwNfU0JfQkFUMl9TVEEKD3BcLwVfU0JfUENJX0lTQV9FQ19fR0g4QWFw
XC8FX1NCX1BDSV9JU0FfRUNfX1NNUkFhChFijGIKIEJTVDKiKJNCU1QyCgBbIgoKcFwvBV9T
Ql9QQ0lfSVNBX0VDX19TTVJBYQoRYnAKH1wvA19TQl9CQVQyX1NUQX0KAmBgoSygKpNcLwNf
U0JfQkFUMl9TVEEKH3AKD1wvA19TQl9CQVQyX1NUQX0KAmBgoB+TYAoAhlwuX1NCX0JBVDEK
gIZcLl9TQl9CQVQyCoChKaATe2AKAQCGXC5fU0JfQkFUMQoAoBN7YAoCAIZcLl9TQl9CQVQy
CgAUE19RMjQAhlwuX1NCX0JBVDEKgBQTX1EyNQCGXC5fU0JfQkFUMgqAFCxfUTI2AHABXC8F
X1NCX1BDSV9JU0FfUE1HQUJSRU6GXC5fU0JfQUNfXwqAFCxfUTI3AHAAXC8FX1NCX1BDSV9J
U0FfUE1HQUJSRU6GXC5fU0JfQUNfXwqAFBNfUTJBAIZcLl9TQl9MSURfCoAUE19RMkIAhlwu
X1NCX0xJRF8KgBQSX1EzMABcLl9TQl9QSFNfCowUEl9RMzEAXC5fU0JfUEhTXwqNFBJfUTMy
AFwuX1NCX1BIU18KjhRFBl9RMzcAoE0FklwvBV9TQl9QQ0lfSVNBX1BNR0FET0tToEIEk1wv
BV9TQl9QQ0lfSVNBX1NMQ0VfU1RBCg9cLwRfU0JfUENJX09BS19TRENLAYZcLwNfU0JfUENJ
X09BS18KABQTX1EzOQCGXC5fU0JfU0xQQgoCFE0MX1EzRQCgJ1wvBF9TQl9QQ0lfQ1JEMFBN
RVNcLwRfU0JfUENJX0NSRDBfUFMwoCdcLwRfU0JfUENJX0NSRDFQTUVTXC8EX1NCX1BDSV9D
UkQxX1BTMKBFB1wvBF9TQl9QQ0lfT0FLX19TVEGgL1wvBV9TQl9QQ0lfT0FLX0NSRDBQTUVT
XC8FX1NCX1BDSV9PQUtfQ1JEMF9QUzCgL1wvBV9TQl9QQ0lfT0FLX0NSRDFQTUVTXC8FX1NC
X1BDSV9PQUtfQ1JEMV9QUzAUJV9RNDAAhlwuX1RaX1RITTAKgFsiCxAnhlwuX1RaX1RITTAK
gRQYX1E1MACGXC8DX1NCX1BDSV9PQUtfCgEURwRfUTUxAKA/k1wvBV9TQl9QQ0lfSVNBX1BN
R0FCQVlQAFwvA19TQl9IS0VZTUhLRoZcLwRfU0JfUENJX0lTQV9TTENFCgEUP19RNTIAXC8F
X1NCX1BDSV9JU0FfU0xDRVNTTEMAXC8EX1NCX1BDSV9PQUtfU0RDSwGGXC5fU0JfUENJXwoB
FAtfUTUzAHAKU1sxWwFTTU1CABRKB1NNUkECWyNTTU1C//8ISU5WQhEkCiH/////////////
/////////////////////////////wBwU01CUAoLaGlgoAhgcElOVkJgoSVwCgBhohmVYQoh
UFVUQklOVkJhRUNSRHIKVGEAdWFwSU5WQmBbJ1NNTUKkYBRDBVNNQlALcAoBYKJFBGBFQ1dS
ClNqRUNXUgpSaUVDV1IKUGiiC0VDUkQKUFsiCgKiEJJ7RUNSRApRCr9hWyIKAnthCh9hoAqS
k2EKEXAKAGCkYRQTUFVUQgOMaGlUSURYcGpUSURYFBJHRVRCAoxoaVRJRFikVElEWBQQR0g4
QQBwRUNSRAoPYKRgFBZBQ1NUAHt6RUNSRAo2CgQACgFgpGAUE0JUU1QBcEVDUkRyaAo4AGCk
YBQrU0IxSQGgEmhFQ1dSCjp7RUNSRAo6Cn8AoRFFQ1dSCjp9RUNSRAo6CoAAFEYGQkVFUAJw
RUNSRAoHYEVDV1IKB2l5CgFoYaAOkpRoCgdwRUNSRAoEYqEOemEKCGFwRUNSRAoFYqAle2Jh
AEVDV1IKBmiiDJJ7RUNSRAo0CgIAogt7RUNSRAo0CgIARUNXUgoHYBQSR0ZBTgB7RUNSRAov
CgdgpGAUGVNGQU4BRUNXUgovfXtFQ1JECi8K+ABoABRHBFNMRUQCcEVDUkQKDWB7YIBoAGCg
CntpCgIAfWBoYEVDV1IKDWBwRUNSRAoMYHtggGgAYKAKe2kKAQB9YGhgRUNXUgoMYBQxR0xF
RAFwAGBwRUNSRAoMYaAde2FoAH1gCgFgcEVDUkQKDWGgCnthaAB9YAoCYKRgFBZHTElEAHt6
RUNSRAo2CgIACgFgpGAUEkdTU1QAekVDUkQKNwoHYKRgFCpHRElEAEVDV1IKKAqAog97RUNS
RAooCoAAWyEKAXtFQ1JECigKf2CkYBQmU0lTTQGgBmhwCgNgoQVwCgBgRUNXUgo7fXtFQ1JE
CjsK/ABgABQQR1dFUwBwRUNSRApOYKRgFBJHVEhaAHtFQ1JECiAKg2CkYFuCTUZTTENFCF9I
SUQMQdAMFQhfVUlECgQUQgRfU1RBAKA3XC8FX1NCX1BDSV9JU0FfRUNfX0dTU1SgHpNcLwVf
U0JfUENJX0lTQV9QTUdBQkFZUAoApAoPpAoAFEkJX0RDSwGgTgdcLwRfU0JfUENJX09BS19f
U1RBcABcLwVfU0JfUENJX0lTQV9QTUdBTE9LRaAbaHAAXC8FX1NCX1BDSV9JU0FfUE1HQURP
S0OhM3ABXC8FX1NCX1BDSV9JU0FfUE1HQURPS0NwAVwvBV9TQl9QQ0lfSVNBX0VDX19CRUpQ
oAloU1NMQwCkAaEIU1NMQwGkABRLCV9FSjABoEEIXC8FX1NCX1BDSV9JU0FfRUNfX0JFSlBw
AVwvBV9TQl9QQ0lfSVNBX1BNR0FVRE9DohxcLwVfU0JfUENJX0lTQV9QTUdBRE9LU1siCgFw
AFwvBV9TQl9QQ0lfSVNBX1BNR0FVRE9DcABcLwVfU0JfUENJX0lTQV9FQ19fQkVKUFwvA19T
Ql9IS0VZTUhLUQsDQBRMI1NTTEMBoE4QaHABXC8EX1NCX1BDSV9JU0FfU0lERaA2e1wvBV9T
Ql9QQ0lfSVNBX0VDX19CVFNUCgEKgABcLwVfU0JfUENJX0lTQV9FQ19fU0IxSQCgTQWTXC8G
X1NCX1BDSV9JU0FfU0lPX0ZEQ19fU1RBCg99e1wvBl9TQl9QQ0lfSVNBX1NJT19GRENfVERS
XwrzAAoEXC8GX1NCX1BDSV9JU0FfU0lPX0ZEQ19URFJfXC8FX1NCX1BDSV9JU0FfUE1HQVNC
QVkKAHABXC8EX1NCX1BDSV9QV1JfR08yN1wvBV9TQl9QQ0lfSVNBX0VDX19TSVNNAFwvBV9T
Ql9QQ0lfSVNBX0VDX19TTEVEChAKAKFFElwvBV9TQl9QQ0lfSVNBX1BNR0FTQkFZCgFwAFwv
BF9TQl9QQ0lfSVNBX1NJREWgNntcLwVfU0JfUENJX0lTQV9FQ19fQlRTVAoBCoAAXC8FX1NC
X1BDSV9JU0FfRUNfX1NCMUkBoEAHklwvBF9TQl9QQ0lfUFdSX0dJMTOgSQWTXC8GX1NCX1BD
SV9JU0FfU0lPX0ZEQ19fU1RBCg97XC8GX1NCX1BDSV9JU0FfU0lPX0ZEQ19URFJfCvNcLwZf
U0JfUENJX0lTQV9TSU9fRkRDX1REUl9cLwVfU0JfUENJX0lTQV9FQ19fU0lTTQFwAFwvBF9T
Ql9QQ0lfUFdSX0dPMjdcLwVfU0JfUENJX0lTQV9FQ19fU0xFRAoQCgFbIgvoAxRPCV9JTkkA
oEcJXC8FX1NCX1BDSV9JU0FfRUNfX0dTU1SgTQeTXC8FX1NCX1BDSV9JU0FfUE1HQUJBWVAK
AVwvBV9TQl9QQ0lfSVNBX1BNR0FTQkFZCgFcLwVfU0JfUENJX0lTQV9FQ19fU0lTTQFwAFwv
BF9TQl9QQ0lfUFdSX0dPMjdcLwVfU0JfUENJX0lTQV9FQ19fU0xFRAoQCgFbgkIUTUJSRAhf
SElEDEHQDAIIX1VJRAoBCFJTUkMRTgoKqkcBEAAQAAEQRwEkACQAAQJHASgAKAABAkcBLAAs
AAECRwEuAC4AAQJHATgAOAABAkcBPAA8AAECRwFQAFAAAQRHAXIAcgABBkcBgACAAAEBRwGQ
AJAAARBHAaQApAABAkcBqACoAAECRwGsAKwAAQJHAbAAsAABBkcBuAC4AAECRwG8ALwAAQJH
AQABAAEBQEcBQAFAAQEQRwHqFeoVAQZHAQD+AP4BEHkAFEYHX0NSUwCLUlNSQwqKUE1NTotS
U1JDCoxQTU1Ye15eXi5QV1JfUE1CQQz+////UE1NTnBQTU1OUE1NWItSU1JDCpJTTU1Oi1JT
UkMKlFNNTVh7Xl5eLlBXUl9TQkJBDP7///9TTU1OcFNNTU5TTU1YpFJTUkNbgjxST01fCF9I
SUQMQdAMAghfVUlECgIIX0NSUxEgCh2HGAAADAMAAAAAAAAMAP//DAAAAAAAAAABAAB5ABQd
X0lOSQBcLwVfU0JfUENJX0lTQV9TTENFX0lOSVuCQSdJREVfCF9BRFIMAQAGAAhfUFNDCgBb
gFBDSUMCCgALAAFbgSBQQ0lDAwAgSU9TRQEARx4AB1BJREUBAAgAB1NJREUBW4EnUENJQwMA
IFIwNF8gAEAMUjIwXyAAQA5SNDBfIFI0NF8gUjQ4XyAIUENNRAoACEJNSUIKAAhJREVUCgAI
U0lEVAoACFVETUEKAAhDUlNGCgAUQwRfSU5JAHAAQ1JTRnABXC8EX1NCX1BDSV9JREVfU0lE
RXAAXC8EX1NCX1BDSV9JU0FfU0lERVwuX1NCX1BIU18KiBROBV9QUzAAoEoEk19QU0MKA6AZ
k0lPU0UAcFBDTURSMDRfcEJNSUJSMjBfcElERVRSNDBfcFNJRFRSNDRfcFVETUFSNDhfXC5f
U0JfUEhTXwqJcABDUlNGcABfUFNDFEEFX1BTMwCgQgSQk19QU0MAk0NSU0YAcFIwNF9QQ01E
cFIyMF9CTUlCcFI0MF9JREVUcFI0NF9TSURUcFI0OF9VRE1BcAFDUlNGcAoDX1BTQ1uCPVBS
SU0IX0FEUgoAFBRfU1RBAKAIUElERaQKD6EEpAoNW4IMTUFTVAhfQURSCgBbggxTTEFWCF9B
RFIKAVuCQwpTRUNOCF9BRFIKARQUX1NUQQCgCFNJREWkCg+hBKQKDVuCQQdNQVNUCF9BRFIK
AAhfRUpEDV9TQl8uUENJXy5JU0FfLlNMQ0UAFEkEX1NUQQCgPpNcLwVfU0JfUENJX0lTQV9T
TENFX1NUQQoPcFwvBV9TQl9QQ0lfSVNBX0VDX19HRElEYKAJkpNgCg+kCg+kCgBbggxTTEFW
CF9BRFIKAVuCG1VTQl8IX0FEUgwCAAYACF9QUlcSBgIKCAoBW4JBE1BXUl8IX0FEUgwDAAYA
W4BQTUNfAQwAEAAADDgAAABbgS1QTUNfAwBACAAEVEhURQEASwsAAlRQT0wBAEUEAAVHSTEz
AQAqAANHTzI3AVuAU01CXwEMQBAAAAwMAAAAW4EpU01CXwFIU1RTCExWVFMIQ1RMUghDTURS
CEFERFIIREFUMAhEQVQxCFuAUENJXwIKQApgW4EwUENJXwNQTUJBIABABwACTFBUTQEARQYA
B0xQVEUBABgAAUxQVEECAEUWU0JCQSBbAVNNTUIAFEAGUkUyUgFbI1NNTUL//3BoQ01EUnAK
CENUTFJwCgBEQVQwcAqjQUREUnAKSENUTFKiDpJ7SFNUUwoGYFshCgFwSFNUU0hTVFNbJ1NN
TUKgCXtgCgQApAr/oQakREFUMFuCG01PRE0IX0FEUgwAAAcACF9QUlcSBgIKCwoEW4JNFEhL
RVkIX0hJRAwkTQBoCF9TVEEKDwhESEtDCgAIREhLQgoBCERIS0YKAFsBWERISwAIREhLVwoA
CERIS0QKABQMTUhLQwFwaERIS0MUP01IS1AAWyNYREhL//9wAGGgEURIS1dwREhLV2FwAERI
S1ehE6ARREhLRHBESEtEYXAAREhLRFsnWERIS6RhFDVNSEtFAVsjWERIS///cGhESEtCoBqT
REhLQgoAcABESEtXcABESEtEcABESEtGWydYREhLFE4FTUhLUQFbI1hESEv//6BIBERIS0Kg
QQRESEtDoB+QkpVoCwAglWgLADCgEURIS0ZwAERIS0ZwaERIS1egE5CSlWgLAECVaAsAUHBo
REhLRIZIS0VZCoBbJ1hESEsUKU1IS0YAWyNYREhL//+gFJNESEtCCgCgC0RIS0NwAURIS0Zb
J1hESEsIU1NMVgoACERPS1MKAAhTU1NUCg8UTBZfV0FLAXAKAFxTU0xWcABgXC5fU0JfUEhT
MgqPfWgKgACgMVwvBV9TQl9QQ0lfSVNBX0VDX19BQ1NUcAFcLwVfU0JfUENJX0lTQV9QTUdB
QlJFTqEacABcLwVfU0JfUENJX0lTQV9QTUdBQlJFTqA7XC8FX1NCX1BDSV9JU0FfRUNfX0dT
U1SgIpJcU1NTVFwvBV9TQl9QQ0lfSVNBX1NMQ0VTU0xDAHABYKAekpNcLwRfU0JfUENJX09B
S19fU1RBXERPS1NwAWBcLwRfU0JfUENJX09BS19TRENLAaAPYIZcLl9TQl9QQ0lfCgGgPJNo
CgRwAVwvBF9TQl9QQ0lfSURFX1NJREVwAFwvBF9TQl9QQ0lfSVNBX1NJREWGXC5fU0JfU0xQ
QgoCoDeRk2gKAZNoCgNcLwNfU0JfSEtFWU1IS0UKAVwvA19TQl9IS0VZTUhLUX15fWgKIAAK
CAAKBACkEgYCCgAKABRJGl9QVFMBcGhcU1NMVqBPDpNcLwRfU0JfUENJX0lERV9DUlNGAHBc
LwRfU0JfUENJX0lERV9SMDRfXC8EX1NCX1BDSV9JREVfUENNRHBcLwRfU0JfUENJX0lERV9S
MjBfXC8EX1NCX1BDSV9JREVfQk1JQnBcLwRfU0JfUENJX0lERV9SNDBfXC8EX1NCX1BDSV9J
REVfSURFVHBcLwRfU0JfUENJX0lERV9SNDRfXC8EX1NCX1BDSV9JREVfU0lEVHBcLwRfU0Jf
UENJX0lERV9SNDhfXC8EX1NCX1BDSV9JREVfVURNQXABXC8EX1NCX1BDSV9JREVfQ1JTRqBB
CJCSlWgKAZKUaAoEcFwvBF9TQl9QQ0lfT0FLX19TVEFcRE9LU3CSXC8FX1NCX1BDSV9JU0Ff
UE1HQUJBWVBcU1NTVFwvBV9TQl9QQ0lfSVNBX0VDX19TTEVECoAKA6AhkpVoCgNcLwVfU0Jf
UENJX0lTQV9FQ19fU0xFRAoBCgCgG5GTaAoBk2gKA1wvA19TQl9IS0VZTUhLRQoAXC5fU0Jf
UEhTMgqPaA==

--tThc/1wpZn/ma/RB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="TP570E.asl"
Content-Transfer-Encoding: quoted-printable

/*
RSD PTR: Checksum=3D192, OEMID=3DPTLTD, RsdtAddress=3D0x0bffa9c6
 */
/*
RSDT: Length=3D44, Revision=3D1, Checksum=3D207,
	OEMID=3DPTLTD, OEM Table ID=3D  RSDT, OEM Revision=3D0x6040000,
	Creator ID=3D LTP, Creator Revision=3D0x0
 */
/*
	Entries=3D{ 0x0bfffb65, 0x0bfffbd9 }
 */
/*
	DSDT=3D0xbffa9f2
	INT_MODEL=3DPIC
	SCI_INT=3D9
	SMI_CMD=3D0xb2, ACPI_ENABLE=3D0xf0, ACPI_DISABLE=3D0xf1, S4BIOS_REQ=3D0xf2
	PM1a_EVT_BLK=3D0x1000-0x1003
	PM1a_CNT_BLK=3D0x1004-0x1005
	PM2_CNT_BLK=3D0x22-0x22
	PM2_TMR_BLK=3D0x1008-0x100b
	PM2_GPE0_BLK=3D0x100c-0x100f
	P_LVL2_LAT=3D10ms, P_LVL3_LAT=3D20ms
	FLUSH_SIZE=3D0, FLUSH_STRIDE=3D0
	DUTY_OFFSET=3D1, DUTY_WIDTH=3D3
	DAY_ALRM=3D13, MON_ALRM=3D0, CENTURY=3D50
	Flags=3D{WBINVD,SLP_BUTTON,RTC_S4,DCK_CAP}
 */
/*
DSDT: Length=3D20851, Revision=3D1, Checksum=3D178,
	OEMID=3DIBM, OEM Table ID=3DVIPER, OEM Revision=3D0x6040000,
	Creator ID=3DMSFT, Creator Revision=3D0x1000004
 */
DefinitionBlock (
    "acpi_dsdt.aml",	//Output filename
    "DSDT",		//Signature
    0x1,		//DSDT Revision
    "IBM",		//OEMID
    "VIPER",		//TABLE ID
    0x6040000		//OEM Revision
)

{
Name(_S0_, Package(0x2) {
    0x5,
    0x5,
})
Name(_S1_, Package(0x2) {
    0x4,
    0x4,
})
Name(_S3_, Package(0x2) {
    0x1,
    0x1,
})
Name(_S4_, Package(0x2) {
    0x0,
    0x0,
})
Name(_S5_, Package(0x2) {
    0x0,
    0x0,
})
Scope(_PR_) {
    Processor(CPU_, 0, 0x1010, 0x6) {
    }
}
Scope(_SI_) {
    Method(_SST, 1) {
        If(LEqual(Arg0, 0x0)) {
            If(LEqual(\SSLV, 0x0)) {
                \_SB_.PCI_.ISA_.EC__.SLED(0x80, 0x0)
                \_SB_.PCI_.ISA_.EC__.SLED(0x1, 0x0)
            }
            \_SB_.PCI_.ISA_.EC__.BEEP(0x7, 0x0)
        }
        If(LEqual(Arg0, 0x1)) {
            \_SB_.PCI_.ISA_.EC__.SLED(0x80, 0x0)
            \_SB_.PCI_.ISA_.EC__.SLED(0x1, 0x1)
            If(LNot(LEqual(\SSLV, 0x0))) {
                \_SB_.PCI_.ISA_.EC__.BEEP(0x5, 0x0)
            }
        }
        If(LEqual(Arg0, 0x3)) {
            If(LOr(LEqual(\SSLV, 0x3), LEqual(\SSLV, 0x0))) {
                \_SB_.PCI_.ISA_.EC__.SLED(0x1, 0x0)
            }
            \_SB_.PCI_.ISA_.EC__.SLED(0x80, 0x1)
            \_SB_.PCI_.ISA_.EC__.BEEP(0x3, 0x0)
        }
        If(LEqual(Arg0, 0x4)) {
            If(LOr(LEqual(\SSLV, 0x3), LEqual(\SSLV, 0x0))) {
                \_SB_.PCI_.ISA_.EC__.SLED(0x1, 0x0)
            }
            \_SB_.PCI_.ISA_.EC__.SLED(0x80, 0x0)
            \_SB_.PCI_.ISA_.EC__.BEEP(0x3, 0x0)
        }
    }
}
Scope(_TZ_) {
    ThermalZone(THM0) {
        Name(_TC1, 0x1)
        Name(_TC2, 0x3)
        Name(_TSP, 0x012c)
        Method(_CRT) {
            Return(CRTL)
        }
        Method(_PSV) {
            If(\_SB_.PCI_.PWR_.THTE) {
                Return(PSVL)
            }
            Else {
                Return(PSVH)
            }
        }
        Method(_AC0) {
            If(And(\_SB_.PCI_.ISA_.EC__.GFAN(), 0x7, )) {
                Return(AC0L)
            }
            Else {
                Return(AC0H)
            }
        }
        Method(_TMP) {
            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local0)
            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local0, 0x4), Local0)
            CreateWordField(Local0, 0x0, TMP0)
            Store(TMP0, Local0)
            Store(\_SB_.PCI_.ISA_.EC__.GTHZ(), Local1)
            If(LEqual(Local1, 0x0)) {
                If(LNot(LLess(Local0, AC0L))) {
                    Store(AC0L, Local0)
                    Subtract(Local0, 0x5, )
                }
            }
            If(And(Local1, 0x1, )) {
                If(LNot(LGreater(Local0, AC0L))) {
                    Store(AC0H, Local0)
                    Add(Local0, 0x5, )
                }
            }
            If(And(Local1, 0x2, )) {
                If(LNot(LGreater(Local0, PSVL))) {
                    Store(PSVH, Local0)
                    Add(Local0, 0x5, )
                }
            }
            Return(Local0)
        }
        Method(_SCP, 1) {
            Notify(\_TZ_.THM0, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FAN_,
        })
        Name(_PSL, Package(0x1) {
            \_PR_.CPU_,
        })
        Name(CRTL, 0x0e94)
        Name(PSVH, 0x0e30)
        Name(PSVL, 0x0e30)
        Name(AC0H, 0x0d5e)
        Name(AC0L, 0x0d36)
    }
    PowerResource(FANP, 0, 0) {
        Method(_STA) {
            If(And(\_SB_.PCI_.ISA_.EC__.GFAN(), 0x7, )) {
                Return(0x1)
            }
            Else {
                Return(0x0)
            }
        }
        Method(_ON_) {
            \_SB_.PCI_.ISA_.EC__.SFAN(0x7)
        }
        Method(_OFF) {
            \_SB_.PCI_.ISA_.EC__.SFAN(0x0)
        }
    }
    Device(FAN_) {
        Name(_HID, 0x0b0cd041)
        Name(_PR0, Package(0x1) {
            FANP,
        })
    }
}
Scope(_GPE) {
    Method(_L00) {
        Not(\_SB_.PCI_.PWR_.TPOL, \_SB_.PCI_.PWR_.TPOL)
    }
    Method(_L08) {
        Notify(\_SB_.PCI_.USB_, 0x2)
    }
    Method(_L09) {
        Store(\_SB_.PCI_.ISA_.EC__.ECQE(), Local0)
        While(Local0) {
            If(LEqual(Local0, 0x11)) {
                \_SB_.PCI_.ISA_.EC__._Q11()
            }
            If(LEqual(Local0, 0x13)) {
                \_SB_.PCI_.ISA_.EC__._Q13()
            }
            If(LEqual(Local0, 0x16)) {
                \_SB_.PCI_.ISA_.EC__._Q16()
            }
            If(LEqual(Local0, 0x17)) {
                \_SB_.PCI_.ISA_.EC__._Q17()
            }
            If(LEqual(Local0, 0x1b)) {
                \_SB_.PCI_.ISA_.EC__._Q1B()
            }
            If(LEqual(Local0, 0x1c)) {
                \_SB_.PCI_.ISA_.EC__._Q1C()
            }
            If(LEqual(Local0, 0x1d)) {
                \_SB_.PCI_.ISA_.EC__._Q1D()
            }
            If(LEqual(Local0, 0x1e)) {
                \_SB_.PCI_.ISA_.EC__._Q1E()
            }
            If(LEqual(Local0, 0x20)) {
                \_SB_.PCI_.ISA_.EC__._Q20()
            }
            If(LEqual(Local0, 0x21)) {
                \_SB_.PCI_.ISA_.EC__._Q21()
            }
            If(LEqual(Local0, 0x22)) {
                \_SB_.PCI_.ISA_.EC__._Q22()
            }
            If(LEqual(Local0, 0x23)) {
                \_SB_.PCI_.ISA_.EC__._Q23()
            }
            If(LEqual(Local0, 0x24)) {
                \_SB_.PCI_.ISA_.EC__._Q24()
            }
            If(LEqual(Local0, 0x25)) {
                \_SB_.PCI_.ISA_.EC__._Q25()
            }
            If(LEqual(Local0, 0x26)) {
                \_SB_.PCI_.ISA_.EC__._Q26()
            }
            If(LEqual(Local0, 0x27)) {
                \_SB_.PCI_.ISA_.EC__._Q27()
            }
            If(LEqual(Local0, 0x2a)) {
                \_SB_.PCI_.ISA_.EC__._Q2A()
            }
            If(LEqual(Local0, 0x2b)) {
                \_SB_.PCI_.ISA_.EC__._Q2B()
            }
            If(LEqual(Local0, 0x30)) {
                \_SB_.PCI_.ISA_.EC__._Q30()
            }
            If(LEqual(Local0, 0x31)) {
                \_SB_.PCI_.ISA_.EC__._Q31()
            }
            If(LEqual(Local0, 0x32)) {
                \_SB_.PCI_.ISA_.EC__._Q32()
            }
            If(LEqual(Local0, 0x37)) {
                \_SB_.PCI_.ISA_.EC__._Q37()
            }
            If(LEqual(Local0, 0x39)) {
                \_SB_.PCI_.ISA_.EC__._Q39()
            }
            If(LEqual(Local0, 0x3e)) {
                \_SB_.PCI_.ISA_.EC__._Q3E()
            }
            If(LEqual(Local0, 0x40)) {
                \_SB_.PCI_.ISA_.EC__._Q40()
            }
            If(LEqual(Local0, 0x50)) {
                \_SB_.PCI_.ISA_.EC__._Q50()
            }
            If(LEqual(Local0, 0x51)) {
                \_SB_.PCI_.ISA_.EC__._Q51()
            }
            If(LEqual(Local0, 0x52)) {
                \_SB_.PCI_.ISA_.EC__._Q52()
            }
            If(LEqual(Local0, 0x53)) {
                \_SB_.PCI_.ISA_.EC__._Q53()
            }
            Store(\_SB_.PCI_.ISA_.EC__.ECQE(), Local0)
        }
    }
    Method(_L0B) {
        Store(\_SB_.PCI_.ISA_.EC__.GWES(), Local0)
        If(And(Local0, 0x1, )) {
            Notify(\_SB_.PCI_, 0x2)
            \_SB_.PCI_.ISA_.EC__.GWES()
        }
        If(And(Local0, 0x2, )) {
            Notify(\_SB_.LID_, 0x80)
        }
        If(And(Local0, 0x4, )) {
            Notify(\_SB_.SLPB, 0x2)
        }
        If(And(Local0, 0x8, )) {
            Notify(\_SB_.PCI_.MODM, 0x2)
        }
        If(And(Local0, 0x10, )) {
            Notify(\_SB_.SLPB, 0x2)
            \_SB_.PCI_.ISA_.EC__._Q50()
        }
        If(And(Local0, 0x20, )) {
            Notify(\_SB_.SLPB, 0x2)
            \_SB_.PCI_.ISA_.EC__._Q51()
        }
    }
}
Scope(_SB_) {
    OperationRegion(PHSD, SystemMemory, 0x0bfffebc, 0x00000100)
    Field(PHSD, AnyAcc, NoLock, Preserve) {
        BCMD,	8,
        DID_,	32,
        INFO,	2000
    }
    Field(PHSD, AnyAcc, NoLock, Preserve) {
        Offset(0x5),
        INF_,	8
    }
    Field(PHSD, AnyAcc, NoLock, Preserve) {
        Offset(0x5),
        INF2,	1024
    }
    OperationRegion(PHSI, SystemIO, 0x0000fe00, 0x00000002)
    Field(PHSI, AnyAcc, NoLock, Preserve) {
        SMIC,	8
    }
    Mutex(MPHS, 0)
    Method(PSCS, 1, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(Zero, INFO)
        Store(0x0, BCMD)
        Store(Arg0, DID_)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Store(INFO, Local0)
        Release(MPHS)
        Return(Local0)
    }
    Method(PSSS, 2, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(0x1, BCMD)
        Store(Arg0, DID_)
        Store(Arg1, INFO)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Release(MPHS)
    }
    Method(PSPS, 1, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(0x0, INFO)
        Store(0x2, BCMD)
        Store(Arg0, DID_)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Store(INFO, Local0)
        Release(MPHS)
        Return(Local0)
    }
    Method(PSDI, 1, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(0x3, BCMD)
        Store(Arg0, DID_)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Release(MPHS)
    }
    Method(PSST, 1, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(0x0, INF_)
        Store(0x4, BCMD)
        Store(Arg0, DID_)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Store(INF_, Local0)
        Release(MPHS)
        Return(Local0)
    }
    Method(PHS_, 1, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(Arg0, BCMD)
        Store(Zero, DID_)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Store(INF_, Local0)
        Release(MPHS)
        Return(Local0)
    }
    Method(PHS2, 2, Serialized) {
        Acquire(MPHS, 0xffff)
        Store(Arg0, BCMD)
        Store(Arg1, INF_)
        Store(Zero, DID_)
        Store(Zero, SMIC)
        While(Not(DID_, )) {
            Sleep(0x2)
        }
        Store(Zero, BCMD)
        Store(Zero, DID_)
        Store(INF2, Local0)
        Release(MPHS)
        Return(Local0)
    }
    Device(AC__) {
        Name(_HID, "ACPI0003")
        Name(_STA, 0xf)
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
        Method(_PSR) {
            Return(\_SB_.PCI_.ISA_.EC__.ACST())
        }
    }
    Device(BAT1) {
        Name(_HID, 0x0a0cd041)
        Name(_UID, 0x1)
        Name(BIFB, Package(0xd) {
            0x0,
            0xffffffff,
            0xffffffff,
            0x1,
            0x2a30,
            0x0,
            0x0,
            0x0,
            0x1,
            "",
            "",
            "",
            "",
        })
        Name(BSTB, Package(0x4) {
            0x0,
            0xffffffff,
            0xffffffff,
            0xffffffff,
        })
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
        Name(_STA, 0xf)
        Method(_BIF) {
            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local0)
            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local0, 0x10), Local0)
            CreateByteField(Local0, 0x0, PWUT)
            CreateDWordField(Local0, 0x4, DCAP)
            CreateDWordField(Local0, 0x8, FCAP)
            CreateWordField(Local0, 0x10, VOLT)
            If(LEqual(PWUT, 0xff)) {
                Store(0x0, Index(BIFB, 0x0, ))
                Store(0xffffffff, Index(BIFB, 0x1, ))
                Store(0xffffffff, Index(BIFB, 0x2, ))
                Store(0x0, Index(BIFB, 0x5, ))
                Store(0x0, Index(BIFB, 0x6, ))
            }
            Else {
                Store(PWUT, Index(BIFB, 0x0, ))
                Store(DCAP, Index(BIFB, 0x1, ))
                Store(FCAP, Index(BIFB, 0x2, ))
                Store(Divide(DCAP, 0xa, , ), Index(BIFB, 0x5, ))
                Store(Divide(DCAP, 0x14, , ), Index(BIFB, 0x6, ))
            }
            Store("LION", Index(BIFB, 0xb, ))
            Return(BIFB)
        }
        Method(_BST) {
            Store(Zero, Local0)
            If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x0), 0x40, )) {
                Or(0x1, Local0, Local0)
            }
            If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x0), 0x20, )) {
                Or(0x2, Local0, Local0)
            }
            If(LNot(LGreater(And(\_SB_.PCI_.ISA_.EC__.BTST(0x0), 0xf, ), 0x=
3))) {
                Or(0x4, Local0, Local0)
            }
            Store(Local0, Index(BSTB, 0x0, ))
            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local0)
            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local0, 0x10), Local0)
            CreateByteField(Local0, 0x0, PWUT)
            CreateDWordField(Local0, 0xc, CAPA)
            CreateWordField(Local0, 0x10, VOLT)
            CreateWordField(Local0, 0x12, CURR)
            And(CURR, 0xff00, Local1)
            If(LNot(LLess(Local1, 0x8000))) {
                Subtract(0x00010000, Local1, Local1)
            }
            If(LEqual(PWUT, 0x0)) {
                Store(Divide(Multiply(Local1, VOLT, ), 0x03e8, , ), Index(B=
STB, 0x1, ))
            }
            Else {
                If(LEqual(PWUT, 0x1)) {
                    Store(Local1, Index(BSTB, 0x1, ))
                }
                Else {
                    If(LEqual(PWUT, 0xff)) {
                        Store(0xffffffff, Index(BSTB, 0x1, ))
                    }
                }
            }
            Store(CAPA, Index(BSTB, 0x2, ))
            Store(VOLT, Index(BSTB, 0x3, ))
            Return(BSTB)
        }
        Method(_INI) {
            If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x0), 0x80, )) {
                Store(0x1f, \_SB_.BAT1._STA)
            }
        }
    }
    Device(BAT2) {
        Name(_HID, 0x0a0cd041)
        Name(_UID, 0x2)
        Name(BIFB, Package(0xd) {
            0x0,
            0xffffffff,
            0xffffffff,
            0x1,
            0x2a30,
            0x0,
            0x0,
            0x0,
            0x1,
            "",
            "",
            "",
            "",
        })
        Name(BSTB, Package(0x4) {
            0x0,
            0xffffffff,
            0xffffffff,
            0xffffffff,
        })
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
        Name(_STA, 0xf)
        Method(_BIF) {
            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local0)
            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local0, 0x11), Local0)
            CreateByteField(Local0, 0x0, PWUT)
            CreateDWordField(Local0, 0x4, DCAP)
            CreateDWordField(Local0, 0x8, FCAP)
            CreateWordField(Local0, 0x10, VOLT)
            If(LEqual(PWUT, 0xff)) {
                Store(0x0, Index(BIFB, 0x0, ))
                Store(0xffffffff, Index(BIFB, 0x1, ))
                Store(0xffffffff, Index(BIFB, 0x2, ))
                Store(0x0, Index(BIFB, 0x5, ))
                Store(0x0, Index(BIFB, 0x6, ))
            }
            Else {
                Store(PWUT, Index(BIFB, 0x0, ))
                Store(DCAP, Index(BIFB, 0x1, ))
                Store(FCAP, Index(BIFB, 0x2, ))
                Store(Divide(DCAP, 0xa, , ), Index(BIFB, 0x5, ))
                Store(Divide(DCAP, 0x14, , ), Index(BIFB, 0x6, ))
            }
            Store("LION", Index(BIFB, 0xb, ))
            Return(BIFB)
        }
        Method(_BST) {
            Store(Zero, Local0)
            If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0x40, )) {
                Or(0x1, Local0, Local0)
            }
            If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0x20, )) {
                Or(0x2, Local0, Local0)
            }
            If(LNot(LGreater(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0xf, ), 0x=
3))) {
                Or(0x4, Local0, Local0)
            }
            Store(Local0, Index(BSTB, 0x0, ))
            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local0)
            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local0, 0x11), Local0)
            CreateByteField(Local0, 0x0, PWUT)
            CreateDWordField(Local0, 0xc, CAPA)
            CreateWordField(Local0, 0x10, VOLT)
            CreateWordField(Local0, 0x12, CURR)
            If(LNot(LLess(CURR, 0x8000))) {
                Store(Subtract(0x00010000, CURR, ), Local1)
            }
            Else {
                Store(CURR, Local1)
            }
            If(LEqual(PWUT, 0x0)) {
                Store(Divide(Multiply(Local1, VOLT, ), 0x03e8, , ), Index(B=
STB, 0x1, ))
            }
            Else {
                If(LEqual(PWUT, 0x1)) {
                    Store(Local1, Index(BSTB, 0x1, ))
                }
                Else {
                    If(LEqual(PWUT, 0xff)) {
                        Store(0xffffffff, Index(BSTB, 0x1, ))
                    }
                }
            }
            Store(CAPA, Index(BSTB, 0x2, ))
            Store(VOLT, Index(BSTB, 0x3, ))
            Return(BSTB)
        }
        Method(_INI) {
            If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0x80, )) {
                Store(0x1f, \_SB_.BAT2._STA)
            }
        }
    }
    Device(LID_) {
        Name(_HID, 0x0d0cd041)
        Name(_STA, 0xf)
        Name(_PRW, Package(0x2) {
            0xb,
            0x4,
        })
        Method(_LID) {
            Return(\_SB_.PCI_.ISA_.EC__.GLID())
        }
    }
    Device(SLPB) {
        Name(_HID, 0x0e0cd041)
        Name(_STA, 0xf)
        Name(_PRW, Package(0x2) {
            0xb,
            0x4,
        })
    }
    Device(PCI_) {
        Name(_HID, 0x030ad041)
        Name(_BBN, 0x0)
        Name(_ADR, 0x0)
        OperationRegion(REGS, PCI_Config, 0x40, 0xc0)
        Field(REGS, DWordAcc, NoLock, Preserve) {
            Offset(0x19),
            PAM0,	8,
            PAM1,	8,
            PAM2,	8,
            PAM3,	8,
            PAM4,	8,
            PAM5,	8,
            PAM6,	8,
            DRB0,	8,
            DRB1,	8,
            DRB2,	8,
            DRB3,	8,
            DRB4,	8,
            DRB5,	8,
            DRB6,	8,
            DRB7,	8,
            ,	6,
            HEN_,	2,
            Offset(0x33),
            T_EN,	1,
            T_SZ,	2,
            Offset(0x3a),
            CRST,	1
        }
        Name(RSRC, Buffer(0x01d2) {0x88, 0xe, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, =
0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc=
, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0=
, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, =
0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x=
87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff=
, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18,=
 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0=
xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0=
, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4=
0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x=
0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe,=
 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0=
x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xf=
f, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18=
, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, =
0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x=
0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0,=
 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x79, 0x0 })
        Method(_CRS, 0, Serialized) {
            Store(Zero, Local1)
            If(T_EN) {
                ShiftLeft(0x1, Add(T_SZ, 0x11, ), Local1)
            }
            CreateDWordField(RSRC, 0x0193, BTMN)
            CreateDWordField(RSRC, 0x0197, BTMX)
            CreateDWordField(RSRC, 0x019f, BTLN)
            Multiply(DRB7, 0x00800000, Local0)
            If(T_EN) {
                Subtract(Local0, Local1, Local2)
                Store(Local2, BTMN)
                Subtract(Add(Local0, 0x10000000, ), BTMN, BTLN)
            }
            Else {
                Store(Local0, BTMN)
                Subtract(0xffe00000, Local0, BTLN)
                Subtract(Add(BTMN, BTLN, ), 0x1, BTMX)
            }
            CreateDWordField(RSRC, 0x01ae, ATMN)
            CreateDWordField(RSRC, 0x01b2, ATMX)
            CreateDWordField(RSRC, 0x01ba, ATLN)
            If(T_EN) {
                Add(Add(BTMN, BTLN, ), Local1, ATMN)
                Subtract(0xffe00000, ATMN, ATLN)
                Subtract(Add(ATMN, ATLN, ), 0x1, ATMX)
            }
            Else {
                Store(Zero, ATLN)
            }
            CreateBitField(RSRC, 0x0250, C0RW)
            CreateDWordField(RSRC, 0x4f, C0MN)
            CreateDWordField(RSRC, 0x53, C0MX)
            CreateDWordField(RSRC, 0x5b, C0LN)
            Store(One, C0RW)
            If(LEqual(And(PAM1, 0x3, ), 0x1)) {
                Store(Zero, C0RW)
            }
            Store(Zero, C0LN)
            If(LNot(And(PAM1, 0x3, ))) {
                Store(0x4000, C0LN)
            }
            CreateBitField(RSRC, 0x0328, C4RW)
            CreateDWordField(RSRC, 0x6a, C4MN)
            CreateDWordField(RSRC, 0x6e, C4MX)
            CreateDWordField(RSRC, 0x76, C4LN)
            Store(One, C4RW)
            If(LEqual(And(PAM1, 0x30, ), 0x10)) {
                Store(Zero, C4RW)
            }
            Store(Zero, C4LN)
            If(LNot(And(PAM1, 0x30, ))) {
                Store(0x4000, C4LN)
            }
            CreateBitField(RSRC, 0x0400, C8RW)
            CreateDWordField(RSRC, 0x85, C8MN)
            CreateDWordField(RSRC, 0x89, C8MX)
            CreateDWordField(RSRC, 0x91, C8LN)
            Store(One, C8RW)
            If(LEqual(And(PAM2, 0x3, ), 0x1)) {
                Store(Zero, C8RW)
            }
            Store(Zero, C8LN)
            If(LNot(And(PAM2, 0x3, ))) {
                Store(0x4000, C8LN)
            }
            CreateBitField(RSRC, 0x04d8, CCRW)
            CreateDWordField(RSRC, 0xa0, CCMN)
            CreateDWordField(RSRC, 0xa4, CCMX)
            CreateDWordField(RSRC, 0xac, CCLN)
            Store(One, CCRW)
            If(LEqual(And(PAM2, 0x30, ), 0x10)) {
                Store(Zero, CCRW)
            }
            Store(Zero, CCLN)
            If(LNot(And(PAM2, 0x30, ))) {
                Store(0x4000, CCLN)
            }
            CreateBitField(RSRC, 0x05b0, D0RW)
            CreateDWordField(RSRC, 0xbb, D0MN)
            CreateDWordField(RSRC, 0xbf, D0MX)
            CreateDWordField(RSRC, 0xc7, D0LN)
            Store(One, D0RW)
            If(LEqual(And(PAM3, 0x3, ), 0x1)) {
                Store(Zero, D0RW)
            }
            Store(Zero, D0LN)
            If(LNot(And(PAM3, 0x3, ))) {
                Store(0x4000, D0LN)
            }
            CreateBitField(RSRC, 0x0688, D4RW)
            CreateDWordField(RSRC, 0xd6, D4MN)
            CreateDWordField(RSRC, 0xda, D4MX)
            CreateDWordField(RSRC, 0xe2, D4LN)
            Store(One, D4RW)
            If(LEqual(And(PAM3, 0x30, ), 0x10)) {
                Store(Zero, D4RW)
            }
            Store(Zero, D4LN)
            If(LNot(And(PAM3, 0x30, ))) {
                Store(0x4000, D4LN)
            }
            CreateBitField(RSRC, 0x0760, D8RW)
            CreateDWordField(RSRC, 0xf1, D8MN)
            CreateDWordField(RSRC, 0xf5, D8MX)
            CreateDWordField(RSRC, 0xfd, D8LN)
            Store(One, D8RW)
            If(LEqual(And(PAM4, 0x3, ), 0x1)) {
                Store(Zero, D8RW)
            }
            Store(Zero, D8LN)
            If(LNot(And(PAM4, 0x3, ))) {
                Store(0x4000, D8LN)
            }
            CreateBitField(RSRC, 0x0838, DCRW)
            CreateDWordField(RSRC, 0x010c, DCMN)
            CreateDWordField(RSRC, 0x0110, DCMX)
            CreateDWordField(RSRC, 0x0118, DCLN)
            Store(One, DCRW)
            If(LEqual(And(PAM4, 0x30, ), 0x10)) {
                Store(Zero, DCRW)
            }
            Store(Zero, DCLN)
            If(LNot(And(PAM4, 0x30, ))) {
                Store(0x4000, DCLN)
            }
            CreateBitField(RSRC, 0x0910, E0RW)
            CreateDWordField(RSRC, 0x0127, E0MN)
            CreateDWordField(RSRC, 0x012b, E0MX)
            CreateDWordField(RSRC, 0x0133, E0LN)
            Store(One, E0RW)
            If(LEqual(And(PAM5, 0x3, ), 0x1)) {
                Store(Zero, E0RW)
            }
            Store(Zero, E0LN)
            If(LNot(And(PAM5, 0x3, ))) {
                Store(0x4000, E0LN)
            }
            CreateBitField(RSRC, 0x09e8, E4RW)
            CreateDWordField(RSRC, 0x0142, E4MN)
            CreateDWordField(RSRC, 0x0146, E4MX)
            CreateDWordField(RSRC, 0x014e, E4LN)
            Store(One, E4RW)
            If(LEqual(And(PAM5, 0x30, ), 0x10)) {
                Store(Zero, E4RW)
            }
            Store(Zero, E4LN)
            If(LNot(And(PAM5, 0x30, ))) {
                Store(0x4000, E4LN)
            }
            CreateBitField(RSRC, 0x0ac0, E8RW)
            CreateDWordField(RSRC, 0x015d, E8MN)
            CreateDWordField(RSRC, 0x0161, E8MX)
            CreateDWordField(RSRC, 0x0169, E8LN)
            Store(One, E8RW)
            If(LEqual(And(PAM6, 0x3, ), 0x1)) {
                Store(Zero, E8RW)
            }
            Store(Zero, E8LN)
            If(LNot(And(PAM6, 0x3, ))) {
                Store(0x4000, E8LN)
            }
            CreateBitField(RSRC, 0x0b98, ECRW)
            CreateDWordField(RSRC, 0x0178, ECMN)
            CreateDWordField(RSRC, 0x017c, ECMX)
            CreateDWordField(RSRC, 0x0184, ECLN)
            Store(One, ECRW)
            If(LEqual(And(PAM6, 0x30, ), 0x10)) {
                Store(Zero, ECRW)
            }
            Store(Zero, ECLN)
            If(LNot(And(PAM6, 0x30, ))) {
                Store(0x4000, ECLN)
            }
            Return(RSRC)
        }
        Name(_PRT, Package(0x8) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                \_SB_.PCI_.ISA_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                \_SB_.PCI_.ISA_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x0,
                \_SB_.PCI_.ISA_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x1,
                \_SB_.PCI_.ISA_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0005ffff,
                0x0,
                \_SB_.PCI_.ISA_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x3,
                \_SB_.PCI_.ISA_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x0,
                \_SB_.PCI_.ISA_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0007ffff,
                0x1,
                \_SB_.PCI_.ISA_.LNKD,
                0x0,
            },
        })
        Device(AGP_) {
            Name(_ADR, 0x00010000)
            Device(VGA_) {
                Name(_ADR, 0x0)
                Method(_INI) {
                    Store(And(\_SB_.PHS_(0x87), 0x3, ), \_SB_.PCI_.AGP_.VGA=
_.GDCS)
                    Store(And(\_SB_.PCI_.AGP_.VGA_.GDCS, 0x1, ), \_SB_.PCI_=
.AGP_.VGA_.LCD_._DCS)
                    Store(ShiftRight(And(\_SB_.PCI_.AGP_.VGA_.GDCS, 0x2, ),=
 0x1, ), \_SB_.PCI_.AGP_.VGA_.CRT_._DCS)
                }
                Method(_DOS, 1) {
                    Store(Arg0, SWIT)
                }
                Name(_DOD, Package(0x2) {
                    0x00010100,
                    0x00010110,
                })
                Method(SRVO, 1) {
                    If(And(\_SB_.PHS_(0x87), 0x30, )) {
                        If(Arg0) {
                            If(LNot(LEqual(DDGS, 0x0))) {
                                Store(And(DDGS, 0x1, ), \_SB_.PCI_.AGP_.VGA=
_.LCD_._DGS)
                                Store(ShiftRight(And(DDGS, 0x2, ), 0x1, ), =
\_SB_.PCI_.AGP_.VGA_.CRT_._DGS)
                                Notify(\_SB_.PCI_.AGP_.VGA_, 0x80)
                            }
                        }
                        Else {
                            Store(Or(ShiftLeft(\_SB_.PCI_.AGP_.VGA_.CRT_._D=
CS, 0x1, ), \_SB_.PCI_.AGP_.VGA_.LCD_._DCS, ), DDGS)
                            Store(One, \_SB_.PCI_.AGP_.VGA_.LCD_._DGS)
                            Store(Zero, \_SB_.PCI_.AGP_.VGA_.CRT_._DGS)
                            Notify(\_SB_.PCI_.AGP_.VGA_, 0x80)
                        }
                    }
                }
                Device(CRT_) {
                    Name(_ADR, 0x0100)
                    Name(_DCS, 0x1f)
                    Name(_DGS, 0x0)
                    Method(_DDC, 1) {
                        If(LEqual(Arg0, 0x1)) {
                            Return(\_SB_.PHS2(0x8a, 0x0))
                        }
                        If(LEqual(Arg0, 0x2)) {
                            Concatenate(\_SB_.PHS2(0x8a, 0x0), DDC0, Local0)
                            Return(Local0)
                        }
                    }
                    Method(_DSS, 1) {
                        Or(And(\_SB_.PCI_.AGP_.VGA_.GDGS, 0x1, ), ShiftLeft=
(And(Arg0, 0x1, ), 0x1, ), \_SB_.PCI_.AGP_.VGA_.GDGS)
                        If(And(Arg0, 0xc0000000, )) {
                            Store(GDGS, GDCS)
                            If(LEqual(And(Arg0, 0x40000000, ), 0x0)) {
                                \_SB_.PHS2(0x8b, Or(GDCS, 0x80, ))
                                Store(And(\_SB_.PHS_(0x87), 0x3, ), Local0)
                                If(LEqual(And(Local0, 0x1, ), 0x1)) {
                                    Store(0x1f, \_SB_.PCI_.AGP_.VGA_.LCD_._=
DCS)
                                }
                                Else {
                                    Store(0x1d, \_SB_.PCI_.AGP_.VGA_.LCD_._=
DCS)
                                }
                                If(LEqual(And(Local0, 0x2, ), 0x2)) {
                                    Store(0x1f, \_SB_.PCI_.AGP_.VGA_.CRT_._=
DCS)
                                }
                                Else {
                                    Store(0x1d, \_SB_.PCI_.AGP_.VGA_.CRT_._=
DCS)
                                }
                            }
                            Else {
                                \_SB_.PHS2(0x8b, GDCS)
                            }
                        }
                    }
                }
                Device(LCD_) {
                    Name(_ADR, 0x0110)
                    Name(_DCS, 0x1f)
                    Name(_DGS, 0x1)
                    Method(_DDC, 1) {
                        If(LEqual(Arg0, 0x1)) {
                            If(And(\_SB_.PHS_(0x87), 0x40, )) {
                                Return(DDC1)
                            }
                            Else {
                                Return(DDC2)
                            }
                        }
                        If(LEqual(Arg0, 0x2)) {
                            If(And(\_SB_.PHS_(0x87), 0x40, )) {
                                Concatenate(DDC1, DDC0, Local0)
                                Return(Local0)
                            }
                            Else {
                                Concatenate(DDC2, DDC0, Local0)
                                Return(Local0)
                            }
                        }
                        Return(0x0)
                    }
                    Method(_DSS, 1) {
                        Or(And(\_SB_.PCI_.AGP_.VGA_.GDGS, 0x2, ), And(Arg0,=
 0x1, ), \_SB_.PCI_.AGP_.VGA_.GDGS)
                        If(And(Arg0, 0xc0000000, )) {
                            Store(GDGS, GDCS)
                            If(LEqual(And(Arg0, 0x40000000, ), 0x0)) {
                                \_SB_.PHS2(0x8b, Or(GDCS, 0x80, ))
                                Store(And(\_SB_.PHS_(0x87), 0x3, ), Local0)
                                If(LEqual(And(Local0, 0x1, ), 0x1)) {
                                    Store(0x1f, \_SB_.PCI_.AGP_.VGA_.LCD_._=
DCS)
                                }
                                Else {
                                    Store(0x1d, \_SB_.PCI_.AGP_.VGA_.LCD_._=
DCS)
                                }
                                If(LEqual(And(Local0, 0x2, ), 0x2)) {
                                    Store(0x1f, \_SB_.PCI_.AGP_.VGA_.CRT_._=
DCS)
                                }
                                Else {
                                    Store(0x1d, \_SB_.PCI_.AGP_.VGA_.CRT_._=
DCS)
                                }
                            }
                            Else {
                                \_SB_.PHS2(0x8b, GDCS)
                            }
                        }
                    }
                }
                Name(SWIT, 0x1)
                Name(GDCS, 0x2)
                Name(GDGS, 0x2)
                Name(DDGS, 0x0)
                Name(DDC0, Buffer(0x80) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0 })
                Name(DDC1, Buffer(0x80) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff,=
 0xff, 0x0, 0x24, 0x4d, 0x55, 0xa, 0x1, 0x1, 0x1, 0x1, 0x23, 0x9, 0x1, 0x2,=
 0x80, 0x21, 0x18, 0x0, 0xea, 0xd, 0xfb, 0xa0, 0x57, 0x47, 0x98, 0x27, 0x12=
, 0x4d, 0x51, 0xa1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x19, 0x0, 0x40, 0x41, 0x0, 0x26, =
0x30, 0x18, 0x88, 0x36, 0x0, 0xe, 0xcb, 0x10, 0x0, 0x0, 0x1a, 0x0, 0x0, 0x0=
, 0xfc, 0x0, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x64, 0x20, 0x4c, 0x=
43, 0x44, 0x20, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x31, 0x30, 0x32, 0x34, 0x78, 0x3=
7, 0x36, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x33 })
                Name(DDC2, Buffer(0x80) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff,=
 0xff, 0x0, 0x24, 0x4d, 0x4b, 0xa, 0x1, 0x1, 0x1, 0x1, 0x23, 0x9, 0x1, 0x2,=
 0x80, 0x21, 0x18, 0x0, 0xea, 0xd, 0xfb, 0xa0, 0x57, 0x47, 0x98, 0x27, 0x12=
, 0x4d, 0x51, 0xa1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x90, 0x1, 0x20, 0x0, 0x31, 0x58, 0x1c, =
0x20, 0x28, 0x80, 0x1, 0x0, 0xf6, 0xb8, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x0, 0x0,=
 0xfc, 0x0, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x64, 0x20, 0x4c, 0x4=
3, 0x44, 0x20, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x38, 0x30, 0x30, 0x78, 0x36, 0x30=
, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa1 })
            }
        }
        Device(CRD0) {
            Name(_ADR, 0x00020000)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
            OperationRegion(PCIC, PCI_Config, 0x0, 0x0100)
            Field(PCIC, DWordAcc, NoLock, Preserve) {
                Offset(0x4),
                CMD_,	16,
                Offset(0x10),
                ADD0,	32,
                Offset(0x3c),
                INTL,	8,
                Offset(0x44),
                LADD,	32,
                Offset(0x80),
                PMRI,	1,
                Offset(0xa4),
                PWRS,	2,
                Offset(0xa5),
                ,	7,
                PMES,	1
            }
            Method(_INI) {
                Or(INTL, 0xff, INTL)
                And(LADD, 0xffff0000, LADD)
            }
            Method(_PS0) {
                Store(Zero, PWRS)
                Store(One, PMRI)
                Store(One, PMES)
            }
            Method(_PS3) {
                Store(Zero, PMRI)
            }
        }
        Device(CRD1) {
            Name(_ADR, 0x00020001)
            OperationRegion(PCIC, PCI_Config, 0x0, 0x0100)
            Field(PCIC, DWordAcc, NoLock, Preserve) {
                Offset(0x4),
                CMD_,	16,
                Offset(0x10),
                ADD0,	32,
                Offset(0x3c),
                INTL,	8,
                Offset(0x44),
                LADD,	32,
                Offset(0x80),
                PMRI,	1,
                Offset(0xa4),
                PWRS,	2,
                Offset(0xa5),
                ,	7,
                PMES,	1
            }
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
            Method(_INI) {
                Or(INTL, 0xff, INTL)
                And(LADD, 0xffff0000, LADD)
            }
            Method(_PS0) {
                Store(Zero, PWRS)
                Store(One, PMRI)
                Store(One, PMES)
            }
            Method(_PS3) {
                Store(Zero, PMRI)
            }
        }
        Device(OAK_) {
            Name(_ADR, 0x00040000)
            Name(_EJD, "_SB_.PCI_.ISA_.SLCE")
            Name(_PRT, Package(0x3) {
                Package(0x4) {
                    0xffff,
                    0x0,
                    \_SB_.PCI_.ISA_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0xffff,
                    0x1,
                    \_SB_.PCI_.ISA_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.PCI_.ISA_.LNKB,
                    0x0,
                },
            })
            OperationRegion(PCI_, PCI_Config, 0x0, 0x0100)
            Field(PCI_, DWordAcc, NoLock, Preserve) {
                VID_,	32
            }
            Method(_BDN) {
                Return(0x43004d24)
            }
            Method(_UID) {
                Store(Zero, Local0)
                Or(Local0, \_SB_.PCI_.PWR_.RE2R(0x2), Local0)
                ShiftLeft(Local0, 0x8, Local0)
                Or(Local0, \_SB_.PCI_.PWR_.RE2R(0x1), Local0)
                ShiftLeft(Local0, 0x8, Local0)
                Or(Local0, \_SB_.PCI_.PWR_.RE2R(0x0), Local0)
                Return(Local0)
            }
            Method(_DCK, 1) {
                Store(Zero, \_SB_.PCI_.ISA_.PMGA.LOKE)
                If(Arg0) {
                    Store(Zero, \_SB_.PCI_.ISA_.PMGA.DOKC)
                }
                Else {
                    Store(One, \_SB_.PCI_.ISA_.PMGA.DOKC)
                }
                \_SB_.PCI_.AGP_.VGA_.SRVO(Arg0)
                Return(Arg0)
            }
            Method(_EJ0, 1) {
                Store(One, \_SB_.PCI_.ISA_.PMGA.UDOC)
                While(\_SB_.PCI_.ISA_.PMGA.DOKS) {
                    Sleep(0x1)
                }
                Store(Zero, \_SB_.PCI_.ISA_.PMGA.UDOC)
            }
            Method(_STA) {
                Store(0x0, Local0)
                If(\_SB_.PCI_.ISA_.PMGA.DOKS) {
                    If(LEqual(\_SB_.PCI_.PWR_.RE2R(0x3), 0x20)) {
                        Store(0xf, Local0)
                    }
                }
                If(Local0) {
                    Store(Zero, \_SB_.PCI_.ISA_.PMGA.LOKE)
                }
                Else {
                    Store(One, \_SB_.PCI_.ISA_.PMGA.LOKE)
                }
                Store(Zero, \_SB_.PCI_.ISA_.PMGA.DOKC)
                Return(Local0)
            }
            Method(SDCK, 1) {
                If(Arg0) {
                    If(\_SB_.PCI_.ISA_.PMGA.EXPS) {
                        If(LEqual(\_SB_.PCI_.PWR_.RE2R(0x3), 0x20)) {
                            \_SB_.PHS_(0x86)
                        }
                    }
                }
            }
            Device(CRD0) {
                Name(_ADR, 0x0)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x4,
                })
                OperationRegion(PCIC, PCI_Config, 0x0, 0x0100)
                Field(PCIC, DWordAcc, NoLock, Preserve) {
                    Offset(0x4),
                    CMD_,	16,
                    Offset(0x10),
                    ADD0,	32,
                    Offset(0x3c),
                    INTL,	8,
                    Offset(0x44),
                    LADD,	32,
                    Offset(0x80),
                    PMRI,	1,
                    Offset(0xa4),
                    PWRS,	2,
                    Offset(0xa5),
                    ,	7,
                    PMES,	1
                }
                Method(_INI) {
                    Or(INTL, 0xff, INTL)
                    And(LADD, 0xffff0000, LADD)
                }
                Method(_PS0) {
                    Store(Zero, PWRS)
                    Store(One, PMRI)
                    Store(One, PMES)
                }
                Method(_PS3) {
                    Store(Zero, PMRI)
                }
            }
            Device(CRD1) {
                Name(_ADR, 0x1)
                Name(_PSC, 0x0)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x4,
                })
                OperationRegion(PCIC, PCI_Config, 0x0, 0x0100)
                Field(PCIC, DWordAcc, NoLock, Preserve) {
                    Offset(0x4),
                    CMD_,	16,
                    Offset(0x10),
                    ADD0,	32,
                    Offset(0x3c),
                    INTL,	8,
                    Offset(0x44),
                    LADD,	32,
                    Offset(0x80),
                    PMRI,	1,
                    Offset(0xa4),
                    PWRS,	2,
                    Offset(0xa5),
                    ,	7,
                    PMES,	1
                }
                Method(_INI) {
                    Or(INTL, 0xff, INTL)
                    And(LADD, 0xffff0000, LADD)
                }
                Method(_PS0) {
                    Store(Zero, PWRS)
                    Store(One, PMRI)
                    Store(One, PMES)
                }
                Method(_PS3) {
                    Store(Zero, PMRI)
                }
            }
            Device(LAN_) {
                Name(_ADR, 0x00010000)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x4,
                })
            }
        }
        Device(AUD_) {
            Name(_ADR, 0x00050000)
        }
        Device(ISA_) {
            Name(_ADR, 0x00060000)
            Device(DMAC) {
                Name(_HID, 0x0002d041)
                Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1=
, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0x=
c0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 })
            }
            Device(PIC_) {
                Name(_HID, 0x0100d041)
                Name(_CRS, Buffer(0x1e) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0=
x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0=
xd0, 0x4, 0x1, 0x2, 0x23, 0x4, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(TIME) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x=
1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x=
1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(SPKR) {
                Name(_HID, 0x0008d041)
                Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x=
1, 0x1, 0x79, 0x0 })
            }
            Device(MATH) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0xe) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x=
1, 0x10, 0x23, 0x0, 0x20, 0x1, 0x79, 0x0 })
            }
            Device(MEM_) {
                Name(_HID, 0x010cd041)
                Name(_CRS, Buffer(0x26) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x=
0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x8, 0x0,=
 0x79, 0x0 })
            }
            Device(KBC_) {
                Name(_HID, 0x0303d041)
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0=
x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0=
x0 })
            }
            Device(MOUS) {
                Name(_HID, 0x80374d24)
                Name(_CID, 0x130fd041)
                Method(_CRS) {
                    Return(PSCS(0x16))
                }
                Method(_SRS, 1) {
                    PSSS(0x16, Arg0)
                }
                Method(_PRS) {
                    Return(PSPS(0x16))
                }
                Method(_DIS) {
                    PSDI(0x16)
                }
                Method(_STA) {
                    Return(PSST(0x16))
                }
            }
            OperationRegion(GEN_, PCI_Config, 0xb0, 0x4)
            Field(GEN_, DWordAcc, NoLock, Preserve) {
                Offset(0x1),
                ,	4,
                SIDE,	1
            }
            Device(LNKA) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x1)
                Name(_PRS, Buffer(0x6) {0x23, 0xb8, 0x8e, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Or(PIRA, 0x80, PIRA)
                }
                Method(_CRS) {
                    CreateWordField(RSRC, 0x1, IRQ0)
                    And(PIRA, 0xf, Local0)
                    ShiftLeft(0x1, Local0, IRQ0)
                    Store(RSRC, Debug)
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    Store(Arg0, Debug)
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Or(Local0, And(PIRA, 0x70, ), PIRA)
                }
                Method(_STA) {
                    If(And(PIRA, 0x80, )) {
                        Return(0x9)
                    }
                    Return(0xb)
                }
            }
            Device(LNKB) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x2)
                Name(_PRS, Buffer(0x6) {0x23, 0xb8, 0x8e, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Or(PIRB, 0x80, PIRB)
                }
                Method(_CRS) {
                    CreateWordField(RSRC, 0x1, IRQ0)
                    And(PIRB, 0xf, Local0)
                    ShiftLeft(0x1, Local0, IRQ0)
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Or(Local0, And(PIRB, 0x70, ), PIRB)
                }
                Method(_STA) {
                    If(And(PIRB, 0x80, )) {
                        Return(0x9)
                    }
                    Return(0xb)
                }
            }
            Device(LNKC) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x3)
                Name(_PRS, Buffer(0x6) {0x23, 0xb8, 0x8e, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Or(PIRC, 0x80, PIRC)
                }
                Method(_CRS) {
                    CreateWordField(RSRC, 0x1, IRQ0)
                    And(PIRC, 0xf, Local0)
                    ShiftLeft(0x1, Local0, IRQ0)
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Or(Local0, And(PIRC, 0x70, ), PIRC)
                }
                Method(_STA) {
                    If(And(PIRC, 0x80, )) {
                        Return(0x9)
                    }
                    Return(0xb)
                }
            }
            Device(LNKD) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x4)
                Name(_PRS, Buffer(0x6) {0x23, 0xb8, 0x8e, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Or(PIRD, 0x80, PIRD)
                }
                Method(_CRS) {
                    CreateWordField(RSRC, 0x1, IRQ0)
                    And(PIRD, 0xf, Local0)
                    ShiftLeft(0x1, Local0, IRQ0)
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Or(Local0, And(PIRD, 0x70, ), PIRD)
                }
                Method(_STA) {
                    If(And(PIRD, 0x80, )) {
                        Return(0x9)
                    }
                    Return(0xb)
                }
            }
            OperationRegion(PIRX, PCI_Config, 0x60, 0x4)
            Field(PIRX, DWordAcc, NoLock, Preserve) {
                AccessAs(ByteAcc, 0),
                PIRA,	8,
                PIRB,	8,
                PIRC,	8,
                PIRD,	8
            }
            Device(PMGA) {
                Name(_HID, 0x050ad041)
                Name(_UID, 0x1)
                OperationRegion(GAIO, SystemIO, 0x15ee, 0x2)
                Field(GAIO, ByteAcc, NoLock, Preserve) {
                    PMIX,	8,
                    PMDA,	8
                }
                IndexField(PMIX, PMDA, ByteAcc, NoLock, Preserve) {
                    ,	6,
                    BREN,	1,
                    Offset(0x2d),
                    UDOC,	1,
                    DOKC,	1,
                    LOKE,	1,
                    ,	1,
                    DOKS,	1,
                    EXPS,	1,
                    Offset(0x2f),
                    BAYE,	1,
                    BAYP,	1,
                    BAYR,	1
                }
                Name(_STA, 0xb)
                Method(SBAY, 1) {
                    If(Arg0) {
                        Store(Zero, BAYR)
                        Store(Zero, BAYP)
                        Sleep(0xa)
                        Store(Zero, BAYE)
                        Store(One, BAYR)
                    }
                    Else {
                        Store(One, BAYE)
                        Store(One, BAYP)
                    }
                }
                Method(GBAY) {
                    Return(Not(BAYE, ))
                }
            }
            Device(SIO_) {
                Name(_HID, 0x050ad041)
                Name(_UID, 0x2)
                Name(_STA, 0xb)
                Name(RDE1, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,=
 0x0, 0x22, 0x0, 0x0, 0x79, 0x0 })
                Name(RDE2, Buffer(0x10) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1=
, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
                Name(RDE3, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1=
, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, =
0x0, 0x79, 0x0 })
                Device(COMA) {
                    Name(_HID, 0x0105d041)
                    Name(_UID, 0x1)
                    Name(_EJD, "_SB_.PCI_.OAK_")
                    Method(_CRS) {
                        Return(PSCS(0x12))
                    }
                    Method(_SRS, 1) {
                        PSSS(0x12, Arg0)
                    }
                    Method(_PRS) {
                        Return(PSPS(0x12))
                    }
                    Method(_DIS) {
                        PSDI(0x12)
                    }
                    Method(_STA) {
                        Return(PSST(0x12))
                    }
                    Name(_PRW, Package(0x2) {
                        0xb,
                        0x3,
                    })
                }
                Device(FIR_) {
                    Name(_HID, 0x71004d24)
                    Name(_CID, 0x1105d041)
                    Method(_CRS) {
                        Return(PSCS(0x13))
                    }
                    Method(_SRS, 1) {
                        PSSS(0x13, Arg0)
                    }
                    Method(_PRS) {
                        Return(PSPS(0x13))
                    }
                    Method(_DIS) {
                        PSDI(0x13)
                    }
                    Method(_STA) {
                        Return(PSST(0x13))
                    }
                }
                Device(LPT_) {
                    Name(_HID, 0x0004d041)
                    Name(_UID, 0x1)
                    Name(MCD_, 0x17)
                    Name(_STA, 0x0)
                    Name(B_PR, Buffer(0x4b) {0x30, 0x47, 0x1, 0x78, 0x3, 0x=
78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, =
0x1, 0x8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8,=
 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x=
20, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, =
0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x38, 0x7=
9, 0x0 })
                    Name(CRSB, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        Acquire(\_SB_.MPHS, 0xffff)
                        If(LEqual(_STA, 0xf)) {
                            CreateWordField(CRSB, 0x2, IO1B)
                            CreateWordField(CRSB, 0x4, IO2B)
                            CreateWordField(CRSB, 0x6, IO3B)
                            CreateWordField(CRSB, 0x9, IRQB)
                            Or(ShiftLeft(And(R430, 0xfc, ), 0x8, ), ShiftLe=
ft(R420, 0x2, ), IO1B)
                            Store(IO1B, IO2B)
                            If(LEqual(IO1B, 0x03bc)) {
                                Store(0x0401, IO3B)
                            }
                            Store(Zero, IRQB)
                            ShiftRight(READ(0x1b, 0xf0), 0x4, Local0)
                            If(Local0) {
                                ShiftLeft(0x1, Local0, IRQB)
                            }
                            Return(CRSB)
                        }
                        Else {
                            Return(RDE1)
                        }
                        Release(\_SB_.MPHS)
                    }
                    Method(B_SR, 1) {
                        Acquire(\_SB_.MPHS, 0xffff)
                        Name(XRFI, Package(0x10) {
                            0x0,
                            0x0,
                            0x0,
                            0x0,
                            0x0,
                            0x7,
                            0x0,
                            0x1,
                            0x0,
                            0x2,
                            0x3,
                            0x4,
                            0x0,
                            0x0,
                            0x5,
                            0x6,
                        })
                        CreateWordField(Arg0, 0x2, IO1A)
                        CreateWordField(Arg0, 0x9, IRQB)
                        WRIT(0x0, 0xfe, 0x0)
                        PRDC(Ones)
                        WRIT(0x42, 0x0, ShiftRight(IO1A, 0x2, ))
                        WRIT(0x43, 0x3, ShiftRight(IO1A, 0x8, ))
                        FindSetRightBit(IRQB, Local0)
                        If(Local0) {
                            Decrement(Local0)
                            WRIT(0x1b, 0xf, ShiftLeft(Local0, 0x4, ))
                            WRIT(0x1b, 0xf8, DerefOf(Index(XRFI, Local0, )))
                        }
                        Else {
                            WRIT(0x1b, 0x8, 0x0)
                        }
                        WRIT(0x0, 0xfe, 0x1)
                        PRDC(IO1A)
                        Store(0xf, _STA)
                        Release(\_SB_.MPHS)
                    }
                    Method(B_DI) {
                        Acquire(\_SB_.MPHS, 0xffff)
                        WRIT(0x0, 0xfe, 0x0)
                        PRDC(Ones)
                        Store(0xd, _STA)
                        Release(\_SB_.MPHS)
                    }
                    Name(_EJD, "_SB_.PCI_.OAK_")
                }
                Device(LPTB) {
                    Name(_HID, 0x0004d041)
                    Name(_UID, 0x2)
                    Name(MCD_, 0x18)
                    Name(_STA, 0xf)
                    Name(_PRS, Buffer(0x51) {0x30, 0x47, 0x1, 0x78, 0x3, 0x=
78, 0x3, 0x1, 0x8, 0x23, 0x80, 0x0, 0x1, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, =
0x3, 0x1, 0x8, 0x23, 0x20, 0x0, 0x1, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2,=
 0x1, 0x8, 0x23, 0x80, 0x0, 0x1, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1=
, 0x8, 0x23, 0x20, 0x0, 0x1, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x=
4, 0x23, 0x80, 0x0, 0x1, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0=
x23, 0x20, 0x0, 0x1, 0x38, 0x79, 0x0 })
                    Name(CRSB, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        Acquire(\_SB_.MPHS, 0xffff)
                        If(LEqual(_STA, 0xf)) {
                            CreateWordField(CRSB, 0x2, IO1B)
                            CreateWordField(CRSB, 0x4, IO2B)
                            CreateWordField(CRSB, 0x6, IO3B)
                            CreateWordField(CRSB, 0x9, IRQB)
                            Or(ShiftLeft(And(R430, 0xfc, ), 0x8, ), ShiftLe=
ft(R420, 0x2, ), IO1B)
                            Store(IO1B, IO2B)
                            If(LEqual(IO1B, 0x03bc)) {
                                Store(0x0401, IO3B)
                            }
                            Store(Zero, IRQB)
                            ShiftRight(READ(0x1b, 0xf0), 0x4, Local0)
                            If(Local0) {
                                ShiftLeft(0x1, Local0, IRQB)
                            }
                            Return(CRSB)
                        }
                        Else {
                            Return(RDE1)
                        }
                        Release(\_SB_.MPHS)
                    }
                    Method(_SRS, 1) {
                        Acquire(\_SB_.MPHS, 0xffff)
                        Name(XRFI, Package(0x10) {
                            0x0,
                            0x0,
                            0x0,
                            0x0,
                            0x0,
                            0x7,
                            0x0,
                            0x1,
                            0x0,
                            0x2,
                            0x3,
                            0x4,
                            0x0,
                            0x0,
                            0x5,
                            0x6,
                        })
                        CreateWordField(Arg0, 0x2, IO1A)
                        CreateWordField(Arg0, 0x9, IRQB)
                        WRIT(0x0, 0xfe, 0x0)
                        PRDC(Ones)
                        WRIT(0x42, 0x0, ShiftRight(IO1A, 0x2, ))
                        WRIT(0x43, 0x3, ShiftRight(IO1A, 0x8, ))
                        FindSetRightBit(IRQB, Local0)
                        If(Local0) {
                            Decrement(Local0)
                            WRIT(0x1b, 0xf, ShiftLeft(Local0, 0x4, ))
                            WRIT(0x1b, 0xf8, DerefOf(Index(XRFI, Local0, )))
                        }
                        Else {
                            WRIT(0x1b, 0x8, 0x0)
                        }
                        WRIT(0x0, 0xfe, 0x1)
                        PRDC(IO1A)
                        Store(0xf, _STA)
                        Release(\_SB_.MPHS)
                    }
                    Method(_DIS) {
                        Acquire(\_SB_.MPHS, 0xffff)
                        WRIT(0x0, 0xfe, 0x0)
                        PRDC(Ones)
                        Store(0xd, _STA)
                        Release(\_SB_.MPHS)
                    }
                    Name(_EJD, "_SB_.PCI_.OAK_")
                }
                Device(ECP_) {
                    Name(_HID, 0x0104d041)
                    Method(_CRS) {
                        If(LEqual(_STA(), 0xf)) {
                            Return(PSCS(0x14))
                        }
                        Else {
                            Return(RDE3)
                        }
                    }
                    Method(_SRS, 1) {
                        PSSS(0x14, Arg0)
                    }
                    Method(_PRS) {
                        Return(PSPS(0x14))
                    }
                    Method(_DIS) {
                        PSDI(0x14)
                    }
                    Method(_STA) {
                        Return(PSST(0x14))
                    }
                    Name(_EJD, "_SB_.PCI_.OAK_")
                }
                Device(EPP_) {
                    Name(_HID, 0x0004d041)
                    Name(_UID, 0x3)
                    Method(_CRS) {
                        If(LEqual(_STA(), 0xf)) {
                            Return(PSCS(0x15))
                        }
                        Else {
                            Return(RDE1)
                        }
                    }
                    Method(_SRS, 1) {
                        PSSS(0x15, Arg0)
                    }
                    Method(_PRS) {
                        Return(PSPS(0x15))
                    }
                    Method(_DIS) {
                        PSDI(0x15)
                    }
                    Method(_STA) {
                        Return(PSST(0x15))
                    }
                    Name(_EJD, "_SB_.PCI_.OAK_")
                }
                Device(FDC_) {
                    Name(_HID, 0x0007d041)
                    OperationRegion(FDCR, SystemIO, 0x03f0, 0x7)
                    Field(FDCR, ByteAcc, NoLock, Preserve) {
                        Offset(0x3),
                        TDR_,	8
                    }
                    Method(_CRS) {
                        Return(PSCS(0x11))
                    }
                    Method(_SRS, 1) {
                        PSSS(0x11, Arg0)
                        If(LNot(\_SB_.PCI_.PWR_.GI13)) {
                            If(\_SB_.PCI_.ISA_.PMGA.GBAY()) {
                                And(TDR_, 0xf3, TDR_)
                            }
                            Else {
                                Or(And(TDR_, 0xf3, ), 0x4, TDR_)
                            }
                        }
                        Else {
                            Or(And(TDR_, 0xf3, ), 0x4, TDR_)
                        }
                    }
                    Method(_PRS) {
                        Return(PSPS(0x11))
                    }
                    Method(_DIS) {
                        PSDI(0x11)
                    }
                    Method(_STA) {
                        Return(PSST(0x11))
                    }
                }
                OperationRegion(SIOR, SystemIO, 0x2e, 0x2)
                Field(SIOR, ByteAcc, NoLock, Preserve) {
                    INDX,	8,
                    DATA,	8
                }
                IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
                    R000,	8,
                    Offset(0x2),
                    R020,	8,
                    Offset(0x4),
                    R040,	8,
                    Offset(0x42),
                    R420,	8,
                    R430,	8,
                    R440,	8,
                    R450,	8,
                    R460,	8,
                    R470,	8,
                    R480,	8,
                    R490,	8,
                    Offset(0x4f),
                    R4F0,	8
                }
                Method(READ, 2) {
                    Store(Arg0, INDX)
                    Return(And(DATA, Arg1, ))
                }
                Method(WRIT, 3) {
                    Store(Arg0, INDX)
                    Or(And(DATA, Arg1, ), Arg2, Local0)
                    Store(Arg0, INDX)
                    Store(Local0, DATA)
                    Store(Local0, DATA)
                }
                Name(LPT1, Package(0x3) {
                    0x03bc,
                    0x0378,
                    0x0278,
                })
                Method(PRDC, 1) {
                    If(LEqual(Arg0, Ones)) {
                        Store(Zero, \_SB_.PCI_.PWR_.LPTE)
                    }
                    Else {
                        Store(SizeOf(LPT1), Local0)
                        While(Local0) {
                            Decrement(Local0)
                            If(LEqual(Arg0, DerefOf(Index(LPT1, Local0, )))=
) {
                                Store(Local0, \_SB_.PCI_.PWR_.LPTA)
                                Store(One, \_SB_.PCI_.PWR_.LPTE)
                                Store(One, \_SB_.PCI_.PWR_.LPTM)
                            }
                        }
                    }
                }
            }
            Device(EC__) {
                Name(_HID, 0x050ad041)
                Name(_UID, 0x3)
                Name(BEJP, 0x0)
                Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0=
x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
                Name(_GPE, 0x9)
                OperationRegion(ECP0, SystemIO, 0x62, 0x1)
                Field(ECP0, ByteAcc, NoLock, Preserve) {
                    ECDA,	8
                }
                OperationRegion(ECP1, SystemIO, 0x66, 0x1)
                Field(ECP1, ByteAcc, NoLock, Preserve) {
                    ECST,	8
                }
                Field(ECP1, ByteAcc, NoLock, Preserve) {
                    ECCM,	8
                }
                Mutex(ECMB, 0)
                Method(WIBE, 0, Serialized) {
                    While(And(ECST, 0x2, )) {
                        Stall(0x1)
                    }
                }
                Method(WOBF, 0, Serialized) {
                    While(LNot(And(ECST, 0x1, ))) {
                        Stall(0x1)
                    }
                }
                Method(ECRD, 1, Serialized) {
                    Acquire(ECMB, 0xffff)
                    WIBE()
                    Store(0xd2, ECCM)
                    WIBE()
                    Store(0x80, ECCM)
                    WIBE()
                    Store(Arg0, ECDA)
                    WIBE()
                    WOBF()
                    Store(ECDA, Local0)
                    Store(0xd3, ECCM)
                    WIBE()
                    Release(ECMB)
                    Return(Local0)
                }
                Method(ECWR, 2, Serialized) {
                    Acquire(ECMB, 0xffff)
                    WIBE()
                    Store(0xd2, ECCM)
                    WIBE()
                    Store(0x81, ECCM)
                    WIBE()
                    Store(Arg0, ECDA)
                    WIBE()
                    Store(Arg1, ECDA)
                    WIBE()
                    Store(0xd3, ECCM)
                    WIBE()
                    Release(ECMB)
                }
                Method(ECQE, 0, Serialized) {
                    Acquire(ECMB, 0xffff)
                    Store(0x64, Local1)
                    While(Local1) {
                        Decrement(Local1)
                        And(ECST, 0x20, Local0)
                        If(Local0) {
                            Store(Zero, Local1)
                        }
                        Else {
                            Sleep(0x1)
                        }
                    }
                    If(Local0) {
                        WIBE()
                        Store(0xd2, ECCM)
                        WIBE()
                        Store(0x84, ECCM)
                        WIBE()
                        WOBF()
                        Store(ECDA, Local0)
                        Store(0xd3, ECCM)
                        WIBE()
                    }
                    Release(ECMB)
                    Return(Local0)
                }
                Method(_Q11) {
                    \_SB_.PHS_(0x80)
                }
                Method(_Q13) {
                    Notify(\_SB_.SLPB, 0x80)
                }
                Method(_Q16) {
                    Store("=3D=3D=3D=3D=3D FnF7 =3D=3D=3D=3D=3D", Debug)
                    If(LEqual(And(\_SB_.PHS_(0x87), 0x8, ), 0x0)) {
                        If(LEqual(\_SB_.PCI_.AGP_.VGA_.SWIT, 0x0)) {
                            If(LEqual(\_SB_.PCI_.AGP_.VGA_.GDCS, 0x1)) {
                                Store(Zero, \_SB_.PCI_.AGP_.VGA_.LCD_._DGS)
                                Store(One, \_SB_.PCI_.AGP_.VGA_.CRT_._DGS)
                            }
                            If(LEqual(\_SB_.PCI_.AGP_.VGA_.GDCS, 0x2)) {
                                Store(One, \_SB_.PCI_.AGP_.VGA_.LCD_._DGS)
                                Store(One, \_SB_.PCI_.AGP_.VGA_.CRT_._DGS)
                            }
                            If(LEqual(\_SB_.PCI_.AGP_.VGA_.GDCS, 0x3)) {
                                Store(One, \_SB_.PCI_.AGP_.VGA_.LCD_._DGS)
                                Store(Zero, \_SB_.PCI_.AGP_.VGA_.CRT_._DGS)
                            }
                            Notify(\_SB_.PCI_.AGP_.VGA_, 0x80)
                        }
                        If(LEqual(\_SB_.PCI_.AGP_.VGA_.SWIT, 0x1)) {
                            \_SB_.PHS_(0x81)
                        }
                    }
                }
                Method(_Q17) {
                    \_SB_.PHS_(0x82)
                }
                Method(_Q1B) {
                }
                Method(_Q1C) {
                    \_SB_.PHS_(0x83)
                }
                Method(_Q1D) {
                    \_SB_.PHS_(0x84)
                }
                Method(_Q1E) {
                    \_SB_.PHS_(0x85)
                }
                Method(_Q20) {
                    Notify(\_SB_.BAT1, 0x80)
                    Notify(\_SB_.BAT2, 0x80)
                }
                Method(_Q21) {
                    Notify(\_SB_.BAT1, 0x80)
                    Notify(\_SB_.BAT2, 0x80)
                }
                Method(_Q22) {
                    Notify(\_SB_.BAT1, 0x80)
                    Notify(\_SB_.BAT2, 0x80)
                }
                Method(_Q23) {
                    Store(Zero, Local0)
                    If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x0), 0x80, )) {
                        If(LEqual(\_SB_.BAT1._STA, 0xf)) {
                            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local1)
                            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local1, 0x10), =
Local2)
                            CreateByteField(Local2, 0x20, BST1)
                            While(LEqual(BST1, 0x0)) {
                                Sleep(0xa)
                                Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local1, 0x1=
0), Local2)
                            }
                            Store(0x1f, \_SB_.BAT1._STA)
                            Or(0x1, Local0, Local0)
                        }
                    }
                    Else {
                        If(LEqual(\_SB_.BAT1._STA, 0x1f)) {
                            Store(0xf, \_SB_.BAT1._STA)
                            Or(0x1, Local0, Local0)
                        }
                    }
                    If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0x80, )) {
                        If(LEqual(\_SB_.BAT2._STA, 0xf)) {
                            Store(\_SB_.PCI_.ISA_.EC__.GH8A(), Local1)
                            Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local1, 0x11), =
Local2)
                            CreateByteField(Local2, 0x20, BST2)
                            While(LEqual(BST2, 0x0)) {
                                Sleep(0xa)
                                Store(\_SB_.PCI_.ISA_.EC__.SMRA(Local1, 0x1=
1), Local2)
                            }
                            Store(0x1f, \_SB_.BAT2._STA)
                            Or(0x2, Local0, Local0)
                        }
                    }
                    Else {
                        If(LEqual(\_SB_.BAT2._STA, 0x1f)) {
                            Store(0xf, \_SB_.BAT2._STA)
                            Or(0x2, Local0, Local0)
                        }
                    }
                    If(LEqual(Local0, 0x0)) {
                        Notify(\_SB_.BAT1, 0x80)
                        Notify(\_SB_.BAT2, 0x80)
                    }
                    Else {
                        If(And(Local0, 0x1, )) {
                            Notify(\_SB_.BAT1, 0x0)
                        }
                        If(And(Local0, 0x2, )) {
                            Notify(\_SB_.BAT2, 0x0)
                        }
                    }
                }
                Method(_Q24) {
                    Notify(\_SB_.BAT1, 0x80)
                }
                Method(_Q25) {
                    Notify(\_SB_.BAT2, 0x80)
                }
                Method(_Q26) {
                    Store(One, \_SB_.PCI_.ISA_.PMGA.BREN)
                    Notify(\_SB_.AC__, 0x80)
                }
                Method(_Q27) {
                    Store(Zero, \_SB_.PCI_.ISA_.PMGA.BREN)
                    Notify(\_SB_.AC__, 0x80)
                }
                Method(_Q2A) {
                    Notify(\_SB_.LID_, 0x80)
                }
                Method(_Q2B) {
                    Notify(\_SB_.LID_, 0x80)
                }
                Method(_Q30) {
                    \_SB_.PHS_(0x8c)
                }
                Method(_Q31) {
                    \_SB_.PHS_(0x8d)
                }
                Method(_Q32) {
                    \_SB_.PHS_(0x8e)
                }
                Method(_Q37) {
                    If(LNot(\_SB_.PCI_.ISA_.PMGA.DOKS)) {
                        If(LEqual(\_SB_.PCI_.ISA_.SLCE._STA(), 0xf)) {
                            \_SB_.PCI_.OAK_.SDCK(One)
                            Notify(\_SB_.PCI_.OAK_, 0x0)
                        }
                    }
                }
                Method(_Q39) {
                    Notify(\_SB_.SLPB, 0x2)
                }
                Method(_Q3E) {
                    If(\_SB_.PCI_.CRD0.PMES) {
                        \_SB_.PCI_.CRD0._PS0()
                    }
                    If(\_SB_.PCI_.CRD1.PMES) {
                        \_SB_.PCI_.CRD1._PS0()
                    }
                    If(\_SB_.PCI_.OAK_._STA()) {
                        If(\_SB_.PCI_.OAK_.CRD0.PMES) {
                            \_SB_.PCI_.OAK_.CRD0._PS0()
                        }
                        If(\_SB_.PCI_.OAK_.CRD1.PMES) {
                            \_SB_.PCI_.OAK_.CRD1._PS0()
                        }
                    }
                }
                Method(_Q40) {
                    Notify(\_TZ_.THM0, 0x80)
                    Sleep(0x2710)
                    Notify(\_TZ_.THM0, 0x81)
                }
                Method(_Q50) {
                    Notify(\_SB_.PCI_.OAK_, 0x1)
                }
                Method(_Q51) {
                    If(LEqual(\_SB_.PCI_.ISA_.PMGA.BAYP, Zero)) {
                        \_SB_.HKEY.MHKF()
                        Notify(\_SB_.PCI_.ISA_.SLCE, 0x1)
                    }
                }
                Method(_Q52) {
                    \_SB_.PCI_.ISA_.SLCE.SSLC(Zero)
                    \_SB_.PCI_.OAK_.SDCK(One)
                    Notify(\_SB_.PCI_, 0x1)
                }
                Method(_Q53) {
                    Store(0x53, Debug)
                }
                Mutex(SMMB, 0)
                Method(SMRA, 2) {
                    Acquire(SMMB, 0xffff)
                    Name(INVB, Buffer(0x21) {0xff, 0xff, 0xff, 0xff, 0xff, =
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf=
f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, =
0xff, 0xff, 0x0 })
                    Store(SMBP(0xb, Arg0, Arg1), Local0)
                    If(Local0) {
                        Store(INVB, Local0)
                    }
                    Else {
                        Store(0x0, Local1)
                        While(LLess(Local1, 0x21)) {
                            PUTB(INVB, Local1, ECRD(Add(0x54, Local1, )))
                            Increment(Local1)
                        }
                        Store(INVB, Local0)
                    }
                    Release(SMMB)
                    Return(Local0)
                }
                Method(SMBP, 3, Serialized) {
                    Store(0x1, Local0)
                    While(Local0) {
                        ECWR(0x53, Arg2)
                        ECWR(0x52, Arg1)
                        ECWR(0x50, Arg0)
                        While(ECRD(0x50)) {
                            Sleep(0x2)
                        }
                        While(LNot(And(ECRD(0x51), 0xbf, Local1))) {
                            Sleep(0x2)
                        }
                        And(Local1, 0x1f, Local1)
                        If(LNot(LEqual(Local1, 0x11))) {
                            Store(0x0, Local0)
                        }
                    }
                    Return(Local1)
                }
                Method(PUTB, 3) {
                    CreateByteField(Arg0, Arg1, TIDX)
                    Store(Arg2, TIDX)
                }
                Method(GETB, 2) {
                    CreateByteField(Arg0, Arg1, TIDX)
                    Return(TIDX)
                }
                Method(GH8A) {
                    Store(ECRD(0xf), Local0)
                    Return(Local0)
                }
                Method(ACST) {
                    And(ShiftRight(ECRD(0x36), 0x4, ), 0x1, Local0)
                    Return(Local0)
                }
                Method(BTST, 1) {
                    Store(ECRD(Add(Arg0, 0x38, )), Local0)
                    Return(Local0)
                }
                Method(SB1I, 1) {
                    If(Arg0) {
                        ECWR(0x3a, And(ECRD(0x3a), 0x7f, ))
                    }
                    Else {
                        ECWR(0x3a, Or(ECRD(0x3a), 0x80, ))
                    }
                }
                Method(BEEP, 2) {
                    Store(ECRD(0x7), Local0)
                    ECWR(0x7, Arg1)
                    ShiftLeft(0x1, Arg0, Local1)
                    If(LNot(LGreater(Arg0, 0x7))) {
                        Store(ECRD(0x4), Local2)
                    }
                    Else {
                        ShiftRight(Local1, 0x8, Local1)
                        Store(ECRD(0x5), Local2)
                    }
                    If(And(Local2, Local1, )) {
                        ECWR(0x6, Arg0)
                        While(LNot(And(ECRD(0x34), 0x2, ))) {
                        }
                        While(And(ECRD(0x34), 0x2, )) {
                        }
                    }
                    ECWR(0x7, Local0)
                }
                Method(GFAN) {
                    And(ECRD(0x2f), 0x7, Local0)
                    Return(Local0)
                }
                Method(SFAN, 1) {
                    ECWR(0x2f, Or(And(ECRD(0x2f), 0xf8, ), Arg0, ))
                }
                Method(SLED, 2) {
                    Store(ECRD(0xd), Local0)
                    And(Local0, Not(Arg0, ), Local0)
                    If(And(Arg1, 0x2, )) {
                        Or(Local0, Arg0, Local0)
                    }
                    ECWR(0xd, Local0)
                    Store(ECRD(0xc), Local0)
                    And(Local0, Not(Arg0, ), Local0)
                    If(And(Arg1, 0x1, )) {
                        Or(Local0, Arg0, Local0)
                    }
                    ECWR(0xc, Local0)
                }
                Method(GLED, 1) {
                    Store(Zero, Local0)
                    Store(ECRD(0xc), Local1)
                    If(And(Local1, Arg0, )) {
                        Or(Local0, 0x1, Local0)
                        Store(ECRD(0xd), Local1)
                        If(And(Local1, Arg0, )) {
                            Or(Local0, 0x2, Local0)
                        }
                    }
                    Return(Local0)
                }
                Method(GLID) {
                    And(ShiftRight(ECRD(0x36), 0x2, ), 0x1, Local0)
                    Return(Local0)
                }
                Method(GSST) {
                    ShiftRight(ECRD(0x37), 0x7, Local0)
                    Return(Local0)
                }
                Method(GDID) {
                    ECWR(0x28, 0x80)
                    While(And(ECRD(0x28), 0x80, )) {
                        Stall(0x1)
                    }
                    And(ECRD(0x28), 0x7f, Local0)
                    Return(Local0)
                }
                Method(SISM, 1) {
                    If(Arg0) {
                        Store(0x3, Local0)
                    }
                    Else {
                        Store(0x0, Local0)
                    }
                    ECWR(0x3b, Or(And(ECRD(0x3b), 0xfc, ), Local0, ))
                }
                Method(GWES) {
                    Store(ECRD(0x4e), Local0)
                    Return(Local0)
                }
                Method(GTHZ) {
                    And(ECRD(0x20), 0x83, Local0)
                    Return(Local0)
                }
            }
            Device(SLCE) {
                Name(_HID, 0x150cd041)
                Name(_UID, 0x4)
                Method(_STA) {
                    If(\_SB_.PCI_.ISA_.EC__.GSST()) {
                        If(LEqual(\_SB_.PCI_.ISA_.PMGA.BAYP, 0x0)) {
                            Return(0xf)
                        }
                    }
                    Return(0x0)
                }
                Method(_DCK, 1) {
                    If(\_SB_.PCI_.OAK_._STA()) {
                        Store(Zero, \_SB_.PCI_.ISA_.PMGA.LOKE)
                        If(Arg0) {
                            Store(Zero, \_SB_.PCI_.ISA_.PMGA.DOKC)
                        }
                        Else {
                            Store(One, \_SB_.PCI_.ISA_.PMGA.DOKC)
                            Store(One, \_SB_.PCI_.ISA_.EC__.BEJP)
                        }
                    }
                    If(Arg0) {
                        SSLC(Zero)
                        Return(One)
                    }
                    Else {
                        SSLC(One)
                        Return(Zero)
                    }
                }
                Method(_EJ0, 1) {
                    If(\_SB_.PCI_.ISA_.EC__.BEJP) {
                        Store(One, \_SB_.PCI_.ISA_.PMGA.UDOC)
                        While(\_SB_.PCI_.ISA_.PMGA.DOKS) {
                            Sleep(0x1)
                        }
                        Store(Zero, \_SB_.PCI_.ISA_.PMGA.UDOC)
                        Store(Zero, \_SB_.PCI_.ISA_.EC__.BEJP)
                    }
                    \_SB_.HKEY.MHKQ(0x4003)
                }
                Method(SSLC, 1) {
                    If(Arg0) {
                        Store(One, \_SB_.PCI_.ISA_.SIDE)
                        If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0x80, )) {
                            \_SB_.PCI_.ISA_.EC__.SB1I(Zero)
                        }
                        If(LEqual(\_SB_.PCI_.ISA_.SIO_.FDC_._STA(), 0xf)) {
                            Or(And(\_SB_.PCI_.ISA_.SIO_.FDC_.TDR_, 0xf3, ),=
 0x4, \_SB_.PCI_.ISA_.SIO_.FDC_.TDR_)
                        }
                        \_SB_.PCI_.ISA_.PMGA.SBAY(0x0)
                        Store(One, \_SB_.PCI_.PWR_.GO27)
                        \_SB_.PCI_.ISA_.EC__.SISM(Zero)
                        \_SB_.PCI_.ISA_.EC__.SLED(0x10, 0x0)
                    }
                    Else {
                        \_SB_.PCI_.ISA_.PMGA.SBAY(0x1)
                        Store(Zero, \_SB_.PCI_.ISA_.SIDE)
                        If(And(\_SB_.PCI_.ISA_.EC__.BTST(0x1), 0x80, )) {
                            \_SB_.PCI_.ISA_.EC__.SB1I(One)
                        }
                        If(LNot(\_SB_.PCI_.PWR_.GI13)) {
                            If(LEqual(\_SB_.PCI_.ISA_.SIO_.FDC_._STA(), 0xf=
)) {
                                And(\_SB_.PCI_.ISA_.SIO_.FDC_.TDR_, 0xf3, \=
_SB_.PCI_.ISA_.SIO_.FDC_.TDR_)
                            }
                        }
                        \_SB_.PCI_.ISA_.EC__.SISM(One)
                        Store(Zero, \_SB_.PCI_.PWR_.GO27)
                        \_SB_.PCI_.ISA_.EC__.SLED(0x10, 0x1)
                        Sleep(0x03e8)
                    }
                }
                Method(_INI) {
                    If(\_SB_.PCI_.ISA_.EC__.GSST()) {
                        If(LEqual(\_SB_.PCI_.ISA_.PMGA.BAYP, 0x1)) {
                            \_SB_.PCI_.ISA_.PMGA.SBAY(0x1)
                            \_SB_.PCI_.ISA_.EC__.SISM(One)
                            Store(Zero, \_SB_.PCI_.PWR_.GO27)
                            \_SB_.PCI_.ISA_.EC__.SLED(0x10, 0x1)
                        }
                    }
                }
            }
            Device(MBRD) {
                Name(_HID, 0x020cd041)
                Name(_UID, 0x1)
                Name(RSRC, Buffer(0xaa) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0=
x1, 0x10, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, =
0x28, 0x0, 0x1, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, =
0x2e, 0x0, 0x2e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x1, 0x2, =
0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0,=
 0x1, 0x4, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x1, 0x6, 0x47, 0x1, 0x80, 0x0,=
 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 0x47, 0x1=
, 0xa4, 0x0, 0xa4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2=
, 0x47, 0x1, 0xac, 0x0, 0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x=
0, 0x1, 0x6, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xbc, 0x=
0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x40, 0x47, 0x1=
, 0x40, 0x1, 0x40, 0x1, 0x1, 0x10, 0x47, 0x1, 0xea, 0x15, 0xea, 0x15, 0x1, =
0x6, 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x1, 0x10, 0x79, 0x0 })
                Method(_CRS) {
                    CreateWordField(RSRC, 0x8a, PMMN)
                    CreateWordField(RSRC, 0x8c, PMMX)
                    And(^^^PWR_.PMBA, 0xfffffffe, PMMN)
                    Store(PMMN, PMMX)
                    CreateWordField(RSRC, 0x92, SMMN)
                    CreateWordField(RSRC, 0x94, SMMX)
                    And(^^^PWR_.SBBA, 0xfffffffe, SMMN)
                    Store(SMMN, SMMX)
                    Return(RSRC)
                }
            }
            Device(ROM_) {
                Name(_HID, 0x020cd041)
                Name(_UID, 0x2)
                Name(_CRS, Buffer(0x1d) {0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x79, 0x0 })
            }
            Method(_INI) {
                \_SB_.PCI_.ISA_.SLCE._INI()
            }
        }
        Device(IDE_) {
            Name(_ADR, 0x00060001)
            Name(_PSC, 0x0)
            OperationRegion(PCIC, PCI_Config, 0x0, 0x0100)
            Field(PCIC, DWordAcc, NoLock, Preserve) {
                Offset(0x4),
                IOSE,	1,
                Offset(0x41),
                ,	7,
                PIDE,	1,
                Offset(0x43),
                ,	7,
                SIDE,	1
            }
            Field(PCIC, DWordAcc, NoLock, Preserve) {
                Offset(0x4),
                R04_,	32,
                Offset(0x20),
                R20_,	32,
                Offset(0x40),
                R40_,	32,
                R44_,	32,
                R48_,	32
            }
            Name(PCMD, 0x0)
            Name(BMIB, 0x0)
            Name(IDET, 0x0)
            Name(SIDT, 0x0)
            Name(UDMA, 0x0)
            Name(CRSF, 0x0)
            Method(_INI) {
                Store(Zero, CRSF)
                Store(One, \_SB_.PCI_.IDE_.SIDE)
                Store(Zero, \_SB_.PCI_.ISA_.SIDE)
                \_SB_.PHS_(0x88)
            }
            Method(_PS0) {
                If(LEqual(_PSC, 0x3)) {
                    If(LEqual(IOSE, Zero)) {
                        Store(PCMD, R04_)
                        Store(BMIB, R20_)
                    }
                    Store(IDET, R40_)
                    Store(SIDT, R44_)
                    Store(UDMA, R48_)
                    \_SB_.PHS_(0x89)
                }
                Store(Zero, CRSF)
                Store(Zero, _PSC)
            }
            Method(_PS3) {
                If(LAnd(LEqual(_PSC, Zero), LEqual(CRSF, Zero))) {
                    Store(R04_, PCMD)
                    Store(R20_, BMIB)
                    Store(R40_, IDET)
                    Store(R44_, SIDT)
                    Store(R48_, UDMA)
                    Store(One, CRSF)
                }
                Store(0x3, _PSC)
            }
            Device(PRIM) {
                Name(_ADR, 0x0)
                Method(_STA) {
                    If(PIDE) {
                        Return(0xf)
                    }
                    Else {
                        Return(0xd)
                    }
                }
                Device(MAST) {
                    Name(_ADR, 0x0)
                }
                Device(SLAV) {
                    Name(_ADR, 0x1)
                }
            }
            Device(SECN) {
                Name(_ADR, 0x1)
                Method(_STA) {
                    If(SIDE) {
                        Return(0xf)
                    }
                    Else {
                        Return(0xd)
                    }
                }
                Device(MAST) {
                    Name(_ADR, 0x0)
                    Name(_EJD, "_SB_.PCI_.ISA_.SLCE")
                    Method(_STA) {
                        If(LEqual(\_SB_.PCI_.ISA_.SLCE._STA(), 0xf)) {
                            Store(\_SB_.PCI_.ISA_.EC__.GDID(), Local0)
                            If(LNot(LEqual(Local0, 0xf))) {
                                Return(0xf)
                            }
                        }
                        Return(0x0)
                    }
                }
                Device(SLAV) {
                    Name(_ADR, 0x1)
                }
            }
        }
        Device(USB_) {
            Name(_ADR, 0x00060002)
            Name(_PRW, Package(0x2) {
                0x8,
                0x1,
            })
        }
        Device(PWR_) {
            Name(_ADR, 0x00060003)
            OperationRegion(PMC_, SystemIO, 0x00001000, 0x00000038)
            Field(PMC_, DWordAcc, NoLock, Preserve) {
                Offset(0x10),
                ,	4,
                THTE,	1,
                Offset(0x28),
                ,	2,
                TPOL,	1,
                Offset(0x31),
                ,	5,
                GI13,	1,
                Offset(0x37),
                ,	3,
                GO27,	1
            }
            OperationRegion(SMB_, SystemIO, 0x00001040, 0x0000000c)
            Field(SMB_, ByteAcc, NoLock, Preserve) {
                HSTS,	8,
                LVTS,	8,
                CTLR,	8,
                CMDR,	8,
                ADDR,	8,
                DAT0,	8,
                DAT1,	8
            }
            OperationRegion(PCI_, PCI_Config, 0x40, 0x60)
            Field(PCI_, DWordAcc, NoLock, Preserve) {
                PMBA,	32,
                Offset(0x12),
                ,	2,
                LPTM,	1,
                Offset(0x1f),
                ,	7,
                LPTE,	1,
                Offset(0x23),
                ,	1,
                LPTA,	2,
                Offset(0x50),
                SBBA,	32
            }
            Mutex(SMMB, 0)
            Method(RE2R, 1) {
                Acquire(SMMB, 0xffff)
                Store(Arg0, CMDR)
                Store(0x8, CTLR)
                Store(0x0, DAT0)
                Store(0xa3, ADDR)
                Store(0x48, CTLR)
                While(LNot(And(HSTS, 0x6, Local0))) {
                    Stall(0x1)
                }
                Store(HSTS, HSTS)
                Release(SMMB)
                If(And(Local0, 0x4, )) {
                    Return(0xff)
                }
                Else {
                    Return(DAT0)
                }
            }
        }
        Device(MODM) {
            Name(_ADR, 0x00070000)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
    }
    Device(HKEY) {
        Name(_HID, 0x68004d24)
        Name(_STA, 0xf)
        Name(DHKC, 0x0)
        Name(DHKB, 0x1)
        Name(DHKF, 0x0)
        Mutex(XDHK, 0)
        Name(DHKW, 0x0)
        Name(DHKD, 0x0)
        Method(MHKC, 1) {
            Store(Arg0, DHKC)
        }
        Method(MHKP) {
            Acquire(XDHK, 0xffff)
            Store(Zero, Local1)
            If(DHKW) {
                Store(DHKW, Local1)
                Store(Zero, DHKW)
            }
            Else {
                If(DHKD) {
                    Store(DHKD, Local1)
                    Store(Zero, DHKD)
                }
            }
            Release(XDHK)
            Return(Local1)
        }
        Method(MHKE, 1) {
            Acquire(XDHK, 0xffff)
            Store(Arg0, DHKB)
            If(LEqual(DHKB, 0x0)) {
                Store(Zero, DHKW)
                Store(Zero, DHKD)
                Store(Zero, DHKF)
            }
            Release(XDHK)
        }
        Method(MHKQ, 1) {
            Acquire(XDHK, 0xffff)
            If(DHKB) {
                If(DHKC) {
                    If(LAnd(LNot(LLess(Arg0, 0x2000)), LLess(Arg0, 0x3000))=
) {
                        If(DHKF) {
                            Store(Zero, DHKF)
                            Store(Arg0, DHKW)
                        }
                    }
                    If(LAnd(LNot(LLess(Arg0, 0x4000)), LLess(Arg0, 0x5000))=
) {
                        Store(Arg0, DHKD)
                    }
                    Notify(HKEY, 0x80)
                }
            }
            Release(XDHK)
        }
        Method(MHKF) {
            Acquire(XDHK, 0xffff)
            If(LEqual(DHKB, 0x0)) {
                If(DHKC) {
                    Store(One, DHKF)
                }
            }
            Release(XDHK)
        }
    }
}
Name(SSLV, 0x0)
Name(DOKS, 0x0)
Name(SSST, 0xf)
Method(_WAK, 1) {
    Store(0x0, \SSLV)
    Store(Zero, Local0)
    \_SB_.PHS2(0x8f, Or(Arg0, 0x80, ))
    If(\_SB_.PCI_.ISA_.EC__.ACST()) {
        Store(One, \_SB_.PCI_.ISA_.PMGA.BREN)
    }
    Else {
        Store(Zero, \_SB_.PCI_.ISA_.PMGA.BREN)
    }
    If(\_SB_.PCI_.ISA_.EC__.GSST()) {
        If(LNot(\SSST)) {
            \_SB_.PCI_.ISA_.SLCE.SSLC(Zero)
            Store(One, Local0)
        }
    }
    If(LNot(LEqual(\_SB_.PCI_.OAK_._STA(), \DOKS))) {
        Store(One, Local0)
    }
    \_SB_.PCI_.OAK_.SDCK(One)
    If(Local0) {
        Notify(\_SB_.PCI_, 0x1)
    }
    If(LEqual(Arg0, 0x4)) {
        Store(One, \_SB_.PCI_.IDE_.SIDE)
        Store(Zero, \_SB_.PCI_.ISA_.SIDE)
        Notify(\_SB_.SLPB, 0x2)
    }
    If(LOr(LEqual(Arg0, 0x1), LEqual(Arg0, 0x3))) {
        \_SB_.HKEY.MHKE(0x1)
        \_SB_.HKEY.MHKQ(Or(ShiftLeft(Or(Arg0, 0x20, ), 0x8, ), 0x4, ))
    }
    Return(Package(0x2) {
        0x0,
        0x0,
    })
}
Method(_PTS, 1) {
    Store(Arg0, \SSLV)
    If(LEqual(\_SB_.PCI_.IDE_.CRSF, Zero)) {
        Store(\_SB_.PCI_.IDE_.R04_, \_SB_.PCI_.IDE_.PCMD)
        Store(\_SB_.PCI_.IDE_.R20_, \_SB_.PCI_.IDE_.BMIB)
        Store(\_SB_.PCI_.IDE_.R40_, \_SB_.PCI_.IDE_.IDET)
        Store(\_SB_.PCI_.IDE_.R44_, \_SB_.PCI_.IDE_.SIDT)
        Store(\_SB_.PCI_.IDE_.R48_, \_SB_.PCI_.IDE_.UDMA)
        Store(One, \_SB_.PCI_.IDE_.CRSF)
    }
    If(LAnd(LNot(LLess(Arg0, 0x1)), LNot(LGreater(Arg0, 0x4)))) {
        Store(\_SB_.PCI_.OAK_._STA(), \DOKS)
        Store(LNot(\_SB_.PCI_.ISA_.PMGA.BAYP), \SSST)
        \_SB_.PCI_.ISA_.EC__.SLED(0x80, 0x3)
        If(LNot(LLess(Arg0, 0x3))) {
            \_SB_.PCI_.ISA_.EC__.SLED(0x1, 0x0)
        }
    }
    If(LOr(LEqual(Arg0, 0x1), LEqual(Arg0, 0x3))) {
        \_SB_.HKEY.MHKE(0x0)
    }
    \_SB_.PHS2(0x8f, Arg0)
}

}
/*
BOOT: Length=3D39, Revision=3D1, Checksum=3D165,
	OEMID=3DPTLTD, OEM Table ID=3D$SBFTBL$, OEM Revision=3D0x6040000,
	Creator ID=3D LTP, Creator Revision=3D0x1
 */

--tThc/1wpZn/ma/RB--
