From 3e6aaa5ec73bab1998ec6699e56b02b91a7fc7ba Mon Sep 17 00:00:00 2001 From: "taifu.gc" Date: Thu, 27 Oct 2022 16:06:28 +0800 Subject: [PATCH] Init anolis 23 templates --- ...NGARCH64.EFI-to-support-new-firmware.patch | 24 -- ...lates-anolis-add-loongarch64-support.patch | 237 ----------------- 1001-custom-config.patch | 116 +++++++++ ...install-kernel-with-version-suffixed.patch | 239 ------------------ 1002-add-uefi-parameter.patch | 54 ++++ 1002-correct-images_xen-tree-info.patch | 14 - ...-tmpl-update-kernels-for-aarch64-efi.patch | 69 ----- 1004-shift-default-boot-number.patch | 38 --- lorax-templates-anolis-37.0.tar.gz | Bin 0 -> 26598 bytes lorax-templates-anolis-8.3-4.tar.gz | Bin 32004 -> 0 bytes lorax-templates-anolis.spec | 51 +--- 11 files changed, 180 insertions(+), 662 deletions(-) delete mode 100644 0001-add-BOOTLOONGARCH64.EFI-to-support-new-firmware.patch delete mode 100644 1000-lorax-templates-anolis-add-loongarch64-support.patch create mode 100644 1001-custom-config.patch delete mode 100644 1001-install-kernel-with-version-suffixed.patch create mode 100644 1002-add-uefi-parameter.patch delete mode 100644 1002-correct-images_xen-tree-info.patch delete mode 100644 1003-tmpl-update-kernels-for-aarch64-efi.patch delete mode 100644 1004-shift-default-boot-number.patch create mode 100644 lorax-templates-anolis-37.0.tar.gz delete mode 100644 lorax-templates-anolis-8.3-4.tar.gz diff --git a/0001-add-BOOTLOONGARCH64.EFI-to-support-new-firmware.patch b/0001-add-BOOTLOONGARCH64.EFI-to-support-new-firmware.patch deleted file mode 100644 index 3b3f496..0000000 --- a/0001-add-BOOTLOONGARCH64.EFI-to-support-new-firmware.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 7492dbb412aa274cc4fddb680e611e05b5609b23 Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Wed, 3 Aug 2022 10:07:44 +0800 -Subject: [PATCH] add BOOTLOONGARCH64.EFI to support new firmware - ---- - 80-anolis/loongarch64.tmpl | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/80-anolis/loongarch64.tmpl b/80-anolis/loongarch64.tmpl -index 3272d9b..1a51651 100644 ---- a/80-anolis/loongarch64.tmpl -+++ b/80-anolis/loongarch64.tmpl -@@ -55,6 +55,7 @@ mkdir ${KERNELDIR} - mkdir ${EFIBOOTDIR}/fonts/ - - install boot/efi/EFI/*/grubloongarch64.efi ${EFIBOOTDIR}/BOOTLOONGARCH.EFI -+ install boot/efi/EFI/*/grubloongarch64.efi ${EFIBOOTDIR}/BOOTLOONGARCH64.EFI - install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ - - ## actually make the EFI images --- -2.27.0 - diff --git a/1000-lorax-templates-anolis-add-loongarch64-support.patch b/1000-lorax-templates-anolis-add-loongarch64-support.patch deleted file mode 100644 index 6aebf3f..0000000 --- a/1000-lorax-templates-anolis-add-loongarch64-support.patch +++ /dev/null @@ -1,237 +0,0 @@ -diff -Nur lorax-templates-anolis-8.3/80-anolis/config_files/loongarch64/boot.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/loongarch64/boot.cfg ---- lorax-templates-anolis-8.3/80-anolis/config_files/loongarch64/boot.cfg 1970-01-01 08:00:00.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/loongarch64/boot.cfg 2021-09-24 13:03:44.578351034 +0800 -@@ -0,0 +1,13 @@ -+timeout 5 -+showmenu 1 -+default 0 -+ -+title Install @PRODUCT@ @VERSION@ (USB) -+ kernel (usb0,0)@KERNELPATH@ -+ initrd (usb0,0)@INITRDPATH@ -+ args @ROOT@ rhgb -+ -+title Install @PRODUCT@ @VERSION@ (SATA-CD) -+ kernel (cd0,0)@KERNELPATH@ -+ initrd (cd0,0)@INITRDPATH@ -+ args @ROOT@ rhgb -diff -Nur lorax-templates-anolis-8.3/80-anolis/config_files/loongarch64/grub2-efi.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/loongarch64/grub2-efi.cfg ---- lorax-templates-anolis-8.3/80-anolis/config_files/loongarch64/grub2-efi.cfg 1970-01-01 08:00:00.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/loongarch64/grub2-efi.cfg 2021-09-24 13:04:10.666378894 +0800 -@@ -0,0 +1,27 @@ -+ -+set default="0" -+ -+function load_video { -+ insmod efi_gop -+ insmod efi_uga -+ insmod video_bochs -+ insmod video_cirrus -+ insmod all_video -+} -+ -+load_video -+set gfxpayload=keep -+insmod gzio -+insmod part_gpt -+insmod ext2 -+ -+set timeout=60 -+### END /etc/grub.d/00_header ### -+ -+search --no-floppy --set=root -l '@ISOLABEL@' -+ -+### BEGIN /etc/grub.d/10_linux ### -+menuentry 'Install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { -+ linux @KERNELPATH@ @ROOT@ quiet -+ initrd @INITRDPATH@ -+} -diff -Nur lorax-templates-anolis-8.3/80-anolis/loongarch64.tmpl lorax-templates-anolis-8.3.new/80-anolis/loongarch64.tmpl ---- lorax-templates-anolis-8.3/80-anolis/loongarch64.tmpl 1970-01-01 08:00:00.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/loongarch64.tmpl 2021-09-24 12:36:57.509636995 +0800 -@@ -0,0 +1,145 @@ -+<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel"/> -+<% -+configdir="tmp/config_files/loongarch64" -+PXEBOOTDIR="images/pxeboot" -+KERNELDIR=PXEBOOTDIR -+STAGE2IMG="images/install.img" -+LORAXDIR="usr/share/lorax/" -+ -+from os.path import basename -+%> -+ -+## Test ${runtime_img} to see if udf is needed -+<% -+ import os -+ from pylorax.sysutils import joinpaths -+ if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3: -+ udfargs = "-allow-limited-size" -+ else: -+ udfargs = "" -+%> -+ -+mkdir images -+install ${runtime_img} ${STAGE2IMG} -+treeinfo stage2 mainimage ${STAGE2IMG} -+ -+## install kernels -+mkdir ${KERNELDIR} -+%for kernel in kernels: -+ ## normal loongarch64 -+ installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz -+ installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img -+%endfor -+ -+#FIXME: this will need adjusted when we have a real bootloader. -+## WHeeeeeeee, EFI. -+## We could remove the basearch restriction someday.. -+<% efiargs=""; efigraft="" %> -+%if exists("boot/efi/EFI/*/grubloongarch64.efi"): -+ <% -+ efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot) -+ images = ["images/efiboot.img"] -+ EFIBOOTDIR="EFI/BOOT" -+ %> -+ %for img in images: -+ <% -+ efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img) -+ efigraft += " {0}={1}/{0}".format(img,outroot) -+ %> -+ treeinfo images-${basearch} ${img|basename} ${img} -+ %endfor -+ -+ # <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> -+ -+ mkdir ${EFIBOOTDIR} -+ mkdir ${EFIBOOTDIR}/fonts/ -+ -+ install boot/efi/EFI/*/grubloongarch64.efi ${EFIBOOTDIR}/BOOTLOONGARCH.EFI -+ install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ -+ -+ ## actually make the EFI images -+ ${make_efiboot("images/efiboot.img")} -+ -+ <%def name="make_efiboot(img, include_kernel=False, disk=False, imgtype='default')"> -+ <% -+ kdir = EFIBOOTDIR if include_kernel else KERNELDIR -+ eficonf = "%s/grub.cfg" % (EFIBOOTDIR, ) -+ args = "--label=ANACONDA --debug" -+ if disk: args += " --disk" -+ %> -+ %if include_kernel: -+ copy ${KERNELDIR}/vmlinuz ${EFIBOOTDIR} -+ copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR} -+ %endif -+ install ${configdir}/grub2-efi.cfg ${eficonf} -+ replace @PRODUCT@ '${product.name}' ${eficonf} -+ replace @VERSION@ ${product.version} ${eficonf} -+ replace @KERNELNAME@ vmlinuz ${eficonf} -+ replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf} -+ replace @INITRDPATH@ /${kdir}/initrd.img ${eficonf} -+ replace @ISOLABEL@ '${isolabel}' ${eficonf} -+ %if disk: -+ replace @ROOT@ inst.stage2=hd:LABEL=ANACONDA ${eficonf} -+ %else: -+ replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${eficonf} -+ %endif -+ runcmd mkefiboot ${args} ${outroot}/${EFIBOOTDIR} ${outroot}/${img} -+ %if include_kernel: -+ remove ${EFIBOOTDIR}/vmlinuz -+ remove ${EFIBOOTDIR}/initrd.img -+ %endif -+ -+ -+ ## Loongson PMON boot.cfg -+ <% -+ pmonbootdir = "boot" -+ kdir = KERNELDIR -+ bootconf = "%s/boot.cfg" % (pmonbootdir,) -+ args = "--label=ANACONDA --debug" -+ if disk: args += " --disk" -+ %> -+ -+ ##pmon bios -+ mkdir ${pmonbootdir} -+ install ${configdir}/boot.cfg ${bootconf} -+ -+ replace @PRODUCT@ '${product.name}' ${bootconf} -+ replace @VERSION@ ${product.version} ${bootconf} -+ replace @KERNELPATH@ /${kdir}/vmlinuz ${bootconf} -+ replace @INITRDPATH@ /${kdir}/initrd.img ${bootconf} -+ replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${bootconf} -+%endif -+ -+# Create optional product.img and updates.img -+<% filegraft=""; images=["product", "updates"] %> -+%for img in images: -+ %if exists("%s/%s/" % (LORAXDIR, img)): -+ installimg ${LORAXDIR}/${img}/ images/${img}.img -+ treeinfo images-${basearch} ${img}.img images/${img}.img -+ <% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %> -+ %endif -+%endfor -+ -+# Inherit iso-graft/ if it exists from external templates -+<% -+ import os -+ if os.path.exists(workdir + "/iso-graft"): -+ filegraft += " " + workdir + "/iso-graft" -+%> -+ -+# Add the license files -+%for f in glob("/usr/share/licenses/*-release/*"): -+ install ${f} ${f|basename} -+ <% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %> -+%endfor -+ -+%if exists("boot/efi/EFI/*/gcdaa64.efi"): -+## make boot.iso -+runcmd mkisofs -o ${outroot}/images/boot.iso \ -+ ${efiargs} -R -J -V '${isolabel}' -T ${udfargs} \ -+ -graft-points \ -+ ${KERNELDIR}=${outroot}/${KERNELDIR} \ -+ ${STAGE2IMG}=${outroot}/${STAGE2IMG} \ -+ ${efigraft} ${filegraft} -+treeinfo images-${basearch} boot.iso images/boot.iso -+%endif -diff -Nur lorax-templates-anolis-8.3/80-anolis/runtime-install.tmpl lorax-templates-anolis-8.3.new/80-anolis/runtime-install.tmpl ---- lorax-templates-anolis-8.3/80-anolis/runtime-install.tmpl 2020-12-26 00:16:14.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/runtime-install.tmpl 2021-09-24 12:20:44.557600106 +0800 -@@ -7,7 +7,10 @@ - - ## Other available payloads - installpkg dnf --installpkg rpm-ostree ostree -+%if basearch != "loongarch64": -+ installpkg rpm-ostree -+%endif -+installpkg ostree - ## speed up compression on multicore systems - installpkg pigz - installpkg anolis-repos -@@ -54,6 +57,13 @@ - installpkg lsscsi s390utils-base s390utils-cmsfs-fuse - installpkg s390utils-hmcdrvfs - %endif -+%if basearch == "loongarch64": -+ installpkg grub2-efi-loongarch64-cdboot grubby grub2-tools-minimal -+ installpkg grub2-common grub2-tools-extra grubby-deprecated grub2-tools grub2-efi-loongarch64 -+ installpkg efibootmgr -+ installpkg avahi-libs avahi-glib -+%endif -+ - - ## yay, plymouth - installpkg plymouth -@@ -116,7 +126,9 @@ - %endif - installpkg net-tools - installpkg nmap-ncat --installpkg prefixdevname -+%if basearch != "loongarch64": -+ installpkg prefixdevname -+%endif - - ## hardware utilities/libraries - installpkg pciutils usbutils ipmitool diff --git a/1001-custom-config.patch b/1001-custom-config.patch new file mode 100644 index 0000000..1ef4350 --- /dev/null +++ b/1001-custom-config.patch @@ -0,0 +1,116 @@ +--- lorax-templates-anolis-23/80-anolis/runtime-install.tmpl 2022-05-18 13:06:59.031358152 +0800 ++++ lorax-templates-anolis-23-1-b/80-anolis/runtime-install.tmpl 2022-05-18 13:06:45.179358978 +0800 +@@ -2,11 +2,11 @@ + <%page args="basearch, product"/> + <% + # This version of grub2 moves the font directory and is needed to keep the efi template from failing. +-GRUB2VER="1:2.06-3" + %> + + ## anaconda package + installpkg anaconda anaconda-widgets kexec-tools-anaconda-addon anaconda-install-img-deps ++installpkg mesa-libgbm-devel + ## Other available payloads + installpkg dnf + installpkg rpm-ostree ostree +@@ -41,13 +41,13 @@ + ## arch-specific packages (bootloaders etc.) + %if basearch == "aarch64": + installpkg efibootmgr +- installpkg grub2-efi-aa64-cdboot>=${GRUB2VER} ++ installpkg grub2-efi-aa64-cdboot + installpkg shim-aa64 + installpkg uboot-tools + %endif + %if basearch in ("arm", "armhfp"): + installpkg efibootmgr +- installpkg grub2-efi-arm-cdboot>=${GRUB2VER} ++ installpkg grub2-efi-arm-cdboot + installpkg grubby-deprecated + installpkg kernel-lpae + installpkg uboot-tools +@@ -56,22 +56,22 @@ + installpkg gpart + %endif + %if basearch == "x86_64": +- installpkg grub2-tools-efi>=${GRUB2VER} ++ installpkg grub2-tools-efi + installpkg efibootmgr + installpkg shim-x64 +- installpkg grub2-efi-x64-cdboot>=${GRUB2VER} ++ installpkg grub2-efi-x64-cdboot + installpkg shim-ia32 +- installpkg grub2-efi-ia32-cdboot>=${GRUB2VER} ++ installpkg grub2-efi-ia32-cdboot + %endif + %if basearch in ("i386", "x86_64"): + installpkg biosdevname syslinux +- installpkg grub2-tools>=${GRUB2VER} grub2-tools-minimal>=${GRUB2VER} +- installpkg grub2-tools-extra>=${GRUB2VER} ++ installpkg grub2-tools grub2-tools-minimal ++ installpkg grub2-tools-extra + %endif + %if basearch == "ppc64le": + installpkg powerpc-utils lsvpd ppc64-diag +- installpkg grub2-tools>=${GRUB2VER} grub2-tools-minimal>=${GRUB2VER} +- installpkg grub2-tools-extra>=${GRUB2VER} grub2-${basearch}>=${GRUB2VER} ++ installpkg grub2-tools grub2-tools-minimal ++ installpkg grub2-tools-extra grub2-${basearch} + %endif + %if basearch == "s390x": + installpkg lsscsi s390utils-base s390utils-cmsfs-fuse s390utils-hmcdrvfs +@@ -177,16 +177,18 @@ + + ## debugging/bug reporting tools + installpkg gdb-gdbserver +-installpkg libreport-plugin-bugzilla libreport-plugin-reportuploader ++## installpkg libreport-plugin-bugzilla libreport-plugin-reportuploader + installpkg fpaste + installpkg python3-pyatspi + + ## extra tools not required by anaconda +-installpkg nano nano-default-editor ++## installpkg nano nano-default-editor ++installpkg nano + installpkg vim-minimal strace lsof dump xz less + installpkg wget rsync bind-utils ftp mtr vconfig + installpkg spice-vdagent + installpkg gdisk hexedit sg3_utils ++installpkg prefixdevname + + ## actually install all the requested packages + run_pkg_transaction +--- lorax-templates-anolis-23/80-anolis/runtime-postinstall.tmpl 2022-03-29 02:50:47.000000000 +0800 ++++ lorax-templates-anolis-23-1-b/80-anolis/runtime-postinstall.tmpl 2022-04-29 20:52:30.000000000 +0800 +@@ -26,6 +26,7 @@ + mkdir etc/systemd/system/local-fs.target.wants/ + symlink /lib/systemd/system/tmp.mount etc/systemd/system/local-fs.target.wants/tmp.mount + ++systemctl enable dbus-daemon + ## Disable unwanted systemd services + systemctl disable systemd-readahead-collect.service \ + systemd-readahead-replay.service \ +--- lorax-templates-anolis-23/80-anolis/runtime-cleanup.tmpl 2022-03-29 02:50:47.000000000 +0800 ++++ lorax-templates-anolis-23-1-b/80-anolis/runtime-cleanup.tmpl 2022-04-29 11:27:40.000000000 +0800 +@@ -1,5 +1,6 @@ + ## lorax template file: cleanup for the ramdisk (runtime image) +-<%page args="libdir, branding, root"/> ++## <%page args="libdir, branding, root"/> ++<%page args="libdir, root"/> + + ## remove the sources + remove usr/share/i18n +@@ -302,13 +303,6 @@ + removefrom xorg-x11-drv-wacom /usr/bin/* + removefrom yelp /usr/share/yelp/mathjax* + +-%if branding.release: +- removefrom ${branding.logos} /usr/share/plymouth/* +- removefrom ${branding.logos} /etc/* +- removefrom ${branding.logos} /usr/share/icons/{Bluecurve,oxygen}/* +- removefrom ${branding.logos} /usr/share/{kde4,pixmaps}/* +-%endif +- + ## cleanup /boot/ leaving vmlinuz, and .*hmac files + runcmd chroot ${root} find /boot \! -name "vmlinuz*" \ + -and \! -name ".vmlinuz*" \ diff --git a/1001-install-kernel-with-version-suffixed.patch b/1001-install-kernel-with-version-suffixed.patch deleted file mode 100644 index 88a1971..0000000 --- a/1001-install-kernel-with-version-suffixed.patch +++ /dev/null @@ -1,239 +0,0 @@ -diff -Nur lorax-templates-anolis-8.3/80-anolis/aarch64.tmpl lorax-templates-anolis-8.3.new/80-anolis/aarch64.tmpl ---- lorax-templates-anolis-8.3/80-anolis/aarch64.tmpl 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/aarch64.tmpl 2022-02-18 17:12:12.111334130 +0800 -@@ -27,8 +27,8 @@ - mkdir ${KERNELDIR} - %for kernel in kernels: - ## normal aarch64 -- installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz -- installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img -+ installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.version} -+ installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.version}.img - %endfor - - #FIXME: this will need adjusted when we have a real bootloader. -diff -Nur lorax-templates-anolis-8.3/80-anolis/config_files/x86/grub2-efi.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub2-efi.cfg ---- lorax-templates-anolis-8.3/80-anolis/config_files/x86/grub2-efi.cfg 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub2-efi.cfg 2022-02-18 17:27:01.691905488 +0800 -@@ -21,20 +21,24 @@ - - ### BEGIN /etc/grub.d/10_linux ### - menuentry 'Install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { -- linuxefi @KERNELPATH@ @ROOT@ quiet -- initrdefi @INITRDPATH@ -+ linuxefi @ANCKKERNELPATH@ @ROOT@ quiet -+ initrdefi @ANCKINITRDPATH@ -+} -+menuentry 'Install @PRODUCT@ @VERSION@ in compatible mode' --class fedora --class gnu-linux --class gnu --class os { -+ linuxefi @RHCKKERNELPATH@ @ROOT@ quiet -+ initrdefi @RHCKINITRDPATH@ - } - menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { -- linuxefi @KERNELPATH@ @ROOT@ rd.live.check quiet -- initrdefi @INITRDPATH@ -+ linuxefi @ANCKKERNELPATH@ @ROOT@ rd.live.check quiet -+ initrdefi @ANCKINITRDPATH@ - } - submenu 'Troubleshooting -->' { - menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os { -- linuxefi @KERNELPATH@ @ROOT@ nomodeset quiet -- initrdefi @INITRDPATH@ -+ linuxefi @ANCKKERNELPATH@ @ROOT@ nomodeset quiet -+ initrdefi @ANCKINITRDPATH@ - } - menuentry 'Rescue a @PRODUCT@ system' --class fedora --class gnu-linux --class gnu --class os { -- linuxefi @KERNELPATH@ @ROOT@ rescue quiet -- initrdefi @INITRDPATH@ -+ linuxefi @ANCKKERNELPATH@ @ROOT@ rescue quiet -+ initrdefi @ANCKINITRDPATH@ - } - } -diff -Nur lorax-templates-anolis-8.3/80-anolis/config_files/x86/grub.conf lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub.conf ---- lorax-templates-anolis-8.3/80-anolis/config_files/x86/grub.conf 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub.conf 2022-02-18 17:27:33.024031278 +0800 -@@ -5,9 +5,13 @@ - hiddenmenu - title Install @PRODUCT@ @VERSION@ - findiso -- kernel @KERNELPATH@ @ROOT@ quiet -- initrd @INITRDPATH@ -+ kernel @ANCKKERNELPATH@ @ROOT@ quiet -+ initrd @ANCKINITRDPATH@ -+title Install @PRODUCT@ @VERSION@ in compitable mode -+ findiso -+ kernel @RHCKKERNELPATH@ @ROOT@ quiet -+ initrd @RHCKINITRDPATH@ - title Test this media & install @PRODUCT@ @VERSION@ - findiso -- kernel @KERNELPATH@ @ROOT@ rd.live.check quiet -- initrd @INITRDPATH@ -+ kernel @ANCKKERNELPATH@ @ROOT@ rd.live.check quiet -+ initrd @ANCKINITRDPATH@ -diff -Nur lorax-templates-anolis-8.3/80-anolis/config_files/x86/isolinux.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/isolinux.cfg ---- lorax-templates-anolis-8.3/80-anolis/config_files/x86/isolinux.cfg 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/isolinux.cfg 2022-02-18 17:28:59.604378874 +0800 -@@ -60,14 +60,19 @@ - - label linux - menu label ^Install @PRODUCT@ @VERSION@ -- kernel vmlinuz -- append initrd=initrd.img @ROOT@ quiet -+ kernel vmlinuz-@ANCK@ -+ append initrd=initrd-@ANCK@.img @ROOT@ quiet -+ -+label linux -+ menu label ^Install @PRODUCT@ @VERSION@ in compatible mode -+ kernel vmlinuz-@RHCK@ -+ append initrd=initrd-@RHCK@.img @ROOT@ quiet - - label check - menu label Test this ^media & install @PRODUCT@ @VERSION@ - menu default -- kernel vmlinuz -- append initrd=initrd.img @ROOT@ rd.live.check quiet -+ kernel vmlinuz-@ANCK@ -+ append initrd=initrd-@ANCK@.img @ROOT@ rd.live.check quiet - - menu separator # insert an empty line - -@@ -82,8 +87,8 @@ - Try this option out if you're having trouble installing - @PRODUCT@ @VERSION@. - endtext -- kernel vmlinuz -- append initrd=initrd.img @ROOT@ nomodeset quiet -+ kernel vmlinuz-@ANCK@ -+ append initrd=initrd-@ANCK@.img @ROOT@ nomodeset quiet - - label rescue - menu indent count 5 -@@ -92,8 +97,8 @@ - If the system will not boot, this lets you access files - and edit config files to try to get it booting again. - endtext -- kernel vmlinuz -- append initrd=initrd.img @ROOT@ rescue quiet -+ kernel vmlinuz-@ANCK@ -+ append initrd=initrd-@ANCK@.img @ROOT@ rescue quiet - - label memtest - menu label Run a ^memory test -diff -Nur lorax-templates-anolis-8.3/80-anolis/efi.tmpl lorax-templates-anolis-8.3.new/80-anolis/efi.tmpl ---- lorax-templates-anolis-8.3/80-anolis/efi.tmpl 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/efi.tmpl 2022-02-21 10:21:42.264812328 +0800 -@@ -1,4 +1,4 @@ --<%page args="configdir, KERNELDIR, efiarch32, efiarch64, isolabel"/> -+<%page args="kernels, configdir, KERNELDIR, efiarch32, efiarch64, isolabel"/> - <% - EFIBOOTDIR="EFI/BOOT" - APPLE_EFI_ICON=inroot+"/usr/share/pixmaps/bootloader/fedora.icns" -@@ -20,13 +20,13 @@ - install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ - - ## actually make the EFI images --${make_efiboot("images/efiboot.img")} -+${make_efiboot(kernels, "images/efiboot.img")} - %if domacboot: - ${make_efiboot("images/macboot.img", imgtype="apple")} - %endif - - ## This is kinda gross, but then... so's EFI. --<%def name="make_efiboot(img, include_kernel=False, disk=False, imgtype='default')"> -+<%def name="make_efiboot(kernels, img, include_kernel=False, disk=False, imgtype='default')"> - <% - kdir = EFIBOOTDIR if include_kernel else KERNELDIR - eficonf = "%s/grub.cfg" % (EFIBOOTDIR, ) -@@ -35,15 +35,25 @@ - if imgtype == "apple": args += ' --apple --icon=%s --diskname=%s --product="%s %s"' % (APPLE_EFI_ICON, APPLE_EFI_DISKNAME, product.name, product.version) - %> - %if include_kernel: -- copy ${KERNELDIR}/vmlinuz ${EFIBOOTDIR} -- copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR} -+ copy ${KERNELDIR}/vmlinuz-${kernel.version} ${EFIBOOTDIR} -+ copy ${KERNELDIR}/initrd-${kernel.version}.img ${EFIBOOTDIR} - %endif - install ${configdir}/grub2-efi.cfg ${eficonf} - replace @PRODUCT@ '${product.name}' ${eficonf} - replace @VERSION@ ${product.version} ${eficonf} -- replace @KERNELNAME@ vmlinuz ${eficonf} -- replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf} -- replace @INITRDPATH@ /${kdir}/initrd.img ${eficonf} -+ -+ %for kernel in kernels: -+ %if kernel.version.startswith("4.19.91-"): -+ replace @ANCKKERNELNAME@ vmlinuz-${kernel.version} ${eficonf} -+ replace @ANCKKERNELPATH@ /${kdir}/vmlinuz-${kernel.version} ${eficonf} -+ replace @ANCKINITRDPATH@ /${kdir}/initrd-${kernel.version}.img ${eficonf} -+ %else: -+ replace @RHCKKERNELNAME@ vmlinuz-${kernel.version} ${eficonf} -+ replace @RHCKKERNELPATH@ /${kdir}/vmlinuz-${kernel.version} ${eficonf} -+ replace @RHCKINITRDPATH@ /${kdir}/initrd-${kernel.version}.img ${eficonf} -+ %endif -+ %endfor -+ - replace @ISOLABEL@ '${isolabel}' ${eficonf} - %if disk: - replace @ROOT@ inst.stage2=hd:LABEL=ANACONDA ${eficonf} -@@ -55,7 +65,7 @@ - %endif - runcmd mkefiboot ${args} ${outroot}/${EFIBOOTDIR} ${outroot}/${img} - %if include_kernel: -- remove ${EFIBOOTDIR}/vmlinuz -- remove ${EFIBOOTDIR}/initrd.img -+ remove ${EFIBOOTDIR}/vmlinuz-${kernel.version} -+ remove ${EFIBOOTDIR}/initrd-${kernel.version}.img - %endif - -diff -Nur lorax-templates-anolis-8.3/80-anolis/runtime-install.tmpl lorax-templates-anolis-8.3.new/80-anolis/runtime-install.tmpl ---- lorax-templates-anolis-8.3/80-anolis/runtime-install.tmpl 2020-12-26 00:16:14.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/runtime-install.tmpl 2022-02-21 11:27:42.519442134 +0800 -@@ -15,7 +15,13 @@ - ## kernel and firmware - ## NOTE: Without explicitly including kernel-modules-extra dnf will choose kernel-debuginfo-* - ## to satify a gfs2-utils kmod requirement --installpkg kernel kernel-modules kernel-modules-extra -+%if product.version == "7" and basearch == "x86_64": -+ installpkg kernel-3.10.0 kernel-modules-3.10.0 kernel-modules-extra-3.10.0 -+%else: -+ installpkg kernel-4.18.0 kernel-modules-4.18.0 kernel-modules-extra-4.18.0 -+%endif -+installpkg kernel-4.19.91 kernel-modules-4.19.91 kernel-modules-extra-4.19.91 -+ - installpkg grubby - %if basearch != "s390x": - ## skip the firmware for sound, video, and scanners, none of which will -diff -Nur lorax-templates-anolis-8.3/80-anolis/x86.tmpl lorax-templates-anolis-8.3.new/80-anolis/x86.tmpl ---- lorax-templates-anolis-8.3/80-anolis/x86.tmpl 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/x86.tmpl 2022-02-21 10:23:07.944976279 +0800 -@@ -58,13 +58,18 @@ - installinitrd images-xen ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img - %else: - ## normal i386, x86_64 -- installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz -- installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img -+ installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.version} -+ installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.version}.img - %endif -+ %if kernel.version.startswith("4.19.91-"): -+ replace @ANCK@ ${kernel.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg -+ %else: -+ replace @RHCK@ ${kernel.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg -+ %endif -+ hardlink ${KERNELDIR}/vmlinuz-${kernel.version} ${BOOTDIR} -+ hardlink ${KERNELDIR}/initrd-${kernel.version}.img ${BOOTDIR} - %endfor - --hardlink ${KERNELDIR}/vmlinuz ${BOOTDIR} --hardlink ${KERNELDIR}/initrd.img ${BOOTDIR} - %if basearch == 'x86_64': - treeinfo images-xen kernel ${KERNELDIR}/vmlinuz - treeinfo images-xen initrd ${KERNELDIR}/initrd.img -@@ -93,7 +98,7 @@ - treeinfo images-${basearch} ${img|basename} ${img} - %endfor - <% efihybrid = "--uefi --mac" if domacboot else "--uefi" %> -- <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> -+ <%include file="efi.tmpl" args="kernels=kernels, configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> - %endif - - # Create optional product.img and updates.img diff --git a/1002-add-uefi-parameter.patch b/1002-add-uefi-parameter.patch new file mode 100644 index 0000000..f6b3681 --- /dev/null +++ b/1002-add-uefi-parameter.patch @@ -0,0 +1,54 @@ +--- lorax-templates-anolis-23/80-anolis/config_files/aarch64/grub2-efi.cfg 2022-03-29 02:50:47.000000000 +0800 ++++ lorax-templates-anolis-23-1-b/80-anolis/config_files/aarch64/grub2-efi.cfg 2022-05-17 20:53:41.337838926 +0800 +@@ -27,20 +27,20 @@ + + ### BEGIN /etc/grub.d/10_linux ### + menuentry 'Install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { +- linux @KERNELPATH@ @ROOT@ ro ++ linux @KERNELPATH@ @ROOT@ ro inst.profile=anolis + initrd @INITRDPATH@ + } + menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { +- linux @KERNELPATH@ @ROOT@ rd.live.check ++ linux @KERNELPATH@ @ROOT@ rd.live.check inst.profile=anolis + initrd @INITRDPATH@ + } + submenu 'Troubleshooting -->' { + menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class red --class gnu-linux --class gnu --class os { +- linux @KERNELPATH@ @ROOT@ nomodeset ++ linux @KERNELPATH@ @ROOT@ nomodeset inst.profile=anolis + initrd @INITRDPATH@ + } + menuentry 'Rescue a @PRODUCT@ system' --class red --class gnu-linux --class gnu --class os { +- linux @KERNELPATH@ @ROOT@ inst.rescue ++ linux @KERNELPATH@ @ROOT@ inst.rescue inst.profile=anolis + initrd @INITRDPATH@ + } + } +--- lorax-templates-anolis-23/80-anolis/config_files/x86/grub2-efi.cfg 2022-03-29 02:50:47.000000000 +0800 ++++ lorax-templates-anolis-23-1-b/80-anolis/config_files/x86/grub2-efi.cfg 2022-05-18 12:54:10.412403965 +0800 +@@ -21,20 +21,20 @@ + + ### BEGIN /etc/grub.d/10_linux ### + menuentry 'Install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { +- linuxefi @KERNELPATH@ @ROOT@ quiet ++ linuxefi @KERNELPATH@ @ROOT@ quiet inst.profile=anolis + initrdefi @INITRDPATH@ + } + menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { +- linuxefi @KERNELPATH@ @ROOT@ rd.live.check quiet ++ linuxefi @KERNELPATH@ @ROOT@ rd.live.check quiet inst.profile=anolis + initrdefi @INITRDPATH@ + } + submenu 'Troubleshooting -->' { + menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os { +- linuxefi @KERNELPATH@ @ROOT@ nomodeset quiet ++ linuxefi @KERNELPATH@ @ROOT@ nomodeset quiet inst.profile=anolis + initrdefi @INITRDPATH@ + } + menuentry 'Rescue a @PRODUCT@ system' --class fedora --class gnu-linux --class gnu --class os { +- linuxefi @KERNELPATH@ @ROOT@ inst.rescue quiet ++ linuxefi @KERNELPATH@ @ROOT@ inst.rescue quiet inst.profile=anolis + initrdefi @INITRDPATH@ + } + } diff --git a/1002-correct-images_xen-tree-info.patch b/1002-correct-images_xen-tree-info.patch deleted file mode 100644 index ff22801..0000000 --- a/1002-correct-images_xen-tree-info.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nur lorax-templates-anolis-8.3/80-anolis/x86.tmpl lorax-templates-anolis-8.3.new/80-anolis/x86.tmpl ---- lorax-templates-anolis-8.3/80-anolis/x86.tmpl 2022-02-24 14:37:45.519571981 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/x86.tmpl 2022-02-24 14:20:47.056594971 +0800 -@@ -71,8 +71,8 @@ - %endfor - - %if basearch == 'x86_64': -- treeinfo images-xen kernel ${KERNELDIR}/vmlinuz -- treeinfo images-xen initrd ${KERNELDIR}/initrd.img -+ treeinfo images-xen kernel ${KERNELDIR}/vmlinuz-${kernel.version} -+ treeinfo images-xen initrd ${KERNELDIR}/initrd-${kernel.version}.img - %endif - - ## WHeeeeeeee, EFI. diff --git a/1003-tmpl-update-kernels-for-aarch64-efi.patch b/1003-tmpl-update-kernels-for-aarch64-efi.patch deleted file mode 100644 index 6ffdf28..0000000 --- a/1003-tmpl-update-kernels-for-aarch64-efi.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/aarch64.tmpl lorax-templates-anolis-8.3.new/80-anolis/aarch64.tmpl ---- lorax-templates-anolis-8.3.orig/80-anolis/aarch64.tmpl 2022-02-24 14:37:45.518571979 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/aarch64.tmpl 2022-02-24 19:27:49.669396630 +0800 -@@ -49,7 +49,7 @@ - %> - treeinfo images-${basearch} ${img|basename} ${img} - %endfor -- <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> -+ <%include file="efi.tmpl" args="kernels=kernels, configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> - %endif - - # Create optional product.img and updates.img -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub2-efi.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub2-efi.cfg ---- lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub2-efi.cfg 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub2-efi.cfg 2022-02-24 19:27:38.354374629 +0800 -@@ -27,20 +27,24 @@ - - ### BEGIN /etc/grub.d/10_linux ### - menuentry 'Install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { -- linux @KERNELPATH@ @ROOT@ ro -- initrd @INITRDPATH@ -+ linux @ANCKKERNELPATH@ @ROOT@ ro -+ initrd @ANCKINITRDPATH@ -+} -+menuentry 'Install @PRODUCT@ @VERSION@ in compatible mode' --class red --class gnu-linux --class gnu --class os { -+ linux @RHCKKERNELPATH@ @ROOT@ quiet -+ initrd @RHCKINITRDPATH@ - } - menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { -- linux @KERNELPATH@ @ROOT@ rd.live.check -- initrd @INITRDPATH@ -+ linux @ANCKKERNELPATH@ @ROOT@ rd.live.check -+ initrd @ANCKINITRDPATH@ - } - submenu 'Troubleshooting -->' { - menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class red --class gnu-linux --class gnu --class os { -- linux @KERNELPATH@ @ROOT@ nomodeset -- initrd @INITRDPATH@ -+ linux @ANCKKERNELPATH@ @ROOT@ nomodeset -+ initrd @ANCKINITRDPATH@ - } - menuentry 'Rescue a @PRODUCT@ system' --class red --class gnu-linux --class gnu --class os { -- linux @KERNELPATH@ @ROOT@ rescue -- initrd @INITRDPATH@ -+ linux @ANCKKERNELPATH@ @ROOT@ rescue -+ initrd @ANCKINITRDPATH@ - } - } -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub.conf lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub.conf ---- lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub.conf 2020-07-08 06:26:52.000000000 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub.conf 2022-02-24 19:26:25.138232273 +0800 -@@ -5,9 +5,13 @@ - hiddenmenu - title Install @PRODUCT@ @VERSION@ - findiso -- kernel @KERNELPATH@ @ROOT@ quiet -- initrd @INITRDPATH@ -+ kernel @ANCKKERNELPATH@ @ROOT@ quiet -+ initrd @ANCKINITRDPATH@ -+title Install @PRODUCT@ @VERSION@ in compitable mode -+ findiso -+ kernel @RHCKKERNELPATH@ @ROOT@ quiet -+ initrd @RHCKINITRDPATH@ - title Test this media & install @PRODUCT@ @VERSION@ - findiso -- kernel @KERNELPATH@ @ROOT@ rd.live.check quiet -- initrd @INITRDPATH@ -+ kernel @ANCKKERNELPATH@ @ROOT@ rd.live.check quiet -+ initrd @ANCKINITRDPATH@ diff --git a/1004-shift-default-boot-number.patch b/1004-shift-default-boot-number.patch deleted file mode 100644 index bc60b09..0000000 --- a/1004-shift-default-boot-number.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub2-efi.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub2-efi.cfg ---- lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub2-efi.cfg 2022-02-25 10:16:35.087162594 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub2-efi.cfg 2022-02-25 10:16:07.866109673 +0800 -@@ -1,4 +1,4 @@ --set default="1" -+set default="2" - - function load_video { - if [ x$feature_all_video_module = xy ]; then -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub.conf lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub.conf ---- lorax-templates-anolis-8.3.orig/80-anolis/config_files/aarch64/grub.conf 2022-02-25 10:16:35.088162596 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/aarch64/grub.conf 2022-02-25 10:14:34.659928471 +0800 -@@ -1,5 +1,5 @@ - #debug --graphics --default=0 -+default=2 - splashimage=@SPLASHPATH@ - timeout 5 - hiddenmenu -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/config_files/x86/grub2-efi.cfg lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub2-efi.cfg ---- lorax-templates-anolis-8.3.orig/80-anolis/config_files/x86/grub2-efi.cfg 2022-02-24 14:37:45.518571979 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub2-efi.cfg 2022-02-25 10:13:43.445828910 +0800 -@@ -1,4 +1,4 @@ --set default="1" -+set default="2" - - function load_video { - insmod efi_gop -diff -Nur lorax-templates-anolis-8.3.orig/80-anolis/config_files/x86/grub.conf lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub.conf ---- lorax-templates-anolis-8.3.orig/80-anolis/config_files/x86/grub.conf 2022-02-24 14:37:45.518571979 +0800 -+++ lorax-templates-anolis-8.3.new/80-anolis/config_files/x86/grub.conf 2022-02-25 10:13:23.408789955 +0800 -@@ -1,5 +1,5 @@ - #debug --graphics --default=1 -+default=2 - splashimage=@SPLASHPATH@ - timeout 60 - hiddenmenu diff --git a/lorax-templates-anolis-37.0.tar.gz b/lorax-templates-anolis-37.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5a6860f4713649f639caac9979af52c885a65136 GIT binary patch literal 26598 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 literal 0 HcmV?d00001 diff --git a/lorax-templates-anolis-8.3-4.tar.gz b/lorax-templates-anolis-8.3-4.tar.gz deleted file mode 100644 index 694491ce0b1000d729d7ad23b72a460561830fc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32004 zcmaHvL#!?gtge@B+qP{RdoSCzZQHhO+vZ-jZF_y^zh`&{C+VO~nhu&a&zqMp8VaZx z=~N#G^ji1AdAlv?O})A8(sw6*z41q)Nqnv{@hJVl%Z57g^+Rb=Mz8G=1wDMk0?Sb< zjL20i6X4tJm_QWneBOX(9-gW}vTgwcUl322l|nf78k)HveY^#2T81CeH$HQwR{pSG zS4W}4yS0VbcChE>p1s%JrThC=4^b;OH&+dF(hD)GRK`|FVwGUE1uNE=E05~OT#?Be^U8aqlEuKlIU zFy_!fM8r(ojfG;D4CW{Vmc4;;+2ipa6Gb_ZAjzlwMA^gwWH_228JIm4ytRo0INfHcNyxfvb0YCXxNp)@FR!JqVtiYa6C$Xu9wy=jjmP@b; zh&IKqA?*A8IG!RLDR~=1JlWZ-$ssv%PlxVCe&B+XE<=>-V56v`DUAZ_L#MoV>~OM< zSsVoV2V?dVrzf@)x;-q|s&nZi`NIZoUJw;)V`$6yqM#Dc>W3mIq$$IZgb18g@bbwp zBC8%&W6R|WZbz2#2m(7FlMB;K@DL8f z+MU%5V-x~v3a3MfVj<%0@q?4;ZrH?)rwXO!Y0Km1t!2y-m%7mzgyO2-MJZ`?9yH|7R9*ctm=Lw)-769#-_w#^@{ zLQMj4ufU^n27U}bLjdm9xW(ejdgZ6?OEH4Y^|In+Hv7S(3}dGKu)rj^RF85by>LF~ zntTt=Gsp`Dg!aDwfsWSPdB~R`cQt*}WTf&uajB)#$qHc)VSv#legN+2KSLO1k~cMp zo+C!E57vV5Go>W{G-G044~mg2)V08j^g+dIEdX@#O6T=^t_$1Og6U((%H{f2QPVa_ zbCo@FV=0(>C$z_O?g` za5=OCUc~&UDQ0lRk;3DZ!GrLfyFI*K64(3NRzt-r=j!hU_jgCY@RvGSJ+U}zuC^o` zOzBtD@gEH_ZzitKTXbN^&y;vG&C;K@FUj!kQW@}%*~+(v;jO`|-gX_Jsm(cr-$<>R z4I5KD1j9di57Z4{EDMC)j9l|RJL#S1!BZ&JUgY&X?*0Qtyw&GMeFQLLVD5^({tK3C z=4oYB`i6XTK1!#!<$?nBC_uCa+C+y^e+{7-0CQ* z;Y0eIN`-yjJ&7|`@AVD{b~vDP4}d}&2*8bP{llJjr`mwO^N6~~F3uxu>$MzP0~ADB zv?Vi=&)NCypJjAk;;AH-g{+Ven$TWrX9O|%qMB`A zv=zATCwMv5P70Ij5ZZ>piw)v7#763{;BWPJ6+LYsU$LfW*T$FKQ&R?5g`Y5{bdmg! z$ck~9ov)>#3f&Fu9lh3ofjvbdZ?HJ?*rO~QKW<#U4UTgkDrKTPou{lHio4-}%g|ni zpygoUdTsU5CVp_3=lZNAi7+IMh>anF1RT@9b~HJV2G4(0$)24Dr*lDPtafI-(mNlQ z6^GVkMb;T3Cwsw@QO+@#gBMDYm(M~q_Z%=UbKV2MXe*Zct>kg<|5EPJz)4;)=*b#x z;^C5anUk!gVP!rmb5U*8Q~T7ZjX8d*Mkw^dY+a}q^7-;azdgIE=7T4#iElUVSrPvp zHSgcOMbt)9Pmj~B#+8JY28Z}yqesKg%4}@U+MLV-y?za53^k2qvUu{s6I4?C5gFoH zj0Qu)kyAQ-RLy2F%vajc{4;Q7IOF=p`p4QtewpncZA=|>>XK(@cXta|wDrBZt*)w> zd6N!?FZuBj26dS|+$&_)s4y{<%7N8r1nvb%Y_5ld0-*LMwF51T<&>Bi5S}5Jawz-+ z6;UFee~KPjGYgdio8cX+Z`bu1ibch^R_W}lS28y(>w7Z$NUij^`W+gzlMLTU22!dm z&>sAa*{>D_@VSfGC4sgX{br>9wRZE~y85pF>QKuEWK#yx&jK#nWS{ozTzRkF0RnY` z>c49=+m)?aO9Ii4JC%qeCm~tJJFP(v@2K zNsJb3s(*`GlWvVSz6*7mfr$hEz^;HY_qBl4r5+Z1u;?{@`at72i{!cHt?3KQTjK-y z{IhliAOe`t_xxH71FIk5XSTnP8h| zLaZ1IV@1KkPmF?-mosugshJfR*%5Qmp;K#6gu=M+l-*P&v}e0a^iOyiNN}vUqGUtO zjwNpbW14Lno+FtFti8SpmTNQmtoNvD5azdsp{>bl{JnzFOSd*0GgFQxlD~UtwcmdGJ_p!A5!hn33NtooR)Er@1gl34T7w?ccN4kiLH5Xn`Zgs8F@N?J zB)~`Da-3w@Bl5(8wtH9vr_ zj$1B(yB^!UB}!1eI~vs7tR2=e>d=x2bhMBtGs;*9%Qyt;EfBYdDbp+zc7bG=5+-3< zVBB2hjrT2c|DMAbid2MU(ire^E1%hyFwe%iSQ<%LJ>eR>Xk?iG@8FQh9y}Pi**mm) zncXV)6omt~w>#2A%{i@=Pmm`tLHj}~FKWQ>P85v5rqY~n-Tn@=DW4K=_ ztoQVL#FOxbf8OE3d5h}_2wwUh&w}j!zp|1Uo;e*xF%}aJXp)*53WvF53AeKUepbC> z8$sfUJPKfbY5FLSgJXQ@F0kBD%o(DYpWYwmk+iEQSm|_OIa*CJ;nRljHsvCmle@Dv zjWY$+p?k)cLqqKrVK2{bRDz$`3Xps>mH9MfXi>z}NK|bOh#TKmkr9_Ntcsar&OaWu z5QF8QiF))^VE-01va5-WJQ?@zMn zQ^0QOjFfr7qOWeztT;Gzr2-DviLF(w&l9*K%A)hj!TwoxJ#WvtbFBpV$o(Ed>=~KsL6GOI( z!wR_bx$XUT0RCv)`DB3Rl}jN_Zh&)lYaHP2sB873{tljd_t$bR&@j+a3aJ0<_5N#Z zL$}bJmD2&Q@0` zIo=&y9O$9vO<@933v-Z(-H04`Ht$LvPp(|t4{&IC3)0!_aRIwsq87z=vX3M;9FZ~^ z|Bi)0WGh9Ai%G{Wg_AS;*?XbC-3i0u8?2zhp&@F1UEA{&iVDV5)e8-8!+3M9)ldXPI6|9D6$CMIw%_I zm+OoqmIDhSSZh3!6|aVdgaE9HSC2T{-!Od7=VGqbcg$U+W=_T(UNDUtyU!ry(h#&r z7J3qI^4$@Pv<`qb$CG4yhe@D3frPZbH$`SrpGhh-!zXDVlC!`+ksA`SW0ZB6WLzhY zVY4`7BLlXpr$@+V>T5DZsY>NU^b%|F3;5{2vw_5gZ^hs=Fh&^VI0dFi`d%}uJaHJw z#!Z@VcIbyh17tv1@qPoUmUb^)%e~4yk`Mi=M`*Fj3&8)8fvImfdwen_6^;!Ma~b0O zrBud-oC*zdj2WD7qX{H`_@j~(C(%{Fx$EQZvB1T(&AYxFst11(!4M-t+bQL8tLgnG zRuT777dQUTrq!JdZM_;

}ufTINS!3UuTJ%Fq$kLi;w-%)Ll{PhaE4gq%43_fS(k ze>PChg`hD%#l=Q>6!^sV!jMNXNF#sI`H@pv{r+;)-)gzXRMv zfzNJN87D_i%Oj4cWfMz@>RM=c6TiLQ9P6{QlSz_# zniac9^dIFyTCB>+RCD_axai2D|Q1$H;JWroZmn@NS`9sA>TTp zG$aCn9}L^u6B<6`9~Uj?{F$Ii4W8^)a8B-}i=rAjd8BrQnX1#)&oyiUeiCs+wB_H( zvj|lB5R{PAWC4e`-eV3b(E5@;VYXOQz0~}B)HIswK;Ra`+qEPo3Xd&f+=Pvq0i83| zMUOYp@+oM28stV8XMPK!P(SV`C+Dt0HIU)YK<@tKwnIsW;X&9a)UV?C`_W2Ouu3QX z)L_byKK}sb91H5>E~EjJ!|oLFqeexMfv=LoAt z@z@RB^8-?++N1~{nui%}e`$Z<-@SjGLhcWhXKEj8-_+}#V^LWW14vzCtb^rL6=N{& zqQwXzOQqLr(4-{B{m>(%dDHrGnetOv;njMe8Y|nyex=zuL@O~y{WZq4o{Yk_um(3G zoFsJjXkVjgi(Xm7}R7`_0U zeSsfOeYo}QA<6+te>9E@r?)p47^UCZ)+o%;RsM%)62iW)z^z78t+)7cR{ z>@1=6Xa=Hy&-SzJF=9WSclA$*59hBSh$ASsrR}uabs^2gK3flh@rV}$($C~=SVO*H zna9K5N2yBnn|2_5>!2<|;!}tFPT&(Z{7k{%`EEaOQ8elDQy6#ryO1-dpuv7=k^~88UAM^N#f&wgga*U3`Ij)&QI9 zBPQa`_pL|NwK8}!2pm5(jdxVgHI|W zU(p(JdI<5I-)Uql_z~E#!xDv9VXB!&QEJMT(5MAi9X@*3foC$4ZmOQnr*Mdy^uk%b za*MTs|9rGM>zHuKhf<_ojW9m!LEOY?rrPmubUnL9am>*g142Tz7IR?Z1m3+VcMe+N z2we%G@`i}xbkOJ|E;-Qk*oF`aVgwn!wXm-FaP;Y9x$SNz4+3NAp;nG6QmiwvV|Jp( z2PLJoMcf0Q2kTbRM7x9a0&2QP{`o#2HzQ=BC1Mp+X^0{C1M~;e3nqb4h!g5se@$vu z_73aY8>H>xA|btKvSbGlzXQcc++dTyusz51I?uq($7CwphgBE?6>nk7qLD8;X{cmy z#1B&OK!TEM1SqrEEuYUTjE8(KrOFy6r81 zjWt}%)J_!osKAGz%7 zoh&8_{30?J^PXmWc;TRPF?0xEd?($#)t1_;Kdc|fGMRjnl~gmUVD+KaR5Iebn|D)k zQ|awvk=UdmTO#sDFRL2xYX$)XExnvJ+G!g}cgVuJZcZ9t$=fHWk_U3P&uu~4fLrv< zMz<_~W@sRAIDA=ayHq7B*7>pYaLisu-_eB~@<^a=V--S&mO?{CHJ>kNK6?bA|0zpT zojQG1-^D?n9NZouEV}{s4YGIP89Yd;1DZ)gpT+4#hnhc_xfo&8`*FJO5p$~c8-+(F zhVnw(urYW$J+mBs@3PLpv>Wh{Tv@z@>u%xjXDa!86SjaiZ_%5t;~mwNN<`Slm|wa8agj!zUre~#rGfXqm5c`er&;|>>NPx z7|?;}e1SMHajgFRtGz)}vge;q;;R6l&7M3vZIl8qrbH!w0^EpG0g6dZxHhEarmu(_ znn!fSrV4wxy_SdU)%XNMKOYy9lf=Bf?md7sTQMe&@ehn)*Gl#_H=joiuctE4Z9d+0 z^Kx^^;|5?x1Py`yeCgT9`b+`y-{@wl8eZ79?)f?6#qW80 z#Z3TE?wG%4(y{jp=a&ZrpRH_7+Ih9*)@>831+D&OCK(!jGa2zCFLnIK)P?K}pmPYIFFOI4I{uu0bfb<1+>=?7e=vTd zT$Fr&mCR=X9yHaTo;0`so@ascs^`+b1n9uPloA-m9}407@eVJ*V{Y=fLYn8=8|zFBOTLj$BY8ua^t;s5Sp!yy zP+`sDBxfD0^&d=3y09Dav-a-7b40+Da%2vE4iCCv0FDTtJS~WZoUof{5SxYvv;zR{ zABx|Vz0USJ_q$8LF}ig=G2mp-4faWc2q0SkB3BDwDEZx^lMs2a%qHAAGehZHk6_rfa7Zoiv)Fi|5&21vtQAy#Qv+l9P!GiksQQVrcKVcuW znQC{_n%(rPE)w_)q;-N(M)6He34(T6i_=rn`l`J(iAHlG;aT3(+pJnKKT)JHw+36A zo9ko>5o*-fle;%qL;*rXunGjTwZ4%BV$o}LBi33eZ0kk=gaoOV>S?C2!3;Fvjtl%Q z`0h_=VM7bV%loa?!$1mDUjszdGQ}I31vYWFj5F(Fs1MRJwf59%)Tx#TuVR6AwLrlR ztrRTy;?t{fwxcqao*f|qKq^=m!6@O_F3Y1z)pl3|o04H~FGMfAT`=4V_44fgrs?Nj zNlL&}t3z);1RI!BlO;nJyQ%2{tGJmjSg<%Cl$tyO2EsX6RX_&9VFkviWkJ|dbHc`{ zRaaV2?`il8q``)TT2B^0R{;`GpD@G)FVBH|7!8-8ASQ}CFI2klXM9)z`BFa}=!61T z3dR&KsurS6Nf)gd3O$Si8&n7>Zg1PJ<(L&j$fKu_qhz_DI|Ag6%0`^Z0w16pzg(`B zv{_Wzc4+dK_JR>Ofs24*$qHzxo_qomSjw*xO{lsRFI3YMX=Qs>J_qZ{;9q2dtUjY{??x{KY~+gr!_}&lg7Wl zgnU2-G{5eZDS3b=GU#|ccCl+MHPg@1ujU==zZ!<|MtnaSf*o7{WcRiCh*)9b0vkZL z>>K^SwchfjH`;Yt8zADoZA13$-%2YN9ju%owrf~;>51f^nx(;@V4k%C1d^{rAt`tT zls7XpZoWh{|C8+!3t#(N1^-c^WVP2JwL6-WD1eeRd_Duf_iKD+_InIiJA79xEqO=0 z_#jkFT7FmjXk3>zm2ckCjmLIFQP&uNacHxi0C%u60?IWCRFx5AnjSt^#DB$Qr7N4p z{yroPigkJYLi}cf)(^G28C&&*c#2X1b6v2>4B9;fg zd_W1NcVr1bffj+~DB=G! zT-cZJs}7cGYeo?L-0x&b^Q&K(aSQNEYS92_4_q++dWLz3H6{>`)@vxeFHB|Wm!?#_ zsLB*fz2LEC6oP?dagFCR=U>m}J1-0QvaA^qGp`vL(vSw|P#4?p48s1SobyK|r4Y$x zOog0#SeXORqaV0>{obLL%wGdajRqL@0ioZo#~=QwQ)&YLfi^KM9uOt-H5?sh8z#Ef z7bViJ_rh&sEm1IO<{gIMEYg&;)&8QY`tHkx)I?`uTqA6|=g-_0I!sQ`6Bx zxcggDGVjIK`X!(?AIJGs7Bc5&Gc+I7>ecyhhQQ(EBAH~iPU|G~ijQ{ex*Re?e#zfe zOYc|kTBV6Npf+#Z=cB*1RW&080L}#S_XB`t`E~+y)_buBrka~=Gf43i&H&RyTkhW+ zi5EGtOwmA@BAe}@$JmecPV~LyZ~#V-DW6RRFLAdTw!-A`YPc)&k)n)_BoA^wnFnOefZpz|OLNP6(4=-Ad zDTPJHbIO3$fRF}3q1}PetC0*ULp}J(1EfsH(xz@&8cW{*!O0O-&+eJSiv|mc!9xpo ziJcJSOW8sXn&@)d7hEPivQT;Xqm31*y|^*Cq~^2rB?LTd)N^!H@mf7E4K3 zl;&iNsj*jr6~z>9W@unNE$1*(#n2fR*6iF;oBpoxn`W zq>FmAn<>V1C?)}v#By#1S(l~E;8#`olXJD@i&T9O21A>-Sg=0|5-o#`k!26s+Ez;y z#wY-zmfZ{L2YR|8MV_HjsA-$NHNX+o9MQ5Mmjn42p&aI0N!KxyIasMDu6p?57c7@` z86BTw_+xId;ht~;cgRd%*eYU32{wyo;`#`Uj49tDr4ZASJ|X$xeOwBX)SQ?;&=(@w zyu^CPCwR&b)Fei>Xu`M7MGp?~*tMvk_iw{Oj49{RBB^SjFS#OWo*a7QBb$12F+DZ? z=$g3^gi%1IQBbRlu()QSH)4(5;F`TkX zNz-Ib3MDlu7{}`~G3Gp@bD4mq)Wj$i1?3BT(<5kAD+iZG8^tTP#B^D554h>?cBKiK zF2j4V*&v9)otogOB)4a=xgpq#FgP;Kb=QJrLvR6Gzw|81L;_o&!lHlrW%S9*EQf$v z8A70W=e)nX5iHZtDYp>#1td2d0-wqX6bA)44H1p-=hRz41Jm$rXx?220TnMXz1cA1 zqY`zP0%^D4_2O`aS%pYtN(DC;wNRDcHqObuI`|%*HC$!h(`kY|#$$FyNb#cy>B~M*hFKmg_30aJd%0O}=|$31;84tsBWj* z2seiF3mytIK}k`ROu}Q&46%UBdWIO9ze;RzQ3_z(yniPuuP({*m}gWa9#|#@^#_cs z|3Ph;l>90}Q_NMapd^|xG)Qm@Tsx7_I#$z>Y8WA*zT<&dVLo({85q(K6UkRUNE)-s zY0X?AQ)VPs&TGy#RfKyfY`KAIuY)e9;M+`O=ehTmouTojfZU=x@yFcrTh4qX4? zsCUe*=qj`{Zdp<7fCo*@qcc;jbpBQejVT3i*?jASreU0L)%frzlhWY5 zbYAZ#UZYoJ84Q6<)=N5jNo8}|7un^AeXbJJvehP~y#fA_MCbiL3+#jM`L{oXPTm1R zWx9UPEdR;;?&UelPpudU-lN#*V<|?RrQPo4^j0t7XCj|FEvUb37>TW{k(kk61rWI5 z8VF0@z=+r*?XPVC3C?j3^oPE|v!N~|fZ(zbCz~>`W=lb5Z1v7=QhWv!eo6Bc=Zo+J zfPM`xxGhrCefK}FU}UjGufONcbI=nd0!x2G#;{WKVwHVO=*+WQoqa(7hDl4N_c93>11;R0!c;6pn` z<3Xmn3n+`W1xc6C>=9Vg#{WpFQyx*(EG4^Du8?k8*bQ8GAGd^EUk@fRTYqcOKQaxF z;6+j6*Zxc3)|YR%Ia#Mso{V6AfT=fo#y7l|BWF#W?p*Zb7Ic{Ztiit5pEn#%cUym; zEX_~l4~#g4&$^rFehBx2oLJjmV;zd!p^}KLTXJ#~B?4+vZJd~*T3{uYzh4O5qn!Vm zNJVzrLr{mig!=Fv z@xA(Lk(I|me*!?JfR_s=LW^-k=Ugay@h>%k{t?{LCTClL=>Qa~P?!AXmrD@^n7uH- zQ2LljX+qI?a~bsg7@qHom^7qHxfRZwK;U-2eQ(v2#d4>1_zK*JMXk5oqX#N`#7Ry1jpeQa2#jHiOUWh;o29}k0VeB#nktk^Q=q!^qpP)Q(k<#y{4Tqveg~V zE(sOrllR1W1Rm7kWjO1Ii2Y8haImwUDSAF66^Vr#LRL8*cD#r`0r?t=o(iS?A`Jhb zn8 z6e{j=S|_hCe28-(gV5l^>MFSA0tQ{V>N3|JqE8SiJ8PZITZ9J7z3zn`65woi5aOE_ zEM$;p6gkM1pg-;Abe2k&|14Kp1eo9SMt9Xcw{~*wmsY(f?c5D zw_6(~Pm0>6ZrT_W8@IhRTyyy_BYXgXgT76>&2r~39~`7_+V@ktAoiMY|HfT}8Lo&r z1niUgD6GWT-;9}rNxZ^<06tqB*u3?ngtJZe$18Bf z7iPLnz5@=In+S(v7WVk0>c{6grg_DmwnX&aWm+d&3kjy(HdJbz3=Jd{s`I^D#W+GR zDO&3;&LPjV{;UWp(cu+KM5Iu2YjQ1W(&pBD%us&o!G(0fkT;P;8G-6@tA8_IZpQk> zy@c`{k}9uic*8_y%n3~;Q!z-`4MmnZUR=u0-*}(#^H;7tmy5rH`NX09RBF&+2}q1h1)mx*qtr#UU7A}6-bH}Ojji&Ck;f8 z55>4YWWYvC4-@@jqykqXzZMsI+>K&~yeu`@27c~)09^BHI&Vq*`=VJ@ySY+NO@~f} zv8^AFZI^K>(uk_9v8gucO!~>u00$w8gi>b$lHVu=^zHDo4g`RW4l^H-<>*R|Y@53) z>a#WgKZ8Z`v#@fD_z}OpI9D{DjgYm26;-#4{isPWpiqVA0~ZJddjl1C?oM-8;SJbx zxy+?_uG^o{4{v(T0TDIaxcu7{slDZVx(rGfGoli)mhmN{1OEd*p*;76dO4nA4eiAW zl8q7YMtP05RBuc@6-wx4?DRsOc`-AWgR5wIcy3%dRiujMISN!uM{?9Mj0wE$Yi^E> z7zQc-PI&tq9QIxh7CyJo*y1gLW8$p4auuu{g5NiN#VfR@;jMHc5Ei@>92{H~RwuP9 z=L==b8*aJ$I3JHt^>`+%TAc&29*kV%OJja1`N0s?iOK2ge*ZD!T&kjAaI z?BGB)6IKOm;HEPVo+E7W$km{e@{C{I>yDnSgwzXViUrObP8ON*sVsFZBPdMwl}f&L z)lmn}9`Bb>u{X33+;G);Bc{Zd3)*pSDa(jrK)Bh~6D4h{Kn-P(yZmy`ptn+GJkl-Z z8Ab)F!53{PbOXvVZY;OPMr82JtKVp#n&&bn@QwGK;{v>D|6IL3Mh)dLRhtewiml2TT+oHVrd;r7kLEvp=C!dA=ADvUnb6xl^*};f5@TBkS_% zVHQOY8{%(_X~dtWs%!_8@e_;(U@zf{jI5fWx7|*U0}oF~@CVBk`3*nTb_OGK(M^k% z5OG2wI#7=DVS#m!pZ7&<#&)PXr<=44thL|`hEM_u#Q)SlL@KR-h3)nXeo+P$M@r@t zwn&DMqgocZC&EL8jBm|$uySxm*cofH_&7sSRt5P?J(Sc4mOCwMy5I`8PB|5s9(#zOSvG)bh4(N_#xYGi04xBDw zevVFFpO>qOEkd?!qx9|C7lmHW9N0lUn_mhbaOZ?#bH{eEZawmyU(I{#8`t$lOI!C^tUtW(S;8__CS0g&`xs*@19s9^gRQ;)zL%%Fx3*(gp-JxHBLjstLjcA|+-@$p-kC z@J-e7D(5fBZQs%-0QEB1;|^iGLCAxYQcbxBiQV;G+csYO%R4V!AgFWJe%5>+HPZnG6eNkBQm!Pf@oSsL@am z%Thlr{$6rFC?IakGS3yOgQBa4(R!fgsB{;Qb%vZYxcv;P?QN=ZXgaHj77;4MI7WymQ%WArrLQ#}uF)^eTqMs)!xdD0ZPFWt zKNCjZkvtY|R7OQ7CkcZg0M`sU@@D;M$p7@;xl{9C@IQ<*spfvIFuG zC6lki&r+V1GwETK&L4zLSf^~)>o&gL8BpX51$lz#rFnXrSWD>Mub+M5Tis&_1A6Q^ zwY^W^r%+Hi6A;u}hX~Fv+#>@;hglmEUM)X*rep20`Zp48BIy+O+OItpPChGp#e2sm zx?g}*UtlK`M-zFf2NWAEfkpmSage735;sQ(hAnfc<_8^^PRK?9;kax_=BA7N^^}+q z&MG<16tae7Ox=#!p*r}3nxS1u`eFS}7MO=!KzA(K4V%c>#8WX2lWLr85kcjnThJr- z%6sm_-9sWSOl}(euK_+E-;w&J0DI2?j5lq+9lmG zdfqN;=j7*_UWL++ebL`>;mmFhy)EpmMRz!LJZUkJ?udT5*2b_;z1)s zZdQ%tyf36T8k1U2p_=9vFk%H9&J!ZI6XaMxC4_lZ@J`!KAJ^RgeS6!xyY^R(7qdS- zp!aQ`))7TjdbO?@MF<9axX)6ko>CT%iP$QWVVw8yIu%h16!TrKzn_Bj3)%8`eM`{@ zB8)G&SGZ?w4JJ9T1vGRv3iB6>uz3<5RItvsP?&SbNIR>w#B@eVC(!Irv{@qE8na>R zmZ5XJ(u7MISlkOX`gRh0Cr+YOVAG%P) zs7{EmOLm~bw;F}IM6%t)EOUJn)!Bz55tI|L3`*&Ia9)wtO1p=Zzbkkp5S*Y4D6q^- z$_E~qxJ!o)q(beg$teD^M+SVe-GN8yDEO~CBTU>pp=Wa?&vB^Fa`h$RiEy}(h8Q++ z(%fDb_2*W{dC%*L_MfOr_WOF~Aa>aacts3TAuS`%y7opzpv_5f<(~^0lVnbNEI#9r zvN*DzWw25sWC}rnlI12G+|MJ|+fE%-9ct3#*f7OtfoHBF6W{FDqWv`skP{ghtubJ=}&BZWjr)75bXm;bUK*gEXr z49xa*!i|Ep`**RVjV5zEvLY~nxr){T`p-$=AtJwHm;)A@c_F@0fgI4t|1ygj;DXY4 zA*TB~^NIVECZge7G2L)ngb$V>?_@#8>%iwidl3l#mGA=gOvmoMJcq86iCR5VLbFZe z($PWYC4B%N0Wl|CRxw~M0V97E3YYgoX?FLBq?c>5>-dv{emwJ%OPoX#^Tts>E(K47 z&o>N@(lI#_a2HZD-jcNZ91)zN-xRqKu6HAa%2iBo$kq`SRc9y#%o)j|)p!EHG35A} zpZJ7&ski(FoSJ#708mXq{#T2c-vORhRvwm?UN@e~H<}e?U_u#+Xy)Vd4WKnqbW>uv zvb4G3bhCz)EcjUKL|{n{3?C*ZPo~eN`bluWKZH=UBD`q0e6V^QsyiP!c~Yf=tAh6UT%Sp#2=gVJ2j9{EJ^BCW3|Pd zpedIK<1!?g-v^T{J;o&Wck&B#dHlC;I5t;Ub^gQbwQLGF6et_)&Scs7!ZMb zxHwEK9h|+zQxydpu__tphc+~d_X1QUb)+&rfQ|PIPn^7=RD@0JRu>7029zSirWvsW zn<&H>8qm*lYppC)nJidSk2g^Fzv0IM*+5HwFh5{;)B9Q9wY9p2+Ow=jE!iqacUZvj zX7>g8RaLr-;P?%L7SYjw;j{6Jj<I}#F05CxHs>9ZR-#ugtM>Tn@K7qmhpvzk?~dvPkPrlH7BD4_Nb~H7{>KIk@G}#!B!C`-xSkYl_$KhoN6-zU|s6|JN#nZ@N0cXkzmjb?s+yqqW*h~%n*zC~dUNz5#6 zikRos^6V*ADp_%_!Oi=8jH?njkw_$0y=EU10ViE#V!fnXp=SVQBbz9jA2KAx-7plj z+e0^H!Z8a1fOpP*+s?!Tw&*ANh5)iqPxXS~-C68w3>p4EoLjurFZwbXEOWd`tu&k5T<>e@55<03u_)B{=CSf28z|cz?dC?Y3UH$Slv*}LkJwL zuyY21RSz%jafwnySf5Ap6=7aq2T$++6n2imnZVp0uWj45wY6>Awzqm}yWOpAyWQHh zZMR#S&)xTax*zV``z@JCGG{W$nVjT*e)0Pp#wT|CXnSgeL$gXBYmEFxE+;tu8(rKL z-SsDgBT;p8w9!n$Lbu?SSl}j4PW$oGZ53YTh*u1MaR#X9`}p0qt$Pk+pe8x|mAyyQ zLZ=!VKrvM}2VX9NG(%r*hEh7NQngRcT3TM!L7kd8x{6zl_0DWv8RJEK(2h6RQA znWpV(z}TmDJb?mY%xv6$OGRT0rYiF>_;Wn!f-`D*Dvlf_V-5~9eYc?kU$CM8U$8r) zqz3qT3i#8;eoANz`VJ^-KL9dPGPHivX!N_q2EU#EXM)(nPmC zn+j{WuhD~E*)2yAP9p-=K6QfAgv`O`;eV@J7&lpe&{?9V?RTaWX!RFfj>LzvRj&HB>)HN(-TM3*uu)AhvClu7& z>?Q(s1I>1r)Y9i?4RQ&m@Kh?TA5@GShExHC#KC27U=j>WY5vroP2J3UgnK?a7u# zR&Bt0A{cp6=Or@2U}kp)#v$lRU-p>|A4e#7>Z*_u3Myw5%ieA<^FTNv|ALV!A9|2| z>%wgGAs4zL{IzmMxrB-Os{`@vCZ@>B9k|Xfu#sT6NU31u;zm!*-RLMR{8$9MEv8OH zHNWs$W|xLD^IEahs_I|Ok%A7!zmJb?t~p^u{}NqnVzfr=O-!-jIx$0nk1mypjpam} z30`9DkVzZ_<~oyy`DY>^3&`~o?CA-5vxJQ-;|-9p<)v(-VJIm5+-C?sQW;TT^LJ>1 zrWlk`j6RaVv=rwPp+)*;lW-Dq3gbx}e>})H5pKZaL{Md_o&0&RhwcPpY4Xe81UEQ? z-cHp%LLF=Ql01kSLGuidWY}CdNn!AUrx9tIa75RCN%oVE}(jtF4Ls(tMhGj zOfv~a0-ZcPKF>9tLe-J@@K+u|uh&I1D|2)Rm`^Jd%CDN%#%eVZc%}+;?s8r`l?I|U zxTvh~h^%T^7UrTh$lqtj|H41hQvlKV?&HI*ty5e#u<;()o_(vN`6e_zbIXG*+7csg z|59fuCp-PUyfs{v=&f2%Hl;Y+j?Rsn&z4xKJHGO*ZsPK(R10Ed3ZlddywY^DN(F9i z>2?E~Qv+Ao!tSaVn+FuZU2pr9$L}+@svD6p8<|CXCAA+e4RJ8Z7jiSCl#?zMt&?y) zNEciWd6rE75_Xzkt z-G9DzEY# z=>Ci9j_OJ5Qjt=Ga>5Jc`B2@;UYwY0FBYF(iQuY>fysp6-OP)?6(LVUNPz@$!dtRx&N04f%Cbme-31%u5MZ^ zfQ@19Qi^WFDVY`NfUebADG|GDX_0%_*1dX)Y09&;8i9-M79`I`J+lv20U9T=P)>>9#r?6_R;dSeSKp9RAltr(fxPIA z-)OU1sUg3JvnE|}h4M)z&nJ4{@04PFuk(~z?bUmCG#A41bG&(HUPha1aAnm}*U6v3 ztTN$v!B_ri-ZPG6dW@(}Ve$Jdx~yXJc{croxTj)wPl8spZIr5P9v^XaUc1+}rI4e? zZk2h^Hi*M+(!&VPQRh3C3AZ$A%dihBFyJ9keI6;C(AvO&zcPfivZh8EQJj&CmJ2T} zvN(*JogQ7P=@0OtunKvKRm#}M4z=0#iWq6gDT7>i@dbq5S(%%}*mB%ojaHe;1$)nW zoAsjau81BphRPd{JWcXN-{gg-$aOD1uh({&*JsN%|1W(sD@tT(~ z3d{*rd&D9wdfH__fBdZ6p=q@%nViUgVA!c{nUVP?=_hVnuwjFv&iPGW^I%ysUu)1U zl=6C&?RIUy134DPbB^(lG@Qmxi@MdXh_YW1lm~*L7zuv4!Uinde>#DXDcl}9+Efqz z_?-lPY7S8Yq?8t<_flXM(RZ&_=w{LM)ZZ+q<)*9vi=eO>JTAjVAMg!#%qB1tOXwl8 zdH2`@gYoq>!Rl9dHInl4qkthi%%ON(yO$Qvc;pk`3DiXc-f*-li!7XL$T49~Vq>;@ z20Zn6P*u=!Qc9F6R9v{UsPfmH6z!6MEbC*6L4F^tfECLvlZj(hoh}zW;oP^oUh{al zSC`6pnJ0~x$ev%^xiA5s!{w>GQu!oRSHX<=7(h|<1U0olD(k97n-(w%I7a0_(xD1n z$=DhGf`J_QhJqXre*%zr;>kcpM-Mn7XGjBS>_HN1PvRGcQAj-W8MIW-A5iu@DpTn! zU5EX&Mb2GIAv{zOK%;NVQt2#Y3o~3R^dVDj0WgWR#)$WP{0EFl(;E9VVCm$;{K2}R zjbb5$C35XWTbE1ovI?Sx+J7#(u+l){mu*oBN#;lB!a#-}ez2rgy+RMXe}jM=>p$^; zgBlqL|~QwS%N~MwGToXPT)Cgi)&Yok(dz#CYHkhLJ}!$#7n0&=tKare;2k&ifr-C zHAsR7XNL;IxG%IrR`M(J$U`M=<-k=#YQPB0*a4u8lmMO4XR#+Jm`## zD8j0gGC2qnyZ4|1tl&)K;kQ^*1SWJKZe~M24|F~O<>A76kH2>1`C5U^Db9QkV_>HJ z`T0p%TgF4UhIXVjl)pqL_a9~#DyGdH9|gcr0+Rpid+7-0xe&hI4E%k~O0o0n9uZ%i z{GO~G#O-9sBPvZ(R5GLc_nk>)(e|5Ibn(8bxpgpD%SOXH9BYQW39x| zh^3RnEQ(ecE;m*GzpA+i8gx%wnS|M*}&;YC+c>#E$%{^8UyfRTiCjV&_Tqu~?mfhSMUENfz z+4hNPyS%y0ALy=9eu=QVB<#y>jVWQj{+n(Dgx$iYUtMYWm3ZR#GcZi7PHcd&fdx`; zuN(e5NN3ZBtZo4|W`6ixXiPZqA9VuycCWWa;Jx=Q(U?14D z3IKTkj!J%OxzRuGHcGvv1HI4+zk5~TdzxI6#h-!{%sUk6>`@@cu27lPqCT=&x=}`c zfJyZ;qxTLLCDkvJ2a4V$&W4+spRA1`fq*0Dp^inOymcrCO0|!Z^%lwNVcYfxt#CVHEe1e$?Xv;EVT8}$bFho~!f zxmUGw$Pah(nq}4jREm_6ZaFAo zf%E|x?&8|~x(`|KA&@o9d5{{8*0z6V+@Yfnz2P%#1s%k>(D$#0e}R^b75er-FKm;KXKXi+$o2G5s<*u9npdF0=(CU~ z`ZL1D)4Y@I8K_3|6x1IhXHuHoR=l*~l^^>L?1?87)QIwf`B-#{xAXX_t_g+A0%C*y zR81vTruJ)pJ3Qx?%g6RrGG7PpyGGysl0hnM>+TBL&jR(q2^yerKzE0Lwm!o^{EpD5 zHvsg$P}HMQ@a!*AGZy${Sew4b7?&P0^%pK+1ET9@YKzA3fKuV|I`}__fVMYbe^3z z|LkaGkGFI(No1MeN0o9aQ2Db*?nmD(;gl(656P z@N|0BG+~BPVN0;9$;RWIInQibe(=oTm@Ml1M1roGmRhEml8NI@@F+6|4JO+gZ0E{~ zcx@%IRAe_lp%=Ux)k77gLy1pa$_c|dcK^7AN1Ed+oxsf> z;+$^?*r0g=)xQhui>p}Gs0&;b@|)(aVmy@E8Squu)%91gF4k8eD{u5Kzr-TZC)>T$ zo;fvfbLsd4K3A{i$6ARF!ECdh^6b05n^NjMK6*7tHN{2~GppZn5tXo(1u_s@SS{e; z#j;KS^xs14Hk>)}PrU}Avm%{ABQFw}LiAM%y2@s>UpLsTCjgwqtNm9I_&)qMfW-Id zy)D-X&>*yClXyvD8$TfHS*flSz-I{Dl!5WIAzW?l%F-SJc$xUVA%huPzYvpwaNPm~ zdk=uT$ZCQAHZ|(A^jxAiN8?TOvfuTm+6KACCMEgiaLae@RlGPwQ7VQ13Dvr=o6SP~ zQ~i&zx`8qzA%ajQG*G!3snS-Zv!Q}o8OEFgM-eY+slSQj_};m0$?`ipJ9G~LoClHJ zV`#C$5tGKg#Q_@M&N?>xg{wqp8zWzl^L4E^x*LfQG06se%}!C{k&r@j!BF!!^U~fs zVW7=St*qsiD4ozapRi3&_!2&bZEhv{L}+o7p|LExF7~U3qXyxvNVrhc$AR~P zOc>qyvPPt4YKKPUa*1{vlisufPA+3|ox2d>og7l7T21^H@t`tr_bl?^Ofc)Q((c;f z-`dFIjFeaHi#(V!7mTcI$jH5_Eir9{+Vilm z&f?^dAX!<&lxW~|2vYy^r;84gS*CrZI=jtINa|>C6x8FbfD7j=@RSn(Ce7(JK}i@= z`fAE7jr}MJPz)FzAkY&=3KEQ2 z*j$L{5#ha&@S9@O-#x)cEtuj;UgIHn)$e1J=smaq!(QzRCmHf#&tN%B7Pc)^mbey~ zm+R(E6!*(w?Lmqx77?}=C3bVzK-Qh*d^zjpHD(CZX z9Xf~wcV8(>3)U?IFcKb!eoTt*e{r7qUdeX5=-AJ`Z#^hiWj@`;pDHv(P&6>pg@PV4 zHM5r+q2C-GK|o<%T;LUbm=lLu?Ji56X<7lz0YmQ}-m$KTvO#c3GaX0ccjFJ};Q8il zWmZdmo>hueTH(zIiN`|C`(0)%O%o3Z2NRw7C6hp=!jKX|0ult4f)HMr zXm2!`DUl}JX?)D>MYqDM&IRu+@^mp;=<{X&hDcK<@dgR8gEl53Z{y%en6Uk z&$OXsclko5FySJ3ag3wF(1+ZfY?CKRFdhXHK(GZ2R2;TLkQ-u17-R+Fc`l01>iz>! zPQ1W)HB+jy-Gg01rJg3$A>U#TQL-2K7&7hI*qHfPv_SPlNF3c0YUpMqh$E1lh9SX6 zFGhg`G-zK{fY+GmaxeYi$QY${6%ko*&WEsZS{KAuw6e)eeIwrp1vT+;{7`mjq>}|j z$2MlkkS>zQV1SUFb82aaEE`2s6t1h7{&m+OE0*58g)k}iZ z#y8u*l42uK==MmCKnm*WEQ+XefDQuxkZU~)FOI2LPs+utC9$%97OeQ3D@xb;*qE#b z(nm+0dW%Zl08}Zehi^c|fzzj}R|y}z1wG(NqILcV9v|zo)8!pdP5_$}!?-auOf}NoJNk=fUEJ zoGT@XWQm7Y{t3@>T^iA^4v8JQB6eqkx`}|j@U?{KFSQl`+-3EkOF&GY(%Jb^HGX)_ z(<1^dzG(w@Wvu^YE&Q69JwA{)_V3)P@U!KP$uWH>)JPQi()q9_=rLH!1V&h5>m1XDbqr8rjC^x5Cr)i{T+IX8!walOrVvy%+u|q?e-F&lYoICPi z@!!MV%=iZPy%2mjDg5aYDDBwURzXPNmMga?@NH5XlvWTeN`#!yFWl>H3j8MYxa5)o zyQD;pda?)lktc|e_R=@C7r#W4cPmCyz;B!Kf9_FUf$p@XDZs*N^RJJ&U3V^#-lw~l zewT+(OGCsKopa+65$_8tZU5d3y&45R`h7+WAfKlrSp=YXS;!baeC2)Kzvd|p|BD&W z1fikVdZfD`;g4m{2ZxOssYgw+>N$Z~7k6Uz0JF6z;N%0aIy3I+-*wFjGh@$P9*oyF z@DWSy@Ro7#`2%2Y>@FUPMhE6~)DQ)1qJIX)H=cWc{##gks(O5koaH~*x~a}a(ztTB za#g98-+x~%P~}=$e2T%lJ8V}K6_9>^%V<VI6`9ow?56U*VhX+p8R-Xi;nY4V28@GIUc>YI zN*#TwKz6C*U3LnKO}^V(xN3iTCP`M)&QLZ3H=21+{Y8N@()}kD^aK%8!h8V_ww3VG z`TZN_$NtHbzPH$jG~=frQ#J?dw<2t2)Dl6GFfiUT0%=w41c)8vR3nGQ;3aQ>4J^$e<@5m<#qp^XAoN>xYL?q) zD;lf>Di(6Cc&oUw&m11SiXYu-qDnsK_k+McSriThp&PP&!*e2D7x$|v)*abj1ynf0 z9*BG-c3@t&-A&S#WAcCeFS|Z@D_0oJ3Z!@ zi_s~4z{^sdv~02NMXmq=8pPN@F4lPEL6vs(LD4Hs*Y3{Gw#BNp)wad+>5peNa!mNx z7%w@n>x@7pi)bE@1#y8DF$MNW*8R#;yKD=UST_^Dr00$OW3@@Mh?r8WVC-60ciLKk zzj+lJ=F|R!Y#XnAHFhu|X8YQjOMd;cJ@Pej_xCdFNBwkhoPtPhgQM)KIeDNxn9f`O zbU^ddPwah7+EpI2A&S_=NIUvM#02)NNZYb-RhcS{{P6aE^Ldc=#5Fjy&a_e(jaBom zK}67Ttav`qZj?_JdVIZCPJ*-T-%fl;SrmNs_K0>)Ed{pg4d1L6+-*-%lNWu56OvAN zg!Zt9J`yY=rD>)UGYN(~F80V-+gnR>z6y~S6!{xa>il86RHO=goyNZDBJO=JjazKT zHRW#%>Fx_;Cu)+mCCvVuh8GoqFLLF3tgvPNBc}e;WC=c`F@fq302)Vs2G@ao`>lLx zGUD+dkZEc_G?D+bQqreHw*m7}Q|SB|&moSKV4K0LWtkH)26);F_ci;{^ETMVo@u?0Y;bOw zvb*Q26Cq;;Ruv(UGeQ-ryQRPT1wsr;^?Ch!kZ9Vyyn3yyF)0llO9_IlO#fu@jV*dH zF_dRmzS+^#6-vgMcsC$ywOd%yYf8rU!>es@XlFZkjd^KAKsU|6ajp{K(Jq&2Q}CTy z6zWGWoBJ}tE*Csp;7+%%k8gTbpLr>Nv%amsQ;VkIE7p6?3w9AF8g8y+KIixH8Ldl3 z1ZrVtQc0iHMNXYuNKHSE-mx&|5itxU3z0ip_?7fI+?i~>>3ui{Ix~un+KP=@vgYC~ z_=`t+adZ1;q6ro_V z8CFQkrR#8hbuJ`6oUe%R6^9F+=6Nliv1#<(Y+lL6IYMetCv0v;ASB=XZ&@qVW}}|f z^QWscr?}YX$+mE*k7XT3uhzE(B&8d>W9I?=H|`ZAcueQ>(qKLG@sP~Q1Xr&jjh3Tr zBPu+*17GwwmbXi%J;LgNBKj-kRq&N0MXb}_+cg&)Jv@_{w$gtGvT>L1pTJ08CA3`3 zK-2fZX>u4ChF3HJGS`(%aByd-($~$KMPzi}*m&m#MrgqlxA%nlE;%##H=?S$n}kw0 ztRc^+J{hP>7A<|w8+BWV&GCI5{)s(mm^Fjq@aXW8BrstjPRCUCz}WSV4#Kl;TKIqz z&D&D&5jdVaUYEQ8O#*fLq%X52$=CNe$#aWTzzELj`yI<P&c}7kUGY8C8D#pGuXIBDn!0-nP5?m!O3i^=?(xq?98h9O*AmZ&w|f~m|Kv;HH6-9MSV#<$`yc}2 zV9yF{f$Oq=A~}n(e9W7QtMSak^CCyX?#E6z*DqHSg=)n03MM9d?AXBa9n6|r zAR!_@$i1NX^FTE~>o_d_f(nCx&eV7_rJzhvr?FS$>6)d}B@Pn9Sw)<7i@PUKZm?Rf z*t}Pj+o)%|O@@yMvvMM*yoyHIE*0YKFu@2pQJdfUM0KKTC&rh-gT~9{oXo&pqC2sp zz8sanleVp1P=k$Or8HnUbFPu){&zA3?zE-HTq>o7yg7w}*)5H>gETx6w~MYKW(~;9 zjCkS_O|(9@MOe0HFospNnB9$4*c$Bz+Y~zG$KwSV^Qy92iOVS+3ItPyd0d<6p#&a? zd(_4myQ95~A$pR*$3UK^>8PAYOvI|@u)3&nBvfTs83>=3FP+Yy+vd~nOlQyL)K>0& zI$x5wR-NfGn%g!=+|Y6rwd6{Q$aFep6#f&Uiyj3DH3TF|9Oi~pUJs=d9;Vl|p>S-u zS7?w_rcM_jt`NWyMvq7gSB-;56+Y-$M5FvxRkehIr$(yL6XEKihqyLZ;u$u%LAoN;=WH0Jp+1iatpMDjy$g!#fF*b*cOi*C*7`<56r ze{r>8?HI|F#1CT9IfYtB_|rW&gJP+f;4yPFKaGVjYh=@sKBKeWP>Tpx4Ijo-U2bMo zc^T=KFM~Rf%tmb}+B$93h|W>cHq+DO$#$kUXV9av%2*ef=*dG}l-Q$hT-P6jcQ|wr zkN3?*-Y(n5FqgrI5MFCi@cbe3CQIN;%&AL8tgJn>9hWs5=19B0+FzOk^@u>CaBLnJ zTKI?9VClSyR9dP4H(WU`g&WU3FJuWKKY`%GQ{N3_+k0Np7@#hxfXg6+#7sm+Y~X3j zg#Y6mU-Jd?dwN4{m>WGDPiumk`(uFd#5v7-{A!(zVPt{f*;}GXry$8_Qvs)DC9_7q zR@r*&;zM1MY*N%)?vcxTHUjY)+DV5|;3{B=?&mM8Ptk1Jk`6x+H%9m%eO|rrO+`DX zy=D^V$LXm?mq(yDWV(K&vUE64mgZ+SCvsQPOHa~uNU^t|cAkp^xF%}5(!JLt_ zi4Lcj&y9<)Y3`F8-}AIF(>QDnL0Jq^@A>sTfwCt<5P2w7JJ~K2Z%D&AcC)f?+vPsS$*CLKhi>@xWi`20t;18k} z?JkWx{nSXyo=SXFGzRxpYZP{y&(Ww&ayj$!$2O`?ba1BHO-Kd<xgEujiCxNCu%pSl*AyQa`Q zn-6plOTnR!^e7GaZnm8BbNWeX@Rg?Z#5&_dOkVO3#^ZF{Jm6jIs@bO zn`uvMYeoi;GCCYSidWLj6&p!il0IukLFdB1+LAM)t#AbF&%GZsV0Z6q1E(jWB@?UL zF8G$4A;G8@0yT)`R54nj%l!f$s7ZPDuJkZG6E~OPQs!DiCWGPFg(<1wtrWo+*{Nj` z7V;~JhuP}lljPv1V7{~uzdvbm1DjY?-(B^#2}+tvRfRy2{-sz{NCkW}_&TeD+XQ5b z`p7P+4pR1d7X)}{?Wep;`SYI{;Z0wJ{K)ybEaE2Q!;!m?Yo|L=Vn7QyeDoIu#h>gq z75dUZ+FpT(qU{vcr|8;8%EB^CT}Nk@lRfOnu*V|5F#OVN9}0(W&?4LNA>bOip(%fM zj&TKxgMHSjz{Go-eJ!hxYV$zH?f%VFy+e(O40uiXE_)6_j8xWjaGD2+`4)g@YPF2%AmVhx;J16-V(Pxnz^htMYedJ-%;f zPnCqcIu`9`T!OSZ{U=sb>|Li$aXm3D*)+%jiRm4x)#}NmLwx*~2+i(xb+?Vu>xjrj z$I<$an)_6YN`(Qt^HO~tUMMi5e!7qWB)aPL1%SyGl}Klf@Kftk3WA(EM#qC-z|gYrt@YM9fDu_i+T4r*h9S@B3DG&@A%Rds97I^ zL6wd4mEJv>G`p|Dm`wY-_Jp)jl<2=8(VNBuKYF16^*vRcwBBf&Y%zlqWxd5IM7bii z8Nat93Bjq2s|jX!*$?-{p?G046GyBa+w$o)X)5k|5-0iH?gEtM3U?paL>vY?XlIAn z+MnmFe%c&j+ryk``GGGGjTs6Zteujc6(#0iZP^{J_-K9##dG8n@w#U|wWET1blN2b2y6vWsLP&}k_Y!;m~rOE*J|1{c#Wk$MHW$=TBO(Zt7cJCFuXD~pZ9P>-b%V!`}Ur!_g>F^ zAGo)8d)d`dqCRAkjIr2Ni+PB!jnts@rn`lM#R7hy{L;~xWS2HI63KEHl!2*>u}VZk zJ2!~Lwknw{webrNU5~OQclPMJXm=f7#Z^QfUzM@Ng7_1`=p)fi)=~pMFg%6p$`glP zqxi%xhU%uBt+xE^1&8kI8xPipM!)s9CTCp1C0ECq#>i-w4?#?Y+lb_X|Ke0@RbVMj z15f{mN2(|a8!1{L4tXeVWHjE*#?A!MHm+okN%HyV3nW8f{?u@1`6gHo57Nr|uVx84 z%=nSbAoBG@41E`!*YKD^@tc)G@|4OP)ItbPT&%aJ`W$O>M5PHm%NW-sx`i*vIR2Qj zWq*|D5Ikd{PeW*j{XA4XjX%JnB=m||ORL*lBxNN0o~bz3SJy(L8|zHrw3j+v$SHs< zky_|gxbcX^F4H_#))4EMUD{vCSjt>e<#(%`VLkMy)$X6fpEQ7FxPJ_}(asi6Hf%9Q4ccPRp%gu(&e_KS_(aZYeY9wwxReU6u>&% zj!FWC4CZd^AQYYgI-} zLR@XWfqC0df!rLVFI5yNu9|(Od@d$9B>^;)#CodjMZ92bNNLnatTKMC@Tt%obm@H^ z@U?93TuhQK8TqO&FCdLcD-PHlxu|drlz%41fYM6sD>%Fx7&fMzZs;ZlwPF-+k^0z~ zsolvP^1|2WT0~#$H+I<=*4H#%FCKkMCYj#8Dt?$OM%pv8jSDY3CjT`8h`pZx3?X#` zY39to%?bgs)zLzgAla7h3B0tE-)5wq&{@~EQji3?E_{_KgWn9B@t$0!Zt z+WufHat3N(>_xg*EcD14$4HHCH95&seHnv6m`i2N_q?nsLK#Nf8dvIqzmnwNg!S&Gp088{7z(bH`p1E=2UJOE zWJiGOaR_(|8b7n_n73>()s3c1!!F(lri$huxhv%miEz3+o=l$+WL98%et-A34#VJP zo@jvC7&Qq_2+k_16I28Rymm=x41YU5cecyh2(q0jpWwxWpD=tzs7~s;>gXrga`h=@ zITs85#EBSAFYS*Kcuhx~Eh0!=G9j%)Hs^KAG3*piYEb?ysrjiGdTDIDFq0+BHEO

^rO|UuTy;mnqH`1?8i9vJrUqtrCnAq-hKzUF_6I7rNI+~y zj?%R4^_8B#{Fke!xU*ZDO$%{GdNYxKt{xNky`w&n&99lw(2-$dGB5DxsrSHa0J??=0cu zn=FRT+oq4o2WrovC^?$Du%raWWW{hdnr}f8`TNRs+n)*aE9{UWg z=qrhvTX`o(q@b!V5izLd_|-G8GjYj&8{1JEFHthMV{A4PPxBPAGE8#6f6+MiiS822 z7npfO1td8eK}(%A_9F2^pq5Lx55Bot=pjf8#kv3P;tTK--`=yXZ~U80Y6%H+xC;XTpQRZ z*ua0jCo9P0Q`G$5r753 zO$(K(NMOewLg!Y=lJQE;$3{I$jiM{veKb4{ngyJ@WGwu(NBg6Vg z9jZLML2#>VeKhk}=85`vAQ7A1<{SKCAx8&EY(X-yZ*(Dh>-XU*rmZ(AyL;7I$ zBLkJCRDNPyJ$%vc1JNGiL$y*HdBCJKVN4D2{-9Dl{s}c&UNJ^Vd+$a?YW30d57uGjZjX0UV{`i_2RbocMf%B53x1Ge&x9s1B+EeOE z6t+sPfaVDa#ofnMoq^5Y>r~h;L#$Hp*J6a7gZ;OsjCO5pKM#C9cCQTdoHn^I0%q&> zLLnmsRN}iC`?<`8@i8s~|KXj?|M-fipd~|P2OxvINJ_c%hE3<4#94RncxIz*mRv;1l3I4d`YzOr6sLgC6D|q z>fZ3NQ)9d$ojh}H!w1|9Ade+>^tjWG6CPa9)8|fe(k!WA8+t@|ox~jS#aQpyJGr$! zTT2N4n!zpwBD-krQM3R6(AnSSfr9Xzr}HPbeCrT%aGQP8o*y*Qc}C?YC?gW>k|f!a z_z9HN!hI3<1?T#&GyvxZZ)inO1C=^b)~rwFoqH3_y(|$4EHSIwU7|>AN$F}e9x>)! ztN2831UgaBS|zl-nvrib_!@|gC^DHahC!%Ha-`e-@4`)r^l!DkMXVP^%*8x8XC$ZB z=6h^R-KGD_SJn#%>|4H!CC^h(F&}EM3{gMY&Sk?>N8qW z7g*;qF4rh}QHyfpB1}vW>_ADs&5x{3u6@L$rjfANCNT!6R)YOKgu z-r(5CCc7V@d72RobcXtB&(lcEKa~4@0`{)(Tft;2wVg%KDm@rXuu|v!og}|WZDR`( zfAAZf5+xIG3u@ZgdQ~u;@GezaTWp(G@$wzSUUtufeQM}a14(QX+87Lkh z!N8J`AaoS>N~T`sWZiCWQAK*<{2P#y^{@P01|ZZfR)j@^+@o#}7%==;NvKXRu5i%U z^21N2*p#?f+I~UcJ`Kfo!Zh@d&~xCo+J>lBHXbU1z~ng=%JM!tcJKdujZg_&?F|ml1vEnbb*sdLXxjzVf)|8fb zj4%2lWF{8g>Cp9%dPrY|8}w> z&)MA_vIjBU7S))>I9~YEC%FW*06t22%iDf_u@3Keq+40>*&bmN{)p_Gxn=sRft6%t z2+&SUJPOE;y>W8*d;v-@MFQu<{iHE^SE-{u1FdKk+@XBl9iFc_1(J5d^i{0}f2`Fb za@h|8;5X+cO4+B)0M<0ik!Ff}tOqdJt zMJq5P1sn6X15pv39ifo^zy?etnrf?H4Z#obi_VGNoyybQWD^}-I0cZZvVB|*Hke8W zRe}%UUlCU_0vrj&R=QvYyk9_m$7YY{-Z~bCy3p@dZ>pE(2w8>xcp=)Eji3UaUtePh zG{SlhM>B|24|*`=u3Uar{=>dBBbrf|PwrrKX{(6l0on?CXmCu9M2tk|In-seuqC6; zXxE7Q3(NN8LL{>**?{)N<x-hI!Cf=K9N{4WIG09z&_nKAXXa zM;x*Vp}Y5~ZA)KxUAqM$`7ppyS7=*|%`3*7Haj$S!gux8fjJ@IlO9poo8{W4IYO`* zB0x^@>HLCi0whrh2X7tm$arfMO9O1kP?m5_o`qLtw;Sufn|TR!IWXly(4-xd!fg;| zdD$TT^hZC)u=7ZByqo^?CgK`MlVv6=l~QqZxiuiW$BIjSgfoe7pwUk zuqXT}lQSu=m{-iN2nnv3^9@!lxtgjLCVW7jd}HFey*l{V*F2MJwYu-+>TGMY8%&3z YG3hm{|JTCtWeW0x6p9uI2{_1q0aQAtEC2ui diff --git a/lorax-templates-anolis.spec b/lorax-templates-anolis.spec index fb36e1d..e533209 100644 --- a/lorax-templates-anolis.spec +++ b/lorax-templates-anolis.spec @@ -1,36 +1,29 @@ -%define anolis_release 9 +%define anolis_release 1 Name: lorax-templates-anolis -Version: 8.3 -Release: 4.%{anolis_release}%{?dist} +Version: 37.0 +Release: 1.%{anolis_release}%{?dist} Summary: Anolis OS build templates for lorax and livemedia-creator License: GPLv2+ URL: https://github.com/weldr/lorax BuildArch: noarch -Source0: lorax-templates-anolis-8.3-4.tar.gz +# Copy from https://github.com/weldr/lorax/tree/master/share/templates.d/99-generic +Source0: lorax-templates-anolis-37.0.tar.gz -Patch1000: 1000-lorax-templates-anolis-add-loongarch64-support.patch -Patch1001: 1001-install-kernel-with-version-suffixed.patch -Patch1002: 1002-correct-images_xen-tree-info.patch -Patch1003: 1003-tmpl-update-kernels-for-aarch64-efi.patch -Patch1004: 1004-shift-default-boot-number.patch -Patch1005: 0001-add-BOOTLOONGARCH64.EFI-to-support-new-firmware.patch +Patch1001: 1001-custom-config.patch +Patch1002: 1002-add-uefi-parameter.patch # Where are these supposed to end up? %define templatedir %{_datadir}/lorax/templates.d/80-anolis %description -Anolis OS specific Lorax templates for creating the boot.iso and live isos are +Anolis OS 23 specific Lorax templates for creating the boot.iso and live isos are placed in %{templatedir} %prep %setup -%patch1000 -p1 %patch1001 -p1 %patch1002 -p1 -%patch1003 -p1 -%patch1004 -p1 -%patch1005 -p1 %build # nothing to build @@ -45,29 +38,5 @@ cp -a 80-anolis/* $RPM_BUILD_ROOT/%{templatedir} %{templatedir}/* %changelog -* Wed Aug 03 2022 Wenlong Zhang - 8.3-4.9 -- add BOOTLOONGARCH64.EFI to support new firmware - -* Fri Feb 25 2022 Liwei Ge - 8.3-4.8 -- Shift default boot number - -* Thu Feb 24 2022 Liwei Ge - 8.3-4.7 -- Pass kernels for aarch64 efi - -* Thu Feb 24 2022 Liwei Ge - 8.3-4.6 -- Correct images-xen tree info - -* Thu Feb 24 2022 Liwei Ge - 8.3-4.5 -- Fix efi templates - -* Mon Feb 21 2022 Liwei Ge - 8.3-4.4 -- Install multi kernel boot entry - -* Wed Dec 1 2021 Liwei Ge - 8.3-4.3 -- Remove grub2-tools-efi from loongarch64 - -* Fri Sep 24 2021 Liwei Ge - 8.3-4.2 -- Add loongarch64 support - -* Fri Dec 25 2020 Jacob Wang - 8.3-4.1 -- Initial version for Anolis OS +* Thu Oct 27 2022 gaochang - 37.0-1.1 +- Initial version for Anolis OS 23 -- Gitee