* [SEABIOS PATCH 0/2] fix of hotplug multi-func device
@ 2011-09-19 6:53 Amos Kong
2011-09-19 6:53 ` [SeaBIOS PATCH 1/2] Fix regression of commit 87b533bf Amos Kong
[not found] ` <20110919065347.22802.53640.stgit@t>
0 siblings, 2 replies; 28+ messages in thread
From: Amos Kong @ 2011-09-19 6:53 UTC (permalink / raw)
To: seabios; +Cc: kvm, mst, jasowang, mtosatti, alex.williamson, kevin
Hotplug multi-func device doesn't work, only func 0 are regiestered
to guest pci driver, this patchset just add device entry in ACPI
DSDT tables for all functions in the slot.
---
Amos Kong (2):
Fix regression of commit 87b533bf
hotplug: Add device per func in ACPI DSDT tables
0 files changed, 0 insertions(+), 0 deletions(-)
--
Amos
^ permalink raw reply [flat|nested] 28+ messages in thread* [SeaBIOS PATCH 1/2] Fix regression of commit 87b533bf 2011-09-19 6:53 [SEABIOS PATCH 0/2] fix of hotplug multi-func device Amos Kong @ 2011-09-19 6:53 ` Amos Kong 2011-09-19 7:27 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Amos Kong 2011-09-20 8:00 ` [SeaBIOS PATCH v2] Fix regression of commit 87b533bf Amos Kong [not found] ` <20110919065347.22802.53640.stgit@t> 1 sibling, 2 replies; 28+ messages in thread From: Amos Kong @ 2011-09-19 6:53 UTC (permalink / raw) To: seabios; +Cc: kvm, mst, jasowang, mtosatti, alex.williamson, kevin After adding more device entries in ACPI DSDT tables, the filesize of bios.bin changed from 128K to 256K. But bios could not initialize successfully. This is a regression since seabios commit 87b533bf. Prior to that commit, seabios did not mark the early 32bit initialization code as init code. However, a side effect of marking that code (handle_post) as init code is that it is more likely the linker could place the code at an address less than 0xe0000. The patch (just a hack) would cover up the issue. Signed-off-by: Amos Kong <akong@redhat.com> --- 0 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/post.c b/src/post.c index e195e89..bc2e548 100644 --- a/src/post.c +++ b/src/post.c @@ -336,7 +336,7 @@ reloc_init(void) // Start of Power On Self Test (POST) - the BIOS initilization phase. // This function does the setup needed for code relocation, and then // invokes the relocation and main setup code. -void VISIBLE32INIT +void VISIBLE32FLAT handle_post(void) { debug_serial_setup(); @@ -356,6 +356,14 @@ handle_post(void) // Allow writes to modify bios area (0xf0000) make_bios_writable(); + + void handle_post2(void); + handle_post2(); +} + +void VISIBLE32INIT +handle_post2(void) +{ HaveRunPost = 1; // Detect ram and setup internal malloc. ^ permalink raw reply related [flat|nested] 28+ messages in thread
* [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 6:53 ` [SeaBIOS PATCH 1/2] Fix regression of commit 87b533bf Amos Kong @ 2011-09-19 7:27 ` Amos Kong 2011-09-19 9:57 ` [SeaBIOS] " Gleb Natapov 2011-09-20 8:00 ` [SeaBIOS PATCH v2] Fix regression of commit 87b533bf Amos Kong 1 sibling, 1 reply; 28+ messages in thread From: Amos Kong @ 2011-09-19 7:27 UTC (permalink / raw) To: seabios; +Cc: kvm, mst, jasowang, alex williamson Only func 0 is registered to guest driver (we can only found func 0 in slot->funcs list of driver), the other functions could not be cleaned when hot-removing the whole slot. This patch adds device per function in ACPI DSDT tables. Have tested with linux/winxp/win7, hot-adding/hot-remving, single/multiple function device, they are all fine. new acpi-dst.hex(332K): http://amos-kong.rhcloud.com/pub/acpi-dsdt.hex Signed-off-by: Amos Kong <akong@redhat.com> --- src/acpi-dsdt.dsl | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index 08412e2..d1426ec 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -128,9 +128,9 @@ DefinitionBlock ( PCRM, 32, } -#define hotplug_slot(name, nr) \ - Device (S##name) { \ - Name (_ADR, nr##0000) \ +#define hotplug_func(name, nr, adr, fn) \ + Device (S##name##fn) { \ + Name (_ADR, adr) \ Method (_EJ0,1) { \ Store(ShiftLeft(1, nr), B0EJ) \ Return (0x0) \ @@ -138,6 +138,16 @@ DefinitionBlock ( Name (_SUN, name) \ } +#define hotplug_slot(name, nr) \ + hotplug_func(name, nr, nr##0000, 0) \ + hotplug_func(name, nr, nr##0001, 1) \ + hotplug_func(name, nr, nr##0002, 2) \ + hotplug_func(name, nr, nr##0003, 3) \ + hotplug_func(name, nr, nr##0004, 4) \ + hotplug_func(name, nr, nr##0005, 5) \ + hotplug_func(name, nr, nr##0006, 6) \ + hotplug_func(name, nr, nr##0007, 7) + hotplug_slot(1, 0x0001) hotplug_slot(2, 0x0002) hotplug_slot(3, 0x0003) @@ -842,13 +852,22 @@ DefinitionBlock ( Return(0x01) } -#define gen_pci_hotplug(nr) \ +#define gen_pci_hotplug_func(nr, fn) \ If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr, 1) \ + Notify(\_SB.PCI0.S##nr##fn, 1) \ } \ If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr, 3) \ + Notify(\_SB.PCI0.S##nr##fn, 3) \ } +#define gen_pci_hotplug(nr) \ + gen_pci_hotplug_func(nr, 0) \ + gen_pci_hotplug_func(nr, 1) \ + gen_pci_hotplug_func(nr, 2) \ + gen_pci_hotplug_func(nr, 3) \ + gen_pci_hotplug_func(nr, 4) \ + gen_pci_hotplug_func(nr, 5) \ + gen_pci_hotplug_func(nr, 6) \ + gen_pci_hotplug_func(nr, 7) Method(_L01) { gen_pci_hotplug(1) -- 1.7.6.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [SeaBIOS] [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 7:27 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Amos Kong @ 2011-09-19 9:57 ` Gleb Natapov 2011-09-19 10:02 ` Michael S. Tsirkin 0 siblings, 1 reply; 28+ messages in thread From: Gleb Natapov @ 2011-09-19 9:57 UTC (permalink / raw) To: Amos Kong; +Cc: seabios, kvm, mst, jasowang, alex williamson On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > Only func 0 is registered to guest driver (we can > only found func 0 in slot->funcs list of driver), > the other functions could not be cleaned when > hot-removing the whole slot. This patch adds > device per function in ACPI DSDT tables. > You can't unplug a single function. Guest surely knows that. > Have tested with linux/winxp/win7, hot-adding/hot-remving, > single/multiple function device, they are all fine. > What was not fine before? Have you looked at real HW that supports PCI hot plug DSDT? Does it looks the same? > new acpi-dst.hex(332K): > http://amos-kong.rhcloud.com/pub/acpi-dsdt.hex > > Signed-off-by: Amos Kong <akong@redhat.com> > --- > src/acpi-dsdt.dsl | 31 +++++++++++++++++++++++++------ > 1 files changed, 25 insertions(+), 6 deletions(-) > > diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl > index 08412e2..d1426ec 100644 > --- a/src/acpi-dsdt.dsl > +++ b/src/acpi-dsdt.dsl > @@ -128,9 +128,9 @@ DefinitionBlock ( > PCRM, 32, > } > > -#define hotplug_slot(name, nr) \ > - Device (S##name) { \ > - Name (_ADR, nr##0000) \ > +#define hotplug_func(name, nr, adr, fn) \ > + Device (S##name##fn) { \ > + Name (_ADR, adr) \ > Method (_EJ0,1) { \ > Store(ShiftLeft(1, nr), B0EJ) \ > Return (0x0) \ > @@ -138,6 +138,16 @@ DefinitionBlock ( > Name (_SUN, name) \ > } > > +#define hotplug_slot(name, nr) \ > + hotplug_func(name, nr, nr##0000, 0) \ > + hotplug_func(name, nr, nr##0001, 1) \ > + hotplug_func(name, nr, nr##0002, 2) \ > + hotplug_func(name, nr, nr##0003, 3) \ > + hotplug_func(name, nr, nr##0004, 4) \ > + hotplug_func(name, nr, nr##0005, 5) \ > + hotplug_func(name, nr, nr##0006, 6) \ > + hotplug_func(name, nr, nr##0007, 7) > + > hotplug_slot(1, 0x0001) > hotplug_slot(2, 0x0002) > hotplug_slot(3, 0x0003) > @@ -842,13 +852,22 @@ DefinitionBlock ( > Return(0x01) > } > > -#define gen_pci_hotplug(nr) \ > +#define gen_pci_hotplug_func(nr, fn) \ > If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ > - Notify(\_SB.PCI0.S##nr, 1) \ > + Notify(\_SB.PCI0.S##nr##fn, 1) \ > } \ > If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ > - Notify(\_SB.PCI0.S##nr, 3) \ > + Notify(\_SB.PCI0.S##nr##fn, 3) \ > } > +#define gen_pci_hotplug(nr) \ > + gen_pci_hotplug_func(nr, 0) \ > + gen_pci_hotplug_func(nr, 1) \ > + gen_pci_hotplug_func(nr, 2) \ > + gen_pci_hotplug_func(nr, 3) \ > + gen_pci_hotplug_func(nr, 4) \ > + gen_pci_hotplug_func(nr, 5) \ > + gen_pci_hotplug_func(nr, 6) \ > + gen_pci_hotplug_func(nr, 7) > > Method(_L01) { > gen_pci_hotplug(1) > -- > 1.7.6.1 > > _______________________________________________ > SeaBIOS mailing list > SeaBIOS@seabios.org > http://www.seabios.org/mailman/listinfo/seabios -- Gleb. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS] [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 9:57 ` [SeaBIOS] " Gleb Natapov @ 2011-09-19 10:02 ` Michael S. Tsirkin 2011-09-19 10:12 ` Gleb Natapov 2011-09-19 16:27 ` Marcelo Tosatti 0 siblings, 2 replies; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-19 10:02 UTC (permalink / raw) To: Gleb Natapov; +Cc: Amos Kong, seabios, kvm, jasowang, alex williamson On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > Only func 0 is registered to guest driver (we can > > only found func 0 in slot->funcs list of driver), > > the other functions could not be cleaned when > > hot-removing the whole slot. This patch adds > > device per function in ACPI DSDT tables. > > > You can't unplug a single function. Guest surely knows that. Looking at guest code, it's clear that at least a Linux guest doesn't know that. > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > single/multiple function device, they are all fine. > > > What was not fine before? > > Have you looked at real HW that supports PCI hot plug DSDT? Does it > looks the same? I recall I saw some examples like this on the net. > > new acpi-dst.hex(332K): > > http://amos-kong.rhcloud.com/pub/acpi-dsdt.hex > > > > Signed-off-by: Amos Kong <akong@redhat.com> ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 10:02 ` Michael S. Tsirkin @ 2011-09-19 10:12 ` Gleb Natapov 2011-09-19 10:32 ` Gleb Natapov 2011-09-19 16:27 ` Marcelo Tosatti 1 sibling, 1 reply; 28+ messages in thread From: Gleb Natapov @ 2011-09-19 10:12 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: jasowang, Amos Kong, seabios, alex williamson, kvm On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote: > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > > > Only func 0 is registered to guest driver (we can > > > only found func 0 in slot->funcs list of driver), > > > the other functions could not be cleaned when > > > hot-removing the whole slot. This patch adds > > > device per function in ACPI DSDT tables. > > > > > You can't unplug a single function. Guest surely knows that. > > Looking at guest code, it's clear that > at least a Linux guest doesn't know that. > Have you asked relevant maintainers why is it so? Does Windows do the same? (Obviously you can't check Windows code, but you can see if removing function zero removes other functions from the device manager, or you can even try to access other function). If I am not mistaken, with this new DSDT you will see more then one eject options in Windows GUI from each multi-function device. Is it so? > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > single/multiple function device, they are all fine. > > > > > What was not fine before? > > > > Have you looked at real HW that supports PCI hot plug DSDT? Does it > > looks the same? > > I recall I saw some examples like this on the net. > Checking real HW DSDT will validate that we are doing a right thing here. -- Gleb. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 10:12 ` Gleb Natapov @ 2011-09-19 10:32 ` Gleb Natapov 2011-09-19 12:18 ` [SeaBIOS] " Michael S. Tsirkin 0 siblings, 1 reply; 28+ messages in thread From: Gleb Natapov @ 2011-09-19 10:32 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: jasowang, Amos Kong, seabios, alex williamson, kvm On Mon, Sep 19, 2011 at 01:12:30PM +0300, Gleb Natapov wrote: > On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote: > > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > > > > > Only func 0 is registered to guest driver (we can > > > > only found func 0 in slot->funcs list of driver), > > > > the other functions could not be cleaned when > > > > hot-removing the whole slot. This patch adds > > > > device per function in ACPI DSDT tables. > > > > > > > You can't unplug a single function. Guest surely knows that. > > > > Looking at guest code, it's clear that > > at least a Linux guest doesn't know that. > > > Have you asked relevant maintainers why is it so? Does Windows do the > same? (Obviously you can't check Windows code, but you can see if > removing function zero removes other functions from the device manager, > or you can even try to access other function). > > If I am not mistaken, with this new DSDT you will see more then one eject > options in Windows GUI from each multi-function device. Is it so? > > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > > single/multiple function device, they are all fine. > > > > > > > What was not fine before? > > > > > > Have you looked at real HW that supports PCI hot plug DSDT? Does it > > > looks the same? > > > > I recall I saw some examples like this on the net. > > > Checking real HW DSDT will validate that we are doing a right thing here. > According to Microsoft own documentation they want _EJ0 for each function: http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx -- Gleb. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS] [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 10:32 ` Gleb Natapov @ 2011-09-19 12:18 ` Michael S. Tsirkin 0 siblings, 0 replies; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-19 12:18 UTC (permalink / raw) To: Gleb Natapov; +Cc: Amos Kong, seabios, kvm, jasowang, alex williamson On Mon, Sep 19, 2011 at 01:32:48PM +0300, Gleb Natapov wrote: > > > I recall I saw some examples like this on the net. > > > > > Checking real HW DSDT will validate that we are doing a right thing here. > > > According to Microsoft own documentation they want _EJ0 for each > function: > http://www.microsoft.com/china/whdc/system/pnppwr/hotadd/hotplugpci.mspx Right, this is the link I was thinking of. -- MST ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS] [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 10:02 ` Michael S. Tsirkin 2011-09-19 10:12 ` Gleb Natapov @ 2011-09-19 16:27 ` Marcelo Tosatti 2011-09-19 19:08 ` Michael S. Tsirkin 2011-09-20 10:44 ` [SeaBIOS PATCH] " Amos Kong 1 sibling, 2 replies; 28+ messages in thread From: Marcelo Tosatti @ 2011-09-19 16:27 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Gleb Natapov, Amos Kong, seabios, kvm, jasowang, alex williamson On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote: > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > > > Only func 0 is registered to guest driver (we can > > > only found func 0 in slot->funcs list of driver), > > > the other functions could not be cleaned when > > > hot-removing the whole slot. This patch adds > > > device per function in ACPI DSDT tables. > > > > > You can't unplug a single function. Guest surely knows that. > > Looking at guest code, it's clear that > at least a Linux guest doesn't know that. acpiphp_disable_slot function appears to eject all functions. > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > single/multiple function device, they are all fine. > > > Does not work for me (FC12 guest). As mentioned previously, Linux driver looks for function 0 when injection request is seen (see enable_device function in acpiphp_glue.c). > > What was not fine before? > > > > Have you looked at real HW that supports PCI hot plug DSDT? Does it > > looks the same? > > I recall I saw some examples like this on the net. > > > > > new acpi-dst.hex(332K): > > > http://amos-kong.rhcloud.com/pub/acpi-dsdt.hex > > > > > > Signed-off-by: Amos Kong <akong@redhat.com> ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS] [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 16:27 ` Marcelo Tosatti @ 2011-09-19 19:08 ` Michael S. Tsirkin 2011-09-20 10:45 ` [SeaBIOS PATCH v2] " Amos Kong 2011-09-20 10:44 ` [SeaBIOS PATCH] " Amos Kong 1 sibling, 1 reply; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-19 19:08 UTC (permalink / raw) To: Marcelo Tosatti Cc: Gleb Natapov, Amos Kong, seabios, kvm, jasowang, alex williamson On Mon, Sep 19, 2011 at 01:27:25PM -0300, Marcelo Tosatti wrote: > On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote: > > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > > > > > Only func 0 is registered to guest driver (we can > > > > only found func 0 in slot->funcs list of driver), > > > > the other functions could not be cleaned when > > > > hot-removing the whole slot. This patch adds > > > > device per function in ACPI DSDT tables. > > > > > > > You can't unplug a single function. Guest surely knows that. > > > > Looking at guest code, it's clear that > > at least a Linux guest doesn't know that. > > acpiphp_disable_slot function appears to eject all functions. Yes but the siblings list seems to be populated from the ACPI tables, but by probing PCI functions. So we need to, at a minimum, have Device tables for all functions. > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > > single/multiple function device, they are all fine. > > > > > > Does not work for me (FC12 guest). As mentioned previously, Linux driver > looks for function 0 when injection request is seen (see enable_device > function in acpiphp_glue.c). What exactly are you trying to do? ATM the idea is to add all functions, add function 0 as the last one. > > > What was not fine before? > > > > > > Have you looked at real HW that supports PCI hot plug DSDT? Does it > > > looks the same? > > > > I recall I saw some examples like this on the net. > > > > > > > > new acpi-dst.hex(332K): > > > > http://amos-kong.rhcloud.com/pub/acpi-dsdt.hex > > > > > > > > Signed-off-by: Amos Kong <akong@redhat.com> ^ permalink raw reply [flat|nested] 28+ messages in thread
* [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 19:08 ` Michael S. Tsirkin @ 2011-09-20 10:45 ` Amos Kong 2011-09-20 11:47 ` Marcelo Tosatti 2011-09-21 1:48 ` Kevin O'Connor 0 siblings, 2 replies; 28+ messages in thread From: Amos Kong @ 2011-09-20 10:45 UTC (permalink / raw) To: Michael S. Tsirkin, seabios Cc: Gleb Natapov, kvm, jasowang, alex williamson, Marcelo Tosatti >From 48ea1c9188334b89a60b4f9e853e86fc04fda4a5 Mon Sep 17 00:00:00 2001 From: Amos Kong <akong@redhat.com> Date: Tue, 20 Sep 2011 15:38:43 +0800 Subject: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables Only func 0 is registered to guest driver (we can only found func 0 in slot->funcs list of driver), the other functions could not be cleaned when hot-removing the whole slot. This patch adds device per function in ACPI DSDT tables. Have tested with linux/winxp/win7, hot-adding/hot-remving, single/multiple function device, they are all fine. --- Changes from v1: - cleanup the macros, bios.bin gets back to 128K - notify only when func0 is added and removed Signed-off-by: Amos Kong <akong@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- src/acpi-dsdt.dsl | 106 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 61 insertions(+), 45 deletions(-) diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index 08412e2..707c3d6 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -128,9 +128,9 @@ DefinitionBlock ( PCRM, 32, } -#define hotplug_slot(name, nr) \ - Device (S##name) { \ - Name (_ADR, nr##0000) \ +#define hotplug_func(name, nr, adr, fn) \ + Device (S##name##fn) { \ + Name (_ADR, adr) \ Method (_EJ0,1) { \ Store(ShiftLeft(1, nr), B0EJ) \ Return (0x0) \ @@ -138,6 +138,16 @@ DefinitionBlock ( Name (_SUN, name) \ } +#define hotplug_slot(name, nr) \ + hotplug_func(name, nr, nr##0000, 0) \ + hotplug_func(name, nr, nr##0001, 1) \ + hotplug_func(name, nr, nr##0002, 2) \ + hotplug_func(name, nr, nr##0003, 3) \ + hotplug_func(name, nr, nr##0004, 4) \ + hotplug_func(name, nr, nr##0005, 5) \ + hotplug_func(name, nr, nr##0006, 6) \ + hotplug_func(name, nr, nr##0007, 7) + hotplug_slot(1, 0x0001) hotplug_slot(2, 0x0002) hotplug_slot(3, 0x0003) @@ -460,7 +470,7 @@ DefinitionBlock ( } } -#define gen_pci_device(name, nr) \ +#define gen_pci_device(name, nr) \ Device(SL##name) { \ Name (_ADR, nr##0000) \ Method (_RMV) { \ @@ -502,6 +512,52 @@ DefinitionBlock ( gen_pci_device(29, 0x001d) gen_pci_device(30, 0x001e) gen_pci_device(31, 0x001f) + +#define gen_pci_hotplug(nr) \ + If (And(PCIU, ShiftLeft(1, nr))) { \ + Notify(S##nr##0, 1) \ + } \ + If (And(PCID, ShiftLeft(1, nr))) { \ + Notify(S##nr##0, 3) \ + } + + Method(HPLG) { + gen_pci_hotplug(1) + gen_pci_hotplug(2) + gen_pci_hotplug(3) + gen_pci_hotplug(4) + gen_pci_hotplug(5) + gen_pci_hotplug(6) + gen_pci_hotplug(7) + gen_pci_hotplug(8) + gen_pci_hotplug(9) + gen_pci_hotplug(10) + gen_pci_hotplug(11) + gen_pci_hotplug(12) + gen_pci_hotplug(13) + gen_pci_hotplug(14) + gen_pci_hotplug(15) + gen_pci_hotplug(16) + gen_pci_hotplug(17) + gen_pci_hotplug(18) + gen_pci_hotplug(19) + gen_pci_hotplug(20) + gen_pci_hotplug(21) + gen_pci_hotplug(22) + gen_pci_hotplug(23) + gen_pci_hotplug(24) + gen_pci_hotplug(25) + gen_pci_hotplug(26) + gen_pci_hotplug(27) + gen_pci_hotplug(28) + gen_pci_hotplug(29) + gen_pci_hotplug(30) + gen_pci_hotplug(31) + + Return (0x01) + } + + } /* PCI IRQs */ @@ -842,49 +898,9 @@ DefinitionBlock ( Return(0x01) } -#define gen_pci_hotplug(nr) \ - If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr, 1) \ - } \ - If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr, 3) \ - } - Method(_L01) { - gen_pci_hotplug(1) - gen_pci_hotplug(2) - gen_pci_hotplug(3) - gen_pci_hotplug(4) - gen_pci_hotplug(5) - gen_pci_hotplug(6) - gen_pci_hotplug(7) - gen_pci_hotplug(8) - gen_pci_hotplug(9) - gen_pci_hotplug(10) - gen_pci_hotplug(11) - gen_pci_hotplug(12) - gen_pci_hotplug(13) - gen_pci_hotplug(14) - gen_pci_hotplug(15) - gen_pci_hotplug(16) - gen_pci_hotplug(17) - gen_pci_hotplug(18) - gen_pci_hotplug(19) - gen_pci_hotplug(20) - gen_pci_hotplug(21) - gen_pci_hotplug(22) - gen_pci_hotplug(23) - gen_pci_hotplug(24) - gen_pci_hotplug(25) - gen_pci_hotplug(26) - gen_pci_hotplug(27) - gen_pci_hotplug(28) - gen_pci_hotplug(29) - gen_pci_hotplug(30) - gen_pci_hotplug(31) - + \_SB.PCI0.HPLG() Return (0x01) - } Method(_L02) { // CPU hotplug event -- 1.7.6.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-20 10:45 ` [SeaBIOS PATCH v2] " Amos Kong @ 2011-09-20 11:47 ` Marcelo Tosatti 2011-09-21 1:48 ` Kevin O'Connor 1 sibling, 0 replies; 28+ messages in thread From: Marcelo Tosatti @ 2011-09-20 11:47 UTC (permalink / raw) To: Amos Kong; +Cc: kvm, Michael S. Tsirkin, jasowang, seabios, alex williamson On Tue, Sep 20, 2011 at 06:45:57AM -0400, Amos Kong wrote: > >From 48ea1c9188334b89a60b4f9e853e86fc04fda4a5 Mon Sep 17 00:00:00 2001 > From: Amos Kong <akong@redhat.com> > Date: Tue, 20 Sep 2011 15:38:43 +0800 > Subject: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables > > Only func 0 is registered to guest driver (we can > only found func 0 in slot->funcs list of driver), > the other functions could not be cleaned when > hot-removing the whole slot. This patch adds > device per function in ACPI DSDT tables. > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > single/multiple function device, they are all fine. > --- > Changes from v1: > - cleanup the macros, bios.bin gets back to 128K > - notify only when func0 is added and removed > > Signed-off-by: Amos Kong <akong@redhat.com> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- > src/acpi-dsdt.dsl | 106 ++++++++++++++++++++++++++++++---------------------- > 1 files changed, 61 insertions(+), 45 deletions(-) > > diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl > index 08412e2..707c3d6 100644 > --- a/src/acpi-dsdt.dsl > +++ b/src/acpi-dsdt.dsl > @@ -128,9 +128,9 @@ DefinitionBlock ( > PCRM, 32, > } > > -#define hotplug_slot(name, nr) \ > - Device (S##name) { \ > - Name (_ADR, nr##0000) \ > +#define hotplug_func(name, nr, adr, fn) \ > + Device (S##name##fn) { \ > + Name (_ADR, adr) \ > Method (_EJ0,1) { \ > Store(ShiftLeft(1, nr), B0EJ) \ > Return (0x0) \ > @@ -138,6 +138,16 @@ DefinitionBlock ( > Name (_SUN, name) \ > } > > +#define hotplug_slot(name, nr) \ > + hotplug_func(name, nr, nr##0000, 0) \ > + hotplug_func(name, nr, nr##0001, 1) \ > + hotplug_func(name, nr, nr##0002, 2) \ > + hotplug_func(name, nr, nr##0003, 3) \ > + hotplug_func(name, nr, nr##0004, 4) \ > + hotplug_func(name, nr, nr##0005, 5) \ > + hotplug_func(name, nr, nr##0006, 6) \ > + hotplug_func(name, nr, nr##0007, 7) > + > hotplug_slot(1, 0x0001) > hotplug_slot(2, 0x0002) > hotplug_slot(3, 0x0003) > @@ -460,7 +470,7 @@ DefinitionBlock ( > } > } > > -#define gen_pci_device(name, nr) \ > +#define gen_pci_device(name, nr) \ > Device(SL##name) { \ > Name (_ADR, nr##0000) \ > Method (_RMV) { \ > @@ -502,6 +512,52 @@ DefinitionBlock ( > gen_pci_device(29, 0x001d) > gen_pci_device(30, 0x001e) > gen_pci_device(31, 0x001f) > + > +#define gen_pci_hotplug(nr) \ > + If (And(PCIU, ShiftLeft(1, nr))) { \ > + Notify(S##nr##0, 1) \ > + } \ > + If (And(PCID, ShiftLeft(1, nr))) { \ > + Notify(S##nr##0, 3) \ > + } > + > + Method(HPLG) { > + gen_pci_hotplug(1) > + gen_pci_hotplug(2) > + gen_pci_hotplug(3) > + gen_pci_hotplug(4) > + gen_pci_hotplug(5) > + gen_pci_hotplug(6) > + gen_pci_hotplug(7) > + gen_pci_hotplug(8) > + gen_pci_hotplug(9) > + gen_pci_hotplug(10) > + gen_pci_hotplug(11) > + gen_pci_hotplug(12) > + gen_pci_hotplug(13) > + gen_pci_hotplug(14) > + gen_pci_hotplug(15) > + gen_pci_hotplug(16) > + gen_pci_hotplug(17) > + gen_pci_hotplug(18) > + gen_pci_hotplug(19) > + gen_pci_hotplug(20) > + gen_pci_hotplug(21) > + gen_pci_hotplug(22) > + gen_pci_hotplug(23) > + gen_pci_hotplug(24) > + gen_pci_hotplug(25) > + gen_pci_hotplug(26) > + gen_pci_hotplug(27) > + gen_pci_hotplug(28) > + gen_pci_hotplug(29) > + gen_pci_hotplug(30) > + gen_pci_hotplug(31) > + > + Return (0x01) > + } > + > + > } > > /* PCI IRQs */ > @@ -842,49 +898,9 @@ DefinitionBlock ( > Return(0x01) > } > > -#define gen_pci_hotplug(nr) \ > - If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ > - Notify(\_SB.PCI0.S##nr, 1) \ > - } \ > - If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ > - Notify(\_SB.PCI0.S##nr, 3) \ > - } > - > Method(_L01) { > - gen_pci_hotplug(1) > - gen_pci_hotplug(2) > - gen_pci_hotplug(3) > - gen_pci_hotplug(4) > - gen_pci_hotplug(5) > - gen_pci_hotplug(6) > - gen_pci_hotplug(7) > - gen_pci_hotplug(8) > - gen_pci_hotplug(9) > - gen_pci_hotplug(10) > - gen_pci_hotplug(11) > - gen_pci_hotplug(12) > - gen_pci_hotplug(13) > - gen_pci_hotplug(14) > - gen_pci_hotplug(15) > - gen_pci_hotplug(16) > - gen_pci_hotplug(17) > - gen_pci_hotplug(18) > - gen_pci_hotplug(19) > - gen_pci_hotplug(20) > - gen_pci_hotplug(21) > - gen_pci_hotplug(22) > - gen_pci_hotplug(23) > - gen_pci_hotplug(24) > - gen_pci_hotplug(25) > - gen_pci_hotplug(26) > - gen_pci_hotplug(27) > - gen_pci_hotplug(28) > - gen_pci_hotplug(29) > - gen_pci_hotplug(30) > - gen_pci_hotplug(31) > - > + \_SB.PCI0.HPLG() What is the point of this new method? ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-20 10:45 ` [SeaBIOS PATCH v2] " Amos Kong 2011-09-20 11:47 ` Marcelo Tosatti @ 2011-09-21 1:48 ` Kevin O'Connor 2011-09-21 5:39 ` Amos Kong 1 sibling, 1 reply; 28+ messages in thread From: Kevin O'Connor @ 2011-09-21 1:48 UTC (permalink / raw) To: Amos Kong Cc: Michael S. Tsirkin, seabios, Gleb Natapov, kvm, jasowang, alex williamson, Marcelo Tosatti On Tue, Sep 20, 2011 at 06:45:57AM -0400, Amos Kong wrote: > From 48ea1c9188334b89a60b4f9e853e86fc04fda4a5 Mon Sep 17 00:00:00 2001 > From: Amos Kong <akong@redhat.com> > Date: Tue, 20 Sep 2011 15:38:43 +0800 > Subject: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables > > Only func 0 is registered to guest driver (we can > only found func 0 in slot->funcs list of driver), > the other functions could not be cleaned when > hot-removing the whole slot. This patch adds > device per function in ACPI DSDT tables. > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > single/multiple function device, they are all fine. > --- > Changes from v1: > - cleanup the macros, bios.bin gets back to 128K > - notify only when func0 is added and removed How about moving code into functions so that it isn't duplicated for each PCI device. See the patch below as an example (100% untested). The CPU hotplug stuff works this way, except it run-time generates the equivalent of "Device(S???)" and "PCNT". (It may make sense to run-time generate the PCI hotplug as well - it consumes about 10K of space to statically generate the 31 devices.) -Kevin diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index 08412e2..31ac5eb 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -128,48 +128,6 @@ DefinitionBlock ( PCRM, 32, } -#define hotplug_slot(name, nr) \ - Device (S##name) { \ - Name (_ADR, nr##0000) \ - Method (_EJ0,1) { \ - Store(ShiftLeft(1, nr), B0EJ) \ - Return (0x0) \ - } \ - Name (_SUN, name) \ - } - - hotplug_slot(1, 0x0001) - hotplug_slot(2, 0x0002) - hotplug_slot(3, 0x0003) - hotplug_slot(4, 0x0004) - hotplug_slot(5, 0x0005) - hotplug_slot(6, 0x0006) - hotplug_slot(7, 0x0007) - hotplug_slot(8, 0x0008) - hotplug_slot(9, 0x0009) - hotplug_slot(10, 0x000a) - hotplug_slot(11, 0x000b) - hotplug_slot(12, 0x000c) - hotplug_slot(13, 0x000d) - hotplug_slot(14, 0x000e) - hotplug_slot(15, 0x000f) - hotplug_slot(16, 0x0010) - hotplug_slot(17, 0x0011) - hotplug_slot(18, 0x0012) - hotplug_slot(19, 0x0013) - hotplug_slot(20, 0x0014) - hotplug_slot(21, 0x0015) - hotplug_slot(22, 0x0016) - hotplug_slot(23, 0x0017) - hotplug_slot(24, 0x0018) - hotplug_slot(25, 0x0019) - hotplug_slot(26, 0x001a) - hotplug_slot(27, 0x001b) - hotplug_slot(28, 0x001c) - hotplug_slot(29, 0x001d) - hotplug_slot(30, 0x001e) - hotplug_slot(31, 0x001f) - Name (_CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, @@ -762,6 +720,119 @@ DefinitionBlock ( Zero /* reserved */ }) + /* PCI hotplug */ + Scope(\_SB.PCI0) { + /* Methods called by bulk generated PCI devices below */ + Method (PCEJ, 1, NotSerialized) { + // _EJ0 method - eject callback + Store(ShiftLeft(1, Arg0), B0EJ) + Return (0x0) + } + + /* Bulk generated PCI hotplug devices */ +#define hotplug_func(nr, fn) \ + Device (S##nr##fn) { \ + Name (_ADR, 0x##nr##000##fn) \ + Method (_EJ0, 1) { Return(PCEJ(0x##nr)) } \ + Name (_SUN, 0x##nr) \ + } + +#define hotplug_slot(nr) \ + hotplug_func(nr, 0) \ + hotplug_func(nr, 1) \ + hotplug_func(nr, 2) \ + hotplug_func(nr, 3) \ + hotplug_func(nr, 4) \ + hotplug_func(nr, 5) \ + hotplug_func(nr, 6) \ + hotplug_func(nr, 7) + + hotplug_slot(01) + hotplug_slot(02) + hotplug_slot(03) + hotplug_slot(04) + hotplug_slot(05) + hotplug_slot(06) + hotplug_slot(07) + hotplug_slot(08) + hotplug_slot(09) + hotplug_slot(0a) + hotplug_slot(0b) + hotplug_slot(0c) + hotplug_slot(0d) + hotplug_slot(0e) + hotplug_slot(0f) + hotplug_slot(10) + hotplug_slot(11) + hotplug_slot(12) + hotplug_slot(13) + hotplug_slot(14) + hotplug_slot(15) + hotplug_slot(16) + hotplug_slot(17) + hotplug_slot(18) + hotplug_slot(19) + hotplug_slot(1a) + hotplug_slot(1b) + hotplug_slot(1c) + hotplug_slot(1d) + hotplug_slot(1e) + hotplug_slot(1f) + + /* PCI hotplug notify method */ + Method(PCNF, 0) { + // Local0 = iterator + Store (Zero, Local0) + While (LLess(Local0, 31)) { + Increment(Local0) + If (And(PCIU, ShiftLeft(1, Local0))) { + PCNT(Local0, 1) + } + If (And(PCID, ShiftLeft(1, Local0))) { + PCNT(Local0, 3) + } + } + Return(One) + } + +#define hotplug_notify(nr) \ + If (LEqual(Arg0, 0x##nr)) {Notify(S##nr##0, Arg1)} + + Method(PCNT, 2) { + hotplug_notify(01) + hotplug_notify(02) + hotplug_notify(03) + hotplug_notify(04) + hotplug_notify(05) + hotplug_notify(06) + hotplug_notify(07) + hotplug_notify(08) + hotplug_notify(09) + hotplug_notify(0a) + hotplug_notify(0b) + hotplug_notify(0c) + hotplug_notify(0d) + hotplug_notify(0e) + hotplug_notify(0f) + hotplug_notify(10) + hotplug_notify(11) + hotplug_notify(12) + hotplug_notify(13) + hotplug_notify(14) + hotplug_notify(15) + hotplug_notify(16) + hotplug_notify(17) + hotplug_notify(18) + hotplug_notify(19) + hotplug_notify(1a) + hotplug_notify(1b) + hotplug_notify(1c) + hotplug_notify(1d) + hotplug_notify(1e) + hotplug_notify(1f) + } + } + /* CPU hotplug */ Scope(\_SB) { /* Objects filled in by run-time generated SSDT */ @@ -842,49 +913,9 @@ DefinitionBlock ( Return(0x01) } -#define gen_pci_hotplug(nr) \ - If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr, 1) \ - } \ - If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr, 3) \ - } - Method(_L01) { - gen_pci_hotplug(1) - gen_pci_hotplug(2) - gen_pci_hotplug(3) - gen_pci_hotplug(4) - gen_pci_hotplug(5) - gen_pci_hotplug(6) - gen_pci_hotplug(7) - gen_pci_hotplug(8) - gen_pci_hotplug(9) - gen_pci_hotplug(10) - gen_pci_hotplug(11) - gen_pci_hotplug(12) - gen_pci_hotplug(13) - gen_pci_hotplug(14) - gen_pci_hotplug(15) - gen_pci_hotplug(16) - gen_pci_hotplug(17) - gen_pci_hotplug(18) - gen_pci_hotplug(19) - gen_pci_hotplug(20) - gen_pci_hotplug(21) - gen_pci_hotplug(22) - gen_pci_hotplug(23) - gen_pci_hotplug(24) - gen_pci_hotplug(25) - gen_pci_hotplug(26) - gen_pci_hotplug(27) - gen_pci_hotplug(28) - gen_pci_hotplug(29) - gen_pci_hotplug(30) - gen_pci_hotplug(31) - - Return (0x01) - + // PCI hotplug event + Return(\_SB.PCI0.PCNF()) } Method(_L02) { // CPU hotplug event ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-21 1:48 ` Kevin O'Connor @ 2011-09-21 5:39 ` Amos Kong 2011-09-21 11:09 ` Michael S. Tsirkin 0 siblings, 1 reply; 28+ messages in thread From: Amos Kong @ 2011-09-21 5:39 UTC (permalink / raw) To: Kevin O'Connor Cc: Michael S. Tsirkin, seabios, Gleb Natapov, kvm, jasowang, alex williamson, Marcelo Tosatti ----- Original Message ----- > On Tue, Sep 20, 2011 at 06:45:57AM -0400, Amos Kong wrote: > > From 48ea1c9188334b89a60b4f9e853e86fc04fda4a5 Mon Sep 17 00:00:00 > > 2001 > > From: Amos Kong <akong@redhat.com> > > Date: Tue, 20 Sep 2011 15:38:43 +0800 > > Subject: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI > > DSDT tables > > > > Only func 0 is registered to guest driver (we can > > only found func 0 in slot->funcs list of driver), > > the other functions could not be cleaned when > > hot-removing the whole slot. This patch adds > > device per function in ACPI DSDT tables. > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > single/multiple function device, they are all fine. > > --- > > Changes from v1: > > - cleanup the macros, bios.bin gets back to 128K > > - notify only when func0 is added and removed > > How about moving code into functions so that it isn't duplicated for > each PCI device. See the patch below as an example (100% untested). Tested, it works as my original patch-v2. > The CPU hotplug stuff works this way, except it run-time generates > the > equivalent of "Device(S???)" and "PCNT". (It may make sense to > run-time generate the PCI hotplug as well - it consumes about 10K of > space to statically generate the 31 devices.) I'm ok with the new version. Acked-by: Amos Kong <akong@redhat.com> > -Kevin > > > diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl > index 08412e2..31ac5eb 100644 > --- a/src/acpi-dsdt.dsl > +++ b/src/acpi-dsdt.dsl > @@ -128,48 +128,6 @@ DefinitionBlock ( > PCRM, 32, > } > > -#define hotplug_slot(name, nr) \ > - Device (S##name) { \ > - Name (_ADR, nr##0000) \ > - Method (_EJ0,1) { \ > - Store(ShiftLeft(1, nr), B0EJ) \ > - Return (0x0) \ > - } \ > - Name (_SUN, name) \ > - } > - > - hotplug_slot(1, 0x0001) > - hotplug_slot(2, 0x0002) > - hotplug_slot(3, 0x0003) > - hotplug_slot(4, 0x0004) > - hotplug_slot(5, 0x0005) > - hotplug_slot(6, 0x0006) > - hotplug_slot(7, 0x0007) > - hotplug_slot(8, 0x0008) > - hotplug_slot(9, 0x0009) > - hotplug_slot(10, 0x000a) > - hotplug_slot(11, 0x000b) > - hotplug_slot(12, 0x000c) > - hotplug_slot(13, 0x000d) > - hotplug_slot(14, 0x000e) > - hotplug_slot(15, 0x000f) > - hotplug_slot(16, 0x0010) > - hotplug_slot(17, 0x0011) > - hotplug_slot(18, 0x0012) > - hotplug_slot(19, 0x0013) > - hotplug_slot(20, 0x0014) > - hotplug_slot(21, 0x0015) > - hotplug_slot(22, 0x0016) > - hotplug_slot(23, 0x0017) > - hotplug_slot(24, 0x0018) > - hotplug_slot(25, 0x0019) > - hotplug_slot(26, 0x001a) > - hotplug_slot(27, 0x001b) > - hotplug_slot(28, 0x001c) > - hotplug_slot(29, 0x001d) > - hotplug_slot(30, 0x001e) > - hotplug_slot(31, 0x001f) > - > Name (_CRS, ResourceTemplate () > { > WordBusNumber (ResourceProducer, MinFixed, MaxFixed, > PosDecode, > @@ -762,6 +720,119 @@ DefinitionBlock ( > Zero /* reserved */ > }) > > + /* PCI hotplug */ > + Scope(\_SB.PCI0) { > + /* Methods called by bulk generated PCI devices below */ > + Method (PCEJ, 1, NotSerialized) { > + // _EJ0 method - eject callback > + Store(ShiftLeft(1, Arg0), B0EJ) > + Return (0x0) > + } > + > + /* Bulk generated PCI hotplug devices */ > +#define hotplug_func(nr, fn) \ > + Device (S##nr##fn) { \ > + Name (_ADR, 0x##nr##000##fn) \ > + Method (_EJ0, 1) { Return(PCEJ(0x##nr)) } \ > + Name (_SUN, 0x##nr) \ > + } > + > +#define hotplug_slot(nr) \ > + hotplug_func(nr, 0) \ > + hotplug_func(nr, 1) \ > + hotplug_func(nr, 2) \ > + hotplug_func(nr, 3) \ > + hotplug_func(nr, 4) \ > + hotplug_func(nr, 5) \ > + hotplug_func(nr, 6) \ > + hotplug_func(nr, 7) > + > + hotplug_slot(01) > + hotplug_slot(02) > + hotplug_slot(03) > + hotplug_slot(04) > + hotplug_slot(05) > + hotplug_slot(06) > + hotplug_slot(07) > + hotplug_slot(08) > + hotplug_slot(09) > + hotplug_slot(0a) > + hotplug_slot(0b) > + hotplug_slot(0c) > + hotplug_slot(0d) > + hotplug_slot(0e) > + hotplug_slot(0f) > + hotplug_slot(10) > + hotplug_slot(11) > + hotplug_slot(12) > + hotplug_slot(13) > + hotplug_slot(14) > + hotplug_slot(15) > + hotplug_slot(16) > + hotplug_slot(17) > + hotplug_slot(18) > + hotplug_slot(19) > + hotplug_slot(1a) > + hotplug_slot(1b) > + hotplug_slot(1c) > + hotplug_slot(1d) > + hotplug_slot(1e) > + hotplug_slot(1f) > + > + /* PCI hotplug notify method */ > + Method(PCNF, 0) { > + // Local0 = iterator > + Store (Zero, Local0) > + While (LLess(Local0, 31)) { > + Increment(Local0) > + If (And(PCIU, ShiftLeft(1, Local0))) { > + PCNT(Local0, 1) > + } > + If (And(PCID, ShiftLeft(1, Local0))) { > + PCNT(Local0, 3) > + } > + } > + Return(One) > + } > + > +#define hotplug_notify(nr) \ > + If (LEqual(Arg0, 0x##nr)) {Notify(S##nr##0, Arg1)} > + > + Method(PCNT, 2) { > + hotplug_notify(01) > + hotplug_notify(02) > + hotplug_notify(03) > + hotplug_notify(04) > + hotplug_notify(05) > + hotplug_notify(06) > + hotplug_notify(07) > + hotplug_notify(08) > + hotplug_notify(09) > + hotplug_notify(0a) > + hotplug_notify(0b) > + hotplug_notify(0c) > + hotplug_notify(0d) > + hotplug_notify(0e) > + hotplug_notify(0f) > + hotplug_notify(10) > + hotplug_notify(11) > + hotplug_notify(12) > + hotplug_notify(13) > + hotplug_notify(14) > + hotplug_notify(15) > + hotplug_notify(16) > + hotplug_notify(17) > + hotplug_notify(18) > + hotplug_notify(19) > + hotplug_notify(1a) > + hotplug_notify(1b) > + hotplug_notify(1c) > + hotplug_notify(1d) > + hotplug_notify(1e) > + hotplug_notify(1f) > + } > + } > + > /* CPU hotplug */ > Scope(\_SB) { > /* Objects filled in by run-time generated SSDT */ > @@ -842,49 +913,9 @@ DefinitionBlock ( > Return(0x01) > } > > -#define gen_pci_hotplug(nr) \ > - If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ > - Notify(\_SB.PCI0.S##nr, 1) \ > - } \ > - If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ > - Notify(\_SB.PCI0.S##nr, 3) \ > - } > - > Method(_L01) { > - gen_pci_hotplug(1) > - gen_pci_hotplug(2) > - gen_pci_hotplug(3) > - gen_pci_hotplug(4) > - gen_pci_hotplug(5) > - gen_pci_hotplug(6) > - gen_pci_hotplug(7) > - gen_pci_hotplug(8) > - gen_pci_hotplug(9) > - gen_pci_hotplug(10) > - gen_pci_hotplug(11) > - gen_pci_hotplug(12) > - gen_pci_hotplug(13) > - gen_pci_hotplug(14) > - gen_pci_hotplug(15) > - gen_pci_hotplug(16) > - gen_pci_hotplug(17) > - gen_pci_hotplug(18) > - gen_pci_hotplug(19) > - gen_pci_hotplug(20) > - gen_pci_hotplug(21) > - gen_pci_hotplug(22) > - gen_pci_hotplug(23) > - gen_pci_hotplug(24) > - gen_pci_hotplug(25) > - gen_pci_hotplug(26) > - gen_pci_hotplug(27) > - gen_pci_hotplug(28) > - gen_pci_hotplug(29) > - gen_pci_hotplug(30) > - gen_pci_hotplug(31) > - > - Return (0x01) > - > + // PCI hotplug event > + Return(\_SB.PCI0.PCNF()) > } > Method(_L02) { > // CPU hotplug event > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-21 5:39 ` Amos Kong @ 2011-09-21 11:09 ` Michael S. Tsirkin 2011-09-21 12:47 ` Kevin O'Connor 0 siblings, 1 reply; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-21 11:09 UTC (permalink / raw) To: Amos Kong; +Cc: kvm, jasowang, seabios, alex williamson On Wed, Sep 21, 2011 at 01:39:22AM -0400, Amos Kong wrote: > ----- Original Message ----- > > On Tue, Sep 20, 2011 at 06:45:57AM -0400, Amos Kong wrote: > > > From 48ea1c9188334b89a60b4f9e853e86fc04fda4a5 Mon Sep 17 00:00:00 > > > 2001 > > > From: Amos Kong <akong@redhat.com> > > > Date: Tue, 20 Sep 2011 15:38:43 +0800 > > > Subject: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI > > > DSDT tables > > > > > > Only func 0 is registered to guest driver (we can > > > only found func 0 in slot->funcs list of driver), > > > the other functions could not be cleaned when > > > hot-removing the whole slot. This patch adds > > > device per function in ACPI DSDT tables. > > > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > single/multiple function device, they are all fine. > > > --- > > > Changes from v1: > > > - cleanup the macros, bios.bin gets back to 128K > > > - notify only when func0 is added and removed > > > > How about moving code into functions so that it isn't duplicated for > > each PCI device. See the patch below as an example (100% untested). Hmm, I sent patches that did a similar thing but in a slightly more compact way. Message ids: 20110919092932.GB4501@redhat.com 20110919093644.GC4501@redhat.com 20110919100434.GA6764@redhat.com Did they not reach you or something's wrong with them? > > Tested, it works as my original patch-v2. > > > The CPU hotplug stuff works this way, except it run-time generates > > the > > equivalent of "Device(S???)" and "PCNT". (It may make sense to > > run-time generate the PCI hotplug as well - it consumes about 10K of > > space to statically generate the 31 devices.) > > I'm ok with the new version. > > Acked-by: Amos Kong <akong@redhat.com> > > > -Kevin > > > > > > diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl > > index 08412e2..31ac5eb 100644 > > --- a/src/acpi-dsdt.dsl > > +++ b/src/acpi-dsdt.dsl > > @@ -128,48 +128,6 @@ DefinitionBlock ( > > PCRM, 32, > > } > > > > -#define hotplug_slot(name, nr) \ > > - Device (S##name) { \ > > - Name (_ADR, nr##0000) \ > > - Method (_EJ0,1) { \ > > - Store(ShiftLeft(1, nr), B0EJ) \ > > - Return (0x0) \ > > - } \ > > - Name (_SUN, name) \ > > - } > > - > > - hotplug_slot(1, 0x0001) > > - hotplug_slot(2, 0x0002) > > - hotplug_slot(3, 0x0003) > > - hotplug_slot(4, 0x0004) > > - hotplug_slot(5, 0x0005) > > - hotplug_slot(6, 0x0006) > > - hotplug_slot(7, 0x0007) > > - hotplug_slot(8, 0x0008) > > - hotplug_slot(9, 0x0009) > > - hotplug_slot(10, 0x000a) > > - hotplug_slot(11, 0x000b) > > - hotplug_slot(12, 0x000c) > > - hotplug_slot(13, 0x000d) > > - hotplug_slot(14, 0x000e) > > - hotplug_slot(15, 0x000f) > > - hotplug_slot(16, 0x0010) > > - hotplug_slot(17, 0x0011) > > - hotplug_slot(18, 0x0012) > > - hotplug_slot(19, 0x0013) > > - hotplug_slot(20, 0x0014) > > - hotplug_slot(21, 0x0015) > > - hotplug_slot(22, 0x0016) > > - hotplug_slot(23, 0x0017) > > - hotplug_slot(24, 0x0018) > > - hotplug_slot(25, 0x0019) > > - hotplug_slot(26, 0x001a) > > - hotplug_slot(27, 0x001b) > > - hotplug_slot(28, 0x001c) > > - hotplug_slot(29, 0x001d) > > - hotplug_slot(30, 0x001e) > > - hotplug_slot(31, 0x001f) > > - > > Name (_CRS, ResourceTemplate () > > { > > WordBusNumber (ResourceProducer, MinFixed, MaxFixed, > > PosDecode, > > @@ -762,6 +720,119 @@ DefinitionBlock ( > > Zero /* reserved */ > > }) > > > > + /* PCI hotplug */ > > + Scope(\_SB.PCI0) { > > + /* Methods called by bulk generated PCI devices below */ > > + Method (PCEJ, 1, NotSerialized) { > > + // _EJ0 method - eject callback > > + Store(ShiftLeft(1, Arg0), B0EJ) > > + Return (0x0) > > + } > > + > > + /* Bulk generated PCI hotplug devices */ > > +#define hotplug_func(nr, fn) \ > > + Device (S##nr##fn) { \ > > + Name (_ADR, 0x##nr##000##fn) \ > > + Method (_EJ0, 1) { Return(PCEJ(0x##nr)) } \ > > + Name (_SUN, 0x##nr) \ > > + } The fundamental question is still why would we have _EJ0 methods in functions >0 when they are not individually hotpluggable. I think only function 0 should have _EJ0. > > + > > +#define hotplug_slot(nr) \ > > + hotplug_func(nr, 0) \ > > + hotplug_func(nr, 1) \ > > + hotplug_func(nr, 2) \ > > + hotplug_func(nr, 3) \ > > + hotplug_func(nr, 4) \ > > + hotplug_func(nr, 5) \ > > + hotplug_func(nr, 6) \ > > + hotplug_func(nr, 7) > > + > > + hotplug_slot(01) > > + hotplug_slot(02) > > + hotplug_slot(03) > > + hotplug_slot(04) > > + hotplug_slot(05) > > + hotplug_slot(06) > > + hotplug_slot(07) > > + hotplug_slot(08) > > + hotplug_slot(09) > > + hotplug_slot(0a) > > + hotplug_slot(0b) > > + hotplug_slot(0c) > > + hotplug_slot(0d) > > + hotplug_slot(0e) > > + hotplug_slot(0f) > > + hotplug_slot(10) > > + hotplug_slot(11) > > + hotplug_slot(12) > > + hotplug_slot(13) > > + hotplug_slot(14) > > + hotplug_slot(15) > > + hotplug_slot(16) > > + hotplug_slot(17) > > + hotplug_slot(18) > > + hotplug_slot(19) > > + hotplug_slot(1a) > > + hotplug_slot(1b) > > + hotplug_slot(1c) > > + hotplug_slot(1d) > > + hotplug_slot(1e) > > + hotplug_slot(1f) > > + > > + /* PCI hotplug notify method */ > > + Method(PCNF, 0) { > > + // Local0 = iterator > > + Store (Zero, Local0) > > + While (LLess(Local0, 31)) { > > + Increment(Local0) > > + If (And(PCIU, ShiftLeft(1, Local0))) { > > + PCNT(Local0, 1) > > + } > > + If (And(PCID, ShiftLeft(1, Local0))) { > > + PCNT(Local0, 3) > > + } > > + } > > + Return(One) > > + } > > + > > +#define hotplug_notify(nr) \ > > + If (LEqual(Arg0, 0x##nr)) {Notify(S##nr##0, Arg1)} > > + > > + Method(PCNT, 2) { > > + hotplug_notify(01) > > + hotplug_notify(02) > > + hotplug_notify(03) > > + hotplug_notify(04) > > + hotplug_notify(05) > > + hotplug_notify(06) > > + hotplug_notify(07) > > + hotplug_notify(08) > > + hotplug_notify(09) > > + hotplug_notify(0a) > > + hotplug_notify(0b) > > + hotplug_notify(0c) > > + hotplug_notify(0d) > > + hotplug_notify(0e) > > + hotplug_notify(0f) > > + hotplug_notify(10) > > + hotplug_notify(11) > > + hotplug_notify(12) > > + hotplug_notify(13) > > + hotplug_notify(14) > > + hotplug_notify(15) > > + hotplug_notify(16) > > + hotplug_notify(17) > > + hotplug_notify(18) > > + hotplug_notify(19) > > + hotplug_notify(1a) > > + hotplug_notify(1b) > > + hotplug_notify(1c) > > + hotplug_notify(1d) > > + hotplug_notify(1e) > > + hotplug_notify(1f) > > + } > > + } > > + > > /* CPU hotplug */ > > Scope(\_SB) { > > /* Objects filled in by run-time generated SSDT */ > > @@ -842,49 +913,9 @@ DefinitionBlock ( > > Return(0x01) > > } > > > > -#define gen_pci_hotplug(nr) \ > > - If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ > > - Notify(\_SB.PCI0.S##nr, 1) \ > > - } \ > > - If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ > > - Notify(\_SB.PCI0.S##nr, 3) \ > > - } > > - > > Method(_L01) { > > - gen_pci_hotplug(1) > > - gen_pci_hotplug(2) > > - gen_pci_hotplug(3) > > - gen_pci_hotplug(4) > > - gen_pci_hotplug(5) > > - gen_pci_hotplug(6) > > - gen_pci_hotplug(7) > > - gen_pci_hotplug(8) > > - gen_pci_hotplug(9) > > - gen_pci_hotplug(10) > > - gen_pci_hotplug(11) > > - gen_pci_hotplug(12) > > - gen_pci_hotplug(13) > > - gen_pci_hotplug(14) > > - gen_pci_hotplug(15) > > - gen_pci_hotplug(16) > > - gen_pci_hotplug(17) > > - gen_pci_hotplug(18) > > - gen_pci_hotplug(19) > > - gen_pci_hotplug(20) > > - gen_pci_hotplug(21) > > - gen_pci_hotplug(22) > > - gen_pci_hotplug(23) > > - gen_pci_hotplug(24) > > - gen_pci_hotplug(25) > > - gen_pci_hotplug(26) > > - gen_pci_hotplug(27) > > - gen_pci_hotplug(28) > > - gen_pci_hotplug(29) > > - gen_pci_hotplug(30) > > - gen_pci_hotplug(31) > > - > > - Return (0x01) > > - > > + // PCI hotplug event > > + Return(\_SB.PCI0.PCNF()) > > } > > Method(_L02) { > > // CPU hotplug event > > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-21 11:09 ` Michael S. Tsirkin @ 2011-09-21 12:47 ` Kevin O'Connor 2011-09-21 13:14 ` Michael S. Tsirkin 0 siblings, 1 reply; 28+ messages in thread From: Kevin O'Connor @ 2011-09-21 12:47 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Amos Kong, seabios, Gleb Natapov, kvm, jasowang, alex williamson, Marcelo Tosatti On Wed, Sep 21, 2011 at 02:09:08PM +0300, Michael S. Tsirkin wrote: > On Wed, Sep 21, 2011 at 01:39:22AM -0400, Amos Kong wrote: > > ----- Original Message ----- > > > How about moving code into functions so that it isn't duplicated for > > > each PCI device. See the patch below as an example (100% untested). > > Hmm, I sent patches that did a similar thing but > in a slightly more compact way. > Message ids: > 20110919092932.GB4501@redhat.com > 20110919093644.GC4501@redhat.com > 20110919100434.GA6764@redhat.com > > Did they not reach you or something's wrong with them? I received them, but when I saw Amos' v2 patch I thought he included them. > > > + /* Bulk generated PCI hotplug devices */ > > > +#define hotplug_func(nr, fn) \ > > > + Device (S##nr##fn) { \ > > > + Name (_ADR, 0x##nr##000##fn) \ > > > + Method (_EJ0, 1) { Return(PCEJ(0x##nr)) } \ > > > + Name (_SUN, 0x##nr) \ > > > + } > > The fundamental question is still why would > we have _EJ0 methods in functions >0 when they are > not individually hotpluggable. > I think only function 0 should have _EJ0. I don't know the answer to this question. Maybe we should just collapse the current definitions and then put the fixes and enhancements on top of the collapsed version. -Kevin ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] hotplug: Add device per func in ACPI DSDT tables 2011-09-21 12:47 ` Kevin O'Connor @ 2011-09-21 13:14 ` Michael S. Tsirkin 2011-12-06 5:39 ` [SeaBIOS PATCH v3] " Amos Kong 0 siblings, 1 reply; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-21 13:14 UTC (permalink / raw) To: Kevin O'Connor Cc: Amos Kong, seabios, Gleb Natapov, kvm, jasowang, alex williamson, Marcelo Tosatti On Wed, Sep 21, 2011 at 08:47:39AM -0400, Kevin O'Connor wrote: > On Wed, Sep 21, 2011 at 02:09:08PM +0300, Michael S. Tsirkin wrote: > > On Wed, Sep 21, 2011 at 01:39:22AM -0400, Amos Kong wrote: > > > ----- Original Message ----- > > > > How about moving code into functions so that it isn't duplicated for > > > > each PCI device. See the patch below as an example (100% untested). > > > > Hmm, I sent patches that did a similar thing but > > in a slightly more compact way. > > Message ids: > > 20110919092932.GB4501@redhat.com > > 20110919093644.GC4501@redhat.com > > 20110919100434.GA6764@redhat.com > > > > Did they not reach you or something's wrong with them? > > I received them, but when I saw Amos' v2 patch I thought he included > them. > > > > > + /* Bulk generated PCI hotplug devices */ > > > > +#define hotplug_func(nr, fn) \ > > > > + Device (S##nr##fn) { \ > > > > + Name (_ADR, 0x##nr##000##fn) \ > > > > + Method (_EJ0, 1) { Return(PCEJ(0x##nr)) } \ > > > > + Name (_SUN, 0x##nr) \ > > > > + } > > > > The fundamental question is still why would > > we have _EJ0 methods in functions >0 when they are > > not individually hotpluggable. > > I think only function 0 should have _EJ0. > > I don't know the answer to this question. > > Maybe we should just collapse the current definitions and then put the > fixes and enhancements on top of the collapsed version. > > -Kevin OK, I'll refactor my patches. I just sent a patchset which in particular removes the gen_pci_device macro, probably best to work on top of that? -- MST ^ permalink raw reply [flat|nested] 28+ messages in thread
* [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables 2011-09-21 13:14 ` Michael S. Tsirkin @ 2011-12-06 5:39 ` Amos Kong 2011-12-06 11:36 ` Michael S. Tsirkin 0 siblings, 1 reply; 28+ messages in thread From: Amos Kong @ 2011-12-06 5:39 UTC (permalink / raw) To: seabios; +Cc: mst, kvm, alex.williamson, mtosatti, mtosatti Only func 0 is registered to guest driver (we can only found func 0 in slot->funcs list of driver), the other functions could not be cleaned when hot-removing the whole slot. This patch adds device per function in ACPI DSDT tables. Notify only when func0 is added and removed. Have tested with linux/winxp/win7, hot-adding/hot-remving, single/multiple function device, they are all fine(all added devices can be removed). Changes from v2: update patch based on latest seabios tree Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Amos Kong <akong@redhat.com> --- src/ssdt-pcihp.dsl | 17 src/ssdt-pcihp.hex | 9225 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 8959 insertions(+), 283 deletions(-) diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl index 4b435b8..2a3c326 100644 --- a/src/ssdt-pcihp.dsl +++ b/src/ssdt-pcihp.dsl @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1) // at runtime, if the slot is detected to not support hotplug. // Extract the offset of the address dword and the // _EJ0 name to allow this patching. -#define hotplug_slot(slot) \ - Device (S##slot) { \ +#define hotplug_func(slot, fn) \ + Device (S##slot##fn) { \ ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \ - Name (_ADR, 0x##slot##0000) \ + Name (_ADR, 0x##slot##000##fn) \ ACPI_EXTRACT_METHOD_STRING aml_ej0_name \ Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \ Name (_SUN, 0x##slot) \ } +#define hotplug_slot(slot) \ + hotplug_func(slot, 0) \ + hotplug_func(slot, 1) \ + hotplug_func(slot, 2) \ + hotplug_func(slot, 3) \ + hotplug_func(slot, 4) \ + hotplug_func(slot, 5) \ + hotplug_func(slot, 6) \ + hotplug_func(slot, 7) hotplug_slot(01) hotplug_slot(02) @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1) hotplug_slot(1f) #define gen_pci_hotplug(slot) \ - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) } + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) } Method(PCNT, 2) { gen_pci_hotplug(01) diff --git a/src/ssdt-pcihp.hex b/src/ssdt-pcihp.hex index b15ad5a..4c9b5df 100644 --- a/src/ssdt-pcihp.hex +++ b/src/ssdt-pcihp.hex @@ -1,80 +1,514 @@ static unsigned short aml_adr_dword[] = { -0x3e, -0x62, -0x88, -0xae, -0xd4, -0xfa, -0x120, -0x146, -0x16c, -0x192, -0x1b8, -0x1de, -0x204, -0x22a, -0x250, -0x276, -0x29c, -0x2c2, -0x2e8, -0x30e, -0x334, -0x35a, -0x380, -0x3a6, -0x3cc, -0x3f2, -0x418, -0x43e, -0x464, -0x48a, -0x4b0 +0x3f, +0x63, +0x87, +0xab, +0xcf, +0xf3, +0x117, +0x13b, +0x15f, +0x185, +0x1ab, +0x1d1, +0x1f7, +0x21d, +0x243, +0x269, +0x28f, +0x2b5, +0x2db, +0x301, +0x327, +0x34d, +0x373, +0x399, +0x3bf, +0x3e5, +0x40b, +0x431, +0x457, +0x47d, +0x4a3, +0x4c9, +0x4ef, +0x515, +0x53b, +0x561, +0x587, +0x5ad, +0x5d3, +0x5f9, +0x61f, +0x645, +0x66b, +0x691, +0x6b7, +0x6dd, +0x703, +0x729, +0x74f, +0x775, +0x79b, +0x7c1, +0x7e7, +0x80d, +0x833, +0x859, +0x87f, +0x8a5, +0x8cb, +0x8f1, +0x917, +0x93d, +0x963, +0x989, +0x9af, +0x9d5, +0x9fb, +0xa21, +0xa47, +0xa6d, +0xa93, +0xab9, +0xadf, +0xb05, +0xb2b, +0xb51, +0xb77, +0xb9d, +0xbc3, +0xbe9, +0xc0f, +0xc35, +0xc5b, +0xc81, +0xca7, +0xccd, +0xcf3, +0xd19, +0xd3f, +0xd65, +0xd8b, +0xdb1, +0xdd7, +0xdfd, +0xe23, +0xe49, +0xe6f, +0xe95, +0xebb, +0xee1, +0xf07, +0xf2d, +0xf53, +0xf79, +0xf9f, +0xfc5, +0xfeb, +0x1011, +0x1037, +0x105d, +0x1083, +0x10a9, +0x10cf, +0x10f5, +0x111b, +0x1141, +0x1167, +0x118d, +0x11b3, +0x11d9, +0x11ff, +0x1225, +0x124b, +0x1271, +0x1297, +0x12bd, +0x12e3, +0x1309, +0x132f, +0x1355, +0x137b, +0x13a1, +0x13c7, +0x13ed, +0x1413, +0x1439, +0x145f, +0x1485, +0x14ab, +0x14d1, +0x14f7, +0x151d, +0x1543, +0x1569, +0x158f, +0x15b5, +0x15db, +0x1601, +0x1627, +0x164d, +0x1673, +0x1699, +0x16bf, +0x16e5, +0x170b, +0x1731, +0x1757, +0x177d, +0x17a3, +0x17c9, +0x17ef, +0x1815, +0x183b, +0x1861, +0x1887, +0x18ad, +0x18d3, +0x18f9, +0x191f, +0x1945, +0x196b, +0x1991, +0x19b7, +0x19dd, +0x1a03, +0x1a29, +0x1a4f, +0x1a75, +0x1a9b, +0x1ac1, +0x1ae7, +0x1b0d, +0x1b33, +0x1b59, +0x1b7f, +0x1ba5, +0x1bcb, +0x1bf1, +0x1c17, +0x1c3d, +0x1c63, +0x1c89, +0x1caf, +0x1cd5, +0x1cfb, +0x1d21, +0x1d47, +0x1d6d, +0x1d93, +0x1db9, +0x1ddf, +0x1e05, +0x1e2b, +0x1e51, +0x1e77, +0x1e9d, +0x1ec3, +0x1ee9, +0x1f0f, +0x1f35, +0x1f5b, +0x1f81, +0x1fa7, +0x1fcd, +0x1ff3, +0x2019, +0x203f, +0x2065, +0x208b, +0x20b1, +0x20d7, +0x20fd, +0x2123, +0x2149, +0x216f, +0x2195, +0x21bb, +0x21e1, +0x2207, +0x222d, +0x2253, +0x2279, +0x229f, +0x22c5, +0x22eb, +0x2311, +0x2337, +0x235d, +0x2383, +0x23a9, +0x23cf, +0x23f5, +0x241b, +0x2441, +0x2467, +0x248d, +0x24b3, +0x24d9 }; static unsigned short aml_ej0_name[] = { -0x44, -0x68, -0x8e, -0xb4, -0xda, -0x100, -0x126, -0x14c, -0x172, -0x198, -0x1be, -0x1e4, -0x20a, -0x230, -0x256, -0x27c, -0x2a2, -0x2c8, -0x2ee, -0x314, -0x33a, -0x360, -0x386, -0x3ac, -0x3d2, -0x3f8, -0x41e, -0x444, -0x46a, -0x490, -0x4b6 +0x45, +0x69, +0x8d, +0xb1, +0xd5, +0xf9, +0x11d, +0x141, +0x165, +0x18b, +0x1b1, +0x1d7, +0x1fd, +0x223, +0x249, +0x26f, +0x295, +0x2bb, +0x2e1, +0x307, +0x32d, +0x353, +0x379, +0x39f, +0x3c5, +0x3eb, +0x411, +0x437, +0x45d, +0x483, +0x4a9, +0x4cf, +0x4f5, +0x51b, +0x541, +0x567, +0x58d, +0x5b3, +0x5d9, +0x5ff, +0x625, +0x64b, +0x671, +0x697, +0x6bd, +0x6e3, +0x709, +0x72f, +0x755, +0x77b, +0x7a1, +0x7c7, +0x7ed, +0x813, +0x839, +0x85f, +0x885, +0x8ab, +0x8d1, +0x8f7, +0x91d, +0x943, +0x969, +0x98f, +0x9b5, +0x9db, +0xa01, +0xa27, +0xa4d, +0xa73, +0xa99, +0xabf, +0xae5, +0xb0b, +0xb31, +0xb57, +0xb7d, +0xba3, +0xbc9, +0xbef, +0xc15, +0xc3b, +0xc61, +0xc87, +0xcad, +0xcd3, +0xcf9, +0xd1f, +0xd45, +0xd6b, +0xd91, +0xdb7, +0xddd, +0xe03, +0xe29, +0xe4f, +0xe75, +0xe9b, +0xec1, +0xee7, +0xf0d, +0xf33, +0xf59, +0xf7f, +0xfa5, +0xfcb, +0xff1, +0x1017, +0x103d, +0x1063, +0x1089, +0x10af, +0x10d5, +0x10fb, +0x1121, +0x1147, +0x116d, +0x1193, +0x11b9, +0x11df, +0x1205, +0x122b, +0x1251, +0x1277, +0x129d, +0x12c3, +0x12e9, +0x130f, +0x1335, +0x135b, +0x1381, +0x13a7, +0x13cd, +0x13f3, +0x1419, +0x143f, +0x1465, +0x148b, +0x14b1, +0x14d7, +0x14fd, +0x1523, +0x1549, +0x156f, +0x1595, +0x15bb, +0x15e1, +0x1607, +0x162d, +0x1653, +0x1679, +0x169f, +0x16c5, +0x16eb, +0x1711, +0x1737, +0x175d, +0x1783, +0x17a9, +0x17cf, +0x17f5, +0x181b, +0x1841, +0x1867, +0x188d, +0x18b3, +0x18d9, +0x18ff, +0x1925, +0x194b, +0x1971, +0x1997, +0x19bd, +0x19e3, +0x1a09, +0x1a2f, +0x1a55, +0x1a7b, +0x1aa1, +0x1ac7, +0x1aed, +0x1b13, +0x1b39, +0x1b5f, +0x1b85, +0x1bab, +0x1bd1, +0x1bf7, +0x1c1d, +0x1c43, +0x1c69, +0x1c8f, +0x1cb5, +0x1cdb, +0x1d01, +0x1d27, +0x1d4d, +0x1d73, +0x1d99, +0x1dbf, +0x1de5, +0x1e0b, +0x1e31, +0x1e57, +0x1e7d, +0x1ea3, +0x1ec9, +0x1eef, +0x1f15, +0x1f3b, +0x1f61, +0x1f87, +0x1fad, +0x1fd3, +0x1ff9, +0x201f, +0x2045, +0x206b, +0x2091, +0x20b7, +0x20dd, +0x2103, +0x2129, +0x214f, +0x2175, +0x219b, +0x21c1, +0x21e7, +0x220d, +0x2233, +0x2259, +0x227f, +0x22a5, +0x22cb, +0x22f1, +0x2317, +0x233d, +0x2363, +0x2389, +0x23af, +0x23d5, +0x23fb, +0x2421, +0x2447, +0x246d, +0x2493, +0x24b9, +0x24df }; static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x53, 0x44, 0x54, -0x44, -0x6, +0x6d, +0x26, 0x0, 0x0, 0x1, -0x94, +0x6f, 0x42, 0x58, 0x50, @@ -102,8 +536,9 @@ static unsigned char ssdp_pcihp_aml[] = { 0x10, 0x20, 0x10, -0x4f, -0x61, +0x88, +0x64, +0x2, 0x5c, 0x2e, 0x5f, @@ -120,7 +555,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x31, -0x5f, +0x30, 0x8, 0x5f, 0x41, @@ -152,23 +587,59 @@ static unsigned char ssdp_pcihp_aml[] = { 0x1, 0x5b, 0x82, -0x24, +0x22, 0x53, 0x30, -0x32, -0x5f, +0x31, +0x31, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x1, 0x0, +0x1, 0x0, +0x14, +0xc, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0x1, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0x1, +0x5b, +0x82, +0x22, +0x53, +0x30, +0x31, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, 0x2, 0x0, +0x1, +0x0, 0x14, -0xd, +0xc, 0x5f, 0x45, 0x4a, @@ -179,34 +650,32 @@ static unsigned char ssdp_pcihp_aml[] = { 0x43, 0x45, 0x4a, -0xa, -0x2, +0x1, 0x8, 0x5f, 0x53, 0x55, 0x4e, -0xa, -0x2, +0x1, 0x5b, 0x82, -0x24, +0x22, 0x53, 0x30, +0x31, 0x33, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, -0x0, -0x0, 0x3, 0x0, +0x1, +0x0, 0x14, -0xd, +0xc, 0x5f, 0x45, 0x4a, @@ -217,34 +686,32 @@ static unsigned char ssdp_pcihp_aml[] = { 0x43, 0x45, 0x4a, -0xa, -0x3, +0x1, 0x8, 0x5f, 0x53, 0x55, 0x4e, -0xa, -0x3, +0x1, 0x5b, 0x82, -0x24, +0x22, 0x53, 0x30, +0x31, 0x34, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, -0x0, -0x0, 0x4, 0x0, +0x1, +0x0, 0x14, -0xd, +0xc, 0x5f, 0x45, 0x4a, @@ -255,34 +722,32 @@ static unsigned char ssdp_pcihp_aml[] = { 0x43, 0x45, 0x4a, -0xa, -0x4, +0x1, 0x8, 0x5f, 0x53, 0x55, 0x4e, -0xa, -0x4, +0x1, 0x5b, 0x82, -0x24, +0x22, 0x53, 0x30, +0x31, 0x35, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, -0x0, -0x0, 0x5, 0x0, +0x1, +0x0, 0x14, -0xd, +0xc, 0x5f, 0x45, 0x4a, @@ -293,34 +758,32 @@ static unsigned char ssdp_pcihp_aml[] = { 0x43, 0x45, 0x4a, -0xa, -0x5, +0x1, 0x8, 0x5f, 0x53, 0x55, 0x4e, -0xa, -0x5, +0x1, 0x5b, 0x82, -0x24, +0x22, 0x53, 0x30, +0x31, 0x36, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, -0x0, -0x0, 0x6, 0x0, +0x1, +0x0, 0x14, -0xd, +0xc, 0x5f, 0x45, 0x4a, @@ -331,22 +794,56 @@ static unsigned char ssdp_pcihp_aml[] = { 0x43, 0x45, 0x4a, -0xa, -0x6, +0x1, 0x8, 0x5f, 0x53, 0x55, 0x4e, -0xa, -0x6, +0x1, 0x5b, 0x82, -0x24, +0x22, 0x53, 0x30, +0x31, 0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x1, +0x0, +0x14, +0xc, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0x1, +0x8, 0x5f, +0x53, +0x55, +0x4e, +0x1, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x32, +0x30, 0x8, 0x5f, 0x41, @@ -355,7 +852,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0xc, 0x0, 0x0, -0x7, +0x2, 0x0, 0x14, 0xd, @@ -370,30 +867,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x7, +0x2, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x7, +0x2, 0x5b, 0x82, 0x24, 0x53, 0x30, -0x38, -0x5f, +0x32, +0x31, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x1, 0x0, -0x0, -0x8, +0x2, 0x0, 0x14, 0xd, @@ -408,30 +905,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x8, +0x2, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x8, +0x2, 0x5b, 0x82, 0x24, 0x53, 0x30, -0x39, -0x5f, +0x32, +0x32, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x2, 0x0, -0x0, -0x9, +0x2, 0x0, 0x14, 0xd, @@ -446,30 +943,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x9, +0x2, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x9, +0x2, 0x5b, 0x82, 0x24, 0x53, 0x30, -0x41, -0x5f, +0x32, +0x33, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x3, 0x0, -0x0, -0xa, +0x2, 0x0, 0x14, 0xd, @@ -484,30 +981,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0xa, +0x2, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0xa, +0x2, 0x5b, 0x82, 0x24, 0x53, 0x30, -0x42, -0x5f, +0x32, +0x34, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x4, 0x0, -0x0, -0xb, +0x2, 0x0, 0x14, 0xd, @@ -522,30 +1019,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0xb, +0x2, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0xb, +0x2, 0x5b, 0x82, 0x24, 0x53, 0x30, -0x43, -0x5f, +0x32, +0x35, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x5, 0x0, -0x0, -0xc, +0x2, 0x0, 0x14, 0xd, @@ -560,30 +1057,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0xc, +0x2, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0xc, +0x2, 0x5b, 0x82, 0x24, 0x53, 0x30, -0x44, -0x5f, +0x32, +0x36, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x6, 0x0, -0x0, -0xd, +0x2, 0x0, 0x14, 0xd, @@ -598,30 +1095,8200 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0xd, +0x2, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x2, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x32, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x2, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x2, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x2, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x33, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x3, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x3, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x3, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x34, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x4, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x4, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x4, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x35, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x5, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x5, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x5, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x36, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x6, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x6, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x6, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x37, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x7, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x7, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x7, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x38, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x8, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x8, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x8, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x39, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x9, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x9, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x9, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x41, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0xa, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xa, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xa, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x42, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0xb, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xb, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xb, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x43, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0xc, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xc, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xc, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x44, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0xd, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xd, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xd, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x45, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0xe, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xe, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xe, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x30, +0x46, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0xf, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0xf, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0xf, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x30, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x10, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x10, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x10, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x31, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x11, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x11, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x11, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x32, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x12, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x12, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x12, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x33, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x13, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x13, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x13, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x34, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x14, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x14, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x14, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x35, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x15, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x15, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x15, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x36, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x16, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x16, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x16, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x37, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x17, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x17, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x17, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x38, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x18, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x18, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x18, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x39, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x19, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x19, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x19, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x41, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x1a, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1a, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1a, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x42, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x1b, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1b, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1b, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x36, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x6, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x43, +0x37, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x7, +0x0, +0x1c, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1c, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1c, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x44, +0x30, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x0, +0x0, +0x1d, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1d, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1d, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x44, +0x31, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x1, +0x0, +0x1d, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1d, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1d, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x44, +0x32, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x2, +0x0, +0x1d, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1d, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1d, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x44, +0x33, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x3, +0x0, +0x1d, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1d, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1d, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x44, +0x34, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x4, +0x0, +0x1d, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1d, +0x8, +0x5f, +0x53, +0x55, +0x4e, +0xa, +0x1d, +0x5b, +0x82, +0x24, +0x53, +0x31, +0x44, +0x35, +0x8, +0x5f, +0x41, +0x44, +0x52, +0xc, +0x5, +0x0, +0x1d, +0x0, +0x14, +0xd, +0x5f, +0x45, +0x4a, +0x30, +0x1, +0xa4, +0x50, +0x43, +0x45, +0x4a, +0xa, +0x1d, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0xd, +0x1d, 0x5b, 0x82, 0x24, 0x53, -0x30, -0x45, -0x5f, +0x31, +0x44, +0x36, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x6, 0x0, -0x0, -0xe, +0x1d, 0x0, 0x14, 0xd, @@ -636,30 +9303,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0xe, +0x1d, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0xe, +0x1d, 0x5b, 0x82, 0x24, 0x53, -0x30, -0x46, -0x5f, +0x31, +0x44, +0x37, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x7, 0x0, -0x0, -0xf, +0x1d, 0x0, 0x14, 0xd, @@ -674,21 +9341,21 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0xf, +0x1d, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0xf, +0x1d, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x30, -0x5f, 0x8, 0x5f, 0x41, @@ -697,7 +9364,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0xc, 0x0, 0x0, -0x10, +0x1e, 0x0, 0x14, 0xd, @@ -712,30 +9379,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x10, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x10, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x31, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x1, 0x0, -0x0, -0x11, +0x1e, 0x0, 0x14, 0xd, @@ -750,30 +9417,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x11, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x11, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x32, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x2, 0x0, -0x0, -0x12, +0x1e, 0x0, 0x14, 0xd, @@ -788,30 +9455,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x12, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x12, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x33, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x3, 0x0, -0x0, -0x13, +0x1e, 0x0, 0x14, 0xd, @@ -826,30 +9493,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x13, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x13, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x34, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x4, 0x0, -0x0, -0x14, +0x1e, 0x0, 0x14, 0xd, @@ -864,30 +9531,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x14, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x14, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x35, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x5, 0x0, -0x0, -0x15, +0x1e, 0x0, 0x14, 0xd, @@ -902,30 +9569,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x15, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x15, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x36, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x6, 0x0, -0x0, -0x16, +0x1e, 0x0, 0x14, 0xd, @@ -940,30 +9607,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x16, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x16, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, +0x45, 0x37, -0x5f, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x7, 0x0, -0x0, -0x17, +0x1e, 0x0, 0x14, 0xd, @@ -978,21 +9645,21 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x17, +0x1e, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x17, +0x1e, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x38, -0x5f, +0x46, +0x30, 0x8, 0x5f, 0x41, @@ -1001,7 +9668,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0xc, 0x0, 0x0, -0x18, +0x1f, 0x0, 0x14, 0xd, @@ -1016,30 +9683,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x18, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x18, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x39, -0x5f, +0x46, +0x31, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x1, 0x0, -0x0, -0x19, +0x1f, 0x0, 0x14, 0xd, @@ -1054,30 +9721,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x19, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x19, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x41, -0x5f, +0x46, +0x32, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x2, 0x0, -0x0, -0x1a, +0x1f, 0x0, 0x14, 0xd, @@ -1092,30 +9759,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x1a, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x1a, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x42, -0x5f, +0x46, +0x33, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x3, 0x0, -0x0, -0x1b, +0x1f, 0x0, 0x14, 0xd, @@ -1130,30 +9797,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x1b, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x1b, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x43, -0x5f, +0x46, +0x34, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x4, 0x0, -0x0, -0x1c, +0x1f, 0x0, 0x14, 0xd, @@ -1168,30 +9835,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x1c, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x1c, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x44, -0x5f, +0x46, +0x35, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x5, 0x0, -0x0, -0x1d, +0x1f, 0x0, 0x14, 0xd, @@ -1206,30 +9873,30 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x1d, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x1d, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, -0x45, -0x5f, +0x46, +0x36, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, +0x6, 0x0, -0x0, -0x1e, +0x1f, 0x0, 0x14, 0xd, @@ -1244,28 +9911,28 @@ static unsigned char ssdp_pcihp_aml[] = { 0x45, 0x4a, 0xa, -0x1e, +0x1f, 0x8, 0x5f, 0x53, 0x55, 0x4e, 0xa, -0x1e, +0x1f, 0x5b, 0x82, 0x24, 0x53, 0x31, 0x46, -0x5f, +0x37, 0x8, 0x5f, 0x41, 0x44, 0x52, 0xc, -0x0, +0x7, 0x0, 0x1f, 0x0, @@ -1307,7 +9974,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x31, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1319,7 +9986,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x32, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1331,7 +9998,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x33, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1343,7 +10010,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x34, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1355,7 +10022,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x35, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1367,7 +10034,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x36, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1379,7 +10046,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x37, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1391,7 +10058,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x38, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1403,7 +10070,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x39, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1415,7 +10082,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x41, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1427,7 +10094,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x42, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1439,7 +10106,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x43, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1451,7 +10118,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x44, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1463,7 +10130,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x45, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1475,7 +10142,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x30, 0x46, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1487,7 +10154,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x30, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1499,7 +10166,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x31, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1511,7 +10178,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x32, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1523,7 +10190,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x33, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1535,7 +10202,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x34, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1547,7 +10214,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x35, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1559,7 +10226,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x36, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1571,7 +10238,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x37, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1583,7 +10250,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x38, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1595,7 +10262,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x39, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1607,7 +10274,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x41, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1619,7 +10286,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x42, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1631,7 +10298,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x43, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1643,7 +10310,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x44, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1655,7 +10322,7 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x45, -0x5f, +0x30, 0x69, 0xa0, 0xb, @@ -1667,6 +10334,6 @@ static unsigned char ssdp_pcihp_aml[] = { 0x53, 0x31, 0x46, -0x5f, +0x30, 0x69 }; ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables 2011-12-06 5:39 ` [SeaBIOS PATCH v3] " Amos Kong @ 2011-12-06 11:36 ` Michael S. Tsirkin 2011-12-07 0:32 ` Amos Kong 0 siblings, 1 reply; 28+ messages in thread From: Michael S. Tsirkin @ 2011-12-06 11:36 UTC (permalink / raw) To: Amos Kong; +Cc: seabios, kvm, alex.williamson, mtosatti On Tue, Dec 06, 2011 at 01:39:35PM +0800, Amos Kong wrote: > Only func 0 is registered to guest driver (we can > only found func 0 in slot->funcs list of driver), > the other functions could not be cleaned when > hot-removing the whole slot. This patch adds > device per function in ACPI DSDT tables. > Notify only when func0 is added and removed. > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > single/multiple function device, they are all fine(all > added devices can be removed). > > Changes from v2: > update patch based on latest seabios tree > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > Signed-off-by: Amos Kong <akong@redhat.com> This includes some bits I wrote but this is not an ack of the patch yet :) I find it surprising that this works: a function has _EJ0 so would not guest expect that ejecting a single one will only remove it, and not all functions? > --- > > src/ssdt-pcihp.dsl | 17 > src/ssdt-pcihp.hex | 9225 ++++++++++++++++++++++++++++++++++++++++++++++++++-- > 2 files changed, 8959 insertions(+), 283 deletions(-) > > diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl > index 4b435b8..2a3c326 100644 > --- a/src/ssdt-pcihp.dsl > +++ b/src/ssdt-pcihp.dsl > @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1) > // at runtime, if the slot is detected to not support hotplug. > // Extract the offset of the address dword and the > // _EJ0 name to allow this patching. > -#define hotplug_slot(slot) \ > - Device (S##slot) { \ > +#define hotplug_func(slot, fn) \ > + Device (S##slot##fn) { \ > ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \ > - Name (_ADR, 0x##slot##0000) \ > + Name (_ADR, 0x##slot##000##fn) \ > ACPI_EXTRACT_METHOD_STRING aml_ej0_name \ > Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \ > Name (_SUN, 0x##slot) \ > } > +#define hotplug_slot(slot) \ > + hotplug_func(slot, 0) \ > + hotplug_func(slot, 1) \ > + hotplug_func(slot, 2) \ > + hotplug_func(slot, 3) \ > + hotplug_func(slot, 4) \ > + hotplug_func(slot, 5) \ > + hotplug_func(slot, 6) \ > + hotplug_func(slot, 7) > > hotplug_slot(01) > hotplug_slot(02) > @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1) > hotplug_slot(1f) > > #define gen_pci_hotplug(slot) \ > - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) } > + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) } > > Method(PCNT, 2) { > gen_pci_hotplug(01) > diff --git a/src/ssdt-pcihp.hex b/src/ssdt-pcihp.hex > index b15ad5a..4c9b5df 100644 > --- a/src/ssdt-pcihp.hex > +++ b/src/ssdt-pcihp.hex > @@ -1,80 +1,514 @@ > static unsigned short aml_adr_dword[] = { > -0x3e, > -0x62, > -0x88, > -0xae, > -0xd4, > -0xfa, > -0x120, > -0x146, > -0x16c, > -0x192, > -0x1b8, > -0x1de, > -0x204, > -0x22a, > -0x250, > -0x276, > -0x29c, > -0x2c2, > -0x2e8, > -0x30e, > -0x334, > -0x35a, > -0x380, > -0x3a6, > -0x3cc, > -0x3f2, > -0x418, > -0x43e, > -0x464, > -0x48a, > -0x4b0 > +0x3f, > +0x63, > +0x87, > +0xab, > +0xcf, > +0xf3, > +0x117, > +0x13b, > +0x15f, > +0x185, > +0x1ab, > +0x1d1, > +0x1f7, > +0x21d, > +0x243, > +0x269, > +0x28f, > +0x2b5, > +0x2db, > +0x301, > +0x327, > +0x34d, > +0x373, > +0x399, > +0x3bf, > +0x3e5, > +0x40b, > +0x431, > +0x457, > +0x47d, > +0x4a3, > +0x4c9, > +0x4ef, > +0x515, > +0x53b, > +0x561, > +0x587, > +0x5ad, > +0x5d3, > +0x5f9, > +0x61f, > +0x645, > +0x66b, > +0x691, > +0x6b7, > +0x6dd, > +0x703, > +0x729, > +0x74f, > +0x775, > +0x79b, > +0x7c1, > +0x7e7, > +0x80d, > +0x833, > +0x859, > +0x87f, > +0x8a5, > +0x8cb, > +0x8f1, > +0x917, > +0x93d, > +0x963, > +0x989, > +0x9af, > +0x9d5, > +0x9fb, > +0xa21, > +0xa47, > +0xa6d, > +0xa93, > +0xab9, > +0xadf, > +0xb05, > +0xb2b, > +0xb51, > +0xb77, > +0xb9d, > +0xbc3, > +0xbe9, > +0xc0f, > +0xc35, > +0xc5b, > +0xc81, > +0xca7, > +0xccd, > +0xcf3, > +0xd19, > +0xd3f, > +0xd65, > +0xd8b, > +0xdb1, > +0xdd7, > +0xdfd, > +0xe23, > +0xe49, > +0xe6f, > +0xe95, > +0xebb, > +0xee1, > +0xf07, > +0xf2d, > +0xf53, > +0xf79, > +0xf9f, > +0xfc5, > +0xfeb, > +0x1011, > +0x1037, > +0x105d, > +0x1083, > +0x10a9, > +0x10cf, > +0x10f5, > +0x111b, > +0x1141, > +0x1167, > +0x118d, > +0x11b3, > +0x11d9, > +0x11ff, > +0x1225, > +0x124b, > +0x1271, > +0x1297, > +0x12bd, > +0x12e3, > +0x1309, > +0x132f, > +0x1355, > +0x137b, > +0x13a1, > +0x13c7, > +0x13ed, > +0x1413, > +0x1439, > +0x145f, > +0x1485, > +0x14ab, > +0x14d1, > +0x14f7, > +0x151d, > +0x1543, > +0x1569, > +0x158f, > +0x15b5, > +0x15db, > +0x1601, > +0x1627, > +0x164d, > +0x1673, > +0x1699, > +0x16bf, > +0x16e5, > +0x170b, > +0x1731, > +0x1757, > +0x177d, > +0x17a3, > +0x17c9, > +0x17ef, > +0x1815, > +0x183b, > +0x1861, > +0x1887, > +0x18ad, > +0x18d3, > +0x18f9, > +0x191f, > +0x1945, > +0x196b, > +0x1991, > +0x19b7, > +0x19dd, > +0x1a03, > +0x1a29, > +0x1a4f, > +0x1a75, > +0x1a9b, > +0x1ac1, > +0x1ae7, > +0x1b0d, > +0x1b33, > +0x1b59, > +0x1b7f, > +0x1ba5, > +0x1bcb, > +0x1bf1, > +0x1c17, > +0x1c3d, > +0x1c63, > +0x1c89, > +0x1caf, > +0x1cd5, > +0x1cfb, > +0x1d21, > +0x1d47, > +0x1d6d, > +0x1d93, > +0x1db9, > +0x1ddf, > +0x1e05, > +0x1e2b, > +0x1e51, > +0x1e77, > +0x1e9d, > +0x1ec3, > +0x1ee9, > +0x1f0f, > +0x1f35, > +0x1f5b, > +0x1f81, > +0x1fa7, > +0x1fcd, > +0x1ff3, > +0x2019, > +0x203f, > +0x2065, > +0x208b, > +0x20b1, > +0x20d7, > +0x20fd, > +0x2123, > +0x2149, > +0x216f, > +0x2195, > +0x21bb, > +0x21e1, > +0x2207, > +0x222d, > +0x2253, > +0x2279, > +0x229f, > +0x22c5, > +0x22eb, > +0x2311, > +0x2337, > +0x235d, > +0x2383, > +0x23a9, > +0x23cf, > +0x23f5, > +0x241b, > +0x2441, > +0x2467, > +0x248d, > +0x24b3, > +0x24d9 > }; > static unsigned short aml_ej0_name[] = { > -0x44, > -0x68, > -0x8e, > -0xb4, > -0xda, > -0x100, > -0x126, > -0x14c, > -0x172, > -0x198, > -0x1be, > -0x1e4, > -0x20a, > -0x230, > -0x256, > -0x27c, > -0x2a2, > -0x2c8, > -0x2ee, > -0x314, > -0x33a, > -0x360, > -0x386, > -0x3ac, > -0x3d2, > -0x3f8, > -0x41e, > -0x444, > -0x46a, > -0x490, > -0x4b6 > +0x45, > +0x69, > +0x8d, > +0xb1, > +0xd5, > +0xf9, > +0x11d, > +0x141, > +0x165, > +0x18b, > +0x1b1, > +0x1d7, > +0x1fd, > +0x223, > +0x249, > +0x26f, > +0x295, > +0x2bb, > +0x2e1, > +0x307, > +0x32d, > +0x353, > +0x379, > +0x39f, > +0x3c5, > +0x3eb, > +0x411, > +0x437, > +0x45d, > +0x483, > +0x4a9, > +0x4cf, > +0x4f5, > +0x51b, > +0x541, > +0x567, > +0x58d, > +0x5b3, > +0x5d9, > +0x5ff, > +0x625, > +0x64b, > +0x671, > +0x697, > +0x6bd, > +0x6e3, > +0x709, > +0x72f, > +0x755, > +0x77b, > +0x7a1, > +0x7c7, > +0x7ed, > +0x813, > +0x839, > +0x85f, > +0x885, > +0x8ab, > +0x8d1, > +0x8f7, > +0x91d, > +0x943, > +0x969, > +0x98f, > +0x9b5, > +0x9db, > +0xa01, > +0xa27, > +0xa4d, > +0xa73, > +0xa99, > +0xabf, > +0xae5, > +0xb0b, > +0xb31, > +0xb57, > +0xb7d, > +0xba3, > +0xbc9, > +0xbef, > +0xc15, > +0xc3b, > +0xc61, > +0xc87, > +0xcad, > +0xcd3, > +0xcf9, > +0xd1f, > +0xd45, > +0xd6b, > +0xd91, > +0xdb7, > +0xddd, > +0xe03, > +0xe29, > +0xe4f, > +0xe75, > +0xe9b, > +0xec1, > +0xee7, > +0xf0d, > +0xf33, > +0xf59, > +0xf7f, > +0xfa5, > +0xfcb, > +0xff1, > +0x1017, > +0x103d, > +0x1063, > +0x1089, > +0x10af, > +0x10d5, > +0x10fb, > +0x1121, > +0x1147, > +0x116d, > +0x1193, > +0x11b9, > +0x11df, > +0x1205, > +0x122b, > +0x1251, > +0x1277, > +0x129d, > +0x12c3, > +0x12e9, > +0x130f, > +0x1335, > +0x135b, > +0x1381, > +0x13a7, > +0x13cd, > +0x13f3, > +0x1419, > +0x143f, > +0x1465, > +0x148b, > +0x14b1, > +0x14d7, > +0x14fd, > +0x1523, > +0x1549, > +0x156f, > +0x1595, > +0x15bb, > +0x15e1, > +0x1607, > +0x162d, > +0x1653, > +0x1679, > +0x169f, > +0x16c5, > +0x16eb, > +0x1711, > +0x1737, > +0x175d, > +0x1783, > +0x17a9, > +0x17cf, > +0x17f5, > +0x181b, > +0x1841, > +0x1867, > +0x188d, > +0x18b3, > +0x18d9, > +0x18ff, > +0x1925, > +0x194b, > +0x1971, > +0x1997, > +0x19bd, > +0x19e3, > +0x1a09, > +0x1a2f, > +0x1a55, > +0x1a7b, > +0x1aa1, > +0x1ac7, > +0x1aed, > +0x1b13, > +0x1b39, > +0x1b5f, > +0x1b85, > +0x1bab, > +0x1bd1, > +0x1bf7, > +0x1c1d, > +0x1c43, > +0x1c69, > +0x1c8f, > +0x1cb5, > +0x1cdb, > +0x1d01, > +0x1d27, > +0x1d4d, > +0x1d73, > +0x1d99, > +0x1dbf, > +0x1de5, > +0x1e0b, > +0x1e31, > +0x1e57, > +0x1e7d, > +0x1ea3, > +0x1ec9, > +0x1eef, > +0x1f15, > +0x1f3b, > +0x1f61, > +0x1f87, > +0x1fad, > +0x1fd3, > +0x1ff9, > +0x201f, > +0x2045, > +0x206b, > +0x2091, > +0x20b7, > +0x20dd, > +0x2103, > +0x2129, > +0x214f, > +0x2175, > +0x219b, > +0x21c1, > +0x21e7, > +0x220d, > +0x2233, > +0x2259, > +0x227f, > +0x22a5, > +0x22cb, > +0x22f1, > +0x2317, > +0x233d, > +0x2363, > +0x2389, > +0x23af, > +0x23d5, > +0x23fb, > +0x2421, > +0x2447, > +0x246d, > +0x2493, > +0x24b9, > +0x24df > }; > static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x53, > 0x44, > 0x54, > -0x44, > -0x6, > +0x6d, > +0x26, > 0x0, > 0x0, > 0x1, > -0x94, > +0x6f, > 0x42, > 0x58, > 0x50, > @@ -102,8 +536,9 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x10, > 0x20, > 0x10, > -0x4f, > -0x61, > +0x88, > +0x64, > +0x2, > 0x5c, > 0x2e, > 0x5f, > @@ -120,7 +555,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x31, > -0x5f, > +0x30, > 0x8, > 0x5f, > 0x41, > @@ -152,23 +587,59 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x1, > 0x5b, > 0x82, > -0x24, > +0x22, > 0x53, > 0x30, > -0x32, > -0x5f, > +0x31, > +0x31, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x1, > 0x0, > +0x1, > 0x0, > +0x14, > +0xc, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0x1, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0x1, > +0x5b, > +0x82, > +0x22, > +0x53, > +0x30, > +0x31, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > 0x2, > 0x0, > +0x1, > +0x0, > 0x14, > -0xd, > +0xc, > 0x5f, > 0x45, > 0x4a, > @@ -179,34 +650,32 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x43, > 0x45, > 0x4a, > -0xa, > -0x2, > +0x1, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > -0xa, > -0x2, > +0x1, > 0x5b, > 0x82, > -0x24, > +0x22, > 0x53, > 0x30, > +0x31, > 0x33, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > -0x0, > -0x0, > 0x3, > 0x0, > +0x1, > +0x0, > 0x14, > -0xd, > +0xc, > 0x5f, > 0x45, > 0x4a, > @@ -217,34 +686,32 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x43, > 0x45, > 0x4a, > -0xa, > -0x3, > +0x1, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > -0xa, > -0x3, > +0x1, > 0x5b, > 0x82, > -0x24, > +0x22, > 0x53, > 0x30, > +0x31, > 0x34, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > -0x0, > -0x0, > 0x4, > 0x0, > +0x1, > +0x0, > 0x14, > -0xd, > +0xc, > 0x5f, > 0x45, > 0x4a, > @@ -255,34 +722,32 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x43, > 0x45, > 0x4a, > -0xa, > -0x4, > +0x1, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > -0xa, > -0x4, > +0x1, > 0x5b, > 0x82, > -0x24, > +0x22, > 0x53, > 0x30, > +0x31, > 0x35, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > -0x0, > -0x0, > 0x5, > 0x0, > +0x1, > +0x0, > 0x14, > -0xd, > +0xc, > 0x5f, > 0x45, > 0x4a, > @@ -293,34 +758,32 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x43, > 0x45, > 0x4a, > -0xa, > -0x5, > +0x1, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > -0xa, > -0x5, > +0x1, > 0x5b, > 0x82, > -0x24, > +0x22, > 0x53, > 0x30, > +0x31, > 0x36, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > -0x0, > -0x0, > 0x6, > 0x0, > +0x1, > +0x0, > 0x14, > -0xd, > +0xc, > 0x5f, > 0x45, > 0x4a, > @@ -331,22 +794,56 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x43, > 0x45, > 0x4a, > -0xa, > -0x6, > +0x1, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > -0xa, > -0x6, > +0x1, > 0x5b, > 0x82, > -0x24, > +0x22, > 0x53, > 0x30, > +0x31, > 0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x1, > +0x0, > +0x14, > +0xc, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0x1, > +0x8, > 0x5f, > +0x53, > +0x55, > +0x4e, > +0x1, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x32, > +0x30, > 0x8, > 0x5f, > 0x41, > @@ -355,7 +852,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0xc, > 0x0, > 0x0, > -0x7, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -370,30 +867,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x7, > +0x2, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x7, > +0x2, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x30, > -0x38, > -0x5f, > +0x32, > +0x31, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x1, > 0x0, > -0x0, > -0x8, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -408,30 +905,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x8, > +0x2, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x8, > +0x2, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x30, > -0x39, > -0x5f, > +0x32, > +0x32, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x2, > 0x0, > -0x0, > -0x9, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -446,30 +943,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x9, > +0x2, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x9, > +0x2, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x30, > -0x41, > -0x5f, > +0x32, > +0x33, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x3, > 0x0, > -0x0, > -0xa, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -484,30 +981,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0xa, > +0x2, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0xa, > +0x2, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x30, > -0x42, > -0x5f, > +0x32, > +0x34, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x4, > 0x0, > -0x0, > -0xb, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -522,30 +1019,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0xb, > +0x2, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0xb, > +0x2, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x30, > -0x43, > -0x5f, > +0x32, > +0x35, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x5, > 0x0, > -0x0, > -0xc, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -560,30 +1057,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0xc, > +0x2, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0xc, > +0x2, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x30, > -0x44, > -0x5f, > +0x32, > +0x36, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x6, > 0x0, > -0x0, > -0xd, > +0x2, > 0x0, > 0x14, > 0xd, > @@ -598,30 +1095,8200 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0xd, > +0x2, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x2, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x32, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x2, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x2, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x2, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x33, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x3, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x3, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x3, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x34, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x4, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x4, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x4, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x35, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x5, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x5, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x5, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x36, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x6, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x6, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x6, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x37, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x7, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x7, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x7, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x38, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x8, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x8, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x8, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x39, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x9, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x9, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x9, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x41, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0xa, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xa, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xa, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x42, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0xb, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xb, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xb, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x43, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0xc, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xc, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xc, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x44, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0xd, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xd, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xd, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x45, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0xe, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xe, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xe, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x30, > +0x46, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0xf, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0xf, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0xf, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x30, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x10, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x10, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x10, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x31, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x11, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x11, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x11, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x32, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x12, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x12, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x12, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x33, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x13, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x13, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x13, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x34, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x14, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x14, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x14, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x35, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x15, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x15, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x15, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x36, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x16, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x16, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x16, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x37, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x17, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x17, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x17, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x38, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x18, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x18, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x18, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x39, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x19, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x19, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x19, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x41, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x1a, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1a, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1a, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x42, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x1b, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1b, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1b, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x36, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x6, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x43, > +0x37, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x7, > +0x0, > +0x1c, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1c, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1c, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x44, > +0x30, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x0, > +0x0, > +0x1d, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1d, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1d, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x44, > +0x31, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x1, > +0x0, > +0x1d, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1d, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1d, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x44, > +0x32, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x2, > +0x0, > +0x1d, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1d, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1d, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x44, > +0x33, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x3, > +0x0, > +0x1d, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1d, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1d, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x44, > +0x34, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x4, > +0x0, > +0x1d, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1d, > +0x8, > +0x5f, > +0x53, > +0x55, > +0x4e, > +0xa, > +0x1d, > +0x5b, > +0x82, > +0x24, > +0x53, > +0x31, > +0x44, > +0x35, > +0x8, > +0x5f, > +0x41, > +0x44, > +0x52, > +0xc, > +0x5, > +0x0, > +0x1d, > +0x0, > +0x14, > +0xd, > +0x5f, > +0x45, > +0x4a, > +0x30, > +0x1, > +0xa4, > +0x50, > +0x43, > +0x45, > +0x4a, > +0xa, > +0x1d, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0xd, > +0x1d, > 0x5b, > 0x82, > 0x24, > 0x53, > -0x30, > -0x45, > -0x5f, > +0x31, > +0x44, > +0x36, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x6, > 0x0, > -0x0, > -0xe, > +0x1d, > 0x0, > 0x14, > 0xd, > @@ -636,30 +9303,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0xe, > +0x1d, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0xe, > +0x1d, > 0x5b, > 0x82, > 0x24, > 0x53, > -0x30, > -0x46, > -0x5f, > +0x31, > +0x44, > +0x37, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x7, > 0x0, > -0x0, > -0xf, > +0x1d, > 0x0, > 0x14, > 0xd, > @@ -674,21 +9341,21 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0xf, > +0x1d, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0xf, > +0x1d, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x30, > -0x5f, > 0x8, > 0x5f, > 0x41, > @@ -697,7 +9364,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0xc, > 0x0, > 0x0, > -0x10, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -712,30 +9379,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x10, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x10, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x31, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x1, > 0x0, > -0x0, > -0x11, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -750,30 +9417,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x11, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x11, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x32, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x2, > 0x0, > -0x0, > -0x12, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -788,30 +9455,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x12, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x12, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x33, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x3, > 0x0, > -0x0, > -0x13, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -826,30 +9493,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x13, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x13, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x34, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x4, > 0x0, > -0x0, > -0x14, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -864,30 +9531,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x14, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x14, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x35, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x5, > 0x0, > -0x0, > -0x15, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -902,30 +9569,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x15, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x15, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x36, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x6, > 0x0, > -0x0, > -0x16, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -940,30 +9607,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x16, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x16, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > +0x45, > 0x37, > -0x5f, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x7, > 0x0, > -0x0, > -0x17, > +0x1e, > 0x0, > 0x14, > 0xd, > @@ -978,21 +9645,21 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x17, > +0x1e, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x17, > +0x1e, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x38, > -0x5f, > +0x46, > +0x30, > 0x8, > 0x5f, > 0x41, > @@ -1001,7 +9668,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0xc, > 0x0, > 0x0, > -0x18, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1016,30 +9683,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x18, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x18, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x39, > -0x5f, > +0x46, > +0x31, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x1, > 0x0, > -0x0, > -0x19, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1054,30 +9721,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x19, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x19, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x41, > -0x5f, > +0x46, > +0x32, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x2, > 0x0, > -0x0, > -0x1a, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1092,30 +9759,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x1a, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x1a, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x42, > -0x5f, > +0x46, > +0x33, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x3, > 0x0, > -0x0, > -0x1b, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1130,30 +9797,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x1b, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x1b, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x43, > -0x5f, > +0x46, > +0x34, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x4, > 0x0, > -0x0, > -0x1c, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1168,30 +9835,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x1c, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x1c, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x44, > -0x5f, > +0x46, > +0x35, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x5, > 0x0, > -0x0, > -0x1d, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1206,30 +9873,30 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x1d, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x1d, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > -0x45, > -0x5f, > +0x46, > +0x36, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > +0x6, > 0x0, > -0x0, > -0x1e, > +0x1f, > 0x0, > 0x14, > 0xd, > @@ -1244,28 +9911,28 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x45, > 0x4a, > 0xa, > -0x1e, > +0x1f, > 0x8, > 0x5f, > 0x53, > 0x55, > 0x4e, > 0xa, > -0x1e, > +0x1f, > 0x5b, > 0x82, > 0x24, > 0x53, > 0x31, > 0x46, > -0x5f, > +0x37, > 0x8, > 0x5f, > 0x41, > 0x44, > 0x52, > 0xc, > -0x0, > +0x7, > 0x0, > 0x1f, > 0x0, > @@ -1307,7 +9974,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x31, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1319,7 +9986,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x32, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1331,7 +9998,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x33, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1343,7 +10010,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x34, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1355,7 +10022,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x35, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1367,7 +10034,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x36, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1379,7 +10046,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x37, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1391,7 +10058,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x38, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1403,7 +10070,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x39, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1415,7 +10082,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x41, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1427,7 +10094,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x42, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1439,7 +10106,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x43, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1451,7 +10118,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x44, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1463,7 +10130,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x45, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1475,7 +10142,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x30, > 0x46, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1487,7 +10154,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x30, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1499,7 +10166,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x31, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1511,7 +10178,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x32, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1523,7 +10190,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x33, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1535,7 +10202,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x34, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1547,7 +10214,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x35, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1559,7 +10226,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x36, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1571,7 +10238,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x37, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1583,7 +10250,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x38, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1595,7 +10262,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x39, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1607,7 +10274,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x41, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1619,7 +10286,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x42, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1631,7 +10298,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x43, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1643,7 +10310,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x44, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1655,7 +10322,7 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x45, > -0x5f, > +0x30, > 0x69, > 0xa0, > 0xb, > @@ -1667,6 +10334,6 @@ static unsigned char ssdp_pcihp_aml[] = { > 0x53, > 0x31, > 0x46, > -0x5f, > +0x30, > 0x69 > }; ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables 2011-12-06 11:36 ` Michael S. Tsirkin @ 2011-12-07 0:32 ` Amos Kong 2011-12-14 1:06 ` Kevin O'Connor 0 siblings, 1 reply; 28+ messages in thread From: Amos Kong @ 2011-12-07 0:32 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: seabios, kvm, alex williamson, mtosatti ----- Original Message ----- > On Tue, Dec 06, 2011 at 01:39:35PM +0800, Amos Kong wrote: > > Only func 0 is registered to guest driver (we can > > only found func 0 in slot->funcs list of driver), > > the other functions could not be cleaned when > > hot-removing the whole slot. This patch adds > > device per function in ACPI DSDT tables. > > Notify only when func0 is added and removed. > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > single/multiple function device, they are all fine(all > > added devices can be removed). > > > > Changes from v2: > > update patch based on latest seabios tree > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > Signed-off-by: Amos Kong <akong@redhat.com> > > This includes some bits I wrote but this is not an ack > of the patch yet :) > > I find it surprising that this works: a function > has _EJ0 so would not guest expect that ejecting > a single one will only remove it, and not all functions? Removing single func is not supported by specific, and current code (qemu/kernel pci driver) process hot-remove with the whole slot. We could not hot-remove single func with/without this patch. Register _EJ0() for each func, then all the funcs will be record into the function list of the slot. Thanks, Amos > > --- > > > > src/ssdt-pcihp.dsl | 17 > > src/ssdt-pcihp.hex | 9225 > > ++++++++++++++++++++++++++++++++++++++++++++++++++-- > > 2 files changed, 8959 insertions(+), 283 deletions(-) > > > > diff --git a/src/ssdt-pcihp.dsl b/src/ssdt-pcihp.dsl > > index 4b435b8..2a3c326 100644 > > --- a/src/ssdt-pcihp.dsl > > +++ b/src/ssdt-pcihp.dsl > > @@ -17,14 +17,23 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", > > 0x01, "BXPC", "BXSSDTPCIHP", 0x1) > > // at runtime, if the slot is detected to not support > > hotplug. > > // Extract the offset of the address dword and the > > // _EJ0 name to allow this patching. > > -#define hotplug_slot(slot) \ > > - Device (S##slot) { \ > > +#define hotplug_func(slot, fn) \ > > + Device (S##slot##fn) { \ > > ACPI_EXTRACT_NAME_DWORD_CONST aml_adr_dword \ > > - Name (_ADR, 0x##slot##0000) \ > > + Name (_ADR, 0x##slot##000##fn) \ > > ACPI_EXTRACT_METHOD_STRING aml_ej0_name \ > > Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \ > > Name (_SUN, 0x##slot) \ > > } > > +#define hotplug_slot(slot) \ > > + hotplug_func(slot, 0) \ > > + hotplug_func(slot, 1) \ > > + hotplug_func(slot, 2) \ > > + hotplug_func(slot, 3) \ > > + hotplug_func(slot, 4) \ > > + hotplug_func(slot, 5) \ > > + hotplug_func(slot, 6) \ > > + hotplug_func(slot, 7) > > > > hotplug_slot(01) > > hotplug_slot(02) > > @@ -59,7 +68,7 @@ DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, > > "BXPC", "BXSSDTPCIHP", 0x1) > > hotplug_slot(1f) > > > > #define gen_pci_hotplug(slot) \ > > - If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) } > > + If (LEqual(Arg0, 0x##slot)) { Notify(S##slot##0, Arg1) > > } > > > > Method(PCNT, 2) { > > gen_pci_hotplug(01) > > diff --git a/src/ssdt-pcihp.hex b/src/ssdt-pcihp.hex > > index b15ad5a..4c9b5df 100644 > > --- a/src/ssdt-pcihp.hex > > +++ b/src/ssdt-pcihp.hex > > @@ -1,80 +1,514 @@ > > static unsigned short aml_adr_dword[] = { > > -0x3e, > > -0x62, > > -0x88, > > -0xae, > > -0xd4, > > -0xfa, > > -0x120, ... ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables 2011-12-07 0:32 ` Amos Kong @ 2011-12-14 1:06 ` Kevin O'Connor 2011-12-19 8:45 ` Amos Kong 0 siblings, 1 reply; 28+ messages in thread From: Kevin O'Connor @ 2011-12-14 1:06 UTC (permalink / raw) To: Amos Kong; +Cc: Michael S. Tsirkin, seabios, kvm, alex williamson, mtosatti On Tue, Dec 06, 2011 at 07:32:55PM -0500, Amos Kong wrote: > ----- Original Message ----- > > On Tue, Dec 06, 2011 at 01:39:35PM +0800, Amos Kong wrote: > > > Only func 0 is registered to guest driver (we can > > > only found func 0 in slot->funcs list of driver), > > > the other functions could not be cleaned when > > > hot-removing the whole slot. This patch adds > > > device per function in ACPI DSDT tables. > > > Notify only when func0 is added and removed. > > > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > single/multiple function device, they are all fine(all > > > added devices can be removed). > > > > > This includes some bits I wrote but this is not an ack > > of the patch yet :) > > > > I find it surprising that this works: a function > > has _EJ0 so would not guest expect that ejecting > > a single one will only remove it, and not all functions? > > Removing single func is not supported by specific, and current code > (qemu/kernel pci driver) process hot-remove with the whole slot. > We could not hot-remove single func with/without this patch. > > Register _EJ0() for each func, then all the funcs will be record > into the function list of the slot. Just as an update - it's not clear to me what this patch does, and it seems like Michael had some concerns. Also, it doesn't seem right to hardcode the generation of that many devices (248) in the AML code. So, unless there are further comments I'm going to hold off on this patch. -Kevin ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables 2011-12-14 1:06 ` Kevin O'Connor @ 2011-12-19 8:45 ` Amos Kong 0 siblings, 0 replies; 28+ messages in thread From: Amos Kong @ 2011-12-19 8:45 UTC (permalink / raw) To: Kevin O'Connor Cc: Michael S. Tsirkin, seabios, kvm, alex williamson, mtosatti, bhelgaas, kaneshige.kenji On 14/12/11 09:06, Kevin O'Connor wrote: > On Tue, Dec 06, 2011 at 07:32:55PM -0500, Amos Kong wrote: >> ----- Original Message ----- >>> On Tue, Dec 06, 2011 at 01:39:35PM +0800, Amos Kong wrote: >>>> Only func 0 is registered to guest driver (we can >>>> only found func 0 in slot->funcs list of driver), >>>> the other functions could not be cleaned when >>>> hot-removing the whole slot. This patch adds >>>> device per function in ACPI DSDT tables. >>>> Notify only when func0 is added and removed. >>>> >>>> Have tested with linux/winxp/win7, hot-adding/hot-remving, >>>> single/multiple function device, they are all fine(all >>>> added devices can be removed). >>>> >>> This includes some bits I wrote but this is not an ack >>> of the patch yet :) >>> >>> I find it surprising that this works: a function >>> has _EJ0 so would not guest expect that ejecting >>> a single one will only remove it, and not all functions? >> >> Removing single func is not supported by specific, and current code >> (qemu/kernel pci driver) process hot-remove with the whole slot. >> We could not hot-remove single func with/without this patch. >> >> Register _EJ0() for each func, then all the funcs will be record >> into the function list of the slot. > > Just as an update - it's not clear to me what this patch does, and it > seems like Michael had some concerns. > > Also, it doesn't seem right to hardcode the generation of that many > devices (248) in the AML code. Hi Kevin, When we hot-unplug a pci device, all functions in same slot should be unpluged in one time. Hot-plug/unpluging nics for winXp VM is fine(all funcs can be removed). But hot-unpluging nics of linux VM exists problem(only function 0 is removed), Because not all the functions are registered in slot->funcs list in guest kernel. What we can do to resolve this problem: 1. remove all the functions when hot-unplug one function in the slot http://marc.info/?l=kvm&m=131597620101566&w=2 [PATCH] pci: clean all funcs when hot-removing multifunc device 2. register all the functions to slot->funcs list, then we don't need to change guest pci driver. http://marc.info/?l=kvm&m=132314964618843&w=2 [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables mst, any more comment? Thanks, Amos > So, unless there are further comments I'm going to hold off on this > patch. > > -Kevin > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 28+ messages in thread
* [SeaBIOS PATCH] hotplug: Add device per func in ACPI DSDT tables 2011-09-19 16:27 ` Marcelo Tosatti 2011-09-19 19:08 ` Michael S. Tsirkin @ 2011-09-20 10:44 ` Amos Kong 2011-09-20 11:42 ` Marcelo Tosatti 1 sibling, 1 reply; 28+ messages in thread From: Amos Kong @ 2011-09-20 10:44 UTC (permalink / raw) To: Marcelo Tosatti Cc: Gleb Natapov, seabios, kvm, jasowang, alex williamson, Michael S. Tsirkin ----- Original Message ----- > On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote: > > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > > > > > Only func 0 is registered to guest driver (we can > > > > only found func 0 in slot->funcs list of driver), > > > > the other functions could not be cleaned when > > > > hot-removing the whole slot. This patch adds > > > > device per function in ACPI DSDT tables. > > > > > > > You can't unplug a single function. Guest surely knows that. > > > > Looking at guest code, it's clear that > > at least a Linux guest doesn't know that. > > acpiphp_disable_slot function appears to eject all functions. > > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > > single/multiple function device, they are all fine. > > > > > > Does not work for me (FC12 guest). what's your problem? only func 0 can be added? I hotplug/hot-remove device by this script(add func 1~7, then add func 0): j=6 for i in `seq 1 7` 0;do qemu-img create /tmp/resize$j$i.qcow2 10M -f qcow2 echo drive_add 0x$j.$i id=drv$j$i,if=none,file=/tmp/resize$j$i.qcow2 | nc -U /tmp/a echo device_add virtio-blk-pci,id=dev$j$i,drive=drv$j$i,addr=0x$j.$i,multifunction=on | nc -U /tmp/monitor done sleep 5; echo device_del dev60 | nc -U /tmp/monitor > As mentioned previously, Linux driver > looks for function 0 when injection request is seen (see > enable_device > function in acpiphp_glue.c). > > > > What was not fine before? When hot-removing multifunc device, only func 0 can be removed from guest. > > > Have you looked at real HW that supports PCI hot plug DSDT? Does > > > it > > > looks the same? > > > > I recall I saw some examples like this on the net. > > > > > > > > new acpi-dst.hex(332K): > > > > http://amos-kong.rhcloud.com/pub/acpi-dsdt.hex > > > > > > > > Signed-off-by: Amos Kong <akong@redhat.com> ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH] hotplug: Add device per func in ACPI DSDT tables 2011-09-20 10:44 ` [SeaBIOS PATCH] " Amos Kong @ 2011-09-20 11:42 ` Marcelo Tosatti 0 siblings, 0 replies; 28+ messages in thread From: Marcelo Tosatti @ 2011-09-20 11:42 UTC (permalink / raw) To: Amos Kong Cc: Gleb Natapov, seabios, kvm, jasowang, alex williamson, Michael S. Tsirkin On Tue, Sep 20, 2011 at 06:44:54AM -0400, Amos Kong wrote: > ----- Original Message ----- > > On Mon, Sep 19, 2011 at 01:02:59PM +0300, Michael S. Tsirkin wrote: > > > On Mon, Sep 19, 2011 at 12:57:33PM +0300, Gleb Natapov wrote: > > > > On Mon, Sep 19, 2011 at 03:27:38AM -0400, Amos Kong wrote: > > > > > > > > > > Only func 0 is registered to guest driver (we can > > > > > only found func 0 in slot->funcs list of driver), > > > > > the other functions could not be cleaned when > > > > > hot-removing the whole slot. This patch adds > > > > > device per function in ACPI DSDT tables. > > > > > > > > > You can't unplug a single function. Guest surely knows that. > > > > > > Looking at guest code, it's clear that > > > at least a Linux guest doesn't know that. > > > > acpiphp_disable_slot function appears to eject all functions. > > > > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > > > > single/multiple function device, they are all fine. > > > > > > > > > Does not work for me (FC12 guest). > > what's your problem? only func 0 can be added? > I hotplug/hot-remove device by this script(add func 1~7, then add func 0): > > j=6 > for i in `seq 1 7` 0;do > qemu-img create /tmp/resize$j$i.qcow2 10M -f qcow2 > echo drive_add 0x$j.$i id=drv$j$i,if=none,file=/tmp/resize$j$i.qcow2 | nc -U /tmp/a > echo device_add virtio-blk-pci,id=dev$j$i,drive=drv$j$i,addr=0x$j.$i,multifunction=on | nc -U /tmp/monitor > done > sleep 5; > echo device_del dev60 | nc -U /tmp/monitor > > > As mentioned previously, Linux driver > > looks for function 0 when injection request is seen (see > > enable_device > > function in acpiphp_glue.c). > > > > > > What was not fine before? > > When hot-removing multifunc device, only func 0 can be removed from guest. Ah OK, musunderstood the patch was aiming for per-function hotplug. ^ permalink raw reply [flat|nested] 28+ messages in thread
* [SeaBIOS PATCH v2] Fix regression of commit 87b533bf 2011-09-19 6:53 ` [SeaBIOS PATCH 1/2] Fix regression of commit 87b533bf Amos Kong 2011-09-19 7:27 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Amos Kong @ 2011-09-20 8:00 ` Amos Kong 2011-09-20 23:52 ` Kevin O'Connor 1 sibling, 1 reply; 28+ messages in thread From: Amos Kong @ 2011-09-20 8:00 UTC (permalink / raw) To: seabios; +Cc: kvm, mst, jasowang, alex williamson >From 4678a3cb0e0a3cd7a4bc3d284c5719fdba90bc61 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor <kevin@koconnor.net> Date: Tue, 20 Sep 2011 15:43:55 +0800 Subject: [PATCH V2] Fix regression of commit 87b533bf From: Kevin O'Connor <kevin@koconnor.net> After adding more device entries in ACPI DSDT tables, the filesize of bios.bin changed from 128K to 256K. But bios could not initialize successfully. This is a regression since seabios commit 87b533bf. Prior to that commit, seabios did not mark the early 32bit initialization code as init code. However, a side effect of marking that code (handle_post) as init code is that it is more likely the linker could place the code at an address less than 0xe0000. The patch (just a hack) would cover up the issue. --- Changes from v1: - correct the attribution Signed-off-by: Kevin O'Connor <kevin@koconnor.net> --- src/post.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/src/post.c b/src/post.c index e195e89..bc2e548 100644 --- a/src/post.c +++ b/src/post.c @@ -336,7 +336,7 @@ reloc_init(void) // Start of Power On Self Test (POST) - the BIOS initilization phase. // This function does the setup needed for code relocation, and then // invokes the relocation and main setup code. -void VISIBLE32INIT +void VISIBLE32FLAT handle_post(void) { debug_serial_setup(); @@ -356,6 +356,14 @@ handle_post(void) // Allow writes to modify bios area (0xf0000) make_bios_writable(); + + void handle_post2(void); + handle_post2(); +} + +void VISIBLE32INIT +handle_post2(void) +{ HaveRunPost = 1; // Detect ram and setup internal malloc. -- 1.7.6.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH v2] Fix regression of commit 87b533bf 2011-09-20 8:00 ` [SeaBIOS PATCH v2] Fix regression of commit 87b533bf Amos Kong @ 2011-09-20 23:52 ` Kevin O'Connor 0 siblings, 0 replies; 28+ messages in thread From: Kevin O'Connor @ 2011-09-20 23:52 UTC (permalink / raw) To: Amos Kong; +Cc: seabios, kvm, mst, jasowang, mtosatti, alex williamson On Tue, Sep 20, 2011 at 04:00:57AM -0400, Amos Kong wrote: > From 4678a3cb0e0a3cd7a4bc3d284c5719fdba90bc61 Mon Sep 17 00:00:00 2001 > From: Kevin O'Connor <kevin@koconnor.net> > Date: Tue, 20 Sep 2011 15:43:55 +0800 > Subject: [PATCH V2] Fix regression of commit 87b533bf > > From: Kevin O'Connor <kevin@koconnor.net> > > After adding more device entries in ACPI DSDT tables, > the filesize of bios.bin changed from 128K to 256K. > But bios could not initialize successfully. > > This is a regression since seabios commit 87b533bf. Prior to > that commit, seabios did not mark the early 32bit initialization > code as init code. However, a side effect of marking that code > (handle_post) as init code is that it is more likely the linker > could place the code at an address less than 0xe0000. > The patch (just a hack) would cover up the issue. Thanks. I committed a slightly different patch (but similar concept) to the seabios repo. -Kevin ^ permalink raw reply [flat|nested] 28+ messages in thread
[parent not found: <20110919065347.22802.53640.stgit@t>]
[parent not found: <20110919093644.GC4501@redhat.com>]
* Re: [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables [not found] ` <20110919093644.GC4501@redhat.com> @ 2011-09-19 9:49 ` Michael S. Tsirkin 2011-09-19 10:04 ` Michael S. Tsirkin 1 sibling, 0 replies; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-19 9:49 UTC (permalink / raw) To: Amos Kong; +Cc: seabios, kvm, jasowang, mtosatti, alex.williamson, kevin On Mon, Sep 19, 2011 at 12:36:44PM +0300, Michael S. Tsirkin wrote: > On Mon, Sep 19, 2011 at 02:53:47PM +0800, Amos Kong wrote: > > Only func 0 is registered to guest driver (we can > > only found func 0 in slot->funcs list of driver), > > the other functions could not be cleaned when > > hot-removing the whole slot. This patch adds > > device per function in ACPI DSDT tables. > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > single/multiple function device, they are all fine. > > > > Signed-off-by: Amos Kong <akong@redhat.com> > > On top of my previous patch, the below saves another 6K by moving the > method to the correct scope. The code for hotplug handling > also gets better organized this way which is nice. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> To clarify: both this and the previous patch are only compiled, not tested. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables [not found] ` <20110919093644.GC4501@redhat.com> 2011-09-19 9:49 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Michael S. Tsirkin @ 2011-09-19 10:04 ` Michael S. Tsirkin 1 sibling, 0 replies; 28+ messages in thread From: Michael S. Tsirkin @ 2011-09-19 10:04 UTC (permalink / raw) To: Amos Kong; +Cc: seabios, kvm, jasowang, mtosatti, alex.williamson, kevin On Mon, Sep 19, 2011 at 12:36:44PM +0300, Michael S. Tsirkin wrote: > On Mon, Sep 19, 2011 at 02:53:47PM +0800, Amos Kong wrote: > > Only func 0 is registered to guest driver (we can > > only found func 0 in slot->funcs list of driver), > > the other functions could not be cleaned when > > hot-removing the whole slot. This patch adds > > device per function in ACPI DSDT tables. > > > > Have tested with linux/winxp/win7, hot-adding/hot-remving, > > single/multiple function device, they are all fine. > > > > Signed-off-by: Amos Kong <akong@redhat.com> > > On top of my previous patch, the below saves another 6K by moving the > method to the correct scope. The code for hotplug handling > also gets better organized this way which is nice. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> We naturally should cleanup the old macro, it's unused now, even though this doe snot save space :) diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index 36467ea..646f146 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -523,7 +523,7 @@ DefinitionBlock ( Notify(S##nr##5, 1) \ Notify(S##nr##6, 1) \ Notify(S##nr##7, 1) \ - } \ + } \ If (And(PCID, ShiftLeft(1, nr))) { \ Notify(S##nr##0, 3) \ Notify(S##nr##1, 3) \ @@ -910,28 +910,6 @@ DefinitionBlock ( Return(0x01) } -#define gen_pci_hotplug(nr) \ - If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr##0, 1) \ - Notify(\_SB.PCI0.S##nr##1, 1) \ - Notify(\_SB.PCI0.S##nr##2, 1) \ - Notify(\_SB.PCI0.S##nr##3, 1) \ - Notify(\_SB.PCI0.S##nr##4, 1) \ - Notify(\_SB.PCI0.S##nr##5, 1) \ - Notify(\_SB.PCI0.S##nr##6, 1) \ - Notify(\_SB.PCI0.S##nr##7, 1) \ - } \ - If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \ - Notify(\_SB.PCI0.S##nr##0, 3) \ - Notify(\_SB.PCI0.S##nr##1, 3) \ - Notify(\_SB.PCI0.S##nr##2, 3) \ - Notify(\_SB.PCI0.S##nr##3, 3) \ - Notify(\_SB.PCI0.S##nr##4, 3) \ - Notify(\_SB.PCI0.S##nr##5, 3) \ - Notify(\_SB.PCI0.S##nr##6, 3) \ - Notify(\_SB.PCI0.S##nr##7, 3) \ - } - Method(_L01) { \_SB.PCI0.HPLG() Return (0x01) ^ permalink raw reply related [flat|nested] 28+ messages in thread
end of thread, other threads:[~2011-12-19 8:38 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-19 6:53 [SEABIOS PATCH 0/2] fix of hotplug multi-func device Amos Kong
2011-09-19 6:53 ` [SeaBIOS PATCH 1/2] Fix regression of commit 87b533bf Amos Kong
2011-09-19 7:27 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Amos Kong
2011-09-19 9:57 ` [SeaBIOS] " Gleb Natapov
2011-09-19 10:02 ` Michael S. Tsirkin
2011-09-19 10:12 ` Gleb Natapov
2011-09-19 10:32 ` Gleb Natapov
2011-09-19 12:18 ` [SeaBIOS] " Michael S. Tsirkin
2011-09-19 16:27 ` Marcelo Tosatti
2011-09-19 19:08 ` Michael S. Tsirkin
2011-09-20 10:45 ` [SeaBIOS PATCH v2] " Amos Kong
2011-09-20 11:47 ` Marcelo Tosatti
2011-09-21 1:48 ` Kevin O'Connor
2011-09-21 5:39 ` Amos Kong
2011-09-21 11:09 ` Michael S. Tsirkin
2011-09-21 12:47 ` Kevin O'Connor
2011-09-21 13:14 ` Michael S. Tsirkin
2011-12-06 5:39 ` [SeaBIOS PATCH v3] " Amos Kong
2011-12-06 11:36 ` Michael S. Tsirkin
2011-12-07 0:32 ` Amos Kong
2011-12-14 1:06 ` Kevin O'Connor
2011-12-19 8:45 ` Amos Kong
2011-09-20 10:44 ` [SeaBIOS PATCH] " Amos Kong
2011-09-20 11:42 ` Marcelo Tosatti
2011-09-20 8:00 ` [SeaBIOS PATCH v2] Fix regression of commit 87b533bf Amos Kong
2011-09-20 23:52 ` Kevin O'Connor
[not found] ` <20110919065347.22802.53640.stgit@t>
[not found] ` <20110919093644.GC4501@redhat.com>
2011-09-19 9:49 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Michael S. Tsirkin
2011-09-19 10:04 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).