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

    <tr>
        <th>Summary</th>
        <td>
            Clang crash: Assertion failed: (Arg.getKind() == TemplateArgument::Type && "Template argument kind mismatch")
        </td>
    </tr>

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

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

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

<pre>
    Hello,

I managed to write some C++ that crashed clang 13.0. Then I built llvm from source (commit 53069de6aa4ce1e130aa58fc36b4be08a53d3aba) and verified that it still crashes on clang 15.0.

Here's the C++:

```c++
#include <iostream>

template <template <typename...> class Template, typename T>
struct is_specialization_of : std::false_type {};

template <template <typename...> class Template, typename... Args>
struct is_specialization_of<Template, Template<Args...>> : std::true_type {};

template <template <typename...> class Template, typename... Args>
constexpr bool is_specialization_of_v =
    is_specialization_of<Template, Args...>::value;

template<typename T>
struct NoCopy
{
  template<typename ...>
  requires (not is_specialization_of_v<NoCopy, T>)
  using Self_t = NoCopy<T>;
  using Self = Self_t<>;
};

int main() {
  std::cout << "Hello, World!" << std::endl;
  return 0;
}
```

Here's the message that CLion outputs when I try to build it:

```
====================[ Build | all | Debug ]=====================================
/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake --build /Users/spresser/ml/sg20crash/cmake-build-debug --target all -- -j 6
Scanning dependencies of target sg20crash
[ 50%] Building CXX object CMakeFiles/sg20crash.dir/main.cpp.o
Assertion failed: (Arg.getKind() == TemplateArgument::Type && "Template argument kind mismatch"), function TransformTemplateTypeParmType, file SemaTemplateInstantiate.cpp, line 1834.
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: /Users/spresser/ml/llvm-project/build/bin/clang++ -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk -mmacosx-version-min=11.6 -std=gnu++20 -o CMakeFiles/sg20crash.dir/main.cpp.o -c /Users/spresser/ml/sg20crash/main.cpp
1.      /Users/spresser/ml/sg20crash/main.cpp:19:16: at annotation token
2.      /Users/spresser/ml/sg20crash/main.cpp:14:1: parsing struct/union/class body 'NoCopy'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  clang++                  0x0000000104f2aef4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  clang++                  0x0000000104f29dc4 llvm::sys::RunSignalHandlers() + 128
2  clang++                  0x0000000104f2a434 llvm::sys::CleanupOnSignal(unsigned long) + 236
3  clang++                  0x0000000104e6479c (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 128
4  clang++                  0x0000000104e649b8 CrashRecoverySignalHandler(int) + 124
5  libsystem_platform.dylib 0x000000019e88ec44 _sigtramp + 56
6  libsystem_pthread.dylib  0x000000019e84343c pthread_kill + 292
7  libsystem_c.dylib        0x000000019e78b454 abort + 124
8  libsystem_c.dylib        0x000000019e78a8d4 err + 0
9  clang++                  0x00000001087b1a5c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (.cold.275) + 0
10 clang++                  0x0000000106cbca94 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) + 17356
11 clang++                  0x0000000106cb83e4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 216
12 clang++                  0x0000000106cd7128 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) + 268
13 clang++                  0x0000000106cc32a8 bool clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLoc const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentListInfo&, bool) + 696
14 clang++                  0x0000000106cd2b04 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformUnresolvedLookupExpr(clang::UnresolvedLookupExpr*) + 968
15 clang++                  0x0000000106cd521c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformUnaryOperator(clang::UnaryOperator*) + 140
16 clang++                  0x0000000106cbe748 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) + 52
17 clang++                  0x00000001067c3388 calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceLocation, clang::MultiLevelTemplateArgumentList&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_5::operator()(clang::Expr const*) const + 372
18 clang++                  0x00000001067c2c6c bool calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceLocation, clang::MultiLevelTemplateArgumentList&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_5>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceLocation, clang::MultiLevelTemplateArgumentList&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_5&&) + 240
19 clang++                  0x00000001067bf2c4 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceRange, clang::ConstraintSatisfaction&) + 276
20 clang++                  0x00000001067bf0c8 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceRange, clang::ConstraintSatisfaction&) + 472
21 clang++                  0x00000001067bf8ac clang::Sema::EnsureTemplateArgumentListConstraints(clang::TemplateDecl*, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceRange) + 188
22 clang++                  0x0000000106beaf9c clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool, llvm::SmallVectorImpl<clang::TemplateArgument>&, bool, bool*) + 3604
23 clang++                  0x0000000106be8f54 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) + 396
24 clang++                  0x0000000106beb9b0 clang::Sema::ActOnTemplateIdType(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::OpaquePtr<clang::TemplateName>, clang::IdentifierInfo*, clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::ParsedTemplateArgument>, clang::SourceLocation, bool, bool) + 780
25 clang++                  0x000000010664da3c clang::Parser::AnnotateTemplateIdTokenAsType(clang::CXXScopeSpec&, bool) + 192
26 clang++                  0x00000001065b46f4 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) + 3928
27 clang++                  0x00000001065a8908 clang::Parser::ParseSpecifierQualifierList(clang::DeclSpec&, clang::AccessSpecifier, clang::Parser::DeclSpecContext) + 64
28 clang++                  0x00000001065a863c clang::Parser::ParseTypeName(clang::SourceRange*, clang::DeclaratorContext, clang::AccessSpecifier, clang::Decl**, clang::ParsedAttributes*) + 264
29 clang++                  0x00000001065cdee0 clang::Parser::ParseAliasDeclarationAfterDeclarator(clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::Parser::UsingDeclarator&, clang::SourceLocation&, clang::AccessSpecifier, clang::ParsedAttributes&, clang::Decl**) + 1396
30 clang++                  0x00000001065cce80 clang::Parser::ParseUsingDeclaration(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 2280
31 clang++                  0x00000001065d6608 clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) + 2056
32 clang++                  0x00000001065d8f84 clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&, clang::ParsedAttributes&, clang::TypeSpecifierType, clang::Decl*) + 1912
33 clang++                  0x00000001065d3964 clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*) + 3152
34 clang++                  0x00000001065d1bf8 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) + 7028
35 clang++                  0x00000001065b3b68 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) + 972
36 clang++                  0x0000000106649084 clang::Parser::ParseSingleDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 640
37 clang++                  0x00000001066485e8 clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 1416
38 clang++                  0x0000000106647f08 clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 304
39 clang++                  0x00000001065b3260 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::SourceLocation*) + 612
40 clang++                  0x00000001066593f8 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 500
41 clang++                  0x0000000106657abc clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 1832
42 clang++                  0x00000001065a1984 clang::ParseAST(clang::Sema&, bool, bool) + 672
43 clang++                  0x0000000105800734 clang::FrontendAction::Execute() + 112
44 clang++                  0x0000000105796490 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 840
45 clang++                  0x0000000105874994 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 544
46 clang++                  0x0000000102ef450c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 2192
47 clang++                  0x0000000102ef2694 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) + 952
48 clang++                  0x000000010563b580 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) const::$_1>(long) + 28
49 clang++                  0x0000000104e646b0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 252
50 clang++                  0x000000010563b008 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) const + 224
51 clang++                  0x000000010560ee38 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const + 488
52 clang++                  0x000000010560f19c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*> >&) const + 112
53 clang++                  0x0000000105623498 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*> >&) + 224
54 clang++                  0x0000000102ef1e10 main + 9008
55 libdyld.dylib            0x000000019e861430 start + 4
clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 15.0.0 (https://github.com/llvm/llvm-project 53069de6aa4ce1e130aa58fc36b4be08a53d3aba)
Target: arm64-apple-darwin20.6.0
Thread model: posix
InstalledDir: /Users/spresser/ml/llvm-project/build/bin
clang-15: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-15: note: diagnostic msg: /var/folders/8f/5fdgh9l120lfbrs2t8plgr7r0000gn/T/main-5e2147.cpp
clang-15: note: diagnostic msg: /var/folders/8f/5fdgh9l120lfbrs2t8plgr7r0000gn/T/main-5e2147.sh
clang-15: note: diagnostic msg: Crash backtrace is located in
clang-15: note: diagnostic msg: /Users/spresser/Library/Logs/DiagnosticReports/clang-15_<YYYY-MM-DD-HHMMSS>_<hostname>.crash
clang-15: note: diagnostic msg: (choose the .crash file that corresponds to your crash)
clang-15: note: diagnostic msg: 

********************
make[2]: *** [CMakeFiles/sg20crash.dir/main.cpp.o] Error 134
make[1]: *** [CMakeFiles/sg20crash.dir/all] Error 2
make: *** [all] Error 2
```

Here's the file `/var/folders/8f/5fdgh9l120lfbrs2t8plgr7r0000gn/T/main-5e2147.cpp`: https://gist.github.com/shawwn/364ab515a959726499660b3a94e5a4ff

And the file `/var/folders/8f/5fdgh9l120lfbrs2t8plgr7r0000gn/T/main-5e2147.sh`: https://gist.github.com/shawwn/e9ee5aa161ee6604447959ad99abb3ef

Lastly, here's `clangd_2022-05-10-110622_Shawns-MacBook-Pro.crash`: https://gist.github.com/shawwn/54720c974df4c33a0fcd9bdd72813393

Let me know if you'd like any other info.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztXFt3qzqS_jXeL1r24m54yIPjJGdnOjlJx9l9ds-LlwDh0MGIFpCd9K-fKklg8C0m-3JmzZwsrwSDVKr66iohJeTx29lnlmV8ZM1HxsXImKnf12RNc7piMak4-SbSipGSrxmZj6xz-JDqiVYkErR8giZRRvMVMe2JMSGPTywn1ySs06wiWfayJonga-hci4iRkeVHfL1OK-LahhfEzKPUiZjJTNug1PWTyPZCJ2SGT107tmlIR1ZAaB6TFybSJEV-cGQgUFZplmkWSsLzhgsXuOhK8pkJNrKmJXRs2R_Zs26TkWeoT6Qfq7uWneZRVsfAtj1PeVkJRtcj-7LbtWLrIqOVbNK7fitYTtdsMplAD-StLMmjbgBYk6YBeWwpwgB1BLKVy7JgUUqz9D-0Snm-5AmQnIHEMTJuzxKalWyJFMhoej6aXozs8x_KFDQgM7EqT2EN6HZJtNf2HCmooXC0ngRA7tcKEPG8rNhrIUjIebZXkOULDHGhmhP4OUHYroQo1gvNanZAlg77uzr_nc958aa7Tc8bJvb11ePpFoL9u04FOAB4Vs73a2j5Av31CKgh7G4FDYW6TMFtFixLlhUC0PACkkq5zncbymaqBzTrttpVZZpXEErSHPhDV-4I1xpDxGscGQjNQQyrCUfkDy6yeGSZcK953PZheZx1eBOsqkVOjB4jfd8-GBPWrCwh0qnAMr8BzAgwVNRVSb6pYFaJNwyDGNNiCD2Hoof-Cjb04Y97Ts7lKKPpnFCIb_j3goX1iozc76D7sY8Og1ezosjSSJpTCV8lRhNaFHjN84rlFd4OUclX0Zo-A7ZXaxr175HxWAEIN76UTGCXsgDThWtsn-H3lWXIiN50Ul3GsURgPK6oWLFKAjMek_G_iKd4XEQ0z9E6YwZeErM8SjEnJER32NBVIgHMrjGyXMBU4Y1951-_Eh7-i4E7zm9h7Ks0Y2WXqUmcSk7BmidRUUy4ojZDCRAbklDoggaK3gixYQJj_y3N48b2JaptvIIG9RqwUwb9KIOh5cEHnaBpRKhuRZ6BEFmn5ZpWEeBjoQuDkyR1HsnBHwXNy4SLddMVKd5T-A5_ZUtgDrx2TZsG1xASaV6lcInyYJsszRkxfdvRKfT-5nK2uCRlHWLOpgTVIFjBRYUO8VRVRYnsW1fwWaXVUx1OIL_DF8z8-s-4EBxRha9pWdYSU5nSm-yKTigBJiGNnitBI8kv2Ab0jNBAYl0_4G3sCWGfR8h3TESdkzISaVFplhcVECFxvS5aP8WCILgXfCXougW0VHo6aItbrEtD3Fg01hq6FBqDZVIRPQHlteeQcVq-lYJDLN71nK8Rj9mu51ywF5bxQo59D5pBLeL9WxrdLb5OCn1rq-Xi4m-bRqYFZU8ZP5PxGjyPl69jKJhKGHa8BobtC9OceGQsw-fFKq8V65ZBxvxUYyfj6FTXbTop9E1Ef2hPe2YG-MtDLUFcBv_mlcQRDO-Z5Yq09UHSDv5CygUVMqupNAyt6hyGUAqG0iKE8hiEnjbJc7ptYuQbGD2mr_JtHUJdgRla5mKWl7Vg5I3X5Im-MFkJj1Wj9D9MgO3jM0HuZ4-fCRekhCiFfsDyl1TwXHr8CxUE0srNzT9ul4t_3p7f3Vz_9-XDErvAbXTAgmN6hQtISlawsXdCuga682O8GurHNJzEoixxJH8qEIH1qot7AcSlqI_KJf1NI0G_LZuCGGPWHASqZIyD8Vwdlc1BbARxtJeNhzpfpKucZp_B8zOpZ78ZyYRLZQjDJHbsvUPNM0bzurjTA8JAdV7CJYSZjCNxNaplawHtAaMyz5kG6EE-zXn-tuZ1qaylkNgGmgM01gcWcfDeNxkhXqtriNbqqUJgrgzal4jPyV4WW2CcYSwGoU96PPSgbwZtxnDUGC6BvBECilCuLptgNYnf4GaHfsB8n0WOQ5bALwR5cJ6usXg9ItUTmFasafSJgO7siOgWy2ecBEqlBJYiNO0SihoS29IGbOqHjusQGmIy68njn0yB-rFDmBCyv67_gtMR96ehSd1It1dlgGCszeRY9B63l91UzkU7G9lUBLIC8LvDwJ0bHsnaB_UqXXj3uVK1Dzk9iyfW1G1Ur0U1jZNF9aIwooHzv11UsIKp3cYvc4h4vs3-LPEWsji6zhOYNs3aKGU2YlgDxIinEDp-vhjbJXBfpK2noB0i5-97lLfbVDfCaX4LhaejoWkPgCKyLeqr5YJfjQfko_lpgMzkZP5E9Gbvo3dy07SslMHtoO0FjeE5QwzPCo2f7z9fcigQefbC4hvOn-vi8rUQffj2t2i9KmhNyR0inGuZPz_Mf8mpeLuDyYF8vCVV71Erjuk0odwbEuvY1OkFCZxV6qs6LKtdVFsUe0Z1W2dVeoNTmn3m1fF5XVfqDG9OT-d1Gtm2D7zSLKpxgDnSFBQrW5hNlAmVk-c-s1KanVDzO2glvmBR1nORTRU5E4K-PbDkuOtKd-3RVcEbXI8qTgYgtMsk4nzIhQ-J7rVmNrKcpasu-caM5ELDtjI7gwTqWqrInjY68ofoyIq8SEfadxQF4P6lytNVeXkKHB8caf6XVw1QhVzZawuSNuwGA9wkTCyYIs-fWPT8qwHvI6DQ_lFKeoDvbACqCsGpLjKsAXMQQNCIDiSuk2H9PwKg00Rqa8AsBwD0abQfwEu54rXPoTa8lPtLVUTzB3u-xkRXOX6zTDRgKhQymgQHZJXGsj92vCPfqSHqpHq7C9diTbPsHyyCnK0WjN5FrUdI_W3rQtsz9GKINWDKFDI_cZ0TILuO90xk9TP0rx-GlJammZFYA2YkIQuD0NgvzCyq7vJjwiwijrd2ksXXr_LJomDRbmg-KuZdQf9ds_tK7NesRG3HF65jAAS3TYh2ceD0EXcfbqzttq5omLH9PnpPRcnij-TovjUq5U19nSutATMuz4mp3XNeyZTQ6lMvE1hHg_hOYVbuKnKPxrrMmc2qozVg_uSGjpc4h5iT1xgxqJC44MhShVvBE5vst6MdavFm_pjwQ0spswhftbWjHaHZjKzXp4-0vIExFQezqhIqQG5iTNCu3g-Y0LnUDwz_qLitDH-vaSYvdkPzYfS-Awe9_tFEzgFTIJDKO2yv8hptU8VGf8eHdLbbdu_GirjYr6rjorZZa5vsRqNpWFf42nCz6NgKP6CwdaOYMeOo8LMspWXHKWZJxcRGvD4mH7P_o7GwS_ILvjHsjv0epQ9YWA_d7f5dxegw1GY4e0A57AIf_nHce7LulMLv2ddPUMR72L6P3g762nKtJs_YAwpiN_a8d6IRZJA5vky-ZetwY7M7WH6vUXwM63v1_hu5ephdX9-FarfDxp-N5mWIPaB0dmM_8Y8nuIOo_JFWT_eCrta0fAeg4aqX70oaAs22mH2O1SR3U2d3e0AR7MbgjO8Kr-TWzER77GFgafY-Du17Yv3e-LDcttmstNoD6mU3NmF2eFxu1HhHg115K_6slYSlmNo1dbrMv6AYamrTjxdF2zrR9a3RlEH2gALXDe3QO472_4caMmhWMewB9bfnQAV53EMXEBQztl1wbLb-_vwseCAyD601PpwPvWaJ0h5QnHuO77LjVtldE9HY3qk42G5ZHgbvT0PAdJo36PaASt5zpsk7FUHXMSsqKlAzZr2PWddPE99uVoDsIaV8aFve8ZLyw9Xk90u6TaENI16T6J0B5bPnBvY7Ce_yFaJGTrODMp9W1-k4oCJ1y7RraA91BhSsnjul4TsTTV7IdyOqKuhye2ANChv-JnhdyJWgyz24twtntzyuM3a9xh3Ei0oau7dZpbUbLQypNakZ7Anms8Xjwbch-1aZvCaROKeXeq5vGFO7N_aVkLt645l-W4n3Ll9ZVEu3biVtze30-sqdBpi3-mv86yLNcG0PdwVErDfcbM-riy3uNtD7TbB3Ti9BXH_qBP0dXXroDV8vfF9pu8N3x6YdHXSc0_O5xRLHNcCmI3OpT5rsf4vwRHdewfTvwY0Xnsa9TVTNAp9zehoEhiwPkGngmJuP0tL8o6v1O9y12gmactw5PQ-5nh2CfUp5Ouu2zWmBpZCQyKf6FX-znSQCznAf_jLJ-24ei_SlCRQgE2hxTfN428b3Qr-5eVfg8DTr3VxA-MtXKnoQrZn2pM9yaaqLkJZptCxlWw3Y_ob4ZIkvnNQ-Kmx3iCbIiibKxaahYmC29VJEaUb2wfe5pnq13tsV3Oy4PT1d4o5bLzQ6-tm3_1c9wW3QNGHZWw_j4_psOGvsxz09u6H9GP065i_964WiZtvz6WnX9QzG7MNoyoBId1JGA3Evem51xAaH5hBHms50fNnI5TQvSd3Tsy_IlZj9l6SnyPVfPCwPCwVPt7Z_HX_PuavVgqao0N2FjqOANKrfwqVN1u6AysCzbCc4qO-LznUvZ-5Jlofw_JNw6XvA6eUL5ESTmYY8CqqSGkQXTcXF7fbxWxb3t9r3KQTM90zHNsCJqd6wr7mQLIxN3LiGe_HRl2eKLzx6LgseEmmh1Ak9eWqHsNcUjSxmxIQiDg97lIyMX_A4TckYSTvVS9AZieiDVeqkuYEdh52DG3L0XY37KE8xoljyiNmYFkXGxjEV39LcMibeRFdvj_JMBFmDTHhihBS8TF_1eX6stTKQ_SKV-Hzs4NsO3jnHw8kzEqd0lfOySiOyLldyAH149Ds-nTO2-hzi7PFxNv9MHj9fkqu7m5u7P65__41cXd9cLsjjnbx9_uU38nB5f_fwiPpQffedI_TL5h8L7D1L2DYQjMgMAU_p5uDviRBYVy-Yo64SjkcPEGs_gV9uEq-egsy0jCwJRWlVfpGtxFSgna_w8NmjPq42dpllOtPNUbpfPG5zXva0Yef9I5wkLVvoBprOXtu8SUNBxRte8ZU8Ndl2fJAnUsvmXCYMsIQw90_4Gd_eji8uxp8_394uFhDF8P4T9MnVdolJ51Dwqbz50RPnpTq1qvqrk7XqP2JwAQwXPI9LjCPyiJ8-gBh8wHt-kA_JI9nuuSWPkKMM-imBm6cedXYvyCUGVwyWParmYKoQhzbkrA6xbSr7Gr5_nl9qAxv8SPcDcsDddqAvq0kv2pdP9Ns3JGF7Dg1d06WBG0wtmLgHnmeENg0c5lInSbrMz_L45_ANVjeQbRYw4I-anskYMOw4zhQEoHEQ0DC0WY_tG1pWmfyHEk8N-vgfVNC846VlWNbYcMemMTZNw7Os5QLGyMvxLY3OOX8e3wuunW8gi64zBWsKpk6cOJFtUyOJ4iCM46nlm7Yd2D0WWUXWjDzn_BtJE_RGYBOmw-kzg9D_RjjAjkdxEz75FJ_ZcWAH9FOVVhk7m8tUrzgE9v68M_6fapGdffygveuCKX56OnOsKHQYC13DSwKoO6aW7Yee5U9t36N-EnzKaMiy8gy8DsbNGQCGJJAH9-JTeoYKNVzTMDzTt8xJZEyD2IqC0AxCxwrZyDEYmF42QT4mXKw-iTPJUlhDrHaMDBRabh5CzsV3kUwOB_RpXT1xcaaU_EmOfCY5_x_73LNU">