<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/156587>156587</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash when compiling gsl 2.7
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          res0nance
      </td>
    </tr>
</table>

<pre>
    Experienced a crash with clang 20.1.8 while compiling gsl 2.7 or 2.7.1. Only crashes with an optimized build. Debug builds do not exhibit this crash


Stacktrace:

```
 clang: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3637: llvm::slpvectorizer::BoUpSLP::TreeEntry* llvm::slpvectorizer::BoUpSLP::newTreeEntry(llvm::ArrayRef<llvm::Value*>, TreeEntry::EntryState, std::optional<ScheduleData*>, const {anonymous}::InstructionsState&, const EdgeInfo&, llvm::ArrayRef<int>, llvm::ArrayRef<unsigned int>): Assertion `(hasFullVectorsOrPowerOf2(*TTI, getValueType(VL.front()), VL.size()) || ReuseShuffleIndices.empty()) && "Reshuffling scalars not yet supported for nodes with padding"' failed.
 PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
 Stack dump:
 0.      Program arguments: /home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang --gcc-toolchain=/home/raihaan/.conan2/p/clang8e06efd24263f/p/gcc-runtime --config clang++-raihaan-libstdc++.cfg -DHAVE_CONFIG_H -I. -I/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src/matrix -I.. -I/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src -DNDEBUG -DHAVE_GNUX86_IEEE_INTERFACE -m64 -fPIC -O3 -MT minmax.lo -MD -MP -MF .deps/minmax.Tpo -c /home/a
 kuna/.conan2/p/b/gsle8db90c23554a/b/src/matrix/minmax.c -o minmax.o
 1. <eof> parser at end of file
 2.      Optimizer
 3.      Running pass "function<eager-inv>(float2int,lower-constant-intrinsics,chr,loop(loop-rotate<header-duplication;no-prepare-for-lto>,loop-deletion),loop-distribute,inject-tli-mappings,loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>,infer-alignment,loop-load-elim,instcombine<max-iterations=1;no-verify-fixpoint>,simplifycfg<bonus-inst-threshold=1;forward-switch-cond;switch-range-to-icmp;switch-to-lookup;no-keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,slp-vectorizer,vector-combine,instcombine<max-iterations=1;no-verify-fixpoint>,loop-unroll<O3>,transform-warning,sroa<preserve-cfg>,infer-alignment,instcombine<max-iterations=1;no-verify-fixpoint>,loop-mssa(licm<allowspeculation>),alignment-from-assumptions,loop-sink,instsimplify,div-rem-pairs,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;speculate-unpredictables>)" on module "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src/matrix/minmax.c"
 4. Running pass "slp-vectorizer" on function "gsl_matrix_long_double_minmax_index"
 mv -f .deps/file.Tpo .deps/file.Plo
 mv -f .deps/view.Tpo .deps/view.Plo
  #0 0x000000000227b008 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x227b008)
  #1 0x0000000002278cb4 llvm::sys::CleanupOnSignal(unsigned long) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2278cb4)
  #2 0x00000000021bfac0 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
  #3 0x00007f9be7339520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
  #4 0x00007f9be738d9fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
  #5 0x00007f9be738d9fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
  #6 0x00007f9be738d9fc pthread_kill ./nptl/pthread_kill.c:89:10
  #7 0x00007f9be7339476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
  #8 0x00007f9be731f7f3 abort ./stdlib/abort.c:81:7
  #9 0x00007f9be731f71b _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #10 0x00007f9be7330e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #11 0x00000000043636e9 llvm::slpvectorizer::BoUpSLP::newTreeEntry(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP::TreeEntry::EntryState, std::optional<llvm::slpvectorizer::BoUpSLP::ScheduleData*>, (anonymous namespace)::InstructionsState const&, llvm::slpvectorizer::BoUpSLP::EdgeInfo const&, llvm::ArrayRef<int>, llvm::ArrayRef<unsigned int>) (.isra.0) SLPVectorizer.cpp:0:0
 #12 0x00000000043a51d7 llvm::slpvectorizer::BoUpSLP::buildTree_rec(llvm::ArrayRef<llvm::Value*>, unsigned int, llvm::slpvectorizer::BoUpSLP::EdgeInfo const&, unsigned int) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43a51d7)
 #13 0x00000000043a73a4 llvm::slpvectorizer::BoUpSLP::buildTree_rec(llvm::ArrayRef<llvm::Value*>, unsigned int, llvm::slpvectorizer::BoUpSLP::EdgeInfo const&, unsigned int) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43a73a4)
 #14 0x00000000043a7a62 auto llvm::slpvectorizer::BoUpSLP::buildTree_rec(llvm::ArrayRef<llvm::Value*>, unsigned int, llvm::slpvectorizer::BoUpSLP::EdgeInfo const&, unsigned int)::'lambda'(llvm::slpvectorizer::BoUpSLP::TreeEntry*, auto const&)::operator()<llvm::SmallVector<llvm::ArrayRef<llvm::Value*>, 3u>>(llvm::slpvectorizer::BoUpSLP::TreeEntry*, auto const&) const SLPVectorizer.cpp:0:0
 #15 0x00000000043a5a31 llvm::slpvectorizer::BoUpSLP::buildTree_rec(llvm::ArrayRef<llvm::Value*>, unsigned int, llvm::slpvectorizer::BoUpSLP::EdgeInfo const&, unsigned int) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43a5a31)
 #16 0x00000000043d9892 llvm::SLPVectorizerPass::tryToVectorizeList(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP&, bool) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43d9892)
 #17 0x00000000043ded20 bool tryToVectorizeSequence<llvm::Value>(llvm::SmallVectorImpl<llvm::Value*>&, llvm::function_ref<bool (llvm::Value*, llvm::Value*)>, llvm::function_ref<bool (llvm::Value*, llvm::Value*)>, llvm::function_ref<bool (llvm::ArrayRef<llvm::Value*>, bool)>, bool, llvm::slpvectorizer::BoUpSLP&) (.constprop.0) SLPVectorizer.cpp:0:0
 #18 0x00000000043e0be8 llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43e0be8)
 #19 0x00000000043e9bfa llvm::SLPVectorizerPass::runImpl(llvm::Function&, llvm::ScalarEvolution*, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*, llvm::OptimizationRemarkEmitter*) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43e9bfa)
 #20 0x00000000043ea8c0 llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x43ea8c0)
 #21 0x0000000003c0a41d llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x3c0a41d)
 #22 0x0000000001ce76a6 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x1ce76a6)
 #23 0x0000000000d0db1d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0xd0db1d)
 #24 0x0000000001ce7fb4 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x1ce7fb4)
 #25 0x0000000000d0df0d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0xd0df0d)
 #26 0x0000000001ce9dbf llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x1ce9dbf)
 #27 0x0000000002536cbb (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
 #28 0x000000000253b39c clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x253b39c)
 #29 0x0000000002c39908 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2c39908)
 #30 0x0000000004644afc clang::ParseAST(clang::Sema&, bool, bool) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x4644afc)
 #31 0x0000000002f611b1 clang::FrontendAction::Execute() (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2f611b1)
 #32 0x0000000002edc97b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2edc97b)
 #33 0x000000000304f42a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x304f42a)
 #34 0x0000000000c818fa cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0xc818fa)
 #35 0x0000000000c79098 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
 #36 0x0000000002c89f39 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
 #37 0x00000000021bff21 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x21bff21)
 #38 0x0000000002c8b1f7 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
 #39 0x0000000002c44fdb clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2c44fdb)
 #40 0x0000000002c45fef clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2c45fef)
 #41 0x0000000002c56555 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0x2c56555)
 #42 0x0000000000c7eaa8 clang_main(int, char**, llvm::ToolContext const&) (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0xc7eaa8)
 #43 0x0000000000b6eb8f main (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0xb6eb8f)
 #44 0x00007f9be7320d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
 #45 0x00007f9be7320e40 call_init ./csu/../csu/libc-start.c:128:20
 #46 0x00007f9be7320e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
 #47 0x0000000000c78bc5 _start (/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang+0xc78bc5)
 clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
 clang version 20.1.8
 Target: x86_64-pc-linux-gnu
 Thread model: posix
 InstalledDir: /home/raihaan/.conan2/p/clang8e06efd24263f/p/bin
 Build config: +assertions
 Configuration file: /home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang++-raihaan-libstdc++.cfg
 clang: note: diagnostic msg:
 ****
 
 PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
 Preprocessed source(s) and associated run script(s) are located at:
 clang: note: diagnostic msg: /tmp/minmax-e36d8b.c
 clang: note: diagnostic msg: /tmp/minmax-e36d8b.sh
 clang: note: diagnostic msg:
 
 ****
```

Attached minimax.sh
```
# Crash reproducer for clang version 20.1.8
 # Driver args: "--stdlib=libstdc++" "--rtlib=libgcc" "--unwindlib=libgcc" "--gcc-toolchain=/home/raihaan/.conan2/p/clang8e06efd24263f/p/gcc-runtime" "-D" "HAVE_CONFIG_H" "-I" "." "-I" "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src/matrix" "-I" ".." "-I" "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src" "-D" "NDEBUG" "-D" "HAVE_GNUX86_IEEE_INTERFACE" "-m64" "-fPIC" "-O3" "-MT" "minmax.lo" "-MD" "-MP" "-MF" ".deps/minmax.Tpo" "-c" "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src/matrix/minmax.c" "-o" "minmax.o"
 # Original command: "/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang-20" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-main-file-name" "minmax.c" "-mrelocation-model" "pic" "-pic-level" "2" "-fhalf-no-semantic-interposition" "-mframe-pointer=none" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/build-release/matrix" "-fcoverage-compilation-dir=/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/build-release/matrix" "-resource-dir" "/home/raihaan/.conan2/p/clang8e06efd24263f/p/lib/clang/20" "-dependency-file" ".deps/minmax.Tpo" "-MT" "minmax.lo" "-sys-header-deps" "-MP" "-D" "HAVE_CONFIG_H" "-I" "." "-I" "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src/matrix" "-I" ".." "-I" "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src" "-D" "NDEBUG" "-D" "HAVE_GNUX86_IEEE_INTERFACE" "-internal-isystem" "/home/raihaan/.conan2/p/clang8e06efd24263f/p/lib/clang/20/include" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/home/raihaan/.conan2/p/clang8e06efd24263f/p/gcc-runtime/lib/gcc/x86_64-pc-linux-gnu/15.2.0/../../../../x86_64-pc-linux-gnu/include" "-internal-externc-isystem" "/usr/include/x86_64-linux-gnu" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-O3" "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcolor-diagnostics" "-vectorize-loops" "-vectorize-slp" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "minmax.o" "-x" "c" "/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/src/matrix/minmax.c"
 "/home/raihaan/.conan2/p/clang8e06efd24263f/p/bin/clang-20" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-main-file-name" "minmax.c" "-mrelocation-model" "pic" "-pic-level" "2" "-fhalf-no-semantic-interposition" "-mframe-pointer=none" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/build-release/matrix" "-fcoverage-compilation-dir=/home/raihaan/.conan2/p/b/gsle8db90c23554a/b/build-release/matrix" "-sys-header-deps" "-D" "HAVE_CONFIG_H" "-D" "NDEBUG" "-D" "HAVE_GNUX86_IEEE_INTERFACE" "-O3" "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcolor-diagnostics" "-vectorize-loops" "-vectorize-slp" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c" "minmax-e36d8b.c"
```

[minmax-e36d8b.c](https://github.com/user-attachments/files/22109002/minmax-e36d8b.c)

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsXFtz66iy_jVaLxQuWfJFfsiDY8drsitrkkoys8-bC6GWzQ4CbUC57F9_CpBkSXFus5I558yZlGeWxKXp_miapgERrdlOAJwE09Nguv5GKrOX6kSBDgURFL6lMns6OXssQTEQFDJEEFVE79EDM3tEORE7FIWj8ShBD3vGAVFZlIwzsUM7zVE0miOp7D-j8QhdCv7kq4P2BIhAsjSsYP-BDKUV49kIrSGtdv5Fo0wiIQ2Cxz1LmUFmz7SnEIRL_7sxhN4ZRSgEcZ0UzML6Fy49j0G8RJzfF0G04SwNos2tIkLnUhU6iDa_AzVSsf9AEG1uLq7aVzWiZRnEy3gWz1sK8TKIl5qX920pn3QqfytvLq78y60COBNGPQXRR6oJeOjUTA4Vl0qRp2vIg3h1SPyd8AqCaBnEZ0G0QoeaLtc93hhiwGZqk_lkC7cUhAfx6obuIas4rIkhBzJUCm1QMD8lQoqnQlY6mK993XOhjaqoJaBryrNDlbNsB-cil3XiUeaZMHUzR7Mr4dQxQ025hYV9qTUo2yiyXRole6I3Fee-m_SlupIPoC7zKIiSIFre3p5b-jswDp_bpxKCKPn9YpQrKYwrs3C_Ffr9YqRdr9dpKJivgvkKXUOl4WZf5TmHc5ExCnoERWmeOiWtkDMURNE1aFfSqrymhBOlnco-gUG6KkupDGQolwoJmTV6X5IsY2IXRFEQzVFOGIdsZLX16uJseXOGdJUWzCCC7FBQYIkgI9HemFJb1KJNEG12zOyrdESlU-tau_l9gUsl_wXUBNGGaV2BVXFEhEWV8ioDZPZQj-K0HTvRCpUKSiUpaA0Z0rJSPtnWJFpLyoiVRFUCaapYaRzDbvihrCpKP_xQOELu70rJnSIFImpXFSCM5RsF0WYvCzvOFGF7QkQQbUZUCiKiINqUQbRxwzWBcAZ5Fk2iWZzXGSkTTTbCeEcpNlJyuidMBPH6JwhbUqoShhWAMKZS5GxXW43oNIhOcU0Rc5Zqk1GfOqL5DuH1L8vfz7ary18359-3vyB8PkL4_G1erAXaaQ5Jli5CGsXT6YTUyVrRINoUxCj2aOl9BkGE17-uz05_-94w_P3X3_4rmW3Pz87Otue_3p5db5arM4SL2QTh_Op8hfBljPCPW1QwUZDHEZcI_1gj_OMK4R8bNMqgtEpV596WEmHa6Vti9eCuEuSPCn6gTRGWDRfSkh2PUBCvQOZBfIZKojQoRAwCkSGZo5xxsKWiWgkv68lF2cS4TryuhLCjtSRa2xGcV8LZNEuX7EBhJu6d9UlyLomJrDGKVtxaGexMHREGM2EUE5pRHUQruleuhCyt1ZayxEo6-xiv9kAyUDirSs4o8c2cContYCMKcC4V5kZ6q-iqZsDBlXNGyicxbRRLK2fLmbCDGxvOcEHKkomdbsq1k0sQr4S0PILiQO5dMxQyLAV_8u23RQdZnhEmclCYcLYTduw29LkkGQbOCldEGyqLlAnbWkEeMTOgnIQ6iNfjphnF8iecs8dStsZfs6LkLH-i-S6IV6kUlcaWHDZ7BXoveVYTyKV6ICrD-oEZurfgZ0F8Wr8pInaAjcSMWuPTJBuJuZR3VekZuAOwfEtrN0_3kmmDqSwKKVyL2hfy6VY6jbWRCjS2Zto1iHNScWONdXyqmbgbVtcl0IoTAzjlkt65pFo-Xz9VRNC9b-hQuBKlgoxRQ1IOusaFd7rQapR_wQ3MPwW668BKKMnt3H8Z-1TT-EH4gSjhpqSVVpIE8apUoEHdA3bddFwrfpafQmtihwyjRRCvCOfyoYHIjZQzPwjaJnGuZIGJ1lVR-kZqQrZnan4a9INolbF7rKDAJWHKFjWEcUo4r1X43XooJP6QKtqefq6NPVVstW6gTu9VRdvET2njq6q4CKIISYEKaR1E5PyUT5rUOrbdkg2XaDJ6ZpKHI8Ex09hpW2Cn-dbT23IpdttMVimHrae8ZSKDx5p6cY9w3k5ZdoJwE1Yv4YrL50XvGTz0irqEuigKojhE4WPY_EXRPA3DpOvsP2n_cKWYMM5PuvWuVsexV-RhK7VRQIrab3azjXUwk89xloLoNHysubMdWzM_HjCf0HRyjPkVByKq8lLcsJ1dNkRJ66Rb4L-EVctLh9Wox-o4zQkN0cr6r9dA5T2oJ8_bL0Rk3GpLUmPYK7OSwsCjqZd0ofuvbiCuG5jnixTmcbyYRmEtlV8tPiaz7WyCORPVI96JymfQkZajmWN6Ek2jsMPypE8xyRY5RdttaQ0LybZ3jPOtHZZgjZqzdWgURBtRGm5h6RQb0SBeTiZBvJzPGurT91C3c78g_FW68ySIl-MWh9kxut1KrxJLFj1i8yGok_kM7bTrKUdH1wq1Gbm3J10Ps1JqZyUUYRoc5ciuvlvpkz7hcT7PY0RSu0RyhEzmO80lec7GVtam_uJZ_XGKtoJvrdHdZrIgzPcGE05Qm1zoHSWe2Hg8t-y4rrbjKBzIGcJi9jHliRewmNXKYyn2huYknsUzWPxZQYQ_EuJ4Z7jh_aSPByaCKGlDEkiQAnTprOniheCED0s8i0a81XgTxnih-s8EM6wII6YVGVlbgY6Fmlq7ZBUh6isCmY6z-QckcSE0201bBfTDmtBj_-cR7JP77EmjBqcziOIBdvOYTP7G7gXsLDgd7CZD7MgsQqQy8i8CoC8ZRHNOijQjQTTvMfiR4K4LkFlkDs0tGstnF0JS1THDrrA3BWnCl7309yATV_bBRSc-j-M6gvumQZoODRKJx38RnfgCg0TicWdQzfrYZYtkEXVk6GF_RXTtfhv1dCvbjAtm2f-KKd1jkkrJvwILJ2wHi_kAC8ii0DWO-vLewL8rEBSOiDcYAZ0hdV6U_GU8BtN5s6bcKgei46FHuK3cq3ZIXTxD-X-C5Hv0oO7c3tsHtMN7L24ElUqW73Rhkn5PQ5hC8rbWt3ys9oQJfS5OuaR3PYlPiWa0Tl5-XJBPVW8nVUe9FwOhF2lO3hZaVcKpblfKTROaHurtjdtpOruXvPL5AwxuidqBaXc5_b7c0TIXLFVEPR0tsVxeg6640c9yLqQsj1ZZy4IJO-9ZO_-cYBu5WxG6f56_hoKIDLJTdqTNOpjvlsvXUBB1d1YwY-yKf_kl3Wr77dCtUTjoVpLQ8F3d-r4uXQrCnzTTP4ggO-h7Bm2l2oR9gbBWmo6wvUVoTEMyGWcdZjMwhPE6vkW0_iEz4MdZ7uvtM5D-EAb2938G3Bq9Dri9hd2YwnxGZh1mHaCvMfrXx6wGpYNZb0EXZmGWfopCfhnWf_0-8n3Q6aLJUK3zXkz5h9tMuJUNXxb6ZUZKtww6JrWv8CGZ6ypfqJV52lkqR9OhVubhx7SykXH1TqD-ABIvKdX_Ong9fB10ZwOFWmRp_o6xewzTvxhUNRgdrHprqmgaz2iavhUztf7TUmsoUv70C_CycZevK9F1tq5YCdxtQCfNaTrngdM7ENmyNZNt0LcS7N8VbEvTR0SRh235oJiBbbPj1amUgdvd3LrjD_BGxdrEzt7T7K2U_LIyZWU2jMN72xzU6jb4HIOVFLoqWke0Tv3NMH5kTRQlg55K4wXtEoWCmZqE56CP-8qdsAR17k6iUHjO1Upm8B1cF7ot8uHawSgmdna1eMTq1F73a_18qHIujKo0u4dryFfCXA2Qv89rH9hCePOkDRT1zPjnq8o7uu2T9zF9x3ZGaG9ZGNF4sQiT17hyiX5T0y3k_KGI3wQbKMTy5rbe3PwSU1NzehCkv_E9mU0mJO8p8BVRGpY3t302b6AgvTjTl8WbPEcdhvub3flsPE7HXYY3yuLX6ri3jY9A3YGr5Asg9Sx0OOzvcUNGF_MUvTbouzw2QzN5WaQvUQzPZkeKno8eh5N8EpGuFDW_B2HuZX0m7g0L9wXjs2avw33PfQ1pMk5ygigdbwvCxEvhNronqokrt0eoe2nRCt1Lln2JEJ7Jjgx9f5TOF-EiQQ3sq_GtG3Cvxk2fCzSYPiyN2t709hAyxe6PBgHjWd_wJYs8XjhMXg5xutxm66R2yijhPCX0bpsLy-dBX3zLte6sxitZFERkw2F8tPte36g-zJTtLNJW2G7p4-N47F9Sohm1M447nOUw7BW2CVujCDO6yR6QI5zbseB2hJp8W2R5sJPLdqfGVxlsYDWx3aQ5l_MPmR7rjfnwOE0edTdxjh2aab3CG5ID758qeL3jPt_oeIY7Kp8MtCsd53P0_1k7XKC-JMr4GP0LajDwRiaTPEtfhM0ZZPJscmyw7FnvQUVboLfx9r6iy8GWVCvZp3o2TuqDLk3CASjTHPKPgvIPmeqXEfmHTC-YNi-cLnlujlsVKAlT9aGTD4DYXbd8MZQWqw6UfZ-LTmfT6fQltted556PcMQ5eKkL_kQoP9_Dduh0wIsG0zgQUi8VGmekYd7ZkuXzvZ0XJulPdj8cYx2--0HadAZpkiN3oO5zG_aUOw0PDlxGYbYI0XbLWWoNL1Fma72HbXu2j-rq-cnD-mTjsUqjfRAvp-645KxpczpsEyYhcjWYYGbYjH-0tLGj7Q8TRpZk1BjlyewYyZ4YxyQ4SjqeLyzLDeX5QKOSlE6Rp_npSmFp133T3r4EpVyYt74zmtfLE0TrYebvwPnbcfDIrNZmgMbxxHJXaUD4HhmJNABinWXDoRF0D0ozKerrqDbdb3DaRuszmCXtHMO0BdwRVlT4qOwS-aOn4RK5lQfnkK2Z-oR7a-ESnVaMO2OSs52neEqae43aFli5rMpfnvAXmT7twtxbF9l6PSWkcU1njOyE1IZRVGhnIJ0qLQ8_-364s7i8vV2ufkG3v5yhzeXFxeU_z3_9jjbnF2c36PbSJZ_-9h1dn11dXt_W1K6O3ThMtDVUL946bAsoQM4pggwRUxN8WwiLqCnK9hYChniWJemI_lx1dyH5vRg-x7F7YzkIl0tjCN1DhgomWEEePfleoSj2x9uRgzCrKCh3yfSlsWAr-GkWEbWrL2NGGNfHpeN1TymCKPLZyrS5O0rb5Eo8MJEdzfqam5kN-XX90Lt32WSe1w-jYcInXl4ZtPQFTfUF9Rc3j4p_9BZnU7KYTZrH_Op81Txfxs3Tj9v6qb3j2eas26er9mnTSPzs7mdThH4-2N2bQq4N2edZ1nd8rHJfKrZjgvBmRqk1_HMMKI7CVkw6bh6NYiVvVPPYFFOXg4IZLNN_Ne8Z0yTlgHN3RKYmy4EoTLTBKeRSAU59NLjtT8IEtrMCFqQdDkN4CgW8nhqxn9R8RsnaIiWjmMN9mxW1WrInPMdCYg0FEYZRf33UTol-qq2byBUpALuLfNZVXgspWiHygpg9BqVEqxV5XmIqhVGEmiBeHwjlQmIlK5ExscO2XtuC81dV5a4-Es6IBt1W8oYHN1fV1i37xs31mJbVoT_wYQyYSkAncwcC1AGUDNJqtwNli7k1-npnl4V1my4X08NaA2fWK3iHZXtF0d1ZWKyAA9HwzL7kLvxCdvDnNqvAT8KupfeO5hfHj7_-Ujsgm8MIyqAEkYGgT06h3zQsL1sq_aRxc8Ha1R6arb-ni3dOF811Mcy036f7gt7f1N-feLvNSit38Yq6-2HvrvYpfkbNuHNpNkeN-mY8HUWjsFl9Df53vMpLMsCjfaAvQdBWO3KL7L2UfrbpoeOQu6Uc5qxgpk4bL9rMnagort3PIF5PRtGonS9zfcdKLDOF6R7oHWYC74q8Y_O4VPjgMrfj-fCtAn97-lmy5mVLhWSZ0mzXDoHt9vtqtXUjYP3P5fUm2q4259vlzQ93t_tlv8KlNyP4i30b78P87av87av87au8t9kX5v5XZ_yfnSX_2kZwaOyGARJnpwaRimB6Oiw2XQdR8sqXqioNChMX4fDfhfIfYbD_RtE4XIRhdCQ64yJ937KTOFvEC_INTsbz6SyZz-bj-Nv-JAujfDGewsz-pUk2HlMKNE7GQMPFOM6-sZMojKbhIozD6TiJ41GcT2fJNIY4pOmEpiSYhFAQxkec3xcjqXbf3LezTsbT2TSZf-MkBa6bz-SpE1sKp9VOB5OQM230oZ5hhsOJD8487EE8_yTet0rxkz_-La-apfuT6L8DAAD__wsCUXs">