← Back to team overview

hybrid-graphics-linux team mailing list archive

Possibility for switching Hardware MUX

 

Hello hybrid graphics gurus,

just trying to get a usable graphics configuration on my ACER TravelMate P653-MG
with Intel + Nvidia GT640M

in BIOS I have an option to select Graphics between switchable and discrete. When switching to discrete, the intel VGA controller disappears completely from lspci. This makes me thinking that there must be an additional hardware multiplexer in my machine??? Am I right, that those hardware MUXes are usually switched using ACPI? It would really be nice to find out, which ACPI command switches the MUX in either direction. Switching off the nvidia card already works even though i am using the proprietary driver, as the nouveau driver seems not to support my card good enough.

Attached you can find my DSDT, which might be interesting for your projects as well.

lspci says:

00:02.0 VGA compatible controller: Intel Corporation Ivy Bridge Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 0fd2 (rev a1)

Thank you in advance for any hint on that!

Michael from Switzerland
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20100528
 *
 * Disassembly of DSDT.dat, Sun Oct  7 10:35:46 2012
 *
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x0000F6BB (63163)
 *     Revision         0x02
 *     Checksum         0x8C
 *     OEM ID           "ACRSYS"
 *     OEM Table ID     "IVB-CPT"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20061109 (537268489)
 */
DefinitionBlock ("DSDT.aml", "DSDT", 2, "ACRSYS", "IVB-CPT", 0x00000000)
{
    External (MLTF)
    External (OPTF, IntObj)
    External (DSDV, IntObj)
    External (NVGS, IntObj)
    External (CMPB, MethodObj)    // 7 Arguments
    External (NVOP, IntObj)
    External (HNOT, MethodObj)    // 1 Arguments
    External (SNXD)
    External (HWID, IntObj)
    External (IDAB, MethodObj)    // 0 Arguments
    External (HDOS, MethodObj)    // 0 Arguments
    External (TNOT, MethodObj)    // 0 Arguments
    External (PDC7)
    External (PDC6)
    External (PDC5)
    External (PDC4)
    External (PDC3)
    External (PDC2)
    External (PDC1)
    External (PDC0)
    External (CFGD)
    External (\_PR_.CPU0._PSS)
    External (\_PR_.CPU0._PPC)
    External (\_SB_.PCI0.IEIT.EITV, MethodObj)    // 0 Arguments

    Name (SS1, One)
    Name (SS2, Zero)
    Name (SS3, One)
    Name (SS4, One)
    Name (IOST, 0xFFFF)
    Name (SP2O, 0x4E)
    Name (SP1O, 0x164E)
    Name (IO1B, 0x0600)
    Name (IO1L, 0x70)
    Name (IO2B, 0x0680)
    Name (IO2L, 0x20)
    Name (IO3B, 0x0290)
    Name (IO3L, 0x10)
    Name (SP3O, 0x2E)
    Name (IO4B, 0x0A20)
    Name (IO4L, 0x20)
    Name (MCHB, 0xFED10000)
    Name (MCHL, 0x8000)
    Name (EGPB, 0xFED19000)
    Name (EGPL, 0x1000)
    Name (DMIB, 0xFED18000)
    Name (DMIL, 0x1000)
    Name (IFPB, 0xFED14000)
    Name (IFPL, 0x1000)
    Name (PEBS, 0xF8000000)
    Name (PELN, 0x04000000)
    Name (SMBS, 0x0580)
    Name (SMBL, 0x20)
    Name (PBLK, 0x0410)
    Name (PMBS, 0x0400)
    Name (PMLN, 0x80)
    Name (LVL2, 0x0414)
    Name (LVL3, 0x0415)
    Name (LVL4, 0x0416)
    Name (SMIP, 0xB2)
    Name (GPBS, 0x0500)
    Name (GPLN, 0x80)
    Name (APCB, 0xFEC00000)
    Name (APCL, 0x1000)
    Name (PM30, 0x0430)
    Name (SRCB, 0xFED1C000)
    Name (SRCL, 0x4000)
    Name (HPTB, 0xFED00000)
    Name (HPTC, 0xFED1F404)
    Name (ACPH, 0xDE)
    Name (ASSB, Zero)
    Name (AOTB, Zero)
    Name (AAXB, Zero)
    Name (PEHP, One)
    Name (SHPC, One)
    Name (PEPM, One)
    Name (PEER, One)
    Name (PECS, One)
    Name (DSSP, Zero)
    Name (FHPP, Zero)
    Name (FMBL, One)
    Name (FDTP, 0x02)
    Name (FUPS, 0x03)
    Name (BSH, Zero)
    Name (BEL, One)
    Name (BEH, 0x02)
    Name (BRH, 0x03)
    Name (BTF, 0x04)
    Name (BHC, 0x05)
    Name (BYB, 0x06)
    Name (BWB, 0x06)
    Name (BPH, 0x07)
    Name (BSHS, 0x08)
    Name (BELC, 0x09)
    Name (BRHP, 0x0A)
    Name (BTFC, 0x0B)
    Name (BEHP, 0x0C)
    Name (BELP, 0x0E)
    Name (BTL, 0x10)
    Name (BTFP, 0x11)
    Name (BSR, 0x14)
    Name (BCC, 0x1C)
    Name (BOF, 0x20)
    Name (BEF, 0x21)
    Name (BLLE, 0x22)
    Name (BLLC, 0x23)
    Name (BLCA, 0x24)
    Name (BLLS, 0x25)
    Name (BLLP, 0x26)
    Name (BLLD, 0x27)
    Name (BKF, 0x28)
    Name (BHBE, 0x30)
    Name (BHBC, 0x31)
    Name (BHBN, 0x32)
    Name (BHBM, 0x33)
    Name (TCGM, One)
    Name (TRTP, One)
    Name (WDTE, One)
    Name (TRTD, 0x02)
    Name (TRTI, 0x03)
    Name (GCDD, One)
    Name (DSTA, 0x0A)
    Name (DSLO, 0x0C)
    Name (DSLC, 0x0E)
    Name (PITS, 0x10)
    Name (SBCS, 0x12)
    Name (SALS, 0x13)
    Name (LSSS, 0x2A)
    Name (SOOT, 0x35)
    Name (PDBR, 0x4D)
    Name (DPPB, 0xFED98000)
    Name (DPPL, 0x8000)
    OperationRegion (GNVS, SystemMemory, 0xC6F7DE18, 0x01C8)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        OSYS,   16, 
        SMIF,   8, 
        PRM0,   8, 
        PRM1,   8, 
        SCIF,   8, 
        PRM2,   8, 
        PRM3,   8, 
        LCKF,   8, 
        PRM4,   8, 
        PRM5,   8, 
        P80D,   32, 
        LIDS,   8, 
        PWRS,   8, 
        DBGS,   8, 
        THOF,   8, 
        ACT1,   8, 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
        DTSE,   8, 
        DTS1,   8, 
        DTS2,   8, 
        DTSF,   8, 
                Offset (0x25), 
        REVN,   8, 
        IFFS,   8, 
                Offset (0x28), 
        APIC,   8, 
        TCNT,   8, 
        PCP0,   8, 
        PCP1,   8, 
        PPCM,   8, 
        PPMF,   32, 
        C67L,   8, 
        NATP,   8, 
        CMAP,   8, 
        CMBP,   8, 
        LPTP,   8, 
        FDCP,   8, 
        CMCP,   8, 
        CIRP,   8, 
        SMSC,   8, 
        W381,   8, 
        SMC1,   8, 
        IGDS,   8, 
        TLST,   8, 
        CADL,   8, 
        PADL,   8, 
        CSTE,   16, 
        NSTE,   16, 
        SSTE,   16, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
        KSV0,   32, 
        KSV1,   8, 
                Offset (0x67), 
        BLCS,   8, 
        BRTL,   8, 
        ALSE,   8, 
        ALAF,   8, 
        LLOW,   8, 
        LHIH,   8, 
                Offset (0x6E), 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
                Offset (0x74), 
        MEFE,   8, 
        DSTS,   8, 
                Offset (0x77), 
        TCMF,   8, 
        TPMP,   8, 
        TPME,   8, 
        MORD,   8, 
        TCGP,   8, 
        PPRP,   32, 
        PPRQ,   8, 
        LPPR,   8, 
        GTF0,   56, 
        GTF2,   56, 
        IDEM,   8, 
        GTF1,   56, 
        BID,    8, 
        PLID,   8, 
        AOAC,   8, 
        SLDR,   32, 
        WAKR,   8, 
                Offset (0xAA), 
        ASLB,   32, 
        IBTT,   8, 
        IPAT,   8, 
        ITVF,   8, 
        ITVM,   8, 
        IPSC,   8, 
        IBLC,   8, 
        IBIA,   8, 
        ISSC,   8, 
        I409,   8, 
        I509,   8, 
        I609,   8, 
        I709,   8, 
        IPCF,   8, 
        IDMS,   8, 
        IF1E,   8, 
        HVCO,   8, 
        NXD1,   32, 
        NXD2,   32, 
        NXD3,   32, 
        NXD4,   32, 
        NXD5,   32, 
        NXD6,   32, 
        NXD7,   32, 
        NXD8,   32, 
        GSMI,   8, 
        PAVP,   8, 
                Offset (0xE1), 
        OSCC,   8, 
        NEXP,   8, 
        SBV1,   8, 
        SBV2,   8, 
                Offset (0xEB), 
        DSEN,   8, 
        ECON,   8, 
        GPIC,   8, 
        CTYP,   8, 
        L01C,   8, 
        VFN0,   8, 
        VFN1,   8, 
        VFN2,   8, 
        VFN3,   8, 
        VFN4,   8, 
                Offset (0x100), 
        NVGA,   32, 
        NVHA,   32, 
        AMDA,   32, 
        DID6,   32, 
        DID7,   32, 
        DID8,   32, 
        EBAS,   32, 
        CPSP,   32, 
        EECP,   32, 
        EVCP,   32, 
        XBAS,   32, 
        OBS1,   32, 
        OBS2,   32, 
        OBS3,   32, 
        OBS4,   32, 
        OBS5,   32, 
        OBS6,   32, 
        OBS7,   32, 
        OBS8,   32, 
                Offset (0x157), 
        ATMC,   8, 
        PTMC,   8, 
        ATRA,   8, 
        PTRA,   8, 
        PNHM,   32, 
        TBAB,   32, 
        TBAH,   32, 
        RTIP,   8, 
        TSOD,   8, 
        ATPC,   8, 
        PTPC,   8, 
        PFLV,   8, 
        BREV,   8, 
        SGMD,   8, 
        SGFL,   8, 
        PWOK,   8, 
        HLRS,   8, 
        DSEL,   8, 
        ESEL,   8, 
        PSEL,   8, 
        PWEN,   8, 
        PRST,   8, 
        MXD1,   32, 
        MXD2,   32, 
        MXD3,   32, 
        MXD4,   32, 
        MXD5,   32, 
        MXD6,   32, 
        MXD7,   32, 
        MXD8,   32, 
        GBAS,   16, 
        SGGP,   8, 
                Offset (0x19D), 
        ALFP,   8, 
        IMON,   8, 
        PDTS,   8, 
        PKGA,   8, 
        PAMT,   8, 
        AC0F,   8, 
        AC1F,   8, 
        DTS3,   8, 
        DTS4,   8, 
                Offset (0x1B2), 
        XHCI,   8, 
        XHPM,   8, 
                Offset (0x1B7), 
        XTUB,   32, 
        XTUS,   32, 
        XMPB,   32, 
                Offset (0x1C4), 
        LPMV,   8, 
                Offset (0x1C6), 
        DDRF,   8, 
        MM64,   8
    }

    Scope (_SB)
    {
        Name (PR00, Package (0x1F)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR00, Package (0x1F)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0018FFFF, 
                Zero, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                Zero, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PR08, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR08, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PR0E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR0E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR0F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR0F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR0A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR0A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PR0B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR0B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR0C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR0C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PR01, Package (0x0C)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                One, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                LNKF, 
                Zero
            }
        })
        Name (AR01, Package (0x0C)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                One, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                Zero, 
                0x15
            }
        })
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {1,3,4,5,6,10,11,12,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, PRSE)
        Alias (PRSA, PRSF)
        Alias (PRSA, PRSG)
        Alias (PRSA, PRSH)
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A08"))
            Name (_CID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Method (^BN00, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_BBN, 0, NotSerialized)
            {
                Return (BN00 ())
            }

            Name (_UID, Zero)
            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR00 ())
                }

                Return (PR00 ())
            }

            OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
            Field (HBUS, DWordAcc, NoLock, Preserve)
            {
                        Offset (0x40), 
                EPEN,   1, 
                    ,   11, 
                EPBR,   20, 
                        Offset (0x48), 
                MHEN,   1, 
                    ,   14, 
                MHBR,   17, 
                        Offset (0x50), 
                GCLK,   1, 
                        Offset (0x54), 
                D0EN,   1, 
                        Offset (0x60), 
                PXEN,   1, 
                PXSZ,   2, 
                    ,   23, 
                PXBR,   6, 
                        Offset (0x68), 
                DIEN,   1, 
                    ,   11, 
                DIBR,   20, 
                        Offset (0x70), 
                    ,   20, 
                MEBR,   12, 
                        Offset (0x80), 
                    ,   4, 
                PM0H,   2, 
                        Offset (0x81), 
                PM1L,   2, 
                    ,   2, 
                PM1H,   2, 
                        Offset (0x82), 
                PM2L,   2, 
                    ,   2, 
                PM2H,   2, 
                        Offset (0x83), 
                PM3L,   2, 
                    ,   2, 
                PM3H,   2, 
                        Offset (0x84), 
                PM4L,   2, 
                    ,   2, 
                PM4H,   2, 
                        Offset (0x85), 
                PM5L,   2, 
                    ,   2, 
                PM5H,   2, 
                        Offset (0x86), 
                PM6L,   2, 
                    ,   2, 
                PM6H,   2, 
                        Offset (0x87), 
                        Offset (0xA8), 
                    ,   20, 
                TUUD,   19, 
                        Offset (0xBC), 
                    ,   20, 
                TLUD,   12, 
                        Offset (0xC8), 
                    ,   7, 
                HTSE,   1
            }

            OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
            Field (MCHT, ByteAcc, NoLock, Preserve)
            {
            }

            Name (BUF0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000CF7,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000CF8,         // Length
                    ,, , TypeStatic)
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000D00,         // Range Minimum
                    0x0000FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x0000F300,         // Length
                    ,, , TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000A0000,         // Range Minimum
                    0x000BFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C0000,         // Range Minimum
                    0x000C3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C4000,         // Range Minimum
                    0x000C7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C8000,         // Range Minimum
                    0x000CBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000CC000,         // Range Minimum
                    0x000CFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D0000,         // Range Minimum
                    0x000D3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D4000,         // Range Minimum
                    0x000D7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D8000,         // Range Minimum
                    0x000DBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000DC000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E0000,         // Range Minimum
                    0x000E3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E4000,         // Range Minimum
                    0x000E7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E8000,         // Range Minimum
                    0x000EBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000EC000,         // Range Minimum
                    0x000EFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000F0000,         // Range Minimum
                    0x000FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00010000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0xFEAFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0xFEB00000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x0000000000000000, // Granularity
                    0x0000000000010000, // Range Minimum
                    0x000000000001FFFF, // Range Maximum
                    0x0000000000000000, // Translation Offset
                    0x0000000000010000, // Length
                    ,, , AddressRangeMemory, TypeStatic)
            })
            Method (_CRS, 0, Serialized)
            {
                CreateWordField (BUF0, 0x0A, PBMX)
                Store (Subtract (ShiftRight (PELN, 0x14), 0x02), PBMX)
                CreateWordField (BUF0, 0x0E, PBLN)
                Store (Subtract (ShiftRight (PELN, 0x14), One), PBLN)
                If (PM1L)
                {
                    CreateDWordField (BUF0, 0x7C, C0LN)
                    Store (Zero, C0LN)
                }

                If (LEqual (PM1L, One))
                {
                    CreateBitField (BUF0, 0x0358, C0RW)
                    Store (Zero, C0RW)
                }

                If (PM1H)
                {
                    CreateDWordField (BUF0, 0x96, C4LN)
                    Store (Zero, C4LN)
                }

                If (LEqual (PM1H, One))
                {
                    CreateBitField (BUF0, 0x0428, C4RW)
                    Store (Zero, C4RW)
                }

                If (PM2L)
                {
                    CreateDWordField (BUF0, 0xB0, C8LN)
                    Store (Zero, C8LN)
                }

                If (LEqual (PM2L, One))
                {
                    CreateBitField (BUF0, 0x04F8, C8RW)
                    Store (Zero, C8RW)
                }

                If (PM2H)
                {
                    CreateDWordField (BUF0, 0xCA, CCLN)
                    Store (Zero, CCLN)
                }

                If (LEqual (PM2H, One))
                {
                    CreateBitField (BUF0, 0x05C8, CCRW)
                    Store (Zero, CCRW)
                }

                If (PM3L)
                {
                    CreateDWordField (BUF0, 0xE4, D0LN)
                    Store (Zero, D0LN)
                }

                If (LEqual (PM3L, One))
                {
                    CreateBitField (BUF0, 0x0698, D0RW)
                    Store (Zero, D0RW)
                }

                If (PM3H)
                {
                    CreateDWordField (BUF0, 0xFE, D4LN)
                    Store (Zero, D4LN)
                }

                If (LEqual (PM3H, One))
                {
                    CreateBitField (BUF0, 0x0768, D4RW)
                    Store (Zero, D4RW)
                }

                If (PM4L)
                {
                    CreateDWordField (BUF0, 0x0118, D8LN)
                    Store (Zero, D8LN)
                }

                If (LEqual (PM4L, One))
                {
                    CreateBitField (BUF0, 0x0838, D8RW)
                    Store (Zero, D8RW)
                }

                If (PM4H)
                {
                    CreateDWordField (BUF0, 0x0132, DCLN)
                    Store (Zero, DCLN)
                }

                If (LEqual (PM4H, One))
                {
                    CreateBitField (BUF0, 0x0908, DCRW)
                    Store (Zero, DCRW)
                }

                If (PM5L)
                {
                    CreateDWordField (BUF0, 0x014C, E0LN)
                    Store (Zero, E0LN)
                }

                If (LEqual (PM5L, One))
                {
                    CreateBitField (BUF0, 0x09D8, E0RW)
                    Store (Zero, E0RW)
                }

                If (PM5H)
                {
                    CreateDWordField (BUF0, 0x0166, E4LN)
                    Store (Zero, E4LN)
                }

                If (LEqual (PM5H, One))
                {
                    CreateBitField (BUF0, 0x0AA8, E4RW)
                    Store (Zero, E4RW)
                }

                If (PM6L)
                {
                    CreateDWordField (BUF0, 0x0180, E8LN)
                    Store (Zero, E8LN)
                }

                If (LEqual (PM6L, One))
                {
                    CreateBitField (BUF0, 0x0B78, E8RW)
                    Store (Zero, E8RW)
                }

                If (PM6H)
                {
                    CreateDWordField (BUF0, 0x019A, ECLN)
                    Store (Zero, ECLN)
                }

                If (LEqual (PM6H, One))
                {
                    CreateBitField (BUF0, 0x0C48, ECRW)
                    Store (Zero, ECRW)
                }

                If (PM0H)
                {
                    CreateDWordField (BUF0, 0x01B4, F0LN)
                    Store (Zero, F0LN)
                }

                If (LEqual (PM0H, One))
                {
                    CreateBitField (BUF0, 0x0D18, F0RW)
                    Store (Zero, F0RW)
                }

                CreateDWordField (BUF0, 0x01C2, M1MN)
                CreateDWordField (BUF0, 0x01C6, M1MX)
                CreateDWordField (BUF0, 0x01CE, M1LN)
                ShiftLeft (TLUD, 0x14, M1MN)
                Add (Subtract (M1MX, M1MN), One, M1LN)
                If (LOr (LEqual (MM64, Zero), LLessEqual (OSYS, 0x07D3)))
                {
                    CreateDWordField (BUF0, 0x01F8, MSLN)
                    Store (Zero, MSLN)
                }
                Else
                {
                    CreateQWordField (BUF0, 0x01F8, M2LN)
                    CreateQWordField (BUF0, 0x01E0, M2MN)
                    CreateQWordField (BUF0, 0x01E8, M2MX)
                    Store (0x0000000400000000, M2LN)
                    If (LGreaterEqual (TUUD, 0x1000))
                    {
                        ShiftLeft (TUUD, 0x14, M2MN)
                    }
                    Else
                    {
                        Store (0x0000000100000000, M2MN)
                    }

                    Subtract (Add (M2MN, M2LN), One, M2MX)
                }

                Return (BUF0)
            }

            Name (GUID, Buffer (0x10)
            {
                /* 0000 */    0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, 
                /* 0008 */    0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
            })
            Name (SUPP, Zero)
            Name (CTRL, Zero)
            Name (XCNT, Zero)
            Method (_OSC, 4, Serialized)
            {
                Store (Arg3, Local0)
                CreateDWordField (Local0, Zero, CDW1)
                CreateDWordField (Local0, 0x04, CDW2)
                CreateDWordField (Local0, 0x08, CDW3)
                If (^XHC.CUID (Arg0))
                {
                    Return (^XHC.POSC (Arg1, Arg2, Arg3))
                }
                Else
                {
                    If (_OSI ("Windows 2012"))
                    {
                        If (LEqual (XCNT, Zero))
                        {
                            ^XHC.XSEL ()
                            Increment (XCNT)
                        }
                    }
                }

                If (LAnd (LEqual (Arg0, GUID), NEXP))
                {
                    Store (CDW2, SUPP)
                    Store (CDW3, CTRL)
                    If (Not (And (CDW1, One)))
                    {
                        If (And (CTRL, One))
                        {
                            NHPG ()
                        }

                        If (And (CTRL, 0x04))
                        {
                            NPME ()
                        }
                    }

                    If (LNotEqual (Arg1, One))
                    {
                        Or (CDW1, 0x08, CDW1)
                    }

                    If (LNotEqual (CDW3, CTRL))
                    {
                        Or (CDW1, 0x10, CDW1)
                    }

                    Store (CTRL, CDW3)
                    Store (CTRL, OSCC)
                    Return (Local0)
                }
                Else
                {
                    Or (CDW1, 0x04, CDW1)
                    Return (Local0)
                }
            }

            Scope (\_SB.PCI0)
            {
                Method (AR00, 0, NotSerialized)
                {
                    Return (^^AR00)
                }

                Method (PR00, 0, NotSerialized)
                {
                    Return (^^PR00)
                }

                Method (AR01, 0, NotSerialized)
                {
                    Return (^^AR01)
                }

                Method (PR01, 0, NotSerialized)
                {
                    Return (^^PR01)
                }

                Method (AR02, 0, NotSerialized)
                {
                    Return (^^AR02)
                }

                Method (PR02, 0, NotSerialized)
                {
                    Return (^^PR02)
                }

                Method (AR04, 0, NotSerialized)
                {
                    Return (^^AR04)
                }

                Method (PR04, 0, NotSerialized)
                {
                    Return (^^PR04)
                }

                Method (AR05, 0, NotSerialized)
                {
                    Return (^^AR05)
                }

                Method (PR05, 0, NotSerialized)
                {
                    Return (^^PR05)
                }

                Method (AR06, 0, NotSerialized)
                {
                    Return (^^AR06)
                }

                Method (PR06, 0, NotSerialized)
                {
                    Return (^^PR06)
                }

                Method (AR07, 0, NotSerialized)
                {
                    Return (^^AR07)
                }

                Method (PR07, 0, NotSerialized)
                {
                    Return (^^PR07)
                }

                Method (AR08, 0, NotSerialized)
                {
                    Return (^^AR08)
                }

                Method (PR08, 0, NotSerialized)
                {
                    Return (^^PR08)
                }

                Method (AR09, 0, NotSerialized)
                {
                    Return (^^AR09)
                }

                Method (PR09, 0, NotSerialized)
                {
                    Return (^^PR09)
                }

                Method (AR0A, 0, NotSerialized)
                {
                    Return (^^AR0A)
                }

                Method (PR0A, 0, NotSerialized)
                {
                    Return (^^PR0A)
                }

                Method (AR0B, 0, NotSerialized)
                {
                    Return (^^AR0B)
                }

                Method (PR0B, 0, NotSerialized)
                {
                    Return (^^PR0B)
                }
            }

            Device (P0P1)
            {
                Name (_ADR, 0x001E0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR01 ())
                    }

                    Return (PR01 ())
                }
            }

            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)
                Scope (\_SB)
                {
                    Name (TCGP, Buffer (0x08)
                    {
                        /* 0000 */    0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0
                    })
                    CreateByteField (TCGP, Zero, PPRQ)
                    CreateByteField (TCGP, One, PPL1)
                    CreateByteField (TCGP, 0x02, PPRP)
                    CreateByteField (TCGP, 0x03, TPRS)
                    CreateByteField (TCGP, 0x04, PPOR)
                    CreateByteField (TCGP, 0x05, TPMV)
                    CreateByteField (TCGP, 0x06, MOR)
                    CreateByteField (TCGP, 0x07, TVEN)
                    OperationRegion (TCGC, SystemIO, 0x72, 0x02)
                    Field (TCGC, ByteAcc, Lock, Preserve)
                    {
                        TIDX,   8, 
                        TPDA,   8
                    }

                    IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x40), 
                        TPP1,   8, 
                        PPLO,   8, 
                        TPP3,   8
                    }

                    OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
                    Field (SMIP, WordAcc, NoLock, Preserve)
                    {
                        SMIT,   8, 
                        SMID,   8
                    }

                    OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
                    Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
                    {
                                Offset (0x20), 
                        PARC,   8, 
                        PBRC,   8, 
                        PCRC,   8, 
                        PDRC,   8, 
                                Offset (0x28), 
                        PERC,   8, 
                        PFRC,   8, 
                        PGRC,   8, 
                        PHRC,   8, 
                                Offset (0x6C), 
                                Offset (0x6D), 
                                Offset (0x6E), 
                        XUSB,   1
                    }

                    Device (LNKA)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, One)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PARC, 0x80, PARC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSA)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLA, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLA, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PARC, 0x0F), IRQ0)
                            Return (RTLA)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PARC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PARC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKB)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x02)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PBRC, 0x80, PBRC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSB)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLB, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLB, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
                            Return (RTLB)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PBRC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PBRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKC)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x03)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PCRC, 0x80, PCRC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSC)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLC, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLC, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
                            Return (RTLC)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PCRC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PCRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKD)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x04)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PDRC, 0x80, PDRC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSD)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLD, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLD, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
                            Return (RTLD)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PDRC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PDRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKE)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x05)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PERC, 0x80, PERC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSE)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLE, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLE, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PERC, 0x0F), IRQ0)
                            Return (RTLE)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PERC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PERC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKF)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x06)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PFRC, 0x80, PFRC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSF)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLF, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLF, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
                            Return (RTLF)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PFRC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PFRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKG)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x07)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PGRC, 0x80, PGRC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSG)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLG, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLG, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
                            Return (RTLG)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PGRC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PGRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKH)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))
                        Name (_UID, 0x08)
                        Method (_DIS, 0, Serialized)
                        {
                            Or (PHRC, 0x80, PHRC)
                        }

                        Method (_PRS, 0, Serialized)
                        {
                            Return (PRSH)
                        }

                        Method (_CRS, 0, Serialized)
                        {
                            Name (RTLH, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, )
                                    {}
                            })
                            CreateWordField (RTLH, One, IRQ0)
                            Store (Zero, IRQ0)
                            ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
                            Return (RTLH)
                        }

                        Method (_SRS, 1, Serialized)
                        {
                            CreateWordField (Arg0, One, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PHRC)
                        }

                        Method (_STA, 0, Serialized)
                        {
                            If (And (PHRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }
                }

                OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
                Field (LPC0, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x40), 
                    IOD0,   8, 
                    IOD1,   8, 
                            Offset (0xB0), 
                    RAEN,   1, 
                        ,   13, 
                    RCBA,   18
                }

                Device (DMAC)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        IO (Decode16,
                            0x0081,             // Range Minimum
                            0x0081,             // Range Maximum
                            0x01,               // Alignment
                            0x11,               // Length
                            )
                        IO (Decode16,
                            0x0093,             // Range Minimum
                            0x0093,             // Range Maximum
                            0x01,               // Alignment
                            0x0D,               // Length
                            )
                        IO (Decode16,
                            0x00C0,             // Range Minimum
                            0x00C0,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        DMA (Compatibility, NotBusMaster, Transfer8_16, )
                            {4}
                    })
                }

                Device (FWHD)
                {
                    Name (_HID, EisaId ("INT0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFF000000,         // Address Base
                            0x01000000,         // Address Length
                            )
                    })
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_UID, Zero)
                    Name (BUF0, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LGreaterEqual (OSYS, 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (Zero)
                    }

                    Method (_CRS, 0, Serialized)
                    {
                        If (HPAE)
                        {
                            CreateDWordField (BUF0, 0x04, HPT0)
                            If (LEqual (HPAS, One))
                            {
                                Store (0xFED01000, HPT0)
                            }

                            If (LEqual (HPAS, 0x02))
                            {
                                Store (0xFED02000, HPT0)
                            }

                            If (LEqual (HPAS, 0x03))
                            {
                                Store (0xFED03000, HPT0)
                            }
                        }

                        Return (BUF0)
                    }
                }

                Device (IPIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0024,             // Range Minimum
                            0x0024,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0028,             // Range Minimum
                            0x0028,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x002C,             // Range Minimum
                            0x002C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0030,             // Range Minimum
                            0x0030,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0034,             // Range Minimum
                            0x0034,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0038,             // Range Minimum
                            0x0038,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x003C,             // Range Minimum
                            0x003C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A4,             // Range Minimum
                            0x00A4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A8,             // Range Minimum
                            0x00A8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00AC,             // Range Minimum
                            0x00AC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B0,             // Range Minimum
                            0x00B0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B4,             // Range Minimum
                            0x00B4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B8,             // Range Minimum
                            0x00B8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00BC,             // Range Minimum
                            0x00BC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (MATH)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x00F0,             // Range Minimum
                            0x00F0,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IRQNoFlags ()
                            {13}
                    })
                }

                Device (LDRC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x02)
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x002E,             // Range Minimum
                            0x002E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x004E,             // Range Minimum
                            0x004E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0063,             // Range Minimum
                            0x0063,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0067,             // Range Minimum
                            0x0067,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0092,             // Range Minimum
                            0x0092,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00B2,             // Range Minimum
                            0x00B2,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x1000,             // Range Minimum
                            0x1000,             // Range Maximum
                            0x01,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0xFFFF,             // Range Minimum
                            0xFFFF,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0xFFFF,             // Range Minimum
                            0xFFFF,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0400,             // Range Minimum
                            0x0400,             // Range Maximum
                            0x01,               // Alignment
                            0x54,               // Length
                            )
                        IO (Decode16,
                            0x0458,             // Range Minimum
                            0x0458,             // Range Maximum
                            0x01,               // Alignment
                            0x28,               // Length
                            )
                        IO (Decode16,
                            0x0500,             // Range Minimum
                            0x0500,             // Range Maximum
                            0x01,               // Alignment
                            0x80,               // Length
                            )
                        IO (Decode16,
                            0x0068,             // Range Minimum
                            0x0068,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFE800000,         // Address Base
                            0x00010000,         // Address Length
                            )
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                }

                Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                        IO (Decode16,
                            0x0050,             // Range Minimum
                            0x0050,             // Range Maximum
                            0x10,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }

                Device (CWDT)
                {
                    Name (_HID, EisaId ("INT3F0D"))
                    Name (_CID, EisaId ("PNP0C02"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0454,             // Range Minimum
                            0x0454,             // Range Maximum
                            0x04,               // Alignment
                            0x04,               // Length
                            )
                    })
                    Method (_STA, 0, Serialized)
                    {
                        If (LEqual (WDTE, One))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Method (_CRS, 0, Serialized)
                    {
                        Return (BUF0)
                    }
                }

                OperationRegion (TPMF, SystemMemory, 0xC6F6BF98, 0x0004)
                Field (TPMF, AnyAcc, Lock, Preserve)
                {
                    PPIP,   8, 
                    PPIC,   8
                }

                Device (TPM)
                {
                    Name (TMPV, Zero)
                    Method (_HID, 0, NotSerialized)
                    {
                        If (LEqual (TVID, 0x15D1))
                        {
                            Return (0x0201D824)
                        }

                        If (LOr (LEqual (TVID, 0x1050), LEqual (TVID, 0x100B)))
                        {
                            Return (0x0010A35C)
                        }

                        If (LEqual (TVID, 0x19FA))
                        {
                            Return (0x0435CF4D)
                        }

                        If (LEqual (TDID, 0x1002))
                        {
                            Return (0x02016D08)
                        }

                        If (LEqual (TDID, 0x1001))
                        {
                            Return (0x01016D08)
                        }

                        If (LEqual (TVID, 0x1114))
                        {
                            Return (0x00128D06)
                        }

                        Return (0x310CD041)
                    }

                    Name (_CID, EisaId ("PNP0C31"))
                    Name (_UID, One)
                    OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
                    Field (TMMB, ByteAcc, Lock, Preserve)
                    {
                        ACCS,   8, 
                                Offset (0x18), 
                        TSTA,   8, 
                        TBCA,   8, 
                                Offset (0xF00), 
                        TVID,   16, 
                        TDID,   16
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (ACCS, 0xFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            If (LEqual (TPMP, One))
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFED40000,         // Address Base
                            0x00005000,         // Address Length
                            )
                    })
                    Method (UCMP, 2, NotSerialized)
                    {
                        If (LNotEqual (0x10, SizeOf (Arg0)))
                        {
                            Return (Zero)
                        }

                        If (LNotEqual (0x10, SizeOf (Arg1)))
                        {
                            Return (Zero)
                        }

                        Store (Zero, Local0)
                        While (LLess (Local0, 0x10))
                        {
                            If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
                                Arg1, Local0))))
                            {
                                Return (Zero)
                            }

                            Increment (Local0)
                        }

                        Return (One)
                    }

                    Method (_DSM, 4, Serialized)
                    {
                        Name (TTMP, Buffer (One)
                        {
                            0x00
                        })
                        CreateByteField (TTMP, Zero, TMPV)
                        If (LEqual (UCMP (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, 
                                        /* 0008 */    0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
                                    }), One))
                        {
                            If (LEqual (Arg2, Zero))
                            {
                                Return (Buffer (0x02)
                                {
                                    0xFF, 0x01
                                })
                            }

                            If (LEqual (Arg2, One))
                            {
                                Return (Buffer (0x04)
                                {
                                    "1.2"
                                })
                            }

                            If (LEqual (Arg2, 0x02))
                            {
                                Store (TPP3, TMPV)
                                If (And (TMPV, TPRS))
                                {
                                    If (LLessEqual (DerefOf (Index (Arg3, Zero)), 0x0B))
                                    {
                                        Store (DerefOf (Index (Arg3, Zero)), TPP1)
                                        Return (Zero)
                                    }

                                    If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, Zero)), 0x0E), 
                                        LLessEqual (DerefOf (Index (Arg3, Zero)), 0x12)))
                                    {
                                        Store (DerefOf (Index (Arg3, Zero)), TPP1)
                                        Return (Zero)
                                    }

                                    If (LOr (LEqual (DerefOf (Index (Arg3, Zero)), 0x15), LEqual (
                                        DerefOf (Index (Arg3, Zero)), 0x16)))
                                    {
                                        Store (DerefOf (Index (Arg3, Zero)), TPP1)
                                        Return (Zero)
                                    }

                                    Return (One)
                                }

                                Return (0x02)
                            }

                            If (LEqual (Arg2, 0x03))
                            {
                                Name (TMP1, Package (0x02)
                                {
                                    Zero, 
                                    0xFFFFFFFF
                                })
                                Store (TPP1, TMPV)
                                Store (And (TMPV, PPRQ, TMPV), Index (TMP1, One))
                                Return (TMP1)
                            }

                            If (LEqual (Arg2, 0x04))
                            {
                                Return (0x02)
                            }

                            If (LEqual (Arg2, 0x05))
                            {
                                Name (TMP2, Package (0x03)
                                {
                                    Zero, 
                                    0xFFFFFFFF, 
                                    0xFFFFFFFF
                                })
                                Store (PPLO, TMPV)
                                And (TMPV, 0x7F, TMPV)
                                Store (TMPV, Index (TMP2, One))
                                If (LGreaterEqual (PPLO, 0x80))
                                {
                                    Store (Zero, Index (TMP2, 0x02))
                                    Return (TMP2)
                                }

                                Store (0xFFFFFFF1, Index (TMP2, 0x02))
                                Return (TMP2)
                            }

                            If (LEqual (Arg2, 0x06))
                            {
                                Return (0x03)
                            }

                            If (LEqual (Arg2, 0x07))
                            {
                                Store (TPP3, TMPV)
                                If (And (TMPV, TPRS))
                                {
                                    If (LLessEqual (DerefOf (Index (Arg3, Zero)), 0x0B))
                                    {
                                        Store (DerefOf (Index (Arg3, Zero)), TPP1)
                                        Return (Zero)
                                    }

                                    If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, Zero)), 0x0E), 
                                        LLessEqual (DerefOf (Index (Arg3, Zero)), 0x12)))
                                    {
                                        Store (DerefOf (Index (Arg3, Zero)), TPP1)
                                        Return (Zero)
                                    }

                                    If (LOr (LEqual (DerefOf (Index (Arg3, Zero)), 0x15), LEqual (
                                        DerefOf (Index (Arg3, Zero)), 0x16)))
                                    {
                                        Store (DerefOf (Index (Arg3, Zero)), TPP1)
                                        Return (Zero)
                                    }

                                    Return (One)
                                }

                                Return (0x02)
                            }

                            If (LEqual (Arg2, 0x08))
                            {
                                If (LEqual (DerefOf (Index (Arg3, Zero)), 0x05))
                                {
                                    If (LGreater (PPIC, Zero))
                                    {
                                        Return (0x04)
                                    }

                                    Return (0x03)
                                }

                                If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, Zero)), One), 
                                    LLessEqual (DerefOf (Index (Arg3, Zero)), 0x04)))
                                {
                                    If (LGreater (PPIP, Zero))
                                    {
                                        Return (0x04)
                                    }

                                    Return (0x03)
                                }

                                If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, Zero)), 0x06), 
                                    LLessEqual (DerefOf (Index (Arg3, Zero)), 0x0B)))
                                {
                                    If (LGreater (PPIP, Zero))
                                    {
                                        Return (0x04)
                                    }

                                    Return (0x03)
                                }

                                If (LOr (LEqual (DerefOf (Index (Arg3, Zero)), 0x0E), LAnd (
                                    LGreaterEqual (DerefOf (Index (Arg3, Zero)), 0x15), LLessEqual (DerefOf (
                                    Index (Arg3, Zero)), 0x16))))
                                {
                                    If (LAnd (LGreater (PPIP, Zero), LGreater (PPIC, Zero)))
                                    {
                                        Return (0x04)
                                    }

                                    Return (0x03)
                                }

                                If (LOr (LEqual (DerefOf (Index (Arg3, Zero)), 0x10), LEqual (
                                    DerefOf (Index (Arg3, Zero)), 0x12)))
                                {
                                    Return (0x03)
                                }

                                If (LOr (LEqual (DerefOf (Index (Arg3, Zero)), Zero), LOr (
                                    LEqual (DerefOf (Index (Arg3, Zero)), 0x0F), LEqual (DerefOf (Index (Arg3, 
                                    Zero)), 0x11))))
                                {
                                    Return (0x04)
                                }

                                Return (Zero)
                            }

                            Return (One)
                        }

                        If (LEqual (UCMP (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, 
                                        /* 0008 */    0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
                                    }), One))
                        {
                            If (LEqual (Arg2, Zero))
                            {
                                Return (Buffer (One)
                                {
                                    0x01
                                })
                            }

                            If (LEqual (Arg2, One))
                            {
                                If (LEqual (DerefOf (Index (Arg3, Zero)), Zero))
                                {
                                    Store (0x80, TPP1)
                                    Return (Zero)
                                }

                                If (LEqual (DerefOf (Index (Arg3, Zero)), One))
                                {
                                    Store (0x81, TPP1)
                                    Return (Zero)
                                }
                            }

                            Return (One)
                        }

                        Return (Buffer (One)
                        {
                            0x00
                        })
                    }
                }

                Device (TCM)
                {
                    Name (TMPV, Zero)
                    Method (_HID, 0, NotSerialized)
                    {
                        If (LEqual (TVID, 0x1B4E))
                        {
                            Return (0x01012369)
                        }

                        Return (0x310CD041)
                    }

                    Name (_CID, EisaId ("ZIC0101"))
                    Name (_UID, Zero)
                    OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
                    Field (TMMB, ByteAcc, Lock, Preserve)
                    {
                        ACCS,   8, 
                                Offset (0x18), 
                        TSTA,   8, 
                        TBCA,   8, 
                                Offset (0xF00), 
                        TVID,   16, 
                        TDID,   16
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (ACCS, 0xFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            If (LEqual (TCMF, One))
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFED40000,         // Address Base
                            0x00005000,         // Address Length
                            )
                    })
                }
            }
        }
    }

    Scope (_PR)
    {
        Processor (CPU0, 0x01, 0x00000410, 0x06) {}
        Processor (CPU1, 0x02, 0x00000410, 0x06) {}
        Processor (CPU2, 0x03, 0x00000410, 0x06) {}
        Processor (CPU3, 0x04, 0x00000410, 0x06) {}
        Processor (CPU4, 0x05, 0x00000410, 0x06) {}
        Processor (CPU5, 0x06, 0x00000410, 0x06) {}
        Processor (CPU6, 0x07, 0x00000410, 0x06) {}
        Processor (CPU7, 0x08, 0x00000410, 0x06) {}
    }

    Mutex (MUTX, 0x00)
    OperationRegion (PRT0, SystemIO, 0x80, 0x04)
    Field (PRT0, DWordAcc, Lock, Preserve)
    {
        P80H,   32
    }

    Method (P8XH, 2, Serialized)
    {
        If (LEqual (Arg0, Zero))
        {
            Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
        }

        If (LEqual (Arg0, One))
        {
            Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
                ), P80D)
        }

        If (LEqual (Arg0, 0x02))
        {
            Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
                ), P80D)
        }

        If (LEqual (Arg0, 0x03))
        {
            Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
                ), P80D)
        }

        Store (P80D, P80H)
    }

    OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
    Field (SPRT, ByteAcc, Lock, Preserve)
    {
        SSMP,   8
    }

    Method (_PIC, 1, NotSerialized)
    {
        Store (Arg0, GPIC)
        Store (Arg0, PICM)
    }

    Method (_PTS, 1, NotSerialized)
    {
        Store (Zero, P80D)
        P8XH (Zero, Arg0)
        \_SB.PCI0.LPCB.EC0.ECPS (Arg0)
    }

    Method (_WAK, 1, Serialized)
    {
        P8XH (One, 0xAB)
        \_SB.PCI0.LPCB.EC0.ECWK (Arg0)
        If (NEXP)
        {
            If (And (OSCC, 0x02))
            {
                \_SB.PCI0.NHPG ()
            }

            If (And (OSCC, 0x04))
            {
                \_SB.PCI0.NPME ()
            }
        }

        If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
        {
            If (LEqual (OSYS, 0x07D2))
            {
                If (And (CFGD, One))
                {
                    If (LGreater (\_PR.CPU0._PPC, Zero))
                    {
                        Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                        Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                    }
                    Else
                    {
                        Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                        Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                        PNOT ()
                    }
                }
            }

            If (LEqual (RP1D, Zero))
            {
                Notify (\_SB.PCI0.RP01, Zero)
            }

            If (LEqual (RP2D, Zero))
            {
                Notify (\_SB.PCI0.RP02, Zero)
            }

            If (LEqual (RP3D, Zero))
            {
                Notify (\_SB.PCI0.RP03, Zero)
            }

            If (LEqual (RP4D, Zero))
            {
                Notify (\_SB.PCI0.RP04, Zero)
            }

            If (LEqual (RP5D, Zero))
            {
                Notify (\_SB.PCI0.RP05, Zero)
            }

            If (LEqual (RP6D, Zero))
            {
                Notify (\_SB.PCI0.RP06, Zero)
            }

            If (LEqual (RP7D, Zero))
            {
                Notify (\_SB.PCI0.RP07, Zero)
            }

            If (LEqual (RP8D, Zero))
            {
                Notify (\_SB.PCI0.RP08, Zero)
            }
        }

        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }

    Method (GETB, 3, Serialized)
    {
        Multiply (Arg0, 0x08, Local0)
        Multiply (Arg1, 0x08, Local1)
        CreateField (Arg2, Local0, Local1, TBF3)
        Return (TBF3)
    }

    Method (PNOT, 0, Serialized)
    {
        If (LGreater (TCNT, One))
        {
            If (And (PDC0, 0x08))
            {
                Notify (\_PR.CPU0, 0x80)
                If (And (PDC0, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU0, 0x81)
                }
            }

            If (And (PDC1, 0x08))
            {
                Notify (\_PR.CPU1, 0x80)
                If (And (PDC1, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU1, 0x81)
                }
            }

            If (And (PDC2, 0x08))
            {
                Notify (\_PR.CPU2, 0x80)
                If (And (PDC2, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU2, 0x81)
                }
            }

            If (And (PDC3, 0x08))
            {
                Notify (\_PR.CPU3, 0x80)
                If (And (PDC3, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU3, 0x81)
                }
            }

            If (And (PDC4, 0x08))
            {
                Notify (\_PR.CPU4, 0x80)
                If (And (PDC4, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU4, 0x81)
                }
            }

            If (And (PDC5, 0x08))
            {
                Notify (\_PR.CPU5, 0x80)
                If (And (PDC5, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU5, 0x81)
                }
            }

            If (And (PDC6, 0x08))
            {
                Notify (\_PR.CPU6, 0x80)
                If (And (PDC6, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU6, 0x81)
                }
            }

            If (And (PDC7, 0x08))
            {
                Notify (\_PR.CPU7, 0x80)
                If (And (PDC7, 0x10))
                {
                    Sleep (0x64)
                    Notify (\_PR.CPU7, 0x81)
                }
            }
        }
        Else
        {
            Notify (\_PR.CPU0, 0x80)
            Sleep (0x64)
            Notify (\_PR.CPU0, 0x81)
        }
    }

    Method (TRAP, 2, Serialized)
    {
        Store (Arg1, SMIF)
        If (LEqual (Arg0, TRTP))
        {
            Store (Zero, TRP0)
        }

        If (LEqual (Arg0, TRTD))
        {
            Store (Arg1, DTSF)
            Store (Zero, TRPD)
            Return (DTSF)
        }

        If (LEqual (Arg0, TRTI))
        {
            Store (Zero, TRPH)
        }

        Return (SMIF)
    }

    Scope (_SB.PCI0)
    {
        Method (_INI, 0, NotSerialized)
        {
            Store (0x07D0, OSYS)
            If (CondRefOf (_OSI, Local0))
            {
                If (_OSI ("Windows 2001"))
                {
                    Store (0x07D1, OSYS)
                }

                If (_OSI ("Windows 2001 SP1"))
                {
                    Store (0x07D1, OSYS)
                }

                If (_OSI ("Windows 2001 SP2"))
                {
                    Store (0x07D2, OSYS)
                }

                If (_OSI ("Windows 2001.1"))
                {
                    Store (0x07D3, OSYS)
                }

                If (_OSI ("Windows 2006"))
                {
                    Store (0x07D6, OSYS)
                }

                If (_OSI ("Windows 2009"))
                {
                    Store (0x07D9, OSYS)
                }

                If (_OSI ("Linux"))
                {
                    Store (0x03E8, OSYS)
                }
            }
        }

        Method (NHPG, 0, Serialized)
        {
            Store (Zero, ^RP01.HPEX)
            Store (Zero, ^RP02.HPEX)
            Store (Zero, ^RP03.HPEX)
            Store (Zero, ^RP04.HPEX)
            Store (One, ^RP01.HPSX)
            Store (One, ^RP02.HPSX)
            Store (One, ^RP03.HPSX)
            Store (One, ^RP04.HPSX)
        }

        Method (NPME, 0, Serialized)
        {
            Store (Zero, ^RP01.PMEX)
            Store (Zero, ^RP02.PMEX)
            Store (Zero, ^RP03.PMEX)
            Store (Zero, ^RP04.PMEX)
            Store (Zero, ^RP05.PMEX)
            Store (Zero, ^RP06.PMEX)
            Store (Zero, ^RP07.PMEX)
            Store (Zero, ^RP08.PMEX)
            Store (One, ^RP01.PMSX)
            Store (One, ^RP02.PMSX)
            Store (One, ^RP03.PMSX)
            Store (One, ^RP04.PMSX)
            Store (One, ^RP05.PMSX)
            Store (One, ^RP06.PMSX)
            Store (One, ^RP07.PMSX)
            Store (One, ^RP08.PMSX)
        }
    }

    Scope (\)
    {
        Name (PICM, Zero)
        Name (PRWP, Package (0x02)
        {
            Zero, 
            Zero
        })
        Method (GPRW, 2, NotSerialized)
        {
            Store (Arg0, Index (PRWP, Zero))
            Store (ShiftLeft (SS1, One), Local0)
            Or (Local0, ShiftLeft (SS2, 0x02), Local0)
            Or (Local0, ShiftLeft (SS3, 0x03), Local0)
            Or (Local0, ShiftLeft (SS4, 0x04), Local0)
            If (And (ShiftLeft (One, Arg1), Local0))
            {
                Store (Arg1, Index (PRWP, One))
            }
            Else
            {
                ShiftRight (Local0, One, Local0)
                FindSetLeftBit (Local0, Index (PRWP, One))
            }

            Return (PRWP)
        }
    }

    Scope (_SB.PCI0)
    {
        Device (PDRC)
        {
            Name (_HID, EisaId ("PNP0C02"))
            Name (_UID, One)
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00004000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00008000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED20000,         // Address Base
                    0x00020000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFED90000,         // Address Base
                    0x00004000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED45000,         // Address Base
                    0x0004B000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFF000000,         // Address Base
                    0x01000000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFEE00000,         // Address Base
                    0x00100000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    )
            })
            Method (_CRS, 0, Serialized)
            {
                CreateDWordField (BUF0, 0x04, RBR0)
                ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)
                CreateDWordField (BUF0, 0x7C, TBR0)
                Store (TBAB, TBR0)
                CreateDWordField (BUF0, 0x80, TBLN)
                If (LEqual (TBAB, Zero))
                {
                    Store (Zero, TBLN)
                }

                CreateDWordField (BUF0, 0x10, MBR0)
                ShiftLeft (MHBR, 0x0F, MBR0)
                CreateDWordField (BUF0, 0x1C, DBR0)
                ShiftLeft (DIBR, 0x0C, DBR0)
                CreateDWordField (BUF0, 0x28, EBR0)
                ShiftLeft (EPBR, 0x0C, EBR0)
                CreateDWordField (BUF0, 0x34, XBR0)
                ShiftLeft (PXBR, 0x1A, XBR0)
                CreateDWordField (BUF0, 0x38, XSZ0)
                ShiftRight (0x10000000, PXSZ, XSZ0)
                Return (BUF0)
            }
        }
    }

    Method (BRTN, 1, Serialized)
    {
        If (LEqual (And (DID1, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD01, Arg0)
        }

        If (LEqual (And (DID2, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD02, Arg0)
        }

        If (LEqual (And (DID3, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD03, Arg0)
        }

        If (LEqual (And (DID4, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD04, Arg0)
        }

        If (LEqual (And (DID5, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD05, Arg0)
        }

        If (LEqual (And (DID6, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD06, Arg0)
        }

        If (LEqual (And (DID7, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD07, Arg0)
        }

        If (LEqual (And (DID8, 0x0F00), 0x0400))
        {
            Notify (\_SB.PCI0.GFX0.DD08, Arg0)
        }
    }

    Scope (_GPE)
    {
        Method (_L0B, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.P0P1, 0x02)
        }

        Method (_L09, 0, NotSerialized)
        {
            If (LEqual (RP1D, Zero))
            {
                \_SB.PCI0.RP01.HPME ()
                Notify (\_SB.PCI0.RP01, 0x02)
            }

            If (LEqual (RP2D, Zero))
            {
                \_SB.PCI0.RP02.HPME ()
                Notify (\_SB.PCI0.RP02, 0x02)
            }

            If (LEqual (RP3D, Zero))
            {
                \_SB.PCI0.RP03.HPME ()
                Notify (\_SB.PCI0.RP03, 0x02)
            }

            If (LEqual (RP4D, Zero))
            {
                \_SB.PCI0.RP04.HPME ()
                Notify (\_SB.PCI0.RP04, 0x02)
            }

            If (LEqual (RP5D, Zero))
            {
                \_SB.PCI0.RP05.HPME ()
                Notify (\_SB.PCI0.RP05, 0x02)
            }

            If (LEqual (RP6D, Zero))
            {
                \_SB.PCI0.RP06.HPME ()
                Notify (\_SB.PCI0.RP06, 0x02)
            }

            If (LEqual (RP7D, Zero))
            {
                \_SB.PCI0.RP07.HPME ()
                Notify (\_SB.PCI0.RP07, 0x02)
            }

            If (LEqual (RP8D, Zero))
            {
                \_SB.PCI0.RP08.HPME ()
                Notify (\_SB.PCI0.RP08, 0x02)
            }

            Notify (\_SB.PCI0.PEG0, 0x02)
            Notify (\_SB.PCI0.PEG0.PEGP, 0x02)
            Notify (\_SB.PCI0.PEG1, 0x02)
            Notify (\_SB.PCI0.PEG2, 0x02)
            Notify (\_SB.PCI0.PEG3, 0x02)
            Notify (\_SB.SLPB, 0x02)
        }

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PCI0.HDEF, 0x02)
            Notify (\_SB.PCI0.GLAN, 0x02)
            Notify (\_SB.SLPB, 0x02)
        }

        Method (_L01, 0, NotSerialized)
        {
            Add (L01C, One, L01C)
            P8XH (Zero, One)
            P8XH (One, L01C)
            If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP01.PDCX)
                {
                    Store (One, \_SB.PCI0.RP01.PDCX)
                    Store (One, \_SB.PCI0.RP01.HPSX)
                    If (LNot (\_SB.PCI0.RP01.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP01.L0SE)
                    }

                    Notify (\_SB.PCI0.RP01, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP01.HPSX)
                }
            }

            If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP02.PDCX)
                {
                    Store (One, \_SB.PCI0.RP02.PDCX)
                    Store (One, \_SB.PCI0.RP02.HPSX)
                    If (LNot (\_SB.PCI0.RP02.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP02.L0SE)
                    }

                    Notify (\_SB.PCI0.RP02, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP02.HPSX)
                }
            }

            If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP03.PDCX)
                {
                    Store (One, \_SB.PCI0.RP03.PDCX)
                    Store (One, \_SB.PCI0.RP03.HPSX)
                    If (LNot (\_SB.PCI0.RP03.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP03.L0SE)
                    }

                    Notify (\_SB.PCI0.RP03, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP03.HPSX)
                }
            }

            If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP04.PDCX)
                {
                    Store (One, \_SB.PCI0.RP04.PDCX)
                    Store (One, \_SB.PCI0.RP04.HPSX)
                    If (LNot (\_SB.PCI0.RP04.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP04.L0SE)
                    }

                    Notify (\_SB.PCI0.RP04, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP04.HPSX)
                }
            }

            If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP05.PDCX)
                {
                    Store (One, \_SB.PCI0.RP05.PDCX)
                    Store (One, \_SB.PCI0.RP05.HPSX)
                    If (LNot (\_SB.PCI0.RP05.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP05.L0SE)
                    }

                    Notify (\_SB.PCI0.RP05, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP05.HPSX)
                }
            }

            If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP06.PDCX)
                {
                    Store (One, \_SB.PCI0.RP06.PDCX)
                    Store (One, \_SB.PCI0.RP06.HPSX)
                    If (LNot (\_SB.PCI0.RP06.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP06.L0SE)
                    }

                    Notify (\_SB.PCI0.RP06, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP06.HPSX)
                }
            }

            If (LAnd (LEqual (RP7D, Zero), \_SB.PCI0.RP07.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP07.PDCX)
                {
                    Store (One, \_SB.PCI0.RP07.PDCX)
                    Store (One, \_SB.PCI0.RP07.HPSX)
                    If (LNot (\_SB.PCI0.RP07.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP07.L0SE)
                    }

                    Notify (\_SB.PCI0.RP07, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP07.HPSX)
                }
            }

            If (LAnd (LEqual (RP8D, Zero), \_SB.PCI0.RP08.HPSX))
            {
                Sleep (0x64)
                If (\_SB.PCI0.RP08.PDCX)
                {
                    Store (One, \_SB.PCI0.RP08.PDCX)
                    Store (One, \_SB.PCI0.RP08.HPSX)
                    If (LNot (\_SB.PCI0.RP08.PDSX))
                    {
                        Store (Zero, \_SB.PCI0.RP08.L0SE)
                    }

                    Notify (\_SB.PCI0.RP08, Zero)
                }
                Else
                {
                    Store (One, \_SB.PCI0.RP08.HPSX)
                }
            }
        }

        Method (_L02, 0, NotSerialized)
        {
            Store (Zero, GPEC)
            If (CondRefOf (\_SB.PCI0.IEIT.EITV))
            {
                \_SB.PCI0.IEIT.EITV ()
            }

            If (CondRefOf (TNOT))
            {
                TNOT ()
            }
        }

        Method (_L06, 0, NotSerialized)
        {
            If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI)))
            {
                \_SB.PCI0.GFX0.GSCI ()
            }
        }
    }

    Scope (\)
    {
        OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
        Field (IO_T, ByteAcc, NoLock, Preserve)
        {
            TRPI,   16, 
                    Offset (0x04), 
                    Offset (0x06), 
                    Offset (0x08), 
            TRP0,   8, 
                    Offset (0x0A), 
                    Offset (0x0B), 
                    Offset (0x0C), 
                    Offset (0x0D), 
                    Offset (0x0E), 
                    Offset (0x0F), 
                    Offset (0x10)
        }

        OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
        Field (IO_D, ByteAcc, NoLock, Preserve)
        {
            TRPD,   8
        }

        OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
        Field (IO_H, ByteAcc, NoLock, Preserve)
        {
            TRPH,   8
        }

        OperationRegion (PMIO, SystemIO, PMBS, 0x80)
        Field (PMIO, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x28), 
                    Offset (0x2A), 
                ,   3, 
            GPE3,   1, 
                    Offset (0x3C), 
                ,   1, 
            UPRW,   1, 
                    Offset (0x42), 
                ,   1, 
            GPEC,   1
        }

        Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
        {
                    Offset (0x20), 
                    Offset (0x22), 
                ,   3, 
            GPS3,   1, 
                    Offset (0x64), 
                ,   9, 
            SCIS,   1, 
                    Offset (0x66)
        }

        OperationRegion (GPIO, SystemIO, GPBS, 0x64)
        Field (GPIO, ByteAcc, NoLock, Preserve)
        {
            GU00,   8, 
            GU01,   8, 
            GU02,   8, 
            GU03,   8, 
            GIO0,   8, 
            GIO1,   8, 
            GIO2,   8, 
            GIO3,   8, 
                    Offset (0x0C), 
            GL00,   8, 
            GL01,   8, 
            GL02,   8, 
            GP24,   1, 
                ,   2, 
            GP27,   1, 
            GP28,   1, 
                    Offset (0x10), 
                    Offset (0x18), 
            GB00,   8, 
            GB01,   8, 
            GB02,   8, 
            GB03,   8, 
                    Offset (0x2C), 
            GIV0,   8, 
            GIV1,   8, 
            GIV2,   8, 
            GIV3,   8, 
            GU04,   8, 
            GU05,   8, 
            GU06,   8, 
            GU07,   8, 
            GIO4,   8, 
            GIO5,   8, 
            GIO6,   8, 
            GIO7,   8, 
            GL04,   8, 
            GL05,   8, 
            GL06,   8, 
            GL07,   8, 
                    Offset (0x40), 
            GU08,   8, 
            GU09,   8, 
            GU0A,   8, 
            GU0B,   8, 
            GIO8,   8, 
            GIO9,   8, 
            GIOA,   8, 
            GIOB,   8, 
            GL08,   8, 
            GL09,   8, 
            GL0A,   8, 
            GL0B,   8
        }

        OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
        Field (RCRB, DWordAcc, Lock, Preserve)
        {
                    Offset (0x1000), 
                    Offset (0x3000), 
                    Offset (0x3404), 
            HPAS,   2, 
                ,   5, 
            HPAE,   1, 
                    Offset (0x3418), 
                ,   1, 
                ,   1, 
            SATD,   1, 
            SMBD,   1, 
            HDAD,   1, 
                    Offset (0x341A), 
            RP1D,   1, 
            RP2D,   1, 
            RP3D,   1, 
            RP4D,   1, 
            RP5D,   1, 
            RP6D,   1, 
            RP7D,   1, 
            RP8D,   1, 
                    Offset (0x359C), 
            UP0D,   1, 
            UP1D,   1, 
            UP2D,   1, 
            UP3D,   1, 
            UP4D,   1, 
            UP5D,   1, 
            UP6D,   1, 
            UP7D,   1, 
            UP8D,   1, 
            UP9D,   1, 
            UPAD,   1, 
            UPBD,   1, 
            UPCD,   1, 
            UPDD,   1, 
                ,   1, 
                    Offset (0x359E)
        }
    }

    Scope (_SB.PCI0)
    {
        Device (GLAN)
        {
            Name (_ADR, 0x00190000)
            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x05))
            }
        }

        Device (EHC1)
        {
            Name (_ADR, 0x001D0000)
            OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
            Field (PWKE, DWordAcc, NoLock, Preserve)
            {
                    ,   1, 
                PWUC,   8
            }

            Method (_PSW, 1, NotSerialized)
            {
                If (Arg0)
                {
                    Store (Ones, PWUC)
                }
                Else
                {
                    Store (Zero, PWUC)
                }
            }

            Method (_S3D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (_S4D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Device (HUBN)
            {
                Name (_ADR, Zero)
                Device (PR01)
                {
                    Name (_ADR, One)
                    Device (PR11)
                    {
                        Name (_ADR, One)
                    }

                    Device (PR12)
                    {
                        Name (_ADR, 0x02)
                    }

                    Device (PR13)
                    {
                        Name (_ADR, 0x03)
                    }

                    Device (PR14)
                    {
                        Name (_ADR, 0x04)
                        Alias (SBV1, SDGV)
                        Method (_DSM, 4, Serialized)
                        {
                            Name (_T_0, Zero)
                            If (LEqual (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, 
                                        /* 0008 */    0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
                                    }))
                            {
                                Store (ToInteger (Arg2), _T_0)
                                If (LEqual (_T_0, Zero))
                                {
                                    If (LEqual (Arg1, One))
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x07
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x00
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, One))
                                    {
                                        If (LEqual (SDGV, 0xFF))
                                        {
                                            Return (Zero)
                                        }
                                        Else
                                        {
                                            Return (One)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x02))
                                        {
                                            Return (SDGV)
                                        }
                                    }
                                }
                            }

                            Return (Zero)
                        }
                    }

                    Device (PR15)
                    {
                        Name (_ADR, 0x05)
                        Alias (SBV2, SDGV)
                        Method (_DSM, 4, Serialized)
                        {
                            Name (_T_0, Zero)
                            If (LEqual (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, 
                                        /* 0008 */    0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
                                    }))
                            {
                                Store (ToInteger (Arg2), _T_0)
                                If (LEqual (_T_0, Zero))
                                {
                                    If (LEqual (Arg1, One))
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x07
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x00
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, One))
                                    {
                                        If (LEqual (SDGV, 0xFF))
                                        {
                                            Return (Zero)
                                        }
                                        Else
                                        {
                                            Return (One)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x02))
                                        {
                                            Return (SDGV)
                                        }
                                    }
                                }
                            }

                            Return (Zero)
                        }
                    }

                    Device (PR16)
                    {
                        Name (_ADR, 0x06)
                        Alias (SBV1, SDGV)
                        Method (_DSM, 4, Serialized)
                        {
                            Name (_T_0, Zero)
                            If (LEqual (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, 
                                        /* 0008 */    0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
                                    }))
                            {
                                Store (ToInteger (Arg2), _T_0)
                                If (LEqual (_T_0, Zero))
                                {
                                    If (LEqual (Arg1, One))
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x07
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x00
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, One))
                                    {
                                        If (LEqual (SDGV, 0xFF))
                                        {
                                            Return (Zero)
                                        }
                                        Else
                                        {
                                            Return (One)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x02))
                                        {
                                            Return (SDGV)
                                        }
                                    }
                                }
                            }

                            Return (Zero)
                        }
                    }

                    Device (PR17)
                    {
                        Name (_ADR, 0x07)
                        Alias (SBV2, SDGV)
                        Method (_DSM, 4, Serialized)
                        {
                            Name (_T_0, Zero)
                            If (LEqual (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, 
                                        /* 0008 */    0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
                                    }))
                            {
                                Store (ToInteger (Arg2), _T_0)
                                If (LEqual (_T_0, Zero))
                                {
                                    If (LEqual (Arg1, One))
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x07
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x00
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, One))
                                    {
                                        If (LEqual (SDGV, 0xFF))
                                        {
                                            Return (Zero)
                                        }
                                        Else
                                        {
                                            Return (One)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x02))
                                        {
                                            Return (SDGV)
                                        }
                                    }
                                }
                            }

                            Return (Zero)
                        }
                    }

                    Device (PR18)
                    {
                        Name (_ADR, 0x08)
                    }
                }
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x03))
            }
        }

        Device (EHC2)
        {
            Name (_ADR, 0x001A0000)
            OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
            Field (PWKE, DWordAcc, NoLock, Preserve)
            {
                    ,   1, 
                PWUC,   6
            }

            Method (_PSW, 1, NotSerialized)
            {
                If (Arg0)
                {
                    Store (Ones, PWUC)
                }
                Else
                {
                    Store (Zero, PWUC)
                }
            }

            Method (_S3D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (_S4D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Device (HUBN)
            {
                Name (_ADR, Zero)
                Device (PR01)
                {
                    Name (_ADR, One)
                    Device (PR11)
                    {
                        Name (_ADR, One)
                    }

                    Device (PR12)
                    {
                        Name (_ADR, 0x02)
                        Alias (SBV1, SDGV)
                        Method (_DSM, 4, Serialized)
                        {
                            Name (_T_0, Zero)
                            If (LEqual (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, 
                                        /* 0008 */    0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
                                    }))
                            {
                                Store (ToInteger (Arg2), _T_0)
                                If (LEqual (_T_0, Zero))
                                {
                                    If (LEqual (Arg1, One))
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x07
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x00
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, One))
                                    {
                                        If (LEqual (SDGV, 0xFF))
                                        {
                                            Return (Zero)
                                        }
                                        Else
                                        {
                                            Return (One)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x02))
                                        {
                                            Return (SDGV)
                                        }
                                    }
                                }
                            }

                            Return (Zero)
                        }
                    }

                    Device (PR13)
                    {
                        Name (_ADR, 0x03)
                        Alias (SBV2, SDGV)
                        Method (_DSM, 4, Serialized)
                        {
                            Name (_T_0, Zero)
                            If (LEqual (Arg0, Buffer (0x10)
                                    {
                                        /* 0000 */    0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, 
                                        /* 0008 */    0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
                                    }))
                            {
                                Store (ToInteger (Arg2), _T_0)
                                If (LEqual (_T_0, Zero))
                                {
                                    If (LEqual (Arg1, One))
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x07
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (One)
                                        {
                                            0x00
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, One))
                                    {
                                        If (LEqual (SDGV, 0xFF))
                                        {
                                            Return (Zero)
                                        }
                                        Else
                                        {
                                            Return (One)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x02))
                                        {
                                            Return (SDGV)
                                        }
                                    }
                                }
                            }

                            Return (Zero)
                        }
                    }

                    Device (PR14)
                    {
                        Name (_ADR, 0x04)
                    }

                    Device (PR15)
                    {
                        Name (_ADR, 0x05)
                    }

                    Device (PR16)
                    {
                        Name (_ADR, 0x06)
                    }
                }
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x03))
            }
        }

        Device (XHC)
        {
            Name (_ADR, 0x00140000)
            OperationRegion (XPRT, PCI_Config, 0xD0, 0x10)
            Field (XPRT, DWordAcc, NoLock, Preserve)
            {
                PR2,    32, 
                PR2M,   32, 
                PR3,    32, 
                PR3M,   32
            }

            Method (CUID, 1, Serialized)
            {
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */    0xA9, 0x12, 0x95, 0x7C, 0x05, 0x17, 0xB4, 0x4C, 
                            /* 0008 */    0xAF, 0x7D, 0x50, 0x6A, 0x24, 0x23, 0xAB, 0x71
                        }))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (POSC, 3, Serialized)
            {
                CreateDWordField (Arg2, Zero, CDW1)
                If (LNotEqual (Arg1, One))
                {
                    Or (CDW1, 0x08, CDW1)
                }

                If (LEqual (XHCI, Zero))
                {
                    Or (CDW1, 0x02, CDW1)
                }

                If (LNot (And (CDW1, One)))
                {
                    XSEL ()
                }

                Return (Arg2)
            }

            Method (XSEL, 0, Serialized)
            {
                If (LOr (LEqual (XHCI, 0x02), LEqual (XHCI, 0x03)))
                {
                    Store (Zero, Local0)
                    And (PR3, 0xFFFFFFF0, Local0)
                    Or (Local0, XHPM, Local0)
                    And (Local0, PR3M, PR3)
                    Store (Zero, Local0)
                    And (PR2, 0xFFFFFFF0, Local0)
                    Or (Local0, XHPM, Local0)
                    And (Local0, PR2M, PR2)
                    Store (One, XUSB)
                }
            }

            Method (_S3D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Method (_S4D, 0, NotSerialized)
            {
                Return (0x02)
            }

            Device (RHUB)
            {
                Name (_ADR, Zero)
                Device (HSP1)
                {
                    Name (_ADR, One)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR2, One)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR2, One)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (HSP2)
                {
                    Name (_ADR, 0x02)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR2, 0x02)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR2, 0x02)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (HSP3)
                {
                    Name (_ADR, 0x03)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR2, 0x04)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR2, 0x04)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (HSP4)
                {
                    Name (_ADR, 0x04)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR2, 0x08)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR2, 0x08)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (SSP1)
                {
                    Name (_ADR, 0x05)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR3, One)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR3, One)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (SSP2)
                {
                    Name (_ADR, 0x06)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR3, 0x02)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR3, 0x02)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (SSP3)
                {
                    Name (_ADR, 0x07)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR3, 0x04)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR3, 0x04)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }

                Device (SSP4)
                {
                    Name (_ADR, 0x08)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR3, 0x08)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }

                        Return (UPCP)
                    }

                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR3, 0x08)))
                        {
                            And (VIS, Zero, VIS)
                        }

                        Return (PLDP)
                    }
                }
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x03))
            }
        }

        Device (HDEF)
        {
            Name (_ADR, 0x001B0000)
            OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
            Field (HDAR, WordAcc, NoLock, Preserve)
            {
                DCKA,   1, 
                        Offset (0x01), 
                DCKM,   1, 
                    ,   6, 
                DCKS,   1, 
                        Offset (0x08), 
                    ,   15, 
                PMES,   1
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x03))
            }
        }

        Device (RP01)
        {
            Name (_ADR, 0x001C0000)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR04 ())
                }

                Return (PR04 ())
            }
        }

        Device (RP02)
        {
            Name (_ADR, 0x001C0001)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR05 ())
                }

                Return (PR05 ())
            }
        }

        Device (RP03)
        {
            Name (_ADR, 0x001C0002)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR06 ())
                }

                Return (PR06 ())
            }
        }

        Device (RP04)
        {
            Name (_ADR, 0x001C0003)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR07 ())
                }

                Return (PR07 ())
            }
        }

        Device (RP05)
        {
            Name (_ADR, 0x001C0004)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR08 ())
                }

                Return (PR08 ())
            }
        }

        Device (RP06)
        {
            Name (_ADR, 0x001C0005)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR09 ())
                }

                Return (PR09 ())
            }
        }

        Device (RP07)
        {
            Name (_ADR, 0x001C0006)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR0E)
                }

                Return (PR0E)
            }
        }

        Device (RP08)
        {
            Name (_ADR, 0x001C0007)
            OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x10), 
                L0SE,   1, 
                        Offset (0x11), 
                        Offset (0x12), 
                    ,   13, 
                LASX,   1, 
                        Offset (0x1A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                        Offset (0x1B), 
                        Offset (0x20), 
                        Offset (0x22), 
                PSPX,   1, 
                        Offset (0x98), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                        Offset (0x9C), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)
            }

            Method (HPME, 0, Serialized)
            {
                If (PMSX)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        Store (One, PMSX)
                        If (PMSX)
                        {
                            Decrement (Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }
                    }

                    Notify (PXSX, 0x02)
                }
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR0F)
                }

                Return (PR0F)
            }
        }

        Device (SAT0)
        {
            Name (_ADR, 0x001F0002)
            Device (PRID)
            {
                Name (_ADR, Zero)
                Method (_GTM, 0, NotSerialized)
                {
                    Name (PBUF, Buffer (0x14)
                    {
                        /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (PBUF, Zero, PIO0)
                    CreateDWordField (PBUF, 0x04, DMA0)
                    CreateDWordField (PBUF, 0x08, PIO1)
                    CreateDWordField (PBUF, 0x0C, DMA1)
                    CreateDWordField (PBUF, 0x10, FLAG)
                    Store (0x78, PIO0)
                    Store (0x14, DMA0)
                    Store (0x78, PIO1)
                    Store (0x14, DMA1)
                    Store (0x1F, FLAG)
                    Return (PBUF)
                }
            }

            Device (SECD)
            {
                Name (_ADR, One)
                Method (_GTM, 0, NotSerialized)
                {
                    Name (SBUF, Buffer (0x14)
                    {
                        /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (SBUF, Zero, PIO0)
                    CreateDWordField (SBUF, 0x04, DMA0)
                    CreateDWordField (SBUF, 0x08, PIO1)
                    CreateDWordField (SBUF, 0x0C, DMA1)
                    CreateDWordField (SBUF, 0x10, FLAG)
                    Store (0x78, PIO0)
                    Store (0x14, DMA0)
                    Store (0x78, PIO1)
                    Store (0x14, DMA1)
                    Store (0x1F, FLAG)
                    Return (SBUF)
                }
            }
        }

        Device (SAT1)
        {
            Name (_ADR, 0x001F0005)
            Device (PRID)
            {
                Name (_ADR, Zero)
                Method (_GTM, 0, NotSerialized)
                {
                    Name (PBUF, Buffer (0x14)
                    {
                        /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (PBUF, Zero, PIO0)
                    CreateDWordField (PBUF, 0x04, DMA0)
                    CreateDWordField (PBUF, 0x08, PIO1)
                    CreateDWordField (PBUF, 0x0C, DMA1)
                    CreateDWordField (PBUF, 0x10, FLAG)
                    Store (0x78, PIO0)
                    Store (0x14, DMA0)
                    Store (0x78, PIO1)
                    Store (0x14, DMA1)
                    Store (0x1F, FLAG)
                    Return (PBUF)
                }
            }

            Device (SECD)
            {
                Name (_ADR, One)
                Method (_GTM, 0, NotSerialized)
                {
                    Name (SBUF, Buffer (0x14)
                    {
                        /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (SBUF, Zero, PIO0)
                    CreateDWordField (SBUF, 0x04, DMA0)
                    CreateDWordField (SBUF, 0x08, PIO1)
                    CreateDWordField (SBUF, 0x0C, DMA1)
                    CreateDWordField (SBUF, 0x10, FLAG)
                    Store (0x78, PIO0)
                    Store (0x14, DMA0)
                    Store (0x78, PIO1)
                    Store (0x14, DMA1)
                    Store (0x1F, FLAG)
                    Return (SBUF)
                }
            }
        }

        Device (SBUS)
        {
            Name (_ADR, 0x001F0003)
            OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
            Field (SMBP, DWordAcc, NoLock, Preserve)
            {
                    ,   2, 
                I2CE,   1
            }

            OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
            Field (SMPB, DWordAcc, NoLock, Preserve)
            {
                    ,   5, 
                SBAR,   11
            }

            OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10)
            Field (SMBI, ByteAcc, NoLock, Preserve)
            {
                HSTS,   8, 
                        Offset (0x02), 
                HCON,   8, 
                HCOM,   8, 
                TXSA,   8, 
                DAT0,   8, 
                DAT1,   8, 
                HBDR,   8, 
                PECR,   8, 
                RXSA,   8, 
                SDAT,   16
            }

            Method (SSXB, 2, Serialized)
            {
                If (STRT ())
                {
                    Return (Zero)
                }

                Store (Zero, I2CE)
                Store (0xBF, HSTS)
                Store (Arg0, TXSA)
                Store (Arg1, HCOM)
                Store (0x48, HCON)
                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (One)
                }

                Return (Zero)
            }

            Method (SRXB, 1, Serialized)
            {
                If (STRT ())
                {
                    Return (0xFFFF)
                }

                Store (Zero, I2CE)
                Store (0xBF, HSTS)
                Store (Or (Arg0, One), TXSA)
                Store (0x44, HCON)
                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (DAT0)
                }

                Return (0xFFFF)
            }

            Method (SWRB, 3, Serialized)
            {
                If (STRT ())
                {
                    Return (Zero)
                }

                Store (Zero, I2CE)
                Store (0xBF, HSTS)
                Store (Arg0, TXSA)
                Store (Arg1, HCOM)
                Store (Arg2, DAT0)
                Store (0x48, HCON)
                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (One)
                }

                Return (Zero)
            }

            Method (SRDB, 2, Serialized)
            {
                If (STRT ())
                {
                    Return (0xFFFF)
                }

                Store (Zero, I2CE)
                Store (0xBF, HSTS)
                Store (Or (Arg0, One), TXSA)
                Store (Arg1, HCOM)
                Store (0x48, HCON)
                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (DAT0)
                }

                Return (0xFFFF)
            }

            Method (SWRW, 3, Serialized)
            {
                If (STRT ())
                {
                    Return (Zero)
                }

                Store (Zero, I2CE)
                Store (0xBF, HSTS)
                Store (Arg0, TXSA)
                Store (Arg1, HCOM)
                And (Arg2, 0xFF, DAT1)
                And (ShiftRight (Arg2, 0x08), 0xFF, DAT0)
                Store (0x4C, HCON)
                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (One)
                }

                Return (Zero)
            }

            Method (SRDW, 2, Serialized)
            {
                If (STRT ())
                {
                    Return (0xFFFF)
                }

                Store (Zero, I2CE)
                Store (0xBF, HSTS)
                Store (Or (Arg0, One), TXSA)
                Store (Arg1, HCOM)
                Store (0x4C, HCON)
                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (Or (ShiftLeft (DAT0, 0x08), DAT1))
                }

                Return (0xFFFFFFFF)
            }

            Method (SBLW, 4, Serialized)
            {
                If (STRT ())
                {
                    Return (Zero)
                }

                Store (Arg3, I2CE)
                Store (0xBF, HSTS)
                Store (Arg0, TXSA)
                Store (Arg1, HCOM)
                Store (SizeOf (Arg2), DAT0)
                Store (Zero, Local1)
                Store (DerefOf (Index (Arg2, Zero)), HBDR)
                Store (0x54, HCON)
                While (LGreater (SizeOf (Arg2), Local1))
                {
                    Store (0x0FA0, Local0)
                    While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                    {
                        Decrement (Local0)
                        Stall (0x32)
                    }

                    If (LNot (Local0))
                    {
                        KILL ()
                        Return (Zero)
                    }

                    Store (0x80, HSTS)
                    Increment (Local1)
                    If (LGreater (SizeOf (Arg2), Local1))
                    {
                        Store (DerefOf (Index (Arg2, Local1)), HBDR)
                    }
                }

                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (One)
                }

                Return (Zero)
            }

            Method (SBLR, 3, Serialized)
            {
                Name (TBUF, Buffer (0x0100) {})
                If (STRT ())
                {
                    Return (Zero)
                }

                Store (Arg2, I2CE)
                Store (0xBF, HSTS)
                Store (Or (Arg0, One), TXSA)
                Store (Arg1, HCOM)
                Store (0x54, HCON)
                Store (0x0FA0, Local0)
                While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                {
                    Decrement (Local0)
                    Stall (0x32)
                }

                If (LNot (Local0))
                {
                    KILL ()
                    Return (Zero)
                }

                Store (DAT0, Index (TBUF, Zero))
                Store (0x80, HSTS)
                Store (One, Local1)
                While (LLess (Local1, DerefOf (Index (TBUF, Zero))))
                {
                    Store (0x0FA0, Local0)
                    While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                    {
                        Decrement (Local0)
                        Stall (0x32)
                    }

                    If (LNot (Local0))
                    {
                        KILL ()
                        Return (Zero)
                    }

                    Store (HBDR, Index (TBUF, Local1))
                    Store (0x80, HSTS)
                    Increment (Local1)
                }

                If (COMP ())
                {
                    Or (HSTS, 0xFF, HSTS)
                    Return (TBUF)
                }

                Return (Zero)
            }

            Method (STRT, 0, Serialized)
            {
                Store (0xC8, Local0)
                While (Local0)
                {
                    If (And (HSTS, 0x40))
                    {
                        Decrement (Local0)
                        Sleep (One)
                        If (LEqual (Local0, Zero))
                        {
                            Return (One)
                        }
                    }
                    Else
                    {
                        Store (Zero, Local0)
                    }
                }

                Store (0x0FA0, Local0)
                While (Local0)
                {
                    If (And (HSTS, One))
                    {
                        Decrement (Local0)
                        Stall (0x32)
                        If (LEqual (Local0, Zero))
                        {
                            KILL ()
                        }
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Return (One)
            }

            Method (COMP, 0, Serialized)
            {
                Store (0x0FA0, Local0)
                While (Local0)
                {
                    If (And (HSTS, 0x02))
                    {
                        Return (One)
                    }
                    Else
                    {
                        Decrement (Local0)
                        Stall (0x32)
                        If (LEqual (Local0, Zero))
                        {
                            KILL ()
                        }
                    }
                }

                Return (Zero)
            }

            Method (KILL, 0, Serialized)
            {
                Or (HCON, 0x02, HCON)
                Or (HSTS, 0xFF, HSTS)
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Device (PEG0)
        {
            Name (_ADR, 0x00010000)
            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x09, 0x04))
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR02 ())
                }

                Return (PR02 ())
            }

            Device (PEGP)
            {
                Name (_ADR, Zero)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }
            }
        }

        Device (PEG1)
        {
            Name (_ADR, 0x00010001)
            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x09, 0x04))
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR0A ())
                }

                Return (PR0A ())
            }
        }

        Device (PEG2)
        {
            Name (_ADR, 0x00010002)
            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x09, 0x04))
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR0B ())
                }

                Return (PR0B ())
            }
        }

        Device (PEG3)
        {
            Name (_ADR, 0x00060000)
            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x09, 0x04))
            }

            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR0C)
                }

                Return (PR0C)
            }
        }

        Device (B0D4)
        {
            Name (_ADR, 0x00040000)
        }

        Device (GFX0)
        {
            Name (_ADR, 0x00020000)
            Method (_INI, 0, NotSerialized)
            {
                Store (One, CLID)
            }

            Method (PCPC, 0, NotSerialized)
            {
            }

            Method (PAPR, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_DOS, 1, NotSerialized)
            {
                Store (And (Arg0, 0x03), DSEN)
                If (LEqual (And (Arg0, 0x03), Zero))
                {
                    If (CondRefOf (HDOS))
                    {
                        HDOS ()
                    }
                }
            }

            Method (_DOD, 0, NotSerialized)
            {
                If (CondRefOf (IDAB))
                {
                    IDAB ()
                }
                Else
                {
                    Store (NDID, Local0)
                    Store (Zero, NDID)
                    If (LNotEqual (DIDL, Zero))
                    {
                        Store (SDDL (DIDL), DID1)
                    }

                    If (LNotEqual (DDL2, Zero))
                    {
                        Store (SDDL (DDL2), DID2)
                    }

                    If (LNotEqual (DDL3, Zero))
                    {
                        Store (SDDL (DDL3), DID3)
                    }

                    If (LNotEqual (DDL4, Zero))
                    {
                        Store (SDDL (DDL4), DID4)
                    }

                    If (LNotEqual (DDL5, Zero))
                    {
                        Store (SDDL (DDL5), DID5)
                    }

                    If (LNotEqual (DDL6, Zero))
                    {
                        Store (SDDL (DDL6), DID6)
                    }

                    If (LNotEqual (DDL7, Zero))
                    {
                        Store (SDDL (DDL7), DID7)
                    }

                    If (LNotEqual (DDL8, Zero))
                    {
                        Store (SDDL (DDL8), DID8)
                    }

                    If (LEqual (NDID, Zero))
                    {
                        Store (Local0, NDID)
                    }
                }

                If (LEqual (NDID, One))
                {
                    Name (TMP1, Package (0x01)
                    {
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP1, Zero))
                    Return (TMP1)
                }

                If (LEqual (NDID, 0x02))
                {
                    Name (TMP2, Package (0x02)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP2, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP2, One))
                    Return (TMP2)
                }

                If (LEqual (NDID, 0x03))
                {
                    Name (TMP3, Package (0x03)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP3, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP3, One))
                    Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
                    Return (TMP3)
                }

                If (LEqual (NDID, 0x04))
                {
                    Name (TMP4, Package (0x04)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP4, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP4, One))
                    Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
                    Return (TMP4)
                }

                If (LEqual (NDID, 0x05))
                {
                    Name (TMP5, Package (0x05)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP5, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP5, One))
                    Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
                    Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
                    Return (TMP5)
                }

                If (LEqual (NDID, 0x06))
                {
                    Name (TMP6, Package (0x06)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP6, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP6, One))
                    Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
                    Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
                    Store (Or (0x00010000, DID6), Index (TMP6, 0x05))
                    Return (TMP6)
                }

                If (LEqual (NDID, 0x07))
                {
                    Name (TMP7, Package (0x07)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP7, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP7, One))
                    Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
                    Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
                    Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
                    Store (Or (0x00010000, DID7), Index (TMP7, 0x06))
                    Return (TMP7)
                }

                If (LEqual (NDID, 0x08))
                {
                    Name (TMP8, Package (0x08)
                    {
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF, 
                        0xFFFFFFFF
                    })
                    Store (Or (0x00010000, DID1), Index (TMP8, Zero))
                    Store (Or (0x00010000, DID2), Index (TMP8, One))
                    Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
                    Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
                    Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
                    Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
                    Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
                    Store (Or (0x00010000, DID8), Index (TMP8, 0x07))
                    Return (TMP8)
                }

                If (LEqual (NDID, 0x09))
                {
                    If (CondRefOf (HWID))
                    {
                        Return (HWID)
                    }
                }

                Return (Package (0x01)
                {
                    0x0400
                })
            }

            Device (DD01)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID1, Zero))
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID1))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    Return (CDDS (DID1))
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD1)
                    }

                    Return (NDDS (DID1))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD02)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID2, Zero))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID2))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    Return (CDDS (DID2))
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD2)
                    }

                    Return (NDDS (DID2))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD03)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID3, Zero))
                    {
                        Return (0x03)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID3))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    If (LEqual (DID3, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID3))
                    }
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD3)
                    }

                    Return (NDDS (DID3))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD04)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID4, Zero))
                    {
                        Return (0x04)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID4))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    If (LEqual (DID4, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID4))
                    }
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD4)
                    }

                    Return (NDDS (DID4))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD05)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID5, Zero))
                    {
                        Return (0x05)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID5))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    If (LEqual (DID5, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID5))
                    }
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD5)
                    }

                    Return (NDDS (DID5))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD06)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID6, Zero))
                    {
                        Return (0x06)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID6))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    If (LEqual (DID6, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID6))
                    }
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD6)
                    }

                    Return (NDDS (DID6))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD07)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID7, Zero))
                    {
                        Return (0x07)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID7))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    If (LEqual (DID7, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID7))
                    }
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD7)
                    }

                    Return (NDDS (DID7))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Device (DD08)
            {
                Method (_ADR, 0, Serialized)
                {
                    If (LEqual (DID8, Zero))
                    {
                        Return (0x08)
                    }
                    Else
                    {
                        Return (And (0xFFFF, DID8))
                    }
                }

                Method (_DCS, 0, NotSerialized)
                {
                    If (LEqual (DID8, Zero))
                    {
                        Return (0x0B)
                    }
                    Else
                    {
                        Return (CDDS (DID8))
                    }
                }

                Method (_DGS, 0, NotSerialized)
                {
                    If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD
                        )))
                    {
                        Return (NXD8)
                    }

                    Return (NDDS (DID8))
                }

                Method (_DSS, 1, NotSerialized)
                {
                    If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                    {
                        Store (NSTE, CSTE)
                    }
                }
            }

            Method (SDDL, 1, NotSerialized)
            {
                Increment (NDID)
                Store (And (Arg0, 0x0F0F), Local0)
                Or (0x80000000, Local0, Local1)
                If (LEqual (DIDL, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL2, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL3, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL4, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL5, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL6, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL7, Local0))
                {
                    Return (Local1)
                }

                If (LEqual (DDL8, Local0))
                {
                    Return (Local1)
                }

                Return (Zero)
            }

            Method (CDDS, 1, NotSerialized)
            {
                Store (And (Arg0, 0x0F0F), Local0)
                If (LEqual (Zero, Local0))
                {
                    Return (0x1D)
                }

                If (LEqual (CADL, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL2, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL3, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL4, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL5, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL6, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL7, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CAL8, Local0))
                {
                    Return (0x1F)
                }

                If (LEqual (CADL, Zero))
                {
                    If (LEqual (And (Arg0, 0x0F0F), 0x0400))
                    {
                        Return (0x1F)
                    }
                }

                Return (0x1D)
            }

            Method (NDDS, 1, NotSerialized)
            {
                Store (And (Arg0, 0x0F0F), Local0)
                If (LEqual (Zero, Local0))
                {
                    Return (Zero)
                }

                If (LEqual (NADL, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL2, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL3, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL4, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL5, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL6, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL7, Local0))
                {
                    Return (One)
                }

                If (LEqual (NDL8, Local0))
                {
                    Return (One)
                }

                If (LEqual (NADL, Zero))
                {
                    If (LEqual (And (Arg0, 0x0F0F), 0x0400))
                    {
                        Return (One)
                    }
                }

                Return (Zero)
            }

            Scope (^^PCI0)
            {
                OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
                Field (MCHP, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x60), 
                    TASM,   10, 
                            Offset (0x62)
                }
            }

            OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
            Field (IGDP, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x12), 
                    ,   1, 
                GIVD,   1, 
                    ,   2, 
                GUMA,   3, 
                        Offset (0x14), 
                    ,   4, 
                GMFN,   1, 
                        Offset (0x18), 
                        Offset (0xA4), 
                ASLE,   8, 
                        Offset (0xA8), 
                GSSE,   1, 
                GSSB,   14, 
                GSES,   1, 
                        Offset (0xB0), 
                    ,   12, 
                CDVL,   1, 
                        Offset (0xB2), 
                        Offset (0xB5), 
                LBPC,   8, 
                        Offset (0xBC), 
                ASLS,   32
            }

            OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
            Field (IGDM, AnyAcc, NoLock, Preserve)
            {
                SIGN,   128, 
                SIZE,   32, 
                OVER,   32, 
                SVER,   256, 
                VVER,   128, 
                GVER,   128, 
                MBOX,   32, 
                DMOD,   32, 
                        Offset (0x100), 
                DRDY,   32, 
                CSTS,   32, 
                CEVT,   32, 
                        Offset (0x120), 
                DIDL,   32, 
                DDL2,   32, 
                DDL3,   32, 
                DDL4,   32, 
                DDL5,   32, 
                DDL6,   32, 
                DDL7,   32, 
                DDL8,   32, 
                CPDL,   32, 
                CPL2,   32, 
                CPL3,   32, 
                CPL4,   32, 
                CPL5,   32, 
                CPL6,   32, 
                CPL7,   32, 
                CPL8,   32, 
                CADL,   32, 
                CAL2,   32, 
                CAL3,   32, 
                CAL4,   32, 
                CAL5,   32, 
                CAL6,   32, 
                CAL7,   32, 
                CAL8,   32, 
                NADL,   32, 
                NDL2,   32, 
                NDL3,   32, 
                NDL4,   32, 
                NDL5,   32, 
                NDL6,   32, 
                NDL7,   32, 
                NDL8,   32, 
                ASLP,   32, 
                TIDX,   32, 
                CHPD,   32, 
                CLID,   32, 
                CDCK,   32, 
                SXSW,   32, 
                EVTS,   32, 
                CNOT,   32, 
                NRDY,   32, 
                        Offset (0x200), 
                SCIE,   1, 
                GEFC,   4, 
                GXFC,   3, 
                GESF,   8, 
                        Offset (0x204), 
                PARM,   32, 
                DSLP,   32, 
                        Offset (0x300), 
                ARDY,   32, 
                ASLC,   32, 
                TCHE,   32, 
                ALSI,   32, 
                BCLP,   32, 
                PFIT,   32, 
                CBLV,   32, 
                BCLM,   320, 
                CPFM,   32, 
                EPFM,   32, 
                PLUT,   592, 
                PFMB,   32, 
                CCDV,   32, 
                PCFT,   32, 
                        Offset (0x400), 
                GVD1,   49152, 
                PHED,   32, 
                BDDC,   2048
            }

            Name (DBTB, Package (0x15)
            {
                Zero, 
                0x07, 
                0x38, 
                0x01C0, 
                0x0E00, 
                0x3F, 
                0x01C7, 
                0x0E07, 
                0x01F8, 
                0x0E38, 
                0x0FC0, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                0x7000, 
                0x7007, 
                0x7038, 
                0x71C0, 
                0x7E00
            })
            Name (CDCT, Package (0x05)
            {
                Package (0x02)
                {
                    0xE4, 
                    0x0140
                }, 

                Package (0x02)
                {
                    0xDE, 
                    0x014D
                }, 

                Package (0x02)
                {
                    0xDE, 
                    0x014D
                }, 

                Package (0x02)
                {
                    Zero, 
                    Zero
                }, 

                Package (0x02)
                {
                    0xDE, 
                    0x014D
                }
            })
            Name (SUCC, One)
            Name (NVLD, 0x02)
            Name (CRIT, 0x04)
            Name (NCRT, 0x06)
            Method (GSCI, 0, Serialized)
            {
                Method (GBDA, 0, Serialized)
                {
                    If (LEqual (GESF, Zero))
                    {
                        Store (0x0679, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, One))
                    {
                        Store (0x0240, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x04))
                    {
                        And (PARM, 0xEFFF0000, PARM)
                        And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), 
                            PARM)
                        Or (IBTT, PARM, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x05))
                    {
                        Store (IPSC, PARM)
                        Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
                        Add (PARM, 0x0100, PARM)
                        Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
                        Add (PARM, 0x00010000, PARM)
                        Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x06))
                    {
                        Store (ITVF, PARM)
                        Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x07))
                    {
                        Store (GIVD, PARM)
                        XOr (PARM, One, PARM)
                        Or (PARM, ShiftLeft (GMFN, One), PARM)
                        Or (PARM, 0x1800, PARM)
                        Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
                        Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL
                            )), 0x15), PARM, PARM)
                        Store (One, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0A))
                    {
                        Store (Zero, PARM)
                        If (ISSC)
                        {
                            Or (PARM, 0x03, PARM)
                        }

                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0B))
                    {
                        Store (KSV0, PARM)
                        Store (KSV1, GESF)
                        Return (SUCC)
                    }

                    Store (Zero, GESF)
                    Return (CRIT)
                }

                Method (SBCB, 0, Serialized)
                {
                    If (LEqual (GESF, Zero))
                    {
                        Store (Zero, PARM)
                        Store (0x000F87FD, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, One))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x03))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x04))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x05))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x06))
                    {
                        Store (And (PARM, 0x0F), ITVF)
                        Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x07))
                    {
                        If (LEqual (PARM, Zero))
                        {
                            Store (CLID, Local0)
                            If (And (0x80000000, Local0))
                            {
                                And (CLID, 0x0F, CLID)
                                GLID (CLID)
                            }
                        }

                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x08))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x09))
                    {
                        And (PARM, 0xFF, IBTT)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0A))
                    {
                        And (PARM, 0xFF, IPSC)
                        If (And (ShiftRight (PARM, 0x08), 0xFF))
                        {
                            And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
                            Decrement (IPAT)
                        }

                        And (ShiftRight (PARM, 0x14), 0x07, IBIA)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x0B))
                    {
                        And (ShiftRight (PARM, One), One, IF1E)
                        If (And (PARM, 0x0001E000))
                        {
                            And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
                        }
                        Else
                        {
                            And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
                        }

                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x10))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x11))
                    {
                        Store (ShiftLeft (LIDS, 0x08), PARM)
                        Add (PARM, 0x0100, PARM)
                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x12))
                    {
                        If (And (PARM, One))
                        {
                            If (LEqual (ShiftRight (PARM, One), One))
                            {
                                Store (One, ISSC)
                            }
                            Else
                            {
                                Store (Zero, GESF)
                                Return (CRIT)
                            }
                        }
                        Else
                        {
                            Store (Zero, ISSC)
                        }

                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x13))
                    {
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    If (LEqual (GESF, 0x14))
                    {
                        And (PARM, 0x0F, PAVP)
                        Store (Zero, GESF)
                        Store (Zero, PARM)
                        Return (SUCC)
                    }

                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GEFC, 0x04))
                {
                    Store (GBDA (), GXFC)
                }

                If (LEqual (GEFC, 0x06))
                {
                    Store (SBCB (), GXFC)
                }

                Store (Zero, GEFC)
                Store (One, SCIS)
                Store (Zero, GSSE)
                Store (Zero, SCIE)
                Return (Zero)
            }

            Method (PDRD, 0, NotSerialized)
            {
                If (LNot (DRDY))
                {
                    Sleep (ASLP)
                }

                Return (LNot (DRDY))
            }

            Method (PSTS, 0, NotSerialized)
            {
                If (LGreater (CSTS, 0x02))
                {
                    Sleep (ASLP)
                }

                Return (LEqual (CSTS, 0x03))
            }

            Method (GNOT, 2, NotSerialized)
            {
                If (PDRD ())
                {
                    Return (One)
                }

                Store (Arg0, CEVT)
                Store (0x03, CSTS)
                If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
                {
                    If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Notify (PCI0, Arg1)
                    }
                    Else
                    {
                        Notify (GFX0, Arg1)
                    }
                }

                If (CondRefOf (HNOT))
                {
                    HNOT (Arg0)
                }
                Else
                {
                    Notify (GFX0, 0x80)
                }

                Return (Zero)
            }

            Method (GHDS, 1, NotSerialized)
            {
                Store (Arg0, TIDX)
                Return (GNOT (One, Zero))
            }

            Method (GLID, 1, NotSerialized)
            {
                If (LEqual (Arg0, One))
                {
                    Store (0x03, CLID)
                }
                Else
                {
                    Store (Arg0, CLID)
                }

                Return (GNOT (0x02, Zero))
            }

            Method (GDCK, 1, NotSerialized)
            {
                Store (Arg0, CDCK)
                Return (GNOT (0x04, Zero))
            }

            Method (PARD, 0, NotSerialized)
            {
                If (LNot (ARDY))
                {
                    Sleep (ASLP)
                }

                Return (LNot (ARDY))
            }

            Method (AINT, 2, NotSerialized)
            {
                If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
                {
                    Return (One)
                }

                If (PARD ())
                {
                    Return (One)
                }

                If (LEqual (Arg0, 0x02))
                {
                    If (CPFM)
                    {
                        And (CPFM, 0x0F, Local0)
                        And (EPFM, 0x0F, Local1)
                        If (LEqual (Local0, One))
                        {
                            If (And (Local1, 0x06))
                            {
                                Store (0x06, PFIT)
                            }
                            Else
                            {
                                If (And (Local1, 0x08))
                                {
                                    Store (0x08, PFIT)
                                }
                                Else
                                {
                                    Store (One, PFIT)
                                }
                            }
                        }

                        If (LEqual (Local0, 0x06))
                        {
                            If (And (Local1, 0x08))
                            {
                                Store (0x08, PFIT)
                            }
                            Else
                            {
                                If (And (Local1, One))
                                {
                                    Store (One, PFIT)
                                }
                                Else
                                {
                                    Store (0x06, PFIT)
                                }
                            }
                        }

                        If (LEqual (Local0, 0x08))
                        {
                            If (And (Local1, One))
                            {
                                Store (One, PFIT)
                            }
                            Else
                            {
                                If (And (Local1, 0x06))
                                {
                                    Store (0x06, PFIT)
                                }
                                Else
                                {
                                    Store (0x08, PFIT)
                                }
                            }
                        }
                    }
                    Else
                    {
                        XOr (PFIT, 0x07, PFIT)
                    }

                    Or (PFIT, 0x80000000, PFIT)
                    Store (0x04, ASLC)
                }
                Else
                {
                    If (LEqual (Arg0, One))
                    {
                        Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
                        Or (BCLP, 0x80000000, BCLP)
                        Store (0x02, ASLC)
                    }
                    Else
                    {
                        If (LEqual (Arg0, Zero))
                        {
                            Store (Arg1, ALSI)
                            Store (One, ASLC)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }
                }

                Store (One, ASLE)
                Return (Zero)
            }

            Method (SCIP, 0, NotSerialized)
            {
                If (LNotEqual (OVER, Zero))
                {
                    Return (LNot (GSMI))
                }

                Return (Zero)
            }

            Device (^^MEM2)
            {
                Name (_HID, EisaId ("PNP0C01"))
                Name (_UID, 0x02)
                Name (CRS1, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x20000000,         // Address Base
                        0x00200000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0x40000000,         // Address Base
                        0x00200000,         // Address Length
                        )
                })
                Name (CRS2, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x20000000,         // Address Base
                        0x00200000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0x40004000,         // Address Base
                        0x00001000,         // Address Length
                        )
                })
                Method (_STA, 0, NotSerialized)
                {
                    If (IGDS)
                    {
                        If (LOr (LEqual (And (PNHM, 0x0FFF0FF0), 0x000206A0), LEqual (And (
                            PNHM, 0x0FFF0FFF), 0x000306A0)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    If (LOr (LEqual (And (PNHM, 0x0FFF0FF0), 0x000206A0), LEqual (And (
                        PNHM, 0x0FFF0FFF), 0x000306A0)))
                    {
                        Return (CRS1)
                    }

                    Return (CRS2)
                }
            }
        }
    }

    Scope (\)
    {
        OperationRegion (CNVS, SystemMemory, 0xC6F9E018, 0x00000800)
        Field (CNVS, AnyAcc, Lock, Preserve)
        {
            SFUN,   8, 
            SPR0,   8, 
            SPR1,   8, 
            SPR2,   8, 
            WNVA,   32, 
            WNVB,   32, 
            WNVC,   32, 
            WNVD,   32, 
            WFLG,   32, 
            WNVS,   32, 
            WNVI,   32, 
            TSMI,   8, 
                    Offset (0x400), 
            WDBA,   32, 
                    Offset (0x408), 
                    Offset (0x40C), 
            CDST,   16, 
            NDST,   16, 
                    Offset (0x411), 
                    Offset (0x412), 
            SKUT,   8, 
            MOID,   8, 
            GPUT,   8, 
            PMDP,   8, 
                    Offset (0x417), 
            TRBO,   8, 
            DDST,   16, 
            BRAN,   8, 
                    Offset (0x41C), 
            OSBT,   8, 
                    Offset (0x41E), 
                    Offset (0x41F), 
                    Offset (0x420), 
                    Offset (0x440), 
            AWCB,   384, 
            AWDB,   640, 
                    Offset (0x600), 
                    Offset (0x60C), 
            LVID,   16, 
            LDID,   16, 
            LTPY,   8, 
            LDIS,   8, 
            CRVI,   16, 
            CRDI,   16, 
            CRTP,   8, 
            CRDS,   8, 
            CMVI,   16, 
            CMDI,   16, 
            CMTP,   8, 
            CMDS,   8, 
            ADVI,   16, 
            ADDI,   16, 
            ADTP,   8, 
            ADDS,   8, 
            FPVI,   16, 
            FPDI,   16, 
            FPTP,   8, 
            FPDS,   8, 
            WLVI,   16, 
            WLDI,   16, 
            WLTP,   8, 
            WLDS,   8, 
            BTVI,   16, 
            BTDI,   16, 
            BTTP,   8, 
            BTDS,   8, 
            WMVI,   16, 
            WMDI,   16, 
            WMTP,   8, 
            WMDS,   8, 
            WWVI,   16, 
            WWDI,   16, 
            WWTP,   8, 
            WWDS,   8, 
                    Offset (0x64E), 
            TMVI,   16, 
            TMDI,   16, 
            TMTP,   8, 
            TMDS,   8, 
                    Offset (0x660), 
            USBD,   1, 
            USBE,   1, 
                    Offset (0x661), 
            ODDD,   1, 
            ODDE,   1, 
                    Offset (0x662), 
            EXCD,   1, 
            EXCE,   1, 
                    Offset (0x663), 
            ESAD,   1, 
            ESAE,   1, 
                    Offset (0x664), 
                    Offset (0x666), 
            DCKS,   8, 
                    Offset (0x6E1), 
            UCST,   8, 
            LLOB,   8
        }

        Method (TRPS, 2, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            Store (Arg1, SPR0)
            Store (Arg0, SFUN)
            Store (TSMI, SSMP)
            Store (SPR0, Local0)
            Release (MSMI)
            Return (Local0)
        }

        OperationRegion (PNVS, SystemMemory, 0xC6F65A98, 0x030F)
        Field (PNVS, AnyAcc, Lock, Preserve)
        {
            WCMD,   8, 
            TPID,   16, 
            MEID,   8, 
            ILEN,   16, 
            OLEN,   16, 
            DI00,   4208, 
            RMKY,   128, 
            SHKY,   160, 
            FXKY,   128, 
            APGR,   8, 
            PWAR,   8, 
            BTAR,   8
        }

        Mutex (PSMX, 0x00)
        Method (PHAM, 6, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            Store (Arg0, WCMD)
            Store (Arg1, TPID)
            Store (Arg2, MEID)
            Store (Arg3, ILEN)
            Store (Arg4, OLEN)
            Store (Arg5, SSMP)
            Release (MSMI)
            Return (DI00)
        }
    }

    Scope (\)
    {
        Mutex (MSMI, 0x00)
        Method (WSMI, 1, NotSerialized)
        {
            Store (Arg0, SFUN)
            Store (TSMI, SSMP)
        }

        Method (HKEY, 1, NotSerialized)
        {
            TRPS (0x14, Arg0)
        }

        Method (LAMN, 1, NotSerialized)
        {
            If (\_SB.AMW0.WLMP)
            {
                Store (Arg0, \_SB.AMW0.WLID)
                Notify (\_SB.AMW0, 0xB0)
            }
            Else
            {
                TRPS (0x13, Arg0)
            }
        }

        Method (RBEC, 1, NotSerialized)
        {
            Return (TRPS (0x10, Arg0))
        }

        Method (WBEC, 2, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            Store (Arg1, SPR1)
            Store (Arg0, SPR0)
            Store (0x11, SFUN)
            Store (TSMI, SSMP)
            Release (MSMI)
        }

        Method (MBEC, 3, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            Store (Arg2, SPR2)
            Store (Arg1, SPR1)
            Store (Arg0, SPR0)
            Store (0x12, SFUN)
            Store (TSMI, SSMP)
            Release (MSMI)
        }
    }

    Scope (\)
    {
        Name (BCEN, One)
        Name (BCVE, Zero)
        Name (TSLD, One)
    }

    Scope (_SB.PCI0.LPCB)
    {
        Device (EC0)
        {
            Name (_HID, EisaId ("PNP0C09"))
            Name (_GPE, 0x17)
            Method (_STA, 0, NotSerialized)
            {
                Return (0x0F)
            }

            Name (_CRS, ResourceTemplate ()
            {
                IO (Decode16,
                    0x0062,             // Range Minimum
                    0x0062,             // Range Maximum
                    0x00,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0066,             // Range Minimum
                    0x0066,             // Range Maximum
                    0x00,               // Alignment
                    0x01,               // Length
                    )
            })
            OperationRegion (ECO1, SystemIO, 0x62, One)
            Field (ECO1, ByteAcc, Lock, Preserve)
            {
                PX62,   8
            }

            OperationRegion (ECO2, SystemIO, 0x66, One)
            Field (ECO2, ByteAcc, Lock, Preserve)
            {
                PX66,   8
            }

            OperationRegion (ECMB, SystemMemory, 0xFE802000, 0x0200)
            OperationRegion (RAM, EmbeddedControl, Zero, 0xFF)
            Field (RAM, ByteAcc, Lock, Preserve)
            {
                        Offset (0x0A), 
                    ,   1, 
                BLNK,   1, 
                WLLD,   2, 
                BTLD,   2, 
                        Offset (0x10), 
                    ,   1, 
                KTEE,   1, 
                        Offset (0x13), 
                URTB,   8, 
                        Offset (0x5A), 
                FVPS,   8, 
                        Offset (0x5C), 
                OSTP,   8, 
                DKEC,   1, 
                        Offset (0x70), 
                    ,   2, 
                DKIN,   1, 
                        Offset (0x71), 
                WLEN,   1, 
                BTEN,   1, 
                    ,   1, 
                MUTE,   1, 
                KBID,   3, 
                USBP,   1, 
                    ,   2, 
                KEYW,   1, 
                RTCW,   1, 
                LIDW,   1, 
                BL2W,   1, 
                TPDW,   1, 
                        Offset (0x73), 
                WWEN,   1, 
                        Offset (0x76), 
                SYSC,   4, 
                SYSO,   4, 
                        Offset (0x8C), 
                DBG0,   8, 
                DBG1,   8, 
                DBG2,   8, 
                DBG3,   8, 
                        Offset (0x91), 
                TTID,   8, 
                KTAF,   8
            }

            Field (RAM, ByteAcc, Lock, Preserve)
            {
                        Offset (0x7F), 
                BNEN,   1, 
                BNCM,   1, 
                BNDM,   1, 
                BNVE,   1, 
                        Offset (0x83), 
                BNAC,   4, 
                BNDC,   4, 
                        Offset (0x87), 
                BNVA,   8
            }

            Field (ECMB, ByteAcc, Lock, Preserve)
            {
                        Offset (0x0D), 
                MLMA,   1
            }

            Field (RAM, ByteAcc, Lock, Preserve)
            {
                        Offset (0x90), 
                SCPM,   1, 
                        Offset (0x92), 
                KCSS,   1, 
                KCTT,   1, 
                KDTT,   1, 
                KOSD,   1, 
                KVTP,   1, 
                KCP1,   1, 
                    ,   1, 
                KCP2,   1
            }

            Method (RDEC, 1, Serialized)
            {
                If (ECON)
                {
                    OperationRegion (ECRM, EmbeddedControl, Arg0, One)
                    Field (ECRM, ByteAcc, Lock, Preserve)
                    {
                        ECRB,   8
                    }

                    Return (ECRB)
                }
                Else
                {
                    Return (RBEC (Arg0))
                }
            }

            Method (WREC, 2, Serialized)
            {
                If (ECON)
                {
                    OperationRegion (ECRM, EmbeddedControl, Arg0, One)
                    Field (ECRM, ByteAcc, Lock, Preserve)
                    {
                        ECRB,   8
                    }

                    Store (Arg1, ECRB)
                }
                Else
                {
                    WBEC (Arg0, Arg1)
                }
            }

            Method (MDEC, 3, Serialized)
            {
                If (ECON)
                {
                    OperationRegion (ECRM, EmbeddedControl, Arg0, One)
                    Field (ECRM, ByteAcc, Lock, Preserve)
                    {
                        ECRB,   8
                    }

                    Store (ECRB, Local0)
                    And (Local0, Arg1, Local0)
                    Or (Local0, Arg2, Local0)
                    Store (Local0, ECRB)
                }
                Else
                {
                    MBEC (Arg0, Arg1, Arg2)
                }
            }

            Method (_REG, 2, NotSerialized)
            {
                If (LEqual (Arg0, 0x03))
                {
                    Store (Arg1, ECON)
                    TINI ()
                    Store (0x05, SYSO)
                    If (LGreaterEqual (OSYS, 0x07D6))
                    {
                        Store (Zero, BNEN)
                    }

                    Store (BNEN, BCEN)
                    Store (BNVE, BCVE)
                    If (BCEN)
                    {
                        If (BCVE) {}
                    }

                    Store (GOST (), OSTP)
                    ^^^PEG0.PEGP.USPL (One)
                }

                If (TSLD)
                {
                    ^^^GFX0.GLID (MLID)
                }
                Else
                {
                    ^^^GFX0.GLID (One)
                }
            }

            Method (TINI, 0, NotSerialized)
            {
                If (ECON)
                {
                    Store (Zero, KTAF)
                    Store (One, KTEE)
                }
                Else
                {
                    WBEC (0x92, Zero)
                    MBEC (0x10, 0xFD, 0x02)
                }
            }

            Name (WLES, Zero)
            Name (BTES, Zero)
            Name (WWES, Zero)
            Name (ACIS, Zero)
            Name (LDST, One)
            Method (ECPS, 1, NotSerialized)
            {
                Store (Arg0, SYSC)
                Store (One, MUTE)
                If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
                {
                    Store (WLEN, WLES)
                    Store (BTEN, BTES)
                    Store (WWEN, WWES)
                    Store (Zero, WLEN)
                    Store (Zero, WWEN)
                    Store (MACS, ACIS)
                    Store (MLID, LDST)
                }

                If (LEqual (Arg0, 0x04))
                {
                    Store (One, BLNK)
                }

                If (LEqual (Arg0, 0x05))
                {
                    TRPS (0xC9, Zero)
                }

                ^^^EHC1.DOCK.DPTS (Arg0)
            }

            Method (ECWK, 1, NotSerialized)
            {
                Store (Arg0, SYSO)
                Store (Zero, MUTE)
                TINI ()
                Notify (BAT0, 0x81)
                Notify (BAT1, 0x81)
                If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
                {
                    Store (BCEN, BNEN)
                    Store (BCVE, BNVE)
                    Store (WLES, WLEN)
                    Store (BTES, BTEN)
                    Store (WWES, WWEN)
                    If (TSLD)
                    {
                        Store (MLID, Local2)
                        If (LNotEqual (Local2, LDST))
                        {
                            If (Local2)
                            {
                                ^^^GFX0.GLID (One)
                            }
                            Else
                            {
                                ^^^GFX0.GLID (Zero)
                            }
                        }
                    }

                    ^^^PEG0.PEGP.SHDA ()
                }

                If (LEqual (Arg0, 0x03)) {}
                If (LEqual (Arg0, 0x04)) {}
                If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x05))) {}
                ^^^EHC1.DOCK.DWAK (Arg0)
            }

            Scope (\_GPE)
            {
                Method (_L1B, 0, NotSerialized)
                {
                    Store (0x1B, P80H)
                    Notify (\_SB.SLPB, 0x02)
                }
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Field (ECMB, ByteAcc, Lock, Preserve)
        {
                    Offset (0x02), 
                ,   5, 
            MACS,   1
        }

        Name (ACST, One)
        Device (ADP1)
        {
            Name (_HID, "ACPI0003")
            Method (_PSR, 0, NotSerialized)
            {
                Store (MACS, Local0)
                If (Local0)
                {
                    Store (One, ACST)
                }
                Else
                {
                    Store (Zero, ACST)
                }

                Return (ACST)
            }

            Method (_PCL, 0, NotSerialized)
            {
                Return (_SB)
            }

            Method (_STA, 0, NotSerialized)
            {
                Return (0x0F)
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Field (ECMB, ByteAcc, Lock, Preserve)
        {
                    Offset (0x08), 
            NB0S,   8, 
            NB1S,   8
        }

        Mutex (BATM, 0x00)
        Method (GBIF, 3, NotSerialized)
        {
            Acquire (BATM, 0xFFFF)
            If (Arg2)
            {
                Store (0xFFFFFFFF, Index (Arg1, One))
                Store (0xFFFFFFFF, Index (Arg1, 0x02))
                Store (0xFFFFFFFF, Index (Arg1, 0x04))
                Store (Zero, Index (Arg1, 0x05))
                Store (Zero, Index (Arg1, 0x06))
            }
            Else
            {
                OperationRegion (ECMR, SystemMemory, Arg0, 0x80)
                Field (ECMR, ByteAcc, Lock, Preserve)
                {
                    BSRC,   16, 
                    BSFC,   16, 
                    BSPE,   16, 
                    BSAC,   16, 
                    BSVO,   16, 
                        ,   15, 
                    BSCM,   1, 
                    BSCU,   16, 
                    BSTV,   16, 
                    BSDC,   16, 
                    BSDV,   16, 
                    BSSN,   16, 
                            Offset (0x40), 
                    BSMN,   128, 
                    BSDN,   256, 
                    BSCH,   128
                }

                Store (BSCM, Local0)
                XOr (Local0, One, Index (Arg1, Zero))
                If (Local0)
                {
                    Multiply (BSDC, 0x0A, Local1)
                }
                Else
                {
                    Store (BSDC, Local1)
                }

                Store (Local1, Index (Arg1, One))
                If (Local0)
                {
                    Multiply (BSFC, 0x0A, Local2)
                }
                Else
                {
                    Store (BSFC, Local2)
                }

                Store (Local2, Index (Arg1, 0x02))
                Store (BSDV, Index (Arg1, 0x04))
                Divide (Local2, 0x64, Local7, Local6)
                Multiply (Local6, 0x07, Local3)
                Store (Local3, Index (Arg1, 0x05))
                Multiply (0x05, 0x02, Local4)
                Add (Local4, One, Local4)
                Multiply (Local6, Local4, Local4)
                Divide (Local4, 0x02, Local7, Local4)
                Store (Local4, Index (Arg1, 0x06))
                Store (BSSN, Local7)
                Name (SERN, Buffer (0x06)
                {
                    "     "
                })
                Store (0x04, Local6)
                While (Local7)
                {
                    Divide (Local7, 0x0A, Local5, Local7)
                    Add (Local5, 0x30, Index (SERN, Local6))
                    Decrement (Local6)
                }

                Store (SERN, Index (Arg1, 0x0A))
                Store (BSDN, Index (Arg1, 0x09))
                Store (BSCH, Index (Arg1, 0x0B))
                Store (BSMN, Index (Arg1, 0x0C))
            }

            Release (BATM)
            Return (Arg1)
        }

        Method (GBST, 4, NotSerialized)
        {
            Acquire (BATM, 0xFFFF)
            OperationRegion (ECMR, SystemMemory, Arg0, 0x10)
            Field (ECMR, ByteAcc, Lock, Preserve)
            {
                BSRC,   16, 
                BSFC,   16, 
                BSPE,   16, 
                BSAC,   16, 
                BSVO,   16, 
                    ,   15, 
                BSCM,   1, 
                BSCU,   16, 
                BSTV,   16
            }

            If (And (Arg1, 0x02))
            {
                Store (0x02, Local0)
                If (And (Arg1, 0x20))
                {
                    Store (Zero, Local0)
                }
            }
            Else
            {
                If (And (Arg1, 0x04))
                {
                    Store (One, Local0)
                }
                Else
                {
                    Store (Zero, Local0)
                }
            }

            If (And (Arg1, 0x10))
            {
                Or (Local0, 0x04, Local0)
            }

            If (And (Arg1, One))
            {
                Store (BSAC, Local1)
                Store (BSRC, Local2)
                If (ACST)
                {
                    If (And (Arg1, 0x20))
                    {
                        Store (BSFC, Local2)
                    }
                }

                If (Arg2)
                {
                    Multiply (Local2, 0x0A, Local2)
                }

                Store (BSVO, Local3)
                If (LGreaterEqual (Local1, 0x8000))
                {
                    If (And (Local0, One))
                    {
                        Subtract (0x00010000, Local1, Local1)
                    }
                    Else
                    {
                        Store (Zero, Local1)
                    }
                }
                Else
                {
                    If (LEqual (And (Local0, 0x02), Zero))
                    {
                        Store (Zero, Local1)
                    }
                }

                If (Arg2)
                {
                    Multiply (Local3, Local1, Local1)
                    Divide (Local1, 0x03E8, Local7, Local1)
                }
            }
            Else
            {
                Store (Zero, Local0)
                Store (0xFFFFFFFF, Local1)
                Store (0xFFFFFFFF, Local2)
                Store (0xFFFFFFFF, Local3)
            }

            Store (Local0, Index (Arg3, Zero))
            Store (Local1, Index (Arg3, One))
            Store (Local2, Index (Arg3, 0x02))
            Store (Local3, Index (Arg3, 0x03))
            Release (BATM)
            Return (Arg3)
        }

        Name (B0ST, Zero)
        Device (BAT0)
        {
            Name (_HID, EisaId ("PNP0C0A"))
            Name (_UID, One)
            Method (_PCL, 0, NotSerialized)
            {
                Return (_SB)
            }

            Name (B0IP, Package (0x0D)
            {
                One, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                One, 
                0xFFFFFFFF, 
                Zero, 
                Zero, 
                One, 
                One, 
                "", 
                "100", 
                "Lion", 
                Zero
            })
            Name (B0SP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Method (_STA, 0, NotSerialized)
            {
                Store (NB0S, Local0)
                And (Local0, One, Local1)
                If (And (Local1, 0x40))
                {
                    Store (Zero, Local1)
                }

                Store (Local1, B0ST)
                If (Local1)
                {
                    Return (0x1F)
                }
                Else
                {
                    Return (0x0F)
                }
            }

            Method (_BIF, 0, NotSerialized)
            {
                Store (B0ST, Local6)
                Store (0x14, Local7)
                While (LAnd (Local6, Local7))
                {
                    Store (NB0S, Local1)
                    If (And (Local1, 0x08))
                    {
                        Store (Zero, Local6)
                    }
                    Else
                    {
                        Sleep (0x01F4)
                        Decrement (Local7)
                    }
                }

                Return (GBIF (0xFE802080, B0IP, Local6))
            }

            Method (_BST, 0, NotSerialized)
            {
                XOr (DerefOf (Index (B0IP, Zero)), One, Local0)
                Store (NB0S, Local1)
                Return (GBST (0xFE802080, Local1, Local0, B0SP))
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Name (B1ST, Zero)
        Device (BAT1)
        {
            Name (_HID, EisaId ("PNP0C0A"))
            Name (_UID, 0x02)
            Method (_PCL, 0, NotSerialized)
            {
                Return (_SB)
            }

            Name (B1IP, Package (0x0D)
            {
                One, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                One, 
                0xFFFFFFFF, 
                Zero, 
                Zero, 
                One, 
                One, 
                "", 
                "100", 
                "Lion", 
                Zero
            })
            Name (B1SP, Package (0x04)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Method (_STA, 0, NotSerialized)
            {
                Store (NB1S, Local0)
                And (Local0, One, Local1)
                If (And (Local0, 0x40))
                {
                    Store (Zero, Local1)
                }

                Store (Local1, B1ST)
                If (Local1)
                {
                    Return (0x1F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_BIF, 0, NotSerialized)
            {
                Store (B1ST, Local6)
                Store (0x14, Local7)
                While (LAnd (Local6, Local7))
                {
                    Store (NB1S, Local1)
                    If (And (Local1, 0x08))
                    {
                        Store (Zero, Local6)
                    }
                    Else
                    {
                        Sleep (0x01F4)
                        Decrement (Local7)
                    }
                }

                Return (GBIF (0xFE802140, B1IP, Local6))
            }

            Method (_BST, 0, NotSerialized)
            {
                XOr (DerefOf (Index (B1IP, Zero)), One, Local0)
                Store (NB1S, Local1)
                Return (GBST (0xFE802140, Local1, Local0, B1SP))
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Field (ECMB, ByteAcc, Lock, Preserve)
        {
                    Offset (0x06), 
            TPTP,   8
        }
    }

    Scope (_SB.PCI0.LPCB)
    {
        Device (KBD0)
        {
            Name (_HID, EisaId ("PNP0303"))
            Name (_CRS, ResourceTemplate ()
            {
                IO (Decode16,
                    0x0060,             // Range Minimum
                    0x0060,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0064,             // Range Minimum
                    0x0064,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IRQ (Edge, ActiveHigh, Exclusive, )
                    {1}
            })
        }

        Device (PS2M)
        {
            Method (_HID, 0, NotSerialized)
            {
                Store (^^EC0.TPTP, Local0)
                If (LEqual (Local0, One))
                {
                    Return (0x5C1B2E4F)
                }

                If (LEqual (Local0, 0x02))
                {
                    Return (0x02058416)
                }

                If (LEqual (Local0, 0x04))
                {
                    Return (0x3020A906)
                }

                If (LEqual (Local0, 0x08))
                {
                    Return (0x43C08C4E)
                }

                If (LEqual (Local0, 0x10))
                {
                    Return (0x0100330F)
                }

                Return (0x451B2E4F)
            }

            Method (_CID, 0, NotSerialized)
            {
                Store (^^EC0.TPTP, Local0)
                If (LEqual (Local0, One))
                {
                    Return (Package (0x03)
                    {
                        0x001B2E4F, 
                        0x02002E4F, 
                        0x130FD041
                    })
                }

                If (LEqual (Local0, 0x02))
                {
                    Return (Package (0x05)
                    {
                        0x0B0FD041, 
                        0x120FD041, 
                        0x030FD041, 
                        0x0E0FD041, 
                        0x130FD041
                    })
                }

                If (LEqual (Local0, 0x04))
                {
                    Return (Package (0x01)
                    {
                        0x130FD041
                    })
                }

                If (LEqual (Local0, 0x08))
                {
                    Return (Package (0x01)
                    {
                        0x130FD041
                    })
                }

                If (LEqual (Local0, 0x10))
                {
                    Return (Package (0x01)
                    {
                        0x130FD041
                    })
                }

                Return (Package (0x03)
                {
                    0x001B2E4F, 
                    0x02002E4F, 
                    0x130FD041
                })
            }

            Name (_CRS, ResourceTemplate ()
            {
                IRQ (Edge, ActiveHigh, Exclusive, )
                    {12}
            })
        }
    }

    Scope (\)
    {
        Mutex (MSGF, 0x00)
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Method (_Q5C, 0, NotSerialized)
        {
            Store (0x5C, P80H)
        }

        Method (_Q1C, 0, NotSerialized)
        {
            Store (0x1C, P80H)
            If (BCEN)
            {
                SDBN (BNVA, One)
            }
            Else
            {
                Acquire (MSGF, 0xFFFF)
                If (LNotEqual (^^^GFX0.IGID, 0xFFFF))
                {
                    BIAN (0x86)
                }

                If (LNotEqual (^^^PEG0.PEGP.DGID, 0xFFFF))
                {
                    Notify (^^^PEG0.PEGP.LCD, 0x86)
                }

                Release (MSGF)
            }
        }

        Method (_Q1D, 0, NotSerialized)
        {
            Store (0x1D, P80H)
            If (BCEN)
            {
                SDBN (BNVA, One)
            }
            Else
            {
                Acquire (MSGF, 0xFFFF)
                If (LNotEqual (^^^GFX0.IGID, 0xFFFF))
                {
                    BIAN (0x87)
                }

                If (LNotEqual (^^^PEG0.PEGP.DGID, 0xFFFF))
                {
                    Notify (^^^PEG0.PEGP.LCD, 0x87)
                }

                Release (MSGF)
            }
        }

        Method (_Q28, 0, NotSerialized)
        {
            Store (0x28, P80H)
            Notify (^^^PEG0.PEGP, 0x81)
        }

        Method (_Q29, 0, NotSerialized)
        {
            Store (0x29, P80H)
            Store (Zero, \_PR.CPU0._PPC)
            PNOT ()
            If (ECON)
            {
                Store (Zero, KCP1)
                Store (Zero, KCP2)
            }
            Else
            {
                MBEC (0x92, 0xDF, Zero)
                MBEC (0x92, 0x7F, Zero)
            }
        }

        Method (_Q2A, 0, NotSerialized)
        {
            Store (0x2A, P80H)
            Store (Divide (SizeOf (\_PR.CPU0._PSS), 0x03, ), \_PR.CPU0._PPC)
            PNOT ()
            If (ECON)
            {
                Store (One, KCP1)
                Store (Zero, KCP2)
            }
            Else
            {
                MBEC (0x92, 0xDF, 0x20)
                MBEC (0x92, 0xDF, Zero)
            }
        }

        Method (_Q2B, 0, NotSerialized)
        {
            Store (0x2B, P80H)
            Store (Divide (Multiply (SizeOf (\_PR.CPU0._PSS), 0x02), 0x03, ), 
                \_PR.CPU0._PPC)
            PNOT ()
            If (ECON)
            {
                Store (One, KCP1)
                Store (One, KCP2)
            }
            Else
            {
                MBEC (0x92, 0xDF, 0x20)
                MBEC (0x92, 0x7F, 0x20)
            }
        }

        Method (_Q2D, 0, NotSerialized)
        {
            Store (0x2D, P80H)
            Notify (^^^PEG0.PEGP, 0x81)
        }

        Method (_Q32, 0, NotSerialized)
        {
            Store (0x32, P80H)
            HKEY (0x32)
            If (ECON)
            {
                Store (Zero, KCTT)
            }
            Else
            {
                MBEC (0x92, 0xFD, Zero)
            }
        }

        Method (_Q33, 0, NotSerialized)
        {
            Store (0x33, P80H)
            If (ECON)
            {
                Store (Zero, KCSS)
            }
            Else
            {
                MBEC (0x92, 0xFE, Zero)
            }

            NTMR ()
        }

        Method (_Q34, 0, NotSerialized)
        {
            Store (0x34, P80H)
            If (ECON)
            {
                Store (One, KCSS)
            }
            Else
            {
                MBEC (0x92, 0xFE, One)
            }

            NTMR ()
        }

        Method (_Q35, 0, NotSerialized)
        {
            Store (0x35, P80H)
            HKEY (0x35)
            If (ECON)
            {
                Store (One, KCTT)
            }
            Else
            {
                MBEC (0x92, 0xFD, 0x02)
            }
        }

        Method (_Q36, 0, NotSerialized)
        {
            Store (0x36, P80H)
            If (ECON)
            {
                Store (One, KOSD)
            }
            Else
            {
                MBEC (0x92, 0xF7, 0x08)
            }

            Sleep (0x01F4)
            NTMR ()
        }

        Method (_Q3B, 0, NotSerialized)
        {
            Store (0x3B, P80H)
            TRPS (0xCA, Zero)
        }

        Method (_Q3C, 0, NotSerialized)
        {
            Store (0x3C, P80H)
            TRPS (0xCA, One)
        }

        Method (_Q3D, 0, NotSerialized)
        {
            Store (0x3D, P80H)
            Store (0x03, \_PR.CPU0._PPC)
            PNOT ()
        }

        Method (_Q40, 0, NotSerialized)
        {
            Store (0x40, P80H)
            Notify (BAT0, 0x81)
        }

        Method (_Q41, 0, NotSerialized)
        {
            Store (0x41, P80H)
            Notify (BAT0, 0x81)
        }

        Method (_Q48, 0, NotSerialized)
        {
            Store (0x48, P80H)
            Notify (BAT0, 0x80)
        }

        Method (_Q42, 0, NotSerialized)
        {
            Store (0x42, P80H)
            Notify (BAT1, One)
        }

        Method (_Q43, 0, NotSerialized)
        {
            Store (0x43, P80H)
            Notify (BAT1, One)
        }

        Method (_Q49, 0, NotSerialized)
        {
            Store (0x49, P80H)
            Notify (BAT1, 0x80)
        }

        Method (_Q4C, 0, NotSerialized)
        {
            Store (0x4C, P80H)
            If (B0ST)
            {
                Notify (BAT0, 0x80)
            }

            If (B1ST)
            {
                Notify (BAT1, 0x80)
            }
        }

        Method (_Q4D, 0, NotSerialized)
        {
            Store (0x4D, P80H)
        }

        Method (_Q50, 0, NotSerialized)
        {
            Store (0x50, P80H)
            Notify (ADP1, 0x80)
            ^^^PEG0.PEGP.USPL (Zero)
        }

        Method (_Q51, 0, NotSerialized)
        {
            Store (0x51, P80H)
            Notify (ADP1, 0x80)
            ^^^PEG0.PEGP.USPL (Zero)
        }

        Method (_Q52, 0, NotSerialized)
        {
            Store (0x52, P80H)
            Notify (LID0, 0x80)
            If (TSLD)
            {
                ^^^GFX0.GLID (One)
            }
        }

        Method (_Q53, 0, NotSerialized)
        {
            Store (0x53, P80H)
            Notify (LID0, 0x80)
            If (TSLD)
            {
                ^^^GFX0.GLID (Zero)
            }
        }

        Method (NTMR, 0, NotSerialized)
        {
            Notify (\_TZ.TZS0, 0x80)
            Notify (\_TZ.TZS1, 0x80)
        }

        Method (SBNL, 2, NotSerialized)
        {
            If (BCEN)
            {
                SDBN (Arg0, One)
            }
        }

        Method (SDBN, 2, NotSerialized)
        {
            If (BCVE)
            {
                If (LNotEqual (^^^GFX0.IGID, 0xFFFF))
                {
                    If (LEqual (Arg1, One))
                    {
                        ^^^GFX0.SPBR (Arg0, Zero)
                    }
                }

                If (LEqual (PMDP, 0x02))
                {
                    If (LEqual (^^^PEG0.PEGP.DGID, 0x10DE))
                    {
                        If (LEqual (Arg1, One))
                        {
                            HKEY (0x1C)
                        }
                        Else
                        {
                            ^^^PEG0.PEGP.NINT (0x02, Arg0)
                        }
                    }
                }
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Method (HKDS, 1, NotSerialized)
        {
            If (LEqual (Zero, DSEN))
            {
                Store (One, Local2)
                If (LEqual (PMDP, 0x02))
                {
                    If (LEqual (^^^PEG0.PEGP.DGID, 0x10DE))
                    {
                        Store (Zero, Local2)
                        If (LAnd (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                        {
                            Notify (WMI0, 0xCB)
                        }
                        Else
                        {
                            Notify (^^^PEG0.PEGP, 0xCB)
                        }

                        Sleep (0x03E8)
                    }
                }

                If (Local2) {}
                If (LNotEqual (CADL, PADL))
                {
                    Store (CADL, PADL)
                    If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Notify (PCI0, Zero)
                    }
                    Else
                    {
                        If (LNotEqual (^^^GFX0.IGID, 0xFFFF))
                        {
                            Notify (GFX0, Zero)
                        }

                        If (LEqual (PMDP, 0x02))
                        {
                            If (LNotEqual (^^^PEG0.PEGP.DGID, 0xFFFF))
                            {
                                Notify (^^^PEG0.PEGP, Zero)
                            }
                        }
                    }

                    Sleep (0x02EE)
                }

                If (LEqual (Arg0, 0x10))
                {
                    If (LNotEqual (^^^GFX0.IGID, 0xFFFF))
                    {
                        ^^^GFX0.GHDS (Zero)
                        Return (Zero)
                    }

                    Store (One, Local2)
                    If (LEqual (PMDP, 0x02))
                    {
                        If (LEqual (^^^PEG0.PEGP.DGID, 0x10DE))
                        {
                            Store (Zero, Local2)
                        }
                    }

                    If (Local2) {}
                    Store (GNDI (), Local0)
                }
                Else
                {
                    Store (Arg0, Local0)
                }

                SNDI (Local0)
                If (LNotEqual (^^^GFX0.IGID, 0xFFFF))
                {
                    ^^^GFX0.SNDL (NDST)
                    ^^^GFX0.GHDS (Zero)
                }

                If (LEqual (PMDP, 0x02))
                {
                    If (LNotEqual (^^^PEG0.PEGP.DGID, 0xFFFF))
                    {
                        Notify (^^^PEG0.PEGP, 0x80)
                    }
                }
            }

            If (LEqual (One, DSEN)) {}
        }

        Method (GNDI, 0, NotSerialized)
        {
            Store (One, Local1)
            Store (CADL, Local2)
            If (LEqual (CDST, 0x0808))
            {
                If (And (0x0101, Local2))
                {
                    Store (0x02, Local1)
                }
                Else
                {
                    If (And (0x0404, Local2))
                    {
                        Store (0x03, Local1)
                    }
                }
            }

            If (LEqual (CDST, 0x0101))
            {
                If (And (0x0404, Local2))
                {
                    Store (0x05, Local1)
                }
                Else
                {
                    Store (One, Local1)
                }
            }

            If (LEqual (CDST, 0x0404))
            {
                Store (One, Local1)
            }

            If (LEqual (CDST, 0x0909))
            {
                If (And (0x0404, Local2))
                {
                    Store (0x03, Local1)
                }
                Else
                {
                    Store (0x04, Local1)
                }
            }

            If (LEqual (CDST, 0x0C0C))
            {
                If (And (0x0101, Local2))
                {
                    Store (0x04, Local1)
                }
                Else
                {
                    Store (0x05, Local1)
                }
            }

            Return (Local1)
        }

        Method (SNDI, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x04))
            {
                Store (0x0101, NDST)
            }

            If (LEqual (Arg0, One))
            {
                Store (0x0808, NDST)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (0x0909, NDST)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (0x0404, NDST)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (0x0202, NDST)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (0x0C0C, NDST)
            }

            If (LEqual (Arg0, 0x07))
            {
                Store (0x0A0A, NDST)
            }

            If (LEqual (Arg0, 0x08))
            {
                Store (0x0505, NDST)
            }
        }

        Method (_Q19, 0, NotSerialized)
        {
            Store (0x19, P80H)
            Store (One, Local2)
            If (LEqual (PMDP, 0x02)) {}
            If (LEqual (PMDP, 0x03))
            {
                Store (Zero, Local2)
                Notify (^^^PEG0.PEGP, 0x80)
            }

            If (Local2)
            {
                HKDS (0x10)
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Field (ECMB, ByteAcc, Lock, Preserve)
        {
                    Offset (0x20), 
            THS0,   8, 
            THS1,   8, 
            THS2,   8, 
            THS3,   8, 
            THS4,   8, 
            THS5,   8, 
            THS6,   8, 
            THS7,   8, 
            THS8,   8, 
            THS9,   8, 
            THSA,   8, 
            THSB,   8, 
                    Offset (0x53), 
            MCSS,   1, 
            MCTT,   1, 
            MDTT,   1, 
            MOSD,   1, 
            MVTP,   1, 
                    Offset (0x54), 
            TSP0,   8, 
            TSC0,   8, 
            TCC0,   8, 
            TSC1,   8
        }
    }

    Scope (_TZ)
    {
        Name (TBSE, 0x0AAC)
        Name (CRT0, Zero)
        Name (PSV0, Zero)
        ThermalZone (TZS0)
        {
            Method (_TMP, 0, NotSerialized)
            {
                Store (\_SB.PCI0.LPCB.EC0.THS0, Local0)
                Store (\_SB.PCI0.LPCB.EC0.MCSS, Local1)
                Store (\_SB.PCI0.LPCB.EC0.MOSD, Local2)
                If (Local1)
                {
                    Add (PSV0, One, Local0)
                }

                If (Local2)
                {
                    If (LLessEqual (Local0, CRT0))
                    {
                        Add (CRT0, 0x02, Local0)
                    }
                }

                Return (C2K (Local0))
            }

            Method (_CRT, 0, NotSerialized)
            {
                Store (\_SB.PCI0.LPCB.EC0.TSC0, Local0)
                If (LOr (LGreaterEqual (Local0, 0x80), LLess (Local0, 0x1E)))
                {
                    Store (0x78, Local0)
                }

                Store (Local0, CRT0)
                Return (C2K (Local0))
            }

            Method (_SCP, 1, Serialized)
            {
                If (ECON)
                {
                    Store (Arg0, \_SB.PCI0.LPCB.EC0.SCPM)
                }
                Else
                {
                    MBEC (0x90, 0xFE, Arg0)
                }
            }

            Method (_PSL, 0, Serialized)
            {
                If (LEqual (TCNT, 0x08))
                {
                    Return (Package (0x08)
                    {
                        \_PR.CPU0, 
                        \_PR.CPU1, 
                        \_PR.CPU2, 
                        \_PR.CPU3, 
                        \_PR.CPU4, 
                        \_PR.CPU5, 
                        \_PR.CPU6, 
                        \_PR.CPU7
                    })
                }

                If (LEqual (TCNT, 0x04))
                {
                    Return (Package (0x04)
                    {
                        \_PR.CPU0, 
                        \_PR.CPU1, 
                        \_PR.CPU2, 
                        \_PR.CPU3
                    })
                }

                If (LEqual (TCNT, 0x02))
                {
                    Return (Package (0x02)
                    {
                        \_PR.CPU0, 
                        \_PR.CPU1
                    })
                }

                Return (Package (0x01)
                {
                    \_PR.CPU0
                })
            }

            Method (_PSV, 0, NotSerialized)
            {
                Store (\_SB.PCI0.LPCB.EC0.TSP0, Local0)
                If (LOr (LGreaterEqual (Local0, 0x80), LLess (Local0, 0x1E)))
                {
                    Store (0x5A, Local0)
                }

                Store (Local0, PSV0)
                Return (C2K (Local0))
            }

            Name (_TC1, Zero)
            Name (_TC2, 0x32)
            Name (_TSP, Zero)
        }

        ThermalZone (TZS1)
        {
            Method (_TMP, 0, NotSerialized)
            {
                Store (\_SB.PCI0.LPCB.EC0.THS1, Local0)
                Return (C2K (Local0))
            }

            Method (_CRT, 0, NotSerialized)
            {
                Store (\_SB.PCI0.LPCB.EC0.TSC1, Local0)
                If (LOr (LGreaterEqual (Local0, 0x80), LLess (Local0, 0x1E)))
                {
                    Store (0x78, Local0)
                }

                Return (C2K (Local0))
            }
        }

        Method (C2K, 1, NotSerialized)
        {
            Store (Arg0, Local0)
            If (LLessEqual (Local0, 0x10))
            {
                Store (0x1E, Local0)
            }

            If (LGreaterEqual (Local0, 0x7F))
            {
                Store (0x1E, Local0)
            }

            Add (Multiply (Local0, 0x0A), TBSE, Local0)
            Return (Local0)
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Field (ECMB, ByteAcc, Lock, Preserve)
        {
                    Offset (0x02), 
                ,   1, 
            MLID,   1
        }
    }

    Scope (_SB)
    {
        Device (LID0)
        {
            Name (_HID, EisaId ("PNP0C0D"))
            Method (_LID, 0, NotSerialized)
            {
                Store (^^PCI0.LPCB.EC0.MLID, Local0)
                If (Local0)
                {
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_PSW, 1, NotSerialized)
            {
                If (ECON)
                {
                    Store (Arg0, ^^PCI0.LPCB.EC0.LIDW)
                }
                Else
                {
                    If (Arg0)
                    {
                        MBEC (0x72, 0xEF, 0x10)
                    }
                    Else
                    {
                        MBEC (0x72, 0xEF, Zero)
                    }
                }
            }

            Name (_PRW, Package (0x02)
            {
                0x1B, 
                0x03
            })
        }
    }

    Scope (_SB)
    {
        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E"))
            Name (_PRW, Package (0x02)
            {
                0x1B, 
                0x03
            })
        }
    }

    Scope (\)
    {
        Name (B2ED, Buffer (0x1C)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0018 */    0x00, 0x00, 0x00, 0x00
        })
        Method (WH15, 2, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            CreateDWordField (Arg1, Zero, DEAX)
            CreateDWordField (Arg1, 0x04, DEBX)
            CreateDWordField (Arg1, 0x08, DECX)
            CreateDWordField (Arg1, 0x0C, DEDX)
            CreateDWordField (B2ED, Zero, OEAX)
            CreateDWordField (B2ED, 0x04, OEBX)
            CreateDWordField (B2ED, 0x08, OECX)
            CreateDWordField (B2ED, 0x0C, OEDX)
            CreateDWordField (B2ED, 0x10, OFLG)
            Store (DECX, OECX)
            Store (DEDX, OEDX)
            If (LEqual (\_SB.AMW0.WMID, One))
            {
                CreateDWordField (Arg1, 0x10, DESI)
                CreateDWordField (Arg1, 0x14, DEDI)
                CreateDWordField (B2ED, 0x14, OESI)
                CreateDWordField (B2ED, 0x18, OEDI)
                Store (DESI, OESI)
                Store (DEDI, OEDI)
            }

            If (LEqual (And (DEAX, 0xFFFF), 0x9630))
            {
                If (LEqual (And (DEBX, 0xFF), 0x06))
                {
                    WB15 (B2ED, DEBX, DECX, DEDX, DESI, DEDI)
                    Release (MSMI)
                    Return (B2ED)
                }
            }

            Store (DEAX, WNVA)
            Store (DEBX, WNVB)
            Store (DECX, WNVC)
            Store (DEDX, WNVD)
            If (LEqual (\_SB.AMW0.WMID, One))
            {
                Store (DESI, WNVS)
                Store (DEDI, WNVI)
            }

            WSMI (One)
            Store (WNVA, OEAX)
            Store (WNVB, OEBX)
            Store (WNVC, OECX)
            Store (WNVD, OEDX)
            Store (WFLG, OFLG)
            If (LEqual (\_SB.AMW0.WMID, One))
            {
                Store (WNVS, OESI)
                Store (WNVI, OEDI)
            }

            Release (MSMI)
            Return (B2ED)
        }

        Method (I15H, 5, NotSerialized)
        {
            Acquire (MSMI, 0xFFFF)
            Store (Arg0, Local1)
            Store (Arg1, WNVA)
            Store (Arg2, WNVB)
            Store (Arg3, WNVC)
            Store (Arg4, WNVD)
            WSMI (One)
            If (LEqual (Local1, One))
            {
                Store (WNVA, Local0)
            }

            If (LEqual (Local1, 0x02))
            {
                Store (WNVB, Local0)
            }

            If (LEqual (Local1, 0x03))
            {
                Store (WNVC, Local0)
            }

            If (LEqual (Local1, 0x04))
            {
                Store (WNVD, Local0)
            }

            Release (MSMI)
            Return (Local0)
        }
    }

    Scope (_SB)
    {
        Device (AMWA)
        {
            Name (_HID, EisaId ("PNP0C14"))
            Name (_UID, "APGe")
            Name (FLMA, Zero)
            Name (BGET, Buffer (0x08)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateWordField (BGET, Zero, BGER)
            CreateWordField (BGET, 0x02, BGDM)
            CreateByteField (BGET, 0x04, BGD0)
            CreateByteField (BGET, One, BGSB)
            CreateDWordField (BGET, One, BGSD)
            Name (BSET, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            CreateWordField (BSET, Zero, BSER)
            CreateByteField (BSET, 0x02, BBTR)
            Name (B6ED, Buffer (0x08)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (B6ED, Zero, WFUN)
            CreateByteField (B6ED, One, KEYN)
            CreateWordField (B6ED, 0x02, DEVM)
            Name (BGUC, Buffer (0x08)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (BGUC, Zero, BUER)
            CreateByteField (BGUC, One, BUCS)
            CreateWordField (BGUC, 0x02, BLLB)
            OperationRegion (RAM, EmbeddedControl, Zero, 0xFF)
            Field (RAM, ByteAcc, Lock, Preserve)
            {
                        Offset (0x15), 
                DEB0,   16, 
                        Offset (0x57), 
                    ,   7, 
                AHKB,   1, 
                AHKE,   8, 
                        Offset (0x75), 
                    ,   1, 
                ALMA,   1, 
                        Offset (0x8D)
            }

            Name (_WDG, Buffer (0xA0)
            {
                /* 0000 */    0x5E, 0xA1, 0x6A, 0x67, 0x47, 0x6A, 0x9F, 0x4D, 
                /* 0008 */    0xA2, 0xCC, 0x1E, 0x6D, 0x18, 0xD1, 0x40, 0x26, 
                /* 0010 */    0xBC, 0x00, 0x01, 0x08, 0xEA, 0x69, 0xEF, 0x61, 
                /* 0018 */    0x5C, 0x86, 0xC3, 0x4B, 0xA5, 0x02, 0xA0, 0xDE, 
                /* 0020 */    0xBA, 0x0C, 0xB5, 0x31, 0x41, 0x41, 0x01, 0x02, 
                /* 0028 */    0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, 
                /* 0030 */    0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 
                /* 0038 */    0x45, 0x45, 0x01, 0x00, 0xC5, 0x2E, 0x77, 0x79, 
                /* 0040 */    0xB1, 0x04, 0xFD, 0x4B, 0x84, 0x3C, 0x61, 0xE7, 
                /* 0048 */    0xF7, 0x7B, 0x6C, 0xC9, 0x42, 0x45, 0x01, 0x02, 
                /* 0050 */    0x66, 0x56, 0x5F, 0xF7, 0xB3, 0xB8, 0x5D, 0x4A, 
                /* 0058 */    0xA9, 0x1C, 0x74, 0x88, 0xF6, 0x2E, 0x56, 0x37, 
                /* 0060 */    0x42, 0x4B, 0x01, 0x02, 0xDA, 0xBB, 0x1D, 0xFE, 
                /* 0068 */    0x14, 0x30, 0x56, 0x48, 0x87, 0x0C, 0x5B, 0x3A, 
                /* 0070 */    0x74, 0x4B, 0xF3, 0x41, 0x42, 0x4C, 0x01, 0x02, 
                /* 0078 */    0xF6, 0x7E, 0xD7, 0xA9, 0xE0, 0x55, 0x06, 0x47, 
                /* 0080 */    0xB1, 0x39, 0x96, 0xAC, 0xE1, 0x3F, 0x22, 0x69, 
                /* 0088 */    0xBD, 0x00, 0x01, 0x08, 0x0E, 0x13, 0x98, 0x9F, 
                /* 0090 */    0x48, 0x3B, 0xB3, 0x40, 0x94, 0x02, 0xDE, 0x8E, 
                /* 0098 */    0x16, 0x0F, 0x30, 0xCC, 0x41, 0x42, 0x01, 0x02
            })
            Method (_WED, 1, NotSerialized)
            {
                Store (Arg0, P80H)
                If (LEqual (Arg0, 0xBC))
                {
                    Store (Zero, B6ED)
                    Store (AHKB, Local0)
                    Store (AHKE, Local1)
                    Store (Local1, WNVA)
                    If (Local0)
                    {
                        Store (0x02, WFUN)
                        Store (Zero, DEVM)
                    }
                    Else
                    {
                        Store (One, WFUN)
                        TRPS (0x90, Zero)
                        Store (WNVD, DEVM)
                    }

                    Store (Local1, KEYN)
                    Return (B6ED)
                }

                If (LEqual (Arg0, 0xBD))
                {
                    Store (Zero, AWER)
                    Store (One, WER0)
                    Return (AWER)
                }
            }

            Method (WMAA, 3, NotSerialized)
            {
                CreateByteField (Arg2, Zero, AAFN)
                CreateByteField (Arg2, One, AAKN)
                CreateWordField (Arg2, 0x02, AADM)
                If (LEqual (Arg1, One))
                {
                    Store (Zero, BSET)
                    If (LEqual (AAFN, One))
                    {
                        CreateDWordField (Arg2, One, AAD1)
                        CreateByteField (Arg2, 0x05, AAD5)
                        CreateByteField (Arg2, 0x06, AAD6)
                        And (AAD5, One, Local0)
                        And (AAD6, One, Local1)
                        If (LEqual (And (AAD5, 0xC0), 0x40))
                        {
                            Store (AAD1, WNVD)
                            TRPS (0x91, Zero)
                            Store (WNVA, BSER)
                        }
                        Else
                        {
                            Store (Zero, BSER)
                        }

                        If (LNotEqual (Local1, Zero))
                        {
                            Store (Local0, FLMA)
                            Store (Local0, ALMA)
                        }

                        Store (OSBT, BBTR)
                        Return (BSET)
                    }

                    If (LEqual (AAFN, 0x02))
                    {
                        CreateByteField (Arg2, 0x04, AAD4)
                        Store (AAKN, WNVA)
                        Store (AADM, WNVD)
                        Store (AAD4, WNVC)
                        TRPS (0x92, Zero)
                        Store (WNVA, BSER)
                        Return (BSET)
                    }

                    If (LEqual (AAFN, 0x03))
                    {
                        CreateByteField (Arg2, One, AASO)
                        CreateByteField (Arg2, 0x03, AASB)
                        CreateDWordField (Arg2, 0x02, AASD)
                        If (LEqual (AASO, One))
                        {
                            Store (0x9610, WNVA)
                            Store (0x0116, WNVB)
                            Store (AASB, WNVC)
                            TRPS (One, Zero)
                        }

                        If (LEqual (AASO, 0x02)) {}
                        If (LAnd (LGreater (AASO, 0x02), LLess (AASO, 0x08)))
                        {
                            Store (AASD, WNVA)
                            Store (One, SPR1)
                            TRPS (0xC8, AASO)
                        }

                        Return (BSET)
                    }

                    If (LEqual (AAFN, 0x04)) {}
                    Store (0xE1, BSER)
                    Return (BSET)
                }

                If (LEqual (Arg1, 0x02))
                {
                    Store (Zero, BGET)
                    If (LEqual (AAFN, One))
                    {
                        Store (AAKN, WNVA)
                        Store (AADM, WNVD)
                        TRPS (0x93, Zero)
                        Store (WNVD, BGDM)
                        Store (WNVA, BGER)
                        Store (WNVC, BGD0)
                        Return (BGET)
                    }

                    If (LEqual (AAFN, 0x02))
                    {
                        CreateByteField (Arg2, One, AAGO)
                        If (LEqual (AAGO, One))
                        {
                            Store (0x9610, WNVA)
                            Store (0x16, WNVB)
                            TRPS (One, Zero)
                            Store (WNVC, BGSB)
                        }

                        If (LEqual (AAGO, 0x02))
                        {
                            Store (Zero, BGSB)
                            If (LGreater (OSYS, 0x07D0))
                            {
                                Store (One, BGSB)
                            }
                        }

                        If (LAnd (LGreater (AAGO, 0x02), LLess (AAGO, 0x08)))
                        {
                            Store (Zero, SPR1)
                            TRPS (0xC8, AAGO)
                            Store (WNVA, BGSD)
                        }

                        Return (BGET)
                    }

                    If (LEqual (AAFN, 0x03))
                    {
                        CreateWordField (BGET, One, BGDD)
                        Store (Zero, BGER)
                        Store (DDST, BGDD)
                        Return (BGET)
                    }

                    If (LEqual (AAFN, 0x04))
                    {
                        Store (Zero, BUER)
                        If (LNotEqual (AAKN, Zero))
                        {
                            Store (0xE4, BUER)
                        }
                        Else
                        {
                            If (LGreater (LLOB, 0x64))
                            {
                                Store (0xE2, BUER)
                            }

                            Store (UCST, BUCS)
                            Store (LLOB, BLLB)
                        }

                        Return (BGUC)
                    }

                    Store (0xE1, BGER)
                    Return (BGET)
                }
            }

            Method (ALMN, 0, NotSerialized)
            {
                If (FLMA)
                {
                    Notify (AMWA, 0xBC)
                }
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Method (_Q2C, 0, NotSerialized)
        {
            ^^^^AMWA.ALMN ()
        }

        Method (_Q65, 0, NotSerialized)
        {
            Store (0x65, P80H)
            Notify (AMWA, 0xBD)
        }
    }

    Scope (\)
    {
        Field (CNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            CBS1,   32, 
            CBS2,   32, 
            CBS3,   32, 
            CBS4,   32
        }
    }

    Scope (\)
    {
        Field (CNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            CASR,   560
        }

        Field (CNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            CAS0,   32, 
            CAS1,   16, 
            CAS2,   512
        }
    }

    Scope (_SB.AMWA)
    {
        Name (BRSC, Buffer (0x08)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        CreateDWordField (BRSC, Zero, BREC)
        CreateDWordField (BRSC, 0x04, BRST)
        Name (BFBS, Buffer (0x14)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x00, 0x00, 0x00, 0x00
        })
        CreateDWordField (BFBS, Zero, BSRB)
        Name (BFAT, Buffer (0x48)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0028 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0038 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        CreateDWordField (BFAT, Zero, ATRB)
        Method (WMBK, 3, NotSerialized)
        {
            Name (_T_1, Zero)
            Name (_T_0, Zero)
            Store (Zero, BRSC)
            Store (One, BREC)
            If (LEqual (Arg1, One))
            {
                Store (Zero, BRSC)
                Store (0x03, BREC)
                CreateWordField (Arg2, Zero, BK1C)
                Store (PWSC (BK1C, 0x02, Arg2), BK1C)
                If (LOr (LEqual (BK1C, 0x0A), LEqual (BK1C, 0x08)))
                {
                    Store (Zero, BREC)
                    Store (PASK (BK1C), Local0)
                    If (LEqual (Local0, Zero))
                    {
                        Store (One, BRST)
                    }
                    Else
                    {
                        Store (Local0, BREC)
                        If (LOr (LEqual (BREC, 0x04), LEqual (BREC, 0x05)))
                        {
                            Store (Zero, BREC)
                        }

                        Store (Zero, BRST)
                    }
                }

                Return (BRSC)
            }

            If (LEqual (Arg1, 0x02))
            {
                Store (Zero, BRSC)
                Store (Zero, BREC)
                Store (PASK (0x0A), Local0)
                If (LNotEqual (Local0, Zero))
                {
                    Store (Local0, BREC)
                }
                Else
                {
                    And (TRPS (0xC5, 0x02), 0x0F, BRST)
                }

                Return (BRSC)
            }

            If (LEqual (Arg1, 0x03))
            {
                Store (Zero, BRSC)
                Store (0x03, BREC)
                CreateWordField (Arg2, Zero, BK3L)
                CreateDWordField (Arg2, 0x02, BK30)
                Store (BK30, CBP0)
                CreateDWordField (Arg2, 0x06, BK31)
                Store (BK31, CBP4)
                CreateDWordField (Arg2, 0x0A, BK32)
                Store (BK32, CBP8)
                CreateWordField (Arg2, 0x0E, PWDS)
                Store (SPWC (0x0A, BK3L), BREC)
                If (LEqual (BREC, Zero))
                {
                    Store (PWDS, SPR1)
                    And (TRPS (0xC5, 0x03), 0x0F, BRST)
                }

                Return (BRSC)
            }

            If (LEqual (Arg1, 0x08))
            {
                Store (Zero, BFAT)
                Store (0x03, ATRB)
                CreateWordField (Arg2, Zero, CML1)
                CreateDWordField (Arg2, 0x02, CMU1)
                CreateWordField (Arg2, 0x08, DKN1)
                If (LEqual (CML1, 0x06))
                {
                    If (LEqual (CMU1, 0x00440048))
                    {
                        Store (One, SPR1)
                    }

                    If (LEqual (CMU1, 0x0044004F))
                    {
                        Store (0x02, SPR1)
                    }
                }

                If (LEqual (DKN1, One))
                {
                    Store (WDBA, WNVS)
                    TRPS (0xC5, 0x08)
                    Store (CASR, BFAT)
                    Store (Zero, ATRB)
                }
                Else
                {
                    Store (One, ATRB)
                }

                Return (BFAT)
            }

            If (LEqual (Arg1, 0x09))
            {
                Store (Zero, BFAT)
                Store (0x03, ATRB)
                CreateWordField (Arg2, Zero, CML2)
                CreateDWordField (Arg2, 0x02, CMU2)
                CreateWordField (Arg2, 0x08, DKN2)
                If (LEqual (CML2, 0x06))
                {
                    If (LEqual (CMU2, 0x00440048))
                    {
                        Store (One, SPR1)
                    }

                    If (LEqual (CMU2, 0x0044004F))
                    {
                        Store (0x02, SPR1)
                    }
                }

                If (LEqual (DKN2, One))
                {
                    Store (WDBA, WNVS)
                    TRPS (0xC5, 0x09)
                    Store (CASR, BFAT)
                    Store (Zero, ATRB)
                }
                Else
                {
                    Store (One, ATRB)
                }

                Return (BFAT)
            }

            If (LEqual (Arg1, 0x0A))
            {
                Store (Zero, BFAT)
                TRPS (0xC5, 0x0A)
                Store (CASR, BFAT)
                Store (Zero, ATRB)
                Return (BFAT)
            }

            If (LEqual (Arg1, 0x0B))
            {
                Store (Zero, BRSC)
                Store (0x03, BREC)
                CreateWordField (Arg2, Zero, BKBL)
                CreateDWordField (Arg2, 0x02, BKB0)
                Store (BKB0, CBP0)
                CreateDWordField (Arg2, 0x06, BKB1)
                Store (BKB1, CBP4)
                CreateDWordField (Arg2, 0x0A, BKB2)
                Store (BKB2, CBP8)
                CreateWordField (Arg2, 0x0E, ATLB)
                CreateField (Arg2, 0x80, Multiply (ATLB, 0x08), SETB)
                Store (SPWC (0x0A, BKBL), BREC)
                If (LOr (LEqual (BREC, Zero), LEqual (BREC, 0x05)))
                {
                    Store (Zero, CASR)
                    Store (ATLB, CAS1)
                    Store (SETB, CAS2)
                    TRPS (0xC5, 0x0B)
                    Store (Zero, BREC)
                }

                Return (BREC)
            }

            If (LOr (LEqual (Arg1, 0x0D), LEqual (Arg1, 0x0E)))
            {
                Store (Zero, BRSC)
                Store (0x03, BREC)
                CreateWordField (Arg2, Zero, BKDL)
                CreateDWordField (Arg2, 0x02, BKD0)
                Store (BKD0, CBP0)
                CreateDWordField (Arg2, 0x06, BKD1)
                Store (BKD1, CBP4)
                CreateDWordField (Arg2, 0x0A, BKD2)
                Store (BKD2, CBP8)
                Store (SPWC (0x0A, BKDL), BREC)
                If (LOr (LEqual (BREC, Zero), LEqual (BREC, 0x05)))
                {
                    If (LEqual (Arg1, 0x0D))
                    {
                        Store (0x9610, WNVA)
                        Store (0x33, WNVB)
                        TRPS (One, Zero)
                        Store (0x08, BREC)
                    }

                    If (LEqual (Arg1, 0x0E))
                    {
                        Store (One, BREC)
                    }
                }

                Return (BREC)
            }

            If (LEqual (Arg1, 0x10))
            {
                CreateDWordField (BFBS, 0x04, GBS1)
                CreateDWordField (BFBS, 0x08, GBS2)
                CreateDWordField (BFBS, 0x0C, GBS3)
                CreateDWordField (BFBS, 0x10, GBS4)
                Store (Zero, BFBS)
                Store (0x03, BSRB)
                Store (Zero, GBS1)
                Store (Zero, GBS2)
                Store (Zero, GBS3)
                Store (Zero, GBS4)
                Store (Zero, CBS1)
                Store (Zero, CBS2)
                Store (Zero, CBS3)
                Store (Zero, CBS4)
                Store (0x9610, WNVA)
                Store (0x17, WNVB)
                Store (WDBA, WNVS)
                TRPS (One, Zero)
                Store (CBS1, GBS1)
                Store (CBS2, GBS2)
                Store (CBS3, GBS3)
                Store (CBS4, GBS4)
                Store (Zero, BSRB)
                Return (BFBS)
            }

            If (LEqual (Arg1, 0x11))
            {
                Store (Zero, BRSC)
                Store (0x03, BREC)
                CreateWordField (Arg2, Zero, BK0L)
                CreateDWordField (Arg2, 0x02, BK00)
                Store (BK00, CBP0)
                CreateDWordField (Arg2, 0x06, BK01)
                Store (BK01, CBP4)
                CreateDWordField (Arg2, 0x0A, BK02)
                Store (BK02, CBP8)
                Store (SPWC (0x0A, BK0L), BREC)
                If (LOr (LEqual (BREC, Zero), LEqual (BREC, 0x05)))
                {
                    Store (Zero, CBS1)
                    Store (Zero, CBS2)
                    Store (Zero, CBS3)
                    Store (Zero, CBS4)
                    CreateDWordField (Arg2, 0x0E, SBS1)
                    Store (SBS1, CBS1)
                    CreateDWordField (Arg2, 0x12, SBS2)
                    Store (SBS2, CBS2)
                    CreateDWordField (Arg2, 0x16, SBS3)
                    Store (SBS3, CBS3)
                    CreateDWordField (Arg2, 0x1A, SBS4)
                    Store (SBS4, CBS4)
                    Store (0x9610, WNVA)
                    Store (0x0117, WNVB)
                    Store (WDBA, WNVS)
                    TRPS (One, Zero)
                    Store (Zero, BREC)
                }

                Return (BREC)
            }

            If (LEqual (Arg1, 0x12))
            {
                Store (Zero, BREC)
                Store (Zero, BRST)
                CreateDWordField (Arg2, Zero, DTID)
                Store (Zero, Local0)
                Store (Zero, Local1)
                Store (DTID, _T_0)
                If (LEqual (_T_0, One))
                {
                    If (USBE)
                    {
                        Store (Zero, Local0)
                    }
                    Else
                    {
                        Store (One, Local0)
                    }

                    Store (USBD, Local1)
                }
                Else
                {
                    If (LEqual (_T_0, 0x02))
                    {
                        Store (CRVI, Local0)
                        Store (CRDS, Local1)
                    }
                    Else
                    {
                        If (LEqual (_T_0, 0x03))
                        {
                            Store (WWVI, Local0)
                            Store (WWDS, Local1)
                        }
                        Else
                        {
                            If (LEqual (_T_0, 0x04))
                            {
                                Store (WLVI, Local0)
                                Store (WLDS, Local1)
                            }
                            Else
                            {
                                If (LEqual (_T_0, 0x05))
                                {
                                    Store (LVID, Local0)
                                    Store (LDIS, Local1)
                                }
                                Else
                                {
                                    If (LEqual (_T_0, 0x06))
                                    {
                                        Store (BTVI, Local0)
                                        Store (BTDS, Local1)
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, 0x07))
                                        {
                                            Store (TMVI, Local0)
                                            Store (TMDS, Local1)
                                        }
                                        Else
                                        {
                                            If (LEqual (_T_0, 0x08))
                                            {
                                                Store (CMVI, Local0)
                                                Store (CMDS, Local1)
                                            }
                                            Else
                                            {
                                                If (LEqual (_T_0, 0x09))
                                                {
                                                    Store (ADVI, Local0)
                                                    Store (ADDS, Local1)
                                                }
                                                Else
                                                {
                                                    If (LEqual (_T_0, 0x0A))
                                                    {
                                                        If (ODDE)
                                                        {
                                                            Store (Zero, Local0)
                                                        }
                                                        Else
                                                        {
                                                            Store (One, Local0)
                                                        }

                                                        Store (ODDD, Local1)
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (_T_0, 0x0B))
                                                        {
                                                            Store (FPVI, Local0)
                                                            Store (FPDS, Local1)
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (_T_0, 0x0C))
                                                            {
                                                                Store (WMVI, Local0)
                                                                Store (WMDS, Local1)
                                                            }
                                                            Else
                                                            {
                                                                If (LEqual (_T_0, 0x0D))
                                                                {
                                                                    If (ESAE)
                                                                    {
                                                                        Store (Zero, Local0)
                                                                    }
                                                                    Else
                                                                    {
                                                                        Store (One, Local0)
                                                                    }

                                                                    Store (ESAD, Local1)
                                                                }
                                                                Else
                                                                {
                                                                    Store (0x06, BREC)
                                                                    Store (0x02, BRST)
                                                                    Return (BRSC)
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                If (LNotEqual (Local0, Zero))
                {
                    If (LEqual (Local1, Zero))
                    {
                        Store (One, BRST)
                    }
                    Else
                    {
                        Store (Zero, BRST)
                    }
                }
                Else
                {
                    Store (0x02, BRST)
                }

                Return (BRSC)
            }

            If (LEqual (Arg1, 0x13))
            {
                Store (Zero, BRSC)
                Store (0x03, BREC)
                CreateWordField (Arg2, Zero, BKFL)
                CreateDWordField (Arg2, 0x02, BKF0)
                Store (BKF0, CBP0)
                CreateDWordField (Arg2, 0x06, BKF1)
                Store (BKF1, CBP4)
                CreateDWordField (Arg2, 0x0A, BKF2)
                Store (BKF2, CBP8)
                Store (SPWC (0x0A, BKFL), BREC)
                If (LOr (LEqual (BREC, Zero), LEqual (BREC, 0x05)))
                {
                    CreateDWordField (Arg2, 0x10, DTYP)
                    CreateByteField (Arg2, 0x14, DEST)
                    Store (DTYP, _T_1)
                    If (LEqual (_T_1, One))
                    {
                        If (LEqual (DEST, Zero))
                        {
                            Store (One, USBD)
                        }
                        Else
                        {
                            Store (Zero, USBD)
                        }
                    }
                    Else
                    {
                        If (LEqual (_T_1, 0x0A))
                        {
                            If (LEqual (DEST, Zero))
                            {
                                Store (One, ODDD)
                            }
                            Else
                            {
                                Store (Zero, ODDD)
                            }
                        }
                        Else
                        {
                            If (LEqual (_T_1, 0x0D))
                            {
                                If (LEqual (DEST, Zero))
                                {
                                    Store (One, ESAD)
                                }
                                Else
                                {
                                    Store (Zero, ESAD)
                                }
                            }
                            Else
                            {
                            }
                        }
                    }

                    Store (DEST, SPR1)
                    Store (DTYP, SPR2)
                    Store (TRPS (0xC5, 0x13), Local0)
                    If (LEqual (Local0, 0xFF))
                    {
                        Store (0x06, BREC)
                    }

                    Store (Local0, BRST)
                    Store (0x08, BREC)
                }

                Return (BRSC)
            }

            Return (BRSC)
        }
    }

    Scope (\)
    {
        Field (CNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            TEMP,   128
        }

        Field (CNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            BLEN,   16, 
                    Offset (0x480), 
            MNIT,   672
        }
    }

    Scope (\)
    {
        Field (CNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            CBP0,   32, 
            CBP4,   32, 
            CBP8,   32, 
            CBPL,   16
        }
    }

    Scope (_SB.AMWA)
    {
        Name (BCPW, Buffer (0x08)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        CreateDWordField (BCPW, Zero, BCPE)
        CreateDWordField (BCPW, 0x04, BCPS)
        Name (BSPW, Buffer (0x04)
        {
            0x00, 0x00, 0x00, 0x00
        })
        CreateDWordField (BSPW, Zero, BSPE)
        Name (BIOS, Buffer (0x0408)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0028 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0038 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0050 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0058 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0060 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        CreateDWordField (BIOS, Zero, BSRC)
        CreateWordField (BIOS, 0x04, BSLN)
        CreateDWordField (BIOS, 0x06, RBSV)
        CreateDWordField (BIOS, 0x0A, RMID)
        CreateField (BIOS, 0x70, 0x80, RBSB)
        CreateField (BIOS, 0xF0, 0x80, RAPB)
        CreateField (BIOS, 0x0170, 0x80, RUPB)
        CreateField (BIOS, 0x01F0, 0x02A0, RMIB)
        Method (WMBL, 3, NotSerialized)
        {
            Store (0x06, BSPE)
            If (LEqual (Arg1, One))
            {
                Store (0x03, BCPE)
                CreateWordField (Arg2, Zero, BL1L)
                CreateDWordField (Arg2, 0x02, BL10)
                Store (BL10, CBP0)
                CreateDWordField (Arg2, 0x06, BL11)
                Store (BL11, CBP4)
                CreateDWordField (Arg2, 0x0A, BL12)
                Store (BL12, CBP8)
                CreateWordField (Arg2, 0x0E, BL1C)
                Store (PWSC (BL1C, 0x10, Arg2), BL1C)
                Store (SPWC (BL1C, BL1L), Local1)
                Store (Local1, BCPE)
                If (LEqual (Local1, 0x02))
                {
                    Store (Zero, BCPE)
                    Store (One, BCPS)
                }
                Else
                {
                    If (LEqual (Local1, Zero))
                    {
                        Store (Zero, BCPE)
                        Store (Zero, BCPS)
                    }
                    Else
                    {
                        If (LOr (LEqual (Local1, 0x04), LEqual (Local1, 0x05)))
                        {
                            Store (Zero, BCPE)
                            Store (Zero, BCPS)
                            If (LNotEqual (BL1L, Zero))
                            {
                                Store (One, BCPS)
                            }
                        }
                    }
                }

                Return (BCPW)
            }

            If (LEqual (Arg1, 0x02))
            {
                Store (0x03, BSPE)
                CreateWordField (Arg2, Zero, BL2L)
                CreateDWordField (Arg2, 0x02, BL20)
                Store (BL20, CBP0)
                CreateDWordField (Arg2, 0x06, BL21)
                Store (BL21, CBP4)
                CreateDWordField (Arg2, 0x0A, BL22)
                Store (BL22, CBP8)
                CreateWordField (Arg2, 0x1C, BL2C)
                Store (PWSC (BL2C, 0x1E, Arg2), BL2C)
                Store (SPWC (BL2C, BL2L), BSPE)
                If (LEqual (BSPE, 0x04))
                {
                    Store (One, Local0)
                }
                Else
                {
                    If (LEqual (BSPE, 0x05))
                    {
                        Store (One, Local0)
                    }
                    Else
                    {
                        If (LEqual (BSPE, Zero))
                        {
                            Store (Zero, Local0)
                        }
                        Else
                        {
                            If (LEqual (BSPE, 0x02))
                            {
                                Store (Zero, Local0)
                            }
                            Else
                            {
                                If (LEqual (BSPE, 0x07))
                                {
                                    Store (Zero, Local0)
                                }
                            }
                        }
                    }
                }

                If (LAnd (LEqual (BL2L, Zero), LEqual (Local0, Zero)))
                {
                    Store (0x02, BSPE)
                }
                Else
                {
                    If (LNotEqual (BL2L, Zero))
                    {
                        If (LEqual (Local0, One))
                        {
                            Store (0x02, BSPE)
                        }
                        Else
                        {
                            If (LEqual (Local0, Zero))
                            {
                                If (LEqual (BL2C, 0x08))
                                {
                                    Store (PASK (0x0A), Local2)
                                    If (LNotEqual (Local2, Zero))
                                    {
                                        Store (Local2, BSPE)
                                    }
                                }
                            }
                        }
                    }
                    Else
                    {
                        If (LEqual (BL2C, 0x0A))
                        {
                            Store (Zero, BSPE)
                        }
                        Else
                        {
                            Store (PASK (0x0A), Local2)
                            If (LNotEqual (Local2, Zero))
                            {
                                Store (Local2, BSPE)
                            }
                            Else
                            {
                                Store (Zero, BSPE)
                            }
                        }
                    }
                }

                If (LEqual (BSPE, Zero))
                {
                    CreateWordField (Arg2, 0x0E, BLBL)
                    CreateDWordField (Arg2, 0x10, BLB0)
                    Store (BLB0, CBP0)
                    CreateDWordField (Arg2, 0x14, BLB1)
                    Store (BLB1, CBP4)
                    CreateDWordField (Arg2, 0x18, BLB2)
                    Store (BLB2, CBP8)
                    If (LEqual (BLBL, Zero))
                    {
                        If (LEqual (BL2C, 0x0A))
                        {
                            Store (PASK (0x08), Local2)
                            If (LEqual (Local2, Zero))
                            {
                                Store (PDIS (0x08), BSPE)
                            }

                            Store (PDIS (0x0A), BSPE)
                        }
                        Else
                        {
                            Store (PDIS (0x08), BSPE)
                        }
                    }
                    Else
                    {
                        If (LOr (LEqual (BL2C, 0x08), LEqual (BL2C, 0x0A)))
                        {
                            Store (0x9610, WNVA)
                            Store (BLBL, WNVC)
                            Store (WDBA, WNVS)
                            If (LEqual (BL2C, 0x08))
                            {
                                Store (0x1207, WNVB)
                            }
                            Else
                            {
                                If (LEqual (BL2C, 0x0A))
                                {
                                    Store (0x1208, WNVB)
                                }
                            }

                            TRPS (One, Zero)
                            And (WNVA, 0xFFFF, Local1)
                            If (LEqual (Local1, Zero))
                            {
                                Store (Zero, BSPE)
                            }
                            Else
                            {
                                Store (One, BSPE)
                            }
                        }
                    }
                }

                Return (BSPW)
            }

            If (LEqual (Arg1, 0x03))
            {
                Store (0x03, BSRC)
                CreateWordField (Arg2, Zero, BL3L)
                CreateDWordField (Arg2, 0x02, BL30)
                Store (BL30, CBP0)
                CreateDWordField (Arg2, 0x06, BL31)
                Store (BL31, CBP4)
                CreateDWordField (Arg2, 0x0A, BL32)
                Store (BL32, CBP8)
                CreateWordField (Arg2, 0x0E, BL33)
                Store (SPWC (0x0A, BL3L), BSRC)
                If (LOr (LEqual (BSRC, Zero), LEqual (BL3L, Zero)))
                {
                    If (LEqual (BL33, Zero))
                    {
                        Store ("28AC", RMID)
                        Store (0x03, RBSV)
                        Store (0x9610, WNVA)
                        Store (0x17, WNVB)
                        Store (WDBA, WNVS)
                        TRPS (One, Zero)
                        Store (TEMP, RBSB)
                        Store (Zero, TEMP)
                        Store (0x9610, WNVA)
                        Store (0x2308, WNVB)
                        Store (WDBA, WNVS)
                        TRPS (One, Zero)
                        Store (TEMP, RAPB)
                        Store (Zero, TEMP)
                        Store (0x9610, WNVA)
                        Store (0x2307, WNVB)
                        Store (WDBA, WNVS)
                        TRPS (One, Zero)
                        Store (TEMP, RUPB)
                        Store (Zero, TEMP)
                        TRPS (0xC6, One)
                        Store (MNIT, RMIB)
                        Store (0x38, Local0)
                        Add (Local0, BLEN, Local0)
                        Store (Local0, BSLN)
                        Store (Zero, BLEN)
                        If (LEqual (WNVA, Zero))
                        {
                            Store (Zero, BSRC)
                        }
                        Else
                        {
                            Store (0x03, BSRC)
                        }
                    }

                    If (LEqual (BL33, One))
                    {
                        Store (0x04, BSRC)
                    }
                }

                Return (BIOS)
            }

            If (LEqual (Arg1, 0x04))
            {
                Store (0x03, BSPE)
                CreateWordField (Arg2, Zero, BL4L)
                CreateDWordField (Arg2, 0x02, BL40)
                Store (BL40, CBP0)
                CreateDWordField (Arg2, 0x06, BL41)
                Store (BL41, CBP4)
                CreateDWordField (Arg2, 0x0A, BL42)
                Store (BL42, CBP8)
                CreateWordField (Arg2, 0x0E, BL43)
                CreateWordField (Arg2, 0x10, DLNS)
                CreateDWordField (Arg2, 0x12, SBSV)
                CreateDWordField (Arg2, 0x16, SMID)
                CreateField (Arg2, 0xD0, 0x80, SBSB)
                CreateField (Arg2, 0x0150, 0x80, SAPW)
                CreateField (Arg2, 0x01D0, 0x80, SUPW)
                CreateField (Arg2, 0x0250, 0x02A0, SMUI)
                Store ("28AC", RMID)
                If (LNotEqual (SMID, RMID))
                {
                    Store (0x03, BSPE)
                    Return (BSPW)
                }

                If (LNotEqual (SBSV, 0x03))
                {
                    Store (0x03, BSPE)
                    Return (BSPW)
                }

                Store (Zero, MNIT)
                Store (SPWC (0x0A, BL4L), BSPE)
                If (LOr (LEqual (BSPE, Zero), LEqual (BL4L, Zero)))
                {
                    If (LEqual (BL43, Zero))
                    {
                        Store (SMUI, MNIT)
                        Store (0x9610, WNVA)
                        Store (0x0117, WNVB)
                        Store (SBSB, TEMP)
                        Store (WDBA, WNVS)
                        TRPS (One, Zero)
                        Store (Zero, TEMP)
                        Store (0x9610, WNVA)
                        Store (0x2208, WNVB)
                        Store (SAPW, TEMP)
                        Store (WDBA, WNVS)
                        TRPS (One, Zero)
                        Store (Zero, TEMP)
                        Store (0x9610, WNVA)
                        Store (0x2207, WNVB)
                        Store (SUPW, TEMP)
                        Store (WDBA, WNVS)
                        TRPS (One, Zero)
                        Store (Zero, TEMP)
                        Store (Zero, WNVA)
                        Store (Zero, Local0)
                        Subtract (DLNS, 0x38, Local0)
                        Store (Local0, BLEN)
                        TRPS (0xC6, 0x02)
                        Store (Zero, BLEN)
                        If (LEqual (WNVA, Zero))
                        {
                            Store (0x08, BSPE)
                        }
                        Else
                        {
                            Store (0x03, BSPE)
                        }
                    }

                    If (LEqual (BL43, One))
                    {
                        Store (0x04, BSPE)
                    }
                }

                Return (BSPW)
            }

            If (LEqual (Arg1, 0x05))
            {
                CreateWordField (Arg2, Zero, BL5D)
                CreateDWordField (Arg2, 0x02, BL50)
                Store (BL50, CBP0)
                CreateDWordField (Arg2, 0x06, BL51)
                Store (BL51, CBP4)
                CreateDWordField (Arg2, 0x0A, BL52)
                Store (BL52, CBP8)
                CreateWordField (Arg2, 0x0E, BL5L)
                Store (BL5L, CBPL)
                Store (TRPS (0xC7, BL5D), BSPE)
                Return (BSPW)
            }

            Return (BSPW)
        }

        Method (PASK, 1, NotSerialized)
        {
            Store (0x03, Local1)
            If (LOr (LEqual (Arg0, 0x0A), LEqual (Arg0, 0x08)))
            {
                If (LEqual (Arg0, 0x0A))
                {
                    Store (0x05, Local1)
                    Store (0x0108, Local0)
                }
                Else
                {
                    Store (0x04, Local1)
                    Store (0x0107, Local0)
                }

                Store (0x9610, WNVA)
                Store (Local0, WNVB)
                TRPS (One, Zero)
                And (WNVA, 0x0F, Local0)
                If (LEqual (Local0, Zero))
                {
                    Store (Zero, Local1)
                }
                Else
                {
                    If (LEqual (Local0, One)) {}
                    Else
                    {
                        Store (One, Local1)
                    }
                }
            }

            Return (Local1)
        }

        Method (PDIS, 1, NotSerialized)
        {
            Store (0x03, Local0)
            If (LOr (LEqual (Arg0, 0x0A), LEqual (Arg0, 0x08)))
            {
                If (LEqual (Arg0, 0x0A))
                {
                    Store (0x08, Local1)
                }
                Else
                {
                    Store (0x07, Local1)
                }

                Store (0x9610, WNVA)
                Store (Local1, WNVB)
                TRPS (One, Zero)
                And (WNVA, 0xFF, Local0)
                If (LEqual (Local0, Zero))
                {
                    Store (Zero, Local0)
                }
                Else
                {
                    Store (One, Local0)
                }
            }

            Return (Local0)
        }

        Method (PWSC, 3, NotSerialized)
        {
            Store (Zero, Local0)
            CreateDWordField (Arg2, Arg1, PCM0)
            If (LAnd (LEqual (Arg0, 0x0A), LEqual (PCM0, 0x00440041)))
            {
                Store (0x0A, Local0)
            }
            Else
            {
                If (LAnd (LEqual (Arg0, 0x08), LEqual (PCM0, 0x00530055)))
                {
                    Store (0x08, Local0)
                }
            }

            Return (Local0)
        }

        Method (PACH, 2, NotSerialized)
        {
            Store (0x03, Local1)
            If (LOr (LEqual (Arg0, 0x0A), LEqual (Arg0, 0x08)))
            {
                If (LEqual (Arg0, 0x0A))
                {
                    Store (0x1308, Local0)
                }
                Else
                {
                    Store (0x1307, Local0)
                }

                Store (WDBA, WNVS)
                Store (0x9610, WNVA)
                Store (Local0, WNVB)
                Store (Arg1, WNVC)
                TRPS (One, Zero)
                And (WNVA, 0xFFFF, Local1)
                If (LEqual (Local1, Zero))
                {
                    Store (Zero, Local1)
                }
                Else
                {
                    If (LEqual (Local1, 0x0100))
                    {
                        Store (0x02, Local1)
                    }
                    Else
                    {
                        If (LEqual (Local1, 0x07))
                        {
                            Store (0x07, Local1)
                        }
                    }
                }
            }

            Return (Local1)
        }

        Method (SPWC, 2, NotSerialized)
        {
            Store (0x03, Local0)
            If (LOr (LEqual (Arg0, 0x08), LEqual (Arg0, 0x0A)))
            {
                Store (PASK (Arg0), Local0)
                If (LEqual (Local0, Zero))
                {
                    Store (PACH (Arg0, Arg1), Local0)
                }

                If (LOr (LEqual (Local0, 0x05), LEqual (Local0, 0x04)))
                {
                    If (LNotEqual (Arg1, Zero))
                    {
                        Store (0x02, Local0)
                    }
                }
            }

            Return (Local0)
        }
    }

    Scope (_SB)
    {
        Device (AMW0)
        {
            Name (_HID, EisaId ("PNP0C14"))
            Name (_UID, Zero)
            Name (WLMP, Zero)
            Name (WMID, Zero)
            Name (B0ED, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            CreateDWordField (B0ED, Zero, WLID)
            Name (B1ED, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Name (_WDG, Buffer (0x64)
            {
                /* 0000 */    0x81, 0x17, 0xF4, 0xD9, 0x33, 0xF6, 0x00, 0x44, 
                /* 0008 */    0x93, 0x55, 0x60, 0x17, 0x70, 0xBE, 0xC5, 0x10, 
                /* 0010 */    0x41, 0x41, 0x01, 0x00, 0x1D, 0x37, 0xC3, 0x67, 
                /* 0018 */    0xA3, 0x95, 0x37, 0x4C, 0xBB, 0x61, 0xDD, 0x47, 
                /* 0020 */    0xB4, 0x91, 0xDA, 0xAB, 0x41, 0x42, 0x01, 0x02, 
                /* 0028 */    0xED, 0x16, 0x1F, 0x43, 0x2B, 0x0C, 0x4C, 0x44, 
                /* 0030 */    0xB2, 0x67, 0x27, 0xDE, 0xB1, 0x40, 0xCF, 0x9C, 
                /* 0038 */    0x41, 0x43, 0x01, 0x02, 0x71, 0xBF, 0xD1, 0x40, 
                /* 0040 */    0x2D, 0xA8, 0x59, 0x4E, 0xA1, 0x68, 0x39, 0x85, 
                /* 0048 */    0xE0, 0x3B, 0x2E, 0x87, 0xB0, 0x00, 0x01, 0x08, 
                /* 0050 */    0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, 
                /* 0058 */    0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 
                /* 0060 */    0x44, 0x44, 0x01, 0x00
            })
            Method (_WED, 1, NotSerialized)
            {
                Store (Arg0, P80H)
                If (LEqual (Arg0, 0xB0))
                {
                    Return (B0ED)
                }
            }

            Method (WQAA, 1, NotSerialized)
            {
                Store (0xAA, P80H)
                Return (B1ED)
            }

            Method (WSAA, 2, NotSerialized)
            {
                Store (0xA1, P80H)
                CreateDWordField (Arg1, Zero, DDD0)
                If (LEqual (DDD0, One))
                {
                    Add (DDD0, 0x02, DDD0)
                    Store (DDD0, Index (B1ED, Zero))
                }
            }

            Method (WMAB, 3, NotSerialized)
            {
                Store (0xAB, P80H)
                Store (One, WLMP)
                Store (Zero, WMID)
                Return (WH15 (Arg1, Arg2))
            }

            Method (WMAC, 3, NotSerialized)
            {
                Store (0xAC, P80H)
                Store (One, WLMP)
                Store (One, WMID)
                Return (WH15 (Arg1, Arg2))
            }
        }
    }

    Scope (_SB.AMW0)
    {
        Name (WQDD, Buffer (0x0560)
        {
            /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 
            /* 0008 */    0x50, 0x05, 0x00, 0x00, 0x70, 0x1D, 0x00, 0x00, 
            /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 
            /* 0018 */    0x18, 0xCB, 0x8D, 0x00, 0x01, 0x06, 0x18, 0x42, 
            /* 0020 */    0x10, 0x09, 0x10, 0x8A, 0xE7, 0x80, 0x42, 0x04, 
            /* 0028 */    0x0A, 0x0D, 0xA1, 0x40, 0x30, 0x28, 0x38, 0x4B, 
            /* 0030 */    0x82, 0x90, 0x0B, 0x26, 0x26, 0x40, 0x08, 0x84, 
            /* 0038 */    0x24, 0x0A, 0x30, 0x2F, 0x40, 0xB7, 0x00, 0xC3, 
            /* 0040 */    0x02, 0x6C, 0x0B, 0x30, 0x2D, 0xC0, 0x31, 0x90, 
            /* 0048 */    0xFA, 0xF7, 0x87, 0x28, 0x0D, 0x44, 0x22, 0x20, 
            /* 0050 */    0xA9, 0x14, 0x08, 0x09, 0x15, 0xA0, 0x5C, 0x80, 
            /* 0058 */    0x6F, 0x01, 0xDA, 0x11, 0x25, 0x59, 0x80, 0x65, 
            /* 0060 */    0x18, 0x11, 0xD8, 0x2B, 0x32, 0x41, 0xE3, 0x04, 
            /* 0068 */    0xE5, 0x0C, 0x03, 0x05, 0x6F, 0xC0, 0x36, 0x05, 
            /* 0070 */    0x98, 0x1C, 0x04, 0x95, 0x3D, 0x08, 0x94, 0x0C, 
            /* 0078 */    0x08, 0x79, 0x14, 0x60, 0x15, 0x4E, 0xD3, 0x49, 
            /* 0080 */    0x60, 0xF7, 0x73, 0x91, 0x30, 0x18, 0x19, 0x13, 
            /* 0088 */    0xA0, 0x50, 0x80, 0x46, 0x01, 0xDE, 0x40, 0x64, 
            /* 0090 */    0x4B, 0x80, 0x41, 0x01, 0xE2, 0x04, 0x28, 0x83, 
            /* 0098 */    0x12, 0x4A, 0xB8, 0x83, 0x69, 0x4D, 0x80, 0x39, 
            /* 00A0 */    0x28, 0x82, 0x56, 0x1B, 0x98, 0x50, 0x3A, 0x03, 
            /* 00A8 */    0x12, 0x48, 0xAC, 0x16, 0xC1, 0x05, 0x13, 0x3B, 
            /* 00B0 */    0x6A, 0x94, 0x40, 0xD1, 0xDB, 0x1F, 0x04, 0x09, 
            /* 00B8 */    0xA7, 0x00, 0xA2, 0x06, 0x10, 0x45, 0x1A, 0x0D, 
            /* 00C0 */    0x6A, 0x44, 0x09, 0x0E, 0xCC, 0xA3, 0x39, 0xD5, 
            /* 00C8 */    0xCE, 0x05, 0x48, 0x9F, 0xAB, 0x40, 0x8E, 0xF5, 
            /* 00D0 */    0x34, 0xEA, 0x1C, 0x2E, 0x01, 0x49, 0x60, 0xAC, 
            /* 00D8 */    0x04, 0xB7, 0xEE, 0x21, 0xE2, 0x5D, 0x03, 0x6A, 
            /* 00E0 */    0xE2, 0x87, 0xC8, 0x04, 0xC1, 0xA1, 0x86, 0xE8, 
            /* 00E8 */    0xF1, 0x86, 0x3B, 0x81, 0xA3, 0x3E, 0x12, 0x06, 
            /* 00F0 */    0x71, 0x50, 0x47, 0x83, 0x39, 0x07, 0xD8, 0xE1, 
            /* 00F8 */    0x64, 0x34, 0xE3, 0x52, 0x05, 0x98, 0x1D, 0xBA, 
            /* 0100 */    0x46, 0x96, 0xE0, 0x78, 0x0C, 0x7D, 0xF6, 0xE7, 
            /* 0108 */    0xD3, 0x33, 0x24, 0x91, 0x3F, 0x08, 0xD4, 0xC8, 
            /* 0110 */    0x0C, 0xED, 0xA1, 0x9E, 0x56, 0xCC, 0x90, 0x4F, 
            /* 0118 */    0x01, 0x87, 0xC5, 0xC4, 0x42, 0x68, 0x93, 0x1A, 
            /* 0120 */    0x0F, 0xC4, 0xFF, 0xFF, 0x78, 0xC0, 0xA3, 0xF8, 
            /* 0128 */    0x68, 0x20, 0x84, 0x57, 0x82, 0xD8, 0x1E, 0x50, 
            /* 0130 */    0x82, 0x01, 0x21, 0xE4, 0x64, 0x3C, 0xA8, 0x51, 
            /* 0138 */    0x18, 0x35, 0xDC, 0x61, 0x1C, 0xB5, 0x8F, 0x0F, 
            /* 0140 */    0x3A, 0x3C, 0x50, 0x51, 0xC3, 0xA6, 0x67, 0x06, 
            /* 0148 */    0x7E, 0x5C, 0x60, 0xE7, 0x82, 0x98, 0x8F, 0x00, 
            /* 0150 */    0x1E, 0xC9, 0x09, 0xF9, 0x38, 0xE1, 0x81, 0xC1, 
            /* 0158 */    0x07, 0xC4, 0x7B, 0x9F, 0x32, 0x19, 0xC1, 0x99, 
            /* 0160 */    0x7A, 0x80, 0xE0, 0xB0, 0x3E, 0x7C, 0x02, 0xFC, 
            /* 0168 */    0xB2, 0xF0, 0xB0, 0x90, 0xC0, 0xF7, 0x07, 0x03, 
            /* 0170 */    0xE3, 0x46, 0x68, 0xBF, 0x02, 0x10, 0x82, 0x97, 
            /* 0178 */    0x79, 0x02, 0x90, 0x53, 0x04, 0x8D, 0xCD, 0xD0, 
            /* 0180 */    0x4F, 0x03, 0x2F, 0x0E, 0xE1, 0x83, 0x47, 0x38, 
            /* 0188 */    0xDF, 0x03, 0x38, 0x85, 0xC7, 0x00, 0x0F, 0xC1, 
            /* 0190 */    0x04, 0x16, 0x39, 0x02, 0x94, 0x98, 0x11, 0xA0, 
            /* 0198 */    0x8E, 0x0D, 0x27, 0x70, 0x3C, 0x61, 0x8F, 0xE0, 
            /* 01A0 */    0x78, 0xA2, 0x9C, 0xC4, 0x01, 0xF9, 0xA8, 0x61, 
            /* 01A8 */    0x84, 0xE0, 0xE5, 0x9E, 0x38, 0x88, 0xE6, 0x71, 
            /* 01B0 */    0x6A, 0x16, 0xEF, 0x00, 0x87, 0xC0, 0xC6, 0x84, 
            /* 01B8 */    0x3B, 0x40, 0x78, 0x08, 0x7C, 0x00, 0x8F, 0x1A, 
            /* 01C0 */    0xE7, 0x67, 0xA5, 0xB3, 0x42, 0x9E, 0x3B, 0xF8, 
            /* 01C8 */    0x98, 0xB0, 0x03, 0xE0, 0xD2, 0x0F, 0x27, 0x28, 
            /* 01D0 */    0xB1, 0xE7, 0x13, 0x50, 0xFC, 0xFF, 0xCF, 0x27, 
            /* 01D8 */    0xC0, 0x1E, 0xE4, 0x99, 0xE4, 0xED, 0xE4, 0x68, 
            /* 01E0 */    0x9E, 0x4B, 0x1E, 0x48, 0x9E, 0x48, 0x9E, 0x4F, 
            /* 01E8 */    0x8C, 0xF3, 0x66, 0xF2, 0x64, 0x10, 0xE1, 0xF9, 
            /* 01F0 */    0xC4, 0xD7, 0x14, 0x23, 0x44, 0x09, 0x19, 0xE8, 
            /* 01F8 */    0xE1, 0x24, 0x42, 0x94, 0x70, 0x81, 0xC2, 0x1A, 
            /* 0200 */    0x21, 0xC8, 0x63, 0xC1, 0x09, 0x1F, 0x76, 0xAC, 
            /* 0208 */    0x40, 0x61, 0x9E, 0x4F, 0x98, 0xF0, 0xA7, 0x86, 
            /* 0210 */    0x2C, 0x9C, 0x4F, 0x00, 0xBA, 0xFC, 0xFF, 0xCF, 
            /* 0218 */    0x27, 0x80, 0x33, 0x81, 0xE7, 0x13, 0x90, 0x0E, 
            /* 0220 */    0x8F, 0x1F, 0x4F, 0x80, 0xC9, 0x08, 0xB8, 0x16, 
            /* 0228 */    0x13, 0x87, 0x2F, 0xD4, 0xE3, 0xC0, 0xA7, 0x11, 
            /* 0230 */    0x40, 0xCE, 0x09, 0xE4, 0xFD, 0xE3, 0x38, 0x9F, 
            /* 0238 */    0x44, 0x7C, 0xF7, 0xF2, 0xFF, 0xFF, 0xE6, 0xE5, 
            /* 0240 */    0x83, 0xC8, 0x1B, 0xC8, 0xC1, 0x3E, 0x8D, 0xB0, 
            /* 0248 */    0x51, 0x05, 0x33, 0xCA, 0xE9, 0x47, 0x88, 0xFA, 
            /* 0250 */    0x52, 0x62, 0xC4, 0x08, 0xC1, 0x42, 0x05, 0x8A, 
            /* 0258 */    0x11, 0x35, 0xB2, 0x61, 0x23, 0xC4, 0x79, 0xF8, 
            /* 0260 */    0xA2, 0x0F, 0x06, 0x0D, 0xD5, 0xA7, 0x11, 0x80, 
            /* 0268 */    0x1F, 0xA7, 0x09, 0xDC, 0xE9, 0x02, 0x4C, 0x93, 
            /* 0270 */    0x38, 0x80, 0x28, 0x45, 0xC3, 0x68, 0x3A, 0x8F, 
            /* 0278 */    0x03, 0x01, 0x9F, 0x2F, 0x80, 0x89, 0xE2, 0x97, 
            /* 0280 */    0x9E, 0xCE, 0x27, 0xFE, 0xFF, 0xAB, 0x05, 0x91, 
            /* 0288 */    0x8D, 0xB5, 0x7A, 0x58, 0x34, 0xF3, 0x03, 0x48, 
            /* 0290 */    0xF0, 0xC5, 0x03, 0x6B, 0xD8, 0x27, 0x79, 0x16, 
            /* 0298 */    0x27, 0x99, 0x60, 0x56, 0x28, 0xC1, 0x7A, 0xD8, 
            /* 02A0 */    0x4E, 0x09, 0xA3, 0x04, 0x24, 0x1A, 0x8E, 0xA1, 
            /* 02A8 */    0xAD, 0x19, 0x46, 0x70, 0x06, 0xF1, 0x79, 0xC8, 
            /* 02B0 */    0x21, 0xCE, 0x31, 0x50, 0x8E, 0x0C, 0x1E, 0xC5, 
            /* 02B8 */    0x59, 0x3D, 0x07, 0x78, 0x8C, 0x8F, 0x0B, 0x6C, 
            /* 02C0 */    0x7C, 0x3E, 0x08, 0xF0, 0xC3, 0xA0, 0x6F, 0x06, 
            /* 02C8 */    0x46, 0xB6, 0x9A, 0xD3, 0x0C, 0x0A, 0xCC, 0xC7, 
            /* 02D0 */    0x0B, 0x4E, 0x50, 0xD7, 0xCD, 0x05, 0x64, 0x43, 
            /* 02D8 */    0x82, 0x79, 0x10, 0x38, 0x24, 0x30, 0x4F, 0xD5, 
            /* 02E0 */    0x43, 0x02, 0x1E, 0xE0, 0x87, 0x04, 0xE6, 0x2B, 
            /* 02E8 */    0x81, 0x87, 0x04, 0x2C, 0xFE, 0xFF, 0xA8, 0x07, 
            /* 02F0 */    0x71, 0x48, 0x60, 0x46, 0xF2, 0x90, 0xC0, 0xA6, 
            /* 02F8 */    0xEF, 0xC8, 0x01, 0x0A, 0x20, 0xDF, 0x30, 0x7C, 
            /* 0300 */    0xDC, 0x7B, 0xCA, 0x60, 0x63, 0x78, 0xE2, 0x33, 
            /* 0308 */    0x9A, 0xD1, 0xB9, 0xC4, 0xE5, 0xE8, 0x42, 0xC1, 
            /* 0310 */    0x45, 0xC1, 0xE8, 0x58, 0x60, 0x10, 0x4F, 0xCB, 
            /* 0318 */    0x51, 0xA6, 0x8A, 0x9E, 0x89, 0x7D, 0x9E, 0x42, 
            /* 0320 */    0xC8, 0x89, 0x82, 0x5F, 0xDD, 0x74, 0x9F, 0x81, 
            /* 0328 */    0x76, 0xF7, 0x08, 0xEA, 0x8B, 0x0A, 0x83, 0xF3, 
            /* 0330 */    0x64, 0x39, 0x9C, 0xAF, 0x14, 0xFC, 0xAE, 0xE3, 
            /* 0338 */    0xCB, 0x15, 0xF8, 0x46, 0x05, 0xF7, 0x50, 0xC1, 
            /* 0340 */    0x46, 0x05, 0xF6, 0xEB, 0x88, 0x47, 0x05, 0xD6, 
            /* 0348 */    0xFF, 0xFF, 0xA8, 0x60, 0x9D, 0x2B, 0xD8, 0xA8, 
            /* 0350 */    0xC0, 0x7E, 0x26, 0xF0, 0xA8, 0x80, 0xCB, 0xD1, 
            /* 0358 */    0x82, 0x8D, 0x0A, 0xEC, 0x1E, 0x46, 0x05, 0xCA, 
            /* 0360 */    0x20, 0xD7, 0x0F, 0x28, 0xD0, 0x8F, 0x96, 0xAF, 
            /* 0368 */    0x40, 0x0F, 0x41, 0x8F, 0x51, 0x1E, 0x14, 0xB8, 
            /* 0370 */    0x61, 0x7C, 0xDF, 0x03, 0x4E, 0x17, 0x10, 0x98, 
            /* 0378 */    0xF0, 0x18, 0xC1, 0x47, 0x18, 0xF2, 0xFF, 0x27, 
            /* 0380 */    0x28, 0x6B, 0x5C, 0xA8, 0xFB, 0x8A, 0xAF, 0x72, 
            /* 0388 */    0xEC, 0x3A, 0x85, 0xBB, 0x2A, 0x62, 0x60, 0x3D, 
            /* 0390 */    0x52, 0x0E, 0x6B, 0xB4, 0xB0, 0x07, 0xFC, 0xA6, 
            /* 0398 */    0xE5, 0x63, 0x9A, 0x67, 0x66, 0x8C, 0xB0, 0x1E, 
            /* 03A0 */    0xAD, 0x95, 0x92, 0xD2, 0x2B, 0x9F, 0x23, 0xDD, 
            /* 03A8 */    0xFA, 0x00, 0x41, 0x73, 0x79, 0x10, 0x78, 0xCE, 
            /* 03B0 */    0x7B, 0x4B, 0x78, 0x73, 0xF7, 0x59, 0xC2, 0xC7, 
            /* 03B8 */    0xBD, 0xC7, 0x82, 0x97, 0x80, 0x97, 0x81, 0xF7, 
            /* 03C0 */    0x92, 0x57, 0x5A, 0x76, 0xED, 0xF3, 0xAD, 0xCF, 
            /* 03C8 */    0x48, 0x0F, 0x80, 0x46, 0x09, 0x12, 0x23, 0xE6, 
            /* 03D0 */    0xFB, 0x89, 0x91, 0x1F, 0x6D, 0x7D, 0x69, 0xF0, 
            /* 03D8 */    0xBD, 0x2F, 0xC6, 0x5B, 0x1F, 0x8B, 0x77, 0xEB, 
            /* 03E0 */    0x03, 0x44, 0xFD, 0xFF, 0x6F, 0x7D, 0xC0, 0xFE, 
            /* 03E8 */    0x72, 0xF1, 0xD6, 0x07, 0x1C, 0x30, 0x23, 0xBE, 
            /* 03F0 */    0xF6, 0x01, 0x93, 0x34, 0x2B, 0xD0, 0x59, 0xC3, 
            /* 03F8 */    0x49, 0x40, 0x74, 0xED, 0xC3, 0xE9, 0x01, 0xD2, 
            /* 0400 */    0xB5, 0x0F, 0xAF, 0x03, 0x96, 0x8E, 0xDB, 0x0A, 
            /* 0408 */    0x60, 0x94, 0xE4, 0x58, 0x85, 0xD2, 0x7E, 0xAC, 
            /* 0410 */    0xA2, 0x20, 0x3E, 0xCE, 0xF8, 0xDA, 0x07, 0x58, 
            /* 0418 */    0xF9, 0xFF, 0x5F, 0xFB, 0x00, 0x26, 0x0E, 0x09, 
            /* 0420 */    0xE6, 0xF5, 0xE2, 0x09, 0xC7, 0x43, 0x02, 0xEB, 
            /* 0428 */    0x8D, 0xC6, 0x43, 0x82, 0xFB, 0xFF, 0x1F, 0x34, 
            /* 0430 */    0xD8, 0x86, 0x04, 0xE6, 0x8B, 0x9D, 0xAF, 0x8E, 
            /* 0438 */    0xC0, 0x59, 0xF6, 0x82, 0x75, 0x29, 0xE1, 0x42, 
            /* 0440 */    0x61, 0x74, 0xB4, 0x30, 0x88, 0x01, 0x7D, 0x75, 
            /* 0448 */    0x04, 0x7E, 0x17, 0x3E, 0xE0, 0x73, 0x75, 0x04, 
            /* 0450 */    0x0E, 0x17, 0x3E, 0xFC, 0xFF, 0xFF, 0xEA, 0x08, 
            /* 0458 */    0x38, 0xB8, 0xF1, 0x81, 0xF3, 0xEA, 0x08, 0xFC, 
            /* 0460 */    0x4C, 0x5C, 0x1D, 0x01, 0x1D, 0x2A, 0x46, 0x0E, 
            /* 0468 */    0x74, 0x4E, 0x31, 0x8C, 0xE0, 0xFF, 0x7F, 0x54, 
            /* 0470 */    0xE0, 0x06, 0xF6, 0xF1, 0x00, 0xD8, 0x8C, 0x0A, 
            /* 0478 */    0x18, 0x9C, 0x06, 0x7C, 0x09, 0x05, 0xBC, 0x2A, 
            /* 0480 */    0xB4, 0xE9, 0x53, 0xA3, 0x51, 0xAB, 0x06, 0x65, 
            /* 0488 */    0x6A, 0x94, 0x69, 0x50, 0xAB, 0x4F, 0xA5, 0xC6, 
            /* 0490 */    0x8C, 0x5D, 0x29, 0x13, 0x8C, 0xB1, 0x02, 0x8D, 
            /* 0498 */    0xC5, 0x22, 0x96, 0x23, 0x10, 0x87, 0x04, 0xA1, 
            /* 04A0 */    0x22, 0x1F, 0x43, 0x02, 0x71, 0x44, 0x10, 0x1A, 
            /* 04A8 */    0xE1, 0x4D, 0x23, 0x10, 0xC7, 0x5B, 0x9B, 0x40, 
            /* 04B0 */    0x2C, 0xEE, 0xA1, 0x21, 0x10, 0xFF, 0xFF, 0x83, 
            /* 04B8 */    0x3C, 0x23, 0x64, 0x04, 0x44, 0xA9, 0x40, 0x74, 
            /* 04C0 */    0x4B, 0x22, 0x6B, 0x12, 0x90, 0x95, 0x81, 0x08, 
            /* 04C8 */    0xC8, 0x81, 0x80, 0x68, 0x3A, 0x20, 0x2A, 0xEA, 
            /* 04D0 */    0x21, 0x20, 0x20, 0x2B, 0x04, 0x11, 0x90, 0xD5, 
            /* 04D8 */    0xD8, 0x00, 0x62, 0xDA, 0x40, 0x04, 0xE4, 0x5C, 
            /* 04E0 */    0x40, 0x34, 0x25, 0x10, 0x55, 0xA8, 0x03, 0x88, 
            /* 04E8 */    0xE9, 0x05, 0x11, 0x90, 0xB3, 0x02, 0xD1, 0xE4, 
            /* 04F0 */    0x40, 0x54, 0xB3, 0x0F, 0x20, 0x96, 0x00, 0x44, 
            /* 04F8 */    0x40, 0x4E, 0x4A, 0x23, 0x10, 0xEB, 0x54, 0x02, 
            /* 0500 */    0xC2, 0x52, 0xBD, 0x1D, 0x04, 0xE8, 0x88, 0x20, 
            /* 0508 */    0x02, 0xB2, 0xB2, 0x2F, 0xAB, 0x80, 0x2C, 0x13, 
            /* 0510 */    0x44, 0x40, 0x4E, 0x07, 0x44, 0xA3, 0x02, 0x51, 
            /* 0518 */    0x85, 0x56, 0x80, 0x98, 0x5C, 0x10, 0x01, 0x39, 
            /* 0520 */    0x25, 0x10, 0x8D, 0x0C, 0x44, 0x95, 0x6A, 0x01, 
            /* 0528 */    0x62, 0xB2, 0x41, 0x04, 0x64, 0x89, 0x5E, 0x80, 
            /* 0530 */    0x98, 0x60, 0x10, 0x01, 0x39, 0x2C, 0x10, 0x8D, 
            /* 0538 */    0x0E, 0x44, 0x65, 0xBF, 0x0A, 0x04, 0xE4, 0x10, 
            /* 0540 */    0x20, 0x3A, 0x25, 0x10, 0x33, 0x40, 0x4C, 0x0E, 
            /* 0548 */    0x88, 0x0E, 0x00, 0x04, 0x88, 0xC6, 0x02, 0xA2, 
            /* 0550 */    0x92, 0xFE, 0x5B, 0x02, 0xB2, 0x40, 0x10, 0x01, 
            /* 0558 */    0x39, 0x1C, 0x10, 0x8D, 0x0A, 0x44, 0xFF, 0xFF
        })
    }

    Scope (\)
    {
        Field (CNVS, DWordAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            CBE0,   32
        }

        Field (CNVS, DWordAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            BER4,   32
        }

        Field (CNVS, WordAcc, Lock, Preserve)
        {
                    Offset (0x470), 
            BUF0,   16, 
            BER2,   16
        }
    }

    Scope (_SB.AMWA)
    {
        Field (RAM, ByteAcc, Lock, Preserve)
        {
                    Offset (0x88), 
            NB0A,   1, 
                    Offset (0x89), 
            NB1A,   1
        }

        Field (RAM, ByteAcc, Lock, Preserve)
        {
                    Offset (0x17), 
            SMCS,   8, 
            SPTL,   8, 
                    Offset (0x1A), 
            SADD,   8, 
            SCOM,   8, 
            SDTA,   16
        }

        Method (WMBE, 3, NotSerialized)
        {
            Store (0xBE, P80H)
            CreateDWordField (Arg2, Zero, CD04)
            CreateByteField (Arg2, Zero, CD01)
            CreateByteField (Arg2, 0x04, CD02)
            If (LEqual (Arg1, 0x13))
            {
                GBID (CD02)
                If (BER2)
                {
                    Return (CBE0)
                }

                Decrement (CD02)
                Store (CD02, SMCS)
                Store (0x16, SADD)
                Store (CD01, SCOM)
                Store (0x09, SPTL)
                Store (Zero, Local0)
                Store (0x02, BER2)
                While (LLess (Local0, 0x64))
                {
                    If (LEqual (SPTL, Zero))
                    {
                        Store (Zero, BER2)
                        Store (SDTA, BUF0)
                        Break
                    }
                    Else
                    {
                        Sleep (One)
                        Increment (Local0)
                    }
                }

                Return (CBE0)
            }

            Store (One, BER2)
            Return (CBE0)
        }

        Method (GBID, 1, NotSerialized)
        {
            Store (Zero, Local1)
            If (LEqual (Arg0, One))
            {
                If (NB0A)
                {
                    Store (Zero, Local0)
                }
                Else
                {
                    Store (0x02, Local1)
                }
            }
            Else
            {
                If (LEqual (Arg0, 0x02))
                {
                    If (NB1A)
                    {
                        Store (0x10, Local0)
                    }
                    Else
                    {
                        Store (0x02, Local1)
                    }
                }
                Else
                {
                    Store (0x02, Local1)
                }
            }

            Store (Zero, BUF0)
            Store (Local1, BER2)
            Return (Local0)
        }
    }

    Scope (\)
    {
        OperationRegion (CMIO, SystemIO, 0x72, 0x02)
        Field (CMIO, ByteAcc, Lock, Preserve)
        {
            CINX,   8, 
            CDAT,   8
        }

        IndexField (CINX, CDAT, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x10), 
            CMX0,   32, 
            CMX1,   32, 
            CMX2,   32, 
            CMX3,   32, 
            CMX4,   32, 
            CMX5,   32, 
            CMX6,   32, 
            CMX7,   32
        }

        Method (WB15, 6, NotSerialized)
        {
            CreateDWordField (Arg0, Zero, OEAX)
            CreateDWordField (Arg0, 0x04, OEBX)
            CreateDWordField (Arg0, 0x08, OECX)
            CreateDWordField (Arg0, 0x0C, OEDX)
            CreateDWordField (Arg0, 0x10, OFLG)
            CreateDWordField (Arg0, 0x14, OESI)
            CreateDWordField (Arg0, 0x18, OEDI)
            Store (One, OFLG)
            ShiftRight (Arg1, 0x08, Local6)
            And (Local6, 0xFF, Local6)
            If (LEqual (Local6, Zero))
            {
                Store (CMX0, OECX)
                Store (CMX1, OEDX)
                Store (CMX2, OESI)
                Store (CMX3, OEDI)
                Store (Zero, OFLG)
                Return (Zero)
            }

            If (LEqual (Local6, 0x10))
            {
                Store (CMX4, OECX)
                Store (CMX5, OEDX)
                Store (CMX6, OESI)
                Store (CMX7, OEDI)
                Store (Zero, OFLG)
                Return (Zero)
            }

            If (LEqual (Local6, One))
            {
                Store (Arg2, CMX0)
                Store (Arg3, CMX1)
                Store (Arg4, CMX2)
                Store (Arg5, CMX3)
                Store (Zero, OFLG)
                Return (Zero)
            }

            If (LEqual (Local6, 0x11))
            {
                Store (Arg2, CMX4)
                Store (Arg3, CMX5)
                Store (Arg4, CMX6)
                Store (Arg5, CMX7)
                Store (Zero, OFLG)
                Return (Zero)
            }
        }
    }

    Scope (_SB.AMWA)
    {
        Name (WQEE, Buffer (0x14DC)
        {
            /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 
            /* 0008 */    0xCC, 0x14, 0x00, 0x00, 0xEA, 0x89, 0x00, 0x00, 
            /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 
            /* 0018 */    0xA8, 0xBB, 0x81, 0x00, 0x01, 0x06, 0x18, 0x42, 
            /* 0020 */    0x10, 0x13, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, 
            /* 0028 */    0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, 
            /* 0030 */    0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08, 
            /* 0038 */    0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E, 
            /* 0040 */    0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, 
            /* 0048 */    0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02, 
            /* 0050 */    0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD, 
            /* 0058 */    0x02, 0xA4, 0xC3, 0x12, 0x91, 0xE0, 0x28, 0x31, 
            /* 0060 */    0xE0, 0x28, 0x9D, 0xD8, 0xC2, 0x0D, 0x1B, 0xBC, 
            /* 0068 */    0x50, 0x14, 0xCD, 0x20, 0x4A, 0x82, 0xCA, 0x05, 
            /* 0070 */    0xF8, 0x46, 0x10, 0x78, 0xB9, 0x02, 0x24, 0x4F, 
            /* 0078 */    0x40, 0x9A, 0x05, 0x18, 0x16, 0x60, 0x5D, 0x80, 
            /* 0080 */    0xEC, 0x21, 0x50, 0xA9, 0x43, 0x40, 0xC9, 0x19, 
            /* 0088 */    0x02, 0x6A, 0x00, 0xAD, 0x4E, 0x40, 0xF8, 0x95, 
            /* 0090 */    0x4E, 0x09, 0x49, 0x10, 0xCE, 0x58, 0xC5, 0xE3, 
            /* 0098 */    0x6B, 0x16, 0x4D, 0xCF, 0x49, 0xCE, 0x31, 0xE4, 
            /* 00A0 */    0x78, 0x5C, 0xE8, 0x41, 0xF0, 0xA8, 0x12, 0x40, 
            /* 00A8 */    0x98, 0xFC, 0x21, 0x2B, 0x1C, 0x0C, 0x4A, 0xC3, 
            /* 00B0 */    0x58, 0xA8, 0x8B, 0x51, 0xA3, 0x46, 0xCA, 0x06, 
            /* 00B8 */    0x64, 0x88, 0x92, 0xE0, 0x50, 0xA3, 0xB6, 0x44, 
            /* 00C0 */    0x01, 0xE6, 0xC7, 0xA1, 0xD9, 0xB5, 0x3D, 0x16, 
            /* 00C8 */    0x02, 0xC9, 0xA4, 0x0D, 0x05, 0x25, 0x05, 0x42, 
            /* 00D0 */    0x63, 0x3B, 0x53, 0xCF, 0x28, 0xE2, 0x91, 0x1A, 
            /* 00D8 */    0x26, 0x81, 0x47, 0x11, 0xD9, 0x68, 0x1C, 0x1A, 
            /* 00E0 */    0x3B, 0x0C, 0x0F, 0x33, 0xD8, 0x41, 0x1C, 0xC6, 
            /* 00E8 */    0x31, 0x47, 0x4E, 0xE0, 0x09, 0x1D, 0xE9, 0x91, 
            /* 00F0 */    0x17, 0x36, 0x4F, 0xA1, 0xC6, 0x68, 0x0E, 0x8A, 
            /* 00F8 */    0x08, 0x3E, 0x0A, 0xA0, 0xC7, 0x14, 0xF6, 0x68, 
            /* 0100 */    0x63, 0x9F, 0xAF, 0x85, 0x0F, 0x56, 0x18, 0x47, 
            /* 0108 */    0x70, 0x5C, 0x09, 0xFE, 0xFF, 0x27, 0x7E, 0x28, 
            /* 0110 */    0x3D, 0xC2, 0x49, 0xD0, 0x14, 0x29, 0xC8, 0x51, 
            /* 0118 */    0x63, 0x64, 0xE1, 0x48, 0xEB, 0xAC, 0xC8, 0xDC, 
            /* 0120 */    0x0D, 0x6C, 0xA0, 0xCA, 0x04, 0xE8, 0x3A, 0x2F, 
            /* 0128 */    0x90, 0xF1, 0x1C, 0x08, 0x46, 0x06, 0x84, 0x3C, 
            /* 0130 */    0x9F, 0x0B, 0x34, 0x42, 0x13, 0xD8, 0xBD, 0x00, 
            /* 0138 */    0x6D, 0x02, 0xBC, 0x41, 0x68, 0x1C, 0x11, 0x1A, 
            /* 0140 */    0x13, 0x60, 0x6D, 0x12, 0xB2, 0x85, 0x43, 0xE6, 
            /* 0148 */    0x15, 0x2B, 0x4A, 0x8C, 0x63, 0x3A, 0xB2, 0x1A, 
            /* 0150 */    0x51, 0x84, 0x74, 0x0E, 0x6F, 0x06, 0x11, 0xA2, 
            /* 0158 */    0xC4, 0x0C, 0x19, 0x31, 0x58, 0x90, 0xE3, 0x88, 
            /* 0160 */    0xE1, 0x21, 0x1A, 0x2E, 0x52, 0xFB, 0x83, 0x20, 
            /* 0168 */    0xF2, 0x1E, 0x13, 0x3A, 0x0F, 0x38, 0xD2, 0x68, 
            /* 0170 */    0x50, 0x87, 0x05, 0x9F, 0x09, 0x3C, 0xB9, 0x67, 
            /* 0178 */    0x04, 0x8F, 0xED, 0x9C, 0x83, 0x9C, 0xE7, 0xB1, 
            /* 0180 */    0x3D, 0x42, 0x3C, 0x0C, 0x78, 0xD8, 0xEC, 0x96, 
            /* 0188 */    0xE0, 0xB3, 0x85, 0x4F, 0x07, 0x78, 0xD7, 0x80, 
            /* 0190 */    0xBA, 0x16, 0x3C, 0x14, 0xB0, 0x49, 0x86, 0xC3, 
            /* 0198 */    0x0C, 0xD1, 0x63, 0x0D, 0x77, 0x02, 0x87, 0xC8, 
            /* 01A0 */    0x00, 0x3D, 0xA4, 0xE7, 0x01, 0xEC, 0xDC, 0x4E, 
            /* 01A8 */    0xE6, 0xD0, 0xDF, 0x27, 0x9A, 0xBD, 0x49, 0x10, 
            /* 01B0 */    0x82, 0xE3, 0xF1, 0x25, 0x82, 0x4D, 0xF8, 0xD1, 
            /* 01B8 */    0x81, 0x0C, 0x02, 0x35, 0x32, 0x43, 0x7B, 0xA8, 
            /* 01C0 */    0xA7, 0xF5, 0x32, 0xE0, 0x63, 0x80, 0x09, 0x2C, 
            /* 01C8 */    0x16, 0x42, 0x0A, 0x20, 0x34, 0x1E, 0xF0, 0x2B, 
            /* 01D0 */    0x3E, 0x78, 0x90, 0x1B, 0x83, 0xE7, 0xEB, 0x33, 
            /* 01D8 */    0x84, 0x4E, 0x16, 0x32, 0xB2, 0x0A, 0x8F, 0x87, 
            /* 01E0 */    0x1E, 0x17, 0x7C, 0x47, 0xC0, 0x5C, 0x18, 0x3C, 
            /* 01E8 */    0x74, 0x0F, 0xE9, 0xF9, 0xC0, 0x92, 0x0E, 0x19, 
            /* 01F0 */    0xF4, 0xFF, 0x2F, 0x6A, 0xE4, 0xF4, 0x50, 0xC1, 
            /* 01F8 */    0xCF, 0x13, 0x0C, 0x36, 0x68, 0x58, 0x0F, 0xE6, 
            /* 0200 */    0x9C, 0xFC, 0x67, 0xF1, 0xD8, 0xE0, 0x03, 0xE2, 
            /* 0208 */    0xBD, 0xCF, 0x9A, 0x8C, 0xE0, 0x64, 0x0D, 0xE8, 
            /* 0210 */    0xC3, 0x03, 0xEE, 0x50, 0x01, 0x5E, 0x98, 0xC3, 
            /* 0218 */    0xE2, 0xD7, 0x0A, 0xB8, 0x87, 0x05, 0x36, 0x4A, 
            /* 0220 */    0x3E, 0x1A, 0x0F, 0xE1, 0x2C, 0x9E, 0x06, 0x0C, 
            /* 0228 */    0x63, 0xF4, 0xA7, 0x00, 0xD8, 0x37, 0x0C, 0x8F, 
            /* 0230 */    0xC5, 0x53, 0xF0, 0x49, 0x07, 0x1C, 0x83, 0xE3, 
            /* 0238 */    0x57, 0x18, 0xDC, 0x49, 0x07, 0x78, 0xCC, 0xF5, 
            /* 0240 */    0x49, 0x07, 0x6C, 0xE7, 0x03, 0x76, 0xCA, 0x81, 
            /* 0248 */    0x25, 0xE1, 0x94, 0x84, 0x0A, 0x3D, 0x6E, 0xD4, 
            /* 0250 */    0xFF, 0x9F, 0xC0, 0x81, 0x07, 0x4F, 0xE5, 0x0D, 
            /* 0258 */    0x16, 0x14, 0x10, 0xC7, 0xF1, 0x76, 0xF0, 0x9A, 
            /* 0260 */    0x04, 0xE3, 0x98, 0x04, 0xF0, 0xF1, 0x68, 0xC0, 
            /* 0268 */    0x2E, 0x1D, 0x8F, 0x49, 0xF0, 0xFF, 0xFF, 0xC7, 
            /* 0270 */    0x24, 0xB0, 0x1D, 0x07, 0xCE, 0xE8, 0x64, 0xDE, 
            /* 0278 */    0x90, 0x22, 0x9C, 0xC3, 0x0B, 0xD2, 0x83, 0xD1, 
            /* 0280 */    0xEB, 0xD1, 0x7B, 0xD2, 0x83, 0x92, 0xE7, 0xF5, 
            /* 0288 */    0x98, 0x64, 0xAC, 0x20, 0xA1, 0xAC, 0xF0, 0x82, 
            /* 0290 */    0x24, 0x67, 0xA8, 0x42, 0x09, 0xF1, 0xB8, 0xE4, 
            /* 0298 */    0xDB, 0x82, 0x91, 0x8C, 0x7C, 0x26, 0x6F, 0x49, 
            /* 02A0 */    0xC6, 0x7A, 0x4C, 0x02, 0x98, 0xF8, 0xFF, 0x3F, 
            /* 02A8 */    0x26, 0x01, 0xCF, 0x43, 0x05, 0xDC, 0x63, 0x12, 
            /* 02B0 */    0xE0, 0x64, 0x70, 0xEC, 0x7C, 0x09, 0xAC, 0x8E, 
            /* 02B8 */    0x49, 0xC0, 0x25, 0xEA, 0xE3, 0x94, 0x10, 0x0C, 
            /* 02C0 */    0xF0, 0x46, 0x90, 0xAC, 0x75, 0x53, 0x18, 0x9F, 
            /* 02C8 */    0x72, 0xC0, 0xF3, 0xFF, 0x3F, 0xE5, 0x00, 0x0E, 
            /* 02D0 */    0xEE, 0x12, 0x3E, 0xB7, 0x81, 0x15, 0xE3, 0x79, 
            /* 02D8 */    0xC3, 0xA2, 0x01, 0x35, 0x82, 0xE7, 0x07, 0xD8, 
            /* 02E0 */    0x87, 0x4B, 0xF8, 0x17, 0x4A, 0x5F, 0x72, 0x3C, 
            /* 02E8 */    0xA9, 0x20, 0x87, 0xF2, 0x7A, 0x13, 0x3B, 0xCC, 
            /* 02F0 */    0x6B, 0xCE, 0x73, 0xA5, 0x87, 0xF6, 0x90, 0x13, 
            /* 02F8 */    0xE4, 0xFD, 0xE6, 0xE1, 0xD2, 0x48, 0x8F, 0x95, 
            /* 0300 */    0x46, 0x31, 0xC8, 0x99, 0x45, 0x8D, 0x16, 0xC5, 
            /* 0308 */    0x78, 0x41, 0xA2, 0x45, 0x3C, 0x82, 0xC7, 0x1C, 
            /* 0310 */    0x16, 0xEB, 0x40, 0xA0, 0x7F, 0x94, 0x8F, 0x39, 
            /* 0318 */    0x80, 0xA3, 0xFF, 0xFF, 0x31, 0x07, 0xB8, 0x1F, 
            /* 0320 */    0xE6, 0xC0, 0x71, 0x5A, 0xE0, 0xA3, 0xE2, 0x57, 
            /* 0328 */    0x06, 0x76, 0x26, 0x01, 0x26, 0x51, 0x9E, 0x1E, 
            /* 0330 */    0x1A, 0xA7, 0x35, 0x3E, 0x07, 0x64, 0xE3, 0x24, 
            /* 0338 */    0x44, 0x07, 0x61, 0x25, 0x54, 0x3A, 0xB1, 0x18, 
            /* 0340 */    0xF3, 0xAD, 0x21, 0xEE, 0xB3, 0x81, 0xE7, 0x83, 
            /* 0348 */    0x49, 0x7F, 0x50, 0xD0, 0xF9, 0xC7, 0xE0, 0xCE, 
            /* 0350 */    0x4D, 0xA2, 0xDC, 0x03, 0xA2, 0xF0, 0x4E, 0x7A, 
            /* 0358 */    0x0C, 0xA2, 0x20, 0x06, 0x74, 0x0C, 0x08, 0x59, 
            /* 0360 */    0x39, 0x08, 0xA0, 0xAF, 0x13, 0x3E, 0x32, 0xF8, 
            /* 0368 */    0x9C, 0x11, 0xE5, 0x8C, 0x7C, 0xC0, 0x78, 0x5C, 
            /* 0370 */    0x60, 0xC3, 0xF1, 0x41, 0x80, 0x1F, 0x50, 0x7C, 
            /* 0378 */    0x33, 0x30, 0xB6, 0xD5, 0x1C, 0x77, 0x50, 0x60, 
            /* 0380 */    0x86, 0x7F, 0x81, 0x31, 0x81, 0xEF, 0x19, 0x6F, 
            /* 0388 */    0x3B, 0x60, 0x39, 0x63, 0x3C, 0x96, 0x58, 0xDF, 
            /* 0390 */    0x61, 0x00, 0xCA, 0xFF, 0xFF, 0x30, 0x80, 0x07, 
            /* 0398 */    0xF2, 0xF4, 0x7D, 0xA2, 0x79, 0x04, 0x60, 0x63, 
            /* 03A0 */    0x78, 0xA8, 0x31, 0x9A, 0xD1, 0x79, 0xFC, 0xB9, 
            /* 03A8 */    0xA2, 0xAE, 0x8F, 0x9E, 0xAB, 0x41, 0x3C, 0x57, 
            /* 03B0 */    0x87, 0x81, 0x90, 0x93, 0xB9, 0xA2, 0x6E, 0x2F, 
            /* 03B8 */    0x1E, 0x91, 0x7D, 0x4E, 0x95, 0x0C, 0x96, 0x13, 
            /* 03C0 */    0x44, 0x79, 0xD5, 0x80, 0x75, 0x10, 0x88, 0xC8, 
            /* 03C8 */    0xE6, 0xE1, 0xBB, 0x12, 0x7E, 0xB6, 0x7C, 0x30, 
            /* 03D0 */    0xBE, 0x4A, 0xC0, 0x1F, 0x2E, 0x3F, 0x95, 0xBC, 
            /* 03D8 */    0x9B, 0x24, 0xB0, 0xC0, 0xE9, 0x82, 0x1C, 0x1E, 
            /* 03E0 */    0x23, 0x68, 0x3D, 0xB2, 0x70, 0x97, 0xA2, 0xE3, 
            /* 03E8 */    0xE2, 0xB7, 0x03, 0xDF, 0x78, 0xD8, 0x9D, 0x06, 
            /* 03F0 */    0x77, 0x11, 0xC3, 0xC0, 0x7A, 0xA4, 0x1C, 0xD6, 
            /* 03F8 */    0x68, 0x61, 0x0F, 0xF8, 0x8D, 0xC3, 0xC7, 0x15, 
            /* 0400 */    0xCF, 0xCC, 0x18, 0x61, 0x7D, 0x4F, 0x01, 0xC7, 
            /* 0408 */    0x9D, 0x0C, 0x7E, 0x80, 0x2B, 0x10, 0x08, 0xFF, 
            /* 0410 */    0xFF, 0x57, 0x20, 0x7E, 0xD6, 0x60, 0x57, 0x32, 
            /* 0418 */    0x83, 0xBC, 0x28, 0xF9, 0x5C, 0x63, 0xF4, 0x40, 
            /* 0420 */    0xEF, 0x1B, 0xF8, 0x9B, 0x10, 0xEC, 0x1B, 0x08, 
            /* 0428 */    0x9C, 0xA1, 0xF8, 0x06, 0x02, 0x1C, 0x8E, 0x11, 
            /* 0430 */    0xB8, 0x1B, 0x08, 0xB0, 0xBE, 0x43, 0xB0, 0x1B, 
            /* 0438 */    0x08, 0xB0, 0x3C, 0xBD, 0xE0, 0x6E, 0x20, 0xC0, 
            /* 0440 */    0xED, 0xFF, 0x7F, 0x7F, 0x01, 0xD3, 0x0D, 0x04, 
            /* 0448 */    0x98, 0x8F, 0xDA, 0x37, 0x10, 0xC0, 0xD2, 0x59, 
            /* 0450 */    0x83, 0xDD, 0x40, 0xC0, 0x1F, 0xD1, 0xC7, 0x78, 
            /* 0458 */    0x58, 0x8C, 0xA1, 0x4B, 0xDA, 0xC2, 0x29, 0x8C, 
            /* 0460 */    0x4F, 0x89, 0xC0, 0xE9, 0xFF, 0x7F, 0x4A, 0x04, 
            /* 0468 */    0x5E, 0xE7, 0x0A, 0x9F, 0x00, 0xC0, 0x76, 0x19, 
            /* 0470 */    0x65, 0x43, 0x7F, 0x37, 0xF0, 0x45, 0x11, 0x8C, 
            /* 0478 */    0x07, 0x45, 0xD8, 0xA3, 0x7A, 0x21, 0x08, 0x11, 
            /* 0480 */    0xF4, 0x8D, 0xDA, 0x13, 0x7B, 0xA9, 0x78, 0x41, 
            /* 0488 */    0x0C, 0xF2, 0x74, 0x78, 0x6E, 0x91, 0x1E, 0x14, 
            /* 0490 */    0x8D, 0x14, 0xE6, 0x41, 0xD1, 0x88, 0x61, 0x7C, 
            /* 0498 */    0x50, 0xF4, 0x39, 0xD1, 0x70, 0x6F, 0xD7, 0x3E, 
            /* 04A0 */    0x6F, 0x44, 0x0A, 0x1F, 0xDB, 0x37, 0x8D, 0x08, 
            /* 04A8 */    0x0F, 0x8A, 0x2C, 0xD4, 0x41, 0x11, 0x50, 0xF9, 
            /* 04B0 */    0xFF, 0x3F, 0x28, 0x02, 0xB7, 0xA3, 0x30, 0x38, 
            /* 04B8 */    0xAE, 0xCB, 0x7C, 0x06, 0xE7, 0x12, 0xDB, 0x03, 
            /* 04C0 */    0x7C, 0x4E, 0x04, 0x26, 0xF2, 0x57, 0xA8, 0x61, 
            /* 04C8 */    0x3A, 0xCF, 0x5B, 0x46, 0xB7, 0x2A, 0xCE, 0x61, 
            /* 04D0 */    0xE5, 0xEF, 0x03, 0x1D, 0xB6, 0xD8, 0x71, 0xE1, 
            /* 04D8 */    0x04, 0xDF, 0x82, 0x4E, 0xC9, 0x38, 0x1E, 0xB5, 
            /* 04E0 */    0x87, 0xEF, 0x11, 0x59, 0x29, 0xA4, 0xEE, 0x55, 
            /* 04E8 */    0x5C, 0x23, 0x8C, 0x14, 0x3E, 0x0F, 0x74, 0x38, 
            /* 04F0 */    0xE2, 0x9A, 0x60, 0x04, 0x67, 0x10, 0x9F, 0x4A, 
            /* 04F8 */    0x9C, 0x04, 0x42, 0x46, 0x4E, 0x02, 0xA8, 0xD1, 
            /* 0500 */    0xF9, 0xB2, 0x82, 0x1F, 0x5F, 0xA0, 0x47, 0x86, 
            /* 0508 */    0x04, 0x27, 0xF6, 0x66, 0x05, 0xDE, 0x8B, 0x36, 
            /* 0510 */    0xB8, 0x82, 0x4C, 0x0A, 0xAD, 0xE5, 0xF2, 0x4E, 
            /* 0518 */    0x06, 0xE5, 0xA3, 0xC4, 0x4B, 0x08, 0x8E, 0xE0, 
            /* 0520 */    0xFF, 0x7F, 0x50, 0x60, 0x3D, 0xE6, 0xF1, 0x41, 
            /* 0528 */    0x81, 0xE7, 0x80, 0xE6, 0x41, 0xE1, 0x94, 0x5C, 
            /* 0530 */    0x04, 0x7C, 0x69, 0x21, 0x77, 0x14, 0x1F, 0x29, 
            /* 0538 */    0x3C, 0x26, 0x30, 0xDF, 0x9B, 0xF8, 0x98, 0xC0, 
            /* 0540 */    0x93, 0x62, 0x4C, 0xE8, 0xAB, 0x0F, 0xBB, 0x51, 
            /* 0548 */    0xB0, 0x63, 0xC5, 0x33, 0x94, 0xA7, 0x04, 0x5E, 
            /* 0550 */    0x24, 0x4F, 0x09, 0x5C, 0xA1, 0xA6, 0xE4, 0x63, 
            /* 0558 */    0x05, 0x9D, 0x35, 0xBF, 0x19, 0xF0, 0x49, 0x71, 
            /* 0560 */    0x82, 0x09, 0x20, 0x74, 0x97, 0xF1, 0x98, 0xE0, 
            /* 0568 */    0xDD, 0xFA, 0xE1, 0xDD, 0xB0, 0x3C, 0x34, 0x58, 
            /* 0570 */    0x73, 0xF0, 0xD0, 0xF8, 0xFF, 0x7F, 0x68, 0xE0, 
            /* 0578 */    0xB8, 0xEC, 0x01, 0x8B, 0xD7, 0x83, 0x2F, 0x20, 
            /* 0580 */    0x3C, 0xF2, 0x09, 0x82, 0x82, 0xF8, 0x80, 0xE0, 
            /* 0588 */    0x38, 0x67, 0x47, 0x5F, 0x40, 0xD0, 0x07, 0x07, 
            /* 0590 */    0x0F, 0xE8, 0xA1, 0xC9, 0x43, 0x3A, 0x95, 0x77, 
            /* 0598 */    0x0B, 0xDF, 0x6D, 0xD8, 0x6D, 0x0F, 0xDC, 0xB7, 
            /* 05A0 */    0x39, 0xDF, 0xF6, 0xC0, 0x73, 0x5E, 0xF2, 0x6D, 
            /* 05A8 */    0x0F, 0xB8, 0x88, 0x39, 0xBF, 0x02, 0x52, 0xFE, 
            /* 05B0 */    0xFF, 0xB7, 0x3D, 0xCC, 0xFD, 0xEC, 0xF9, 0x15, 
            /* 05B8 */    0x18, 0x9C, 0x2E, 0xD8, 0x61, 0x0F, 0x6C, 0x59, 
            /* 05C0 */    0x9F, 0x15, 0xBA, 0x17, 0xE1, 0x52, 0xAD, 0x5C, 
            /* 05C8 */    0x47, 0x40, 0x76, 0x2F, 0x82, 0x99, 0x02, 0x52, 
            /* 05D0 */    0xF7, 0x22, 0xAE, 0x1F, 0x46, 0xFA, 0xEE, 0x45, 
            /* 05D8 */    0x28, 0x45, 0xF7, 0x22, 0x0A, 0xE2, 0x7B, 0x11, 
            /* 05E0 */    0xC0, 0x90, 0xFF, 0xFF, 0xBD, 0x08, 0xF0, 0x11, 
            /* 05E8 */    0x62, 0x4C, 0x68, 0x1D, 0xC0, 0xE4, 0x5C, 0x70, 
            /* 05F0 */    0x42, 0xCF, 0x45, 0xC0, 0x36, 0xD3, 0xB9, 0x08, 
            /* 05F8 */    0x0D, 0xEC, 0x93, 0x01, 0x1F, 0x14, 0xBB, 0x16, 
            /* 0600 */    0x81, 0xF9, 0x12, 0xE3, 0x6B, 0x11, 0xE0, 0xE1, 
            /* 0608 */    0xFF, 0x4F, 0x60, 0x79, 0x2F, 0x03, 0xDD, 0x3F, 
            /* 0610 */    0xB8, 0x20, 0x18, 0x1D, 0x20, 0x0C, 0xE2, 0x39, 
            /* 0618 */    0xF9, 0x5A, 0x04, 0xB8, 0x89, 0x32, 0x2E, 0xF4, 
            /* 0620 */    0x15, 0x0D, 0xCE, 0xA8, 0xC0, 0x7D, 0x2C, 0xF0, 
            /* 0628 */    0xA8, 0xC0, 0x77, 0x4A, 0xC3, 0x5F, 0x85, 0x7C, 
            /* 0630 */    0x46, 0xC3, 0x1C, 0x34, 0xD8, 0x31, 0xC0, 0x83, 
            /* 0638 */    0x02, 0xD7, 0x25, 0x0D, 0x37, 0x36, 0x78, 0x1E, 
            /* 0640 */    0xAE, 0x0F, 0xA0, 0xBB, 0x65, 0xF1, 0xFF, 0xFF, 
            /* 0648 */    0x2D, 0x0B, 0xF8, 0x9E, 0xD1, 0x81, 0xEF, 0x2D, 
            /* 0650 */    0x0B, 0xCC, 0x67, 0x74, 0xCC, 0x2D, 0x0B, 0x9C, 
            /* 0658 */    0x92, 0x1F, 0x05, 0x3E, 0x3B, 0x53, 0xB9, 0xCB, 
            /* 0660 */    0xA6, 0x30, 0x3E, 0xA1, 0x03, 0x3E, 0xFE, 0xFF, 
            /* 0668 */    0x27, 0x74, 0xB8, 0xC7, 0x26, 0x8F, 0x1F, 0x1C, 
            /* 0670 */    0xA7, 0x87, 0x33, 0x38, 0x85, 0x68, 0xAF, 0xFA, 
            /* 0678 */    0x9E, 0xF8, 0xDB, 0x93, 0x87, 0x14, 0x25, 0x60, 
            /* 0680 */    0xBC, 0x18, 0x71, 0x43, 0xFA, 0x54, 0xED, 0x6B, 
            /* 0688 */    0xB3, 0x81, 0xE2, 0x1D, 0x56, 0xD8, 0x38, 0xAF, 
            /* 0690 */    0x01, 0x3E, 0x3C, 0xBF, 0x06, 0xF8, 0x6C, 0x60, 
            /* 0698 */    0xA0, 0x33, 0x7D, 0xEA, 0x87, 0x7D, 0x50, 0x87, 
            /* 06A0 */    0xED, 0x6D, 0x72, 0x82, 0x88, 0x10, 0xF8, 0xC5, 
            /* 06A8 */    0xE2, 0x9C, 0x5A, 0xBB, 0xA0, 0x6B, 0x84, 0x87, 
            /* 06B0 */    0xF8, 0x00, 0xF7, 0x56, 0xF2, 0xA0, 0xEE, 0xA1, 
            /* 06B8 */    0x3C, 0x3D, 0x45, 0x8D, 0x72, 0x0A, 0x61, 0x5E, 
            /* 06C0 */    0xD1, 0x03, 0x46, 0x79, 0x36, 0x89, 0x16, 0x35, 
            /* 06C8 */    0xF0, 0x4B, 0x42, 0x6C, 0x83, 0x06, 0x7A, 0x4F, 
            /* 06D0 */    0xF7, 0x08, 0x1E, 0xD4, 0x59, 0xB4, 0x83, 0x3A, 
            /* 06D8 */    0xA0, 0xFA, 0xFF, 0x7F, 0x50, 0x07, 0xF7, 0x75, 
            /* 06E0 */    0xC6, 0x27, 0x18, 0xF8, 0xE7, 0x80, 0x27, 0x05, 
            /* 06E8 */    0xDC, 0xDD, 0xC9, 0x77, 0x06, 0x0C, 0x81, 0xCF, 
            /* 06F0 */    0xEA, 0xC0, 0x23, 0xFA, 0x6D, 0x91, 0xC6, 0x06, 
            /* 06F8 */    0xD1, 0x1D, 0x92, 0x1F, 0x65, 0x1C, 0x72, 0xB9, 
            /* 0700 */    0xBA, 0x43, 0xF2, 0x29, 0xB1, 0x0B, 0x82, 0xE1, 
            /* 0708 */    0x0F, 0x21, 0x88, 0x87, 0xC5, 0xA6, 0xE0, 0x33, 
            /* 0710 */    0x82, 0x09, 0x1C, 0xE7, 0xC0, 0x45, 0x07, 0xEF, 
            /* 0718 */    0x20, 0x14, 0x8A, 0x72, 0xBB, 0x45, 0x89, 0x87, 
            /* 0720 */    0x11, 0x9C, 0x41, 0x7C, 0x54, 0x70, 0x20, 0x08, 
            /* 0728 */    0x39, 0x39, 0x0F, 0xA0, 0xCE, 0x27, 0x9E, 0xD4, 
            /* 0730 */    0xC9, 0x62, 0xE7, 0x82, 0x9B, 0x9D, 0x0F, 0x35, 
            /* 0738 */    0x3E, 0xF4, 0xBC, 0x49, 0x82, 0xF7, 0xCE, 0xF1, 
            /* 0740 */    0xA2, 0x04, 0x96, 0x9B, 0xC6, 0x2B, 0xC7, 0xEB, 
            /* 0748 */    0x26, 0x1B, 0x18, 0xEE, 0x28, 0xE9, 0x81, 0xE1, 
            /* 0750 */    0xFF, 0xFF, 0x47, 0x81, 0xE3, 0x3A, 0x29, 0xF0, 
            /* 0758 */    0x8E, 0xD9, 0x93, 0x02, 0xDB, 0xE1, 0x0E, 0x58, 
            /* 0760 */    0x84, 0x47, 0xA7, 0x30, 0x8E, 0x3B, 0x24, 0x0A, 
            /* 0768 */    0xE2, 0xD3, 0x81, 0x4F, 0x6D, 0x1E, 0x2D, 0x6E, 
            /* 0770 */    0x26, 0x1E, 0xD1, 0xCB, 0x1D, 0xEE, 0xD4, 0x06, 
            /* 0778 */    0xF6, 0x91, 0xF8, 0xD4, 0x06, 0x9E, 0xD1, 0xB2, 
            /* 0780 */    0xB3, 0x18, 0x30, 0x11, 0x72, 0x16, 0x03, 0xDD, 
            /* 0788 */    0x90, 0x7D, 0x16, 0x83, 0xFF, 0xFF, 0x3F, 0x8B, 
            /* 0790 */    0x01, 0x97, 0x63, 0x80, 0x0F, 0x4F, 0xE0, 0xB8, 
            /* 0798 */    0x86, 0xF1, 0x03, 0x13, 0x16, 0xE8, 0xD9, 0x83, 
            /* 07A0 */    0xE3, 0x3C, 0x39, 0x19, 0x98, 0x83, 0xB1, 0xAB, 
            /* 07A8 */    0x09, 0xF6, 0x36, 0x61, 0x82, 0xCA, 0xFC, 0x8C, 
            /* 07B0 */    0x85, 0xC5, 0x18, 0xB6, 0x04, 0x2E, 0x9A, 0xC2, 
            /* 07B8 */    0xF8, 0x24, 0x06, 0xB8, 0x1A, 0x3D, 0x78, 0x4E, 
            /* 07C0 */    0x62, 0xB0, 0xE6, 0xCE, 0x90, 0x8C, 0x6A, 0xC4, 
            /* 07C8 */    0x77, 0x02, 0x5F, 0xC1, 0x60, 0x1F, 0xC1, 0xF0, 
            /* 07D0 */    0xFF, 0xFF, 0x23, 0x18, 0xF6, 0xD0, 0xF5, 0x36, 
            /* 07D8 */    0xF1, 0xDA, 0x75, 0x44, 0x4F, 0x2E, 0x11, 0x62, 
            /* 07E0 */    0xBC, 0x52, 0xBC, 0x7A, 0x3D, 0x61, 0x9C, 0x5A, 
            /* 07E8 */    0xA4, 0x83, 0x7B, 0x04, 0xF3, 0x00, 0x5E, 0xC3, 
            /* 07F0 */    0x5E, 0xBD, 0x1E, 0xC1, 0x7C, 0xFA, 0x8A, 0xF5, 
            /* 07F8 */    0x08, 0x66, 0xA0, 0xA0, 0x11, 0x83, 0x06, 0x8A, 
            /* 0800 */    0xF7, 0x30, 0xE6, 0x01, 0xC4, 0x09, 0x12, 0xF8, 
            /* 0808 */    0x11, 0x0C, 0x60, 0x94, 0xD5, 0x8B, 0x02, 0xF2, 
            /* 0810 */    0x4A, 0x89, 0x3F, 0x82, 0x81, 0xF9, 0xFF, 0x7F, 
            /* 0818 */    0x04, 0xC3, 0xE7, 0x75, 0x73, 0x92, 0x61, 0x7A, 
            /* 0820 */    0x28, 0x74, 0x04, 0xE3, 0x47, 0x02, 0x2B, 0x78, 
            /* 0828 */    0x22, 0x08, 0xFF, 0x3D, 0x26, 0xF0, 0xD9, 0x3C, 
            /* 0830 */    0x12, 0x1C, 0xC3, 0x33, 0x05, 0xBB, 0xB0, 0x3C, 
            /* 0838 */    0x50, 0x78, 0xBA, 0xCE, 0x7C, 0x20, 0xA3, 0x03, 
            /* 0840 */    0x77, 0x5A, 0x18, 0xA9, 0x3A, 0x45, 0xA3, 0x74, 
            /* 0848 */    0x9C, 0xC2, 0x28, 0x88, 0x0F, 0x0D, 0x3E, 0x1E, 
            /* 0850 */    0xE3, 0x07, 0xE7, 0x49, 0xE0, 0x0F, 0xC8, 0xFC, 
            /* 0858 */    0xEC, 0x05, 0x0C, 0xAF, 0xC7, 0xEC, 0x78, 0x8C, 
            /* 0860 */    0x1F, 0x98, 0x67, 0x0A, 0xE3, 0xB2, 0x0E, 0xDE, 
            /* 0868 */    0x9B, 0x83, 0x4F, 0x60, 0x30, 0x8F, 0xC7, 0xE0, 
            /* 0870 */    0x3A, 0x95, 0xE2, 0x8E, 0x16, 0xFC, 0x16, 0xE8, 
            /* 0878 */    0xF3, 0xC7, 0xD3, 0x8F, 0x4F, 0x72, 0x1E, 0x3D, 
            /* 0880 */    0xD8, 0xFE, 0xFF, 0x53, 0xC2, 0x5C, 0x0F, 0x3C, 
            /* 0888 */    0x7A, 0xF8, 0xB7, 0x0F, 0xEC, 0x1D, 0x0D, 0x58, 
            /* 0890 */    0xC4, 0xBA, 0x08, 0xA2, 0x82, 0x5C, 0x04, 0x29, 
            /* 0898 */    0x88, 0x27, 0xE6, 0xFB, 0xBC, 0xEF, 0x68, 0xB8, 
            /* 08A0 */    0xFB, 0x3C, 0xF0, 0x82, 0xF2, 0x2D, 0x0D, 0x7C, 
            /* 08A8 */    0xB1, 0xC6, 0x85, 0x16, 0x75, 0x79, 0x80, 0x32, 
            /* 08B0 */    0x81, 0x30, 0x27, 0x12, 0xFC, 0x49, 0x24, 0xC2, 
            /* 08B8 */    0x43, 0x91, 0x2F, 0x63, 0x6C, 0x6C, 0x60, 0x3F, 
            /* 08C0 */    0x50, 0xF8, 0x42, 0x07, 0x4C, 0xFE, 0xFF, 0x17, 
            /* 08C8 */    0x3A, 0xB0, 0x89, 0xB8, 0xD0, 0x81, 0xEE, 0x9E, 
            /* 08D0 */    0xC1, 0x2F, 0x74, 0xC0, 0xF3, 0xBA, 0xE1, 0x3B, 
            /* 08D8 */    0x18, 0x58, 0xAE, 0x38, 0xFC, 0x0E, 0xC6, 0x6F, 
            /* 08E0 */    0x60, 0x06, 0x09, 0x13, 0x33, 0x8C, 0x8F, 0x6A, 
            /* 08E8 */    0xC6, 0x79, 0x0E, 0x63, 0x48, 0x4F, 0x09, 0xD8, 
            /* 08F0 */    0x93, 0x87, 0xF3, 0xDD, 0x7B, 0x50, 0x43, 0x71, 
            /* 08F8 */    0xA6, 0x57, 0x81, 0xA6, 0x7E, 0xBE, 0x3E, 0xBD, 
            /* 0900 */    0xC0, 0xC8, 0x01, 0xA7, 0x6B, 0x0F, 0x4F, 0x00, 
            /* 0908 */    0x23, 0xFD, 0xCB, 0xD7, 0x61, 0x83, 0x2B, 0xBE, 
            /* 0910 */    0xFD, 0x50, 0x10, 0x5F, 0x49, 0x9C, 0xE6, 0xDA, 
            /* 0918 */    0x83, 0xD6, 0x03, 0x22, 0x9F, 0x63, 0xD7, 0x10, 
            /* 0920 */    0x1E, 0x7C, 0x80, 0xD7, 0xFF, 0xFF, 0xE0, 0x03, 
            /* 0928 */    0x9E, 0x5C, 0x07, 0x1F, 0xF4, 0x60, 0x3C, 0x2D, 
            /* 0930 */    0x58, 0x37, 0x1F, 0xC0, 0xC1, 0x11, 0x00, 0xCE, 
            /* 0938 */    0x95, 0xEB, 0xE4, 0x8F, 0xEC, 0x11, 0x00, 0xD8, 
            /* 0940 */    0x9C, 0x7E, 0xC0, 0x71, 0x04, 0x00, 0xC3, 0xB4, 
            /* 0948 */    0x60, 0x1D, 0x01, 0x80, 0x13, 0x92, 0x8F, 0x00, 
            /* 0950 */    0xD8, 0xFF, 0xFF, 0x5D, 0x0A, 0x78, 0x0F, 0xD3, 
            /* 0958 */    0x77, 0x29, 0xE0, 0xFC, 0x85, 0xF0, 0x7D, 0x84, 
            /* 0960 */    0x47, 0xBE, 0x46, 0x50, 0x10, 0x5F, 0x11, 0x7C, 
            /* 0968 */    0x97, 0x02, 0x9E, 0x17, 0x20, 0x5F, 0x90, 0x80, 
            /* 0970 */    0xB7, 0x84, 0x0B, 0x12, 0xFA, 0xFF, 0x7F, 0x41, 
            /* 0978 */    0x82, 0x3F, 0x6C, 0x5F, 0x90, 0x80, 0x2B, 0xAA, 
            /* 0980 */    0x2F, 0x48, 0xE0, 0xB8, 0x0B, 0xB1, 0xFB, 0x11, 
            /* 0988 */    0x58, 0xB5, 0xFE, 0x28, 0x74, 0x3F, 0xE2, 0x1C, 
            /* 0990 */    0x56, 0xBA, 0x68, 0x9D, 0xAA, 0xD9, 0x05, 0xF7, 
            /* 0998 */    0x38, 0xDF, 0x72, 0xDE, 0x01, 0x8C, 0xE3, 0xB9, 
            /* 09A0 */    0xF8, 0x3C, 0x61, 0xFC, 0x67, 0x69, 0x41, 0xEA, 
            /* 09A8 */    0x86, 0xC4, 0x35, 0xC1, 0x48, 0xDB, 0x41, 0x13, 
            /* 09B0 */    0xA5, 0xE6, 0xA0, 0x49, 0x41, 0x7C, 0xD0, 0x04, 
            /* 09B8 */    0x7C, 0xFD, 0xFF, 0xAF, 0x47, 0x80, 0x8F, 0x30, 
            /* 09C0 */    0xE3, 0x47, 0x4F, 0xC6, 0x77, 0x02, 0xFC, 0xF9, 
            /* 09C8 */    0xD9, 0x47, 0x12, 0x1F, 0xC1, 0x1F, 0x8F, 0x80, 
            /* 09D0 */    0xE9, 0x7D, 0x06, 0x58, 0xC4, 0xBE, 0x3D, 0xA0, 
            /* 09D8 */    0x82, 0xDE, 0x1E, 0x28, 0x88, 0x2F, 0x25, 0x3E, 
            /* 09E0 */    0x6B, 0x02, 0xEB, 0xFF, 0xFF, 0x7D, 0x06, 0x2C, 
            /* 09E8 */    0x97, 0x0C, 0xFC, 0xED, 0x9F, 0xDD, 0x1F, 0x1E, 
            /* 09F0 */    0xD0, 0x7D, 0xC5, 0xE0, 0xA7, 0x4C, 0xE0, 0x79, 
            /* 09F8 */    0x28, 0x60, 0x97, 0x0C, 0x18, 0x27, 0x0A, 0x8F, 
            /* 0A00 */    0x8A, 0x13, 0x38, 0xC4, 0x30, 0xE8, 0xA0, 0xC0, 
            /* 0A08 */    0x75, 0xC8, 0xE0, 0xE4, 0xBE, 0x1F, 0xC1, 0xBD, 
            /* 0A10 */    0x64, 0x80, 0x2B, 0xD8, 0xD0, 0xD0, 0x52, 0x8E, 
            /* 0A18 */    0x09, 0xF4, 0x78, 0xC3, 0xCE, 0xF1, 0xBE, 0xF7, 
            /* 0A20 */    0xB0, 0xC1, 0x81, 0xFB, 0x90, 0xE1, 0xC1, 0xC1, 
            /* 0A28 */    0xBB, 0x6D, 0x78, 0x70, 0x30, 0xFF, 0xFF, 0x83, 
            /* 0A30 */    0x83, 0x71, 0x95, 0x02, 0x1E, 0xC1, 0xC7, 0x8E, 
            /* 0A38 */    0xBA, 0x4A, 0x81, 0xE3, 0x5C, 0xC7, 0xAF, 0x52, 
            /* 0A40 */    0xC0, 0x73, 0x80, 0xAF, 0x52, 0x60, 0xB9, 0x36, 
            /* 0A48 */    0xB1, 0x39, 0x3C, 0x37, 0xF1, 0xAB, 0x94, 0x0F, 
            /* 0A50 */    0x35, 0xD8, 0x2B, 0x8C, 0xAF, 0x37, 0x3A, 0xB5, 
            /* 0A58 */    0xA2, 0x38, 0x1C, 0xE5, 0xD4, 0x8A, 0xB8, 0x45, 
            /* 0A60 */    0xC1, 0x94, 0x7E, 0x6E, 0x45, 0x89, 0x86, 0x91, 
            /* 0A68 */    0xE4, 0x73, 0x2B, 0x4A, 0xE4, 0xB9, 0x95, 0x82, 
            /* 0A70 */    0xF8, 0x84, 0xE0, 0x5B, 0x14, 0xB0, 0xFA, 0xFF, 
            /* 0A78 */    0xDF, 0xA2, 0x00, 0xCB, 0x87, 0x56, 0x38, 0x80, 
            /* 0A80 */    0x8F, 0x51, 0x80, 0x83, 0x8B, 0xA8, 0xAF, 0x41, 
            /* 0A88 */    0xF0, 0xC7, 0x04, 0x56, 0x24, 0x8F, 0x09, 0x0C, 
            /* 0A90 */    0xFF, 0xFF, 0x31, 0xE1, 0x02, 0xDD, 0x11, 0xD0, 
            /* 0A98 */    0x2A, 0x2E, 0x41, 0xC8, 0x1B, 0x02, 0x78, 0xA9, 
            /* 0AA0 */    0x7D, 0x62, 0x85, 0x79, 0x43, 0x00, 0xD7, 0x85, 
            /* 0AA8 */    0x15, 0x60, 0xD1, 0xB1, 0x08, 0xFB, 0xFF, 0x3F, 
            /* 0AB0 */    0x16, 0x81, 0xE1, 0x66, 0xC0, 0x8F, 0x45, 0x80, 
            /* 0AB8 */    0x8F, 0x0B, 0x2B, 0x3F, 0x16, 0xC1, 0x97, 0x71, 
            /* 0AC0 */    0x2C, 0x42, 0xCB, 0x38, 0x16, 0x21, 0x44, 0x8E, 
            /* 0AC8 */    0x43, 0x08, 0x0F, 0x37, 0x30, 0x8E, 0x86, 0x3A, 
            /* 0AD0 */    0x0F, 0xD1, 0x53, 0x83, 0x03, 0xC3, 0x28, 0xEE, 
            /* 0AD8 */    0xF1, 0x10, 0x15, 0xF0, 0x78, 0x48, 0x41, 0x7C, 
            /* 0AE0 */    0x04, 0x70, 0x90, 0x0B, 0x0A, 0xFA, 0xA0, 0xE6, 
            /* 0AE8 */    0x41, 0xBD, 0xD2, 0xB2, 0xF3, 0x87, 0x07, 0xC7, 
            /* 0AF0 */    0x4F, 0x45, 0xC0, 0xF3, 0x22, 0x0F, 0x67, 0xAA, 
            /* 0AF8 */    0xF0, 0x4E, 0x29, 0xFF, 0xFF, 0xD7, 0x22, 0xE0, 
            /* 0B00 */    0x7F, 0xCB, 0x02, 0x86, 0xA7, 0x22, 0x30, 0xDE, 
            /* 0B08 */    0xB2, 0xE0, 0x5C, 0x0E, 0x61, 0x8C, 0x1F, 0xBC, 
            /* 0B10 */    0x33, 0xF3, 0xE5, 0x08, 0xE6, 0xA1, 0x07, 0xF8, 
            /* 0B18 */    0xFE, 0xFF, 0x0F, 0x3D, 0x80, 0x85, 0x03, 0x2B, 
            /* 0B20 */    0xB8, 0x0E, 0x3D, 0xC0, 0x27, 0xF6, 0xA1, 0x07, 
            /* 0B28 */    0x74, 0xB0, 0xFC, 0xD0, 0x03, 0x3C, 0xE7, 0xF8, 
            /* 0B30 */    0xD0, 0x03, 0xB6, 0xB3, 0x0A, 0xBB, 0xEE, 0xC3, 
            /* 0B38 */    0x0A, 0xE0, 0x6D, 0x08, 0x2C, 0xCC, 0x4B, 0x41, 
            /* 0B40 */    0x12, 0xD7, 0x4A, 0xFE, 0xFF, 0x30, 0xEC, 0x44, 
            /* 0B48 */    0xE1, 0xE3, 0x01, 0x7E, 0xC0, 0xC7, 0x7B, 0x98, 
            /* 0B50 */    0x47, 0xC4, 0x24, 0xC1, 0xA1, 0xCE, 0x02, 0x9E, 
            /* 0B58 */    0x43, 0xF3, 0xA3, 0xD1, 0x40, 0x4E, 0xDC, 0x53, 
            /* 0B60 */    0x0A, 0xC9, 0xA4, 0x0D, 0x0D, 0x75, 0xE2, 0xF1, 
            /* 0B68 */    0x80, 0xCE, 0xE6, 0x74, 0xDE, 0x3D, 0x22, 0xBE, 
            /* 0B70 */    0x38, 0x18, 0x26, 0x81, 0x4F, 0x01, 0xEC, 0x52, 
            /* 0B78 */    0x10, 0x8D, 0x41, 0x63, 0x87, 0xE1, 0xB1, 0x06, 
            /* 0B80 */    0x3B, 0x88, 0xC3, 0x78, 0x05, 0x30, 0x81, 0x27, 
            /* 0B88 */    0x74, 0x96, 0xE5, 0x5E, 0x1B, 0x74, 0x29, 0x8C, 
            /* 0B90 */    0x1A, 0xA3, 0x39, 0x28, 0x22, 0x7F, 0xD0, 0xA0, 
            /* 0B98 */    0x39, 0x32, 0x9C, 0xC1, 0x09, 0xB3, 0x31, 0x3F, 
            /* 0BA0 */    0x3F, 0x3C, 0x9F, 0x78, 0x48, 0x51, 0x6A, 0x9E, 
            /* 0BA8 */    0x33, 0xB9, 0x3D, 0xC1, 0x3D, 0x27, 0x84, 0xAA, 
            /* 0BB0 */    0x75, 0x72, 0x04, 0xE6, 0x18, 0x18, 0xD0, 0xCB, 
            /* 0BB8 */    0xC4, 0xF9, 0xBF, 0x8C, 0x78, 0x12, 0xC7, 0x83, 
            /* 0BC0 */    0x39, 0x1B, 0x18, 0xF8, 0xAD, 0xC2, 0x67, 0x04, 
            /* 0BC8 */    0xE6, 0x5E, 0x80, 0x46, 0x01, 0xFF, 0x80, 0xD6, 
            /* 0BD0 */    0x30, 0x04, 0xF1, 0x06, 0x13, 0xC1, 0xB6, 0x66, 
            /* 0BD8 */    0x22, 0xEC, 0x10, 0x2F, 0x17, 0x51, 0x0E, 0xF0, 
            /* 0BE0 */    0x98, 0x82, 0x45, 0x8D, 0xF2, 0x4A, 0x71, 0x88, 
            /* 0BE8 */    0x8F, 0x32, 0xE7, 0x15, 0x25, 0x6E, 0xAC, 0x80, 
            /* 0BF0 */    0x11, 0x22, 0x87, 0x3D, 0x91, 0xD7, 0x8A, 0xE0, 
            /* 0BF8 */    0x86, 0x8D, 0xD5, 0xFE, 0x20, 0x48, 0xAC, 0x63, 
            /* 0C00 */    0x81, 0x8E, 0x1D, 0x8E, 0x34, 0x1A, 0xD4, 0xA5, 
            /* 0C08 */    0x9F, 0x5F, 0x2D, 0x3D, 0xAF, 0xC7, 0x42, 0x83, 
            /* 0C10 */    0x9C, 0xEE, 0xB1, 0xD5, 0x79, 0x26, 0x20, 0xA3, 
            /* 0C18 */    0x67, 0x67, 0x11, 0x1F, 0x49, 0xE0, 0xB8, 0x06, 
            /* 0C20 */    0xD4, 0xED, 0xE0, 0x69, 0x02, 0xFF, 0xFF, 0x3F, 
            /* 0C28 */    0x55, 0xC0, 0x3A, 0x93, 0xC0, 0x1F, 0x8F, 0x0F, 
            /* 0C30 */    0x03, 0x9E, 0xBC, 0x4F, 0x05, 0x7C, 0x10, 0xFC, 
            /* 0C38 */    0x86, 0xC9, 0x87, 0x7A, 0x5A, 0x6F, 0x01, 0x3E, 
            /* 0C40 */    0xFC, 0x98, 0xC0, 0x47, 0x6B, 0x3E, 0x1E, 0xF0, 
            /* 0C48 */    0x2B, 0x3E, 0x15, 0x08, 0xE1, 0xC5, 0xC1, 0xF3, 
            /* 0C50 */    0x35, 0x41, 0x79, 0x47, 0x16, 0x50, 0x5C, 0x88, 
            /* 0C58 */    0x61, 0x1D, 0xBB, 0x7C, 0x86, 0xC0, 0xC2, 0xF3, 
            /* 0C60 */    0x43, 0xC0, 0xC3, 0x0B, 0x03, 0x7E, 0x7F, 0xF1, 
            /* 0C68 */    0x14, 0x0E, 0xC7, 0xA7, 0x0B, 0x23, 0x84, 0x7F, 
            /* 0C70 */    0xA8, 0x78, 0xC8, 0xF0, 0x11, 0xE2, 0x7C, 0x9E, 
            /* 0C78 */    0x17, 0xCE, 0xE8, 0x5D, 0xC0, 0x04, 0x45, 0x3D, 
            /* 0C80 */    0x31, 0x64, 0x03, 0x44, 0x69, 0x9F, 0x03, 0x3A, 
            /* 0C88 */    0xCB, 0x71, 0x51, 0x10, 0x4A, 0xB9, 0x58, 0xE1, 
            /* 0C90 */    0xBF, 0xBF, 0x04, 0x3E, 0xE6, 0x07, 0x82, 0xC7, 
            /* 0C98 */    0x2C, 0xFC, 0x2C, 0x1E, 0x33, 0x4E, 0xE9, 0x19, 
            /* 0CA0 */    0xC0, 0x04, 0x4E, 0x74, 0x8C, 0xA3, 0x23, 0x77, 
            /* 0CA8 */    0x16, 0x0A, 0xE5, 0x1E, 0x14, 0x85, 0x73, 0xD2, 
            /* 0CB0 */    0x63, 0x11, 0x05, 0x31, 0xA0, 0x6F, 0xAF, 0x3E, 
            /* 0CB8 */    0x35, 0xE0, 0x86, 0xCE, 0x66, 0xF1, 0xC4, 0x10, 
            /* 0CC0 */    0xE1, 0xAC, 0x7D, 0x07, 0xF0, 0xDD, 0x0B, 0x2C, 
            /* 0CC8 */    0xFF, 0xFF, 0xC3, 0x1C, 0x38, 0xEF, 0x0B, 0xD8, 
            /* 0CD0 */    0x1B, 0x15, 0xB0, 0x88, 0x74, 0xA3, 0x42, 0x85, 
            /* 0CD8 */    0x80, 0xD1, 0x5C, 0x0D, 0xE2, 0x89, 0xF9, 0x46, 
            /* 0CE0 */    0x05, 0x3C, 0x47, 0xE3, 0x1B, 0x15, 0xF8, 0xEE, 
            /* 0CE8 */    0x25, 0x1E, 0x17, 0xEE, 0xBD, 0xE0, 0xA3, 0x02, 
            /* 0CF0 */    0xCC, 0xD3, 0xBA, 0x47, 0x06, 0xF6, 0xFB, 0x82, 
            /* 0CF8 */    0xAF, 0x5E, 0xC0, 0xE5, 0xFF, 0x7F, 0xF5, 0x02, 
            /* 0D00 */    0x57, 0xFC, 0xAB, 0x17, 0xE8, 0xCE, 0x8C, 0xFC, 
            /* 0D08 */    0xEA, 0x05, 0x3C, 0xAF, 0x25, 0xAF, 0x4D, 0xE0, 
            /* 0D10 */    0xB9, 0x94, 0xF0, 0x9B, 0x17, 0x0C, 0xA4, 0x07, 
            /* 0D18 */    0x76, 0xDF, 0x0D, 0xD8, 0xC0, 0x7C, 0x0F, 0xF2, 
            /* 0D20 */    0xA1, 0xC3, 0x32, 0xAE, 0x29, 0xA8, 0xDB, 0x95, 
            /* 0D28 */    0xA3, 0xAF, 0x53, 0x1E, 0x27, 0x4B, 0x66, 0x1F, 
            /* 0D30 */    0x3D, 0xFE, 0xC3, 0x93, 0x2F, 0x32, 0x81, 0x9F, 
            /* 0D38 */    0x17, 0xF0, 0x17, 0x80, 0x37, 0x23, 0x5F, 0x2D, 
            /* 0D40 */    0x7C, 0x5E, 0x60, 0x01, 0xCF, 0x19, 0x14, 0xC2, 
            /* 0D48 */    0xD1, 0x28, 0x14, 0xEC, 0xB8, 0x81, 0x8A, 0x02, 
            /* 0D50 */    0x47, 0x41, 0x7C, 0xDC, 0x00, 0x9E, 0xFF, 0x7F, 
            /* 0D58 */    0x02, 0x7E, 0x8A, 0x00, 0x5F, 0xB0, 0x71, 0xA1, 
            /* 0D60 */    0x8F, 0x0A, 0x9E, 0x32, 0xB8, 0x8E, 0x26, 0xC0, 
            /* 0D68 */    0xF7, 0xC4, 0x01, 0x3C, 0x24, 0xAC, 0x47, 0x27, 
            /* 0D70 */    0x0E, 0x70, 0x1D, 0x4E, 0x7C, 0xE2, 0x00, 0xAE, 
            /* 0D78 */    0xA8, 0x3E, 0x71, 0x80, 0xE3, 0x7C, 0xC1, 0xE6, 
            /* 0D80 */    0xF0, 0xFF, 0x0F, 0xF5, 0x74, 0xC0, 0x61, 0x9E, 
            /* 0D88 */    0xF5, 0xD8, 0xA5, 0x03, 0xC6, 0x55, 0x8E, 0x5D, 
            /* 0D90 */    0x0F, 0xD8, 0x99, 0xC3, 0x89, 0x7E, 0x75, 0x3A, 
            /* 0D98 */    0x73, 0xE0, 0x52, 0x2C, 0x59, 0xD7, 0x30, 0x76, 
            /* 0DA0 */    0xE6, 0x00, 0x9B, 0xD6, 0x9B, 0x38, 0x4A, 0x25, 
            /* 0DA8 */    0x8C, 0x34, 0xDE, 0xC4, 0x51, 0xAA, 0xEE, 0x5C, 
            /* 0DB0 */    0x14, 0xC4, 0x37, 0x3E, 0x1F, 0x9D, 0x81, 0xE1, 
            /* 0DB8 */    0x55, 0x1C, 0x8C, 0x47, 0x67, 0x38, 0x27, 0x71, 
            /* 0DC0 */    0xC0, 0xC9, 0xD0, 0x3C, 0x7E, 0xDC, 0xD9, 0x04, 
            /* 0DC8 */    0xF7, 0xFF, 0xBF, 0x1A, 0x80, 0xE3, 0x38, 0x0E, 
            /* 0DD0 */    0x3C, 0x0F, 0xD9, 0x80, 0x49, 0x28, 0x5F, 0x6C, 
            /* 0DD8 */    0x00, 0x4B, 0xFF, 0xFF, 0xDB, 0x3C, 0xE6, 0x62, 
            /* 0DE0 */    0x03, 0xF8, 0x38, 0x64, 0xF3, 0x8B, 0x0D, 0x38, 
            /* 0DE8 */    0x65, 0x5F, 0x6C, 0x50, 0x47, 0x02, 0x8B, 0x5D, 
            /* 0DF0 */    0xA9, 0x2E, 0x3B, 0xEC, 0xCA, 0xFA, 0x86, 0xCA, 
            /* 0DF8 */    0x66, 0xE3, 0x73, 0xB5, 0x0F, 0x6A, 0x1E, 0xF5, 
            /* 0E00 */    0xDB, 0x02, 0x1B, 0xEC, 0x23, 0x30, 0x4E, 0xD4, 
            /* 0E08 */    0xBD, 0x06, 0x25, 0x07, 0x46, 0x01, 0x8E, 0x11, 
            /* 0E10 */    0x28, 0xC9, 0x57, 0x33, 0x0A, 0xE2, 0x03, 0x80, 
            /* 0E18 */    0x0F, 0xA5, 0x80, 0x8B, 0x24, 0x77, 0x15, 0xB4, 
            /* 0E20 */    0x96, 0x93, 0x00, 0xB9, 0xE4, 0xF9, 0xB0, 0x77, 
            /* 0E28 */    0xA0, 0x27, 0x7E, 0x52, 0x2F, 0xC0, 0x0F, 0xE5, 
            /* 0E30 */    0x6C, 0x52, 0xFE, 0xFF, 0x4F, 0x0A, 0x8C, 0xC3, 
            /* 0E38 */    0xF5, 0x31, 0x05, 0x38, 0x1F, 0xED, 0x7D, 0x20, 
            /* 0E40 */    0xE0, 0xF2, 0x0F, 0x04, 0x14, 0xC4, 0x57, 0x3F, 
            /* 0E48 */    0xE0, 0x7A, 0x1F, 0x05, 0x67, 0x98, 0x73, 0x03, 
            /* 0E50 */    0xFA, 0xDC, 0xEF, 0xCB, 0x04, 0x9C, 0xC3, 0x0C, 
            /* 0E58 */    0xF0, 0x3B, 0x9D, 0xE3, 0x0F, 0x33, 0xEC, 0xFF, 
            /* 0E60 */    0x7F, 0x98, 0x01, 0x06, 0x4F, 0x02, 0x1F, 0x66, 
            /* 0E68 */    0xC0, 0x05, 0xEE, 0xC3, 0x0C, 0x70, 0x15, 0x7C, 
            /* 0E70 */    0xE9, 0x03, 0xDD, 0x41, 0x9E, 0xA1, 0xF8, 0x62, 
            /* 0E78 */    0xE0, 0x93, 0x0B, 0xC7, 0x39, 0xAD, 0xA7, 0x03, 
            /* 0E80 */    0x0E, 0x13, 0xF8, 0xED, 0x80, 0x1D, 0x39, 0x2C, 
            /* 0E88 */    0xFE, 0xCE, 0x87, 0x96, 0x7B, 0x96, 0x81, 0x7C, 
            /* 0E90 */    0xCB, 0xF1, 0x74, 0x3C, 0x80, 0xE7, 0x05, 0xDF, 
            /* 0E98 */    0x49, 0x70, 0x87, 0x19, 0x60, 0xFD, 0xFF, 0x3F, 
            /* 0EA0 */    0xCC, 0x00, 0x2C, 0xBF, 0x4D, 0xC0, 0x18, 0x16, 
            /* 0EA8 */    0xFF, 0xFF, 0x1F, 0x66, 0x00, 0x63, 0x22, 0x0E, 
            /* 0EB0 */    0x33, 0xA0, 0x33, 0x71, 0x98, 0x01, 0xBA, 0x37, 
            /* 0EB8 */    0x0D, 0x1F, 0x66, 0x80, 0x03, 0xF4, 0xD3, 0x01, 
            /* 0EC0 */    0xE6, 0x32, 0xE3, 0x2B, 0x08, 0xE6, 0xCE, 0x61, 
            /* 0EC8 */    0x82, 0xF1, 0xDE, 0x0D, 0x3A, 0xCE, 0xF0, 0xA1, 
            /* 0ED0 */    0xF8, 0x1A, 0xEF, 0x51, 0xB0, 0xF1, 0xBF, 0xF7, 
            /* 0ED8 */    0x19, 0xC5, 0x07, 0x80, 0xF8, 0xEF, 0x03, 0x0E, 
            /* 0EE0 */    0x75, 0x9B, 0x47, 0xC5, 0xA1, 0xD0, 0x39, 0x03, 
            /* 0EE8 */    0xF3, 0xFF, 0x3F, 0x67, 0x00, 0xF3, 0xDB, 0x3C, 
            /* 0EF0 */    0x38, 0xCF, 0x19, 0x70, 0xE6, 0x0A, 0xE3, 0x1E, 
            /* 0EF8 */    0x0F, 0x0C, 0xCF, 0x19, 0xC0, 0x2B, 0x34, 0x84, 
            /* 0F00 */    0xCE, 0x19, 0xE0, 0x52, 0x71, 0xCE, 0x00, 0x02, 
            /* 0F08 */    0xFF, 0xFF, 0x73, 0x06, 0xD8, 0x44, 0x9E, 0x33, 
            /* 0F10 */    0x40, 0x77, 0x34, 0x65, 0x30, 0xEC, 0x62, 0xEA, 
            /* 0F18 */    0xB9, 0x3F, 0x5F, 0x30, 0xA1, 0xA7, 0x2F, 0xD4, 
            /* 0F20 */    0x10, 0x2C, 0xF5, 0x02, 0x8F, 0xB8, 0x23, 0xC0, 
            /* 0F28 */    0x90, 0x77, 0xEC, 0x42, 0x09, 0x83, 0x91, 0xAC, 
            /* 0F30 */    0x9B, 0x3B, 0x4A, 0xC8, 0xCD, 0x9D, 0x82, 0xF8, 
            /* 0F38 */    0xE6, 0x0E, 0xB0, 0xE6, 0xFF, 0x7F, 0x73, 0xC7, 
            /* 0F40 */    0xE4, 0x38, 0x87, 0xA0, 0x87, 0xE6, 0x3B, 0x01, 
            /* 0F48 */    0x8C, 0x33, 0x3B, 0x30, 0x3B, 0x85, 0x60, 0xCF, 
            /* 0F50 */    0xEC, 0x00, 0x8B, 0x0E, 0x31, 0x60, 0xF8, 0xFF, 
            /* 0F58 */    0x1F, 0x62, 0xB0, 0xE3, 0xF4, 0x21, 0x06, 0x70, 
            /* 0F60 */    0x72, 0x66, 0xE7, 0x87, 0x18, 0x78, 0x49, 0xD7, 
            /* 0F68 */    0xA9, 0x43, 0x0C, 0xE7, 0x70, 0xCE, 0x87, 0x82, 
            /* 0F70 */    0xA6, 0x1E, 0xFE, 0x98, 0x7C, 0x23, 0x3D, 0xC1, 
            /* 0F78 */    0x3E, 0x27, 0xA0, 0x71, 0x58, 0x33, 0x92, 0xCE, 
            /* 0F80 */    0x02, 0xC7, 0xF8, 0x74, 0xE0, 0x5C, 0xE7, 0x17, 
            /* 0F88 */    0x7A, 0x66, 0x70, 0x22, 0x0A, 0xE5, 0x39, 0x3B, 
            /* 0F90 */    0xA0, 0x12, 0x9C, 0xBA, 0x28, 0x88, 0x87, 0xEF, 
            /* 0F98 */    0x63, 0x0C, 0x60, 0xF6, 0xFF, 0x7F, 0x8C, 0x01, 
            /* 0FA0 */    0x86, 0x57, 0x14, 0xC0, 0xE4, 0x9D, 0x14, 0x9C, 
            /* 0FA8 */    0x57, 0x14, 0xE0, 0x11, 0xFC, 0x8A, 0x02, 0x3A, 
            /* 0FB0 */    0x1B, 0x57, 0x14, 0xD0, 0xFC, 0xFF, 0xAF, 0x28, 
            /* 0FB8 */    0xC0, 0x63, 0x80, 0xAF, 0x28, 0x60, 0xB9, 0x95, 
            /* 0FC0 */    0xF0, 0x41, 0x3C, 0x96, 0xF0, 0xE3, 0x26, 0xBB, 
            /* 0FC8 */    0x96, 0x60, 0x2E, 0x29, 0x2C, 0xF3, 0x25, 0x05, 
            /* 0FD0 */    0x25, 0x0A, 0x42, 0x59, 0x2F, 0x29, 0x28, 0xAB, 
            /* 0FD8 */    0xE7, 0x4E, 0x7A, 0x4D, 0x01, 0x38, 0xF4, 0xFF, 
            /* 0FE0 */    0xBF, 0xA6, 0x00, 0x0C, 0x8C, 0x7F, 0x4D, 0x01, 
            /* 0FE8 */    0x9D, 0x8E, 0x6B, 0x0A, 0x90, 0xF9, 0xFF, 0x5F, 
            /* 0FF0 */    0x53, 0xC0, 0x20, 0xF7, 0x9A, 0x02, 0xC2, 0xA9, 
            /* 0FF8 */    0x3F, 0x98, 0x30, 0x4F, 0x20, 0x3A, 0xAA, 0xC0, 
            /* 1000 */    0x8E, 0x7D, 0xC2, 0x46, 0x71, 0x38, 0xF4, 0x09, 
            /* 1008 */    0x1B, 0x81, 0xFD, 0xD6, 0xCD, 0xAE, 0x6B, 0x36, 
            /* 1010 */    0x8E, 0xAC, 0x59, 0xFA, 0xD8, 0x6D, 0x82, 0x21, 
            /* 1018 */    0xCF, 0xD8, 0xA8, 0x78, 0x14, 0x0A, 0x77, 0x80, 
            /* 1020 */    0x40, 0x9D, 0xB3, 0x7D, 0xD2, 0xE6, 0x67, 0x6C, 
            /* 1028 */    0xC0, 0x4F, 0xB8, 0x9B, 0x0A, 0x7A, 0x1C, 0x9E, 
            /* 1030 */    0x2D, 0x47, 0x7E, 0x0F, 0xF0, 0x55, 0xC5, 0x57, 
            /* 1038 */    0x02, 0x9B, 0x87, 0x24, 0x21, 0x0E, 0x2B, 0x74, 
            /* 1040 */    0x60, 0xE0, 0x3A, 0xAD, 0xF0, 0x41, 0x79, 0x7C, 
            /* 1048 */    0xB0, 0xFE, 0xFF, 0xB7, 0x15, 0x30, 0x5E, 0xB2, 
            /* 1050 */    0x80, 0xF7, 0x58, 0x7C, 0xC9, 0x02, 0x9C, 0x9C, 
            /* 1058 */    0xB5, 0xB9, 0xE2, 0xF3, 0x01, 0x45, 0x79, 0xDF, 
            /* 1060 */    0xF0, 0xE9, 0x02, 0x77, 0xC9, 0x62, 0x09, 0x4E, 
            /* 1068 */    0xDB, 0x28, 0x0E, 0xEB, 0x3F, 0x6D, 0x23, 0xCE, 
            /* 1070 */    0x1A, 0x30, 0xF5, 0x9E, 0xB7, 0x51, 0x4A, 0x61, 
            /* 1078 */    0xA4, 0xF3, 0xBC, 0x8D, 0x52, 0x76, 0xD3, 0xA2, 
            /* 1080 */    0x20, 0x3E, 0x6F, 0x83, 0xF9, 0xFF, 0x7F, 0xC5, 
            /* 1088 */    0x02, 0x58, 0x10, 0x6C, 0x68, 0xE8, 0x59, 0xF8, 
            /* 1090 */    0x4C, 0x02, 0x73, 0x70, 0xE0, 0x9D, 0x91, 0x0F, 
            /* 1098 */    0xDE, 0x30, 0xAF, 0x63, 0xC0, 0xFA, 0xFF, 0x7F, 
            /* 10A0 */    0xEF, 0x06, 0xDC, 0x5F, 0x68, 0xC0, 0x67, 0xE4, 
            /* 10A8 */    0x42, 0x03, 0x68, 0xB9, 0x77, 0xF3, 0x0B, 0x0D, 
            /* 10B0 */    0xFC, 0xC0, 0xA7, 0x50, 0x74, 0xCC, 0xA7, 0x82, 
            /* 10B8 */    0xFE, 0xFF, 0xF7, 0x1B, 0x36, 0x0D, 0x6B, 0x1F, 
            /* 10C0 */    0x84, 0x60, 0x3D, 0x9B, 0x67, 0x0D, 0xDF, 0x69, 
            /* 10C8 */    0x7C, 0x11, 0xF7, 0x9C, 0x18, 0xC1, 0x48, 0xA7, 
            /* 10D0 */    0x50, 0x54, 0x18, 0x0A, 0x85, 0x3F, 0x0E, 0x50, 
            /* 10D8 */    0x38, 0xC7, 0x3D, 0x3F, 0x50, 0x10, 0x03, 0x3A, 
            /* 10E0 */    0xCB, 0xF9, 0x01, 0x7D, 0xDA, 0xF0, 0x44, 0x70, 
            /* 10E8 */    0x67, 0x82, 0x37, 0x90, 0x03, 0x0C, 0xF2, 0xC4, 
            /* 10F0 */    0xC0, 0xCE, 0x34, 0xC0, 0xF0, 0xF8, 0xC0, 0x4E, 
            /* 10F8 */    0x1F, 0xC0, 0xE2, 0x1A, 0xE7, 0xE1, 0xF2, 0x00, 
            /* 1100 */    0x77, 0x39, 0x0A, 0xE2, 0xBB, 0x1C, 0x70, 0x1D, 
            /* 1108 */    0x8D, 0x4F, 0x1F, 0xE0, 0x1B, 0x17, 0x9C, 0x53, 
            /* 1110 */    0x81, 0xFF, 0xFF, 0xA7, 0x02, 0x7E, 0x57, 0xC0, 
            /* 1118 */    0x5D, 0x41, 0x01, 0x6F, 0xCB, 0xF6, 0x21, 0x05, 
            /* 1120 */    0x5C, 0x77, 0x2A, 0x1F, 0x52, 0x80, 0xAB, 0xE0, 
            /* 1128 */    0x4B, 0x1C, 0xE8, 0xCE, 0x0E, 0x3E, 0x18, 0x70, 
            /* 1130 */    0x9C, 0x53, 0x09, 0xF7, 0x1E, 0x6A, 0xD4, 0x07, 
            /* 1138 */    0x13, 0x76, 0x53, 0xF1, 0xE9, 0x80, 0x1F, 0x54, 
            /* 1140 */    0x58, 0xA2, 0xF5, 0xEA, 0xA0, 0x82, 0xCB, 0xF1, 
            /* 1148 */    0xB2, 0xD2, 0xB9, 0x85, 0x1D, 0x54, 0x60, 0xFE, 
            /* 1150 */    0xFF, 0x0F, 0x2A, 0x5C, 0x33, 0xAC, 0x0E, 0x2A, 
            /* 1158 */    0x5C, 0x2D, 0x8C, 0xB4, 0x3E, 0x00, 0x74, 0xD4, 
            /* 1160 */    0xE0, 0xEA, 0x6E, 0x74, 0x14, 0xC4, 0x17, 0x12, 
            /* 1168 */    0x5F, 0xE5, 0x00, 0xEE, 0xE4, 0x18, 0x3F, 0x1A, 
            /* 1170 */    0xC6, 0x27, 0x17, 0x5F, 0x7E, 0xD9, 0xC9, 0xE0, 
            /* 1178 */    0x5D, 0x82, 0xCD, 0x1E, 0xAC, 0xE7, 0x03, 0xCF, 
            /* 1180 */    0x1E, 0x6C, 0x57, 0xA3, 0xFF, 0xFF, 0xAB, 0x11, 
            /* 1188 */    0x30, 0x44, 0xF2, 0xD5, 0x08, 0x6C, 0x07, 0x09, 
            /* 1190 */    0x9F, 0x6D, 0xC0, 0x33, 0x2A, 0xB0, 0x9E, 0x18, 
            /* 1198 */    0x7C, 0x7F, 0x02, 0xCE, 0x97, 0x41, 0xC0, 0xC1, 
            /* 11A0 */    0xC5, 0xC7, 0x17, 0x23, 0xCC, 0xFF, 0xFF, 0x62, 
            /* 11A8 */    0x04, 0xD8, 0x19, 0xB4, 0x2F, 0x46, 0x80, 0x93, 
            /* 11B0 */    0xCB, 0x20, 0xBF, 0x18, 0x81, 0x4F, 0xA1, 0x4D, 
            /* 11B8 */    0x9F, 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53, 0xA3, 
            /* 11C0 */    0x4C, 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66, 0xAC, 
            /* 11C8 */    0xE6, 0x99, 0xD9, 0x4B, 0xD6, 0xFD, 0x8D, 0x80, 
            /* 11D0 */    0xD0, 0xE0, 0xEF, 0x0A, 0x81, 0x38, 0xFC, 0x92, 
            /* 11D8 */    0x04, 0x62, 0xE9, 0x26, 0x40, 0x58, 0x48, 0x15, 
            /* 11E0 */    0x20, 0x2C, 0xA8, 0x0D, 0x10, 0x26, 0x53, 0x07, 
            /* 11E8 */    0x08, 0x8B, 0xE4, 0xE3, 0x5A, 0xC9, 0xF2, 0x81, 
            /* 11F0 */    0x08, 0xC8, 0x69, 0x1E, 0x06, 0x02, 0x72, 0x36, 
            /* 11F8 */    0x10, 0x01, 0x39, 0xF5, 0x47, 0x46, 0x40, 0x96, 
            /* 1200 */    0xF0, 0x06, 0x10, 0x90, 0x03, 0x83, 0x08, 0xC8, 
            /* 1208 */    0xF1, 0x81, 0xC8, 0xFF, 0xFF, 0xBC, 0x2B, 0x2F, 
            /* 1210 */    0x20, 0x4C, 0xD6, 0x62, 0x05, 0xE2, 0x20, 0x66, 
            /* 1218 */    0x00, 0x59, 0x2A, 0x10, 0x01, 0x59, 0xD0, 0x07, 
            /* 1220 */    0x44, 0x40, 0x56, 0x07, 0x22, 0x20, 0xC7, 0x02, 
            /* 1228 */    0xA2, 0x19, 0x81, 0xA8, 0x36, 0x37, 0x40, 0x4C, 
            /* 1230 */    0x28, 0x88, 0x80, 0x9C, 0x17, 0x88, 0x86, 0x07, 
            /* 1238 */    0xA2, 0x59, 0x9F, 0x14, 0x02, 0x72, 0x72, 0x10, 
            /* 1240 */    0x9D, 0x59, 0x88, 0x1F, 0x20, 0x26, 0x12, 0x44, 
            /* 1248 */    0x40, 0xCE, 0x07, 0x44, 0xC3, 0x02, 0x51, 0x95, 
            /* 1250 */    0x2F, 0x03, 0x01, 0x59, 0x32, 0x88, 0x80, 0x9C, 
            /* 1258 */    0x14, 0x88, 0xC6, 0x06, 0xA2, 0xE2, 0x0D, 0x01, 
            /* 1260 */    0xB1, 0x24, 0x20, 0x02, 0xB2, 0x70, 0x45, 0x40, 
            /* 1268 */    0x2C, 0x06, 0x88, 0x80, 0x2C, 0xC1, 0x11, 0x10, 
            /* 1270 */    0x13, 0x04, 0xA2, 0x81, 0x12, 0x20, 0x1A, 0x13, 
            /* 1278 */    0x88, 0x06, 0xF1, 0x04, 0xC2, 0x64, 0x7C, 0xBC, 
            /* 1280 */    0x04, 0xE2, 0x28, 0xA6, 0x00, 0x59, 0x2E, 0x10, 
            /* 1288 */    0x01, 0x59, 0x93, 0x2A, 0x20, 0x26, 0x10, 0x44, 
            /* 1290 */    0xD7, 0x18, 0xE2, 0x0A, 0x88, 0x49, 0x03, 0x11, 
            /* 1298 */    0x90, 0xC3, 0x7E, 0x11, 0x04, 0x62, 0xA9, 0xBE, 
            /* 12A0 */    0x40, 0x58, 0xC0, 0x37, 0x88, 0x00, 0x9D, 0x16, 
            /* 12A8 */    0x44, 0x40, 0x56, 0xFD, 0x0D, 0x0A, 0x44, 0x22, 
            /* 12B0 */    0x80, 0x08, 0xC8, 0xD1, 0x81, 0xA8, 0x8E, 0x2F, 
            /* 12B8 */    0x88, 0x80, 0x9C, 0x1B, 0x44, 0x40, 0x56, 0xF1, 
            /* 12C0 */    0x0E, 0x79, 0x38, 0x60, 0x20, 0x3A, 0x1C, 0x10, 
            /* 12C8 */    0x20, 0x1A, 0xD8, 0x1A, 0x10, 0x4B, 0x0F, 0xA2, 
            /* 12D0 */    0xC1, 0x91, 0xA7, 0x91, 0x0E, 0x05, 0x04, 0x44, 
            /* 12D8 */    0x40, 0x16, 0xE5, 0x0D, 0x88, 0x29, 0x04, 0xD1, 
            /* 12E0 */    0xA0, 0x08, 0x10, 0x4D, 0x0E, 0x44, 0x15, 0xFF, 
            /* 12E8 */    0xA4, 0x04, 0x64, 0xF9, 0x20, 0x02, 0xB2, 0x5C, 
            /* 12F0 */    0x73, 0x40, 0x4C, 0x3C, 0x88, 0x80, 0x1C, 0xC8, 
            /* 12F8 */    0x1D, 0x10, 0x4B, 0x07, 0x22, 0xA0, 0xFF, 0xFF, 
            /* 1300 */    0xC3, 0x80, 0xE4, 0x1D, 0x06, 0x28, 0x88, 0x06, 
            /* 1308 */    0x44, 0x80, 0x68, 0x7A, 0x20, 0x9A, 0xD6, 0x1E, 
            /* 1310 */    0x10, 0xCB, 0x0E, 0x22, 0x20, 0xEB, 0xFE, 0xF2, 
            /* 1318 */    0x08, 0xC8, 0x29, 0x40, 0x04, 0x64, 0x35, 0xFE, 
            /* 1320 */    0x80, 0x98, 0x36, 0x10, 0x01, 0x39, 0x25, 0x10, 
            /* 1328 */    0xCD, 0x0C, 0x44, 0xB3, 0xFF, 0x59, 0x02, 0x11, 
            /* 1330 */    0x21, 0x8F, 0xF0, 0x03, 0x62, 0x20, 0x1A, 0x10, 
            /* 1338 */    0x01, 0xA2, 0xE2, 0x5E, 0x30, 0x81, 0x88, 0x52, 
            /* 1340 */    0x10, 0x01, 0x39, 0x22, 0x10, 0xCD, 0x0B, 0x44, 
            /* 1348 */    0x35, 0xFF, 0x6E, 0x04, 0xE4, 0x00, 0x20, 0x02, 
            /* 1350 */    0xB2, 0xDE, 0x87, 0x8D, 0x80, 0xAC, 0x1E, 0x44, 
            /* 1358 */    0x40, 0x4E, 0xF1, 0xF7, 0x0B, 0x44, 0x22, 0x81, 
            /* 1360 */    0x08, 0xC8, 0xEA, 0x44, 0x02, 0x31, 0xA9, 0x20, 
            /* 1368 */    0x02, 0x72, 0x4C, 0x20, 0x9A, 0x19, 0x88, 0x6A, 
            /* 1370 */    0x7F, 0xC0, 0x04, 0x22, 0x41, 0x40, 0x34, 0x48, 
            /* 1378 */    0xA2, 0x72, 0x90, 0x14, 0x44, 0x07, 0x06, 0xF2, 
            /* 1380 */    0xC9, 0x79, 0x2C, 0x22, 0x5A, 0x74, 0x02, 0xB1, 
            /* 1388 */    0x24, 0x20, 0x34, 0xBD, 0x4F, 0x50, 0x26, 0xE5, 
            /* 1390 */    0x57, 0xAC, 0x63, 0x02, 0x01, 0xD1, 0x30, 0x89, 
            /* 1398 */    0x51, 0x20, 0x16, 0x06, 0x44, 0x40, 0x8E, 0x06, 
            /* 13A0 */    0x44, 0x63, 0x7F, 0x77, 0x04, 0x64, 0x11, 0x4F, 
            /* 13A8 */    0x9E, 0x07, 0x15, 0x06, 0x22, 0x20, 0x87, 0x03, 
            /* 13B0 */    0xA2, 0xD1, 0xB5, 0x1E, 0x1B, 0xE8, 0x7B, 0x27, 
            /* 13B8 */    0x10, 0xC9, 0x03, 0x22, 0x40, 0x02, 0x44, 0x25, 
            /* 13C0 */    0x3E, 0xE7, 0x04, 0x64, 0xBD, 0x20, 0x02, 0xB2, 
            /* 13C8 */    0xBE, 0x77, 0x51, 0x20, 0xA2, 0x16, 0x44, 0xC3, 
            /* 13D0 */    0x25, 0x6E, 0x87, 0x4B, 0x41, 0x74, 0x66, 0x22, 
            /* 13D8 */    0x72, 0x8F, 0x04, 0x14, 0x44, 0x40, 0xD6, 0x62, 
            /* 13E0 */    0x17, 0x88, 0x29, 0x03, 0x11, 0x90, 0x73, 0x01, 
            /* 13E8 */    0xD1, 0x94, 0x40, 0x34, 0xFD, 0xDF, 0x28, 0x90, 
            /* 13F0 */    0xFE, 0xFF, 0x83, 0xD4, 0x6B, 0x47, 0x40, 0x8E, 
            /* 13F8 */    0x01, 0x22, 0x20, 0x67, 0x02, 0xA2, 0x19, 0x9E, 
            /* 1400 */    0x37, 0x81, 0x48, 0x22, 0x10, 0x01, 0x59, 0xCF, 
            /* 1408 */    0x3F, 0xFA, 0x91, 0x85, 0x81, 0xE8, 0x28, 0x41, 
            /* 1410 */    0x7E, 0x41, 0x02, 0xB2, 0x7E, 0x10, 0x0D, 0x82, 
            /* 1418 */    0x00, 0x51, 0x2D, 0x6F, 0x20, 0x1D, 0x1B, 0x88, 
            /* 1420 */    0xE7, 0xE3, 0x07, 0x05, 0xD1, 0x31, 0x81, 0x00, 
            /* 1428 */    0xD1, 0xBC, 0x40, 0x54, 0xE8, 0xF7, 0x4C, 0x40, 
            /* 1430 */    0x56, 0x0D, 0xA2, 0x23, 0x05, 0xF9, 0x01, 0x05, 
            /* 1438 */    0x22, 0x9A, 0x41, 0x04, 0x64, 0xE5, 0xAE, 0x8F, 
            /* 1440 */    0x29, 0x14, 0x44, 0x03, 0x25, 0x9F, 0xA5, 0x03, 
            /* 1448 */    0x65, 0x20, 0x02, 0xB2, 0x94, 0xFF, 0x52, 0x20, 
            /* 1450 */    0x22, 0x0C, 0x44, 0x87, 0x1E, 0xF2, 0x1A, 0x3A, 
            /* 1458 */    0x00, 0x06, 0xA2, 0xE3, 0x04, 0x01, 0xA2, 0x42, 
            /* 1460 */    0xDE, 0x5E, 0x3A, 0x8E, 0x10, 0x10, 0x1D, 0x47, 
            /* 1468 */    0xC8, 0xB3, 0xFB, 0x91, 0x86, 0xBD, 0x8B, 0x02, 
            /* 1470 */    0x11, 0x95, 0x20, 0x3A, 0xFA, 0x10, 0x20, 0xAA, 
            /* 1478 */    0xE1, 0x01, 0xA6, 0x03, 0x00, 0x79, 0x26, 0x1D, 
            /* 1480 */    0x08, 0x03, 0xD1, 0x51, 0x85, 0x00, 0xD1, 0xB4, 
            /* 1488 */    0x40, 0x54, 0xF8, 0xFB, 0xE9, 0xF1, 0x81, 0x81, 
            /* 1490 */    0x08, 0xC8, 0xA2, 0xC5, 0x1F, 0x57, 0x28, 0x88, 
            /* 1498 */    0x80, 0x9C, 0x48, 0x3D, 0x10, 0x8B, 0x07, 0xA2, 
            /* 14A0 */    0x03, 0x03, 0x71, 0x7F, 0x50, 0xA0, 0x20, 0x3A, 
            /* 14A8 */    0x6E, 0x10, 0xF9, 0x47, 0x0B, 0x0A, 0x22, 0x20, 
            /* 14B0 */    0x07, 0xD0, 0x0F, 0xC4, 0xD2, 0x80, 0x08, 0xC8, 
            /* 14B8 */    0xAA, 0xFC, 0x03, 0x31, 0x89, 0x20, 0x02, 0x72, 
            /* 14C0 */    0x36, 0x20, 0x1A, 0x14, 0x88, 0xCA, 0x0C, 0x30, 
            /* 14C8 */    0x58, 0x0A, 0xA2, 0xE3, 0x09, 0x01, 0xA2, 0xE9, 
            /* 14D0 */    0x81, 0x68, 0xDA, 0x02, 0xC7, 0x13, 0x0A, 0x22, 
            /* 14D8 */    0x20, 0xFF, 0xFF, 0x01
        })
    }

    Scope (\)
    {
        Field (PNVS, AnyAcc, Lock, Preserve)
        {
                    Offset (0x08), 
            WPWL,   16, 
            WPW0,   32, 
            WPW1,   32, 
            WPW2,   32
        }
    }

    Scope (_SB.AMWA)
    {
        Name (AWER, Buffer (0x08)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        CreateByteField (AWER, Zero, WER0)
        CreateByteField (AWER, One, WER1)
        CreateByteField (AWER, 0x02, WER2)
        CreateField (AWER, 0x10, 0x10, WE23)
        Name (AWRD, Buffer (0x08)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        Name (ARBO, Buffer (0x0208)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0028 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0038 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0050 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0058 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0060 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0070 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0078 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0080 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0088 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0090 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0098 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00A0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00A8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00B0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00B8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00C0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00C8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00D0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00D8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00E0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00E8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00F0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 00F8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0100 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0108 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0110 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0118 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0120 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0128 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0130 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0138 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0140 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0148 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0150 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0158 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0160 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0168 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0170 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0178 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0180 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0188 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0190 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0198 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01A0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01A8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01B0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01B8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01C0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01C8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01D0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01D8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01E0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01E8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01F0 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 01F8 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0200 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        CreateField (ARBO, Zero, 0x02C0, APWR)
        CreateField (ARBO, Zero, 0x40, ARWR)
        CreateField (ARBO, Zero, 0x20, AWRE)
        CreateField (ARBO, 0x20, 0x20, AWRS)
        CreateField (ARBO, Zero, 0xC0, AWRB)
        CreateField (ARBO, Zero, 0x20, ARB0)
        CreateByteField (ARBO, Zero, AR00)
        CreateByteField (ARBO, One, AR01)
        CreateByteField (ARBO, 0x02, AR02)
        CreateByteField (ARBO, 0x03, AR03)
        CreateByteField (ARBO, 0x04, AR04)
        CreateByteField (ARBO, 0x05, AR05)
        CreateByteField (ARBO, 0x06, AR06)
        CreateByteField (ARBO, 0x07, AR07)
        CreateByteField (ARBO, 0x08, AR08)
        CreateByteField (ARBO, 0x09, AR09)
        CreateByteField (ARBO, 0x0A, AR10)
        CreateByteField (ARBO, 0x0B, AR11)
        CreateByteField (ARBO, 0x0C, AR12)
        CreateByteField (ARBO, 0x0D, AR13)
        CreateByteField (ARBO, 0x0E, AR14)
        CreateByteField (ARBO, 0x0F, AR15)
        CreateByteField (ARBO, 0x10, AR16)
        CreateByteField (ARBO, 0x11, AR17)
        CreateByteField (ARBO, 0x12, AR18)
        CreateByteField (ARBO, 0x13, AR19)
        CreateByteField (ARBO, 0x14, AR20)
        CreateField (ARBO, 0x20, 0x10, APSL)
        CreateField (ARBO, 0x30, 0x0290, APMN)
        CreateField (ARBO, Zero, 0x0180, AGDS)
        CreateField (ARBO, 0x30, 0x0150, ADS2)
        CreateField (ARBO, Zero, 0x0240, AGAT)
        CreateField (ARBO, 0x30, 0x0210, AAT2)
        CreateField (ARBO, Zero, 0xA0, AGBT)
        CreateField (ARBO, 0x20, 0x80, AGBS)
        CreateField (ARBO, 0x30, 0x2000, ABOD)
        CreateField (ARBO, 0x2030, 0x10, ABOR)
        Method (WMAB, 3, NotSerialized)
        {
            Store (Zero, ARBO)
            Store (Zero, DI00)
            Store (Arg2, ARBO)
            Store (Arg2, DI00)
            If (LEqual (Arg1, One))
            {
                PHAM (0xE9, 0x6566, One, 0x80, 0x02, 0xE9)
                If (LEqual (TPID, 0x6676))
                {
                    Store (Zero, WCMD)
                    Store (Zero, TPID)
                    Store (Zero, MEID)
                    Store (Zero, ILEN)
                    Store (Zero, OLEN)
                    Store (Zero, CBP0)
                    Store (Zero, CBP4)
                    Store (Zero, CBP8)
                    Store (WPW0, CBP0)
                    Store (WPW1, CBP4)
                    Store (WPW2, CBP8)
                    Store (0x9610, WNVA)
                    Store (WDBA, WNVS)
                    If (LEqual (WPWL, Zero))
                    {
                        Store (PASK (0x08), Local0)
                        If (LEqual (Local0, Zero))
                        {
                            Store (PDIS (0x08), Local1)
                        }

                        Store (PDIS (0x0A), Local1)
                    }
                    Else
                    {
                        Store (WPWL, WNVC)
                        Store (0x0208, WNVB)
                        TRPS (One, Zero)
                        And (WNVA, 0xFFFF, Local1)
                    }

                    Store (Local1, AWRD)
                    Store (Zero, CBP0)
                    Store (Zero, CBP4)
                    Store (Zero, CBP8)
                    Return (AWRD)
                }

                If (LEqual (AR00, One)) {}
                If (LEqual (AR00, 0x02)) {}
                Store (DI00, AWRD)
                Return (AWRD)
            }

            If (LEqual (Arg1, 0x02))
            {
                PHAM (0xE9, 0x6566, 0x02, 0x40, 0x84, 0xE9)
                If (LEqual (AR00, One))
                {
                    Store (DI00, ARBO)
                    Return (ARBO)
                }

                If (LEqual (AR00, 0x02))
                {
                    Store (DI00, ARBO)
                    PHAM (0xE9, 0x6566, 0xA1, 0x40, 0x84, 0xE9)
                    Return (ARBO)
                }
            }
        }
    }

    Scope (\)
    {
        Name (BCLP, Package (0x0C)
        {
            0x64, 
            0x3C, 
            0x0A, 
            0x14, 
            0x1E, 
            0x28, 
            0x32, 
            0x3C, 
            0x46, 
            0x50, 
            0x5A, 
            0x64
        })
        Name (MAXL, 0x0B)
        Method (BIAN, 1, NotSerialized)
        {
            If (LEqual (And (DID1, 0x0F00), 0x0400))
            {
                Notify (\_SB.PCI0.GFX0.DD01, Arg0)
            }

            If (LEqual (And (DID2, 0x0F00), 0x0400))
            {
                Notify (\_SB.PCI0.GFX0.DD02, Arg0)
            }

            If (LEqual (And (DID3, 0x0F00), 0x0400))
            {
                Notify (\_SB.PCI0.GFX0.DD03, Arg0)
            }

            If (LEqual (And (DID4, 0x0F00), 0x0400))
            {
                Notify (\_SB.PCI0.GFX0.DD04, Arg0)
            }

            If (LEqual (And (DID5, 0x0F00), 0x0400))
            {
                Notify (\_SB.PCI0.GFX0.DD05, Arg0)
            }
        }
    }

    Scope (_SB.PCI0.PEG0.PEGP)
    {
        OperationRegion (DGPU, PCI_Config, Zero, 0x10)
        Field (DGPU, AnyAcc, NoLock, Preserve)
        {
            DGID,   16, 
            GDID,   16
        }

        Method (_DOS, 1, NotSerialized)
        {
            Store (And (Arg0, 0x03), DSEN)
        }

        Method (_DOD, 0, NotSerialized)
        {
            If (LNotEqual (SKUT, 0x03))
            {
                If (LEqual (GPUT, 0x03))
                {
                    If (LAnd (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Return (Package (0x04)
                        {
                            0x0110, 
                            0x0100, 
                            0x0111, 
                            0x0112
                        })
                    }
                    Else
                    {
                        Return (Package (0x04)
                        {
                            0x0110, 
                            0x80000100, 
                            0x80007332, 
                            0x80006333
                        })
                    }
                }

                If (LEqual (GPUT, 0x02))
                {
                    If (LEqual (PMDP, 0x03))
                    {
                        Return (Package (0x03)
                        {
                            0x0400, 
                            0x00010100, 
                            0x00010210
                        })
                    }

                    Return (Package (0x03)
                    {
                        0x00010110, 
                        0x00010100, 
                        0x00010210
                    })
                }
            }
        }

        Method (UCMP, 2, NotSerialized)
        {
            Store (SizeOf (Arg0), Local1)
            If (LNotEqual (Local1, SizeOf (Arg1)))
            {
                Return (Zero)
            }

            Store (Zero, Local0)
            While (LLess (Local0, Local1))
            {
                If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
                    Arg1, Local0))))
                {
                    Return (Zero)
                }

                Increment (Local0)
            }

            Return (One)
        }

        Method (_DSM, 4, NotSerialized)
        {
            Name (_T_0, Zero)
            Store ("----- DGPU _DSM --------", Debug)
            If (LEqual (GPUT, 0x03))
            {
                If (LOr (LEqual (PMDP, 0x04), LEqual (PMDP, 0x03)))
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */    0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47, 
                                /* 0008 */    0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0
                            }))
                    {
                        Return (NVOP)
                        Arg0
                        Arg1
                        Arg2
                        Arg3
                    }

                    Store ("<<< _DSM - Perf >>>", Debug)
                    Store (Arg0, Debug)
                    Store (Arg1, Debug)
                    Store (Arg2, Debug)
                    Store (Arg3, Debug)
                    If (CMPB (Arg0, Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0x2D, 0x13, 0xA3, 0xDA, 0x8C, 0xBA, 0x49, 
                                /* 0008 */    0xA5, 0x2E, 0xBC, 0x9D, 0x46, 0xDF, 0x6B, 0x81
                            }, Return (NVGS), Arg0, Arg1, 
                        Arg2, Arg3)) {}
                }

                If (LEqual (PMDP, 0x02))
                {
                    If (LEqual (UCMP (Arg0, Buffer (0x10)
                                {
                                    /* 0000 */    0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65, 0xF7, 0x46, 
                                    /* 0008 */    0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA, 0x02, 0x44
                                }), One))
                    {
                        If (LNotEqual (Arg1, 0x0102))
                        {
                            Return (0x80000002)
                        }

                        Store (Arg2, _T_0)
                        If (LEqual (_T_0, Zero))
                        {
                            Return (0x00100061)
                        }
                        Else
                        {
                            If (LEqual (_T_0, 0x05))
                            {
                                Name (TMP0, Zero)
                                Name (TMP1, Zero)
                                Name (TMP2, Zero)
                                Store (Arg3, Local0)
                                CreateField (Local0, Zero, 0x10, DSS0)
                                CreateField (Local0, 0x08, 0x10, DSS1)
                                CreateField (Local0, 0x18, One, DSS2)
                                Store (Buffer (0x04)
                                    {
                                        0x00, 0x00, 0x00, 0x00
                                    }, Local1)
                                CreateField (Local1, 0x08, 0x06, DIDX)
                                Store (DSS2, TMP0)
                                Add (TMP0, Zero, TMP0)
                                If (LEqual (TMP0, One))
                                {
                                    Store (DSS0, TMP1)
                                    Store (DSS0, TMP2)
                                    Store (And (TMP1, 0x04), Local2)
                                    Store (And (TMP2, 0x08), Local3)
                                    If (LOr (LEqual (DSDV, Zero), LGreaterEqual (DSDV, 0x07)))
                                    {
                                        Store (One, DSDV)
                                        Store (DSDV, DIDX)
                                        Return (Local1)
                                    }

                                    If (LOr (LEqual (DSDV, One), LEqual (DSDV, 0x04)))
                                    {
                                        If (LEqual (Local2, 0x04))
                                        {
                                            Increment (DSDV)
                                            Store (DSDV, DIDX)
                                            Return (Local1)
                                        }
                                        Else
                                        {
                                            Increment (DSDV)
                                        }
                                    }

                                    If (LOr (LEqual (DSDV, 0x02), LEqual (DSDV, 0x05)))
                                    {
                                        If (LEqual (Local3, 0x08))
                                        {
                                            Increment (DSDV)
                                            Store (DSDV, DIDX)
                                            Return (Local1)
                                        }
                                        Else
                                        {
                                            Increment (DSDV)
                                        }
                                    }

                                    If (LOr (LEqual (DSDV, 0x03), LEqual (DSDV, 0x06)))
                                    {
                                        Store (Zero, Local4)
                                        And (CADL, One, Local4)
                                        If (LEqual (Local4, One))
                                        {
                                            Increment (DSDV)
                                            Store (DSDV, DIDX)
                                            Return (Local1)
                                        }
                                        Else
                                        {
                                            Increment (DSDV)
                                            If (LGreaterEqual (DSDV, 0x07))
                                            {
                                                Store (One, DSDV)
                                                Store (DSDV, DIDX)
                                                Return (Local1)
                                            }

                                            If (LEqual (Local2, 0x04))
                                            {
                                                Increment (DSDV)
                                                Store (DSDV, DIDX)
                                                Return (Local1)
                                            }

                                            Increment (DSDV)
                                            If (LEqual (Local3, 0x08))
                                            {
                                                Increment (DSDV)
                                                Store (DSDV, DIDX)
                                                Return (Local1)
                                            }

                                            Store (One, DSDV)
                                            Store (DSDV, DIDX)
                                            Return (Local1)
                                        }
                                    }
                                }

                                Return (Zero)
                            }
                            Else
                            {
                                If (LEqual (_T_0, 0x06))
                                {
                                    If (LAnd (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                                    {
                                        Return (Package (0x11)
                                        {
                                            0x0110, 
                                            0x2C, 
                                            0x0110, 
                                            0x0111, 
                                            0x2C, 
                                            0x0110, 
                                            0x0112, 
                                            0x2C, 
                                            0x0110, 
                                            0x0100, 
                                            0x2C, 
                                            0x0111, 
                                            0x2C, 
                                            0x0112, 
                                            0x2C, 
                                            0x0100, 
                                            0x2C
                                        })
                                    }
                                    Else
                                    {
                                        Return (Package (0x11)
                                        {
                                            0x0110, 
                                            0x2C, 
                                            0x0110, 
                                            0x80007332, 
                                            0x2C, 
                                            0x0110, 
                                            0x80006333, 
                                            0x2C, 
                                            0x0110, 
                                            0x80000100, 
                                            0x2C, 
                                            0x80007332, 
                                            0x2C, 
                                            0x80006333, 
                                            0x2C, 
                                            0x80000100, 
                                            0x2C
                                        })
                                    }
                                }
                                Else
                                {
                                    If (LEqual (_T_0, 0x14))
                                    {
                                        Return (Package (0x0C)
                                        {
                                            0x0110, 
                                            0x0400, 
                                            Zero, 
                                            Zero, 
                                            Zero, 
                                            One, 
                                            0xC8, 
                                            Zero, 
                                            0x03E8, 
                                            Zero, 
                                            Zero, 
                                            Zero
                                        })
                                    }
                                }
                            }
                        }
                    }

                    Return (0x80000002)
                }
            }
        }

        OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
        Field (GPPB, ByteAcc, NoLock, Preserve)
        {
            PBCI,   8, 
            PBNP,   8, 
            PBLS,   8, 
            PBCC,   8, 
            PBCM,   32, 
            PBDI,   32, 
            PBDO,   32, 
            PBMX,   32
        }

        Method (NINT, 2, NotSerialized)
        {
            If (LEqual (PBCC, One))
            {
                If (LEqual (Arg0, One))
                {
                    Store (One, PBMX)
                    Store (Zero, Local0)
                    While (LLess (Local0, 0x03E8))
                    {
                        Store (0xC5100000, PBCM)
                        Stall (0x64)
                        And (PBCM, 0xFF, Local1)
                        Increment (Local0)
                        If (LEqual (Local1, One))
                        {
                            Store (0x03E8, Local0)
                        }
                    }

                    Store (Zero, PBCM)
                    Store (Zero, PBMX)
                    Store (PBDO, Local2)
                    Return (Local2)
                }

                If (LEqual (Arg0, 0x02))
                {
                    Store (Arg1, Local1)
                    Store (Zero, Local0)
                    Multiply (Local1, 0x0A, Local3)
                    ShiftLeft (Local3, 0x08, Local3)
                    Store (Local3, PBDI)
                    While (LLess (Local0, 0x03E8))
                    {
                        Store (One, PBMX)
                        Store (0x86100000, PBCM)
                        Stall (0x64)
                        And (PBCM, 0xFF, Local2)
                        Increment (Local0)
                        If (LEqual (Local2, One))
                        {
                            Store (0x03E8, Local0)
                        }
                    }

                    Store (Zero, PBCM)
                    Store (Zero, PBMX)
                    Return (Zero)
                }
            }

            Return (Zero)
        }

        Device (CRT)
        {
            Method (_ADR, 0, NotSerialized)
            {
                If (LEqual (GPUT, 0x03))
                {
                    If (LAnd (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Return (0x0100)
                    }
                    Else
                    {
                        Return (0x80000100)
                    }
                }

                Return (0x00010100)
            }

            Method (_DCS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (CDST, 0x0101))
                {
                    Return (0x1F)
                }

                Return (0x1D)
            }

            Method (_DGS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (NDST, 0x0101))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSS, 1, NotSerialized)
            {
                If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                {
                    Store (NDST, CDST)
                }
            }
        }

        Device (LCD)
        {
            Method (_ADR, 0, NotSerialized)
            {
                If (LEqual (PMDP, 0x03))
                {
                    Return (0x0400)
                }

                Return (0x0110)
            }

            Method (_DCS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (CDST, 0x0808))
                {
                    Return (0x1F)
                }

                Return (0x1D)
            }

            Method (_DGS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (NDST, 0x0808))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSS, 1, NotSerialized)
            {
                If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                {
                    Store (NDST, CDST)
                }
            }

            Method (_BCL, 0, NotSerialized)
            {
                Return (BCLP)
            }

            Method (_BCM, 1, NotSerialized)
            {
                Store (One, Local0)
                Store (0x02, Local1)
                While (Local0)
                {
                    If (LEqual (Arg0, DerefOf (Index (BCLP, Local1))))
                    {
                        Store (Zero, Local0)
                    }
                    Else
                    {
                        Increment (Local1)
                        If (LEqual (0x0B, Local1))
                        {
                            Store (Zero, Local0)
                        }
                    }
                }

                Decrement (Local1)
                Decrement (Local1)
                If (And (^^^^LPCB.EC0.RDEC (0x7F), 0x02))
                {
                    If (^^^^LPCB.EC0.ACST)
                    {
                        ShiftLeft (Local1, Zero, Local1)
                        ^^^^LPCB.EC0.MDEC (0x83, 0xF0, Local1)
                    }
                    Else
                    {
                        ShiftLeft (Local1, 0x04, Local1)
                        ^^^^LPCB.EC0.MDEC (0x83, 0x0F, Local1)
                    }
                }
                Else
                {
                    ShiftLeft (Local1, Zero, Local1)
                    ^^^^LPCB.EC0.MDEC (0x83, 0xF0, Local1)
                }

                ^^^^LPCB.EC0.SDBN (Arg0, Zero)
            }

            Method (_BQC, 0, NotSerialized)
            {
                If (And (^^^^LPCB.EC0.RDEC (0x7F), 0x02))
                {
                    If (^^^^LPCB.EC0.ACST)
                    {
                        And (^^^^LPCB.EC0.RDEC (0x83), 0x0F, Local1)
                        ShiftRight (Local1, Zero, Local1)
                    }
                    Else
                    {
                        And (^^^^LPCB.EC0.RDEC (0x83), 0xF0, Local1)
                        ShiftRight (Local1, 0x04, Local1)
                    }
                }
                Else
                {
                    And (^^^^LPCB.EC0.RDEC (0x83), 0x0F, Local1)
                    ShiftRight (Local1, Zero, Local1)
                }

                Increment (Local1)
                Increment (Local1)
                Store (DerefOf (Index (BCLP, Local1)), Local0)
                Return (Local0)
            }
        }

        Device (TV0)
        {
            Method (_ADR, 0, NotSerialized)
            {
                If (LEqual (GPUT, 0x03))
                {
                    If (LAnd (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Return (0x0200)
                    }
                    Else
                    {
                        Return (0x80000200)
                    }
                }

                Return (0x0200)
            }

            Method (_DCS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (CDST, 0x0202))
                {
                    Return (0x1F)
                }

                Return (0x1D)
            }

            Method (_DGS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (NDST, 0x0202))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSS, 1, NotSerialized)
            {
                If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                {
                    Store (NDST, CDST)
                }
            }
        }

        Device (HDMI)
        {
            Method (_ADR, 0, NotSerialized)
            {
                If (LEqual (GPUT, 0x03))
                {
                    If (LAnd (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                    {
                        Return (0x0111)
                    }
                    Else
                    {
                        Return (0x80007332)
                    }
                }

                Return (0x00010210)
            }

            Method (_DCS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (CDST, 0x0404))
                {
                    Return (0x1F)
                }

                Return (0x1D)
            }

            Method (_DGS, 0, NotSerialized)
            {
                If (LEqual (SKUT, 0x03))
                {
                    Return (Zero)
                }

                If (And (NDST, 0x0404))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSS, 1, NotSerialized)
            {
                If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                {
                    Store (NDST, CDST)
                }
            }
        }
    }

    Scope (_SB.PCI0.PEG0.PEGP)
    {
        Name (CRID, Zero)
        Name (CRST, Zero)
        Name (LDID, Zero)
        Name (LDST, Zero)
        Name (HDID, Zero)
        Name (HDST, Zero)
        Name (TDID, Zero)
        Name (TDST, Zero)
        Method (NVIF, 3, NotSerialized)
        {
            Store (Buffer (0x08) {}, Local1)
            CreateDWordField (Local1, Zero, STA0)
            CreateDWordField (Local1, 0x04, DAT0)
            Store (0x80000002, STA0)
            Store (Zero, DAT0)
            If (LEqual (Arg0, One))
            {
                If (LEqual (Arg1, Zero))
                {
                    Store (Zero, STA0)
                    Store (One, DAT0)
                }

                Return (Local1)
            }

            If (LEqual (Arg0, 0x0B))
            {
                If (LEqual (Arg1, Zero))
                {
                    Store (Zero, STA0)
                }

                If (LEqual (Arg1, 0x03))
                {
                    CreateWordField (Arg2, Zero, TP0D)
                    CreateWordField (Arg2, 0x02, TP0S)
                    CreateWordField (Arg2, 0x04, TP1D)
                    CreateWordField (Arg2, 0x06, TP1S)
                    CreateWordField (Arg2, 0x08, TP2D)
                    CreateWordField (Arg2, 0x0A, TP2S)
                    GIDS (TP0D, TP0S)
                    GIDS (TP1D, TP1S)
                    GIDS (TP2D, TP2S)
                    Store (Zero, CDST)
                    Store (Zero, CADL)
                    If (LEqual (LDID, 0x0110))
                    {
                        If (And (0x04, LDST))
                        {
                            Or (CDST, 0x0808, CDST)
                        }

                        If (And (0x10, LDST))
                        {
                            Or (CADL, 0x0808, CADL)
                        }
                    }

                    If (LEqual (CRID, 0x0100))
                    {
                        If (And (0x04, CRST))
                        {
                            Or (CDST, 0x0101, CDST)
                        }

                        If (And (0x10, CRST))
                        {
                            Or (CADL, 0x0101, CADL)
                        }
                    }

                    If (LEqual (HDID, 0x7332))
                    {
                        If (And (0x04, HDST))
                        {
                            Or (CDST, 0x0404, CDST)
                        }

                        If (And (0x10, HDST))
                        {
                            Or (CADL, 0x0404, CADL)
                        }
                    }

                    If (LEqual (HDID, 0x0111))
                    {
                        If (And (0x04, HDST))
                        {
                            Or (CDST, 0x0404, CDST)
                        }

                        If (And (0x10, HDST))
                        {
                            Or (CADL, 0x0404, CADL)
                        }
                    }
                }

                Return (Local1)
            }

            Return (Local1)
        }

        Method (GIDS, 2, NotSerialized)
        {
            If (LEqual (Arg0, 0x0100))
            {
                Store (Arg0, CRID)
                Store (Arg1, CRST)
            }

            If (LEqual (Arg0, 0x0110))
            {
                Store (Arg0, LDID)
                Store (Arg1, LDST)
            }

            If (LEqual (Arg0, 0x7332))
            {
                Store (Arg0, HDID)
                Store (Arg1, HDST)
            }

            If (LEqual (Arg0, 0x0111))
            {
                Store (Arg0, HDID)
                Store (Arg1, HDST)
            }

            If (LEqual (Arg0, 0x0200))
            {
                Store (Arg0, TDID)
                Store (Arg1, TDST)
            }
        }
    }

    Scope (_SB)
    {
        Device (WMI0)
        {
            Name (_HID, EisaId ("PNP0C14"))
            Name (_UID, "NVIF")
            Name (_WDG, Buffer (0x78)
            {
                /* 0000 */    0xF2, 0x9A, 0x79, 0xA1, 0x29, 0x94, 0x29, 0x45, 
                /* 0008 */    0x92, 0x7E, 0xDF, 0xE1, 0x37, 0x36, 0xEE, 0xBA, 
                /* 0010 */    0x41, 0x42, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05, 
                /* 0018 */    0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, 
                /* 0020 */    0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00, 
                /* 0028 */    0xC3, 0x9A, 0x79, 0xA1, 0x29, 0x94, 0x29, 0x45, 
                /* 0030 */    0x92, 0x7E, 0xDF, 0xE1, 0x37, 0x36, 0xEE, 0xBA, 
                /* 0038 */    0xC3, 0x00, 0x00, 0x08, 0xC5, 0x9A, 0x79, 0xA1, 
                /* 0040 */    0x29, 0x94, 0x29, 0x45, 0x92, 0x7E, 0xDF, 0xE1, 
                /* 0048 */    0x37, 0x36, 0xEE, 0xBA, 0xC5, 0x00, 0x00, 0x08, 
                /* 0050 */    0xCA, 0x9A, 0x79, 0xA1, 0x29, 0x94, 0x29, 0x45, 
                /* 0058 */    0x92, 0x7E, 0xDF, 0xE1, 0x37, 0x36, 0xEE, 0xBA, 
                /* 0060 */    0xCA, 0x00, 0x00, 0x08, 0xCB, 0x9A, 0x79, 0xA1, 
                /* 0068 */    0x29, 0x94, 0x29, 0x45, 0x92, 0x7E, 0xDF, 0xE1, 
                /* 0070 */    0x37, 0x36, 0xEE, 0xBA, 0xCB, 0x00, 0x00, 0x08
            })
            Name (WQBA, Buffer (0x1067)
            {
                /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 
                /* 0008 */    0x57, 0x10, 0x00, 0x00, 0x78, 0x4F, 0x00, 0x00, 
                /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 
                /* 0018 */    0x28, 0x43, 0xA7, 0x00, 0x01, 0x06, 0x18, 0x42, 
                /* 0020 */    0x10, 0x3D, 0x10, 0x12, 0x46, 0x62, 0x02, 0xC9, 
                /* 0028 */    0x82, 0x90, 0x14, 0x18, 0xF1, 0x18, 0xC6, 0x20, 
                /* 0030 */    0x96, 0x04, 0x21, 0x07, 0x7C, 0x4C, 0x80, 0x10, 
                /* 0038 */    0x08, 0xC9, 0x14, 0xE0, 0x5B, 0x80, 0x63, 0x01, 
                /* 0040 */    0x86, 0x05, 0xC8, 0x16, 0x60, 0x19, 0x8A, 0x98, 
                /* 0048 */    0x90, 0x00, 0x31, 0x34, 0x88, 0x38, 0x34, 0x84, 
                /* 0050 */    0x10, 0x12, 0x01, 0x4B, 0x65, 0x8C, 0xC1, 0x10, 
                /* 0058 */    0xDA, 0x4A, 0xD8, 0xB6, 0x61, 0xA9, 0x57, 0x01, 
                /* 0060 */    0x36, 0x05, 0x98, 0x84, 0x44, 0xC9, 0x83, 0x41, 
                /* 0068 */    0x8D, 0xC3, 0xFD, 0x09, 0xE4, 0x57, 0x00, 0x42, 
                /* 0070 */    0x87, 0x33, 0x91, 0x41, 0x01, 0x4E, 0x11, 0x44, 
                /* 0078 */    0x10, 0xC8, 0x23, 0xE0, 0xCE, 0x05, 0x08, 0x47, 
                /* 0080 */    0xD1, 0x7C, 0xCE, 0xC1, 0x02, 0xE1, 0x51, 0x62, 
                /* 0088 */    0xE0, 0x51, 0xB0, 0xD1, 0xCF, 0xA4, 0x45, 0x78, 
                /* 0090 */    0x09, 0x45, 0xD1, 0x14, 0xA2, 0x24, 0x28, 0x17, 
                /* 0098 */    0x41, 0xBA, 0x20, 0xA4, 0x74, 0x7C, 0x42, 0x28, 
                /* 00A0 */    0x1D, 0x9A, 0x48, 0x1B, 0x26, 0x4A, 0xCE, 0x78, 
                /* 00A8 */    0x20, 0x69, 0x44, 0x21, 0x1E, 0x67, 0x44, 0x06, 
                /* 00B0 */    0x83, 0x95, 0x4B, 0x4E, 0x47, 0x6E, 0x81, 0x30, 
                /* 00B8 */    0xA8, 0xC1, 0x83, 0x47, 0x0A, 0xA1, 0x3C, 0xC0, 
                /* 00C0 */    0x28, 0xCA, 0x28, 0x50, 0x03, 0xF2, 0xE8, 0x3D, 
                /* 00C8 */    0x78, 0xDC, 0xD4, 0x3C, 0x06, 0x0B, 0x82, 0x90, 
                /* 00D0 */    0x8B, 0x63, 0x00, 0x4A, 0x39, 0xA0, 0x30, 0x4B, 
                /* 00D8 */    0x06, 0xA7, 0x03, 0x64, 0x80, 0x7C, 0x10, 0x76, 
                /* 00E0 */    0x0D, 0x28, 0xF3, 0x70, 0xF4, 0x54, 0x80, 0x1B, 
                /* 00E8 */    0x94, 0xFF, 0xFF, 0x03, 0x7D, 0x21, 0x38, 0xF0, 
                /* 00F0 */    0x52, 0x05, 0x98, 0x1D, 0xB8, 0xC6, 0xED, 0x53, 
                /* 00F8 */    0xC0, 0x99, 0x1C, 0x44, 0xD3, 0x02, 0x74, 0x0B, 
                /* 0100 */    0xF0, 0x0C, 0x49, 0x02, 0x41, 0xC8, 0xC9, 0xA8, 
                /* 0108 */    0x50, 0xE7, 0x00, 0x8F, 0xD0, 0xDE, 0x05, 0x48, 
                /* 0110 */    0x1C, 0x8D, 0x60, 0x4F, 0x23, 0x7C, 0xDC, 0x13, 
                /* 0118 */    0x63, 0x03, 0x03, 0x8E, 0xD6, 0xC7, 0x45, 0xA6, 
                /* 0120 */    0xD2, 0x99, 0x00, 0x65, 0x90, 0x24, 0xD2, 0xC0, 
                /* 0128 */    0xD0, 0xE3, 0xB0, 0x48, 0x48, 0xCD, 0xAF, 0xE8, 
                /* 0130 */    0x89, 0x41, 0x19, 0x19, 0xB0, 0x9E, 0xD2, 0x31, 
                /* 0138 */    0x60, 0x46, 0xC6, 0x81, 0x9F, 0x00, 0x6A, 0x06, 
                /* 0140 */    0xD6, 0x70, 0x1E, 0x1A, 0x7C, 0xC6, 0x30, 0x42, 
                /* 0148 */    0x8C, 0x03, 0x62, 0xE2, 0xCE, 0x0F, 0x74, 0x28, 
                /* 0150 */    0xF0, 0x15, 0x1F, 0x30, 0xC8, 0x15, 0xC2, 0xD3, 
                /* 0158 */    0x3B, 0x98, 0x04, 0xB1, 0x1E, 0x40, 0xC0, 0x70, 
                /* 0160 */    0x1A, 0x61, 0x0A, 0x27, 0x46, 0xB0, 0xCF, 0xE7, 
                /* 0168 */    0xFF, 0x7F, 0x94, 0xA7, 0xC4, 0xCE, 0x1C, 0x47, 
                /* 0170 */    0x64, 0x94, 0xE3, 0x0B, 0xF5, 0x12, 0xC2, 0x8E, 
                /* 0178 */    0x00, 0x3E, 0x85, 0x80, 0x19, 0xE5, 0x3D, 0x85, 
                /* 0180 */    0x9F, 0x43, 0xC0, 0x1E, 0xE4, 0x10, 0x82, 0x92, 
                /* 0188 */    0x7E, 0x0E, 0x01, 0xA5, 0xC8, 0x73, 0x08, 0x0D, 
                /* 0190 */    0x73, 0x0E, 0x41, 0x03, 0xFB, 0xE0, 0xF0, 0xAA, 
                /* 0198 */    0x61, 0xED, 0xB8, 0x02, 0x79, 0x10, 0x01, 0xBC, 
                /* 01A0 */    0xFF, 0xFF, 0x0F, 0x22, 0x80, 0xC3, 0x38, 0xE7, 
                /* 01A8 */    0x04, 0xF4, 0x51, 0xCA, 0xD0, 0x6F, 0x0C, 0x07, 
                /* 01B0 */    0xF3, 0x16, 0xE2, 0x0B, 0x10, 0xE6, 0xA0, 0x00, 
                /* 01B8 */    0x9C, 0xCF, 0x08, 0x4F, 0x25, 0xE0, 0xB8, 0x02, 
                /* 01C0 */    0x1C, 0xC1, 0xC9, 0x61, 0xAE, 0x24, 0xF6, 0x79, 
                /* 01C8 */    0x2A, 0xD1, 0xC1, 0x02, 0x7F, 0x28, 0x01, 0x4E, 
                /* 01D0 */    0xFF, 0xFF, 0x43, 0x09, 0xF8, 0x84, 0x93, 0x53, 
                /* 01D8 */    0x20, 0x4B, 0x85, 0xD1, 0x91, 0xC4, 0x70, 0x5C, 
                /* 01E0 */    0x26, 0x90, 0x54, 0x1C, 0x70, 0xE8, 0x71, 0x0D, 
                /* 01E8 */    0x37, 0x12, 0x1F, 0xD7, 0x60, 0x9C, 0x77, 0xD8, 
                /* 01F0 */    0x3C, 0xC3, 0x62, 0xC4, 0x83, 0xA3, 0x47, 0xF7, 
                /* 01F8 */    0x88, 0xC0, 0xE6, 0x1C, 0xF7, 0xBD, 0xC0, 0xEE, 
                /* 0200 */    0x27, 0xAD, 0xCB, 0x42, 0x88, 0xD6, 0x26, 0x22, 
                /* 0208 */    0x84, 0x27, 0x9C, 0x20, 0x6D, 0xE1, 0xE8, 0x52, 
                /* 0210 */    0x10, 0xA6, 0x31, 0x14, 0x41, 0x44, 0x88, 0x19, 
                /* 0218 */    0x27, 0x4A, 0x73, 0x08, 0x1A, 0x71, 0x14, 0x43, 
                /* 0220 */    0x44, 0x38, 0x81, 0x10, 0x27, 0x7B, 0x92, 0x41, 
                /* 0228 */    0xC2, 0xC7, 0x08, 0x1B, 0x2D, 0x4A, 0xFB, 0x23, 
                /* 0230 */    0x44, 0x10, 0xF8, 0x38, 0x86, 0x13, 0x35, 0x24, 
                /* 0238 */    0x3A, 0x1C, 0x9F, 0x07, 0x0E, 0xEE, 0x51, 0xC2, 
                /* 0240 */    0x87, 0x12, 0x1F, 0x1C, 0x0C, 0xF1, 0x32, 0xF4, 
                /* 0248 */    0x1C, 0xE3, 0xA1, 0x7B, 0xDA, 0x47, 0x75, 0x3C, 
                /* 0250 */    0x47, 0xE5, 0x1B, 0xC5, 0x21, 0x1D, 0x53, 0x6F, 
                /* 0258 */    0xD3, 0xD0, 0x3C, 0x62, 0x9C, 0xCE, 0xD9, 0xC4, 
                /* 0260 */    0x89, 0x11, 0x25, 0x58, 0x94, 0xC3, 0x89, 0xF5, 
                /* 0268 */    0x52, 0x13, 0x22, 0xCA, 0x3B, 0xC0, 0x19, 0x79, 
                /* 0270 */    0x72, 0xC6, 0x0F, 0x73, 0x44, 0x46, 0xF4, 0xA4, 
                /* 0278 */    0xC2, 0x1C, 0x80, 0x47, 0xE9, 0x51, 0x61, 0x2F, 
                /* 0280 */    0x11, 0x61, 0x30, 0x87, 0x1D, 0x9F, 0x02, 0x3C, 
                /* 0288 */    0xF9, 0x57, 0x06, 0x5B, 0xBD, 0x38, 0x10, 0x90, 
                /* 0290 */    0x03, 0x3A, 0xAE, 0x13, 0x3B, 0xAF, 0x10, 0x2F, 
                /* 0298 */    0x3B, 0xC6, 0xA8, 0xFE, 0x4E, 0x42, 0x40, 0x8E, 
                /* 02A0 */    0xED, 0x99, 0xC9, 0x03, 0x78, 0x5D, 0x88, 0xFA, 
                /* 02A8 */    0xCA, 0xE0, 0x21, 0x60, 0x30, 0xC3, 0x60, 0x4E, 
                /* 02B0 */    0x05, 0x3E, 0x3C, 0xF9, 0xFF, 0x0F, 0x19, 0x37, 
                /* 02B8 */    0xD8, 0x81, 0xB2, 0x23, 0x0A, 0x3F, 0x4F, 0xBC, 
                /* 02C0 */    0x88, 0x3C, 0x7B, 0x78, 0xFE, 0x46, 0x80, 0x31, 
                /* 02C8 */    0xB5, 0x18, 0x3E, 0x47, 0x84, 0xC2, 0xA9, 0x03, 
                /* 02D0 */    0xA1, 0x03, 0xC1, 0x88, 0x1D, 0x0B, 0xFA, 0x9C, 
                /* 02D8 */    0xE8, 0x03, 0xC6, 0xA1, 0x3C, 0x78, 0xF8, 0xDE, 
                /* 02E0 */    0xC1, 0x8E, 0x53, 0x1E, 0xCD, 0xB9, 0x9C, 0x95, 
                /* 02E8 */    0xCF, 0x47, 0xB8, 0x6B, 0xC0, 0xB3, 0x48, 0x4C, 
                /* 02F0 */    0xA3, 0x1D, 0x53, 0x64, 0x3E, 0x06, 0xCC, 0x69, 
                /* 02F8 */    0xC0, 0x27, 0x47, 0x70, 0x9C, 0x24, 0xCE, 0xC4, 
                /* 0300 */    0x17, 0x01, 0x1F, 0x25, 0x38, 0xD0, 0xB9, 0xF8, 
                /* 0308 */    0x0A, 0xE2, 0x23, 0x08, 0x70, 0x3F, 0x48, 0x78, 
                /* 0310 */    0x80, 0x70, 0x30, 0xA3, 0x9E, 0x45, 0x6C, 0x1F, 
                /* 0318 */    0xD1, 0xB0, 0x62, 0x15, 0x1C, 0x46, 0x30, 0xF2, 
                /* 0320 */    0x60, 0x74, 0x18, 0xC1, 0x49, 0x03, 0x12, 0x8C, 
                /* 0328 */    0x87, 0x64, 0x11, 0xEB, 0xF0, 0x49, 0x94, 0x8E, 
                /* 0330 */    0xD2, 0xB3, 0x85, 0x31, 0x0C, 0xEC, 0x29, 0x85, 
                /* 0338 */    0xFF, 0xFF, 0x47, 0xCC, 0xCF, 0x60, 0x1E, 0xCF, 
                /* 0340 */    0xE3, 0xC2, 0x4B, 0x68, 0x84, 0xE0, 0x81, 0x4F, 
                /* 0348 */    0xF5, 0x71, 0xE0, 0xF0, 0xA2, 0x3F, 0x0F, 0xF8, 
                /* 0350 */    0x0C, 0x01, 0x67, 0x00, 0xE0, 0x18, 0xCC, 0x23, 
                /* 0358 */    0x04, 0x1B, 0x00, 0x9C, 0x31, 0xE1, 0x46, 0xED, 
                /* 0360 */    0x11, 0x7A, 0x00, 0x78, 0xE4, 0x17, 0x84, 0x48, 
                /* 0368 */    0x2F, 0x15, 0x06, 0x7A, 0xCE, 0x80, 0x7F, 0x4A, 
                /* 0370 */    0xC0, 0x1D, 0x94, 0x7C, 0xFA, 0xF0, 0x20, 0xF0, 
                /* 0378 */    0xE7, 0x87, 0x77, 0x09, 0x8F, 0xD2, 0x47, 0x1A, 
                /* 0380 */    0x76, 0x2F, 0x78, 0x1B, 0x30, 0xE6, 0x29, 0x18, 
                /* 0388 */    0x9E, 0x1F, 0x65, 0x7C, 0x90, 0x00, 0xC7, 0x7D, 
                /* 0390 */    0xC4, 0xD7, 0x0A, 0x5F, 0x07, 0x7D, 0xF8, 0xF3, 
                /* 0398 */    0x61, 0x00, 0x7F, 0x08, 0xF4, 0x49, 0x23, 0xCE, 
                /* 03A0 */    0x43, 0x13, 0x9B, 0x1F, 0xEE, 0x88, 0x04, 0x58, 
                /* 03A8 */    0x90, 0x77, 0x52, 0xA6, 0xFF, 0x7F, 0x20, 0x0B, 
                /* 03B0 */    0x3A, 0x29, 0xD3, 0x51, 0x21, 0x68, 0x74, 0x40, 
                /* 03B8 */    0xF6, 0x31, 0x02, 0x9C, 0x82, 0x0F, 0x00, 0xA0, 
                /* 03C0 */    0x19, 0xE1, 0x23, 0x81, 0x4F, 0x70, 0x4F, 0x2C, 
                /* 03C8 */    0x1E, 0x3F, 0xE0, 0x2B, 0xE4, 0xA9, 0x04, 0x15, 
                /* 03D0 */    0xEB, 0x54, 0x82, 0x8E, 0x04, 0x24, 0x13, 0x47, 
                /* 03D8 */    0x1B, 0xF4, 0x19, 0xCB, 0x27, 0x0D, 0x9F, 0xB8, 
                /* 03E0 */    0x60, 0xCC, 0xEC, 0x3D, 0xCD, 0x27, 0x29, 0xDF, 
                /* 03E8 */    0xB9, 0x30, 0x87, 0x2E, 0x70, 0x5D, 0x86, 0xDE, 
                /* 03F0 */    0xA0, 0x5E, 0x74, 0x5E, 0x8A, 0x62, 0xBD, 0xEA, 
                /* 03F8 */    0x84, 0x78, 0x9C, 0x7A, 0x8F, 0x3A, 0xBB, 0xA3, 
                /* 0400 */    0x08, 0x11, 0xC5, 0x87, 0x2E, 0x2C, 0xD4, 0x6B, 
                /* 0408 */    0x95, 0x0F, 0x5D, 0x30, 0xFE, 0xFF, 0x87, 0x2E, 
                /* 0410 */    0x38, 0x27, 0x01, 0x8F, 0x9B, 0x0F, 0xCF, 0x67, 
                /* 0418 */    0x10, 0x4F, 0xE6, 0xF4, 0x5E, 0x41, 0xDE, 0x0B, 
                /* 0420 */    0x7C, 0x73, 0xF5, 0xF9, 0xD5, 0xB7, 0x02, 0x3E, 
                /* 0428 */    0xF3, 0x58, 0x67, 0xE8, 0x23, 0x12, 0x1B, 0x33, 
                /* 0430 */    0xEE, 0x84, 0x05, 0x9C, 0x8E, 0x51, 0x00, 0x2F, 
                /* 0438 */    0x0E, 0x02, 0x3E, 0x46, 0x81, 0xE1, 0xD2, 0xF0, 
                /* 0440 */    0x0C, 0x80, 0x7C, 0x1B, 0xE8, 0xFF, 0x7F, 0x2E, 
                /* 0448 */    0xE0, 0x87, 0x16, 0x7E, 0x0E, 0x06, 0x97, 0x90, 
                /* 0450 */    0xA3, 0x0B, 0x3D, 0x2C, 0xE2, 0x8E, 0xD3, 0xB0, 
                /* 0458 */    0x0F, 0x1B, 0x98, 0x33, 0x0A, 0xF0, 0x3F, 0x57, 
                /* 0460 */    0xE0, 0xA0, 0x71, 0x88, 0x2F, 0x13, 0xAF, 0xA8, 
                /* 0468 */    0x1E, 0xCA, 0xF9, 0xE1, 0xCE, 0x0B, 0x0C, 0xEB, 
                /* 0470 */    0xA5, 0xE4, 0x3D, 0x95, 0xDF, 0x1F, 0x62, 0x1C, 
                /* 0478 */    0xF4, 0x41, 0x62, 0x07, 0xC1, 0xC3, 0x9D, 0x83, 
                /* 0480 */    0x50, 0x71, 0xCE, 0x41, 0xE8, 0x28, 0x34, 0xB2, 
                /* 0488 */    0x30, 0x7A, 0x7E, 0x0E, 0x42, 0x1D, 0x0A, 0xD9, 
                /* 0490 */    0x39, 0x08, 0xCE, 0xE9, 0x00, 0x2B, 0x1F, 0xC6, 
                /* 0498 */    0x0F, 0x2D, 0x1F, 0xB5, 0xE8, 0x61, 0xC8, 0x33, 
                /* 04A0 */    0xC2, 0x18, 0xBD, 0x6C, 0x09, 0xDD, 0x57, 0x8D, 
                /* 04A8 */    0xE3, 0x7B, 0x00, 0x62, 0x83, 0xE5, 0x23, 0x32, 
                /* 04B0 */    0x84, 0xC7, 0xEE, 0xF3, 0x88, 0x8F, 0x08, 0x1E, 
                /* 04B8 */    0x60, 0xC0, 0xFF, 0xFF, 0x11, 0x54, 0x05, 0xA1, 
                /* 04C0 */    0xB3, 0xEC, 0xE9, 0xF8, 0xD8, 0x11, 0xE5, 0xD1, 
                /* 04C8 */    0x00, 0xCE, 0x78, 0xF8, 0x81, 0xC6, 0x27, 0x0F, 
                /* 04D0 */    0x70, 0xDC, 0x72, 0x60, 0x5C, 0x93, 0xC0, 0x70, 
                /* 04D8 */    0x4C, 0x02, 0x1C, 0x84, 0x39, 0x26, 0xA1, 0xE4, 
                /* 04E0 */    0x1F, 0x93, 0xD0, 0xD2, 0x81, 0x74, 0x84, 0xF7, 
                /* 04E8 */    0xD9, 0x15, 0xEC, 0xC7, 0xA2, 0xE7, 0xA1, 0xE3, 
                /* 04F0 */    0x79, 0x5B, 0x35, 0xCA, 0xA9, 0xD5, 0x76, 0x38, 
                /* 04F8 */    0x22, 0x18, 0x2F, 0x0A, 0x91, 0x9E, 0x5D, 0x8D, 
                /* 0500 */    0xE4, 0x03, 0x2C, 0x3B, 0x15, 0x19, 0x27, 0xCA, 
                /* 0508 */    0x7B, 0x52, 0x54, 0x43, 0x3F, 0xCC, 0x3C, 0xEC, 
                /* 0510 */    0x1A, 0xCA, 0x48, 0x21, 0x1F, 0x8E, 0xF0, 0x47, 
                /* 0518 */    0x27, 0x58, 0xC3, 0x01, 0xCB, 0xFF, 0x7F, 0x38, 
                /* 0520 */    0xE0, 0x3E, 0x1D, 0xE0, 0x86, 0xE3, 0xF3, 0x8B, 
                /* 0528 */    0x4F, 0x5A, 0xB8, 0xA3, 0xBB, 0x0F, 0x4B, 0xEC, 
                /* 0530 */    0x20, 0x11, 0xFE, 0xD9, 0xC0, 0x57, 0x70, 0xE3, 
                /* 0538 */    0xBC, 0x13, 0xBC, 0x34, 0xBC, 0x65, 0xF8, 0x94, 
                /* 0540 */    0x04, 0xF0, 0x63, 0x38, 0x5C, 0xD2, 0xB1, 0x02, 
                /* 0548 */    0x25, 0xE2, 0x58, 0x81, 0x16, 0x00, 0x24, 0x0D, 
                /* 0550 */    0xE7, 0x0B, 0x43, 0xA1, 0x0E, 0x31, 0x3E, 0xBA, 
                /* 0558 */    0xF8, 0x70, 0xF6, 0x10, 0x03, 0x63, 0x64, 0x1C, 
                /* 0560 */    0xCD, 0x23, 0xF3, 0xFF, 0x1F, 0xA5, 0xF7, 0xF1, 
                /* 0568 */    0x0B, 0xF1, 0x05, 0xF9, 0x94, 0x61, 0x43, 0xBF, 
                /* 0570 */    0x26, 0x70, 0x7B, 0x02, 0x14, 0x5D, 0x13, 0xA0, 
                /* 0578 */    0x03, 0x3E, 0x39, 0x60, 0x5D, 0x9C, 0xE1, 0xD0, 
                /* 0580 */    0x47, 0x55, 0xF0, 0x4C, 0xFC, 0x10, 0x30, 0x87, 
                /* 0588 */    0x1F, 0x0F, 0x81, 0x1F, 0x09, 0x7C, 0x02, 0xF0, 
                /* 0590 */    0xE1, 0x16, 0x1E, 0x38, 0xEE, 0x90, 0x0A, 0x78, 
                /* 0598 */    0x96, 0x40, 0x4E, 0x8F, 0x0C, 0x0E, 0x7D, 0x78, 
                /* 05A0 */    0xA0, 0x30, 0x66, 0xF1, 0x19, 0x0D, 0xEE, 0xFF, 
                /* 05A8 */    0xFF, 0x8C, 0xC6, 0xCF, 0xED, 0xB8, 0x33, 0x8A, 
                /* 05B0 */    0x6F, 0x5C, 0x11, 0xDE, 0x5F, 0xD8, 0x01, 0x86, 
                /* 05B8 */    0x8D, 0xEF, 0xCD, 0xC5, 0x40, 0x4F, 0x2D, 0x31, 
                /* 05C0 */    0x9E, 0x22, 0x7D, 0x71, 0x31, 0xC4, 0x69, 0x3D, 
                /* 05C8 */    0x4A, 0xF2, 0x2B, 0x8C, 0xAF, 0x2E, 0x3E, 0x1A, 
                /* 05D0 */    0x3C, 0xE9, 0xFB, 0x28, 0x69, 0xAC, 0x47, 0x49, 
                /* 05D8 */    0x43, 0x45, 0x8B, 0xF5, 0xDA, 0x6F, 0xA0, 0x07, 
                /* 05E0 */    0x18, 0x2E, 0xF4, 0x74, 0x41, 0x83, 0x9C, 0xB1, 
                /* 05E8 */    0x50, 0x63, 0xF5, 0xD0, 0x7C, 0x1C, 0xF0, 0x35, 
                /* 05F0 */    0xE0, 0x71, 0xC0, 0xF3, 0xF2, 0x65, 0x20, 0xC4, 
                /* 05F8 */    0xCB, 0xC0, 0x23, 0xC0, 0xA9, 0xFB, 0x26, 0xF0, 
                /* 0600 */    0xC0, 0xE2, 0x43, 0x82, 0x0F, 0x2F, 0x1E, 0xA6, 
                /* 0608 */    0xD9, 0x7D, 0x6A, 0xE0, 0xA3, 0x33, 0x7A, 0xC4, 
                /* 0610 */    0xE7, 0x21, 0x0F, 0x82, 0x1D, 0xF0, 0x7D, 0x5E, 
                /* 0618 */    0xC0, 0x0E, 0xE8, 0x24, 0x9F, 0x05, 0x5E, 0xD7, 
                /* 0620 */    0x9A, 0xBD, 0xA8, 0x91, 0x23, 0x97, 0xEF, 0x68, 
                /* 0628 */    0x7C, 0x28, 0xCF, 0x65, 0x64, 0x50, 0xE8, 0xC3, 
                /* 0630 */    0x85, 0x07, 0x05, 0xE7, 0xCC, 0x60, 0xE3, 0xE7, 
                /* 0638 */    0x09, 0x41, 0x9D, 0x8C, 0x07, 0xC3, 0x46, 0x05, 
                /* 0640 */    0xBC, 0x8E, 0x76, 0xB8, 0x73, 0x20, 0xCC, 0xDB, 
                /* 0648 */    0x09, 0x07, 0x3B, 0x38, 0x38, 0x90, 0x8F, 0x19, 
                /* 0650 */    0x86, 0x38, 0xB9, 0x30, 0x0F, 0x17, 0xF8, 0xFF, 
                /* 0658 */    0xFF, 0x71, 0x10, 0x30, 0x75, 0x10, 0xF3, 0x99, 
                /* 0660 */    0xC4, 0x10, 0x07, 0x89, 0x1F, 0x04, 0x0F, 0xB2, 
                /* 0668 */    0x26, 0x1A, 0xF5, 0x70, 0x66, 0x18, 0x14, 0x8B, 
                /* 0670 */    0xCF, 0x08, 0x3E, 0x16, 0xF0, 0x83, 0x8F, 0x27, 
                /* 0678 */    0xF2, 0x60, 0xF6, 0x8C, 0xC2, 0x8F, 0x7C, 0x3E, 
                /* 0680 */    0x18, 0xF0, 0xB3, 0x07, 0x38, 0x02, 0x9C, 0x3D, 
                /* 0688 */    0x20, 0x5F, 0xC1, 0x5E, 0x38, 0x9E, 0x3C, 0x42, 
                /* 0690 */    0x04, 0x79, 0xF2, 0xF0, 0x6D, 0xE3, 0xD9, 0xC3, 
                /* 0698 */    0x70, 0x8F, 0x1D, 0x6F, 0x1F, 0x3E, 0x7B, 0x18, 
                /* 06A0 */    0xE6, 0xD9, 0xC3, 0x68, 0x11, 0xA2, 0x3C, 0x1D, 
                /* 06A8 */    0x3C, 0x7B, 0xB0, 0x53, 0x88, 0x11, 0x42, 0x1E, 
                /* 06B0 */    0x6F, 0xD8, 0x97, 0x31, 0x06, 0xF2, 0xEC, 0xF1, 
                /* 06B8 */    0x54, 0x74, 0xEE, 0xE7, 0xF3, 0x5A, 0x83, 0x27, 
                /* 06C0 */    0x18, 0xE8, 0x00, 0x42, 0xE3, 0x0C, 0x09, 0x75, 
                /* 06C8 */    0x04, 0xF0, 0x98, 0x7C, 0x20, 0xC3, 0x9D, 0x98, 
                /* 06D0 */    0x3C, 0x46, 0x9F, 0x2A, 0xE0, 0xFE, 0xFF, 0x47, 
                /* 06D8 */    0x0B, 0xE7, 0xA0, 0x10, 0xEF, 0x65, 0xE0, 0x31, 
                /* 06E0 */    0xD9, 0x07, 0x1D, 0xF6, 0x98, 0xF2, 0xF1, 0x02, 
                /* 06E8 */    0x7C, 0x11, 0xC6, 0x85, 0x3E, 0x4A, 0x78, 0xB0, 
                /* 06F0 */    0xEF, 0x14, 0x1E, 0x61, 0x50, 0xDF, 0x8E, 0x5E, 
                /* 06F8 */    0x80, 0x30, 0xE7, 0x0F, 0xE0, 0x15, 0x68, 0x44, 
                /* 0700 */    0x68, 0x68, 0x36, 0x89, 0xE3, 0xC1, 0x8D, 0x1C, 
                /* 0708 */    0x78, 0x9C, 0x33, 0x3C, 0x30, 0xF0, 0x1D, 0x42, 
                /* 0710 */    0xC1, 0x31, 0x02, 0x76, 0xF0, 0xF0, 0x69, 0x83, 
                /* 0718 */    0x5D, 0xA8, 0xD8, 0x79, 0xD6, 0xA7, 0x0A, 0x9F, 
                /* 0720 */    0x1B, 0x7C, 0x21, 0x7B, 0xE0, 0xF2, 0x69, 0xE1, 
                /* 0728 */    0xA9, 0x0A, 0xAC, 0xFF, 0xFF, 0x53, 0x15, 0x70, 
                /* 0730 */    0x13, 0xF9, 0x6E, 0xF6, 0x69, 0x85, 0xCA, 0x82, 
                /* 0738 */    0x41, 0x9D, 0x15, 0x7C, 0x28, 0xC1, 0x1F, 0x3E, 
                /* 0740 */    0x7D, 0x28, 0x01, 0x6F, 0x58, 0x42, 0xA9, 0x38, 
                /* 0748 */    0xAD, 0x18, 0x42, 0x56, 0x0E, 0x0B, 0xA8, 0x91, 
                /* 0750 */    0x78, 0x5E, 0xAF, 0x08, 0xBE, 0x1B, 0xF9, 0x6A, 
                /* 0758 */    0x60, 0xF4, 0x87, 0xC7, 0x27, 0x1F, 0x5F, 0xEF, 
                /* 0760 */    0xD8, 0x98, 0x0E, 0xFE, 0xD9, 0x83, 0x1F, 0xE4, 
                /* 0768 */    0x7C, 0x0C, 0xF4, 0x09, 0x01, 0xFE, 0x6D, 0xC9, 
                /* 0770 */    0x47, 0x55, 0x5F, 0x4E, 0x4E, 0xDB, 0xA3, 0x81, 
                /* 0778 */    0x35, 0x0C, 0x7E, 0x3B, 0x61, 0xC7, 0x7F, 0x8F, 
                /* 0780 */    0x06, 0x58, 0xDF, 0x3B, 0xD9, 0x91, 0xCC, 0x08, 
                /* 0788 */    0x8F, 0x0B, 0x0F, 0x06, 0x6C, 0x34, 0xF8, 0xFF, 
                /* 0790 */    0xFF, 0x68, 0xC0, 0x7D, 0x0E, 0x80, 0x33, 0x1A, 
                /* 0798 */    0xE0, 0x32, 0xC2, 0xA3, 0xC1, 0x9E, 0x19, 0x3C, 
                /* 07A0 */    0x1A, 0x38, 0x3E, 0xCF, 0x0F, 0x52, 0x7D, 0xC8, 
                /* 07A8 */    0xA6, 0x83, 0x01, 0x3E, 0xC7, 0x00, 0x38, 0x83, 
                /* 07B0 */    0x01, 0x1E, 0x47, 0x5D, 0x9F, 0xD3, 0xC0, 0x76, 
                /* 07B8 */    0x82, 0x60, 0x07, 0x15, 0xE0, 0xF2, 0xFF, 0x3F, 
                /* 07C0 */    0xA8, 0x80, 0x53, 0xF4, 0x09, 0x0D, 0x74, 0x27, 
                /* 07C8 */    0x1C, 0xF0, 0x8E, 0x84, 0x47, 0x78, 0x07, 0xF8, 
                /* 07D0 */    0xFC, 0x42, 0x45, 0xC3, 0xA0, 0x8E, 0x30, 0xC0, 
                /* 07D8 */    0x47, 0xCA, 0x38, 0xF4, 0xB3, 0xF1, 0x39, 0x00, 
                /* 07E0 */    0x77, 0x2C, 0x00, 0xD7, 0x70, 0x0F, 0xE2, 0x1D, 
                /* 07E8 */    0xF8, 0x4D, 0xEB, 0x0C, 0x0D, 0xF1, 0x64, 0x00, 
                /* 07F0 */    0xEC, 0xC7, 0x83, 0x3B, 0x19, 0xC0, 0xFD, 0xFF, 
                /* 07F8 */    0x9F, 0x0C, 0xF8, 0x51, 0x02, 0xDE, 0x39, 0x10, 
                /* 0800 */    0x71, 0x1C, 0x40, 0x49, 0x3F, 0x11, 0x00, 0x35, 
                /* 0808 */    0x41, 0x27, 0x02, 0x7A, 0xDC, 0x04, 0xE3, 0xE8, 
                /* 0810 */    0xD8, 0x94, 0x5F, 0x21, 0x30, 0xA7, 0x47, 0x5F, 
                /* 0818 */    0xD0, 0x1E, 0x0A, 0x00, 0xAB, 0x91, 0x17, 0x44, 
                /* 0820 */    0x81, 0x1C, 0x12, 0x46, 0xA7, 0x76, 0x5C, 0x40, 
                /* 0828 */    0x20, 0x9D, 0xF0, 0x3C, 0x34, 0x8B, 0x58, 0x8F, 
                /* 0830 */    0x8F, 0x05, 0x74, 0xB4, 0x3E, 0x66, 0xE3, 0xFF, 
                /* 0838 */    0xFF, 0x87, 0x62, 0x02, 0x8F, 0xE2, 0xF5, 0x38, 
                /* 0840 */    0xF9, 0xA9, 0xCF, 0xA7, 0x03, 0x5F, 0x4C, 0x7C, 
                /* 0848 */    0x06, 0xF0, 0x21, 0x81, 0x5F, 0x4C, 0xD8, 0xC5, 
                /* 0850 */    0xE0, 0x79, 0xE8, 0x9D, 0xE7, 0xF5, 0xC0, 0xE3, 
                /* 0858 */    0xC1, 0x1D, 0x17, 0xC9, 0x09, 0x98, 0xC2, 0xFB, 
                /* 0860 */    0xEC, 0xE2, 0xC3, 0xAF, 0x0F, 0x0D, 0xEF, 0x3B, 
                /* 0868 */    0x8F, 0x0A, 0xE1, 0xCF, 0xF3, 0xC9, 0xDC, 0x46, 
                /* 0870 */    0x0F, 0x48, 0xE4, 0xCC, 0x67, 0x34, 0x13, 0xF8, 
                /* 0878 */    0xFE, 0xE9, 0x21, 0x18, 0xC2, 0x87, 0x20, 0x63, 
                /* 0880 */    0xBD, 0x2B, 0xFB, 0x24, 0xC4, 0xF6, 0x50, 0x15, 
                /* 0888 */    0x84, 0x06, 0x7C, 0x7A, 0xBE, 0x26, 0x44, 0x79, 
                /* 0890 */    0x28, 0xF2, 0x25, 0xC1, 0xD3, 0x8E, 0x17, 0x32, 
                /* 0898 */    0x48, 0xD8, 0x47, 0x56, 0x6C, 0x8C, 0x11, 0xA1, 
                /* 08A0 */    0x0E, 0xF3, 0x3E, 0x26, 0x79, 0x44, 0x9E, 0xC0, 
                /* 08A8 */    0xD1, 0xF8, 0xF8, 0xC4, 0x8E, 0xB0, 0x6C, 0x4C, 
                /* 08B0 */    0xC0, 0x70, 0x0C, 0x3E, 0x51, 0xE2, 0xCE, 0x1E, 
                /* 08B8 */    0xBE, 0x2C, 0xBC, 0xA4, 0xFA, 0x7C, 0x8F, 0x9B, 
                /* 08C0 */    0x93, 0x87, 0x04, 0xE3, 0x54, 0x80, 0x3B, 0x5E, 
                /* 08C8 */    0xE0, 0x8E, 0x01, 0x3E, 0xEF, 0xC3, 0xBB, 0x15, 
                /* 08D0 */    0x9C, 0xEA, 0x81, 0xBC, 0x60, 0x78, 0x00, 0x60, 
                /* 08D8 */    0xF9, 0xFF, 0x0F, 0x80, 0x9F, 0x18, 0x02, 0x1D, 
                /* 08E0 */    0x80, 0xAF, 0x17, 0x4F, 0x14, 0x8F, 0x14, 0xF1, 
                /* 08E8 */    0x4E, 0xC0, 0xD0, 0xFC, 0xE0, 0x80, 0x1B, 0xA0, 
                /* 08F0 */    0x8F, 0x11, 0x1E, 0x00, 0x1E, 0xF8, 0x28, 0x23, 
                /* 08F8 */    0x9D, 0xB3, 0xEF, 0xFD, 0xD8, 0x41, 0xC1, 0x39, 
                /* 0900 */    0x73, 0xE0, 0x7E, 0x06, 0x3E, 0x19, 0x78, 0x10, 
                /* 0908 */    0xF8, 0xB3, 0xAB, 0x4F, 0x03, 0x1E, 0xB7, 0x09, 
                /* 0910 */    0x3C, 0x2C, 0x38, 0x07, 0x50, 0x70, 0x00, 0xB1, 
                /* 0918 */    0x6B, 0x01, 0xBF, 0x6F, 0xE0, 0x6F, 0x0D, 0x3E, 
                /* 0920 */    0x93, 0x3E, 0x54, 0xB1, 0xE1, 0x61, 0x0F, 0xA0, 
                /* 0928 */    0x80, 0x03, 0x39, 0x47, 0x21, 0x0A, 0x44, 0x60, 
                /* 0930 */    0x74, 0x14, 0xC1, 0x85, 0x87, 0xD0, 0xD1, 0xC7, 
                /* 0938 */    0x07, 0x0B, 0x9F, 0xA9, 0x71, 0x23, 0xF1, 0x00, 
                /* 0940 */    0x9F, 0x98, 0x31, 0x20, 0xC7, 0x79, 0x2E, 0x67, 
                /* 0948 */    0xF4, 0x5C, 0xF7, 0x50, 0xFD, 0x44, 0x80, 0x3B, 
                /* 0950 */    0xCF, 0xF1, 0xFF, 0xFF, 0xF8, 0xE1, 0x8F, 0x81, 
                /* 0958 */    0xCF, 0xE0, 0xB9, 0xE0, 0x7D, 0xC5, 0xB3, 0xF0, 
                /* 0960 */    0xB8, 0x01, 0x07, 0xD1, 0xC6, 0x4D, 0xC3, 0x41, 
                /* 0968 */    0x28, 0x0C, 0x0C, 0x6A, 0x10, 0xBE, 0x1D, 0x7B, 
                /* 0970 */    0x60, 0xB8, 0xE3, 0x34, 0xBC, 0x29, 0x45, 0x3B, 
                /* 0978 */    0xA6, 0x17, 0x8A, 0xB7, 0x06, 0x3C, 0xD2, 0xCB, 
                /* 0980 */    0x0E, 0x66, 0xC0, 0xBE, 0x3F, 0x44, 0x7A, 0x4F, 
                /* 0988 */    0xC1, 0xCC, 0xF1, 0x91, 0x83, 0x1F, 0xE2, 0xB1, 
                /* 0990 */    0xD3, 0xF5, 0x84, 0x4F, 0xC2, 0x20, 0x3E, 0x60, 
                /* 0998 */    0xF9, 0xB4, 0x05, 0xEB, 0xFE, 0x78, 0xA0, 0xCF, 
                /* 09A0 */    0x18, 0x3E, 0x75, 0xB0, 0xD3, 0x96, 0x03, 0x43, 
                /* 09A8 */    0xD2, 0xA3, 0x08, 0xEE, 0xB4, 0x05, 0x73, 0xFE, 
                /* 09B0 */    0xBE, 0xB8, 0xBF, 0x37, 0x79, 0x50, 0x07, 0xF6, 
                /* 09B8 */    0x44, 0x14, 0xE8, 0xF8, 0x9E, 0xE7, 0x3C, 0x52, 
                /* 09C0 */    0xA3, 0xBC, 0x81, 0x84, 0x7A, 0x33, 0x60, 0x27, 
                /* 09C8 */    0x30, 0xEC, 0xD1, 0x00, 0xDE, 0xFF, 0xFF, 0x68, 
                /* 09D0 */    0x00, 0x1F, 0xE4, 0x05, 0x02, 0x7B, 0x3A, 0x00, 
                /* 09D8 */    0x77, 0xB0, 0xA3, 0x01, 0x2A, 0xCA, 0xE9, 0x00, 
                /* 09E0 */    0xD0, 0x17, 0x17, 0x92, 0x42, 0x3D, 0x1D, 0x80, 
                /* 09E8 */    0x63, 0x22, 0xBE, 0xD1, 0x60, 0xA6, 0xE9, 0x49, 
                /* 09F0 */    0x3C, 0x1D, 0xC4, 0x3A, 0x4F, 0x8F, 0xF0, 0x91, 
                /* 09F8 */    0x8C, 0x1F, 0x0E, 0x80, 0xF3, 0xFF, 0xFF, 0x40, 
                /* 0A00 */    0x03, 0xF9, 0x9D, 0xE8, 0xB3, 0x9C, 0x29, 0x0C, 
                /* 0A08 */    0x83, 0x1A, 0x84, 0x83, 0x1C, 0x0E, 0x40, 0x33, 
                /* 0A10 */    0xCA, 0x17, 0xB6, 0x07, 0x21, 0xDF, 0x09, 0x02, 
                /* 0A18 */    0x9E, 0xAA, 0x4F, 0x06, 0xBE, 0x16, 0xE0, 0x60, 
                /* 0A20 */    0x5E, 0xCA, 0x8C, 0x1C, 0xC3, 0xD3, 0x36, 0xA0, 
                /* 0A28 */    0x71, 0xB1, 0x38, 0x3E, 0xB8, 0x32, 0x90, 0x38, 
                /* 0A30 */    0xE7, 0x10, 0x2B, 0x48, 0x60, 0xDF, 0xF0, 0xB0, 
                /* 0A38 */    0xE7, 0x04, 0xE0, 0x72, 0x1C, 0xF2, 0x39, 0x08, 
                /* 0A40 */    0x7F, 0x28, 0x81, 0x0D, 0x7F, 0x6E, 0xFC, 0x88, 
                /* 0A48 */    0x00, 0xB8, 0x18, 0x12, 0xEE, 0x34, 0x09, 0xEF, 
                /* 0A50 */    0xFF, 0x7F, 0x9A, 0xC4, 0xC1, 0x19, 0xAB, 0xF8, 
                /* 0A58 */    0x33, 0x17, 0x39, 0xC8, 0x78, 0x40, 0x4F, 0xC6, 
                /* 0A60 */    0x1E, 0x27, 0x76, 0x10, 0x5C, 0xBA, 0x87, 0xB3, 
                /* 0A68 */    0x00, 0x3D, 0x36, 0x48, 0x2C, 0x0C, 0x6A, 0x64, 
                /* 0A70 */    0x0E, 0x78, 0x00, 0xD0, 0xB9, 0x01, 0x3C, 0x77, 
                /* 0A78 */    0x04, 0x9F, 0x51, 0x7C, 0xE4, 0x30, 0xC4, 0xCB, 
                /* 0A80 */    0x9A, 0x0F, 0x65, 0x71, 0x7D, 0x76, 0xE6, 0x87, 
                /* 0A88 */    0x9C, 0x07, 0x06, 0x1F, 0x1E, 0x60, 0x1C, 0xDD, 
                /* 0A90 */    0x38, 0xD0, 0xA9, 0xF9, 0x00, 0x0D, 0x03, 0xEC, 
                /* 0A98 */    0x8D, 0xD6, 0x87, 0x1E, 0x1F, 0x26, 0x7C, 0x78, 
                /* 0AA0 */    0xF0, 0x44, 0xF0, 0x53, 0x60, 0x57, 0x78, 0x63, 
                /* 0AA8 */    0x45, 0xF1, 0x15, 0xE2, 0x41, 0xC2, 0xC8, 0xE7, 
                /* 0AB0 */    0xE2, 0x73, 0xA2, 0xA1, 0x1F, 0xE8, 0xF8, 0x18, 
                /* 0AB8 */    0x3C, 0x09, 0x63, 0x3D, 0x6C, 0xFA, 0xE8, 0x86, 
                /* 0AC0 */    0xBB, 0x1E, 0xC4, 0x7A, 0x9D, 0xF1, 0x48, 0x3C, 
                /* 0AC8 */    0x1F, 0xDF, 0x89, 0x82, 0x9C, 0x4D, 0x64, 0x4F, 
                /* 0AD0 */    0xC2, 0xF3, 0xF3, 0x9D, 0xC6, 0xE3, 0x60, 0xD7, 
                /* 0AD8 */    0xE6, 0x73, 0xF5, 0xB4, 0xD8, 0x1C, 0x60, 0x1D, 
                /* 0AE0 */    0x35, 0x8C, 0x73, 0x64, 0x0C, 0xF9, 0xAD, 0x2F, 
                /* 0AE8 */    0xA4, 0x6F, 0x1B, 0x46, 0xC7, 0x8D, 0xD1, 0xC7, 
                /* 0AF0 */    0x25, 0x43, 0xFB, 0xA6, 0x63, 0x84, 0xA3, 0xF1, 
                /* 0AF8 */    0xA0, 0x0D, 0xF1, 0x22, 0xEA, 0x39, 0x78, 0x30, 
                /* 0B00 */    0xEC, 0x82, 0xC0, 0x6E, 0x00, 0x3E, 0x6C, 0x32, 
                /* 0B08 */    0xA4, 0x33, 0x78, 0x02, 0xF0, 0xC4, 0xD8, 0x20, 
                /* 0B10 */    0xD8, 0x10, 0xFE, 0xFF, 0x67, 0x86, 0x3D, 0xFA, 
                /* 0B18 */    0x00, 0x23, 0x89, 0x16, 0x20, 0x6A, 0x38, 0x99, 
                /* 0B20 */    0xD1, 0x53, 0x29, 0x3F, 0x52, 0x18, 0xDE, 0xC7, 
                /* 0B28 */    0x05, 0x38, 0xF3, 0x78, 0xE3, 0xF0, 0x45, 0xEE, 
                /* 0B30 */    0x7D, 0xD1, 0xA7, 0x26, 0x0B, 0x06, 0xD7, 0x49, 
                /* 0B38 */    0x9A, 0x9C, 0x22, 0x40, 0x33, 0x0A, 0x18, 0x73, 
                /* 0B40 */    0x0C, 0xDA, 0xD4, 0xF9, 0x85, 0xCE, 0xDB, 0x37, 
                /* 0B48 */    0x00, 0x0F, 0xD7, 0x47, 0x05, 0x4F, 0xD7, 0x97, 
                /* 0B50 */    0x56, 0x06, 0xF6, 0x0A, 0xC0, 0x5C, 0xC3, 0x68, 
                /* 0B58 */    0x0A, 0x2F, 0x03, 0xE7, 0xED, 0x3B, 0x03, 0x3B, 
                /* 0B60 */    0x24, 0x60, 0xCE, 0x0E, 0xD8, 0x63, 0x80, 0x41, 
                /* 0B68 */    0xD8, 0x1C, 0x18, 0xB8, 0xE7, 0xE1, 0xB3, 0x81, 
                /* 0B70 */    0xC7, 0xE7, 0x81, 0x18, 0xEE, 0x01, 0xC3, 0x57, 
                /* 0B78 */    0x02, 0x4F, 0xE9, 0xFD, 0x06, 0x73, 0x5D, 0x80, 
                /* 0B80 */    0x33, 0x16, 0x76, 0x60, 0xE0, 0xC7, 0x08, 0x5F, 
                /* 0B88 */    0x49, 0x7C, 0x1E, 0xF4, 0x91, 0x82, 0xA9, 0x43, 
                /* 0B90 */    0xD2, 0x7D, 0xD3, 0xF7, 0x13, 0xCF, 0xFB, 0x01, 
                /* 0B98 */    0xE5, 0x89, 0xE0, 0x84, 0xDF, 0x05, 0x9E, 0x5D, 
                /* 0BA0 */    0x0E, 0xFE, 0x31, 0x06, 0x43, 0xE0, 0xBB, 0xCB, 
                /* 0BA8 */    0xD3, 0x0D, 0xF6, 0x50, 0xF0, 0x5E, 0x11, 0x2E, 
                /* 0BB0 */    0x6E, 0xB3, 0x97, 0x15, 0x72, 0xC6, 0xF5, 0x3D, 
                /* 0BB8 */    0x85, 0x4F, 0x2A, 0x81, 0xFF, 0xFF, 0xD2, 0xDF, 
                /* 0BC0 */    0x01, 0x3A, 0x16, 0xE0, 0xCE, 0x0B, 0x3E, 0x16, 
                /* 0BC8 */    0xC0, 0x39, 0xC8, 0x79, 0xC0, 0x38, 0x02, 0x8B, 
                /* 0BD0 */    0x83, 0xD7, 0xAF, 0x89, 0x8C, 0xC0, 0xE7, 0x02, 
                /* 0BD8 */    0x50, 0xCC, 0xEC, 0xE1, 0xC2, 0x77, 0x12, 0x78, 
                /* 0BE0 */    0x07, 0x03, 0xCC, 0x15, 0x04, 0xC6, 0xCD, 0x04, 
                /* 0BE8 */    0xCE, 0x09, 0x80, 0x5D, 0x57, 0xF8, 0x3D, 0x00, 
                /* 0BF0 */    0xF6, 0x05, 0x84, 0x21, 0xB2, 0x4B, 0x88, 0xAF, 
                /* 0BF8 */    0x0B, 0x70, 0x8E, 0x07, 0x98, 0xDB, 0x08, 0x3B, 
                /* 0C00 */    0x24, 0xB0, 0x2B, 0x81, 0x4F, 0x58, 0x98, 0x69, 
                /* 0C08 */    0x61, 0xEF, 0x24, 0x3E, 0x22, 0xFB, 0xAE, 0xEF, 
                /* 0C10 */    0x79, 0x18, 0x9D, 0x1F, 0x4B, 0x18, 0x8E, 0xE7, 
                /* 0C18 */    0xF5, 0x74, 0x85, 0x9D, 0x2D, 0x87, 0x38, 0x5B, 
                /* 0C20 */    0x7E, 0x10, 0xE5, 0x97, 0x13, 0x0E, 0x8C, 0xB9, 
                /* 0C28 */    0x00, 0x18, 0xC5, 0xA3, 0xF1, 0xE8, 0xE1, 0x40, 
                /* 0C30 */    0x9D, 0xB5, 0xC7, 0x62, 0xA8, 0x43, 0x79, 0x7B, 
                /* 0C38 */    0x36, 0xE2, 0x49, 0xF8, 0x58, 0x81, 0x99, 0x17, 
                /* 0C40 */    0x9B, 0x33, 0x9B, 0x18, 0x66, 0x54, 0xB8, 0xAB, 
                /* 0C48 */    0xC2, 0xFF, 0xFF, 0x85, 0x04, 0xFE, 0x41, 0x83, 
                /* 0C50 */    0xDD, 0x01, 0x7C, 0x94, 0x61, 0xC7, 0x31, 0x4F, 
                /* 0C58 */    0x82, 0x41, 0x46, 0x7A, 0x78, 0x61, 0xA7, 0x09, 
                /* 0C60 */    0xF0, 0x1D, 0xAB, 0x70, 0xC7, 0x30, 0x98, 0x07, 
                /* 0C68 */    0x7E, 0xDC, 0xC1, 0x09, 0xF6, 0x69, 0x0C, 0xB0, 
                /* 0C70 */    0x78, 0xA6, 0xF0, 0x1D, 0xCF, 0xC7, 0x7A, 0x8F, 
                /* 0C78 */    0x13, 0x3B, 0x08, 0x1E, 0xFB, 0xF4, 0x49, 0x4F, 
                /* 0C80 */    0x84, 0x0E, 0x0A, 0x83, 0x3A, 0x14, 0x82, 0x15, 
                /* 0C88 */    0x83, 0xFD, 0xFF, 0xCF, 0x54, 0xEC, 0xEC, 0xE5, 
                /* 0C90 */    0x13, 0x37, 0xBF, 0xE9, 0x33, 0xA0, 0x67, 0x27, 
                /* 0C98 */    0xDF, 0x7C, 0xD8, 0x79, 0x0C, 0x73, 0x24, 0xE4, 
                /* 0CA0 */    0xF7, 0x86, 0xB3, 0xF0, 0x81, 0x84, 0xDD, 0x09, 
                /* 0CA8 */    0xE1, 0x9C, 0xA0, 0x80, 0x4D, 0x6C, 0x48, 0x7A, 
                /* 0CB0 */    0x58, 0x07, 0xC7, 0x79, 0x82, 0x1D, 0x06, 0x7C, 
                /* 0CB8 */    0x02, 0x60, 0xE7, 0x74, 0x76, 0xC4, 0xF3, 0xD5, 
                /* 0CC0 */    0xC3, 0x27, 0x57, 0x9F, 0xDD, 0x60, 0x9C, 0x47, 
                /* 0CC8 */    0x01, 0x27, 0xD2, 0x0E, 0xA3, 0x28, 0x31, 0xE7, 
                /* 0CD0 */    0x51, 0x20, 0x70, 0x56, 0x80, 0xF9, 0xFF, 0x3F, 
                /* 0CD8 */    0x2B, 0x00, 0x3E, 0xA4, 0x9D, 0x47, 0xE9, 0xC1, 
                /* 0CE0 */    0x1E, 0x1C, 0x27, 0x17, 0xEC, 0xC4, 0xD8, 0x19, 
                /* 0CE8 */    0x01, 0x70, 0x71, 0x1F, 0x78, 0x66, 0x01, 0xDB, 
                /* 0CF0 */    0xF9, 0x02, 0xBC, 0x23, 0xE1, 0x82, 0x8E, 0x0E, 
                /* 0CF8 */    0x28, 0x09, 0xA7, 0x07, 0xD0, 0xFC, 0xFF, 0x4F, 
                /* 0D00 */    0x0F, 0x80, 0x43, 0x41, 0xA7, 0x07, 0x3A, 0x9B, 
                /* 0D08 */    0xA7, 0x07, 0xB0, 0x1E, 0x09, 0x0E, 0xF0, 0xC5, 
                /* 0D10 */    0xED, 0x74, 0xDE, 0x02, 0x0C, 0xF1, 0x00, 0x01, 
                /* 0D18 */    0x98, 0x18, 0x24, 0xEE, 0x00, 0x01, 0x8E, 0x43, 
                /* 0D20 */    0x07, 0xBC, 0x11, 0x70, 0xC1, 0xA7, 0x06, 0x2A, 
                /* 0D28 */    0x66, 0xF0, 0x92, 0x08, 0x43, 0xFF, 0xFF, 0x30, 
                /* 0D30 */    0x1E, 0x96, 0x23, 0x1E, 0x1C, 0x00, 0x15, 0x48, 
                /* 0D38 */    0x7D, 0xDD, 0x88, 0x29, 0xC2, 0x43, 0xE9, 0x73, 
                /* 0D40 */    0x1F, 0xC3, 0xF1, 0xA1, 0xEB, 0xDD, 0xD0, 0x88, 
                /* 0D48 */    0xEC, 0x14, 0x01, 0xFC, 0x64, 0x9D, 0x22, 0xE8, 
                /* 0D50 */    0xD9, 0x0E, 0x8C, 0xB3, 0x64, 0x77, 0x84, 0x57, 
                /* 0D58 */    0x13, 0xCC, 0xA5, 0x98, 0x1D, 0x24, 0x00, 0x2B, 
                /* 0D60 */    0xFF, 0xFF, 0x83, 0x04, 0x70, 0x39, 0x92, 0xF8, 
                /* 0D68 */    0xD0, 0xC8, 0x25, 0xC0, 0xA0, 0x58, 0x7C, 0x2E, 
                /* 0D70 */    0xC0, 0x5F, 0x1E, 0xF0, 0x07, 0x5A, 0x06, 0x31, 
                /* 0D78 */    0xEA, 0x10, 0xE9, 0xDC, 0x1F, 0x07, 0xC0, 0x00, 
                /* 0D80 */    0x12, 0xFD, 0x91, 0xE1, 0xA8, 0xC2, 0x3C, 0xFA, 
                /* 0D88 */    0x62, 0x14, 0x1E, 0x27, 0xE8, 0x29, 0x0D, 0x70, 
                /* 0D90 */    0x22, 0x6F, 0xD4, 0x14, 0xC8, 0x63, 0xE7, 0x03, 
                /* 0D98 */    0x43, 0x1C, 0x26, 0xE8, 0x70, 0xC1, 0x3B, 0xC2, 
                /* 0DA0 */    0x67, 0x8E, 0x77, 0x5C, 0x36, 0x5C, 0xB0, 0xFD, 
                /* 0DA8 */    0xFF, 0x87, 0x0B, 0xDC, 0xC6, 0x88, 0x3B, 0x48, 
                /* 0DB0 */    0x80, 0x65, 0x3A, 0x9E, 0x22, 0x6E, 0x00, 0x98, 
                /* 0DB8 */    0xF8, 0xEB, 0xF6, 0x10, 0x3C, 0x74, 0x89, 0x5E, 
                /* 0DC0 */    0x12, 0x85, 0xF1, 0x3F, 0x5E, 0xE3, 0x20, 0xE7, 
                /* 0DC8 */    0x08, 0x0E, 0xEC, 0x21, 0xB0, 0xB3, 0x0A, 0x06, 
                /* 0DD0 */    0x8E, 0x1F, 0x02, 0x3C, 0xAA, 0xB7, 0xDB, 0xA7, 
                /* 0DD8 */    0x61, 0x76, 0x0C, 0x33, 0x24, 0x1B, 0xA7, 0x87, 
                /* 0DE0 */    0xC2, 0xCF, 0x15, 0x3E, 0xCC, 0xFA, 0x1C, 0x83, 
                /* 0DE8 */    0x1F, 0x05, 0x43, 0xE3, 0xD0, 0xD8, 0x13, 0x0C, 
                /* 0DF0 */    0x03, 0x7B, 0x34, 0x63, 0xE7, 0x09, 0x86, 0x7B, 
                /* 0DF8 */    0x94, 0x4F, 0x00, 0xC7, 0xFF, 0x9A, 0xFA, 0x02, 
                /* 0E00 */    0xC0, 0x09, 0xC2, 0x85, 0xC6, 0xC8, 0x80, 0xD0, 
                /* 0E08 */    0xD8, 0x0F, 0xF9, 0x28, 0xCE, 0xDC, 0x04, 0xDD, 
                /* 0E10 */    0x0F, 0x59, 0xC6, 0x04, 0x78, 0x43, 0x15, 0x42, 
                /* 0E18 */    0x94, 0x67, 0x80, 0x27, 0x91, 0xB6, 0x50, 0x04, 
                /* 0E20 */    0x1F, 0x24, 0x46, 0x94, 0x20, 0xAD, 0xA1, 0x50, 
                /* 0E28 */    0x88, 0x20, 0x31, 0x8F, 0x3C, 0x4A, 0xF0, 0x98, 
                /* 0E30 */    0x41, 0x42, 0x3F, 0x94, 0x04, 0x0A, 0x51, 0x1B, 
                /* 0E38 */    0x8C, 0x10, 0xDE, 0x37, 0xC2, 0xB7, 0x3F, 0x08, 
                /* 0E40 */    0x22, 0xF3, 0xA0, 0x24, 0x0D, 0x20, 0x8A, 0x34, 
                /* 0E48 */    0x1A, 0xD4, 0x81, 0xC0, 0x63, 0xF7, 0x15, 0xCE, 
                /* 0E50 */    0xE7, 0x11, 0x9F, 0x8F, 0xFC, 0xFF, 0x1F, 0xDD, 
                /* 0E58 */    0xC1, 0x3D, 0x36, 0x3C, 0x51, 0xB3, 0x43, 0x3B, 
                /* 0E60 */    0x39, 0x2A, 0xD0, 0x53, 0x00, 0xFE, 0x48, 0xE4, 
                /* 0E68 */    0xE9, 0x1F, 0x3C, 0xFB, 0xBB, 0x1B, 0x8E, 0x0F, 
                /* 0E70 */    0xD1, 0x47, 0x70, 0x4F, 0xE0, 0xA9, 0x9D, 0x01, 
                /* 0E78 */    0xFA, 0xD0, 0x0C, 0xFF, 0xA0, 0xE7, 0x43, 0x33, 
                /* 0E80 */    0x4E, 0xFE, 0x20, 0x50, 0x23, 0x33, 0xB4, 0x4F, 
                /* 0E88 */    0x1A, 0xBE, 0x4D, 0xF9, 0xCC, 0x60, 0x02, 0x8B, 
                /* 0E90 */    0xFD, 0xC9, 0xB3, 0xF1, 0x00, 0x81, 0x89, 0x3F, 
                /* 0E98 */    0x6A, 0xF8, 0x66, 0xE0, 0xF9, 0xFA, 0x78, 0xE0, 
                /* 0EA0 */    0x83, 0x12, 0x38, 0xCE, 0x0B, 0xBE, 0x7C, 0x78, 
                /* 0EA8 */    0x04, 0x41, 0x1E, 0x41, 0xAC, 0x15, 0x44, 0xF7, 
                /* 0EB0 */    0x81, 0x58, 0x4F, 0xF1, 0x6C, 0x10, 0x07, 0xC4, 
                /* 0EB8 */    0x8E, 0x23, 0x80, 0x87, 0x99, 0x3C, 0x8E, 0x80, 
                /* 0EC0 */    0xE9, 0xFF, 0x4F, 0xE0, 0x23, 0x10, 0xFC, 0x00, 
                /* 0EC8 */    0x47, 0x11, 0xFD, 0x6D, 0x2C, 0x9E, 0x42, 0x36, 
                /* 0ED0 */    0x1E, 0x04, 0x1E, 0x28, 0x0D, 0x0E, 0xA1, 0x31, 
                /* 0ED8 */    0xC3, 0x0B, 0x7B, 0x5C, 0xA2, 0x10, 0x8E, 0x09, 
                /* 0EE0 */    0xA1, 0x90, 0x43, 0xA2, 0x70, 0x8E, 0x05, 0x46, 
                /* 0EE8 */    0x41, 0x7C, 0x4A, 0x30, 0xB2, 0x9D, 0x1C, 0x18, 
                /* 0EF0 */    0x50, 0xE3, 0xF0, 0xC8, 0x0E, 0xC2, 0x97, 0xB5, 
                /* 0EF8 */    0x07, 0x85, 0x37, 0x83, 0x13, 0x79, 0x0C, 0x31, 
                /* 0F00 */    0xCC, 0x39, 0x59, 0x1C, 0x3C, 0x3D, 0x2A, 0xC0, 
                /* 0F08 */    0xC7, 0x7D, 0x90, 0xF0, 0x04, 0xDE, 0xAD, 0x7C, 
                /* 0F10 */    0x24, 0xC2, 0x1F, 0x15, 0xE0, 0x01, 0xF9, 0x62, 
                /* 0F18 */    0xE0, 0xF1, 0x3C, 0x1C, 0xB0, 0x39, 0x1C, 0xBB, 
                /* 0F20 */    0x47, 0xCE, 0xE0, 0xF9, 0xC1, 0xC3, 0xA3, 0xB3, 
                /* 0F28 */    0xAC, 0x63, 0x01, 0x6A, 0x70, 0xBE, 0x1F, 0xBC, 
                /* 0F30 */    0xC4, 0x78, 0xC6, 0xB8, 0x41, 0x1D, 0xA6, 0xC7, 
                /* 0F38 */    0xE6, 0xF1, 0xE0, 0xCE, 0x81, 0x70, 0xCF, 0x00, 
                /* 0F40 */    0xF0, 0x44, 0x9F, 0x77, 0x50, 0x32, 0x61, 0x50, 
                /* 0F48 */    0xE7, 0x1D, 0xE0, 0xF0, 0xFF, 0x3F, 0xEF, 0x00, 
                /* 0F50 */    0x4E, 0x4E, 0x07, 0xCF, 0x3B, 0x60, 0x17, 0xF6, 
                /* 0F58 */    0x2C, 0x90, 0x87, 0xF3, 0x0E, 0x40, 0x91, 0xB8, 
                /* 0F60 */    0x10, 0xFA, 0xFF, 0x1F, 0x47, 0x70, 0x03, 0xF1, 
                /* 0F68 */    0x89, 0x82, 0x83, 0xBC, 0xD5, 0x78, 0x44, 0x2F, 
                /* 0F70 */    0x8A, 0xA7, 0xFB, 0x52, 0x86, 0x0B, 0x35, 0x72, 
                /* 0F78 */    0x7A, 0x48, 0xF4, 0x81, 0x83, 0x1F, 0x1F, 0x7C, 
                /* 0F80 */    0xE0, 0x60, 0x27, 0x4D, 0x7E, 0xDE, 0xC0, 0x9C, 
                /* 0F88 */    0x24, 0x71, 0xE7, 0x0D, 0x70, 0x0C, 0x07, 0xDE, 
                /* 0F90 */    0x61, 0x05, 0x7C, 0xC7, 0x53, 0xB0, 0x1C, 0x93, 
                /* 0F98 */    0x60, 0x8D, 0x08, 0xDE, 0x41, 0x09, 0x70, 0x39, 
                /* 0FA0 */    0x4C, 0xFE, 0xFF, 0x1F, 0xA6, 0xC7, 0xC0, 0x15, 
                /* 0FA8 */    0xDA, 0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 
                /* 0FB0 */    0x35, 0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 
                /* 0FB8 */    0xC6, 0x5C, 0x9D, 0x94, 0x7C, 0x70, 0xA6, 0x41, 
                /* 0FC0 */    0x1E, 0x14, 0x02, 0xB1, 0x34, 0x0A, 0x81, 0x38, 
                /* 0FC8 */    0x0E, 0x08, 0x15, 0xFA, 0xA2, 0x11, 0x88, 0x83, 
                /* 0FD0 */    0x83, 0xD0, 0x28, 0xAF, 0x39, 0x81, 0x58, 0xD8, 
                /* 0FD8 */    0x83, 0x44, 0x20, 0x8E, 0xAB, 0x06, 0x84, 0x09, 
                /* 0FE0 */    0x77, 0x03, 0xC2, 0x84, 0xD8, 0x39, 0x36, 0xB0, 
                /* 0FE8 */    0xC8, 0x20, 0x3A, 0x65, 0x58, 0x82, 0x1E, 0x10, 
                /* 0FF0 */    0x26, 0x0A, 0x44, 0x80, 0x8E, 0x01, 0x44, 0x63, 
                /* 0FF8 */    0x01, 0x51, 0x11, 0x7E, 0x00, 0x29, 0x08, 0x95, 
                /* 1000 */    0x09, 0xA2, 0x21, 0x10, 0x43, 0x20, 0x2C, 0x02, 
                /* 1008 */    0x08, 0x0D, 0x0F, 0x42, 0x65, 0x2B, 0x1A, 0x0E, 
                /* 1010 */    0x05, 0xA1, 0x32, 0x1D, 0x81, 0xB0, 0xA8, 0x8F, 
                /* 1018 */    0x23, 0x25, 0x00, 0x51, 0x88, 0x57, 0x41, 0x10, 
                /* 1020 */    0x22, 0xEE, 0x11, 0x21, 0x10, 0x4B, 0xFD, 0x3B, 
                /* 1028 */    0x08, 0xC4, 0xA1, 0x9E, 0x04, 0x02, 0x71, 0xD0, 
                /* 1030 */    0xB7, 0xCC, 0x03, 0x2D, 0x7B, 0xC5, 0x04, 0x22, 
                /* 1038 */    0x12, 0x1F, 0x53, 0x02, 0x72, 0xC8, 0xB7, 0x81, 
                /* 1040 */    0x80, 0x1C, 0xCD, 0x1D, 0x08, 0x0B, 0x6D, 0x0F, 
                /* 1048 */    0x84, 0x89, 0x78, 0x14, 0x68, 0x08, 0xE4, 0x67, 
                /* 1050 */    0x10, 0x94, 0x04, 0x05, 0xA1, 0xE1, 0x9E, 0x1B, 
                /* 1058 */    0x1A, 0x38, 0x71, 0x09, 0xC2, 0x62, 0x82, 0xD0, 
                /* 1060 */    0x50, 0x8F, 0x39, 0x81, 0xF8, 0xFF, 0x0F
            })
            Method (WMAB, 3, NotSerialized)
            {
                If (LGreaterEqual (SizeOf (Arg2), 0x04))
                {
                    CreateDWordField (Arg2, Zero, FUNC)
                    Store (Zero, Local2)
                    If (LGreaterEqual (SizeOf (Arg2), 0x08))
                    {
                        Store (Arg2, Local2)
                    }

                    CreateDWordField (Arg2, 0x04, SUBF)
                    Store (Zero, Local2)
                    If (LGreater (SizeOf (Arg2), 0x08))
                    {
                        Subtract (SizeOf (Arg2), 0x08, Local2)
                        ShiftLeft (Local2, 0x03, Local2)
                    }

                    CreateField (Arg2, 0x40, Local2, ARGS)
                    If (LEqual (^^PCI0.PEG0.PEGP.DGID, 0x10DE))
                    {
                        Return (^^PCI0.PEG0.PEGP.NVIF (FUNC, SUBF, ARGS))
                    }
                }

                Return (Zero)
            }
        }
    }

    Scope (_SB.PCI0.GFX0)
    {
        Name (NDLC, Zero)
        Method (SNDL, 1, NotSerialized)
        {
            Store (Zero, NDLC)
            Store (Zero, NADL)
            Store (Zero, NDL2)
            Store (Zero, NDL3)
            Store (Zero, NDL4)
            Store (Zero, NDL5)
            If (And (Arg0, 0x08))
            {
                S2ND (0x0400)
            }

            If (And (Arg0, One))
            {
                S2ND (0x0100)
            }

            If (And (Arg0, 0x02))
            {
                S2ND (0x0200)
            }

            If (And (Arg0, 0x04))
            {
                S2ND (0x0300)
            }
        }

        Method (S2ND, 1, NotSerialized)
        {
            Increment (NDLC)
            If (LEqual (NDLC, One))
            {
                Store (Arg0, NADL)
            }

            If (LEqual (NDLC, 0x02))
            {
                Store (Arg0, NDL2)
            }

            If (LEqual (NDLC, 0x03))
            {
                Store (Arg0, NDL3)
            }

            If (LEqual (NDLC, 0x04))
            {
                Store (Arg0, NDL4)
            }

            If (LEqual (NDLC, 0x05))
            {
                Store (Arg0, NDL5)
            }
        }

        Method (SPBR, 2, NotSerialized)
        {
            If (Arg1)
            {
                SBLX (Arg0)
            }
            Else
            {
                Store (DMOD, Local0)
                If (LEqual (Local0, Zero))
                {
                    HKEY (0x1C)
                }
                Else
                {
                    If (LEqual (Local0, One))
                    {
                        SBLX (Arg0)
                    }
                }
            }
        }

        Method (SBLX, 1, NotSerialized)
        {
            Store (Arg0, BCLP)
            Or (BCLP, 0x80000000, BCLP)
            Store (0x02, ASLC)
            Store (One, ASLE)
        }

        OperationRegion (IGPU, PCI_Config, Zero, 0x10)
        Field (IGPU, AnyAcc, NoLock, Preserve)
        {
            IGID,   16, 
            GDID,   16
        }
    }

    Scope (_SB.PCI0.GFX0.DD02)
    {
        Method (_BCL, 0, NotSerialized)
        {
            Return (\BCLP)
        }

        Method (_BCM, 1, NotSerialized)
        {
            Store (One, Local0)
            Store (0x02, Local1)
            While (Local0)
            {
                If (LEqual (Arg0, DerefOf (Index (\BCLP, Local1))))
                {
                    Store (Zero, Local0)
                }
                Else
                {
                    Increment (Local1)
                    If (LEqual (0x0B, Local1))
                    {
                        Store (Zero, Local0)
                    }
                }
            }

            Decrement (Local1)
            Decrement (Local1)
            If (And (^^^LPCB.EC0.RDEC (0x7F), 0x02))
            {
                If (^^^LPCB.EC0.ACST)
                {
                    ShiftLeft (Local1, Zero, Local1)
                    ^^^LPCB.EC0.MDEC (0x83, 0xF0, Local1)
                }
                Else
                {
                    ShiftLeft (Local1, 0x04, Local1)
                    ^^^LPCB.EC0.MDEC (0x83, 0x0F, Local1)
                }
            }
            Else
            {
                ShiftLeft (Local1, Zero, Local1)
                ^^^LPCB.EC0.MDEC (0x83, 0xF0, Local1)
            }

            ^^^LPCB.EC0.SDBN (Arg0, Zero)
        }

        Method (_BQC, 0, NotSerialized)
        {
            If (And (^^^LPCB.EC0.RDEC (0x7F), 0x02))
            {
                If (^^^LPCB.EC0.ACST)
                {
                    And (^^^LPCB.EC0.RDEC (0x83), 0x0F, Local1)
                    ShiftRight (Local1, Zero, Local1)
                }
                Else
                {
                    And (^^^LPCB.EC0.RDEC (0x83), 0xF0, Local1)
                    ShiftRight (Local1, 0x04, Local1)
                }
            }
            Else
            {
                And (^^^LPCB.EC0.RDEC (0x83), 0x0F, Local1)
                ShiftRight (Local1, Zero, Local1)
            }

            Increment (Local1)
            Increment (Local1)
            Store (DerefOf (Index (\BCLP, Local1)), Local0)
            Return (Local0)
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Name (AOS1, Zero)
        Field (RAM, ByteAcc, Lock, Preserve)
        {
                    Offset (0x05), 
            TMHH,   8, 
            TMHL,   8, 
            TMLH,   8, 
            TMLL,   8, 
                    Offset (0x4B), 
            WAKS,   8, 
                    Offset (0x4E), 
            AOAS,   1, 
                    Offset (0x71), 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            WLS3,   1, 
            WLS4,   1, 
            WLS5,   1, 
                    Offset (0x73), 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            WWS3,   1, 
            WWS4,   1, 
            WWS5,   1
        }

        Field (RAM, ByteAcc, Lock, Preserve)
        {
                    Offset (0x71), 
            WLAN,   8, 
                    Offset (0x73), 
            WWAN,   8
        }

        Method (GWAS, 0, NotSerialized)
        {
            Return (AOS1)
        }

        Method (SWAS, 1, NotSerialized)
        {
            And (Arg0, One, Local0)
            Store (Local0, AOAS)
            Store (Local0, AOS1)
        }

        Method (GWLW, 0, NotSerialized)
        {
            Store (Zero, Local0)
            Store (WLAN, Local1)
            If (And (Local1, One))
            {
                Or (Local0, One, Local0)
            }

            If (And (Local1, 0x20))
            {
                Or (Local0, 0x02, Local0)
            }

            If (And (Local1, 0x40))
            {
                Or (Local0, 0x04, Local0)
            }

            If (And (Local1, 0x80))
            {
                Or (Local0, 0x08, Local0)
            }

            Return (Local0)
        }

        Method (SWLW, 1, NotSerialized)
        {
            If (LEqual (And (Arg0, 0x02), 0x02))
            {
                Store (One, WLS3)
            }
            Else
            {
                Store (Zero, WLS3)
            }

            If (LEqual (And (Arg0, 0x04), 0x04))
            {
                Store (One, WLS4)
            }
            Else
            {
                Store (Zero, WLS4)
            }

            If (LEqual (And (Arg0, 0x08), 0x08))
            {
                Store (One, WLS5)
            }
            Else
            {
                Store (Zero, WLS5)
            }
        }

        Method (GWWW, 0, NotSerialized)
        {
            Store (Zero, Local0)
            Store (WWAN, Local1)
            If (And (Local1, One))
            {
                Or (Local0, One, Local0)
            }

            If (And (Local1, 0x20))
            {
                Or (Local0, 0x02, Local0)
            }

            If (And (Local1, 0x40))
            {
                Or (Local0, 0x04, Local0)
            }

            If (And (Local1, 0x80))
            {
                Or (Local0, 0x08, Local0)
            }

            Return (Local0)
        }

        Method (SWWW, 1, NotSerialized)
        {
            If (LEqual (And (Arg0, 0x02), 0x02))
            {
                Store (One, WWS3)
            }
            Else
            {
                Store (Zero, WWS3)
            }

            If (LEqual (And (Arg0, 0x04), 0x04))
            {
                Store (One, WWS4)
            }
            Else
            {
                Store (Zero, WWS4)
            }

            If (LEqual (And (Arg0, 0x08), 0x08))
            {
                Store (One, WWS5)
            }
            Else
            {
                Store (Zero, WWS5)
            }
        }

        Method (SASW, 1, NotSerialized)
        {
            If (LEqual (And (ShiftRight (Arg0, 0x18), 0x80), 0x80)) {}
            Else
            {
                If (LEqual (Arg0, Zero)) {}
                Else
                {
                    And (Arg0, 0xFF, Local0)
                    Store (Local0, TMLL)
                    And (ShiftRight (Arg0, 0x08), 0xFF, Local0)
                    Store (Local0, TMLH)
                    And (ShiftRight (Arg0, 0x10), 0xFF, Local0)
                    Store (Local0, TMHL)
                    And (ShiftRight (Arg0, 0x18), 0x7F, Local0)
                    Store (Local0, TMHH)
                    WBEC (Zero, 0xA0)
                }
            }
        }

        Method (GPWW, 0, NotSerialized)
        {
            Store (WAKS, Local0)
            If (LEqual (Local0, 0xA0))
            {
                Store (0x02, Local0)
                Or (Local0, 0x10, Local0)
                Return (Local0)
            }

            If (LEqual (Local0, 0xA1))
            {
                Return (0x08)
            }

            If (LEqual (Local0, 0xA2))
            {
                Store (0x04, Local0)
                Or (Local0, 0x10, Local0)
                Return (Local0)
            }

            Return (One)
        }
    }

    Scope (_SB.PCI0)
    {
        Method (GOST, 0, NotSerialized)
        {
            Store (Zero, Local0)
            If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
            {
                Store (One, Local0)
            }

            If (LEqual (OSYS, 0x07D6))
            {
                Store (0x02, Local0)
            }

            If (LEqual (OSYS, 0x07D9))
            {
                Store (0x03, Local0)
            }

            If (LEqual (OSYS, 0x03E8))
            {
                Store (0x40, Local0)
            }

            Return (Local0)
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        OperationRegion (GPIO, SystemIO, 0x1180, 0x60)
        Field (GPIO, ByteAcc, Lock, Preserve)
        {
                    Offset (0x0C), 
                ,   17, 
            PI17,   1, 
                    Offset (0x38), 
                ,   18, 
            PO50,   1, 
                ,   1, 
            PO52,   1, 
            PO53,   1, 
            PO54,   1, 
                    Offset (0x48), 
                ,   3, 
            PI67,   1
        }
    }

    Scope (_SB.PCI0.PEG0.PEGP)
    {
        Method (SHDA, 0, NotSerialized)
        {
            If (LEqual (PMDP, 0x03))
            {
                Store (OPTF, MLTF)
            }
        }
    }

    Scope (_SB.PCI0.PEG0.PEGP)
    {
        Method (NVTC, 0, NotSerialized)
        {
            If (LNotEqual (ECON, Zero))
            {
                If (LEqual (^^^LPCB.EC0.DKIN, One))
                {
                    Return (0x3F)
                }
                Else
                {
                    Return (0x43)
                }
            }

            Return (Zero)
        }

        Method (GPSS, 0, NotSerialized)
        {
            If (LNotEqual (ECON, Zero))
            {
                If (LEqual (^^^LPCB.EC0.MACS, One))
                {
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Return (One)
        }

        Name (SPLU, Zero)
        Method (USPL, 1, NotSerialized)
        {
            If (LEqual (GPUT, 0x03))
            {
                If (Arg0)
                {
                    Store (One, SPLU)
                }

                Notify (PEGP, 0xC0)
            }
        }
    }

    Scope (_SB.PCI0.RP01)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP01.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP02)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP02.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP03)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP03.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP04)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP04.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP05)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP05.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP06)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x05
        })
    }

    Scope (_SB.PCI0.RP06.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x05
        })
    }

    Scope (_SB.PCI0.RP07)
    {
        Name (PXSX._RMV, One)
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP07.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP08)
    {
        Name (PXSX._RMV, One)
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP08.PXSX)
    {
        Name (_PRW, Package (0x02)
        {
            0x09, 
            0x04
        })
    }

    Scope (_SB.PCI0.RP06.PXSX)
    {
        Method (_STA, 0, NotSerialized)
        {
            If (LDIS)
            {
                Return (0x0B)
            }

            Return (0x0F)
        }
    }

    Scope (_SB.PCI0.SAT0)
    {
        Device (PRT4)
        {
            Name (_ADR, 0x0004FFFF)
            Name (_PLD, Buffer (0x10)
            {
                /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                /* 0008 */    0x31, 0x1C, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
            })
            Method (_DSM, 4, Serialized)
            {
                Name (_T_1, Zero)
                Name (_T_0, Zero)
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */    0x30, 0xEF, 0xFA, 0xBD, 0xBB, 0xAE, 0xDE, 0x11, 
                            /* 0008 */    0x8A, 0x39, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66
                        }))
                {
                    Store (ToInteger (Arg2), _T_0)
                    If (LEqual (_T_0, Zero))
                    {
                        Store (ToInteger (Arg1), _T_1)
                        If (LEqual (_T_1, One))
                        {
                            If (LEqual (PFLV, FDTP))
                            {
                                Return (Buffer (One)
                                {
                                    0x00
                                })
                            }

                            Return (Buffer (One)
                            {
                                0x0F
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                0x00
                            })
                        }
                    }
                    Else
                    {
                        If (LEqual (_T_0, One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            If (LEqual (_T_0, 0x02))
                            {
                                Store (Zero, GPE3)
                                If (LEqual (And (GL00, 0x08), 0x08))
                                {
                                    Or (GIV0, 0x08, GIV0)
                                }
                                Else
                                {
                                    And (GIV0, 0xF7, GIV0)
                                }

                                And (GL08, 0xEF, GL08)
                                Sleep (0xC8)
                                Store (One, GPS3)
                                Store (One, GPE3)
                                Return (One)
                            }
                            Else
                            {
                                If (LEqual (_T_0, 0x03))
                                {
                                    Store (Zero, GPE3)
                                    Store (One, GPS3)
                                    Or (GL08, 0x10, GL08)
                                    Return (One)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }
                        }
                    }
                }
                Else
                {
                    Return (Zero)
                }
            }
        }
    }

    Scope (_GPE)
    {
        Method (_L13, 0, NotSerialized)
        {
            If (LEqual (PFLV, FDTP))
            {
                Return (Zero)
            }

            Store (Zero, GPE3)
            Or (GL08, 0x10, GL08)
            Notify (\_SB.PCI0.SAT0, 0x84)
            Return (Zero)
        }
    }

    Scope (_SB.PCI0.EHC1.HUBN.PR01)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC1.HUBN.PR01.PR15)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC1.HUBN.PR01.PR16)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC1.HUBN.PR01.PR17)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC2.HUBN.PR01)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC2.HUBN.PR01.PR11)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
        Method (_S3D, 0, NotSerialized)
        {
            Return (0x03)
        }

        Method (_S4D, 0, NotSerialized)
        {
            Return (0x03)
        }
    }

    Scope (_SB.PCI0.EHC2.HUBN.PR01.PR14)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC2.HUBN.PR01.PR15)
    {
        Name (_UPC, Package (0x04)
        {
            0xFF, 
            0xFF, 
            Zero, 
            Zero
        })
        Name (_PLD, Buffer (0x10)
        {
            /* 0000 */    0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
        })
    }

    Scope (_SB.PCI0.EHC1)
    {
        Device (DOCK)
        {
            Name (_HID, EisaId ("PNP0C15"))
            Name (_UID, One)
            Name (_BDN, "Button Dock")
            Name (_ADR, 0x06)
            Name (USBS, 0xF80D0000)
            Name (DSTS, Zero)
            OperationRegion (USB1, SystemMemory, USBS, 0x4000)
            Field (USB1, AnyAcc, Lock, Preserve)
            {
                        Offset (0x10), 
                UMBR,   32
            }

            OperationRegion (UPTS, SystemMemory, UMBR, 0x0100)
            Field (UPTS, ByteAcc, Lock, Preserve)
            {
                        Offset (0xF0), 
                U1P0,   8, 
                U1P1,   8, 
                U1P2,   8, 
                U1P3,   8, 
                U1P4,   8, 
                U1P5,   8
            }

            Method (_EJ0, 1, NotSerialized)
            {
                If (Arg0)
                {
                    Store (Zero, DCKS)
                    Store (Zero, ^^^LPCB.EC0.DKEC)
                }
            }

            Method (_DCK, 1, NotSerialized)
            {
                If (LEqual (Arg0, One))
                {
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_STA, 0, NotSerialized)
            {
                If (DCKS)
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (DKFN, 1, NotSerialized)
            {
                If (Arg0)
                {
                    Store (One, DCKS)
                    Notify (DOCK, Zero)
                }
                Else
                {
                    Store (Zero, DCKS)
                    Notify (DOCK, One)
                }

                ^^^PEG0.PEGP.USPL (One)
            }

            Method (DPTS, 1, NotSerialized)
            {
                If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
                {
                    Store (^^^LPCB.EC0.DKIN, DSTS)
                }
            }

            Method (DWAK, 1, NotSerialized)
            {
                If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
                {
                    Store (^^^LPCB.EC0.DKIN, Local0)
                    If (LNotEqual (Local0, DSTS))
                    {
                        DKFN (Local0)
                    }
                }
            }
        }
    }

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Method (_Q56, 0, NotSerialized)
        {
            Store (0x56, P80H)
            ^^^EHC1.DOCK.DKFN (One)
        }

        Method (_Q57, 0, NotSerialized)
        {
            Store (0x57, P80H)
            ^^^EHC1.DOCK.DKFN (Zero)
        }
    }

    Name (_S0, Package (0x04)
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    If (SS1)
    {
        Name (_S1, Package (0x04)
        {
            One, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS3)
    {
        Name (_S3, Package (0x04)
        {
            0x05, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS4)
    {
        Name (_S4, Package (0x04)
        {
            0x06, 
            Zero, 
            Zero, 
            Zero
        })
    }

    Name (_S5, Package (0x04)
    {
        0x07, 
        Zero, 
        Zero, 
        Zero
    })
    Method (PTS, 1, NotSerialized)
    {
        If (Arg0) {}
    }

    Method (WAK, 1, NotSerialized)
    {
    }
}

Attachment: DSDT.dat
Description: Netscape Proxy Auto Config


Follow ups