2024/08/21-02:00:54.850543 140539492476480 DEBG dcompact_worker.cpp:2211: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00: fork to child time = 0.007164 sec 2024/08/21-02:00:54.850984 140539492476480 DEBG dcompact_worker.cpp:1011: Beg SerDeRead: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00 2024/08/21-02:00:54.854371 140539492476480 DEBG dcompact_worker.cpp:1031: End SerDeRead: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00 2024/08/21-02:00:54.855243 140539492476480 TRAC dcompact_worker.cpp:1081: INFO_LOG_LEVEL: rpc = INFO_LEVEL, env_var = undefined 2024/08/21-02:00:54.855424 140539492476480 [WARN] [column_family.cc:386] multiple cf_paths/db_paths and level_compaction_dynamic_level_bytes can't be used together 2024/08/21-02:00:54.928488 140539492476480 [version_set.cc:6139] Recovering from manifest file: /worker/dcompact-log/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/2024-08-20T02.42.00/.rocksdb/job-60334/att-00/MANIFEST-14629260 2024/08/21-02:00:54.965984 140539492476480 [version_set.cc:6182] Recovered from manifest file:/worker/dcompact-log/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/2024-08-20T02.42.00/.rocksdb/job-60334/att-00/MANIFEST-14629260 succeeded,manifest_file_number is 14629260, next_file_number is 14698679, last_sequence is 191316478633, log_number is 0,prev_log_number is 0,max_column_family is 0,min_log_number_to_keep is 14698630 2024/08/21-02:00:54.965990 140539492476480 [version_set.cc:6197] Column family [default] (ID 0), log number is 0 2024/08/21-02:00:54.966049 140539492476480 [version_set.cc:5652] Creating manifest 14698679 2024/08/21-02:00:55.004253 140539492476480 DEBG dcompact_worker.cpp:1215: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00: bottommost_level: fake = 1, rpc = 0 2024/08/21-02:00:55.021927 140539492476480 [compaction_job.cc:2433] [default] [JOB 60334] Compacting 1@1 + 2@2 files to L2, score 1.00, subcompactions 1 : 1 2024/08/21-02:00:55.021938 140539492476480 [compaction_job.cc:2441] [default]: Compaction start summary: Base version 30381 Base level 1, inputs: [14698671(10MB)], [14698604(10MB) 14698572(20MB)] 2024/08/21-02:00:55.103213 140539492476480 [top_zip_table.cc:59] core git_version_hash_info_is:commit 7517bad5c1a147474c3830831b9a22c996321ae8 Author: leipeng Date: 2024-01-08 19:18:17 +0800 vfork_cmd: call close before wait_finish g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. INCS = -Isrc -I3rdparty/re2 -I3rdparty/zstd -Iboost-include CXXFLAGS = -D TOPLING_IO_WITH_URING=1 -fPIC -time -Wno-class-memaccess -fdiagnostics-color -Wformat=2 -Wcomment -Wall -Wextra -Wno-unused-parameter -Wno-alloc-size-larger-than -mcx16 -Wno-deprecated-declarations -Wstrict-aliasing=3 -DCLIENT_LICENSE_ID="public" -DNO_THREADS -ftls-model=initial-exec -DDIVSUFSORT_API= -fno-stack-protector RLS_FLAGS = -O3 -DNDEBUG -g3 WITH_BMI2 = 1 compile_cpu_flag: -march=haswell -mbmi -mbmi2 2024/08/21-02:00:55.103232 140539492476480 [top_zip_table.cc:60] fsa git_version_hash_info_is:commit 7517bad5c1a147474c3830831b9a22c996321ae8 Author: leipeng Date: 2024-01-08 19:18:17 +0800 vfork_cmd: call close before wait_finish g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. INCS = -Isrc -I3rdparty/re2 -I3rdparty/zstd -Iboost-include CXXFLAGS = -D TOPLING_IO_WITH_URING=1 -fPIC -time -Wno-class-memaccess -fdiagnostics-color -Wformat=2 -Wcomment -Wall -Wextra -Wno-unused-parameter -Wno-alloc-size-larger-than -mcx16 -Wno-deprecated-declarations -Wstrict-aliasing=3 -DCLIENT_LICENSE_ID="public" -DNO_THREADS -ftls-model=initial-exec -DDIVSUFSORT_API= -fno-stack-protector RLS_FLAGS = -O3 -DNDEBUG -g3 WITH_BMI2 = 1 compile_cpu_flag: -march=haswell -mbmi -mbmi2 2024/08/21-02:00:55.103245 140539492476480 [top_zip_table.cc:61] zbs git_version_hash_info_is:commit 7517bad5c1a147474c3830831b9a22c996321ae8 Author: leipeng Date: 2024-01-08 19:18:17 +0800 vfork_cmd: call close before wait_finish g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. INCS = -Isrc -I3rdparty/re2 -I3rdparty/zstd -Iboost-include CXXFLAGS = -D TOPLING_IO_WITH_URING=1 -fPIC -time -Wno-class-memaccess -fdiagnostics-color -Wformat=2 -Wcomment -Wall -Wextra -Wno-unused-parameter -Wno-alloc-size-larger-than -mcx16 -Wno-deprecated-declarations -Wstrict-aliasing=3 -DCLIENT_LICENSE_ID="public" -DNO_THREADS -ftls-model=initial-exec -DDIVSUFSORT_API= -fno-stack-protector RLS_FLAGS = -O3 -DNDEBUG -g3 WITH_BMI2 = 1 compile_cpu_flag: -march=haswell -mbmi -mbmi2 2024/08/21-02:00:55.103253 140539492476480 [top_zip_table.cc:62] topling-zip_table_reader: git_version_hash_info_is: commit 7f80399bfbd2071b6e0f5683e8ab7225b8e6e394 Author: leipeng Date: 2024-01-19 14:52:30 +0800 Change ToplingZipTableOptions::sampleRatio to vector g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cpu_flag: -march=native -mbmi -mbmi2 2024/08/21-02:00:55.103261 140539492476480 [top_zip_table.cc:64] topling-rocks git_version_hash_info_is: commit 1240987ca13d0fe562c9b9c037155079f0877840 Author: leipeng Date: 2024-01-19 15:07:04 +0800 Change ToplingZipTableOptions::sampleRatio to vector g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cpu_flag: -march=native -mbmi -mbmi2 2024/08/21-02:00:55.179832 140539492476480 [top_zip_table_builder.cc:934] ToplingZipTableBuilder(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698680.sst) /dev/shm/ToplingTemp/Topling-15409-SehK4j 2024/08/21-02:00:55.590831 140539492476480 [top_zip_table_builder.cc:1344] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698680.sst): first pass time = 0.41's, 163.299'MB/sec 2024/08/21-02:00:56.454011 140539492476480 [top_zip_table_builder.cc:2764] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698680.sst): old prealloc_size = 47289982, real_size = 18939024 2024/08/21-02:00:56.454299 140539492476480 [top_zip_table_builder.cc:1765] BuildReorderMap(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698680.sst): index type = NestLoudsTrieDAWG_Mixed_XL_256_32_FL, store type = DictZipBlobStore usrkeys = 467147 prefix = 4 raw-key = 0.0075 GB zip-key = 0.0009 GB avg-key = 16.00 avg-zkey = 1.90 raw-val = 0.0540 GB zip-val = 0.0179 GB avg-val = 115.66 avg-zval = 38.39 2024/08/21-02:00:56.454774 140539492476480 [top_zip_table_builder.cc:1295] /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698680.sst: sumWaitingMem = 0.001 GB, sumWorkingMem = 0.000 GB, reorder workingMem = 0.0011 GB, waited 0.000 sec, Key+Value = 0.067 GB 2024/08/21-02:00:56.862973 140539492476480 [top_zip_table_builder.cc:3092] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698680.sst): second pass time = 0.86's, 62.646'MB/sec, value only(80.5% of KV) wait indexing time = 0.00's, remap KeyValue time = 0.41's, 51.073'MB/sec (all stages of remap) Get OrderMap time = 0.00's, 3341.022'MB/sec (index lex order gen) rebuild zvType time = 0.34's, 0.340'MB/sec write SST data time = 0.06's, 322.818'MB/sec dict compress time = 4356233619.02's, 0.000'MB/sec z-dict build time = 0.00's, sample length = 0.542'MB, throughput = 18728.346'MB/sec zip my value time = 0.86's, unzip length = 0.054'GB zip my value throughput = 62.646'MB/sec zip pipeline throughput = 124.971'MB/sec entries = 467147 avg-key = 28.00 avg-zkey = 1.90 avg-val = 115.66 avg-zval = 38.39 usrkeys = 467147 avg-key = 20.00 avg-zkey = 1.90 avg-val = 122.66 avg-zval = 38.39 TagRS{ kinds = RS_Key0_Tag1 bytes = 0 } TagArray{ size = 467147 bytes = 1518240 } seq expand size = 3270029 multi value expand size = 0 cnt WriteAppend = 13 UnZipSize{ index = 0.0093 GB value = 0.0540 GB dict = 0.54 MB all = 0.0671 GB } __ZipSize{ index = 0.0009 GB value = 0.0179 GB dict = 0.54 MB all = 0.0209 GB } UnZip/Zip{ index = 10.5017 value = 3.0129 dict = 1.00 all = 3.2131 } Zip/UnZip{ index = 0.0952 value = 0.3319 dict = 1.00 all = 0.3112 } ---------------------------- total value len = 0.057299 GB avg = 0.123 KB (by entry num) total key len = 0.013080 GB avg = 0.028 KB total ukey len = 0.009343 GB avg = 0.020 KB total ukey num = 0.000467147 Billion total entry num = 0.000467147 Billion write speed all = 0.029938809 MB/sec (with seq num) write speed all = 0.028349037 MB/sec (without seq num) 2024/08/21-02:00:56.894028 140539492476480 [compaction_job.cc:1944] [default] [JOB 60334] Generated table #14698680: 467147 keys, 20886314 bytes, temperature: kWarm 2024/08/21-02:00:56.894098 140539492476480 EVENT_LOG_v1 {"time_micros": 1724176856894055, "cf_name": "default", "job": 60334, "event": "table_file_creation", "file_number": 14698680, "file_size": 20886314, "file_checksum": "", "file_checksum_func_name": "Unknown", "smallest_seqno": 191266568824, "largest_seqno": 191316448827, "table_properties": {"data_size": 17932416, "index_size": 889664, "index_partitions": 0, "top_level_index_size": 0, "index_key_is_user_key": 0, "index_value_is_delta_encoded": 0, "filter_size": 0, "raw_key_size": 13080116, "raw_average_key_size": 28, "raw_value_size": 54028854, "raw_average_value_size": 115, "num_data_blocks": 1, "num_entries": 467147, "num_filter_entries": 0, "num_deletions": 0, "num_merge_operands": 0, "num_range_deletions": 0, "format_version": 0, "fixed_key_len": 28, "fixed_value_len": 18446744073709551615, "filter_policy": "", "column_family_name": "default", "column_family_id": 0, "comparator": "leveldb.BytewiseComparator", "merge_operator": "nullptr", "prefix_extractor_name": "nullptr", "property_collectors": "[Rdb_tbl_prop_coll_factory]", "compression": "FlatZip", "compression_options": "RS_Key0_Tag1-NestLoudsTrieDAWG_Mixed_XL_256_32_FL-DictZipBlobStore", "creation_time": 1724176855, "oldest_key_time": 0, "file_creation_time": 1724176855, "slow_compression_estimated_data_size": 0, "fast_compression_estimated_data_size": 0, "db_id": "a007a635-5c0a-4b4a-be96-b9c695cb016b", "db_session_id": "90ZT1ZM5QNL093I8HHQG", "orig_file_number": 14698680, "seqno_to_time_mapping": "N/A", "__indexstats__": "[...1 records...]"}} 2024/08/21-02:00:56.925952 140539492476480 [top_zip_table_builder.cc:934] ToplingZipTableBuilder(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698681.sst) /dev/shm/ToplingTemp/Topling-15409-raeqBm 2024/08/21-02:00:57.160082 140539492476480 [top_zip_table_builder.cc:1344] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698681.sst): first pass time = 0.23's, 191.592'MB/sec 2024/08/21-02:00:57.599973 140539492476480 [top_zip_table_builder.cc:2764] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698681.sst): old prealloc_size = 47289982, real_size = 12833280 2024/08/21-02:00:57.600186 140539492476480 [top_zip_table_builder.cc:1765] BuildReorderMap(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698681.sst): index type = NestLoudsTrieDAWG_Mixed_XL_256_32_FL, store type = DictZipBlobStore usrkeys = 311319 prefix = 4 raw-key = 0.0050 GB zip-key = 0.0006 GB avg-key = 16.00 avg-zkey = 1.92 raw-val = 0.0361 GB zip-val = 0.0122 GB avg-val = 116.07 avg-zval = 39.05 2024/08/21-02:00:57.600491 140539492476480 [top_zip_table_builder.cc:1295] /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698681.sst: sumWaitingMem = 0.001 GB, sumWorkingMem = 0.000 GB, reorder workingMem = 0.0007 GB, waited 0.000 sec, Key+Value = 0.045 GB 2024/08/21-02:00:57.868035 140539492476480 [top_zip_table_builder.cc:3092] ToplingZipTableBuilder::Finish(/storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00/14698681.sst): second pass time = 0.44's, 82.286'MB/sec, value only(80.6% of KV) wait indexing time = 0.00's, remap KeyValue time = 0.27's, 52.747'MB/sec (all stages of remap) Get OrderMap time = 0.00's, 3102.424'MB/sec (index lex order gen) rebuild zvType time = 0.23's, 0.344'MB/sec write SST data time = 0.04's, 337.432'MB/sec dict compress time = 4356233619.02's, 0.000'MB/sec z-dict build time = 0.00's, sample length = 0.368'MB, throughput = 10664.505'MB/sec zip my value time = 0.44's, unzip length = 0.036'GB zip my value throughput = 82.286'MB/sec zip pipeline throughput = 82.286'MB/sec entries = 311319 avg-key = 28.00 avg-zkey = 1.92 avg-val = 116.07 avg-zval = 39.05 usrkeys = 311319 avg-key = 20.00 avg-zkey = 1.92 avg-val = 123.07 avg-zval = 39.05 TagRS{ kinds = RS_Key0_Tag1 bytes = 0 } TagArray{ size = 311319 bytes = 1011808 } seq expand size = 2179233 multi value expand size = 0 cnt WriteAppend = 15 UnZipSize{ index = 0.0062 GB value = 0.0361 GB dict = 0.37 MB all = 0.0449 GB } __ZipSize{ index = 0.0006 GB value = 0.0122 GB dict = 0.37 MB all = 0.0141 GB } UnZip/Zip{ index = 10.4218 value = 2.9722 dict = 1.00 all = 3.1724 } Zip/UnZip{ index = 0.0960 value = 0.3365 dict = 1.00 all = 0.3152 } ---------------------------- total value len = 0.095613 GB avg = 0.123 KB (by entry num) total key len = 0.021797 GB avg = 0.028 KB total ukey len = 0.015569 GB avg = 0.020 KB total ukey num = 0.000778466 Billion total entry num = 0.000778466 Billion write speed all = 0.049924329 MB/sec (with seq num) write speed all = 0.047276223 MB/sec (without seq num) 2024/08/21-02:00:57.889825 140539492476480 [compaction_job.cc:1944] [default] [JOB 60334] Generated table #14698681: 311319 keys, 14138288 bytes, temperature: kWarm 2024/08/21-02:00:57.889880 140539492476480 EVENT_LOG_v1 {"time_micros": 1724176857889850, "cf_name": "default", "job": 60334, "event": "table_file_creation", "file_number": 14698681, "file_size": 14138288, "file_checksum": "", "file_checksum_func_name": "Unknown", "smallest_seqno": 191257453406, "largest_seqno": 191316448867, "table_properties": {"data_size": 12157808, "index_size": 597440, "index_partitions": 0, "top_level_index_size": 0, "index_key_is_user_key": 0, "index_value_is_delta_encoded": 0, "filter_size": 0, "raw_key_size": 8716932, "raw_average_key_size": 28, "raw_value_size": 36135202, "raw_average_value_size": 116, "num_data_blocks": 1, "num_entries": 311319, "num_filter_entries": 0, "num_deletions": 0, "num_merge_operands": 0, "num_range_deletions": 0, "format_version": 0, "fixed_key_len": 28, "fixed_value_len": 18446744073709551615, "filter_policy": "", "column_family_name": "default", "column_family_id": 0, "comparator": "leveldb.BytewiseComparator", "merge_operator": "nullptr", "prefix_extractor_name": "nullptr", "property_collectors": "[Rdb_tbl_prop_coll_factory]", "compression": "FlatZip", "compression_options": "RS_Key0_Tag1-NestLoudsTrieDAWG_Mixed_XL_256_32_FL-DictZipBlobStore", "creation_time": 1724176856, "oldest_key_time": 0, "file_creation_time": 1724176856, "slow_compression_estimated_data_size": 0, "fast_compression_estimated_data_size": 0, "db_id": "a007a635-5c0a-4b4a-be96-b9c695cb016b", "db_session_id": "90ZT1ZM5QNL093I8HHQG", "orig_file_number": 14698681, "seqno_to_time_mapping": "N/A", "__indexstats__": "[...1 records...]"}} 2024/08/21-02:00:57.899490 140539492476480 [compaction_job.cc:699] job-60334: subcompact[0], size: 0.035025 G, files: /storage/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/mytopling/.rocksdb/job-60334/att-00 [14698680,14698681] 2024/08/21-02:00:57.913603 140539492476480 (Original Log Time 2024/08/21-02:00:55.021993) EVENT_LOG_v1 {"time_micros": 1724176855021948, "job": 60334, "event": "compaction_started", "compaction_reason": "FilesMarkedForCompaction", "files_L1": [14698671], "files_L2": [14698604, 14698572], "score": 0.995406, "input_data_size": 42990893, "oldest_snapshot_seqno": 191316478577} 2024/08/21-02:00:57.913607 140539492476480 (Original Log Time 2024/08/21-02:00:57.913241) [compaction_job.cc:2018] [default] [JOB 60334] Compacted 1@1 + 2@2 files to L2 => 35024602 bytes 2024/08/21-02:00:57.913608 140539492476480 (Original Log Time 2024/08/21-02:00:57.913561) [compaction_job.cc:1220] [default] compacted to: files[0 0 2 0 0 0 0] max score 0.01, MB/sec: 14.9 rd, 12.2 wr, level 2, files in(1, 2) out(2 +0 blob) MB in(10.8, 30.2 +0.0 blob) out(33.4 +0.0 blob), read-write-amplify(6.9) write-amplify(3.1) OK, records in: 778466, records dropped: 0 output_compression: Snappy 2024/08/21-02:00:57.913614 140539492476480 (Original Log Time 2024/08/21-02:00:57.913592) EVENT_LOG_v1 {"time_micros": 1724176857913578, "cf": "default", "job": 60334, "event": "compaction_finished", "compaction_time_micros": 2877520, "compaction_time_cpu_micros": 1176371, "output_level": 2, "num_output_files": 2, "total_output_size": 35024602, "num_input_records": 778466, "num_output_records": 778466, "num_subcompactions": 1, "output_compression": "Snappy", "num_single_delete_mismatches": 0, "num_single_delete_fallthrough": 0, "file_write_nanos": 25555740, "file_range_sync_nanos": 0, "file_fsync_nanos": 1499, "file_prepare_write_nanos": 3947, "lsm_state": [0, 0, 2, 0, 0, 0, 0]} 2024/08/21-02:00:58.025200 140539492476480 DEBG dcompact_worker.cpp:240: HttpPost: 200 OK: url = http://nlb-7zny4kaa1poal01o64.cn-shenzhen.nlb.aliyuncs.com:8443, body = {"instanceId":"nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137","labourId":"","dbId":"a007a635-5c0a-4b4a-be96-b9c695cb016b","dbStarts":1724092920,"starts":1724176854,"executesMs":3056,"compactionJobId":60334,"attempt":0,"compactionInputRawBytes":111961104,"compactionInputZipBytes":42990893,"compactionOutputRawBytes":0,"compactionOutputZipBytes":35024602,"headers":{"Accept":"*/*","Connection":"close","Host":"aliyun-topling-saas.topling.cn:18443","RemoteIp":"120.24.192.169","X-Forwarded-For":"120.24.192.169","region":"cn-shenzhen","token":"e6474c481bd4415abc537135cc03626b","instance-token":"e6474c481bd4415abc537135cc03626b","provider":"aliyun","CloudMarketInstanceId":"si-59c0ae5c955845588903","MeteringAssit":"","Transfer-Encoding":"chunked","traceparent":"00-ceabba522bd2c7b1e200b4a516489eca-7f96af88e12bd785-00"}}, response = 2024/08/21-02:00:58.025255 140539492476480 INFO dcompact_worker.cpp:1456: finish /worker/dcompact-log/nfs/i-wz9deglxdazgiryp6ltb_10.57.5.137/2024-08-20T02.42.00/.rocksdb/job-60334/att-00: olev 2, work 3.056 s, result 6.246 ms, install 0.389 ms, input{raw 106.774 MiB zip 40.999 MiB}