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

    <tr>
        <th>Summary</th>
        <td>
            Assertion failed: Result.isInvalid() && "C++ binary operator overloading is missing candidates!"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend,
            crash
      </td>
    </tr>

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

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

<pre>
    Clang hits an assertion when trying to compile an `ext_vector_type << enum`.
Example reduced case:

```c++
enum Enum { EXAMPLE = 3 };

using v4i = int __attribute__((ext_vector_type(4)));

v4i shift(v4i a, Enum b) {
    return a << b;
}
```

<details>
<summary>

```
Assertion failed: Result.isInvalid() && "C++ binary operator overloading is missing candidates!", file C:\Users\acct\Development\llvm-project\clang\lib\Sema\SemaOverload.cpp, line 14233
```
</summary>

```
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: C:\\Users\\acct\\Development\\llvm-project\\build\\bin\\clang.exe -c C:\\tmp\\minimal.cpp
1.      C:\tmp\minimal.cpp:6:18: current parser token ';'
2.      C:\tmp\minimal.cpp:5:26: parsing function body 'shift'
3.      C:\tmp\minimal.cpp:5:26: in compound statement ('{}')
Exception Code: 0x80000003
 #0 0x00007ff76e853f55 HandleAbort C:\Users\acct\Development\llvm-project\llvm\lib\Support\Windows\Signals.inc:419:0
 #1 0x00007ffe29531881 (C:\windows\System32\ucrtbase.dll+0x71881)
 #2 0x00007ffe29532851 (C:\windows\System32\ucrtbase.dll+0x72851)
 #3 0x00007ffe2953426e (C:\windows\System32\ucrtbase.dll+0x7426e)
 #4 0x00007ffe29534165 (C:\windows\System32\ucrtbase.dll+0x74165)
 #5 0x00007ffe295344f1 (C:\windows\System32\ucrtbase.dll+0x744f1)
 #6 0x00007ff7718e0bb8 llvm::ArrayRef<clang::OverloadCandidate *>::{ctor} C:\Users\acct\Development\llvm-project\llvm\include\llvm\ADT\ArrayRef.h:89:0
 #7 0x00007ff7718e0bb8 clang::Sema::CreateOverloadedBinOp(class clang::SourceLocation, enum clang::BinaryOperatorKind, class clang::UnresolvedSetImpl const &, class clang::Expr *, class clang::Expr *, bool, bool, class clang::FunctionDecl *) C:\Users\acct\Development\llvm-project\clang\lib\Sema\SemaOverload.cpp:14234:0
 #8 0x00007ff77105d937 llvm::SmallVector<clang::DeclAccessPair,16>::{dtor} C:\Users\acct\Development\llvm-project\llvm\include\llvm\ADT\SmallVector.h:1207:0
 #9 0x00007ff77105d937 BuildOverloadedBinOp C:\Users\acct\Development\llvm-project\clang\lib\Sema\SemaExpr.cpp:15783:0
#10 0x00007ff771055bae clang::Sema::BuildBinOp(class clang::Scope *, class clang::SourceLocation, enum clang::BinaryOperatorKind, class clang::Expr *, class clang::Expr *) C:\Users\acct\Development\llvm-project\clang\lib\Sema\SemaExpr.cpp:15931:0
#11 0x00007ff7710471fe clang::Sema::ActOnBinOp(class clang::Scope *, class clang::SourceLocation, enum clang::tok::TokenKind, class clang::Expr *, class clang::Expr *) C:\Users\acct\Development\llvm-project\clang\lib\Sema\SemaExpr.cpp:15734:0
#12 0x00007ff770d80a7c clang::ActionResult<clang::Expr *,1>::isInvalid C:\Users\acct\Development\llvm-project\clang\include\clang\Sema\Ownership.h:207:0
#13 0x00007ff770d80a7c clang::Parser::ParseRHSOfBinaryExpression(class clang::ActionResult<class clang::Expr *, 1>, enum clang::prec::Level) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseExpr.cpp:633:0
#14 0x00007ff770d71ef9 clang::Parser::ParseAssignmentExpression(enum clang::Parser::TypeCastState) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseExpr.cpp:179:0
#15 0x00007ff770d7a39a clang::Parser::ParseExpression(enum clang::Parser::TypeCastState) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseExpr.cpp:127:0
#16 0x00007ff770da0ffb clang::Parser::ParseReturnStatement(void) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseStmt.cpp:2398:0
#17 0x00007ff770da2996 clang::Parser::ParseStatementOrDeclarationAfterAttributes(class llvm::SmallVector<class clang::Stmt *, 32> &, enum clang::Parser::ParsedStmtContext, class clang::SourceLocation *, class clang::ParsedAttributes &, class clang::ParsedAttributes &) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseStmt.cpp:329:0
#18 0x00007ff770da214b clang::Parser::ParseStatementOrDeclaration(class llvm::SmallVector<class clang::Stmt *, 32> &, enum clang::Parser::ParsedStmtContext, class clang::SourceLocation *) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseStmt.cpp:119:0
#19 0x00007ff770d9aabf clang::Parser::ParseCompoundStatementBody(bool) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseStmt.cpp:1200:0
#20 0x00007ff770d9e281 clang::ActionResult<clang::Stmt *,1>::isInvalid C:\Users\acct\Development\llvm-project\clang\include\clang\Sema\Ownership.h:207:0
#21 0x00007ff770d9e281 clang::Parser::ParseFunctionStatementBody(class clang::Decl *, class clang::Parser::ParseScope &) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseStmt.cpp:2467:0
#22 0x00007ff770cf85d3 clang::Parser::ParseScope::{dtor} C:\Users\acct\Development\llvm-project\clang\include\clang\Parse\Parser.h:1149:0
#23 0x00007ff770cf85d3 clang::Parser::ParseFunctionDefinition(class clang::ParsingDeclarator &, struct clang::Parser::ParsedTemplateInfo const &, class clang::Parser::LateParsedAttrList *) C:\Users\acct\Development\llvm-project\clang\lib\Parse\Parser.cpp:1471:0
#24 0x00007ff770d2612d clang::Parser::ParseDeclGroup(class clang::ParsingDeclSpec &, enum clang::DeclaratorContext, class clang::ParsedAttributes &, class clang::SourceLocation *, struct clang::Parser::ForRangeInit *) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseDecl.cpp:2177:0
#25 0x00007ff770cf6378 clang::Parser::ParseDeclOrFunctionDefInternal(class clang::ParsedAttributes &, class clang::ParsedAttributes &, class clang::ParsingDeclSpec &, enum clang::AccessSpecifier) C:\Users\acct\Development\llvm-project\clang\lib\Parse\Parser.cpp:1211:0
#26 0x00007ff770cf674c llvm::SaveAndRestore<bool>::{dtor} C:\Users\acct\Development\llvm-project\llvm\include\llvm\Support\SaveAndRestore.h:29:0
#27 0x00007ff770cf674c clang::Parser::ObjCDeclContextSwitch::{dtor} C:\Users\acct\Development\llvm-project\clang\include\clang\Parse\Parser.h:1047:0
#28 0x00007ff770cf674c clang::Parser::ParseDeclarationOrFunctionDefinition(class clang::ParsedAttributes &, class clang::ParsedAttributes &, class clang::ParsingDeclSpec *, enum clang::AccessSpecifier) C:\Users\acct\Development\llvm-project\clang\lib\Parse\Parser.cpp:1225:0
#29 0x00007ff770cf72a7 clang::Parser::ParseExternalDeclaration(class clang::ParsedAttributes &, class clang::ParsedAttributes &, class clang::ParsingDeclSpec *) C:\Users\acct\Development\llvm-project\clang\lib\Parse\Parser.cpp:1045:0
#30 0x00007ff770cfc394 clang::Parser::ParseTopLevelDecl(class clang::OpaquePtr<class clang::DeclGroupRef> &, enum clang::Sema::ModuleImportState &) C:\Users\acct\Development\llvm-project\clang\lib\Parse\Parser.cpp:742:0
#31 0x00007ff770cf0674 clang::ParseAST(class clang::Sema &, bool, bool) C:\Users\acct\Development\llvm-project\clang\lib\Parse\ParseAST.cpp:163:0
#32 0x00007ff76f5dd6d0 clang::ASTFrontendAction::ExecuteAction(void) C:\Users\acct\Development\llvm-project\clang\lib\Frontend\FrontendAction.cpp:1166:0
#33 0x00007ff7733d1c5b clang::CodeGenAction::ExecuteAction(void) C:\Users\acct\Development\llvm-project\clang\lib\CodeGen\CodeGenAction.cpp:1174:0
#34 0x00007ff76f5dd405 clang::FrontendAction::Execute(void) C:\Users\acct\Development\llvm-project\clang\lib\Frontend\FrontendAction.cpp:1060:0
#35 0x00007ff76f5926bb llvm::Error::getPtr C:\Users\acct\Development\llvm-project\llvm\include\llvm\Support\Error.h:271:0
#36 0x00007ff76f5926bb llvm::Error::operator bool C:\Users\acct\Development\llvm-project\llvm\include\llvm\Support\Error.h:235:0
#37 0x00007ff76f5926bb clang::CompilerInstance::ExecuteAction(class clang::FrontendAction &) C:\Users\acct\Development\llvm-project\clang\lib\Frontend\CompilerInstance.cpp:1049:0
#38 0x00007ff76f6a9d2f clang::ExecuteCompilerInvocation(class clang::CompilerInstance *) C:\Users\acct\Development\llvm-project\clang\lib\FrontendTool\ExecuteCompilerInvocation.cpp:264:0
#39 0x00007ff76cb6c651 cc1_main(class llvm::ArrayRef<char const *>, char const *, void *) C:\Users\acct\Development\llvm-project\clang\tools\driver\cc1_main.cpp:249:0
#40 0x00007ff76cb64654 ExecuteCC1Tool C:\Users\acct\Development\llvm-project\clang\tools\driver\driver.cpp:375:0
#41 0x00007ff76f448551 clang::driver::CC1Command::Execute::__l7::<lambda_46e20d7a705ea64f8f76933693c402e0>::operator() C:\Users\acct\Development\llvm-project\clang\lib\Driver\Job.cpp:439:0
#42 0x00007ff76f448551 llvm::function_ref<void __cdecl(void)>::callback_fn<<lambda_46e20d7a705ea64f8f76933693c402e0> > C:\Users\acct\Development\llvm-project\llvm\include\llvm\ADT\STLFunctionalExtras.h:45:0
#43 0x00007ff76e83b0da llvm::CrashRecoveryContext::RunSafely(class llvm::function_ref<(void)>) C:\Users\acct\Development\llvm-project\llvm\lib\Support\CrashRecoveryContext.cpp:235:0
#44 0x00007ff76f448efb clang::driver::CC1Command::Execute(class llvm::ArrayRef<class std::optional<class llvm::StringRef>>, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> *, bool *) const C:\Users\acct\Development\llvm-project\clang\lib\Driver\Job.cpp:439:0
#45 0x00007ff76f39393d std::_Func_class<void,clang::driver::Command const &,int>::_Empty C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional:883:0
#46 0x00007ff76f39393d std::function<void __cdecl(clang::driver::Command const &,int)>::operator bool C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\functional:1125:0
#47 0x00007ff76f39393d clang::driver::Compilation::ExecuteCommand(class clang::driver::Command const &, class clang::driver::Command const *&, bool) const C:\Users\acct\Development\llvm-project\clang\lib\Driver\Compilation.cpp:200:0
#48 0x00007ff76f393c7f clang::driver::Compilation::ExecuteJobs(class clang::driver::JobList const &, class llvm::SmallVectorImpl<struct std::pair<int, class clang::driver::Command const *>> &, bool) const C:\Users\acct\Development\llvm-project\clang\lib\Driver\Compilation.cpp:253:0
#49 0x00007ff76f36d6a9 llvm::SmallVectorBase<unsigned int>::empty C:\Users\acct\Development\llvm-project\llvm\include\llvm\ADT\SmallVector.h:94:0
#50 0x00007ff76f36d6a9 clang::driver::Driver::ExecuteCompilation(class clang::driver::Compilation &, class llvm::SmallVectorImpl<struct std::pair<int, class clang::driver::Command const *>> &) C:\Users\acct\Development\llvm-project\clang\lib\Driver\Driver.cpp:1868:0
#51 0x00007ff76cb678ae clang_main(int, char **, struct llvm::ToolContext const &) C:\Users\acct\Development\llvm-project\clang\tools\driver\driver.cpp:544:0
#52 0x00007ff76cb79bb4 main C:\Users\acct\Development\llvm-project\build\tools\clang\tools\driver\clang-driver.cpp:16:0
#53 0x00007ff77292e608 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78:0
#54 0x00007ff77292e608 __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
#55 0x00007ffe2af77614 (C:\windows\System32\KERNEL32.DLL+0x17614)
#56 0x00007ffe2bb026a1 (C:\windows\SYSTEM32\ntdll.dll+0x526a1)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 17.0.0 (git@github.com:llvm/llvm-project.git cdd439df969d166b3ebab1044fcc531be9912603)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Users\acct\Development\llvm-project\build\bin
```

</details>
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMW1tz27iS_jXwCyoqEuD1wQ8ybZ-TOc46FfnM7j6pQACUMeFtAVCx99efAkhKBC3JjsfKTMqRKBJodn99QTcuRCmxqTm_BOEVQKht5Kbk_99ULUAIhNcXpNOPjbzc37_IG_Z8mZWk3sBHoRUkNSRKcalFU8Mfj7yGWj6LegN1A2lTtaLkpg2IPP6k11tOdSPX-rnlEOAM4AzyuqtA5C2Adw285c0TqdqSQ8lZRzmDlCgO8LJ_OHxGXv9HAboyf_auIQNvzAeIr-DN_yy_fL27gQBfQwxBfA3w1ZRGpwyL20DYFqLWcL0mWkuRd5qv1wAlACUzhgFKAoDS4c-lZyipR1FogBJzTQDKem5ygFLDUt8OQggl152sIRkByPe04uuZiI7cOGNcE1EqgG92t1RXVUQ-728dIrDcaaggouQM4CX8xlVX6oVQn-stKQWzMqcQoAigCAKEsh5emIuayGfYtFwS3UjYbLksG8IMgkLBSigLJiU1E4xorgDyjfmgDBZG-5nRX5j9W3GpQJgRSjUIs2u-5WXTVrw2v8pyW31qZfMHtw-psS9zW-QgzFa8IsPX_fDuBW1b84JS1Bz6AcL4MHA4A-j2TRB9vbtZrm6g6vJKaEhg3m2g5G0jtbHkR61bZeRAtwDdboR-7PIFbSqAbg3rw9dOAnQrlOoMEreQ1AyKmpYd41A_ckglUY8wJ_S7loRyI0UreSsbypXiDKqmk_1t05Mo1VBBNGdQdjVUVIpWD76y0oR-h6yr2p2HeAv4VTYbSSpI5KYz6Bq2Rx1M1LDXxAtlvNQHCLO8EyUbLkXdX1g1LfgTh5_o5BW6avuLStSiIqVVlmXPX0D7b2jbN5y2wssI4KWfGJ5pJyWvNWyJVFxC3XznNQQoNu6C4p4gep1gCPASGaqWkLHUoqupdQYTywzFwXMHmvhnaIraRrmmqxlUmmhuMITWl2Lj9fG1uUDpGN0ob-2rs4aZuAa9p8Sz_wYDhgBhD3pP5lZcFHHEkxAXYQj_SWpW8mVuDPIdHmWtdOdQXWsMG4TZf4uaNT8MkZXY1KRUC1FTgJeBnwK89PY8-XueOEpD7CeJb8QcWPmxp_OsNK8wAmHWUalzoviClSVAV95TbHrtwDBk0YwsSsJ3kDW9HLJ4RjZAEf95sqaXQzaYk_Wj8B1k_Sh0yIZzskHxDhBML4dsNDGj2E-4l-cJtHaAlwAvl1KS52-8AHgIt_buGGCzMZpDgJYmctqnIL4ywyGIr_-EDQ7BcH9jef1gPgd-Fo8AL5OZ-cWHZJmwbYcIe5VJTjQfxeDsStT3LUAJLYlSThcbZ-8aSoxDmnhrU4hJiys78N0P496_RM1MqxeE_l1Lrppyy9mK689VW0La1Er3I-mB9jdPrbSovvYwb5py-v2i8e0QyK45LftO6flGW7w042zg6iVx9OKFLMXxxMZWFSnL320K5ZqZ4XhJzYj3lQgJUOZHUyNj5zKyCUPWznzkxa5E6SGJrszgN7OpD0XaqH1EOYwTvOfJxF5vxlOYE37Y-i2jx02eNi0_anof5hBvNPCPtVUHwRT7LoK-i2AQ-8URBJdU39dnQ1A33_uLB5PN_I0RjKeebhBEUwQ9lngkplOuljYS9UWF6-sTYfydk-_Kjj8jwt7JxzuDOPc_ai7Vo2itkzs-bmTBr8jy1Wack-tv_1zdF731G2m4Ula_L-3jJQrHFWvBOGAjreS0v7ozIHyImq0U4_dE0RGehZrAhSb2eZGehGZpZxAMDw4yc6Gm_R6eW54RpVcmXz6reH6cuuKFM_EITslJ8f6OQqGZOUeuUMQrivy0OdsZiNVYrgCUbBvBPp7pla70wDTCaeJyHc-4RmkaneR6x--9NOkDkTbKLgvN5XKculE7pzyRhMyCtq706JIYAXwzJm6ntG2vmemaNbXmT_oN48HRgN4T28twNHM83PCMWsNo5j_JXGl-cNrUDivtb6-lM2Lq-zNMUxfTlJC8OClRNkw47LC9atgzQElfJ5yTdeR5Du_Im_HOUeK_LSuYKPTvkRUg_xVZXuhhLL_menhhYfv67JhTOy4z5JjndW0URDP53QyPFknI8OuMfkTNdlxzDvdDyeYHrgMh_LOM7-vmQtRCH8nlvvbThWPYauQYcpSWHdWng84Dr9qSaP65LppX5gOmne-I5vsofyeUPk882uUSQexWSmiWAKLIR-ykqAaff8imO1gvTTBctZweC9p7jE8F6jePk4fH3dNqu23kN1Jv-OdanAlzI-TofH48c75wZsMRjpNXYb-XE0v-XGsua1IeU8OfyDCONHyDYvs5HtNCFILLMxoy8meGHM0RjQM6zTfIli9r9o0r3UgOcGZHz_POQe3n3d239-PRLKrFh_g_YhH3-R-ZUcXgPasfQtPHXx-ZvWBm1clPyLCz6iFHdIz7lTB9btte_sW2jUIX13SGa4xI_EoZ2weHQzn4r8fybEB5gQsU9mZAUZwGJ4F6aFo762IYPoTQfUv-r-Nf9cEiZTcU2mWVoyXKfrLxS8O6kn-uTFSwWeR50r4RnzhALjz-DB4vil_Cs1w9HJwK5RUZJXRXKj6a_eXqYVRw5E5XTdcP46gIGYuY5_jo6uFWmqBYs74UGafhOO00H2594PTH-LLJZf-SXfEXRa4ETvKKMfNp6FTUWcP4P3j9S7gf3rW_mvEeu3PC0_XQHv3AC531qePQ_1LQvcgtW6crrobxFEV5PskNbqRshqCw4fqrludJAuxr-rF_loU7a7enGdxtyzG-d3Y-8Sy-xof4dKzX7gCTn2ulSU35YQN-ubDpqPHDguLEUOaM7UcQNw1zVjijIiIpQ4U7o29l2dPb7pZ_Xso1f-uHDYejZA8mAIfZUabG-iOaefI0oYhoHtEo9CGl_roi4tBs3XTzwCORuwp3OaxpzG6iDBpv_wBxddOUpg-TYsuleTAwuZvWcPUXeDPJgigM4IhP5j-802uO8tNfjPOnsesvge9YUxAkYejMMQ1kemPJ_KypKlIzN3LaH-t1GQ8JPs5KUuWMrIOII4_FJPZCTqKgSIo4SjGOUkwDD3FvV92MMWPY8venre96FP63Jh8kD_BMD-iQ5HuDGvdkraU1Kmst6zVlfRo2DBU7ASgpy5zQ7-ui7jdRvh0BaP5__L6Ch7uxWiHlzZOWRNmAOctHA-xu7cK5x8gEhUwS9fiN02bL5fM4FWKffOvqFSl4-XzAGWfYuXi9T79Htosd4m-3wDMTNZgrnLurUm8x9dOBxz5Smo1G3aO_ezKp9bUU9aZPyscA5XbOiRJ0rWy7IaZNpox2zcz9tZZEaDW2OkiOlKUJuP1SxtDK1gO7fT1jKOxj5C_xQDfpwSlOMduzvDb2u7ZyDP4HUHZMXb2unHlNUeude65vqlY_j1KNG1JvRWkLxeQpMcM5CLMvgspGNYWGvwvVkRKudMdEA8IMeX7aj9JVVwv9DMLs9wyE2cMQbr-s7E8_WKB0gT0fY8c3i50vArxMZttpgugkEGPfl1HoJ9GYxKuDSdpfjYvvz6YVgvgQMMelbkVJXiT2ox8fyH5eA-3l7MGpHkun9vx4T5oIOIa42epXkMzxonHxs3j91uTqNbB-a3K7FHAArIMLqJ-r1oTBefRqiTABydrmT4M9RrBfjXk4c97UxTxiEUkPo3Blj45kXW2PuDA4jVB8GqDOt70wddPs0DvE_BEVXE-unXz-aHVxxNz-eoP5yBTzeppf-0nk7ioJ_Vm6HyfjVsmxlBmlMRWKjSLTxaE9OiaiDhnO1O8-tnhxioUwmFkLcmWJ0zwPoJHiPTyM5zdGHo4XVObBJ4cz352zCp05K5QiHnkJFPW2-c4tyvC654-AMFv_aOR3MySBMDPvUZKCMNvSHR82sdxSpYnUXbtrsf_Nn_iaNlXV1AtRm4Ernuk8OMTOeq2o1ENHy9Va8cczc4aSGWvO1n5SxHHkB69t7f_Xzbf_urnDaHF9d2e39vum125rvyEbTcnmuYcicuTEwP-uHm6-WLK1ZmW5Oy4Qmi47mqNTQz5MLPUuA4thWgHSwb3742OQdRzqBip7ZsS8uFMcftrae5xbUxgnQaZvgFsulYlIfrzwFp7puBEaBN7kQBVeHjhQtdgIDSljAU5ZkUYp86Moxzwnue8FQUFpiP2cp6mPIg_v3vlA5Iab-gk-JdE6Cj619NMAzadKbenQ6lFywmDVMF7aU0KNEk_9IztNU5acXQs5OUX1HrfLRX36aB9At_vTfRfsErMUp-SCX_pREsQJjnzv4vGS5WHOI5pyGkWFl1Ia5XGMcxrhyAt5yi7EJfIQ9kKE_BRFobeIfcrCIEUsRJTSFIHA4xUR5cIwumjk5sIeVbuMUBJ7FyXJeamG06CjVYxW0B_qMw9MGTicEJWXVuK82ygQeKVQWu1Ja6FLfvlXnD686GR5-f5TexaN_wQAAP__U70-PQ">