<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztWtt24ygW_RrnheUsXazbQx5cStKTmcxUJs7M9JsXQsjWRBYqQGnn7_sAsiNk2XVpdb9013I5shCw9z6HwwGUsfz9ZhY63ce5nTlLSXdNhSWd-SmpsBAz_w4RVhPaSPTCW4pm_i2ScDHzP5ka4_XQS79mqqtx-qUtORVoFnV1EfyDH2jmhfD8Ej4F_L5Fc1X5xeoluh30KAAFkWhlt1bWElpbFjMvnnnJscppkcIm5MX2sSzJGrhQLqFOCtRWgKvf7EA8851WuN5AT_Eb5aKEXpDrILnlrN1skbuYefeAvH5VGB7SO6F492oPmnx6vFuu7pBos10pEUZZuwEdG8YlkgxtpWx0A949fDal3LbZNWE7-FFVb4c_84az_1MCJO5LIVoq4ALhOgdFSNXmFMBRRDgWW5Rh8io5JnTmpaiBjjgjFBTIkWAtN7dVTVCFkRLsnSPgggThZSOvDeSVhEZQ3u6aIzUHipInzjYc7xDmm3ZHa6mAg0z3rFHIAHVTVpTP6b6pGKdc3VNKzju17rOyPtybeZ_gg-YbNGeqCdw0qqFWNq28Fmi-U7TRfL6PwzkWu7l4ryXegw-CD9AKzVdQtiFkLhmryBZDw_7tRSTqYVHjRmyZRPOCMCiY5yXe1EyAl0CXRc3mWkP7tpA5tE0MYC9D88-evlmVGdyH764IBkjaSQwupkVzlWjWbX8J7gNfiVKOtJyDiqjBHDwUvOGV1qBFpPwTvo3bzzzfQc7egX9B6HuLpPASLyvQEwcltKFelLVX5abG1d_AspWiG7-xMoeholzUFIlr0ihzOvr_sW130HbkZg7SnqcHs3gX5iKtKK7b5nNtWoMe2lrAJbhPxZQ5E6RH5Y_7AnycvR9oBEqBI0TPgkhDP45jlCpDPVPCYIi-D8mDMgqQ9UzKwHH2clwFv-siokURkIg4PnHQeg2RTgL4NZcdOWVz7x58ch0u5lVZt_v5pm5NQQMBguL8WrBrR3NxA2jFYrLoMyFu4vs4RkYCLfKK7rC5-tSWVX63b_izibhqtAGE3rOqUBs4RRmMAfW335L2uEdGIAKyelDYxXTx0VC_F33zmcqW1y_vDbUATGPkINLMLWkCS5rA81zP72N-4ZSCo9eiYBx8MwUcuGb1-461AtV4R0WjY17SPd5NZg8wQ-BaQpxj3Iw_3VbXTsdNGC376tolZhiBcU6bpeMOFdp0nMCHkfZ70zml8aPwo4E1SFCE4466ajMhL3RsOd4_20qWj_SNVgcky24meSyF7OZzL5zMzzIN3PKzuM8sK3wS4AgRXJFWwUkVAo5VZIWBIwpMzPCJh9wVSIvav8Bm-S0l1YGF5v4RSJec4_dnWpjs6ugGAxl0cvLtA_mynqcglVUsfL2yc9TDoxPCnFThXZZjPUUNrd1rt3ueNZRrRzWJ3MUa5lo7aWqi07hjJgPzUW9Bdfz7qg1B97-sPLGV775Fsx-Ek_41Kqe2l6oVHuaCs8NMJYXOcJgR7IzH_3RLyeu3GOjHTGFzMHaYynzP8Jt-h97TzEmBFvM4Jym1rRycLLzY9-lltZXljpN5bgud_vzzikDsXTWU9KbUb_dfZSTMdYky2kNdsHPtHI066rkK5Xjh2MDo97OcTG6s1bTk9gZyY885k9zoLPxD59M05zdr_cjYa9s8UwExo6s6ks3_kXIpNSy5fHvR4gRuTMblWhL5uTYyUSFOQ7RSasRRehp-p3r_qb-0uCqLkuZqFFjyjciYMlhv6wGdwlKxzNXUgqtK7ZicX0m9qFX5lBJHWkFLYmtdmOUxZNxRH8OT3iAw15K_658g23mpRzQ9T2262OZr5Ba1YEgtCrxz1M7wMsingwgILIihDTEKHFxchojNkmdM-f7D6jn9-x9lnZ_65tDV-1XVyltVX0m1I3tSdTpv9DVdS49ooEfoxP6fSA9F19IjHuhRFNFX9GBmff2hyUOtru_ecNVtQ50XacB0MloKtUXLXkrloRMV-CKtld5OX-rd9F6OMAjyg3g9YXDRCPsUPDtNzYPAs_fTTiichX0oYPxooIvT0Kiv5kspeZm1kor_lXLb5Zdfm9Em9F0tgKWQayvkET_PLip0t5eU17g6q9R3MFWPlvVGNWUmogmpaiYWVW9ANY_y5CLVF9boVZpJUfscPzf4S0ufJLcXFurBnzhT-VqhFxW9iXUyXgq2xcsf8HId_5TXcvVydj1sh8rJgCocFlAri8EU08Tx7PQrpz_Retntx5jlHSXgRMvDenEqeIuF7t2CZ2UiOMYZLawt2XuuRn6dj-CbEJlPdccWstBGtogW-UA405fZtlUHSWPanacyXRD2qQZnobfSBZxE2E-s6bHD-UHi7Rj64kskp4sWfqFBWaitST3KIj_IYFVD3PVOnSV68fgmwxaf7EbY9-BG7-RtCvCuq7FZ4BMbfFhEUY4OOqfuix7oPQqrHSxz_gtLH8YfYCU5ykT7SM7LN8pH94TsU0gcUkgcA022tyFTtLV2uTXXeunSwzl-d1pBuhXXuqjt6Gr67pwhdcEfdrBKG47DUbt83PzcqO5xZd1cwVxVb0zQRp3Z9KmuKlyvyR5ENj8yLEqyFvr5TiXrYXVjrfaH1OGZKR40B-yUezP-UW66XA6y1e7lhZEtvOPW6uFg9e8sGzeJOzwZpZCZfvAeO_80Jc9tvcIFrd4tRS9bb6rBuNAw-_5sn_CCayVBZuVxf0bXmEZsorW0xPZtsTPqBvis2LpffDIhHixgRfBBRfXAuT2xC48uu1A0pQiaoyXCYigCSYrvFQGGpTivAJQODjX7O9enEfnoJg0ulYfodxi-XbSDL_0O2oE0lnZ2IhWSKIiDczhve9dWIjCSAZzT_I_VbhrVtCiWalaSF-HYjUMPqWRjmizB0Q1aPR4SM_NSixc5Tuaj9Vq9sQRxDHO57nV_6c0Wot5pCXU_0Epmx-54mIt4BUam_YnyH93ksU9TR79FhSjnKpoujaVR0aW9YFlj4QJDjzn6BZaoiO5LNRhzilxfW7kVFM3f1Dt4glJU9tLSA7vDe3xX-Y2fJ36Cr3Art4zf_LttgUQrWE2vWl7d_PhLfIHvRMHV9ibDge9mceLQMAqDZEHiyM3yKMmzmJI4ya8qWDZU4mYWgCre4WU0B66Vo8Ofmv6CdKvqVnB79dtBlTee43mO60Se68eL5LrIIRJgEha5l7hg6NnCgUVmWV2rdq4Z31zxG91k1m4EFFYQ_sRHIRb6fTGqOQBCWcqK3jykd4jVCNKfctOql192dJdRDuY67J2BacxQ1cdyaGSZ-3FWc_LGVHKlWd1oSr8C0sU-Iw>53075</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            ICE on ambiguous member expression in constraint (clang::Sema::BuildExprRequirement)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            c++20,
            new issue
      </td>
    </tr>

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

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

<pre>
    ```
template<class> concept True = true;

template<class T> concept C = requires {
    { &T::f } -> True;
};

struct S {
    int *f();
    int *f() const;
};

static_assert(C<S>);
```

Clang (versions 10 through 14/trunk) ICEs:

```
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-trunk/bin/clang++ -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -std=c++2b -O2 -stdlib=libc++ <source>
1.      <source>:14:19: current parser token ')'
 #0 0x0000563249f292bf PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x0000563249f271b0 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x35271b0)
 #2 0x0000563249e63888 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007eff5c7c03c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
 #4 0x000056324c1933a8 clang::Sema::BuildExprRequirement(clang::Expr*, bool, clang::SourceLocation, clang::concepts::ExprRequirement::ReturnTypeRequirement) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x57933a8)
 #5 0x000056324c522123 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformRequiresExpr(clang::RequiresExpr*) SemaTemplateInstantiate.cpp:0:0
 #6 0x000056324c505331 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
 #7 0x000056324c52c5f6 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5b2c5f6)
 #8 0x000056324bf3c5a7 calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceLocation, clang::MultiLevelTemplateArgumentList&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)::operator()(clang::Expr const*) const SemaConcept.cpp:0:0
 #9 0x000056324bf3e24e bool calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceLocation, clang::MultiLevelTemplateArgumentList&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)>(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&)::'lambda'(clang::Expr const*)&&) SemaConcept.cpp:0:0
#10 0x000056324bf3eca0 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::ArrayRef<clang::TemplateArgument>, clang::SourceRange, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x553eca0)
#11 0x000056324c42833e clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5a2833e)
#12 0x000056324c42a206 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5a2a206)
#13 0x000056324c10518c clang::Sema::ActOnIdExpression(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool, bool, clang::CorrectionCandidateCallback*, bool, clang::Token*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x570518c)
#14 0x000056324bd8c527 clang::Parser::tryParseCXXIdExpression(clang::CXXScopeSpec&, bool, clang::Token&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x538c527)
#15 0x000056324bd8c752 clang::Parser::ParseCXXIdExpression(bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x538c752)
#16 0x000056324bd750af clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x53750af)
#17 0x000056324bd76083 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5376083)
#18 0x000056324bd7ff73 clang::Parser::ParseConstantExpressionInExprEvalContext(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x537ff73)
#19 0x000056324bd607fa clang::Parser::ParseStaticAssertDeclaration(clang::SourceLocation&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x53607fa)
#20 0x000056324bd552a8 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributesWithRange&, clang::SourceLocation*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x53552a8)
#21 0x000056324bd2c3db clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x532c3db)
#22 0x000056324bd2d7d9 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x532d7d9)
#23 0x000056324bd21039 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5321039)
#24 0x000056324aeae902 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x44ae902)
#25 0x000056324a8abef1 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3eabef1)
#26 0x000056324a8474d2 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3e474d2)
#27 0x000056324a97a393 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3f7a393)
#28 0x0000563247b735bc cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x11735bc)
#29 0x0000563247b6f77d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#30 0x000056324a6e7505 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) Job.cpp:0:0
#31 0x0000563249e63e73 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3463e73)
#32 0x000056324a6e95b8 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3ce95b8)
#33 0x000056324a6be15a clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3cbe15a)
#34 0x000056324a6bec9f clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3cbec9f)
#35 0x000056324a6c7585 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3cc7585)
#36 0x0000563247a81862 main (/opt/compiler-explorer/clang-trunk/bin/clang+++0x1081862)
#37 0x00007eff5c2700b3 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b3)
#38 0x0000563247b6f2fa _start (/opt/compiler-explorer/clang-trunk/bin/clang+++0x116f2fa)
clang-14: error: clang frontend command failed with exit code 139 (use -v to see invocation)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWl134ygS_TXOC8c5-rC-HvLgVpLZ7PZuZ-Pszrz5IIRsbctCDSjj_PstQHaELLvTGc28zPRxO7IQcO-toihAGctfb2ah032c25mzlHTXVFjSmZ-SCgsx8-8QYTWhjUTPvKVo5t8iCRcz_5OpMV4PPfdrproap9_aklOBZlFXF8E_-IFmXgjPL-FTwO9bNFeVn61eottBjwJQEIlWdmtlLaG1ZTHz4pmXHKucFilsQl5sH8uSrIEL5RLqpEBtBbj6zQ7EM99phesN9BS_UC5K6AW5DpJbztrNFrmLmXcPyOuvCsNDeicU717tQZOPn--Wqzsk2mxXSoRR1m5Ax4ZxiSRDWykb3YB3D59NKbdtdk3YDn5U1cvhz7zh7H-UAIn7UoiWCrhAuM5BEVK1OQVwFBGOxRZlmHyVHBM681LUQEecEQoK5EiwlpvbqiaowkgJ9s4RcEGC8LKR1wbySkIjKG93zZGaA0XJI2cbjncI8027o7VUwEGme9YoZIC6KSvK53TfVIxTru4pJeedWvdZWR_uzbxP8EHzDZoz1QRuGtVQK5tWXgs03ynaaD7fx-Eci91cvNYS78EHwQdoheYrKNsQMpeMVWSLoWH_9iIS9bCocSO2TKJ5QRgUzPMSb2omwEugy6Jmc62hfVvIHNomBrCXofkXT9-sygzuw3dXBAMk7SQGF9OiuUo067a_BPeBr0QpR1rOQUXUYA4eCt7wldagRaT8E76N288830HO3oF_Qeh7i6TwEi8r0CMHJbShnpW1V-WmxtXfwLKVohu_sDKHoaJc1BSJa9Ioczr6_7Ftd9B25GYO0p6nB7N4FeYirSiu2-ZLbVqDHtpawCW4T8WUOROkR-XHfQE-zt4PNAKlwBGiZ0GkoR_HMUqVoZ4oYTBEX4fkQRkFyHomZeA4ezmugt91EdGiCEhEHJ84aL2GSCcB_JrLjpyyuXcPPrkOF_OqrNv9fFO3pqCBAEFxfi3YtaO5uAG0YjFZ9JkQN_F9HCMjgRZ5RXfYXH1qyyq_2zf8yURcNdoAQu9ZVagNnKIMxoD6229Je9xnRiACsnpQ2MV08dZQvxd984nKltfPrw21AExj5CDSzC1pAkuawPNcz-9jfuaUgqPXomAcfDMFHLhm9euOtQLVeEdFo2Ne0j3eTWYPMEPgWkKcY9yMP91W107HTRgt--raJWYYgXFOm6XjDhXadJzAh5H2e9M5pfFR-NHAGiQownFHXbWZkBc6thzvn20ly8_0hVYHJMtuJvlcCtnN5144mZ9lGrjlZ3GfWVb4JMARIrgirYKTKgQcq8gKA0cUmJjhEw-5K5AWtX-BzfJbSqoDC839LZAuOcevT7Qw2dXRDQYy6OTk_QP5sp6nIJVVLHy9snPUw6MTwpxU4V2WYz1FDa3da7d7njWUa0c1idzFGuZaO2lqotO4YyYD81FvQXX8-64NQfe_rDyxle_eo9kH4aR_jcqp7aVqhYe54OwwU0mhMxxmBDvj8T_dUvL1PQb6mClsDsYOU5nvCX7TH9B7mjkp0GIe5ySltpWDk4UX-z69rLay3HEyz22h019-WRGIvauGkt6U-n7_VUbCXJcooz3UBTvXztGoo56rUI4Xjg2Mfj_LyeTGWk1Lbm8gN_acM8mNzsLfdD5Nc36z1p8Z-9o2T1RAzOiqjmTzf6RcSg1LLt9etDiBG5NxuZZEfqmNTFSI0xCtlBpxlJ6GP6jef-pvLa7KoqS5GgWWfCMypgzW23pAp7BULHM1teCqUjsm51dSz2pVPqXEkVbQkthaF2Z5DBl31MfwqDcIzLXkr_onyHZe6hFNz1ObLrb5GrlFLRhSiwLvHLUzvAzy6SACAgtiaEOMAgcXlyFis-QZU77_sHpO__5HWeenvjl09X5VtfJW1VdS7cieVJ3OG31N19IjGugROrH_J9JD0bX0iAd6FEX0HT2YWV-_afJQq-u7F1x121DnRRownYyWQm3RspdSeehEBb5Ia6W305d6N72XIwyC_CBeTxhcNMI-Bc9OU_Mg8Oz9tBMKZ2EfChg_GujiNDTqq_lSSl5mraTi51Juu_zyezPahL6rBbAUcm2FPOLn2UWF7vaS8hpXZ5X6Aabq0bLeqKbMRDQhVc3EouoNqOZRnlyk-swavUozKWqf45cGf2vpo-T2wkI9-BNnKl8r9KKiN7FOxkvBtnj5A16u45_yWq6ez66H7VA5GVCFwwJqZTGYYpo4np1-5fQnWi-7_RizvKMEnGh5WC9OBW-x0L1b8KxMBMc4o4W1JXvP1civ8xF8EyLzqe7YQhbayBbRIh8IZ_oy27bqIGlMu_NUpgvCPtXgLPRWuoCTCPuJNT12ON9IvBxDX3yJ5HTRwi80KAu1NalHWeQHGaxqiLveqbNELx7fZNjik90I-x7c6J28TQHedTU2C3xigw-LKMrRQefUfdYDvUdhtYNlzn9h6cP4A6wkR5loH8l5-UL56J6QfQqJQwqJY6DJ9jZkirbWLrfmWi9dejjH704rSLfiWhe1HV1N350zpC74ww5WacNxOGqXt5tfGtU9rqybK5ir6o0J2qgzmz7VVYXrNdmDyOZHhkVJ1kI_36lkPaxurNX-kDo8M8WD5oCdcm_G38pNl8tBttq9vDCyhXfcWj0crP6dZeMmcYcnoxQy0zfeY-efpuSprVe4oNWrpehl6001GBcaZt-f7RNecK0kyKw87s_oGtOITbSWlti-LXZG3QCfFVv3i08mxIMFrAg-qKgeOLcnduHRZReKphRBc7REWAxFIEnxoyLAsBTnFYDSwaFmf-f6NCIf3aTBpfIQ_Q7D-0U7-NLvoB1IY2lnJ1IhiYI4OIfztndtJQIjGcA5zf9Y7aZRTYtiqWYleRGO3Tj0kEo2pskSHN2g1eMhMTMvtXiR42Q-Wq_VG0sQxzCX6173l95sIeqdllD3A61kduyOh7mIV2Bk2p8o_9FNHvs0dfRbVIhyrqLp0lgaFV3aC5Y1Fi4w9JijX2GJiui-VIMxp8j1tZVbQdH8Rb2DJyhFZS8tPbA7vMd3ld_4eeIn-EqWsqI3D-kdYjWCKbvctOqFjR3dZZRDF4f9HmjOuJc-SkIjS7O384WTt3ySq5ZXNx9_MTDwnSi42t6Q0A3yOIHp1fPCLKSZE5EgoH5GfScMEnJVwVKkEjezAJT2Di-4OXCtBg_8qemvSLeqbgW3V-WN53ie4zqR5_rxIrkucogNmIRF7iUumH62cIBbWV0raNeMb674jUaZtRsBhRUERPFWiIV-g4xqBNA-buWW8Zt_ty24SCtYTa909zea0f8BI5coNQ">