<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88046>88046</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[RISC-V] Unhandled encodeInstruction length! at RISCVMCCodeEmitter.cpp:338 with `-fglobal-isel -fstack-protector-all`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
patrick-rivos
</td>
</tr>
</table>
<pre>
Testcase:
```c
int main() {}
```
Backtrace:
```
> /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang -fglobal-isel -fstack-protector-all red.c -o rv64gcv.out -w
Unhandled encodeInstruction length!
UNREACHABLE executed at /scratch/tc-testing/tc-apr-4/llvm/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp:338!
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: /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19 -cc1 -triple riscv64-unknown-linux-gnu -emit-obj -mrelax-all -dumpdir rv64gcv.out- -disable-free -clear-ast-before-backend -main-file-name red.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic-rv64 -target-feature +m -target-feature +a -target-feature +f -target-feature +d -target-feature +c -target-feature +zicsr -target-feature -e -target-feature -h -target-feature -shcounterenw -target-feature -shgatpa -target-feature -shtvala -target-feature -shvsatpa -target-feature -shvstvala -target-feature -shvstvecd -target-feature -smaia -target-feature -smepmp -target-feature -ssaia -target-feature -ssccptr -target-feature -sscofpmf -target-feature -sscounterenw -target-feature -ssstateen -target-feature -ssstrict -target-feature -sstc -target-feature -sstvala -target-feature -sstvecd -target-feature -ssu64xl -target-feature -svade -target-feature -svadu -target-feature -svbare -target-feature -svinval -target-feature -svnapot -target-feature -svpbmt -target-feature -v -target-feature -xcvalu -target-feature -xcvbi -target-feature -xcvbitmanip -target-feature -xcvelw -target-feature -xcvmac -target-feature -xcvmem -target-feature -xcvsimd -target-feature -xsfcease -target-feature -xsfvcp -target-feature -xsfvfnrclipxfqf -target-feature -xsfvfwmaccqqq -target-feature -xsfvqmaccdod -target-feature -xsfvqmaccqoq -target-feature -xsifivecdiscarddlone -target-feature -xsifivecflushdlone -target-feature -xtheadba -target-feature -xtheadbb -target-feature -xtheadbs -target-feature -xtheadcmo -target-feature -xtheadcondmov -target-feature -xtheadfmemidx -target-feature -xtheadmac -target-feature -xtheadmemidx -target-feature -xtheadmempair -target-feature -xtheadsync -target-feature -xtheadvdot -target-feature -xventanacondops -target-feature -za128rs -target-feature -za64rs -target-feature -zacas -target-feature -zawrs -target-feature -zba -target-feature -zbb -target-feature -zbc -target-feature -zbkb -target-feature -zbkc -target-feature -zbkx -target-feature -zbs -target-feature -zca -target-feature -zcb -target-feature -zcd -target-feature -zce -target-feature -zcf -target-feature -zcmp -target-feature -zcmt -target-feature -zdinx -target-feature -zfa -target-feature -zfh -target-feature -zfhmin -target-feature -zfinx -target-feature -zhinx -target-feature -zhinxmin -target-feature -zic64b -target-feature -zicbom -target-feature -zicbop -target-feature -zicboz -target-feature -ziccamoa -target-feature -ziccif -target-feature -zicclsm -target-feature -ziccrse -target-feature -zicntr -target-feature -zicond -target-feature -zifencei -target-feature -zihintntl -target-feature -zihintpause -target-feature -zihpm -target-feature -zk -target-feature -zkn -target-feature -zknd -target-feature -zkne -target-feature -zknh -target-feature -zkr -target-feature -zks -target-feature -zksed -target-feature -zksh -target-feature -zkt -target-feature -zmmul -target-feature -zvbb -target-feature -zvbc -target-feature -zve32f -target-feature -zve32x -target-feature -zve64d -target-feature -zve64f -target-feature -zve64x -target-feature -zvfh -target-feature -zvfhmin -target-feature -zvkb -target-feature -zvkg -target-feature -zvkn -target-feature -zvknc -target-feature -zvkned -target-feature -zvkng -target-feature -zvknha -target-feature -zvknhb -target-feature -zvks -target-feature -zvksc -target-feature -zvksed -target-feature -zvksg -target-feature -zvksh -target-feature -zvkt -target-feature -zvl1024b -target-feature -zvl128b -target-feature -zvl16384b -target-feature -zvl2048b -target-feature -zvl256b -target-feature -zvl32768b -target-feature -zvl32b -target-feature -zvl4096b -target-feature -zvl512b -target-feature -zvl64b -target-feature -zvl65536b -target-feature -zvl8192b -target-feature -experimental-smmpm -target-feature -experimental-smnpm -target-feature -experimental-ssnpm -target-feature -experimental-sspm -target-feature -experimental-ssqosid -target-feature -experimental-supm -target-feature -experimental-zaamo -target-feature -experimental-zabha -target-feature -experimental-zalasr -target-feature -experimental-zalrsc -target-feature -experimental-zcmop -target-feature -experimental-zfbfmin -target-feature -experimental-zicfilp -target-feature -experimental-zicfiss -target-feature -experimental-zimop -target-feature -experimental-ztso -target-feature -experimental-zvfbfmin -target-feature -experimental-zvfbfwma -target-feature +relax -target-abi lp64d -msmall-data-limit 8 -debugger-tuning=gdb -fdebug-compilation-dir=/scratch/tc-testing/compiler-fuzz-ci/csmith-discoveries/llvm-rand-opt-28-2 -fcoverage-compilation-dir=/scratch/tc-testing/compiler-fuzz-ci/csmith-discoveries/llvm-rand-opt-28-2 -resource-dir /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/lib/clang/19 -isysroot /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/../sysroot -internal-isystem /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/lib/clang/19/include -internal-isystem /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/../sysroot/usr/local/include -internal-isystem /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/../sysroot/lib/gcc/riscv64-unknown-linux-gnu/14.0.1/../../../../riscv64-unknown-linux-gnu/include -internal-externc-isystem /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/../sysroot/include -internal-externc-isystem /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/../sysroot/usr/include -w -ferror-limit 19 -stack-protector 3 -fno-signed-char -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -mllvm -global-isel=1 -mllvm -global-isel-abort=2 -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /scratch/tmp/red-433ceb.o -x c red.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'red.c'.
4. Running pass 'RISC-V Assembly Printer' on function '@main'
#0 0x00005e374f451730 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1e50730)
#1 0x00005e374f44eb3f llvm::sys::RunSignalHandlers() (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1e4db3f)
#2 0x00005e374f44ec95 SignalHandler(int) Signals.cpp:0:0
#3 0x000070511b442520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x000070511b4969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x000070511b4969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x000070511b4969fc pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x000070511b442476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x000070511b4287f3 abort ./stdlib/abort.c:81:7
#9 0x00005e374f3a703e (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1da603e)
#10 0x00005e374e4e823b (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0xee723b)
#11 0x00005e374f14045d llvm::MCELFStreamer::emitInstToData(llvm::MCInst const&, llvm::MCSubtargetInfo const&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1b3f45d)
#12 0x00005e374f161bbe llvm::MCObjectStreamer::emitInstruction(llvm::MCInst const&, llvm::MCSubtargetInfo const&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1b60bbe)
#13 0x00005e374e30e37a (anonymous namespace)::RISCVAsmPrinter::EmitToStreamer(llvm::MCStreamer&, llvm::MCInst const&) (.constprop.0) RISCVAsmPrinter.cpp:0:0
#14 0x00005e374e31305f (anonymous namespace)::RISCVAsmPrinter::emitInstruction(llvm::MachineInstr const*) RISCVAsmPrinter.cpp:0:0
#15 0x00005e37501e29af llvm::AsmPrinter::emitFunctionBody() (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x2be19af)
#16 0x00005e374e310108 (anonymous namespace)::RISCVAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) RISCVAsmPrinter.cpp:0:0
#17 0x00005e374e896717 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#18 0x00005e374ef03066 llvm::FPPassManager::runOnFunction(llvm::Function&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1902066)
#19 0x00005e374ef032b9 llvm::FPPassManager::runOnModule(llvm::Module&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x19022b9)
#20 0x00005e374ef03c25 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x1902c25)
#21 0x00005e374f6ae92c clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, 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*) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x20ad92c)
#22 0x00005e374fccbab7 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x26caab7)
#23 0x00005e375194a15c clang::ParseAST(clang::Sema&, bool, bool) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x434915c)
#24 0x00005e374ff63539 clang::FrontendAction::Execute() (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x2962539)
#25 0x00005e374fee7856 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x28e6856)
#26 0x00005e3750034ee5 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0x2a33ee5)
#27 0x00005e374e2feeaf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0xcfdeaf)
#28 0x00005e374e2f8593 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#29 0x00005e374e2fb30f clang_main(int, char**, llvm::ToolContext const&) (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0xcfa30f)
#30 0x00005e374e2399eb main (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0xc389eb)
#31 0x000070511b429d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#32 0x000070511b429e40 call_init ./csu/../csu/libc-start.c:128:20
#33 0x000070511b429e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#34 0x00005e374e2f7845 _start (/scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin/clang-19+0xcf6845)
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git 1b761205f2686516cebadbcbc37f798197d9c482)
Target: riscv64-unknown-linux-gnu
Thread model: posix
InstalledDir: /scratch/tc-testing/tc-apr-4/build-rv64gcv/build-llvm-linux/bin
```
Godbolt: https://godbolt.org/z/sj85e83jh
Found via fuzzer
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUW1-T26iy_zTKC4VLQn8sPeTB8YzPpmpzN5XJ2fvoQqhls5ZAAaRx_OlvgTQzlgdP5mydma27tUms7qb5ddM0qBFUa74TAB-D9FOQ3nygvdlL9bGjRnF2wIoPUn8oZfXz43fQhlENQbwKwpsgXAVZOP7PxmcuDGopFwHJA1KgYPkpWN5ciE6P7u9PlB2MosyjcXqMb1FANpopatg-IBvDsAFtuNiND7RTOAnIpux5U2E1ZMmODY_PTTO0uOGiP1qSxbVhDRU7hOtdI0vaYK6hQbjWhrID7pQ0wIxUmDYNUlAtGMISTVoXsjcI34_A_i32VFQNVAgEkxV8FtqonhkuBWpA7Mw-INEk-j_fblfr31affr9FcATWG6gQNa-zy1pw9g8vA7L5TtUOTEA23z7frf8MyObLeiTdgGYP5C_rtazgtuXGgFqwrgviVRznj6i-_n67urtFui9bbhBFZb9DCjqpDDIS7Y3ptB0UsgnIZsfNvi8XTLZzRNZhfwGzULjWPeiAbBAVFeKCNX0FyOwBMUX1HpWPI03WqFPQKclAa6iQlr0aybYl1VoyTq2LVC-QZop3ZjFCvrODhKq-7R7DJVwg999XJXeKtoiqXd-CMBb7WwQOjgqEGYsQNop3DSDFNRuyBPfiIOS9GNvgnegRhpYbLMu_EG4VNPToggpb-BVX50GFEa64pmUDuFYACLMGqMJUG1xCLRVg6z0QFcJ2cuGaN4AFbeEhRK1-yagNPtzKChrUcYZwxxluYIAGkfGBa9xxQLitFW0Bd5ILAyqIbxyyuqVmj0EpIRGu6w4zKeyQmSC-kQLhWkisZC8qLnbYyiLcMjnFvZsznGrQCNe9uOeiwsaapIP4hiBsXIBi1vVoBwIUZ87nj4waqOkVoIB8an1E6iPWPmLlIzIf8cSZVs8YGJ6T9s9Jes9kb90H4t7H3VHTPQeN9d4MtPEyBn2tyaBfaGQGYM9txrql3Neiha7tPHTtF9eMdcbjJK2ZrLv2-Qg4zguO0dpQAyD8LMWZ8XHM8wG01CteueoT3WfJsfEwBlp5ht2Sex-5pMorzsVAveoF7aTPsKErWw99eE46soE2HjBHNpT8Ctm0VHDPYB_ZAI1ncI5saKnH05YOz6elpWveehx91DUDqj0-Oup6YD5Iuh5qoVjDu2P9wxNWTuC-pYz9-PHDz_5huZX04xm5P6S3La-5jRiuGVVV1UjhRT5K1U2v99dkzB5oVXpicuKUVzn6Goe18ipLiqqVvmBx7LqFllfHa2z_UI-slxtC21HuSQojW_8UVxUPlW8aHAcQhgpq7ZGdxxMnGpFceRlZ4qcz6iXfe6V9I3byDdap9Jh2Kg9e0YNf1uPXk2_4T8yHivm68iW7E_ME6Il5ptaJ-VaEE_NlplPFhc-A2oe19qybp3rfck_2P9V-xfvrZL8ezrLE5yPOSunJYY7uM9_ST146o630mcsZ4z73csYa7e-aKV-SPHEmfIvuidsZ4qPXIBh4loET33NhhPEsSiOro70fwb7zIT74aL5ROHhxHnxJ83QQvjg5-Bxw8M2Tg32N8JG9an1B3ba9z0ODNwUM3hwwQEx8g2_pvgAeIEt8qC3drydLvHq8k2y4NssGb6oaDjsv1a_Bl94t2TsKw0Fc0b33zSFL9yP0jfxw0H4s_ogYDtqPxRspgzdUhiYKiTfBDE1E8iuMLM6vtCFhcqURSTM_IybL7EqbmPjpSVhcUZZGV5r4s-jQZGkaX9GVR4VPGRw7UNy-ltMG67b1ZZYLGfFrGf0amVeI_JCae4JlLtX_UtGJUt9G7UKm9AX9hUxDvW-lF0LKF_lzIdb6Fra5TF3W3kQxl-Ks5s0vdVkp7ZmmF1KvQGX0L105vA65FbtvvdUDV5R5ZNCSo6ZzObnVLW0aXFFDccNbblCOcAVlv9uBwqYXXOyC-GZXlQjXjo6ZbDvejBWYiqsgvrlefBplQeG6P50w45akW2722L6AyAEUd5U0V4NSVFRYdgaTHBOEa8enO3i3HhWMBTrbyX-tojbWMV1FLSCbqECY659aSfnKquiri3aLhdU3qcau3CVc1fenNtC-mT0B2TyUQN-u0-cWBmTTa2XxSEabfw7E6I4dYwHZXC2QWkcli3ARPbS_-Oulhs_tgqP9wd7Hvn-4-3GMH0HcI1yDUlJNycpOp4vzDBSP5Vt30FNhtqcK4XoneoYHUJpLEcQ3yYIsIoRrfeAdlpXCbA_sgLnAu7Z2qaeRClec7oTUhjONcGvBInx2lhLEN5GPjmkplRlrwTWtKqX5DuGb7fZf6_X2t9Wft9ub_11925DtevN5u7r7MuqRF45sOxsYUOEkjhmUC4nwEbGxDD4eCETTgUAQr0HWQXyLOqo0KEQNAlEhWaOaNzAKk0l4LSsYy9Iun47MeGJ-64VN-KijWqOALDe9GI95vlrCFyroDlRAlkgK1Mqqb-zishwhkeV0dJFcUfbt890a_4lWWkNbNj_RVzWW5Ed19UNXAVkGSTierC1HjSggcYjCYxiGYQrxMqmTNFrGIXLnM_EqiFf6px5_OK3u9OT7eASTPwkper-V2iigbUCygKwRF8Yd3pH8bQ5QAvIpPEaQhss4DEjxZE40NyeBMq595nzrxR3fCdr85o7glH44bnxjxElVxvUMMblEzIoUzbAFJJ_8OZL1dBQXuj-PiuJJ0TJMo6hMEpKScLJnTKbHPNtmySwJNrxkCy0XmYPnmszAJXOdRVbUDG23ndkroNX2wJtmy9uuAbdXcnFm84zojF06zsUWLIhXSRLEq2X2pD99jf4pQb6oeZkH8So680bm03ze7EV1eXGhbnnp3GSZoZ124-E0jT_PEm0Fnd0PdVJzGw2Kcg1ON1kG8erMB_lcNcmXdYxcqhsVm2ocPkca0UXW4icNxSyEYroMY3jrSK5oFsbwGCx26s1SCSSQk7h8YxgASxKXMxTzDBAlYZJWZxngy_r2982dy1WgRhK03HwW2nyXN9TQWWb7srYM5I4op9R2zrzry3Hr_1nU8kzqzfNIGddJWs3snueRKIvKEmZg_yj_Amb8pk-fHfz_sD0Ly3IeefEs8uIQ4iW1MKiQ4mcre40EbUF3buEqphXg8936z5VuH5ZLR7xtufkuH300d8cT-ZkzLjzlfLBwz52S3cImVXTR4fMkbi1J5pZEcZjWf8uSF0eWsj0X4_cmD6hXr4aYnkFMwwhIQc-XWB-Qh_3OJ1n9fJeFlpQQFbSeBUl24dowCvO_5VrViz_E5MMHy3z-feJlr3bucgYyL7JltERXNdvt4xkmL5gLFDYwO6rMGJMefX5c-QxXHcZhlp3h2ny1TR82sv8xordMF0VIwiybRUJxaQwpi1cY88XtzOcjPZHeyRBSFueGkPDSEEbSM0Ma2FH2c9q_P5n0ue2aR7P-SXMYSWfmzJfujEJBGBorIo_Z-dP4GdMfvel6E5D8jH3z9Fp5K3ZcwJSoz0R-A1qBugOq2P6Pzgahni1wZ6L2he5fIH4hNX409wuh36nY-USeHH9nFBe7b1BfLCzTeKwuFE5OWE3T6LzJZ2FUr_kA36BeC_PVqCBeP7GHekoYG97AnSs0BPGtVaFNNXJ6wX_0sO0uWtqXvO5ecQPbh1e9s0YV1LRvzLaCBgz8omF8O_X53KS1FLp3a-zqHVaJkFYFYbMYnG-jGCtpuXwJ5xhW7kXtu6JCj-XUfwt-EZyru-9rKQwc32eXRDJGabmcmXa-S0qjIqFROpteX6nSsLr7Pgd-By2d4rWUsnn6961NSOKkiNL56My2R3WdxWlcnJuwUdbHjzNjzBrj97Lvs-8oMpLG8ySdzjADLPM0myeasbJut2NUjN8xP6J-mOL5dSPfJZxyyPJ0toqSbLYPDOMEIJ1l69GCJ_OG6fvSuTXPzH-XmU_jGGC--sy3XqQGoDViLNpOX6OfbXGVoj9tso7Xrgz6uIWestqMRtZokLx6F7NYXcF810vyC6vytIjRw9Cso-9uKp_ZdtfSpvnTVXzHfYLHxIvFy-qYctvsHahSfLiyzyXFBawyDusxeB7c7UpeozOd71av6_StHUzjcObgeQEVSFwUULoLDG8NJc4LmJU-HoufD5WkoipCtN02vGRbbagyW0abxjnYlZaY7p8XrKaSmK_RYh_Eq9RV2rKnXsllr5CEyLXhgpvLjsafVjt22l1BKyJWKXmKj8ti5qh0ZorPCq_yeGlf5tIn3clF7C3zJEWj1jcPnyxPnrLOQxZE7ujF_ugFLRtARj7c8kBMti0VdpeFVqVUBiqLkUkF7hYDVC9oG--p1NNy8aAK1ZQ3UKGqdx1NNcyA5O4rrsHRABA_y9fnPaDptAdFxSJchDvunPafXfZY2FZRucwiEqY1yfIsjTIGJa1KVrJ4WS-LPCqWVcGSnDx2P91ZiVfXb0xMgq6ai9w1Bis-1mAdy60yTQPVDVf_7fsd1-8o_UtWpWwc9AtHjYyFVLbLk0XzV55CHv-1P2-_kb2o0MApqvvTCdSH6mNcFXFBP8DHaBmRLIpyEn3Yf2TLIopCqHOaZlEcLqFO6iTL64LkhCYF_cA_kpAkYRLmJIrDKF8UdZEleZ7meRZRwsogCaGlvFlY8yyuD-5azsc8D5PsQ0NLaLS75UWIgHvkmAEhQXrzQX10Lin7nQ6SsOHa6CcthpvGXQ8bj6uC9Aa96v4Toga9dBkJ3XOzR0EWvuI6VpCFH3rVfPz7N5OcF_4vAAD__8EwHfU">