<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55691>55691</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang::CodeGen] Assertion failure caused by "conversion to incomplete array"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
c++20,
clang:codegen,
crash
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
movie-travel-code
</td>
</tr>
</table>
<pre>
```cpp
// clang++ -std=c++20 test.cc -c
template <typename T = void> struct basic_data {
static constexpr const char hex_digits[] = "0123456789abcdef";
};
struct data : basic_data<> {};
void format_uint(bool upper = false) {
const char *data = upper ? "0123456789ABCDEF" : data::hex_digits;
}
```
For the above code, clang will throw assertion failure as the following bt shows:
```bash
clang++ -std=c++20 test.cc -c
clang++: /data00/home/wangliushuai/workspace/llvm-project/llvm/include/llvm/IR/Instructions.h:2735: void llvm::PHINode::setIncomingValue(unsigned int, llvm::Value*): Assertion `getType() == V->getType() && "All operands to PHI node must be the same type as the PHI node!"' 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: /data00/home/wangliushuai/workspace/llvm-project/build/bin/clang++ -std=c++20 test.cc -c
1. <eof> parser at end of file
2. test.cc:7:6: LLVM IR generation of declaration 'format_uint'
3. test.cc:7:6: Generating code for declaration 'format_uint'
#0 0x000055d97abf8243 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:22
#1 0x000055d97abf82fa PrintStackTraceSignalHandler(void*) /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/Unix/Signals.inc:632:1
#2 0x000055d97abf62b7 llvm::sys::RunSignalHandlers() /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/Signals.cpp:97:20
#3 0x000055d97abf7ba2 llvm::sys::CleanupOnSignal(unsigned long) /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/Unix/Signals.inc:361:31
#4 0x000055d97ab3456e (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:76:5
#5 0x000055d97ab34a1a CrashRecoverySignalHandler(int) /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:390:1
#6 0x00007ff2c6540730 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12730)
#7 0x00007ff2c5e267bb raise /build/glibc-vjB4T1/glibc-2.28/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#8 0x00007ff2c5e11535 abort /build/glibc-vjB4T1/glibc-2.28/stdlib/abort.c:81:7
#9 0x00007ff2c5e1140f _nl_load_domain /build/glibc-vjB4T1/glibc-2.28/intl/loadmsgcat.c:1177:9
#10 0x00007ff2c5e1f102 (/lib/x86_64-linux-gnu/libc.so.6+0x30102)
#11 0x000055d977bdc1d1 llvm::PHINode::setIncomingValue(unsigned int, llvm::Value*) /data00/home/wangliushuai/workspace/llvm-project/llvm/include/llvm/IR/Instructions.h:2734:5
#12 0x000055d977bdc2f7 llvm::PHINode::addIncoming(llvm::Value*, llvm::BasicBlock*) /data00/home/wangliushuai/workspace/llvm-project/llvm/include/llvm/IR/Instructions.h:2789:36
#13 0x000055d97b5a9af9 clang::CodeGen::CodeGenFunction::EmitConditionalOperatorLValue(clang::AbstractConditionalOperator const*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGExpr.cpp:4592:73
#14 0x000055d97b5968ac clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGExpr.cpp:1390:70
#15 0x000055d97b5a2e91 clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(clang::Expr const*, clang::CodeGen::LValueBaseInfo*, clang::CodeGen::TBAAAccessInfo*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGExpr.cpp:3538:37
#16 0x000055d97b5e88e6 (anonymous namespace)::ScalarExprEmitter::VisitCastExpr(clang::CastExpr*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:2211:41
#17 0x000055d97b5fb2fd clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::VisitImplicitCastExpr(clang::ImplicitCastExpr*) /data00/home/wangliushuai/workspace/llvm-project/build/tools/clang/include/clang/AST/StmtNodes.inc:977:1
#18 0x000055d97b5f98ea clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) /data00/home/wangliushuai/workspace/llvm-project/build/tools/clang/include/clang/AST/StmtNodes.inc:977:1
#19 0x000055d97b5dfe28 (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:412:57
#20 0x000055d97b5f6d50 clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:4848:35
#21 0x000055d97b566e71 clang::CodeGen::CodeGenFunction::EmitScalarInit(clang::Expr const*, clang::ValueDecl const*, clang::CodeGen::LValue, bool) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGDecl.cpp:767:40
#22 0x000055d97b56c825 clang::CodeGen::CodeGenFunction::EmitExprAsInit(clang::Expr const*, clang::ValueDecl const*, clang::CodeGen::LValue, bool) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGDecl.cpp:1934:19
#23 0x000055d97b56c4fe clang::CodeGen::CodeGenFunction::EmitAutoVarInit(clang::CodeGen::CodeGenFunction::AutoVarEmission const&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGDecl.cpp:1895:26
#24 0x000055d97b56977c clang::CodeGen::CodeGenFunction::EmitAutoVarDecl(clang::VarDecl const&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGDecl.cpp:1319:22
#25 0x000055d97b56473f clang::CodeGen::CodeGenFunction::EmitVarDecl(clang::VarDecl const&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGDecl.cpp:213:27
#26 0x000055d97b56441d clang::CodeGen::CodeGenFunction::EmitDecl(clang::Decl const&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGDecl.cpp:159:47
#27 0x000055d97b0fe4bb clang::CodeGen::CodeGenFunction::EmitDeclStmt(clang::DeclStmt const&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGStmt.cpp:1330:3
#28 0x000055d97b0f9f5d clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGStmt.cpp:411:5
#29 0x000055d97b0f90db clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGStmt.cpp:58:3
#30 0x000055d97b0fa461 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CGStmt.cpp:465:3
#31 0x000055d97b1a426c clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1200:36
#32 0x000055d97b1a5011 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1391:21
#33 0x000055d97b1cf4ed clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:4890:3
#34 0x000055d97b1c8893 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3248:47
#35 0x000055d97b1c7912 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:2996:5
#36 0x000055d97b1d33b6 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5728:37
#37 0x000055d97c306e62 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:169:7
#38 0x000055d97c2ff534 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:230:11
#39 0x000055d97dc00c3e clang::ParseAST(clang::Sema&, bool, bool) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Parse/ParseAST.cpp:162:20
#40 0x000055d97b96f5bb clang::ASTFrontendAction::ExecuteAction() /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1064:11
#41 0x000055d97c2fcdc3 clang::CodeGenAction::ExecuteAction() /data00/home/wangliushuai/workspace/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1099:5
#42 0x000055d97b96eee7 clang::FrontendAction::Execute() /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Frontend/FrontendAction.cpp:961:38
#43 0x000055d97b8b8fb9 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:975:42
#44 0x000055d97baf1d0e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:261:38
#45 0x000055d977b5fd48 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /data00/home/wangliushuai/workspace/llvm-project/clang/tools/driver/cc1_main.cpp:246:40
#46 0x000055d977b54c8f ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /data00/home/wangliushuai/workspace/llvm-project/clang/tools/driver/driver.cpp:317:20
#47 0x000055d97b79f707 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()::operator()() const /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Driver/Job.cpp:405:32
#48 0x000055d97b79fc5f void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()>(long) /data00/home/wangliushuai/workspace/llvm-project/llvm/include/llvm/ADT/STLExtras.h:178:40
#49 0x000055d97ab29f90 llvm::function_ref<void ()>::operator()() const /data00/home/wangliushuai/workspace/llvm-project/llvm/include/llvm/ADT/STLExtras.h:200:62
#50 0x000055d97ab34bd3 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /data00/home/wangliushuai/workspace/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:426:10
#51 0x000055d97b79f8e5 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Driver/Job.cpp:405:7
#52 0x000055d97b755477 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Driver/Compilation.cpp:196:22
#53 0x000055d97b7557a9 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Driver/Compilation.cpp:249:53
#54 0x000055d97b7644d5 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) /data00/home/wangliushuai/workspace/llvm-project/clang/lib/Driver/Driver.cpp:1553:28
#55 0x000055d977b55ceb main /data00/home/wangliushuai/workspace/llvm-project/clang/tools/driver/driver.cpp:489:39
#56 0x00007ff2c5e1309b __libc_start_main /build/glibc-vjB4T1/glibc-2.28/csu/../csu/libc-start.c:342:3
#57 0x000055d977b535fa _start (/data00/home/wangliushuai/workspace/llvm-project/build/bin/clang+++0x30eb5fa)
clang-14: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 14.0.0 (git@github.com:llvm/llvm-project.git 444ec0957c58492ecce0569bb20b7d3ad59d37bb)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /data00/home/wangliushuai/workspace/llvm-project/build/bin
clang-14: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-14: note: diagnostic msg: /tmp/test-a69b9e.cpp
clang-14: note: diagnostic msg: /tmp/test-a69b9e.sh
clang-14: note: diagnostic msg:
********************
```
I have determined that it is caused by the https://reviews.llvm.org/D102645.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW9ly27gS_Rr5BWUVCe4PfpAlO_EtzyRlazKPKpAEJU4ogsXFy9_fboAUCVp2LMfWZObelCJTIJY-pxuNxhaK-PFs4hrqExXFxFhMjNmEXsKHRBnL1xN6Dh9yWtXxxFpE6ic1SM2rehpF5DRSZWq-LTJWczKx5vVjwXO25WQJvxbkTqRQ9oJUddlENQlZlUarmNWMTLxzVZrAS1anEYlEXtX8oSjVE4k2rCQb_rCK03VaVxPnfOIsZK0TSg2TWrbjen7AwijmCSRNrLbGibfon-V327xq2JoN5ACRUT6U5kkpFJ4kotyyetWkeT2hfihERpqi4KUUJGFZxSc0GKIZCD-hs7bJxa7QpS797Hy-uADKqZRLSTSDzwD3EJZ66LQ2FPZSlKTecMJCccdBiBjkmis9kvs0y-BlKe4Jqype1qnIQfY0a0ooUMlyicgycZ9C7rAm1UbcVyiI3h7QtlFJB9nHIDOCBPtCnIYBDxuxBTkv7yFDljbVpmEp_hTl96pgEb7KsrvtaVGKv3hUtz_hT5pHWRPzPuHqBr9ypWiAV0030Bb1LAeblJqUOSW5Xz9f_Y4EyR8Vr6_ySGwB-jeWNVCn3-RVus55TKTS54OSbQ7oJgHWO9uxCeyseb0E64fy0iKsBar92ymY1-gNdeGDZjADtQgwC5bHoARBQC6Sg2Bk24AJhVwqpsLehN2q01SXa0JNtHrqSVXyeKrY_np9MbuFHteE27QmjITNmpS8EGWNTWzqupCalf0c7GvThFNA3zM5IjytqoZX6BNAStLyLuWISjAH6ErR97qUupqTAhoqRcSBlphUoilVMpYEwxNRCl4iJmWTkyoq06JuRb6toRISN9tiZ3MGvAq-lmJdsi1h5brZ8hz7wk-aT9ikWYx_0xy-D7JiEyUCd8FFgh6jYCXonrCacEAnEpKADlROijnb4iCxB_9dlPz6-ttv5OqGrHkOOpdmA-ViDmK0P0GZmr_xVIXWMxV-aiuCTosdHn3Va6qDdMsgxoMB_xwnDjwWJj61rYGdV49V21VKKCn1s1RK9vtMJbtfCehxnG2lTc9VfwnepYdnaQjft-A2wXLh6Y88fcAE6JjgdKdgiCCB42L3hk6ww2U-wZUwMgKh6vgMVpnxEhDJQUr26eNJ7lowXs3MXnA6EtylobdPITdNrslf7bzK-0veiYzRgTUL0O6o0YtsjUT2Qkb3iTzPOMub4ksr-NDBZgI74BF5t1wTvwfE2zoKHJchkqE-y0X-uBVNRTCeaZsOWkTo-m54BENt-TgXOYQt9RUEQeqt0ozMA_W0Y8hRIO-Tq9Wehx7D6WE7Y9jMZEQrP-4mH9i5X5DbCgy9o7it4F6S0Mh1bMMDZ7ZaleAeRclXMMzJHtG28eC7K9c-zdK8eThd5416UUAwxFk8rcQUYJwbDyZECgaqd9eMN2zG4dT1wpCULK3QOHbjCMAOo9O7v87tpbn7SadSgKq19svpFH89VjEvcCBtlF1Cwp2UBiSDv7LqqXRqpg7Y1yUxTQeUB2GeRPo6SepYsSFLyUZ8Uw4ku0aCcSO2kZBVnq0yweJVLLYszV_bHBgKwsaS22odMdWiaXroQIJunmGZxqjNxDToK5QXodpcqTbLgCI7tWGdmv_3wjgyY_O9I78jR7B233ERIR0jpIn3HEIWxx1CbeTuwQwhnuOs6DwT0fe_A6cfSPfcA9WGl9BhAUuCdmKqnDDAhAhI-wGdS1aqEi8gAgZvEqeYxLIvGGqDk7jutD2obBZWGMXuy65mdO9BSRtvttbdyQ9Pny5g2ts6PNsJMDTwrJ4JW2cicH0WHc7EPtgXu-n20fCZyqN7Ro_PGWma8sA8HN-sLNnjUnwV0Hd5ueARe3wR7PzZJhRT0B34VZ6IH2Rens9mswjnPLvMx6DRciwf_3g9ja5OI_d97v4okrmNGEwXsF6kEHhrHURaQddhVY1vdBb71I9GqmRr8VJq4pBlmz1eT8ebhDSJh2q6rbe1BCJK1CXM3eQcr3WMq0IZCur2YJL2Dw3WxYA9jAfT6DkWn779eTa7sbkWIqsG7PYuuEuZ3S4x_gJ-cKzoYuNADtADgv0RwYHP2a9DsE4oyvJLkhjoJMYJp_7P9MqnPu3IPdE2cXxyesdDjZGduLFjHO6_e9A_cNu4CHtUwL4tXW0fhFFTR-y63HvDiKVaucr3KfW5gUr2BRjcsgNGsiOQhhLtZprYA-x-fKd0xFbkU-dwtpCVWfVvY8sMZIBv9nMYao3pshP-hnCoqcW3fdb14-JtUailqnAdseXOPRIjfiBX9fqpAB0FwC442TcEwC0sbEpnpE08Nk4YGyb96iXiHAXCru1ZyeE4fyGM1LTwezBWuGOIthkfDvEpvr9DgQ7qzx6A0yNSI-F2GL4NnApnxgAx9RggsZ2dlVo4Xetno9QfgQwS5w0avE0hAuZPYQ4hjtYn5ATvhicQZw5n7nU9cP8QIR6FFlvORgYRQTBmxYjfoPp_LB-OrxmJvr8EdDDbfUOANBfbQjR5jA39mdYb0UDMJAo-HtD6XIPe0Y3iz4_3s7Va-LvNxM8vbb_ObOSG1YAnPZA0mU3dN4xsXcq5iB9fNJ-PwqgL1rkOakjX0Q_k-i4XwHUM80CzaPc8-VzugA-hfspEyDI1Mgy7ya78y8Hf_FOXEddxjuBl93NmBaYcN3vO9HDQjBKb_9Df_ibiJuO9gShuurYWPEnzVHHyGgZV-rutgP-AESX7bu4V6MOPvl8HdPh-YL2Njn8QDRAC-3qsoW_gAQ9eYNK38fA8-iMipEEw2KFEgHqkaMaWFbqHAlyK4prf8Wx_vHhsLToeHa3ZWlrEGFmGy136w91nVbXanRhvO7-M-FMpmgJDho-CrfCe4yIa3634uyj4ALQWQUY0SRzo1QNJz1n0nefxHFxws-0Wv34JeO3TbOiyqQyQzYHH1mLBODKMyNIm8F_x7JBcPtSGar5lo8DlA5YhZNvdX5BhpyNc1KP9oo2tR3CBmzj6XAbKXpa4VZ_Hs2E48sCjpuZt0jucTdHF75ocPGrKMA3X1rVhmyNri-Jo34BxRBAv25NpBIHmCW06UgXn3BsieEEPx9dAoE7Y-L34egDjh34SjjZyt0Wa8RI3hVke8f06eB7vuwdpA4hj2XZnoTCOt_ulG1sPS1hixobW51s4fX13ImJPoT3h4t2HqA7cUvqWy2fl6rzbE3VqgQcu98e2T6LIXOEZEe2YwXCCiuehtVnpnOhpkPBeB_E6wN0eTlymd7indNlJ2WGzMeQYrFTb7gibHfkJ6Siam4qzAcLbLcuyb9BqNxDvAfp-1vkEj3roYkRzeEAP0ejLUV6QeIbmN9p6lOHNTbCBLQyyY_-xV5994pdCHZfQEm_rMs3XMusFadW92xtcraKHB7l-Ah91FL-S-Vv6tMyYsKpLJk_Cq9ej6kADaLKi7N-rJgebRdKmlFZkmQn1MrYNY4aHYqWLVOmiPfPRpinnqU70v2MXXHT6-48Iu3mOIRcGBg7FHysvcpLxQfakndCtSqkU-baD026VRkAPntFeJbm-TvR_5Q-Vf4FY3_Fk5pNjT7OF3C1eXl88ACB16Mn0_JH_0SJHFtIgCYzD9P1RFnwILrXu4_bG7IyOm1t2GA-Pm-87_6ne4HFnlvDsUbPFl3k4_iFVm7oycOsBm-Pe63Pnf931HsWF9tNMRw-bPcexveeHPxn_sCfxc6cYLUgbFcQM2rrz67LO2tDg47gZgNrtNqOhDrYcHWtMkseCQ0kCHVTPMwRvr9NKX5l_KYLaWVfBUjSs9ijua0ntTPDo3FJbTtv6pUpHnxN4rm3HzzqBxeBZi8n3TBKe08lxuf0IVhfDgNZ0HLl73M89nPHcw4l4SLqz6R8dYNvqiHJ_UsPR7iI43LSMICSrFR5SB7_Kynp1yLn5qMIT7vK2gHqUL2U98gS9ZeMazcC-vBEblpMwohpuz9F_wE259uA9h4kf2x29l-9PTVx6IbwscUCYtZdPk3a-CVakrEndViT3ab0h_CGt1d0107JR5qbi5PQObypWnJN0MEsetkRAKfJkimlPjamBBddpPbGNwYVGa7bnQuMUMhDbtnlkBI4XOb4dUB5F3HDcIAypEXqxxWIniC0vDHdtLlm55hiQkPZGQpN_z8V9PriZoPLJWyVkC3hwTZYUokof1Cs5n88A9yKV3Lybbp7Qn4saV1BInLJ1Liq8Wb2tZOdu7eYnPoP7xu0109lyOZt_JsvPF-Tyy_X1lz-vfv9ELq-uL27J8otMPv_jE7m5-PrlZrmT4eu-a6J-hU7l2auiuwwlJzLogLes3lX5KgaQ9Xpb4Dev6lMGOg_Uis7P1qHdi36lIt5LHftug7dGRzbsjpOY17zcpnitpd6wmkAXSCsSsQbpDx_lZV79XnDJ71J-X03R7qaiRNe4MA3q2s70JD6z4sAK2Emd1hk_mzjne_ZknMXgbnR307xvcUIpjCldJ4bOnuItlSIDQUHBJR7cpydNmZ29_bqyAz3aPNmcUY_6PGCxEXtByOPEMALPxDTXtHweeicZC3lWIQ6Uqrv-K29Wz6WgLTr0UmtctN29UBf8KIA9Sc-oQanhUMfwqWkGU9cyPZtCC77puS53wDdxGAuyHaUn5ZkUPWzWFbzMIELq-T6BLoD3kCS9WD9r6o0oz7YC9HIKIfkdz05RoBOJ90yC_S8irGj0">