diff --git a/Botan-1.10.17-add-riscv64.patch b/Botan-1.10.17-add-riscv64.patch
new file mode 100644
index 0000000..c2da72d
--- /dev/null
+++ b/Botan-1.10.17-add-riscv64.patch
@@ -0,0 +1,7 @@
+diff --git a/src/build-data/arch/riscv64.txt b/src/build-data/arch/riscv64.txt
+new file mode 100644
+index 0000000..6e5e0ff
+--- /dev/null
++++ b/src/build-data/arch/riscv64.txt
+@@ -0,0 +1 @@
++endian little
diff --git a/botan-1.10-add-ppc64le.patch b/botan-1.10-add-ppc64le.patch
deleted file mode 100644
index 05794cd..0000000
--- a/botan-1.10-add-ppc64le.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Naur Botan-1.10.8.orig/src/build-data/arch/ppc64le.txt Botan-1.10.8/src/build-data/arch/ppc64le.txt
---- Botan-1.10.8.orig/src/build-data/arch/ppc64le.txt 1969-12-31 18:00:00.000000000 -0600
-+++ Botan-1.10.8/src/build-data/arch/ppc64le.txt 2014-05-25 12:59:22.030001491 -0500
-@@ -0,0 +1,16 @@
-+
-+endian little
-+family ppc64le
-+
-+
-+ppc64el # For Debian
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-diff -Naur Botan-1.10.8.orig/src/build-data/cc/gcc.txt Botan-1.10.8/src/build-data/cc/gcc.txt
---- Botan-1.10.8.orig/src/build-data/cc/gcc.txt 2014-05-25 12:44:19.580001491 -0500
-+++ Botan-1.10.8/src/build-data/cc/gcc.txt 2014-05-25 12:55:57.750001491 -0500
-@@ -83,6 +83,7 @@
- mips64 -> "-mips3 -mcpu=SUBMODEL" mips64-
- ppc32 -> "-mcpu=SUBMODEL" ppc
- ppc64 -> "-mcpu=SUBMODEL" ppc
-+ppc64le -> "-mcpu=SUBMODEL"
- sparc32 -> "-mcpu=SUBMODEL -Wa,-xarch=v8plus" sparc32-
- sparc64 -> "-mcpu=v9 -mtune=SUBMODEL"
- x86_32 -> "-march=SUBMODEL -momit-leaf-frame-pointer"
-@@ -98,6 +99,7 @@
- sparc32 -> "-m32 -mno-app-regs"
- sparc64 -> "-m64 -mno-app-regs"
- ppc64 -> "-m64"
-+ppc64le -> "-m64"
-
- # This should probably be used on most/all targets, but the docs are unclear
- openbsd -> "-pthread"
-diff -Naur Botan-1.10.8.orig/src/math/mp/mp_asm64/info.txt Botan-1.10.8/src/math/mp/mp_asm64/info.txt
---- Botan-1.10.8.orig/src/math/mp/mp_asm64/info.txt 2014-05-25 12:44:19.620001491 -0500
-+++ Botan-1.10.8/src/math/mp/mp_asm64/info.txt 2014-05-25 12:45:01.580001491 -0500
-@@ -13,6 +13,7 @@
- mips64
- ppc64
- sparc64
-+ppc64le
-
-
- # The inline asm only works with gcc, but it looks like (at least on
diff --git a/botan-1.10.17-doc-conf-2to3.patch b/botan-1.10.17-doc-conf-2to3.patch
new file mode 100644
index 0000000..e826ca6
--- /dev/null
+++ b/botan-1.10.17-doc-conf-2to3.patch
@@ -0,0 +1,38 @@
+diff -up Botan-1.10.17/doc/conf.py.orig Botan-1.10.17/doc/conf.py
+--- Botan-1.10.17/doc/conf.py.orig 2017-10-02 08:00:00.000000000 +0200
++++ Botan-1.10.17/doc/conf.py 2021-09-11 17:57:38.159934955 +0200
+@@ -40,10 +40,10 @@ version.
+ def check_sphinx_version():
+ import sphinx
+
+- version = map(int, sphinx.__version__.split('.'))
++ version = list(map(int, sphinx.__version__.split('.')))
+ if version[0] == 1 and version[1] == 0 and version[2] < 7:
+ # Exit rather than throwing to avoid a confusing backtrace
+- print "This Sphinx is too old - upgrade to at least 1.0.7"
++ print("This Sphinx is too old - upgrade to at least 1.0.7")
+ import sys
+ sys.exit(1)
+
+@@ -66,8 +66,8 @@ source_suffix = '.txt'
+ master_doc = 'contents'
+
+ # General information about the project.
+-project = u'botan'
+-copyright = u'2000-2011, Jack Lloyd'
++project = 'botan'
++copyright = '2000-2011, Jack Lloyd'
+
+ # The version info for the project you're documenting, acts as replacement for
+ # |version| and |release|, also used in various other places throughout the
+@@ -214,8 +214,8 @@ htmlhelp_basename = 'botandoc'
+ # Grouping the document tree into LaTeX files. List of tuples
+ # (source start file, target name, title, author, documentclass [howto/manual]).
+ latex_documents = [
+- ('contents', 'botan.tex', u'botan Reference Manual',
+- u'Jack Lloyd', 'manual'),
++ ('contents', 'botan.tex', 'botan Reference Manual',
++ 'Jack Lloyd', 'manual'),
+ ]
+
+ # The name of an image file (relative to this directory) to place at the top of
diff --git a/botan-1.10.17-u64bit.patch b/botan-1.10.17-u64bit.patch
new file mode 100644
index 0000000..ea90706
--- /dev/null
+++ b/botan-1.10.17-u64bit.patch
@@ -0,0 +1,12 @@
+diff -up Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp~ Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp
+--- Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp~ 2017-10-02 08:00:00.000000000 +0200
++++ Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp 2023-01-22 13:01:38.984150336 +0100
+@@ -91,7 +91,7 @@ void GOST_34_11::compress_n(const byte i
+ // P transformation
+ for(size_t k = 0; k != 4; ++k)
+ {
+- const uint64_t UVk = U[k] ^ V[k];
++ const u64bit UVk = U[k] ^ V[k];
+ for(size_t l = 0; l != 8; ++l)
+ key[4*l+k] = get_byte(l, UVk);
+ }
diff --git a/botan-aarch64.patch b/botan-aarch64.patch
deleted file mode 100644
index ffb6888..0000000
--- a/botan-aarch64.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: Botan-1.10.8/src/build-data/arch/aarch64.txt
-===================================================================
---- /dev/null
-+++ Botan-1.10.8/src/build-data/arch/aarch64.txt
-@@ -0,0 +1,16 @@
-+
-+endian little
-+family aarch64
-+
-+
-+arm64 # For Debian
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
diff --git a/botan.spec b/botan.spec
index f4af8fe..975d0a8 100644
--- a/botan.spec
+++ b/botan.spec
@@ -1,54 +1,43 @@
%global major_version 1.10
-%if 0%{?fedora}
-%global with_python3 1
-%endif
-
Name: botan
-Version: %{major_version}.14
-Release: 3%{?dist}
+Version: %{major_version}.17
+Release: 51%{?dist}
Summary: Crypto library written in C++
-Group: System Environment/Libraries
-License: BSD
+# Automatically converted from old format: BSD - review is highly recommended.
+License: LicenseRef-Callaway-BSD
URL: http://botan.randombit.net/
# tarfile is stripped using repack.sh. original tarfile to be found
# here: http://botan.randombit.net/releases/Botan-%%{version}.tgz
Source0: Botan-%{version}.stripped.tar.gz
Source1: README.fedora
-Patch0: botan-aarch64.patch
-Patch1: botan-1.10-add-ppc64le.patch
# Enable only cleared ECC algorithms
-Patch2: botan-1.10.5-ecc-fix.patch
+Patch0: botan-1.10.5-ecc-fix.patch
# Make boost_python selectable
-Patch3: botan-boost_python.patch
+Patch1: botan-boost_python.patch
# Fix wrong path
-Patch4: botan-1.10.13-python-init.patch
+Patch2: botan-1.10.13-python-init.patch
+# 2to3 doc/conf.py
+Patch3: botan-1.10.17-doc-conf-2to3.patch
+# Fix FTBFS
+Patch4: botan-1.10.17-u64bit.patch
+# Add RISC-V (riscv64)
+# Upstream in later versions:
+# https://github.com/randombit/botan/blob/master/src/build-data/arch/riscv64.txt
+Patch9: Botan-1.10.17-add-riscv64.patch
BuildRequires: gcc-c++
-BuildRequires: python2
-BuildRequires: python2-devel
-BuildRequires: boost-python-devel
-%if 0%{?with_python3}
BuildRequires: python3
BuildRequires: python3-devel
-BuildRequires: boost-python3-devel
-%endif # with_python3
-
-BuildRequires: python-sphinx
+BuildRequires: python3-sphinx
+BuildRequires: boost-devel
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
-%if 0%{?fedora} >=26
-BuildRequires: compat-openssl10-devel
-%else
-BuildRequires: openssl-devel
-%endif
+BuildRequires: make
# do not check .so files in the python_sitelib directories
-%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so)$
-%if 0%{?with_python3}
%global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so)$
-%endif # with_python3
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
@@ -63,16 +52,10 @@ flavor of the library.
%package devel
Summary: Development files for %{name}
-Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: bzip2-devel
Requires: zlib-devel
-%if 0%{?fedora} >=26
-Requires: compat-openssl10-devel
-%else
-Requires: openssl-devel
-%endif
%description devel
The %{name}-devel package contains libraries and header files for
@@ -81,7 +64,6 @@ developing applications that use %{name}.
%package doc
Summary: Documentation for %{name}
-Group: Documentation
BuildArch: noarch
%description doc
@@ -90,26 +72,8 @@ BuildArch: noarch
This package contains HTML documentation for %{name}.
-%package -n python2-%{name}
-Summary: Python2 bindings for %{name}
-Group: System Environment/Libraries
-%{?python_provide:%python_provide python2-%{name}}
-# the python2 package was named botan-python up to 1.10.13-1
-Provides: %{name}-python = %{version}-%{release}
-Obsoletes: %{name}-python < 1.10.13-2
-
-%description -n python2-%{name}
-%{summary}
-
-This package contains the Python2 binding for %{name}.
-
-Note: The Python binding should be considered alpha software, and the
-interfaces may change in the future.
-
-%if 0%{?with_python3}
%package -n python3-%{name}
Summary: Python3 bindings for %{name}
-Group: System Environment/Libraries
%{?python_provide:%python_provide python3-%{name}}
%description -n python3-%{name}
@@ -119,28 +83,24 @@ This package contains the Python3 binding for %{name}.
Note: The Python binding should be considered alpha software, and the
interfaces may change in the future.
-%endif # with_python3
%prep
%setup -q -n Botan-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1 -b .eccfix
-%patch3 -p1
-%patch4 -p1
+%autosetup -p1 -n Botan-%{version}
# These tests will fail.
rm -rf checks/ec_tests.cpp
%build
+
# we have the necessary prerequisites, so enable optional modules
-%global enable_modules bzip2,zlib,openssl
+%global enable_modules bzip2,zlib
# fixme: maybe disable unix_procs, very slow.
%global disable_modules gnump
-./configure.py \
+%{__python3} ./configure.py \
--prefix=%{_prefix} \
--libdir=%{_lib} \
--cc=gcc \
@@ -152,27 +112,14 @@ rm -rf checks/ec_tests.cpp
--with-python-version=dummy.dummy \
--with-sphinx
-%if 0%{?with_python3}
-cp -a build/python{,3}
-%endif # with_python3
-
# (ab)using CXX as an easy way to inject our CXXFLAGS
make CXX="g++ -std=c++11 ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags}
-make -f Makefile.python \
- CXX="g++ -std=c++11 ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} \
- PYTHON_INC="$(python2-config --includes)" \
- PYTHON_ROOT=.
-
-%if 0%{?with_python3}
-mv build/python{,2} ; mv build/python{3,}
make -f Makefile.python \
CXX="g++ -std=c++11 ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} \
PYTHON_INC="$(python3-config --includes)" \
PYTHON_ROOT=. \
- BOOST_PYTHON=boost_python3
-mv build/python{,3} ; mv build/python{2,}
-%endif # with_python3
+ BOOST_PYTHON=boost_python%{python3_version_nodots}
%install
make install \
@@ -181,15 +128,9 @@ make install \
INSTALL_CMD_EXEC="install -p -m 755" \
INSTALL_CMD_DATA="install -p -m 644"
-make -f Makefile.python install \
- PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python2_sitearch}
-
-%if 0%{?with_python3}
-mv build/python{,2} ; mv build/python{3,}
make -f Makefile.python install \
PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python3_sitearch}
-mv build/python{,3} ; mv build/python{2,}
-%endif # with_python3
+
# fixups
find doc/examples -type f -exec chmod -x {} \;
@@ -200,10 +141,10 @@ cp -a %{SOURCE1} %{buildroot}%{_pkgdocdir}
rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo}
-%post -p /sbin/ldconfig
+%ldconfig_post
-%postun -p /sbin/ldconfig
+%ldconfig_postun
%files
@@ -244,14 +185,8 @@ rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo}
%{_pkgdocdir}/python2-examples
-%files -n python2-%{name}
-%{python2_sitearch}/%{name}
-
-
-%if 0%{?with_python3}
%files -n python3-%{name}
%{python3_sitearch}/%{name}
-%endif # with_python3
%check
@@ -265,6 +200,193 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./check --validate
%changelog
+* Mon Jan 12 2026 Jonathan Wakely - 1.10.17-51
+- Rebuilt for Boost 1.90
+
+* Fri Sep 19 2025 Python Maint - 1.10.17-50
+- Rebuilt for Python 3.14.0rc3 bytecode
+
+* Fri Aug 15 2025 Python Maint - 1.10.17-49
+- Rebuilt for Python 3.14.0rc2 bytecode
+
+* Wed Jul 23 2025 Fedora Release Engineering - 1.10.17-48
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Tue Jun 03 2025 Python Maint - 1.10.17-47
+- Rebuilt for Python 3.14
+
+* Thu Jan 16 2025 Fedora Release Engineering - 1.10.17-46
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
+* Wed Aug 28 2024 Miroslav Suchý - 1.10.17-45
+- convert license to SPDX
+
+* Wed Jul 17 2024 Fedora Release Engineering - 1.10.17-44
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Sat Jun 08 2024 Python Maint - 1.10.17-43
+- Rebuilt for Python 3.13
+
+* Sat Feb 24 2024 David Abdurachmanov - 1.10.17-42
+- Add support for riscv64
+
+* Tue Jan 23 2024 Fedora Release Engineering - 1.10.17-41
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Jan 19 2024 Fedora Release Engineering - 1.10.17-40
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Jan 17 2024 Jonathan Wakely - 1.10.17-39
+- Rebuilt for Boost 1.83
+
+* Wed Jul 19 2023 Fedora Release Engineering - 1.10.17-38
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Jun 14 2023 Python Maint - 1.10.17-37
+- Rebuilt for Python 3.12
+
+* Mon Feb 20 2023 Jonathan Wakely - 1.10.17-36
+- Rebuilt for Boost 1.81
+
+* Sun Jan 22 2023 Thomas Moschny - 1.10.17-35
+- Add patch to fix FTBFS.
+
+* Wed Jan 18 2023 Fedora Release Engineering - 1.10.17-34
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Wed Jul 20 2022 Fedora Release Engineering - 1.10.17-33
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jun 24 2022 Jonathan Wakely - .17-32
+- Replace obsolete boost-python3-devel build dependency (#2100748)
+
+* Mon Jun 13 2022 Python Maint - 1.10.17-31
+- Rebuilt for Python 3.11
+
+* Wed May 04 2022 Thomas Rodgers - 1.10.17-30
+- Rebuilt for Boost 1.78
+
+* Wed Jan 19 2022 Fedora Release Engineering - 1.10.17-29
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Sat Sep 11 2021 Thomas Moschny - 1.10.17-28
+- Fix FTBFS on F35 and later.
+
+* Fri Aug 06 2021 Jonathan Wakely - 1.10.17-27
+- Rebuilt for Boost 1.76
+
+* Wed Jul 21 2021 Fedora Release Engineering - 1.10.17-26
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Fri Jun 04 2021 Python Maint - 1.10.17-25
+- Rebuilt for Python 3.10
+
+* Tue Jan 26 2021 Fedora Release Engineering - 1.10.17-24
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Jan 22 2021 Jonathan Wakely - 1.10.17-23
+- Rebuilt for Boost 1.75
+
+* Thu Oct 01 2020 Jeff Law - 1.10.17-22
+- Re-enable LTO
+
+* Mon Aug 10 2020 Jeff Law - 1.10.17-21
+- Disable LTO on armv7hl for now.
+
+* Mon Jul 27 2020 Fedora Release Engineering - 1.10.17-20
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri May 29 2020 Jonathan Wakely - 1.10.17-19
+- Rebuilt for Boost 1.73
+
+* Tue May 26 2020 Miro Hrončok - 1.10.17-18
+- Rebuilt for Python 3.9
+
+* Tue Jan 28 2020 Fedora Release Engineering - 1.10.17-17
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Oct 03 2019 Miro Hrončok - 1.10.17-16
+- Rebuilt for Python 3.8.0rc1 (#1748018)
+
+* Mon Aug 19 2019 Miro Hrončok - 1.10.17-15
+- Rebuilt for Python 3.8
+
+* Wed Aug 14 2019 Thomas Moschny - 1.10.17-14
+- Remove dependency on OpenSSL (for F31+).
+
+* Wed Jul 24 2019 Fedora Release Engineering - 1.10.17-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu Jan 31 2019 Fedora Release Engineering - 1.10.17-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Jan 30 2019 Jonathan Wakely - 1.10.17-11
+- Use %%{python3_version_nodots} for Boost.Python library name
+
+* Tue Jan 29 2019 Jonathan Wakely - 1.10.17-11
+- Use boost_python37 for library name
+
+* Thu Jan 24 2019 Jonathan Wakely - 1.10.17-11
+- Rebuilt for Boost 1.69
+
+* Tue Sep 18 2018 Miro Hrončok - 1.10.17-10
+- Remove Python 2 subpackage (#1627321)
+
+* Thu Jul 12 2018 Fedora Release Engineering - 1.10.17-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Mon Jul 02 2018 Miro Hrončok - 1.10.17-8
+- Rebuilt for Python 3.7
+
+* Fri Jun 29 2018 Thomas Moschny - 1.10.17-7
+- Use ldconfig scriptlet macros.
+
+* Fri Jun 29 2018 Miro Hrončok - 1.10.17-6
+- Rebuilt for Python 3.7
+
+* Thu Jun 28 2018 David Abdurachmanov - 1.10.17-5
+- Switch BR boost-python-devel to boost-python2-devel
+
+* Tue Jun 19 2018 Miro Hrončok - 1.10.17-4
+- Rebuilt for Python 3.7
+
+* Wed Feb 07 2018 Fedora Release Engineering - 1.10.17-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Jan 23 2018 Jonathan Wakely - 1.10.17-2
+- Rebuilt for Boost 1.66
+
+* Mon Oct 2 2017 Thomas Moschny - 1.10.17-1
+- Update to 1.10.17.
+- Remove obsolete patches.
+
+* Fri Sep 08 2017 Troy Dawson - 1.10.16-2
+- Cleanup spec file conditionals
+
+* Sun Aug 13 2017 Thomas Moschny - 1.10.16-1
+- Update to 1.10.16.
+
+* Wed Aug 02 2017 Fedora Release Engineering - 1.10.14-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 1.10.14-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 03 2017 Jonathan Wakely - 1.10.14-8
+- Rebuilt for Boost 1.64
+
+* Mon May 15 2017 Fedora Release Engineering - 1.10.14-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering - 1.10.14-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Jan 27 2017 Jonathan Wakely - 1.10.14-5
+- Rebuilt for Boost 1.63
+
+* Mon Dec 19 2016 Miro Hrončok - 1.10.14-4
+- Rebuild for Python 3.6
+
* Sat Dec 10 2016 Thomas Moschny - 1.10.14-3
- Add -std=c++11 to the compilerflags (needed on EPEL7).
diff --git a/repack.sh b/repack.sh
index af5cd56..05356a2 100755
--- a/repack.sh
+++ b/repack.sh
@@ -1,6 +1,6 @@
#! /bin/bash
-name=Botan-1.10.14
+name=Botan-1.10.17
src=${name}.tgz
dst=${name}.stripped.tar.gz
diff --git a/sources b/sources
index bbe1e99..236fef4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-55fb6734ce039c79ddac939af9a176dc Botan-1.10.14.stripped.tar.gz
+SHA512 (Botan-1.10.17.stripped.tar.gz) = 9fc356ae042af56667ceb8430006658fe8a0c8ef2d00eb1961645bf3082e41c6850a781cc0e0672d68da1e9094532018a51465e5b2e84115c9f0af75910a9eac