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

    <tr>
        <th>Summary</th>
        <td>
            clang++16 crashes on calling a constrained templated member function on a template
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Hi,
I've come across a new bug in clang16 (new as in: not present in clang15).
The following code crashes the compiler.

https://godbolt.org/z/3q8zevsdb
```c++
template<typename>
concept AlwaysTrue = true;

template<typename>
struct V {
 template<AlwaysTrue auto>
    static int get() {
        return 0;
 }
};

int main() {
    V<int>::template get<5>();
}
```

I have seen some other bug reports on here that have simmilar issues but they only seemed to produce crashes on more specific examples. This is basically as general as I could get it.
The important thing seems to be to have an outer template class with a constrained template function inside it, everything else seems to not make a difference.

Crash Report:
```
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-16.0.0/bin/clang-16 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name example.cpp -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 x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=4 -debugger-tuning=gdb -fcoverage-compilation-dir=/app -resource-dir /opt/compiler-explorer/clang-16.0.0/lib/clang/16 -isystem /opt/compiler-explorer/libs/boost_1_81_0 -internal-isystem /opt/compiler-explorer/gcc-12.2.0/lib/gcc/x86_64-linux-gnu/12.2.0/../../../../include/c++/12.2.0 -internal-isystem /opt/compiler-explorer/gcc-12.2.0/lib/gcc/x86_64-linux-gnu/12.2.0/../../../../include/c++/12.2.0/x86_64-linux-gnu -internal-isystem /opt/compiler-explorer/gcc-12.2.0/lib/gcc/x86_64-linux-gnu/12.2.0/../../../../include/c++/12.2.0/backward -internal-isystem /opt/compiler-explorer/clang-16.0.0/lib/clang/16/include -internal-isystem /usr/local/include -internal-isystem /opt/compiler-explorer/gcc-12.2.0/lib/gcc/x86_64-linux-gnu/12.2.0/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++20 -fdeprecated-macro -fdebug-compilation-dir=/app -ferror-limit 19 -fgnuc-version=4.2.1 -fno-implicit-modules -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/example-6c1e45.o -x c++ <source>
1.      <source>:13:29: current parser token ')'
2.      <source>:12:12: parsing function body 'main'
3.      <source>:12:12: in compound statement ('{}')
 #0 0x0000565457cad8df llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x3ba18df)
 #1 0x0000565457cab354 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f16ba6cf420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x000056545ab3d33a clang::Sema::BuildExpressionFromIntegralTemplateArgument(clang::TemplateArgument const&, clang::SourceLocation) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x6a3133a)
 #4 0x000056545acbce2f (anonymous namespace)::TemplateInstantiator::transformNonTypeTemplateParmRef(clang::Decl*, clang::NonTypeTemplateParmDecl const*, clang::SourceLocation, clang::TemplateArgument, std::optional<unsigned int>) SemaTemplateInstantiate.cpp:0:0
 #5 0x000056545aca9de7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
 #6 0x000056545acb8305 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
 #7 0x000056545acbc0b7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
 #8 0x000056545acbeab8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) SemaTemplateInstantiate.cpp:0:0
 #9 0x000056545acc0988 bool clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLoc const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentListInfo&, bool) (.constprop.0) SemaTemplateInstantiate.cpp:0:0
#10 0x000056545acc173d clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformConceptSpecializationExpr(clang::ConceptSpecializationExpr*) SemaTemplateInstantiate.cpp:0:0
#11 0x000056545acaa745 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#12 0x000056545acdb743 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x6bcf743)
#13 0x000056545a475c01 calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)::operator()(clang::Expr const*) const SemaConcept.cpp:0:0
#14 0x000056545a4773ca clang::ActionResult<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)&&) SemaConcept.cpp:0:0
#15 0x000056545a477e5e CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) SemaConcept.cpp:0:0
#16 0x000056545a478448 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x636c448)
#17 0x000056545a479098 clang::Sema::CheckInstantiatedFunctionTemplateConstraints(clang::SourceLocation, clang::FunctionDecl*, llvm::ArrayRef<clang::TemplateArgument>, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x636d098)
#18 0x000056545ac6b183 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (.constprop.0) SemaTemplateDeduction.cpp:0:0
#19 0x000056545ac6b79e void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#20 0x000056545a31aeb5 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x620eeb5)
#21 0x000056545ac75850 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x6b69850)
#22 0x000056545aa95e6f clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder) (.constprop.1) SemaOverload.cpp:0:0
#23 0x000056545aa9752f clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x698b52f)
#24 0x000056545aa97848 clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x698b848)
#25 0x000056545aaa3f08 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x6997f08)
#26 0x000056545a73f6d2 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x66336d2)
#27 0x000056545a76369b clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x665769b)
#28 0x000056545a233da4 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x6127da4)
#29 0x000056545a22b5cd clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x611f5cd)
#30 0x000056545a22e8ae clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61228ae)
#31 0x000056545a22ea9d clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x6122a9d)
#32 0x000056545a2337bd clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61277bd)
#33 0x000056545a2b9b30 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61adb30)
#34 0x000056545a2aeda2 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61a2da2)
#35 0x000056545a2af7b3 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61a37b3)
#36 0x000056545a2b0666 clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61a4666)
#37 0x000056545a2b1a22 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x61a5a22)
#38 0x000056545a1cf174 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x60c3174)
#39 0x000056545a2002ff clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x60f42ff)
#40 0x000056545a1c9617 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x60bd617)
#41 0x000056545a1ca75f clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (.part.0) Parser.cpp:0:0
#42 0x000056545a1d2194 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x60c6194)
#43 0x000056545a1d372d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x60c772d)
#44 0x000056545a1c2a8a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x60b6a8a)
#45 0x0000565458f9d865 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x4e91865)
#46 0x0000565458879671 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x476d671)
#47 0x00005654587fd993 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x46f1993)
#48 0x000056545895db3b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x4851b3b)
#49 0x000056545548641c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x137a41c)
#50 0x0000565455481bdc ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#51 0x0000565455482207 clang_main(int, char**) (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x1376207)
#52 0x00007f16ba17d083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#53 0x000056545547dd1e _start (/opt/compiler-explorer/clang-16.0.0/bin/clang-16+0x1371d1e)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXFtz2ziW_jXMC4oqErw_-EGR42nXpifZtrfn0QUChzImIMABQF_612-BpC6gZNnOKpne3e5KKwqEy3e-c3DwAYREjOFrCXARZB-D7PID6e290hcr0YPgxnyoFXu--IUHeBVEl0G0vA5w8QCIqhYQoVoZgwiS8Ijqfo24RFQQuY5zFODSlRKDuAySJZLKok6DAWl31bIAV4ux39t7QI0SQj1yuUZUMUBUE3MPBtn7YbyOC9BT7fH13trOBMkywFcBvlorVithF0qvA3z1R4Cvkn-Vf8CDYfXUKI_GPzTAH92fodRC2wliIUhW9rkDSVoIkk_jZ1RJCp1FS_FIns2t7gEFySWyuocg-bgP5VQvxuqeWvQ7CoqpDdqrvtc36a3atkIIIWOJ5RRxadEabIDLAFd7vUz_abC9lijaQkJBcTmBKy5nQF1fLeHyWGe_B8mKS-sgJMsg2Ro1DJ6sMvfB0GzX53agDbf7Y12je_IAyABIZFzAKHsPeogUDZ3S1iAl0T1oQPae2Kk2b1suiEbcmB4MqnvrIuAZKSmeXV8tMGQV6rRiPd1FiZKoVRqQ6YDyhlMET6TtBJgFur3nBnGDamI4JUI8u7BcgwRNhHt7jajqBXNmIm73ApK3DiWRDoELSze6cYPX4F4HvEQi1VvQW5-62DYGPXJ7jwiiShqrCZcO9aZG00tquZKIS8MZIG4DvELwAPp5HAiEgd1obu605BsgghhvGtAgKXgzYeVIQL8NpDrfHfPJ18-fljefkOnrlltE9tww2OLPJW7v-3pBVRvgKyEeNn-FnVb_BGoDfDW6J8BXiEiGuKSiZzDO1QFMTeg3qwkFZ1qnodOKgjHAkFG9HotdS2KMopxYYEj3EhmqebfxwY0l9BtifdttjYoWQVR91WqtSYuIXvctSOuAowBfqc4h2-SKEJ46oTRoV-byTRjni2gRBfiqdhNgW4hCSmMUWs07AeipzO_yNOzlN6keZSi47J_CtexRCC23oar_icJWgyBPIREChYwbUgsIGw2AQiqA6JAYG9bQKA2h4wEk29UbeHwAzRsOeiimRLPwgYgeQpc4DArdDA0bLsaCTSgvaNeNYytKXPyErWIgUMcpCjtOQwEPIBAe_8FN2HFAYdto0kLYKS4t6CC5HFA3LbH3IWgtFQqbpgupks5dNkgulURhI1WoVS8Zl-vQ1UVhO8ZyT63SIRGcGAe16eUjlyy0zjgTJJcYhZboNdiQdr1jM8xTFNpewlAwzDsHuHVEONaB2NBQIkYW-RMwh8uNYcJHoqWbECGDul-HXDYq_MYlC5LLPTQoZI9EN45Vw5UMkst0arEG7Ybmch0kl2tWo7Ch6gE0WUM4xslIJOOOmQBfEUexhjFGXfG74krwelMY4CsXWdw8Gwvt6V4Er91MqpUy9i6-K-O7CIWDuyQRb-tiTWkY4wXeg7GmNMBXUzhvw9jh2tRbLA5fppnshpmWyU2DPyGkI539OVG6LPBINHsvulfiazfs8Y57M4SXokS8VvUnMHSk_iEkeHJv6KEVO35PuPxI6_cPgUJjhwwz-hFHKGwYdBqoW6bC1uneocilpJezSDNmMcHdehtXKGzWsqf7SWqBF_GYannbCU65dRm9F0NepU9PITw5_cmVdAXeP6gSSoeMk7VUxnLqyghj2vA1Ci_v7v62Wt39svz9093lP5a_XeG71dX13fLm1yC5jFGonMm27QJ8NS0tYU5jSLOFQuETmuxGQbKa1uqNKI3d6usVJ8s4CZKl04RLRHutncDviDZOEalvIFGACycZcTF2gY91gTcvQ1OX8LcSyW1AXB-jaJ06SU534jYYqu3c8jVoaHAiAQ3atXCKt7icQE1yGScRip6iKIqyPEuzghJWsgYNwmdQwubZjG--ai7tIEtuR21T7ipp8ninjFvP2gDnTt84Me1Ethv4e8VJgD9GT0lN4pI1HuR4BrlOshTd8LUk4hcimXBdlxOCsdg4AREky2j4f9sRnjoqmjivSU6bFEfo7k6DsUrDnZ6Ym6b-kUkseN3Zew2ELYxyJnyMnuI0xZGHN9nHS-qEJQkZ94EjfTfQkvHdx54L9unJbRfdTLnSqr2WFtaaiNtJQi8n5Rfgcq-L-aej-p6csT_UEDafJxV1HhflJImThHgmp57JtKaAGzcUkUo-t6o3aNB73RBJlW_DtTRu58GJVXrajmkiTaN0-3clb5872NT8SnT7GzQ-FZdARYCXM8OPtHQVNzzNq8958j48dMUKDXnTfaiGREVEkKx6OZwwMDRtLV04QksO7YTj4Zn5JJKKQeHh0AC3G2qCZPVd_H7a9DX146LPJ3QsWb4bfj6LgTKJsh8O3zl5NjWeO-fIYWq5iJ5Pienzd5tXzEM8qn-8d46bN0brtWzU9_ipnBkCpC5_vCHvSmefFX0pox2pOlWqlRLvJqPyyaBRVZZDTz-dERMkq7dRshyPp95a-VX-3lyVGzsGncd3gMvF0EOnVecWjXe4wK3u0cwFcZGwH87-ajzwvOmAciL4H0PeP8yFJ6q9b-I5Q-NZfidF-uMT5Hnyu4OPffisLtLkuKy56WtjV5vzQHsCghdvv_bC8s_wAAfix0XeXkI4i4qpaVOkyVbFOAt94ZYWGY1iRImgvQOzM-iGWG4aQketUM45OMhZfyctsO-WH2-mxWvlKH5puJcsybexFeBCkLZmZNg-zF2312-1UUGgh_gbT81PthjfD7E3Ta_j8ZbOvFEk1JPRywH1b2B6Yf3cuRde4xOMT696MVn95edX_PzpLRR8J5zVX9PsFfpdq3yTs0_Om2w-byADtLoH-u3c1O5OBJZak2e3NTuYh75o2W9z0xIhfgdqlb5uO3F8CrtGczDf56nR-b8RuYZ3-Ol1uvMZ3WWalseXxTf74P8v22dY15OcpmnprevFzEVVVJ1y0Z4SYlfT6dzG9h16M5s3p3LLppe9s4rXvHmwYRod-lOJZFHlEznbOuZ1XL4gAa-45OZ-bsQlsP5IvM9JPkrTyQAeOgZ2lLQhNL2zmVecM49ls7VqB3CyY2879EakO4q-aL7mkogVEWKp14NK2Zvu4_Zqv9_NSfGdHoJl2KVuril8esNObIv6eCKr5s4tKkAPirOXIQyf7iAMVSgRoib0210jX7J89NbhBvitQfGmPeqbc-YuW54_KN7sxNeA_mdPxHAYNHh68-ppiHgUEVutJpRcvy8EsL8VT2ICdXZ8fute_oPb-5u-aTjlMD0quBk3qKfz4luj6TxZDEcAdbafxfBsH15kZRYdt_KvQD1LoJ5lu55XZRZ5fvQPJEiVQd4c9-OSbZeGLw-ghSJsRSTjjFj4Hme60iWlYMxXwvVP8vQB8huwM-_N_95XC0SIoetx6MvPruA_uGSvjfKVaNJ-0cNZ-nyJiTf5ZdPqeFpJZo4qMvyyozZdAXMItzBmk-6_pAajxAOwz0p967u9Lf-PI_gsgVyVdYYbL5DTOT_lS1uIuudixtAA0su4VHVwGLPHz9zexOOv_XDn6Z10nlTEx7meo3vPEc90uHQeD5X-DgL7e2pCkiZ6wUMfDz10eP55Lhe9cZ39Af7bA-EnnfN4oCqayPeAv80ukiZn-IQHzsD7_ylG8yTJGfYY9XfFRZ7kVf1CVqb2i_xfzOh5GMyKvKo9Bv3tME4SRtJ9AF-H20F7778qYxv-tLvxMejnJ5_S9yW9s9gW44KR1LPN3w1iXGeUnbRtRYzdGeabtF_Z1Rv-vREffrTP5et-U6crXfMbO-i2edNzeTqOm4yyfTb8W1MEYygJ_Fg2_s0UYFwS8CiI5xSQ6nRALIcv3DgF_BYiZoadywpS-Y7E8ylb1Ket-PdhL4rax-7LaFxXdRK9iv1mcyvwZfjDe3ZjW7tS0sLTma7y5TFhdeJt2Wb3xDABRvBJE7bwv2i36SJ6SPTLxoJeWqt53Y9bg6Onb7PzJ9tuJGaC-6Nn3a-wcnLpmS92Y_t9kEdHm9c4E_OYEW-1n10uw6Qp6uQ7mP-zUH0mmpKi9q4AzC6x4TrK8_x0op-u327p-qjYc4DLM2q3mKR5nnswixnMmODT82hzrjGHOTvUeCGMvbgYFd_5QtUtJp5xvqyKaRMXp2XV7gys4ZIfPl_4Ol613oSxOnIr8DAcd_diGvXSU679Vp_Hs5JpRn_m2-sOZyApoklcePpsdnENRxFumpMGOev_plXfvcjNTQf00MYda8cn5-t57k2ZcoJ6pfTw0PBa8nPy16S48c5c0mgWZFUeF6_y90Xvhdr19C2LIwvr-9P-QY2TPhnPHm_GL4BuD-b-xyzVLI8Lj6V4xhIpstejbFoqPLJenJdn5-rwDOkYV4uOaDs-IhttOHpymfpyMWY4rk6nok9PY1D4S-ZPsPlMeSaPKy_PpMmMgaTApwXzreqG2wLjcrJv-peO_KuHr1bPn91OiWnY9h-RCruDiF-H7wxdD19WnsT2udahiBYF9vR2ms6CH5OSHJi-vLl98QLNDzjHieqclMSD6Sm7sqlYmWf-PQEGfwO5nC66jQcJQHsLy82z-POAS6GKy9x71pZ6eqosiyovYu_xlXaLimRH0J0PV5GzvIg9XJ6AKouGVVXikzaONN4FoXCct5cNOVdcpnkTV5WnUVNPH5VVxuqk9s-9BpQ7Ex62S295ysRzpZG0zOI68Y7KUk-uZGmZpzFFlMZ30080HH9oc08ObjT5ZXg13FA4G_Q4KUga033oWTSDHteMog3Hq_h2mNzHd0Wb6x8HdgzRwTR_eGHhyeLZoBhHkzzZMLa5yHJPxjPB8zGQ48hTAZn_vbm4YFGZoLs7wWt6ZyzRdsD0hi_P0YVRi3EcnEalF9ZZ4ptcMBYDGvs_j10xi_eOtDa_GfGBXSSsSiryAS7ivEzKKsJx_uH-IksqgAZXEJG4iXGUlSTOCa2zvE6hguwDv8ARTqIsxnEc51m-oFla4yKLiiQjJcnTII2gJVwsXHAslF5_GH5L4iLHeVF8EKQGYYafo8FYwuP4OyABxkF2-UFfDL-eUPdrE6SR4MaaXS-WWwEX41QevsAa5_u_DkKJEFyuX_hNDoZaaGvQuy-eKonI9uMPvRYX3_8bGYNp_x0AAP__Hk8xsg">