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

    <tr>
        <th>Summary</th>
        <td>
            [clang][x86-64] Assertion failure in LValue::addUnsizedArray (“…isPointerType() || …isArrayType()”)
        </td>
    </tr>

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

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

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

<pre>
    Compiler Explorer: https://godbolt.org/z/7W65Ts9br

Generated by fuzzer.

Console output:

<source>:1:22: error: 'letters' declared as an array with a negative size
    1 | extern char *letters[26 + -66];  
      |                      ^~~~~~~~
<source>:7:10: error: incompatible pointer to integer conversion initializing 'char' with an expression of type 'char *'; dereference with * [-Wint-conversion]
    7 |     char c = letters[
      |          ^   ~~~~~~~~
      |              *
    8 |         (letters[idx + 1] ? idx + 1 : 0)              
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    9 |     ];
      |     ~
clang-22: /root/llvm-project/llvm/tools/clang/lib/AST/ExprConstant.cpp:1759: void {anonymous}::LValue::addUnsizedArray({anonymous}::EvalInfo&, const clang::Expr*, clang::QualType): Assertion `getType(Base).getNonReferenceType()->isPointerType() || getType(Base).getNonReferenceType()->isArrayType()' 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: /opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22 -cc1 -triple x86_64-unknown-linux-gnu -O2 -emit-obj -dumpdir /app/output.s- -disable-free -clear-ast-before-backend -main-file-name example.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -fno-verbose-asm -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debug-info-kind=constructor -dwarf-version=4 -debugger-tuning=gdb -fdebug-compilation-dir=/app -fcoverage-compilation-dir=/app -resource-dir /opt/compiler-explorer/clang-assertions-trunk-20250716/lib/clang/22 -internal-isystem /opt/compiler-explorer/clang-assertions-trunk-20250716/lib/clang/22/include -internal-isystem /usr/local/include -internal-isystem /opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-gnu/16.0.0/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -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/example-8ad545.o -x c <source>
1.      <source>:9:6: current parser token ';'
2.      <source>:4:29: parsing function body 'pad_home1'
3.      <source>:4:29: in compound statement ('{}')
 #0 0x0000000003fb2168 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x3fb2168)
 #1 0x0000000003faf014 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x00007fe23c242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007fe23c2969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x00007fe23c242476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x00007fe23c2287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x00007fe23c22871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #7 0x00007fe23c239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #8 0x0000000007884a72 (anonymous namespace)::LValue::addUnsizedArray((anonymous namespace)::EvalInfo&, clang::Expr const*, clang::QualType) ExprConstant.cpp:0:0
 #9 0x000000000790097a (anonymous namespace)::PointerExprEvaluator::VisitCastExpr(clang::CastExpr const*) ExprConstant.cpp:0:0
#10 0x00000000078b3787 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#11 0x00000000078b537b EvaluatePointer(clang::Expr const*, (anonymous namespace)::LValue&, (anonymous namespace)::EvalInfo&, bool) ExprConstant.cpp:0:0
#12 0x00000000078b81b3 (anonymous namespace)::LValueExprEvaluator::VisitArraySubscriptExpr(clang::ArraySubscriptExpr const*) ExprConstant.cpp:0:0
#13 0x00000000078ce414 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::LValueExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#14 0x00000000078d01ad EvaluateLValue(clang::Expr const*, (anonymous namespace)::LValue&, (anonymous namespace)::EvalInfo&, bool) ExprConstant.cpp:0:0
#15 0x0000000007900395 (anonymous namespace)::PointerExprEvaluator::VisitCastExpr(clang::CastExpr const*) ExprConstant.cpp:0:0
#16 0x00000000078b3787 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#17 0x00000000078b537b EvaluatePointer(clang::Expr const*, (anonymous namespace)::LValue&, (anonymous namespace)::EvalInfo&, bool) ExprConstant.cpp:0:0
#18 0x00000000078a0745 Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) ExprConstant.cpp:0:0
#19 0x00000000078a7758 EvaluateAsBooleanCondition(clang::Expr const*, bool&, (anonymous namespace)::EvalInfo&) ExprConstant.cpp:0:0
#20 0x00000000078af701 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#21 0x00000000078a08f6 Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) ExprConstant.cpp:0:0
#22 0x00000000078a103b EvaluateAsRValue((anonymous namespace)::EvalInfo&, clang::Expr const*, clang::APValue&) ExprConstant.cpp:0:0
#23 0x00000000078a6130 EvaluateAsInt(clang::Expr const*, clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::SideEffectsKind, (anonymous namespace)::EvalInfo&) ExprConstant.cpp:0:0
#24 0x00000000078a64ae clang::Expr::EvaluateAsInt(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::SideEffectsKind, bool) const (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x78a64ae)
#25 0x00000000068b1ebd clang::Sema::CheckArrayAccess(clang::Expr const*, clang::Expr const*, clang::ArraySubscriptExpr const*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x68b1ebd)
#26 0x00000000068b32cf clang::Sema::CheckArrayAccess(clang::Expr const*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x68b32cf)
#27 0x00000000068dee6f clang::Sema::CheckCompletedExpr(clang::Expr*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x68dee6f)
#28 0x0000000006c64607 clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x6c64607)
#29 0x0000000006a2f6ea clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x6a2f6ea)
#30 0x00000000066953da clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x66953da)
#31 0x00000000066a3c39 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x66a3c39)
#32 0x00000000066ac8f7 clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, bool, clang::Parser::ForRangeInit*, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x66ac8f7)
#33 0x00000000066acdb9 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x66acdb9)
#34 0x000000000676d832 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x676d832)
#35 0x000000000676e509 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x676e509)
#36 0x000000000677663b clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x677663b)
#37 0x0000000006776e8a clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x6776e8a)
#38 0x000000000666e843 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x666e843)
#39 0x00000000066a463d clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x66a463d)
#40 0x000000000666167e clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x666167e)
#41 0x0000000006661e19 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x6661e19)
#42 0x0000000006669aaa clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x6669aaa)
#43 0x000000000666aa45 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x666aa45)
#44 0x000000000665c81a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x665c81a)
#45 0x0000000004967388 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x4967388)
#46 0x0000000004c5ad75 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x4c5ad75)
#47 0x0000000004bd782e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x4bd782e)
#48 0x0000000004d4e821 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0x4d4e821)
#49 0x0000000000d933bf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0xd933bf)
#50 0x0000000000d89f9a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#51 0x0000000000d8e6b9 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0xd8e6b9)
#52 0x0000000000c44414 main (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0xc44414)
#53 0x00007fe23c229d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#54 0x00007fe23c229e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#55 0x0000000000d89a45 _start (/opt/compiler-explorer/clang-assertions-trunk-20250716/bin/clang-22+0xd89a45)
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Compiler returned: 254

Code:

extern char *letters[26 + -66];  
char *letters[];                 

static void pad_home1(void) {
    int idx = 0;
 
    char c = letters[
        (letters[idx + 1] ? idx + 1 : 0)              
    ];
    (void)c;
}

int main(void) {
    pad_home1();
    return 0;
}



</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW01z2zi2_TXMBgUVCX4vvJAlqyc1mZe8ONO9dIHEpYwxCfABoONk0b_9FUBKFClZtrujntTUuCopmyQuzjk4uLj8ANWabwXAlRdfe_H6He3MvVRX13__5y0J3hWSfbtayablNSh089TWUoHywiW6N6bVXrj0yMYjm61khazNQqqtRzbfPbJJf0viLzovlOcvPX_5CwhQ1ABDxTdUdd-_g1r0Z1ZSaFkDkp1pO2MjusNeuNKyUyV44Y0XLgMvXBJiOwalpEPgkbQGY0Bpj6SIQVlTBQxRjahAVCn6DX3l5h5RJGBLDX8EpPl38PwlQggFyEtXCJ4MKIHKe6qQR5a7ePE1SZBHrhFOEi9ee-E1QkM75Nqd_PHim9_7n2P8qeXgT_BzUcqmpYYXNaBWcmFAISOR_WULCpVSPILSXArEBTec1vw7F1vL2-K1pHt-AsFTq0C7S2WFzLcWdldZVh5JLQMGCipQIEroG3pkibz4Gv_GhcFjb5ZwzzXdc3WhSuSFazRqdFoRL75BCP0-KvGMahZYfzKbnPRINnbB2ZMbh8CL18gLN2h_AFkJfY_ks6in-vv9hZ-hUb5v1I_5USx7YVlTscW9FT2yUVIaj2zq-rHBrZL_gnL3p0c2Rspae2Tj2tjDvPDIZnn7xSObm6dWWesbKsyibFvrjzTObdhHyRny0msqpPjWyE576drOi3D54Vdad9D_Thn7p7CGZkvrdY9kJ5vcPNL6vaikRxKPrKyptEE9oP78U6ucR1aHR_-3o_WXby14xCFaag3KWHt5ib8F05_Krqm2Vyy2YP5His87dw1nPZJjL7zh-lPv7fGwFdRq-uZIjul40E6BivIamM0lnz7cLG9vkO6KhhtEUdFtkYJWKmNn1SxfcXPfFYtSNuNozcaQa92BHT1EBbOTte4YIHMPqFRU36OClg9G0RKsdK2CVskStAaGhnlPVq4l1VqW3KU-1QmkS8VbY_HeGlo-INY1bZ_0_IXn55-U3CraIKq2XQPC6MFnsrWYyiETY9hl4sFcmO5GSGOjOvGAiU9iPw0Sj2wKLvbXEYJwWQYIG8XbGtBTltwlEe7Eg5BfBa656J7wVnQIfyQIQ8MNlsW_ELYwGbfpZEPb1gJy6XqhMcKMa1rUgCsFgHBZA1WYaoMLqKQCbIUCwRBuKBe44jVgQRtA8ESbtoZFiXCjoJYltfhxIxnUqOUlwi0vcQ2PUCPS_8E1bjkg3FSKNoCHpOmFayEFIFw11NxjUEpIhKuqtUnNDpHxwrUUCFdCYiU7wbjYYnttf-gRVCE1YKobhBs3Q1RXGqkwrTnVoBGuOvGVC4aNJaq9cE0QNlRtweCy7ayKOIkQNp0Ad2BrlztLgUHRbTEXlcQPXDAvXB_ER5h9parCu8QbrqOhxRaUDcbtfFxvWYFw1UfqHdArxbil3o8IwlUpH0HRLZy5RkHvTTwM5Z9xVZ_MdqnN-soNhqA15vqbNtD86B7spBym4cm-Om3jWiPVL136PKxtWWItaKvv-8TuMGzL0iObYa7s54hHNkGy8Be-RzaLxfF_J64_BtVXIOUxj-HSE3HOt357FwhXrijBNbeZM8gRrraiKw99uSCLAOFKP_AWS6ZweQ_lA-YCb5vKea-WCjNOt0Jqw0uN8CNYi_PvgGsp28kBXVu_UsaU5luE13d3v6xWd39b_npzt_5t-XlD7lab93fL23944TpAWFrEprFZZ8gZOKMsjuKFRPjJlSUHtZa_DGwindVfdhlLbC4tO6VAGNRSpV299QAC9RWS_d9fkhOtI1t9upXQNrNFWNWJ0i2ItkK27VvK7u5lA0EfJTwbhQtkvWdTEdKGGrCpHrlFLfXSa7t4k9QucL5N_qGP_Cd_9xNWBQmSDLlVyy3W-pvuf_mkuDBuWfnSL0zZeJGiX--kNgpoM5QCXBi3Fttef-D64pFr_2kAOVIIphRo5QcRuuVbQeu_UcFq21XmEK2Q5lubMO_MUJfYesj9mg8t9FAw-e5f3wEZOkgrIGFJIhITf-DWz-ETs7HmRbnQcpE4zK7JiDicBsyTvCpRa-4VUHb3wOv6bdFd-zF6NIcbpQnaakfvrbCjNBkDx9PAJEurENHCVkFvCusajmGTo7BB8eaAQTEGTKcBwxzy5G0BXZMxYHbosDTLIpoSG3BfEiNbdejWTYz8VfX0-cbzynpaU_eV9tnKGp24Bzi0dD5hlPt-ntKXGA21to1s8XXUuJtNL1z-yjU3K6pNX_FnB5h2Rw8wnwVn57M_lbsI0yw95HlrGuO6lMoV9-FqzEUNfYA719dda5QV6I-wIitUSFn3uXVHcErMgngLqWBGKg7TAg09wgBi2sPRUL_Ocb1l3mYwR_ZlDmTGIQuK8HWonjONmw-3XdHfuhzb5_j8WzQPp3hLiILoYkY6RfQCPoqmnJgfULb30c4CP7eN4nnyCfP4p0k-yX9i8kn_A5LPbBGmfhrFew6zrPHpj6N5XoMXEeYzhGkaZ3uES30tZQ1UrKRg3Ja7Lwjey_JmBi-hJLPVlVapH1zM4O-FubS5STA3RlYlP5UxyGzdpIEfFgfG-LzL2hepCg85v4h0tmLSJAj9A6TvhXnBtfPHv3vgn0F3tTmGvrz9spLCwNN-zE-RG5zBGdxUFZRG_50L9sOnRjRnH1F4ntEZSS5Oe5cz-2fuF7nPHvj3d0FWncmynWRFAAWbJA5o6LDu3kP54Eq3ZVmC1m_zzLNGPlcL7iQZpbmIKAPtUZRkJkpIyuoHiHI5-BbgCD-dwmcAyTn4K9m0NRhgx7XW6Zc9t-4Z1YfhAfxfMDyOwchvUjQkZRIlfnqa37I0H8WGC67vN11d_1mCf5Ufe0oj4UkNklBSJUCfIczY-927X1Bf5BrKesq4P3IyrR9OuUtR68HvqU0fVSZJHodsQu2Te-x68Pvavbd3A7OsDKjd31ItBVsao3jRGdDHpPuLjlPyUQ_sCzRtTQ3YNea5RH7YaiPVZyq2YJW_6ETv5RnFC6bi0bAM8xfF-0XJrp3K86l_SG3P3rZQHrMd9RvWt1NqTNR_m8rH18-n4Nyw_x79ncKj_mSmf5lV6VnSt9ym2gMLP2fT0zLPRTkp8svDcHzFLq29VuCXhupyA2AlHgcgnA8AK16eAD-X9P82IVlx4ORJkZykCctCct7Ju7dQH9U8I0-S8HibedvQuv7VvdPzwtXs1nBwFYk6exP5iuxhG71upE5mjreP1KVGotd6HIl4NhIQ--ctfXokfhbpLyebFWaUbVqyp2mShMVZGqvhfepevmvJvnkku2z50wMbYadz2JCdL382w3vkOewXK7xj35Syhcta29EZyU7r9iSBLApfRXYNlfuicZ60D-qWy1V3H6iBMSN84Be-metlGUXLZ0tclITsvzXeJVdGq_Be_2h2g5IESQov6v9RHVj3_fBdzfF4_NmC4cUx7R9K2HO84laUy7nW6jKqFsxVg-DVhdlEvGfn_Q_X7ujJ1F-oHQTjUhbN7iqSnNLza8LNU2-wZ4vbS-l1OUUs51GRWZmfUBrFZxX5ItsP8Aj18eOPjy39vw4-mVkhtE-an6E6WQaNj1j-IVlXw_umlcq4Vfiia2hPdpRiWqgncZkFx-ZwX4xnc_TTW73L1jk9sBH2pKqN8iQNs-wQ9koy-AXE0k373SMpKDsDw6HhO_BLgB3gjGAntWRUxpSlE7ttlF0gBTuB9qI4eyQjzknxGBUszQhMRe17fu_ejZRwWtfniV3Q1wPakcukNoxYBBkJpg8oHeqR0uO-bMjOUb5gmhpQjhwmpZrP8jAsKlSWwV1D-fSGzL0xcKlm1e-U2b0jsKlnhabHpl80XoRKj3XPJPanTLK8yinaDcEq-OJyx-kbzPdNW5-k5bLP2MTGOH5ZliOm-COo4_d4cTDDBMnuWc9O3-Fz0H6z03KQ7uUeL6OowzcqOlnU_TKKoiBCFvdluu87GLuffZxKcpa_8WtX12QMGM0DQuSjuzvb5k4bqszdAblXdwHRQRfx3IR21e-DX2rM8v1au8sp4_a7TtCiBmQkgn4ioFI2DRXMbXgqpDLALK5SKnC7dIA9F8odQdWQbXdxhq1JiHWul_Hb3k4Dwo_uGADiB6kvd_shh92WCkynBDg8JI52uyWZy_vuj7ftXjy-bHdyvo_RBdeGGl72m9EOPm7P-tyVIy_dbZDjwvT78sI18od9c8Op8_sGf9Bmv8luvRFh2R_00nVPyMIcMssxh0OG7sOE3Yl-FHa89sE8f_mOXYUsD3P6Dq6CNCZJmkdZ-O7-Ko_8gIYVK6lfREkEVRXlOaVQktBPEj98x692xg1iEkXhgvlRXJYBDYoshrhkXuRDQ3m9sNluIdX2nduNdhVEeRBk72paQK13O3bVldu5VnRb7UV-zbXRYzvDTe329vaujddefN3vVrIij_v6rFc7Zd2IznwU7ebpDfEy38tXwy_L5MwOv4Nr5nv3hjBrj-TvOlVf_fENeoMqj1fk_wMAAP__VByw_w">