<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/116246>116246</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Crash when using alias to template with std::enable_if_t
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sparr
</td>
</tr>
</table>
<pre>
I apologize that I wasn't able to creduce the attachment source here. I'm still actively working on the source in question. I may be able to come back to this and improve this bug report later.
This crash happened when I converted code like this:
```c++
template <typename ThisType = coord_point_ob>
static const std::enable_if_t<Origin == origin::relative, ThisType> north{ Point::north };
template <typename ThisType = coord_point_ob>
static const std::enable_if_t<Origin == origin::relative, ThisType> north_east{ Point::north_east };
```
into code like this:
```c++
template <typename ThisType = coord_point_ob>
using RelativeType = std::enable_if_t<Origin == origin::relative, ThisType>;
static const RelativeType north;
static const RelativeType north_east;
```
```
Stack dump:
0. Program arguments: /usr/bin/clang++ -Og -Xclang -fno-pch-timestamp -Wall -Wextra -Wformat-signedness -Wlogical-op -Wmissing-declarations -Wmissing-noreturn -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpedantic -Wsuggest-override -Wunused-macros -Wzero-as-null-pointer-constant -Wno-unknown-warning-option -Wno-dangling-reference -Wno-c++20-compat -Wredundant-decls -g -fsigned-char -ferror-limit=1 -std=c++17 -Winvalid-pch -Werror -Isrc -isystem src/third-party -DGIT_VERSION -DIMTUI -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -include-pch pch/main-pch.hpp.pch -fpch-preprocess -c -MMD -MP -fcolor-diagnostics -o obj/coordinates.o src/coordinates.cpp
1. src/coordinates.cpp:50:1: current parser token 'void'
2. src/coordinates.cpp:18:19: LLVM IR generation of declaration 'real_coords::fromabs'
3. src/coordinates.cpp:18:19: Generating code for declaration 'real_coords::fromabs'
#0 0x0000767b35fc4d90 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/Unix/Signals.inc:723:22
#1 0x0000767b35fc226d llvm::sys::RunSignalHandlers() /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/Signals.cpp:105:20
#2 0x0000767b35fc226d llvm::sys::CleanupOnSignal(unsigned long) /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/Unix/Signals.inc:367:31
#3 0x0000767b35ea88e9 HandleCrash /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:73:5
#4 0x0000767b35ea88e9 CrashRecoverySignalHandler /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:390:62
#5 0x0000767b3524c1d0 (/usr/lib/libc.so.6+0x3d1d0)
#6 0x0000767b3f0d2df9 clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2df9)
#7 0x0000767b3f0d4da5 clang::CodeGen::CGDebugInfo::CreateRecordStaticField(clang::VarDecl const*, llvm::DIType*, clang::RecordDecl const*) (/usr/lib/libclang-cpp.so.18.1+0x16d4da5)
#8 0x0000767b3f0d55e2 clang::CodeGen::CGDebugInfo::CollectRecordFields(clang::RecordDecl const*, llvm::DIFile*, llvm::SmallVectorImpl<llvm::Metadata*>&, llvm::DICompositeType*) (/usr/lib/libclang-cpp.so.18.1+0x16d55e2)
#9 0x0000767b3f0ded10 clang::CodeGen::CGDebugInfo::CreateTypeDefinition(clang::RecordType const*) (/usr/lib/libclang-cpp.so.18.1+0x16ded10)
#10 0x0000767b3f0e022b clang::CodeGen::CGDebugInfo::CreateType(clang::RecordType const*) (/usr/lib/libclang-cpp.so.18.1+0x16e022b)
#11 0x0000767b3f0d2ba0 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2ba0)
#12 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#13 0x0000767b3f0d3855 clang::CodeGen::CGDebugInfo::CreateType(clang::TypedefType const*, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d3855)
#14 0x0000767b3f0d2b86 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2b86)
#15 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#16 0x0000767b3f0d3523 clang::CodeGen::CGDebugInfo::CreateType(clang::TemplateSpecializationType const*, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d3523)
#17 0x0000767b3f0d2b93 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2b93)
#18 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#19 0x0000767b3f0d3523 clang::CodeGen::CGDebugInfo::CreateType(clang::TemplateSpecializationType const*, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d3523)
#20 0x0000767b3f0d2b93 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2b93)
#21 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#22 0x0000767b3f0d3855 clang::CodeGen::CGDebugInfo::CreateType(clang::TypedefType const*, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d3855)
#23 0x0000767b3f0d2b86 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2b86)
#24 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#25 0x0000767b3f0d3b67 clang::CodeGen::CGDebugInfo::CreateType(clang::FunctionType const*, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d3b67)
#26 0x0000767b3f0d2b58 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2b58)
#27 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#28 0x0000767b3f0d5731 clang::CodeGen::CGDebugInfo::getOrCreateInstanceMethodType(clang::QualType, clang::FunctionProtoType const*, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d5731)
#29 0x0000767b3f0df408 clang::CodeGen::CGDebugInfo::CreateCXXMemberFunction(clang::CXXMethodDecl const*, llvm::DIFile*, llvm::DIType*) (/usr/lib/libclang-cpp.so.18.1+0x16df408)
#30 0x0000767b3f0dfd82 clang::CodeGen::CGDebugInfo::CollectCXXMemberFunctions(clang::CXXRecordDecl const*, llvm::DIFile*, llvm::SmallVectorImpl<llvm::Metadata*>&, llvm::DIType*) (/usr/lib/libclang-cpp.so.18.1+0x16dfd82)
#31 0x0000767b3f0ded2c clang::CodeGen::CGDebugInfo::CreateTypeDefinition(clang::RecordType const*) (/usr/lib/libclang-cpp.so.18.1+0x16ded2c)
#32 0x0000767b3f0e022b clang::CodeGen::CGDebugInfo::CreateType(clang::RecordType const*) (/usr/lib/libclang-cpp.so.18.1+0x16e022b)
#33 0x0000767b3f0d2ba0 clang::CodeGen::CGDebugInfo::CreateTypeNode(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2ba0)
#34 0x0000767b3f0d2fdf clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*) (/usr/lib/libclang-cpp.so.18.1+0x16d2fdf)
#35 0x0000767b3f0e04d9 clang::CodeGen::CGDebugInfo::collectFunctionDeclProps(clang::GlobalDecl, llvm::DIFile*, llvm::StringRef&, llvm::StringRef&, llvm::DIScope*&, llvm::MDTupleTypedArrayWrapper<llvm::DINode>&, llvm::DINode::DIFlags&) (/usr/lib/libclang-cpp.so.18.1+0x16e04d9)
#36 0x0000767b3f0e3afd clang::CodeGen::CGDebugInfo::emitFunctionStart(clang::GlobalDecl, clang::SourceLocation, clang::SourceLocation, clang::QualType, llvm::Function*, bool) (/usr/lib/libclang-cpp.so.18.1+0x16e3afd)
#37 0x0000767b3f2f5a6d clang::CodeGen::CodeGenFunction::StartFunction(clang::GlobalDecl, clang::QualType, llvm::Function*, clang::CodeGen::CGFunctionInfo const&, clang::CodeGen::FunctionArgList const&, clang::SourceLocation, clang::SourceLocation) (/usr/lib/libclang-cpp.so.18.1+0x18f5a6d)
#38 0x0000767b3f2f8621 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/usr/lib/libclang-cpp.so.18.1+0x18f8621)
#39 0x0000767b3f33645d clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/libclang-cpp.so.18.1+0x193645d)
#40 0x0000767b3f333459 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/libclang-cpp.so.18.1+0x1933459)
#41 0x0000767b3f333d83 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/usr/lib/libclang-cpp.so.18.1+0x1933d83)
#42 0x0000767b3f33c6f2 (/usr/lib/libclang-cpp.so.18.1+0x193c6f2)
#43 0x0000767b3f3997f3 (/usr/lib/libclang-cpp.so.18.1+0x19997f3)
#44 0x0000767b3f2b2557 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/usr/lib/libclang-cpp.so.18.1+0x18b2557)
#45 0x0000767b3df8cfa2 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x58cfa2)
#46 0x0000767b3fa58411 clang::FrontendAction::Execute() (/usr/lib/libclang-cpp.so.18.1+0x2058411)
#47 0x0000767b3f9f9057 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/libclang-cpp.so.18.1+0x1ff9057)
#48 0x0000767b3fab06bd clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/libclang-cpp.so.18.1+0x20b06bd)
#49 0x00005d6d1fa5c3a4 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+++0x133a4)
#50 0x00005d6d1fa6070a (/usr/bin/clang+++0x1770a)
#51 0x0000767b3f72e445 (/usr/lib/libclang-cpp.so.18.1+0x1d2e445)
#52 0x0000767b35ea8d3a llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /usr/src/debug/llvm/llvm-18.1.8.src/lib/Support/CrashRecoveryContext.cpp:428:1
#53 0x0000767b3f730dd6 (/usr/lib/libclang-cpp.so.18.1+0x1d30dd6)
#54 0x0000767b3f6ebff9 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/libclang-cpp.so.18.1+0x1cebff9)
#55 0x0000767b3f6ec3fc clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/libclang-cpp.so.18.1+0x1cec3fc)
#56 0x0000767b3f70a824 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/libclang-cpp.so.18.1+0x1d0a824)
#57 0x00005d6d1fa63045 clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang+++0x1a045)
#58 0x00005d6d1fa53fd5 main (/usr/bin/clang+++0xafd5)
#59 0x0000767b35234e08 __libc_start_call_main /usr/src/debug/glibc/glibc/csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#60 0x0000767b35234ecc call_init /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:128:20
#61 0x0000767b35234ecc __libc_start_main /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:347:5
#62 0x00005d6d1fa54035 _start (/usr/bin/clang+++0xb035)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/coordinates-5716ea.cpp
clang++: note: diagnostic msg: /tmp/coordinates-5716ea.sh
clang++: note: diagnostic msg:
********************
```
[coordinates.zip](https://github.com/user-attachments/files/17750940/coordinates.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUW19z46iz_TTKCyWXhP5YfsiDx45n_atkkzvJTvbNhQDZ_AaBLqBMsp_-FkiOjexk48zM3s1UKhkjaM45tLpbMiCt2VpQeh5kn4JsfoZas5HqXDdIqbNSkqfzJUCN5HLN_qLAbJABS_AdaRHAsQGo5BQYCbCipMX2OgXIGIQ3NRUGaNkqTMGGKjoCywCOa6AN4xwgbNgD5U_gu1TfmFgDKdzYfgAT4H9bqg2TYgSWoEZPoKS7yWRNQYnwN_vBbJgGSBDA6kbJB9o1lO0aKNpIZQBHhqpREM2DaNr9vrM9sEJ6AzaoaaigBHzfUAGWAEvxQJWhBGBJKODsW2cwSKb7FoI86n5wAD_ZH9cK-n-G1o2dFQTJzDw1VKCaAjvp3VNjG-cAS6nIqpFMmJUsg-TCN6ANMgxbMNoAbYidPZlSYQVYsWplgmR2rdiaCWvNGpTuU9dPUY6sugGcPc8aJBdASGU2wfgTuLHzdn1dGwjG8yD5QCRWFGlzjIm74NF5Xqn95WPCedHpC_zDorTaOvuXntzzqJ8lz24VPfW9-To3GC733_TvFH9V1EHjrbE3KGnr5lnaaNTNdaPkWqEaILVubZiw4oMALlqtArgomQjgAnMk1p32ILxeg_BP1wLCSsiwwZvQsJpqg-oGhPeIcxDe00ejEAjvK6lqZEIX1oigWoPw3oYvjHgobfeaabsMIaGYI4VslNF7zUIqalolQHgvpAgfmDIt4iExUoHwXnISavPEaYitr4X38oEqLhGhZNsVhPcNJUhYQcN73a7XVJvQ9lOMUBDet6LVlIQ1wkramf-iSoZIh6LlPHS-Q1XolgIJ42CErfgm5HcRfkdKWJCysbC7awSJNbeNilZUUYFp1977LoxCLOsGWUs2TAsLzZHXILSKdkqFeIMUCCuqlFQhZzUzQTKPQeicc94bi8cgvGfiAXFG7DpY3e0AEC61wiBk-kkbWgOtcAAXZsMUCRukzBMI55-Xd6uvF19ul9e_g3C-vLr7YwnC-Wp-sZj-cXm3ur3-48vswrb8eX1z8Xv_OUjmeRSBkAnMW0LdnA3eBHBRIybsx9GmaUYOSmUdo1G0URK7dccgvLqag_DqBoQVllyqkDC0FlIbhjUIJZDlf6232buWCWSoHske-34bbprOhePehY93SaZZFCTT2PozbpWyKbBBSlMFjPxGBQjg-EEyEsBxZw7-jbm4sL8m1t7l5dcrsPwC1lTQzmeBrMCeC1vjiiK-cmZ0FycqJWtU6ucJk7dP-LmfSKy7UFlJdfJ0IIBJBKLHKIqicT4uk6zCKZlEgPOHuhuin_qxN4oJ46LGnUKYBrDYdVLo-0pqoyiqA5jboGfjPpzsokZHiNCyXQdw4UZ2f8K4GMWjYtR14KwM4OK2bWxpEMDFH4I92ga2FojrERM4SKZjmATJFMIdh3jAAcKcHOPwpRWdqd-QIJwqHcDiZ8Dc4usXKcosvmiHD74R34xTJNrmukcZwKIV3d0PuLTx9hcpmuRj-zveIU48xBQVBZ2ATrWZq8x-FIez8oViG3afZlIY-mh6_cZ2ebMdlvQYFm-8t6i_EloysQEk33O9zAMHUxyTCDi36kF01jkr8UjLUR7AT9FjQmISBXCyM5Pvm6kiAkk1AV2S7TxDEvqZ9tXF7PPcclqKSnYNa2qu1UxRZFxNEMBib-j_tIh3rbM9n5svF4zTAE47pzqG15oIcdNY3FYwBz3OHTYP_HgAPiUoezv4DrfVW5FbV-YsGOXEJ_EVqTnFvCuAHGqfTEfQNe-N6owOBp5K17Lx6BYDullG4Ql0JecUmw6aY6p9qkdBv7B0-823NeL8K8VGqmXd8CCZ7a5dUYMIMsgOSi76GL1vcSbrRmq29Z93yGRV8GSaDGSiJI5O9QqLZk4rJpjNacd0cjXw-xfXgnpGbTNJ5KOmEYTle1D_fKwOioc1HgaNEr1L4d8l-eUxo0S-znCIvSLVvzbgVaTywCcD8EmRnRzwDnHbFkKrgZf8JA4WoschPXCeIv_XOk-Re9izj-w8w1SfZDD5Cc7Tv_q4bShmiLO_3FPAL_KlDCYepWEBAMvJuyj9I7408bEPs_mH8qVhjv34vgSjj-tL8CAhfyBfgsOM_AGTGhwm5g-U1OBBQv5IzjPMyEmZj3_ceRatwL8w9JT52CNx8BBeZsW_1nuywsN-kII_kvccPFGPk_hd4JfunTymV9RsJHmdyhE_u1HSyF_jbJaSx3mYuqs0OtnZZn_-eUXrkqotAZ-tu2yFOP1lwt4blVOZWiL7TJNhRq9Icfr7kgOq-oDr_8uLk_fLRAroyTQsHiiB-F_4vgRiDzX8OO9LksPq4MO8L0k-cnWQZEMnSckJb7dxFwG2N769wW-UbAYB4DOXJeL24ttueqOYWH-h1cE9_fKV-fIWy_52H1y6mt-1DXfikqlS6Oleoaahygsm86XznKNxpLvSA-ZorV2fk10-JRNP-UFJQxNUkbcrT2v2LPutQcq8JvnehVu3TehSYtSFobdfPO6Lu_TmVrGUkp-ujaXuaeOXTLDKUP6KNt2HZyS9qyBljufeF7V5E8OXV2jb0S7SNjbmrw3ZDpiq9SXT5qUxJy3ZadIXTllP-mIgfZHDVwq-Y9L3X3_T2UEsfikQ_KjEp5K2nDzSfsWXJHma_a2_XUnS8j4wXNTMdOR2ofB4qn9Jgq79K-LtewL7xCHep5RGA0pJmr0S2F-j9E9TsUg9KvGQCileee_0GpWXCZwMkhTeC6YUDkDivIIn2rRDPJt-VZRMJuMqOc2mG-LZ9KsVWMIs814HfEL4GxVkJoVua5slbWP3_f2dbC7pA-0V21fStnxWsm1cbj7xdnQQPIxeUUKqAlfIeyy5QUrT6e2dD-KW1qiPnl0aelc6ytxsHhw_U6OsSGMvJC6UFIYKMt0LghePFLeGPu9iefP8MHL2PQB-OpxUkygbvMKpG8ap2j5jexCmR1LgAPHpMbRyGDyQfuJAZZSXXgzt4eywPjwnreI1LieHEBi5uT1w2wCfkZzEFcpwglKAcbyqERPehilXIlo3TmZuW9_zQ46tDWfAb4Mz0O1KO8B4sBez0y1JULoPLIt8YHk0jtBbDI3HEfIM-UFyDGmaZictKXFDPJtwuL2HJGgv0B_bjdM_JLbiFlWUP3nSVn1uXCknr1WuQzhx4v74DqpXtgel0O3P23HzY-s4iQjJT9PLDfH08mNrTsvK3ypEFHvYhtTOz9FBxJjJukZisMdmMNB2eKlafKXr1IuOk37L8imcsaPkcc4GnHFS4VM5_0eW-mXC_5HlQXn82iui5y3hDWL2Kc9teHy7RsnF7jHwR5SyQnhK-WlkHKECpi-hmu_93wucRyLmSwr_g0qdljyIo-5pMx6EwSRK-2-4thF6i22DlPPkwUuDOyl5f8e_-GDwQihF0SDsFYNkkVQkAxbGG6yhivjGJv4uxCSlUQFWK6vOStuH1BVGnK9680fj39p23vuLdRvAxWhkOz5pQhsdwIVoDO9VH9odbYJkOk6DZJo848qjA1wYAzfEFvvvgNL917aHbv4RtgHXhd3thls7b3xsXk-Pd0pxdP4kHe92rNrp4WBt0yjJQDfxG1a3jJLd6u5fTKbAbeZ3-9dtO6j6Egvg_rapEOOUgO_MbAB9ZKbbGx4nzkdbTUH4AIwEmlLA9mqj_cnAA1WaSQG6LNifyUJqTW3eBY9FvsrTsMEhZ6J9DNei3R7bUhQRUEtCue3YSM0eu0uuzOKckjlTB4dJjtEU0tj6EuxOA4Bar93QXuQf-Nk7FHNzeTG9vQDTu7vp7Ddw99sFWFxfXl7fL3__DBbLy4tbcHftmj_98Rl8ubi5_nIXbI_L3DwfZKCkPxgXwELbeGBXAmktMUOGEqBaATRWrDHPHRQF3KpPCUDm2eTbVYALUzf-EYEwG8c5RbvDED_Fmt68b4F-1jIdPcqUfdo_GvEXa4JsHsBiY0zjdtLDhb17mdm05QjL2rkbVeHu5KONZRXj1P6Nx-MsmqTR4MCFtbq9L87IeUImyQSd0fN4nMTZpBhn-dnmvEjLSZKViEZxnGBESJlN0gmCNMWYJuPxGTuHEUzjOE7jLJnE-QhPijxOaRIl1bjI8zRII1ojxkc2y4ykWp8xrVt6Hsc5TPMzjkrKtTv8CaGg34G7GkAYZPMzde6q1bJd6yCNONNG78wYZjg97zbru9OT3dk2xBnS7mDm9qycixXHTridtYqfv6LpfsXcKPlfim157AA6XTsGD-fw_wIAAP__IAWIyQ">