AMD EHCI controller PME bug (device 1022:7808)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

AMD EHCI controller PME bug (device 1022:7808)

Mikolaj Kucharski-3
>Synopsis: LTE mini-PCIe modem not showing up after reboot
>Category: kernel
>Environment:
        System      : OpenBSD 6.7
        Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
                         [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

        Architecture: OpenBSD.amd64
        Machine     : amd64
>Description:
        I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
When I cold boot the system, device is properly detected:

uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom0 at umsm0
umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom1 at umsm1
umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom2 at umsm2
umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom3 at umsm3
umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom4 at umsm4

However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
is not visible any more from the system:

uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2

>How-To-Repeat:
        Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.

>Fix:
        Unknown. I've looked around and found following resources:

- OpenBSD misc, broken EHCI USB on AMD chipset?
https://marc.info/?t=151192838800001&r=1&w=2

- PCI: Workaround AMD EHCI controller PME bug
https://patchwork.kernel.org/patch/9797105/

- usb: host: ehci: workaround PME bug on AMD EHCI controller
https://patchwork.kernel.org/patch/9783041/

- Linux kernel, pci_fixup_amd_ehci_pme() function
https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593

- SB700 Family Product Errata
https://www.amd.com/system/files/TechDocs/46837.pdf

- AMD SB700/710/750 Register Programming Requirements
http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf

Unfortunately, I don't know how to apply solution from Linux code to OpenBSD :/


dmesg:
OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4259872768 (4062MB)
avail mem = 4115746816 (3925MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xcfe8b020 (13 entries)
bios0: vendor coreboot version "v4.12.0.3" date 07/30/2020
bios0: PC Engines apu2
acpi0 at bios0: ACPI 6.0
acpi0: sleep states S0 S1 S4 S5
acpi0: tables DSDT FACP SSDT MCFG TPM2 APIC HEST SSDT SSDT DRTM HPET
acpi0: wakeup devices PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) UOH1(S3) UOH2(S3) UOH3(S3) UOH4(S3) UOH5(S3) UOH6(S3) XHC0(S4)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimcfg0 at acpi0
acpimcfg0: addr 0xf8000000, bus 0-64
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD GX-412TC SOC, 998.28 MHz, 16-30-01
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD GX-412TC SOC, 998.21 MHz, 16-30-01
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 2 (application processor)
cpu2: AMD GX-412TC SOC, 998.14 MHz, 16-30-01
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: AMD GX-412TC SOC, 998.14 MHz, 16-30-01
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0: apid 5 pa 0xfec20000, version 21, 32 pins
acpihpet0 at acpi0: 14318180 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (PBR4)
acpiprt2 at acpi0: bus 1 (PBR5)
acpiprt3 at acpi0: bus 2 (PBR6)
acpiprt4 at acpi0: bus 3 (PBR7)
acpiprt5 at acpi0: bus 4 (PBR8)
acpicpu0 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpicpu1 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpicpu2 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpicpu3 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpitz0 at acpi0: critical temperature is 115 degC
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
extent `acpipci0 pciio' (0x0 - 0xffffffff), flags=0
     0xcf8 - 0xcff
     0x10000 - 0xffffffff
extent `acpipci0 pcimem' (0x0 - 0xffffffffffffffff), flags=0
     0x0 - 0x9ffff
     0xe0000 - 0xcfffffff
     0x100000000 - 0xffffffffffffffff
acpicmos0 at acpi0
amdgpio0 at acpi0 GPIO uid 0 addr 0xfed81500/0x300 irq 7, 184 pins
"PRP0001" at acpi0 not configured
"PRP0001" at acpi0 not configured
"PRP0001" at acpi0 not configured
"PRP0001" at acpi0 not configured
"PRP0001" at acpi0 not configured
"PRP0001" at acpi0 not configured
"BOOT0000" at acpi0 not configured
cpu0: 998 MHz: speeds: 1000 800 600 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "AMD 16h Root Complex" rev 0x00
vendor "AMD", unknown product 0x1567 (class system subclass IOMMU, rev 0x00) at pci0 dev 0 function 2 not configured
pchb1 at pci0 dev 2 function 0 "AMD 16h Host" rev 0x00
ppb0 at pci0 dev 2 function 2 "AMD 16h PCIE" rev 0x00: msi
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:0d:b9:55:96:04
ppb1 at pci0 dev 2 function 3 "AMD 16h PCIE" rev 0x00: msi
pci2 at ppb1 bus 2
em1 at pci2 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:0d:b9:55:96:05
ppb2 at pci0 dev 2 function 4 "AMD 16h PCIE" rev 0x00: msi
pci3 at ppb2 bus 3
em2 at pci3 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:0d:b9:55:96:06
ppb3 at pci0 dev 2 function 5 "AMD 16h PCIE" rev 0x00: msi
pci4 at ppb3 bus 4
athn0 at pci4 dev 0 function 0 "Atheros AR9281" rev 0x01: apic 5 int 16
athn0: AR9280 rev 2 (2T2R), ROM rev 22, address 04:f0:21:45:6a:c4
ccp0 at pci0 dev 8 function 0 "AMD 16h Crypto" rev 0x00
xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x11: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: apic 4 int 19, AHCI 1.3
ahci0: port 0: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, TS128GMSA370, P122> naa.57c35481856c8911
sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x42: SMI
iic0 at piixpm0
iic1 at piixpm0
iic1: addr 0x4c 3e=00 48=00 4a=00 4e=00 fc=00 fe=00 words 00=ffff 01=ffff 02=ffff 03=ffff 04=ffff 05=ffff 06=ffff 07=ffff
pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
sdhc0 at pci0 dev 20 function 7 "AMD Bolton SD/MMC" rev 0x01: apic 4 int 16
sdhc0: SDHC 2.0, 50 MHz base clock
sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
pchb2 at pci0 dev 24 function 0 "AMD 16h Link Cfg" rev 0x00
pchb3 at pci0 dev 24 function 1 "AMD 16h Address Map" rev 0x00
pchb4 at pci0 dev 24 function 2 "AMD 16h DRAM Cfg" rev 0x00
km0 at pci0 dev 24 function 3 "AMD 16h Misc Cfg" rev 0x00
pchb5 at pci0 dev 24 function 4 "AMD 16h CPU Power" rev 0x00
pchb6 at pci0 dev 24 function 5 "AMD 16h Misc Cfg" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
intr_establish: pic ioapic0 pin 7: can't share type 3 with 2
wbsio0 at isa0 port 0x2e/2: NCT5104D rev 0x53
vmm0 at mainbus0: SVM/RVI
umsm0 at uhub0 port 4 configuration 1 interface 0 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
ucom0 at umsm0
umsm1 at uhub0 port 4 configuration 1 interface 1 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
ucom1 at umsm1
umsm2 at uhub0 port 4 configuration 1 interface 2 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
ucom2 at umsm2
umsm3 at uhub0 port 4 configuration 1 interface 3 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
ucom3 at umsm3
umsm4 at uhub0 port 4 configuration 1 interface 4 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm5 at uhub0 port 4 configuration 1 interface 5 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
umsm6 at uhub2 port 3 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom4 at umsm6
umsm7 at uhub2 port 3 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom5 at umsm7
umsm8 at uhub2 port 3 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom6 at umsm8
umsm9 at uhub2 port 3 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom7 at umsm9
umsm10 at uhub2 port 3 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
ucom8 at umsm10
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (f4c61a8acb9563fd.a) swap on sd0b dump on sd0b

usbdevs:
Controller /dev/usb0:
addr 01: 1022:0000 AMD, xHCI root hub
         super speed, self powered, config 1, rev 1.00
         driver: uhub0
addr 02: 12d1:140c Huawei Technologies, HUAWEI Mobile
         high speed, power 500 mA, config 1, rev 0.00
         driver: umsm0
         driver: umsm1
         driver: umsm2
         driver: umsm3
Controller /dev/usb1:
addr 01: 1022:0000 AMD, EHCI root hub
         high speed, self powered, config 1, rev 1.00
         driver: uhub1
addr 02: 0438:7900 Advanced Micro Devices, Hub
         high speed, self powered, config 1, rev 0.18
         driver: uhub2
addr 03: 1199:9071 Sierra Wireless, Incorporated, Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A
         high speed, power 500 mA, config 1, rev 0.06, iSerial LQ80634656021021
         driver: umsm6
         driver: umsm7
         driver: umsm8
         driver: umsm9

pcidump:
Domain /dev/pci0:
 0:0:0: AMD 16h Root Complex
        0x0000: Vendor ID: 1022, Product ID: 1566
        0x0004: Command: 0004, Status: 0000
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 1566
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 15661022 00000004 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 15661022
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000000 00000000 00000080 00000000
        0x0050: 15661022 00000000 00000000 00000000
        0x0060: 00000046 00001063 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000001
        0x0080: 00000000 00000008 00000000 00000000
        0x0090: d0000000 00000026 00000000 00000000
        0x00a0: 01308001 deadbeef 00000000 00000000
        0x00b0: 00000000 00000000 c2100004 00000003
        0x00c0: 00000000 00000000 00120001 00140000
        0x00d0: 013014b6 00000000 00000000 00000000
        0x00e0: 01300000 0700202c 00000000 00000000
        0x00f0: 00000000 00808000 00000000 00000005
 0:0:2: AMD unknown
        0x0000: Vendor ID: 1022, Product ID: 1567
        0x0004: Command: 0000, Status: 0010
        0x0008: Class: 08 System, Subclass: 06 IOMMU,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 1567
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x0f: Secure
        0x0064: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: no
        0x0074: Capability 0x08: AMD LDT/HT
        0x0000: 15671022 00100000 08060000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 15671022
        0x0030: 00000000 00000040 00000000 00000100
        0x0040: 190b640f 00000000 00000000 00000000
        0x0050: 00203040 00000000 00000000 00000000
        0x0060: 00000000 00847405 00000000 00000000
        0x0070: 00000000 a8030008 15671022 00002b01
        0x0080: 00200ad2 00000008 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000190 00000050 80000007 00025841
 0:2:0: AMD 16h Host
        0x0000: Vendor ID: 1022, Product ID: 156b
        0x0004: Command: 0000, Status: 0000
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 156b1022 00000000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000080 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:2:2: AMD 16h PCIE
        0x0000: Vendor ID: 1022, Product ID: 1439
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 04 PCI,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 1,
                Secondary Latency Timer: 00
        0x001c: I/O Base: 11, I/O Limit: 11, Secondary Status: 2000
        0x0020: Memory Base: f790, Memory Limit: f790
        0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
        0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 02, Line: 05, Bridge Control: 0013
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0058: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x0b: Vendor-Specific
        0x0150: Enhanced Capability 0x01: Advanced Error Reporting
        0x02a0: Enhanced Capability 0x0d: Access Control Services
        0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x00b0: Capability 0x0d: PCI-PCI
        0x00b8: Capability 0x08: AMD LDT/HT
        0x0000: 14391022 00100007 06040000 00810010
        0x0010: 00000000 00000000 00010100 20001111
        0x0020: f790f790 f7e1f7f1 00000000 00000000
        0x0030: 00000000 00000050 00000000 00130205
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: c8035801 00000000 0142a010 00008022
        0x0060: 00002830 01733c12 70110040 00040000
        0x0070: 00400000 00010000 00000000 0070001f
        0x0080: 00008006 00000006 00010002 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 0081b005 fee00000 00000000 00000062
        0x00b0: 0000b80d 12341022 a8030008 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 100000c1 00000006 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:2:3: AMD 16h PCIE
        0x0000: Vendor ID: 1022, Product ID: 1439
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 04 PCI,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: Primary Bus: 0, Secondary Bus: 2, Subordinate Bus: 2,
                Secondary Latency Timer: 00
        0x001c: I/O Base: 21, I/O Limit: 21, Secondary Status: 0000
        0x0020: Memory Base: f7a0, Memory Limit: f7a0
        0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
        0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 03, Line: 03, Bridge Control: 0013
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0058: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x0b: Vendor-Specific
        0x0150: Enhanced Capability 0x01: Advanced Error Reporting
        0x02a0: Enhanced Capability 0x0d: Access Control Services
        0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x00b0: Capability 0x0d: PCI-PCI
        0x00b8: Capability 0x08: AMD LDT/HT
        0x0000: 14391022 00100007 06040000 00810010
        0x0010: 00000000 00000000 00020200 00002121
        0x0020: f7a0f7a0 f7e1f7f1 00000000 00000000
        0x0030: 00000000 00000050 00000000 00130303
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: c8035801 00000000 0142a010 00008022
        0x0060: 00002830 02733c12 30110040 00040000
        0x0070: 00400000 00010000 00000000 0070001f
        0x0080: 00008006 00000006 00010002 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 0081b005 fee00000 00000000 00000063
        0x00b0: 0000b80d 12341022 a8030008 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 100000c1 00000006 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:2:4: AMD 16h PCIE
        0x0000: Vendor ID: 1022, Product ID: 1439
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 04 PCI,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: Primary Bus: 0, Secondary Bus: 3, Subordinate Bus: 3,
                Secondary Latency Timer: 00
        0x001c: I/O Base: 31, I/O Limit: 31, Secondary Status: 0000
        0x0020: Memory Base: f7b0, Memory Limit: f7b0
        0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
        0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 04, Line: 05, Bridge Control: 0013
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0058: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x0b: Vendor-Specific
        0x0150: Enhanced Capability 0x01: Advanced Error Reporting
        0x02a0: Enhanced Capability 0x0d: Access Control Services
        0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x00b0: Capability 0x0d: PCI-PCI
        0x00b8: Capability 0x08: AMD LDT/HT
        0x0000: 14391022 00100007 06040000 00810010
        0x0010: 00000000 00000000 00030300 00003131
        0x0020: f7b0f7b0 f7e1f7f1 00000000 00000000
        0x0030: 00000000 00000050 00000000 00130405
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: c8035801 00000000 0142a010 00008022
        0x0060: 00002830 03733c12 30110040 00040000
        0x0070: 00400000 00010000 00000000 0070001f
        0x0080: 00008006 00000006 00010002 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 0081b005 fee00000 00000000 00000064
        0x00b0: 0000b80d 12341022 a8030008 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 100000c1 00000006 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:2:5: AMD 16h PCIE
        0x0000: Vendor ID: 1022, Product ID: 1439
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 04 PCI,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: Primary Bus: 0, Secondary Bus: 4, Subordinate Bus: 4,
                Secondary Latency Timer: 00
        0x001c: I/O Base: f1, I/O Limit: 01, Secondary Status: 0000
        0x0020: Memory Base: f7c0, Memory Limit: f7c0
        0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
        0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: ffff, I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 01, Line: 03, Bridge Control: 0013
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0058: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x0b: Vendor-Specific
        0x0150: Enhanced Capability 0x01: Advanced Error Reporting
        0x02a0: Enhanced Capability 0x0d: Access Control Services
        0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x00b0: Capability 0x0d: PCI-PCI
        0x00b8: Capability 0x08: AMD LDT/HT
        0x0000: 14391022 00100006 06040000 00810010
        0x0010: 00000000 00000000 00040400 000001f1
        0x0020: f7c0f7c0 f7e1f7f1 00000000 00000000
        0x0030: 0000ffff 00000050 00000000 00130103
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: c8035801 00000000 0142a010 00008022
        0x0060: 00002810 04733c12 70110040 00040000
        0x0070: 00400000 00010000 00000000 0070001f
        0x0080: 00008006 00000006 00010002 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 0081b005 fee00000 00000000 00000065
        0x00b0: 0000b80d 12341022 a8030008 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 100000c1 00000006 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:8:0: AMD 16h Crypto
        0x0000: Vendor ID: 1022, Product ID: 1537
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 10 Crypto, Subclass: 80 Miscellaneous,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR mem prefetchable 64bit addr: 0x00000000f7f00000/0x00020000
        0x0018: BAR mem 32bit addr: 0xf7d00000/0x00100000
        0x001c: BAR mem 32bit addr: 0xf7f24000/0x00001000
        0x0020: BAR mem 32bit addr: 0xf7e00000/0x00100000
        0x0024: BAR mem 32bit addr: 0xf7f20000/0x00002000
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 1537
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 2 (BAR 5:0)
        0x005c: Capability 0x08: AMD LDT/HT
        0x0060: Capability 0x01: Power Management
                State: D0
        0x0000: 15371022 00100006 10800000 00000000
        0x0010: f7f0000c 00000000 f7d00000 f7f24000
        0x0020: f7e00000 f7f20000 00000000 15371022
        0x0030: 00000000 00000050 00000000 00000000
        0x0040: 10800000 15370000 00000000 15371022
        0x0050: 00015c11 00000005 00001005 a8036008
        0x0060: 00030001 00000008 00920010 00008fe0
        0x0070: 00000910 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 01060013 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 0000004c 00000000
        0x00f0: 00000049 00000003 00000000 00000000
 0:16:0: AMD Bolton xHCI
        0x0000: Vendor ID: 1022, Product ID: 7814
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
                Interface: 30, Revision: 11
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 64bit addr: 0x00000000f7f22000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 1410
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0070: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x0090: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 8 (BAR 0:4096)
        0x00a0: Capability 0x10: PCI Express
        0x0100: Enhanced Capability 0x18: Latency Tolerance Reporting
        0x0000: 78141022 00100006 0c033011 00000010
        0x0010: f7f22004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 14101022
        0x0030: 00000000 00000050 00000000 00000105
        0x0040: 00000000 01000020 00000004 0fff0011
        0x0050: c8037001 00000008 00000000 00000000
        0x0060: 00002030 00000000 00000000 00000000
        0x0070: 00879005 fee00000 00000000 00000066
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 0007a011 00001000 00001080 00000000
        0x00a0: 00920010 00008fc0 00102800 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000810 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00001ffc 00000000 00000000 00000000
        0x00f0: 00801708 00000000 00000000 00000000
 0:17:0: AMD Hudson-2 SATA
        0x0000: Vendor ID: 1022, Product ID: 7801
        0x0004: Command: 0007, Status: 0230
        0x0008: Class: 01 Mass Storage, Subclass: 06 SATA,
                Interface: 01, Revision: 40
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
                Cache Line Size: 10
        0x0010: BAR io addr: 0x00004010/0x0008
        0x0014: BAR io addr: 0x00004020/0x0004
        0x0018: BAR io addr: 0x00004018/0x0008
        0x001c: BAR io addr: 0x00004024/0x0004
        0x0020: BAR io addr: 0x00004000/0x0010
        0x0024: BAR mem 32bit addr: 0xf7f25000/0x00000400
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 7801
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0060: Capability 0x01: Power Management
                State: D0
        0x0070: Capability 0x12: SATA
        0x0000: 78011022 02300007 01060140 00004010
        0x0010: 00004011 00004021 00004019 00004025
        0x0020: 00004001 f7f25000 00000000 78011022
        0x0030: 00000000 00000060 00000000 00000100
        0x0040: 00002004 00200001 800010ea fa030301
        0x0050: 0080d005 00000000 00000000 00000000
        0x0060: 40237001 00000000 00000000 00000000
        0x0070: 00100012 0000000f 00000000 00000000
        0x0080: 00000010 04140006 200001ab 6070007d
        0x0090: 00007045 0018000c 00403103 0f8f0a86
        0x00a0: 0000c801 00009080 00000000 00000000
        0x00b0: 00000000 00000000 00002000 00000000
        0x00c0: 00000000 00000000 ff000010 00000000
        0x00d0: 03060013 00640000 00080000 00000000
        0x00e0: 00000080 00000000 c7746027 01ff01ff
        0x00f0: 00000000 00000000 00000000 00000000
 0:19:0: AMD Hudson-2 USB2
        0x0000: Vendor ID: 1022, Product ID: 7808
        0x0004: Command: 0006, Status: 02b0
        0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
                Interface: 20, Revision: 39
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xf7f26000/0x00000100
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 7808
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
        0x00c0: Capability 0x01: Power Management
                State: D0
        0x00e4: Capability 0x0a: Debug Port
        0x0000: 78081022 02b00006 0c032039 00004010
        0x0010: f7f26000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 78081022
        0x0030: 00000000 000000c0 00000000 00000105
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: a42a1141 fb7fda7b 00000000 00000000
        0x0060: 00002020 00000000 00000000 00000000
        0x0070: 000fffff c000002c 800000ff 00000000
        0x0080: 79000438 fcfe0018 00200081 64327ec7
        0x0090: 10011d4c 00000000 00000000 000b0f00
        0x00a0: 00000001 c0080000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: fe02e401 00400000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 20e0000a 00000000 01000020
        0x00f0: 00000000 00000000 00000000 00000000
 0:20:0: AMD Hudson-2 SMBus
        0x0000: Vendor ID: 1022, Product ID: 780b
        0x0004: Command: 0403, Status: 0220
        0x0008: Class: 0c Serial Bus, Subclass: 05 SMBus,
                Interface: 00, Revision: 42
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 780b
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 780b1022 02200403 0c050042 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 780b1022
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:20:3: AMD Hudson-2 LPC
        0x0000: Vendor ID: 1022, Product ID: 780e
        0x0004: Command: 000f, Status: 0220
        0x0008: Class: 06 Bridge, Subclass: 01 ISA,
                Interface: 00, Revision: 11
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 780e
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 780e1022 0220000f 06010011 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 780e1022
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000004 ff03ffd5 0320ff07 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 03e80e00 000f000e ffffff00
        0x0070: 00234567 0000000c 00000090 00000a05
        0x0080: a8030008 00000000 00000000 00000000
        0x0090: 000002e8 00000000 00000000 00000000
        0x00a0: fec10002 0000012f 00000000 00000000
        0x00b0: 00000000 00000000 3de90004 00000000
        0x00c0: 00000000 00000000 80000000 fff20107
        0x00d0: 08ffff86 00000042 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:20:7: AMD Bolton SD/MMC
        0x0000: Vendor ID: 1022, Product ID: 7813
        0x0004: Command: 0006, Status: 0220
        0x0008: Class: 08 System, Subclass: 05 SDHC,
                Interface: 01, Revision: 01
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 47,
                Cache Line Size: 10
        0x0010: BAR mem 64bit addr: 0x00000000f7f27000/0x00000100
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 7806
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 78131022 02200006 08050101 00804710
        0x0010: f7f27004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 78061022
        0x0030: 00000000 00000000 00000000 00000100
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00800005 00000000 00000000 00000000
        0x0090: 80030001 00000000 00000000 00000000
        0x00a0: 00000002 31fe32b2 00000070 00c80064
        0x00b0: 01180c19 80000001 88000000 0044cc98
        0x00c0: 00000003 00000000 00000000 00000000
        0x00d0: 0000078b 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 000400fa 00040002 00010002 00014000
 0:24:0: AMD 16h Link Cfg
        0x0000: Vendor ID: 1022, Product ID: 1580
        0x0004: Command: 0000, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 15801022 00100000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00040201 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00030000 0000c8e0 004e881f 580ffe00
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00111020 00000000 00000013
        0x0090: 800501a5 02010000 00000027 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:24:1: AMD 16h Address Map
        0x0000: Vendor ID: 1022, Product ID: 1581
        0x0004: Command: 0000, Status: 0000
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 15811022 00000000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000003 012e0000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00fed003 00fedf80 00d00003 00fecf00
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000003 0000f000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: ff000003 00000000 00000000 00000000
        0x00f0: d0003003 00000001 00000000 00000000
 0:24:2: AMD 16h DRAM Cfg
        0x0000: Vendor ID: 1022, Product ID: 1582
        0x0004: Command: 0000, Status: 0000
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 15821022 00000000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000001 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00f8ffe0 00000000 00000000 00000000
        0x0070: 00000000 00000000 00020000 18080090
        0x0080: 0000000a 00800005 3e000000 00020000
        0x0090: 83090000 9f49888e 8d0f001f 00006006
        0x00a0: 001f03a0 00000000 80320000 00000000
        0x00b0: d946c26a 00000054 6fc07fbd 08340d00
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 8a8a0fd1 5d76ebff eef017d7 e2a3648b
        0x00e0: c0c728ae 41b06fef 9de5af0d 6ee5cfc9
        0x00f0: 00000000 00000000 00000000 00000000
 0:24:3: AMD 16h Misc Cfg
        0x0000: Vendor ID: 1022, Product ID: 1583
        0x0004: Command: 0000, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x00f0: Capability 0x0f: Secure
        0x0000: 15831022 00100000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 000000f0 00000000 00000000
        0x0040: 00000000 48700044 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000001
        0x0060: 00000000 426a0025 40000000 10010052
        0x0070: 10131153 011c0101 00180810 0005061b
        0x0080: 00000000 00000002 00850000 40c80000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: a08c4800 40000fef 90000000 00000000
        0x00b0: 00000000 00000000 e80003de 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 98800f0a 00000040 68786400
        0x00e0: 00000000 00000020 01f74f18 00000000
        0x00f0: 0010000f 00000000 00000000 00730f01
 0:24:4: AMD 16h CPU Power
        0x0000: Vendor ID: 1022, Product ID: 1584
        0x0004: Command: 0000, Status: 0000
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 15841022 00000000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: 00000000 0000ffff 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:24:5: AMD 16h Misc Cfg
        0x0000: Vendor ID: 1022, Product ID: 1585
        0x0004: Command: 0000, Status: 0000
        0x0008: Class: 06 Bridge, Subclass: 00 Host,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0000: 15851022 00000000 06000000 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00000000
        0x0030: 00000000 00000000 00000000 00000000
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 01000001 0e0ef003 010e1001 84008002
        0x0090: 42a921ec 00000055 01000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 0400035b 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 000014b1 00000000 007bac28 00000000
        0x00f0: 000000fc 40000002 00000000 00000000
 1:0:0: Intel I210
        0x0000: Vendor ID: 8086, Product ID: 157b
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 03
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xf7900000/0x00020000
        0x0014: BAR empty (00000000)
        0x0018: BAR io addr: 0x00001000/0x0020
        0x001c: BAR mem 32bit addr: 0xf7920000/0x00004000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 03 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x0070: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 5 (BAR 3:0)
        0x00a0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
                Serial Number: 000db9ffff559604
        0x01a0: Enhanced Capability 0x17: TPH Requester
        0x0000: 157b8086 00100007 02000003 00000010
        0x0010: f7900000 00000000 00001001 f7920000
        0x0020: 00000000 00000000 00000000 00008086
        0x0030: 00000000 00000040 00000000 00000103
        0x0040: c8235001 00002008 00000000 00000000
        0x0050: 01817005 fee00000 00000000 00000072
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 0004a011 00000003 00002003 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 ffffffff
        0x00a0: 00020010 10008cc2 00192830 01425c11
        0x00b0: 10110040 00000000 00000000 00000000
        0x00c0: 00000000 0000001f 00000000 00000000
        0x00d0: 00000001 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 2:0:0: Intel I210
        0x0000: Vendor ID: 8086, Product ID: 157b
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 03
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xf7a00000/0x00020000
        0x0014: BAR empty (00000000)
        0x0018: BAR io addr: 0x00002000/0x0020
        0x001c: BAR mem 32bit addr: 0xf7a20000/0x00004000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x0070: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 5 (BAR 3:0)
        0x00a0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
                Serial Number: 000db9ffff559605
        0x01a0: Enhanced Capability 0x17: TPH Requester
        0x0000: 157b8086 00100007 02000003 00000010
        0x0010: f7a00000 00000000 00002001 f7a20000
        0x0020: 00000000 00000000 00000000 00008086
        0x0030: 00000000 00000040 00000000 00000105
        0x0040: c8235001 00002008 00000000 00000000
        0x0050: 01817005 fee00000 00000000 00000073
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 0004a011 00000003 00002003 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 ffffffff
        0x00a0: 00020010 10008cc2 00102830 02425c11
        0x00b0: 10110040 00000000 00000000 00000000
        0x00c0: 00000000 0000001f 00000000 00000000
        0x00d0: 00000001 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 3:0:0: Intel I210
        0x0000: Vendor ID: 8086, Product ID: 157b
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 03
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xf7b00000/0x00020000
        0x0014: BAR empty (00000000)
        0x0018: BAR io addr: 0x00003000/0x0020
        0x001c: BAR mem 32bit addr: 0xf7b20000/0x00004000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 07 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x0070: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 5 (BAR 3:0)
        0x00a0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
                Serial Number: 000db9ffff559606
        0x01a0: Enhanced Capability 0x17: TPH Requester
        0x0000: 157b8086 00100007 02000003 00000010
        0x0010: f7b00000 00000000 00003001 f7b20000
        0x0020: 00000000 00000000 00000000 00008086
        0x0030: 00000000 00000040 00000000 00000107
        0x0040: c8235001 00002008 00000000 00000000
        0x0050: 01817005 fee00000 00000000 00000074
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 0004a011 00000003 00002003 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 ffffffff
        0x00a0: 00020010 10008cc2 00102830 03425c11
        0x00b0: 10110040 00000000 00000000 00000000
        0x00c0: 00000000 0000001f 00000000 00000000
        0x00d0: 00000001 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 4:0:0: Atheros AR9281
        0x0000: Vendor ID: 168c, Product ID: 002a
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 02 Network, Subclass: 80 Miscellaneous,
                Interface: 00, Revision: 01
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 64bit addr: 0x00000000f7c00000/0x00010000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 168c Product ID: 3099
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 03 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: no
        0x0060: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x02: Virtual Channel Capability
        0x0160: Enhanced Capability 0x03: Device Serial Number
                Serial Number: 0000000000000000
        0x0090: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 1 (BAR 0:0)
        0x0000: 002a168c 00100006 02800001 00000010
        0x0010: f7c00004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 3099168c
        0x0030: 00000000 00000040 00000000 00000103
        0x0040: 5bc25001 00000000 00000000 00000000
        0x0050: 00006005 00000000 00000000 00000000
        0x0060: 00119010 00000cc0 00002010 00033811
        0x0070: 10110048 00000000 000003c0 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000011 00000000 00000000 00000000
        0x00a0: 00000004 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000

acpidump:
begin-base64 644 APIC.4
QVBJQ34AAAABY0NPUkUgIENPUkVCT09UAAAAAENPUkUAAAAAAADg/gEAAAAACAAAAQAAAAAIAQEB
AAAAAAgCAgEAAAAACAMDAQAAAAEMBAAAAMD+AAAAAAEMBQAAAML+GAAAAAIKAAACAAAAAAACCgAJ
CQAAAA8ABAb/BQAB
====
begin-base64 644 APIC.6
QVBJQ34AAAADiUNPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAADg/gEAAAAACAAAAQAAAAAIAQEB
AAAAAAgCAgEAAAAACAMDAQAAAAEMBAAAAMD+AAAAAAEMBQAAAML+GAAAAAIKAAACAAAAAAACCgAJ
CQAAAA8ABAb/BQAB
====
begin-base64 644 DRTM.10
RFJUTXwAAAAB+ENPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAMDozwAAAAAAEAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA==
====
begin-base64 644 DSDT.2
RFNEVLMbAAACukNPUkV2NENPUkVCT09UAQABAElOVEwxBRggoEEEABVcLl9TQl9BUFRTCAEVXC5f
U0JfQVdBSwgBFVwvA19TQl9QQ0kwVE9NMQAAFVwvA19TQl9QQ0kwVE9NMgAACExPTUgACFBCQUQA
CFBCTE4ACFBDQkEMAAAA+AhQQ0xODAAAAAQISFBCQQwAAND+CE9TVlIKAwhPU1Zf/whQTU9EAVuA
R1AwQgAMFAjY/goEW4ENR1AwQgEAC1VTQlMBCFVPTTAACFVPTTEKAghVT00yAAhVT00zCgcIVU9N
NAoCCFVPTTUKAghVT002CgYIVU9NNwoCCFVPTTgKBghVT005CgZbgFBSUU0BCwAMCgJbgRBQUlFN
AVBSUUkIUFJRRAhbhjJQUlFJUFJRRAFQSVJBCFBJUkIIUElSQwhQSVJECFBJUkUIUElSRghQSVJH
CFBJUkgIW4BQRVJDAQsUDAFbgRpQRVJDAVNFTlMBUEVOUwFTRU5FAVBFTkUBW4BDTVRfAQtQDAoC
W4EhQ01UXwFDTVRJCEc2NEUBRzY0TwFHMzJPAgACR1BTTAJbgEdQVF8BC1IMAVuBLkdQVF8BR1BC
MAFHUEIxAUdQQjIBR1BCMwFHUEI0AUdQQjUBR1BCNgFHUEI3AVuARlJFXwELbwwBW4ENRlJFXwEA
BkZMUkUBW4BQTTJSAQvQDAoCW4EQUE0yUgFQTTJJCFBNMkQIW4BQSU9SAQvWDAoCW4EQUElPUgFQ
SU9JCFBJT0QIW4YaUElPSVBJT0QBAEAwUDFFQhAAQEZVUFdTA1uAUDFFMAFQMUVCCgRbgQ9QMUUw
AQAQAA5QRVdEARBOBl9QUl9bgwtQMDAwABAIAAAGW4MLUDAwMQEQCAAABluDC1AwMDICEAgAAAZb
gwtQMDAzAxAIAAAGW4MLUDAwNAQQCAAABluDC1AwMDUFEAgAAAZbgwtQMDA2BhAIAAAGW4MLUDAw
NwcQCAAABghTU0ZHCgmgDwBwe1NTRkcK9wBTU0ZHCF9TMF8SBgQAAAAAoBR7U1NGRwEACF9TMV8S
BgQBAQAAoBd7U1NGRwoCAAhfUzJfEggECgIKAgAAoBd7U1NGRwoEAAhfUzNfEggECgMKAwAAoBd7
U1NGRwoIAAhfUzRfEggECgQKBAAACF9TNV8SCAQKBQoFAAAIV0tTVBIEAgAAFCpfUFRTAXAAiFdL
U1QAAHAAiFdLU1QBAHAKB1VQV1NcLl9TQl9BUFRTaBQcX1dBSwFwAVVTQlNcLl9TQl9BV0FLaKRX
S1NUEIAsAV9TQl8UEU1JTl8CoAaVaGmkaKEDpGkUDFNMRU4BcGhgpIdgFCFTMkJGCXJTTEVOaAFg
CEJVRkYRAmBwaEJVRkakQlVGRhRHBlNDTVACcFMyQkZoYHBTMkJGaWFwAGRwU0xFTmhlcFNMRU5p
ZnBNSU5fZWZnoiSVZGdwg4hgZABicIOIYWQAY6AGlGJjpAGhCKAGlWJjpP91ZKAGlWRlpAGhDKAG
lWRmpP+hA6QAFEcEV0NNUAJwUzJCRmhgcFMyQkZpYaAOlVNMRU5oU0xFTmmkAHAAYnBTTEVOaWOi
FpViY6APkpODiGBiAIOIYWIApAB1YqQBFBhJMkJNAXAAYKAMkpNoAHABYXlhaGCkYAhQUjBfEkER
ExINBAz//wEAAElOVEIAEg0EDP//AQABSU5UQwASDQQM//8CAABJTlRDABINBAz//wIAAUlOVEQA
Eg4EDP//AgAKAklOVEEAEg4EDP//AgAKA0lOVEIAEg0EDP//FAAASU5UQQASDQQM//8UAAFJTlRC
ABIOBAz//xQACgJJTlRDABIOBAz//xQACgNJTlREABINBAz//xIAAElOVEMAEg0EDP//EgABSU5U
QgASDQQM//8TAABJTlRDABINBAz//xMAAUlOVEIAEg0EDP//FgAASU5UQwASDQQM//8WAAFJTlRC
ABINBAz//xAAAElOVEMAEg0EDP//EAABSU5UQgASDQQM//8RAABJTlREAAhBUFIwEksOExILBAz/
/wEAAAAKLBILBAz//wEAAQAKLRILBAz//wIAAAAKGBILBAz//wIAAQAKGRIMBAz//wIACgIAChoS
DAQM//8CAAoDAAobEgsEDP//FAAAAAoQEgsEDP//FAABAAoREgwEDP//FAAKAgAKEhIMBAz//xQA
CgMAChMSCwQM//8SAAAAChISCwQM//8SAAEAChESCwQM//8TAAAAChISCwQM//8TAAEAChESCwQM
//8WAAAAChISCwQM//8WAAEAChESCwQM//8QAAAAChISCwQM//8QAAEAChESCwQM//8RAAAAChMI
UFMyXxI0BBILBAv//wBJTlRDABILBAv//wFJTlREABIMBAv//woCSU5UQQASDAQL//8KA0lOVEIA
CEFQUzISLAQSCQQL//8AAAoSEgkEC///AQAKExIKBAv//woCAAoQEgoEC///CgMAChEIUFM0XxI0
BBILBAv//wBJTlRBABILBAv//wFJTlRCABIMBAv//woCSU5UQwASDAQL//8KA0lOVEQACEFQUzQS
LAQSCQQL//8AAAoYEgkEC///AQAKGRIKBAv//woCAAoaEgoEC///CgMAChsIUFM1XxI0BBILBAv/
/wBJTlRCABILBAv//wFJTlRDABIMBAv//woCSU5URAASDAQL//8KA0lOVEEACEFQUzUSLAQSCQQL
//8AAAocEgkEC///AQAKHRIKBAv//woCAAoeEgoEC///CgMACh8IUFM2XxI0BBILBAv//wBJTlRD
ABILBAv//wFJTlREABIMBAv//woCSU5UQQASDAQL//8KA0lOVEIACEFQUzYSLAQSCQQL//8AAAog
EgkEC///AQAKIRIKBAv//woCAAoiEgoEC///CgMACiMIUFM3XxI0BBILBAv//wBJTlREABILBAv/
/wFJTlRBABIMBAv//woCSU5UQgASDAQL//8KA0lOVEMACEFQUzcSLAQSCQQL//8AAAokEgkEC///
AQAKJRIKBAv//woCAAomEgoEC///CgMACicIUFM4XxI0BBILBAv//wBJTlRBABILBAv//wFJTlRC
ABIMBAv//woCSU5UQwASDAQL//8KA0lOVEQACEFQUzgSLAQSCQQL//8AAAooEgkEC///AQAKKRIK
BAv//woCAAoqEgoEC///CgMACitbgk9vUENJMAhfSElEDEHQCggIX0NJRAxB0AoDFAhfQkJOAKQA
FAlfU1RBAKQKCxQWX1BSVACgClBNT0SkQVBSMKRQUjBfW4ILQU1SVAhfQURSAFuCD1BDU0QIX0FE
UgwAABgAW4IyUEJSNAhfQURSDAEAAgAIX1BSVxIGAgoYCgQUFl9QUlQAoApQTU9EpEFQUzSkUFM0
X1uCMlBCUjUIX0FEUgwCAAIACF9QUlcSBgIKGAoEFBZfUFJUAKAKUE1PRKRBUFM1pFBTNV9bgjJQ
QlI2CF9BRFIMAwACAAhfUFJXEgYCChgKBBQWX1BSVACgClBNT0SkQVBTNqRQUzZfW4IyUEJSNwhf
QURSDAQAAgAIX1BSVxIGAgoYCgQUFl9QUlQAoApQTU9EpEFQUzekUFM3X1uCMlBCUjgIX0FEUgwF
AAIACF9QUlcSBgIKGAoEFBZfUFJUAKAKUE1PRKRBUFM4pFBTOF9bgkMQSzEwTQhfQURSDAMAGABb
gFRDRkcCCmQKBFuBFFRDRkcBSFRDRQEAD1RMTVQHAAlbgFRDVEwCCqQKBFuBDVRDVEwBABVUTk9X
C1uFRgtUWjAwCF9TVFIROwo4QQBNAEQAIABDAFAAVQAgAEMAbwByAGUAIABUAGgAZQByAG0AYQBs
ACAAUwBlAG4AcwBvAHIAAAAUE19TVEEAoAqTSFRDRQGkCg+kABQaX1RNUAB3VE5PVwoKYHpgCgNg
pHJgC6wKABQfX1BTVgB3VExNVAoKYHpgAWByYAsIAmCkcmALrAoAFA9fSE9UAKRyX1BTVgoyABQP
X0NSVACkcl9IT1QKMgAUNl9PU0MEoBmTaBETChBbTdsz9x8cQJZXdEHAPddmpGuhFYprAENEVzF9
Q0RXMQoEQ0RXMaRrW4IPU1RDUghfQURSDAAAEQBbgg9TQlVTCF9BRFIMAAAUAFuCG1VPSDEIX0FE
UgwAABIACF9QUlcSBgIKCwoDW4IbVU9IMghfQURSDAIAEgAIX1BSVxIGAgoLCgNbghtVT0gzCF9B
RFIMAAATAAhfUFJXEgYCCgsKA1uCG1VPSDQIX0FEUgwCABMACF9QUlcSBgIKCwoDW4IbVU9INQhf
QURSDAAAFgAIX1BSVxIGAgoLCgNbghtVT0g2CF9BRFIMAgAWAAhfUFJXEgYCCgsKA1uCG1hIQzAI
X0FEUgwAABAACF9QUlcSBgIKCwoEW4JOCEFaSEQIX0FEUgwCABQAW4BBWlBEAgALAAFbgU8EQVpQ
RAAAQCFOU0RJAU5TRE8BTlNFTgEADUlQQ1IEAEwHUFdTVAIABlBNRUIBAAZQTVNUAQBABk1NQ1IB
AA9NTUxBIE1NSEEgTU1EVBAUIV9JTkkAoBqTT1NWUgoDcABOU0VOcAFOU0RPcAFOU0RJW4JNGUxJ
QlIIX0FEUgwDABQAW4BDRkdfAgALAAFbgQ5DRkdfAwBAUEJBUl8gW4JKBUxEUkMIX0hJRAxB0AwC
CENSU18REQoOhgkAAQAAAAAAAAAAeQAUMl9DUlMAikNSU18KBFNQSUKKQ1JTXwoIU1BJTHBCQVJf
U1BJQnALABBTUElMpENSU19bgiVSVEMwCF9ISUQMQdALAAhfQ1JTERAKDSIAAUcBcABwAAACeQBb
giVUTVJfCF9ISUQMQdABAAhfQ1JTERAKDSIBAEcBQABAAAAEeQBbgiJTUEtSCF9ISUQMQdAIAAhf
Q1JTEQ0KCkcBYQBhAAABeQBbgitQSUNfCF9ISUQLQdAIX0NSUxEYChUiBABHASAAIAAAAkcBoACg
AAACeQBbgk4ETUFEXwhfSElEDEHQAgAIX0NSUxE4CjUqEARHAQAAAAAQEEcBgQCBAAEDRwGHAIcA
AQFHAYkAiQABA0cBjwCPAAEBRwHAAMAAECB5AFuCJUNPUFIIX0hJRAxB0AwECF9DUlMREAoNRwHw
APAAABAiACB5AFuCD1NEQ04IX0FEUgwHABQACENSRVMRQgcKbogNAAIMAAAAAAD/AAAAAAFHAfgM
+AwBCIgNAAEMAwAAAAD3DAAA+AyIDQABDAMAALAD3wMAADAAiA0AAQwDAAAADf//AAAA84YJAAAA
AAoAAAACAIYJAAAAAAwAAAACAIYJAAAAAAAAAAAAAHkAFEMEX0NSUwCKQ1JFUwpkTU0xQopDUkVT
CmhNTTFMcFRPTTFNTTFCcA4AAAAAAQAAAGB0YFRPTTFgcGBNTTFMpENSRVMUCl9JTkkAT1NGTBRI
Bk9TRkwAoA2Sk09TVlL/pE9TVlKgKlsSXF9PU0kAcAFPU1ZSoBpfT1NJDVdpbmRvd3MgMjAwNgBw
CgJPU1ZSoSKgF1dDTVBfT1NfDUxpbnV4AHAKA09TVlKhCHAKBE9TVlKkT1NWUluAUENGRwBQQ0JB
UENMTluBTgZQQ0ZHAQDAEkAEU1RCNSAAgA2AUFQwRAFQVDFEAVBUMkQBUFQzRAFQVDREAVBUNUQB
UFQ2RAFQVDdEAVBUOEQBUFQ5RAEAhuA/U0JJRQFTQk1FAQAeU0JSSQgASAVTQkIxIABAMAAOUDky
RQFbgFNCNV8AU1RCNQsAEFuBRw1TQjVfAABAkFAwRVIBAAJQMERRAQADUDBCWQEAOFAwREQEAARQ
MElTBAAUUDBESQQAHAAQUDBQUgEATzZQMUVSAQACUDFEUQEAA1AxQlkBADhQMUREBAAEUDFJUwQA
FFAxREkEABwAEFAxUFIBAE82UDJFUgEAAlAyRFEBAANQMkJZAQA4UDJERAQABFAySVMEABRQMkRJ
BAAcABBQMlBSAQBPNlAzRVIBAAJQM0RRAQADUDNCWQEAOFAzREQEAARQM0lTBAAUUDNESQQAHAAQ
UDNQUgEUE19QSUMBoAZoQ0lSUXBoUE1PRBQGQ0lSUQAISVJRQhEJCgYjAIAYeQAISVJRUBEJCgYj
uJwIeQAIUElURhEJCgYjAAIIeQBbgk0HSU5UQQhfSElEDEHQDA8IX1VJRAEUFF9TVEEAoAhQSVJB
pAoLoQSkCgkUBl9ESVMAFAtfUFJTAKRJUlFQFB9fQ1JTAItJUlFCAUlSUU55AVBJUkFJUlFOpElS
UUIUHl9TUlMBi2gBSVJRTYJJUlFNYKAEYHZgcGBQSVJBW4JOB0lOVEIIX0hJRAxB0AwPCF9VSUQK
AhQUX1NUQQCgCFBJUkKkCguhBKQKCRQGX0RJUwAUC19QUlMApElSUVAUH19DUlMAi0lSUUIBSVJR
TnkBUElSQklSUU6kSVJRQhQeX1NSUwGLaAFJUlFNgklSUU1goARgdmBwYFBJUkJbgk4HSU5UQwhf
SElEDEHQDA8IX1VJRAoDFBRfU1RBAKAIUElSQ6QKC6EEpAoJFAZfRElTABQLX1BSUwCkSVJRUBQf
X0NSUwCLSVJRQgFJUlFOeQFQSVJDSVJRTqRJUlFCFB5fU1JTAYtoAUlSUU2CSVJRTWCgBGB2YHBg
UElSQ1uCTgdJTlRECF9ISUQMQdAMDwhfVUlECgQUFF9TVEEAoAhQSVJEpAoLoQSkCgkUBl9ESVMA
FAtfUFJTAKRJUlFQFB9fQ1JTAItJUlFCAUlSUU55AVBJUkRJUlFOpElSUUIUHl9TUlMBi2gBSVJR
TYJJUlFNYKAEYHZgcGBQSVJEW4JOB0lOVEUIX0hJRAxB0AwPCF9VSUQKBRQUX1NUQQCgCFBJUkWk
CguhBKQKCRQGX0RJUwAUC19QUlMApElSUVAUH19DUlMAi0lSUUIBSVJRTnkBUElSRUlSUU6kSVJR
QhQeX1NSUwGLaAFJUlFNgklSUU1goARgdmBwYFBJUkVbgk4HSU5URghfSElEDEHQDA8IX1VJRAoG
FBRfU1RBAKAIUElSRqQKC6EEpAoJFAZfRElTABQLX1BSUwCkUElURhQfX0NSUwCLSVJRQgFJUlFO
eQFQSVJGSVJRTqRJUlFCFB5fU1JTAYtoAUlSUU2CSVJRTWCgBGB2YHBgUElSRluCTgdJTlRHCF9I
SUQMQdAMDwhfVUlECgcUFF9TVEEAoAhQSVJHpAoLoQSkCgkUBl9ESVMAFAtfUFJTAKRJUlFQFB9f
Q1JTAItJUlFCAUlSUU55AVBJUkdJUlFOpElSUUIUHl9TUlMBi2gBSVJRTYJJUlFNYKAEYHZgcGBQ
SVJHW4JOB0lOVEgIX0hJRAxB0AwPCF9VSUQKCBQUX1NUQQCgCFBJUkikCguhBKQKCRQGX0RJUwAU
C19QUlMApElSUVAUH19DUlMAi0lSUUIBSVJRTnkBUElSSElSUU6kSVJRQhQeX1NSUwGLaAFJUlFN
gklSUU1goARgdmBwYFBJUkgQQAdQQ0kwW4JIBkdQSU8IX0hJRA1BTUQwMDMwAAhfQ0lEDUFNRDAw
MzAACF9VSUQACF9ERE4NR1BJTyBDb250cm9sbGVyAAhfQ1JTERoKF4kGAA0BBwAAAIYJAAEAFdj+
AAMAAHkAFAlfU1RBAKQKDxBPD19HUEUUBl9MMDMAFAZfTDA4ABQGX0wwOQAURQhfTDBCAIZcLwNf
U0JfUENJMFVPSDEKAoZcLwNfU0JfUENJMFVPSDIKAoZcLwNfU0JfUENJMFVPSDMKAoZcLwNfU0Jf
UENJMFVPSDQKAoZcLwNfU0JfUENJMFVPSDUKAoZcLwNfU0JfUENJMFVPSDYKAoZcLwNfU0JfUENJ
MFhIQzAKAhQGX0wxMAAUBl9MMTEAFE8EX0wxOACGXC8DX1NCX1BDSTBQQlI0CgKGXC8DX1NCX1BD
STBQQlI1CgKGXC8DX1NCX1BDSTBQQlI2CgKGXC8DX1NCX1BDSTBQQlI3CgIQDF9TSV8UBl9TU1QB
EEMLLwNfU0JfUENJMExJQlJbgk8EQ09NMQhfSElEDEHQBQEIX1VJRAEUCV9TVEEApAoPCF9DUlMR
EAoNRwH4A/gDCAgiEAB5AAhfUFJTERMKEDEARwH4A/gDCAgiEAA4eQBbgkAFQ09NMghfSElEDEHQ
BQEIX1VJRAoCFAlfU1RBAKQKDwhfQ1JTERAKDUcB+AL4AggIIggAeQAIX1BSUxETChAxAEcB+AL4
AggIIggAOHkAEE0ULl9TQl9QQ0kwW4JAFEJUTlMIX0hJRA1QUlAwMDAxAAhfQ1JTES0KKowlAAEA
AQALAAEAAAAAFwAAGQAoAAAAWQBcX1NCLlBDSTAuR1BJTwB5AAhfRFNEEkQEAhETChAU2P/aum6M
TYqRvJu/SqMBEiwCEhkCDWNvbXBhdGlibGUADWdwaW8ta2V5cwASDwINYXV0b3JlcGVhdAABW4JN
CkJUTjEIX0hJRA1QUlAwMDAxAAhfRFNEEkMJAhETChAU2P/aum6MTYqRvJu/SqMBEksHBhIRAg1s
aW51eCxjb2RlAAsBARIVAg1saW51eCxpbnB1dC10eXBlAAESFwINZGVib3VuY2UtaW50ZXJ2YWwA
CmQSEgINbGFiZWwADXN3aXRjaDEAEhACDWludGVycnVwdHMACgcSEwINZ3Bpb3MAEgkEQlROUwAA
ARBGIS5fU0JfUENJMFuCSSBMRURTCF9ISUQNUFJQMDAwMQAIX0NSUxExCi6MKQABAQEAAgABAAAA
ABcAAB0ALAAAAEQARQBGAFxfU0IuUENJMC5HUElPAHkACF9EU0QSMwIREwoQFNj/2rpujE2Kkbyb
v0qjARIcARIZAg1jb21wYXRpYmxlAA1ncGlvLWxlZHMAW4JKB0xFRDEIX0hJRA1QUlAwMDAxAAhf
RFNEEkAGAhETChAU2P/aum6MTYqRvJu/SqMBEkgEAxIaAg1sYWJlbAANYXB1MjpncmVlbjpsZWQx
ABITAg1ncGlvcwASCQRMRURTAAABEhUCDWRlZmF1bHQtc3RhdGUADW9uAFuCSwdMRUQyCF9ISUQN
UFJQMDAwMQAIX0RTRBJBBgIREwoQFNj/2rpujE2Kkbybv0qjARJJBAMSGgINbGFiZWwADWFwdTI6
Z3JlZW46bGVkMgASEwINZ3Bpb3MAEgkETEVEUwABARIWAg1kZWZhdWx0LXN0YXRlAA1vZmYAW4JK
CExFRDMIX0hJRA1QUlAwMDAxAAhfRFNEEkAHAhETChAU2P/aum6MTYqRvJu/SqMBEkgFAxIaAg1s
YWJlbAANYXB1MjpncmVlbjpsZWQzABIUAg1ncGlvcwASCgRMRURTAAoCARIkAg1saW51eCxkZWZh
dWx0LXRyaWdnZXIADWhlYXJ0YmVhdAA=
====
begin-base64 644 FACP.1
RkFDUBQBAAAG/kNPUkV2NENPUkVCT09UAAAAAENPUkUxBRggQNLpz4DS6c8AAQkAAAAAAAAAAAAA
CAAAAAAAAAQIAAAAAAAAAAAAABgIAAAQCAAAAAAAAAQCAAQIAAAAZQDpAwAAAAABAwAAAAMAAKXF
AwABCAAB+QwAAAAAAAAGAAAAAAAAAAAAAACA0unPAAAAAAEgAAIACAAAAAAAAAAAAAAAAAAAAAAA
AAEQAAAECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAMYCAAAAAAAAAFAAAEQCAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
====
begin-base64 644 HEST.5
SEVTVNABAAABQUNPUkUgIENPUkVCT09UAAAAAENPUkUAAAAAAgAAAAAAAAAAAAABAQAAAAEAAAAA
AAAAAAAAAHcAAAAAAAAABgAAAAAAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQE
AAD//////////wUEAAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQA
AP//////////EQQAABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA
//////////8ZBAAAGgQAABsEAAABAAEAAAAAAQEAAAABAAAAAxwAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAYAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQEAAD//////////wUE
AAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQAAP//////////EQQA
ABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA//////////8ZBAAA
GgQAABsEAAA=
====
begin-base64 644 HEST.7
SEVTVNABAAABaUNPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAgAAAAAAAAAAAAABAQAAAAEAAAAA
AAAAAAAAAHcAAAAAAAAABgAAAAAAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQE
AAD//////////wUEAAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQA
AP//////////EQQAABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA
//////////8ZBAAAGgQAABsEAAABAAEAAAAAAQEAAAABAAAAAxwAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAYAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQEAAD//////////wUE
AAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQAAP//////////EQQA
ABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA//////////8ZBAAA
GgQAABsEAAA=
====
begin-base64 644 HPET.11
SFBFVDgAAAABDENPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAYIiEABAAAAAAND+AAAAAAAAAAA=
====
begin-base64 644 HPET.8
SFBFVDgAAAAB1ENPUkUgIENPUkVCT09UAAAAAENPUkUAAAAAAYIiEABAAAAAAND+AAAAAAAAEAA=
====
begin-base64 644 MCFG.4
TUNGRzwAAAABp0NPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAAAAAAAAAAAAAAD4AAAAAAAAAEAA
AAAA
====
begin-base64 644 SSDT.3
U1NEVPgBAAACMUNPUkV2NENPUkVCT09UKgAAAENPUkUxBRggW4KCBABDVEJMCF9ISUQNQk9PVDAw
MDAACF9VSUQAFIsAAF9TVEEApAoLCF9DUlMRhAEACw4AhgkAAAAw7M8AgAAAeQAQgQIAXC5fU0Jf
UENJMAhUT00xDAAAANAIVE9NMgzwEgAAEI0WAFwvA19TQl9QQ0kwTElCUluCiRUAVFBNXwhfSElE
DU1TRlQwMTAxAAhfQ0lEDU1TRlQwMTAxAAhfVUlEDNOaBcsUiwAAX1NUQQCkCgAIX0NSUxGFAgAL
HwCGCQABAADU/gBQAABHATEMMQwBAokGAA8B/wAAAHkAFIIPAF9EU00MlmhgoIAKAJNgEYYBAAsQ
AKb63T0bNrROpCSNEAidFlOZamGgjwAAk2EApBGHAAAKAv8BoIwAAJNhAaQNMi4wAKCKAACTYQoC
pAoAoIEBAJNhCgOkEogAAAIKAAoAoIoAAJNhCgSkCgKggwEAk2EKBaQSigAAAwoACgAKAKCKAACT
YQoGpAoDoIoAAJNhCgekCgOgigAAk2EKCKQKAaQRhQAAAQCgjgMAk2ARhgEACxAA7VRgNxPMdUaQ
HEdW1/LUXZlqYaCNAACTYQCkEYUAAAEDoIkAAJNhAaQKAKQRhQAAAQCkEYUAAAEA
====
begin-base64 644 SSDT.6
U1NEVKZIAAACiUFNRCAgIEFHRVNBICAgAgAAAE1TRlQAAAAEEIGIBFxfU0JfCEFHUkIMAAAA+AhB
REJHEQQLAAEIQURBVBFFIAsAAgCCdoIQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIBAgAA
AAQHAAMAAAIBAAAAAAACAgECAAAAAAAEBAEAAgIAAAAAAAICAQIAAAABAQUFAgACAwAAAAAAAgIB
AgAAAAICBgYDAAIEAAAAAAABAQEBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAFEkXQUxJQgKgSwWTaAoAcBEECwABYItgCgBBMDIzcAoIQTAyM4tg
CgJBMDI0cAoBQTAyNIpgCgRBMDI1oByUg4hcLl9TQl9BREFUCgAACgBwCg9BMDI1pGChCnAKAUEw
MjWkYKATk2gKAXCDiGkKAgBgpEEwMjZgoAuTaAoCpEEwMjdpoBOTaAoDcIOIaQoCAGCkQTAyOGCg
HJNoCgZwg4hpCgQAYHCDiGkKAgBhpEEwMzFgYaATk2gKCnCDiGkKAgBgpEEwMzJgoE0Kk2gKC3CD
iGkKAgBgcIOIaQoDAGFwg4hpCgQAYn15g4hpCgUACggAYmJ9eYOIaQoGAAoQAGJifXmDiGkKBwAK
GABiYnCDiGkKCABjfXmDiGkKCQAKCABjY315g4hpCgoAChAAY2N9eYOIaQoLAAoYAGNjcIOIaQoM
AGR9eYOIaQoNAAoIAGRkfXmDiGkKDgAKEABkZH15g4hpCg8AChgAZGSkQTAzM2BhYmNkpAoAFE4F
QTAzMQJwCgBgoh6VYAoFcEEwOTRgaWGgDpNhCgFwQTA5NWBoYaV1YHARAwoKZ4tnCgBBMDIzjGcK
AkEwMzSMZwoDQTA5NnAKBEEwMjNwCgBBMDM0cGFBMDk2pGcUTghBMDk0AqAak2gKAKRcLwRfU0Jf
QVdSMEFCUjBBMDg3aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDg3aaAak2gKAqRcLwRfU0JfQVdS
MEFCUjJBMDg3aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDg3aaAak2gKBKRcLwRfU0JfQVdSMEFC
UjRBMDg3aRROCEEwOTUCoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwODhpoBqTaAoBpFwvBF9TQl9B
V1IwQUJSMUEwODhpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwODhpoBqTaAoDpFwvBF9TQl9BV1Iw
QUJSM0EwODhpoBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwODhpCEFEMDAKAAhESzAwCgAUG0EwMjYB
oAqTQUQwMGikCgBwaEFEMDBBMDExFBBBMDMyAXBoREswMEEwMTcUD0EwMzMFQTAxOGhpamtsCEFQ
MDEKAAhBUDAyCgAIQVAwMwoACEFQMDUKAAhBUDBCCv8IQVAxMAoAFEQIQTAyNwFwEQQLAAFni2cK
AEEwMjNwCgNBMDIzjGcKAkEwMzRwCgFBMDM0oByTg4hcLl9TQl9BREFUCgAACgFwCgJBMDM0pGeg
HJODiFwuX1NCX0FEQVQKAAAKAHAKAUEwMzSkZ0EwMzVooAuSk0FQMDUKAaRnQTAzNnAKAkEwMzSk
ZxQvQTAxMgCgF5KUg4hcLl9TQl9BREFUCgAACgGkCgCgDJKTQVAwNQoBpAoAQTAzNhQTQTAzNwGg
DJNoCgNwCgBBUDAxFA1BMDEwAXAKAUFQMTAURwdBMDI4AXBoQVAwNaAXkpSDiFwuX1NCX0FEQVQK
AAAKAaQKAHBBUDBCYaAgk0FQMDUKAHAKAGCiDJVgCgVBMDM4YHVgcAoAQVAwQkEwMzZwYUFQMEJw
EQQLAAFncAoDiGcKAABwCgCIZwoBAHAKAIhnCgIApGcUGkEwMzkAoA6Sk0FQMEIK/6RBUDBCpEFE
MDAUQQdBMDM1AYtoCgJBUDA2i2gKBEFQMDeLaAoGQVAwOIxoCghBUDA5jGgKCUFQMEFwCgBgoj2V
YAoFoDWTQTA0MGBBUDA2CgGgG5N7QVAwN0FQMDgACgFwQTA0MWBhQTA0MmBhoQpBMDQyYEFQMEGl
dWAULkEwNDMAcAoBQVAwMnAKAGCiHJVgCgVwQTA0NGBhoA2UYUFQMDJwYUFQMDJ1YBQuQTA0NQBw
CgBBUDAzcAoAYKIclWAKBXBBMDQ2YGGgDZRhQVAwM3BhQVAwM3VgFEsMQTAzNgBBMDQ1QTA0M6AX
kpNBUDAyQVAwMUEwMTlBUDAyQVAwMaAhlEFQMDJBUDAxXC5fU0JfQTA0N0FQMDJwQVAwMkFQMDFw
CgBgojKVYAoFcEEwNDRgYXBBMDQ4YGKgC5KTYWJBMDQ5YGGhEKAOk0FQMTAKAUEwNDlgYXVgoCGV
QVAwMkFQMDFcLl9TQl9BMDQ3QVAwMnBBUDAyQVAwMaEhoB+TQVAxMAoBXC5fU0JfQTA0N0FQMDJw
QVAwMkFQMDFwCgBBUDEwFE4IQTA0OQKgGpNoCgCkXC8EX1NCX0FXUjBBQlIwQTA1MGmgGpNoCgGk
XC8EX1NCX0FXUjBBQlIxQTA1MGmgGpNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MGmgGpNoCgOkXC8E
X1NCX0FXUjBBQlIzQTA1MGmgGpNoCgSkXC8EX1NCX0FXUjBBQlI0QTA1MGkUSQhBMDQ4AaAZk2gK
AKRcLwRfU0JfQVdSMEFCUjBBMDUxoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTGgGZNoCgKkXC8E
X1NCX0FXUjBBQlIyQTA1MaAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUxoBmTaAoEpFwvBF9TQl9B
V1IwQUJSNEEwNTEUSQhBMDQ0AaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDUyoBmTaAoBpFwvBF9T
Ql9BV1IwQUJSMUEwNTKgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MqAZk2gKA6RcLwRfU0JfQVdS
MEFCUjNBMDUyoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTIUSQhBMDQ2AaAZk2gKAKRcLwRfU0Jf
QVdSMEFCUjBBMDUzoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTOgGZNoCgKkXC8EX1NCX0FXUjBB
QlIyQTA1M6AZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUzoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEw
NTMUSQhBMDQxAaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDU0oBmTaAoBpFwvBF9TQl9BV1IwQUJS
MUEwNTSgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1NKAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU0
oBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTQUTghBMDQyAqAak2gKAKRcLwRfU0JfQVdSMEFCUjBB
MDU1aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU1aaAak2gKAqRcLwRfU0JfQVdSMEFCUjJBMDU1
aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU1aaAak2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU1aRRO
CEEwNDACoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwNTZpoBqTaAoBpFwvBF9TQl9BV1IwQUJSMUEw
NTZpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTZpoBqTaAoDpFwvBF9TQl9BV1IwQUJSM0EwNTZp
oBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTZpFEkIQTAzOAGgGZNoCgCkXC8EX1NCX0FXUjBBQlIw
QTA1N6AZk2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU3oBmTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTeg
GZNoCgOkXC8EX1NCX0FXUjBBQlIzQTA1N6AZk2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU3W4BBMTE1
AHJBR1JCDAAgDAAACwAQW4EQQTExNQEAQNoAGUExMTYBW4BBMTE3AHJBR1JCDAAwDAAACwAQW4EY
QTExNwEAQG4AE0EwMjIHAEaOQTAwOAFbgEExMTgAckFHUkIMAEAMAAALABBbgS9BMTE4AQBAkgAW
QTExOQFBMTIwBAAFAAVBMTIxBwBEcwAIQTEyMgMAA0ExMjMCW4BBMTI0AHJBR1JCDABQDAAACwAQ
W4EQQTEyNAEAQLgADkExMjUBW4BBMTAxAEFHUkILABBbgSZBMTAxAQBAMEExMDIgAEAqQTEwMyAA
QAZBMTA0IABAFkExMDUgW4cXQTEwMUExMDQMAQAhAAMAQDZBMTA2AVuHF0ExMDFBMTAzDAAAEMID
AEBeQTEwNyBbhxxBMTAxQTEwMwwEABDCAwBAXkExMDgBQTEwOQFbhxdBMTAxQTEwMww8ABDCAwBA
XkExMTAgW4cZQTEwMUExMDMMGPgDAAMAQF4ACEExMTEBW4cWQTEwMUExMDUKAAMAQH4ABEExMTIB
W4BBMTEzAHJBR1JCCwCAAAsAEFuBC0ExMTMDQTExNCAUQAZBMDQ3AaAWk2gKAXCDiFwuX1NCX0FE
QVQKAQBgoBaTaAoCcIOIXC5fU0JfQURBVAoCAGCgCZRgCvdwCvdgcHcLcQJydAr3YGEKAQAAYnh3
YgoEYgpkY2RBMDE2CjpkFAZBMDkxAxRABUEwMTYKogmSk0ExMDkKAXBpQTExMHBBMTA3YYBhYXth
CgFhcGhieWIKAWJ9YmFBMTA3ogmSk0ExMDgKAaIJkpNBMTA5CgFwQTExMGCkYBQcQTA2MAGgDJNo
CgFwCgBBMTA2oQhwCgFBMTA2FC1BMDA2AXBBMTI1YKAek0ExMTYKAKAMk2gKAHAKAUExMjWhCHAK
AEExMjWkYAhBMTI2CgAIQTEyNwoAFEcGQTAwNQGgOpNoCgCgGJNBMTI2CgBwCgFBMTI2cEExMTFB
MTI3QTAxNgpgCwEIohKSk0ExMTYKAEEwMTYKYAsBCKEkoCKTQTEyNgoBoBmTQTEyNwoBoBCTQTEx
MQoAQTAxNgpfCgEUHkEwMDkBoA2TaAoBQTAxNgpmCgChCUEwMTYKZgoBFCRBMDA3AXBBMTEyYKAM
k2gKAHAKAEExMTKhCHAKAUExMTKkYFuAUE1JTwEL1gwKAluBEFBNSU8BQTA5NwhBMDk4CFuGEkEw
OTdBMDk4AQBAcEEwOTkgW4BBQ0ZHAUEwOTkKCFuBC0FDRkcDQTEwMCBbhxZBQ0ZHQTEwMAxoAACA
AwAgQTA2NwIIQUJTTQoAFCdBMDY0AaAVk2gKAHBBMDY3QUJTTXAKAEEwNjehCnBBQlNNQTA2N1uC
hFoDQVdSMAhfSElEDEHQDAIIX1VJRAqQCFdSQlMLMAFbgkKrQUJSMAhfSElEDEHQDAIIX1VJRAqA
CEFCMTIKIAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFCMDQKAAhBQjA1CgAI
QUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIwQwoACEFCMEQKAFuA
QTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0JfQURBVHJBQjEyCg4A
AAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEwODEBQTA2OAEACgAL
QTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEByAAxBMDYzAVuHFkEw
ODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1AQALQTA3MAIADkEw
NzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4MwEAQHBBMDg0IFuH
PEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIKCwAAAAAAAwBAckEw
ODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAUTRhfSU5JAHCDiFwu
X1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFCMEVwg4hcLl9TQl9B
REFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOIXC5fU0JfQURBVHJB
QjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NCX0FEQVRyQUIxMgoG
AABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFUckFCMTIKCAAAQUIw
N3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEyCgoAAEFCMDlwg4hc
Ll9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABBQjBCcIOIXC5fU0Jf
QURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQiQTA1OABwQTAzOWCg
CpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEwCgGkCgGkCgAUKkEw
NTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1MgCgIpNcLl9TQl9B
UDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIwMKRBQjAwoQOkYHBB
MDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAzpGAUC0EwNTEApEFC
MDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0EwNjAKAUEwNjFooEAL
kpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwuX1NCX0EwNjQKAKEH
QTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsiCh6iDJNBMDY5CgFb
IgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NCX0EwNjQKAaEHQTA2
NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6aAoIYKATkJKVYEEw
NzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGkCgAUDUEwNTcAcAoA
QUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEwNzRwCgFBMDc1oDGT
aAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEwNzihFnAKAEEwNzZw
CgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoAcEEwODloCjRgoi8K
AXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRgCEFFU1ASEggKAAoA
CgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4OWAKCAqAYaAJk2EK
gHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEwODlgcmEKEABiQTA5
MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAAYnVgoQEUPUEwOTAL
ckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJSIHBqQURSUhQ8
QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIgpEFE
UlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBBMDY3QTA2NnAKAEEw
NjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5MAoACgR7YIAKBAAA
cEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoFYKJNGJKTYAoIoEEE
k2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIwN0EwOTIKAXAKAEEw
ODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1YaAJk2IKAXAKBGCh
BXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoTcAoBYqVbIgoBdWGg
CZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRwCgFBQjA1QTA2MQoB
oD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIKAlwuX1NCX0FMSUNh
CgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0JfQTA5MQoAQUIwNkFC
MDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghgoA+TQUIwNAoAcAoA
QUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKTaAoAQTAzNnBBMDY2
QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIwNmB1YHkKAWBgdmB5
YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjEIX0hJRAxB0AwCCF9V
SUQKgQhBQjEyCjQIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMKAAhBQjA0CgAIQUIw
NQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoACEFCMEMKAAhBQjBE
CgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwuX1NCX0FEQVRyQUIx
MgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcCAAJBMDgxAUEwNjgB
AAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4MgqhAwBAcgAMQTA2MwFb
hxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQBQTA3NQEAC0EwNzAC
AA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuBDkEwODMBAEBwQTA4
NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJBQjEyCgsAAAAAAAMA
QHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIxMAoAFE0YX0lOSQBw
g4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoBAABBQjBFcIOIXC5f
U0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIwMnCDiFwuX1NCX0FE
QVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hcLl9TQl9BREFUckFC
MTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0JfQURBVHJBQjEyCggA
AEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRyQUIxMgoKAABBQjA5
cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIKDAAAQUIwQnCDiFwu
X1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFCMEQUIkEwNTgAcEEw
MzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuTQUIxMAoBpAoBpAoA
FCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJB0EwNTIAoCKTXC5f
U0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyUYEFCMDCkQUIwMKED
pGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0JfQVAwM6RgFAtBMDUx
AKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9TQl9BMDYwCgFBMDYx
aKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAzCgFcLl9TQl9BMDY0
CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEwNjhbIgoeogyTQTA2
OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFcLl9TQl9BMDY0CgGh
B0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEwNTYBemgKCGCgE5CS
lWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hgpAoBpAoAFA1BMDU3
AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNwCgFBMDc0cAoBQTA3
NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFwCgFBMDc4oRZwCgBB
MDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM/////6QKAHBBMDg5aAo0
YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5NgCgCkYAhBRVNQEhII
CgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////e0EwODlgCggKgGGg
CZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gKAHBBMDg5YHJhChAA
YkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGByYQoQAGJ1YKEBFD1B
MDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkIDQURSUiBwakFE
UlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJS
IKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2CgBwQTA2N0EwNjZw
CgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM/////0EwOTAKAAoEe2CA
CgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4MXAKBWCiTRiSk2AK
CKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIwNkFCMDdBMDkyCgFw
CgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVbIgoBdWGgCZNiCgFw
CgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEwNjIKE3AKAWKlWyIK
AXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFBQjA0cAoBQUIwNUEw
NjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EKAFsiCgJcLl9TQl9B
TElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwuX1NCX0EwOTEKAEFC
MDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFicAoIYKAPk0FCMDQK
AHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoBoAqSk2gKAEEwMzZw
QTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIwN0FCMDZgdWB5CgFg
YHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NluCQqtBQlIyCF9ISUQMQdAM
AghfVUlECoIIQUIxMgpICEFCMDAKAAhBQjAxCgAIQUIwRQoACEFCMDIKAAhBQjAzCgAIQUIwNAoA
CEFCMDUKAAhBQjA2CgAIQUIwNwoACEFCMDgKAAhBQjA5CgAIQUIwQQoACEFCMEIKAAhBQjBDCgAI
QUIwRAoAW4BBMDgwAHJBR1JCfXmDiFwuX1NCX0FEQVRyQUIxMgoNAAAKDwB5g4hcLl9TQl9BREFU
ckFCMTIKDgAACgwAAAALABBbgUoEQTA4MAEAQAwACEEwNzEIQTA3MggASCZBMDY3AgACQTA4MQFB
MDY4AQAKAAtBMDY5AQBEDkEwNzkEAAFBMDc2AQBKK0EwODIgW4cWQTA4MEEwODIKoQMAQHIADEEw
NjMBW4cWQTA4MEEwODIKogMAQHIADUEwNzgBW4cnQTA4MEEwODIKpAMAQHJBMDc0AUEwNzUBAAtB
MDcwAgAOQTA3NwFbhxRBMDgwQTA4MgqlAwBAckEwNjIGW4BBMDgzAEFHUkILABBbgQ5BMDgzAQBA
cEEwODQgW4c8QTA4M0EwODR9eV5XUkJTChAAcgsACHcLAAGDiFwuX1NCX0FEQVRyQUIxMgoLAAAA
AAADAEByQTA4NQFbhyBBMDgzQTA4NH15XldSQlMKEAALKYAAAwBAckEwODYQCEFCMTAKABRNGF9J
TkkAcIOIXC5fU0JfQURBVHJBQjEyCgAAAEFCMDBwg4hcLl9TQl9BREFUckFCMTIKAQAAQUIwRXCD
iFwuX1NCX0FEQVRyQUIxMgoCAABBQjAxcIOIXC5fU0JfQURBVHJBQjEyCgMAAEFCMDJwg4hcLl9T
Ql9BREFUckFCMTIKBAAAQUIwM3CDiFwuX1NCX0FEQVRyQUIxMgoFAABBQjA0cIOIXC5fU0JfQURB
VHJBQjEyCgYAAEFCMDVwg4hcLl9TQl9BREFUckFCMTIKBwAAQUIwNnCDiFwuX1NCX0FEQVRyQUIx
MgoIAABBQjA3cIOIXC5fU0JfQURBVHJBQjEyCgkAAEFCMDhwg4hcLl9TQl9BREFUckFCMTIKCgAA
QUIwOXCDiFwuX1NCX0FEQVRyQUIxMgoLAABBQjBBcIOIXC5fU0JfQURBVHJBQjEyCgwAAEFCMEJw
g4hcLl9TQl9BREFUckFCMTIKDQAAQUIwQ3CDiFwuX1NCX0FEQVRyQUIxMgoOAABBQjBEFCJBMDU4
AHBBMDM5YKAKk2AKAaRBQjAxoAqTYAoApEFCMEUUH0EwNTMAoBWSk0FCMTAKAKALk0FCMTAKAaQK
AaQKABQqQTA1OQCgDpKTQUIwNQoApEFCMDWgEZRBQjEwCgGkdEFCMTAKAQCkCgAUSQdBMDUyAKAi
k1wuX1NCX0FQMDUKAKAOkpNBQjA1CgCkQUIwNaRBQjBFcEEwNTlgoBeSk2AKAKAMlGBBQjAwpEFC
MDChA6RgcEEwNThgoCiSk1wuX1NCX0FQMDMKAKAYlVwuX1NCX0FQMDNgpFwuX1NCX0FQMDOkYBQL
QTA1MQCkQUIwMhQLQTA1NACkQUIwMBRNDkEwNTABcGhBQjAyoBSTQUIwMwoBXC5fU0JfQTA2MAoB
QTA2MWigQAuSlUEwNjIKEKAQkpNBQjEwCgBwCgBBMDYzoQhwCgFBMDYzoBSTQUIwMwoBXC5fU0Jf
QTA2NAoAoQdBMDY1CgAIQTA2NgoAcEEwNjdBMDY2cAoAQTA2N3AKAWCiLWBwCgFBMDY4WyIKHqIM
k0EwNjkKAVsiCgqgD5NoCgGgCZNBMDcwCgCloQKlcEEwNjZBMDY3oBSTQUIwMwoBXC5fU0JfQTA2
NAoBoQdBMDY1CgGgFJNBQjAzCgFcLl9TQl9BMDYwCgAUDEEwNTUBcGhBQjEwFCJBMDU2AXpoCghg
oBOQkpVgQTA3MZKUYEEwNzKkCgGkCgAUH0EwNzMBfUFCMER5QUIwQwoDAGCgB5NoYKQKAaQKABQN
QTA1NwBwCgBBQjEwFEAIQTA2MQGgFJKVaAoCcAoBQTA3NHAKAEEwNzWgFJKVaAoDcAoBQTA3NHAK
AUEwNzWgMZNoCgFwCgFBMDc2cAoAQTA3NHAKAEEwNzVwCgBBMDc3oA+TQUIwNAoBcAoBQTA3OKEW
cAoAQTA3NnAKAUEwNzdwCgBBMDc4cGhBMDc5FEIFQTA5MwKgEZNBMDg5aAoADP////+kCgBwQTA4
OWgKNGCiLwoBcEEwODloe2AK/wBhoA6Te2EK/wBppHtgCv8Ae3phCggACv9goAeTYAoApGAIQUVT
UBISCAoACgAKAAoACgAKAAoACgAURwlBMDY1AXAKAGCgSQiSk0EwODlgCgAM/////3tBMDg5YAoI
CoBhoAmTYQqAcAoHZ6EFcAoAZ6JNBZKUYGdwQTA5M2AKEGGgCJNhCgB1YJ+gK5NoCgBwQTA4OWBy
YQoQAGJBMDkwYHJhChAAe2KACgMAAHBiiEFFU1BgAKEWcIOIQUVTUGAAYkEwOTBgcmEKEABidWCh
ARQ9QTA5MAtyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIg
cGpBRFJSFDxBMDg5CnJBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkID
QURSUiCkQURSUhQZQTA4NwGgDJKTQUIwQgoBpAoApEEwNzNoFEwlQTA4OAEIQTA2NgoAcEEwNjdB
MDY2cAoAQTA2N6AQk2gKAXAKAEEwODFwCgFgoUMFcEEwODkKAAoEYKA7kpNgDP////9BMDkwCgAK
BHtggAoEAABwQTA4OQoBCgRgoBiSk2AM/////0EwOTAKAQoEe2CACgQAAHAKAUEwODFwCgVgok0Y
kpNgCgigQQSTYAoBoBWUQUIwRQoBcEFCMEVBQjA1QTAzNlwuX1NCX0EwOTEKAUFCMDZBQjA3QTA5
MgoBcAoAQTA4NXAKA2CgN5NgCgNwCgBhcAoAYqIZlWEKPKANlEEwNjIKBHAKAWKlWyIKAXVhoAmT
YgoBcAoEYKEFcAoFYKBBBZNgCgRwCgBhcAoAYqIjlWEKUKAXkJKVQTA2MgoQkpRBMDYyChNwCgFi
pVsiCgF1YaAJk2IKAXAKB2ChFKAMk0FCMDQKAXAKBWChBXAKBmCgTgWTYAoGcAoBQUIwNHAKAUFC
MDVBMDYxCgGgP1sSXC5fU0JfQUxJQ2Z9eUFCMEMKAwBBQjBEYVwuX1NCX0FMSUNhCgBbIgoCXC5f
U0JfQUxJQ2EKAXAKA2CfcAoFYKBMBJNgCgVBMDg5CgAKAHAKAUEwODVBMDkyCgBcLl9TQl9BMDkx
CgBBQjA2QUIwN3AKAEFCMDVwCgBBQjA0cAoAQUIxMHAKAGJwCghgoA2TYAoHcAoBYnAKCGCgD5NB
QjA0CgBwCgBBQjA1oC+RlEFCMEUKAZNBUDA1CgGgHpSDiFwuX1NCX0FEQVQKAAAKAaAKkpNoCgBB
MDM2cEEwNjZBMDY3pGIURgVBMDkyAaAUlEFCMDZBQjA3dEFCMDZBQjA3YKELdEFCMDdBQjA2YHVg
eQoBYGB2YHlgQUIwOGCgD5NoCgF9QTA4NmBBMDg2oQ17QTA4NoBgAEEwODZbgkKrQUJSMwhfSElE
DEHQDAIIX1VJRAqDCEFCMTIKXAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFC
MDQKAAhBQjA1CgAIQUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIw
QwoACEFCMEQKAFuAQTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0Jf
QURBVHJBQjEyCg4AAAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEw
ODEBQTA2OAEACgALQTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEBy
AAxBMDYzAVuHFkEwODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1
AQALQTA3MAIADkEwNzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4
MwEAQHBBMDg0IFuHPEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIK
CwAAAAAAAwBAckEwODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAU
TRhfSU5JAHCDiFwuX1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFC
MEVwg4hcLl9TQl9BREFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOI
XC5fU0JfQURBVHJBQjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NC
X0FEQVRyQUIxMgoGAABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFU
ckFCMTIKCAAAQUIwN3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEy
CgoAAEFCMDlwg4hcLl9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABB
QjBCcIOIXC5fU0JfQURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQi
QTA1OABwQTAzOWCgCpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEw
CgGkCgGkCgAUKkEwNTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1
MgCgIpNcLl9TQl9BUDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIw
MKRBQjAwoQOkYHBBMDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAz
pGAUC0EwNTEApEFCMDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0Ew
NjAKAUEwNjFooEALkpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwu
X1NCX0EwNjQKAKEHQTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsi
Ch6iDJNBMDY5CgFbIgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NC
X0EwNjQKAaEHQTA2NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6
aAoIYKATkJKVYEEwNzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGk
CgAUDUEwNTcAcAoAQUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEw
NzRwCgFBMDc1oDGTaAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEw
NzihFnAKAEEwNzZwCgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoA
cEEwODloCjRgoi8KAXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRg
CEFFU1ASEggKAAoACgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4
OWAKCAqAYaAJk2EKgHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEw
ODlgcmEKEABiQTA5MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAA
YnVgoQEUPUEwOTALckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNB
RFJSIHBqQURSUhQ8QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtB
RFJCA0FEUlIgpEFEUlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBB
MDY3QTA2NnAKAEEwNjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5
MAoACgR7YIAKBAAAcEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoF
YKJNGJKTYAoIoEEEk2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIw
N0EwOTIKAXAKAEEwODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1
YaAJk2IKAXAKBGChBXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoT
cAoBYqVbIgoBdWGgCZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRw
CgFBQjA1QTA2MQoBoD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIK
AlwuX1NCX0FMSUNhCgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0Jf
QTA5MQoAQUIwNkFCMDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghg
oA+TQUIwNAoAcAoAQUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKT
aAoAQTAzNnBBMDY2QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIw
NmB1YHkKAWBgdmB5YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjQI
X0hJRAxB0AwCCF9VSUQKhAhBQjEyCnAIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMK
AAhBQjA0CgAIQUIwNQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoA
CEFCMEMKAAhBQjBECgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwu
X1NCX0FEQVRyQUIxMgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcC
AAJBMDgxAUEwNjgBAAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4Mgqh
AwBAcgAMQTA2MwFbhxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQB
QTA3NQEAC0EwNzACAA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuB
DkEwODMBAEBwQTA4NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJB
QjEyCgsAAAAAAAMAQHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIx
MAoAFE0YX0lOSQBwg4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoB
AABBQjBFcIOIXC5fU0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIw
MnCDiFwuX1NCX0FEQVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hc
Ll9TQl9BREFUckFCMTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0Jf
QURBVHJBQjEyCggAAEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRy
QUIxMgoKAABBQjA5cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIK
DAAAQUIwQnCDiFwuX1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFC
MEQUIkEwNTgAcEEwMzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuT
QUIxMAoBpAoBpAoAFCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJ
B0EwNTIAoCKTXC5fU0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyU
YEFCMDCkQUIwMKEDpGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0Jf
QVAwM6RgFAtBMDUxAKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9T
Ql9BMDYwCgFBMDYxaKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAz
CgFcLl9TQl9BMDY0CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEw
NjhbIgoeogyTQTA2OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFc
Ll9TQl9BMDY0CgGhB0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEw
NTYBemgKCGCgE5CSlWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hg
pAoBpAoAFA1BMDU3AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNw
CgFBMDc0cAoBQTA3NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFw
CgFBMDc4oRZwCgBBMDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM////
/6QKAHBBMDg5aAo0YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5Ng
CgCkYAhBRVNQEhIICgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////
e0EwODlgCggKgGGgCZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gK
AHBBMDg5YHJhChAAYkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGBy
YQoQAGJ1YKEBFD1BMDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FE
UkIDQURSUiBwakFEUlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoE
W4ELQURSQgNBRFJSIKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2
CgBwQTA2N0EwNjZwCgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM////
/0EwOTAKAAoEe2CACgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4
MXAKBWCiTRiSk2AKCKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIw
NkFCMDdBMDkyCgFwCgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVb
IgoBdWGgCZNiCgFwCgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEw
NjIKE3AKAWKlWyIKAXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFB
QjA0cAoBQUIwNUEwNjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EK
AFsiCgJcLl9TQl9BTElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwu
X1NCX0EwOTEKAEFCMDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFi
cAoIYKAPk0FCMDQKAHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoB
oAqSk2gKAEEwMzZwQTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIw
N0FCMDZgdWB5CgFgYHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NghBMDAx
CgEIQTAwMgoBCEEwMDMKAAhBMDA0CgAUKEFQVFMBoBaTaAoDQTAwNQoAcEEwMDYKAEEwMDNwQTAw
NwoAQTAwNBRKB0FXQUsBoE4Fk2gKA6AOk0EwMDQKAUEwMDcKAaEHQTAwNwoAcEEwMDhgcIOIXC5f
U0JfQURBVAoHAGGgEpCTYAoBk2EKAUEwMDlESzAwoA6TQTAwMwoAQTAwNgoBoQdBMDA2CgCgD5GT
aAoDk2gKBEEwMTBoQTAxMRRCBEEwMTEAQTAxMkEwMTNBUDAxQUQwMEEwMTRBRDAwQTAxNUFEMDCg
EJNBRDAwCgBBMDE2Cl4KAKEJQTAxNgpeCgEUMEEwMTcAcEEwMDhgcIOIXC5fU0JfQURBVAoHAGGg
EpCTYAoBk2EKAUEwMDlESzAwFE8EQTAxOAVwaGBwamJwa2OgG5NpCgB3bGJieGIL6ANhYndsY2N4
YwvoA2FjeGIKBWFieGMKBWFjfXliCgIAYGB9eWMKEQBgYEEwMTYKXWAUD0EwMTkCQTAxM2hBRDAw
CEEwMjAKAAhBMDIxCgAUHEEwMTQBoAyTaAoAcAoPQTAyMqEIcAoEQTAyMhQGQTAxNQEUFkEwMTMC
oAWTaQoAoQmgBZNoCgGhAQ==
====
begin-base64 644 SSDT.7
U1NEVMgHAAABVUFNRCAgIEFHRVNBICAgAQAAAEFNRCABAAAAEEgeXC5fUFJfUDAwMAhfUENUEiwC
ERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgD
AAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwB
AAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoD
AAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
AAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAA
AAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsK
CAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAA
AAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAA
eQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMQhfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQK
EYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwA
AAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQA
AAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAA
EQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwE
AAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxY
AgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsK
CAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBD
VghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAw
MghfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MS
RgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQA
AAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcE
CAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAA
EQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAA
AAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIA
AAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoA
DAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgA
AXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMwhfUENUEiwCERQKEYIMAH9AAABiAAHA
AAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQA
AAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIA
AAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsK
CAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMD
AAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
AAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAA
AAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQL
X1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAA
====
begin-base64 644 SSDT.8
U1NEVKZIAAACe0FNRCAgIEFHRVNBICAgAgAAAE1TRlQAAAAEEIGIBFxfU0JfCEFHUkIMAAAA+AhB
REJHEQQLAAEIQURBVBFFIAsAAgCCdoIQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAA
AQAAAAAAAAAAAAAAAAACAgECAAAAAAAEBAEAAgIAAAAAAAICAQIAAAABAQUFAgACAwAAAAAAAgIB
AgAAAAICBgYDAAIEAAAAAAACAgECAAAAAwMHBwQAAgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAFEkXQUxJQgKgSwWTaAoAcBEECwABYItgCgBBMDIzcAoIQTAyM4tg
CgJBMDI0cAoBQTAyNIpgCgRBMDI1oByUg4hcLl9TQl9BREFUCgAACgBwCg9BMDI1pGChCnAKAUEw
MjWkYKATk2gKAXCDiGkKAgBgpEEwMjZgoAuTaAoCpEEwMjdpoBOTaAoDcIOIaQoCAGCkQTAyOGCg
HJNoCgZwg4hpCgQAYHCDiGkKAgBhpEEwMzFgYaATk2gKCnCDiGkKAgBgpEEwMzJgoE0Kk2gKC3CD
iGkKAgBgcIOIaQoDAGFwg4hpCgQAYn15g4hpCgUACggAYmJ9eYOIaQoGAAoQAGJifXmDiGkKBwAK
GABiYnCDiGkKCABjfXmDiGkKCQAKCABjY315g4hpCgoAChAAY2N9eYOIaQoLAAoYAGNjcIOIaQoM
AGR9eYOIaQoNAAoIAGRkfXmDiGkKDgAKEABkZH15g4hpCg8AChgAZGSkQTAzM2BhYmNkpAoAFE4F
QTAzMQJwCgBgoh6VYAoFcEEwOTRgaWGgDpNhCgFwQTA5NWBoYaV1YHARAwoKZ4tnCgBBMDIzjGcK
AkEwMzSMZwoDQTA5NnAKBEEwMjNwCgBBMDM0cGFBMDk2pGcUTghBMDk0AqAak2gKAKRcLwRfU0Jf
QVdSMEFCUjBBMDg3aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDg3aaAak2gKAqRcLwRfU0JfQVdS
MEFCUjJBMDg3aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDg3aaAak2gKBKRcLwRfU0JfQVdSMEFC
UjRBMDg3aRROCEEwOTUCoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwODhpoBqTaAoBpFwvBF9TQl9B
V1IwQUJSMUEwODhpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwODhpoBqTaAoDpFwvBF9TQl9BV1Iw
QUJSM0EwODhpoBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwODhpCEFEMDAKAAhESzAwCgAUG0EwMjYB
oAqTQUQwMGikCgBwaEFEMDBBMDExFBBBMDMyAXBoREswMEEwMTcUD0EwMzMFQTAxOGhpamtsCEFQ
MDEKAAhBUDAyCgAIQVAwMwoACEFQMDUKAAhBUDBCCv8IQVAxMAoAFEQIQTAyNwFwEQQLAAFni2cK
AEEwMjNwCgNBMDIzjGcKAkEwMzRwCgFBMDM0oByTg4hcLl9TQl9BREFUCgAACgFwCgJBMDM0pGeg
HJODiFwuX1NCX0FEQVQKAAAKAHAKAUEwMzSkZ0EwMzVooAuSk0FQMDUKAaRnQTAzNnAKAkEwMzSk
ZxQvQTAxMgCgF5KUg4hcLl9TQl9BREFUCgAACgGkCgCgDJKTQVAwNQoBpAoAQTAzNhQTQTAzNwGg
DJNoCgNwCgBBUDAxFA1BMDEwAXAKAUFQMTAURwdBMDI4AXBoQVAwNaAXkpSDiFwuX1NCX0FEQVQK
AAAKAaQKAHBBUDBCYaAgk0FQMDUKAHAKAGCiDJVgCgVBMDM4YHVgcAoAQVAwQkEwMzZwYUFQMEJw
EQQLAAFncAoDiGcKAABwCgCIZwoBAHAKAIhnCgIApGcUGkEwMzkAoA6Sk0FQMEIK/6RBUDBCpEFE
MDAUQQdBMDM1AYtoCgJBUDA2i2gKBEFQMDeLaAoGQVAwOIxoCghBUDA5jGgKCUFQMEFwCgBgoj2V
YAoFoDWTQTA0MGBBUDA2CgGgG5N7QVAwN0FQMDgACgFwQTA0MWBhQTA0MmBhoQpBMDQyYEFQMEGl
dWAULkEwNDMAcAoBQVAwMnAKAGCiHJVgCgVwQTA0NGBhoA2UYUFQMDJwYUFQMDJ1YBQuQTA0NQBw
CgBBUDAzcAoAYKIclWAKBXBBMDQ2YGGgDZRhQVAwM3BhQVAwM3VgFEsMQTAzNgBBMDQ1QTA0M6AX
kpNBUDAyQVAwMUEwMTlBUDAyQVAwMaAhlEFQMDJBUDAxXC5fU0JfQTA0N0FQMDJwQVAwMkFQMDFw
CgBgojKVYAoFcEEwNDRgYXBBMDQ4YGKgC5KTYWJBMDQ5YGGhEKAOk0FQMTAKAUEwNDlgYXVgoCGV
QVAwMkFQMDFcLl9TQl9BMDQ3QVAwMnBBUDAyQVAwMaEhoB+TQVAxMAoBXC5fU0JfQTA0N0FQMDJw
QVAwMkFQMDFwCgBBUDEwFE4IQTA0OQKgGpNoCgCkXC8EX1NCX0FXUjBBQlIwQTA1MGmgGpNoCgGk
XC8EX1NCX0FXUjBBQlIxQTA1MGmgGpNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MGmgGpNoCgOkXC8E
X1NCX0FXUjBBQlIzQTA1MGmgGpNoCgSkXC8EX1NCX0FXUjBBQlI0QTA1MGkUSQhBMDQ4AaAZk2gK
AKRcLwRfU0JfQVdSMEFCUjBBMDUxoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTGgGZNoCgKkXC8E
X1NCX0FXUjBBQlIyQTA1MaAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUxoBmTaAoEpFwvBF9TQl9B
V1IwQUJSNEEwNTEUSQhBMDQ0AaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDUyoBmTaAoBpFwvBF9T
Ql9BV1IwQUJSMUEwNTKgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MqAZk2gKA6RcLwRfU0JfQVdS
MEFCUjNBMDUyoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTIUSQhBMDQ2AaAZk2gKAKRcLwRfU0Jf
QVdSMEFCUjBBMDUzoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTOgGZNoCgKkXC8EX1NCX0FXUjBB
QlIyQTA1M6AZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUzoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEw
NTMUSQhBMDQxAaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDU0oBmTaAoBpFwvBF9TQl9BV1IwQUJS
MUEwNTSgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1NKAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU0
oBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTQUTghBMDQyAqAak2gKAKRcLwRfU0JfQVdSMEFCUjBB
MDU1aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU1aaAak2gKAqRcLwRfU0JfQVdSMEFCUjJBMDU1
aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU1aaAak2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU1aRRO
CEEwNDACoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwNTZpoBqTaAoBpFwvBF9TQl9BV1IwQUJSMUEw
NTZpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTZpoBqTaAoDpFwvBF9TQl9BV1IwQUJSM0EwNTZp
oBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTZpFEkIQTAzOAGgGZNoCgCkXC8EX1NCX0FXUjBBQlIw
QTA1N6AZk2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU3oBmTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTeg
GZNoCgOkXC8EX1NCX0FXUjBBQlIzQTA1N6AZk2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU3W4BBMTE1
AHJBR1JCDAAgDAAACwAQW4EQQTExNQEAQNoAGUExMTYBW4BBMTE3AHJBR1JCDAAwDAAACwAQW4EY
QTExNwEAQG4AE0EwMjIHAEaOQTAwOAFbgEExMTgAckFHUkIMAEAMAAALABBbgS9BMTE4AQBAkgAW
QTExOQFBMTIwBAAFAAVBMTIxBwBEcwAIQTEyMgMAA0ExMjMCW4BBMTI0AHJBR1JCDABQDAAACwAQ
W4EQQTEyNAEAQLgADkExMjUBW4BBMTAxAEFHUkILABBbgSZBMTAxAQBAMEExMDIgAEAqQTEwMyAA
QAZBMTA0IABAFkExMDUgW4cXQTEwMUExMDQMAQAhAAMAQDZBMTA2AVuHF0ExMDFBMTAzDAAAEMID
AEBeQTEwNyBbhxxBMTAxQTEwMwwEABDCAwBAXkExMDgBQTEwOQFbhxdBMTAxQTEwMww8ABDCAwBA
XkExMTAgW4cZQTEwMUExMDMMGPgDAAMAQF4ACEExMTEBW4cWQTEwMUExMDUKAAMAQH4ABEExMTIB
W4BBMTEzAHJBR1JCCwCAAAsAEFuBC0ExMTMDQTExNCAUQAZBMDQ3AaAWk2gKAXCDiFwuX1NCX0FE
QVQKAQBgoBaTaAoCcIOIXC5fU0JfQURBVAoCAGCgCZRgCvdwCvdgcHcLcQJydAr3YGEKAQAAYnh3
YgoEYgpkY2RBMDE2CjpkFAZBMDkxAxRABUEwMTYKogmSk0ExMDkKAXBpQTExMHBBMTA3YYBhYXth
CgFhcGhieWIKAWJ9YmFBMTA3ogmSk0ExMDgKAaIJkpNBMTA5CgFwQTExMGCkYBQcQTA2MAGgDJNo
CgFwCgBBMTA2oQhwCgFBMTA2FC1BMDA2AXBBMTI1YKAek0ExMTYKAKAMk2gKAHAKAUExMjWhCHAK
AEExMjWkYAhBMTI2CgAIQTEyNwoAFEcGQTAwNQGgOpNoCgCgGJNBMTI2CgBwCgFBMTI2cEExMTFB
MTI3QTAxNgpgCwEIohKSk0ExMTYKAEEwMTYKYAsBCKEkoCKTQTEyNgoBoBmTQTEyNwoBoBCTQTEx
MQoAQTAxNgpfCgEUHkEwMDkBoA2TaAoBQTAxNgpmCgChCUEwMTYKZgoBFCRBMDA3AXBBMTEyYKAM
k2gKAHAKAEExMTKhCHAKAUExMTKkYFuAUE1JTwEL1gwKAluBEFBNSU8BQTA5NwhBMDk4CFuGEkEw
OTdBMDk4AQBAcEEwOTkgW4BBQ0ZHAUEwOTkKCFuBC0FDRkcDQTEwMCBbhxZBQ0ZHQTEwMAxoAACA
AwAgQTA2NwIIQUJTTQoAFCdBMDY0AaAVk2gKAHBBMDY3QUJTTXAKAEEwNjehCnBBQlNNQTA2N1uC
hFoDQVdSMAhfSElEDEHQDAIIX1VJRAqQCFdSQlMLMAFbgkKrQUJSMAhfSElEDEHQDAIIX1VJRAqA
CEFCMTIKIAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFCMDQKAAhBQjA1CgAI
QUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIwQwoACEFCMEQKAFuA
QTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0JfQURBVHJBQjEyCg4A
AAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEwODEBQTA2OAEACgAL
QTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEByAAxBMDYzAVuHFkEw
ODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1AQALQTA3MAIADkEw
NzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4MwEAQHBBMDg0IFuH
PEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIKCwAAAAAAAwBAckEw
ODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAUTRhfSU5JAHCDiFwu
X1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFCMEVwg4hcLl9TQl9B
REFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOIXC5fU0JfQURBVHJB
QjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NCX0FEQVRyQUIxMgoG
AABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFUckFCMTIKCAAAQUIw
N3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEyCgoAAEFCMDlwg4hc
Ll9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABBQjBCcIOIXC5fU0Jf
QURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQiQTA1OABwQTAzOWCg
CpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEwCgGkCgGkCgAUKkEw
NTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1MgCgIpNcLl9TQl9B
UDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIwMKRBQjAwoQOkYHBB
MDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAzpGAUC0EwNTEApEFC
MDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0EwNjAKAUEwNjFooEAL
kpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwuX1NCX0EwNjQKAKEH
QTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsiCh6iDJNBMDY5CgFb
IgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NCX0EwNjQKAaEHQTA2
NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6aAoIYKATkJKVYEEw
NzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGkCgAUDUEwNTcAcAoA
QUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEwNzRwCgFBMDc1oDGT
aAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEwNzihFnAKAEEwNzZw
CgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoAcEEwODloCjRgoi8K
AXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRgCEFFU1ASEggKAAoA
CgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4OWAKCAqAYaAJk2EK
gHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEwODlgcmEKEABiQTA5
MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAAYnVgoQEUPUEwOTAL
ckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJSIHBqQURSUhQ8
QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIgpEFE
UlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBBMDY3QTA2NnAKAEEw
NjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5MAoACgR7YIAKBAAA
cEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoFYKJNGJKTYAoIoEEE
k2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIwN0EwOTIKAXAKAEEw
ODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1YaAJk2IKAXAKBGCh
BXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoTcAoBYqVbIgoBdWGg
CZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRwCgFBQjA1QTA2MQoB
oD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIKAlwuX1NCX0FMSUNh
CgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0JfQTA5MQoAQUIwNkFC
MDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghgoA+TQUIwNAoAcAoA
QUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKTaAoAQTAzNnBBMDY2
QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIwNmB1YHkKAWBgdmB5
YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjEIX0hJRAxB0AwCCF9V
SUQKgQhBQjEyCjQIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMKAAhBQjA0CgAIQUIw
NQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoACEFCMEMKAAhBQjBE
CgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwuX1NCX0FEQVRyQUIx
MgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcCAAJBMDgxAUEwNjgB
AAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4MgqhAwBAcgAMQTA2MwFb
hxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQBQTA3NQEAC0EwNzAC
AA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuBDkEwODMBAEBwQTA4
NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJBQjEyCgsAAAAAAAMA
QHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIxMAoAFE0YX0lOSQBw
g4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoBAABBQjBFcIOIXC5f
U0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIwMnCDiFwuX1NCX0FE
QVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hcLl9TQl9BREFUckFC
MTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0JfQURBVHJBQjEyCggA
AEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRyQUIxMgoKAABBQjA5
cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIKDAAAQUIwQnCDiFwu
X1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFCMEQUIkEwNTgAcEEw
MzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuTQUIxMAoBpAoBpAoA
FCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJB0EwNTIAoCKTXC5f
U0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyUYEFCMDCkQUIwMKED
pGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0JfQVAwM6RgFAtBMDUx
AKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9TQl9BMDYwCgFBMDYx
aKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAzCgFcLl9TQl9BMDY0
CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEwNjhbIgoeogyTQTA2
OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFcLl9TQl9BMDY0CgGh
B0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEwNTYBemgKCGCgE5CS
lWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hgpAoBpAoAFA1BMDU3
AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNwCgFBMDc0cAoBQTA3
NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFwCgFBMDc4oRZwCgBB
MDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM/////6QKAHBBMDg5aAo0
YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5NgCgCkYAhBRVNQEhII
CgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////e0EwODlgCggKgGGg
CZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gKAHBBMDg5YHJhChAA
YkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGByYQoQAGJ1YKEBFD1B
MDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkIDQURSUiBwakFE
UlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJS
IKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2CgBwQTA2N0EwNjZw
CgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM/////0EwOTAKAAoEe2CA
CgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4MXAKBWCiTRiSk2AK
CKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIwNkFCMDdBMDkyCgFw
CgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVbIgoBdWGgCZNiCgFw
CgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEwNjIKE3AKAWKlWyIK
AXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFBQjA0cAoBQUIwNUEw
NjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EKAFsiCgJcLl9TQl9B
TElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwuX1NCX0EwOTEKAEFC
MDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFicAoIYKAPk0FCMDQK
AHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoBoAqSk2gKAEEwMzZw
QTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIwN0FCMDZgdWB5CgFg
YHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NluCQqtBQlIyCF9ISUQMQdAM
AghfVUlECoIIQUIxMgpICEFCMDAKAAhBQjAxCgAIQUIwRQoACEFCMDIKAAhBQjAzCgAIQUIwNAoA
CEFCMDUKAAhBQjA2CgAIQUIwNwoACEFCMDgKAAhBQjA5CgAIQUIwQQoACEFCMEIKAAhBQjBDCgAI
QUIwRAoAW4BBMDgwAHJBR1JCfXmDiFwuX1NCX0FEQVRyQUIxMgoNAAAKDwB5g4hcLl9TQl9BREFU
ckFCMTIKDgAACgwAAAALABBbgUoEQTA4MAEAQAwACEEwNzEIQTA3MggASCZBMDY3AgACQTA4MQFB
MDY4AQAKAAtBMDY5AQBEDkEwNzkEAAFBMDc2AQBKK0EwODIgW4cWQTA4MEEwODIKoQMAQHIADEEw
NjMBW4cWQTA4MEEwODIKogMAQHIADUEwNzgBW4cnQTA4MEEwODIKpAMAQHJBMDc0AUEwNzUBAAtB
MDcwAgAOQTA3NwFbhxRBMDgwQTA4MgqlAwBAckEwNjIGW4BBMDgzAEFHUkILABBbgQ5BMDgzAQBA
cEEwODQgW4c8QTA4M0EwODR9eV5XUkJTChAAcgsACHcLAAGDiFwuX1NCX0FEQVRyQUIxMgoLAAAA
AAADAEByQTA4NQFbhyBBMDgzQTA4NH15XldSQlMKEAALKYAAAwBAckEwODYQCEFCMTAKABRNGF9J
TkkAcIOIXC5fU0JfQURBVHJBQjEyCgAAAEFCMDBwg4hcLl9TQl9BREFUckFCMTIKAQAAQUIwRXCD
iFwuX1NCX0FEQVRyQUIxMgoCAABBQjAxcIOIXC5fU0JfQURBVHJBQjEyCgMAAEFCMDJwg4hcLl9T
Ql9BREFUckFCMTIKBAAAQUIwM3CDiFwuX1NCX0FEQVRyQUIxMgoFAABBQjA0cIOIXC5fU0JfQURB
VHJBQjEyCgYAAEFCMDVwg4hcLl9TQl9BREFUckFCMTIKBwAAQUIwNnCDiFwuX1NCX0FEQVRyQUIx
MgoIAABBQjA3cIOIXC5fU0JfQURBVHJBQjEyCgkAAEFCMDhwg4hcLl9TQl9BREFUckFCMTIKCgAA
QUIwOXCDiFwuX1NCX0FEQVRyQUIxMgoLAABBQjBBcIOIXC5fU0JfQURBVHJBQjEyCgwAAEFCMEJw
g4hcLl9TQl9BREFUckFCMTIKDQAAQUIwQ3CDiFwuX1NCX0FEQVRyQUIxMgoOAABBQjBEFCJBMDU4
AHBBMDM5YKAKk2AKAaRBQjAxoAqTYAoApEFCMEUUH0EwNTMAoBWSk0FCMTAKAKALk0FCMTAKAaQK
AaQKABQqQTA1OQCgDpKTQUIwNQoApEFCMDWgEZRBQjEwCgGkdEFCMTAKAQCkCgAUSQdBMDUyAKAi
k1wuX1NCX0FQMDUKAKAOkpNBQjA1CgCkQUIwNaRBQjBFcEEwNTlgoBeSk2AKAKAMlGBBQjAwpEFC
MDChA6RgcEEwNThgoCiSk1wuX1NCX0FQMDMKAKAYlVwuX1NCX0FQMDNgpFwuX1NCX0FQMDOkYBQL
QTA1MQCkQUIwMhQLQTA1NACkQUIwMBRNDkEwNTABcGhBQjAyoBSTQUIwMwoBXC5fU0JfQTA2MAoB
QTA2MWigQAuSlUEwNjIKEKAQkpNBQjEwCgBwCgBBMDYzoQhwCgFBMDYzoBSTQUIwMwoBXC5fU0Jf
QTA2NAoAoQdBMDY1CgAIQTA2NgoAcEEwNjdBMDY2cAoAQTA2N3AKAWCiLWBwCgFBMDY4WyIKHqIM
k0EwNjkKAVsiCgqgD5NoCgGgCZNBMDcwCgCloQKlcEEwNjZBMDY3oBSTQUIwMwoBXC5fU0JfQTA2
NAoBoQdBMDY1CgGgFJNBQjAzCgFcLl9TQl9BMDYwCgAUDEEwNTUBcGhBQjEwFCJBMDU2AXpoCghg
oBOQkpVgQTA3MZKUYEEwNzKkCgGkCgAUH0EwNzMBfUFCMER5QUIwQwoDAGCgB5NoYKQKAaQKABQN
QTA1NwBwCgBBQjEwFEAIQTA2MQGgFJKVaAoCcAoBQTA3NHAKAEEwNzWgFJKVaAoDcAoBQTA3NHAK
AUEwNzWgMZNoCgFwCgFBMDc2cAoAQTA3NHAKAEEwNzVwCgBBMDc3oA+TQUIwNAoBcAoBQTA3OKEW
cAoAQTA3NnAKAUEwNzdwCgBBMDc4cGhBMDc5FEIFQTA5MwKgEZNBMDg5aAoADP////+kCgBwQTA4
OWgKNGCiLwoBcEEwODloe2AK/wBhoA6Te2EK/wBppHtgCv8Ae3phCggACv9goAeTYAoApGAIQUVT
UBISCAoACgAKAAoACgAKAAoACgAURwlBMDY1AXAKAGCgSQiSk0EwODlgCgAM/////3tBMDg5YAoI
CoBhoAmTYQqAcAoHZ6EFcAoAZ6JNBZKUYGdwQTA5M2AKEGGgCJNhCgB1YJ+gK5NoCgBwQTA4OWBy
YQoQAGJBMDkwYHJhChAAe2KACgMAAHBiiEFFU1BgAKEWcIOIQUVTUGAAYkEwOTBgcmEKEABidWCh
ARQ9QTA5MAtyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIg
cGpBRFJSFDxBMDg5CnJBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkID
QURSUiCkQURSUhQZQTA4NwGgDJKTQUIwQgoBpAoApEEwNzNoFEwlQTA4OAEIQTA2NgoAcEEwNjdB
MDY2cAoAQTA2N6AQk2gKAXAKAEEwODFwCgFgoUMFcEEwODkKAAoEYKA7kpNgDP////9BMDkwCgAK
BHtggAoEAABwQTA4OQoBCgRgoBiSk2AM/////0EwOTAKAQoEe2CACgQAAHAKAUEwODFwCgVgok0Y
kpNgCgigQQSTYAoBoBWUQUIwRQoBcEFCMEVBQjA1QTAzNlwuX1NCX0EwOTEKAUFCMDZBQjA3QTA5
MgoBcAoAQTA4NXAKA2CgN5NgCgNwCgBhcAoAYqIZlWEKPKANlEEwNjIKBHAKAWKlWyIKAXVhoAmT
YgoBcAoEYKEFcAoFYKBBBZNgCgRwCgBhcAoAYqIjlWEKUKAXkJKVQTA2MgoQkpRBMDYyChNwCgFi
pVsiCgF1YaAJk2IKAXAKB2ChFKAMk0FCMDQKAXAKBWChBXAKBmCgTgWTYAoGcAoBQUIwNHAKAUFC
MDVBMDYxCgGgP1sSXC5fU0JfQUxJQ2Z9eUFCMEMKAwBBQjBEYVwuX1NCX0FMSUNhCgBbIgoCXC5f
U0JfQUxJQ2EKAXAKA2CfcAoFYKBMBJNgCgVBMDg5CgAKAHAKAUEwODVBMDkyCgBcLl9TQl9BMDkx
CgBBQjA2QUIwN3AKAEFCMDVwCgBBQjA0cAoAQUIxMHAKAGJwCghgoA2TYAoHcAoBYnAKCGCgD5NB
QjA0CgBwCgBBQjA1oC+RlEFCMEUKAZNBUDA1CgGgHpSDiFwuX1NCX0FEQVQKAAAKAaAKkpNoCgBB
MDM2cEEwNjZBMDY3pGIURgVBMDkyAaAUlEFCMDZBQjA3dEFCMDZBQjA3YKELdEFCMDdBQjA2YHVg
eQoBYGB2YHlgQUIwOGCgD5NoCgF9QTA4NmBBMDg2oQ17QTA4NoBgAEEwODZbgkKrQUJSMwhfSElE
DEHQDAIIX1VJRAqDCEFCMTIKXAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFC
MDQKAAhBQjA1CgAIQUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIw
QwoACEFCMEQKAFuAQTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0Jf
QURBVHJBQjEyCg4AAAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEw
ODEBQTA2OAEACgALQTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEBy
AAxBMDYzAVuHFkEwODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1
AQALQTA3MAIADkEwNzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4
MwEAQHBBMDg0IFuHPEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIK
CwAAAAAAAwBAckEwODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAU
TRhfSU5JAHCDiFwuX1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFC
MEVwg4hcLl9TQl9BREFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOI
XC5fU0JfQURBVHJBQjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NC
X0FEQVRyQUIxMgoGAABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFU
ckFCMTIKCAAAQUIwN3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEy
CgoAAEFCMDlwg4hcLl9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABB
QjBCcIOIXC5fU0JfQURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQi
QTA1OABwQTAzOWCgCpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEw
CgGkCgGkCgAUKkEwNTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1
MgCgIpNcLl9TQl9BUDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIw
MKRBQjAwoQOkYHBBMDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAz
pGAUC0EwNTEApEFCMDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0Ew
NjAKAUEwNjFooEALkpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwu
X1NCX0EwNjQKAKEHQTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsi
Ch6iDJNBMDY5CgFbIgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NC
X0EwNjQKAaEHQTA2NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6
aAoIYKATkJKVYEEwNzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGk
CgAUDUEwNTcAcAoAQUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEw
NzRwCgFBMDc1oDGTaAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEw
NzihFnAKAEEwNzZwCgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoA
cEEwODloCjRgoi8KAXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRg
CEFFU1ASEggKAAoACgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4
OWAKCAqAYaAJk2EKgHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEw
ODlgcmEKEABiQTA5MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAA
YnVgoQEUPUEwOTALckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNB
RFJSIHBqQURSUhQ8QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtB
RFJCA0FEUlIgpEFEUlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBB
MDY3QTA2NnAKAEEwNjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5
MAoACgR7YIAKBAAAcEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoF
YKJNGJKTYAoIoEEEk2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIw
N0EwOTIKAXAKAEEwODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1
YaAJk2IKAXAKBGChBXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoT
cAoBYqVbIgoBdWGgCZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRw
CgFBQjA1QTA2MQoBoD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIK
AlwuX1NCX0FMSUNhCgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0Jf
QTA5MQoAQUIwNkFCMDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghg
oA+TQUIwNAoAcAoAQUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKT
aAoAQTAzNnBBMDY2QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIw
NmB1YHkKAWBgdmB5YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjQI
X0hJRAxB0AwCCF9VSUQKhAhBQjEyCnAIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMK
AAhBQjA0CgAIQUIwNQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoA
CEFCMEMKAAhBQjBECgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwu
X1NCX0FEQVRyQUIxMgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcC
AAJBMDgxAUEwNjgBAAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4Mgqh
AwBAcgAMQTA2MwFbhxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQB
QTA3NQEAC0EwNzACAA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuB
DkEwODMBAEBwQTA4NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJB
QjEyCgsAAAAAAAMAQHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIx
MAoAFE0YX0lOSQBwg4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoB
AABBQjBFcIOIXC5fU0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIw
MnCDiFwuX1NCX0FEQVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hc
Ll9TQl9BREFUckFCMTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0Jf
QURBVHJBQjEyCggAAEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRy
QUIxMgoKAABBQjA5cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIK
DAAAQUIwQnCDiFwuX1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFC
MEQUIkEwNTgAcEEwMzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuT
QUIxMAoBpAoBpAoAFCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJ
B0EwNTIAoCKTXC5fU0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyU
YEFCMDCkQUIwMKEDpGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0Jf
QVAwM6RgFAtBMDUxAKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9T
Ql9BMDYwCgFBMDYxaKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAz
CgFcLl9TQl9BMDY0CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEw
NjhbIgoeogyTQTA2OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFc
Ll9TQl9BMDY0CgGhB0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEw
NTYBemgKCGCgE5CSlWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hg
pAoBpAoAFA1BMDU3AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNw
CgFBMDc0cAoBQTA3NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFw
CgFBMDc4oRZwCgBBMDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM////
/6QKAHBBMDg5aAo0YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5Ng
CgCkYAhBRVNQEhIICgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////
e0EwODlgCggKgGGgCZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gK
AHBBMDg5YHJhChAAYkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGBy
YQoQAGJ1YKEBFD1BMDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FE
UkIDQURSUiBwakFEUlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoE
W4ELQURSQgNBRFJSIKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2
CgBwQTA2N0EwNjZwCgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM////
/0EwOTAKAAoEe2CACgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4
MXAKBWCiTRiSk2AKCKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIw
NkFCMDdBMDkyCgFwCgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVb
IgoBdWGgCZNiCgFwCgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEw
NjIKE3AKAWKlWyIKAXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFB
QjA0cAoBQUIwNUEwNjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EK
AFsiCgJcLl9TQl9BTElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwu
X1NCX0EwOTEKAEFCMDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFi
cAoIYKAPk0FCMDQKAHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoB
oAqSk2gKAEEwMzZwQTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIw
N0FCMDZgdWB5CgFgYHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NghBMDAx
CgEIQTAwMgoBCEEwMDMKAAhBMDA0CgAUKEFQVFMBoBaTaAoDQTAwNQoAcEEwMDYKAEEwMDNwQTAw
NwoAQTAwNBRKB0FXQUsBoE4Fk2gKA6AOk0EwMDQKAUEwMDcKAaEHQTAwNwoAcEEwMDhgcIOIXC5f
U0JfQURBVAoHAGGgEpCTYAoBk2EKAUEwMDlESzAwoA6TQTAwMwoAQTAwNgoBoQdBMDA2CgCgD5GT
aAoDk2gKBEEwMTBoQTAxMRRCBEEwMTEAQTAxMkEwMTNBUDAxQUQwMEEwMTRBRDAwQTAxNUFEMDCg
EJNBRDAwCgBBMDE2Cl4KAKEJQTAxNgpeCgEUMEEwMTcAcEEwMDhgcIOIXC5fU0JfQURBVAoHAGGg
EpCTYAoBk2EKAUEwMDlESzAwFE8EQTAxOAVwaGBwamJwa2OgG5NpCgB3bGJieGIL6ANhYndsY2N4
YwvoA2FjeGIKBWFieGMKBWFjfXliCgIAYGB9eWMKEQBgYEEwMTYKXWAUD0EwMTkCQTAxM2hBRDAw
CEEwMjAKAAhBMDIxCgAUHEEwMTQBoAyTaAoAcAoPQTAyMqEIcAoEQTAyMhQGQTAxNQEUFkEwMTMC
oAWTaQoAoQmgBZNoCgGhAQ==
====
begin-base64 644 SSDT.9
U1NEVMgHAAABVUFNRCAgIEFHRVNBICAgAQAAAEFNRCABAAAAEEgeXC5fUFJfUDAwMAhfUENUEiwC
ERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgD
AAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwB
AAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoD
AAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
AAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAA
AAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsK
CAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAA
AAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAA
eQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMQhfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQK
EYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwA
AAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQA
AAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAA
EQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwE
AAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxY
AgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsK
CAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBD
VghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAw
MghfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MS
RgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQA
AAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcE
CAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAA
EQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAA
AAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIA
AAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoA
DAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgA
AXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMwhfUENUEiwCERQKEYIMAH9AAABiAAHA
AAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQA
AAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIA
AAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsK
CAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMD
AAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
AAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAA
AAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQL
X1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAA
====
begin-base64 644 TPM2.5
VFBNMkwAAAAEOENPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAAAAAAAAAAAAAAAABgAAAAAAAAAA
AAAAAAAAAAAAAQAA0OjPAAAAAA==
====
begin-base64 644 XSDT.0
WFNEVHQAAAABw0NPUkV2NENPUkVCT09UAAAAAENPUkUxBRggQO7pzwAAAABg7+nPAAAAAGDx6c8A
AAAAoPHpzwAAAADw8enPAAAAAHDy6c8AAAAAQPTpzwAAAADwPOrPAAAAAMBE6s8AAAAAQEXqzwAA
AAA=
====
begin-base64 644 headers
ClJTRCBQVFI6IENoZWNrc3VtPTg0LCBPRU1JRD1DT1JFdjQsIFJldmlzaW9uPTIsIFJzZHRBZGRy
ZXNzPTB4Y2ZlOWQwMzAKCUxlbmd0aD0zNiwgWHNkdEFkZHJlc3M9MHgwMDAwMDAwMGNmZTlkMGUw
LCBFeHRlbmRlZCBDaGVja3N1bT0xMTYKCgpYU0RUOiBMZW5ndGg9MTE2LCBSZXZpc2lvbj0xLCBD
aGVja3N1bT0xOTUsCglPRU1JRD1DT1JFdjQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJl
dmlzaW9uPTB4MCwKCUNyZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMx
CgoKCUVudHJpZXM9eyAweDAwMDAwMDAwY2ZlOWVlNDAsIDB4MDAwMDAwMDBjZmU5ZWY2MCwgMHgw
MDAwMDAwMGNmZTlmMTYwLCAweDAwMDAwMDAwY2ZlOWYxYTAsIDB4MDAwMDAwMDBjZmU5ZjFmMCwg
MHgwMDAwMDAwMGNmZTlmMjcwLCAweDAwMDAwMDAwY2ZlOWY0NDAsIDB4MDAwMDAwMDBjZmVhM2Nm
MCwgMHgwMDAwMDAwMGNmZWE0NGMwLCAweDAwMDAwMDAwY2ZlYTQ1NDAgfQoKCglEU0RUPTB4Y2Zl
OWQyODAKCUlOVF9NT0RFTD1QSUMKCVNDSV9JTlQ9OQoJU01JX0NNRD0weDAsIEFDUElfRU5BQkxF
PTB4MCwgQUNQSV9ESVNBQkxFPTB4MCwgUzRCSU9TX1JFUT0weDAKCVBNMWFfRVZUX0JMSz0weDgw
MC0weDgwMwoJUE0xYV9DTlRfQkxLPTB4ODA0LTB4ODA1CglQTTJfVE1SX0JMSz0weDgxOC0weDgx
YgoJUE0yX0dQRTBfQkxLPTB4ODEwLTB4ODE3CglQX0xWTDJfTEFUPTEwMW1zLCBQX0xWTDNfTEFU
PTEwMDFtcwoJRkxVU0hfU0laRT0wLCBGTFVTSF9TVFJJREU9MAoJRFVUWV9PRkZTRVQ9MSwgRFVU
WV9XSURUSD0zCglEQVlfQUxSTT0wLCBNT05fQUxSTT0wLCBDRU5UVVJZPTAKCUZsYWdzPXtXQklO
VkQsUFJPQ19DMSxTTFBfQlVUVE9OLFJUQ19TNCxUTVJfVkFMX0VYVH0KCgpEU0RUOiBMZW5ndGg9
NzA5MSwgUmV2aXNpb249MiwgQ2hlY2tzdW09MTg2LAoJT0VNSUQ9Q09SRXY0LCBPRU0gVGFibGUg
SUQ9Q09SRUJPT1QsIE9FTSBSZXZpc2lvbj0weDEwMDAxLAoJQ3JlYXRvciBJRD1JTlRMLCBDcmVh
dG9yIFJldmlzaW9uPTB4MjAxODA1MzEKCgpTU0RUOiBMZW5ndGg9NTA0LCBSZXZpc2lvbj0yLCBD
aGVja3N1bT00OSwKCU9FTUlEPUNPUkV2NCwgT0VNIFRhYmxlIElEPUNPUkVCT09ULCBPRU0gUmV2
aXNpb249MHgyYSwKCUNyZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMx
CgoKTUNGRzogTGVuZ3RoPTYwLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNjcsCglPRU1JRD1DT1JF
djQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJldmlzaW9uPTB4MCwKCUNyZWF0b3IgSUQ9
Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMxCgoKVFBNMjogTGVuZ3RoPTc2LCBSZXZp
c2lvbj00LCBDaGVja3N1bT01NiwKCU9FTUlEPUNPUkV2NCwgT0VNIFRhYmxlIElEPUNPUkVCT09U
LCBPRU0gUmV2aXNpb249MHgwLAoJQ3JlYXRvciBJRD1DT1JFLCBDcmVhdG9yIFJldmlzaW9uPTB4
MjAxODA1MzEKCgpBUElDOiBMZW5ndGg9MTI2LCBSZXZpc2lvbj0zLCBDaGVja3N1bT0xMzcsCglP
RU1JRD1DT1JFdjQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJldmlzaW9uPTB4MCwKCUNy
ZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMxCgoKSEVTVDogTGVuZ3Ro
PTQ2NCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTA1LAoJT0VNSUQ9Q09SRXY0LCBPRU0gVGFibGUg
SUQ9Q09SRUJPT1QsIE9FTSBSZXZpc2lvbj0weDAsCglDcmVhdG9yIElEPUNPUkUsIENyZWF0b3Ig
UmV2aXNpb249MHgyMDE4MDUzMQoKClNTRFQ6IExlbmd0aD0xODU5OCwgUmV2aXNpb249MiwgQ2hl
Y2tzdW09MTIzLAoJT0VNSUQ9QU1ELCBPRU0gVGFibGUgSUQ9QUdFU0EsIE9FTSBSZXZpc2lvbj0w
eDIsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2aXNpb249MHg0MDAwMDAwCgoKU1NEVDog
TGVuZ3RoPTE5OTIsIFJldmlzaW9uPTEsIENoZWNrc3VtPTg1LAoJT0VNSUQ9QU1ELCBPRU0gVGFi
bGUgSUQ9QUdFU0EsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUFNRCwgQ3JlYXRvciBS
ZXZpc2lvbj0weDEKCgpEUlRNOiBMZW5ndGg9MTI0LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yNDgs
CglPRU1JRD1DT1JFdjQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJldmlzaW9uPTB4MCwK
CUNyZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMxCgoKSFBFVDogTGVu
Z3RoPTU2LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xMiwKCU9FTUlEPUNPUkV2NCwgT0VNIFRhYmxl
IElEPUNPUkVCT09ULCBPRU0gUmV2aXNpb249MHgwLAoJQ3JlYXRvciBJRD1DT1JFLCBDcmVhdG9y
IFJldmlzaW9uPTB4MjAxODA1MzEKCg==
====

--
Regards,
 Mikolaj

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

Mikolaj Kucharski-3
On Mon, Aug 10, 2020 at 08:34:36PM +0000, Mikolaj Kucharski wrote:

> >Synopsis: LTE mini-PCIe modem not showing up after reboot
> >Category: kernel
> >Environment:
> System      : OpenBSD 6.7
> Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
> >Description:
> I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
> When I cold boot the system, device is properly detected:
>
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom0 at umsm0
> umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom1 at umsm1
> umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom2 at umsm2
> umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom3 at umsm3
> umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom4 at umsm4
>
> However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
> is not visible any more from the system:
>
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
>
> >How-To-Repeat:
> Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.
>
> >Fix:
> Unknown. I've looked around and found following resources:
>
> - OpenBSD misc, broken EHCI USB on AMD chipset?
> https://marc.info/?t=151192838800001&r=1&w=2
>
> - PCI: Workaround AMD EHCI controller PME bug
> https://patchwork.kernel.org/patch/9797105/
>
> - usb: host: ehci: workaround PME bug on AMD EHCI controller
> https://patchwork.kernel.org/patch/9783041/
>
> - Linux kernel, pci_fixup_amd_ehci_pme() function
> https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593
>
> - SB700 Family Product Errata
> https://www.amd.com/system/files/TechDocs/46837.pdf
>
> - AMD SB700/710/750 Register Programming Requirements
> http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf
>
> Unfortunately, I don't know how to apply solution from Linux code to OpenBSD :/

This is what I came up for a moment, but it doesn't work. If someone
sees why, I would appreciated a hint why this approach is wrong. Here is
my debugging patch. After the patch more comments.


Index: dev/pci/ehci_pci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/ehci_pci.c,v
retrieving revision 1.31
diff -u -p -u -r1.31 ehci_pci.c
--- dev/pci/ehci_pci.c 2 May 2019 20:28:46 -0000 1.31
+++ dev/pci/ehci_pci.c 16 Aug 2020 13:16:17 -0000
@@ -146,6 +146,51 @@ ehci_pci_attach(struct device *parent, s
  }
  break;
 
+ case PCI_VENDOR_AMD:
+ /* AMD Hudson-2 USB2 [1022:7808] */
+ if (PCI_PRODUCT(pa->pa_id) == 0x7808) {
+ printf(" XXX AMD Hudson-2 USB2 XXX");
+
+ int offset;
+ if (pci_get_capability(sc->sc_pc, sc->sc_tag, PCI_CAP_PWRMGMT, &offset, 0)) {
+ pcireg_t reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
+ printf(" reg=0x%08x", reg);
+
+ printf(" pme_d0=%d", (reg & (PCI_PM_CAP_PME_D0 << 16)) ? 1 : 0);
+ printf(" pme_d1=%d", (reg & (PCI_PM_CAP_PME_D1 << 16)) ? 1 : 0);
+ printf(" pme_d2=%d", (reg & (PCI_PM_CAP_PME_D2 << 16)) ? 1 : 0);
+ printf(" pme_d3hot=%d", (reg & (PCI_PM_CAP_PME_D3_HOT << 16)) ? 1 : 0);
+ printf(" pme_d3cold=%d", (reg & (PCI_PM_CAP_PME_D3_COLD << 16)) ? 1 : 0);
+
+ printf( " *");
+
+ reg &= ~((PCI_PM_CAP_PME_D3_HOT | PCI_PM_CAP_PME_D3_COLD) << 16);
+ printf(" val=0x%08x", reg);
+
+ printf(" pme_d0=%d", (reg & (PCI_PM_CAP_PME_D0 << 16)) ? 1 : 0);
+ printf(" pme_d1=%d", (reg & (PCI_PM_CAP_PME_D1 << 16)) ? 1 : 0);
+ printf(" pme_d2=%d", (reg & (PCI_PM_CAP_PME_D2 << 16)) ? 1 : 0);
+ printf(" pme_d3hot=%d", (reg & (PCI_PM_CAP_PME_D3_HOT << 16)) ? 1 : 0);
+ printf(" pme_d3cold=%d", (reg & (PCI_PM_CAP_PME_D3_COLD << 16)) ? 1 : 0);
+
+ printf( " !");
+ pci_conf_write(sc->sc_pc, sc->sc_tag, offset, reg);
+ delay(10 * 1000);
+ printf( "!");
+
+ reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
+ printf(" reg=0x%08x", reg);
+
+ delay(10 * 1000);
+
+ reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
+ printf(" reg=0x%08x", reg);
+ } else {
+ printf(" pci_get_capability PCI_CAP_PWRMGMT err");
+ }
+ }
+ break;
+
  case PCI_VENDOR_VIATECH:
  if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_VIATECH_VT6202 &&
     (PCI_REVISION(pa->pa_class) & 0xf0) == 0x60) {
Index: dev/pci/pcireg.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcireg.h,v
retrieving revision 1.59
diff -u -p -u -r1.59 pcireg.h
--- dev/pci/pcireg.h 2 Nov 2019 10:14:57 -0000 1.59
+++ dev/pci/pcireg.h 16 Aug 2020 13:16:17 -0000
@@ -533,6 +533,14 @@ typedef u_int8_t pci_revision_t;
 #define PCI_PMCSR_STATE_D1 0x0001
 #define PCI_PMCSR_STATE_D2 0x0002
 #define PCI_PMCSR_STATE_D3 0x0003
+
+/* XXX AMD Hudson-2 USB2 XXX */
+#define PCI_PM_CAP_PME_D0 0x0800 /* PME can be asserted from D0 */
+#define PCI_PM_CAP_PME_D1 0x1000 /* PME can be asserted from D1 */
+#define PCI_PM_CAP_PME_D2 0x2000 /* PME can be asserted from D2 */
+#define PCI_PM_CAP_PME_D3_HOT 0x4000 /* PME can be asserted from D3hot */
+#define PCI_PM_CAP_PME_D3_COLD 0x8000 /* PME can be asserted from D3cold */
+
 #define PCI_PMCSR_PME_STATUS 0x8000
 #define PCI_PMCSR_PME_EN 0x0100
 

Dmesg line with above patch looks as follow:

# dmesg | grep -w XXX
ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39 XXX AMD Hudson-2 USB2 XXX reg=0xfe02e401 pme_d0=1 pme_d1=1 pme_d2=1 pme_d3hot=1 pme_d3cold=1 * val=0x3e02e401 pme_d0=1 pme_d1=1 pme_d2=1 pme_d3hot=0 pme_d3cold=0 !! reg=0xfe02e401 reg=0xfe02e401: apic 4 int 18

so as you can see reg=0xfe02e401 before pci_conf_write() and after the
function call is also 0xfe02e401 where I wanted it to be 0x3e02e401.

Executing pcidump and lspci also shows unwanted value 0xfe02e401:

# pcidump -vvv -xx 0:19:0
 0:19:0: AMD Hudson-2 USB2
        0x0000: Vendor ID: 1022, Product ID: 7808
        0x0004: Command: 0006, Status: 02b0
        0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
                Interface: 20, Revision: 39
        0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xf7f26000/0x00000100
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1022 Product ID: 7808
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
        0x00c0: Capability 0x01: Power Management
                State: D0
        0x00e4: Capability 0x0a: Debug Port
        0x0000: 78081022 02b00006 0c032039 00004010
        0x0010: f7f26000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 78081022
        0x0030: 00000000 000000c0 00000000 00000105
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: a42a1141 fb7fda7b 00000000 00000000
        0x0060: 00002020 00000000 00000000 00000000
        0x0070: 000fffff c000002c 800000ff 00000000
        0x0080: 79000438 fcfe0018 00200081 64327ec7
        0x0090: 10011d4c 00000000 00000000 000f0f00
        0x00a0: 00000001 c0080000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: fe02e401 00400000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 20e0000a 00000000 01000020
        0x00f0: 00000000 00000000 00000000 00000000

# lspci -vvv -xxxx -s 00:13.0
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 39) (prog-if 20 [EHCI])
        Subsystem: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 64, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 5
        Region 0: Memory at f7f26000 (32-bit, non-prefetchable)
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+
        Capabilities: [e4] Debug port: BAR=1 offset=00e0
00: 22 10 08 78 06 00 b0 02 39 20 03 0c 10 40 00 00
10: 00 60 f2 f7 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 08 78
30: 00 00 00 00 c0 00 00 00 00 00 00 00 05 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 41 11 2a a4 7b da 7f fb 00 00 00 00 00 00 00 00
60: 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: ff ff 0f 00 2c 00 00 c0 ff 00 00 80 00 00 00 00
80: 38 04 00 79 18 00 fe fc 81 00 20 00 c7 7e 32 64
90: 4c 1d 01 10 00 00 00 00 00 00 00 00 00 0f 0f 00
a0: 01 00 00 00 00 00 08 c0 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 e4 02 fe 00 00 40 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 0a 00 e0 20 00 00 00 00 20 00 00 01
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

What I am doing wrong here?

> dmesg:
> OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 4259872768 (4062MB)
> avail mem = 4115746816 (3925MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xcfe8b020 (13 entries)
> bios0: vendor coreboot version "v4.12.0.3" date 07/30/2020
> bios0: PC Engines apu2
> acpi0 at bios0: ACPI 6.0
> acpi0: sleep states S0 S1 S4 S5
> acpi0: tables DSDT FACP SSDT MCFG TPM2 APIC HEST SSDT SSDT DRTM HPET
> acpi0: wakeup devices PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) UOH1(S3) UOH2(S3) UOH3(S3) UOH4(S3) UOH5(S3) UOH6(S3) XHC0(S4)
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xf8000000, bus 0-64
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD GX-412TC SOC, 998.28 MHz, 16-30-01
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD GX-412TC SOC, 998.21 MHz, 16-30-01
> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: AMD GX-412TC SOC, 998.14 MHz, 16-30-01
> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu2: smt 0, core 2, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: AMD GX-412TC SOC, 998.14 MHz, 16-30-01
> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu3: smt 0, core 3, package 0
> ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins
> ioapic1 at mainbus0: apid 5 pa 0xfec20000, version 21, 32 pins
> acpihpet0 at acpi0: 14318180 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PBR4)
> acpiprt2 at acpi0: bus 1 (PBR5)
> acpiprt3 at acpi0: bus 2 (PBR6)
> acpiprt4 at acpi0: bus 3 (PBR7)
> acpiprt5 at acpi0: bus 4 (PBR8)
> acpicpu0 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
> acpicpu1 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
> acpicpu2 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
> acpicpu3 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
> acpitz0 at acpi0: critical temperature is 115 degC
> acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
> extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
> extent `acpipci0 pciio' (0x0 - 0xffffffff), flags=0
>      0xcf8 - 0xcff
>      0x10000 - 0xffffffff
> extent `acpipci0 pcimem' (0x0 - 0xffffffffffffffff), flags=0
>      0x0 - 0x9ffff
>      0xe0000 - 0xcfffffff
>      0x100000000 - 0xffffffffffffffff
> acpicmos0 at acpi0
> amdgpio0 at acpi0 GPIO uid 0 addr 0xfed81500/0x300 irq 7, 184 pins
> "PRP0001" at acpi0 not configured
> "PRP0001" at acpi0 not configured
> "PRP0001" at acpi0 not configured
> "PRP0001" at acpi0 not configured
> "PRP0001" at acpi0 not configured
> "PRP0001" at acpi0 not configured
> "BOOT0000" at acpi0 not configured
> cpu0: 998 MHz: speeds: 1000 800 600 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "AMD 16h Root Complex" rev 0x00
> vendor "AMD", unknown product 0x1567 (class system subclass IOMMU, rev 0x00) at pci0 dev 0 function 2 not configured
> pchb1 at pci0 dev 2 function 0 "AMD 16h Host" rev 0x00
> ppb0 at pci0 dev 2 function 2 "AMD 16h PCIE" rev 0x00: msi
> pci1 at ppb0 bus 1
> em0 at pci1 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:0d:b9:55:96:04
> ppb1 at pci0 dev 2 function 3 "AMD 16h PCIE" rev 0x00: msi
> pci2 at ppb1 bus 2
> em1 at pci2 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:0d:b9:55:96:05
> ppb2 at pci0 dev 2 function 4 "AMD 16h PCIE" rev 0x00: msi
> pci3 at ppb2 bus 3
> em2 at pci3 dev 0 function 0 "Intel I210" rev 0x03: msi, address 00:0d:b9:55:96:06
> ppb3 at pci0 dev 2 function 5 "AMD 16h PCIE" rev 0x00: msi
> pci4 at ppb3 bus 4
> athn0 at pci4 dev 0 function 0 "Atheros AR9281" rev 0x01: apic 5 int 16
> athn0: AR9280 rev 2 (2T2R), ROM rev 22, address 04:f0:21:45:6a:c4
> ccp0 at pci0 dev 8 function 0 "AMD 16h Crypto" rev 0x00
> xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x11: msi, xHCI 1.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
> ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: apic 4 int 19, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, TS128GMSA370, P122> naa.57c35481856c8911
> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
> usb1 at ehci0: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
> piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x42: SMI
> iic0 at piixpm0
> iic1 at piixpm0
> iic1: addr 0x4c 3e=00 48=00 4a=00 4e=00 fc=00 fe=00 words 00=ffff 01=ffff 02=ffff 03=ffff 04=ffff 05=ffff 06=ffff 07=ffff
> pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
> sdhc0 at pci0 dev 20 function 7 "AMD Bolton SD/MMC" rev 0x01: apic 4 int 16
> sdhc0: SDHC 2.0, 50 MHz base clock
> sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
> pchb2 at pci0 dev 24 function 0 "AMD 16h Link Cfg" rev 0x00
> pchb3 at pci0 dev 24 function 1 "AMD 16h Address Map" rev 0x00
> pchb4 at pci0 dev 24 function 2 "AMD 16h DRAM Cfg" rev 0x00
> km0 at pci0 dev 24 function 3 "AMD 16h Misc Cfg" rev 0x00
> pchb5 at pci0 dev 24 function 4 "AMD 16h CPU Power" rev 0x00
> pchb6 at pci0 dev 24 function 5 "AMD 16h Misc Cfg" rev 0x00
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com0: console
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 irq 7
> intr_establish: pic ioapic0 pin 7: can't share type 3 with 2
> wbsio0 at isa0 port 0x2e/2: NCT5104D rev 0x53
> vmm0 at mainbus0: SVM/RVI
> umsm0 at uhub0 port 4 configuration 1 interface 0 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
> ucom0 at umsm0
> umsm1 at uhub0 port 4 configuration 1 interface 1 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
> ucom1 at umsm1
> umsm2 at uhub0 port 4 configuration 1 interface 2 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
> ucom2 at umsm2
> umsm3 at uhub0 port 4 configuration 1 interface 3 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
> ucom3 at umsm3
> umsm4 at uhub0 port 4 configuration 1 interface 4 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
> umsm5 at uhub0 port 4 configuration 1 interface 5 "Huawei Technologies HUAWEI Mobile" rev 2.00/0.00 addr 2
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> umsm6 at uhub2 port 3 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom4 at umsm6
> umsm7 at uhub2 port 3 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom5 at umsm7
> umsm8 at uhub2 port 3 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom6 at umsm8
> umsm9 at uhub2 port 3 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom7 at umsm9
> umsm10 at uhub2 port 3 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom8 at umsm10
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (f4c61a8acb9563fd.a) swap on sd0b dump on sd0b
>
> usbdevs:
> Controller /dev/usb0:
> addr 01: 1022:0000 AMD, xHCI root hub
> super speed, self powered, config 1, rev 1.00
> driver: uhub0
> addr 02: 12d1:140c Huawei Technologies, HUAWEI Mobile
> high speed, power 500 mA, config 1, rev 0.00
> driver: umsm0
> driver: umsm1
> driver: umsm2
> driver: umsm3
> Controller /dev/usb1:
> addr 01: 1022:0000 AMD, EHCI root hub
> high speed, self powered, config 1, rev 1.00
> driver: uhub1
> addr 02: 0438:7900 Advanced Micro Devices, Hub
> high speed, self powered, config 1, rev 0.18
> driver: uhub2
> addr 03: 1199:9071 Sierra Wireless, Incorporated, Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A
> high speed, power 500 mA, config 1, rev 0.06, iSerial LQ80634656021021
> driver: umsm6
> driver: umsm7
> driver: umsm8
> driver: umsm9
>
> pcidump:
> Domain /dev/pci0:
>  0:0:0: AMD 16h Root Complex
> 0x0000: Vendor ID: 1022, Product ID: 1566
> 0x0004: Command: 0004, Status: 0000
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 1566
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 15661022 00000004 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 15661022
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000000 00000000 00000080 00000000
> 0x0050: 15661022 00000000 00000000 00000000
> 0x0060: 00000046 00001063 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000001
> 0x0080: 00000000 00000008 00000000 00000000
> 0x0090: d0000000 00000026 00000000 00000000
> 0x00a0: 01308001 deadbeef 00000000 00000000
> 0x00b0: 00000000 00000000 c2100004 00000003
> 0x00c0: 00000000 00000000 00120001 00140000
> 0x00d0: 013014b6 00000000 00000000 00000000
> 0x00e0: 01300000 0700202c 00000000 00000000
> 0x00f0: 00000000 00808000 00000000 00000005
>  0:0:2: AMD unknown
> 0x0000: Vendor ID: 1022, Product ID: 1567
> 0x0004: Command: 0000, Status: 0010
> 0x0008: Class: 08 System, Subclass: 06 IOMMU,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 1567
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0040: Capability 0x0f: Secure
> 0x0064: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: no
> 0x0074: Capability 0x08: AMD LDT/HT
> 0x0000: 15671022 00100000 08060000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 15671022
> 0x0030: 00000000 00000040 00000000 00000100
> 0x0040: 190b640f 00000000 00000000 00000000
> 0x0050: 00203040 00000000 00000000 00000000
> 0x0060: 00000000 00847405 00000000 00000000
> 0x0070: 00000000 a8030008 15671022 00002b01
> 0x0080: 00200ad2 00000008 00000000 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000190 00000050 80000007 00025841
>  0:2:0: AMD 16h Host
> 0x0000: Vendor ID: 1022, Product ID: 156b
> 0x0004: Command: 0000, Status: 0000
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 156b1022 00000000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000080 00000000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:2:2: AMD 16h PCIE
> 0x0000: Vendor ID: 1022, Product ID: 1439
> 0x0004: Command: 0007, Status: 0010
> 0x0008: Class: 06 Bridge, Subclass: 04 PCI,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 1,
> Secondary Latency Timer: 00
> 0x001c: I/O Base: 11, I/O Limit: 11, Secondary Status: 2000
> 0x0020: Memory Base: f790, Memory Limit: f790
> 0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
> 0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
> 0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
> 0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
> 0x0038: Expansion ROM Base Address: 00000000
> 0x003c: Interrupt Pin: 02, Line: 05, Bridge Control: 0013
> 0x0050: Capability 0x01: Power Management
> State: D0
> 0x0058: Capability 0x10: PCI Express
> Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x0b: Vendor-Specific
> 0x0150: Enhanced Capability 0x01: Advanced Error Reporting
> 0x02a0: Enhanced Capability 0x0d: Access Control Services
> 0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x00b0: Capability 0x0d: PCI-PCI
> 0x00b8: Capability 0x08: AMD LDT/HT
> 0x0000: 14391022 00100007 06040000 00810010
> 0x0010: 00000000 00000000 00010100 20001111
> 0x0020: f790f790 f7e1f7f1 00000000 00000000
> 0x0030: 00000000 00000050 00000000 00130205
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: c8035801 00000000 0142a010 00008022
> 0x0060: 00002830 01733c12 70110040 00040000
> 0x0070: 00400000 00010000 00000000 0070001f
> 0x0080: 00008006 00000006 00010002 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 0081b005 fee00000 00000000 00000062
> 0x00b0: 0000b80d 12341022 a8030008 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 100000c1 00000006 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:2:3: AMD 16h PCIE
> 0x0000: Vendor ID: 1022, Product ID: 1439
> 0x0004: Command: 0007, Status: 0010
> 0x0008: Class: 06 Bridge, Subclass: 04 PCI,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: Primary Bus: 0, Secondary Bus: 2, Subordinate Bus: 2,
> Secondary Latency Timer: 00
> 0x001c: I/O Base: 21, I/O Limit: 21, Secondary Status: 0000
> 0x0020: Memory Base: f7a0, Memory Limit: f7a0
> 0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
> 0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
> 0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
> 0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
> 0x0038: Expansion ROM Base Address: 00000000
> 0x003c: Interrupt Pin: 03, Line: 03, Bridge Control: 0013
> 0x0050: Capability 0x01: Power Management
> State: D0
> 0x0058: Capability 0x10: PCI Express
> Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x0b: Vendor-Specific
> 0x0150: Enhanced Capability 0x01: Advanced Error Reporting
> 0x02a0: Enhanced Capability 0x0d: Access Control Services
> 0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x00b0: Capability 0x0d: PCI-PCI
> 0x00b8: Capability 0x08: AMD LDT/HT
> 0x0000: 14391022 00100007 06040000 00810010
> 0x0010: 00000000 00000000 00020200 00002121
> 0x0020: f7a0f7a0 f7e1f7f1 00000000 00000000
> 0x0030: 00000000 00000050 00000000 00130303
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: c8035801 00000000 0142a010 00008022
> 0x0060: 00002830 02733c12 30110040 00040000
> 0x0070: 00400000 00010000 00000000 0070001f
> 0x0080: 00008006 00000006 00010002 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 0081b005 fee00000 00000000 00000063
> 0x00b0: 0000b80d 12341022 a8030008 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 100000c1 00000006 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:2:4: AMD 16h PCIE
> 0x0000: Vendor ID: 1022, Product ID: 1439
> 0x0004: Command: 0007, Status: 0010
> 0x0008: Class: 06 Bridge, Subclass: 04 PCI,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: Primary Bus: 0, Secondary Bus: 3, Subordinate Bus: 3,
> Secondary Latency Timer: 00
> 0x001c: I/O Base: 31, I/O Limit: 31, Secondary Status: 0000
> 0x0020: Memory Base: f7b0, Memory Limit: f7b0
> 0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
> 0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
> 0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
> 0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
> 0x0038: Expansion ROM Base Address: 00000000
> 0x003c: Interrupt Pin: 04, Line: 05, Bridge Control: 0013
> 0x0050: Capability 0x01: Power Management
> State: D0
> 0x0058: Capability 0x10: PCI Express
> Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x0b: Vendor-Specific
> 0x0150: Enhanced Capability 0x01: Advanced Error Reporting
> 0x02a0: Enhanced Capability 0x0d: Access Control Services
> 0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x00b0: Capability 0x0d: PCI-PCI
> 0x00b8: Capability 0x08: AMD LDT/HT
> 0x0000: 14391022 00100007 06040000 00810010
> 0x0010: 00000000 00000000 00030300 00003131
> 0x0020: f7b0f7b0 f7e1f7f1 00000000 00000000
> 0x0030: 00000000 00000050 00000000 00130405
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: c8035801 00000000 0142a010 00008022
> 0x0060: 00002830 03733c12 30110040 00040000
> 0x0070: 00400000 00010000 00000000 0070001f
> 0x0080: 00008006 00000006 00010002 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 0081b005 fee00000 00000000 00000064
> 0x00b0: 0000b80d 12341022 a8030008 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 100000c1 00000006 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:2:5: AMD 16h PCIE
> 0x0000: Vendor ID: 1022, Product ID: 1439
> 0x0004: Command: 0006, Status: 0010
> 0x0008: Class: 06 Bridge, Subclass: 04 PCI,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 81, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: Primary Bus: 0, Secondary Bus: 4, Subordinate Bus: 4,
> Secondary Latency Timer: 00
> 0x001c: I/O Base: f1, I/O Limit: 01, Secondary Status: 0000
> 0x0020: Memory Base: f7c0, Memory Limit: f7c0
> 0x0024: Prefetch Memory Base: f7f1, Prefetch Memory Limit: f7e1
> 0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
> 0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
> 0x0030: I/O Base Upper 16 Bits: ffff, I/O Limit Upper 16 Bits: 0000
> 0x0038: Expansion ROM Base Address: 00000000
> 0x003c: Interrupt Pin: 01, Line: 03, Bridge Control: 0013
> 0x0050: Capability 0x01: Power Management
> State: D0
> 0x0058: Capability 0x10: PCI Express
> Link Speed: 2.5 / 5.0 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x0b: Vendor-Specific
> 0x0150: Enhanced Capability 0x01: Advanced Error Reporting
> 0x02a0: Enhanced Capability 0x0d: Access Control Services
> 0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x00b0: Capability 0x0d: PCI-PCI
> 0x00b8: Capability 0x08: AMD LDT/HT
> 0x0000: 14391022 00100006 06040000 00810010
> 0x0010: 00000000 00000000 00040400 000001f1
> 0x0020: f7c0f7c0 f7e1f7f1 00000000 00000000
> 0x0030: 0000ffff 00000050 00000000 00130103
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: c8035801 00000000 0142a010 00008022
> 0x0060: 00002810 04733c12 70110040 00040000
> 0x0070: 00400000 00010000 00000000 0070001f
> 0x0080: 00008006 00000006 00010002 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 0081b005 fee00000 00000000 00000065
> 0x00b0: 0000b80d 12341022 a8030008 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 100000c1 00000006 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:8:0: AMD 16h Crypto
> 0x0000: Vendor ID: 1022, Product ID: 1537
> 0x0004: Command: 0006, Status: 0010
> 0x0008: Class: 10 Crypto, Subclass: 80 Miscellaneous,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR mem prefetchable 64bit addr: 0x00000000f7f00000/0x00020000
> 0x0018: BAR mem 32bit addr: 0xf7d00000/0x00100000
> 0x001c: BAR mem 32bit addr: 0xf7f24000/0x00001000
> 0x0020: BAR mem 32bit addr: 0xf7e00000/0x00100000
> 0x0024: BAR mem 32bit addr: 0xf7f20000/0x00002000
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 1537
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0050: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
> Enabled: no; table size 2 (BAR 5:0)
> 0x005c: Capability 0x08: AMD LDT/HT
> 0x0060: Capability 0x01: Power Management
> State: D0
> 0x0000: 15371022 00100006 10800000 00000000
> 0x0010: f7f0000c 00000000 f7d00000 f7f24000
> 0x0020: f7e00000 f7f20000 00000000 15371022
> 0x0030: 00000000 00000050 00000000 00000000
> 0x0040: 10800000 15370000 00000000 15371022
> 0x0050: 00015c11 00000005 00001005 a8036008
> 0x0060: 00030001 00000008 00920010 00008fe0
> 0x0070: 00000910 00000000 00000000 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 00000000 01060013 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 0000004c 00000000
> 0x00f0: 00000049 00000003 00000000 00000000
>  0:16:0: AMD Bolton xHCI
> 0x0000: Vendor ID: 1022, Product ID: 7814
> 0x0004: Command: 0006, Status: 0010
> 0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
> Interface: 30, Revision: 11
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem 64bit addr: 0x00000000f7f22000/0x00002000
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 1410
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
> 0x0050: Capability 0x01: Power Management
> State: D0
> 0x0070: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x0090: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
> Enabled: no; table size 8 (BAR 0:4096)
> 0x00a0: Capability 0x10: PCI Express
> 0x0100: Enhanced Capability 0x18: Latency Tolerance Reporting
> 0x0000: 78141022 00100006 0c033011 00000010
> 0x0010: f7f22004 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 14101022
> 0x0030: 00000000 00000050 00000000 00000105
> 0x0040: 00000000 01000020 00000004 0fff0011
> 0x0050: c8037001 00000008 00000000 00000000
> 0x0060: 00002030 00000000 00000000 00000000
> 0x0070: 00879005 fee00000 00000000 00000066
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 0007a011 00001000 00001080 00000000
> 0x00a0: 00920010 00008fc0 00102800 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000810 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00001ffc 00000000 00000000 00000000
> 0x00f0: 00801708 00000000 00000000 00000000
>  0:17:0: AMD Hudson-2 SATA
> 0x0000: Vendor ID: 1022, Product ID: 7801
> 0x0004: Command: 0007, Status: 0230
> 0x0008: Class: 01 Mass Storage, Subclass: 06 SATA,
> Interface: 01, Revision: 40
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
> Cache Line Size: 10
> 0x0010: BAR io addr: 0x00004010/0x0008
> 0x0014: BAR io addr: 0x00004020/0x0004
> 0x0018: BAR io addr: 0x00004018/0x0008
> 0x001c: BAR io addr: 0x00004024/0x0004
> 0x0020: BAR io addr: 0x00004000/0x0010
> 0x0024: BAR mem 32bit addr: 0xf7f25000/0x00000400
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 7801
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0060: Capability 0x01: Power Management
> State: D0
> 0x0070: Capability 0x12: SATA
> 0x0000: 78011022 02300007 01060140 00004010
> 0x0010: 00004011 00004021 00004019 00004025
> 0x0020: 00004001 f7f25000 00000000 78011022
> 0x0030: 00000000 00000060 00000000 00000100
> 0x0040: 00002004 00200001 800010ea fa030301
> 0x0050: 0080d005 00000000 00000000 00000000
> 0x0060: 40237001 00000000 00000000 00000000
> 0x0070: 00100012 0000000f 00000000 00000000
> 0x0080: 00000010 04140006 200001ab 6070007d
> 0x0090: 00007045 0018000c 00403103 0f8f0a86
> 0x00a0: 0000c801 00009080 00000000 00000000
> 0x00b0: 00000000 00000000 00002000 00000000
> 0x00c0: 00000000 00000000 ff000010 00000000
> 0x00d0: 03060013 00640000 00080000 00000000
> 0x00e0: 00000080 00000000 c7746027 01ff01ff
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:19:0: AMD Hudson-2 USB2
> 0x0000: Vendor ID: 1022, Product ID: 7808
> 0x0004: Command: 0006, Status: 02b0
> 0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
> Interface: 20, Revision: 39
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
> Cache Line Size: 10
> 0x0010: BAR mem 32bit addr: 0xf7f26000/0x00000100
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 7808
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
> 0x00c0: Capability 0x01: Power Management
> State: D0
> 0x00e4: Capability 0x0a: Debug Port
> 0x0000: 78081022 02b00006 0c032039 00004010
> 0x0010: f7f26000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 78081022
> 0x0030: 00000000 000000c0 00000000 00000105
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: a42a1141 fb7fda7b 00000000 00000000
> 0x0060: 00002020 00000000 00000000 00000000
> 0x0070: 000fffff c000002c 800000ff 00000000
> 0x0080: 79000438 fcfe0018 00200081 64327ec7
> 0x0090: 10011d4c 00000000 00000000 000b0f00
> 0x00a0: 00000001 c0080000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: fe02e401 00400000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 20e0000a 00000000 01000020
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:20:0: AMD Hudson-2 SMBus
> 0x0000: Vendor ID: 1022, Product ID: 780b
> 0x0004: Command: 0403, Status: 0220
> 0x0008: Class: 0c Serial Bus, Subclass: 05 SMBus,
> Interface: 00, Revision: 42
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 780b
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 780b1022 02200403 0c050042 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 780b1022
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:20:3: AMD Hudson-2 LPC
> 0x0000: Vendor ID: 1022, Product ID: 780e
> 0x0004: Command: 000f, Status: 0220
> 0x0008: Class: 06 Bridge, Subclass: 01 ISA,
> Interface: 00, Revision: 11
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 780e
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 780e1022 0220000f 06010011 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 780e1022
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000004 ff03ffd5 0320ff07 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00000000 03e80e00 000f000e ffffff00
> 0x0070: 00234567 0000000c 00000090 00000a05
> 0x0080: a8030008 00000000 00000000 00000000
> 0x0090: 000002e8 00000000 00000000 00000000
> 0x00a0: fec10002 0000012f 00000000 00000000
> 0x00b0: 00000000 00000000 3de90004 00000000
> 0x00c0: 00000000 00000000 80000000 fff20107
> 0x00d0: 08ffff86 00000042 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:20:7: AMD Bolton SD/MMC
> 0x0000: Vendor ID: 1022, Product ID: 7813
> 0x0004: Command: 0006, Status: 0220
> 0x0008: Class: 08 System, Subclass: 05 SDHC,
> Interface: 01, Revision: 01
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 47,
> Cache Line Size: 10
> 0x0010: BAR mem 64bit addr: 0x00000000f7f27000/0x00000100
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 7806
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 78131022 02200006 08050101 00804710
> 0x0010: f7f27004 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 78061022
> 0x0030: 00000000 00000000 00000000 00000100
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 00800005 00000000 00000000 00000000
> 0x0090: 80030001 00000000 00000000 00000000
> 0x00a0: 00000002 31fe32b2 00000070 00c80064
> 0x00b0: 01180c19 80000001 88000000 0044cc98
> 0x00c0: 00000003 00000000 00000000 00000000
> 0x00d0: 0000078b 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 000400fa 00040002 00010002 00014000
>  0:24:0: AMD 16h Link Cfg
> 0x0000: Vendor ID: 1022, Product ID: 1580
> 0x0004: Command: 0000, Status: 0010
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 15801022 00100000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00040201 00000000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00030000 0000c8e0 004e881f 580ffe00
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 00000000 00111020 00000000 00000013
> 0x0090: 800501a5 02010000 00000027 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:24:1: AMD 16h Address Map
> 0x0000: Vendor ID: 1022, Product ID: 1581
> 0x0004: Command: 0000, Status: 0000
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 15811022 00000000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000003 012e0000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 00fed003 00fedf80 00d00003 00fecf00
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000003 0000f000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: ff000003 00000000 00000000 00000000
> 0x00f0: d0003003 00000001 00000000 00000000
>  0:24:2: AMD 16h DRAM Cfg
> 0x0000: Vendor ID: 1022, Product ID: 1582
> 0x0004: Command: 0000, Status: 0000
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 15821022 00000000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000001 00000000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00f8ffe0 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00020000 18080090
> 0x0080: 0000000a 00800005 3e000000 00020000
> 0x0090: 83090000 9f49888e 8d0f001f 00006006
> 0x00a0: 001f03a0 00000000 80320000 00000000
> 0x00b0: d946c26a 00000054 6fc07fbd 08340d00
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 8a8a0fd1 5d76ebff eef017d7 e2a3648b
> 0x00e0: c0c728ae 41b06fef 9de5af0d 6ee5cfc9
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:24:3: AMD 16h Misc Cfg
> 0x0000: Vendor ID: 1022, Product ID: 1583
> 0x0004: Command: 0000, Status: 0010
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x00f0: Capability 0x0f: Secure
> 0x0000: 15831022 00100000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 000000f0 00000000 00000000
> 0x0040: 00000000 48700044 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000001
> 0x0060: 00000000 426a0025 40000000 10010052
> 0x0070: 10131153 011c0101 00180810 0005061b
> 0x0080: 00000000 00000002 00850000 40c80000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: a08c4800 40000fef 90000000 00000000
> 0x00b0: 00000000 00000000 e80003de 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 98800f0a 00000040 68786400
> 0x00e0: 00000000 00000020 01f74f18 00000000
> 0x00f0: 0010000f 00000000 00000000 00730f01
>  0:24:4: AMD 16h CPU Power
> 0x0000: Vendor ID: 1022, Product ID: 1584
> 0x0004: Command: 0000, Status: 0000
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 15841022 00000000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: 00000000 0000ffff 00000000 00000000
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  0:24:5: AMD 16h Misc Cfg
> 0x0000: Vendor ID: 1022, Product ID: 1585
> 0x0004: Command: 0000, Status: 0000
> 0x0008: Class: 06 Bridge, Subclass: 00 Host,
> Interface: 00, Revision: 00
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 00
> 0x0010: BAR empty (00000000)
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
> 0x0000: 15851022 00000000 06000000 00800000
> 0x0010: 00000000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 00000000
> 0x0030: 00000000 00000000 00000000 00000000
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: 00000000 00000000 00000000 00000000
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 00000000 00000000 00000000 00000000
> 0x0080: 01000001 0e0ef003 010e1001 84008002
> 0x0090: 42a921ec 00000055 01000000 00000000
> 0x00a0: 00000000 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 0400035b 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 000014b1 00000000 007bac28 00000000
> 0x00f0: 000000fc 40000002 00000000 00000000
>  1:0:0: Intel I210
> 0x0000: Vendor ID: 8086, Product ID: 157b
> 0x0004: Command: 0007, Status: 0010
> 0x0008: Class: 02 Network, Subclass: 00 Ethernet,
> Interface: 00, Revision: 03
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem 32bit addr: 0xf7900000/0x00020000
> 0x0014: BAR empty (00000000)
> 0x0018: BAR io addr: 0x00001000/0x0020
> 0x001c: BAR mem 32bit addr: 0xf7920000/0x00004000
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 03 Min Gnt: 00 Max Lat: 00
> 0x0040: Capability 0x01: Power Management
> State: D0
> 0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x0070: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
> Enabled: no; table size 5 (BAR 3:0)
> 0x00a0: Capability 0x10: PCI Express
> Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x01: Advanced Error Reporting
> 0x0140: Enhanced Capability 0x03: Device Serial Number
> Serial Number: 000db9ffff559604
> 0x01a0: Enhanced Capability 0x17: TPH Requester
> 0x0000: 157b8086 00100007 02000003 00000010
> 0x0010: f7900000 00000000 00001001 f7920000
> 0x0020: 00000000 00000000 00000000 00008086
> 0x0030: 00000000 00000040 00000000 00000103
> 0x0040: c8235001 00002008 00000000 00000000
> 0x0050: 01817005 fee00000 00000000 00000072
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 0004a011 00000003 00002003 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 ffffffff
> 0x00a0: 00020010 10008cc2 00192830 01425c11
> 0x00b0: 10110040 00000000 00000000 00000000
> 0x00c0: 00000000 0000001f 00000000 00000000
> 0x00d0: 00000001 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  2:0:0: Intel I210
> 0x0000: Vendor ID: 8086, Product ID: 157b
> 0x0004: Command: 0007, Status: 0010
> 0x0008: Class: 02 Network, Subclass: 00 Ethernet,
> Interface: 00, Revision: 03
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem 32bit addr: 0xf7a00000/0x00020000
> 0x0014: BAR empty (00000000)
> 0x0018: BAR io addr: 0x00002000/0x0020
> 0x001c: BAR mem 32bit addr: 0xf7a20000/0x00004000
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
> 0x0040: Capability 0x01: Power Management
> State: D0
> 0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x0070: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
> Enabled: no; table size 5 (BAR 3:0)
> 0x00a0: Capability 0x10: PCI Express
> Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x01: Advanced Error Reporting
> 0x0140: Enhanced Capability 0x03: Device Serial Number
> Serial Number: 000db9ffff559605
> 0x01a0: Enhanced Capability 0x17: TPH Requester
> 0x0000: 157b8086 00100007 02000003 00000010
> 0x0010: f7a00000 00000000 00002001 f7a20000
> 0x0020: 00000000 00000000 00000000 00008086
> 0x0030: 00000000 00000040 00000000 00000105
> 0x0040: c8235001 00002008 00000000 00000000
> 0x0050: 01817005 fee00000 00000000 00000073
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 0004a011 00000003 00002003 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 ffffffff
> 0x00a0: 00020010 10008cc2 00102830 02425c11
> 0x00b0: 10110040 00000000 00000000 00000000
> 0x00c0: 00000000 0000001f 00000000 00000000
> 0x00d0: 00000001 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  3:0:0: Intel I210
> 0x0000: Vendor ID: 8086, Product ID: 157b
> 0x0004: Command: 0007, Status: 0010
> 0x0008: Class: 02 Network, Subclass: 00 Ethernet,
> Interface: 00, Revision: 03
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem 32bit addr: 0xf7b00000/0x00020000
> 0x0014: BAR empty (00000000)
> 0x0018: BAR io addr: 0x00003000/0x0020
> 0x001c: BAR mem 32bit addr: 0xf7b20000/0x00004000
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 07 Min Gnt: 00 Max Lat: 00
> 0x0040: Capability 0x01: Power Management
> State: D0
> 0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
> 0x0070: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
> Enabled: no; table size 5 (BAR 3:0)
> 0x00a0: Capability 0x10: PCI Express
> Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x01: Advanced Error Reporting
> 0x0140: Enhanced Capability 0x03: Device Serial Number
> Serial Number: 000db9ffff559606
> 0x01a0: Enhanced Capability 0x17: TPH Requester
> 0x0000: 157b8086 00100007 02000003 00000010
> 0x0010: f7b00000 00000000 00003001 f7b20000
> 0x0020: 00000000 00000000 00000000 00008086
> 0x0030: 00000000 00000040 00000000 00000107
> 0x0040: c8235001 00002008 00000000 00000000
> 0x0050: 01817005 fee00000 00000000 00000074
> 0x0060: 00000000 00000000 00000000 00000000
> 0x0070: 0004a011 00000003 00002003 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000000 00000000 00000000 ffffffff
> 0x00a0: 00020010 10008cc2 00102830 03425c11
> 0x00b0: 10110040 00000000 00000000 00000000
> 0x00c0: 00000000 0000001f 00000000 00000000
> 0x00d0: 00000001 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>  4:0:0: Atheros AR9281
> 0x0000: Vendor ID: 168c, Product ID: 002a
> 0x0004: Command: 0006, Status: 0010
> 0x0008: Class: 02 Network, Subclass: 80 Miscellaneous,
> Interface: 00, Revision: 01
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem 64bit addr: 0x00000000f7c00000/0x00010000
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 168c Product ID: 3099
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 03 Min Gnt: 00 Max Lat: 00
> 0x0040: Capability 0x01: Power Management
> State: D0
> 0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: no
> 0x0060: Capability 0x10: PCI Express
> Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x1
> 0x0100: Enhanced Capability 0x01: Advanced Error Reporting
> 0x0140: Enhanced Capability 0x02: Virtual Channel Capability
> 0x0160: Enhanced Capability 0x03: Device Serial Number
> Serial Number: 0000000000000000
> 0x0090: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
> Enabled: no; table size 1 (BAR 0:0)
> 0x0000: 002a168c 00100006 02800001 00000010
> 0x0010: f7c00004 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 3099168c
> 0x0030: 00000000 00000040 00000000 00000103
> 0x0040: 5bc25001 00000000 00000000 00000000
> 0x0050: 00006005 00000000 00000000 00000000
> 0x0060: 00119010 00000cc0 00002010 00033811
> 0x0070: 10110048 00000000 000003c0 00000000
> 0x0080: 00000000 00000000 00000000 00000000
> 0x0090: 00000011 00000000 00000000 00000000
> 0x00a0: 00000004 00000000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: 00000000 00000000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 00000000 00000000 00000000
> 0x00f0: 00000000 00000000 00000000 00000000
>
> acpidump:
> begin-base64 644 APIC.4
> QVBJQ34AAAABY0NPUkUgIENPUkVCT09UAAAAAENPUkUAAAAAAADg/gEAAAAACAAAAQAAAAAIAQEB
> AAAAAAgCAgEAAAAACAMDAQAAAAEMBAAAAMD+AAAAAAEMBQAAAML+GAAAAAIKAAACAAAAAAACCgAJ
> CQAAAA8ABAb/BQAB
> ====
> begin-base64 644 APIC.6
> QVBJQ34AAAADiUNPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAADg/gEAAAAACAAAAQAAAAAIAQEB
> AAAAAAgCAgEAAAAACAMDAQAAAAEMBAAAAMD+AAAAAAEMBQAAAML+GAAAAAIKAAACAAAAAAACCgAJ
> CQAAAA8ABAb/BQAB
> ====
> begin-base64 644 DRTM.10
> RFJUTXwAAAAB+ENPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAMDozwAAAAAAEAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAA==
> ====
> begin-base64 644 DSDT.2
> RFNEVLMbAAACukNPUkV2NENPUkVCT09UAQABAElOVEwxBRggoEEEABVcLl9TQl9BUFRTCAEVXC5f
> U0JfQVdBSwgBFVwvA19TQl9QQ0kwVE9NMQAAFVwvA19TQl9QQ0kwVE9NMgAACExPTUgACFBCQUQA
> CFBCTE4ACFBDQkEMAAAA+AhQQ0xODAAAAAQISFBCQQwAAND+CE9TVlIKAwhPU1Zf/whQTU9EAVuA
> R1AwQgAMFAjY/goEW4ENR1AwQgEAC1VTQlMBCFVPTTAACFVPTTEKAghVT00yAAhVT00zCgcIVU9N
> NAoCCFVPTTUKAghVT002CgYIVU9NNwoCCFVPTTgKBghVT005CgZbgFBSUU0BCwAMCgJbgRBQUlFN
> AVBSUUkIUFJRRAhbhjJQUlFJUFJRRAFQSVJBCFBJUkIIUElSQwhQSVJECFBJUkUIUElSRghQSVJH
> CFBJUkgIW4BQRVJDAQsUDAFbgRpQRVJDAVNFTlMBUEVOUwFTRU5FAVBFTkUBW4BDTVRfAQtQDAoC
> W4EhQ01UXwFDTVRJCEc2NEUBRzY0TwFHMzJPAgACR1BTTAJbgEdQVF8BC1IMAVuBLkdQVF8BR1BC
> MAFHUEIxAUdQQjIBR1BCMwFHUEI0AUdQQjUBR1BCNgFHUEI3AVuARlJFXwELbwwBW4ENRlJFXwEA
> BkZMUkUBW4BQTTJSAQvQDAoCW4EQUE0yUgFQTTJJCFBNMkQIW4BQSU9SAQvWDAoCW4EQUElPUgFQ
> SU9JCFBJT0QIW4YaUElPSVBJT0QBAEAwUDFFQhAAQEZVUFdTA1uAUDFFMAFQMUVCCgRbgQ9QMUUw
> AQAQAA5QRVdEARBOBl9QUl9bgwtQMDAwABAIAAAGW4MLUDAwMQEQCAAABluDC1AwMDICEAgAAAZb
> gwtQMDAzAxAIAAAGW4MLUDAwNAQQCAAABluDC1AwMDUFEAgAAAZbgwtQMDA2BhAIAAAGW4MLUDAw
> NwcQCAAABghTU0ZHCgmgDwBwe1NTRkcK9wBTU0ZHCF9TMF8SBgQAAAAAoBR7U1NGRwEACF9TMV8S
> BgQBAQAAoBd7U1NGRwoCAAhfUzJfEggECgIKAgAAoBd7U1NGRwoEAAhfUzNfEggECgMKAwAAoBd7
> U1NGRwoIAAhfUzRfEggECgQKBAAACF9TNV8SCAQKBQoFAAAIV0tTVBIEAgAAFCpfUFRTAXAAiFdL
> U1QAAHAAiFdLU1QBAHAKB1VQV1NcLl9TQl9BUFRTaBQcX1dBSwFwAVVTQlNcLl9TQl9BV0FLaKRX
> S1NUEIAsAV9TQl8UEU1JTl8CoAaVaGmkaKEDpGkUDFNMRU4BcGhgpIdgFCFTMkJGCXJTTEVOaAFg
> CEJVRkYRAmBwaEJVRkakQlVGRhRHBlNDTVACcFMyQkZoYHBTMkJGaWFwAGRwU0xFTmhlcFNMRU5p
> ZnBNSU5fZWZnoiSVZGdwg4hgZABicIOIYWQAY6AGlGJjpAGhCKAGlWJjpP91ZKAGlWRlpAGhDKAG
> lWRmpP+hA6QAFEcEV0NNUAJwUzJCRmhgcFMyQkZpYaAOlVNMRU5oU0xFTmmkAHAAYnBTTEVOaWOi
> FpViY6APkpODiGBiAIOIYWIApAB1YqQBFBhJMkJNAXAAYKAMkpNoAHABYXlhaGCkYAhQUjBfEkER
> ExINBAz//wEAAElOVEIAEg0EDP//AQABSU5UQwASDQQM//8CAABJTlRDABINBAz//wIAAUlOVEQA
> Eg4EDP//AgAKAklOVEEAEg4EDP//AgAKA0lOVEIAEg0EDP//FAAASU5UQQASDQQM//8UAAFJTlRC
> ABIOBAz//xQACgJJTlRDABIOBAz//xQACgNJTlREABINBAz//xIAAElOVEMAEg0EDP//EgABSU5U
> QgASDQQM//8TAABJTlRDABINBAz//xMAAUlOVEIAEg0EDP//FgAASU5UQwASDQQM//8WAAFJTlRC
> ABINBAz//xAAAElOVEMAEg0EDP//EAABSU5UQgASDQQM//8RAABJTlREAAhBUFIwEksOExILBAz/
> /wEAAAAKLBILBAz//wEAAQAKLRILBAz//wIAAAAKGBILBAz//wIAAQAKGRIMBAz//wIACgIAChoS
> DAQM//8CAAoDAAobEgsEDP//FAAAAAoQEgsEDP//FAABAAoREgwEDP//FAAKAgAKEhIMBAz//xQA
> CgMAChMSCwQM//8SAAAAChISCwQM//8SAAEAChESCwQM//8TAAAAChISCwQM//8TAAEAChESCwQM
> //8WAAAAChISCwQM//8WAAEAChESCwQM//8QAAAAChISCwQM//8QAAEAChESCwQM//8RAAAAChMI
> UFMyXxI0BBILBAv//wBJTlRDABILBAv//wFJTlREABIMBAv//woCSU5UQQASDAQL//8KA0lOVEIA
> CEFQUzISLAQSCQQL//8AAAoSEgkEC///AQAKExIKBAv//woCAAoQEgoEC///CgMAChEIUFM0XxI0
> BBILBAv//wBJTlRBABILBAv//wFJTlRCABIMBAv//woCSU5UQwASDAQL//8KA0lOVEQACEFQUzQS
> LAQSCQQL//8AAAoYEgkEC///AQAKGRIKBAv//woCAAoaEgoEC///CgMAChsIUFM1XxI0BBILBAv/
> /wBJTlRCABILBAv//wFJTlRDABIMBAv//woCSU5URAASDAQL//8KA0lOVEEACEFQUzUSLAQSCQQL
> //8AAAocEgkEC///AQAKHRIKBAv//woCAAoeEgoEC///CgMACh8IUFM2XxI0BBILBAv//wBJTlRD
> ABILBAv//wFJTlREABIMBAv//woCSU5UQQASDAQL//8KA0lOVEIACEFQUzYSLAQSCQQL//8AAAog
> EgkEC///AQAKIRIKBAv//woCAAoiEgoEC///CgMACiMIUFM3XxI0BBILBAv//wBJTlREABILBAv/
> /wFJTlRBABIMBAv//woCSU5UQgASDAQL//8KA0lOVEMACEFQUzcSLAQSCQQL//8AAAokEgkEC///
> AQAKJRIKBAv//woCAAomEgoEC///CgMACicIUFM4XxI0BBILBAv//wBJTlRBABILBAv//wFJTlRC
> ABIMBAv//woCSU5UQwASDAQL//8KA0lOVEQACEFQUzgSLAQSCQQL//8AAAooEgkEC///AQAKKRIK
> BAv//woCAAoqEgoEC///CgMACitbgk9vUENJMAhfSElEDEHQCggIX0NJRAxB0AoDFAhfQkJOAKQA
> FAlfU1RBAKQKCxQWX1BSVACgClBNT0SkQVBSMKRQUjBfW4ILQU1SVAhfQURSAFuCD1BDU0QIX0FE
> UgwAABgAW4IyUEJSNAhfQURSDAEAAgAIX1BSVxIGAgoYCgQUFl9QUlQAoApQTU9EpEFQUzSkUFM0
> X1uCMlBCUjUIX0FEUgwCAAIACF9QUlcSBgIKGAoEFBZfUFJUAKAKUE1PRKRBUFM1pFBTNV9bgjJQ
> QlI2CF9BRFIMAwACAAhfUFJXEgYCChgKBBQWX1BSVACgClBNT0SkQVBTNqRQUzZfW4IyUEJSNwhf
> QURSDAQAAgAIX1BSVxIGAgoYCgQUFl9QUlQAoApQTU9EpEFQUzekUFM3X1uCMlBCUjgIX0FEUgwF
> AAIACF9QUlcSBgIKGAoEFBZfUFJUAKAKUE1PRKRBUFM4pFBTOF9bgkMQSzEwTQhfQURSDAMAGABb
> gFRDRkcCCmQKBFuBFFRDRkcBSFRDRQEAD1RMTVQHAAlbgFRDVEwCCqQKBFuBDVRDVEwBABVUTk9X
> C1uFRgtUWjAwCF9TVFIROwo4QQBNAEQAIABDAFAAVQAgAEMAbwByAGUAIABUAGgAZQByAG0AYQBs
> ACAAUwBlAG4AcwBvAHIAAAAUE19TVEEAoAqTSFRDRQGkCg+kABQaX1RNUAB3VE5PVwoKYHpgCgNg
> pHJgC6wKABQfX1BTVgB3VExNVAoKYHpgAWByYAsIAmCkcmALrAoAFA9fSE9UAKRyX1BTVgoyABQP
> X0NSVACkcl9IT1QKMgAUNl9PU0MEoBmTaBETChBbTdsz9x8cQJZXdEHAPddmpGuhFYprAENEVzF9
> Q0RXMQoEQ0RXMaRrW4IPU1RDUghfQURSDAAAEQBbgg9TQlVTCF9BRFIMAAAUAFuCG1VPSDEIX0FE
> UgwAABIACF9QUlcSBgIKCwoDW4IbVU9IMghfQURSDAIAEgAIX1BSVxIGAgoLCgNbghtVT0gzCF9B
> RFIMAAATAAhfUFJXEgYCCgsKA1uCG1VPSDQIX0FEUgwCABMACF9QUlcSBgIKCwoDW4IbVU9INQhf
> QURSDAAAFgAIX1BSVxIGAgoLCgNbghtVT0g2CF9BRFIMAgAWAAhfUFJXEgYCCgsKA1uCG1hIQzAI
> X0FEUgwAABAACF9QUlcSBgIKCwoEW4JOCEFaSEQIX0FEUgwCABQAW4BBWlBEAgALAAFbgU8EQVpQ
> RAAAQCFOU0RJAU5TRE8BTlNFTgEADUlQQ1IEAEwHUFdTVAIABlBNRUIBAAZQTVNUAQBABk1NQ1IB
> AA9NTUxBIE1NSEEgTU1EVBAUIV9JTkkAoBqTT1NWUgoDcABOU0VOcAFOU0RPcAFOU0RJW4JNGUxJ
> QlIIX0FEUgwDABQAW4BDRkdfAgALAAFbgQ5DRkdfAwBAUEJBUl8gW4JKBUxEUkMIX0hJRAxB0AwC
> CENSU18REQoOhgkAAQAAAAAAAAAAeQAUMl9DUlMAikNSU18KBFNQSUKKQ1JTXwoIU1BJTHBCQVJf
> U1BJQnALABBTUElMpENSU19bgiVSVEMwCF9ISUQMQdALAAhfQ1JTERAKDSIAAUcBcABwAAACeQBb
> giVUTVJfCF9ISUQMQdABAAhfQ1JTERAKDSIBAEcBQABAAAAEeQBbgiJTUEtSCF9ISUQMQdAIAAhf
> Q1JTEQ0KCkcBYQBhAAABeQBbgitQSUNfCF9ISUQLQdAIX0NSUxEYChUiBABHASAAIAAAAkcBoACg
> AAACeQBbgk4ETUFEXwhfSElEDEHQAgAIX0NSUxE4CjUqEARHAQAAAAAQEEcBgQCBAAEDRwGHAIcA
> AQFHAYkAiQABA0cBjwCPAAEBRwHAAMAAECB5AFuCJUNPUFIIX0hJRAxB0AwECF9DUlMREAoNRwHw
> APAAABAiACB5AFuCD1NEQ04IX0FEUgwHABQACENSRVMRQgcKbogNAAIMAAAAAAD/AAAAAAFHAfgM
> +AwBCIgNAAEMAwAAAAD3DAAA+AyIDQABDAMAALAD3wMAADAAiA0AAQwDAAAADf//AAAA84YJAAAA
> AAoAAAACAIYJAAAAAAwAAAACAIYJAAAAAAAAAAAAAHkAFEMEX0NSUwCKQ1JFUwpkTU0xQopDUkVT
> CmhNTTFMcFRPTTFNTTFCcA4AAAAAAQAAAGB0YFRPTTFgcGBNTTFMpENSRVMUCl9JTkkAT1NGTBRI
> Bk9TRkwAoA2Sk09TVlL/pE9TVlKgKlsSXF9PU0kAcAFPU1ZSoBpfT1NJDVdpbmRvd3MgMjAwNgBw
> CgJPU1ZSoSKgF1dDTVBfT1NfDUxpbnV4AHAKA09TVlKhCHAKBE9TVlKkT1NWUluAUENGRwBQQ0JB
> UENMTluBTgZQQ0ZHAQDAEkAEU1RCNSAAgA2AUFQwRAFQVDFEAVBUMkQBUFQzRAFQVDREAVBUNUQB
> UFQ2RAFQVDdEAVBUOEQBUFQ5RAEAhuA/U0JJRQFTQk1FAQAeU0JSSQgASAVTQkIxIABAMAAOUDky
> RQFbgFNCNV8AU1RCNQsAEFuBRw1TQjVfAABAkFAwRVIBAAJQMERRAQADUDBCWQEAOFAwREQEAARQ
> MElTBAAUUDBESQQAHAAQUDBQUgEATzZQMUVSAQACUDFEUQEAA1AxQlkBADhQMUREBAAEUDFJUwQA
> FFAxREkEABwAEFAxUFIBAE82UDJFUgEAAlAyRFEBAANQMkJZAQA4UDJERAQABFAySVMEABRQMkRJ
> BAAcABBQMlBSAQBPNlAzRVIBAAJQM0RRAQADUDNCWQEAOFAzREQEAARQM0lTBAAUUDNESQQAHAAQ
> UDNQUgEUE19QSUMBoAZoQ0lSUXBoUE1PRBQGQ0lSUQAISVJRQhEJCgYjAIAYeQAISVJRUBEJCgYj
> uJwIeQAIUElURhEJCgYjAAIIeQBbgk0HSU5UQQhfSElEDEHQDA8IX1VJRAEUFF9TVEEAoAhQSVJB
> pAoLoQSkCgkUBl9ESVMAFAtfUFJTAKRJUlFQFB9fQ1JTAItJUlFCAUlSUU55AVBJUkFJUlFOpElS
> UUIUHl9TUlMBi2gBSVJRTYJJUlFNYKAEYHZgcGBQSVJBW4JOB0lOVEIIX0hJRAxB0AwPCF9VSUQK
> AhQUX1NUQQCgCFBJUkKkCguhBKQKCRQGX0RJUwAUC19QUlMApElSUVAUH19DUlMAi0lSUUIBSVJR
> TnkBUElSQklSUU6kSVJRQhQeX1NSUwGLaAFJUlFNgklSUU1goARgdmBwYFBJUkJbgk4HSU5UQwhf
> SElEDEHQDA8IX1VJRAoDFBRfU1RBAKAIUElSQ6QKC6EEpAoJFAZfRElTABQLX1BSUwCkSVJRUBQf
> X0NSUwCLSVJRQgFJUlFOeQFQSVJDSVJRTqRJUlFCFB5fU1JTAYtoAUlSUU2CSVJRTWCgBGB2YHBg
> UElSQ1uCTgdJTlRECF9ISUQMQdAMDwhfVUlECgQUFF9TVEEAoAhQSVJEpAoLoQSkCgkUBl9ESVMA
> FAtfUFJTAKRJUlFQFB9fQ1JTAItJUlFCAUlSUU55AVBJUkRJUlFOpElSUUIUHl9TUlMBi2gBSVJR
> TYJJUlFNYKAEYHZgcGBQSVJEW4JOB0lOVEUIX0hJRAxB0AwPCF9VSUQKBRQUX1NUQQCgCFBJUkWk
> CguhBKQKCRQGX0RJUwAUC19QUlMApElSUVAUH19DUlMAi0lSUUIBSVJRTnkBUElSRUlSUU6kSVJR
> QhQeX1NSUwGLaAFJUlFNgklSUU1goARgdmBwYFBJUkVbgk4HSU5URghfSElEDEHQDA8IX1VJRAoG
> FBRfU1RBAKAIUElSRqQKC6EEpAoJFAZfRElTABQLX1BSUwCkUElURhQfX0NSUwCLSVJRQgFJUlFO
> eQFQSVJGSVJRTqRJUlFCFB5fU1JTAYtoAUlSUU2CSVJRTWCgBGB2YHBgUElSRluCTgdJTlRHCF9I
> SUQMQdAMDwhfVUlECgcUFF9TVEEAoAhQSVJHpAoLoQSkCgkUBl9ESVMAFAtfUFJTAKRJUlFQFB9f
> Q1JTAItJUlFCAUlSUU55AVBJUkdJUlFOpElSUUIUHl9TUlMBi2gBSVJRTYJJUlFNYKAEYHZgcGBQ
> SVJHW4JOB0lOVEgIX0hJRAxB0AwPCF9VSUQKCBQUX1NUQQCgCFBJUkikCguhBKQKCRQGX0RJUwAU
> C19QUlMApElSUVAUH19DUlMAi0lSUUIBSVJRTnkBUElSSElSUU6kSVJRQhQeX1NSUwGLaAFJUlFN
> gklSUU1goARgdmBwYFBJUkgQQAdQQ0kwW4JIBkdQSU8IX0hJRA1BTUQwMDMwAAhfQ0lEDUFNRDAw
> MzAACF9VSUQACF9ERE4NR1BJTyBDb250cm9sbGVyAAhfQ1JTERoKF4kGAA0BBwAAAIYJAAEAFdj+
> AAMAAHkAFAlfU1RBAKQKDxBPD19HUEUUBl9MMDMAFAZfTDA4ABQGX0wwOQAURQhfTDBCAIZcLwNf
> U0JfUENJMFVPSDEKAoZcLwNfU0JfUENJMFVPSDIKAoZcLwNfU0JfUENJMFVPSDMKAoZcLwNfU0Jf
> UENJMFVPSDQKAoZcLwNfU0JfUENJMFVPSDUKAoZcLwNfU0JfUENJMFVPSDYKAoZcLwNfU0JfUENJ
> MFhIQzAKAhQGX0wxMAAUBl9MMTEAFE8EX0wxOACGXC8DX1NCX1BDSTBQQlI0CgKGXC8DX1NCX1BD
> STBQQlI1CgKGXC8DX1NCX1BDSTBQQlI2CgKGXC8DX1NCX1BDSTBQQlI3CgIQDF9TSV8UBl9TU1QB
> EEMLLwNfU0JfUENJMExJQlJbgk8EQ09NMQhfSElEDEHQBQEIX1VJRAEUCV9TVEEApAoPCF9DUlMR
> EAoNRwH4A/gDCAgiEAB5AAhfUFJTERMKEDEARwH4A/gDCAgiEAA4eQBbgkAFQ09NMghfSElEDEHQ
> BQEIX1VJRAoCFAlfU1RBAKQKDwhfQ1JTERAKDUcB+AL4AggIIggAeQAIX1BSUxETChAxAEcB+AL4
> AggIIggAOHkAEE0ULl9TQl9QQ0kwW4JAFEJUTlMIX0hJRA1QUlAwMDAxAAhfQ1JTES0KKowlAAEA
> AQALAAEAAAAAFwAAGQAoAAAAWQBcX1NCLlBDSTAuR1BJTwB5AAhfRFNEEkQEAhETChAU2P/aum6M
> TYqRvJu/SqMBEiwCEhkCDWNvbXBhdGlibGUADWdwaW8ta2V5cwASDwINYXV0b3JlcGVhdAABW4JN
> CkJUTjEIX0hJRA1QUlAwMDAxAAhfRFNEEkMJAhETChAU2P/aum6MTYqRvJu/SqMBEksHBhIRAg1s
> aW51eCxjb2RlAAsBARIVAg1saW51eCxpbnB1dC10eXBlAAESFwINZGVib3VuY2UtaW50ZXJ2YWwA
> CmQSEgINbGFiZWwADXN3aXRjaDEAEhACDWludGVycnVwdHMACgcSEwINZ3Bpb3MAEgkEQlROUwAA
> ARBGIS5fU0JfUENJMFuCSSBMRURTCF9ISUQNUFJQMDAwMQAIX0NSUxExCi6MKQABAQEAAgABAAAA
> ABcAAB0ALAAAAEQARQBGAFxfU0IuUENJMC5HUElPAHkACF9EU0QSMwIREwoQFNj/2rpujE2Kkbyb
> v0qjARIcARIZAg1jb21wYXRpYmxlAA1ncGlvLWxlZHMAW4JKB0xFRDEIX0hJRA1QUlAwMDAxAAhf
> RFNEEkAGAhETChAU2P/aum6MTYqRvJu/SqMBEkgEAxIaAg1sYWJlbAANYXB1MjpncmVlbjpsZWQx
> ABITAg1ncGlvcwASCQRMRURTAAABEhUCDWRlZmF1bHQtc3RhdGUADW9uAFuCSwdMRUQyCF9ISUQN
> UFJQMDAwMQAIX0RTRBJBBgIREwoQFNj/2rpujE2Kkbybv0qjARJJBAMSGgINbGFiZWwADWFwdTI6
> Z3JlZW46bGVkMgASEwINZ3Bpb3MAEgkETEVEUwABARIWAg1kZWZhdWx0LXN0YXRlAA1vZmYAW4JK
> CExFRDMIX0hJRA1QUlAwMDAxAAhfRFNEEkAHAhETChAU2P/aum6MTYqRvJu/SqMBEkgFAxIaAg1s
> YWJlbAANYXB1MjpncmVlbjpsZWQzABIUAg1ncGlvcwASCgRMRURTAAoCARIkAg1saW51eCxkZWZh
> dWx0LXRyaWdnZXIADWhlYXJ0YmVhdAA=
> ====
> begin-base64 644 FACP.1
> RkFDUBQBAAAG/kNPUkV2NENPUkVCT09UAAAAAENPUkUxBRggQNLpz4DS6c8AAQkAAAAAAAAAAAAA
> CAAAAAAAAAQIAAAAAAAAAAAAABgIAAAQCAAAAAAAAAQCAAQIAAAAZQDpAwAAAAABAwAAAAMAAKXF
> AwABCAAB+QwAAAAAAAAGAAAAAAAAAAAAAACA0unPAAAAAAEgAAIACAAAAAAAAAAAAAAAAAAAAAAA
> AAEQAAAECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAMYCAAAAAAAAAFAAAEQCAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> ====
> begin-base64 644 HEST.5
> SEVTVNABAAABQUNPUkUgIENPUkVCT09UAAAAAENPUkUAAAAAAgAAAAAAAAAAAAABAQAAAAEAAAAA
> AAAAAAAAAHcAAAAAAAAABgAAAAAAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQE
> AAD//////////wUEAAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQA
> AP//////////EQQAABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA
> //////////8ZBAAAGgQAABsEAAABAAEAAAAAAQEAAAABAAAAAxwAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAYAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQEAAD//////////wUE
> AAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQAAP//////////EQQA
> ABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA//////////8ZBAAA
> GgQAABsEAAA=
> ====
> begin-base64 644 HEST.7
> SEVTVNABAAABaUNPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAgAAAAAAAAAAAAABAQAAAAEAAAAA
> AAAAAAAAAHcAAAAAAAAABgAAAAAAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQE
> AAD//////////wUEAAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQA
> AP//////////EQQAABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA
> //////////8ZBAAAGgQAABsEAAABAAEAAAAAAQEAAAABAAAAAxwAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAYAAAAAAAIAAAQAAP//////////AQQAAAIEAAADBAAAAQACAAQEAAD//////////wUE
> AAAGBAAABwQAAAIAAgAIBAAA//////////8JBAAACgQAAAsEAAADAAIAEAQAAP//////////EQQA
> ABIEAAATBAAABAACABQEAAD//////////xUEAAAWBAAAFwQAAAUAAgAYBAAA//////////8ZBAAA
> GgQAABsEAAA=
> ====
> begin-base64 644 HPET.11
> SFBFVDgAAAABDENPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAYIiEABAAAAAAND+AAAAAAAAAAA=
> ====
> begin-base64 644 HPET.8
> SFBFVDgAAAAB1ENPUkUgIENPUkVCT09UAAAAAENPUkUAAAAAAYIiEABAAAAAAND+AAAAAAAAEAA=
> ====
> begin-base64 644 MCFG.4
> TUNGRzwAAAABp0NPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAAAAAAAAAAAAAAD4AAAAAAAAAEAA
> AAAA
> ====
> begin-base64 644 SSDT.3
> U1NEVPgBAAACMUNPUkV2NENPUkVCT09UKgAAAENPUkUxBRggW4KCBABDVEJMCF9ISUQNQk9PVDAw
> MDAACF9VSUQAFIsAAF9TVEEApAoLCF9DUlMRhAEACw4AhgkAAAAw7M8AgAAAeQAQgQIAXC5fU0Jf
> UENJMAhUT00xDAAAANAIVE9NMgzwEgAAEI0WAFwvA19TQl9QQ0kwTElCUluCiRUAVFBNXwhfSElE
> DU1TRlQwMTAxAAhfQ0lEDU1TRlQwMTAxAAhfVUlEDNOaBcsUiwAAX1NUQQCkCgAIX0NSUxGFAgAL
> HwCGCQABAADU/gBQAABHATEMMQwBAokGAA8B/wAAAHkAFIIPAF9EU00MlmhgoIAKAJNgEYYBAAsQ
> AKb63T0bNrROpCSNEAidFlOZamGgjwAAk2EApBGHAAAKAv8BoIwAAJNhAaQNMi4wAKCKAACTYQoC
> pAoAoIEBAJNhCgOkEogAAAIKAAoAoIoAAJNhCgSkCgKggwEAk2EKBaQSigAAAwoACgAKAKCKAACT
> YQoGpAoDoIoAAJNhCgekCgOgigAAk2EKCKQKAaQRhQAAAQCgjgMAk2ARhgEACxAA7VRgNxPMdUaQ
> HEdW1/LUXZlqYaCNAACTYQCkEYUAAAEDoIkAAJNhAaQKAKQRhQAAAQCkEYUAAAEA
> ====
> begin-base64 644 SSDT.6
> U1NEVKZIAAACiUFNRCAgIEFHRVNBICAgAgAAAE1TRlQAAAAEEIGIBFxfU0JfCEFHUkIMAAAA+AhB
> REJHEQQLAAEIQURBVBFFIAsAAgCCdoIQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIBAgAA
> AAQHAAMAAAIBAAAAAAACAgECAAAAAAAEBAEAAgIAAAAAAAICAQIAAAABAQUFAgACAwAAAAAAAgIB
> AgAAAAICBgYDAAIEAAAAAAABAQEBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAFEkXQUxJQgKgSwWTaAoAcBEECwABYItgCgBBMDIzcAoIQTAyM4tg
> CgJBMDI0cAoBQTAyNIpgCgRBMDI1oByUg4hcLl9TQl9BREFUCgAACgBwCg9BMDI1pGChCnAKAUEw
> MjWkYKATk2gKAXCDiGkKAgBgpEEwMjZgoAuTaAoCpEEwMjdpoBOTaAoDcIOIaQoCAGCkQTAyOGCg
> HJNoCgZwg4hpCgQAYHCDiGkKAgBhpEEwMzFgYaATk2gKCnCDiGkKAgBgpEEwMzJgoE0Kk2gKC3CD
> iGkKAgBgcIOIaQoDAGFwg4hpCgQAYn15g4hpCgUACggAYmJ9eYOIaQoGAAoQAGJifXmDiGkKBwAK
> GABiYnCDiGkKCABjfXmDiGkKCQAKCABjY315g4hpCgoAChAAY2N9eYOIaQoLAAoYAGNjcIOIaQoM
> AGR9eYOIaQoNAAoIAGRkfXmDiGkKDgAKEABkZH15g4hpCg8AChgAZGSkQTAzM2BhYmNkpAoAFE4F
> QTAzMQJwCgBgoh6VYAoFcEEwOTRgaWGgDpNhCgFwQTA5NWBoYaV1YHARAwoKZ4tnCgBBMDIzjGcK
> AkEwMzSMZwoDQTA5NnAKBEEwMjNwCgBBMDM0cGFBMDk2pGcUTghBMDk0AqAak2gKAKRcLwRfU0Jf
> QVdSMEFCUjBBMDg3aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDg3aaAak2gKAqRcLwRfU0JfQVdS
> MEFCUjJBMDg3aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDg3aaAak2gKBKRcLwRfU0JfQVdSMEFC
> UjRBMDg3aRROCEEwOTUCoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwODhpoBqTaAoBpFwvBF9TQl9B
> V1IwQUJSMUEwODhpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwODhpoBqTaAoDpFwvBF9TQl9BV1Iw
> QUJSM0EwODhpoBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwODhpCEFEMDAKAAhESzAwCgAUG0EwMjYB
> oAqTQUQwMGikCgBwaEFEMDBBMDExFBBBMDMyAXBoREswMEEwMTcUD0EwMzMFQTAxOGhpamtsCEFQ
> MDEKAAhBUDAyCgAIQVAwMwoACEFQMDUKAAhBUDBCCv8IQVAxMAoAFEQIQTAyNwFwEQQLAAFni2cK
> AEEwMjNwCgNBMDIzjGcKAkEwMzRwCgFBMDM0oByTg4hcLl9TQl9BREFUCgAACgFwCgJBMDM0pGeg
> HJODiFwuX1NCX0FEQVQKAAAKAHAKAUEwMzSkZ0EwMzVooAuSk0FQMDUKAaRnQTAzNnAKAkEwMzSk
> ZxQvQTAxMgCgF5KUg4hcLl9TQl9BREFUCgAACgGkCgCgDJKTQVAwNQoBpAoAQTAzNhQTQTAzNwGg
> DJNoCgNwCgBBUDAxFA1BMDEwAXAKAUFQMTAURwdBMDI4AXBoQVAwNaAXkpSDiFwuX1NCX0FEQVQK
> AAAKAaQKAHBBUDBCYaAgk0FQMDUKAHAKAGCiDJVgCgVBMDM4YHVgcAoAQVAwQkEwMzZwYUFQMEJw
> EQQLAAFncAoDiGcKAABwCgCIZwoBAHAKAIhnCgIApGcUGkEwMzkAoA6Sk0FQMEIK/6RBUDBCpEFE
> MDAUQQdBMDM1AYtoCgJBUDA2i2gKBEFQMDeLaAoGQVAwOIxoCghBUDA5jGgKCUFQMEFwCgBgoj2V
> YAoFoDWTQTA0MGBBUDA2CgGgG5N7QVAwN0FQMDgACgFwQTA0MWBhQTA0MmBhoQpBMDQyYEFQMEGl
> dWAULkEwNDMAcAoBQVAwMnAKAGCiHJVgCgVwQTA0NGBhoA2UYUFQMDJwYUFQMDJ1YBQuQTA0NQBw
> CgBBUDAzcAoAYKIclWAKBXBBMDQ2YGGgDZRhQVAwM3BhQVAwM3VgFEsMQTAzNgBBMDQ1QTA0M6AX
> kpNBUDAyQVAwMUEwMTlBUDAyQVAwMaAhlEFQMDJBUDAxXC5fU0JfQTA0N0FQMDJwQVAwMkFQMDFw
> CgBgojKVYAoFcEEwNDRgYXBBMDQ4YGKgC5KTYWJBMDQ5YGGhEKAOk0FQMTAKAUEwNDlgYXVgoCGV
> QVAwMkFQMDFcLl9TQl9BMDQ3QVAwMnBBUDAyQVAwMaEhoB+TQVAxMAoBXC5fU0JfQTA0N0FQMDJw
> QVAwMkFQMDFwCgBBUDEwFE4IQTA0OQKgGpNoCgCkXC8EX1NCX0FXUjBBQlIwQTA1MGmgGpNoCgGk
> XC8EX1NCX0FXUjBBQlIxQTA1MGmgGpNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MGmgGpNoCgOkXC8E
> X1NCX0FXUjBBQlIzQTA1MGmgGpNoCgSkXC8EX1NCX0FXUjBBQlI0QTA1MGkUSQhBMDQ4AaAZk2gK
> AKRcLwRfU0JfQVdSMEFCUjBBMDUxoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTGgGZNoCgKkXC8E
> X1NCX0FXUjBBQlIyQTA1MaAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUxoBmTaAoEpFwvBF9TQl9B
> V1IwQUJSNEEwNTEUSQhBMDQ0AaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDUyoBmTaAoBpFwvBF9T
> Ql9BV1IwQUJSMUEwNTKgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MqAZk2gKA6RcLwRfU0JfQVdS
> MEFCUjNBMDUyoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTIUSQhBMDQ2AaAZk2gKAKRcLwRfU0Jf
> QVdSMEFCUjBBMDUzoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTOgGZNoCgKkXC8EX1NCX0FXUjBB
> QlIyQTA1M6AZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUzoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEw
> NTMUSQhBMDQxAaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDU0oBmTaAoBpFwvBF9TQl9BV1IwQUJS
> MUEwNTSgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1NKAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU0
> oBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTQUTghBMDQyAqAak2gKAKRcLwRfU0JfQVdSMEFCUjBB
> MDU1aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU1aaAak2gKAqRcLwRfU0JfQVdSMEFCUjJBMDU1
> aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU1aaAak2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU1aRRO
> CEEwNDACoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwNTZpoBqTaAoBpFwvBF9TQl9BV1IwQUJSMUEw
> NTZpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTZpoBqTaAoDpFwvBF9TQl9BV1IwQUJSM0EwNTZp
> oBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTZpFEkIQTAzOAGgGZNoCgCkXC8EX1NCX0FXUjBBQlIw
> QTA1N6AZk2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU3oBmTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTeg
> GZNoCgOkXC8EX1NCX0FXUjBBQlIzQTA1N6AZk2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU3W4BBMTE1
> AHJBR1JCDAAgDAAACwAQW4EQQTExNQEAQNoAGUExMTYBW4BBMTE3AHJBR1JCDAAwDAAACwAQW4EY
> QTExNwEAQG4AE0EwMjIHAEaOQTAwOAFbgEExMTgAckFHUkIMAEAMAAALABBbgS9BMTE4AQBAkgAW
> QTExOQFBMTIwBAAFAAVBMTIxBwBEcwAIQTEyMgMAA0ExMjMCW4BBMTI0AHJBR1JCDABQDAAACwAQ
> W4EQQTEyNAEAQLgADkExMjUBW4BBMTAxAEFHUkILABBbgSZBMTAxAQBAMEExMDIgAEAqQTEwMyAA
> QAZBMTA0IABAFkExMDUgW4cXQTEwMUExMDQMAQAhAAMAQDZBMTA2AVuHF0ExMDFBMTAzDAAAEMID
> AEBeQTEwNyBbhxxBMTAxQTEwMwwEABDCAwBAXkExMDgBQTEwOQFbhxdBMTAxQTEwMww8ABDCAwBA
> XkExMTAgW4cZQTEwMUExMDMMGPgDAAMAQF4ACEExMTEBW4cWQTEwMUExMDUKAAMAQH4ABEExMTIB
> W4BBMTEzAHJBR1JCCwCAAAsAEFuBC0ExMTMDQTExNCAUQAZBMDQ3AaAWk2gKAXCDiFwuX1NCX0FE
> QVQKAQBgoBaTaAoCcIOIXC5fU0JfQURBVAoCAGCgCZRgCvdwCvdgcHcLcQJydAr3YGEKAQAAYnh3
> YgoEYgpkY2RBMDE2CjpkFAZBMDkxAxRABUEwMTYKogmSk0ExMDkKAXBpQTExMHBBMTA3YYBhYXth
> CgFhcGhieWIKAWJ9YmFBMTA3ogmSk0ExMDgKAaIJkpNBMTA5CgFwQTExMGCkYBQcQTA2MAGgDJNo
> CgFwCgBBMTA2oQhwCgFBMTA2FC1BMDA2AXBBMTI1YKAek0ExMTYKAKAMk2gKAHAKAUExMjWhCHAK
> AEExMjWkYAhBMTI2CgAIQTEyNwoAFEcGQTAwNQGgOpNoCgCgGJNBMTI2CgBwCgFBMTI2cEExMTFB
> MTI3QTAxNgpgCwEIohKSk0ExMTYKAEEwMTYKYAsBCKEkoCKTQTEyNgoBoBmTQTEyNwoBoBCTQTEx
> MQoAQTAxNgpfCgEUHkEwMDkBoA2TaAoBQTAxNgpmCgChCUEwMTYKZgoBFCRBMDA3AXBBMTEyYKAM
> k2gKAHAKAEExMTKhCHAKAUExMTKkYFuAUE1JTwEL1gwKAluBEFBNSU8BQTA5NwhBMDk4CFuGEkEw
> OTdBMDk4AQBAcEEwOTkgW4BBQ0ZHAUEwOTkKCFuBC0FDRkcDQTEwMCBbhxZBQ0ZHQTEwMAxoAACA
> AwAgQTA2NwIIQUJTTQoAFCdBMDY0AaAVk2gKAHBBMDY3QUJTTXAKAEEwNjehCnBBQlNNQTA2N1uC
> hFoDQVdSMAhfSElEDEHQDAIIX1VJRAqQCFdSQlMLMAFbgkKrQUJSMAhfSElEDEHQDAIIX1VJRAqA
> CEFCMTIKIAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFCMDQKAAhBQjA1CgAI
> QUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIwQwoACEFCMEQKAFuA
> QTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0JfQURBVHJBQjEyCg4A
> AAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEwODEBQTA2OAEACgAL
> QTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEByAAxBMDYzAVuHFkEw
> ODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1AQALQTA3MAIADkEw
> NzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4MwEAQHBBMDg0IFuH
> PEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIKCwAAAAAAAwBAckEw
> ODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAUTRhfSU5JAHCDiFwu
> X1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFCMEVwg4hcLl9TQl9B
> REFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOIXC5fU0JfQURBVHJB
> QjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NCX0FEQVRyQUIxMgoG
> AABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFUckFCMTIKCAAAQUIw
> N3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEyCgoAAEFCMDlwg4hc
> Ll9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABBQjBCcIOIXC5fU0Jf
> QURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQiQTA1OABwQTAzOWCg
> CpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEwCgGkCgGkCgAUKkEw
> NTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1MgCgIpNcLl9TQl9B
> UDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIwMKRBQjAwoQOkYHBB
> MDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAzpGAUC0EwNTEApEFC
> MDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0EwNjAKAUEwNjFooEAL
> kpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwuX1NCX0EwNjQKAKEH
> QTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsiCh6iDJNBMDY5CgFb
> IgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NCX0EwNjQKAaEHQTA2
> NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6aAoIYKATkJKVYEEw
> NzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGkCgAUDUEwNTcAcAoA
> QUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEwNzRwCgFBMDc1oDGT
> aAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEwNzihFnAKAEEwNzZw
> CgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoAcEEwODloCjRgoi8K
> AXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRgCEFFU1ASEggKAAoA
> CgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4OWAKCAqAYaAJk2EK
> gHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEwODlgcmEKEABiQTA5
> MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAAYnVgoQEUPUEwOTAL
> ckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJSIHBqQURSUhQ8
> QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIgpEFE
> UlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBBMDY3QTA2NnAKAEEw
> NjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5MAoACgR7YIAKBAAA
> cEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoFYKJNGJKTYAoIoEEE
> k2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIwN0EwOTIKAXAKAEEw
> ODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1YaAJk2IKAXAKBGCh
> BXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoTcAoBYqVbIgoBdWGg
> CZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRwCgFBQjA1QTA2MQoB
> oD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIKAlwuX1NCX0FMSUNh
> CgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0JfQTA5MQoAQUIwNkFC
> MDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghgoA+TQUIwNAoAcAoA
> QUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKTaAoAQTAzNnBBMDY2
> QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIwNmB1YHkKAWBgdmB5
> YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjEIX0hJRAxB0AwCCF9V
> SUQKgQhBQjEyCjQIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMKAAhBQjA0CgAIQUIw
> NQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoACEFCMEMKAAhBQjBE
> CgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwuX1NCX0FEQVRyQUIx
> MgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcCAAJBMDgxAUEwNjgB
> AAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4MgqhAwBAcgAMQTA2MwFb
> hxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQBQTA3NQEAC0EwNzAC
> AA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuBDkEwODMBAEBwQTA4
> NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJBQjEyCgsAAAAAAAMA
> QHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIxMAoAFE0YX0lOSQBw
> g4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoBAABBQjBFcIOIXC5f
> U0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIwMnCDiFwuX1NCX0FE
> QVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hcLl9TQl9BREFUckFC
> MTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0JfQURBVHJBQjEyCggA
> AEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRyQUIxMgoKAABBQjA5
> cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIKDAAAQUIwQnCDiFwu
> X1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFCMEQUIkEwNTgAcEEw
> MzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuTQUIxMAoBpAoBpAoA
> FCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJB0EwNTIAoCKTXC5f
> U0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyUYEFCMDCkQUIwMKED
> pGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0JfQVAwM6RgFAtBMDUx
> AKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9TQl9BMDYwCgFBMDYx
> aKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAzCgFcLl9TQl9BMDY0
> CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEwNjhbIgoeogyTQTA2
> OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFcLl9TQl9BMDY0CgGh
> B0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEwNTYBemgKCGCgE5CS
> lWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hgpAoBpAoAFA1BMDU3
> AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNwCgFBMDc0cAoBQTA3
> NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFwCgFBMDc4oRZwCgBB
> MDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM/////6QKAHBBMDg5aAo0
> YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5NgCgCkYAhBRVNQEhII
> CgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////e0EwODlgCggKgGGg
> CZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gKAHBBMDg5YHJhChAA
> YkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGByYQoQAGJ1YKEBFD1B
> MDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkIDQURSUiBwakFE
> UlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJS
> IKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2CgBwQTA2N0EwNjZw
> CgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM/////0EwOTAKAAoEe2CA
> CgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4MXAKBWCiTRiSk2AK
> CKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIwNkFCMDdBMDkyCgFw
> CgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVbIgoBdWGgCZNiCgFw
> CgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEwNjIKE3AKAWKlWyIK
> AXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFBQjA0cAoBQUIwNUEw
> NjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EKAFsiCgJcLl9TQl9B
> TElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwuX1NCX0EwOTEKAEFC
> MDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFicAoIYKAPk0FCMDQK
> AHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoBoAqSk2gKAEEwMzZw
> QTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIwN0FCMDZgdWB5CgFg
> YHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NluCQqtBQlIyCF9ISUQMQdAM
> AghfVUlECoIIQUIxMgpICEFCMDAKAAhBQjAxCgAIQUIwRQoACEFCMDIKAAhBQjAzCgAIQUIwNAoA
> CEFCMDUKAAhBQjA2CgAIQUIwNwoACEFCMDgKAAhBQjA5CgAIQUIwQQoACEFCMEIKAAhBQjBDCgAI
> QUIwRAoAW4BBMDgwAHJBR1JCfXmDiFwuX1NCX0FEQVRyQUIxMgoNAAAKDwB5g4hcLl9TQl9BREFU
> ckFCMTIKDgAACgwAAAALABBbgUoEQTA4MAEAQAwACEEwNzEIQTA3MggASCZBMDY3AgACQTA4MQFB
> MDY4AQAKAAtBMDY5AQBEDkEwNzkEAAFBMDc2AQBKK0EwODIgW4cWQTA4MEEwODIKoQMAQHIADEEw
> NjMBW4cWQTA4MEEwODIKogMAQHIADUEwNzgBW4cnQTA4MEEwODIKpAMAQHJBMDc0AUEwNzUBAAtB
> MDcwAgAOQTA3NwFbhxRBMDgwQTA4MgqlAwBAckEwNjIGW4BBMDgzAEFHUkILABBbgQ5BMDgzAQBA
> cEEwODQgW4c8QTA4M0EwODR9eV5XUkJTChAAcgsACHcLAAGDiFwuX1NCX0FEQVRyQUIxMgoLAAAA
> AAADAEByQTA4NQFbhyBBMDgzQTA4NH15XldSQlMKEAALKYAAAwBAckEwODYQCEFCMTAKABRNGF9J
> TkkAcIOIXC5fU0JfQURBVHJBQjEyCgAAAEFCMDBwg4hcLl9TQl9BREFUckFCMTIKAQAAQUIwRXCD
> iFwuX1NCX0FEQVRyQUIxMgoCAABBQjAxcIOIXC5fU0JfQURBVHJBQjEyCgMAAEFCMDJwg4hcLl9T
> Ql9BREFUckFCMTIKBAAAQUIwM3CDiFwuX1NCX0FEQVRyQUIxMgoFAABBQjA0cIOIXC5fU0JfQURB
> VHJBQjEyCgYAAEFCMDVwg4hcLl9TQl9BREFUckFCMTIKBwAAQUIwNnCDiFwuX1NCX0FEQVRyQUIx
> MgoIAABBQjA3cIOIXC5fU0JfQURBVHJBQjEyCgkAAEFCMDhwg4hcLl9TQl9BREFUckFCMTIKCgAA
> QUIwOXCDiFwuX1NCX0FEQVRyQUIxMgoLAABBQjBBcIOIXC5fU0JfQURBVHJBQjEyCgwAAEFCMEJw
> g4hcLl9TQl9BREFUckFCMTIKDQAAQUIwQ3CDiFwuX1NCX0FEQVRyQUIxMgoOAABBQjBEFCJBMDU4
> AHBBMDM5YKAKk2AKAaRBQjAxoAqTYAoApEFCMEUUH0EwNTMAoBWSk0FCMTAKAKALk0FCMTAKAaQK
> AaQKABQqQTA1OQCgDpKTQUIwNQoApEFCMDWgEZRBQjEwCgGkdEFCMTAKAQCkCgAUSQdBMDUyAKAi
> k1wuX1NCX0FQMDUKAKAOkpNBQjA1CgCkQUIwNaRBQjBFcEEwNTlgoBeSk2AKAKAMlGBBQjAwpEFC
> MDChA6RgcEEwNThgoCiSk1wuX1NCX0FQMDMKAKAYlVwuX1NCX0FQMDNgpFwuX1NCX0FQMDOkYBQL
> QTA1MQCkQUIwMhQLQTA1NACkQUIwMBRNDkEwNTABcGhBQjAyoBSTQUIwMwoBXC5fU0JfQTA2MAoB
> QTA2MWigQAuSlUEwNjIKEKAQkpNBQjEwCgBwCgBBMDYzoQhwCgFBMDYzoBSTQUIwMwoBXC5fU0Jf
> QTA2NAoAoQdBMDY1CgAIQTA2NgoAcEEwNjdBMDY2cAoAQTA2N3AKAWCiLWBwCgFBMDY4WyIKHqIM
> k0EwNjkKAVsiCgqgD5NoCgGgCZNBMDcwCgCloQKlcEEwNjZBMDY3oBSTQUIwMwoBXC5fU0JfQTA2
> NAoBoQdBMDY1CgGgFJNBQjAzCgFcLl9TQl9BMDYwCgAUDEEwNTUBcGhBQjEwFCJBMDU2AXpoCghg
> oBOQkpVgQTA3MZKUYEEwNzKkCgGkCgAUH0EwNzMBfUFCMER5QUIwQwoDAGCgB5NoYKQKAaQKABQN
> QTA1NwBwCgBBQjEwFEAIQTA2MQGgFJKVaAoCcAoBQTA3NHAKAEEwNzWgFJKVaAoDcAoBQTA3NHAK
> AUEwNzWgMZNoCgFwCgFBMDc2cAoAQTA3NHAKAEEwNzVwCgBBMDc3oA+TQUIwNAoBcAoBQTA3OKEW
> cAoAQTA3NnAKAUEwNzdwCgBBMDc4cGhBMDc5FEIFQTA5MwKgEZNBMDg5aAoADP////+kCgBwQTA4
> OWgKNGCiLwoBcEEwODloe2AK/wBhoA6Te2EK/wBppHtgCv8Ae3phCggACv9goAeTYAoApGAIQUVT
> UBISCAoACgAKAAoACgAKAAoACgAURwlBMDY1AXAKAGCgSQiSk0EwODlgCgAM/////3tBMDg5YAoI
> CoBhoAmTYQqAcAoHZ6EFcAoAZ6JNBZKUYGdwQTA5M2AKEGGgCJNhCgB1YJ+gK5NoCgBwQTA4OWBy
> YQoQAGJBMDkwYHJhChAAe2KACgMAAHBiiEFFU1BgAKEWcIOIQUVTUGAAYkEwOTBgcmEKEABidWCh
> ARQ9QTA5MAtyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIg
> cGpBRFJSFDxBMDg5CnJBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkID
> QURSUiCkQURSUhQZQTA4NwGgDJKTQUIwQgoBpAoApEEwNzNoFEwlQTA4OAEIQTA2NgoAcEEwNjdB
> MDY2cAoAQTA2N6AQk2gKAXAKAEEwODFwCgFgoUMFcEEwODkKAAoEYKA7kpNgDP////9BMDkwCgAK
> BHtggAoEAABwQTA4OQoBCgRgoBiSk2AM/////0EwOTAKAQoEe2CACgQAAHAKAUEwODFwCgVgok0Y
> kpNgCgigQQSTYAoBoBWUQUIwRQoBcEFCMEVBQjA1QTAzNlwuX1NCX0EwOTEKAUFCMDZBQjA3QTA5
> MgoBcAoAQTA4NXAKA2CgN5NgCgNwCgBhcAoAYqIZlWEKPKANlEEwNjIKBHAKAWKlWyIKAXVhoAmT
> YgoBcAoEYKEFcAoFYKBBBZNgCgRwCgBhcAoAYqIjlWEKUKAXkJKVQTA2MgoQkpRBMDYyChNwCgFi
> pVsiCgF1YaAJk2IKAXAKB2ChFKAMk0FCMDQKAXAKBWChBXAKBmCgTgWTYAoGcAoBQUIwNHAKAUFC
> MDVBMDYxCgGgP1sSXC5fU0JfQUxJQ2Z9eUFCMEMKAwBBQjBEYVwuX1NCX0FMSUNhCgBbIgoCXC5f
> U0JfQUxJQ2EKAXAKA2CfcAoFYKBMBJNgCgVBMDg5CgAKAHAKAUEwODVBMDkyCgBcLl9TQl9BMDkx
> CgBBQjA2QUIwN3AKAEFCMDVwCgBBQjA0cAoAQUIxMHAKAGJwCghgoA2TYAoHcAoBYnAKCGCgD5NB
> QjA0CgBwCgBBQjA1oC+RlEFCMEUKAZNBUDA1CgGgHpSDiFwuX1NCX0FEQVQKAAAKAaAKkpNoCgBB
> MDM2cEEwNjZBMDY3pGIURgVBMDkyAaAUlEFCMDZBQjA3dEFCMDZBQjA3YKELdEFCMDdBQjA2YHVg
> eQoBYGB2YHlgQUIwOGCgD5NoCgF9QTA4NmBBMDg2oQ17QTA4NoBgAEEwODZbgkKrQUJSMwhfSElE
> DEHQDAIIX1VJRAqDCEFCMTIKXAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFC
> MDQKAAhBQjA1CgAIQUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIw
> QwoACEFCMEQKAFuAQTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0Jf
> QURBVHJBQjEyCg4AAAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEw
> ODEBQTA2OAEACgALQTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEBy
> AAxBMDYzAVuHFkEwODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1
> AQALQTA3MAIADkEwNzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4
> MwEAQHBBMDg0IFuHPEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIK
> CwAAAAAAAwBAckEwODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAU
> TRhfSU5JAHCDiFwuX1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFC
> MEVwg4hcLl9TQl9BREFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOI
> XC5fU0JfQURBVHJBQjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NC
> X0FEQVRyQUIxMgoGAABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFU
> ckFCMTIKCAAAQUIwN3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEy
> CgoAAEFCMDlwg4hcLl9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABB
> QjBCcIOIXC5fU0JfQURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQi
> QTA1OABwQTAzOWCgCpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEw
> CgGkCgGkCgAUKkEwNTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1
> MgCgIpNcLl9TQl9BUDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIw
> MKRBQjAwoQOkYHBBMDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAz
> pGAUC0EwNTEApEFCMDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0Ew
> NjAKAUEwNjFooEALkpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwu
> X1NCX0EwNjQKAKEHQTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsi
> Ch6iDJNBMDY5CgFbIgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NC
> X0EwNjQKAaEHQTA2NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6
> aAoIYKATkJKVYEEwNzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGk
> CgAUDUEwNTcAcAoAQUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEw
> NzRwCgFBMDc1oDGTaAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEw
> NzihFnAKAEEwNzZwCgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoA
> cEEwODloCjRgoi8KAXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRg
> CEFFU1ASEggKAAoACgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4
> OWAKCAqAYaAJk2EKgHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEw
> ODlgcmEKEABiQTA5MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAA
> YnVgoQEUPUEwOTALckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNB
> RFJSIHBqQURSUhQ8QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtB
> RFJCA0FEUlIgpEFEUlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBB
> MDY3QTA2NnAKAEEwNjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5
> MAoACgR7YIAKBAAAcEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoF
> YKJNGJKTYAoIoEEEk2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIw
> N0EwOTIKAXAKAEEwODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1
> YaAJk2IKAXAKBGChBXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoT
> cAoBYqVbIgoBdWGgCZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRw
> CgFBQjA1QTA2MQoBoD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIK
> AlwuX1NCX0FMSUNhCgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0Jf
> QTA5MQoAQUIwNkFCMDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghg
> oA+TQUIwNAoAcAoAQUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKT
> aAoAQTAzNnBBMDY2QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIw
> NmB1YHkKAWBgdmB5YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjQI
> X0hJRAxB0AwCCF9VSUQKhAhBQjEyCnAIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMK
> AAhBQjA0CgAIQUIwNQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoA
> CEFCMEMKAAhBQjBECgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwu
> X1NCX0FEQVRyQUIxMgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcC
> AAJBMDgxAUEwNjgBAAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4Mgqh
> AwBAcgAMQTA2MwFbhxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQB
> QTA3NQEAC0EwNzACAA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuB
> DkEwODMBAEBwQTA4NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJB
> QjEyCgsAAAAAAAMAQHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIx
> MAoAFE0YX0lOSQBwg4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoB
> AABBQjBFcIOIXC5fU0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIw
> MnCDiFwuX1NCX0FEQVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hc
> Ll9TQl9BREFUckFCMTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0Jf
> QURBVHJBQjEyCggAAEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRy
> QUIxMgoKAABBQjA5cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIK
> DAAAQUIwQnCDiFwuX1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFC
> MEQUIkEwNTgAcEEwMzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuT
> QUIxMAoBpAoBpAoAFCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJ
> B0EwNTIAoCKTXC5fU0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyU
> YEFCMDCkQUIwMKEDpGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0Jf
> QVAwM6RgFAtBMDUxAKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9T
> Ql9BMDYwCgFBMDYxaKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAz
> CgFcLl9TQl9BMDY0CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEw
> NjhbIgoeogyTQTA2OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFc
> Ll9TQl9BMDY0CgGhB0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEw
> NTYBemgKCGCgE5CSlWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hg
> pAoBpAoAFA1BMDU3AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNw
> CgFBMDc0cAoBQTA3NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFw
> CgFBMDc4oRZwCgBBMDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM////
> /6QKAHBBMDg5aAo0YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5Ng
> CgCkYAhBRVNQEhIICgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////
> e0EwODlgCggKgGGgCZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gK
> AHBBMDg5YHJhChAAYkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGBy
> YQoQAGJ1YKEBFD1BMDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FE
> UkIDQURSUiBwakFEUlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoE
> W4ELQURSQgNBRFJSIKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2
> CgBwQTA2N0EwNjZwCgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM////
> /0EwOTAKAAoEe2CACgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4
> MXAKBWCiTRiSk2AKCKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIw
> NkFCMDdBMDkyCgFwCgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVb
> IgoBdWGgCZNiCgFwCgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEw
> NjIKE3AKAWKlWyIKAXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFB
> QjA0cAoBQUIwNUEwNjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EK
> AFsiCgJcLl9TQl9BTElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwu
> X1NCX0EwOTEKAEFCMDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFi
> cAoIYKAPk0FCMDQKAHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoB
> oAqSk2gKAEEwMzZwQTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIw
> N0FCMDZgdWB5CgFgYHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NghBMDAx
> CgEIQTAwMgoBCEEwMDMKAAhBMDA0CgAUKEFQVFMBoBaTaAoDQTAwNQoAcEEwMDYKAEEwMDNwQTAw
> NwoAQTAwNBRKB0FXQUsBoE4Fk2gKA6AOk0EwMDQKAUEwMDcKAaEHQTAwNwoAcEEwMDhgcIOIXC5f
> U0JfQURBVAoHAGGgEpCTYAoBk2EKAUEwMDlESzAwoA6TQTAwMwoAQTAwNgoBoQdBMDA2CgCgD5GT
> aAoDk2gKBEEwMTBoQTAxMRRCBEEwMTEAQTAxMkEwMTNBUDAxQUQwMEEwMTRBRDAwQTAxNUFEMDCg
> EJNBRDAwCgBBMDE2Cl4KAKEJQTAxNgpeCgEUMEEwMTcAcEEwMDhgcIOIXC5fU0JfQURBVAoHAGGg
> EpCTYAoBk2EKAUEwMDlESzAwFE8EQTAxOAVwaGBwamJwa2OgG5NpCgB3bGJieGIL6ANhYndsY2N4
> YwvoA2FjeGIKBWFieGMKBWFjfXliCgIAYGB9eWMKEQBgYEEwMTYKXWAUD0EwMTkCQTAxM2hBRDAw
> CEEwMjAKAAhBMDIxCgAUHEEwMTQBoAyTaAoAcAoPQTAyMqEIcAoEQTAyMhQGQTAxNQEUFkEwMTMC
> oAWTaQoAoQmgBZNoCgGhAQ==
> ====
> begin-base64 644 SSDT.7
> U1NEVMgHAAABVUFNRCAgIEFHRVNBICAgAQAAAEFNRCABAAAAEEgeXC5fUFJfUDAwMAhfUENUEiwC
> ERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgD
> AAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwB
> AAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoD
> AAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
> AAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAA
> AAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsK
> CAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAA
> AAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAA
> eQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMQhfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQK
> EYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwA
> AAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQA
> AAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAA
> EQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwE
> AAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxY
> AgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsK
> CAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBD
> VghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAw
> MghfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MS
> RgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQA
> AAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcE
> CAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAA
> EQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAA
> AAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIA
> AAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoA
> DAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgA
> AXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMwhfUENUEiwCERQKEYIMAH9AAABiAAHA
> AAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQA
> AAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIA
> AAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsK
> CAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMD
> AAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
> AAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAA
> AAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQL
> X1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAA
> ====
> begin-base64 644 SSDT.8
> U1NEVKZIAAACe0FNRCAgIEFHRVNBICAgAgAAAE1TRlQAAAAEEIGIBFxfU0JfCEFHUkIMAAAA+AhB
> REJHEQQLAAEIQURBVBFFIAsAAgCCdoIQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAA
> AQAAAAAAAAAAAAAAAAACAgECAAAAAAAEBAEAAgIAAAAAAAICAQIAAAABAQUFAgACAwAAAAAAAgIB
> AgAAAAICBgYDAAIEAAAAAAACAgECAAAAAwMHBwQAAgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAFEkXQUxJQgKgSwWTaAoAcBEECwABYItgCgBBMDIzcAoIQTAyM4tg
> CgJBMDI0cAoBQTAyNIpgCgRBMDI1oByUg4hcLl9TQl9BREFUCgAACgBwCg9BMDI1pGChCnAKAUEw
> MjWkYKATk2gKAXCDiGkKAgBgpEEwMjZgoAuTaAoCpEEwMjdpoBOTaAoDcIOIaQoCAGCkQTAyOGCg
> HJNoCgZwg4hpCgQAYHCDiGkKAgBhpEEwMzFgYaATk2gKCnCDiGkKAgBgpEEwMzJgoE0Kk2gKC3CD
> iGkKAgBgcIOIaQoDAGFwg4hpCgQAYn15g4hpCgUACggAYmJ9eYOIaQoGAAoQAGJifXmDiGkKBwAK
> GABiYnCDiGkKCABjfXmDiGkKCQAKCABjY315g4hpCgoAChAAY2N9eYOIaQoLAAoYAGNjcIOIaQoM
> AGR9eYOIaQoNAAoIAGRkfXmDiGkKDgAKEABkZH15g4hpCg8AChgAZGSkQTAzM2BhYmNkpAoAFE4F
> QTAzMQJwCgBgoh6VYAoFcEEwOTRgaWGgDpNhCgFwQTA5NWBoYaV1YHARAwoKZ4tnCgBBMDIzjGcK
> AkEwMzSMZwoDQTA5NnAKBEEwMjNwCgBBMDM0cGFBMDk2pGcUTghBMDk0AqAak2gKAKRcLwRfU0Jf
> QVdSMEFCUjBBMDg3aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDg3aaAak2gKAqRcLwRfU0JfQVdS
> MEFCUjJBMDg3aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDg3aaAak2gKBKRcLwRfU0JfQVdSMEFC
> UjRBMDg3aRROCEEwOTUCoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwODhpoBqTaAoBpFwvBF9TQl9B
> V1IwQUJSMUEwODhpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwODhpoBqTaAoDpFwvBF9TQl9BV1Iw
> QUJSM0EwODhpoBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwODhpCEFEMDAKAAhESzAwCgAUG0EwMjYB
> oAqTQUQwMGikCgBwaEFEMDBBMDExFBBBMDMyAXBoREswMEEwMTcUD0EwMzMFQTAxOGhpamtsCEFQ
> MDEKAAhBUDAyCgAIQVAwMwoACEFQMDUKAAhBUDBCCv8IQVAxMAoAFEQIQTAyNwFwEQQLAAFni2cK
> AEEwMjNwCgNBMDIzjGcKAkEwMzRwCgFBMDM0oByTg4hcLl9TQl9BREFUCgAACgFwCgJBMDM0pGeg
> HJODiFwuX1NCX0FEQVQKAAAKAHAKAUEwMzSkZ0EwMzVooAuSk0FQMDUKAaRnQTAzNnAKAkEwMzSk
> ZxQvQTAxMgCgF5KUg4hcLl9TQl9BREFUCgAACgGkCgCgDJKTQVAwNQoBpAoAQTAzNhQTQTAzNwGg
> DJNoCgNwCgBBUDAxFA1BMDEwAXAKAUFQMTAURwdBMDI4AXBoQVAwNaAXkpSDiFwuX1NCX0FEQVQK
> AAAKAaQKAHBBUDBCYaAgk0FQMDUKAHAKAGCiDJVgCgVBMDM4YHVgcAoAQVAwQkEwMzZwYUFQMEJw
> EQQLAAFncAoDiGcKAABwCgCIZwoBAHAKAIhnCgIApGcUGkEwMzkAoA6Sk0FQMEIK/6RBUDBCpEFE
> MDAUQQdBMDM1AYtoCgJBUDA2i2gKBEFQMDeLaAoGQVAwOIxoCghBUDA5jGgKCUFQMEFwCgBgoj2V
> YAoFoDWTQTA0MGBBUDA2CgGgG5N7QVAwN0FQMDgACgFwQTA0MWBhQTA0MmBhoQpBMDQyYEFQMEGl
> dWAULkEwNDMAcAoBQVAwMnAKAGCiHJVgCgVwQTA0NGBhoA2UYUFQMDJwYUFQMDJ1YBQuQTA0NQBw
> CgBBUDAzcAoAYKIclWAKBXBBMDQ2YGGgDZRhQVAwM3BhQVAwM3VgFEsMQTAzNgBBMDQ1QTA0M6AX
> kpNBUDAyQVAwMUEwMTlBUDAyQVAwMaAhlEFQMDJBUDAxXC5fU0JfQTA0N0FQMDJwQVAwMkFQMDFw
> CgBgojKVYAoFcEEwNDRgYXBBMDQ4YGKgC5KTYWJBMDQ5YGGhEKAOk0FQMTAKAUEwNDlgYXVgoCGV
> QVAwMkFQMDFcLl9TQl9BMDQ3QVAwMnBBUDAyQVAwMaEhoB+TQVAxMAoBXC5fU0JfQTA0N0FQMDJw
> QVAwMkFQMDFwCgBBUDEwFE4IQTA0OQKgGpNoCgCkXC8EX1NCX0FXUjBBQlIwQTA1MGmgGpNoCgGk
> XC8EX1NCX0FXUjBBQlIxQTA1MGmgGpNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MGmgGpNoCgOkXC8E
> X1NCX0FXUjBBQlIzQTA1MGmgGpNoCgSkXC8EX1NCX0FXUjBBQlI0QTA1MGkUSQhBMDQ4AaAZk2gK
> AKRcLwRfU0JfQVdSMEFCUjBBMDUxoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTGgGZNoCgKkXC8E
> X1NCX0FXUjBBQlIyQTA1MaAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUxoBmTaAoEpFwvBF9TQl9B
> V1IwQUJSNEEwNTEUSQhBMDQ0AaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDUyoBmTaAoBpFwvBF9T
> Ql9BV1IwQUJSMUEwNTKgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1MqAZk2gKA6RcLwRfU0JfQVdS
> MEFCUjNBMDUyoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTIUSQhBMDQ2AaAZk2gKAKRcLwRfU0Jf
> QVdSMEFCUjBBMDUzoBmTaAoBpFwvBF9TQl9BV1IwQUJSMUEwNTOgGZNoCgKkXC8EX1NCX0FXUjBB
> QlIyQTA1M6AZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDUzoBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEw
> NTMUSQhBMDQxAaAZk2gKAKRcLwRfU0JfQVdSMEFCUjBBMDU0oBmTaAoBpFwvBF9TQl9BV1IwQUJS
> MUEwNTSgGZNoCgKkXC8EX1NCX0FXUjBBQlIyQTA1NKAZk2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU0
> oBmTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTQUTghBMDQyAqAak2gKAKRcLwRfU0JfQVdSMEFCUjBB
> MDU1aaAak2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU1aaAak2gKAqRcLwRfU0JfQVdSMEFCUjJBMDU1
> aaAak2gKA6RcLwRfU0JfQVdSMEFCUjNBMDU1aaAak2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU1aRRO
> CEEwNDACoBqTaAoApFwvBF9TQl9BV1IwQUJSMEEwNTZpoBqTaAoBpFwvBF9TQl9BV1IwQUJSMUEw
> NTZpoBqTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTZpoBqTaAoDpFwvBF9TQl9BV1IwQUJSM0EwNTZp
> oBqTaAoEpFwvBF9TQl9BV1IwQUJSNEEwNTZpFEkIQTAzOAGgGZNoCgCkXC8EX1NCX0FXUjBBQlIw
> QTA1N6AZk2gKAaRcLwRfU0JfQVdSMEFCUjFBMDU3oBmTaAoCpFwvBF9TQl9BV1IwQUJSMkEwNTeg
> GZNoCgOkXC8EX1NCX0FXUjBBQlIzQTA1N6AZk2gKBKRcLwRfU0JfQVdSMEFCUjRBMDU3W4BBMTE1
> AHJBR1JCDAAgDAAACwAQW4EQQTExNQEAQNoAGUExMTYBW4BBMTE3AHJBR1JCDAAwDAAACwAQW4EY
> QTExNwEAQG4AE0EwMjIHAEaOQTAwOAFbgEExMTgAckFHUkIMAEAMAAALABBbgS9BMTE4AQBAkgAW
> QTExOQFBMTIwBAAFAAVBMTIxBwBEcwAIQTEyMgMAA0ExMjMCW4BBMTI0AHJBR1JCDABQDAAACwAQ
> W4EQQTEyNAEAQLgADkExMjUBW4BBMTAxAEFHUkILABBbgSZBMTAxAQBAMEExMDIgAEAqQTEwMyAA
> QAZBMTA0IABAFkExMDUgW4cXQTEwMUExMDQMAQAhAAMAQDZBMTA2AVuHF0ExMDFBMTAzDAAAEMID
> AEBeQTEwNyBbhxxBMTAxQTEwMwwEABDCAwBAXkExMDgBQTEwOQFbhxdBMTAxQTEwMww8ABDCAwBA
> XkExMTAgW4cZQTEwMUExMDMMGPgDAAMAQF4ACEExMTEBW4cWQTEwMUExMDUKAAMAQH4ABEExMTIB
> W4BBMTEzAHJBR1JCCwCAAAsAEFuBC0ExMTMDQTExNCAUQAZBMDQ3AaAWk2gKAXCDiFwuX1NCX0FE
> QVQKAQBgoBaTaAoCcIOIXC5fU0JfQURBVAoCAGCgCZRgCvdwCvdgcHcLcQJydAr3YGEKAQAAYnh3
> YgoEYgpkY2RBMDE2CjpkFAZBMDkxAxRABUEwMTYKogmSk0ExMDkKAXBpQTExMHBBMTA3YYBhYXth
> CgFhcGhieWIKAWJ9YmFBMTA3ogmSk0ExMDgKAaIJkpNBMTA5CgFwQTExMGCkYBQcQTA2MAGgDJNo
> CgFwCgBBMTA2oQhwCgFBMTA2FC1BMDA2AXBBMTI1YKAek0ExMTYKAKAMk2gKAHAKAUExMjWhCHAK
> AEExMjWkYAhBMTI2CgAIQTEyNwoAFEcGQTAwNQGgOpNoCgCgGJNBMTI2CgBwCgFBMTI2cEExMTFB
> MTI3QTAxNgpgCwEIohKSk0ExMTYKAEEwMTYKYAsBCKEkoCKTQTEyNgoBoBmTQTEyNwoBoBCTQTEx
> MQoAQTAxNgpfCgEUHkEwMDkBoA2TaAoBQTAxNgpmCgChCUEwMTYKZgoBFCRBMDA3AXBBMTEyYKAM
> k2gKAHAKAEExMTKhCHAKAUExMTKkYFuAUE1JTwEL1gwKAluBEFBNSU8BQTA5NwhBMDk4CFuGEkEw
> OTdBMDk4AQBAcEEwOTkgW4BBQ0ZHAUEwOTkKCFuBC0FDRkcDQTEwMCBbhxZBQ0ZHQTEwMAxoAACA
> AwAgQTA2NwIIQUJTTQoAFCdBMDY0AaAVk2gKAHBBMDY3QUJTTXAKAEEwNjehCnBBQlNNQTA2N1uC
> hFoDQVdSMAhfSElEDEHQDAIIX1VJRAqQCFdSQlMLMAFbgkKrQUJSMAhfSElEDEHQDAIIX1VJRAqA
> CEFCMTIKIAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFCMDQKAAhBQjA1CgAI
> QUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIwQwoACEFCMEQKAFuA
> QTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0JfQURBVHJBQjEyCg4A
> AAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEwODEBQTA2OAEACgAL
> QTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEByAAxBMDYzAVuHFkEw
> ODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1AQALQTA3MAIADkEw
> NzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4MwEAQHBBMDg0IFuH
> PEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIKCwAAAAAAAwBAckEw
> ODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAUTRhfSU5JAHCDiFwu
> X1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFCMEVwg4hcLl9TQl9B
> REFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOIXC5fU0JfQURBVHJB
> QjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NCX0FEQVRyQUIxMgoG
> AABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFUckFCMTIKCAAAQUIw
> N3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEyCgoAAEFCMDlwg4hc
> Ll9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABBQjBCcIOIXC5fU0Jf
> QURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQiQTA1OABwQTAzOWCg
> CpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEwCgGkCgGkCgAUKkEw
> NTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1MgCgIpNcLl9TQl9B
> UDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIwMKRBQjAwoQOkYHBB
> MDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAzpGAUC0EwNTEApEFC
> MDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0EwNjAKAUEwNjFooEAL
> kpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwuX1NCX0EwNjQKAKEH
> QTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsiCh6iDJNBMDY5CgFb
> IgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NCX0EwNjQKAaEHQTA2
> NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6aAoIYKATkJKVYEEw
> NzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGkCgAUDUEwNTcAcAoA
> QUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEwNzRwCgFBMDc1oDGT
> aAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEwNzihFnAKAEEwNzZw
> CgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoAcEEwODloCjRgoi8K
> AXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRgCEFFU1ASEggKAAoA
> CgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4OWAKCAqAYaAJk2EK
> gHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEwODlgcmEKEABiQTA5
> MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAAYnVgoQEUPUEwOTAL
> ckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJSIHBqQURSUhQ8
> QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIgpEFE
> UlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBBMDY3QTA2NnAKAEEw
> NjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5MAoACgR7YIAKBAAA
> cEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoFYKJNGJKTYAoIoEEE
> k2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIwN0EwOTIKAXAKAEEw
> ODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1YaAJk2IKAXAKBGCh
> BXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoTcAoBYqVbIgoBdWGg
> CZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRwCgFBQjA1QTA2MQoB
> oD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIKAlwuX1NCX0FMSUNh
> CgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0JfQTA5MQoAQUIwNkFC
> MDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghgoA+TQUIwNAoAcAoA
> QUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKTaAoAQTAzNnBBMDY2
> QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIwNmB1YHkKAWBgdmB5
> YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjEIX0hJRAxB0AwCCF9V
> SUQKgQhBQjEyCjQIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMKAAhBQjA0CgAIQUIw
> NQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoACEFCMEMKAAhBQjBE
> CgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwuX1NCX0FEQVRyQUIx
> MgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcCAAJBMDgxAUEwNjgB
> AAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4MgqhAwBAcgAMQTA2MwFb
> hxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQBQTA3NQEAC0EwNzAC
> AA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuBDkEwODMBAEBwQTA4
> NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJBQjEyCgsAAAAAAAMA
> QHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIxMAoAFE0YX0lOSQBw
> g4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoBAABBQjBFcIOIXC5f
> U0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIwMnCDiFwuX1NCX0FE
> QVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hcLl9TQl9BREFUckFC
> MTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0JfQURBVHJBQjEyCggA
> AEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRyQUIxMgoKAABBQjA5
> cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIKDAAAQUIwQnCDiFwu
> X1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFCMEQUIkEwNTgAcEEw
> MzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuTQUIxMAoBpAoBpAoA
> FCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJB0EwNTIAoCKTXC5f
> U0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyUYEFCMDCkQUIwMKED
> pGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0JfQVAwM6RgFAtBMDUx
> AKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9TQl9BMDYwCgFBMDYx
> aKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAzCgFcLl9TQl9BMDY0
> CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEwNjhbIgoeogyTQTA2
> OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFcLl9TQl9BMDY0CgGh
> B0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEwNTYBemgKCGCgE5CS
> lWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hgpAoBpAoAFA1BMDU3
> AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNwCgFBMDc0cAoBQTA3
> NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFwCgFBMDc4oRZwCgBB
> MDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM/////6QKAHBBMDg5aAo0
> YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5NgCgCkYAhBRVNQEhII
> CgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////e0EwODlgCggKgGGg
> CZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gKAHBBMDg5YHJhChAA
> YkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGByYQoQAGJ1YKEBFD1B
> MDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkIDQURSUiBwakFE
> UlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNBRFJS
> IKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2CgBwQTA2N0EwNjZw
> CgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM/////0EwOTAKAAoEe2CA
> CgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4MXAKBWCiTRiSk2AK
> CKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIwNkFCMDdBMDkyCgFw
> CgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVbIgoBdWGgCZNiCgFw
> CgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEwNjIKE3AKAWKlWyIK
> AXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFBQjA0cAoBQUIwNUEw
> NjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EKAFsiCgJcLl9TQl9B
> TElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwuX1NCX0EwOTEKAEFC
> MDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFicAoIYKAPk0FCMDQK
> AHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoBoAqSk2gKAEEwMzZw
> QTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIwN0FCMDZgdWB5CgFg
> YHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NluCQqtBQlIyCF9ISUQMQdAM
> AghfVUlECoIIQUIxMgpICEFCMDAKAAhBQjAxCgAIQUIwRQoACEFCMDIKAAhBQjAzCgAIQUIwNAoA
> CEFCMDUKAAhBQjA2CgAIQUIwNwoACEFCMDgKAAhBQjA5CgAIQUIwQQoACEFCMEIKAAhBQjBDCgAI
> QUIwRAoAW4BBMDgwAHJBR1JCfXmDiFwuX1NCX0FEQVRyQUIxMgoNAAAKDwB5g4hcLl9TQl9BREFU
> ckFCMTIKDgAACgwAAAALABBbgUoEQTA4MAEAQAwACEEwNzEIQTA3MggASCZBMDY3AgACQTA4MQFB
> MDY4AQAKAAtBMDY5AQBEDkEwNzkEAAFBMDc2AQBKK0EwODIgW4cWQTA4MEEwODIKoQMAQHIADEEw
> NjMBW4cWQTA4MEEwODIKogMAQHIADUEwNzgBW4cnQTA4MEEwODIKpAMAQHJBMDc0AUEwNzUBAAtB
> MDcwAgAOQTA3NwFbhxRBMDgwQTA4MgqlAwBAckEwNjIGW4BBMDgzAEFHUkILABBbgQ5BMDgzAQBA
> cEEwODQgW4c8QTA4M0EwODR9eV5XUkJTChAAcgsACHcLAAGDiFwuX1NCX0FEQVRyQUIxMgoLAAAA
> AAADAEByQTA4NQFbhyBBMDgzQTA4NH15XldSQlMKEAALKYAAAwBAckEwODYQCEFCMTAKABRNGF9J
> TkkAcIOIXC5fU0JfQURBVHJBQjEyCgAAAEFCMDBwg4hcLl9TQl9BREFUckFCMTIKAQAAQUIwRXCD
> iFwuX1NCX0FEQVRyQUIxMgoCAABBQjAxcIOIXC5fU0JfQURBVHJBQjEyCgMAAEFCMDJwg4hcLl9T
> Ql9BREFUckFCMTIKBAAAQUIwM3CDiFwuX1NCX0FEQVRyQUIxMgoFAABBQjA0cIOIXC5fU0JfQURB
> VHJBQjEyCgYAAEFCMDVwg4hcLl9TQl9BREFUckFCMTIKBwAAQUIwNnCDiFwuX1NCX0FEQVRyQUIx
> MgoIAABBQjA3cIOIXC5fU0JfQURBVHJBQjEyCgkAAEFCMDhwg4hcLl9TQl9BREFUckFCMTIKCgAA
> QUIwOXCDiFwuX1NCX0FEQVRyQUIxMgoLAABBQjBBcIOIXC5fU0JfQURBVHJBQjEyCgwAAEFCMEJw
> g4hcLl9TQl9BREFUckFCMTIKDQAAQUIwQ3CDiFwuX1NCX0FEQVRyQUIxMgoOAABBQjBEFCJBMDU4
> AHBBMDM5YKAKk2AKAaRBQjAxoAqTYAoApEFCMEUUH0EwNTMAoBWSk0FCMTAKAKALk0FCMTAKAaQK
> AaQKABQqQTA1OQCgDpKTQUIwNQoApEFCMDWgEZRBQjEwCgGkdEFCMTAKAQCkCgAUSQdBMDUyAKAi
> k1wuX1NCX0FQMDUKAKAOkpNBQjA1CgCkQUIwNaRBQjBFcEEwNTlgoBeSk2AKAKAMlGBBQjAwpEFC
> MDChA6RgcEEwNThgoCiSk1wuX1NCX0FQMDMKAKAYlVwuX1NCX0FQMDNgpFwuX1NCX0FQMDOkYBQL
> QTA1MQCkQUIwMhQLQTA1NACkQUIwMBRNDkEwNTABcGhBQjAyoBSTQUIwMwoBXC5fU0JfQTA2MAoB
> QTA2MWigQAuSlUEwNjIKEKAQkpNBQjEwCgBwCgBBMDYzoQhwCgFBMDYzoBSTQUIwMwoBXC5fU0Jf
> QTA2NAoAoQdBMDY1CgAIQTA2NgoAcEEwNjdBMDY2cAoAQTA2N3AKAWCiLWBwCgFBMDY4WyIKHqIM
> k0EwNjkKAVsiCgqgD5NoCgGgCZNBMDcwCgCloQKlcEEwNjZBMDY3oBSTQUIwMwoBXC5fU0JfQTA2
> NAoBoQdBMDY1CgGgFJNBQjAzCgFcLl9TQl9BMDYwCgAUDEEwNTUBcGhBQjEwFCJBMDU2AXpoCghg
> oBOQkpVgQTA3MZKUYEEwNzKkCgGkCgAUH0EwNzMBfUFCMER5QUIwQwoDAGCgB5NoYKQKAaQKABQN
> QTA1NwBwCgBBQjEwFEAIQTA2MQGgFJKVaAoCcAoBQTA3NHAKAEEwNzWgFJKVaAoDcAoBQTA3NHAK
> AUEwNzWgMZNoCgFwCgFBMDc2cAoAQTA3NHAKAEEwNzVwCgBBMDc3oA+TQUIwNAoBcAoBQTA3OKEW
> cAoAQTA3NnAKAUEwNzdwCgBBMDc4cGhBMDc5FEIFQTA5MwKgEZNBMDg5aAoADP////+kCgBwQTA4
> OWgKNGCiLwoBcEEwODloe2AK/wBhoA6Te2EK/wBppHtgCv8Ae3phCggACv9goAeTYAoApGAIQUVT
> UBISCAoACgAKAAoACgAKAAoACgAURwlBMDY1AXAKAGCgSQiSk0EwODlgCgAM/////3tBMDg5YAoI
> CoBhoAmTYQqAcAoHZ6EFcAoAZ6JNBZKUYGdwQTA5M2AKEGGgCJNhCgB1YJ+gK5NoCgBwQTA4OWBy
> YQoQAGJBMDkwYHJhChAAe2KACgMAAHBiiEFFU1BgAKEWcIOIQUVTUGAAYkEwOTBgcmEKEABidWCh
> ARQ9QTA5MAtyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtBRFJCA0FEUlIg
> cGpBRFJSFDxBMDg5CnJBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FEUkID
> QURSUiCkQURSUhQZQTA4NwGgDJKTQUIwQgoBpAoApEEwNzNoFEwlQTA4OAEIQTA2NgoAcEEwNjdB
> MDY2cAoAQTA2N6AQk2gKAXAKAEEwODFwCgFgoUMFcEEwODkKAAoEYKA7kpNgDP////9BMDkwCgAK
> BHtggAoEAABwQTA4OQoBCgRgoBiSk2AM/////0EwOTAKAQoEe2CACgQAAHAKAUEwODFwCgVgok0Y
> kpNgCgigQQSTYAoBoBWUQUIwRQoBcEFCMEVBQjA1QTAzNlwuX1NCX0EwOTEKAUFCMDZBQjA3QTA5
> MgoBcAoAQTA4NXAKA2CgN5NgCgNwCgBhcAoAYqIZlWEKPKANlEEwNjIKBHAKAWKlWyIKAXVhoAmT
> YgoBcAoEYKEFcAoFYKBBBZNgCgRwCgBhcAoAYqIjlWEKUKAXkJKVQTA2MgoQkpRBMDYyChNwCgFi
> pVsiCgF1YaAJk2IKAXAKB2ChFKAMk0FCMDQKAXAKBWChBXAKBmCgTgWTYAoGcAoBQUIwNHAKAUFC
> MDVBMDYxCgGgP1sSXC5fU0JfQUxJQ2Z9eUFCMEMKAwBBQjBEYVwuX1NCX0FMSUNhCgBbIgoCXC5f
> U0JfQUxJQ2EKAXAKA2CfcAoFYKBMBJNgCgVBMDg5CgAKAHAKAUEwODVBMDkyCgBcLl9TQl9BMDkx
> CgBBQjA2QUIwN3AKAEFCMDVwCgBBQjA0cAoAQUIxMHAKAGJwCghgoA2TYAoHcAoBYnAKCGCgD5NB
> QjA0CgBwCgBBQjA1oC+RlEFCMEUKAZNBUDA1CgGgHpSDiFwuX1NCX0FEQVQKAAAKAaAKkpNoCgBB
> MDM2cEEwNjZBMDY3pGIURgVBMDkyAaAUlEFCMDZBQjA3dEFCMDZBQjA3YKELdEFCMDdBQjA2YHVg
> eQoBYGB2YHlgQUIwOGCgD5NoCgF9QTA4NmBBMDg2oQ17QTA4NoBgAEEwODZbgkKrQUJSMwhfSElE
> DEHQDAIIX1VJRAqDCEFCMTIKXAhBQjAwCgAIQUIwMQoACEFCMEUKAAhBQjAyCgAIQUIwMwoACEFC
> MDQKAAhBQjA1CgAIQUIwNgoACEFCMDcKAAhBQjA4CgAIQUIwOQoACEFCMEEKAAhBQjBCCgAIQUIw
> QwoACEFCMEQKAFuAQTA4MAByQUdSQn15g4hcLl9TQl9BREFUckFCMTIKDQAACg8AeYOIXC5fU0Jf
> QURBVHJBQjEyCg4AAAoMAAAACwAQW4FKBEEwODABAEAMAAhBMDcxCEEwNzIIAEgmQTA2NwIAAkEw
> ODEBQTA2OAEACgALQTA2OQEARA5BMDc5BAABQTA3NgEASitBMDgyIFuHFkEwODBBMDgyCqEDAEBy
> AAxBMDYzAVuHFkEwODBBMDgyCqIDAEByAA1BMDc4AVuHJ0EwODBBMDgyCqQDAEByQTA3NAFBMDc1
> AQALQTA3MAIADkEwNzcBW4cUQTA4MEEwODIKpQMAQHJBMDYyBluAQTA4MwBBR1JCCwAQW4EOQTA4
> MwEAQHBBMDg0IFuHPEEwODNBMDg0fXleV1JCUwoQAHILAAh3CwABg4hcLl9TQl9BREFUckFCMTIK
> CwAAAAAAAwBAckEwODUBW4cgQTA4M0EwODR9eV5XUkJTChAACymAAAMAQHJBMDg2EAhBQjEwCgAU
> TRhfSU5JAHCDiFwuX1NCX0FEQVRyQUIxMgoAAABBQjAwcIOIXC5fU0JfQURBVHJBQjEyCgEAAEFC
> MEVwg4hcLl9TQl9BREFUckFCMTIKAgAAQUIwMXCDiFwuX1NCX0FEQVRyQUIxMgoDAABBQjAycIOI
> XC5fU0JfQURBVHJBQjEyCgQAAEFCMDNwg4hcLl9TQl9BREFUckFCMTIKBQAAQUIwNHCDiFwuX1NC
> X0FEQVRyQUIxMgoGAABBQjA1cIOIXC5fU0JfQURBVHJBQjEyCgcAAEFCMDZwg4hcLl9TQl9BREFU
> ckFCMTIKCAAAQUIwN3CDiFwuX1NCX0FEQVRyQUIxMgoJAABBQjA4cIOIXC5fU0JfQURBVHJBQjEy
> CgoAAEFCMDlwg4hcLl9TQl9BREFUckFCMTIKCwAAQUIwQXCDiFwuX1NCX0FEQVRyQUIxMgoMAABB
> QjBCcIOIXC5fU0JfQURBVHJBQjEyCg0AAEFCMENwg4hcLl9TQl9BREFUckFCMTIKDgAAQUIwRBQi
> QTA1OABwQTAzOWCgCpNgCgGkQUIwMaAKk2AKAKRBQjBFFB9BMDUzAKAVkpNBQjEwCgCgC5NBQjEw
> CgGkCgGkCgAUKkEwNTkAoA6Sk0FCMDUKAKRBQjA1oBGUQUIxMAoBpHRBQjEwCgEApAoAFEkHQTA1
> MgCgIpNcLl9TQl9BUDA1CgCgDpKTQUIwNQoApEFCMDWkQUIwRXBBMDU5YKAXkpNgCgCgDJRgQUIw
> MKRBQjAwoQOkYHBBMDU4YKAokpNcLl9TQl9BUDAzCgCgGJVcLl9TQl9BUDAzYKRcLl9TQl9BUDAz
> pGAUC0EwNTEApEFCMDIUC0EwNTQApEFCMDAUTQ5BMDUwAXBoQUIwMqAUk0FCMDMKAVwuX1NCX0Ew
> NjAKAUEwNjFooEALkpVBMDYyChCgEJKTQUIxMAoAcAoAQTA2M6EIcAoBQTA2M6AUk0FCMDMKAVwu
> X1NCX0EwNjQKAKEHQTA2NQoACEEwNjYKAHBBMDY3QTA2NnAKAEEwNjdwCgFgoi1gcAoBQTA2OFsi
> Ch6iDJNBMDY5CgFbIgoKoA+TaAoBoAmTQTA3MAoApaECpXBBMDY2QTA2N6AUk0FCMDMKAVwuX1NC
> X0EwNjQKAaEHQTA2NQoBoBSTQUIwMwoBXC5fU0JfQTA2MAoAFAxBMDU1AXBoQUIxMBQiQTA1NgF6
> aAoIYKATkJKVYEEwNzGSlGBBMDcypAoBpAoAFB9BMDczAX1BQjBEeUFCMEMKAwBgoAeTaGCkCgGk
> CgAUDUEwNTcAcAoAQUIxMBRACEEwNjEBoBSSlWgKAnAKAUEwNzRwCgBBMDc1oBSSlWgKA3AKAUEw
> NzRwCgFBMDc1oDGTaAoBcAoBQTA3NnAKAEEwNzRwCgBBMDc1cAoAQTA3N6APk0FCMDQKAXAKAUEw
> NzihFnAKAEEwNzZwCgFBMDc3cAoAQTA3OHBoQTA3ORRCBUEwOTMCoBGTQTA4OWgKAAz/////pAoA
> cEEwODloCjRgoi8KAXBBMDg5aHtgCv8AYaAOk3thCv8AaaR7YAr/AHt6YQoIAAr/YKAHk2AKAKRg
> CEFFU1ASEggKAAoACgAKAAoACgAKAAoAFEcJQTA2NQFwCgBgoEkIkpNBMDg5YAoADP////97QTA4
> OWAKCAqAYaAJk2EKgHAKB2ehBXAKAGeiTQWSlGBncEEwOTNgChBhoAiTYQoAdWCfoCuTaAoAcEEw
> ODlgcmEKEABiQTA5MGByYQoQAHtigAoDAABwYohBRVNQYAChFnCDiEFFU1BgAGJBMDkwYHJhChAA
> YnVgoQEUPUEwOTALckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoEW4ELQURSQgNB
> RFJSIHBqQURSUhQ8QTA4OQpyQUdSQnlBMDcxChQAYHJgeWgKDABgcmBpYFuAQURSQgBgCgRbgQtB
> RFJCA0FEUlIgpEFEUlIUGUEwODcBoAySk0FCMEIKAaQKAKRBMDczaBRMJUEwODgBCEEwNjYKAHBB
> MDY3QTA2NnAKAEEwNjegEJNoCgFwCgBBMDgxcAoBYKFDBXBBMDg5CgAKBGCgO5KTYAz/////QTA5
> MAoACgR7YIAKBAAAcEEwODkKAQoEYKAYkpNgDP////9BMDkwCgEKBHtggAoEAABwCgFBMDgxcAoF
> YKJNGJKTYAoIoEEEk2AKAaAVlEFCMEUKAXBBQjBFQUIwNUEwMzZcLl9TQl9BMDkxCgFBQjA2QUIw
> N0EwOTIKAXAKAEEwODVwCgNgoDeTYAoDcAoAYXAKAGKiGZVhCjygDZRBMDYyCgRwCgFipVsiCgF1
> YaAJk2IKAXAKBGChBXAKBWCgQQWTYAoEcAoAYXAKAGKiI5VhClCgF5CSlUEwNjIKEJKUQTA2MgoT
> cAoBYqVbIgoBdWGgCZNiCgFwCgdgoRSgDJNBQjA0CgFwCgVgoQVwCgZgoE4Fk2AKBnAKAUFCMDRw
> CgFBQjA1QTA2MQoBoD9bElwuX1NCX0FMSUNmfXlBQjBDCgMAQUIwRGFcLl9TQl9BTElDYQoAWyIK
> AlwuX1NCX0FMSUNhCgFwCgNgn3AKBWCgTASTYAoFQTA4OQoACgBwCgFBMDg1QTA5MgoAXC5fU0Jf
> QTA5MQoAQUIwNkFCMDdwCgBBQjA1cAoAQUIwNHAKAEFCMTBwCgBicAoIYKANk2AKB3AKAWJwCghg
> oA+TQUIwNAoAcAoAQUIwNaAvkZRBQjBFCgGTQVAwNQoBoB6Ug4hcLl9TQl9BREFUCgAACgGgCpKT
> aAoAQTAzNnBBMDY2QTA2N6RiFEYFQTA5MgGgFJRBQjA2QUIwN3RBQjA2QUIwN2ChC3RBQjA3QUIw
> NmB1YHkKAWBgdmB5YEFCMDhgoA+TaAoBfUEwODZgQTA4NqENe0EwODaAYABBMDg2W4JCq0FCUjQI
> X0hJRAxB0AwCCF9VSUQKhAhBQjEyCnAIQUIwMAoACEFCMDEKAAhBQjBFCgAIQUIwMgoACEFCMDMK
> AAhBQjA0CgAIQUIwNQoACEFCMDYKAAhBQjA3CgAIQUIwOAoACEFCMDkKAAhBQjBBCgAIQUIwQgoA
> CEFCMEMKAAhBQjBECgBbgEEwODAAckFHUkJ9eYOIXC5fU0JfQURBVHJBQjEyCg0AAAoPAHmDiFwu
> X1NCX0FEQVRyQUIxMgoOAAAKDAAAAAsAEFuBSgRBMDgwAQBADAAIQTA3MQhBMDcyCABIJkEwNjcC
> AAJBMDgxAUEwNjgBAAoAC0EwNjkBAEQOQTA3OQQAAUEwNzYBAEorQTA4MiBbhxZBMDgwQTA4Mgqh
> AwBAcgAMQTA2MwFbhxZBMDgwQTA4MgqiAwBAcgANQTA3OAFbhydBMDgwQTA4MgqkAwBAckEwNzQB
> QTA3NQEAC0EwNzACAA5BMDc3AVuHFEEwODBBMDgyCqUDAEByQTA2MgZbgEEwODMAQUdSQgsAEFuB
> DkEwODMBAEBwQTA4NCBbhzxBMDgzQTA4NH15XldSQlMKEAByCwAIdwsAAYOIXC5fU0JfQURBVHJB
> QjEyCgsAAAAAAAMAQHJBMDg1AVuHIEEwODNBMDg0fXleV1JCUwoQAAspgAADAEByQTA4NhAIQUIx
> MAoAFE0YX0lOSQBwg4hcLl9TQl9BREFUckFCMTIKAAAAQUIwMHCDiFwuX1NCX0FEQVRyQUIxMgoB
> AABBQjBFcIOIXC5fU0JfQURBVHJBQjEyCgIAAEFCMDFwg4hcLl9TQl9BREFUckFCMTIKAwAAQUIw
> MnCDiFwuX1NCX0FEQVRyQUIxMgoEAABBQjAzcIOIXC5fU0JfQURBVHJBQjEyCgUAAEFCMDRwg4hc
> Ll9TQl9BREFUckFCMTIKBgAAQUIwNXCDiFwuX1NCX0FEQVRyQUIxMgoHAABBQjA2cIOIXC5fU0Jf
> QURBVHJBQjEyCggAAEFCMDdwg4hcLl9TQl9BREFUckFCMTIKCQAAQUIwOHCDiFwuX1NCX0FEQVRy
> QUIxMgoKAABBQjA5cIOIXC5fU0JfQURBVHJBQjEyCgsAAEFCMEFwg4hcLl9TQl9BREFUckFCMTIK
> DAAAQUIwQnCDiFwuX1NCX0FEQVRyQUIxMgoNAABBQjBDcIOIXC5fU0JfQURBVHJBQjEyCg4AAEFC
> MEQUIkEwNTgAcEEwMzlgoAqTYAoBpEFCMDGgCpNgCgCkQUIwRRQfQTA1MwCgFZKTQUIxMAoAoAuT
> QUIxMAoBpAoBpAoAFCpBMDU5AKAOkpNBQjA1CgCkQUIwNaARlEFCMTAKAaR0QUIxMAoBAKQKABRJ
> B0EwNTIAoCKTXC5fU0JfQVAwNQoAoA6Sk0FCMDUKAKRBQjA1pEFCMEVwQTA1OWCgF5KTYAoAoAyU
> YEFCMDCkQUIwMKEDpGBwQTA1OGCgKJKTXC5fU0JfQVAwMwoAoBiVXC5fU0JfQVAwM2CkXC5fU0Jf
> QVAwM6RgFAtBMDUxAKRBQjAyFAtBMDU0AKRBQjAwFE0OQTA1MAFwaEFCMDKgFJNBQjAzCgFcLl9T
> Ql9BMDYwCgFBMDYxaKBAC5KVQTA2MgoQoBCSk0FCMTAKAHAKAEEwNjOhCHAKAUEwNjOgFJNBQjAz
> CgFcLl9TQl9BMDY0CgChB0EwNjUKAAhBMDY2CgBwQTA2N0EwNjZwCgBBMDY3cAoBYKItYHAKAUEw
> NjhbIgoeogyTQTA2OQoBWyIKCqAPk2gKAaAJk0EwNzAKAKWhAqVwQTA2NkEwNjegFJNBQjAzCgFc
> Ll9TQl9BMDY0CgGhB0EwNjUKAaAUk0FCMDMKAVwuX1NCX0EwNjAKABQMQTA1NQFwaEFCMTAUIkEw
> NTYBemgKCGCgE5CSlWBBMDcxkpRgQTA3MqQKAaQKABQfQTA3MwF9QUIwRHlBQjBDCgMAYKAHk2hg
> pAoBpAoAFA1BMDU3AHAKAEFCMTAUQAhBMDYxAaAUkpVoCgJwCgFBMDc0cAoAQTA3NaAUkpVoCgNw
> CgFBMDc0cAoBQTA3NaAxk2gKAXAKAUEwNzZwCgBBMDc0cAoAQTA3NXAKAEEwNzegD5NBQjA0CgFw
> CgFBMDc4oRZwCgBBMDc2cAoBQTA3N3AKAEEwNzhwaEEwNzkUQgVBMDkzAqARk0EwODloCgAM////
> /6QKAHBBMDg5aAo0YKIvCgFwQTA4OWh7YAr/AGGgDpN7YQr/AGmke2AK/wB7emEKCAAK/2CgB5Ng
> CgCkYAhBRVNQEhIICgAKAAoACgAKAAoACgAKABRHCUEwNjUBcAoAYKBJCJKTQTA4OWAKAAz/////
> e0EwODlgCggKgGGgCZNhCoBwCgdnoQVwCgBnok0FkpRgZ3BBMDkzYAoQYaAIk2EKAHVgn6Ark2gK
> AHBBMDg5YHJhChAAYkEwOTBgcmEKEAB7YoAKAwAAcGKIQUVTUGAAoRZwg4hBRVNQYABiQTA5MGBy
> YQoQAGJ1YKEBFD1BMDkwC3JBR1JCeUEwNzEKFABgcmB5aAoMAGByYGlgW4BBRFJCAGAKBFuBC0FE
> UkIDQURSUiBwakFEUlIUPEEwODkKckFHUkJ5QTA3MQoUAGByYHloCgwAYHJgaWBbgEFEUkIAYAoE
> W4ELQURSQgNBRFJSIKRBRFJSFBlBMDg3AaAMkpNBQjBCCgGkCgCkQTA3M2gUTCVBMDg4AQhBMDY2
> CgBwQTA2N0EwNjZwCgBBMDY3oBCTaAoBcAoAQTA4MXAKAWChQwVwQTA4OQoACgRgoDuSk2AM////
> /0EwOTAKAAoEe2CACgQAAHBBMDg5CgEKBGCgGJKTYAz/////QTA5MAoBCgR7YIAKBAAAcAoBQTA4
> MXAKBWCiTRiSk2AKCKBBBJNgCgGgFZRBQjBFCgFwQUIwRUFCMDVBMDM2XC5fU0JfQTA5MQoBQUIw
> NkFCMDdBMDkyCgFwCgBBMDg1cAoDYKA3k2AKA3AKAGFwCgBiohmVYQo8oA2UQTA2MgoEcAoBYqVb
> IgoBdWGgCZNiCgFwCgRgoQVwCgVgoEEFk2AKBHAKAGFwCgBioiOVYQpQoBeQkpVBMDYyChCSlEEw
> NjIKE3AKAWKlWyIKAXVhoAmTYgoBcAoHYKEUoAyTQUIwNAoBcAoFYKEFcAoGYKBOBZNgCgZwCgFB
> QjA0cAoBQUIwNUEwNjEKAaA/WxJcLl9TQl9BTElDZn15QUIwQwoDAEFCMERhXC5fU0JfQUxJQ2EK
> AFsiCgJcLl9TQl9BTElDYQoBcAoDYJ9wCgVgoEwEk2AKBUEwODkKAAoAcAoBQTA4NUEwOTIKAFwu
> X1NCX0EwOTEKAEFCMDZBQjA3cAoAQUIwNXAKAEFCMDRwCgBBQjEwcAoAYnAKCGCgDZNgCgdwCgFi
> cAoIYKAPk0FCMDQKAHAKAEFCMDWgL5GUQUIwRQoBk0FQMDUKAaAelIOIXC5fU0JfQURBVAoAAAoB
> oAqSk2gKAEEwMzZwQTA2NkEwNjekYhRGBUEwOTIBoBSUQUIwNkFCMDd0QUIwNkFCMDdgoQt0QUIw
> N0FCMDZgdWB5CgFgYHZgeWBBQjA4YKAPk2gKAX1BMDg2YEEwODahDXtBMDg2gGAAQTA4NghBMDAx
> CgEIQTAwMgoBCEEwMDMKAAhBMDA0CgAUKEFQVFMBoBaTaAoDQTAwNQoAcEEwMDYKAEEwMDNwQTAw
> NwoAQTAwNBRKB0FXQUsBoE4Fk2gKA6AOk0EwMDQKAUEwMDcKAaEHQTAwNwoAcEEwMDhgcIOIXC5f
> U0JfQURBVAoHAGGgEpCTYAoBk2EKAUEwMDlESzAwoA6TQTAwMwoAQTAwNgoBoQdBMDA2CgCgD5GT
> aAoDk2gKBEEwMTBoQTAxMRRCBEEwMTEAQTAxMkEwMTNBUDAxQUQwMEEwMTRBRDAwQTAxNUFEMDCg
> EJNBRDAwCgBBMDE2Cl4KAKEJQTAxNgpeCgEUMEEwMTcAcEEwMDhgcIOIXC5fU0JfQURBVAoHAGGg
> EpCTYAoBk2EKAUEwMDlESzAwFE8EQTAxOAVwaGBwamJwa2OgG5NpCgB3bGJieGIL6ANhYndsY2N4
> YwvoA2FjeGIKBWFieGMKBWFjfXliCgIAYGB9eWMKEQBgYEEwMTYKXWAUD0EwMTkCQTAxM2hBRDAw
> CEEwMjAKAAhBMDIxCgAUHEEwMTQBoAyTaAoAcAoPQTAyMqEIcAoEQTAyMhQGQTAxNQEUFkEwMTMC
> oAWTaQoAoQmgBZNoCgGhAQ==
> ====
> begin-base64 644 SSDT.9
> U1NEVMgHAAABVUFNRCAgIEFHRVNBICAgAQAAAEFNRCABAAAAEEgeXC5fUFJfUDAwMAhfUENUEiwC
> ERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgD
> AAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwB
> AAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoD
> AAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
> AAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAA
> AAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsK
> CAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAA
> AAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAA
> eQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMQhfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQK
> EYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwA
> AAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQA
> AAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAA
> EQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwE
> AAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxY
> AgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsK
> CAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBD
> VghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAw
> MghfUENUEiwCERQKEYIMAH9AAABiAAHAAAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MS
> RgYDEiAGDOgDAAAMqgMAAAwEAAAADAQAAAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQA
> AAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIAAAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcE
> CAzoAwAADKoDAAAMBAAAAAwEAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAA
> EQsKCAAAAAAAAAAAEkcECAwgAwAADAMDAAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAA
> AAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIA
> AAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoA
> DAAAAAAM/gAAAAwEAAAACFBQQ1YKABQLX1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgA
> AXEXAAAAAAAAeQAKAguQAQwAAAAAEEgeXC5fUFJfUDAwMwhfUENUEiwCERQKEYIMAH9AAABiAAHA
> AAAAAHkAERQKEYIMAH9AAAAAAAAAAAAAAHkACF9QU1MSRgYDEiAGDOgDAAAMqgMAAAwEAAAADAQA
> AAAMAAAAAAwAAAAAEiAGDCADAAAMAwMAAAwEAAAADAQAAAAMAQAAAAwBAAAAEiAGDFgCAAAMRQIA
> AAwEAAAADAQAAAAMAgAAAAwCAAAACFhQU1MSSw0DEkcECAzoAwAADKoDAAAMBAAAAAwEAAAAEQsK
> CAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAAAAAAEkcECAwgAwAADAMD
> AAAMBAAAAAwEAAAAEQsKCAEAAAAAAAAAEQsKCAEAAAAAAAAAEQsKCAAAAAAAAAAAEQsKCAAAAAAA
> AAAAEkcECAxYAgAADEUCAAAMBAAAAAwEAAAAEQsKCAIAAAAAAAAAEQsKCAIAAAAAAAAAEQsKCAAA
> AAAAAAAAEQsKCAAAAAAAAAAACF9QU0QSGAESFQUKBQoADAAAAAAM/gAAAAwEAAAACFBQQ1YKABQL
> X1BQQwCkUFBDVghfQ1NUEiYCCgESIQQRFAoRggwAAQgAAXEXAAAAAAAAeQAKAguQAQwAAAAA
> ====
> begin-base64 644 TPM2.5
> VFBNMkwAAAAEOENPUkV2NENPUkVCT09UAAAAAENPUkUxBRggAAAAAAAAAAAAAAAABgAAAAAAAAAA
> AAAAAAAAAAAAAQAA0OjPAAAAAA==
> ====
> begin-base64 644 XSDT.0
> WFNEVHQAAAABw0NPUkV2NENPUkVCT09UAAAAAENPUkUxBRggQO7pzwAAAABg7+nPAAAAAGDx6c8A
> AAAAoPHpzwAAAADw8enPAAAAAHDy6c8AAAAAQPTpzwAAAADwPOrPAAAAAMBE6s8AAAAAQEXqzwAA
> AAA=
> ====
> begin-base64 644 headers
> ClJTRCBQVFI6IENoZWNrc3VtPTg0LCBPRU1JRD1DT1JFdjQsIFJldmlzaW9uPTIsIFJzZHRBZGRy
> ZXNzPTB4Y2ZlOWQwMzAKCUxlbmd0aD0zNiwgWHNkdEFkZHJlc3M9MHgwMDAwMDAwMGNmZTlkMGUw
> LCBFeHRlbmRlZCBDaGVja3N1bT0xMTYKCgpYU0RUOiBMZW5ndGg9MTE2LCBSZXZpc2lvbj0xLCBD
> aGVja3N1bT0xOTUsCglPRU1JRD1DT1JFdjQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJl
> dmlzaW9uPTB4MCwKCUNyZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMx
> CgoKCUVudHJpZXM9eyAweDAwMDAwMDAwY2ZlOWVlNDAsIDB4MDAwMDAwMDBjZmU5ZWY2MCwgMHgw
> MDAwMDAwMGNmZTlmMTYwLCAweDAwMDAwMDAwY2ZlOWYxYTAsIDB4MDAwMDAwMDBjZmU5ZjFmMCwg
> MHgwMDAwMDAwMGNmZTlmMjcwLCAweDAwMDAwMDAwY2ZlOWY0NDAsIDB4MDAwMDAwMDBjZmVhM2Nm
> MCwgMHgwMDAwMDAwMGNmZWE0NGMwLCAweDAwMDAwMDAwY2ZlYTQ1NDAgfQoKCglEU0RUPTB4Y2Zl
> OWQyODAKCUlOVF9NT0RFTD1QSUMKCVNDSV9JTlQ9OQoJU01JX0NNRD0weDAsIEFDUElfRU5BQkxF
> PTB4MCwgQUNQSV9ESVNBQkxFPTB4MCwgUzRCSU9TX1JFUT0weDAKCVBNMWFfRVZUX0JMSz0weDgw
> MC0weDgwMwoJUE0xYV9DTlRfQkxLPTB4ODA0LTB4ODA1CglQTTJfVE1SX0JMSz0weDgxOC0weDgx
> YgoJUE0yX0dQRTBfQkxLPTB4ODEwLTB4ODE3CglQX0xWTDJfTEFUPTEwMW1zLCBQX0xWTDNfTEFU
> PTEwMDFtcwoJRkxVU0hfU0laRT0wLCBGTFVTSF9TVFJJREU9MAoJRFVUWV9PRkZTRVQ9MSwgRFVU
> WV9XSURUSD0zCglEQVlfQUxSTT0wLCBNT05fQUxSTT0wLCBDRU5UVVJZPTAKCUZsYWdzPXtXQklO
> VkQsUFJPQ19DMSxTTFBfQlVUVE9OLFJUQ19TNCxUTVJfVkFMX0VYVH0KCgpEU0RUOiBMZW5ndGg9
> NzA5MSwgUmV2aXNpb249MiwgQ2hlY2tzdW09MTg2LAoJT0VNSUQ9Q09SRXY0LCBPRU0gVGFibGUg
> SUQ9Q09SRUJPT1QsIE9FTSBSZXZpc2lvbj0weDEwMDAxLAoJQ3JlYXRvciBJRD1JTlRMLCBDcmVh
> dG9yIFJldmlzaW9uPTB4MjAxODA1MzEKCgpTU0RUOiBMZW5ndGg9NTA0LCBSZXZpc2lvbj0yLCBD
> aGVja3N1bT00OSwKCU9FTUlEPUNPUkV2NCwgT0VNIFRhYmxlIElEPUNPUkVCT09ULCBPRU0gUmV2
> aXNpb249MHgyYSwKCUNyZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMx
> CgoKTUNGRzogTGVuZ3RoPTYwLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNjcsCglPRU1JRD1DT1JF
> djQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJldmlzaW9uPTB4MCwKCUNyZWF0b3IgSUQ9
> Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMxCgoKVFBNMjogTGVuZ3RoPTc2LCBSZXZp
> c2lvbj00LCBDaGVja3N1bT01NiwKCU9FTUlEPUNPUkV2NCwgT0VNIFRhYmxlIElEPUNPUkVCT09U
> LCBPRU0gUmV2aXNpb249MHgwLAoJQ3JlYXRvciBJRD1DT1JFLCBDcmVhdG9yIFJldmlzaW9uPTB4
> MjAxODA1MzEKCgpBUElDOiBMZW5ndGg9MTI2LCBSZXZpc2lvbj0zLCBDaGVja3N1bT0xMzcsCglP
> RU1JRD1DT1JFdjQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJldmlzaW9uPTB4MCwKCUNy
> ZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMxCgoKSEVTVDogTGVuZ3Ro
> PTQ2NCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTA1LAoJT0VNSUQ9Q09SRXY0LCBPRU0gVGFibGUg
> SUQ9Q09SRUJPT1QsIE9FTSBSZXZpc2lvbj0weDAsCglDcmVhdG9yIElEPUNPUkUsIENyZWF0b3Ig
> UmV2aXNpb249MHgyMDE4MDUzMQoKClNTRFQ6IExlbmd0aD0xODU5OCwgUmV2aXNpb249MiwgQ2hl
> Y2tzdW09MTIzLAoJT0VNSUQ9QU1ELCBPRU0gVGFibGUgSUQ9QUdFU0EsIE9FTSBSZXZpc2lvbj0w
> eDIsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2aXNpb249MHg0MDAwMDAwCgoKU1NEVDog
> TGVuZ3RoPTE5OTIsIFJldmlzaW9uPTEsIENoZWNrc3VtPTg1LAoJT0VNSUQ9QU1ELCBPRU0gVGFi
> bGUgSUQ9QUdFU0EsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUFNRCwgQ3JlYXRvciBS
> ZXZpc2lvbj0weDEKCgpEUlRNOiBMZW5ndGg9MTI0LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yNDgs
> CglPRU1JRD1DT1JFdjQsIE9FTSBUYWJsZSBJRD1DT1JFQk9PVCwgT0VNIFJldmlzaW9uPTB4MCwK
> CUNyZWF0b3IgSUQ9Q09SRSwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTgwNTMxCgoKSFBFVDogTGVu
> Z3RoPTU2LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xMiwKCU9FTUlEPUNPUkV2NCwgT0VNIFRhYmxl
> IElEPUNPUkVCT09ULCBPRU0gUmV2aXNpb249MHgwLAoJQ3JlYXRvciBJRD1DT1JFLCBDcmVhdG9y
> IFJldmlzaW9uPTB4MjAxODA1MzEKCg==
> ====
>

--
Regards,
 Mikolaj

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

Mikolaj Kucharski-3
On Sun, Aug 16, 2020 at 01:23:54PM +0000, Mikolaj Kucharski wrote:

> On Mon, Aug 10, 2020 at 08:34:36PM +0000, Mikolaj Kucharski wrote:
> > >Synopsis: LTE mini-PCIe modem not showing up after reboot
> > >Category: kernel
> > >Environment:
> > System      : OpenBSD 6.7
> > Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
> > [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >
> > Architecture: OpenBSD.amd64
> > Machine     : amd64
> > >Description:
> > I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
> > When I cold boot the system, device is properly detected:
> >
> > uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> > umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom0 at umsm0
> > umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom1 at umsm1
> > umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom2 at umsm2
> > umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom3 at umsm3
> > umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom4 at umsm4
> >
> > However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
> > is not visible any more from the system:
> >
> > uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> >
> > >How-To-Repeat:
> > Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.
> >
> > >Fix:
> > Unknown. I've looked around and found following resources:
> >
> > - OpenBSD misc, broken EHCI USB on AMD chipset?
> > https://marc.info/?t=151192838800001&r=1&w=2
> >
> > - PCI: Workaround AMD EHCI controller PME bug
> > https://patchwork.kernel.org/patch/9797105/
> >
> > - usb: host: ehci: workaround PME bug on AMD EHCI controller
> > https://patchwork.kernel.org/patch/9783041/
> >
> > - Linux kernel, pci_fixup_amd_ehci_pme() function
> > https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593
> >
> > - SB700 Family Product Errata
> > https://www.amd.com/system/files/TechDocs/46837.pdf
> >
> > - AMD SB700/710/750 Register Programming Requirements
> > http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf
> >
> > Unfortunately, I don't know how to apply solution from Linux code to OpenBSD :/
>
> This is what I came up for a moment, but it doesn't work. If someone
> sees why, I would appreciated a hint why this approach is wrong. Here is
> my debugging patch. After the patch more comments.
>
>
> Index: dev/pci/ehci_pci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/ehci_pci.c,v
> retrieving revision 1.31
> diff -u -p -u -r1.31 ehci_pci.c
> --- dev/pci/ehci_pci.c 2 May 2019 20:28:46 -0000 1.31
> +++ dev/pci/ehci_pci.c 16 Aug 2020 13:16:17 -0000
> @@ -146,6 +146,51 @@ ehci_pci_attach(struct device *parent, s
>   }
>   break;
>  
> + case PCI_VENDOR_AMD:
> + /* AMD Hudson-2 USB2 [1022:7808] */
> + if (PCI_PRODUCT(pa->pa_id) == 0x7808) {
> + printf(" XXX AMD Hudson-2 USB2 XXX");
> +
> + int offset;
> + if (pci_get_capability(sc->sc_pc, sc->sc_tag, PCI_CAP_PWRMGMT, &offset, 0)) {
> + pcireg_t reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
> + printf(" reg=0x%08x", reg);
> +
> + printf(" pme_d0=%d", (reg & (PCI_PM_CAP_PME_D0 << 16)) ? 1 : 0);
> + printf(" pme_d1=%d", (reg & (PCI_PM_CAP_PME_D1 << 16)) ? 1 : 0);
> + printf(" pme_d2=%d", (reg & (PCI_PM_CAP_PME_D2 << 16)) ? 1 : 0);
> + printf(" pme_d3hot=%d", (reg & (PCI_PM_CAP_PME_D3_HOT << 16)) ? 1 : 0);
> + printf(" pme_d3cold=%d", (reg & (PCI_PM_CAP_PME_D3_COLD << 16)) ? 1 : 0);
> +
> + printf( " *");
> +
> + reg &= ~((PCI_PM_CAP_PME_D3_HOT | PCI_PM_CAP_PME_D3_COLD) << 16);
> + printf(" val=0x%08x", reg);
> +
> + printf(" pme_d0=%d", (reg & (PCI_PM_CAP_PME_D0 << 16)) ? 1 : 0);
> + printf(" pme_d1=%d", (reg & (PCI_PM_CAP_PME_D1 << 16)) ? 1 : 0);
> + printf(" pme_d2=%d", (reg & (PCI_PM_CAP_PME_D2 << 16)) ? 1 : 0);
> + printf(" pme_d3hot=%d", (reg & (PCI_PM_CAP_PME_D3_HOT << 16)) ? 1 : 0);
> + printf(" pme_d3cold=%d", (reg & (PCI_PM_CAP_PME_D3_COLD << 16)) ? 1 : 0);
> +
> + printf( " !");
> + pci_conf_write(sc->sc_pc, sc->sc_tag, offset, reg);
> + delay(10 * 1000);
> + printf( "!");
> +
> + reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
> + printf(" reg=0x%08x", reg);
> +
> + delay(10 * 1000);
> +
> + reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
> + printf(" reg=0x%08x", reg);
> + } else {
> + printf(" pci_get_capability PCI_CAP_PWRMGMT err");
> + }
> + }
> + break;
> +
>   case PCI_VENDOR_VIATECH:
>   if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_VIATECH_VT6202 &&
>      (PCI_REVISION(pa->pa_class) & 0xf0) == 0x60) {
> Index: dev/pci/pcireg.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcireg.h,v
> retrieving revision 1.59
> diff -u -p -u -r1.59 pcireg.h
> --- dev/pci/pcireg.h 2 Nov 2019 10:14:57 -0000 1.59
> +++ dev/pci/pcireg.h 16 Aug 2020 13:16:17 -0000
> @@ -533,6 +533,14 @@ typedef u_int8_t pci_revision_t;
>  #define PCI_PMCSR_STATE_D1 0x0001
>  #define PCI_PMCSR_STATE_D2 0x0002
>  #define PCI_PMCSR_STATE_D3 0x0003
> +
> +/* XXX AMD Hudson-2 USB2 XXX */
> +#define PCI_PM_CAP_PME_D0 0x0800 /* PME can be asserted from D0 */
> +#define PCI_PM_CAP_PME_D1 0x1000 /* PME can be asserted from D1 */
> +#define PCI_PM_CAP_PME_D2 0x2000 /* PME can be asserted from D2 */
> +#define PCI_PM_CAP_PME_D3_HOT 0x4000 /* PME can be asserted from D3hot */
> +#define PCI_PM_CAP_PME_D3_COLD 0x8000 /* PME can be asserted from D3cold */
> +
>  #define PCI_PMCSR_PME_STATUS 0x8000
>  #define PCI_PMCSR_PME_EN 0x0100
>  
>
> Dmesg line with above patch looks as follow:
>
> # dmesg | grep -w XXX
> ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39 XXX AMD Hudson-2 USB2 XXX reg=0xfe02e401 pme_d0=1 pme_d1=1 pme_d2=1 pme_d3hot=1 pme_d3cold=1 * val=0x3e02e401 pme_d0=1 pme_d1=1 pme_d2=1 pme_d3hot=0 pme_d3cold=0 !! reg=0xfe02e401 reg=0xfe02e401: apic 4 int 18
>
> so as you can see reg=0xfe02e401 before pci_conf_write() and after the
> function call is also 0xfe02e401 where I wanted it to be 0x3e02e401.
>
> Executing pcidump and lspci also shows unwanted value 0xfe02e401:
>
> # pcidump -vvv -xx 0:19:0
>  0:19:0: AMD Hudson-2 USB2
> 0x0000: Vendor ID: 1022, Product ID: 7808
> 0x0004: Command: 0006, Status: 02b0
> 0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
> Interface: 20, Revision: 39
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
> Cache Line Size: 10
> 0x0010: BAR mem 32bit addr: 0xf7f26000/0x00000100
> 0x0014: BAR empty (00000000)
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR empty (00000000)
> 0x0024: BAR empty (00000000)
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1022 Product ID: 7808
> 0x0030: Expansion ROM Base Address: 00000000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
> 0x00c0: Capability 0x01: Power Management
> State: D0
> 0x00e4: Capability 0x0a: Debug Port
> 0x0000: 78081022 02b00006 0c032039 00004010
> 0x0010: f7f26000 00000000 00000000 00000000
> 0x0020: 00000000 00000000 00000000 78081022
> 0x0030: 00000000 000000c0 00000000 00000105
> 0x0040: 00000000 00000000 00000000 00000000
> 0x0050: a42a1141 fb7fda7b 00000000 00000000
> 0x0060: 00002020 00000000 00000000 00000000
> 0x0070: 000fffff c000002c 800000ff 00000000
> 0x0080: 79000438 fcfe0018 00200081 64327ec7
> 0x0090: 10011d4c 00000000 00000000 000f0f00
> 0x00a0: 00000001 c0080000 00000000 00000000
> 0x00b0: 00000000 00000000 00000000 00000000
> 0x00c0: fe02e401 00400000 00000000 00000000
> 0x00d0: 00000000 00000000 00000000 00000000
> 0x00e0: 00000000 20e0000a 00000000 01000020
> 0x00f0: 00000000 00000000 00000000 00000000
>
> # lspci -vvv -xxxx -s 00:13.0
> 00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 39) (prog-if 20 [EHCI])
> Subsystem: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 64, Cache Line Size: 64 bytes
> Interrupt: pin A routed to IRQ 5
> Region 0: Memory at f7f26000 (32-bit, non-prefetchable)
> Capabilities: [c0] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Bridge: PM- B3+
> Capabilities: [e4] Debug port: BAR=1 offset=00e0
> 00: 22 10 08 78 06 00 b0 02 39 20 03 0c 10 40 00 00
> 10: 00 60 f2 f7 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 08 78
> 30: 00 00 00 00 c0 00 00 00 00 00 00 00 05 01 00 00
> 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 41 11 2a a4 7b da 7f fb 00 00 00 00 00 00 00 00
> 60: 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: ff ff 0f 00 2c 00 00 c0 ff 00 00 80 00 00 00 00
> 80: 38 04 00 79 18 00 fe fc 81 00 20 00 c7 7e 32 64
> 90: 4c 1d 01 10 00 00 00 00 00 00 00 00 00 0f 0f 00
> a0: 01 00 00 00 00 00 08 c0 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 01 e4 02 fe 00 00 40 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 0a 00 e0 20 00 00 00 00 20 00 00 01
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>
> What I am doing wrong here?
>

Any kind soul is willing to help me and push me in the correct
direction? As you can see I don't have experience in kernel space
development and I imagine one would need to have plenty of patience with
me, but maybe there is someone who is willing to try?

--
Regards,
 Mikolaj

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

Mark Kettenis
> Date: Tue, 25 Aug 2020 18:00:11 +0000
> From: Mikolaj Kucharski <[hidden email]>
> Reply-To: [hidden email], [hidden email]
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
>
> On Sun, Aug 16, 2020 at 01:23:54PM +0000, Mikolaj Kucharski wrote:
> > On Mon, Aug 10, 2020 at 08:34:36PM +0000, Mikolaj Kucharski wrote:
> > > >Synopsis: LTE mini-PCIe modem not showing up after reboot
> > > >Category: kernel
> > > >Environment:
> > > System      : OpenBSD 6.7
> > > Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
> > > [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > >
> > > Architecture: OpenBSD.amd64
> > > Machine     : amd64
> > > >Description:
> > > I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
> > > When I cold boot the system, device is properly detected:
> > >
> > > uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> > > umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > > ucom0 at umsm0
> > > umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > > ucom1 at umsm1
> > > umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > > ucom2 at umsm2
> > > umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > > ucom3 at umsm3
> > > umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > > ucom4 at umsm4
> > >
> > > However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
> > > is not visible any more from the system:
> > >
> > > uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> > >
> > > >How-To-Repeat:
> > > Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.
> > >
> > > >Fix:
> > > Unknown. I've looked around and found following resources:
> > >
> > > - OpenBSD misc, broken EHCI USB on AMD chipset?
> > > https://marc.info/?t=151192838800001&r=1&w=2
> > >
> > > - PCI: Workaround AMD EHCI controller PME bug
> > > https://patchwork.kernel.org/patch/9797105/
> > >
> > > - usb: host: ehci: workaround PME bug on AMD EHCI controller
> > > https://patchwork.kernel.org/patch/9783041/
> > >
> > > - Linux kernel, pci_fixup_amd_ehci_pme() function
> > > https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593
> > >
> > > - SB700 Family Product Errata
> > > https://www.amd.com/system/files/TechDocs/46837.pdf
> > >
> > > - AMD SB700/710/750 Register Programming Requirements
> > > http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf
> > >
> > > Unfortunately, I don't know how to apply solution from Linux code to OpenBSD :/
> >
> > This is what I came up for a moment, but it doesn't work. If someone
> > sees why, I would appreciated a hint why this approach is wrong. Here is
> > my debugging patch. After the patch more comments.
> >
> >
> > Index: dev/pci/ehci_pci.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/ehci_pci.c,v
> > retrieving revision 1.31
> > diff -u -p -u -r1.31 ehci_pci.c
> > --- dev/pci/ehci_pci.c 2 May 2019 20:28:46 -0000 1.31
> > +++ dev/pci/ehci_pci.c 16 Aug 2020 13:16:17 -0000
> > @@ -146,6 +146,51 @@ ehci_pci_attach(struct device *parent, s
> >   }
> >   break;
> >  
> > + case PCI_VENDOR_AMD:
> > + /* AMD Hudson-2 USB2 [1022:7808] */
> > + if (PCI_PRODUCT(pa->pa_id) == 0x7808) {
> > + printf(" XXX AMD Hudson-2 USB2 XXX");
> > +
> > + int offset;
> > + if (pci_get_capability(sc->sc_pc, sc->sc_tag, PCI_CAP_PWRMGMT, &offset, 0)) {
> > + pcireg_t reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
> > + printf(" reg=0x%08x", reg);
> > +
> > + printf(" pme_d0=%d", (reg & (PCI_PM_CAP_PME_D0 << 16)) ? 1 : 0);
> > + printf(" pme_d1=%d", (reg & (PCI_PM_CAP_PME_D1 << 16)) ? 1 : 0);
> > + printf(" pme_d2=%d", (reg & (PCI_PM_CAP_PME_D2 << 16)) ? 1 : 0);
> > + printf(" pme_d3hot=%d", (reg & (PCI_PM_CAP_PME_D3_HOT << 16)) ? 1 : 0);
> > + printf(" pme_d3cold=%d", (reg & (PCI_PM_CAP_PME_D3_COLD << 16)) ? 1 : 0);
> > +
> > + printf( " *");
> > +
> > + reg &= ~((PCI_PM_CAP_PME_D3_HOT | PCI_PM_CAP_PME_D3_COLD) << 16);
> > + printf(" val=0x%08x", reg);
> > +
> > + printf(" pme_d0=%d", (reg & (PCI_PM_CAP_PME_D0 << 16)) ? 1 : 0);
> > + printf(" pme_d1=%d", (reg & (PCI_PM_CAP_PME_D1 << 16)) ? 1 : 0);
> > + printf(" pme_d2=%d", (reg & (PCI_PM_CAP_PME_D2 << 16)) ? 1 : 0);
> > + printf(" pme_d3hot=%d", (reg & (PCI_PM_CAP_PME_D3_HOT << 16)) ? 1 : 0);
> > + printf(" pme_d3cold=%d", (reg & (PCI_PM_CAP_PME_D3_COLD << 16)) ? 1 : 0);
> > +
> > + printf( " !");
> > + pci_conf_write(sc->sc_pc, sc->sc_tag, offset, reg);
> > + delay(10 * 1000);
> > + printf( "!");
> > +
> > + reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
> > + printf(" reg=0x%08x", reg);
> > +
> > + delay(10 * 1000);
> > +
> > + reg = pci_conf_read(sc->sc_pc, sc->sc_tag, offset);
> > + printf(" reg=0x%08x", reg);
> > + } else {
> > + printf(" pci_get_capability PCI_CAP_PWRMGMT err");
> > + }
> > + }
> > + break;
> > +
> >   case PCI_VENDOR_VIATECH:
> >   if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_VIATECH_VT6202 &&
> >      (PCI_REVISION(pa->pa_class) & 0xf0) == 0x60) {
> > Index: dev/pci/pcireg.h
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/pcireg.h,v
> > retrieving revision 1.59
> > diff -u -p -u -r1.59 pcireg.h
> > --- dev/pci/pcireg.h 2 Nov 2019 10:14:57 -0000 1.59
> > +++ dev/pci/pcireg.h 16 Aug 2020 13:16:17 -0000
> > @@ -533,6 +533,14 @@ typedef u_int8_t pci_revision_t;
> >  #define PCI_PMCSR_STATE_D1 0x0001
> >  #define PCI_PMCSR_STATE_D2 0x0002
> >  #define PCI_PMCSR_STATE_D3 0x0003
> > +
> > +/* XXX AMD Hudson-2 USB2 XXX */
> > +#define PCI_PM_CAP_PME_D0 0x0800 /* PME can be asserted from D0 */
> > +#define PCI_PM_CAP_PME_D1 0x1000 /* PME can be asserted from D1 */
> > +#define PCI_PM_CAP_PME_D2 0x2000 /* PME can be asserted from D2 */
> > +#define PCI_PM_CAP_PME_D3_HOT 0x4000 /* PME can be asserted from D3hot */
> > +#define PCI_PM_CAP_PME_D3_COLD 0x8000 /* PME can be asserted from D3cold */
> > +
> >  #define PCI_PMCSR_PME_STATUS 0x8000
> >  #define PCI_PMCSR_PME_EN 0x0100
> >  
> >
> > Dmesg line with above patch looks as follow:
> >
> > # dmesg | grep -w XXX
> > ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39 XXX AMD Hudson-2 USB2 XXX reg=0xfe02e401 pme_d0=1 pme_d1=1 pme_d2=1 pme_d3hot=1 pme_d3cold=1 * val=0x3e02e401 pme_d0=1 pme_d1=1 pme_d2=1 pme_d3hot=0 pme_d3cold=0 !! reg=0xfe02e401 reg=0xfe02e401: apic 4 int 18
> >
> > so as you can see reg=0xfe02e401 before pci_conf_write() and after the
> > function call is also 0xfe02e401 where I wanted it to be 0x3e02e401.
> >
> > Executing pcidump and lspci also shows unwanted value 0xfe02e401:
> >
> > # pcidump -vvv -xx 0:19:0
> >  0:19:0: AMD Hudson-2 USB2
> > 0x0000: Vendor ID: 1022, Product ID: 7808
> > 0x0004: Command: 0006, Status: 02b0
> > 0x0008: Class: 0c Serial Bus, Subclass: 03 USB,
> > Interface: 20, Revision: 39
> > 0x000c: BIST: 00, Header Type: 00, Latency Timer: 40,
> > Cache Line Size: 10
> > 0x0010: BAR mem 32bit addr: 0xf7f26000/0x00000100
> > 0x0014: BAR empty (00000000)
> > 0x0018: BAR empty (00000000)
> > 0x001c: BAR empty (00000000)
> > 0x0020: BAR empty (00000000)
> > 0x0024: BAR empty (00000000)
> > 0x0028: Cardbus CIS: 00000000
> > 0x002c: Subsystem Vendor ID: 1022 Product ID: 7808
> > 0x0030: Expansion ROM Base Address: 00000000
> > 0x0038: 00000000
> > 0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
> > 0x00c0: Capability 0x01: Power Management
> > State: D0
> > 0x00e4: Capability 0x0a: Debug Port
> > 0x0000: 78081022 02b00006 0c032039 00004010
> > 0x0010: f7f26000 00000000 00000000 00000000
> > 0x0020: 00000000 00000000 00000000 78081022
> > 0x0030: 00000000 000000c0 00000000 00000105
> > 0x0040: 00000000 00000000 00000000 00000000
> > 0x0050: a42a1141 fb7fda7b 00000000 00000000
> > 0x0060: 00002020 00000000 00000000 00000000
> > 0x0070: 000fffff c000002c 800000ff 00000000
> > 0x0080: 79000438 fcfe0018 00200081 64327ec7
> > 0x0090: 10011d4c 00000000 00000000 000f0f00
> > 0x00a0: 00000001 c0080000 00000000 00000000
> > 0x00b0: 00000000 00000000 00000000 00000000
> > 0x00c0: fe02e401 00400000 00000000 00000000
> > 0x00d0: 00000000 00000000 00000000 00000000
> > 0x00e0: 00000000 20e0000a 00000000 01000020
> > 0x00f0: 00000000 00000000 00000000 00000000
> >
> > # lspci -vvv -xxxx -s 00:13.0
> > 00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 39) (prog-if 20 [EHCI])
> > Subsystem: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller
> > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
> > Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> > Latency: 64, Cache Line Size: 64 bytes
> > Interrupt: pin A routed to IRQ 5
> > Region 0: Memory at f7f26000 (32-bit, non-prefetchable)
> > Capabilities: [c0] Power Management version 2
> > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
> > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> > Bridge: PM- B3+
> > Capabilities: [e4] Debug port: BAR=1 offset=00e0
> > 00: 22 10 08 78 06 00 b0 02 39 20 03 0c 10 40 00 00
> > 10: 00 60 f2 f7 00 00 00 00 00 00 00 00 00 00 00 00
> > 20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 08 78
> > 30: 00 00 00 00 c0 00 00 00 00 00 00 00 05 01 00 00
> > 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > 50: 41 11 2a a4 7b da 7f fb 00 00 00 00 00 00 00 00
> > 60: 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > 70: ff ff 0f 00 2c 00 00 c0 ff 00 00 80 00 00 00 00
> > 80: 38 04 00 79 18 00 fe fc 81 00 20 00 c7 7e 32 64
> > 90: 4c 1d 01 10 00 00 00 00 00 00 00 00 00 0f 0f 00
> > a0: 01 00 00 00 00 00 08 c0 00 00 00 00 00 00 00 00
> > b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > c0: 01 e4 02 fe 00 00 40 00 00 00 00 00 00 00 00 00
> > d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > e0: 00 00 00 00 0a 00 e0 20 00 00 00 00 20 00 00 01
> > f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >
> > What I am doing wrong here?
> >
>
> Any kind soul is willing to help me and push me in the correct
> direction? As you can see I don't have experience in kernel space
> development and I imagine one would need to have plenty of patience with
> me, but maybe there is someone who is willing to try?

I think you're looking at the wrong thing.  PME is about the ability
to wake up the machine if the device (in this case the USB controller)
has been put into a certain power save state.  But that's not the case
here.

In the end this is almost certainly a BIOS bug.  What could help is
doing a more thorough reset of the USB controller when OpenBSD
prepares the system for a reboot.  But we already do a full software
reset of the controller.  So I have no idea what to do.

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

Mikolaj Kucharski-3
On Tue, Aug 25, 2020 at 10:16:50PM +0200, Mark Kettenis wrote:

> > >
> > > What I am doing wrong here?
> > >
> >
> > Any kind soul is willing to help me and push me in the correct
> > direction? As you can see I don't have experience in kernel space
> > development and I imagine one would need to have plenty of patience with
> > me, but maybe there is someone who is willing to try?
>
> I think you're looking at the wrong thing.  PME is about the ability
> to wake up the machine if the device (in this case the USB controller)
> has been put into a certain power save state.  But that's not the case
> here.
>
> In the end this is almost certainly a BIOS bug.  What could help is
> doing a more thorough reset of the USB controller when OpenBSD
> prepares the system for a reboot.  But we already do a full software
> reset of the controller.  So I have no idea what to do.

I see. Thanks for the info.

--
Regards,
 Mikolaj

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

James Hastings
In reply to this post by Mikolaj Kucharski-3
On Mon, Aug 10, 2020 at 08:34:36PM +0000, Mikolaj Kucharski wrote:

> >Synopsis: LTE mini-PCIe modem not showing up after reboot
> >Category: kernel
> >Environment:
> System      : OpenBSD 6.7
> Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
> >Description:
> I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
> When I cold boot the system, device is properly detected:
>
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom0 at umsm0
> umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom1 at umsm1
> umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom2 at umsm2
> umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom3 at umsm3
> umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom4 at umsm4
>
> However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
> is not visible any more from the system:
>
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
>
> >How-To-Repeat:
> Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.
>
> >Fix:
> Unknown. I've looked around and found following resources:
>
> - OpenBSD misc, broken EHCI USB on AMD chipset?
> https://marc.info/?t=151192838800001&r=1&w=2
>
> - PCI: Workaround AMD EHCI controller PME bug
> https://patchwork.kernel.org/patch/9797105/
>
> - usb: host: ehci: workaround PME bug on AMD EHCI controller
> https://patchwork.kernel.org/patch/9783041/
>
> - Linux kernel, pci_fixup_amd_ehci_pme() function
> https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593
>
> - SB700 Family Product Errata
> https://www.amd.com/system/files/TechDocs/46837.pdf
>
> - AMD SB700/710/750 Register Programming Requirements
> http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf

after reading errata #11: Enabling EHCI Dynamic Clock Gating May Cause Bug Code 0xFE System Error

        Description
A system error has been observed during extended S4 Hibernation or Reboot cycling using the MS PWRTST
or other similar utility. The arbiter in the Southbridge that controls the down stream memory traffic to the USB
controller does not fully support the EHCI clock gating feature. If the clock gating feature in the EHCI
controller is enabled, the arbiter may transfer incorrect memory data to the EHCI controller and cause the
controller to not respond back correctly to the USB driver or the device. In such cases, the USB driver may
timeout and cause the operating system to report the system error.

        Potential Effect on System
The problem may present itself as a system halt with an operating system stop error message with bug check
code related to a USB driver failure. The typical operating system error message is BUGCODE_USB_DRIVER
bug check value of 0x000000FE. The system error occurs mostly if there are USB devices connected to the
system. The failure is intermittent and the failure rate may vary from one system to another. On most systems
the failure has been observed to occur after a very large number of reboot cycles (typically more than 1000
cycles). On a small number of systems the issue may be seen within two hundred reboot cycles.

        Suggested Workaround
A BIOS workaround is described in section 6.17.1 of the SB7xx Register Programming Requirements
document (PID # 42413). The workaround involves disabling the EHCI Dynamic Clock gating Power
Management feature in the USB EHCI controller. The feature, when disabled, impacts the total Southbridge
power consumption by less than 10 mW.

        6.17 EHCI Dynamic Clock Gating Feature
ASIC Rev Register Settings Function/Comment
All Revs SB7x0 EHCI_BAR 0xBC Bit[12] = 0 For normal operation, the clock gating feature must be
disabled. At system reset, this bit is set to “1”. So, BIOS needs to program this bit to “0”.
EHCI clock gating setting must be programmed in both the EHCI host controllers.
Bus-0, dev-18 fun 2 and Bus 0 dev-19 fun-2
A BIOS workaround is required to disable the EHCI Dynamic clock gating on resume from S5/S4.


does this diff help?

Index: dev/pci/ehci_pci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/ehci_pci.c,v
retrieving revision 1.31
diff -u -p -u -r1.31 ehci_pci.c
--- dev/pci/ehci_pci.c 2 May 2019 20:28:46 -0000 1.31
+++ dev/pci/ehci_pci.c 30 Aug 2020 00:22:00 -0000
@@ -67,6 +67,8 @@ struct ehci_pci_softc {
 
 int ehci_sb700_match(struct pci_attach_args *pa);
 
+#define EHCI_HUDSON2_CLKGATE_REG 0xbc
+#define EHCI_HUDSON2_CLKGATE_ENABLE (1 << 12)
 #define EHCI_SBx00_WORKAROUND_REG 0x50
 #define EHCI_SBx00_WORKAROUND_ENABLE (1 << 3)
 #define EHCI_VT6202_WORKAROUND_REG 0x48
@@ -131,6 +133,17 @@ ehci_pci_attach(struct device *parent, s
 
  /* Handle quirks */
  switch (PCI_VENDOR(pa->pa_id)) {
+ case PCI_VENDOR_AMD:
+ if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_HUDSON2_EHCI) {
+ pcireg_t value;
+
+ /* disable dynamic clock gating */
+ value = EREAD4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG);
+ value &= ~EHCI_HUDSON2_CLKGATE_ENABLE;
+ EWRITE4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG, value);
+ }
+ break;
+
  case PCI_VENDOR_ATI:
  if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ATI_SB600_EHCI ||
     (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ATI_SB700_EHCI &&

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

Mikolaj Kucharski-3
On Sat, Aug 29, 2020 at 10:46:27PM -0400, James Hastings wrote:

> On Mon, Aug 10, 2020 at 08:34:36PM +0000, Mikolaj Kucharski wrote:
> > >Synopsis: LTE mini-PCIe modem not showing up after reboot
> > >Category: kernel
> > >Environment:
> > System      : OpenBSD 6.7
> > Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
> > [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >
> > Architecture: OpenBSD.amd64
> > Machine     : amd64
> > >Description:
> > I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
> > When I cold boot the system, device is properly detected:
> >
> > uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> > umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom0 at umsm0
> > umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom1 at umsm1
> > umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom2 at umsm2
> > umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom3 at umsm3
> > umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> > ucom4 at umsm4
> >
> > However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
> > is not visible any more from the system:
> >
> > uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> >
> > >How-To-Repeat:
> > Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.
> >
> > >Fix:
> > Unknown. I've looked around and found following resources:
> >
> > - OpenBSD misc, broken EHCI USB on AMD chipset?
> > https://marc.info/?t=151192838800001&r=1&w=2
> >
> > - PCI: Workaround AMD EHCI controller PME bug
> > https://patchwork.kernel.org/patch/9797105/
> >
> > - usb: host: ehci: workaround PME bug on AMD EHCI controller
> > https://patchwork.kernel.org/patch/9783041/
> >
> > - Linux kernel, pci_fixup_amd_ehci_pme() function
> > https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593
> >
> > - SB700 Family Product Errata
> > https://www.amd.com/system/files/TechDocs/46837.pdf
> >
> > - AMD SB700/710/750 Register Programming Requirements
> > http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf
>
> after reading errata #11: Enabling EHCI Dynamic Clock Gating May Cause Bug Code 0xFE System Error
>
> Description
> A system error has been observed during extended S4 Hibernation or Reboot cycling using the MS PWRTST
> or other similar utility. The arbiter in the Southbridge that controls the down stream memory traffic to the USB
> controller does not fully support the EHCI clock gating feature. If the clock gating feature in the EHCI
> controller is enabled, the arbiter may transfer incorrect memory data to the EHCI controller and cause the
> controller to not respond back correctly to the USB driver or the device. In such cases, the USB driver may
> timeout and cause the operating system to report the system error.
>
> Potential Effect on System
> The problem may present itself as a system halt with an operating system stop error message with bug check
> code related to a USB driver failure. The typical operating system error message is BUGCODE_USB_DRIVER
> bug check value of 0x000000FE. The system error occurs mostly if there are USB devices connected to the
> system. The failure is intermittent and the failure rate may vary from one system to another. On most systems
> the failure has been observed to occur after a very large number of reboot cycles (typically more than 1000
> cycles). On a small number of systems the issue may be seen within two hundred reboot cycles.
>
> Suggested Workaround
> A BIOS workaround is described in section 6.17.1 of the SB7xx Register Programming Requirements
> document (PID # 42413). The workaround involves disabling the EHCI Dynamic Clock gating Power
> Management feature in the USB EHCI controller. The feature, when disabled, impacts the total Southbridge
> power consumption by less than 10 mW.
>
> 6.17 EHCI Dynamic Clock Gating Feature
> ASIC Rev Register Settings Function/Comment
> All Revs SB7x0 EHCI_BAR 0xBC Bit[12] = 0 For normal operation, the clock gating feature must be
> disabled. At system reset, this bit is set to “1”. So, BIOS needs to program this bit to “0”.
> EHCI clock gating setting must be programmed in both the EHCI host controllers.
> Bus-0, dev-18 fun 2 and Bus 0 dev-19 fun-2
> A BIOS workaround is required to disable the EHCI Dynamic clock gating on resume from S5/S4.
>
>
> does this diff help?

Ok, I have only short answer as I didn't yet wrap my head around this.
Unfortunately it doesn't make any difference. After reboot LTE modem is
not visible from within the operating system.

I've modified your diff a bit, to see a bit more and with following
code:

        /* disable dynamic clock gating */
        value = EREAD4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG);
        printf(" XXX value1=0x%08x", value);
        value &= ~EHCI_HUDSON2_CLKGATE_ENABLE;
        EWRITE4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG, value);
        value = EREAD4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG);
        printf(" value2=0x%08x XXX", value);

I see following line in dmesg:

ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39 XXX value1=0x00005040 value2=0x00004040 XXX: apic 4 int 18

However I'm not sure, should that be reflected somehow in lspci output?
I'm not attaching lspci output, as not sure what exactly to attach and I
cannot find correlation between lspci -vvv -xxxx and quirk from your
diff.

Nonetheless thanks James for looking into this, as at present I'm stuck
without any progress on this issue.


> Index: dev/pci/ehci_pci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/ehci_pci.c,v
> retrieving revision 1.31
> diff -u -p -u -r1.31 ehci_pci.c
> --- dev/pci/ehci_pci.c 2 May 2019 20:28:46 -0000 1.31
> +++ dev/pci/ehci_pci.c 30 Aug 2020 00:22:00 -0000
> @@ -67,6 +67,8 @@ struct ehci_pci_softc {
>  
>  int ehci_sb700_match(struct pci_attach_args *pa);
>  
> +#define EHCI_HUDSON2_CLKGATE_REG 0xbc
> +#define EHCI_HUDSON2_CLKGATE_ENABLE (1 << 12)
>  #define EHCI_SBx00_WORKAROUND_REG 0x50
>  #define EHCI_SBx00_WORKAROUND_ENABLE (1 << 3)
>  #define EHCI_VT6202_WORKAROUND_REG 0x48
> @@ -131,6 +133,17 @@ ehci_pci_attach(struct device *parent, s
>  
>   /* Handle quirks */
>   switch (PCI_VENDOR(pa->pa_id)) {
> + case PCI_VENDOR_AMD:
> + if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_HUDSON2_EHCI) {
> + pcireg_t value;
> +
> + /* disable dynamic clock gating */
> + value = EREAD4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG);
> + value &= ~EHCI_HUDSON2_CLKGATE_ENABLE;
> + EWRITE4(&sc->sc, EHCI_HUDSON2_CLKGATE_REG, value);
> + }
> + break;
> +
>   case PCI_VENDOR_ATI:
>   if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ATI_SB600_EHCI ||
>      (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ATI_SB700_EHCI &&
>

--
Regards,
 Mikolaj

Reply | Threaded
Open this post in threaded view
|

Re: AMD EHCI controller PME bug (device 1022:7808)

Mikolaj Kucharski-3
In reply to this post by Mikolaj Kucharski-3
I was chasing the problem in the wrong place. After more
testing it turned out that Linux has exactly the same problem.
That should probably be one of my early steps, to verify hands
on, does the problem affect any other operating systems.

I found following GitHub issue:

        https://github.com/pcengines/apu2-documentation/issues/115

and it seems the source of the problem is hardware / firmware related.
Long story short, to make Sierra Wireless MC7455 LTE modem work on
PC Engines APU2 I did following AT commands on the modem:

        AT!PCOFFEN=2
        AT!USBSPEED=0
        AT!RESET

and that makes device visible across system reboots. I'm testing the
modem on umb(4) driver, by disabling umsm(4) as the latter has preference
over the former.

I've tested following diff and it works as I expected, device attaches
as umb(4):

Index: dev/usb/umsm.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/umsm.c,v
retrieving revision 1.118
diff -u -p -u -r1.118 umsm.c
--- dev/usb/umsm.c 31 Jul 2020 10:49:33 -0000 1.118
+++ dev/usb/umsm.c 8 Sep 2020 22:34:00 -0000
@@ -255,7 +255,6 @@ static const struct umsm_type umsm_devs[
  {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC8355}, 0},
  {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_AIRCARD_340U}, 0},
  {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_AIRCARD_770S}, 0},
- {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC7455}, 0},
 
  {{ USB_VENDOR_SIMCOM, USB_PRODUCT_SIMCOM_SIM7600E}, 0},
 

but I'm not sure is this the way to go, as it doesn't allow to perform
initial configuration over cua(4) with AT commands. Anyway, that part is
for a different email thread.

# dmesg | grep -i sierra | cat -v
umb0 at uhub2 port 3 configuration 1 interface 12 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.00/0.06 addr 3
ugen1 at uhub2 port 3 configuration 1 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.00/0.06 addr 3

OpenBSD 6.8-beta (GENERIC.MP) #64: Sun Sep  6 18:19:41 MDT 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP


On Mon, Aug 10, 2020 at 08:34:36PM +0000, Mikolaj Kucharski wrote:

> >Synopsis: LTE mini-PCIe modem not showing up after reboot
> >Category: kernel
> >Environment:
> System      : OpenBSD 6.7
> Details     : OpenBSD 6.7-current (GENERIC.MP) #15: Sun Aug  9 17:48:40 MDT 2020
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
> >Description:
> I have PC Engines APU2 board with Sierra Wireless MC7455 LTE modem on mini-PCIe.
> When I cold boot the system, device is properly detected:
>
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
> umsm0 at uhub2 port 4 configuration 1 interface 0 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom0 at umsm0
> umsm1 at uhub2 port 4 configuration 1 interface 2 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom1 at umsm1
> umsm2 at uhub2 port 4 configuration 1 interface 3 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom2 at umsm2
> umsm3 at uhub2 port 4 configuration 1 interface 8 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom3 at umsm3
> umsm4 at uhub2 port 4 configuration 1 interface 10 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3
> ucom4 at umsm4
>
> However when I reboot OpenBSD Sierra Wireless card is no longer detected by the OS and
> is not visible any more from the system:
>
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" rev 2.00/0.18 addr 2
>
> >How-To-Repeat:
> Cold boot APU2 with 1199:9071 Sierra Wireless card, then reboot the OS and card is missing.
>
> >Fix:
> Unknown. I've looked around and found following resources:
>
> - OpenBSD misc, broken EHCI USB on AMD chipset?
> https://marc.info/?t=151192838800001&r=1&w=2
>
> - PCI: Workaround AMD EHCI controller PME bug
> https://patchwork.kernel.org/patch/9797105/
>
> - usb: host: ehci: workaround PME bug on AMD EHCI controller
> https://patchwork.kernel.org/patch/9783041/
>
> - Linux kernel, pci_fixup_amd_ehci_pme() function
> https://github.com/torvalds/linux/blob/fc80c51fd4b23ec007e88d4c688f2cac1b8648e7/arch/x86/pci/fixup.c#L580-L593
>
> - SB700 Family Product Errata
> https://www.amd.com/system/files/TechDocs/46837.pdf
>
> - AMD SB700/710/750 Register Programming Requirements
> http://ftp.loongnix.org/doc/02data%20sheet/loongson3a/SB/42413_sb7xx_rpr_pub_1.00.pdf
>
> Unfortunately, I don't know how to apply solution from Linux code to OpenBSD :/
>

--
Regards,
 Mikolaj