<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/122584>122584</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang crashes on valid code at -O{s,2,3} on x86_64-linux-gnu: Assertion `I1 == PoisonMaskElem && "Expected unused subvectors mask"' failed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhendongsu
</td>
</tr>
</table>
<pre>
It appears to be a recent regression as it doesn't reproduce with 19.1.0 and earlier.
Compiler Explorer: https://godbolt.org/z/vWPhsMfoz
```
[510] % clangtk -v
clang version 20.0.0git (https://github.com/llvm/llvm-project.git 24bd9bc0b59d51c82e9a4d84c21d86d58d0ef6ce)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/home/suz/suz-local/software/local/clang-trunk/bin
Build config: +assertions
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /usr/local/cuda, version 12.1
[511] %
[511] % clangtk -O2 small.c
clang-20: /local/suz-local/software/clangbuild/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:10936: llvm::InstructionCost llvm::slpvectorizer::BoUpSLP::ShuffleCostEstimator::finalize(llvm::ArrayRef<int>, llvm::ArrayRef<std::pair<const llvm::slpvectorizer::BoUpSLP::TreeEntry*, unsigned int> >, llvm::ArrayRef<int>, unsigned int, llvm::function_ref<void(llvm::Value*&, llvm::SmallVectorImpl<int>&)>): Assertion `I1 == PoisonMaskElem && "Expected unused subvectors mask"' 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: /local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name small.c -mrelocation-model pic -pic-level 2 -pic-is-pie -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=/local/suz-local/software/emitesting/bugs/20250111-clangtk-m64-Os-build-025751/delta -fcoverage-compilation-dir=/local/suz-local/software/emitesting/bugs/20250111-clangtk-m64-Os-build-025751/delta -resource-dir /local/home/suz/suz-local/software/local/clang-trunk/lib/clang/20 -I /usr/local/include -I /local/suz-local/software/local/include -internal-isystem /local/home/suz/suz-local/software/local/clang-trunk/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -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 /tmp/small-2771d7.o -x c small.c
1. <eof> parser at end of file
2. Optimizer
3. Running pass "function<eager-inv>(float2int,lower-constant-intrinsics,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<O2>,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 "small.c"
4. Running pass "slp-vectorizer" on function "main"
#0 0x0000562bd646d500 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x4576500)
#1 0x0000562bd646a91f llvm::sys::RunSignalHandlers() (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x457391f)
#2 0x0000562bd646aa75 SignalHandler(int) Signals.cpp:0:0
#3 0x00007f13d1771520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f13d17c5a7c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x96a7c)
#5 0x00007f13d1771476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007f13d17577f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007f13d175771b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007f13d1768e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x0000562bd7f25a4f llvm::slpvectorizer::BoUpSLP::ShuffleCostEstimator::finalize(llvm::ArrayRef<int>, llvm::ArrayRef<std::pair<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, unsigned int>>, llvm::ArrayRef<int>, unsigned int, llvm::function_ref<void (llvm::Value*&, llvm::SmallVectorImpl<int>&)>) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x602ea4f)
#10 0x0000562bd7f9164b llvm::InstructionCost llvm::slpvectorizer::BoUpSLP::processBuildVector<llvm::slpvectorizer::BoUpSLP::ShuffleCostEstimator, llvm::InstructionCost, llvm::TargetTransformInfo, llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP, llvm::SmallPtrSetImpl<llvm::Value*>>(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::Type*, llvm::TargetTransformInfo&, llvm::ArrayRef<llvm::Value*>&, llvm::slpvectorizer::BoUpSLP&, llvm::SmallPtrSetImpl<llvm::Value*>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x609a64b)
#11 0x0000562bd7f92881 llvm::slpvectorizer::BoUpSLP::getEntryCost(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>, llvm::SmallPtrSetImpl<llvm::Value*>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x609b881)
#12 0x0000562bd7faaa12 llvm::slpvectorizer::BoUpSLP::getTreeCost(llvm::ArrayRef<llvm::Value*>) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x60b3a12)
#13 0x0000562bd7fb43e8 llvm::SLPVectorizerPass::tryToVectorizeList(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP&, bool) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x60bd3e8)
#14 0x0000562bd7fb92b0 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
#15 0x0000562bd7fbabe9 llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x60c3be9)
#16 0x0000562bd7fc268e llvm::SLPVectorizerPass::runImpl(llvm::Function&, llvm::ScalarEvolution*, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*, llvm::OptimizationRemarkEmitter*) (.part.0) SLPVectorizer.cpp:0:0
#17 0x0000562bd7fc31d1 llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x60cc1d1)
#18 0x0000562bd79d6826 llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x5adf826)
#19 0x0000562bd5de82ef llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x3ef12ef)
#20 0x0000562bd37a5226 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x18ae226)
#21 0x0000562bd5de664b llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x3eef64b)
#22 0x0000562bd37a3b36 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x18acb36)
#23 0x0000562bd5de724d llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x3ef024d)
#24 0x0000562bd67194c7 (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
#25 0x0000562bd671d213 clang::emitBackendOutput(clang::CompilerInstance&, 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*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x4826213)
#26 0x0000562bd6df1805 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x4efa805)
#27 0x0000562bd8a8c2cc clang::ParseAST(clang::Sema&, bool, bool) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x6b952cc)
#28 0x0000562bd70d6ca9 clang::FrontendAction::Execute() (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x51dfca9)
#29 0x0000562bd7054ad5 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x515dad5)
#30 0x0000562bd71bbf73 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x52c4f73)
#31 0x0000562bd334425f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x144d25f)
#32 0x0000562bd333ab2a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#33 0x0000562bd333efe7 clang_main(int, char**, llvm::ToolContext const&) (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x1447fe7)
#34 0x0000562bd322eb3b main (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x1337b3b)
#35 0x00007f13d1758d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#36 0x00007f13d1758e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#37 0x0000562bd333a255 _start (/local/home/suz/suz-local/software/local/clang-trunk/bin/clang-20+0x1443255)
clangtk: error: unable to execute command: Aborted
clangtk: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 20.0.0git (https://github.com/llvm/llvm-project.git 24bd9bc0b59d51c82e9a4d84c21d86d58d0ef6ce)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/home/suz/suz-local/software/local/clang-trunk/bin
Build config: +assertions
clangtk: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clangtk: note: diagnostic msg: /tmp/small-929da7.c
clangtk: note: diagnostic msg: /tmp/small-929da7.sh
clangtk: note: diagnostic msg:
********************
[512] %
[512] % cat small.c
int a, b, d, e, f, i, n;
long c, g, h;
unsigned o;
int main() {
unsigned long j;
long l, m;
if (0) {
k:
h = ~g;
l = g;
m = j;
i = d;
p:
b = g = i;
if (d) {
q:
j = a;
if (i || i >= a)
r:
if (f && h > a)
goto q;
goto s;
}
g = l;
j = m;
s:;
}
if (c) {
n = j % -1;
o = b;
if (n) {
g = d ^ j;
j = ~(1 / o);
if (!(n - 1))
goto r;
if (e)
goto p;
}
goto k;
}
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzse11z27bS_6dhbjDQkKBIURe-kGWrzUzyjyd2Ty89ILCUUJMAC4B-6cX57P8BSIqkpCRWEvf0ec6TcVVpiV3syw-7AAhQY8RWAlwEyWWQXL2jjd0pffHXDiRXcmuad7niLxfvLaJ1DVQbZBXKAVGkgYG0SMNWgzFCSUQNEhZxBUYGZOEe1VrxhgF6EnaHouUsmoWISo6A6lKAngXhKghXa1XVogSNrp_rUmnQQbxCO2trE8SrgGwCstkqnqvSzpTeBmTzV0A2j7_f7MzHQv3VygjSsPsLV0FymURhkFyhgCSIlVRu7QPCj0G48j_QI2ivMAln4SzcCosCkh10KOyuyWdMVQHZlOVj_z9ca_UHMDtzXGSe82XOwjxZ8iRiGYElnfNszkjEs5QnGQ-hSBkEZBmEqzuqt2Cdbc9Zep_OcSMfpHqSuBSyecZb2bhGOw2Uo0pxKF3TWhnxHISr99JYWpbAr4R3j1NHMVoGZLNTFQRkY5q_2k_cPzCqsE9Uw6ittx9b3ciHgGxyIYNwddmIkiOmZCG2rehLagxoK5Q0QbjaqEZyxKjkglML6Jf1GolWHeradOo0RruORO68x1hANp2Zg3lkE0U_WyAJwtUtlMAs8B-XtN4rVTWlFY4lXqFZEF8G87BK5-POvtiitW_929XqK8r0AWk4Dch6D8mIzKIewlEP4SPCHtOfCDIVLcsZ68GNSXiAjy9AwrfOXewPoD0CvPfYnabSFEpXJiCbfwGzSou_nITbDzf7n3rG6jqIV1G4jFOngBcRr4LYQ1c3zLlgrYwdPTFl_bgX0JIu1W_17Yeb9sftrimKEhzXtbGiolZ1zQohaem1yAZxK63py2cogngtpA3ia-fYk4-N5S2tpm44rZmSZyl2pwGupdUvAVm5ThrpsyhHbb_oa30Pqk24Js2LRnp_3WvP8qgEn1j6L1o24PtOp4y3DgxtUN5XdTnqLnVJyH1Zuuis-gGOgjR8H6EgvgriK3SjhFHyIzUP1yVUyHOlKCDk-rluQd_IxgBHpslbBxlUUfMQEBKQBSqoKIG7rH7z4Xp1e-2aVcIiivJm68qB0tbVj_NSbUA2wpgGHPx89RCSlQ0HZHeAmKZmh3LKHqymLtOuUe3rDgPjFVWNbsmOkxqjmKDOEN1IZJgWtXX63lrKHhBvKofhIFyFsyBc3mi11bRCVG-bCqQ1PzXx9jQSIsxYhLDVoi7hi8UBYaiExSr_A2GnKBcaUYwwF4bmJeBCAyDMSqAaU2NxDoXSgJ1rQHKEKyokLkQJWNIK-rSBcKXBKenAgH3ZQbVgCNeC4RIeoUSk_SEMrgUgXBWaVoBrJaR1g-NKKgkIFxW1OwxaS4VwUdSYKelCYoP4SkmEC6mwdolRyC12bRGu_LBzqUFpTEtBDRiEi0Y-CcmxdVaZIL4iCFtfOjGrG-cenM4Rto0ET9iCBO005pA32y1o90jIbRBfbXmOcOHpmPlJRmsmd4P-6tsp0jkcjHXCyCZvtg6BJCRJGEUR7nIwrtI5_mSwz6Q4JMkiiQKy4VBainDB1CNouoX_UP8a2gHguvw50G1rgqd5bRB-f1zV-hHaPvuGlUdMHliSlliYF2N9HnoDxb_V4xcs-krTb84vyGY2O_440fa4N3h2X9hxr13TE3K-zn1-F362gQvQWmlcCpfYoyXCxVY2DHfzlyC-ms_ILEK4MA-ixoprzHbAHrCQeFsVfkSUSmMu6FYqYwUzCO9rLS6VqicEU9YIF5RzbcQW4av7-1_W6_tfV_-6vr_6ffV5Q-7Xm_f3q9uPQXwVIayc1raqHSBcgsNksYj4YqYQfkZsNFeKXIIP4jWowhXsmmoDGlGLXK5UBXKJMghXxDX7VFtR-ZlAuIod4XMjXYZBNTXGVce-XDt51GUgIR99rc2KUlFL2vpeqifQ2Oc8Kq3zuxbSCGb8M1W7Cq9UjbWy1EIQr3dAOWjMm7oUrJtCXkqFXYGjGnDh4mBVO5vwrBxK8O3Ick8SxmqRN9YVQSFdQcW2FLiidS3ktu98cHkQr6VqUVECffTdMOBYyfKl7X-IzvRRq4iQBfh0vpWuaPbyS0U5hlJUvomxTFW5kK63ij5jYUHTdsERX0V9N1oUL7gQz77WtNKNqOpSFC-s2AbxOleyMdiJw3anwexUyTsBhdJPVHNsnoRlO-d2HsSX3S9N5RawVVgwV_F7slUOgA9N3SrwAFC3iAziy50SxrosXinpezRto5burDPYWKXBYLfa9R3igro1gqtFl0bIh0N2UwNrSmoB56ViD57U2dfy55pKtms7Gho3stbABesrpPdLOQqhDsi6_YF7N_-Q030AG6lV6WaUn0hLtf26AD9R7SsuWRutaBCvaw0G9CNgH6bTqPhRfSpjqBsyglVBvKZlqZ56F_mRct0Ogn2XuNCqwtSYpqrbTjpBLjKdPr33A7Lm4hFrqLBbIbimloqSuRV4C-FX41AqfBYUXaSP0TiB4h51B3B6LRRdFz-Exq9CcRkQgpREleJNCS499lmXuBX2_FQCPUSvF9BnVdfATV5bfhSQOEThcxiGYZKSnKfzlCdhOF69vZj2y40W0vqp_V27OBgtoTR9ulfGaqBVt4ryWXqJApK9wRw_IJfh8zxZpEkYtttBzpDowBC6jIpThnxu5K3YSlr-SiUvwQEye3td42VUDLqSQ13pIkETrQKSdT5syabbEwj9f62UuJOyKKKYR4tFlJCwN8PPn07MhkqRs5lRs7RVjCRk5ML5VCBL6IKh2vpttPsHUZbnSV-mdMEG6cmhuvNFirbGm3eu2vNFOghOp4KTxaKIEc3dAvkssSRbFPEgdnEkNsrPFhjlg8BsKjDNYJmeJzBewnJk-HIMo0VBEjov_olbQt-xGYT83O70ltAb7Aihn7cl9JaJJA0J0HmXSFzOC6cIWEbpPP8p24Xdro_fz24NPiuOJ6E1ceWBatOH7fb-frP0vSzUFyN-ImyH-PiKtsfhvbH6FmwX3tPC_XLkR0E9svalhmPiKRek53ohfb0jTkH9Fb7wyH9bzC9pOs8HzEcHmCdZFp2B7C1YH4wWdT8xjOdh8p_k3zzLosG_ZOpfSmlEzvOv89SRe7_tnjc2M49pRAYz46mZ-TyGbByf8QuZG2q62aPVL3dq_-CDONvIs4ZjrlT59n7hMWSDX-YHflmSPPSKoKntt_BnA5LBCVMP8uNx1Xxdtjqo016HL9TpMdtAXR55_D8h8jWY6AI9-XUGUjxCZj4t1VrVs9AvHE68UuyXDy7QyUGgaQ7Lbw-AvRrrHRXSvJeXboE7MfiSGsE68up8O94O6SzOYTkgPZ06gJE0g287QDfSo3hs8abftDyqooyWVF8_qrJpn7-myp9s80HkmuqXky1Wq89gmtKaoycflKpPslypSkg3K3O5-ljgfmdnTdnu-PkVVFRy4JfiRJ_dFq_fOvoMFdUP15Ww1q1pVz1Ua6rt61C6OAhSHPHoVUF6XYBWkpYvRpiPVNItTCe5e6a_pwwzFvFRGc4mhi95mpF0pDgHS0XZ7c1QYz62p1xOqT9F5JHDvssf7u9_pqMTyouMpIOjJ6vohENGYLyK9s79mtL_Zf6LoYgIDGtQMlmDxguakJ8C1Dfz-39ZvKKMAhnhnUQHeE-newYf_V7zneqVdHFYcVrvN4cOXdAynOWAjuXvgSsU4-UjIQdwjfP4PLj29q5f6bTv8MqX0PbPdnWUUZbHI6TFB0hbkDl_xQg_5eD_zX6LoQjJnA9-myzB0kW0nLOFU4BKJV8q1RgkaQWmpu1xWK-vm2OtjIEqL19-hbLup9efGzmekN2IGkr_EjNrj290M3Z_sGm1T6z7HdxGij8buK_t1DuaPt3XT1pYuO_f-4yYOPg3ZPf-FTp8g7FLyulrur1TqvzU2LqxG9Ei5DV9HnCNOzz2wVpJ01T7yWpH_c2K8nhySpKDQHESxWOZUAnbSWgVmLq9P6ztDyS7pfTR8sFqIbdu7Xgi23QT76-FcbzdanVjxCN8hmIt7c2BYx-LbuLsPHTrz6x0pfLvR8IrovKW7-oykpIoHgbjZJWY8iLKwuRrGnpi-xbPr-vad-i_SXEQ_NXt3VpJC8_27TPMHAqahclg1GRVldGMEcbGRt1QbWB1ezdV-RYqOtmZ-nt2qPJlQhgblJ-ujEKeMrocK7_Rzq_7cdCmx2dg_tzOW7_rTSJeMDrsMpDpS7owmVM-wc9REhjr2w_l7Mvmvf2CKUo45QN4pkcGFlGeF4tJ1ut0Hwx77M7Efiv7vfXYTgibF4thbE_PDMTxfE6SAjEW3bdnJE5v4rEd1cMrgC5jTWhkjdpj5m9tUDSfc5IMa7HpwYI4jmlOKOrjsY7u_Gj96tbssXUHNcnJ6BJX384jkGvxeGoHJ44PdIICFi1cejd3b2hd195nhxtgX-jxbR27KGAxOHYyJYsJgTzOkVP_TbWI40UeD2uXwyMUScaXZ574IEu-DAeBh0cnMpiH6P7e8dwbS7W9H9v42i5gPupicQhJkiSoFf7GEYxJ0mWt7nx3EK-QP3LrvjSS5iUgqxC04wMxVVVUcn-nI1faAv8Ca3vzrejycM_XXdlAvPFSh4MtjQGEHz0NAIlROlz-3zW677pGNwqKVG5euULDIWhUmZYpXPXZ5Lv-_F3I7vLN6u5utf4V3f16jTafPnz49Pv7__cL2rz_cH2L7j558uVvv6DP1zefPt8F_tbLzambM5lxeeuLt2f2DTQgf48EOKK2lfc6k6cHtpdkyeliuM_2fexmd47Hf9zpyWUSkcPrensCo3Z09FxIi_ydv9x9cPfhl4V-wSTchwziyyBclUpuEXOErfvYtdT9GSHV_nbiuprkC8zCEdFwlMhL-aNti9pffhZc9SRRuHEbjpkf2vghhNAOBfEV-ve2b41Q6SkjQuUJfwwE4Qm8I9SDsLxl9Z9i1N5rwMcaIPTnwIbQH56FDiw9k0DBYh0s1r7P67ZRe9bM_9NjIT1P0V9sc7ZdTxncv62yynU_9OUppqMEi6vuQWtIObRs1dx7tl2ftt97rlYFNrVVth70YMHRIE95en7oKTnl7hXhKEiux3HoFfp3QLLIjRSk_N7LoRMDEjmpCCP_LmfiDm-6PuaBE83qodnISe7Jw8R33Wd_Zfsdv4j5Ml7Sd3ARLeI0yeZxkr7bXfCEZwwKkrE4XvI0pTTjRRaydEnn8ZzAO3HRX4cKs5jE6aygKSTFPCqWkDAeh8E8hIqKcuaKzkzp7Tt_lfAiIiTJ5u9KmkNp_N13QrqrQW7UvtMXvkr5O1fzsBTGmkGEFbaEi7YG-vuHYJCS6JGWwhUADohahD8Fi0sTkDUJyDoOFleuydE85I2vYr5rdHnx_bctOy89XpD_HwAA___Z4AUe">