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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]-test-vector-transfer-flatten-patterns pass leads to assertion `!empty()' 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

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

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

<pre>
    Test commit: https://github.com/llvm/llvm-project/commit/ecf881838045985f381003cc27569c73a207d0cc
steps to reproduce:
```
mlir-opt test.mlir -test-vector-transfer-flatten-patterns
```
test case:
```
#map = affine_map<() -> (0, 0)>
module attributes {gpu.container_module} {
 func.func @main(%arg0: tensor<67xf32>, %arg1: tensor<16x58xi16>, %arg2: tensor<1x1xi16>, %arg3: tensor<93x58x23x59x16xi1>){
    %c16 = arith.constant 16 : index
    %c0_i16 = arith.constant 0 : i16
 %c256 = arith.constant 256 : index
    %c58 = arith.constant 58 : index
    %c32 = arith.constant 32 : index
    %c0 = arith.constant 0 : index
    %1 = bufferization.to_memref %arg1 : memref<16x58xi16>
 %collapsed = tensor.collapse_shape %arg2 [] : tensor<1x1xi16> into tensor<i16>
    %3 = bufferization.to_memref %collapsed : memref<i16>
 %alloc_2 = memref.alloc() {alignment = 64 : i64} : memref<16x58xi16>
 scf.for %arg4 = %c0 to %c16 step %c32 {
      scf.for %arg5 = %c0 to %c58 step %c256 {
        %7 = vector.transfer_read %1[%arg4, %arg5], %c0_i16 : memref<16x58xi16>, vector<32x256xi16>
        %8 = vector.transfer_read %3[], %c0_i16 {permutation_map = #map} : memref<i16>, vector<32x256xi16>
 %9 = arith.shli %7, %8 : vector<32x256xi16>
 vector.transfer_write %9, %alloc_2[%arg4, %arg5] : vector<32x256xi16>, memref<16x58xi16>
      }
    }
    return
 }
}

```
The error message is as follows:
```
mlir-opt: /home/llvm-project/llvm/include/llvm/ADT/SmallVector.h:312: llvm::SmallVectorTemplateCommon::reference llvm::SmallVectorTemplateCommon<long>::back() [T = long]: Assertion `!empty()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/llvm-project/mlir/build/bin/mlir-opt test.mlir -test-vector-transfer-flatten-patterns
 #0 0x0000000002722d6d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:11
 #1 0x000000000272325b PrintStackTraceSignalHandler(void*) /home/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
 #2 0x00000000027212e6 llvm::sys::RunSignalHandlers() /home/llvm-project/llvm/lib/Support/Signals.cpp:105:5
 #3 0x0000000002723a35 SignalHandler(int) /home/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x00007f0970299980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #5 0x00007f096ed42e87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #6 0x00007f096ed447f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
 #7 0x00007f096ed343fa __assert_fail_base /build/glibc-CVJwZb/glibc-2.27/assert/assert.c:89:0
 #8 0x00007f096ed34472 (/lib/x86_64-linux-gnu/libc.so.6+0x30472)
 #9 0x0000000002cb9d6c llvm::SmallVectorTemplateCommon<long, void>::back() /home/llvm-project/llvm/include/llvm/ADT/SmallVector.h:0:5
#10 0x0000000006338224 hasMatchingInnerContigousShape(mlir::MemRefType, llvm::ArrayRef<long>) /home/llvm-project/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp:503:22
#11 0x0000000006337cb3 (anonymous namespace)::FlattenContiguousRowMajorTransferReadPattern::matchAndRewrite(mlir::vector::TransferReadOp, mlir::PatternRewriter&) const /home/llvm-project/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp:575:10
#12 0x0000000003b62b0b mlir::detail::OpOrInterfaceRewritePatternBase<mlir::vector::TransferReadOp>::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const /home/llvm-project/mlir/include/mlir/IR/PatternMatch.h:330:12
#13 0x000000000a74a1f6 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>)::$_1::operator()() const /home/llvm-project/mlir/lib/Rewrite/PatternApplicator.cpp:206:31
#14 0x000000000a74a035 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>)::$_1>(long) /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#15 0x0000000002748c19 llvm::function_ref<void ()>::operator()() const /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#16 0x000000000a74baad void mlir::MLIRContext::executeAction<mlir::ApplyPatternAction, mlir::Pattern const&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, mlir::Pattern const&) /home/llvm-project/mlir/include/mlir/IR/MLIRContext.h:276:3
#17 0x000000000a748a05 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) /home/llvm-project/mlir/lib/Rewrite/PatternApplicator.cpp:227:9
#18 0x000000000776edd6 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() /home/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:474:17
#19 0x000000000776e891 (anonymous namespace)::RegionPatternRewriteDriver::simplify(bool*) &&::$_8::operator()() const /home/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:696:30
#20 0x000000000776e865 void llvm::function_ref<void ()>::callback_fn<(anonymous namespace)::RegionPatternRewriteDriver::simplify(bool*) &&::$_8>(long) /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#21 0x0000000002748c19 llvm::function_ref<void ()>::operator()() const /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#22 0x000000000776df7d void mlir::MLIRContext::executeAction<(anonymous namespace)::GreedyPatternRewriteIteration, long&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, long&) /home/llvm-project/mlir/include/mlir/IR/MLIRContext.h:276:3
#23 0x000000000776c215 (anonymous namespace)::RegionPatternRewriteDriver::simplify(bool*) && /home/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:704:3
#24 0x000000000776bf2f mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) /home/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:730:47
#25 0x000000000291be55 mlir::applyPatternsAndFoldGreedily(mlir::Operation*, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) /home/llvm-project/mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h:123:9
#26 0x000000000759a7dd (anonymous namespace)::TestFlattenVectorTransferPatterns::runOnOperation() /home/llvm-project/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp:461:11
#27 0x000000000764c5cb mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_7::operator()() const /home/llvm-project/mlir/lib/Pass/Pass.cpp:0:17
#28 0x000000000764c565 void llvm::function_ref<void ()>::callback_fn<mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_7>(long) /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#29 0x0000000002748c19 llvm::function_ref<void ()>::operator()() const /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#30 0x000000000764f71d void mlir::MLIRContext::executeAction<mlir::PassExecutionAction, mlir::Pass&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, mlir::Pass&) /home/llvm-project/mlir/include/mlir/IR/MLIRContext.h:276:3
#31 0x0000000007647c8a mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /home/llvm-project/mlir/lib/Pass/Pass.cpp:509:17
#32 0x000000000764823d mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) /home/llvm-project/mlir/lib/Pass/Pass.cpp:569:16
#33 0x000000000764da08 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_15::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const /home/llvm-project/mlir/lib/Pass/Pass.cpp:789:36
#34 0x000000000764d679 mlir::LogicalResult mlir::failableParallelForEach<__gnu_cxx::__normal_iterator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo*, std::vector<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo, std::allocator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo>>>, mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_15&>(mlir::MLIRContext*, __gnu_cxx::__normal_iterator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo*, std::vector<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo, std::allocator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo>>>, __gnu_cxx::__normal_iterator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo*, std::vector<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo, std::allocator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo>>>, mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_15&) /home/llvm-project/mlir/include/mlir/IR/Threading.h:46:18
#35 0x0000000007649553 mlir::LogicalResult mlir::failableParallelForEach<std::vector<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo, std::allocator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo>>&, mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_15&>(mlir::MLIRContext*, std::vector<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo, std::allocator<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo>>&, mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_15&) /home/llvm-project/mlir/include/mlir/IR/Threading.h:92:10
#36 0x0000000007648df7 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) /home/llvm-project/mlir/lib/Pass/Pass.cpp:799:14
#37 0x0000000007648917 mlir::detail::OpToOpPassAdaptor::runOnOperation(bool) /home/llvm-project/mlir/lib/Pass/Pass.cpp:690:5
#38 0x000000000764c5b6 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_7::operator()() const /home/llvm-project/mlir/lib/Pass/Pass.cpp:501:11
#39 0x000000000764c565 void llvm::function_ref<void ()>::callback_fn<mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_7>(long) /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#40 0x0000000002748c19 llvm::function_ref<void ()>::operator()() const /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#41 0x000000000764f71d void mlir::MLIRContext::executeAction<mlir::PassExecutionAction, mlir::Pass&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, mlir::Pass&) /home/llvm-project/mlir/include/mlir/IR/MLIRContext.h:276:3
#42 0x0000000007647c8a mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /home/llvm-project/mlir/lib/Pass/Pass.cpp:509:17
#43 0x000000000764823d mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) /home/llvm-project/mlir/lib/Pass/Pass.cpp:569:16
#44 0x0000000007649cbc mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) /home/llvm-project/mlir/lib/Pass/Pass.cpp:880:10
#45 0x0000000007649bde mlir::PassManager::run(mlir::Operation*) /home/llvm-project/mlir/lib/Pass/Pass.cpp:860:60
#46 0x000000000763ddf2 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:384:17
#47 0x000000000763da29 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) /home/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:441:12
#48 0x000000000763d81b mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_2::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const /home/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:512:12
#49 0x000000000763d79d mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_2>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:12
#50 0x00000000077c2ef9 llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const /home/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:12
#51 0x00000000077c24d5 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) /home/llvm-project/mlir/lib/Support/ToolUtilities.cpp:28:12
#52 0x000000000763aa89 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:515:10
#53 0x000000000763ad2d mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:550:14
#54 0x000000000763af08 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:566:10
#55 0x00000000026a4888 main /home/llvm-project/mlir/tools/mlir-opt/mlir-opt.cpp:284:33
#56 0x00007f096ed25c87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#57 0x00000000026a451a _start (/home/llvm-project/mlir/build/bin/mlir-opt+0x26a451a)
Aborted (core dumped)
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXFlv47iW_jXKixBDIrU-5MFx4pkMupAglb4D3BeDkiibtyVSQ1JV9v31A5KStXhJ7HLSVbfSaFRkiss531l5RAkJQZYU4xvLv7X8uytUyxXjN7cYFf_E1WrDrxKWbW5esJB2ysqSSAtO7ZWUlbDg1AJzC8yXRK7qZJKy0gLzovjW_rmuOPsXTqUF5s1QMMdpHkVuBCPH8-PIz2HkOg5MUxD6QZyGEAEnzJw0tZw7y5kKiSthS2ZzXHGW1SlWi-pbVuA0_-ufZUH4NaukLbGQE_XLvlaX199wKhm_lhxRkWN-nRdISkyvK_WHU7F3NqnZReLgchaAJapsC97ZKM8JxYsSVRacWSCyQGxfW_DetkDkWGBmOxaILXjf0MmyusA2kpKTpJZY2FZ4u6zqScqoRIRivjBdrPBO3TKj7Lym6UT9Y1ueUyJC9UI-4ktHyUNiKhi34CwI1zkEajUws00Hd9DBDdZ-tCZuMOgDhn3W7k4POOgRQzULgGs_XrvBmri6b9zRa9tqXOoGBiJO5EpxKCSi0tatU5vQDK-H_Z0F2T_EMSPcoOmvOgN_b1fTvHd6P9o3QLfu7Q_Bvv66dT_5R0jf6e3qzkmd55iTfyNJGJ1ItihxyXHeyk6PNU1j4XVAsKJAlcCZntDIaNI2LsQKVbgVs22s3D4gbptQybobg4UM0fA1ovvE9Cgf04yKgqULA6_pNNFNjf1Y4S0qyJKWmErdJ_AMioGn7eIVUESaT3LGG649PYORj2StXirXshVyX2_t0XB_d7gfdcO1ug3Ha6RCPcx4n0nrfRYco0wLXwnCUNfZmG_5d82vrSUcYhTMmrktOINgDfxgPRZXQ0h0lBBoNGK0bHhbYV7WUgt40Xo64_R2BPBGiizgxz37EKuCaJyapY0RHp1hzMN3TqRW7bjF0GjVIWyPrQBmRzXKgBne9Yyh_4NjWXPaMtre6S72hZCXFbYx54zbJRYCLbFNhI2EnbOiYN_Fa4FO8WKB-YqVeDfcNkGY0LSoM9w1TO9eLDD_WqKi-IcBc2XBKXS1_9d94NSC016HF1xWBZJ4xsqSUXOb4xxzTFP8tiGzgtGlglJ3TFD6V2vl_u2L1gjdwb9TREyFwFxpna04Bi4uK7kx_S0Q2jkiBc4mBoqnP-6nX-9tUSclkTayk3qpEgXGpTLUk3MUIkSNhQXmNqKZ3WBnyxW2U47EylaUS45S3Cz_VaL0Lzury2orK2diNOWJsyVHpY34slY-TByVlhKpBeZJTYpM_VXRff6DCY0yVsd21k77HwgByIKsJzKxEebiiRMqNTcvij0LRF0njr4vmJAco9ICgTITQqUW3iu6V5BEqVpdKXlYYP4nJWvVQJYUFWJCaGrBaQhUXuG6Hc3uiGYI_MQeEWjm-G9EswJzC0TfGMksML0cVXGkqOqIAiOiXICDfUA-13RAm2gV_USqWnLSSqmW6_gWnPodOXCMEYK-PQblkmLyXDgExGsoCHMnDh0Qx3Hk2IsFx0Iyjhdc2przZvZ1FCwC77ogtF5fL2ltblRypYLQRLCJY4FbZ-2CONK58nYZv7dMgDMP4Ci0OSJCef2tvSwLkqTXs3_8z_d_JtufYAJCC8yF5sMC88lE_dqIDFfKxGvDptiIb5oaWqufeuqJ4thXWbPTURKMKPHC3LVRwjSnb6NEZgYNPUovEo0WCYeLQA_myF4skHaJC-X6Fgl6O-9m3PbCLBkPl4zGS3oheIPsUiW1QEsNOl4IBlKLB-qZJnEWpKdECpVIKIveFzEuE_Cczp6Uyxn4yQDCCADPXiHxBcl0RejygVLMZ4xKsmS1-KoSagtE2mtrAr_g8hnnLxvVPOtxOuUcbZ51StGGwGM8NGHA4H5HUGGaDd0WmL9oj894KbatL00QeKy6m43X8B1lswB0bLojNsM0gUrWiDK6KVktbIpKLCodAmLDwtwEF8N8zWrxzL5_Qf_qVn7GKHsykceMKBVoU5o9Y52eDYBqcy913Z_gsdL517ZfM2EzBdeBJ7b1jurD4At97Xo7-AZBACYBSJykR3OGJSKFuX6sHvkDlZjnKMUNFw1Pt7qoMHsTJq0BHIP0scJcZ-k6AF4KxM6OmoaHZwvMmxm1WZjEESpLcns6NghNKPSQmwe7NE2rqiAp2vJ9OQb75pfXNNX7F5PVJ4wV9mDqZgKDicGn2QocnEQ5ph-epBv8B1uSFBXPWNSFfNu8jWFawFu45pJphJSOmyw5OtVYtrDPd-TTWANwAr1P6ATtjQXtQF-77dexazjRXVJUFMq_L3I6AOZTUS6sKPcqq9fR9fwo-vLHvKEPFfdryZHQXsDzh-HUH6anXpS68WlacY5Gn0d7EA1pD0ZqnSCUGbXuhfs_Hp5VQMRraRrwGqe1xFM9_UBsSn83rS6b2_s0s5OdkdMbsTqUbHTzPzz_SYls6xvHVObMkNDDQuMJQu0oOkDDEaARcvzPgHBRO7-clwehBadxJ7yoL7wwDHCWBa9ljP_FMc42Q1HccfINN2xUnKVYiP9l_K-CKEaOJ_YDFgYp3J-SFOrv4QUbtrzQU1lK2PEVj_mKYvc1vp7xkjB6mC9Byqog-cYCkVKsbT0i0GbdeuLoQiH7PCSCWFtnl9QCZweJ4MfD-Ech-XExDbi_bkwDYCTjLA9Pj2lnWP2D3DrqmSnxvnOAa9d4t2gG4AjKFLj-ezqOd_UGoeMNufNG3CU5yHs6gnrJjJjSbM6KTC9Cis0gUhmOm_DbNc85-zemw-3wVyx7Aa3f25Df9J4xmhNdGRpA9I7Y6J2t18UMMMxqYzfBvn8OOIfTl4_GZ8cGBlAdgWilN_1wkCuAQeYc-jEKs-w103jBQjYVpmFBpgWyeQZR00faw-1NGYPEQh4tB2Eh-4v2aj9e4PaeSijmBllsGHipnx6u_bywx-oJCTHNULXNaHlNR9mcEDsacFg3phQVG0HEF0TRUqW2raRndk31CZ6seTDTRcjwQrmGIVX_aQByhvkUiHbguUAW8QvA-4EJSPzrJiDD55Bh4OWh-yObaiXbe32XsAO7aiX8j9tMm9XeLesYPhMNAy9MI_STep-zXYrvxEOnMnzoGgZeBGB2MtdPpMIFoeMKguq6ZSa4OAxj9XigQnJ9EECZ307Vot_BrGxuNLQ_IY6pfKA5a1OBE9KfPUgHGumgQxqOkM6QE52MdC9CT8WGpg9lVWxT2n4t0j_gjt5jwcfq6YsC7ownSLvAhfrhKewB542BC8LYPlTM6dpzRAqUFEqwqChwMWf8HqUrC84WiyWtF-l6bTouFpTxEhULIhuwTg-Lp8GkdVPIzLRvz0q976K9FfUJro_gVEXF-x1ffnFVb6PQ_kBn4P4U-t8h9E_U__NM7ewU7EUfRSJ0aXJvlX-5Uefn_ZGfj30f_pCf_33EPs6u_hYP-wn3T2hlMRgesIHBOOHP8vDCrJyf-8U6afY6ascloSh2f4jaCxAZxMODbXC3LpMEP-nGsVOy9ytb-c6orjc8qvhZuHqHwpXn_LqFK29cePksXJ1UuPLGJZzfonDljcspn4WrdypceeP6S5wm6YjAluUtrkgILN74RG4Ht_OJjyJnmO54O5uKJMOvEH-E7B-gLFCU9V5s9kaJGMyyHNgV5jnjpXFb4pV3hLbpr1ghjrNFJVX-23sHgNU8xV-W3IL3B55v7mbxvXsF4Y-V_IIINU8-TzrJ1jwXZkw_Ci7b9-nAvDdtgw2MRkeHvHCMDQKx3ZxputWvxb4VmpqS_6vxDjRfcMn4pp2q1z_DOaoLuchwgSU-PGbPXvsYXv1-zWPSZ7wkQvLNzgE6k8A_nfwI_i1Qe547PEvuRWOoIzfZz9RPCPl-KN-owl2uBg6kQB_H0mFgTzyx9hYl8PWbqH0liMdKEMbZwdLLOQcsfwokX91J_C7K3m1MPpKTYzr-HtujnoL7oxOYKcD5kf3RL6PIv6bH-oFtY1-m7limXtY_KyaqgsgpzZ5GacPfAdEvqF9He3Q7m9Oqad0b0CpQ_SlJQSTBbY4MxhIe7WwhQlH8e-Qmlw33o5csfTjGNQPZQVybLWu6QmZzOh2qxlfJCV0-4_xI83FQLsus7wxLyL43ZjYfnLs4n9mP5CoIRiIcHpQNkBdFkV0iQl8_srm7YHu5tUN9ZLkrMfmjF_OBn0ahvVgUJEkXQiIuF-3Sb3llPhV1-60Ac6lv6nn06_PQ87r359Xy4ZhZ30W2Wbh5jf6MT37o9-qbybZv1k8TxiXWhb-Ucay_O4Kz7e3RV2KushuYxTBGV_jGDR03jNzAia5WN77nxYkTYh-FXhy7eZR5uROjEPoAhtjBV-QGOAC6wPFd6AReMIl9L41DhIIkyWGCYstzcIlIMVEsTRhfXukPp9yEnhfAqwIluBD6a3IAGC6B5d9d8RuNQFIvheU5BRFSdBNIIgv9BTq16bf8u7d96MSukBB2gVGmPxGHjn855qrmxc3534TR3P1_AAAA__-_MGSr">