public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix.
@ 2017-09-22 13:58 Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 00/11] " Heyi Guo
                   ` (18 more replies)
  0 siblings, 19 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

Code can also be found in github:
https://github.com/hisilicon/OpenPlatformPkg.git
branch:  rp-1710-osi-v4

Note: Maybe There are some bug in NonDiscoverablePciDeviceDxe.
D05/3 console hang at boot, It's boot successfully by switch the VirtualEhciPciIo with old one.


Heyi Guo (5):
  Hisilicon/D03/Net: Update Snp driver
  Hisilicon/D03/Sas: Add SasPlatform
  Hisilicon/D05/Net: Update Snp driver
  Hisilicon/D05/Sas: Add SasPlatform
  Hisilicon: Fix the drivers use the same GUID issue

Ming Huang (5):
  Hisilicon/D03: Update binary file
  Hisilicon: Update Trusted Firmware binary
  Hisilicon/D05: Update binary file
  Hisilicon/D05: Update Trusted Firmware binary
  Hisilicon/D05: Fix bug 3061

 Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |   2 +-
 Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
 Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
 Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 21696 -> 4768 bytes
 Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22208 -> 4672 bytes
 Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25440 -> 6784 bytes
 Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23712 -> 4896 bytes
 Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 18080 -> 2304 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 26688 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 +++++++++++++++++
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56832 -> 0 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --------------------
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 +++++++++++++++++
 Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48352 -> 21664 bytes
 Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 22112 -> 3712 bytes
 Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi                                    | Bin 208288 -> 98144 bytes
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf                             |  24 +++++++++++++++++
 Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 36480 -> 17728 bytes
 Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 21408 -> 4000 bytes
 Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib                     | Bin 19486 -> 20550 bytes
 Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi                                    | Bin 161280 -> 90272 bytes
 Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D03/bl1.bin                                                         | Bin 14336 -> 14336 bytes
 Platform/Hisilicon/D03/fip.bin                                                         | Bin 45601 -> 62513 bytes
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 19552 -> 5024 bytes
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf                       |   2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25696 -> 7680 bytes
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf              |   2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22528 -> 5344 bytes
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf              |   2 +-
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23136 -> 5280 bytes
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf                         |   2 +-
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 15968 -> 2592 bytes
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf                     |   2 +-
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 28544 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 +++++++++++++++++
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56512 -> 0 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --------------------
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3392 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 +++++++++++++++++
 Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48000 -> 23328 bytes
 Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf                                     |   2 +-
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 21536 -> 4032 bytes
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf |   2 +-
 Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
 Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi                                    | Bin 230912 -> 116288 bytes
 Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf                                    |   2 +-
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3424 bytes
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf                             |  24 +++++++++++++++++
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 35904 -> 18592 bytes
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf                                    |   2 +-
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 16576 -> 4288 bytes
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf                  |   2 +-
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf                   |   2 +-
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib                   | Bin 42136 -> 52968 bytes
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi                                    | Bin 273312 -> 152576 bytes
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
 Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D05/bl1.bin                                                         | Bin 12296 -> 14344 bytes
 Platform/Hisilicon/D05/fip.bin                                                         | Bin 41493 -> 41493 bytes
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf                      |   2 +-
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib                      | Bin 603524 -> 587188 bytes
 Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib                             | Bin 247176 -> 210280 bytes
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf                                     |   2 +-
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib                                     | Bin 13998 -> 13958 bytes
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf |   2 +-
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib | Bin 305230 -> 297590 bytes
 Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib            | Bin 17022 -> 16942 bytes
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf                      |   2 +-
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib                      | Bin 707246 -> 726884 bytes
 Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib | Bin 358602 -> 344310 bytes
 Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf    |   2 +-
 Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf                         |   2 +-
 77 files changed, 166 insertions(+), 76 deletions(-)
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
 delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
 delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
 create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi
 create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
 delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
 delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
 create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi
 create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf

-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 00/11] Update D03/D05 binary for edk2 update and bug fix.
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-27 18:27   ` Leif Lindholm
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 01/10] Hisilicon/D03/Net: Update Snp driver Heyi Guo
                   ` (17 subsequent siblings)
  18 siblings, 1 reply; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

Code can also be found in github:
https://github.com/hisilicon/OpenPlatformPkg.git
branch: rp-1710-platforms-v4    

Note: Maybe There are some bug in NonDiscoverablePciDeviceDxe.
D05/3 console hang at boot, It's boot successfully by switch the VirtualEhciPciIo with old one.

Heyi Guo (5):
  Hisilicon/D03/Net: Update Snp driver
  Hisilicon/D03/Sas: Add SasPlatform
  Hisilicon/D05/Net: Update Snp driver
  Hisilicon/D05/Sas: Add SasPlatform
  Hisilicon: Fix the drivers use the same GUID issue

Leif Lindholm (1):
  Platforms: add ARM Juno system controller firmware

Ming Huang (5):
  Hisilicon/D03: Update binary file
  Hisilicon: Update Trusted Firmware binary
  Hisilicon/D05: Update binary file
  Hisilicon/D05: Update Trusted Firmware binary
  Hisilicon/D05: Fix bug 3061

 Platform/ARM/Juno/License.txt                                                          | 361 ++++++++++++++++++++
 Platform/ARM/Juno/bl0.bin                                                              | Bin 0 -> 4172 bytes
 Platform/ARM/Juno/bl30.bin                                                             | Bin 0 -> 55204 bytes
 Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |   2 +-
 Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
 Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
 Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 21696 -> 4768 bytes
 Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22208 -> 4672 bytes
 Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25440 -> 6784 bytes
 Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23712 -> 4896 bytes
 Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 18080 -> 2304 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 26688 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 ++
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56832 -> 0 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 ++
 Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48352 -> 21664 bytes
 Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 22112 -> 3712 bytes
 Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi                                    | Bin 208288 -> 98144 bytes
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf                             |  24 ++
 Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 36480 -> 17728 bytes
 Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 21408 -> 4000 bytes
 Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib                     | Bin 19486 -> 20550 bytes
 Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi                                    | Bin 161280 -> 90272 bytes
 Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D03/bl1.bin                                                         | Bin 14336 -> 14336 bytes
 Platform/Hisilicon/D03/fip.bin                                                         | Bin 45601 -> 62513 bytes
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 19552 -> 5024 bytes
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf                       |   2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25696 -> 7680 bytes
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf              |   2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22528 -> 5344 bytes
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf              |   2 +-
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23136 -> 5280 bytes
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf                         |   2 +-
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 15968 -> 2592 bytes
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf                     |   2 +-
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 28544 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 ++
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56512 -> 0 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3392 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 ++
 Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48000 -> 23328 bytes
 Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf                                     |   2 +-
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 21536 -> 4032 bytes
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf |   2 +-
 Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
 Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi                                    | Bin 230912 -> 116288 bytes
 Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf                                    |   2 +-
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3424 bytes
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf                             |  24 ++
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 35904 -> 18592 bytes
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf                                    |   2 +-
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 16576 -> 4288 bytes
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf                  |   2 +-
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf                   |   2 +-
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib                   | Bin 42136 -> 52968 bytes
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi                                    | Bin 273312 -> 152576 bytes
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
 Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D05/bl1.bin                                                         | Bin 12296 -> 14344 bytes
 Platform/Hisilicon/D05/fip.bin                                                         | Bin 41493 -> 41493 bytes
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf                      |   2 +-
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib                      | Bin 603524 -> 587188 bytes
 Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib                             | Bin 247176 -> 210280 bytes
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf                                     |   2 +-
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib                                     | Bin 13998 -> 13958 bytes
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf |   2 +-
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib | Bin 305230 -> 297590 bytes
 Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib            | Bin 17022 -> 16942 bytes
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf                      |   2 +-
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib                      | Bin 707246 -> 726884 bytes
 Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib | Bin 358602 -> 344310 bytes
 Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf    |   2 +-
 Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf                         |   2 +-
 80 files changed, 527 insertions(+), 76 deletions(-)
 create mode 100644 Platform/ARM/Juno/License.txt
 create mode 100644 Platform/ARM/Juno/bl0.bin
 create mode 100644 Platform/ARM/Juno/bl30.bin
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
 delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
 delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
 create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
 create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi
 create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
 delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
 delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi
 create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
 create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi
 create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf

-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 01/10] Hisilicon/D03/Net: Update Snp driver
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 00/11] " Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 02/11] " Heyi Guo
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

1. Replace SnpPV660Dxe with SnpPV600Dxe;
2. Add SnpPlatform:
     Install protocol to enable nic port which are using.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi | Bin 0 -> 26688 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf |  24 +++++++++++++++++
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi | Bin 56832 -> 0 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf |  27 --------------------
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf |  24 +++++++++++++++++
 6 files changed, 48 insertions(+), 27 deletions(-)

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
new file mode 100644
index 0000000..8ce6a6d
Binary files /dev/null and b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
new file mode 100644
index 0000000..90e478d
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPV600Dxe
+  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
deleted file mode 100644
index eb69403..0000000
Binary files a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi and /dev/null differ
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
deleted file mode 100644
index 204ef17..0000000
--- a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
+++ /dev/null
@@ -1,27 +0,0 @@
-#/** @file
-#
-#    Copyright (c) 2016, Hisilicon Limited. All rights reserved.
-#    Copyright (c) 2016-2017, Linaro Limited. All rights reserved.
-#
-#    This program and the accompanying materials
-#    are licensed and made available under the terms and conditions of the BSD License
-#    which accompanies this distribution. The full text of the license may be found at
-#    http://opensource.org/licenses/bsd-license.php
-#
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 92D37768-571C-48d9-BEF5-9744AE2FDAF4
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeSnpPV600Driver
-  UNLOAD_IMAGE                   = SnpPV600Unload
-
-[Binaries]
-  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
new file mode 100644
index 0000000..5e7d8bd
Binary files /dev/null and b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
new file mode 100644
index 0000000..10b2003
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPlatform
+  FILE_GUID                      = 102D8FC9-20A4-42EB-AC14-1C98BA5B17A8
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 02/11] Hisilicon/D03/Net: Update Snp driver
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 00/11] " Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 01/10] Hisilicon/D03/Net: Update Snp driver Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 02/10] Hisilicon/D03/Sas: Add SasPlatform Heyi Guo
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

1. Replace SnpPV660Dxe with SnpPV600Dxe;
2. Add SnpPlatform:
     Install protocol to enable nic port which are using.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi | Bin 0 -> 26688 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf |  24 +++++++++++++++++
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi | Bin 56832 -> 0 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf |  27 --------------------
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf |  24 +++++++++++++++++
 6 files changed, 48 insertions(+), 27 deletions(-)

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
new file mode 100644
index 0000000000000000000000000000000000000000..8ce6a6d610be59ddf9c8c54f9c788adb784f9525
GIT binary patch
literal 26688
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

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
new file mode 100644
index 0000000..90e478d
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPV600Dxe
+  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
deleted file mode 100644
index eb6940372a87c37b17a393d1b1fa1eb6157ed9af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 56832
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

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
deleted file mode 100644
index 204ef17..0000000
--- a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
+++ /dev/null
@@ -1,27 +0,0 @@
-#/** @file
-#
-#    Copyright (c) 2016, Hisilicon Limited. All rights reserved.
-#    Copyright (c) 2016-2017, Linaro Limited. All rights reserved.
-#
-#    This program and the accompanying materials
-#    are licensed and made available under the terms and conditions of the BSD License
-#    which accompanies this distribution. The full text of the license may be found at
-#    http://opensource.org/licenses/bsd-license.php
-#
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 92D37768-571C-48d9-BEF5-9744AE2FDAF4
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeSnpPV600Driver
-  UNLOAD_IMAGE                   = SnpPV600Unload
-
-[Binaries]
-  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
new file mode 100644
index 0000000000000000000000000000000000000000..5e7d8bd2311f5089fdb8c0b490d5611804ee7a29
GIT binary patch
literal 3040
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
HL^S^bP?JAL

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
new file mode 100644
index 0000000..10b2003
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPlatform
+  FILE_GUID                      = 102D8FC9-20A4-42EB-AC14-1C98BA5B17A8
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 02/10] Hisilicon/D03/Sas: Add SasPlatform
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (2 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 02/11] " Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 03/11] " Heyi Guo
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

Install protocol to enable sas port which is using and
transmit base address info of sas port to SasDriverDxe.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf |  24 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi
new file mode 100644
index 0000000..4255641
Binary files /dev/null and b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
new file mode 100644
index 0000000..0d747a1
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SasPlatform
+  FILE_GUID                      = 102D8FC9-20a4-42EB-aC14-1C98BA5b26A4
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SasPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 03/11] Hisilicon/D03/Sas: Add SasPlatform
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (3 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 02/10] Hisilicon/D03/Sas: Add SasPlatform Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 03/10] Hisilicon/D03: Update binary file Heyi Guo
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

Install protocol to enable sas port which is using and
transmit base address info of sas port to SasDriverDxe.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf |  24 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi
new file mode 100644
index 0000000000000000000000000000000000000000..42556410b60c5edae4bb3814d97f9c2a2569a08b
GIT binary patch
literal 3040
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
RU0GHB+B&l&zpkNy=x+#-M5h1%

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
new file mode 100644
index 0000000..0d747a1
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SasPlatform
+  FILE_GUID                      = 102D8FC9-20a4-42EB-aC14-1C98BA5b26A4
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SasPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 03/10] Hisilicon/D03: Update binary file
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (4 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 03/11] " Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 04/10] Hisilicon: Update Trusted Firmware binary Heyi Guo
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

Update binary file for edk2 upgrade.
1. Replace UncachedMemoryAllocationLib with DmaLib;
2. Remove ArmCpuLib dependenc;
3. Remove ConvertToPhysicalAddress;

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 21696 -> 4768 bytes
 Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22208 -> 4672 bytes
 Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25440 -> 6784 bytes
 Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23712 -> 4896 bytes
 Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 18080 -> 2304 bytes
 Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48352 -> 21664 bytes
 Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 22112 -> 3712 bytes
 Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi                                    | Bin 208288 -> 98144 bytes
 Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 36480 -> 17728 bytes
 Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 21408 -> 4000 bytes
 Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib                     | Bin 19486 -> 20550 bytes
 Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi                                    | Bin 161280 -> 90272 bytes
 Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib                      | Bin 603524 -> 587188 bytes
 Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib                             | Bin 247176 -> 210280 bytes
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib                                     | Bin 13998 -> 13958 bytes
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib | Bin 305230 -> 297590 bytes
 Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib            | Bin 17022 -> 16942 bytes
 19 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi b/Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi
index 269243a..12640f2 100644
Binary files a/Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi and b/Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi b/Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi
index c197895..d2565c8 100644
Binary files a/Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi and b/Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi b/Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi
index 6201971..0d8ff52 100644
Binary files a/Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi and b/Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi b/Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi
index 7409fcb..b85c19b 100644
Binary files a/Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi and b/Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi b/Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi
index a9238b1..89c4b5b 100644
Binary files a/Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi and b/Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi b/Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi
index 0a0d9d5..e1970fd 100644
Binary files a/Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi and b/Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi b/Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi
index 12b2af7..0572a71 100644
Binary files a/Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi and b/Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi b/Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi
index b8d9be3..28a4104 100644
Binary files a/Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi and b/Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi b/Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi
index e135930..c9b2ad6 100644
Binary files a/Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi and b/Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi b/Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi
index 30a0f77..16c91e2 100644
Binary files a/Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi and b/Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi differ
diff --git a/Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi b/Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi
index 39b8f58..2b6e4c1 100644
Binary files a/Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi and b/Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi differ
diff --git a/Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib b/Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib
index fe23d93..ffe2a13 100644
Binary files a/Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib and b/Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib differ
diff --git a/Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi b/Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi
index 1fdea0c..354abcc 100644
Binary files a/Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi and b/Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi differ
diff --git a/Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv b/Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv
index 1830a6a..9c781c6 100644
Binary files a/Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv and b/Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv differ
diff --git a/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib b/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib
index c55d678..e7c5f9f 100644
Binary files a/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib and b/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib differ
diff --git a/Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib b/Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib
index 1b02db1..5ad2c8f 100644
Binary files a/Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib and b/Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib differ
diff --git a/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib b/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib
index f74d98d..e76c741 100644
Binary files a/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib and b/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib differ
diff --git a/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib b/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib
index ca78ae6..68be770 100644
Binary files a/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib and b/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib differ
diff --git a/Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib b/Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib
index 6f88fc1..d6ce068 100644
Binary files a/Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib and b/Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib differ
-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 04/10] Hisilicon: Update Trusted Firmware binary
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (5 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 03/10] Hisilicon/D03: Update binary file Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 05/10] Hisilicon/D05/Net: Update Snp driver Heyi Guo
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

The Trusted Firmware binary was produced from the commit hash:
"14c7bdf"

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/bl1.bin | Bin 14336 -> 14336 bytes
 Platform/Hisilicon/D03/fip.bin | Bin 45601 -> 62513 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D03/bl1.bin b/Platform/Hisilicon/D03/bl1.bin
index 7bf0698..cdaa743 100644
Binary files a/Platform/Hisilicon/D03/bl1.bin and b/Platform/Hisilicon/D03/bl1.bin differ
diff --git a/Platform/Hisilicon/D03/fip.bin b/Platform/Hisilicon/D03/fip.bin
index 913d40d..ae4ed1a 100644
Binary files a/Platform/Hisilicon/D03/fip.bin and b/Platform/Hisilicon/D03/fip.bin differ
-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 05/10] Hisilicon/D05/Net: Update Snp driver
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (6 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 04/10] Hisilicon: Update Trusted Firmware binary Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 05/11] Hisilicon: Update Trusted Firmware binary Heyi Guo
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

1. Replace SnpPV660Dxe with SnpPV600Dxe;
2. Add SnpPlatform:
     Install protocol to enable nic port which are using.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi | Bin 0 -> 28544 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf |  24 +++++++++++++++++
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi | Bin 56512 -> 0 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf |  27 --------------------
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi | Bin 0 -> 3392 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf |  24 +++++++++++++++++
 6 files changed, 48 insertions(+), 27 deletions(-)

diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
new file mode 100644
index 0000000..bc7942a
Binary files /dev/null and b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
new file mode 100644
index 0000000..90e478d
--- /dev/null
+++ b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPV600Dxe
+  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
deleted file mode 100644
index c54538f..0000000
Binary files a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi and /dev/null differ
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
deleted file mode 100644
index 98cc3b8..0000000
--- a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
+++ /dev/null
@@ -1,27 +0,0 @@
-#/** @file
-#
-#    Copyright (c) 2016, Hisilicon Limited. All rights reserved.
-#    Copyright (c) 2016-2017, Linaro Limited. All rights reserved.
-#
-#    This program and the accompanying materials
-#    are licensed and made available under the terms and conditions of the BSD License
-#    which accompanies this distribution. The full text of the license may be found at
-#    http://opensource.org/licenses/bsd-license.php
-#
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010019
-  BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 85F85FDE-FDA1-465A-B22E-488F1A6F966C
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeSnpPV600Driver
-  UNLOAD_IMAGE                   = SnpPV600Unload
-
-[Binaries]
-  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi
new file mode 100644
index 0000000..42c26de
Binary files /dev/null and b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
new file mode 100644
index 0000000..10b2003
--- /dev/null
+++ b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPlatform
+  FILE_GUID                      = 102D8FC9-20A4-42EB-AC14-1C98BA5B17A8
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 05/11] Hisilicon: Update Trusted Firmware binary
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (7 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 05/10] Hisilicon/D05/Net: Update Snp driver Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 06/11] Hisilicon/D05/Net: Update Snp driver Heyi Guo
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

The Trusted Firmware binary was produced from the commit hash:
"14c7bdf"

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D03/bl1.bin | Bin 14336 -> 14336 bytes
 Platform/Hisilicon/D03/fip.bin | Bin 45601 -> 62513 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D03/bl1.bin b/Platform/Hisilicon/D03/bl1.bin
index 7bf0698f8414f606c9a03d08c28e1ae6a7e2eee5..cdaa74390f1111d53dc309d2f18c9dda333602b6 100644
GIT binary patch
literal 14336
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

literal 14336
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
a2KoEJ|MK_@#y|L<n?e2|@b8^L{{IU~Qowuw

diff --git a/Platform/Hisilicon/D03/fip.bin b/Platform/Hisilicon/D03/fip.bin
index 913d40dab3c135621b161019c91d0630f9303b57..ae4ed1ac79ee6733b94a9346cbeb7db64522b95b 100644
GIT binary patch
literal 62513
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

literal 45601
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
AOaK4?

-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 06/11] Hisilicon/D05/Net: Update Snp driver
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (8 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 05/11] Hisilicon: Update Trusted Firmware binary Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 06/10] Hisilicon/D05/Sas: Add SasPlatform Heyi Guo
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

1. Replace SnpPV660Dxe with SnpPV600Dxe;
2. Add SnpPlatform:
     Install protocol to enable nic port which are using.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi | Bin 0 -> 28544 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf |  24 +++++++++++++++++
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi | Bin 56512 -> 0 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf |  27 --------------------
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi | Bin 0 -> 3392 bytes
 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf |  24 +++++++++++++++++
 6 files changed, 48 insertions(+), 27 deletions(-)

diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
new file mode 100644
index 0000000000000000000000000000000000000000..bc7942a3e1338f08328c6a571c811cd1b69762d0
GIT binary patch
literal 28544
zcmeHweSDPFmH&C3XA;6oF-$@dBbu2czBFY8Nr0qM^JIdSwrbNPYJPoV@`6TDdDWsQ
z%p_T*;;&^8g<`i%cqy3yUsgdF+g%5-TerHqnkc&M{@O``!j^V_Afg#c$?yApUXmw6
zsI9yE`TYLa_!;hf?mhS1bI&>V+;h*p&*KeWmrwl{_|z?j8`fMa(h}8%3y?c5SIT%*
zL|-5hNH?q2@EJe*&w~tqsege*!*JtME6?+sd7ko7i|+<aipUjriA)(4;L{aexqQKj
z<!H(=bDVbS#O4w4U)j>Qyb*=uOW?NQ)Cs4H#IIbs;Lb(OCaq%8%+&b@IG^+R)8q%+
z<;|0I5;;3wk{@akoiDQCB+}<)V4qi!hJ=<K^@^Un1?34XD|&Xko;+EnN6;=5*XAD@
zxYO))@Sur@Z9QqyaB8Iz0T*H)YDzR9Qs&LjW0fKct2L=7o?hVnEO3fT8UR<}SEMYV
zNrPfOC;PTZNV{H764o!3hk~d}<myRfsu*Q#UyAmp(BCN;c)`Z`S15xvX3x|D-IL|`
z2MKL*l=PljSrq||2F(Q??d`>o6aUs&>2Yfu@mtMu%8-BL4|zi#oy1tkqy8+}z+W$D
zBY(8);rwPte&6Kb@|GO(FB{_?$-}pDB%6HvNR#aGxsnZuck?+hzUn!q9+w{by-Tv0
z&QF)@K}|8_b?O^R<l~iUgyTP{Y0*T6?8%PHo4J8+56B!nN!|y*_ks*rg0#K@JZVt_
z-Pa&(A0vAbgIl^G>tkK%QXhB`xRGy19x~tik*b6eT28dDK$5Ru42QF-p6e?B&h!Bc
zNwOiwV~uH2e{GuVxeUKR)A-O9DLB@V8Q2^b{l0XJL0s{#`}5?!aO<t*jcWQ@{~ec=
z2ax{<mxMfdQt_KSIpG}~tbcECFt=AzOZqR-lUse?+HcDn<0>HyFS7p&s-Byv4$KZN
zt&Rm=s7ktkKWl||Ab@A+&!oUoEjAW(5pE394%EAlZbu3+X3sUAsS7Ss7rs#i-uWWn
zrJ)a|oRv4pQ_A_{W;K#rs71~eNpkRW_)U`}`TUWll$_MmXj`W2`ClFZk1mY9H%T@q
zN}$^ho-G5d`Xp&sog+#AL`iy(_q(n15-ZJ@q$~<_{|@>?T?(hm9#O*GNAY|b&k2#e
zo=js-B$Z<7e|FRZ{r?=sp`cyc1=7$DJ!JVe44uj;c^rK_kuI^^OxZ91zMTReJT93D
z{*?>>28OOK7d+6%bB^VdWTjCrb4oV)v{=CXnb03xvSAZ=xcLPo**wFXbDUp&fbpYm
zj(yX3X?R;1ctJGGLC{4xkS_b#rqh^v;0Nd4$77|T2y_!h9VZQGS3rmKK&{BLOUbi-
z^l`XZ35Bgb9zQ#{&wy?HZnriSbWGEeUJ2B;jSYWb({axqO_-O*nD`Xvv<Em1T-C$4
zW}X?`NBIN`CG-$vbP?#_^LLRaKf;R4^r!2|Y>&LT24zjN^d!ej{nJ5DLN&)}kLv{V
zw9$<+1#<^{;n-J$@6@wfz}sAmm%8>b>`g+;9oDmEA9Sf2x}+xu+f99={R!k#>qJ^F
zHq$q(XWd$qY<uKsHS1v;jlZK-O1sn#xddPrPp*^*=6jO%Dg9AB*_=%oD$!n58v2?g
zbQohwQv<be&>V-Y41#A0=q(WCm}G9*%sJD00p=g<J#2l9JeV^$xKS{!lPia9J?S2z
z3u_nup0(1!YVFOlS*D%jJn~F{zQ@%NY5EBB+fy$|RRV5LVthz(1-icjo;O4H{4PDR
z9QGrSE)l=0D$>$40eJ;^J#r6ZA8?uF0hba<RI8!jm_YXewDl{2+Qb*tica8S`KfBP
z;$h681E9GNax~^hof=w?IqC1azM>anPV}f1iGB&)g!VeyACU?V`bd;2W<Bao^-IM^
zS1T2Rvz3Zv!1prOB(yc~os`fj;7dTy?nYfN;F&+eJZSJ^-Y1b~dKj|tfd5taQ8v{`
z)3@u%rk5q;Z<A0O=%hT(W|`~hDcB_NaA<wfExy|P&a|GV+x*5lKtA7$_0m|s!F$@1
zIP@0twZYbf_8e0e`ao+hbknH|PCf7_Qtwd)_OX2%+PKznK2Vplz{@PG;h5{x2d<@{
zm2}(ob2Pn3^(#b^J<o$KKj+m1*a6Ic&Y|EndXo4Hp?7^)ujXUDItlxA6l>OF;CmMI
zlyj^Qaw-&wWr2o9@Y9>A8}^6v(dOtVhv)eL>7$Qg`zJR4J`FuDlOC5W=>;uV^NhaJ
z(AP4HF3xw-`d>j$Sd~4?&cmNRjFI!Q6ZBMC{5h#TwwdF$X{q`Pc;b|o?Y9{|4)iAs
zIW31y1uQxB<zl_EWYq{+^}z=tEkTQx0C+Rbq602%Ht9GC-=$L5PIRH}dB}w_w0RW-
z-cOX>!C^mbH2KlTjDufW@oUGg41BZcb<+AtJo~d~X*X#ZjSh3ZeX`sR*m473dZ91N
z)ZnL<-4GoIO@EtyHtFDePq<{y<M6%1qsWf)ELC=4$OjJRkPf+#Z^HVv;bnP~zE-2i
zO!$RK%GK+VueD>%55iAqY-k*)LV1tKo+`}CM%A1fwv0PJLB>vBd}uuF!}}19r3!NW
z5H=J01w*ziuu17%nDdzT=&ylx)V861)CuSgvS0Wnv@5h#e~w)^$F5p*kgwD;9X$Qe
zF&~`zMZd_fTiCnMPADquM6tv;Pb#NK%#T#jVVA-Z+J6Do1w4~q%Ac?$h8|;#+_!KX
zquDouf9KK5znE^=6N7HhYtRk)ope89(e3^3qPyC$pMl?f_9FNY;Oi;)+8@GixEH>f
zjFmmP@E;S9uZp$f@a3jWdJq1&4jwguukd@L)v!yw@UsqIt|!|u=T=*LpDQgLpN6zL
zPmhJw>=KcpaeA7}grbx+OMzQ~zHCsnlEctF>ic%+w(ikmTd>#3a7leH>|#Kj41ZW=
z-i+U2=;uw6F{>EmbK$ekgbsMXBi)j_3cti<@sjed1Rv|sZWiDS{-VCXf-P{sT?sg@
zaa?D(wor%b@Jt)Z@hgUI<egtPxVM4NdG;c#f$&Y@+WbQ!?0x%4e%t#T+K?p1&b{Qv
z*e89Yr9lSi(Kz;%qwOcTkGu`*AlAj~t=La;Pr0e>+XF{n;{<){c+S_jkIawuVgEG4
zEgOztAK43^-j97`8}@n{;Hckz$PoRP5cV3tZBYvr{sOjX%X;OiBj7<V_`ef8C`MoK
zckAziY~oy#G)d0JyjSQ0!sq_YMAQFczDZTq(r0tS9|O-Vn4IXLAsFm$(Klhn0%kH`
z{Q3HQi%^fX_`WgdZ!G%zIa2Dw5zI%*g!E7*UqtyB%0wIUCw={wMH&v{mj>UO{`%5M
zl1+Iq_QSvZ3(fQmE4BCi^dJ338#PKDBp&+o!3^kk?v{L)+r+cUYG>ma)KnurkfnsX
zxsT1o{2`D3u+jy;O)>Vh1C(>A82j2UW6x;BF(9MwW9&KD=au4j0J^3_pD+C(<{ZXK
znEr!G=y1Qe$1?RLD_Wm1u&?)O=q2>zMeO$`1NLL}k{Jn<y`;)9-x#Tn16MEhUPe5p
z66?@5B_u2E8L;FYErUKJW)mhqItKH*P~(0s&)6Hj*RF)#uY(?$IuhOB8rb)TQur9q
zqm|Y2wUt`d_|;n0!Z`H8@6#&^UR9R#LU)>S^jLGg9>Y3N+pFc4)O-f^_w#a}0rPJo
zVOl<~L#0f(&4eSK*G(9IA?yWg1o@GGj(Q(3*Oz6r66(XAaBsSVeuk8L)eFE&?icAF
z(+}l5<lgTOE9WBCpc-@0Uhn*t{Eu4lQxPAVUkqCeKb$tsCsi>aFQlMU6~!0_{Vc#G
zeRK5~%N67c=SobF3d#yZU6|0ee4TUt{P^TN_%8XA_y()xP1wj<?lozjk79qwXX@6Q
z$ot2E23?Oej?-h<`;{V1dUUKQNWCbBomhx<yWW7qSQ{q-PAs?#tT}9tawFYSWwgW0
znBm!@m^e^I92}ntK0sb>V{ck*`e&r?EbIYz62lt2#0!1kKBMrb*Cmlh970d77WG&F
zx=|=%#1)8#V=(w#ug9uI+)X00idcraUQH`$!yKH8wp<U?d3vk^`2@-X(8sfgYoK34
zu3;;FxXF%(TKlsq#DMO_&yFi`eJgG755%EQ->KDO_Fm|o8_5sD4o1O)*Z^W*SQnOb
zf?o3YRq&W?pf1_+VzAb8MR+OZ*TMvBqw|^jCYkd6TEA-63wSP@gSFHhd26^GY-hbZ
zw6WH2;R!?U<c;BaWt`L_u1-E1^QRBGUxXM!#st|A*Yw$AQtL2h71a5)jM=1fW=j1*
zv`vne4X!D9a5IN-vb+@SoMr6iKLD%9rdlmPS#;E90G}dj%x67N>*6!^@a@3Gz2Rz+
zI}#YHS7cmeroJQ&K2&=2B^qE3puSOp`G!o9pAXn3@HjDMOMWHhOc1b5&_~W69XJ}t
zK_4edjC}Wj?+MI*fvnB7*Nn%3UiSph-~~RyWfBf4pApyGI0}5Ny>}j3pS9ujxy#ZU
z+dgn^tB8xIyYvcIhF+02L9fs<^$P5CD|SrDtP|Mv?S5BDhe%2Dl)Soj(MpOk)tD#S
z7yAd)`B3JQ^b&oJlzOsN!+y{%_~1KN!GA9V{;Eu0%m;WSTPms_$f#3YQc?IoUY(l3
zG_y{fz%-){>s^JKDHW6vad7>z>E*oh0w?VP_1fSU`0$2<AOCoEm^Z&fo_L&dcLctJ
zV#GBV+vc2^HAm_`hP}CWEc`3@fY}XA1A(R*$VN(}JR|hj{r-V_5Xam5!d*Q#Wynk&
zYmfqeKrm1Hw8<sfo?#z@?G9WcSP$7YFBF(4YsJO*g92Y5H#!D!p<&#^^?p@iqm|1U
ze~%w=SI*b?HJPP;LvOI=EWX%H{qaMmpdvGd^SO?Eo+F=S<mX`?upePeyD2jkL_Tn9
zjbZnyprenotWZyGaO<JKDm~`))4!4uBR10N*-ySw$C0{+bd7QDgQksg^4Zoi#zp!w
z%<~%ZdpY>qcC#LP9DVe`|MpE6@VIH99sO=apUnZRdnj*eZQ5TA*}ylbElP(E4IUiS
z-ksG9Sv3FD-_xv_WkuS+Y}WOwiP<fvgB^}_pni*J3lX%e_oGbk?7^OBB4}^Ivk%XO
zcm{l|NyS=0ocI~^1YB#q#E;*TSZ_IY@}D+aR=C`h0eKWAe-<-F54#241TZEMZG7Nn
z)FU7Gy16EiuUk--z?cl4twbEI{ak)g&l|B8*m|y@KhAfzrQ6hJmT^7so*m2`njhdV
z`AUB&G5ByT<1AdqGGJ%gu;v9Yck1Tou~N*_x;a?Op|=Wr40&rE;$z_txF!U+HUg$V
zvPQ0dDX}if*OqG`_UrRk$P!~cpe?C^&yb0=zlMDb>j~#`CHAiKVE;A1HTmgV<d-)2
z0f%S7v+Y;dx^+&QXRFXgN}HaApTahH{=_y$KNtRG{Uq4W#idONs~<f7dHr1UDf*f6
ziT!Y_D%KaQ3$dyxQmSN{yd{6AF9-f^*k4)&d+6sng1Pxw=s9(#7i;DdEFT=iS&g}N
z{0;5q+2Q9Ov)=Li4D0_mT)&_7j^_icKQlPf|7FN6Tb5h_xf1ufKMrp6pq%+`z!XS<
zp-bG`*nPi*^6=TgvUlLmI_+~x>=b8UN=YN;H}xinGehbV&Q40`BXB(*94i~<B6W!i
z`|Oc*<>TzN-h^)l+)2Q@U^AVtEXUe5<3fWz1-P?H*az_+ao{)m%`(a{juH>>+hxST
zvR?r{4fu;?o$>6f-wqnHEShZnrX6s`kYPWE&IWnLQSg8);eM4d3Z8AO`Ha*v{xc6L
z<Fgq^ons-**c&-~pJ85oh;k<^_J}3Vuxv$^+ciCB1piof6m`EzmnB)`>sYCOX`C$K
z80|4(Ev~0e^dt7y6*OdE*Rh<i@1V}vrU*K`p74^3ZMtN?1pJ*Ao=5)#o}Z0^CqVe+
zIqp>aJU3=PE3A5(CYBNQIh5OFHl25&ENywN+qEV*Qf?Rr<+cO$sl4+OKgN+-z8U4@
z8D)&rpwHf?8D|;R8Y#<Ht@q-`v$0mJ4U#FLKVm*`PODQcsq@0O;@qwhrDWTf&4%yE
zzPR_;hdzSoJl|Btp}jG`oO=YpAJ6Z(59i(-d*#}95wGR?kX)%@Up2WTiFM*5q_a_%
zjURCb@oU1bIk3r)t6<&b+)fm}mEQ;&m#I?1aV=9l<2Izrq%Ce)QgwE){v|bQVJGSj
zp$xH+B|+pF(>Miw=MXo2+LX1XA7h=VnRaZ*hu}VTW%bZ`xpSQ%FI4b^>*D+gIJ<!_
zwFWk)N-i;E!1Z~XcT??R%4*JBgp37a5;uIR3XW}P&heZPYo}p5+vQFAx8w`g%L3pn
z#q+D!>nOncm?~v_Mohx+eX0vL)ozbIV(==8e(Z7${kpaWjq>g6AN@J&4u9(r_h-P5
zG6Pq(fs1Vpe`}4Q9~;re)?<#tz}FNs{CL|wd~Yn`bgA|N^e2`{h&&lAkl5fNsi5u!
zX`2hM=R;nKd-B8BYxXXpkCIjLH0pX6=@rb!kzWRx;e2^X5OOqZvE`GH-^9zY*gWV%
zp0*(u^t$FCUW#XqvjaB7u4{4d<)GWttML}R344i~W3=lUobdBD89W@!0RHj<x6Q+Y
zR{0I1z<x+r&|=`0f*A&G3%<$$ucdD`a38hcJ0yRGjo+@D>4eWP;r|WrHe9<^_72MQ
ziPqf->h&F);6qg&vf*re|HQr=<FLywa`e;u{uYC-mo2)?aa?GO!>+qv6!;e$@EkK?
zJ67bnDH9Fwwru*07?+f^<OOQ~h&J?J4<oL?eppAik5QgV`;Q#>J62q1$jqky*eLMp
zQARo_iw;o@{5Je=9Psv-9vXo^*T8Sr^^5|4zXjj1B5z19Z1|r$;O#!|9;NJdlwrK)
zT?5Mo*nX_N_R<F8jug&YOx|qMH(?&aK43kjoooP(IDDSRFOj+}h>LjPmpqR+q|I-(
z;~cpWa4vn)IpsgJ=psB}?YaI0$}wNNaUN3=IZYo9cVMu7Tmrk{waT}#d~k3d&dW<Y
zXnQaA1UMTiiNkNB{CJPa&H0TyaW`Wgxc<*WSkoq#tO9<fcAcid{@{59%7<)ua<KlG
zy>EuC89INr*DS}n^7z+A#+tbA2qPXt`(wwNI48KLws}Lpts3>AF|q+XwtNoiAz}+C
zUyE|lb4m(aa+Scg2NA21JEyq0kKvjUKpcyE6CHJi-D*Sp?T>@??AMH$<VM*i`SxuU
z`%^1^#r8^$?JJr6(N|i8{#-5@l9BCKMo0(fA+K0g1lSgobs!z~HHYi|CIz0j8;JXx
zb_{B`&-E#=)Rh|uE2gfnKbEoYhf!{fjW(vQ!>}<<y4cS(Y&#U|8t!LBN<Z{<N(tL_
z?ig5iX9_(1rOOEqAIsS%%NtW*N$(VtrNK_PJP*|po_-U{IUbIs9`#(0xbCE5j{u#n
z?So&-XCI!OeQ;bE?AzjB2V`W+f^}6X{c9*YlRgY@!?K)qer5`M5z3DPe*e`tf50yX
zI+nmWz!jJaew?u#!hB}j(Th5k7h2^y#(oGs5NSP(yIFQW#K-Zcj^UkAXgUbkNhz@8
z)9ZkBwl6{-KSx;tX)$PV>hhW?&}A$3YUuWak-ANJ?q}bNP1$w0E*jz=>rSNf#r}5_
zKBL18{T`R*X)|PKkB{{ol2+0Wm^j)85c}{jMeJ!b{p6m^Zp-n$ozh=B%GOzBIDZ=A
zBVm7$0$YT#zh>Dq+!@2~CGgI$HJa=#1`TFE=6>xbfU}>gv9{riq~u<dxu#$2?r;@Y
zJjgDw>z)|}{tlF}osEYy9mex^l#gO(YUe7D4dUL6lT#L*zZ$G}%8~7FA`PR=(eI<&
z2}{|0nXu=Xqqk5Gtk^mGs(Sa_zCO?Pqu8|NDSeTz(@=Iko7S2F&v6tH_b4{)TPd*A
zmpsCbV$*6-KAO%r^<^yEj>50%lzzysv$$h=K7P$kfv4^IfbgT(w5chu9K#X7I&GRw
zBkO423eYAG`xyJYgE9$bkDQC-+uQ7O6q#I*(q|E1e*xI@$wW(mC+@!|?onhifO4m9
zk>=+KJBmzxkMd8F$#%9KMJB&a>4!4;0b$Rh!?<uTf-cJBe-nNbnfyEjmSbomY{o-F
z>oCjgHRdO%v)7or{xG<)3bfD<;u;gdvy&g>-6G<$c$d1ybfxr7*)*dJezajDow!){
z!xVT8Ww)U0u<|4Kd(uXF$FU9VsI5nY`Cdx9gDCqF%51u9SeCb^z;f)@q?8q*j|!H7
zuTLO8Y@fYRH@&|eX)h?NE7{k1WOZ8#ZuVD5c&zal&j|mGb-2r$>)gv5cSEeRC)>|n
zu|SN!zqiuYt+d8Ue`%#Se@aqz${NHxT^E)rYldT<8tR%l5I-(MEVu*Zcosa{F<S2J
zRg`J-&^DmQRwIVtL5$D4qQLD91oEo_!?;x3b1~q=gj)kYa~t|?%*ZQc%)q;NvK!}N
zq2?7hA3*H23g-n1@KyrntAJ(S$~v3@ludMdC3A+dZWy<Mx<Z_n`&#ndg*-neop^TA
z$(SeaQa#SIEh~OsD&g8r__Xjhy6t-a!F=OBBkyL;hVQ#X!8;AmC$|;XFwguPX9_mI
z?R`AY((w+&M!yvs&cfI*FQPA?EMUcj{|<SNmFHPI_Z5U;tk`em8EX#XnX%zU+=uh*
zmY6e!t9&WgO}Z4>{{eU&Q@$4L9?Ca3@;*nt+L52@$Y1NoU+2i*Je&`<@Q%6JSMUx;
z9`7&=l{Y)`w>t87Ir5-;2;M<+&_Q$1L37YSbI?I^&_Q$1L37YSv*MsxanQ{7E^HbU
z2hECuX2n4>?Fn^VvLES|#QqO(rh_w9<l*ZmcsBUI9Pw_eUV%L9HUVw8O`%JV>2hId
zA=>MbSBf*+n9t+u(etFV4R9)O>1bP+jk^P^D;BrD0=59>5x(M_Iu-kU&jdXt#S?HA
z4FA|=;)ZU<3X9RkL%4Z8QhbR~@4?+TUxSo*rsy%PIJ+(YcpuJ{IR>N6bhMeuHrJue
z6tfNR`21*d1>3mmByD7yBD4vhtR;IwT~Qfm0j?&{)(+YV%khk{k!~-}x0+C<x8&oz
zT1taxWAn=94f!D!e@Ks=Ck`)u0o5EI`Dy1_XSWY1!@Tu)&<CDV`!LQr5MS%(J6~MG
zE|BC0m{)yxKZ5HO-c^eJ8qfW>V{Sfc(Z@LNP}hN!eL3TGl5X}%*^w4qa!XCQ=2&u_
zTv`Yjc_A~(*u!%qv`MAQ))nF~b?Fj^E=?I#mjr+I`(hkRq8fMXi*VL?wZv51X-y!e
zi1+hK6kS4$v-V#uu_Lo3_TDs!y<aM^!=IDb9K<&IU;`7|@cuxN5-P_t<MbTwZj84V
zIGFzd^MGOgpv8|Kn;&+3)N$Y8ch-7x+Dd5;jr%*ev!iCfKPXd-yD^2Xs+f=QLzneD
z_lq&#a>Od<jxp{>(e5d8lvn^~vwir1KS}r+-C7tn5YK)y?tu9G@Le5e{93GgSi|>r
zG@REeh_RS=QM0ke&_)OD$C`z;Tg^C-UmZ{`f}Fd_kAhb3ex4B&ydftL->vsOu&T!c
z9dLOL<`?0NJn^u^jJp}Fh5P$f>apIhKn80i*7qIce}eS;_$|X4hS*i#W5_Rpo_G%A
z_iaReA?~QWg!D=LZlnHmboXsRzFCh!Ph)sTGS)XA<(N}_JCXke?=WHiz6<$V^jP0B
zNb8V3kMyfZ_etz!)Z;!!O!546x9ZB+Pd(#VM<ZwtU`)iNa4sS5m5XPX&*mKm(#ShW
zqPBNS`HyMG*2;&gdV*MQ88_g(!@SHc;QUL)g*D#B6-cxCN$l??tOxx)o-Pe|zb=ZM
zl)K;z&NhHE%=i&wEDxIRio{jii-Iq+K-DX5P1h@0#_1KeO~kvSZoQ&8N3Zw?+>2@E
z5B7-iBE3KJr<EK*d|%EeleWqj=&i&q1+9W#hjB;7g&3EDd%sfhK7L2Ew31TjE!zUd
zou~$Vb24Wnz6c&dfBQ8x<n_oTwm&r#ldFQhSa)tU^Bta{b^f69UOQrL-vnK_d(ixC
zJ=TIWJ0sBDUbF4V=BfI6Z%z2gzJn54jdv-%XRhy=|7gJg_*m<81vg*EI3eD>h~vI-
zGv;n1+BZYjn}}-<?()=hKB)qh`c639>2X6YWjKqPBrW%^PvAX{K9qy*ZuZafsY1l-
zNC)mVBPOJkXc^j*UflO+zTZ0_cu(^q?xBE_GDT|KDKXAHKqJ>T=R9JZ);_P{e390g
zSR?MPG~ZDZYeD+wj&nllIMLo1CvlBBPJKPbxo6aIqRr4afoH@xad+syWSoorraYJW
z{~~#IBVIx|K_5+dqWynXo<7PGc<ga{%QHiiY2!p?ZIMfol<BEYkm-5#mgA%hIL^O7
zo}11$&hyIiPw1^B&vVC__o>IpeW}{OyFltf;#IHruC1P~C+E(oNqVs<?>OV{X>m!+
zhvz2PDw}`Qe<csTKWvv6sm!4L<9spdrl77^53!#3t8l+ZMVSv}Re)3MdiXSIOU=l7
z^oO{4Nb_Ky@&M+y$GmgZg7w5M>p*ODxV&(vyxF4|_p{E0waXo_nCrY#H3Am#kmjLs
zC#>0?_r6Gj2Xy%W+c@32gJ#`7GsX_uRlpPhhIWN*RPdDTicxl0bCtBU77f#k_0zsn
zrUA|cxMuLZX{wYGM+fSOXG9wrrbjKGXS6Y3QGO0==1ABf`q4)t>Uc-2&`Ce#Nx#{a
z>jZ~fopL!ojCTkp_Op#BPsQon@2$kT;kWjCyz>U1Df%qR?ET&m<n8_5C0L8>{oYN;
z+xK>ydpjrYZve)|jYTRO?=+b29F?2*S-*~Y8#nJB*|>kfcGg}pj{Io-2>$R6v#~Gc
zyH8=<$E3}t&xN(eO`l6g8GTBul@)zs@Eecc1^8v*m#b9JH^Zu8eBS|g1wwwTS8?9|
zhb@F(8C8Lc{LoSEcj2rJcN5vh=mWlC0&5TJG*veA{YtOseMhhGy>)MoPsjVtJ-8oR
ztgrVqApb9V#cJF!@ZE|0Yk&zTQJ>&_F322rHY@Zq4L$yGOlx{@KNIP^9=}^ENJmo+
z?z`e%DCx0j8I3-{`?93Xe@A0^_zrJ5>_w;&-!-5gm;v6it_gKpQ|eT6J?%DPGDd7*
z_#Uure~;fvZsQN%DdC^(AFJ2nJpr7<@vKe3o`QGX8{sRxFfh20c+VoWWoPv>!uPfD
zINRc^&S+cr(QsR*zijm1Zm#dv`-UaIM9h;q;K#WPeS?)8Q|6lP7c|+>iEk9p2PkbQ
z8(_>nYjAK+XFA@c$^ot8B-S|&KF~y@xF6eiBT}~>TmEH<HP%Y33u94Uf!)-nhrF*W
z?MXBE*w(F-VGpW?YlG=qp9GGi0pl@YfGbJdz2W`c-$nc0vi;pdux_)CcxAdC0=kg=
zba4-S;B0A~9+KU6_V{y580j?I%gp`V3i=ADolpAn|3uv-W}U}s=W(<nJ;A%D)cFe~
z>0P%aA3kb`Wy%WNKfQ879m|vl1Z%aimx`8P&Mk+}$#W5&Uw49D-r-x%_~@y@nUFWm
zKeD2{M;Q2U_<kQIUp>noL3tcD1u>yqKL7KX!HxRhU>Wvh#&Zks#6Lhg+;#Qi9<jLK
zD}EdKJCN6r|2p!wA}?*V{-vH6arDp*oiJlfv`MyJ4eRZ&A2@X1)$#+WCk40*cRTqG
z{kRJJuEf1L>>2A<BfS%8A$<NU^ykBzpUiy5^G_~QzZz<SpT8XI=vHO%tT6Tf>I0aI
zuo?Y0>*skZ=RaX^KE9+E^R*xEqIcq+%=;LthwHg3yHqz)?6EU(_Y?PCed3;R3j5e5
zRSevP7H(sI0h}HOPA_P~-Zd98i+N6unQh$T#{G$*aXb9qR%`!i&s+O`m*ETZt{`~u
zINI8LxO5agY=u8>^Wh2RQ~02l-`EqzdxLSC7x*qqKi(rbhZp!pOF!PJ<DDUXSEU#{
zXag@6V7|4vOkV7`2C-T2V*%zNc|v~Jv0>*s{eNm)yqnK)or3RRkIUy6*H+kUj)(8f
z;QmBIR;DS}7E7+%!Ta-#g)oL(t+7z9c-JV`5Bt$^r`tU%Q{1n(FDl*Z7PlWh)poa(
z@(z9n#xfgs=~^uL7Nd`Zy??aiYvZ=%+p*k@^T(VS#78{DF&Xa)IdM?`oI2vf@v@~O
zGLWJpc>l}!eHreP&f#bE@I637S0GQDryCvmQtseu6TW$3^Yv!tExuwuZ0Ph3CtvZ7
zY(L(QwRMCr24C@RY=4nCUu?eau=x5j2VZwseBA+_;N9AW1r}e!&_xe)QS7^e7H@6*
z3g!;(7w7UlupQuUFZ7Kz-wR#56gtR0h?{tc)7HJAcVeo|wJ?=mUjZMsRBCU>HGC5Z
z>nc-8Tx~vEso<MKEXV!__e~_}!JdcD8uXC)B9t{Eg`aMe6Gp>2&%F`W(4=C)BmTiV
z`o|J@&ywx=On;z|ZIRMPDFi%y64t}_>DF4CRuqf6_8@GqFGE6?BEKUsf5l69&jJ1x
zVk`Q6evz-p1NvhoO@Z#0@y@BMwYmH<(bl@a(@T;68QO1=G~-?k_W6hfsK<IS2M*$0
zAjFZr(v0?a|14_az#8^|@+9-U@VO-8z-H#T#{0o<#?wyY+dhf}+#*+n29dYlEBHLt
z6T*C8*JoZ8`WShZ;d@hN8+~$!^(;Gzls<uEU=2mQkT}s#=(qSbRW8ojtFQ;pfsEL{
z5Aha0XIsxWgNnA{nQ<l^>%p&4ZjV8qpx)>mSlxp|xNLob>qal)Nxb8sPsq5@d;Gy3
z7xHpgzN#8!%8f2j)~a(dZmbL_Ctk%nY?Zp4=z}lRDS5L1lWYqV43GxSxu9gSEY=n;
z*w3;cXuxwt72ex!OBAeNnMmLZy)u1vK(@?jlq+V5EAWMY{AiAigU^U9JQa}2r|dHA
zcMq&*yGn7L(67)>`_X?;wAY%!7q6~>_ielVfcJ`WqRWu|HAC&+ldIp}arW}rJ0^(x
zrA+t;xM%H0AAa=FeE9zLeo>$Di}n=pdByc+v#24CrD*y1w-Kkpe$vG07XcjU8pchy
zmvH`7<-lp<YfjvUILR<h6CYw(qFOZ00j@8M!1oa3{&UaI^4~+hm6CR>e*kN&OWs@{
zW7cx4ouVDvA(uT8rmvDR=6)?L8k97QVa%~@s5ko?vzE_W!4srw@$LfG>m=t*8h-O3
z%dwz+K4d!&_xHYpzAl@hM{ajbpZ#dr>PQ6gxuUo#^2pRxk&I#`5}kTYBz=lRc9&H~
zY}w5B$ccXRcNym9!-4q&c)uaJ)1ebDLnlxddpJHHS8*h^)6xwUbMZ@Os(MgY@$m8a
z<yW-cUXJ>TjMmSV?>t^mZsTYFB~yKosb$rX@6A~i>6ozEpn>#^o2o`8lxdNt=Ufxn
zKEb4E>;!#1^<`?A9`VZ9*L*T|?PXJ{04I?vihaOU4P388e7bt#cIeTqQ<MnnTZ>hr
z{*I}d0dr?rhY1JyAB8>m-kb*_gnekrg9hxH;#CpCJ~DN6<jyh|XqXfE@suw_x{9v>
zpG;abQC=f&n*zSmz7Jtj@NEn7o&4VhI?3Y>=m^eyUVCWDYJ;!D`^eM>BafDyiR>`y
z)DzzYoz%4-PpL%ztBpPg7oGYA19o@WPYrmVMeCJwszFO7#^p0$$wR`HOx4lHoXEsE
z8hEH0G95QnhGfY;`m};5&UquWC*BM_QVE^YW$tO)Hvbmi&7-}et-BvSD&}RkbMIoD
z=U|V@{YV1-AI~{p&tr`udq2Qlg=+<U-Jc+@%v)32tAv+EfrodQj-f1Dvey<!_OT}D
z)Db-MT>!!}4$8F)_>EZTHy4QU=fjzU4xQ7HDpu-6OoMsSX6w;W>wQoA`-wyTBgRsQ
zwj2-rVjp4<x{Q3+n0y(6$NL2IAB=Yj;Fs~dpLg&%KK3^qc5}W<KY_Ks;db1g*AZui
zAAc;M>dBihzkG-@-{NZ9?7|s1-*-lv+CDXFZGXRn0_Yd#$@_3;J=v+s+L<!*krz~X
z?ZB1#`byw9boTn5L+MX!egU!x0$(9$#dqb5y?b~@*4hO8)Lu2`SRDG&hI)K^Bk2cD
z+IsfS{@5?S!@z#+KK0Xs`%a-xegkF5KX81n&pCdsEr>Nl185I?(Vs#-c3Ipi+lMmh
z!Bz)ft3BwqSwf^o$DQ6mobx4c#%Jh`B~xcV)D!mc9~Lg&!ROf^dHwI$d+~fQ4nFXF
zkmIq>0IP7<!_LRG`G;)UY<hnWe1bpfu-Br`3%Mh9nDl@)r!G6`L0=8tspsmIGhRR%
zjaWSV5f^mVU+7uuj2pp^VLYaG{uyOS5c(~6*SO$}hCS7me0*!7g!I~ReOtdcFFG;K
z$_a8}4cnl7A>;`>>v6}pdn5KQc)uhHKmAR93*iWOqre{sjFV7Mm6?5r+X(zyywh>w
zv#?{mT4|Ji!K=70ybL<F8v4?Td;<Pz0KU*(d|%-upXb=iXHW)wj8l;Y@I3clY+P7J
zX%9x|%0Y8pK5ETN#F0XP&&D_#+Cb;8{y3ORer8&67TZqHJ`lg(nm=%yIJWM;N5959
zDWHM-YTAHjt+Ft_>%!-4cqYG-pv{l*?gV}0IZ(Vt+U$2m48B4iImZ*wq1*Az(q8Bf
z#=FPXzk7kh&Zo+OcitI$q3)sYy$S4lI3GRu{wDmJ>;ovXd11fX^fhZ7k6JWid@~`t
zZhUqSzF1b2WBhBY&K%!ld{4)`)5&@r`H#?N05THD*7!c)*+J<0WaxW#^kKx1NE1BG
zH^YFz{V0^@M1v@I&SRS%j%ft{4~{%P!gnzC(oPBViG1_B1DiP}=wpa??>&%bFZggH
zc&tL7bjFYoBgnxRdJzxcSyvcqdL#O$JV`I&a-hZh_UuHA$5<0UJNAP{xdOaHa<cTt
z){hmC$7A^Y2*0=Sv)3H-o5Z`rQSDK6;C=W!N02|NxuR*Xw|EDkp#w54f_$1W*P8L(
z(nEOe!<b;(EBc_{TQS!)@P6)g+QBifF_niX6PCmOZ<vSj!&*9cIR@XKK^#=6JVc#5
zh&>r`eHUxmXBE9-EcOp<b6CrWUWYb>Wt%wg!H>z_fx0m$>q6ZQ*csw++7`bxPa3S$
zUSAel=i>=$p43>+)Ez@Fp~ti{z0l*c*i%rC!B?EKD$&z;MhteLF*hCGkrezfPQrKK
z_#T2E<FwZ>ejg(nwBp^$DE44{Z=pL6-|`L4(vz!I<(LZpF!*^rdGD&cC;6QpujH)7
z`>w{^On{#O)a9Toj(4V^hsK(lhVkQWR_OmiZgJe*vcD6^_b7(;orpzqJob7FT}TGe
zw}L&N7dDRX_8Q}bo#uFPJ`<z<R3Z+Nz;}(X-q%Cl%=-t3Q~R;LdBA(bCa``ZzUDU0
z5JtS?;<V?sKCv(EHQArX#+S*pP{p2hq|8RNclrU~E8i!yZ3Mofg>O1((I3DLd+=Q*
z4ZkYr4t$lp{NB(k@P~7hb9Tr+XfpHOiFk(%a~NZ(z&Sx#(mEfoY)o06WW7e4fctdi
zmA^x57k<4tzi1QkqF;nu{IEsgJ64oaHgVu7ARO#FlrnS%^4Q>$PzQMR${z;z1TZH8
zhHZ7>9KiJ&`D^3WvDN@T?5qoPPL56o?f`HH)8R)z&Xh5~ZAlq}-{;8K`TnBd4{aMd
z@%uL5$;US={mvMQx2r?%Y4TpeeApsI+7PqHyPDRwfyq-}W^nU1e4nfez7)<7e~Wk9
z>I<+Q0XKM&16tMSJFr0+pl>edD#(*1E_^pCm@!=c7V0_HFy!(U;$^+fN+<xHoQ7@U
znW1Ta&F}E;O*6lh6p)PB<-q61y~E3ayMbfIy^2GYy~CW^la&E`i0`l_@GT~uWxzJ$
z8_v@3um8Nf=O>5<>)6j5-(~X9_T(9Uupc@`z1fSijRfW;bwV&7`|$lH7t(6zXTX99
z;2Ys5!Fw0_&NOr=JGvKmxlX?hI;bb7pkJm=<V3%OGQ8Vld`FACV0|&>Bl$7n+sw{y
z=2n~EO|s>ZXUQkiN^u_px`J=FL5>is#4%^=xwHzj1n}Hv&m+L`jLL&&j?-!XY`nJJ
zd)CqiyC34T{V9GsyBP9L4DS123*tmaVUt$Fhlv<6&mujwFQM;A7~g7DJ?26EcTuM!
z&I5aRtRH^Qe91b-GQX;=oevz<hA*TVGU$U|J&*Pp+Cx(fK9Pq`-_8EcSKS0@pg!8~
z6!V+ary)N-^hZJ4v>#G-xK{(3`rGmSF6dSmV-JiS*tZX7b?@Sr#4j7L34B)zXAj2`
z)6fRr?P>&$Cq8(vr|5b;DXsSo;5%ATe!Gjj3tQjp;`hD;_NhSfk15!*6Gz`{^V?sf
z0ehKxZ4Go7IIH06^SfV^7je+H`w()|=3$Rx>_2j&EN8o3=%a>y4O$N3dtvCGbv$!p
zeIIn1?GosVu!tBLdkeFz^{p|EqkojPmCm*o4z<M|DTHqz<c47zId*TcX~QW4+n?fk
zG4wrW&D2e&9k$m?d!4k`&7h%!_<lFOnWsIVKH1#bxPLXi8GydvcjNvT;uck~pXkdS
z*RT#P6yxsz{Z+K#d9t`vBi6_M?0OI6O86k)5Sv@?S>YexbDpKYn7hWhr6AT}`}8MI
z4<clzS5T(~K7a4kIQOi??`q^LafXU@!i&369+48j80(@JK2{;hF=vf$0;%{`kd4nd
zH+~CW3bEe`>MHI{mD=q^-_*^$ga_X=;dh&O9|`Y1SCD=M?{X%JKp*ZO^1J{2cz616
zyM*4uyV37ICZWa$JD2*?c4J?UZ`R>`YQzVPSR{Qxj&&8rvl>4#Z1AADAEwVI;mQ!_
zMc-^m^4snGrII{6O_J|@PLl5<K2HCG{s#7k@E_*(^h0;~uDPP(ei+WjJktaDjo=^k
z`7m_pz0c`rhwqPKErV~eu$}W4e9Zzp<CGkW@r)E}neqLNSI6T#5_7a@p1&NfQ)d5~
zqP2c0I7HY0+KxrLW$6VoFebdeUoeB~SUeLx08$+(_CzIN$O`(gq!nw+0nAn6Y5}fx
z3zvYOVaR1!`b9HH$1*j42HP)FFPaf29ndqOe*(HWJ}>6>GWFsav@eGKfDRqD9rWy_
zoG2q*z_T<dWBH+bSM@xO@2wsh7vD@j;hk0Kb%%1qeLMK($NICWNkZ_avjfjbs0C$w
z7nHt0U_JKN#&hmM#;^lhCG<_>IcH%bp3S{SUi21}#Rn^A5jSjBE$=z-n|*9wYvglE
z*!HVNKC6WNT#r1~GsdB7zl1#7di{ag>yRf8blN4XE98Tu%wOaE2iO$q&L(S~gspV0
zOy|Z3>_V&Kr&XrbpWn_fohP@;RWi%?@!5u}lN+T*Jow#=+UfYuBXeabpzoChNJSRh
zecROw?q-sTWf<oSz}3MpTrV?_)=0Hnhmz$@cg|nl+<4b~<NqNt^mI>i<Fe(bHvU#4
z$j`q)>knBy<=LO|tP7er;QcAjI`+;Z>qkE8f)AmMXpd(ZuceKFa?7>&8<XyW9E`ue
zef`DDe2d<i^wT2}`1zbQ!Op8L`bN{^-IKmoDdB&-ed*ONmOYiGF3R>je&r3}itl|c
zHu%l^@A%iFi@*BfFYnnk{nCHVzNuo}-haR9nJ+)rK4#0DSC-s5@%Q_G{QA3f^P&|~
zulc73c5IBz*wlIH?w(1T|4P<fUU}e#%L`@%8wM}_@((tC=JnHUA1(^reaqO&yU<^S
z+26q*&iaq)oo#jZwA3BG>caAwQ@?Y6X7Af?P1<~&+5UxP6AOQ}Fl%l{T5S2>W;AZz
zbyYa8dQbihJK__@UUtcrB?BBI{su6C`S%7U75@<98ujm%x*Kaot@uwC&V%9L-x|n<
zf3IRf^6xu;aet;JZ?Xn(#ds4>%>`z<-+In~!^gk4mA-3@Tc_;tchpK3f5v<su+rle
z+;q2DKH9(OC?xs+W{rt3WG^YRx?|D*{QVCH{@XY}T{CCGr|aUm1!lW-R+@_C-7K@@
z4J(aVaH-`lSmnX}50?EZ*5KRy#+<odc_=HLw9)i1wQcWcW$eYSx6{$e*p{Y)=^LM^
zVq)Z-Wkw;&Z9H~LSUYd0Ec^fUk89C({N`d0$={8>tEM|?oz}YOt_9Otr%x}PJ+o~3
zjA_dj-LtfL!L+*<+_h-h;(M00PV?P!`<*S*=1!kkXV%nSd;PUlb=S`SVs&*{`LwF4
z+Uj|;%BIcxPR+vGrp;Y?`@IX6E}M4ag5}>?v~=OLy1N(8yZx$JS52S0V!`~H>#OQn
zQgidH=`6URv3c6uYkfC;(OGz9%bj;R$vY>1JxT&w%eU#<=54Fl*062=&iKw(cfPUn
z-JOY@M|U3IxwvaZSD@?NNFs7Hay+sox-RP3_3W<l-HF|;PaS_M{&e{>`ZM#M0TLM3
za$*nf4_~o$|F-zHSGURbjP1|v*uNvbW6jQWJ70~w5m^y^H9CEF`ELJHo1V&in&9Fw
z?edE4?{*o_;N}&`=-cOQui4(P-M_t+IHK`r`7V9eyj`1~3OwD){&W+rCS2b6#*TM)
zBzCOn3PjdK8lwJa7btue6dL$y=qX`s+h)=<ux((wf5-71nLqaI)OW_a{E>OlnkZYf
zMi)nGcExwe?s-quJazQx<4+GfJ@1*CXBwXIvp+vKTfoz~u5(joxbxl4fzG_G`i^-!
z0y{anjIPYCysm~We^+al$+I<G>$)~|g}b`Cp6%M-wP{y)*M4Asb=Moa-rbeh1yu6?
E0QHP4rT_o{

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
new file mode 100644
index 0000000..90e478d
--- /dev/null
+++ b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPV600Dxe
+  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
deleted file mode 100644
index c54538f66588a5e637e974604bb43fd6b5d06715..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 56512
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
PRP5B?shy`#d70<Gvv@nH

diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
deleted file mode 100644
index 98cc3b8..0000000
--- a/Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
+++ /dev/null
@@ -1,27 +0,0 @@
-#/** @file
-#
-#    Copyright (c) 2016, Hisilicon Limited. All rights reserved.
-#    Copyright (c) 2016-2017, Linaro Limited. All rights reserved.
-#
-#    This program and the accompanying materials
-#    are licensed and made available under the terms and conditions of the BSD License
-#    which accompanies this distribution. The full text of the license may be found at
-#    http://opensource.org/licenses/bsd-license.php
-#
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010019
-  BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 85F85FDE-FDA1-465A-B22E-488F1A6F966C
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeSnpPV600Driver
-  UNLOAD_IMAGE                   = SnpPV600Unload
-
-[Binaries]
-  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi
new file mode 100644
index 0000000000000000000000000000000000000000..42c26de8c31919348fefac1e17b2e5ad2d57d111
GIT binary patch
literal 3392
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

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
new file mode 100644
index 0000000..10b2003
--- /dev/null
+++ b/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SnpPlatform
+  FILE_GUID                      = 102D8FC9-20A4-42EB-AC14-1C98BA5B17A8
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 06/10] Hisilicon/D05/Sas: Add SasPlatform
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (9 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 06/11] Hisilicon/D05/Net: Update Snp driver Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 07/11] " Heyi Guo
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

Install protocol to enable sas port which is using and
transmit base address info of sas port to SasDriverDxe.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi | Bin 0 -> 3424 bytes
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf |  24 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi
new file mode 100644
index 0000000..d2685ab
Binary files /dev/null and b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf
new file mode 100644
index 0000000..0d747a1
--- /dev/null
+++ b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SasPlatform
+  FILE_GUID                      = 102D8FC9-20a4-42EB-aC14-1C98BA5b26A4
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SasPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 07/11] Hisilicon/D05/Sas: Add SasPlatform
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (10 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 06/10] Hisilicon/D05/Sas: Add SasPlatform Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 07/10] Hisilicon/D05: Update binary file Heyi Guo
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

Install protocol to enable sas port which is using and
transmit base address info of sas port to SasDriverDxe.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi | Bin 0 -> 3424 bytes
 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf |  24 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi
new file mode 100644
index 0000000000000000000000000000000000000000..d2685abd0f8373fc50c69837fc9a555389bfaed1
GIT binary patch
literal 3424
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
M-qYUO@;=S|2k>Eqod5s;

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf
new file mode 100644
index 0000000..0d747a1
--- /dev/null
+++ b/Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf
@@ -0,0 +1,24 @@
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    This program and the accompanying materials
+#    are licensed and made available under the terms and conditions of the BSD License
+#    which accompanies this distribution. The full text of the license may be found at
+#    http://opensource.org/licenses/bsd-license.php
+#
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010019
+  BASE_NAME                      = SasPlatform
+  FILE_GUID                      = 102D8FC9-20a4-42EB-aC14-1C98BA5b26A4
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SasPlatform.efi|*
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 07/10] Hisilicon/D05: Update binary file
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (11 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 07/11] " Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 08/10] Hisilicon/D05: Update Trusted Firmware binary Heyi Guo
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

Update binary file for edk2 upgrade.
1. Replace UncachedMemoryAllocationLib with DmaLib;
2. Remove ArmCpuLib dependenc;
3. Remove ConvertToPhysicalAddress;

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 19552 -> 5024 bytes
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25696 -> 7680 bytes
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22528 -> 5344 bytes
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23136 -> 5280 bytes
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 15968 -> 2592 bytes
 Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48000 -> 23328 bytes
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 21536 -> 4032 bytes
 Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
 Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi                                    | Bin 230912 -> 116288 bytes
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 35904 -> 18592 bytes
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 16576 -> 4288 bytes
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib                   | Bin 42136 -> 52968 bytes
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi                                    | Bin 273312 -> 152576 bytes
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib                      | Bin 707246 -> 726884 bytes
 Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib | Bin 358602 -> 344310 bytes
 15 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi b/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi
index 6f117e2..a0fa8c8 100644
Binary files a/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi and b/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi
index 139658c..9b4e23e 100644
Binary files a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi and b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi
index c3d28ec..5bf6ded 100644
Binary files a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi and b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi b/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi
index 96d1680..3092139 100644
Binary files a/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi and b/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi b/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi
index 029ce97..ece5615 100644
Binary files a/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi and b/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi b/Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi
index dcabce2..9e7dd0e 100644
Binary files a/Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi and b/Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi b/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi
index da85b0b..2be627f 100644
Binary files a/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi and b/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi b/Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi
index 02ea2b1..52d6107 100644
Binary files a/Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi and b/Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi b/Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi
index a1b16d7..9a680c5 100644
Binary files a/Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi and b/Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi b/Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi
index d22bf64..b8de025 100644
Binary files a/Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi and b/Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi differ
diff --git a/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi b/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi
index 980be0a..80fe6fa 100644
Binary files a/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi and b/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi differ
diff --git a/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib b/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib
index e37546e..00954c7 100644
Binary files a/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib and b/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib differ
diff --git a/Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi b/Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi
index 5a93c4e..b94e0cb 100644
Binary files a/Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi and b/Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi differ
diff --git a/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib b/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib
index 82abd5f..cdfaeb7 100644
Binary files a/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib and b/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib differ
diff --git a/Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib b/Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib
index a4fe13a..b3cc88e 100644
Binary files a/Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib and b/Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib differ
-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 08/10] Hisilicon/D05: Update Trusted Firmware binary
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (12 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 07/10] Hisilicon/D05: Update binary file Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 09/10] Hisilicon/D05: Fix bug 3061 Heyi Guo
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

The Trusted Firmware binary was produced from the commit hash:
"14c7bdf"

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/bl1.bin | Bin 12296 -> 14344 bytes
 Platform/Hisilicon/D05/fip.bin | Bin 41493 -> 41493 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D05/bl1.bin b/Platform/Hisilicon/D05/bl1.bin
index f207cd9..7341476 100644
Binary files a/Platform/Hisilicon/D05/bl1.bin and b/Platform/Hisilicon/D05/bl1.bin differ
diff --git a/Platform/Hisilicon/D05/fip.bin b/Platform/Hisilicon/D05/fip.bin
index 0952662..496a9b8 100644
Binary files a/Platform/Hisilicon/D05/fip.bin and b/Platform/Hisilicon/D05/fip.bin differ
-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 09/10] Hisilicon/D05: Fix bug 3061
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (13 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 08/10] Hisilicon/D05: Update Trusted Firmware binary Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 09/11] Hisilicon/D05: Update Trusted Firmware binary Heyi Guo
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

Fix bug 3061(bugs.linaro.org):
D05(before EC) boot hangs at "Need Reset";

If the D05 is before EC, then speed of i2c reduce to 100k.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv | Bin 262144 -> 262144 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv b/Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv
index 16500b7..ab6ea83 100644
Binary files a/Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv and b/Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv differ
-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 09/11] Hisilicon/D05: Update Trusted Firmware binary
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (14 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 09/10] Hisilicon/D05: Fix bug 3061 Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 10/11] Hisilicon/D05: Fix bug 3061 Heyi Guo
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

The Trusted Firmware binary was produced from the commit hash:
"14c7bdf"

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/bl1.bin | Bin 12296 -> 14344 bytes
 Platform/Hisilicon/D05/fip.bin | Bin 41493 -> 41493 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D05/bl1.bin b/Platform/Hisilicon/D05/bl1.bin
index f207cd9b77ab856d9a1fc1e53c32adfb104aed9b..7341476e296bb1fbd4fa12a890e7140b0ff7ba0f 100644
GIT binary patch
literal 14344
zcmeHOdvH``mOr;|Cxj$G9t}i%^zBX%j0!|R0tmU?0W1^+leojEQ{A0T2Qq{tbQ%q!
z<`P*gC(f3ajf11EbP^w=$K6dSxODBz5I{?7ai(H0{N?U+kXc-ra(RfRXN}q4xsOgd
z3A3|PQ<Z;6@#TJx^PTrO-}&whl(o8_2CMf`)=mAtD-ruYOQklK(9%adPeR0;?|Dkd
zq8=S)c#YUEXJfsIa;PZ-ZDx*~eN%s!iu-f0zlZ2B_ot$-pr3(fe0X>^QOW7m=t~yb
z>_WSJ3bo02`p^o|_u{z+tplwHW5#hQh1zBjwXH=9q7jh|jpTzLmGCo9;NSS^*2nq)
zzr)73_~7e2mu4);FZ`yL$f5R#p3_6Sf7LZ4k}AkAm08f76b|~HY!7-<-tN0xE_7YV
zrFa4Oz}9Y(SE#;}x62v@YFne>XzAMnJT&;$C5b3b^jaSY;Y*U0`_LceAAI3A7s>(K
zXdzWfqxfMw8SaoJ_oN1!N%1pcZbXtv{amy~99~j8Amae$&WJN3Ja;8mj$bZ!bukY^
zyH6aXk5;H<0@?0NAsfpeS>-4-*>gZQ8g5d`q%4Z+vi(|<%?<jc;Nx-z#oa`zAMLUz
zMEqnqDG79#@j`{&BFh+CtvYH~s+Ac^ng8HQbt-i2xC)FV6EN1h)YH(1)h2fp*r>~D
zb9KdlyTB%NIV4i+AxjLhT+Wc=L%WY36s$^Lbt>70cE6|b#<W?_<h@IMH(yX$-$$Fp
zuA})BZ+?opnx7KTENCK{wd?3cio^KbIiT70)m<v{9n<u-T%Crw#JFd<Iu+y9p#R?R
z@P3(;vhWF7F5xMN=zmDd!}-GU@H}BTLDu#ywCm_H=x;xs8!7r2_Ao9B?d@|cS*2QF
z%gz&|o`o!5ixlwyZ<uHa^G_A4)UPmhz^`9Sm*dRO0Bjcq4z?rcs{7H`U@xpv4=;nw
z0Y3+g=ty69F~!3h<*1kFPUi1=#{DpCDkGk5mE#gW7t8VXWpcb@r5x`pk>jtI%JDbu
zmg8^UE63m3D90ZHZ4Lh;tJRYnAI~U#gm`2>5VSbn)90Wq`zY^C_Ep4mp1y_{b`Cc0
zvy*+BgXDJ{SuHOM#=fE5M>QLb^AWj3btoljOE&EPamhqJ(n|)6GY2p>QtyK;=8+sv
zMO#Z^>sd-UxtCH~-IRLr09nr847uT#6=y|DBo+P7NjzCa){_N@t93+6Q}7(xee9s_
z*HMkHD-T<`zV(Y;>_11LL)b6=4Qz7-{&yL8z7@sDplFR4{P(gwH6K?}H2#m@2%1N9
zAJ5l)+=S^R1E%sO=1Wv>1pn;U9ezP=ho3fEsSSQmsOUb>OOKGIhwwbuX(8-XDyY8{
zb(ok5BMU0~#Tn67SP2_1hMm~H?N1BpcLuB%vUb4MEy$Tf)Jqoxbtd3?;8(|{%kgFl
zo%dTTt)(ecArZAU6P^FUN)?QUeXX-oP{EhRTNt=Hfh!EZv6FZnK3AdP+#n|Skio|^
z;6EbLp&mD>$0|wXe6$Dt+K#=KQz<@>L($DdhjOP7d^<PtDDpAW`#tEeyiIt*=L@eq
z?1n8|ut{mx(C!a4TWR#(wt^n#Gcf{twuJ;G=Yn<?uzbu*Zluy8w%&-f&oMu=`<I%1
z*{&8+`UXUyP)s}avR4sau@}&eaw}yY>Lj(6<>{ep3;X*cLbmc_XK@TP+*VSb{(ksy
zV=6t+oJvIs;FN!BEdB)e{|ES)$D!Tt8@_ZTLF+PnCoEdjFmh0MHkv4?;p-uDs*=+_
zkK!G-QoM5^#b1Z7y#Zf)b0x*!DgoR|iXJVYsMjJd$7#64-bOn>TlHnLzLhc`=1aPT
z9o|f;_z1j|ynw!d=j*}__-4h^;J@TkVMk8}=3>GQc?zB%3p?6pPzCg5YhNixV*)J+
z=fYQL@J^>h*&U$iLCpRm@CkR3>bUUazIN~p|F(r^%W>*)wAv7B(|LTgeYah0pAv1O
z!S})`O4(lM>}%0>l5<+Q!OK<g{Ruu4=pdX%OWL3pJ`=u!9sW|eaPt2}a$#RouqZg=
z$;S5KT>JA$;=?5<W$O@Q%tsJB6hbEr3E%w4@J&7c4!|$9IHFXwLO(}ve(JeUM0_+O
zf3lAYTl0(k@O{=T=Sg#oeJo|GUt23c?%jLAQ+$-H+oa*)iZEI4)#3-b7`-P9d<EEJ
zHE?p==($&~DY%wEycE(6RDK1ykk1cq$AO2;bKb;d0S?CF0ljwMWd16LhnL1gOCi&h
zL7!p027RqI^Ey>K^1aqq99o~_NT>g=iFoB&p#rrHYOLPFl}@#-#i4SJMt(*97ql~Y
zCUVmm=96<Na<o&RrD2O4--FhHbGh82ug8*dbZ+F2-w*H4B_#(1t1Wyz;tsjMVo~}!
zKPUB7?9pTgF7~1JQaP$@I2=SVy6qTb4Bw40@bNx|O$82(KBcK=4ZK_nBbOGMwcXI}
z4-A_p={KV3AnZ_uOz?~xEP$RRRq1PiA0W4(&Q!`q>wIYUDE;7k<T{G;+BeY06`YA*
zBR|3)4l_Rj8uCRiNm;7nvo!U15ze~XrfTQdsPixhrt%KJY@Mq95cHWh7aGA{4%i9x
z1Nebn^96MX=Oz5Mu*cNvk*Vq%kRANz=<$bh31^4jB1bE6t~nq_C0SY*LSJEX&zf}g
zCG5#y8vu4doTb&oov_79z$M}TB3=EdfuHpq&X?nrz^z!|M?@K33u-$)o9z@|hP~}}
zuG54<J`4EV8qvQVb4JZOq9d=aBg=J=e{Y6*ogRn16iY=O(QA_tA5E&8MsV~@(e!Lt
zFrw#ibPSjdhWRK%9fnL~g<i8z2acmNQU~!_$+b`%_U8KM8`ydrZb_$KnGf97OwG=S
zhcUij@K~Vp_&d<&7*jeNYA$^66nv1_XEtQ2MOc$z&ob!ys=iPvsE?2Jg+<d;C(DJs
zrEDwI5^R5tuYU$?*tCDzbTtof#en%2#OqAZJ#5KV^F*c3_f+01j;%WfW8&;c9C7q}
z#)o($tT}!_uQ+h`2tTdI>`AOyfrE2x^DMgP_<p#e4e}tidtY>t`fbY;Rj;3BMl30a
zalfE;f)9@I7;2~(YBsLXn7>~D7te9cM68Fmr*r*M_|?$x{&dVS>;QOT*f3z_q2Z+m
zrc-<h*8Uzo_$gwRY5ffNIsW;)<~(E8CG3k_KgHp{W(_s8J2@wei{G&Bo9>mcS@8@t
z$hu(O;F}k5t|;J_W8LAMqT-$%ADu5?KP|70^<Bevy0NbtJa!XZhZvuwR!##A`2P=e
z8ko1K(m21={lCOYJC5P(G58(9)uZEb&eDBs9pi$JTW~*SK8*7y$2{Y%dJmCiX*@Zd
zI-VuKW5?Yaz6e^t179G;sV>uaRmw*2>34pPnXeHi<M<2PG`tqB{gd<Ihztfy2g7_e
zOPvWCxsYM;*t@a;*J1};@oe=Q<oznt^4?V3<4|M5Hm&*C+liVj1U-7OW+Pi`DBZ~I
zTCIA*I2-;CzGa>7O3qPN<J*9-%mEDY_&NCPgnS!tXBf`lI{@CQz&D?<?PP6b{=dfl
zKaY3aC-5Gk+Yg&~QH#kUEgk1)vhEva_-<J>dvuN((Y*oF!gou^`5t)Sv!?(y_rd<n
z@S`fCXes)*H*%bIQ}=8&1#s~9QGPXHT#e8P=V^X$hI1j}>Q(I5aFI>rJ34H~an<bz
zUpFqU@Xm#Ou+L5T>Y66s-~rszAZrEtCdHhpXR~8afDRm1dH^`0?Dxzo#%f6xUGyPG
zVJ?Sj9>(Rq;8b0JFG-^vX~3iFu|V|#5B6lc3><n*rSCK2MucwIW&`kbFO}e(mwAuY
zZDPT?`v#ns$n7%L83)&AW8uJW+#$(vAK;_}oG=Pbzqj$d{0eFgmX*&T3*>c!ck_($
zWYUhaSU-q6>{`HZo%#m!6mIel_5e56h|SOe?w}P|!||fzYzEw8Pdsrd@9BJ%_vDJR
zTY1mBoAU>8-^+d)G{Aq<23Ue$g>hc+Jyt|aa!zKs`Mw^;88LI)vcWsY#;G(%b$I8f
zXJ)|GJ?O*Mr!2bv@SXR0ocFAk3g91q*ER2wx;|Ooer{>}q(e-b_e$71R;QZo0qe%u
z3jP!Np9t0pxV_v^3&6h*DHGz=eVT2>`gY(6xg(A|y?$i7@wvwQphhm_d)<SOjn5+e
zUVL23HJYE&T$Qk2^Kp{Y5OUY(yE*ED?l$*a?VTOlTY=8m=YI@*Oapm!DbMjcj}Fw$
zO~$+zaT7-U)o;)psew&B8gU8!H5$&jsOxe61ie+rm5pZ#FwTu+VL!))N!Ja2OBttL
zKWK4G%Jr&4l2qqBr7RONGrZT}(=E?cmjNDpE+ND*%W1+_&R5F#-19##sjqzpd9*yN
z>&Dc9_WlX)2UyQ6KiAmb!r$S4hXyQk=r~#~a5T2upt4^wT^Vz%k0@{|(2ozbFXw!=
z3;QQ{U&`Z{1!n<rE$hDreXV|JA@#pu1ICr)gScmy?=z%J%lqy0_@zC#hY&sfj&$id
z?VWy)=s7LJXZR@qri3<LLL65(XyZEqV8*Xk80!^@^~>T-xQ7<^&v<0hsTrB_yD@P_
z<h*9X8Ig;uM}s!w9ZlP7@tlT!Ng>*dd!6>)oyX?;dwN9PXP4!RvDpV+W<IcF<Msan
zJ%0axD{`$}ri(7*y#awXw+NJ%k9^`Gaa$O)_F%39P5i?Xr<_~!2L<#AeQB$AP!c?+
zAHomglf1$JKZ$y9RU7%?cl~((--q}9m+%ds58nVT72^Fm-u3r^rp@Ip?st6WKIIr}
zK1COvL|Q;yL9jEvjX0FfJ_l+|3Asnp?G5ri%MDHY=!S-U&OCRkyhv^}WFkpk-S3-0
zn*kdSLPi;V=XA<L{(8VesFjfKj!n}(XGAOU96j$a<~uTz=l5VNfcBY;<oRP5^SpD+
zykN{%rYFO@FlP9Usbl6b*6^n#&$nZ&;U6;}OM@MVKK0`1o|3$0AXVSfg6C-2T*mzI
zl;rti7&8san0djN2aaSs7&Cl}m^{A+W1dGmCc*nK*6@#+KL-Eec{iS;`IPZZ3VSxY
zFAZn$nZ<Hyw#_2KeSlE^QxV!7X#6uj;cvHkd5oO9m!H7>K0mb{elw2G;p>V`F7_fu
z@qT3g5aQfR`g}?n&c`hJL@D^-Wy(aX%%_W`9AmGNiua%D-vB;kc=#~G$7a|EW%w&)
zx=-0N>0)e(Yfu90e*!<hZ|VX5_bVyuEc$1~)W}}oJ%>Knu;tUre*cC|r&=JJTRQQw
zKtgM&l|CWL|B3WeMn5EIwUcnZ6MlLC-wB!T6UcSH6)EetGpRKuPL0gRdF@WQr&TC8
z{<0%Y-iLbS;(5evI?d7YkU-1(otSrLky@~*^wi&G^*r>P^ue4g#|LxP3sVbkuANq%
z?KnP1!!OuR-!m1p0HvR=9U88%0|(FZH%g}cp>%xCt-_STdml~fKS$ZyBH-&5A?y4-
zcwU1366;TmU;lFS`s3r*&tUx)@S0z<`IH}V|D|Y;e1N%_cmQWP^g?v9898YibZdWN
z&q03YX2*Lt*ssEFqhhun^XLK0FEE#%b?l&+wdbH)rcd~;*8w}^!`>ob;bU5@!|?5#
zTeR;rj-Qy{T~Q14{X6!w<C`MCH{#k4bogAhDL7BylS|xa;vzZ9HL#xw(#1s-b%bsz
zccvYm<9Z^sTqvNZ%SJiEe2NOw@eS-YisG&mb$HPSENE!=z?f(+WIp(ubm?cm%_q<y
z_}q?m$l=VBqi2Q}F6+SiODAH)982i)K4f{VW+nVQTC|{OelSoQ@HGZ*Sy8mazpS#V
z8uRX*HMJpWg;aFsiluk1SiJN$sXWji6)lzSSX8tO>-TT0SYNt!g(Pj-u&AiW^PsD&
z!sB+8V`fp)+}ft}X(JHs4MoPRbi2MPJ=|FHctBbu&E5H<bgHZ^T8QS^?yIR=;OC)d
zdtke#*0-yEXGn6alJ0+S!v;*>G0}8_4|jcisHSd<R1w_S7z$KL>uQ4AAM*tR>0=m~
z+sG8}SWsD0M{CQ<HkLsKX`Qd87JEYVQf<AjN^)<wL#j6RFBpr!Bm|(VFD<^kh%*go
z($v(|ggnXoQ!vmN2tFEMku*4e{r2tkb<l%H??DmO!9c)M3A-e8pv`EiGqv&qSK0mR
z@4p)|jEGQQ8G<IIV4yk>4Al7pELP2S-<E(hZ*Jo}Y5v@rTheKwjXu9W(AfCr!Bz!A
zf#CL<I$+-#kTjm^tF`_pQq|C^K~J0YRQW=_gftVeps8PDbJX61jmx*yG(axa9Ge=t
zs}JrP<69GpW~lpWTZovjM`Kbm$B1jV+#Ab~8C~V&Ys)HDNOK#dyXID{Mr5!fB^+q&
z=Jf!YU%fpf)$OdUg@Wg6PdZYd|6PNQm8iO=!Na0?>Kg)en9Q7(ygm-DRs$PtFT*jV
z^_opL`TX11wp#<fsz6ZkZw>gjN!6M^!*#2IHID{@jSFk)@ehO>;8%gVP)%r8!VDm=
zCA8HO#QwzGM5bYerFH8!jdP%cNQ`2IL7SbfF%Z~xHFJPigKw8+ZrvfP0*`uX>Z<D#
zJm`EShMLkE8v_2s%m|YS4m2KDNE_>FcS-f|O>L}sk}o9rq)^TF0F*Maaa7P~(oL+|
zu@RF*?*Ae1i1Juie|=p-l*-!0i?ob{PLbKsa};J4YcslMBxtj;F~wuXX1Ejb%9a}B
zzn}-^=6S4Z8}GC0e&&h)A>%&h>igbUbK)QNd{~nHANl(H{_3Gs&;9y~_5bvvrgque
zl6%gWzx&g)?Hj&-Y27O?-m>ZBuO6Zc#(YZez;orF<=*|%TQ{ZO`}peOxG{ga_p7(Q
z`?CMu{VhLVa%stXXZNP-_>YY7^G(M1;|zV>^!w+H@!Q6}=Z&X4HyIAGzunh>tXl8i
zrunXcAZh-wU`;5XFMKyc-(QuZKR0D1<2#tGk1rVW;W6u0W1NKFUt8a3;7<-T9SX5#
z1Q#<BLim_zySgFK)g`!!W4omLG&v=hvId#Frcv_MvgLP4K7R<Iy+A5u9{99s48gU>
z*<a^`$lyESD#lo+ZaNQCl{t}|9LR=#8v`NFR$pCJ?SyhShU$YzMi5+wNk~bi|Dhhz
zeoX%|$8cAm-l;pQ1`&B(hg7tO>8B>V>4)Z+<{NhH(*K_9!p-{lwpseqq%RxmJ;u7t
zSU2&T>oiZ_XRe$4n(Mt|_M7~e>se#=oAF_;7aRPV_;p#Y{u^<uWr2oTUufZ)MN1cQ
zhl6}X<wnHoIZrzP94J7IxHR>&$#wtwQVH2`Qz_1{MNKBfMZGgz-2ZsCE_Z`5o}Z_W
zFBoGJp2m(73)ec=G;mD=*EDcV1J^WgO#^>D4Jdtg|8aQ#_jtEtm&E?D?XO2?VoZ4V
z)HiPu>C2!$WfJLoLH}HQ^7OBO{)dxDKMeYBO(Ojs(0_Ik>Bm5S%Ouk0|I35#wfNgW
z{9m84)&0T~51lG`1b>5I;qQ1y`uK0o1@!qF?77SMZuyMd#s4QkK$DE`3<BQqZ$=E+
zpPk<S%xi19_WrE2tL5+9UCJ~3|3MC%CPC?202!N+U-;el=o}+qZQdlxFN6M+Nu=)u
m{d0qp82_OE;Uv-zgZ^8SNWTa4pPfYdG0@*KiS*4=`F{ad>Sr_n

literal 12296
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

diff --git a/Platform/Hisilicon/D05/fip.bin b/Platform/Hisilicon/D05/fip.bin
index 09526624a3ea897680f286c1b37eb10de32135fd..496a9b8261310b0767fab5a4c5ebc7fa0cb699a0 100644
GIT binary patch
literal 41493
zcmeIb4_s8&nK%C2J0l{ZB8*Cil{=^rCnf@-f-&JTXw>}E05)#gzB9vsk%0W0(O|T3
zG<MU3c0XRj)~@N+0h3myP2;B8hD~-w^QY~aZ4DONx9z(b(WW+Tca{8+X;psT=iGaT
z89?jyeY5`F_Y*#j_nvc}^E}Ua&U2pgoWED1%24xX^Ha(Ab4C7r?EP7H-T%Up*Z+Ro
zkBX8G81acYCWQW6_VdK`_g(q=-Ov5)>{ZA9>0x@sNN;F}hdX)vKfZnG{hoVwZ~wde
zzWg7Y$!^or{}2y0EHtToSd@tP&_bb)EK;beNJ^ou^qzN%EIk8DEIq~2_HIfk=pm9q
zl%mHIz0#dYwsUO~m3K+B<`jN&5~wwdrzF#w*?139LC?FR5NDYbT1wRVdHlBH2VyoR
zsIKWM;^!+e|BpYn9@Ycm|MNt4t;^y%d3p0ccU-oR_CcA{fz0Qhm9sP{C(wNw{Dv)Q
zA(;ZDcgxf&B?L-63AD*`lr%Tu@E$3~GazRbBCb%uyJQKJx)Z3-{T3B^*3u?-uT<#i
zl{EKzQX!2Elx|I+&aDfm)00XO_s6tp>l4)3hO&So@ROz47puFZ<rI+uk|x=7{CF?4
zGwvNyA>)_cpiP;T)cHYKamVG&NB46X%={Fz#+6A@zg{Zi_rX|-c)r-y^a1K2i-Jw=
zQQz(Eh5RbUs~uL*-T_%`Po@rcLUG3jW7SB&Dhb>RMv*NRKg;D+BkuC%!$NL$i4KAO
z0SP|~eiY2s?BQ8j`)2~B-sRa^w?wUqRqdqa%v8lnoxx3kQYD2tFK<4g^KM1?=PW;w
zNtx$Vl#^_GGqRckrD`HM7*6CR%HzDuixmDg^aC=oQY14G&t!@S9=pEX&Cko5UyIgf
z8u;;L&DNMVu1h=3(nf=yXxKeVvmksobmy&sf!$xkk7e{-JXvSw4J}*XR?WU{wzfSJ
zWqW?MHU|2pTm>de(aXOJ_$z^rY0C7CZf}Abv8On+XU9`S?*De*8H+8n67)}5$U#<`
z??(D5#O+6(;FF}if#*+*{NBlGq%u{F^ny2gzC+`5)yRvsGT)7K57NH__-FBh?sju~
zVtl79a_9_xzs2u8{C<buYUlvh9j$R_s5@>u2k5Lr`)A<H<Ftfew~BVD%T=%MVdd?D
zOlXd_eIm+x-y9*6VLD;JWTgV8b&hsFWHO7?NCJLK$<lI$MjhKh2`x@aIJTGMbGJYb
zyhP>9Zvx&=ljT??S&z*?y`!$?kHXW`pUay&MSXwtIl1Ga*V4i5`0zZ699~F~k0B?v
zJ0AegMT;fWZ?T4k@$b$P{2yg~4a^n%Paj&R228~?z`Q+I`waLG18=)m(%Pm=TC0^>
zp)ZaAQNEDjZ*(~XXQ`34xoV`nMAF`|=rCaurt3EC6zo^8#pbAhyyrpw!CL|Uq@+zW
z@VQae_IYXqwoSA#YPemS1h}pwHF9LU8rdq-Ij=0Yl#HTsg{WmK(Ydo$DrY>Wpzr(k
zN!l0#R}i@N0atLL8p$Nfxn9VZxW3bKqI{^}V;u0mVxfawPSTE4kk$)4+n`Hr$om0o
z-l<gTTtjp)Z8Sx=P5lt~ncg2!J}&Q9@eHF(AAQb=x+q4Sl)#q!$h1=js5uw((ok+o
z2=&?OmjbEh2L`4HUS4Bf(n1xorR6h7JB|3*_RRWx$|5-|iAVOh1JZMuGpMo5N)r$6
zBdwOp(?t_u@@@2aX=32ftb#CTIIW~Td1c^`FM%F}{ml&kF7PkDg7<*`Pr$F+(KiHt
zmp8u>wH<5+f)-f|rcop~1wV_V1#d=~69TDivnbMjD@FFrrO5NpwHKgk-@1b$-!1~&
z9n^Wah&tV}T1csspV>-{psjf(vb@o6Ain5;)aXv8@*jhjqMdk0Usv?J)Ck=ye-iu`
z{akA78jHBF)ToZe^KGfIZ32};UbeP7)XuO(`N1^k3iU6@QfOj3Xu2q~=0)I>7L#T_
z|HWNx;G5fYaEcnCE_;g&ZEZY<ua<Al)$#>8TdDsC!BK(Izk|#^wAhZJenVvjFIUBP
z4L$;pK`@c>TOpSnz<CMv@Rybgz5QQQF68T!<UnZ_%E9%cpl<%|2JulW!N))wV?LU|
z1Du!EhNy1-*w9Vg{-U1<iMA5X)5?(t?>5sGTF^eW!hQx=57tdD@Iv=lwrs!6G}f_E
z>%1au25j$+^R9x!WUWyK2FinEy;rm!$RajR5cp;wkJZ4*?MCktbl>UBz~1heR(j{m
zzz_S_*8skA+<u%>sVounwvu#?-<Jc=DT~E%5`62v756!TZuU7$Unc600S|CE2>Fh~
zroca_akuY%I2M-6B!e&J&4n_w0Y8_yVqjo?*djZ)EGo*xyt<7tL0;!6oUO4BA>PS+
z*UNl)^Q%!C@DbV&7(5S~d;U;ww$>_VYi##nv(cwWA-3O>z#IBw2XGxA*!?W@!$Db%
zY{Repb<)b<J92tB&hDp$etTtLcNzs!Vfbvpo6(kGUt~GZz3((>-#{KwcHm;YY%5Va
z1NR+jf?m`dK^cR~5C%TZ$FK>&A?SzmwVxSyBd8<D*zpnCyKdv&H1x>ucXj!)E}bVO
zTa%K(GwiwqdU8Ubdp+t1_7XA*z<-RbpBVX|&pkX{)KlnV$m1jQvme6dLdOm<KN5bh
zK?kU7v1Wg5zIHSh{b%xmk^5K!rXmk8%NJ-%blpA=9HPGLs3$wxI=A=s>5_ICeK7k>
zU8Y>WzChcFvV;Fry-lO9Lx1Fz)lT@i5%!@gNN$-6c?HcpGZu2+uzM`m0boyACZldA
zh4!H??f_gI{vR*YnhpFc@8EPbQUTlnnIbCDShoz{mizlmiY!FlwoDcMqvT-Ob6<FQ
zvnl_p_|0^ukdb^7%3oQaS@rTmcJpAHbbp8ILT`6h@x_AqI*!{1<vh$6Gho^oW`BY9
zKFUN^$TdZc45u^bTd`lo{#69^%|6w~sOw?4NvB^i9k|aFh<ZkQh}Q)JMxLSb_%EQ(
zZ7h(Lt))Q+Pe2EWb!JYXHWg_q>a$eW?~!$(MA9A~stYNLv~gT6<SpU4f`7vG&+Y3a
zzy{6wKf6e?0ImQqKSX;)J3nx!{Z1|266p3kk^Y>0-G=_KWlAW5cEs(K&>jhC_J`;>
zyF&24^)~whq*;N3?f2HnbisaQpu833LEAp?w^^iJtjO1NpKMY{9)&jUm9%}}gWGr*
zei@Hr+3#ciz6M+z$9@>G9KLb~`$Ufad3j)W65<&46nJ9T7Qm{P2j=g^SYkBNo`nwn
z9Br0qeGT}z{iFTa*v^=~4(lTOWD)4E>6Z<$xx?G9s_Uln4%AutV(kko3+4^Fc>#S@
z0Q_=Wx2yS@2kjx&UZDPj&JNYxA-c1Zf}=FMV$mwbfd=${iAf{Kee=lrUu31mBj{g-
z*qfc?P7t`VChIzu%ebK9GRBL{htbESn*F9ZmK}ztOV;sZ>3A}MClljNl>NA{lh6gC
z*;<z1HBdT;@1LT5$cJbr!|<w-z$^23;%fHLfN5u#Ef$SHBMoI3HYPRT#F+G#7VTr$
z{Ys1v+!#mhgWrm}X&H~a```!qAxAgTY-DTkC+V`#`-azzzTwaC9fps{b;LGmWWINj
z0V8Js26ns~dOITD23#-08GKiPw@UEMeQX<9TbTcMk^lO5*KH#7{kRu(;)Z{xT4??d
zJv%^QUC(-XylS<MWTQ|99cDX^S5eM3@W6e~4Csyr^}iK*R7uoXf_IEX^>(_-s-3^2
z+p9r6i0^BM>w&=w+d{Ofr$7g~g*g<`ZjNhL3B%eIbeMIp+v%RIEot`j@5R^;Wi4mj
zB#gIRYwZ0JWMH?_gJ_$btoO_-!dg)ZUGTt0Aug5s6UOB{eydgt_@YE=WS>pQG3?OX
zz=J#!iwzvyc2pyu*={V54cFNz=(?MVFbAX0?U?B@(w$S$U&6MlNM{`EpACfrzY)8F
zISjxlQ8+0EPM_Q1vHnN8AAFqqAsOX$f_JlzawSva8Km#WxEN)I`xxkc0dfj9d;7b9
zn|;KskO9WEC@1EeP@Z(aJ+@`biS*O6HO`Y}nbN{}zQ1OAKgN&~p9Br?-)RFZL9c@7
zFL-QhL7QZo%;n}efFSyaNi_@m7Yyz9x?q!NwAMQTb?qLlC8MrS$h!WpFZ>ns_biuk
z;2%DIHpi!?j>E5kth|Z*q=QVG^D4+YRHj1qfOVp81^-d`j|6K4+z$T17l3{r42+0Z
z*J-XRmbV>GlsjZk*ZoJXH}2P%ANa@)9xJX!*|;y#ZB2B}@;JF~)d=}T-w{mK{IFfI
z<9#%&<E`ztYV3z|eFq?O*7-+)k7=Mi&F47w!`tCEHyiP8^hZJXUp)rhK_A$ZqtPz)
zIp5>0+i!(mZwsY?-kq?OJ|~CMLMh0PavV45I>B!V<23vS=9`p6&EA!)Wz7ndCZo&@
z?>6{!25;3C0v>$k6JTTEE3yNnXk!PwbH-^;!*0aN#*~4W)54qs%bCm1KK4cEJM{11
zDVYu)#Sc7Vj&qF0ddYNE#IZa&finR4c;Nf8&F6Yy{RHpxIUJVJ7r@rC{JZcj{Fm*d
z{U_>xamDE%#u=A4>#{>RC_uCZ<0moK%wcoBo#&M?=iH6C=040jcVn)(?_S8ngLvqk
zt=L)6W547)Vej91g3f;t>d*Zr%7giTdthI;T@ihKXP3ow^0Z}IC}2|y+|WbJ5AD7T
zzTBk8k4i*)PN8=KGv3@o$?C4mY`Rc_aS?rkG|T~MX8=EHVBiqLhbLtAtDsBC&J&r*
zbRj&txL*P6d%*v5z;yxtj?YpG=Q(3Z2<-sg-{GCW?{vDO$9vzZ6WiI&DzER6NNR!2
ze}`!LGs+WVd%$~3CdRh=U`O_1O@sMHo&H>AIHF@)Rk~0ETA5q6?dNfLCdTF{PkE+|
z3b;H5{Bgu_8?XgXcOIGYo%mUD)K2biyfh=pl0%(#|Fp8K#G@I-TN28o8Pr*9qf{xI
zI;HVg6PQDt@Jl-FZoC5)ZCm(UVN0fiX|PTf>+Q_uk?0`g)z}6;veMPg-hsIb+cE!;
z1>0tZ6})pk)U@ayHs;=*o844ZTjlXp&0dt7?_F3?xfTL)Zm6#HD~pue1&ih{STt|p
z9Hp$PLCKx3<mKcpM0!K5$3J&T&iuI*wRtWMxO`Rq4Gp(@siJmXuB)oSRb98XUa{Y)
zJh1w{`v|dvV6IpY;NrgrR+g_QS-MD3ocHA|QfB&+IEO&K-cwyC(B`@P^?KF@Pm^c8
zFN&Pe-Cj{$$E4?pm!+kpD@%b)x!Y4+TUDv}>y_GiPbHAgyKSD5J+pdt5?u=>*MK47
zY=WrHCN)+0s+u-dxz<;$7ct)Y_3P{Fz^F@q1E*`7s;XQSkY|)Z5#y_Vd@$yr;?f6J
zJg^Kb4suvu;YU%GrmD47O;vT?D(1R+z2}iCW!6mJEQ6zwGJ3q;DxdHAU@NQqRZZ)w
z>wtY-l_GemUn|~YNUep?40<T1tJbrreuF<+8Ug64^!Po|sFAo50vDXepo>;>Sxt2V
zips*Qu6slQnfj(pi<F$^nYGQzZTd5bM#5{<z}2!C^(5*|aH>Z{YrELFva~#jip$ED
zmX@=oDT`-T-UUr(or^*(U9$o}*=yJPmAVbJwNRIA@uYB3{CeZs>IN5=&sE=0RR>bZ
zx5cL$>`)Z0R)EEpth#CaW1gleWre8gRUU5**ZI0CPi0k;;$2tetx?trHNHKGDx0b|
zRyFzNR@dVn2y=t0s`FR-H%03L1Rn9Pb2TA<G;Sn0GQ-N<D^?9ttSGCDVv#|cmC;vK
zRdcmE0kH<pCQ;{l^Qx@c7;ge}zM?D%q4^rBywR9JCZik(9v3Mq>uNVC_0U-n7V6~j
zD;~vPy}k-U8O#{dm_+GD7Ol?UV6HfF|Ahh%3Xcoxt*?s~1-8pHNIB+<9uuX-!i92h
zm~$KI1N-twwGU0yh3e&aqze_AZ0Oz4{Q%R9_}yzS-}&@EpI!02FEqEQ?(Jzi7U_C8
zbYH+M1Af%;Q%{%uCT-bQZ(Wsi@8fqBeAR#-x<6otL&x*V5WQYygx|h3Uf;iBguiR#
z`-<^gr^dsf!LRo;z_QkRYlN;E4J9uAv8HN&m7Z{EuAaX#Pk*k;iO07;R}Y^z;)6rd
ztwuNwzqhvDXW)--SUMEimeH7)5kH!X*`2Lzh`#D2xQZedEBA|XDyYh8SoCV2;;H4D
z-=uiFel+FVl@jJbSzF!Y^Fx(~)xXXOk->LVRgADs-BcckDtV-Ga>F&`i(cBb&Qn)e
zJ7T$g{`w{u9~4}NiI$Q~{ev$f{!INc!%$b@02s-5gr3*m1L9%osR?iDp&8CD(d+N*
z!}>GbsXyl|(4Qv#UmEFWi}iS$k#6EQ)3c5IX1d9*nchDnzsZl8UN9uT**?s4x52N8
zUoY#`|3^C(h9K%U37?6j78SYC;&mG*48EPnq-)A)Rq+EWN)%YXRVC=Na+<GB@zaz~
zCGe>PK9#^HErCF{g!zaoJO)-QJwtz=G<A%JyHEY;#?e<n|Huub?*{$08%RF@`rB?G
z{UGRjZXo?G&@aA$^uwTUzk&2gLi@jg^cB!Q^~W37{z3o94W#b|{k9uOKLGmMZXo?2
z=zDG;{VvcizJc_^pl`o{^v(XA*NJ%VNMZ`L>U;n1!W=s9{hubz1YqvH_0$zPMe5SS
z;*7w=yL#-+lxlAti{GTw;)&CG2<HIo`2BM#_Lk#WjNhwx|KmhzJ*-j>pAYz76U07L
zu}2F-q}HYQ{S)@8ej^3*?5p0yRw|-OEP9B)upSP6jG1!$VJ^LK8|KGB<Gh_@4RiW7
z@$R;0Sy=DGTE-!QP38R<40{ByH0mqeit<_?Rzo5R)`fw|7QVv!&~WYnbLr+Di)-!4
z51|aazONAN1kXFC<411nsR`z3S-f7IJWo42j#@puo&(<Gu~<I=Pakj`_I*d=!1I3~
zE_NS=xfc6t><i&F!g7iC4I2B1n9izsnge-I{GE~&VXW_f2Ms)&-yze^QHVqM81Fsz
zB7O&cFW@%{a%FxQC%rvSyJ;Nb)%Ov+hqCk974KQ(eGngDZ&)wZSiD%Dcphu}FJN77
z^LVqKY}of}J2o9@8xi+B_A9)Ay=!5M6?JG0wPXKx3DWA3#`GwhueIU*CH%}i45*XR
zW8<+NpYqLa)fMbB)-c3cNPq$hrOGuYim*1^#r3tAQh86IBG$SB8C+ld9$Qz~a~pXG
zdek-ndq?`e-Az~@meytU^SY0OHuW0xjn{n!_bv{~lk1P%g^=N$8t<Dqkqp^FmnF)~
zlc2+V28Q!)g+EMN)Ln$Qp=-C`r}S@(eP}_fIf`;8FVebz3v#z{UJ>`oBJEYgJq>=$
zIwj=A{&2B}Et>bscWD1GH1C|n+IJE6IP!A4!J1sD2S1z_aC~0q$lxA^BIr7=yGqy}
zaB4KQ0>9XE$@xrO<Ml)HJyw>i2NvK(e&~V}I+}pJRFG}vVrpEGK;^vNdI@!zc}Z&g
zG1l!l+|S`H)X4j!IsBnWr^d4gbKB#%|KzyWux9~laFB(Fd!OSLON~!k^nC9LJW^wa
zfu~pGLAtD`{~L!@y&cQeuXL;Twv=XZTV9+pPsLgo)8R7|k7HdB>(7u4uWR!jcFB>3
z_Qd64{ekXc-P97d&TY1P-WO}iZ(AajYli&nc>g}10qQzj`j2Q!jQ1Y}|I|1ea^~<4
z1pm~y-{Ajcge8?8oMDvrdz=m#nD8MEUmAq}7Q=VZgXso*JEucFCj2)!yhV!Q-^1{#
z^dPTiGySh|`fF0-3WJ|r9KM8lGWhu$hVPOdq+mxk7EVPOo@N-xbQ@p@GG*I{HDe)5
zQ$Khuf94Q<If$@nKUiiiUFSkaP*-iR86}Wg8*Bp%cnxfFIqP1XLF));SwPE)`kM}V
zPShW4btl8{xq>9r-=MC(z8`x`4PAX*?0@1mYj@wNNm!5N_QU$i_I(@P32UUv&OnBU
z!ycLNQ+vg`YQUNB3hIS*n(HcnJ$m-!x)api(Ki{gR8R-Q(_ZYGz-f^8@U)IT-q)u<
zww%U#KZx_iJ_>a8IYB>bo$?CvWzy#TJA-f?eP|ag*aw2O-YE;XjhKAI!@U>>C-^mZ
z$~N$EIYfCtHx?)FpEY?jaZ>w>Bf>JDQVLD%#TlwBp%3J+--&f=yqjz2VYV^6cga63
z)t-EF9;b1>BIq2qz28F)pfCDJQi{+&-lb(>AKBw$$tEQuU&9wq2>ycZPCMjdS6<I>
zlH`zsilD*k>hkmM&L<J?K|K0+hxELjX3{x}GRwe)HeKojJ{2;w0$+u4B%{}o<=8=T
zk`?%@z~e!jlk7=OvL?yE!#K<z?-xbe?&I<(z*Y3&1Yw7YE=_23BV3H1lA`NX+}?BJ
zJk#NoIO_+Sc`B3UA4LDmdawX{K7L}f#g{m43pFk`!r$RO96D&*BA0R7{WijrtdyEX
z`@2yF(Vp8m&ui3Z;`k<qFAd_@!#JR;CXTN~aeTLXu7N}2Jd33$j<0ffixlPKX~qHl
zF>!n;ierEGL<2{F^SmZC{@&ny3x`q1>x^(S<ACm)IQ&r@-|d#6gQk6|L;Pvz4C?$q
zdlK*GvS>$+j@CX-LfIi-^l9B=Kok398`r^RFdXfaHEFrO0KQC$=gamMg)&b*ggxfv
zDcM>IU?0Ms`0|`=6cg_%-dAO7+~+*x#(P6H%r|tN@#I(qE#9~KE7037{LZuxY+Gsj
zJV}G{w(eW0b`~(~FLYQLd%%7MSk)RRouu?+d?f33aWR)4_4~9@{sIo8Zn;gh1BV^w
zKZ~KSXxpV($jiEU8~EUQzKvl~r)J*S97dfE%}YjJFY-<^@=g<U(H|OgGXz~}SYDIv
zKICPa#dIeKx`TPg3cADdnsiSiFP|^uw$45fw@=2yvicq3SyrZ;dg1ea3356lQ{LYi
zGWr0%O010jlf&03qcaQ}Bcm{fuTw@ng6?2B-w||&mvbZ;y(Q=l<~=It4$m7aqYW`K
zV*l3Mw>|V6!5-)v*B{H0Wjg3X8hd%shjJgr?PDHv@CfSo0{X!&v<ae@`r6Q5U|$P`
zE(b<wo_1O5of0UW1-TRInEN&SXXAa1ydSq0c?Im81RXX#P&$=i;SV!Du206-hrU(7
zg>|@g>={lKI0LDA|F8GC;O&Chm)bGbu&da^m8kAgn%(_uLlJkt?oN!0i}k5s8y)T>
z=ZXJd-wbDkm|r{g+bMYZ64VoE%83l{aUQlvBb-Bq&-!S1^xh292hnN3W>`T}>B<m1
zU|eGdEcSK@ScVx&^8?T$&<n#ahyFU=;jpS|v3NP&4F6R4HG^l9nQ!(Ld2i!BoEd>n
z?7;aM2cPw2y!)_!QH9J!-D4cYvSeBCK0FGJ(d_OqnsaKP^q<CXJG3}{iF~I9UQM;+
ztJ-{Zl4C=9Vy7=9vD0r$6n&s)YGS8n>hjKt21WCL=VJ6nJReU5swM>$jk1?_x=CHA
z81W`ubKhUoC*!?{=$rUVEsy81C($t;`aB8!4P*=d&K62y{a$SLFSbwuhtWp$KFSu7
z5#~OM^Dz9Cu?QP|)IwobY@rC^2Ky*m=pzoJt(rJ4a31tgCXPQuaeTM?76Zpw&J*pU
zY@st8j`mTuP?+<ek1}!mCW^!CqimsHaGq!%Wec6)aI}xIg?`3)&_|g#jzw|keU!y$
zL)-^_JeKAkMjy0)4CWTte^C=Pr%lzoGWPl{-%wD6zUcWc&u9stFItj#PiHauqa9N-
zQ}_0dZd?L=-jT95BLVo95Yo^;nQ3RB&rg!Y;f4H{q}<bK#_vEL?jr>}`Y<y-4jy#O
zc$0>S%b9*prxWyDpfAJ!O*3(!4>a>!H!kpH;@S?roG43)!E*`vvMlJGTeLqFI;3!4
zeoyAq%q9h6!$i<USoinP-`WF7TGpIE>6JukeH*q<1&^8Fu?uIPx!rT0>V`}w5!wM{
zg1okO6EMERc#!3-vitx?M!wUKAInaKEPAqfGR$~8c(j8@52t~DGd{q1k%qY|hZ||d
zkQ0HH9r%jC2j&J!Ij@<{ys-Voc(RP)&H0L0y8<4MQ$T|Kphz0A4ALC`19Rp)cY^)H
zhmbDHKOIl%O497=Sgkh=b3!}DYThyW*nOow_KMmZY_7mu%;5MP_J61Et+AQ}d&qsR
zy(?FH5i*R1l{~Ej;WhAC{Gbirr}cm0cR%*3t0?nNAZtbD^95FoFwdo8?<^7admHBi
z{}uKmwoE+cXB)x$z;~ft3@b-qf@TjVYfkh*-kfn-F3Q37;3;lHYkd8>ob>(TarOr`
zljjh4Pc-b1WAli(lLhXIWF2>gz&$C{09f0adHsWX!u5VA4!^K(*poa|?&0wQXO;~(
zE5~Vko_YcL32d-U#o0l}QP^PSX;?YKdO5QuA>Yn%+C?FA_@&N3_hr2Eyb$K^I{m?I
zsjV_4*;AIBD8k%St327^N#HYvlk;rU3SFF*%JBhtQl2fPH6sj~zd-%qJdeW-IL3k5
zOEIq{tHEvsczP|{_XM!#+d|vAE$QFtV|!$=@OuzrM@y(ZB+dxUS9pIk#<iTTBx7z2
zdxVQI&T5s@^D3}UoX_1K+>Ueae?yVBXE48sJ=h-H55Q+1PM{2|PZH)MFT%ESoajHq
zxyRS{ODN}s<iUACv7cSkAvx6JclD&L@%NYDIUoATdQQP{T3glx?Wlq?E5JQ(Xgw%K
z-P(0|?gPwTv~RSPa`$%ZX_wRmo)Df1+e+=t38}&KZ#4n0gHopUOh)-6+&NN|+}ww@
zSWYxq$O~O-ci0lxLldX=6i-~-6W+SFG<^A`CbZ!s6>)C%mrhOXAw1n-e)7F7Q^j0!
z5YNNK)Pw#{<N0SUFU#W~WWnV)jdxSuxO|s4zrLUD8?W`^%)q~nX1T<lspWRM06$-Q
zp>{HBkrt`3cAS*cjuj&A<dvl-3cYEXkdu;vvw=5-j^b{a(>S}z=QBGoKk~IPbZ{Zs
z>3sacSt)4mfmAsq(0!=as$m?ma}j<n$PD}ZOTRBuB>iV8+QY9;)IPwy4O`{O=eFa{
zfqghj;Cp}biM5p0@`hC{d^1rk^se(2yd}=Nq+>qprcgV^Jbw>*LBL9s_8kTDc9<V8
zB*0;>d(D2>V;B1Db!?ZBpZ(B8{XG)E9J+!tDe!R)-HbY6I}(Op!no2v6M7#BTQWjl
z0{)3eZ%2GF;u((<_~D;H92sR!?1Q)CCu0oH_SS`YA)b3Vg>vUF&nj@@><*uOY)znv
zKgLr**?A5hBGKxAdok+B)KzgVvSvy2tgapM<Fng#B~?=r<rd3gjKT24nS)OI4D?s5
zQ=rK<kK0Z)=(2wB*bsO1KnIY%MS70$2psElpEf#2i*wdI?^}+w84BMV_1zyzh_~CB
z**7<x1+EV;cfJiYOnV!$qOFGamQvtAQ>H{UZus`@n6S$F9TP6*Fy^Etfj^c5b=mmb
zcjpn@p(7>2cEFY$NyL3RSif+O-PIkO*xtuuUIk_1xOYiEXR7B-gYG3dJ_8wsx2i9r
zEup^BLMCsq{Q#Gr+q`|9Gh)kD3+Lh7QXbCDON)v9KlGvKLt^eTGW)EN^3C`Q^G&{H
zKK-1tuuI0g3!iglA3cb(y6l_7f9<eCW}@uwNjUQ}N$bV=Qod*AH^!Y*r(EjGr!u?x
zpcBvVy)Jxim(TjXhP!moFCc8=d1D9P8?zj9^9tlbwa!Qw{ip<;Y!m%ypj$y(VE6#e
znN3F<<vg61^Bos+`uaP^pG6o4{aTq%wh!rV&ujS@@l#M|g_cR$yRxk&8G1oAkM+BO
z-~Q{3{fz%4+QY>x()xJ}fX47U;E1KO0C=U8yL#NX+aWw~xDVxihS%xreT6-4OV=(D
zriWiv`fiG@WnAQb80pl%X&1-yoc1{Q5$4#G=Uy%7hk0x;8$5A%0CtGS2Ha*j{3nDZ
zj172ho5S2!@;JbR|A51=DJJ}XGCals=?45cPKVEL!vBuL@cB*n(+m%vpZ#LS|1PJ)
zzh7bS^J@;nzyGnp&o3Ar{yooa{}Jt!^K>H)eT@Tgr8^K8TfSp4Y2S!R`zB;#!mUPs
zJO*L(lVYvF9NS0Y&Sb})#f4A7x`OtTh4#beX?b0-9piDdyViEhhfDD3END-5Wx6=a
zHrS?y`#0>9T@BxT|A+AvTsOW!KNamRgad@aKA3#UIFsmhsD&zYcO)CbelzEr`WNQ=
zHS}NDX~-CBgJrxnm}SsBh4BH?-G#G(f*-WmAh%icU!IsY3p-i*BlyZDe=5Qklh~FI
z-YdjoXYS8=tdI3jM+EhVbF&WIhveY<nz#@D)2$S_h_ZYS>(#6yY)9IWb_cifg=*vg
zo`OeXEfc)tbN>VTQQnHS%;R4_p4^6F`NbN5I0MRe8gO}nj1x8^!>}3Yuo?Ntx7jio
zc4Jaa4cbI;O>_Sdl+g>j!TH?C2mKM}Twy~VOrK8gd;}YkkGYCiUQ1B+7lcijg7V!I
z%7$EG)2E5F_<N!v=zIT!y9+LFHt)QN*9jdT?zKW*8FhrR9pE<MfnHcp7sO*Ib-Knp
znsv}+88&wldiKAZUvG=hj|1F?v98SnJqc}**QB-@_;_6^$^-XlVq9dlzxc8=ArJR|
zW*KDL_33xzb>=IEKdr36xE0TBs8@1JS_*WL!?Xr-TUN?dp)Z6r@sVUS1$4~vM%#nI
zquCyA>DT?1d60{{4($eK3o&;W>4Ltzhp~`{<F=^J+Qr=>MJKtR`4!^1om}QKug18M
z+sSRBo&00;-UM;>6>Wj<aO3eK_76DN_V%KW?L{BEZ#w4lNEZDp&Uz2_U5IbQn23%P
zU_22h?XuD#E=LyH>~`?w1b<FERp^Kp>Crw9`A~VV>*!nY&hZmj28d(2d^gNv;5mpi
z^fl+Fpv`;)n8}cB`t&K<VWXc7Ke|!$v(m3Oh<^4E`q`5){Vb2Ec}*gg?&lE4eZmg(
zjj_Jy<;`!2bxBc|pO2}_21)yS%=?*sWVDVEzZ*D29e-Z!9GnZ*_a*Q>Zd~uMS>>Ge
zPCu`;>Sy(TD&7qpg|Ei8l+WnrPo=V70;jmcC=+_59Np78jmmto@=PG>=pMI>`ib-1
z2Irl*Z2*tshtLyq&2~L#qyAHQ|H6rZfrUksR?~vDdxA{j+soiwDcc*KC&fJ`-K*cu
zZwbh0V=*^dGl%=^$9?@l)F<VT)`of1bl6P3d&h^nSokgsAy3So4$fl^;$<CU+^gTV
zw=nLHDFDAF?OxnJT5~UOyPuf+T<}qM9RB$+_}T86^)-lJm$i*`lKGm!<CMX@CPaIq
zdreH)$BzHR{W^vZ%5}i=91+a5PQn}k-<A49IX!hXsS7A&agRi!#e9Grvh&Eeb2Nbp
zH{u=RaB){@dgWi8kT6c~n!Go|oj{%b1o#UWvturj_b`P1h_Y-NkNaZe$*HTQRSN>L
zx~p8Kg#&VCO)+5X#$BAniIT&Ed;i#HD#qLvr=OI!WwgpSmr08PrLD5$`1&pBj>(vh
z*a$e8`yJG=DVxFjX5JL~%yx4d^j*kii&SO>JSi9-qR$Oa(bv^wz}R6Qk76#r2;)ZB
zmU86D=lwgphQWCx<gsIX$8#3O`-74~g*-<pL++T5D??jP73;e*s8F|agMJn3Cj0hV
z(RSAXr;0fzt~0))jD4$p(7As@o7o5bVIK=RHPNhd9>eSS^!h#qIMYt@`odt{#?!Mw
zE?Z@(X1_sCfz9N0(hgdGFma%~?V!nRrZx5145o|q2HfXmGxnC4v<K}a>oMC&=-PP+
zKh|vuOwssGE_-;2CKtgMfj#{P=%uh{abp#Ie8Dyq%F(Jq&Ku#!GCkpYAbu)%Gv7J>
zUl9Hk{2})fUwpO=>95Gtg1LJ!_JDos=5fbZlrjA12HhUk==P9(hC^8d(=#x|0v(IR
ziTn3<!w#gr0lcxa(?q;pE-n+7$9Z?4^a+$DR>w?xY1&26f5Gmzp-%aJ3J;zN>^|!!
z(=qEP6Z@$2y8L0Z|A8#^HC)sUWGnWLunwpglPQMZA<e+N80Ig6xO)QS2#p7yY$sJ2
z_jV%RcTf(_!)tGCfI*o;UxXjTFuWekFz5$D%oD?PT^`8CJUiwx$d(2E*#2_)E^q!x
zoUWO5Ov+7=MY_gwoYN^-YK1%tArl4fX4x)p{y|Kc$kDa;aH-k1@>&?*DbWudal<aN
z@5k%O8=gon+XCJXV}I8=*k;Tn9SA?_jG&FNEDwoyl%3~C*^YBx#$`|k2J(6Tm*2VS
z#D~x!eSLniD4!c?Hk54=!!s`UqT4PF95nOtdNTK|`W<ZPp;tklbsFsher1~DZOBbe
zx4~DQ<oF0-uEV#4Um5R5Uf%pKaq?OLTr3YUW`m5Zm*V#r8U0kK2ykXU#dA4q!+8FK
z>nI3cATTg+5OrQyJTQ6z-?L}>;Jg+P-**l6fo#Kr`$+p7bR)=qI@-1hyyyoWPUAAe
zw=ig)+s5q$v?TCY2mC6^&grHeXTkqsJyRiTwtro~6ScJ?_?kg4X?KF|;QmCtf9H6<
zmxT8<GCwHiE@fw6j|nH}g_mG{>-+*I)`DR_lVtyz6Rs3$^ngeC^Q%tqJ%{p^%(7lC
z6XvI&7v(C}Z;A-(t7&^5HrtrquHyULi@4JSJ{#L!acAJi*cZxkTTe})1>Cl{KO@k$
zD{lyVU6ZMNN%HxH6nLpLfV=j1Zo2geb=M*MHe&DO@=3Vw5;o87PS>WdaW_|B9j#>l
z^cFYP(V}f7B}22jXKEF<21*-X<8DLwd43Lc0$ZTl7EbR)I(;`odjv4JgLC)ONXG=p
z`HK}ZHHM?*H$z9KgetK9^gjS2;%rkz+;+s>KNLQ!r^&YkO0f|o4n7NUs{xNTasH5r
z|LdOtu1O&$?&srs#|8c+(?nba;$Xw#`9&OcO%wMOZU?_#h)E}Zre5Z`;59aWl_KJM
z5q}$K@VLs90rl%?+j9b?w;=61NMl>P8MyCe9D!F-16&8`)c9qrV+y%<LGH`l1w!s$
z*5w{2v;B5mX1LpNqFE+WW{5ityLbj={w;j$F-X^KKi`c!IdmNDARBb!@cFX@K6xI-
z5eDyM;LAc>EWVF){xJsC@jV565FpyLjpH0w5Kcijt`6o**XtlZQ2JXFzgY)}WBl(L
zcyZ6nZXV<CT2NGmznrei7qD>BTC)JdK8dKygEN5J>i8MwH|9-w{)gNBMclKa+xs^R
z`xV!}huCg&pMX8|=$CCF?$3EHf!DxrzqR8}zEK@N|7c+MfSgu?%YS)nQp$ZW79!8{
znB`{t9)A56E!}&Iw)x&!T0VGcMt}USd{YhKK4M<OV!7a6D+iCySU$a$bjNAS6tq<e
z{RZXWc}bo-H2e|Ba57-h92Wr3FsCf(7&l~u<e9ph{#MB8W)Yty;?f*D5eHcuXS`0t
z(V1D0NqXoR#7m`t?f`7S#V4fa0HaN%DJ`~j3;UnFl?ns%NV5ri!e0q}6J-s|qQVof
zLCh1E;}`Ozu{dj0&T}9Eq6J~g)DYW~TD_mZJ?PYmxfMqfd|&h}hnNrO@NxK%$Ej<k
zW^c~cWbCW(T4!tHgf32TJObFMu(eY$p2i%A!^>fe$N1ficOF~we((a!13N8r-bsrz
zUIRLnBt6ISL|<Nd9Altgpl|F#I@r?EFn$a}_U?o+ogV?uu(?2<3-K*Q->;7W%{g(N
zqt?g66nYjiM;~6pV=98rm5DO5KgBc~z{?TPvV)eLW@tY6Y44%j7~iyDKmUQOb-q_D
znD5^K8IOj{ac^+Vxyu9P9+K}Zwr(3c6FU9EmeJ1zXjIFW)>ZW%ri63cCr-zGa_j@6
ztz)f+Ch|TX`=x<}y55>=wS)Gab(Hz-hi+ib5_${$<?#({KJIRF_;tO(o;I3)@u%}z
z*muMlR82D0D#FkSF3%C@9pC4M{!omkP_GL=K%EafI=`R$nKO8@j|{(3!``MT?8iU`
zL+&6q+ti>x&V2j;{VUeVb{>9Ijue3xeN4dnPqFVw>R*Vq4xc*E%{s38z~sPM(t~`z
z?pBP0jzY$`&%V3_a&{-L=)|45jRd*4X-p^hEO*;hU|j{_#4(*JU<h@=YeO$$O~8$M
zfc|L`eYv{>;V^viFy=PkpgsdbTe=tRxK_wvGUR}@Imls{&MLPEoz3FAb(iDbLvBOx
zQP5A|3c5h)_fRHY`@+~_%J-dVJg*UY>qGAQ;AcQ*TR_*oJy42%cc&D#cDBJc%fcK9
z>i1wf;$_6~df8EgvoMdd9Zwm3vy(oPC(<wvCeq-W45nr3Y4EuR<I+W(9rplk0}hG%
zcbbyNG$G$o(~loIuDS{BmU-iK63Fu)A-~E`_&_3_=W9WS!=~TQck9LFf!{hT5Af)D
zbf1W2wS5)eMXk>x^ZXb1N_F#o4P%~4_hsVe@z_86DeMIM_#WI_&uu*`g$fxTpAWz{
z3>-TGq*W$aTXvwmIiU+hxU1T(?8tDD+$h1nu0XmS@fAsOOEK>8@&b=l!MN1G!*d-3
zJ;0dV!FS_3Q?Le#d6{<HbL~yCv{dX+J7tWMXDYG-cW>9UL+@M|(^MheMWbqhpuzZy
zKo56WmS0bq{!Z9F(GF4x{COY;Tz=F7{T6$u_X2;sTn5{`jP`O0yncF5Ki0E(9RKM(
z{Vjy?9{WgFmB&@SKY)DyH{a8LoW3#pFS@5ch&DXZo%;zS9eWq|2*TckN&xdA?D|Zc
zN7L^jw44hduI-YmK)RG!z;_PD+N@9dp8jXy3-KJ@(0lqXZ`S=-?r-_N){o$;RwP@-
zp2ogE+{u2g>BknpZbXV;gW==w8d&=Dqk9VR3uDfK3_pzm_}<JGhjtV`+QZN%%uVcE
z#Qvg;JuDW|UPWIw3jLLgKCB&baglUx9c02bY&GEXDZS+|zAtqYW0%96hP^H>gs0<a
z<@*pJR|{a55gq#-Sz68l56%o6d=EI^1)K~!{9{UN$&_@wPQbE1^gHBzibf|5!2V*c
zqx@aqK4Tf};Jq)I66oQ+U4?xWOaDUb?~Cw0&?<S<vF+H?<wLoB348avfO{idke_U2
ze`EU|pFAq$ljV>Fdv~@|W|NopBF++e1ATi1=1+Y|%`cAuPB|Rt=6M(qCvSY&iudgS
zd>bJ#+{gK0v;P71ySx|s5KGVxIJfvuoQ6GjTI80~mYW@AR`uoG@Gan94U=<4mbj<%
zxc7`hTLBoJCqE$*<{@k$Ue{nbgYLm1y6OGm4+qN4e%#zkqp#<gKCHgaiS>Z%nCAg_
zeTUBk^Z8JD6dhDhpJ~b{e0PRIZtMZdq)F%8+ezC8{+)<-QX<9*X(1=29ovWRuq<Yu
zi2Z}EaT*3$@9e`J{1W7QQJ&ng5qxe)pa|b}?aiRh0a-ftd*}kjlH%TG56;ngE)N{!
zIhx<14h0_UJ;R#KJB;I?Y-`zzJS&jLhCI=-iThCXx$LN4Zukuqz}X9VxUpZ!1OB}k
zYNrqUvk%KYV|<^f&mCu?FO?uyrk{l$_wyvmI$q0-DIfC`1YA*ac^}Ue6<I&q7eE;E
zaCl$S=f?XH@LH7o`92lz@B#7e?&JArJMh|Rlm;EdT8O^pb80W{WoVz)lljzmo?{Z}
zS)kF@{@2}7%7H$+Du;>{?D-IB<24EIe8zzHG4S4yF6bfqJ4*9sQe`RF1RLaF-2;y}
zFUMh&1A9gop6w9sSe?T8?EPQdCB?+Y?in%nNH9FdXVT++@E0+@c|5w;gwy(Pe=E<I
zD=23+#&lOKsUe&Jn8NXVe=EmlA--J9hX%T*8!%kYe|?%#vVoiNT$LZ}ZILWp-FB<{
zWqd2{ndm;3JM^-|@+^1-y+B$@bT16Ysn7#K1GI{0WgpjvomRdqVQ<Xv^l~G;JevLi
z%0lojCt$v9LbCe(uw_E%9LmN|KEq+khw;YB$1Usf;j;w)YRKYU_;Xlq+s$(7G33NL
z`6hm24H^9kFg&l%FmD6qTfd@Jrkn_W?}H!AS+;J+{l60SlTxDeoGQ6a2G$(Gv>(y$
zk$w^RF%H!f#E*0z@Q1Q~A24Xzq^asId1~`6n%b}{E8W?m=BO<!7ydE6WjNRGSvTty
zepVPy*r;?j-e)0>jQ1bm+kozMkGul9jcu^KoPS_IQY1!#zm#9<Pn+>fH=a|C=l>oZ
z`M-&d<-dszMjpDj{;b?sKP8#c(I=))M}4%S?q9@@zoqvsey~gFm?utu67};{gujK~
zVf^^4$`#mft|tYwOnP`zb<&cXpR8{@zQWuL*0iVfu&%L=;TuWFKL+#U(4{}jOi`wi
z&>KoPzwqoVYsdR@M|J%B!i0|hC>q^yepzD2nJIF|dzqGwzLjG-K71&t<73y@j{ZlI
zJN{TduH({U<2zD|3wrvtQslRmOne)Uv=q#BPuSu*k&-bXRP%3?@;A@eQ+`(6Q1JE+
zHS&^Nu<$VU_`Y9#b6Ne0NBdLMyLxi*OU3%^@g);Gx&sthCad4yD`CAyDmr-q_;_#d
zg{LUe_oNy*zwE(|)QQu2Qq*b4H?8Mplz}kL+=}Ow%{(UMxr@CgInVb|?(k^p=$#-%
z%P>;;{#?1t_N1oJ8l3%3#~AcM7upKie|a&&kYi`>xcK-sggHKINW6rwohByPw@fXw
z<9lligY!IbI3<L2nDi)2Z_*H$u_lZy3Im@k9uM;9cv7M;?TJHRkVl6}j>2I7ay%a7
z(P0v!Fck?yV30?Lu|{E>qlUmBkAN}C4LQcq!TOSr*>*hRWNgGAMLUU&506$+x5cPi
zC-k$V<Ls;@(A}lb-MgW?%b>3-ps)8pU+;y!-UofXANu-0$CYI(J0=#V_ncq09P`0@
zVJj^(4($bNRs4tfMck|~@<RX+-RkBS74tuTe`R3GyU@{P*cY@EKlq^90F62qfKTxT
zsf9~0ufX@BhoOt_S*)QMFHyt)!uy#WYX2!bvEH|v=K!w&2kRN{JxQEF9Z7Sfj^uo~
zWBg)E$62JqHfv&EikqL)dL-;8hP*WBPeeIPIh;NjZQxpPbeI}Ao!1q)eOwE+>s3nO
zbl?|zp5$by!)lW|5}GX?4`a^1YaAWKoT7#fR_vFtVm|0ayuXU_FrTBRQY2wNt?ERW
z*Y-IsWeIhp-iPnRmdhQJKX2)H*@#cCq>hYQsbi{N?hy8`gK`pK55}b2)pHM?_bPYw
z%yHh)Gp_xvp7F31bMgBD@+KmFOzB-cN$$IP7}t9tT9v34^vuT3QL?z_Ui^~rTaVv(
z?ERRF-+sU?$8!uV>PaeI+%vYcpeI===(!EQ@$K*x_7(K(Wf+8?K3>ps&+$8YYVb?W
zS=@8mD&X-K^t?m`Jzrz`4}unc4#17=D(IQhdq>ax_}zZ`j-HkHvCU3A1zKf`K@0d0
zc0fi?;hBQ{uoJrucPH$DF9jcWwnOc7V0?i!(%qxwL~Y3)T2%(vGn9gFdL~^!r&5mb
zSL=@FDCK^RhyFasPr$*yZv7ZK@)q7lV=i>owio)&V%$HPo)PcA$2))Xf$I`#Yr7kD
z(S>nG7siF$M?m*myOO2;TQ(;4T(KmHe&sykM<YG}A56x)r4vt;icVg!q=@u0FHy>y
z2Pp;iwp)fgELZk+Tf&F?a3&^cFZ3U{%eU=t_T&6l66VcnJg}94AicvnzI!dD$lznj
zBb3sExyF(1GI|g?b`m_hUjdD-!TXH3@8CY|5b`nYJMjGa$Gj(i_em1eG0^?Y#ev;T
zXqW73Z^hVv%N+YXgagR)U-=%w^MD_9jqf1@e>)()htLW*l>6Y47pUR?)b|ix$G0ke
zYN3>$PNJ4D`s{3s4V<IyX_00e-DAf&-=ajia1OeWL>c<Hf(m;u|GdkYLfVX+k`rG_
z>3aBS<;{!~`<odnq%n?LYR8pLv>(l2*>p*nC+`_U+Ez+BhxMKEOyJ;n9z$?F{YW{Q
zajP`iaWC}ZcQmmkggTrprJTD5Pqtan^e2X=zaN|a`0(^zq|XMg)4#C#gcsklcptt4
zd}%$ddQCL0%ZMvMy*`>q@4RM&pESa+Ak5#Tz-rYV58_BUvWI!cKBo(I+qOLwh|9vB
zJA%A;?;WSf|Ap^M3>~Ko9q%Z>&u5cIivL%{<NLeaOq1a-o)Gg%@W;-(^KoVbdKviS
zzFBd;IA82*|BJp^fi^?e_uY#8oNIiy0-vdf`*6kDruy}`kUTGX>2>sD1<tCq^|+uP
zUysODmfkl{x&QvvN#h1TSy8+e7q;`4E8>!wOaAT!e+|RaRJ%zK1D^FmF3Q&Lu_iK}
zuv+{F8)W<ip4VTZPcy-Ms>X}?%;E50ehP3He*y771!nLwCjA9Hp3LXxhNK(G(MJ)#
z!Ty?m&BlxQOyqD3etf1=Kny<P(?#Od{)^VZ=Vto8u;_C$EARV)vaFuJMo{L*HRctY
z`01}wP#@8cH>_H)AV(?NglqKIE2a3vgnyAzR<cT|YHF%)Qf6+zHS5;`#r@k&9)C4%
z^RKJ-EBZa?l~>ENa_!pdLoNWXh8l%uo?V``Ypd&g_>_uXG?q!YSJ#UVPwUTv#xwgp
zBmRv3oMD73&2;0r#mMhBp8B=pURPC}rvhKC@YXlsdm0V(b(Jn}!v@fcN+w3$0II64
zRPIz}R>p`f24GpWcSRlAK+}c>zp|9YEWYH?Y`5FvDkdgN6n?q5jJ`>HCdPmtsm`PD
zN@caL!Q=O?Q)=;{ghjFKFb4f2)!s_}h)6TI<_Ey=XGs|2^EOnwe4Bi(hWf|wl?6yz
z|H8mX<z7*@(Nl|pukzq?GyL6@ISPwUwBbi^k3P!<czoIG8>%atX6t2+Rm2#EhT&qt
zj8xFddj8;z%UipFKLc^6D8p4iAM#ZD6>x*^s8rNLSL^B@yBgLgsBhf{e`Wn+tlU=x
zUR_tisgM#{kS-#<Y>eIb)8)uQ@C}ot02!TzZ5rb5IR8KJ7yd1|r@VNX>!H#W<x2&!
zn0oS<_P~_w1ND{oipmlN)lCmnudmqP!x<M|zAtyudWf{XZf*4=0*hgn8=9){DWNJ?
zT~)K+rGM52A5&@C1Q@p4_^J<#xAFa<7#RMt(O}*2H-&Qb&&MF2cfHHRT2(vGRn=VW
z7ZefCpI!hDekNA2$t9FVr(?#he`LKM-(C<Yi<AfO;Tb#Ot4ns{BT8O>^B~z6-Qo{Q
zxcsbxF3{w5T3gE^Fh8jj0}2$1r&6?K0mJ-O*HuRuyB7bt$`9dxX#SCiHo>B8^x|_S
zKCjPJw_&|d>XG?FdjxcSRo$Ivx>c}B#;ey;TkG;~YN+D)_%HPctIlPpMq_=PKPJ?)
z0bj&fkFOi?$A!FA@$jay3<YBDnyMS{H3r>oWY6^Bt3PCbi2^VYLw#uQ>oKeAs@FHv
zR;`ET;7e2Jjp`~rO?WYgmw<D#^^nhB$(VrTb34D9;_W}X?0dI${pqvCANRWdsN3;u
z<9R-!hewhpx55UWx0?Hl+KsiY`n7B6?aMm+7UMa`cz)%I9$#)ery9?1Ncy~PzVW<7
zdiWLN*=#&>jOU1apd7J$=q9zk4j-+ltM*}KPW(-zG4vVwYnqKi0e4af-9s1~qNA~8
z&sln>o}WKygbtUZN20T;tYn4j{^EO9mbyN>6rc5)*}O>6<5oN{7&o#)2{_~`Te0#1
zrKI@2`>p|2vTC(!<=uB*4_MjivQ<kTSmG)!E-hI;FYg*znsZs*(b$ycyy)9J<L%Ee
z^T2fwFeI_;IzXemT!ZfYE0(!dJaG3)SNUJ9T6&FgMac@_)vH`Ay+1Dwk*(~n%F37C
ze?77`AWN5)EiM0Z%rFCS^|B!Uda|rEg#72BSu~=A*9SUGFwtyRGaf7)CC*^z?Zda;
zYkaf^>u&m=Xm`SL!w8^{YH-z|_cPjK%$InE!5R5SYG<O~xpw!lp~)~h*8~Gg%u#hE
zyI<@y8kX2M*D!!{nJw{O^s|Ar_$HkPpS`LyJ3djKXm|g=`PsJG>WaA@Pm_1ug8aG7
z{Ix<qyT3kkwnBy+1p}nV>I^8W>Z{qOwd(>K4yMP$Yp(M8Yq{smMeiRMf)k2*YiOu$
zBJt{pdFMRD(UmUvv*_vAi+jYUWMiO!>hqx!%FD@7_)B<s3kzl^DSG^(F=NKSDcw+&
zgc)H3@Btt%Is#u^eSL$=>u<tm2zAFX=PL1FQn^#)YtEtOTx!mv=6TedPtEhGc>y&q
zq~-!@E<_S1BRv-Yxq!$8NG@P<0fa9=Hs=B?7jSui%VRu%%L7~<;PL>M2e>@I<pD0Q
zkO;jidnb76(wYZh`SmEjkyPoaUQ2Md48R7T{!%5RJCFSSil!WaqsmBG3x#2v<kMku
zNr%nVBRmy;{bfU4rT$Xg)TqC#t;S2V-ta9hqXxYV9>Gj5!LJ=eCTdrwnj7Uqf5Ye=
zHE(d8OP=VPUMc_?j@jT_jvm)kkE}UV35xUb@R~=}YklS`{8AlpG`9zdTzt^Ln@-kn
z9Cgnxmo`=yxx96LR)<<aKo3A`%n-g+H<*M#Oj3=Wl1pnFs+zq9TfPR7lk{&-;S-fS
z2jcN7&GT~5zM+Dv>x^Ntvb5P-)gT7XI@s+=0!S#_Ak^Ss?pp98e(K6<#mp4`Zkez9
zE7^vhG{<=69G_6k={eK%^!towrSbf-@oX^RGIh9G<M|cidBAv{H{cj2|LwR{hyRB0
zJZL=Wdf{|5|IhuuHG;hXn9si2?~^WY^$n)K;s(>tyutJba0cRPb<gpibp8MS2Gjq^
z4W_^M2Gi&7d0g2{k!e`-{I{(SpLlmAU2ykZDSy|6J7DpA>=WkCr2iePuk}79zFRNu
zYja_p*n&0L8TgIDdhL^`6Fa`Nogx!|4}HZtjEeQC#6MuY4(CsB{wc)gwq(E+lZyNG
zY&cVt84AipC%<%YV9Kg%l)<Fma-H-qoE@Zp_TT?J{VLGUxd#2rYo+}+v_G@_arNJ8
z)IXjVA(v0mKA7}xy-xXSG4lWNb;y4d<bV7cWiaWFy-xa#G4$762mRlEJTT?JHR$iX
zM%sUe{r#lv`=|InmB6PG_*4R)O5jrod@6ze|4D$icwo7Va1K!XnajNhs2mX!b`J@Q
zeIaq_KsE|M*yt*L46o1n@SFZOU0Lx+9dF86U+wc&)z*6Is_HlRl(p5E)lKsHyx3}S
zyCcbQyYI0E{4X{PB;DT7RR1VuYm;vGnr}%_JQW+NYb&w2pa}r=O`DQLcy7{A0A#G(
z;Klqb?-s%~l=@m<lK6kF!!g%!d%Y3B=iXgjtjqeV<_^9ZY2GR<aT<xfCT~ox*p!&}
Gr2h}>kmINT

literal 41493
zcmeHw4}4VBmH&BfCLsib{Dl~iyqSQ&fRKMc0!Utle}X8O1f|w?W->`6CL|#fFbI_)
zvelY)e>_Z!#qMSjv^BHcmMV13udWQJt-IR(Fc^OR+U^<xcCEPmVGzx%LVn+K-+Plu
z_*1&OU4FmM&wLo}yZ4@Z?z!ild(OFk-hC342b=E6OCsaX75;F{o%Y3dKD+dlzuNhW
z!uSJ5dR&$Xp@%Epj@!8U;#13?{`QQuZ~Xmz^rDepUq2k~#IZm8;PVf9?%3P>-Ms$1
zpPruHuIK;jaIi~asU4RjiG+_W6g+Q{f}uhwfkJ6L?-p8m2A5iTilpXlO33dal7f_=
zrxU%{ok1yQ+9fItNwoeXe*YXpt-S~(nb!XX&jHHs(KyYL8Z07eU60=*_@S~Cu25Yc
zD&+7*ng7S1TaW7z@&8#On-;RTPF&dba;GKB-z}5B_=1JBb0tzIkeoefu>_x#?OLxT
zIk-Tk)*Z3bCB^!SJ+ZXabCfhU;PD*x^huguwihfxT)|JaAU%n~(infSJC+K(N2$R5
zb1EpSq^&#VQJ1?<DscZ!D)4-Q_#@QSj<(nqse9aCN7^b1bA6s>N%J-%K7qnzKL=bT
zb)73I>b$V+=yOanS^)a(8U?J8HpuEz#S(s^4Pz*5r$ECw@ZIyZ_6B#%54)cNza*5i
zq1|QU)K2?Y>MR>qgiz`{H%1LJ?hmb$V&a#;6Ru-ZjGlI3+u=^eZIkGbh3Eiq9RM8%
zyp*YR-0Uy5m1b%b%GCZ*qE^MKc2QGCl47N<z*g`jfx0eiJEGHWMSst_{kXl!Uz|Z1
zXH@WvQrgnhIC3zYC`**XWtkSK_Xm&%@Y71+j5vg2DJ*CV{h*t}3)^1mWLnI=OUAQJ
zv1>l(6w!AQ=;3_ktIcoME<jG4`2BovaPLn1m`6WE$TIo@>1}Jy@E3a@p8^r16vb$-
zT|pY!YPQ?<@f7g?7VR&AzXs)>97kc9zSqt9-dHs(5B#A2v?V2I%bKd)!Ln(kxo)JN
zMB3j1KJX}M|A6pU`1PS~E?1tUhP@Niu&s2e#`(9Q9LB(057OO8{|R8fi{B{ncgNxv
zgP#>Y3x1H_ZpO{yClP&p(n1dIA8MMaS<#M2Jnk0lCE!J0w^D4NTgAB3`Kb4Az~n(9
z+N(?xJTUv*o`kf6(}sAkVVXw%TeUmEgDIqjmy@Ms6vDrt*f*Y~Q7ujy^~Pb6&rCxf
zdx=Wlv&ccvUc8GeZ|tI&H>RLpR}jsOMQF;$g>79z&dz^X?)=ni>E!WvIG4hofJcYt
zQ<(M0$H4O`#^->=8Z_xW3K{eU9D?3VqtD7FBke=SaC&=hVHs}i@Jd>HrUV&D4HknJ
zkON1EC=Y!h_;wQM^!YSx40zW*M-6u@k+i@xHN4-V!}gAZ?VYYwg0J%cADF3z+aHy*
z-x{!Pw6Q%`4Icq-34PLMNp=YQyJu)=fDgs1;bvKCd1ag$Zj<SZH-<`4ro}~cCJxVx
zuMh3szhBb0kAG?44FK<c;0?@I!x>~b(+3_8!=FD>D*{b7ppK_3bg&O)kCc%Xa+0<S
za>O)!3>|hdiMpUe52lP_{gV=G1V6aW|BiaN&2EGkKMvMG=fCVkzbt_+`h}^B4hXq>
zYL@1c{7F+$-$#Rk6Pb=?+0r8Nemhgc7;Zg{bRMrPucn?tyBt0%C0gT-?(_TQr#tqO
zmNA7k)o@!vln51`LibCF>W0kxUi7!uN?Q5F!9%`Sx*Iw<I|R6ZMS||hZ6W_x^G~Cm
zFzV5D+N*-b3)@~4GR3mQ<2_)JwLmh30~7H>+4gA&Z$jH+{Yf1&DZGCUg`a`UJqvmJ
z{z3}>pb+^Bsq1hd^tY@Qgc2z)qm?#+2F;d8r5J<7oStz&+N6%9($_&##%^ho8#XNC
z8EF%ANa;?rBjaspQ(z3zdI2{I;hWMX&v+`uI7sPOsCEUC)$pql<#o`&yds4X+fipB
zWmNwy@JWkM*V(V_X$RfVzbWk#)vyw>x1?aaasOVn%&aSw@prY-z)u4){^E}<DR1lr
z&x#~}G538j<2Gn%2OW0M(E&PKSD+&RIw)ilbojvocO2!lf-lX$`8oPwKXA1h?b;7~
zZs22HLidYyDQFj=UECksF2*N?GFud*U6(C`c14%zK$#-FOqV3X76A|U%@p*@KF|<|
zq9Fhp<PmKeNrR40iO_J_GMA-6l<8t#F30#{8X8eQoRQWBmPuj5UpHj(a3^$fkT6bo
zED+7s?m-#EQ%qgR<75Z)r=R;D^3Sr*JY{{&dcO^MEL)Zh<@vjiH<hd{&z^PV@1U4!
zWpJ?6O)+<f@dG|^853Us_@->|=35P%pBXsW7kY27t@{=$y~Q-WH~4q`?^4W}bMPme
zlc<Ep4%hoW%I_fQ45!_WXZT8v9?*UoHkQYz=}+i(<z;>B0SD_?LYcpWKH>g%ceLFX
z4a@Y&po?j9k+r%VxVg<`gM)JkZQ!=3WW9s&x{Wr0UuQEW#e_vj9O`You<d7&F@GMi
zbq@M76|n5vb;#4Toqf}Ve{dYWU1*ptPZoMV9(A?L%fcP6kmjGfEIbu(gt0kf9{>lP
z|ND!Bdy~nZG!gKDn_wSKktWOj?sn)EFUp8E!-gxMt9^;u<zIcM0rF6N1Z@kfKpb^*
zITv7I2SFYkV0`4x*1Cb4bs6j4^B6<A{Jdt!&&%xhoHg|*_l=@V*QBv(cqeqZ9P5WK
z;xDd4zd%n4zC`nS7=K`E4`+)05q|n7u&*D(z6K0m;Al4N=%SqAwlxQ7ujdTe)}|cj
z-~w%xF2iR#G9~0K6a7MymW6v@b9>R&h#!)ctL;PkKx2{}?e@VpvVmSVY+#wJb~$1H
z*!Eb#7toQ%e4%G@wQr#e+hopT8@eBS?z2n?#sQ9ThfLVp^R#9IKl3$^spIv_6jq7G
zxMldJz|jt!PAJ=6sCM<j7MV8g!Zwr7SMYmJ=V|hd&^6p{|3Yo7-tGg`J6luW&#)Yt
z<Jk0_0|r0k*+cv^eX9;mn?83qKm7&TCujp%p<@%E?=Qit`$}xr*jHkoDO_!Zjg#OX
z$w7=C;j5Qr0(bdb(SLTsH<G95G(d)gA1~UW7HGdleLP0|_URfymO_vvVwfM!)n+44
zMStC`%jsG6iK6@X{*isWd!A-v`cY;n_W^tg9vj@x>^FlSdcSU%uT2D80brVBHGHE!
z2D;NN{%-dp=}*sFGDka)F(7T&GSF*D3ksfKOi9RRe1S({!|#)xwkf3j0(h*z!@76J
z1o}w2I9S?>woCxdZ`(;bVb9i>j{ROqlVjLtP7Q7aEj&(p;ZKRN3w-Ps{s6c*jqPhh
zZpY?pA6^*T%ld&~PeS$>_IrR;FAUCY!#rRV^5DmHv2Vq7ZD78DeztEswprhra>l+?
zxO!>CpJE+6Y)p@wZ#|W-ITspor!3TJQ7>`-K<@q-cE%5Sxle7%9L)n+j~?^rJ7EV{
zHg(;6W!Wyf0d@EnYeb8*b!Hu*g_o7>LMv@znvcL1!5$5tA3|@~Cm6Vt#hR0GL7rvI
z<(LlE=`0^3$BKbxH`=nB+sFFHZa46_B`phhGB77Z-Z9L%g{~u-q2&r%qsQLgN9+L4
z8v^>6*e&ziV7N}(-N9+UUCd)p)Ty^$(o%sl88jR7!`)(jm|v)Uf_^NA@9u`~+7Dk6
zyl<HX*!}QF8ZlPg$V;J=md1F!t-Ahx#n9h>-+3D2RP;5*Z!~RX&?_Tplhcu=>)RpP
z0;K%`vKUQUAHx~6F<l<ez_i&w8{6hVz+Ve}kkw<Xx7^?<(^#&q>N+iB9%JyYkLQQw
zh0!`?cQelq!Bc~Oy9NJ3w`s4TP8<9=_Qxdj8PDTY(Rcphay7n-=h^7T-E^Q(O9iYt
zOdc*f9!$B|?ZtTLgDw+wxo^{gC@*k9R@0-$LrA)0Jizu~?o7wZ+%vRgO`d_nm~Tmt
zVb^-w0NQX&IlHQhtaP_>Hol8MJJV@{KT?=LA9<ixkd~zTRdnn$>@U;p`FK@VVH|B@
z9|^L3jLSKD9okahMA<~o$MIcUhWp+Eo}7eCa=*AK<AjX3a}s{gxhmpZmSH8N+Z6b?
zNLQlLc`jwj58HpV`<OXzwu1Jyv9#$q%pcjW0`14Xk9PjN$vg0K;9<XN2e$)$BJzu|
zo{+>a@MDfW3%F1FW@t^@w;zXJnRs4KYq5d{ht_8fqyX*~3)V8Ar`b>FgYL6nZ1DPu
zn+i{09mNrVZa(*5{=mGEx}X=fdOZ4Sk_?+EYlY~m9+|?-SD`~;Ls=h`q7KYOBDPqc
zZ|ZY7=9!m&acX!8+QEEN0MC39{6n4-cFW|UnP)}%F8;xe!WJF$N0l>mF7ugfDX#@V
zPh%bdzNcXf3BDJe5H<pHB>3`s&G~TDn%ptS%mJH!ltwkn!ry{!(ATDnxi0WR$d9ov
zdLH=wTb6}+4$e5C>*jL21HL2MqbH1XH*|R*Lk+)U)Hmb<n)6y?Y#6w)_I1qPJX5QK
z4sttZYS}2qGU#tu7IwO4VqE&W;Y;rg!0tls57?(+yaq;T!j=Kf{UG21I^24|fi3}8
zHeH9~_CdxD*v_Jj?l|p#d=C1f)+M>Un6I8WJ*q7o^TjhPo2T&HMwSPeuR=C4&sH%u
z(6&P?OR)8@iFAPdl}|7xm^VJzs&SqhGN#CMka-eDU4HP%1OJfqs$$4mFL=c9UK#op
z`i{_NAv~jfDZXaX{<rX-Qyibd$2M*5g>5?j{6y<B2<st`9m1cvZp`bYSWE53+G#)5
zRlBj4+K)B76c5tN5EePHX8XDGxNTs^am+(8h2XVP8RJjF8sq+M8~hN3^!3YAmdQbX
zikk0+44nl}FMu95xlV9;Oq{>_*#vsaKjpQ3@U`}2Os9_^)1~x1%m+iHVZCH;%;4Z5
zhVLDpF`%Me8tXisF_u2+9aS`dI!b>BJZ}Ro1pK@1p#&~-+7cVw1-$=)X9B&Mw6Mp!
zdhPLM(CJiO*(Z_IvIKKHqRc0hN5=Gk_LdCH=k`Mvv|(+Y`2qgDEi)X^8#`3`s2X);
zY~T4D&p$IT??ih_Gg2s@+hf2VLs}RzlHy07d1T6S;%CWHyIAjgX-d2$i@I!$lS}Mz
zN7IY8$CgM_sH-T2lBDTaTOSA8FbnGfSogKL@eEjuU7`PaEg253gJro0{mXTDBsvIw
zZE6P{_B6GtZ*b214$Qml;JX=Dj6NVkKWxdKojtvwqNc**tC+DMdw$M5kGBF0a&E4w
zX;c;{Iav#Ga~5Rh&QeM$>J=p)3EA_IUsjWw?W(AERn=D3DYn~`yVk8<P4zXN#yLx~
z=FTar$#HSS<*R7iTtC~(@IxuC=)%Coe|N1ZUAbi00!4AI&RL*L^~H-4jdeO~y{Eym
z(HE%)$V3$zJyo?p&gf>BRn_uCu6S5hT)d_j$du)ts+x*&rLj(_sq>TrdG4*b%JivK
zGveuLFxdtS5f>9Q=w#~gs*Ropm`V7nY^bPkm4SH?;=FYmH`djHK9~Lk0tJw->fs@v
zdy9(iT6xzBkT^tPU0EaAqcl`hRy0)9dMlV}QIj%ls&AS>(d7zyyxt0*@7iF?D;g^r
zHdfUF`-Tcd&{S6`o};R&1k;TAHdbtO)p)knZElP-Pyo8hJ&m47(&eZU3>TC~p^J2L
zNp)2{n(C`)*iu#dfP!l38n!M_vYMvWG%2_0VLV+9uU@F)N=5W;Ap^<<#3Ciq+eOYb
z#ij97R8q36xRfPLSv0kLF(jR3E&{b|{Yn5$uiV(E)NZb+fw)W;A^8^%-#2?{mL8vH
zq>tQpTx_K8t-NsCH(q{!<&VD7)ULXllUEn$<wov5t}x(Zj-C8Q$#0Wad~4>~_&Xk6
zoWIV1AGr@{G&d4NajdFg<3pZ?3S}irtFqSPt>$n;g{QotLGf;=@K!68VtCAsr;6If
zs>ZF6{w!~(+EUTrn^RSXf3C_Z9>O&hwGT9Ia5bQO1TLz!$Uv*Buc%d)uUvbHzyb|W
z)l>)+3yiv1$bA(R)mQ3kR95fVDr89?w&fLDhASPNt_Vq@248)JH<B_$WP}1i;{s((
zZOvAt4r4*Yg_wF86_3(bwXp(B87dexNJZ-|&sv?pp;E)D`x6>G#5``Sx2`tQ6evDZ
z(Pfzrddjf6APtc?*u%mRiF5xUUh2^0Z~d*q<(Z6l>&)TlrAEBbD0jaRHdH)N<%3Fb
zK~9)j)Wg+@`Z&&<<#<BjaC{h-8$I=+hyZzfj-G!oTMvJ0#JMd0r5Nekv-JE~MyTgv
zqGZ62q(`rZ$f&QZrp{X(Aqs_urL!O!2#1dV9cpM0Jk(It*a$H<4PRw_<WaBT3IbT9
z+$q|vfHhUn@Krv=Q^P&7Rq=QmG3I6~OKR$1Oe(7ye2oyn;q)1O$0QD;o5?Zk(Xezc
z<I)@Sl);}3p4xIKca!kp&Ga?aH9$w8odm<}(qZ-TrhbE;A^uGLWyXnu&*(XR5tw?<
z%s2I#8SgF9`|<tz^zfLfhXZ+fXx8_Rk$=F*KW*fj_|5#@5&0&4W`1ZyzDbXne|AK^
zsc+5v=}w(4vwpp;SN<R4Knzf0Sm+8y=t$d;n<QK$Kt%DKW9&1Tm`yrNzO5~~YvmFJ
zT59bQ*sQE36Yh)f3l4n2fiF1l1qc3L;efyUh0g}}UgWg{#nLnK_vdZ}))Bg&ypHv&
zsNZ)T>vyC6lIvK%ANA*6$NB@PKlwV=A42`-{_Xn7e=q7kejV#43FH4d)~}%cC$D4u
zD(d%L$NJr<zvMdB???T)*RlQp>QBCo^@mXZx$t!y|ET}?b*$gC@4T<Z=Xbw4p3fUL
z<Lv)p>^<<=|H<N=fL|m1<V86_3h8n2jzHq#9$OP7*_y`Smzq?RIJt-L9)JzMHAy&Y
zj<5*7)p%Z?NUeue>f!eTa)FD_GxFXM_5@m&<F_5>TKmUie`4)xID$n~j)NlNuUC%;
zKEVzH{;&tJiO+fYv2=ub&f44-&4Oha@l3LoiTzH3PW56B!UfoqfTNh!ZbdoJk6om&
zg1v2=CBptLrC=YdTA{Xmynn&_jDPH${sOck7yG7}Smv?er{L$so}3-~?Y7f1vF~=P
zw&DhA<$Zm${j59&drzRRnA31hJdy@F??hVk`496P(jlBj;qw+a_ky#Ahda3r-m9av
zv$U46)Cw-_maMefiM_EHgu7(g4SLRk9-NDjgU=$|g`XEc8_93PfVTn%aMGKzw1>ws
z-l20B=TL^vlkpj5FZOi!+~YIY2YnXj5`GODo8{y;PKvXG$-zwI_aN;VoOfG-=Vx)2
zg7?Qy;@3geH-3dYu8Vqa)jr4b=y7PH*n@oKIrK?!<~W=sNcih+)fMPxp8Lr^UoKyN
z+=e}%4(t`uBFGY+`TU_Rp)H-ye3^a2JZK+J;RC>l^ZVU|{qOei*l*fkACNGHc%N(u
zWQ_O7%za<xpV?1b-d=!ya`RcZ94#NbB*?Es895T<mfw5fvOC}d({^<aAuamcivs!?
z2M!LjhOkG=XO2W$YjU-zzy&_1a9NR-mZvF5O8`Ag1Gk;aE*n|){XA{L$g<y@t0f{$
z5@m<>kTE_Te0J<RNPm}kfbr?UdC-%Chx?02dO|YBDYrrCFX-`DLVK{6_=Jt_d*0T6
zV~-7Kwt=mC_?be7i_btV_*}sKz?HFxHqF4<3XZSm_;#F4z_{UfDdLh!cTYk4IKGzi
zUmAj6&GFBN;BRO65Z#?-z%S+eMN$O6%JJ<|1pgw2SEakh8u0m?|B|$6r9n>~$3K@g
zy>8Hx#qc5NZVGgEzk@cY%nzgQJm7PioKf9p*_qCI#@zq5ARX-;l6(EUYY=;&bK4>3
zH*p;*_A4RJM^KM!ZS7X?XeqX{&RCR?t75N`+x}JT*)lHdDHlulaT=6lEBCKHmd*1+
zFL$!;;XdcR^^-D{qVF8&!{A4;cwb4TYUssMrjf@9*Uj}xM!hzpUdU1x!|*x%Le$Og
zBcV=l_JU=+33E2HjpjHhH0wnh+vB)ia=dNSX+!)4;Nbp;eh~ftTdqH<|KH(wRR6z?
zcy#|C<NT=pf0N@;{r@_{NA>@!oFCQyA&y7&|4R%X)&DPYepLS-<akv7A7FT+|Isg^
z4S&Nh;Ned2kibLM^*B2q`pnd^=&$ZSTr}T3(BIWM2>!9&kLH;Ta>qP-%-~r&a5CRb
zJU21V$LQ~5G0$z#cQ*GtO~U><%K@ilpbwyviv5Tyet)`1!?~m0$J)fRYQUNBc=Il?
z7j^dG-6lKew%x|^MO{3Wxh&^Nr1JiJl5OlwIh@Doh2YC6$kp#bBh$gUM^1r`3(VI@
z$=3$sDMcEq@9{S)ucX`RzjhojEmFYU1>4||0*a_Zdd7`2y|Tkel0$w*Pc!kq4}QqN
z;Y3;RyTuOLmncWlo%o%yWIC+CRYvxByf+kY1wO05WsPS%jKlm9&H+O1`neqna1?$#
zeiIa9Y2oMNH@Oin!jEXD;LphO&wPIN@EW{lhw*cA63v~%{SBGL{{Ml0F!Y3j(;&CE
z8}VBZC+Mw|?Q#i^Q#<0RR!XwdbKPi%&}BDs8OXAU<3^4{mQ5U~j03W4;z*3(_+j@P
z1IJh{vq*~Ih~xNnDT2ewI3V994vOG-t~=4d@fq|z%lz*R+CSwu`gVg6KZiI$=1m;`
z8*#lYKkSzMp?*_$rh<p>BkvUCg=L{5-d}v=D0~N;6Wt!qzJtGeH0s1T*i9Rte;9^#
zFVyJv#(WR9#+1jE7I;`E?xpEkX~J|Z0kHSt+<Ix&bdAs1-mBty?R0S_>0URU>!)jc
zo|f_OnN(3%)@_;xb=?gguOpYwAnSTEA26x#ZT7EGyJVa*6R`jDHtin3s#bq-s?q~{
zpBy}ov$=oA?MMIq1LT9#Uf?+Tmi><^(9LN-;xz6%1189E^qm(lGb}pHvjUH_=^F+g
z+XWtJQyk*^0oM*%6uc8^NBtN-4nN*c8ISfb{_hC<LuK~}{Ce3_mnlmq`y=Qh9<ywZ
zY=GhRGp<82<(xnsx4jR(qS^L|X#2O(UWS2RHmuEC1g*o{yh+eB)aH$Xrr~YgAn**)
zT`urkTbsWm@DG(;C-7gr&6}dyY@XrL&jb!XqrU<2@Dt!OZS|0E^>QccOJOTvvvMIP
z?dYF=*t-zqwH-1{^yB`%i9#n9u&jAHAhS6C{EN{T7w9jRe?Hgv9?C@WXBBFFY5wAu
z83z6#_Xp#F?kr%v8;3IHIHBG`tpn$J8SnD~r#~rL$Ai9)Ox+DRIZJWs9-E4DWKHe?
z)^A8VAkqR-B+Wdx$nWQ{J#oi7kN*Mm5#F&OoZVv`=!;d4Co9L(LGxKERlDF9JlKmf
zdC_$Xx~=LSMG2*I-8Q_xi}PRtj_V#-&&Ng`0r=C9D~E~ef5L8Y{21~%jZ{?|@{{$m
zs>b<8M=#zPV!vfS-oN;m-@CBLjyDaw`|&P@%4bOVeM8Ixxb2|-fO8U`>wfh)TL9-r
zdu7c%n#YmF!RI3_d8*bo__HK#ONpB7D63aAUs_z(=7hMe#+0}&&m{ic-sOQ`T?G5U
zYtfXiYOqflO~1X%P3nBbNH^;>&k07)W%!&npJU{6ia4+6cy<iNBgR*<umP#TcEp8V
z5&9rC_*Wc<UeWb^YVf;=v&}H!zs+&OX3Q6QAvL(0%dp-taD0>F&^soM$GHq_hKXZW
z1ji4%Z!vJ};4%@Lks92_@rcbx4L-zWU^7e{z6cJ}W~2sdxlF`nqy``4c*JI;1}nJ?
zY=()WEP_L~85YpO<A80#Cu3;t4%md}MpJ1~imJf}+3i#%?NJ$a|8`$~Ic!7o<MtL6
zwqZ)#sxCY1!>&mgNo@n8HZ28?)0SQ7vA{QlkOzBV=J8q6N6F%N6n!uyVO5uzz6)h|
z%nEqe6f=DoJnAvi%{ok6wzO4UHq>8;`q|II8C4w@Y?4{#nsI?H6W31AbrN%jOoQek
z*o7sKJ05#ZguNEUp%Sgin3U1Leqt8th5YX(j7$40o?GHwSJ*%J-K{W~t!~hm0UASA
zwzbed80$}hr#_h+Pl6{HH!1JN!uN;0a)R$m0CU`aJY5AJ$te3Cc=#89RlyH4?Ud!w
z^m2-EVD8`bD9Wg4Lv)^(tb*rWN_ME=m6-=Uh&hWt-3wdCec}f#{LV1uI3<3>^|{2*
z90v3qGxc(^o7<o42w<&V8My`$vS@wDY(uRY-+K@X9oix0Erj#)a_}zQPmk!L{b)Dq
zEeU)x@w49dEw^g6kVDwawcsJ=vu(5~Gqu%--vj^Qr>GyY)A|m6Rr>n~#ZQCRij4F8
zPpN!<`5+O_gBw0N-r*N#U?X}GdX48{JRfslOkC0ycZ}wQ&9Sw{U_ED)b{zHcT2%&*
zpY^^0ok#loAzJsa?u4!sXQWwQCSL(}*;oU2Xq5Jnz?~Y518mCr+<~Dp<YpfXt<$hx
zWBic2Lz&<e%N_b>xA%06W@n$D=~d#iap3Jd*a#fRO~U(6j-$}OtPd|~XF{xIPc_TM
zXx{}bvQvLor;VSnHsVi$tOj-_`D8hs5|$qK$rBvBHsg;~yFBuQoLqVmuW?Kk>op!Z
zHK!N#<t99t&c04EWRKw_HP8*8Qot}itn2KPfvXwz$wE83EotBHw}57gg`WfcHnIfU
zgB0d`3FoQ#eGSf+#!^xt&J-8H-}A|7In6jv&hw%dnkl@qjI@rw#2pVfvmJPX*Y{F`
zn~i>xum<<{@H;q7Li>dMfXrXm_R4ecGb3vPrtM?9ryg6}le~WOz!HRc2A_{A{^FfS
z<G|xst#j06)&arKGMgzkaoRG}e;8vM>qMpQX4qRvo#zf>y{aiTiDGva2hzUZfc|q(
z!la%F+&<jBQ8>1#-wpqkXoBDu%qrGl+xAi7q#kGDqMqIzZN<G8e%v6F9PdP$8@iiL
zPU<0q?p_Wtx2H)xyk-zUc({mq;8SS4?#gZFvBZ8R%h@SBb9-2Z`tYuSIrizzSZ&iN
z=F87IIqxX$N)cleeBm+5{O~!mwbrBA8p~uW)(7Vzt@Yxv<A>~{wNu8rF8N1mJa6N7
z9=`&9HIAl(^D#zoU&}E$LC9HBuRTG_M_D*zyC*=8N#I%9oOrFIjlu<)W3+RSryX+2
znP$9?U(}|CeIIN)-hp|BLdh+e8+`e^ejJPS-k3PGz-m<s`29mC>QVtKQS#p?c)!Mu
zbOJ2S#aBNEJ?w(5-oW}8W!UeG)1SkByz`*o-4ysXhi*cDuny^kKf<^m%XmNQ#-Il>
z=K%gh<U5hR1nExTb_17_&&pGJi5vCVF_#90B=FC15^Z$ho#MwKxAShd=R5Jv4xiIM
z5le}$BLsb6<}>w<(UO7Ng8ngObm;v<-Iun3cXlNS@1c-Gjgwl6@Utw!eJ+@v+oq`S
zlORu+!?RzA_qaAyp-z?!o}=;mm^@x+JKn_v9vko|8+89wtWn~fWbS8P_uPy980x(#
zvi^yefP}uzn0`~k`@mu9>~naRVJGS^b?rLbQNy$;y=}$hKhTgNQMDU((j667S-zv<
zMI6VwnqYW};6vyJeowmV2=0=R;?OqevJlqn-DCE2ABn>|n~5F$qXn$L`(3QLa31>}
zqU=j!wWC<K>D{3|k8uP&kUZjj_aS}CYY8f3j>kRwQfxmqJ6Kkn;S{{T#ASQ2UMnr4
z626-Q`a^%`31f$K2m3<N`k(PB2EO~QfbY#e5g!@&mR|wii+>c~e~*3#%@N3y#F*uA
z$$tG|+@%5kx0Ch7X_xvu-}iAkBh<eia9Hz)ELoo@#eFrf9}a$J96Z6@D0p87c9{7^
zHO_D^?5zYDZWngf->qQWFuWV@p=E-8F2`lKEXH^@kM}L0J39R@5q}mqnZAi{=C;7L
zj47m)>apx&KfGnY58Se4oL2OXXMpiz>}a3z907X;dr>YL*Y6Nt2ix%p=GKuui`<Ly
z^T_+1rcPsDfZJl9t`>C6!TaXue|~3^_lVq}%Yy#zn8UtLN|5hRkl>S;y3$5BYW@*&
za5a3Z|C90MUo*bp?`b+vPUrx%)sA=WSjOFueRCY^vOT=a&Hs)v|AfB4o=yqZ#eM_V
zVKeGH3BOiFU;cpm3Gc+2@)Tfsf*$rn$rF#O34j@*&tH7w7}iNccgN`dk;QQyz8Bxc
zgE8x1+Y?4V!cI6?=0BTB;ZM=uZP;t<0E{k|sg5Nqd-HLJlR+=u;o1~}UIQ(8tVf@O
zoUxvp20i1$^HkP1hWrb9v9HMV_F5)F2Na$N0QV=TKmE<TmNdwGF3K!~+`lWQR{srT
zTCHvxAnZ?iyyG<cJ6i^zGofE5LLcexF$OTdhK%2xmPv1&gPi9g9-)=T6!7zSISHG@
z<+i{Nj&9FX<b8&B+j-1gYD>&JPKNg{<BP~d%C*VFQ~!=KEhwX+4T)lWCI=rwTsCBc
zFt$j!QDYg&WEqH(Nw*kh!)a!@7{pwIb@k>y3D0ml06kLtufW57%5}CIdLRWfFz&A!
zxN+B17yCC%r>O&&UZ$-GzM`@o^E8B*M`GVs(lW6A&T(ly>kr9MXr*jB_B+)Ce`L>j
z$d*zt5%pYlyr4hK@$wtc`QriIKIej7cdZk?CFVS^Ss}<Ezhj8~%O^cZw~2cx3gM3X
zlXxA5`Lz_X5<QMqfW`~khU^57qfhZ3DBtO&?^(%?XJ8+CVISBo^uj*)iJtfs?um)k
zyAAO9<s<n$b5Td16~2^=H8I$S0BDjyTbVJQS;oD9i7wlZveEH)@WIAus8_$kLB{<s
z{%$Dzvp>VTrferB2s@D)u@j+(Hw!z_*E~LACk{o~36$qGhhg=68F981)!=DloZwy5
z3)^%%A^P<Gs6MTiv>?{C*k9s)i}W?pp8*bz)BS4K(AuUBw*$O~ubB-UQObG#Fz-9*
zckX>nJR5Rt%uO+8cH~Z?5;!`o*c0mZO{Nm3658jshxRqg_9s-l<e<ynh<T{7*2wbv
z0M3-KycSY&b>9!#(o43NI9@<o3*n2_fDV><S@)xiwN7)+IrQE-Y#HvhA^5-k?sd>*
zemQvz)*h>8L5Bq%_6=~~QWj}^Pm2Vd%J;PRz;nKPLGV-fO0Qnd<~mB=w6(B}zk~fl
zSru|3aDnzr#s%7Kc)#Cgr?*Ue?01DMyymI%RfY_*?u1+?9RV%M6!>pMV(!FgL~ZFN
zpLsrG+I*JrFz(c0Tg`TX&%K1PPB8&<UJLHLd`C`8x`)(xmV`w;ZW@*J5O~G*i^tE&
z32o_qnF{=|RNyQB(s9E4$bxw%;#;wnR=hJ7>nfO!emfR-x8YpHzoISQ9Y^7Nq_y*y
zrgbvS&#+`vtAORZ6>Yd{QNjI+ptdU>{b5<)FFqvSR3c!oUUNvcV2-#qeg7@V4ll3U
z0FF>LBCmW$3GUA^@5GVd$LvHu6Z2xbRAL2AQZUy6{k;?Q{YM!vHt5`=ScisA+64Vk
ziZXeHuzN@F%w;5$0sj-l+*^OXTT-ZieQg=Iv1V4{1h2(D;uI>-`(>D3#eTQM^S5f=
z$5OF&(u+Rg`=~k~Q@F>i>z^?$Iv^wa(btfh#Pf#SjO^z(Sf_zr(FXVpLw!2DK7KEK
zhb&b;XVj-aFLGTx9{$z9!S!J*ZesarO?on&>t!1Y|4!J-p}L3Pb(jj>!}^EU2lP9b
z#CZ&dTnL%y8?Ob*5;XQVIv|s#KfT{8Y3xtycM7Hme>x0%J%D-ZBk-qG@cc2%c{>2d
z{x;L_DMHqDlbJVB>8~OFTlhfUN51xC0O{#uX*q#A{070_G2Gtj%>!=m_sD~rg^&Cx
z{D(srI|FE&1@aP&>pRQ~@alEoi%y@2bla)%8hH~m=W^Ung|-Znv#7gp;42)kLBB(8
z4)Q$=MLhms2N^HRLI%#l=rZwlk#Wc8S0ttdXD)c`jpH`r%mwJqQ&4UKWJ}l$*ni6u
zHT)>%;(YcfaEi19z=q%l9R$t1Z^L7)9qH_sKLVS^b6mF7jN1(x!+4d8gLxlBWa=Lx
zx<f)g5`L@?tiY2=fnu>P*E>lgHBrk(yA`Aj$=Oe%+CYv_+u>r<PV$}&-;Ka`B%mFo
zd1wbZI%V@CX(itPt%q^eV*}pZ&jY{w4?4pbS3FlbB%aa6BY2L}X?G}~TOAzC)9*!?
zAbd$b?k!4|{PP7o{7mV>ApFc^2V@=VAcZG*zp@W9#db1~DQQ1PovgPZ`(pp+*WeAO
z<1P>f^F9Xo+(&OCUC7(8yBGd3!XxI*mjKK2dFBJk6xV#tcFP!Zx~&QF*jfWP-PTYw
zuQ_mEvM%HP_%3X@e{k@i1f5YdIBMQITtAOx=o+kT8GBu(ULTG-u%EO_^m~B)aEw_e
z@H(mOzGUFu&ud)h<D*E+Aj=unTiiabvk7(Bk<L6|AA)6y<%s<e3w$YFlV%y=bA)Vb
zb$`gDLAS*LFKH`K_s|~MP<j#4g$}{_GqiON!zjCTpH8fQpgv3QQtW4)ou^{o5_&t{
z-njla^WBwzHB8WIzkls<8T8q=XOtXe-HWxAo#0&&&Q;+4z6X1g+wKcl*wzi%V^ikz
zb!NVk!vY^IHu%^CnrG+ni1yofuL5-!lKfyO6?$RJ+4++H$HlFWsC#f8Y|J5qypFmB
zXWVX2VLt$4A(WuedQX#w&j389p8=4JF;X^@ao&u5jU=raIx7op=XIo~&<9)a{1`&k
zi;U+}`^{Pz_CZcU9_h^_%?0@PAeX11@7Ql{M&2DG;N@El`0^C3WCXk&c_n~PHSiw-
zekbl?<8?opl&Y-&JmW1xnhS6y&3%XqnwL({76YaQbbci&zif_?KQKZ2YE*iknf~@f
zEeqwo57{+wHfI@Swx?+`koQC6@%Z6;VwN)w|BG1vlg1RL(Wb|-j|SiBtW!zUif;Gh
zmw~TEkK0;UKMvy+?&%Y}nsuX=0-VEmg*@h|$bTwX8;g9tOOM;m_5KDjJ{|Q&<CAj@
zd;>RXGy<O;dC~X=Kz|gz;CFzJ*Wh@r%sMp|?Mgs=81M58-XBQU-bZ=Cd!*@j(I>B`
zYJECif;XT%&qH`W!sKBeU`4;&f0OnO;AR4b{Rtj3jDzwgY292tYW<G)r`QJZ9Wg_D
zzQgA$Y)g2*mwiDV&tk6ci@{xcc!s~hcKPW~2KRo3dIsg>>X{gSX{hf;{IG!myY4Se
zdqvR-9=%z+Z_H$Eu4uQvxCu7&uzXWB;oey03)^w#4dxYz$<Uu%FYmFOvP?u?n&a1K
z59Un{_9t|kKT*KP8L+ThL3t|kFb#Cx8057ptiwC(k+k$625Bqv;uPw08tL@RWbK<s
zmx|$M^11`g_8xjfdU_J2wxn#BJK)bH?a7%`07kcBodCF#9pz}Re;O4Whi-u{kT{5T
zoX5Ia(Px9Dx1fD~qIs+@dM%TJ+jUzI{9mwpymp86aj`E3-|wv1ci#LAO~xL-ZF`1B
zZbiER^2O_Glc3Y?2mB<=eL4Ome#V@MpYOpl&x84V?)_Mo^;odZjeQ6kEzqE!i`!%A
zY3Ao_%vJRB3AFnYlmls6GUj&y@ZTLf8n`B0vX1eYZyEM*%=NsX`IC9hGKhI1Y;!ek
z-GGkscV`GW)BDfIJ{0Kr9oh<+*^Rx>V>Z+YJ+0YjiZ%*-<~;`c2H%S@Sbsi@y@N9s
z220yXzN5&xbIcUT^{(xso_6C-*YXYJ18o$0hV9-|%vacl#dycQ10~`N%S7AfgY#K_
zhwR9ZK4)5au8n)fAg3(5$?%yi;tWIUuX0=9XF9%tc5t7lIIFrto=^=v09oXAObqhg
z9?O)<^MBY^^y&O_=<hbHeMA4Gpj~11Z(Hr8@x9NOn<sI<T<*T5h+T(&%Xa3cu$x$4
z*uCRHIeaf@V4s5N056MErGfb@pFD1PosId6F>!Y~=;1q2`3&w63!UAFah3_bwqYNv
z419HuUCDR0CAw*J7icZ@rmXDpBEBS!_rh_8lFtYNj_2yfu<q=JO_S(xq>=U};=BgI
z>kru5eBv<t-WtIR)>jjPJjaH;KLnXQ2ASnCa?Bg2Xm;F>Dr8nsG&heS@W}%KV_)HA
zw2Q|w<^~fRoyo$N{N{PwdkT4Fx%@HeRKNpUGxnx>tz91YZ+2rXqXTI&(s=*oD12W#
z)>@ho%CNmox;aPWVf{$t!RHvt%h2=SGY_Sui8LGTm)i*(5^&gPVh-2I{5E~?p}C1Z
z|DA?$%k;5d1AZPPlvg=~ZzIy-M-%GdxH)G|A6W+e=p|)<M=$eoXY*QpPgu;I4WDnK
z&{2Ne0fsXJQD<Qzd+Y`r&x2ltp71yoac-37A@&3+VBYsZFLU2J{kTIoUT$$>oWW<Q
zwkgf<f8<RPd}j8~Y%CuPBg-w`cuR{1cTh=+<bWSlAOlYZ$`It>6vj$9=0m#@)Ph}D
zJAqxE%kbs9)GjOLxyux*<1p4PIv{s0%uOng-bOLi0o3C}9WK<_jxl~MZTfFQ_wkur
z+$jhiNTAOhFSWoY6z6H%fPXk&{=E09{~qgDU)-y1+{J#4_o{ynJS)Qb3XgL*F#jp{
zs>2ul;$C&E|M9)*OTmk)+^a6m6_MNaC*7+K{UPpL4`2*m?vC_WlHTCEKHtS1cuN3-
zvyfQ(kXxqW*K5fPLSJ-4PeRwwTbM7L!E<T*hO&Im275l=`^)b#>2t1s|6S{RzVce{
zT0ac`NbHM^xNF^9j~8o`yjBVSwP~zn46jl0`cogyrSV?YdP=)vKHAh*=<oj2{?5Mh
z(5dT{clLol!VVsVzvd0tH8?;i^I#`%_Ts<^IYGM*bNg-3d3<()*XECcKQ5BaYydw9
zy6kSi=h4KLck!(sC+0FPgr{Pu^j*L_hcJfk^aGz+cP~NtOx!8B0=NbNhc(60Q&^kA
z9QMp;=+>oxeTJ;@tZV(amvskV-m_R)_m>U==J(LK3hH~$GBDqY^^L<ghuDELMafow
z_b!Tk<LkKRupDjNWo_H%!Wt&hg1)4-eNPhBdMKm8inAoAlXvaIy_CV%VAspA_UVgn
z!ZBW~Q}&9xRZ~Qoyybab*KGFVUh25sew=9v;_mgIK!2CMigR$MEH^ot!INFv8;>7_
zPIp?YEhSd<`M*Mc!oL#yEVJwUH2n+PbbMDwwTpYzd5t{R!oFNeuppB(bI+rY(mpuy
z@nETG!_6}tygxVOzv@0A_c!;inCFAPN3C>l3i|CyB}Q}O>`4ar<!&ZzKWN^CG(PVN
zAN#Flio+e;QqW2IyLtnVgA?+^mPMfbA^3po3v7<1aAQ1$o6=#gUMvc~D}(pw?+GtT
z;*Qq}yt7z=wIx2sfOFInxeR=xw+_lFEz-dveEUQ?vl8$r2c^heo%%U%bA8|N!42DA
z27E{1i+Iy<Rt&VeW1Ry(2R;7=+{107?#pDrW?~IvH`fch+ReU#lg4R;c5*vJI_M4{
zuW)Q>|4ztRq4l1AKjJp=yuRO!=Odu8aP0m4DxTrz;o05KXR5JYxtrIqlmO0*U|r>8
z8~mD%$vqj5jqBmOj*hQ)%LxbiZ2_!hs#35>nJm(6ph3d3d9GhdSlom0HBV`}8EfD0
z3#C8<e9jcmRZMv1^Ec)@vs};b&|WTM8~EBD^Bp}-=Xdl7@8c<WAJ04!Z>DF^!~O6B
zF>D`x-puE`e%vR@>(~m~=EYp?q9rMaGvyOGo$nLn^sgZOzlrrrfA?1n81Bzo-lv4=
zsFU$rksiD&C|N??Hmm!2e1q!=v+lNq`dV%@&4O0c=TA-;M!$+a7j>YnLR!<$ePE+C
z&r4`0rw`9BHS$X%`RC9Ug5NkE>to}`sxS0f#s|-!Z5(0_vzKXL{xIHX{<vkGKm6UM
zUmCnfNBfWCnfZioU<f`PL7dmpmm54vMfi^f49>VuT>dVtHTgvN`vCML!<IGUK3WOq
z6)8@7T9xqb>iQ#vod0{|<1ETv%r7+s>6g2oc8*2ApB8ndNR!k(@}#CcG^u`%J<Zvo
zW~nXA7ydCmtZA+HY?$^Uhh;_x{gdX#^E9N9@%#&XbIrZsffrHlrgrFAE<ZR3&zO<m
zFX0_MOfkYVBb;P}|FL@H|Dt*<|3&p!uelzUPf4aU89&&)^{wdpzr~Mr+q?Kd7p2+p
zdldciEyTZ%-(mcC|NSD?pt+wEbdA|hcvAJAlH44!yz#sVItBa5lY3a!SjPBX>x-7r
z*gxTKpWKq5Od=sS6nl35`_rtQAIypA{BVA3=N}43b)H=j*LixP-1)l<OK1O@(VZXP
z8{hefYfR_B17kb?t?q`-&mS7snN*bD)4zkl?^!Z}SO?J(us%J0yX$yDI>uWcCH$(*
zmheBS>hs^+rG|ej=g&WkGo&9>-BePy^1*=wb#YHNeo5FbJ+?Hlv)hkvg~{p*Z4&ll
zq{0&)0pDSqJ^ko03im&%hR?3JyE7?qa!-Of8RaJT+=Mm|=1w~hUfjlWO<tF1JHcgM
zK)ZWKQD@(HDbj|^weOF$%N$Q?0<G^DM``f+?sj3UVEmUBAr3xv_1!Q$y&Z8*w~t7d
z5VuicylwlW5?hE88AcvEysU({4wDvv>5Cr$Gsc8TiNG8kJpu-0bUX<Wn2xv+FeszL
zjE%tHjO?&BN+_el#6@7rVn@KBj1FUsz&K+@z@UtPG1?724yy-iK!Rt@2#4|5NQW;q
zEWLM>ioPvE-#Q_mOFG}5wiL3v46?f%vbzHEx)Sob3i5gf<aIUV^-jp^U7Z(Ktm#ZF
zO6xhh;`UCK6(S4aokWV~L4$Ql{IC^v*+2jg&2;mFinX1;!h68)LPl5Myv8#8o+U{e
z#J80E@FQL&wO}dM3;3Syaaia09p(hDzCiWZV{JXXOC1=G5c_j`d2R0^aIl>5xsSLh
z)EPfZ>KvOVcaB?R>3kpg(9PnE2)Q|&+#}(vD)^;Ae!`(wD2wwaU<_OhF7OJ~b3V?l
zr11E-8mv1+37il7;@pvp??+lw<j&Y8OXq!9-w)k@^FgQ|CP183v0|O)H+cRT+QV%a
zH3{ET`ys9ELY(*9IW1u+btbLG{rIJF=Y;z$ozENTY30<JUL$o*YLq)!|5g5ovf`i*
zMkg%pS%vTpWpU3e=fa*FIu`eggRYo^-%kM-hxF0Ki+keTi+dQ?*MCfF<JA0~8TdJt
zEb6%fzp?mj#BUtVV$8wsIl$eHa5OFGi7#5zGp0DdXRMOnb1Q!1I^Zkp&+lnt7{tGE
zEWc;fv4uU=_>Ik4)N|`v;Azb7`7!19e24458+GC50Nj{Re$TAFg*|uTH~ZAWo;CQf
z&W<~Yx=I$IF5p8v2RwQVVFK<PNDLkB{{COXmx5nA!=ZLLFn7TI=H5|qoOb%JY3)wH
zo~DF1+9>`b7?sjT5uXyEgl(J-`PqSRR~xN;2;nD?kxD#|!W!qaozM2aPiogFdO|$^
z9?uT~FZU(HHbtC8!dweyqQkt86p3Svk>ktJS0UtuF!y5{g0ayW8Y>OlvL&wPq9tC~
zowG<Eg>*lBG#TraPJ}8Ip15d95c%aVP{OhoDFOPpTL!-@7u&imy@&gqc()t#w==+9
zx^tIv0PkqT7h>Jb16}G5&|5qP_EuAZ3_2&)P{J><#(23qWL823PoPbKH&I7u=pGri
zEo}4tme(dxcP_%8VE;nj*XD0$_`ARN>EPZ6F>cup-+{RT^Muzl&z0bZIScRaWKi-M
z*yd7<fsfpv_3uy@)ASRr6ZpRcybP<4LFo<bV`}rj54Wtmb<(T6q2l>m$&u%V_Wcic
z9$st_wDB2(=yKR2YSr(^dE|N1-#5!ee^;Ox<^GiK3h-IZn5%qOp!eND@m+yRz@a}5
zPI-pv|Fga;aMf=SK#nf=ErM6@?Mj>lO!!qQf5T>Ua5~T1Vpg?CQ;zPl;XPTrzw^-<
zjDvVe7xM&(3VN`HzQ>t>ZvbX3IsO+3q5Hm}yq2C|do6vXG}>`X%?%}qwxj9X&mk$}
z#H!Jx?V$KGHCQLe01k5=#xnN{<!Jg$X_Vs*(DpBsSRI5s&X5w$tU}28Ig<a#rTHI3
z=RbUDejoB@fY!{ftUK<-w<JD*pM-gXo>sL!k`^-3mOw@yjH9<+GUAUK@fQ*2Z$e<l
zZJ!5eq#O}vKXKOTBU{SOePu|qD@XSc_(cf0UGkssZHJL_vXOH;9#8xZ+~v}LiFE!}
zE!W9#m^+!@i#Y4fqcH0p|DW%B5oe3?pwCc;2m4nUIFrzhF>8Jwq62HQcJ{@1tqI?c
zQ1HxjLKlehMc4Sfh<PKw7g5<zw-Mh_$cfxM9rdjUd`V*1$08yh32;_a*5Lwse6=B4
zS++V?x%19-@iz>8Dx#<o7mxE7BZg&@_`|0l@O=tTL(Nu!8+bMjzgU^{`<%%Pp?&!e
zddv9pKchcHLNmh*RpY@7vp7Cf9xHnKpAq_}a5O6aSv{M~@XI6ejqFHJ$WO2%=3kTX
zV1{uVkHU}7LJEkXaCpARywZPb=grG<c`7TbYJK>MM<Z?xFWbtnk-quzRNq$?e0gg5
z>aQp(>i8D_5*>)c#tH@f6#19}<5Eht;+pu4N-;k9(6~S;S+Z8CXlSTwP^NCiHRo3Y
z#nssjp2jNNf?r$LsOWc+mtU#On##&+LoNWXgc|L9yU)1q`?MYo{7w&7zo&<<8sW!A
z`ubCP`XnQ4G|HR&)vx;Yx+-ctW%vYwx2^$SsHm^2Eq8hAHv=fbfhfKLsG_P|xlNf`
z9>t<4fE88Vm9-cH4V&v5m1WFM@db@0o6R<?1EPvV;BOZf!8eExw;1r3>)QytQeNe&
z_cVGpC^fk7e?jy(j6(lFmA9Nf-q8fAIRF^`EU}|~-ufz+Z>!H$U-uBc766ITZ>+yu
zyI0n3@zkK<Yx%1${JoM{3bRj);RkRpJ@W;4eA749SCu!+(Ayj>a8U$Zf{Ph*xrUb4
z@z-Qr-kQz)IfL6o8?FF)ucxX}0X6u3Nm(6avbOG_D`Aa*`ZjECEU$Zrh4_lV>uRex
z7hJ+f(OIOojj<blIv<${zDsy1Kt?6wm<hfQfTq;dR#rV=ltXZg9|!-Pe@j=D7OimI
zTfDM#nZOv;Zyr+*n7qELt{h(-S*oD>>8`4cWt)9CUq_`&@U}hGRx~xb^e@Qpr-Q_|
zd+@CsC~M<mK9RoRZ}nvBpJhRf0;Im70$&2Ea77`(hf5k*F?l!Qs~}Y@8yFBxjU+^4
zfpQl<-eS`$F>+iRAK2K4FC5@&MmFQKMc&4y%ZdblZo$>aGUlqN$>niaQ^QR%KUEYZ
zW<a5M%Eed}Fiejws)8I>*;bdJh|~Gg3MMhp>BHy;oY`8`?W$<1Y7~6GQhLK?e8FX7
zh0C|aD;Obw@!#c$ZGc7xSb2rd>vPp^-YA6q^6kPn1$13S?QIy+70_13qt{bY<7(Vm
zU%~0aznmkqI=7_?gZN?oxQ{^_zVm{Q{dg;e!<#}g5{Rj5sH(>oDRg}@eX0*%;Tih4
z%DURBjrBDZ8zBJrz>_dOo(4P^bu0ma=HMY;V>!2&dGh7m-%9Wfyuac{w}w8ur|6Tu
zU142s=NaMY0X_cB&-8GS5q|h@dVJ~UdYE8@zcun32lezR7xnP$1wH)Gh(BY5>y5D9
z=dEJ<TC=6bP>FT5_;^Zfl@Ggt_`6)c>1!@yXf#cvM<|nS#p?zO$w}BBf&odHK5N-+
zmo2xpWXVd`okgqG6ua(OR*WIlv_R3*R^By~c6k91a41!>a?M@JlA_hCuL8DY?K)S<
zx{|fa?po?9Dk@%bdv4BEiZo@j++nmRO*xULT;u7F)UxKTYpB3z;)-hkjnHzHdhcAh
z!nN|Q<!fA}Us}8DD(#9?D}dLnbunB1I6FkKk}s8%F1ypUX8H0zR)GOoysTtd=^ul=
zq+jOcT}u&@$$uQ0StD9_ZJ?JhCQ|H5!<(6-3>(s7{O~ub;25&_i@0y2*Z62n1E=xd
z<;IcF#8+46n;VS5c~vlsU;c<uRXMvm?4;G;!)hLU3#r_+Jci2i%`sHa9HvwJ7x^?^
zEv%(U|In9TM0<oqKqat^^{yzm=ybiAL;mA`@cU*0brZZT@YU7GzN%iqrRjPTm9=$M
z?1I|R_Odx1PlI>Eyu3M#KriissfCAI;ccv8E1C^UJuC)?5q(x)U)4b3(G&H|Wr&l@
zUGP0&ec0oAz^6=y^A02GgJH<Y%2N1iaXItzXT&Rd`hwA;N5g^KToI2|YDDmn950lu
zuePqP-sNp<z=!#CCok&?=^#?MO_XcOqNZ$W%AuxQYRaRgxzsd|n&wkeJ~b5}i?flR
z4S;MwWCJ7{Fxddg22?h{vH_O^xE#g<INaXSlmoaNz~ulg2XHxn%PAm&#bZwcq0X&b
zFso5dYBaLSJyn$iSIGdZ_vsH6g1foY*jUz(C2&+2IhBw{#z{UMHk)+VY(2qK)~G*h
zt}WLesv0)w50zDTi1Zu2Pi6F=x85U&$tL)qL&!w$>a}J^=+K`q6GzV*RA-YX@}##4
zK!%ew^pvHiHPoSK7L}vM+#EdSP*tVRe1tEkBaW2zAd{PqI`E`dYq(mv7ne<2%8XLp
z+C~<K8c~5Bfz+5We0Oaq3z4X-YCR{LD(fqnyarjmdQp<}?=#^uj=WysX;hkWv!ELw
zg6nFHsjITA$y-q`CbT-(?05kr1a1gwXySD>_)9(qWyPUO{;SB<_sJ(2{)}RTS;xi~
zasJ~s>G{tX;Y&u?YlQVC+$0_DRU<rYgmE|P>1Pc%#>s!L&(PC*jc~vS>004*G++Gx
z1qc4W;6M-V6yP&hSNi?AnQ-_z*WY%X>)(8x>tA=B>o2^{^=Dk?`p;v3^Gain)BoJ#
zkH6<}aT|pvV{iVScieaU-8J-)@=q5_-*wSP0ffK&Gt+0*FQJ~k$5ehlT-;md!g&S@
z&JIk$F9zod9!*N@{EKD^fA~K5g*`MCdyB7qh<6RKhjbo$yZr7T-(6Tl>T$le>lF6w
z0&?Mr-+VGS@%vY4gIWJc-gmx+`rnMI|JiG(|7WQG>sP6N^HuV$TmS#k=zoNF{+a1B
z`M>iT`Ck*o|7F*}|1X38w_K$SX8oRPtbcV>{Zp@@{)MPN_A2$C=kp8K(f<Cq^~)Fd
zzu>?Z9Qc9*UvS_H4t&9Z|NA(=M|5~!5BGJ5KXZE?5tS37;_eY~ajs`rK9I!#2nVvo
zkKy&zKz`EyGL@AN)bgRKja5ExMNN&TwxVvcPpPb`sqn>neO?@ineB*o%=SH0kN?Gi
zkNDa34RsG<1wVea*L;eP;3?Z&Ra1_`Aq@biYuFku;&b9h0-#{|W-r$4`5+jM3)R*5
u;>G`S9F94T*>y&wvI=Xm*mrNNm^1Wf<asNw6>Vht8oW`ZqI062<Npu(wgZCz

-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 10/11] Hisilicon/D05: Fix bug 3061
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (15 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 09/11] Hisilicon/D05: Update Trusted Firmware binary Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 10/10] Hisilicon: Fix the drivers use the same GUID issue Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 11/11] " Heyi Guo
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

From: Ming Huang <huangming23@huawei.com>

Fix bug 3061(bugs.linaro.org):
D05(before EC) boot hangs at "Need Reset";

If the D05 is before EC, then speed of i2c reduce to 100k.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
---
 Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv | Bin 262144 -> 262144 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv b/Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv
index 16500b78c3bfd03288aa61d8014354266b5e31ae..ab6ea8308032930b0c730c6098b74be31a21a394 100644
GIT binary patch
literal 262144
zcmeFad3;sXx&OcRIhh26OoR}SoG_@3t$LYp%1O|QQ`L}KYQ5zIuu^F&5JgawlR#TF
zw)Fs&7TXdATR2y3i=f164MVS1y=@Ib?QpLrAz%xwN^l@*$?yHy!^zGT?ET)~_xt<f
z_a(2_$zJQ3*0Y}Vta<IVLs_QK`2H5|zyJOV?;Cpc_s88^`}Lil+HFjRjh+7K>!x%c
z>u08zr~eEf<Up-7XLsOlUh*x|G{77UfKNtGTHvGwPFmok1x{Mvqy<h|;G_jkTHvGw
zPFmok1x{Mvqy_#DTHx3(#{a6|`6-`S^MG}1*l&MWvpX3+vv`|zbZoX6oSwv=44kyU
zNei5`z)1_7w7^LVoX`R<{mjb0?)q8DaNk&VP7Y-H<;FMo89uq$GFt(hed~=2Zx!N9
z*2+caJq2_BBF4ndo>hBmt>X9aI~Q8-DVX~gHKyh4`8R&$mYFVKo4fw*J$vY?+~7Zb
zoH^LhJ6bhyPie#)e#DrX7{92o)i3;%F@>a3Xx^H%#~i(Vxp`~wo@m}hd#rf8+L*FF
z(Y#@MK5dzmQ}~secxxoftZX8@KWvgYgiABb;U?rw&oqZ?EmJcZ+$qRYyb}0j(6oij
zv{2YgD>I?S3S$y|z*hpB!S8fn_rvp#OtX@$h(rjOSsZ%kwOFKa#QWXTl;$$<ZQ(x2
zLB_0X2~Xb}v7j*(d)>^pIZxMCxh~W!bIR+!?A&7mh8;B~+8j4#Y})|SRgavu0nx5w
z*;PkVVJmqv`W(6Q$xTPdlkiuQUMgIW{4+Y~`5T^1A+tq1733G)Yd%DV8EU3Rk@+5B
z^1gE4((K%IOR{t8`^8&R>rLVwU?KFkWH%G9{t#Q}IXv5}WPhcwX<0VfM!P8Pl_smH
znvB@#Z6>`IW41)@&OSE@%)%}$cV(aZugJTCc#JgKCWjK@jr1E#9tx6Az|&R`?NWGW
zclW9zcm8^#Y-K1*=r)_9cP}^QZk~&IF5GO)g3X4qozAbx;2Zs-o!F(OKHE%-p<~3D
z=32s(8R^9HBNv-(wcz#CuQJO_i(pfamikd0$uP}Mnir5}?Pl}V9m`GLP|_H>r!;ry
z9@7Rq16|q_p6G^)p`EyAEk9$1@*KKHGCC*=l}%eXlxz=&lW|kJHxeDTCp&u4p4T&m
z&F?<f%uAuq^W?QVV&=sOcjuaU=v|WnmI|-gE1$Rc8Dk~Os?N8c1{t=F-qV<4#`(KS
zk0W<JYx_Y)AG0!U%sAQe$er6aW>a4H`aIb{@lm$VY`1MJp0?6>wfx8An#37yIo4Xh
zpdA5iC3;j)|N2o!nvhZH*1x8gChoC);nx@J3CSm3y2#e=#Pr23{ZN;F*q+xa!ZuF?
zKTEw-Y=_J6P0N@`*s$ErFJ+}Cux1Y?z4v2d=^ci*!7^Jm%$_;1(u7}(g~E*;`1TSL
zI)oi+X5Bnu;!OOI4ZlJ1=L_>3Use7jw_SM$UO7895gUy)(EbBj;f@U`Jqq6{!H#8D
z9u;haiB1yF<d7K~QrOZn-Wr}gW8z4DOH9U`deW_eXJ&WzxJ+!b47uxF*+-Bqe%VZX
zDg4CEU!jR?U#+lNY(1oB8#XXG4s0Fus)KkqXV>bP@r;KiV-G(*n(Nqadc?8m8uzI>
zV$6)?=EE<tXBusl+}9?D)3!fRd6`_Nd`+%Xz9#n~e7u1=Xx(>W9;b{Abw>F!xx@CX
zp^Uw9J~7`%(=z7P%_pY+AEwjd^0m17we<L4TX<M<DE@y8zcT&ic9t6Y1=`Cfb}$)V
z*)03gx3pGKAEr|uK1qF$e^t5lL3WMisr@LsFG{=N#MOo=?$lkCh2ZjcJxzuaKQ`dB
zqbB-2+S;a0i@JAUr%9v+nXa~5%p_>5t?2ivQzK}jt}NZQ{}z+zSZWgc>P(`Ywz~GN
zwew?{kF<7|n&!i~=$}2=_S1H|4KhjL7Ua=SOnusJAKnK3&Yjk#cksJVM!dC+HYzo9
zc;lHlW~D7RJdn1lFqw&tj(-*;XJMCj?yTH&Wa=)v&UA+}UQP{)U%2lU)3q<0k=Qqc
zXDPqQ;l#cXJTv0?`>rs}`v&m5n&)J6t}|WxZ#P{XgC=k47-aFgc+;`4={j(y>3V$$
zc^wkJu)P$SBjOi!oDsip|5@=151bRf@bxjo2Zc8Mj(T`39PJ|QglzYv3#ROrj-|#r
zR7F`lOMUOdGfdmDhQ2OJ*<@vyNt_dCe3-iUu3M*%Ont_-L(SFMxw3=WYT05*$V_Sr
z4=itg+$6q%9ox={HrL-=JF#|{nHcTv-m3Q0vB6H;2FC{E9qpJyes+cv9pt}*{CAN5
z4)Wg-j^}rf{|@rsLH;STUinsjI<SfKKY(3c$1bwx$Ju~<QMOmxW!t?o^W}r#%;evm
z?EBR>p6&P5BU3Xr{pBa8eD%GVS(^_2w9i-H`9kKVt~uG8KB&vtbnFV#^)~tIZ*Kb0
zd+LueqFvvm|6NfWZSDswYU-B1VrGwTvA*=93R8N><gQsQTGijmI<qAnx?_1M@F;$0
z3fGhz4Bzyl9COAn(WhvWjCK03vJCU`(Xc5O%!I9n`oJF#E$sZDdrd3-OY7&!XKg|K
zYRQQVTC;j6@lQe17K%<fg=Z=&I_XdFMk1zst)9l*ms*2O)-X<>ZC?^DJ=B)Hrljoy
z(_9IDN!U6RrmWjOh&FGhU47-I+2f^03LWBoTULK1OrJN_9JbC}*19re-4~0Rn$nf#
zu<C2+ndWfYWK)wDGKGi8O9{G+=T~Jh)<O1rA=B7~J}GpwB35}5FpD;?Vv9M<IJssc
z=~iqshf@k8uRhmosfaU{%r-Rz*sS6a=m=N*3?Jm#U$72yI7fWD%;9zYcy2R?W0^c#
z;OlE@)JIgDYaKRO;<FC7fNLZF6%Sa4;{!}h4((9ImEccf+(4QY<RLnNCwXicYif2`
z@Gr9tM}`8sAD&X4G3#&>X+0y{OW=keM>@2CC(VlIk@qQ{Kd=tR%1q7UqI-ofxXEV%
zPoYO2Q}ZbBm7&`<H&cIBhN7FFw4X~hZ?&IyZ+_f<-nIGX_H*&(pYq%inl@o&==RNh
zLT2j<b9BPmi)hcn1?3ux#D<%^dTfd>%o)=%rtw?kNBASOJLBHEYk6%b+I1E_kq>Ru
zigxvN!~YXm3y{Saq5M8{x(->Fmzl&j2`>%ZwmcrXbMq4XvCynsEgvXrF)vq)G>4~P
zBl*Gg*`bF{<O}a0!}XOHU-_()*DLU)xh}k$vMWL+{4X;0Eo{k(FK0k~-^$S9%_~WF
zS!mH_)vpfP*$rmmgk_9zmznu#SiM=i{Nhk#!a=5LvfsLZ{Tf{RO?B-jyzKW`?00J@
z-kgW*8Y|u`8+vy8Uz6e3jW!24j@{zs?&X;o@oLrKxLLA%fB5Sq3db_z)eoC^$*j=C
z3E%HGdG{jf<Fcc7ELWX++Z=sjmzg_ZnOU;=?Qr3Xs$&mBe=2fK=$_X4yQ9mgllKW;
znj1Ylma@nKcPo6A^s6huheGkz!L&W<lTsrx69<>lj~t<GrOo`-vF=qJw?~Obn-4CH
zb}fKMWy!pDOB=K$#(J@qxcG`qN#m#cZeRWH8Ci{=4rjd>F<CFZhW=T(-&p+=^xsEs
z>g&rIZ(ScYjW-g%KHDVrW|_oF#v*5<L&h0rj_)|#OxSh$l<~{VZOdbn!y07l&5y7C
z7rUM;_#gTFLf21a?`f{R7b^en-?n_($n4xW{+dNTWN+D`KR^18>b?1ERu_<N`Twk*
zEmGZRTW`8Fj;F3IQvG25*R?XVV6)Qmr*$-(nP4)S_NV`qI(@wSy;^Lxq{78Xm8a5q
zvOnW;%GDH@#74rI7nrGLh)L`}WSTb+&mtbGh)&u!H2a$D5wy>gY5N%Z)<e<e(D{tR
z&%!70gU|%RjFm!Tcn;xt4$lIfXYuUIlYCicL?<1Ezb$N<w=)Jh6+cpbJ-f=6p7G_i
ziTc&%wqLchUvbL4g7&Mxt$)I+{tcx5#q6?VobK4vZgV2}W=nQ%bkfq|?73Mcx=1=?
z_KQwZ+8H^~NmzdpeOI&X-}v=k|Ixkb6TbBSS8P4Y=Svs6zBJN0`b7L_bh$-8t-k6W
z+Bj-pVr_PI?!<+$qw0Uw6q>{8TMV$`g|m)Im(s8~WSwei))!=-E1jjUr(+8`e#A%M
zIY@o{8uHxsu~B_{8+~ac(6_4}R{tV8zZ|uh^6jG^WX-+dzaxh}Fiv0WruSkcJjeCl
zeHn=<{~dYKi+=b-dZ~RWelKh8nE#F}bc<#5=oUGFZjyNv{f2?}+d_6I&dk21<T&u7
z;p}S)j{_fY9N4zYvU9bz6_l-XU!9Vjt8tLp>v(8EXC=?F!Zr3-EydXF9F5Z$$3=4E
zt5b~Cx0u)j)m!nZAI(K>iZaB1UmO6f(%(tHr8#aJaOR7Rl^M}VRm_zu8Bev}8SR>G
ztb<MXn%dXt;i5z9k9F5*UaW9*#Dl9-)PYDe-uhsuj((c4AZ<jc$vK?Dw{lI%i}-O(
z4B2hOL$vW4`@Kn9cEj8O4?Q^8Y)vsPjE0%Z0}tb~8Z*ANO5<`<o(d019$aC%-uw=8
zk4Dq=MqjIWKjX^3eb~L~jlPx5AE5Vs_zyHjp^0`KToLVhYgM%C>=H9>===c>jU|6?
zWSX&;AYbj~*NV*8hX<RnL$HT82K@p3$91&H=d<=E*m~A9hJ$~LG(8=p(?QZd@J;$N
z(tnBc-y%Jwe~`2fe3O0+Jv^C1=bMMF%S2|TBQu;8Z*33fLfc!WCvO|_(s@CaWXg{u
zPqtECm=|vSLY^xRJK6FAI=<=CaXm7nljKUjH<5V|oxeW7jMG|V=Fx83M$ghV?$2Jc
zx*sr0We}!~%Z^TZll6-qga<T^XG|}jd5n2kF}4~UHskh(`zN0@C5M*c3tHP9(%rpf
zCT&Ivf6=;!>=!oS`&53m?a(u=+Y-~Y7~Q0cbdz4T{g&{=ul}8MUhBuW|HJN@$8t<U
z_24zD<j@S_wmu(rZ#{tA4?gI&%WG+7yjAHPq-^}<^#<v{W83vWxF~rL8@xdpFOx=!
zKBF`v$6jL%`X+S)-!u;`pk91|ysHd6zdVSqdud$Z%2pd1!9E&)o~Zq7{;+$HEeAcN
ztNL=uiNa@@f=1bC0`gjj$Ecg8-|p3?tBj!iG5Wq6E=le}#@9NXGRpxcpO7E#Kh`}~
zc2Rf~ztzxR;=(>8EF5#<Eh<~jw;fwq<p;2l%BR?~6ZWy~1mDAdb>yB$*h}j+!bhfF
z%>4B-=B<}7f4!V}?58*V?a3>?+BN6WO>aDV<ySwbo5DPnx&O{gd+vW^>Mu9FO*uEc
zl$Cp|uj#T_Bdle-#K4mEcCEh_CRg@j{dvkg)ooVO{1t??Rw#S{wkb6Qhi1_Je1^Ez
z`b2-MFJs=RJM6i=WtysMQ}y$;)}^pz;`3Q&n3H1es<j7eXmq(5x^Q`<INGSV)(L69
zRvB#NtrME(vuGMAM`OA~bC~s|KZMOn{bDa<P1E{PjDEOf0Q(6qWECq96(%%iJ9-_2
zW&-p5$gi@d8B?*>P&QgSYTG3~>yQ;@T`B{7e<L}G!)HCa$q=qQ)fBTPY0F{WTvN~5
z`cuf7c?$a;ea*_x@%%B*74XjdpnDY=TsfQHW@rwdwSD8UaGt#u$((drTb~|T_4J2P
zU`p#I=%tUBC#C%z<n{%A2XYys&WVzTcZc?tDSFvQPpuVWo6Suxv4(Gl@3O<`HGi$`
zv#xB@{CcPxhDKr5ogLodJ#m}&j?Ho8w7BpV){#?gSZm6L^?mc{;yp3?(%AFP8tHQK
z`x@mH`K411arE8UoW=fuV{1d(sx*T84Uy)oVv`!;><MUJXc21$tjAmYv~HgYm$G(N
z%DR7Pav#6xk?@{Nwq;G*fFEq2zGyE%`M;jONX%-(j{G^#LN9)<6W=mAzCl>|)|uF~
zi8cM7z0VpL>(Ej1GLbb7&({<mPh8J&Jhj&M-kqUM?|i}9G=aWnU~aUlFcw`@^vP)R
z)*0sI0#n$yH#9JRO=#eu8I<kJFGeRVV7{|2JfeIi^ck!{%5J45eDhjtvyA-%)}*J_
zcX!vYM^IR*eGB~S9&n}FyC7U9c$B>j)+$QlX5LzSbma__sN<(L*a|atWDTvo)O4-G
z2ek)POS<i)(JpLoMeV1flPXMPP8+gfmq#a+nnCtD`c&$V!Ef-d!kI<U=9xE`{8Tu6
z1#2<+#)SJauWqd4_aCIu!aUNLw>sbXLM8dHO0QR{y$Hpe^)|H^SgP6F5M7=TGcP}D
zG7hz~P7`H3ZWa#9mtM+8J$b9iH9xOJAL=5ujW&njA?+903tCRvjSm~sSjF#6wPCCy
zTKP^MN0Pr=i&(#UEu0(6=SjZb8^%5xZP3n)qfgdWv9_3Dw#448oHT>+dK}xw`$rd5
zHJJqR7{gk$-{IuQe$nPNIc8oNwj6=Z>~Azy&7Qe!{k`{9@B8w``O{5!P80e~zWKiD
zrL&WEJSAVg?4Ihfs7Z{-`mqfwgGOVOGHeji^BUHT%S~69uxB%W`*-BdEm|WjPZgNl
zPvLV*vdp~g$cU`V%C*;=@iXd2*O#b6vGCC+Q-h*iZ97eZeq~iEM4T{oUa9fvl0If$
zB|Z^f)0;Onz;s<Fdeg)IpyVkI{~Pctt$NZ*4PY!J8{heo-9F<F)lPdt1v&Zm|5ppp
z&V<?fKmPCkgG`@H{{*&InVhu$|8WcaU+sU}=VcXZ%&mSn^_8A+a4BQMQubG)L(H^V
ze%8qCt7q_B%CB;n*~VV~%S#wruVt*FHHc!yz>HhxX`elXtcDUZZ3Mp{tzqo9k3Pn0
zZz$dWtL=X>|0m1eY2l)$GG=7q$oU&<te8SfZtXwfQ3bqu<2`NU|BHVycZ{cTo_;##
zqcc5C)Zvkw^~sp+oa^~O<9?UMdw$%RKnHi{a{D|PX9i6t=LdD>tCRDCKT~+l=IGCW
z>&%ztfSmb?*fe)+jzD8BbLN0b>j-oD%3M?IKWnCWx|I>_41G9dch%5nXCx=osCLMP
ze|XLAvVPI!I*XSg9~G=g*-zHq?dMSEc_V8A*_d2Ut<CGHvAUiX&o=h{*Y{Jp;l|WC
zP5C3Igc{@ad7#W>*oAA1?1#_n>(Kk*$C#HWAE|z%cPg@HpRrBP4EGtDebcrOa;l6O
zeISQtG^@PIghz+KUkXoq4r>I2DVyr&`j}~~Elg{l{iSW1muRji*#`Jc{3KJ)<H?ka
z=T2cAB&$c>r8%6j1m>6bIxq{JJli)B*LuhH3{$MNlP2a#*r$0G@mhW_FrUcaS;p@<
zH*68!MVPg+V%Ca^w-esQb1%;_<CKkbzc^%yS=R$rI=ajZ8(p?=X#NJv6tnNWDw0Y6
zL0D;dHZ;au6*ug>p2}exY6m!@c|H#l<yXmXF28ONSL(?^Idd}oUFAH?SKa4TF5;`s
z)2UyDuR7RV_gU;dhq_Pm7Y9G|Er<SGcRfMt2M6BmURBy}cBe%-rSQAH#N);=tu><y
z31{;|E#}o$xwocJ25ltLQnGz?RxWmFrZ2uZ#Tg8{Ovl-4Tay$%|6DZ<&U~!xbHH<=
z%OmV530FJ4cf75-cf9uc-f_*-_k}~{NBFHnCTo1<&RHd^ypuJXeeA*Mj1KE{<vYMT
z=W%vyJY=tV^zgDC+KZQYcQ4*5@c$Kn%>bsgIe!`rzBE{TW?ki(O?AM=@@q#2?FlOH
z-dc;!C{4(AaBG3b`EBJ_1nfu1woK7z@d^GbXjLAzoMC26ynlW5+Wg!x&-&oo1<!Zj
zoWEGrZs*@gQ-0{g2io$!k(OUz#~%f+GZ$-knkmtQlNR<vW}yi;D=nqD9=wP1r>FH3
zt)m>7x^tt}e@)i?t@5Qv<mt|b-oc+(=VLvz#Pb*7+m4vg!hiQ2hhB0OPY_qxMu@9C
z7m#LQJjd2aYp?erF9weD6RQf+@Pg!0;5SNt)?^HOE(RLellAnKpJGqgSogP<5my=u
zp;bGivajVQ+EY(sjdTF#=LlOv%^2a8Z_z04ncz(TFPv=~?EVkdFqMXvkLjdAxK%oz
z2hIr>Bw1ry*#dlRAEo=#&a0uLZWVg|Y1bLn6lFij;!IxWmC(fD@#0ey&*41Y5(j^=
z;@Z1%>7$a#zQlIUPl*2l;fY)Qo%lrIl?LmB!k5M3)njbCH*Y$2mg&-3;CnMeoC^zc
zE-YiyRoL}U{Nm+~4kr7N&NC#_*6F9!ijN>(U;q7TgC1q3X}(~?T$pt8V1vbnoHBG3
z%|PO}dgaFXSYsY=aPf_u{lT&3ziKf*#ubI~1=Xk9_&IfIpk1dP59N;L3{CZu{N87O
zen@dW_<?r)SJ^J+EXwzI4lb#$?gYP@xK}6Rk^1TnfjRWl2jT_LzGuS<%dMkJt4%as
z-Qm)B@f7ilLi_?*4_;};IP!|hO`rPe$MK(zTR3kp$21?ohxWL#)CR=CzwF9t3p@1x
zk&Zj~U#ICE{443Wga2Kc-oY#H3$8X}UP!|oI^|<UsTs2ictJsKkB&p@tAFN~N&JyC
zFEWX5OvjN$d_$Vv!T&TJckus~rg!ktX*@bToQ6Ae(rGF>tpVOkr(yNgjeeQLznSJm
zCUN%rddi9Tk~F=8zb_ppE%4t+(>wU_w5|1Nm_s9dcGJ$?30!5Ra<o2t$S(7nTv{(a
z(~diBx!Q!U`DGE8tS<x0a@+OY_<`DF$vtqB&R`dm*ZO(DdFg)vc(3&F!|PmHJALBS
zc3kNX<jjcEZcPZW_G$Mo1Is77u+eE)flVh}mCh%DAGj&nEPC-vH|eN!rJHC*K+|!H
zL$iMl>)62B!Wn75mQQz(7xA!x<fiSWgKtYlK5+S+qt_5eSA0n2-8aZ1I6Rra<rfam
zV26h?6wfi<331?VI)cMP1G!RV=jF$<lXN@m<B?rF8;G8>aw|PsE8jNWEsK5NI$Rqm
z|HAq6FTOtpWxM%)1-L)o;#FNz9zG!a68Jy!^zve->*oJg;QaZwdENZ~GMJv5|7}Vy
z%Zw4NWP17E?4vjA&ur!Vjn}>@{&PF-_;FY|0(%%9PmXLN82bh6k?P2p`qAR@g~W|H
zZFE6~Gd2;O;F9s(0Kec50JHT1ACJ{nuW<EHKc@J1Ts`b~E%o1zC;m<1YQO7w7G^{f
ztE)_c9)|OwCCL@+6+JlLB$gggKU+Lnum-}Z@ZjX#Y1rW8T{f&BxhM@QNG`NtMaf&!
zu%cug;WpAze?8a6mn6R;{K7%`l0C<U4Nl&ah7C@B$%YjqXQW{T$yys$l>FB;tSEVd
z!pII?Q(w(q=@{+t)E1mJrk#3JhVGTq2922tO&fiQ(!a)*QINbcEu$cL1>q<%F2WWi
z*kbBrlc<?$pOsBsH`63O&l&%y=xtjRBr9wgg~{{NFvcM^tSC7?4J%5Hvtfgi|B{9c
zPM%A+Ej)y>ElGaL#up?%A-rvig5;SttS~t;4J%BJuwg~X(lo3nIn0I)PL`x$gOh_5
zCLit8vHHHU#o%N;w(#tb=i<#Y$5tNB!bU01QJmu8@gEC**-^X>zA$Nd__>UQv2|~J
zL9(lpyfKbb-rgmw^gDSvc^jNOY{QC@e^0}Tl7F*dg~`99VTH-pZCF8ap9|CYSLJ%_
ztZ3JJGpiUoO=j$LF=OKAHvYMjF|Pi8oms5$-E+)`Yc-GMIm3OjXI>m5{1aft4Qt*U
zV-Bk|Nv%<e_jTsQ;?+~UdN!Tn@IFU4;)ZV`9OTVD#o^Ucyn3dx9bV0sIn!$E@J+%&
z-ZOYlPU-3?UOgks!KHIH;aH{<{t55Q1$qC%+D996=_-Evm=Cuwj{6P2Kl3}t&jLP!
zdG%y)n!9NJy@wxbtgFn<%wqO5nX{WYDfSiDGS?3A8<AnAJqG@1eww?#%8z}=;^F+3
zvfus_;+psD<fpm$v2c#Pe$m}+MVP;u?(R^eyF1J;BN9>B@aN5!z4`M;=FRT<6?@Pz
zn?Z4VVosc=`(9mntWVYM^EuO^xd?>g)P`wKI*uNt?9tX`MR(7pJj;NOiR><^zd1WM
zGA*`^_e$(}v-iH4<Q1@gJm2M0JIvI*reSt=u6WDfjlzd*Zf<A3&AN5DpI7^`>^Iwb
z#GUv2Z2TuU%cJ?;2<aG&Cel32Sv8Ng<uJc*KZi97_P}Ld<;CJ1$#&j#Y2ke~(bQd(
zJGJg2Gn)O@RiUxbgmjubH<FlIoYP#Bo6}r5RKF=YZ!@-*b%A4=8%~TSLQRo`b*A9a
z36(C~GE<uEH3j=@jq~1&=Fq%@WY6)PxxI7?m+wQbhh3farS%DytE|K5(cb-weCaYZ
zT2MX%ed^HXHuSl*FsHc|ooZd3ytJj0g-!;YV(1icb@IQ%<Gu@2o}RyRCPwFqWXJLJ
zmA@m7y^~5eUX_u!wJMsp?Yd~<KM!}Wsx(XOcD;Vt#`%9xJl;?p-@$%0@jb*-oCkiH
z=O9zmr~7oy6W|*UHiQyeTSN49MadVyS!NJ<FG@bRJd}9e<|#_<vf-zV7JMh+Hp(Zy
zBa~>d@dJ}j^NfegxVq|SqV4>lqhm9yL^H7ZiOd6+TZy{)R$?o0>8!SEGvU(X?BiK3
zJ}F-1550auSbDGLY5JLbo$Zj`J?AOBGW_MH!l$3L=kniiZS<gcI38a4*3#<RhGPe-
zX+H1GkiUXt!j=0ij|SWI;0GpetKywwmu4AHYhhNt^tf$?Ni?|dyFK2>(rPQ@$%baR
zNi1?{Zu4lOORH}!qWpbyb8VW!<X1$KOWqbcd5eWEPE?YA6QO)Jb6%yvByMzRYk69^
zhO#J3#%x$Y@&+50J6e9Eyy?u?=MQ%e(%e3VoH_Vwgy)y#%RJRyX-*y`yqUV9`Y*ak
zKHoCuo|~A0+*;tV{4*1m5H3@AMq#4LgNOPhDhNw<d4PA4M+5J8AMY3s4)3{y<DaQ-
zm0V-Cb$(Lu&-KL5RQwt*zNK@d;*-7jQ=O3jzp+|6hXiB@RuqsUSYAMu+9tvKVmF;t
zl0CFOQPi}y^%(EcX`SLQ=S~KiqDIxnHt_O?-_r)X`rNbmTaR6{`@^?Xj`rF`zG+(9
zNu6kX4_G_^>l9sHZ@RyWE&%(B=s3S)QQtgy`$QLj{g>zpdei+ubOG2aqATo8_gm2g
zU@wSnU~jr#i7o(Z5nWMlx?hMc0DD4ogL>2bTyz20BcdzrP4^Sg1z_t$H@G+54@DP%
zeNS{Hz3EnnE&%(s=!W#ByH|7p*fP-#?M=5tbOG2MqC2fO-EE=^z~+i>SZ}&Hq6@&j
zBs$K$`~9F+bOG26z*HA6#ZQayQ}q*$pB5$e;-58=<MYKB{&}_J1Ynno&gYAwyF_#W
zSX6XAUliT>q6@&ri_YhZqWc%o1z?{PozE9VcZTQ!u;HTf`J(7f6I}pSEIOYrimpI(
z0a$<0`Fv4yr-&{9%MhK<7e&|oCUgPV`@sDEDY|z==krg&-V&Y97X>>cx&Z8e=zP8?
zx;D`TV1E{!&lg4ad(j18t)lb!qUioZbOG4&qVxHp=yr-O0Q;rre7-2UX3+&;TSSMi
zwXr`KS+}-RbUziWsb0Qa?ZJ}b<sCc0j7#^h=r~Jhy{dJDM>^MvM)5y7@gEAWwd(Mo
z@@V|g&hHCv8i*H{o2ExQzw7aTPxKo*6CVF+C;qKo{F^%O?Zv;T^Xne}{q^u~>8$U?
zzoql8UifXDi+bU=b>7ws|5WF^Uihavzbd?^f6KPcFB4CNPupzWpRm)r(WAHXyQNco
zRje1yw$2-R(QLD6KG%!psm`grXr8iZJ_F33wq#!>x_+`BYnpCfcClcm3dVZ43#$+;
zr-Aobu%in*Px4Ob4I3xA0PI}R1$fUAoiAPa$mxRl(iN;sFdwgALnY6bhG2t47l7r9
z4&Gx!IOmJb(p|Lnn36fQ?i4uXO=o||9tW^L)Ooaf)jPDOYF{5`ocjiGjRUlgVEbvj
z$?oqzcmvt#y@jUECgi>gOf<3l!o(56_0`e5Sg0^j79W`RriU9{nE0C=exN!wyf9(K
zo9369!oDj>>wrrWuP#jNBfJ*=coqCD1M^-ZUMATMg^52a945T3F!2Y%m4YuXOw?5k
zOzd&#G(K!4tmkidws0Sae@{qzV#>4TV_V%kD$mm6=fu-<kI>MB#{17A!)m{$Ivy%!
zUbb=mFWhuu;I|Qu0oOTR(P&&+W*(Wp`Hk*DmAv1o_iDA)P{o{2ah(TNT=P$hurn93
zk~QEp7CTnJo{?<Mer^lzGF5Ok;a;8NWqxR}_hVv(<*=0(MGEaX%<o9wn4;v&;pSz0
zHaU}bA!kNRVm<e<L^#7;M!3R+4{6P#t`BFgVQ$K@-~ZjR5BfUZ%g6_|q(A9EqjYBG
z^FA)=%zRsS0P)N<2}634sWgz=Tm~#H7kO_m#$Lkv9n6huZsjhBnY{a>cUClhJjOjk
z-kzrN&KhT{^1p<4Dq5h=m_5_JE2he1^p&07xA{WlqJ0QEuHmO=_hj?3#rtfW1E17(
zzL}J&;O+?CK~3>~D!7F1urWi6r?RGC^QxTXzbfa$%m)fCFjM1wIO9w>R%Ob2oxPsg
zY}1;iiiFCceS*rtD&IGT_k_;jT`~6Z4xHhPku_GHh~4*%p>7Smc(>LetPpJjYmNub
z02Z$=VLslxpY<!PwRD^l?P{M8?W!WL^{gGluwMc6Dhv6Y*53t-!&6#l=H+mIK;?~@
zxsfUM-8i|Cdm@dT^w}%gICOfaur8}~w9cy3g-S>3tV#>-4TN|`d2%klya_w$eSwXq
z@Q%RDkIJ&wq$#JmtRbVNM_s6dtqwhhjBb%0diQ`eq9)cGO8aq-5oh)5LZ^+^c^K)@
zf*w)MqNC4N?+%qH{x&YljAbpLYwLo$cR#p8YpO-bt$ntye)8_DsauOo{=vU%&)H1)
z9&=2NVid-i`|StDyFqhm<$ug8+wAzDIc>a?7GGx)|7phu&cSC|D}j~3$C`NZ_rP1a
zE5@tcQ965wt8bKyRy)idJ^a75!|YL!)=Pv%AI~?5UlT5iIlTW)Sn`#>D%(Hb>eSgq
zwVyq0=5zKrc(2aB4c^}0)jJ>f*?1Fb9K>1wC8452A#9fl4@y3U+?MWhCe#*1C#o*|
zn7Hml(%d#Uzjy8(V~=Dhb?g4pqfed5yV;z<*S%w^3&P9xZLCp09>59zapySV%w7Fw
zEOsErYZDiJ;PeCD8Ia-Ns5j{|AoBve*r)m{0oV*+Hw9n~zBFQX8qOUsX7WR=5wo#V
z>rp1&(y6vxb+qFQ?yTW`a;=rkz)t4khgxfo#deEUbpHx04zKn~JlHhRRSH&^hD`;g
zwY4~K(Qzl3oz7Lj_npN%C{-RjY{M@F-f;%>X*hdyq*n=C_bA2DLppkCo)26wFFsCj
z`WUA@=~=6>`%X8nyr*Kzl<z68<?twf^}hU#k{mmKJ$Z=$JDv_DqV?%es5m-=qCaen
zQTK+EZ|M^vAL^6%L{DSizpI>ou}S4?eYmFDMB~+6cZTivl{EL)IS`ejhx-cgG;O55
z`gT8_cpY)=SNUlUFfX(D!B2K^ZNN<Uq1H;`#yr(&nGN$b{-XbDHlc@FZCF%e)RxXt
zwSz9qqlv>S8kIp1rnsTKQr=DG4{f?0*rns8-wxVk`>eqr_VC$Heg=KYcnY_c^A*C!
zInVK=bPvL5Pk#<PEr)XoreD1J5z)feO9t>C`)N5l!5pr7EwEabw%$t*_(OhL&Qq8o
z&OZRF57GjEz)!0^b@I{(EJPl*OaJTQ)ia4(oSE}<6|4c+QqKkpIe!7)UBDV#KE_Dp
zpSAf)MvG2y*`tp87V3a6=?u+VOPgE9K9BHzdlg`-o5dT%VY6Aly>u&0Q?<#9S5Fr$
z=NSdp8li1>;Gg%=)`}K8)`*s8FIwWC@zGkYeJ=x6>(ct|JK0a`+V>)0+_z}UP19oE
ziNO6f$t7-?{-c$?-zH}RU()W_#6%mMaWTHBb2JmM!xo-n{>It_Va?6tBl6wK@XzL}
zO(~||KMTCE8d}RTmi5Ao0v-omnQ>1qc&X?^4Xw2q_xFMi7CrF#jFr9M1)>i(w64wg
zUN88mg8OuqJ~_brdDOnQ#v^ZcF%D*b-?NE)X$AZBF8~+4U8hXAT=2gF(|l<iaKrD5
zoUKqe&QERcGvIXw&x1K<F?!B^C_SAexCTC@;qB?`OoedL<1!bgblQO_or{5~-B(;`
zt#{M$;unBV0e_maPdbaI_Cq*}b9m}Q{O1_{B`v?ek>{p;7H~%&=X}%|cA7mpY~{Sv
za377%JblVXqxeA5JkzD|&O8lNT)MbtqVkBh;QLBzAZMVMt75x><prE6F|;{4_mJbt
zuyqHPK|E~_wM%x~)t~r>_89=@jEiJs2l&GQe(8A(9?7?D2#@UF1uW&)jrx<;P3JYx
zO=rSV>GZHI@ITwKTw4);)i0a)D`|RcOZ>HT+~NOIfM5FU4akswF9S37IW?W}Y??3o
z#r!(D=SH^q<pbN|mrwj>e%ZtyNz<br@h8)9^dtUwfM5DO7LXzRHUTrVKPp>Okvm5E
z#nDe?D?92umTdTdUp}z=6^GxWxyLUX{IWE?Bf~obV*3Yp`wWPWUuQtlWvev7scwCa
zHYpCSSKZ^B)17{L_uP}}X^|DLzBNcseJMoV*MK`ZV<TWU6JIl)Js<84SqI+YCtE0O
z$<i61YG{PB^#=DDSB6J>xnCyuPrLLU{@MWlRRR9X0{nv*<F5#X@|0%X*M?3l<Eb`&
z1#|y_wE2!MI`3RiepZ^-iJy^9%ZZN;;Lj$$GRx$xsp9?HquoxP-7|2-F0FmGD9TEQ
zE6Y1;RO-jmZVVx=@zG@TbH+_P>sva*jGsmV3n4@L>8{DPQ)FB2;B}v6Sx#L1wJyJS
zuNOUIrQ`8bdOR6FOpn#XBYVcWFCFjk$UZ7R^>qXB1%JA=t_*Jsc^$s>NA||sq4i*U
ziA#nzPUL=&9z6N}PvYuhhVyfDk5^wq+2~BM;Ho#m$zRom%WtI5rO@bH@keOzLyx8q
zeJ&K8I}Y(=ZKr)x8!4INz>D6~A?~(==ZMc8J9vC;;-l>n-%4~iJ;)1Ax<!DiP12ZU
zAMJp~9-a)fE#e;pjc`g^`BNJs-aO!HFD!h&{-WG5qDk{okHwqg@`_LVI<pz}!8}{5
zj{f64r%vkKaxafwT~d0FQ!n3!W;b#@ye*UT`?__f0Xl!(*#*5fUXl)~JNtlnb)lX+
zUv>f)&MQ-;wUyr=pp&1dd`08s?Qzogm+x<(Q~7>`##g@b$6tw#^7YgC%l8@Z%8#dy
zSH4e*4?Fw$g5~>Ikk>8WjljL~^~%<h@0IVGAg^1#-v{n5U*$i|>z1#|?K{wUaIcK-
z^TE6_{yH$Vxhh|eK3Kksp;7sI_+a_&AU%KiUJ1R**P~bY&H?5xU+%JU+I7xRt|Kg&
zT4(w$;cfh0WqsiDF1($maIf%G|MN1qcGls=v(&{+MZVJW;G+Kwum)gSv)8$q(}{cM
zD8=W|>TJtoa9&(;G)62KN&N?I8R`e|ve1w1d59rA!G%kXAO0`E>jyO0^ww!>op}p7
zpXI_u?}v{9uKdg9I-9v#dGo~|B%a3C)>kk0<B5NpxO6Sz{2gnZ2@^Gmp?{Um#iIpp
zyV^7laB*!{vz`II2)uAQ(`WNs!}?l)C*<b=e~QcVA?NOF9@efx0iJhUoShE%5C7t%
z^QOl$*CgHn=GRSU`y|ii0sp3WLfh<hN!Gy1QyyOak!uoa2M$29n=^(5oIx}fYmVJC
zzb;ffy1+iGIIw)TpC{t*`~jXZoLgLx56_g3^8CA>=Uj*9C3p(#vyubLkHDuip7!X_
zV;6Yo_@oPyZJz<=oN44e2yFi|kKVQYlP*uv<GIEpeiq<a@8<!Zba{U0@nGBa0iFl_
zJm7!m@;u=2%;nr}fahL65BLXMo~0g7u1VY*;92bF0l(DcS>W+t@5KS0Tl_rW7q~oM
z_IS=UiCY3ZGyFW@zwGkd;KJ=T%H$+w0+07=s`kph#^aN}V28)&pEmV+XjFD8t1CS`
zbL|>e=A|x7^j87%mtWMQSNVaz)aEHHKhNWda{gC5_W57>W6FGtp9lPTF3+bto@-2E
zOn~QfKM(j%xjYe%hqO-*@C^3zfRDI51s=~_lNcP}>F4JGUjRNHdfKgTh2<F@-dErH
zK+~(f_4n7e!t(bxJ7m{k@kE@u^N-g9^)0}2(9d(O!}AtAE9`UHh3Wd1^602<e*w>0
zc=?}PnCe>_FsHm6+rQ$`yY=l)F3)c~9&Gzcfaf_s5BT4>Jlj1UZ2Me*=P5rA`0Xyw
z7LNzpJ{913)XxKci_4=keRi9gYZ8wJc$)k?;D6%stoC@YcT<38g`WrfYL~}8+owL_
zT$5N4;Q5B12mH5Op12G5>f1Mg$NPKrt+0Hd$EUKN>y+c;l;K^_sm(M4n(!^JZ7wXg
z&-SUk7yUJy<#W^dk|&4v^S<W7bhgj73vzD)<}c^#J$jWh_*$2z#^XWu^#Pu%{5;^j
zy_&8&C$q=>tBu#Z-aROODrYEWvS(#I<*qMt9~xoJTMYMODO`J-`fJvn-MHTGv+?Y?
z+W3eQC)}#FMw^y>BH`A$wDAEh?RhSqbcHX&&qc32n*ZIpto<jtl(80T>v|krw2u`*
zH}4$o8=U=ln|&<7bPiYXBgE0a)qf8658U6!Ioww5VR7!ZbC2TjhF13+Zs*Iywbyl!
z`~OaK4tJmK3G|)A-DUF>CI8cgJLhnp1=dz~*Jho=ecF||2Yftz4tMcpox|M<u6|;?
z)jNm#bK=sOF>3NL!Y4R~YvX?`UgeK-xa$c^@25$__|D<7ZQokJx!WfMHwE@t+j`46
z3oG1r;bUytO1Se;kH&Y_*26W5jx#@^TMwPi+j{Y3!r^<u{lJsqJ9F#d?tm_?a{$mS
zcj=~b?zX@_bIZKX#m$vGbDvFjkLcX9x3%oCnlk(S)>aeR()lIH<9$}iyIVSO?zVwA
zSEzPs|MQEI<H}rM<8w!chzsxEzZC7%Q=Rh++7o3zv^?he)-?R+UHnM#$FI9?x8m}%
z7-zdFr)thGG}cu`6Lq1&#<BR_%mdx47I2Q(IqO{@ADjP0U^?p^V^3M}>xpa6_d1?~
zIREUO^}dy}-g_xa`R3K&93Lx8-nu-LxXR`!OkQTg<zt1(DTLcNdm6*XF0t`N$x5E`
zv0L+L(>UuL$Hy)LhL2UpIqSWWv)<<sm+q1=f$#}@%*LN1UT9<J^-03g`%Iq4^D&cR
zKNMWZ^)t$)wH{v+ocrm@hl<bjHNlEJTKr9Lo0hT>t?;>`cYRLrKE&mBy5C)87y_oU
z%Mu*_<C@e?3)q&st%sDiWBcKkE<Rrr{C(h_uSssx-R7Yqz_{nLPbK~+oc4I+SHjnZ
ztn$CxvK*fj>~+OmzpU)>%WC<h@NG)N^-ab9MBMM6p6<Vw9M?xh_p(jb<ENqv`sxe&
zwHNx#CPTR}|H#+58?6n=cXfuZAl9c@IIVSlmY>e>6~rCbBMP@T;Y~Vc75_w{ZAo;q
z?mHFF2Ek0Z4g0nWTVun{vSIhSupa@dh29!E!cJ?oXmX+nV6A3uzr+%k?g8N1ue6Rv
zY`XhhI`%4CO)8wY4Z2a>+ZRGsJwMJzR>zp@SvO?mYmVFC!j=FN&0079IUkMYqvBiO
z(s**VQ~!f<1_JZT+2*71<n(iCwlgM=Bl`lSWeP`2pB*mj3vOB-joRWM&HLm{Y1#Tv
zKIQPxUf6Q1oc^O5q&M&>t}Hum#3KPZTQA@jxpcO?vCbUZGJR}$wk%+Jk56gZvWTBb
z+@rDO0Q;n04svft_v7jHf~&u$*H;5{o?b2fd?J6QZHwM|J?WPP&GkMSPp`+I@ygs@
z(>VvfLDwK`gG(nqkM2F@38M4ExJ){2|2X-40h;)*oH6lXxno2dA67i3foBVAhHbR@
zqS+5k2$*N%XEgtqRbu<1Wd@du-k|@VTsqlCe2*VTwsi5!{*8}EGJYJ8EqcLsxpdM&
zvIk(Rf2Q|zUtT36q_R4W-k){pJiU(+56TYeJ;lc(*@uXGvPCPq2!4^^#8+^>tYC52
zuI~>JZlevdb~$a%{lYDDaQ6~6Z=GtlD|NI1;$0?KE^Q6{!Pi{a62Vdq-Irb19g?%s
zk#jp??whZ+W;top3HN}5n=9UH`rBz-@AA$O>;c+6?x_E)3;U8_QHSmt7gj4dvm7~J
zB;2OFE_2ejUbvWp`<!?maP+Hmd8-A>r5&X`yugKBC0N{{n;_Vfds<UgQ|ISdw+bO!
z<*jy1ZLu}9e^0#z_B!;UQMrlcJ|B(BK(POEX*@ao@uQ#|&H4RuGJQ0joRL2NGiUQH
zN9HN<?%$42^8wQw+k@HZ0lN{MJeaK~u$T)|AEvXEx*Nth@Ab?k)j_qVWzru%S3joy
zO#N6G9n_}<X}msdy=&8>oE<7y=#<GjgiXrn&tBu3hVrMkgm?SHzbowagF4IS^@FdA
z&+P|acKO-`bNj)UT$s-C8RPVWykl$2|1+>!(((GiS4HFN2cL22egoX!55C~idHo=B
zRQt|t+1R!x<@qCQ9PGcI0hTTYXuj*C@ybtge!rY<Y!#F<HQ-P0`e-~km%B7xA9sh+
z3iN~DchmA{IwU7RGtre}=Zi9(4bSoV8_oICd4ukY0XkbR;EP>4TORF>=Ga~z*C1a4
zR_B*R{0bk9EeF`memTh9ik`>QE63G;tz<*@Zvi?_uVa*9$SXhOuZ1qC*E=qaEeo3O
z`Di@7{sxWuHTix6zc~G%-s20x+I@8572P=K#3x!0_Nq@W^(Q&d1lxS2<L|3R_-%up
zA29Fn+I)XMIM}6AekA)abV1qD!!Ns^k4I(I5s)o<!9zYBB>O6C6_g#+`-i@~N=8&=
zb)0^Xb-i?ZD%s<YBRi<~H+(#j{Ry9J(R%&hV(8TNyv+F|uOIvkVShjPf^cp>_#9!c
zAN)D@;){2OU~WJ7hzom0Ft;E4i3{5%Ic`6=m9W1b{JC&$Klqq<-G1<UF7GD6+<tI{
z3)>)=+Yf%*g{_esw;%ig;Wp*f?FYXnoZAmh{l}W>G3*VmkPNp!yvvpGZNc3BaG?vk
zS1`9ftOFJ|_qXa^E}f&)J!KZ@$QBvcIcx@v7EE!$>xP?aZv-BFXANgto96S*{2cDo
zsqu6WZJEpeHs#^x7hL@6`-A-T(gA!KdPr8m1-WA)0ew;dd7eJ%`-Ae1r_b*K{GLAl
zavXlyWG3S$*(D^s_>JKw8_5<2hnSVad5Xq9D@=GlFvY6~i(Ygo7dFEO`;!Z6@WJ-F
zuysDz%Pwq(5B8D^YxlvPb73K1vWe2&;lhUdV9&U)Dj#f{3!CACJ?_F9e6Yt{*g79<
zlMCD7gKcnO?LOEVU_pDToh)!|xys`KCb;xp?!u}Fd$4c0uo*tsJua-l2jhNWyByZ}
zV0XK)9X{A17uN2B-Ri<Zz&u;t;?bd-2fNvYRr%;{bYU}mu$T*L@WH;|!q)j<*SWAA
zKG?M`tlbB@5|}rB-DI!h^o(2fQI~_`&I!Om@UP{kvFaavG)iBvvt62cH~vM|3W9R<
z9-m*%XMHrDoLgNQTMlE;D~SikrI-3(9^F>b57Pb2g~=EG^^nFH@qBBsGv53>ar2fl
z-ki+0aJ{iAH1;^5nlv=#6<p(AjeRxV_3)iJT628LKEtjx#|U(~ckhV>!=~y?yLa#2
z`J|(@>=w>u>7A~{yr;JHx}vG$fWIwxf0K7-s4#H{@2D*rUYIxsxYjKF@4hYM{j(O{
zb-SH+&(3Q@@4$O;<ACX`UMf5^Ihycx-eJ@Cfb<UB*=bx!@+`uZd4RRS!Aa*GxT3y$
z(P@+or=RB?xZw&vc29Ln74N|D&e;O@9k-#t%gCeNe;KSW@51RllOn>EHoPcVkftd}
z<`ULAct4&kocr?h>qETWr(YIv2Un5|6Yi~_^N!v>Qg+!@>m9xK6-Gb%9X<4Wm$;|b
z5rtj7-XiSj_4hPQLGmDB>2-jo^s?9Ie0Tlm?w=!5|J|MEaPI|o6zJZPfwvBu+C*7B
zchD)%HuB7oq{h9-(R;TRzNPmaW0cd&z~TYeOQH+B<NciI0<ayT3%uj~jOYTeZK4aj
z<Ndhk0<gzK7kI~eljs7l4WbLY<Gn_70oZEM1>W)guIK`=2SgWm$GcH<0oXT07kJ0J
zUUUK2V$lWO@xEPj0oZ)e1>W)gs^|i+*`f=)<2_S!0oWHs7kJ0}^P&sDYD5=!$NOs0
z1z?wpF7S@`C87(!qM{4D<9)v90<iJGnrK_f0)F`l_hy_U838{mmy7^xl;{F}7!h3n
zHbis*KP(bm0G21ZfFJe~T>zFXx_}>sL>GYl<2C34es~mE&^M2WF5ri6h%Ny8tLOrL
z*de+A>^0E^{P2&W3&8e>F5rj16I}rIqUZvC`0t_%z_yDn;D=9(E&zK{bOAryEV=;f
zQPBnbaHHq~u=Sz~_~DO47l3_VbOAqHDY^h`H}|)ETePePdUp$0Iqc2ETRQI%z2NR0
z10K9V^!B^@1@>J7qP<JBywjq0E_C03U<*CD?wtc3|9nrbd-s3`|4J{pn`{|3^^)tr
zW_WVly9jLlmX^*NddX$4O8EeOT`&4=4jlci=|$fIzq}VcX8~M$T-=Mk2Y!+0J$rC>
zf$}~nEhE9+o2yHzrE`oY!@bAAmJR$<z35$CIA486FZv#MSuc857wCudqVItZ6uqmX
z-tCN{r~U39JpEtezA)Vf;NFF7nl^QwV$(OM&*WZ%M>{hmmwO4UrhAER>a-N+P6Dgx
zTXy^(|3#k<F5Vwl9J@nv)P{YlIzFHWb_AGxZvpSPiRMk>_MHW8{E+avufUDJF1+qJ
zaO3-gPwVk$=WB|m^?0=NPsDrc@o48>8|K&J(ax8}mzMiz=YJ6I(c{t1Ukjhs<I&Dv
z3GbudE__-K$1k52EUk+Jdr~mj#Iu`hgMa*7aM{JRpKUYX|0Z}k9Y@BGf%WL-z}AW`
zt)Bz?f#?Fft3;R9)2Wxs1xxGcz`i9|TF*y2J$=3@cv{aMc)j51v>X|Wf%WL=z-|{^
zT2BWyUv%*54lenYUAE-?EC1!ZYh1`Uj`29}U@;!&On}CA)tpIV3~%52rn|Xnkx`3p
zHgUh!7YUasJfkr21rN^sTGI%}>31gwc&j}cc(3;HUg^Q%y-d8mySX%GyjU>b{ak`o
z0AtU)d^Blj{Y845C%VZ!_jHMFTtJ?&xW5GWIRTj-{1bxrF?mCMaz_T_dbHlV+C#CQ
zN!`=hh7J+)NN0#UCwSL)ewgP7o|fj}E%&tAIKpu+Y|}k5-(K_B(SvUwJRCVD&N?6T
zp<PaVGT{a{?8ts(zKthsy<1!<T4XD1)4E}gcDnGkY!~l_9sEW|mM!1KyWw7VJ1z2v
z-}I#C#Cy_wq*FYi8DSpbyL(=`J~}s#J#_kpUr%1e>(8&^{=9nWTjY_sm~C?l8rgj~
za_T<<e`J0IaEo+B@6bZ$##Lqx%%vmmz36;#t($4DNB7}t{Yv-PY3)kuEq(Bn%lL-G
zxB1=7uO7JO^}72p#{AWr<Hv#BK-`b#W8dku1mT|}?yZ$u%%K<)RM){HnAQY5*w<WG
zgAbPH^7`re0W&$@wskH=*M~V1uejC}l@GnEpgfppyjpiP&5%6zo%G)jx7RKekJMNH
z!H*}thq(0e(@a6H$pP48VCIx>+x?rjChFNyI(ciQwjS`Fp6l!xXq{pNVd2Slb()v(
zX+D|~!k#?I7|Q#nK^qP~jtx&cjtyJ*)@abyzX0YhvqQ`+Lg=uTpUUiY;(q*ffikUD
z8MuC<{94*0z#htv^o_8u+M)A7+?&Ehu4DC1#{>A0o~w>I&rQ6Gpm-_oWWB|EVBE>U
zx(DAq<}N|`WteYehWJM2Ok-UU?q`~-c!mlcpS5zLiz-acJnP)(qI&K=srY2ZyjZ2(
z&Tuz|<=)ZqxW0MGeK(xf<E|C%gs|__n3d0cI;0aTigxXr97=d=ImbqruJ)x?B5o@7
zwsHT8zFS#gtivtHAC65Fo^i8jUOU*-3}O?lZA9gwrpp?umt16;sgrYRp-cTX+8iUU
zb8xj6MVpl_?^Gp~rerJ4Uh*Ruhnqb4geCtk+~H9liY{uoypc4Kn`vsWXLamdYf?Nb
zx+vCZ7R8IAlVb0hMSRDzYsq=|TYv6p=6j>u&-r4c$s}TDn=W9BN}J5Q*~pJk=lF1Y
zVFPs2k*WK5R7TQEI+pza9@%4wmGIjjUV;tywozq?sfiCGZ~CrjNwk@FI>*LO=b1-*
zc(mCNzZd!F-E5Ng*m{@cnwlljxsRi>&UP*Dri{5Or<C$4<2$wS1>6S{<zAW(x@+po
zql?VqyLJzcTi2rFq1yMmYhu{2p&FSnlgHgVeWm-RuI`#jW3I^HyBSN#V_D9w67CC{
z^H<)9tiMj*N+y4V_5GkKp0sm(TXt7TDKtCZ3*<Y)TzkBHx8ytduFrRM<lfYKbGT#Y
zM|`t2hdi&2HjgI1rJu~1*9JWP4JRMZzwOIMi<6HsV8_eHmyaAjADcRR@^Kkq<s-z?
zpO2-7|9km}_jAjSdw*;l$;V~f`BeW{wAtc*;CNEs5Qvmd=evB|ja5@-OkeqgY*L18
zg8pFoIP$i0_fPyO$`v1sQ$8{LFn%6S`66W?|I^(;G5IY%o$6b;`EtcOql?CK-@HY;
zAlO=Lsc+`S@vBw&(Md&=sqVE}K)J{9hrKgQ-YUv?Z^-o3JJ7}82Xk)kJbYJo3&}TC
zKejSX>#iDiXzlgIL;gx!dDyq!sc-V<E_^&)@AzJCMUy#9{%VwV6KSjNq@XWrGS{}#
z4z=CM_s8++8D~>JZl`SdPT9Ww-8HEt)SqbN&^?4byNw_mwA=ft_kp_9^nUjfb~}R3
zs^@PU>mFps(M9ot#0~lKuU8%$p|#5YaMvmyw%arNULbe<S#4I^`cR^DwrSoay=m`i
z2OoVh1?)++r_{At@@QFRoa$WrYf<i2GBxeDM7w5$OxGZ6Dto^-y>e0ebnZl7XRfV^
zPG}U4@BDTxsWQz=PUp$Dg|~CRRQr<3Mcmyzz6`$FPHR#QyzMiiT@BpTM0-*l19mB}
zB|IrxJI#8vi=~y#Z%@ulgu$iGA-ps*QCdu$Dlj$Qr_CrP-?vldlz(gL&dNpaga?<u
z$N2U=?s7_@TWQ!F8ctnQxpEIv(yp`NP~u(g&uX9Pw%Oc;747Skt<{%2euws#_xPR-
znL|r?U$L!G-&?l&J{z*^JCxd1ksj%eGXop9LK7KaYF2ShmHw*`J0yy;4QG(L2Pw_%
zp@EHdn)uRtfiz?Cr@4+lrEbAjxU(ycZ|$9L67j5P^J~c7_mA$HTI6=UNM6Y!?_9Pj
z?e|%0S6)+(S4|S#2>9^x)(6pJOCPgE{fYFi>f_{nE$5g$JwB56oTH9^p^N+}LLF5d
zQ+ddT$A^phE}%S9*=Ae{|8C0WzV9sjyDmz9Z5maFCqnDkxHxU&_XGKDGHyDq-yXn5
zs!z4_DYCildU`e#J~WedCWX!MH*9VWwNnOfV{_$oCH7ny3cnbp9avd4;l-JJ<MTCm
zcHk?9cE>D^uHX*V7hj!WJ=6!C+Tdx)GKo^|bz2LKSC(aF&=s}lUA*2Tw5P&d^Mh0t
z+iB;$vJm~a@W8&ek#~b_<%3%(n@!Muw66Whu50MLWhD40^!om|#v{)9hVvcoD()ex
z9mp66y!X8<i@H{EZsxog`Ha8xfZYcg!WD0wH!ptWcdOg^wwC%PePavxe6Pb4MyNBA
z-95SA%erH$ZHdKqw@=Zxwl!Yp+V@SXtE18C+W#G^>%a=D>-AMu7d#iXh5Kl(cwyV*
zJ_*{83)`0VNsQ2QXP*S`?}P7~7-i%8CQi5UeG_N!Obs$!&;C(&qGcS`*r<)~e4j~s
z8H!Nvc4j8(vdqh4dGF%~&~!h0$|S)!ciqSxYKN%fHP+jq+%4cDVY4;0vtJ^`epm|s
zNbT&K&^RKM70*xc?U~d7p0{x4)=uhg_9dHA*<pU4=9jUl9hsJ$o|U-zPmBR~T8S0N
zRNJNSr-7+$FU&BLOpa3rz5DdAQ$qIAzMO1S-QkQeQ=F;ykEy?G%d-+8?3?1wGb$Ws
zc6cu!`{<Lp1C4U4KCM77E1@zdA*}D8wGF7;d?Z}I`mZ*9LGm2*@XMVVko&YNw~02u
zlbek!Z)|)C^l{ovFC7C;^3;B6tX$#BQ$HX*H@fm7d~@BC_cl6p<~#aH?ve1y)#5$d
z=H+{jKKXxf>Dr)S9L)WMJ$qezGq1cU6whBmyL%?zRczTG$~9BCACXTg#N2xT<4c!S
z_g9|RFRSjSCvo|y;t|I6jKAzV0^>WERqGB$J#G9x2QORV+xFQ9l~X<M1}Sg46MQ@G
zE2+%7mxMNTF9~y381n|+6%ahc-44CtLrs3K_ytpT_ln<e&2F=JS}&ONGsx3>QI(`=
z`QoMj&2XIWt%=`o?^jdz)#LR}mC8ym$xvKjzii8W4=SBDYmLJHk7V`ltvB`LpUUD)
zX6xJd&WZFZb7gwAHprB%y!ijluyNm0ll|iOC3g?B-uqwOt90+CXCL8WH;>&`$32Nl
z8t6AT7i5tK)yamNYbTCaSUQ!tL!u&X4p&8XmT<pZc_n>IJ!K<bDT9A4Wh38Gyn?(q
ze!k0YyBnxqv!-U`4yTULPB-sB5BWYm);c3M^iVV-+9e+kQI`bw=%#ZorJtr&eNnWm
z@oIEuod*3vjf!9Mhwed2Lws5@Q5x;OG~!oh<j&x7lxR-03!k;q@uyKqpWx{e`AkNx
z=DT{w$Kz2Nqm?G}X+IxhxEkH{XI+|Me}}~6n!J(wX#b*P8c!h|PiFiICw<n5TdU9^
zO5ZM-N~a9n!`%Pc&U}!1zol$(Y<Fmw&haj5?I`6L-O@P=doIPcJFzW&Nwwl(>XqUd
z)XOElcrP4vv{&4%qkdQnUe6CkAd9}ZCk}tFIQ+fh)c0QTAH;gcpPt=2{^z;7%RXG#
z3+Au4Y9m6v^!+&1B~Q<f3;&Pmc%Z#l%R8(mYA?KYM{VhT%3f#4Jl~s)-wnSYBX=jh
z$G30G!}#~oobW?2*T2K~x8Ni2)0xmN!N2`9j(?A8T#T=UZT}AAC!-oyzuG-0nAVXy
zf0_1kFRkdrjNGMMz8J&DMxMaWJ=)ZG`S}jp&pjTc^{>bAbJdUbbD$4rmbaCfW_>$H
zzW(KQ$Jg6Rqjn$U$u?shJ>>5*(*8aQf8Vk3Ci0@bC&TVHL**l}g?$e)XV@7pmg^qg
zW!Pp7wy9_AZGX3>!Zg39_r4gL?yI1!$}p^7h06!Bp7plIOuUyc<L<e;xofhsfbZBa
zr%1+TL=xq!ZN#b~ysKPPeul!;3J)x=n;%JxAYMirr*kP0!g@|(e%8YIlojXke&V_a
z?-dp#$J($<$7@cev8m1{%_Q%-Q~UG-&Un>1r|-0Nde5wa{``pYLY|bj4fOFFneTUy
zH>LRwx|c<Et=>mltoaaYB?sHX8OiP3yIYZQSEuMB%$ImaWnL3)-gMRo)@rN=ujY5P
zJf%<l)1lm^?V;SyvQ{S^zIj|IUo1M)X=@8<x78L_G1u&1U9SLtTrsWSA<b6|@0Dk~
zs(f?jGxI4L^+Jthyfs_(38lIh7@p`f^N`Xvg$|#-t2qLC)&je<&rCUYs!e<A_uZ>b
z1MZ~-+)hvOXM$H+vOjH3<9=u}sPEL}LY*OPADWS?Go&L(x00~x(Bx@#+lJ4cHBme-
zQvPq_n||2WD7QC(d1E_IXN&uXJRQ6=m2c@`_@4I$^w&Hx70xJE*{NK6y=Q?PR7Zn;
z>DAdv+b^AOC|~RPWz_b`g7Ue<<%4UvTU)+ac7fshL6O8aNz?O1`JcYYDPNF}#R=>A
zeag}EzgunpD@?AmVV91Ng(3;RuHXJgkMC94{<w4F7kST-KAZO&gL(R8k597qCZBsA
z|JsK?G8Sy5PhZ`EFHScZ2kY^{>G)s^^V<siuN@lsV1>^Ibr-dKQ0qx+H-&QJk1_{g
z&G<6n^1p$FAN4=oM=bxVtLgE-S@?j;r}m%uUrlfSQ=N>ER?z>hL7x2BKBG!n^1m^p
zC;4Tr|9N|B@HbZdo^@UH4V~inUKRc}QvR1ioO{Zb;e#H1Hn#P`+>QGYpR2{^ymXZ(
zr7L=+?cB+0HI`9k8dG_4)Q7yy8k5??B_?Ce+xVlsmgL+qUH&e%f6wk;OwCM_aXBxI
zU%oUHzPv8O<S~cjUWURecJnPW=7`rm%bnV%&`#U)XTB?~_NiU%^~z9g%i7SnSMu$$
z_V6I;pYBo`SiYY&wQl$;C5xy-N5W%>N1OR3S$-^J`iO3Q<dqW9hPn4s^gZ9I-nH>L
zSLdo}gQo7MEtAfl&5h<QV+`{|gO%rfUr6^cy$60haJ7fJ1A5!$aGt&mpNak#17FH-
z-Q^j1I%h&1D1QcA2QcQ!+?|$DzV41t8utXacD{ch-VM;~<LB}H)WwYgmcdWwxjo#r
zr^0#quAO)<aq)iMCZAljN&EPvd3S{KzV|V_2^aTu-ii1K?>Z}wb^TRezsSK!r*$)W
z^4bu@-Q0t_6P#=?8J-TxaozPjIDPkd7r3;Is(WnoRdD+`kGTQ-2&EV5;rkM}b;)qv
z*TKyK=eNOhaNSvE-n!*h-jhiykG1HU%$TFM<aqY@EOeI~SZe2WJ#g97!+l1$(q+}U
z>pk<DkMe#R{QipL^HzYn@s_2?laD&SAbTo}iQv|8tFQ;(&$!sL^;XuS&jl}g=v%Gw
z8IMl(`2;xG;&`~>;<NKm^bx)x;AYu;x~I(1$6K4yJ@JyQI;Qk;X%BQ?yXtTQZKdk!
zGSyXn9gLUu4KdC7Zu7n&QNCMBc`{yNeJxLSy+eD28M&)u1oJ9j*U~rkQM;hEE%m<|
zGpwg?pTe4u#uY8}<@eD4G|kdl!K{h3tQC0Q446KY@g(y9%36ZHy<0>%Xbhn-!}FA9
zbmsASHZtE6U!F^^@LGPGXiwC}PuDn=_$P>O=V{`hb0@M_m;p}d#Nwg3V~I;ojmy0C
zH{Cz()%)NYc^B=P+J@_BLuU0eWA{@ID$}L>cFeHy_Pk)_J%!D>OU%6W?B{e3XKfnW
z>h6cA@<Q5~__=t(@b1`QrTs(S<d%;w1HMzZ_8y$Rt9=Rg1rCP)Rd`hX`}q0&_>a)v
zPx+@<!y4sF!%wp!kVbpBB<&~nD-GV^mu@@xIo}X=eCX@o3Q7CxCy;v=_#1t?`{gbG
zHww82@wc_JL%FfrLb-e2?_Q;R${*#6J6e14dNcHylErU??7%(Wo-ga0+#SF@KIy3P
z9~qGKdFUR7PI>Xl#*?A%YOCCiC;tj?vaQmWUe4Wojtwpbx8Vf13&ANr>I;Ir<H4o+
zn`=uK4x5kP*Q_a`KJZMP4h%p4vit*oX~R#orYC-_%V}H~%QAgMgWuGQ0zQj0q?5nB
z7>4`~;Cncy(~~y$z`6Cm2z>Ww_HPH7n#g6;rD?Y>wCmr-NTcDK9hV?i`I681%RC1@
zuisf3z**o%0XrAlORwYcA7u>qD{vXm1^Ewydl=m3;m<q)|6iavQTlBzZU+39oPb|<
zIge8RcAWHeAM?Y&<pcZp`Sbk(IO#;WoG@?OUH;?AehS=;$UgsL_<s(~iSm{Nx1aQF
z-RMK}KgLFDq{j*J_&v!vK^_y}Mv;c<$3D_fIV#V`E5~nqOd3l*CXI#QZbT-7#}k&(
zEzo41K>yhvBbz<dRhPK>kKpMqKiwa^C*P?HyU71Oetx{}a{fO3QFnhckABOpds-7y
z{+B_!K0vR#oOgj!`|huIqOSngA>7R$#Z3gaV{}j3r9D`$FV^>>b@$i9@XCjj<|i3v
zYwt$u+*Zjl#@o&vMJwr};`g%GNBhqjZS|#p;B0Bm{j@a$%YRQhYDSuT_E!3uD05zL
z+;=+9(p@#sYs_BPzon$9ka73jp=;~z=CpV%`>Vk0@jd(0>bEuj*EshG{hK%c=bU5t
zpXpE7V=t&+PoshNBr}`Vlnm!ROzAAUJ`B!jX9kvk$Xx0OcD3oy)28DY=I7BIfo2qO
z(Fm_GqWn*7IA>7iHPIJuXUrhq7me&a<D%R#vb86p9T~!H04Cgi+T5OU8Cd=x`%Zs=
z#<VYM{gAbSI{HJ=&w^fQ`e|DzBYVAozIiX{YYo{{hURMCr@PSCjtS+S#hIyCc06C>
z5$U)c8p%_+EB(J|UPV}C>#V7GcOU#h-)q9AmNP$Muf2nN8sEXj`liWI#u2*Tz2j=y
zdCoR<*yF$gXe&3_-xPQ6hYPJ_T!S9b3q$ATbafBfdcEc^8Rc8^qxLx93C7CGlXs7-
z=5gOA{})p}vRe?h9NdNz;2OcjFN(K5hTY6r^iS+TcYSkB$>-6Jef)Vj)RU3$sthG}
z9raA}N2R$K-Y2|zCp<sDPJ@WoK_i`1zUu?{uYgk-9Z%;QUA_$PlLLHT1XntS??{bi
zt*0QA`y}%UGi~8V`Z(ERCO>Da?&y3qyf-3m8StF}+!Sz^fa~FN?*3I?D?h^5gF6r0
ze#SfEQyp1Hzq}jY8P!Xc<_nGvXG1UC@pL%D#T`$F$Vd2kbQpXb9bQ9+%oFHvD)h?h
z@pQ-nr*ic3db)ShHVNnF^>9y+@Atr8!k(OG3%@_S1@2+SlM&9qjXHr|uS0X=3G_<2
zY5RG-wEy7Z{Jb7cdg(6bub)7#7nCM?J@7I1+76A<J)XUu0+-n<KRxC0xXY(Lu{TYR
zKO|lL<H=tCF|vQ);$&lw*PmzgBPYu9x4<dS&!E>Oy>#!<Ynf<HkmtL=d48a>Rz365
zUf|;VydF+v@ip-KPf!;6URNf1Z6Mtd$n^Wq=YUNIzY3j4oj~W$iT?yTUjt6^{JfrC
zm$^7UuZNS)mEcdL^La}11UgSZm(k#F{+RODH@yAn`rE4!;H0zgK|2ri;f`1Sh2T%5
z^QlS`oiF?ty)vM=<OH_-2jdXGPX2Ow7o7M$&gcK`@_Tyw^Q`Z6ok;d;E>7ury#8|1
z_{iTD`}O*r%X>WEQeXA_NAQ|cIc@fK7pMMcDL-d?>ENCU;MD$me2;_s75k*(Q~&6!
z4>^4LUe}Glgi{~4?)o0Shr!8)>+-EU;YaZEWc~=;x*4IoOx`*F9A^+^s|@Oj`W}zw
zyU>gRzKq{`e(T=X+MAQ^x51STaOR|Dh|}k5PFkAn^!HzfewN2~UO3Gchwp^r0())G
zk-tFt_324(f6Xc<|LAv%aQS}RH`BP;!j&8!$C=($BjI1yN9%-6I>B+1@~bh*b?<9j
zZGYF#Ud#2?sz1vbj@EKISTA44SZV|EWIORxnNZ$9>cSH)d~Ya}9%D&vCFy(R<oJ}c
zM(|1M2xqm%iRO6tG4N^J)<IfNw1;{3UgJ!s4N|%q<Ca5{Dlylpj5PN@lQEYkFN|Dg
z9Lzfk&`ICE=&AJug*9GNx_-Ln;U5U?!@y^e?oNJwo%@3u1x)^8ui5@FoTq)d9LWcE
zJRS?&CCIb$2+g{K@(afX?=xQ3dczdP)UoF**86VnwceM>*<1F@3o|3|b@uQ{mR*MS
zKETe6lac#6<6S>Ya}}-M%YG`;sku?RTxQ%6${Pj0_P#XcRvEv;xcm3$BH9^$bjr`U
zKcLWVKNqlm|6A}Iz{?(v{dG5jgMS{JW2YY2#n3M0w*Y@=0Y78D>Szys89JzbHG>oF
z@#Jp)m^A-QGH;em9GU(-F_o|6@8q`@yJ-JqDz?}~I(7Jz^jE$YkXO;_eFW{pNC)k0
zXg;So-g43qkKnSI=XaV<KEd2+VXMiz7aDU{y!DYi-K#V&O0jm^Ve=ICnrqF)4_c0O
zk9Fkr#(f!FN@t(%$guTM`S$oF``OhQdAE?xNaRXi>7jjGZ=N^X#YrzuPY+)!{os+G
zHtn(Idh72kd`C@lNUtr>nzz=wojLB)n>^o<-zZJHEzlWg=3`1<el#BVLTtFG+RD4V
zJ(Oqr6L!0pH1}gO<wIrctgAZZbRoDN_+awjz|T}2;{I6nC9f@IFY<ZX)ykh*ANg+X
z#n?dgQu*0{>=A^+ge7ySoz|doonQTDbTbaBy>!y1-0}vY*K5Q0&J*uIY(VA=d(X<j
zdp2_JA>XypvvD8Wx71!*_)E`vz`OWQ8S4Sgx8~I57L{xNMShiry=cuH$9!A34dCQM
zL-3&n=By*hN0nP&`HnJrIx=2EN7h5fdNRyQ)-_ux!>cGumA$_Xcxx4tjme+7*qXY8
zb%{dqRd-P|@9lz>C3Wo;_MCW`DZHZYj?$@~PpPcEeR1ilJ<8wxKkU7Ed{jl&KYaV9
zv$CYQgjLk0NmL?BLJ~m6r9%SBh>%GlI^&FVNP<K|(k2~25z-{Yg+($FmvI9ON`w$*
z9KaPpGtT(n4(<!Inv5d|-6|1ONdLays(ZU{LQtRg_r8C;pU<Glt>x6IQ>RXyI(6#Y
z8~p8|HngQo5#G3CH1}ul<mKb~dPAS-@6?O6bsTu$mxZiZo?y)90G*DG{`Z9F5O<2`
z>wEB#^rXZ8aE~(Ja{6d+=Er?M?|$(2=Y-r30#64gKL~!HF2ji!h1cEzf8k$ny=<|4
z0iIIMUu?G6qQD#aB&bIX-vfOHUF97y9oP^0gDxTGxSu@+nrpxd>c%|pnxR-k<9R>h
zL|LWg9h!iroCnItpk&b5kMp=z?SBJf=LVv_Czxjd!*?qP2N^;9%RuSJ&~>>nZ{1@|
zxK?9uPvX0m`$R#PeWC%eq66?V24ghRu}mXIbO3(1RvK!N#t+v@Lo3qwQ9+|z1O1b^
zmJi^4F<B<}r;m{*Z>zvthk%vkH$ev95wJ?aQ#wp(2!{OVpG=rnb(j`B$$Q(cpo4sS
zRJ054-;W@_A9Krf*wt?&Z56(M_W9qHKY!M!h&XNs=A61{9oN@bywgV7@wbA#poz3S
z27KfL)3+ndF<uDz2`k2Ff_=aQdn?l1^JMH}*muRbGWJsQyKS7a^AKm@y;IH^eDF4>
z9`~C8n)sdo-?5>;jQKTf%V5vy=?!wOMESC1xq~5_>}NgnqE}Tkt|Q9g;0W(fuF<RP
zci_$o?=s`Zu=A=g-Y3Be%03pyeVHRZ9IE15;^z7}7!&KK=zO>!TIu)0K4VWFB=#__
zZMo(Xl3zcj>w-Az@2E4(b^i?2slPMyfzj@m8q@Cu)L#-Y_y!B!J!72e0rW$;;P}ah
zHTsxE`X9@3`FAK=^?4V5KKO#=`#CS``xNJ2h3=Ix3jEs#<OSDm6Lc2!m(-WsD+eaK
z9<!vVM}zmVzqQaSjHlq=Uz_tC#&@^H#`+)eeP!y@!GNiRE~efyY=(Bi!k&?18kEex
z*Ts648~W3zt3_S5scw$2zZsh`DEU^@QD1kr*Myx0JLNHqdk%c)#-7&QRx3sOIpVHQ
z?oW|`XJ5kJ`dsN(#CmZi((8F|0GKcE^C#AQ8@9z>M!PnY7veb!b!Iz`bsJE}J$5GQ
zijgKBGYt3K%ZRgr_mTsWBd%Tse|tjmc*xV7p|Z@d6B7ZO1zZ;b-iqg(WJTCw#y(7$
z$v_>)G6(mZ<f*x?@=>MVXx0lF3}1Gb2mJeCMxD{l&>6(d7%<`-c8q(}b5FFPAM%bm
zpJyEI;atB@U$6B09x_F{h46B3lK$yFI_=v*3+vcEe5M_g9I4l{Kh~S;I>8gdbFXiQ
zfBS66|1#0uum`!%4@zza4*J^L;qM*}8NC;Kob><W@8d#eWiGMUcK^kaG83}OGtFa&
zHP|%@whP{QqTX+VtW&PVUU@5EAGEl$0n4?<*p2UTjtkW<ve=w|vDo-ccgB60+gebk
zJY=!)8|tUpipCmzzKi`s{*hnY^QU94ixA_Je+Q9!_M<4HedLNzGVa6r;#xnZ;ayYk
z<m0`taRt28J5o;#PF@dw_yo<||0OO3<LBQ^qpinx5qFJIZp2+D-Vv1b<WDr}soQp7
zJ#(Mso^RN4VO#eFai7CDF~%qIeF?@is73T0IG>5IM)a!2+0q5QTa#U%TZ6yfu++OO
zHv#(8tHD-9T@&i&fNslD%6|XkKByxdOmnZWxRycoUTTW&pxnLiL@oMaA0h@3{qd~9
zJ&N&%Mt@EN=lW&2KR{=h@h#QyeRoviBQD|~?Vo{9#6?=(Lc5x5Z!YQO+^WjmBCTQ!
z|ARU+%`bQB!%`q={z&hmCz{Rlz6g39=cBLP%W_`_F491|L-no{Wskz1`<LD)`C@r-
zS#E2$K9|mseeV2U^vQWz>RXokS972E9v{nUFwRZpK0jNQ`#AD7eHF-qJ~xH3&vkmA
zpj!hkH!YpARK&EAr%TXgsmga7`zJFtYbo9_WO^0SYZPU|(m0uam~{hX`tMBRy=|i(
z&i|{}%Z&R&+)wVM-l1;idZ>C$wXIkCuW(&oHF3@yXTQog<<BFm&I@?Pi?B!ZqWpda
zI_zlI59_4b;rwPP?$=mvw!?QnZgJxsW+7+PHCFs^4XT}Mb7`aStit=!k0GO6U*5+p
zDHq|};vUEi@9gfxJR0`FyBNbghu7w2VD6~Lh{veg4qqMS>Aqbx&KqgRzVzkV+$oo@
z2;F6V0o`iA@~p}9?naB-fxe7#>PRzvI{;_IPEsGd|F#@QVT|%S(p;Sg9}nKK<T&h?
zSZuV-`94*FDMso$%->_mU2?wz4U=!}e}=Ia<lXA*H|Oq4`aOhxl9UzVeJjG({Q`Ww
zfL|TLIp={(`Z*xmqU~RQzOSWh8+Uu|H=KL+^~&-Po}Or{0{mlfVVvyCpuY@t+&9TL
z?k#gRh3gEy6+_1uY2z$U{UG(X1^1;=KXb0hKl(kI&cu5zRwcs@KA)Wce-wNeOVdw1
zd%rjZZ(ia2!L!1)Cso^4e2<!I+=6nPOWd<ieiX67PoSK7eI)9JXJdc4&yvG7`A<dJ
z9!1>`;6*`}#kTG~OA7C^El4}>x1{hLq4kqthyBHp!&r_?q!~-K3-Je^Wda6!;Vunl
zFg|g|x*ks-_AdV2w1LF`WR#8X&^aHl*nUDE-Ulry{DwN~j&4?MjCJ#(&!s3MKei%I
zxu$;RI$ewX!U9;PzrtOfk&edQv+?~C#v1L$TIs+&uTh_bbwb=mo@f6K*xt3!8Ex3l
zsSAy|G}r*O&>t*!n9AWt-#ZF*18`>X#tmA*^DFm4wmXLRaPbb2&?WqP#)y^s<}=>E
z>)&J{P3u4pd1kcby6WDRf6v%xOL+v18D<*#AXZ82r=Z<TGrr*<&VR-jb|G)>8+&60
z=*Qpx4fEuD@Q-uHaTx6|j(*$V_hqaf&&cl&yd(F6fy;B3L8b|3$aM%FXNJE)#{|{E
zH*mZS4&~46=V|(g=yQkPlsx8G&Hc=TFNrp!fzLdahk=iJjB-a=B9Do~+@A4e7yk^7
zmB2BgTc6udMq48V?KsW`ylcmCz6gI3{Q#u55zlG54AZ9eLDwF@IxIxm%QR&AMLcOE
zbH6wEunY4-|H4}0gN;Kw&ah*;`Y~vWNn3#HT<kBf#kkhF&MEV+V6Eq2tzUw59>ec}
z4B*++(?y3`W~sJyHCX=`&-yD>o4wZJ=K3A5MzuYO@6Pl=`DginskP+HLiv?<skUa6
zrz6ca7St)rEGcZW{k|yMW2ifd{fjY~!}AcIvCLv44vaOOewP=)lY(57-)707onk@S
zx6I<c5AC>i2LM0ia*dH+6J?{`QEDx=^*O3-70Nlbr%*<|(LUlD-i*CwINCGa0l72M
z{UMuX`NceBtObu0$ddt+0-m!EBR>jx!T>hE(X_6O`ir2Oxt1FBwaxd&*e}=hc+{~i
zW3Ja>ZBynbZ;Y)qukDMmu8j3*rjKj8KWJfFwxhhWUvt~BrnX$$qCfDJ{4nkt20)MT
zyuiA37zfvdLH{1;9@0;mN&7#MH`CzKdBk=`8{W?j06wls(q)uW{&~08eVubX8f%^V
z*Jp@lVt@1vJO$lrtn=;qI$w+RkO`iV-^Lm@`j`dZAMtUW6Box~;M)LPT;m2!)QjXf
z@fdt(zejPdqObaNc<u%sW1WA7^B~(ii!!eB@o2|!Zr9iOdaQHqd8C=^+zZ}wjpt+T
z4uIe5!8fjRc^({?OxfzX-Uo#E*NS-(XBw>cr9Zpg!*_MY-+kmdhfO-ZAOh#UQcF%U
z`r%rC1$#Qa9dpWBAFg5_F15J1&aPY-WqTIi<FcbofdzZIUOu1#@Bg5j@7}Cepcm%L
z{rn!3x1gMBoAUW$P_cRETT-YKw$E2>8&N0h1C%Re790D>SP*4fk8<h?vA#MH-(F^M
zKZG)_;g!H6bRW(ig5TJyGXcvq@70a8!<3!^eo>}<-PWc7I}5tmSeKM>qnvAVChFLB
zDdx*qUz8QXnAg`;SP#b9<Qdw4rCfH0oo<4qTpIm-qw5GGZ^-!}lpAG#!n!fbJ!z3L
zE6<bnV-Kgy6R%uD31Z(QfBp@97nauq5f9q{d&0bajDBwGhKJ=`2gLIZ@I>hS8u0wP
z;?&K=Wzb~QRRWiJE#S^Gv=%7$TnAF_6Ow7;aeXvE_jg|x#MjfhkUq8k$tR(=jdd~H
zye_)<&W(2xa36y+gBrp2F)hiyFBJR@V8ym;FaB0C)`#mFOU{b{#ny?xK}ETPUP~ZP
zmqI3dwaTBPKbB`$k%wP7!kll#-u@BZ_rSL-xEBw{&t&{0+IJ6Ks|>i_g)z@j@J&MC
ztj1G;e+KWA{+ah$v}1f(PVvo}Ovs$C)_H-VoHY)8Uf^qFS{dhSM7mWkZ$<jj?(q0~
zmm&DGP4Flu{N>%@finb;z8VeuC?`DpOuP>d(*v9#c;F1dqa5&`kHELAQlzXrg}wK4
z_{*2-`M)!thWb=lzZLlc@P=}g0NFOu<4ox*F|S|zhBk46(BlToJm^}!56p50a2VyV
zr}h@0j&n*~p~NJtU>$6vke$r?uD0m4Lrb{#YRWh3!FSHD83+9|X1uY;8}*Bz-_7_b
z^WFQ{jy;#SUj%N_M0nCdTfG|mr0kPE1LqYOCuub3QSzf~*gu~U_8j7m8Rsm|Y^Rsu
zg1w5ZFJ#z|J<76us>MD01I2c^F3bGx+;GtQzmZAuW~nawmqE5edB}dYIS<))B7dq3
zn`O)_!@7)}BEx1GGt01)u~TK(yhhA2jC7AOY+fT~8J25A$nZERmr;fc>v`3X;WSy_
ziM<KD5i(o|xiHd8P3aBTkIXV`z&r)LX_jH5obvKl)R|?Bbv?=O)7+zU8Ky1Ax#4>H
z6Uv!)==tC4d9l`je-HGs89!yXdmq+cDZ>WcjGgQv!xx`UhIc+eANDrrR>RMA9=<)s
z`(5f|o>MMC{cdr8tK=JJ0Sn%3v+Tw_S(@|#tlx!i<)m1|xjqwVCDmf1k9#-P7S9gc
zx0k*E8zRG!BkT#J(bjec{+?XJ`Ko}eLwegdd1e^C6ZldsDWt0!<sRVT-bCLc`NqHF
zx?bn!f51N@9fi3z(j&oxTI_@Lm2)nP@(VGawZi@%DCWc{huyO`19jfGfw13YTm<V7
zcM#H7mtgJ=V2-&zm~ryVOS|cF=sV7{fpb6dMmh&{?t<OP^9AXW`}4qLqkaYKk?!YV
zqwYh<I&B8pG;C{SU!c*b=bh*2+U`MHX(xo?F(z^L4WJI=xe@W7;{3Y{HWvNl-23I3
zBm(CcB|+K-cz*!p<UeGqUj+CIc^B^(V4dVv!iMJ9*_VV<lP#DJ=I7{Tc05l|-mxCK
z_(R1z8_x+@<ok=1MV^ht-;!Bmed4^n{KgC89Mohla7@NewR-jqKR`wYC^h1qpLeRq
z0P`H4#{uUY@eaOiIpliS4EcoR{#4li{-GR?k^f@g+M!~c&5+08mK2Wb3;cbrwd#Ny
zESO_QyrNm)dlq9Jfb%ls?nU5d{<j#1k)CHtufU#ZmOBH6e;1LmSPR*^332`8l~H#L
zf1jE><lja7Vyg3L(!@D7>Pgo+$daH7J{i?i$9B9oGUIb1Z?t_9x}#OcNtrXs{n$sl
z%ZyQX5p^qQ7-51Z4Miv?4Lt9#UjYNV(P&4Q#TY+f=x=rnjk0n6;ZuNLjQ79#yCAqD
z{%KLRX)opbI${4O{q3~(@%O3tZJ$kNy^V7&zB{tcrlfcO&O`yuOz>52qD=8@cN{XO
z;O|eQzDB((?;UB6Hh>Sj&psdJyAVS}`sSQPe;xLItf}#u#eJn_NqHFb^WOd??Vbld
zyGOD4`dL!0g-nECF@LKe`v%O5_)G8Jeij@3l%7Z>gK)GJ3UJ?WPrSvwE#8t+4V!}S
zk7^AMWUf(c>um7<>o^50zCZgLoR18c;detGZI&FT8Aii51WhooYHdE?o?wQ-y~Yao
zKny&etp;uJ7TXvz4DLI|f>!d3>yh)wI6d;L?Nzx~v7B>xsm`<gC|_&h8SBZjdtxxY
z7)wfy&NDH-m7pDE{q#NsEO<6q=NVy!uK?}Q7F&!N2DJatM7w1<_!Mig1@Y}>@>Jjf
z?cbYVa`bT+bAPiwjwi)9!gD`BA4fCFdz$-Ms>NNUT2jt3&AsI|>|-c9p!YB21ml3y
zIyCp6Edz}>gTDuu2HcgJ=U&z4oN~0j7Pu@H_iH*Xh5W;uzhHt{S_52)C8yO4gE^n8
z&pGiFECp{BOUkomn!vYNClq(p2_>bs&Kts7yugPu{Z=z9`1iO8=CdW(lY@%;alnu!
z;~qZz9hT?Cy{qva-52;?1>-fiJ}-bSpv~lj-sg8-cvo$-pEImRyqCZJZ}3~*rKH?-
zC^(4sL%bW}H+a0|;77MRp*G$L#oU$q1@sB+rOGANGZ=qCJy^L!-U$tY{!NOLcS3}(
z`vv%30>0~=&?S%=(H8efr|at`+&@*~PKSH!kFeL1lyDrkjBVpNe?angsN)^jz*q4u
ziY<H}Bx5fm%t5xt-O^d1ewY8Mem@cYhG{qV`>x*a@jd7_CVW?A?)Np(Z_n++d+$G*
zUOHlq*^;rPO5`%}cT0wY_lmmh+mBy{?!@0tDnQ<c{QJz~ZzLJ{eaI{LTS!L!P3ECb
zjQp#F$KMVz^8aGJDc{O^{0$<bei!Ra`R7=Vzhz|9KgIfM^uGlGdj8J*AH(^rg!jmA
z6q5eU%vXi;8<|(Vdz-*NuL;k3mYeWAjJ#sP^B3lUNBoTq;2jQrG`uYDKe2z|yOPQe
zh?&@yi68D;li}A<t=_$#eHv*yL&5j|kzTq#(gyos(;(yx-|bT1g`JY&13tu!J+qF_
zC~@Z8OFNqFUIY&K*9DFO;NUlxoUmE>9ab6Z_L4Z4@@$H4-fgPEckK9GSSReC2;ji}
zyNPuX_%2rwzIC@OO4*KYReUoI_X}7Phe}|VX4#du3j>SqF2r}KlI9g1kDQlyd>PVf
zm54)2v0o0ycbo9-yt}a`_pZgapX-qK_EGZB!S|t-S(QIW%}bidZyJ7%HJ%mY{5BHb
z1{{u`e@8@a!Z$QF;T)0Q20G4FB3=dj+iR`L-)NuRhWvkk;}yOAWaPhyh<NpJ;7`O4
zeBGOB74_9b&}YH-f0rU%4EkQ4H~cvK^PAXbq1AbJBgfQR`KCl4)14fXO?jL279L%4
zH~l*p*V7o+)60<VGA^_?k83w@bRU-kWm(q$55@%=DKq-Gp2oPIHpa!dVGJDXsJ+$T
zIqyFb@m(bAyb%)%!E@fB&O!YY@Dtw{-c$tMEK?#^v||3xLD@e63%IwV<|R(#ov!p<
zFrG%l83>uZ7xK3o{jW`i&4shwI^6wqzi)yK*N^}?;#1R~j1^^`{z5)^ugfRzf%s$$
zAD=w)@k!g8PgQ@q@I7s_>?*$Byi5A*`cwIAqR1<s>*e}W`9ja@Pp1y=)a#vkxyyH<
zXg|5U++&|xQZau)K}E6syqk(EDoe`C>`9d);~>2iRh1t5AIi&$?OEkzb4#wPswnWV
zx}?%xR8m<mr?j{TV2aYT0l)AMJ1hQq13zLI{I^V$TVzH#9@G<xSCnJziGP<VB}yfJ
zO7T;ulq+S5UCCBblngwtRHi6Xm1#)LP>PlLsI@Dp${1w=p1Devk_HSG9S<IzO#T7?
zSoS}92PvuJ($X`=PndW?=H#sGDO00*FBSdw)t`y_^EdkQclz^s{kd3w-l0Dq(4UX%
z&)@6M9r|;({(N13eyTr@=+Be-Gq#VUL(`vj{h6#kC+g2^{W(*AUadci^ruIE-l{)u
z*PnOm&-MCqhyMH@{kczn`t;`!{dq!v#`Kl+4bh($mQ|IO+ABR3C1uxLtjL_FWPY)c
zzOJgI=wc-)W#YooNh#@}U*i@grHo@vCb~b-U|i8y{a1RC-Ol7B{vxWYmAtCL!s5zG
z<*I^;GIVUevh0Sk@&#q~OG|Hd&kL1i7nc@$itSSiN=mCLibKU$Rh0BlI=O1@+~Nv*
zetEe)Z+<~(X$U;eQ&3uL&o1y3DAUUeitJM=D#|OAX=OJRl$I3Pa|$X7=A)Mi<;t?k
zD!045!c$zNOa`2eFt6m6Vr2#vRBmxW(alPB@l7R##X1s6Nlrz%r?`;KW>$IZ<#Pd9
zSzc9v0V=b~ORMH{p;c5=xjja9Dp(Gb_A82uN(vP5+g>=YpzJ!JU{6!atICR$Ou-_1
zc5zvWC?{HXd08c?vCl7XyTLdmA5&#7ukwg?m7W4YeP(F|X~nGS`8je_)3UC}(J9ZL
znr|dYetBVeX^1g}<@4Q82~Y&~SyFW<dBufQ;QGz>StaGALR~0XxmkLPDP=_*wHytI
zEUvhzxX6CqxC=%q;apnENJR&nT2fjZ;{S9EyQ<*2VkHZ`R+P^#sYF{bSzPtv-&_10
z)c+y*7W8bFykhN|kLi|I(4b5EZg~ZYyi2_)Zz}hpTQi)uTi(}=4sW--uNxiSZh2of
zI=sx|-#Y#>(Xp=E_}3}eaLn}zF2%a!yN-7q-r49{ZyGQAi!tR*c%0qnaCOT&yN%b?
zE${3$URSrgv)lMxV*I@#BBNmxDwpD4bd;5wP*Np+sn)2t-q?v1B@+Meu-R-@0@|>P
zq~O0xm8-;mB}xtc`wJnJ;mTxX9*$^_DX%KWl_X1&<#Nj${0DR@G55wlnTm*t>x2DX
ziH$g48PhvTiHlaVFXezTGtbD(%sjU@c+`L35G9IRW%8hiSOVLldiTeMugso(#_ZX%
zFCfgOO{f06_L`z}{|N+O*>?N6__(6f!U=lZrzr6kD+=zvFmb2;>_*uMz_BWRH-4Sq
z{Nf3G;=y0|$1+i_=UMhw;60S5C>Mi;d4B~n4=Kvg@rqJD0tR}PqU=jol<BBfyoCPc
ze?}kX=VuEQ<*t7z%EDoa@~_VnW!PO3k8V(i4AVy5NSmLxVc*}3pSSRXGr2;?CVcfu
z5q|E(5428EapmlivJ!aD@lVgsD=950yJ6fZ<rT%(%_;Fz&R)R1!~|bdIlB=1!kpO)
z3Q9b)i(n-QY~Ao>oPw_q?dDz=?w5Ju=}JfXDeWYEDW@qPf12{NaJfV<yI>wjHpbFz
zJc2G095)ApuF`_C;@R%<1=#=OKb>!&f8GK)1Zf`5E_c&PoHcHC@xtOlMPWmGQjz_l
ziz^E%Gwgacu4{RExIC%SE=fR}!h$k;8TPq3#r6WR$wB4Mx!H~}43AT;NvizQBs(_e
zNhu4H7TQbXJ{_mbFDR@ipOjQIO5j9-25Z+^Qwiz~RO~6Vvk&j17hgeiK$4Y*U)*##
z*Lp3+^`}XqKh$w#c(`dNg!{WDyYjLHS)5_Xo+)6;pC%bdvxyX2dU4?m_Cjpt9{a`i
z)RYtyg<A*?aI2+_18C5dmpf&4o{;10N`d<njIe9$gzBMpdok^rUyH_|+g?#zSyk$(
z47VoxyNttN4p5tU!pZN#6ghW-cbL74x>wsP=apBLVxo)fDRvN=Dkg&9ITdp%^KW(+
zb56TpjO#X6f~`5Zlk;@e$`KcVf3&{N6E#GXR5a2MB!FNB%Bnn*(34TvWq6X|cF}n9
zw7h(fP>Dcyh~dxErd%de3ux9QB=>5GL{cTDT}a{S;JS7eX1b8b=~?z!h2?fgffUU1
zrf1E{nwgb3J$vSiDI+0=AZ~tTkHTzfIv1An@UBgNu1Rk3=$<=7XTPdX9l@#H5&?Ub
z%+BgA-D1c&)2G`@%duiA<>6rXdEo8*O4;t08o~so4a)Xh#8_%`DPwjXbM2ma#brp}
zQe06Ur=-fNajdG8RpUezCViZ&OE=Y}8+B>2F2hupVbrC|x{0Q`iAG(9tV@N^hdM-t
z#GuFVvUZ%g78$*Ef~-w9*CM0WPPE%EA2)GKMx1hi-9CMC4#t)e9=1NV2^UE4QJ!KP
z`+3SJD=xK{%y(CnRu*&hiz5Y^ri!LiFgp6waiJ1Y4v;iake!w?CM`}WDRYD8g>WX6
z&$qj=gzX-E4eLtT&=#W#D>0FAN><*aI3+G=;Upy%nte?A!codKm2%g{u8R$MHZ;V7
z@H&vI-8h~}1%(x?>!49Z5^Hwe?5ydR12Yo2SIcKUpK&P2%$bIi-ks4hgd%+Q3n9;&
zIy);bcamKa7=j$7FL7uRPeplY>Mzu%oVLEIqM{hP0S;z3!JeiQR#sJpYIQ}_eLtF0
z=}E$g8oQveL7oP%pwM$&SvSybWhJFWN*8=AxTPT6i22GJ=XEWpm_MhWtf*^Qp{KOC
zu!r)w3q1wyR1>+1C>eK3Nf;dt=gRz>(5!2bG0H9*#i%(|b1%BcE?gN{_N7?v$fiJA
z4CNauXE4@2`DW^Od;UUuQAG(nWA<s;)2DEY;KcR-Kc$QwvD3nftpwW5o(=a!DcuWG
z4ZoZ2;}}jV3Q9fp5UBl%tSecX3-?9=7U3xs7~`KNNoy%(_WbgqV*9+p!pc<pL}^Z?
zj<>^h)%V8JgQbo8RbUyH_Jqk@SW;|sc=~$XzJnOp*<hSq7WC8rR^m8)06kTkrMTPJ
zi8<qEn#%faq>TT0QhLOfDtRp^O%<%}LaAQOsYv;msptu;hpFfZtlL!RARM33VNV40
z#5%pHFwIXt6k<;AiL=}sOW{9~{xJKDX;)0XGS8j~nKg;#ILR&|>2YTDdeG1#^?Ehg
zX*9R@AlW^E^}x=az`C(h2kD7jX}@N?v<iNaDH&m=r1d0%ruuRAadJHy%O}k!=)z{b
z1=yJSGYEScm8q}sFn_24?M7b{jDpkjm9Enwt7ThgIdR&<Q{dteOBlO~Zm~(}fT@;U
zj5+5~9Cr?e(8%J{o{PuzT%6W(aeB|i89f(|Hx&!xft!xpJ_PkT2ZR=;BBx!El|OyT
z*zBoOXdo4P>~x63!Ze0bREe`bm45gHimE9$7iZ0b!<8=RQhH8P$Bc_pDtXvlP*PSz
z_cqQ&RpQj#y`jCbu-sj2r{B7~&_2I-zMVF7F;6U6;uKkYGiuAhQEYG0xf`a*UWtvQ
z&|?RT*erlt3~W-$=+UD~VDD9+X;JYgd+O-X7)2;s4!gJlXXwx|x)|Nr4K%U#oO#%t
zV(obt!Bt`a*geZVF!y3HM7Kd%VR=CXHZdG*uPZY#>Qu7B1c&PccZ@@@sWp!Iv0!kw
zU*YXp2p}fF?pbJe!y_$x(^vz=71$SzJwF6g(F4%cmrhZjd%}Ah^;oKXq1;DCNv)>m
z;s|NdVw8UHHmP!y!X(&gB*%r5X)-Ah=_{QXW0l7#%w=@xalDa}m7!HjNMpr<7;*4~
z7c{8|6Kt5Z#%N8Fjp;OaVc0)PPS&(3_DhS)Qb&&)lW}SOSlIPO(YVpw3erYTln{BD
zd1Lc3^D||`RHI?2c>I_Y0*+3T&p0JigPzhxk3SVl+UV4AvQ#Wd!>xlUr3pE<Xs$S$
zbXj`80GM0sE-vuE?SN6A)<~pT_;Xfb?$xuo^bKx7#*xd(%*(rU#zmu3izdf*DHzwi
zAgy~rdiR2i?gisdDHwAK%ml(@X61v3BpBRDMX}1{y!=r551FB4-tR68rE{;CoH-*q
zl+7|{O@e_TL(!!gLsqEurj{(U=NGu`Idlxd0kNPgwuka^lmaTL=pu?@Y*^ML%5hy$
z!Z`Nus;@`9r&bbqNO<$Fo;`JHXjYV*+$pJgpI2l~BU56PoSAv~vJg5<u7T3xn~F<~
z69$ejra=SY^eMBZOgBi(zdCoyrMXk4PM<a1ei0PUn4~djMYG}*YzpNS)H7mN$iLb?
zby}_+XA(P%c5wkG^fV-{tYrS2D()QOu-oNuf?8d4yLz`!UW7}@*>E5hV~Y~kk#Wi?
z>Xf&802Tf~{iZ&&H*i-FDl}BmWAiwr%AHeQQsx0OMsYSnnbP99o=~Qu<hpsGoS|k?
z#NNS8Vv=2GEW--vX7Nj<lxl{SMdMB_N;4JVcrJ{Ia6d^<NwO@AEnF5x7cL9qW0~wW
zy-OdmEW=c$gN-*8^<?Ylirere3nj~)Ul>BVO~uMAxFPa#F^xsV3n_Bgrpv148^Xu4
z>}7_#P&m6Jd{U7DN&K}9$tR%B&XaA>nCj|R_8Mv|+n{lF9vmnC`}TSxfdKxMUp3@V
z=k&;+Wj9aJsFcxJd9Y46GW$3@;7U!y16|qE@kAp9Ctmmim(URjSCO!RLYD+_-D|~7
zh^gA(J?9DT1Uzy$a3qWxefNyRUDssg3jAc3(?Jidt7K;>S(!Op0lZ0=Bm4)&m~!2d
zfI3{hSHN_$!-UgUXhm^hvG6XyQHv{W5q?7(4E<d<&tB;+E-tcTte$c^hFV%)?w(Ts
z$0rRp;cj3UK-uWLJoF5Dp@!(a9%Y{)AD0*C&pGn>Tlu((k2qy2{KS*&;MExL>Wa($
zFv>o4eqrei<|6y3xhSbb070?27=x#idFGY*GpA0UnRU5DE6Rjpm4iM#gvkR7u$g&z
zKq7qB@XiV9C89#%;>Aeeg93+s6)5>`fJ0Mf=1;j|X7&_`buMBlMpK32n|9r*Qpb)v
zZB6=VYbJ(jvagz!oqw6^MxIQC0xvD41GNlx^xT3%(XAN}&Rd9T4}c)g3@6X9r^f>~
zFY$EgCuipL%-m`Dzn3IQ2?YeLUOKWVQQT3;iLRhM!%Uu*KQlLb3f!F(E(ksaka*ZJ
zJhLS@joi%bhmKx^lU2gD&cC{AD=d{?)e1{FZ_0GpQ`Wrla-100lavM=0B9K$l$PW7
zf)dX>^JwgI5fvhV%PR!CPlF3<t{kku%92<^?Q*Xs-KS~Awed665>*kH!I&0-l2;12
zY6z1r77{idOfYQZ&@lB=84QTx(6saf01ZHUL5P(xeLcY;CI>QCCVcSXw(7cK9PLCf
z&MAF|;%;~gGPlZu@F{y$rQlxX^l6vQ2(O>K;?lXJ<>8GAikP}V<dhaee~qrZxvX$r
zMR{2{eA5`(T>Zp%nnqdW?wjS-x&VhvIoTX2kCgDX!lemW!<iSMO+9ouwW7HA79My3
zCj~p_vb?Jx`ctl%Fe&9vY|CT${DQJ7%4iQ5ep^Cj*~2UnY!i1Nr=d8{G`{%-mBukS
zyhX%{4au+=v4=pUbEeIh5}I(ZlE-i<GD0X!vP-pBS<29{l>g^Vac3$8`Iq{|Jy2-X
zbm{rmHOF0056wmIlYh_S&=h?uy0XhU4mE-zk~1yT7Z2$4TTm9|Y(n5Y^Tu#6UD4@V
zssSW~r3(tWuOP?f#V43<tW6W|D|_fKciN0gPu=09p#hm9rznrV0M=!vGYp8>+^fT)
zk=t!2GHp`btHPVqsWrwXb!v^VN#%CgQ+{TX>I!)JO{y#0shd>S`cpTl+-~~=Zqa{v
zQ_1bNU9nMkSA*J+YLUW*D%`9iW<n?jOx4w}zoZb!&4nj`%>4W*Gp@|cpEh&G?2x9T
zwB=r%Hzjv^&g9Dt`6YB#c5WDo9iYH|h0ujrP&+fH=H-hE!G)qX_ycfG46XTju;-v>
zCSQfH6meM2&az)u0IQF}PUk^Sjf#rr79i-Nrz)s55P){H4JAh2vMnen^33ZAUi6QP
z-J(L#?HGG5cES1ci*XJqqK*_tZqia(GQUJ*3J`HpGPeXo<I*b}{*4RNsZ%bUk$0uA
zHBDMix833MEJZMjDSkz0XH0Hpm8X2PxuT%-x^g(==FMk}M`(Tg-{65C_5T$-Y5!Mv
zxQfMb`&29jFRl<fl9^3-H$eQ;Z@TA+Q($U1ehY4K#I4C&#w@tLvghg%XNYf%L4c!8
z!&?ad{r6uE{Fej&<-mVA@Lvx6|C|E|)mFGCipYID5q7R1bY1-5q3G{*F)8A~3Hxh)
z@Ct;&=zl)VKL`~Ueeh}iIUT&YEz|fm;jj7unDKA7o>-?p-;z)JOY)g0o_v>0|F@g(
zbKswNuLDo<ehXeEcuAHgif7f*Y3eKS>Ve(rffp|;nU0|L^Rh+?OOe+%@Q2<sX55&R
zF&RX3*WlGdRt{Zt#`0k+&TOkcc2hw6baef(1^z&zCqip+`nK5=XM|e!WWD#A<L8}M
zsd`taOWW0&GPTyO)_$Wd8>BAVt}ff7)<vmxm#cMUYTXjGZiQNRk6QPrTIXpWlGsn%
z;%^Hy2DFd=&~|d`*)3;j2a2^VA7u{?Y9FZe$8K&5Xj|UTPGIgxes7niwLH$`Kk_45
z8`QQ2B_|F*zHED-(FaJjWBx>=@1*vjs_na0+y9K;6`_5&UfX{Ux{J}ad=8W!?f1JA
zw2xju$r&i|xuO?Gv<0>O9om*dzF_;=iDz`wv}K&tQR~-Q9+QL|2{ifx#Eq_tRM&Lv
z)4x^OmDR)BhZm_+>~2llf2ZHo8wk(Bh<t9<YeS7?irp21XA~e}wU$gzuK>7(f@q_l
z4-2&Y7x`U7*tfesFj#@XV*!5~8yl?w?*OAHGN66Z3@j-22ekd`{q6|0W;L6+m<Vcb
zzlK5l&uc6cP`-T)R%dUm?p<~rC3=$OLGAq<9jh;>!;S^YEq>QIf($!qdy@<`fK)H0
zqL}I<%e-eB_0a+C-G_7#zX1UbqeE4URkrb+)M0$VpVIE}{n&cwVUPFt_4nrpu2=+V
zZy9)Y*Y2*tEJzA`ovr>y-l}=4Hc)qVP2E|w7`&%%pgLN6eW7;XkABygfQtlGZQ7QD
zK9}kphI|yMObDpU?iI`#Xn>GDQP-PwdZ{NmR6Ia0CX66}h<*FkLdI*`L~r>5;aPf9
zUogp+=!B@G`?Qw#6Ej6hP#_wzHab)rBT^l;ZENa}c_2w1-^pr=w&@A4UEu6%;H>wh
zt?|Z$a>uFwTZLJAZI)4HCBcwnzt45Cn5~J(M<cJbT;j0`UP30SRhL>Fr!L!~SNekc
z8lrLrYX5k|D6j^!y6v7wHt<$!Ei1+HtMgN=Ad@Zka0>boZQbXB#3JOyz=|yHiS1`5
z_Q8lUhIQ0}Rc9vlH8QPhTZ_C6E8B-SdkJRy5<3IlSlKX9h|?+TRlS)Mm<U~9#L%iE
zK)w~lelZ|QyXxg+$La$W)5Z*>JT@fdaXJoB!Ns7r@Cl~H>1|`kL1xI5Sf>!eXwlEx
zY#?f^;QLL!pBjA~WAHP!D#fxmLU3r?IuaWj@Lp%)nd=YT7zU7-fH#{Qj>mEk%vJ0B
zTZgm^*7iL>4827$^6KAi62<RKXK~*^-C5_=ojsCmSoz3+YQ@o=6kS(tTUR%vrfzVp
z14P?`Z5e|*wLP01LRATjAB=X~mAv}=m7`XTUOr~U*wr<6)%v!@QfDv!p#HXap|fvG
zR&SfF-uAe9`}OJ_8`V2n)jK{_mtU_gf2{rdL`~Z@uPuN?f{_?#B&;H#y*EzVRRndk
z>vj*8@$wJMjm`jw&t+W{;f+Oc40AsLuo3)BM?oA5Ix>*zB~s%TTeKDZh)E4-%Rhz~
zhR^{wz(@py?fk?6NI=_+O^nxe{Vk~N+S0oA(J%WWaeJfC7la|Ow(F#5LW#W98MDui
z=Q5|Y+TvBK6~J%|pnW;0ny2k%&gY86s{G(;z0y~$xK$Lq{~ihkiTVij&KhI}i%frQ
z|8M=SKFCMP%4&;)1Ar(C+677s<c>Q5LW=fjyL&lrM239yk**r&5M((b-%%?Hj)Tbi
zbJ)bYNZWOluXEp8kps|B0389Vi+l-WhmCFaHCUW|2?sS5C9CjTTQLNc;2Mb0Nn!7;
z>|Liu5P+3D(tp%y@RS6J{+)AVch_)ci=cg8U+A5QBJlefaCmLb<Syi3ahb@`3_!pM
zlAvfpBw=cI-45L>*dv%&9W7S+uG{_Eu6Cc8b#M_lNU@xFatE6VMF%ZsiUee+DkH9H
zd`#O<Cv~xj3W-hEDeWt!R7_QboFIrG$4nk@gj<5xlsct6xzPtw;OXCt(mvWQlr{#o
zp5KzJz2rkfF<tIiNC}}JE{;X4gD$vrSPVlnexu$GLjVE-ZL|CXQM9++?~VhQkk{qk
zV0Z>(f@^GoYhZ$FRDvrj!F63?B)0kGAIR2vhuUtgP`^a}!X4`J0#tM*Nm~K_daw4*
z>(WGD8LrF2J^KNc>diEWLT*HlO$O^t+K5>U23yGT54_Q$<qLO+$NR&*Wq^wYb=doR
zSo~<%b@6W<+cHLb=QxK4^?ZI}@1NQ-l7HMXx_OkSX>j^o!$j(@*P@ooO<%FF4X?(m
zLQD48%F!mdv$x%0YVI%!{j&6(;|?L^Krzr!ABaNcy>Inrp|<~Rzw3ON+nb;@uW+i6
z#^xKa_!Q^fs=#$ewB|~zNv*lw+1eKH?t&TiK`r6yJ7cxxy<WAo{|6`RzW&<Z?_WKr
zeb6?QV%R>Y$l_`sl-7KFMX!$DclKEk(-C`T+*gUCerTJtqHjn1owoKqiRsAH_3GE5
z-Ps?x--=v9$ACKrY6pH>f6VO<NR7Vwn)(%=35~wugu3z)b)`#Pd560419erUy6WHR
zU8(Bo(Q*jyzE$5Dp*3F%veG^{p*8<S+cFKJwYo(6WGIYfb=7C}ospsX&Y8#s>N{26
zi~wNjJ7Ep>mrZ9N6WD6i{?Usz!|IZ1Rb4$x_VMB)vPj!|4O<wUiPj6M0j$Hlby(Z^
zl;1T*+xw{Cl};4;jK!JYH-1-)#CPDime{Rv+NZZvTiLcN{cS;%X<HuI9Z@&nth#|`
zzZIc*NBLdpE%94z+Q)mePgj|7ADu0buYO(I67A|Gv_hnys5(+7tG*M*k_+UlrT7GA
zx`7JJA1#K}Uf*dAjgG8B?$PR4K~H|VQ(OIj;8|1%1|U#VpZ?8Xq`EH<hlVt*`Bg(g
z&h=QDqGLkbjSFZWCigU0bFVXl$YFvkzH%{()lq^&uz>VwI(jV!jCuO-h_=t+cMX;-
zedji^bdd$SZtKG8XwfJ<?PAueV>pmchSndu(I0R{Y46VSyOWXexueB&98k=XBAVzt
zmo2+Y$?6aME@z9jwZHaGKMmaH&WXcPw0np_4_MQcPwb@aC!IiT|5sj^hWY7kaFwlv
z%yAME>N}&&4WV2isABoSEDlX%8Swi~O8#O!ruhD(Z5beWO%_FyMepp|9J49*i8!3U
z9xCx(NUnmtk-l=bwK~>2M68f=u)JS>*6%)x{BRA%6jeu&xV~ERH4+^-fqky4p6J(A
zPe6kR<c(t1R*Zl`II%fl(|{)iY7dRbkFN^YHjEB_oe}8V+;5ZiM1N6ut1>qD^~Ig_
z$0~Rj)edAj1UuheroFeuVLq$FT;$%*!}>yhU~!-7IG$}c`h44Z(fDg{)YtbGs-k|h
zT7QdLzf7(FM*Z_J_0P-IKd)8){2n0G`m5E3v$dv#>=+)tm*8CO(VF@&hl4fF)BCQ4
z(HW&}T+ZXWTK}KAv(BkI`&_MQk+3|U5GtX;p?!KC`UNpSDJl*$s(+3q6wmtdu+c#C
zm6&{;jlLOfo7R*lvRczsD8xV;(lFHxgSwY*IkS0~!1?ql@z{SOH&^rq>kB<2fx}RP
zqbp&JQIs20H<d2781_6saat90^hKBC-9}$yBS!|(tok64>@Si?#D~FPIPjbV@`L*x
zA$JF9Pp(2y9~9|F;*E=q#B#0aYf-MQX(9=sBLzsn37vFxW6jx#y?L~PGr|{a^nos|
z>ANsX&<xTZqTE+)*=A9z;W@cU^hkPr39gw|_bs4^1JO2q3<HG@l6`Bxe#AM{Kf~1z
zRRqMa;pABm@ZN~u-V(h5CneZ=7{DmanE^(5f2TLV$$$q@fmCZ+?Tlo*Q3f^@2dD)J
z0ay_xzJ;Mt>5Rlwc_Yv-G9Yta0;Xn7v-llMaE(c{LZOM7Y;4q;#)_`Q;RYDVaLG%!
zdNw@)cIt)V;Lhpsfe9|FuhVOVVa++}&BE44PI|9LhP)8+=88p*WO*aSq_ZPdijK66
zw;2-#C==G8z#2roZ>+X)p`d{V)HDMOJIlstlC%c2gEX<X)`s{aa9Rxkl#m!$@6}3<
zT78MOu~YyHLH=hZQ5Ab{Fu=Oas-VL)9JOLdJf~CGprr7So%&rDcoPi(ZQ~7ELlRJG
z-of3<FmNAS0A5h*^Tc5?q$Smb7RQ#eo6i!2ebnFYxGQCK>dJAe(w3*M$bh&k3dmDs
zZz`61AFOXE7K)|ePPJjB+VHe`PmFp`FZG@j^`4dLJ!{l^o>lK1sNQ>~dT+LN|1fR)
zCyl<vs@rmssYc&6)w(DSN}icU-%stSn2GJXwEO<S6XAXDLOSk!P`ht~uXU|+lAkA^
z2<`qvK*a)z7JVxC0QeoZ$-K7xIc@t#0<Vh0)b>xP8GvE?C+fZRq3$ExDt4Id&xP7!
zMt5AH_Y0p}*M75l?l<1tFX*r_FZza&7X>!4M-YHDE(oA%y7$4YsVynmCkn^wTP*0%
zhv2IUL~IC>{vDSIN&+y7wfilS1NV<YnIJck32<YApekD6d-e7%9O=jQ21ih%F~9vI
zI52cdpg($|gd7o6=p=<H=|xIhx!S2@Ogudq{kxHofIJ<li?I5=QDjXVb3V5kbZFc6
zX4`{pCr@yz5rXl9dnCw^Or9l~yW;|F$HUt8!}Jzv+aJ?*3_GDcv`D@0_OD=B^$ig{
zE3vP)-&aKu?xCkaaLju%Y9yCtN$v>Logw%OkP`E`W7z9sgNH9>jT{bZI1qF$YEB{N
zEjTWZXxqONE={ceh3Xrv{om;S!4E-EBewDF$K<{jt!+ORfWsFnP|V|d7GRH}?oSau
zw$#K(J>&3oOxl{(GEV!~jJnjCx)k_-QWJZf1mFoIcyLPjQPi)i_y4b8b$OKizk0iw
z4#%cwZD)y(y7@2t5<B@=As!D*76;P@E!y)3wFl$<NxtBbv`){nV>@a*zKiMa>~MN4
zYqaP8lifQAV=i8MC0~Mi-V4KM&$nmWg4%;aQI$PDxX8M=m-c4XUCz~+0@li6Rom%8
zg;gTR)`C?|r79B|V{vc2D2^ROqoKC5Nqhd7wsVs9{I}Z9OYu9=3g)FB6Zw0wvHP{1
zbS|i%d*@84nuAB+j`2Esp#T7$V8DC1=-lB3z6{JkXQQ?gT*#MO1B=?K0+HH7twuEt
zgkdDC7HCkb{^bXd<ijYn2d&^E714v1gH?gp4cg9o**%VuqWhcyqzB%t4re0{jNn>a
zP<>#$PRLAc=j1RU_v(b8$P=sz{3Iw5^{o<DtN^DOBij+DL`goW5By7xU5x5p8U?g3
z(YL=pe9nQBWO^LAyegA31F~__C&RpOr)oRnF;Pqdpd%9qBRLBw%@1OZ-ps=GtJCL&
z57;#<!IgwPJ;8NBg6q=6NcTd3YCF%x?Dh4I)6<cQW4-6dH1Juy=rcZhlD2cCfa)E}
z0S<k6GmHWP8&W|b>9e>GvRhT{z;M5t&9t4@o*|?}Zf_VB82}gug{?P)^35!VQ4|zs
zqBpbrGaO&Wejjt-NAJ`xW54C|;yY?q)_xfqXheG47qV{Q7qZUHx-Vp1(VaERYkiHP
z?bR|Z+E4fH_5SGnr}rIiiT7J?8a@sDxc8v<0dJG{Bk$+lJ>E3Je*I(Hn#NaNu6gCP
zmup`Ogi;5-+W)1u4*^gO%s+hn;}e0yKRIL*UkJ|B;^6-Oct6%#p#LAduiX*wyDWWY
zxLWTB98OfXS(Th;I%*Ed)YcIrrqqn6e{gZ-bCxK!@;P$UFCEWys$Yms+SWLpv-EDS
z8QD?OUONd==*WrsDyio9zX2i=pF6^p0$5-P0Lw9eSiW=kR|PgS1>Rg4*l^w(NRH`r
zy!7tZDPP7u`EFb5!zbGwI&mcB%K^-+4YobfsXe^AwM`UzBalvcH@dY=R5)G^9B=fU
z7r>*vW<ZTw9Z>6=7yxl`g6a<31%kBO1F>HYLBG*obOd6*7@`lMBLH0lP+OQ(pKK7z
zvD_Aj;c()Z{=6d)gCW%>chr8h1~6Z-o#-OajunM2j>T>au#2eg+5@rQ4RIWQ&eAW8
z_dhxq5x??%%;TW2Q>4Fb55#=y*pO5MMg}r!J8B&;!Zl9J;pZ&9I0gvViTyu1?hNEa
zAB#P3;t4iA@tsUPuk?CB83|S{3vLNG+Fm<e6^QYVrOy32?ZlCXzrNoYiAQJryMeFT
z-Z<$ve7qxYWSM>Mu+A+333)i}q%->doTzsL-#S|FKMBBtj=LPIN32X-m9+ev73b2P
zYZQupt&{40?Unq!ZlL&m7JomoPy7xf{>X})#NIH|*X3y~c3%?yODv_P^-=Tl)+$td
zy{Y*9oKW%nP_euZW5u?pC|<X@qnL3I3c=nGf~7}VYq^06X<c5`n24&eR@~5F;aazj
zY&lQk9nB3iw$|lsK6leOTaua+ML7<fu6V8GkhXgS0igd$_jf)RX>tgnX5B1aZ(rZY
zJI@h`XKF2pv_D(EYm?y5{&aHdxh?0=SqU6CI0DDITgZyM_H$u@w&;%Ib7AAR{Ou%M
z%O`Mt3V!`aC$OO?QK&^dZCD0DGzDc69BCWU##QObgAdWR37HIAN3=M!4@Q$M(8KuM
z+Atue@0N3$&k;56recsl&l@2JZ-k)qLgV1L+VBfIkZ`-Soz$Lsz<ZH~G2^Z|0|RlT
z=)k;Xki+-6`;lo+;oj;7>>w>S@W6nv^YkV)Y8Y1={qokT@s<#m>PFPmIcgh8Ltoe?
zjvvKzkb`jQI_?_3dcw+yt1ehRX~l0SdhIoE?(Rs%&I%Vyt2kUx+SV8I_oL&*??)0N
zFkg?h!BEs5?acPpA6u+#e=Ykg;hPX;`FC_yD=4Og<&HQ~bcgF&<a|Y5x7z4)kEezC
z2kp^sQocC9eS$CzGR8xrSp)7f>W?k)<sS<O2sk|!i?gx}CSZ>3W#2pEy^*bHZ=}8P
z!4K-AD}jc0y+i}CVrx*tpoJ5H3iyk6IAKqFVb$-zE_~8|g+M+ffW3bvK(y_9(BkWC
z?+NYEFL9P}Sz*Rb5-!lba2M`UW9pCH$}2@UK?nO2nG?O(gS(@4M-wNIqR@BZt?0L+
zybg93gjies+ad;&902NILH}X}P{O$0o9zf0+6Kwl%LF}wpO1b?0T-OkJ_`&xV*h*s
zv7N)g0ZfQ8o`OqX*IiIkH?cNwxb8PKb(3l_<S>i8Few)M>|Yj{3y%hm9PO;{=<r<&
zojseDucWlC!`YFkn~H*y!qT%WikH@-C|cA@n27XWppmxYX6)v56Kd+l!|K9a07fTs
z4l|_=eO4TI*;fx==~y*ldE$yBUF!OA`k;;Bh*&@=+we#6dyV+LRrn$v%hvW6(SNkz
z_wB<IM`|0N5mx|xj12Cz9-E-OzX^Gq#G7$M8;-k8J%O|OGjL{Y{8DIw;dC-QBQ?Qr
z96vTbL$Nskx3#8yx)y;Zbnrb?f9w`NrW{$%*RUlAf<<sHq13m}xTzb1J_e8yy|ZV0
z*3JNLI*-E!yg$dKJ@#9zDFV?JrT6Egd8g<IZVp}b<y<O>d<M&1-bao$HE|}OmIH;a
zXE;trAQQLsdYNY&ZuUd<7&_7%746xe*7PHMLOH!r#*w1{5ezztNFozsh8_IarB!1r
zT2lplVblrR)){qH)@@GOl(=O?vqRKLf8k@7YE9467sejG3kbb8yv44;JAoL1S*T?H
zzyhD5<Z#`&HFf9I(x<@UI26M>CTa0unT?Q>0(`jSgTgSX2uvz51vWj24TlO(UN>QK
zDKmD+j6S-AP#*9`rDJ8xs@P2ter?bC*7g{lF>;c$J=xmEG;Pm?+Qy*`aqtN_V~#Y~
zaw62nH*0&=h^IHLwLP|Bv~1x-P1Zq39_vj_BiJ+&O`X%w&Y6wM?7q+}6~4q^M<!kM
z>A?=?B55$QvW(_#Utyl#sO`B#+f#uY>~<o(81P5Dv-dGLrJ;BIu}WWql5>mpcr&W}
ziNWBJbYQ;Gd+|Y6F;NxKi0&;=RSH3FZ5T*$E)y+nIZm|9E)6b<5Jxh9q9xeI9<)79
z^lF&wz%y9e^T$Pf4KlKaBHK$Wbc8+BQI?1#7A8H<6gTP`M^<pCH~M(2>B!UvX|yp9
z^t5e6r+N#=soe;l-9ATnqyk2chfeEwPWND*^XOL7Gq^B7;0VK(=$I2i01)Ah6+tq{
zKn%k*jzIfJxdojkYDUV91Q~}eO+q3?v<*ZJ;KOCKjgULDoQZX3M1&;C_?$%I6t~++
zvK0#qn*^aECm`=9>jMhgIs$bgYwFH}JHh017HesU1O3=^axg7R{ejlQMP7$cLrB~&
zgHA#rT4I2409=UhnX0kTRVmK4pB$Ud+%#;<8O=i-hXrjHf)WSTB+i|!a4+N9RiTU9
z;ZLM0hU)<B7m2BJ7=t=ja`_y#Bp(KaND8PzQd~g?omMZ`CIw!u#g#7S1%14UW$maN
zUQ=hs;D#p-gk@y!?6L{?6Nh(<M5pJ01s%1p5pLC*&TO=5O~arzuzN$PW0tgy8~obF
zyQ#+4`GSd-lWl3R?HUGrEmn1;-x~C))dK(tU-AYCm4FbVXs3$uXp}=Gp<DvohhYov
zFSOs8i0MOLZCca+h~s+Gnb?NT=hm}ny7>LDFnKmT-lp@@uA5h|beqn^*3pBW-1Io?
zNFkNv7dR^!0G)|mq^t;z$SF9<IdH~kPgt}!zw@3cNb<Snif1DXWcM{9DMybkaS!kZ
z3G}0DSa?7=xW2()8flq=M^<mbLHBSu@cS5}f~{&Dugb|ko(`JM#D#f3JZMbDvUg#x
zVh3-Iu0Q7W*aBbgYfy7=W%NLHoY#R&q|Eg84nPLi!w{OBC@2Y=*NWd7%nZ&poQaFY
z7=@i8#pvq<dH=QfyZX(&wWiN1)y<>T&H3u)Th-0$)y;35nxK$3WFm5i&t1+4kVPkD
zz8C1LVU0C<oB?(7cUto$F0~rBWmydc&Pc843LWxRU;b|1sZ;~d9`G)ZaPfq@(F_NS
zwE`nN@VVN734Rg0*CX5sSW5Y43t+hIlYRymo%>|xView-xWfrYp_{zEnJ2eK`l%B@
z87$GJ$e55Ni~2>r8CdhURp#Oo>OrVM+SWAC1a*#+xciR)DOcbYGu9V8e6-Vltq2kb
z@+8oSYwV~P5l7L9YtIddvw74_{{~B%cjUMk!j<X_{Kni7-Wq6KD{6?6<v<C`5GWnO
zG^BYbe;kx#LtU|HeP>+I*NIDAM}21>Ur=_8^#Jk&8LUvQTdep69Y6fw31kF*Tx4;`
zyViOoQhn$`FanrPpskfeTYQNVMIY%(r=w-Cfz;^cm|Msd`m^wE*y<~H$U9?kN88z!
zsGK|kB{Xn@4E_vs)K&#l$I;H&ph?9r9O97tJ~UT4>SXRiBgY%>=J+kPP1@%Ej>VQm
z!6iy{FYUpTZ4SNrBl+K**n*X@M4YuTN7FkG2jx5&Y@tpxb{rANjEti>%Afxx4hTzp
z|2Uo>|H?c}?_$I<2e4TK1x_RST=SGRj2OUa$L8om)TW6qk-P&u(Ic8h*Tu5tAK@BV
z&>AiXm=1mhN}t%%;8LO14{r$FHXH}erXhV!VuZpEoh*q14yYpmY$QaCjRe%TA+WY8
z0ROYY=$Eq^T&y~vel%j?mKr=FMvGB9$bz;&&kya>RuNlMf9ww2h3#4Ixqh^^Cl@;T
zW@_WDZ;IdF^7mgyh@-(@e?!oq_Q?^yD^E|(@VhUgVYO%ZB6YE<TUmSlU?gejtTfIv
z5-etMOc+cir$d<4zy8L1jYRrhs~-v1mD-+}RKca%fhYW8JD1g;Mr?*~kdVhJwLR0R
zRHs#2mMGdskI-bZhJBlWa>s)`7VV=y5E7^Vvw;-acyRr(+qqrHRcu5w9J?I>;){u!
ztCbN@U=VGc+kLaQN9!?_;&xEn3TnF^%U&o>z|~61m(U!-XwY_jEA;UaZP$y~QX<s9
z#fvB=uRl;^MS#ivm;LThfb_XWP*H8OB0}%6>|5kX`i{;c)ylRzgcjO8M13P&Xk)<k
z)^-ok-bhF65)>3g+>M=pc71&S_rKT_QY3<SD7;&_H?%fbX{Zt$7bbmR4W#_|MD!v{
zy#k-Zg+VOj&hQB;O*qr1<wP@j^r@Ug7<N1-Eq4yBS5$!GB-U_iPM>-u0vXmU%OPSC
zK9v3X^KHQ%9Bgoj7bO1RDx(ZNIaK^UH?bF73s1r~R@vGRlM^S-JReP9OxBZ#kggPK
z@k&T?`Z20O;aro2`QbwP#hzWHYENDV`OuzR;JQ|OGLLSeFEF*azyc559|`Wml7TZ+
zqWJ>XZ)}I-<#l*V!8?*I6ZMv$CMqWe7#Q{3-Lr&A(EU*+&EazxE;3^+qOu3)&z5Mh
zJ03P~@yLX?cw~On7OyomAJ%vGzgO2kc~I=`fA6LK{ap3$Q`EoDQvY6cY642YmtPGP
zi`Lbalz*$$-1M-&Ug90P1l}X;pqJnr%ewYZ-Px-H-sz&{t^NC>9?3TE5K#~TS<Ck=
zj5O}}P$<k-Z=6^X`o@h8u<BCU)Wt!6emwl(Kv5lVAP5g$w)YWJ7E!J0A&Af1Oa~AI
zWLufgW!lHXa5lqQQSm2Nn_I&RqfPj@+!srzX1CVdCfBXjJk>~4o1+#_jYfjVdSiL=
z!(=<-B%+s7y#JRdC7zcq^Scv&F&+vOK$sY?zG{^AF|_$2e;~otFTph^!F8rr(RMxC
z=ouM65Ec_-a3&Xti2*O7Oi?nKQKLw%Im85_&DXS#VG5C^Yud*$g)s9q?I}#5=^E%&
zq!28-2FEuMzl(%+;5Oc1wtAx1GN>2f%WGi9zp@W$gsZPXi1J+sxIr$S7zW4~ML?~_
z(f}202w?`cQCQrz1Xn_WYgl50JC)esFx~Ymlq`c(*(Z8u65;MTA%Y}T;&%uOgQ|(!
z7O#JWibsJsL81U^uG-kLjeXxA&~JnN;-;7fsJe`rx^!G8ph~24#1rJbGJKU%&^*{7
zXhQi+9%qN{785tnyrhscIHXst(cv45i$eS_qBL;Q5@*a*M`J*DyR{D%HqbGunvShC
zopikkzaDoy2hKpLiP6FsAQkYtusetJlRMfv5D2RsSkfMgohCwk>b|Y9+Ixlk#hBc7
zuzG*OYJ_egEVma*_a;=uSO6u$ZrgjgB2o5oij2~O?tJQQtfJL%?QyPAsQ7r;>fY_W
zv8JB7yT~dY?Y)a4UAN%3#TD7!n|BW%o%Fk8G^|ZxamR=dKXjuVDDyYP!eG`Hx!u<r
zh{pr*f$fZA<*Q|IMZLfXp24y-!4(gA=w(G@8($KO^D5O5h!+Gh_;%1|WURX5iLEh?
zRmsiK?aABJA@xU7DFCoWP2KS9fm#b{(|WG`T6;UUJz0CZOndv1Y!$oMhbNm6K&mop
z<zDr4DU(t4id9d>)hjXD(+gPIyIzUYlYQ%z-rCbOEVb1uef6XktXFK>!`3j)8Qk5r
zL^ns}MgFT^i9%ie#L1Cth8l5L2!`O{g*BR*lXSxhe>OtL7U4>=uhw+CkR+{XnUKXp
zV}l2c8)-Pan<il0piaO59Kv;>)?}ea6+TkAwbPp>+>UWt({B(2b}I~(MYLyH*Ww-=
z0gcAHg}PU0F_t@a?P~q~kfqK^l%p1H|5XSfCVWD0QPkonc%S?;;3{mIK+9(_ujqq*
z^m>agQ9;4YzKa81@$N{A?1M$Ham9OxO%r@U$Lhh_fxD>8pZy~o)<I$T37mQf)(5V+
z<3vA@T0rfXCrsXWahbyFrXBORs$w=IZse-^eoM`XTaGQN;x&r<OueRA)IeiEfLa?|
zM;Z<~U-8b-7o&)QU^AKzen8x!Br0HVXZv7rC^^o?owTf>F;?L|TewX9oigdWmCy)4
z)uDehLvO|C?m>{q6OjkCJ;ffFlz)UnPJ{%&?u?<OtH)^|J5Yvh*z_BBTBa9jdukR%
z!=*2Mk$b#hpQVNjq6B13b~*q<nW^l?0;Y*p*_Q?PeTAuPxHaBsT?|*u;zKK)s~DP~
zqs{&;I*zZ(42B9ON=hPR`~c|qBMKZ<nY)Dp64vg)fG~<h_{$2||GBi(o_j4(#S}e{
zP!R?}h<F1|r7T0#M1r={zDPIbW!5Dvd%aF(cCLUldv9i#g%%Xt0+J%j4EJ1Z=OE)?
zuybAZFvK*-n~$A?^ydm1|CeZ}Ob^0$%J>C;QN#@QC?Y!xz2l`A@I>zp-ctrl=vkM@
z$lZ4JkX1vqPxB8YxU|HRuDAqObb>1;G0Gj&cG4TQ81G3fR<{npZE5?^1lMm9e{xMl
z6bFJgDn#*958yW8!&gN5z*eE$MgaQLO!eb-r~&Qy52y^pt(*k3qV~X6^^>_cbv(aE
z+yANGHLe?=Xx~0`n<cX942w4bsi=smGa|fksMsHg+sfznY&k=qK|C>TB(YXMe5I}9
z4C7`87ie3e9U>$}xBhuFq&$mgo5TnTtuUWO9{ZnkeHsVOVRDmlWWxmjH?DLoJ7imK
zh3UuiOq@9*78bBFoJ8JLIRc*Vk_qxXN<D{?28Yr=g^Mp2Nw!NAuZJ?F6QcKGkn4a2
zc@v@zWaN32_TeqiB-jzes|uz#|9%W&$4-O|XRw&ekuX5g31z&3;gzo{+s$R#3yb0f
zDgy`w*vSx;3+FI5vn1aY$OK#yKm}x$k(z_e2;kJ|7g%h?WFXF*uWj^|h9CFD2<_u`
zvNGr}L&3MO33k(4Lic)eG~tiBHMkht)*^ql4e_<CWGR#_r|%Grv3<f-4P6fNM|k-T
z<0zLC<;#W@h+8tRFMCqp%rnoVUkloe`;%dV@3bUv8xVdr={xDvc6}1qsh%y0b+?-E
zbS*Tlb+ug|&kXF0=qFABK8zYTMVW!0O{wG64^`N5!ZxF8gO=kE%y$Md!o(S4Sa63!
z0akVA*VHA`nICQk$2a}i!tt$3C0;}mUUwpJ=uPnQd;AjoU1OMkV2k6BXe8oscou>C
z433omZqbeVOhclw;Twn9g*VOQBN9d%lqH<_q<0Wc!UK2`?sTk9UUj~o#>DwyV**#%
zs{`7@7ji{g1!G}QynR7-luTQh76t(=0i@$(c?{FNWjc=OzB1jLX$1UXf?#1Ft;w`a
z^m0x6`P<YpgjJes_D#Yr;_zl-6x%F4)u-w8j;f|*d*7uvj;Ic5A1}~e9jg8F745)H
zeki&GmmSMvK%&*{(B6CyFN4n4ww~j6eO7Jt7HV%@UaflnsI3^`cfC~|;myUmE61r|
zNekR6<**bU$r(c{lxdixK8QJt(YO6>n=E?fX8FWBRsexd<sUfG)gLRv>of39YOg&d
zXi|6oq<xsnw-t75phd9zr)m|X;<<XT=g?Sf=Ryd$2Zx`G1lMGQ?+f4mOH;7NzHv}+
zWw4nm-+!r(THER2hB60m&%tZ(2j;O&<RX9nM8E5|%)=ox881Ez);@iw2TWfXzTfY^
z64F%<+}opK8+{=UkM?PY+&NmJwFABUt`S=isx#2<K4WVXUhWc}SR6RT>u$7$_J0Lv
z>H@ySwB>18mEyCDx4wp&Uv1)RSrGwY8HbvvrY60_yGxP64#!!!)ot15v<c@?l|KNN
zfpEE_B@NQU;(WvVr5~u@g}zuM^u<?Q^u?{z7ej`K)4Q%OsFuEhYsz*Ir~CNe!6ozy
zED3tYGOT#Wp%yiCyw__#W37lV9(D*thtQx6MgF^Rus<x;Cg{LA<@-6CBE`#8^4$z^
zR}9xI&yzzE2T)%yHz0r@>RxzBxtAA4G1R8kv>oeQYkCihg&)4aTkW}__i`X6VxkVZ
z;5PI4Qoc+&<T^w9<Q~6k09xRxm$#-cOmKg)9Y<8WUa}n`!UsH`2<d(PAk7DP9}LHW
z_DL)5&=G+R!$H+eBNz|DzS_Btp_O_F#!iG(8a7Eh4UTXIVrNH~ZWIj;nn%p)t!U^l
z8z<s35j)z3DBQMy=TI_49$_2snzfA5@SY#O`Jrkr57WbIf=8g(w3hz-zz5DXIMKBH
zUWc-Vp|lo!%3?5Kpq~hHnGPdV6#d_qoTTB7iC!3`V-B~83POof2XzCa*}gx4i}dAZ
z=yJ)yrT0l;ZCPf>m&4(8#tXRE4*PbI{)s5}xyEfBY<i`Sw<dj|z^(v1POZ=dculku
z!yPM~G}s^+1z+WJYXA%tb7}MqK(gC@6mQKH8ODl>1XCt(jGRg8q{lVo%gKjb$<SO2
z@e*3A_RsT$)6}2*BkyCa0h|jibpHEbwSqe<%cf{=9~01~=w~hR4fw69L;9C+kP#ww
z1Tj@`z=~T_9@eqH;wlxdvFrm*ek6kjRJ|a`SD-`?%sy;6GU3DR=^No38zV48*5i$q
zeR$<=<BQ_O6Y0oBJ&Q%)38HEC`4ZUPfN@ZfroaV_8@NW#TfFGH39P#bgNw;2*0wmg
zwdjlENWLZealSPtZnIbi@z5bE^s#kz9@+NzXq0jp>E|}0gDkNdB!K-!dDe6L(xF!G
z#;zcu*H%s36k(2P3NoT;hS;YV&V*wf#a}n=H3o`lJ68EzG1`s-s_UTyGMzESyZ~VV
zmgA0s_KDh#*^P|{#qah>0fwugIk+-`adJpB1{~_{e<LXPIDVWF-+L{H^*!nx$&&o&
z#NMy8rom#!w!c#Av>u)1wM_l~K%2LhMYYD*>`rg}zW3UeSk}0nZw%&NlF}ZVe|9Gt
zA{O<{{M|`DSCjK;WEqi6?2Jm@^K$JT8Dq?ph)RCpt_xRRB=}veecB$nOFY>eCAOFd
z(`KayLc+yQ<3+}Q!B~^=Ut1&EGh3W|LDR6nV9_k~U5gbv8>wnzb2?V7Usi3ssO3T|
zTjN&YR^BS8?rgf=<tKyap@pp!jn+%VL@&0u@dkl+8gB`x@r$f8P!Q>z$a9w~%3l<T
zGt^?$dmdlWbw%uov?6oHE~^!1AsCS2_AKy9BW}*(FUz+iT5*$#bs6&YAIXoWos6L!
z1|jEkAtWNf70bhw>W=cB?;YYj8<4*2b-2StSBWQF@d+*~j#f5NyxZGXJpby&%R>Nr
z3*rO^Bd-*g*Nsl0Eur$LE%)GM&qdmnw@eyR)L2o&J3>+Wj!8F)TA>>eq^RF1ngBxz
zF<c9$qYU&hB4&6Slz2T)HbGdr+2<K&AAhxy#M|XMVWDPYC^rU;qZAHS;)K+f@WLVJ
zK)_LjuR-DZYEW<?DjH&cqAQr1274d^hNbdnNTrvdofzx87^^gj>8HrA{t@qt9h`pR
zknp*PeE^1Sq}Jj!3ZiJ~Mw<%aSb)#Jcxl2zqkQrq^oScP9XDI}z*G*d*@`^yTgtae
zKp;Y<u%N{N9uqGR(06fGP)0ZvJw^u+3k2i>-Mv9<P$QpwC=vlLzD2cIC=PAMNMCFJ
zpwtM_ZL0$actrrLP!Or|y{1mz$y*iep;d43MIv%j+YzC+f$^xfK?`P1(}LUld*8xX
z<@GZ!$W{FXb6iRDF1}G~-l{e4;6B7eD@06;ua9^y0-HFBV#2OlZtI`S6^Fb?ykYVB
zV7z_5|EtY-(Hfhx_8LA=H3rwp(>t5-nIB`j=3I!X-?QpOc#lSfE`h5df!MM`^(OIS
z6$XKsxzVu1ZxojJ<+Q;0p$1`rXXxksut9@wBXGdNw;fg~2T%I{gwF~<*myGF6K48G
zgqsLR`doG60B%_AZK!Cp?^2qE(ydmwBH;7*^lzSvMrm*V)*p~h1n$zOi>O;`w1C+?
zg2!TYe}}=L*I&ml5&jG9*o{G~`TfZwCs21Phy3}+Vcv`hSBDtH8iyx<cd5iO#5pmm
zrfzbr<JCapA>qVxY?;=48C`h75XbeO_)ryAEI_B!)MX<m!#4vqvZFruH9mObsGC+(
zcNw;KCNHh2n_4SuYOueCFB0{1AB!sASZF9=TSPcNX5JOYF7X*ISanQ^NZAO4{ur5R
z#mTE&VM^c(?dR869`Oa+IuFwV)nis74<EIj?Ayw#S8q-vKUE_##~E{$6H^`W0^WAE
zIK*Wwi<~jlRu-v_>PX?T8w5*Ke=kWIp3;<s^=jAO5~2@HciN~}u;QBDFk9t&MDqP1
z-DF(>z4S!H={Gw|Sbq4{wDe4eHaOgZ3(thu<HFa3*w3)E9pZi+LJL;kA#@N_D6aBx
z=FAXr1<=1D!~k&xgK+Q9Fc9XS{gZe?AjM5S-P63J_wEFq+i4!~OtS*7l{6xT_%J^r
z$Bee+18x-`sG_E^5g!)9J_0@UfqIBa^B>HL#d(M-Q)I=V{ty-BKLou8maOJAO?{^V
z#q{x3M8tsjj+pkC)_Y=eMj_&+Jw|J;#0OYn>N|Uztm714udOlKtKu>zCV=px*V}lI
zme&8-Vm~7t+LmMCB|?*5R0$IGDx`HwUsMTl^(wJGV7xbf+fuu=Mtit{p*q19n&VMs
z1qizip+eVcTW$$`ha=yDx9P5HAH0FbHyO8t*^!<J!(ZsRXfzkxQS5tFf$<v>r~KeK
zDkF=8QKMTlsM9u#{NW&K9G(oZMA^cR3&`#NX7FUgDra9m>|Eq{2~jCx68wCP`QKa;
zeMQB?ta?C36~I;uM-_<uAKxm${xA8p%e4E8a-CVbO#8kl*EzKdGmM>Y^^i80xnISL
z<48mcK1G;n+#3Idr+S8V#o;%;(jpZ90Dv@q7&^1`3BVQm`e0mP+qp1s+Sj(!2$2@S
zRFkwV=ji27Z1ti-Xw@!pXMtme?}iBA=M%5Rir6%Lp``fEJq*PEr@gz4ZR)z?IPUny
zb_fXxmoNo7sh!KF_C@9p(yB#!(LfkXnrH;>8+g%-B;9DK*rG6KRUpzfm2T@m9euH}
zG6tK3Iv%uX@M35SDoE|5B`T8^iqs5`8mcxV4$^=MXuRM5oSWEWXqvP)oAkAOoa_5w
zUw`ho=bn3>;xa$>RTrYK+T-SwzUo3;z#2|ze{OrR)B1J~?8`MN;o6t`)F8j5_Jafa
z`mXiYx>kL=HT;|2*11jtf83?iB!9ipjqFh+6pizt`gnCGu%U78-_ls&e*b5zNK<=R
zbd`Q;px`D?9T$O)PpRwjbdQRcCkyTU;fc3>VYscd&JI{1yQ}>NHhY~N1?z-msiDg5
zTyrT^x~f82nL~{?S-*3>dOSsqDeOjG1tsS@qW4OY+HSs5-FEZ)wd-%L4XTqtO)8jE
z71UP;^|OPpHfX2|8s^4gv1K<tw3m<c@{h&#vP3iAO!}rTwQ9a%g>mn<E^>v{x<L42
zsA@l3QfEsRMpqf1VEM8Zb&z`3nvd9Uj7lj6)y_m6w+7XF%945w6&h6~DPc0G{HO8L
z5AJT<*7uU?&R)0@9{u(81$}*=w*pi3&pk5mq{&=X?(~_<3&J;cxo=8n#Dp^{6*;fl
z@o2+qZo|@gE)vZ6oD1>NhBj`2yVi`ks^-z~<m-nnx9U~gx}#cr`4Q!<9=`mj;=!pP
zzBBN3={oN%^*o+9RvB7LoG*;Ja@D2bvHgpFW)0#eM_swEW_-^Y(E9eg){fytA5|W9
zx%<h^&nbtmx|M~hThYj)s$Z@SFRm?gR=!x#pUmItkLPdchC52_EMhdf9PS0>oBsM%
zc=STM2H$yW!frc?X&-Z%Ek~crSowq%xIbhi5Vd7#>;t*^Dr6XJRFTMCr>f448l@`X
z$;S&y*H2uz`l@9+3u+t@&D3BD(ai9~2fB{<y$XldTTayF<c8NbS;J?0<I<5rHq~S|
zLVm|mX|=Vi`lZ@XsJmug@%4$x>&td8FD!~*U!k(?_JZ2Fuhhhs3o4}hiY8X2!$IFc
z{<dY}EvFj}eq@<heUAD|<$NEhQjdA73sFu``Rs+(QQZ0(Th*J++^D6S&(o<Sp!<mn
zIufeAP=}{{)8y6GCscAWacD?2&Hese%-*?0ZOT5{8~LcBVZVO3jhDH=rzE;hFW8`O
z`|~dHs27OKx2WjO?*8Q9ioV}e8PnUh$K0>~SbIHcjcB(=g;J~S6xW_>JWpk_vImL-
z59s>6CD$JJGpdUNaX-U`L(zzzk^A{UpBoI%4>q|eN3KGjRFjViHaSh0-6_O!!m~@3
zEXnqVLk%|56@jLIw0HN9^VeV7@|toZ-_>_%;2KS+dc31b^DO5us>R2DaqOUr`=uCP
zEX8%-TD*F6kvbVJom7kQ(jE-_>mFoJ-?al%$2)s-#;UfjpWJ)Zi!)X|yCj>t_nNn7
ztZ6mdcdco^|A+ft{i!nu_T03l*RPntcg!GR0OMMgcITCvC#dt?eNjcG?mk@w<8-~I
zZiUkMN#%jYwW-R$U72`&R3>g0hH=aP&gma1r3jymQiKMdBGf8HNGU~7L0pswsL6r)
zr~A<_G_Beb<#9Bj>JmQ@T2z`woSgA{@A|EGXMhqjGC($Z*U_ym#vlHbm4~cWrJ@R9
zZD_99W6A{{e%W39G*5XFCD5vya@mq-^2{5Sg*g!A<i|Se3yRy{Oyt_D)Ns4KU+0p4
zul|&2o!UxDl%nWs&g|VYZX@5=4S>qqlzDvbJu7!BruDOxYreX_V}Abjt=Xqy71h6g
z>XTCw*K7X}tElPEYu6f-bgFD+UikhFjl3BSUa}jN=A7LI*mc@34>TaNEw9mXTdbyi
z_g*|yYl|;Mi*+uK{6=KwR_1Q^G-~T}D=#-r98aj$d5$jbrDE5pVEs&CZ(OZSqC|hX
zP+oUrJBsZUmO%R<vvjxyiYeuRHK>H@S!=>0AN$Oc%7bg9GI(i6OljZgZOPI-!At%U
ztEe^e4%YX?Quh_rC@3r8yFRK4!Sz2?6@sz@7C)m_vlox1?kulVJ)F(aj`&pHiVX|O
z$e*}kQ#vfRk=Z4k+w4#<*$H>Kk!rCpsVsnNgO+b9j(^Fum$&mOUD&A}wL9%@T0Jh5
zu08EbmCJUZ{UPnZ^tZblz@EvvvI~`R+wR6xZRx`qv!_$m!nPoiQCVKv3T4V#GW%k9
zCB%D*g<SUMy5}FW)M2u)S`konY(w`o|J@F-O{g8G;<BIV;*8DA`=zxy1QW%)+Q(14
zQ?LR)eUqY3R@GT*BdUYxkBBQMiH@I*8&_?Iv~K#4+N?U86;4;VTlszHuNdljZ3Bv1
znSC+-r#0nksqkMb8IW$#-Kf%bi*7c)DSWS8UdP?<|J(MmN`;1EdQADQ!Qu8NEGi9W
z2XwFEiXbbe3P0>TEOhF;)G6uD!y_L~N5H^EK>hY)F@Huwe-xeMxGW}AQ8C4ub8n_j
zw-20HbnZFRsU;;#omYOf!v}Sa{VrjfxFghgcAonc{?xR#;m%p>PkoY|lm3JJI#XXa
zeXiPZ(K^u)bmy>Nr|f(VhnjR0CngRlYU?65W~scgb9T3-#ID<F!3Kx*A<+)lq)R6J
zTpwcw@0^{dGGxWj&`r9jp{D569BT3zvT!IpwJT{K)e0IQXkh=CMS~!x$fF-FQ03hm
z!2S9-JHG<^*kS+a!`VsOp*w0(tlGJQw$H^e%LJTzK_8=6mpH~R9&c$;o?V0fS5)X(
z5!W-WXFSj|&@-qEf<zD`gCM16Wsph)sbr8!=~<adB~qzmDwWbFRE{J@k|U{0sjI0Q
zsaTc%<w3RnJwZ*ZR{v0;E><6#8w+FeVhyqRTG#%A(5&j&HMMi<>gQIDBrj>RYo(2B
z6Wc(Kq&}y{y$$tW66z{Pg1Ur4QXzFo;i|$71ud&mn59syFk7KUp;lpzLY+dr!d!(=
zVV**Rg6&K!*3#M1zvjS((;LoicxS_(yWZ_O*Y%gK8(lXa)Z=9I&@Q|GdGy%Q#<EGb
zIWGtxfB*srAb<b@2q1s}0tg_000IagfB*srAb<b@2q1s}0tm#`t^0pR2=oII3ikKk
zg`}3xQn0_}p+@ijlQ8uiTHQVB^cs(*?T<}Q1$%GH)vUq&wfFz+_VyX~df0dVL}Ar$
zD_mH;Y;kk>dYNx*e!eHOskwP^>tl;sS~6QVJ)2p%v9F_d^Rqo&eVG;A&$VQhZP~b~
zJJa6$$lA?Ydb@fuYgT-9McdjHPp@3Qy!G)+TicrDs~&C5tlHY~+}ATte!Hi)cVl-?
zrmgq+j!j?dduFr#YW~`uE*IKYEPHBY`9dxDV)v#^<@>}m0tg_0KuMs;0|5jOKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
bKmY**5I_I{1Q0*~0R#|0009L4X9fNVcrr9h

literal 262144
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
J;6F&<-vARKhdBTM

-- 
1.9.1



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH edk2-non-osi v4 10/10] Hisilicon: Fix the drivers use the same GUID issue
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (16 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 10/11] Hisilicon/D05: Fix bug 3061 Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 11/11] " Heyi Guo
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

The drivers build from separate sources, their GUID should
be different.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         | 2 +-
 Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf                                    | 2 +-
 Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf                                | 2 +-
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf                       | 2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf              | 2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf              | 2 +-
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf                         | 2 +-
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf                     | 2 +-
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         | 2 +-
 Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf                                     | 2 +-
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf | 2 +-
 Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf                                    | 2 +-
 Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf                                    | 2 +-
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf                                    | 2 +-
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf                  | 2 +-
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf                   | 2 +-
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf                                | 2 +-
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf                      | 2 +-
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf                                     | 2 +-
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf | 2 +-
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf                      | 2 +-
 Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf    | 2 +-
 Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf                         | 2 +-
 23 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
index 8376bbd..8b9ee1d 100644
--- a/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
+++ b/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 3246F154-3612-4803-BD4E-4104D7EF944A
+  FILE_GUID                      = 1AB373EB-2CD7-4D5C-9C39-D31845B67F5E
   MODULE_TYPE                    = UEFI_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf b/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf
index e10275a..02a4d7f 100644
--- a/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf
+++ b/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = SFCDriver
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 02C6BAAE-6E43-4910-8084-60D5045729A0
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = SFCInitialize
diff --git a/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf b/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf
index c221de9..0095c82 100644
--- a/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf
+++ b/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf
@@ -18,7 +18,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = MemoryInit
-  FILE_GUID                      = c61ef796-b50d-4f98-9f78-4f6f79d800d5
+  FILE_GUID                      = A311058D-0993-4C05-A3EC-16CC0801C1A0
   MODULE_TYPE                    = PEIM
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf b/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
index 20e2f05..1a2bd01 100644
--- a/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
+++ b/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = GetInfoFromBmc
-  FILE_GUID                      = 43B59C81-9C5F-4021-B0F2-947DB839B781
+  FILE_GUID                      = DFDF885A-623D-4D13-9EB6-8454BA30A7CD
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = GetBmcInfoDriverEntry
diff --git a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
index a614b68..e82e5ad 100644
--- a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiInterfaceDxe
-  FILE_GUID                      = EF5483F8-68AD-4D71-9A23-674D2E9C013E
+  FILE_GUID                      = 89DCAC3C-D653-4FD7-82E7-9840ED7E0B1D
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
index e55d3f7..ac9f467 100644
--- a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
+++ b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiInterfacePei
-  FILE_GUID                      = 269702AF-8004-4570-A08E-00762AE65D15
+  FILE_GUID                      = 0E169987-AC8F-4DF8-9A67-D2860C15699D
   MODULE_TYPE                    = PEIM
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = IpmiInterfacePeiEntry
diff --git a/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf b/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
index 8075f40..8b94903 100644
--- a/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiMiscOp
-  FILE_GUID                      = EC68451C-6D10-4ba2-9862-D27D4D6090DB
+  FILE_GUID                      = 536C9EE4-3D34-4EB6-9195-7BEEDE4D4F9F
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = IpmiMiscOpEntry
diff --git a/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf b/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
index c173587..510c59d 100644
--- a/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiWatchdogDxe
-  FILE_GUID                      = 7C7ACA9F-DB25-43FB-A479-1B6E42F38792
+  FILE_GUID                      = 4C112583-9092-4712-BBBF-429B4B66220F
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = InitializeWatchdogDxeEntry
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
index 90e478d..cb7ef81 100644
--- a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  FILE_GUID                      = 6BB8E531-2E49-43CC-AF7A-7CABDAEB7B7A
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf b/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf
index 80d9c49..d0a8d7b 100644
--- a/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf
@@ -17,7 +17,7 @@
 [defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = NativeOhci
-  FILE_GUID                      = 043D0B5E-DAC1-463a-85BA-2CEDC33A8C4F
+  FILE_GUID                      = 559F7D9C-34A8-4028-815C-D5A73EDEB60F
   MODULE_TYPE                    = UEFI_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf b/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
index ab2be5e..bcc05cb 100644
--- a/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
+++ b/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = ReportPciePlugDidVidToBmc
-  FILE_GUID                      = 9BC4A5D1-5A46-4A6C-AF11-4875268179D3
+  FILE_GUID                      = 5C6B2DC9-D4F5-405A-94A4-4EA9E74A1800
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf b/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
index 909462f..e14723c 100644
--- a/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
+++ b/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SFCDriver
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 209D1FBE-506F-40BB-9C67-4B6085F92010
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = SFCInitialize
diff --git a/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf b/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf
index 539d612..3daf2bb 100644
--- a/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf
+++ b/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SasDriverDxe
-  FILE_GUID                      = 49ea041e-6752-42ca-b0b1-7344fe234567
+  FILE_GUID                      = 6F39A263-C676-4FED-8609-33148079C721
   MODULE_TYPE                    = UEFI_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf b/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf
index 0590919..5927561 100644
--- a/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf
+++ b/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION          = 0x00010019
   BASE_NAME            = SmiGraphicsOutput
-  FILE_GUID            = BFB7B510-B09B-11DB-96E3-005056C00008
+  FILE_GUID            = 12584EAB-60CB-43B0-8806-1AE5BEDEEF02
   MODULE_TYPE          = UEFI_DRIVER
   VERSION_STRING       = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf b/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
index 6b34037..01afa26 100644
--- a/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
+++ b/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = TransSmbiosInfo
-  FILE_GUID                      = 13668C32-1977-436a-800C-F8644D11CB76
+  FILE_GUID                      = 7FCDA10D-F216-4BAD-9D5C-FBF782A305FD
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = TransferSmbiosInfoToBMC
diff --git a/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf b/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
index 79e0d8e..ecf61b8 100644
--- a/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
+++ b/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = OemAddressMapD05
-  FILE_GUID                      = 32BC48E3-5428-4556-A383-25A23EA816A7
+  FILE_GUID                      = 8F35288F-9AD2-4B4A-ABC2-D97654FB3E5C
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = OemAddressMapLib
diff --git a/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf b/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
index da28c5a..b863dc2 100644
--- a/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
+++ b/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
@@ -18,7 +18,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = MemoryInit
-  FILE_GUID                      = c61ef796-b50d-4f98-9f78-4f6f79d800d5
+  FILE_GUID                      = 1E71DFDB-EB4F-465C-BBB3-93D3FEA48437
   MODULE_TYPE                    = PEIM
   VERSION_STRING                 = 1.0
 
diff --git a/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf b/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf
index a875f98..10ff0db 100644
--- a/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf
+++ b/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = Hi1610SerdesLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = BD95FDA9-54A4-4BDC-8EE6-47969ADF25F1
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = SerdesLib
diff --git a/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf b/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf
index dea2a72..308128f 100644
--- a/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf
+++ b/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = LpcLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = FEC691AE-110D-444E-9B85-0A8F2EFDCA65
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = LpcLib
diff --git a/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf b/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
index 84125aa..fbf16d6 100644
--- a/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
+++ b/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = PlatformSysCtrlLibHi1610
-  FILE_GUID                      = EBF63479-8F72-4ada-8B2A-960322F7F61A
+  FILE_GUID                      = 0DC0BBF4-2E09-4943-9534-48BF2EE274D3
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = PlatformSysCtrlLib
diff --git a/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf b/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
index 49977ea..67d4a2b 100644
--- a/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
+++ b/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = Hi1616SerdesLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 0CBCC289-639C-48E9-BEDD-039B21F5E97B
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = SerdesLib
diff --git a/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf b/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf
index 35d90df..e36c6b6 100644
--- a/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf
+++ b/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = PlatformSysCtrlLibPv660
-  FILE_GUID                      = EBF63479-8F72-4ada-8B2A-960322F7F61A
+  FILE_GUID                      = B6C2EF97-2E30-4AA4-A3F4-D4EB1BBA1CD2
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = PlatformSysCtrlLib
diff --git a/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf b/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf
index cd25daa..c9f3c0a 100644
--- a/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf
+++ b/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = Pv660SerdesLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 488347A3-8014-4DC4-8566-B51CA16CE0BB
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = SerdesLib
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH edk2-platforms v4 11/11] Hisilicon: Fix the drivers use the same GUID issue
  2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
                   ` (17 preceding siblings ...)
  2017-09-22 13:58 ` [PATCH edk2-non-osi v4 10/10] Hisilicon: Fix the drivers use the same GUID issue Heyi Guo
@ 2017-09-22 13:58 ` Heyi Guo
  18 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-22 13:58 UTC (permalink / raw)
  To: leif.lindholm, linaro-uefi, edk2-devel, graeme.gregory
  Cc: ard.biesheuvel, guoheyi, wanghuiqiang, huangming23, zhangjinsong2,
	mengfanrong, waip23, Heyi Guo

The drivers build from separate sources, their GUID should
be different.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         | 2 +-
 Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf                                    | 2 +-
 Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf                                | 2 +-
 Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf                       | 2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf              | 2 +-
 Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf              | 2 +-
 Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf                         | 2 +-
 Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf                     | 2 +-
 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         | 2 +-
 Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf                                     | 2 +-
 Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf | 2 +-
 Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf                                    | 2 +-
 Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf                                    | 2 +-
 Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf                                    | 2 +-
 Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf                  | 2 +-
 Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf                   | 2 +-
 Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf                                | 2 +-
 Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf                      | 2 +-
 Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf                                     | 2 +-
 Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf | 2 +-
 Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf                      | 2 +-
 Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf    | 2 +-
 Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf                         | 2 +-
 23 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
index 8376bbd..8b9ee1d 100644
--- a/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
+++ b/Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 3246F154-3612-4803-BD4E-4104D7EF944A
+  FILE_GUID                      = 1AB373EB-2CD7-4D5C-9C39-D31845B67F5E
   MODULE_TYPE                    = UEFI_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf b/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf
index e10275a..02a4d7f 100644
--- a/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf
+++ b/Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = SFCDriver
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 02C6BAAE-6E43-4910-8084-60D5045729A0
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = SFCInitialize
diff --git a/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf b/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf
index c221de9..0095c82 100644
--- a/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf
+++ b/Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf
@@ -18,7 +18,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = MemoryInit
-  FILE_GUID                      = c61ef796-b50d-4f98-9f78-4f6f79d800d5
+  FILE_GUID                      = A311058D-0993-4C05-A3EC-16CC0801C1A0
   MODULE_TYPE                    = PEIM
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf b/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
index 20e2f05..1a2bd01 100644
--- a/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
+++ b/Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = GetInfoFromBmc
-  FILE_GUID                      = 43B59C81-9C5F-4021-B0F2-947DB839B781
+  FILE_GUID                      = DFDF885A-623D-4D13-9EB6-8454BA30A7CD
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = GetBmcInfoDriverEntry
diff --git a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
index a614b68..e82e5ad 100644
--- a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiInterfaceDxe
-  FILE_GUID                      = EF5483F8-68AD-4D71-9A23-674D2E9C013E
+  FILE_GUID                      = 89DCAC3C-D653-4FD7-82E7-9840ED7E0B1D
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
index e55d3f7..ac9f467 100644
--- a/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
+++ b/Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiInterfacePei
-  FILE_GUID                      = 269702AF-8004-4570-A08E-00762AE65D15
+  FILE_GUID                      = 0E169987-AC8F-4DF8-9A67-D2860C15699D
   MODULE_TYPE                    = PEIM
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = IpmiInterfacePeiEntry
diff --git a/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf b/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
index 8075f40..8b94903 100644
--- a/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiMiscOp
-  FILE_GUID                      = EC68451C-6D10-4ba2-9862-D27D4D6090DB
+  FILE_GUID                      = 536C9EE4-3D34-4EB6-9195-7BEEDE4D4F9F
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = IpmiMiscOpEntry
diff --git a/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf b/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
index c173587..510c59d 100644
--- a/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = IpmiWatchdogDxe
-  FILE_GUID                      = 7C7ACA9F-DB25-43FB-A479-1B6E42F38792
+  FILE_GUID                      = 4C112583-9092-4712-BBBF-429B4B66220F
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = InitializeWatchdogDxeEntry
diff --git a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
index 90e478d..cb7ef81 100644
--- a/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SnpPV600Dxe
-  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  FILE_GUID                      = 6BB8E531-2E49-43CC-AF7A-7CABDAEB7B7A
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf b/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf
index 80d9c49..d0a8d7b 100644
--- a/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf
+++ b/Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf
@@ -17,7 +17,7 @@
 [defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = NativeOhci
-  FILE_GUID                      = 043D0B5E-DAC1-463a-85BA-2CEDC33A8C4F
+  FILE_GUID                      = 559F7D9C-34A8-4028-815C-D5A73EDEB60F
   MODULE_TYPE                    = UEFI_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf b/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
index ab2be5e..bcc05cb 100644
--- a/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
+++ b/Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = ReportPciePlugDidVidToBmc
-  FILE_GUID                      = 9BC4A5D1-5A46-4A6C-AF11-4875268179D3
+  FILE_GUID                      = 5C6B2DC9-D4F5-405A-94A4-4EA9E74A1800
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf b/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
index 909462f..e14723c 100644
--- a/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
+++ b/Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SFCDriver
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 209D1FBE-506F-40BB-9C67-4B6085F92010
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = SFCInitialize
diff --git a/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf b/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf
index 539d612..3daf2bb 100644
--- a/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf
+++ b/Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = SasDriverDxe
-  FILE_GUID                      = 49ea041e-6752-42ca-b0b1-7344fe234567
+  FILE_GUID                      = 6F39A263-C676-4FED-8609-33148079C721
   MODULE_TYPE                    = UEFI_DRIVER
   VERSION_STRING                 = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf b/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf
index 0590919..5927561 100644
--- a/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf
+++ b/Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION          = 0x00010019
   BASE_NAME            = SmiGraphicsOutput
-  FILE_GUID            = BFB7B510-B09B-11DB-96E3-005056C00008
+  FILE_GUID            = 12584EAB-60CB-43B0-8806-1AE5BEDEEF02
   MODULE_TYPE          = UEFI_DRIVER
   VERSION_STRING       = 1.0
 
diff --git a/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf b/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
index 6b34037..01afa26 100644
--- a/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
+++ b/Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = TransSmbiosInfo
-  FILE_GUID                      = 13668C32-1977-436a-800C-F8644D11CB76
+  FILE_GUID                      = 7FCDA10D-F216-4BAD-9D5C-FBF782A305FD
   MODULE_TYPE                    = DXE_DRIVER
   VERSION_STRING                 = 1.0
   ENTRY_POINT                    = TransferSmbiosInfoToBMC
diff --git a/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf b/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
index 79e0d8e..ecf61b8 100644
--- a/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
+++ b/Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = OemAddressMapD05
-  FILE_GUID                      = 32BC48E3-5428-4556-A383-25A23EA816A7
+  FILE_GUID                      = 8F35288F-9AD2-4B4A-ABC2-D97654FB3E5C
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = OemAddressMapLib
diff --git a/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf b/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
index da28c5a..b863dc2 100644
--- a/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
+++ b/Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
@@ -18,7 +18,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = MemoryInit
-  FILE_GUID                      = c61ef796-b50d-4f98-9f78-4f6f79d800d5
+  FILE_GUID                      = 1E71DFDB-EB4F-465C-BBB3-93D3FEA48437
   MODULE_TYPE                    = PEIM
   VERSION_STRING                 = 1.0
 
diff --git a/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf b/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf
index a875f98..10ff0db 100644
--- a/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf
+++ b/Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = Hi1610SerdesLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = BD95FDA9-54A4-4BDC-8EE6-47969ADF25F1
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = SerdesLib
diff --git a/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf b/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf
index dea2a72..308128f 100644
--- a/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf
+++ b/Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf
@@ -17,7 +17,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = LpcLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = FEC691AE-110D-444E-9B85-0A8F2EFDCA65
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = LpcLib
diff --git a/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf b/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
index 84125aa..fbf16d6 100644
--- a/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
+++ b/Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = PlatformSysCtrlLibHi1610
-  FILE_GUID                      = EBF63479-8F72-4ada-8B2A-960322F7F61A
+  FILE_GUID                      = 0DC0BBF4-2E09-4943-9534-48BF2EE274D3
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = PlatformSysCtrlLib
diff --git a/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf b/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
index 49977ea..67d4a2b 100644
--- a/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
+++ b/Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010019
   BASE_NAME                      = Hi1616SerdesLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 0CBCC289-639C-48E9-BEDD-039B21F5E97B
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = SerdesLib
diff --git a/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf b/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf
index 35d90df..e36c6b6 100644
--- a/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf
+++ b/Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = PlatformSysCtrlLibPv660
-  FILE_GUID                      = EBF63479-8F72-4ada-8B2A-960322F7F61A
+  FILE_GUID                      = B6C2EF97-2E30-4AA4-A3F4-D4EB1BBA1CD2
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = PlatformSysCtrlLib
diff --git a/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf b/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf
index cd25daa..c9f3c0a 100644
--- a/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf
+++ b/Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf
@@ -16,7 +16,7 @@
 [Defines]
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = Pv660SerdesLib
-  FILE_GUID                      = FC5651CA-55D8-4fd2-B6D3-A284D993ABA2
+  FILE_GUID                      = 488347A3-8014-4DC4-8566-B51CA16CE0BB
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = SerdesLib
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH edk2-platforms v4 00/11] Update D03/D05 binary for edk2 update and bug fix.
  2017-09-22 13:58 ` [PATCH edk2-platforms v4 00/11] " Heyi Guo
@ 2017-09-27 18:27   ` Leif Lindholm
  2017-09-27 20:02     ` Heyi Guo
  0 siblings, 1 reply; 22+ messages in thread
From: Leif Lindholm @ 2017-09-27 18:27 UTC (permalink / raw)
  To: Heyi Guo
  Cc: linaro-uefi, edk2-devel, graeme.gregory, ard.biesheuvel, guoheyi,
	wanghuiqiang, huangming23, zhangjinsong2, mengfanrong, waip23

Hi Heyi,

Apologies for delay, Connect is keeping me busy.

First of all, please ensure to generate these patches with
--no-binary.

Secondly, something has gone wrong with this series: there are binary
files being added to edk2-platforms and source code to edk2-non-osi.
There is even the addition of Juno binaries.

Can you please regenerate, and resend with a separate cover letter for
the edk2-non-osi set and the edk2-platfoms set?

Best Regards,

Leif

On Fri, Sep 22, 2017 at 09:58:28PM +0800, Heyi Guo wrote:
> Code can also be found in github:
> https://github.com/hisilicon/OpenPlatformPkg.git
> branch: rp-1710-platforms-v4    
> 
> Note: Maybe There are some bug in NonDiscoverablePciDeviceDxe.
> D05/3 console hang at boot, It's boot successfully by switch the VirtualEhciPciIo with old one.
> 
> Heyi Guo (5):
>   Hisilicon/D03/Net: Update Snp driver
>   Hisilicon/D03/Sas: Add SasPlatform
>   Hisilicon/D05/Net: Update Snp driver
>   Hisilicon/D05/Sas: Add SasPlatform
>   Hisilicon: Fix the drivers use the same GUID issue
> 
> Leif Lindholm (1):
>   Platforms: add ARM Juno system controller firmware
> 
> Ming Huang (5):
>   Hisilicon/D03: Update binary file
>   Hisilicon: Update Trusted Firmware binary
>   Hisilicon/D05: Update binary file
>   Hisilicon/D05: Update Trusted Firmware binary
>   Hisilicon/D05: Fix bug 3061
> 
>  Platform/ARM/Juno/License.txt                                                          | 361 ++++++++++++++++++++
>  Platform/ARM/Juno/bl0.bin                                                              | Bin 0 -> 4172 bytes
>  Platform/ARM/Juno/bl30.bin                                                             | Bin 0 -> 55204 bytes
>  Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |   2 +-
>  Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
>  Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
>  Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 21696 -> 4768 bytes
>  Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22208 -> 4672 bytes
>  Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25440 -> 6784 bytes
>  Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23712 -> 4896 bytes
>  Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 18080 -> 2304 bytes
>  Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 26688 bytes
>  Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 ++
>  Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56832 -> 0 bytes
>  Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --
>  Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3040 bytes
>  Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 ++
>  Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48352 -> 21664 bytes
>  Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 22112 -> 3712 bytes
>  Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
>  Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi                                    | Bin 208288 -> 98144 bytes
>  Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3040 bytes
>  Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf                             |  24 ++
>  Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 36480 -> 17728 bytes
>  Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 21408 -> 4000 bytes
>  Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib                     | Bin 19486 -> 20550 bytes
>  Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi                                    | Bin 161280 -> 90272 bytes
>  Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
>  Platform/Hisilicon/D03/bl1.bin                                                         | Bin 14336 -> 14336 bytes
>  Platform/Hisilicon/D03/fip.bin                                                         | Bin 45601 -> 62513 bytes
>  Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 19552 -> 5024 bytes
>  Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf                       |   2 +-
>  Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25696 -> 7680 bytes
>  Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf              |   2 +-
>  Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22528 -> 5344 bytes
>  Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf              |   2 +-
>  Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23136 -> 5280 bytes
>  Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf                         |   2 +-
>  Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 15968 -> 2592 bytes
>  Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf                     |   2 +-
>  Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 28544 bytes
>  Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 ++
>  Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56512 -> 0 bytes
>  Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --
>  Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3392 bytes
>  Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 ++
>  Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48000 -> 23328 bytes
>  Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf                                     |   2 +-
>  Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 21536 -> 4032 bytes
>  Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf |   2 +-
>  Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
>  Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
>  Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi                                    | Bin 230912 -> 116288 bytes
>  Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf                                    |   2 +-
>  Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3424 bytes
>  Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf                             |  24 ++
>  Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 35904 -> 18592 bytes
>  Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf                                    |   2 +-
>  Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 16576 -> 4288 bytes
>  Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf                  |   2 +-
>  Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf                   |   2 +-
>  Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib                   | Bin 42136 -> 52968 bytes
>  Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi                                    | Bin 273312 -> 152576 bytes
>  Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
>  Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
>  Platform/Hisilicon/D05/bl1.bin                                                         | Bin 12296 -> 14344 bytes
>  Platform/Hisilicon/D05/fip.bin                                                         | Bin 41493 -> 41493 bytes
>  Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf                      |   2 +-
>  Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib                      | Bin 603524 -> 587188 bytes
>  Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib                             | Bin 247176 -> 210280 bytes
>  Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf                                     |   2 +-
>  Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib                                     | Bin 13998 -> 13958 bytes
>  Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf |   2 +-
>  Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib | Bin 305230 -> 297590 bytes
>  Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib            | Bin 17022 -> 16942 bytes
>  Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf                      |   2 +-
>  Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib                      | Bin 707246 -> 726884 bytes
>  Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib | Bin 358602 -> 344310 bytes
>  Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf    |   2 +-
>  Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf                         |   2 +-
>  80 files changed, 527 insertions(+), 76 deletions(-)
>  create mode 100644 Platform/ARM/Juno/License.txt
>  create mode 100644 Platform/ARM/Juno/bl0.bin
>  create mode 100644 Platform/ARM/Juno/bl30.bin
>  create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
>  create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
>  delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
>  delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
>  create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
>  create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
>  create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi
>  create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
>  create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
>  create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
>  delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
>  delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
>  create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi
>  create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
>  create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi
>  create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf
> 
> -- 
> 1.9.1
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH edk2-platforms v4 00/11] Update D03/D05 binary for edk2 update and bug fix.
  2017-09-27 18:27   ` Leif Lindholm
@ 2017-09-27 20:02     ` Heyi Guo
  0 siblings, 0 replies; 22+ messages in thread
From: Heyi Guo @ 2017-09-27 20:02 UTC (permalink / raw)
  To: Leif Lindholm
  Cc: linaro-uefi, edk2-devel, graeme.gregory, ard.biesheuvel, guoheyi,
	wanghuiqiang, huangming23, zhangjinsong2, mengfanrong, waip23

Really sorry for that. We made some stupid mistake to cause the patches 
in a mess. Please ignore them and we will send a new series.

Regards,

Heyi


On 2017/9/28 2:27, Leif Lindholm wrote:
> Hi Heyi,
>
> Apologies for delay, Connect is keeping me busy.
>
> First of all, please ensure to generate these patches with
> --no-binary.
>
> Secondly, something has gone wrong with this series: there are binary
> files being added to edk2-platforms and source code to edk2-non-osi.
> There is even the addition of Juno binaries.
>
> Can you please regenerate, and resend with a separate cover letter for
> the edk2-non-osi set and the edk2-platfoms set?
>
> Best Regards,
>
> Leif
>
> On Fri, Sep 22, 2017 at 09:58:28PM +0800, Heyi Guo wrote:
>> Code can also be found in github:
>> https://github.com/hisilicon/OpenPlatformPkg.git
>> branch: rp-1710-platforms-v4
>>
>> Note: Maybe There are some bug in NonDiscoverablePciDeviceDxe.
>> D05/3 console hang at boot, It's boot successfully by switch the VirtualEhciPciIo with old one.
>>
>> Heyi Guo (5):
>>    Hisilicon/D03/Net: Update Snp driver
>>    Hisilicon/D03/Sas: Add SasPlatform
>>    Hisilicon/D05/Net: Update Snp driver
>>    Hisilicon/D05/Sas: Add SasPlatform
>>    Hisilicon: Fix the drivers use the same GUID issue
>>
>> Leif Lindholm (1):
>>    Platforms: add ARM Juno system controller firmware
>>
>> Ming Huang (5):
>>    Hisilicon/D03: Update binary file
>>    Hisilicon: Update Trusted Firmware binary
>>    Hisilicon/D05: Update binary file
>>    Hisilicon/D05: Update Trusted Firmware binary
>>    Hisilicon/D05: Fix bug 3061
>>
>>   Platform/ARM/Juno/License.txt                                                          | 361 ++++++++++++++++++++
>>   Platform/ARM/Juno/bl0.bin                                                              | Bin 0 -> 4172 bytes
>>   Platform/ARM/Juno/bl30.bin                                                             | Bin 0 -> 55204 bytes
>>   Platform/Hisilicon/D02/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |   2 +-
>>   Platform/Hisilicon/D02/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
>>   Platform/Hisilicon/D02/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
>>   Platform/Hisilicon/D03/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 21696 -> 4768 bytes
>>   Platform/Hisilicon/D03/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22208 -> 4672 bytes
>>   Platform/Hisilicon/D03/Drivers/Ipmi/ipmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25440 -> 6784 bytes
>>   Platform/Hisilicon/D03/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23712 -> 4896 bytes
>>   Platform/Hisilicon/D03/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 18080 -> 2304 bytes
>>   Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 26688 bytes
>>   Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 ++
>>   Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56832 -> 0 bytes
>>   Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --
>>   Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3040 bytes
>>   Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 ++
>>   Platform/Hisilicon/D03/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48352 -> 21664 bytes
>>   Platform/Hisilicon/D03/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 22112 -> 3712 bytes
>>   Platform/Hisilicon/D03/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
>>   Platform/Hisilicon/D03/Drivers/Sas/SasDriverDxe.efi                                    | Bin 208288 -> 98144 bytes
>>   Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3040 bytes
>>   Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf                             |  24 ++
>>   Platform/Hisilicon/D03/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 36480 -> 17728 bytes
>>   Platform/Hisilicon/D03/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 21408 -> 4000 bytes
>>   Platform/Hisilicon/D03/Library/OemAddressMap2P/OemAddressMap2P.lib                     | Bin 19486 -> 20550 bytes
>>   Platform/Hisilicon/D03/MemoryInitPei/MemoryInit.efi                                    | Bin 161280 -> 90272 bytes
>>   Platform/Hisilicon/D03/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
>>   Platform/Hisilicon/D03/bl1.bin                                                         | Bin 14336 -> 14336 bytes
>>   Platform/Hisilicon/D03/fip.bin                                                         | Bin 45601 -> 62513 bytes
>>   Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi                       | Bin 19552 -> 5024 bytes
>>   Platform/Hisilicon/D05/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf                       |   2 +-
>>   Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi              | Bin 25696 -> 7680 bytes
>>   Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf              |   2 +-
>>   Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi              | Bin 22528 -> 5344 bytes
>>   Platform/Hisilicon/D05/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf              |   2 +-
>>   Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi                            | Bin 23136 -> 5280 bytes
>>   Platform/Hisilicon/D05/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf                         |   2 +-
>>   Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi                     | Bin 15968 -> 2592 bytes
>>   Platform/Hisilicon/D05/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf                     |   2 +-
>>   Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi                         | Bin 0 -> 28544 bytes
>>   Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf                         |  24 ++
>>   Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi                         | Bin 56512 -> 0 bytes
>>   Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf                         |  27 --
>>   Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi                         | Bin 0 -> 3392 bytes
>>   Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf                         |  24 ++
>>   Platform/Hisilicon/D05/Drivers/OhciDxe/NativeOhci.efi                                  | Bin 48000 -> 23328 bytes
>>   Platform/Hisilicon/D05/Drivers/OhciDxe/OhciDxe.inf                                     |   2 +-
>>   Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.efi | Bin 21536 -> 4032 bytes
>>   Platform/Hisilicon/D05/Drivers/ReportPciePlugDidVidToBmc/ReportPciePlugDidVidToBmc.inf |   2 +-
>>   Platform/Hisilicon/D05/Drivers/SFC/SFCDriver.efi                                       | Bin 262144 -> 262144 bytes
>>   Platform/Hisilicon/D05/Drivers/SFC/SfcDxeDriver.inf                                    |   2 +-
>>   Platform/Hisilicon/D05/Drivers/Sas/SasDriverDxe.efi                                    | Bin 230912 -> 116288 bytes
>>   Platform/Hisilicon/D05/Drivers/Sas/SasDxeDriver.inf                                    |   2 +-
>>   Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi                             | Bin 0 -> 3424 bytes
>>   Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf                             |  24 ++
>>   Platform/Hisilicon/D05/Drivers/Sm750Dxe/SmiGraphicsOutput.efi                          | Bin 35904 -> 18592 bytes
>>   Platform/Hisilicon/D05/Drivers/Sm750Dxe/UefiSmi.inf                                    |   2 +-
>>   Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.efi                  | Bin 16576 -> 4288 bytes
>>   Platform/Hisilicon/D05/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf                  |   2 +-
>>   Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.inf                   |   2 +-
>>   Platform/Hisilicon/D05/Library/OemAddressMapD05/OemAddressMapD05.lib                   | Bin 42136 -> 52968 bytes
>>   Platform/Hisilicon/D05/MemoryInitPei/MemoryInit.efi                                    | Bin 273312 -> 152576 bytes
>>   Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf                                |   2 +-
>>   Platform/Hisilicon/D05/Sec/FVMAIN_SEC.Fv                                               | Bin 262144 -> 262144 bytes
>>   Platform/Hisilicon/D05/bl1.bin                                                         | Bin 12296 -> 14344 bytes
>>   Platform/Hisilicon/D05/fip.bin                                                         | Bin 41493 -> 41493 bytes
>>   Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.inf                      |   2 +-
>>   Silicon/Hisilicon/Hi1610/Library/Hi1610Serdes/Hi1610SerdesLib.lib                      | Bin 603524 -> 587188 bytes
>>   Silicon/Hisilicon/Hi1610/Library/IpmiCmdLib/IpmiCmdLib.lib                             | Bin 247176 -> 210280 bytes
>>   Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.inf                                     |   2 +-
>>   Silicon/Hisilicon/Hi1610/Library/LpcLib/LpcLib.lib                                     | Bin 13998 -> 13958 bytes
>>   Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.inf |   2 +-
>>   Silicon/Hisilicon/Hi1610/Library/PlatformSysCtrlLibHi1610/PlatformSysCtrlLibHi1610.lib | Bin 305230 -> 297590 bytes
>>   Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.lib            | Bin 17022 -> 16942 bytes
>>   Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.inf                      |   2 +-
>>   Silicon/Hisilicon/Hi1616/Library/Hi1616Serdes/Hi1616SerdesLib.lib                      | Bin 707246 -> 726884 bytes
>>   Silicon/Hisilicon/Hi1616/Library/PlatformSysCtrlLibHi1616/PlatformSysCtrlLibHi1616.lib | Bin 358602 -> 344310 bytes
>>   Silicon/Hisilicon/Pv660/Library/PlatformSysCtrlLibPv660/PlatformSysCtrlLibPv660.inf    |   2 +-
>>   Silicon/Hisilicon/Pv660/Library/Pv660Serdes/Pv660SerdesLib.inf                         |   2 +-
>>   80 files changed, 527 insertions(+), 76 deletions(-)
>>   create mode 100644 Platform/ARM/Juno/License.txt
>>   create mode 100644 Platform/ARM/Juno/bl0.bin
>>   create mode 100644 Platform/ARM/Juno/bl30.bin
>>   create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
>>   create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
>>   delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
>>   delete mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
>>   create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
>>   create mode 100644 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
>>   create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.efi
>>   create mode 100644 Platform/Hisilicon/D03/Drivers/SasPlatform/SasPlatform.inf
>>   create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
>>   create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
>>   delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
>>   delete mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
>>   create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.efi
>>   create mode 100644 Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform.inf
>>   create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.efi
>>   create mode 100644 Platform/Hisilicon/D05/Drivers/SasPlatform/SasPlatform.inf
>>
>> -- 
>> 1.9.1
>>



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-09-27 19:59 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-22 13:58 [PATCH edk2-non-osi v4 00/10] Update D03/D05 binary for edk2 update and bug fix Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 00/11] " Heyi Guo
2017-09-27 18:27   ` Leif Lindholm
2017-09-27 20:02     ` Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 01/10] Hisilicon/D03/Net: Update Snp driver Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 02/11] " Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 02/10] Hisilicon/D03/Sas: Add SasPlatform Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 03/11] " Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 03/10] Hisilicon/D03: Update binary file Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 04/10] Hisilicon: Update Trusted Firmware binary Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 05/10] Hisilicon/D05/Net: Update Snp driver Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 05/11] Hisilicon: Update Trusted Firmware binary Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 06/11] Hisilicon/D05/Net: Update Snp driver Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 06/10] Hisilicon/D05/Sas: Add SasPlatform Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 07/11] " Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 07/10] Hisilicon/D05: Update binary file Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 08/10] Hisilicon/D05: Update Trusted Firmware binary Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 09/10] Hisilicon/D05: Fix bug 3061 Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 09/11] Hisilicon/D05: Update Trusted Firmware binary Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 10/11] Hisilicon/D05: Fix bug 3061 Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-non-osi v4 10/10] Hisilicon: Fix the drivers use the same GUID issue Heyi Guo
2017-09-22 13:58 ` [PATCH edk2-platforms v4 11/11] " Heyi Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox