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

    <tr>
        <th>Summary</th>
        <td>
            Compiler crash when using float register annotation in conjunction with ASM blocks on Aarch64
        </td>
    </tr>

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

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

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

<pre>
    I am experiencing a compiler crash when forcing a float variable to live within a certain register, then using that register in some ASM blocks. So far this issue has only cropped up for the Aarch64 project and has not affected my compilation for x64.

Here is an ultra-minimal program that leads to a reproduction:
```
#include <stdint.h>

void myfun() {
    // Constraining a float to live in an arbitrary floating point register
    // (in this case v22), then using inline assembly causes a crash
    register float v22 asm("v22");
 asm ("" : "=r"(v22) : : );
    asm ("" : : "r"(v22) :);

 // Using a non-floating point register seems to be completely okay
    // These lines do not cause a crash
    register uint64_t x16 asm("x16");
    asm ("" : "=r"(x16) : : );
    asm ("" : : "r"(x16) :);
}
```

When using the GCC ARM cross compiler this code compiles just fine, which further supports that this is a clang bug.

Here is the command that I'm running to compile:
```
clang-19 -target aarch64-linux-gnu -c patch.c -o patch.o
```

The following is outputted to the console:
```
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: clang-19 -target aarch64-linux-gnu -c patch.c -o patch.o
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'patch.c'.
4.      Running pass 'InstructionSelect' on function '@myfun'
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  libLLVM.so.19.0      0x000075ddf482711a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 58
1 libLLVM.so.19.0      0x000075ddf4824d24 llvm::sys::RunSignalHandlers() + 84
2  libLLVM.so.19.0      0x000075ddf476ea34
3  libc.so.6 0x000075ddf3242990
4  libLLVM.so.19.0      0x000075ddf5281506 llvm::reportGISelFailure(llvm::MachineFunction&, llvm::TargetPassConfig const&, llvm::MachineOptimizationRemarkEmitter&, char const*, llvm::StringRef, llvm::MachineInstr const&) + 86
5  libLLVM.so.19.0 0x000075ddf5222c97 llvm::InstructionSelect::runOnMachineFunction(llvm::MachineFunction&) + 1495
6  libLLVM.so.19.0      0x000075ddf4c0fad7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 823
7 libLLVM.so.19.0      0x000075ddf497d932 llvm::FPPassManager::runOnFunction(llvm::Function&) + 722
8 libLLVM.so.19.0      0x000075ddf4983453 llvm::FPPassManager::runOnModule(llvm::Module&) + 51
9  libLLVM.so.19.0 0x000075ddf497e084 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1124
10 libclang-cpp.so.19.0 0x000075ddfd0d0a14 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) + 4852
11 libclang-cpp.so.19.0 0x000075ddfd470639 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1609
12 libclang-cpp.so.19.0 0x000075ddfbfe0b09 clang::ParseAST(clang::Sema&, bool, bool) + 649
13 libclang-cpp.so.19.0 0x000075ddfdf19839 clang::FrontendAction::Execute() + 89
14 libclang-cpp.so.19.0 0x000075ddfde8e914 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 996
15 libclang-cpp.so.19.0 0x000075ddfdf94aee clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 702
16 clang-19             0x00005d5d064f17f1 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 3873
17 clang-19 0x00005d5d064eeff5
18 libclang-cpp.so.19.0 0x000075ddfdb2ec3d
19 libLLVM.so.19.0      0x000075ddf476e7d0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 144
20 libclang-cpp.so.19.0 0x000075ddfdb2e561 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 369
21 libclang-cpp.so.19.0 0x000075ddfdaf4935 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 901
22 libclang-cpp.so.19.0 0x000075ddfdaf4b8e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 142
23 libclang-cpp.so.19.0 0x000075ddfdb116fc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 348
24 clang-19             0x00005d5d064eea5e clang_main(int, char**, llvm::ToolContext const&) + 6670
25 clang-19 0x00005d5d064fbbba main + 106
26 libc.so.6 0x000075ddf3228150
27 libc.so.6            0x000075ddf3228209 __libc_start_main + 137
28 clang-19             0x00005d5d064eccc5 _start + 37
clang-19: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Ubuntu clang version 19.0.0 (++20240422083540+0ff992e5f210-1~exp1~20240422083645.455)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
clang-19: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-19: note: diagnostic msg: /tmp/patch-6b1343.c
clang-19: note: diagnostic msg: /tmp/patch-6b1343.sh
clang-19: note: diagnostic msg: 

********************

```

I have attached the diagnostic files that were requested by the compiler:
[patch-6b1343.zip](https://github.com/llvm/llvm-project/files/15121957/patch-6b1343.zip)

When running with the `-Os` flag, we see an additional error message:
```
clang-19 -target aarch64-linux-gnu -Os -c patch.c -o patch.o
```

```
patch.c:8:10: error: scalar-to-vector conversion failed, possible invalid constraint for vector type
    8 |     asm ("" : : "r"(v22) :);
      |          ^
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: clang-19 -target aarch64-linux-gnu -Os -c patch.c -o patch.o
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'patch.c'.
4.      Running pass 'AArch64 Instruction Selection' on function '@myfun'
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  libLLVM.so.19.0      0x000071963fa2711a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 58
1 libLLVM.so.19.0      0x000071963fa24d24 llvm::sys::RunSignalHandlers() + 84
2  libLLVM.so.19.0      0x000071963f96ea34
3  libc.so.6 0x000071963e442990
4  libLLVM.so.19.0      0x000071963f932c20 llvm::APInt::trunc(unsigned int) const + 272
5  libLLVM.so.19.0 0x000071964027de3c
6  libLLVM.so.19.0      0x00007196402d64e8 llvm::TargetLowering::SimplifyDemandedBits(llvm::SDValue, llvm::APInt const&, llvm::APInt const&, llvm::KnownBits&, llvm::TargetLowering::TargetLoweringOpt&, unsigned int, bool) const + 8568
7  libLLVM.so.19.0      0x00007196400fe6f9
8  libLLVM.so.19.0 0x00007196400fe61d
9  libLLVM.so.19.0      0x00007196400fbfe7
10 libLLVM.so.19.0      0x00007196400c6996
11 libLLVM.so.19.0 0x00007196400a0c5d
12 libLLVM.so.19.0      0x000071964009e162 llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AAResults*, llvm::CodeGenOptLevel) + 1954
13 libLLVM.so.19.0      0x00007196402b95e6 llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 246
14 libLLVM.so.19.0 0x00007196402b8cb2 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 4786
15 libLLVM.so.19.0      0x00007196402b6cbe llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1630
16 libLLVM.so.19.0      0x000071963fe0fad7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 823
17 libLLVM.so.19.0      0x000071963fb7d932 llvm::FPPassManager::runOnFunction(llvm::Function&) + 722
18 libLLVM.so.19.0      0x000071963fb83453 llvm::FPPassManager::runOnModule(llvm::Module&) + 51
19 libLLVM.so.19.0 0x000071963fb7e084 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1124
20 libclang-cpp.so.19.0 0x00007196482d0a14 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) + 4852
21 libclang-cpp.so.19.0 0x0000719648670639 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1609
22 libclang-cpp.so.19.0 0x00007196471e0b09 clang::ParseAST(clang::Sema&, bool, bool) + 649
23 libclang-cpp.so.19.0 0x0000719649119839 clang::FrontendAction::Execute() + 89
24 libclang-cpp.so.19.0 0x000071964908e914 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 996
25 libclang-cpp.so.19.0 0x0000719649194aee clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 702
26 clang-19             0x00005d570f6047f1 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 3873
27 clang-19 0x00005d570f601ff5
28 libclang-cpp.so.19.0 0x0000719648d2ec3d
29 libLLVM.so.19.0      0x000071963f96e7d0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 144
30 libclang-cpp.so.19.0 0x0000719648d2e561 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 369
31 libclang-cpp.so.19.0 0x0000719648cf4935 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 901
32 libclang-cpp.so.19.0 0x0000719648cf4b8e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 142
33 libclang-cpp.so.19.0 0x0000719648d116fc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 348
34 clang-19             0x00005d570f601a5e clang_main(int, char**, llvm::ToolContext const&) + 6670
35 clang-19 0x00005d570f60ebba main + 106
36 libc.so.6 0x000071963e428150
37 libc.so.6            0x000071963e428209 __libc_start_main + 137
38 clang-19             0x00005d570f5ffcc5 _start + 37
clang-19: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Ubuntu clang version 19.0.0 (++20240422083540+0ff992e5f210-1~exp1~20240422083645.455)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
clang-19: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-19: note: diagnostic msg: /tmp/patch-e9243f.c
clang-19: note: diagnostic msg: /tmp/patch-e9243f.sh
clang-19: note: diagnostic msg: 
```
[patch-e9243f.zip](https://github.com/llvm/llvm-project/files/15122002/patch-e9243f.zip)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW1tT5LiS_jXmRQFhy_cHHooCujlLLwQwc2L3hZDtdJWmbamOJBfUPJzfvqGLq-y6UNXT07N7zjZBQGGlMlOpvEj5YSIlnTGASy--8uLrM9KpOReXJWmgmJ8VvFpd3iHSInhfgKDASspmiKCStwvagEClIHKO3ubAUM2FG60bThRaEkFJ0QBSHDV0CeiNqjllejYIRShDAmZUKhAeniKlWXRSM1BzotZjiDIkeQto8vwFFQ0vv8oL9MxRTQRScyoRlbIDNCcScdasUCn4YgEV6hZaIc0WTYgo50mEFoL_BqVChFWGnnGFSF1DqaBC7cotiijKzWLQexJdeP6150_sz88gAFGJCENdowQ5bymjLWk045kgrVW8AVJJvWaCBCwEr7pSc_RCx8VLfPdt_8QhZWXTVYC8cCpVRZm6mHvhzVDyklOtYd0xD2cezpGXXtkRhBDy8K2Hb9GUM6kEoWy4Cb3ttd0ZIqKgShCxsqOacMEp21h7h6mHM8qsoUsiAS0x9nC-tWGUNZQBIlJCW-g9IJ0EqTdae8eG53pPnYNgjIhszZKwYWx4h_3SiGyRHfQwRl44QfpjeC3Mk8yqYp-bscFUhPbNthx2pg9nuvlu9b9Ia0vG2fkBiyEJ0Jr9LsB4UAMKmhXiX8lqx5ovc5CAtLEkqrhxQGOrD0zVUaaS6FWh9yDZWOs9SLattX_JQ4OZSX_cYJvpI4Ol1_v92vz8-zCqAX2aTtHk6YsOUik3ScS6F6-gfyTRb51UqKYMtKu9zWk5R3Un1FwbvFssuFDShpvLAdqCDWEzVHSzvUGrxZe8bXXwm4l3Hk5bJDpm4kXxXvahQDXsz4McnSsiZqAQsWnlvKGsez-fsQ6dl2hBVDm_KNE5dx_5B9Z5mQOqedPwNxNFEvFOLTql05HiTmMm-WGdHu9vJs83SHZFSxUievE66XBhAn-u1EKa7dLON6Nq3hUXJW89fNs0y_7XuUuLHr41qVRqR9VW6tOS0cOk-YKUX5UgpdmUhcluJUgJFZK8E_axnkmk5CUleh2iY0iWgi6U25VnRcqvqOraxXpR_oXn548uhxIx61pgSiuOvs_mgebrhVPgtRfeoAUREgQiCgGrEK9RrXfbUGJNOdUOOAMGwpQAOxLqkSfnJAsiJfJwetsxk9PRo37whTAy00UsRZyhllddA5rKqeXh1C092sfrTidtWyKeoTH7YPjUvQwPp17ku-SfbhvRFFXeKSRXbcEbxEgLmm8GTHYC0Ip3aE6WgMxWWyL6uy2rK94J9Dh5-Yy4TmPK7DSwJRWc6S3QFRx5iX9__-uX1-f_-nL1cH_33zdPr3qKl_jaxWwuVBxRZZJCv6MINbTQ8y4kvwjyCx-ZL__d930_jauqjjKcBgExeul54USupP3wKChTZokv1tmyDZEgb69cKgGk9XCiHY4yZdISvkJx5jb-FOlRhaN90p869kxnjDSfCasaELIvufgKZZHzlxPWlyZAQkcfGvpSEydDohBHOM9dMEfHmcY4C2I_Gahto_3T3TM0t4Q2nRib6wsp55RB77DOZJvxFxNW2o2nnNV0ZhKO2iFzbB4Wirb0dxMeT9AS8fWmpcoc4MyEck5Ez2Ey5vCsBGWzJ6j3MjZBMJDtrJ1Yw8S7hhnZBOMyTwdMd0PKmqpjD2zHIEeMZTUJojy2uiQn7Hzp16RKd1fZM9bmHqi0V5c9SmQ4tDqkx1XI0yoP8UCF20cttU9V3y48xdgKz04QnoVRHJ4g_IvJleM9cI_WguPAys0_dIIoT8HPhvHcwIyUK5dQNtLv2kWz1uBjyUGAXfgGvglfU4zKxWKfApVf-SSIbMWyDHVsXJHyK7DqwdR1D2eD4WtKZoxLRUt5w2bmpGODaEPyGUgF4hl00dOxx5kcBeiAVBevT8COUNlwP0J0T9hsH8nxYHYWnGwxdEaYOJ-ajkJViU7SJTxBPWXqUQkvnG6Gl7ULlFvawPNKKmj1zQhPkVSVHekY_UcHr4utmbpOLN4EVfDaV4vBpApq0jXqtQJ9Wj8yMbxxMneXpK9cXavz36T3miiLXaQEwXGviVI_CfOPOFtHMKXoRRAm7f30F0a33Gny_DLlTMH7MIMGiZ87ZfBRZYoa_MIfKfOoj0yT55exqGdoifOJgvNm89sKTaJeZnjcAHWQZ2MD3Aq9jLW72FB6h7JTMKzEvYzouAzIIB-H5tTdPHSlIKyEkZTeT7PDSm0snOeuSAXxCYvNIwIwyhFW5EafJS_JrvgdfTf-lvq9uyWb4_LwyyoQV3HlJ1EdpHWAyjJ4bQkd57-JEGSlYzqcjuu4c_7t2r7ktBroEWapK09BulFkJBygrl0ZDbLj1iowlGHl6POTDlxp5Q-Sy1RfWp6g5EsQqz441mc8UkOzGlmgP3K_CmMF03SxLmds0B8F-jPgCUWhwBAnwXDDK0GXfVRPp8HU3ki3vXzvrqyzFzfJmTSjvLXJyet8tZ7w-lq-vweB_aMgkpY6t1Gtk9nrEbF-8KoEofoKZoe32JGm0V7KxWBck0w2mcC4hfEW6xyJC1d8Qk4kdZSH8UGjbZp02yFkLDmKm62J5vJ_oOp9QDoZJbvhunLfnU7w8fSq11Vk8K3r-hsv5OFF_Y0X91SqQ3W6JU3zK5SKu3PPxocWhOrtM5en0-3gNvqANYLIpSJ8QuIvgiCpy0OSrwefRzlyT3I8ZMW_0BouBUbu_omjE1IxAImdN_TJuJdvQnKyc4d64bxxaWznrpQkqbtG4vhA-q2LoiBIi7K75bvKhZNDl1Nz23RE6YBoZ0lreuzn6PVVU75KRYR63YgLXe8CZ6cYpyzLGFke1rbpuAvnhRMEQugc5NpEqHY1et3mqwltoDIdEgTvVNkWYxBqi2WdBHS-RIojCYDooPC6VPVL0THVOd5LEJJyhrQbX_i2Klx5-Ar7OPIjjP0sjCPfw1d-Xec5hrjGgX8e_BPeF8E_B0RJFF9EcbwWYg_keg19Z6tjXxl_Y5sOV98qFEAq1PIK9P0FLbik73bIHAqaBqprKmzH9raTwsO3DS36Hl-Qe_i2oGzXiIzrA_AEVevrCGrlzPBx-MR3fA96na5VOXl5mUw_o5fPN-j24f7-4e93__kJ3d7d3zyjlwfz-OqXT-jp5vHh6WXdTnrc12rMpPb9g-3GNYEAZMoVVIioNcsTTYBvVbvw8K3p5Z0nRRBG4UX5_Sz6Vv837cSfuh97G9J3tldIlCLlHCrTEByoU5vWvOmev4EAJOAfHUht2WLVN9jNOXXTr46vRuv-nS68-NrD2Tf3po1sD98GcYCDPE63Lao591E1wB76_r5JAlpFL_HPH6SX-KhuyMygC2BSAGGIVBW1RyubW1ALUpLZd0ECD_KbYYGth30fOZxkXjgJ_FHqkyVpiDhX_HxpKpsuDH2ysvnP9Oq5lLRoTJ4jDXU1TBDKlEE63Vy1WsAGD8qQl07RH4fSbFrvedg_4pufwMVpnvEvAV5MJhZZH3RckW25mkr6bw9kBHkS1uR_C8hw0n8gkGEk5EeADE0E0elAhmUa4hIPL-uTxzvmbudKdKzURzRm_jel6i2zuWngFB-DBoI8iXycVhCWJ3XuLX2VRJDt4CP3_A3sddncI2i7aGi9ugZ9yoTqSt-Uh1v7fP0raToYH97N-g7c0z4a-w99GrQi9mI3Y93Gzx4WPb-xKfdd3rI4yXp44bih_BqSOu8RgQ_3QJMG1cEm_h7WRQ3psPF-hL5MNk243YAZkRK_jKthQ_QI6xyCZIiirHPb9eTT-lJYmN79YP_ds3tYQrO10ZMnkF2jN3Prbrfp37tprtuUx9GwmXrEfYs8huSAvnfP0IxkTVh101Kll7JJDDhKho3Vw5FVZGVxyDQbUfbppGmuiKTllfn3rb1Q086FNkqzUWf12MqTsoCj6nwPBJiE_rrRejS9wQ-GAIOPMUCjQ_HDMMDgYxDQSv8RIOCeNvB4xT8QBDzS79VumOGfIOBPEHAEAh5peBuvSf4qEPBIl1orkwZ_Mgh4pBesZebBd4KA-GMQ0Mjw_woQEH8MAtrF_kgQEB8DAVO_Tvzox4OAeB8IaIQHaxAQfwwCmtioBiAg_hgE7C8rfyUIGJ5QFKqfIOAYBAxPyInlvyAIGB5Pr3pd_09AwPB44s-qf2MQMDwGAtps-GNAwHAfCGgEwn4QMNwDAtrGzgAEDD8GAXv6E0DA8BgImPp1XNc_QcCfIOD_NRAQchyF9XeBgI7FHwIBtwCjHl9zLP8cfA37Pt5WdhdfO6suwyoPc3IGl0EaRH6ax3l0Nr8s0xSqKiUkCyoIIIuDCkhdZ35MQp-UwRm9dNEQ4yAIg-giBVLlBAdpEfhlHBIv8qEltLnQSl5wMTszCM9l7gc4PGtIAY00byxizODNvgLoYezF12fi0iys6GbSi_yGSiU3XBRVDVxO97y8aN9Rsu-lrd-9IoxxZd8HpKZD9VvfrTLpZPNGIuKsf8vwrBPN5R8HsMwK_ycAAP__tmghsw">