<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJzFWllv4zgS_jXOC2FBh3U95CHnTIBkE0yymcG-GJRE2dzQkiBSSdy_fqtIWRaVszvZmYZbtnjU91WxyCqSyepie3hB1vSREUoUk4rkVLKZf0Ke1jxfk5JyIckTV2tyeXl_RTwf67JOkae6fbBqAkKrggiqWOuQP5kRmndS1RvWStJJXq12QkhG8wdWFShM1uSJkYqxAiiU_JmUdbtr55ALAOoEVDVNy3IO0smaiYbwglWKl1sUqtYAVG82XGkKeUtLtStvqEI1LJEFo0JsEZuX0IhLAh9RP81bLh9MD20BRuRag2tVQDrhFUpwHZ90TYFcZn4CMria-bEkq1qj1tC-aVg181Nn5p7O3CPz_HNkRc0NjQu4NdiRSuAogIOcBUfjTrPI7T_mNTgjQuQwAqsG0NS8ZUWXs2Iu-aYRvOSscIQg803edLPgdE3lExPC9IV-IBwon4s6p6IAZWE0z4ttRrP6gWO5eNz0X3PUc1TEM3ie1AX7DRU7v2WC5YrX1enRb5NXJ28awFnEboxwWgDoFBzdnt5T0bFxyViKLlkx9S8AAbN2leSrCpwCtMTRyOsKvHMs7bLOQZkIK_fFZ_d3dkGP-roIxDoXdCVhrJDskZSsRUIELe4nM9-7v3O4vAeadasLUjKLT-BDoALYmpozwTbgjyd1h2RNq-AUPuS6YS04pW6KPO62DTMt3uutBaBqEXz5phVhphmoAe3IhsuN8VQPmoD_aXeC4TeDfXN5dnR7RmSX6WmBDkNa1tSt0g6qVKM9zT-HD9RJB83i1O0K3vUs4lUuuoKZydVSudZzVrU0Zz3ErYICUnSbZvBZ1yH6301br1q6IbRddchZGk_4Nb_1eqF_dFWFE6yhUoJZ4vOu0s5DbrDgilZ0xVo0BBRt6qITOD3j9xGhQa-N_wbKX0lEwD3nMPPgi1yAC7WdwR3ctwctd4TgfbZws-Vy-bgtHrcc3zUI1AQucZ_d3T8vZ0mUBiOnlFtpfty0wFrb-A6NDo6xb9TSp2UNRBjd9DNAzxJ0muTj-Z3xaje94acuz2f-sfvcs0EHHOh6E7pRULDX6ILdbmHCUvE7eI-AFX83D77KCAEtRv7UgFlYEgsbV-XvsgcIt9CDHj0uAzfLfbYIcpcsly3EzrplS5hfPaZeMZ-TaBkt5oJX3fN8VXWmolFrGLrCkTWCIlAIUiyYxRgmK-LESzLSUi7RqWHGcgHB83wFwvI5-8tTV8fDq-8EsCScS20R-OE4-LaVBYM578Os4c-m4FGzAWbwrUU7GCBCDx7enkloMwnjJEwJWFBr-jkmqjDW0L00SIIgo0kRTUFiGDxYIJeG91KyFa4jy0cdQT6JCz4g9OjTYiNXOTXQoYtLfbLHjl_DXlZiiR2XRb2hvPoaZBq78AwWe8zExoySMog-4Tg5ukykXSaIoIvlMqk1LzLXY1H8i8F2GmZ15PypWPtWlP3qjDRqDXrjAmUvqJRFqbf4SO__nD2r6_auhRXbWljf0OADG3xZK0Pa0spad2GliRcpprYMss572nKaCXbD2k2n7Mhw9ckxeUvNFwramd6kEoLjbZcpCPNMjQz0VXsYbS1zWIu-S8tksfBtIneaxWX9xCBwrkyxfjv-98Xl6fL-7OTu-o9PDPZU37TPG7-mkmFsqRTYfrtIWJogCq3qarupO0kqumGy0cE_fcnukq2o4D9Yr2r_dt1MdDRT_Og7vFRTtHRYTHSISxa8O_cG0t-SHRhAi1For4JBGizSNxhdwIsp7Tc2R1VxBumyHvnvoGfQLXrRhB7Emo_pmVLYwB1TyfNj4PMgrVEeUuHvm4M9N4t8PCEflOFbEWZPHtbY6-qK5mtesR1Pe8ma1n0PeyRnsU_sJSSjaRx-NN9gXQFl7up_XiPD11LIDvheXuS0IG-ywF3SiP-rxL93DAyjMWXfjtVhEYRRMqJ8foMsd1u5v5Ws4WKR9SZk04J5nyB7pfeetkP0Rd9DFHlYRP2pVXMvHxEVsObm235Xuad8Afvggfb_kS6ysehagc-N4jJfeKTPsr-CZSRZUJNtVJi6WQC7NUyllxLyFrX8mew-l91uP2V-6kotR-f5AUR4eO7hw4mmReQzYoC_rCvKGnQ9wp0V5O8gNIdtqD6VYaOpNzlF1M_fWcv0uSUe8ZjTkdERcDA9gNSM-kPIY2Jc5OIUz7k-OmbJ8uEARNZdm7NlyQXDxbbv7SuHyybHcyzdqk8oC6qooNu6U7t2bI4eyuaNb3ZU2tw-vnr2K_6KFvox57sfZYKdPD-ZVwn-iHZ9oO7Ww-Gw8VXLGzFw7HdkXfVQ1U_VeGfmWwe2YJwhHB8p1eqzr6ruqideFQT3_RBvmGlcsFzQFiFOFuSZlLBvVHjEO1toczuA6UjJFp4D6X5VPDb6VMVujOnrZ4pSffj0eao7hiXEEPJY84JMzrT6DCnwyCw-Nq2pQH_en2ETqA-53kg7XBsSf-64cTT-mOyu4Ih0FQBjDSSLq4rAUI3kQd3z0nV4L5I946mk2h2PWrLG-PqYDE-PXsjyflmWN5L1-CGnou5gHFHUD9bCbOGK62S43YmztbNkf8Tx87K9ieyWqRFzXuER-JvCh4ExRSO9XzMvivY-K3pMZYrgjRG8CYL_kwjeBGHQCYX7E-HBTwr33xMejIeUikF0xhVMm7eFGhKqHhwSl7SzkbCKPblarV6gXHdlKdijuTmweo2wx1PP1A1sodgfeX5wYoZ2GIGX6OUIfqSPbwGPee7VGRapsellJ5QtFSKl-NJSaalnS7GVeK1J39csea8wfV39KcpUL2ME_7UxhYXXDNNbY2qb1uYxHsOXQ7t4b2iHiTA47Z6WPuR-6U8jqi986pXlfHf4CtFQ6dDSx6P4dByeKEQknnWQkphrEx2H4-OXsZQMHe0u3ssuE4iZ72nnMddFTomHlH289zCo-Z77soc7ajEYylzDnTK8Z7uoyprcs1bqzcnIjoOoD9MxUAR2b5DQYaZkbtlNlta0NeZX7T4_C4_7lMuBtMVZ_ZiFp-D59g3fCgR0mZPXm31qqW95Qdx_wZ_gFYHweiBOw0UapHglYIsdckn9vG75CgedgASYcBu8Qsew9MBaskZNIJN4h4NJ9_ZfstPgvr_ol8iD4jAogAc9oJ1a1-1hYVLj6qBrxeFPazcghMEijA_Wh3EWuzHsqOM4CcKCBTQIAq9Mwoz6aU7D_EDQjAl5COYFgx58HZIf-q7vu5Bmwv_AjZw0TvMEtyVpukjiyIeFjMFmRAw3sQftoRaJ17O4ynGp9te0B7CPwyN7tmOouBLscHwEQ6i-zcY_Wuj_6uBAczrUhP4HBLAG5Q>53457</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
SelectionDAG assert in LLVM 12
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dbabokin
</td>
</tr>
</table>
<pre>
I have a test case, which fails with LLVM 12, but works with LLVM 13 and later. We have customers using LLVM 12 backend, so we need a fix for LLVM 12. I would appreciate help identifying the commit and crafting the patch for LLVM 12. Ideally, if this is low-risk patch, we should have it in 12.0.2 update (if it's going to happen).
With LLVM 12 the fail looks as follows:
```
> llc bugpoint-reduced-simplified.ll -mcpu=haswell
llc: /localdisk2/dybaboki/llvm/llvm-12.0/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4707: llvm::SDValue llvm::SelectionDAG::getNode(unsigned int, const llvm::SDLoc &, llvm::EVT, llvm::SDValue, const llvm::SDNodeFlags): Assertion `(!VT.isVector() || VT.getVectorElementCount() == Operand.getValueType().getVectorElementCount()) && "Vector element count mismatch!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc bugpoint-reduced-simplified.ll -mcpu=haswell
1. Running pass 'Function Pass Manager' on module 'bugpoint-reduced-simplified.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@b___vydvyi'
#0 0x0000000001ce8693 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1ce8693)
#1 0x0000000001ce63de llvm::sys::RunSignalHandlers() (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1ce63de)
#2 0x0000000001ce8b5f SignalHandler(int) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1ce8b5f)
#3 0x00007f30bc2e43c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
#4 0x00007f30bbd7818b raise /build/glibc-eX1tMB/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007f30bbd57859 abort /build/glibc-eX1tMB/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007f30bbd57729 get_sysdep_segment_value /build/glibc-eX1tMB/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007f30bbd57729 _nl_load_domain /build/glibc-eX1tMB/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007f30bbd68f36 (/lib/x86_64-linux-gnu/libc.so.6+0x36f36)
#9 0x0000000001b01e67 llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDNodeFlags) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1b01e67)
#10 0x0000000001ae6914 llvm::SelectionDAG::getZExtOrTrunc(llvm::SDValue, llvm::SDLoc const&, llvm::EVT) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1ae6914)
#11 0x0000000000bc749d createVariablePermute(llvm::MVT, llvm::SDValue, llvm::SDValue, llvm::SDLoc&, llvm::SelectionDAG&, llvm::X86Subtarget const&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0xbc749d)
#12 0x0000000000af8442 llvm::X86TargetLowering::LowerBUILD_VECTOR(llvm::SDValue, llvm::SelectionDAG&) const (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0xaf8442)
#13 0x0000000001a48e98 (anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDNode*) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1a48e98)
#14 0x0000000001a47fe3 llvm::SelectionDAG::Legalize() (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1a47fe3)
#15 0x0000000001b39349 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1b39349)
#16 0x0000000001b37299 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1b37299)
#17 0x0000000001b33f57 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x1b33f57)
#18 0x0000000000aba975 (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0xaba975)
#19 0x00000000011cdcad llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x11cdcad)
#20 0x00000000015d3568 llvm::FPPassManager::runOnFunction(llvm::Function&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x15d3568)
#21 0x00000000015d9de1 llvm::FPPassManager::runOnModule(llvm::Module&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x15d9de1)
#22 0x00000000015d3c1c llvm::legacy::PassManagerImpl::run(llvm::Module&) (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x15d3c1c)
#23 0x000000000067fc41 main (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x67fc41)
#24 0x00007f30bbd590b3 __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:342:3
#25 0x000000000067d62e _start (/localdisk2/dybaboki/llvm/bin-12.0/bin/llc+0x67d62e)
Aborted (core dumped)
```
Here's the reduce test case:
```llvm
; ModuleID = 'bugpoint-reduced-simplified.bc'
source_filename = "t.ispc"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: nounwind readnone
declare <4 x float> @llvm.x86.sse41.blendvps(<4 x float>, <4 x float>, <4 x float>) #0
; Function Attrs: nounwind
define void @b___vydvyi() #1 {
allocas:
%i_load.i = load <4 x i32>, <4 x i32>* undef, align 16
%index_0.i.i = extractelement <4 x i32> %i_load.i, i32 0
%index_1.i.i = extractelement <4 x i32> %i_load.i, i32 1
%v_0.i.i = extractelement <4 x double> zeroinitializer, i32 %index_0.i.i
%v_1.i.i = extractelement <4 x double> zeroinitializer, i32 %index_1.i.i
%ret_0.i.i = insertelement <4 x double> undef, double %v_0.i.i, i32 0
%ret_1.i.i = insertelement <4 x double> %ret_0.i.i, double %v_1.i.i, i32 1
%ret_2.i.i = insertelement <4 x double> %ret_1.i.i, double undef, i32 2
%ret_3.i.i = insertelement <4 x double> %ret_2.i.i, double undef, i32 3
%val.i.i = bitcast <4 x double> %ret_3.i.i to <4 x i64>
%new01.i.i.i = shufflevector <4 x i64> %val.i.i, <4 x i64> undef, <2 x i32> <i32 0, i32 1>
%new01f.i.i.i = bitcast <2 x i64> %new01.i.i.i to <4 x float>
%result01f.i.i.i = call <4 x float> @llvm.x86.sse41.blendvps(<4 x float> undef, <4 x float> %new01f.i.i.i, <4 x float> undef) #1
%result01.i.i.i = bitcast <4 x float> %result01f.i.i.i to <2 x i64>
%final.i.i.i = shufflevector <2 x i64> %result01.i.i.i, <2 x i64> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
store <4 x i64> %final.i.i.i, <4 x i64>* undef, align 8
ret void
}
attributes #0 = { nounwind readnone }
attributes #1 = { nounwind }
!llvm.module.flags = !{!0}
!0 = !{i32 2, !"Debug Info Version", i32 3}
```
Here's the attached file with the reproducer:
[reduced.tar.gz](https://github.com/llvm/llvm-project/files/7954939/reduced.tar.gz)
Original problem is tracker here: https://github.com/ispc/ispc/issues/2243
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzFWVtT6zgS_jXhRRWXb_HlgQeuM1TBQg0sM7UvKdmWEy2K7bJkIOfXb7fkOJa5ngM7QwUn1qW_r1stdUvK6mJ7eEHW9JERShSTiuRUspl_Qp7WPF-TknIhyRNXa3J5eX9FPB_rsk6Rp7p9sGoCQquCCKpY65A_mRGad1LVG9ZK0klerXZCSEbzB1YVKEzW5ImRirECKJT8mZR1u2vnkAsA6gRUNU3Lcg7SyZqJhvCCVYqXWxSq1gBUbzZcaQp5S0u1K2-oQjUskQWjQmwRm5fQiEsCH1E_zVsuH0wPbQFG5FqDa1VAOuEVSnAdn3RNgVxmfgIyuJr5sSSrWqPW0L5pWDXzU2fmns7cI_P8c2RFzQ2NC7g12JFK4CiAg5wFR-NOs8jtP-Y1OCNC5DACqwbQ1LxlRZezYi75phG85KxwhCDzTd50s-B0TeUTE8L0hX4gHCifizqnogBlYTTPi21Gs_qBY7l43PRfc9RzVMQzeJ7UBfsNFTu_ZYLlitfV6dFvk1cnbxrACWM3RjgtAHQKjm5P76no2LhkLEWXrJj6F4CAWbtK8lUFTgFa4mjkdQXeOZZ2WeegTISV--Kz-zu7oEd9XQRinQu6kjBWSPZIStYiIYIW95OZ793fOVzeA8261QUpmcUn8CFQAWxNzZlgG_DHk7pDsqZVcAofct2wFpxSN0Ued9uGmRbv9dYCULUIvnzTijDTDNSAdmTD5cZ4qgdNwP-0O8Hwm8G-uTw7uj0jssv0tECHIS1r6lZpB1Wq0Z7mn8MH6qSDZnHqdgXvehbxKhddwczkaqlc6zmrWpqzHuJWQQEpuk0z-KzrEP1309arlm4IbVcdcpbGE37Nb71e6B9dVeEEa6iUYJb4vKu085AbLLiiFV2xFg0BRZu66AROz_h9RGjQa-O_gfJXEhFwzznMPPgiF-BCbWdwB_ftQcsdIXifhW62XC4ft8XjluO7BoGawCXus7v783KWRGkwckq5lebHTQustY3v0OjgGPtGLX1a1kCE0U0_A_QsQadJPp7fGa920xt-6vJ85h-7zz0bdMCBrjehGwUFe40u2O0WJiwVv4P3CFjxd_Pgq4wQ0GLkTw2YLUpiYeOq_F32AOEWetCjx2XgZrnPwiB3yXLZQuysW7aE-dVj6hXzOYmWUTgXvOqe56uqMxWNWsPQFY6sERSBFiDFggnHMFkRJ16SkZZyiU4NM5YLCJ7nKxCWz9lfnro6Hl59J4Al4Vxqi8APx8G3rSwYzHkfZg1_NgWPmg0wg28t2sEAsfDg4e2ZLGwmizhZpAQsqDX9HBNVGGvoXhokQZDRpIimIDEMHiyQS8N7KdkK15Hlo44gn8QFHxB69GmxkaucGuiFi0t9sseOX8NeVmKJHZdFvaG8-hpkGrvwDMI9ZmJjRkkZRJ9wnBxdJtIuE0TQxXKZ1JoXmeuxKP7FYDsNszpy_lSsfSvKfnVGGrUGvXGBshdUyqLUCz_S-z9nz-q6vWthxbYW1jc0-MAGX9bKkLa0stZdWGniMMXUlkHWeU9bTjPBbli76ZQdGa4-OSZvqflCQTvTm1RCcLztMgVhnqmRgb5qD6OtZQ5r0XdpmYShbxO50ywu6ycGgXNlivXb8b8vLk-X92cnd9d_fGKwp_qmfd74NZUMY0ulwPbbMGFpgii0qqvtpu4kqeiGyUYH__Qlu0u2ooL_YL2q_dt1M9HRTPGj7_BSTdHSIZzoEJcseHfuDaS_JTswgBajhb0KBmkQpm8wuoAXU9pvbI6q4gzSZT3y30HPoFv0ogk9iDUf0zOlsIE7ppLnx8DnQVqjPKTC3zcHe24W-XhCPigXb0WYPXlYY6-rK5qvecV2PO0la1r3PeyRnMU-sZeQjKbx4qP5BusKKHNX__MaGb6WQnbA9_IipwV5kwXukkb8XyX-vWNgGI0p-3asXhTBIkpGlM9vkOVuK_e3kjVcLLLehGxaMO8TZK_03tN2iL7oe4giD4uoP7Vq7uUjogLW3Hzb7yr3lC9gHzzQ_j_SRTYWXSvwuVFc5qFH-iz7K1hGkgU12UYtUjcLYLeGqfRSQt6ilj-T3eey2-2nzE9dqeXoPD-ACA_PPfxiomkR-YwY4C_rirIGXY9wZwX5OwjNYRuqT2XYaOpNThH183fWMn1uiUc85nRkdAQcTA8gNaP-EPKYGBe5OMVzro-OWbJ8OACRddfmbFlywXCx7Xv7yuGyyfEcS7fqE8qCKirotu7Urh2bo4eyeeObHZU2t4-vnv2Kv6JQP-Z896NMsJPnJ_MqwR_Rrg_U3Xo4HDa-ankjBo79jqyrHqr6qRrvzHzrwBaMM4TjI6VaffZV1V31xKuC4L4f4g0zjQuWC9oixElInkkJ-0aFR7yzUJvbAUxHShZ6DqT7VfHY6FMVuzGmr58pSvXh0-ep7hiWEEPIY80LMjnT6jOkwCOz-Ni0pgL9eX-GTaB-wfVG2uHakPhzx42j8cdkdwVHpKsAGGsgWVxVBIZqJA_qnpeuw3uR7BlPJdXueNSSNcbXx2R4evRClvfLsryRrMcPORV1B-OIon6wFmYLV1wnw-1OnK2dJfsjjp-X7U1kt0yNmPMKj8DfFD4MjCka6f2aeVG091nRYypTBG-M4E0Q_J9E8CYIg04o3J8ID35SuP-e8GA8pFQMojOuYNq8LdSQUPXgkLiknY2EVezJ1Wr1AuW6K0vBHs3NgdVrhD2eeqZuYAvF_sjzgxMztMMIvEQvR_AjfXwLeMxzr86wSI1NLzuhbKkQKcWXlkpLPVuKrcRrTfq-Zsl7henr6k9RpnoZI_ivjSksvGaY3hpT27Q2j_EYvhza8L2hHSbC4LR7WvqQ-6U_jai-8KlXlvPd4StEQ6VDSx-P4tNxeKIQkXjWQUpirk10HI6PX8ZSMnS0u3gvu0wgZr6nncdcFzklHlL28d7DoOZ77sse7qjFYChzDXfK8J7toiprcs9aqTcnIzsOoj5Mx0AR2L1BQoeZkrllN1la09aYX7X7_Gxx3KdcDqQtzurHbHEKnm_f8K1AQJc5eb3Zp5b6lhfE_Rf8CV4RCK8H4nQRpkGKVwK22CGX1M_rlq9w0AlIgAm3wSt0DEsPrCVr1AQyiXc4mHRv_yU7De77Yb9EHhSHQQE86IHiSrDD8dkCofqaFm_j--v0g64Vhz-t8gC7CMJFfLA-ZEVSlCz34hiSda9IFyyL8tjPYxYlXuK5B4JmTMhDsDlY-YAf-q7vu5A5wn_gRk4ap3mCO400DZM48mFtYrC_EMPl6kF7qDngjSsuXFyq_c3rAaiFp_BsJ592al23h4XZFFQHmu-hJvs_mp3xkA">