This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, master has been updated via ee0ee298435ada541e4cfed95cfd38b328a41eca (commit) via 6e16017fc0042bc346dc2d405a04528a4b4c0922 (commit) via 162a0684483a0159b4d069b651ada02f03c14fec (commit) via 285740b9265b24dcbd01a0eaaf4b3d35b7ce4b9a (commit) via 20ad6285d66bb1907246d13b2241ba06bff06c67 (commit) via 45c75a55a96792ccbb1db73f419f56ac41153513 (commit) from babb30f6ab507bd944b4efb515f1ea19d33c41e6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ee0ee298435ada541e4cfed95cfd38b328a41eca Author: Arne Fitzenreiter Date: Fri Aug 11 23:32:01 2023 +0200 core178: insert urgent core update for new cpu vulnerability mitigations this contain kernel-6.1.45, intel-microcode-20230808, linux-firmware-20230804 + fam19h patches and a fix for early microcode load from initramdisk. Signed-off-by: Arne Fitzenreiter commit 6e16017fc0042bc346dc2d405a04528a4b4c0922 Author: Arne Fitzenreiter Date: Fri Aug 11 23:29:26 2023 +0200 vulnerabilities.cgi: add new gather_data_sampling and spec_rstack_overfow this not add details and translation strings yet. Signed-off-by: Arne Fitzenreiter commit 162a0684483a0159b4d069b651ada02f03c14fec Author: Arne Fitzenreiter Date: Fri Aug 11 23:25:37 2023 +0200 kernel: update to 6.1.45 Signed-off-by: Arne Fitzenreiter commit 285740b9265b24dcbd01a0eaaf4b3d35b7ce4b9a Author: Arne Fitzenreiter Date: Fri Aug 11 21:12:45 2023 +0200 linux-firmware: update to 20230804 also updated amd_familiy_19h patch which was not in 20230804 yet. Signed-off-by: Arne Fitzenreiter commit 20ad6285d66bb1907246d13b2241ba06bff06c67 Author: Arne Fitzenreiter Date: Fri Aug 11 16:51:42 2023 +0200 intel-microcode: update to 20230808 Signed-off-by: Arne Fitzenreiter commit 45c75a55a96792ccbb1db73f419f56ac41153513 Author: Arne Fitzenreiter Date: Fri Aug 11 16:48:49 2023 +0200 kernel: build it after all other programs this fix missing firmwares and early microcode load. Signed-off-by: Arne Fitzenreiter ----------------------------------------------------------------------- Summary of changes: config/kernel/kernel.config.aarch64-ipfire | 3 +- config/kernel/kernel.config.x86_64-ipfire | 5 +- config/rootfiles/common/aarch64/linux | 2 +- config/rootfiles/common/linux-firmware | 265 +++++- config/rootfiles/common/x86_64/intel-microcode | 3 + config/rootfiles/common/x86_64/linux | 3 +- config/rootfiles/core/{177 => 178}/exclude | 0 .../core/{177 => 178}/filelists/aarch64/linux | 0 .../{177 => 178}/filelists/aarch64/u-boot-mkimage | 0 .../core/{177 => 178}/filelists/core-files | 0 config/rootfiles/core/178/filelists/files | 1 + .../core/178/filelists/linux-firmware-update | 66 ++ .../178}/filelists/x86_64/intel-microcode | 0 .../core/{177 => 178}/filelists/x86_64/linux | 0 config/rootfiles/core/{177 => 178}/update.sh | 38 +- config/rootfiles/{core => oldcore}/177/exclude | 0 .../{core => oldcore}/177/filelists/aarch64/linux | 0 .../177/filelists/aarch64/u-boot-mkimage | 0 .../177/filelists/aarch64/util-linux | 0 .../{core => oldcore}/177/filelists/core-files | 0 .../{core => oldcore}/177/filelists/files | 0 .../{core => oldcore}/177/filelists/fireinfo | 0 .../{core => oldcore}/177/filelists/iproute2 | 0 .../rootfiles/{core => oldcore}/177/filelists/ntp | 0 .../{core => oldcore}/177/filelists/openssh | 0 .../{core => oldcore}/177/filelists/squid | 0 .../{core => oldcore}/177/filelists/squid-asnbl | 0 .../rootfiles/{core => oldcore}/177/filelists/sudo | 0 .../{core => oldcore}/177/filelists/x86_64/linux | 0 .../177/filelists/x86_64/util-linux | 0 config/rootfiles/{core => oldcore}/177/update.sh | 0 html/cgi-bin/vulnerabilities.cgi | 2 + lfs/intel-microcode | 4 +- lfs/linux | 4 +- lfs/linux-firmware | 5 +- make.sh | 23 +- src/patches/linux-firmware-amd-family-17h.patch | 243 ----- src/patches/linux-firmware-amd-family-19h.patch | 993 +++++++++------------ 38 files changed, 793 insertions(+), 867 deletions(-) copy config/rootfiles/core/{177 => 178}/exclude (100%) copy config/rootfiles/core/{177 => 178}/filelists/aarch64/linux (100%) copy config/rootfiles/core/{177 => 178}/filelists/aarch64/u-boot-mkimage (100%) copy config/rootfiles/core/{177 => 178}/filelists/core-files (100%) create mode 100644 config/rootfiles/core/178/filelists/files create mode 100644 config/rootfiles/core/178/filelists/linux-firmware-update copy config/rootfiles/{oldcore/121 => core/178}/filelists/x86_64/intel-microcode (100%) copy config/rootfiles/core/{177 => 178}/filelists/x86_64/linux (100%) copy config/rootfiles/core/{177 => 178}/update.sh (80%) rename config/rootfiles/{core => oldcore}/177/exclude (100%) rename config/rootfiles/{core => oldcore}/177/filelists/aarch64/linux (100%) rename config/rootfiles/{core => oldcore}/177/filelists/aarch64/u-boot-mkimage (100%) rename config/rootfiles/{core => oldcore}/177/filelists/aarch64/util-linux (100%) rename config/rootfiles/{core => oldcore}/177/filelists/core-files (100%) rename config/rootfiles/{core => oldcore}/177/filelists/files (100%) rename config/rootfiles/{core => oldcore}/177/filelists/fireinfo (100%) rename config/rootfiles/{core => oldcore}/177/filelists/iproute2 (100%) rename config/rootfiles/{core => oldcore}/177/filelists/ntp (100%) rename config/rootfiles/{core => oldcore}/177/filelists/openssh (100%) rename config/rootfiles/{core => oldcore}/177/filelists/squid (100%) rename config/rootfiles/{core => oldcore}/177/filelists/squid-asnbl (100%) rename config/rootfiles/{core => oldcore}/177/filelists/sudo (100%) rename config/rootfiles/{core => oldcore}/177/filelists/x86_64/linux (100%) rename config/rootfiles/{core => oldcore}/177/filelists/x86_64/util-linux (100%) rename config/rootfiles/{core => oldcore}/177/update.sh (100%) delete mode 100644 src/patches/linux-firmware-amd-family-17h.patch Difference in files: diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire index 830d9db9b..74dec8565 100644 --- a/config/kernel/kernel.config.aarch64-ipfire +++ b/config/kernel/kernel.config.aarch64-ipfire @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.1.41-ipfire Kernel Configuration +# Linux/arm64 6.1.45-ipfire Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.1.0" CONFIG_CC_IS_GCC=y @@ -336,6 +336,7 @@ CONFIG_ARCH_VEXPRESS=y # # ARM errata workarounds via the alternatives framework # +CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y CONFIG_ARM64_ERRATUM_826319=y CONFIG_ARM64_ERRATUM_827319=y diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire index a5ad9700f..7c052fe08 100644 --- a/config/kernel/kernel.config.x86_64-ipfire +++ b/config/kernel/kernel.config.x86_64-ipfire @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.1.42-ipfire Kernel Configuration +# Linux/x86 6.1.45-ipfire Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.1.0" CONFIG_CC_IS_GCC=y @@ -478,7 +478,9 @@ CONFIG_RETHUNK=y CONFIG_CPU_UNRET_ENTRY=y CONFIG_CPU_IBPB_ENTRY=y CONFIG_CPU_IBRS_ENTRY=y +CONFIG_CPU_SRSO=y CONFIG_SLS=y +# CONFIG_GDS_FORCE_MITIGATION is not set CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y @@ -689,6 +691,7 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_ARCH_WANTS_NO_INSTR=y diff --git a/config/rootfiles/common/aarch64/linux b/config/rootfiles/common/aarch64/linux index 230e419d3..5ed37b7e0 100644 --- a/config/rootfiles/common/aarch64/linux +++ b/config/rootfiles/common/aarch64/linux @@ -6587,7 +6587,6 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/asm-generic/bitops/sched.h #lib/modules/KVER-ipfire/build/include/asm-generic/bitsperlong.h #lib/modules/KVER-ipfire/build/include/asm-generic/bug.h -#lib/modules/KVER-ipfire/build/include/asm-generic/bugs.h #lib/modules/KVER-ipfire/build/include/asm-generic/cache.h #lib/modules/KVER-ipfire/build/include/asm-generic/cacheflush.h #lib/modules/KVER-ipfire/build/include/asm-generic/checksum.h @@ -6767,6 +6766,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/AMD8111_ETH #lib/modules/KVER-ipfire/build/include/config/AMD_PHY #lib/modules/KVER-ipfire/build/include/config/AMLOGIC_THERMAL +#lib/modules/KVER-ipfire/build/include/config/AMPERE_ERRATUM_AC03_CPU_38 #lib/modules/KVER-ipfire/build/include/config/APERTURE_HELPERS #lib/modules/KVER-ipfire/build/include/config/AQTION #lib/modules/KVER-ipfire/build/include/config/AQUANTIA_PHY diff --git a/config/rootfiles/common/linux-firmware b/config/rootfiles/common/linux-firmware index d66eb313d..ef305ae77 100644 --- a/config/rootfiles/common/linux-firmware +++ b/config/rootfiles/common/linux-firmware @@ -159,6 +159,13 @@ lib/firmware/amdgpu/gc_11_0_2_mes1.bin lib/firmware/amdgpu/gc_11_0_2_mes_2.bin lib/firmware/amdgpu/gc_11_0_2_pfp.bin lib/firmware/amdgpu/gc_11_0_2_rlc.bin +lib/firmware/amdgpu/gc_11_0_3_imu.bin +lib/firmware/amdgpu/gc_11_0_3_me.bin +lib/firmware/amdgpu/gc_11_0_3_mec.bin +lib/firmware/amdgpu/gc_11_0_3_mes1.bin +lib/firmware/amdgpu/gc_11_0_3_mes_2.bin +lib/firmware/amdgpu/gc_11_0_3_pfp.bin +lib/firmware/amdgpu/gc_11_0_3_rlc.bin lib/firmware/amdgpu/gc_11_0_4_imu.bin lib/firmware/amdgpu/gc_11_0_4_me.bin lib/firmware/amdgpu/gc_11_0_4_mec.bin @@ -377,6 +384,8 @@ lib/firmware/amdgpu/polaris12_uvd.bin lib/firmware/amdgpu/polaris12_vce.bin lib/firmware/amdgpu/psp_13_0_0_sos.bin lib/firmware/amdgpu/psp_13_0_0_ta.bin +lib/firmware/amdgpu/psp_13_0_10_sos.bin +lib/firmware/amdgpu/psp_13_0_10_ta.bin lib/firmware/amdgpu/psp_13_0_11_ta.bin lib/firmware/amdgpu/psp_13_0_11_toc.bin lib/firmware/amdgpu/psp_13_0_4_ta.bin @@ -430,6 +439,7 @@ lib/firmware/amdgpu/sdma_5_2_7.bin lib/firmware/amdgpu/sdma_6_0_0.bin lib/firmware/amdgpu/sdma_6_0_1.bin lib/firmware/amdgpu/sdma_6_0_2.bin +lib/firmware/amdgpu/sdma_6_0_3.bin lib/firmware/amdgpu/si58_mc.bin lib/firmware/amdgpu/sienna_cichlid_ce.bin lib/firmware/amdgpu/sienna_cichlid_dmcub.bin @@ -444,6 +454,7 @@ lib/firmware/amdgpu/sienna_cichlid_sos.bin lib/firmware/amdgpu/sienna_cichlid_ta.bin lib/firmware/amdgpu/sienna_cichlid_vcn.bin lib/firmware/amdgpu/smu_13_0_0.bin +lib/firmware/amdgpu/smu_13_0_10.bin lib/firmware/amdgpu/smu_13_0_7.bin lib/firmware/amdgpu/stoney_ce.bin lib/firmware/amdgpu/stoney_me.bin @@ -988,6 +999,27 @@ lib/firmware/cavium/cnn55xx_se.fw lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus #lib/firmware/cirrus/cs35l41 +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbd-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbd-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbd.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbe-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbe-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbe.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbf-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbf-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cbf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc1-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc1-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc1.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc2-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc2-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc2.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc3-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc3-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc3.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc4-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc4-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10280cc4.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-103c896e.wmfw @@ -1064,6 +1096,60 @@ lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104312af.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431433-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431433-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431433-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431433-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431433.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431463-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431463-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431463-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431463-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431463.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431473-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431473-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431473.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431483-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431483-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431483.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431493-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431493-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431493-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431493-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431493.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314d3-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314d3-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314d3-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314d3-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314d3.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314e3-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314e3-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314e3-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314e3-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104314e3.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431503-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431503-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431503-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431503-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431503.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431533-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431533-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431533-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431533-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431533.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431573-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431573-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431573-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431573-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431573.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431663-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431663-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431663.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104317f3-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104317f3-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104317f3-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104317f3-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-104317f3.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431a20.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431a30.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431a40.wmfw @@ -1079,6 +1165,36 @@ lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431b93.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431c9f-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431c9f-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431c9f-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431c9f-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431c9f.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431caf-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431caf-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431caf-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431caf-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431caf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431ccf-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431ccf-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431ccf-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431ccf-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431ccf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cdf-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cdf-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cdf-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cdf-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cdf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cef-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cef-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cef-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cef-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431cef.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431d1f-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431d1f-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431d1f-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431d1f-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431d1f.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin @@ -1148,6 +1264,27 @@ lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-cali-17aa3855.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbd-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbd-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbd.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbe-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbe-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbe.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbf-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbf-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cbf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc1-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc1-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc1.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc2-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc2-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc2.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc3-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc3-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc3.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc4-spkid0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc4-spkid1.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10280cc4.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-103c896e.wmfw @@ -1226,6 +1363,60 @@ lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104312af.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431433-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431433-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431433-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431433-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431433.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431463-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431463-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431463-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431463-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431463.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431473-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431473-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431473.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431483-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431483-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431483.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431493-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431493-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431493-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431493-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431493.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314d3-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314d3-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314d3-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314d3-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314d3.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314e3-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314e3-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314e3-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314e3-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104314e3.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431503-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431503-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431503-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431503-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431503.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431533-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431533-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431533-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431533-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431533.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431573-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431573-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431573-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431573-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431573.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431663-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431663-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431663.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104317f3-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104317f3-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104317f3-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104317f3-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-104317f3.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431a20.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431a30.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431a40.wmfw @@ -1241,6 +1432,36 @@ lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431b93.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431c9f-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431c9f-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431c9f-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431c9f-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431c9f.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431caf-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431caf-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431caf-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431caf-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431caf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431ccf-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431ccf-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431ccf-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431ccf-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431ccf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cdf-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cdf-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cdf-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cdf-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cdf.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cef-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cef-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cef-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cef-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431cef.wmfw +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431d1f-spkid0-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431d1f-spkid0-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431d1f-spkid1-l0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431d1f-spkid1-r0.bin +#lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431d1f.wmfw #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin #lib/firmware/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin @@ -1324,6 +1545,8 @@ lib/firmware/cbfw-3.2.5.1.bin #lib/firmware/cirrus/cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw #lib/firmware/cirrus/cs35l41/v6.63.0 #lib/firmware/cirrus/cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw +#lib/firmware/cirrus/cs35l41/v6.78.0 +#lib/firmware/cirrus/cs35l41/v6.78.0/halo_cspl_RAM_revB2_29.80.0.wmfw #lib/firmware/cis lib/firmware/cis/3CCFEM556.cis lib/firmware/cis/3CXEM556.cis @@ -1348,9 +1571,7 @@ lib/firmware/cmmb_venice_12mhz.inp #lib/firmware/cpia2 lib/firmware/cpia2/stv0672_vp4.bin lib/firmware/ct2fw-3.2.5.1.bin -lib/firmware/ctefx.bin lib/firmware/ctfw-3.2.5.1.bin -lib/firmware/ctspeq.bin #lib/firmware/cxgb3 lib/firmware/cxgb3/ael2005_opt_edc.bin lib/firmware/cxgb3/ael2005_twx_edc.bin @@ -1463,9 +1684,6 @@ lib/firmware/ene-ub6250/msp_rdwr.bin lib/firmware/ene-ub6250/sd_init1.bin lib/firmware/ene-ub6250/sd_init2.bin lib/firmware/ene-ub6250/sd_rdwr.bin -#lib/firmware/ess -lib/firmware/ess/maestro3_assp_kernel.fw -lib/firmware/ess/maestro3_assp_minisrc.fw lib/firmware/f2255usb.bin #lib/firmware/go7007 lib/firmware/go7007/go7007fw.bin @@ -1731,6 +1949,8 @@ lib/firmware/intel/fw_sst_22a8.bin #lib/firmware/intel/ice/ddp lib/firmware/intel/ice/ddp-comms lib/firmware/intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg +lib/firmware/intel/ice/ddp-lag +lib/firmware/intel/ice/ddp-lag/ice_lag-1.3.1.0.pkg lib/firmware/intel/ice/ddp-wireless_edge lib/firmware/intel/ice/ddp-wireless_edge/ice_wireless_edge-1.3.10.0.pkg lib/firmware/intel/ice/ddp/ice-1.3.30.0.pkg @@ -1827,6 +2047,7 @@ lib/firmware/iwlwifi-so-a0-gf-a0-77.ucode lib/firmware/iwlwifi-so-a0-gf-a0-78.ucode lib/firmware/iwlwifi-so-a0-gf-a0-79.ucode lib/firmware/iwlwifi-so-a0-gf-a0-81.ucode +lib/firmware/iwlwifi-so-a0-gf-a0-83.ucode lib/firmware/iwlwifi-so-a0-gf-a0.pnvm lib/firmware/iwlwifi-so-a0-gf4-a0-72.ucode lib/firmware/iwlwifi-so-a0-gf4-a0-73.ucode @@ -1835,6 +2056,7 @@ lib/firmware/iwlwifi-so-a0-gf4-a0-77.ucode lib/firmware/iwlwifi-so-a0-gf4-a0-78.ucode lib/firmware/iwlwifi-so-a0-gf4-a0-79.ucode lib/firmware/iwlwifi-so-a0-gf4-a0-81.ucode +lib/firmware/iwlwifi-so-a0-gf4-a0-83.ucode lib/firmware/iwlwifi-so-a0-gf4-a0.pnvm lib/firmware/iwlwifi-so-a0-hr-b0-72.ucode lib/firmware/iwlwifi-so-a0-hr-b0-73.ucode @@ -1855,6 +2077,7 @@ lib/firmware/iwlwifi-ty-a0-gf-a0-77.ucode lib/firmware/iwlwifi-ty-a0-gf-a0-78.ucode lib/firmware/iwlwifi-ty-a0-gf-a0-79.ucode lib/firmware/iwlwifi-ty-a0-gf-a0-81.ucode +lib/firmware/iwlwifi-ty-a0-gf-a0-83.ucode lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm #lib/firmware/kaweth lib/firmware/kaweth/new_code.bin @@ -1877,8 +2100,6 @@ lib/firmware/keyspan/usa49wlc.fw #lib/firmware/keyspan_pda lib/firmware/keyspan_pda/keyspan_pda.fw lib/firmware/keyspan_pda/xircom_pgs.fw -#lib/firmware/korg -lib/firmware/korg/k1212.dsp lib/firmware/lbtf_usb.bin lib/firmware/lgs8g75.fw #lib/firmware/libertas @@ -2018,6 +2239,7 @@ lib/firmware/mediatek/sof/sof-mt8195.ri #lib/firmware/mellanox/mlxsw_spectrum-13.2010.1502.mfa2 #lib/firmware/mellanox/mlxsw_spectrum-13.2010.3020.mfa2 #lib/firmware/mellanox/mlxsw_spectrum-13.2010.3146.mfa2 +#lib/firmware/mellanox/mlxsw_spectrum-13.2012.1012.mfa2 #lib/firmware/mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 #lib/firmware/mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 #lib/firmware/mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 @@ -2036,6 +2258,7 @@ lib/firmware/mediatek/sof/sof-mt8195.ri #lib/firmware/mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 #lib/firmware/mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 #lib/firmware/mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 +#lib/firmware/mellanox/mlxsw_spectrum2-29.2012.1012.mfa2 #lib/firmware/mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 #lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 #lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 @@ -2052,6 +2275,8 @@ lib/firmware/mediatek/sof/sof-mt8195.ri #lib/firmware/mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 #lib/firmware/mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 #lib/firmware/mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 +#lib/firmware/mellanox/mlxsw_spectrum3-30.2012.1012.mfa2 +#lib/firmware/mellanox/mlxsw_spectrum4-34.2012.1012.mfa2 #lib/firmware/meson #lib/firmware/meson/vdec lib/firmware/meson/vdec/g12a_h264.bin @@ -2850,8 +3075,6 @@ lib/firmware/qat_mmp.bin #lib/firmware/qca/rampatch_usb_00130201.bin #lib/firmware/qca/rampatch_usb_00190200.bin #lib/firmware/qcom -#lib/firmware/qcom/LENOVO -#lib/firmware/qcom/LENOVO/21BX lib/firmware/qcom/a300_pfp.fw lib/firmware/qcom/a300_pm4.fw lib/firmware/qcom/a330_pfp.fw @@ -2888,6 +3111,7 @@ lib/firmware/qcom/leia_pm4_470.fw #lib/firmware/qcom/sc8280xp/LENOVO/21BX #lib/firmware/qcom/sc8280xp/LENOVO/21BX/adspr.jsn #lib/firmware/qcom/sc8280xp/LENOVO/21BX/adspua.jsn +#lib/firmware/qcom/sc8280xp/LENOVO/21BX/audioreach-tplg.bin #lib/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn #lib/firmware/qcom/sc8280xp/LENOVO/21BX/cdspr.jsn #lib/firmware/qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn @@ -2895,6 +3119,11 @@ lib/firmware/qcom/leia_pm4_470.fw #lib/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn #lib/firmware/qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn #lib/firmware/qcom/sdm845 +#lib/firmware/qcom/sdm845/Thundercomm +#lib/firmware/qcom/sdm845/Thundercomm/db845c +#lib/firmware/qcom/sdm845/Thundercomm/db845c/slpi.mbn +#lib/firmware/qcom/sdm845/Thundercomm/db845c/slpir.jsn +#lib/firmware/qcom/sdm845/Thundercomm/db845c/slpius.jsn #lib/firmware/qcom/sdm845/a630_zap.mbn #lib/firmware/qcom/sdm845/adsp.mbn #lib/firmware/qcom/sdm845/adspr.jsn @@ -3368,12 +3597,6 @@ lib/firmware/s5p-mfc-v6.fw lib/firmware/s5p-mfc-v7.fw lib/firmware/s5p-mfc-v8.fw lib/firmware/s5p-mfc.fw -#lib/firmware/sb16 -lib/firmware/sb16/alaw_main.csp -lib/firmware/sb16/ima_adpcm_capture.csp -lib/firmware/sb16/ima_adpcm_init.csp -lib/firmware/sb16/ima_adpcm_playback.csp -lib/firmware/sb16/mulaw_main.csp lib/firmware/sdd_sagrad_1091_1098.bin #lib/firmware/slicoss lib/firmware/slicoss/gbdownload.sys @@ -3498,9 +3721,17 @@ lib/firmware/wsm_22.bin #lib/firmware/yam lib/firmware/yam/1200.bin lib/firmware/yam/9600.bin -#lib/firmware/yamaha +lib/firmware/ctefx.bin +lib/firmware/ctspeq.bin +lib/firmware/ess/maestro3_assp_kernel.fw +lib/firmware/ess/maestro3_assp_minisrc.fw +lib/firmware/korg/k1212.dsp +lib/firmware/sb16/alaw_main.csp +lib/firmware/sb16/ima_adpcm_capture.csp +lib/firmware/sb16/ima_adpcm_init.csp +lib/firmware/sb16/ima_adpcm_playback.csp +lib/firmware/sb16/mulaw_main.csp lib/firmware/yamaha/ds1_ctrl.fw lib/firmware/yamaha/ds1_dsp.fw lib/firmware/yamaha/ds1e_ctrl.fw lib/firmware/yamaha/yss225_registers.bin - diff --git a/config/rootfiles/common/x86_64/intel-microcode b/config/rootfiles/common/x86_64/intel-microcode index 7f9632973..3241092f3 100644 --- a/config/rootfiles/common/x86_64/intel-microcode +++ b/config/rootfiles/common/x86_64/intel-microcode @@ -119,8 +119,11 @@ lib/firmware/intel-ucode/06-a6-01 lib/firmware/intel-ucode/06-a7-01 lib/firmware/intel-ucode/06-b7-01 lib/firmware/intel-ucode/06-ba-02 +lib/firmware/intel-ucode/06-ba-02_DUPLICATE lib/firmware/intel-ucode/06-ba-03 +lib/firmware/intel-ucode/06-ba-03_DUPLICATE lib/firmware/intel-ucode/06-be-00 +lib/firmware/intel-ucode/06-be-00_DUPLICATE lib/firmware/intel-ucode/06-bf-02 lib/firmware/intel-ucode/06-bf-05 lib/firmware/intel-ucode/0f-00-07 diff --git a/config/rootfiles/common/x86_64/linux b/config/rootfiles/common/x86_64/linux index 3db69b01c..f2b488ef9 100644 --- a/config/rootfiles/common/x86_64/linux +++ b/config/rootfiles/common/x86_64/linux @@ -6422,7 +6422,6 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/asm-generic/bitops/sched.h #lib/modules/KVER-ipfire/build/include/asm-generic/bitsperlong.h #lib/modules/KVER-ipfire/build/include/asm-generic/bug.h -#lib/modules/KVER-ipfire/build/include/asm-generic/bugs.h #lib/modules/KVER-ipfire/build/include/asm-generic/cache.h #lib/modules/KVER-ipfire/build/include/asm-generic/cacheflush.h #lib/modules/KVER-ipfire/build/include/asm-generic/checksum.h @@ -6659,6 +6658,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_ADD_PAGES #lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_CACHE_LINE_SIZE #lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_COPY_MC +#lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_CPU_FINALIZE_INIT #lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_CPU_RELAX #lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_CURRENT_STACK_POINTER #lib/modules/KVER-ipfire/build/include/config/ARCH_HAS_DEBUG_VIRTUAL @@ -7113,6 +7113,7 @@ etc/modprobe.d/ipv6.conf #lib/modules/KVER-ipfire/build/include/config/CPU_IDLE_GOV_TEO #lib/modules/KVER-ipfire/build/include/config/CPU_ISOLATION #lib/modules/KVER-ipfire/build/include/config/CPU_RMAP +#lib/modules/KVER-ipfire/build/include/config/CPU_SRSO #lib/modules/KVER-ipfire/build/include/config/CPU_SUP_AMD #lib/modules/KVER-ipfire/build/include/config/CPU_SUP_CENTAUR #lib/modules/KVER-ipfire/build/include/config/CPU_SUP_HYGON diff --git a/config/rootfiles/core/177/exclude b/config/rootfiles/core/178/exclude similarity index 100% rename from config/rootfiles/core/177/exclude rename to config/rootfiles/core/178/exclude diff --git a/config/rootfiles/core/177/filelists/aarch64/linux b/config/rootfiles/core/178/filelists/aarch64/linux similarity index 100% rename from config/rootfiles/core/177/filelists/aarch64/linux rename to config/rootfiles/core/178/filelists/aarch64/linux diff --git a/config/rootfiles/core/177/filelists/aarch64/u-boot-mkimage b/config/rootfiles/core/178/filelists/aarch64/u-boot-mkimage similarity index 100% rename from config/rootfiles/core/177/filelists/aarch64/u-boot-mkimage rename to config/rootfiles/core/178/filelists/aarch64/u-boot-mkimage diff --git a/config/rootfiles/core/177/filelists/core-files b/config/rootfiles/core/178/filelists/core-files similarity index 100% rename from config/rootfiles/core/177/filelists/core-files rename to config/rootfiles/core/178/filelists/core-files diff --git a/config/rootfiles/core/178/filelists/files b/config/rootfiles/core/178/filelists/files new file mode 100644 index 000000000..00198bcc3 --- /dev/null +++ b/config/rootfiles/core/178/filelists/files @@ -0,0 +1 @@ +srv/web/ipfire/cgi-bin/vulnerabilities.cgi diff --git a/config/rootfiles/core/178/filelists/linux-firmware-update b/config/rootfiles/core/178/filelists/linux-firmware-update new file mode 100644 index 000000000..21e8e8602 --- /dev/null +++ b/config/rootfiles/core/178/filelists/linux-firmware-update @@ -0,0 +1,66 @@ +lib/firmware/amdgpu/dcn_3_1_4_dmcub.bin +lib/firmware/amdgpu/dcn_3_1_5_dmcub.bin +lib/firmware/amdgpu/dcn_3_2_0_dmcub.bin +lib/firmware/amdgpu/dcn_3_2_1_dmcub.bin +lib/firmware/amdgpu/gc_11_0_3_imu.bin +lib/firmware/amdgpu/gc_11_0_3_me.bin +lib/firmware/amdgpu/gc_11_0_3_mec.bin +lib/firmware/amdgpu/gc_11_0_3_mes1.bin +lib/firmware/amdgpu/gc_11_0_3_mes_2.bin +lib/firmware/amdgpu/gc_11_0_3_pfp.bin +lib/firmware/amdgpu/gc_11_0_3_rlc.bin +lib/firmware/amdgpu/green_sardine_vcn.bin +lib/firmware/amdgpu/picasso_vcn.bin +lib/firmware/amdgpu/psp_13_0_10_sos.bin +lib/firmware/amdgpu/psp_13_0_10_ta.bin +lib/firmware/amdgpu/raven2_vcn.bin +lib/firmware/amdgpu/raven_vcn.bin +lib/firmware/amdgpu/renoir_vcn.bin +lib/firmware/amdgpu/sdma_6_0_3.bin +lib/firmware/amdgpu/smu_13_0_10.bin +lib/firmware/amdgpu/vcn_4_0_0.bin +lib/firmware/amdgpu/yellow_carp_dmcub.bin +lib/firmware/amd-ucode/microcode_amd_fam17h.bin +lib/firmware/amd-ucode/microcode_amd_fam19h.bin +lib/firmware/i915/adlp_dmc.bin +lib/firmware/i915/dg2_guc_70.bin +lib/firmware/i915/mtl_dmc.bin +lib/firmware/i915/mtl_guc_70.bin +lib/firmware/i915/mtl_huc_gsc.bin +lib/firmware/intel/ibt-0040-0041.sfi +lib/firmware/intel/ibt-0040-4150.sfi +lib/firmware/intel/ibt-0041-0041.sfi +lib/firmware/intel/ibt-1040-0041.sfi +lib/firmware/intel/ibt-1040-4150.sfi +lib/firmware/intel/ibt-19-0-0.sfi +lib/firmware/intel/ibt-19-0-1.sfi +lib/firmware/intel/ibt-19-0-4.sfi +lib/firmware/intel/ibt-19-16-4.sfi +lib/firmware/intel/ibt-19-240-1.sfi +lib/firmware/intel/ibt-19-240-4.sfi +lib/firmware/intel/ibt-19-32-0.sfi +lib/firmware/intel/ibt-19-32-1.sfi +lib/firmware/intel/ibt-19-32-4.sfi +lib/firmware/intel/ibt-20-0-3.sfi +lib/firmware/intel/ibt-20-1-3.sfi +lib/firmware/intel/ibt-20-1-4.sfi +lib/firmware/intel/ice/ddp-lag +lib/firmware/iwlwifi-cc-a0-77.ucode +lib/firmware/iwlwifi-Qu-b0-hr-b0-77.ucode +lib/firmware/iwlwifi-Qu-b0-jf-b0-77.ucode +lib/firmware/iwlwifi-Qu-c0-hr-b0-77.ucode +lib/firmware/iwlwifi-Qu-c0-jf-b0-77.ucode +lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode +lib/firmware/iwlwifi-so-a0-gf4-a0-83.ucode +lib/firmware/iwlwifi-so-a0-gf4-a0.pnvm +lib/firmware/iwlwifi-so-a0-gf-a0-83.ucode +lib/firmware/iwlwifi-so-a0-gf-a0.pnvm +lib/firmware/iwlwifi-ty-a0-gf-a0-83.ucode +lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm +lib/firmware/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin +lib/firmware/mediatek/mt8195/scp.img +lib/firmware/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin +lib/firmware/mediatek/WIFI_RAM_CODE_MT7922_1.bin +lib/firmware/nxp/sr150_fw.bin +lib/firmware/rtw89/rtw8851b_fw.bin +lib/firmware/wfx/wfm_wf200_C0.sec diff --git a/config/rootfiles/core/178/filelists/x86_64/intel-microcode b/config/rootfiles/core/178/filelists/x86_64/intel-microcode new file mode 120000 index 000000000..d5ac074e2 --- /dev/null +++ b/config/rootfiles/core/178/filelists/x86_64/intel-microcode @@ -0,0 +1 @@ +../../../../common/x86_64/intel-microcode \ No newline at end of file diff --git a/config/rootfiles/core/177/filelists/x86_64/linux b/config/rootfiles/core/178/filelists/x86_64/linux similarity index 100% rename from config/rootfiles/core/177/filelists/x86_64/linux rename to config/rootfiles/core/178/filelists/x86_64/linux diff --git a/config/rootfiles/core/178/update.sh b/config/rootfiles/core/178/update.sh new file mode 100644 index 000000000..caa15bee7 --- /dev/null +++ b/config/rootfiles/core/178/update.sh @@ -0,0 +1,149 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 3 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2023 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/usr/local/bin/backupctrl exclude >/dev/null 2>&1 + +core=178 + +exit_with_error() { + # Set last succesfull installed core. + echo $(($core-1)) > /opt/pakfire/db/core/mine + # force fsck at next boot, this may fix free space on xfs + touch /forcefsck + # don't start pakfire again at error + killall -KILL pak_update + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: $1" + exit $2 +} + + +# Remove old core updates from pakfire cache to save space... +for (( i=1; i<=$core; i++ )); do + rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire +done + +# Stop services +/etc/rc.d/init.d/squid stop + +KVER="xxxKVERxxx" + +# Backup uEnv.txt if exist +if [ -e /boot/uEnv.txt ]; then + cp -vf /boot/uEnv.txt /boot/uEnv.txt.org +fi + +# Do some sanity checks prior to the kernel update +case $(uname -r) in + *-ipfire*) + # Ok. + ;; + *) + exit_with_error "ERROR cannot update. No IPFire Kernel." 1 + ;; +esac + +# Check diskspace on root +ROOTSPACE=$( df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1 ) + +if [ $ROOTSPACE -lt 100000 ]; then + exit_with_error "ERROR cannot update because not enough free space on root." 2 + exit 2 +fi + +# Remove the old kernel +rm -rvf \ + /boot/System.map-* \ + /boot/config-* \ + /boot/ipfirerd-* \ + /boot/initramfs-* \ + /boot/vmlinuz-* \ + /boot/uImage-* \ + /boot/zImage-* \ + /boot/uInit-* \ + /boot/dtb-* \ + /lib/modules + +# Extract files +extract_files + +# Remove files +#rm -rvf \ + +# update linker config +ldconfig + +# Update Language cache +/usr/local/bin/update-lang-cache + +# Filesytem cleanup +/usr/local/bin/filesystem-cleanup + +# Start services +/etc/init.d/sshd restart +/etc/init.d/unbound reload +if [ -f /var/ipfire/proxy/enable ]; then + /etc/init.d/squid start +fi + +# Rebuild initial ramdisks +dracut --regenerate-all --force +KVER="xxxKVERxxx" +case "$(uname -m)" in + aarch64) + mkimage -A arm64 -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire.img /boot/uInit-${KVER}-ipfire + # dont remove initramfs because grub need this to boot. + ;; +esac + +# remove lm_sensor config after collectd was started +# to re-search sensors at next boot with updated kernel +rm -f /etc/sysconfig/lm_sensors + +# Upadate Kernel version in uEnv.txt +if [ -e /boot/uEnv.txt ]; then + sed -i -e "s/KVER=.*/KVER=${KVER}/g" /boot/uEnv.txt +fi + +# Call user update script (needed for some ARM boards) +if [ -e /boot/pakfire-kernel-update ]; then + /boot/pakfire-kernel-update ${KVER} +fi + +# This update needs a reboot... +touch /var/run/need_reboot + +# Finish +/etc/init.d/fireinfo start +sendprofile + +# Update grub config to display new core version +if [ -e /boot/grub/grub.cfg ]; then + grub-mkconfig -o /boot/grub/grub.cfg +fi + +sync + +# Don't report the exitcode last command +exit 0 diff --git a/config/rootfiles/oldcore/177/exclude b/config/rootfiles/oldcore/177/exclude new file mode 100644 index 000000000..8ee1c3c2f --- /dev/null +++ b/config/rootfiles/oldcore/177/exclude @@ -0,0 +1,35 @@ +boot/config.txt +boot/grub/grub.cfg +boot/grub/grubenv +boot/uEnv.txt +etc/alternatives +etc/collectd.custom +etc/default/grub +etc/ipsec.conf +etc/ipsec.secrets +etc/ipsec.user.conf +etc/ipsec.user.secrets +etc/localtime +etc/shadow +etc/snort/snort.conf +etc/ssl/openssl.cnf +etc/sudoers +etc/sysconfig/firewall.local +etc/sysconfig/rc.local +etc/udev/rules.d/30-persistent-network.rules +srv/web/ipfire/html/proxy.pac +var/ipfire/dma +var/ipfire/time +var/ipfire/firewall/locationblock +var/ipfire/fwhosts/customlocationgrp +var/ipfire/ovpn +var/ipfire/urlfilter/blacklist +var/ipfire/urlfilter/settings +var/lib/alternatives +var/lib/location/database.db +var/lib/location/ipset +var/log/cache +var/log/dhcpcd.log +var/log/messages +var/state/dhcp/dhcpd.leases +var/updatecache diff --git a/config/rootfiles/oldcore/177/filelists/aarch64/linux b/config/rootfiles/oldcore/177/filelists/aarch64/linux new file mode 120000 index 000000000..3a2532bc7 --- /dev/null +++ b/config/rootfiles/oldcore/177/filelists/aarch64/linux @@ -0,0 +1 @@ +../../../../common/aarch64/linux \ No newline at end of file diff --git a/config/rootfiles/oldcore/177/filelists/aarch64/u-boot-mkimage b/config/rootfiles/oldcore/177/filelists/aarch64/u-boot-mkimage new file mode 120000 index 000000000..8606a8983 --- /dev/null +++ b/config/rootfiles/oldcore/177/filelists/aarch64/u-boot-mkimage @@ -0,0 +1 @@ +../../../../common/aarch64/u-boot-mkimage \ No newline at end of file diff --git a/config/rootfiles/core/177/filelists/aarch64/util-linux b/config/rootfiles/oldcore/177/filelists/aarch64/util-linux similarity index 100% rename from config/rootfiles/core/177/filelists/aarch64/util-linux rename to config/rootfiles/oldcore/177/filelists/aarch64/util-linux diff --git a/config/rootfiles/oldcore/177/filelists/core-files b/config/rootfiles/oldcore/177/filelists/core-files new file mode 100644 index 000000000..0dec37e53 --- /dev/null +++ b/config/rootfiles/oldcore/177/filelists/core-files @@ -0,0 +1,5 @@ +etc/system-release +etc/issue +etc/os-release +srv/web/ipfire/cgi-bin/credits.cgi +var/ipfire/langs diff --git a/config/rootfiles/core/177/filelists/files b/config/rootfiles/oldcore/177/filelists/files similarity index 100% rename from config/rootfiles/core/177/filelists/files rename to config/rootfiles/oldcore/177/filelists/files diff --git a/config/rootfiles/core/177/filelists/fireinfo b/config/rootfiles/oldcore/177/filelists/fireinfo similarity index 100% rename from config/rootfiles/core/177/filelists/fireinfo rename to config/rootfiles/oldcore/177/filelists/fireinfo diff --git a/config/rootfiles/core/177/filelists/iproute2 b/config/rootfiles/oldcore/177/filelists/iproute2 similarity index 100% rename from config/rootfiles/core/177/filelists/iproute2 rename to config/rootfiles/oldcore/177/filelists/iproute2 diff --git a/config/rootfiles/core/177/filelists/ntp b/config/rootfiles/oldcore/177/filelists/ntp similarity index 100% rename from config/rootfiles/core/177/filelists/ntp rename to config/rootfiles/oldcore/177/filelists/ntp diff --git a/config/rootfiles/core/177/filelists/openssh b/config/rootfiles/oldcore/177/filelists/openssh similarity index 100% rename from config/rootfiles/core/177/filelists/openssh rename to config/rootfiles/oldcore/177/filelists/openssh diff --git a/config/rootfiles/core/177/filelists/squid b/config/rootfiles/oldcore/177/filelists/squid similarity index 100% rename from config/rootfiles/core/177/filelists/squid rename to config/rootfiles/oldcore/177/filelists/squid diff --git a/config/rootfiles/core/177/filelists/squid-asnbl b/config/rootfiles/oldcore/177/filelists/squid-asnbl similarity index 100% rename from config/rootfiles/core/177/filelists/squid-asnbl rename to config/rootfiles/oldcore/177/filelists/squid-asnbl diff --git a/config/rootfiles/core/177/filelists/sudo b/config/rootfiles/oldcore/177/filelists/sudo similarity index 100% rename from config/rootfiles/core/177/filelists/sudo rename to config/rootfiles/oldcore/177/filelists/sudo diff --git a/config/rootfiles/oldcore/177/filelists/x86_64/linux b/config/rootfiles/oldcore/177/filelists/x86_64/linux new file mode 120000 index 000000000..0615b5b9a --- /dev/null +++ b/config/rootfiles/oldcore/177/filelists/x86_64/linux @@ -0,0 +1 @@ +../../../../common/x86_64/linux \ No newline at end of file diff --git a/config/rootfiles/core/177/filelists/x86_64/util-linux b/config/rootfiles/oldcore/177/filelists/x86_64/util-linux similarity index 100% rename from config/rootfiles/core/177/filelists/x86_64/util-linux rename to config/rootfiles/oldcore/177/filelists/x86_64/util-linux diff --git a/config/rootfiles/core/177/update.sh b/config/rootfiles/oldcore/177/update.sh similarity index 100% rename from config/rootfiles/core/177/update.sh rename to config/rootfiles/oldcore/177/update.sh diff --git a/html/cgi-bin/vulnerabilities.cgi b/html/cgi-bin/vulnerabilities.cgi index 0edd127d7..77223c4fa 100644 --- a/html/cgi-bin/vulnerabilities.cgi +++ b/html/cgi-bin/vulnerabilities.cgi @@ -30,12 +30,14 @@ require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; my %VULNERABILITIES = ( + "gather_data_sampling" => "gather data sampling", "itlb_multihit" => "$Lang::tr{'itlb multihit'} (CVE-2018-12207)", "l1tf" => "$Lang::tr{'foreshadow'} (CVE-2018-3620)", "mds" => "$Lang::tr{'fallout zombieload ridl'} (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127, CVE-2019-11091)", "meltdown" => "$Lang::tr{'meltdown'} (CVE-2017-5754)", "mmio_stale_data" => "$Lang::tr{'mmio stale data'} (CVE-2022-21123, CVE-2022-21125, CVE-2022-21127, CVE-2022-21166)", "retbleed" => "$Lang::tr{'retbleed'} (CVE-2022-29900, CVE-2022-29901)", + "spec_rstack_overflow" => "spec rstack overflow", "spec_store_bypass" => "$Lang::tr{'spectre variant 4'} (CVE-2018-3639)", "spectre_v1" => "$Lang::tr{'spectre variant 1'} (CVE-2017-5753)", "spectre_v2" => "$Lang::tr{'spectre variant 2'} (CVE-2017-5715)", diff --git a/lfs/intel-microcode b/lfs/intel-microcode index 37cf9589c..4bb322ac5 100644 --- a/lfs/intel-microcode +++ b/lfs/intel-microcode @@ -24,7 +24,7 @@ include Config -VER = 20230613 +VER = 20230808 THISAPP = Intel-Linux-Processor-Microcode-Data-Files-microcode-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -41,7 +41,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 56bffb26687fd3a20b79b4540ae10c98b2875e3edb84583b679ddc75e339193db4bddece25c7e5cb26b79f5e6ce2d10fcc318c55e13c05d8611198e4c571354b +$(DL_FILE)_BLAKE2 = 400ba9b91a7048c780377d49ff6cb00458c60a9d53c2e5cef1eb99170ca8f0cad66336841d14869bd42d182f7d8df27a2fa9cb982b0df0c5fc9f62325b6acb69 install : $(TARGET) diff --git a/lfs/linux b/lfs/linux index 2160482ca..52f1fe167 100644 --- a/lfs/linux +++ b/lfs/linux @@ -24,7 +24,7 @@ include Config -VER = 6.1.42 +VER = 6.1.45 ARM_PATCHES = 6.1.y-ipfire2 THISAPP = linux-$(VER) @@ -75,7 +75,7 @@ objects = \ $(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE) arm-multi-patches-$(ARM_PATCHES).patch.xz = $(URL_IPFIRE)/arm-multi-patches-$(ARM_PATCHES).patch.xz -$(DL_FILE)_BLAKE2 = 27d506867a44764ca5fb71d36a1732ded064b8d24d2d53bd1b2158db53cc82283a390b46071ed0cd07fdd68a0fd60486e5ec231fc6247f87bc0bea9692d449f9 +$(DL_FILE)_BLAKE2 = 1889f12c4bf9d09a5c3d3addbe5de7989ebacdc89c01973b33e8e11faa989eb7a0f1666c3a78ffeb6b315ec1599ab51490a97079f2d4c2109c8888a88dcf03b7 arm-multi-patches-$(ARM_PATCHES).patch.xz_BLAKE2 = 7afc460562fb24bcd75784fc79de768f9b60780aedd88d1a847927169e31920bbb475b1ac1466c4a224a7876d16bd8d465b96202de12b74f6e2ccbfcec731ad3 install : $(TARGET) diff --git a/lfs/linux-firmware b/lfs/linux-firmware index 7313c2d0f..bd292a694 100644 --- a/lfs/linux-firmware +++ b/lfs/linux-firmware @@ -24,7 +24,7 @@ include Config -VER = 20230625 +VER = 20230804 THISAPP = linux-firmware-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = ffddd7e1252b1916b667ed153b6a81d843589c36d53ca48d5a491183f549b380ba7b242e4dc18998fc7e8d3fa4522c4ab0ed55ac37e771f13254f7c0e3b69ccf +$(DL_FILE)_BLAKE2 = 9ecedb8bc155fbd192d8cd42d06c9b37d6c7a52c013ec997331865c06f12251c3f223eb9d2e6d0830e29276bd588a352e8ff8bae276e63157df5d6a433c3e20d install : $(TARGET) @@ -71,7 +71,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && git apply -p1 < $(DIR_SRC)/src/patches/linux-firmware-amd-family-19h.patch - cd $(DIR_APP) && git apply -p1 < $(DIR_SRC)/src/patches/linux-firmware-amd-family-17h.patch mkdir -p /lib/firmware cd $(DIR_APP) && make install diff --git a/make.sh b/make.sh index e0db03619..1c3fcf26b 100755 --- a/make.sh +++ b/make.sh @@ -23,7 +23,7 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name # If you update the version don't forget to update backupiso and add it to core update VERSION="2.27" # Version number -CORE="177" # Core Level (Filename) +CORE="178" # Core Level (Filename) SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir MAX_RETRIES=1 # prefetch/check loop @@ -1132,17 +1132,6 @@ buildipfire() { lfsmake2 iproute2 lfsmake2 screen lfsmake2 elfutils - - # Kernelbuild ... current we have no platform that need - # multi kernel builds so KCFG is empty - lfsmake2 linux KCFG="" - lfsmake2 rtl8189es KCFG="" - lfsmake2 rtl8189fs KCFG="" - lfsmake2 rtl8812au KCFG="" - lfsmake2 rtl8822bu KCFG="" - lfsmake2 rtl8821cu KCFG="" - lfsmake2 linux-initrd KCFG="" - lfsmake2 expat lfsmake2 libconfig lfsmake2 curl @@ -1709,6 +1698,16 @@ buildipfire() { lfsmake2 perl-MIME-Base32 lfsmake2 perl-URI-Encode lfsmake2 rsnapshot + + # Kernelbuild ... current we have no platform that need + # multi kernel builds so KCFG is empty + lfsmake2 linux KCFG="" + lfsmake2 rtl8189es KCFG="" + lfsmake2 rtl8189fs KCFG="" + lfsmake2 rtl8812au KCFG="" + lfsmake2 rtl8822bu KCFG="" + lfsmake2 rtl8821cu KCFG="" + lfsmake2 linux-initrd KCFG="" } buildinstaller() { diff --git a/src/patches/linux-firmware-amd-family-17h.patch b/src/patches/linux-firmware-amd-family-17h.patch deleted file mode 100644 index b3cbc6b12..000000000 --- a/src/patches/linux-firmware-amd-family-17h.patch +++ /dev/null @@ -1,243 +0,0 @@ -From 0bc3126c9cfa0b8c761483215c25382f831a7c6f Mon Sep 17 00:00:00 2001 -From: John Allen -Date: Wed, 19 Jul 2023 19:17:57 +0000 -Subject: [PATCH] linux-firmware: Update AMD fam17h cpu microcode - -* Update AMD cpu microcode for processor family 17h - -Key Name = AMD Microcode Signing Key (for signing microcode container files only) -Key ID = F328AE73 -Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73 - -Signed-off-by: John Allen -Signed-off-by: Josh Boyer ---- - WHENCE | 2 +- - amd-ucode/README | 3 ++- - amd-ucode/microcode_amd_fam17h.bin | Bin 9700 -> 12924 bytes - amd-ucode/microcode_amd_fam17h.bin.asc | 16 ++++++++-------- - 4 files changed, 11 insertions(+), 10 deletions(-) - -diff --git a/WHENCE b/WHENCE -index b92e5299..dcb86fab 100644 ---- a/WHENCE -+++ b/WHENCE -@@ -3909,7 +3909,7 @@ Raw: amd-ucode/microcode_amd_fam16h.bin - Version: 2014-10-28 - File: amd-ucode/microcode_amd_fam17h.bin - Raw: amd-ucode/microcode_amd_fam17h.bin --Version: 2023-04-13 -+Version: 2023-07-19 - File: amd-ucode/microcode_amd_fam19h.bin - Raw: amd-ucode/microcode_amd_fam19h.bin - Version: 2023-07-18 -diff --git a/amd-ucode/README b/amd-ucode/README -index 4308fe2d..1d39da3b 100644 ---- a/amd-ucode/README -+++ b/amd-ucode/README -@@ -32,8 +32,9 @@ Microcode patches in microcode_amd_fam16h.bin: - - Microcode patches in microcode_amd_fam17h.bin: - Family=0x17 Model=0x08 Stepping=0x02: Patch=0x0800820d Length=3200 bytes -+ Family=0x17 Model=0x31 Stepping=0x00: Patch=0x0830107a Length=3200 bytes -+ Family=0x17 Model=0xa0 Stepping=0x00: Patch=0x08a00008 Length=3200 bytes - Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes -- Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes - - Microcode patches in microcode_amd_fam19h.bin: - Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes -diff --git a/amd-ucode/microcode_amd_fam17h.bin b/amd-ucode/microcode_amd_fam17h.bin -index 37d899cd534789e461a5cf3ad666fcd587b8ab93..f9841b65b8d6ea156a402f45bba17f0e31eaf4ea 100644 -GIT binary patch -delta 5515 -zcmYk8RZtuZvPK7jySq%V;4T4zJAvTt?(RBxa1Rz_&;WzO;BLVoxCQs%1edx0ZtdNB -zzpAb}UsXT#OP{^ZFP4hZ$`XKoMfINv!w&fu{ySkI000hl_#t#j|ZT}icQL6u7i2O&l7_~t1tENe0U+A -z>aiT*n=7;5{Mj*6^>@9B!N`TNQ-(IF^RO<@Ck{?X@^XsXb!)_}-TIAF$J$y#|42zO -zC|hgIJ+wL{5>J6AJ`siL$1omP$DdlPwvuAH<+$`+r%e)0zM2p+D6o%|6Nf~PEhHKL -z@~d~0!eD+r^;H1mX{fR5!$*GDB#v+S?#K!+-w!f*ZkT=c9B4+TXIP7I--6xZHsHj10RaW -z#(7u5oYbEZiZEIJ8$XuWuBfrP+)w95`gc!gb>CFHzU-C7em{*tL5Www0twaNI-(a)qH -z{gmf9>-kl8tD(a)GxIp)2o7*6|!*ay%IOe~Um_8cY_vyrWG3HV!QD?!m(a)FYxe9aHrHy -zxpkGs7F(hL1wGq?Z!J^%C(iiBaxNqn6z9XV}@Xwp)Cg8j|0{2BCfzU5y*+GhWkXIYbAF^s`C~wRQ{Jxn7b+SkU9}FddM| -zAQlvHLsaXVi9B3(a)_BE-16tG?eRfn&7ZJ_FK)Z*CM5L#9me}pZLWQy`Q7nGcGZg1^AtMOaMxSeF_G0zLL!m= -zob1B6&H0G_fnYwdRnX6hrDYx{)$mr;yb2NjI7IvehpYaJ(|4~8arH)%xQ)0RUFGyw -zq${*LQh~k2_`1K}H#uAlzk2p*Xn)HehKTmbr_5VtHGNT`PtNllJgAEC)(%N^}Of{egQEuhE?I|Vw&LL7}I7; -z`ls+cZvQeNANzJ)Mve~aD2|O~xW3M}dAwlr2=VWXUak!j(a)ckln8fWD5{HH}jJ+aNe -zEW2CsDm1WY0%*ATmz3%WzT3C}Su|PU-oX-Ah0gO!^Sa#Ll4{?nCDKCcUiLg42LQH6 -zgi^hWC`^I$cDr5+)Q?N|cDKGLuy -zyQeik2^k0S(qJ-b9*Jz`TWzcLq8V-3(a)Ym>O`;8a+AbFL&xLVvE`)MWya)(D<9*XM1 -zXFFW&pUh>V^$0Z+4(a)LQynM%tIms?a?7zE)OsDe42J9k`(_gl1aOhjm#3&Y39=jfVs^ -zx3l>{Qc$CEH&uCms0U#(jqUp=&8ZpoK6XSEReo^&&+nuK!sA@GU~>l8_(a)4YgP%z?XatsQ7kb3sM}LrHLFa+PIfYXN5c{2KDpO;y)72 -zI}wc`NPF2&Nh>MRib!@5`+2UmQ`hC!i|s6v<0+Jg>*rwGIiz*mv%IR(a)O%IyqSJtg~ -zvOJ50s8b)sz=%G}c^O`r9q2wGMYv<#yz(MyBXAP*M0-cHw -z6gIj~5nw9g(&#RlT;W2E<HGfZ4pBbf%gQpdfa7(r8(gK!X`ZHE0FXW(K&G8us!`CF|H(dx -zzeE_KfOD(a)G7xA@sJdvFt3!U{?dOcjfX)SztR^RF`AE)RSt*&Jb2J8hFT4|AcFCNik -z_GS548p2O?R78M~A2GJhzDl)Hgb$n6pO -zb#Izuq&|Q^%3Fn}fDW}K+Nf~$&Jn#G7wZRkam(bor8h?Ui(a)rq{|Ea9HVe_Y{jxQRv -zVPU)}sl8#>^(VH-${rR3eHZ^muUv!@F4b6KF&-D!$5(0-CAV?shS|TA%y6J9pw%OZ~_a -zt}TS^ZK(Z8&E3;ngME15MF)dpQV>yPQz^lyRhD(4xhhX5&x8E -z%=0phG=g5WFU0gY6D$-DsH4Qcej|F+Xfro4O{Il6Rz>Qj -znAc{|Zq{DXYxcjQUS}-(wGS1%G(a)w1`8>H3-hrS)MtC4}6PYUD%*J;ZAtthpUdwP>r -zNyimboG(_nD~KS^t0p(a)Qp2(WMQ|#Y|?$YW0knCR7xNh69>KsdE4#jqlgT0JWtVU&h -zdcQB6{>UlO3ak_Xw~-mUHlv-pt&9Q$Vhf<;46L>G!?xm*9|W`Hf2E)Yb^Rk;fDjA- -zfEGxIgaQJ9Q4m7@&szUY|FKwyBUOdpdCxxO=@D2lm6Vm<-}V(a)R?|qKEo7}JEP$oPa -z1q&9G7>h*x=6zF?l?)gMrTMOEi`nkbGWjs?6MV7;45FAVQrB|@n*i74(a)p>-I$|y^~ -zO8;rXyaaI)Ks^sx7w`~-R#w5Kvns~QNBE1qq)JL%=G*ud&Wdgia(a)+JpeR4?kH6#O` -zt3$OjAkqkRhCGY8e}-`OW6r}R#a#`LP%fFU(zb;FLdhTAct!$Du7?6J#M;d(a)Mn*4y -zx_ZE~+cRUol&M&1p#3(a)AjsHdh{?5lZa -zGEUf=J^CK2!O_bu6DHw?v&v9o -z2_mlFPCxLTAs=+q(2+a(a)l-zZmjUb2S{r>!+7R{kR%#n`m-%61F0fE{5Snr95QhZ%RHU5fo;SppyEMvZTK -zBRw_7x}#4r{Tly-(V)1O4QJkg(a)Mj<=rQ*Sn_Ei7T>KkyuI$eN;=FQGnT0HV+3(5zQ -z*X?P!xGP(a)C7Bm77Zxu3f(J{OozO)xnzEDz5{Ce_W7hVQM{N>vQxY12=!rpV#%*D`b -zixKbKr`1#WJ)O4r$>TygH$Pwf$EZ(ZjR~aeix$f)gB9p7<)jjc8yMz#+0gvWLvZQD -zj1Tj0zc;HNXa8cZY$`3p8ai~lei;XI=!uxw(a)8DJJQRmi*It5S8wmWisZ~r`wQ{WEC(a)m -zPsjNRZr47m9;wp0+b{G2G+nty1n{^DJGHH62!i}hG0zoWg9ZECWQwN(@n_>tp-t^z -zA+5I;6$?<21b3!L)ePGDl&XGgmG0@%1$&x48mD)1+zq= -zj9Yc|S_!+PSuLe9{J8$2C9hHm{t$eVIL6{G`y_&$6yN;>+mstD%;3;>j^mcZrAmK- -zt5~@Ki)g8W(sK<-Vi793=|IG&ftJ%}wg6ywsS&KbqR#_vppo -zyntL|6EOyPfwh(NslOa-S>vd7p{0qn#Ew-#5`H}VJ1!2cMhw!$%NniBTOOk?k#kti -zks|^*gV{Q~ALd?jD=)XzmeU_v+>}yQXDY>iA1I4rekhw3gJ0DEtkBku3hp+I?y!E^ -z`NAQT9jQC6-E-M@=pdXpZYaVkKMGNpl>x0VlZjQqY$%j1XXCAB_LZ>9c?Syhl0>~6 -ztY4&kiF9uu^O9Wc_oGn8N;tK5L(cZ0EyhL4O7P*q -z-T^tWD*-Un`o#l@(HD}yKe3KT6BnNV4c+wV%tkR?yE3|ck%qWs3!l-sHe8y%k%9KZ -zGftz-tWk}d)5+&b@$-t|Pl1vwnj&}JY~}m{P46v+lJ)(cq+^#E??;jonm2CnDm(4( -z6-A&=bWq08;JHY=Q2U8>}pYG-Tp;8U*UeG^b{33TsT$?A8{as*Kjz -z;Y0tvL!|hDbS_bTLH;gna3Ks(a)a*AW5nc^RP2BowqPt=eQQT7#foHGdYUO+?0+fp>f -zMT3h-YL-&V%SY_2b*w)3f_K+;U~0?y31W?~U5p1WA{?VB6HXNN^1d#eH23uZMbxVdI)y^zwGG&O7Mc(#pFPfM -zuf9aoZ4ERGB!{6t(a)+WQTBGHUNhBd#ns6)qmS{<8M%60ooeW>*|zcn5G7#E~33{0oB -z>phpOtH5%v3<|m=?@%JJ&;@P4EUjFJ2~l7?A#={fYB(3=)h%LN1vES3WQUVwNsKa- -zm~YIJSh#Z${++Ie6uIFc{T(a)w-RlmYBb55h-GAWn70gw7yF{l(a)DjT*cZ$amhbN>kNr -zSTh040SRcc>sU;A9um%_!_Povujr?Xq8rJb`2idLt4fnT9slQBbC6F~hBCpgDy-bHMCf;&k{@uE4dwa((8}ItIb}f`LvZTh`0U}^q!1>&V)*0eKWL)^fe?Goa -z23N_0Sf&9$$p?5)m~CUD!3H>a6%9v5;t{o%U5Th&s(a)TK3kF#4v6ixx@?D_DZ2`t|I&(34 -zA`P7VMvC>o(}UfgT|PLShH%|@isZiXMoJHiqq~~#q7tNTvggZI -z1eH3}{K-Z{%8tD11YBa= -zb_7FO3xP*#Y4f2rLQ5(WVczX29%nodL9Ov*>DI>16AxvHueJY%H)l~NbcicZxvnKP~-dZi -z)z=jN<0LY!kS*KISK*gdXw-R&E`(s(a)c6L0Izh@NCRQLifd03hlVG6nq5E%Q~SG_!r -zi-uhg%Or+^L&t>|jcEG3atgujiSBDNCfqI7&oSstXiun(tb&=lSq>bSe2I!Q?Z{Di -zf8d`9Dh=FL#?_{Nr(a)Z+p&LhA|n{;CmWS8>DKuC0gYs^)6NlE#;8*1y^X|~#5VqJbH -zZ+f`&0=_}j{dp^5Mq#I|;$ODtORP+K$zOvl$rO)lG}=<$8*KM1BeYlUK|B3&gxT(s -z7G?W{DJi797Yjm?rTLhwIY2Pf*AhxhM-eFvDj~ZG4aYJz%AI=&Ip3Y`@UqBqdVpS` -z>CnmC9G~w}L!-YvK(3^uK0!K#ac| -z2fGO8EX(7gOtO?8A2A`a+bH_j=KK5ox`+R6J!TA0QyN*|7vA6hHPrV&TwLeIZHxen -F{{gHxepLVf - -delta 2769 -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 -XI8~N^f?XgDZsTXPhi>+WOwD$}@;OgK - -diff --git a/amd-ucode/microcode_amd_fam17h.bin.asc b/amd-ucode/microcode_amd_fam17h.bin.asc -index 27da52c8..34a40245 100644 ---- a/amd-ucode/microcode_amd_fam17h.bin.asc -+++ b/amd-ucode/microcode_amd_fam17h.bin.asc -@@ -1,11 +1,11 @@ - -----BEGIN PGP SIGNATURE----- - --iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmQeEvgACgkQ5L5TOfMo --rnPOpAf/dYhPqq/ktg1muI/khV4EhDiguX6OXib3fmfSZdvPIAI0cRI77M3Lvf0b --nlV8D67e5HOQ5foJbix5tunz0sZjqr2QU8U9dNk/ut0KC7UiCRc8VH40aSi/OQBG --Y8c7tb6IJ+N+jyJ6Ii6koUuRO2Lk2MckcrWLRuLRV4bB+osyJrGjc/X54Z6UJ/Ma --VDg13Yxy5WvC7sMmlmnY42JLeLBKDVUvg0zDvJ4aOLLxRE2l3eiAKE+TV122LmxN --ca5WA/ESYQ9BjxHYIrpTd9nQaWa/TIZ+rOmJGLMtnQ1gGlW97zQuJR7zh+8vdLzC --iwVlS1cu7kcV7KYDytTkWJ+2gwb3uQ== --=lP2S -+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS4Mm4ACgkQ5L5TOfMo -+rnN35wgAkllCunxE6J5hQyLMx5o4WTHZkbNvXmu6nV1Y3vjiL1oeaK+pmx8BlkPt -+fGZJCe/068kqmp3N4EtOZLxXn55t3jNBYectPr0RmFqpjMsEJEcfXfuXROA4N9Ti -+Zd/o6X21eHEsm0kK0q4YfppfgTd5Ze7k1jTkUuuU6/yh6uRk1MiFreEzkPO3Aayh -+iEWlYx33vq3HccTPgdY3D64Zr8gmgKG+8mdEvqb1jK4SVZ1/9vy4OKIIpUZB/eqx -+46h9Ejwn9pktnYkHi/A/zCREEcIQ10HXFF5bjxJTFQkM5S46/QEO7uuvnpMb+6Yy -+4V1/QIWMG6ixqCRx9GqbBK7GHdYODw== -+=+IsI - -----END PGP SIGNATURE----- --- -2.39.2 - diff --git a/src/patches/linux-firmware-amd-family-19h.patch b/src/patches/linux-firmware-amd-family-19h.patch index 0cf278085..371a8bfbb 100644 --- a/src/patches/linux-firmware-amd-family-19h.patch +++ b/src/patches/linux-firmware-amd-family-19h.patch @@ -1,7 +1,7 @@ -From b250b32ab1d044953af2dc5e790819a7703b7ee6 Mon Sep 17 00:00:00 2001 +From f2eb058afc57348cde66852272d6bf11da1eef8f Mon Sep 17 00:00:00 2001 From: John Allen -Date: Tue, 18 Jul 2023 23:19:59 +0000 -Subject: [PATCH] linux-firmware: Update AMD cpu microcode +Date: Tue, 8 Aug 2023 19:02:39 +0000 +Subject: [PATCH 1/1] linux-firmware: Update AMD cpu microcode * Update AMD cpu microcode for processor family 19h @@ -13,576 +13,473 @@ Signed-off-by: John Allen Signed-off-by: Josh Boyer --- WHENCE | 2 +- - amd-ucode/README | 6 +++--- - amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 16804 bytes + amd-ucode/README | 13 +++++++++++++ + amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 39172 bytes amd-ucode/microcode_amd_fam19h.bin.asc | 16 ++++++++-------- - 4 files changed, 12 insertions(+), 12 deletions(-) + 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/WHENCE b/WHENCE -index de23a75e..b92e5299 100644 +index 99cee970..54aadb0c 100644 --- a/WHENCE +++ b/WHENCE -@@ -3912,7 +3912,7 @@ Raw: amd-ucode/microcode_amd_fam17h.bin - Version: 2023-04-13 +@@ -3924,7 +3924,7 @@ Raw: amd-ucode/microcode_amd_fam17h.bin + Version: 2023-07-19 File: amd-ucode/microcode_amd_fam19h.bin Raw: amd-ucode/microcode_amd_fam19h.bin --Version: 2023-01-31 -+Version: 2023-07-18 +-Version: 2023-07-18 ++Version: 2023-08-08 File: amd-ucode/README License: Redistributable. See LICENSE.amd-ucode for details diff --git a/amd-ucode/README b/amd-ucode/README -index 0d97f910..4308fe2d 100644 +index 1d39da3b..fac11524 100644 --- a/amd-ucode/README +++ b/amd-ucode/README -@@ -36,6 +36,6 @@ Microcode patches in microcode_amd_fam17h.bin: - Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes +@@ -37,6 +37,19 @@ Microcode patches in microcode_amd_fam17h.bin: + Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes Microcode patches in microcode_amd_fam19h.bin: -- Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001078 Length=5568 bytes -- Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011ce Length=5568 bytes -- Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001231 Length=5568 bytes -+ Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes -+ Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001079 Length=5568 bytes -+ Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001234 Length=5568 bytes ++ Family=0x19 Model=0x11 Stepping=0x01: Patch=0x0a10113e Length=5568 bytes ++ Family=0x19 Model=0x11 Stepping=0x02: Patch=0x0a10123e Length=5568 bytes ++ Family=0x19 Model=0xa0 Stepping=0x02: Patch=0x0aa00212 Length=5568 bytes + Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes + Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001079 Length=5568 bytes + Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001234 Length=5568 bytes ++ Family=0x19 Model=0xa0 Stepping=0x01: Patch=0x0aa00116 Length=5568 bytes ++ ++NOTE: For Genoa (Family=0x19 Model=0x11) and Bergamo (Family=0x19 Model=0xa0), ++either AGESA version >= 1.0.0.8 OR a kernel with the following commit is ++required: ++a32b0f0db3f3 ("x86/microcode/AMD: Load late on both threads too") ++ ++When late loading the patches for Genoa or Bergamo, there may be one spurious ++NMI observed per physical core. These NMIs are benign and don't cause any ++functional issue but will result in kernel messages being logged. diff --git a/amd-ucode/microcode_amd_fam19h.bin b/amd-ucode/microcode_amd_fam19h.bin -index 4bd623e14006b3a2eeb287e52708d3bea1c3a728..50470c3f461a068e832a1ebe33683a041d4515fe 100644 +index 50470c3f461a068e832a1ebe33683a041d4515fe..02a5d051d58b8028275ee6a0b091f11f8d1b6e27 100644 GIT binary patch -literal 16804 -zcmeI&Q;%k0+b-&|ZQHhO+qPZRW!vhqZFku=p0aJL%bM?-nU!y(a)HGja`=`$H4xkg6r -zz3bjMbBM_c1N}Eb|9OxR3;y%|-$5<_0z&#fW~BejDF4Td@}K$t8{q$Z=tl=4dARAv8YrGO%oMvFAg!{$lAVN$g-T#D{>;i!j?1KK|q$@wCynBV3w23pH* -zr8)2_v}j)#KV>W(a)f_&#`F~Un?x0NcjG&6fMlx8H(O9XB0hjaWJW15RSn8)WchyF#P -zj^254)ABW%ozHqwJpD{kC2A2-{!8t`I*WbMuPESqz}bnq*ieONM;;vz79SD$8*1uA -zHV3F`1+WD~V=tkGGYQ3zi%f|@UHhJ-BRYLm`x2oh$Ywp_fJvkcRP_y86{V-yZIeW4)m?z7R5uxYZpYcNcQi4{3+hRq0VAEYNy+Dg&p*!6G2w -z9E8-z$7p%@8E)76Oqh+*4N!%Afh#?%3bd6fD)tnS` -zQ4i$VwnBog{k*O(LqF6*FD3_K6Q9?oeQ4U0!q3(rZ>d8A+mxt3gJ8yQu7mAS5qy$Z -z`F4e!Q*r9kvFgmGF#V0YDyc}Ulbf&+($uKrJ9Z!j^<%mDDVol?4lN>&>kXtGp@@9| -zKnMQMqWpJ15RJ!c?avM=WPT(ylH16hZrB7mBO`?EY=yQsU#={6TE -zh^7&3DR?0`{#0*|h+z?-X3vEx5rW_jB3vAg$Apm7ot*x2o`yO(Skp|I7+8$7rOEKS!CM5P(a)O9B6 -z(e*NhlAaWoj+3qd^|ExTeD%qNRhbf+X!2_=mi)`|ufXOFn8g)B(a)x(2sw7{8`u3}`H -z#C-}OV)OW9<2)ZG4*ySu%!Ul{xt>a!>USxy>Cm6PuisG;N6&c+Qk*1&n -zxlWDNOo(a)oMu)nhOzozWZH!|K91E%UPfKXX+&yP2L=4(p{vBk%yV4&C3>)UXLD_;DMaOV;GAgK6{f -z6KpM?^av*CIhjZJNv#B6{Jk#4G{iK4a6A$qzSBIMmZ1FBsuM!rcpS;(>(>M(a)6C_c5 -zq)KLO7hm37Hy*rs8af~GV5P6b`+TJo#v;>&SXziwH8?_lYr(WKs@@JUP<0+K{fV$g -z<>Dt<6AdpUo}B~sCV9pkio8w1lX(qLeWfN0l=Ffi%6uZsvA29V<7PmIr>tb_b6bkq -zix!Mr)~|}Wa-+dF|3W{M&Zdu~Twjhr7|wIJ1hY_D{G9~`g5eL;Qd4PAallF|Mnus& -zGuP)7-hxWs=0^WIkHGrb13cxnPh4z(a)N^gWaofZX+($KBS(nf7sl2tSu%@c~W=V|He -zW_j?+Ac5CO);TTZ-(a)t&F_)zOau(w;8z}d(a)h%PHkx<}Ed_e#{u2)D86$yOo2-I4;DQ -z7(I(a)mX9d}h8Fcqpw=t33a~cQ;Ge=h)75F=WDZv^32iL6XUG~E4s1f#1mYVtuRMVId -zr!mAcwG>Qgy5{XKZ0yLr)Aa!O`Bp${j>|xK -zo>+Y|1If(Ev(K&vnD)ZpRTpSvNiK0QnsBd(a)clkXDdp;b04lW%I|H5+=CQ>gmrq6lV`bSE9BknBAGIi7%m4evX4w -zx&=O2v9r+Jerd4v;mhosqRycVqGqbOZwOu4*Gv}?9D7~XZ(^KB`hxMaXG^Pr8Cn- -z!&ms{BTxp-vdw*TynFko$~Bff)Qhon3}I1rKh}t?>8|%OYTL5FM5ZRLlR?O}ajw9i -zPf?RoEK8B_qYqR~P71ofI=76x^4(+9c))!_zTAglct53`?^(Ygh(*-4!yM+viF`HI -z;o93WUV-@>#49&2GdoODmjg^n$ -ziK~IRaed}N5E1xPB8B!|{{qr-XJ}4Qf(JUvmv$NyCt$3L4^1t=a-7g)$mB=zojJ;x -zic170L*4d+6d7aUM3?=7-@*bB1K^@C^I?vQMQ#VA0*SB91S;h4IU*~^@N1~OWW(=Z -z&M;mgexaSt<~`-`Ez<$s`cShPaA~)J^YT1} -zD(a)IEL-}3f_GAPlvw8TyIs(JoYcxe`+)U~dwX8kCpQre0w^laKjLe)ivBfH;hBG8$1 -zs$CasUsUY47%B6LBT3;%072wN+aZhc93G9s|GqiJ;JF$*In?HI6Yf`xHeuE&Ub_{F -z3e!rFldI>qA;yk#)C=lmv%Pz2Loz*HxuIXl!N>(|_GQEG2rfcoW|Bv-Fn&)7W!qlA -z!&eHJr5_YspF66-I5>tIl0r5e6l>+lQF_E*xg^*w1h%wk(C~zi*$a`9hQn>b?Oxww -zRX-~-B71~c91@)FrKx6WX+kXRR%%s0e(smkP*%~!snK^ZKDst6p{i`o^6QyfEYvCr -z$_>(kYIn_*WFhuMVQEgqfakw-K(a)xwCVDn` -zsOT!}N}Onjw3-y$=9&x2NJnDT#GSD}dx>lNWRYj)+ljg3rE(oxB9S&$)%0W=C$(yD -zOx(a)Nv5-q{l{Bi}mnLij?=V*JX?;ssx)Zz4?!7`zGgdjt5SbxbWHp2Uc7f2-0M_ptY -z^;_&M+Mo~h9O5u&0V-$<$rI;!_G<#jgbgMG%E)H(a)010&6wL#C;r}y(}ge5ZNR+Vc* -zRqCi&gpkz>m0`fBH<=I(a)n-&lDM)heJMloLHpok?e{1LW~T~eeJt2Ga**i;WrQtIT9 -z`JLM^zD={GXOsnwh9Zm2hmL_J_pWJ3Lq+wSie?sRL;n(q&_2J&?XJrVJio5|;O1Q; -zqHFa^VI?Y*Z)KHi{<2(a)_HTB|14sYqQ`!4g`guyU#S%28hniZoN9p=xQn3g|mVDqhN -zP-saAd#+Hd!oE{ImIb=qHXyTsiqu)?l0P$*Au83q+J>Cj=%CsjqV -zv%EXD&c1B-+9TvpiZM9C%TCS`^quf$`DXwh=dpXOG3!|LWu{AmvG{rCIAcIpcFtq0 -zRP~OGiFLIwxlmLBmA;L3!?pRJT -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 -zlcRCD#ZTzi@ -zJF<=St-{ljx?!d}RJJcjWY&4{WyXmFU7EG$8yI|hpp3AQx0<2;UBHS-Vi&K?!G#fj -z6_Q%c;$_*Od%VuJq~|2cevt0rY>`&O+#5U(l3I{YL>IMWE&o^tf$*isEdV;*=w)Bv%{h$$Kfgzbp4$wJ5H3QX>0bIQ3!w=yRe0sXtohzZTbdn -zhB31)uEK?YI}*7cZj-;O6gjsXR~p_kPr<5kJolc(a)VQtL^THXDjfnVggb;Dw(a)9IFrF -zwSCF$PeE0$gzYYP!9q>|+#XXNSajBhnjN%ZJhp5t&5*P+S<ZabVmMedy(a)Y6Bvy{;gK_qKmjval(a)+9)k{sEj3^=R4$bnjiLAY%aO; -z_g?6-(I%M8z`z2Jy*I?uKN32UKr=xw%-2_$*v`txnAT}5(WlQq2etB5EHbWr`u07g -zU!#m?a{)=&gwd2i0+9Qlq3NVbUV<2NvE2#DyR#3*asep?8*)5*Hm>Nh%M>`ew``rZ -zERyxSqY^0Ny`F~l*io9!z~s8p?Sd(a)I`U?iA?Y;|=wil`ss&jhdwc_COm#H~8W~f57 -za&)mk}`Khy%|T5alObOm+4mWC~EuY9ri%! -zOG-3Tc;e_nmI?UrLyyS{Ro>`d(a)c||bV3s`2SuczGFmn#u^CXTM*W4TC{VBbXK)4QP -zrxq%APv;u#K@%(|&hA!YQN2*OJbGhu5T(Tlp|_AxbfgxYNBM+}H~Gs;e9P87V2`4` -zgU_!_W$jyM>DdkpG0CjR)&^rw8CX)RJoU6;i>Cz7uy0`2d(a)u~u6V>*6bcG;@QwLHN -z_e{}f7kPkb!27v1qGj=V#eLIM5-vHP5&|b$+oEs7lV`e^>d&8K|Ge!MZ?q!KKRK+( -z`kqn57avd+REO38muI9V8VLJHoW7#*ot? -zLh|!Y0h-94LhjJV>@(P}_6}eXL1`|yS_$?`@@xKpms$4}R3gXAC4-Xg)}Xb(ZBGRj9vWMV^J3}ur#h|u^Dcba?D{ccehbuAS7PSs={QwR;~J1A -z{y~;A-S^S;)`~p>HK=r8jWje3BBRpP&9Y0rNg6Zd<+(a)n%$_rz(a)Ce9No<12uceyw`G -z8VxnhUPEWXR!Gtpjm*1j1(B@^-`_*iMjgkY77ljgND0^@ -zXh2J0yJELL^>Y2tNd})&N`D(a)Q3eNNI3Of&255(yFS3q&ecsFEf+J&H(a)Z<8lC(`NO6 -zblB3l#Qw6}t)9ON$x4Z`KOAI=Z3A*LQR2QvCesdA$O?~r_(S#3wkF)+;hk{;wJs4V -zZ`B*&-L?Vq?(egse+~((rK5t7Y7UoMd^=`xO_Up3hIfASWld_3e3Oy+Al}IWUO8Wp -z1mji5x)uhwXVka_YHQ=1w&E|qLML6g@A*WH_J20_COgAXz&M=WQ~ib>(MJ3R9))?t@=0Lx5;{fSidZn0o(a)K~zpz -ztsad$Qm2Qb?zHt7GG7jB5~(=sk%}iG2ne?vELq7A=%M*0h*jU0PZ?j(O(#0&Wfos( -zAuYwueshJEZFngJ3YhPTh^T7y(GMvZrps&1JA|3nbo=}%MM{|IEGPu>-uK_XRR0tq -z#dy9}vFxHA~(IBkh+5 -ze37S6VG&mRXH*>(EqQrcev(?PSWIai(jE$gq -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 +zTi=#m(IWWF1EfC8mmMhr4y +zFI6L6u|r5syTv|R-bixMKyjZAQG~K{JwN?ny!v`b0yLyp^#}b{oA|ls7kV`1L6X20 +z)m=K&$!<8eob^B%kAUfL`zhUP3)qovXxNiENOjAWu#~<`7(&D_lpv{zX{!C;q`sF5 +zjUAgP(a)a4}}F;m?2>`)QBQc?zi3Kwzjl=3j`Qw=DEztGZ;AR3uB(a)3j1LSup6jGk7v& +zI|21G00{4AHprbVY>PD(a)EF?+SZ}+-IO~UWjL;)T#00D*-WG +z--Ex}yK4zviU2D9%3vy+>#nY(a)x|(vfu4(t;kGJly6A>-1)Y$}YR*pKJ>5s)am)Xpn +z%uJn+!!&xLO+--(a)dmA;h7PeD>--A&g-JScL6)mm1SFYb3?0(S+ +zUzuucW^9-Wpo&~*BfJq7s%bp_tyk_IKsmv3+6izbCc}1kQs9WEa`x>MDAr4op_ev% +zWyWk!fuhT=EK%k91Ev^`G&8U!@f$Da2Z#1o0AY1qx(a)9$RF{Kh(``na(xe +zdz_0+^@e_=h;KD}`?$D9ee`g~87rfBcLLBZg5Y1a4~dwtV32HcOfNE&j +zccl^PxFmuSnA0y_5m#B)-k&UVTUfE-V$sZdHy^>+c)^ECXyh|bTlayLSDqjBB%N*r +zE*Z(a)ZVvP=Ib(EP}%rn9b`0}J4dN+$LN9WdNo$Y4*kexwk;HfB%FVPCRiablCCGrL< +zlSJw1aFO-P;nGBHJ`d^0{|F9-0NWo#Uih6W0KBHGxel;{KUXMNXqb46T}hsf(a)krrmd{{Q +z>v8rQ<)puSuXTt2=yKT^*A5pepvR%s{LS#L(h%UH&G=({VOF&PYGm&&lNOsMZ?7dVZ_DE;M-8&RuC7e{Hjk +z`aW%(y-=*(Qt4)_weFnS8atidBQ{lJ$yI^iRPZU|f>_!rz4Z0~1{mShMd4G#zsu)7 +z7fq&U$+3+x16!>s&NNh|#70N5=5XldFTRNNU1#!kR@|r|F|#|%e}ke~>{?b1?i(a)fv +zB`{3L)jbaRFP|OP<`LAg1`Id;<#+@?hAXXdx~5{YrORlAhfL4Zu?+h){udEyzKJ&d +zb_6Q9#M3wb^E164c+TxF!Rf`2+TY{uf-%+|K4H>*zL*HzXLh!FA6bTg40{m<_o}j) +z5vhwT#S?@tS;k%!6P-;;XN4WW4o|wXuU+d6&nDHCKSVTKw?esXZkxcU`RTnYmG1xV +z9wIWTH!Gmw!*!G;$=1A$la+_ErXJo43u{Z(#RlwrYA~`JQ1|R7=!f#PS905j_)$02 +z&m*f#NewC5Dh->ZZoT*d>oO>XFP<3VqJ2F5!rBD~V3 +zqcg2X2ghvCjYTyz=;m}W(a)HZcw%NFm@(<;Pypo=bM5mmVW0qm{zj~?w}{*jt-(a)BMtLhO +zFkDn`GKTm}rT%69%qy{J_|GG5IL^g?&T94?3stN#H*^jBl`eX9Jy6}FmfsSvZwuh_ +z<&UQ>l7pH_y_xxHAOZ6Pwrk;S^Hf$x|3)stJkECe)X;h+hOT%q +z<^BX{unqhMo-vE~!scL%6LZuzLJ$3#o3JWz{~p3)K0;2XedfDkvz->oc1OW{=V8#O +z>QXjr#sA1u3)n3fOgLL=HQ$n+%=$3_5vhQ|bkDQg{wu1vbj|{;XO)7Oh +zpjo!3h%~xW(a)Y~T_r@{)SPM;~Sc-_)uR&0J=g9mvYY&UzFCM{w)A!Q1F%ZiG>2ExZ+ +zm1jqg@|!jPc+|&wPGL0SO}8c(a)26C1Vl%9|82HN+|E%#T~=IVEiTy?CoTze)9H#uHD +zE(|6Ny5+4-(7SCPy0P0y`=i5;E9t==zz&Ulvy4uaM(YBplZ_zJn1~P`@6e9JEvWls +zauEY-e6>4;Ta*OyE*q;(vJ?T=*dbPLLVhWN0%Bt|@Xus^hY}~=!k-uLs9UASN8`b- +zDpqLEBeLRy>x9FFGR*)HcJCJ5#TBX0=s_P`d74*h!5Ne9q4it-&F?ii++6)=VDi3j +z3904AXSr}0oMA%aB_miCiJn^G76*P|5aOj6fs`plsT95caqp%qnn$0I^*R(5Y0%en +z5mVmi&m;9O8T|Jzt4F5wWSls2tO8GSut#*NFn1iztp#+m1)0xZ97TkAfggL~NMCZc +zm?N3Y>er_<>=A!Ph9Y$t@#dCs0rVlv2fYdl+Ea6zbr7a~|l%(mNlTmn`t_(a)WwWi<{ +zrasf3C!lwY;A(~1X?r-P9e>#)-zm4tQUsp1kN?ShtCapy^*nw;5^C3B0Nj8`h>A}fd_J#XNiD{iovTtTh|AG!~aYR!;0WFcbW(a)SATN^wod;b&%@TKg2`F^`Sik*vs52DV%CW7S?`K%Q;Qter +z0ms?8Px5pp*-gix7XCTY{Yi{rf>W_PPdxiX04Z?hG)z6ku?D+34OHMza+>D}qm#Zj +z2YH(#KrmP;mBk7hG*(aai0F1di1-#1PTj0>?c7#_L8s36w_}~<3gvKl*+fhcIMeg7 +z7Buf3R8`sW>T?*y(a)c>MPJqN0~_U8GTbFx>;+fcr-S5bkIY+FBK5cQyeA2VidjgFA% +zbXY3`T_uGv7F}etz!LFc=}EC1obh3jpNah}t92qB-*k%>v7pz8hScXm?WJj|U1rAO +z+?vMULZu7`w0U(a)tLifpOHHFF69Xk6Y=Gm9ID4|hh??{sy6 +z%&NZva=nwQfk3lnvzy#u`obKF4MWdCq+5Z7=-y0+WAn-dxSWpufEFyq?}t+xl$5t+ +zNc{=^W&Vw9M8wv0_!k!Te1A3YHl0kq7ObaEkF(a)CS_K*4kjae8+tPx+pNcgR{KC)wO +z(BoY7x^8m=Hov{Plg;D2oxBd(a)Ue&AwsApr{3?#9qxMYGjwT(a)5qpN5y7cIF3X-D7Cc#!46kAW~!@dz91Sh&n(a)S#R$9OH`OeJ +z{K~l3Pvo|IRY=*XGCfC$yP`Q}f;g1cc(a)_NJjB}q81ZU$*#jLYT;I<|QnIA?l45!xNDUB- +zwNdB;u#!@_t*l$2JFdH)!ZAospjEcEhO)98W~tzC)1dy^av_CTt#vl4?HZp7=m-SJ +zdHdrtb4gF2{_(N(a)8y;*kbj+VeE#b=eS+R>ZyC{vNz; +zGdFqCj#dJX<-5WGuO=jzT}`PKNDsQXVXqIspduM^qO~mkORT>Li(h^tT=P9Xm>1=Pu3_e!y*P-k;0;~w)C +zBOH%Zz^-tO`rGlbwyoGnj0V0y=&2VU`CayTcLy*X_3Kka9oz+IG|dm+rn$hCf1c|A +zv;oymCC$s%q+9ePt?tra3Cr1+Acdg^WL$HCw3eh!hB3nq77Y8ueG()1WPrQwyRBXuyU85Sy$VLb(!FB}-uZ-{>9Z^+1cKQFuWBl)Vy0xO%t)>DyB6d3+r{H!a=Qx9sjY-&G^oC`su_ +zIx{?wq~I^ZxlqY(a)3bYc36V0-=U9nw+v6OPc(}|1F2to*Q0GKKHg|a)>Mcvrv{ESc6 +zdGcRKtjMK;a(}`_Ls#v28O-u#RFXIy%Mp(S6eE6HZ|Vh#^*lNPI9qw3x++N7weihf +zkx}Nlw(a)c!Ps<~|Q_77}L#=?4s8OfzMS>D}dGarn?)mGU+D!W8idT3k; +zu|~ov%xLg4Wr*oEDY~J7b9*}tTU%)xb7nSC)0!*05a^OU055i(a)G_>G0q&F#sl9C^M +zv|4DIQWYJxwukdC+WZOpLvQ#lX>c{RF{wKl$9s2$S`2p3zwy%j5MMxIz^LO}g6P$9 +zV(^}ljOm%i0V$XFrHDJz+|0d%PK-pZ&W}%Jafa5CNj1UwIY&R{+6v#{*Fh7c%w2TD +ziL(a)Xp+JY{Je!Vr&$cP@{O)A0GK<@CE+6W&d{%#+A-FbsStEdPx?*7XyE}%6}c_v2~ +z&I#Q#Fq-fh5bPV&wSQC?Fd~DwV|8L(a)H%7qBmfRmuLzh=e*M346 +z$|H&JKT_ZYLcpLNX0f=gWGVaDJwm5LciRYn;2AQ5$K06`QRVl7Y|MJa{X*ds+;)nVB!Hq;#1CGfKa$mnQ^Xh)rIKB8L}dkz((l``OFDyg#=&rmGOUQjX9 +zmjy>G*<-;%(R{oBScIf2cEoHk0^67)0=htWN^i%%i|)P%0nqTBThb!Gk0eislIST! +zFiL4(p(8#jb1m|_MWnN`YLs-Tijvi1a^Gres#vHGPzH1)y_JKJaiyF^bc#{AFohEc +zZCX~vjV40dF^XYlBch(a)Ie+c+r->7#9Slg(R9(?m9{RXtBn#>)BZ3Nn0(a)e$9Ls2dsq +zy2P3h8$((CJIens-=bsj)8zE?C-QOiNE;Zv(9)tvKBH@9(a)xj@v +z_2N_*0aD)hpV9fPlkq(MmScS-|GC&omu%$&UI`!6i|1GhqC;CT;Asuw5UA&|d3>n2 +z)A_}(b9-qpenNJew;M7}|3M>L!~|NH7I(~E&Q%)}W)bup3zv!!F|mYz=?Yns&$?Ti +zZQx9nbcJeOSx~2!jA-RRkbrG!5WHha{cWD0Xm}lPW3$~ZC$(~Y{z>c=s;uOS)N&RK +z4cUoL(iiYYRNmbiz`K_3+AIZom{+$Tr=Z>Zu{fr`C4WI~L=rLXCrjF=LF>7}|IZ^r;J}Q@$2Yd|`JvG(a)W&m +zpHoq?(niOKHXr~~_x4vez?J}dZI)4yTG1c!ZrbVJ9R`jzAc0nO5HZfV3?j(a)ux-Ue? +z1ql`(o?x-A+$YmY=TYaS{px*PbKQ +zHj8CME77zO%$wfk(eRf(Bgm|`>{bFb(a)k(M+N8|k8FJ#&9eO1;%;1X7PbI>i!=Bx=0wy*W3WjC>> +z$=DPlLwm3tO`w7{ldJVR +zKFz;}tZ8WFY*jjZ+Y`l){AaT_nWBOj!iep>N_CCeT2gBGC!&GDrWus3_4_?X=!fB6 +zCPJb-(a)O-tJza#wqX`vd&m4_kI;NK$ZY}1&CTLu>1sED8~EVNVp4Knt`cNo(r%2qL; +z(BzYa-j&N;7x-k^{<6gT$2F3Q0^YV;@GKE0`ozBtLM9f&<)<+!&Pq--1mR2nE3N9^>QwE +zJCSGoS4(&-19?l~rZm)Q>I7NX-Gj4il6{2MI4XwXEJfC!;fyKviF5Pb7bIF~DUyl~ +z(a)WaE+p^Aeuj`);fw3F~&#*4;j5tjFe9bA{8J=i%I6ATeLzP%N#V;BZP$&ZrbJnIIZ +zR7;T#N12YEkykfq#;|KC9KGI}Q2~0eR9r +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

rww=MrnvD5Mk}X +zhE=K-H;s>w6p#I9R2io7J-Nq$LE$)DHdMOhgV-%)80(alWYiv=?jmtS +ztqNI3j7Xrf-aGQyaRjAUxs0ibvC0*bUo*sM&R@^m&8f!e_P^6S>sz? +z9rcz(a)kmBr^=LT00P)ek+r3OH;7Jx|a3>I!+M9L%WZngQ80JEH!{*5IGNKw9GT0*hR +z`6m3%{+<|j9N{Jk5wPAMe7GaJCQecuuVY`$AJRQBqCe}AxDSy6lD5TrFXu!D5*F3- +zD#|j)a||~URbqL2RGXz$jnnj$$J(UpCNKINoxd24;n}tchATsV`LHDr2KsOP`_I=C +zB<(E=#Od!X(zS&p2n)Oj!5xc7yn=`ATa7;q%8-Li(a)c-n8n9{wy7csejVX4*Y+#aGE +zQ|vJ8A0}h7!3Tk=OZgD4aS;*7Lc#~@zRe4D#ZI*{8iK(8B!O6<|0f9q{of>zo0FTk +zSWpbiO$#i3;Gx{FvJt<%O(vV~6Ju(a)tfc2oQ1w~D!o9eh9cfm-L1caA)^0fSj;mR{; +z!cv;@5nYV!;^vl%`iFw5x)0|HI(k2zm7xqKC!-gjlw3;Pgc}PnL$wX+djm?WX%bq< +zoJh*xB8?cFxuBoKrHRH9(clyQ*!&yf!QnziP4GlE*?DFoNVr)ZC+UYPK7k_1N+(Qx +zDBM0Ks6z8I96t9Si;;UfC2Os4qaq%<%*sK6iuYLLIxDVXyeT^`QW*0bXzU(p|NIII +zy*obYMz6p7G_%?Dr*uopw(;G8U*b-I4#)H%LE~Q_$sKI6EoVFI9GcLJ!OO}W^Mn|8`deIOl&%_mZxY$o +z%wFEyYXy6S~MNBq%QZ;8rn101ILgJ(0e9elIfU)j;>Mv +z$-6wi>H)v7Q7-3}Ka_nI_C6(a)EYMFRi8+cXvyOfBas{jE(l33G7Br3T(QaRt_spYIr +z?N}2nePS3#T^N9|VMim2y|yn9KlJOHx*Vq(Mi21>K_nQ8VcqU~_eNHamwa>q`$ +zQu){BOY#e8aoE2i^~^wfS%ynwiue5A5(dz4-GBU0CajuYED<#-P( +z8{Ejix~AKgw|#W|#crO0wpSt99(mI35g$F+b|#@OID-1!>@4|ulUbMJw21_Ce(1~O +z=X>%WJ#5XN-Ybe5DQqt`Ymxf}As+pa=ppG%NqaQk7gp1&z#kd`F +z!Td2Coc%%+DjV3_e~WniuK;fkknlvN`q{PgR|r{d<`CedIIuKXGi^pt7c^~fW7>cW +zl#G#)XsRm1#-MWoYQblJD5~y6rL16hOAFP^007X5_ldassfF*{!`MsZ62k8hps|WM +zPgaJ1eF4lQS+&G~`DAp10khqki&j)C!noDeUffPVwA&+E&L>!bi^R!T%@)jB5i396 +z{qU#dJo4`A7I%3zm}Wh)sOEXq)Y>Q3x!J6At$u#?=dEqxfiVPs-|j2WNaNsB-w_8? +z{mJsb53jKnGoH&ib1|Qn&~d=U%?zl#D7j(a)8e1Y4V9*~ +ziG&uZN~Z)>hGK+^%U|$E&NU-eJ8xpn?PbwxQ?S{;HnTT&1aDg^Aj|WqKRIJ +z>KKY(a)irSpt?G9Ccr!{Ua(a)CDHcfdB<855x+uh39Tu%?GGE`?g~3(a)X^FQ1D(?X-0(&JfIXX +zq9Dx3L8)ecMIKHhxg$>m2j6H1Y9h1mvtRd5cBqTPvD2kd$t5nXfxvjCy0g`4{)Ums +zMoM5w>`eq<<%dU#nj|Y0(yF5TUt?7P +zRz5{LRW+tmYy-h#TOCa3$Xf!xD1cPHI(={Y#dJu#Jb3jYv%dvbCX{LnS(a)wrkV2$O+-^DP@!!Qa=eI)>vJ`vXKGgQwD#3Hu%7a +z!hzp^O0|!Od=IT^mt|SH>=fvhU +zk2A%u0+$Xu^9K?@J&J-pI~%+nse6Xu0)%YlqBl3sO1o1g+GIjQoUV;>_7!t%ec-O- +z_xIv$E{Zpx%!IUQ-dxTJ_M`hVL}pe6O$_sY$|({WSAIJXVPX+fg>kw?Gr9&`q~ymo!S0fIq%s;N!frOLX1f6(a)T{SZ(m?pFy|-DWXJ +zYWF2YiLAxU;xryc-RT6(6y2-aBu(a)1{wRL)06O=5AkOldP^a;AE7E>yi;&VdqgH8E?A#}ije2K&;t1coh;-K>H +zf)`B;a(lu;rI5V-HrG#}rDyhaqj);{09EcD;n6LoJfphTmX$jvhmV`CvQ~$~n~Iyq +zaKkcL(Z5rb;!<-L|4$FBoPJxIxtG{~P*7ktk3O67&-f<(39kph7^B=0JwMFFLyC~@ +zH6T%$8Deq>=vZ3##O3)3%&Y{*VxBwZf(a)CkhgPLii^T}8jXUf`IrgPJsVE5XC(od4T +z_J>l`_Kg!);6fZeY(a)AT5KM(FlG^&W&oO8>iqN}Z05I#?lv(?*e*I{?Eh6HwhBnGQt +z`b{3u$g~G;A+iHfa}IzUzSU8WX)62-K-)eG*eNCmdlIuSLZ_ZrDX|Wfokcy*XQ=5m +z3Yz#TusjRRCCVEFoDrh^H@jH +zCgKjiR1&F|N3~5aJm}#iLm?@Ds_f|gfBV=klmV7q%?xF2CYg+V;K@`9O%9X6ivxL0 +zj<2&-xz}$;=9Ov*??j4EEXp>3Q9e*p>I&X#nM& +z9kvMaEvD=4{e(EnJ-ie5&=L9Q;c&I!#GofsE&1f*n37S3!y^Nblq+z5O{<7>!w +zW&W0ct0arZh4}EagdsF5p-E_>rGsX+=^BxkN<~Ad6fHg^PfVwT22)w(C6+&K>0Rcx +zph7(a)KUA^_?$8pZrf&9IHWfU;@=o?8fFwEp53ZjuDRO-fJXbz~)j(a)4IolVZA?wQYmyTcQI?Xa%*^d9+5A?s_f +z8y?|I=KI4SR;30E;mh~8OAVPf$$jEX^0UfN&-n^0^rS-x63P)2+TNuU2_n?d=XBiy +zoDoQrMyjsP&QlNNV9*4Q+8~I=?jv(LfmGr&iSw91hj83D)V(l5BP950BHQ+(>`pP* +zbk8iSOS$qo+stl%Mp`Omzahi{I4BdHgS5Ntwsl_iJMn>wUA}$UY^)lTy~@hh?$FXT +z-s+m*-0;yel5w>=`_!@#Xl%IT9*q(&{$kfACS(b(T|Siw=B7G(>J~a>Po}G~-2BbQ +z0;-5yACeoSPnkpBgmoOpdji~H!fwq6=>zfP~~6Z$p* +zH-^O3ahaL#g2$l4+C)GaG7Y;cLSf4s^xA5*I`#ya+6}i>b)}r^You*3rH8vfwW(=U +zNz=<|-&;3-_=$WT>6Z{%NLT!_)K8+9p}J-LdZt7h(%l0eucNt<1(mf>P+Op|J0dtE +z;6TL+$Ph|bIl?}oj#WYBzfYE5A%s7t(a)BPmNFmQEw7vb_*hGbq +zRKr{MUQz*ya%RXNdxd>bFfx)@GsME|7HZyTES=hahGThA(a)nduW5W)sGh$1x<1Ybf) +z3g}6Uv-D^I$NZ}k?;Kgvz{MWwm0rx>z+B`&vO;`1?vgKUV$qfbrJGvh4V5eUBZV5) +zP^$KN8AGwUJca>;2Wo +z;u!OP?vpE-3alwVtU{>ZecpkFR5Tt*Zi%H!Fy>#4AGehQulOa;Two+Pd$TU=;LROi{aq%J(B(`|mfpnq3rO^_)rdAuc(a)aatZXXb?t>t#P&wt9(!AFesoJf +z?^+VNm6r$lMI$koHXZ|4h7+rBEy;b>ij3`lERk;?rG)u`)>zZWDi5RPJUv4+jH81< +zGuu#Fn5Y;AjHB8uFsrZ-%CAqW$h;m(a)j?|n`5kZZ>*&uF9JkQADMkd$YqY?4~m;F4B +zMy;fbp5kvB&^06%FU+3UXujbOOZ^7}mjS^O_XQ#;8OifQd-&PLEL#&tVbJExuB^X* +z(a)n|MOjt;wm+RC;*QH7fv`Apt$hAL9UIwajtWLujJP%TmQXiNjFEYqXA%cY#&-)B(B +zrk#@ZMLANg%omz}Ov=CLC5TxqGpB3(a)Tp#TaqRXUgtZ-ROtSDg1$)ZEvO!3%Yg7SGa +zUly(a)SK +zO6>DqWadm%eRncLZ=>^KBt18Rc4*k0kRnR>Jfd8SIFt(sCf-TaGKHi|(Ab1V8rq9j +z*=-aZM-jx5ia>JC8Cy(a)0Wr}KDaGvZ>CgTGmn#lCW(a)IZ(!vM}2?#+9qd{cV4L(YyW& +zJBhn$xqiBrhLKv|4G%}EyL39MiDxOa4BwhJ7GC;hj(=|^RO|Rs~T~lu)$~)&LvZnQC{eOiLbkBO%8Y0 +zNci&?(za1apd49%2jsHn)9mOe1KFW)*tT|NvGa!ehE`_^R0j0m!F{4+t>ySyn57LNwv8(dz{k8OqjfOD!p=3fO&$k +zIO-r~6gzf4Heao$nuX?n`;h)UAg27ph0rt>tG?wCjB}2*qs2;6;98|`dPa~o#tcDn +zDiA1z3+WepBR};M%vb3QHH-LvzuRUP(Car>z`s`}oD|&yqSucR&U% +z=hcRpAc4j?E=i^OJpaH6sp^uA9BI3=eAyz(a)X9m(ZoolEF_D0r!JebH%F-`6_`h?2< +zR9yoRD)!W)q}vjuOhA*Z_UgROyx~(bW#Iq1N%tSA_Vsewl0AUjo_5FVwg$yokkaM% +z>o0;XzIdUmi(;zd7p#X_}{=4LSCp=4SSs7UNz#H45dU4lexOn +z3je`hZa-yr<)(a1&)RmhE0aw`Klqv4EE=vpeMMx8%H6Lzc+pQdO^5v5 +zEmS=jE4^Oz*j?%5rHPRW+Yp+!eZ!kPKXWXSh8>ky4i?-c)7`#FMSXC#=lFdG-C}$;h7_1s%9wgVi+gMATta03 +zry)_qnStosRd0OiOqebT=_K3-MEZF9IA01VVVFCTA-p|~3#JD|nlGnNx&iY|dVf?j +z#@MhHaxLjWr3fgvl9Rr<8mNU(H@=9+4Zc!AOBivp_Z^@B2FjMb_9tuwYC0{dMJnK2 +YVQu*TZ8nl?f%`zS*L1OeLEkX&JxSZWhyVZp -delta 15290 -zcmV;rJ4M8#g8`(20VzaHK>z>%002M$000mVpa1{>00000000o6000pWpa1{>00000 -z000q(a)DJ=sR0eF)k78`#jJ4j~PD`@Ff(9GT;H4Bu;2c*`YQF|h$2S(UX())#os5WJ= -zJ7!=)Vv2p`ck37rjC`ckU(a)dDw{&Xf(n+y -zOG}~&AhhXiKUd&Ncsq&}!6zNHJ3(a)yBTBk;nq97*MRbLdu-YtvR`ayYz(a)Csmm&E`p4 -zebM!2RF$`?8~~h7Es=i^XOynNZn`n_$_1UTy{{eBNh2QAZ5(SP!O(#HU`#jdBnbiG -z9fh*2u{d1u=0;v4FP>4*A0lvBKgx!VNY<5W8q7F(a)X7e|>(#{cnIe(a)N8Eb_i -ziGpRX#?_(a)UDUoGLG@x${OG$Uyo(_c`zf1FGp2qSEA((li3Zi8Av!zl9E5(a)oNsYF3HY>!Mr3&N;L*unF{3k8Qp -zQIO(a)A2z+5PCLj3mnjl#BOla>Oj-W?OWMX4s7vGh(ZmplZekKHb6NWGRKw^XpKXwHy -zbYOuGDw^~oB~dnP8}!WbM4AW=sG6F7eRSbY$x?sooxhtyOK)KY`&HbY7;rzuLuu~@ -zZC5T(-MY{>SFx-Dyh+D@!B2hdxI`_Hx`=W&evwAMg-Et8w}x*?tag%y6$DgcB`VTJ -zqEJ4LVNxc`+=su4#&8n#2h06_=dao!)cmDu$gpsGH1Dzh5779O_05WOcGw+RXceA^ -zrw)JID_$+v(o_PWd*#1SO -zAx?^#cI`r~CA9$d|6hcGC6o=$`|Y}oG!2Y&TKaEcb_8r!ZtS(a)t!T%O%Tc8D&8{;PW -zIGVF76;&8OpGl2A(Xz^ -zit~{)zONU`4(a)NOQpDv0KWIX72I#nr0R6Im}ej%mY=Xd->iUs&mL<$-SZG)u(^k -z-wA~Jnz(a)8#P9)q#d(a)z}x+<6wsjm|`HrilVK_Jm%`Dbf$*0Qx_03)siEeID^NqocB! -ztJtpL({45jmY8A?7T8RJ8z%V}@qN>=SZ8kYjTIi}kkRSUw0hGJQPB0ns(IGwQh8`$ -zrg9gDa!o2DEm(a)7|3mW^M05!(F8fJfvO!>*5OFwX+22dirHGS-+dE0Io8yjUBlGNs=rDMZ;9JhrNTQ`fArsQZ -zO?cXE;l_Ii8@{H=a221Xd0#g=pep%)ptTaW=f* -zIQAuH%Z)r%tsQ~YD^K2EAB=l*gi?J7wc-}#9%ntoqD~jI5Up5{b(a)a45+1$c}zgLq)eSm+g0yMRC1gDUCA>!4IhRefPUCp6KeAs}bV|FY9cgkI$dMKe7 -zly(a)Zyx1Fh3Z(Km$UAiDcAe(a)R=GPxF;9e7UY_O`@K)K*`Z~< -zYQt1C4#<>Xrs2NcQl4j9eLalj#LT6)E9kWO5&503qJ$z20nC5)vZqZGRsY=}HhP%A -zGI#HxFN5?@G&!43DrT9wseYVZ%dj%Y>^A=OeaU|Z7B(SzN$WY^Ex{{RnVO!t -zwlUZta9w7mzw5t9NJP&~42C$%z%cy(a)2`h<2H(NZ$x#*__9Z%RjQ5dYrjE5%ATZo}J -zw<+gTl(W*}! -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 -z!SHB-swu&Rj%|je+Y|oZcZBVG(a)ek*?+ -zO3pL_%&-C(x+$H*7Enj%x44e+rk(MYjQ_#*y=+uiY#mX#HH>)~`!@>Fi`K8Nk5fe{#n!wH`-UrTQ930POv(a)SZVL -zd&Bf#r=U`iYTXCmKNGQti_c}lE-^uW8_1TtE^z=_YX!o~@(+KD -ztQI1Z!9ni+wK?J5k!fV0;m)_deewWTb -z73VHwIJ8{~Vt0B9v1Jq^B8g0?Qf17`=-lg)e*_8nnTDUaCL@`!$K6J*w+XvkDCwti -z65db%tBtvgr_!*Ro=w8497S!&7nl_-fgBVM{2w$`gr7Q>IuPw^ZIrI0)m-Joa4vG7 -zBPnTS=1se-a3B%(iIWiMlARbmxqYG{PeX;Jwj~o;X#JT((X2pnun*F|s^Oo5z5c+{ -ze^YXYZI;_)&q0AjG&dF*Kmw&I4#jYL!%pTR$TJv97OcJ|Do~f;%fHyS*qdZn+REa< -zvVW9<4TxxVXVx)n-=TsuUBxV>_$lPzuQATsa#4!j#S2fj`(Xon>M!{Zh9z2(a)qh%nk -z$qu?k7+uhbavCJ&Eq}{@$Fd)qE&OChf6#Tv(a)C3m+=d&s184E}Y8L>lbvGPx+XgU5c -z&GIlNQ()Pr{r0ve+igoJ|Ml1jUIh;JZ-q#%(;S3Aoex0b+ArDyQ;T~oaMMs0xF1^QCi8}_b -zdGlLxBiTGxzJ$bam)M>Yni9hLnD}hdUZm5mbrWCM(~Qc+7Epo|k>0SJr#yR)<+i!LoKof+`h8Ou`)Ox>pYQgC-Sn9kWg_&O)}Au-{wSbsz`vzDIV~ -z5j(GDwn9qLfOeuWtTz(1`?*W^YS8YCwGO~h+^vG}#57$iTz`ZD>N};JaqqzR_N -z&IKO6zZsD)bXuji&pkIvcq<@+J{?+T&V276;!Y=e9e+3MWz$Nqq!%&|DUo=#jJ;%~ -z>v+dc_)%U*fp(U^WsxGWe>T)mJtmdj(a)3t2CJqcp*cq0r;&ZEdgvc9o?F*{^!R{82B>UeOL`^HqU00qz3+T-EiPNtdcE*{j?WjyXiv>)ugbsPs+f; -z!JSd5hsIbx!pd)dxf(a)L{4&Ntg4m1tvklA(yAK%=mF*D6jJR8pIe+H$7!_IPcycA85 -z{FC9K*uwi#R#8_4PvL5Jmo{>F=&rzm=!M~Omz!s<8wEhQC-{c!ecFr6y1WRl!V-I -z+TH$9;Mv+yFHa~Ze+$Rh7`rtI0<(}`8s^tey14g2Wt)>VlQI?@enJ-QsM}xalVe~h -zS%OKgx&xGjhc0_$+o&KOUZhj=7pY+=E^MUeHhXYbQP9hb#Cv4 -z1O#Vw1vr#KZchFurFg})O#XGd)dCCW5`i}cOCc)#nc35ie;ExR1)rB~L*-p2wO#t; -zu>YO-;H_L1jPM%;NhWqDMjyp!qw5WbZ*T;k;<~VG|8+0(a)HqK!a9eppuvc?M65RHO+ -zN2(|bs{Wyd!tU+g!p|-+Jk~0f5)0S~;2zJK5#llu^=yrZQMA-m&T*|#Hs?J9GYIu* -zc1h{P|DqPwPG1!(nJ#wcS(e_x&QmfzUQRrbmF -zjFz<~N`Jt8#ZRi_7ZdZV3SZ006)h001K(7XdMo=_?z5nRFXiv3-{ShD~v6 -z!M%>55>dn|1IOOm)jNe|d(V1?+K#$7(a)GyG5YkTeHCrHjWnqI25E+fr4X`x -z9XjXAx?uNPZmcYY=igwRsHkXL*01?KKwtg*OMWJwfL-tj_f#pAQ_YK-aHPK8hIEAZ0yWiDvec1ubok1F#f_5a(-~ACrcdih%@zv -zW);dUF7NkkdW&=hG&{SL5PNh>=Sb=MrO(a)h9gNyU75k -zi^-I?{mO}-PvuM%L|dCP8Q}Bx??}s(a)LZCqQq_9^p*rxXRZF=te%fpz-fjXi=EmXC}`9S!>} -zzIV=;U0;{SGc5nh7YS}P#=H!c%8#~Ow*maha60m(a)O>!MZ(a)xsBUP7ipmk#xLZ*}rni -zfpWaR236g50ZE&VWc`|doTS{$gi+K>-?GEcslV7 -zQB6KgGk)$v0qKXFP~)xQ>M{Y}6O@(xh|Oid`fk-wzojs$qxVv^CtGu=(l=Y_*d*Jy5}@)JRhKufOJV_PX> -zsWK%N8*1z+Y?|GFj-|i`QG;AKf6G(UWB)x(5&)RXuZVedfcAuy+Xw6AOQAKDDEcCh -z=0DbHmkjdBHbDsoluAv?xHCGLQvPKAVX$s9*muOEsRVFHlxwp}ia`9uh;&7T$}qS+ -zR;QEV9}`UbgX2)j6NBmiRX7wfnULL(a)VGDVfVm{F3{Zvh2o1nT+)^+8$;b!Z7I -zzXLY}m?jZCw%Jcb?s)DgPkCL&76+OJ0%?vXum>ZXrqBD3%=)V$Xj6lgRm*R>wZjW0 -zvQqgJaTiHd4c5KDvMmz6K}sg*R05?8eC -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 -zQGTZ-nzbSccf*az!dpybnjoErSG& -zO_&;kHe=xvEOQl2_J{tLf(&7Sf))?>6-A?UI}>sff<(!N*|bi7Dw*xgRGY=z$$jt8 -z)&?5iDzG(a)03Ert|BEo*yg6Y)U=PBZ#!Mq6x+uCP6_s&HOU*cg17mY*F#}oNAm=a4b -zo!yRNHB~f=-f_y;_Y{oH*$h2Ux>zh^*JH8g(+96<{CuseJCNp3;fxn$HEGOuZU}R$ -z>h8(a)rkI*v`9kEw`UX0N6DVky7I9A{+72oPaSu)v|s6rMzV(&JULJ`_P -z=?~#)8(w972PiQ!jJxsT1Lu#GQv!LWPjIK2tK=!@tQ|7J6O_vP1M$gd5=bw^7UV<= -zAleYYc(KsB%jh(a)gjzZI|{(P)Mgl>Ptil)Rtm75m7)wTJ5Tn(H=hb(>|JUVV!Cz9Ik -zGFAE$PNBc&K%nu9V9lndHE^r;h8<}9kcLQ8|7>1Fu~YF~j9D1*EY!w%!J-6ARTY+O -zn(frxm~HQ_we*TFco;k?6cx;&B=_k`KJla^=$&$PKA+Ket59{pA?MGzV4UjRb^ZG$ -zUh;qya<;sG5D#RuAv%mbmipKYh1$S1;RY0@?!R4M!G6Y{Z;fSUcLG0WjJPJ?yH-bs -z8^^{Cnkp##6~LEzDA|i9w^OgZSKT0JwvdZ1aHBRt-H1QnG86_OPY`0|Mxo|wj0XU< -z$e$E)I3Ix1!>m(a)hGyzw&fbf*VTGqro!slWs1Y8+^bYJzbZ}0I&J{!Og-&GazMZtEa -zsgyf3(a)7^hSQ~(aDZa5;1(BPP(ae#{mb=&Ihu9*Ly(9>p$OXnuH`zO=o){dYJ-R_AS -z-6eheWomez+qJh(xy_B5&1YPeCcy8}72pkys+MSKbUO*MSTcrd_a32W&x)b6)k$vI -z8~O8pB#HeLEOH-s;qZq;1+IvmBmF}v1-+498{SH-z)qW?>QH7q&NQMkGYbvq)KheT -zX&;Zq6Pemcg6_27)DlS^=*uS_IrPzf(t(*NwT>dopqI9Tg%#3ePCT;6*!!LqLq8LW -zKxyMQ{1y}4>oX&7iKM@Z>DD}TO72x0rNxc^C=EHRsG7`d_vfI?*JSz(6IU+*4%g({nW -z1S#Q{pCVMpaIDVC*9W(a)WtQkOT(x}JRs})*cdE5!b}2j-|@tN(+8=49^2XG5FvGiA}TQDNR+u_3aSHhCR>6Q0FY>_z1%65rZ*>G$2&Oe!rnX%%B+ -zgqYhnM_cR4TaH14k!F`ay&(U2;o+27@|9{>1UncPx#s}%aQO=|D)PyU95G2j=2h{a -zE-LA7dVbcs$6NWY`#-D(`fZm!F=Et<7QQ)gVQ2(